UNPKG

storybook

Version:

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

604 lines (596 loc) • 22.2 kB
import CJS_COMPAT_NODE_URL_yr66iw5gef from 'node:url'; import CJS_COMPAT_NODE_PATH_yr66iw5gef from 'node:path'; import CJS_COMPAT_NODE_MODULE_yr66iw5gef from "node:module"; var __filename = CJS_COMPAT_NODE_URL_yr66iw5gef.fileURLToPath(import.meta.url); var __dirname = CJS_COMPAT_NODE_PATH_yr66iw5gef.dirname(__filename); var require = CJS_COMPAT_NODE_MODULE_yr66iw5gef.createRequire(import.meta.url); // ------------------------------------------------------------ // end of CJS compatibility banner, injected by Storybook's esbuild configuration // ------------------------------------------------------------ import { __commonJS, __require } from "./chunk-J4VC4I2M.js"; // ../node_modules/totalist/sync/index.js var require_sync = __commonJS({ "../node_modules/totalist/sync/index.js"(exports) { var { join, resolve } = __require("path"), { readdirSync, statSync } = __require("fs"); function totalist(dir, callback, pre = "") { dir = resolve(".", dir); let arr = readdirSync(dir), i = 0, abs, stats; for (; i < arr.length; i++) abs = join(dir, arr[i]), stats = statSync(abs), stats.isDirectory() ? totalist(abs, callback, join(pre, arr[i])) : callback(join(pre, arr[i]), abs, stats); } exports.totalist = totalist; } }); // ../node_modules/@polka/url/build.js var require_build = __commonJS({ "../node_modules/@polka/url/build.js"(exports) { var qs = __require("querystring"); function parse(req) { let raw = req.url; if (raw == null) return; let prev = req._parsedUrl; if (prev && prev.raw === raw) return prev; let pathname = raw, search = "", query, hash; if (raw.length > 1) { let idx = raw.indexOf("#", 1); idx !== -1 && (hash = raw.substring(idx), pathname = raw.substring(0, idx)), idx = pathname.indexOf("?", 1), idx !== -1 && (search = pathname.substring(idx), pathname = pathname.substring(0, idx), search.length > 1 && (query = qs.parse(search.substring(1)))); } return req._parsedUrl = { pathname, search, query, hash, raw }; } exports.parse = parse; } }); // ../node_modules/mrmime/index.js var require_mrmime = __commonJS({ "../node_modules/mrmime/index.js"(exports) { var mimes = { "3g2": "video/3gpp2", "3gp": "video/3gpp", "3gpp": "video/3gpp", "3mf": "model/3mf", aac: "audio/aac", ac: "application/pkix-attr-cert", adp: "audio/adpcm", adts: "audio/aac", ai: "application/postscript", aml: "application/automationml-aml+xml", amlx: "application/automationml-amlx+zip", amr: "audio/amr", apng: "image/apng", appcache: "text/cache-manifest", appinstaller: "application/appinstaller", appx: "application/appx", appxbundle: "application/appxbundle", asc: "application/pgp-keys", atom: "application/atom+xml", atomcat: "application/atomcat+xml", atomdeleted: "application/atomdeleted+xml", atomsvc: "application/atomsvc+xml", au: "audio/basic", avci: "image/avci", avcs: "image/avcs", avif: "image/avif", aw: "application/applixware", bdoc: "application/bdoc", bin: "application/octet-stream", bmp: "image/bmp", bpk: "application/octet-stream", btf: "image/prs.btif", btif: "image/prs.btif", buffer: "application/octet-stream", ccxml: "application/ccxml+xml", cdfx: "application/cdfx+xml", cdmia: "application/cdmi-capability", cdmic: "application/cdmi-container", cdmid: "application/cdmi-domain", cdmio: "application/cdmi-object", cdmiq: "application/cdmi-queue", cer: "application/pkix-cert", cgm: "image/cgm", cjs: "application/node", class: "application/java-vm", coffee: "text/coffeescript", conf: "text/plain", cpl: "application/cpl+xml", cpt: "application/mac-compactpro", crl: "application/pkix-crl", css: "text/css", csv: "text/csv", cu: "application/cu-seeme", cwl: "application/cwl", cww: "application/prs.cww", davmount: "application/davmount+xml", dbk: "application/docbook+xml", deb: "application/octet-stream", def: "text/plain", deploy: "application/octet-stream", dib: "image/bmp", "disposition-notification": "message/disposition-notification", dist: "application/octet-stream", distz: "application/octet-stream", dll: "application/octet-stream", dmg: "application/octet-stream", dms: "application/octet-stream", doc: "application/msword", dot: "application/msword", dpx: "image/dpx", drle: "image/dicom-rle", dsc: "text/prs.lines.tag", dssc: "application/dssc+der", dtd: "application/xml-dtd", dump: "application/octet-stream", dwd: "application/atsc-dwd+xml", ear: "application/java-archive", ecma: "application/ecmascript", elc: "application/octet-stream", emf: "image/emf", eml: "message/rfc822", emma: "application/emma+xml", emotionml: "application/emotionml+xml", eps: "application/postscript", epub: "application/epub+zip", exe: "application/octet-stream", exi: "application/exi", exp: "application/express", exr: "image/aces", ez: "application/andrew-inset", fdf: "application/fdf", fdt: "application/fdt+xml", fits: "image/fits", g3: "image/g3fax", gbr: "application/rpki-ghostbusters", geojson: "application/geo+json", gif: "image/gif", glb: "model/gltf-binary", gltf: "model/gltf+json", gml: "application/gml+xml", gpx: "application/gpx+xml", gram: "application/srgs", grxml: "application/srgs+xml", gxf: "application/gxf", gz: "application/gzip", h261: "video/h261", h263: "video/h263", h264: "video/h264", heic: "image/heic", heics: "image/heic-sequence", heif: "image/heif", heifs: "image/heif-sequence", hej2: "image/hej2k", held: "application/atsc-held+xml", hjson: "application/hjson", hlp: "application/winhlp", hqx: "application/mac-binhex40", hsj2: "image/hsj2", htm: "text/html", html: "text/html", ics: "text/calendar", ief: "image/ief", ifb: "text/calendar", iges: "model/iges", igs: "model/iges", img: "application/octet-stream", in: "text/plain", ini: "text/plain", ink: "application/inkml+xml", inkml: "application/inkml+xml", ipfix: "application/ipfix", iso: "application/octet-stream", its: "application/its+xml", jade: "text/jade", jar: "application/java-archive", jhc: "image/jphc", jls: "image/jls", jp2: "image/jp2", jpe: "image/jpeg", jpeg: "image/jpeg", jpf: "image/jpx", jpg: "image/jpeg", jpg2: "image/jp2", jpgm: "image/jpm", jpgv: "video/jpeg", jph: "image/jph", jpm: "image/jpm", jpx: "image/jpx", js: "text/javascript", json: "application/json", json5: "application/json5", jsonld: "application/ld+json", jsonml: "application/jsonml+json", jsx: "text/jsx", jt: "model/jt", jxl: "image/jxl", jxr: "image/jxr", jxra: "image/jxra", jxrs: "image/jxrs", jxs: "image/jxs", jxsc: "image/jxsc", jxsi: "image/jxsi", jxss: "image/jxss", kar: "audio/midi", ktx: "image/ktx", ktx2: "image/ktx2", less: "text/less", lgr: "application/lgr+xml", list: "text/plain", litcoffee: "text/coffeescript", log: "text/plain", lostxml: "application/lost+xml", lrf: "application/octet-stream", m1v: "video/mpeg", m21: "application/mp21", m2a: "audio/mpeg", m2t: "video/mp2t", m2ts: "video/mp2t", m2v: "video/mpeg", m3a: "audio/mpeg", m4a: "audio/mp4", m4p: "application/mp4", m4s: "video/iso.segment", ma: "application/mathematica", mads: "application/mads+xml", maei: "application/mmt-aei+xml", man: "text/troff", manifest: "text/cache-manifest", map: "application/json", mar: "application/octet-stream", markdown: "text/markdown", mathml: "application/mathml+xml", mb: "application/mathematica", mbox: "application/mbox", md: "text/markdown", mdx: "text/mdx", me: "text/troff", mesh: "model/mesh", meta4: "application/metalink4+xml", metalink: "application/metalink+xml", mets: "application/mets+xml", mft: "application/rpki-manifest", mid: "audio/midi", midi: "audio/midi", mime: "message/rfc822", mj2: "video/mj2", mjp2: "video/mj2", mjs: "text/javascript", mml: "text/mathml", mods: "application/mods+xml", mov: "video/quicktime", mp2: "audio/mpeg", mp21: "application/mp21", mp2a: "audio/mpeg", mp3: "audio/mpeg", mp4: "video/mp4", mp4a: "audio/mp4", mp4s: "application/mp4", mp4v: "video/mp4", mpd: "application/dash+xml", mpe: "video/mpeg", mpeg: "video/mpeg", mpf: "application/media-policy-dataset+xml", mpg: "video/mpeg", mpg4: "video/mp4", mpga: "audio/mpeg", mpp: "application/dash-patch+xml", mrc: "application/marc", mrcx: "application/marcxml+xml", ms: "text/troff", mscml: "application/mediaservercontrol+xml", msh: "model/mesh", msi: "application/octet-stream", msix: "application/msix", msixbundle: "application/msixbundle", msm: "application/octet-stream", msp: "application/octet-stream", mtl: "model/mtl", mts: "video/mp2t", musd: "application/mmt-usd+xml", mxf: "application/mxf", mxmf: "audio/mobile-xmf", mxml: "application/xv+xml", n3: "text/n3", nb: "application/mathematica", nq: "application/n-quads", nt: "application/n-triples", obj: "model/obj", oda: "application/oda", oga: "audio/ogg", ogg: "audio/ogg", ogv: "video/ogg", ogx: "application/ogg", omdoc: "application/omdoc+xml", onepkg: "application/onenote", onetmp: "application/onenote", onetoc: "application/onenote", onetoc2: "application/onenote", opf: "application/oebps-package+xml", opus: "audio/ogg", otf: "font/otf", owl: "application/rdf+xml", oxps: "application/oxps", p10: "application/pkcs10", p7c: "application/pkcs7-mime", p7m: "application/pkcs7-mime", p7s: "application/pkcs7-signature", p8: "application/pkcs8", pdf: "application/pdf", pfr: "application/font-tdpfr", pgp: "application/pgp-encrypted", pkg: "application/octet-stream", pki: "application/pkixcmp", pkipath: "application/pkix-pkipath", pls: "application/pls+xml", png: "image/png", prc: "model/prc", prf: "application/pics-rules", provx: "application/provenance+xml", ps: "application/postscript", pskcxml: "application/pskc+xml", pti: "image/prs.pti", qt: "video/quicktime", raml: "application/raml+yaml", rapd: "application/route-apd+xml", rdf: "application/rdf+xml", relo: "application/p2p-overlay+xml", rif: "application/reginfo+xml", rl: "application/resource-lists+xml", rld: "application/resource-lists-diff+xml", rmi: "audio/midi", rnc: "application/relax-ng-compact-syntax", rng: "application/xml", roa: "application/rpki-roa", roff: "text/troff", rq: "application/sparql-query", rs: "application/rls-services+xml", rsat: "application/atsc-rsat+xml", rsd: "application/rsd+xml", rsheet: "application/urc-ressheet+xml", rss: "application/rss+xml", rtf: "text/rtf", rtx: "text/richtext", rusd: "application/route-usd+xml", s3m: "audio/s3m", sbml: "application/sbml+xml", scq: "application/scvp-cv-request", scs: "application/scvp-cv-response", sdp: "application/sdp", senmlx: "application/senml+xml", sensmlx: "application/sensml+xml", ser: "application/java-serialized-object", setpay: "application/set-payment-initiation", setreg: "application/set-registration-initiation", sgi: "image/sgi", sgm: "text/sgml", sgml: "text/sgml", shex: "text/shex", shf: "application/shf+xml", shtml: "text/html", sieve: "application/sieve", sig: "application/pgp-signature", sil: "audio/silk", silo: "model/mesh", siv: "application/sieve", slim: "text/slim", slm: "text/slim", sls: "application/route-s-tsid+xml", smi: "application/smil+xml", smil: "application/smil+xml", snd: "audio/basic", so: "application/octet-stream", spdx: "text/spdx", spp: "application/scvp-vp-response", spq: "application/scvp-vp-request", spx: "audio/ogg", sql: "application/sql", sru: "application/sru+xml", srx: "application/sparql-results+xml", ssdl: "application/ssdl+xml", ssml: "application/ssml+xml", stk: "application/hyperstudio", stl: "model/stl", stpx: "model/step+xml", stpxz: "model/step-xml+zip", stpz: "model/step+zip", styl: "text/stylus", stylus: "text/stylus", svg: "image/svg+xml", svgz: "image/svg+xml", swidtag: "application/swid+xml", t: "text/troff", t38: "image/t38", td: "application/urc-targetdesc+xml", tei: "application/tei+xml", teicorpus: "application/tei+xml", text: "text/plain", tfi: "application/thraud+xml", tfx: "image/tiff-fx", tif: "image/tiff", tiff: "image/tiff", toml: "application/toml", tr: "text/troff", trig: "application/trig", ts: "video/mp2t", tsd: "application/timestamped-data", tsv: "text/tab-separated-values", ttc: "font/collection", ttf: "font/ttf", ttl: "text/turtle", ttml: "application/ttml+xml", txt: "text/plain", u3d: "model/u3d", u8dsn: "message/global-delivery-status", u8hdr: "message/global-headers", u8mdn: "message/global-disposition-notification", u8msg: "message/global", ubj: "application/ubjson", uri: "text/uri-list", uris: "text/uri-list", urls: "text/uri-list", vcard: "text/vcard", vrml: "model/vrml", vtt: "text/vtt", vxml: "application/voicexml+xml", war: "application/java-archive", wasm: "application/wasm", wav: "audio/wav", weba: "audio/webm", webm: "video/webm", webmanifest: "application/manifest+json", webp: "image/webp", wgsl: "text/wgsl", wgt: "application/widget", wif: "application/watcherinfo+xml", wmf: "image/wmf", woff: "font/woff", woff2: "font/woff2", wrl: "model/vrml", wsdl: "application/wsdl+xml", wspolicy: "application/wspolicy+xml", x3d: "model/x3d+xml", x3db: "model/x3d+fastinfoset", x3dbz: "model/x3d+binary", x3dv: "model/x3d-vrml", x3dvz: "model/x3d+vrml", x3dz: "model/x3d+xml", xaml: "application/xaml+xml", xav: "application/xcap-att+xml", xca: "application/xcap-caps+xml", xcs: "application/calendar+xml", xdf: "application/xcap-diff+xml", xdssc: "application/dssc+xml", xel: "application/xcap-el+xml", xenc: "application/xenc+xml", xer: "application/patch-ops-error+xml", xfdf: "application/xfdf", xht: "application/xhtml+xml", xhtml: "application/xhtml+xml", xhvml: "application/xv+xml", xlf: "application/xliff+xml", xm: "audio/xm", xml: "text/xml", xns: "application/xcap-ns+xml", xop: "application/xop+xml", xpl: "application/xproc+xml", xsd: "application/xml", xsf: "application/prs.xsf+xml", xsl: "application/xml", xslt: "application/xml", xspf: "application/xspf+xml", xvm: "application/xv+xml", xvml: "application/xv+xml", yaml: "text/yaml", yang: "application/yang", yin: "application/yin+xml", yml: "text/yaml", zip: "application/zip" }; function lookup(extn) { let tmp = ("" + extn).trim().toLowerCase(), idx = tmp.lastIndexOf("."); return mimes[~idx ? tmp.substring(++idx) : tmp]; } exports.mimes = mimes; exports.lookup = lookup; } }); // ../node_modules/sirv/build.js var require_build2 = __commonJS({ "../node_modules/sirv/build.js"(exports, module) { var fs = __require("fs"), { join, normalize, resolve } = __require("path"), { totalist } = require_sync(), { parse } = require_build(), { lookup } = require_mrmime(), noop = () => { }; function isMatch(uri, arr) { for (let i = 0; i < arr.length; i++) if (arr[i].test(uri)) return !0; } function toAssume(uri, extns) { let i = 0, x, len = uri.length - 1; uri.charCodeAt(len) === 47 && (uri = uri.substring(0, len)); let arr = [], tmp = `${uri}/index`; for (; i < extns.length; i++) x = extns[i] ? `.${extns[i]}` : "", uri && arr.push(uri + x), arr.push(tmp + x); return arr; } function viaCache(cache, uri, extns) { let i = 0, data, arr = toAssume(uri, extns); for (; i < arr.length; i++) if (data = cache[arr[i]]) return data; } function viaLocal(dir, isEtag, uri, extns) { let i = 0, arr = toAssume(uri, extns), abs, stats, name, headers; for (; i < arr.length; i++) if (abs = normalize(join(dir, name = arr[i])), abs.startsWith(dir) && fs.existsSync(abs)) { if (stats = fs.statSync(abs), stats.isDirectory()) continue; return headers = toHeaders(name, stats, isEtag), headers["Cache-Control"] = isEtag ? "no-cache" : "no-store", { abs, stats, headers }; } } function is404(req, res) { return res.statusCode = 404, res.end(); } function send(req, res, file, stats, headers) { let code = 200, tmp, opts = {}; headers = { ...headers }; for (let key in headers) tmp = res.getHeader(key), tmp && (headers[key] = tmp); if ((tmp = res.getHeader("content-type")) && (headers["Content-Type"] = tmp), req.headers.range) { code = 206; let [x, y] = req.headers.range.replace("bytes=", "").split("-"), end = opts.end = parseInt(y, 10) || stats.size - 1, start = opts.start = parseInt(x, 10) || 0; if (end >= stats.size && (end = stats.size - 1), start >= stats.size) return res.setHeader("Content-Range", `bytes */${stats.size}`), res.statusCode = 416, res.end(); headers["Content-Range"] = `bytes ${start}-${end}/${stats.size}`, headers["Content-Length"] = end - start + 1, headers["Accept-Ranges"] = "bytes"; } res.writeHead(code, headers), fs.createReadStream(file, opts).pipe(res); } var ENCODING = { ".br": "br", ".gz": "gzip" }; function toHeaders(name, stats, isEtag) { let enc = ENCODING[name.slice(-3)], ctype = lookup(name.slice(0, enc && -3)) || ""; ctype === "text/html" && (ctype += ";charset=utf-8"); let headers = { "Content-Length": stats.size, "Content-Type": ctype, "Last-Modified": stats.mtime.toUTCString() }; return enc && (headers["Content-Encoding"] = enc), isEtag && (headers.ETag = `W/"${stats.size}-${stats.mtime.getTime()}"`), headers; } module.exports = function(dir, opts = {}) { dir = resolve(dir || "."); let isNotFound = opts.onNoMatch || is404, setHeaders = opts.setHeaders || noop, extensions = opts.extensions || ["html", "htm"], gzips = opts.gzip && extensions.map((x) => `${x}.gz`).concat("gz"), brots = opts.brotli && extensions.map((x) => `${x}.br`).concat("br"), FILES = {}, fallback = "/", isEtag = !!opts.etag, isSPA = !!opts.single; if (typeof opts.single == "string") { let idx = opts.single.lastIndexOf("."); fallback += ~idx ? opts.single.substring(0, idx) : opts.single; } let ignores = []; opts.ignores !== !1 && (ignores.push(/[/]([A-Za-z\s\d~$._-]+\.\w+){1,}$/), opts.dotfiles ? ignores.push(/\/\.\w/) : ignores.push(/\/\.well-known/), [].concat(opts.ignores || []).forEach((x) => { ignores.push(new RegExp(x, "i")); })); let cc = opts.maxAge != null && `public,max-age=${opts.maxAge}`; cc && opts.immutable ? cc += ",immutable" : cc && opts.maxAge === 0 && (cc += ",must-revalidate"), opts.dev || totalist(dir, (name, abs, stats) => { if (!/\.well-known[\\+\/]/.test(name)) { if (!opts.dotfiles && /(^\.|[\\+|\/+]\.)/.test(name)) return; } let headers = toHeaders(name, stats, isEtag); cc && (headers["Cache-Control"] = cc), FILES["/" + name.normalize().replace(/\\+/g, "/")] = { abs, stats, headers }; }); let lookup2 = opts.dev ? viaLocal.bind(0, dir, isEtag) : viaCache.bind(0, FILES); return function(req, res, next) { let extns = [""], pathname = parse(req).pathname, val = req.headers["accept-encoding"] || ""; if (gzips && val.includes("gzip") && extns.unshift(...gzips), brots && /(br|brotli)/i.test(val) && extns.unshift(...brots), extns.push(...extensions), pathname.indexOf("%") !== -1) try { pathname = decodeURI(pathname); } catch { } let data = lookup2(pathname, extns) || isSPA && !isMatch(pathname, ignores) && lookup2(fallback, extns); if (!data) return next ? next() : isNotFound(req, res); if (isEtag && req.headers["if-none-match"] === data.headers.ETag) return res.writeHead(304), res.end(); (gzips || brots) && res.setHeader("Vary", "Accept-Encoding"), setHeaders(res, pathname, data.stats), send(req, res, data.abs, data.stats, data.headers); }; }; } }); export { require_build2 as require_build };