@pygmalionjs/pygmalion 0.6.4 → 0.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,8 +2,8 @@ var Bh = Object.defineProperty;
2
2
  var Wh = (e, t, n) => t in e ? Bh(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
3
  var yn = (e, t, n) => Wh(e, typeof t != "symbol" ? t + "" : t, n);
4
4
  import { jsx as a, jsxs as g, Fragment as He } from "react/jsx-runtime";
5
- import { R as ci, u as Hh, b as Uh, c as Ta, d as Pd, g as at, f as Vh, m as Ot, e as f, h as _t, r as un, i as As, j as Zn, k as Fa, l as Cn, n as Md, o as Sr, p as qh, q as mr, t as Be, v as Kh, w as Yh, x as Gh, y as Xh, z as Jh, A as Qh, B as Zh, C as ks, D as ep, E as tp, G as np, H as rp, I as op, J as ip, S as sp, K as ap, L as $d, M as cp, O as Rs, P as lp, Q as dp, T as up, U as fp, V as hp, W as Vc, X as qc, Y as Ed, Z as Ad, _ as pp, $ as Kc, a0 as mp, a1 as kd, a2 as gp, a3 as bp, a4 as xp, a5 as yp, a6 as vp, a7 as wp, a8 as Rd, a9 as Sp, aa as Np, ab as Z, ac as Yc, ad as Gc, ae as Ip, af as as, ag as Cp, ah as Yo, ai as Ts, aj as Pp, ak as Td, al as Mp, am as $p, an as Ep, s as Ap, ao as Fd, ap as li, aq as kp, ar as Rp, as as _d, at as Ld, au as Fs, av as zd, aw as Tp, ax as Fp, ay as Xc, az as _p, aA as Lp, aB as Jc, aC as zp, aD as Dp, aE as Op, aF as jp, aG as Bp, aH as Wp, aI as Hp, aJ as Up, aK as Vp, aL as qp, aM as Kp, aN as Yp, a as Gp, aO as Xp, aP as Jp, aQ as Qp, aR as Zp, aS as em, aT as tm, aU as nm, aV as rm, aW as om, aX as im, aY as sm, aZ as am, a_ as cm, a$ as Kr, b0 as Qc, b1 as lm, b2 as dm, b3 as um, b4 as fm, b5 as Zc } from "./FrozenRoutePreview-V9-gxIyv.js";
6
- import { b6 as vS, b7 as wS, b8 as SS, b9 as NS, ba as IS, bb as CS, bc as PS, bd as MS, be as $S, bf as ES, bg as AS, bh as kS, bi as RS, bj as TS, bk as FS, bl as _S, bm as LS } from "./FrozenRoutePreview-V9-gxIyv.js";
5
+ import { R as ci, u as Hh, b as Uh, c as Ta, d as Pd, g as at, f as Vh, m as Ot, e as f, h as _t, r as un, i as As, j as Zn, k as Fa, l as Cn, n as Md, o as Sr, p as qh, q as mr, t as Be, v as Kh, w as Yh, x as Gh, y as Xh, z as Jh, A as Qh, B as Zh, C as ks, D as ep, E as tp, G as np, H as rp, I as op, J as ip, S as sp, K as ap, L as $d, M as cp, O as Rs, P as lp, Q as dp, T as up, U as fp, V as hp, W as Vc, X as qc, Y as Ed, Z as Ad, _ as pp, $ as Kc, a0 as mp, a1 as kd, a2 as gp, a3 as bp, a4 as xp, a5 as yp, a6 as vp, a7 as wp, a8 as Rd, a9 as Sp, aa as Np, ab as Z, ac as Yc, ad as Gc, ae as Ip, af as as, ag as Cp, ah as Yo, ai as Ts, aj as Pp, ak as Td, al as Mp, am as $p, an as Ep, s as Ap, ao as Fd, ap as li, aq as kp, ar as Rp, as as _d, at as Ld, au as Fs, av as zd, aw as Tp, ax as Fp, ay as Xc, az as _p, aA as Lp, aB as Jc, aC as zp, aD as Dp, aE as Op, aF as jp, aG as Bp, aH as Wp, aI as Hp, aJ as Up, aK as Vp, aL as qp, aM as Kp, aN as Yp, a as Gp, aO as Xp, aP as Jp, aQ as Qp, aR as Zp, aS as em, aT as tm, aU as nm, aV as rm, aW as om, aX as im, aY as sm, aZ as am, a_ as cm, a$ as Kr, b0 as Qc, b1 as lm, b2 as dm, b3 as um, b4 as fm, b5 as Zc } from "./FrozenRoutePreview-BVYL3dLT.js";
6
+ import { b6 as wS, b7 as SS, b8 as NS, b9 as IS, ba as CS, bb as PS, bc as MS, bd as $S, be as ES, bf as AS, bg as kS, bh as RS, bi as TS, bj as FS, bk as _S, bl as LS, bm as zS } from "./FrozenRoutePreview-BVYL3dLT.js";
7
7
  import { useRef as Pe, useLayoutEffect as Nr, useSyncExternalStore as Ye, useCallback as $t, useReducer as Dd, useEffect as se, memo as Od, createElement as ho, useState as ee, useMemo as Dt } from "react";
8
8
  import { createPortal as hm } from "react-dom";
9
9
  const _a = {
@@ -572,7 +572,7 @@ function ji(e) {
572
572
  c.has(l) || t.push(`Screenshot asset "${l}" is unreferenced.`);
573
573
  return { valid: t.length === 0, errors: t, bytes: n };
574
574
  }
575
- function j1(e, t) {
575
+ function B1(e, t) {
576
576
  var o;
577
577
  const n = ji(e);
578
578
  if (!n.valid)
@@ -585,7 +585,7 @@ function j1(e, t) {
585
585
  t
586
586
  ) : null;
587
587
  }
588
- function B1(e, t) {
588
+ function W1(e, t) {
589
589
  var s;
590
590
  const n = ji(e);
591
591
  if (!n.valid)
@@ -2496,7 +2496,7 @@ function Qg(e, t) {
2496
2496
  );
2497
2497
  tr.get(e) !== t && (tr.set(e, t), ic());
2498
2498
  }
2499
- function W1() {
2499
+ function H1() {
2500
2500
  tr.size && (tr.clear(), ic());
2501
2501
  }
2502
2502
  function Zg() {
@@ -3108,14 +3108,14 @@ function Vi(e = {}) {
3108
3108
  }
3109
3109
  async function C(T, L) {
3110
3110
  if (e.prepare) return e.prepare(T, L);
3111
- const { getDesignImportController: I } = await import("./FrozenRoutePreview-V9-gxIyv.js").then((F) => F.bo), N = I();
3111
+ const { getDesignImportController: I } = await import("./FrozenRoutePreview-BVYL3dLT.js").then((F) => F.bo), N = I();
3112
3112
  if (!N)
3113
3113
  throw new Error("The design import controller is not available.");
3114
3114
  return N.prepareScreenCapture(T, L);
3115
3115
  }
3116
3116
  async function R(T, L) {
3117
3117
  if (e.settle) return e.settle(T, L);
3118
- const { settleScreen: I } = await import("./FrozenRoutePreview-V9-gxIyv.js").then((N) => N.bn);
3118
+ const { settleScreen: I } = await import("./FrozenRoutePreview-BVYL3dLT.js").then((N) => N.bn);
3119
3119
  return I(T, L);
3120
3120
  }
3121
3121
  async function B(T, L) {
@@ -4175,7 +4175,7 @@ function Ii(e, t, n) {
4175
4175
  }
4176
4176
  );
4177
4177
  }
4178
- function H1({
4178
+ function U1({
4179
4179
  sourceRevision: e,
4180
4180
  recipes: t,
4181
4181
  recipeVersion: n,
@@ -4507,7 +4507,7 @@ function $x(e) {
4507
4507
  t.has(r) && n.add(r), t.add(r);
4508
4508
  return [...n];
4509
4509
  }
4510
- function U1(e, t) {
4510
+ function V1(e, t) {
4511
4511
  var s;
4512
4512
  const n = [], r = new Map(e.map((c) => [c.id, c])), o = /* @__PURE__ */ new Map();
4513
4513
  for (const c of e)
@@ -4582,7 +4582,7 @@ function Ax(e, t) {
4582
4582
  const n = e.split("/"), r = t.split("/");
4583
4583
  return n.length !== r.length ? !1 : n.every((o, i) => o.startsWith(":") || o === "*" ? r[i].length > 0 : o === r[i]);
4584
4584
  }
4585
- function V1(e) {
4585
+ function q1(e) {
4586
4586
  const t = e.declaredScreens.map((o) => o.route).filter((o) => typeof o == "string").map(yl), n = /* @__PURE__ */ new Set(), r = [];
4587
4587
  for (const o of e.routes) {
4588
4588
  const i = o.path ?? o.id;
@@ -6348,9 +6348,22 @@ function Tl(e, t) {
6348
6348
  });
6349
6349
  return { all: n, selected: i };
6350
6350
  }
6351
- function vy(e, t = !1) {
6351
+ function vy(e) {
6352
+ var t;
6352
6353
  try {
6353
- e.pause(), t && (e.currentTime = 0);
6354
+ const n = (t = e.effect) == null ? void 0 : t.getComputedTiming(), r = Number(n == null ? void 0 : n.endTime);
6355
+ if (Number.isFinite(r))
6356
+ return Math.max(0, r);
6357
+ if (r === Number.POSITIVE_INFINITY) return 0;
6358
+ const o = Number(n == null ? void 0 : n.duration), i = (n == null ? void 0 : n.iterations) == null ? 1 : Number(n.iterations), s = Number((n == null ? void 0 : n.delay) ?? 0), c = Number((n == null ? void 0 : n.endDelay) ?? 0), l = s + o * Math.max(0, i) + c;
6359
+ return Number.isFinite(l) ? Math.max(0, l) : 0;
6360
+ } catch {
6361
+ return 0;
6362
+ }
6363
+ }
6364
+ function wy(e) {
6365
+ try {
6366
+ e.pause(), e.currentTime = vy(e);
6354
6367
  } catch {
6355
6368
  }
6356
6369
  }
@@ -6363,7 +6376,7 @@ function Fl(e) {
6363
6376
  }
6364
6377
  return 1e3;
6365
6378
  }
6366
- function wy(e, t, n = yy) {
6379
+ function Sy(e, t, n = yy) {
6367
6380
  var O, J, Se;
6368
6381
  const r = py(t), o = e.shadowRoot ?? e.attachShadow({ mode: "open" });
6369
6382
  (O = Oo.get(o)) == null || O.teardown(), o.replaceChildren();
@@ -6477,7 +6490,7 @@ function wy(e, t, n = yy) {
6477
6490
  );
6478
6491
  const { all: P, selected: k } = Tl(o, Y.target), $ = new Set(k);
6479
6492
  for (const fe of P)
6480
- (Y.mode === "frozen" || !$.has(fe)) && vy(fe, !0);
6493
+ (Y.mode === "frozen" || !$.has(fe)) && wy(fe);
6481
6494
  if (Y.mode !== "frozen") {
6482
6495
  if (ae)
6483
6496
  for (const fe of k)
@@ -6537,7 +6550,7 @@ function wy(e, t, n = yy) {
6537
6550
  return Oo.set(o, F), F;
6538
6551
  }
6539
6552
  const jo = /* @__PURE__ */ new Map();
6540
- async function Sy(e, t) {
6553
+ async function Ny(e, t) {
6541
6554
  const n = at()[t.name];
6542
6555
  if (!n)
6543
6556
  throw new Error(`Component registry entry not found:${t.name}`);
@@ -6560,7 +6573,7 @@ async function Sy(e, t) {
6560
6573
  });
6561
6574
  return jo.set(r, i), i;
6562
6575
  }
6563
- const Ny = Be(function({
6576
+ const Iy = Be(function({
6564
6577
  page: t,
6565
6578
  snapshot: n,
6566
6579
  artifact: r,
@@ -6585,7 +6598,7 @@ const Ny = Be(function({
6585
6598
  let N = null;
6586
6599
  const F = nx(() => {
6587
6600
  try {
6588
- N = wy(I, {
6601
+ N = Sy(I, {
6589
6602
  ...r ? {
6590
6603
  bodyHtml: r.bodyHtml,
6591
6604
  bodyAttributes: r.bodyAttributes,
@@ -6667,7 +6680,7 @@ const Ny = Be(function({
6667
6680
  return J.push(`DOM selector cannot be applied:${P.key}`), [];
6668
6681
  }
6669
6682
  return k.length ? [
6670
- Sy(s, P.component).then(
6683
+ Ny(s, P.component).then(
6671
6684
  ($) => ({ elements: k, markup: $, mutation: P }),
6672
6685
  ($) => (J.push($ instanceof Error ? $.message : String($)), null)
6673
6686
  )
@@ -6775,15 +6788,15 @@ const Ny = Be(function({
6775
6788
  }
6776
6789
  );
6777
6790
  }), Ff = /* @__PURE__ */ new Map(), _f = /* @__PURE__ */ new Set(), ga = /* @__PURE__ */ new Set(), ba = /* @__PURE__ */ new Set();
6778
- function Iy(e) {
6791
+ function Cy(e) {
6779
6792
  return ba.add(e), () => {
6780
6793
  ba.delete(e);
6781
6794
  };
6782
6795
  }
6783
- function Cy() {
6796
+ function Py() {
6784
6797
  for (const e of [...ba]) e();
6785
6798
  }
6786
- async function Py(e, t, n, r) {
6799
+ async function My(e, t, n, r) {
6787
6800
  try {
6788
6801
  const o = await (await fetch(t)).blob(), i = await createImageBitmap(o, {
6789
6802
  resizeWidth: n,
@@ -6793,18 +6806,18 @@ async function Py(e, t, n, r) {
6793
6806
  if (!c) throw new Error("2d context unavailable");
6794
6807
  c.drawImage(i, 0, 0), i.close();
6795
6808
  const l = await s.convertToBlob({ type: "image/png" });
6796
- Ff.set(e, URL.createObjectURL(l)), Cy();
6809
+ Ff.set(e, URL.createObjectURL(l)), Py();
6797
6810
  } catch {
6798
6811
  _f.add(e);
6799
6812
  } finally {
6800
6813
  ga.delete(e);
6801
6814
  }
6802
6815
  }
6803
- function My(e, t, n, r) {
6816
+ function $y(e, t, n, r) {
6804
6817
  const o = Ff.get(e);
6805
- return o || (_f.has(e) || ga.has(e) || typeof OffscreenCanvas > "u" || typeof createImageBitmap > "u" || typeof fetch > "u" || !(n > 0) || !(r > 0) || (ga.add(e), Py(e, t, n, r)), null);
6818
+ return o || (_f.has(e) || ga.has(e) || typeof OffscreenCanvas > "u" || typeof createImageBitmap > "u" || typeof fetch > "u" || !(n > 0) || !(r > 0) || (ga.add(e), My(e, t, n, r)), null);
6806
6819
  }
6807
- function $y(e, t) {
6820
+ function Ey(e, t) {
6808
6821
  const n = $t(
6809
6822
  (o) => La(e, o),
6810
6823
  [e]
@@ -6815,7 +6828,7 @@ function $y(e, t) {
6815
6828
  );
6816
6829
  return t ? "full" : r;
6817
6830
  }
6818
- function Ey(e) {
6831
+ function Ay(e) {
6819
6832
  const t = $t(
6820
6833
  (n) => La(e, n),
6821
6834
  [e]
@@ -6826,16 +6839,16 @@ function Ey(e) {
6826
6839
  () => !1
6827
6840
  );
6828
6841
  }
6829
- const Ay = (e) => {
6830
- const t = Vd(e), n = Iy(e);
6842
+ const ky = (e) => {
6843
+ const t = Vd(e), n = Cy(e);
6831
6844
  return () => {
6832
6845
  t(), n();
6833
6846
  };
6834
6847
  };
6835
- function ky(e, t, n, r) {
6848
+ function Ry(e, t, n, r) {
6836
6849
  return Ye(
6837
- Ay,
6838
- () => t ? Ud() || t.width <= n ? t.dataUrl : My(
6850
+ ky,
6851
+ () => t ? Ud() || t.width <= n ? t.dataUrl : $y(
6839
6852
  e,
6840
6853
  t.dataUrl,
6841
6854
  n,
@@ -6845,15 +6858,15 @@ function ky(e, t, n, r) {
6845
6858
  );
6846
6859
  }
6847
6860
  const _l = "pygmalion:frame-lod-reattach";
6848
- function Ry() {
6861
+ function Ty() {
6849
6862
  if (typeof performance > "u" || typeof performance.mark != "function")
6850
6863
  return !1;
6851
6864
  const e = globalThis.PYGMALION_PROFILE_FRAME_LOD;
6852
6865
  return e != null ? e === !0 : !1;
6853
6866
  }
6854
- function Ty(e, t) {
6867
+ function Fy(e, t) {
6855
6868
  const n = Pe(t), r = Pe(null);
6856
- if (n.current === "detached" && t !== "detached" && r.current == null && Ry()) {
6869
+ if (n.current === "detached" && t !== "detached" && r.current == null && Ty()) {
6857
6870
  const o = `${_l}:${e}:start`;
6858
6871
  r.current = o, performance.mark(o);
6859
6872
  }
@@ -6873,7 +6886,7 @@ function Ty(e, t) {
6873
6886
  }
6874
6887
  }, [t, e]);
6875
6888
  }
6876
- const Fy = Be(function({
6889
+ const _y = Be(function({
6877
6890
  page: t,
6878
6891
  active: n,
6879
6892
  selected: r,
@@ -6933,7 +6946,7 @@ const Fy = Be(function({
6933
6946
  canonicalId: t.importPageId ?? t.id,
6934
6947
  fingerprint: Me,
6935
6948
  batchHydrated: i
6936
- }), { previewIntended: P } = ae, k = s && ae.cacheHydrated, $ = s ? Vn(J) : null, E = s ? Ka(J) : null, ce = t.width ?? 390, ne = (E == null ? void 0 : E.screenshot) ?? null, Ae = ky(
6949
+ }), { previewIntended: P } = ae, k = s && ae.cacheHydrated, $ = s ? Vn(J) : null, E = s ? Ka(J) : null, ce = t.width ?? 390, ne = (E == null ? void 0 : E.screenshot) ?? null, Ae = Ry(
6937
6950
  J,
6938
6951
  ne,
6939
6952
  ce,
@@ -6965,8 +6978,8 @@ const Fy = Be(function({
6965
6978
  }, [t.layersImported, t.id]), se(() => {
6966
6979
  t.layersImported && f.assessLayerImportFidelityForPage(t.id);
6967
6980
  }, [t.layersImported, t.layerImportRevision, t.id]);
6968
- const [Ne, de] = ee(!1), G = n || r || P || Je || Ne, ve = $y(t.id, G), Ee = Ey(t.id);
6969
- Ty(t.id, ve);
6981
+ const [Ne, de] = ee(!1), G = n || r || P || Je || Ne, ve = Ey(t.id, G), Ee = Ay(t.id);
6982
+ Fy(t.id, ve);
6970
6983
  const [U, $e] = ee(null), [ie, he] = ee(0), [V, re] = ee([]), ke = ze ?? (k && !$ ? on(J) : null), De = $ != null || ke != null || (E == null ? void 0 : E.screenshot) != null, ue = n, Ge = s && vu({
6971
6984
  detailActive: ue,
6972
6985
  previewIntended: P
@@ -7773,7 +7786,7 @@ const Fy = Be(function({
7773
7786
  ]
7774
7787
  }
7775
7788
  ) : Tn === "dom" ? /* @__PURE__ */ a(
7776
- Ny,
7789
+ Iy,
7777
7790
  {
7778
7791
  page: t,
7779
7792
  snapshot: ke ?? void 0,
@@ -8023,7 +8036,7 @@ function Gi(e) {
8023
8036
  }))
8024
8037
  };
8025
8038
  }
8026
- function _y(e) {
8039
+ function Ly(e) {
8027
8040
  var r, o;
8028
8041
  const t = [];
8029
8042
  e.id.trim() || t.push("Connection id must not be empty."), e.componentName.trim() || t.push(`Connection "${e.id}" componentName must not be empty.`), e.design.provider.trim() || t.push(`Connection "${e.id}" design provider must not be empty.`), e.design.nodeId.trim() || t.push(`Connection "${e.id}" design nodeId must not be empty.`);
@@ -8061,10 +8074,10 @@ function _y(e) {
8061
8074
  }
8062
8075
  return t;
8063
8076
  }
8064
- function Ly(e) {
8077
+ function zy(e) {
8065
8078
  const t = e.map(Gi), n = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set(), o = [];
8066
8079
  for (const s of t)
8067
- o.push(..._y(s)), n.has(s.id) && o.push(`Connection id "${s.id}" is duplicated.`), r.has(s.componentName) && o.push(
8080
+ o.push(...Ly(s)), n.has(s.id) && o.push(`Connection id "${s.id}" is duplicated.`), r.has(s.componentName) && o.push(
8068
8081
  `Component "${s.componentName}" has more than one design connection.`
8069
8082
  ), n.add(s.id), r.add(s.componentName);
8070
8083
  if (o.length)
@@ -8079,10 +8092,10 @@ ${o.join(`
8079
8092
  Ll = i;
8080
8093
  }
8081
8094
  }
8082
- function q1() {
8095
+ function K1() {
8083
8096
  return [...kr.values()].map(Gi);
8084
8097
  }
8085
- function K1(e) {
8098
+ function Y1(e) {
8086
8099
  const t = kr.get(e);
8087
8100
  return t ? Gi(t) : void 0;
8088
8101
  }
@@ -8142,7 +8155,7 @@ function Lf() {
8142
8155
  )
8143
8156
  );
8144
8157
  }
8145
- function Y1(e, t = {}) {
8158
+ function G1(e, t = {}) {
8146
8159
  const n = kr.get(e);
8147
8160
  if (!n)
8148
8161
  throw new Error(`Unknown component connection "${e}".`);
@@ -8182,7 +8195,7 @@ function Y1(e, t = {}) {
8182
8195
  )
8183
8196
  };
8184
8197
  }
8185
- const zl = (e) => e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;"), zy = (e) => e >= 700 ? "font-bold" : e >= 600 ? "font-semibold" : e >= 500 ? "font-medium" : "font-normal", Dy = /* @__PURE__ */ new Set([
8198
+ const zl = (e) => e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;"), Dy = (e) => e >= 700 ? "font-bold" : e >= 600 ? "font-semibold" : e >= 500 ? "font-medium" : "font-normal", Oy = /* @__PURE__ */ new Set([
8186
8199
  "a",
8187
8200
  "article",
8188
8201
  "aside",
@@ -8207,7 +8220,7 @@ const zl = (e) => e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "
8207
8220
  "textarea",
8208
8221
  "ul",
8209
8222
  "video"
8210
- ]), Oy = /* @__PURE__ */ new Set(["img", "input", "source"]), jy = /* @__PURE__ */ new Set([
8223
+ ]), jy = /* @__PURE__ */ new Set(["img", "input", "source"]), By = /* @__PURE__ */ new Set([
8211
8224
  "autoFocus",
8212
8225
  "checked",
8213
8226
  "disabled",
@@ -8218,21 +8231,21 @@ const zl = (e) => e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "
8218
8231
  "required",
8219
8232
  "selected"
8220
8233
  ]);
8221
- function By(e, t) {
8234
+ function Wy(e, t) {
8222
8235
  return typeof t == "string" ? ` ${e}=${JSON.stringify(t)}` : t === !0 ? ` ${e}` : ` ${e}={${String(t)}}`;
8223
8236
  }
8224
- function Wy(e) {
8237
+ function Hy(e) {
8225
8238
  var n;
8226
8239
  const t = (n = e.domTag) == null ? void 0 : n.trim().toLowerCase();
8227
- return t && Dy.has(t) ? t : "div";
8240
+ return t && Oy.has(t) ? t : "div";
8228
8241
  }
8229
- function Hy(e, t) {
8230
- return jy.has(e) ? t === "false" ? "" : ` ${e}` : ` ${e}=${JSON.stringify(t)}`;
8242
+ function Uy(e, t) {
8243
+ return By.has(e) ? t === "false" ? "" : ` ${e}` : ` ${e}=${JSON.stringify(t)}`;
8231
8244
  }
8232
- function Uy(e) {
8245
+ function Vy(e) {
8233
8246
  return Object.entries(e.domAttributes ?? {}).filter(
8234
8247
  ([t]) => t !== "className" && t !== "style" && !t.startsWith("data-pygmalion-") && /^[A-Za-z_:][A-Za-z0-9_.:-]*$/.test(t)
8235
- ).sort(([t], [n]) => t.localeCompare(n)).map(([t, n]) => Hy(t, n)).join("");
8248
+ ).sort(([t], [n]) => t.localeCompare(n)).map(([t, n]) => Uy(t, n)).join("");
8236
8249
  }
8237
8250
  function va(e, t = 0) {
8238
8251
  if (e.hidden) return "";
@@ -8242,14 +8255,14 @@ function va(e, t = 0) {
8242
8255
  ), e.heightMode === "fixed" ? r.push(`h-[${e.height}px]`) : e.heightMode === "fill" && r.push("grow"), e.opacity < 1 && r.push(`opacity-[${e.opacity}]`), e.radius && r.push(`rounded-[${e.radius}px]`), e.fill && r.push(`bg-[${e.fill}]`), e.type === "text") {
8243
8256
  r.push(
8244
8257
  `text-[${e.fontSize}px]`,
8245
- zy(e.fontWeight),
8258
+ Dy(e.fontWeight),
8246
8259
  `text-[${e.color}]`
8247
8260
  ), e.textAlign !== "left" && r.push(`text-${e.textAlign}`);
8248
8261
  const h = e.domTag === "#text" ? "span" : "p";
8249
8262
  return `${n}<${h} className="${r.join(" ")}">${zl(e.text)}</${h}>`;
8250
8263
  }
8251
8264
  if (e.type === "component") {
8252
- const h = Object.entries(e.componentProps).sort(([b], [x]) => b.localeCompare(x)).map(([b, x]) => By(b, x)).join(""), m = at()[e.componentName];
8265
+ const h = Object.entries(e.componentProps).sort(([b], [x]) => b.localeCompare(x)).map(([b, x]) => Wy(b, x)).join(""), m = at()[e.componentName];
8253
8266
  if ((m == null ? void 0 : m.children) === "nodes") {
8254
8267
  const b = e.children.map((x) => va(x, t + 1)).filter(Boolean);
8255
8268
  return b.length === 0 ? `${n}<${e.componentName}${h} />` : [
@@ -8268,8 +8281,8 @@ function va(e, t = 0) {
8268
8281
  `border-[${e.borderWidth}px]`,
8269
8282
  `border-[${e.borderColor}]`
8270
8283
  );
8271
- const s = e.children.map((h) => va(h, t + 1)).filter(Boolean), c = Object.keys(i).length ? ` style={${JSON.stringify(i)}}` : "", l = Wy(e), d = Uy(e), u = `${n}<${l} className="${r.join(" ")}"${d}${c}`;
8272
- return Oy.has(l) ? `${u} />` : s.length === 0 ? `${u} />` : [`${u}>`, ...s, `${n}</${l}>`].join(`
8284
+ const s = e.children.map((h) => va(h, t + 1)).filter(Boolean), c = Object.keys(i).length ? ` style={${JSON.stringify(i)}}` : "", l = Hy(e), d = Vy(e), u = `${n}<${l} className="${r.join(" ")}"${d}${c}`;
8285
+ return jy.has(l) ? `${u} />` : s.length === 0 ? `${u} />` : [`${u}>`, ...s, `${n}</${l}>`].join(`
8273
8286
  `);
8274
8287
  }
8275
8288
  function Ic(e, t) {
@@ -8304,7 +8317,7 @@ function Ic(e, t) {
8304
8317
 
8305
8318
  ${c}` : c;
8306
8319
  }
8307
- class Vy {
8320
+ class qy {
8308
8321
  constructor() {
8309
8322
  yn(this, "status", "idle");
8310
8323
  yn(this, "pending", 0);
@@ -8318,25 +8331,25 @@ class Vy {
8318
8331
  this.status = t, this.message = n;
8319
8332
  }
8320
8333
  }
8321
- const Ht = new Vy(), Dl = [
8334
+ const Ht = new qy(), Dl = [
8322
8335
  ["Icons", "icons"],
8323
8336
  ["Design Tokens", "design-tokens"],
8324
8337
  ["Atoms", "atoms"],
8325
8338
  ["Components", "components"],
8326
8339
  ["Screens", "screens"]
8327
8340
  ];
8328
- function qy(e) {
8341
+ function Ky(e) {
8329
8342
  var n;
8330
8343
  if (e.importKind && Dl.some(([, r]) => r === e.importKind))
8331
8344
  return e.importKind;
8332
8345
  const t = e.canvas ?? "";
8333
8346
  return ((n = Dl.find(([r]) => t.includes(r))) == null ? void 0 : n[1]) ?? "screens";
8334
8347
  }
8335
- function Ky(e) {
8348
+ function Yy(e) {
8336
8349
  return {
8337
8350
  type: "document",
8338
8351
  id: e.importPageId ?? e.id,
8339
- kind: qy(e),
8352
+ kind: Ky(e),
8340
8353
  name: e.name,
8341
8354
  canvas: e.canvas ?? "default",
8342
8355
  section: e.section,
@@ -8355,7 +8368,7 @@ function Ky(e) {
8355
8368
  };
8356
8369
  }
8357
8370
  function Ol(e) {
8358
- return e.pages.filter((t) => t.importLayers !== !0).map(Ky);
8371
+ return e.pages.filter((t) => t.importLayers !== !0).map(Yy);
8359
8372
  }
8360
8373
  function Ai(e) {
8361
8374
  return `${e.type}:${e.id}`;
@@ -8363,7 +8376,7 @@ function Ai(e) {
8363
8376
  function jl(e) {
8364
8377
  return JSON.stringify(e);
8365
8378
  }
8366
- let En = null, Bo = /* @__PURE__ */ new Map(), ys = /* @__PURE__ */ new Map(), Jn = /* @__PURE__ */ new Map(), Kn = null, Qr = null, Yy = 0;
8379
+ let En = null, Bo = /* @__PURE__ */ new Map(), ys = /* @__PURE__ */ new Map(), Jn = /* @__PURE__ */ new Map(), Kn = null, Qr = null, Gy = 0;
8367
8380
  function Cc() {
8368
8381
  Ht.setPending(Jn.size);
8369
8382
  }
@@ -8391,7 +8404,7 @@ async function Df() {
8391
8404
  Bl(e), Ht.setStatus("idle", "");
8392
8405
  return;
8393
8406
  }
8394
- const n = { revision: ++Yy, changes: e };
8407
+ const n = { revision: ++Gy, changes: e };
8395
8408
  Ht.setStatus("saving", "Saving code…");
8396
8409
  try {
8397
8410
  const r = await t(n);
@@ -8407,7 +8420,7 @@ async function Df() {
8407
8420
  Qr = null;
8408
8421
  }), Qr);
8409
8422
  }
8410
- function Gy(e) {
8423
+ function Xy(e) {
8411
8424
  En == null || En();
8412
8425
  const t = Ol(e);
8413
8426
  return Bo = new Map(t.map((n) => [Ai(n), n])), En = Rd(
@@ -8442,33 +8455,33 @@ function Of(e) {
8442
8455
  t.has(r) || n.push({ operation: "delete", element: o });
8443
8456
  ys = t, n.length && zf(n);
8444
8457
  }
8445
- async function Xy() {
8458
+ async function Jy() {
8446
8459
  Kn && (clearTimeout(Kn), Kn = null), await Df();
8447
8460
  }
8448
8461
  let jf = [], Qn = null;
8449
8462
  const ki = /* @__PURE__ */ new Map();
8450
- function Jy(e) {
8463
+ function Qy(e) {
8451
8464
  jf = e;
8452
8465
  }
8453
8466
  function Bf() {
8454
8467
  return jf;
8455
8468
  }
8456
- function Qy(e) {
8469
+ function Zy(e) {
8457
8470
  Qn = e;
8458
8471
  }
8459
8472
  function Wf() {
8460
8473
  return [...ki.entries()].map(([e, t]) => ({ name: e, value: t }));
8461
8474
  }
8462
- function G1(e, t) {
8475
+ function X1(e, t) {
8463
8476
  ki.set(e, t), document.documentElement.style.setProperty(e, t);
8464
8477
  const n = Wf();
8465
8478
  Qn == null || Qn(n), Of(n);
8466
8479
  }
8467
- function X1() {
8480
+ function J1() {
8468
8481
  for (const e of ki.keys()) document.documentElement.style.removeProperty(e);
8469
8482
  ki.clear(), Qn == null || Qn([]), Of([]);
8470
8483
  }
8471
- const Zy = [
8484
+ const ev = [
8472
8485
  { label: "W", prop: "width" },
8473
8486
  { label: "H", prop: "height" },
8474
8487
  { label: "min W", prop: "min-width" },
@@ -8483,7 +8496,7 @@ const Zy = [
8483
8496
  { label: "color", prop: "color", tokenGroup: "color" },
8484
8497
  { label: "font", prop: "font-size", tokenGroup: "font-size" },
8485
8498
  { label: "weight", prop: "font-weight" }
8486
- ], ev = [
8499
+ ], tv = [
8487
8500
  { label: "display", prop: "display" },
8488
8501
  { label: "direction", prop: "flex-direction" },
8489
8502
  { label: "line break", prop: "flex-wrap" },
@@ -8493,13 +8506,13 @@ const Zy = [
8493
8506
  { label: "padding", prop: "padding", tokenGroup: "spacing" },
8494
8507
  { label: "W", prop: "width" },
8495
8508
  { label: "H", prop: "height" }
8496
- ], tv = {
8509
+ ], nv = {
8497
8510
  color: /-color-/,
8498
8511
  spacing: /-spacing-/,
8499
8512
  radius: /-radius-/,
8500
8513
  "font-size": /-font-size-/
8501
- }, nv = /* @__PURE__ */ new Set(["INPUT", "SELECT", "TEXTAREA", "SVG", "IMG", "VIDEO", "CANVAS"]), rv = 360, ov = 248, iv = "pygmalion:inspect-panel-position";
8502
- function sv(e) {
8514
+ }, rv = /* @__PURE__ */ new Set(["INPUT", "SELECT", "TEXTAREA", "SVG", "IMG", "VIDEO", "CANVAS"]), ov = 360, iv = 248, sv = "pygmalion:inspect-panel-position";
8515
+ function av(e) {
8503
8516
  return [
8504
8517
  ...new Set([
8505
8518
  ...e.styles.map((t) => t.componentFile),
@@ -8511,11 +8524,11 @@ function sv(e) {
8511
8524
  function Wl(e) {
8512
8525
  return e.replaceAll("\\", "/").replace(/[?#].*$/, "").replace(/^\.?\//, "").replace(/\/+/g, "/");
8513
8526
  }
8514
- function av(e, t) {
8527
+ function cv(e, t) {
8515
8528
  const n = Wl(e), r = Wl(t);
8516
8529
  return n === r || n.endsWith(`/${r}`) || r.endsWith(`/${n}`);
8517
8530
  }
8518
- function cv(e) {
8531
+ function lv(e) {
8519
8532
  return e.kind === "prop" ? { prop: e.prop, from: String(e.from), to: String(e.to) } : e.kind === "text" ? { prop: "text", from: e.from, to: e.to } : e.kind === "insert" && e.mode === "component" ? {
8520
8533
  prop: "Inserting components",
8521
8534
  from: `${e.slot}[${e.toIndex}]`,
@@ -8537,9 +8550,9 @@ const Hl = [
8537
8550
  { id: "desktop", label: "≥1200", media: { minWidth: 1200 } }
8538
8551
  ];
8539
8552
  function Hf() {
8540
- return `${iv}:${window.location.pathname}`;
8553
+ return `${sv}:${window.location.pathname}`;
8541
8554
  }
8542
- function lv() {
8555
+ function dv() {
8543
8556
  try {
8544
8557
  const e = window.sessionStorage.getItem(Hf());
8545
8558
  if (!e) return null;
@@ -8556,7 +8569,7 @@ function Ul(e) {
8556
8569
  } catch {
8557
8570
  }
8558
8571
  }
8559
- const dv = [
8572
+ const uv = [
8560
8573
  {
8561
8574
  mode: "wrap",
8562
8575
  label: "line break",
@@ -8631,7 +8644,7 @@ const dv = [
8631
8644
  }
8632
8645
  ];
8633
8646
  function vs(e) {
8634
- return nv.has(e.tagName.toUpperCase()) || e.children.length > 0 ? !1 : (e.textContent ?? "").trim().length > 0;
8647
+ return rv.has(e.tagName.toUpperCase()) || e.children.length > 0 ? !1 : (e.textContent ?? "").trim().length > 0;
8635
8648
  }
8636
8649
  function Uf(e) {
8637
8650
  const t = Pd(e);
@@ -8666,7 +8679,7 @@ function Vl(e) {
8666
8679
  }
8667
8680
  return t;
8668
8681
  }
8669
- function uv(e, t, n) {
8682
+ function fv(e, t, n) {
8670
8683
  if (e === "original") return t;
8671
8684
  if (e === "long") {
8672
8685
  const r = [
@@ -8678,14 +8691,14 @@ function uv(e, t, n) {
8678
8691
  }
8679
8692
  return "This is an extreme case where a very long name and description must fit all on one line without breaking line breaks, shortcuts, button areas, card height, or spacing from the next item.";
8680
8693
  }
8681
- function fv(e, t, n) {
8694
+ function hv(e, t, n) {
8682
8695
  var o;
8683
8696
  return ((o = n == null ? void 0 : n.casePreview) == null ? void 0 : o.text) != null ? n.casePreview.text : t && ["value", "defaultValue"].some((i) => i in t) ? !0 : [e, ...Array.from(e.querySelectorAll("*"))].some((i) => {
8684
8697
  const s = i.tagName.toUpperCase(), c = i.getAttribute("role");
8685
8698
  return ["INPUT", "TEXTAREA", "SELECT", "OUTPUT", "TIME"].includes(s) || i.isContentEditable || i.hasAttribute("data-pyg-dynamic-text") || i.hasAttribute("data-dynamic-content") || i.hasAttribute("data-api-field") || i.hasAttribute("data-field") || i.hasAttribute("aria-live") || ["log", "status", "timer"].includes(c ?? "");
8686
8699
  });
8687
8700
  }
8688
- function hv(e, t, n) {
8701
+ function pv(e, t, n) {
8689
8702
  var s;
8690
8703
  if ((s = n == null ? void 0 : n.casePreview) != null && s.states) return [...n.casePreview.states];
8691
8704
  const r = new Set(Object.keys(t ?? {}).map((c) => c.toLowerCase())), o = [], i = e.getAttribute("role") ?? "";
@@ -8703,7 +8716,7 @@ function eo(e, t, n, r) {
8703
8716
  o ? e.style.setProperty(t, o) : e.style.removeProperty(t);
8704
8717
  }), e.style.setProperty(t, n);
8705
8718
  }
8706
- function pv(e, t) {
8719
+ function mv(e, t) {
8707
8720
  const n = [], r = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map();
8708
8721
  let i = [e];
8709
8722
  if (t.repeat != null) {
@@ -8729,7 +8742,7 @@ function pv(e, t) {
8729
8742
  const u = l.nodeValue ?? "";
8730
8743
  n.push(() => {
8731
8744
  l.nodeValue = u;
8732
- }), l.nodeValue = uv(t.text, u, d);
8745
+ }), l.nodeValue = fv(t.text, u, d);
8733
8746
  }), t.state !== "default" && i.forEach((l) => {
8734
8747
  t.state === "selected" ? (Zr(l, "aria-selected", "true", n), Zr(l, "data-state", "active", n), eo(l, "outline", "2px solid #0d99ff", n), eo(l, "outline-offset", "-2px", n)) : t.state === "disabled" ? ("disabled" in l && Zr(l, "disabled", "", n), Zr(l, "aria-disabled", "true", n), eo(l, "opacity", "0.45", n), eo(l, "pointer-events", "none", n)) : t.state === "loading" && (Zr(l, "aria-busy", "true", n), eo(l, "opacity", "0.62", n), Vl([l]).slice(0, 1).forEach((d) => {
8735
8748
  const u = d.nodeValue ?? "";
@@ -8771,15 +8784,15 @@ function pv(e, t) {
8771
8784
  }
8772
8785
  };
8773
8786
  }
8774
- function mv(e) {
8787
+ function gv(e) {
8775
8788
  return Math.max(1, Math.min(500, Math.round(e)));
8776
8789
  }
8777
- function gv(e) {
8790
+ function bv(e) {
8778
8791
  if (!e) return null;
8779
8792
  const t = e.getPropertyValue("display");
8780
8793
  return t.includes("grid") ? "grid" : t.includes("flex") ? e.getPropertyValue("flex-direction").includes("column") ? "stack" : ["auto", "scroll"].includes(e.getPropertyValue("overflow-x")) ? "scroll" : e.getPropertyValue("flex-wrap") !== "nowrap" ? "wrap" : null : null;
8781
8794
  }
8782
- function bv(e) {
8795
+ function xv(e) {
8783
8796
  if (!e) return null;
8784
8797
  const t = e.style.getPropertyValue("grid-template-columns"), n = /repeat\(\s*(\d+)\s*,/.exec(t);
8785
8798
  return n ? Number(n[1]) : null;
@@ -8802,7 +8815,7 @@ function ql(e) {
8802
8815
  function On(e) {
8803
8816
  return e ? e.minWidth != null && e.maxWidth != null ? `${e.minWidth}–${e.maxWidth}px` : e.minWidth != null ? `${e.minWidth}px or more` : `${e.maxWidth}px or less` : "entire";
8804
8817
  }
8805
- function xv(e, t) {
8818
+ function yv(e, t) {
8806
8819
  const n = [...Array.from(e.querySelectorAll("*"))].reverse();
8807
8820
  n.push(e);
8808
8821
  for (const r of n) {
@@ -8927,13 +8940,13 @@ function Kl({
8927
8940
  affectedFrames: n = []
8928
8941
  }) {
8929
8942
  var jc, Bc, Wc, Hc, Uc;
8930
- const r = Pe(null), [o, i] = ee(null), [s, c] = ee(null), [l, d] = ee(null), [u, h] = ee("cases"), [m, b] = ee(!1), [x, w] = ee(lv), [v, A] = ee(null), [C, R] = ee("original"), [B, q] = ee("default"), [S, D] = ee("item"), [K, T] = ee("base"), [L, I] = ee({ minWidth: 768 }), [N, F] = ee(null), [O, J] = ee(!0), [Se, Y] = ee(!1), [Me, le] = ee(!1), [ae, P] = ee(null), [k, $] = ee(""), [E, ce] = ee(!1), [ne, Ae] = ee(""), [fe, ge] = ee(!1), [ze, Qe] = ee(""), [Je, bt] = ee(null), [_, xe] = ee(""), [oe, we] = ee(""), [W, Ne] = ee(0), [de, G] = Dd((p) => p + 1, 0), ve = Pe(""), Ee = Pe(null), U = Pe(null);
8943
+ const r = Pe(null), [o, i] = ee(null), [s, c] = ee(null), [l, d] = ee(null), [u, h] = ee("cases"), [m, b] = ee(!1), [x, w] = ee(dv), [v, A] = ee(null), [C, R] = ee("original"), [B, q] = ee("default"), [S, D] = ee("item"), [K, T] = ee("base"), [L, I] = ee({ minWidth: 768 }), [N, F] = ee(null), [O, J] = ee(!0), [Se, Y] = ee(!1), [Me, le] = ee(!1), [ae, P] = ee(null), [k, $] = ee(""), [E, ce] = ee(!1), [ne, Ae] = ee(""), [fe, ge] = ee(!1), [ze, Qe] = ee(""), [Je, bt] = ee(null), [_, xe] = ee(""), [oe, we] = ee(""), [W, Ne] = ee(0), [de, G] = Dd((p) => p + 1, 0), ve = Pe(""), Ee = Pe(null), U = Pe(null);
8931
8944
  U.current = s;
8932
8945
  const $e = Pe(null);
8933
8946
  $e.current = l;
8934
8947
  const ie = Pe(n);
8935
8948
  ie.current = n;
8936
- const he = Z.buildApplyPayload(), V = JSON.stringify(he), re = sv(he), ke = JSON.stringify(re);
8949
+ const he = Z.buildApplyPayload(), V = JSON.stringify(he), re = av(he), ke = JSON.stringify(re);
8937
8950
  function De() {
8938
8951
  var p;
8939
8952
  (p = Ee.current) == null || p.cleanup(), Ee.current = null;
@@ -8945,7 +8958,7 @@ function Kl({
8945
8958
  []
8946
8959
  ), We = Dt(() => {
8947
8960
  const p = Bf(), y = {};
8948
- for (const [M, H] of Object.entries(tv))
8961
+ for (const [M, H] of Object.entries(nv))
8949
8962
  y[M] = p.filter((z) => H.test(z.name));
8950
8963
  return y;
8951
8964
  }, []);
@@ -8976,7 +8989,7 @@ function Kl({
8976
8989
  if (y) return;
8977
8990
  const H = [.../* @__PURE__ */ new Set([...re, ...M.files])], z = f.pages.filter(
8978
8991
  (ye) => (ye.sourcePaths ?? []).some(
8979
- (je) => H.some((yt) => av(je, yt))
8992
+ (je) => H.some((yt) => cv(je, yt))
8980
8993
  )
8981
8994
  ).map((ye) => ({ id: Ts(ye), name: ye.name })), me = [
8982
8995
  ...ie.current,
@@ -9002,7 +9015,7 @@ function Kl({
9002
9015
  window.requestAnimationFrame(() => G());
9003
9016
  return;
9004
9017
  }
9005
- return Ee.current = pv(p, { repeat: v, text: C, state: B }), G(), () => De();
9018
+ return Ee.current = mv(p, { repeat: v, text: C, state: B }), G(), () => De();
9006
9019
  }
9007
9020
  }, [s, v, C, B]), se(() => () => De(), []), se(() => {
9008
9021
  const p = [window];
@@ -9143,12 +9156,12 @@ function Kl({
9143
9156
  }
9144
9157
  }, j = s != null && s.isConnected ? s : null, It = o != null && o.isConnected ? o : null, pe = j != null && j.parentElement && j.parentElement !== Te ? j.parentElement : null, Ct = S === "container" && pe ? pe : j, te = j ? ct(j.getBoundingClientRect()) : null, Q = pe ? ct(pe.getBoundingClientRect()) : null, nr = S === "container" && Ct && Ct !== j ? ct(Ct.getBoundingClientRect()) : null, rr = It && It !== j ? ct(It.getBoundingClientRect()) : null, ft = j ? Oe.getComputedStyle(j) : null, Xe = pe ? Oe.getComputedStyle(pe) : null, No = Ct ? Oe.getComputedStyle(Ct) : null, lt = j ? ut(j) : "", dt = j ? jt(j) : null, en = j ? Ip(j) : null, mn = j ? Z.structuralEditKind(j) : null, Fr = j ? Z.hasPendingValueEdit(j) : !1, _r = j ? Z.structuralBlockReason(j, "insert") : "No elements are selected.", $c = j ? Z.structuralBlockReason(j, "remove") : "No elements are selected.", Lr = j ? Z.structuralBlockReason(j, "move") : "No elements are selected.", Tn = j && j.parentElement ? Array.from(j.parentElement.children).indexOf(j) : -1, Ji = ((Wc = j == null ? void 0 : j.parentElement) == null ? void 0 : Wc.children.length) ?? 0, Io = dt ? at()[dt.name] ?? null : null, zr = en && /^[A-Z]/.test(en.elementName) ? (dt == null ? void 0 : dt.name) ?? null : null, Dr = j ? Z.componentInsertBlockReason(j, zr) : "No elements are selected.", Pn = _.trim().toLocaleLowerCase(), Fn = Ue.filter(
9145
9158
  ([p, y]) => !Pn || p.toLocaleLowerCase().includes(Pn) || y.importPath.toLocaleLowerCase().includes(Pn)
9146
- ), xt = Fn.find(([p]) => p === oe) ?? Fn[0] ?? null, X = (xt == null ? void 0 : xt[1]) ?? null, be = xt ? Yc(xt[0]) : null, Fe = (j ? Gc(j) : null) ?? 0, _e = j ? fv(j, (dt == null ? void 0 : dt.props) ?? null, Io) : !1, Re = j ? hv(j, (dt == null ? void 0 : dt.props) ?? null, Io) : [], Ce = j ? Vf(j) : [], Ke = { count: Ce.length }, it = Se && j && It && It !== j ? [j, It] : null, tn = Z.entries, Bt = Object.entries((dt == null ? void 0 : dt.primitiveProps) ?? {}), nn = he, At = tn.reduce((p, y) => {
9159
+ ), xt = Fn.find(([p]) => p === oe) ?? Fn[0] ?? null, X = (xt == null ? void 0 : xt[1]) ?? null, be = xt ? Yc(xt[0]) : null, Fe = (j ? Gc(j) : null) ?? 0, _e = j ? hv(j, (dt == null ? void 0 : dt.props) ?? null, Io) : !1, Re = j ? pv(j, (dt == null ? void 0 : dt.props) ?? null, Io) : [], Ce = j ? Vf(j) : [], Ke = { count: Ce.length }, it = Se && j && It && It !== j ? [j, It] : null, tn = Z.entries, Bt = Object.entries((dt == null ? void 0 : dt.primitiveProps) ?? {}), nn = he, At = tn.reduce((p, y) => {
9147
9160
  const M = p.find((H) => H.el === y.el);
9148
9161
  return M ? (M.label = y.label, M.items.push(y)) : p.push({ id: y.id, el: y.el, label: y.label, items: [y] }), p;
9149
9162
  }, []), ht = nn.styles.length + nn.texts.length + nn.operations.length, gn = Yo() != null, Or = gn && k !== V, Qi = At.filter(
9150
9163
  (p) => p.items.some((y) => !as(y))
9151
- ).length, jr = v != null || C !== "original" || B !== "default", _n = jr && j ? xv(j, Oe) : null, et = gv(Xe), or = et != null, kt = bv(pe), bn = K === "custom" ? L.minWidth != null || L.maxWidth != null ? {
9164
+ ).length, jr = v != null || C !== "original" || B !== "default", _n = jr && j ? yv(j, Oe) : null, et = bv(Xe), or = et != null, kt = xv(pe), bn = K === "custom" ? L.minWidth != null || L.maxWidth != null ? {
9152
9165
  ...L.minWidth != null ? { minWidth: Math.max(0, Math.round(L.minWidth)) } : {},
9153
9166
  ...L.maxWidth != null ? { maxWidth: Math.max(0, Math.round(L.maxWidth)) } : {}
9154
9167
  } : null : ((Hc = Hl.find((p) => p.id === K)) == null ? void 0 : Hc.media) ?? null, Zi = Ce.filter((p) => p.isConnected && Oe.getComputedStyle(p).getPropertyValue("display") !== "none").map((p, y) => ({ el: p, index: y, rect: ct(p.getBoundingClientRect()) })).filter(({ rect: p }) => p.width > 0 && p.height > 0), es = Zi.slice().sort((p, y) => p.rect.top - y.rect.top || p.rect.left - y.rect.left).reduce((p, y) => {
@@ -9204,7 +9217,7 @@ function Kl({
9204
9217
  v != null ? `${v} items` : null,
9205
9218
  C === "long" ? "long text" : C === "extreme" ? "extreme text" : null,
9206
9219
  B === "selected" ? "selection status" : B === "disabled" ? "inactive" : B === "loading" ? "loading status" : null
9207
- ].filter(Boolean), Mo = (p) => A(p == null ? null : mv(p)), zn = (p, y, M) => {
9220
+ ].filter(Boolean), Mo = (p) => A(p == null ? null : gv(p)), zn = (p, y, M) => {
9208
9221
  M ? p.style.setProperty(y, M) : p.style.removeProperty(y);
9209
9222
  }, $o = (p, y, M, H) => {
9210
9223
  if (p.button !== 0) return;
@@ -9238,7 +9251,7 @@ function Kl({
9238
9251
  ), (M = Ee.current) == null || M.mirrorStyle(j, p, y));
9239
9252
  }, os = (p) => {
9240
9253
  if (!pe) return;
9241
- const y = dv.find((M) => M.mode === p);
9254
+ const y = uv.find((M) => M.mode === p);
9242
9255
  if (y) {
9243
9256
  for (const [M, H] of Object.entries(y.declarations)) tt(M, H);
9244
9257
  if (j)
@@ -9363,7 +9376,7 @@ function Kl({
9363
9376
  ie.current
9364
9377
  ), (H = Ee.current) == null || H.mirrorStyle(y, z, me);
9365
9378
  Z.toast(p === "wrap" ? "Change to multi-line content" : "Change to one line abbreviation");
9366
- }, Vr = m ? ov : rv, zh = u === "cases" && Q && Q.left + Q.width > window.innerWidth - Vr - 32 || te && te.left + te.width / 2 > window.innerWidth / 2 ? 16 : Math.max(16, window.innerWidth - Vr - 16), Dh = ue ? 54 : 64, Dc = Math.max(8, Math.min((x == null ? void 0 : x.x) ?? zh, window.innerWidth - Vr - 8)), Oc = Math.max(8, Math.min((x == null ? void 0 : x.y) ?? Dh, window.innerHeight - 80)), Oh = (p) => {
9379
+ }, Vr = m ? iv : ov, zh = u === "cases" && Q && Q.left + Q.width > window.innerWidth - Vr - 32 || te && te.left + te.width / 2 > window.innerWidth / 2 ? 16 : Math.max(16, window.innerWidth - Vr - 16), Dh = ue ? 54 : 64, Dc = Math.max(8, Math.min((x == null ? void 0 : x.x) ?? zh, window.innerWidth - Vr - 8)), Oc = Math.max(8, Math.min((x == null ? void 0 : x.y) ?? Dh, window.innerHeight - 80)), Oh = (p) => {
9367
9380
  if (p.button !== 0) return;
9368
9381
  p.preventDefault();
9369
9382
  const y = { x: p.clientX, y: p.clientY, left: Dc, top: Oc };
@@ -10771,7 +10784,7 @@ function Kl({
10771
10784
  {
10772
10785
  title: "Styles",
10773
10786
  action: jr ? /* @__PURE__ */ a("button", { type: "button", className: "text-[10px] font-semibold text-[#0d99ff]", onClick: () => h("cases"), children: "Back to cases" }) : void 0,
10774
- children: /* @__PURE__ */ a("div", { className: "flex flex-col gap-1.5", children: (S === "container" ? ev : Zy).map(({ label: p, prop: y, tokenGroup: M }) => {
10787
+ children: /* @__PURE__ */ a("div", { className: "flex flex-col gap-1.5", children: (S === "container" ? tv : ev).map(({ label: p, prop: y, tokenGroup: M }) => {
10775
10788
  const H = M ? We[M] : [];
10776
10789
  return /* @__PURE__ */ g("label", { className: "grid grid-cols-[56px_minmax(0,1fr)_82px] items-center gap-1.5 text-[10px] text-[#71717a]", children: [
10777
10790
  /* @__PURE__ */ a("span", { className: "shrink-0", children: p }),
@@ -11167,7 +11180,7 @@ function Kl({
11167
11180
  ] })
11168
11181
  ] }, `${p.componentFile}-${p.oldText}`)),
11169
11182
  nn.operations.map((p) => {
11170
- const y = cv(p), M = p.scope === "instance" ? "This screen" : "Shared source", H = p.affectedFrames.length > 0 ? p.affectedFrames.map((z) => z.name).join(", ") : "current element";
11183
+ const y = lv(p), M = p.scope === "instance" ? "This screen" : "Shared source", H = p.affectedFrames.length > 0 ? p.affectedFrames.map((z) => z.name).join(", ") : "current element";
11171
11184
  return /* @__PURE__ */ g(
11172
11185
  "div",
11173
11186
  {
@@ -11318,7 +11331,7 @@ function Yl() {
11318
11331
  )
11319
11332
  ] });
11320
11333
  }
11321
- const yv = Be(function({ onClose: t }) {
11334
+ const vv = Be(function({ onClose: t }) {
11322
11335
  const n = Ye(Fa, Cn, Cn), r = f.activePage, o = Pe(null), i = Pe(null), [s, c] = ee(!1);
11323
11336
  if (se(() => Z.reset(), []), r.route != null) {
11324
11337
  const l = () => {
@@ -11482,10 +11495,10 @@ function Xl(e, t) {
11482
11495
  }
11483
11496
  return null;
11484
11497
  }
11485
- function vv(e, t) {
11498
+ function wv(e, t) {
11486
11499
  return t == null ? { action: "clear" } : t === e ? { action: "idle" } : { action: "restart", frameId: t };
11487
11500
  }
11488
- function wv(e, t) {
11501
+ function Sv(e, t) {
11489
11502
  return !(e && t === "select");
11490
11503
  }
11491
11504
  const Vo = 1;
@@ -11493,7 +11506,7 @@ function qf(e, t, n) {
11493
11506
  const r = t < 0 ? e.scrollLeft > Vo : t > 0 ? e.scrollLeft + e.clientWidth < e.scrollWidth - Vo : !1, o = n < 0 ? e.scrollTop > Vo : n > 0 ? e.scrollTop + e.clientHeight < e.scrollHeight - Vo : !1;
11494
11507
  return r || o;
11495
11508
  }
11496
- function Sv(e) {
11509
+ function Nv(e) {
11497
11510
  var n;
11498
11511
  const t = (n = e.ownerDocument.defaultView) == null ? void 0 : n.getComputedStyle(e);
11499
11512
  return t ? [t.overflow, t.overflowX, t.overflowY].some(
@@ -11507,7 +11520,7 @@ function Kf(e) {
11507
11520
  return t && e instanceof t ? e : null;
11508
11521
  }
11509
11522
  function Yf(e, t, n) {
11510
- return Sv(e) && qf(e, t, n);
11523
+ return Nv(e) && qf(e, t, n);
11511
11524
  }
11512
11525
  function Gf(e, t, n, r) {
11513
11526
  let o = e;
@@ -11520,13 +11533,13 @@ function Gf(e, t, n, r) {
11520
11533
  }
11521
11534
  return null;
11522
11535
  }
11523
- function Nv(e) {
11536
+ function Iv(e) {
11524
11537
  for (const t of e.composedPath())
11525
11538
  if (t instanceof HTMLElement && t.dataset.pygmalionFrameScrollSurface === "true")
11526
11539
  return t;
11527
11540
  return null;
11528
11541
  }
11529
- function Iv(e, t) {
11542
+ function Cv(e, t) {
11530
11543
  for (const n of e.composedPath())
11531
11544
  if (n instanceof HTMLElement) {
11532
11545
  if (Yf(n, e.deltaX, e.deltaY))
@@ -11535,7 +11548,7 @@ function Iv(e, t) {
11535
11548
  }
11536
11549
  return null;
11537
11550
  }
11538
- function Cv(e, t) {
11551
+ function Pv(e, t) {
11539
11552
  const n = e.getBoundingClientRect();
11540
11553
  if (t.clientX < n.left || t.clientX > n.right || t.clientY < n.top || t.clientY > n.bottom)
11541
11554
  return !1;
@@ -11555,7 +11568,7 @@ function Cv(e, t) {
11555
11568
  const c = r.scrollingElement, l = Kf(c);
11556
11569
  return l && qf(l, t.deltaX, t.deltaY) ? (o.scrollBy({ left: t.deltaX, top: t.deltaY }), !0) : !1;
11557
11570
  }
11558
- function Pv(e, t) {
11571
+ function Mv(e, t) {
11559
11572
  const n = e.elementFromPoint(t.clientX, t.clientY), r = Gf(
11560
11573
  n,
11561
11574
  e.host,
@@ -11564,20 +11577,20 @@ function Pv(e, t) {
11564
11577
  );
11565
11578
  return r ? (r.scrollBy({ left: t.deltaX, top: t.deltaY }), !0) : !1;
11566
11579
  }
11567
- function Mv(e) {
11580
+ function $v(e) {
11568
11581
  if (e.ctrlKey || e.metaKey) return "canvas";
11569
- const t = Nv(e);
11582
+ const t = Iv(e);
11570
11583
  if (!t) return "canvas";
11571
- if (Iv(e, t)) return "native-preview";
11584
+ if (Cv(e, t)) return "native-preview";
11572
11585
  for (const n of t.querySelectorAll("iframe"))
11573
- if (Cv(n, e))
11586
+ if (Pv(n, e))
11574
11587
  return "programmatic-preview";
11575
11588
  for (const n of t.querySelectorAll("*"))
11576
- if (n.shadowRoot && Pv(n.shadowRoot, e))
11589
+ if (n.shadowRoot && Mv(n.shadowRoot, e))
11577
11590
  return "programmatic-preview";
11578
11591
  return "canvas";
11579
11592
  }
11580
- function $v(e) {
11593
+ function Ev(e) {
11581
11594
  return {
11582
11595
  capturedFrames: e.frames.length,
11583
11596
  failedFrames: e.failures.length,
@@ -11593,12 +11606,12 @@ function $v(e) {
11593
11606
  )
11594
11607
  };
11595
11608
  }
11596
- function Ev(e) {
11609
+ function Av(e) {
11597
11610
  if (!e.after) return "Baseline capture complete";
11598
11611
  const t = [];
11599
11612
  return e.domChanged && t.push("DOM"), e.screenshotChanged && t.push("Pixel"), e.pixelDiff && t.push(`${(e.pixelDiff.diffRatio * 100).toFixed(2)}%`), t.length > 0 ? t.join(" · ") : "No change";
11600
11613
  }
11601
- function Av(e) {
11614
+ function kv(e) {
11602
11615
  return e.operations.length + e.texts.length + e.styles.reduce(
11603
11616
  (t, n) => t + Object.keys(n.declarations).length,
11604
11617
  0
@@ -11623,7 +11636,7 @@ function Jl({
11623
11636
  qa: e,
11624
11637
  title: t
11625
11638
  }) {
11626
- const n = $v(e);
11639
+ const n = Ev(e);
11627
11640
  return /* @__PURE__ */ g(
11628
11641
  "section",
11629
11642
  {
@@ -11655,7 +11668,7 @@ function Jl({
11655
11668
  children: [
11656
11669
  /* @__PURE__ */ g("div", { className: "flex items-center gap-2", children: [
11657
11670
  /* @__PURE__ */ a("code", { className: "min-w-0 flex-1 truncate text-[#444]", children: r.id }),
11658
- /* @__PURE__ */ a("span", { className: "shrink-0 text-[#777]", children: Ev(r) })
11671
+ /* @__PURE__ */ a("span", { className: "shrink-0 text-[#777]", children: Av(r) })
11659
11672
  ] }),
11660
11673
  /* @__PURE__ */ g("div", { className: "mt-1 flex flex-wrap gap-2", children: [
11661
11674
  /* @__PURE__ */ a(Ns, { href: r.before.screenshotUrl, label: "Before change" }),
@@ -11684,10 +11697,10 @@ function Jl({
11684
11697
  }
11685
11698
  );
11686
11699
  }
11687
- const kv = Be(function() {
11700
+ const Rv = Be(function() {
11688
11701
  const [t, n] = ee(null), [r, o] = ee(""), [i, s] = ee(null), [c, l] = ee(null);
11689
11702
  if (!f.applyOpen) return null;
11690
- const d = f.getPendingSourceChanges(), u = JSON.stringify(d.payload), h = Av(d.payload), m = (i == null ? void 0 : i.fingerprint) === u && i.journalRevision === d.revision, b = Wf(), x = $p(), w = f.pages.filter(
11703
+ const d = f.getPendingSourceChanges(), u = JSON.stringify(d.payload), h = kv(d.payload), m = (i == null ? void 0 : i.fingerprint) === u && i.journalRevision === d.revision, b = Wf(), x = $p(), w = f.pages.filter(
11691
11704
  (S) => S.route == null && S.importLayers !== !0 && S.publish !== !1 && (!x || (S.canvas ?? "default") === x || // Per-section screen canvases stay part of the host's screen flow.
11692
11705
  (S.canvas ?? "default").startsWith(`${x} · `))
11693
11706
  ).map((S) => ({
@@ -11746,7 +11759,7 @@ const kv = Be(function() {
11746
11759
  if (v) {
11747
11760
  n("publish"), o("");
11748
11761
  try {
11749
- await Xy();
11762
+ await Jy();
11750
11763
  const S = await v({ tokens: b, pages: w });
11751
11764
  o(S != null && S.branch ? `Draft screens saved · ${S.branch}` : "Draft screens saved");
11752
11765
  } catch (S) {
@@ -11929,21 +11942,21 @@ const kv = Be(function() {
11929
11942
  ] });
11930
11943
  });
11931
11944
  let Na = "auto";
11932
- function Rv(e) {
11945
+ function Tv(e) {
11933
11946
  Na = e ?? "auto";
11934
11947
  }
11935
- function Tv(e) {
11948
+ function Fv(e) {
11936
11949
  return Na !== "auto" ? Na : e ? "worker-first" : "browser-first";
11937
11950
  }
11938
- const Fv = 6, _v = 2, Lv = 1;
11951
+ const _v = 6, Lv = 2, zv = 1;
11939
11952
  function Ql(e, t) {
11940
11953
  const n = [];
11941
11954
  for (let r = 0; r < e.length; r += t)
11942
11955
  n.push(e.slice(r, r + t));
11943
11956
  return n;
11944
11957
  }
11945
- function zv(e, t) {
11946
- const n = Math.max(1, t.chunkSize ?? Fv), r = /* @__PURE__ */ new Set(), o = [], i = /* @__PURE__ */ new Map();
11958
+ function Dv(e, t) {
11959
+ const n = Math.max(1, t.chunkSize ?? _v), r = /* @__PURE__ */ new Set(), o = [], i = /* @__PURE__ */ new Map();
11947
11960
  for (const c of e) {
11948
11961
  const l = `${c.canonicalId}\0${c.fingerprint}`;
11949
11962
  if (r.has(l)) continue;
@@ -11964,7 +11977,7 @@ function zv(e, t) {
11964
11977
  )
11965
11978
  };
11966
11979
  }
11967
- const Dv = Object.freeze([5e3, 1e4, 2e4, 4e4]), Ia = /* @__PURE__ */ new Set();
11980
+ const Ov = Object.freeze([5e3, 1e4, 2e4, 4e4]), Ia = /* @__PURE__ */ new Set();
11968
11981
  let Ca = {
11969
11982
  phase: "idle",
11970
11983
  pending: 0,
@@ -11975,24 +11988,24 @@ let Ca = {
11975
11988
  function Zl() {
11976
11989
  return Ca;
11977
11990
  }
11978
- function Ov(e) {
11991
+ function jv(e) {
11979
11992
  return Ia.add(e), () => Ia.delete(e);
11980
11993
  }
11981
- function jv(e) {
11994
+ function Bv(e) {
11982
11995
  const t = Ca;
11983
11996
  if (!(t.phase === e.phase && t.pending === e.pending && t.completed === e.completed && t.released === e.released && t.inFlight === e.inFlight)) {
11984
11997
  Ca = e;
11985
11998
  for (const n of Ia) n();
11986
11999
  }
11987
12000
  }
11988
- function Bv(e, t = {}) {
12001
+ function Wv(e, t = {}) {
11989
12002
  const n = Math.max(
11990
12003
  1,
11991
- t.activeInFlight ?? _v
12004
+ t.activeInFlight ?? Lv
11992
12005
  ), r = Math.max(
11993
12006
  1,
11994
- t.backgroundInFlight ?? Lv
11995
- ), o = e.notPreparedRetryMs ?? Dv, i = e.setTimeout ?? ((S, D) => setTimeout(S, D)), s = e.clearTimeout ?? ((S) => clearTimeout(S));
12007
+ t.backgroundInFlight ?? zv
12008
+ ), o = e.notPreparedRetryMs ?? Ov, i = e.setTimeout ?? ((S, D) => setTimeout(S, D)), s = e.clearTimeout ?? ((S) => clearTimeout(S));
11996
12009
  let c = 0, l = [], d = [], u = 0, h = 0, m = 0, b = 0, x = "idle";
11997
12010
  const w = /* @__PURE__ */ new Set(), v = () => ({
11998
12011
  phase: x,
@@ -12000,7 +12013,7 @@ function Bv(e, t = {}) {
12000
12013
  completed: m,
12001
12014
  released: b,
12002
12015
  inFlight: u + h
12003
- }), A = () => jv(v());
12016
+ }), A = () => Bv(v());
12004
12017
  function C() {
12005
12018
  l.length === 0 && d.length === 0 && u === 0 && h === 0 && w.size === 0 && (x = m === 0 ? "idle" : "done"), A();
12006
12019
  }
@@ -12083,7 +12096,7 @@ function Bv(e, t = {}) {
12083
12096
  }
12084
12097
  };
12085
12098
  }
12086
- const Wv = "/progress", Hv = /* @__PURE__ */ new Set([
12099
+ const Hv = "/progress", Uv = /* @__PURE__ */ new Set([
12087
12100
  "queued",
12088
12101
  "preparing",
12089
12102
  "capturing",
@@ -12106,10 +12119,10 @@ const Ri = /* @__PURE__ */ new Set();
12106
12119
  function ed() {
12107
12120
  return wn;
12108
12121
  }
12109
- function Uv(e) {
12122
+ function Vv(e) {
12110
12123
  return Ri.add(e), () => Ri.delete(e);
12111
12124
  }
12112
- function Vv(e) {
12125
+ function qv(e) {
12113
12126
  const t = Number(e.completed), n = Number(e.total), r = Number(e.jobCount);
12114
12127
  if (typeof e.active != "boolean" || !Number.isInteger(t) || !Number.isInteger(n) || !Number.isInteger(r) || t < 0 || n < 0 || r < 0 || t > n)
12115
12128
  throw new TypeError("Preview capture catalog progress is invalid.");
@@ -12125,22 +12138,22 @@ function Vv(e) {
12125
12138
  for (const i of Ri) i();
12126
12139
  }
12127
12140
  }
12128
- function qv() {
12141
+ function Kv() {
12129
12142
  if (wn !== Pa) {
12130
12143
  wn = Pa;
12131
12144
  for (const e of Ri) e();
12132
12145
  }
12133
12146
  }
12134
- function Kv(e) {
12135
- return `${e.replace(/\/$/, "")}${Wv}`;
12136
- }
12137
12147
  function Yv(e) {
12148
+ return `${e.replace(/\/$/, "")}${Hv}`;
12149
+ }
12150
+ function Gv(e) {
12138
12151
  if (!e || typeof e != "object" || Array.isArray(e)) return null;
12139
12152
  const t = e;
12140
12153
  if (typeof t.active != "boolean" || typeof t.phase != "string")
12141
12154
  return null;
12142
12155
  const n = Number(t.completed), r = Number(t.total), o = Number(t.jobCount);
12143
- return !Number.isInteger(n) || !Number.isInteger(r) || !Number.isInteger(o) || n < 0 || r < 0 || o < 0 || n > r ? null : t.active ? o === 0 || !Hv.has(t.phase) ? null : {
12156
+ return !Number.isInteger(n) || !Number.isInteger(r) || !Number.isInteger(o) || n < 0 || r < 0 || o < 0 || n > r ? null : t.active ? o === 0 || !Uv.has(t.phase) ? null : {
12144
12157
  active: !0,
12145
12158
  phase: t.phase,
12146
12159
  completed: n,
@@ -12152,10 +12165,10 @@ function Yv(e) {
12152
12165
  ...typeof t.updatedAt == "number" && Number.isFinite(t.updatedAt) ? { updatedAt: t.updatedAt } : {}
12153
12166
  } : t.phase === "idle" && n === 0 && r === 0 && o === 0 ? si : null;
12154
12167
  }
12155
- function Gv(e, t) {
12168
+ function Xv(e, t) {
12156
12169
  return e.active === t.active && e.phase === t.phase && e.completed === t.completed && e.total === t.total && e.jobCount === t.jobCount && e.jobId === t.jobId && e.frameId === t.frameId && e.captureStatus === t.captureStatus && e.updatedAt === t.updatedAt;
12157
12170
  }
12158
- function Xv(e, t, n) {
12171
+ function Jv(e, t, n) {
12159
12172
  if (!(t.total > 0 && (t.active || e.active && t.completed < t.total)))
12160
12173
  return { progress: e, state: null };
12161
12174
  if (!e.active)
@@ -12191,11 +12204,11 @@ function Xv(e, t, n) {
12191
12204
  state: i
12192
12205
  };
12193
12206
  }
12194
- function J1(e) {
12207
+ function Q1(e) {
12195
12208
  const [t, n] = ee(
12196
12209
  si
12197
12210
  ), r = Ye(
12198
- Uv,
12211
+ Vv,
12199
12212
  ed,
12200
12213
  ed
12201
12214
  ), o = Pe(null);
@@ -12206,7 +12219,7 @@ function J1(e) {
12206
12219
  return;
12207
12220
  }
12208
12221
  let c = !1, l = null, d = null;
12209
- const u = Kv(s), h = (b) => {
12222
+ const u = Yv(s), h = (b) => {
12210
12223
  if (c) return;
12211
12224
  const x = typeof document < "u" && document.hidden;
12212
12225
  l = setTimeout(m, x ? 2e3 : b ? 350 : 1e3);
@@ -12221,11 +12234,11 @@ function J1(e) {
12221
12234
  signal: d.signal
12222
12235
  });
12223
12236
  if (!b.ok) throw new Error(`Capture progress returned ${b.status}.`);
12224
- const x = await b.json(), w = Yv(x.progress);
12237
+ const x = await b.json(), w = Gv(x.progress);
12225
12238
  if (!w) throw new Error("Capture progress response is invalid.");
12226
12239
  if (c) return;
12227
12240
  n(
12228
- (v) => Gv(v, w) ? v : w
12241
+ (v) => Xv(v, w) ? v : w
12229
12242
  ), h(w.active);
12230
12243
  } catch {
12231
12244
  if (c) return;
@@ -12236,14 +12249,14 @@ function J1(e) {
12236
12249
  c = !0, l && clearTimeout(l), d == null || d.abort();
12237
12250
  };
12238
12251
  }, [e]);
12239
- const i = Xv(
12252
+ const i = Jv(
12240
12253
  t,
12241
12254
  r,
12242
12255
  o.current
12243
12256
  );
12244
12257
  return o.current = i.state, i.progress;
12245
12258
  }
12246
- function Jv({
12259
+ function Qv({
12247
12260
  previewIdentityReady: e,
12248
12261
  previewCacheHydrated: t,
12249
12262
  previewCacheKeys: n
@@ -12262,12 +12275,12 @@ function Jv({
12262
12275
  Ks,
12263
12276
  Ks
12264
12277
  ), o = Ye(
12265
- Ov,
12278
+ jv,
12266
12279
  Zl,
12267
12280
  Zl
12268
12281
  ), i = e ? n.filter((l) => er(l)).length : 0, s = e ? n.filter((l) => yo(l)).length : 0, c = t && s === n.length;
12269
12282
  return Nr(() => {
12270
- Vv({
12283
+ qv({
12271
12284
  active: o.phase === "running",
12272
12285
  completed: s,
12273
12286
  total: n.length,
@@ -12281,7 +12294,7 @@ function Jv({
12281
12294
  o.phase
12282
12295
  ]), Nr(
12283
12296
  () => () => {
12284
- qv();
12297
+ Kv();
12285
12298
  },
12286
12299
  []
12287
12300
  ), /* @__PURE__ */ a(
@@ -12303,7 +12316,7 @@ function Jv({
12303
12316
  }
12304
12317
  );
12305
12318
  }
12306
- const Qv = "pygmalion.design-ir", Zv = 1, ew = {
12319
+ const Zv = "pygmalion.design-ir", ew = 1, tw = {
12307
12320
  previewNodeLimit: 1200,
12308
12321
  maxNodes: 1e4,
12309
12322
  maxDepth: 64,
@@ -12317,13 +12330,13 @@ function Xf(e) {
12317
12330
  Xf(t);
12318
12331
  return e;
12319
12332
  }
12320
- function tw(e) {
12333
+ function nw(e) {
12321
12334
  return new TextEncoder().encode(e).byteLength;
12322
12335
  }
12323
- function nw(e) {
12336
+ function rw(e) {
12324
12337
  return e.startsWith("data:") ? "embedded" : e.startsWith("blob:") ? "ephemeral" : /^https?:\/\//i.test(e) ? "remote" : "project";
12325
12338
  }
12326
- function rw(e) {
12339
+ function ow(e) {
12327
12340
  const t = [], n = e.domTag.toLowerCase(), r = e.domAttributes.src;
12328
12341
  r && ["img", "picture", "source"].includes(n) ? t.push({ kind: "image", source: r }) : r && n === "video" && t.push({ kind: "video", source: r });
12329
12342
  const o = e.domAttributes.poster;
@@ -12345,7 +12358,7 @@ function Ti(e) {
12345
12358
  e.message
12346
12359
  ].join("\0");
12347
12360
  }
12348
- function ow(e) {
12361
+ function iw(e) {
12349
12362
  const t = at(), n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), o = [];
12350
12363
  let i = 0, s = 0, c = 0;
12351
12364
  const l = (m, b, x) => {
@@ -12383,10 +12396,10 @@ function ow(e) {
12383
12396
  nodeId: m.id,
12384
12397
  nodePath: x
12385
12398
  });
12386
- for (const v of rw(m)) {
12399
+ for (const v of ow(m)) {
12387
12400
  const A = `${v.kind}\0${v.source}`, C = r.get(A) ?? {
12388
12401
  ...v,
12389
- portability: nw(v.source),
12402
+ portability: rw(v.source),
12390
12403
  nodeIds: /* @__PURE__ */ new Set()
12391
12404
  };
12392
12405
  C.nodeIds.add(m.id), r.set(A, C), C.portability === "ephemeral" && o.push({
@@ -12463,8 +12476,8 @@ function ow(e) {
12463
12476
  )
12464
12477
  };
12465
12478
  }
12466
- function iw(e) {
12467
- const t = { ...ew, ...e };
12479
+ function sw(e) {
12480
+ const t = { ...tw, ...e };
12468
12481
  for (const [n, r] of Object.entries(t))
12469
12482
  if (!Number.isFinite(r) || r <= 0)
12470
12483
  throw new Error(`Design compile limit "${n}" must be positive.`);
@@ -12474,14 +12487,14 @@ function iw(e) {
12474
12487
  );
12475
12488
  return t;
12476
12489
  }
12477
- function Q1(e, t) {
12490
+ function Z1(e, t) {
12478
12491
  return Jf(e, t).document;
12479
12492
  }
12480
12493
  function Jf(e, t) {
12481
- const n = Ap(e), r = ow(n);
12494
+ const n = Ap(e), r = iw(n);
12482
12495
  return { document: Xf({
12483
- schema: Qv,
12484
- version: Zv,
12496
+ schema: Zv,
12497
+ version: ew,
12485
12498
  root: n,
12486
12499
  ...t ? { frame: { ...t } } : {},
12487
12500
  components: r.components,
@@ -12489,7 +12502,7 @@ function Jf(e, t) {
12489
12502
  metrics: r.metrics
12490
12503
  }), diagnostics: r.diagnostics };
12491
12504
  }
12492
- function sw(e) {
12505
+ function aw(e) {
12493
12506
  const t = e.id.trim();
12494
12507
  if (!t || !e.label.trim() || !e.language.trim())
12495
12508
  throw new Error("Design codegen adapters require an id, label, and language.");
@@ -12500,13 +12513,13 @@ function sw(e) {
12500
12513
  qn.get(t) === r && (n ? qn.set(t, n) : qn.delete(t));
12501
12514
  };
12502
12515
  }
12503
- function aw() {
12516
+ function cw() {
12504
12517
  return [...qn.values()].sort(
12505
12518
  (e, t) => e.label.localeCompare(t.label)
12506
12519
  );
12507
12520
  }
12508
- function cw(e, t = {}) {
12509
- const n = t.target ?? "jsx-tailwind", r = t.purpose ?? "export", o = iw(t.limits), i = Jf(
12521
+ function lw(e, t = {}) {
12522
+ const n = t.target ?? "jsx-tailwind", r = t.purpose ?? "export", o = sw(t.limits), i = Jf(
12510
12523
  e,
12511
12524
  t.frame
12512
12525
  ), { document: s } = i, c = [...i.diagnostics], l = qn.get(n);
@@ -12576,7 +12589,7 @@ function cw(e, t = {}) {
12576
12589
  message: m instanceof Error ? m.message : "The target generator failed."
12577
12590
  });
12578
12591
  }
12579
- const u = tw(d);
12592
+ const u = nw(d);
12580
12593
  u > o.maxOutputBytes && (c.push({
12581
12594
  severity: "error",
12582
12595
  stage: "resource",
@@ -12600,14 +12613,14 @@ function cw(e, t = {}) {
12600
12613
  metrics: { ...s.metrics, outputBytes: h === "ready" ? u : 0 }
12601
12614
  };
12602
12615
  }
12603
- sw({
12616
+ aw({
12604
12617
  id: "jsx-tailwind",
12605
12618
  label: "JSX + Tailwind",
12606
12619
  language: "jsx",
12607
12620
  extension: ".jsx",
12608
12621
  generate: ({ document: e }) => Ic(e.root, e.frame)
12609
12622
  });
12610
- function lw(e) {
12623
+ function dw(e) {
12611
12624
  const t = /* @__PURE__ */ new Map();
12612
12625
  for (const n of e) {
12613
12626
  const r = [
@@ -12620,17 +12633,17 @@ function lw(e) {
12620
12633
  }
12621
12634
  return [...t.values()];
12622
12635
  }
12623
- const dw = Be(function() {
12636
+ const uw = Be(function() {
12624
12637
  var h;
12625
12638
  const [t, n] = ee("jsx-tailwind"), [r, o] = ee(!1);
12626
12639
  if (!f.codeOpen) return null;
12627
- const i = aw(), s = i.some((m) => m.id === t) ? t : ((h = i[0]) == null ? void 0 : h.id) ?? t, c = cw(f.root, {
12640
+ const i = cw(), s = i.some((m) => m.id === t) ? t : ((h = i[0]) == null ? void 0 : h.id) ?? t, c = lw(f.root, {
12628
12641
  target: s,
12629
12642
  purpose: "interactive",
12630
12643
  force: r
12631
12644
  }), l = c.document.components.filter(
12632
12645
  (m) => m.connectionId
12633
- ).length, d = lw(c.diagnostics), u = d.slice(0, 4);
12646
+ ).length, d = dw(c.diagnostics), u = d.slice(0, 4);
12634
12647
  return /* @__PURE__ */ g("div", { className: "flex h-2/5 min-h-[180px] flex-none flex-col border-t border-[#e6e6e6] bg-[#1e1e1e]", children: [
12635
12648
  /* @__PURE__ */ g("div", { className: "flex items-center gap-2 px-3 py-1.5 text-[11px] text-neutral-400", children: [
12636
12649
  /* @__PURE__ */ a(
@@ -12709,7 +12722,7 @@ const dw = Be(function() {
12709
12722
  )
12710
12723
  ] }) : c.status === "blocked" ? /* @__PURE__ */ a("div", { className: "flex min-h-0 flex-1 items-center justify-center px-6 text-center text-[11px] text-red-300", children: "Resolve the compiler errors before generating code." }) : /* @__PURE__ */ a("pre", { className: "min-h-0 flex-1 overflow-auto px-3 pb-3 text-[11px] leading-relaxed text-emerald-300", children: c.code })
12711
12724
  ] });
12712
- }), uw = Be(function() {
12725
+ }), fw = Be(function() {
12713
12726
  var l;
12714
12727
  const t = f.ctxMenu;
12715
12728
  if (!t) return null;
@@ -12784,13 +12797,13 @@ const dw = Be(function() {
12784
12797
  )
12785
12798
  ] });
12786
12799
  });
12787
- function fw(e, t) {
12800
+ function hw(e, t) {
12788
12801
  const n = ` · ${t}`, r = e.indexOf(n);
12789
12802
  if (r < 0) return e;
12790
12803
  const o = e.slice(r + n.length);
12791
12804
  return o.startsWith(" · ") ? o.slice(3) : t;
12792
12805
  }
12793
- function hw(e, t, n = () => !0, r = () => !0) {
12806
+ function pw(e, t, n = () => !0, r = () => !0) {
12794
12807
  const o = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Set();
12795
12808
  for (const h of e) {
12796
12809
  const m = h.canvas ?? "default";
@@ -12805,7 +12818,7 @@ function hw(e, t, n = () => !0, r = () => !0) {
12805
12818
  l.push({ canvas: h, label: h, frames: m, declared: b });
12806
12819
  continue;
12807
12820
  }
12808
- const w = { canvas: h, label: fw(h, x), frames: m, declared: b }, v = u.get(x);
12821
+ const w = { canvas: h, label: hw(h, x), frames: m, declared: b }, v = u.get(x);
12809
12822
  if (v === void 0) {
12810
12823
  u.set(x, d.length), d.push({ section: x, canvases: [w], frames: m, declared: b, single: !0 });
12811
12824
  continue;
@@ -12835,18 +12848,18 @@ function xo() {
12835
12848
  function Qf(e) {
12836
12849
  return $a.add(e), () => $a.delete(e);
12837
12850
  }
12838
- const pw = "data-pygmalion-source", mw = "/__pygmalion-storyboard/source-usage", gw = 4e3;
12851
+ const mw = "data-pygmalion-source", gw = "/__pygmalion-storyboard/source-usage", bw = 4e3;
12839
12852
  function Pc(e) {
12840
12853
  if (!e) return null;
12841
12854
  const t = e.replaceAll("\\", "/").trim();
12842
12855
  return !t || t.startsWith("/") || t.includes("\0") || t.split("/").includes("..") || t.length > 1200 ? null : t;
12843
12856
  }
12844
- function bw(e) {
12857
+ function xw(e) {
12845
12858
  if (!e) return null;
12846
12859
  const t = e.lastIndexOf("#");
12847
12860
  return t <= 0 ? null : Pc(e.slice(0, t));
12848
12861
  }
12849
- function xw(e) {
12862
+ function yw(e) {
12850
12863
  if (!e) return null;
12851
12864
  const t = e.indexOf("|");
12852
12865
  return Pc(t > 0 ? e.slice(0, t) : e);
@@ -12856,12 +12869,12 @@ function Ea(e) {
12856
12869
  let r = 0;
12857
12870
  const o = (i) => {
12858
12871
  var l;
12859
- if (!i || r >= gw) return;
12872
+ if (!i || r >= bw) return;
12860
12873
  r += 1, i.componentName && n.add(i.componentName);
12861
- const s = bw(i.sourceStyle);
12874
+ const s = xw(i.sourceStyle);
12862
12875
  s && t.add(s);
12863
- const c = xw(
12864
- (l = i.domAttributes) == null ? void 0 : l[pw]
12876
+ const c = yw(
12877
+ (l = i.domAttributes) == null ? void 0 : l[mw]
12865
12878
  );
12866
12879
  c && t.add(c);
12867
12880
  for (const d of i.children ?? []) o(d);
@@ -12871,13 +12884,13 @@ function Ea(e) {
12871
12884
  componentNames: [...n].sort()
12872
12885
  };
12873
12886
  }
12874
- function yw(e) {
12887
+ function vw(e) {
12875
12888
  if (!e) return;
12876
12889
  if (e.componentName) return e.componentName;
12877
12890
  const { componentNames: t } = Ea(e);
12878
12891
  return t.length === 1 ? t[0] : void 0;
12879
12892
  }
12880
- function vw(e) {
12893
+ function ww(e) {
12881
12894
  const t = e.slice(e.lastIndexOf("/") + 1), n = t.indexOf(".");
12882
12895
  return n === -1 ? t : t.slice(0, n);
12883
12896
  }
@@ -12887,7 +12900,7 @@ function Zf(e) {
12887
12900
  const i = [...new Set(o.map(Pc).filter(Boolean))].sort();
12888
12901
  if (i.length !== 0) {
12889
12902
  if (t) {
12890
- const s = i.find((c) => vw(c) === t);
12903
+ const s = i.find((c) => ww(c) === t);
12891
12904
  if (s) return s;
12892
12905
  }
12893
12906
  return i[0];
@@ -12895,7 +12908,7 @@ function Zf(e) {
12895
12908
  };
12896
12909
  return n(e.declaredFiles ?? []) ?? n(e.sourceFiles);
12897
12910
  }
12898
- function ww(e) {
12911
+ function Sw(e) {
12899
12912
  var s;
12900
12913
  const t = e.usageByFile ?? {}, n = e.usageRequested ?? !1, r = new Map(
12901
12914
  e.consumers.map((c) => [c.frameId, c])
@@ -12933,7 +12946,7 @@ function ww(e) {
12933
12946
  unplacedFrameIds: i.sort()
12934
12947
  };
12935
12948
  }
12936
- function Sw(e = []) {
12949
+ function Nw(e = []) {
12937
12950
  return {
12938
12951
  frames: [],
12939
12952
  canonicalGroups: [],
@@ -12962,7 +12975,7 @@ function Sw(e = []) {
12962
12975
  })).sort((t, n) => t.frameId.localeCompare(n.frameId))
12963
12976
  };
12964
12977
  }
12965
- function Nw(e) {
12978
+ function Iw(e) {
12966
12979
  const t = /* @__PURE__ */ new Set([
12967
12980
  ...e.startFrameIds,
12968
12981
  ...e.branchFrameIds
@@ -13155,7 +13168,7 @@ function eh(e, t) {
13155
13168
  return (F = l.get(N.nodeId)) == null ? void 0 : F.frameId;
13156
13169
  }
13157
13170
  )
13158
- ), L = Nw({
13171
+ ), L = Iw({
13159
13172
  frames: B,
13160
13173
  canonicalGroups: q,
13161
13174
  sharedSources: S,
@@ -13200,7 +13213,7 @@ function th(e) {
13200
13213
  }
13201
13214
  return n;
13202
13215
  }
13203
- function Iw(e) {
13216
+ function Cw(e) {
13204
13217
  const t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Set(), r = (o) => {
13205
13218
  const i = t.get(o);
13206
13219
  if (i) return { path: i, cyclic: !1 };
@@ -13217,9 +13230,9 @@ function Iw(e) {
13217
13230
  };
13218
13231
  return (o) => r(o).path;
13219
13232
  }
13220
- function Cw(e) {
13233
+ function Pw(e) {
13221
13234
  if (e.frames.length === 0) return td;
13222
- const t = th(e), n = Iw(t), r = e.startFrameIds.length ? e.startFrameIds : e.frames.filter((d) => d.incomingTransitions.length === 0).map((d) => d.frameId);
13235
+ const t = th(e), n = Cw(t), r = e.startFrameIds.length ? e.startFrameIds : e.frames.filter((d) => d.incomingTransitions.length === 0).map((d) => d.frameId);
13223
13236
  let o = [];
13224
13237
  for (const d of r) {
13225
13238
  const u = n(d);
@@ -13238,10 +13251,10 @@ function Cw(e) {
13238
13251
  const l = e.frames.map((d) => d.frameId).filter((d) => !i.has(d) && !c.has(d));
13239
13252
  return { spine: o, detours: s, detourParent: c, offJourney: l };
13240
13253
  }
13241
- function Pw(e, t) {
13254
+ function Mw(e, t) {
13242
13255
  return t ? e.spine.includes(t) ? t : e.detourParent.get(t) ?? null : null;
13243
13256
  }
13244
- function Mw(e) {
13257
+ function $w(e) {
13245
13258
  const t = th(e);
13246
13259
  return e.frames.filter((n) => (t.get(n.frameId) ?? []).length === 0);
13247
13260
  }
@@ -13280,7 +13293,7 @@ function pr({
13280
13293
  }
13281
13294
  );
13282
13295
  }
13283
- const $w = {
13296
+ const Ew = {
13284
13297
  observed: "Frames observed rendering this piece",
13285
13298
  direct: "Files that name this piece; barrels are followed through",
13286
13299
  transitive: "Nothing names it directly. This is the dependency closure, which a barrel inflates — not a usage count.",
@@ -13288,10 +13301,10 @@ const $w = {
13288
13301
  unused: "The source scan found nothing that uses it",
13289
13302
  "not-traced": "No source file to trace, or no scan available"
13290
13303
  };
13291
- function Ew(e) {
13304
+ function Aw(e) {
13292
13305
  return e.evidence === "observed" ? `${e.usedByFrames.length} frames` : e.evidence === "direct" ? `${e.usedByFiles.length} files` : e.evidence === "transitive" ? `${e.transitiveCount ?? 0} indirect` : e.evidence === "pending" ? "checking…" : e.evidence === "unused" ? "unused" : "not traced";
13293
13306
  }
13294
- function Aw({
13307
+ function kw({
13295
13308
  children: e,
13296
13309
  count: t
13297
13310
  }) {
@@ -13323,19 +13336,19 @@ function Yn({
13323
13336
  children: "›"
13324
13337
  }
13325
13338
  ),
13326
- /* @__PURE__ */ a("span", { className: "min-w-0 flex-1", children: /* @__PURE__ */ a(Aw, { count: t, children: e }) })
13339
+ /* @__PURE__ */ a("span", { className: "min-w-0 flex-1", children: /* @__PURE__ */ a(kw, { count: t, children: e }) })
13327
13340
  ]
13328
13341
  }
13329
13342
  ),
13330
13343
  o ? /* @__PURE__ */ a("div", { className: "mt-0.5 flex flex-col gap-0.5", children: r }) : null
13331
13344
  ] });
13332
13345
  }
13333
- function kw({
13346
+ function Rw({
13334
13347
  model: e,
13335
13348
  frameById: t,
13336
13349
  onSelectFrame: n
13337
13350
  }) {
13338
- const r = Mw(e), o = f.canvasPages.filter((l) => l.route != null), i = o.filter((l) => {
13351
+ const r = $w(e), o = f.canvasPages.filter((l) => l.route != null), i = o.filter((l) => {
13339
13352
  var d;
13340
13353
  return !((d = l.scenarioIds) != null && d.length);
13341
13354
  }), s = o.flatMap((l) => {
@@ -13393,14 +13406,14 @@ function kw({
13393
13406
  )
13394
13407
  ] });
13395
13408
  }
13396
- function Rw({
13409
+ function Tw({
13397
13410
  model: e,
13398
13411
  onSelectFrame: t,
13399
13412
  activeFrameId: n,
13400
13413
  composition: r = null,
13401
13414
  frameNameById: o
13402
13415
  }) {
13403
- const i = new Map(e.frames.map((x) => [x.frameId, x])), s = Dt(() => Cw(e), [e]), c = Pw(s, n), [l, d] = ee({}), u = e.frames.filter((x) => x.warnings.length), h = (r == null ? void 0 : r.entries) ?? [], m = (r == null ? void 0 : r.unplacedFrameIds) ?? [];
13416
+ const i = new Map(e.frames.map((x) => [x.frameId, x])), s = Dt(() => Pw(e), [e]), c = Mw(s, n), [l, d] = ee({}), u = e.frames.filter((x) => x.warnings.length), h = (r == null ? void 0 : r.entries) ?? [], m = (r == null ? void 0 : r.unplacedFrameIds) ?? [];
13404
13417
  return e.startFrameIds.length > 0 || e.branchFrameIds.length > 0 || e.canonicalGroups.length > 0 || e.sharedSources.length > 0 || e.warnings.length > 0 || e.unplacedFrames.length > 0 || h.length > 0 || m.length > 0 ? (
13405
13418
  // The height belongs to the panel that stacks the regions, so this one
13406
13419
  // fills what it is given rather than capping itself.
@@ -13508,7 +13521,7 @@ function Rw({
13508
13521
  ) : null,
13509
13522
  /* @__PURE__ */ g("div", { className: "mt-2 flex flex-col gap-2", children: [
13510
13523
  /* @__PURE__ */ a(
13511
- kw,
13524
+ Rw,
13512
13525
  {
13513
13526
  model: e,
13514
13527
  frameById: i,
@@ -13541,8 +13554,8 @@ function Rw({
13541
13554
  "span",
13542
13555
  {
13543
13556
  className: "shrink-0 text-[9px] text-[#999]",
13544
- title: $w[x.evidence],
13545
- children: Ew(x)
13557
+ title: Ew[x.evidence],
13558
+ children: Aw(x)
13546
13559
  }
13547
13560
  )
13548
13561
  ] }),
@@ -13630,10 +13643,10 @@ function Rw({
13630
13643
  )
13631
13644
  ) : null;
13632
13645
  }
13633
- function Tw({ type: e }) {
13646
+ function Fw({ type: e }) {
13634
13647
  return /* @__PURE__ */ a("span", { className: `shrink-0 ${e === "component" ? "text-[#9747ff]" : "text-[#999]"}`, children: e === "text" ? /* @__PURE__ */ a(yf, { size: 10 }) : e === "columns" ? /* @__PURE__ */ a(bc, { size: 10 }) : e === "component" ? /* @__PURE__ */ a($i, { size: 10 }) : /* @__PURE__ */ a(Pi, { size: 10 }) });
13635
13648
  }
13636
- const Fw = Od(function e({ node: t, depth: n }) {
13649
+ const _w = Od(function e({ node: t, depth: n }) {
13637
13650
  return mf(() => {
13638
13651
  const r = f.isSelected(t.id), o = f.collapsed.has(t.id), i = t.children.length > 0, s = f.renamingId === t.id, c = t.type === "text" ? t.text : t.name, l = (d) => {
13639
13652
  const u = d.trim();
@@ -13670,7 +13683,7 @@ const Fw = Od(function e({ node: t, depth: n }) {
13670
13683
  children: /* @__PURE__ */ a(ri, { open: !o })
13671
13684
  }
13672
13685
  ),
13673
- /* @__PURE__ */ a(Tw, { type: t.type }),
13686
+ /* @__PURE__ */ a(Fw, { type: t.type }),
13674
13687
  s ? /* @__PURE__ */ a(
13675
13688
  "input",
13676
13689
  {
@@ -13730,7 +13743,7 @@ const Fw = Od(function e({ node: t, depth: n }) {
13730
13743
  ] });
13731
13744
  });
13732
13745
  });
13733
- function _w({
13746
+ function Lw({
13734
13747
  id: e,
13735
13748
  name: t,
13736
13749
  active: n,
@@ -13776,7 +13789,7 @@ function nd() {
13776
13789
  return {};
13777
13790
  }
13778
13791
  }
13779
- function Lw(e, t) {
13792
+ function zw(e, t) {
13780
13793
  const [n, r] = ee(() => {
13781
13794
  const i = nd()[e];
13782
13795
  return typeof i == "number" && Number.isFinite(i) ? i : t;
@@ -13792,7 +13805,7 @@ function Lw(e, t) {
13792
13805
  }
13793
13806
  }];
13794
13807
  }
13795
- function zw({
13808
+ function Dw({
13796
13809
  label: e,
13797
13810
  height: t,
13798
13811
  onResize: n,
@@ -13847,7 +13860,7 @@ const Is = Be(function({
13847
13860
  ]
13848
13861
  }
13849
13862
  );
13850
- }), Dw = Be(function() {
13863
+ }), Ow = Be(function() {
13851
13864
  const t = Ye(
13852
13865
  Fd,
13853
13866
  li,
@@ -13874,7 +13887,7 @@ const Is = Be(function({
13874
13887
  );
13875
13888
  }) })
13876
13889
  ] });
13877
- }), Ow = Be(function({
13890
+ }), jw = Be(function({
13878
13891
  view: t = "story",
13879
13892
  onFrameFocus: n = (o) => f.selectFrame(o),
13880
13893
  storyboardReady: r = !0
@@ -13884,7 +13897,7 @@ const Is = Be(function({
13884
13897
  li,
13885
13898
  li
13886
13899
  );
13887
- const [o, i] = Lw("frames", 176), [s, c] = ee({}), l = hw(
13900
+ const [o, i] = zw("frames", 176), [s, c] = ee({}), l = pw(
13888
13901
  f.pages,
13889
13902
  f.canvasNames,
13890
13903
  (I) => f.isScreenStateShown(I),
@@ -13902,10 +13915,10 @@ const Is = Be(function({
13902
13915
  ), w = new Set(x.map((I) => I.id)), v = [
13903
13916
  ...x.map(b),
13904
13917
  ...m ? [] : h.filter((I) => !w.has(I.id)).map(b)
13905
- ], A = r ? u ? eh(u, v) : Sw(v) : null, C = h.map((I) => ({
13918
+ ], A = r ? u ? eh(u, v) : Nw(v) : null, C = h.map((I) => ({
13906
13919
  frameId: I.id,
13907
13920
  name: I.name,
13908
- componentName: yw(I.root),
13921
+ componentName: vw(I.root),
13909
13922
  declaredFiles: I.sourcePaths ?? [],
13910
13923
  ...Ea(I.root)
13911
13924
  })), [R, B] = ee({}), [q, S] = ee(!1), K = (m ? [...new Set(C.map(Zf).filter(Boolean))].sort() : []).join(",");
@@ -13915,7 +13928,7 @@ const Is = Be(function({
13915
13928
  return S(!0), (async () => {
13916
13929
  try {
13917
13930
  const N = await fetch(
13918
- `${mw}?files=${encodeURIComponent(K)}`
13931
+ `${gw}?files=${encodeURIComponent(K)}`
13919
13932
  );
13920
13933
  if (I || !N.ok) return;
13921
13934
  const F = await N.json();
@@ -13928,7 +13941,7 @@ const Is = Be(function({
13928
13941
  I = !0;
13929
13942
  };
13930
13943
  }, [K]);
13931
- const T = m ? ww({
13944
+ const T = m ? Sw({
13932
13945
  usageByFile: R,
13933
13946
  usageRequested: q,
13934
13947
  catalog: C,
@@ -13941,7 +13954,7 @@ const Is = Be(function({
13941
13954
  f.pages.map((I) => [I.id, I.name])
13942
13955
  );
13943
13956
  return /* @__PURE__ */ g("div", { className: "flex min-h-0 flex-1 flex-col", children: [
13944
- /* @__PURE__ */ a(Dw, {}),
13957
+ /* @__PURE__ */ a(Ow, {}),
13945
13958
  t === "story" && /* @__PURE__ */ g(He, { children: [
13946
13959
  /* @__PURE__ */ g("div", { className: "shrink-0 border-b border-[#e6e6e6] px-3 py-2.5", children: [
13947
13960
  /* @__PURE__ */ a("div", { className: "text-[11px] font-semibold text-[#333]", children: "Pages" }),
@@ -14016,7 +14029,7 @@ const Is = Be(function({
14016
14029
  }) })
14017
14030
  ] }),
14018
14031
  A && /* @__PURE__ */ a("div", { className: "min-h-0 flex-1", children: /* @__PURE__ */ a(
14019
- Rw,
14032
+ Tw,
14020
14033
  {
14021
14034
  model: A,
14022
14035
  onSelectFrame: n,
@@ -14038,7 +14051,7 @@ const Is = Be(function({
14038
14051
  /* @__PURE__ */ a("span", { className: "h-px flex-1 bg-[#e6e6e6]" })
14039
14052
  ] }),
14040
14053
  /* @__PURE__ */ a(
14041
- _w,
14054
+ Lw,
14042
14055
  {
14043
14056
  id: I.id,
14044
14057
  name: I.name,
@@ -14051,7 +14064,7 @@ const Is = Be(function({
14051
14064
  }) })
14052
14065
  ] }),
14053
14066
  /* @__PURE__ */ a(
14054
- zw,
14067
+ Dw,
14055
14068
  {
14056
14069
  label: "Frames height",
14057
14070
  height: o,
@@ -14059,7 +14072,7 @@ const Is = Be(function({
14059
14072
  }
14060
14073
  ),
14061
14074
  /* @__PURE__ */ a("div", { className: "px-3 pb-1 pt-1 text-[11px] font-semibold text-[#333]", children: "Layers" }),
14062
- /* @__PURE__ */ a("div", { className: "min-h-0 flex-1 overflow-auto pb-2", children: /* @__PURE__ */ a(Fw, { node: f.root, depth: 0 }) })
14075
+ /* @__PURE__ */ a("div", { className: "min-h-0 flex-1 overflow-auto pb-2", children: /* @__PURE__ */ a(_w, { node: f.root, depth: 0 }) })
14063
14076
  ] })
14064
14077
  ] });
14065
14078
  });
@@ -14071,7 +14084,7 @@ function rd(e, t, n) {
14071
14084
  );
14072
14085
  return Math.round(e);
14073
14086
  }
14074
- function jw(e) {
14087
+ function Bw(e) {
14075
14088
  ih = e.map((t) => {
14076
14089
  const n = String(t.label ?? "").trim();
14077
14090
  if (!n) throw new Error("Viewport preset is missing a label.");
@@ -14086,16 +14099,16 @@ function jw(e) {
14086
14099
  function sh() {
14087
14100
  return ih;
14088
14101
  }
14089
- function Bw(e, t) {
14102
+ function Ww(e, t) {
14090
14103
  return Math.round(t.width) !== e.width ? !1 : e.height == null || Math.round(t.height) === e.height;
14091
14104
  }
14092
- function Ww(e, t) {
14105
+ function Hw(e, t) {
14093
14106
  return Object.entries((t == null ? void 0 : t.props) ?? {}).filter(
14094
14107
  ([n, r]) => Object.hasOwn(e.sourceProps, n) && r.some((o) => typeof o == typeof e.sourceProps[n])
14095
14108
  ).map(([n]) => n);
14096
14109
  }
14097
- const Hw = 10;
14098
- function Z1(e, t) {
14110
+ const Uw = 10;
14111
+ function eS(e, t) {
14099
14112
  var c, l;
14100
14113
  const n = [], r = new Set(t.scenarios.map((d) => d.id)), o = new Map(t.screens.map((d) => [d.id, d])), i = /* @__PURE__ */ new Map();
14101
14114
  for (const d of t.screens)
@@ -14111,7 +14124,7 @@ function Z1(e, t) {
14111
14124
  continue;
14112
14125
  }
14113
14126
  if (d.kind === "behavior" || d.kind === "todo") {
14114
- d.reason.trim().length < Hw && n.push({
14127
+ d.reason.trim().length < Uw && n.push({
14115
14128
  severity: "error",
14116
14129
  scenarioId: d.scenarioId,
14117
14130
  message: `${d.kind} claim needs a substantive reason`
@@ -14231,7 +14244,7 @@ function Z1(e, t) {
14231
14244
  });
14232
14245
  return n;
14233
14246
  }
14234
- function Uw(e) {
14247
+ function Vw(e) {
14235
14248
  return f.pages.find(
14236
14249
  (t) => (t.importPageId ?? t.id) === e
14237
14250
  ) ?? null;
@@ -14244,13 +14257,13 @@ function ah(e, t) {
14244
14257
  }
14245
14258
  return null;
14246
14259
  }
14247
- function Vw(e) {
14260
+ function qw(e) {
14248
14261
  if (e.kind === "behavior" || e.kind === "todo")
14249
14262
  return {
14250
14263
  status: "failed",
14251
14264
  message: "behavior/todo claims have no editor state to reproduce"
14252
14265
  };
14253
- const t = Uw(e.screenId);
14266
+ const t = Vw(e.screenId);
14254
14267
  if (!t)
14255
14268
  return { status: "failed", message: `screen "${e.screenId}" is not loaded` };
14256
14269
  if (f.selectFrame(t.id), e.kind === "frame" || e.kind === "screen-state" || e.kind === "catalog")
@@ -14317,7 +14330,7 @@ function Vw(e) {
14317
14330
  };
14318
14331
  }
14319
14332
  const fo = /* @__PURE__ */ new Map();
14320
- function qw(e) {
14333
+ function Kw(e) {
14321
14334
  fo.clear();
14322
14335
  for (const t of e) {
14323
14336
  if (t.kind === "behavior" || t.kind === "todo") continue;
@@ -14325,10 +14338,10 @@ function qw(e) {
14325
14338
  n.push(t), fo.set(t.screenId, n);
14326
14339
  }
14327
14340
  }
14328
- function Kw(e) {
14341
+ function Yw(e) {
14329
14342
  return fo.get(e) ?? [];
14330
14343
  }
14331
- function Yw(e, t, n) {
14344
+ function Gw(e, t, n) {
14332
14345
  const r = [];
14333
14346
  for (const o of fo.get(e) ?? [])
14334
14347
  o.kind === "component-state" && o.componentName === t && o.prop === n && r.push(o.scenarioId);
@@ -14347,13 +14360,13 @@ function Le({
14347
14360
  /* @__PURE__ */ a("div", { className: "mt-1 flex flex-col gap-1.5", children: n })
14348
14361
  ] });
14349
14362
  }
14350
- function Gw(e, t, n, r) {
14363
+ function Xw(e, t, n, r) {
14351
14364
  return Object.hasOwn(e.componentProps, t) ? e.componentProps[t] : r ?? n[0];
14352
14365
  }
14353
14366
  function od(e) {
14354
14367
  return typeof e == "boolean" ? e ? "On" : "Off" : String(e);
14355
14368
  }
14356
- function Xw({
14369
+ function Jw({
14357
14370
  node: e,
14358
14371
  entry: t,
14359
14372
  sourceWritableProps: n = null,
@@ -14362,7 +14375,7 @@ function Xw({
14362
14375
  }) {
14363
14376
  return /* @__PURE__ */ a(He, { children: Object.entries(t.props ?? {}).map(([i, s]) => {
14364
14377
  var h, m;
14365
- const c = ((h = t.propLabels) == null ? void 0 : h[i]) ?? i, l = Gw(
14378
+ const c = ((h = t.propLabels) == null ? void 0 : h[i]) ?? i, l = Xw(
14366
14379
  e,
14367
14380
  i,
14368
14381
  s,
@@ -14448,7 +14461,7 @@ function id({ kind: e }) {
14448
14461
  }
14449
14462
  ) : null;
14450
14463
  }
14451
- const Jw = Be(function({
14464
+ const Qw = Be(function({
14452
14465
  page: t
14453
14466
  }) {
14454
14467
  if (!t.scenario || t.route == null) return null;
@@ -14531,7 +14544,7 @@ const Jw = Be(function({
14531
14544
  })
14532
14545
  }
14533
14546
  ) });
14534
- }), Qw = {
14547
+ }), Zw = {
14535
14548
  frame: "FRAME",
14536
14549
  "screen-state": "STATE",
14537
14550
  "component-state": "TOGGLE",
@@ -14540,7 +14553,7 @@ const Jw = Be(function({
14540
14553
  "interactive-state": "AXIS",
14541
14554
  "card-slot": "SLOT",
14542
14555
  "list-length": "LIST"
14543
- }, Zw = /* @__PURE__ */ new Set([
14556
+ }, e0 = /* @__PURE__ */ new Set([
14544
14557
  "component-state",
14545
14558
  "card-slot",
14546
14559
  "list-length"
@@ -14565,12 +14578,12 @@ function sd(e) {
14565
14578
  return "this frame";
14566
14579
  }
14567
14580
  }
14568
- const e0 = Be(function({
14581
+ const t0 = Be(function({
14569
14582
  page: t
14570
14583
  }) {
14571
- const n = Kw(t.importPageId ?? t.id);
14584
+ const n = Yw(t.importPageId ?? t.id);
14572
14585
  return n.length === 0 ? null : /* @__PURE__ */ a(Le, { title: "Scenario coverage", children: n.map((r) => {
14573
- const o = !f.editMode && Zw.has(r.kind);
14586
+ const o = !f.editMode && e0.has(r.kind);
14574
14587
  return /* @__PURE__ */ g(
14575
14588
  "button",
14576
14589
  {
@@ -14581,33 +14594,33 @@ const e0 = Be(function({
14581
14594
  title: o ? Un : r.reason ?? sd(r),
14582
14595
  className: "flex h-7 items-center justify-between gap-2 rounded-md bg-[#fafafa] px-2 text-left ring-1 ring-inset ring-[#ececec] hover:bg-[#f0f7ff] disabled:cursor-not-allowed disabled:opacity-45 disabled:hover:bg-[#fafafa]",
14583
14596
  onClick: () => {
14584
- Vw(r);
14597
+ qw(r);
14585
14598
  },
14586
14599
  children: [
14587
14600
  /* @__PURE__ */ a("span", { className: "truncate text-[11px] font-semibold text-[#333]", children: r.scenarioId }),
14588
14601
  /* @__PURE__ */ g("span", { className: "flex shrink-0 items-center gap-1", children: [
14589
14602
  /* @__PURE__ */ a("span", { className: "max-w-40 truncate text-[9px] text-[#999]", children: sd(r) }),
14590
- /* @__PURE__ */ a("span", { className: "rounded bg-[#f0f0f0] px-1 py-0.5 text-[8px] font-semibold tracking-wide text-[#666]", children: Qw[r.kind] ?? r.kind })
14603
+ /* @__PURE__ */ a("span", { className: "rounded bg-[#f0f0f0] px-1 py-0.5 text-[8px] font-semibold tracking-wide text-[#666]", children: Zw[r.kind] ?? r.kind })
14591
14604
  ] })
14592
14605
  ]
14593
14606
  },
14594
14607
  r.scenarioId
14595
14608
  );
14596
14609
  }) });
14597
- }), t0 = "/__pygmalion-storyboard/component-branches", ad = /* @__PURE__ */ new Map();
14598
- function n0(e) {
14610
+ }), n0 = "/__pygmalion-storyboard/component-branches", ad = /* @__PURE__ */ new Map();
14611
+ function r0(e) {
14599
14612
  const t = ad.get(e);
14600
14613
  if (t) return t;
14601
14614
  const n = fetch(
14602
- `${t0}?source=${encodeURIComponent(e)}`
14615
+ `${n0}?source=${encodeURIComponent(e)}`
14603
14616
  ).then((r) => r.ok ? r.json() : { branches: [] }).then((r) => r.branches ?? []).catch(() => []);
14604
14617
  return ad.set(e, n), n;
14605
14618
  }
14606
- function r0(e) {
14619
+ function o0(e) {
14607
14620
  var t, n;
14608
14621
  return e.prop ? (((n = (t = at()[e.component]) == null ? void 0 : t.props) == null ? void 0 : n[e.prop]) ?? []).filter((o) => typeof o == "string") : (e.options ?? []).map((r) => r.label);
14609
14622
  }
14610
- function o0({
14623
+ function i0({
14611
14624
  label: e,
14612
14625
  title: t,
14613
14626
  ariaLabel: n,
@@ -14632,7 +14645,7 @@ function o0({
14632
14645
  )
14633
14646
  ] });
14634
14647
  }
14635
- const i0 = Be(function({
14648
+ const s0 = Be(function({
14636
14649
  page: t
14637
14650
  }) {
14638
14651
  const n = Lp(), [r, o] = ee({}), i = n.filter(
@@ -14641,7 +14654,7 @@ const i0 = Be(function({
14641
14654
  return se(() => {
14642
14655
  let c = !0;
14643
14656
  for (const l of s)
14644
- n0(l).then((d) => {
14657
+ r0(l).then((d) => {
14645
14658
  c && o(
14646
14659
  (u) => u[l] ? u : { ...u, [l]: d }
14647
14660
  );
@@ -14652,7 +14665,7 @@ const i0 = Be(function({
14652
14665
  }, [s.join("|")]), i.length === 0 ? null : /* @__PURE__ */ a(Le, { title: "Screen dimensions", children: i.map((c) => {
14653
14666
  const l = [Xc(t, c)].filter(
14654
14667
  Boolean
14655
- ), d = r0(c), u = new Set(d), m = (c.sourcePath ? r[c.sourcePath] ?? [] : []).filter((b) => {
14668
+ ), d = o0(c), u = new Set(d), m = (c.sourcePath ? r[c.sourcePath] ?? [] : []).filter((b) => {
14656
14669
  const x = [b.renders, ...b.values ?? []].filter(
14657
14670
  (w) => !!w
14658
14671
  );
@@ -14665,7 +14678,7 @@ const i0 = Be(function({
14665
14678
  className: "flex flex-col gap-1",
14666
14679
  children: [
14667
14680
  l.map((b) => /* @__PURE__ */ a(
14668
- o0,
14681
+ i0,
14669
14682
  {
14670
14683
  label: c.label,
14671
14684
  title: c.component,
@@ -14705,7 +14718,7 @@ const i0 = Be(function({
14705
14718
  c.id
14706
14719
  );
14707
14720
  }) });
14708
- }), s0 = Be(function({
14721
+ }), a0 = Be(function({
14709
14722
  page: t
14710
14723
  }) {
14711
14724
  const n = zd().filter(
@@ -14757,7 +14770,7 @@ const i0 = Be(function({
14757
14770
  r.id
14758
14771
  );
14759
14772
  }) });
14760
- }), a0 = Be(function({
14773
+ }), c0 = Be(function({
14761
14774
  page: t
14762
14775
  }) {
14763
14776
  const n = Ld().filter(
@@ -14802,7 +14815,7 @@ const i0 = Be(function({
14802
14815
  );
14803
14816
  })
14804
14817
  ] }, o.id)) }, r.id)) });
14805
- }), c0 = Be(function({
14818
+ }), l0 = Be(function({
14806
14819
  page: t
14807
14820
  }) {
14808
14821
  const n = jp(t, _d()), r = pg(t, n), o = Ed(t), i = f.previewMotionState(t.id), [s, c] = ee(
@@ -15002,10 +15015,7 @@ const i0 = Be(function({
15002
15015
  )
15003
15016
  }
15004
15017
  ),
15005
- /* @__PURE__ */ g("span", { className: "w-7 text-right text-[9px] tabular-nums text-[#999]", children: [
15006
- Math.round(i.progress * 100),
15007
- "%"
15008
- ] })
15018
+ /* @__PURE__ */ a("span", { className: "w-7 text-right text-[9px] tabular-nums text-[#999]", children: i.mode === "frozen" ? "Base" : `${Math.round(i.progress * 100)}%` })
15009
15019
  ] })
15010
15020
  ]
15011
15021
  }
@@ -15015,7 +15025,7 @@ const i0 = Be(function({
15015
15025
  b("condition", "Condition states"),
15016
15026
  A
15017
15027
  ] });
15018
- }), l0 = Be(function({
15028
+ }), d0 = Be(function({
15019
15029
  page: t
15020
15030
  }) {
15021
15031
  const { unclassified: n } = ff(
@@ -15044,7 +15054,7 @@ const i0 = Be(function({
15044
15054
  r.id
15045
15055
  ))
15046
15056
  ] });
15047
- }), d0 = [
15057
+ }), u0 = [
15048
15058
  { v: "fill", label: "Fill" },
15049
15059
  { v: "fit", label: "Hug" },
15050
15060
  { v: "fixed", label: "Fixed" }
@@ -15058,7 +15068,7 @@ function Mt({ label: e, value: t }) {
15058
15068
  function cd(e, t) {
15059
15069
  return e === "fixed" ? `${Math.round(t ?? 0)}px` : e;
15060
15070
  }
15061
- const u0 = Be(function({
15071
+ const f0 = Be(function({
15062
15072
  node: t
15063
15073
  }) {
15064
15074
  const n = t.type === "component" ? at()[t.componentName] : void 0, r = Object.entries(t.componentProps ?? {});
@@ -15076,7 +15086,7 @@ const u0 = Be(function({
15076
15086
  ] }),
15077
15087
  t.sourceComponent && /* @__PURE__ */ a(Le, { title: "Source", children: /* @__PURE__ */ a(Mt, { label: "Component", value: t.sourceComponent }) })
15078
15088
  ] });
15079
- }), f0 = Be(function({
15089
+ }), h0 = Be(function({
15080
15090
  section: t,
15081
15091
  members: n
15082
15092
  }) {
@@ -15092,7 +15102,7 @@ const u0 = Be(function({
15092
15102
  /* @__PURE__ */ a(Mt, { label: "Frames", value: String(n) })
15093
15103
  ] }) });
15094
15104
  });
15095
- function h0({ node: e }) {
15105
+ function p0({ node: e }) {
15096
15106
  const t = f.sharedSourceImpactFor(e);
15097
15107
  if (t.frames.length < 2) return null;
15098
15108
  const n = f.sharedSourceEditScopeFor(e), r = t.frames.slice(0, 3).map((s) => s.name), o = t.frames.length - r.length, i = `${r.join(" · ")}${o > 0 ? ` · ${o} more` : ""}`;
@@ -15127,7 +15137,7 @@ function h0({ node: e }) {
15127
15137
  /* @__PURE__ */ a("div", { className: "text-[10px] leading-relaxed text-[#999]", children: "Unsupported source operations remain limited to the selected frame." })
15128
15138
  ] });
15129
15139
  }
15130
- function p0({ node: e }) {
15140
+ function m0({ node: e }) {
15131
15141
  var i;
15132
15142
  const t = e.type === "component" ? (i = at()[e.componentName]) == null ? void 0 : i.props : void 0, n = Object.entries(e.sourceProps).filter(
15133
15143
  ([s]) => !t || !Object.hasOwn(t, s)
@@ -15223,7 +15233,7 @@ function ld({ value: e, onChange: t }) {
15223
15233
  className: "h-7 min-w-0 flex-1 rounded-md bg-[#f5f5f5] px-1.5 text-[11px] text-[#333] outline-none hover:ring-1 hover:ring-inset hover:ring-[#e6e6e6]",
15224
15234
  value: e,
15225
15235
  onChange: (n) => t(n.target.value),
15226
- children: d0.map((n) => /* @__PURE__ */ a("option", { value: n.v, children: n.label }, n.v))
15236
+ children: u0.map((n) => /* @__PURE__ */ a("option", { value: n.v, children: n.label }, n.v))
15227
15237
  }
15228
15238
  );
15229
15239
  }
@@ -15337,7 +15347,7 @@ function dd({
15337
15347
  )) });
15338
15348
  }
15339
15349
  const ud = ["start", "center", "end"];
15340
- function m0({ node: e }) {
15350
+ function g0({ node: e }) {
15341
15351
  const t = e.type === "rows", n = (o, i) => f.patch(
15342
15352
  e,
15343
15353
  t ? { justify: o, alignItems: i } : { justify: i, alignItems: o }
@@ -15373,14 +15383,14 @@ function m0({ node: e }) {
15373
15383
  )
15374
15384
  ] });
15375
15385
  }
15376
- function g0(e) {
15386
+ function b0(e) {
15377
15387
  const t = e.root.domStyle.display;
15378
15388
  if (t === "grid" || t === "inline-grid") return "grid";
15379
15389
  if (t === "block" || t === "contents") return "free";
15380
15390
  const n = e.root.domStyle.flexDirection;
15381
15391
  return n != null && n.startsWith("row") ? "horizontal" : n != null && n.startsWith("column") ? "vertical" : e.root.type === "columns" ? "horizontal" : "vertical";
15382
15392
  }
15383
- function b0({ mode: e }) {
15393
+ function x0({ mode: e }) {
15384
15394
  return e === "grid" ? /* @__PURE__ */ a("span", { "aria-hidden": "true", className: "grid h-4 w-4 grid-cols-2 gap-[3px]", children: [0, 1, 2, 3].map((t) => /* @__PURE__ */ a("i", { className: "rounded-[2px] border border-current" }, t)) }) : e === "vertical" || e === "horizontal" ? /* @__PURE__ */ g("span", { "aria-hidden": "true", className: `flex items-center gap-[3px] ${e === "vertical" ? "flex-col" : ""}`, children: [
15385
15395
  /* @__PURE__ */ a("i", { className: "h-[5px] w-[5px] rounded-[2px] border border-current" }),
15386
15396
  /* @__PURE__ */ a("i", { className: "h-[5px] w-[5px] rounded-[2px] border border-current" }),
@@ -15391,13 +15401,13 @@ function b0({ mode: e }) {
15391
15401
  /* @__PURE__ */ a("i", { className: "absolute bottom-0 left-[4px] h-[5px] w-[5px] rounded-[2px] border border-current" })
15392
15402
  ] });
15393
15403
  }
15394
- const x0 = Be(function({ page: t }) {
15404
+ const y0 = Be(function({ page: t }) {
15395
15405
  Ye(
15396
15406
  sc,
15397
15407
  Er,
15398
15408
  Er
15399
15409
  );
15400
- const n = t.route == null, r = (b) => f.patchPage(t.id, b), o = g0(t), i = (b) => {
15410
+ const n = t.route == null, r = (b) => f.patchPage(t.id, b), o = b0(t), i = (b) => {
15401
15411
  const x = { ...t.root.domStyle };
15402
15412
  b === "free" ? (x.display = "block", x.position = "relative", delete x.flexDirection, delete x.gridTemplateColumns) : b === "grid" ? (x.display = "grid", x.gridTemplateColumns || (x.gridTemplateColumns = "repeat(2, minmax(0, 1fr))"), x.gap || (x.gap = `${t.root.gap}px`), delete x.flexDirection) : (x.display = "flex", x.flexDirection = b === "horizontal" ? "row" : "column", delete x.gridTemplateColumns), f.patch(t.root, {
15403
15413
  type: b === "horizontal" ? "columns" : "rows",
@@ -15474,7 +15484,7 @@ const x0 = Be(function({ page: t }) {
15474
15484
  "aria-label": "Preview viewport",
15475
15485
  className: "flex flex-wrap gap-1",
15476
15486
  children: d.map((b) => {
15477
- const x = Bw(b, {
15487
+ const x = Ww(b, {
15478
15488
  width: t.width ?? 390,
15479
15489
  height: t.height ?? 600
15480
15490
  });
@@ -15557,15 +15567,15 @@ const x0 = Be(function({ page: t }) {
15557
15567
  b.id
15558
15568
  ))
15559
15569
  ] }),
15560
- /* @__PURE__ */ a(Jw, { page: t }),
15561
- /* @__PURE__ */ a(c0, { page: t }),
15570
+ /* @__PURE__ */ a(Qw, { page: t }),
15562
15571
  /* @__PURE__ */ a(l0, { page: t }),
15572
+ /* @__PURE__ */ a(d0, { page: t }),
15563
15573
  f.editMode && /* @__PURE__ */ g(He, { children: [
15564
- /* @__PURE__ */ a(i0, { page: t }),
15565
- /* @__PURE__ */ a(a0, { page: t }),
15566
- /* @__PURE__ */ a(s0, { page: t })
15574
+ /* @__PURE__ */ a(s0, { page: t }),
15575
+ /* @__PURE__ */ a(c0, { page: t }),
15576
+ /* @__PURE__ */ a(a0, { page: t })
15567
15577
  ] }),
15568
- /* @__PURE__ */ a(e0, { page: t }),
15578
+ /* @__PURE__ */ a(t0, { page: t }),
15569
15579
  f.editMode && /* @__PURE__ */ g(He, { children: [
15570
15580
  /* @__PURE__ */ g(Le, { title: "Position", children: [
15571
15581
  /* @__PURE__ */ a("div", { className: "grid grid-cols-6 gap-1", children: [
@@ -15629,7 +15639,7 @@ const x0 = Be(function({ page: t }) {
15629
15639
  "aria-pressed": o === b,
15630
15640
  className: `flex h-8 items-center justify-center rounded-md ${o === b ? "bg-white text-[#18181b] shadow-sm ring-1 ring-inset ring-[#dedee3]" : "text-[#777] hover:text-[#333]"}`,
15631
15641
  onClick: () => i(b),
15632
- children: /* @__PURE__ */ a(b0, { mode: b })
15642
+ children: /* @__PURE__ */ a(x0, { mode: b })
15633
15643
  },
15634
15644
  b
15635
15645
  )) }),
@@ -15710,7 +15720,7 @@ const x0 = Be(function({ page: t }) {
15710
15720
  ] })
15711
15721
  ] })
15712
15722
  ] });
15713
- }), y0 = Be(function({ section: t }) {
15723
+ }), v0 = Be(function({ section: t }) {
15714
15724
  const n = f.canvasPages.filter((r) => r.section === t.name).length;
15715
15725
  return f.editMode ? /* @__PURE__ */ g("div", { "data-object-props": "section", className: "min-h-0 flex-1 overflow-auto", children: [
15716
15726
  /* @__PURE__ */ g(Le, { title: "Section", children: [
@@ -15786,16 +15796,16 @@ const x0 = Be(function({ page: t }) {
15786
15796
  ]
15787
15797
  }
15788
15798
  ) })
15789
- ] }) : /* @__PURE__ */ a(f0, { section: t, members: n });
15790
- }), v0 = Be(function() {
15799
+ ] }) : /* @__PURE__ */ a(h0, { section: t, members: n });
15800
+ }), w0 = Be(function() {
15791
15801
  var l, d;
15792
15802
  if (((l = f.selectedCanvasObject) == null ? void 0 : l.kind) === "frame") {
15793
15803
  const u = f.selectedFrame;
15794
- return u ? /* @__PURE__ */ a(x0, { page: u }) : null;
15804
+ return u ? /* @__PURE__ */ a(y0, { page: u }) : null;
15795
15805
  }
15796
15806
  if (((d = f.selectedCanvasObject) == null ? void 0 : d.kind) === "section") {
15797
15807
  const u = f.selectedSection;
15798
- return u ? /* @__PURE__ */ a(y0, { section: u }) : null;
15808
+ return u ? /* @__PURE__ */ a(v0, { section: u }) : null;
15799
15809
  }
15800
15810
  const t = f.selected;
15801
15811
  if (!t)
@@ -15810,8 +15820,8 @@ const x0 = Be(function({ page: t }) {
15810
15820
  f.selectedIds.length,
15811
15821
  " selected · Property edits use the primary selection"
15812
15822
  ] }),
15813
- /* @__PURE__ */ a(h0, { node: t }),
15814
15823
  /* @__PURE__ */ a(p0, { node: t }),
15824
+ /* @__PURE__ */ a(m0, { node: t }),
15815
15825
  /* @__PURE__ */ a(Le, { title: t.name, children: /* @__PURE__ */ a(
15816
15826
  "input",
15817
15827
  {
@@ -15839,15 +15849,15 @@ const x0 = Be(function({ page: t }) {
15839
15849
  t.componentName
15840
15850
  ] }),
15841
15851
  s && /* @__PURE__ */ a(
15842
- Xw,
15852
+ Jw,
15843
15853
  {
15844
15854
  node: t,
15845
15855
  entry: s,
15846
- sourceWritableProps: t.sourceComponent ? Ww(t, s) : null,
15856
+ sourceWritableProps: t.sourceComponent ? Hw(t, s) : null,
15847
15857
  propBadges: Object.fromEntries(
15848
15858
  Object.keys(s.props ?? {}).map((u) => [
15849
15859
  u,
15850
- Yw(
15860
+ Gw(
15851
15861
  f.activePage.importPageId ?? f.activePage.id,
15852
15862
  t.componentName,
15853
15863
  u
@@ -15880,7 +15890,7 @@ const x0 = Be(function({ page: t }) {
15880
15890
  onChange: (u) => n({ type: u })
15881
15891
  }
15882
15892
  ),
15883
- /* @__PURE__ */ a(m0, { node: t }),
15893
+ /* @__PURE__ */ a(g0, { node: t }),
15884
15894
  /* @__PURE__ */ g("div", { className: "flex gap-1.5", children: [
15885
15895
  /* @__PURE__ */ a(st, { label: "Gap", value: t.gap, onChange: (u) => n({ gap: u }) }),
15886
15896
  /* @__PURE__ */ a(st, { label: "Padding", value: t.padding, onChange: (u) => n({ padding: u }) })
@@ -15995,8 +16005,8 @@ const x0 = Be(function({ page: t }) {
15995
16005
  ),
15996
16006
  /* @__PURE__ */ a(ai, { value: t.color, onChange: (u) => n({ color: u }) })
15997
16007
  ] })
15998
- ] }) : /* @__PURE__ */ a(u0, { node: t });
15999
- }), w0 = Be(function() {
16008
+ ] }) : /* @__PURE__ */ a(f0, { node: t });
16009
+ }), S0 = Be(function() {
16000
16010
  return /* @__PURE__ */ g(He, { children: [
16001
16011
  /* @__PURE__ */ a(
16002
16012
  "button",
@@ -16050,7 +16060,7 @@ Be(function() {
16050
16060
  )
16051
16061
  ] });
16052
16062
  });
16053
- function S0(e) {
16063
+ function N0(e) {
16054
16064
  return [...new Set(e)].sort().join(`
16055
16065
  `);
16056
16066
  }
@@ -16061,10 +16071,10 @@ function fd(e, t) {
16061
16071
  r - t.viewportHeight / 2
16062
16072
  );
16063
16073
  }
16064
- function N0(e, t) {
16074
+ function I0(e, t) {
16065
16075
  return e === t ? 0 : e < t ? -1 : 1;
16066
16076
  }
16067
- function I0(e, t = {}) {
16077
+ function C0(e, t = {}) {
16068
16078
  const n = t.hasSnapshot ?? (() => !1), r = [], o = [], i = /* @__PURE__ */ new Set();
16069
16079
  for (const h of e)
16070
16080
  if (!n(h.key)) {
@@ -16075,7 +16085,7 @@ function I0(e, t = {}) {
16075
16085
  i.has(h.key) || (i.add(h.key), o.push(h));
16076
16086
  }
16077
16087
  const s = o.map((h, m) => ({ candidate: h, order: m })).sort(
16078
- (h, m) => N0(h.candidate.distance, m.candidate.distance) || h.order - m.order
16088
+ (h, m) => I0(h.candidate.distance, m.candidate.distance) || h.order - m.order
16079
16089
  ).map((h) => h.candidate), c = /* @__PURE__ */ new Map();
16080
16090
  for (const h of s) {
16081
16091
  if (h.groupKey == null) continue;
@@ -16104,33 +16114,33 @@ function I0(e, t = {}) {
16104
16114
  }
16105
16115
  return { units: l, interactionFrames: r };
16106
16116
  }
16107
- const C0 = 250, P0 = 8, M0 = 32, $0 = /* @__PURE__ */ new Set();
16117
+ const P0 = 250, M0 = 8, $0 = 32, E0 = /* @__PURE__ */ new Set();
16108
16118
  let hd = {
16109
16119
  phase: "idle",
16110
16120
  total: 0,
16111
16121
  completed: 0,
16112
16122
  failed: 0
16113
16123
  };
16114
- function E0(e) {
16124
+ function A0(e) {
16115
16125
  const t = hd;
16116
16126
  if (!(t.phase === e.phase && t.total === e.total && t.completed === e.completed && t.failed === e.failed)) {
16117
16127
  hd = e;
16118
- for (const n of $0) n();
16128
+ for (const n of E0) n();
16119
16129
  }
16120
16130
  }
16121
- function A0(e, t = {}) {
16131
+ function k0(e, t = {}) {
16122
16132
  const n = Math.max(
16123
16133
  1,
16124
- t.pauseBackoffMs ?? C0
16134
+ t.pauseBackoffMs ?? P0
16125
16135
  ), r = Math.max(
16126
16136
  1,
16127
- t.interactionChunkSize ?? P0
16137
+ t.interactionChunkSize ?? M0
16128
16138
  ), o = Math.max(
16129
16139
  0,
16130
- t.interactionRequestCap ?? M0
16140
+ t.interactionRequestCap ?? $0
16131
16141
  );
16132
16142
  let i = 0, s = !1, c = null, l = 0, d = 0, u = 0;
16133
- const h = (A) => new Promise((C) => setTimeout(C, A)), m = (A) => E0({ phase: A, total: l, completed: d, failed: u }), b = (A, C) => {
16143
+ const h = (A) => new Promise((C) => setTimeout(C, A)), m = (A) => A0({ phase: A, total: l, completed: d, failed: u }), b = (A, C) => {
16134
16144
  if (A)
16135
16145
  try {
16136
16146
  C ? A.discard() : A.release();
@@ -16197,7 +16207,7 @@ function A0(e, t = {}) {
16197
16207
  }
16198
16208
  return { run: w, cancel: v };
16199
16209
  }
16200
- const pd = "absolute z-20 flex flex-col overflow-hidden rounded-[13px] border border-[#e6e6e6] bg-white shadow-[0_2px_14px_rgba(0,0,0,.08)]", k0 = 600, vn = 200, ln = 280, R0 = 480, Cs = "absolute bottom-11 left-1/2 z-40 w-44 -translate-x-1/2 rounded-xl bg-[#1e1e1e] p-1.5 text-[12px] shadow-[0_4px_20px_rgba(0,0,0,.25)]", to = (e) => `flex h-9 w-9 items-center justify-center rounded-lg ${e ? "bg-[#0d99ff] text-white" : "text-[#333] hover:bg-[#f5f5f5]"}`;
16210
+ const pd = "absolute z-20 flex flex-col overflow-hidden rounded-[13px] border border-[#e6e6e6] bg-white shadow-[0_2px_14px_rgba(0,0,0,.08)]", R0 = 600, vn = 200, ln = 280, T0 = 480, Cs = "absolute bottom-11 left-1/2 z-40 w-44 -translate-x-1/2 rounded-xl bg-[#1e1e1e] p-1.5 text-[12px] shadow-[0_4px_20px_rgba(0,0,0,.25)]", to = (e) => `flex h-9 w-9 items-center justify-center rounded-lg ${e ? "bg-[#0d99ff] text-white" : "text-[#333] hover:bg-[#f5f5f5]"}`;
16201
16211
  function Bn({
16202
16212
  icon: e,
16203
16213
  label: t,
@@ -16225,7 +16235,7 @@ function Bn({
16225
16235
  )
16226
16236
  );
16227
16237
  }
16228
- const T0 = Be(function({
16238
+ const F0 = Be(function({
16229
16239
  previewIdentityReady: t = !0
16230
16240
  } = {}) {
16231
16241
  var bt;
@@ -16285,7 +16295,7 @@ const T0 = Be(function({
16285
16295
  )
16286
16296
  ])
16287
16297
  )
16288
- ], w = S0(x), [v, A] = ee("");
16298
+ ], w = N0(x), [v, A] = ee("");
16289
16299
  se(() => {
16290
16300
  let _ = !0;
16291
16301
  return A(""), t ? (nc(x).then(() => {
@@ -16296,7 +16306,7 @@ const T0 = Be(function({
16296
16306
  _ = !1;
16297
16307
  };
16298
16308
  }, [w, t]);
16299
- const C = t && v === w, R = b.length, B = Tv(
16309
+ const C = t && v === w, R = b.length, B = Fv(
16300
16310
  Zs()
16301
16311
  );
16302
16312
  se(() => {
@@ -16349,9 +16359,9 @@ const T0 = Be(function({
16349
16359
  ...V && ke ? { frame: { id: re, fingerprint: ke } } : {}
16350
16360
  });
16351
16361
  }
16352
- const de = I0(Ne, {
16362
+ const de = C0(Ne, {
16353
16363
  hasSnapshot: er
16354
- }), G = fc(), ve = A0({
16364
+ }), G = fc(), ve = k0({
16355
16365
  leaseInstance: async (U) => {
16356
16366
  const $e = W.get(U.pageId);
16357
16367
  if (!$e || $e.route == null) return null;
@@ -16471,7 +16481,7 @@ const T0 = Be(function({
16471
16481
  const D = Pe(null);
16472
16482
  se(() => {
16473
16483
  if (B !== "worker-first" || !t || !C) return;
16474
- const _ = _t(), xe = D.current ?? Bv({
16484
+ const _ = _t(), xe = D.current ?? Wv({
16475
16485
  request: (de, G, { retry: ve }) => {
16476
16486
  if (!Zs()) return null;
16477
16487
  const Ee = (ie) => {
@@ -16558,7 +16568,7 @@ const T0 = Be(function({
16558
16568
  previewRevision: s,
16559
16569
  screenIds: U
16560
16570
  });
16561
- const ie = zv(Ee, { activeCanvas: q });
16571
+ const ie = Dv(Ee, { activeCanvas: q });
16562
16572
  $e > 0 && (ie.background = []);
16563
16573
  const he = JSON.stringify([
16564
16574
  q,
@@ -16592,7 +16602,7 @@ const T0 = Be(function({
16592
16602
  (oe) => oe.id === K
16593
16603
  );
16594
16604
  xe && Yu(xe, s);
16595
- }, k0);
16605
+ }, R0);
16596
16606
  return () => clearTimeout(_);
16597
16607
  }, [
16598
16608
  T,
@@ -16635,7 +16645,7 @@ const T0 = Be(function({
16635
16645
  const _ = n.current;
16636
16646
  if (!_) return;
16637
16647
  const xe = (oe) => {
16638
- const we = Mv(oe);
16648
+ const we = $v(oe);
16639
16649
  if (we !== "native-preview") {
16640
16650
  if (we === "programmatic-preview") {
16641
16651
  oe.preventDefault();
@@ -16848,7 +16858,7 @@ const T0 = Be(function({
16848
16858
  const oe = xe.clientX, we = _ === "left" ? ne : fe, W = (de) => {
16849
16859
  const G = _ === "left" ? de.clientX - oe : oe - de.clientX, ve = Math.max(
16850
16860
  vn,
16851
- Math.min(R0, we + G)
16861
+ Math.min(T0, we + G)
16852
16862
  );
16853
16863
  _ === "left" ? Ae(ve) : ge(ve);
16854
16864
  }, Ne = () => {
@@ -16867,7 +16877,7 @@ const T0 = Be(function({
16867
16877
  "data-preview-frame-count": R,
16868
16878
  children: [
16869
16879
  /* @__PURE__ */ a(
16870
- Jv,
16880
+ Qv,
16871
16881
  {
16872
16882
  previewIdentityReady: t,
16873
16883
  previewCacheHydrated: C,
@@ -16884,7 +16894,7 @@ const T0 = Be(function({
16884
16894
  },
16885
16895
  onPointerMove: (_) => {
16886
16896
  var Ne;
16887
- if (!wv(f.editMode, f.tool)) return;
16897
+ if (!Sv(f.editMode, f.tool)) return;
16888
16898
  const xe = (Ne = n.current) == null ? void 0 : Ne.getBoundingClientRect();
16889
16899
  if (!xe) return;
16890
16900
  const oe = Xl(
@@ -16894,7 +16904,7 @@ const T0 = Be(function({
16894
16904
  panY: f.panY,
16895
16905
  zoom: f.zoom
16896
16906
  })
16897
- ), we = vv(
16907
+ ), we = wv(
16898
16908
  r.current,
16899
16909
  oe
16900
16910
  );
@@ -17014,7 +17024,7 @@ const T0 = Be(function({
17014
17024
  ).map((_) => {
17015
17025
  var xe;
17016
17026
  return /* @__PURE__ */ a(
17017
- Fy,
17027
+ _y,
17018
17028
  {
17019
17029
  page: _,
17020
17030
  active: _.id === f.activePageId,
@@ -17106,7 +17116,7 @@ const T0 = Be(function({
17106
17116
  )) })
17107
17117
  ] }),
17108
17118
  /* @__PURE__ */ a(
17109
- Ow,
17119
+ jw,
17110
17120
  {
17111
17121
  view: O,
17112
17122
  onFrameFocus: Qe,
@@ -17282,11 +17292,11 @@ const T0 = Be(function({
17282
17292
  children: "↔"
17283
17293
  }
17284
17294
  ),
17285
- /* @__PURE__ */ a(w0, {})
17295
+ /* @__PURE__ */ a(S0, {})
17286
17296
  ] })
17287
17297
  ] }),
17288
- /* @__PURE__ */ a(v0, {}),
17289
- /* @__PURE__ */ a(dw, {}),
17298
+ /* @__PURE__ */ a(w0, {}),
17299
+ /* @__PURE__ */ a(uw, {}),
17290
17300
  /* @__PURE__ */ a(
17291
17301
  "div",
17292
17302
  {
@@ -17529,18 +17539,18 @@ const T0 = Be(function({
17529
17539
  children: f.tool === "section" && /* @__PURE__ */ a("div", { style: { position: "absolute", bottom: "100%", left: 0, marginBottom: 4, fontSize: 13, fontWeight: 700, color: "#666" }, children: "Section" })
17530
17540
  }
17531
17541
  ),
17532
- /* @__PURE__ */ a(kv, {}),
17533
- /* @__PURE__ */ a(uw, {}),
17534
- f.previewOpen && /* @__PURE__ */ a(yv, { onClose: () => f.closePreview() })
17542
+ /* @__PURE__ */ a(Rv, {}),
17543
+ /* @__PURE__ */ a(fw, {}),
17544
+ f.previewOpen && /* @__PURE__ */ a(vv, { onClose: () => f.closePreview() })
17535
17545
  ]
17536
17546
  }
17537
17547
  );
17538
- }), F0 = 1, _0 = 4;
17539
- function L0() {
17548
+ }), _0 = 1, L0 = 4;
17549
+ function z0() {
17540
17550
  if (!(typeof navigator > "u"))
17541
17551
  return navigator.deviceMemory;
17542
17552
  }
17543
- function z0(e, t, n, r = F0) {
17553
+ function D0(e, t, n, r = _0) {
17544
17554
  const o = /* @__PURE__ */ new Map();
17545
17555
  return e.forEach((i, s) => {
17546
17556
  if (!uc(i)) return;
@@ -17571,7 +17581,7 @@ function z0(e, t, n, r = F0) {
17571
17581
  });
17572
17582
  }), [...o.values()].sort((i, s) => s.members - i.members || i.order - s.order).slice(0, Math.max(0, r)).map((i) => i.target);
17573
17583
  }
17574
- function D0(e, t, n) {
17584
+ function O0(e, t, n) {
17575
17585
  if (!e) return [];
17576
17586
  const r = (h) => h.importPageId ?? h.id, o = t.find((h) => h.id === n);
17577
17587
  if (!o) return [];
@@ -17604,13 +17614,13 @@ function D0(e, t, n) {
17604
17614
  }
17605
17615
  return d;
17606
17616
  }
17607
- function O0(e) {
17608
- const t = e.deviceMemoryGb ?? L0();
17609
- if (t != null && t < _0)
17617
+ function j0(e) {
17618
+ const t = e.deviceMemoryGb ?? z0();
17619
+ if (t != null && t < L0)
17610
17620
  return () => {
17611
17621
  };
17612
17622
  const n = e.instances ?? fc(), r = e.getGraph ?? xo;
17613
- for (const o of z0(
17623
+ for (const o of D0(
17614
17624
  e.getPages(),
17615
17625
  e.appOrigin,
17616
17626
  e.baselineEnvironment
@@ -17621,7 +17631,7 @@ function O0(e) {
17621
17631
  () => e.editor.activePageId,
17622
17632
  (o) => {
17623
17633
  if (!o) return;
17624
- const i = D0(
17634
+ const i = O0(
17625
17635
  r(),
17626
17636
  e.getPages(),
17627
17637
  o
@@ -17633,7 +17643,7 @@ function O0(e) {
17633
17643
  }
17634
17644
  );
17635
17645
  }
17636
- function j0(e) {
17646
+ function B0(e) {
17637
17647
  return e.flatMap((t, n) => {
17638
17648
  const r = t.id.trim() || `path:${n + 1}`, o = t.screenIds.map((i) => i.trim()).filter(Boolean);
17639
17649
  return o.slice(1).map((i, s) => {
@@ -17664,7 +17674,7 @@ function Aa(e, t = /* @__PURE__ */ new Set()) {
17664
17674
  }
17665
17675
  return t.delete(e), n;
17666
17676
  }
17667
- function B0(e) {
17677
+ function W0(e) {
17668
17678
  return JSON.stringify(
17669
17679
  Aa({
17670
17680
  version: 1,
@@ -17688,11 +17698,11 @@ function B0(e) {
17688
17698
  function pt(e) {
17689
17699
  return [...new Set([...e].map((t) => t == null ? void 0 : t.trim()).filter(Boolean))].sort((t, n) => t.localeCompare(n));
17690
17700
  }
17691
- function W0(e, t) {
17701
+ function H0(e, t) {
17692
17702
  var r;
17693
17703
  return ((r = e.id) == null ? void 0 : r.trim()) || `edge:${t + 1}`;
17694
17704
  }
17695
- function H0(e) {
17705
+ function U0(e) {
17696
17706
  const t = [...e.screens].sort((r, o) => r.id.localeCompare(o.id)), n = t[0].id;
17697
17707
  return {
17698
17708
  id: `story:${n}`,
@@ -17721,7 +17731,7 @@ function md(e) {
17721
17731
  e.scenarioId
17722
17732
  ].join(":");
17723
17733
  }
17724
- function U0(e) {
17734
+ function V0(e) {
17725
17735
  var le, ae;
17726
17736
  const t = [], n = [], r = /* @__PURE__ */ new Map();
17727
17737
  for (const P of e.screens) {
@@ -17742,7 +17752,7 @@ function U0(e) {
17742
17752
  for (const P of n) {
17743
17753
  let k;
17744
17754
  try {
17745
- if (k = (e.recipeKey ?? B0)(P), !k.trim()) throw new Error("Recipe keys cannot be empty.");
17755
+ if (k = (e.recipeKey ?? W0)(P), !k.trim()) throw new Error("Recipe keys cannot be empty.");
17746
17756
  } catch (E) {
17747
17757
  i.add(P.id), t.push({
17748
17758
  code: "invalid-recipe",
@@ -17754,7 +17764,7 @@ function U0(e) {
17754
17764
  const $ = o.get(k);
17755
17765
  $ ? $.screens.push(P) : o.set(k, { recipeKey: k, screens: [P] });
17756
17766
  }
17757
- const s = [...o.values()].map(H0).sort((P, k) => P.id.localeCompare(k.id)), c = {};
17767
+ const s = [...o.values()].map(U0).sort((P, k) => P.id.localeCompare(k.id)), c = {};
17758
17768
  for (const P of s)
17759
17769
  for (const k of P.screenIds) c[k] = P.id;
17760
17770
  const l = new Map(s.map((P) => [P.id, P])), d = (P, k) => pt([
@@ -17813,7 +17823,7 @@ function U0(e) {
17813
17823
  let A = 0;
17814
17824
  for (const [P, k] of v)
17815
17825
  for (const $ of k) {
17816
- const E = W0($, A);
17826
+ const E = H0($, A);
17817
17827
  A += 1;
17818
17828
  const ce = b($.from, E, "source"), ne = b($.to, E, "target");
17819
17829
  if (!ce || !ne || ce === ne) continue;
@@ -17983,7 +17993,7 @@ function U0(e) {
17983
17993
  coverage: Me
17984
17994
  };
17985
17995
  }
17986
- function V0(e) {
17996
+ function q0(e) {
17987
17997
  return e ? JSON.parse(JSON.stringify(e)) : void 0;
17988
17998
  }
17989
17999
  function Fi(e) {
@@ -17997,7 +18007,7 @@ function Fi(e) {
17997
18007
  function gd(e) {
17998
18008
  return JSON.stringify(Fi(e ?? null));
17999
18009
  }
18000
- function q0(e) {
18010
+ function K0(e) {
18001
18011
  return !!(e && typeof e == "object" && !Array.isArray(e));
18002
18012
  }
18003
18013
  function qt(e) {
@@ -18045,7 +18055,7 @@ function bd(e, t, n) {
18045
18055
  screenIds: n.get(i) ?? [s]
18046
18056
  })).sort((i, s) => i.representativeId.localeCompare(s.representativeId));
18047
18057
  }
18048
- function K0(e) {
18058
+ function Y0(e) {
18049
18059
  var n;
18050
18060
  const t = /* @__PURE__ */ new Map();
18051
18061
  for (const r of e ?? []) {
@@ -18059,7 +18069,7 @@ function K0(e) {
18059
18069
  }
18060
18070
  return [...t.values()].sort((r, o) => r.id.localeCompare(o.id));
18061
18071
  }
18062
- function Y0(e, t, n, r) {
18072
+ function G0(e, t, n, r) {
18063
18073
  return (e ?? []).flatMap((o, i) => {
18064
18074
  var h, m, b;
18065
18075
  const s = (h = o.from) == null ? void 0 : h.trim(), c = (m = o.to) == null ? void 0 : m.trim();
@@ -18083,7 +18093,7 @@ function Y0(e, t, n, r) {
18083
18093
  );
18084
18094
  });
18085
18095
  }
18086
- function G0(e, t, n) {
18096
+ function X0(e, t, n) {
18087
18097
  const r = qt(e.route);
18088
18098
  if (!r) return [];
18089
18099
  const o = t.filter(
@@ -18107,7 +18117,7 @@ function G0(e, t, n) {
18107
18117
  )
18108
18118
  ].sort((c, l) => c.localeCompare(l));
18109
18119
  }
18110
- function X0(e, t) {
18120
+ function J0(e, t) {
18111
18121
  const n = e.some((i) => i.importKind != null), r = t.candidates ?? [], o = dh(t);
18112
18122
  return e.filter(
18113
18123
  (i) => n ? i.importKind === "screens" : !!i.route
@@ -18129,7 +18139,7 @@ function X0(e, t) {
18129
18139
  scenario: i.scenario,
18130
18140
  state: i.state,
18131
18141
  scenarioId: i.scenarioId,
18132
- scenarioIds: G0(i, r, o),
18142
+ scenarioIds: X0(i, r, o),
18133
18143
  interactions: i.interactions,
18134
18144
  environment: i.environment,
18135
18145
  preset: i.preset,
@@ -18146,7 +18156,7 @@ function Xi(e, t) {
18146
18156
  const i = !e.environment && !e.preset ? 0 : 1, s = !t.environment && !t.preset ? 0 : 1;
18147
18157
  return i !== s ? i - s : e.id.localeCompare(t.id);
18148
18158
  }
18149
- function J0(e) {
18159
+ function Q0(e) {
18150
18160
  const t = /* @__PURE__ */ new Map();
18151
18161
  for (const n of e) {
18152
18162
  const r = qt(n.route);
@@ -18161,7 +18171,7 @@ function J0(e) {
18161
18171
  })
18162
18172
  );
18163
18173
  }
18164
- function Q0(e) {
18174
+ function Z0(e) {
18165
18175
  const t = /* @__PURE__ */ new Map();
18166
18176
  for (const n of e) {
18167
18177
  const r = qt(n.route);
@@ -18176,7 +18186,7 @@ function Q0(e) {
18176
18186
  ])
18177
18187
  );
18178
18188
  }
18179
- function Z0(e) {
18189
+ function e1(e) {
18180
18190
  return e.action === "wait" ? null : JSON.stringify(
18181
18191
  Fi({
18182
18192
  action: e.action,
@@ -18193,12 +18203,12 @@ function Z0(e) {
18193
18203
  );
18194
18204
  }
18195
18205
  function lh(e) {
18196
- return (e.interactions ?? []).map(Z0).filter((t) => t != null);
18206
+ return (e.interactions ?? []).map(e1).filter((t) => t != null);
18197
18207
  }
18198
- function e1(e, t) {
18208
+ function t1(e, t) {
18199
18209
  return e.length < t.length && e.every((n, r) => n === t[r]);
18200
18210
  }
18201
- function t1(e, t) {
18211
+ function n1(e, t) {
18202
18212
  const n = /* @__PURE__ */ new Map();
18203
18213
  for (const r of e) {
18204
18214
  const o = qt(r.route);
@@ -18217,7 +18227,7 @@ function t1(e, t) {
18217
18227
  }));
18218
18228
  });
18219
18229
  }
18220
- function n1(e, t) {
18230
+ function r1(e, t) {
18221
18231
  const n = /* @__PURE__ */ new Map();
18222
18232
  for (const r of e) {
18223
18233
  const o = qt(r.route);
@@ -18235,7 +18245,7 @@ function n1(e, t) {
18235
18245
  const d = i.get(l.id);
18236
18246
  if (!d.length) return [];
18237
18247
  const h = o.filter(
18238
- (m) => e1(
18248
+ (m) => t1(
18239
18249
  i.get(m.id),
18240
18250
  d
18241
18251
  )
@@ -18267,7 +18277,7 @@ function n1(e, t) {
18267
18277
  });
18268
18278
  });
18269
18279
  }
18270
- function r1(e) {
18280
+ function o1(e) {
18271
18281
  var n;
18272
18282
  const t = /* @__PURE__ */ new Map();
18273
18283
  for (const r of e) {
@@ -18299,7 +18309,7 @@ function r1(e) {
18299
18309
  });
18300
18310
  });
18301
18311
  }
18302
- function o1(e, t, n) {
18312
+ function i1(e, t, n) {
18303
18313
  const r = new Set(
18304
18314
  (t.routes ?? []).map((o) => qt(o.path)).filter((o) => !!o)
18305
18315
  );
@@ -18321,7 +18331,7 @@ function o1(e, t, n) {
18321
18331
  } : o;
18322
18332
  });
18323
18333
  }
18324
- function i1(e, t) {
18334
+ function s1(e, t) {
18325
18335
  var d, u, h, m, b;
18326
18336
  const n = new Set(e.map((x) => x.id)), r = new Map(
18327
18337
  e.map((x, w) => [x.id, w])
@@ -18386,42 +18396,42 @@ function i1(e, t) {
18386
18396
  }
18387
18397
  function dh(e) {
18388
18398
  var t, n;
18389
- return V0(
18399
+ return q0(
18390
18400
  (n = (t = e.scenarios) == null ? void 0 : t.find(
18391
18401
  (r) => r.id === "environment:baseline"
18392
18402
  )) == null ? void 0 : n.environment
18393
18403
  );
18394
18404
  }
18395
- function s1(e) {
18405
+ function a1(e) {
18396
18406
  var l, d, u, h, m;
18397
- const t = X0(
18407
+ const t = J0(
18398
18408
  e.pages,
18399
18409
  e.manifest
18400
- ), n = J0(t), r = Q0(t), o = o1(
18410
+ ), n = Q0(t), r = Z0(t), o = i1(
18401
18411
  t,
18402
18412
  e.manifest,
18403
18413
  n
18404
18414
  ), s = [
18405
- ...Y0(
18415
+ ...G0(
18406
18416
  e.manifest.edges,
18407
18417
  n,
18408
18418
  r,
18409
18419
  new Set(o.map((b) => b.id))
18410
18420
  ),
18411
- ...t1(o, n),
18412
18421
  ...n1(o, n),
18413
- ...r1(o)
18422
+ ...r1(o, n),
18423
+ ...o1(o)
18414
18424
  ], c = [
18415
18425
  ...((l = e.storyboard) == null ? void 0 : l.edges) ?? [],
18416
- ...j0(((d = e.storyboard) == null ? void 0 : d.paths) ?? [])
18426
+ ...B0(((d = e.storyboard) == null ? void 0 : d.paths) ?? [])
18417
18427
  ];
18418
- return U0({
18428
+ return V0({
18419
18429
  screens: o,
18420
18430
  assets: e.assets,
18421
- scenarios: K0(e.manifest.routes),
18431
+ scenarios: Y0(e.manifest.routes),
18422
18432
  explicitEdges: c,
18423
18433
  inferredEdges: s,
18424
- startScreenIds: (h = (u = e.storyboard) == null ? void 0 : u.startScreenIds) != null && h.length ? e.storyboard.startScreenIds : i1(o, [...c, ...s]),
18434
+ startScreenIds: (h = (u = e.storyboard) == null ? void 0 : u.startScreenIds) != null && h.length ? e.storyboard.startScreenIds : s1(o, [...c, ...s]),
18425
18435
  nonVisualScenarioIds: (m = e.storyboard) == null ? void 0 : m.nonVisualScenarioIds
18426
18436
  });
18427
18437
  }
@@ -18434,12 +18444,12 @@ async function uh(e) {
18434
18444
  if (!n.ok)
18435
18445
  throw new Error(`Storyboard discovery failed (${n.status})`);
18436
18446
  const r = await n.json();
18437
- if (!q0(r))
18447
+ if (!K0(r))
18438
18448
  throw new Error("Storyboard discovery returned an invalid manifest.");
18439
18449
  return {
18440
18450
  manifest: r,
18441
18451
  baselineEnvironment: dh(r),
18442
- graph: s1({
18452
+ graph: a1({
18443
18453
  manifest: r,
18444
18454
  pages: e.pages,
18445
18455
  assets: e.assets,
@@ -18447,7 +18457,7 @@ async function uh(e) {
18447
18457
  })
18448
18458
  };
18449
18459
  }
18450
- async function eS(e) {
18460
+ async function tS(e) {
18451
18461
  kn(null);
18452
18462
  try {
18453
18463
  const t = await uh(e);
@@ -18456,15 +18466,15 @@ async function eS(e) {
18456
18466
  throw kn(null), t;
18457
18467
  }
18458
18468
  }
18459
- const _i = "var(--pygmalion-catalog-surface, #ffffff)", Li = "var(--pygmalion-catalog-canvas, #f5f5f5)", ka = "var(--pygmalion-catalog-border, #e5e7eb)", zi = "var(--pygmalion-catalog-text, #202124)", Vt = "var(--pygmalion-catalog-muted, #6b7280)", a1 = "var(--pygmalion-catalog-header, #11182f)", c1 = "var(--pygmalion-catalog-accent, #7c6cf2)";
18460
- function tS({
18469
+ const _i = "var(--pygmalion-catalog-surface, #ffffff)", Li = "var(--pygmalion-catalog-canvas, #f5f5f5)", ka = "var(--pygmalion-catalog-border, #e5e7eb)", zi = "var(--pygmalion-catalog-text, #202124)", Vt = "var(--pygmalion-catalog-muted, #6b7280)", c1 = "var(--pygmalion-catalog-header, #11182f)", l1 = "var(--pygmalion-catalog-accent, #7c6cf2)";
18470
+ function nS({
18461
18471
  title: e,
18462
18472
  eyebrow: t,
18463
18473
  description: n,
18464
18474
  version: r,
18465
18475
  meta: o,
18466
18476
  children: i,
18467
- headerBackground: s = a1,
18477
+ headerBackground: s = c1,
18468
18478
  headerColor: c = "#ffffff",
18469
18479
  bodyBackground: l = _i,
18470
18480
  bodyGap: d = 40
@@ -18581,7 +18591,7 @@ function tS({
18581
18591
  }
18582
18592
  );
18583
18593
  }
18584
- function nS({
18594
+ function rS({
18585
18595
  title: e,
18586
18596
  itemId: t,
18587
18597
  count: n,
@@ -18626,7 +18636,7 @@ function nS({
18626
18636
  }
18627
18637
  );
18628
18638
  }
18629
- function rS({
18639
+ function oS({
18630
18640
  rows: e,
18631
18641
  columns: t,
18632
18642
  cornerLabel: n,
@@ -18645,7 +18655,7 @@ function rS({
18645
18655
  display: "inline-block",
18646
18656
  width: "max-content",
18647
18657
  padding: s ? 16 : 0,
18648
- border: s ? `1px dashed ${c1}` : void 0,
18658
+ border: s ? `1px dashed ${l1}` : void 0,
18649
18659
  borderRadius: s ? 4 : void 0
18650
18660
  },
18651
18661
  children: /* @__PURE__ */ g(
@@ -18723,11 +18733,11 @@ function rS({
18723
18733
  }
18724
18734
  );
18725
18735
  }
18726
- function l1(e) {
18736
+ function d1(e) {
18727
18737
  return e.normalize("NFKD").replace(/[\u0300-\u036f]/g, "").replace(/[^\p{L}\p{N}]+/gu, "-").replace(/^-+|-+$/g, "").toLowerCase() || "page";
18728
18738
  }
18729
18739
  function fh(e, t, n = "PygmalionCatalog") {
18730
- const r = (o) => l1(o).replace(/-/g, "_");
18740
+ const r = (o) => d1(o).replace(/-/g, "_");
18731
18741
  return `${n}_${r(e)}_${r(t)}`;
18732
18742
  }
18733
18743
  function hh(e, t) {
@@ -18749,10 +18759,10 @@ function ph(e) {
18749
18759
  t.add(n.id);
18750
18760
  }
18751
18761
  }
18752
- function d1(e, t, n) {
18762
+ function u1(e, t, n) {
18753
18763
  return typeof e == "function" ? e(t, n) : e;
18754
18764
  }
18755
- function u1({
18765
+ function f1({
18756
18766
  page: e,
18757
18767
  items: t,
18758
18768
  renderPreview: n,
@@ -18856,7 +18866,7 @@ function u1({
18856
18866
  }
18857
18867
  );
18858
18868
  }
18859
- function oS(e) {
18869
+ function iS(e) {
18860
18870
  ph(e.items);
18861
18871
  const t = /* @__PURE__ */ new Map();
18862
18872
  for (const o of e.items) {
@@ -18880,7 +18890,7 @@ function oS(e) {
18880
18890
  const n = {}, r = [];
18881
18891
  for (const o of t.values()) {
18882
18892
  const i = () => /* @__PURE__ */ a(
18883
- u1,
18893
+ f1,
18884
18894
  {
18885
18895
  page: o.page,
18886
18896
  items: o.items,
@@ -18893,7 +18903,7 @@ function oS(e) {
18893
18903
  component: i,
18894
18904
  children: "none"
18895
18905
  };
18896
- const s = d1(e.frame, o.page, o.items);
18906
+ const s = u1(e.frame, o.page, o.items);
18897
18907
  r.push({
18898
18908
  ...o.page,
18899
18909
  componentName: o.registryName,
@@ -18911,7 +18921,7 @@ function oS(e) {
18911
18921
  }
18912
18922
  };
18913
18923
  }
18914
- function f1(e, t = 60) {
18924
+ function h1(e, t = 60) {
18915
18925
  const n = Object.entries((e == null ? void 0 : e.props) ?? {}).filter(([, c]) => c.length > 0).sort(([c, l], [d, u]) => u.length - l.length || c.localeCompare(d)), r = n[0], o = n[1], i = Math.max(1, (r == null ? void 0 : r[1].length) ?? 1), s = o == null ? void 0 : o[1].slice(0, Math.max(1, Math.floor(t / i)));
18916
18926
  return {
18917
18927
  row: r,
@@ -18920,7 +18930,7 @@ function f1(e, t = 60) {
18920
18930
  additional: n.slice(2)
18921
18931
  };
18922
18932
  }
18923
- function h1(e, t, n, r) {
18933
+ function p1(e, t, n, r) {
18924
18934
  return {
18925
18935
  ...e.defaultProps,
18926
18936
  ...Object.fromEntries(t.fixed),
@@ -18928,7 +18938,7 @@ function h1(e, t, n, r) {
18928
18938
  ...t.column && r !== void 0 ? { [t.column[0]]: r } : {}
18929
18939
  };
18930
18940
  }
18931
- function p1({
18941
+ function m1({
18932
18942
  item: e,
18933
18943
  entry: t,
18934
18944
  maxVariantCells: n
@@ -18954,7 +18964,7 @@ function p1({
18954
18964
  ]
18955
18965
  }
18956
18966
  );
18957
- const r = f1(t, n), o = ((c = r.row) == null ? void 0 : c[1]) ?? [void 0], i = ((l = r.column) == null ? void 0 : l[1]) ?? [void 0], s = t.component;
18967
+ const r = h1(t, n), o = ((c = r.row) == null ? void 0 : c[1]) ?? [void 0], i = ((l = r.column) == null ? void 0 : l[1]) ?? [void 0], s = t.component;
18958
18968
  return /* @__PURE__ */ g(
18959
18969
  "section",
18960
18970
  {
@@ -18985,7 +18995,7 @@ function p1({
18985
18995
  children: o.flatMap(
18986
18996
  (d) => i.map((u) => {
18987
18997
  var b, x;
18988
- const h = h1(t, r, d, u), m = [
18998
+ const h = p1(t, r, d, u), m = [
18989
18999
  r.row && d !== void 0 ? `${((b = t.propLabels) == null ? void 0 : b[r.row[0]]) ?? r.row[0]}=${String(d)}` : "",
18990
19000
  r.column && u !== void 0 ? `${((x = t.propLabels) == null ? void 0 : x[r.column[0]]) ?? r.column[0]}=${String(u)}` : ""
18991
19001
  ].filter(Boolean).join(" · ");
@@ -19044,7 +19054,7 @@ function p1({
19044
19054
  }
19045
19055
  );
19046
19056
  }
19047
- function iS(e) {
19057
+ function sS(e) {
19048
19058
  ph(e.items);
19049
19059
  const t = {}, n = [], r = [], o = e.maxVariantCells ?? 60;
19050
19060
  for (const i of e.items) {
@@ -19053,7 +19063,7 @@ function iS(e) {
19053
19063
  i.id,
19054
19064
  e.registryPrefix
19055
19065
  ), c = e.registry[i.name], l = () => /* @__PURE__ */ a(
19056
- p1,
19066
+ m1,
19057
19067
  {
19058
19068
  item: i,
19059
19069
  entry: c,
@@ -19081,7 +19091,7 @@ function iS(e) {
19081
19091
  }
19082
19092
  };
19083
19093
  }
19084
- const Ps = (e) => e.map((t) => `"${t.name}"`).join(", "), xd = (e) => `${e.width ?? "?"}x${e.height ?? "?"}`, m1 = (e) => e.state ?? "default", g1 = (e) => e === void 0 ? "(no canvas)" : `"${e}"`, qo = (e, t) => {
19094
+ const Ps = (e) => e.map((t) => `"${t.name}"`).join(", "), xd = (e) => `${e.width ?? "?"}x${e.height ?? "?"}`, g1 = (e) => e.state ?? "default", b1 = (e) => e === void 0 ? "(no canvas)" : `"${e}"`, qo = (e, t) => {
19085
19095
  const n = /* @__PURE__ */ new Map();
19086
19096
  for (const r of e) {
19087
19097
  const o = n.get(t(r));
@@ -19089,7 +19099,7 @@ const Ps = (e) => e.map((t) => `"${t.name}"`).join(", "), xd = (e) => `${e.width
19089
19099
  }
19090
19100
  return n;
19091
19101
  };
19092
- function sS(e) {
19102
+ function aS(e) {
19093
19103
  const t = qo(
19094
19104
  e.filter((r) => !!r.scenario && r.route != null),
19095
19105
  (r) => r.scenario
@@ -19106,7 +19116,7 @@ function sS(e) {
19106
19116
  }
19107
19117
  const i = qo(o, (s) => s.canvas);
19108
19118
  if (i.size > 1) {
19109
- const s = [...i.entries()].map(([c, l]) => `${g1(c)}: ${Ps(l)}`).join("; ");
19119
+ const s = [...i.entries()].map(([c, l]) => `${b1(c)}: ${Ps(l)}`).join("; ");
19110
19120
  n.push({
19111
19121
  severity: "warning",
19112
19122
  code: "cross-canvas",
@@ -19124,7 +19134,7 @@ function sS(e) {
19124
19134
  message: `Scenario "${r}" mixes viewports: ${d}; sibling states should share one viewport so flipping between them compares like with like.`
19125
19135
  });
19126
19136
  }
19127
- const l = qo(s, m1);
19137
+ const l = qo(s, g1);
19128
19138
  for (const [d, u] of l)
19129
19139
  u.length < 2 || n.push({
19130
19140
  severity: "warning",
@@ -19136,23 +19146,23 @@ function sS(e) {
19136
19146
  }
19137
19147
  return n.sort((r, o) => r.severity !== o.severity ? r.severity === "warning" ? -1 : 1 : r.scenario < o.scenario ? -1 : r.scenario > o.scenario ? 1 : 0);
19138
19148
  }
19139
- const mh = 42e4, b1 = 2e3, x1 = 500, y1 = 5e3, v1 = 3e4;
19140
- function w1(e) {
19141
- const t = y1 * 2 ** Math.max(0, e);
19142
- return Math.min(t, v1);
19143
- }
19149
+ const mh = 42e4, x1 = 2e3, y1 = 500, v1 = 5e3, w1 = 3e4;
19144
19150
  function S1(e) {
19151
+ const t = v1 * 2 ** Math.max(0, e);
19152
+ return Math.min(t, w1);
19153
+ }
19154
+ function N1(e) {
19145
19155
  return new Promise((t) => setTimeout(t, e));
19146
19156
  }
19147
- async function N1(e) {
19157
+ async function I1(e) {
19148
19158
  const {
19149
19159
  initial: t,
19150
19160
  fetchStatus: n,
19151
19161
  requestResync: r,
19152
19162
  timeoutMs: o = mh,
19153
- intervalMs: i = x1,
19163
+ intervalMs: i = y1,
19154
19164
  now: s = Date.now,
19155
- sleep: c = S1
19165
+ sleep: c = N1
19156
19166
  } = e;
19157
19167
  let l = t, d = !1;
19158
19168
  const u = s();
@@ -19169,9 +19179,9 @@ async function N1(e) {
19169
19179
  }
19170
19180
  return l;
19171
19181
  }
19172
- const yd = /^[a-f0-9]{64}$/, I1 = /^\/__pygmalion-qa\/artifacts\/[A-Za-z0-9_-]{8,120}\.png$/, C1 = /^p\d+$/;
19182
+ const yd = /^[a-f0-9]{64}$/, C1 = /^\/__pygmalion-qa\/artifacts\/[A-Za-z0-9_-]{8,120}\.png$/, P1 = /^p\d+$/;
19173
19183
  function Ra(e) {
19174
- return typeof e == "string" && I1.test(e) ? e : void 0;
19184
+ return typeof e == "string" && C1.test(e) ? e : void 0;
19175
19185
  }
19176
19186
  function vd(e, t) {
19177
19187
  const n = new URL(e, t);
@@ -19191,7 +19201,7 @@ function wd(e) {
19191
19201
  const t = e;
19192
19202
  return !Number.isSafeInteger(t.width) || !Number.isSafeInteger(t.height) || Number(t.width) < 1 || Number(t.height) < 1 || Number(t.width) > 65536 || Number(t.height) > 65536 ? null : { width: Number(t.width), height: Number(t.height) };
19193
19203
  }
19194
- function P1(e) {
19204
+ function M1(e) {
19195
19205
  if (!e || typeof e != "object" || Array.isArray(e)) return null;
19196
19206
  const t = e, n = wd(t.before), r = wd(t.after);
19197
19207
  if (!n || !r || !Number.isSafeInteger(t.changedPixels) || !Number.isSafeInteger(t.totalPixels) || Number(t.changedPixels) < 0 || Number(t.totalPixels) < 1 || Number(t.changedPixels) > Number(t.totalPixels) || typeof t.threshold != "number" || !Number.isFinite(t.threshold) || t.threshold < 0 || t.threshold > 1)
@@ -19208,7 +19218,7 @@ function P1(e) {
19208
19218
  heatmapUrl: o
19209
19219
  };
19210
19220
  }
19211
- function M1(e, t) {
19221
+ function $1(e, t) {
19212
19222
  if (!e || typeof e != "object" || Array.isArray(e)) return null;
19213
19223
  const n = e;
19214
19224
  if (typeof n.id != "string" || !n.id) return null;
@@ -19216,7 +19226,7 @@ function M1(e, t) {
19216
19226
  if (!o) return null;
19217
19227
  const i = Ms(n.after);
19218
19228
  if (t === "changed" && !i) return null;
19219
- const s = i ? P1(n.pixelDiff) : null;
19229
+ const s = i ? M1(n.pixelDiff) : null;
19220
19230
  return {
19221
19231
  id: n.id,
19222
19232
  before: o,
@@ -19228,7 +19238,7 @@ function M1(e, t) {
19228
19238
  ...s ? { pixelDiff: s } : {}
19229
19239
  };
19230
19240
  }
19231
- function $1(e, t = []) {
19241
+ function E1(e, t = []) {
19232
19242
  const n = new Set(t), r = n.size > 0, o = /* @__PURE__ */ new Set(), i = [
19233
19243
  ...e.styles.map((s) => s.affectedFrames ?? []),
19234
19244
  ...e.texts.map((s) => s.affectedFrames ?? []),
@@ -19236,7 +19246,7 @@ function $1(e, t = []) {
19236
19246
  ];
19237
19247
  for (const s of i)
19238
19248
  for (const c of s) {
19239
- if (r && C1.test(c.id) && !n.has(c.id))
19249
+ if (r && P1.test(c.id) && !n.has(c.id))
19240
19250
  throw new Error(
19241
19251
  `"Impact Screen"${c.name}"This internal editor ID (${c.id}) is used. A canonical screen ID is required.`
19242
19252
  );
@@ -19256,7 +19266,7 @@ async function Sd(e, t, n) {
19256
19266
  );
19257
19267
  if (typeof o.baselineId != "string" || !o.baselineId)
19258
19268
  throw new Error("Pygmalion visual QA response has no baselineId");
19259
- const i = Array.isArray(o.frames) ? o.frames.map((u) => M1(u, n.phase)).filter((u) => u != null) : [], s = Array.isArray(o.failures) ? o.failures.map((u) => {
19269
+ const i = Array.isArray(o.frames) ? o.frames.map((u) => $1(u, n.phase)).filter((u) => u != null) : [], s = Array.isArray(o.failures) ? o.failures.map((u) => {
19260
19270
  if (!u || typeof u != "object" || Array.isArray(u)) return null;
19261
19271
  const h = u;
19262
19272
  return typeof h.id == "string" && typeof h.error == "string" ? { id: h.id, error: h.error } : null;
@@ -19273,12 +19283,12 @@ const $s = {
19273
19283
  mirror: "/__pygmalion-dev-control",
19274
19284
  sessions: "/__pygmalion-design-session",
19275
19285
  inspect: "/__pygmalion-inspect"
19276
- }, E1 = "pygmalion.designSessionId", A1 = "/__pygmalion-qa", Ko = /* @__PURE__ */ new Map();
19286
+ }, A1 = "pygmalion.designSessionId", k1 = "/__pygmalion-qa", Ko = /* @__PURE__ */ new Map();
19277
19287
  function Nd() {
19278
19288
  var e;
19279
19289
  return typeof window < "u" && ((e = window.crypto) != null && e.randomUUID) ? window.crypto.randomUUID() : `pygmalion-${Date.now()}-${Math.random().toString(36).slice(2)}`;
19280
19290
  }
19281
- function k1(e, t) {
19291
+ function R1(e, t) {
19282
19292
  if (e) return e;
19283
19293
  const n = Ko.get(t);
19284
19294
  if (n) return n;
@@ -19298,23 +19308,23 @@ async function rn(e) {
19298
19308
  if (!e.ok) throw new Error(t.error ?? `Pygmalion request failed (${e.status})`);
19299
19309
  return t;
19300
19310
  }
19301
- const R1 = 3e4;
19302
- function Es(e = R1) {
19311
+ const T1 = 3e4;
19312
+ function Es(e = T1) {
19303
19313
  return typeof AbortSignal > "u" || typeof AbortSignal.timeout != "function" ? {} : { signal: AbortSignal.timeout(e) };
19304
19314
  }
19305
- function aS(e = {}) {
19315
+ function cS(e = {}) {
19306
19316
  var Me, le, ae, P, k;
19307
19317
  const {
19308
19318
  sessionId: t,
19309
- sessionStorageKey: n = E1,
19319
+ sessionStorageKey: n = A1,
19310
19320
  autoStart: r = !0,
19311
19321
  fetcher: o = fetch,
19312
19322
  formatApplyMessage: i
19313
- } = e, s = ((Me = e.endpoints) == null ? void 0 : Me.mirror) ?? $s.mirror, c = ((le = e.endpoints) == null ? void 0 : le.sessions) ?? $s.sessions, l = ((ae = e.endpoints) == null ? void 0 : ae.inspect) ?? $s.inspect, d = e.visualQa != null, u = ((P = e.visualQa) == null ? void 0 : P.endpoint) ?? A1, h = JSON.stringify(((k = e.visualQa) == null ? void 0 : k.eligibleFrameIds) ?? []), m = Dt(
19323
+ } = e, s = ((Me = e.endpoints) == null ? void 0 : Me.mirror) ?? $s.mirror, c = ((le = e.endpoints) == null ? void 0 : le.sessions) ?? $s.sessions, l = ((ae = e.endpoints) == null ? void 0 : ae.inspect) ?? $s.inspect, d = e.visualQa != null, u = ((P = e.visualQa) == null ? void 0 : P.endpoint) ?? k1, h = JSON.stringify(((k = e.visualQa) == null ? void 0 : k.eligibleFrameIds) ?? []), m = Dt(
19314
19324
  () => JSON.parse(h),
19315
19325
  [h]
19316
19326
  ), b = Dt(
19317
- () => k1(t, n),
19327
+ () => R1(t, n),
19318
19328
  [t, n]
19319
19329
  ), [x, w] = ee({
19320
19330
  state: "idle",
@@ -19346,7 +19356,7 @@ function aS(e = {}) {
19346
19356
  ...$ || ne ? {} : Es()
19347
19357
  });
19348
19358
  let fe = await rn(Ae);
19349
- if ($ || (fe = await N1({
19359
+ if ($ || (fe = await I1({
19350
19360
  initial: fe,
19351
19361
  fetchStatus: async () => rn(
19352
19362
  await o(`${s}/status`, Es())
@@ -19495,7 +19505,7 @@ function aS(e = {}) {
19495
19505
  );
19496
19506
  if (!E.ok || !Number.isSafeInteger(E.revision))
19497
19507
  throw new Error(E.error ?? "Pygmalion could not preview the visual changes");
19498
- const ce = d ? $1($, m) : [];
19508
+ const ce = d ? E1($, m) : [];
19499
19509
  let ne;
19500
19510
  const Ae = v.appOrigin ?? x.appOrigin;
19501
19511
  if (ce.length > 0) {
@@ -19583,7 +19593,7 @@ function aS(e = {}) {
19583
19593
  if (x.state !== "error") return;
19584
19594
  const $ = window.setTimeout(() => {
19585
19595
  K(!1);
19586
- }, w1(J.current++));
19596
+ }, S1(J.current++));
19587
19597
  return () => window.clearTimeout($);
19588
19598
  }, [r, C, x.state, K]), se(() => {
19589
19599
  if (!r || x.state !== "idle") return;
@@ -19599,7 +19609,7 @@ function aS(e = {}) {
19599
19609
  } catch {
19600
19610
  }
19601
19611
  })();
19602
- }, b1);
19612
+ }, x1);
19603
19613
  return () => {
19604
19614
  $ = !0, window.clearInterval(E);
19605
19615
  };
@@ -19624,7 +19634,7 @@ function aS(e = {}) {
19624
19634
  revertLastVisual: O
19625
19635
  };
19626
19636
  }
19627
- function cS({
19637
+ function lS({
19628
19638
  value: e,
19629
19639
  currentCommit: t = null,
19630
19640
  refs: n,
@@ -19718,15 +19728,15 @@ function cS({
19718
19728
  }
19719
19729
  );
19720
19730
  }
19721
- const Id = 10, T1 = 0.5;
19731
+ const Id = 10, F1 = 0.5;
19722
19732
  function Cd(e) {
19723
19733
  const t = (e.selector ?? "").trim(), n = (e.text ?? "").trim(), r = e.attribute ? `${e.attribute.name ?? ""}=${e.attribute.value ?? ""}` : "";
19724
19734
  return `${t}|${n}|${r}`;
19725
19735
  }
19726
- function lS(e, t) {
19736
+ function dS(e, t) {
19727
19737
  const n = [];
19728
19738
  if (e.length === 0) return n;
19729
- const r = (t == null ? void 0 : t.genericShare) ?? T1, o = /* @__PURE__ */ new Map();
19739
+ const r = (t == null ? void 0 : t.genericShare) ?? F1, o = /* @__PURE__ */ new Map();
19730
19740
  for (const s of e)
19731
19741
  for (const c of new Set(
19732
19742
  (s.assertions ?? []).map((l) => Cd(l))
@@ -19767,15 +19777,15 @@ function lS(e, t) {
19767
19777
  }
19768
19778
  return n;
19769
19779
  }
19770
- function F1(e) {
19780
+ function _1(e) {
19771
19781
  const t = [], n = /\[data-testid=["']([^"']+)["']\]/g;
19772
19782
  let r = n.exec(e);
19773
19783
  for (; r; )
19774
19784
  t.push(r[1]), r = n.exec(e);
19775
19785
  return t;
19776
19786
  }
19777
- function dS(e) {
19778
- const t = new Set(e.hooks), n = new Set(e.answered ?? []), r = new Set(e.targets.flatMap((i) => F1(i))), o = [];
19787
+ function uS(e) {
19788
+ const t = new Set(e.hooks), n = new Set(e.answered ?? []), r = new Set(e.targets.flatMap((i) => _1(i))), o = [];
19779
19789
  for (const i of e.hooks)
19780
19790
  r.has(i) || n.has(i) || o.push({
19781
19791
  severity: "error",
@@ -19794,7 +19804,7 @@ function dS(e) {
19794
19804
  });
19795
19805
  return o;
19796
19806
  }
19797
- function uS(e) {
19807
+ function fS(e) {
19798
19808
  const t = /* @__PURE__ */ new Map();
19799
19809
  for (const r of e) {
19800
19810
  if (!r.route || !r.scenario || !r.state || r.stateKind) continue;
@@ -19815,7 +19825,7 @@ function uS(e) {
19815
19825
  }
19816
19826
  return n;
19817
19827
  }
19818
- function fS(e) {
19828
+ function hS(e) {
19819
19829
  const t = /* @__PURE__ */ new Map();
19820
19830
  for (const n of e) {
19821
19831
  if (!n.route) continue;
@@ -19829,7 +19839,7 @@ function fS(e) {
19829
19839
  return [...t.values()].sort((n, r) => r.screens - n.screens);
19830
19840
  }
19831
19841
  let gh = !1, bh = "";
19832
- const hS = {
19842
+ const pS = {
19833
19843
  editor: f,
19834
19844
  getObserverTree: qp,
19835
19845
  isObservableProp: Vp,
@@ -19839,8 +19849,8 @@ const hS = {
19839
19849
  Promise.resolve().then(() => oa),
19840
19850
  Promise.resolve().then(() => eb),
19841
19851
  Promise.resolve().then(() => Em),
19842
- import("./FrozenRoutePreview-V9-gxIyv.js").then((u) => u.bq),
19843
- import("./FrozenRoutePreview-V9-gxIyv.js").then((u) => u.bp)
19852
+ import("./FrozenRoutePreview-BVYL3dLT.js").then((u) => u.bq),
19853
+ import("./FrozenRoutePreview-BVYL3dLT.js").then((u) => u.bp)
19844
19854
  ]), s = i.getMountedShadowPreviewHandle(e), c = f.pages.find(
19845
19855
  (u) => u.id === e
19846
19856
  );
@@ -19940,17 +19950,17 @@ const hS = {
19940
19950
  };
19941
19951
  }
19942
19952
  };
19943
- function pS(e) {
19953
+ function mS(e) {
19944
19954
  f.navigateToPageByName(e);
19945
19955
  }
19946
- function mS() {
19956
+ function gS() {
19947
19957
  f.openPreview();
19948
19958
  }
19949
- function gS() {
19959
+ function bS() {
19950
19960
  const e = Z.entries.length > 0;
19951
19961
  return e && Z.discardPending(), f.resetCurrentEdits() || e;
19952
19962
  }
19953
- function bS({
19963
+ function xS({
19954
19964
  registry: e,
19955
19965
  tokens: t,
19956
19966
  initialPages: n,
@@ -20011,7 +20021,7 @@ function bS({
20011
20021
  const [bt, _] = ee();
20012
20022
  d && (d.assertComplete(), Yp(d));
20013
20023
  const xe = e ?? (d == null ? void 0 : d.getRegistry()), oe = t ?? (d == null ? void 0 : d.getTokens()), we = n ?? (d == null ? void 0 : d.getInitialPages());
20014
- xe && Gp(xe), Ly(i ?? []), oe && Jy(oe), jw(s ?? []), Xp(c ?? []), Qy(u ?? null), Nu(b), yu(
20024
+ xe && Gp(xe), zy(i ?? []), oe && Qy(oe), Bw(s ?? []), Xp(c ?? []), Zy(u ?? null), Nu(b), yu(
20015
20025
  !!(w != null && w.trim())
20016
20026
  );
20017
20027
  const W = bt ?? x, Ne = Dt(
@@ -20067,7 +20077,7 @@ function bS({
20067
20077
  interactions: V.interactions,
20068
20078
  assertions: V.assertions
20069
20079
  })
20070
- ), v != null && Mu(v), lm(C ?? null), R != null && Jp(R), B != null && Qp(B), Rv(q), f.initEditMode(o !== "view-only"), qu(S ?? []), Hu(D ?? 1), qw(K ?? []), Zp(T ?? []), em(L ?? []), tm(I ?? [], N), nm(F ?? []), rm(O ?? [], J), om(Se ?? []), jb(Y ?? 0), im(Me ?? le ?? []), Ox(ae ?? []), dm(P ?? null), um($ ?? null), sm(E ?? null), fm(ce ?? null), we && f.initPagesFromComponents(we, { initialCanvas: r }), Nr(() => {
20080
+ ), v != null && Mu(v), lm(C ?? null), R != null && Jp(R), B != null && Qp(B), Tv(q), f.initEditMode(o !== "view-only"), qu(S ?? []), Hu(D ?? 1), Kw(K ?? []), Zp(T ?? []), em(L ?? []), tm(I ?? [], N), nm(F ?? []), rm(O ?? [], J), om(Se ?? []), jb(Y ?? 0), im(Me ?? le ?? []), Ox(ae ?? []), dm(P ?? null), um($ ?? null), sm(E ?? null), fm(ce ?? null), we && f.initPagesFromComponents(we, { initialCanvas: r }), Nr(() => {
20071
20081
  h != null && am(h), m != null && cm(m), Gg(l ?? []);
20072
20082
  }, [h, l, m]), Nr(() => {
20073
20083
  !W || !we || !Je || na(W, {
@@ -20099,7 +20109,7 @@ function bS({
20099
20109
  Je
20100
20110
  ]), se(() => {
20101
20111
  Zc(k ?? null);
20102
- const V = Gy(f);
20112
+ const V = Xy(f);
20103
20113
  return () => {
20104
20114
  V(), Zc(null);
20105
20115
  };
@@ -20345,70 +20355,70 @@ function bS({
20345
20355
  const V = h ?? Cn();
20346
20356
  if (!V) return;
20347
20357
  const re = `${V}|${m ?? Zn()}`;
20348
- return he.current != null && he.current !== re && Jb(), he.current = re, O0({
20358
+ return he.current != null && he.current !== re && Jb(), he.current = re, j0({
20349
20359
  editor: f,
20350
20360
  getPages: () => f.pages,
20351
20361
  appOrigin: V,
20352
20362
  baselineEnvironment: _t()
20353
20363
  });
20354
- }, [h, Je, m]), /* @__PURE__ */ a(T0, { previewIdentityReady: Je });
20364
+ }, [h, Je, m]), /* @__PURE__ */ a(F0, { previewIdentityReady: Je });
20355
20365
  }
20356
20366
  export {
20357
- ew as DEFAULT_DESIGN_COMPILE_LIMITS,
20358
- vS as DESIGN_IMPORT_KINDS,
20359
- Qv as DESIGN_IR_SCHEMA,
20360
- Zv as DESIGN_IR_VERSION,
20361
- T1 as GENERIC_ASSERTION_SHARE,
20367
+ tw as DEFAULT_DESIGN_COMPILE_LIMITS,
20368
+ wS as DESIGN_IMPORT_KINDS,
20369
+ Zv as DESIGN_IR_SCHEMA,
20370
+ ew as DESIGN_IR_VERSION,
20371
+ F1 as GENERIC_ASSERTION_SHARE,
20362
20372
  xl as MIN_SURFACE_REASON_LENGTH,
20363
20373
  Id as MIN_UNVERIFIED_REASON_LENGTH,
20364
- Wv as PYGMALION_PREVIEW_CAPTURE_PROGRESS_SUFFIX,
20374
+ Hv as PYGMALION_PREVIEW_CAPTURE_PROGRESS_SUFFIX,
20365
20375
  fx as PYGMALION_PREVIEW_CAPTURE_SCHEMA_VERSION,
20366
- tS as PygmalionCatalogDocument,
20367
- rS as PygmalionCatalogMatrix,
20368
- nS as PygmalionCatalogSection,
20369
- bS as PygmalionEditor,
20376
+ nS as PygmalionCatalogDocument,
20377
+ oS as PygmalionCatalogMatrix,
20378
+ rS as PygmalionCatalogSection,
20379
+ xS as PygmalionEditor,
20370
20380
  Kp as STORYBOARD_ENVIRONMENT_CONTROL,
20371
- wS as STORYBOARD_ENVIRONMENT_QUERY,
20372
- cS as SourceRefControl,
20373
- hS as __debug,
20374
- Vw as applyScenarioCoverageClaim,
20375
- G1 as applyTokenOverride,
20381
+ SS as STORYBOARD_ENVIRONMENT_QUERY,
20382
+ lS as SourceRefControl,
20383
+ pS as __debug,
20384
+ qw as applyScenarioCoverageClaim,
20385
+ X1 as applyTokenOverride,
20376
20386
  Mx as bootstrapPreviewArtifact,
20377
- W1 as clearPreviewEnvironmentControlValues,
20387
+ H1 as clearPreviewEnvironmentControlValues,
20378
20388
  Og as clearPygmalionPreviewCache,
20379
- cw as compileDesignDocument,
20380
- iS as createDesignComponentCatalog,
20381
- f1 as createDesignComponentVariantMatrix,
20382
- oS as createDesignGalleryCatalog,
20383
- SS as createDesignImportController,
20384
- Q1 as createDesignIntermediateDocument,
20385
- NS as createDesignScreenCollection,
20389
+ lw as compileDesignDocument,
20390
+ sS as createDesignComponentCatalog,
20391
+ h1 as createDesignComponentVariantMatrix,
20392
+ iS as createDesignGalleryCatalog,
20393
+ NS as createDesignImportController,
20394
+ Z1 as createDesignIntermediateDocument,
20395
+ IS as createDesignScreenCollection,
20386
20396
  yx as createPreviewArtifactHttpTransport,
20387
- H1 as createPreviewCacheNamespace,
20397
+ U1 as createPreviewCacheNamespace,
20388
20398
  px as createPreviewFrameFingerprint,
20389
20399
  of as createPreviewRecipeFingerprint,
20390
20400
  xx as createStoryboardCaptureRecipeIdentity,
20391
- U0 as createStoryboardGraph,
20392
- s1 as createStoryboardGraphFromDiscovery,
20401
+ V0 as createStoryboardGraph,
20402
+ a1 as createStoryboardGraphFromDiscovery,
20393
20403
  eh as createStoryboardGraphViewModel,
20394
- j0 as createStoryboardPathEdges,
20404
+ B0 as createStoryboardPathEdges,
20395
20405
  ch as createStoryboardRouteScenarioId,
20396
20406
  Sr as createStoryboardRouteUrl,
20397
- l1 as designCatalogKey,
20407
+ d1 as designCatalogKey,
20398
20408
  fh as designCatalogRegistryName,
20399
- uS as detectStateGroupCandidates,
20409
+ fS as detectStateGroupCandidates,
20400
20410
  Lx as enumerateControlCandidates,
20401
- Y1 as enumerateDesignComponentConnectionCases,
20411
+ G1 as enumerateDesignComponentConnectionCases,
20402
20412
  Dx as enumerateRequestCandidates,
20403
- V1 as enumerateRouteCandidates,
20404
- IS as expandDesignScreenCasesViewports,
20405
- CS as expandDesignScreenCollectionViewports,
20413
+ q1 as enumerateRouteCandidates,
20414
+ CS as expandDesignScreenCasesViewports,
20415
+ PS as expandDesignScreenCollectionViewports,
20406
20416
  ff as frameSurfaceDemands,
20407
- PS as framesMissingScenario,
20408
- aw as getDesignCodegenAdapters,
20409
- K1 as getDesignComponentConnection,
20417
+ MS as framesMissingScenario,
20418
+ cw as getDesignCodegenAdapters,
20419
+ Y1 as getDesignComponentConnection,
20410
20420
  ya as getDesignComponentConnectionForComponent,
20411
- q1 as getDesignComponentConnections,
20421
+ K1 as getDesignComponentConnections,
20412
20422
  Wx as getObservedRequests,
20413
20423
  Jg as getPreviewEnvironmentControlValue,
20414
20424
  Xg as getPreviewEnvironmentControls,
@@ -20421,61 +20431,61 @@ export {
20421
20431
  xo as getStoryboardGraph,
20422
20432
  jx as getSurfaceClassifications,
20423
20433
  sh as getViewportPresets,
20424
- F1 as hooksInSelector,
20434
+ _1 as hooksInSelector,
20425
20435
  uh as loadStoryboardDiscovery,
20426
- MS as mergeScreenPresets,
20436
+ $S as mergeScreenPresets,
20427
20437
  Ot as mergeStoryboardEnvironment,
20428
- Kv as previewCaptureProgressEndpoint,
20429
- eS as publishStoryboardDiscovery,
20430
- pS as pygmalionNavigate,
20431
- mS as pygmalionOpenPreview,
20432
- gS as pygmalionResetCurrentEdits,
20433
- B1 as reconstructRoutePreviewArtifactScreenshotV3,
20434
- j1 as reconstructRoutePreviewArtifactSnapshotV3,
20435
- sw as registerDesignCodegenAdapter,
20438
+ Yv as previewCaptureProgressEndpoint,
20439
+ tS as publishStoryboardDiscovery,
20440
+ mS as pygmalionNavigate,
20441
+ gS as pygmalionOpenPreview,
20442
+ bS as pygmalionResetCurrentEdits,
20443
+ W1 as reconstructRoutePreviewArtifactScreenshotV3,
20444
+ B1 as reconstructRoutePreviewArtifactSnapshotV3,
20445
+ aw as registerDesignCodegenAdapter,
20436
20446
  zx as requestEndpointShape,
20437
- X1 as resetTokenOverrides,
20447
+ J1 as resetTokenOverrides,
20438
20448
  Px as resolvePreviewArtifactFrames,
20439
- X0 as resolveStoryboardScreenCases,
20449
+ J0 as resolveStoryboardScreenCases,
20440
20450
  kp as selectSessionPreset,
20441
20451
  Gp as setComponentRegistry,
20442
- Ly as setDesignComponentConnections,
20452
+ zy as setDesignComponentConnections,
20443
20453
  Bx as setObservedRequests,
20444
20454
  Qg as setPreviewEnvironmentControlValue,
20445
20455
  Gg as setPreviewEnvironmentControls,
20446
20456
  am as setPygmalionAppOrigin,
20447
- $S as setPygmalionArtifactOrigin,
20457
+ ES as setPygmalionArtifactOrigin,
20448
20458
  Mu as setPygmalionPreviewConcurrency,
20449
20459
  cm as setPygmalionPreviewRevision,
20450
20460
  Xp as setSessionPresets,
20451
20461
  Kr as setStoryboardBaselineEnvironment,
20452
20462
  kn as setStoryboardGraph,
20453
20463
  Ox as setSurfaceClassifications,
20454
- Jy as setTokens,
20455
- jw as setViewportPresets,
20456
- B0 as storyboardScreenRecipeKey,
20464
+ Qy as setTokens,
20465
+ Bw as setViewportPresets,
20466
+ W0 as storyboardScreenRecipeKey,
20457
20467
  sc as subscribePreviewEnvironmentControls,
20458
20468
  Fd as subscribeSessionPresets,
20459
20469
  Qf as subscribeStoryboardGraph,
20460
- fS as summarizeConditionCoverage,
20470
+ hS as summarizeConditionCoverage,
20461
20471
  Ex as unclassifiedSurfaces,
20462
- J1 as usePygmalionPreviewCaptureProgress,
20463
- aS as usePygmalionProject,
20472
+ Q1 as usePygmalionPreviewCaptureProgress,
20473
+ cS as usePygmalionProject,
20464
20474
  Lf as validateDesignComponentConnections,
20465
- ES as validateFrameBranchKinds,
20466
- dS as validateHookTargeting,
20467
- AS as validateInteractiveStates,
20475
+ AS as validateFrameBranchKinds,
20476
+ uS as validateHookTargeting,
20477
+ kS as validateInteractiveStates,
20468
20478
  Cx as validatePreviewArtifactBundle,
20469
20479
  ji as validateRoutePreviewArtifactV3Browser,
20470
- Z1 as validateScenarioCoverage,
20471
- kS as validateScreenCards,
20472
- lS as validateScreenConformance,
20473
- RS as validateScreenDimensions,
20480
+ eS as validateScenarioCoverage,
20481
+ RS as validateScreenCards,
20482
+ dS as validateScreenConformance,
20483
+ TS as validateScreenDimensions,
20474
20484
  Fb as validateScreenFlows,
20475
- TS as validateScreenLanes,
20476
- FS as validateScreenLists,
20477
- _S as validateScreenStateAxes,
20478
- sS as validateScreenStateGroups,
20479
- LS as validateSectionHeaders,
20480
- U1 as validateSurfaceDemands
20485
+ FS as validateScreenLanes,
20486
+ _S as validateScreenLists,
20487
+ LS as validateScreenStateAxes,
20488
+ aS as validateScreenStateGroups,
20489
+ zS as validateSectionHeaders,
20490
+ V1 as validateSurfaceDemands
20481
20491
  };