UNPKG

storybook

Version:

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

1,532 lines (1,485 loc) • 165 kB
var Nn = Object.create; var $e = Object.defineProperty; var jn = Object.getOwnPropertyDescriptor; var kn = Object.getOwnPropertyNames; var Dn = Object.getPrototypeOf, Mn = Object.prototype.hasOwnProperty; var n = (e, t) => $e(e, "name", { value: t, configurable: !0 }), Pe = /* @__PURE__ */ ((e) => typeof require < "u" ? require : typeof Proxy < "u" ? new Proxy(e, { get: (t, r) => (typeof require < "u" ? require : t)[r] }) : e)(function(e) { if (typeof require < "u") return require.apply(this, arguments); throw Error('Dynamic require of "' + e + '" is not supported'); }); var $r = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), L = (e, t) => { for (var r in t) $e(e, r, { get: t[r], enumerable: !0 }); }, Un = (e, t, r, o) => { if (t && typeof t == "object" || typeof t == "function") for (let s of kn(t)) !Mn.call(e, s) && s !== r && $e(e, s, { get: () => t[s], enumerable: !(o = jn(t, s)) || o.enumerable }); return e; }; var Ot = (e, t, r) => (r = e != null ? Nn(Dn(e)) : {}, Un( // 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. t || !e || !e.__esModule ? $e(r, "default", { value: e, enumerable: !0 }) : r, e )); // ../node_modules/memoizerific/memoizerific.js var Bt = $r((co, $t) => { (function(e) { if (typeof co == "object" && typeof $t < "u") $t.exports = e(); else if (typeof define == "function" && define.amd) define([], e); else { var t; typeof window < "u" ? t = window : typeof global < "u" ? t = global : typeof self < "u" ? t = self : t = this, t.memoizerific = e(); } })(function() { var e, t, r; return (/* @__PURE__ */ n(function o(s, i, a) { function c(p, d) { if (!i[p]) { if (!s[p]) { var f = typeof Pe == "function" && Pe; if (!d && f) return f(p, !0); if (u) return u(p, !0); var y = new Error("Cannot find module '" + p + "'"); throw y.code = "MODULE_NOT_FOUND", y; } var m = i[p] = { exports: {} }; s[p][0].call(m.exports, function(h) { var g = s[p][1][h]; return c(g || h); }, m, m.exports, o, s, i, a); } return i[p].exports; } n(c, "s"); for (var u = typeof Pe == "function" && Pe, l = 0; l < a.length; l++) c(a[l]); return c; }, "e"))({ 1: [function(o, s, i) { s.exports = function(a) { if (typeof Map != "function" || a) { var c = o("./similar"); return new c(); } else return /* @__PURE__ */ new Map(); }; }, { "./similar": 2 }], 2: [function(o, s, i) { function a() { return this.list = [], this.lastItem = void 0, this.size = 0, this; } n(a, "Similar"), a.prototype.get = function(c) { var u; if (this.lastItem && this.isEqual(this.lastItem.key, c)) return this.lastItem.val; if (u = this.indexOf(c), u >= 0) return this.lastItem = this.list[u], this.list[u].val; }, a.prototype.set = function(c, u) { var l; return this.lastItem && this.isEqual(this.lastItem.key, c) ? (this.lastItem.val = u, this) : (l = this.indexOf(c), l >= 0 ? (this.lastItem = this.list[l], this.list[l].val = u, this) : (this.lastItem = { key: c, val: u }, this.list.push(this.lastItem), this.size++, this)); }, a.prototype.delete = function(c) { var u; if (this.lastItem && this.isEqual(this.lastItem.key, c) && (this.lastItem = void 0), u = this.indexOf(c), u >= 0) return this.size--, this.list.splice(u, 1)[0]; }, a.prototype.has = function(c) { var u; return this.lastItem && this.isEqual(this.lastItem.key, c) ? !0 : (u = this.indexOf(c), u >= 0 ? (this.lastItem = this.list[u], !0) : !1); }, a.prototype.forEach = function(c, u) { var l; for (l = 0; l < this.size; l++) c.call(u || this, this.list[l].val, this.list[l].key, this); }, a.prototype.indexOf = function(c) { var u; for (u = 0; u < this.size; u++) if (this.isEqual(this.list[u].key, c)) return u; return -1; }, a.prototype.isEqual = function(c, u) { return c === u || c !== c && u !== u; }, s.exports = a; }, {}], 3: [function(o, s, i) { var a = o("map-or-similar"); s.exports = function(p) { var d = new a(!1), f = []; return function(y) { var m = /* @__PURE__ */ n(function() { var h = d, g, S, P = arguments.length - 1, E = Array(P + 1), v = !0, I; if ((m.numArgs || m.numArgs === 0) && m.numArgs !== P + 1) throw new Error("Memoizerific functions should always be called with the same number of arguments"); for (I = 0; I < P; I++) { if (E[I] = { cacheItem: h, arg: arguments[I] }, h.has(arguments[I])) { h = h.get(arguments[I]); continue; } v = !1, g = new a(!1), h.set(arguments[I], g), h = g; } return v && (h.has(arguments[P]) ? S = h.get(arguments[P]) : v = !1), v || (S = y.apply(null, arguments), h.set(arguments[P], S)), p > 0 && (E[P] = { cacheItem: h, arg: arguments[P] }, v ? c(f, E) : f.push(E), f.length > p && u(f.shift())), m.wasMemoized = v, m.numArgs = P + 1, S; }, "memoizerific"); return m.limit = p, m.wasMemoized = !1, m.cache = d, m.lru = f, m; }; }; function c(p, d) { var f = p.length, y = d.length, m, h, g; for (h = 0; h < f; h++) { for (m = !0, g = 0; g < y; g++) if (!l(p[h][g].arg, d[g].arg)) { m = !1; break; } if (m) break; } p.push(p.splice(h, 1)[0]); } n(c, "moveToMostRecentLru"); function u(p) { var d = p.length, f = p[d - 1], y, m; for (f.cacheItem.delete(f.arg), m = d - 2; m >= 0 && (f = p[m], y = f.cacheItem.get(f.arg), !y || !y.size); m--) f.cacheItem.delete(f.arg); } n(u, "removeCachedResult"); function l(p, d) { return p === d || p !== p && d !== d; } n(l, "isEqual"); }, { "map-or-similar": 1 }] }, {}, [3])(3); }); }); // ../node_modules/store2/dist/store2.js var Uo = $r((bt, Pt) => { (function(e, t) { var r = { version: "2.14.4", areas: {}, apis: {}, nsdelim: ".", // utilities inherit: /* @__PURE__ */ n(function(s, i) { for (var a in s) i.hasOwnProperty(a) || Object.defineProperty(i, a, Object.getOwnPropertyDescriptor(s, a)); return i; }, "inherit"), stringify: /* @__PURE__ */ n(function(s, i) { return s === void 0 || typeof s == "function" ? s + "" : JSON.stringify(s, i || r.replace); }, "stringify"), parse: /* @__PURE__ */ n(function(s, i) { try { return JSON.parse(s, i || r.revive); } catch { return s; } }, "parse"), // extension hooks fn: /* @__PURE__ */ n(function(s, i) { r.storeAPI[s] = i; for (var a in r.apis) r.apis[a][s] = i; }, "fn"), get: /* @__PURE__ */ n(function(s, i) { return s.getItem(i); }, "get"), set: /* @__PURE__ */ n(function(s, i, a) { s.setItem(i, a); }, "set"), remove: /* @__PURE__ */ n(function(s, i) { s.removeItem(i); }, "remove"), key: /* @__PURE__ */ n(function(s, i) { return s.key(i); }, "key"), length: /* @__PURE__ */ n(function(s) { return s.length; }, "length"), clear: /* @__PURE__ */ n(function(s) { s.clear(); }, "clear"), // core functions Store: /* @__PURE__ */ n(function(s, i, a) { var c = r.inherit(r.storeAPI, function(l, p, d) { return arguments.length === 0 ? c.getAll() : typeof p == "function" ? c.transact(l, p, d) : p !== void 0 ? c.set(l, p, d) : typeof l == "string" || typeof l == "number" ? c.get(l) : typeof l == "function" ? c.each(l) : l ? c.setAll(l, p) : c.clear(); }); c._id = s; try { var u = "__store2_test"; i.setItem(u, "ok"), c._area = i, i.removeItem(u); } catch { c._area = r.storage("fake"); } return c._ns = a || "", r.areas[s] || (r.areas[s] = c._area), r.apis[c._ns + c._id] || (r.apis[c._ns + c._id] = c), c; }, "Store"), storeAPI: { // admin functions area: /* @__PURE__ */ n(function(s, i) { var a = this[s]; return (!a || !a.area) && (a = r.Store(s, i, this._ns), this[s] || (this[s] = a)), a; }, "area"), namespace: /* @__PURE__ */ n(function(s, i, a) { if (a = a || this._delim || r.nsdelim, !s) return this._ns ? this._ns.substring(0, this._ns.length - a.length) : ""; var c = s, u = this[c]; if ((!u || !u.namespace) && (u = r.Store(this._id, this._area, this._ns + c + a), u._delim = a, this[c] || (this[c] = u), !i)) for (var l in r.areas) u.area(l, r.areas[l]); return u; }, "namespace"), isFake: /* @__PURE__ */ n(function(s) { return s ? (this._real = this._area, this._area = r.storage("fake")) : s === !1 && (this._area = this._real || this._area), this._area. name === "fake"; }, "isFake"), toString: /* @__PURE__ */ n(function() { return "store" + (this._ns ? "." + this.namespace() : "") + "[" + this._id + "]"; }, "toString"), // storage functions has: /* @__PURE__ */ n(function(s) { return this._area.has ? this._area.has(this._in(s)) : this._in(s) in this._area; }, "has"), size: /* @__PURE__ */ n(function() { return this.keys().length; }, "size"), each: /* @__PURE__ */ n(function(s, i) { for (var a = 0, c = r.length(this._area); a < c; a++) { var u = this._out(r.key(this._area, a)); if (u !== void 0 && s.call(this, u, this.get(u), i) === !1) break; c > r.length(this._area) && (c--, a--); } return i || this; }, "each"), keys: /* @__PURE__ */ n(function(s) { return this.each(function(i, a, c) { c.push(i); }, s || []); }, "keys"), get: /* @__PURE__ */ n(function(s, i) { var a = r.get(this._area, this._in(s)), c; return typeof i == "function" && (c = i, i = null), a !== null ? r.parse(a, c) : i ?? a; }, "get"), getAll: /* @__PURE__ */ n(function(s) { return this.each(function(i, a, c) { c[i] = a; }, s || {}); }, "getAll"), transact: /* @__PURE__ */ n(function(s, i, a) { var c = this.get(s, a), u = i(c); return this.set(s, u === void 0 ? c : u), this; }, "transact"), set: /* @__PURE__ */ n(function(s, i, a) { var c = this.get(s), u; return c != null && a === !1 ? i : (typeof a == "function" && (u = a, a = void 0), r.set(this._area, this._in(s), r.stringify(i, u), a) || c); }, "set"), setAll: /* @__PURE__ */ n(function(s, i) { var a, c; for (var u in s) c = s[u], this.set(u, c, i) !== c && (a = !0); return a; }, "setAll"), add: /* @__PURE__ */ n(function(s, i, a) { var c = this.get(s); if (c instanceof Array) i = c.concat(i); else if (c !== null) { var u = typeof c; if (u === typeof i && u === "object") { for (var l in i) c[l] = i[l]; i = c; } else i = c + i; } return r.set(this._area, this._in(s), r.stringify(i, a)), i; }, "add"), remove: /* @__PURE__ */ n(function(s, i) { var a = this.get(s, i); return r.remove(this._area, this._in(s)), a; }, "remove"), clear: /* @__PURE__ */ n(function() { return this._ns ? this.each(function(s) { r.remove(this._area, this._in(s)); }, 1) : r.clear(this._area), this; }, "clear"), clearAll: /* @__PURE__ */ n(function() { var s = this._area; for (var i in r.areas) r.areas.hasOwnProperty(i) && (this._area = r.areas[i], this.clear()); return this._area = s, this; }, "clearAll"), // internal use functions _in: /* @__PURE__ */ n(function(s) { return typeof s != "string" && (s = r.stringify(s)), this._ns ? this._ns + s : s; }, "_in"), _out: /* @__PURE__ */ n(function(s) { return this._ns ? s && s.indexOf(this._ns) === 0 ? s.substring(this._ns.length) : void 0 : ( // so each() knows to skip it s ); }, "_out") }, // end _.storeAPI storage: /* @__PURE__ */ n(function(s) { return r.inherit(r.storageAPI, { items: {}, name: s }); }, "storage"), storageAPI: { length: 0, has: /* @__PURE__ */ n(function(s) { return this.items.hasOwnProperty(s); }, "has"), key: /* @__PURE__ */ n(function(s) { var i = 0; for (var a in this.items) if (this.has(a) && s === i++) return a; }, "key"), setItem: /* @__PURE__ */ n(function(s, i) { this.has(s) || this.length++, this.items[s] = i; }, "setItem"), removeItem: /* @__PURE__ */ n(function(s) { this.has(s) && (delete this.items[s], this.length--); }, "removeItem"), getItem: /* @__PURE__ */ n(function(s) { return this.has(s) ? this.items[s] : null; }, "getItem"), clear: /* @__PURE__ */ n(function() { for (var s in this.items) this.removeItem(s); }, "clear") } // end _.storageAPI }, o = ( // safely set this up (throws error in IE10/32bit mode for local files) r.Store("local", function() { try { return localStorage; } catch { } }()) ); o.local = o, o._ = r, o.area("session", function() { try { return sessionStorage; } catch { } }()), o.area("page", r.storage("page")), typeof t == "function" && t.amd !== void 0 ? t("store2", [], function() { return o; }) : typeof Pt < "u" && Pt.exports ? Pt.exports = o : (e.store && (r.conflict = e.store), e.store = o); })(bt, bt && bt.define); }); // src/manager-api/root.tsx import me, { Component as _u, Fragment as Iu, useCallback as ke, useContext as Mr, useEffect as gn, useMemo as Dr, useRef as yn, useState as xu } from "react"; import { DOCS_PREPARED as Tu, SET_STORIES as Ru, SHARED_STATE_CHANGED as mn, SHARED_STATE_SET as je, STORY_CHANGED as wu, STORY_PREPARED as Ou } from "storybook/internal/core-events"; // ../node_modules/es-toolkit/dist/array/countBy.mjs function Ct(e, t) { let r = {}; for (let o = 0; o < e.length; o++) { let s = e[o], i = t(s); r[i] = (r[i] ?? 0) + 1; } return r; } n(Ct, "countBy"); // ../node_modules/es-toolkit/dist/array/partition.mjs function Be(e, t) { let r = [], o = []; for (let s = 0; s < e.length; s++) { let i = e[s]; t(i) ? r.push(i) : o.push(i); } return [r, o]; } n(Be, "partition"); // ../node_modules/es-toolkit/dist/function/noop.mjs function Br() { } n(Br, "noop"); // ../node_modules/es-toolkit/dist/predicate/isPrimitive.mjs function Vr(e) { return e == null || typeof e != "object" && typeof e != "function"; } n(Vr, "isPrimitive"); // ../node_modules/es-toolkit/dist/predicate/isTypedArray.mjs function Kr(e) { return ArrayBuffer.isView(e) && !(e instanceof DataView); } n(Kr, "isTypedArray"); // ../node_modules/es-toolkit/dist/compat/_internal/getSymbols.mjs function Ae(e) { return Object.getOwnPropertySymbols(e).filter((t) => Object.prototype.propertyIsEnumerable.call(e, t)); } n(Ae, "getSymbols"); // ../node_modules/es-toolkit/dist/compat/_internal/getTag.mjs function Ee(e) { return e == null ? e === void 0 ? "[object Undefined]" : "[object Null]" : Object.prototype.toString.call(e); } n(Ee, "getTag"); // ../node_modules/es-toolkit/dist/compat/_internal/tags.mjs var Ve = "[object RegExp]", Ke = "[object String]", ze = "[object Number]", He = "[object Boolean]", ve = "[object Arguments]", qe = "[objec\ t Symbol]", Ye = "[object Date]", Je = "[object Map]", Xe = "[object Set]", Qe = "[object Array]", zr = "[object Function]", Ze = "[object A\ rrayBuffer]", ne = "[object Object]", Hr = "[object Error]", et = "[object DataView]", tt = "[object Uint8Array]", rt = "[object Uint8Clampe\ dArray]", ot = "[object Uint16Array]", nt = "[object Uint32Array]", qr = "[object BigUint64Array]", st = "[object Int8Array]", at = "[object\ Int16Array]", it = "[object Int32Array]", Yr = "[object BigInt64Array]", ct = "[object Float32Array]", ut = "[object Float64Array]"; // ../node_modules/es-toolkit/dist/object/cloneDeepWith.mjs function Q(e, t, r, o = /* @__PURE__ */ new Map(), s = void 0) { let i = s?.(e, t, r, o); if (i != null) return i; if (Vr(e)) return e; if (o.has(e)) return o.get(e); if (Array.isArray(e)) { let a = new Array(e.length); o.set(e, a); for (let c = 0; c < e.length; c++) a[c] = Q(e[c], c, r, o, s); return Object.hasOwn(e, "index") && (a.index = e.index), Object.hasOwn(e, "input") && (a.input = e.input), a; } if (e instanceof Date) return new Date(e.getTime()); if (e instanceof RegExp) { let a = new RegExp(e.source, e.flags); return a.lastIndex = e.lastIndex, a; } if (e instanceof Map) { let a = /* @__PURE__ */ new Map(); o.set(e, a); for (let [c, u] of e) a.set(c, Q(u, c, r, o, s)); return a; } if (e instanceof Set) { let a = /* @__PURE__ */ new Set(); o.set(e, a); for (let c of e) a.add(Q(c, void 0, r, o, s)); return a; } if (typeof Buffer < "u" && Buffer.isBuffer(e)) return e.subarray(); if (Kr(e)) { let a = new (Object.getPrototypeOf(e)).constructor(e.length); o.set(e, a); for (let c = 0; c < e.length; c++) a[c] = Q(e[c], c, r, o, s); return a; } if (e instanceof ArrayBuffer || typeof SharedArrayBuffer < "u" && e instanceof SharedArrayBuffer) return e.slice(0); if (e instanceof DataView) { let a = new DataView(e.buffer.slice(0), e.byteOffset, e.byteLength); return o.set(e, a), _e(a, e, r, o, s), a; } if (typeof File < "u" && e instanceof File) { let a = new File([e], e.name, { type: e.type }); return o.set(e, a), _e(a, e, r, o, s), a; } if (e instanceof Blob) { let a = new Blob([e], { type: e.type }); return o.set(e, a), _e(a, e, r, o, s), a; } if (e instanceof Error) { let a = new e.constructor(); return o.set(e, a), a.message = e.message, a.name = e.name, a.stack = e.stack, a.cause = e.cause, _e(a, e, r, o, s), a; } if (typeof e == "object" && Ln(e)) { let a = Object.create(Object.getPrototypeOf(e)); return o.set(e, a), _e(a, e, r, o, s), a; } return e; } n(Q, "cloneDeepWithImpl"); function _e(e, t, r = e, o, s) { let i = [...Object.keys(t), ...Ae(t)]; for (let a = 0; a < i.length; a++) { let c = i[a], u = Object.getOwnPropertyDescriptor(e, c); (u == null || u.writable) && (e[c] = Q(t[c], c, r, o, s)); } } n(_e, "copyProperties"); function Ln(e) { switch (Ee(e)) { case ve: case Qe: case Ze: case et: case He: case Ye: case ct: case ut: case st: case at: case it: case Je: case ze: case ne: case Ve: case Xe: case Ke: case qe: case tt: case rt: case ot: case nt: return !0; default: return !1; } } n(Ln, "isCloneableObject"); // ../node_modules/es-toolkit/dist/object/cloneDeep.mjs function Jr(e) { return Q(e, void 0, e, /* @__PURE__ */ new Map(), void 0); } n(Jr, "cloneDeep"); // ../node_modules/es-toolkit/dist/predicate/isPlainObject.mjs function se(e) { if (!e || typeof e != "object") return !1; let t = Object.getPrototypeOf(e); return t === null || t === Object.prototype || Object.getPrototypeOf(t) === null ? Object.prototype.toString.call(e) === "[object Object]" : !1; } n(se, "isPlainObject"); // ../node_modules/es-toolkit/dist/object/mapValues.mjs function Nt(e, t) { let r = {}, o = Object.keys(e); for (let s = 0; s < o.length; s++) { let i = o[s], a = e[i]; r[i] = t(a, i, e); } return r; } n(Nt, "mapValues"); // ../node_modules/es-toolkit/dist/object/merge.mjs function ae(e, t) { let r = Object.keys(t); for (let o = 0; o < r.length; o++) { let s = r[o], i = t[s], a = e[s]; Array.isArray(i) ? Array.isArray(a) ? e[s] = ae(a, i) : e[s] = ae([], i) : se(i) ? se(a) ? e[s] = ae(a, i) : e[s] = ae({}, i) : (a === void 0 || i !== void 0) && (e[s] = i); } return e; } n(ae, "merge"); // ../node_modules/es-toolkit/dist/compat/predicate/isObjectLike.mjs function jt(e) { return typeof e == "object" && e !== null; } n(jt, "isObjectLike"); // ../node_modules/es-toolkit/dist/object/mergeWith.mjs function q(e, t, r) { let o = Object.keys(t); for (let s = 0; s < o.length; s++) { let i = o[s], a = t[i], c = e[i], u = r(c, a, i, e, t); u != null ? e[i] = u : Array.isArray(a) ? e[i] = q(c ?? [], a, r) : jt(c) && jt(a) ? e[i] = q(c ?? {}, a, r) : (c === void 0 || a !== void 0) && (e[i] = a); } return e; } n(q, "mergeWith"); // ../node_modules/es-toolkit/dist/object/pick.mjs function Z(e, t) { let r = {}; for (let o = 0; o < t.length; o++) { let s = t[o]; Object.hasOwn(e, s) && (r[s] = e[s]); } return r; } n(Z, "pick"); // ../node_modules/es-toolkit/dist/object/toMerged.mjs function Ie(e, t) { return ae(Jr(e), t); } n(Ie, "toMerged"); // ../node_modules/es-toolkit/dist/compat/util/eq.mjs function Xr(e, t) { return e === t || Number.isNaN(e) && Number.isNaN(t); } n(Xr, "eq"); // ../node_modules/es-toolkit/dist/predicate/isEqualWith.mjs function Qr(e, t, r) { return xe(e, t, void 0, void 0, void 0, void 0, r); } n(Qr, "isEqualWith"); function xe(e, t, r, o, s, i, a) { let c = a(e, t, r, o, s, i); if (c !== void 0) return c; if (typeof e == typeof t) switch (typeof e) { case "bigint": case "string": case "boolean": case "symbol": case "undefined": return e === t; case "number": return e === t || Object.is(e, t); case "function": return e === t; case "object": return Te(e, t, i, a); } return Te(e, t, i, a); } n(xe, "isEqualWithImpl"); function Te(e, t, r, o) { if (Object.is(e, t)) return !0; let s = Ee(e), i = Ee(t); if (s === ve && (s = ne), i === ve && (i = ne), s !== i) return !1; switch (s) { case Ke: return e.toString() === t.toString(); case ze: { let u = e.valueOf(), l = t.valueOf(); return Xr(u, l); } case He: case Ye: case qe: return Object.is(e.valueOf(), t.valueOf()); case Ve: return e.source === t.source && e.flags === t.flags; case zr: return e === t; } r = r ?? /* @__PURE__ */ new Map(); let a = r.get(e), c = r.get(t); if (a != null && c != null) return a === t; r.set(e, t), r.set(t, e); try { switch (s) { case Je: { if (e.size !== t.size) return !1; for (let [u, l] of e.entries()) if (!t.has(u) || !xe(l, t.get(u), u, e, t, r, o)) return !1; return !0; } case Xe: { if (e.size !== t.size) return !1; let u = Array.from(e.values()), l = Array.from(t.values()); for (let p = 0; p < u.length; p++) { let d = u[p], f = l.findIndex((y) => xe(d, y, void 0, e, t, r, o)); if (f === -1) return !1; l.splice(f, 1); } return !0; } case Qe: case tt: case rt: case ot: case nt: case qr: case st: case at: case it: case Yr: case ct: case ut: { if (typeof Buffer < "u" && Buffer.isBuffer(e) !== Buffer.isBuffer(t) || e.length !== t.length) return !1; for (let u = 0; u < e.length; u++) if (!xe(e[u], t[u], u, e, t, r, o)) return !1; return !0; } case Ze: return e.byteLength !== t.byteLength ? !1 : Te(new Uint8Array(e), new Uint8Array(t), r, o); case et: return e.byteLength !== t.byteLength || e.byteOffset !== t.byteOffset ? !1 : Te(new Uint8Array(e), new Uint8Array(t), r, o); case Hr: return e.name === t.name && e.message === t.message; case ne: { if (!(Te(e.constructor, t.constructor, r, o) || se(e) && se(t))) return !1; let l = [...Object.keys(e), ...Ae(e)], p = [...Object.keys(t), ...Ae(t)]; if (l.length !== p.length) return !1; for (let d = 0; d < l.length; d++) { let f = l[d], y = e[f]; if (!Object.hasOwn(t, f)) return !1; let m = t[f]; if (!xe(y, m, f, e, t, r, o)) return !1; } return !0; } default: return !1; } } finally { r.delete(e), r.delete(t); } } n(Te, "areObjectsEqual"); // ../node_modules/es-toolkit/dist/predicate/isEqual.mjs function M(e, t) { return Qr(e, t, Br); } n(M, "isEqual"); // src/manager-api/context.ts import { createContext as Fn } from "react"; var Zr = /* @__PURE__ */ n(({ api: e, state: t }) => Fn({ api: e, state: t }), "createContext"); // src/manager-api/lib/merge.ts import { logger as eo } from "storybook/internal/client-logger"; var K = /* @__PURE__ */ n((e, ...t) => { let r = {}; r = q( {}, e, (o, s) => { if (Array.isArray(s) && Array.isArray(o)) return s.forEach((i) => { o.find((c) => c === i || M(c, i)) || o.push(i); }), o; if (Array.isArray(o)) return eo.log(["the types mismatch, picking", o]), o; } ); for (let o of t) r = q(r, o, (s, i) => { if (Array.isArray(i) && Array.isArray(s)) return i.forEach((a) => { s.find((u) => u === a || M(u, a)) || s.push(a); }), s; if (Array.isArray(s)) return eo.log(["the types mismatch, picking", s]), s; }); return r; }, "default"), to = /* @__PURE__ */ n((e, ...t) => { let r = {}; r = q( {}, e, (o, s) => { if (Array.isArray(s)) return s; } ); for (let o of t) r = q(r, o, (s, i) => { if (Array.isArray(i)) return i; }); return r; }, "noArrayMerge"); // src/manager-api/initial-state.ts var Wn = /* @__PURE__ */ n((...e) => e.reduce((t, r) => K(t, r), {}), "main"), lt = Wn; // src/manager-api/lib/addons.ts import { logger as $n } from "storybook/internal/client-logger"; import { SET_CONFIG as ro } from "storybook/internal/core-events"; import { Addon_TypesEnum as oo } from "storybook/internal/types"; import { global as Dt } from "@storybook/global"; // src/manager-api/lib/storybook-channel-mock.ts import { Channel as Gn } from "storybook/internal/channels"; function kt() { let e = { setHandler: /* @__PURE__ */ n(() => { }, "setHandler"), send: /* @__PURE__ */ n(() => { }, "send") }; return new Gn({ transport: e }); } n(kt, "mockChannel"); // src/manager-api/lib/addons.ts var Lt = class Lt { constructor() { this.loaders = {}; this.elements = {}; this.config = {}; this.getChannel = /* @__PURE__ */ n(() => (this.channel || this.setChannel(kt()), this.channel), "getChannel"); this.ready = /* @__PURE__ */ n(() => this.promise, "ready"); this.hasChannel = /* @__PURE__ */ n(() => !!this.channel, "hasChannel"); this.setChannel = /* @__PURE__ */ n((t) => { this.channel = t, this.resolve(); }, "setChannel"); this.setConfig = /* @__PURE__ */ n((t) => { Object.assign(this.config, t), this.hasChannel() ? this.getChannel().emit(ro, this.config) : this.ready().then((r) => { r.emit(ro, this.config); }); }, "setConfig"); this.getConfig = /* @__PURE__ */ n(() => this.config, "getConfig"); /** * Registers an addon loader function. * * @param {string} id - The id of the addon loader. * @param {(api: API) => void} callback - The function that will be called to register the addon. * @returns {void} */ this.register = /* @__PURE__ */ n((t, r) => { this.loaders[t] && $n.warn(`${t} was loaded twice, this could have bad side-effects`), this.loaders[t] = r; }, "register"); this.loadAddons = /* @__PURE__ */ n((t) => { Object.values(this.loaders).forEach((r) => r(t)); }, "loadAddons"); this.promise = new Promise((t) => { this.resolve = () => t(this.getChannel()); }); } getElements(t) { return this.elements[t] || (this.elements[t] = {}), this.elements[t]; } /** * Adds an addon to the addon store. * * @param {string} id - The id of the addon. * @param {Addon_Type} addon - The addon to add. * @returns {void} */ add(t, r) { let { type: o } = r, s = this.getElements(o); s[t] = { ...r, id: t }; } experimental_getRegisteredAddons() { return Object.keys(this.loaders); } }; n(Lt, "AddonStore"); var Ut = Lt, Mt = "__STORYBOOK_ADDONS_MANAGER"; function Bn() { return Dt[Mt] || (Dt[Mt] = new Ut()), Dt[Mt]; } n(Bn, "getAddonsStore"); var Vn = Bn(); // src/manager-api/modules/addons.ts var Wt = {}; L(Wt, { ensurePanel: () => Ft, init: () => Kn }); import { Addon_TypesEnum as no } from "storybook/internal/types"; function Ft(e, t, r) { let o = Object.keys(e); return o.indexOf(t) >= 0 ? t : o.length ? o[0] : r; } n(Ft, "ensurePanel"); var Kn = /* @__PURE__ */ n(({ provider: e, store: t, fullAPI: r }) => { let o = { getElements: /* @__PURE__ */ n((s) => e.getElements(s), "getElements"), getSelectedPanel: /* @__PURE__ */ n(() => { let { selectedPanel: s } = t.getState(); return Ft(o.getElements(no.PANEL), s, s); }, "getSelectedPanel"), setSelectedPanel: /* @__PURE__ */ n((s) => { t.setState({ selectedPanel: s }, { persistence: "session" }); }, "setSelectedPanel"), setAddonState(s, i, a) { let c = typeof i == "function" ? i : () => i; return t.setState( (u) => ({ ...u, addons: { ...u.addons, [s]: c(u.addons[s]) } }), a ).then(() => o.getAddonState(s)); }, getAddonState: /* @__PURE__ */ n((s) => t.getState().addons[s] || globalThis?.STORYBOOK_ADDON_STATE[s], "getAddonState") }; return { api: o, state: { selectedPanel: Ft( o.getElements(no.PANEL), t.getState().selectedPanel ), addons: {} } }; }, "init"); // src/manager-api/modules/channel.ts var Gt = {}; L(Gt, { init: () => zn }); var zn = /* @__PURE__ */ n(({ provider: e }) => ({ api: { getChannel: /* @__PURE__ */ n(() => e.channel, "getChannel"), on: /* @__PURE__ */ n((r, o) => (e.channel?.on(r, o), () => e.channel?.off(r, o)), "on"), off: /* @__PURE__ */ n((r, o) => e.channel?.off(r, o), "off"), once: /* @__PURE__ */ n((r, o) => e.channel?.once(r, o), "once"), emit: /* @__PURE__ */ n((r, o, ...s) => { o?.options?.target && o.options.target !== "storybook-preview-iframe" && !o.options.target.startsWith("storybook-ref-") && (o.options.target = o.options.target !== "storybook_internal" ? `storybook-ref-${o.options.target}` : "storybook-preview-iframe"), e.channel?.emit(r, o, ...s); }, "emit") }, state: {} }), "init"); // src/manager-api/modules/globals.ts var qt = {}; L(qt, { init: () => as }); import { logger as Ao } from "storybook/internal/client-logger"; import { GLOBALS_UPDATED as os, SET_GLOBALS as ns, UPDATE_GLOBALS as ss } from "storybook/internal/core-events"; // ../node_modules/dequal/dist/index.mjs var so = Object.prototype.hasOwnProperty; function ao(e, t, r) { for (r of e.keys()) if (F(r, t)) return r; } n(ao, "find"); function F(e, t) { var r, o, s; if (e === t) return !0; if (e && t && (r = e.constructor) === t.constructor) { if (r === Date) return e.getTime() === t.getTime(); if (r === RegExp) return e.toString() === t.toString(); if (r === Array) { if ((o = e.length) === t.length) for (; o-- && F(e[o], t[o]); ) ; return o === -1; } if (r === Set) { if (e.size !== t.size) return !1; for (o of e) if (s = o, s && typeof s == "object" && (s = ao(t, s), !s) || !t.has(s)) return !1; return !0; } if (r === Map) { if (e.size !== t.size) return !1; for (o of e) if (s = o[0], s && typeof s == "object" && (s = ao(t, s), !s) || !F(o[1], t.get(s))) return !1; return !0; } if (r === ArrayBuffer) e = new Uint8Array(e), t = new Uint8Array(t); else if (r === DataView) { if ((o = e.byteLength) === t.byteLength) for (; o-- && e.getInt8(o) === t.getInt8(o); ) ; return o === -1; } if (ArrayBuffer.isView(e)) { if ((o = e.byteLength) === t.byteLength) for (; o-- && e[o] === t[o]; ) ; return o === -1; } if (!r || typeof e == "object") { o = 0; for (r in e) if (so.call(e, r) && ++o && !so.call(t, r) || !(r in t) || !F(e[r], t[r])) return !1; return Object.keys(t).length === o; } } return e !== e && t !== t; } n(F, "dequal"); // src/manager-api/lib/events.ts import { logger as rs } from "storybook/internal/client-logger"; // src/manager-api/modules/refs.ts var Ht = {}; L(Ht, { defaultStoryMapper: () => Po, getSourceType: () => zt, init: () => ts }); import { global as bo } from "@storybook/global"; // ../node_modules/ts-dedent/esm/index.js function j(e) { for (var t = [], r = 1; r < arguments.length; r++) t[r - 1] = arguments[r]; var o = Array.from(typeof e == "string" ? [e] : e); o[o.length - 1] = o[o.length - 1].replace(/\r?\n([\t ]*)$/, ""); var s = o.reduce(function(c, u) { var l = u.match(/\n([\t ]+|(?!\s).)/g); return l ? c.concat(l.map(function(p) { var d, f; return (f = (d = p.match(/[\t ]/g)) === null || d === void 0 ? void 0 : d.length) !== null && f !== void 0 ? f : 0; })) : c; }, []); if (s.length) { var i = new RegExp(` [ ]{` + Math.min.apply(Math, s) + "}", "g"); o = o.map(function(c) { return c.replace(i, ` `); }); } o[0] = o[0].replace(/^\r?\n/, ""); var a = o[0]; return t.forEach(function(c, u) { var l = a.match(/(?:^|\n)( *)$/), p = l ? l[1] : "", d = c; typeof c == "string" && c.includes(` `) && (d = String(c).split(` `).map(function(f, y) { return y === 0 ? f : "" + p + f; }).join(` `)), a += d + o[u + 1]; }), a; } n(j, "dedent"); var io = j; // src/manager-api/lib/stories.ts import { sanitize as Hn } from "storybook/internal/csf"; var Vt = Ot(Bt(), 1); // src/manager-api/lib/intersect.ts var uo = /* @__PURE__ */ n((e, t) => !Array.isArray(e) || !Array.isArray(t) || !e.length || !t.length ? [] : e.reduce((r, o) => (t.includes( o) && r.push(o), r), []), "default"); // src/manager-api/lib/stories.ts var qn = /\s*\/\s*/, lo = /* @__PURE__ */ n(({ globalParameters: e, kindParameters: t, stories: r }) => Nt(r, (o) => ({ ...o, parameters: mo( e, t[o.kind], o.parameters ) })), "denormalizeStoryParameters"), po = /* @__PURE__ */ n((e) => ({ v: 5, entries: Object.entries(e).reduce( (r, [o, s]) => { if (!s) return r; let { docsOnly: i, fileName: a, ...c } = s.parameters, u = { title: s.kind, id: o, name: s.name, importPath: a }; if (i) r[o] = { type: "docs", tags: ["stories-mdx"], storiesImports: [], ...u }; else { let { argTypes: l, args: p, initialArgs: d } = s; r[o] = { type: "story", ...u, parameters: c, argTypes: l, args: p, initialArgs: d }; } return r; }, {} ) }), "transformSetStoriesStoryDataToPreparedStoryIndex"), Yn = /* @__PURE__ */ n((e) => ({ v: 3, stories: Object.values(e.stories).reduce( (t, r) => (t[r.id] = { ...r, title: r.kind, name: r.name || r.story, importPath: r.parameters.fileName || "" }, t), {} ) }), "transformStoryIndexV2toV3"), Jn = /* @__PURE__ */ n((e) => { let t = Ct(Object.values(e.stories), (r) => r.title); return { v: 4, entries: Object.values(e.stories).reduce( (r, o) => { let s = "story"; return (o.parameters?.docsOnly || o.name === "Page" && t[o.title] === 1) && (s = "docs"), r[o.id] = { type: s, ...s === "docs" && { tags: ["stories-mdx"], storiesImports: [] }, ...o }, delete r[o.id].story, delete r[o.id].kind, r; }, {} ) }; }, "transformStoryIndexV3toV4"), Xn = /* @__PURE__ */ n((e) => ({ v: 5, entries: Object.values(e.entries).reduce( (t, r) => (t[r.id] = { ...r, tags: r.tags ? ["dev", "test", ...r.tags] : ["dev"] }, t), {} ) }), "transformStoryIndexV4toV5"), ie = /* @__PURE__ */ n((e, { provider: t, docsOptions: r, filters: o, allStatuses: s }) => { if (!e.v) throw new Error("Composition: Missing stories.json version"); let i = e; i = i.v === 2 ? Yn(i) : i, i = i.v === 3 ? Jn(i) : i, i = i.v === 4 ? Xn(i) : i, i = i; let a = Object.values(i.entries).filter((h) => { let g = !0, S = s[h.id] ?? {}; return Object.values(S).some(({ value: P }) => P === "status-value:error") || Object.values(o).forEach((P) => { g !== !1 && (g = P({ ...h, statuses: S })); }), g; }), { sidebar: c = {} } = t.getConfig(), { showRoots: u, collapsedRoots: l = [], renderLabel: p } = c, d = typeof u < "u", f = a.reduce((h, g) => { if (r.docsMode && g.type !== "docs") return h; let { title: S } = g, P = S.trim().split(qn), E = (!d || u) && P.length > 1 ? [P.shift()] : [], v = [...E, ...P], I = v.reduce((_, w, C) => { let x = C > 0 && _[C - 1], he = Hn(x ? `${x}-${w}` : w); if (w.trim() === "") throw new Error(j`Invalid title ${S} ending in slash.`); if (x === he) throw new Error( j` Invalid part '${w}', leading to id === parentId ('${he}'), inside title '${S}' Did you create a path that uses the separator char accidentally, such as 'Vue <docs/>' where '/' is a separator char? See https://github.com/storybookjs/storybook/issues/6128 ` ); return _.push(he), _; }, []); return I.forEach((_, w) => { let C = I[w + 1] || g.id; E.length && w === 0 ? h[_] = K(h[_] || {}, { type: "root", id: _, name: v[w], tags: [], depth: w, renderLabel: p, startCollapsed: l.includes(_), // Note that this will later get appended to the previous list of children (see below) children: [C] }) : (!h[_] || h[_].type === "component") && w === I.length - 1 ? h[_] = K(h[_] || {}, { type: "component", id: _, name: v[w], tags: [], parent: I[w - 1], depth: w, renderLabel: p, ...C && { children: [C] } }) : h[_] = K(h[_] || {}, { type: "group", id: _, name: v[w], tags: [], parent: I[w - 1], depth: w, renderLabel: p, ...C && { children: [C] } }); }), h[g.id] = { type: "story", tags: [], ...g, depth: I.length, parent: I[I.length - 1], renderLabel: p, prepared: !!g.parameters }, h; }, {}); function y(h, g) { return h[g.id] || (h[g.id] = g, (g.type === "root" || g.type === "group" || g.type === "component") && (g.children.forEach((S) => y(h, f[S])), g.tags = g.children.reduce((S, P) => { let E = h[P]; return S === null ? E.tags : uo(S, E.tags); }, null))), h; } n(y, "addItem"); let m = Object.values(f).filter((h) => h.type !== "root" && !h.parent).reduce(y, {}); return Object.values(f).filter((h) => h.type === "root").reduce(y, m); }, "transformStoryIndexToStoriesHash"), Kt = /* @__PURE__ */ n((e, t) => t ? Object.fromEntries( Object.entries(e).map(([r, o]) => { let s = t[r]; return o.type === "story" && s?.type === "story" && s.prepared ? [r, { ...s, ...o, prepared: !0 }] : [r, o]; }) ) : e, "addPreparedStories"), fo = (0, Vt.default)(1)((e) => Object.entries(e).reduce((t, r) => { let o = r[1]; return o.type === "component" && t.push([...o.children]), t; }, [])), yo = (0, Vt.default)(1)((e) => Object.keys(e).filter((t) => ["story", "docs"].includes(e[t].type))); // src/manager-api/modules/refs.ts var { location: Qn, fetch: ho } = bo, zt = /* @__PURE__ */ n((e, t) => { let { origin: r, pathname: o } = Qn, { origin: s, pathname: i } = new URL(e), a = `${r + o}`.replace("/iframe.html", "").replace(/\/$/, ""), c = `${s + i}`.replace("/iframe.html", "").replace(/\/$/, ""); return a === c ? ["local", c] : t || e ? ["external", c] : [null, null]; }, "getSourceType"), Po = /* @__PURE__ */ n((e, t) => ({ ...t, kind: t.kind.replace("|", "/") }), "defaultStoryMapper"), go = /* @__PURE__ */ n( (e, t) => Object.entries(e).reduce((r, [o, s]) => ({ ...r, [o]: { ...s, refId: t.id } }), {}), "addRefIds"); async function So(e) { if (!e) return {}; try { let t = await e; if (t === !1 || t === !0) throw new Error("Unexpected boolean response"); if (!t.ok) throw new Error(`Unexpected response not OK: ${t.statusText}`); let r = await t.json(); return r.entries || r.stories ? { storyIndex: r } : r; } catch (t) { return { indexError: t }; } } n(So, "handleRequest"); var Zn = /* @__PURE__ */ n((e) => { let t = /https?:\/\/(.+:.+)@/, r = e, o, [, s] = e.match(t) || []; return s && (r = e.replace(`${s}@`, ""), o = btoa(`${s}`)), { url: r, authorization: o }; }, "parseUrl"), es = /* @__PURE__ */ n((e, t, r) => { let { storyMapper: o } = r; return o ? Object.entries(e).reduce((s, [i, a]) => ({ ...s, [i]: o(t, a) }), {}) : e; }, "map"), ts = /* @__PURE__ */ n(({ store: e, provider: t, singleStory: r, docsOptions: o = {} }, { runCheck: s = !0 } = {}) => { let i = { findRef: /* @__PURE__ */ n((u) => { let l = i.getRefs(); return Object.values(l).find(({ url: p }) => p.match(u)); }, "findRef"), changeRefVersion: /* @__PURE__ */ n(async (u, l) => { let { versions: p, title: d } = i.getRefs()[u], f = { id: u, url: l, versions: p, title: d, index: {}, filteredIndex: {}, expanded: !0 }; await i.setRef(u, { ...f, type: "unknown" }, !1), await i.checkRef(f); }, "changeRefVersion"), changeRefState: /* @__PURE__ */ n((u, l) => { let { [u]: p, ...d } = i.getRefs(); d[u] = { ...p, previewInitialized: l }, e.setState({ refs: d }); }, "changeRefState"), checkRef: /* @__PURE__ */ n(async (u) => { let { id: l, url: p, version: d, type: f } = u, y = f === "server-checked", m = {}, h = d ? `?version=${d}` : "", g = y ? "omit" : "in\ clude", S = Zn(p), P = { Accept: "application/json" }; S.authorization && Object.assign(P, { Authorization: `Basic ${S.authorization}` }); let [E, v] = await Promise.all( ["index.json", "stories.json"].map( async (_) => So( ho(`${S.url}/${_}${h}`, { headers: P, credentials: g }) ) ) ); if (!E.indexError || !v.indexError) { let _ = await So( ho(`${S.url}/metadata.json${h}`, { headers: P, credentials: g, cache: "no-cache" }).catch(() => !1) ); Object.assign(m, { ...E.indexError ? v : E, ...!_.indexError && _ }); } else y || (m.indexError = { message: j` Error: Loading of ref failed at fetch (lib/api/src/modules/refs.ts) URL: ${S.url} We weren't able to load the above URL, it's possible a CORS error happened. Please check your dev-tools network tab. ` }); let I = u.versions && Object.keys(u.versions).length ? u.versions : m.versions; await i.setRef(l, { id: l, url: S.url, ...m, ...I ? { versions: I } : {}, type: m.storyIndex ? "lazy" : "auto-inject" }); }, "checkRef"), getRefs: /* @__PURE__ */ n(() => { let { refs: u = {} } = e.getState(); return u; }, "getRefs"), setRef: /* @__PURE__ */ n(async (u, { storyIndex: l, setStoriesData: p, ...d }, f = !1) => { if (r) return; let y, m, h, { filters: g } = e.getState(), { storyMapper: S = Po } = t.getConfig(), P = i.getRefs()[u]; (l || p) && (y = p ? po( es(p, P, { storyMapper: S }) ) : l, h = ie(l, { provider: t, docsOptions: o, filters: g, allStatuses: {} }), m = ie(l, { provider: t, docsOptions: o, filters: {}, allStatuses: {} })), m && (m = go(m, P)), h && (h = go(h, P)), await i.updateRef(u, { ...P, ...d, index: m, filteredIndex: h, internal_index: y }); }, "setRef"), updateRef: /* @__PURE__ */ n(async (u, l) => { let { [u]: p, ...d } = i.getRefs(); d[u] = { ...p, ...l }; let f = Object.keys(c).reduce((y, m) => (y[m] = d[m], y), {}); await e.setState({ refs: f }); }, "updateRef") }, a = !r && bo.REFS || {}, c = a; return s && new Promise(async (u) => { for (let l of Object.values(a)) await i.checkRef({ ...l, stories: {} }); u(void 0); }), { api: i, state: { refs: c } }; }, "init"); // src/manager-api/lib/events.ts var k = /* @__PURE__ */ n((e, t) => { let { source: r, refId: o, type: s } = e, [i, a] = zt(r, o), c; (o || i === "external") && (c = o && t.getRefs()[o] ? t.getRefs()[o] : t.findRef(a)); let u = { source: r, sourceType: i, sourceLocation: a, refId: o, ref: c, type: s }; switch (!0) { case typeof o == "string": case i === "local": case i === "external": return u; // if we couldn't find the source, something risky happened, we ignore the input, and log a warning default: return rs.warn(`Received a ${s} frame that was not configured as a ref`), null; } }, "getEventMetadata"); // src/manager-api/modules/globals.ts var as = /* @__PURE__ */ n(({ store: e, fullAPI: t, provider: r }) => { let o = { getGlobals() { return e.getState().globals; }, getUserGlobals() { return e.getState().userGlobals; }, getStoryGlobals() { return e.getState().storyGlobals; }, getGlobalTypes() { return e.getState().globalTypes; }, updateGlobals(a) { r.channel?.emit(ss, { globals: a, options: { target: "storybook-preview-iframe" } }); } }, s = { globals: {}, userGlobals: {}, storyGlobals: {}, globalTypes: {} }, i = /* @__PURE__ */ n(({ globals: a, storyGlobals: c, userGlobals: u }) => { let { globals: l, userGlobals: p, storyGlobals: d } = e.getState(); F(a, l) || e.setState({ globals: a }), F(u, p) || e.setState({ userGlobals: u }), F(c, d) || e.setState({ storyGlobals: c }); }, "updateGlobals"); return r.channel?.on( os, /* @__PURE__ */ n(function({ globals: c, storyGlobals: u, userGlobals: l }) { let { ref: p } = k(this, t); p ? Ao.warn( "received a GLOBALS_UPDATED from a non-local ref. This is not currently supported." ) : i({ globals: c, storyGlobals: u, userGlobals: l }); }, "handleGlobalsUpdated") ), r.channel?.on( ns, /* @__PURE__ */ n(function({ globals: c, globalTypes: u }) { let { ref: l } = k(this, t), p = e.getState()?.globals; l ? Object.keys(c).length > 0 && Ao.warn("received globals from a non-local ref. This is not currently supported.") : e.setState({ globals: c, userGlobals: c, globalTypes: u }), p && Object.keys(p).length !== 0 && !F(c, p) && o.updateGlobals(p); }, "handleSetGlobals") ), { api: o, state: s }; }, "init"); // src/manager-api/modules/layout.ts var dt = {}; L(dt, { ActiveTabs: () => _o, defaultLayoutState: () => U, focusableUIElements: () => Re, init: () => ps }); import { SET_CONFIG as is } from "storybook/internal/core-events"; import { global as cs } from "@storybook/global"; import { create as us } from "storybook/theming/create"; var { document: ls } = cs, Eo = /* @__PURE__ */ n((e) => typeof e == "function", "isFunction"), _o = { SIDEBAR: "sidebar", CANVAS: "canvas", ADDONS: "addons" }, U = { ui: { enableShortcuts: !0 }, layout: { initialActive: _o.CANVAS, showToolbar: !0, navSize: 300, bottomPanelHeight: 300, rightPanelWidth: 400, recentVisibleSizes: { navSize: 300, bottomPanelHeight: 300, rightPanelWidth: 400 }, panelPosition: