storybook
Version:
Storybook: Develop, document, and test UI components in isolation
1,532 lines (1,485 loc) • 165 kB
JavaScript
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: