mirror of
https://github.com/j3ssie/osmedeus.git
synced 2026-09-22 09:34:57 +02:00
7802 lines
416 KiB
JavaScript
Vendored
7802 lines
416 KiB
JavaScript
Vendored
(globalThis.TURBOPACK || (globalThis.TURBOPACK = [])).push([typeof document === "object" ? document.currentScript : undefined,
|
||
"[project]/node_modules/js-yaml/dist/js-yaml.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"CORE_SCHEMA",
|
||
()=>CORE_SCHEMA,
|
||
"DEFAULT_SCHEMA",
|
||
()=>DEFAULT_SCHEMA,
|
||
"FAILSAFE_SCHEMA",
|
||
()=>FAILSAFE_SCHEMA,
|
||
"JSON_SCHEMA",
|
||
()=>JSON_SCHEMA,
|
||
"Schema",
|
||
()=>Schema,
|
||
"Type",
|
||
()=>Type,
|
||
"YAMLException",
|
||
()=>YAMLException,
|
||
"default",
|
||
()=>jsYaml,
|
||
"dump",
|
||
()=>dump,
|
||
"load",
|
||
()=>load,
|
||
"loadAll",
|
||
()=>loadAll,
|
||
"safeDump",
|
||
()=>safeDump,
|
||
"safeLoad",
|
||
()=>safeLoad,
|
||
"safeLoadAll",
|
||
()=>safeLoadAll,
|
||
"types",
|
||
()=>types
|
||
]);
|
||
/*! js-yaml 4.1.1 https://github.com/nodeca/js-yaml @license MIT */ function isNothing(subject) {
|
||
return typeof subject === 'undefined' || subject === null;
|
||
}
|
||
function isObject(subject) {
|
||
return typeof subject === 'object' && subject !== null;
|
||
}
|
||
function toArray(sequence) {
|
||
if (Array.isArray(sequence)) return sequence;
|
||
else if (isNothing(sequence)) return [];
|
||
return [
|
||
sequence
|
||
];
|
||
}
|
||
function extend(target, source) {
|
||
var index, length, key, sourceKeys;
|
||
if (source) {
|
||
sourceKeys = Object.keys(source);
|
||
for(index = 0, length = sourceKeys.length; index < length; index += 1){
|
||
key = sourceKeys[index];
|
||
target[key] = source[key];
|
||
}
|
||
}
|
||
return target;
|
||
}
|
||
function repeat(string, count) {
|
||
var result = '', cycle;
|
||
for(cycle = 0; cycle < count; cycle += 1){
|
||
result += string;
|
||
}
|
||
return result;
|
||
}
|
||
function isNegativeZero(number) {
|
||
return number === 0 && Number.NEGATIVE_INFINITY === 1 / number;
|
||
}
|
||
var isNothing_1 = isNothing;
|
||
var isObject_1 = isObject;
|
||
var toArray_1 = toArray;
|
||
var repeat_1 = repeat;
|
||
var isNegativeZero_1 = isNegativeZero;
|
||
var extend_1 = extend;
|
||
var common = {
|
||
isNothing: isNothing_1,
|
||
isObject: isObject_1,
|
||
toArray: toArray_1,
|
||
repeat: repeat_1,
|
||
isNegativeZero: isNegativeZero_1,
|
||
extend: extend_1
|
||
};
|
||
// YAML error class. http://stackoverflow.com/questions/8458984
|
||
function formatError(exception, compact) {
|
||
var where = '', message = exception.reason || '(unknown reason)';
|
||
if (!exception.mark) return message;
|
||
if (exception.mark.name) {
|
||
where += 'in "' + exception.mark.name + '" ';
|
||
}
|
||
where += '(' + (exception.mark.line + 1) + ':' + (exception.mark.column + 1) + ')';
|
||
if (!compact && exception.mark.snippet) {
|
||
where += '\n\n' + exception.mark.snippet;
|
||
}
|
||
return message + ' ' + where;
|
||
}
|
||
function YAMLException$1(reason, mark) {
|
||
// Super constructor
|
||
Error.call(this);
|
||
this.name = 'YAMLException';
|
||
this.reason = reason;
|
||
this.mark = mark;
|
||
this.message = formatError(this, false);
|
||
// Include stack trace in error object
|
||
if (Error.captureStackTrace) {
|
||
// Chrome and NodeJS
|
||
Error.captureStackTrace(this, this.constructor);
|
||
} else {
|
||
// FF, IE 10+ and Safari 6+. Fallback for others
|
||
this.stack = new Error().stack || '';
|
||
}
|
||
}
|
||
// Inherit from Error
|
||
YAMLException$1.prototype = Object.create(Error.prototype);
|
||
YAMLException$1.prototype.constructor = YAMLException$1;
|
||
YAMLException$1.prototype.toString = function toString(compact) {
|
||
return this.name + ': ' + formatError(this, compact);
|
||
};
|
||
var exception = YAMLException$1;
|
||
// get snippet for a single line, respecting maxLength
|
||
function getLine(buffer, lineStart, lineEnd, position, maxLineLength) {
|
||
var head = '';
|
||
var tail = '';
|
||
var maxHalfLength = Math.floor(maxLineLength / 2) - 1;
|
||
if (position - lineStart > maxHalfLength) {
|
||
head = ' ... ';
|
||
lineStart = position - maxHalfLength + head.length;
|
||
}
|
||
if (lineEnd - position > maxHalfLength) {
|
||
tail = ' ...';
|
||
lineEnd = position + maxHalfLength - tail.length;
|
||
}
|
||
return {
|
||
str: head + buffer.slice(lineStart, lineEnd).replace(/\t/g, '→') + tail,
|
||
pos: position - lineStart + head.length // relative position
|
||
};
|
||
}
|
||
function padStart(string, max) {
|
||
return common.repeat(' ', max - string.length) + string;
|
||
}
|
||
function makeSnippet(mark, options) {
|
||
options = Object.create(options || null);
|
||
if (!mark.buffer) return null;
|
||
if (!options.maxLength) options.maxLength = 79;
|
||
if (typeof options.indent !== 'number') options.indent = 1;
|
||
if (typeof options.linesBefore !== 'number') options.linesBefore = 3;
|
||
if (typeof options.linesAfter !== 'number') options.linesAfter = 2;
|
||
var re = /\r?\n|\r|\0/g;
|
||
var lineStarts = [
|
||
0
|
||
];
|
||
var lineEnds = [];
|
||
var match;
|
||
var foundLineNo = -1;
|
||
while(match = re.exec(mark.buffer)){
|
||
lineEnds.push(match.index);
|
||
lineStarts.push(match.index + match[0].length);
|
||
if (mark.position <= match.index && foundLineNo < 0) {
|
||
foundLineNo = lineStarts.length - 2;
|
||
}
|
||
}
|
||
if (foundLineNo < 0) foundLineNo = lineStarts.length - 1;
|
||
var result = '', i, line;
|
||
var lineNoLength = Math.min(mark.line + options.linesAfter, lineEnds.length).toString().length;
|
||
var maxLineLength = options.maxLength - (options.indent + lineNoLength + 3);
|
||
for(i = 1; i <= options.linesBefore; i++){
|
||
if (foundLineNo - i < 0) break;
|
||
line = getLine(mark.buffer, lineStarts[foundLineNo - i], lineEnds[foundLineNo - i], mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo - i]), maxLineLength);
|
||
result = common.repeat(' ', options.indent) + padStart((mark.line - i + 1).toString(), lineNoLength) + ' | ' + line.str + '\n' + result;
|
||
}
|
||
line = getLine(mark.buffer, lineStarts[foundLineNo], lineEnds[foundLineNo], mark.position, maxLineLength);
|
||
result += common.repeat(' ', options.indent) + padStart((mark.line + 1).toString(), lineNoLength) + ' | ' + line.str + '\n';
|
||
result += common.repeat('-', options.indent + lineNoLength + 3 + line.pos) + '^' + '\n';
|
||
for(i = 1; i <= options.linesAfter; i++){
|
||
if (foundLineNo + i >= lineEnds.length) break;
|
||
line = getLine(mark.buffer, lineStarts[foundLineNo + i], lineEnds[foundLineNo + i], mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo + i]), maxLineLength);
|
||
result += common.repeat(' ', options.indent) + padStart((mark.line + i + 1).toString(), lineNoLength) + ' | ' + line.str + '\n';
|
||
}
|
||
return result.replace(/\n$/, '');
|
||
}
|
||
var snippet = makeSnippet;
|
||
var TYPE_CONSTRUCTOR_OPTIONS = [
|
||
'kind',
|
||
'multi',
|
||
'resolve',
|
||
'construct',
|
||
'instanceOf',
|
||
'predicate',
|
||
'represent',
|
||
'representName',
|
||
'defaultStyle',
|
||
'styleAliases'
|
||
];
|
||
var YAML_NODE_KINDS = [
|
||
'scalar',
|
||
'sequence',
|
||
'mapping'
|
||
];
|
||
function compileStyleAliases(map) {
|
||
var result = {};
|
||
if (map !== null) {
|
||
Object.keys(map).forEach(function(style) {
|
||
map[style].forEach(function(alias) {
|
||
result[String(alias)] = style;
|
||
});
|
||
});
|
||
}
|
||
return result;
|
||
}
|
||
function Type$1(tag, options) {
|
||
options = options || {};
|
||
Object.keys(options).forEach(function(name) {
|
||
if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) {
|
||
throw new exception('Unknown option "' + name + '" is met in definition of "' + tag + '" YAML type.');
|
||
}
|
||
});
|
||
// TODO: Add tag format check.
|
||
this.options = options; // keep original options in case user wants to extend this type later
|
||
this.tag = tag;
|
||
this.kind = options['kind'] || null;
|
||
this.resolve = options['resolve'] || function() {
|
||
return true;
|
||
};
|
||
this.construct = options['construct'] || function(data) {
|
||
return data;
|
||
};
|
||
this.instanceOf = options['instanceOf'] || null;
|
||
this.predicate = options['predicate'] || null;
|
||
this.represent = options['represent'] || null;
|
||
this.representName = options['representName'] || null;
|
||
this.defaultStyle = options['defaultStyle'] || null;
|
||
this.multi = options['multi'] || false;
|
||
this.styleAliases = compileStyleAliases(options['styleAliases'] || null);
|
||
if (YAML_NODE_KINDS.indexOf(this.kind) === -1) {
|
||
throw new exception('Unknown kind "' + this.kind + '" is specified for "' + tag + '" YAML type.');
|
||
}
|
||
}
|
||
var type = Type$1;
|
||
/*eslint-disable max-len*/ function compileList(schema, name) {
|
||
var result = [];
|
||
schema[name].forEach(function(currentType) {
|
||
var newIndex = result.length;
|
||
result.forEach(function(previousType, previousIndex) {
|
||
if (previousType.tag === currentType.tag && previousType.kind === currentType.kind && previousType.multi === currentType.multi) {
|
||
newIndex = previousIndex;
|
||
}
|
||
});
|
||
result[newIndex] = currentType;
|
||
});
|
||
return result;
|
||
}
|
||
function compileMap() {
|
||
var result = {
|
||
scalar: {},
|
||
sequence: {},
|
||
mapping: {},
|
||
fallback: {},
|
||
multi: {
|
||
scalar: [],
|
||
sequence: [],
|
||
mapping: [],
|
||
fallback: []
|
||
}
|
||
}, index, length;
|
||
function collectType(type) {
|
||
if (type.multi) {
|
||
result.multi[type.kind].push(type);
|
||
result.multi['fallback'].push(type);
|
||
} else {
|
||
result[type.kind][type.tag] = result['fallback'][type.tag] = type;
|
||
}
|
||
}
|
||
for(index = 0, length = arguments.length; index < length; index += 1){
|
||
arguments[index].forEach(collectType);
|
||
}
|
||
return result;
|
||
}
|
||
function Schema$1(definition) {
|
||
return this.extend(definition);
|
||
}
|
||
Schema$1.prototype.extend = function extend(definition) {
|
||
var implicit = [];
|
||
var explicit = [];
|
||
if (definition instanceof type) {
|
||
// Schema.extend(type)
|
||
explicit.push(definition);
|
||
} else if (Array.isArray(definition)) {
|
||
// Schema.extend([ type1, type2, ... ])
|
||
explicit = explicit.concat(definition);
|
||
} else if (definition && (Array.isArray(definition.implicit) || Array.isArray(definition.explicit))) {
|
||
// Schema.extend({ explicit: [ type1, type2, ... ], implicit: [ type1, type2, ... ] })
|
||
if (definition.implicit) implicit = implicit.concat(definition.implicit);
|
||
if (definition.explicit) explicit = explicit.concat(definition.explicit);
|
||
} else {
|
||
throw new exception('Schema.extend argument should be a Type, [ Type ], ' + 'or a schema definition ({ implicit: [...], explicit: [...] })');
|
||
}
|
||
implicit.forEach(function(type$1) {
|
||
if (!(type$1 instanceof type)) {
|
||
throw new exception('Specified list of YAML types (or a single Type object) contains a non-Type object.');
|
||
}
|
||
if (type$1.loadKind && type$1.loadKind !== 'scalar') {
|
||
throw new exception('There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.');
|
||
}
|
||
if (type$1.multi) {
|
||
throw new exception('There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.');
|
||
}
|
||
});
|
||
explicit.forEach(function(type$1) {
|
||
if (!(type$1 instanceof type)) {
|
||
throw new exception('Specified list of YAML types (or a single Type object) contains a non-Type object.');
|
||
}
|
||
});
|
||
var result = Object.create(Schema$1.prototype);
|
||
result.implicit = (this.implicit || []).concat(implicit);
|
||
result.explicit = (this.explicit || []).concat(explicit);
|
||
result.compiledImplicit = compileList(result, 'implicit');
|
||
result.compiledExplicit = compileList(result, 'explicit');
|
||
result.compiledTypeMap = compileMap(result.compiledImplicit, result.compiledExplicit);
|
||
return result;
|
||
};
|
||
var schema = Schema$1;
|
||
var str = new type('tag:yaml.org,2002:str', {
|
||
kind: 'scalar',
|
||
construct: function(data) {
|
||
return data !== null ? data : '';
|
||
}
|
||
});
|
||
var seq = new type('tag:yaml.org,2002:seq', {
|
||
kind: 'sequence',
|
||
construct: function(data) {
|
||
return data !== null ? data : [];
|
||
}
|
||
});
|
||
var map = new type('tag:yaml.org,2002:map', {
|
||
kind: 'mapping',
|
||
construct: function(data) {
|
||
return data !== null ? data : {};
|
||
}
|
||
});
|
||
var failsafe = new schema({
|
||
explicit: [
|
||
str,
|
||
seq,
|
||
map
|
||
]
|
||
});
|
||
function resolveYamlNull(data) {
|
||
if (data === null) return true;
|
||
var max = data.length;
|
||
return max === 1 && data === '~' || max === 4 && (data === 'null' || data === 'Null' || data === 'NULL');
|
||
}
|
||
function constructYamlNull() {
|
||
return null;
|
||
}
|
||
function isNull(object) {
|
||
return object === null;
|
||
}
|
||
var _null = new type('tag:yaml.org,2002:null', {
|
||
kind: 'scalar',
|
||
resolve: resolveYamlNull,
|
||
construct: constructYamlNull,
|
||
predicate: isNull,
|
||
represent: {
|
||
canonical: function() {
|
||
return '~';
|
||
},
|
||
lowercase: function() {
|
||
return 'null';
|
||
},
|
||
uppercase: function() {
|
||
return 'NULL';
|
||
},
|
||
camelcase: function() {
|
||
return 'Null';
|
||
},
|
||
empty: function() {
|
||
return '';
|
||
}
|
||
},
|
||
defaultStyle: 'lowercase'
|
||
});
|
||
function resolveYamlBoolean(data) {
|
||
if (data === null) return false;
|
||
var max = data.length;
|
||
return max === 4 && (data === 'true' || data === 'True' || data === 'TRUE') || max === 5 && (data === 'false' || data === 'False' || data === 'FALSE');
|
||
}
|
||
function constructYamlBoolean(data) {
|
||
return data === 'true' || data === 'True' || data === 'TRUE';
|
||
}
|
||
function isBoolean(object) {
|
||
return Object.prototype.toString.call(object) === '[object Boolean]';
|
||
}
|
||
var bool = new type('tag:yaml.org,2002:bool', {
|
||
kind: 'scalar',
|
||
resolve: resolveYamlBoolean,
|
||
construct: constructYamlBoolean,
|
||
predicate: isBoolean,
|
||
represent: {
|
||
lowercase: function(object) {
|
||
return object ? 'true' : 'false';
|
||
},
|
||
uppercase: function(object) {
|
||
return object ? 'TRUE' : 'FALSE';
|
||
},
|
||
camelcase: function(object) {
|
||
return object ? 'True' : 'False';
|
||
}
|
||
},
|
||
defaultStyle: 'lowercase'
|
||
});
|
||
function isHexCode(c) {
|
||
return 0x30 /* 0 */ <= c && c <= 0x39 /* 9 */ || 0x41 /* A */ <= c && c <= 0x46 /* F */ || 0x61 /* a */ <= c && c <= 0x66 /* f */ ;
|
||
}
|
||
function isOctCode(c) {
|
||
return 0x30 /* 0 */ <= c && c <= 0x37 /* 7 */ ;
|
||
}
|
||
function isDecCode(c) {
|
||
return 0x30 /* 0 */ <= c && c <= 0x39 /* 9 */ ;
|
||
}
|
||
function resolveYamlInteger(data) {
|
||
if (data === null) return false;
|
||
var max = data.length, index = 0, hasDigits = false, ch;
|
||
if (!max) return false;
|
||
ch = data[index];
|
||
// sign
|
||
if (ch === '-' || ch === '+') {
|
||
ch = data[++index];
|
||
}
|
||
if (ch === '0') {
|
||
// 0
|
||
if (index + 1 === max) return true;
|
||
ch = data[++index];
|
||
// base 2, base 8, base 16
|
||
if (ch === 'b') {
|
||
// base 2
|
||
index++;
|
||
for(; index < max; index++){
|
||
ch = data[index];
|
||
if (ch === '_') continue;
|
||
if (ch !== '0' && ch !== '1') return false;
|
||
hasDigits = true;
|
||
}
|
||
return hasDigits && ch !== '_';
|
||
}
|
||
if (ch === 'x') {
|
||
// base 16
|
||
index++;
|
||
for(; index < max; index++){
|
||
ch = data[index];
|
||
if (ch === '_') continue;
|
||
if (!isHexCode(data.charCodeAt(index))) return false;
|
||
hasDigits = true;
|
||
}
|
||
return hasDigits && ch !== '_';
|
||
}
|
||
if (ch === 'o') {
|
||
// base 8
|
||
index++;
|
||
for(; index < max; index++){
|
||
ch = data[index];
|
||
if (ch === '_') continue;
|
||
if (!isOctCode(data.charCodeAt(index))) return false;
|
||
hasDigits = true;
|
||
}
|
||
return hasDigits && ch !== '_';
|
||
}
|
||
}
|
||
// base 10 (except 0)
|
||
// value should not start with `_`;
|
||
if (ch === '_') return false;
|
||
for(; index < max; index++){
|
||
ch = data[index];
|
||
if (ch === '_') continue;
|
||
if (!isDecCode(data.charCodeAt(index))) {
|
||
return false;
|
||
}
|
||
hasDigits = true;
|
||
}
|
||
// Should have digits and should not end with `_`
|
||
if (!hasDigits || ch === '_') return false;
|
||
return true;
|
||
}
|
||
function constructYamlInteger(data) {
|
||
var value = data, sign = 1, ch;
|
||
if (value.indexOf('_') !== -1) {
|
||
value = value.replace(/_/g, '');
|
||
}
|
||
ch = value[0];
|
||
if (ch === '-' || ch === '+') {
|
||
if (ch === '-') sign = -1;
|
||
value = value.slice(1);
|
||
ch = value[0];
|
||
}
|
||
if (value === '0') return 0;
|
||
if (ch === '0') {
|
||
if (value[1] === 'b') return sign * parseInt(value.slice(2), 2);
|
||
if (value[1] === 'x') return sign * parseInt(value.slice(2), 16);
|
||
if (value[1] === 'o') return sign * parseInt(value.slice(2), 8);
|
||
}
|
||
return sign * parseInt(value, 10);
|
||
}
|
||
function isInteger(object) {
|
||
return Object.prototype.toString.call(object) === '[object Number]' && object % 1 === 0 && !common.isNegativeZero(object);
|
||
}
|
||
var int = new type('tag:yaml.org,2002:int', {
|
||
kind: 'scalar',
|
||
resolve: resolveYamlInteger,
|
||
construct: constructYamlInteger,
|
||
predicate: isInteger,
|
||
represent: {
|
||
binary: function(obj) {
|
||
return obj >= 0 ? '0b' + obj.toString(2) : '-0b' + obj.toString(2).slice(1);
|
||
},
|
||
octal: function(obj) {
|
||
return obj >= 0 ? '0o' + obj.toString(8) : '-0o' + obj.toString(8).slice(1);
|
||
},
|
||
decimal: function(obj) {
|
||
return obj.toString(10);
|
||
},
|
||
/* eslint-disable max-len */ hexadecimal: function(obj) {
|
||
return obj >= 0 ? '0x' + obj.toString(16).toUpperCase() : '-0x' + obj.toString(16).toUpperCase().slice(1);
|
||
}
|
||
},
|
||
defaultStyle: 'decimal',
|
||
styleAliases: {
|
||
binary: [
|
||
2,
|
||
'bin'
|
||
],
|
||
octal: [
|
||
8,
|
||
'oct'
|
||
],
|
||
decimal: [
|
||
10,
|
||
'dec'
|
||
],
|
||
hexadecimal: [
|
||
16,
|
||
'hex'
|
||
]
|
||
}
|
||
});
|
||
var YAML_FLOAT_PATTERN = new RegExp(// 2.5e4, 2.5 and integers
|
||
'^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?' + // .2e4, .2
|
||
// special case, seems not from spec
|
||
'|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?' + // .inf
|
||
'|[-+]?\\.(?:inf|Inf|INF)' + // .nan
|
||
'|\\.(?:nan|NaN|NAN))$');
|
||
function resolveYamlFloat(data) {
|
||
if (data === null) return false;
|
||
if (!YAML_FLOAT_PATTERN.test(data) || // Quick hack to not allow integers end with `_`
|
||
// Probably should update regexp & check speed
|
||
data[data.length - 1] === '_') {
|
||
return false;
|
||
}
|
||
return true;
|
||
}
|
||
function constructYamlFloat(data) {
|
||
var value, sign;
|
||
value = data.replace(/_/g, '').toLowerCase();
|
||
sign = value[0] === '-' ? -1 : 1;
|
||
if ('+-'.indexOf(value[0]) >= 0) {
|
||
value = value.slice(1);
|
||
}
|
||
if (value === '.inf') {
|
||
return sign === 1 ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY;
|
||
} else if (value === '.nan') {
|
||
return NaN;
|
||
}
|
||
return sign * parseFloat(value, 10);
|
||
}
|
||
var SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/;
|
||
function representYamlFloat(object, style) {
|
||
var res;
|
||
if (isNaN(object)) {
|
||
switch(style){
|
||
case 'lowercase':
|
||
return '.nan';
|
||
case 'uppercase':
|
||
return '.NAN';
|
||
case 'camelcase':
|
||
return '.NaN';
|
||
}
|
||
} else if (Number.POSITIVE_INFINITY === object) {
|
||
switch(style){
|
||
case 'lowercase':
|
||
return '.inf';
|
||
case 'uppercase':
|
||
return '.INF';
|
||
case 'camelcase':
|
||
return '.Inf';
|
||
}
|
||
} else if (Number.NEGATIVE_INFINITY === object) {
|
||
switch(style){
|
||
case 'lowercase':
|
||
return '-.inf';
|
||
case 'uppercase':
|
||
return '-.INF';
|
||
case 'camelcase':
|
||
return '-.Inf';
|
||
}
|
||
} else if (common.isNegativeZero(object)) {
|
||
return '-0.0';
|
||
}
|
||
res = object.toString(10);
|
||
// JS stringifier can build scientific format without dots: 5e-100,
|
||
// while YAML requres dot: 5.e-100. Fix it with simple hack
|
||
return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace('e', '.e') : res;
|
||
}
|
||
function isFloat(object) {
|
||
return Object.prototype.toString.call(object) === '[object Number]' && (object % 1 !== 0 || common.isNegativeZero(object));
|
||
}
|
||
var float = new type('tag:yaml.org,2002:float', {
|
||
kind: 'scalar',
|
||
resolve: resolveYamlFloat,
|
||
construct: constructYamlFloat,
|
||
predicate: isFloat,
|
||
represent: representYamlFloat,
|
||
defaultStyle: 'lowercase'
|
||
});
|
||
var json = failsafe.extend({
|
||
implicit: [
|
||
_null,
|
||
bool,
|
||
int,
|
||
float
|
||
]
|
||
});
|
||
var core = json;
|
||
var YAML_DATE_REGEXP = new RegExp('^([0-9][0-9][0-9][0-9])' + // [1] year
|
||
'-([0-9][0-9])' + // [2] month
|
||
'-([0-9][0-9])$'); // [3] day
|
||
var YAML_TIMESTAMP_REGEXP = new RegExp('^([0-9][0-9][0-9][0-9])' + // [1] year
|
||
'-([0-9][0-9]?)' + // [2] month
|
||
'-([0-9][0-9]?)' + // [3] day
|
||
'(?:[Tt]|[ \\t]+)' + // ...
|
||
'([0-9][0-9]?)' + // [4] hour
|
||
':([0-9][0-9])' + // [5] minute
|
||
':([0-9][0-9])' + // [6] second
|
||
'(?:\\.([0-9]*))?' + // [7] fraction
|
||
'(?:[ \\t]*(Z|([-+])([0-9][0-9]?)' + // [8] tz [9] tz_sign [10] tz_hour
|
||
'(?::([0-9][0-9]))?))?$'); // [11] tz_minute
|
||
function resolveYamlTimestamp(data) {
|
||
if (data === null) return false;
|
||
if (YAML_DATE_REGEXP.exec(data) !== null) return true;
|
||
if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true;
|
||
return false;
|
||
}
|
||
function constructYamlTimestamp(data) {
|
||
var match, year, month, day, hour, minute, second, fraction = 0, delta = null, tz_hour, tz_minute, date;
|
||
match = YAML_DATE_REGEXP.exec(data);
|
||
if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data);
|
||
if (match === null) throw new Error('Date resolve error');
|
||
// match: [1] year [2] month [3] day
|
||
year = +match[1];
|
||
month = +match[2] - 1; // JS month starts with 0
|
||
day = +match[3];
|
||
if (!match[4]) {
|
||
return new Date(Date.UTC(year, month, day));
|
||
}
|
||
// match: [4] hour [5] minute [6] second [7] fraction
|
||
hour = +match[4];
|
||
minute = +match[5];
|
||
second = +match[6];
|
||
if (match[7]) {
|
||
fraction = match[7].slice(0, 3);
|
||
while(fraction.length < 3){
|
||
fraction += '0';
|
||
}
|
||
fraction = +fraction;
|
||
}
|
||
// match: [8] tz [9] tz_sign [10] tz_hour [11] tz_minute
|
||
if (match[9]) {
|
||
tz_hour = +match[10];
|
||
tz_minute = +(match[11] || 0);
|
||
delta = (tz_hour * 60 + tz_minute) * 60000; // delta in mili-seconds
|
||
if (match[9] === '-') delta = -delta;
|
||
}
|
||
date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction));
|
||
if (delta) date.setTime(date.getTime() - delta);
|
||
return date;
|
||
}
|
||
function representYamlTimestamp(object /*, style*/ ) {
|
||
return object.toISOString();
|
||
}
|
||
var timestamp = new type('tag:yaml.org,2002:timestamp', {
|
||
kind: 'scalar',
|
||
resolve: resolveYamlTimestamp,
|
||
construct: constructYamlTimestamp,
|
||
instanceOf: Date,
|
||
represent: representYamlTimestamp
|
||
});
|
||
function resolveYamlMerge(data) {
|
||
return data === '<<' || data === null;
|
||
}
|
||
var merge = new type('tag:yaml.org,2002:merge', {
|
||
kind: 'scalar',
|
||
resolve: resolveYamlMerge
|
||
});
|
||
/*eslint-disable no-bitwise*/ // [ 64, 65, 66 ] -> [ padding, CR, LF ]
|
||
var BASE64_MAP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r';
|
||
function resolveYamlBinary(data) {
|
||
if (data === null) return false;
|
||
var code, idx, bitlen = 0, max = data.length, map = BASE64_MAP;
|
||
// Convert one by one.
|
||
for(idx = 0; idx < max; idx++){
|
||
code = map.indexOf(data.charAt(idx));
|
||
// Skip CR/LF
|
||
if (code > 64) continue;
|
||
// Fail on illegal characters
|
||
if (code < 0) return false;
|
||
bitlen += 6;
|
||
}
|
||
// If there are any bits left, source was corrupted
|
||
return bitlen % 8 === 0;
|
||
}
|
||
function constructYamlBinary(data) {
|
||
var idx, tailbits, input = data.replace(/[\r\n=]/g, ''), max = input.length, map = BASE64_MAP, bits = 0, result = [];
|
||
// Collect by 6*4 bits (3 bytes)
|
||
for(idx = 0; idx < max; idx++){
|
||
if (idx % 4 === 0 && idx) {
|
||
result.push(bits >> 16 & 0xFF);
|
||
result.push(bits >> 8 & 0xFF);
|
||
result.push(bits & 0xFF);
|
||
}
|
||
bits = bits << 6 | map.indexOf(input.charAt(idx));
|
||
}
|
||
// Dump tail
|
||
tailbits = max % 4 * 6;
|
||
if (tailbits === 0) {
|
||
result.push(bits >> 16 & 0xFF);
|
||
result.push(bits >> 8 & 0xFF);
|
||
result.push(bits & 0xFF);
|
||
} else if (tailbits === 18) {
|
||
result.push(bits >> 10 & 0xFF);
|
||
result.push(bits >> 2 & 0xFF);
|
||
} else if (tailbits === 12) {
|
||
result.push(bits >> 4 & 0xFF);
|
||
}
|
||
return new Uint8Array(result);
|
||
}
|
||
function representYamlBinary(object /*, style*/ ) {
|
||
var result = '', bits = 0, idx, tail, max = object.length, map = BASE64_MAP;
|
||
// Convert every three bytes to 4 ASCII characters.
|
||
for(idx = 0; idx < max; idx++){
|
||
if (idx % 3 === 0 && idx) {
|
||
result += map[bits >> 18 & 0x3F];
|
||
result += map[bits >> 12 & 0x3F];
|
||
result += map[bits >> 6 & 0x3F];
|
||
result += map[bits & 0x3F];
|
||
}
|
||
bits = (bits << 8) + object[idx];
|
||
}
|
||
// Dump tail
|
||
tail = max % 3;
|
||
if (tail === 0) {
|
||
result += map[bits >> 18 & 0x3F];
|
||
result += map[bits >> 12 & 0x3F];
|
||
result += map[bits >> 6 & 0x3F];
|
||
result += map[bits & 0x3F];
|
||
} else if (tail === 2) {
|
||
result += map[bits >> 10 & 0x3F];
|
||
result += map[bits >> 4 & 0x3F];
|
||
result += map[bits << 2 & 0x3F];
|
||
result += map[64];
|
||
} else if (tail === 1) {
|
||
result += map[bits >> 2 & 0x3F];
|
||
result += map[bits << 4 & 0x3F];
|
||
result += map[64];
|
||
result += map[64];
|
||
}
|
||
return result;
|
||
}
|
||
function isBinary(obj) {
|
||
return Object.prototype.toString.call(obj) === '[object Uint8Array]';
|
||
}
|
||
var binary = new type('tag:yaml.org,2002:binary', {
|
||
kind: 'scalar',
|
||
resolve: resolveYamlBinary,
|
||
construct: constructYamlBinary,
|
||
predicate: isBinary,
|
||
represent: representYamlBinary
|
||
});
|
||
var _hasOwnProperty$3 = Object.prototype.hasOwnProperty;
|
||
var _toString$2 = Object.prototype.toString;
|
||
function resolveYamlOmap(data) {
|
||
if (data === null) return true;
|
||
var objectKeys = [], index, length, pair, pairKey, pairHasKey, object = data;
|
||
for(index = 0, length = object.length; index < length; index += 1){
|
||
pair = object[index];
|
||
pairHasKey = false;
|
||
if (_toString$2.call(pair) !== '[object Object]') return false;
|
||
for(pairKey in pair){
|
||
if (_hasOwnProperty$3.call(pair, pairKey)) {
|
||
if (!pairHasKey) pairHasKey = true;
|
||
else return false;
|
||
}
|
||
}
|
||
if (!pairHasKey) return false;
|
||
if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey);
|
||
else return false;
|
||
}
|
||
return true;
|
||
}
|
||
function constructYamlOmap(data) {
|
||
return data !== null ? data : [];
|
||
}
|
||
var omap = new type('tag:yaml.org,2002:omap', {
|
||
kind: 'sequence',
|
||
resolve: resolveYamlOmap,
|
||
construct: constructYamlOmap
|
||
});
|
||
var _toString$1 = Object.prototype.toString;
|
||
function resolveYamlPairs(data) {
|
||
if (data === null) return true;
|
||
var index, length, pair, keys, result, object = data;
|
||
result = new Array(object.length);
|
||
for(index = 0, length = object.length; index < length; index += 1){
|
||
pair = object[index];
|
||
if (_toString$1.call(pair) !== '[object Object]') return false;
|
||
keys = Object.keys(pair);
|
||
if (keys.length !== 1) return false;
|
||
result[index] = [
|
||
keys[0],
|
||
pair[keys[0]]
|
||
];
|
||
}
|
||
return true;
|
||
}
|
||
function constructYamlPairs(data) {
|
||
if (data === null) return [];
|
||
var index, length, pair, keys, result, object = data;
|
||
result = new Array(object.length);
|
||
for(index = 0, length = object.length; index < length; index += 1){
|
||
pair = object[index];
|
||
keys = Object.keys(pair);
|
||
result[index] = [
|
||
keys[0],
|
||
pair[keys[0]]
|
||
];
|
||
}
|
||
return result;
|
||
}
|
||
var pairs = new type('tag:yaml.org,2002:pairs', {
|
||
kind: 'sequence',
|
||
resolve: resolveYamlPairs,
|
||
construct: constructYamlPairs
|
||
});
|
||
var _hasOwnProperty$2 = Object.prototype.hasOwnProperty;
|
||
function resolveYamlSet(data) {
|
||
if (data === null) return true;
|
||
var key, object = data;
|
||
for(key in object){
|
||
if (_hasOwnProperty$2.call(object, key)) {
|
||
if (object[key] !== null) return false;
|
||
}
|
||
}
|
||
return true;
|
||
}
|
||
function constructYamlSet(data) {
|
||
return data !== null ? data : {};
|
||
}
|
||
var set = new type('tag:yaml.org,2002:set', {
|
||
kind: 'mapping',
|
||
resolve: resolveYamlSet,
|
||
construct: constructYamlSet
|
||
});
|
||
var _default = core.extend({
|
||
implicit: [
|
||
timestamp,
|
||
merge
|
||
],
|
||
explicit: [
|
||
binary,
|
||
omap,
|
||
pairs,
|
||
set
|
||
]
|
||
});
|
||
/*eslint-disable max-len,no-use-before-define*/ var _hasOwnProperty$1 = Object.prototype.hasOwnProperty;
|
||
var CONTEXT_FLOW_IN = 1;
|
||
var CONTEXT_FLOW_OUT = 2;
|
||
var CONTEXT_BLOCK_IN = 3;
|
||
var CONTEXT_BLOCK_OUT = 4;
|
||
var CHOMPING_CLIP = 1;
|
||
var CHOMPING_STRIP = 2;
|
||
var CHOMPING_KEEP = 3;
|
||
var PATTERN_NON_PRINTABLE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;
|
||
var PATTERN_NON_ASCII_LINE_BREAKS = /[\x85\u2028\u2029]/;
|
||
var PATTERN_FLOW_INDICATORS = /[,\[\]\{\}]/;
|
||
var PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\-]+!)$/i;
|
||
var PATTERN_TAG_URI = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;
|
||
function _class(obj) {
|
||
return Object.prototype.toString.call(obj);
|
||
}
|
||
function is_EOL(c) {
|
||
return c === 0x0A /* LF */ || c === 0x0D /* CR */ ;
|
||
}
|
||
function is_WHITE_SPACE(c) {
|
||
return c === 0x09 /* Tab */ || c === 0x20 /* Space */ ;
|
||
}
|
||
function is_WS_OR_EOL(c) {
|
||
return c === 0x09 /* Tab */ || c === 0x20 /* Space */ || c === 0x0A /* LF */ || c === 0x0D /* CR */ ;
|
||
}
|
||
function is_FLOW_INDICATOR(c) {
|
||
return c === 0x2C /* , */ || c === 0x5B /* [ */ || c === 0x5D /* ] */ || c === 0x7B /* { */ || c === 0x7D /* } */ ;
|
||
}
|
||
function fromHexCode(c) {
|
||
var lc;
|
||
if (0x30 /* 0 */ <= c && c <= 0x39 /* 9 */ ) {
|
||
return c - 0x30;
|
||
}
|
||
/*eslint-disable no-bitwise*/ lc = c | 0x20;
|
||
if (0x61 /* a */ <= lc && lc <= 0x66 /* f */ ) {
|
||
return lc - 0x61 + 10;
|
||
}
|
||
return -1;
|
||
}
|
||
function escapedHexLen(c) {
|
||
if (c === 0x78 /* x */ ) {
|
||
return 2;
|
||
}
|
||
if (c === 0x75 /* u */ ) {
|
||
return 4;
|
||
}
|
||
if (c === 0x55 /* U */ ) {
|
||
return 8;
|
||
}
|
||
return 0;
|
||
}
|
||
function fromDecimalCode(c) {
|
||
if (0x30 /* 0 */ <= c && c <= 0x39 /* 9 */ ) {
|
||
return c - 0x30;
|
||
}
|
||
return -1;
|
||
}
|
||
function simpleEscapeSequence(c) {
|
||
/* eslint-disable indent */ return c === 0x30 /* 0 */ ? '\x00' : c === 0x61 /* a */ ? '\x07' : c === 0x62 /* b */ ? '\x08' : c === 0x74 /* t */ ? '\x09' : c === 0x09 /* Tab */ ? '\x09' : c === 0x6E /* n */ ? '\x0A' : c === 0x76 /* v */ ? '\x0B' : c === 0x66 /* f */ ? '\x0C' : c === 0x72 /* r */ ? '\x0D' : c === 0x65 /* e */ ? '\x1B' : c === 0x20 /* Space */ ? ' ' : c === 0x22 /* " */ ? '\x22' : c === 0x2F /* / */ ? '/' : c === 0x5C /* \ */ ? '\x5C' : c === 0x4E /* N */ ? '\x85' : c === 0x5F /* _ */ ? '\xA0' : c === 0x4C /* L */ ? '\u2028' : c === 0x50 /* P */ ? '\u2029' : '';
|
||
}
|
||
function charFromCodepoint(c) {
|
||
if (c <= 0xFFFF) {
|
||
return String.fromCharCode(c);
|
||
}
|
||
// Encode UTF-16 surrogate pair
|
||
// https://en.wikipedia.org/wiki/UTF-16#Code_points_U.2B010000_to_U.2B10FFFF
|
||
return String.fromCharCode((c - 0x010000 >> 10) + 0xD800, (c - 0x010000 & 0x03FF) + 0xDC00);
|
||
}
|
||
// set a property of a literal object, while protecting against prototype pollution,
|
||
// see https://github.com/nodeca/js-yaml/issues/164 for more details
|
||
function setProperty(object, key, value) {
|
||
// used for this specific key only because Object.defineProperty is slow
|
||
if (key === '__proto__') {
|
||
Object.defineProperty(object, key, {
|
||
configurable: true,
|
||
enumerable: true,
|
||
writable: true,
|
||
value: value
|
||
});
|
||
} else {
|
||
object[key] = value;
|
||
}
|
||
}
|
||
var simpleEscapeCheck = new Array(256); // integer, for fast access
|
||
var simpleEscapeMap = new Array(256);
|
||
for(var i = 0; i < 256; i++){
|
||
simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0;
|
||
simpleEscapeMap[i] = simpleEscapeSequence(i);
|
||
}
|
||
function State$1(input, options) {
|
||
this.input = input;
|
||
this.filename = options['filename'] || null;
|
||
this.schema = options['schema'] || _default;
|
||
this.onWarning = options['onWarning'] || null;
|
||
// (Hidden) Remove? makes the loader to expect YAML 1.1 documents
|
||
// if such documents have no explicit %YAML directive
|
||
this.legacy = options['legacy'] || false;
|
||
this.json = options['json'] || false;
|
||
this.listener = options['listener'] || null;
|
||
this.implicitTypes = this.schema.compiledImplicit;
|
||
this.typeMap = this.schema.compiledTypeMap;
|
||
this.length = input.length;
|
||
this.position = 0;
|
||
this.line = 0;
|
||
this.lineStart = 0;
|
||
this.lineIndent = 0;
|
||
// position of first leading tab in the current line,
|
||
// used to make sure there are no tabs in the indentation
|
||
this.firstTabInLine = -1;
|
||
this.documents = [];
|
||
/*
|
||
this.version;
|
||
this.checkLineBreaks;
|
||
this.tagMap;
|
||
this.anchorMap;
|
||
this.tag;
|
||
this.anchor;
|
||
this.kind;
|
||
this.result;*/ }
|
||
function generateError(state, message) {
|
||
var mark = {
|
||
name: state.filename,
|
||
buffer: state.input.slice(0, -1),
|
||
position: state.position,
|
||
line: state.line,
|
||
column: state.position - state.lineStart
|
||
};
|
||
mark.snippet = snippet(mark);
|
||
return new exception(message, mark);
|
||
}
|
||
function throwError(state, message) {
|
||
throw generateError(state, message);
|
||
}
|
||
function throwWarning(state, message) {
|
||
if (state.onWarning) {
|
||
state.onWarning.call(null, generateError(state, message));
|
||
}
|
||
}
|
||
var directiveHandlers = {
|
||
YAML: function handleYamlDirective(state, name, args) {
|
||
var match, major, minor;
|
||
if (state.version !== null) {
|
||
throwError(state, 'duplication of %YAML directive');
|
||
}
|
||
if (args.length !== 1) {
|
||
throwError(state, 'YAML directive accepts exactly one argument');
|
||
}
|
||
match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]);
|
||
if (match === null) {
|
||
throwError(state, 'ill-formed argument of the YAML directive');
|
||
}
|
||
major = parseInt(match[1], 10);
|
||
minor = parseInt(match[2], 10);
|
||
if (major !== 1) {
|
||
throwError(state, 'unacceptable YAML version of the document');
|
||
}
|
||
state.version = args[0];
|
||
state.checkLineBreaks = minor < 2;
|
||
if (minor !== 1 && minor !== 2) {
|
||
throwWarning(state, 'unsupported YAML version of the document');
|
||
}
|
||
},
|
||
TAG: function handleTagDirective(state, name, args) {
|
||
var handle, prefix;
|
||
if (args.length !== 2) {
|
||
throwError(state, 'TAG directive accepts exactly two arguments');
|
||
}
|
||
handle = args[0];
|
||
prefix = args[1];
|
||
if (!PATTERN_TAG_HANDLE.test(handle)) {
|
||
throwError(state, 'ill-formed tag handle (first argument) of the TAG directive');
|
||
}
|
||
if (_hasOwnProperty$1.call(state.tagMap, handle)) {
|
||
throwError(state, 'there is a previously declared suffix for "' + handle + '" tag handle');
|
||
}
|
||
if (!PATTERN_TAG_URI.test(prefix)) {
|
||
throwError(state, 'ill-formed tag prefix (second argument) of the TAG directive');
|
||
}
|
||
try {
|
||
prefix = decodeURIComponent(prefix);
|
||
} catch (err) {
|
||
throwError(state, 'tag prefix is malformed: ' + prefix);
|
||
}
|
||
state.tagMap[handle] = prefix;
|
||
}
|
||
};
|
||
function captureSegment(state, start, end, checkJson) {
|
||
var _position, _length, _character, _result;
|
||
if (start < end) {
|
||
_result = state.input.slice(start, end);
|
||
if (checkJson) {
|
||
for(_position = 0, _length = _result.length; _position < _length; _position += 1){
|
||
_character = _result.charCodeAt(_position);
|
||
if (!(_character === 0x09 || 0x20 <= _character && _character <= 0x10FFFF)) {
|
||
throwError(state, 'expected valid JSON character');
|
||
}
|
||
}
|
||
} else if (PATTERN_NON_PRINTABLE.test(_result)) {
|
||
throwError(state, 'the stream contains non-printable characters');
|
||
}
|
||
state.result += _result;
|
||
}
|
||
}
|
||
function mergeMappings(state, destination, source, overridableKeys) {
|
||
var sourceKeys, key, index, quantity;
|
||
if (!common.isObject(source)) {
|
||
throwError(state, 'cannot merge mappings; the provided source object is unacceptable');
|
||
}
|
||
sourceKeys = Object.keys(source);
|
||
for(index = 0, quantity = sourceKeys.length; index < quantity; index += 1){
|
||
key = sourceKeys[index];
|
||
if (!_hasOwnProperty$1.call(destination, key)) {
|
||
setProperty(destination, key, source[key]);
|
||
overridableKeys[key] = true;
|
||
}
|
||
}
|
||
}
|
||
function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startLineStart, startPos) {
|
||
var index, quantity;
|
||
// The output is a plain object here, so keys can only be strings.
|
||
// We need to convert keyNode to a string, but doing so can hang the process
|
||
// (deeply nested arrays that explode exponentially using aliases).
|
||
if (Array.isArray(keyNode)) {
|
||
keyNode = Array.prototype.slice.call(keyNode);
|
||
for(index = 0, quantity = keyNode.length; index < quantity; index += 1){
|
||
if (Array.isArray(keyNode[index])) {
|
||
throwError(state, 'nested arrays are not supported inside keys');
|
||
}
|
||
if (typeof keyNode === 'object' && _class(keyNode[index]) === '[object Object]') {
|
||
keyNode[index] = '[object Object]';
|
||
}
|
||
}
|
||
}
|
||
// Avoid code execution in load() via toString property
|
||
// (still use its own toString for arrays, timestamps,
|
||
// and whatever user schema extensions happen to have @@toStringTag)
|
||
if (typeof keyNode === 'object' && _class(keyNode) === '[object Object]') {
|
||
keyNode = '[object Object]';
|
||
}
|
||
keyNode = String(keyNode);
|
||
if (_result === null) {
|
||
_result = {};
|
||
}
|
||
if (keyTag === 'tag:yaml.org,2002:merge') {
|
||
if (Array.isArray(valueNode)) {
|
||
for(index = 0, quantity = valueNode.length; index < quantity; index += 1){
|
||
mergeMappings(state, _result, valueNode[index], overridableKeys);
|
||
}
|
||
} else {
|
||
mergeMappings(state, _result, valueNode, overridableKeys);
|
||
}
|
||
} else {
|
||
if (!state.json && !_hasOwnProperty$1.call(overridableKeys, keyNode) && _hasOwnProperty$1.call(_result, keyNode)) {
|
||
state.line = startLine || state.line;
|
||
state.lineStart = startLineStart || state.lineStart;
|
||
state.position = startPos || state.position;
|
||
throwError(state, 'duplicated mapping key');
|
||
}
|
||
setProperty(_result, keyNode, valueNode);
|
||
delete overridableKeys[keyNode];
|
||
}
|
||
return _result;
|
||
}
|
||
function readLineBreak(state) {
|
||
var ch;
|
||
ch = state.input.charCodeAt(state.position);
|
||
if (ch === 0x0A /* LF */ ) {
|
||
state.position++;
|
||
} else if (ch === 0x0D /* CR */ ) {
|
||
state.position++;
|
||
if (state.input.charCodeAt(state.position) === 0x0A /* LF */ ) {
|
||
state.position++;
|
||
}
|
||
} else {
|
||
throwError(state, 'a line break is expected');
|
||
}
|
||
state.line += 1;
|
||
state.lineStart = state.position;
|
||
state.firstTabInLine = -1;
|
||
}
|
||
function skipSeparationSpace(state, allowComments, checkIndent) {
|
||
var lineBreaks = 0, ch = state.input.charCodeAt(state.position);
|
||
while(ch !== 0){
|
||
while(is_WHITE_SPACE(ch)){
|
||
if (ch === 0x09 /* Tab */ && state.firstTabInLine === -1) {
|
||
state.firstTabInLine = state.position;
|
||
}
|
||
ch = state.input.charCodeAt(++state.position);
|
||
}
|
||
if (allowComments && ch === 0x23 /* # */ ) {
|
||
do {
|
||
ch = state.input.charCodeAt(++state.position);
|
||
}while (ch !== 0x0A /* LF */ && ch !== 0x0D /* CR */ && ch !== 0)
|
||
}
|
||
if (is_EOL(ch)) {
|
||
readLineBreak(state);
|
||
ch = state.input.charCodeAt(state.position);
|
||
lineBreaks++;
|
||
state.lineIndent = 0;
|
||
while(ch === 0x20 /* Space */ ){
|
||
state.lineIndent++;
|
||
ch = state.input.charCodeAt(++state.position);
|
||
}
|
||
} else {
|
||
break;
|
||
}
|
||
}
|
||
if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) {
|
||
throwWarning(state, 'deficient indentation');
|
||
}
|
||
return lineBreaks;
|
||
}
|
||
function testDocumentSeparator(state) {
|
||
var _position = state.position, ch;
|
||
ch = state.input.charCodeAt(_position);
|
||
// Condition state.position === state.lineStart is tested
|
||
// in parent on each call, for efficiency. No needs to test here again.
|
||
if ((ch === 0x2D /* - */ || ch === 0x2E /* . */ ) && ch === state.input.charCodeAt(_position + 1) && ch === state.input.charCodeAt(_position + 2)) {
|
||
_position += 3;
|
||
ch = state.input.charCodeAt(_position);
|
||
if (ch === 0 || is_WS_OR_EOL(ch)) {
|
||
return true;
|
||
}
|
||
}
|
||
return false;
|
||
}
|
||
function writeFoldedLines(state, count) {
|
||
if (count === 1) {
|
||
state.result += ' ';
|
||
} else if (count > 1) {
|
||
state.result += common.repeat('\n', count - 1);
|
||
}
|
||
}
|
||
function readPlainScalar(state, nodeIndent, withinFlowCollection) {
|
||
var preceding, following, captureStart, captureEnd, hasPendingContent, _line, _lineStart, _lineIndent, _kind = state.kind, _result = state.result, ch;
|
||
ch = state.input.charCodeAt(state.position);
|
||
if (is_WS_OR_EOL(ch) || is_FLOW_INDICATOR(ch) || ch === 0x23 /* # */ || ch === 0x26 /* & */ || ch === 0x2A /* * */ || ch === 0x21 /* ! */ || ch === 0x7C /* | */ || ch === 0x3E /* > */ || ch === 0x27 /* ' */ || ch === 0x22 /* " */ || ch === 0x25 /* % */ || ch === 0x40 /* @ */ || ch === 0x60 /* ` */ ) {
|
||
return false;
|
||
}
|
||
if (ch === 0x3F /* ? */ || ch === 0x2D /* - */ ) {
|
||
following = state.input.charCodeAt(state.position + 1);
|
||
if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) {
|
||
return false;
|
||
}
|
||
}
|
||
state.kind = 'scalar';
|
||
state.result = '';
|
||
captureStart = captureEnd = state.position;
|
||
hasPendingContent = false;
|
||
while(ch !== 0){
|
||
if (ch === 0x3A /* : */ ) {
|
||
following = state.input.charCodeAt(state.position + 1);
|
||
if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) {
|
||
break;
|
||
}
|
||
} else if (ch === 0x23 /* # */ ) {
|
||
preceding = state.input.charCodeAt(state.position - 1);
|
||
if (is_WS_OR_EOL(preceding)) {
|
||
break;
|
||
}
|
||
} else if (state.position === state.lineStart && testDocumentSeparator(state) || withinFlowCollection && is_FLOW_INDICATOR(ch)) {
|
||
break;
|
||
} else if (is_EOL(ch)) {
|
||
_line = state.line;
|
||
_lineStart = state.lineStart;
|
||
_lineIndent = state.lineIndent;
|
||
skipSeparationSpace(state, false, -1);
|
||
if (state.lineIndent >= nodeIndent) {
|
||
hasPendingContent = true;
|
||
ch = state.input.charCodeAt(state.position);
|
||
continue;
|
||
} else {
|
||
state.position = captureEnd;
|
||
state.line = _line;
|
||
state.lineStart = _lineStart;
|
||
state.lineIndent = _lineIndent;
|
||
break;
|
||
}
|
||
}
|
||
if (hasPendingContent) {
|
||
captureSegment(state, captureStart, captureEnd, false);
|
||
writeFoldedLines(state, state.line - _line);
|
||
captureStart = captureEnd = state.position;
|
||
hasPendingContent = false;
|
||
}
|
||
if (!is_WHITE_SPACE(ch)) {
|
||
captureEnd = state.position + 1;
|
||
}
|
||
ch = state.input.charCodeAt(++state.position);
|
||
}
|
||
captureSegment(state, captureStart, captureEnd, false);
|
||
if (state.result) {
|
||
return true;
|
||
}
|
||
state.kind = _kind;
|
||
state.result = _result;
|
||
return false;
|
||
}
|
||
function readSingleQuotedScalar(state, nodeIndent) {
|
||
var ch, captureStart, captureEnd;
|
||
ch = state.input.charCodeAt(state.position);
|
||
if (ch !== 0x27 /* ' */ ) {
|
||
return false;
|
||
}
|
||
state.kind = 'scalar';
|
||
state.result = '';
|
||
state.position++;
|
||
captureStart = captureEnd = state.position;
|
||
while((ch = state.input.charCodeAt(state.position)) !== 0){
|
||
if (ch === 0x27 /* ' */ ) {
|
||
captureSegment(state, captureStart, state.position, true);
|
||
ch = state.input.charCodeAt(++state.position);
|
||
if (ch === 0x27 /* ' */ ) {
|
||
captureStart = state.position;
|
||
state.position++;
|
||
captureEnd = state.position;
|
||
} else {
|
||
return true;
|
||
}
|
||
} else if (is_EOL(ch)) {
|
||
captureSegment(state, captureStart, captureEnd, true);
|
||
writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));
|
||
captureStart = captureEnd = state.position;
|
||
} else if (state.position === state.lineStart && testDocumentSeparator(state)) {
|
||
throwError(state, 'unexpected end of the document within a single quoted scalar');
|
||
} else {
|
||
state.position++;
|
||
captureEnd = state.position;
|
||
}
|
||
}
|
||
throwError(state, 'unexpected end of the stream within a single quoted scalar');
|
||
}
|
||
function readDoubleQuotedScalar(state, nodeIndent) {
|
||
var captureStart, captureEnd, hexLength, hexResult, tmp, ch;
|
||
ch = state.input.charCodeAt(state.position);
|
||
if (ch !== 0x22 /* " */ ) {
|
||
return false;
|
||
}
|
||
state.kind = 'scalar';
|
||
state.result = '';
|
||
state.position++;
|
||
captureStart = captureEnd = state.position;
|
||
while((ch = state.input.charCodeAt(state.position)) !== 0){
|
||
if (ch === 0x22 /* " */ ) {
|
||
captureSegment(state, captureStart, state.position, true);
|
||
state.position++;
|
||
return true;
|
||
} else if (ch === 0x5C /* \ */ ) {
|
||
captureSegment(state, captureStart, state.position, true);
|
||
ch = state.input.charCodeAt(++state.position);
|
||
if (is_EOL(ch)) {
|
||
skipSeparationSpace(state, false, nodeIndent);
|
||
// TODO: rework to inline fn with no type cast?
|
||
} else if (ch < 256 && simpleEscapeCheck[ch]) {
|
||
state.result += simpleEscapeMap[ch];
|
||
state.position++;
|
||
} else if ((tmp = escapedHexLen(ch)) > 0) {
|
||
hexLength = tmp;
|
||
hexResult = 0;
|
||
for(; hexLength > 0; hexLength--){
|
||
ch = state.input.charCodeAt(++state.position);
|
||
if ((tmp = fromHexCode(ch)) >= 0) {
|
||
hexResult = (hexResult << 4) + tmp;
|
||
} else {
|
||
throwError(state, 'expected hexadecimal character');
|
||
}
|
||
}
|
||
state.result += charFromCodepoint(hexResult);
|
||
state.position++;
|
||
} else {
|
||
throwError(state, 'unknown escape sequence');
|
||
}
|
||
captureStart = captureEnd = state.position;
|
||
} else if (is_EOL(ch)) {
|
||
captureSegment(state, captureStart, captureEnd, true);
|
||
writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));
|
||
captureStart = captureEnd = state.position;
|
||
} else if (state.position === state.lineStart && testDocumentSeparator(state)) {
|
||
throwError(state, 'unexpected end of the document within a double quoted scalar');
|
||
} else {
|
||
state.position++;
|
||
captureEnd = state.position;
|
||
}
|
||
}
|
||
throwError(state, 'unexpected end of the stream within a double quoted scalar');
|
||
}
|
||
function readFlowCollection(state, nodeIndent) {
|
||
var readNext = true, _line, _lineStart, _pos, _tag = state.tag, _result, _anchor = state.anchor, following, terminator, isPair, isExplicitPair, isMapping, overridableKeys = Object.create(null), keyNode, keyTag, valueNode, ch;
|
||
ch = state.input.charCodeAt(state.position);
|
||
if (ch === 0x5B /* [ */ ) {
|
||
terminator = 0x5D; /* ] */
|
||
isMapping = false;
|
||
_result = [];
|
||
} else if (ch === 0x7B /* { */ ) {
|
||
terminator = 0x7D; /* } */
|
||
isMapping = true;
|
||
_result = {};
|
||
} else {
|
||
return false;
|
||
}
|
||
if (state.anchor !== null) {
|
||
state.anchorMap[state.anchor] = _result;
|
||
}
|
||
ch = state.input.charCodeAt(++state.position);
|
||
while(ch !== 0){
|
||
skipSeparationSpace(state, true, nodeIndent);
|
||
ch = state.input.charCodeAt(state.position);
|
||
if (ch === terminator) {
|
||
state.position++;
|
||
state.tag = _tag;
|
||
state.anchor = _anchor;
|
||
state.kind = isMapping ? 'mapping' : 'sequence';
|
||
state.result = _result;
|
||
return true;
|
||
} else if (!readNext) {
|
||
throwError(state, 'missed comma between flow collection entries');
|
||
} else if (ch === 0x2C /* , */ ) {
|
||
// "flow collection entries can never be completely empty", as per YAML 1.2, section 7.4
|
||
throwError(state, "expected the node content, but found ','");
|
||
}
|
||
keyTag = keyNode = valueNode = null;
|
||
isPair = isExplicitPair = false;
|
||
if (ch === 0x3F /* ? */ ) {
|
||
following = state.input.charCodeAt(state.position + 1);
|
||
if (is_WS_OR_EOL(following)) {
|
||
isPair = isExplicitPair = true;
|
||
state.position++;
|
||
skipSeparationSpace(state, true, nodeIndent);
|
||
}
|
||
}
|
||
_line = state.line; // Save the current line.
|
||
_lineStart = state.lineStart;
|
||
_pos = state.position;
|
||
composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);
|
||
keyTag = state.tag;
|
||
keyNode = state.result;
|
||
skipSeparationSpace(state, true, nodeIndent);
|
||
ch = state.input.charCodeAt(state.position);
|
||
if ((isExplicitPair || state.line === _line) && ch === 0x3A /* : */ ) {
|
||
isPair = true;
|
||
ch = state.input.charCodeAt(++state.position);
|
||
skipSeparationSpace(state, true, nodeIndent);
|
||
composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);
|
||
valueNode = state.result;
|
||
}
|
||
if (isMapping) {
|
||
storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos);
|
||
} else if (isPair) {
|
||
_result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos));
|
||
} else {
|
||
_result.push(keyNode);
|
||
}
|
||
skipSeparationSpace(state, true, nodeIndent);
|
||
ch = state.input.charCodeAt(state.position);
|
||
if (ch === 0x2C /* , */ ) {
|
||
readNext = true;
|
||
ch = state.input.charCodeAt(++state.position);
|
||
} else {
|
||
readNext = false;
|
||
}
|
||
}
|
||
throwError(state, 'unexpected end of the stream within a flow collection');
|
||
}
|
||
function readBlockScalar(state, nodeIndent) {
|
||
var captureStart, folding, chomping = CHOMPING_CLIP, didReadContent = false, detectedIndent = false, textIndent = nodeIndent, emptyLines = 0, atMoreIndented = false, tmp, ch;
|
||
ch = state.input.charCodeAt(state.position);
|
||
if (ch === 0x7C /* | */ ) {
|
||
folding = false;
|
||
} else if (ch === 0x3E /* > */ ) {
|
||
folding = true;
|
||
} else {
|
||
return false;
|
||
}
|
||
state.kind = 'scalar';
|
||
state.result = '';
|
||
while(ch !== 0){
|
||
ch = state.input.charCodeAt(++state.position);
|
||
if (ch === 0x2B /* + */ || ch === 0x2D /* - */ ) {
|
||
if (CHOMPING_CLIP === chomping) {
|
||
chomping = ch === 0x2B /* + */ ? CHOMPING_KEEP : CHOMPING_STRIP;
|
||
} else {
|
||
throwError(state, 'repeat of a chomping mode identifier');
|
||
}
|
||
} else if ((tmp = fromDecimalCode(ch)) >= 0) {
|
||
if (tmp === 0) {
|
||
throwError(state, 'bad explicit indentation width of a block scalar; it cannot be less than one');
|
||
} else if (!detectedIndent) {
|
||
textIndent = nodeIndent + tmp - 1;
|
||
detectedIndent = true;
|
||
} else {
|
||
throwError(state, 'repeat of an indentation width identifier');
|
||
}
|
||
} else {
|
||
break;
|
||
}
|
||
}
|
||
if (is_WHITE_SPACE(ch)) {
|
||
do {
|
||
ch = state.input.charCodeAt(++state.position);
|
||
}while (is_WHITE_SPACE(ch))
|
||
if (ch === 0x23 /* # */ ) {
|
||
do {
|
||
ch = state.input.charCodeAt(++state.position);
|
||
}while (!is_EOL(ch) && ch !== 0)
|
||
}
|
||
}
|
||
while(ch !== 0){
|
||
readLineBreak(state);
|
||
state.lineIndent = 0;
|
||
ch = state.input.charCodeAt(state.position);
|
||
while((!detectedIndent || state.lineIndent < textIndent) && ch === 0x20 /* Space */ ){
|
||
state.lineIndent++;
|
||
ch = state.input.charCodeAt(++state.position);
|
||
}
|
||
if (!detectedIndent && state.lineIndent > textIndent) {
|
||
textIndent = state.lineIndent;
|
||
}
|
||
if (is_EOL(ch)) {
|
||
emptyLines++;
|
||
continue;
|
||
}
|
||
// End of the scalar.
|
||
if (state.lineIndent < textIndent) {
|
||
// Perform the chomping.
|
||
if (chomping === CHOMPING_KEEP) {
|
||
state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines);
|
||
} else if (chomping === CHOMPING_CLIP) {
|
||
if (didReadContent) {
|
||
state.result += '\n';
|
||
}
|
||
}
|
||
break;
|
||
}
|
||
// Folded style: use fancy rules to handle line breaks.
|
||
if (folding) {
|
||
// Lines starting with white space characters (more-indented lines) are not folded.
|
||
if (is_WHITE_SPACE(ch)) {
|
||
atMoreIndented = true;
|
||
// except for the first content line (cf. Example 8.1)
|
||
state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines);
|
||
// End of more-indented block.
|
||
} else if (atMoreIndented) {
|
||
atMoreIndented = false;
|
||
state.result += common.repeat('\n', emptyLines + 1);
|
||
// Just one line break - perceive as the same line.
|
||
} else if (emptyLines === 0) {
|
||
if (didReadContent) {
|
||
state.result += ' ';
|
||
}
|
||
// Several line breaks - perceive as different lines.
|
||
} else {
|
||
state.result += common.repeat('\n', emptyLines);
|
||
}
|
||
// Literal style: just add exact number of line breaks between content lines.
|
||
} else {
|
||
// Keep all line breaks except the header line break.
|
||
state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines);
|
||
}
|
||
didReadContent = true;
|
||
detectedIndent = true;
|
||
emptyLines = 0;
|
||
captureStart = state.position;
|
||
while(!is_EOL(ch) && ch !== 0){
|
||
ch = state.input.charCodeAt(++state.position);
|
||
}
|
||
captureSegment(state, captureStart, state.position, false);
|
||
}
|
||
return true;
|
||
}
|
||
function readBlockSequence(state, nodeIndent) {
|
||
var _line, _tag = state.tag, _anchor = state.anchor, _result = [], following, detected = false, ch;
|
||
// there is a leading tab before this token, so it can't be a block sequence/mapping;
|
||
// it can still be flow sequence/mapping or a scalar
|
||
if (state.firstTabInLine !== -1) return false;
|
||
if (state.anchor !== null) {
|
||
state.anchorMap[state.anchor] = _result;
|
||
}
|
||
ch = state.input.charCodeAt(state.position);
|
||
while(ch !== 0){
|
||
if (state.firstTabInLine !== -1) {
|
||
state.position = state.firstTabInLine;
|
||
throwError(state, 'tab characters must not be used in indentation');
|
||
}
|
||
if (ch !== 0x2D /* - */ ) {
|
||
break;
|
||
}
|
||
following = state.input.charCodeAt(state.position + 1);
|
||
if (!is_WS_OR_EOL(following)) {
|
||
break;
|
||
}
|
||
detected = true;
|
||
state.position++;
|
||
if (skipSeparationSpace(state, true, -1)) {
|
||
if (state.lineIndent <= nodeIndent) {
|
||
_result.push(null);
|
||
ch = state.input.charCodeAt(state.position);
|
||
continue;
|
||
}
|
||
}
|
||
_line = state.line;
|
||
composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true);
|
||
_result.push(state.result);
|
||
skipSeparationSpace(state, true, -1);
|
||
ch = state.input.charCodeAt(state.position);
|
||
if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) {
|
||
throwError(state, 'bad indentation of a sequence entry');
|
||
} else if (state.lineIndent < nodeIndent) {
|
||
break;
|
||
}
|
||
}
|
||
if (detected) {
|
||
state.tag = _tag;
|
||
state.anchor = _anchor;
|
||
state.kind = 'sequence';
|
||
state.result = _result;
|
||
return true;
|
||
}
|
||
return false;
|
||
}
|
||
function readBlockMapping(state, nodeIndent, flowIndent) {
|
||
var following, allowCompact, _line, _keyLine, _keyLineStart, _keyPos, _tag = state.tag, _anchor = state.anchor, _result = {}, overridableKeys = Object.create(null), keyTag = null, keyNode = null, valueNode = null, atExplicitKey = false, detected = false, ch;
|
||
// there is a leading tab before this token, so it can't be a block sequence/mapping;
|
||
// it can still be flow sequence/mapping or a scalar
|
||
if (state.firstTabInLine !== -1) return false;
|
||
if (state.anchor !== null) {
|
||
state.anchorMap[state.anchor] = _result;
|
||
}
|
||
ch = state.input.charCodeAt(state.position);
|
||
while(ch !== 0){
|
||
if (!atExplicitKey && state.firstTabInLine !== -1) {
|
||
state.position = state.firstTabInLine;
|
||
throwError(state, 'tab characters must not be used in indentation');
|
||
}
|
||
following = state.input.charCodeAt(state.position + 1);
|
||
_line = state.line; // Save the current line.
|
||
//
|
||
// Explicit notation case. There are two separate blocks:
|
||
// first for the key (denoted by "?") and second for the value (denoted by ":")
|
||
//
|
||
if ((ch === 0x3F /* ? */ || ch === 0x3A /* : */ ) && is_WS_OR_EOL(following)) {
|
||
if (ch === 0x3F /* ? */ ) {
|
||
if (atExplicitKey) {
|
||
storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);
|
||
keyTag = keyNode = valueNode = null;
|
||
}
|
||
detected = true;
|
||
atExplicitKey = true;
|
||
allowCompact = true;
|
||
} else if (atExplicitKey) {
|
||
// i.e. 0x3A/* : */ === character after the explicit key.
|
||
atExplicitKey = false;
|
||
allowCompact = true;
|
||
} else {
|
||
throwError(state, 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line');
|
||
}
|
||
state.position += 1;
|
||
ch = following;
|
||
//
|
||
// Implicit notation case. Flow-style node as the key first, then ":", and the value.
|
||
//
|
||
} else {
|
||
_keyLine = state.line;
|
||
_keyLineStart = state.lineStart;
|
||
_keyPos = state.position;
|
||
if (!composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) {
|
||
break;
|
||
}
|
||
if (state.line === _line) {
|
||
ch = state.input.charCodeAt(state.position);
|
||
while(is_WHITE_SPACE(ch)){
|
||
ch = state.input.charCodeAt(++state.position);
|
||
}
|
||
if (ch === 0x3A /* : */ ) {
|
||
ch = state.input.charCodeAt(++state.position);
|
||
if (!is_WS_OR_EOL(ch)) {
|
||
throwError(state, 'a whitespace character is expected after the key-value separator within a block mapping');
|
||
}
|
||
if (atExplicitKey) {
|
||
storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);
|
||
keyTag = keyNode = valueNode = null;
|
||
}
|
||
detected = true;
|
||
atExplicitKey = false;
|
||
allowCompact = false;
|
||
keyTag = state.tag;
|
||
keyNode = state.result;
|
||
} else if (detected) {
|
||
throwError(state, 'can not read an implicit mapping pair; a colon is missed');
|
||
} else {
|
||
state.tag = _tag;
|
||
state.anchor = _anchor;
|
||
return true; // Keep the result of `composeNode`.
|
||
}
|
||
} else if (detected) {
|
||
throwError(state, 'can not read a block mapping entry; a multiline key may not be an implicit key');
|
||
} else {
|
||
state.tag = _tag;
|
||
state.anchor = _anchor;
|
||
return true; // Keep the result of `composeNode`.
|
||
}
|
||
}
|
||
//
|
||
// Common reading code for both explicit and implicit notations.
|
||
//
|
||
if (state.line === _line || state.lineIndent > nodeIndent) {
|
||
if (atExplicitKey) {
|
||
_keyLine = state.line;
|
||
_keyLineStart = state.lineStart;
|
||
_keyPos = state.position;
|
||
}
|
||
if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) {
|
||
if (atExplicitKey) {
|
||
keyNode = state.result;
|
||
} else {
|
||
valueNode = state.result;
|
||
}
|
||
}
|
||
if (!atExplicitKey) {
|
||
storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _keyLine, _keyLineStart, _keyPos);
|
||
keyTag = keyNode = valueNode = null;
|
||
}
|
||
skipSeparationSpace(state, true, -1);
|
||
ch = state.input.charCodeAt(state.position);
|
||
}
|
||
if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) {
|
||
throwError(state, 'bad indentation of a mapping entry');
|
||
} else if (state.lineIndent < nodeIndent) {
|
||
break;
|
||
}
|
||
}
|
||
//
|
||
// Epilogue.
|
||
//
|
||
// Special case: last mapping's node contains only the key in explicit notation.
|
||
if (atExplicitKey) {
|
||
storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);
|
||
}
|
||
// Expose the resulting mapping.
|
||
if (detected) {
|
||
state.tag = _tag;
|
||
state.anchor = _anchor;
|
||
state.kind = 'mapping';
|
||
state.result = _result;
|
||
}
|
||
return detected;
|
||
}
|
||
function readTagProperty(state) {
|
||
var _position, isVerbatim = false, isNamed = false, tagHandle, tagName, ch;
|
||
ch = state.input.charCodeAt(state.position);
|
||
if (ch !== 0x21 /* ! */ ) return false;
|
||
if (state.tag !== null) {
|
||
throwError(state, 'duplication of a tag property');
|
||
}
|
||
ch = state.input.charCodeAt(++state.position);
|
||
if (ch === 0x3C /* < */ ) {
|
||
isVerbatim = true;
|
||
ch = state.input.charCodeAt(++state.position);
|
||
} else if (ch === 0x21 /* ! */ ) {
|
||
isNamed = true;
|
||
tagHandle = '!!';
|
||
ch = state.input.charCodeAt(++state.position);
|
||
} else {
|
||
tagHandle = '!';
|
||
}
|
||
_position = state.position;
|
||
if (isVerbatim) {
|
||
do {
|
||
ch = state.input.charCodeAt(++state.position);
|
||
}while (ch !== 0 && ch !== 0x3E /* > */ )
|
||
if (state.position < state.length) {
|
||
tagName = state.input.slice(_position, state.position);
|
||
ch = state.input.charCodeAt(++state.position);
|
||
} else {
|
||
throwError(state, 'unexpected end of the stream within a verbatim tag');
|
||
}
|
||
} else {
|
||
while(ch !== 0 && !is_WS_OR_EOL(ch)){
|
||
if (ch === 0x21 /* ! */ ) {
|
||
if (!isNamed) {
|
||
tagHandle = state.input.slice(_position - 1, state.position + 1);
|
||
if (!PATTERN_TAG_HANDLE.test(tagHandle)) {
|
||
throwError(state, 'named tag handle cannot contain such characters');
|
||
}
|
||
isNamed = true;
|
||
_position = state.position + 1;
|
||
} else {
|
||
throwError(state, 'tag suffix cannot contain exclamation marks');
|
||
}
|
||
}
|
||
ch = state.input.charCodeAt(++state.position);
|
||
}
|
||
tagName = state.input.slice(_position, state.position);
|
||
if (PATTERN_FLOW_INDICATORS.test(tagName)) {
|
||
throwError(state, 'tag suffix cannot contain flow indicator characters');
|
||
}
|
||
}
|
||
if (tagName && !PATTERN_TAG_URI.test(tagName)) {
|
||
throwError(state, 'tag name cannot contain such characters: ' + tagName);
|
||
}
|
||
try {
|
||
tagName = decodeURIComponent(tagName);
|
||
} catch (err) {
|
||
throwError(state, 'tag name is malformed: ' + tagName);
|
||
}
|
||
if (isVerbatim) {
|
||
state.tag = tagName;
|
||
} else if (_hasOwnProperty$1.call(state.tagMap, tagHandle)) {
|
||
state.tag = state.tagMap[tagHandle] + tagName;
|
||
} else if (tagHandle === '!') {
|
||
state.tag = '!' + tagName;
|
||
} else if (tagHandle === '!!') {
|
||
state.tag = 'tag:yaml.org,2002:' + tagName;
|
||
} else {
|
||
throwError(state, 'undeclared tag handle "' + tagHandle + '"');
|
||
}
|
||
return true;
|
||
}
|
||
function readAnchorProperty(state) {
|
||
var _position, ch;
|
||
ch = state.input.charCodeAt(state.position);
|
||
if (ch !== 0x26 /* & */ ) return false;
|
||
if (state.anchor !== null) {
|
||
throwError(state, 'duplication of an anchor property');
|
||
}
|
||
ch = state.input.charCodeAt(++state.position);
|
||
_position = state.position;
|
||
while(ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)){
|
||
ch = state.input.charCodeAt(++state.position);
|
||
}
|
||
if (state.position === _position) {
|
||
throwError(state, 'name of an anchor node must contain at least one character');
|
||
}
|
||
state.anchor = state.input.slice(_position, state.position);
|
||
return true;
|
||
}
|
||
function readAlias(state) {
|
||
var _position, alias, ch;
|
||
ch = state.input.charCodeAt(state.position);
|
||
if (ch !== 0x2A /* * */ ) return false;
|
||
ch = state.input.charCodeAt(++state.position);
|
||
_position = state.position;
|
||
while(ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)){
|
||
ch = state.input.charCodeAt(++state.position);
|
||
}
|
||
if (state.position === _position) {
|
||
throwError(state, 'name of an alias node must contain at least one character');
|
||
}
|
||
alias = state.input.slice(_position, state.position);
|
||
if (!_hasOwnProperty$1.call(state.anchorMap, alias)) {
|
||
throwError(state, 'unidentified alias "' + alias + '"');
|
||
}
|
||
state.result = state.anchorMap[alias];
|
||
skipSeparationSpace(state, true, -1);
|
||
return true;
|
||
}
|
||
function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) {
|
||
var allowBlockStyles, allowBlockScalars, allowBlockCollections, indentStatus = 1, atNewLine = false, hasContent = false, typeIndex, typeQuantity, typeList, type, flowIndent, blockIndent;
|
||
if (state.listener !== null) {
|
||
state.listener('open', state);
|
||
}
|
||
state.tag = null;
|
||
state.anchor = null;
|
||
state.kind = null;
|
||
state.result = null;
|
||
allowBlockStyles = allowBlockScalars = allowBlockCollections = CONTEXT_BLOCK_OUT === nodeContext || CONTEXT_BLOCK_IN === nodeContext;
|
||
if (allowToSeek) {
|
||
if (skipSeparationSpace(state, true, -1)) {
|
||
atNewLine = true;
|
||
if (state.lineIndent > parentIndent) {
|
||
indentStatus = 1;
|
||
} else if (state.lineIndent === parentIndent) {
|
||
indentStatus = 0;
|
||
} else if (state.lineIndent < parentIndent) {
|
||
indentStatus = -1;
|
||
}
|
||
}
|
||
}
|
||
if (indentStatus === 1) {
|
||
while(readTagProperty(state) || readAnchorProperty(state)){
|
||
if (skipSeparationSpace(state, true, -1)) {
|
||
atNewLine = true;
|
||
allowBlockCollections = allowBlockStyles;
|
||
if (state.lineIndent > parentIndent) {
|
||
indentStatus = 1;
|
||
} else if (state.lineIndent === parentIndent) {
|
||
indentStatus = 0;
|
||
} else if (state.lineIndent < parentIndent) {
|
||
indentStatus = -1;
|
||
}
|
||
} else {
|
||
allowBlockCollections = false;
|
||
}
|
||
}
|
||
}
|
||
if (allowBlockCollections) {
|
||
allowBlockCollections = atNewLine || allowCompact;
|
||
}
|
||
if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) {
|
||
if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) {
|
||
flowIndent = parentIndent;
|
||
} else {
|
||
flowIndent = parentIndent + 1;
|
||
}
|
||
blockIndent = state.position - state.lineStart;
|
||
if (indentStatus === 1) {
|
||
if (allowBlockCollections && (readBlockSequence(state, blockIndent) || readBlockMapping(state, blockIndent, flowIndent)) || readFlowCollection(state, flowIndent)) {
|
||
hasContent = true;
|
||
} else {
|
||
if (allowBlockScalars && readBlockScalar(state, flowIndent) || readSingleQuotedScalar(state, flowIndent) || readDoubleQuotedScalar(state, flowIndent)) {
|
||
hasContent = true;
|
||
} else if (readAlias(state)) {
|
||
hasContent = true;
|
||
if (state.tag !== null || state.anchor !== null) {
|
||
throwError(state, 'alias node should not have any properties');
|
||
}
|
||
} else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) {
|
||
hasContent = true;
|
||
if (state.tag === null) {
|
||
state.tag = '?';
|
||
}
|
||
}
|
||
if (state.anchor !== null) {
|
||
state.anchorMap[state.anchor] = state.result;
|
||
}
|
||
}
|
||
} else if (indentStatus === 0) {
|
||
// Special case: block sequences are allowed to have same indentation level as the parent.
|
||
// http://www.yaml.org/spec/1.2/spec.html#id2799784
|
||
hasContent = allowBlockCollections && readBlockSequence(state, blockIndent);
|
||
}
|
||
}
|
||
if (state.tag === null) {
|
||
if (state.anchor !== null) {
|
||
state.anchorMap[state.anchor] = state.result;
|
||
}
|
||
} else if (state.tag === '?') {
|
||
// Implicit resolving is not allowed for non-scalar types, and '?'
|
||
// non-specific tag is only automatically assigned to plain scalars.
|
||
//
|
||
// We only need to check kind conformity in case user explicitly assigns '?'
|
||
// tag, for example like this: "!<?> [0]"
|
||
//
|
||
if (state.result !== null && state.kind !== 'scalar') {
|
||
throwError(state, 'unacceptable node kind for !<?> tag; it should be "scalar", not "' + state.kind + '"');
|
||
}
|
||
for(typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1){
|
||
type = state.implicitTypes[typeIndex];
|
||
if (type.resolve(state.result)) {
|
||
state.result = type.construct(state.result);
|
||
state.tag = type.tag;
|
||
if (state.anchor !== null) {
|
||
state.anchorMap[state.anchor] = state.result;
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
} else if (state.tag !== '!') {
|
||
if (_hasOwnProperty$1.call(state.typeMap[state.kind || 'fallback'], state.tag)) {
|
||
type = state.typeMap[state.kind || 'fallback'][state.tag];
|
||
} else {
|
||
// looking for multi type
|
||
type = null;
|
||
typeList = state.typeMap.multi[state.kind || 'fallback'];
|
||
for(typeIndex = 0, typeQuantity = typeList.length; typeIndex < typeQuantity; typeIndex += 1){
|
||
if (state.tag.slice(0, typeList[typeIndex].tag.length) === typeList[typeIndex].tag) {
|
||
type = typeList[typeIndex];
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
if (!type) {
|
||
throwError(state, 'unknown tag !<' + state.tag + '>');
|
||
}
|
||
if (state.result !== null && type.kind !== state.kind) {
|
||
throwError(state, 'unacceptable node kind for !<' + state.tag + '> tag; it should be "' + type.kind + '", not "' + state.kind + '"');
|
||
}
|
||
if (!type.resolve(state.result, state.tag)) {
|
||
throwError(state, 'cannot resolve a node with !<' + state.tag + '> explicit tag');
|
||
} else {
|
||
state.result = type.construct(state.result, state.tag);
|
||
if (state.anchor !== null) {
|
||
state.anchorMap[state.anchor] = state.result;
|
||
}
|
||
}
|
||
}
|
||
if (state.listener !== null) {
|
||
state.listener('close', state);
|
||
}
|
||
return state.tag !== null || state.anchor !== null || hasContent;
|
||
}
|
||
function readDocument(state) {
|
||
var documentStart = state.position, _position, directiveName, directiveArgs, hasDirectives = false, ch;
|
||
state.version = null;
|
||
state.checkLineBreaks = state.legacy;
|
||
state.tagMap = Object.create(null);
|
||
state.anchorMap = Object.create(null);
|
||
while((ch = state.input.charCodeAt(state.position)) !== 0){
|
||
skipSeparationSpace(state, true, -1);
|
||
ch = state.input.charCodeAt(state.position);
|
||
if (state.lineIndent > 0 || ch !== 0x25 /* % */ ) {
|
||
break;
|
||
}
|
||
hasDirectives = true;
|
||
ch = state.input.charCodeAt(++state.position);
|
||
_position = state.position;
|
||
while(ch !== 0 && !is_WS_OR_EOL(ch)){
|
||
ch = state.input.charCodeAt(++state.position);
|
||
}
|
||
directiveName = state.input.slice(_position, state.position);
|
||
directiveArgs = [];
|
||
if (directiveName.length < 1) {
|
||
throwError(state, 'directive name must not be less than one character in length');
|
||
}
|
||
while(ch !== 0){
|
||
while(is_WHITE_SPACE(ch)){
|
||
ch = state.input.charCodeAt(++state.position);
|
||
}
|
||
if (ch === 0x23 /* # */ ) {
|
||
do {
|
||
ch = state.input.charCodeAt(++state.position);
|
||
}while (ch !== 0 && !is_EOL(ch))
|
||
break;
|
||
}
|
||
if (is_EOL(ch)) break;
|
||
_position = state.position;
|
||
while(ch !== 0 && !is_WS_OR_EOL(ch)){
|
||
ch = state.input.charCodeAt(++state.position);
|
||
}
|
||
directiveArgs.push(state.input.slice(_position, state.position));
|
||
}
|
||
if (ch !== 0) readLineBreak(state);
|
||
if (_hasOwnProperty$1.call(directiveHandlers, directiveName)) {
|
||
directiveHandlers[directiveName](state, directiveName, directiveArgs);
|
||
} else {
|
||
throwWarning(state, 'unknown document directive "' + directiveName + '"');
|
||
}
|
||
}
|
||
skipSeparationSpace(state, true, -1);
|
||
if (state.lineIndent === 0 && state.input.charCodeAt(state.position) === 0x2D /* - */ && state.input.charCodeAt(state.position + 1) === 0x2D /* - */ && state.input.charCodeAt(state.position + 2) === 0x2D /* - */ ) {
|
||
state.position += 3;
|
||
skipSeparationSpace(state, true, -1);
|
||
} else if (hasDirectives) {
|
||
throwError(state, 'directives end mark is expected');
|
||
}
|
||
composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true);
|
||
skipSeparationSpace(state, true, -1);
|
||
if (state.checkLineBreaks && PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) {
|
||
throwWarning(state, 'non-ASCII line breaks are interpreted as content');
|
||
}
|
||
state.documents.push(state.result);
|
||
if (state.position === state.lineStart && testDocumentSeparator(state)) {
|
||
if (state.input.charCodeAt(state.position) === 0x2E /* . */ ) {
|
||
state.position += 3;
|
||
skipSeparationSpace(state, true, -1);
|
||
}
|
||
return;
|
||
}
|
||
if (state.position < state.length - 1) {
|
||
throwError(state, 'end of the stream or a document separator is expected');
|
||
} else {
|
||
return;
|
||
}
|
||
}
|
||
function loadDocuments(input, options) {
|
||
input = String(input);
|
||
options = options || {};
|
||
if (input.length !== 0) {
|
||
// Add tailing `\n` if not exists
|
||
if (input.charCodeAt(input.length - 1) !== 0x0A /* LF */ && input.charCodeAt(input.length - 1) !== 0x0D /* CR */ ) {
|
||
input += '\n';
|
||
}
|
||
// Strip BOM
|
||
if (input.charCodeAt(0) === 0xFEFF) {
|
||
input = input.slice(1);
|
||
}
|
||
}
|
||
var state = new State$1(input, options);
|
||
var nullpos = input.indexOf('\0');
|
||
if (nullpos !== -1) {
|
||
state.position = nullpos;
|
||
throwError(state, 'null byte is not allowed in input');
|
||
}
|
||
// Use 0 as string terminator. That significantly simplifies bounds check.
|
||
state.input += '\0';
|
||
while(state.input.charCodeAt(state.position) === 0x20 /* Space */ ){
|
||
state.lineIndent += 1;
|
||
state.position += 1;
|
||
}
|
||
while(state.position < state.length - 1){
|
||
readDocument(state);
|
||
}
|
||
return state.documents;
|
||
}
|
||
function loadAll$1(input, iterator, options) {
|
||
if (iterator !== null && typeof iterator === 'object' && typeof options === 'undefined') {
|
||
options = iterator;
|
||
iterator = null;
|
||
}
|
||
var documents = loadDocuments(input, options);
|
||
if (typeof iterator !== 'function') {
|
||
return documents;
|
||
}
|
||
for(var index = 0, length = documents.length; index < length; index += 1){
|
||
iterator(documents[index]);
|
||
}
|
||
}
|
||
function load$1(input, options) {
|
||
var documents = loadDocuments(input, options);
|
||
if (documents.length === 0) {
|
||
/*eslint-disable no-undefined*/ return undefined;
|
||
} else if (documents.length === 1) {
|
||
return documents[0];
|
||
}
|
||
throw new exception('expected a single document in the stream, but found more');
|
||
}
|
||
var loadAll_1 = loadAll$1;
|
||
var load_1 = load$1;
|
||
var loader = {
|
||
loadAll: loadAll_1,
|
||
load: load_1
|
||
};
|
||
/*eslint-disable no-use-before-define*/ var _toString = Object.prototype.toString;
|
||
var _hasOwnProperty = Object.prototype.hasOwnProperty;
|
||
var CHAR_BOM = 0xFEFF;
|
||
var CHAR_TAB = 0x09; /* Tab */
|
||
var CHAR_LINE_FEED = 0x0A; /* LF */
|
||
var CHAR_CARRIAGE_RETURN = 0x0D; /* CR */
|
||
var CHAR_SPACE = 0x20; /* Space */
|
||
var CHAR_EXCLAMATION = 0x21; /* ! */
|
||
var CHAR_DOUBLE_QUOTE = 0x22; /* " */
|
||
var CHAR_SHARP = 0x23; /* # */
|
||
var CHAR_PERCENT = 0x25; /* % */
|
||
var CHAR_AMPERSAND = 0x26; /* & */
|
||
var CHAR_SINGLE_QUOTE = 0x27; /* ' */
|
||
var CHAR_ASTERISK = 0x2A; /* * */
|
||
var CHAR_COMMA = 0x2C; /* , */
|
||
var CHAR_MINUS = 0x2D; /* - */
|
||
var CHAR_COLON = 0x3A; /* : */
|
||
var CHAR_EQUALS = 0x3D; /* = */
|
||
var CHAR_GREATER_THAN = 0x3E; /* > */
|
||
var CHAR_QUESTION = 0x3F; /* ? */
|
||
var CHAR_COMMERCIAL_AT = 0x40; /* @ */
|
||
var CHAR_LEFT_SQUARE_BRACKET = 0x5B; /* [ */
|
||
var CHAR_RIGHT_SQUARE_BRACKET = 0x5D; /* ] */
|
||
var CHAR_GRAVE_ACCENT = 0x60; /* ` */
|
||
var CHAR_LEFT_CURLY_BRACKET = 0x7B; /* { */
|
||
var CHAR_VERTICAL_LINE = 0x7C; /* | */
|
||
var CHAR_RIGHT_CURLY_BRACKET = 0x7D; /* } */
|
||
var ESCAPE_SEQUENCES = {};
|
||
ESCAPE_SEQUENCES[0x00] = '\\0';
|
||
ESCAPE_SEQUENCES[0x07] = '\\a';
|
||
ESCAPE_SEQUENCES[0x08] = '\\b';
|
||
ESCAPE_SEQUENCES[0x09] = '\\t';
|
||
ESCAPE_SEQUENCES[0x0A] = '\\n';
|
||
ESCAPE_SEQUENCES[0x0B] = '\\v';
|
||
ESCAPE_SEQUENCES[0x0C] = '\\f';
|
||
ESCAPE_SEQUENCES[0x0D] = '\\r';
|
||
ESCAPE_SEQUENCES[0x1B] = '\\e';
|
||
ESCAPE_SEQUENCES[0x22] = '\\"';
|
||
ESCAPE_SEQUENCES[0x5C] = '\\\\';
|
||
ESCAPE_SEQUENCES[0x85] = '\\N';
|
||
ESCAPE_SEQUENCES[0xA0] = '\\_';
|
||
ESCAPE_SEQUENCES[0x2028] = '\\L';
|
||
ESCAPE_SEQUENCES[0x2029] = '\\P';
|
||
var DEPRECATED_BOOLEANS_SYNTAX = [
|
||
'y',
|
||
'Y',
|
||
'yes',
|
||
'Yes',
|
||
'YES',
|
||
'on',
|
||
'On',
|
||
'ON',
|
||
'n',
|
||
'N',
|
||
'no',
|
||
'No',
|
||
'NO',
|
||
'off',
|
||
'Off',
|
||
'OFF'
|
||
];
|
||
var DEPRECATED_BASE60_SYNTAX = /^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;
|
||
function compileStyleMap(schema, map) {
|
||
var result, keys, index, length, tag, style, type;
|
||
if (map === null) return {};
|
||
result = {};
|
||
keys = Object.keys(map);
|
||
for(index = 0, length = keys.length; index < length; index += 1){
|
||
tag = keys[index];
|
||
style = String(map[tag]);
|
||
if (tag.slice(0, 2) === '!!') {
|
||
tag = 'tag:yaml.org,2002:' + tag.slice(2);
|
||
}
|
||
type = schema.compiledTypeMap['fallback'][tag];
|
||
if (type && _hasOwnProperty.call(type.styleAliases, style)) {
|
||
style = type.styleAliases[style];
|
||
}
|
||
result[tag] = style;
|
||
}
|
||
return result;
|
||
}
|
||
function encodeHex(character) {
|
||
var string, handle, length;
|
||
string = character.toString(16).toUpperCase();
|
||
if (character <= 0xFF) {
|
||
handle = 'x';
|
||
length = 2;
|
||
} else if (character <= 0xFFFF) {
|
||
handle = 'u';
|
||
length = 4;
|
||
} else if (character <= 0xFFFFFFFF) {
|
||
handle = 'U';
|
||
length = 8;
|
||
} else {
|
||
throw new exception('code point within a string may not be greater than 0xFFFFFFFF');
|
||
}
|
||
return '\\' + handle + common.repeat('0', length - string.length) + string;
|
||
}
|
||
var QUOTING_TYPE_SINGLE = 1, QUOTING_TYPE_DOUBLE = 2;
|
||
function State(options) {
|
||
this.schema = options['schema'] || _default;
|
||
this.indent = Math.max(1, options['indent'] || 2);
|
||
this.noArrayIndent = options['noArrayIndent'] || false;
|
||
this.skipInvalid = options['skipInvalid'] || false;
|
||
this.flowLevel = common.isNothing(options['flowLevel']) ? -1 : options['flowLevel'];
|
||
this.styleMap = compileStyleMap(this.schema, options['styles'] || null);
|
||
this.sortKeys = options['sortKeys'] || false;
|
||
this.lineWidth = options['lineWidth'] || 80;
|
||
this.noRefs = options['noRefs'] || false;
|
||
this.noCompatMode = options['noCompatMode'] || false;
|
||
this.condenseFlow = options['condenseFlow'] || false;
|
||
this.quotingType = options['quotingType'] === '"' ? QUOTING_TYPE_DOUBLE : QUOTING_TYPE_SINGLE;
|
||
this.forceQuotes = options['forceQuotes'] || false;
|
||
this.replacer = typeof options['replacer'] === 'function' ? options['replacer'] : null;
|
||
this.implicitTypes = this.schema.compiledImplicit;
|
||
this.explicitTypes = this.schema.compiledExplicit;
|
||
this.tag = null;
|
||
this.result = '';
|
||
this.duplicates = [];
|
||
this.usedDuplicates = null;
|
||
}
|
||
// Indents every line in a string. Empty lines (\n only) are not indented.
|
||
function indentString(string, spaces) {
|
||
var ind = common.repeat(' ', spaces), position = 0, next = -1, result = '', line, length = string.length;
|
||
while(position < length){
|
||
next = string.indexOf('\n', position);
|
||
if (next === -1) {
|
||
line = string.slice(position);
|
||
position = length;
|
||
} else {
|
||
line = string.slice(position, next + 1);
|
||
position = next + 1;
|
||
}
|
||
if (line.length && line !== '\n') result += ind;
|
||
result += line;
|
||
}
|
||
return result;
|
||
}
|
||
function generateNextLine(state, level) {
|
||
return '\n' + common.repeat(' ', state.indent * level);
|
||
}
|
||
function testImplicitResolving(state, str) {
|
||
var index, length, type;
|
||
for(index = 0, length = state.implicitTypes.length; index < length; index += 1){
|
||
type = state.implicitTypes[index];
|
||
if (type.resolve(str)) {
|
||
return true;
|
||
}
|
||
}
|
||
return false;
|
||
}
|
||
// [33] s-white ::= s-space | s-tab
|
||
function isWhitespace(c) {
|
||
return c === CHAR_SPACE || c === CHAR_TAB;
|
||
}
|
||
// Returns true if the character can be printed without escaping.
|
||
// From YAML 1.2: "any allowed characters known to be non-printable
|
||
// should also be escaped. [However,] This isn’t mandatory"
|
||
// Derived from nb-char - \t - #x85 - #xA0 - #x2028 - #x2029.
|
||
function isPrintable(c) {
|
||
return 0x00020 <= c && c <= 0x00007E || 0x000A1 <= c && c <= 0x00D7FF && c !== 0x2028 && c !== 0x2029 || 0x0E000 <= c && c <= 0x00FFFD && c !== CHAR_BOM || 0x10000 <= c && c <= 0x10FFFF;
|
||
}
|
||
// [34] ns-char ::= nb-char - s-white
|
||
// [27] nb-char ::= c-printable - b-char - c-byte-order-mark
|
||
// [26] b-char ::= b-line-feed | b-carriage-return
|
||
// Including s-white (for some reason, examples doesn't match specs in this aspect)
|
||
// ns-char ::= c-printable - b-line-feed - b-carriage-return - c-byte-order-mark
|
||
function isNsCharOrWhitespace(c) {
|
||
return isPrintable(c) && c !== CHAR_BOM && c !== CHAR_CARRIAGE_RETURN && c !== CHAR_LINE_FEED;
|
||
}
|
||
// [127] ns-plain-safe(c) ::= c = flow-out ⇒ ns-plain-safe-out
|
||
// c = flow-in ⇒ ns-plain-safe-in
|
||
// c = block-key ⇒ ns-plain-safe-out
|
||
// c = flow-key ⇒ ns-plain-safe-in
|
||
// [128] ns-plain-safe-out ::= ns-char
|
||
// [129] ns-plain-safe-in ::= ns-char - c-flow-indicator
|
||
// [130] ns-plain-char(c) ::= ( ns-plain-safe(c) - “:” - “#” )
|
||
// | ( /* An ns-char preceding */ “#” )
|
||
// | ( “:” /* Followed by an ns-plain-safe(c) */ )
|
||
function isPlainSafe(c, prev, inblock) {
|
||
var cIsNsCharOrWhitespace = isNsCharOrWhitespace(c);
|
||
var cIsNsChar = cIsNsCharOrWhitespace && !isWhitespace(c);
|
||
return (// ns-plain-safe
|
||
inblock ? cIsNsCharOrWhitespace : cIsNsCharOrWhitespace && c !== CHAR_COMMA && c !== CHAR_LEFT_SQUARE_BRACKET && c !== CHAR_RIGHT_SQUARE_BRACKET && c !== CHAR_LEFT_CURLY_BRACKET && c !== CHAR_RIGHT_CURLY_BRACKET) && c !== CHAR_SHARP // false on '#'
|
||
&& !(prev === CHAR_COLON && !cIsNsChar) // false on ': '
|
||
|| isNsCharOrWhitespace(prev) && !isWhitespace(prev) && c === CHAR_SHARP || prev === CHAR_COLON && cIsNsChar; // change to true on ':[^ ]'
|
||
}
|
||
// Simplified test for values allowed as the first character in plain style.
|
||
function isPlainSafeFirst(c) {
|
||
// Uses a subset of ns-char - c-indicator
|
||
// where ns-char = nb-char - s-white.
|
||
// No support of ( ( “?” | “:” | “-” ) /* Followed by an ns-plain-safe(c)) */ ) part
|
||
return isPrintable(c) && c !== CHAR_BOM && !isWhitespace(c) // - s-white
|
||
&& c !== CHAR_MINUS && c !== CHAR_QUESTION && c !== CHAR_COLON && c !== CHAR_COMMA && c !== CHAR_LEFT_SQUARE_BRACKET && c !== CHAR_RIGHT_SQUARE_BRACKET && c !== CHAR_LEFT_CURLY_BRACKET && c !== CHAR_RIGHT_CURLY_BRACKET && c !== CHAR_SHARP && c !== CHAR_AMPERSAND && c !== CHAR_ASTERISK && c !== CHAR_EXCLAMATION && c !== CHAR_VERTICAL_LINE && c !== CHAR_EQUALS && c !== CHAR_GREATER_THAN && c !== CHAR_SINGLE_QUOTE && c !== CHAR_DOUBLE_QUOTE && c !== CHAR_PERCENT && c !== CHAR_COMMERCIAL_AT && c !== CHAR_GRAVE_ACCENT;
|
||
}
|
||
// Simplified test for values allowed as the last character in plain style.
|
||
function isPlainSafeLast(c) {
|
||
// just not whitespace or colon, it will be checked to be plain character later
|
||
return !isWhitespace(c) && c !== CHAR_COLON;
|
||
}
|
||
// Same as 'string'.codePointAt(pos), but works in older browsers.
|
||
function codePointAt(string, pos) {
|
||
var first = string.charCodeAt(pos), second;
|
||
if (first >= 0xD800 && first <= 0xDBFF && pos + 1 < string.length) {
|
||
second = string.charCodeAt(pos + 1);
|
||
if (second >= 0xDC00 && second <= 0xDFFF) {
|
||
// https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
|
||
return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;
|
||
}
|
||
}
|
||
return first;
|
||
}
|
||
// Determines whether block indentation indicator is required.
|
||
function needIndentIndicator(string) {
|
||
var leadingSpaceRe = /^\n* /;
|
||
return leadingSpaceRe.test(string);
|
||
}
|
||
var STYLE_PLAIN = 1, STYLE_SINGLE = 2, STYLE_LITERAL = 3, STYLE_FOLDED = 4, STYLE_DOUBLE = 5;
|
||
// Determines which scalar styles are possible and returns the preferred style.
|
||
// lineWidth = -1 => no limit.
|
||
// Pre-conditions: str.length > 0.
|
||
// Post-conditions:
|
||
// STYLE_PLAIN or STYLE_SINGLE => no \n are in the string.
|
||
// STYLE_LITERAL => no lines are suitable for folding (or lineWidth is -1).
|
||
// STYLE_FOLDED => a line > lineWidth and can be folded (and lineWidth != -1).
|
||
function chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType, quotingType, forceQuotes, inblock) {
|
||
var i;
|
||
var char = 0;
|
||
var prevChar = null;
|
||
var hasLineBreak = false;
|
||
var hasFoldableLine = false; // only checked if shouldTrackWidth
|
||
var shouldTrackWidth = lineWidth !== -1;
|
||
var previousLineBreak = -1; // count the first line correctly
|
||
var plain = isPlainSafeFirst(codePointAt(string, 0)) && isPlainSafeLast(codePointAt(string, string.length - 1));
|
||
if (singleLineOnly || forceQuotes) {
|
||
// Case: no block styles.
|
||
// Check for disallowed characters to rule out plain and single.
|
||
for(i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++){
|
||
char = codePointAt(string, i);
|
||
if (!isPrintable(char)) {
|
||
return STYLE_DOUBLE;
|
||
}
|
||
plain = plain && isPlainSafe(char, prevChar, inblock);
|
||
prevChar = char;
|
||
}
|
||
} else {
|
||
// Case: block styles permitted.
|
||
for(i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++){
|
||
char = codePointAt(string, i);
|
||
if (char === CHAR_LINE_FEED) {
|
||
hasLineBreak = true;
|
||
// Check if any line can be folded.
|
||
if (shouldTrackWidth) {
|
||
hasFoldableLine = hasFoldableLine || i - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== ' ';
|
||
previousLineBreak = i;
|
||
}
|
||
} else if (!isPrintable(char)) {
|
||
return STYLE_DOUBLE;
|
||
}
|
||
plain = plain && isPlainSafe(char, prevChar, inblock);
|
||
prevChar = char;
|
||
}
|
||
// in case the end is missing a \n
|
||
hasFoldableLine = hasFoldableLine || shouldTrackWidth && i - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== ' ';
|
||
}
|
||
// Although every style can represent \n without escaping, prefer block styles
|
||
// for multiline, since they're more readable and they don't add empty lines.
|
||
// Also prefer folding a super-long line.
|
||
if (!hasLineBreak && !hasFoldableLine) {
|
||
// Strings interpretable as another type have to be quoted;
|
||
// e.g. the string 'true' vs. the boolean true.
|
||
if (plain && !forceQuotes && !testAmbiguousType(string)) {
|
||
return STYLE_PLAIN;
|
||
}
|
||
return quotingType === QUOTING_TYPE_DOUBLE ? STYLE_DOUBLE : STYLE_SINGLE;
|
||
}
|
||
// Edge case: block indentation indicator can only have one digit.
|
||
if (indentPerLevel > 9 && needIndentIndicator(string)) {
|
||
return STYLE_DOUBLE;
|
||
}
|
||
// At this point we know block styles are valid.
|
||
// Prefer literal style unless we want to fold.
|
||
if (!forceQuotes) {
|
||
return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL;
|
||
}
|
||
return quotingType === QUOTING_TYPE_DOUBLE ? STYLE_DOUBLE : STYLE_SINGLE;
|
||
}
|
||
// Note: line breaking/folding is implemented for only the folded style.
|
||
// NB. We drop the last trailing newline (if any) of a returned block scalar
|
||
// since the dumper adds its own newline. This always works:
|
||
// • No ending newline => unaffected; already using strip "-" chomping.
|
||
// • Ending newline => removed then restored.
|
||
// Importantly, this keeps the "+" chomp indicator from gaining an extra line.
|
||
function writeScalar(state, string, level, iskey, inblock) {
|
||
state.dump = function() {
|
||
if (string.length === 0) {
|
||
return state.quotingType === QUOTING_TYPE_DOUBLE ? '""' : "''";
|
||
}
|
||
if (!state.noCompatMode) {
|
||
if (DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1 || DEPRECATED_BASE60_SYNTAX.test(string)) {
|
||
return state.quotingType === QUOTING_TYPE_DOUBLE ? '"' + string + '"' : "'" + string + "'";
|
||
}
|
||
}
|
||
var indent = state.indent * Math.max(1, level); // no 0-indent scalars
|
||
// As indentation gets deeper, let the width decrease monotonically
|
||
// to the lower bound min(state.lineWidth, 40).
|
||
// Note that this implies
|
||
// state.lineWidth ≤ 40 + state.indent: width is fixed at the lower bound.
|
||
// state.lineWidth > 40 + state.indent: width decreases until the lower bound.
|
||
// This behaves better than a constant minimum width which disallows narrower options,
|
||
// or an indent threshold which causes the width to suddenly increase.
|
||
var lineWidth = state.lineWidth === -1 ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent);
|
||
// Without knowing if keys are implicit/explicit, assume implicit for safety.
|
||
var singleLineOnly = iskey || state.flowLevel > -1 && level >= state.flowLevel;
|
||
function testAmbiguity(string) {
|
||
return testImplicitResolving(state, string);
|
||
}
|
||
switch(chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, testAmbiguity, state.quotingType, state.forceQuotes && !iskey, inblock)){
|
||
case STYLE_PLAIN:
|
||
return string;
|
||
case STYLE_SINGLE:
|
||
return "'" + string.replace(/'/g, "''") + "'";
|
||
case STYLE_LITERAL:
|
||
return '|' + blockHeader(string, state.indent) + dropEndingNewline(indentString(string, indent));
|
||
case STYLE_FOLDED:
|
||
return '>' + blockHeader(string, state.indent) + dropEndingNewline(indentString(foldString(string, lineWidth), indent));
|
||
case STYLE_DOUBLE:
|
||
return '"' + escapeString(string) + '"';
|
||
default:
|
||
throw new exception('impossible error: invalid scalar style');
|
||
}
|
||
}();
|
||
}
|
||
// Pre-conditions: string is valid for a block scalar, 1 <= indentPerLevel <= 9.
|
||
function blockHeader(string, indentPerLevel) {
|
||
var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : '';
|
||
// note the special case: the string '\n' counts as a "trailing" empty line.
|
||
var clip = string[string.length - 1] === '\n';
|
||
var keep = clip && (string[string.length - 2] === '\n' || string === '\n');
|
||
var chomp = keep ? '+' : clip ? '' : '-';
|
||
return indentIndicator + chomp + '\n';
|
||
}
|
||
// (See the note for writeScalar.)
|
||
function dropEndingNewline(string) {
|
||
return string[string.length - 1] === '\n' ? string.slice(0, -1) : string;
|
||
}
|
||
// Note: a long line without a suitable break point will exceed the width limit.
|
||
// Pre-conditions: every char in str isPrintable, str.length > 0, width > 0.
|
||
function foldString(string, width) {
|
||
// In folded style, $k$ consecutive newlines output as $k+1$ newlines—
|
||
// unless they're before or after a more-indented line, or at the very
|
||
// beginning or end, in which case $k$ maps to $k$.
|
||
// Therefore, parse each chunk as newline(s) followed by a content line.
|
||
var lineRe = /(\n+)([^\n]*)/g;
|
||
// first line (possibly an empty line)
|
||
var result = function() {
|
||
var nextLF = string.indexOf('\n');
|
||
nextLF = nextLF !== -1 ? nextLF : string.length;
|
||
lineRe.lastIndex = nextLF;
|
||
return foldLine(string.slice(0, nextLF), width);
|
||
}();
|
||
// If we haven't reached the first content line yet, don't add an extra \n.
|
||
var prevMoreIndented = string[0] === '\n' || string[0] === ' ';
|
||
var moreIndented;
|
||
// rest of the lines
|
||
var match;
|
||
while(match = lineRe.exec(string)){
|
||
var prefix = match[1], line = match[2];
|
||
moreIndented = line[0] === ' ';
|
||
result += prefix + (!prevMoreIndented && !moreIndented && line !== '' ? '\n' : '') + foldLine(line, width);
|
||
prevMoreIndented = moreIndented;
|
||
}
|
||
return result;
|
||
}
|
||
// Greedy line breaking.
|
||
// Picks the longest line under the limit each time,
|
||
// otherwise settles for the shortest line over the limit.
|
||
// NB. More-indented lines *cannot* be folded, as that would add an extra \n.
|
||
function foldLine(line, width) {
|
||
if (line === '' || line[0] === ' ') return line;
|
||
// Since a more-indented line adds a \n, breaks can't be followed by a space.
|
||
var breakRe = / [^ ]/g; // note: the match index will always be <= length-2.
|
||
var match;
|
||
// start is an inclusive index. end, curr, and next are exclusive.
|
||
var start = 0, end, curr = 0, next = 0;
|
||
var result = '';
|
||
// Invariants: 0 <= start <= length-1.
|
||
// 0 <= curr <= next <= max(0, length-2). curr - start <= width.
|
||
// Inside the loop:
|
||
// A match implies length >= 2, so curr and next are <= length-2.
|
||
while(match = breakRe.exec(line)){
|
||
next = match.index;
|
||
// maintain invariant: curr - start <= width
|
||
if (next - start > width) {
|
||
end = curr > start ? curr : next; // derive end <= length-2
|
||
result += '\n' + line.slice(start, end);
|
||
// skip the space that was output as \n
|
||
start = end + 1; // derive start <= length-1
|
||
}
|
||
curr = next;
|
||
}
|
||
// By the invariants, start <= length-1, so there is something left over.
|
||
// It is either the whole string or a part starting from non-whitespace.
|
||
result += '\n';
|
||
// Insert a break if the remainder is too long and there is a break available.
|
||
if (line.length - start > width && curr > start) {
|
||
result += line.slice(start, curr) + '\n' + line.slice(curr + 1);
|
||
} else {
|
||
result += line.slice(start);
|
||
}
|
||
return result.slice(1); // drop extra \n joiner
|
||
}
|
||
// Escapes a double-quoted string.
|
||
function escapeString(string) {
|
||
var result = '';
|
||
var char = 0;
|
||
var escapeSeq;
|
||
for(var i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++){
|
||
char = codePointAt(string, i);
|
||
escapeSeq = ESCAPE_SEQUENCES[char];
|
||
if (!escapeSeq && isPrintable(char)) {
|
||
result += string[i];
|
||
if (char >= 0x10000) result += string[i + 1];
|
||
} else {
|
||
result += escapeSeq || encodeHex(char);
|
||
}
|
||
}
|
||
return result;
|
||
}
|
||
function writeFlowSequence(state, level, object) {
|
||
var _result = '', _tag = state.tag, index, length, value;
|
||
for(index = 0, length = object.length; index < length; index += 1){
|
||
value = object[index];
|
||
if (state.replacer) {
|
||
value = state.replacer.call(object, String(index), value);
|
||
}
|
||
// Write only valid elements, put null instead of invalid elements.
|
||
if (writeNode(state, level, value, false, false) || typeof value === 'undefined' && writeNode(state, level, null, false, false)) {
|
||
if (_result !== '') _result += ',' + (!state.condenseFlow ? ' ' : '');
|
||
_result += state.dump;
|
||
}
|
||
}
|
||
state.tag = _tag;
|
||
state.dump = '[' + _result + ']';
|
||
}
|
||
function writeBlockSequence(state, level, object, compact) {
|
||
var _result = '', _tag = state.tag, index, length, value;
|
||
for(index = 0, length = object.length; index < length; index += 1){
|
||
value = object[index];
|
||
if (state.replacer) {
|
||
value = state.replacer.call(object, String(index), value);
|
||
}
|
||
// Write only valid elements, put null instead of invalid elements.
|
||
if (writeNode(state, level + 1, value, true, true, false, true) || typeof value === 'undefined' && writeNode(state, level + 1, null, true, true, false, true)) {
|
||
if (!compact || _result !== '') {
|
||
_result += generateNextLine(state, level);
|
||
}
|
||
if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {
|
||
_result += '-';
|
||
} else {
|
||
_result += '- ';
|
||
}
|
||
_result += state.dump;
|
||
}
|
||
}
|
||
state.tag = _tag;
|
||
state.dump = _result || '[]'; // Empty sequence if no valid values.
|
||
}
|
||
function writeFlowMapping(state, level, object) {
|
||
var _result = '', _tag = state.tag, objectKeyList = Object.keys(object), index, length, objectKey, objectValue, pairBuffer;
|
||
for(index = 0, length = objectKeyList.length; index < length; index += 1){
|
||
pairBuffer = '';
|
||
if (_result !== '') pairBuffer += ', ';
|
||
if (state.condenseFlow) pairBuffer += '"';
|
||
objectKey = objectKeyList[index];
|
||
objectValue = object[objectKey];
|
||
if (state.replacer) {
|
||
objectValue = state.replacer.call(object, objectKey, objectValue);
|
||
}
|
||
if (!writeNode(state, level, objectKey, false, false)) {
|
||
continue; // Skip this pair because of invalid key;
|
||
}
|
||
if (state.dump.length > 1024) pairBuffer += '? ';
|
||
pairBuffer += state.dump + (state.condenseFlow ? '"' : '') + ':' + (state.condenseFlow ? '' : ' ');
|
||
if (!writeNode(state, level, objectValue, false, false)) {
|
||
continue; // Skip this pair because of invalid value.
|
||
}
|
||
pairBuffer += state.dump;
|
||
// Both key and value are valid.
|
||
_result += pairBuffer;
|
||
}
|
||
state.tag = _tag;
|
||
state.dump = '{' + _result + '}';
|
||
}
|
||
function writeBlockMapping(state, level, object, compact) {
|
||
var _result = '', _tag = state.tag, objectKeyList = Object.keys(object), index, length, objectKey, objectValue, explicitPair, pairBuffer;
|
||
// Allow sorting keys so that the output file is deterministic
|
||
if (state.sortKeys === true) {
|
||
// Default sorting
|
||
objectKeyList.sort();
|
||
} else if (typeof state.sortKeys === 'function') {
|
||
// Custom sort function
|
||
objectKeyList.sort(state.sortKeys);
|
||
} else if (state.sortKeys) {
|
||
// Something is wrong
|
||
throw new exception('sortKeys must be a boolean or a function');
|
||
}
|
||
for(index = 0, length = objectKeyList.length; index < length; index += 1){
|
||
pairBuffer = '';
|
||
if (!compact || _result !== '') {
|
||
pairBuffer += generateNextLine(state, level);
|
||
}
|
||
objectKey = objectKeyList[index];
|
||
objectValue = object[objectKey];
|
||
if (state.replacer) {
|
||
objectValue = state.replacer.call(object, objectKey, objectValue);
|
||
}
|
||
if (!writeNode(state, level + 1, objectKey, true, true, true)) {
|
||
continue; // Skip this pair because of invalid key.
|
||
}
|
||
explicitPair = state.tag !== null && state.tag !== '?' || state.dump && state.dump.length > 1024;
|
||
if (explicitPair) {
|
||
if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {
|
||
pairBuffer += '?';
|
||
} else {
|
||
pairBuffer += '? ';
|
||
}
|
||
}
|
||
pairBuffer += state.dump;
|
||
if (explicitPair) {
|
||
pairBuffer += generateNextLine(state, level);
|
||
}
|
||
if (!writeNode(state, level + 1, objectValue, true, explicitPair)) {
|
||
continue; // Skip this pair because of invalid value.
|
||
}
|
||
if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {
|
||
pairBuffer += ':';
|
||
} else {
|
||
pairBuffer += ': ';
|
||
}
|
||
pairBuffer += state.dump;
|
||
// Both key and value are valid.
|
||
_result += pairBuffer;
|
||
}
|
||
state.tag = _tag;
|
||
state.dump = _result || '{}'; // Empty mapping if no valid pairs.
|
||
}
|
||
function detectType(state, object, explicit) {
|
||
var _result, typeList, index, length, type, style;
|
||
typeList = explicit ? state.explicitTypes : state.implicitTypes;
|
||
for(index = 0, length = typeList.length; index < length; index += 1){
|
||
type = typeList[index];
|
||
if ((type.instanceOf || type.predicate) && (!type.instanceOf || typeof object === 'object' && object instanceof type.instanceOf) && (!type.predicate || type.predicate(object))) {
|
||
if (explicit) {
|
||
if (type.multi && type.representName) {
|
||
state.tag = type.representName(object);
|
||
} else {
|
||
state.tag = type.tag;
|
||
}
|
||
} else {
|
||
state.tag = '?';
|
||
}
|
||
if (type.represent) {
|
||
style = state.styleMap[type.tag] || type.defaultStyle;
|
||
if (_toString.call(type.represent) === '[object Function]') {
|
||
_result = type.represent(object, style);
|
||
} else if (_hasOwnProperty.call(type.represent, style)) {
|
||
_result = type.represent[style](object, style);
|
||
} else {
|
||
throw new exception('!<' + type.tag + '> tag resolver accepts not "' + style + '" style');
|
||
}
|
||
state.dump = _result;
|
||
}
|
||
return true;
|
||
}
|
||
}
|
||
return false;
|
||
}
|
||
// Serializes `object` and writes it to global `result`.
|
||
// Returns true on success, or false on invalid object.
|
||
//
|
||
function writeNode(state, level, object, block, compact, iskey, isblockseq) {
|
||
state.tag = null;
|
||
state.dump = object;
|
||
if (!detectType(state, object, false)) {
|
||
detectType(state, object, true);
|
||
}
|
||
var type = _toString.call(state.dump);
|
||
var inblock = block;
|
||
var tagStr;
|
||
if (block) {
|
||
block = state.flowLevel < 0 || state.flowLevel > level;
|
||
}
|
||
var objectOrArray = type === '[object Object]' || type === '[object Array]', duplicateIndex, duplicate;
|
||
if (objectOrArray) {
|
||
duplicateIndex = state.duplicates.indexOf(object);
|
||
duplicate = duplicateIndex !== -1;
|
||
}
|
||
if (state.tag !== null && state.tag !== '?' || duplicate || state.indent !== 2 && level > 0) {
|
||
compact = false;
|
||
}
|
||
if (duplicate && state.usedDuplicates[duplicateIndex]) {
|
||
state.dump = '*ref_' + duplicateIndex;
|
||
} else {
|
||
if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) {
|
||
state.usedDuplicates[duplicateIndex] = true;
|
||
}
|
||
if (type === '[object Object]') {
|
||
if (block && Object.keys(state.dump).length !== 0) {
|
||
writeBlockMapping(state, level, state.dump, compact);
|
||
if (duplicate) {
|
||
state.dump = '&ref_' + duplicateIndex + state.dump;
|
||
}
|
||
} else {
|
||
writeFlowMapping(state, level, state.dump);
|
||
if (duplicate) {
|
||
state.dump = '&ref_' + duplicateIndex + ' ' + state.dump;
|
||
}
|
||
}
|
||
} else if (type === '[object Array]') {
|
||
if (block && state.dump.length !== 0) {
|
||
if (state.noArrayIndent && !isblockseq && level > 0) {
|
||
writeBlockSequence(state, level - 1, state.dump, compact);
|
||
} else {
|
||
writeBlockSequence(state, level, state.dump, compact);
|
||
}
|
||
if (duplicate) {
|
||
state.dump = '&ref_' + duplicateIndex + state.dump;
|
||
}
|
||
} else {
|
||
writeFlowSequence(state, level, state.dump);
|
||
if (duplicate) {
|
||
state.dump = '&ref_' + duplicateIndex + ' ' + state.dump;
|
||
}
|
||
}
|
||
} else if (type === '[object String]') {
|
||
if (state.tag !== '?') {
|
||
writeScalar(state, state.dump, level, iskey, inblock);
|
||
}
|
||
} else if (type === '[object Undefined]') {
|
||
return false;
|
||
} else {
|
||
if (state.skipInvalid) return false;
|
||
throw new exception('unacceptable kind of an object to dump ' + type);
|
||
}
|
||
if (state.tag !== null && state.tag !== '?') {
|
||
// Need to encode all characters except those allowed by the spec:
|
||
//
|
||
// [35] ns-dec-digit ::= [#x30-#x39] /* 0-9 */
|
||
// [36] ns-hex-digit ::= ns-dec-digit
|
||
// | [#x41-#x46] /* A-F */ | [#x61-#x66] /* a-f */
|
||
// [37] ns-ascii-letter ::= [#x41-#x5A] /* A-Z */ | [#x61-#x7A] /* a-z */
|
||
// [38] ns-word-char ::= ns-dec-digit | ns-ascii-letter | “-”
|
||
// [39] ns-uri-char ::= “%” ns-hex-digit ns-hex-digit | ns-word-char | “#”
|
||
// | “;” | “/” | “?” | “:” | “@” | “&” | “=” | “+” | “$” | “,”
|
||
// | “_” | “.” | “!” | “~” | “*” | “'” | “(” | “)” | “[” | “]”
|
||
//
|
||
// Also need to encode '!' because it has special meaning (end of tag prefix).
|
||
//
|
||
tagStr = encodeURI(state.tag[0] === '!' ? state.tag.slice(1) : state.tag).replace(/!/g, '%21');
|
||
if (state.tag[0] === '!') {
|
||
tagStr = '!' + tagStr;
|
||
} else if (tagStr.slice(0, 18) === 'tag:yaml.org,2002:') {
|
||
tagStr = '!!' + tagStr.slice(18);
|
||
} else {
|
||
tagStr = '!<' + tagStr + '>';
|
||
}
|
||
state.dump = tagStr + ' ' + state.dump;
|
||
}
|
||
}
|
||
return true;
|
||
}
|
||
function getDuplicateReferences(object, state) {
|
||
var objects = [], duplicatesIndexes = [], index, length;
|
||
inspectNode(object, objects, duplicatesIndexes);
|
||
for(index = 0, length = duplicatesIndexes.length; index < length; index += 1){
|
||
state.duplicates.push(objects[duplicatesIndexes[index]]);
|
||
}
|
||
state.usedDuplicates = new Array(length);
|
||
}
|
||
function inspectNode(object, objects, duplicatesIndexes) {
|
||
var objectKeyList, index, length;
|
||
if (object !== null && typeof object === 'object') {
|
||
index = objects.indexOf(object);
|
||
if (index !== -1) {
|
||
if (duplicatesIndexes.indexOf(index) === -1) {
|
||
duplicatesIndexes.push(index);
|
||
}
|
||
} else {
|
||
objects.push(object);
|
||
if (Array.isArray(object)) {
|
||
for(index = 0, length = object.length; index < length; index += 1){
|
||
inspectNode(object[index], objects, duplicatesIndexes);
|
||
}
|
||
} else {
|
||
objectKeyList = Object.keys(object);
|
||
for(index = 0, length = objectKeyList.length; index < length; index += 1){
|
||
inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
function dump$1(input, options) {
|
||
options = options || {};
|
||
var state = new State(options);
|
||
if (!state.noRefs) getDuplicateReferences(input, state);
|
||
var value = input;
|
||
if (state.replacer) {
|
||
value = state.replacer.call({
|
||
'': value
|
||
}, '', value);
|
||
}
|
||
if (writeNode(state, 0, value, true, true)) return state.dump + '\n';
|
||
return '';
|
||
}
|
||
var dump_1 = dump$1;
|
||
var dumper = {
|
||
dump: dump_1
|
||
};
|
||
function renamed(from, to) {
|
||
return function() {
|
||
throw new Error('Function yaml.' + from + ' is removed in js-yaml 4. ' + 'Use yaml.' + to + ' instead, which is now safe by default.');
|
||
};
|
||
}
|
||
var Type = type;
|
||
var Schema = schema;
|
||
var FAILSAFE_SCHEMA = failsafe;
|
||
var JSON_SCHEMA = json;
|
||
var CORE_SCHEMA = core;
|
||
var DEFAULT_SCHEMA = _default;
|
||
var load = loader.load;
|
||
var loadAll = loader.loadAll;
|
||
var dump = dumper.dump;
|
||
var YAMLException = exception;
|
||
// Re-export all types in case user wants to create custom schema
|
||
var types = {
|
||
binary: binary,
|
||
float: float,
|
||
map: map,
|
||
null: _null,
|
||
pairs: pairs,
|
||
set: set,
|
||
timestamp: timestamp,
|
||
bool: bool,
|
||
int: int,
|
||
merge: merge,
|
||
omap: omap,
|
||
seq: seq,
|
||
str: str
|
||
};
|
||
// Removed functions from JS-YAML 3.0.x
|
||
var safeLoad = renamed('safeLoad', 'load');
|
||
var safeLoadAll = renamed('safeLoadAll', 'loadAll');
|
||
var safeDump = renamed('safeDump', 'dump');
|
||
var jsYaml = {
|
||
Type: Type,
|
||
Schema: Schema,
|
||
FAILSAFE_SCHEMA: FAILSAFE_SCHEMA,
|
||
JSON_SCHEMA: JSON_SCHEMA,
|
||
CORE_SCHEMA: CORE_SCHEMA,
|
||
DEFAULT_SCHEMA: DEFAULT_SCHEMA,
|
||
load: load,
|
||
loadAll: loadAll,
|
||
dump: dump,
|
||
YAMLException: YAMLException,
|
||
types: types,
|
||
safeLoad: safeLoad,
|
||
safeLoadAll: safeLoadAll,
|
||
safeDump: safeDump
|
||
};
|
||
;
|
||
}),
|
||
"[project]/node_modules/@radix-ui/react-label/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Label",
|
||
()=>Label,
|
||
"Root",
|
||
()=>Root
|
||
]);
|
||
// src/label.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-primitive/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
"use client";
|
||
;
|
||
;
|
||
;
|
||
var NAME = "Label";
|
||
var Label = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].label, {
|
||
...props,
|
||
ref: forwardedRef,
|
||
onMouseDown: (event)=>{
|
||
const target = event.target;
|
||
if (target.closest("button, input, select, textarea")) return;
|
||
props.onMouseDown?.(event);
|
||
if (!event.defaultPrevented && event.detail > 1) event.preventDefault();
|
||
}
|
||
});
|
||
});
|
||
Label.displayName = NAME;
|
||
var Root = Label;
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-context/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"createContext",
|
||
()=>createContext2,
|
||
"createContextScope",
|
||
()=>createContextScope
|
||
]);
|
||
// packages/react/context/src/create-context.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
;
|
||
;
|
||
function createContext2(rootComponentName, defaultContext) {
|
||
const Context = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContext"](defaultContext);
|
||
const Provider = (props)=>{
|
||
const { children, ...context } = props;
|
||
const value = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"]({
|
||
"createContext2.Provider.useMemo[value]": ()=>context
|
||
}["createContext2.Provider.useMemo[value]"], Object.values(context));
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Context.Provider, {
|
||
value,
|
||
children
|
||
});
|
||
};
|
||
Provider.displayName = rootComponentName + "Provider";
|
||
function useContext2(consumerName) {
|
||
const context = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useContext"](Context);
|
||
if (context) return context;
|
||
if (defaultContext !== void 0) return defaultContext;
|
||
throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
|
||
}
|
||
return [
|
||
Provider,
|
||
useContext2
|
||
];
|
||
}
|
||
function createContextScope(scopeName, createContextScopeDeps = []) {
|
||
let defaultContexts = [];
|
||
function createContext3(rootComponentName, defaultContext) {
|
||
const BaseContext = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContext"](defaultContext);
|
||
const index = defaultContexts.length;
|
||
defaultContexts = [
|
||
...defaultContexts,
|
||
defaultContext
|
||
];
|
||
const Provider = (props)=>{
|
||
const { scope, children, ...context } = props;
|
||
const Context = scope?.[scopeName]?.[index] || BaseContext;
|
||
const value = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"]({
|
||
"createContextScope.createContext3.Provider.useMemo[value]": ()=>context
|
||
}["createContextScope.createContext3.Provider.useMemo[value]"], Object.values(context));
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Context.Provider, {
|
||
value,
|
||
children
|
||
});
|
||
};
|
||
Provider.displayName = rootComponentName + "Provider";
|
||
function useContext2(consumerName, scope) {
|
||
const Context = scope?.[scopeName]?.[index] || BaseContext;
|
||
const context = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useContext"](Context);
|
||
if (context) return context;
|
||
if (defaultContext !== void 0) return defaultContext;
|
||
throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
|
||
}
|
||
return [
|
||
Provider,
|
||
useContext2
|
||
];
|
||
}
|
||
const createScope = ()=>{
|
||
const scopeContexts = defaultContexts.map((defaultContext)=>{
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContext"](defaultContext);
|
||
});
|
||
return function useScope(scope) {
|
||
const contexts = scope?.[scopeName] || scopeContexts;
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"]({
|
||
"createContextScope.createScope.useScope.useMemo": ()=>({
|
||
[`__scope${scopeName}`]: {
|
||
...scope,
|
||
[scopeName]: contexts
|
||
}
|
||
})
|
||
}["createContextScope.createScope.useScope.useMemo"], [
|
||
scope,
|
||
contexts
|
||
]);
|
||
};
|
||
};
|
||
createScope.scopeName = scopeName;
|
||
return [
|
||
createContext3,
|
||
composeContextScopes(createScope, ...createContextScopeDeps)
|
||
];
|
||
}
|
||
function composeContextScopes(...scopes) {
|
||
const baseScope = scopes[0];
|
||
if (scopes.length === 1) return baseScope;
|
||
const createScope = ()=>{
|
||
const scopeHooks = scopes.map((createScope2)=>({
|
||
useScope: createScope2(),
|
||
scopeName: createScope2.scopeName
|
||
}));
|
||
return function useComposedScopes(overrideScopes) {
|
||
const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName })=>{
|
||
const scopeProps = useScope(overrideScopes);
|
||
const currentScope = scopeProps[`__scope${scopeName}`];
|
||
return {
|
||
...nextScopes2,
|
||
...currentScope
|
||
};
|
||
}, {});
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"]({
|
||
"composeContextScopes.createScope.useComposedScopes.useMemo": ()=>({
|
||
[`__scope${baseScope.scopeName}`]: nextScopes
|
||
})
|
||
}["composeContextScopes.createScope.useComposedScopes.useMemo"], [
|
||
nextScopes
|
||
]);
|
||
};
|
||
};
|
||
createScope.scopeName = baseScope.scopeName;
|
||
return createScope;
|
||
}
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/node_modules/@radix-ui/react-use-previous/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"usePrevious",
|
||
()=>usePrevious
|
||
]);
|
||
// packages/react/use-previous/src/use-previous.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
;
|
||
function usePrevious(value) {
|
||
const ref = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"]({
|
||
value,
|
||
previous: value
|
||
});
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"]({
|
||
"usePrevious.useMemo": ()=>{
|
||
if (ref.current.value !== value) {
|
||
ref.current.previous = ref.current.value;
|
||
ref.current.value = value;
|
||
}
|
||
return ref.current.previous;
|
||
}
|
||
}["usePrevious.useMemo"], [
|
||
value
|
||
]);
|
||
}
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Root",
|
||
()=>Slot,
|
||
"Slot",
|
||
()=>Slot,
|
||
"Slottable",
|
||
()=>Slottable,
|
||
"createSlot",
|
||
()=>createSlot,
|
||
"createSlottable",
|
||
()=>createSlottable
|
||
]);
|
||
// src/slot.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-compose-refs/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
;
|
||
;
|
||
;
|
||
// @__NO_SIDE_EFFECTS__
|
||
function createSlot(ownerName) {
|
||
const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
|
||
const Slot2 = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { children, ...slotProps } = props;
|
||
const childrenArray = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].toArray(children);
|
||
const slottable = childrenArray.find(isSlottable);
|
||
if (slottable) {
|
||
const newElement = slottable.props.children;
|
||
const newChildren = childrenArray.map((child)=>{
|
||
if (child === slottable) {
|
||
if (__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].count(newElement) > 1) return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].only(null);
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isValidElement"](newElement) ? newElement.props.children : null;
|
||
} else {
|
||
return child;
|
||
}
|
||
});
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SlotClone, {
|
||
...slotProps,
|
||
ref: forwardedRef,
|
||
children: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isValidElement"](newElement) ? __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["cloneElement"](newElement, void 0, newChildren) : null
|
||
});
|
||
}
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SlotClone, {
|
||
...slotProps,
|
||
ref: forwardedRef,
|
||
children
|
||
});
|
||
});
|
||
Slot2.displayName = `${ownerName}.Slot`;
|
||
return Slot2;
|
||
}
|
||
var Slot = /* @__PURE__ */ createSlot("Slot");
|
||
// @__NO_SIDE_EFFECTS__
|
||
function createSlotClone(ownerName) {
|
||
const SlotClone = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { children, ...slotProps } = props;
|
||
if (__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isValidElement"](children)) {
|
||
const childrenRef = getElementRef(children);
|
||
const props2 = mergeProps(slotProps, children.props);
|
||
if (children.type !== __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Fragment"]) {
|
||
props2.ref = forwardedRef ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeRefs"])(forwardedRef, childrenRef) : childrenRef;
|
||
}
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["cloneElement"](children, props2);
|
||
}
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].count(children) > 1 ? __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].only(null) : null;
|
||
});
|
||
SlotClone.displayName = `${ownerName}.SlotClone`;
|
||
return SlotClone;
|
||
}
|
||
var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
|
||
// @__NO_SIDE_EFFECTS__
|
||
function createSlottable(ownerName) {
|
||
const Slottable2 = ({ children })=>{
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Fragment"], {
|
||
children
|
||
});
|
||
};
|
||
Slottable2.displayName = `${ownerName}.Slottable`;
|
||
Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
|
||
return Slottable2;
|
||
}
|
||
var Slottable = /* @__PURE__ */ createSlottable("Slottable");
|
||
function isSlottable(child) {
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isValidElement"](child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
|
||
}
|
||
function mergeProps(slotProps, childProps) {
|
||
const overrideProps = {
|
||
...childProps
|
||
};
|
||
for(const propName in childProps){
|
||
const slotPropValue = slotProps[propName];
|
||
const childPropValue = childProps[propName];
|
||
const isHandler = /^on[A-Z]/.test(propName);
|
||
if (isHandler) {
|
||
if (slotPropValue && childPropValue) {
|
||
overrideProps[propName] = (...args)=>{
|
||
const result = childPropValue(...args);
|
||
slotPropValue(...args);
|
||
return result;
|
||
};
|
||
} else if (slotPropValue) {
|
||
overrideProps[propName] = slotPropValue;
|
||
}
|
||
} else if (propName === "style") {
|
||
overrideProps[propName] = {
|
||
...slotPropValue,
|
||
...childPropValue
|
||
};
|
||
} else if (propName === "className") {
|
||
overrideProps[propName] = [
|
||
slotPropValue,
|
||
childPropValue
|
||
].filter(Boolean).join(" ");
|
||
}
|
||
}
|
||
return {
|
||
...slotProps,
|
||
...overrideProps
|
||
};
|
||
}
|
||
function getElementRef(element) {
|
||
let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
|
||
let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
||
if (mayWarn) {
|
||
return element.ref;
|
||
}
|
||
getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
|
||
mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
||
if (mayWarn) {
|
||
return element.props.ref;
|
||
}
|
||
return element.props.ref || element.ref;
|
||
}
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-primitive/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Primitive",
|
||
()=>Primitive,
|
||
"Root",
|
||
()=>Root,
|
||
"dispatchDiscreteCustomEvent",
|
||
()=>dispatchDiscreteCustomEvent
|
||
]);
|
||
// src/primitive.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2d$dom$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react-dom/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$switch$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$slot$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
;
|
||
;
|
||
;
|
||
;
|
||
var NODES = [
|
||
"a",
|
||
"button",
|
||
"div",
|
||
"form",
|
||
"h2",
|
||
"h3",
|
||
"img",
|
||
"input",
|
||
"label",
|
||
"li",
|
||
"nav",
|
||
"ol",
|
||
"p",
|
||
"select",
|
||
"span",
|
||
"svg",
|
||
"ul"
|
||
];
|
||
var Primitive = NODES.reduce((primitive, node)=>{
|
||
const Slot = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$switch$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$slot$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createSlot"])(`Primitive.${node}`);
|
||
const Node = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { asChild, ...primitiveProps } = props;
|
||
const Comp = asChild ? Slot : node;
|
||
if (typeof window !== "undefined") {
|
||
window[Symbol.for("radix-ui")] = true;
|
||
}
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Comp, {
|
||
...primitiveProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
Node.displayName = `Primitive.${node}`;
|
||
return {
|
||
...primitive,
|
||
[node]: Node
|
||
};
|
||
}, {});
|
||
function dispatchDiscreteCustomEvent(target, event) {
|
||
if (target) __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2d$dom$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["flushSync"](()=>target.dispatchEvent(event));
|
||
}
|
||
var Root = Primitive;
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/node_modules/@radix-ui/react-switch/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Root",
|
||
()=>Root,
|
||
"Switch",
|
||
()=>Switch,
|
||
"SwitchThumb",
|
||
()=>SwitchThumb,
|
||
"Thumb",
|
||
()=>Thumb,
|
||
"createSwitchScope",
|
||
()=>createSwitchScope
|
||
]);
|
||
// src/switch.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/primitive/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-compose-refs/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$switch$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$context$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-context/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$controllable$2d$state$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$previous$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-use-previous/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$size$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-use-size/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$switch$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-primitive/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
"use client";
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
var SWITCH_NAME = "Switch";
|
||
var [createSwitchContext, createSwitchScope] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$switch$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$context$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContextScope"])(SWITCH_NAME);
|
||
var [SwitchProvider, useSwitchContext] = createSwitchContext(SWITCH_NAME);
|
||
var Switch = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSwitch, name, checked: checkedProp, defaultChecked, required, disabled, value = "on", onCheckedChange, form, ...switchProps } = props;
|
||
const [button, setButton] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, {
|
||
"Switch.useComposedRefs[composedRefs]": (node)=>setButton(node)
|
||
}["Switch.useComposedRefs[composedRefs]"]);
|
||
const hasConsumerStoppedPropagationRef = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](false);
|
||
const isFormControl = button ? form || !!button.closest("form") : true;
|
||
const [checked, setChecked] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$controllable$2d$state$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useControllableState"])({
|
||
prop: checkedProp,
|
||
defaultProp: defaultChecked ?? false,
|
||
onChange: onCheckedChange,
|
||
caller: SWITCH_NAME
|
||
});
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxs"])(SwitchProvider, {
|
||
scope: __scopeSwitch,
|
||
checked,
|
||
disabled,
|
||
children: [
|
||
/* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$switch$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].button, {
|
||
type: "button",
|
||
role: "switch",
|
||
"aria-checked": checked,
|
||
"aria-required": required,
|
||
"data-state": getState(checked),
|
||
"data-disabled": disabled ? "" : void 0,
|
||
disabled,
|
||
value,
|
||
...switchProps,
|
||
ref: composedRefs,
|
||
onClick: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onClick, (event)=>{
|
||
setChecked((prevChecked)=>!prevChecked);
|
||
if (isFormControl) {
|
||
hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();
|
||
if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();
|
||
}
|
||
})
|
||
}),
|
||
isFormControl && /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SwitchBubbleInput, {
|
||
control: button,
|
||
bubbles: !hasConsumerStoppedPropagationRef.current,
|
||
name,
|
||
value,
|
||
checked,
|
||
required,
|
||
disabled,
|
||
form,
|
||
style: {
|
||
transform: "translateX(-100%)"
|
||
}
|
||
})
|
||
]
|
||
});
|
||
});
|
||
Switch.displayName = SWITCH_NAME;
|
||
var THUMB_NAME = "SwitchThumb";
|
||
var SwitchThumb = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSwitch, ...thumbProps } = props;
|
||
const context = useSwitchContext(THUMB_NAME, __scopeSwitch);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$switch$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].span, {
|
||
"data-state": getState(context.checked),
|
||
"data-disabled": context.disabled ? "" : void 0,
|
||
...thumbProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
SwitchThumb.displayName = THUMB_NAME;
|
||
var BUBBLE_INPUT_NAME = "SwitchBubbleInput";
|
||
var SwitchBubbleInput = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"](({ __scopeSwitch, control, checked, bubbles = true, ...props }, forwardedRef)=>{
|
||
const ref = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(ref, forwardedRef);
|
||
const prevChecked = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$previous$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["usePrevious"])(checked);
|
||
const controlSize = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$size$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useSize"])(control);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"SwitchBubbleInput.useEffect": ()=>{
|
||
const input = ref.current;
|
||
if (!input) return;
|
||
const inputProto = window.HTMLInputElement.prototype;
|
||
const descriptor = Object.getOwnPropertyDescriptor(inputProto, "checked");
|
||
const setChecked = descriptor.set;
|
||
if (prevChecked !== checked && setChecked) {
|
||
const event = new Event("click", {
|
||
bubbles
|
||
});
|
||
setChecked.call(input, checked);
|
||
input.dispatchEvent(event);
|
||
}
|
||
}
|
||
}["SwitchBubbleInput.useEffect"], [
|
||
prevChecked,
|
||
checked,
|
||
bubbles
|
||
]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])("input", {
|
||
type: "checkbox",
|
||
"aria-hidden": true,
|
||
defaultChecked: checked,
|
||
...props,
|
||
tabIndex: -1,
|
||
ref: composedRefs,
|
||
style: {
|
||
...props.style,
|
||
...controlSize,
|
||
position: "absolute",
|
||
pointerEvents: "none",
|
||
opacity: 0,
|
||
margin: 0
|
||
}
|
||
});
|
||
});
|
||
SwitchBubbleInput.displayName = BUBBLE_INPUT_NAME;
|
||
function getState(checked) {
|
||
return checked ? "checked" : "unchecked";
|
||
}
|
||
var Root = Switch;
|
||
var Thumb = SwitchThumb;
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-context/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"createContext",
|
||
()=>createContext2,
|
||
"createContextScope",
|
||
()=>createContextScope
|
||
]);
|
||
// packages/react/context/src/create-context.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
;
|
||
;
|
||
function createContext2(rootComponentName, defaultContext) {
|
||
const Context = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContext"](defaultContext);
|
||
const Provider = (props)=>{
|
||
const { children, ...context } = props;
|
||
const value = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"]({
|
||
"createContext2.Provider.useMemo[value]": ()=>context
|
||
}["createContext2.Provider.useMemo[value]"], Object.values(context));
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Context.Provider, {
|
||
value,
|
||
children
|
||
});
|
||
};
|
||
Provider.displayName = rootComponentName + "Provider";
|
||
function useContext2(consumerName) {
|
||
const context = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useContext"](Context);
|
||
if (context) return context;
|
||
if (defaultContext !== void 0) return defaultContext;
|
||
throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
|
||
}
|
||
return [
|
||
Provider,
|
||
useContext2
|
||
];
|
||
}
|
||
function createContextScope(scopeName, createContextScopeDeps = []) {
|
||
let defaultContexts = [];
|
||
function createContext3(rootComponentName, defaultContext) {
|
||
const BaseContext = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContext"](defaultContext);
|
||
const index = defaultContexts.length;
|
||
defaultContexts = [
|
||
...defaultContexts,
|
||
defaultContext
|
||
];
|
||
const Provider = (props)=>{
|
||
const { scope, children, ...context } = props;
|
||
const Context = scope?.[scopeName]?.[index] || BaseContext;
|
||
const value = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"]({
|
||
"createContextScope.createContext3.Provider.useMemo[value]": ()=>context
|
||
}["createContextScope.createContext3.Provider.useMemo[value]"], Object.values(context));
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Context.Provider, {
|
||
value,
|
||
children
|
||
});
|
||
};
|
||
Provider.displayName = rootComponentName + "Provider";
|
||
function useContext2(consumerName, scope) {
|
||
const Context = scope?.[scopeName]?.[index] || BaseContext;
|
||
const context = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useContext"](Context);
|
||
if (context) return context;
|
||
if (defaultContext !== void 0) return defaultContext;
|
||
throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
|
||
}
|
||
return [
|
||
Provider,
|
||
useContext2
|
||
];
|
||
}
|
||
const createScope = ()=>{
|
||
const scopeContexts = defaultContexts.map((defaultContext)=>{
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContext"](defaultContext);
|
||
});
|
||
return function useScope(scope) {
|
||
const contexts = scope?.[scopeName] || scopeContexts;
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"]({
|
||
"createContextScope.createScope.useScope.useMemo": ()=>({
|
||
[`__scope${scopeName}`]: {
|
||
...scope,
|
||
[scopeName]: contexts
|
||
}
|
||
})
|
||
}["createContextScope.createScope.useScope.useMemo"], [
|
||
scope,
|
||
contexts
|
||
]);
|
||
};
|
||
};
|
||
createScope.scopeName = scopeName;
|
||
return [
|
||
createContext3,
|
||
composeContextScopes(createScope, ...createContextScopeDeps)
|
||
];
|
||
}
|
||
function composeContextScopes(...scopes) {
|
||
const baseScope = scopes[0];
|
||
if (scopes.length === 1) return baseScope;
|
||
const createScope = ()=>{
|
||
const scopeHooks = scopes.map((createScope2)=>({
|
||
useScope: createScope2(),
|
||
scopeName: createScope2.scopeName
|
||
}));
|
||
return function useComposedScopes(overrideScopes) {
|
||
const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName })=>{
|
||
const scopeProps = useScope(overrideScopes);
|
||
const currentScope = scopeProps[`__scope${scopeName}`];
|
||
return {
|
||
...nextScopes2,
|
||
...currentScope
|
||
};
|
||
}, {});
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"]({
|
||
"composeContextScopes.createScope.useComposedScopes.useMemo": ()=>({
|
||
[`__scope${baseScope.scopeName}`]: nextScopes
|
||
})
|
||
}["composeContextScopes.createScope.useComposedScopes.useMemo"], [
|
||
nextScopes
|
||
]);
|
||
};
|
||
};
|
||
createScope.scopeName = baseScope.scopeName;
|
||
return createScope;
|
||
}
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Root",
|
||
()=>Slot,
|
||
"Slot",
|
||
()=>Slot,
|
||
"Slottable",
|
||
()=>Slottable,
|
||
"createSlot",
|
||
()=>createSlot,
|
||
"createSlottable",
|
||
()=>createSlottable
|
||
]);
|
||
// src/slot.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-compose-refs/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
;
|
||
;
|
||
;
|
||
// @__NO_SIDE_EFFECTS__
|
||
function createSlot(ownerName) {
|
||
const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
|
||
const Slot2 = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { children, ...slotProps } = props;
|
||
const childrenArray = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].toArray(children);
|
||
const slottable = childrenArray.find(isSlottable);
|
||
if (slottable) {
|
||
const newElement = slottable.props.children;
|
||
const newChildren = childrenArray.map((child)=>{
|
||
if (child === slottable) {
|
||
if (__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].count(newElement) > 1) return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].only(null);
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isValidElement"](newElement) ? newElement.props.children : null;
|
||
} else {
|
||
return child;
|
||
}
|
||
});
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SlotClone, {
|
||
...slotProps,
|
||
ref: forwardedRef,
|
||
children: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isValidElement"](newElement) ? __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["cloneElement"](newElement, void 0, newChildren) : null
|
||
});
|
||
}
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SlotClone, {
|
||
...slotProps,
|
||
ref: forwardedRef,
|
||
children
|
||
});
|
||
});
|
||
Slot2.displayName = `${ownerName}.Slot`;
|
||
return Slot2;
|
||
}
|
||
var Slot = /* @__PURE__ */ createSlot("Slot");
|
||
// @__NO_SIDE_EFFECTS__
|
||
function createSlotClone(ownerName) {
|
||
const SlotClone = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { children, ...slotProps } = props;
|
||
if (__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isValidElement"](children)) {
|
||
const childrenRef = getElementRef(children);
|
||
const props2 = mergeProps(slotProps, children.props);
|
||
if (children.type !== __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Fragment"]) {
|
||
props2.ref = forwardedRef ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeRefs"])(forwardedRef, childrenRef) : childrenRef;
|
||
}
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["cloneElement"](children, props2);
|
||
}
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].count(children) > 1 ? __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].only(null) : null;
|
||
});
|
||
SlotClone.displayName = `${ownerName}.SlotClone`;
|
||
return SlotClone;
|
||
}
|
||
var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
|
||
// @__NO_SIDE_EFFECTS__
|
||
function createSlottable(ownerName) {
|
||
const Slottable2 = ({ children })=>{
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Fragment"], {
|
||
children
|
||
});
|
||
};
|
||
Slottable2.displayName = `${ownerName}.Slottable`;
|
||
Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
|
||
return Slottable2;
|
||
}
|
||
var Slottable = /* @__PURE__ */ createSlottable("Slottable");
|
||
function isSlottable(child) {
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isValidElement"](child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
|
||
}
|
||
function mergeProps(slotProps, childProps) {
|
||
const overrideProps = {
|
||
...childProps
|
||
};
|
||
for(const propName in childProps){
|
||
const slotPropValue = slotProps[propName];
|
||
const childPropValue = childProps[propName];
|
||
const isHandler = /^on[A-Z]/.test(propName);
|
||
if (isHandler) {
|
||
if (slotPropValue && childPropValue) {
|
||
overrideProps[propName] = (...args)=>{
|
||
const result = childPropValue(...args);
|
||
slotPropValue(...args);
|
||
return result;
|
||
};
|
||
} else if (slotPropValue) {
|
||
overrideProps[propName] = slotPropValue;
|
||
}
|
||
} else if (propName === "style") {
|
||
overrideProps[propName] = {
|
||
...slotPropValue,
|
||
...childPropValue
|
||
};
|
||
} else if (propName === "className") {
|
||
overrideProps[propName] = [
|
||
slotPropValue,
|
||
childPropValue
|
||
].filter(Boolean).join(" ");
|
||
}
|
||
}
|
||
return {
|
||
...slotProps,
|
||
...overrideProps
|
||
};
|
||
}
|
||
function getElementRef(element) {
|
||
let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
|
||
let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
||
if (mayWarn) {
|
||
return element.ref;
|
||
}
|
||
getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
|
||
mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
||
if (mayWarn) {
|
||
return element.props.ref;
|
||
}
|
||
return element.props.ref || element.ref;
|
||
}
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-primitive/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Primitive",
|
||
()=>Primitive,
|
||
"Root",
|
||
()=>Root,
|
||
"dispatchDiscreteCustomEvent",
|
||
()=>dispatchDiscreteCustomEvent
|
||
]);
|
||
// src/primitive.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2d$dom$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react-dom/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popover$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$slot$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
;
|
||
;
|
||
;
|
||
;
|
||
var NODES = [
|
||
"a",
|
||
"button",
|
||
"div",
|
||
"form",
|
||
"h2",
|
||
"h3",
|
||
"img",
|
||
"input",
|
||
"label",
|
||
"li",
|
||
"nav",
|
||
"ol",
|
||
"p",
|
||
"select",
|
||
"span",
|
||
"svg",
|
||
"ul"
|
||
];
|
||
var Primitive = NODES.reduce((primitive, node)=>{
|
||
const Slot = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popover$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$slot$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createSlot"])(`Primitive.${node}`);
|
||
const Node = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { asChild, ...primitiveProps } = props;
|
||
const Comp = asChild ? Slot : node;
|
||
if (typeof window !== "undefined") {
|
||
window[Symbol.for("radix-ui")] = true;
|
||
}
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Comp, {
|
||
...primitiveProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
Node.displayName = `Primitive.${node}`;
|
||
return {
|
||
...primitive,
|
||
[node]: Node
|
||
};
|
||
}, {});
|
||
function dispatchDiscreteCustomEvent(target, event) {
|
||
if (target) __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2d$dom$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["flushSync"](()=>target.dispatchEvent(event));
|
||
}
|
||
var Root = Primitive;
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/node_modules/@radix-ui/react-popover/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Anchor",
|
||
()=>Anchor2,
|
||
"Arrow",
|
||
()=>Arrow2,
|
||
"Close",
|
||
()=>Close,
|
||
"Content",
|
||
()=>Content2,
|
||
"Popover",
|
||
()=>Popover,
|
||
"PopoverAnchor",
|
||
()=>PopoverAnchor,
|
||
"PopoverArrow",
|
||
()=>PopoverArrow,
|
||
"PopoverClose",
|
||
()=>PopoverClose,
|
||
"PopoverContent",
|
||
()=>PopoverContent,
|
||
"PopoverPortal",
|
||
()=>PopoverPortal,
|
||
"PopoverTrigger",
|
||
()=>PopoverTrigger,
|
||
"Portal",
|
||
()=>Portal,
|
||
"Root",
|
||
()=>Root2,
|
||
"Trigger",
|
||
()=>Trigger,
|
||
"createPopoverScope",
|
||
()=>createPopoverScope
|
||
]);
|
||
// src/popover.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/primitive/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-compose-refs/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popover$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$context$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-context/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$dismissable$2d$layer$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$focus$2d$guards$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-focus-guards/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$focus$2d$scope$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-focus-scope/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$id$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-id/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-popper/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$portal$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-portal/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$presence$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-presence/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popover$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-primitive/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popover$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$slot$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$controllable$2d$state$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$aria$2d$hidden$2f$dist$2f$es2015$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/aria-hidden/dist/es2015/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$react$2d$remove$2d$scroll$2f$dist$2f$es2015$2f$Combination$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__RemoveScroll$3e$__ = __turbopack_context__.i("[project]/node_modules/react-remove-scroll/dist/es2015/Combination.js [app-client] (ecmascript) <export default as RemoveScroll>");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
"use client";
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
var POPOVER_NAME = "Popover";
|
||
var [createPopoverContext, createPopoverScope] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popover$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$context$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContextScope"])(POPOVER_NAME, [
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createPopperScope"]
|
||
]);
|
||
var usePopperScope = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createPopperScope"])();
|
||
var [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);
|
||
var Popover = (props)=>{
|
||
const { __scopePopover, children, open: openProp, defaultOpen, onOpenChange, modal = false } = props;
|
||
const popperScope = usePopperScope(__scopePopover);
|
||
const triggerRef = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const [hasCustomAnchor, setHasCustomAnchor] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](false);
|
||
const [open, setOpen] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$controllable$2d$state$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useControllableState"])({
|
||
prop: openProp,
|
||
defaultProp: defaultOpen ?? false,
|
||
onChange: onOpenChange,
|
||
caller: POPOVER_NAME
|
||
});
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Root"], {
|
||
...popperScope,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(PopoverProvider, {
|
||
scope: __scopePopover,
|
||
contentId: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$id$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useId"])(),
|
||
triggerRef,
|
||
open,
|
||
onOpenChange: setOpen,
|
||
onOpenToggle: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"Popover.useCallback": ()=>setOpen({
|
||
"Popover.useCallback": (prevOpen)=>!prevOpen
|
||
}["Popover.useCallback"])
|
||
}["Popover.useCallback"], [
|
||
setOpen
|
||
]),
|
||
hasCustomAnchor,
|
||
onCustomAnchorAdd: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"Popover.useCallback": ()=>setHasCustomAnchor(true)
|
||
}["Popover.useCallback"], []),
|
||
onCustomAnchorRemove: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"Popover.useCallback": ()=>setHasCustomAnchor(false)
|
||
}["Popover.useCallback"], []),
|
||
modal,
|
||
children
|
||
})
|
||
});
|
||
};
|
||
Popover.displayName = POPOVER_NAME;
|
||
var ANCHOR_NAME = "PopoverAnchor";
|
||
var PopoverAnchor = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopePopover, ...anchorProps } = props;
|
||
const context = usePopoverContext(ANCHOR_NAME, __scopePopover);
|
||
const popperScope = usePopperScope(__scopePopover);
|
||
const { onCustomAnchorAdd, onCustomAnchorRemove } = context;
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"PopoverAnchor.useEffect": ()=>{
|
||
onCustomAnchorAdd();
|
||
return ({
|
||
"PopoverAnchor.useEffect": ()=>onCustomAnchorRemove()
|
||
})["PopoverAnchor.useEffect"];
|
||
}
|
||
}["PopoverAnchor.useEffect"], [
|
||
onCustomAnchorAdd,
|
||
onCustomAnchorRemove
|
||
]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Anchor"], {
|
||
...popperScope,
|
||
...anchorProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
PopoverAnchor.displayName = ANCHOR_NAME;
|
||
var TRIGGER_NAME = "PopoverTrigger";
|
||
var PopoverTrigger = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopePopover, ...triggerProps } = props;
|
||
const context = usePopoverContext(TRIGGER_NAME, __scopePopover);
|
||
const popperScope = usePopperScope(__scopePopover);
|
||
const composedTriggerRef = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, context.triggerRef);
|
||
const trigger = /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popover$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].button, {
|
||
type: "button",
|
||
"aria-haspopup": "dialog",
|
||
"aria-expanded": context.open,
|
||
"aria-controls": context.contentId,
|
||
"data-state": getState(context.open),
|
||
...triggerProps,
|
||
ref: composedTriggerRef,
|
||
onClick: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onClick, context.onOpenToggle)
|
||
});
|
||
return context.hasCustomAnchor ? trigger : /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Anchor"], {
|
||
asChild: true,
|
||
...popperScope,
|
||
children: trigger
|
||
});
|
||
});
|
||
PopoverTrigger.displayName = TRIGGER_NAME;
|
||
var PORTAL_NAME = "PopoverPortal";
|
||
var [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {
|
||
forceMount: void 0
|
||
});
|
||
var PopoverPortal = (props)=>{
|
||
const { __scopePopover, forceMount, children, container } = props;
|
||
const context = usePopoverContext(PORTAL_NAME, __scopePopover);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(PortalProvider, {
|
||
scope: __scopePopover,
|
||
forceMount,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$presence$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Presence"], {
|
||
present: forceMount || context.open,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$portal$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Portal"], {
|
||
asChild: true,
|
||
container,
|
||
children
|
||
})
|
||
})
|
||
});
|
||
};
|
||
PopoverPortal.displayName = PORTAL_NAME;
|
||
var CONTENT_NAME = "PopoverContent";
|
||
var PopoverContent = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);
|
||
const { forceMount = portalContext.forceMount, ...contentProps } = props;
|
||
const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$presence$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Presence"], {
|
||
present: forceMount || context.open,
|
||
children: context.modal ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(PopoverContentModal, {
|
||
...contentProps,
|
||
ref: forwardedRef
|
||
}) : /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(PopoverContentNonModal, {
|
||
...contentProps,
|
||
ref: forwardedRef
|
||
})
|
||
});
|
||
});
|
||
PopoverContent.displayName = CONTENT_NAME;
|
||
var Slot = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popover$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$slot$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createSlot"])("PopoverContent.RemoveScroll");
|
||
var PopoverContentModal = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);
|
||
const contentRef = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, contentRef);
|
||
const isRightClickOutsideRef = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](false);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"PopoverContentModal.useEffect": ()=>{
|
||
const content = contentRef.current;
|
||
if (content) return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$aria$2d$hidden$2f$dist$2f$es2015$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["hideOthers"])(content);
|
||
}
|
||
}["PopoverContentModal.useEffect"], []);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$react$2d$remove$2d$scroll$2f$dist$2f$es2015$2f$Combination$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__RemoveScroll$3e$__["RemoveScroll"], {
|
||
as: Slot,
|
||
allowPinchZoom: true,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(PopoverContentImpl, {
|
||
...props,
|
||
ref: composedRefs,
|
||
trapFocus: context.open,
|
||
disableOutsidePointerEvents: true,
|
||
onCloseAutoFocus: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onCloseAutoFocus, (event)=>{
|
||
event.preventDefault();
|
||
if (!isRightClickOutsideRef.current) context.triggerRef.current?.focus();
|
||
}),
|
||
onPointerDownOutside: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onPointerDownOutside, (event)=>{
|
||
const originalEvent = event.detail.originalEvent;
|
||
const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
|
||
const isRightClick = originalEvent.button === 2 || ctrlLeftClick;
|
||
isRightClickOutsideRef.current = isRightClick;
|
||
}, {
|
||
checkForDefaultPrevented: false
|
||
}),
|
||
onFocusOutside: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onFocusOutside, (event)=>event.preventDefault(), {
|
||
checkForDefaultPrevented: false
|
||
})
|
||
})
|
||
});
|
||
});
|
||
var PopoverContentNonModal = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);
|
||
const hasInteractedOutsideRef = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](false);
|
||
const hasPointerDownOutsideRef = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](false);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(PopoverContentImpl, {
|
||
...props,
|
||
ref: forwardedRef,
|
||
trapFocus: false,
|
||
disableOutsidePointerEvents: false,
|
||
onCloseAutoFocus: (event)=>{
|
||
props.onCloseAutoFocus?.(event);
|
||
if (!event.defaultPrevented) {
|
||
if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();
|
||
event.preventDefault();
|
||
}
|
||
hasInteractedOutsideRef.current = false;
|
||
hasPointerDownOutsideRef.current = false;
|
||
},
|
||
onInteractOutside: (event)=>{
|
||
props.onInteractOutside?.(event);
|
||
if (!event.defaultPrevented) {
|
||
hasInteractedOutsideRef.current = true;
|
||
if (event.detail.originalEvent.type === "pointerdown") {
|
||
hasPointerDownOutsideRef.current = true;
|
||
}
|
||
}
|
||
const target = event.target;
|
||
const targetIsTrigger = context.triggerRef.current?.contains(target);
|
||
if (targetIsTrigger) event.preventDefault();
|
||
if (event.detail.originalEvent.type === "focusin" && hasPointerDownOutsideRef.current) {
|
||
event.preventDefault();
|
||
}
|
||
}
|
||
});
|
||
});
|
||
var PopoverContentImpl = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopePopover, trapFocus, onOpenAutoFocus, onCloseAutoFocus, disableOutsidePointerEvents, onEscapeKeyDown, onPointerDownOutside, onFocusOutside, onInteractOutside, ...contentProps } = props;
|
||
const context = usePopoverContext(CONTENT_NAME, __scopePopover);
|
||
const popperScope = usePopperScope(__scopePopover);
|
||
(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$focus$2d$guards$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useFocusGuards"])();
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$focus$2d$scope$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["FocusScope"], {
|
||
asChild: true,
|
||
loop: true,
|
||
trapped: trapFocus,
|
||
onMountAutoFocus: onOpenAutoFocus,
|
||
onUnmountAutoFocus: onCloseAutoFocus,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$dismissable$2d$layer$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["DismissableLayer"], {
|
||
asChild: true,
|
||
disableOutsidePointerEvents,
|
||
onInteractOutside,
|
||
onEscapeKeyDown,
|
||
onPointerDownOutside,
|
||
onFocusOutside,
|
||
onDismiss: ()=>context.onOpenChange(false),
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Content"], {
|
||
"data-state": getState(context.open),
|
||
role: "dialog",
|
||
id: context.contentId,
|
||
...popperScope,
|
||
...contentProps,
|
||
ref: forwardedRef,
|
||
style: {
|
||
...contentProps.style,
|
||
// re-namespace exposed content custom properties
|
||
...{
|
||
"--radix-popover-content-transform-origin": "var(--radix-popper-transform-origin)",
|
||
"--radix-popover-content-available-width": "var(--radix-popper-available-width)",
|
||
"--radix-popover-content-available-height": "var(--radix-popper-available-height)",
|
||
"--radix-popover-trigger-width": "var(--radix-popper-anchor-width)",
|
||
"--radix-popover-trigger-height": "var(--radix-popper-anchor-height)"
|
||
}
|
||
}
|
||
})
|
||
})
|
||
});
|
||
});
|
||
var CLOSE_NAME = "PopoverClose";
|
||
var PopoverClose = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopePopover, ...closeProps } = props;
|
||
const context = usePopoverContext(CLOSE_NAME, __scopePopover);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popover$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].button, {
|
||
type: "button",
|
||
...closeProps,
|
||
ref: forwardedRef,
|
||
onClick: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onClick, ()=>context.onOpenChange(false))
|
||
});
|
||
});
|
||
PopoverClose.displayName = CLOSE_NAME;
|
||
var ARROW_NAME = "PopoverArrow";
|
||
var PopoverArrow = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopePopover, ...arrowProps } = props;
|
||
const popperScope = usePopperScope(__scopePopover);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Arrow"], {
|
||
...popperScope,
|
||
...arrowProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
PopoverArrow.displayName = ARROW_NAME;
|
||
function getState(open) {
|
||
return open ? "open" : "closed";
|
||
}
|
||
var Root2 = Popover;
|
||
var Anchor2 = PopoverAnchor;
|
||
var Trigger = PopoverTrigger;
|
||
var Portal = PopoverPortal;
|
||
var Content2 = PopoverContent;
|
||
var Close = PopoverClose;
|
||
var Arrow2 = PopoverArrow;
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Root",
|
||
()=>Slot,
|
||
"Slot",
|
||
()=>Slot,
|
||
"Slottable",
|
||
()=>Slottable,
|
||
"createSlot",
|
||
()=>createSlot,
|
||
"createSlottable",
|
||
()=>createSlottable
|
||
]);
|
||
// src/slot.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-compose-refs/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
;
|
||
;
|
||
;
|
||
// @__NO_SIDE_EFFECTS__
|
||
function createSlot(ownerName) {
|
||
const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
|
||
const Slot2 = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { children, ...slotProps } = props;
|
||
const childrenArray = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].toArray(children);
|
||
const slottable = childrenArray.find(isSlottable);
|
||
if (slottable) {
|
||
const newElement = slottable.props.children;
|
||
const newChildren = childrenArray.map((child)=>{
|
||
if (child === slottable) {
|
||
if (__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].count(newElement) > 1) return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].only(null);
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isValidElement"](newElement) ? newElement.props.children : null;
|
||
} else {
|
||
return child;
|
||
}
|
||
});
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SlotClone, {
|
||
...slotProps,
|
||
ref: forwardedRef,
|
||
children: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isValidElement"](newElement) ? __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["cloneElement"](newElement, void 0, newChildren) : null
|
||
});
|
||
}
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SlotClone, {
|
||
...slotProps,
|
||
ref: forwardedRef,
|
||
children
|
||
});
|
||
});
|
||
Slot2.displayName = `${ownerName}.Slot`;
|
||
return Slot2;
|
||
}
|
||
var Slot = /* @__PURE__ */ createSlot("Slot");
|
||
// @__NO_SIDE_EFFECTS__
|
||
function createSlotClone(ownerName) {
|
||
const SlotClone = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { children, ...slotProps } = props;
|
||
if (__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isValidElement"](children)) {
|
||
const childrenRef = getElementRef(children);
|
||
const props2 = mergeProps(slotProps, children.props);
|
||
if (children.type !== __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Fragment"]) {
|
||
props2.ref = forwardedRef ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeRefs"])(forwardedRef, childrenRef) : childrenRef;
|
||
}
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["cloneElement"](children, props2);
|
||
}
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].count(children) > 1 ? __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].only(null) : null;
|
||
});
|
||
SlotClone.displayName = `${ownerName}.SlotClone`;
|
||
return SlotClone;
|
||
}
|
||
var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
|
||
// @__NO_SIDE_EFFECTS__
|
||
function createSlottable(ownerName) {
|
||
const Slottable2 = ({ children })=>{
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Fragment"], {
|
||
children
|
||
});
|
||
};
|
||
Slottable2.displayName = `${ownerName}.Slottable`;
|
||
Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
|
||
return Slottable2;
|
||
}
|
||
var Slottable = /* @__PURE__ */ createSlottable("Slottable");
|
||
function isSlottable(child) {
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isValidElement"](child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
|
||
}
|
||
function mergeProps(slotProps, childProps) {
|
||
const overrideProps = {
|
||
...childProps
|
||
};
|
||
for(const propName in childProps){
|
||
const slotPropValue = slotProps[propName];
|
||
const childPropValue = childProps[propName];
|
||
const isHandler = /^on[A-Z]/.test(propName);
|
||
if (isHandler) {
|
||
if (slotPropValue && childPropValue) {
|
||
overrideProps[propName] = (...args)=>{
|
||
const result = childPropValue(...args);
|
||
slotPropValue(...args);
|
||
return result;
|
||
};
|
||
} else if (slotPropValue) {
|
||
overrideProps[propName] = slotPropValue;
|
||
}
|
||
} else if (propName === "style") {
|
||
overrideProps[propName] = {
|
||
...slotPropValue,
|
||
...childPropValue
|
||
};
|
||
} else if (propName === "className") {
|
||
overrideProps[propName] = [
|
||
slotPropValue,
|
||
childPropValue
|
||
].filter(Boolean).join(" ");
|
||
}
|
||
}
|
||
return {
|
||
...slotProps,
|
||
...overrideProps
|
||
};
|
||
}
|
||
function getElementRef(element) {
|
||
let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
|
||
let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
||
if (mayWarn) {
|
||
return element.ref;
|
||
}
|
||
getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
|
||
mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
||
if (mayWarn) {
|
||
return element.props.ref;
|
||
}
|
||
return element.props.ref || element.ref;
|
||
}
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-primitive/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Primitive",
|
||
()=>Primitive,
|
||
"Root",
|
||
()=>Root,
|
||
"dispatchDiscreteCustomEvent",
|
||
()=>dispatchDiscreteCustomEvent
|
||
]);
|
||
// src/primitive.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2d$dom$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react-dom/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$scroll$2d$area$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$slot$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
;
|
||
;
|
||
;
|
||
;
|
||
var NODES = [
|
||
"a",
|
||
"button",
|
||
"div",
|
||
"form",
|
||
"h2",
|
||
"h3",
|
||
"img",
|
||
"input",
|
||
"label",
|
||
"li",
|
||
"nav",
|
||
"ol",
|
||
"p",
|
||
"select",
|
||
"span",
|
||
"svg",
|
||
"ul"
|
||
];
|
||
var Primitive = NODES.reduce((primitive, node)=>{
|
||
const Slot = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$scroll$2d$area$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$slot$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createSlot"])(`Primitive.${node}`);
|
||
const Node = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { asChild, ...primitiveProps } = props;
|
||
const Comp = asChild ? Slot : node;
|
||
if (typeof window !== "undefined") {
|
||
window[Symbol.for("radix-ui")] = true;
|
||
}
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Comp, {
|
||
...primitiveProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
Node.displayName = `Primitive.${node}`;
|
||
return {
|
||
...primitive,
|
||
[node]: Node
|
||
};
|
||
}, {});
|
||
function dispatchDiscreteCustomEvent(target, event) {
|
||
if (target) __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2d$dom$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["flushSync"](()=>target.dispatchEvent(event));
|
||
}
|
||
var Root = Primitive;
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-context/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"createContext",
|
||
()=>createContext2,
|
||
"createContextScope",
|
||
()=>createContextScope
|
||
]);
|
||
// packages/react/context/src/create-context.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
;
|
||
;
|
||
function createContext2(rootComponentName, defaultContext) {
|
||
const Context = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContext"](defaultContext);
|
||
const Provider = (props)=>{
|
||
const { children, ...context } = props;
|
||
const value = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"]({
|
||
"createContext2.Provider.useMemo[value]": ()=>context
|
||
}["createContext2.Provider.useMemo[value]"], Object.values(context));
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Context.Provider, {
|
||
value,
|
||
children
|
||
});
|
||
};
|
||
Provider.displayName = rootComponentName + "Provider";
|
||
function useContext2(consumerName) {
|
||
const context = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useContext"](Context);
|
||
if (context) return context;
|
||
if (defaultContext !== void 0) return defaultContext;
|
||
throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
|
||
}
|
||
return [
|
||
Provider,
|
||
useContext2
|
||
];
|
||
}
|
||
function createContextScope(scopeName, createContextScopeDeps = []) {
|
||
let defaultContexts = [];
|
||
function createContext3(rootComponentName, defaultContext) {
|
||
const BaseContext = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContext"](defaultContext);
|
||
const index = defaultContexts.length;
|
||
defaultContexts = [
|
||
...defaultContexts,
|
||
defaultContext
|
||
];
|
||
const Provider = (props)=>{
|
||
const { scope, children, ...context } = props;
|
||
const Context = scope?.[scopeName]?.[index] || BaseContext;
|
||
const value = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"]({
|
||
"createContextScope.createContext3.Provider.useMemo[value]": ()=>context
|
||
}["createContextScope.createContext3.Provider.useMemo[value]"], Object.values(context));
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Context.Provider, {
|
||
value,
|
||
children
|
||
});
|
||
};
|
||
Provider.displayName = rootComponentName + "Provider";
|
||
function useContext2(consumerName, scope) {
|
||
const Context = scope?.[scopeName]?.[index] || BaseContext;
|
||
const context = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useContext"](Context);
|
||
if (context) return context;
|
||
if (defaultContext !== void 0) return defaultContext;
|
||
throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
|
||
}
|
||
return [
|
||
Provider,
|
||
useContext2
|
||
];
|
||
}
|
||
const createScope = ()=>{
|
||
const scopeContexts = defaultContexts.map((defaultContext)=>{
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContext"](defaultContext);
|
||
});
|
||
return function useScope(scope) {
|
||
const contexts = scope?.[scopeName] || scopeContexts;
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"]({
|
||
"createContextScope.createScope.useScope.useMemo": ()=>({
|
||
[`__scope${scopeName}`]: {
|
||
...scope,
|
||
[scopeName]: contexts
|
||
}
|
||
})
|
||
}["createContextScope.createScope.useScope.useMemo"], [
|
||
scope,
|
||
contexts
|
||
]);
|
||
};
|
||
};
|
||
createScope.scopeName = scopeName;
|
||
return [
|
||
createContext3,
|
||
composeContextScopes(createScope, ...createContextScopeDeps)
|
||
];
|
||
}
|
||
function composeContextScopes(...scopes) {
|
||
const baseScope = scopes[0];
|
||
if (scopes.length === 1) return baseScope;
|
||
const createScope = ()=>{
|
||
const scopeHooks = scopes.map((createScope2)=>({
|
||
useScope: createScope2(),
|
||
scopeName: createScope2.scopeName
|
||
}));
|
||
return function useComposedScopes(overrideScopes) {
|
||
const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName })=>{
|
||
const scopeProps = useScope(overrideScopes);
|
||
const currentScope = scopeProps[`__scope${scopeName}`];
|
||
return {
|
||
...nextScopes2,
|
||
...currentScope
|
||
};
|
||
}, {});
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"]({
|
||
"composeContextScopes.createScope.useComposedScopes.useMemo": ()=>({
|
||
[`__scope${baseScope.scopeName}`]: nextScopes
|
||
})
|
||
}["composeContextScopes.createScope.useComposedScopes.useMemo"], [
|
||
nextScopes
|
||
]);
|
||
};
|
||
};
|
||
createScope.scopeName = baseScope.scopeName;
|
||
return createScope;
|
||
}
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/node_modules/@radix-ui/number/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"clamp",
|
||
()=>clamp
|
||
]);
|
||
// packages/core/number/src/number.ts
|
||
function clamp(value, [min, max]) {
|
||
return Math.min(max, Math.max(min, value));
|
||
}
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/node_modules/@radix-ui/react-scroll-area/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Corner",
|
||
()=>Corner,
|
||
"Root",
|
||
()=>Root,
|
||
"ScrollArea",
|
||
()=>ScrollArea,
|
||
"ScrollAreaCorner",
|
||
()=>ScrollAreaCorner,
|
||
"ScrollAreaScrollbar",
|
||
()=>ScrollAreaScrollbar,
|
||
"ScrollAreaThumb",
|
||
()=>ScrollAreaThumb,
|
||
"ScrollAreaViewport",
|
||
()=>ScrollAreaViewport,
|
||
"Scrollbar",
|
||
()=>Scrollbar,
|
||
"Thumb",
|
||
()=>Thumb,
|
||
"Viewport",
|
||
()=>Viewport,
|
||
"createScrollAreaScope",
|
||
()=>createScrollAreaScope
|
||
]);
|
||
// src/scroll-area.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$scroll$2d$area$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-primitive/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$presence$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-presence/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$scroll$2d$area$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$context$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-context/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-compose-refs/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$callback$2d$ref$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$direction$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-direction/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$number$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/number/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/primitive/dist/index.mjs [app-client] (ecmascript)");
|
||
// src/scroll-area.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
"use client";
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
function useStateMachine(initialState, machine) {
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useReducer"]({
|
||
"useStateMachine.useReducer": (state, event)=>{
|
||
const nextState = machine[state][event];
|
||
return nextState ?? state;
|
||
}
|
||
}["useStateMachine.useReducer"], initialState);
|
||
}
|
||
;
|
||
var SCROLL_AREA_NAME = "ScrollArea";
|
||
var [createScrollAreaContext, createScrollAreaScope] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$scroll$2d$area$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$context$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContextScope"])(SCROLL_AREA_NAME);
|
||
var [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);
|
||
var ScrollArea = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeScrollArea, type = "hover", dir, scrollHideDelay = 600, ...scrollAreaProps } = props;
|
||
const [scrollArea, setScrollArea] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const [viewport, setViewport] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const [content, setContent] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const [scrollbarX, setScrollbarX] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const [scrollbarY, setScrollbarY] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const [cornerWidth, setCornerWidth] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](0);
|
||
const [cornerHeight, setCornerHeight] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](0);
|
||
const [scrollbarXEnabled, setScrollbarXEnabled] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](false);
|
||
const [scrollbarYEnabled, setScrollbarYEnabled] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](false);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, {
|
||
"ScrollArea.useComposedRefs[composedRefs]": (node)=>setScrollArea(node)
|
||
}["ScrollArea.useComposedRefs[composedRefs]"]);
|
||
const direction = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$direction$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useDirection"])(dir);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaProvider, {
|
||
scope: __scopeScrollArea,
|
||
type,
|
||
dir: direction,
|
||
scrollHideDelay,
|
||
scrollArea,
|
||
viewport,
|
||
onViewportChange: setViewport,
|
||
content,
|
||
onContentChange: setContent,
|
||
scrollbarX,
|
||
onScrollbarXChange: setScrollbarX,
|
||
scrollbarXEnabled,
|
||
onScrollbarXEnabledChange: setScrollbarXEnabled,
|
||
scrollbarY,
|
||
onScrollbarYChange: setScrollbarY,
|
||
scrollbarYEnabled,
|
||
onScrollbarYEnabledChange: setScrollbarYEnabled,
|
||
onCornerWidthChange: setCornerWidth,
|
||
onCornerHeightChange: setCornerHeight,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$scroll$2d$area$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].div, {
|
||
dir: direction,
|
||
...scrollAreaProps,
|
||
ref: composedRefs,
|
||
style: {
|
||
position: "relative",
|
||
// Pass corner sizes as CSS vars to reduce re-renders of context consumers
|
||
["--radix-scroll-area-corner-width"]: cornerWidth + "px",
|
||
["--radix-scroll-area-corner-height"]: cornerHeight + "px",
|
||
...props.style
|
||
}
|
||
})
|
||
});
|
||
});
|
||
ScrollArea.displayName = SCROLL_AREA_NAME;
|
||
var VIEWPORT_NAME = "ScrollAreaViewport";
|
||
var ScrollAreaViewport = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeScrollArea, children, nonce, ...viewportProps } = props;
|
||
const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);
|
||
const ref = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, ref, context.onViewportChange);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxs"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Fragment"], {
|
||
children: [
|
||
/* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])("style", {
|
||
dangerouslySetInnerHTML: {
|
||
__html: `[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`
|
||
},
|
||
nonce
|
||
}),
|
||
/* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$scroll$2d$area$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].div, {
|
||
"data-radix-scroll-area-viewport": "",
|
||
...viewportProps,
|
||
ref: composedRefs,
|
||
style: {
|
||
/**
|
||
* We don't support `visible` because the intention is to have at least one scrollbar
|
||
* if this component is used and `visible` will behave like `auto` in that case
|
||
* https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description
|
||
*
|
||
* We don't handle `auto` because the intention is for the native implementation
|
||
* to be hidden if using this component. We just want to ensure the node is scrollable
|
||
* so could have used either `scroll` or `auto` here. We picked `scroll` to prevent
|
||
* the browser from having to work out whether to render native scrollbars or not,
|
||
* we tell it to with the intention of hiding them in CSS.
|
||
*/ overflowX: context.scrollbarXEnabled ? "scroll" : "hidden",
|
||
overflowY: context.scrollbarYEnabled ? "scroll" : "hidden",
|
||
...props.style
|
||
},
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])("div", {
|
||
ref: context.onContentChange,
|
||
style: {
|
||
minWidth: "100%",
|
||
display: "table"
|
||
},
|
||
children
|
||
})
|
||
})
|
||
]
|
||
});
|
||
});
|
||
ScrollAreaViewport.displayName = VIEWPORT_NAME;
|
||
var SCROLLBAR_NAME = "ScrollAreaScrollbar";
|
||
var ScrollAreaScrollbar = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { forceMount, ...scrollbarProps } = props;
|
||
const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
|
||
const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;
|
||
const isHorizontal = props.orientation === "horizontal";
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"ScrollAreaScrollbar.useEffect": ()=>{
|
||
isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);
|
||
return ({
|
||
"ScrollAreaScrollbar.useEffect": ()=>{
|
||
isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);
|
||
}
|
||
})["ScrollAreaScrollbar.useEffect"];
|
||
}
|
||
}["ScrollAreaScrollbar.useEffect"], [
|
||
isHorizontal,
|
||
onScrollbarXEnabledChange,
|
||
onScrollbarYEnabledChange
|
||
]);
|
||
return context.type === "hover" ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaScrollbarHover, {
|
||
...scrollbarProps,
|
||
ref: forwardedRef,
|
||
forceMount
|
||
}) : context.type === "scroll" ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaScrollbarScroll, {
|
||
...scrollbarProps,
|
||
ref: forwardedRef,
|
||
forceMount
|
||
}) : context.type === "auto" ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaScrollbarAuto, {
|
||
...scrollbarProps,
|
||
ref: forwardedRef,
|
||
forceMount
|
||
}) : context.type === "always" ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaScrollbarVisible, {
|
||
...scrollbarProps,
|
||
ref: forwardedRef
|
||
}) : null;
|
||
});
|
||
ScrollAreaScrollbar.displayName = SCROLLBAR_NAME;
|
||
var ScrollAreaScrollbarHover = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { forceMount, ...scrollbarProps } = props;
|
||
const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
|
||
const [visible, setVisible] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](false);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"ScrollAreaScrollbarHover.useEffect": ()=>{
|
||
const scrollArea = context.scrollArea;
|
||
let hideTimer = 0;
|
||
if (scrollArea) {
|
||
const handlePointerEnter = {
|
||
"ScrollAreaScrollbarHover.useEffect.handlePointerEnter": ()=>{
|
||
window.clearTimeout(hideTimer);
|
||
setVisible(true);
|
||
}
|
||
}["ScrollAreaScrollbarHover.useEffect.handlePointerEnter"];
|
||
const handlePointerLeave = {
|
||
"ScrollAreaScrollbarHover.useEffect.handlePointerLeave": ()=>{
|
||
hideTimer = window.setTimeout({
|
||
"ScrollAreaScrollbarHover.useEffect.handlePointerLeave": ()=>setVisible(false)
|
||
}["ScrollAreaScrollbarHover.useEffect.handlePointerLeave"], context.scrollHideDelay);
|
||
}
|
||
}["ScrollAreaScrollbarHover.useEffect.handlePointerLeave"];
|
||
scrollArea.addEventListener("pointerenter", handlePointerEnter);
|
||
scrollArea.addEventListener("pointerleave", handlePointerLeave);
|
||
return ({
|
||
"ScrollAreaScrollbarHover.useEffect": ()=>{
|
||
window.clearTimeout(hideTimer);
|
||
scrollArea.removeEventListener("pointerenter", handlePointerEnter);
|
||
scrollArea.removeEventListener("pointerleave", handlePointerLeave);
|
||
}
|
||
})["ScrollAreaScrollbarHover.useEffect"];
|
||
}
|
||
}
|
||
}["ScrollAreaScrollbarHover.useEffect"], [
|
||
context.scrollArea,
|
||
context.scrollHideDelay
|
||
]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$presence$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Presence"], {
|
||
present: forceMount || visible,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaScrollbarAuto, {
|
||
"data-state": visible ? "visible" : "hidden",
|
||
...scrollbarProps,
|
||
ref: forwardedRef
|
||
})
|
||
});
|
||
});
|
||
var ScrollAreaScrollbarScroll = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { forceMount, ...scrollbarProps } = props;
|
||
const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
|
||
const isHorizontal = props.orientation === "horizontal";
|
||
const debounceScrollEnd = useDebounceCallback({
|
||
"ScrollAreaScrollbarScroll.useDebounceCallback[debounceScrollEnd]": ()=>send("SCROLL_END")
|
||
}["ScrollAreaScrollbarScroll.useDebounceCallback[debounceScrollEnd]"], 100);
|
||
const [state, send] = useStateMachine("hidden", {
|
||
hidden: {
|
||
SCROLL: "scrolling"
|
||
},
|
||
scrolling: {
|
||
SCROLL_END: "idle",
|
||
POINTER_ENTER: "interacting"
|
||
},
|
||
interacting: {
|
||
SCROLL: "interacting",
|
||
POINTER_LEAVE: "idle"
|
||
},
|
||
idle: {
|
||
HIDE: "hidden",
|
||
SCROLL: "scrolling",
|
||
POINTER_ENTER: "interacting"
|
||
}
|
||
});
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"ScrollAreaScrollbarScroll.useEffect": ()=>{
|
||
if (state === "idle") {
|
||
const hideTimer = window.setTimeout({
|
||
"ScrollAreaScrollbarScroll.useEffect.hideTimer": ()=>send("HIDE")
|
||
}["ScrollAreaScrollbarScroll.useEffect.hideTimer"], context.scrollHideDelay);
|
||
return ({
|
||
"ScrollAreaScrollbarScroll.useEffect": ()=>window.clearTimeout(hideTimer)
|
||
})["ScrollAreaScrollbarScroll.useEffect"];
|
||
}
|
||
}
|
||
}["ScrollAreaScrollbarScroll.useEffect"], [
|
||
state,
|
||
context.scrollHideDelay,
|
||
send
|
||
]);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"ScrollAreaScrollbarScroll.useEffect": ()=>{
|
||
const viewport = context.viewport;
|
||
const scrollDirection = isHorizontal ? "scrollLeft" : "scrollTop";
|
||
if (viewport) {
|
||
let prevScrollPos = viewport[scrollDirection];
|
||
const handleScroll = {
|
||
"ScrollAreaScrollbarScroll.useEffect.handleScroll": ()=>{
|
||
const scrollPos = viewport[scrollDirection];
|
||
const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;
|
||
if (hasScrollInDirectionChanged) {
|
||
send("SCROLL");
|
||
debounceScrollEnd();
|
||
}
|
||
prevScrollPos = scrollPos;
|
||
}
|
||
}["ScrollAreaScrollbarScroll.useEffect.handleScroll"];
|
||
viewport.addEventListener("scroll", handleScroll);
|
||
return ({
|
||
"ScrollAreaScrollbarScroll.useEffect": ()=>viewport.removeEventListener("scroll", handleScroll)
|
||
})["ScrollAreaScrollbarScroll.useEffect"];
|
||
}
|
||
}
|
||
}["ScrollAreaScrollbarScroll.useEffect"], [
|
||
context.viewport,
|
||
isHorizontal,
|
||
send,
|
||
debounceScrollEnd
|
||
]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$presence$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Presence"], {
|
||
present: forceMount || state !== "hidden",
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaScrollbarVisible, {
|
||
"data-state": state === "hidden" ? "hidden" : "visible",
|
||
...scrollbarProps,
|
||
ref: forwardedRef,
|
||
onPointerEnter: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onPointerEnter, ()=>send("POINTER_ENTER")),
|
||
onPointerLeave: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onPointerLeave, ()=>send("POINTER_LEAVE"))
|
||
})
|
||
});
|
||
});
|
||
var ScrollAreaScrollbarAuto = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
|
||
const { forceMount, ...scrollbarProps } = props;
|
||
const [visible, setVisible] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](false);
|
||
const isHorizontal = props.orientation === "horizontal";
|
||
const handleResize = useDebounceCallback({
|
||
"ScrollAreaScrollbarAuto.useDebounceCallback[handleResize]": ()=>{
|
||
if (context.viewport) {
|
||
const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;
|
||
const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;
|
||
setVisible(isHorizontal ? isOverflowX : isOverflowY);
|
||
}
|
||
}
|
||
}["ScrollAreaScrollbarAuto.useDebounceCallback[handleResize]"], 10);
|
||
useResizeObserver(context.viewport, handleResize);
|
||
useResizeObserver(context.content, handleResize);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$presence$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Presence"], {
|
||
present: forceMount || visible,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaScrollbarVisible, {
|
||
"data-state": visible ? "visible" : "hidden",
|
||
...scrollbarProps,
|
||
ref: forwardedRef
|
||
})
|
||
});
|
||
});
|
||
var ScrollAreaScrollbarVisible = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { orientation = "vertical", ...scrollbarProps } = props;
|
||
const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
|
||
const thumbRef = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const pointerOffsetRef = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](0);
|
||
const [sizes, setSizes] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"]({
|
||
content: 0,
|
||
viewport: 0,
|
||
scrollbar: {
|
||
size: 0,
|
||
paddingStart: 0,
|
||
paddingEnd: 0
|
||
}
|
||
});
|
||
const thumbRatio = getThumbRatio(sizes.viewport, sizes.content);
|
||
const commonProps = {
|
||
...scrollbarProps,
|
||
sizes,
|
||
onSizesChange: setSizes,
|
||
hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),
|
||
onThumbChange: (thumb)=>thumbRef.current = thumb,
|
||
onThumbPointerUp: ()=>pointerOffsetRef.current = 0,
|
||
onThumbPointerDown: (pointerPos)=>pointerOffsetRef.current = pointerPos
|
||
};
|
||
function getScrollPosition(pointerPos, dir) {
|
||
return getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);
|
||
}
|
||
if (orientation === "horizontal") {
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaScrollbarX, {
|
||
...commonProps,
|
||
ref: forwardedRef,
|
||
onThumbPositionChange: ()=>{
|
||
if (context.viewport && thumbRef.current) {
|
||
const scrollPos = context.viewport.scrollLeft;
|
||
const offset = getThumbOffsetFromScroll(scrollPos, sizes, context.dir);
|
||
thumbRef.current.style.transform = `translate3d(${offset}px, 0, 0)`;
|
||
}
|
||
},
|
||
onWheelScroll: (scrollPos)=>{
|
||
if (context.viewport) context.viewport.scrollLeft = scrollPos;
|
||
},
|
||
onDragScroll: (pointerPos)=>{
|
||
if (context.viewport) {
|
||
context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);
|
||
}
|
||
}
|
||
});
|
||
}
|
||
if (orientation === "vertical") {
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaScrollbarY, {
|
||
...commonProps,
|
||
ref: forwardedRef,
|
||
onThumbPositionChange: ()=>{
|
||
if (context.viewport && thumbRef.current) {
|
||
const scrollPos = context.viewport.scrollTop;
|
||
const offset = getThumbOffsetFromScroll(scrollPos, sizes);
|
||
thumbRef.current.style.transform = `translate3d(0, ${offset}px, 0)`;
|
||
}
|
||
},
|
||
onWheelScroll: (scrollPos)=>{
|
||
if (context.viewport) context.viewport.scrollTop = scrollPos;
|
||
},
|
||
onDragScroll: (pointerPos)=>{
|
||
if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);
|
||
}
|
||
});
|
||
}
|
||
return null;
|
||
});
|
||
var ScrollAreaScrollbarX = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { sizes, onSizesChange, ...scrollbarProps } = props;
|
||
const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
|
||
const [computedStyle, setComputedStyle] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"]();
|
||
const ref = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const composeRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, ref, context.onScrollbarXChange);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"ScrollAreaScrollbarX.useEffect": ()=>{
|
||
if (ref.current) setComputedStyle(getComputedStyle(ref.current));
|
||
}
|
||
}["ScrollAreaScrollbarX.useEffect"], [
|
||
ref
|
||
]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaScrollbarImpl, {
|
||
"data-orientation": "horizontal",
|
||
...scrollbarProps,
|
||
ref: composeRefs,
|
||
sizes,
|
||
style: {
|
||
bottom: 0,
|
||
left: context.dir === "rtl" ? "var(--radix-scroll-area-corner-width)" : 0,
|
||
right: context.dir === "ltr" ? "var(--radix-scroll-area-corner-width)" : 0,
|
||
["--radix-scroll-area-thumb-width"]: getThumbSize(sizes) + "px",
|
||
...props.style
|
||
},
|
||
onThumbPointerDown: (pointerPos)=>props.onThumbPointerDown(pointerPos.x),
|
||
onDragScroll: (pointerPos)=>props.onDragScroll(pointerPos.x),
|
||
onWheelScroll: (event, maxScrollPos)=>{
|
||
if (context.viewport) {
|
||
const scrollPos = context.viewport.scrollLeft + event.deltaX;
|
||
props.onWheelScroll(scrollPos);
|
||
if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {
|
||
event.preventDefault();
|
||
}
|
||
}
|
||
},
|
||
onResize: ()=>{
|
||
if (ref.current && context.viewport && computedStyle) {
|
||
onSizesChange({
|
||
content: context.viewport.scrollWidth,
|
||
viewport: context.viewport.offsetWidth,
|
||
scrollbar: {
|
||
size: ref.current.clientWidth,
|
||
paddingStart: toInt(computedStyle.paddingLeft),
|
||
paddingEnd: toInt(computedStyle.paddingRight)
|
||
}
|
||
});
|
||
}
|
||
}
|
||
});
|
||
});
|
||
var ScrollAreaScrollbarY = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { sizes, onSizesChange, ...scrollbarProps } = props;
|
||
const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
|
||
const [computedStyle, setComputedStyle] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"]();
|
||
const ref = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const composeRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, ref, context.onScrollbarYChange);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"ScrollAreaScrollbarY.useEffect": ()=>{
|
||
if (ref.current) setComputedStyle(getComputedStyle(ref.current));
|
||
}
|
||
}["ScrollAreaScrollbarY.useEffect"], [
|
||
ref
|
||
]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaScrollbarImpl, {
|
||
"data-orientation": "vertical",
|
||
...scrollbarProps,
|
||
ref: composeRefs,
|
||
sizes,
|
||
style: {
|
||
top: 0,
|
||
right: context.dir === "ltr" ? 0 : void 0,
|
||
left: context.dir === "rtl" ? 0 : void 0,
|
||
bottom: "var(--radix-scroll-area-corner-height)",
|
||
["--radix-scroll-area-thumb-height"]: getThumbSize(sizes) + "px",
|
||
...props.style
|
||
},
|
||
onThumbPointerDown: (pointerPos)=>props.onThumbPointerDown(pointerPos.y),
|
||
onDragScroll: (pointerPos)=>props.onDragScroll(pointerPos.y),
|
||
onWheelScroll: (event, maxScrollPos)=>{
|
||
if (context.viewport) {
|
||
const scrollPos = context.viewport.scrollTop + event.deltaY;
|
||
props.onWheelScroll(scrollPos);
|
||
if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {
|
||
event.preventDefault();
|
||
}
|
||
}
|
||
},
|
||
onResize: ()=>{
|
||
if (ref.current && context.viewport && computedStyle) {
|
||
onSizesChange({
|
||
content: context.viewport.scrollHeight,
|
||
viewport: context.viewport.offsetHeight,
|
||
scrollbar: {
|
||
size: ref.current.clientHeight,
|
||
paddingStart: toInt(computedStyle.paddingTop),
|
||
paddingEnd: toInt(computedStyle.paddingBottom)
|
||
}
|
||
});
|
||
}
|
||
}
|
||
});
|
||
});
|
||
var [ScrollbarProvider, useScrollbarContext] = createScrollAreaContext(SCROLLBAR_NAME);
|
||
var ScrollAreaScrollbarImpl = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeScrollArea, sizes, hasThumb, onThumbChange, onThumbPointerUp, onThumbPointerDown, onThumbPositionChange, onDragScroll, onWheelScroll, onResize, ...scrollbarProps } = props;
|
||
const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);
|
||
const [scrollbar, setScrollbar] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const composeRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, {
|
||
"ScrollAreaScrollbarImpl.useComposedRefs[composeRefs]": (node)=>setScrollbar(node)
|
||
}["ScrollAreaScrollbarImpl.useComposedRefs[composeRefs]"]);
|
||
const rectRef = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const prevWebkitUserSelectRef = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"]("");
|
||
const viewport = context.viewport;
|
||
const maxScrollPos = sizes.content - sizes.viewport;
|
||
const handleWheelScroll = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$callback$2d$ref$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallbackRef"])(onWheelScroll);
|
||
const handleThumbPositionChange = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$callback$2d$ref$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallbackRef"])(onThumbPositionChange);
|
||
const handleResize = useDebounceCallback(onResize, 10);
|
||
function handleDragScroll(event) {
|
||
if (rectRef.current) {
|
||
const x = event.clientX - rectRef.current.left;
|
||
const y = event.clientY - rectRef.current.top;
|
||
onDragScroll({
|
||
x,
|
||
y
|
||
});
|
||
}
|
||
}
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"ScrollAreaScrollbarImpl.useEffect": ()=>{
|
||
const handleWheel = {
|
||
"ScrollAreaScrollbarImpl.useEffect.handleWheel": (event)=>{
|
||
const element = event.target;
|
||
const isScrollbarWheel = scrollbar?.contains(element);
|
||
if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);
|
||
}
|
||
}["ScrollAreaScrollbarImpl.useEffect.handleWheel"];
|
||
document.addEventListener("wheel", handleWheel, {
|
||
passive: false
|
||
});
|
||
return ({
|
||
"ScrollAreaScrollbarImpl.useEffect": ()=>document.removeEventListener("wheel", handleWheel, {
|
||
passive: false
|
||
})
|
||
})["ScrollAreaScrollbarImpl.useEffect"];
|
||
}
|
||
}["ScrollAreaScrollbarImpl.useEffect"], [
|
||
viewport,
|
||
scrollbar,
|
||
maxScrollPos,
|
||
handleWheelScroll
|
||
]);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"](handleThumbPositionChange, [
|
||
sizes,
|
||
handleThumbPositionChange
|
||
]);
|
||
useResizeObserver(scrollbar, handleResize);
|
||
useResizeObserver(context.content, handleResize);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollbarProvider, {
|
||
scope: __scopeScrollArea,
|
||
scrollbar,
|
||
hasThumb,
|
||
onThumbChange: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$callback$2d$ref$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallbackRef"])(onThumbChange),
|
||
onThumbPointerUp: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$callback$2d$ref$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallbackRef"])(onThumbPointerUp),
|
||
onThumbPositionChange: handleThumbPositionChange,
|
||
onThumbPointerDown: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$callback$2d$ref$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallbackRef"])(onThumbPointerDown),
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$scroll$2d$area$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].div, {
|
||
...scrollbarProps,
|
||
ref: composeRefs,
|
||
style: {
|
||
position: "absolute",
|
||
...scrollbarProps.style
|
||
},
|
||
onPointerDown: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onPointerDown, (event)=>{
|
||
const mainPointer = 0;
|
||
if (event.button === mainPointer) {
|
||
const element = event.target;
|
||
element.setPointerCapture(event.pointerId);
|
||
rectRef.current = scrollbar.getBoundingClientRect();
|
||
prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;
|
||
document.body.style.webkitUserSelect = "none";
|
||
if (context.viewport) context.viewport.style.scrollBehavior = "auto";
|
||
handleDragScroll(event);
|
||
}
|
||
}),
|
||
onPointerMove: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onPointerMove, handleDragScroll),
|
||
onPointerUp: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onPointerUp, (event)=>{
|
||
const element = event.target;
|
||
if (element.hasPointerCapture(event.pointerId)) {
|
||
element.releasePointerCapture(event.pointerId);
|
||
}
|
||
document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;
|
||
if (context.viewport) context.viewport.style.scrollBehavior = "";
|
||
rectRef.current = null;
|
||
})
|
||
})
|
||
});
|
||
});
|
||
var THUMB_NAME = "ScrollAreaThumb";
|
||
var ScrollAreaThumb = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { forceMount, ...thumbProps } = props;
|
||
const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$presence$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Presence"], {
|
||
present: forceMount || scrollbarContext.hasThumb,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaThumbImpl, {
|
||
ref: forwardedRef,
|
||
...thumbProps
|
||
})
|
||
});
|
||
});
|
||
var ScrollAreaThumbImpl = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeScrollArea, style, ...thumbProps } = props;
|
||
const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);
|
||
const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);
|
||
const { onThumbPositionChange } = scrollbarContext;
|
||
const composedRef = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, {
|
||
"ScrollAreaThumbImpl.useComposedRefs[composedRef]": (node)=>scrollbarContext.onThumbChange(node)
|
||
}["ScrollAreaThumbImpl.useComposedRefs[composedRef]"]);
|
||
const removeUnlinkedScrollListenerRef = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](void 0);
|
||
const debounceScrollEnd = useDebounceCallback({
|
||
"ScrollAreaThumbImpl.useDebounceCallback[debounceScrollEnd]": ()=>{
|
||
if (removeUnlinkedScrollListenerRef.current) {
|
||
removeUnlinkedScrollListenerRef.current();
|
||
removeUnlinkedScrollListenerRef.current = void 0;
|
||
}
|
||
}
|
||
}["ScrollAreaThumbImpl.useDebounceCallback[debounceScrollEnd]"], 100);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"ScrollAreaThumbImpl.useEffect": ()=>{
|
||
const viewport = scrollAreaContext.viewport;
|
||
if (viewport) {
|
||
const handleScroll = {
|
||
"ScrollAreaThumbImpl.useEffect.handleScroll": ()=>{
|
||
debounceScrollEnd();
|
||
if (!removeUnlinkedScrollListenerRef.current) {
|
||
const listener = addUnlinkedScrollListener(viewport, onThumbPositionChange);
|
||
removeUnlinkedScrollListenerRef.current = listener;
|
||
onThumbPositionChange();
|
||
}
|
||
}
|
||
}["ScrollAreaThumbImpl.useEffect.handleScroll"];
|
||
onThumbPositionChange();
|
||
viewport.addEventListener("scroll", handleScroll);
|
||
return ({
|
||
"ScrollAreaThumbImpl.useEffect": ()=>viewport.removeEventListener("scroll", handleScroll)
|
||
})["ScrollAreaThumbImpl.useEffect"];
|
||
}
|
||
}
|
||
}["ScrollAreaThumbImpl.useEffect"], [
|
||
scrollAreaContext.viewport,
|
||
debounceScrollEnd,
|
||
onThumbPositionChange
|
||
]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$scroll$2d$area$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].div, {
|
||
"data-state": scrollbarContext.hasThumb ? "visible" : "hidden",
|
||
...thumbProps,
|
||
ref: composedRef,
|
||
style: {
|
||
width: "var(--radix-scroll-area-thumb-width)",
|
||
height: "var(--radix-scroll-area-thumb-height)",
|
||
...style
|
||
},
|
||
onPointerDownCapture: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onPointerDownCapture, (event)=>{
|
||
const thumb = event.target;
|
||
const thumbRect = thumb.getBoundingClientRect();
|
||
const x = event.clientX - thumbRect.left;
|
||
const y = event.clientY - thumbRect.top;
|
||
scrollbarContext.onThumbPointerDown({
|
||
x,
|
||
y
|
||
});
|
||
}),
|
||
onPointerUp: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onPointerUp, scrollbarContext.onThumbPointerUp)
|
||
});
|
||
});
|
||
ScrollAreaThumb.displayName = THUMB_NAME;
|
||
var CORNER_NAME = "ScrollAreaCorner";
|
||
var ScrollAreaCorner = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const context = useScrollAreaContext(CORNER_NAME, props.__scopeScrollArea);
|
||
const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);
|
||
const hasCorner = context.type !== "scroll" && hasBothScrollbarsVisible;
|
||
return hasCorner ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaCornerImpl, {
|
||
...props,
|
||
ref: forwardedRef
|
||
}) : null;
|
||
});
|
||
ScrollAreaCorner.displayName = CORNER_NAME;
|
||
var ScrollAreaCornerImpl = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeScrollArea, ...cornerProps } = props;
|
||
const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);
|
||
const [width, setWidth] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](0);
|
||
const [height, setHeight] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](0);
|
||
const hasSize = Boolean(width && height);
|
||
useResizeObserver(context.scrollbarX, {
|
||
"ScrollAreaCornerImpl.useResizeObserver": ()=>{
|
||
const height2 = context.scrollbarX?.offsetHeight || 0;
|
||
context.onCornerHeightChange(height2);
|
||
setHeight(height2);
|
||
}
|
||
}["ScrollAreaCornerImpl.useResizeObserver"]);
|
||
useResizeObserver(context.scrollbarY, {
|
||
"ScrollAreaCornerImpl.useResizeObserver": ()=>{
|
||
const width2 = context.scrollbarY?.offsetWidth || 0;
|
||
context.onCornerWidthChange(width2);
|
||
setWidth(width2);
|
||
}
|
||
}["ScrollAreaCornerImpl.useResizeObserver"]);
|
||
return hasSize ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$scroll$2d$area$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].div, {
|
||
...cornerProps,
|
||
ref: forwardedRef,
|
||
style: {
|
||
width,
|
||
height,
|
||
position: "absolute",
|
||
right: context.dir === "ltr" ? 0 : void 0,
|
||
left: context.dir === "rtl" ? 0 : void 0,
|
||
bottom: 0,
|
||
...props.style
|
||
}
|
||
}) : null;
|
||
});
|
||
function toInt(value) {
|
||
return value ? parseInt(value, 10) : 0;
|
||
}
|
||
function getThumbRatio(viewportSize, contentSize) {
|
||
const ratio = viewportSize / contentSize;
|
||
return isNaN(ratio) ? 0 : ratio;
|
||
}
|
||
function getThumbSize(sizes) {
|
||
const ratio = getThumbRatio(sizes.viewport, sizes.content);
|
||
const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;
|
||
const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;
|
||
return Math.max(thumbSize, 18);
|
||
}
|
||
function getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir = "ltr") {
|
||
const thumbSizePx = getThumbSize(sizes);
|
||
const thumbCenter = thumbSizePx / 2;
|
||
const offset = pointerOffset || thumbCenter;
|
||
const thumbOffsetFromEnd = thumbSizePx - offset;
|
||
const minPointerPos = sizes.scrollbar.paddingStart + offset;
|
||
const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;
|
||
const maxScrollPos = sizes.content - sizes.viewport;
|
||
const scrollRange = dir === "ltr" ? [
|
||
0,
|
||
maxScrollPos
|
||
] : [
|
||
maxScrollPos * -1,
|
||
0
|
||
];
|
||
const interpolate = linearScale([
|
||
minPointerPos,
|
||
maxPointerPos
|
||
], scrollRange);
|
||
return interpolate(pointerPos);
|
||
}
|
||
function getThumbOffsetFromScroll(scrollPos, sizes, dir = "ltr") {
|
||
const thumbSizePx = getThumbSize(sizes);
|
||
const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;
|
||
const scrollbar = sizes.scrollbar.size - scrollbarPadding;
|
||
const maxScrollPos = sizes.content - sizes.viewport;
|
||
const maxThumbPos = scrollbar - thumbSizePx;
|
||
const scrollClampRange = dir === "ltr" ? [
|
||
0,
|
||
maxScrollPos
|
||
] : [
|
||
maxScrollPos * -1,
|
||
0
|
||
];
|
||
const scrollWithoutMomentum = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$number$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["clamp"])(scrollPos, scrollClampRange);
|
||
const interpolate = linearScale([
|
||
0,
|
||
maxScrollPos
|
||
], [
|
||
0,
|
||
maxThumbPos
|
||
]);
|
||
return interpolate(scrollWithoutMomentum);
|
||
}
|
||
function linearScale(input, output) {
|
||
return (value)=>{
|
||
if (input[0] === input[1] || output[0] === output[1]) return output[0];
|
||
const ratio = (output[1] - output[0]) / (input[1] - input[0]);
|
||
return output[0] + ratio * (value - input[0]);
|
||
};
|
||
}
|
||
function isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {
|
||
return scrollPos > 0 && scrollPos < maxScrollPos;
|
||
}
|
||
var addUnlinkedScrollListener = (node, handler = ()=>{})=>{
|
||
let prevPosition = {
|
||
left: node.scrollLeft,
|
||
top: node.scrollTop
|
||
};
|
||
let rAF = 0;
|
||
(function loop() {
|
||
const position = {
|
||
left: node.scrollLeft,
|
||
top: node.scrollTop
|
||
};
|
||
const isHorizontalScroll = prevPosition.left !== position.left;
|
||
const isVerticalScroll = prevPosition.top !== position.top;
|
||
if (isHorizontalScroll || isVerticalScroll) handler();
|
||
prevPosition = position;
|
||
rAF = window.requestAnimationFrame(loop);
|
||
})();
|
||
return ()=>window.cancelAnimationFrame(rAF);
|
||
};
|
||
function useDebounceCallback(callback, delay) {
|
||
const handleCallback = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$callback$2d$ref$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallbackRef"])(callback);
|
||
const debounceTimerRef = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](0);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"useDebounceCallback.useEffect": ()=>({
|
||
"useDebounceCallback.useEffect": ()=>window.clearTimeout(debounceTimerRef.current)
|
||
})["useDebounceCallback.useEffect"]
|
||
}["useDebounceCallback.useEffect"], []);
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"useDebounceCallback.useCallback": ()=>{
|
||
window.clearTimeout(debounceTimerRef.current);
|
||
debounceTimerRef.current = window.setTimeout(handleCallback, delay);
|
||
}
|
||
}["useDebounceCallback.useCallback"], [
|
||
handleCallback,
|
||
delay
|
||
]);
|
||
}
|
||
function useResizeObserver(element, onResize) {
|
||
const handleResize = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$callback$2d$ref$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallbackRef"])(onResize);
|
||
(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLayoutEffect"])({
|
||
"useResizeObserver.useLayoutEffect": ()=>{
|
||
let rAF = 0;
|
||
if (element) {
|
||
const resizeObserver = new ResizeObserver({
|
||
"useResizeObserver.useLayoutEffect": ()=>{
|
||
cancelAnimationFrame(rAF);
|
||
rAF = window.requestAnimationFrame(handleResize);
|
||
}
|
||
}["useResizeObserver.useLayoutEffect"]);
|
||
resizeObserver.observe(element);
|
||
return ({
|
||
"useResizeObserver.useLayoutEffect": ()=>{
|
||
window.cancelAnimationFrame(rAF);
|
||
resizeObserver.unobserve(element);
|
||
}
|
||
})["useResizeObserver.useLayoutEffect"];
|
||
}
|
||
}
|
||
}["useResizeObserver.useLayoutEffect"], [
|
||
element,
|
||
handleResize
|
||
]);
|
||
}
|
||
var Root = ScrollArea;
|
||
var Viewport = ScrollAreaViewport;
|
||
var Scrollbar = ScrollAreaScrollbar;
|
||
var Thumb = ScrollAreaThumb;
|
||
var Corner = ScrollAreaCorner;
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/arrow-up.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"__iconNode",
|
||
()=>__iconNode,
|
||
"default",
|
||
()=>ArrowUp
|
||
]);
|
||
/**
|
||
* @license lucide-react v0.562.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const __iconNode = [
|
||
[
|
||
"path",
|
||
{
|
||
d: "m5 12 7-7 7 7",
|
||
key: "hav0vg"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M12 19V5",
|
||
key: "x0mq9r"
|
||
}
|
||
]
|
||
];
|
||
const ArrowUp = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("arrow-up", __iconNode);
|
||
;
|
||
//# sourceMappingURL=arrow-up.js.map
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/arrow-up.js [app-client] (ecmascript) <export default as ArrowUpIcon>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"ArrowUpIcon",
|
||
()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$arrow$2d$up$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$arrow$2d$up$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/arrow-up.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/arrow-down.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"__iconNode",
|
||
()=>__iconNode,
|
||
"default",
|
||
()=>ArrowDown
|
||
]);
|
||
/**
|
||
* @license lucide-react v0.562.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const __iconNode = [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M12 5v14",
|
||
key: "s699le"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "m19 12-7 7-7-7",
|
||
key: "1idqje"
|
||
}
|
||
]
|
||
];
|
||
const ArrowDown = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("arrow-down", __iconNode);
|
||
;
|
||
//# sourceMappingURL=arrow-down.js.map
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/arrow-down.js [app-client] (ecmascript) <export default as ArrowDownIcon>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"ArrowDownIcon",
|
||
()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$arrow$2d$down$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$arrow$2d$down$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/arrow-down.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/arrow-up-down.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"__iconNode",
|
||
()=>__iconNode,
|
||
"default",
|
||
()=>ArrowUpDown
|
||
]);
|
||
/**
|
||
* @license lucide-react v0.562.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const __iconNode = [
|
||
[
|
||
"path",
|
||
{
|
||
d: "m21 16-4 4-4-4",
|
||
key: "f6ql7i"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M17 20V4",
|
||
key: "1ejh1v"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "m3 8 4-4 4 4",
|
||
key: "11wl7u"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M7 4v16",
|
||
key: "1glfcx"
|
||
}
|
||
]
|
||
];
|
||
const ArrowUpDown = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("arrow-up-down", __iconNode);
|
||
;
|
||
//# sourceMappingURL=arrow-up-down.js.map
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/arrow-up-down.js [app-client] (ecmascript) <export default as ArrowUpDownIcon>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"ArrowUpDownIcon",
|
||
()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$arrow$2d$up$2d$down$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$arrow$2d$up$2d$down$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/arrow-up-down.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-context/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"createContext",
|
||
()=>createContext2,
|
||
"createContextScope",
|
||
()=>createContextScope
|
||
]);
|
||
// packages/react/context/src/create-context.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
;
|
||
;
|
||
function createContext2(rootComponentName, defaultContext) {
|
||
const Context = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContext"](defaultContext);
|
||
const Provider = (props)=>{
|
||
const { children, ...context } = props;
|
||
const value = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"]({
|
||
"createContext2.Provider.useMemo[value]": ()=>context
|
||
}["createContext2.Provider.useMemo[value]"], Object.values(context));
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Context.Provider, {
|
||
value,
|
||
children
|
||
});
|
||
};
|
||
Provider.displayName = rootComponentName + "Provider";
|
||
function useContext2(consumerName) {
|
||
const context = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useContext"](Context);
|
||
if (context) return context;
|
||
if (defaultContext !== void 0) return defaultContext;
|
||
throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
|
||
}
|
||
return [
|
||
Provider,
|
||
useContext2
|
||
];
|
||
}
|
||
function createContextScope(scopeName, createContextScopeDeps = []) {
|
||
let defaultContexts = [];
|
||
function createContext3(rootComponentName, defaultContext) {
|
||
const BaseContext = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContext"](defaultContext);
|
||
const index = defaultContexts.length;
|
||
defaultContexts = [
|
||
...defaultContexts,
|
||
defaultContext
|
||
];
|
||
const Provider = (props)=>{
|
||
const { scope, children, ...context } = props;
|
||
const Context = scope?.[scopeName]?.[index] || BaseContext;
|
||
const value = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"]({
|
||
"createContextScope.createContext3.Provider.useMemo[value]": ()=>context
|
||
}["createContextScope.createContext3.Provider.useMemo[value]"], Object.values(context));
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Context.Provider, {
|
||
value,
|
||
children
|
||
});
|
||
};
|
||
Provider.displayName = rootComponentName + "Provider";
|
||
function useContext2(consumerName, scope) {
|
||
const Context = scope?.[scopeName]?.[index] || BaseContext;
|
||
const context = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useContext"](Context);
|
||
if (context) return context;
|
||
if (defaultContext !== void 0) return defaultContext;
|
||
throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
|
||
}
|
||
return [
|
||
Provider,
|
||
useContext2
|
||
];
|
||
}
|
||
const createScope = ()=>{
|
||
const scopeContexts = defaultContexts.map((defaultContext)=>{
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContext"](defaultContext);
|
||
});
|
||
return function useScope(scope) {
|
||
const contexts = scope?.[scopeName] || scopeContexts;
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"]({
|
||
"createContextScope.createScope.useScope.useMemo": ()=>({
|
||
[`__scope${scopeName}`]: {
|
||
...scope,
|
||
[scopeName]: contexts
|
||
}
|
||
})
|
||
}["createContextScope.createScope.useScope.useMemo"], [
|
||
scope,
|
||
contexts
|
||
]);
|
||
};
|
||
};
|
||
createScope.scopeName = scopeName;
|
||
return [
|
||
createContext3,
|
||
composeContextScopes(createScope, ...createContextScopeDeps)
|
||
];
|
||
}
|
||
function composeContextScopes(...scopes) {
|
||
const baseScope = scopes[0];
|
||
if (scopes.length === 1) return baseScope;
|
||
const createScope = ()=>{
|
||
const scopeHooks = scopes.map((createScope2)=>({
|
||
useScope: createScope2(),
|
||
scopeName: createScope2.scopeName
|
||
}));
|
||
return function useComposedScopes(overrideScopes) {
|
||
const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName })=>{
|
||
const scopeProps = useScope(overrideScopes);
|
||
const currentScope = scopeProps[`__scope${scopeName}`];
|
||
return {
|
||
...nextScopes2,
|
||
...currentScope
|
||
};
|
||
}, {});
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"]({
|
||
"composeContextScopes.createScope.useComposedScopes.useMemo": ()=>({
|
||
[`__scope${baseScope.scopeName}`]: nextScopes
|
||
})
|
||
}["composeContextScopes.createScope.useComposedScopes.useMemo"], [
|
||
nextScopes
|
||
]);
|
||
};
|
||
};
|
||
createScope.scopeName = baseScope.scopeName;
|
||
return createScope;
|
||
}
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Root",
|
||
()=>Slot,
|
||
"Slot",
|
||
()=>Slot,
|
||
"Slottable",
|
||
()=>Slottable,
|
||
"createSlot",
|
||
()=>createSlot,
|
||
"createSlottable",
|
||
()=>createSlottable
|
||
]);
|
||
// src/slot.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-compose-refs/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
;
|
||
;
|
||
;
|
||
// @__NO_SIDE_EFFECTS__
|
||
function createSlot(ownerName) {
|
||
const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
|
||
const Slot2 = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { children, ...slotProps } = props;
|
||
const childrenArray = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].toArray(children);
|
||
const slottable = childrenArray.find(isSlottable);
|
||
if (slottable) {
|
||
const newElement = slottable.props.children;
|
||
const newChildren = childrenArray.map((child)=>{
|
||
if (child === slottable) {
|
||
if (__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].count(newElement) > 1) return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].only(null);
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isValidElement"](newElement) ? newElement.props.children : null;
|
||
} else {
|
||
return child;
|
||
}
|
||
});
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SlotClone, {
|
||
...slotProps,
|
||
ref: forwardedRef,
|
||
children: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isValidElement"](newElement) ? __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["cloneElement"](newElement, void 0, newChildren) : null
|
||
});
|
||
}
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SlotClone, {
|
||
...slotProps,
|
||
ref: forwardedRef,
|
||
children
|
||
});
|
||
});
|
||
Slot2.displayName = `${ownerName}.Slot`;
|
||
return Slot2;
|
||
}
|
||
var Slot = /* @__PURE__ */ createSlot("Slot");
|
||
// @__NO_SIDE_EFFECTS__
|
||
function createSlotClone(ownerName) {
|
||
const SlotClone = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { children, ...slotProps } = props;
|
||
if (__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isValidElement"](children)) {
|
||
const childrenRef = getElementRef(children);
|
||
const props2 = mergeProps(slotProps, children.props);
|
||
if (children.type !== __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Fragment"]) {
|
||
props2.ref = forwardedRef ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeRefs"])(forwardedRef, childrenRef) : childrenRef;
|
||
}
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["cloneElement"](children, props2);
|
||
}
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].count(children) > 1 ? __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].only(null) : null;
|
||
});
|
||
SlotClone.displayName = `${ownerName}.SlotClone`;
|
||
return SlotClone;
|
||
}
|
||
var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
|
||
// @__NO_SIDE_EFFECTS__
|
||
function createSlottable(ownerName) {
|
||
const Slottable2 = ({ children })=>{
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Fragment"], {
|
||
children
|
||
});
|
||
};
|
||
Slottable2.displayName = `${ownerName}.Slottable`;
|
||
Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
|
||
return Slottable2;
|
||
}
|
||
var Slottable = /* @__PURE__ */ createSlottable("Slottable");
|
||
function isSlottable(child) {
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isValidElement"](child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
|
||
}
|
||
function mergeProps(slotProps, childProps) {
|
||
const overrideProps = {
|
||
...childProps
|
||
};
|
||
for(const propName in childProps){
|
||
const slotPropValue = slotProps[propName];
|
||
const childPropValue = childProps[propName];
|
||
const isHandler = /^on[A-Z]/.test(propName);
|
||
if (isHandler) {
|
||
if (slotPropValue && childPropValue) {
|
||
overrideProps[propName] = (...args)=>{
|
||
const result = childPropValue(...args);
|
||
slotPropValue(...args);
|
||
return result;
|
||
};
|
||
} else if (slotPropValue) {
|
||
overrideProps[propName] = slotPropValue;
|
||
}
|
||
} else if (propName === "style") {
|
||
overrideProps[propName] = {
|
||
...slotPropValue,
|
||
...childPropValue
|
||
};
|
||
} else if (propName === "className") {
|
||
overrideProps[propName] = [
|
||
slotPropValue,
|
||
childPropValue
|
||
].filter(Boolean).join(" ");
|
||
}
|
||
}
|
||
return {
|
||
...slotProps,
|
||
...overrideProps
|
||
};
|
||
}
|
||
function getElementRef(element) {
|
||
let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
|
||
let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
||
if (mayWarn) {
|
||
return element.ref;
|
||
}
|
||
getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
|
||
mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
||
if (mayWarn) {
|
||
return element.props.ref;
|
||
}
|
||
return element.props.ref || element.ref;
|
||
}
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-primitive/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Primitive",
|
||
()=>Primitive,
|
||
"Root",
|
||
()=>Root,
|
||
"dispatchDiscreteCustomEvent",
|
||
()=>dispatchDiscreteCustomEvent
|
||
]);
|
||
// src/primitive.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2d$dom$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react-dom/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$select$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$slot$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
;
|
||
;
|
||
;
|
||
;
|
||
var NODES = [
|
||
"a",
|
||
"button",
|
||
"div",
|
||
"form",
|
||
"h2",
|
||
"h3",
|
||
"img",
|
||
"input",
|
||
"label",
|
||
"li",
|
||
"nav",
|
||
"ol",
|
||
"p",
|
||
"select",
|
||
"span",
|
||
"svg",
|
||
"ul"
|
||
];
|
||
var Primitive = NODES.reduce((primitive, node)=>{
|
||
const Slot = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$select$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$slot$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createSlot"])(`Primitive.${node}`);
|
||
const Node = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { asChild, ...primitiveProps } = props;
|
||
const Comp = asChild ? Slot : node;
|
||
if (typeof window !== "undefined") {
|
||
window[Symbol.for("radix-ui")] = true;
|
||
}
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Comp, {
|
||
...primitiveProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
Node.displayName = `Primitive.${node}`;
|
||
return {
|
||
...primitive,
|
||
[node]: Node
|
||
};
|
||
}, {});
|
||
function dispatchDiscreteCustomEvent(target, event) {
|
||
if (target) __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2d$dom$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["flushSync"](()=>target.dispatchEvent(event));
|
||
}
|
||
var Root = Primitive;
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/node_modules/@radix-ui/react-select/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Arrow",
|
||
()=>Arrow2,
|
||
"Content",
|
||
()=>Content2,
|
||
"Group",
|
||
()=>Group,
|
||
"Icon",
|
||
()=>Icon,
|
||
"Item",
|
||
()=>Item,
|
||
"ItemIndicator",
|
||
()=>ItemIndicator,
|
||
"ItemText",
|
||
()=>ItemText,
|
||
"Label",
|
||
()=>Label,
|
||
"Portal",
|
||
()=>Portal,
|
||
"Root",
|
||
()=>Root2,
|
||
"ScrollDownButton",
|
||
()=>ScrollDownButton,
|
||
"ScrollUpButton",
|
||
()=>ScrollUpButton,
|
||
"Select",
|
||
()=>Select,
|
||
"SelectArrow",
|
||
()=>SelectArrow,
|
||
"SelectContent",
|
||
()=>SelectContent,
|
||
"SelectGroup",
|
||
()=>SelectGroup,
|
||
"SelectIcon",
|
||
()=>SelectIcon,
|
||
"SelectItem",
|
||
()=>SelectItem,
|
||
"SelectItemIndicator",
|
||
()=>SelectItemIndicator,
|
||
"SelectItemText",
|
||
()=>SelectItemText,
|
||
"SelectLabel",
|
||
()=>SelectLabel,
|
||
"SelectPortal",
|
||
()=>SelectPortal,
|
||
"SelectScrollDownButton",
|
||
()=>SelectScrollDownButton,
|
||
"SelectScrollUpButton",
|
||
()=>SelectScrollUpButton,
|
||
"SelectSeparator",
|
||
()=>SelectSeparator,
|
||
"SelectTrigger",
|
||
()=>SelectTrigger,
|
||
"SelectValue",
|
||
()=>SelectValue,
|
||
"SelectViewport",
|
||
()=>SelectViewport,
|
||
"Separator",
|
||
()=>Separator,
|
||
"Trigger",
|
||
()=>Trigger,
|
||
"Value",
|
||
()=>Value,
|
||
"Viewport",
|
||
()=>Viewport,
|
||
"createSelectScope",
|
||
()=>createSelectScope
|
||
]);
|
||
// src/select.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2d$dom$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react-dom/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$number$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/number/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/primitive/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$collection$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-collection/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-compose-refs/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$select$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$context$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-context/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$direction$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-direction/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$dismissable$2d$layer$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$focus$2d$guards$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-focus-guards/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$focus$2d$scope$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-focus-scope/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$id$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-id/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-popper/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$portal$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-portal/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$select$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-primitive/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$select$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$slot$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$callback$2d$ref$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$controllable$2d$state$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$previous$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-use-previous/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$visually$2d$hidden$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$aria$2d$hidden$2f$dist$2f$es2015$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/aria-hidden/dist/es2015/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$react$2d$remove$2d$scroll$2f$dist$2f$es2015$2f$Combination$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__RemoveScroll$3e$__ = __turbopack_context__.i("[project]/node_modules/react-remove-scroll/dist/es2015/Combination.js [app-client] (ecmascript) <export default as RemoveScroll>");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
"use client";
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
var OPEN_KEYS = [
|
||
" ",
|
||
"Enter",
|
||
"ArrowUp",
|
||
"ArrowDown"
|
||
];
|
||
var SELECTION_KEYS = [
|
||
" ",
|
||
"Enter"
|
||
];
|
||
var SELECT_NAME = "Select";
|
||
var [Collection, useCollection, createCollectionScope] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$collection$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createCollection"])(SELECT_NAME);
|
||
var [createSelectContext, createSelectScope] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$select$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$context$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContextScope"])(SELECT_NAME, [
|
||
createCollectionScope,
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createPopperScope"]
|
||
]);
|
||
var usePopperScope = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createPopperScope"])();
|
||
var [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);
|
||
var [SelectNativeOptionsProvider, useSelectNativeOptionsContext] = createSelectContext(SELECT_NAME);
|
||
var Select = (props)=>{
|
||
const { __scopeSelect, children, open: openProp, defaultOpen, onOpenChange, value: valueProp, defaultValue, onValueChange, dir, name, autoComplete, disabled, required, form } = props;
|
||
const popperScope = usePopperScope(__scopeSelect);
|
||
const [trigger, setTrigger] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const [valueNode, setValueNode] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const [valueNodeHasChildren, setValueNodeHasChildren] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](false);
|
||
const direction = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$direction$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useDirection"])(dir);
|
||
const [open, setOpen] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$controllable$2d$state$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useControllableState"])({
|
||
prop: openProp,
|
||
defaultProp: defaultOpen ?? false,
|
||
onChange: onOpenChange,
|
||
caller: SELECT_NAME
|
||
});
|
||
const [value, setValue] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$controllable$2d$state$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useControllableState"])({
|
||
prop: valueProp,
|
||
defaultProp: defaultValue,
|
||
onChange: onValueChange,
|
||
caller: SELECT_NAME
|
||
});
|
||
const triggerPointerDownPosRef = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const isFormControl = trigger ? form || !!trigger.closest("form") : true;
|
||
const [nativeOptionsSet, setNativeOptionsSet] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](/* @__PURE__ */ new Set());
|
||
const nativeSelectKey = Array.from(nativeOptionsSet).map((option)=>option.props.value).join(";");
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Root"], {
|
||
...popperScope,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxs"])(SelectProvider, {
|
||
required,
|
||
scope: __scopeSelect,
|
||
trigger,
|
||
onTriggerChange: setTrigger,
|
||
valueNode,
|
||
onValueNodeChange: setValueNode,
|
||
valueNodeHasChildren,
|
||
onValueNodeHasChildrenChange: setValueNodeHasChildren,
|
||
contentId: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$id$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useId"])(),
|
||
value,
|
||
onValueChange: setValue,
|
||
open,
|
||
onOpenChange: setOpen,
|
||
dir: direction,
|
||
triggerPointerDownPosRef,
|
||
disabled,
|
||
children: [
|
||
/* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Collection.Provider, {
|
||
scope: __scopeSelect,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SelectNativeOptionsProvider, {
|
||
scope: props.__scopeSelect,
|
||
onNativeOptionAdd: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"Select.useCallback": (option)=>{
|
||
setNativeOptionsSet({
|
||
"Select.useCallback": (prev)=>new Set(prev).add(option)
|
||
}["Select.useCallback"]);
|
||
}
|
||
}["Select.useCallback"], []),
|
||
onNativeOptionRemove: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"Select.useCallback": (option)=>{
|
||
setNativeOptionsSet({
|
||
"Select.useCallback": (prev)=>{
|
||
const optionsSet = new Set(prev);
|
||
optionsSet.delete(option);
|
||
return optionsSet;
|
||
}
|
||
}["Select.useCallback"]);
|
||
}
|
||
}["Select.useCallback"], []),
|
||
children
|
||
})
|
||
}),
|
||
isFormControl ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxs"])(SelectBubbleInput, {
|
||
"aria-hidden": true,
|
||
required,
|
||
tabIndex: -1,
|
||
name,
|
||
autoComplete,
|
||
value,
|
||
onChange: (event)=>setValue(event.target.value),
|
||
disabled,
|
||
form,
|
||
children: [
|
||
value === void 0 ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])("option", {
|
||
value: ""
|
||
}) : null,
|
||
Array.from(nativeOptionsSet)
|
||
]
|
||
}, nativeSelectKey) : null
|
||
]
|
||
})
|
||
});
|
||
};
|
||
Select.displayName = SELECT_NAME;
|
||
var TRIGGER_NAME = "SelectTrigger";
|
||
var SelectTrigger = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, disabled = false, ...triggerProps } = props;
|
||
const popperScope = usePopperScope(__scopeSelect);
|
||
const context = useSelectContext(TRIGGER_NAME, __scopeSelect);
|
||
const isDisabled = context.disabled || disabled;
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, context.onTriggerChange);
|
||
const getItems = useCollection(__scopeSelect);
|
||
const pointerTypeRef = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"]("touch");
|
||
const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch({
|
||
"SelectTrigger.useTypeaheadSearch": (search)=>{
|
||
const enabledItems = getItems().filter({
|
||
"SelectTrigger.useTypeaheadSearch.enabledItems": (item)=>!item.disabled
|
||
}["SelectTrigger.useTypeaheadSearch.enabledItems"]);
|
||
const currentItem = enabledItems.find({
|
||
"SelectTrigger.useTypeaheadSearch.currentItem": (item)=>item.value === context.value
|
||
}["SelectTrigger.useTypeaheadSearch.currentItem"]);
|
||
const nextItem = findNextItem(enabledItems, search, currentItem);
|
||
if (nextItem !== void 0) {
|
||
context.onValueChange(nextItem.value);
|
||
}
|
||
}
|
||
}["SelectTrigger.useTypeaheadSearch"]);
|
||
const handleOpen = (pointerEvent)=>{
|
||
if (!isDisabled) {
|
||
context.onOpenChange(true);
|
||
resetTypeahead();
|
||
}
|
||
if (pointerEvent) {
|
||
context.triggerPointerDownPosRef.current = {
|
||
x: Math.round(pointerEvent.pageX),
|
||
y: Math.round(pointerEvent.pageY)
|
||
};
|
||
}
|
||
};
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Anchor"], {
|
||
asChild: true,
|
||
...popperScope,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$select$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].button, {
|
||
type: "button",
|
||
role: "combobox",
|
||
"aria-controls": context.contentId,
|
||
"aria-expanded": context.open,
|
||
"aria-required": context.required,
|
||
"aria-autocomplete": "none",
|
||
dir: context.dir,
|
||
"data-state": context.open ? "open" : "closed",
|
||
disabled: isDisabled,
|
||
"data-disabled": isDisabled ? "" : void 0,
|
||
"data-placeholder": shouldShowPlaceholder(context.value) ? "" : void 0,
|
||
...triggerProps,
|
||
ref: composedRefs,
|
||
onClick: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(triggerProps.onClick, (event)=>{
|
||
event.currentTarget.focus();
|
||
if (pointerTypeRef.current !== "mouse") {
|
||
handleOpen(event);
|
||
}
|
||
}),
|
||
onPointerDown: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(triggerProps.onPointerDown, (event)=>{
|
||
pointerTypeRef.current = event.pointerType;
|
||
const target = event.target;
|
||
if (target.hasPointerCapture(event.pointerId)) {
|
||
target.releasePointerCapture(event.pointerId);
|
||
}
|
||
if (event.button === 0 && event.ctrlKey === false && event.pointerType === "mouse") {
|
||
handleOpen(event);
|
||
event.preventDefault();
|
||
}
|
||
}),
|
||
onKeyDown: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(triggerProps.onKeyDown, (event)=>{
|
||
const isTypingAhead = searchRef.current !== "";
|
||
const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;
|
||
if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);
|
||
if (isTypingAhead && event.key === " ") return;
|
||
if (OPEN_KEYS.includes(event.key)) {
|
||
handleOpen();
|
||
event.preventDefault();
|
||
}
|
||
})
|
||
})
|
||
});
|
||
});
|
||
SelectTrigger.displayName = TRIGGER_NAME;
|
||
var VALUE_NAME = "SelectValue";
|
||
var SelectValue = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, className, style, children, placeholder = "", ...valueProps } = props;
|
||
const context = useSelectContext(VALUE_NAME, __scopeSelect);
|
||
const { onValueNodeHasChildrenChange } = context;
|
||
const hasChildren = children !== void 0;
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, context.onValueNodeChange);
|
||
(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLayoutEffect"])({
|
||
"SelectValue.useLayoutEffect": ()=>{
|
||
onValueNodeHasChildrenChange(hasChildren);
|
||
}
|
||
}["SelectValue.useLayoutEffect"], [
|
||
onValueNodeHasChildrenChange,
|
||
hasChildren
|
||
]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$select$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].span, {
|
||
...valueProps,
|
||
ref: composedRefs,
|
||
style: {
|
||
pointerEvents: "none"
|
||
},
|
||
children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Fragment"], {
|
||
children: placeholder
|
||
}) : children
|
||
});
|
||
});
|
||
SelectValue.displayName = VALUE_NAME;
|
||
var ICON_NAME = "SelectIcon";
|
||
var SelectIcon = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, children, ...iconProps } = props;
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$select$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].span, {
|
||
"aria-hidden": true,
|
||
...iconProps,
|
||
ref: forwardedRef,
|
||
children: children || "\u25BC"
|
||
});
|
||
});
|
||
SelectIcon.displayName = ICON_NAME;
|
||
var PORTAL_NAME = "SelectPortal";
|
||
var SelectPortal = (props)=>{
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$portal$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Portal"], {
|
||
asChild: true,
|
||
...props
|
||
});
|
||
};
|
||
SelectPortal.displayName = PORTAL_NAME;
|
||
var CONTENT_NAME = "SelectContent";
|
||
var SelectContent = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const context = useSelectContext(CONTENT_NAME, props.__scopeSelect);
|
||
const [fragment, setFragment] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"]();
|
||
(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLayoutEffect"])({
|
||
"SelectContent.useLayoutEffect": ()=>{
|
||
setFragment(new DocumentFragment());
|
||
}
|
||
}["SelectContent.useLayoutEffect"], []);
|
||
if (!context.open) {
|
||
const frag = fragment;
|
||
return frag ? __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2d$dom$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createPortal"](/* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SelectContentProvider, {
|
||
scope: props.__scopeSelect,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Collection.Slot, {
|
||
scope: props.__scopeSelect,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])("div", {
|
||
children: props.children
|
||
})
|
||
})
|
||
}), frag) : null;
|
||
}
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SelectContentImpl, {
|
||
...props,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
SelectContent.displayName = CONTENT_NAME;
|
||
var CONTENT_MARGIN = 10;
|
||
var [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME);
|
||
var CONTENT_IMPL_NAME = "SelectContentImpl";
|
||
var Slot = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$select$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$slot$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createSlot"])("SelectContent.RemoveScroll");
|
||
var SelectContentImpl = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, position = "item-aligned", onCloseAutoFocus, onEscapeKeyDown, onPointerDownOutside, //
|
||
// PopperContent props
|
||
side, sideOffset, align, alignOffset, arrowPadding, collisionBoundary, collisionPadding, sticky, hideWhenDetached, avoidCollisions, //
|
||
...contentProps } = props;
|
||
const context = useSelectContext(CONTENT_NAME, __scopeSelect);
|
||
const [content, setContent] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const [viewport, setViewport] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, {
|
||
"SelectContentImpl.useComposedRefs[composedRefs]": (node)=>setContent(node)
|
||
}["SelectContentImpl.useComposedRefs[composedRefs]"]);
|
||
const [selectedItem, setSelectedItem] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const [selectedItemText, setSelectedItemText] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const getItems = useCollection(__scopeSelect);
|
||
const [isPositioned, setIsPositioned] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](false);
|
||
const firstValidItemFoundRef = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](false);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"SelectContentImpl.useEffect": ()=>{
|
||
if (content) return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$aria$2d$hidden$2f$dist$2f$es2015$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["hideOthers"])(content);
|
||
}
|
||
}["SelectContentImpl.useEffect"], [
|
||
content
|
||
]);
|
||
(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$focus$2d$guards$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useFocusGuards"])();
|
||
const focusFirst = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"SelectContentImpl.useCallback[focusFirst]": (candidates)=>{
|
||
const [firstItem, ...restItems] = getItems().map({
|
||
"SelectContentImpl.useCallback[focusFirst]": (item)=>item.ref.current
|
||
}["SelectContentImpl.useCallback[focusFirst]"]);
|
||
const [lastItem] = restItems.slice(-1);
|
||
const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;
|
||
for (const candidate of candidates){
|
||
if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;
|
||
candidate?.scrollIntoView({
|
||
block: "nearest"
|
||
});
|
||
if (candidate === firstItem && viewport) viewport.scrollTop = 0;
|
||
if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;
|
||
candidate?.focus();
|
||
if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;
|
||
}
|
||
}
|
||
}["SelectContentImpl.useCallback[focusFirst]"], [
|
||
getItems,
|
||
viewport
|
||
]);
|
||
const focusSelectedItem = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"SelectContentImpl.useCallback[focusSelectedItem]": ()=>focusFirst([
|
||
selectedItem,
|
||
content
|
||
])
|
||
}["SelectContentImpl.useCallback[focusSelectedItem]"], [
|
||
focusFirst,
|
||
selectedItem,
|
||
content
|
||
]);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"SelectContentImpl.useEffect": ()=>{
|
||
if (isPositioned) {
|
||
focusSelectedItem();
|
||
}
|
||
}
|
||
}["SelectContentImpl.useEffect"], [
|
||
isPositioned,
|
||
focusSelectedItem
|
||
]);
|
||
const { onOpenChange, triggerPointerDownPosRef } = context;
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"SelectContentImpl.useEffect": ()=>{
|
||
if (content) {
|
||
let pointerMoveDelta = {
|
||
x: 0,
|
||
y: 0
|
||
};
|
||
const handlePointerMove = {
|
||
"SelectContentImpl.useEffect.handlePointerMove": (event)=>{
|
||
pointerMoveDelta = {
|
||
x: Math.abs(Math.round(event.pageX) - (triggerPointerDownPosRef.current?.x ?? 0)),
|
||
y: Math.abs(Math.round(event.pageY) - (triggerPointerDownPosRef.current?.y ?? 0))
|
||
};
|
||
}
|
||
}["SelectContentImpl.useEffect.handlePointerMove"];
|
||
const handlePointerUp = {
|
||
"SelectContentImpl.useEffect.handlePointerUp": (event)=>{
|
||
if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {
|
||
event.preventDefault();
|
||
} else {
|
||
if (!content.contains(event.target)) {
|
||
onOpenChange(false);
|
||
}
|
||
}
|
||
document.removeEventListener("pointermove", handlePointerMove);
|
||
triggerPointerDownPosRef.current = null;
|
||
}
|
||
}["SelectContentImpl.useEffect.handlePointerUp"];
|
||
if (triggerPointerDownPosRef.current !== null) {
|
||
document.addEventListener("pointermove", handlePointerMove);
|
||
document.addEventListener("pointerup", handlePointerUp, {
|
||
capture: true,
|
||
once: true
|
||
});
|
||
}
|
||
return ({
|
||
"SelectContentImpl.useEffect": ()=>{
|
||
document.removeEventListener("pointermove", handlePointerMove);
|
||
document.removeEventListener("pointerup", handlePointerUp, {
|
||
capture: true
|
||
});
|
||
}
|
||
})["SelectContentImpl.useEffect"];
|
||
}
|
||
}
|
||
}["SelectContentImpl.useEffect"], [
|
||
content,
|
||
onOpenChange,
|
||
triggerPointerDownPosRef
|
||
]);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"SelectContentImpl.useEffect": ()=>{
|
||
const close = {
|
||
"SelectContentImpl.useEffect.close": ()=>onOpenChange(false)
|
||
}["SelectContentImpl.useEffect.close"];
|
||
window.addEventListener("blur", close);
|
||
window.addEventListener("resize", close);
|
||
return ({
|
||
"SelectContentImpl.useEffect": ()=>{
|
||
window.removeEventListener("blur", close);
|
||
window.removeEventListener("resize", close);
|
||
}
|
||
})["SelectContentImpl.useEffect"];
|
||
}
|
||
}["SelectContentImpl.useEffect"], [
|
||
onOpenChange
|
||
]);
|
||
const [searchRef, handleTypeaheadSearch] = useTypeaheadSearch({
|
||
"SelectContentImpl.useTypeaheadSearch": (search)=>{
|
||
const enabledItems = getItems().filter({
|
||
"SelectContentImpl.useTypeaheadSearch.enabledItems": (item)=>!item.disabled
|
||
}["SelectContentImpl.useTypeaheadSearch.enabledItems"]);
|
||
const currentItem = enabledItems.find({
|
||
"SelectContentImpl.useTypeaheadSearch.currentItem": (item)=>item.ref.current === document.activeElement
|
||
}["SelectContentImpl.useTypeaheadSearch.currentItem"]);
|
||
const nextItem = findNextItem(enabledItems, search, currentItem);
|
||
if (nextItem) {
|
||
setTimeout({
|
||
"SelectContentImpl.useTypeaheadSearch": ()=>nextItem.ref.current.focus()
|
||
}["SelectContentImpl.useTypeaheadSearch"]);
|
||
}
|
||
}
|
||
}["SelectContentImpl.useTypeaheadSearch"]);
|
||
const itemRefCallback = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"SelectContentImpl.useCallback[itemRefCallback]": (node, value, disabled)=>{
|
||
const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;
|
||
const isSelectedItem = context.value !== void 0 && context.value === value;
|
||
if (isSelectedItem || isFirstValidItem) {
|
||
setSelectedItem(node);
|
||
if (isFirstValidItem) firstValidItemFoundRef.current = true;
|
||
}
|
||
}
|
||
}["SelectContentImpl.useCallback[itemRefCallback]"], [
|
||
context.value
|
||
]);
|
||
const handleItemLeave = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"SelectContentImpl.useCallback[handleItemLeave]": ()=>content?.focus()
|
||
}["SelectContentImpl.useCallback[handleItemLeave]"], [
|
||
content
|
||
]);
|
||
const itemTextRefCallback = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"SelectContentImpl.useCallback[itemTextRefCallback]": (node, value, disabled)=>{
|
||
const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;
|
||
const isSelectedItem = context.value !== void 0 && context.value === value;
|
||
if (isSelectedItem || isFirstValidItem) {
|
||
setSelectedItemText(node);
|
||
}
|
||
}
|
||
}["SelectContentImpl.useCallback[itemTextRefCallback]"], [
|
||
context.value
|
||
]);
|
||
const SelectPosition = position === "popper" ? SelectPopperPosition : SelectItemAlignedPosition;
|
||
const popperContentProps = SelectPosition === SelectPopperPosition ? {
|
||
side,
|
||
sideOffset,
|
||
align,
|
||
alignOffset,
|
||
arrowPadding,
|
||
collisionBoundary,
|
||
collisionPadding,
|
||
sticky,
|
||
hideWhenDetached,
|
||
avoidCollisions
|
||
} : {};
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SelectContentProvider, {
|
||
scope: __scopeSelect,
|
||
content,
|
||
viewport,
|
||
onViewportChange: setViewport,
|
||
itemRefCallback,
|
||
selectedItem,
|
||
onItemLeave: handleItemLeave,
|
||
itemTextRefCallback,
|
||
focusSelectedItem,
|
||
selectedItemText,
|
||
position,
|
||
isPositioned,
|
||
searchRef,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$react$2d$remove$2d$scroll$2f$dist$2f$es2015$2f$Combination$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__RemoveScroll$3e$__["RemoveScroll"], {
|
||
as: Slot,
|
||
allowPinchZoom: true,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$focus$2d$scope$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["FocusScope"], {
|
||
asChild: true,
|
||
trapped: context.open,
|
||
onMountAutoFocus: (event)=>{
|
||
event.preventDefault();
|
||
},
|
||
onUnmountAutoFocus: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(onCloseAutoFocus, (event)=>{
|
||
context.trigger?.focus({
|
||
preventScroll: true
|
||
});
|
||
event.preventDefault();
|
||
}),
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$dismissable$2d$layer$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["DismissableLayer"], {
|
||
asChild: true,
|
||
disableOutsidePointerEvents: true,
|
||
onEscapeKeyDown,
|
||
onPointerDownOutside,
|
||
onFocusOutside: (event)=>event.preventDefault(),
|
||
onDismiss: ()=>context.onOpenChange(false),
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SelectPosition, {
|
||
role: "listbox",
|
||
id: context.contentId,
|
||
"data-state": context.open ? "open" : "closed",
|
||
dir: context.dir,
|
||
onContextMenu: (event)=>event.preventDefault(),
|
||
...contentProps,
|
||
...popperContentProps,
|
||
onPlaced: ()=>setIsPositioned(true),
|
||
ref: composedRefs,
|
||
style: {
|
||
// flex layout so we can place the scroll buttons properly
|
||
display: "flex",
|
||
flexDirection: "column",
|
||
// reset the outline by default as the content MAY get focused
|
||
outline: "none",
|
||
...contentProps.style
|
||
},
|
||
onKeyDown: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(contentProps.onKeyDown, (event)=>{
|
||
const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;
|
||
if (event.key === "Tab") event.preventDefault();
|
||
if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);
|
||
if ([
|
||
"ArrowUp",
|
||
"ArrowDown",
|
||
"Home",
|
||
"End"
|
||
].includes(event.key)) {
|
||
const items = getItems().filter((item)=>!item.disabled);
|
||
let candidateNodes = items.map((item)=>item.ref.current);
|
||
if ([
|
||
"ArrowUp",
|
||
"End"
|
||
].includes(event.key)) {
|
||
candidateNodes = candidateNodes.slice().reverse();
|
||
}
|
||
if ([
|
||
"ArrowUp",
|
||
"ArrowDown"
|
||
].includes(event.key)) {
|
||
const currentElement = event.target;
|
||
const currentIndex = candidateNodes.indexOf(currentElement);
|
||
candidateNodes = candidateNodes.slice(currentIndex + 1);
|
||
}
|
||
setTimeout(()=>focusFirst(candidateNodes));
|
||
event.preventDefault();
|
||
}
|
||
})
|
||
})
|
||
})
|
||
})
|
||
})
|
||
});
|
||
});
|
||
SelectContentImpl.displayName = CONTENT_IMPL_NAME;
|
||
var ITEM_ALIGNED_POSITION_NAME = "SelectItemAlignedPosition";
|
||
var SelectItemAlignedPosition = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, onPlaced, ...popperProps } = props;
|
||
const context = useSelectContext(CONTENT_NAME, __scopeSelect);
|
||
const contentContext = useSelectContentContext(CONTENT_NAME, __scopeSelect);
|
||
const [contentWrapper, setContentWrapper] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const [content, setContent] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, {
|
||
"SelectItemAlignedPosition.useComposedRefs[composedRefs]": (node)=>setContent(node)
|
||
}["SelectItemAlignedPosition.useComposedRefs[composedRefs]"]);
|
||
const getItems = useCollection(__scopeSelect);
|
||
const shouldExpandOnScrollRef = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](false);
|
||
const shouldRepositionRef = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](true);
|
||
const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;
|
||
const position = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"SelectItemAlignedPosition.useCallback[position]": ()=>{
|
||
if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {
|
||
const triggerRect = context.trigger.getBoundingClientRect();
|
||
const contentRect = content.getBoundingClientRect();
|
||
const valueNodeRect = context.valueNode.getBoundingClientRect();
|
||
const itemTextRect = selectedItemText.getBoundingClientRect();
|
||
if (context.dir !== "rtl") {
|
||
const itemTextOffset = itemTextRect.left - contentRect.left;
|
||
const left = valueNodeRect.left - itemTextOffset;
|
||
const leftDelta = triggerRect.left - left;
|
||
const minContentWidth = triggerRect.width + leftDelta;
|
||
const contentWidth = Math.max(minContentWidth, contentRect.width);
|
||
const rightEdge = window.innerWidth - CONTENT_MARGIN;
|
||
const clampedLeft = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$number$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["clamp"])(left, [
|
||
CONTENT_MARGIN,
|
||
// Prevents the content from going off the starting edge of the
|
||
// viewport. It may still go off the ending edge, but this can be
|
||
// controlled by the user since they may want to manage overflow in a
|
||
// specific way.
|
||
// https://github.com/radix-ui/primitives/issues/2049
|
||
Math.max(CONTENT_MARGIN, rightEdge - contentWidth)
|
||
]);
|
||
contentWrapper.style.minWidth = minContentWidth + "px";
|
||
contentWrapper.style.left = clampedLeft + "px";
|
||
} else {
|
||
const itemTextOffset = contentRect.right - itemTextRect.right;
|
||
const right = window.innerWidth - valueNodeRect.right - itemTextOffset;
|
||
const rightDelta = window.innerWidth - triggerRect.right - right;
|
||
const minContentWidth = triggerRect.width + rightDelta;
|
||
const contentWidth = Math.max(minContentWidth, contentRect.width);
|
||
const leftEdge = window.innerWidth - CONTENT_MARGIN;
|
||
const clampedRight = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$number$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["clamp"])(right, [
|
||
CONTENT_MARGIN,
|
||
Math.max(CONTENT_MARGIN, leftEdge - contentWidth)
|
||
]);
|
||
contentWrapper.style.minWidth = minContentWidth + "px";
|
||
contentWrapper.style.right = clampedRight + "px";
|
||
}
|
||
const items = getItems();
|
||
const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;
|
||
const itemsHeight = viewport.scrollHeight;
|
||
const contentStyles = window.getComputedStyle(content);
|
||
const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);
|
||
const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);
|
||
const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);
|
||
const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);
|
||
const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth;
|
||
const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);
|
||
const viewportStyles = window.getComputedStyle(viewport);
|
||
const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);
|
||
const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);
|
||
const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - CONTENT_MARGIN;
|
||
const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;
|
||
const selectedItemHalfHeight = selectedItem.offsetHeight / 2;
|
||
const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;
|
||
const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;
|
||
const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;
|
||
const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;
|
||
if (willAlignWithoutTopOverflow) {
|
||
const isLastItem = items.length > 0 && selectedItem === items[items.length - 1].ref.current;
|
||
contentWrapper.style.bottom = "0px";
|
||
const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;
|
||
const clampedTriggerMiddleToBottomEdge = Math.max(triggerMiddleToBottomEdge, selectedItemHalfHeight + // viewport might have padding bottom, include it to avoid a scrollable viewport
|
||
(isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth);
|
||
const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;
|
||
contentWrapper.style.height = height + "px";
|
||
} else {
|
||
const isFirstItem = items.length > 0 && selectedItem === items[0].ref.current;
|
||
contentWrapper.style.top = "0px";
|
||
const clampedTopEdgeToTriggerMiddle = Math.max(topEdgeToTriggerMiddle, contentBorderTopWidth + viewport.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport
|
||
(isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight);
|
||
const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;
|
||
contentWrapper.style.height = height + "px";
|
||
viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;
|
||
}
|
||
contentWrapper.style.margin = `${CONTENT_MARGIN}px 0`;
|
||
contentWrapper.style.minHeight = minContentHeight + "px";
|
||
contentWrapper.style.maxHeight = availableHeight + "px";
|
||
onPlaced?.();
|
||
requestAnimationFrame({
|
||
"SelectItemAlignedPosition.useCallback[position]": ()=>shouldExpandOnScrollRef.current = true
|
||
}["SelectItemAlignedPosition.useCallback[position]"]);
|
||
}
|
||
}
|
||
}["SelectItemAlignedPosition.useCallback[position]"], [
|
||
getItems,
|
||
context.trigger,
|
||
context.valueNode,
|
||
contentWrapper,
|
||
content,
|
||
viewport,
|
||
selectedItem,
|
||
selectedItemText,
|
||
context.dir,
|
||
onPlaced
|
||
]);
|
||
(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLayoutEffect"])({
|
||
"SelectItemAlignedPosition.useLayoutEffect": ()=>position()
|
||
}["SelectItemAlignedPosition.useLayoutEffect"], [
|
||
position
|
||
]);
|
||
const [contentZIndex, setContentZIndex] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"]();
|
||
(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLayoutEffect"])({
|
||
"SelectItemAlignedPosition.useLayoutEffect": ()=>{
|
||
if (content) setContentZIndex(window.getComputedStyle(content).zIndex);
|
||
}
|
||
}["SelectItemAlignedPosition.useLayoutEffect"], [
|
||
content
|
||
]);
|
||
const handleScrollButtonChange = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"SelectItemAlignedPosition.useCallback[handleScrollButtonChange]": (node)=>{
|
||
if (node && shouldRepositionRef.current === true) {
|
||
position();
|
||
focusSelectedItem?.();
|
||
shouldRepositionRef.current = false;
|
||
}
|
||
}
|
||
}["SelectItemAlignedPosition.useCallback[handleScrollButtonChange]"], [
|
||
position,
|
||
focusSelectedItem
|
||
]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SelectViewportProvider, {
|
||
scope: __scopeSelect,
|
||
contentWrapper,
|
||
shouldExpandOnScrollRef,
|
||
onScrollButtonChange: handleScrollButtonChange,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])("div", {
|
||
ref: setContentWrapper,
|
||
style: {
|
||
display: "flex",
|
||
flexDirection: "column",
|
||
position: "fixed",
|
||
zIndex: contentZIndex
|
||
},
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$select$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].div, {
|
||
...popperProps,
|
||
ref: composedRefs,
|
||
style: {
|
||
// When we get the height of the content, it includes borders. If we were to set
|
||
// the height without having `boxSizing: 'border-box'` it would be too big.
|
||
boxSizing: "border-box",
|
||
// We need to ensure the content doesn't get taller than the wrapper
|
||
maxHeight: "100%",
|
||
...popperProps.style
|
||
}
|
||
})
|
||
})
|
||
});
|
||
});
|
||
SelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;
|
||
var POPPER_POSITION_NAME = "SelectPopperPosition";
|
||
var SelectPopperPosition = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, align = "start", collisionPadding = CONTENT_MARGIN, ...popperProps } = props;
|
||
const popperScope = usePopperScope(__scopeSelect);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Content"], {
|
||
...popperScope,
|
||
...popperProps,
|
||
ref: forwardedRef,
|
||
align,
|
||
collisionPadding,
|
||
style: {
|
||
// Ensure border-box for floating-ui calculations
|
||
boxSizing: "border-box",
|
||
...popperProps.style,
|
||
// re-namespace exposed content custom properties
|
||
...{
|
||
"--radix-select-content-transform-origin": "var(--radix-popper-transform-origin)",
|
||
"--radix-select-content-available-width": "var(--radix-popper-available-width)",
|
||
"--radix-select-content-available-height": "var(--radix-popper-available-height)",
|
||
"--radix-select-trigger-width": "var(--radix-popper-anchor-width)",
|
||
"--radix-select-trigger-height": "var(--radix-popper-anchor-height)"
|
||
}
|
||
}
|
||
});
|
||
});
|
||
SelectPopperPosition.displayName = POPPER_POSITION_NAME;
|
||
var [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME, {});
|
||
var VIEWPORT_NAME = "SelectViewport";
|
||
var SelectViewport = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, nonce, ...viewportProps } = props;
|
||
const contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);
|
||
const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, contentContext.onViewportChange);
|
||
const prevScrollTopRef = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](0);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxs"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Fragment"], {
|
||
children: [
|
||
/* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])("style", {
|
||
dangerouslySetInnerHTML: {
|
||
__html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`
|
||
},
|
||
nonce
|
||
}),
|
||
/* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Collection.Slot, {
|
||
scope: __scopeSelect,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$select$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].div, {
|
||
"data-radix-select-viewport": "",
|
||
role: "presentation",
|
||
...viewportProps,
|
||
ref: composedRefs,
|
||
style: {
|
||
// we use position: 'relative' here on the `viewport` so that when we call
|
||
// `selectedItem.offsetTop` in calculations, the offset is relative to the viewport
|
||
// (independent of the scrollUpButton).
|
||
position: "relative",
|
||
flex: 1,
|
||
// Viewport should only be scrollable in the vertical direction.
|
||
// This won't work in vertical writing modes, so we'll need to
|
||
// revisit this if/when that is supported
|
||
// https://developer.chrome.com/blog/vertical-form-controls
|
||
overflow: "hidden auto",
|
||
...viewportProps.style
|
||
},
|
||
onScroll: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(viewportProps.onScroll, (event)=>{
|
||
const viewport = event.currentTarget;
|
||
const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;
|
||
if (shouldExpandOnScrollRef?.current && contentWrapper) {
|
||
const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);
|
||
if (scrolledBy > 0) {
|
||
const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;
|
||
const cssMinHeight = parseFloat(contentWrapper.style.minHeight);
|
||
const cssHeight = parseFloat(contentWrapper.style.height);
|
||
const prevHeight = Math.max(cssMinHeight, cssHeight);
|
||
if (prevHeight < availableHeight) {
|
||
const nextHeight = prevHeight + scrolledBy;
|
||
const clampedNextHeight = Math.min(availableHeight, nextHeight);
|
||
const heightDiff = nextHeight - clampedNextHeight;
|
||
contentWrapper.style.height = clampedNextHeight + "px";
|
||
if (contentWrapper.style.bottom === "0px") {
|
||
viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;
|
||
contentWrapper.style.justifyContent = "flex-end";
|
||
}
|
||
}
|
||
}
|
||
}
|
||
prevScrollTopRef.current = viewport.scrollTop;
|
||
})
|
||
})
|
||
})
|
||
]
|
||
});
|
||
});
|
||
SelectViewport.displayName = VIEWPORT_NAME;
|
||
var GROUP_NAME = "SelectGroup";
|
||
var [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME);
|
||
var SelectGroup = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, ...groupProps } = props;
|
||
const groupId = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$id$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useId"])();
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SelectGroupContextProvider, {
|
||
scope: __scopeSelect,
|
||
id: groupId,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$select$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].div, {
|
||
role: "group",
|
||
"aria-labelledby": groupId,
|
||
...groupProps,
|
||
ref: forwardedRef
|
||
})
|
||
});
|
||
});
|
||
SelectGroup.displayName = GROUP_NAME;
|
||
var LABEL_NAME = "SelectLabel";
|
||
var SelectLabel = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, ...labelProps } = props;
|
||
const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$select$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].div, {
|
||
id: groupContext.id,
|
||
...labelProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
SelectLabel.displayName = LABEL_NAME;
|
||
var ITEM_NAME = "SelectItem";
|
||
var [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME);
|
||
var SelectItem = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, value, disabled = false, textValue: textValueProp, ...itemProps } = props;
|
||
const context = useSelectContext(ITEM_NAME, __scopeSelect);
|
||
const contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);
|
||
const isSelected = context.value === value;
|
||
const [textValue, setTextValue] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](textValueProp ?? "");
|
||
const [isFocused, setIsFocused] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](false);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, {
|
||
"SelectItem.useComposedRefs[composedRefs]": (node)=>contentContext.itemRefCallback?.(node, value, disabled)
|
||
}["SelectItem.useComposedRefs[composedRefs]"]);
|
||
const textId = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$id$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useId"])();
|
||
const pointerTypeRef = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"]("touch");
|
||
const handleSelect = ()=>{
|
||
if (!disabled) {
|
||
context.onValueChange(value);
|
||
context.onOpenChange(false);
|
||
}
|
||
};
|
||
if (value === "") {
|
||
throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");
|
||
}
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SelectItemContextProvider, {
|
||
scope: __scopeSelect,
|
||
value,
|
||
disabled,
|
||
textId,
|
||
isSelected,
|
||
onItemTextChange: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"SelectItem.useCallback": (node)=>{
|
||
setTextValue({
|
||
"SelectItem.useCallback": (prevTextValue)=>prevTextValue || (node?.textContent ?? "").trim()
|
||
}["SelectItem.useCallback"]);
|
||
}
|
||
}["SelectItem.useCallback"], []),
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Collection.ItemSlot, {
|
||
scope: __scopeSelect,
|
||
value,
|
||
disabled,
|
||
textValue,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$select$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].div, {
|
||
role: "option",
|
||
"aria-labelledby": textId,
|
||
"data-highlighted": isFocused ? "" : void 0,
|
||
"aria-selected": isSelected && isFocused,
|
||
"data-state": isSelected ? "checked" : "unchecked",
|
||
"aria-disabled": disabled || void 0,
|
||
"data-disabled": disabled ? "" : void 0,
|
||
tabIndex: disabled ? void 0 : -1,
|
||
...itemProps,
|
||
ref: composedRefs,
|
||
onFocus: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(itemProps.onFocus, ()=>setIsFocused(true)),
|
||
onBlur: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(itemProps.onBlur, ()=>setIsFocused(false)),
|
||
onClick: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(itemProps.onClick, ()=>{
|
||
if (pointerTypeRef.current !== "mouse") handleSelect();
|
||
}),
|
||
onPointerUp: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(itemProps.onPointerUp, ()=>{
|
||
if (pointerTypeRef.current === "mouse") handleSelect();
|
||
}),
|
||
onPointerDown: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(itemProps.onPointerDown, (event)=>{
|
||
pointerTypeRef.current = event.pointerType;
|
||
}),
|
||
onPointerMove: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(itemProps.onPointerMove, (event)=>{
|
||
pointerTypeRef.current = event.pointerType;
|
||
if (disabled) {
|
||
contentContext.onItemLeave?.();
|
||
} else if (pointerTypeRef.current === "mouse") {
|
||
event.currentTarget.focus({
|
||
preventScroll: true
|
||
});
|
||
}
|
||
}),
|
||
onPointerLeave: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(itemProps.onPointerLeave, (event)=>{
|
||
if (event.currentTarget === document.activeElement) {
|
||
contentContext.onItemLeave?.();
|
||
}
|
||
}),
|
||
onKeyDown: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(itemProps.onKeyDown, (event)=>{
|
||
const isTypingAhead = contentContext.searchRef?.current !== "";
|
||
if (isTypingAhead && event.key === " ") return;
|
||
if (SELECTION_KEYS.includes(event.key)) handleSelect();
|
||
if (event.key === " ") event.preventDefault();
|
||
})
|
||
})
|
||
})
|
||
});
|
||
});
|
||
SelectItem.displayName = ITEM_NAME;
|
||
var ITEM_TEXT_NAME = "SelectItemText";
|
||
var SelectItemText = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, className, style, ...itemTextProps } = props;
|
||
const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);
|
||
const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);
|
||
const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);
|
||
const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);
|
||
const [itemTextNode, setItemTextNode] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, {
|
||
"SelectItemText.useComposedRefs[composedRefs]": (node)=>setItemTextNode(node)
|
||
}["SelectItemText.useComposedRefs[composedRefs]"], itemContext.onItemTextChange, {
|
||
"SelectItemText.useComposedRefs[composedRefs]": (node)=>contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled)
|
||
}["SelectItemText.useComposedRefs[composedRefs]"]);
|
||
const textContent = itemTextNode?.textContent;
|
||
const nativeOption = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"]({
|
||
"SelectItemText.useMemo[nativeOption]": ()=>/* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])("option", {
|
||
value: itemContext.value,
|
||
disabled: itemContext.disabled,
|
||
children: textContent
|
||
}, itemContext.value)
|
||
}["SelectItemText.useMemo[nativeOption]"], [
|
||
itemContext.disabled,
|
||
itemContext.value,
|
||
textContent
|
||
]);
|
||
const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;
|
||
(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLayoutEffect"])({
|
||
"SelectItemText.useLayoutEffect": ()=>{
|
||
onNativeOptionAdd(nativeOption);
|
||
return ({
|
||
"SelectItemText.useLayoutEffect": ()=>onNativeOptionRemove(nativeOption)
|
||
})["SelectItemText.useLayoutEffect"];
|
||
}
|
||
}["SelectItemText.useLayoutEffect"], [
|
||
onNativeOptionAdd,
|
||
onNativeOptionRemove,
|
||
nativeOption
|
||
]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxs"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Fragment"], {
|
||
children: [
|
||
/* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$select$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].span, {
|
||
id: itemContext.textId,
|
||
...itemTextProps,
|
||
ref: composedRefs
|
||
}),
|
||
itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2d$dom$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createPortal"](itemTextProps.children, context.valueNode) : null
|
||
]
|
||
});
|
||
});
|
||
SelectItemText.displayName = ITEM_TEXT_NAME;
|
||
var ITEM_INDICATOR_NAME = "SelectItemIndicator";
|
||
var SelectItemIndicator = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, ...itemIndicatorProps } = props;
|
||
const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);
|
||
return itemContext.isSelected ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$select$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].span, {
|
||
"aria-hidden": true,
|
||
...itemIndicatorProps,
|
||
ref: forwardedRef
|
||
}) : null;
|
||
});
|
||
SelectItemIndicator.displayName = ITEM_INDICATOR_NAME;
|
||
var SCROLL_UP_BUTTON_NAME = "SelectScrollUpButton";
|
||
var SelectScrollUpButton = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);
|
||
const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);
|
||
const [canScrollUp, setCanScrollUp] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](false);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, viewportContext.onScrollButtonChange);
|
||
(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLayoutEffect"])({
|
||
"SelectScrollUpButton.useLayoutEffect": ()=>{
|
||
if (contentContext.viewport && contentContext.isPositioned) {
|
||
let handleScroll2 = {
|
||
"SelectScrollUpButton.useLayoutEffect.handleScroll2": function() {
|
||
const canScrollUp2 = viewport.scrollTop > 0;
|
||
setCanScrollUp(canScrollUp2);
|
||
}
|
||
}["SelectScrollUpButton.useLayoutEffect.handleScroll2"];
|
||
var handleScroll = handleScroll2;
|
||
const viewport = contentContext.viewport;
|
||
handleScroll2();
|
||
viewport.addEventListener("scroll", handleScroll2);
|
||
return ({
|
||
"SelectScrollUpButton.useLayoutEffect": ()=>viewport.removeEventListener("scroll", handleScroll2)
|
||
})["SelectScrollUpButton.useLayoutEffect"];
|
||
}
|
||
}
|
||
}["SelectScrollUpButton.useLayoutEffect"], [
|
||
contentContext.viewport,
|
||
contentContext.isPositioned
|
||
]);
|
||
return canScrollUp ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SelectScrollButtonImpl, {
|
||
...props,
|
||
ref: composedRefs,
|
||
onAutoScroll: ()=>{
|
||
const { viewport, selectedItem } = contentContext;
|
||
if (viewport && selectedItem) {
|
||
viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;
|
||
}
|
||
}
|
||
}) : null;
|
||
});
|
||
SelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;
|
||
var SCROLL_DOWN_BUTTON_NAME = "SelectScrollDownButton";
|
||
var SelectScrollDownButton = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);
|
||
const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);
|
||
const [canScrollDown, setCanScrollDown] = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](false);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, viewportContext.onScrollButtonChange);
|
||
(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLayoutEffect"])({
|
||
"SelectScrollDownButton.useLayoutEffect": ()=>{
|
||
if (contentContext.viewport && contentContext.isPositioned) {
|
||
let handleScroll2 = {
|
||
"SelectScrollDownButton.useLayoutEffect.handleScroll2": function() {
|
||
const maxScroll = viewport.scrollHeight - viewport.clientHeight;
|
||
const canScrollDown2 = Math.ceil(viewport.scrollTop) < maxScroll;
|
||
setCanScrollDown(canScrollDown2);
|
||
}
|
||
}["SelectScrollDownButton.useLayoutEffect.handleScroll2"];
|
||
var handleScroll = handleScroll2;
|
||
const viewport = contentContext.viewport;
|
||
handleScroll2();
|
||
viewport.addEventListener("scroll", handleScroll2);
|
||
return ({
|
||
"SelectScrollDownButton.useLayoutEffect": ()=>viewport.removeEventListener("scroll", handleScroll2)
|
||
})["SelectScrollDownButton.useLayoutEffect"];
|
||
}
|
||
}
|
||
}["SelectScrollDownButton.useLayoutEffect"], [
|
||
contentContext.viewport,
|
||
contentContext.isPositioned
|
||
]);
|
||
return canScrollDown ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SelectScrollButtonImpl, {
|
||
...props,
|
||
ref: composedRefs,
|
||
onAutoScroll: ()=>{
|
||
const { viewport, selectedItem } = contentContext;
|
||
if (viewport && selectedItem) {
|
||
viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;
|
||
}
|
||
}
|
||
}) : null;
|
||
});
|
||
SelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;
|
||
var SelectScrollButtonImpl = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;
|
||
const contentContext = useSelectContentContext("SelectScrollButton", __scopeSelect);
|
||
const autoScrollTimerRef = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const getItems = useCollection(__scopeSelect);
|
||
const clearAutoScrollTimer = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"SelectScrollButtonImpl.useCallback[clearAutoScrollTimer]": ()=>{
|
||
if (autoScrollTimerRef.current !== null) {
|
||
window.clearInterval(autoScrollTimerRef.current);
|
||
autoScrollTimerRef.current = null;
|
||
}
|
||
}
|
||
}["SelectScrollButtonImpl.useCallback[clearAutoScrollTimer]"], []);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"SelectScrollButtonImpl.useEffect": ()=>{
|
||
return ({
|
||
"SelectScrollButtonImpl.useEffect": ()=>clearAutoScrollTimer()
|
||
})["SelectScrollButtonImpl.useEffect"];
|
||
}
|
||
}["SelectScrollButtonImpl.useEffect"], [
|
||
clearAutoScrollTimer
|
||
]);
|
||
(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLayoutEffect"])({
|
||
"SelectScrollButtonImpl.useLayoutEffect": ()=>{
|
||
const activeItem = getItems().find({
|
||
"SelectScrollButtonImpl.useLayoutEffect.activeItem": (item)=>item.ref.current === document.activeElement
|
||
}["SelectScrollButtonImpl.useLayoutEffect.activeItem"]);
|
||
activeItem?.ref.current?.scrollIntoView({
|
||
block: "nearest"
|
||
});
|
||
}
|
||
}["SelectScrollButtonImpl.useLayoutEffect"], [
|
||
getItems
|
||
]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$select$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].div, {
|
||
"aria-hidden": true,
|
||
...scrollIndicatorProps,
|
||
ref: forwardedRef,
|
||
style: {
|
||
flexShrink: 0,
|
||
...scrollIndicatorProps.style
|
||
},
|
||
onPointerDown: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(scrollIndicatorProps.onPointerDown, ()=>{
|
||
if (autoScrollTimerRef.current === null) {
|
||
autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);
|
||
}
|
||
}),
|
||
onPointerMove: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(scrollIndicatorProps.onPointerMove, ()=>{
|
||
contentContext.onItemLeave?.();
|
||
if (autoScrollTimerRef.current === null) {
|
||
autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);
|
||
}
|
||
}),
|
||
onPointerLeave: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(scrollIndicatorProps.onPointerLeave, ()=>{
|
||
clearAutoScrollTimer();
|
||
})
|
||
});
|
||
});
|
||
var SEPARATOR_NAME = "SelectSeparator";
|
||
var SelectSeparator = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, ...separatorProps } = props;
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$select$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].div, {
|
||
"aria-hidden": true,
|
||
...separatorProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
SelectSeparator.displayName = SEPARATOR_NAME;
|
||
var ARROW_NAME = "SelectArrow";
|
||
var SelectArrow = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, ...arrowProps } = props;
|
||
const popperScope = usePopperScope(__scopeSelect);
|
||
const context = useSelectContext(ARROW_NAME, __scopeSelect);
|
||
const contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);
|
||
return context.open && contentContext.position === "popper" ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Arrow"], {
|
||
...popperScope,
|
||
...arrowProps,
|
||
ref: forwardedRef
|
||
}) : null;
|
||
});
|
||
SelectArrow.displayName = ARROW_NAME;
|
||
var BUBBLE_INPUT_NAME = "SelectBubbleInput";
|
||
var SelectBubbleInput = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"](({ __scopeSelect, value, ...props }, forwardedRef)=>{
|
||
const ref = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, ref);
|
||
const prevValue = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$previous$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["usePrevious"])(value);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"SelectBubbleInput.useEffect": ()=>{
|
||
const select = ref.current;
|
||
if (!select) return;
|
||
const selectProto = window.HTMLSelectElement.prototype;
|
||
const descriptor = Object.getOwnPropertyDescriptor(selectProto, "value");
|
||
const setValue = descriptor.set;
|
||
if (prevValue !== value && setValue) {
|
||
const event = new Event("change", {
|
||
bubbles: true
|
||
});
|
||
setValue.call(select, value);
|
||
select.dispatchEvent(event);
|
||
}
|
||
}
|
||
}["SelectBubbleInput.useEffect"], [
|
||
prevValue,
|
||
value
|
||
]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$select$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].select, {
|
||
...props,
|
||
style: {
|
||
...__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$visually$2d$hidden$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["VISUALLY_HIDDEN_STYLES"],
|
||
...props.style
|
||
},
|
||
ref: composedRefs,
|
||
defaultValue: value
|
||
});
|
||
});
|
||
SelectBubbleInput.displayName = BUBBLE_INPUT_NAME;
|
||
function shouldShowPlaceholder(value) {
|
||
return value === "" || value === void 0;
|
||
}
|
||
function useTypeaheadSearch(onSearchChange) {
|
||
const handleSearchChange = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$use$2d$callback$2d$ref$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallbackRef"])(onSearchChange);
|
||
const searchRef = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"]("");
|
||
const timerRef = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](0);
|
||
const handleTypeaheadSearch = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"useTypeaheadSearch.useCallback[handleTypeaheadSearch]": (key)=>{
|
||
const search = searchRef.current + key;
|
||
handleSearchChange(search);
|
||
(function updateSearch(value) {
|
||
searchRef.current = value;
|
||
window.clearTimeout(timerRef.current);
|
||
if (value !== "") timerRef.current = window.setTimeout({
|
||
"useTypeaheadSearch.useCallback[handleTypeaheadSearch].updateSearch": ()=>updateSearch("")
|
||
}["useTypeaheadSearch.useCallback[handleTypeaheadSearch].updateSearch"], 1e3);
|
||
})(search);
|
||
}
|
||
}["useTypeaheadSearch.useCallback[handleTypeaheadSearch]"], [
|
||
handleSearchChange
|
||
]);
|
||
const resetTypeahead = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"useTypeaheadSearch.useCallback[resetTypeahead]": ()=>{
|
||
searchRef.current = "";
|
||
window.clearTimeout(timerRef.current);
|
||
}
|
||
}["useTypeaheadSearch.useCallback[resetTypeahead]"], []);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"useTypeaheadSearch.useEffect": ()=>{
|
||
return ({
|
||
"useTypeaheadSearch.useEffect": ()=>window.clearTimeout(timerRef.current)
|
||
})["useTypeaheadSearch.useEffect"];
|
||
}
|
||
}["useTypeaheadSearch.useEffect"], []);
|
||
return [
|
||
searchRef,
|
||
handleTypeaheadSearch,
|
||
resetTypeahead
|
||
];
|
||
}
|
||
function findNextItem(items, search, currentItem) {
|
||
const isRepeated = search.length > 1 && Array.from(search).every((char)=>char === search[0]);
|
||
const normalizedSearch = isRepeated ? search[0] : search;
|
||
const currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;
|
||
let wrappedItems = wrapArray(items, Math.max(currentItemIndex, 0));
|
||
const excludeCurrentItem = normalizedSearch.length === 1;
|
||
if (excludeCurrentItem) wrappedItems = wrappedItems.filter((v)=>v !== currentItem);
|
||
const nextItem = wrappedItems.find((item)=>item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase()));
|
||
return nextItem !== currentItem ? nextItem : void 0;
|
||
}
|
||
function wrapArray(array, startIndex) {
|
||
return array.map((_, index)=>array[(startIndex + index) % array.length]);
|
||
}
|
||
var Root2 = Select;
|
||
var Trigger = SelectTrigger;
|
||
var Value = SelectValue;
|
||
var Icon = SelectIcon;
|
||
var Portal = SelectPortal;
|
||
var Content2 = SelectContent;
|
||
var Viewport = SelectViewport;
|
||
var Group = SelectGroup;
|
||
var Label = SelectLabel;
|
||
var Item = SelectItem;
|
||
var ItemText = SelectItemText;
|
||
var ItemIndicator = SelectItemIndicator;
|
||
var ScrollUpButton = SelectScrollUpButton;
|
||
var ScrollDownButton = SelectScrollDownButton;
|
||
var Separator = SelectSeparator;
|
||
var Arrow2 = SelectArrow;
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/chevron-down.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"__iconNode",
|
||
()=>__iconNode,
|
||
"default",
|
||
()=>ChevronDown
|
||
]);
|
||
/**
|
||
* @license lucide-react v0.562.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const __iconNode = [
|
||
[
|
||
"path",
|
||
{
|
||
d: "m6 9 6 6 6-6",
|
||
key: "qrunsl"
|
||
}
|
||
]
|
||
];
|
||
const ChevronDown = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("chevron-down", __iconNode);
|
||
;
|
||
//# sourceMappingURL=chevron-down.js.map
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/chevron-down.js [app-client] (ecmascript) <export default as ChevronDownIcon>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"ChevronDownIcon",
|
||
()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$chevron$2d$down$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$chevron$2d$down$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/chevron-down.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/chevron-up.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"__iconNode",
|
||
()=>__iconNode,
|
||
"default",
|
||
()=>ChevronUp
|
||
]);
|
||
/**
|
||
* @license lucide-react v0.562.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const __iconNode = [
|
||
[
|
||
"path",
|
||
{
|
||
d: "m18 15-6-6-6 6",
|
||
key: "153udz"
|
||
}
|
||
]
|
||
];
|
||
const ChevronUp = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("chevron-up", __iconNode);
|
||
;
|
||
//# sourceMappingURL=chevron-up.js.map
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/chevron-up.js [app-client] (ecmascript) <export default as ChevronUpIcon>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"ChevronUpIcon",
|
||
()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$chevron$2d$up$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$chevron$2d$up$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/chevron-up.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/chevrons-up-down.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"__iconNode",
|
||
()=>__iconNode,
|
||
"default",
|
||
()=>ChevronsUpDown
|
||
]);
|
||
/**
|
||
* @license lucide-react v0.562.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const __iconNode = [
|
||
[
|
||
"path",
|
||
{
|
||
d: "m7 15 5 5 5-5",
|
||
key: "1hf1tw"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "m7 9 5-5 5 5",
|
||
key: "sgt6xg"
|
||
}
|
||
]
|
||
];
|
||
const ChevronsUpDown = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("chevrons-up-down", __iconNode);
|
||
;
|
||
//# sourceMappingURL=chevrons-up-down.js.map
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/chevrons-up-down.js [app-client] (ecmascript) <export default as ChevronsUpDownIcon>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"ChevronsUpDownIcon",
|
||
()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$chevrons$2d$up$2d$down$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$chevrons$2d$up$2d$down$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/chevrons-up-down.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/clipboard.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"__iconNode",
|
||
()=>__iconNode,
|
||
"default",
|
||
()=>Clipboard
|
||
]);
|
||
/**
|
||
* @license lucide-react v0.562.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const __iconNode = [
|
||
[
|
||
"rect",
|
||
{
|
||
width: "8",
|
||
height: "4",
|
||
x: "8",
|
||
y: "2",
|
||
rx: "1",
|
||
ry: "1",
|
||
key: "tgr4d6"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",
|
||
key: "116196"
|
||
}
|
||
]
|
||
];
|
||
const Clipboard = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("clipboard", __iconNode);
|
||
;
|
||
//# sourceMappingURL=clipboard.js.map
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/clipboard.js [app-client] (ecmascript) <export default as ClipboardIcon>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"ClipboardIcon",
|
||
()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$clipboard$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$clipboard$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/clipboard.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/eye.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"__iconNode",
|
||
()=>__iconNode,
|
||
"default",
|
||
()=>Eye
|
||
]);
|
||
/**
|
||
* @license lucide-react v0.562.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const __iconNode = [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",
|
||
key: "1nclc0"
|
||
}
|
||
],
|
||
[
|
||
"circle",
|
||
{
|
||
cx: "12",
|
||
cy: "12",
|
||
r: "3",
|
||
key: "1v7zrd"
|
||
}
|
||
]
|
||
];
|
||
const Eye = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("eye", __iconNode);
|
||
;
|
||
//# sourceMappingURL=eye.js.map
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/eye.js [app-client] (ecmascript) <export default as EyeIcon>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"EyeIcon",
|
||
()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$eye$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$eye$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/eye.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/file-code.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"__iconNode",
|
||
()=>__iconNode,
|
||
"default",
|
||
()=>FileCode
|
||
]);
|
||
/**
|
||
* @license lucide-react v0.562.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const __iconNode = [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",
|
||
key: "1oefj6"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M14 2v5a1 1 0 0 0 1 1h5",
|
||
key: "wfsgrz"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M10 12.5 8 15l2 2.5",
|
||
key: "1tg20x"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "m14 12.5 2 2.5-2 2.5",
|
||
key: "yinavb"
|
||
}
|
||
]
|
||
];
|
||
const FileCode = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("file-code", __iconNode);
|
||
;
|
||
//# sourceMappingURL=file-code.js.map
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/file-code.js [app-client] (ecmascript) <export default as FileCodeIcon>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"FileCodeIcon",
|
||
()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$file$2d$code$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$file$2d$code$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/file-code.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/hard-drive.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"__iconNode",
|
||
()=>__iconNode,
|
||
"default",
|
||
()=>HardDrive
|
||
]);
|
||
/**
|
||
* @license lucide-react v0.562.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const __iconNode = [
|
||
[
|
||
"line",
|
||
{
|
||
x1: "22",
|
||
x2: "2",
|
||
y1: "12",
|
||
y2: "12",
|
||
key: "1y58io"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",
|
||
key: "oot6mr"
|
||
}
|
||
],
|
||
[
|
||
"line",
|
||
{
|
||
x1: "6",
|
||
x2: "6.01",
|
||
y1: "16",
|
||
y2: "16",
|
||
key: "sgf278"
|
||
}
|
||
],
|
||
[
|
||
"line",
|
||
{
|
||
x1: "10",
|
||
x2: "10.01",
|
||
y1: "16",
|
||
y2: "16",
|
||
key: "1l4acy"
|
||
}
|
||
]
|
||
];
|
||
const HardDrive = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("hard-drive", __iconNode);
|
||
;
|
||
//# sourceMappingURL=hard-drive.js.map
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/hard-drive.js [app-client] (ecmascript) <export default as HardDriveIcon>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"HardDriveIcon",
|
||
()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$hard$2d$drive$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$hard$2d$drive$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/hard-drive.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/refresh-cw.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"__iconNode",
|
||
()=>__iconNode,
|
||
"default",
|
||
()=>RefreshCw
|
||
]);
|
||
/**
|
||
* @license lucide-react v0.562.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const __iconNode = [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",
|
||
key: "v9h5vc"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M21 3v5h-5",
|
||
key: "1q7to0"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",
|
||
key: "3uifl3"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M8 16H3v5",
|
||
key: "1cv678"
|
||
}
|
||
]
|
||
];
|
||
const RefreshCw = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("refresh-cw", __iconNode);
|
||
;
|
||
//# sourceMappingURL=refresh-cw.js.map
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/refresh-cw.js [app-client] (ecmascript) <export default as RefreshCwIcon>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"RefreshCwIcon",
|
||
()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$refresh$2d$cw$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$refresh$2d$cw$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/refresh-cw.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/search.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"__iconNode",
|
||
()=>__iconNode,
|
||
"default",
|
||
()=>Search
|
||
]);
|
||
/**
|
||
* @license lucide-react v0.562.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const __iconNode = [
|
||
[
|
||
"path",
|
||
{
|
||
d: "m21 21-4.34-4.34",
|
||
key: "14j7rj"
|
||
}
|
||
],
|
||
[
|
||
"circle",
|
||
{
|
||
cx: "11",
|
||
cy: "11",
|
||
r: "8",
|
||
key: "4ej97u"
|
||
}
|
||
]
|
||
];
|
||
const Search = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("search", __iconNode);
|
||
;
|
||
//# sourceMappingURL=search.js.map
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/search.js [app-client] (ecmascript) <export default as SearchIcon>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"SearchIcon",
|
||
()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$search$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$search$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/search.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/tag.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"__iconNode",
|
||
()=>__iconNode,
|
||
"default",
|
||
()=>Tag
|
||
]);
|
||
/**
|
||
* @license lucide-react v0.562.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const __iconNode = [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",
|
||
key: "vktsd0"
|
||
}
|
||
],
|
||
[
|
||
"circle",
|
||
{
|
||
cx: "7.5",
|
||
cy: "7.5",
|
||
r: ".5",
|
||
fill: "currentColor",
|
||
key: "kqv944"
|
||
}
|
||
]
|
||
];
|
||
const Tag = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("tag", __iconNode);
|
||
;
|
||
//# sourceMappingURL=tag.js.map
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/tag.js [app-client] (ecmascript) <export default as TagIcon>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"TagIcon",
|
||
()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$tag$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$tag$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/tag.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/layers.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"__iconNode",
|
||
()=>__iconNode,
|
||
"default",
|
||
()=>Layers
|
||
]);
|
||
/**
|
||
* @license lucide-react v0.562.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const __iconNode = [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",
|
||
key: "zw3jo"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",
|
||
key: "1wduqc"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",
|
||
key: "kqbvx6"
|
||
}
|
||
]
|
||
];
|
||
const Layers = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("layers", __iconNode);
|
||
;
|
||
//# sourceMappingURL=layers.js.map
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/layers.js [app-client] (ecmascript) <export default as LayersIcon>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"LayersIcon",
|
||
()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$layers$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$layers$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/layers.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/box.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"__iconNode",
|
||
()=>__iconNode,
|
||
"default",
|
||
()=>Box
|
||
]);
|
||
/**
|
||
* @license lucide-react v0.562.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const __iconNode = [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",
|
||
key: "hh9hay"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "m3.3 7 8.7 5 8.7-5",
|
||
key: "g66t2b"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M12 22V12",
|
||
key: "d0xqtd"
|
||
}
|
||
]
|
||
];
|
||
const Box = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("box", __iconNode);
|
||
;
|
||
//# sourceMappingURL=box.js.map
|
||
}),
|
||
"[project]/node_modules/lucide-react/dist/esm/icons/box.js [app-client] (ecmascript) <export default as BoxIcon>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"BoxIcon",
|
||
()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$box$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$box$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/box.js [app-client] (ecmascript)");
|
||
}),
|
||
]);
|
||
|
||
//# sourceMappingURL=node_modules_fdcb218a._.js.map
|