@mt-gloss/ui 0.1.22 → 0.1.23

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.
package/index.js CHANGED
@@ -1,47 +1,47 @@
1
- import { N as Bn, T as zn, O as Kn, Q as Gn, a3 as Wn, b6 as Hn, az as Vn, ah as jn, Z as Un, an as Zn, K as Yn, a8 as qn, bn as Qn, P as Xn, B as Jn, a as er, y as tr, H as ar, bi as nr, F as rr, J as sr, A as or, z as ir, bh as lr, E as cr, D as dr, bw as ur, b as mr, C as gr, L as pr, o as fr, ad as hr, aN as br, y as vr, H as yr, F as wr, J as Dr, A as Nr, z as Cr, E as _r, D as kr, a$ as xr, b2 as Sr, b1 as Mr, b0 as Tr, b3 as Rr, aC as Ir, a5 as Pr, a4 as Fr, aq as Er, k as Or, m as Ar, aF as Lr, ab as $r, b8 as Br, a9 as zr, bo as Kr, Y as Gr, bG as Wr, bF as Hr, bH as Vr, ap as jr, aQ as Ur, ba as Zr, bL as Yr, bu as qr, n as Qr, am as Xr, bA as Jr, br as es, a0 as ts, ar as as, a2 as ns, bz as rs, G as ss, d as os, aa as is, bI as ls, aT as cs, r as ds, v as us, I as ms, g as gs, aw as ps, bM as fs, M as hs, w as bs, U as vs, X as ys, V as ws, W as Ds, as as Ns, bg as Cs, bO as _s, bK as ks, ao as xs, t as Ss, bp as Ms, aS as Ts, aj as Rs, aK as Is, ag as Ps, al as Fs, au as Es, aR as Os, ac as As, at as Ls, c as $s, R as Bs, j as zs, p as Ks, aH as Gs, bx as Ws, by as Hs, ai as Vs, ae as js, h as Us, x as Zs, b7 as Ys, af as qs, bN as Qs, bc as Xs, bf as Js, bd as eo, be as to, i as ao, b9 as no, bm as ro, S as so, bk as oo, bl as io, av as lo, bb as co, bP as uo, ak as mo, s as go, bJ as po, l as fo, f as ho, q as bo, _ as vo, $ as yo, a7 as wo, bj as Do, bv as No, bC as Co, aA as _o, aB as ko, a6 as xo, aO as So, aP as Mo, aD as To, aE as Ro, aG as Io, aV as Po, aW as Fo, bE as Eo, bD as Oo, aY as Ao, aZ as Lo, ax as $o, ay as Bo, b5 as zo, b4 as Ko, a_ as Go, aL as Wo, aM as Ho, aX as Vo, aI as jo, aJ as Uo, u as Zo, bB as Yo, bq as qo, bs as Qo, bt as Xo, aU as Jo, a1 as ei, e as ti } from "./Expandable-CxXKNJkL.js";
2
- import { jsxs as O, jsx as l, Fragment as ve } from "react/jsx-runtime";
3
- import * as Je from "react";
4
- import W, { useRef as T, useEffect as L, useState as G, useCallback as y, forwardRef as et, useMemo as ie, createContext as tt, useContext as at } from "react";
5
- import { motion as ue, useMotionValue as nt, animate as Re, useDragControls as rt } from "framer-motion";
6
- import { B as st, U as _e } from "./UIContext-C3E-k7HI.js";
7
- import { a as ni, u as ri } from "./UIContext-C3E-k7HI.js";
8
- import { createPortal as ot } from "react-dom";
9
- import { DEFAULT_MARKET_PRESETS as oi, DEFAULT_PINNED as ii, PERIOD_OPTIONS as li, ROLLING_OPTIONS as ci, TODAY_PRESET as di, findPreset as ui, formatDateRange as mi, formatMarketDates as gi, formatTrend as pi, formatValue as fi, generateMarketId as hi, getAllPresets as bi, getDateRangeForPreset as vi, getPresetLabel as yi, isInRange as wi, isMarketActive as Di, isSameDay as Ni, normalizePresetId as Ci, toUppercasePresetId as _i } from "@mt-gloss/utils";
10
- import it from "@mui/icons-material/AccessTime";
11
- import lt from "@mui/icons-material/Tune";
12
- import ct from "@mui/icons-material/ViewColumn";
13
- import dt from "@mui/icons-material/AspectRatio";
14
- import ut from "@mui/icons-material/Palette";
15
- import mt from "@mui/icons-material/PushPin";
16
- function Ta(e = {}) {
17
- const { enabled: t = !0, returnTo: n } = e, a = T(null);
1
+ import { N as Ha, T as Va, O as ja, Q as Ua, a3 as Za, b6 as Ya, az as qa, ah as Qa, Z as Xa, an as Ja, K as er, a8 as tr, bn as nr, P as ar, B as rr, a as sr, y as or, H as ir, bi as lr, F as cr, J as dr, A as ur, z as mr, bh as gr, E as pr, D as fr, bw as hr, b as br, C as vr, L as yr, o as wr, ad as Dr, aN as Nr, y as Cr, H as _r, F as kr, J as xr, A as Sr, z as Mr, E as Tr, D as Rr, a$ as Ir, b2 as Pr, b1 as Fr, b0 as Er, b3 as Or, aC as Ar, a5 as Lr, a4 as $r, aq as Br, k as zr, m as Kr, aF as Wr, ab as Gr, b8 as Hr, a9 as Vr, bo as jr, Y as Ur, bG as Zr, bF as Yr, bH as qr, ap as Qr, aQ as Xr, ba as Jr, bL as es, bu as ts, n as ns, am as as, bA as rs, br as ss, a0 as os, ar as is, a2 as ls, bz as cs, G as ds, d as us, aa as ms, bI as gs, aT as ps, r as fs, v as hs, I as bs, g as vs, aw as ys, bM as ws, M as Ds, w as Ns, U as Cs, X as _s, V as ks, W as xs, as as Ss, bg as Ms, bO as Ts, bK as Rs, ao as Is, t as Ps, bp as Fs, aS as Es, aj as Os, aK as As, ag as Ls, al as $s, au as Bs, aR as zs, ac as Ks, at as Ws, c as Gs, R as Hs, j as Vs, p as js, aH as Us, bx as Zs, by as Ys, ai as qs, ae as Qs, h as Xs, x as Js, b7 as eo, af as to, bN as no, bc as ao, bf as ro, bd as so, be as oo, i as io, b9 as lo, bm as co, S as uo, bk as mo, bl as go, av as po, bb as fo, bP as ho, ak as bo, s as vo, bJ as yo, l as wo, f as Do, q as No, _ as Co, $ as _o, a7 as ko, bj as xo, bv as So, bC as Mo, aA as To, aB as Ro, a6 as Io, aO as Po, aP as Fo, aD as Eo, aE as Oo, aG as Ao, aV as Lo, aW as $o, bE as Bo, bD as zo, aY as Ko, aZ as Wo, ax as Go, ay as Ho, b5 as Vo, b4 as jo, a_ as Uo, aL as Zo, aM as Yo, aX as qo, aI as Qo, aJ as Xo, u as Jo, bB as ei, bq as ti, bs as ni, bt as ai, aU as ri, a1 as si, e as oi } from "./Expandable-CxXKNJkL.js";
2
+ import { jsxs as O, jsx as l, Fragment as _e } from "react/jsx-runtime";
3
+ import * as rt from "react";
4
+ import V, { useRef as R, useEffect as L, useState as G, useCallback as w, forwardRef as st, useMemo as ge, createContext as ot, useContext as it } from "react";
5
+ import { motion as be, useMotionValue as lt, animate as Ae, useDragControls as ct } from "framer-motion";
6
+ import { B as dt, U as Re } from "./UIContext-C3E-k7HI.js";
7
+ import { a as li, u as ci } from "./UIContext-C3E-k7HI.js";
8
+ import { createPortal as ut } from "react-dom";
9
+ import { DEFAULT_MARKET_PRESETS as ui, DEFAULT_PINNED as mi, PERIOD_OPTIONS as gi, ROLLING_OPTIONS as pi, TODAY_PRESET as fi, findPreset as hi, formatDateRange as bi, formatMarketDates as vi, formatTrend as yi, formatValue as wi, generateMarketId as Di, getAllPresets as Ni, getDateRangeForPreset as Ci, getPresetLabel as _i, isInRange as ki, isMarketActive as xi, isSameDay as Si, normalizePresetId as Mi, toUppercasePresetId as Ti } from "@mt-gloss/utils";
10
+ import mt from "@mui/icons-material/AccessTime";
11
+ import gt from "@mui/icons-material/Tune";
12
+ import pt from "@mui/icons-material/ViewColumn";
13
+ import ft from "@mui/icons-material/AspectRatio";
14
+ import ht from "@mui/icons-material/Palette";
15
+ import bt from "@mui/icons-material/PushPin";
16
+ function On(e = {}) {
17
+ const { enabled: t = !0, returnTo: a } = e, n = R(null);
18
18
  return L(() => {
19
- t && (a.current = n || document.activeElement);
20
- }, [t, n]), L(() => () => {
21
- t && a.current && setTimeout(() => {
22
- a.current?.focus?.();
19
+ t && (n.current = a || document.activeElement);
20
+ }, [t, a]), L(() => () => {
21
+ t && n.current && setTimeout(() => {
22
+ n.current?.focus?.();
23
23
  }, 0);
24
- }, [t]), a;
24
+ }, [t]), n;
25
25
  }
26
- function Ra(e) {
26
+ function An(e) {
27
27
  const {
28
28
  items: t,
29
- activeIndex: n,
30
- onActiveIndexChange: a,
29
+ activeIndex: a,
30
+ onActiveIndexChange: n,
31
31
  loop: r = !0,
32
32
  orientation: s = "vertical",
33
33
  enabled: o = !0,
34
34
  isItemDisabled: c,
35
35
  onSelect: f,
36
36
  onEscape: d
37
- } = e, [g, w] = G(-1), u = n !== void 0 ? n : g, m = y(
37
+ } = e, [p, h] = G(-1), u = a !== void 0 ? a : p, m = w(
38
38
  (i) => {
39
- n === void 0 && w(i), a?.(i);
39
+ a === void 0 && h(i), n?.(i);
40
40
  },
41
- [n, a]
42
- ), h = y(() => t.map((i, b) => ({ item: i, index: b })).filter(({ item: i, index: b }) => !c?.(i, b)).map(({ index: i }) => i), [t, c]), _ = y(
41
+ [a, n]
42
+ ), N = w(() => t.map((i, b) => ({ item: i, index: b })).filter(({ item: i, index: b }) => !c?.(i, b)).map(({ index: i }) => i), [t, c]), y = w(
43
43
  (i, b) => {
44
- const D = h();
44
+ const D = N();
45
45
  if (D.length === 0) return -1;
46
46
  const x = D.indexOf(i);
47
47
  if (x === -1)
@@ -49,35 +49,35 @@ function Ra(e) {
49
49
  let v = x + b;
50
50
  return r ? v = (v + D.length) % D.length : v = Math.max(0, Math.min(D.length - 1, v)), D[v];
51
51
  },
52
- [h, r]
53
- ), p = y(() => {
54
- const i = h();
52
+ [N, r]
53
+ ), g = w(() => {
54
+ const i = N();
55
55
  i.length > 0 && m(i[0]);
56
- }, [h, m]), S = y(() => {
57
- const i = h();
56
+ }, [N, m]), S = w(() => {
57
+ const i = N();
58
58
  i.length > 0 && m(i[i.length - 1]);
59
- }, [h, m]), I = y(() => {
60
- const i = _(u, 1);
59
+ }, [N, m]), I = w(() => {
60
+ const i = y(u, 1);
61
61
  i !== -1 && m(i);
62
- }, [u, _, m]), C = y(() => {
63
- const i = _(u, -1);
62
+ }, [u, y, m]), _ = w(() => {
63
+ const i = y(u, -1);
64
64
  i !== -1 && m(i);
65
- }, [u, _, m]), M = y(() => {
65
+ }, [u, y, m]), M = w(() => {
66
66
  m(-1);
67
- }, [m]), R = y(
67
+ }, [m]), T = w(
68
68
  (i) => {
69
69
  if (!o) return;
70
70
  const { key: b } = i, D = b === "ArrowUp" && (s === "vertical" || s === "both"), x = b === "ArrowDown" && (s === "vertical" || s === "both"), v = b === "ArrowLeft" && (s === "horizontal" || s === "both"), k = b === "ArrowRight" && (s === "horizontal" || s === "both");
71
71
  if (D || v) {
72
- i.preventDefault(), u === -1 ? S() : C();
72
+ i.preventDefault(), u === -1 ? S() : _();
73
73
  return;
74
74
  }
75
75
  if (x || k) {
76
- i.preventDefault(), u === -1 ? p() : I();
76
+ i.preventDefault(), u === -1 ? g() : I();
77
77
  return;
78
78
  }
79
79
  if (b === "Home") {
80
- i.preventDefault(), p();
80
+ i.preventDefault(), g();
81
81
  return;
82
82
  }
83
83
  if (b === "End") {
@@ -100,10 +100,10 @@ function Ra(e) {
100
100
  s,
101
101
  u,
102
102
  t,
103
- p,
103
+ g,
104
104
  S,
105
105
  I,
106
- C,
106
+ _,
107
107
  c,
108
108
  f,
109
109
  d
@@ -112,51 +112,51 @@ function Ra(e) {
112
112
  return {
113
113
  focusedIndex: u,
114
114
  setFocusedIndex: m,
115
- handleKeyDown: R,
116
- focusFirst: p,
115
+ handleKeyDown: T,
116
+ focusFirst: g,
117
117
  focusLast: S,
118
118
  focusNext: I,
119
- focusPrevious: C,
119
+ focusPrevious: _,
120
120
  resetFocus: M
121
121
  };
122
122
  }
123
- const me = (e) => {
124
- }, gt = {
123
+ const ve = (e) => {
124
+ }, vt = {
125
125
  id: "entity-filter-1",
126
126
  label: "Customer: Acme Corp",
127
127
  field: "customer",
128
128
  value: "acme-corp-123",
129
- onRemove: me
130
- }, pt = {
129
+ onRemove: ve
130
+ }, yt = {
131
131
  id: "status-filter-1",
132
132
  label: "Status: Open",
133
133
  field: "status",
134
134
  value: "open",
135
- onRemove: me
136
- }, ft = {
135
+ onRemove: ve
136
+ }, wt = {
137
137
  id: "date-filter-1",
138
138
  label: "Date: Mar 1 - Mar 15",
139
139
  field: "dateRange",
140
140
  value: "2026-03-01..2026-03-15",
141
- onRemove: me
142
- }, ht = {
141
+ onRemove: ve
142
+ }, Dt = {
143
143
  id: "mfg-filter-1",
144
144
  label: "Manufacturer: Widget Co",
145
145
  field: "manufacturer",
146
146
  value: "widget-co-456",
147
- onRemove: me
148
- }, Ia = [
149
- gt,
150
- pt,
151
- ft,
152
- ht
153
- ], Pa = {
147
+ onRemove: ve
148
+ }, Ln = [
149
+ vt,
150
+ yt,
151
+ wt,
152
+ Dt
153
+ ], $n = {
154
154
  id: "metric-toggle",
155
155
  tabs: [
156
156
  { id: "$", label: "$", mono: !0 },
157
157
  { id: "#", label: "#", mono: !0 }
158
158
  ]
159
- }, Fa = {
159
+ }, Bn = {
160
160
  id: "entity-type",
161
161
  tabs: [
162
162
  { id: "orders", label: "Orders" },
@@ -164,7 +164,7 @@ const me = (e) => {
164
164
  { id: "customers", label: "Customers" },
165
165
  { id: "manufacturers", label: "Manufacturers" }
166
166
  ]
167
- }, Ea = {
167
+ }, zn = {
168
168
  id: "time-frame",
169
169
  tabs: [
170
170
  { id: "MTD", label: "MTD" },
@@ -172,30 +172,30 @@ const me = (e) => {
172
172
  { id: "YTD", label: "YTD" },
173
173
  { id: "LYTD", label: "LYTD" }
174
174
  ]
175
- }, Oa = [
175
+ }, Kn = [
176
176
  { variant: "block", width: "100%", height: 16 },
177
177
  { variant: "block", width: 200, height: 32, borderRadius: 8 },
178
178
  { variant: "block", width: "80%", height: 12, borderRadius: "4px" },
179
179
  { variant: "block", width: 120, height: 44, borderRadius: 22 }
180
- ], Aa = [
180
+ ], Wn = [
181
181
  { variant: "text", lines: 3, lineHeight: 14, gap: 8 },
182
182
  { variant: "text", lines: 2, lineHeight: 16, gap: 10 },
183
183
  { variant: "text", lines: 5, lineHeight: 12, gap: 6 }
184
- ], La = [
184
+ ], Gn = [
185
185
  { variant: "circle", size: 24 },
186
186
  { variant: "circle", size: 40 },
187
187
  { variant: "circle", size: 64 }
188
- ], $a = [
188
+ ], Hn = [
189
189
  { bars: 10, maxHeight: 120 },
190
190
  { bars: 5, maxHeight: 80 }
191
- ], Ba = [
191
+ ], Vn = [
192
192
  { rows: 5, columns: 3, hasCheckbox: !1, rowHeight: 44 },
193
193
  { rows: 8, columns: 5, hasCheckbox: !0, rowHeight: 44 }
194
- ], za = [
194
+ ], jn = [
195
195
  { variant: "value", colSpan: 1 },
196
196
  { variant: "trend", colSpan: 2 },
197
197
  { variant: "target", colSpan: 1 }
198
- ], Ie = {
198
+ ], Le = {
199
199
  position: "fixed",
200
200
  zIndex: 9999,
201
201
  background: "rgba(255,255,255,0.92)",
@@ -207,7 +207,7 @@ const me = (e) => {
207
207
  minWidth: 148,
208
208
  paddingTop: 4,
209
209
  paddingBottom: 4
210
- }, ye = (e) => ({
210
+ }, ke = (e) => ({
211
211
  padding: "6px 12px",
212
212
  fontSize: 12,
213
213
  lineHeight: 1.4,
@@ -221,64 +221,64 @@ const me = (e) => {
221
221
  width: "100%",
222
222
  textAlign: "left",
223
223
  border: "none"
224
- }), bt = (e) => ({
225
- ...ye(e),
224
+ }), Nt = (e) => ({
225
+ ...ke(e),
226
226
  color: e ? "#4338ca" : "#4f46e5",
227
227
  fontWeight: 600
228
- }), vt = {
228
+ }), Ct = {
229
229
  height: 1,
230
230
  background: "rgba(0,0,0,0.06)",
231
231
  margin: "3px 10px"
232
232
  };
233
- function yt({
233
+ function _t({
234
234
  open: e,
235
235
  anchorEl: t,
236
- statusId: n,
237
- onOpenInTable: a,
236
+ statusId: a,
237
+ onOpenInTable: n,
238
238
  onShowOnGraph: r,
239
239
  overflowActions: s,
240
240
  onClose: o
241
241
  }) {
242
- const [c, f] = G(null), d = T(null), g = y(() => {
243
- if (!t) return { ...Ie, top: 0, left: 0 };
242
+ const [c, f] = G(null), d = R(null), p = w(() => {
243
+ if (!t) return { ...Le, top: 0, left: 0 };
244
244
  const m = t.getBoundingClientRect();
245
245
  return {
246
- ...Ie,
246
+ ...Le,
247
247
  top: m.bottom + 4,
248
248
  left: m.left
249
249
  };
250
250
  }, [t]);
251
251
  if (L(() => {
252
252
  if (!e) return;
253
- const m = (h) => {
254
- h.key === "Escape" && o();
253
+ const m = (N) => {
254
+ N.key === "Escape" && o();
255
255
  };
256
256
  return document.addEventListener("keydown", m), () => document.removeEventListener("keydown", m);
257
257
  }, [e, o]), L(() => {
258
258
  if (!e) return;
259
- const m = (h) => {
260
- d.current && !d.current.contains(h.target) && o();
259
+ const m = (N) => {
260
+ d.current && !d.current.contains(N.target) && o();
261
261
  };
262
262
  return document.addEventListener("pointerdown", m, !0), () => document.removeEventListener("pointerdown", m, !0);
263
263
  }, [e, o]), !e) return null;
264
- const w = s && s.length > 0, u = /* @__PURE__ */ O(
264
+ const h = s && s.length > 0, u = /* @__PURE__ */ O(
265
265
  "div",
266
266
  {
267
267
  ref: d,
268
- "data-status-chip-menu": n,
268
+ "data-status-chip-menu": a,
269
269
  role: "menu",
270
270
  "aria-label": "Status actions",
271
- style: g(),
271
+ style: p(),
272
272
  children: [
273
273
  /* @__PURE__ */ l(
274
274
  "button",
275
275
  {
276
276
  role: "menuitem",
277
- style: bt(c === "__primary"),
277
+ style: Nt(c === "__primary"),
278
278
  onMouseEnter: () => f("__primary"),
279
279
  onMouseLeave: () => f(null),
280
280
  onClick: () => {
281
- a(n), o();
281
+ n(a), o();
282
282
  },
283
283
  children: "Open in table"
284
284
  }
@@ -287,25 +287,25 @@ function yt({
287
287
  "button",
288
288
  {
289
289
  role: "menuitem",
290
- style: ye(c === "__graph"),
290
+ style: ke(c === "__graph"),
291
291
  onMouseEnter: () => f("__graph"),
292
292
  onMouseLeave: () => f(null),
293
293
  onClick: () => {
294
- r(n), o();
294
+ r(a), o();
295
295
  },
296
296
  children: "Show on graph"
297
297
  }
298
298
  ),
299
- w && /* @__PURE__ */ l("div", { style: vt }),
300
- w && s?.map((m) => /* @__PURE__ */ l(
299
+ h && /* @__PURE__ */ l("div", { style: Ct }),
300
+ h && s?.map((m) => /* @__PURE__ */ l(
301
301
  "button",
302
302
  {
303
303
  role: "menuitem",
304
- style: ye(c === m.id),
304
+ style: ke(c === m.id),
305
305
  onMouseEnter: () => f(m.id),
306
306
  onMouseLeave: () => f(null),
307
307
  onClick: () => {
308
- m.onSelect(n), o();
308
+ m.onSelect(a), o();
309
309
  },
310
310
  children: m.label
311
311
  },
@@ -314,33 +314,33 @@ function yt({
314
314
  ]
315
315
  }
316
316
  );
317
- return ot(u, document.body);
317
+ return ut(u, document.body);
318
318
  }
319
- yt.displayName = "StatusSlotChipMenu";
320
- const Ka = {
319
+ _t.displayName = "StatusSlotChipMenu";
320
+ const Un = {
321
321
  forwardStaggerMs: 50,
322
322
  reverseStaggerMs: 30,
323
323
  springStiffness: 380,
324
324
  springDamping: 32,
325
325
  reverseVelocityMultiplier: 1.4
326
- }, re = {
326
+ }, de = {
327
327
  enterDurationMs: 220,
328
328
  exitDurationMs: 140,
329
329
  enterEasing: "cubic-bezier(0.34, 1.56, 0.64, 1)",
330
330
  exitEasing: "cubic-bezier(0.4, 0, 1, 1)",
331
331
  translateOffsetPx: 8
332
- }, Ga = {
332
+ }, Zn = {
333
333
  shiverCycles: 3,
334
334
  shiverAmplitudePx: 2,
335
335
  shiverDurationMs: 180,
336
336
  validCellOpacity: 0.6
337
- }, Wa = {
337
+ }, Yn = {
338
338
  materializeMs: 180,
339
339
  dematerializeMs: 140,
340
340
  easing: "cubic-bezier(0.22, 1, 0.36, 1)",
341
341
  dotStrokePx: 2,
342
342
  dividerDashGapPx: 4
343
- }, Ha = {
343
+ }, qn = {
344
344
  cascadeStaggerMs: 0,
345
345
  cascadeSpringCapMs: 120,
346
346
  swingEnterMs: 100,
@@ -349,7 +349,7 @@ const Ka = {
349
349
  provisionalStyle: "opacity",
350
350
  shiverMs: 200,
351
351
  shiverStyle: "color-flash"
352
- }, Va = !0, ja = {
352
+ }, Qn = !0, Xn = {
353
353
  rejectionFill: "var(--gloss-rejection-fill)",
354
354
  rejectionStroke: "var(--gloss-rejection-stroke)",
355
355
  validFill: "var(--gloss-valid-fill)",
@@ -357,7 +357,7 @@ const Ka = {
357
357
  validCellStroke: "var(--gloss-valid-cell-stroke)",
358
358
  provisionalWash: "var(--gloss-provisional-wash)"
359
359
  };
360
- function Ua() {
360
+ function Jn() {
361
361
  if (typeof window > "u") return "full";
362
362
  try {
363
363
  return window.matchMedia("(prefers-reduced-motion: reduce)").matches ? "reduced" : "full";
@@ -365,17 +365,17 @@ function Ua() {
365
365
  return "full";
366
366
  }
367
367
  }
368
- const Ae = ({ visible: e, variant: t, trigger: n, children: a, className: r }) => {
368
+ const We = ({ visible: e, variant: t, trigger: a, children: n, className: r }) => {
369
369
  const s = {
370
- "--gloss-swing-enter-ms": `${re.enterDurationMs}ms`,
371
- "--gloss-swing-exit-ms": `${re.exitDurationMs}ms`,
372
- "--gloss-swing-offset": `${re.translateOffsetPx}px`,
373
- "--gloss-swing-enter-easing": re.enterEasing,
374
- "--gloss-swing-exit-easing": re.exitEasing
370
+ "--gloss-swing-enter-ms": `${de.enterDurationMs}ms`,
371
+ "--gloss-swing-exit-ms": `${de.exitDurationMs}ms`,
372
+ "--gloss-swing-offset": `${de.translateOffsetPx}px`,
373
+ "--gloss-swing-enter-easing": de.enterEasing,
374
+ "--gloss-swing-exit-easing": de.exitEasing
375
375
  }, o = [
376
376
  "gloss-swing-reveal",
377
377
  `gloss-swing-reveal--${t}`,
378
- n === "hover+focus" ? "gloss-swing-reveal--hover-focus" : "",
378
+ a === "hover+focus" ? "gloss-swing-reveal--hover-focus" : "",
379
379
  r ?? ""
380
380
  ].filter(Boolean).join(" ");
381
381
  return /* @__PURE__ */ l(
@@ -386,59 +386,60 @@ const Ae = ({ visible: e, variant: t, trigger: n, children: a, className: r }) =
386
386
  "data-visible": e ? "true" : "false",
387
387
  className: o,
388
388
  style: s,
389
- children: a
389
+ children: n
390
390
  }
391
391
  );
392
- }, wt = et(
393
- function({ state: t, onPointerDown: n, onPointerUp: a, onPointerEnter: r, onPointerLeave: s, onKeyboardStep: o, edge: c = "right", ariaLabel: f = "Resize card" }, d) {
394
- const g = t === "handle-visible" || t === "dragging" || t === "settling", w = (h) => {
392
+ }, kt = st(
393
+ function({ state: t, onPointerDown: a, onPointerUp: n, onPointerEnter: r, onPointerLeave: s, onKeyboardStep: o, onLostPointerCapture: c, edge: f = "right", ariaLabel: d = "Resize card" }, p) {
394
+ const h = t === "handle-visible" || t === "dragging" || t === "settling", u = (y) => {
395
395
  try {
396
- h.currentTarget.setPointerCapture(h.pointerId);
396
+ y.currentTarget.setPointerCapture(y.pointerId);
397
397
  } catch {
398
398
  }
399
- n(h);
400
- }, u = (h) => {
399
+ a(y);
400
+ }, m = (y) => {
401
401
  try {
402
- h.currentTarget.hasPointerCapture?.(h.pointerId) && h.currentTarget.releasePointerCapture(h.pointerId);
402
+ y.currentTarget.hasPointerCapture?.(y.pointerId) && y.currentTarget.releasePointerCapture(y.pointerId);
403
403
  } catch {
404
404
  }
405
- a(h);
406
- }, m = (h) => {
407
- !g || !o || (h.key === "ArrowRight" ? (h.preventDefault(), o("grow")) : h.key === "ArrowLeft" && (h.preventDefault(), o("shrink")));
405
+ n(y);
406
+ }, N = (y) => {
407
+ !h || !o || (y.key === "ArrowRight" ? (y.preventDefault(), o("grow")) : y.key === "ArrowLeft" && (y.preventDefault(), o("shrink")));
408
408
  };
409
- return /* @__PURE__ */ l(Ae, { visible: g, variant: "handle", trigger: "hover", children: /* @__PURE__ */ l(
409
+ return /* @__PURE__ */ l(We, { visible: h, variant: "handle", trigger: "hover", children: /* @__PURE__ */ l(
410
410
  "button",
411
411
  {
412
- ref: d,
412
+ ref: p,
413
413
  type: "button",
414
- "aria-label": f,
415
- "data-edge": c,
414
+ "aria-label": d,
415
+ "data-edge": f,
416
416
  "data-resize-state": t,
417
417
  className: [
418
418
  "gloss-edge-handle",
419
- `gloss-edge-handle--${c}`,
420
- g ? "gloss-edge-handle--visible" : ""
419
+ `gloss-edge-handle--${f}`,
420
+ h ? "gloss-edge-handle--visible" : ""
421
421
  ].filter(Boolean).join(" "),
422
- onPointerDown: w,
423
- onPointerUp: u,
422
+ onPointerDown: u,
423
+ onPointerUp: m,
424
424
  onPointerEnter: r,
425
425
  onPointerLeave: s,
426
- onKeyDown: m,
427
- tabIndex: g ? 0 : -1
426
+ onLostPointerCapture: c,
427
+ onKeyDown: N,
428
+ tabIndex: h ? 0 : -1
428
429
  }
429
430
  ) });
430
431
  }
431
432
  );
432
- wt.displayName = "EdgeHoverHandle";
433
- function Dt({
433
+ kt.displayName = "EdgeHoverHandle";
434
+ function xt({
434
435
  visible: e,
435
436
  targetColSpan: t,
436
- ghostWidth: n,
437
- enterMs: a = 180,
437
+ ghostWidth: a,
438
+ enterMs: n = 180,
438
439
  exitMs: r = 120
439
440
  }) {
440
441
  return /* @__PURE__ */ l(
441
- ue.div,
442
+ be.div,
442
443
  {
443
444
  "aria-hidden": "true",
444
445
  "data-ghost-preview": e ? "visible" : "hidden",
@@ -448,14 +449,14 @@ function Dt({
448
449
  e ? "gloss-ghost-preview--visible" : ""
449
450
  ].filter(Boolean).join(" "),
450
451
  style: {
451
- width: n,
452
- transitionDuration: `${e ? a : r}ms`
452
+ width: a,
453
+ transitionDuration: `${e ? n : r}ms`
453
454
  }
454
455
  }
455
456
  );
456
457
  }
457
- Dt.displayName = "GhostPreview";
458
- class Nt {
458
+ xt.displayName = "GhostPreview";
459
+ class St {
459
460
  constructor() {
460
461
  this.samples = [], this.capacity = 3;
461
462
  }
@@ -465,6 +466,20 @@ class Nt {
465
466
  clear() {
466
467
  this.samples = [];
467
468
  }
469
+ /**
470
+ * Quick 260422-gfr — last-known-position accessor for the window-level
471
+ * terminateDrag fallback in useEdgeHoverResize. When pointer capture is
472
+ * silently lost (Alt-Tab / blur / visibilitychange hidden), the React
473
+ * onPointerUp does not fire, so the window-level fallback needs the last
474
+ * pointer x-coordinate to compute `dx` for commitSpring. The most recent
475
+ * sample is the authoritative answer (pointermove pushes on every event).
476
+ *
477
+ * Returns `null` when the buffer is empty (no drag ever started).
478
+ */
479
+ tail() {
480
+ const t = this.samples.length;
481
+ return t === 0 ? null : this.samples[t - 1];
482
+ }
468
483
  /**
469
484
  * D-09 — weighted-average velocity (px/sec).
470
485
  *
@@ -479,14 +494,14 @@ class Nt {
479
494
  const t = this.samples.length;
480
495
  if (t < 2) return 0;
481
496
  if (t === 2) {
482
- const [f, d] = this.samples, g = Math.max(1, d.t - f.t);
483
- return (d.x - f.x) / g * 1e3;
497
+ const [f, d] = this.samples, p = Math.max(1, d.t - f.t);
498
+ return (d.x - f.x) / p * 1e3;
484
499
  }
485
- const [n, a, r] = this.samples, s = (r.x - a.x) / Math.max(1, r.t - a.t) * 1e3, o = (a.x - n.x) / Math.max(1, a.t - n.t) * 1e3, c = o;
500
+ const [a, n, r] = this.samples, s = (r.x - n.x) / Math.max(1, r.t - n.t) * 1e3, o = (n.x - a.x) / Math.max(1, n.t - a.t) * 1e3, c = o;
486
501
  return (s * 3 + o * 2 + c * 1) / 6;
487
502
  }
488
503
  }
489
- const Le = {
504
+ const Ge = {
490
505
  // Spring (D-08). Retuned 260419 — damping 35 → 22 so the commit spring
491
506
  // has visible overshoot (ζ ≈ 0.49, ~13–17% overshoot, ~350ms settle). The
492
507
  // prior ζ ≈ 0.78 was imperceptible to users. Debug slug:
@@ -506,216 +521,229 @@ const Le = {
506
521
  // Velocity multiplier (D-03b panel)
507
522
  velocityMultiplier: 1
508
523
  };
509
- function Za({
524
+ function ea({
510
525
  currentColSpan: e,
511
526
  stackable: t,
512
- onResize: n,
513
- onCancel: a,
527
+ onResize: a,
528
+ onCancel: n,
514
529
  step: r = 180,
515
530
  gap: s = 0,
516
531
  tuning: o,
517
532
  dwellMs: c = 60,
518
533
  graceExitMs: f = 150,
519
534
  enterMs: d = 180,
520
- exitMs: g = 120,
521
- maxColSpan: w = 3,
535
+ exitMs: p = 120,
536
+ maxColSpan: h = 3,
522
537
  containerRef: u,
523
538
  forceIdle: m
524
539
  }) {
525
- const [h, _] = G("idle"), [p, S] = G(e), I = T(null), C = T(null), M = T(null), R = T(null), i = T(r), b = T(s), D = T(w), x = T(0), v = T("idle");
540
+ const [N, y] = G("idle"), [g, S] = G(e), I = R(null), _ = R(null), M = R(null), T = R(null), i = R(r), b = R(s), D = R(h), x = R(0), v = R("idle");
526
541
  L(() => {
527
- v.current = h;
528
- }, [h]);
529
- const k = nt(0), P = T(null), H = y(() => {
530
- const N = P.current;
531
- if (N) {
542
+ v.current = N;
543
+ }, [N]);
544
+ const k = lt(0), P = R(null), j = w(() => {
545
+ const C = P.current;
546
+ if (C) {
532
547
  try {
533
- N.stop();
548
+ C.stop();
534
549
  } catch {
535
550
  }
536
551
  P.current = null;
537
552
  }
538
- }, []), U = y(
539
- (N) => {
553
+ }, []), Y = w(
554
+ (C) => {
540
555
  const F = i.current, E = b.current;
541
- return N * F + (N - 1) * E;
556
+ return C * F + (C - 1) * E;
542
557
  },
543
558
  []
544
- ), j = T(new Nt()), K = T(e);
559
+ ), U = R(new St()), W = R(e);
545
560
  L(() => {
546
- K.current = p;
547
- }, [p]);
548
- const $ = ie(() => ({ ...Le, ...o ?? {} }), [o]), V = y(() => {
561
+ W.current = g;
562
+ }, [g]);
563
+ const $ = ge(() => ({ ...Ge, ...o ?? {} }), [o]), Z = w(() => {
549
564
  I.current && (clearTimeout(I.current), I.current = null);
550
- }, []), A = y(() => {
551
- C.current && (clearTimeout(C.current), C.current = null);
552
- }, []), Y = y(() => {
565
+ }, []), A = w(() => {
566
+ _.current && (clearTimeout(_.current), _.current = null);
567
+ }, []), X = w(() => {
553
568
  M.current && (clearTimeout(M.current), M.current = null);
554
569
  }, []);
555
570
  L(() => {
556
- m && (v.current === "dragging" || v.current === "settling" || (V(), A(), Y(), v.current = "idle", _("idle")));
557
- }, [m, V, A, Y]);
558
- const ke = y(() => {
559
- A(), _((N) => N === "settling" || N !== "idle" ? N : (I.current = setTimeout(() => _("handle-visible"), c), "dwelling"));
560
- }, [c, A]), xe = y(() => {
561
- V();
562
- const N = v.current;
563
- N !== "dwelling" && N !== "handle-visible" || (C.current = setTimeout(() => {
564
- v.current = "idle", _("idle");
571
+ m && (v.current === "dragging" || v.current === "settling" || (Z(), A(), X(), v.current = "idle", y("idle")));
572
+ }, [m, Z, A, X]);
573
+ const Ie = w(() => {
574
+ A(), y((C) => C === "settling" || C !== "idle" ? C : (I.current = setTimeout(() => y("handle-visible"), c), "dwelling"));
575
+ }, [c, A]), Pe = w(() => {
576
+ Z();
577
+ const C = v.current;
578
+ C !== "dwelling" && C !== "handle-visible" || (_.current = setTimeout(() => {
579
+ v.current = "idle", y("idle");
565
580
  }, f));
566
- }, [V, f]), le = y(
567
- (N, F, E) => {
568
- const B = i.current, J = B * $.snapInFraction, q = B * $.snapOutFraction, Q = F - E, X = Math.max(
581
+ }, [Z, f]), se = w(
582
+ (C, F, E) => {
583
+ const B = i.current, J = B * $.snapInFraction, q = B * $.snapOutFraction, z = F - E, H = Math.max(
569
584
  E,
570
- D.current ?? w
585
+ D.current ?? h
571
586
  );
572
- let z = Q;
573
- for (; E + z < X; ) {
574
- const ne = z * B + (z < 0 ? q : J);
575
- if (N >= ne) z += 1;
587
+ let K = z;
588
+ for (; E + K < H; ) {
589
+ const ee = K * B + (K < 0 ? q : J);
590
+ if (C >= ee) K += 1;
576
591
  else break;
577
592
  }
578
- if (z === Q)
579
- for (; E + z > 1; ) {
580
- const ne = z * B - (z > 0 ? q : J);
581
- if (N <= ne) z -= 1;
593
+ if (K === z)
594
+ for (; E + K > 1; ) {
595
+ const ee = K * B - (K > 0 ? q : J);
596
+ if (C <= ee) K -= 1;
582
597
  else break;
583
598
  }
584
- return Math.min(X, Math.max(1, E + z));
599
+ return Math.min(H, Math.max(1, E + K));
585
600
  },
586
- [$.snapInFraction, $.snapOutFraction, w]
587
- ), Ue = y(
588
- (N) => {
601
+ [$.snapInFraction, $.snapOutFraction, h]
602
+ ), Je = w(
603
+ (C) => {
589
604
  if (v.current !== "handle-visible") return;
590
- H(), R.current = N.clientX, i.current = r, b.current = s, D.current = w;
605
+ j(), T.current = C.clientX, i.current = r, b.current = s, D.current = h;
591
606
  const F = e * r + (e - 1) * s;
592
- x.current = F, j.current.clear(), j.current.push({ x: N.clientX, t: performance.now() }), k.jump(F), v.current = "dragging", _("dragging");
607
+ x.current = F, U.current.clear(), U.current.push({ x: C.clientX, t: performance.now() }), k.jump(F), v.current = "dragging", y("dragging");
593
608
  },
594
- [r, s, w, e, k, H]
595
- ), Se = y(
596
- (N) => N * i.current + (N - 1) * b.current,
609
+ [r, s, h, e, k, j]
610
+ ), Fe = w(
611
+ (C) => C * i.current + (C - 1) * b.current,
597
612
  []
598
- ), ce = y(
599
- (N, F) => {
600
- const E = Se(N), B = N !== e;
613
+ ), re = w(
614
+ (C, F) => {
615
+ const E = Fe(C), B = C !== e;
601
616
  if (typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
602
- k.jump(E), B && F ? n({ direction: F, targetColSpan: N, mode: t ? "slot-fill" : "sparkline-fidelity" }) : B || a?.(), k.jump(0), v.current = "idle", _("idle");
617
+ k.jump(E), B && F ? a({ direction: F, targetColSpan: C, mode: t ? "slot-fill" : "sparkline-fidelity" }) : B || n?.(), k.jump(0), v.current = "idle", y("idle");
603
618
  return;
604
619
  }
605
- const q = j.current.getWeightedVelocity() * $.velocityMultiplier;
606
- v.current = "settling", _("settling"), H(), P.current = Re(k, E, {
620
+ const q = U.current.getWeightedVelocity() * $.velocityMultiplier;
621
+ v.current = "settling", y("settling"), j(), P.current = Ae(k, E, {
607
622
  type: "spring",
608
623
  stiffness: $.stiffness,
609
624
  damping: $.damping,
610
625
  mass: $.mass,
611
626
  velocity: q,
612
627
  onComplete: () => {
613
- P.current = null, B && F ? n({ direction: F, targetColSpan: N, mode: t ? "slot-fill" : "sparkline-fidelity" }) : B || a?.(), k.jump(0), v.current = "idle", _("idle");
628
+ P.current = null, B && F ? a({ direction: F, targetColSpan: C, mode: t ? "slot-fill" : "sparkline-fidelity" }) : B || n?.(), k.jump(0), v.current = "idle", y("idle");
614
629
  }
615
630
  });
616
631
  },
617
- [Se, e, t, n, a, k, $, H]
618
- ), Ze = y(
619
- (N) => {
632
+ [Fe, e, t, a, n, k, $, j]
633
+ ), et = w(
634
+ (C) => {
620
635
  if (v.current !== "dragging") return;
621
- const F = N.clientX - (R.current ?? N.clientX), E = i.current, J = ((D.current ?? w) - e) * E, q = (1 - e) * E, Q = Math.max(q, Math.min(J, F));
622
- j.current.push({ x: N.clientX, t: performance.now() });
623
- const X = le(Q, K.current, e), z = X > e ? "grow" : X < e ? "shrink" : null;
624
- ce(X, z);
636
+ const F = C.clientX - (T.current ?? C.clientX), E = i.current, J = ((D.current ?? h) - e) * E, q = (1 - e) * E, z = Math.max(q, Math.min(J, F));
637
+ U.current.push({ x: C.clientX, t: performance.now() });
638
+ const H = se(z, W.current, e), K = H > e ? "grow" : H < e ? "shrink" : null;
639
+ re(H, K);
625
640
  },
626
- [le, e, w, ce]
627
- ), ge = y(() => {
628
- if (V(), v.current === "dragging") {
629
- const N = x.current;
641
+ [se, e, h, re]
642
+ ), oe = w(() => {
643
+ if (Z(), v.current === "dragging") {
644
+ const C = x.current;
630
645
  if (typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
631
- k.jump(N), a?.(), k.jump(0), v.current = "idle", _("idle");
646
+ k.jump(C), n?.(), k.jump(0), v.current = "idle", y("idle");
632
647
  return;
633
648
  }
634
- const E = j.current.getWeightedVelocity();
635
- v.current = "settling", _("settling"), H(), P.current = Re(k, N, {
649
+ const E = U.current.getWeightedVelocity();
650
+ v.current = "settling", y("settling"), j(), P.current = Ae(k, C, {
636
651
  type: "spring",
637
652
  stiffness: $.stiffness,
638
653
  damping: $.damping,
639
654
  mass: $.mass,
640
655
  velocity: E,
641
656
  onComplete: () => {
642
- P.current = null, a?.(), k.jump(0), v.current = "idle", _("idle");
657
+ P.current = null, n?.(), k.jump(0), v.current = "idle", y("idle");
643
658
  }
644
659
  });
645
660
  return;
646
661
  }
647
- v.current === "handle-visible" && (a?.(), v.current = "cancelled", _("cancelled"));
648
- }, [V, k, a, $, H]);
662
+ v.current === "handle-visible" && (n?.(), v.current = "cancelled", y("cancelled"));
663
+ }, [Z, k, n, $, j]);
649
664
  L(() => {
650
- if (h !== "dragging" && h !== "handle-visible") return;
651
- const N = (F) => {
652
- F.key === "Escape" && ge();
665
+ if (N !== "dragging" && N !== "handle-visible") return;
666
+ const C = (F) => {
667
+ F.key === "Escape" && oe();
653
668
  };
654
- return window.addEventListener("keydown", N), () => window.removeEventListener("keydown", N);
655
- }, [h, ge]), L(() => {
656
- if (h !== "dragging") {
669
+ return window.addEventListener("keydown", C), () => window.removeEventListener("keydown", C);
670
+ }, [N, oe]), L(() => {
671
+ if (N !== "dragging") {
657
672
  S(e);
658
673
  return;
659
674
  }
660
- const N = (F) => {
661
- const E = F.clientX - (R.current ?? F.clientX), B = x.current, J = U(1), q = U(w), Q = B + E, X = Math.max(J, Math.min(q, Q));
662
- k.set(X);
663
- const z = i.current, Te = (w - e) * z, ne = (1 - e) * z, Xe = Math.max(ne, Math.min(Te, E));
664
- j.current.push({ x: F.clientX, t: performance.now() });
665
- const pe = le(Xe, K.current, e);
666
- pe !== K.current && (K.current = pe, S(pe));
675
+ const C = (z) => {
676
+ const H = z.clientX - (T.current ?? z.clientX), K = x.current, ie = Y(1), ee = Y(h), pe = K + H, Oe = Math.max(ie, Math.min(ee, pe));
677
+ k.set(Oe);
678
+ const fe = i.current, ye = (h - e) * fe, we = (1 - e) * fe, le = Math.max(we, Math.min(ye, H));
679
+ U.current.push({ x: z.clientX, t: performance.now() });
680
+ const ce = se(le, W.current, e);
681
+ ce !== W.current && (W.current = ce, S(ce));
682
+ }, F = (z, H) => {
683
+ if (v.current === "dragging")
684
+ if (z === "pointerup") {
685
+ const K = U.current.tail(), ie = H?.clientX ?? K?.x ?? T.current ?? 0, ee = ie - (T.current ?? ie), pe = i.current, fe = ((D.current ?? h) - e) * pe, ye = (1 - e) * pe, we = Math.max(ye, Math.min(fe, ee));
686
+ H && U.current.push({ x: H.clientX, t: performance.now() });
687
+ const le = se(we, W.current, e), ce = le > e ? "grow" : le < e ? "shrink" : null;
688
+ re(le, ce);
689
+ } else
690
+ oe();
691
+ }, E = (z) => F("pointerup", z), B = (z) => F("pointercancel", z), J = () => F("blur"), q = () => {
692
+ document.visibilityState === "hidden" && F("visibility-hidden");
693
+ };
694
+ return window.addEventListener("pointermove", C), window.addEventListener("pointerup", E), window.addEventListener("pointercancel", B), window.addEventListener("blur", J), document.addEventListener("visibilitychange", q), () => {
695
+ window.removeEventListener("pointermove", C), window.removeEventListener("pointerup", E), window.removeEventListener("pointercancel", B), window.removeEventListener("blur", J), document.removeEventListener("visibilitychange", q);
667
696
  };
668
- return window.addEventListener("pointermove", N), () => window.removeEventListener("pointermove", N);
669
- }, [h, e, k, le, w, U]), L(() => () => {
670
- V(), A(), Y();
671
- }, [V, A, Y]), L(() => {
672
- if (h !== "cancelled") return;
673
- const N = setTimeout(() => _("idle"), g);
674
- return () => clearTimeout(N);
675
- }, [h, g]);
676
- const Ye = y(
677
- (N) => {
697
+ }, [N, e, k, se, h, Y, oe, re]), L(() => () => {
698
+ Z(), A(), X();
699
+ }, [Z, A, X]), L(() => {
700
+ if (N !== "cancelled") return;
701
+ const C = setTimeout(() => y("idle"), p);
702
+ return () => clearTimeout(C);
703
+ }, [N, p]);
704
+ const tt = w(
705
+ (C) => {
678
706
  if (v.current === "settling") return;
679
- const E = Math.min(w, Math.max(1, e + (N === "grow" ? 1 : -1)));
707
+ const E = Math.min(h, Math.max(1, e + (C === "grow" ? 1 : -1)));
680
708
  if (E === e) return;
681
- i.current = r, b.current = s, D.current = w, j.current.clear();
709
+ i.current = r, b.current = s, D.current = h, U.current.clear();
682
710
  const B = e * r + (e - 1) * s;
683
- x.current = B, k.jump(B), ce(E, N);
711
+ x.current = B, k.jump(B), re(E, C);
684
712
  },
685
- [e, r, s, w, k, ce]
686
- ), Me = y(() => {
687
- Y(), M.current = setTimeout(() => {
688
- v.current === "handle-visible" && (v.current = "idle", _("idle"));
713
+ [e, r, s, h, k, re]
714
+ ), Ee = w(() => {
715
+ X(), M.current = setTimeout(() => {
716
+ v.current === "handle-visible" && (v.current = "idle", y("idle"));
689
717
  }, 5e3);
690
- }, [Y]), qe = y(() => {
691
- v.current === "idle" && (V(), v.current = "handle-visible", _("handle-visible"), Me());
692
- }, [V, Me]), Qe = y(() => {
693
- Y(), v.current === "handle-visible" && (v.current = "idle", _("idle"));
694
- }, [Y]);
718
+ }, [X]), nt = w(() => {
719
+ v.current === "idle" && (Z(), v.current = "handle-visible", y("handle-visible"), Ee());
720
+ }, [Z, Ee]), at = w(() => {
721
+ X(), v.current === "handle-visible" && (v.current = "idle", y("idle"));
722
+ }, [X]);
695
723
  return {
696
- state: h,
697
- enterEdgeZone: ke,
698
- leaveEdgeZone: xe,
724
+ state: N,
725
+ enterEdgeZone: Ie,
726
+ leaveEdgeZone: Pe,
699
727
  handleProps: {
700
- onPointerDown: Ue,
701
- onPointerUp: Ze,
728
+ onPointerDown: Je,
729
+ onPointerUp: et,
702
730
  // Bug E: handle continues zone presence so pointer crossing sentinel→handle
703
731
  // doesn't collapse state. handle's pointerenter = stay in zone.
704
- onPointerEnter: ke,
705
- onPointerLeave: xe
732
+ onPointerEnter: Ie,
733
+ onPointerLeave: Pe
706
734
  },
707
- previewColSpan: p,
735
+ previewColSpan: g,
708
736
  ghostProps: {
709
- visible: h === "dragging" || h === "settling",
710
- targetColSpan: p,
737
+ visible: N === "dragging" || N === "settling",
738
+ targetColSpan: g,
711
739
  ghostWidth: k,
712
740
  enterMs: d,
713
- exitMs: g
741
+ exitMs: p
714
742
  },
715
- onKeyboardStep: Ye,
716
- onTouchReveal: qe,
717
- onTouchDismiss: Qe,
718
- cancel: ge
743
+ onKeyboardStep: tt,
744
+ onTouchReveal: nt,
745
+ onTouchDismiss: at,
746
+ cancel: oe
719
747
  };
720
748
  }
721
749
  const ae = {
@@ -743,14 +771,14 @@ const ae = {
743
771
  sectionDividerFadeOutMs: 80,
744
772
  sectionDividerStaggerMs: 40
745
773
  };
746
- function Ya(e) {
747
- const { cardWidthPx: t, slotCount: n, activeSlotIdx: a, pillWidthPx: r } = e;
748
- if (a == null || !Number.isFinite(t) || t <= 0 || !Number.isFinite(n) || n <= 0 || !Number.isInteger(a) || a < 0 || a >= n)
774
+ function ta(e) {
775
+ const { cardWidthPx: t, slotCount: a, activeSlotIdx: n, pillWidthPx: r } = e;
776
+ if (n == null || !Number.isFinite(t) || t <= 0 || !Number.isFinite(a) || a <= 0 || !Number.isInteger(n) || n < 0 || n >= a)
749
777
  return;
750
- const s = (a + 0.5) * (t / n);
778
+ const s = (n + 0.5) * (t / a);
751
779
  return r != null && Number.isFinite(r) && r > 0 ? s - r / 2 : s;
752
780
  }
753
- const qa = [
781
+ const na = [
754
782
  // 1. Standard: Total Revenue
755
783
  {
756
784
  variant: "standard",
@@ -854,24 +882,24 @@ const qa = [
854
882
  { value: 9, color: "#6b7280", label: "Other" }
855
883
  ]
856
884
  }
857
- ], Ct = {
885
+ ], Mt = {
858
886
  variant: "standard",
859
887
  label: "Total Revenue",
860
888
  isLoading: !0
861
- }, _t = {
889
+ }, Tt = {
862
890
  variant: "standard",
863
891
  label: "Total Revenue",
864
892
  value: 125430,
865
893
  valueFormat: { prefix: "$", abbreviated: !0 },
866
894
  isError: !0
867
- }, kt = {
895
+ }, Rt = {
868
896
  variant: "standard",
869
897
  label: "Total Revenue",
870
898
  value: null,
871
899
  valueFormat: { prefix: "$", abbreviated: !0 },
872
900
  isEmpty: !0,
873
901
  subtitle: "No data"
874
- }, xt = {
902
+ }, It = {
875
903
  variant: "standard",
876
904
  label: "Total Revenue",
877
905
  value: 125430,
@@ -879,7 +907,7 @@ const qa = [
879
907
  trend: { value: 12.5, direction: "up" },
880
908
  subtitle: "MTD",
881
909
  isStale: !0
882
- }, St = {
910
+ }, Pt = {
883
911
  variant: "sparkline",
884
912
  label: "Daily Orders",
885
913
  value: 847,
@@ -888,7 +916,7 @@ const qa = [
888
916
  sparklineData: [42, 38, 51, 47, 55, 60, 58, 63, 57, 62, 68, 71, 65, 59],
889
917
  accentColor: "#6366f1",
890
918
  isStale: !0
891
- }, Mt = {
919
+ }, Ft = {
892
920
  variant: "donut",
893
921
  label: "Order Fill Rate",
894
922
  value: 78,
@@ -899,14 +927,14 @@ const qa = [
899
927
  donutMax: 100,
900
928
  accentColor: "#10b981",
901
929
  isStale: !0
902
- }, Qa = [
903
- Ct,
904
- _t,
905
- kt,
906
- xt,
907
- St,
908
- Mt
909
- ], Xa = {
930
+ }, aa = [
931
+ Mt,
932
+ Tt,
933
+ Rt,
934
+ It,
935
+ Pt,
936
+ Ft
937
+ ], ra = {
910
938
  variant: "sparkline",
911
939
  label: "Daily Orders",
912
940
  value: 847,
@@ -929,7 +957,7 @@ const qa = [
929
957
  59
930
958
  ],
931
959
  accentColor: "#6366f1"
932
- }, Ja = {
960
+ }, sa = {
933
961
  variant: "sparkline",
934
962
  label: "New Customers",
935
963
  value: 23,
@@ -968,21 +996,21 @@ const qa = [
968
996
  19
969
997
  ],
970
998
  accentColor: "#10b981"
971
- }, en = {
999
+ }, oa = {
972
1000
  variant: "standard",
973
1001
  label: "Total Revenue",
974
1002
  value: 125430,
975
1003
  valueFormat: { prefix: "$", abbreviated: !0 },
976
1004
  trend: { value: 12.5, direction: "up" },
977
1005
  subtitle: "MTD"
978
- }, tn = {
1006
+ }, ia = {
979
1007
  variant: "standard",
980
1008
  label: "Returns",
981
1009
  value: 3280,
982
1010
  valueFormat: { prefix: "$", abbreviated: !0 },
983
1011
  trend: { value: -8.3, direction: "down" },
984
1012
  subtitle: "MTD"
985
- }, an = {
1013
+ }, la = {
986
1014
  variant: "standard",
987
1015
  label: "Avg Order Value",
988
1016
  value: 487,
@@ -990,33 +1018,33 @@ const qa = [
990
1018
  trend: { value: 0, direction: "flat" },
991
1019
  subtitle: "QTD"
992
1020
  };
993
- function $e({
1021
+ function He({
994
1022
  open: e,
995
1023
  onDismiss: t,
996
- anchorRef: n,
997
- pages: a,
1024
+ anchorRef: a,
1025
+ pages: n,
998
1026
  activePageId: r,
999
1027
  onPageChange: s,
1000
1028
  onCreatePage: o,
1001
1029
  onManagePages: c
1002
1030
  }) {
1003
- const f = y(
1031
+ const f = w(
1004
1032
  (u) => {
1005
1033
  s(u), t();
1006
1034
  },
1007
1035
  [s, t]
1008
- ), d = y(
1036
+ ), d = w(
1009
1037
  (u, m) => {
1010
1038
  (m.key === "Enter" || m.key === " ") && (m.preventDefault(), f(u));
1011
1039
  },
1012
1040
  [f]
1013
- ), g = y(() => {
1041
+ ), p = w(() => {
1014
1042
  o(), t();
1015
- }, [o, t]), w = y(() => {
1043
+ }, [o, t]), h = w(() => {
1016
1044
  c(), t();
1017
1045
  }, [c, t]);
1018
1046
  return /* @__PURE__ */ O(
1019
- st,
1047
+ dt,
1020
1048
  {
1021
1049
  definition: {
1022
1050
  placement: "bottom-end",
@@ -1026,10 +1054,10 @@ function $e({
1026
1054
  },
1027
1055
  open: e,
1028
1056
  onDismiss: t,
1029
- anchorRef: n,
1057
+ anchorRef: a,
1030
1058
  className: "gloss-page-dropdown",
1031
1059
  children: [
1032
- /* @__PURE__ */ l("ul", { role: "menu", className: "gloss-page-dropdown__list", children: a.map((u) => {
1060
+ /* @__PURE__ */ l("ul", { role: "menu", className: "gloss-page-dropdown__list", children: n.map((u) => {
1033
1061
  const m = u.id === r;
1034
1062
  return /* @__PURE__ */ O(
1035
1063
  "li",
@@ -1040,7 +1068,7 @@ function $e({
1040
1068
  tabIndex: 0,
1041
1069
  className: `gloss-page-dropdown__item${m ? " gloss-page-dropdown__item--active" : ""}`,
1042
1070
  onClick: () => f(u.id),
1043
- onKeyDown: (h) => d(u.id, h),
1071
+ onKeyDown: (N) => d(u.id, N),
1044
1072
  children: [
1045
1073
  /* @__PURE__ */ l(
1046
1074
  "span",
@@ -1067,7 +1095,7 @@ function $e({
1067
1095
  {
1068
1096
  role: "menuitem",
1069
1097
  className: "gloss-page-dropdown__action",
1070
- onClick: g,
1098
+ onClick: p,
1071
1099
  children: "+ New page"
1072
1100
  }
1073
1101
  ),
@@ -1077,7 +1105,7 @@ function $e({
1077
1105
  {
1078
1106
  role: "menuitem",
1079
1107
  className: "gloss-page-dropdown__action gloss-page-dropdown__action--muted",
1080
- onClick: w,
1108
+ onClick: h,
1081
1109
  children: "Manage pages"
1082
1110
  }
1083
1111
  )
@@ -1085,11 +1113,11 @@ function $e({
1085
1113
  }
1086
1114
  );
1087
1115
  }
1088
- $e.displayName = "PageDropdown";
1089
- const Tt = function({
1116
+ He.displayName = "PageDropdown";
1117
+ const Et = function({
1090
1118
  currentIndex: t,
1091
- total: n,
1092
- pages: a,
1119
+ total: a,
1120
+ pages: n,
1093
1121
  onPageChange: r,
1094
1122
  onCreatePage: s,
1095
1123
  onManagePages: o,
@@ -1097,16 +1125,16 @@ const Tt = function({
1097
1125
  displayMode: f = "count",
1098
1126
  activePage: d
1099
1127
  }) {
1100
- const g = T(null), [w, u] = G(!1), m = y(() => {
1128
+ const p = R(null), [h, u] = G(!1), m = w(() => {
1101
1129
  u((S) => !S);
1102
- }, []), h = y(() => {
1130
+ }, []), N = w(() => {
1103
1131
  u(!1);
1104
- }, []), _ = a[t]?.id ?? "";
1132
+ }, []), y = n[t]?.id ?? "";
1105
1133
  return /* @__PURE__ */ O(
1106
1134
  "div",
1107
1135
  {
1108
1136
  className: "gloss-page-chip",
1109
- ref: g,
1137
+ ref: p,
1110
1138
  style: f === "name" ? { position: "relative", left: 0, right: "auto", top: 0 } : { position: "absolute", top: 0, right: 0 },
1111
1139
  "data-page-chip": !0,
1112
1140
  children: [
@@ -1122,27 +1150,27 @@ const Tt = function({
1122
1150
  {
1123
1151
  className: `gloss-page-chip__trigger${f === "name" ? " gloss-page-chip__trigger--name" : ""}`,
1124
1152
  "aria-haspopup": "menu",
1125
- "aria-expanded": w,
1126
- "aria-label": f === "name" ? `${d ?? "Page"}. Click to switch pages.` : `Page ${t + 1} of ${n}. Click to switch pages.`,
1153
+ "aria-expanded": h,
1154
+ "aria-label": f === "name" ? `${d ?? "Page"}. Click to switch pages.` : `Page ${t + 1} of ${a}. Click to switch pages.`,
1127
1155
  onClick: m,
1128
- children: f === "name" ? /* @__PURE__ */ O(ve, { children: [
1156
+ children: f === "name" ? /* @__PURE__ */ O(_e, { children: [
1129
1157
  /* @__PURE__ */ l("span", { className: "gloss-page-chip__trigger-name", children: d ?? "" }),
1130
1158
  /* @__PURE__ */ l("span", { className: "gloss-page-chip__trigger-chevron", "aria-hidden": "true", children: "▾" })
1131
- ] }) : /* @__PURE__ */ O(ve, { children: [
1159
+ ] }) : /* @__PURE__ */ O(_e, { children: [
1132
1160
  t + 1,
1133
1161
  " / ",
1134
- n
1162
+ a
1135
1163
  ] })
1136
1164
  }
1137
1165
  ),
1138
1166
  /* @__PURE__ */ l(
1139
- $e,
1167
+ He,
1140
1168
  {
1141
- open: w,
1142
- onDismiss: h,
1143
- anchorRef: g,
1144
- pages: a,
1145
- activePageId: _,
1169
+ open: h,
1170
+ onDismiss: N,
1171
+ anchorRef: p,
1172
+ pages: n,
1173
+ activePageId: y,
1146
1174
  onPageChange: r,
1147
1175
  onCreatePage: s,
1148
1176
  onManagePages: o
@@ -1152,8 +1180,8 @@ const Tt = function({
1152
1180
  }
1153
1181
  );
1154
1182
  };
1155
- Tt.displayName = "PageChip";
1156
- const nn = [
1183
+ Et.displayName = "PageChip";
1184
+ const ca = [
1157
1185
  {
1158
1186
  id: "ORD-1001",
1159
1187
  orderNumber: "ORD-1001",
@@ -1286,7 +1314,7 @@ const nn = [
1286
1314
  date: "2026-03-01",
1287
1315
  skuCount: 9
1288
1316
  }
1289
- ], rn = [
1317
+ ], da = [
1290
1318
  {
1291
1319
  id: "ITEM-001",
1292
1320
  sku: "PB-4520",
@@ -1420,16 +1448,16 @@ const nn = [
1420
1448
  lastDate: "2026-03-01"
1421
1449
  }
1422
1450
  ];
1423
- function we(e) {
1451
+ function xe(e) {
1424
1452
  return "$" + e.toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 });
1425
1453
  }
1426
- function Be(e) {
1454
+ function Ve(e) {
1427
1455
  return e.toLocaleString("en-US");
1428
1456
  }
1429
- function ze(e) {
1457
+ function je(e) {
1430
1458
  return new Date(e).toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" });
1431
1459
  }
1432
- const oe = W.createElement("span", { style: { color: "var(--color-text-muted)" } }, "—"), sn = [
1460
+ const me = V.createElement("span", { style: { color: "var(--color-text-muted)" } }, "—"), ua = [
1433
1461
  {
1434
1462
  field: "id",
1435
1463
  headerName: "Order",
@@ -1459,7 +1487,7 @@ const oe = W.createElement("span", { style: { color: "var(--color-text-muted)" }
1459
1487
  align: "right",
1460
1488
  headerAlign: "right",
1461
1489
  cellClassName: "gloss-tabular-nums",
1462
- renderCell: ({ row: e }) => e.skuCount ? Be(e.skuCount) : oe
1490
+ renderCell: ({ row: e }) => e.skuCount ? Ve(e.skuCount) : me
1463
1491
  },
1464
1492
  {
1465
1493
  field: "total",
@@ -1469,7 +1497,7 @@ const oe = W.createElement("span", { style: { color: "var(--color-text-muted)" }
1469
1497
  align: "right",
1470
1498
  headerAlign: "right",
1471
1499
  cellClassName: "gloss-tabular-nums",
1472
- renderCell: ({ row: e }) => e.total ? we(e.total) : oe
1500
+ renderCell: ({ row: e }) => e.total ? xe(e.total) : me
1473
1501
  },
1474
1502
  {
1475
1503
  field: "date",
@@ -1479,9 +1507,9 @@ const oe = W.createElement("span", { style: { color: "var(--color-text-muted)" }
1479
1507
  align: "right",
1480
1508
  headerAlign: "right",
1481
1509
  cellClassName: "gloss-tabular-nums",
1482
- renderCell: ({ row: e }) => e.date ? ze(e.date) : ""
1510
+ renderCell: ({ row: e }) => e.date ? je(e.date) : ""
1483
1511
  }
1484
- ], on = [
1512
+ ], ma = [
1485
1513
  {
1486
1514
  field: "sku",
1487
1515
  headerName: "Item ID",
@@ -1513,7 +1541,7 @@ const oe = W.createElement("span", { style: { color: "var(--color-text-muted)" }
1513
1541
  align: "right",
1514
1542
  headerAlign: "right",
1515
1543
  cellClassName: "gloss-tabular-nums",
1516
- renderCell: ({ row: e }) => e.price ? we(e.price) : oe
1544
+ renderCell: ({ row: e }) => e.price ? xe(e.price) : me
1517
1545
  },
1518
1546
  {
1519
1547
  field: "quantity",
@@ -1523,7 +1551,7 @@ const oe = W.createElement("span", { style: { color: "var(--color-text-muted)" }
1523
1551
  align: "right",
1524
1552
  headerAlign: "right",
1525
1553
  cellClassName: "gloss-tabular-nums gloss-drillable",
1526
- renderCell: ({ row: e }) => e.quantity ? Be(e.quantity) : oe
1554
+ renderCell: ({ row: e }) => e.quantity ? Ve(e.quantity) : me
1527
1555
  },
1528
1556
  {
1529
1557
  field: "total",
@@ -1533,7 +1561,7 @@ const oe = W.createElement("span", { style: { color: "var(--color-text-muted)" }
1533
1561
  align: "right",
1534
1562
  headerAlign: "right",
1535
1563
  cellClassName: "gloss-tabular-nums gloss-drillable",
1536
- renderCell: ({ row: e }) => e.total ? we(e.total) : oe
1564
+ renderCell: ({ row: e }) => e.total ? xe(e.total) : me
1537
1565
  },
1538
1566
  {
1539
1567
  field: "lastDate",
@@ -1543,24 +1571,24 @@ const oe = W.createElement("span", { style: { color: "var(--color-text-muted)" }
1543
1571
  align: "right",
1544
1572
  headerAlign: "right",
1545
1573
  cellClassName: "gloss-tabular-nums",
1546
- renderCell: ({ row: e }) => e.lastDate ? ze(e.lastDate) : ""
1574
+ renderCell: ({ row: e }) => e.lastDate ? je(e.lastDate) : ""
1547
1575
  }
1548
- ], Rt = [
1576
+ ], Ot = [
1549
1577
  { id: "c-001", label: "ABC Home Goods" },
1550
1578
  { id: "c-002", label: "Riverside Retail" },
1551
1579
  { id: "c-003", label: "Mountain View Store" },
1552
1580
  { id: "c-004", label: "Downtown Decor" },
1553
1581
  { id: "c-005", label: "Pacific Coast Imports" }
1554
- ], It = [
1582
+ ], At = [
1555
1583
  { id: "i-001", label: "Classic Linen Throw Pillow" },
1556
1584
  { id: "i-002", label: "Coastal Wave Candle Set" },
1557
1585
  { id: "i-003", label: "Walnut Console Table" },
1558
1586
  { id: "i-004", label: "Hand-Blown Glass Vase" },
1559
1587
  { id: "i-005", label: "Velvet Accent Cushion" }
1560
- ], fe = (e) => {
1561
- }, Pt = (e) => {
1562
- }, Pe = (e, t) => {
1563
- }, Ke = {
1588
+ ], De = (e) => {
1589
+ }, Lt = (e) => {
1590
+ }, $e = (e, t) => {
1591
+ }, Ue = {
1564
1592
  vizState: {
1565
1593
  type: "orders",
1566
1594
  quant: "$",
@@ -1568,17 +1596,17 @@ const oe = W.createElement("span", { style: { color: "var(--color-text-muted)" }
1568
1596
  byItem: { id: null, name: null },
1569
1597
  timeFrame: "MTD"
1570
1598
  },
1571
- onTypeChange: fe,
1572
- onQuantChange: Pt,
1573
- onEntityTypeChange: fe,
1574
- onEntitySelect: Pe,
1575
- onItemSelect: Pe,
1576
- onTimeFrameChange: fe,
1599
+ onTypeChange: De,
1600
+ onQuantChange: Lt,
1601
+ onEntityTypeChange: De,
1602
+ onEntitySelect: $e,
1603
+ onItemSelect: $e,
1604
+ onTimeFrameChange: De,
1577
1605
  userType: "sales-agency",
1578
- entityFilterOptions: Rt,
1579
- itemFilterOptions: It
1580
- }, ln = {
1581
- ...Ke,
1606
+ entityFilterOptions: Ot,
1607
+ itemFilterOptions: At
1608
+ }, ga = {
1609
+ ...Ue,
1582
1610
  vizState: {
1583
1611
  type: "items",
1584
1612
  quant: "$",
@@ -1586,8 +1614,8 @@ const oe = W.createElement("span", { style: { color: "var(--color-text-muted)" }
1586
1614
  byItem: { id: "i-003", name: "Walnut Console Table" },
1587
1615
  timeFrame: "YTD"
1588
1616
  }
1589
- }, cn = {
1590
- ...Ke,
1617
+ }, pa = {
1618
+ ...Ue,
1591
1619
  vizState: {
1592
1620
  type: "orders",
1593
1621
  quant: "#",
@@ -1599,7 +1627,7 @@ const oe = W.createElement("span", { style: { color: "var(--color-text-muted)" }
1599
1627
  entityFilterOptions: [
1600
1628
  { id: "customers", label: "Customers" }
1601
1629
  ]
1602
- }, Ft = [
1630
+ }, $t = [
1603
1631
  {
1604
1632
  id: "recent-orders",
1605
1633
  label: "Recent Orders",
@@ -1645,7 +1673,7 @@ const oe = W.createElement("span", { style: { color: "var(--color-text-muted)" }
1645
1673
  routeKey: "customer.profile",
1646
1674
  subtitle: "Opens in RepTime"
1647
1675
  }
1648
- ], Et = [
1676
+ ], Bt = [
1649
1677
  {
1650
1678
  id: "order-items",
1651
1679
  label: "Items in Order",
@@ -1674,7 +1702,7 @@ const oe = W.createElement("span", { style: { color: "var(--color-text-muted)" }
1674
1702
  cellKinds: ["orderId"],
1675
1703
  graphType: "timeline"
1676
1704
  }
1677
- ], Ot = [
1705
+ ], zt = [
1678
1706
  {
1679
1707
  id: "graph-metric",
1680
1708
  label: "Graph This Metric",
@@ -1702,14 +1730,14 @@ const oe = W.createElement("span", { style: { color: "var(--color-text-muted)" }
1702
1730
  cellKinds: ["numeric"],
1703
1731
  tabType: "orders"
1704
1732
  }
1705
- ], dn = {
1706
- entityName: Ft,
1707
- orderId: Et,
1708
- numeric: Ot
1709
- }, un = [
1733
+ ], fa = {
1734
+ entityName: $t,
1735
+ orderId: Bt,
1736
+ numeric: zt
1737
+ }, ha = [
1710
1738
  new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth(), (/* @__PURE__ */ new Date()).getDate() - 29),
1711
1739
  /* @__PURE__ */ new Date()
1712
- ], mn = {
1740
+ ], ba = {
1713
1741
  rangeA: [
1714
1742
  new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth(), 1),
1715
1743
  /* @__PURE__ */ new Date()
@@ -1722,7 +1750,7 @@ const oe = W.createElement("span", { style: { color: "var(--color-text-muted)" }
1722
1750
  new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth() - 2, 1),
1723
1751
  new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth() - 1, 0)
1724
1752
  ]
1725
- }, gn = {
1753
+ }, va = {
1726
1754
  version: 4,
1727
1755
  lastPreset: "mtd",
1728
1756
  pinnedPreset: "mtd",
@@ -1730,7 +1758,7 @@ const oe = W.createElement("span", { style: { color: "var(--color-text-muted)" }
1730
1758
  rangeCount: 1,
1731
1759
  lastPresetB: null,
1732
1760
  lastPresetC: null
1733
- }, pn = [
1761
+ }, ya = [
1734
1762
  {
1735
1763
  id: "atlanta-jan",
1736
1764
  label: "Atlanta Market",
@@ -1752,7 +1780,7 @@ const oe = W.createElement("span", { style: { color: "var(--color-text-muted)" }
1752
1780
  endDate: new Date(2026, 3, 22),
1753
1781
  location: "Chicago, IL"
1754
1782
  }
1755
- ], fn = [
1783
+ ], wa = [
1756
1784
  {
1757
1785
  id: "custom-regional-1",
1758
1786
  label: "Southeast Regional Expo",
@@ -1769,7 +1797,7 @@ const oe = W.createElement("span", { style: { color: "var(--color-text-muted)" }
1769
1797
  location: "Portland, OR",
1770
1798
  isCustom: !0
1771
1799
  }
1772
- ], hn = [
1800
+ ], Da = [
1773
1801
  {
1774
1802
  id: "atlanta-jan",
1775
1803
  label: "Atlanta Market",
@@ -1786,75 +1814,75 @@ const oe = W.createElement("span", { style: { color: "var(--color-text-muted)" }
1786
1814
  location: "New York, NY",
1787
1815
  active: !0
1788
1816
  }
1789
- ], bn = [
1817
+ ], Na = [
1790
1818
  { id: "7d", label: "7D" },
1791
1819
  { id: "30d", label: "30D" },
1792
1820
  { id: "60d", label: "60D" },
1793
1821
  { id: "90d", label: "90D" }
1794
- ], vn = [
1822
+ ], Ca = [
1795
1823
  { id: "mtd", label: "MTD" },
1796
1824
  { id: "qtd", label: "QTD" },
1797
1825
  { id: "ytd", label: "YTD" },
1798
1826
  { id: "lytd", label: "LYTD" }
1799
- ], At = {
1827
+ ], Kt = {
1800
1828
  timeframe: "Time Frame",
1801
1829
  threshold: "Thresholds",
1802
1830
  slots: "Slots",
1803
1831
  size: "Size",
1804
1832
  color: "Color",
1805
1833
  pinned: "Pinned"
1806
- }, Lt = {
1807
- timeframe: it,
1808
- threshold: lt,
1809
- slots: ct,
1810
- size: dt,
1811
- color: ut,
1812
- pinned: mt
1834
+ }, Wt = {
1835
+ timeframe: mt,
1836
+ threshold: gt,
1837
+ slots: pt,
1838
+ size: ft,
1839
+ color: ht,
1840
+ pinned: bt
1813
1841
  };
1814
- function Fe(...e) {
1842
+ function Be(...e) {
1815
1843
  return e.filter(Boolean).join(" ");
1816
1844
  }
1817
- function $t() {
1845
+ function Gt() {
1818
1846
  const [e, t] = G(() => typeof window > "u" || typeof window.matchMedia != "function" ? !1 : window.matchMedia("(prefers-reduced-motion: reduce)").matches);
1819
1847
  return L(() => {
1820
1848
  if (typeof window > "u" || typeof window.matchMedia != "function") return;
1821
- const n = window.matchMedia("(prefers-reduced-motion: reduce)"), a = (r) => t(r.matches);
1822
- return typeof n.addEventListener == "function" ? (n.addEventListener("change", a), () => n.removeEventListener("change", a)) : (n.addListener?.(a), () => {
1823
- n.removeListener?.(a);
1849
+ const a = window.matchMedia("(prefers-reduced-motion: reduce)"), n = (r) => t(r.matches);
1850
+ return typeof a.addEventListener == "function" ? (a.addEventListener("change", n), () => a.removeEventListener("change", n)) : (a.addListener?.(n), () => {
1851
+ a.removeListener?.(n);
1824
1852
  });
1825
1853
  }, []), e;
1826
1854
  }
1827
- const Bt = ({
1855
+ const Ht = ({
1828
1856
  dimensions: e,
1829
1857
  onDimensionSelect: t,
1830
- activeDimension: n,
1831
- ariaCardTypeLabel: a,
1858
+ activeDimension: a,
1859
+ ariaCardTypeLabel: n,
1832
1860
  className: r
1833
1861
  }) => {
1834
- const s = T(null), o = T([]), c = $t(), f = ie(() => Array.from(e), [e]);
1862
+ const s = R(null), o = R([]), c = Gt(), f = ge(() => Array.from(e), [e]);
1835
1863
  if (f.length === 0) return null;
1836
- const d = a ? `Configure ${a}: choose a dimension` : void 0, g = c ? "10ms" : "200ms", w = (u, m) => {
1837
- const h = f.length - 1, _ = (p) => {
1838
- const S = o.current[p];
1864
+ const d = n ? `Configure ${n}: choose a dimension` : void 0, p = c ? "10ms" : "200ms", h = (u, m) => {
1865
+ const N = f.length - 1, y = (g) => {
1866
+ const S = o.current[g];
1839
1867
  S && S.focus();
1840
1868
  };
1841
1869
  switch (u.key) {
1842
1870
  case "ArrowRight":
1843
1871
  case "ArrowDown": {
1844
- u.preventDefault(), _(m === h ? 0 : m + 1);
1872
+ u.preventDefault(), y(m === N ? 0 : m + 1);
1845
1873
  break;
1846
1874
  }
1847
1875
  case "ArrowLeft":
1848
1876
  case "ArrowUp": {
1849
- u.preventDefault(), _(m === 0 ? h : m - 1);
1877
+ u.preventDefault(), y(m === 0 ? N : m - 1);
1850
1878
  break;
1851
1879
  }
1852
1880
  case "Home": {
1853
- u.preventDefault(), _(0);
1881
+ u.preventDefault(), y(0);
1854
1882
  break;
1855
1883
  }
1856
1884
  case "End": {
1857
- u.preventDefault(), _(h);
1885
+ u.preventDefault(), y(N);
1858
1886
  break;
1859
1887
  }
1860
1888
  case "Enter":
@@ -1870,39 +1898,39 @@ const Bt = ({
1870
1898
  ref: s,
1871
1899
  role: "group",
1872
1900
  "aria-label": d,
1873
- className: Fe("gloss-reconfig-backside-buttons", r),
1901
+ className: Be("gloss-reconfig-backside-buttons", r),
1874
1902
  style: {
1875
1903
  // Expose the reduced-motion-resolved duration as a CSS custom prop
1876
1904
  // so the SCSS transition rule can consume it without a nested media
1877
1905
  // query in the JS. Also surfaces the value for the unit test.
1878
- "--gloss-reconfig-backside-buttons-transition-duration": g
1906
+ "--gloss-reconfig-backside-buttons-transition-duration": p
1879
1907
  },
1880
1908
  children: f.map((u, m) => {
1881
- const h = Lt[u], _ = n === u;
1909
+ const N = Wt[u], y = a === u;
1882
1910
  return /* @__PURE__ */ O(
1883
1911
  "button",
1884
1912
  {
1885
- ref: (p) => {
1886
- o.current[m] = p;
1913
+ ref: (g) => {
1914
+ o.current[m] = g;
1887
1915
  },
1888
1916
  type: "button",
1889
1917
  "data-dimension": u,
1890
- className: Fe(
1918
+ className: Be(
1891
1919
  "gloss-reconfig-backside-buttons__button",
1892
- _ && "gloss-reconfig-backside-buttons__button--active"
1920
+ y && "gloss-reconfig-backside-buttons__button--active"
1893
1921
  ),
1894
- "aria-current": _ ? "true" : void 0,
1922
+ "aria-current": y ? "true" : void 0,
1895
1923
  onClick: () => t(u),
1896
- onKeyDown: (p) => w(p, m),
1924
+ onKeyDown: (g) => h(g, m),
1897
1925
  children: [
1898
1926
  /* @__PURE__ */ l(
1899
- h,
1927
+ N,
1900
1928
  {
1901
1929
  className: "gloss-reconfig-backside-buttons__button-icon",
1902
1930
  "aria-hidden": "true"
1903
1931
  }
1904
1932
  ),
1905
- /* @__PURE__ */ l("span", { className: "gloss-reconfig-backside-buttons__button-label", children: At[u] })
1933
+ /* @__PURE__ */ l("span", { className: "gloss-reconfig-backside-buttons__button-label", children: Kt[u] })
1906
1934
  ]
1907
1935
  },
1908
1936
  u
@@ -1911,12 +1939,12 @@ const Bt = ({
1911
1939
  }
1912
1940
  );
1913
1941
  };
1914
- Bt.displayName = "ReconfigBacksideButtons";
1915
- function Z(e, t) {
1942
+ Ht.displayName = "ReconfigBacksideButtons";
1943
+ function Q(e, t) {
1916
1944
  return {
1917
1945
  id: e,
1918
1946
  colSpan: 1,
1919
- content: W.createElement("div", {
1947
+ content: V.createElement("div", {
1920
1948
  style: {
1921
1949
  width: "100%",
1922
1950
  height: "100%",
@@ -1932,38 +1960,38 @@ function Z(e, t) {
1932
1960
  }, t)
1933
1961
  };
1934
1962
  }
1935
- function Ee(e, t) {
1963
+ function ze(e, t) {
1936
1964
  return {
1937
- ...Z(e, t),
1965
+ ...Q(e, t),
1938
1966
  colSpan: 2
1939
1967
  };
1940
1968
  }
1941
- const yn = [
1942
- Z("total-revenue", "Total Revenue"),
1943
- Z("total-orders", "Total Orders"),
1944
- Ee("revenue-trend", "Revenue Trend (2x)"),
1945
- Z("avg-order", "Avg Order Value"),
1946
- Z("new-customers", "New Customers"),
1947
- Z("top-salesperson", "Top Salesperson"),
1948
- Ee("order-trend", "Order Trend (2x)"),
1949
- Z("repeat-rate", "Repeat Rate"),
1950
- Z("open-orders", "Open Orders"),
1951
- Z("shipped-orders", "Shipped Orders")
1952
- ], wn = {
1969
+ const _a = [
1970
+ Q("total-revenue", "Total Revenue"),
1971
+ Q("total-orders", "Total Orders"),
1972
+ ze("revenue-trend", "Revenue Trend (2x)"),
1973
+ Q("avg-order", "Avg Order Value"),
1974
+ Q("new-customers", "New Customers"),
1975
+ Q("top-salesperson", "Top Salesperson"),
1976
+ ze("order-trend", "Order Trend (2x)"),
1977
+ Q("repeat-rate", "Repeat Rate"),
1978
+ Q("open-orders", "Open Orders"),
1979
+ Q("shipped-orders", "Shipped Orders")
1980
+ ], ka = {
1953
1981
  columns: 6,
1954
1982
  rowHeight: 120,
1955
1983
  gap: 15,
1956
1984
  maxRows: 3,
1957
1985
  currentPage: 0,
1958
1986
  totalPages: 1
1959
- }, Dn = {
1987
+ }, xa = {
1960
1988
  columns: 9,
1961
1989
  rowHeight: 120,
1962
1990
  gap: 15,
1963
1991
  maxRows: 3,
1964
1992
  currentPage: 0,
1965
1993
  totalPages: 2
1966
- }, Nn = {
1994
+ }, Sa = {
1967
1995
  columns: 12,
1968
1996
  rowHeight: 120,
1969
1997
  gap: 15,
@@ -1971,15 +1999,15 @@ const yn = [
1971
1999
  currentPage: 0,
1972
2000
  totalPages: 3
1973
2001
  };
1974
- function he(e) {
1975
- return W.createElement("span", { style: { fontSize: 14 } }, e);
2002
+ function Ne(e) {
2003
+ return V.createElement("span", { style: { fontSize: 14 } }, e);
1976
2004
  }
1977
- const Cn = [
2005
+ const Ma = [
1978
2006
  {
1979
2007
  id: "all-orders",
1980
2008
  type: "orders",
1981
2009
  name: "All Orders",
1982
- icon: he("📋"),
2010
+ icon: Ne("📋"),
1983
2011
  closable: !1,
1984
2012
  autoCreated: !0
1985
2013
  },
@@ -1987,17 +2015,17 @@ const Cn = [
1987
2015
  id: "open-orders",
1988
2016
  type: "orders",
1989
2017
  name: "Open Orders",
1990
- icon: he("📦"),
2018
+ icon: Ne("📦"),
1991
2019
  closable: !0
1992
2020
  },
1993
2021
  {
1994
2022
  id: "shipped-orders",
1995
2023
  type: "orders",
1996
2024
  name: "Shipped Orders",
1997
- icon: he("🚚"),
2025
+ icon: Ne("🚚"),
1998
2026
  closable: !0
1999
2027
  }
2000
- ], _n = [
2028
+ ], Ta = [
2001
2029
  {
2002
2030
  id: "orders-main",
2003
2031
  type: "orders",
@@ -2023,7 +2051,7 @@ const Cn = [
2023
2051
  name: "Customers",
2024
2052
  closable: !0
2025
2053
  }
2026
- ], kn = [
2054
+ ], Ra = [
2027
2055
  {
2028
2056
  id: "only-tab",
2029
2057
  type: "orders",
@@ -2031,7 +2059,7 @@ const Cn = [
2031
2059
  closable: !1,
2032
2060
  autoCreated: !0
2033
2061
  }
2034
- ], xn = [
2062
+ ], Ia = [
2035
2063
  { id: "tab-1", type: "orders", name: "All Orders", closable: !1, autoCreated: !0 },
2036
2064
  { id: "tab-2", type: "orders", name: "Open Orders", closable: !0 },
2037
2065
  { id: "tab-3", type: "orders", name: "Shipped Orders", closable: !0 },
@@ -2043,7 +2071,7 @@ const Cn = [
2043
2071
  { id: "tab-9", type: "order-items", name: "Order #12345", closable: !0 },
2044
2072
  { id: "tab-10", type: "orders", name: "Recent 30D", closable: !0 }
2045
2073
  ];
2046
- function De(e) {
2074
+ function Se(e) {
2047
2075
  switch (e) {
2048
2076
  case "wide":
2049
2077
  return { cols: 2, rows: 1 };
@@ -2054,15 +2082,15 @@ function De(e) {
2054
2082
  return { cols: 1, rows: 1 };
2055
2083
  }
2056
2084
  }
2057
- function zt(e) {
2085
+ function Vt(e) {
2058
2086
  let t = 0;
2059
- for (const a of e) {
2060
- const r = De(a.size), s = a.gridPosition.col + r.cols - 1;
2087
+ for (const n of e) {
2088
+ const r = Se(n.size), s = n.gridPosition.col + r.cols - 1;
2061
2089
  s > t && (t = s);
2062
2090
  }
2063
2091
  return `repeat(${t > 0 ? t : Math.max(e.length, 1)}, minmax(0, 1fr))`;
2064
2092
  }
2065
- const Kt = function(t) {
2093
+ const jt = function(t) {
2066
2094
  if (t.renderMode === "discrete")
2067
2095
  return /* @__PURE__ */ l(
2068
2096
  "div",
@@ -2070,7 +2098,7 @@ const Kt = function(t) {
2070
2098
  className: "gloss-metric-group gloss-metric-group--discrete",
2071
2099
  style: { display: "contents" },
2072
2100
  children: t.cards.map((r) => {
2073
- const s = De(r.size);
2101
+ const s = Se(r.size);
2074
2102
  return /* @__PURE__ */ l(
2075
2103
  "div",
2076
2104
  {
@@ -2086,7 +2114,7 @@ const Kt = function(t) {
2086
2114
  })
2087
2115
  }
2088
2116
  );
2089
- const { cards: n, composite: a } = t;
2117
+ const { cards: a, composite: n } = t;
2090
2118
  return /* @__PURE__ */ O(
2091
2119
  "div",
2092
2120
  {
@@ -2102,25 +2130,25 @@ const Kt = function(t) {
2102
2130
  padding: "10px 12px 8px",
2103
2131
  overflow: "visible"
2104
2132
  },
2105
- role: a?.label ? "group" : void 0,
2106
- "aria-label": a?.label,
2133
+ role: n?.label ? "group" : void 0,
2134
+ "aria-label": n?.label,
2107
2135
  tabIndex: void 0,
2108
2136
  children: [
2109
- a?.accentColor && /* @__PURE__ */ l(
2137
+ n?.accentColor && /* @__PURE__ */ l(
2110
2138
  "div",
2111
2139
  {
2112
2140
  className: "gloss-metric-group__accent",
2113
- style: { background: a.accentColor }
2141
+ style: { background: n.accentColor }
2114
2142
  }
2115
2143
  ),
2116
- a?.label && /* @__PURE__ */ O("div", { className: "gloss-metric-group__label", children: [
2117
- /* @__PURE__ */ l("span", { children: a.label }),
2118
- a?.trend && /* @__PURE__ */ l(
2144
+ n?.label && /* @__PURE__ */ O("div", { className: "gloss-metric-group__label", children: [
2145
+ /* @__PURE__ */ l("span", { children: n.label }),
2146
+ n?.trend && /* @__PURE__ */ l(
2119
2147
  "span",
2120
2148
  {
2121
2149
  className: "gloss-metric-group__trend",
2122
- "data-direction": a.trend.direction,
2123
- children: a.trend.delta
2150
+ "data-direction": n.trend.direction,
2151
+ children: n.trend.delta
2124
2152
  }
2125
2153
  )
2126
2154
  ] }),
@@ -2131,10 +2159,10 @@ const Kt = function(t) {
2131
2159
  style: {
2132
2160
  display: "grid",
2133
2161
  gap: "var(--gloss-spacing-2, 8px)",
2134
- gridTemplateColumns: zt(n)
2162
+ gridTemplateColumns: Vt(a)
2135
2163
  },
2136
- children: n.map((r) => {
2137
- const s = De(r.size);
2164
+ children: a.map((r) => {
2165
+ const s = Se(r.size);
2138
2166
  return /* @__PURE__ */ l(
2139
2167
  "div",
2140
2168
  {
@@ -2154,48 +2182,48 @@ const Kt = function(t) {
2154
2182
  }
2155
2183
  );
2156
2184
  };
2157
- Kt.displayName = "MetricGroupContainer";
2158
- const Ge = "resize.tuning.dev", Gt = {
2159
- ...Le,
2185
+ jt.displayName = "MetricGroupContainer";
2186
+ const Ze = "resize.tuning.dev", Ut = {
2187
+ ...Ge,
2160
2188
  snapInPx: 60,
2161
2189
  snapOutPx: 90
2162
- }, te = Gt;
2163
- function Wt() {
2164
- if (typeof window > "u") return { ...te };
2190
+ }, ne = Ut;
2191
+ function Zt() {
2192
+ if (typeof window > "u") return { ...ne };
2165
2193
  try {
2166
- const e = window.localStorage.getItem(Ge);
2167
- if (!e) return { ...te };
2194
+ const e = window.localStorage.getItem(Ze);
2195
+ if (!e) return { ...ne };
2168
2196
  const t = JSON.parse(e);
2169
- return !t || typeof t != "object" || Array.isArray(t) ? { ...te } : { ...te, ...t };
2197
+ return !t || typeof t != "object" || Array.isArray(t) ? { ...ne } : { ...ne, ...t };
2170
2198
  } catch {
2171
- return { ...te };
2199
+ return { ...ne };
2172
2200
  }
2173
2201
  }
2174
- function Ht() {
2175
- const [e, t] = G(() => Wt());
2202
+ function Yt() {
2203
+ const [e, t] = G(() => Zt());
2176
2204
  L(() => {
2177
2205
  if (!(typeof window > "u"))
2178
2206
  try {
2179
- window.localStorage.setItem(Ge, JSON.stringify(e));
2207
+ window.localStorage.setItem(Ze, JSON.stringify(e));
2180
2208
  } catch {
2181
2209
  }
2182
2210
  }, [e]);
2183
- const n = y(
2211
+ const a = w(
2184
2212
  (s, o) => {
2185
2213
  t((c) => ({ ...c, [s]: o }));
2186
2214
  },
2187
2215
  []
2188
- ), a = y(
2216
+ ), n = w(
2189
2217
  (s) => {
2190
- t((o) => ({ ...o, [s]: te[s] }));
2218
+ t((o) => ({ ...o, [s]: ne[s] }));
2191
2219
  },
2192
2220
  []
2193
- ), r = y(() => {
2194
- t({ ...te });
2221
+ ), r = w(() => {
2222
+ t({ ...ne });
2195
2223
  }, []);
2196
- return { values: e, setValue: n, resetRow: a, resetAll: r };
2224
+ return { values: e, setValue: a, resetRow: n, resetAll: r };
2197
2225
  }
2198
- const Vt = [
2226
+ const qt = [
2199
2227
  { key: "stiffness", label: "Spring stiffness", unit: "", min: 100, max: 1e3, step: 10 },
2200
2228
  { key: "damping", label: "Spring damping", unit: "", min: 10, max: 60, step: 1 },
2201
2229
  { key: "mass", label: "Spring mass", unit: "", min: 0.5, max: 2, step: 0.1 },
@@ -2206,10 +2234,10 @@ const Vt = [
2206
2234
  { key: "blueprintFadeOutMs", label: "Blueprint fade out", unit: "ms", min: 60, max: 400, step: 10 },
2207
2235
  { key: "velocityMultiplier", label: "Velocity multiplier", unit: "×", min: 0, max: 2, step: 0.05 }
2208
2236
  ];
2209
- function jt(e, t) {
2237
+ function Qt(e, t) {
2210
2238
  return t >= 1 ? String(Math.round(e)) : t >= 0.1 ? e.toFixed(1) : e.toFixed(2);
2211
2239
  }
2212
- function Ut() {
2240
+ function Xt() {
2213
2241
  return /* @__PURE__ */ O(
2214
2242
  "svg",
2215
2243
  {
@@ -2229,12 +2257,12 @@ function Ut() {
2229
2257
  }
2230
2258
  );
2231
2259
  }
2232
- function Zt({ spec: e, value: t, onChange: n, onReset: a, flashing: r }) {
2233
- const s = y(
2260
+ function Jt({ spec: e, value: t, onChange: a, onReset: n, flashing: r }) {
2261
+ const s = w(
2234
2262
  (o) => {
2235
- (o.key === "r" || o.key === "R") && (o.preventDefault(), a());
2263
+ (o.key === "r" || o.key === "R") && (o.preventDefault(), n());
2236
2264
  },
2237
- [a]
2265
+ [n]
2238
2266
  );
2239
2267
  return /* @__PURE__ */ O(
2240
2268
  "div",
@@ -2245,7 +2273,7 @@ function Zt({ spec: e, value: t, onChange: n, onReset: a, flashing: r }) {
2245
2273
  children: [
2246
2274
  /* @__PURE__ */ l("label", { className: "gloss-dev-tuning-panel__label", htmlFor: `gloss-dtp-${e.key}`, children: e.label }),
2247
2275
  /* @__PURE__ */ O("span", { className: "gloss-dev-tuning-panel__value", "aria-live": "off", children: [
2248
- jt(t, e.step),
2276
+ Qt(t, e.step),
2249
2277
  e.unit ? ` ${e.unit}` : ""
2250
2278
  ] }),
2251
2279
  /* @__PURE__ */ l(
@@ -2259,7 +2287,7 @@ function Zt({ spec: e, value: t, onChange: n, onReset: a, flashing: r }) {
2259
2287
  step: e.step,
2260
2288
  value: t,
2261
2289
  "aria-label": e.label,
2262
- onChange: (o) => n(Number(o.target.value))
2290
+ onChange: (o) => a(Number(o.target.value))
2263
2291
  }
2264
2292
  ),
2265
2293
  /* @__PURE__ */ l(
@@ -2268,15 +2296,15 @@ function Zt({ spec: e, value: t, onChange: n, onReset: a, flashing: r }) {
2268
2296
  type: "button",
2269
2297
  className: "gloss-dev-tuning-panel__reset",
2270
2298
  "aria-label": `Reset ${e.label}`,
2271
- onClick: a,
2272
- children: /* @__PURE__ */ l(Ut, {})
2299
+ onClick: n,
2300
+ children: /* @__PURE__ */ l(Xt, {})
2273
2301
  }
2274
2302
  )
2275
2303
  ]
2276
2304
  }
2277
2305
  );
2278
2306
  }
2279
- function Yt() {
2307
+ function en() {
2280
2308
  if (typeof process < "u" && process.env && process.env.NODE_ENV === "production" || typeof window > "u") return !1;
2281
2309
  try {
2282
2310
  return new URLSearchParams(window.location.search).has("devtune");
@@ -2284,23 +2312,23 @@ function Yt() {
2284
2312
  return !1;
2285
2313
  }
2286
2314
  }
2287
- function qt(e = {}) {
2288
- return Yt() ? /* @__PURE__ */ l(Qt, {}) : null;
2315
+ function tn(e = {}) {
2316
+ return en() ? /* @__PURE__ */ l(nn, {}) : null;
2289
2317
  }
2290
- qt.displayName = "DevTuningPanel";
2291
- function Qt() {
2292
- const e = Ht(), { values: t, setValue: n, resetRow: a, resetAll: r } = e, [s, o] = G(null), c = T(null), f = y((u) => {
2318
+ tn.displayName = "DevTuningPanel";
2319
+ function nn() {
2320
+ const e = Yt(), { values: t, setValue: a, resetRow: n, resetAll: r } = e, [s, o] = G(null), c = R(null), f = w((u) => {
2293
2321
  c.current && clearTimeout(c.current), o(u), c.current = setTimeout(() => {
2294
2322
  o(null), c.current = null;
2295
2323
  }, 200);
2296
- }, []), d = y(
2324
+ }, []), d = w(
2297
2325
  (u, m) => {
2298
- n(u, m), u === "snapInPx" && m > t.snapOutPx && (n("snapOutPx", m), f("snapOutPx"));
2326
+ a(u, m), u === "snapInPx" && m > t.snapOutPx && (a("snapOutPx", m), f("snapOutPx"));
2299
2327
  },
2300
- [n, t.snapOutPx, f]
2301
- ), g = ie(() => Vt, []), w = rt();
2328
+ [a, t.snapOutPx, f]
2329
+ ), p = ge(() => qt, []), h = ct();
2302
2330
  return /* @__PURE__ */ O(
2303
- ue.div,
2331
+ be.div,
2304
2332
  {
2305
2333
  className: "gloss-dev-tuning-panel",
2306
2334
  role: "region",
@@ -2308,27 +2336,27 @@ function Qt() {
2308
2336
  "data-testid": "gloss-dev-tuning-panel",
2309
2337
  drag: !0,
2310
2338
  dragListener: !1,
2311
- dragControls: w,
2339
+ dragControls: h,
2312
2340
  dragMomentum: !1,
2313
2341
  children: [
2314
2342
  /* @__PURE__ */ O(
2315
2343
  "div",
2316
2344
  {
2317
2345
  className: "gloss-dev-tuning-panel__header",
2318
- onPointerDown: (u) => w.start(u),
2346
+ onPointerDown: (u) => h.start(u),
2319
2347
  children: [
2320
2348
  /* @__PURE__ */ l("span", { className: "gloss-dev-tuning-panel__title", children: "Resize Tuning — dev only" }),
2321
2349
  /* @__PURE__ */ l("span", { className: "gloss-dev-tuning-panel__hint", children: "?devtune=1" })
2322
2350
  ]
2323
2351
  }
2324
2352
  ),
2325
- /* @__PURE__ */ l("div", { className: "gloss-dev-tuning-panel__body", children: g.map((u) => /* @__PURE__ */ l(
2326
- Zt,
2353
+ /* @__PURE__ */ l("div", { className: "gloss-dev-tuning-panel__body", children: p.map((u) => /* @__PURE__ */ l(
2354
+ Jt,
2327
2355
  {
2328
2356
  spec: u,
2329
2357
  value: t[u.key],
2330
2358
  onChange: (m) => d(u.key, m),
2331
- onReset: () => a(u.key),
2359
+ onReset: () => n(u.key),
2332
2360
  flashing: s === u.key
2333
2361
  },
2334
2362
  u.key
@@ -2346,40 +2374,40 @@ function Qt() {
2346
2374
  }
2347
2375
  );
2348
2376
  }
2349
- function Sn({
2377
+ function Pa({
2350
2378
  state: e,
2351
2379
  originX: t,
2352
- originY: n,
2353
- leftEdgeX: a,
2380
+ originY: a,
2381
+ leftEdgeX: n,
2354
2382
  rightEdgeX: r,
2355
2383
  minBoundaryX: s,
2356
2384
  snapBoundariesX: o,
2357
2385
  topY: c,
2358
2386
  bottomY: f,
2359
2387
  enterMs: d = ae.envelopeEnterMs,
2360
- exitMs: g = ae.envelopeExitMs,
2361
- className: w,
2388
+ exitMs: p = ae.envelopeExitMs,
2389
+ className: h,
2362
2390
  style: u
2363
2391
  }) {
2364
2392
  if (e === "hidden") return null;
2365
- const m = Math.max(0, r - a), h = Math.max(0, f - c), _ = {
2393
+ const m = Math.max(0, r - n), N = Math.max(0, f - c), y = {
2366
2394
  "--gloss-resize-envelope-enter-ms": `${d}ms`,
2367
- "--gloss-resize-envelope-exit-ms": `${g}ms`,
2368
- "--gloss-resize-envelope-origin-x": `${t - a}px`,
2369
- "--gloss-resize-envelope-origin-y": `${n - c}px`,
2370
- left: a,
2395
+ "--gloss-resize-envelope-exit-ms": `${p}ms`,
2396
+ "--gloss-resize-envelope-origin-x": `${t - n}px`,
2397
+ "--gloss-resize-envelope-origin-y": `${a - c}px`,
2398
+ left: n,
2371
2399
  top: c,
2372
2400
  width: m,
2373
- height: h,
2401
+ height: N,
2374
2402
  ...u
2375
2403
  };
2376
2404
  return /* @__PURE__ */ O(
2377
2405
  "div",
2378
2406
  {
2379
- className: ["gloss-resize-envelope", `gloss-resize-envelope--state-${e}`, w].filter(Boolean).join(" "),
2407
+ className: ["gloss-resize-envelope", `gloss-resize-envelope--state-${e}`, h].filter(Boolean).join(" "),
2380
2408
  "data-state": e,
2381
2409
  "data-testid": "gloss-resize-envelope",
2382
- style: _,
2410
+ style: y,
2383
2411
  "aria-hidden": "true",
2384
2412
  children: [
2385
2413
  /* @__PURE__ */ l(
@@ -2395,7 +2423,7 @@ function Sn({
2395
2423
  {
2396
2424
  className: "gloss-resize-envelope__edge gloss-resize-envelope__edge--min-boundary",
2397
2425
  "data-edge": "min-boundary",
2398
- style: { left: s - a }
2426
+ style: { left: s - n }
2399
2427
  }
2400
2428
  ),
2401
2429
  /* @__PURE__ */ l(
@@ -2406,29 +2434,29 @@ function Sn({
2406
2434
  style: { left: m - 1 }
2407
2435
  }
2408
2436
  ),
2409
- o.filter((p) => p > s && p < r).map((p) => /* @__PURE__ */ l(
2437
+ o.filter((g) => g > s && g < r).map((g) => /* @__PURE__ */ l(
2410
2438
  "div",
2411
2439
  {
2412
2440
  className: "gloss-resize-envelope__snap-line",
2413
2441
  "data-snap-line": !0,
2414
- style: { left: p - a }
2442
+ style: { left: g - n }
2415
2443
  },
2416
- p
2444
+ g
2417
2445
  ))
2418
2446
  ]
2419
2447
  }
2420
2448
  );
2421
2449
  }
2422
- function Mn({
2450
+ function Fa({
2423
2451
  density: e,
2424
2452
  canAccept: t,
2425
- blocked: n = !1,
2426
- proximityOpacity: a,
2453
+ blocked: a = !1,
2454
+ proximityOpacity: n,
2427
2455
  className: r,
2428
2456
  children: s,
2429
2457
  ...o
2430
2458
  }) {
2431
- const c = a != null ? { ...o.style, "--_proximity-opacity": String(a) } : o.style;
2459
+ const c = n != null ? { ...o.style, "--_proximity-opacity": String(n) } : o.style;
2432
2460
  return /* @__PURE__ */ l(
2433
2461
  "div",
2434
2462
  {
@@ -2436,33 +2464,33 @@ function Mn({
2436
2464
  style: c,
2437
2465
  "data-density": e,
2438
2466
  "data-can-accept": t ? "true" : "false",
2439
- "data-blocked": n ? "true" : void 0,
2440
- "data-proximity-driven": a != null ? "true" : void 0,
2467
+ "data-blocked": a ? "true" : void 0,
2468
+ "data-proximity-driven": n != null ? "true" : void 0,
2441
2469
  "data-testid": "gloss-drop-anchor-cell",
2442
2470
  className: [
2443
2471
  "gloss-drop-anchor-cell",
2444
- n && "gloss-drop-anchor-cell--blocked-pulse",
2472
+ a && "gloss-drop-anchor-cell--blocked-pulse",
2445
2473
  r
2446
2474
  ].filter(Boolean).join(" "),
2447
2475
  children: s
2448
2476
  }
2449
2477
  );
2450
2478
  }
2451
- function Xt(e, t, n, a) {
2452
- const r = (e + n) / 2, s = Math.min(t, a) - 40;
2453
- return `M${e},${t} Q${r},${s} ${n},${a}`;
2479
+ function an(e, t, a, n) {
2480
+ const r = (e + a) / 2, s = Math.min(t, n) - 40;
2481
+ return `M${e},${t} Q${r},${s} ${a},${n}`;
2454
2482
  }
2455
- function Tn({
2483
+ function Ea({
2456
2484
  segments: e,
2457
2485
  durationMs: t = ae.spilloverArcDurationMs,
2458
- staggerMs: n = ae.spilloverStaggerMs,
2459
- className: a,
2486
+ staggerMs: a = ae.spilloverStaggerMs,
2487
+ className: n,
2460
2488
  style: r
2461
2489
  }) {
2462
2490
  return e.length === 0 ? null : /* @__PURE__ */ l(
2463
2491
  "svg",
2464
2492
  {
2465
- className: ["gloss-spillover-arc", a].filter(Boolean).join(" "),
2493
+ className: ["gloss-spillover-arc", n].filter(Boolean).join(" "),
2466
2494
  "data-testid": "gloss-spillover-arc",
2467
2495
  "aria-hidden": "true",
2468
2496
  overflow: "visible",
@@ -2472,9 +2500,9 @@ function Tn({
2472
2500
  {
2473
2501
  "data-arc-id": s.id,
2474
2502
  className: "gloss-spillover-arc__path",
2475
- d: Xt(s.fromX, s.fromY, s.toX, s.toY),
2503
+ d: an(s.fromX, s.fromY, s.toX, s.toY),
2476
2504
  style: {
2477
- animationDelay: `${o * n}ms`,
2505
+ animationDelay: `${o * a}ms`,
2478
2506
  animationDuration: `${t}ms`
2479
2507
  }
2480
2508
  },
@@ -2483,11 +2511,11 @@ function Tn({
2483
2511
  }
2484
2512
  );
2485
2513
  }
2486
- function Rn({
2514
+ function Oa({
2487
2515
  state: e,
2488
2516
  staggerIndex: t = 0,
2489
- fadeInMs: n = ae.sectionDividerFadeInMs,
2490
- fadeOutMs: a = ae.sectionDividerFadeOutMs,
2517
+ fadeInMs: a = ae.sectionDividerFadeInMs,
2518
+ fadeOutMs: n = ae.sectionDividerFadeOutMs,
2491
2519
  staggerMs: r = ae.sectionDividerStaggerMs,
2492
2520
  variant: s = "dashed",
2493
2521
  className: o,
@@ -2495,8 +2523,8 @@ function Rn({
2495
2523
  ...f
2496
2524
  }) {
2497
2525
  const d = {
2498
- "--gloss-section-divider-fade-in-ms": `${n}ms`,
2499
- "--gloss-section-divider-fade-out-ms": `${a}ms`,
2526
+ "--gloss-section-divider-fade-in-ms": `${a}ms`,
2527
+ "--gloss-section-divider-fade-out-ms": `${n}ms`,
2500
2528
  "--gloss-section-divider-stagger-delay": `${t * r}ms`,
2501
2529
  ...c
2502
2530
  };
@@ -2517,20 +2545,20 @@ function Rn({
2517
2545
  }
2518
2546
  );
2519
2547
  }
2520
- function In({
2548
+ function Aa({
2521
2549
  enabled: e,
2522
2550
  onPack: t,
2523
- ariaLabel: n = "Pack row (shift cards left)",
2524
- className: a,
2551
+ ariaLabel: a = "Pack row (shift cards left)",
2552
+ className: n,
2525
2553
  style: r
2526
2554
  }) {
2527
- return /* @__PURE__ */ l(Ae, { visible: e, variant: "pack", trigger: "hover+focus", children: /* @__PURE__ */ l(
2555
+ return /* @__PURE__ */ l(We, { visible: e, variant: "pack", trigger: "hover+focus", children: /* @__PURE__ */ l(
2528
2556
  "button",
2529
2557
  {
2530
2558
  type: "button",
2531
2559
  "data-testid": "gloss-empty-cell-pack",
2532
- "aria-label": n,
2533
- className: ["gloss-empty-cell-pack-affordance", a].filter(Boolean).join(" "),
2560
+ "aria-label": a,
2561
+ className: ["gloss-empty-cell-pack-affordance", n].filter(Boolean).join(" "),
2534
2562
  style: r,
2535
2563
  onClick: (s) => {
2536
2564
  s.stopPropagation(), t();
@@ -2539,20 +2567,20 @@ function In({
2539
2567
  }
2540
2568
  ) });
2541
2569
  }
2542
- function Pn({
2570
+ function La({
2543
2571
  tint: e,
2544
2572
  colSpan: t,
2545
- colWidth: n,
2546
- rowHeight: a,
2573
+ colWidth: a,
2574
+ rowHeight: n,
2547
2575
  gap: r,
2548
2576
  x: s,
2549
2577
  y: o,
2550
2578
  children: c,
2551
2579
  className: f
2552
2580
  }) {
2553
- const d = t * n + (t - 1) * r;
2581
+ const d = t * a + (t - 1) * r;
2554
2582
  return /* @__PURE__ */ l(
2555
- ue.div,
2583
+ be.div,
2556
2584
  {
2557
2585
  "data-testid": "gloss-drag-ghost",
2558
2586
  "data-tint": e,
@@ -2562,22 +2590,22 @@ function Pn({
2562
2590
  `gloss-drag-ghost--tint-${e}`,
2563
2591
  f
2564
2592
  ].filter(Boolean).join(" "),
2565
- style: { x: s, y: o, width: d, height: a },
2593
+ style: { x: s, y: o, width: d, height: n },
2566
2594
  children: c
2567
2595
  }
2568
2596
  );
2569
2597
  }
2570
- const Jt = 3;
2571
- function Fn({
2598
+ const rn = 3;
2599
+ function $a({
2572
2600
  cell: e,
2573
2601
  colSpan: t,
2574
- colWidth: n,
2575
- gap: a,
2602
+ colWidth: a,
2603
+ gap: n,
2576
2604
  rowHeight: r,
2577
2605
  transitionMs: s = 120,
2578
2606
  className: o
2579
2607
  }) {
2580
- const c = t * n + (t - 1) * a, d = (e.section * Jt + e.col) * (n + a), g = e.row * (r + a);
2608
+ const c = t * a + (t - 1) * n, d = (e.section * rn + e.col) * (a + n), p = e.row * (r + n);
2581
2609
  return /* @__PURE__ */ l(
2582
2610
  "div",
2583
2611
  {
@@ -2585,7 +2613,7 @@ function Fn({
2585
2613
  "data-testid": "gloss-snap-outline",
2586
2614
  "aria-hidden": "true",
2587
2615
  style: {
2588
- transform: `translate(${d}px, ${g}px)`,
2616
+ transform: `translate(${d}px, ${p}px)`,
2589
2617
  width: c,
2590
2618
  height: r,
2591
2619
  transition: `transform ${s}ms cubic-bezier(0.4, 0, 0.2, 1)`
@@ -2593,25 +2621,25 @@ function Fn({
2593
2621
  }
2594
2622
  );
2595
2623
  }
2596
- function En({
2624
+ function Ba({
2597
2625
  items: e,
2598
2626
  children: t,
2599
- className: n
2627
+ className: a
2600
2628
  }) {
2601
- return e.length === 0 ? null : /* @__PURE__ */ l(ve, { children: e.map((a) => /* @__PURE__ */ l(
2602
- ue.div,
2629
+ return e.length === 0 ? null : /* @__PURE__ */ l(_e, { children: e.map((n) => /* @__PURE__ */ l(
2630
+ be.div,
2603
2631
  {
2604
- "data-card-id": a.cardId,
2632
+ "data-card-id": n.cardId,
2605
2633
  "data-testid": "gloss-cascade-preview-item",
2606
2634
  "aria-hidden": "true",
2607
- className: ["gloss-cascade-preview-item", n].filter(Boolean).join(" "),
2608
- style: { position: "absolute", x: a.x, y: a.y },
2609
- children: t(a)
2635
+ className: ["gloss-cascade-preview-item", a].filter(Boolean).join(" "),
2636
+ style: { position: "absolute", x: n.x, y: n.y },
2637
+ children: t(n)
2610
2638
  },
2611
- a.cardId
2639
+ n.cardId
2612
2640
  )) });
2613
2641
  }
2614
- const ee = {
2642
+ const te = {
2615
2643
  "gloss-inline-nudge": "_gloss-inline-nudge_kdk88_34",
2616
2644
  "gloss-inline-nudge__message": "_gloss-inline-nudge__message_kdk88_65",
2617
2645
  "gloss-inline-nudge__actions": "_gloss-inline-nudge__actions_kdk88_72",
@@ -2619,48 +2647,48 @@ const ee = {
2619
2647
  "gloss-inline-nudge__btn--action": "_gloss-inline-nudge__btn--action_kdk88_88",
2620
2648
  "gloss-inline-nudge__btn--dismiss": "_gloss-inline-nudge__btn--dismiss_kdk88_96"
2621
2649
  };
2622
- function ea({
2650
+ function sn({
2623
2651
  message: e,
2624
2652
  primaryAction: t,
2625
- onDismiss: n,
2626
- anchorEl: a,
2653
+ onDismiss: a,
2654
+ anchorEl: n,
2627
2655
  anchorSelector: r
2628
2656
  }) {
2629
- const [s, o] = W.useState(null), c = W.useMemo(
2657
+ const [s, o] = V.useState(null), c = V.useMemo(
2630
2658
  () => typeof window < "u" && window.matchMedia ? window.matchMedia("(prefers-reduced-motion: reduce)").matches : !1,
2631
2659
  []
2632
2660
  );
2633
- W.useEffect(() => {
2634
- !a && !r && (typeof process > "u" || process.env.NODE_ENV !== "production") && console.error(
2661
+ V.useEffect(() => {
2662
+ !n && !r && (typeof process > "u" || process.env.NODE_ENV !== "production") && console.error(
2635
2663
  "[InlineNudge] requires anchorEl or anchorSelector. AP-07: Do not mount InlineNudge in Layout/** or _app.tsx."
2636
2664
  );
2637
- }, [a, r]), W.useLayoutEffect(() => {
2665
+ }, [n, r]), V.useLayoutEffect(() => {
2638
2666
  let d = null;
2639
- if (a ? d = a : r && (d = document.querySelector(r)), d) {
2640
- const g = d.getBoundingClientRect();
2667
+ if (n ? d = n : r && (d = document.querySelector(r)), d) {
2668
+ const p = d.getBoundingClientRect();
2641
2669
  o({
2642
- top: g.bottom + window.scrollY + 6,
2643
- left: g.left + window.scrollX
2670
+ top: p.bottom + window.scrollY + 6,
2671
+ left: p.left + window.scrollX
2644
2672
  });
2645
2673
  }
2646
- }, [a, r]);
2674
+ }, [n, r]);
2647
2675
  const f = s ? { top: s.top, left: s.left } : {};
2648
2676
  return /* @__PURE__ */ O(
2649
2677
  "div",
2650
2678
  {
2651
- className: ee["gloss-inline-nudge"],
2679
+ className: te["gloss-inline-nudge"],
2652
2680
  style: f,
2653
2681
  role: "status",
2654
2682
  "aria-live": "polite",
2655
2683
  "data-reduced-motion": c ? "true" : void 0,
2656
2684
  children: [
2657
- /* @__PURE__ */ l("span", { className: ee["gloss-inline-nudge__message"], children: e }),
2658
- /* @__PURE__ */ O("div", { className: ee["gloss-inline-nudge__actions"], children: [
2685
+ /* @__PURE__ */ l("span", { className: te["gloss-inline-nudge__message"], children: e }),
2686
+ /* @__PURE__ */ O("div", { className: te["gloss-inline-nudge__actions"], children: [
2659
2687
  /* @__PURE__ */ l(
2660
2688
  "button",
2661
2689
  {
2662
2690
  type: "button",
2663
- className: `${ee["gloss-inline-nudge__btn"]} ${ee["gloss-inline-nudge__btn--action"]}`,
2691
+ className: `${te["gloss-inline-nudge__btn"]} ${te["gloss-inline-nudge__btn--action"]}`,
2664
2692
  onClick: t.onClick,
2665
2693
  children: t.label
2666
2694
  }
@@ -2669,8 +2697,8 @@ function ea({
2669
2697
  "button",
2670
2698
  {
2671
2699
  type: "button",
2672
- className: `${ee["gloss-inline-nudge__btn"]} ${ee["gloss-inline-nudge__btn--dismiss"]}`,
2673
- onClick: n,
2700
+ className: `${te["gloss-inline-nudge__btn"]} ${te["gloss-inline-nudge__btn--dismiss"]}`,
2701
+ onClick: a,
2674
2702
  "aria-label": "Dismiss",
2675
2703
  children: "Dismiss"
2676
2704
  }
@@ -2680,84 +2708,84 @@ function ea({
2680
2708
  }
2681
2709
  );
2682
2710
  }
2683
- ea.displayName = "InlineNudge";
2684
- function Ne(e) {
2711
+ sn.displayName = "InlineNudge";
2712
+ function Me(e) {
2685
2713
  return e.colorToken ? `var(--gloss-color-${e.colorToken}, ${e.color ?? "#888"})` : e.color ?? "#888";
2686
2714
  }
2687
- function ta(e, t, n) {
2688
- if (n <= t) {
2689
- const o = e[0], c = o ? Ne(o) : "#888";
2715
+ function on(e, t, a) {
2716
+ if (a <= t) {
2717
+ const o = e[0], c = o ? Me(o) : "#888";
2690
2718
  return `linear-gradient(to right, ${c}, ${c})`;
2691
2719
  }
2692
- const a = n - t, s = [...e].sort((o, c) => o.value - c.value).map((o) => {
2693
- const c = (o.value - t) / a * 100;
2694
- return `${Ne(o)} ${c.toFixed(2)}%`;
2720
+ const n = a - t, s = [...e].sort((o, c) => o.value - c.value).map((o) => {
2721
+ const c = (o.value - t) / n * 100;
2722
+ return `${Me(o)} ${c.toFixed(2)}%`;
2695
2723
  });
2696
2724
  return s.length === 0 ? "linear-gradient(to right, #888 0%, #888 100%)" : s.length === 1 ? `linear-gradient(to right, ${s[0]}, ${s[0]})` : `linear-gradient(to right, ${s.join(", ")})`;
2697
2725
  }
2698
- function aa(e) {
2726
+ function ln(e) {
2699
2727
  return e.map((t) => `${t.id}:${t.value}`).join("|");
2700
2728
  }
2701
- function na({
2729
+ function cn({
2702
2730
  stops: e,
2703
2731
  onChange: t,
2704
- min: n = 0,
2705
- max: a = 100,
2732
+ min: a = 0,
2733
+ max: n = 100,
2706
2734
  step: r,
2707
2735
  disabled: s = !1
2708
2736
  }) {
2709
2737
  const o = r === void 0 ? 0.01 : !Number.isFinite(r) || r <= 0 ? (process.env.NODE_ENV !== "production" && console.warn(
2710
2738
  `ThresholdRamp: step (${r}) must be a positive finite number; falling back to 0.01.`
2711
- ), 0.01) : r, c = y(
2739
+ ), 0.01) : r, c = w(
2712
2740
  (i) => Math.round(i / o) * o,
2713
2741
  [o]
2714
- ), f = T(null), [d, g] = G(null), [w, u] = G(e), m = aa(e), h = T(m);
2742
+ ), f = R(null), [d, p] = G(null), [h, u] = G(e), m = ln(e), N = R(m);
2715
2743
  L(() => {
2716
- h.current !== m && (h.current = m, !d && u(e));
2744
+ N.current !== m && (N.current = m, !d && u(e));
2717
2745
  }, [m, e, d]);
2718
- const _ = ie(() => ta(w, n, a), [w, n, a]), p = y(
2746
+ const y = ge(() => on(h, a, n), [h, a, n]), g = w(
2719
2747
  (i) => {
2720
- if (!f.current) return n;
2721
- const b = f.current.getBoundingClientRect(), D = b.width || 1, x = Math.max(0, Math.min(1, (i - b.left) / D)), v = n + x * (a - n);
2748
+ if (!f.current) return a;
2749
+ const b = f.current.getBoundingClientRect(), D = b.width || 1, x = Math.max(0, Math.min(1, (i - b.left) / D)), v = a + x * (n - a);
2722
2750
  return c(v);
2723
2751
  },
2724
- [n, a, c]
2752
+ [a, n, c]
2725
2753
  );
2726
2754
  L(() => {
2727
- a <= n && process.env.NODE_ENV !== "production" && console.warn(
2728
- `ThresholdRamp: max (${a}) must be greater than min (${n}); rendering degenerate strip.`
2755
+ n <= a && process.env.NODE_ENV !== "production" && console.warn(
2756
+ `ThresholdRamp: max (${n}) must be greater than min (${a}); rendering degenerate strip.`
2729
2757
  );
2730
- }, [n, a]);
2731
- const S = y(
2758
+ }, [a, n]);
2759
+ const S = w(
2732
2760
  (i, b) => {
2733
- const D = w.find((x) => x.id === b);
2734
- s || D?.disabled || (i.preventDefault(), g(b));
2761
+ const D = h.find((x) => x.id === b);
2762
+ s || D?.disabled || (i.preventDefault(), p(b));
2735
2763
  },
2736
- [s, w]
2737
- ), I = T(w);
2738
- I.current = w;
2739
- const C = T(t);
2740
- C.current = t, L(() => {
2764
+ [s, h]
2765
+ ), I = R(h);
2766
+ I.current = h;
2767
+ const _ = R(t);
2768
+ _.current = t, L(() => {
2741
2769
  if (!d) return;
2742
2770
  const i = (D) => {
2743
- const x = p(D.clientX);
2771
+ const x = g(D.clientX);
2744
2772
  u(
2745
2773
  (v) => v.map((k) => k.id === d ? { ...k, value: x } : k)
2746
2774
  );
2747
2775
  }, b = (D) => {
2748
- const x = p(D.clientX), v = I.current.map(
2776
+ const x = g(D.clientX), v = I.current.map(
2749
2777
  (k) => k.id === d ? { ...k, value: x } : k
2750
2778
  );
2751
- u(v), g(null), C.current(v);
2779
+ u(v), p(null), _.current(v);
2752
2780
  };
2753
2781
  return window.addEventListener("pointermove", i), window.addEventListener("pointerup", b), window.addEventListener("pointercancel", b), () => {
2754
2782
  window.removeEventListener("pointermove", i), window.removeEventListener("pointerup", b), window.removeEventListener("pointercancel", b);
2755
2783
  };
2756
- }, [d, p]);
2757
- const M = a - n > 0 ? a - n : 1, R = y(
2784
+ }, [d, g]);
2785
+ const M = n - a > 0 ? n - a : 1, T = w(
2758
2786
  (i, b) => {
2759
2787
  if (s || b.disabled) return;
2760
- const D = a - n;
2788
+ const D = n - a;
2761
2789
  if (D <= 0) return;
2762
2790
  const x = i.shiftKey ? D / 20 : D / 100;
2763
2791
  let v = b.value;
@@ -2771,49 +2799,49 @@ function na({
2771
2799
  v = b.value - x;
2772
2800
  break;
2773
2801
  case "Home":
2774
- v = n;
2802
+ v = a;
2775
2803
  break;
2776
2804
  case "End":
2777
- v = a;
2805
+ v = n;
2778
2806
  break;
2779
2807
  default:
2780
2808
  return;
2781
2809
  }
2782
2810
  i.preventDefault();
2783
- const k = Math.max(n, Math.min(a, v)), P = c(k);
2811
+ const k = Math.max(a, Math.min(n, v)), P = c(k);
2784
2812
  if (P === b.value) return;
2785
- const H = w.map(
2786
- (U) => U.id === b.id ? { ...U, value: P } : U
2813
+ const j = h.map(
2814
+ (Y) => Y.id === b.id ? { ...Y, value: P } : Y
2787
2815
  );
2788
- u(H), t(H);
2816
+ u(j), t(j);
2789
2817
  },
2790
- [s, n, a, w, t, c]
2818
+ [s, a, n, h, t, c]
2791
2819
  );
2792
2820
  return /* @__PURE__ */ l("div", { className: "gloss-threshold-ramp", "data-disabled": s || void 0, children: /* @__PURE__ */ l(
2793
2821
  "div",
2794
2822
  {
2795
2823
  ref: f,
2796
2824
  className: "gloss-threshold-ramp__track",
2797
- style: { background: _ },
2798
- children: w.map((i) => {
2799
- const b = (i.value - n) / M * 100;
2825
+ style: { background: y },
2826
+ children: h.map((i) => {
2827
+ const b = (i.value - a) / M * 100;
2800
2828
  return /* @__PURE__ */ l(
2801
2829
  "span",
2802
2830
  {
2803
2831
  className: "gloss-threshold-ramp__stop",
2804
2832
  style: {
2805
2833
  left: `${b}%`,
2806
- color: Ne(i)
2834
+ color: Me(i)
2807
2835
  },
2808
2836
  "data-disabled": i.disabled || void 0,
2809
2837
  "data-dragging": d === i.id || void 0,
2810
2838
  onPointerDown: (D) => S(D, i.id),
2811
- onKeyDown: (D) => R(D, i),
2839
+ onKeyDown: (D) => T(D, i),
2812
2840
  "aria-label": i.label ?? `Stop at ${i.value}`,
2813
2841
  role: "slider",
2814
2842
  "aria-valuenow": i.value,
2815
- "aria-valuemin": n,
2816
- "aria-valuemax": a,
2843
+ "aria-valuemin": a,
2844
+ "aria-valuemax": n,
2817
2845
  "aria-disabled": i.disabled || s || void 0,
2818
2846
  tabIndex: i.disabled || s ? -1 : 0
2819
2847
  },
@@ -2823,108 +2851,108 @@ function na({
2823
2851
  }
2824
2852
  ) });
2825
2853
  }
2826
- na.displayName = "ThresholdRamp";
2827
- const We = tt(null);
2828
- function ra() {
2829
- return at(We);
2854
+ cn.displayName = "ThresholdRamp";
2855
+ const Ye = ot(null);
2856
+ function dn() {
2857
+ return it(Ye);
2830
2858
  }
2831
- function sa({ option: e }) {
2832
- const t = ra(), n = t?.isSelected(e.value) ?? !1, a = e.disabled || t?.groupDisabled, r = y(() => {
2833
- a || t?.select(e.value);
2834
- }, [a, t, e.value]), s = y(
2859
+ function un({ option: e }) {
2860
+ const t = dn(), a = t?.isSelected(e.value) ?? !1, n = e.disabled || t?.groupDisabled, r = w(() => {
2861
+ n || t?.select(e.value);
2862
+ }, [n, t, e.value]), s = w(
2835
2863
  (d) => {
2836
- a || t?.onKeyNav(d, e.value);
2864
+ n || t?.onKeyNav(d, e.value);
2837
2865
  },
2838
- [a, t, e.value]
2839
- ), o = e.colorToken ? `var(--gloss-color-${e.colorToken}, ${e.color ?? "#888"})` : e.color ?? "#888", c = t?.firstFocusableValue === e.value, f = a ? -1 : c ? 0 : -1;
2866
+ [n, t, e.value]
2867
+ ), o = e.colorToken ? `var(--gloss-color-${e.colorToken}, ${e.color ?? "#888"})` : e.color ?? "#888", c = t?.firstFocusableValue === e.value, f = n ? -1 : c ? 0 : -1;
2840
2868
  return /* @__PURE__ */ l(
2841
2869
  "button",
2842
2870
  {
2843
2871
  ref: (d) => t?.registerRef(e.value, d),
2844
2872
  type: "button",
2845
2873
  role: "radio",
2846
- "aria-checked": n,
2874
+ "aria-checked": a,
2847
2875
  className: "gloss-preset-swatch-row__swatch",
2848
2876
  style: { backgroundColor: o },
2849
- "data-selected": n || void 0,
2850
- "data-disabled": a || void 0,
2877
+ "data-selected": a || void 0,
2878
+ "data-disabled": n || void 0,
2851
2879
  ...process.env.NODE_ENV === "test" ? { "data-bg-color": o } : {},
2852
2880
  "aria-label": e.label ?? e.value,
2853
- "aria-disabled": a,
2854
- disabled: a,
2881
+ "aria-disabled": n,
2882
+ disabled: n,
2855
2883
  tabIndex: f,
2856
2884
  onClick: r,
2857
2885
  onKeyDown: s
2858
2886
  }
2859
2887
  );
2860
2888
  }
2861
- function oa({
2889
+ function mn({
2862
2890
  swatches: e,
2863
2891
  value: t,
2864
- defaultValue: n,
2865
- onChange: a,
2892
+ defaultValue: a,
2893
+ onChange: n,
2866
2894
  disabled: r = !1,
2867
2895
  name: s
2868
2896
  }) {
2869
- const o = t !== void 0, [c, f] = G(n), d = o ? t : c, g = y(
2870
- (C) => {
2871
- o || f(C), a?.(C);
2897
+ const o = t !== void 0, [c, f] = G(a), d = o ? t : c, p = w(
2898
+ (_) => {
2899
+ o || f(_), n?.(_);
2872
2900
  },
2873
- [o, a]
2874
- ), w = y(
2875
- (C) => d === C,
2901
+ [o, n]
2902
+ ), h = w(
2903
+ (_) => d === _,
2876
2904
  [d]
2877
- ), u = T(/* @__PURE__ */ new Map()), m = y((C, M) => {
2878
- M ? u.current.set(C, M) : u.current.delete(C);
2879
- }, []), h = e.filter((C) => !C.disabled && !r), _ = h.find((C) => C.value === d)?.value ?? h[0]?.value, p = y((C) => {
2880
- const M = u.current.get(C);
2905
+ ), u = R(/* @__PURE__ */ new Map()), m = w((_, M) => {
2906
+ M ? u.current.set(_, M) : u.current.delete(_);
2907
+ }, []), N = e.filter((_) => !_.disabled && !r), y = N.find((_) => _.value === d)?.value ?? N[0]?.value, g = w((_) => {
2908
+ const M = u.current.get(_);
2881
2909
  M && M.focus();
2882
- }, []), S = y(
2883
- (C, M) => {
2910
+ }, []), S = w(
2911
+ (_, M) => {
2884
2912
  if (r) return;
2885
- const R = e.filter((x) => !x.disabled);
2886
- if (R.length === 0) return;
2887
- const i = R.findIndex((x) => x.value === M);
2913
+ const T = e.filter((x) => !x.disabled);
2914
+ if (T.length === 0) return;
2915
+ const i = T.findIndex((x) => x.value === M);
2888
2916
  if (i === -1) return;
2889
2917
  let b = i;
2890
- switch (C.key) {
2918
+ switch (_.key) {
2891
2919
  case "ArrowRight":
2892
2920
  case "ArrowDown":
2893
- b = (i + 1) % R.length;
2921
+ b = (i + 1) % T.length;
2894
2922
  break;
2895
2923
  case "ArrowLeft":
2896
2924
  case "ArrowUp":
2897
- b = (i - 1 + R.length) % R.length;
2925
+ b = (i - 1 + T.length) % T.length;
2898
2926
  break;
2899
2927
  case "Home":
2900
2928
  b = 0;
2901
2929
  break;
2902
2930
  case "End":
2903
- b = R.length - 1;
2931
+ b = T.length - 1;
2904
2932
  break;
2905
2933
  case " ":
2906
2934
  case "Enter":
2907
- C.preventDefault(), g(M);
2935
+ _.preventDefault(), p(M);
2908
2936
  return;
2909
2937
  default:
2910
2938
  return;
2911
2939
  }
2912
- C.preventDefault();
2913
- const D = R[b].value;
2914
- p(D), g(D);
2940
+ _.preventDefault();
2941
+ const D = T[b].value;
2942
+ g(D), p(D);
2915
2943
  },
2916
- [r, e, g, p]
2944
+ [r, e, p, g]
2917
2945
  ), I = {
2918
2946
  selectedValue: d,
2919
- select: g,
2920
- isSelected: w,
2947
+ select: p,
2948
+ isSelected: h,
2921
2949
  groupDisabled: r,
2922
2950
  name: s,
2923
2951
  registerRef: m,
2924
- firstFocusableValue: _,
2952
+ firstFocusableValue: y,
2925
2953
  onKeyNav: S
2926
2954
  };
2927
- return /* @__PURE__ */ l(We.Provider, { value: I, children: /* @__PURE__ */ l(
2955
+ return /* @__PURE__ */ l(Ye.Provider, { value: I, children: /* @__PURE__ */ l(
2928
2956
  "div",
2929
2957
  {
2930
2958
  className: "gloss-preset-swatch-row",
@@ -2932,125 +2960,125 @@ function oa({
2932
2960
  "aria-label": s,
2933
2961
  "aria-disabled": r,
2934
2962
  "data-disabled": r || void 0,
2935
- children: e.map((C) => /* @__PURE__ */ l(sa, { option: C }, C.value))
2963
+ children: e.map((_) => /* @__PURE__ */ l(un, { option: _ }, _.value))
2936
2964
  }
2937
2965
  ) });
2938
2966
  }
2939
- oa.displayName = "PresetSwatchRow";
2940
- function Ce(e, t) {
2941
- for (const n of e)
2942
- if (n.items.some((a) => a.id === t))
2943
- return n.zoneKey;
2967
+ mn.displayName = "PresetSwatchRow";
2968
+ function Te(e, t) {
2969
+ for (const a of e)
2970
+ if (a.items.some((n) => n.id === t))
2971
+ return a.zoneKey;
2944
2972
  return null;
2945
2973
  }
2946
- function Oe(e, t) {
2947
- const n = e.find((a) => a.zoneKey === t);
2948
- return n ? n.zoneKey : Ce(e, t);
2974
+ function Ke(e, t) {
2975
+ const a = e.find((n) => n.zoneKey === t);
2976
+ return a ? a.zoneKey : Te(e, t);
2949
2977
  }
2950
- function ia(e, t, n) {
2951
- const a = [...e], [r] = a.splice(t, 1);
2952
- return a.splice(n, 0, r), a;
2978
+ function gn(e, t, a) {
2979
+ const n = [...e], [r] = n.splice(t, 1);
2980
+ return n.splice(a, 0, r), n;
2953
2981
  }
2954
- function la(e) {
2955
- return e.map((t) => `${t.zoneKey}:${t.items.map((n) => n.id).join(",")}`).join("|");
2982
+ function pn(e) {
2983
+ return e.map((t) => `${t.zoneKey}:${t.items.map((a) => a.id).join(",")}`).join("|");
2956
2984
  }
2957
- function ca(e) {
2958
- const [t, n] = G(
2959
- () => e.zones.map((p) => p.maxItems !== void 0 && p.items.length > p.maxItems ? (process.env.NODE_ENV !== "production" && console.warn(
2960
- `useSortableZones: zone "${p.zoneKey}" exceeds maxItems (${p.items.length} > ${p.maxItems}); trimming to cap.`
2961
- ), { ...p, items: p.items.slice(0, p.maxItems) }) : p)
2962
- ), [a, r] = G(null), [s, o] = G(null), c = T(null), f = T(e.onZoneChange);
2985
+ function fn(e) {
2986
+ const [t, a] = G(
2987
+ () => e.zones.map((g) => g.maxItems !== void 0 && g.items.length > g.maxItems ? (process.env.NODE_ENV !== "production" && console.warn(
2988
+ `useSortableZones: zone "${g.zoneKey}" exceeds maxItems (${g.items.length} > ${g.maxItems}); trimming to cap.`
2989
+ ), { ...g, items: g.items.slice(0, g.maxItems) }) : g)
2990
+ ), [n, r] = G(null), [s, o] = G(null), c = R(null), f = R(e.onZoneChange);
2963
2991
  f.current = e.onZoneChange;
2964
- const d = ie(
2965
- () => la(e.zones),
2992
+ const d = ge(
2993
+ () => pn(e.zones),
2966
2994
  [e.zones]
2967
- ), g = T(d);
2995
+ ), p = R(d);
2968
2996
  L(() => {
2969
- g.current !== d && (g.current = d, !a && n(
2970
- e.zones.map((p) => p.maxItems !== void 0 && p.items.length > p.maxItems ? (process.env.NODE_ENV !== "production" && console.warn(
2971
- `useSortableZones: zone "${p.zoneKey}" exceeds maxItems (${p.items.length} > ${p.maxItems}); trimming to cap.`
2972
- ), { ...p, items: p.items.slice(0, p.maxItems) }) : p)
2997
+ p.current !== d && (p.current = d, !n && a(
2998
+ e.zones.map((g) => g.maxItems !== void 0 && g.items.length > g.maxItems ? (process.env.NODE_ENV !== "production" && console.warn(
2999
+ `useSortableZones: zone "${g.zoneKey}" exceeds maxItems (${g.items.length} > ${g.maxItems}); trimming to cap.`
3000
+ ), { ...g, items: g.items.slice(0, g.maxItems) }) : g)
2973
3001
  ));
2974
- }, [d, e.zones, a]);
2975
- const w = y(
2976
- (p) => {
2977
- const S = p.active.id;
2978
- let I = null, C = null;
3002
+ }, [d, e.zones, n]);
3003
+ const h = w(
3004
+ (g) => {
3005
+ const S = g.active.id;
3006
+ let I = null, _ = null;
2979
3007
  for (const M of t) {
2980
- const R = M.items.find((i) => i.id === S);
2981
- if (R) {
2982
- I = R, C = M.zoneKey;
3008
+ const T = M.items.find((i) => i.id === S);
3009
+ if (T) {
3010
+ I = T, _ = M.zoneKey;
2983
3011
  break;
2984
3012
  }
2985
3013
  }
2986
- c.current = C, r(I), o(C);
3014
+ c.current = _, r(I), o(_);
2987
3015
  },
2988
3016
  [t]
2989
- ), u = y(
2990
- (p) => {
2991
- if (!p.over) {
3017
+ ), u = w(
3018
+ (g) => {
3019
+ if (!g.over) {
2992
3020
  o(c.current);
2993
3021
  return;
2994
3022
  }
2995
- const S = Oe(t, p.over.id);
3023
+ const S = Ke(t, g.over.id);
2996
3024
  o(S);
2997
3025
  },
2998
3026
  [t]
2999
- ), m = y(
3000
- (p) => {
3001
- const { active: S, over: I } = p, C = () => {
3027
+ ), m = w(
3028
+ (g) => {
3029
+ const { active: S, over: I } = g, _ = () => {
3002
3030
  c.current = null, r(null), o(null);
3003
3031
  };
3004
3032
  if (!I) {
3005
- C();
3033
+ _();
3006
3034
  return;
3007
3035
  }
3008
- const M = Ce(t, S.id), R = Oe(t, I.id);
3009
- if (!M || !R) {
3010
- C();
3036
+ const M = Te(t, S.id), T = Ke(t, I.id);
3037
+ if (!M || !T) {
3038
+ _();
3011
3039
  return;
3012
3040
  }
3013
3041
  let i = t.map((b) => ({ ...b, items: [...b.items] }));
3014
- if (M === R) {
3042
+ if (M === T) {
3015
3043
  const b = i.findIndex((P) => P.zoneKey === M), D = i[b], x = D.items.findIndex((P) => P.id === S.id), v = D.items.findIndex((P) => P.id === I.id), k = v >= 0 ? v : Math.max(0, D.items.length - 1);
3016
3044
  i[b] = {
3017
3045
  ...D,
3018
- items: ia(D.items, x, k)
3046
+ items: gn(D.items, x, k)
3019
3047
  };
3020
3048
  } else {
3021
- const b = i.findIndex((A) => A.zoneKey === M), D = i.findIndex((A) => A.zoneKey === R), x = i[b], v = i[D], k = x.items.find((A) => A.id === S.id);
3049
+ const b = i.findIndex((A) => A.zoneKey === M), D = i.findIndex((A) => A.zoneKey === T), x = i[b], v = i[D], k = x.items.find((A) => A.id === S.id);
3022
3050
  if (!k) {
3023
- C();
3051
+ _();
3024
3052
  return;
3025
3053
  }
3026
- const P = x.items.filter((A) => A.id !== S.id), H = v.items.findIndex((A) => A.id === I.id), U = H >= 0 ? H : v.items.length;
3027
- let j = P, K = [...v.items];
3028
- if (v.maxItems !== void 0 && K.length >= v.maxItems) {
3029
- const A = K[K.length - 1];
3030
- K = K.slice(0, v.maxItems - 1), j = [...P, A];
3054
+ const P = x.items.filter((A) => A.id !== S.id), j = v.items.findIndex((A) => A.id === I.id), Y = j >= 0 ? j : v.items.length;
3055
+ let U = P, W = [...v.items];
3056
+ if (v.maxItems !== void 0 && W.length >= v.maxItems) {
3057
+ const A = W[W.length - 1];
3058
+ W = W.slice(0, v.maxItems - 1), U = [...P, A];
3031
3059
  }
3032
- const $ = Math.min(U, K.length), V = [
3033
- ...K.slice(0, $),
3060
+ const $ = Math.min(Y, W.length), Z = [
3061
+ ...W.slice(0, $),
3034
3062
  k,
3035
- ...K.slice($)
3063
+ ...W.slice($)
3036
3064
  ];
3037
- i[b] = { ...x, items: j }, i[D] = { ...v, items: V };
3065
+ i[b] = { ...x, items: U }, i[D] = { ...v, items: Z };
3038
3066
  }
3039
- n(i), f.current?.(i), C();
3067
+ a(i), f.current?.(i), _();
3040
3068
  },
3041
3069
  [t]
3042
- ), h = y(
3043
- (p) => ({
3044
- id: p,
3045
- "data-zone-key": p
3070
+ ), N = w(
3071
+ (g) => ({
3072
+ id: g,
3073
+ "data-zone-key": g
3046
3074
  }),
3047
3075
  []
3048
- ), _ = y(
3049
- (p) => {
3050
- const S = Ce(t, p.id) ?? "";
3076
+ ), y = w(
3077
+ (g) => {
3078
+ const S = Te(t, g.id) ?? "";
3051
3079
  return {
3052
- id: p.id,
3053
- "data-item-id": p.id,
3080
+ id: g.id,
3081
+ "data-item-id": g.id,
3054
3082
  "data-zone-key": S
3055
3083
  };
3056
3084
  },
@@ -3059,16 +3087,16 @@ function ca(e) {
3059
3087
  return {
3060
3088
  zones: t,
3061
3089
  activeZone: s,
3062
- activeItem: a,
3063
- getZoneProps: h,
3064
- getItemProps: _,
3065
- handleDragStart: w,
3090
+ activeItem: n,
3091
+ getZoneProps: N,
3092
+ getItemProps: y,
3093
+ handleDragStart: h,
3066
3094
  handleDragOver: u,
3067
3095
  handleDragEnd: m
3068
3096
  };
3069
3097
  }
3070
- let se = null, de = null, be = !1;
3071
- const da = [
3098
+ let ue = null, he = null, Ce = !1;
3099
+ const hn = [
3072
3100
  "DndContext",
3073
3101
  "DragOverlay",
3074
3102
  "useSensors",
@@ -3077,145 +3105,145 @@ const da = [
3077
3105
  "PointerSensor",
3078
3106
  "KeyboardSensor",
3079
3107
  "closestCenter"
3080
- ], ua = [
3108
+ ], bn = [
3081
3109
  "SortableContext",
3082
3110
  "useSortable",
3083
3111
  "verticalListSortingStrategy"
3084
3112
  ];
3085
- function ma(e, t) {
3086
- const n = [], a = e ?? {};
3087
- for (const s of da)
3088
- a[s] === void 0 && n.push(`@dnd-kit/core:${s}`);
3113
+ function vn(e, t) {
3114
+ const a = [], n = e ?? {};
3115
+ for (const s of hn)
3116
+ n[s] === void 0 && a.push(`@dnd-kit/core:${s}`);
3089
3117
  const r = t ?? {};
3090
- for (const s of ua)
3091
- r[s] === void 0 && n.push(`@dnd-kit/sortable:${s}`);
3092
- return n.length === 0 ? { ok: !0 } : { ok: !1, missing: n };
3118
+ for (const s of bn)
3119
+ r[s] === void 0 && a.push(`@dnd-kit/sortable:${s}`);
3120
+ return a.length === 0 ? { ok: !0 } : { ok: !1, missing: a };
3093
3121
  }
3094
- function ga() {
3095
- return se ? Promise.resolve(se) : be ? Promise.resolve(null) : de || (de = (async () => {
3122
+ function yn() {
3123
+ return ue ? Promise.resolve(ue) : Ce ? Promise.resolve(null) : he || (he = (async () => {
3096
3124
  try {
3097
- const [e, t, n] = await Promise.all([
3125
+ const [e, t, a] = await Promise.all([
3098
3126
  import("@dnd-kit/core"),
3099
3127
  import("@dnd-kit/sortable"),
3100
3128
  import("@dnd-kit/utilities").catch(() => (process.env.NODE_ENV !== "production" && console.warn(
3101
3129
  "SortableZones: @dnd-kit/utilities failed to load; drag-overlay positioning will fall back (items may teleport instead of slide)."
3102
3130
  ), {}))
3103
- ]), a = ma(e, t);
3104
- return a.ok ? (se = {
3131
+ ]), n = vn(e, t);
3132
+ return n.ok ? (ue = {
3105
3133
  core: e,
3106
3134
  sortable: t,
3107
- utilities: n
3108
- }, se) : (be = !0, process.env.NODE_ENV !== "production" && console.error(
3109
- `SortableZones: @dnd-kit shape mismatch — missing exports: ${a.missing.join(", ")}. Check installed versions against optionalDependencies in @mt-gloss/ui.`
3135
+ utilities: a
3136
+ }, ue) : (Ce = !0, process.env.NODE_ENV !== "production" && console.error(
3137
+ `SortableZones: @dnd-kit shape mismatch — missing exports: ${n.missing.join(", ")}. Check installed versions against optionalDependencies in @mt-gloss/ui.`
3110
3138
  ), null);
3111
3139
  } catch {
3112
- return be = !0, null;
3140
+ return Ce = !0, null;
3113
3141
  }
3114
- })(), de);
3142
+ })(), he);
3115
3143
  }
3116
- function pa(e) {
3117
- const { zones: t, onZoneChange: n, renderZone: a, renderItem: r, renderDragOverlay: s } = e, o = ca({ zones: t, onZoneChange: n }), [c, f] = W.useState(se);
3118
- return W.useEffect(() => {
3144
+ function wn(e) {
3145
+ const { zones: t, onZoneChange: a, renderZone: n, renderItem: r, renderDragOverlay: s } = e, o = fn({ zones: t, onZoneChange: a }), [c, f] = V.useState(ue);
3146
+ return V.useEffect(() => {
3119
3147
  if (c) return;
3120
3148
  let d = !0;
3121
- return ga().then((g) => {
3122
- d && f(g);
3149
+ return yn().then((p) => {
3150
+ d && f(p);
3123
3151
  }), () => {
3124
3152
  d = !1;
3125
3153
  };
3126
3154
  }, [c]), c ? /* @__PURE__ */ l(
3127
- He,
3155
+ qe,
3128
3156
  {
3129
3157
  state: o,
3130
3158
  modules: c,
3131
- renderZone: a,
3159
+ renderZone: n,
3132
3160
  renderItem: r,
3133
3161
  renderDragOverlay: s
3134
3162
  }
3135
3163
  ) : /* @__PURE__ */ l("div", { "data-sortable-zones-passive": "true", children: o.zones.map((d) => {
3136
- const g = d.items.map((w) => /* @__PURE__ */ l(W.Fragment, { children: r(w) }, w.id));
3137
- return /* @__PURE__ */ l("div", { ...o.getZoneProps(d.zoneKey), children: a(d.zoneKey, d.items, g) }, d.zoneKey);
3164
+ const p = d.items.map((h) => /* @__PURE__ */ l(V.Fragment, { children: r(h) }, h.id));
3165
+ return /* @__PURE__ */ l("div", { ...o.getZoneProps(d.zoneKey), children: n(d.zoneKey, d.items, p) }, d.zoneKey);
3138
3166
  }) });
3139
3167
  }
3140
- pa.displayName = "SortableZones";
3141
- function He({
3168
+ wn.displayName = "SortableZones";
3169
+ function qe({
3142
3170
  state: e,
3143
3171
  modules: t,
3144
- renderZone: n,
3145
- renderItem: a,
3172
+ renderZone: a,
3173
+ renderItem: n,
3146
3174
  renderDragOverlay: r
3147
3175
  }) {
3148
- const { core: s, sortable: o, utilities: c } = t, { DndContext: f, DragOverlay: d, useSensors: g, useSensor: w, useDroppable: u, PointerSensor: m, KeyboardSensor: h, closestCenter: _ } = s, { SortableContext: p, verticalListSortingStrategy: S } = o, I = g(
3149
- w(m, { activationConstraint: { distance: 5 } }),
3150
- w(h)
3151
- ), C = f, M = d, R = p;
3176
+ const { core: s, sortable: o, utilities: c } = t, { DndContext: f, DragOverlay: d, useSensors: p, useSensor: h, useDroppable: u, PointerSensor: m, KeyboardSensor: N, closestCenter: y } = s, { SortableContext: g, verticalListSortingStrategy: S } = o, I = p(
3177
+ h(m, { activationConstraint: { distance: 5 } }),
3178
+ h(N)
3179
+ ), _ = f, M = d, T = g;
3152
3180
  return /* @__PURE__ */ O(
3153
- C,
3181
+ _,
3154
3182
  {
3155
3183
  sensors: I,
3156
- collisionDetection: _,
3184
+ collisionDetection: y,
3157
3185
  onDragStart: e.handleDragStart,
3158
3186
  onDragOver: e.handleDragOver,
3159
3187
  onDragEnd: e.handleDragEnd,
3160
3188
  children: [
3161
3189
  e.zones.map((i) => {
3162
3190
  const b = i.items.map((x) => x.id), D = i.items.map((x) => /* @__PURE__ */ l(
3163
- Ve,
3191
+ Qe,
3164
3192
  {
3165
3193
  id: x.id,
3166
3194
  useSortable: o.useSortable,
3167
3195
  cssHelper: c.CSS,
3168
- children: a(x)
3196
+ children: n(x)
3169
3197
  },
3170
3198
  x.id
3171
3199
  ));
3172
3200
  return /* @__PURE__ */ l(
3173
- je,
3201
+ Xe,
3174
3202
  {
3175
3203
  zoneKey: i.zoneKey,
3176
3204
  zoneProps: e.getZoneProps(i.zoneKey),
3177
3205
  useDroppable: u,
3178
- children: /* @__PURE__ */ l(R, { items: b, strategy: S, children: n(i.zoneKey, i.items, D) })
3206
+ children: /* @__PURE__ */ l(T, { items: b, strategy: S, children: a(i.zoneKey, i.items, D) })
3179
3207
  },
3180
3208
  i.zoneKey
3181
3209
  );
3182
3210
  }),
3183
- /* @__PURE__ */ l(M, { children: e.activeItem ? r?.(e.activeItem) ?? a(e.activeItem) : null })
3211
+ /* @__PURE__ */ l(M, { children: e.activeItem ? r?.(e.activeItem) ?? n(e.activeItem) : null })
3184
3212
  ]
3185
3213
  }
3186
3214
  );
3187
3215
  }
3188
- He.displayName = "SortableZonesInner";
3189
- function Ve({ id: e, useSortable: t, cssHelper: n, children: a }) {
3190
- const { attributes: r, listeners: s, setNodeRef: o, transform: c, transition: f, isDragging: d } = t({ id: e }), g = {
3191
- transform: n?.Transform?.toString(c) ?? void 0,
3216
+ qe.displayName = "SortableZonesInner";
3217
+ function Qe({ id: e, useSortable: t, cssHelper: a, children: n }) {
3218
+ const { attributes: r, listeners: s, setNodeRef: o, transform: c, transition: f, isDragging: d } = t({ id: e }), p = {
3219
+ transform: a?.Transform?.toString(c) ?? void 0,
3192
3220
  transition: f,
3193
3221
  opacity: d ? 0.5 : 1
3194
3222
  };
3195
- return /* @__PURE__ */ l("div", { ref: o, style: g, "data-sortable-item-id": e, ...r, ...s, children: a });
3223
+ return /* @__PURE__ */ l("div", { ref: o, style: p, "data-sortable-item-id": e, ...r, ...s, children: n });
3196
3224
  }
3197
- Ve.displayName = "SortableItem";
3198
- function je({
3225
+ Qe.displayName = "SortableItem";
3226
+ function Xe({
3199
3227
  zoneKey: e,
3200
3228
  zoneProps: t,
3201
- useDroppable: n,
3202
- children: a
3229
+ useDroppable: a,
3230
+ children: n
3203
3231
  }) {
3204
- const { setNodeRef: r, isOver: s } = n({ id: e });
3205
- return /* @__PURE__ */ l("div", { ref: r, "data-zone-is-over": s || void 0, ...t, children: a });
3232
+ const { setNodeRef: r, isOver: s } = a({ id: e });
3233
+ return /* @__PURE__ */ l("div", { ref: r, "data-zone-is-over": s || void 0, ...t, children: n });
3206
3234
  }
3207
- je.displayName = "ZoneDroppable";
3208
- function On({
3235
+ Xe.displayName = "ZoneDroppable";
3236
+ function za({
3209
3237
  slotLeft: e,
3210
3238
  slotCenter: t,
3211
- slotRight: n,
3212
- height: a = 36,
3239
+ slotRight: a,
3240
+ height: n = 36,
3213
3241
  className: r,
3214
3242
  style: s,
3215
3243
  "aria-label": o = "Dashboard navigation"
3216
3244
  }) {
3217
3245
  const c = {
3218
- "--gloss-bottom-toolbar-height": `${a}px`,
3246
+ "--gloss-bottom-toolbar-height": `${n}px`,
3219
3247
  ...s
3220
3248
  };
3221
3249
  return /* @__PURE__ */ O(
@@ -3248,384 +3276,384 @@ function On({
3248
3276
  {
3249
3277
  className: "gloss-bottom-toolbar__slot gloss-bottom-toolbar__slot--right",
3250
3278
  "data-slot": "right",
3251
- children: n
3279
+ children: a
3252
3280
  }
3253
3281
  )
3254
3282
  ]
3255
3283
  }
3256
3284
  );
3257
3285
  }
3258
- function An({
3286
+ function Ka({
3259
3287
  count: e,
3260
3288
  currentIndex: t,
3261
- onSelect: n,
3262
- "aria-label": a = "Sections",
3289
+ onSelect: a,
3290
+ "aria-label": n = "Sections",
3263
3291
  provisionalIndex: r,
3264
3292
  pulseIndex: s,
3265
3293
  pulseNonce: o
3266
3294
  }) {
3267
- const c = Je.useRef([]);
3295
+ const c = rt.useRef([]);
3268
3296
  return c.current.length = e, /* @__PURE__ */ l(
3269
3297
  "div",
3270
3298
  {
3271
3299
  role: "tablist",
3272
- "aria-label": a,
3300
+ "aria-label": n,
3273
3301
  "data-testid": "gloss-section-dots",
3274
3302
  className: "gloss-section-dots",
3275
3303
  onKeyDown: (d) => {
3276
3304
  if (e !== 0) {
3277
3305
  if (d.key === "ArrowRight") {
3278
3306
  d.preventDefault();
3279
- const g = (t + 1) % e;
3280
- n(g), requestAnimationFrame(() => c.current[g]?.focus());
3307
+ const p = (t + 1) % e;
3308
+ a(p), requestAnimationFrame(() => c.current[p]?.focus());
3281
3309
  } else if (d.key === "ArrowLeft") {
3282
3310
  d.preventDefault();
3283
- const g = (t - 1 + e) % e;
3284
- n(g), requestAnimationFrame(() => c.current[g]?.focus());
3311
+ const p = (t - 1 + e) % e;
3312
+ a(p), requestAnimationFrame(() => c.current[p]?.focus());
3285
3313
  }
3286
3314
  }
3287
3315
  },
3288
- children: Array.from({ length: e }, (d, g) => /* @__PURE__ */ l(
3316
+ children: Array.from({ length: e }, (d, p) => /* @__PURE__ */ l(
3289
3317
  "button",
3290
3318
  {
3291
- ref: (w) => {
3292
- c.current[g] = w;
3319
+ ref: (h) => {
3320
+ c.current[p] = h;
3293
3321
  },
3294
3322
  type: "button",
3295
3323
  role: "tab",
3296
- "aria-selected": g === t,
3297
- "aria-label": g === r ? "Unconfirmed section" : `Section ${g + 1}`,
3298
- "data-state": g === r ? "provisional-hollow" : g === s ? "pulse" : g === t ? "current" : "hollow",
3299
- "data-section-index": g,
3324
+ "aria-selected": p === t,
3325
+ "aria-label": p === r ? "Unconfirmed section" : `Section ${p + 1}`,
3326
+ "data-state": p === r ? "provisional-hollow" : p === s ? "pulse" : p === t ? "current" : "hollow",
3327
+ "data-section-index": p,
3300
3328
  className: [
3301
3329
  "gloss-section-dots__dot",
3302
- g === t && "gloss-section-dots__dot--current"
3330
+ p === t && "gloss-section-dots__dot--current"
3303
3331
  ].filter(Boolean).join(" "),
3304
- onClick: () => n(g)
3332
+ onClick: () => a(p)
3305
3333
  },
3306
- g === s ? `${g}-${o ?? 0}` : g
3334
+ p === s ? `${p}-${o ?? 0}` : p
3307
3335
  ))
3308
3336
  }
3309
3337
  );
3310
3338
  }
3311
- const fa = W.forwardRef(({ density: e = "compact", children: t, ...n }, a) => {
3312
- const r = { ...n };
3313
- return delete r.className, delete r.style, /* @__PURE__ */ l("div", { ref: a, className: "gloss-container-toolbar", role: "toolbar", ...r, children: /* @__PURE__ */ l(_e, { region: "toolbar", density: e, children: t }) });
3339
+ const Dn = V.forwardRef(({ density: e = "compact", children: t, ...a }, n) => {
3340
+ const r = { ...a };
3341
+ return delete r.className, delete r.style, /* @__PURE__ */ l("div", { ref: n, className: "gloss-container-toolbar", role: "toolbar", ...r, children: /* @__PURE__ */ l(Re, { region: "toolbar", density: e, children: t }) });
3314
3342
  });
3315
- fa.displayName = "ContainerToolbar";
3316
- const ha = W.forwardRef(({ legend: e, description: t, density: n = "default", children: a, ...r }, s) => {
3343
+ Dn.displayName = "ContainerToolbar";
3344
+ const Nn = V.forwardRef(({ legend: e, description: t, density: a = "default", children: n, ...r }, s) => {
3317
3345
  const o = { ...r };
3318
3346
  return delete o.className, delete o.style, /* @__PURE__ */ O("fieldset", { ref: s, className: "gloss-container-form-section", ...o, children: [
3319
3347
  e && /* @__PURE__ */ l("legend", { className: "gloss-container-form-section__legend", children: e }),
3320
3348
  t && /* @__PURE__ */ l("p", { className: "gloss-container-form-section__description", children: t }),
3321
- /* @__PURE__ */ l(_e, { region: "form-section", density: n, children: a })
3349
+ /* @__PURE__ */ l(Re, { region: "form-section", density: a, children: n })
3322
3350
  ] });
3323
3351
  });
3324
- ha.displayName = "ContainerFormSection";
3325
- const ba = W.forwardRef(({ density: e = "compact", children: t, ...n }, a) => {
3326
- const r = { ...n };
3327
- return delete r.className, delete r.style, /* @__PURE__ */ l("div", { ref: a, className: "gloss-container-table", ...r, children: /* @__PURE__ */ l(_e, { region: "table", density: e, children: t }) });
3352
+ Nn.displayName = "ContainerFormSection";
3353
+ const Cn = V.forwardRef(({ density: e = "compact", children: t, ...a }, n) => {
3354
+ const r = { ...a };
3355
+ return delete r.className, delete r.style, /* @__PURE__ */ l("div", { ref: n, className: "gloss-container-table", ...r, children: /* @__PURE__ */ l(Re, { region: "table", density: e, children: t }) });
3328
3356
  });
3329
- ba.displayName = "ContainerTable";
3357
+ Cn.displayName = "ContainerTable";
3330
3358
  export {
3331
- Bn as Accordion,
3332
- zn as AccordionContent,
3333
- Kn as AccordionItem,
3334
- Gn as AccordionTrigger,
3335
- Wn as ActionStrip,
3336
- Hn as Actionable,
3337
- Vn as AddressGroup,
3338
- jn as AddressSelect,
3339
- Un as AsyncLoader,
3340
- Zn as Autocomplete,
3341
- Yn as Badge,
3342
- qn as BarChartCard,
3343
- Qn as BarsBg,
3344
- On as BottomToolbar,
3345
- Xn as Button,
3346
- Jn as ButtonGroup,
3347
- er as ButtonGroupContext,
3348
- tr as Card,
3349
- ar as CardActions,
3350
- nr as CardBack,
3351
- rr as CardBody,
3352
- sr as CardFooter,
3353
- or as CardHeader,
3354
- ir as CardMedia,
3355
- lr as CardShell,
3356
- cr as CardSubtitle,
3357
- dr as CardTitle,
3358
- En as CascadePreview,
3359
- ur as ChartControlBar,
3360
- mr as Checkbox,
3361
- gr as CheckboxGroup,
3362
- pr as Chip,
3363
- fr as ColorPicker,
3364
- hr as ComparisonCard,
3365
- br as ContactForm,
3366
- vr as ContainerCard,
3367
- yr as ContainerCardActions,
3368
- wr as ContainerCardBody,
3369
- Dr as ContainerCardFooter,
3370
- Nr as ContainerCardHeader,
3371
- Cr as ContainerCardMedia,
3372
- _r as ContainerCardSubtitle,
3373
- kr as ContainerCardTitle,
3374
- xr as ContainerDialog,
3375
- Sr as ContainerDialogActions,
3376
- Mr as ContainerDialogBody,
3377
- Tr as ContainerDialogHeader,
3378
- ha as ContainerFormSection,
3379
- Rr as ContainerPanel,
3380
- ba as ContainerTable,
3381
- fa as ContainerToolbar,
3382
- Ir as CreditCardForm,
3383
- Pr as DEFAULT_FOOTER_IDS,
3359
+ Ha as Accordion,
3360
+ Va as AccordionContent,
3361
+ ja as AccordionItem,
3362
+ Ua as AccordionTrigger,
3363
+ Za as ActionStrip,
3364
+ Ya as Actionable,
3365
+ qa as AddressGroup,
3366
+ Qa as AddressSelect,
3367
+ Xa as AsyncLoader,
3368
+ Ja as Autocomplete,
3369
+ er as Badge,
3370
+ tr as BarChartCard,
3371
+ nr as BarsBg,
3372
+ za as BottomToolbar,
3373
+ ar as Button,
3374
+ rr as ButtonGroup,
3375
+ sr as ButtonGroupContext,
3376
+ or as Card,
3377
+ ir as CardActions,
3378
+ lr as CardBack,
3379
+ cr as CardBody,
3380
+ dr as CardFooter,
3381
+ ur as CardHeader,
3382
+ mr as CardMedia,
3383
+ gr as CardShell,
3384
+ pr as CardSubtitle,
3385
+ fr as CardTitle,
3386
+ Ba as CascadePreview,
3387
+ hr as ChartControlBar,
3388
+ br as Checkbox,
3389
+ vr as CheckboxGroup,
3390
+ yr as Chip,
3391
+ wr as ColorPicker,
3392
+ Dr as ComparisonCard,
3393
+ Nr as ContactForm,
3394
+ Cr as ContainerCard,
3395
+ _r as ContainerCardActions,
3396
+ kr as ContainerCardBody,
3397
+ xr as ContainerCardFooter,
3398
+ Sr as ContainerCardHeader,
3399
+ Mr as ContainerCardMedia,
3400
+ Tr as ContainerCardSubtitle,
3401
+ Rr as ContainerCardTitle,
3402
+ Ir as ContainerDialog,
3403
+ Pr as ContainerDialogActions,
3404
+ Fr as ContainerDialogBody,
3405
+ Er as ContainerDialogHeader,
3406
+ Nn as ContainerFormSection,
3407
+ Or as ContainerPanel,
3408
+ Cn as ContainerTable,
3409
+ Dn as ContainerToolbar,
3410
+ Ar as CreditCardForm,
3411
+ Lr as DEFAULT_FOOTER_IDS,
3384
3412
  ae as DEFAULT_GRID_INTERACTION_PHYSICS,
3385
- oi as DEFAULT_MARKET_PRESETS,
3386
- Fr as DEFAULT_OVERFLOW_IDS,
3387
- ii as DEFAULT_PINNED,
3388
- Le as DEFAULT_RESIZE_PHYSICS,
3389
- Er as DataTable,
3390
- Or as DatePicker,
3391
- Ar as DateRangePicker,
3392
- Lr as DestructiveModal,
3393
- qt as DevTuningPanel,
3394
- $r as DirectionCard,
3395
- Br as Dismissible,
3396
- zr as DistributionCard,
3397
- Kr as DonutChart,
3398
- Pn as DragGhost,
3399
- Mn as DropAnchorCell,
3400
- Gr as Dropdown,
3401
- Wr as ENTITY_FILTER_KEYS,
3402
- Hr as ENTITY_PROFILE_ROUTES,
3403
- Vr as ENTITY_TYPE_PLURAL,
3404
- wt as EdgeHoverHandle,
3405
- In as EmptyCellPackAffordance,
3406
- jr as EntityPicker,
3407
- Ur as EntitySearchPanel,
3408
- Zr as Expandable,
3409
- Yr as ExpandableChip,
3410
- qr as FLIP_AND_STAGE_TIMINGS,
3411
- Qr as FileUpload,
3412
- Xr as FilterChip,
3413
- Jr as FilterInput,
3414
- es as FlipAndStageProvider,
3415
- ts as Form,
3416
- as as FormDialog,
3417
- ns as FormField,
3418
- rs as FusedShape,
3419
- Dt as GhostPreview,
3420
- ss as GroupCheckbox,
3421
- os as GroupRadio,
3422
- Va as HARD_CLIP,
3423
- is as HighlightCard,
3424
- ls as HybridDatePicker,
3425
- cs as ImportWizard,
3426
- ea as InlineNudge,
3427
- ds as Input,
3428
- us as InputAddon,
3429
- ms as InputGroup,
3430
- gs as Link,
3431
- ps as LoginForm,
3432
- fs as MarketPresetRow,
3433
- hs as MaskPresets,
3434
- bs as MaskedInput,
3435
- vs as Menu,
3436
- ys as MenuDivider,
3437
- ws as MenuGroup,
3438
- Ds as MenuItem,
3439
- Ns as MergePrompt,
3440
- Cs as MetricCard,
3441
- _s as MetricCardGrid,
3442
- Kt as MetricGroupContainer,
3443
- ks as MiniCalendar,
3444
- xs as MultiSelect,
3445
- Ss as NumberInput,
3446
- Ms as ObjectArrow,
3447
- Ts as OrderFilterBar,
3448
- li as PERIOD_OPTIONS,
3449
- Tt as PageChip,
3450
- $e as PageDropdown,
3451
- Rs as PasswordInput,
3452
- Is as PaymentForm,
3453
- Ps as PaymentMethodSelect,
3454
- Fs as PhoneInput,
3455
- Es as PinToMetric,
3456
- oa as PresetSwatchRow,
3457
- Os as ProfileCard,
3458
- As as ProgressCard,
3459
- Ls as QuickConfigPanel,
3460
- At as RECONFIG_BACKSIDE_LABELS,
3461
- ci as ROLLING_OPTIONS,
3462
- $s as Radio,
3463
- Bs as RadioGroup,
3464
- zs as RangeSlider,
3465
- Ks as Rating,
3466
- Bt as ReconfigBacksideButtons,
3467
- Gs as RegistrationForm,
3468
- Sn as ResizeEnvelope,
3469
- Ws as Row1Controls,
3470
- Hs as Row2FilterTray,
3471
- Vs as SearchInput,
3472
- Rn as SectionDivider,
3473
- An as SectionDots,
3474
- js as SegmentCard,
3475
- Us as SegmentedControl,
3476
- Zs as Select,
3477
- Ys as Selectable,
3478
- qs as SimpleMetricCard,
3479
- Qs as SimpleSelector,
3480
- Xs as Skeleton,
3481
- Js as SkeletonCard,
3482
- eo as SkeletonChart,
3483
- to as SkeletonTable,
3484
- ao as Slider,
3485
- Fn as SnapOutline,
3486
- no as Sortable,
3487
- pa as SortableZones,
3488
- ro as SparklineBg,
3489
- Tn as SpilloverArc,
3490
- so as SplitButton,
3491
- oo as StackedGroupCard,
3492
- io as StatusModeCard,
3493
- yt as StatusSlotChipMenu,
3494
- lo as Stepper,
3495
- Ae as SwingReveal,
3496
- di as TODAY_PRESET,
3497
- te as TUNING_DEFAULTS,
3498
- Ge as TUNING_STORAGE_KEY,
3499
- co as TabGroup,
3500
- uo as TabbedDataView,
3501
- mo as TagInput,
3502
- go as Textarea,
3503
- na as ThresholdRamp,
3504
- po as TimeFrame,
3505
- fo as TimePicker,
3506
- ho as Toggle,
3507
- bo as Tooltip,
3508
- vo as Transition,
3509
- yo as TransitionGroup,
3510
- wo as TrendCard,
3511
- Do as TrendIndicator,
3512
- ni as UIContext,
3513
- _e as UIContextProvider,
3514
- No as UnifiedBreakdownTable,
3515
- Co as UnifiedContextMenu,
3516
- Nt as VelocityBuffer,
3517
- _o as addressGroupMetadata,
3518
- ko as addressSchema,
3519
- Ia as allChips,
3520
- Qa as allStateFixtures,
3521
- qa as allVariantFixtures,
3522
- Oa as blockSamples,
3523
- xo as buildDefaultOverflow,
3524
- za as cardSamples,
3525
- Ka as cascadePhysics,
3526
- $a as chartSamples,
3527
- La as circleSamples,
3528
- ja as colorTokens,
3529
- wn as compactLayout,
3530
- cn as compactState,
3531
- Ya as computeGutterAnchorX,
3532
- So as contactFormMetadata,
3533
- Mo as contactSchema,
3534
- dn as contextMenuFixtures,
3535
- To as creditCardFormMetadata,
3536
- Ro as creditCardSchema,
3537
- ft as dateChip,
3538
- Ke as defaultControlBarState,
3539
- Io as destructiveModalMetadata,
3540
- Po as durations,
3541
- Fo as easings,
3542
- kt as emptyFixture,
3543
- gt as entityChip,
3544
- Ft as entityNameActions,
3545
- Fa as entityTabGroup,
3546
- _t as errorFixture,
3547
- ln as filteredState,
3548
- ui as findPreset,
3549
- mi as formatDateRange,
3550
- gi as formatMarketDates,
3551
- pi as formatTrend,
3552
- fi as formatValue,
3553
- Nn as fullLayout,
3554
- hi as generateMarketId,
3555
- Eo as generateTabId,
3556
- bi as getAllPresets,
3557
- vi as getDateRangeForPreset,
3558
- Oo as getMenuActions,
3559
- Ua as getMotionMode,
3560
- yi as getPresetLabel,
3561
- Ao as getTransitionStyle,
3562
- yn as gridCards,
3563
- Lo as interpolate,
3564
- wi as isInRange,
3565
- Di as isMarketActive,
3566
- Ni as isSameDay,
3567
- on as itemColumns,
3568
- rn as itemRows,
3569
- Ct as loadingFixture,
3570
- $o as loginFormMetadata,
3571
- Bo as loginSchema,
3572
- ht as manufacturerChip,
3573
- xn as manyTabs,
3574
- zo as mergeHandlers,
3575
- Ko as mergeRefs,
3576
- Pa as metricTabGroup,
3577
- _n as mixedTabs,
3578
- Ci as normalizePresetId,
3579
- Ot as numericActions,
3580
- sn as orderColumns,
3581
- Et as orderIdActions,
3582
- nn as orderRows,
3583
- Cn as ordersTabs,
3584
- Go as parseNumericValue,
3585
- Wo as paymentFormMetadata,
3586
- Ho as paymentSchema,
3587
- Vo as presets,
3588
- Wa as provisional,
3589
- Ha as reducedMotion,
3590
- jo as registrationFormMetadata,
3591
- Uo as registrationSchema,
3592
- Ga as rejectionFeedback,
3593
- mn as sampleCompareRanges,
3594
- fn as sampleCustomMarkets,
3595
- un as sampleDateRange,
3596
- hn as sampleMarketPresetData,
3597
- pn as sampleMarkets,
3598
- vn as samplePeriodPresets,
3599
- gn as samplePreferences,
3600
- bn as samplePresets,
3601
- kn as singleTab,
3602
- Xa as sparklineFixture,
3603
- Ja as sparklineUpFixture,
3604
- Mt as staleDonutFixture,
3605
- xt as staleFixture,
3606
- St as staleSparklineFixture,
3607
- en as standardFixture,
3608
- an as standardFlatFixture,
3609
- Dn as standardLayout,
3610
- tn as standardNegativeFixture,
3611
- pt as statusChip,
3612
- re as swingReveal,
3613
- Ba as tableSamples,
3614
- Aa as textSamples,
3615
- Ea as timeFrameTabGroup,
3616
- _i as toUppercasePresetId,
3617
- Ra as useArrowNavigation,
3618
- Zo as useCheckboxGroupContext,
3619
- Za as useEdgeHoverResize,
3620
- Yo as useFilterLayout,
3621
- qo as useFlipAndStage,
3622
- Qo as useFlipAndStageContext,
3623
- Xo as useFlipAndStageContextOptional,
3624
- Ta as useFocusReturn,
3625
- Jo as useFocusTrap,
3626
- ei as useFormContext,
3627
- ti as useRadioGroupContext,
3628
- Ht as useResizeTuning,
3629
- ca as useSortableZones,
3630
- ri as useUIContext
3413
+ ui as DEFAULT_MARKET_PRESETS,
3414
+ $r as DEFAULT_OVERFLOW_IDS,
3415
+ mi as DEFAULT_PINNED,
3416
+ Ge as DEFAULT_RESIZE_PHYSICS,
3417
+ Br as DataTable,
3418
+ zr as DatePicker,
3419
+ Kr as DateRangePicker,
3420
+ Wr as DestructiveModal,
3421
+ tn as DevTuningPanel,
3422
+ Gr as DirectionCard,
3423
+ Hr as Dismissible,
3424
+ Vr as DistributionCard,
3425
+ jr as DonutChart,
3426
+ La as DragGhost,
3427
+ Fa as DropAnchorCell,
3428
+ Ur as Dropdown,
3429
+ Zr as ENTITY_FILTER_KEYS,
3430
+ Yr as ENTITY_PROFILE_ROUTES,
3431
+ qr as ENTITY_TYPE_PLURAL,
3432
+ kt as EdgeHoverHandle,
3433
+ Aa as EmptyCellPackAffordance,
3434
+ Qr as EntityPicker,
3435
+ Xr as EntitySearchPanel,
3436
+ Jr as Expandable,
3437
+ es as ExpandableChip,
3438
+ ts as FLIP_AND_STAGE_TIMINGS,
3439
+ ns as FileUpload,
3440
+ as as FilterChip,
3441
+ rs as FilterInput,
3442
+ ss as FlipAndStageProvider,
3443
+ os as Form,
3444
+ is as FormDialog,
3445
+ ls as FormField,
3446
+ cs as FusedShape,
3447
+ xt as GhostPreview,
3448
+ ds as GroupCheckbox,
3449
+ us as GroupRadio,
3450
+ Qn as HARD_CLIP,
3451
+ ms as HighlightCard,
3452
+ gs as HybridDatePicker,
3453
+ ps as ImportWizard,
3454
+ sn as InlineNudge,
3455
+ fs as Input,
3456
+ hs as InputAddon,
3457
+ bs as InputGroup,
3458
+ vs as Link,
3459
+ ys as LoginForm,
3460
+ ws as MarketPresetRow,
3461
+ Ds as MaskPresets,
3462
+ Ns as MaskedInput,
3463
+ Cs as Menu,
3464
+ _s as MenuDivider,
3465
+ ks as MenuGroup,
3466
+ xs as MenuItem,
3467
+ Ss as MergePrompt,
3468
+ Ms as MetricCard,
3469
+ Ts as MetricCardGrid,
3470
+ jt as MetricGroupContainer,
3471
+ Rs as MiniCalendar,
3472
+ Is as MultiSelect,
3473
+ Ps as NumberInput,
3474
+ Fs as ObjectArrow,
3475
+ Es as OrderFilterBar,
3476
+ gi as PERIOD_OPTIONS,
3477
+ Et as PageChip,
3478
+ He as PageDropdown,
3479
+ Os as PasswordInput,
3480
+ As as PaymentForm,
3481
+ Ls as PaymentMethodSelect,
3482
+ $s as PhoneInput,
3483
+ Bs as PinToMetric,
3484
+ mn as PresetSwatchRow,
3485
+ zs as ProfileCard,
3486
+ Ks as ProgressCard,
3487
+ Ws as QuickConfigPanel,
3488
+ Kt as RECONFIG_BACKSIDE_LABELS,
3489
+ pi as ROLLING_OPTIONS,
3490
+ Gs as Radio,
3491
+ Hs as RadioGroup,
3492
+ Vs as RangeSlider,
3493
+ js as Rating,
3494
+ Ht as ReconfigBacksideButtons,
3495
+ Us as RegistrationForm,
3496
+ Pa as ResizeEnvelope,
3497
+ Zs as Row1Controls,
3498
+ Ys as Row2FilterTray,
3499
+ qs as SearchInput,
3500
+ Oa as SectionDivider,
3501
+ Ka as SectionDots,
3502
+ Qs as SegmentCard,
3503
+ Xs as SegmentedControl,
3504
+ Js as Select,
3505
+ eo as Selectable,
3506
+ to as SimpleMetricCard,
3507
+ no as SimpleSelector,
3508
+ ao as Skeleton,
3509
+ ro as SkeletonCard,
3510
+ so as SkeletonChart,
3511
+ oo as SkeletonTable,
3512
+ io as Slider,
3513
+ $a as SnapOutline,
3514
+ lo as Sortable,
3515
+ wn as SortableZones,
3516
+ co as SparklineBg,
3517
+ Ea as SpilloverArc,
3518
+ uo as SplitButton,
3519
+ mo as StackedGroupCard,
3520
+ go as StatusModeCard,
3521
+ _t as StatusSlotChipMenu,
3522
+ po as Stepper,
3523
+ We as SwingReveal,
3524
+ fi as TODAY_PRESET,
3525
+ ne as TUNING_DEFAULTS,
3526
+ Ze as TUNING_STORAGE_KEY,
3527
+ fo as TabGroup,
3528
+ ho as TabbedDataView,
3529
+ bo as TagInput,
3530
+ vo as Textarea,
3531
+ cn as ThresholdRamp,
3532
+ yo as TimeFrame,
3533
+ wo as TimePicker,
3534
+ Do as Toggle,
3535
+ No as Tooltip,
3536
+ Co as Transition,
3537
+ _o as TransitionGroup,
3538
+ ko as TrendCard,
3539
+ xo as TrendIndicator,
3540
+ li as UIContext,
3541
+ Re as UIContextProvider,
3542
+ So as UnifiedBreakdownTable,
3543
+ Mo as UnifiedContextMenu,
3544
+ St as VelocityBuffer,
3545
+ To as addressGroupMetadata,
3546
+ Ro as addressSchema,
3547
+ Ln as allChips,
3548
+ aa as allStateFixtures,
3549
+ na as allVariantFixtures,
3550
+ Kn as blockSamples,
3551
+ Io as buildDefaultOverflow,
3552
+ jn as cardSamples,
3553
+ Un as cascadePhysics,
3554
+ Hn as chartSamples,
3555
+ Gn as circleSamples,
3556
+ Xn as colorTokens,
3557
+ ka as compactLayout,
3558
+ pa as compactState,
3559
+ ta as computeGutterAnchorX,
3560
+ Po as contactFormMetadata,
3561
+ Fo as contactSchema,
3562
+ fa as contextMenuFixtures,
3563
+ Eo as creditCardFormMetadata,
3564
+ Oo as creditCardSchema,
3565
+ wt as dateChip,
3566
+ Ue as defaultControlBarState,
3567
+ Ao as destructiveModalMetadata,
3568
+ Lo as durations,
3569
+ $o as easings,
3570
+ Rt as emptyFixture,
3571
+ vt as entityChip,
3572
+ $t as entityNameActions,
3573
+ Bn as entityTabGroup,
3574
+ Tt as errorFixture,
3575
+ ga as filteredState,
3576
+ hi as findPreset,
3577
+ bi as formatDateRange,
3578
+ vi as formatMarketDates,
3579
+ yi as formatTrend,
3580
+ wi as formatValue,
3581
+ Sa as fullLayout,
3582
+ Di as generateMarketId,
3583
+ Bo as generateTabId,
3584
+ Ni as getAllPresets,
3585
+ Ci as getDateRangeForPreset,
3586
+ zo as getMenuActions,
3587
+ Jn as getMotionMode,
3588
+ _i as getPresetLabel,
3589
+ Ko as getTransitionStyle,
3590
+ _a as gridCards,
3591
+ Wo as interpolate,
3592
+ ki as isInRange,
3593
+ xi as isMarketActive,
3594
+ Si as isSameDay,
3595
+ ma as itemColumns,
3596
+ da as itemRows,
3597
+ Mt as loadingFixture,
3598
+ Go as loginFormMetadata,
3599
+ Ho as loginSchema,
3600
+ Dt as manufacturerChip,
3601
+ Ia as manyTabs,
3602
+ Vo as mergeHandlers,
3603
+ jo as mergeRefs,
3604
+ $n as metricTabGroup,
3605
+ Ta as mixedTabs,
3606
+ Mi as normalizePresetId,
3607
+ zt as numericActions,
3608
+ ua as orderColumns,
3609
+ Bt as orderIdActions,
3610
+ ca as orderRows,
3611
+ Ma as ordersTabs,
3612
+ Uo as parseNumericValue,
3613
+ Zo as paymentFormMetadata,
3614
+ Yo as paymentSchema,
3615
+ qo as presets,
3616
+ Yn as provisional,
3617
+ qn as reducedMotion,
3618
+ Qo as registrationFormMetadata,
3619
+ Xo as registrationSchema,
3620
+ Zn as rejectionFeedback,
3621
+ ba as sampleCompareRanges,
3622
+ wa as sampleCustomMarkets,
3623
+ ha as sampleDateRange,
3624
+ Da as sampleMarketPresetData,
3625
+ ya as sampleMarkets,
3626
+ Ca as samplePeriodPresets,
3627
+ va as samplePreferences,
3628
+ Na as samplePresets,
3629
+ Ra as singleTab,
3630
+ ra as sparklineFixture,
3631
+ sa as sparklineUpFixture,
3632
+ Ft as staleDonutFixture,
3633
+ It as staleFixture,
3634
+ Pt as staleSparklineFixture,
3635
+ oa as standardFixture,
3636
+ la as standardFlatFixture,
3637
+ xa as standardLayout,
3638
+ ia as standardNegativeFixture,
3639
+ yt as statusChip,
3640
+ de as swingReveal,
3641
+ Vn as tableSamples,
3642
+ Wn as textSamples,
3643
+ zn as timeFrameTabGroup,
3644
+ Ti as toUppercasePresetId,
3645
+ An as useArrowNavigation,
3646
+ Jo as useCheckboxGroupContext,
3647
+ ea as useEdgeHoverResize,
3648
+ ei as useFilterLayout,
3649
+ ti as useFlipAndStage,
3650
+ ni as useFlipAndStageContext,
3651
+ ai as useFlipAndStageContextOptional,
3652
+ On as useFocusReturn,
3653
+ ri as useFocusTrap,
3654
+ si as useFormContext,
3655
+ oi as useRadioGroupContext,
3656
+ Yt as useResizeTuning,
3657
+ fn as useSortableZones,
3658
+ ci as useUIContext
3631
3659
  };