UNPKG

storybook

Version:

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

127 lines (118 loc) 5.05 kB
import CJS_COMPAT_NODE_URL_e6wt3b00afv from 'node:url'; import CJS_COMPAT_NODE_PATH_e6wt3b00afv from 'node:path'; import CJS_COMPAT_NODE_MODULE_e6wt3b00afv from "node:module"; var __filename = CJS_COMPAT_NODE_URL_e6wt3b00afv.fileURLToPath(import.meta.url); var __dirname = CJS_COMPAT_NODE_PATH_e6wt3b00afv.dirname(__filename); var require = CJS_COMPAT_NODE_MODULE_e6wt3b00afv.createRequire(import.meta.url); // ------------------------------------------------------------ // end of CJS compatibility banner, injected by Storybook's esbuild configuration // ------------------------------------------------------------ // ../../node_modules/tiny-invariant/dist/esm/tiny-invariant.js var isProduction = process.env.NODE_ENV === "production", prefix = "Invariant failed"; function invariant(condition, message) { if (!condition) { if (isProduction) throw new Error(prefix); var provided = typeof message == "function" ? message() : message, value = provided ? "".concat(prefix, ": ").concat(provided) : prefix; throw new Error(value); } } // ../../node_modules/empathic/resolve.mjs import { createRequire } from "node:module"; import { isAbsolute, join, resolve } from "node:path"; import { fileURLToPath } from "node:url"; function absolute(input, root) { return isAbsolute(input) ? input : resolve(root || ".", input); } function from(root, ident, silent) { try { let r = root instanceof URL || root.startsWith("file://") ? join(fileURLToPath(root), "noop.js") : join(absolute(root), "noop.js"); return createRequire(r).resolve(ident); } catch (err) { if (!silent) throw err; } } // ../../node_modules/empathic/walk.mjs import { dirname } from "node:path"; function up(base, options) { let { last, cwd } = options || {}, tmp = absolute(base, cwd), root = absolute(last || "/", cwd), prev, arr = []; for (; prev !== root && (arr.push(tmp), tmp = dirname(prev = tmp), tmp !== prev); ) ; return arr; } // ../../node_modules/empathic/find.mjs import { join as join2 } from "node:path"; import { existsSync, statSync } from "node:fs"; function up2(name, options) { let dir, tmp, start = options && options.cwd || ""; for (dir of up(start, options)) if (tmp = join2(dir, name), existsSync(tmp)) return tmp; } function any(names, options) { let dir, start = options && options.cwd || "", j = 0, len = names.length, tmp; for (dir of up(start, options)) for (j = 0; j < len; j++) if (tmp = join2(dir, names[j]), existsSync(tmp)) return tmp; } // ../../node_modules/detect-indent/index.js var INDENT_REGEX = /^(?:( )+|\t+)/, INDENT_TYPE_SPACE = "space"; function makeIndentsMap(string, ignoreSingleSpaces) { let indents = /* @__PURE__ */ new Map(), previousSize = 0, previousIndentType, key; for (let line of string.split(/\n/g)) { if (!line) continue; let indent, indentType, use, weight, entry, matches = line.match(INDENT_REGEX); if (matches === null) previousSize = 0, previousIndentType = ""; else { if (indent = matches[0].length, indentType = matches[1] ? INDENT_TYPE_SPACE : "tab", ignoreSingleSpaces && indentType === INDENT_TYPE_SPACE && indent === 1) continue; indentType !== previousIndentType && (previousSize = 0), previousIndentType = indentType, use = 1, weight = 0; let indentDifference = indent - previousSize; if (previousSize = indent, indentDifference === 0) use = 0, weight = 1; else { let absoluteIndentDifference = indentDifference > 0 ? indentDifference : -indentDifference; key = encodeIndentsKey(indentType, absoluteIndentDifference); } entry = indents.get(key), entry = entry === void 0 ? [1, 0] : [entry[0] + use, entry[1] + weight], indents.set(key, entry); } } return indents; } function encodeIndentsKey(indentType, indentAmount) { return (indentType === INDENT_TYPE_SPACE ? "s" : "t") + String(indentAmount); } function decodeIndentsKey(indentsKey) { let type = indentsKey[0] === "s" ? INDENT_TYPE_SPACE : "tab", amount = Number(indentsKey.slice(1)); return { type, amount }; } function getMostUsedKey(indents) { let result, maxUsed = 0, maxWeight = 0; for (let [key, [usedCount, weight]] of indents) (usedCount > maxUsed || usedCount === maxUsed && weight > maxWeight) && (maxUsed = usedCount, maxWeight = weight, result = key); return result; } function makeIndentString(type, amount) { return (type === INDENT_TYPE_SPACE ? " " : " ").repeat(amount); } function detectIndent(string) { if (typeof string != "string") throw new TypeError("Expected a string"); let indents = makeIndentsMap(string, !0); indents.size === 0 && (indents = makeIndentsMap(string, !1)); let keyOfMostUsedIndent = getMostUsedKey(indents), type, amount = 0, indent = ""; return keyOfMostUsedIndent !== void 0 && ({ type, amount } = decodeIndentsKey(keyOfMostUsedIndent), indent = makeIndentString(type, amount)), { amount, type, indent }; } export { invariant, from, up, up2, any, detectIndent };