Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

@storybook/addon-docs

Package Overview
Dependencies
Maintainers
12
Versions
2757
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@storybook/addon-docs - npm Package Compare versions

Comparing version
10.2.12
to
10.2.13
+196
dist/_node-chunks/chunk-AMBYZLWF.js
import CJS_COMPAT_NODE_URL_zcds5g9vvm from 'node:url';
import CJS_COMPAT_NODE_PATH_zcds5g9vvm from 'node:path';
import CJS_COMPAT_NODE_MODULE_zcds5g9vvm from "node:module";
var __filename = CJS_COMPAT_NODE_URL_zcds5g9vvm.fileURLToPath(import.meta.url);
var __dirname = CJS_COMPAT_NODE_PATH_zcds5g9vvm.dirname(__filename);
var require = CJS_COMPAT_NODE_MODULE_zcds5g9vvm.createRequire(import.meta.url);
// ------------------------------------------------------------
// end of CJS compatibility banner, injected by Storybook's esbuild configuration
// ------------------------------------------------------------
// ../../../node_modules/@ungap/structured-clone/esm/deserialize.js
var env = typeof self == "object" ? self : globalThis, deserializer = ($, _) => {
let as = (out, index) => ($.set(index, out), out), unpair = (index) => {
if ($.has(index))
return $.get(index);
let [type, value] = _[index];
switch (type) {
case 0:
case -1:
return as(value, index);
case 1: {
let arr = as([], index);
for (let index2 of value)
arr.push(unpair(index2));
return arr;
}
case 2: {
let object = as({}, index);
for (let [key, index2] of value)
object[unpair(key)] = unpair(index2);
return object;
}
case 3:
return as(new Date(value), index);
case 4: {
let { source, flags } = value;
return as(new RegExp(source, flags), index);
}
case 5: {
let map = as(/* @__PURE__ */ new Map(), index);
for (let [key, index2] of value)
map.set(unpair(key), unpair(index2));
return map;
}
case 6: {
let set = as(/* @__PURE__ */ new Set(), index);
for (let index2 of value)
set.add(unpair(index2));
return set;
}
case 7: {
let { name, message } = value;
return as(new env[name](message), index);
}
case 8:
return as(BigInt(value), index);
case "BigInt":
return as(Object(BigInt(value)), index);
case "ArrayBuffer":
return as(new Uint8Array(value).buffer, value);
case "DataView": {
let { buffer } = new Uint8Array(value);
return as(new DataView(buffer), value);
}
}
return as(new env[type](value), index);
};
return unpair;
}, deserialize = (serialized) => deserializer(/* @__PURE__ */ new Map(), serialized)(0);
// ../../../node_modules/@ungap/structured-clone/esm/serialize.js
var EMPTY = "", { toString } = {}, { keys } = Object, typeOf = (value) => {
let type = typeof value;
if (type !== "object" || !value)
return [0, type];
let asString = toString.call(value).slice(8, -1);
switch (asString) {
case "Array":
return [1, EMPTY];
case "Object":
return [2, EMPTY];
case "Date":
return [3, EMPTY];
case "RegExp":
return [4, EMPTY];
case "Map":
return [5, EMPTY];
case "Set":
return [6, EMPTY];
case "DataView":
return [1, asString];
}
return asString.includes("Array") ? [1, asString] : asString.includes("Error") ? [7, asString] : [2, asString];
}, shouldSkip = ([TYPE, type]) => TYPE === 0 && (type === "function" || type === "symbol"), serializer = (strict, json, $, _) => {
let as = (out, value) => {
let index = _.push(out) - 1;
return $.set(value, index), index;
}, pair = (value) => {
if ($.has(value))
return $.get(value);
let [TYPE, type] = typeOf(value);
switch (TYPE) {
case 0: {
let entry = value;
switch (type) {
case "bigint":
TYPE = 8, entry = value.toString();
break;
case "function":
case "symbol":
if (strict)
throw new TypeError("unable to serialize " + type);
entry = null;
break;
case "undefined":
return as([-1], value);
}
return as([TYPE, entry], value);
}
case 1: {
if (type) {
let spread = value;
return type === "DataView" ? spread = new Uint8Array(value.buffer) : type === "ArrayBuffer" && (spread = new Uint8Array(value)), as([type, [...spread]], value);
}
let arr = [], index = as([TYPE, arr], value);
for (let entry of value)
arr.push(pair(entry));
return index;
}
case 2: {
if (type)
switch (type) {
case "BigInt":
return as([type, value.toString()], value);
case "Boolean":
case "Number":
case "String":
return as([type, value.valueOf()], value);
}
if (json && "toJSON" in value)
return pair(value.toJSON());
let entries = [], index = as([TYPE, entries], value);
for (let key of keys(value))
(strict || !shouldSkip(typeOf(value[key]))) && entries.push([pair(key), pair(value[key])]);
return index;
}
case 3:
return as([TYPE, value.toISOString()], value);
case 4: {
let { source, flags } = value;
return as([TYPE, { source, flags }], value);
}
case 5: {
let entries = [], index = as([TYPE, entries], value);
for (let [key, entry] of value)
(strict || !(shouldSkip(typeOf(key)) || shouldSkip(typeOf(entry)))) && entries.push([pair(key), pair(entry)]);
return index;
}
case 6: {
let entries = [], index = as([TYPE, entries], value);
for (let entry of value)
(strict || !shouldSkip(typeOf(entry))) && entries.push(pair(entry));
return index;
}
}
let { message } = value;
return as([TYPE, { name: type, message }], value);
};
return pair;
}, serialize = (value, { json, lossy } = {}) => {
let _ = [];
return serializer(!(json || lossy), !!json, /* @__PURE__ */ new Map(), _)(value), _;
};
// ../../../node_modules/@ungap/structured-clone/esm/index.js
var esm_default = typeof structuredClone == "function" ? (
/* c8 ignore start */
(any, options) => options && ("json" in options || "lossy" in options) ? deserialize(serialize(any, options)) : structuredClone(any)
) : (any, options) => deserialize(serialize(any, options));
// ../../../node_modules/space-separated-tokens/index.js
function parse(value) {
let input = String(value || "").trim();
return input ? input.split(/[ \t\n\r\f]+/g) : [];
}
function stringify(values) {
return values.join(" ").trim();
}
export {
esm_default,
parse,
stringify
};
import CJS_COMPAT_NODE_URL_zcds5g9vvm from 'node:url';
import CJS_COMPAT_NODE_PATH_zcds5g9vvm from 'node:path';
import CJS_COMPAT_NODE_MODULE_zcds5g9vvm from "node:module";
var __filename = CJS_COMPAT_NODE_URL_zcds5g9vvm.fileURLToPath(import.meta.url);
var __dirname = CJS_COMPAT_NODE_PATH_zcds5g9vvm.dirname(__filename);
var require = CJS_COMPAT_NODE_MODULE_zcds5g9vvm.createRequire(import.meta.url);
// ------------------------------------------------------------
// end of CJS compatibility banner, injected by Storybook's esbuild configuration
// ------------------------------------------------------------
// ../../../node_modules/unist-util-is/lib/index.js
var convert = (
// Note: overloads in JSDoc can’t yet use different `@template`s.
/**
* @type {(
* (<Condition extends string>(test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &
* (<Condition extends Props>(test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &
* (<Condition extends TestFunction>(test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate<Condition, Node>) &
* ((test?: null | undefined) => (node?: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &
* ((test?: Test) => Check)
* )}
*/
/**
* @param {Test} [test]
* @returns {Check}
*/
(function(test) {
if (test == null)
return ok;
if (typeof test == "function")
return castFactory(test);
if (typeof test == "object")
return Array.isArray(test) ? anyFactory(test) : (
// Cast because `ReadonlyArray` goes into the above but `isArray`
// narrows to `Array`.
propertiesFactory(
/** @type {Props} */
test
)
);
if (typeof test == "string")
return typeFactory(test);
throw new Error("Expected function, string, or object as test");
})
);
function anyFactory(tests) {
let checks = [], index = -1;
for (; ++index < tests.length; )
checks[index] = convert(tests[index]);
return castFactory(any);
function any(...parameters) {
let index2 = -1;
for (; ++index2 < checks.length; )
if (checks[index2].apply(this, parameters)) return !0;
return !1;
}
}
function propertiesFactory(check) {
let checkAsRecord = (
/** @type {Record<string, unknown>} */
check
);
return castFactory(all);
function all(node) {
let nodeAsRecord = (
/** @type {Record<string, unknown>} */
/** @type {unknown} */
node
), key;
for (key in check)
if (nodeAsRecord[key] !== checkAsRecord[key]) return !1;
return !0;
}
}
function typeFactory(check) {
return castFactory(type);
function type(node) {
return node && node.type === check;
}
}
function castFactory(testFunction) {
return check;
function check(value, index, parent) {
return !!(looksLikeANode(value) && testFunction.call(
this,
value,
typeof index == "number" ? index : void 0,
parent || void 0
));
}
}
function ok() {
return !0;
}
function looksLikeANode(value) {
return value !== null && typeof value == "object" && "type" in value;
}
// ../../../node_modules/unist-util-visit-parents/lib/color.node.js
function color(d) {
return "\x1B[33m" + d + "\x1B[39m";
}
// ../../../node_modules/unist-util-visit-parents/lib/index.js
var empty = [], CONTINUE = !0, EXIT = !1, SKIP = "skip";
function visitParents(tree, test, visitor, reverse) {
let check;
typeof test == "function" && typeof visitor != "function" ? (reverse = visitor, visitor = test) : check = test;
let is2 = convert(check), step = reverse ? -1 : 1;
factory(tree, void 0, [])();
function factory(node, index, parents) {
let value = (
/** @type {Record<string, unknown>} */
node && typeof node == "object" ? node : {}
);
if (typeof value.type == "string") {
let name = (
// `hast`
typeof value.tagName == "string" ? value.tagName : (
// `xast`
typeof value.name == "string" ? value.name : void 0
)
);
Object.defineProperty(visit2, "name", {
value: "node (" + color(node.type + (name ? "<" + name + ">" : "")) + ")"
});
}
return visit2;
function visit2() {
let result = empty, subresult, offset, grandparents;
if ((!test || is2(node, index, parents[parents.length - 1] || void 0)) && (result = toResult(visitor(node, parents)), result[0] === EXIT))
return result;
if ("children" in node && node.children) {
let nodeAsParent = (
/** @type {UnistParent} */
node
);
if (nodeAsParent.children && result[0] !== SKIP)
for (offset = (reverse ? nodeAsParent.children.length : -1) + step, grandparents = parents.concat(nodeAsParent); offset > -1 && offset < nodeAsParent.children.length; ) {
let child = nodeAsParent.children[offset];
if (subresult = factory(child, offset, grandparents)(), subresult[0] === EXIT)
return subresult;
offset = typeof subresult[1] == "number" ? subresult[1] : offset + step;
}
}
return result;
}
}
}
function toResult(value) {
return Array.isArray(value) ? value : typeof value == "number" ? [CONTINUE, value] : value == null ? empty : [value];
}
// ../../../node_modules/unist-util-visit/lib/index.js
function visit(tree, testOrVisitor, visitorOrReverse, maybeReverse) {
let reverse, test, visitor;
typeof testOrVisitor == "function" && typeof visitorOrReverse != "function" ? (test = void 0, visitor = testOrVisitor, reverse = visitorOrReverse) : (test = testOrVisitor, visitor = visitorOrReverse, reverse = maybeReverse), visitParents(tree, test, overload, reverse);
function overload(node, parents) {
let parent = parents[parents.length - 1], index = parent ? parent.children.indexOf(node) : void 0;
return visitor(node, index, parent);
}
}
export {
visit
};
import CJS_COMPAT_NODE_URL_zcds5g9vvm from 'node:url';
import CJS_COMPAT_NODE_PATH_zcds5g9vvm from 'node:path';
import CJS_COMPAT_NODE_MODULE_zcds5g9vvm from "node:module";
var __filename = CJS_COMPAT_NODE_URL_zcds5g9vvm.fileURLToPath(import.meta.url);
var __dirname = CJS_COMPAT_NODE_PATH_zcds5g9vvm.dirname(__filename);
var require = CJS_COMPAT_NODE_MODULE_zcds5g9vvm.createRequire(import.meta.url);
// ------------------------------------------------------------
// end of CJS compatibility banner, injected by Storybook's esbuild configuration
// ------------------------------------------------------------
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
var __commonJS = (cb, mod) => function() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: !0 });
}, __copyProps = (to, from, except, desc) => {
if (from && typeof from == "object" || typeof from == "function")
for (let key of __getOwnPropNames(from))
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
mod
));
export {
__commonJS,
__export,
__toESM
};

Sorry, the diff of this file is too big to display

