@mt-gloss/ui 0.1.115 → 0.1.117

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.
@@ -1,13 +1,13 @@
1
- import { u as F, h as pe, g as Ne, S as Se, b as we, j as I, d as M } from "./COMMITS-CeuMPpjt.js";
1
+ import { u as U, h as me, g as Ne, S as Se, b as we, j as I, d as M } from "./COMMITS-CeuMPpjt.js";
2
2
  import { C as It, c as Mt, P as $t, f as Rt, i as Ft, r as Ut, e as zt } from "./COMMITS-CeuMPpjt.js";
3
- import { jsx as a, jsxs as h, Fragment as me } from "react/jsx-runtime";
4
- import se, { useState as E, useRef as U, createContext as he, useContext as fe, useMemo as re, useEffect as L, useCallback as x, useLayoutEffect as Ee } from "react";
5
- import { useSensors as Pe, useSensor as le, PointerSensor as xe, KeyboardSensor as Ae, DndContext as ke, closestCenter as De } from "@dnd-kit/core";
3
+ import { jsx as a, jsxs as f, Fragment as z } from "react/jsx-runtime";
4
+ import $, { useState as E, useRef as H, createContext as he, useContext as fe, useMemo as le, useEffect as L, useCallback as x, useLayoutEffect as Ee } from "react";
5
+ import { useSensors as Pe, useSensor as oe, PointerSensor as xe, KeyboardSensor as Ae, DndContext as ke, closestCenter as De } from "@dnd-kit/core";
6
6
  import { sortableKeyboardCoordinates as Oe, SortableContext as Le, horizontalListSortingStrategy as Ie, arrayMove as Me, useSortable as $e } from "@dnd-kit/sortable";
7
7
  import { CSS as Re } from "@dnd-kit/utilities";
