UNPKG

storybook

Version:

Storybook: Develop, document, and test UI components in isolation

768 lines (763 loc) • 25.7 kB
import CJS_COMPAT_NODE_URL_3za304dh1il from 'node:url'; import CJS_COMPAT_NODE_PATH_3za304dh1il from 'node:path'; import CJS_COMPAT_NODE_MODULE_3za304dh1il from "node:module"; var __filename = CJS_COMPAT_NODE_URL_3za304dh1il.fileURLToPath(import.meta.url); var __dirname = CJS_COMPAT_NODE_PATH_3za304dh1il.dirname(__filename); var require = CJS_COMPAT_NODE_MODULE_3za304dh1il.createRequire(import.meta.url); // ------------------------------------------------------------ // end of CJS compatibility banner, injected by Storybook's esbuild configuration // ------------------------------------------------------------ // ../../node_modules/valibot/dist/index.mjs var store$4, DEFAULT_CONFIG = { lang: void 0, message: void 0, abortEarly: void 0, abortPipeEarly: void 0 }; function getGlobalConfig(config$1) { return !config$1 && !store$4 ? DEFAULT_CONFIG : { lang: config$1?.lang ?? store$4?.lang, message: config$1?.message, abortEarly: config$1?.abortEarly ?? store$4?.abortEarly, abortPipeEarly: config$1?.abortPipeEarly ?? store$4?.abortPipeEarly }; } var store$3; function getGlobalMessage(lang) { return store$3?.get(lang); } var store$2; function getSchemaMessage(lang) { return store$2?.get(lang); } var store$1; function getSpecificMessage(reference, lang) { return store$1?.get(reference)?.get(lang); } function _stringify(input) { let type = typeof input; return type === "string" ? `"${input}"` : type === "number" || type === "bigint" || type === "boolean" ? `${input}` : type === "object" || type === "function" ? (input && Object.getPrototypeOf(input)?.constructor?.name) ?? "null" : type; } function _addIssue(context, label, dataset, config$1, other) { let input = other && "input" in other ? other.input : dataset.value, expected = other?.expected ?? context.expects ?? null, received = other?.received ?? _stringify(input), issue = { kind: context.kind, type: context.type, input, expected, received, message: `Invalid ${label}: ${expected ? `Expected ${expected} but r` : "R"}eceived ${received}`, requirement: context.requirement, path: other?.path, issues: other?.issues, lang: config$1.lang, abortEarly: config$1.abortEarly, abortPipeEarly: config$1.abortPipeEarly }, isSchema = context.kind === "schema", message$1 = other?.message ?? context.message ?? getSpecificMessage(context.reference, issue.lang) ?? (isSchema ? getSchemaMessage(issue.lang) : null) ?? config$1.message ?? getGlobalMessage(issue.lang); message$1 !== void 0 && (issue.message = typeof message$1 == "function" ? message$1(issue) : message$1), isSchema && (dataset.typed = !1), dataset.issues ? dataset.issues.push(issue) : dataset.issues = [issue]; } var _standardCache = /* @__PURE__ */ new WeakMap(); function _getStandardProps(context) { let cached = _standardCache.get(context); return cached || (cached = { version: 1, vendor: "valibot", validate(value$1) { return context["~run"]({ value: value$1 }, getGlobalConfig()); } }, _standardCache.set(context, cached)), cached; } function _isValidObjectKey(object$1, key) { return Object.prototype.hasOwnProperty.call(object$1, key) && key !== "__proto__" && key !== "prototype" && key !== "constructor"; } function _joinExpects(values$1, separator) { let list = [...new Set(values$1)]; return list.length > 1 ? `(${list.join(` ${separator} `)})` : list[0] ?? "never"; } function getDotPath(issue) { if (issue.path) { let key = ""; for (let item of issue.path) if (typeof item.key == "string" || typeof item.key == "number") key ? key += `.${item.key}` : key += item.key; else return null; return key; } return null; } var EMOJI_REGEX = new RegExp("^(?:[\\u{1F1E6}-\\u{1F1FF}]{2}|\\u{1F3F4}[\\u{E0061}-\\u{E007A}]{2}[\\u{E0030}-\\u{E0039}\\u{E0061}-\\u{E007A}]{1,3}\\u{E007F}|(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|(?![\\p{Emoji_Modifier_Base}\\u{1F1E6}-\\u{1F1FF}])\\p{Emoji_Presentation})(?:\\u200D(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|(?![\\p{Emoji_Modifier_Base}\\u{1F1E6}-\\u{1F1FF}])\\p{Emoji_Presentation}))*)+$", "u"); function description(description_) { return { kind: "metadata", type: "description", reference: description, description: description_ }; } function integer(message$1) { return { kind: "validation", type: "integer", reference: integer, async: !1, expects: null, requirement: Number.isInteger, message: message$1, "~run"(dataset, config$1) { return dataset.typed && !this.requirement(dataset.value) && _addIssue(this, "integer", dataset, config$1), dataset; } }; } function maxValue(requirement, message$1) { return { kind: "validation", type: "max_value", reference: maxValue, async: !1, expects: `<=${requirement instanceof Date ? requirement.toJSON() : _stringify(requirement)}`, requirement, message: message$1, "~run"(dataset, config$1) { return dataset.typed && !(dataset.value <= this.requirement) && _addIssue(this, "value", dataset, config$1, { received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value) }), dataset; } }; } function minValue(requirement, message$1) { return { kind: "validation", type: "min_value", reference: minValue, async: !1, expects: `>=${requirement instanceof Date ? requirement.toJSON() : _stringify(requirement)}`, requirement, message: message$1, "~run"(dataset, config$1) { return dataset.typed && !(dataset.value >= this.requirement) && _addIssue(this, "value", dataset, config$1, { received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value) }), dataset; } }; } function regex(requirement, message$1) { return { kind: "validation", type: "regex", reference: regex, async: !1, expects: `${requirement}`, requirement, message: message$1, "~run"(dataset, config$1) { return dataset.typed && !this.requirement.test(dataset.value) && _addIssue(this, "format", dataset, config$1), dataset; } }; } function safeInteger(message$1) { return { kind: "validation", type: "safe_integer", reference: safeInteger, async: !1, expects: null, requirement: Number.isSafeInteger, message: message$1, "~run"(dataset, config$1) { return dataset.typed && !this.requirement(dataset.value) && _addIssue(this, "safe integer", dataset, config$1), dataset; } }; } function transform(operation) { return { kind: "transformation", type: "transform", reference: transform, async: !1, operation, "~run"(dataset) { return dataset.value = this.operation(dataset.value), dataset; } }; } function trim() { return { kind: "transformation", type: "trim", reference: trim, async: !1, "~run"(dataset) { return dataset.value = dataset.value.trim(), dataset; } }; } var ABORT_EARLY_CONFIG = { abortEarly: !0 }; function getFallback(schema, dataset, config$1) { return typeof schema.fallback == "function" ? schema.fallback(dataset, config$1) : schema.fallback; } function getDefault(schema, dataset, config$1) { return typeof schema.default == "function" ? schema.default(dataset, config$1) : schema.default; } function array(item, message$1) { return { kind: "schema", type: "array", reference: array, expects: "Array", async: !1, item, message: message$1, get "~standard"() { return _getStandardProps(this); }, "~run"(dataset, config$1) { let input = dataset.value; if (Array.isArray(input)) { dataset.typed = !0, dataset.value = []; for (let key = 0; key < input.length; key++) { let value$1 = input[key], itemDataset = this.item["~run"]({ value: value$1 }, config$1); if (itemDataset.issues) { let pathItem = { type: "array", origin: "value", input, key, value: value$1 }; for (let issue of itemDataset.issues) issue.path ? issue.path.unshift(pathItem) : issue.path = [pathItem], dataset.issues?.push(issue); if (dataset.issues || (dataset.issues = itemDataset.issues), config$1.abortEarly) { dataset.typed = !1; break; } } itemDataset.typed || (dataset.typed = !1), dataset.value.push(itemDataset.value); } } else _addIssue(this, "type", dataset, config$1); return dataset; } }; } function boolean(message$1) { return { kind: "schema", type: "boolean", reference: boolean, expects: "boolean", async: !1, message: message$1, get "~standard"() { return _getStandardProps(this); }, "~run"(dataset, config$1) { return typeof dataset.value == "boolean" ? dataset.typed = !0 : _addIssue(this, "type", dataset, config$1), dataset; } }; } function custom(check$1, message$1) { return { kind: "schema", type: "custom", reference: custom, expects: "unknown", async: !1, check: check$1, message: message$1, get "~standard"() { return _getStandardProps(this); }, "~run"(dataset, config$1) { return this.check(dataset.value) ? dataset.typed = !0 : _addIssue(this, "type", dataset, config$1), dataset; } }; } function lazy(getter) { return { kind: "schema", type: "lazy", reference: lazy, expects: "unknown", async: !1, getter, get "~standard"() { return _getStandardProps(this); }, "~run"(dataset, config$1) { return this.getter(dataset.value)["~run"](dataset, config$1); } }; } function literal(literal_, message$1) { return { kind: "schema", type: "literal", reference: literal, expects: _stringify(literal_), async: !1, literal: literal_, message: message$1, get "~standard"() { return _getStandardProps(this); }, "~run"(dataset, config$1) { return dataset.value === this.literal ? dataset.typed = !0 : _addIssue(this, "type", dataset, config$1), dataset; } }; } function looseObject(entries$1, message$1) { return { kind: "schema", type: "loose_object", reference: looseObject, expects: "Object", async: !1, entries: entries$1, message: message$1, get "~standard"() { return _getStandardProps(this); }, "~run"(dataset, config$1) { let input = dataset.value; if (input && typeof input == "object") { dataset.typed = !0, dataset.value = {}; for (let key in this.entries) { let valueSchema = this.entries[key]; if (key in input || (valueSchema.type === "exact_optional" || valueSchema.type === "optional" || valueSchema.type === "nullish") && valueSchema.default !== void 0) { let value$1 = key in input ? input[key] : getDefault(valueSchema), valueDataset = valueSchema["~run"]({ value: value$1 }, config$1); if (valueDataset.issues) { let pathItem = { type: "object", origin: "value", input, key, value: value$1 }; for (let issue of valueDataset.issues) issue.path ? issue.path.unshift(pathItem) : issue.path = [pathItem], dataset.issues?.push(issue); if (dataset.issues || (dataset.issues = valueDataset.issues), config$1.abortEarly) { dataset.typed = !1; break; } } valueDataset.typed || (dataset.typed = !1), dataset.value[key] = valueDataset.value; } else if (valueSchema.fallback !== void 0) dataset.value[key] = getFallback(valueSchema); else if (valueSchema.type !== "exact_optional" && valueSchema.type !== "optional" && valueSchema.type !== "nullish" && (_addIssue(this, "key", dataset, config$1, { input: void 0, expected: `"${key}"`, path: [{ type: "object", origin: "key", input, key, value: input[key] }] }), config$1.abortEarly)) break; } if (!dataset.issues || !config$1.abortEarly) for (let key in input) _isValidObjectKey(input, key) && !(key in this.entries) && (dataset.value[key] = input[key]); } else _addIssue(this, "type", dataset, config$1); return dataset; } }; } function number(message$1) { return { kind: "schema", type: "number", reference: number, expects: "number", async: !1, message: message$1, get "~standard"() { return _getStandardProps(this); }, "~run"(dataset, config$1) { return typeof dataset.value == "number" && !isNaN(dataset.value) ? dataset.typed = !0 : _addIssue(this, "type", dataset, config$1), dataset; } }; } function object(entries$1, message$1) { return { kind: "schema", type: "object", reference: object, expects: "Object", async: !1, entries: entries$1, message: message$1, get "~standard"() { return _getStandardProps(this); }, "~run"(dataset, config$1) { let input = dataset.value; if (input && typeof input == "object") { dataset.typed = !0, dataset.value = {}; for (let key in this.entries) { let valueSchema = this.entries[key]; if (key in input || (valueSchema.type === "exact_optional" || valueSchema.type === "optional" || valueSchema.type === "nullish") && valueSchema.default !== void 0) { let value$1 = key in input ? input[key] : getDefault(valueSchema), valueDataset = valueSchema["~run"]({ value: value$1 }, config$1); if (valueDataset.issues) { let pathItem = { type: "object", origin: "value", input, key, value: value$1 }; for (let issue of valueDataset.issues) issue.path ? issue.path.unshift(pathItem) : issue.path = [pathItem], dataset.issues?.push(issue); if (dataset.issues || (dataset.issues = valueDataset.issues), config$1.abortEarly) { dataset.typed = !1; break; } } valueDataset.typed || (dataset.typed = !1), dataset.value[key] = valueDataset.value; } else if (valueSchema.fallback !== void 0) dataset.value[key] = getFallback(valueSchema); else if (valueSchema.type !== "exact_optional" && valueSchema.type !== "optional" && valueSchema.type !== "nullish" && (_addIssue(this, "key", dataset, config$1, { input: void 0, expected: `"${key}"`, path: [{ type: "object", origin: "key", input, key, value: input[key] }] }), config$1.abortEarly)) break; } } else _addIssue(this, "type", dataset, config$1); return dataset; } }; } function optional(wrapped, default_) { return { kind: "schema", type: "optional", reference: optional, expects: `(${wrapped.expects} | undefined)`, async: !1, wrapped, default: default_, get "~standard"() { return _getStandardProps(this); }, "~run"(dataset, config$1) { return dataset.value === void 0 && (this.default !== void 0 && (dataset.value = getDefault(this, dataset, config$1)), dataset.value === void 0) ? (dataset.typed = !0, dataset) : this.wrapped["~run"](dataset, config$1); } }; } function picklist(options, message$1) { return { kind: "schema", type: "picklist", reference: picklist, expects: _joinExpects(options.map(_stringify), "|"), async: !1, options, message: message$1, get "~standard"() { return _getStandardProps(this); }, "~run"(dataset, config$1) { return this.options.includes(dataset.value) ? dataset.typed = !0 : _addIssue(this, "type", dataset, config$1), dataset; } }; } function record(key, value$1, message$1) { return { kind: "schema", type: "record", reference: record, expects: "Object", async: !1, key, value: value$1, message: message$1, get "~standard"() { return _getStandardProps(this); }, "~run"(dataset, config$1) { let input = dataset.value; if (input && typeof input == "object") { dataset.typed = !0, dataset.value = {}; for (let entryKey in input) if (_isValidObjectKey(input, entryKey)) { let entryValue = input[entryKey], keyDataset = this.key["~run"]({ value: entryKey }, config$1); if (keyDataset.issues) { let pathItem = { type: "object", origin: "key", input, key: entryKey, value: entryValue }; for (let issue of keyDataset.issues) issue.path = [pathItem], dataset.issues?.push(issue); if (dataset.issues || (dataset.issues = keyDataset.issues), config$1.abortEarly) { dataset.typed = !1; break; } } let valueDataset = this.value["~run"]({ value: entryValue }, config$1); if (valueDataset.issues) { let pathItem = { type: "object", origin: "value", input, key: entryKey, value: entryValue }; for (let issue of valueDataset.issues) issue.path ? issue.path.unshift(pathItem) : issue.path = [pathItem], dataset.issues?.push(issue); if (dataset.issues || (dataset.issues = valueDataset.issues), config$1.abortEarly) { dataset.typed = !1; break; } } (!keyDataset.typed || !valueDataset.typed) && (dataset.typed = !1), keyDataset.typed && (dataset.value[keyDataset.value] = valueDataset.value); } } else _addIssue(this, "type", dataset, config$1); return dataset; } }; } function string(message$1) { return { kind: "schema", type: "string", reference: string, expects: "string", async: !1, message: message$1, get "~standard"() { return _getStandardProps(this); }, "~run"(dataset, config$1) { return typeof dataset.value == "string" ? dataset.typed = !0 : _addIssue(this, "type", dataset, config$1), dataset; } }; } function undefined_(message$1) { return { kind: "schema", type: "undefined", reference: undefined_, expects: "undefined", async: !1, message: message$1, get "~standard"() { return _getStandardProps(this); }, "~run"(dataset, config$1) { return dataset.value === void 0 ? dataset.typed = !0 : _addIssue(this, "type", dataset, config$1), dataset; } }; } function _subIssues(datasets) { let issues; if (datasets) for (let dataset of datasets) if (issues) for (let issue of dataset.issues) issues.push(issue); else issues = dataset.issues; return issues; } function union(options, message$1) { return { kind: "schema", type: "union", reference: union, expects: _joinExpects(options.map((option) => option.expects), "|"), async: !1, options, message: message$1, get "~standard"() { return _getStandardProps(this); }, "~run"(dataset, config$1) { let validDataset, typedDatasets, untypedDatasets; for (let schema of this.options) { let optionDataset = schema["~run"]({ value: dataset.value }, config$1); if (optionDataset.typed) if (optionDataset.issues) typedDatasets ? typedDatasets.push(optionDataset) : typedDatasets = [optionDataset]; else { validDataset = optionDataset; break; } else untypedDatasets ? untypedDatasets.push(optionDataset) : untypedDatasets = [optionDataset]; } if (validDataset) return validDataset; if (typedDatasets) { if (typedDatasets.length === 1) return typedDatasets[0]; _addIssue(this, "type", dataset, config$1, { issues: _subIssues(typedDatasets) }), dataset.typed = !0; } else { if (untypedDatasets?.length === 1) return untypedDatasets[0]; _addIssue(this, "type", dataset, config$1, { issues: _subIssues(untypedDatasets) }); } return dataset; } }; } function unknown() { return { kind: "schema", type: "unknown", reference: unknown, expects: "unknown", async: !1, get "~standard"() { return _getStandardProps(this); }, "~run"(dataset) { return dataset.typed = !0, dataset; } }; } function variant(key, options, message$1) { return { kind: "schema", type: "variant", reference: variant, expects: "Object", async: !1, key, options, message: message$1, get "~standard"() { return _getStandardProps(this); }, "~run"(dataset, config$1) { let input = dataset.value; if (input && typeof input == "object") { let outputDataset, maxDiscriminatorPriority = 0, invalidDiscriminatorKey = this.key, expectedDiscriminators = [], parseOptions = (variant$1, allKeys) => { for (let schema of variant$1.options) { if (schema.type === "variant") parseOptions(schema, new Set(allKeys).add(schema.key)); else { let keysAreValid = !0, currentPriority = 0; for (let currentKey of allKeys) { let discriminatorSchema = schema.entries[currentKey]; if (currentKey in input ? discriminatorSchema["~run"]({ typed: !1, value: input[currentKey] }, ABORT_EARLY_CONFIG).issues : discriminatorSchema.type !== "exact_optional" && discriminatorSchema.type !== "optional" && discriminatorSchema.type !== "nullish") { keysAreValid = !1, invalidDiscriminatorKey !== currentKey && (maxDiscriminatorPriority < currentPriority || maxDiscriminatorPriority === currentPriority && currentKey in input && !(invalidDiscriminatorKey in input)) && (maxDiscriminatorPriority = currentPriority, invalidDiscriminatorKey = currentKey, expectedDiscriminators = []), invalidDiscriminatorKey === currentKey && expectedDiscriminators.push(schema.entries[currentKey].expects); break; } currentPriority++; } if (keysAreValid) { let optionDataset = schema["~run"]({ value: input }, config$1); (!outputDataset || !outputDataset.typed && optionDataset.typed) && (outputDataset = optionDataset); } } if (outputDataset && !outputDataset.issues) break; } }; if (parseOptions(this, /* @__PURE__ */ new Set([this.key])), outputDataset) return outputDataset; _addIssue(this, "type", dataset, config$1, { input: input[invalidDiscriminatorKey], expected: _joinExpects(expectedDiscriminators, "|"), path: [{ type: "object", origin: "value", input, key: invalidDiscriminatorKey, value: input[invalidDiscriminatorKey] }] }); } else _addIssue(this, "type", dataset, config$1); return dataset; } }; } function void_(message$1) { return { kind: "schema", type: "void", reference: void_, expects: "void", async: !1, message: message$1, get "~standard"() { return _getStandardProps(this); }, "~run"(dataset, config$1) { return dataset.value === void 0 ? dataset.typed = !0 : _addIssue(this, "type", dataset, config$1), dataset; } }; } function message(schema, message_) { return { ...schema, get "~standard"() { return _getStandardProps(this); }, "~run"(dataset, config$1) { return schema["~run"](dataset, { ...config$1, message: message_ }); } }; } function pipe(...pipe$1) { return { ...pipe$1[0], pipe: pipe$1, get "~standard"() { return _getStandardProps(this); }, "~run"(dataset, config$1) { for (let item of pipe$1) if (item.kind !== "metadata") { if (dataset.issues && (item.kind === "schema" || item.kind === "transformation")) { dataset.typed = !1; break; } (!dataset.issues || !config$1.abortEarly && !config$1.abortPipeEarly) && (dataset = item["~run"](dataset, config$1)); } return dataset; } }; } function safeParse(schema, input, config$1) { let dataset = schema["~run"]({ value: input }, getGlobalConfig(config$1)); return { typed: dataset.typed, success: !dataset.issues, output: dataset.value, issues: dataset.issues }; } function summarize(issues) { let summary = ""; for (let issue of issues) { summary && (summary += ` `), summary += `\xD7 ${issue.message}`; let dotPath = getDotPath(issue); dotPath && (summary += ` \u2192 at ${dotPath}`); } return summary; } export { description, integer, maxValue, minValue, regex, safeInteger, transform, trim, array, boolean, custom, lazy, literal, looseObject, number, object, optional, picklist, record, string, undefined_, union, unknown, variant, void_, message, pipe, safeParse, summarize };