import CJS_COMPAT_NODE_URL_zcds5g9vvm from 'node:url';
import CJS_COMPAT_NODE_PATH_zcds5g9vvm from 'node:path';
import CJS_COMPAT_NODE_MODULE_zcds5g9vvm from "node:module";
var __filename = CJS_COMPAT_NODE_URL_zcds5g9vvm.fileURLToPath(import.meta.url);
var __dirname = CJS_COMPAT_NODE_PATH_zcds5g9vvm.dirname(__filename);
var require = CJS_COMPAT_NODE_MODULE_zcds5g9vvm.createRequire(import.meta.url);
// ------------------------------------------------------------
// end of CJS compatibility banner, injected by Storybook's esbuild configuration
// ------------------------------------------------------------
import {
compile
} from "./chunk-SB2L25BP.js";
import "./chunk-AMBYZLWF.js";
import "./chunk-CWUM6KWA.js";
import {
__commonJS,
__toESM
} from "./chunk-PSYUP74M.js";
// ../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/constants.js
var require_constants = __commonJS({
"../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/constants.js"(exports, module) {
"use strict";
var WIN_NO_SLASH = "[^\\\\/]", ONE_CHAR = "(?=.)", QMARK = "[^/]", END_ANCHOR = "(?:\\/|$)", START_ANCHOR = "(?:^|\\/)", DOTS_SLASH = `\\.{1,2}${END_ANCHOR}`, NO_DOT = "(?!\\.)", NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`, NO_DOT_SLASH = `(?!\\.{0,1}${END_ANCHOR})`, NO_DOTS_SLASH = `(?!${DOTS_SLASH})`, QMARK_NO_DOT = "[^.\\/]", STAR = `${QMARK}*?`, SEP = "/", POSIX_CHARS = {
DOT_LITERAL: "\\.",
PLUS_LITERAL: "\\+",
QMARK_LITERAL: "\\?",
SLASH_LITERAL: "\\/",
ONE_CHAR,
QMARK,
END_ANCHOR,
DOTS_SLASH,
NO_DOT,
NO_DOTS,
NO_DOT_SLASH,
NO_DOTS_SLASH,
QMARK_NO_DOT,
STAR,
START_ANCHOR,
SEP
}, WINDOWS_CHARS = {
...POSIX_CHARS,
SLASH_LITERAL: "[\\\\/]",
QMARK: WIN_NO_SLASH,
STAR: `${WIN_NO_SLASH}*?`,
DOTS_SLASH: "\\.{1,2}(?:[\\\\/]|$)",
NO_DOT: "(?!\\.)",
NO_DOTS: "(?!(?:^|[\\\\/])\\.{1,2}(?:[\\\\/]|$))",
NO_DOT_SLASH: "(?!\\.{0,1}(?:[\\\\/]|$))",
NO_DOTS_SLASH: "(?!\\.{1,2}(?:[\\\\/]|$))",
QMARK_NO_DOT: "[^.\\\\/]",
START_ANCHOR: "(?:^|[\\\\/])",
END_ANCHOR: "(?:[\\\\/]|$)",
SEP: "\\"
}, POSIX_REGEX_SOURCE = {
alnum: "a-zA-Z0-9",
alpha: "a-zA-Z",
ascii: "\\x00-\\x7F",
blank: " \\t",
cntrl: "\\x00-\\x1F\\x7F",
digit: "0-9",
graph: "\\x21-\\x7E",
lower: "a-z",
print: "\\x20-\\x7E ",
punct: "\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",
space: " \\t\\r\\n\\v\\f",
upper: "A-Z",
word: "A-Za-z0-9_",
xdigit: "A-Fa-f0-9"
};
module.exports = {
MAX_LENGTH: 1024 * 64,
POSIX_REGEX_SOURCE,
// regular expressions
REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g,
REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/,
REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/,
REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g,
REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g,
REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g,
// Replace globs with equivalent patterns to reduce parsing time.
REPLACEMENTS: {
__proto__: null,
"***": "*",
"**/**": "**",
"**/**/**": "**"
},
// Digits
CHAR_0: 48,
/* 0 */
CHAR_9: 57,
/* 9 */
// Alphabet chars.
CHAR_UPPERCASE_A: 65,
/* A */
CHAR_LOWERCASE_A: 97,
/* a */
CHAR_UPPERCASE_Z: 90,
/* Z */
CHAR_LOWERCASE_Z: 122,
/* z */
CHAR_LEFT_PARENTHESES: 40,
/* ( */
CHAR_RIGHT_PARENTHESES: 41,
/* ) */
CHAR_ASTERISK: 42,
/* * */
// Non-alphabetic chars.
CHAR_AMPERSAND: 38,
/* & */
CHAR_AT: 64,
/* @ */
CHAR_BACKWARD_SLASH: 92,
/* \ */
CHAR_CARRIAGE_RETURN: 13,
/* \r */
CHAR_CIRCUMFLEX_ACCENT: 94,
/* ^ */
CHAR_COLON: 58,
/* : */
CHAR_COMMA: 44,
/* , */
CHAR_DOT: 46,
/* . */
CHAR_DOUBLE_QUOTE: 34,
/* " */
CHAR_EQUAL: 61,
/* = */
CHAR_EXCLAMATION_MARK: 33,
/* ! */
CHAR_FORM_FEED: 12,
/* \f */
CHAR_FORWARD_SLASH: 47,
/* / */
CHAR_GRAVE_ACCENT: 96,
/* ` */
CHAR_HASH: 35,
/* # */
CHAR_HYPHEN_MINUS: 45,
/* - */
CHAR_LEFT_ANGLE_BRACKET: 60,
/* < */
CHAR_LEFT_CURLY_BRACE: 123,
/* { */
CHAR_LEFT_SQUARE_BRACKET: 91,
/* [ */
CHAR_LINE_FEED: 10,
/* \n */
CHAR_NO_BREAK_SPACE: 160,
/* \u00A0 */
CHAR_PERCENT: 37,
/* % */
CHAR_PLUS: 43,
/* + */
CHAR_QUESTION_MARK: 63,
/* ? */
CHAR_RIGHT_ANGLE_BRACKET: 62,
/* > */
CHAR_RIGHT_CURLY_BRACE: 125,
/* } */
CHAR_RIGHT_SQUARE_BRACKET: 93,
/* ] */
CHAR_SEMICOLON: 59,
/* ; */
CHAR_SINGLE_QUOTE: 39,
/* ' */
CHAR_SPACE: 32,
/* */
CHAR_TAB: 9,
/* \t */
CHAR_UNDERSCORE: 95,
/* _ */
CHAR_VERTICAL_LINE: 124,
/* | */
CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279,
/* \uFEFF */
/**
* Create EXTGLOB_CHARS
*/
extglobChars(chars) {
return {
"!": { type: "negate", open: "(?:(?!(?:", close: `))${chars.STAR})` },
"?": { type: "qmark", open: "(?:", close: ")?" },
"+": { type: "plus", open: "(?:", close: ")+" },
"*": { type: "star", open: "(?:", close: ")*" },
"@": { type: "at", open: "(?:", close: ")" }
};
},
/**
* Create GLOB_CHARS
*/
globChars(win322) {
return win322 === !0 ? WINDOWS_CHARS : POSIX_CHARS;
}
};
}
});
// ../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/utils.js
var require_utils = __commonJS({
"../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/utils.js"(exports) {
"use strict";
var {
REGEX_BACKSLASH,
REGEX_REMOVE_BACKSLASH,
REGEX_SPECIAL_CHARS,
REGEX_SPECIAL_CHARS_GLOBAL
} = require_constants();
exports.isObject = (val) => val !== null && typeof val == "object" && !Array.isArray(val);
exports.hasRegexChars = (str) => REGEX_SPECIAL_CHARS.test(str);
exports.isRegexChar = (str) => str.length === 1 && exports.hasRegexChars(str);
exports.escapeRegex = (str) => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, "\\$1");
exports.toPosixSlashes = (str) => str.replace(REGEX_BACKSLASH, "/");
exports.isWindows = () => {
if (typeof navigator < "u" && navigator.platform) {
let platform = navigator.platform.toLowerCase();
return platform === "win32" || platform === "windows";
}
return typeof process < "u" && process.platform ? process.platform === "win32" : !1;
};
exports.removeBackslashes = (str) => str.replace(REGEX_REMOVE_BACKSLASH, (match) => match === "\\" ? "" : match);
exports.escapeLast = (input, char, lastIdx) => {
let idx = input.lastIndexOf(char, lastIdx);
return idx === -1 ? input : input[idx - 1] === "\\" ? exports.escapeLast(input, char, idx - 1) : `${input.slice(0, idx)}\\${input.slice(idx)}`;
};
exports.removePrefix = (input, state = {}) => {
let output = input;
return output.startsWith("./") && (output = output.slice(2), state.prefix = "./"), output;
};
exports.wrapOutput = (input, state = {}, options = {}) => {
let prepend = options.contains ? "" : "^", append = options.contains ? "" : "$", output = `${prepend}(?:${input})${append}`;
return state.negated === !0 && (output = `(?:^(?!${output}).*$)`), output;
};
exports.basename = (path, { windows } = {}) => {
let segs = path.split(windows ? /[\\/]/ : "/"), last = segs[segs.length - 1];
return last === "" ? segs[segs.length - 2] : last;
};
}
});
// ../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/scan.js
var require_scan = __commonJS({
"../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/scan.js"(exports, module) {
"use strict";
var utils = require_utils(), {
CHAR_ASTERISK,
/* * */
CHAR_AT,
/* @ */
CHAR_BACKWARD_SLASH,
/* \ */
CHAR_COMMA,
/* , */
CHAR_DOT,
/* . */
CHAR_EXCLAMATION_MARK,
/* ! */
CHAR_FORWARD_SLASH,
/* / */
CHAR_LEFT_CURLY_BRACE,
/* { */
CHAR_LEFT_PARENTHESES,
/* ( */
CHAR_LEFT_SQUARE_BRACKET,
/* [ */
CHAR_PLUS,
/* + */
CHAR_QUESTION_MARK,
/* ? */
CHAR_RIGHT_CURLY_BRACE,
/* } */
CHAR_RIGHT_PARENTHESES,
/* ) */
CHAR_RIGHT_SQUARE_BRACKET
/* ] */
} = require_constants(), isPathSeparator = (code) => code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH, depth = (token) => {
token.isPrefix !== !0 && (token.depth = token.isGlobstar ? 1 / 0 : 1);
}, scan = (input, options) => {
let opts = options || {}, length = input.length - 1, scanToEnd = opts.parts === !0 || opts.scanToEnd === !0, slashes = [], tokens = [], parts = [], str = input, index = -1, start = 0, lastIndex = 0, isBrace = !1, isBracket = !1, isGlob = !1, isExtglob = !1, isGlobstar = !1, braceEscaped = !1, backslashes = !1, negated = !1, negatedExtglob = !1, finished = !1, braces = 0, prev, code, token = { value: "", depth: 0, isGlob: !1 }, eos = () => index >= length, peek = () => str.charCodeAt(index + 1), advance = () => (prev = code, str.charCodeAt(++index));
for (; index < length; ) {
code = advance();
let next;
if (code === CHAR_BACKWARD_SLASH) {
backslashes = token.backslashes = !0, code = advance(), code === CHAR_LEFT_CURLY_BRACE && (braceEscaped = !0);
continue;
}
if (braceEscaped === !0 || code === CHAR_LEFT_CURLY_BRACE) {
for (braces++; eos() !== !0 && (code = advance()); ) {
if (code === CHAR_BACKWARD_SLASH) {
backslashes = token.backslashes = !0, advance();
continue;
}
if (code === CHAR_LEFT_CURLY_BRACE) {
braces++;
continue;
}
if (braceEscaped !== !0 && code === CHAR_DOT && (code = advance()) === CHAR_DOT) {
if (isBrace = token.isBrace = !0, isGlob = token.isGlob = !0, finished = !0, scanToEnd === !0)
continue;
break;
}
if (braceEscaped !== !0 && code === CHAR_COMMA) {
if (isBrace = token.isBrace = !0, isGlob = token.isGlob = !0, finished = !0, scanToEnd === !0)
continue;
break;
}
if (code === CHAR_RIGHT_CURLY_BRACE && (braces--, braces === 0)) {
braceEscaped = !1, isBrace = token.isBrace = !0, finished = !0;
break;
}
}
if (scanToEnd === !0)
continue;
break;
}
if (code === CHAR_FORWARD_SLASH) {
if (slashes.push(index), tokens.push(token), token = { value: "", depth: 0, isGlob: !1 }, finished === !0) continue;
if (prev === CHAR_DOT && index === start + 1) {
start += 2;
continue;
}
lastIndex = index + 1;
continue;
}
if (opts.noext !== !0 && (code === CHAR_PLUS || code === CHAR_AT || code === CHAR_ASTERISK || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK) === !0 && peek() === CHAR_LEFT_PARENTHESES) {
if (isGlob = token.isGlob = !0, isExtglob = token.isExtglob = !0, finished = !0, code === CHAR_EXCLAMATION_MARK && index === start && (negatedExtglob = !0), scanToEnd === !0) {
for (; eos() !== !0 && (code = advance()); ) {
if (code === CHAR_BACKWARD_SLASH) {
backslashes = token.backslashes = !0, code = advance();
continue;
}
if (code === CHAR_RIGHT_PARENTHESES) {
isGlob = token.isGlob = !0, finished = !0;
break;
}
}
continue;
}
break;
}
if (code === CHAR_ASTERISK) {
if (prev === CHAR_ASTERISK && (isGlobstar = token.isGlobstar = !0), isGlob = token.isGlob = !0, finished = !0, scanToEnd === !0)
continue;
break;
}
if (code === CHAR_QUESTION_MARK) {
if (isGlob = token.isGlob = !0, finished = !0, scanToEnd === !0)
continue;
break;
}
if (code === CHAR_LEFT_SQUARE_BRACKET) {
for (; eos() !== !0 && (next = advance()); ) {
if (next === CHAR_BACKWARD_SLASH) {
backslashes = token.backslashes = !0, advance();
continue;
}
if (next === CHAR_RIGHT_SQUARE_BRACKET) {
isBracket = token.isBracket = !0, isGlob = token.isGlob = !0, finished = !0;
break;
}
}
if (scanToEnd === !0)
continue;
break;
}
if (opts.nonegate !== !0 && code === CHAR_EXCLAMATION_MARK && index === start) {
negated = token.negated = !0, start++;
continue;
}
if (opts.noparen !== !0 && code === CHAR_LEFT_PARENTHESES) {
if (isGlob = token.isGlob = !0, scanToEnd === !0) {
for (; eos() !== !0 && (code = advance()); ) {
if (code === CHAR_LEFT_PARENTHESES) {
backslashes = token.backslashes = !0, code = advance();
continue;
}
if (code === CHAR_RIGHT_PARENTHESES) {
finished = !0;
break;
}
}
continue;
}
break;
}
if (isGlob === !0) {
if (finished = !0, scanToEnd === !0)
continue;
break;
}
}
opts.noext === !0 && (isExtglob = !1, isGlob = !1);
let base = str, prefix = "", glob = "";
start > 0 && (prefix = str.slice(0, start), str = str.slice(start), lastIndex -= start), base && isGlob === !0 && lastIndex > 0 ? (base = str.slice(0, lastIndex), glob = str.slice(lastIndex)) : isGlob === !0 ? (base = "", glob = str) : base = str, base && base !== "" && base !== "/" && base !== str && isPathSeparator(base.charCodeAt(base.length - 1)) && (base = base.slice(0, -1)), opts.unescape === !0 && (glob && (glob = utils.removeBackslashes(glob)), base && backslashes === !0 && (base = utils.removeBackslashes(base)));
let state = {
prefix,
input,
start,
base,
glob,
isBrace,
isBracket,
isGlob,
isExtglob,
isGlobstar,
negated,
negatedExtglob
};
if (opts.tokens === !0 && (state.maxDepth = 0, isPathSeparator(code) || tokens.push(token), state.tokens = tokens), opts.parts === !0 || opts.tokens === !0) {
let prevIndex;
for (let idx = 0; idx < slashes.length; idx++) {
let n = prevIndex ? prevIndex + 1 : start, i = slashes[idx], value = input.slice(n, i);
opts.tokens && (idx === 0 && start !== 0 ? (tokens[idx].isPrefix = !0, tokens[idx].value = prefix) : tokens[idx].value = value, depth(tokens[idx]), state.maxDepth += tokens[idx].depth), (idx !== 0 || value !== "") && parts.push(value), prevIndex = i;
}
if (prevIndex && prevIndex + 1 < input.length) {
let value = input.slice(prevIndex + 1);
parts.push(value), opts.tokens && (tokens[tokens.length - 1].value = value, depth(tokens[tokens.length - 1]), state.maxDepth += tokens[tokens.length - 1].depth);
}
state.slashes = slashes, state.parts = parts;
}
return state;
};
module.exports = scan;
}
});
// ../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/parse.js
var require_parse = __commonJS({
"../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/parse.js"(exports, module) {
"use strict";
var constants = require_constants(), utils = require_utils(), {
MAX_LENGTH,
POSIX_REGEX_SOURCE,
REGEX_NON_SPECIAL_CHARS,
REGEX_SPECIAL_CHARS_BACKREF,
REPLACEMENTS
} = constants, expandRange = (args, options) => {
if (typeof options.expandRange == "function")
return options.expandRange(...args, options);
args.sort();
let value = `[${args.join("-")}]`;
try {
new RegExp(value);
} catch {
return args.map((v) => utils.escapeRegex(v)).join("..");
}
return value;
}, syntaxError = (type, char) => `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`, parse = (input, options) => {
if (typeof input != "string")
throw new TypeError("Expected a string");
input = REPLACEMENTS[input] || input;
let opts = { ...options }, max = typeof opts.maxLength == "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH, len = input.length;
if (len > max)
throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
let bos = { type: "bos", value: "", output: opts.prepend || "" }, tokens = [bos], capture = opts.capture ? "" : "?:", PLATFORM_CHARS = constants.globChars(opts.windows), EXTGLOB_CHARS = constants.extglobChars(PLATFORM_CHARS), {
DOT_LITERAL,
PLUS_LITERAL,
SLASH_LITERAL,
ONE_CHAR,
DOTS_SLASH,
NO_DOT,
NO_DOT_SLASH,
NO_DOTS_SLASH,
QMARK,
QMARK_NO_DOT,
STAR,
START_ANCHOR
} = PLATFORM_CHARS, globstar = (opts2) => `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`, nodot = opts.dot ? "" : NO_DOT, qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT, star = opts.bash === !0 ? globstar(opts) : STAR;
opts.capture && (star = `(${star})`), typeof opts.noext == "boolean" && (opts.noextglob = opts.noext);
let state = {
input,
index: -1,
start: 0,
dot: opts.dot === !0,
consumed: "",
output: "",
prefix: "",
backtrack: !1,
negated: !1,
brackets: 0,
braces: 0,
parens: 0,
quotes: 0,
globstar: !1,
tokens
};
input = utils.removePrefix(input, state), len = input.length;
let extglobs = [], braces = [], stack = [], prev = bos, value, eos = () => state.index === len - 1, peek = state.peek = (n = 1) => input[state.index + n], advance = state.advance = () => input[++state.index] || "", remaining = () => input.slice(state.index + 1), consume = (value2 = "", num = 0) => {
state.consumed += value2, state.index += num;
}, append = (token) => {
state.output += token.output != null ? token.output : token.value, consume(token.value);
}, negate = () => {
let count = 1;
for (; peek() === "!" && (peek(2) !== "(" || peek(3) === "?"); )
advance(), state.start++, count++;
return count % 2 === 0 ? !1 : (state.negated = !0, state.start++, !0);
}, increment = (type) => {
state[type]++, stack.push(type);
}, decrement = (type) => {
state[type]--, stack.pop();
}, push = (tok) => {
if (prev.type === "globstar") {
let isBrace = state.braces > 0 && (tok.type === "comma" || tok.type === "brace"), isExtglob = tok.extglob === !0 || extglobs.length && (tok.type === "pipe" || tok.type === "paren");
tok.type !== "slash" && tok.type !== "paren" && !isBrace && !isExtglob && (state.output = state.output.slice(0, -prev.output.length), prev.type = "star", prev.value = "*", prev.output = star, state.output += prev.output);
}
if (extglobs.length && tok.type !== "paren" && (extglobs[extglobs.length - 1].inner += tok.value), (tok.value || tok.output) && append(tok), prev && prev.type === "text" && tok.type === "text") {
prev.output = (prev.output || prev.value) + tok.value, prev.value += tok.value;
return;
}
tok.prev = prev, tokens.push(tok), prev = tok;
}, extglobOpen = (type, value2) => {
let token = { ...EXTGLOB_CHARS[value2], conditions: 1, inner: "" };
token.prev = prev, token.parens = state.parens, token.output = state.output;
let output = (opts.capture ? "(" : "") + token.open;
increment("parens"), push({ type, value: value2, output: state.output ? "" : ONE_CHAR }), push({ type: "paren", extglob: !0, value: advance(), output }), extglobs.push(token);
}, extglobClose = (token) => {
let output = token.close + (opts.capture ? ")" : ""), rest;
if (token.type === "negate") {
let extglobStar = star;
if (token.inner && token.inner.length > 1 && token.inner.includes("/") && (extglobStar = globstar(opts)), (extglobStar !== star || eos() || /^\)+$/.test(remaining())) && (output = token.close = `)$))${extglobStar}`), token.inner.includes("*") && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) {
let expression = parse(rest, { ...options, fastpaths: !1 }).output;
output = token.close = `)${expression})${extglobStar})`;
}
token.prev.type === "bos" && (state.negatedExtglob = !0);
}
push({ type: "paren", extglob: !0, value, output }), decrement("parens");
};
if (opts.fastpaths !== !1 && !/(^[*!]|[/()[\]{}"])/.test(input)) {
let backslashes = !1, output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => first === "\\" ? (backslashes = !0, m) : first === "?" ? esc ? esc + first + (rest ? QMARK.repeat(rest.length) : "") : index === 0 ? qmarkNoDot + (rest ? QMARK.repeat(rest.length) : "") : QMARK.repeat(chars.length) : first === "." ? DOT_LITERAL.repeat(chars.length) : first === "*" ? esc ? esc + first + (rest ? star : "") : star : esc ? m : `\\${m}`);
return backslashes === !0 && (opts.unescape === !0 ? output = output.replace(/\\/g, "") : output = output.replace(/\\+/g, (m) => m.length % 2 === 0 ? "\\\\" : m ? "\\" : "")), output === input && opts.contains === !0 ? (state.output = input, state) : (state.output = utils.wrapOutput(output, state, options), state);
}
for (; !eos(); ) {
if (value = advance(), value === "\0")
continue;
if (value === "\\") {
let next = peek();
if (next === "/" && opts.bash !== !0 || next === "." || next === ";")
continue;
if (!next) {
value += "\\", push({ type: "text", value });
continue;
}
let match = /^\\+/.exec(remaining()), slashes = 0;
if (match && match[0].length > 2 && (slashes = match[0].length, state.index += slashes, slashes % 2 !== 0 && (value += "\\")), opts.unescape === !0 ? value = advance() : value += advance(), state.brackets === 0) {
push({ type: "text", value });
continue;
}
}
if (state.brackets > 0 && (value !== "]" || prev.value === "[" || prev.value === "[^")) {
if (opts.posix !== !1 && value === ":") {
let inner = prev.value.slice(1);
if (inner.includes("[") && (prev.posix = !0, inner.includes(":"))) {
let idx = prev.value.lastIndexOf("["), pre = prev.value.slice(0, idx), rest2 = prev.value.slice(idx + 2), posix2 = POSIX_REGEX_SOURCE[rest2];
if (posix2) {
prev.value = pre + posix2, state.backtrack = !0, advance(), !bos.output && tokens.indexOf(prev) === 1 && (bos.output = ONE_CHAR);
continue;
}
}
}
(value === "[" && peek() !== ":" || value === "-" && peek() === "]") && (value = `\\${value}`), value === "]" && (prev.value === "[" || prev.value === "[^") && (value = `\\${value}`), opts.posix === !0 && value === "!" && prev.value === "[" && (value = "^"), prev.value += value, append({ value });
continue;
}
if (state.quotes === 1 && value !== '"') {
value = utils.escapeRegex(value), prev.value += value, append({ value });
continue;
}
if (value === '"') {
state.quotes = state.quotes === 1 ? 0 : 1, opts.keepQuotes === !0 && push({ type: "text", value });
continue;
}
if (value === "(") {
increment("parens"), push({ type: "paren", value });
continue;
}
if (value === ")") {
if (state.parens === 0 && opts.strictBrackets === !0)
throw new SyntaxError(syntaxError("opening", "("));
let extglob = extglobs[extglobs.length - 1];
if (extglob && state.parens === extglob.parens + 1) {
extglobClose(extglobs.pop());
continue;
}
push({ type: "paren", value, output: state.parens ? ")" : "\\)" }), decrement("parens");
continue;
}
if (value === "[") {
if (opts.nobracket === !0 || !remaining().includes("]")) {
if (opts.nobracket !== !0 && opts.strictBrackets === !0)
throw new SyntaxError(syntaxError("closing", "]"));
value = `\\${value}`;
} else
increment("brackets");
push({ type: "bracket", value });
continue;
}
if (value === "]") {
if (opts.nobracket === !0 || prev && prev.type === "bracket" && prev.value.length === 1) {
push({ type: "text", value, output: `\\${value}` });
continue;
}
if (state.brackets === 0) {
if (opts.strictBrackets === !0)
throw new SyntaxError(syntaxError("opening", "["));
push({ type: "text", value, output: `\\${value}` });
continue;
}
decrement("brackets");
let prevValue = prev.value.slice(1);
if (prev.posix !== !0 && prevValue[0] === "^" && !prevValue.includes("/") && (value = `/${value}`), prev.value += value, append({ value }), opts.literalBrackets === !1 || utils.hasRegexChars(prevValue))
continue;
let escaped = utils.escapeRegex(prev.value);
if (state.output = state.output.slice(0, -prev.value.length), opts.literalBrackets === !0) {
state.output += escaped, prev.value = escaped;
continue;
}
prev.value = `(${capture}${escaped}|${prev.value})`, state.output += prev.value;
continue;
}
if (value === "{" && opts.nobrace !== !0) {
increment("braces");
let open = {
type: "brace",
value,
output: "(",
outputIndex: state.output.length,
tokensIndex: state.tokens.length
};
braces.push(open), push(open);
continue;
}
if (value === "}") {
let brace = braces[braces.length - 1];
if (opts.nobrace === !0 || !brace) {
push({ type: "text", value, output: value });
continue;
}
let output = ")";
if (brace.dots === !0) {
let arr = tokens.slice(), range = [];
for (let i = arr.length - 1; i >= 0 && (tokens.pop(), arr[i].type !== "brace"); i--)
arr[i].type !== "dots" && range.unshift(arr[i].value);
output = expandRange(range, opts), state.backtrack = !0;
}
if (brace.comma !== !0 && brace.dots !== !0) {
let out = state.output.slice(0, brace.outputIndex), toks = state.tokens.slice(brace.tokensIndex);
brace.value = brace.output = "\\{", value = output = "\\}", state.output = out;
for (let t of toks)
state.output += t.output || t.value;
}
push({ type: "brace", value, output }), decrement("braces"), braces.pop();
continue;
}
if (value === "|") {
extglobs.length > 0 && extglobs[extglobs.length - 1].conditions++, push({ type: "text", value });
continue;
}
if (value === ",") {
let output = value, brace = braces[braces.length - 1];
brace && stack[stack.length - 1] === "braces" && (brace.comma = !0, output = "|"), push({ type: "comma", value, output });
continue;
}
if (value === "/") {
if (prev.type === "dot" && state.index === state.start + 1) {
state.start = state.index + 1, state.consumed = "", state.output = "", tokens.pop(), prev = bos;
continue;
}
push({ type: "slash", value, output: SLASH_LITERAL });
continue;
}
if (value === ".") {
if (state.braces > 0 && prev.type === "dot") {
prev.value === "." && (prev.output = DOT_LITERAL);
let brace = braces[braces.length - 1];
prev.type = "dots", prev.output += value, prev.value += value, brace.dots = !0;
continue;
}
if (state.braces + state.parens === 0 && prev.type !== "bos" && prev.type !== "slash") {
push({ type: "text", value, output: DOT_LITERAL });
continue;
}
push({ type: "dot", value, output: DOT_LITERAL });
continue;
}
if (value === "?") {
if (!(prev && prev.value === "(") && opts.noextglob !== !0 && peek() === "(" && peek(2) !== "?") {
extglobOpen("qmark", value);
continue;
}
if (prev && prev.type === "paren") {
let next = peek(), output = value;
(prev.value === "(" && !/[!=<:]/.test(next) || next === "<" && !/<([!=]|\w+>)/.test(remaining())) && (output = `\\${value}`), push({ type: "text", value, output });
continue;
}
if (opts.dot !== !0 && (prev.type === "slash" || prev.type === "bos")) {
push({ type: "qmark", value, output: QMARK_NO_DOT });
continue;
}
push({ type: "qmark", value, output: QMARK });
continue;
}
if (value === "!") {
if (opts.noextglob !== !0 && peek() === "(" && (peek(2) !== "?" || !/[!=<:]/.test(peek(3)))) {
extglobOpen("negate", value);
continue;
}
if (opts.nonegate !== !0 && state.index === 0) {
negate();
continue;
}
}
if (value === "+") {
if (opts.noextglob !== !0 && peek() === "(" && peek(2) !== "?") {
extglobOpen("plus", value);
continue;
}
if (prev && prev.value === "(" || opts.regex === !1) {
push({ type: "plus", value, output: PLUS_LITERAL });
continue;
}
if (prev && (prev.type === "bracket" || prev.type === "paren" || prev.type === "brace") || state.parens > 0) {
push({ type: "plus", value });
continue;
}
push({ type: "plus", value: PLUS_LITERAL });
continue;
}
if (value === "@") {
if (opts.noextglob !== !0 && peek() === "(" && peek(2) !== "?") {
push({ type: "at", extglob: !0, value, output: "" });
continue;
}
push({ type: "text", value });
continue;
}
if (value !== "*") {
(value === "$" || value === "^") && (value = `\\${value}`);
let match = REGEX_NON_SPECIAL_CHARS.exec(remaining());
match && (value += match[0], state.index += match[0].length), push({ type: "text", value });
continue;
}
if (prev && (prev.type === "globstar" || prev.star === !0)) {
prev.type = "star", prev.star = !0, prev.value += value, prev.output = star, state.backtrack = !0, state.globstar = !0, consume(value);
continue;
}
let rest = remaining();
if (opts.noextglob !== !0 && /^\([^?]/.test(rest)) {
extglobOpen("star", value);
continue;
}
if (prev.type === "star") {
if (opts.noglobstar === !0) {
consume(value);
continue;
}
let prior = prev.prev, before = prior.prev, isStart = prior.type === "slash" || prior.type === "bos", afterStar = before && (before.type === "star" || before.type === "globstar");
if (opts.bash === !0 && (!isStart || rest[0] && rest[0] !== "/")) {
push({ type: "star", value, output: "" });
continue;
}
let isBrace = state.braces > 0 && (prior.type === "comma" || prior.type === "brace"), isExtglob = extglobs.length && (prior.type === "pipe" || prior.type === "paren");
if (!isStart && prior.type !== "paren" && !isBrace && !isExtglob) {
push({ type: "star", value, output: "" });
continue;
}
for (; rest.slice(0, 3) === "/**"; ) {
let after = input[state.index + 4];
if (after && after !== "/")
break;
rest = rest.slice(3), consume("/**", 3);
}
if (prior.type === "bos" && eos()) {
prev.type = "globstar", prev.value += value, prev.output = globstar(opts), state.output = prev.output, state.globstar = !0, consume(value);
continue;
}
if (prior.type === "slash" && prior.prev.type !== "bos" && !afterStar && eos()) {
state.output = state.output.slice(0, -(prior.output + prev.output).length), prior.output = `(?:${prior.output}`, prev.type = "globstar", prev.output = globstar(opts) + (opts.strictSlashes ? ")" : "|$)"), prev.value += value, state.globstar = !0, state.output += prior.output + prev.output, consume(value);
continue;
}
if (prior.type === "slash" && prior.prev.type !== "bos" && rest[0] === "/") {
let end = rest[1] !== void 0 ? "|$" : "";
state.output = state.output.slice(0, -(prior.output + prev.output).length), prior.output = `(?:${prior.output}`, prev.type = "globstar", prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`, prev.value += value, state.output += prior.output + prev.output, state.globstar = !0, consume(value + advance()), push({ type: "slash", value: "/", output: "" });
continue;
}
if (prior.type === "bos" && rest[0] === "/") {
prev.type = "globstar", prev.value += value, prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`, state.output = prev.output, state.globstar = !0, consume(value + advance()), push({ type: "slash", value: "/", output: "" });
continue;
}
state.output = state.output.slice(0, -prev.output.length), prev.type = "globstar", prev.output = globstar(opts), prev.value += value, state.output += prev.output, state.globstar = !0, consume(value);
continue;
}
let token = { type: "star", value, output: star };
if (opts.bash === !0) {
token.output = ".*?", (prev.type === "bos" || prev.type === "slash") && (token.output = nodot + token.output), push(token);
continue;
}
if (prev && (prev.type === "bracket" || prev.type === "paren") && opts.regex === !0) {
token.output = value, push(token);
continue;
}
(state.index === state.start || prev.type === "slash" || prev.type === "dot") && (prev.type === "dot" ? (state.output += NO_DOT_SLASH, prev.output += NO_DOT_SLASH) : opts.dot === !0 ? (state.output += NO_DOTS_SLASH, prev.output += NO_DOTS_SLASH) : (state.output += nodot, prev.output += nodot), peek() !== "*" && (state.output += ONE_CHAR, prev.output += ONE_CHAR)), push(token);
}
for (; state.brackets > 0; ) {
if (opts.strictBrackets === !0) throw new SyntaxError(syntaxError("closing", "]"));
state.output = utils.escapeLast(state.output, "["), decrement("brackets");
}
for (; state.parens > 0; ) {
if (opts.strictBrackets === !0) throw new SyntaxError(syntaxError("closing", ")"));
state.output = utils.escapeLast(state.output, "("), decrement("parens");
}
for (; state.braces > 0; ) {
if (opts.strictBrackets === !0) throw new SyntaxError(syntaxError("closing", "}"));
state.output = utils.escapeLast(state.output, "{"), decrement("braces");
}
if (opts.strictSlashes !== !0 && (prev.type === "star" || prev.type === "bracket") && push({ type: "maybe_slash", value: "", output: `${SLASH_LITERAL}?` }), state.backtrack === !0) {
state.output = "";
for (let token of state.tokens)
state.output += token.output != null ? token.output : token.value, token.suffix && (state.output += token.suffix);
}
return state;
};
parse.fastpaths = (input, options) => {
let opts = { ...options }, max = typeof opts.maxLength == "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH, len = input.length;
if (len > max)
throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
input = REPLACEMENTS[input] || input;
let {
DOT_LITERAL,
SLASH_LITERAL,
ONE_CHAR,
DOTS_SLASH,
NO_DOT,
NO_DOTS,
NO_DOTS_SLASH,
STAR,
START_ANCHOR
} = constants.globChars(opts.windows), nodot = opts.dot ? NO_DOTS : NO_DOT, slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT, capture = opts.capture ? "" : "?:", state = { negated: !1, prefix: "" }, star = opts.bash === !0 ? ".*?" : STAR;
opts.capture && (star = `(${star})`);
let globstar = (opts2) => opts2.noglobstar === !0 ? star : `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`, create = (str) => {
switch (str) {
case "*":
return `${nodot}${ONE_CHAR}${star}`;
case ".*":
return `${DOT_LITERAL}${ONE_CHAR}${star}`;
case "*.*":
return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
case "*/*":
return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`;
case "**":
return nodot + globstar(opts);
case "**/*":
return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`;
case "**/*.*":
return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
case "**/.*":
return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`;
default: {
let match = /^(.*?)\.(\w+)$/.exec(str);
if (!match) return;
let source2 = create(match[1]);
return source2 ? source2 + DOT_LITERAL + match[2] : void 0;
}
}
}, output = utils.removePrefix(input, state), source = create(output);
return source && opts.strictSlashes !== !0 && (source += `${SLASH_LITERAL}?`), source;
};
module.exports = parse;
}
});
// ../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/picomatch.js
var require_picomatch = __commonJS({
"../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/picomatch.js"(exports, module) {
"use strict";
var scan = require_scan(), parse = require_parse(), utils = require_utils(), constants = require_constants(), isObject = (val) => val && typeof val == "object" && !Array.isArray(val), picomatch = (glob, options, returnState = !1) => {
if (Array.isArray(glob)) {
let fns = glob.map((input) => picomatch(input, options, returnState));
return (str) => {
for (let isMatch of fns) {
let state2 = isMatch(str);
if (state2) return state2;
}
return !1;
};
}
let isState = isObject(glob) && glob.tokens && glob.input;
if (glob === "" || typeof glob != "string" && !isState)
throw new TypeError("Expected pattern to be a non-empty string");
let opts = options || {}, posix2 = opts.windows, regex = isState ? picomatch.compileRe(glob, options) : picomatch.makeRe(glob, options, !1, !0), state = regex.state;
delete regex.state;
let isIgnored = () => !1;
if (opts.ignore) {
let ignoreOpts = { ...options, ignore: null, onMatch: null, onResult: null };
isIgnored = picomatch(opts.ignore, ignoreOpts, returnState);
}
let matcher = (input, returnObject = !1) => {
let { isMatch, match, output } = picomatch.test(input, regex, options, { glob, posix: posix2 }), result = { glob, state, regex, posix: posix2, input, output, match, isMatch };
return typeof opts.onResult == "function" && opts.onResult(result), isMatch === !1 ? (result.isMatch = !1, returnObject ? result : !1) : isIgnored(input) ? (typeof opts.onIgnore == "function" && opts.onIgnore(result), result.isMatch = !1, returnObject ? result : !1) : (typeof opts.onMatch == "function" && opts.onMatch(result), returnObject ? result : !0);
};
return returnState && (matcher.state = state), matcher;
};
picomatch.test = (input, regex, options, { glob, posix: posix2 } = {}) => {
if (typeof input != "string")
throw new TypeError("Expected input to be a string");
if (input === "")
return { isMatch: !1, output: "" };
let opts = options || {}, format = opts.format || (posix2 ? utils.toPosixSlashes : null), match = input === glob, output = match && format ? format(input) : input;
return match === !1 && (output = format ? format(input) : input, match = output === glob), (match === !1 || opts.capture === !0) && (opts.matchBase === !0 || opts.basename === !0 ? match = picomatch.matchBase(input, regex, options, posix2) : match = regex.exec(output)), { isMatch: !!match, match, output };
};
picomatch.matchBase = (input, glob, options) => (glob instanceof RegExp ? glob : picomatch.makeRe(glob, options)).test(utils.basename(input));
picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str);
picomatch.parse = (pattern, options) => Array.isArray(pattern) ? pattern.map((p) => picomatch.parse(p, options)) : parse(pattern, { ...options, fastpaths: !1 });
picomatch.scan = (input, options) => scan(input, options);
picomatch.compileRe = (state, options, returnOutput = !1, returnState = !1) => {
if (returnOutput === !0)
return state.output;
let opts = options || {}, prepend = opts.contains ? "" : "^", append = opts.contains ? "" : "$", source = `${prepend}(?:${state.output})${append}`;
state && state.negated === !0 && (source = `^(?!${source}).*$`);
let regex = picomatch.toRegex(source, options);
return returnState === !0 && (regex.state = state), regex;
};
picomatch.makeRe = (input, options = {}, returnOutput = !1, returnState = !1) => {
if (!input || typeof input != "string")
throw new TypeError("Expected a non-empty string");
let parsed = { negated: !1, fastpaths: !0 };
return options.fastpaths !== !1 && (input[0] === "." || input[0] === "*") && (parsed.output = parse.fastpaths(input, options)), parsed.output || (parsed = parse(input, options)), picomatch.compileRe(parsed, options, returnOutput, returnState);
};
picomatch.toRegex = (source, options) => {
try {
let opts = options || {};
return new RegExp(source, opts.flags || (opts.nocase ? "i" : ""));
} catch (err) {
if (options && options.debug === !0) throw err;
return /$^/;
}
};
picomatch.constants = constants;
module.exports = picomatch;
}
});
// ../../../node_modules/@rollup/pluginutils/node_modules/picomatch/index.js
var require_picomatch2 = __commonJS({
"../../../node_modules/@rollup/pluginutils/node_modules/picomatch/index.js"(exports, module) {
"use strict";
var pico = require_picomatch(), utils = require_utils();
function picomatch(glob, options, returnState = !1) {
return options && (options.windows === null || options.windows === void 0) && (options = { ...options, windows: utils.isWindows() }), pico(glob, options, returnState);
}
Object.assign(picomatch, pico);
module.exports = picomatch;
}
});
// ../../../node_modules/@rollup/pluginutils/dist/es/index.js
import { extname, win32, posix, isAbsolute, resolve } from "path";
var import_picomatch = __toESM(require_picomatch2(), 1);
function isArray(arg) {
return Array.isArray(arg);
}
function ensureArray(thing) {
return isArray(thing) ? thing : thing == null ? [] : [thing];
}
var normalizePathRegExp = new RegExp(`\\${win32.sep}`, "g"), normalizePath = function(filename) {
return filename.replace(normalizePathRegExp, posix.sep);
};
function getMatcherString(id, resolutionBase) {
if (resolutionBase === !1 || isAbsolute(id) || id.startsWith("**"))
return normalizePath(id);
let basePath = normalizePath(resolve(resolutionBase || "")).replace(/[-^$*+?.()|[\]{}]/g, "\\$&");
return posix.join(basePath, normalizePath(id));
}
var createFilter = function(include, exclude, options) {
let resolutionBase = options && options.resolve, getMatcher = (id) => id instanceof RegExp ? id : {
test: (what) => {
let pattern = getMatcherString(id, resolutionBase);
return (0, import_picomatch.default)(pattern, { dot: !0 })(what);
}
}, includeMatchers = ensureArray(include).map(getMatcher), excludeMatchers = ensureArray(exclude).map(getMatcher);
return !includeMatchers.length && !excludeMatchers.length ? (id) => typeof id == "string" && !id.includes("\0") : function(id) {
if (typeof id != "string" || id.includes("\0"))
return !1;
let pathId = normalizePath(id);
for (let i = 0; i < excludeMatchers.length; ++i) {
let matcher = excludeMatchers[i];
if (matcher instanceof RegExp && (matcher.lastIndex = 0), matcher.test(pathId))
return !1;
}
for (let i = 0; i < includeMatchers.length; ++i) {
let matcher = includeMatchers[i];
if (matcher instanceof RegExp && (matcher.lastIndex = 0), matcher.test(pathId))
return !0;
}
return !includeMatchers.length;
};
}, reservedWords = "break case class catch const continue debugger default delete do else export extends finally for function if import in instanceof let new return super switch this throw try typeof var void while with yield enum await implements package protected static interface private public", builtins = "arguments Infinity NaN undefined null true false eval uneval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Symbol Error EvalError InternalError RangeError ReferenceError SyntaxError TypeError URIError Number Math Date String RegExp Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array Map Set WeakMap WeakSet SIMD ArrayBuffer DataView JSON Promise Generator GeneratorFunction Reflect Proxy Intl", forbiddenIdentifiers = new Set(`${reservedWords} ${builtins}`.split(" "));
forbiddenIdentifiers.add("");
var hasStringIsWellFormed = "isWellFormed" in String.prototype;
// src/mdx-plugin.ts
async function mdxPlugin(options) {
let filter = createFilter(/\.mdx$/), { presets } = options, mdxPluginOptions = (await presets.apply("options", {}))?.mdxPluginOptions, rehypeSlug = (await import("./rehype-slug-XVFMD3TD.js")).default, rehypeExternalLinks = (await import("./rehype-external-links-PDPSLU7H.js")).default;
return {
name: "storybook:mdx-plugin",
enforce: "pre",
async transform(src, id) {
if (!filter(id))
return;
let mdxLoaderOptions = await presets.apply("mdxLoaderOptions", {
...mdxPluginOptions,
mdxCompileOptions: {
providerImportSource: import.meta.resolve("@storybook/addon-docs/mdx-react-shim"),
...mdxPluginOptions?.mdxCompileOptions,
rehypePlugins: [
...mdxPluginOptions?.mdxCompileOptions?.rehypePlugins ?? [],
rehypeSlug,
rehypeExternalLinks
]
}
});
return {
code: String(await compile(src, mdxLoaderOptions)),
// TODO: support source maps
map: null
};
}
};
}
export {
mdxPlugin
};
import CJS_COMPAT_NODE_URL_zcds5g9vvm from 'node:url';
import CJS_COMPAT_NODE_PATH_zcds5g9vvm from 'node:path';
import CJS_COMPAT_NODE_MODULE_zcds5g9vvm from "node:module";
var __filename = CJS_COMPAT_NODE_URL_zcds5g9vvm.fileURLToPath(import.meta.url);
var __dirname = CJS_COMPAT_NODE_PATH_zcds5g9vvm.dirname(__filename);
var require = CJS_COMPAT_NODE_MODULE_zcds5g9vvm.createRequire(import.meta.url);
// ------------------------------------------------------------
// end of CJS compatibility banner, injected by Storybook's esbuild configuration
// ------------------------------------------------------------
import {
esm_default,
parse
} from "./chunk-AMBYZLWF.js";
import {
visit
} from "./chunk-CWUM6KWA.js";
import "./chunk-PSYUP74M.js";
// ../../../node_modules/hast-util-is-element/lib/index.js
var convertElement = (
// Note: overloads in JSDoc can’t yet use different `@template`s.
/**
* @type {(
* (<Condition extends TestFunction>(test: Condition) => (element: unknown, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element & Predicate<Condition, Element>) &
* (<Condition extends string>(test: Condition) => (element: unknown, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element & {tagName: Condition}) &
* ((test?: null | undefined) => (element?: unknown, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element) &
* ((test?: Test) => Check)
* )}
*/
/**
* @param {Test | null | undefined} [test]
* @returns {Check}
*/
(function(test) {
if (test == null)
return element;
if (typeof test == "string")
return tagNameFactory(test);
if (typeof test == "object")
return anyFactory(test);
if (typeof test == "function")
return castFactory(test);
throw new Error("Expected function, string, or array as `test`");
})
);
function anyFactory(tests) {
let checks = [], index = -1;
for (; ++index < tests.length; )
checks[index] = convertElement(tests[index]);
return castFactory(any);
function any(...parameters) {
let index2 = -1;
for (; ++index2 < checks.length; )
if (checks[index2].apply(this, parameters)) return !0;
return !1;
}
}
function tagNameFactory(check) {
return castFactory(tagName);
function tagName(element2) {
return element2.tagName === check;
}
}
function castFactory(testFunction) {
return check;
function check(value, index, parent) {
return !!(looksLikeAnElement(value) && testFunction.call(
this,
value,
typeof index == "number" ? index : void 0,
parent || void 0
));
}
}
function element(element2) {
return !!(element2 && typeof element2 == "object" && "type" in element2 && element2.type === "element" && "tagName" in element2 && typeof element2.tagName == "string");
}
function looksLikeAnElement(value) {
return value !== null && typeof value == "object" && "type" in value && "tagName" in value;
}
// ../../../node_modules/is-absolute-url/index.js
var ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\d+\-.]*?:/, WINDOWS_PATH_REGEX = /^[a-zA-Z]:\\/;
function isAbsoluteUrl(url) {
if (typeof url != "string")
throw new TypeError(`Expected a \`string\`, got \`${typeof url}\``);
return WINDOWS_PATH_REGEX.test(url) ? !1 : ABSOLUTE_URL_REGEX.test(url);
}
// ../../../node_modules/rehype-external-links/lib/index.js
var defaultProtocols = ["http", "https"], defaultRel = ["nofollow"], emptyOptions = {};
function rehypeExternalLinks(options) {
let settings = options || emptyOptions, protocols = settings.protocols || defaultProtocols, is = convertElement(settings.test);
return function(tree) {
visit(tree, "element", function(node, index, parent) {
if (node.tagName === "a" && typeof node.properties.href == "string" && is(node, index, parent)) {
let url = node.properties.href;
if (isAbsoluteUrl(url) ? protocols.includes(url.slice(0, url.indexOf(":"))) : url.startsWith("//")) {
let contentRaw = createIfNeeded(settings.content, node), content = contentRaw && !Array.isArray(contentRaw) ? [contentRaw] : contentRaw, relRaw = createIfNeeded(settings.rel, node) || defaultRel, rel = typeof relRaw == "string" ? parse(relRaw) : relRaw, target = createIfNeeded(settings.target, node), properties = createIfNeeded(settings.properties, node);
if (properties && Object.assign(node.properties, esm_default(properties)), rel.length > 0 && (node.properties.rel = [...rel]), target && (node.properties.target = target), content) {
let properties2 = createIfNeeded(settings.contentProperties, node) || {};
node.children.push({
type: "element",
tagName: "span",
properties: esm_default(properties2),
children: esm_default(content)
});
}
}
}
});
};
}
function createIfNeeded(value, element2) {
return typeof value == "function" ? value(element2) : value;
}
export {
rehypeExternalLinks as default
};
import CJS_COMPAT_NODE_URL_zcds5g9vvm from 'node:url';
import CJS_COMPAT_NODE_PATH_zcds5g9vvm from 'node:path';
import CJS_COMPAT_NODE_MODULE_zcds5g9vvm from "node:module";
var __filename = CJS_COMPAT_NODE_URL_zcds5g9vvm.fileURLToPath(import.meta.url);
var __dirname = CJS_COMPAT_NODE_PATH_zcds5g9vvm.dirname(__filename);
var require = CJS_COMPAT_NODE_MODULE_zcds5g9vvm.createRequire(import.meta.url);
// ------------------------------------------------------------
// end of CJS compatibility banner, injected by Storybook's esbuild configuration
// ------------------------------------------------------------
import {
visit
} from "./chunk-CWUM6KWA.js";
import "./chunk-PSYUP74M.js";
// ../../../node_modules/github-slugger/regex.js
var regex = /[\0-\x1F!-,\.\/:-@\[-\^`\{-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0378\u0379\u037E\u0380-\u0385\u0387\u038B\u038D\u03A2\u03F6\u0482\u0530\u0557\u0558\u055A-\u055F\u0589-\u0590\u05BE\u05C0\u05C3\u05C6\u05C8-\u05CF\u05EB-\u05EE\u05F3-\u060F\u061B-\u061F\u066A-\u066D\u06D4\u06DD\u06DE\u06E9\u06FD\u06FE\u0700-\u070F\u074B\u074C\u07B2-\u07BF\u07F6-\u07F9\u07FB\u07FC\u07FE\u07FF\u082E-\u083F\u085C-\u085F\u086B-\u089F\u08B5\u08C8-\u08D2\u08E2\u0964\u0965\u0970\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09F2-\u09FB\u09FD\u09FF\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF0-\u0AF8\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B54\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B70\u0B72-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BF0-\u0BFF\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B-\u0C5F\u0C64\u0C65\u0C70-\u0C7F\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0CFF\u0D0D\u0D11\u0D45\u0D49\u0D4F-\u0D53\u0D58-\u0D5E\u0D64\u0D65\u0D70-\u0D79\u0D80\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF4-\u0E00\u0E3B-\u0E3F\u0E4F\u0E5A-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F01-\u0F17\u0F1A-\u0F1F\u0F2A-\u0F34\u0F36\u0F38\u0F3A-\u0F3D\u0F48\u0F6D-\u0F70\u0F85\u0F98\u0FBD-\u0FC5\u0FC7-\u0FFF\u104A-\u104F\u109E\u109F\u10C6\u10C8-\u10CC\u10CE\u10CF\u10FB\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u1360-\u137F\u1390-\u139F\u13F6\u13F7\u13FE-\u1400\u166D\u166E\u1680\u169B-\u169F\u16EB-\u16ED\u16F9-\u16FF\u170D\u1715-\u171F\u1735-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17D4-\u17D6\u17D8-\u17DB\u17DE\u17DF\u17EA-\u180A\u180E\u180F\u181A-\u181F\u1879-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u1945\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DA-\u19FF\u1A1C-\u1A1F\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1AA6\u1AA8-\u1AAF\u1AC1-\u1AFF\u1B4C-\u1B4F\u1B5A-\u1B6A\u1B74-\u1B7F\u1BF4-\u1BFF\u1C38-\u1C3F\u1C4A-\u1C4C\u1C7E\u1C7F\u1C89-\u1C8F\u1CBB\u1CBC\u1CC0-\u1CCF\u1CD3\u1CFB-\u1CFF\u1DFA\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FBD\u1FBF-\u1FC1\u1FC5\u1FCD-\u1FCF\u1FD4\u1FD5\u1FDC-\u1FDF\u1FED-\u1FF1\u1FF5\u1FFD-\u203E\u2041-\u2053\u2055-\u2070\u2072-\u207E\u2080-\u208F\u209D-\u20CF\u20F1-\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F-\u215F\u2189-\u24B5\u24EA-\u2BFF\u2C2F\u2C5F\u2CE5-\u2CEA\u2CF4-\u2CFF\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D70-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E00-\u2E2E\u2E30-\u3004\u3008-\u3020\u3030\u3036\u3037\u303D-\u3040\u3097\u3098\u309B\u309C\u30A0\u30FB\u3100-\u3104\u3130\u318F-\u319F\u31C0-\u31EF\u3200-\u33FF\u4DC0-\u4DFF\u9FFD-\u9FFF\uA48D-\uA4CF\uA4FE\uA4FF\uA60D-\uA60F\uA62C-\uA63F\uA673\uA67E\uA6F2-\uA716\uA720\uA721\uA789\uA78A\uA7C0\uA7C1\uA7CB-\uA7F4\uA828-\uA82B\uA82D-\uA83F\uA874-\uA87F\uA8C6-\uA8CF\uA8DA-\uA8DF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA954-\uA95F\uA97D-\uA97F\uA9C1-\uA9CE\uA9DA-\uA9DF\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A-\uAA5F\uAA77-\uAA79\uAAC3-\uAADA\uAADE\uAADF\uAAF0\uAAF1\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB5B\uAB6A-\uAB6F\uABEB\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB29\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBB2-\uFBD2\uFD3E-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFC-\uFDFF\uFE10-\uFE1F\uFE30-\uFE32\uFE35-\uFE4C\uFE50-\uFE6F\uFE75\uFEFD-\uFF0F\uFF1A-\uFF20\uFF3B-\uFF3E\uFF40\uFF5B-\uFF65\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFFF]|\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDD3F\uDD75-\uDDFC\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEE1-\uDEFF\uDF20-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDF9F\uDFC4-\uDFC7\uDFD0\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56-\uDC5F\uDC77-\uDC7F\uDC9F-\uDCDF\uDCF3\uDCF6-\uDCFF\uDD16-\uDD1F\uDD3A-\uDD7F\uDDB8-\uDDBD\uDDC0-\uDDFF\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE40-\uDE5F\uDE7D-\uDE7F\uDE9D-\uDEBF\uDEC8\uDEE7-\uDEFF\uDF36-\uDF3F\uDF56-\uDF5F\uDF73-\uDF7F\uDF92-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCFF\uDD28-\uDD2F\uDD3A-\uDE7F\uDEAA\uDEAD-\uDEAF\uDEB2-\uDEFF\uDF1D-\uDF26\uDF28-\uDF2F\uDF51-\uDFAF\uDFC5-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC47-\uDC65\uDC70-\uDC7E\uDCBB-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD40-\uDD43\uDD48-\uDD4F\uDD74\uDD75\uDD77-\uDD7F\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDFF\uDE12\uDE38-\uDE3D\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEA9-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC4B-\uDC4F\uDC5A-\uDC5D\uDC62-\uDC7F\uDCC6\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDC1-\uDDD7\uDDDE-\uDDFF\uDE41-\uDE43\uDE45-\uDE4F\uDE5A-\uDE7F\uDEB9-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF3A-\uDFFF]|\uD806[\uDC3B-\uDC9F\uDCEA-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD44-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE2\uDDE5-\uDDFF\uDE3F-\uDE46\uDE48-\uDE4F\uDE9A-\uDE9C\uDE9E-\uDEBF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC41-\uDC4F\uDC5A-\uDC71\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF7-\uDFAF\uDFB1-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80B\uD80E-\uD810\uD812-\uD819\uD824-\uD82B\uD82D\uD82E\uD830-\uD833\uD837\uD839\uD83D\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDECF\uDEEE\uDEEF\uDEF5-\uDEFF\uDF37-\uDF3F\uDF44-\uDF4F\uDF5A-\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE80-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE2\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82C[\uDD1F-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A-\uDC9C\uDC9F-\uDFFF]|\uD834[\uDC00-\uDD64\uDD6A-\uDD6C\uDD73-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDE41\uDE45-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3\uDFCC\uDFCD]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD4F-\uDEBF\uDEFA-\uDFFF]|\uD83A[\uDCC5-\uDCCF\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDFFF]|\uD83C[\uDC00-\uDD2F\uDD4A-\uDD4F\uDD6A-\uDD6F\uDD8A-\uDFFF]|\uD83E[\uDC00-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEDE-\uDEFF]|\uD86D[\uDF35-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]/g;
// ../../../node_modules/github-slugger/index.js
var own = Object.hasOwnProperty, BananaSlug = class {
/**
* Create a new slug class.
*/
constructor() {
this.occurrences, this.reset();
}
/**
* Generate a unique slug.
*
* Tracks previously generated slugs: repeated calls with the same value
* will result in different slugs.
* Use the `slug` function to get same slugs.
*
* @param {string} value
* String of text to slugify
* @param {boolean} [maintainCase=false]
* Keep the current case, otherwise make all lowercase
* @return {string}
* A unique slug string
*/
slug(value, maintainCase) {
let self = this, result = slug(value, maintainCase === !0), originalSlug = result;
for (; own.call(self.occurrences, result); )
self.occurrences[originalSlug]++, result = originalSlug + "-" + self.occurrences[originalSlug];
return self.occurrences[result] = 0, result;
}
/**
* Reset - Forget all previous slugs
*
* @return void
*/
reset() {
this.occurrences = /* @__PURE__ */ Object.create(null);
}
};
function slug(value, maintainCase) {
return typeof value != "string" ? "" : (maintainCase || (value = value.toLowerCase()), value.replace(regex, "").replace(/ /g, "-"));
}
// ../../../node_modules/hast-util-heading-rank/lib/index.js
function headingRank(node) {
let name = node.type === "element" ? node.tagName.toLowerCase() : "", code = name.length === 2 && name.charCodeAt(0) === 104 ? name.charCodeAt(1) : 0;
return code > 48 && code < 55 ? code - 48 : void 0;
}
// ../../../node_modules/hast-util-to-string/lib/index.js
function toString(node) {
return "children" in node ? all(node) : "value" in node ? node.value : "";
}
function one(node) {
return node.type === "text" ? node.value : "children" in node ? all(node) : "";
}
function all(node) {
let index = -1, result = [];
for (; ++index < node.children.length; )
result[index] = one(node.children[index]);
return result.join("");
}
// ../../../node_modules/rehype-slug/lib/index.js
var emptyOptions = {}, slugs = new BananaSlug();
function rehypeSlug(options) {
let prefix = (options || emptyOptions).prefix || "";
return function(tree) {
slugs.reset(), visit(tree, "element", function(node) {
headingRank(node) && !node.properties.id && (node.properties.id = prefix + slugs.slug(toString(node)));
});
};
}
export {
rehypeSlug as default
};
+10
-10

@@ -1,8 +0,8 @@

import CJS_COMPAT_NODE_URL_6rlruqvtjnu from 'node:url';
import CJS_COMPAT_NODE_PATH_6rlruqvtjnu from 'node:path';
import CJS_COMPAT_NODE_MODULE_6rlruqvtjnu from "node:module";
import CJS_COMPAT_NODE_URL_zcds5g9vvm from 'node:url';
import CJS_COMPAT_NODE_PATH_zcds5g9vvm from 'node:path';
import CJS_COMPAT_NODE_MODULE_zcds5g9vvm from "node:module";
var __filename = CJS_COMPAT_NODE_URL_6rlruqvtjnu.fileURLToPath(import.meta.url);
var __dirname = CJS_COMPAT_NODE_PATH_6rlruqvtjnu.dirname(__filename);
var require = CJS_COMPAT_NODE_MODULE_6rlruqvtjnu.createRequire(import.meta.url);
var __filename = CJS_COMPAT_NODE_URL_zcds5g9vvm.fileURLToPath(import.meta.url);
var __dirname = CJS_COMPAT_NODE_PATH_zcds5g9vvm.dirname(__filename);
var require = CJS_COMPAT_NODE_MODULE_zcds5g9vvm.createRequire(import.meta.url);

@@ -14,6 +14,6 @@ // ------------------------------------------------------------

compile
} from "./_node-chunks/chunk-LCD3LURL.js";
import "./_node-chunks/chunk-LTOX5BWR.js";
import "./_node-chunks/chunk-Y2P6BK4N.js";
import "./_node-chunks/chunk-WNVFHOCG.js";
} from "./_node-chunks/chunk-SB2L25BP.js";
import "./_node-chunks/chunk-AMBYZLWF.js";
import "./_node-chunks/chunk-CWUM6KWA.js";
import "./_node-chunks/chunk-PSYUP74M.js";

@@ -20,0 +20,0 @@ // src/mdx-loader.ts

@@ -1,8 +0,8 @@

import CJS_COMPAT_NODE_URL_6rlruqvtjnu from 'node:url';
import CJS_COMPAT_NODE_PATH_6rlruqvtjnu from 'node:path';
import CJS_COMPAT_NODE_MODULE_6rlruqvtjnu from "node:module";
import CJS_COMPAT_NODE_URL_zcds5g9vvm from 'node:url';
import CJS_COMPAT_NODE_PATH_zcds5g9vvm from 'node:path';
import CJS_COMPAT_NODE_MODULE_zcds5g9vvm from "node:module";
var __filename = CJS_COMPAT_NODE_URL_6rlruqvtjnu.fileURLToPath(import.meta.url);
var __dirname = CJS_COMPAT_NODE_PATH_6rlruqvtjnu.dirname(__filename);
var require = CJS_COMPAT_NODE_MODULE_6rlruqvtjnu.createRequire(import.meta.url);
var __filename = CJS_COMPAT_NODE_URL_zcds5g9vvm.fileURLToPath(import.meta.url);
var __dirname = CJS_COMPAT_NODE_PATH_zcds5g9vvm.dirname(__filename);
var require = CJS_COMPAT_NODE_MODULE_zcds5g9vvm.createRequire(import.meta.url);

@@ -12,3 +12,3 @@ // ------------------------------------------------------------

// ------------------------------------------------------------
import "./_node-chunks/chunk-WNVFHOCG.js";
import "./_node-chunks/chunk-PSYUP74M.js";

@@ -310,3 +310,3 @@ // src/preset.ts

async function webpack(webpackConfig = {}, options) {
let { module = {} } = webpackConfig, { csfPluginOptions = {}, mdxPluginOptions = {} } = options, enrichCsf = await options.presets.apply("experimental_enrichCsf"), rehypeSlug = (await import("./_node-chunks/rehype-slug-DHKQA5WB.js")).default, rehypeExternalLinks = (await import("./_node-chunks/rehype-external-links-56O6ZI7A.js")).default, mdxLoaderOptions = await options.presets.apply("mdxLoaderOptions", {
let { module = {} } = webpackConfig, { csfPluginOptions = {}, mdxPluginOptions = {} } = options, enrichCsf = await options.presets.apply("experimental_enrichCsf"), rehypeSlug = (await import("./_node-chunks/rehype-slug-XVFMD3TD.js")).default, rehypeExternalLinks = (await import("./_node-chunks/rehype-external-links-PDPSLU7H.js")).default, mdxLoaderOptions = await options.presets.apply("mdxLoaderOptions", {
...mdxPluginOptions,

@@ -387,3 +387,3 @@ mdxCompileOptions: {

], viteFinal = async (config, options) => {
let { plugins = [] } = config, { mdxPlugin } = await import("./_node-chunks/mdx-plugin-NNCVZRSO.js"), { react, reactDom, mdx } = await getResolvedReact(options), packageDeduplicationPlugin = {
let { plugins = [] } = config, { mdxPlugin } = await import("./_node-chunks/mdx-plugin-6QZVXDXE.js"), { react, reactDom, mdx } = await getResolvedReact(options), packageDeduplicationPlugin = {
name: "storybook:package-deduplication",

@@ -390,0 +390,0 @@ enforce: "pre",

{
"name": "@storybook/addon-docs",
"version": "10.2.12",
"version": "10.2.13",
"description": "Storybook Docs: Document UI components automatically with stories and MDX",

@@ -83,5 +83,5 @@ "keywords": [

"@mdx-js/react": "^3.0.0",
"@storybook/csf-plugin": "10.2.12",
"@storybook/csf-plugin": "10.2.13",
"@storybook/icons": "^2.0.1",
"@storybook/react-dom-shim": "10.2.12",
"@storybook/react-dom-shim": "10.2.13",
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",

@@ -113,3 +113,3 @@ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",

"peerDependencies": {
"storybook": "^10.2.12"
"storybook": "^10.2.13"
},

@@ -116,0 +116,0 @@ "publishConfig": {

Sorry, the diff of this file is too big to display

import CJS_COMPAT_NODE_URL_6rlruqvtjnu from 'node:url';
import CJS_COMPAT_NODE_PATH_6rlruqvtjnu from 'node:path';
import CJS_COMPAT_NODE_MODULE_6rlruqvtjnu from "node:module";
var __filename = CJS_COMPAT_NODE_URL_6rlruqvtjnu.fileURLToPath(import.meta.url);
var __dirname = CJS_COMPAT_NODE_PATH_6rlruqvtjnu.dirname(__filename);
var require = CJS_COMPAT_NODE_MODULE_6rlruqvtjnu.createRequire(import.meta.url);
// ------------------------------------------------------------
// end of CJS compatibility banner, injected by Storybook's esbuild configuration
// ------------------------------------------------------------
// ../../../node_modules/@ungap/structured-clone/esm/deserialize.js
var env = typeof self == "object" ? self : globalThis, deserializer = ($, _) => {
let as = (out, index) => ($.set(index, out), out), unpair = (index) => {
if ($.has(index))
return $.get(index);
let [type, value] = _[index];
switch (type) {
case 0:
case -1:
return as(value, index);
case 1: {
let arr = as([], index);
for (let index2 of value)
arr.push(unpair(index2));
return arr;
}
case 2: {
let object = as({}, index);
for (let [key, index2] of value)
object[unpair(key)] = unpair(index2);
return object;
}
case 3:
return as(new Date(value), index);
case 4: {
let { source, flags } = value;
return as(new RegExp(source, flags), index);
}
case 5: {
let map = as(/* @__PURE__ */ new Map(), index);
for (let [key, index2] of value)
map.set(unpair(key), unpair(index2));
return map;
}
case 6: {
let set = as(/* @__PURE__ */ new Set(), index);
for (let index2 of value)
set.add(unpair(index2));
return set;
}
case 7: {
let { name, message } = value;
return as(new env[name](message), index);
}
case 8:
return as(BigInt(value), index);
case "BigInt":
return as(Object(BigInt(value)), index);
case "ArrayBuffer":
return as(new Uint8Array(value).buffer, value);
case "DataView": {
let { buffer } = new Uint8Array(value);
return as(new DataView(buffer), value);
}
}
return as(new env[type](value), index);
};
return unpair;
}, deserialize = (serialized) => deserializer(/* @__PURE__ */ new Map(), serialized)(0);
// ../../../node_modules/@ungap/structured-clone/esm/serialize.js
var EMPTY = "", { toString } = {}, { keys } = Object, typeOf = (value) => {
let type = typeof value;
if (type !== "object" || !value)
return [0, type];
let asString = toString.call(value).slice(8, -1);
switch (asString) {
case "Array":
return [1, EMPTY];
case "Object":
return [2, EMPTY];
case "Date":
return [3, EMPTY];
case "RegExp":
return [4, EMPTY];
case "Map":
return [5, EMPTY];
case "Set":
return [6, EMPTY];
case "DataView":
return [1, asString];
}
return asString.includes("Array") ? [1, asString] : asString.includes("Error") ? [7, asString] : [2, asString];
}, shouldSkip = ([TYPE, type]) => TYPE === 0 && (type === "function" || type === "symbol"), serializer = (strict, json, $, _) => {
let as = (out, value) => {
let index = _.push(out) - 1;
return $.set(value, index), index;
}, pair = (value) => {
if ($.has(value))
return $.get(value);
let [TYPE, type] = typeOf(value);
switch (TYPE) {
case 0: {
let entry = value;
switch (type) {
case "bigint":
TYPE = 8, entry = value.toString();
break;
case "function":
case "symbol":
if (strict)
throw new TypeError("unable to serialize " + type);
entry = null;
break;
case "undefined":
return as([-1], value);
}
return as([TYPE, entry], value);
}
case 1: {
if (type) {
let spread = value;
return type === "DataView" ? spread = new Uint8Array(value.buffer) : type === "ArrayBuffer" && (spread = new Uint8Array(value)), as([type, [...spread]], value);
}
let arr = [], index = as([TYPE, arr], value);
for (let entry of value)
arr.push(pair(entry));
return index;
}
case 2: {
if (type)
switch (type) {
case "BigInt":
return as([type, value.toString()], value);
case "Boolean":
case "Number":
case "String":
return as([type, value.valueOf()], value);
}
if (json && "toJSON" in value)
return pair(value.toJSON());
let entries = [], index = as([TYPE, entries], value);
for (let key of keys(value))
(strict || !shouldSkip(typeOf(value[key]))) && entries.push([pair(key), pair(value[key])]);
return index;
}
case 3:
return as([TYPE, value.toISOString()], value);
case 4: {
let { source, flags } = value;
return as([TYPE, { source, flags }], value);
}
case 5: {
let entries = [], index = as([TYPE, entries], value);
for (let [key, entry] of value)
(strict || !(shouldSkip(typeOf(key)) || shouldSkip(typeOf(entry)))) && entries.push([pair(key), pair(entry)]);
return index;
}
case 6: {
let entries = [], index = as([TYPE, entries], value);
for (let entry of value)
(strict || !shouldSkip(typeOf(entry))) && entries.push(pair(entry));
return index;
}
}
let { message } = value;
return as([TYPE, { name: type, message }], value);
};
return pair;
}, serialize = (value, { json, lossy } = {}) => {
let _ = [];
return serializer(!(json || lossy), !!json, /* @__PURE__ */ new Map(), _)(value), _;
};
// ../../../node_modules/@ungap/structured-clone/esm/index.js
var esm_default = typeof structuredClone == "function" ? (
/* c8 ignore start */
(any, options) => options && ("json" in options || "lossy" in options) ? deserialize(serialize(any, options)) : structuredClone(any)
) : (any, options) => deserialize(serialize(any, options));
// ../../../node_modules/space-separated-tokens/index.js
function parse(value) {
let input = String(value || "").trim();
return input ? input.split(/[ \t\n\r\f]+/g) : [];
}
function stringify(values) {
return values.join(" ").trim();
}
export {
esm_default,
parse,
stringify
};
import CJS_COMPAT_NODE_URL_6rlruqvtjnu from 'node:url';
import CJS_COMPAT_NODE_PATH_6rlruqvtjnu from 'node:path';
import CJS_COMPAT_NODE_MODULE_6rlruqvtjnu from "node:module";
var __filename = CJS_COMPAT_NODE_URL_6rlruqvtjnu.fileURLToPath(import.meta.url);
var __dirname = CJS_COMPAT_NODE_PATH_6rlruqvtjnu.dirname(__filename);
var require = CJS_COMPAT_NODE_MODULE_6rlruqvtjnu.createRequire(import.meta.url);
// ------------------------------------------------------------
// end of CJS compatibility banner, injected by Storybook's esbuild configuration
// ------------------------------------------------------------
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
var __commonJS = (cb, mod) => function() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: !0 });
}, __copyProps = (to, from, except, desc) => {
if (from && typeof from == "object" || typeof from == "function")
for (let key of __getOwnPropNames(from))
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
mod
));
export {
__commonJS,
__export,
__toESM
};
import CJS_COMPAT_NODE_URL_6rlruqvtjnu from 'node:url';
import CJS_COMPAT_NODE_PATH_6rlruqvtjnu from 'node:path';
import CJS_COMPAT_NODE_MODULE_6rlruqvtjnu from "node:module";
var __filename = CJS_COMPAT_NODE_URL_6rlruqvtjnu.fileURLToPath(import.meta.url);
var __dirname = CJS_COMPAT_NODE_PATH_6rlruqvtjnu.dirname(__filename);
var require = CJS_COMPAT_NODE_MODULE_6rlruqvtjnu.createRequire(import.meta.url);
// ------------------------------------------------------------
// end of CJS compatibility banner, injected by Storybook's esbuild configuration
// ------------------------------------------------------------
// ../../../node_modules/unist-util-is/lib/index.js
var convert = (
// Note: overloads in JSDoc can’t yet use different `@template`s.
/**
* @type {(
* (<Condition extends string>(test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &
* (<Condition extends Props>(test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &
* (<Condition extends TestFunction>(test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate<Condition, Node>) &
* ((test?: null | undefined) => (node?: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &
* ((test?: Test) => Check)
* )}
*/
/**
* @param {Test} [test]
* @returns {Check}
*/
(function(test) {
if (test == null)
return ok;
if (typeof test == "function")
return castFactory(test);
if (typeof test == "object")
return Array.isArray(test) ? anyFactory(test) : (
// Cast because `ReadonlyArray` goes into the above but `isArray`
// narrows to `Array`.
propertiesFactory(
/** @type {Props} */
test
)
);
if (typeof test == "string")
return typeFactory(test);
throw new Error("Expected function, string, or object as test");
})
);
function anyFactory(tests) {
let checks = [], index = -1;
for (; ++index < tests.length; )
checks[index] = convert(tests[index]);
return castFactory(any);
function any(...parameters) {
let index2 = -1;
for (; ++index2 < checks.length; )
if (checks[index2].apply(this, parameters)) return !0;
return !1;
}
}
function propertiesFactory(check) {
let checkAsRecord = (
/** @type {Record<string, unknown>} */
check
);
return castFactory(all);
function all(node) {
let nodeAsRecord = (
/** @type {Record<string, unknown>} */
/** @type {unknown} */
node
), key;
for (key in check)
if (nodeAsRecord[key] !== checkAsRecord[key]) return !1;
return !0;
}
}
function typeFactory(check) {
return castFactory(type);
function type(node) {
return node && node.type === check;
}
}
function castFactory(testFunction) {
return check;
function check(value, index, parent) {
return !!(looksLikeANode(value) && testFunction.call(
this,
value,
typeof index == "number" ? index : void 0,
parent || void 0
));
}
}
function ok() {
return !0;
}
function looksLikeANode(value) {
return value !== null && typeof value == "object" && "type" in value;
}
// ../../../node_modules/unist-util-visit-parents/lib/color.node.js
function color(d) {
return "\x1B[33m" + d + "\x1B[39m";
}
// ../../../node_modules/unist-util-visit-parents/lib/index.js
var empty = [], CONTINUE = !0, EXIT = !1, SKIP = "skip";
function visitParents(tree, test, visitor, reverse) {
let check;
typeof test == "function" && typeof visitor != "function" ? (reverse = visitor, visitor = test) : check = test;
let is2 = convert(check), step = reverse ? -1 : 1;
factory(tree, void 0, [])();
function factory(node, index, parents) {
let value = (
/** @type {Record<string, unknown>} */
node && typeof node == "object" ? node : {}
);
if (typeof value.type == "string") {
let name = (
// `hast`
typeof value.tagName == "string" ? value.tagName : (
// `xast`
typeof value.name == "string" ? value.name : void 0
)
);
Object.defineProperty(visit2, "name", {
value: "node (" + color(node.type + (name ? "<" + name + ">" : "")) + ")"
});
}
return visit2;
function visit2() {
let result = empty, subresult, offset, grandparents;
if ((!test || is2(node, index, parents[parents.length - 1] || void 0)) && (result = toResult(visitor(node, parents)), result[0] === EXIT))
return result;
if ("children" in node && node.children) {
let nodeAsParent = (
/** @type {UnistParent} */
node
);
if (nodeAsParent.children && result[0] !== SKIP)
for (offset = (reverse ? nodeAsParent.children.length : -1) + step, grandparents = parents.concat(nodeAsParent); offset > -1 && offset < nodeAsParent.children.length; ) {
let child = nodeAsParent.children[offset];
if (subresult = factory(child, offset, grandparents)(), subresult[0] === EXIT)
return subresult;
offset = typeof subresult[1] == "number" ? subresult[1] : offset + step;
}
}
return result;
}
}
}
function toResult(value) {
return Array.isArray(value) ? value : typeof value == "number" ? [CONTINUE, value] : value == null ? empty : [value];
}
// ../../../node_modules/unist-util-visit/lib/index.js
function visit(tree, testOrVisitor, visitorOrReverse, maybeReverse) {
let reverse, test, visitor;
typeof testOrVisitor == "function" && typeof visitorOrReverse != "function" ? (test = void 0, visitor = testOrVisitor, reverse = visitorOrReverse) : (test = testOrVisitor, visitor = visitorOrReverse, reverse = maybeReverse), visitParents(tree, test, overload, reverse);
function overload(node, parents) {
let parent = parents[parents.length - 1], index = parent ? parent.children.indexOf(node) : void 0;
return visitor(node, index, parent);
}
}
export {
visit
};
import CJS_COMPAT_NODE_URL_6rlruqvtjnu from 'node:url';
import CJS_COMPAT_NODE_PATH_6rlruqvtjnu from 'node:path';
import CJS_COMPAT_NODE_MODULE_6rlruqvtjnu from "node:module";
var __filename = CJS_COMPAT_NODE_URL_6rlruqvtjnu.fileURLToPath(import.meta.url);
var __dirname = CJS_COMPAT_NODE_PATH_6rlruqvtjnu.dirname(__filename);
var require = CJS_COMPAT_NODE_MODULE_6rlruqvtjnu.createRequire(import.meta.url);
// ------------------------------------------------------------
// end of CJS compatibility banner, injected by Storybook's esbuild configuration
// ------------------------------------------------------------
import {
compile
} from "./chunk-LCD3LURL.js";
import "./chunk-LTOX5BWR.js";
import "./chunk-Y2P6BK4N.js";
import {
__commonJS,
__toESM
} from "./chunk-WNVFHOCG.js";
// ../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/constants.js
var require_constants = __commonJS({
"../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/constants.js"(exports, module) {
"use strict";
var WIN_NO_SLASH = "[^\\\\/]", ONE_CHAR = "(?=.)", QMARK = "[^/]", END_ANCHOR = "(?:\\/|$)", START_ANCHOR = "(?:^|\\/)", DOTS_SLASH = `\\.{1,2}${END_ANCHOR}`, NO_DOT = "(?!\\.)", NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`, NO_DOT_SLASH = `(?!\\.{0,1}${END_ANCHOR})`, NO_DOTS_SLASH = `(?!${DOTS_SLASH})`, QMARK_NO_DOT = "[^.\\/]", STAR = `${QMARK}*?`, SEP = "/", POSIX_CHARS = {
DOT_LITERAL: "\\.",
PLUS_LITERAL: "\\+",
QMARK_LITERAL: "\\?",
SLASH_LITERAL: "\\/",
ONE_CHAR,
QMARK,
END_ANCHOR,
DOTS_SLASH,
NO_DOT,
NO_DOTS,
NO_DOT_SLASH,
NO_DOTS_SLASH,
QMARK_NO_DOT,
STAR,
START_ANCHOR,
SEP
}, WINDOWS_CHARS = {
...POSIX_CHARS,
SLASH_LITERAL: "[\\\\/]",
QMARK: WIN_NO_SLASH,
STAR: `${WIN_NO_SLASH}*?`,
DOTS_SLASH: "\\.{1,2}(?:[\\\\/]|$)",
NO_DOT: "(?!\\.)",
NO_DOTS: "(?!(?:^|[\\\\/])\\.{1,2}(?:[\\\\/]|$))",
NO_DOT_SLASH: "(?!\\.{0,1}(?:[\\\\/]|$))",
NO_DOTS_SLASH: "(?!\\.{1,2}(?:[\\\\/]|$))",
QMARK_NO_DOT: "[^.\\\\/]",
START_ANCHOR: "(?:^|[\\\\/])",
END_ANCHOR: "(?:[\\\\/]|$)",
SEP: "\\"
}, POSIX_REGEX_SOURCE = {
alnum: "a-zA-Z0-9",
alpha: "a-zA-Z",
ascii: "\\x00-\\x7F",
blank: " \\t",
cntrl: "\\x00-\\x1F\\x7F",
digit: "0-9",
graph: "\\x21-\\x7E",
lower: "a-z",
print: "\\x20-\\x7E ",
punct: "\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",
space: " \\t\\r\\n\\v\\f",
upper: "A-Z",
word: "A-Za-z0-9_",
xdigit: "A-Fa-f0-9"
};
module.exports = {
MAX_LENGTH: 1024 * 64,
POSIX_REGEX_SOURCE,
// regular expressions
REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g,
REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/,
REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/,
REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g,
REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g,
REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g,
// Replace globs with equivalent patterns to reduce parsing time.
REPLACEMENTS: {
__proto__: null,
"***": "*",
"**/**": "**",
"**/**/**": "**"
},
// Digits
CHAR_0: 48,
/* 0 */
CHAR_9: 57,
/* 9 */
// Alphabet chars.
CHAR_UPPERCASE_A: 65,
/* A */
CHAR_LOWERCASE_A: 97,
/* a */
CHAR_UPPERCASE_Z: 90,
/* Z */
CHAR_LOWERCASE_Z: 122,
/* z */
CHAR_LEFT_PARENTHESES: 40,
/* ( */
CHAR_RIGHT_PARENTHESES: 41,
/* ) */
CHAR_ASTERISK: 42,
/* * */
// Non-alphabetic chars.
CHAR_AMPERSAND: 38,
/* & */
CHAR_AT: 64,
/* @ */
CHAR_BACKWARD_SLASH: 92,
/* \ */
CHAR_CARRIAGE_RETURN: 13,
/* \r */
CHAR_CIRCUMFLEX_ACCENT: 94,
/* ^ */
CHAR_COLON: 58,
/* : */
CHAR_COMMA: 44,
/* , */
CHAR_DOT: 46,
/* . */
CHAR_DOUBLE_QUOTE: 34,
/* " */
CHAR_EQUAL: 61,
/* = */
CHAR_EXCLAMATION_MARK: 33,
/* ! */
CHAR_FORM_FEED: 12,
/* \f */
CHAR_FORWARD_SLASH: 47,
/* / */
CHAR_GRAVE_ACCENT: 96,
/* ` */
CHAR_HASH: 35,
/* # */
CHAR_HYPHEN_MINUS: 45,
/* - */
CHAR_LEFT_ANGLE_BRACKET: 60,
/* < */
CHAR_LEFT_CURLY_BRACE: 123,
/* { */
CHAR_LEFT_SQUARE_BRACKET: 91,
/* [ */
CHAR_LINE_FEED: 10,
/* \n */
CHAR_NO_BREAK_SPACE: 160,
/* \u00A0 */
CHAR_PERCENT: 37,
/* % */
CHAR_PLUS: 43,
/* + */
CHAR_QUESTION_MARK: 63,
/* ? */
CHAR_RIGHT_ANGLE_BRACKET: 62,
/* > */
CHAR_RIGHT_CURLY_BRACE: 125,
/* } */
CHAR_RIGHT_SQUARE_BRACKET: 93,
/* ] */
CHAR_SEMICOLON: 59,
/* ; */
CHAR_SINGLE_QUOTE: 39,
/* ' */
CHAR_SPACE: 32,
/* */
CHAR_TAB: 9,
/* \t */
CHAR_UNDERSCORE: 95,
/* _ */
CHAR_VERTICAL_LINE: 124,
/* | */
CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279,
/* \uFEFF */
/**
* Create EXTGLOB_CHARS
*/
extglobChars(chars) {
return {
"!": { type: "negate", open: "(?:(?!(?:", close: `))${chars.STAR})` },
"?": { type: "qmark", open: "(?:", close: ")?" },
"+": { type: "plus", open: "(?:", close: ")+" },
"*": { type: "star", open: "(?:", close: ")*" },
"@": { type: "at", open: "(?:", close: ")" }
};
},
/**
* Create GLOB_CHARS
*/
globChars(win322) {
return win322 === !0 ? WINDOWS_CHARS : POSIX_CHARS;
}
};
}
});
// ../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/utils.js
var require_utils = __commonJS({
"../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/utils.js"(exports) {
"use strict";
var {
REGEX_BACKSLASH,
REGEX_REMOVE_BACKSLASH,
REGEX_SPECIAL_CHARS,
REGEX_SPECIAL_CHARS_GLOBAL
} = require_constants();
exports.isObject = (val) => val !== null && typeof val == "object" && !Array.isArray(val);
exports.hasRegexChars = (str) => REGEX_SPECIAL_CHARS.test(str);
exports.isRegexChar = (str) => str.length === 1 && exports.hasRegexChars(str);
exports.escapeRegex = (str) => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, "\\$1");
exports.toPosixSlashes = (str) => str.replace(REGEX_BACKSLASH, "/");
exports.isWindows = () => {
if (typeof navigator < "u" && navigator.platform) {
let platform = navigator.platform.toLowerCase();
return platform === "win32" || platform === "windows";
}
return typeof process < "u" && process.platform ? process.platform === "win32" : !1;
};
exports.removeBackslashes = (str) => str.replace(REGEX_REMOVE_BACKSLASH, (match) => match === "\\" ? "" : match);
exports.escapeLast = (input, char, lastIdx) => {
let idx = input.lastIndexOf(char, lastIdx);
return idx === -1 ? input : input[idx - 1] === "\\" ? exports.escapeLast(input, char, idx - 1) : `${input.slice(0, idx)}\\${input.slice(idx)}`;
};
exports.removePrefix = (input, state = {}) => {
let output = input;
return output.startsWith("./") && (output = output.slice(2), state.prefix = "./"), output;
};
exports.wrapOutput = (input, state = {}, options = {}) => {
let prepend = options.contains ? "" : "^", append = options.contains ? "" : "$", output = `${prepend}(?:${input})${append}`;
return state.negated === !0 && (output = `(?:^(?!${output}).*$)`), output;
};
exports.basename = (path, { windows } = {}) => {
let segs = path.split(windows ? /[\\/]/ : "/"), last = segs[segs.length - 1];
return last === "" ? segs[segs.length - 2] : last;
};
}
});
// ../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/scan.js
var require_scan = __commonJS({
"../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/scan.js"(exports, module) {
"use strict";
var utils = require_utils(), {
CHAR_ASTERISK,
/* * */
CHAR_AT,
/* @ */
CHAR_BACKWARD_SLASH,
/* \ */
CHAR_COMMA,
/* , */
CHAR_DOT,
/* . */
CHAR_EXCLAMATION_MARK,
/* ! */
CHAR_FORWARD_SLASH,
/* / */
CHAR_LEFT_CURLY_BRACE,
/* { */
CHAR_LEFT_PARENTHESES,
/* ( */
CHAR_LEFT_SQUARE_BRACKET,
/* [ */
CHAR_PLUS,
/* + */
CHAR_QUESTION_MARK,
/* ? */
CHAR_RIGHT_CURLY_BRACE,
/* } */
CHAR_RIGHT_PARENTHESES,
/* ) */
CHAR_RIGHT_SQUARE_BRACKET
/* ] */
} = require_constants(), isPathSeparator = (code) => code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH, depth = (token) => {
token.isPrefix !== !0 && (token.depth = token.isGlobstar ? 1 / 0 : 1);
}, scan = (input, options) => {
let opts = options || {}, length = input.length - 1, scanToEnd = opts.parts === !0 || opts.scanToEnd === !0, slashes = [], tokens = [], parts = [], str = input, index = -1, start = 0, lastIndex = 0, isBrace = !1, isBracket = !1, isGlob = !1, isExtglob = !1, isGlobstar = !1, braceEscaped = !1, backslashes = !1, negated = !1, negatedExtglob = !1, finished = !1, braces = 0, prev, code, token = { value: "", depth: 0, isGlob: !1 }, eos = () => index >= length, peek = () => str.charCodeAt(index + 1), advance = () => (prev = code, str.charCodeAt(++index));
for (; index < length; ) {
code = advance();
let next;
if (code === CHAR_BACKWARD_SLASH) {
backslashes = token.backslashes = !0, code = advance(), code === CHAR_LEFT_CURLY_BRACE && (braceEscaped = !0);
continue;
}
if (braceEscaped === !0 || code === CHAR_LEFT_CURLY_BRACE) {
for (braces++; eos() !== !0 && (code = advance()); ) {
if (code === CHAR_BACKWARD_SLASH) {
backslashes = token.backslashes = !0, advance();
continue;
}
if (code === CHAR_LEFT_CURLY_BRACE) {
braces++;
continue;
}
if (braceEscaped !== !0 && code === CHAR_DOT && (code = advance()) === CHAR_DOT) {
if (isBrace = token.isBrace = !0, isGlob = token.isGlob = !0, finished = !0, scanToEnd === !0)
continue;
break;
}
if (braceEscaped !== !0 && code === CHAR_COMMA) {
if (isBrace = token.isBrace = !0, isGlob = token.isGlob = !0, finished = !0, scanToEnd === !0)
continue;
break;
}
if (code === CHAR_RIGHT_CURLY_BRACE && (braces--, braces === 0)) {
braceEscaped = !1, isBrace = token.isBrace = !0, finished = !0;
break;
}
}
if (scanToEnd === !0)
continue;
break;
}
if (code === CHAR_FORWARD_SLASH) {
if (slashes.push(index), tokens.push(token), token = { value: "", depth: 0, isGlob: !1 }, finished === !0) continue;
if (prev === CHAR_DOT && index === start + 1) {
start += 2;
continue;
}
lastIndex = index + 1;
continue;
}
if (opts.noext !== !0 && (code === CHAR_PLUS || code === CHAR_AT || code === CHAR_ASTERISK || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK) === !0 && peek() === CHAR_LEFT_PARENTHESES) {
if (isGlob = token.isGlob = !0, isExtglob = token.isExtglob = !0, finished = !0, code === CHAR_EXCLAMATION_MARK && index === start && (negatedExtglob = !0), scanToEnd === !0) {
for (; eos() !== !0 && (code = advance()); ) {
if (code === CHAR_BACKWARD_SLASH) {
backslashes = token.backslashes = !0, code = advance();
continue;
}
if (code === CHAR_RIGHT_PARENTHESES) {
isGlob = token.isGlob = !0, finished = !0;
break;
}
}
continue;
}
break;
}
if (code === CHAR_ASTERISK) {
if (prev === CHAR_ASTERISK && (isGlobstar = token.isGlobstar = !0), isGlob = token.isGlob = !0, finished = !0, scanToEnd === !0)
continue;
break;
}
if (code === CHAR_QUESTION_MARK) {
if (isGlob = token.isGlob = !0, finished = !0, scanToEnd === !0)
continue;
break;
}
if (code === CHAR_LEFT_SQUARE_BRACKET) {
for (; eos() !== !0 && (next = advance()); ) {
if (next === CHAR_BACKWARD_SLASH) {
backslashes = token.backslashes = !0, advance();
continue;
}
if (next === CHAR_RIGHT_SQUARE_BRACKET) {
isBracket = token.isBracket = !0, isGlob = token.isGlob = !0, finished = !0;
break;
}
}
if (scanToEnd === !0)
continue;
break;
}
if (opts.nonegate !== !0 && code === CHAR_EXCLAMATION_MARK && index === start) {
negated = token.negated = !0, start++;
continue;
}
if (opts.noparen !== !0 && code === CHAR_LEFT_PARENTHESES) {
if (isGlob = token.isGlob = !0, scanToEnd === !0) {
for (; eos() !== !0 && (code = advance()); ) {
if (code === CHAR_LEFT_PARENTHESES) {
backslashes = token.backslashes = !0, code = advance();
continue;
}
if (code === CHAR_RIGHT_PARENTHESES) {
finished = !0;
break;
}
}
continue;
}
break;
}
if (isGlob === !0) {
if (finished = !0, scanToEnd === !0)
continue;
break;
}
}
opts.noext === !0 && (isExtglob = !1, isGlob = !1);
let base = str, prefix = "", glob = "";
start > 0 && (prefix = str.slice(0, start), str = str.slice(start), lastIndex -= start), base && isGlob === !0 && lastIndex > 0 ? (base = str.slice(0, lastIndex), glob = str.slice(lastIndex)) : isGlob === !0 ? (base = "", glob = str) : base = str, base && base !== "" && base !== "/" && base !== str && isPathSeparator(base.charCodeAt(base.length - 1)) && (base = base.slice(0, -1)), opts.unescape === !0 && (glob && (glob = utils.removeBackslashes(glob)), base && backslashes === !0 && (base = utils.removeBackslashes(base)));
let state = {
prefix,
input,
start,
base,
glob,
isBrace,
isBracket,
isGlob,
isExtglob,
isGlobstar,
negated,
negatedExtglob
};
if (opts.tokens === !0 && (state.maxDepth = 0, isPathSeparator(code) || tokens.push(token), state.tokens = tokens), opts.parts === !0 || opts.tokens === !0) {
let prevIndex;
for (let idx = 0; idx < slashes.length; idx++) {
let n = prevIndex ? prevIndex + 1 : start, i = slashes[idx], value = input.slice(n, i);
opts.tokens && (idx === 0 && start !== 0 ? (tokens[idx].isPrefix = !0, tokens[idx].value = prefix) : tokens[idx].value = value, depth(tokens[idx]), state.maxDepth += tokens[idx].depth), (idx !== 0 || value !== "") && parts.push(value), prevIndex = i;
}
if (prevIndex && prevIndex + 1 < input.length) {
let value = input.slice(prevIndex + 1);
parts.push(value), opts.tokens && (tokens[tokens.length - 1].value = value, depth(tokens[tokens.length - 1]), state.maxDepth += tokens[tokens.length - 1].depth);
}
state.slashes = slashes, state.parts = parts;
}
return state;
};
module.exports = scan;
}
});
// ../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/parse.js
var require_parse = __commonJS({
"../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/parse.js"(exports, module) {
"use strict";
var constants = require_constants(), utils = require_utils(), {
MAX_LENGTH,
POSIX_REGEX_SOURCE,
REGEX_NON_SPECIAL_CHARS,
REGEX_SPECIAL_CHARS_BACKREF,
REPLACEMENTS
} = constants, expandRange = (args, options) => {
if (typeof options.expandRange == "function")
return options.expandRange(...args, options);
args.sort();
let value = `[${args.join("-")}]`;
try {
new RegExp(value);
} catch {
return args.map((v) => utils.escapeRegex(v)).join("..");
}
return value;
}, syntaxError = (type, char) => `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`, parse = (input, options) => {
if (typeof input != "string")
throw new TypeError("Expected a string");
input = REPLACEMENTS[input] || input;
let opts = { ...options }, max = typeof opts.maxLength == "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH, len = input.length;
if (len > max)
throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
let bos = { type: "bos", value: "", output: opts.prepend || "" }, tokens = [bos], capture = opts.capture ? "" : "?:", PLATFORM_CHARS = constants.globChars(opts.windows), EXTGLOB_CHARS = constants.extglobChars(PLATFORM_CHARS), {
DOT_LITERAL,
PLUS_LITERAL,
SLASH_LITERAL,
ONE_CHAR,
DOTS_SLASH,
NO_DOT,
NO_DOT_SLASH,
NO_DOTS_SLASH,
QMARK,
QMARK_NO_DOT,
STAR,
START_ANCHOR
} = PLATFORM_CHARS, globstar = (opts2) => `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`, nodot = opts.dot ? "" : NO_DOT, qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT, star = opts.bash === !0 ? globstar(opts) : STAR;
opts.capture && (star = `(${star})`), typeof opts.noext == "boolean" && (opts.noextglob = opts.noext);
let state = {
input,
index: -1,
start: 0,
dot: opts.dot === !0,
consumed: "",
output: "",
prefix: "",
backtrack: !1,
negated: !1,
brackets: 0,
braces: 0,
parens: 0,
quotes: 0,
globstar: !1,
tokens
};
input = utils.removePrefix(input, state), len = input.length;
let extglobs = [], braces = [], stack = [], prev = bos, value, eos = () => state.index === len - 1, peek = state.peek = (n = 1) => input[state.index + n], advance = state.advance = () => input[++state.index] || "", remaining = () => input.slice(state.index + 1), consume = (value2 = "", num = 0) => {
state.consumed += value2, state.index += num;
}, append = (token) => {
state.output += token.output != null ? token.output : token.value, consume(token.value);
}, negate = () => {
let count = 1;
for (; peek() === "!" && (peek(2) !== "(" || peek(3) === "?"); )
advance(), state.start++, count++;
return count % 2 === 0 ? !1 : (state.negated = !0, state.start++, !0);
}, increment = (type) => {
state[type]++, stack.push(type);
}, decrement = (type) => {
state[type]--, stack.pop();
}, push = (tok) => {
if (prev.type === "globstar") {
let isBrace = state.braces > 0 && (tok.type === "comma" || tok.type === "brace"), isExtglob = tok.extglob === !0 || extglobs.length && (tok.type === "pipe" || tok.type === "paren");
tok.type !== "slash" && tok.type !== "paren" && !isBrace && !isExtglob && (state.output = state.output.slice(0, -prev.output.length), prev.type = "star", prev.value = "*", prev.output = star, state.output += prev.output);
}
if (extglobs.length && tok.type !== "paren" && (extglobs[extglobs.length - 1].inner += tok.value), (tok.value || tok.output) && append(tok), prev && prev.type === "text" && tok.type === "text") {
prev.output = (prev.output || prev.value) + tok.value, prev.value += tok.value;
return;
}
tok.prev = prev, tokens.push(tok), prev = tok;
}, extglobOpen = (type, value2) => {
let token = { ...EXTGLOB_CHARS[value2], conditions: 1, inner: "" };
token.prev = prev, token.parens = state.parens, token.output = state.output;
let output = (opts.capture ? "(" : "") + token.open;
increment("parens"), push({ type, value: value2, output: state.output ? "" : ONE_CHAR }), push({ type: "paren", extglob: !0, value: advance(), output }), extglobs.push(token);
}, extglobClose = (token) => {
let output = token.close + (opts.capture ? ")" : ""), rest;
if (token.type === "negate") {
let extglobStar = star;
if (token.inner && token.inner.length > 1 && token.inner.includes("/") && (extglobStar = globstar(opts)), (extglobStar !== star || eos() || /^\)+$/.test(remaining())) && (output = token.close = `)$))${extglobStar}`), token.inner.includes("*") && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) {
let expression = parse(rest, { ...options, fastpaths: !1 }).output;
output = token.close = `)${expression})${extglobStar})`;
}
token.prev.type === "bos" && (state.negatedExtglob = !0);
}
push({ type: "paren", extglob: !0, value, output }), decrement("parens");
};
if (opts.fastpaths !== !1 && !/(^[*!]|[/()[\]{}"])/.test(input)) {
let backslashes = !1, output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => first === "\\" ? (backslashes = !0, m) : first === "?" ? esc ? esc + first + (rest ? QMARK.repeat(rest.length) : "") : index === 0 ? qmarkNoDot + (rest ? QMARK.repeat(rest.length) : "") : QMARK.repeat(chars.length) : first === "." ? DOT_LITERAL.repeat(chars.length) : first === "*" ? esc ? esc + first + (rest ? star : "") : star : esc ? m : `\\${m}`);
return backslashes === !0 && (opts.unescape === !0 ? output = output.replace(/\\/g, "") : output = output.replace(/\\+/g, (m) => m.length % 2 === 0 ? "\\\\" : m ? "\\" : "")), output === input && opts.contains === !0 ? (state.output = input, state) : (state.output = utils.wrapOutput(output, state, options), state);
}
for (; !eos(); ) {
if (value = advance(), value === "\0")
continue;
if (value === "\\") {
let next = peek();
if (next === "/" && opts.bash !== !0 || next === "." || next === ";")
continue;
if (!next) {
value += "\\", push({ type: "text", value });
continue;
}
let match = /^\\+/.exec(remaining()), slashes = 0;
if (match && match[0].length > 2 && (slashes = match[0].length, state.index += slashes, slashes % 2 !== 0 && (value += "\\")), opts.unescape === !0 ? value = advance() : value += advance(), state.brackets === 0) {
push({ type: "text", value });
continue;
}
}
if (state.brackets > 0 && (value !== "]" || prev.value === "[" || prev.value === "[^")) {
if (opts.posix !== !1 && value === ":") {
let inner = prev.value.slice(1);
if (inner.includes("[") && (prev.posix = !0, inner.includes(":"))) {
let idx = prev.value.lastIndexOf("["), pre = prev.value.slice(0, idx), rest2 = prev.value.slice(idx + 2), posix2 = POSIX_REGEX_SOURCE[rest2];
if (posix2) {
prev.value = pre + posix2, state.backtrack = !0, advance(), !bos.output && tokens.indexOf(prev) === 1 && (bos.output = ONE_CHAR);
continue;
}
}
}
(value === "[" && peek() !== ":" || value === "-" && peek() === "]") && (value = `\\${value}`), value === "]" && (prev.value === "[" || prev.value === "[^") && (value = `\\${value}`), opts.posix === !0 && value === "!" && prev.value === "[" && (value = "^"), prev.value += value, append({ value });
continue;
}
if (state.quotes === 1 && value !== '"') {
value = utils.escapeRegex(value), prev.value += value, append({ value });
continue;
}
if (value === '"') {
state.quotes = state.quotes === 1 ? 0 : 1, opts.keepQuotes === !0 && push({ type: "text", value });
continue;
}
if (value === "(") {
increment("parens"), push({ type: "paren", value });
continue;
}
if (value === ")") {
if (state.parens === 0 && opts.strictBrackets === !0)
throw new SyntaxError(syntaxError("opening", "("));
let extglob = extglobs[extglobs.length - 1];
if (extglob && state.parens === extglob.parens + 1) {
extglobClose(extglobs.pop());
continue;
}
push({ type: "paren", value, output: state.parens ? ")" : "\\)" }), decrement("parens");
continue;
}
if (value === "[") {
if (opts.nobracket === !0 || !remaining().includes("]")) {
if (opts.nobracket !== !0 && opts.strictBrackets === !0)
throw new SyntaxError(syntaxError("closing", "]"));
value = `\\${value}`;
} else
increment("brackets");
push({ type: "bracket", value });
continue;
}
if (value === "]") {
if (opts.nobracket === !0 || prev && prev.type === "bracket" && prev.value.length === 1) {
push({ type: "text", value, output: `\\${value}` });
continue;
}
if (state.brackets === 0) {
if (opts.strictBrackets === !0)
throw new SyntaxError(syntaxError("opening", "["));
push({ type: "text", value, output: `\\${value}` });
continue;
}
decrement("brackets");
let prevValue = prev.value.slice(1);
if (prev.posix !== !0 && prevValue[0] === "^" && !prevValue.includes("/") && (value = `/${value}`), prev.value += value, append({ value }), opts.literalBrackets === !1 || utils.hasRegexChars(prevValue))
continue;
let escaped = utils.escapeRegex(prev.value);
if (state.output = state.output.slice(0, -prev.value.length), opts.literalBrackets === !0) {
state.output += escaped, prev.value = escaped;
continue;
}
prev.value = `(${capture}${escaped}|${prev.value})`, state.output += prev.value;
continue;
}
if (value === "{" && opts.nobrace !== !0) {
increment("braces");
let open = {
type: "brace",
value,
output: "(",
outputIndex: state.output.length,
tokensIndex: state.tokens.length
};
braces.push(open), push(open);
continue;
}
if (value === "}") {
let brace = braces[braces.length - 1];
if (opts.nobrace === !0 || !brace) {
push({ type: "text", value, output: value });
continue;
}
let output = ")";
if (brace.dots === !0) {
let arr = tokens.slice(), range = [];
for (let i = arr.length - 1; i >= 0 && (tokens.pop(), arr[i].type !== "brace"); i--)
arr[i].type !== "dots" && range.unshift(arr[i].value);
output = expandRange(range, opts), state.backtrack = !0;
}
if (brace.comma !== !0 && brace.dots !== !0) {
let out = state.output.slice(0, brace.outputIndex), toks = state.tokens.slice(brace.tokensIndex);
brace.value = brace.output = "\\{", value = output = "\\}", state.output = out;
for (let t of toks)
state.output += t.output || t.value;
}
push({ type: "brace", value, output }), decrement("braces"), braces.pop();
continue;
}
if (value === "|") {
extglobs.length > 0 && extglobs[extglobs.length - 1].conditions++, push({ type: "text", value });
continue;
}
if (value === ",") {
let output = value, brace = braces[braces.length - 1];
brace && stack[stack.length - 1] === "braces" && (brace.comma = !0, output = "|"), push({ type: "comma", value, output });
continue;
}
if (value === "/") {
if (prev.type === "dot" && state.index === state.start + 1) {
state.start = state.index + 1, state.consumed = "", state.output = "", tokens.pop(), prev = bos;
continue;
}
push({ type: "slash", value, output: SLASH_LITERAL });
continue;
}
if (value === ".") {
if (state.braces > 0 && prev.type === "dot") {
prev.value === "." && (prev.output = DOT_LITERAL);
let brace = braces[braces.length - 1];
prev.type = "dots", prev.output += value, prev.value += value, brace.dots = !0;
continue;
}
if (state.braces + state.parens === 0 && prev.type !== "bos" && prev.type !== "slash") {
push({ type: "text", value, output: DOT_LITERAL });
continue;
}
push({ type: "dot", value, output: DOT_LITERAL });
continue;
}
if (value === "?") {
if (!(prev && prev.value === "(") && opts.noextglob !== !0 && peek() === "(" && peek(2) !== "?") {
extglobOpen("qmark", value);
continue;
}
if (prev && prev.type === "paren") {
let next = peek(), output = value;
(prev.value === "(" && !/[!=<:]/.test(next) || next === "<" && !/<([!=]|\w+>)/.test(remaining())) && (output = `\\${value}`), push({ type: "text", value, output });
continue;
}
if (opts.dot !== !0 && (prev.type === "slash" || prev.type === "bos")) {
push({ type: "qmark", value, output: QMARK_NO_DOT });
continue;
}
push({ type: "qmark", value, output: QMARK });
continue;
}
if (value === "!") {
if (opts.noextglob !== !0 && peek() === "(" && (peek(2) !== "?" || !/[!=<:]/.test(peek(3)))) {
extglobOpen("negate", value);
continue;
}
if (opts.nonegate !== !0 && state.index === 0) {
negate();
continue;
}
}
if (value === "+") {
if (opts.noextglob !== !0 && peek() === "(" && peek(2) !== "?") {
extglobOpen("plus", value);
continue;
}
if (prev && prev.value === "(" || opts.regex === !1) {
push({ type: "plus", value, output: PLUS_LITERAL });
continue;
}
if (prev && (prev.type === "bracket" || prev.type === "paren" || prev.type === "brace") || state.parens > 0) {
push({ type: "plus", value });
continue;
}
push({ type: "plus", value: PLUS_LITERAL });
continue;
}
if (value === "@") {
if (opts.noextglob !== !0 && peek() === "(" && peek(2) !== "?") {
push({ type: "at", extglob: !0, value, output: "" });
continue;
}
push({ type: "text", value });
continue;
}
if (value !== "*") {
(value === "$" || value === "^") && (value = `\\${value}`);
let match = REGEX_NON_SPECIAL_CHARS.exec(remaining());
match && (value += match[0], state.index += match[0].length), push({ type: "text", value });
continue;
}
if (prev && (prev.type === "globstar" || prev.star === !0)) {
prev.type = "star", prev.star = !0, prev.value += value, prev.output = star, state.backtrack = !0, state.globstar = !0, consume(value);
continue;
}
let rest = remaining();
if (opts.noextglob !== !0 && /^\([^?]/.test(rest)) {
extglobOpen("star", value);
continue;
}
if (prev.type === "star") {
if (opts.noglobstar === !0) {
consume(value);
continue;
}
let prior = prev.prev, before = prior.prev, isStart = prior.type === "slash" || prior.type === "bos", afterStar = before && (before.type === "star" || before.type === "globstar");
if (opts.bash === !0 && (!isStart || rest[0] && rest[0] !== "/")) {
push({ type: "star", value, output: "" });
continue;
}
let isBrace = state.braces > 0 && (prior.type === "comma" || prior.type === "brace"), isExtglob = extglobs.length && (prior.type === "pipe" || prior.type === "paren");
if (!isStart && prior.type !== "paren" && !isBrace && !isExtglob) {
push({ type: "star", value, output: "" });
continue;
}
for (; rest.slice(0, 3) === "/**"; ) {
let after = input[state.index + 4];
if (after && after !== "/")
break;
rest = rest.slice(3), consume("/**", 3);
}
if (prior.type === "bos" && eos()) {
prev.type = "globstar", prev.value += value, prev.output = globstar(opts), state.output = prev.output, state.globstar = !0, consume(value);
continue;
}
if (prior.type === "slash" && prior.prev.type !== "bos" && !afterStar && eos()) {
state.output = state.output.slice(0, -(prior.output + prev.output).length), prior.output = `(?:${prior.output}`, prev.type = "globstar", prev.output = globstar(opts) + (opts.strictSlashes ? ")" : "|$)"), prev.value += value, state.globstar = !0, state.output += prior.output + prev.output, consume(value);
continue;
}
if (prior.type === "slash" && prior.prev.type !== "bos" && rest[0] === "/") {
let end = rest[1] !== void 0 ? "|$" : "";
state.output = state.output.slice(0, -(prior.output + prev.output).length), prior.output = `(?:${prior.output}`, prev.type = "globstar", prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`, prev.value += value, state.output += prior.output + prev.output, state.globstar = !0, consume(value + advance()), push({ type: "slash", value: "/", output: "" });
continue;
}
if (prior.type === "bos" && rest[0] === "/") {
prev.type = "globstar", prev.value += value, prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`, state.output = prev.output, state.globstar = !0, consume(value + advance()), push({ type: "slash", value: "/", output: "" });
continue;
}
state.output = state.output.slice(0, -prev.output.length), prev.type = "globstar", prev.output = globstar(opts), prev.value += value, state.output += prev.output, state.globstar = !0, consume(value);
continue;
}
let token = { type: "star", value, output: star };
if (opts.bash === !0) {
token.output = ".*?", (prev.type === "bos" || prev.type === "slash") && (token.output = nodot + token.output), push(token);
continue;
}
if (prev && (prev.type === "bracket" || prev.type === "paren") && opts.regex === !0) {
token.output = value, push(token);
continue;
}
(state.index === state.start || prev.type === "slash" || prev.type === "dot") && (prev.type === "dot" ? (state.output += NO_DOT_SLASH, prev.output += NO_DOT_SLASH) : opts.dot === !0 ? (state.output += NO_DOTS_SLASH, prev.output += NO_DOTS_SLASH) : (state.output += nodot, prev.output += nodot), peek() !== "*" && (state.output += ONE_CHAR, prev.output += ONE_CHAR)), push(token);
}
for (; state.brackets > 0; ) {
if (opts.strictBrackets === !0) throw new SyntaxError(syntaxError("closing", "]"));
state.output = utils.escapeLast(state.output, "["), decrement("brackets");
}
for (; state.parens > 0; ) {
if (opts.strictBrackets === !0) throw new SyntaxError(syntaxError("closing", ")"));
state.output = utils.escapeLast(state.output, "("), decrement("parens");
}
for (; state.braces > 0; ) {
if (opts.strictBrackets === !0) throw new SyntaxError(syntaxError("closing", "}"));
state.output = utils.escapeLast(state.output, "{"), decrement("braces");
}
if (opts.strictSlashes !== !0 && (prev.type === "star" || prev.type === "bracket") && push({ type: "maybe_slash", value: "", output: `${SLASH_LITERAL}?` }), state.backtrack === !0) {
state.output = "";
for (let token of state.tokens)
state.output += token.output != null ? token.output : token.value, token.suffix && (state.output += token.suffix);
}
return state;
};
parse.fastpaths = (input, options) => {
let opts = { ...options }, max = typeof opts.maxLength == "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH, len = input.length;
if (len > max)
throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
input = REPLACEMENTS[input] || input;
let {
DOT_LITERAL,
SLASH_LITERAL,
ONE_CHAR,
DOTS_SLASH,
NO_DOT,
NO_DOTS,
NO_DOTS_SLASH,
STAR,
START_ANCHOR
} = constants.globChars(opts.windows), nodot = opts.dot ? NO_DOTS : NO_DOT, slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT, capture = opts.capture ? "" : "?:", state = { negated: !1, prefix: "" }, star = opts.bash === !0 ? ".*?" : STAR;
opts.capture && (star = `(${star})`);
let globstar = (opts2) => opts2.noglobstar === !0 ? star : `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`, create = (str) => {
switch (str) {
case "*":
return `${nodot}${ONE_CHAR}${star}`;
case ".*":
return `${DOT_LITERAL}${ONE_CHAR}${star}`;
case "*.*":
return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
case "*/*":
return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`;
case "**":
return nodot + globstar(opts);
case "**/*":
return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`;
case "**/*.*":
return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
case "**/.*":
return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`;
default: {
let match = /^(.*?)\.(\w+)$/.exec(str);
if (!match) return;
let source2 = create(match[1]);
return source2 ? source2 + DOT_LITERAL + match[2] : void 0;
}
}
}, output = utils.removePrefix(input, state), source = create(output);
return source && opts.strictSlashes !== !0 && (source += `${SLASH_LITERAL}?`), source;
};
module.exports = parse;
}
});
// ../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/picomatch.js
var require_picomatch = __commonJS({
"../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/picomatch.js"(exports, module) {
"use strict";
var scan = require_scan(), parse = require_parse(), utils = require_utils(), constants = require_constants(), isObject = (val) => val && typeof val == "object" && !Array.isArray(val), picomatch = (glob, options, returnState = !1) => {
if (Array.isArray(glob)) {
let fns = glob.map((input) => picomatch(input, options, returnState));
return (str) => {
for (let isMatch of fns) {
let state2 = isMatch(str);
if (state2) return state2;
}
return !1;
};
}
let isState = isObject(glob) && glob.tokens && glob.input;
if (glob === "" || typeof glob != "string" && !isState)
throw new TypeError("Expected pattern to be a non-empty string");
let opts = options || {}, posix2 = opts.windows, regex = isState ? picomatch.compileRe(glob, options) : picomatch.makeRe(glob, options, !1, !0), state = regex.state;
delete regex.state;
let isIgnored = () => !1;
if (opts.ignore) {
let ignoreOpts = { ...options, ignore: null, onMatch: null, onResult: null };
isIgnored = picomatch(opts.ignore, ignoreOpts, returnState);
}
let matcher = (input, returnObject = !1) => {
let { isMatch, match, output } = picomatch.test(input, regex, options, { glob, posix: posix2 }), result = { glob, state, regex, posix: posix2, input, output, match, isMatch };
return typeof opts.onResult == "function" && opts.onResult(result), isMatch === !1 ? (result.isMatch = !1, returnObject ? result : !1) : isIgnored(input) ? (typeof opts.onIgnore == "function" && opts.onIgnore(result), result.isMatch = !1, returnObject ? result : !1) : (typeof opts.onMatch == "function" && opts.onMatch(result), returnObject ? result : !0);
};
return returnState && (matcher.state = state), matcher;
};
picomatch.test = (input, regex, options, { glob, posix: posix2 } = {}) => {
if (typeof input != "string")
throw new TypeError("Expected input to be a string");
if (input === "")
return { isMatch: !1, output: "" };
let opts = options || {}, format = opts.format || (posix2 ? utils.toPosixSlashes : null), match = input === glob, output = match && format ? format(input) : input;
return match === !1 && (output = format ? format(input) : input, match = output === glob), (match === !1 || opts.capture === !0) && (opts.matchBase === !0 || opts.basename === !0 ? match = picomatch.matchBase(input, regex, options, posix2) : match = regex.exec(output)), { isMatch: !!match, match, output };
};
picomatch.matchBase = (input, glob, options) => (glob instanceof RegExp ? glob : picomatch.makeRe(glob, options)).test(utils.basename(input));
picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str);
picomatch.parse = (pattern, options) => Array.isArray(pattern) ? pattern.map((p) => picomatch.parse(p, options)) : parse(pattern, { ...options, fastpaths: !1 });
picomatch.scan = (input, options) => scan(input, options);
picomatch.compileRe = (state, options, returnOutput = !1, returnState = !1) => {
if (returnOutput === !0)
return state.output;
let opts = options || {}, prepend = opts.contains ? "" : "^", append = opts.contains ? "" : "$", source = `${prepend}(?:${state.output})${append}`;
state && state.negated === !0 && (source = `^(?!${source}).*$`);
let regex = picomatch.toRegex(source, options);
return returnState === !0 && (regex.state = state), regex;
};
picomatch.makeRe = (input, options = {}, returnOutput = !1, returnState = !1) => {
if (!input || typeof input != "string")
throw new TypeError("Expected a non-empty string");
let parsed = { negated: !1, fastpaths: !0 };
return options.fastpaths !== !1 && (input[0] === "." || input[0] === "*") && (parsed.output = parse.fastpaths(input, options)), parsed.output || (parsed = parse(input, options)), picomatch.compileRe(parsed, options, returnOutput, returnState);
};
picomatch.toRegex = (source, options) => {
try {
let opts = options || {};
return new RegExp(source, opts.flags || (opts.nocase ? "i" : ""));
} catch (err) {
if (options && options.debug === !0) throw err;
return /$^/;
}
};
picomatch.constants = constants;
module.exports = picomatch;
}
});
// ../../../node_modules/@rollup/pluginutils/node_modules/picomatch/index.js
var require_picomatch2 = __commonJS({
"../../../node_modules/@rollup/pluginutils/node_modules/picomatch/index.js"(exports, module) {
"use strict";
var pico = require_picomatch(), utils = require_utils();
function picomatch(glob, options, returnState = !1) {
return options && (options.windows === null || options.windows === void 0) && (options = { ...options, windows: utils.isWindows() }), pico(glob, options, returnState);
}
Object.assign(picomatch, pico);
module.exports = picomatch;
}
});
// ../../../node_modules/@rollup/pluginutils/dist/es/index.js
import { extname, win32, posix, isAbsolute, resolve } from "path";
var import_picomatch = __toESM(require_picomatch2(), 1);
function isArray(arg) {
return Array.isArray(arg);
}
function ensureArray(thing) {
return isArray(thing) ? thing : thing == null ? [] : [thing];
}
var normalizePathRegExp = new RegExp(`\\${win32.sep}`, "g"), normalizePath = function(filename) {
return filename.replace(normalizePathRegExp, posix.sep);
};
function getMatcherString(id, resolutionBase) {
if (resolutionBase === !1 || isAbsolute(id) || id.startsWith("**"))
return normalizePath(id);
let basePath = normalizePath(resolve(resolutionBase || "")).replace(/[-^$*+?.()|[\]{}]/g, "\\$&");
return posix.join(basePath, normalizePath(id));
}
var createFilter = function(include, exclude, options) {
let resolutionBase = options && options.resolve, getMatcher = (id) => id instanceof RegExp ? id : {
test: (what) => {
let pattern = getMatcherString(id, resolutionBase);
return (0, import_picomatch.default)(pattern, { dot: !0 })(what);
}
}, includeMatchers = ensureArray(include).map(getMatcher), excludeMatchers = ensureArray(exclude).map(getMatcher);
return !includeMatchers.length && !excludeMatchers.length ? (id) => typeof id == "string" && !id.includes("\0") : function(id) {
if (typeof id != "string" || id.includes("\0"))
return !1;
let pathId = normalizePath(id);
for (let i = 0; i < excludeMatchers.length; ++i) {
let matcher = excludeMatchers[i];
if (matcher instanceof RegExp && (matcher.lastIndex = 0), matcher.test(pathId))
return !1;
}
for (let i = 0; i < includeMatchers.length; ++i) {
let matcher = includeMatchers[i];
if (matcher instanceof RegExp && (matcher.lastIndex = 0), matcher.test(pathId))
return !0;
}
return !includeMatchers.length;
};
}, reservedWords = "break case class catch const continue debugger default delete do else export extends finally for function if import in instanceof let new return super switch this throw try typeof var void while with yield enum await implements package protected static interface private public", builtins = "arguments Infinity NaN undefined null true false eval uneval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Symbol Error EvalError InternalError RangeError ReferenceError SyntaxError TypeError URIError Number Math Date String RegExp Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array Map Set WeakMap WeakSet SIMD ArrayBuffer DataView JSON Promise Generator GeneratorFunction Reflect Proxy Intl", forbiddenIdentifiers = new Set(`${reservedWords} ${builtins}`.split(" "));
forbiddenIdentifiers.add("");
var hasStringIsWellFormed = "isWellFormed" in String.prototype;
// src/mdx-plugin.ts
async function mdxPlugin(options) {
let filter = createFilter(/\.mdx$/), { presets } = options, mdxPluginOptions = (await presets.apply("options", {}))?.mdxPluginOptions, rehypeSlug = (await import("./rehype-slug-DHKQA5WB.js")).default, rehypeExternalLinks = (await import("./rehype-external-links-56O6ZI7A.js")).default;
return {
name: "storybook:mdx-plugin",
enforce: "pre",
async transform(src, id) {
if (!filter(id))
return;
let mdxLoaderOptions = await presets.apply("mdxLoaderOptions", {
...mdxPluginOptions,
mdxCompileOptions: {
providerImportSource: import.meta.resolve("@storybook/addon-docs/mdx-react-shim"),
...mdxPluginOptions?.mdxCompileOptions,
rehypePlugins: [
...mdxPluginOptions?.mdxCompileOptions?.rehypePlugins ?? [],
rehypeSlug,
rehypeExternalLinks
]
}
});
return {
code: String(await compile(src, mdxLoaderOptions)),
// TODO: support source maps
map: null
};
}
};
}
export {
mdxPlugin
};
import CJS_COMPAT_NODE_URL_6rlruqvtjnu from 'node:url';
import CJS_COMPAT_NODE_PATH_6rlruqvtjnu from 'node:path';
import CJS_COMPAT_NODE_MODULE_6rlruqvtjnu from "node:module";
var __filename = CJS_COMPAT_NODE_URL_6rlruqvtjnu.fileURLToPath(import.meta.url);
var __dirname = CJS_COMPAT_NODE_PATH_6rlruqvtjnu.dirname(__filename);
var require = CJS_COMPAT_NODE_MODULE_6rlruqvtjnu.createRequire(import.meta.url);
// ------------------------------------------------------------
// end of CJS compatibility banner, injected by Storybook's esbuild configuration
// ------------------------------------------------------------
import {
esm_default,
parse
} from "./chunk-LTOX5BWR.js";
import {
visit
} from "./chunk-Y2P6BK4N.js";
import "./chunk-WNVFHOCG.js";
// ../../../node_modules/hast-util-is-element/lib/index.js
var convertElement = (
// Note: overloads in JSDoc can’t yet use different `@template`s.
/**
* @type {(
* (<Condition extends TestFunction>(test: Condition) => (element: unknown, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element & Predicate<Condition, Element>) &
* (<Condition extends string>(test: Condition) => (element: unknown, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element & {tagName: Condition}) &
* ((test?: null | undefined) => (element?: unknown, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element) &
* ((test?: Test) => Check)
* )}
*/
/**
* @param {Test | null | undefined} [test]
* @returns {Check}
*/
(function(test) {
if (test == null)
return element;
if (typeof test == "string")
return tagNameFactory(test);
if (typeof test == "object")
return anyFactory(test);
if (typeof test == "function")
return castFactory(test);
throw new Error("Expected function, string, or array as `test`");
})
);
function anyFactory(tests) {
let checks = [], index = -1;
for (; ++index < tests.length; )
checks[index] = convertElement(tests[index]);
return castFactory(any);
function any(...parameters) {
let index2 = -1;
for (; ++index2 < checks.length; )
if (checks[index2].apply(this, parameters)) return !0;
return !1;
}
}
function tagNameFactory(check) {
return castFactory(tagName);
function tagName(element2) {
return element2.tagName === check;
}
}
function castFactory(testFunction) {
return check;
function check(value, index, parent) {
return !!(looksLikeAnElement(value) && testFunction.call(
this,
value,
typeof index == "number" ? index : void 0,
parent || void 0
));
}
}
function element(element2) {
return !!(element2 && typeof element2 == "object" && "type" in element2 && element2.type === "element" && "tagName" in element2 && typeof element2.tagName == "string");
}
function looksLikeAnElement(value) {
return value !== null && typeof value == "object" && "type" in value && "tagName" in value;
}
// ../../../node_modules/is-absolute-url/index.js
var ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\d+\-.]*?:/, WINDOWS_PATH_REGEX = /^[a-zA-Z]:\\/;
function isAbsoluteUrl(url) {
if (typeof url != "string")
throw new TypeError(`Expected a \`string\`, got \`${typeof url}\``);
return WINDOWS_PATH_REGEX.test(url) ? !1 : ABSOLUTE_URL_REGEX.test(url);
}
// ../../../node_modules/rehype-external-links/lib/index.js
var defaultProtocols = ["http", "https"], defaultRel = ["nofollow"], emptyOptions = {};
function rehypeExternalLinks(options) {
let settings = options || emptyOptions, protocols = settings.protocols || defaultProtocols, is = convertElement(settings.test);
return function(tree) {
visit(tree, "element", function(node, index, parent) {
if (node.tagName === "a" && typeof node.properties.href == "string" && is(node, index, parent)) {
let url = node.properties.href;
if (isAbsoluteUrl(url) ? protocols.includes(url.slice(0, url.indexOf(":"))) : url.startsWith("//")) {
let contentRaw = createIfNeeded(settings.content, node), content = contentRaw && !Array.isArray(contentRaw) ? [contentRaw] : contentRaw, relRaw = createIfNeeded(settings.rel, node) || defaultRel, rel = typeof relRaw == "string" ? parse(relRaw) : relRaw, target = createIfNeeded(settings.target, node), properties = createIfNeeded(settings.properties, node);
if (properties && Object.assign(node.properties, esm_default(properties)), rel.length > 0 && (node.properties.rel = [...rel]), target && (node.properties.target = target), content) {
let properties2 = createIfNeeded(settings.contentProperties, node) || {};
node.children.push({
type: "element",
tagName: "span",
properties: esm_default(properties2),
children: esm_default(content)
});
}
}
}
});
};
}
function createIfNeeded(value, element2) {
return typeof value == "function" ? value(element2) : value;
}
export {
rehypeExternalLinks as default
};
import CJS_COMPAT_NODE_URL_6rlruqvtjnu from 'node:url';
import CJS_COMPAT_NODE_PATH_6rlruqvtjnu from 'node:path';
import CJS_COMPAT_NODE_MODULE_6rlruqvtjnu from "node:module";
var __filename = CJS_COMPAT_NODE_URL_6rlruqvtjnu.fileURLToPath(import.meta.url);
var __dirname = CJS_COMPAT_NODE_PATH_6rlruqvtjnu.dirname(__filename);
var require = CJS_COMPAT_NODE_MODULE_6rlruqvtjnu.createRequire(import.meta.url);
// ------------------------------------------------------------
// end of CJS compatibility banner, injected by Storybook's esbuild configuration
// ------------------------------------------------------------
import {
visit
} from "./chunk-Y2P6BK4N.js";
import "./chunk-WNVFHOCG.js";
// ../../../node_modules/github-slugger/regex.js
var regex = /[\0-\x1F!-,\.\/:-@\[-\^`\{-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0378\u0379\u037E\u0380-\u0385\u0387\u038B\u038D\u03A2\u03F6\u0482\u0530\u0557\u0558\u055A-\u055F\u0589-\u0590\u05BE\u05C0\u05C3\u05C6\u05C8-\u05CF\u05EB-\u05EE\u05F3-\u060F\u061B-\u061F\u066A-\u066D\u06D4\u06DD\u06DE\u06E9\u06FD\u06FE\u0700-\u070F\u074B\u074C\u07B2-\u07BF\u07F6-\u07F9\u07FB\u07FC\u07FE\u07FF\u082E-\u083F\u085C-\u085F\u086B-\u089F\u08B5\u08C8-\u08D2\u08E2\u0964\u0965\u0970\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09F2-\u09FB\u09FD\u09FF\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF0-\u0AF8\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B54\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B70\u0B72-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BF0-\u0BFF\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B-\u0C5F\u0C64\u0C65\u0C70-\u0C7F\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0CFF\u0D0D\u0D11\u0D45\u0D49\u0D4F-\u0D53\u0D58-\u0D5E\u0D64\u0D65\u0D70-\u0D79\u0D80\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF4-\u0E00\u0E3B-\u0E3F\u0E4F\u0E5A-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F01-\u0F17\u0F1A-\u0F1F\u0F2A-\u0F34\u0F36\u0F38\u0F3A-\u0F3D\u0F48\u0F6D-\u0F70\u0F85\u0F98\u0FBD-\u0FC5\u0FC7-\u0FFF\u104A-\u104F\u109E\u109F\u10C6\u10C8-\u10CC\u10CE\u10CF\u10FB\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u1360-\u137F\u1390-\u139F\u13F6\u13F7\u13FE-\u1400\u166D\u166E\u1680\u169B-\u169F\u16EB-\u16ED\u16F9-\u16FF\u170D\u1715-\u171F\u1735-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17D4-\u17D6\u17D8-\u17DB\u17DE\u17DF\u17EA-\u180A\u180E\u180F\u181A-\u181F\u1879-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u1945\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DA-\u19FF\u1A1C-\u1A1F\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1AA6\u1AA8-\u1AAF\u1AC1-\u1AFF\u1B4C-\u1B4F\u1B5A-\u1B6A\u1B74-\u1B7F\u1BF4-\u1BFF\u1C38-\u1C3F\u1C4A-\u1C4C\u1C7E\u1C7F\u1C89-\u1C8F\u1CBB\u1CBC\u1CC0-\u1CCF\u1CD3\u1CFB-\u1CFF\u1DFA\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FBD\u1FBF-\u1FC1\u1FC5\u1FCD-\u1FCF\u1FD4\u1FD5\u1FDC-\u1FDF\u1FED-\u1FF1\u1FF5\u1FFD-\u203E\u2041-\u2053\u2055-\u2070\u2072-\u207E\u2080-\u208F\u209D-\u20CF\u20F1-\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F-\u215F\u2189-\u24B5\u24EA-\u2BFF\u2C2F\u2C5F\u2CE5-\u2CEA\u2CF4-\u2CFF\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D70-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E00-\u2E2E\u2E30-\u3004\u3008-\u3020\u3030\u3036\u3037\u303D-\u3040\u3097\u3098\u309B\u309C\u30A0\u30FB\u3100-\u3104\u3130\u318F-\u319F\u31C0-\u31EF\u3200-\u33FF\u4DC0-\u4DFF\u9FFD-\u9FFF\uA48D-\uA4CF\uA4FE\uA4FF\uA60D-\uA60F\uA62C-\uA63F\uA673\uA67E\uA6F2-\uA716\uA720\uA721\uA789\uA78A\uA7C0\uA7C1\uA7CB-\uA7F4\uA828-\uA82B\uA82D-\uA83F\uA874-\uA87F\uA8C6-\uA8CF\uA8DA-\uA8DF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA954-\uA95F\uA97D-\uA97F\uA9C1-\uA9CE\uA9DA-\uA9DF\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A-\uAA5F\uAA77-\uAA79\uAAC3-\uAADA\uAADE\uAADF\uAAF0\uAAF1\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB5B\uAB6A-\uAB6F\uABEB\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB29\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBB2-\uFBD2\uFD3E-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFC-\uFDFF\uFE10-\uFE1F\uFE30-\uFE32\uFE35-\uFE4C\uFE50-\uFE6F\uFE75\uFEFD-\uFF0F\uFF1A-\uFF20\uFF3B-\uFF3E\uFF40\uFF5B-\uFF65\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFFF]|\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDD3F\uDD75-\uDDFC\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEE1-\uDEFF\uDF20-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDF9F\uDFC4-\uDFC7\uDFD0\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56-\uDC5F\uDC77-\uDC7F\uDC9F-\uDCDF\uDCF3\uDCF6-\uDCFF\uDD16-\uDD1F\uDD3A-\uDD7F\uDDB8-\uDDBD\uDDC0-\uDDFF\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE40-\uDE5F\uDE7D-\uDE7F\uDE9D-\uDEBF\uDEC8\uDEE7-\uDEFF\uDF36-\uDF3F\uDF56-\uDF5F\uDF73-\uDF7F\uDF92-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCFF\uDD28-\uDD2F\uDD3A-\uDE7F\uDEAA\uDEAD-\uDEAF\uDEB2-\uDEFF\uDF1D-\uDF26\uDF28-\uDF2F\uDF51-\uDFAF\uDFC5-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC47-\uDC65\uDC70-\uDC7E\uDCBB-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD40-\uDD43\uDD48-\uDD4F\uDD74\uDD75\uDD77-\uDD7F\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDFF\uDE12\uDE38-\uDE3D\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEA9-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC4B-\uDC4F\uDC5A-\uDC5D\uDC62-\uDC7F\uDCC6\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDC1-\uDDD7\uDDDE-\uDDFF\uDE41-\uDE43\uDE45-\uDE4F\uDE5A-\uDE7F\uDEB9-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF3A-\uDFFF]|\uD806[\uDC3B-\uDC9F\uDCEA-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD44-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE2\uDDE5-\uDDFF\uDE3F-\uDE46\uDE48-\uDE4F\uDE9A-\uDE9C\uDE9E-\uDEBF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC41-\uDC4F\uDC5A-\uDC71\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF7-\uDFAF\uDFB1-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80B\uD80E-\uD810\uD812-\uD819\uD824-\uD82B\uD82D\uD82E\uD830-\uD833\uD837\uD839\uD83D\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDECF\uDEEE\uDEEF\uDEF5-\uDEFF\uDF37-\uDF3F\uDF44-\uDF4F\uDF5A-\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE80-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE2\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82C[\uDD1F-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A-\uDC9C\uDC9F-\uDFFF]|\uD834[\uDC00-\uDD64\uDD6A-\uDD6C\uDD73-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDE41\uDE45-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3\uDFCC\uDFCD]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD4F-\uDEBF\uDEFA-\uDFFF]|\uD83A[\uDCC5-\uDCCF\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDFFF]|\uD83C[\uDC00-\uDD2F\uDD4A-\uDD4F\uDD6A-\uDD6F\uDD8A-\uDFFF]|\uD83E[\uDC00-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEDE-\uDEFF]|\uD86D[\uDF35-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]/g;
// ../../../node_modules/github-slugger/index.js
var own = Object.hasOwnProperty, BananaSlug = class {
/**
* Create a new slug class.
*/
constructor() {
this.occurrences, this.reset();
}
/**
* Generate a unique slug.
*
* Tracks previously generated slugs: repeated calls with the same value
* will result in different slugs.
* Use the `slug` function to get same slugs.
*
* @param {string} value
* String of text to slugify
* @param {boolean} [maintainCase=false]
* Keep the current case, otherwise make all lowercase
* @return {string}
* A unique slug string
*/
slug(value, maintainCase) {
let self = this, result = slug(value, maintainCase === !0), originalSlug = result;
for (; own.call(self.occurrences, result); )
self.occurrences[originalSlug]++, result = originalSlug + "-" + self.occurrences[originalSlug];
return self.occurrences[result] = 0, result;
}
/**
* Reset - Forget all previous slugs
*
* @return void
*/
reset() {
this.occurrences = /* @__PURE__ */ Object.create(null);
}
};
function slug(value, maintainCase) {
return typeof value != "string" ? "" : (maintainCase || (value = value.toLowerCase()), value.replace(regex, "").replace(/ /g, "-"));
}
// ../../../node_modules/hast-util-heading-rank/lib/index.js
function headingRank(node) {
let name = node.type === "element" ? node.tagName.toLowerCase() : "", code = name.length === 2 && name.charCodeAt(0) === 104 ? name.charCodeAt(1) : 0;
return code > 48 && code < 55 ? code - 48 : void 0;
}
// ../../../node_modules/hast-util-to-string/lib/index.js
function toString(node) {
return "children" in node ? all(node) : "value" in node ? node.value : "";
}
function one(node) {
return node.type === "text" ? node.value : "children" in node ? all(node) : "";
}
function all(node) {
let index = -1, result = [];
for (; ++index < node.children.length; )
result[index] = one(node.children[index]);
return result.join("");
}
// ../../../node_modules/rehype-slug/lib/index.js
var emptyOptions = {}, slugs = new BananaSlug();
function rehypeSlug(options) {
let prefix = (options || emptyOptions).prefix || "";
return function(tree) {
slugs.reset(), visit(tree, "element", function(node) {
headingRank(node) && !node.properties.id && (node.properties.id = prefix + slugs.slug(toString(node)));
});
};
}
export {
rehypeSlug as default
};