8
- import { M as oe } from "./MetricCard-Cyoxhb_S.js";
8
+ import { M as ie } from "./MetricCard-Cyoxhb_S.js";
9
9
  function Nt() {
10
- const e = F();
10
+ const e = U();
11
11
  if (e?.state.activePanelId !== "settings") return null;
12
12
  const t = e.state.activeTrigger;
13
13
  return t?.kind === "card-overflow" ? t.cardId : null;
@@ -15,19 +15,19 @@ function Nt() {
15
15
  function Fe({ children: e }) {
16
16
  return /* @__PURE__ */ a("div", { className: "clone-stage", children: e });
17
17
  }
18
- function Ue({ span: e, rotating: t = !0, children: r }) {
19
- const i = ["clone-card", `span-${e}`, t ? "rotating" : ""].filter(Boolean).join(" "), n = r != null ? "full" : "fallback";
20
- return /* @__PURE__ */ a("div", { className: i, "data-clone-fidelity": n, children: r });
18
+ function Ue({ span: e, rotating: t = !0, children: l }) {
19
+ const o = ["clone-card", `span-${e}`, t ? "rotating" : ""].filter(Boolean).join(" "), n = l != null ? "full" : "fallback";
20
+ return /* @__PURE__ */ a("div", { className: o, "data-clone-fidelity": n, children: l });
21
21
  }
22
22
  function ze({
23
23
  value: e,
24
24
  onChange: t,
25
- enabled: r = !1,
26
- onToggleEnabled: i
25
+ enabled: l = !1,
26
+ onToggleEnabled: o
27
27
  }) {
28
28
  const n = "settings-threshold-enabled";
29
- return /* @__PURE__ */ h("div", { className: "settings-shell__field settings-shell__field--threshold", children: [
30
- /* @__PURE__ */ h("div", { className: "settings-shell__toggle-row", children: [
29
+ return /* @__PURE__ */ f("div", { className: "settings-shell__field settings-shell__field--threshold", children: [
30
+ /* @__PURE__ */ f("div", { className: "settings-shell__toggle-row", children: [
31
31
  /* @__PURE__ */ a("label", { htmlFor: n, className: "settings-shell__toggle-label", children: "Show threshold indicator" }),
32
32
  /* @__PURE__ */ a(
33
33
  "input",
@@ -36,44 +36,44 @@ function ze({
36
36
  type: "checkbox",
37
37
  role: "switch",
38
38
  "aria-label": "Enable threshold indicator",
39
- "aria-checked": r,
40
- checked: r,
41
- onChange: (o) => i?.(o.target.checked),
39
+ "aria-checked": l,
40
+ checked: l,
41
+ onChange: (i) => o?.(i.target.checked),
42
42
  className: "settings-shell__toggle"
43
43
  }
44
44
  )
45
45
  ] }),
46
- /* @__PURE__ */ a("span", { className: "settings-shell__label", "aria-hidden": "true", children: "Alert level (%)" }),
47
- /* @__PURE__ */ h("div", { className: "settings-shell__slider-row", "aria-disabled": !r, children: [
48
- /* @__PURE__ */ a(
49
- "input",
50
- {
51
- id: "settings-threshold-input",
52
- type: "range",
53
- min: 0,
54
- max: 100,
55
- value: e,
56
- onChange: t,
57
- "aria-label": "Threshold",
58
- "aria-valuenow": e,
59
- "aria-valuemin": 0,
60
- "aria-valuemax": 100,
61
- disabled: !r,
62
- className: "settings-shell__slider"
63
- }
64
- ),
65
- /* @__PURE__ */ h("span", { className: "settings-shell__slider-value", "aria-live": "polite", children: [
66
- e,
67
- "%"
46
+ l ? /* @__PURE__ */ f(z, { children: [
47
+ /* @__PURE__ */ a("span", { className: "settings-shell__label", "aria-hidden": "true", children: "Alert level (%)" }),
48
+ /* @__PURE__ */ f("div", { className: "settings-shell__slider-row", children: [
49
+ /* @__PURE__ */ a(
50
+ "input",
51
+ {
52
+ id: "settings-threshold-input",
53
+ type: "range",
54
+ min: 0,
55
+ max: 100,
56
+ value: e,
57
+ onChange: t,
58
+ "aria-label": "Threshold",
59
+ "aria-valuenow": e,
60
+ "aria-valuemin": 0,
61
+ "aria-valuemax": 100,
62
+ className: "settings-shell__slider"
63
+ }
64
+ ),
65
+ /* @__PURE__ */ f("span", { className: "settings-shell__slider-value", "aria-live": "polite", children: [
66
+ e,
67
+ "%"
68
+ ] })
68
69
  ] })
69
- ] }),
70
- !r && /* @__PURE__ */ a("p", { className: "settings-shell__help", "aria-live": "polite", children: "Off — the card uses its default styling. Turn on to tint values below the threshold." })
70
+ ] }) : /* @__PURE__ */ a("p", { className: "settings-shell__help", "aria-live": "polite", children: "Off — the card uses its default styling. Turn on to tint values below the threshold." })
71
71
  ] });
72
72
  }
73
- function Ve({ value: e, onChange: t }) {
74
- return /* @__PURE__ */ h("div", { className: "settings-shell__field settings-shell__field--timeframe", children: [
73
+ function He({ value: e, onChange: t }) {
74
+ return /* @__PURE__ */ f("div", { className: "settings-shell__field settings-shell__field--timeframe", children: [
75
75
  /* @__PURE__ */ a("span", { className: "settings-shell__label", "aria-hidden": "true", children: "Rolling period (days)" }),
76
- /* @__PURE__ */ h("div", { className: "settings-shell__slider-row", children: [
76
+ /* @__PURE__ */ f("div", { className: "settings-shell__slider-row", children: [
77
77
  /* @__PURE__ */ a(
78
78
  "input",
79
79
  {
@@ -90,25 +90,25 @@ function Ve({ value: e, onChange: t }) {
90
90
  className: "settings-shell__slider"
91
91
  }
92
92
  ),
93
- /* @__PURE__ */ h("span", { className: "settings-shell__slider-value", "aria-live": "polite", children: [
93
+ /* @__PURE__ */ f("span", { className: "settings-shell__slider-value", "aria-live": "polite", children: [
94
94
  e,
95
95
  " days"
96
96
  ] })
97
97
  ] })
98
98
  ] });
99
99
  }
100
- function He({ id: e, onRemove: t }) {
101
- const { attributes: r, listeners: i, setNodeRef: n, transform: o, transition: u, isDragging: s } = $e({ id: e }), l = {
102
- transform: Re.Transform.toString(o),
100
+ function Ve({ id: e, onRemove: t }) {
101
+ const { attributes: l, listeners: o, setNodeRef: n, transform: i, transition: u, isDragging: r } = $e({ id: e }), s = {
102
+ transform: Re.Transform.toString(i),
103
103
  transition: u,
104
- opacity: s ? 0.6 : 1
104
+ opacity: r ? 0.6 : 1
105
105
  };
106
- return /* @__PURE__ */ h(
106
+ return /* @__PURE__ */ f(
107
107
  "li",
108
108
  {
109
109
  ref: n,
110
- style: l,
111
- className: `settings-shell__slot-pill${s ? " settings-shell__slot-pill--dragging" : ""}`,
110
+ style: s,
111
+ className: `settings-shell__slot-pill${r ? " settings-shell__slot-pill--dragging" : ""}`,
112
112
  children: [
113
113
  /* @__PURE__ */ a(
114
114
  "button",
@@ -116,8 +116,8 @@ function He({ id: e, onRemove: t }) {
116
116
  type: "button",
117
117
  className: "settings-shell__slot-pill__handle",
118
118
  "aria-label": `Reorder ${e}`,
119
- ...r,
120
- ...i,
119
+ ...l,
120
+ ...o,
121
121
  children: /* @__PURE__ */ a("span", { "aria-hidden": "true", className: "settings-shell__slot-pill__grip", children: "⋮⋮" })
122
122
  }
123
123
  ),
@@ -137,21 +137,21 @@ function He({ id: e, onRemove: t }) {
137
137
  );
138
138
  }
139
139
  function Ke({ value: e, onChange: t }) {
140
- const r = Pe(
141
- le(xe, { activationConstraint: { distance: 4 } }),
142
- le(Ae, { coordinateGetter: Oe })
143
- ), i = (o) => {
144
- const { active: u, over: s } = o;
145
- if (!s || u.id === s.id) return;
146
- const l = e.findIndex((d) => d === u.id), c = e.findIndex((d) => d === s.id);
147
- l === -1 || c === -1 || t(Me([...e], l, c));
148
- }, n = (o) => {
149
- t(e.filter((u) => u !== o));
140
+ const l = Pe(
141
+ oe(xe, { activationConstraint: { distance: 4 } }),
142
+ oe(Ae, { coordinateGetter: Oe })
143
+ ), o = $.useRef(!1), [n, i] = $.useState(!1), u = (s) => {
144
+ const { active: c, over: d } = s;
145
+ if (!d || c.id === d.id) return;
146
+ const p = e.findIndex((b) => b === c.id), h = e.findIndex((b) => b === d.id);
147
+ p === -1 || h === -1 || t(Me([...e], p, h));
148
+ }, r = (s) => {
149
+ o.current || (o.current = !0, i(!0)), t(e.filter((c) => c !== s));
150
150
  };
151
- return /* @__PURE__ */ h("div", { className: "settings-shell__field settings-shell__field--slots", "aria-label": "Stack slots", children: [
151
+ return /* @__PURE__ */ f("div", { className: "settings-shell__field settings-shell__field--slots", "aria-label": "Stack slots", children: [
152
152
  /* @__PURE__ */ a("span", { className: "settings-shell__label", children: "Stack slots" }),
153
- /* @__PURE__ */ a(ke, { sensors: r, collisionDetection: De, onDragEnd: i, children: /* @__PURE__ */ a(Le, { items: [...e], strategy: Ie, children: /* @__PURE__ */ a("ul", { className: "settings-shell__slots-list", role: "list", children: e.map((o) => /* @__PURE__ */ a(He, { id: o, onRemove: () => n(o) }, o)) }) }) }),
154
- e.length === 0 && /* @__PURE__ */ a("p", { className: "settings-shell__help", children: "All slots removed. Apply to commit, or Reset to restore." }),
153
+ /* @__PURE__ */ a(ke, { sensors: l, collisionDetection: De, onDragEnd: u, children: /* @__PURE__ */ a(Le, { items: [...e], strategy: Ie, children: /* @__PURE__ */ a("ul", { className: "settings-shell__slots-list", role: "list", children: e.map((s) => /* @__PURE__ */ a(Ve, { id: s, onRemove: () => r(s) }, s)) }) }) }),
154
+ e.length === 0 && n && /* @__PURE__ */ a("p", { className: "settings-shell__help", children: "All slots removed. Apply to commit, or Reset to restore." }),
155
155
  /* @__PURE__ */ a("p", { className: "settings-shell__help settings-shell__help--small", children: "Drag to reorder · click × to remove" })
156
156
  ] });
157
157
  }
@@ -159,12 +159,12 @@ const Ye = ["#1d6fd8", "#10b981", "#f59e0b", "#ef4444", "#8b5cf6"];
159
159
  function Be({
160
160
  value: e,
161
161
  onSelect: t,
162
- enabled: r = !1,
163
- onToggleEnabled: i
162
+ enabled: l = !1,
163
+ onToggleEnabled: o
164
164
  }) {
165
165
  const n = "settings-accent-enabled";
166
- return /* @__PURE__ */ h("div", { className: "settings-shell__field settings-shell__field--color", role: "group", "aria-label": "Accent color", children: [
167
- /* @__PURE__ */ h("div", { className: "settings-shell__toggle-row", children: [
166
+ return /* @__PURE__ */ f("div", { className: "settings-shell__field settings-shell__field--color", role: "group", "aria-label": "Accent color", children: [
167
+ /* @__PURE__ */ f("div", { className: "settings-shell__toggle-row", children: [
168
168
  /* @__PURE__ */ a("label", { htmlFor: n, className: "settings-shell__toggle-label", children: "Override default accent" }),
169
169
  /* @__PURE__ */ a(
170
170
  "input",
@@ -173,101 +173,101 @@ function Be({
173
173
  type: "checkbox",
174
174
  role: "switch",
175
175
  "aria-label": "Enable accent override",
176
- "aria-checked": r,
177
- checked: r,
178
- onChange: (o) => i?.(o.target.checked),
176
+ "aria-checked": l,
177
+ checked: l,
178
+ onChange: (i) => o?.(i.target.checked),
179
179
  className: "settings-shell__toggle"
180
180
  }
181
181
  )
182
182
  ] }),
183
- /* @__PURE__ */ a("span", { className: "settings-shell__label", children: "Accent color" }),
184
- /* @__PURE__ */ a("div", { className: "settings-shell__swatch-row", "aria-disabled": !r, children: Ye.map((o) => {
185
- const u = e === o;
186
- return /* @__PURE__ */ a(
187
- "button",
188
- {
189
- type: "button",
190
- "aria-pressed": u,
191
- "aria-label": `Accent ${o}`,
192
- className: `settings-shell__swatch${u ? " settings-shell__swatch--active" : ""}`,
193
- style: { backgroundColor: o },
194
- disabled: !r,
195
- onClick: () => t(o)
196
- },
197
- o
198
- );
199
- }) }),
200
- !r && /* @__PURE__ */ a("p", { className: "settings-shell__help", "aria-live": "polite", children: "Off — the card uses its default accent. Turn on to override." })
183
+ l ? /* @__PURE__ */ f(z, { children: [
184
+ /* @__PURE__ */ a("span", { className: "settings-shell__label", children: "Accent color" }),
185
+ /* @__PURE__ */ a("div", { className: "settings-shell__swatch-row", children: Ye.map((i) => {
186
+ const u = e === i;
187
+ return /* @__PURE__ */ a(
188
+ "button",
189
+ {
190
+ type: "button",
191
+ "aria-pressed": u,
192
+ "aria-label": `Accent ${i}`,
193
+ className: `settings-shell__swatch${u ? " settings-shell__swatch--active" : ""}`,
194
+ style: { backgroundColor: i },
195
+ onClick: () => t(i)
196
+ },
197
+ i
198
+ );
199
+ }) })
200
+ ] }) : /* @__PURE__ */ a("p", { className: "settings-shell__help", "aria-live": "polite", children: "Off — the card uses its default accent. Turn on to override." })
201
201
  ] });
202
202
  }
203
203
  const We = ["Orders", "Quota", "Unassigned"], Ge = ["threshold", "timeframe", "color"];
204
204
  function St({
205
205
  isOpen: e,
206
206
  cardSpan: t,
207
- cardLabel: r = "Metric",
208
- cardValue: i = "—",
207
+ cardLabel: l = "Metric",
208
+ cardValue: o = "—",
209
209
  previewSlot: n,
210
- dimensions: o = Ge,
210
+ dimensions: i = Ge,
211
211
  initialTab: u,
212
- initialValues: s
212
+ initialValues: r
213
213
  }) {
214
- const l = F(), c = l?.state.activeTrigger, d = c?.kind === "card-overflow" ? c.cardId : null, m = pe(), f = c?.span, v = t ?? f ?? 1, p = o[0] ?? "threshold", [b, w] = se.useState(u ?? p);
215
- se.useEffect(() => {
216
- o.includes(b) || w(p);
217
- }, [o, b, p]);
218
- const T = d != null ? l?.state?.bufferByCard?.[d]?.changes ?? {} : {}, y = typeof T.threshold == "number" ? T.threshold : typeof s?.threshold == "number" ? s.threshold : 80, A = typeof T.timeframe == "number" ? T.timeframe : typeof s?.timeframe == "number" ? s.timeframe : 30, z = typeof T.accent == "string" ? T.accent : typeof s?.accent == "string" ? s.accent : null, V = Array.isArray(T.slots) ? T.slots : Array.isArray(s?.slots) ? s.slots : We, D = typeof T.thresholdEnabled == "boolean" ? T.thresholdEnabled : typeof s?.thresholdEnabled == "boolean" ? s.thresholdEnabled : !1, H = typeof T.accentEnabled == "boolean" ? T.accentEnabled : typeof s?.accentEnabled == "boolean" ? s.accentEnabled : !1, K = (C) => {
219
- d == null || l == null || l.dispatch({ type: "SET_BUFFER_VALUE", cardId: d, key: "threshold", value: Number(C.target.value) });
220
- }, Y = (C) => {
221
- d == null || l == null || l.dispatch({ type: "SET_BUFFER_VALUE", cardId: d, key: "timeframe", value: Number(C.target.value) });
222
- }, ae = (C) => {
223
- d == null || l == null || l.dispatch({ type: "SET_BUFFER_VALUE", cardId: d, key: "accent", value: C });
224
- }, B = (C) => {
225
- d == null || l == null || l.dispatch({ type: "SET_BUFFER_VALUE", cardId: d, key: "slots", value: C });
214
+ const s = U(), c = s?.state.activeTrigger, d = c?.kind === "card-overflow" ? c.cardId : null, p = me(), h = c?.span, b = t ?? h ?? 1, m = i[0] ?? "threshold", [v, w] = $.useState(u ?? m);
215
+ $.useEffect(() => {
216
+ i.includes(v) || w(m);
217
+ }, [i, v, m]);
218
+ const T = d != null ? s?.state?.bufferByCard?.[d]?.changes ?? {} : {}, y = typeof T.threshold == "number" ? T.threshold : typeof r?.threshold == "number" ? r.threshold : 80, A = typeof T.timeframe == "number" ? T.timeframe : typeof r?.timeframe == "number" ? r.timeframe : 30, V = typeof T.accent == "string" ? T.accent : typeof r?.accent == "string" ? r.accent : null, K = Array.isArray(T.slots) ? T.slots : Array.isArray(r?.slots) ? r.slots : We, D = typeof T.thresholdEnabled == "boolean" ? T.thresholdEnabled : typeof r?.thresholdEnabled == "boolean" ? r.thresholdEnabled : !1, Y = typeof T.accentEnabled == "boolean" ? T.accentEnabled : typeof r?.accentEnabled == "boolean" ? r.accentEnabled : !1, B = (C) => {
219
+ d == null || s == null || s.dispatch({ type: "SET_BUFFER_VALUE", cardId: d, key: "threshold", value: Number(C.target.value) });
220
+ }, W = (C) => {
221
+ d == null || s == null || s.dispatch({ type: "SET_BUFFER_VALUE", cardId: d, key: "timeframe", value: Number(C.target.value) });
222
+ }, re = (C) => {
223
+ d == null || s == null || s.dispatch({ type: "SET_BUFFER_VALUE", cardId: d, key: "accent", value: C });
224
+ }, G = (C) => {
225
+ d == null || s == null || s.dispatch({ type: "SET_BUFFER_VALUE", cardId: d, key: "slots", value: C });
226
226
  }, g = (C) => {
227
- d == null || l == null || l.dispatch({ type: "SET_BUFFER_VALUE", cardId: d, key: "thresholdEnabled", value: C });
227
+ d == null || s == null || s.dispatch({ type: "SET_BUFFER_VALUE", cardId: d, key: "thresholdEnabled", value: C });
228
228
  }, N = (C) => {
229
- d == null || l == null || l.dispatch({ type: "SET_BUFFER_VALUE", cardId: d, key: "accentEnabled", value: C });
229
+ d == null || s == null || s.dispatch({ type: "SET_BUFFER_VALUE", cardId: d, key: "accentEnabled", value: C });
230
230
  };
231
- return /* @__PURE__ */ h("div", { className: "settings-shell", "data-shell": "settings", "aria-hidden": !e, children: [
232
- /* @__PURE__ */ a("div", { "aria-hidden": "true", children: /* @__PURE__ */ a(Fe, { children: /* @__PURE__ */ a(Ue, { span: v, rotating: !m, children: n ?? /* @__PURE__ */ h(me, { children: [
233
- /* @__PURE__ */ a("div", { style: { fontSize: 9, textTransform: "uppercase", letterSpacing: "0.06em", color: "#9ca3af", marginBottom: 6 }, children: r }),
234
- /* @__PURE__ */ a("div", { style: { fontSize: 22, fontWeight: 700, color: "#111827", lineHeight: 1 }, children: i })
231
+ return /* @__PURE__ */ f("div", { className: "settings-shell", "data-shell": "settings", "aria-hidden": !e, children: [
232
+ /* @__PURE__ */ a("div", { "aria-hidden": "true", children: /* @__PURE__ */ a(Fe, { children: /* @__PURE__ */ a(Ue, { span: b, rotating: !p, children: n ?? /* @__PURE__ */ f(z, { children: [
233
+ /* @__PURE__ */ a("div", { style: { fontSize: 9, textTransform: "uppercase", letterSpacing: "0.06em", color: "#9ca3af", marginBottom: 6 }, children: l }),
234
+ /* @__PURE__ */ a("div", { style: { fontSize: 22, fontWeight: 700, color: "#111827", lineHeight: 1 }, children: o })
235
235
  ] }) }) }) }),
236
236
  /* @__PURE__ */ a(
237
237
  Ne,
238
238
  {
239
- dimensions: o,
240
- activeTab: b,
239
+ dimensions: i,
240
+ activeTab: v,
241
241
  onSelect: w,
242
- reduced: m
242
+ reduced: p
243
243
  }
244
244
  ),
245
- /* @__PURE__ */ h(
245
+ /* @__PURE__ */ f(
246
246
  "div",
247
247
  {
248
248
  role: "tabpanel",
249
- id: `settings-tabpanel-${b}`,
249
+ id: `settings-tabpanel-${v}`,
250
250
  "aria-label": "Settings dimension controls",
251
251
  tabIndex: 0,
252
252
  className: "settings-shell__tabpanel",
253
253
  children: [
254
- b === "threshold" && /* @__PURE__ */ a(
254
+ v === "threshold" && /* @__PURE__ */ a(
255
255
  ze,
256
256
  {
257
257
  value: y,
258
- onChange: K,
258
+ onChange: B,
259
259
  enabled: D,
260
260
  onToggleEnabled: g
261
261
  }
262
262
  ),
263
- b === "timeframe" && /* @__PURE__ */ a(Ve, { value: A, onChange: Y }),
264
- b === "slots" && /* @__PURE__ */ a(Ke, { value: V, onChange: B }),
265
- b === "color" && /* @__PURE__ */ a(
263
+ v === "timeframe" && /* @__PURE__ */ a(He, { value: A, onChange: W }),
264
+ v === "slots" && /* @__PURE__ */ a(Ke, { value: K, onChange: G }),
265
+ v === "color" && /* @__PURE__ */ a(
266
266
  Be,
267
267
  {
268
- value: z,
269
- onSelect: ae,
270
- enabled: H,
268
+ value: V,
269
+ onSelect: re,
270
+ enabled: Y,
271
271
  onToggleEnabled: N
272
272
  }
273
273
  )
@@ -284,7 +284,7 @@ const ge = [
284
284
  "Vendor performance",
285
285
  "Assortment mix",
286
286
  "Customer retention"
287
- ], be = "Overbought", ee = {
287
+ ], be = "Overbought", ne = {
288
288
  Overbought: {
289
289
  headline: "Am I overbought?",
290
290
  helper: "Find slow-moving inventory before discount cycles eat margin."
@@ -314,7 +314,7 @@ const ge = [
314
314
  helper: "Repeat-rate and lapsed-account signals from the buyer file."
315
315
  }
316
316
  };
317
- ee["Customer retention"].beta = !0;
317
+ ne["Customer retention"].beta = !0;
318
318
  const ve = {
319
319
  Overbought: {
320
320
  primary: [
@@ -783,43 +783,43 @@ const ve = {
783
783
  function ye({
784
784
  lenses: e,
785
785
  activeLens: t,
786
- onLensChange: r,
787
- variant: i = "pills",
788
- lensMeta: n = ee
786
+ onLensChange: l,
787
+ variant: o = "pills",
788
+ lensMeta: n = ne
789
789
  }) {
790
- return i === "pills" ? /* @__PURE__ */ a("div", { className: "cat-pills-wrap", children: /* @__PURE__ */ a("div", { className: "cat-pills", role: "tablist", "aria-label": "Metric lenses", children: e.map((o) => {
791
- const u = o === t, s = n[o], l = ["cat-pill"];
792
- return u && l.push("active"), /* @__PURE__ */ h(
790
+ return o === "pills" ? /* @__PURE__ */ a("div", { className: "cat-pills-wrap", children: /* @__PURE__ */ a("div", { className: "cat-pills", role: "tablist", "aria-label": "Metric lenses", children: e.map((i) => {
791
+ const u = i === t, r = n[i], s = ["cat-pill"];
792
+ return u && s.push("active"), /* @__PURE__ */ f(
793
793
  "button",
794
794
  {
795
795
  type: "button",
796
796
  role: "tab",
797
797
  "aria-selected": u,
798
- className: l.join(" "),
799
- "data-lens": o,
798
+ className: s.join(" "),
799
+ "data-lens": i,
800
800
  onClick: () => {
801
- u || r(o);
801
+ u || l(i);
802
802
  },
803
803
  children: [
804
- o,
805
- s?.beta && /* @__PURE__ */ a("span", { className: "cat-pill-beta", "aria-label": "Beta", children: "BETA" })
804
+ i,
805
+ r?.beta && /* @__PURE__ */ a("span", { className: "cat-pill-beta", "aria-label": "Beta", children: "BETA" })
806
806
  ]
807
807
  },
808
- o
808
+ i
809
809
  );
810
- }) }) }) : /* @__PURE__ */ a(Qe, { lenses: e, activeLens: t, onLensChange: r });
810
+ }) }) }) : /* @__PURE__ */ a(Qe, { lenses: e, activeLens: t, onLensChange: l });
811
811
  }
812
812
  function Qe({
813
813
  lenses: e,
814
814
  activeLens: t,
815
- onLensChange: r
815
+ onLensChange: l
816
816
  }) {
817
- const [i, n] = E(!1), o = U(null), u = () => {
818
- o.current != null && (window.clearTimeout(o.current), o.current = null);
819
- }, s = () => {
820
- u(), o.current = window.setTimeout(() => n(!1), 100);
821
- }, l = e.filter((c) => c !== t);
822
- return /* @__PURE__ */ a("div", { className: "cat-segmented-wrap", children: /* @__PURE__ */ h("div", { className: "cat-segmented", children: [
817
+ const [o, n] = E(!1), i = H(null), u = () => {
818
+ i.current != null && (window.clearTimeout(i.current), i.current = null);
819
+ }, r = () => {
820
+ u(), i.current = window.setTimeout(() => n(!1), 100);
821
+ }, s = e.filter((c) => c !== t);
822
+ return /* @__PURE__ */ a("div", { className: "cat-segmented-wrap", children: /* @__PURE__ */ f("div", { className: "cat-segmented", children: [
823
823
  /* @__PURE__ */ a(
824
824
  "button",
825
825
  {
@@ -830,31 +830,31 @@ function Qe({
830
830
  children: t
831
831
  }
832
832
  ),
833
- /* @__PURE__ */ h(
833
+ /* @__PURE__ */ f(
834
834
  "div",
835
835
  {
836
836
  className: "cat-seg-more",
837
837
  onMouseEnter: () => {
838
838
  u(), n(!0);
839
839
  },
840
- onMouseLeave: s,
840
+ onMouseLeave: r,
841
841
  children: [
842
- /* @__PURE__ */ a("button", { type: "button", className: "cat-seg cat-seg-more-btn", "aria-haspopup": "menu", "aria-expanded": i, children: "More ▾" }),
843
- i && /* @__PURE__ */ a(
842
+ /* @__PURE__ */ a("button", { type: "button", className: "cat-seg cat-seg-more-btn", "aria-haspopup": "menu", "aria-expanded": o, children: "More ▾" }),
843
+ o && /* @__PURE__ */ a(
844
844
  "div",
845
845
  {
846
846
  className: "cat-seg-overflow",
847
847
  role: "menu",
848
848
  onMouseEnter: u,
849
- onMouseLeave: s,
850
- children: l.map((c) => /* @__PURE__ */ a(
849
+ onMouseLeave: r,
850
+ children: s.map((c) => /* @__PURE__ */ a(
851
851
  "button",
852
852
  {
853
853
  type: "button",
854
854
  "data-lens": c,
855
855
  role: "menuitem",
856
856
  onClick: () => {
857
- r(c), n(!1);
857
+ l(c), n(!1);
858
858
  },
859
859
  children: c
860
860
  },
@@ -867,38 +867,38 @@ function Qe({
867
867
  )
868
868
  ] }) });
869
869
  }
870
- function X({ tiles: e, selectedTileId: t, onSelectTile: r, renderTile: i }) {
870
+ function ee({ tiles: e, selectedTileId: t, onSelectTile: l, renderTile: o }) {
871
871
  return /* @__PURE__ */ a("div", { className: "cat-tiles", children: e.map((n) => {
872
- const o = n.id === t, u = n.subStats != null && n.subStats.length > 0;
873
- let s = null;
874
- u ? n.subStats.length === 5 ? s = "span-5" : n.subStats.length === 3 ? s = "span-3" : s = "span-2" : n.stack === !0 && (s = "span-2");
875
- const l = ["cat-tile"];
876
- s && l.push(s), o && l.push("selected"), n.isNew && l.push("is-new"), n.startHere && l.push("start-here"), n.donut && l.push("has-donut");
872
+ const i = n.id === t, u = n.subStats != null && n.subStats.length > 0;
873
+ let r = null;
874
+ u ? n.subStats.length === 5 ? r = "span-5" : n.subStats.length === 3 ? r = "span-3" : r = "span-2" : n.stack === !0 && (r = "span-2");
875
+ const s = ["cat-tile"];
876
+ r && s.push(r), i && s.push("selected"), n.isNew && s.push("is-new"), n.startHere && s.push("start-here"), n.donut && s.push("has-donut");
877
877
  const c = 1;
878
878
  let d = 0.7;
879
879
  if (n.donut) {
880
- const m = /([\d.]+)\s*%/.exec(n.value);
881
- if (m) {
882
- const f = parseFloat(m[1]);
883
- Number.isFinite(f) && (d = Math.max(0, Math.min(1, f / 100)));
880
+ const p = /([\d.]+)\s*%/.exec(n.value);
881
+ if (p) {
882
+ const h = parseFloat(p[1]);
883
+ Number.isFinite(h) && (d = Math.max(0, Math.min(1, h / 100)));
884
884
  }
885
885
  }
886
- return /* @__PURE__ */ h(
886
+ return /* @__PURE__ */ f(
887
887
  "button",
888
888
  {
889
889
  type: "button",
890
- className: l.join(" "),
890
+ className: s.join(" "),
891
891
  "data-metric": n.id,
892
892
  "data-desc": n.desc,
893
893
  "data-col-span": String(c),
894
894
  "data-donut": n.donut ? "true" : void 0,
895
895
  "data-accent": n.accent,
896
- "aria-pressed": o,
897
- onClick: () => r(n.id, n.desc),
896
+ "aria-pressed": i,
897
+ onClick: () => l(n.id, n.desc),
898
898
  style: n.accent ? { "--cat-tile-accent": n.accent } : void 0,
899
899
  children: [
900
900
  n.startHere && /* @__PURE__ */ a("span", { className: "cat-tile-start-here", "aria-hidden": "true", children: "START HERE" }),
901
- i ? i(n) : /* @__PURE__ */ a(
901
+ o ? o(n) : /* @__PURE__ */ a(
902
902
  "div",
903
903
  {
904
904
  className: "cat-tile-primitive-wrapper gloss-metric-card",
@@ -906,7 +906,7 @@ function X({ tiles: e, selectedTileId: t, onSelectTile: r, renderTile: i }) {
906
906
  style: { pointerEvents: "none", width: "100%", height: "100%" },
907
907
  "aria-hidden": "true",
908
908
  children: n.donut ? /* @__PURE__ */ a(
909
- oe,
909
+ ie,
910
910
  {
911
911
  variant: "donut",
912
912
  label: n.label,
@@ -917,7 +917,7 @@ function X({ tiles: e, selectedTileId: t, onSelectTile: r, renderTile: i }) {
917
917
  colSpan: c
918
918
  }
919
919
  ) : /* @__PURE__ */ a(
920
- oe,
920
+ ie,
921
921
  {
922
922
  variant: "standard",
923
923
  label: n.label,
@@ -927,7 +927,7 @@ function X({ tiles: e, selectedTileId: t, onSelectTile: r, renderTile: i }) {
927
927
  )
928
928
  }
929
929
  ),
930
- n.variants && n.variants.length > 0 && /* @__PURE__ */ a("span", { className: "cat-tile-variants", "aria-hidden": "true", children: n.variants.map((m) => /* @__PURE__ */ a("span", { children: m }, m)) }),
930
+ n.variants && n.variants.length > 0 && /* @__PURE__ */ a("span", { className: "cat-tile-variants", "aria-hidden": "true", children: n.variants.map((p) => /* @__PURE__ */ a("span", { children: p }, p)) }),
931
931
  n.isNew && /* @__PURE__ */ a("span", { className: "cat-tile-new-dot", "aria-hidden": "true" })
932
932
  ]
933
933
  },
@@ -935,17 +935,17 @@ function X({ tiles: e, selectedTileId: t, onSelectTile: r, renderTile: i }) {
935
935
  );
936
936
  }) });
937
937
  }
938
- const te = he(null);
938
+ const ae = he(null);
939
939
  function qe() {
940
- return fe(te);
940
+ return fe(ae);
941
941
  }
942
942
  function je({ mode: e, dispatch: t }) {
943
- const r = qe();
944
- if (r == null && e == null) return null;
945
- const i = r?.mode ?? e ?? "add", n = r?.selectedTileId ?? null, o = r?.description ?? null, u = n == null;
946
- return /* @__PURE__ */ h("div", { className: "panel-footer catalog", children: [
947
- /* @__PURE__ */ a("div", { className: "cat-description", id: "cat-desc", children: o ?? /* @__PURE__ */ a("em", { children: "Tap a metric to see its description" }) }),
948
- /* @__PURE__ */ h("div", { style: { display: "flex", padding: "10px 14px", gap: 8 }, children: [
943
+ const l = qe();
944
+ if (l == null && e == null) return null;
945
+ const o = l?.mode ?? e ?? "add", n = l?.selectedTileId ?? null, i = l?.description ?? null, u = n == null;
946
+ return /* @__PURE__ */ f("div", { className: "panel-footer catalog", children: [
947
+ /* @__PURE__ */ a("div", { className: "cat-description", id: "cat-desc", children: i ?? /* @__PURE__ */ a("em", { children: "Tap a metric to see its description" }) }),
948
+ /* @__PURE__ */ f("div", { style: { display: "flex", padding: "10px 14px", gap: 8 }, children: [
949
949
  /* @__PURE__ */ a("div", { className: "spacer", style: { flex: 1 } }),
950
950
  /* @__PURE__ */ a(
951
951
  "button",
@@ -957,7 +957,7 @@ function je({ mode: e, dispatch: t }) {
957
957
  children: "Cancel"
958
958
  }
959
959
  ),
960
- i === "add" && /* @__PURE__ */ a(
960
+ o === "add" && /* @__PURE__ */ a(
961
961
  "button",
962
962
  {
963
963
  id: "btn-cat-add",
@@ -968,7 +968,7 @@ function je({ mode: e, dispatch: t }) {
968
968
  children: "Add metric"
969
969
  }
970
970
  ),
971
- i === "replace" && /* @__PURE__ */ a(
971
+ o === "replace" && /* @__PURE__ */ a(
972
972
  "button",
973
973
  {
974
974
  id: "btn-cat-replace",
@@ -982,38 +982,38 @@ function je({ mode: e, dispatch: t }) {
982
982
  ] })
983
983
  ] });
984
984
  }
985
- function ie(e, t) {
985
+ function ce(e, t) {
986
986
  if (t.length === 0) return !0;
987
- const r = t.toLowerCase();
988
- if (e.label.toLowerCase().includes(r) || e.value.toLowerCase().includes(r)) return !0;
987
+ const l = t.toLowerCase();
988
+ if (e.label.toLowerCase().includes(l) || e.value.toLowerCase().includes(l)) return !0;
989
989
  if (e.subStats) {
990
- for (const i of e.subStats)
991
- if (i.label.toLowerCase().includes(r) || i.value.toLowerCase().includes(r)) return !0;
990
+ for (const o of e.subStats)
991
+ if (o.label.toLowerCase().includes(l) || o.value.toLowerCase().includes(l)) return !0;
992
992
  }
993
993
  return !1;
994
994
  }
995
995
  function wt({
996
996
  isOpen: e,
997
997
  lenses: t = ge,
998
- defaultLens: r = be,
999
- tilesByLens: i = ve,
1000
- lensMeta: n = ee,
1001
- footerSlot: o,
998
+ defaultLens: l = be,
999
+ tilesByLens: o = ve,
1000
+ lensMeta: n = ne,
1001
+ footerSlot: i,
1002
1002
  renderTile: u
1003
1003
  }) {
1004
- const [s, l] = E(r), [c, d] = E(null), [m, f] = E(null), [v, p] = E(""), b = i[s] ?? { primary: [] }, w = n[s], S = re(
1005
- () => b.primary.filter((y) => ie(y, v)),
1006
- [b.primary, v]
1007
- ), T = re(
1008
- () => (b.secondary ?? []).filter((y) => ie(y, v)),
1009
- [b.secondary, v]
1004
+ const [r, s] = E(l), [c, d] = E(null), [p, h] = E(null), [b, m] = E(""), v = o[r] ?? { primary: [] }, w = n[r], S = le(
1005
+ () => v.primary.filter((y) => ce(y, b)),
1006
+ [v.primary, b]
1007
+ ), T = le(
1008
+ () => (v.secondary ?? []).filter((y) => ce(y, b)),
1009
+ [v.secondary, b]
1010
1010
  );
1011
- return /* @__PURE__ */ h(
1012
- te.Provider,
1011
+ return /* @__PURE__ */ f(
1012
+ ae.Provider,
1013
1013
  {
1014
- value: { mode: "add", selectedTileId: c, description: m },
1014
+ value: { mode: "add", selectedTileId: c, description: p },
1015
1015
  children: [
1016
- /* @__PURE__ */ h("div", { "data-shell": "catalog-add", "aria-hidden": !e, children: [
1016
+ /* @__PURE__ */ f("div", { "data-shell": "catalog-add", "aria-hidden": !e, children: [
1017
1017
  /* @__PURE__ */ a("div", { className: "cat-search", children: /* @__PURE__ */ a(
1018
1018
  "input",
1019
1019
  {
@@ -1021,58 +1021,58 @@ function wt({
1021
1021
  className: "cat-search-input",
1022
1022
  placeholder: "Search metrics",
1023
1023
  "aria-label": "Search metrics",
1024
- value: v,
1025
- onChange: (y) => p(y.target.value)
1024
+ value: b,
1025
+ onChange: (y) => m(y.target.value)
1026
1026
  }
1027
1027
  ) }),
1028
1028
  /* @__PURE__ */ a(
1029
1029
  ye,
1030
1030
  {
1031
1031
  lenses: t,
1032
- activeLens: s,
1032
+ activeLens: r,
1033
1033
  lensMeta: n,
1034
1034
  variant: "pills",
1035
1035
  onLensChange: (y) => {
1036
- l(y), d(null), f(null), p("");
1036
+ s(y), d(null), h(null), m("");
1037
1037
  }
1038
1038
  }
1039
1039
  ),
1040
- w && /* @__PURE__ */ h("div", { className: "cat-lens-meta", children: [
1040
+ w && /* @__PURE__ */ f("div", { className: "cat-lens-meta", children: [
1041
1041
  /* @__PURE__ */ a("h3", { className: "cat-lens-headline", children: w.headline }),
1042
1042
  /* @__PURE__ */ a("p", { className: "cat-lens-helper", children: w.helper })
1043
1043
  ] }),
1044
1044
  /* @__PURE__ */ a(
1045
- X,
1045
+ ee,
1046
1046
  {
1047
1047
  tiles: S,
1048
1048
  selectedTileId: c,
1049
1049
  onSelectTile: (y, A) => {
1050
- d(y), f(A);
1050
+ d(y), h(A);
1051
1051
  },
1052
1052
  renderTile: u
1053
1053
  }
1054
1054
  ),
1055
- T.length > 0 && /* @__PURE__ */ h("div", { className: "cat-more-in-lens", children: [
1055
+ T.length > 0 && /* @__PURE__ */ f("div", { className: "cat-more-in-lens", children: [
1056
1056
  /* @__PURE__ */ a("div", { className: "cat-more-in-lens__heading", children: "MORE IN THIS LENS" }),
1057
1057
  /* @__PURE__ */ a(
1058
- X,
1058
+ ee,
1059
1059
  {
1060
1060
  tiles: T,
1061
1061
  selectedTileId: c,
1062
1062
  onSelectTile: (y, A) => {
1063
- d(y), f(A);
1063
+ d(y), h(A);
1064
1064
  },
1065
1065
  renderTile: u
1066
1066
  }
1067
1067
  )
1068
1068
  ] }),
1069
- S.length === 0 && T.length === 0 && v.length > 0 && /* @__PURE__ */ h("div", { className: "cat-empty", children: [
1069
+ S.length === 0 && T.length === 0 && b.length > 0 && /* @__PURE__ */ f("div", { className: "cat-empty", children: [
1070
1070
  'No metrics match "',
1071
- v,
1071
+ b,
1072
1072
  '".'
1073
1073
  ] })
1074
1074
  ] }),
1075
- o
1075
+ i
1076
1076
  ]
1077
1077
  }
1078
1078
  );
@@ -1080,46 +1080,46 @@ function wt({
1080
1080
  function Et({
1081
1081
  isOpen: e,
1082
1082
  replacingLabel: t,
1083
- lenses: r = ge,
1084
- defaultLens: i = be,
1083
+ lenses: l = ge,
1084
+ defaultLens: o = be,
1085
1085
  tilesByLens: n = ve,
1086
- footerSlot: o,
1086
+ footerSlot: i,
1087
1087
  renderTile: u
1088
1088
  }) {
1089
- const [s, l] = E(i), [c, d] = E(null), [m, f] = E(null), v = n[s] ?? { primary: [] }, p = [...v.primary, ...v.secondary ?? []];
1090
- return /* @__PURE__ */ h(
1091
- te.Provider,
1089
+ const [r, s] = E(o), [c, d] = E(null), [p, h] = E(null), b = n[r] ?? { primary: [] }, m = [...b.primary, ...b.secondary ?? []];
1090
+ return /* @__PURE__ */ f(
1091
+ ae.Provider,
1092
1092
  {
1093
- value: { mode: "replace", selectedTileId: c, description: m },
1093
+ value: { mode: "replace", selectedTileId: c, description: p },
1094
1094
  children: [
1095
- /* @__PURE__ */ h("div", { "data-shell": "catalog-replace", "aria-hidden": !e, children: [
1096
- t && /* @__PURE__ */ h("p", { className: "cat-subtitle", children: [
1095
+ /* @__PURE__ */ f("div", { "data-shell": "catalog-replace", "aria-hidden": !e, children: [
1096
+ t && /* @__PURE__ */ f("p", { className: "cat-subtitle", children: [
1097
1097
  "replacing ",
1098
1098
  t
1099
1099
  ] }),
1100
1100
  /* @__PURE__ */ a(
1101
1101
  ye,
1102
1102
  {
1103
- lenses: r,
1104
- activeLens: s,
1105
- onLensChange: (b) => {
1106
- l(b), d(null), f(null);
1103
+ lenses: l,
1104
+ activeLens: r,
1105
+ onLensChange: (v) => {
1106
+ s(v), d(null), h(null);
1107
1107
  }
1108
1108
  }
1109
1109
  ),
1110
1110
  /* @__PURE__ */ a(
1111
- X,
1111
+ ee,
1112
1112
  {
1113
- tiles: p,
1113
+ tiles: m,
1114
1114
  selectedTileId: c,
1115
- onSelectTile: (b, w) => {
1116
- d(b), f(w);
1115
+ onSelectTile: (v, w) => {
1116
+ d(v), h(w);
1117
1117
  },
1118
1118
  renderTile: u
1119
1119
  }
1120
1120
  )
1121
1121
  ] }),
1122
- o
1122
+ i
1123
1123
  ]
1124
1124
  }
1125
1125
  );
@@ -1129,8 +1129,8 @@ function _e() {
1129
1129
  return fe(Ce);
1130
1130
  }
1131
1131
  function Ze(e = {}) {
1132
- const t = _e(), r = t?.createPage, i = t?.setPages;
1133
- return /* @__PURE__ */ h(
1132
+ const t = _e(), l = t?.createPage, o = t?.setPages;
1133
+ return /* @__PURE__ */ f(
1134
1134
  "div",
1135
1135
  {
1136
1136
  className: "panel-footer pm",
@@ -1144,11 +1144,11 @@ function Ze(e = {}) {
1144
1144
  type: "button",
1145
1145
  className: "btn btn-primary",
1146
1146
  onClick: () => {
1147
- if (r) {
1148
- r();
1147
+ if (l) {
1148
+ l();
1149
1149
  return;
1150
1150
  }
1151
- i && i((n) => [
1151
+ o && o((n) => [
1152
1152
  ...n,
1153
1153
  { id: `new-${Date.now()}`, name: "Untitled", active: !1 }
1154
1154
  ]);
@@ -1160,34 +1160,34 @@ function Ze(e = {}) {
1160
1160
  }
1161
1161
  );
1162
1162
  }
1163
- function ce({ page: e, onRename: t, onKebab: r, onDragStart: i, onSwitchPage: n }) {
1164
- const o = _e(), [u, s] = E(!1), l = U(null);
1163
+ function de({ page: e, onRename: t, onKebab: l, onDragStart: o, onSwitchPage: n }) {
1164
+ const i = _e(), [u, r] = E(!1), s = H(null);
1165
1165
  L(() => {
1166
1166
  if (!u) return;
1167
- const p = (b) => {
1168
- l.current && (l.current.contains(b.target) || s(!1));
1167
+ const m = (v) => {
1168
+ s.current && (s.current.contains(v.target) || r(!1));
1169
1169
  };
1170
- return document.addEventListener("mousedown", p, !0), () => document.removeEventListener("mousedown", p, !0);
1170
+ return document.addEventListener("mousedown", m, !0), () => document.removeEventListener("mousedown", m, !0);
1171
1171
  }, [u]);
1172
1172
  const c = () => {
1173
- if (s(!1), t) return t(e.id);
1174
- if (!o?.renamePage) return;
1175
- const p = window.prompt("Rename page", e.name);
1176
- p != null && p.trim().length > 0 && o.renamePage(e.id, p.trim());
1173
+ if (r(!1), t) return t(e.id);
1174
+ if (!i?.renamePage) return;
1175
+ const m = window.prompt("Rename page", e.name);
1176
+ m != null && m.trim().length > 0 && i.renamePage(e.id, m.trim());
1177
1177
  }, d = () => {
1178
- s(!1), o?.duplicatePage?.(e.id);
1179
- }, m = () => {
1180
- s(!1), o?.deletePage?.(e.id);
1181
- }, f = (p) => {
1182
- p.stopPropagation(), n && !e.active && n(e.id);
1183
- }, v = ["pm-row"];
1184
- return e.active && v.push("active"), /* @__PURE__ */ h("div", { ref: l, className: v.join(" "), "data-page-id": e.id, role: "listitem", children: [
1178
+ r(!1), i?.duplicatePage?.(e.id);
1179
+ }, p = () => {
1180
+ r(!1), i?.deletePage?.(e.id);
1181
+ }, h = (m) => {
1182
+ m.stopPropagation(), n && !e.active && n(e.id);
1183
+ }, b = ["pm-row"];
1184
+ return e.active && b.push("active"), /* @__PURE__ */ f("div", { ref: s, className: b.join(" "), "data-page-id": e.id, role: "listitem", children: [
1185
1185
  /* @__PURE__ */ a(
1186
1186
  "div",
1187
1187
  {
1188
1188
  className: "pm-handle",
1189
1189
  "aria-hidden": "true",
1190
- onMouseDown: () => i?.(e.id),
1190
+ onMouseDown: () => o?.(e.id),
1191
1191
  children: "⋮⋮"
1192
1192
  }
1193
1193
  ),
@@ -1197,9 +1197,9 @@ function ce({ page: e, onRename: t, onKebab: r, onDragStart: i, onSwitchPage: n
1197
1197
  className: "pm-name",
1198
1198
  role: n && !e.active ? "button" : void 0,
1199
1199
  tabIndex: n && !e.active ? 0 : void 0,
1200
- onClick: n ? f : void 0,
1201
- onKeyDown: (p) => {
1202
- !n || e.active || (p.key === "Enter" || p.key === " ") && (p.preventDefault(), p.stopPropagation(), n(e.id));
1200
+ onClick: n ? h : void 0,
1201
+ onKeyDown: (m) => {
1202
+ !n || e.active || (m.key === "Enter" || m.key === " ") && (m.preventDefault(), m.stopPropagation(), n(e.id));
1203
1203
  },
1204
1204
  "aria-label": n && !e.active ? `Switch to ${e.name}` : void 0,
1205
1205
  children: e.name
@@ -1213,23 +1213,23 @@ function ce({ page: e, onRename: t, onKebab: r, onDragStart: i, onSwitchPage: n
1213
1213
  "aria-label": "Page options",
1214
1214
  "aria-haspopup": "menu",
1215
1215
  "aria-expanded": u,
1216
- onPointerDown: (p) => p.stopPropagation(),
1217
- onMouseDown: (p) => p.stopPropagation(),
1218
- onClick: (p) => {
1219
- if (p.stopPropagation(), r) return r(e.id);
1220
- s((b) => !b);
1216
+ onPointerDown: (m) => m.stopPropagation(),
1217
+ onMouseDown: (m) => m.stopPropagation(),
1218
+ onClick: (m) => {
1219
+ if (m.stopPropagation(), l) return l(e.id);
1220
+ r((v) => !v);
1221
1221
  },
1222
1222
  children: "⋯"
1223
1223
  }
1224
1224
  ),
1225
- u && /* @__PURE__ */ h(
1225
+ u && /* @__PURE__ */ f(
1226
1226
  "div",
1227
1227
  {
1228
1228
  className: "pm-kebab-menu",
1229
1229
  role: "menu",
1230
1230
  "data-page-id": e.id,
1231
- onPointerDown: (p) => p.stopPropagation(),
1232
- onMouseDown: (p) => p.stopPropagation(),
1231
+ onPointerDown: (m) => m.stopPropagation(),
1232
+ onMouseDown: (m) => m.stopPropagation(),
1233
1233
  children: [
1234
1234
  /* @__PURE__ */ a("button", { type: "button", role: "menuitem", className: "pm-kebab-menu__item", onClick: c, children: "Rename" }),
1235
1235
  /* @__PURE__ */ a("button", { type: "button", role: "menuitem", className: "pm-kebab-menu__item", onClick: d, children: "Duplicate" }),
@@ -1239,7 +1239,7 @@ function ce({ page: e, onRename: t, onKebab: r, onDragStart: i, onSwitchPage: n
1239
1239
  type: "button",
1240
1240
  role: "menuitem",
1241
1241
  className: "pm-kebab-menu__item pm-kebab-menu__item--danger",
1242
- onClick: m,
1242
+ onClick: p,
1243
1243
  children: "Delete"
1244
1244
  }
1245
1245
  )
@@ -1257,48 +1257,48 @@ const Xe = [
1257
1257
  function Pt({
1258
1258
  isOpen: e,
1259
1259
  pages: t = Xe,
1260
- footerSlot: r,
1261
- externalPages: i,
1260
+ footerSlot: l,
1261
+ externalPages: o,
1262
1262
  activePageId: n,
1263
- onRename: o,
1263
+ onRename: i,
1264
1264
  onDuplicate: u,
1265
- onDelete: s,
1266
- onReorder: l,
1265
+ onDelete: r,
1266
+ onReorder: s,
1267
1267
  onCreatePage: c,
1268
1268
  onSwitchPage: d
1269
1269
  }) {
1270
- const [m, f] = E(() => [...t]), v = x((g, N) => {
1271
- f((C) => C.map((P) => P.id === g ? { ...P, name: N } : P));
1272
- }, []), p = x((g) => {
1273
- f((N) => {
1274
- const C = N.find((W) => W.id === g);
1270
+ const [p, h] = E(() => [...t]), b = x((g, N) => {
1271
+ h((C) => C.map((P) => P.id === g ? { ...P, name: N } : P));
1272
+ }, []), m = x((g) => {
1273
+ h((N) => {
1274
+ const C = N.find((Q) => Q.id === g);
1275
1275
  if (!C) return N;
1276
1276
  const P = {
1277
1277
  id: `${C.id}-copy-${Date.now()}`,
1278
1278
  name: `${C.name} copy`,
1279
1279
  active: !1
1280
- }, k = N.findIndex((W) => W.id === g);
1280
+ }, k = N.findIndex((Q) => Q.id === g);
1281
1281
  return [...N.slice(0, k + 1), P, ...N.slice(k + 1)];
1282
1282
  });
1283
- }, []), b = x((g) => {
1284
- f((N) => N.filter((C) => C.id !== g));
1283
+ }, []), v = x((g) => {
1284
+ h((N) => N.filter((C) => C.id !== g));
1285
1285
  }, []), w = x((g) => {
1286
- f((N) => {
1286
+ h((N) => {
1287
1287
  const C = new Map(N.map((k) => [k.id, k])), P = g.map((k) => C.get(k)).filter(Boolean);
1288
1288
  return P.length === N.length ? P : N;
1289
1289
  });
1290
- }, []), S = i != null, T = S ? i : m, y = n != null ? T.map((g) => ({ ...g, active: g.id === n })) : [...T], A = o ?? (S ? void 0 : v), z = u ?? (S ? void 0 : p), V = s ?? (S ? void 0 : b), D = l ?? (S ? void 0 : w), H = x(
1290
+ }, []), S = o != null, T = S ? o : p, y = n != null ? T.map((g) => ({ ...g, active: g.id === n })) : [...T], A = i ?? (S ? void 0 : b), V = u ?? (S ? void 0 : m), K = r ?? (S ? void 0 : v), D = s ?? (S ? void 0 : w), Y = x(
1291
1291
  (g) => {
1292
- S || f(g);
1292
+ S || h(g);
1293
1293
  },
1294
1294
  [S]
1295
- ), K = x(
1295
+ ), B = x(
1296
1296
  (g) => {
1297
1297
  const N = g[0]?.items.map((C) => C.id) ?? [];
1298
1298
  N.length > 0 && D && D(N);
1299
1299
  },
1300
1300
  [D]
1301
- ), Y = y.map((g) => `${g.id}:${g.name}`).join("|"), B = D != null && y.length > 1 ? /* @__PURE__ */ a(
1301
+ ), W = y.map((g) => `${g.id}:${g.name}`).join("|"), G = D != null && y.length > 1 ? /* @__PURE__ */ a(
1302
1302
  Se,
1303
1303
  {
1304
1304
  zones: [
@@ -1307,10 +1307,10 @@ function Pt({
1307
1307
  items: y.map((g) => ({ ...g, id: g.id }))
1308
1308
  }
1309
1309
  ],
1310
- onZoneChange: K,
1310
+ onZoneChange: B,
1311
1311
  renderZone: (g, N, C) => /* @__PURE__ */ a("div", { className: "pm-list", role: "list", children: C }),
1312
1312
  renderItem: (g) => /* @__PURE__ */ a(
1313
- ce,
1313
+ de,
1314
1314
  {
1315
1315
  page: g,
1316
1316
  onSwitchPage: d
@@ -1318,9 +1318,9 @@ function Pt({
1318
1318
  g.id
1319
1319
  )
1320
1320
  },
1321
- Y
1321
+ W
1322
1322
  ) : /* @__PURE__ */ a("div", { className: "pm-list", role: "list", children: y.map((g) => /* @__PURE__ */ a(
1323
- ce,
1323
+ de,
1324
1324
  {
1325
1325
  page: g,
1326
1326
  onSwitchPage: d
@@ -1332,16 +1332,16 @@ function Pt({
1332
1332
  {
1333
1333
  value: {
1334
1334
  pages: y,
1335
- setPages: H,
1335
+ setPages: Y,
1336
1336
  renamePage: A,
1337
- duplicatePage: z,
1338
- deletePage: V,
1337
+ duplicatePage: V,
1338
+ deletePage: K,
1339
1339
  // Sprint 2026-05-20 — propagate live create binding for footer.
1340
1340
  createPage: c
1341
1341
  },
1342
- children: /* @__PURE__ */ h("div", { "data-shell": "page-management", "aria-hidden": !e, children: [
1343
- B,
1344
- r != null && /* @__PURE__ */ a("div", { className: "pm-footer-pin", children: r })
1342
+ children: /* @__PURE__ */ f("div", { "data-shell": "page-management", "aria-hidden": !e, children: [
1343
+ G,
1344
+ l != null && /* @__PURE__ */ a("div", { className: "pm-footer-pin", children: l })
1345
1345
  ] })
1346
1346
  }
1347
1347
  );
@@ -1367,28 +1367,28 @@ const xt = {
1367
1367
  background: "rgba(0, 0, 0, 0.04)"
1368
1368
  };
1369
1369
  function At() {
1370
- const { state: e, dispatch: t, getCloseLog: r } = we();
1370
+ const { state: e, dispatch: t, getCloseLog: l } = we();
1371
1371
  L(() => {
1372
1372
  if (e.activePanelId == null) return;
1373
- function o(u) {
1373
+ function i(u) {
1374
1374
  u.key === "Escape" && t({ type: "CLOSE_PANEL", reason: "escape-key" });
1375
1375
  }
1376
- return document.addEventListener("keydown", o), () => document.removeEventListener("keydown", o);
1376
+ return document.addEventListener("keydown", i), () => document.removeEventListener("keydown", i);
1377
1377
  }, [e.activePanelId, t]);
1378
- const i = U(e);
1378
+ const o = H(e);
1379
1379
  Ee(() => {
1380
- i.current = e;
1380
+ o.current = e;
1381
1381
  }), L(() => {
1382
1382
  if (process.env.NODE_ENV === "production") return;
1383
- const o = window;
1384
- return o.__panelsHostHandle && console.warn("[panels] multiple PanelHost/PanelHostShell instances mounted; dev handle is unreliable"), o.__panelsHostHandle = {
1383
+ const i = window;
1384
+ return i.__panelsHostHandle && console.warn("[panels] multiple PanelHost/PanelHostShell instances mounted; dev handle is unreliable"), i.__panelsHostHandle = {
1385
1385
  dispatch: t,
1386
- getState: () => i.current,
1387
- getCloseLog: r
1386
+ getState: () => o.current,
1387
+ getCloseLog: l
1388
1388
  }, () => {
1389
- o.__panelsHostHandle?.dispatch === t && delete window.__panelsHostHandle;
1389
+ i.__panelsHostHandle?.dispatch === t && delete window.__panelsHostHandle;
1390
1390
  };
1391
- }, [t, r]);
1391
+ }, [t, l]);
1392
1392
  const n = x(() => {
1393
1393
  t({ type: "CLOSE_PANEL", reason: "nav-escape-hatch" });
1394
1394
  }, [t]);
@@ -1403,42 +1403,42 @@ function At() {
1403
1403
  }
1404
1404
  const tt = 700;
1405
1405
  function nt(e) {
1406
- const [t, r] = E(null), i = U(null);
1406
+ const [t, l] = E(null), o = H(null);
1407
1407
  return L(() => {
1408
1408
  if (e != null) {
1409
- i.current != null && (clearTimeout(i.current), i.current = null), r(null);
1409
+ o.current != null && (clearTimeout(o.current), o.current = null), l(null);
1410
1410
  return;
1411
1411
  }
1412
- return r((n) => n), i.current = setTimeout(() => {
1413
- r(null), i.current = null;
1412
+ return l((n) => n), o.current = setTimeout(() => {
1413
+ l(null), o.current = null;
1414
1414
  }, tt), () => {
1415
- i.current != null && (clearTimeout(i.current), i.current = null);
1415
+ o.current != null && (clearTimeout(o.current), o.current = null);
1416
1416
  };
1417
1417
  }, [e]), L(() => {
1418
- e != null && r(e);
1418
+ e != null && l(e);
1419
1419
  }, [e]), e != null ? { panelId: e, isOpen: !0 } : t != null ? { panelId: t, isOpen: !1 } : { panelId: null, isOpen: !1 };
1420
1420
  }
1421
1421
  function kt({ panelComponents: e, children: t }) {
1422
- const r = F();
1423
- if (r == null) return null;
1424
- const { state: i, dispatch: n } = r, o = nt(i.activePanelId);
1425
- if (o.panelId == null) return null;
1426
- const u = o.panelId, s = o.isOpen, l = e?.[u];
1427
- if (l == null && t == null)
1422
+ const l = U();
1423
+ if (l == null) return null;
1424
+ const { state: o, dispatch: n } = l, i = nt(o.activePanelId);
1425
+ if (i.panelId == null) return null;
1426
+ const u = i.panelId, r = i.isOpen, s = e?.[u];
1427
+ if (s == null && t == null)
1428
1428
  return process.env.NODE_ENV !== "production" && console.error(
1429
1429
  "[panels] No panel component registered for activePanelId:",
1430
1430
  u
1431
1431
  ), null;
1432
1432
  if (u === "settings") {
1433
- const c = i.isDirty, d = i.activeTrigger, m = d?.kind === "card-overflow" ? d.cardId : null;
1434
- return /* @__PURE__ */ a(I, { isOpen: s, children: /* @__PURE__ */ a(
1433
+ const c = o.isDirty, d = o.activeTrigger, p = d?.kind === "card-overflow" ? d.cardId : null;
1434
+ return /* @__PURE__ */ a(I, { isOpen: r, children: /* @__PURE__ */ a(
1435
1435
  M,
1436
1436
  {
1437
- isOpen: s,
1437
+ isOpen: r,
1438
1438
  title: "Configure metric",
1439
1439
  variant: "merged-stage",
1440
1440
  onClose: () => n({ type: "CLOSE_PANEL", reason: "header-x" }),
1441
- footer: /* @__PURE__ */ h(me, { children: [
1441
+ footer: /* @__PURE__ */ f(z, { children: [
1442
1442
  /* @__PURE__ */ a(
1443
1443
  "button",
1444
1444
  {
@@ -1447,7 +1447,7 @@ function kt({ panelComponents: e, children: t }) {
1447
1447
  className: "gloss-panel-chrome__footer-btn",
1448
1448
  disabled: !c,
1449
1449
  onClick: () => {
1450
- m != null && n({ type: "CLEAR_BUFFER", cardId: m });
1450
+ p != null && n({ type: "CLEAR_BUFFER", cardId: p });
1451
1451
  },
1452
1452
  children: "Reset"
1453
1453
  }
@@ -1475,117 +1475,117 @@ function kt({ panelComponents: e, children: t }) {
1475
1475
  }
1476
1476
  )
1477
1477
  ] }),
1478
- children: l != null ? /* @__PURE__ */ a(l, { isOpen: s }) : t
1478
+ children: s != null ? /* @__PURE__ */ a(s, { isOpen: r }) : t
1479
1479
  }
1480
1480
  ) });
1481
1481
  }
1482
1482
  if (u === "catalog-add" || u === "catalog-replace") {
1483
- if (l == null) return null;
1483
+ if (s == null) return null;
1484
1484
  const c = u === "catalog-replace" ? "replace" : "add";
1485
- return /* @__PURE__ */ a(I, { isOpen: s, children: /* @__PURE__ */ a(
1485
+ return /* @__PURE__ */ a(I, { isOpen: r, children: /* @__PURE__ */ a(
1486
1486
  M,
1487
1487
  {
1488
- isOpen: s,
1488
+ isOpen: r,
1489
1489
  onClose: () => n({ type: "CLOSE_PANEL", reason: "header-x" }),
1490
1490
  footer: null,
1491
1491
  title: c === "replace" ? "Replace metric" : "Add a metric",
1492
1492
  children: /* @__PURE__ */ a(
1493
- l,
1493
+ s,
1494
1494
  {
1495
- isOpen: s,
1495
+ isOpen: r,
1496
1496
  footerSlot: /* @__PURE__ */ a(je, { mode: c, dispatch: n })
1497
1497
  }
1498
1498
  )
1499
1499
  }
1500
1500
  ) });
1501
1501
  }
1502
- return u === "page-management" ? l == null ? null : /* @__PURE__ */ a(I, { isOpen: s, children: /* @__PURE__ */ a(
1502
+ return u === "page-management" ? s == null ? null : /* @__PURE__ */ a(I, { isOpen: r, children: /* @__PURE__ */ a(
1503
1503
  M,
1504
1504
  {
1505
- isOpen: s,
1505
+ isOpen: r,
1506
1506
  onClose: () => n({ type: "CLOSE_PANEL", reason: "header-x" }),
1507
1507
  footer: null,
1508
1508
  title: "Manage pages",
1509
- children: /* @__PURE__ */ a(l, { isOpen: s, footerSlot: /* @__PURE__ */ a(Ze, {}) })
1509
+ children: /* @__PURE__ */ a(s, { isOpen: r, footerSlot: /* @__PURE__ */ a(Ze, {}) })
1510
1510
  }
1511
- ) }) : /* @__PURE__ */ a(I, { isOpen: s, children: /* @__PURE__ */ a(
1511
+ ) }) : /* @__PURE__ */ a(I, { isOpen: r, children: /* @__PURE__ */ a(
1512
1512
  M,
1513
1513
  {
1514
1514
  isOpen: !0,
1515
1515
  onClose: () => n({ type: "CLOSE_PANEL", reason: "header-x" }),
1516
1516
  footer: null,
1517
- children: l != null ? /* @__PURE__ */ a(l, { isOpen: s }) : t
1517
+ children: s != null ? /* @__PURE__ */ a(s, { isOpen: r }) : t
1518
1518
  }
1519
1519
  ) });
1520
1520
  }
1521
- function de(e) {
1521
+ function ue(e) {
1522
1522
  return e === null ? null : e.kind === "manage-pages-action" ? `global-${e.align ?? "left"}` : e.kind === "card-overflow" || e.kind === "empty-cell" ? `section-${e.sectionIndex}` : null;
1523
1523
  }
1524
- const at = 685, ue = 627, st = "cubic-bezier(0.22, 1, 0.36, 1)", rt = 200;
1524
+ const at = 685, pe = 627, st = "cubic-bezier(0.22, 1, 0.36, 1)", rt = 200;
1525
1525
  function Te(e, t) {
1526
1526
  if (typeof window > "u") return t;
1527
- const r = window.getComputedStyle(document.documentElement).getPropertyValue(e).trim();
1528
- if (!r) return t;
1529
- const i = parseFloat(r);
1530
- return Number.isNaN(i) ? t : r.endsWith("s") && !r.endsWith("ms") ? i * 1e3 : i;
1527
+ const l = window.getComputedStyle(document.documentElement).getPropertyValue(e).trim();
1528
+ if (!l) return t;
1529
+ const o = parseFloat(l);
1530
+ return Number.isNaN(o) ? t : l.endsWith("s") && !l.endsWith("ms") ? o * 1e3 : o;
1531
1531
  }
1532
1532
  function lt(e, t) {
1533
1533
  return typeof window > "u" ? t : window.getComputedStyle(document.documentElement).getPropertyValue(e).trim() || t;
1534
1534
  }
1535
- function $(e) {
1535
+ function R(e) {
1536
1536
  e.dispatch({ type: "OPEN_PANEL", panelId: e.panelId, trigger: e.trigger });
1537
1537
  }
1538
1538
  function ot(e) {
1539
- const { mountEl: t, chromeEl: r, reducedMotion: i, onAssert: n } = e;
1540
- if (t == null || r == null) {
1541
- $(e), n?.({ branch: "slide-fallback-no-dom", timestamp: Date.now() });
1539
+ const { mountEl: t, chromeEl: l, reducedMotion: o, onAssert: n } = e;
1540
+ if (t == null || l == null) {
1541
+ R(e), n?.({ branch: "slide-fallback-no-dom", timestamp: Date.now() });
1542
1542
  return;
1543
1543
  }
1544
- if (i) {
1544
+ if (o) {
1545
1545
  e.dispatch({ type: "OPEN_PANEL", panelId: e.panelId, trigger: e.trigger }), n?.({ branch: "slide-reduced-motion", timestamp: Date.now() });
1546
1546
  return;
1547
1547
  }
1548
- if (typeof r.animate != "function") {
1549
- $(e), n?.({ branch: "slide-no-waapi", timestamp: Date.now() });
1548
+ if (typeof l.animate != "function") {
1549
+ R(e), n?.({ branch: "slide-no-waapi", timestamp: Date.now() });
1550
1550
  return;
1551
1551
  }
1552
- const o = r.cloneNode(!0);
1553
- o.id = "panel-chrome-frozen", o.style.cssText = "position:absolute;left:8px;right:8px;top:8px;z-index:1;pointer-events:none;", t.appendChild(o), r.style.zIndex = "2", e.dispatch({ type: "OPEN_PANEL", panelId: e.panelId, trigger: e.trigger });
1554
- const u = Te("--panel-open-dur", at), s = lt("--panel-easing", st), l = r.animate(
1552
+ const i = l.cloneNode(!0);
1553
+ i.id = "panel-chrome-frozen", i.style.cssText = "position:absolute;left:8px;right:8px;top:8px;z-index:1;pointer-events:none;", t.appendChild(i), l.style.zIndex = "2", e.dispatch({ type: "OPEN_PANEL", panelId: e.panelId, trigger: e.trigger });
1554
+ const u = Te("--panel-open-dur", at), r = lt("--panel-easing", st), s = l.animate(
1555
1555
  [{ transform: "translateY(100%)" }, { transform: "translateY(0)" }],
1556
- { duration: u, easing: s, fill: "forwards" }
1556
+ { duration: u, easing: r, fill: "forwards" }
1557
1557
  );
1558
- l.addEventListener(
1558
+ s.addEventListener(
1559
1559
  "finish",
1560
1560
  () => {
1561
- o.remove(), r.style.zIndex = "", l.cancel(), n?.({ branch: "slide-complete", frozen: "cleaned", timestamp: Date.now() });
1561
+ i.remove(), l.style.zIndex = "", s.cancel(), n?.({ branch: "slide-complete", frozen: "cleaned", timestamp: Date.now() });
1562
1562
  },
1563
1563
  { once: !0 }
1564
1564
  );
1565
1565
  }
1566
1566
  function it(e) {
1567
- const { mountEl: t, onAssert: r } = e;
1567
+ const { mountEl: t, onAssert: l } = e;
1568
1568
  if (t == null) {
1569
- e.dispatch({ type: "CLOSE_PANEL", reason: "mutex-handoff" }), setTimeout(() => $(e), ue), r?.({ branch: "handoff-fallback-no-mount", timestamp: Date.now() });
1569
+ e.dispatch({ type: "CLOSE_PANEL", reason: "mutex-handoff" }), setTimeout(() => R(e), pe), l?.({ branch: "handoff-fallback-no-mount", timestamp: Date.now() });
1570
1570
  return;
1571
1571
  }
1572
- const i = Te("--panel-close-dur", ue);
1573
- let n = !1, o = null;
1574
- const u = (l) => {
1575
- l.target !== t || l.propertyName !== "max-height" || n || (n = !0, o != null && clearTimeout(o), t.removeEventListener("transitionend", u), e.dispatch({ type: "OPEN_PANEL", panelId: e.panelId, trigger: e.trigger }), r?.({ branch: "handoff-complete", timestamp: Date.now() }));
1576
- }, s = () => {
1577
- n || (n = !0, t.removeEventListener("transitionend", u), e.dispatch({ type: "OPEN_PANEL", panelId: e.panelId, trigger: e.trigger }), r?.({ branch: "handoff-forced", timestamp: Date.now() }));
1572
+ const o = Te("--panel-close-dur", pe);
1573
+ let n = !1, i = null;
1574
+ const u = (s) => {
1575
+ s.target !== t || s.propertyName !== "max-height" || n || (n = !0, i != null && clearTimeout(i), t.removeEventListener("transitionend", u), e.dispatch({ type: "OPEN_PANEL", panelId: e.panelId, trigger: e.trigger }), l?.({ branch: "handoff-complete", timestamp: Date.now() }));
1576
+ }, r = () => {
1577
+ n || (n = !0, t.removeEventListener("transitionend", u), e.dispatch({ type: "OPEN_PANEL", panelId: e.panelId, trigger: e.trigger }), l?.({ branch: "handoff-forced", timestamp: Date.now() }));
1578
1578
  };
1579
- t.addEventListener("transitionend", u), e.dispatch({ type: "CLOSE_PANEL", reason: "mutex-handoff" }), o = setTimeout(s, i + rt);
1579
+ t.addEventListener("transitionend", u), e.dispatch({ type: "CLOSE_PANEL", reason: "mutex-handoff" }), i = setTimeout(r, o + rt);
1580
1580
  }
1581
1581
  function ct(e) {
1582
- const { state: t, onAssert: r } = e;
1582
+ const { state: t, onAssert: l } = e;
1583
1583
  if (t.activePanelId && t.isDirty) {
1584
- e.dispatch({ type: "OPEN_PANEL", panelId: e.panelId, trigger: e.trigger }), r?.({ branch: "blocked-dirty", timestamp: Date.now() });
1584
+ e.dispatch({ type: "OPEN_PANEL", panelId: e.panelId, trigger: e.trigger }), l?.({ branch: "blocked-dirty", timestamp: Date.now() });
1585
1585
  return;
1586
1586
  }
1587
- const i = de(t.activeTrigger), n = de(e.trigger);
1588
- if (!!t.activePanelId && i != null && i === n) {
1587
+ const o = ue(t.activeTrigger), n = ue(e.trigger);
1588
+ if (!!t.activePanelId && o != null && o === n) {
1589
1589
  ot(e);
1590
1590
  return;
1591
1591
  }
@@ -1593,28 +1593,28 @@ function ct(e) {
1593
1593
  it(e);
1594
1594
  return;
1595
1595
  }
1596
- $(e), r?.({ branch: "fresh-open", timestamp: Date.now() });
1596
+ R(e), l?.({ branch: "fresh-open", timestamp: Date.now() });
1597
1597
  }
1598
1598
  function dt() {
1599
1599
  if (!(typeof window > "u"))
1600
1600
  return window.__panelsAsserter;
1601
1601
  }
1602
1602
  function Dt() {
1603
- const e = F(), t = pe();
1603
+ const e = U(), t = me();
1604
1604
  return x(
1605
- (r, i) => {
1605
+ (l, o) => {
1606
1606
  if (!e)
1607
1607
  return;
1608
- const n = typeof document < "u" ? document.querySelector('[data-mount="panel"]') : null, o = typeof document < "u" ? document.querySelector('[data-chrome="panel"]') : null, u = {
1609
- panelId: r,
1610
- trigger: i,
1608
+ const n = typeof document < "u" ? document.querySelector('[data-mount="panel"]') : null, i = typeof document < "u" ? document.querySelector('[data-chrome="panel"]') : null, u = {
1609
+ panelId: l,
1610
+ trigger: o,
1611
1611
  state: e.state,
1612
1612
  dispatch: e.dispatch,
1613
1613
  mountEl: n,
1614
- chromeEl: o,
1614
+ chromeEl: i,
1615
1615
  reducedMotion: t,
1616
- onAssert: (s) => {
1617
- dt()?.recordTransition?.(s);
1616
+ onAssert: (r) => {
1617
+ dt()?.recordTransition?.(r);
1618
1618
  }
1619
1619
  };
1620
1620
  ct(u);
@@ -1622,108 +1622,108 @@ function Dt() {
1622
1622
  [e, t]
1623
1623
  );
1624
1624
  }
1625
- let R = !1, G = null;
1626
- function J() {
1625
+ let F = !1, q = null;
1626
+ function te() {
1627
1627
  const e = [];
1628
1628
  let t = "cleaned";
1629
1629
  document.querySelectorAll("#panel-chrome-frozen").length > 0 && (e.push("#panel-chrome-frozen"), t = "lingering");
1630
- const i = document.querySelectorAll(".gloss-panel-mount");
1631
- i.length > 1 && e.push(`mount-count=${i.length}`);
1632
- const n = i[0] ?? null, o = n ? n.querySelectorAll(".gloss-panel-chrome") : [];
1633
- o.length > 1 && e.push(`chrome-count=${o.length}`);
1634
- const u = o[0] ?? null;
1630
+ const o = document.querySelectorAll(".gloss-panel-mount");
1631
+ o.length > 1 && e.push(`mount-count=${o.length}`);
1632
+ const n = o[0] ?? null, i = n ? n.querySelectorAll(".gloss-panel-chrome") : [];
1633
+ i.length > 1 && e.push(`chrome-count=${i.length}`);
1634
+ const u = i[0] ?? null;
1635
1635
  if (u) {
1636
1636
  const d = u.style.zIndex;
1637
1637
  d !== "" && d !== "2" && e.push(`chrome-zindex=${d}`);
1638
1638
  }
1639
- const s = n ? "present" : "absent", l = u ? "present" : "absent";
1639
+ const r = n ? "present" : "absent", s = u ? "present" : "absent";
1640
1640
  return {
1641
1641
  valid: e.length === 0,
1642
- mount: s,
1643
- chrome: l,
1642
+ mount: r,
1643
+ chrome: s,
1644
1644
  frozen: t,
1645
1645
  orphans: e,
1646
1646
  timestamp: Date.now()
1647
1647
  };
1648
1648
  }
1649
- const Q = "8px 8px 0px", q = "64px", j = "inset(0px 0px 60px 0px)", Z = "inset(0px -40px -40px -40px)";
1650
- function _(e, t, r, i, n) {
1651
- return { id: e, constraint: t, expected: r, actual: i, pass: n };
1649
+ const j = "8px 8px 0px", Z = "64px", X = "inset(0px 0px 60px 0px)", J = "inset(0px -40px -40px -40px)";
1650
+ function _(e, t, l, o, n) {
1651
+ return { id: e, constraint: t, expected: l, actual: o, pass: n };
1652
1652
  }
1653
1653
  function O(e) {
1654
1654
  const t = parseInt(e, 10);
1655
1655
  return Number.isFinite(t) ? t : NaN;
1656
1656
  }
1657
- function ne() {
1658
- const e = [], t = document.querySelector(".gloss-panel-mount"), r = t?.querySelector(".gloss-panel-chrome") ?? null, i = document.querySelector(".gloss-panel-coordinator") ?? document.querySelector("[data-panel-coordinator]"), n = document.querySelector(".bell-cutout"), o = document.querySelector(".bell-popover"), u = document.querySelector(".gloss-bottom-toolbar");
1657
+ function se() {
1658
+ const e = [], t = document.querySelector(".gloss-panel-mount"), l = t?.querySelector(".gloss-panel-chrome") ?? null, o = document.querySelector(".gloss-panel-coordinator") ?? document.querySelector("[data-panel-coordinator]"), n = document.querySelector(".bell-cutout"), i = document.querySelector(".bell-popover"), u = document.querySelector(".gloss-bottom-toolbar");
1659
1659
  if (!t)
1660
1660
  e.push(_("C1", "mount --reveal-y matches clip-path inset-bottom Npx", "mount present", "absent", !1));
1661
1661
  else {
1662
- const s = getComputedStyle(t), l = s.getPropertyValue("--reveal-y").trim() || t.style.getPropertyValue("--reveal-y").trim(), c = s.clipPath || t.style.clipPath || "", d = c.match(/inset\(\s*0(?:px)?\s+0(?:px)?\s+(\d+)px\s+0(?:px)?\s*\)/), m = d ? parseInt(d[1], 10) : NaN, f = O(l), v = Number.isFinite(m) && Number.isFinite(f) && m === f;
1662
+ const r = getComputedStyle(t), s = r.getPropertyValue("--reveal-y").trim() || t.style.getPropertyValue("--reveal-y").trim(), c = r.clipPath || t.style.clipPath || "", d = c.match(/inset\(\s*0(?:px)?\s+0(?:px)?\s+(\d+)px\s+0(?:px)?\s*\)/), p = d ? parseInt(d[1], 10) : NaN, h = O(s), b = Number.isFinite(p) && Number.isFinite(h) && p === h;
1663
1663
  e.push(
1664
1664
  _(
1665
1665
  "C1",
1666
1666
  "mount --reveal-y matches clip-path inset-bottom Npx",
1667
- `inset(0 0 ${f}px 0) === --reveal-y(${f}px)`,
1668
- `--reveal-y=${l || "n/a"} clip-path=${c || "n/a"}`,
1669
- v
1667
+ `inset(0 0 ${h}px 0) === --reveal-y(${h}px)`,
1668
+ `--reveal-y=${s || "n/a"} clip-path=${c || "n/a"}`,
1669
+ b
1670
1670
  )
1671
1671
  );
1672
1672
  }
1673
1673
  if (!t)
1674
- e.push(_("C2", "mount padding constant", Q, "absent", !1));
1674
+ e.push(_("C2", "mount padding constant", j, "absent", !1));
1675
1675
  else {
1676
- const s = t.style.padding, l = getComputedStyle(t), c = s || l.padding || "", d = c === Q || c === "8px 8px 0px 8px";
1677
- e.push(_("C2", "mount padding constant", Q, c || "n/a", d));
1676
+ const r = t.style.padding, s = getComputedStyle(t), c = r || s.padding || "", d = c === j || c === "8px 8px 0px 8px";
1677
+ e.push(_("C2", "mount padding constant", j, c || "n/a", d));
1678
1678
  }
1679
1679
  if (!t)
1680
- e.push(_("C3", "mount.bottom resolves to var(--tb-h)=64px", q, "absent", !1));
1680
+ e.push(_("C3", "mount.bottom resolves to var(--tb-h)=64px", Z, "absent", !1));
1681
1681
  else {
1682
- const l = getComputedStyle(t).bottom || t.style.bottom || "", c = l === q;
1683
- e.push(_("C3", "mount.bottom resolves to var(--tb-h)=64px", q, l || "n/a", c));
1682
+ const s = getComputedStyle(t).bottom || t.style.bottom || "", c = s === Z;
1683
+ e.push(_("C3", "mount.bottom resolves to var(--tb-h)=64px", Z, s || "n/a", c));
1684
1684
  }
1685
- if (!r)
1685
+ if (!l)
1686
1686
  e.push(_("C4", "panel-chrome height formula = (row-h*3)+(row-gap*3)-8px", "formula match", "absent", !1));
1687
1687
  else {
1688
- const s = getComputedStyle(r), l = O(
1689
- s.getPropertyValue("--row-h").trim() || r.style.getPropertyValue("--row-h").trim() || "0"
1688
+ const r = getComputedStyle(l), s = O(
1689
+ r.getPropertyValue("--row-h").trim() || l.style.getPropertyValue("--row-h").trim() || "0"
1690
1690
  ), c = O(
1691
- s.getPropertyValue("--row-gap").trim() || r.style.getPropertyValue("--row-gap").trim() || "0"
1692
- ), d = l * 3 + c * 3 - 8, m = O(s.height || r.style.height || ""), f = Number.isFinite(l) && Number.isFinite(c) && Number.isFinite(m) && Number.isFinite(d) && m === d;
1691
+ r.getPropertyValue("--row-gap").trim() || l.style.getPropertyValue("--row-gap").trim() || "0"
1692
+ ), d = s * 3 + c * 3 - 8, p = O(r.height || l.style.height || ""), h = Number.isFinite(s) && Number.isFinite(c) && Number.isFinite(p) && Number.isFinite(d) && p === d;
1693
1693
  e.push(
1694
1694
  _(
1695
1695
  "C4",
1696
1696
  "panel-chrome height formula = (row-h*3)+(row-gap*3)-8px",
1697
- `${d}px (rh=${l} rg=${c})`,
1698
- `${m}px`,
1699
- f
1697
+ `${d}px (rh=${s} rg=${c})`,
1698
+ `${p}px`,
1699
+ h
1700
1700
  )
1701
1701
  );
1702
1702
  }
1703
- if (!i || !r)
1703
+ if (!o || !l)
1704
1704
  e.push(
1705
1705
  _(
1706
1706
  "C5",
1707
1707
  'coordinator perspective + origin "center bottom"; chrome perspective-style flat',
1708
1708
  "present",
1709
- `coordinator=${i ? "present" : "absent"} chrome=${r ? "present" : "absent"}`,
1709
+ `coordinator=${o ? "present" : "absent"} chrome=${l ? "present" : "absent"}`,
1710
1710
  !1
1711
1711
  )
1712
1712
  );
1713
1713
  else {
1714
- const s = getComputedStyle(i), l = getComputedStyle(r), c = s.perspective || i.style.perspective || "", d = (s.perspectiveOrigin || i.style.perspectiveOrigin || "").trim(), m = l.perspectiveStyle || r.style.perspectiveStyle || "", b = c !== "" && c !== "none" && (d === "center bottom" || d === "50% 100%") && m === "flat";
1714
+ const r = getComputedStyle(o), s = getComputedStyle(l), c = r.perspective || o.style.perspective || "", d = (r.perspectiveOrigin || o.style.perspectiveOrigin || "").trim(), p = s.perspectiveStyle || l.style.perspectiveStyle || "", v = c !== "" && c !== "none" && (d === "center bottom" || d === "50% 100%") && p === "flat";
1715
1715
  e.push(
1716
1716
  _(
1717
1717
  "C5",
1718
1718
  'coordinator perspective + origin "center bottom"; chrome perspective-style flat',
1719
1719
  "perspective:not-none, origin:center bottom, chrome-style:flat",
1720
- `perspective=${c} origin=${d} chrome-style=${m}`,
1721
- b
1720
+ `perspective=${c} origin=${d} chrome-style=${p}`,
1721
+ v
1722
1722
  )
1723
1723
  );
1724
1724
  }
1725
1725
  {
1726
- let s = !1, l = "absent";
1726
+ let r = !1, s = "absent";
1727
1727
  try {
1728
1728
  for (const c of Array.from(document.styleSheets)) {
1729
1729
  let d = [];
@@ -1732,78 +1732,78 @@ function ne() {
1732
1732
  } catch {
1733
1733
  continue;
1734
1734
  }
1735
- for (const m of d)
1736
- if (m.name === "stage-spin") {
1737
- const v = Array.from(m.cssRules), p = v.find((y) => y.keyText === "0%" || y.keyText === "from"), b = v.find((y) => y.keyText === "100%" || y.keyText === "to"), w = p?.style.transform ?? "", S = b?.style.transform ?? "", T = /rotateY\(\s*0(?:deg)?\s*\)/;
1738
- s = T.test(w) && T.test(S), l = `0%=${w || "n/a"} 100%=${S || "n/a"}`;
1735
+ for (const p of d)
1736
+ if (p.name === "stage-spin") {
1737
+ const b = Array.from(p.cssRules), m = b.find((y) => y.keyText === "0%" || y.keyText === "from"), v = b.find((y) => y.keyText === "100%" || y.keyText === "to"), w = m?.style.transform ?? "", S = v?.style.transform ?? "", T = /rotateY\(\s*0(?:deg)?\s*\)/;
1738
+ r = T.test(w) && T.test(S), s = `0%=${w || "n/a"} 100%=${S || "n/a"}`;
1739
1739
  break;
1740
1740
  }
1741
- if (l !== "absent") break;
1741
+ if (s !== "absent") break;
1742
1742
  }
1743
1743
  } catch {
1744
- l = "inspection-error";
1744
+ s = "inspection-error";
1745
1745
  }
1746
1746
  e.push(
1747
1747
  _(
1748
1748
  "C6",
1749
1749
  "@keyframes stage-spin 0% AND 100% anchor at rotateY(0)",
1750
1750
  "both frames rotateY(0)",
1751
- l,
1752
- s
1751
+ s,
1752
+ r
1753
1753
  )
1754
1754
  );
1755
1755
  }
1756
1756
  {
1757
- const s = document.documentElement, l = getComputedStyle(s), c = l.getPropertyValue("--panel-open-dur").trim() || s.style.getPropertyValue("--panel-open-dur").trim(), d = l.getPropertyValue("--panel-close-dur").trim() || s.style.getPropertyValue("--panel-close-dur").trim(), m = O(c) || parseFloat(c) * (c.endsWith("s") && !c.endsWith("ms") ? 1e3 : 1), f = O(d) || parseFloat(d) * (d.endsWith("s") && !d.endsWith("ms") ? 1e3 : 1), v = Number.isFinite(m) && Number.isFinite(f) && m > f;
1757
+ const r = document.documentElement, s = getComputedStyle(r), c = s.getPropertyValue("--panel-open-dur").trim() || r.style.getPropertyValue("--panel-open-dur").trim(), d = s.getPropertyValue("--panel-close-dur").trim() || r.style.getPropertyValue("--panel-close-dur").trim(), p = O(c) || parseFloat(c) * (c.endsWith("s") && !c.endsWith("ms") ? 1e3 : 1), h = O(d) || parseFloat(d) * (d.endsWith("s") && !d.endsWith("ms") ? 1e3 : 1), b = Number.isFinite(p) && Number.isFinite(h) && p > h;
1758
1758
  e.push(
1759
- _("C7", "--panel-open-dur > --panel-close-dur", "open > close", `open=${c || "n/a"} close=${d || "n/a"}`, v)
1759
+ _("C7", "--panel-open-dur > --panel-close-dur", "open > close", `open=${c || "n/a"} close=${d || "n/a"}`, b)
1760
1760
  );
1761
1761
  }
1762
1762
  if (!n)
1763
1763
  e.push(_("C8", "BellCutout zero computed animation/transition", "no inline timing", "absent", !1));
1764
1764
  else {
1765
- const s = getComputedStyle(n), l = s.animationName || "", c = s.transitionProperty || "", d = (l === "" || l === "none") && (c === "" || c === "none" || c === "all");
1765
+ const r = getComputedStyle(n), s = r.animationName || "", c = r.transitionProperty || "", d = (s === "" || s === "none") && (c === "" || c === "none" || c === "all");
1766
1766
  e.push(
1767
1767
  _(
1768
1768
  "C8",
1769
1769
  "BellCutout zero computed animation/transition",
1770
1770
  "animation:none AND transition:none",
1771
- `animation=${l || "n/a"} transition=${c || "n/a"}`,
1771
+ `animation=${s || "n/a"} transition=${c || "n/a"}`,
1772
1772
  d
1773
1773
  )
1774
1774
  );
1775
1775
  }
1776
1776
  if (!t)
1777
- e.push(_("C9", "mount closed-state clipPath", j, "absent", !1));
1777
+ e.push(_("C9", "mount closed-state clipPath", X, "absent", !1));
1778
1778
  else {
1779
- const s = t.style.clipPath, l = getComputedStyle(t), c = s || l.clipPath || "", d = c === j;
1780
- e.push(_("C9", "mount closed-state clipPath", j, c || "n/a", d));
1779
+ const r = t.style.clipPath, s = getComputedStyle(t), c = r || s.clipPath || "", d = c === X;
1780
+ e.push(_("C9", "mount closed-state clipPath", X, c || "n/a", d));
1781
1781
  }
1782
- if (!o)
1782
+ if (!i)
1783
1783
  e.push(_("C10", "bell-popover parentElement === document.body (open)", "body", "absent", !1));
1784
1784
  else {
1785
- const s = o.parentElement, l = s === document.body;
1785
+ const r = i.parentElement, s = r === document.body;
1786
1786
  e.push(
1787
1787
  _(
1788
1788
  "C10",
1789
1789
  "bell-popover parentElement === document.body (open)",
1790
1790
  "body",
1791
- s === document.body ? "body" : s?.tagName ?? "n/a",
1792
- l
1791
+ r === document.body ? "body" : r?.tagName ?? "n/a",
1792
+ s
1793
1793
  )
1794
1794
  );
1795
1795
  }
1796
- if (!i)
1796
+ if (!o)
1797
1797
  e.push(_("C11", "coordinator overflow === visible", "visible", "absent", !1));
1798
1798
  else {
1799
- const l = getComputedStyle(i).overflow || i.style.overflow || "", c = l === "visible";
1800
- e.push(_("C11", "coordinator overflow === visible", "visible", l || "n/a", c));
1799
+ const s = getComputedStyle(o).overflow || o.style.overflow || "", c = s === "visible";
1800
+ e.push(_("C11", "coordinator overflow === visible", "visible", s || "n/a", c));
1801
1801
  }
1802
1802
  if (!u)
1803
- e.push(_("C12", "toolbar clipPath = inset(0 -40 -40 -40)", Z, "absent", !1));
1803
+ e.push(_("C12", "toolbar clipPath = inset(0 -40 -40 -40)", J, "absent", !1));
1804
1804
  else {
1805
- const s = u.style.clipPath, l = getComputedStyle(u), c = s || l.clipPath || "", d = c === Z;
1806
- e.push(_("C12", "toolbar clipPath = inset(0 -40 -40 -40)", Z, c || "n/a", d));
1805
+ const r = u.style.clipPath, s = getComputedStyle(u), c = r || s.clipPath || "", d = c === J;
1806
+ e.push(_("C12", "toolbar clipPath = inset(0 -40 -40 -40)", J, c || "n/a", d));
1807
1807
  }
1808
1808
  return e.push(
1809
1809
  _(
@@ -1824,10 +1824,10 @@ function ne() {
1824
1824
  ), e;
1825
1825
  }
1826
1826
  function ut(e) {
1827
- return ne().find((t) => t.id === e);
1827
+ return se().find((t) => t.id === e);
1828
1828
  }
1829
1829
  function pt() {
1830
- const e = J();
1830
+ const e = te();
1831
1831
  return { q12: [
1832
1832
  {
1833
1833
  id: "Q12-12",
@@ -1836,46 +1836,46 @@ function pt() {
1836
1836
  actual: `valid=${e.valid} mount=${e.mount} chrome=${e.chrome} frozen=${e.frozen} orphans=[${e.orphans.join(",")}]`,
1837
1837
  pass: e.valid
1838
1838
  }
1839
- ], cc: ne() };
1839
+ ], cc: se() };
1840
1840
  }
1841
1841
  function mt() {
1842
1842
  return {
1843
1843
  enable: ht,
1844
1844
  disable: ft,
1845
- isEnabled: () => R,
1846
- getLastReport: () => G,
1845
+ isEnabled: () => F,
1846
+ getLastReport: () => q,
1847
1847
  recordTransition: (e) => {
1848
- R && (G = { ...e, ...J() });
1848
+ F && (q = { ...e, ...te() });
1849
1849
  },
1850
1850
  assertOnce: () => {
1851
- const e = J();
1852
- return G = e, e;
1851
+ const e = te();
1852
+ return q = e, e;
1853
1853
  },
1854
- assertCcOnly: ne,
1854
+ assertCcOnly: se,
1855
1855
  getCcRowById: ut,
1856
1856
  assertPanelTruths: pt
1857
1857
  };
1858
1858
  }
1859
1859
  function ht() {
1860
- if (R = !0, typeof window > "u") return;
1860
+ if (F = !0, typeof window > "u") return;
1861
1861
  window.__panelsAsserter || (window.__panelsAsserter = mt(), console.info(
1862
1862
  "[panels] asserter enabled (P3b Q12-12 + P6 W5 cc:C1..C14). Inspect via window.__panelsAsserter."
1863
1863
  ));
1864
1864
  }
1865
1865
  function ft() {
1866
- R = !1;
1866
+ F = !1;
1867
1867
  }
1868
1868
  export {
1869
1869
  It as COMMITS,
1870
1870
  wt as CatalogAddShell,
1871
1871
  je as CatalogFooter,
1872
1872
  Et as CatalogReplaceShell,
1873
- te as CatalogStateContext,
1873
+ ae as CatalogStateContext,
1874
1874
  Ue as CloneCard,
1875
1875
  Fe as CloneStage,
1876
1876
  be as MOCK_DEFAULT_LENS,
1877
1877
  ge as MOCK_LENSES,
1878
- ee as MOCK_LENS_META,
1878
+ ne as MOCK_LENS_META,
1879
1879
  Xe as MOCK_PAGES,
1880
1880
  ve as MOCK_TILES_BY_LENS,
1881
1881
  xt as PANEL_IDS,
@@ -1889,23 +1889,23 @@ export {
1889
1889
  $t as PanelProvider,
1890
1890
  kt as PanelSlot,
1891
1891
  St as SettingsShell,
1892
- ne as assertCcOnly,
1893
- J as assertPanelDomShape,
1892
+ se as assertCcOnly,
1893
+ te as assertPanelDomShape,
1894
1894
  pt as assertPanelTruths,
1895
1895
  Rt as deriveSurfaceState,
1896
1896
  ft as disablePanelAsserter,
1897
1897
  ht as enablePanelAsserter,
1898
1898
  ut as getCcRowById,
1899
1899
  Ft as initialState,
1900
- de as positionKey,
1900
+ ue as positionKey,
1901
1901
  Ut as reducer,
1902
1902
  ct as transitionToPanel,
1903
1903
  qe as useCatalogState,
1904
1904
  Nt as useEditingCardId,
1905
1905
  _e as usePageMgmtState,
1906
1906
  we as usePanelContext,
1907
- F as usePanelContextOptional,
1907
+ U as usePanelContextOptional,
1908
1908
  zt as usePanelCoordinator,
1909
- pe as useReducedMotionPanel,
1909
+ me as useReducedMotionPanel,
1910
1910
  Dt as useTransitionToPanel
1911
1911
  };