@mt-gloss/ui 0.0.42 → 0.0.43

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,160 +1,161 @@
1
- import { N as Na, T as Sa, O as ka, Q as xa, a3 as Ta, b6 as Ia, az as Ra, ah as _a, Z as Ma, an as Pa, K as Fa, a8 as Ea, bo as Oa, P as Aa, B as La, a as $a, y as Ba, H as Ka, bi as Ga, F as Ha, J as za, A as Va, z as Wa, bh as Za, E as Ua, D as Ya, bx as qa, b as ja, C as Qa, L as Xa, o as Ja, ad as en, aN as tn, y as an, H as nn, F as rn, J as on, A as sn, z as ln, E as dn, D as cn, a$ as un, b2 as mn, b1 as pn, b0 as gn, b3 as bn, aC as fn, a5 as hn, a4 as vn, aq as yn, k as wn, m as Cn, aF as Dn, ab as Nn, b8 as Sn, a9 as kn, bp as xn, Y as Tn, bH as In, bG as Rn, bI as _n, ap as Mn, aQ as Pn, ba as Fn, bM as En, bv as On, n as An, am as Ln, bB as $n, bs as Bn, a0 as Kn, ar as Gn, a2 as Hn, bA as zn, G as Vn, d as Wn, aa as Zn, bJ as Un, aT as Yn, r as qn, v as jn, I as Qn, g as Xn, aw as Jn, bN as er, M as tr, w as ar, U as nr, X as rr, V as or, W as sr, as as ir, bg as lr, bP as dr, bL as cr, ao as ur, t as mr, bq as pr, aS as gr, aj as br, aK as fr, ag as hr, al as vr, au as yr, aR as wr, ac as Cr, at as Dr, c as Nr, R as Sr, j as kr, p as xr, aH as Tr, by as Ir, bz as Rr, ai as _r, ae as Mr, h as Pr, x as Fr, b7 as Er, af as Or, bO as Ar, bc as Lr, bf as $r, bd as Br, be as Kr, i as Gr, b9 as Hr, bn as zr, S as Vr, bk as Wr, bl as Zr, av as Ur, bb as Yr, bQ as qr, ak as jr, s as Qr, bK as Xr, l as Jr, f as eo, q as to, _ as ao, $ as no, a7 as ro, bj as oo, bw as so, bD as io, aA as lo, aB as co, a6 as uo, aO as mo, aP as po, aD as go, aE as bo, aG as fo, aV as ho, aW as vo, bF as yo, bE as wo, aY as Co, aZ as Do, ax as No, ay as So, b5 as ko, b4 as xo, a_ as To, aL as Io, aM as Ro, aX as _o, aI as Mo, aJ as Po, u as Fo, bC as Eo, br as Oo, bt as Ao, bu as Lo, aU as $o, a1 as Bo, e as Ko, bm as Go } from "./Expandable-BdC9RXOI.js";
2
- import { jsxs as O, jsx as g } from "react/jsx-runtime";
3
- import F, { useRef as M, useEffect as P, useState as E, useCallback as y, forwardRef as ve, useMemo as ee, createContext as ye, useContext as we } from "react";
4
- import { B as Ce, U as te } from "./UIContext-C3E-k7HI.js";
5
- import { a as zo, u as Vo } from "./UIContext-C3E-k7HI.js";
6
- import { createPortal as De } from "react-dom";
7
- import { DEFAULT_MARKET_PRESETS as Zo, DEFAULT_PINNED as Uo, PERIOD_OPTIONS as Yo, ROLLING_OPTIONS as qo, TODAY_PRESET as jo, findPreset as Qo, formatDateRange as Xo, formatMarketDates as Jo, formatTrend as es, formatValue as ts, generateMarketId as as, getAllPresets as ns, getDateRangeForPreset as rs, getPresetLabel as os, isInRange as ss, isMarketActive as is, isSameDay as ls, normalizePresetId as ds, toUppercasePresetId as cs } from "@mt-gloss/utils";
8
- import Ne from "@mui/icons-material/AccessTime";
9
- import Se from "@mui/icons-material/Tune";
10
- import ke from "@mui/icons-material/ViewColumn";
11
- import xe from "@mui/icons-material/AspectRatio";
12
- import Te from "@mui/icons-material/Palette";
13
- import Ie from "@mui/icons-material/PushPin";
14
- function Mt(e = {}) {
1
+ import { N as Qa, T as Ja, O as en, Q as tn, a3 as an, b6 as nn, az as rn, ah as sn, Z as on, an as ln, K as dn, a8 as cn, bo as un, P as mn, B as pn, a as gn, y as fn, H as bn, bi as hn, F as vn, J as yn, A as wn, z as Dn, bh as Cn, E as Nn, D as kn, bx as Sn, b as xn, C as Tn, L as _n, o as In, ad as Rn, aN as Mn, y as Pn, H as Fn, F as En, J as On, A as An, z as Ln, E as $n, D as Bn, a$ as Kn, b2 as Gn, b1 as Vn, b0 as Hn, b3 as zn, aC as Wn, a5 as Zn, a4 as Un, aq as Yn, k as qn, m as jn, aF as Xn, ab as Qn, b8 as Jn, a9 as er, bp as tr, Y as ar, bH as nr, bG as rr, bI as sr, ap as or, aQ as ir, ba as lr, bM as dr, bv as cr, n as ur, am as mr, bB as pr, bs as gr, a0 as fr, ar as br, a2 as hr, bA as vr, G as yr, d as wr, aa as Dr, bJ as Cr, aT as Nr, r as kr, v as Sr, I as xr, g as Tr, aw as _r, bN as Ir, M as Rr, w as Mr, U as Pr, X as Fr, V as Er, W as Or, as as Ar, bg as Lr, bP as $r, bL as Br, ao as Kr, t as Gr, bq as Vr, aS as Hr, aj as zr, aK as Wr, ag as Zr, al as Ur, au as Yr, aR as qr, ac as jr, at as Xr, c as Qr, R as Jr, j as es, p as ts, aH as as, by as ns, bz as rs, ai as ss, ae as os, h as is, x as ls, b7 as ds, af as cs, bO as us, bc as ms, bf as ps, bd as gs, be as fs, i as bs, b9 as hs, bn as vs, S as ys, bk as ws, bl as Ds, av as Cs, bb as Ns, bQ as ks, ak as Ss, s as xs, bK as Ts, l as _s, f as Is, q as Rs, _ as Ms, $ as Ps, a7 as Fs, bj as Es, bw as Os, bD as As, aA as Ls, aB as $s, a6 as Bs, aO as Ks, aP as Gs, aD as Vs, aE as Hs, aG as zs, aV as Ws, aW as Zs, bF as Us, bE as Ys, aY as qs, aZ as js, ax as Xs, ay as Qs, b5 as Js, b4 as eo, a_ as to, aL as ao, aM as no, aX as ro, aI as so, aJ as oo, u as io, bC as lo, br as co, bt as uo, bu as mo, aU as po, a1 as go, e as fo, bm as bo } from "./Expandable-BdC9RXOI.js";
2
+ import { jsxs as O, jsx as u } from "react/jsx-runtime";
3
+ import K, { useRef as M, useEffect as A, useState as $, useCallback as h, forwardRef as Pe, useMemo as Q, createContext as Fe, useContext as Ee } from "react";
4
+ import { motion as De, useMotionValue as Oe, animate as fe, useDragControls as Ae } from "framer-motion";
5
+ import { B as Le, U as ge } from "./UIContext-C3E-k7HI.js";
6
+ import { a as vo, u as yo } from "./UIContext-C3E-k7HI.js";
7
+ import { createPortal as $e } from "react-dom";
8
+ import { DEFAULT_MARKET_PRESETS as Do, DEFAULT_PINNED as Co, PERIOD_OPTIONS as No, ROLLING_OPTIONS as ko, TODAY_PRESET as So, findPreset as xo, formatDateRange as To, formatMarketDates as _o, formatTrend as Io, formatValue as Ro, generateMarketId as Mo, getAllPresets as Po, getDateRangeForPreset as Fo, getPresetLabel as Eo, isInRange as Oo, isMarketActive as Ao, isSameDay as Lo, normalizePresetId as $o, toUppercasePresetId as Bo } from "@mt-gloss/utils";
9
+ import Be from "@mui/icons-material/AccessTime";
10
+ import Ke from "@mui/icons-material/Tune";
11
+ import Ge from "@mui/icons-material/ViewColumn";
12
+ import Ve from "@mui/icons-material/AspectRatio";
13
+ import He from "@mui/icons-material/Palette";
14
+ import ze from "@mui/icons-material/PushPin";
15
+ function oa(e = {}) {
15
16
  const { enabled: t = !0, returnTo: n } = e, a = M(null);
16
- return P(() => {
17
+ return A(() => {
17
18
  t && (a.current = n || document.activeElement);
18
- }, [t, n]), P(() => () => {
19
+ }, [t, n]), A(() => () => {
19
20
  t && a.current && setTimeout(() => {
20
21
  a.current?.focus?.();
21
22
  }, 0);
22
23
  }, [t]), a;
23
24
  }
24
- function Pt(e) {
25
+ function ia(e) {
25
26
  const {
26
27
  items: t,
27
28
  activeIndex: n,
28
29
  onActiveIndexChange: a,
29
- loop: o = !0,
30
- orientation: s = "vertical",
31
- enabled: l = !0,
32
- isItemDisabled: c,
30
+ loop: r = !0,
31
+ orientation: o = "vertical",
32
+ enabled: i = !0,
33
+ isItemDisabled: m,
33
34
  onSelect: b,
34
- onEscape: u
35
- } = e, [w, C] = E(-1), i = n !== void 0 ? n : w, d = y(
36
- (r) => {
37
- n === void 0 && C(r), a?.(r);
35
+ onEscape: d
36
+ } = e, [f, C] = $(-1), l = n !== void 0 ? n : f, c = h(
37
+ (s) => {
38
+ n === void 0 && C(s), a?.(s);
38
39
  },
39
40
  [n, a]
40
- ), S = y(() => t.map((r, p) => ({ item: r, index: p })).filter(({ item: r, index: p }) => !c?.(r, p)).map(({ index: r }) => r), [t, c]), k = y(
41
- (r, p) => {
42
- const f = S();
43
- if (f.length === 0) return -1;
44
- const D = f.indexOf(r);
45
- if (D === -1)
46
- return p === 1 ? f.find((R) => R > r) ?? (o ? f[0] : -1) : [...f].reverse().find((_) => _ < r) ?? (o ? f[f.length - 1] : -1);
47
- let N = D + p;
48
- return o ? N = (N + f.length) % f.length : N = Math.max(0, Math.min(f.length - 1, N)), f[N];
41
+ ), v = h(() => t.map((s, g) => ({ item: s, index: g })).filter(({ item: s, index: g }) => !m?.(s, g)).map(({ index: s }) => s), [t, m]), I = h(
42
+ (s, g) => {
43
+ const w = v();
44
+ if (w.length === 0) return -1;
45
+ const T = w.indexOf(s);
46
+ if (T === -1)
47
+ return g === 1 ? w.find((R) => R > s) ?? (r ? w[0] : -1) : [...w].reverse().find((P) => P < s) ?? (r ? w[w.length - 1] : -1);
48
+ let k = T + g;
49
+ return r ? k = (k + w.length) % w.length : k = Math.max(0, Math.min(w.length - 1, k)), w[k];
49
50
  },
50
- [S, o]
51
- ), m = y(() => {
52
- const r = S();
53
- r.length > 0 && d(r[0]);
54
- }, [S, d]), x = y(() => {
55
- const r = S();
56
- r.length > 0 && d(r[r.length - 1]);
57
- }, [S, d]), I = y(() => {
58
- const r = k(i, 1);
59
- r !== -1 && d(r);
60
- }, [i, k, d]), v = y(() => {
61
- const r = k(i, -1);
62
- r !== -1 && d(r);
63
- }, [i, k, d]), T = y(() => {
64
- d(-1);
65
- }, [d]), h = y(
66
- (r) => {
67
- if (!l) return;
68
- const { key: p } = r, f = p === "ArrowUp" && (s === "vertical" || s === "both"), D = p === "ArrowDown" && (s === "vertical" || s === "both"), N = p === "ArrowLeft" && (s === "horizontal" || s === "both"), R = p === "ArrowRight" && (s === "horizontal" || s === "both");
69
- if (f || N) {
70
- r.preventDefault(), i === -1 ? x() : v();
51
+ [v, r]
52
+ ), p = h(() => {
53
+ const s = v();
54
+ s.length > 0 && c(s[0]);
55
+ }, [v, c]), D = h(() => {
56
+ const s = v();
57
+ s.length > 0 && c(s[s.length - 1]);
58
+ }, [v, c]), S = h(() => {
59
+ const s = I(l, 1);
60
+ s !== -1 && c(s);
61
+ }, [l, I, c]), y = h(() => {
62
+ const s = I(l, -1);
63
+ s !== -1 && c(s);
64
+ }, [l, I, c]), _ = h(() => {
65
+ c(-1);
66
+ }, [c]), x = h(
67
+ (s) => {
68
+ if (!i) return;
69
+ const { key: g } = s, w = g === "ArrowUp" && (o === "vertical" || o === "both"), T = g === "ArrowDown" && (o === "vertical" || o === "both"), k = g === "ArrowLeft" && (o === "horizontal" || o === "both"), R = g === "ArrowRight" && (o === "horizontal" || o === "both");
70
+ if (w || k) {
71
+ s.preventDefault(), l === -1 ? D() : y();
71
72
  return;
72
73
  }
73
- if (D || R) {
74
- r.preventDefault(), i === -1 ? m() : I();
74
+ if (T || R) {
75
+ s.preventDefault(), l === -1 ? p() : S();
75
76
  return;
76
77
  }
77
- if (p === "Home") {
78
- r.preventDefault(), m();
78
+ if (g === "Home") {
79
+ s.preventDefault(), p();
79
80
  return;
80
81
  }
81
- if (p === "End") {
82
- r.preventDefault(), x();
82
+ if (g === "End") {
83
+ s.preventDefault(), D();
83
84
  return;
84
85
  }
85
- if ((p === "Enter" || p === " ") && i >= 0 && i < t.length) {
86
- r.preventDefault();
87
- const _ = t[i];
88
- c?.(_, i) || b?.(_, i);
86
+ if ((g === "Enter" || g === " ") && l >= 0 && l < t.length) {
87
+ s.preventDefault();
88
+ const P = t[l];
89
+ m?.(P, l) || b?.(P, l);
89
90
  return;
90
91
  }
91
- if (p === "Escape") {
92
- u?.();
92
+ if (g === "Escape") {
93
+ d?.();
93
94
  return;
94
95
  }
95
96
  },
96
97
  [
97
- l,
98
- s,
99
98
  i,
99
+ o,
100
+ l,
100
101
  t,
102
+ p,
103
+ D,
104
+ S,
105
+ y,
101
106
  m,
102
- x,
103
- I,
104
- v,
105
- c,
106
107
  b,
107
- u
108
+ d
108
109
  ]
109
110
  );
110
111
  return {
111
- focusedIndex: i,
112
- setFocusedIndex: d,
113
- handleKeyDown: h,
114
- focusFirst: m,
115
- focusLast: x,
116
- focusNext: I,
117
- focusPrevious: v,
118
- resetFocus: T
112
+ focusedIndex: l,
113
+ setFocusedIndex: c,
114
+ handleKeyDown: x,
115
+ focusFirst: p,
116
+ focusLast: D,
117
+ focusNext: S,
118
+ focusPrevious: y,
119
+ resetFocus: _
119
120
  };
120
121
  }
121
- const W = (e) => {
122
- }, Re = {
122
+ const ae = (e) => {
123
+ }, We = {
123
124
  id: "entity-filter-1",
124
125
  label: "Customer: Acme Corp",
125
126
  field: "customer",
126
127
  value: "acme-corp-123",
127
- onRemove: W
128
- }, _e = {
128
+ onRemove: ae
129
+ }, Ze = {
129
130
  id: "status-filter-1",
130
131
  label: "Status: Open",
131
132
  field: "status",
132
133
  value: "open",
133
- onRemove: W
134
- }, Me = {
134
+ onRemove: ae
135
+ }, Ue = {
135
136
  id: "date-filter-1",
136
137
  label: "Date: Mar 1 - Mar 15",
137
138
  field: "dateRange",
138
139
  value: "2026-03-01..2026-03-15",
139
- onRemove: W
140
- }, Pe = {
140
+ onRemove: ae
141
+ }, Ye = {
141
142
  id: "mfg-filter-1",
142
143
  label: "Manufacturer: Widget Co",
143
144
  field: "manufacturer",
144
145
  value: "widget-co-456",
145
- onRemove: W
146
- }, Ft = [
147
- Re,
148
- _e,
149
- Me,
150
- Pe
151
- ], Et = {
146
+ onRemove: ae
147
+ }, la = [
148
+ We,
149
+ Ze,
150
+ Ue,
151
+ Ye
152
+ ], da = {
152
153
  id: "metric-toggle",
153
154
  tabs: [
154
155
  { id: "$", label: "$", mono: !0 },
155
156
  { id: "#", label: "#", mono: !0 }
156
157
  ]
157
- }, Ot = {
158
+ }, ca = {
158
159
  id: "entity-type",
159
160
  tabs: [
160
161
  { id: "orders", label: "Orders" },
@@ -162,7 +163,7 @@ const W = (e) => {
162
163
  { id: "customers", label: "Customers" },
163
164
  { id: "manufacturers", label: "Manufacturers" }
164
165
  ]
165
- }, At = {
166
+ }, ua = {
166
167
  id: "time-frame",
167
168
  tabs: [
168
169
  { id: "MTD", label: "MTD" },
@@ -170,30 +171,30 @@ const W = (e) => {
170
171
  { id: "YTD", label: "YTD" },
171
172
  { id: "LYTD", label: "LYTD" }
172
173
  ]
173
- }, Lt = [
174
+ }, ma = [
174
175
  { variant: "block", width: "100%", height: 16 },
175
176
  { variant: "block", width: 200, height: 32, borderRadius: 8 },
176
177
  { variant: "block", width: "80%", height: 12, borderRadius: "4px" },
177
178
  { variant: "block", width: 120, height: 44, borderRadius: 22 }
178
- ], $t = [
179
+ ], pa = [
179
180
  { variant: "text", lines: 3, lineHeight: 14, gap: 8 },
180
181
  { variant: "text", lines: 2, lineHeight: 16, gap: 10 },
181
182
  { variant: "text", lines: 5, lineHeight: 12, gap: 6 }
182
- ], Bt = [
183
+ ], ga = [
183
184
  { variant: "circle", size: 24 },
184
185
  { variant: "circle", size: 40 },
185
186
  { variant: "circle", size: 64 }
186
- ], Kt = [
187
+ ], fa = [
187
188
  { bars: 10, maxHeight: 120 },
188
189
  { bars: 5, maxHeight: 80 }
189
- ], Gt = [
190
+ ], ba = [
190
191
  { rows: 5, columns: 3, hasCheckbox: !1, rowHeight: 44 },
191
192
  { rows: 8, columns: 5, hasCheckbox: !0, rowHeight: 44 }
192
- ], Ht = [
193
+ ], ha = [
193
194
  { variant: "value", colSpan: 1 },
194
195
  { variant: "trend", colSpan: 2 },
195
196
  { variant: "target", colSpan: 1 }
196
- ], re = {
197
+ ], be = {
197
198
  position: "fixed",
198
199
  zIndex: 9999,
199
200
  background: "rgba(255,255,255,0.92)",
@@ -205,7 +206,7 @@ const W = (e) => {
205
206
  minWidth: 148,
206
207
  paddingTop: 4,
207
208
  paddingBottom: 4
208
- }, q = (e) => ({
209
+ }, de = (e) => ({
209
210
  padding: "6px 12px",
210
211
  fontSize: 12,
211
212
  lineHeight: 1.4,
@@ -219,148 +220,152 @@ const W = (e) => {
219
220
  width: "100%",
220
221
  textAlign: "left",
221
222
  border: "none"
222
- }), Fe = (e) => ({
223
- ...q(e),
223
+ }), qe = (e) => ({
224
+ ...de(e),
224
225
  color: e ? "#4338ca" : "#4f46e5",
225
226
  fontWeight: 600
226
- }), Ee = {
227
+ }), je = {
227
228
  height: 1,
228
229
  background: "rgba(0,0,0,0.06)",
229
230
  margin: "3px 10px"
230
231
  };
231
- function Oe({
232
+ function Xe({
232
233
  open: e,
233
234
  anchorEl: t,
234
235
  statusId: n,
235
236
  onOpenInTable: a,
236
- onShowOnGraph: o,
237
- overflowActions: s,
238
- onClose: l
237
+ onShowOnGraph: r,
238
+ overflowActions: o,
239
+ onClose: i
239
240
  }) {
240
- const [c, b] = E(null), u = M(null), w = y(() => {
241
- if (!t) return { ...re, top: 0, left: 0 };
242
- const d = t.getBoundingClientRect();
241
+ const [m, b] = $(null), d = M(null), f = h(() => {
242
+ if (!t) return { ...be, top: 0, left: 0 };
243
+ const c = t.getBoundingClientRect();
243
244
  return {
244
- ...re,
245
- top: d.bottom + 4,
246
- left: d.left
245
+ ...be,
246
+ top: c.bottom + 4,
247
+ left: c.left
247
248
  };
248
249
  }, [t]);
249
- if (P(() => {
250
+ if (A(() => {
250
251
  if (!e) return;
251
- const d = (S) => {
252
- S.key === "Escape" && l();
252
+ const c = (v) => {
253
+ v.key === "Escape" && i();
253
254
  };
254
- return document.addEventListener("keydown", d), () => document.removeEventListener("keydown", d);
255
- }, [e, l]), P(() => {
255
+ return document.addEventListener("keydown", c), () => document.removeEventListener("keydown", c);
256
+ }, [e, i]), A(() => {
256
257
  if (!e) return;
257
- const d = (S) => {
258
- u.current && !u.current.contains(S.target) && l();
258
+ const c = (v) => {
259
+ d.current && !d.current.contains(v.target) && i();
259
260
  };
260
- return document.addEventListener("pointerdown", d, !0), () => document.removeEventListener("pointerdown", d, !0);
261
- }, [e, l]), !e) return null;
262
- const C = s && s.length > 0, i = /* @__PURE__ */ O(
261
+ return document.addEventListener("pointerdown", c, !0), () => document.removeEventListener("pointerdown", c, !0);
262
+ }, [e, i]), !e) return null;
263
+ const C = o && o.length > 0, l = /* @__PURE__ */ O(
263
264
  "div",
264
265
  {
265
- ref: u,
266
+ ref: d,
266
267
  "data-status-chip-menu": n,
267
268
  role: "menu",
268
269
  "aria-label": "Status actions",
269
- style: w(),
270
+ style: f(),
270
271
  children: [
271
- /* @__PURE__ */ g(
272
+ /* @__PURE__ */ u(
272
273
  "button",
273
274
  {
274
275
  role: "menuitem",
275
- style: Fe(c === "__primary"),
276
+ style: qe(m === "__primary"),
276
277
  onMouseEnter: () => b("__primary"),
277
278
  onMouseLeave: () => b(null),
278
279
  onClick: () => {
279
- a(n), l();
280
+ a(n), i();
280
281
  },
281
282
  children: "Open in table"
282
283
  }
283
284
  ),
284
- /* @__PURE__ */ g(
285
+ /* @__PURE__ */ u(
285
286
  "button",
286
287
  {
287
288
  role: "menuitem",
288
- style: q(c === "__graph"),
289
+ style: de(m === "__graph"),
289
290
  onMouseEnter: () => b("__graph"),
290
291
  onMouseLeave: () => b(null),
291
292
  onClick: () => {
292
- o(n), l();
293
+ r(n), i();
293
294
  },
294
295
  children: "Show on graph"
295
296
  }
296
297
  ),
297
- C && /* @__PURE__ */ g("div", { style: Ee }),
298
- C && s?.map((d) => /* @__PURE__ */ g(
298
+ C && /* @__PURE__ */ u("div", { style: je }),
299
+ C && o?.map((c) => /* @__PURE__ */ u(
299
300
  "button",
300
301
  {
301
302
  role: "menuitem",
302
- style: q(c === d.id),
303
- onMouseEnter: () => b(d.id),
303
+ style: de(m === c.id),
304
+ onMouseEnter: () => b(c.id),
304
305
  onMouseLeave: () => b(null),
305
306
  onClick: () => {
306
- d.onSelect(n), l();
307
+ c.onSelect(n), i();
307
308
  },
308
- children: d.label
309
+ children: c.label
309
310
  },
310
- d.id
311
+ c.id
311
312
  ))
312
313
  ]
313
314
  }
314
315
  );
315
- return De(i, document.body);
316
+ return $e(l, document.body);
316
317
  }
317
- Oe.displayName = "StatusSlotChipMenu";
318
- const Ae = ve(
319
- function({ state: t, onPointerDown: n, onPointerUp: a, onPointerEnter: o, onPointerLeave: s, edge: l = "right", ariaLabel: c = "Resize card" }, b) {
320
- const u = t === "handle-visible" || t === "dragging", w = (i) => {
318
+ Xe.displayName = "StatusSlotChipMenu";
319
+ const Qe = Pe(
320
+ function({ state: t, onPointerDown: n, onPointerUp: a, onPointerEnter: r, onPointerLeave: o, onKeyboardStep: i, edge: m = "right", ariaLabel: b = "Resize card" }, d) {
321
+ const f = t === "handle-visible" || t === "dragging" || t === "settling", C = (v) => {
321
322
  try {
322
- i.currentTarget.setPointerCapture(i.pointerId);
323
+ v.currentTarget.setPointerCapture(v.pointerId);
323
324
  } catch {
324
325
  }
325
- n(i);
326
- }, C = (i) => {
326
+ n(v);
327
+ }, l = (v) => {
327
328
  try {
328
- i.currentTarget.hasPointerCapture?.(i.pointerId) && i.currentTarget.releasePointerCapture(i.pointerId);
329
+ v.currentTarget.hasPointerCapture?.(v.pointerId) && v.currentTarget.releasePointerCapture(v.pointerId);
329
330
  } catch {
330
331
  }
331
- a(i);
332
+ a(v);
333
+ }, c = (v) => {
334
+ !f || !i || (v.key === "ArrowRight" ? (v.preventDefault(), i("grow")) : v.key === "ArrowLeft" && (v.preventDefault(), i("shrink")));
332
335
  };
333
- return /* @__PURE__ */ g(
336
+ return /* @__PURE__ */ u(
334
337
  "button",
335
338
  {
336
- ref: b,
339
+ ref: d,
337
340
  type: "button",
338
- "aria-label": c,
339
- "data-edge": l,
341
+ "aria-label": b,
342
+ "data-edge": m,
340
343
  "data-resize-state": t,
341
344
  className: [
342
345
  "gloss-edge-handle",
343
- `gloss-edge-handle--${l}`,
344
- u ? "gloss-edge-handle--visible" : ""
346
+ `gloss-edge-handle--${m}`,
347
+ f ? "gloss-edge-handle--visible" : ""
345
348
  ].filter(Boolean).join(" "),
346
- onPointerDown: w,
347
- onPointerUp: C,
348
- onPointerEnter: o,
349
- onPointerLeave: s,
350
- tabIndex: u ? 0 : -1
349
+ onPointerDown: C,
350
+ onPointerUp: l,
351
+ onPointerEnter: r,
352
+ onPointerLeave: o,
353
+ onKeyDown: c,
354
+ tabIndex: f ? 0 : -1
351
355
  }
352
356
  );
353
357
  }
354
358
  );
355
- Ae.displayName = "EdgeHoverHandle";
356
- function Le({
359
+ Qe.displayName = "EdgeHoverHandle";
360
+ function Je({
357
361
  visible: e,
358
362
  targetColSpan: t,
359
- enterMs: n = 180,
360
- exitMs: a = 120
363
+ motionX: n,
364
+ enterMs: a = 180,
365
+ exitMs: r = 120
361
366
  }) {
362
- return /* @__PURE__ */ g(
363
- "div",
367
+ return /* @__PURE__ */ u(
368
+ De.div,
364
369
  {
365
370
  "aria-hidden": "true",
366
371
  "data-ghost-preview": e ? "visible" : "hidden",
@@ -369,98 +374,237 @@ function Le({
369
374
  "gloss-ghost-preview",
370
375
  e ? "gloss-ghost-preview--visible" : ""
371
376
  ].filter(Boolean).join(" "),
372
- style: { transitionDuration: `${e ? n : a}ms` }
377
+ style: { x: n, transitionDuration: `${e ? a : r}ms` }
373
378
  }
374
379
  );
375
380
  }
376
- Le.displayName = "GhostPreview";
377
- function zt({
381
+ Je.displayName = "GhostPreview";
382
+ class et {
383
+ constructor() {
384
+ this.samples = [], this.capacity = 3;
385
+ }
386
+ push(t) {
387
+ this.samples.push(t), this.samples.length > this.capacity && this.samples.shift();
388
+ }
389
+ clear() {
390
+ this.samples = [];
391
+ }
392
+ /**
393
+ * D-09 — weighted-average velocity (px/sec).
394
+ *
395
+ * 0 samples → 0
396
+ * 1 sample → 0
397
+ * 2 samples → single-event fallback dx/dt
398
+ * 3 samples → weighted avg with vOld falling back to vMid to keep the
399
+ * divisor at 6. Formula: (vRecent·3 + vMid·2 + vMid·1) / 6
400
+ * (see PLAN §Task 2 §U1 resolution).
401
+ */
402
+ getWeightedVelocity() {
403
+ const t = this.samples.length;
404
+ if (t < 2) return 0;
405
+ if (t === 2) {
406
+ const [b, d] = this.samples, f = Math.max(1, d.t - b.t);
407
+ return (d.x - b.x) / f * 1e3;
408
+ }
409
+ const [n, a, r] = this.samples, o = (r.x - a.x) / Math.max(1, r.t - a.t) * 1e3, i = (a.x - n.x) / Math.max(1, a.t - n.t) * 1e3, m = i;
410
+ return (o * 3 + i * 2 + m * 1) / 6;
411
+ }
412
+ }
413
+ const Ce = {
414
+ // Spring (D-08)
415
+ stiffness: 500,
416
+ damping: 35,
417
+ mass: 1,
418
+ // Hysteresis (D-06) — expressed as fractions of GRID_STEP
419
+ snapInFraction: 1 / 3,
420
+ snapOutFraction: 1 / 2,
421
+ // Blueprint overlay (D-20)
422
+ blueprintOpacity: 0.25,
423
+ blueprintFadeInMs: 150,
424
+ blueprintFadeOutMs: 120,
425
+ // Neighbor ripple (D-11)
426
+ rippleStaggerMs: 50,
427
+ // Velocity multiplier (D-03b panel)
428
+ velocityMultiplier: 1
429
+ };
430
+ function va({
378
431
  currentColSpan: e,
379
432
  stackable: t,
380
433
  onResize: n,
381
434
  onCancel: a,
382
- dwellMs: o = 120,
383
- enterMs: s = 180,
384
- exitMs: l = 120
435
+ step: r = 180,
436
+ tuning: o,
437
+ dwellMs: i = 120,
438
+ enterMs: m = 180,
439
+ exitMs: b = 120
385
440
  }) {
386
- const [c, b] = E("idle"), [u, w] = E(e), C = M(null), i = M(null), d = M("idle");
387
- P(() => {
388
- d.current = c;
389
- }, [c]);
390
- const S = 180, k = y(() => {
391
- C.current && (clearTimeout(C.current), C.current = null);
392
- }, []), m = y(() => {
393
- b((h) => h !== "idle" ? h : (C.current = setTimeout(() => b("handle-visible"), o), "dwelling"));
394
- }, [o]), x = y(() => {
395
- k(), b((h) => h === "dwelling" || h === "handle-visible" ? "idle" : h);
396
- }, [k]), I = y(
397
- (h) => {
398
- d.current === "handle-visible" && (i.current = h.clientX, d.current = "dragging", b("dragging"));
441
+ const [d, f] = $("idle"), [C, l] = $(e), c = M(null), v = M(null), I = M(null), p = M(r), D = M("idle");
442
+ A(() => {
443
+ D.current = d;
444
+ }, [d]);
445
+ const S = Oe(0), y = M(new et()), _ = M(e);
446
+ A(() => {
447
+ _.current = C;
448
+ }, [C]);
449
+ const x = Q(() => ({ ...Ce, ...o ?? {} }), [o]), s = h(() => {
450
+ c.current && (clearTimeout(c.current), c.current = null);
451
+ }, []), g = h(() => {
452
+ v.current && (clearTimeout(v.current), v.current = null);
453
+ }, []), w = h(() => {
454
+ f((N) => N === "settling" || N !== "idle" ? N : (c.current = setTimeout(() => f("handle-visible"), i), "dwelling"));
455
+ }, [i]), T = h(() => {
456
+ s(), f((N) => N === "dwelling" || N === "handle-visible" ? "idle" : N);
457
+ }, [s]), k = h(
458
+ (N, F, E) => {
459
+ const L = p.current, re = L * x.snapInFraction, J = L * x.snapOutFraction, ee = F - E;
460
+ let H = ee;
461
+ for (; E + H < 3; ) {
462
+ const se = H * L + (H < 0 ? J : re);
463
+ if (N >= se) H += 1;
464
+ else break;
465
+ }
466
+ if (H === ee)
467
+ for (; E + H > 1; ) {
468
+ const se = H * L - (H > 0 ? J : re);
469
+ if (N <= se) H -= 1;
470
+ else break;
471
+ }
472
+ return Math.min(3, Math.max(1, E + H));
399
473
  },
400
- []
401
- ), v = y(
402
- (h) => {
403
- if (d.current !== "dragging") return;
404
- const r = h.clientX - (i.current ?? h.clientX), p = Math.round(r / S), f = Math.min(3, Math.max(1, e + p)), D = f !== e;
405
- if (b(D ? "committed" : "cancelled"), D) {
406
- const N = f > e ? "grow" : "shrink";
407
- n({ direction: N, targetColSpan: f, mode: t ? "slot-fill" : "sparkline-fidelity" });
408
- } else
409
- a?.();
474
+ [x.snapInFraction, x.snapOutFraction]
475
+ ), R = h(
476
+ (N) => {
477
+ D.current === "handle-visible" && (I.current = N.clientX, p.current = r, y.current.clear(), y.current.push({ x: N.clientX, t: performance.now() }), S.jump(0), D.current = "dragging", f("dragging"));
478
+ },
479
+ [r, S]
480
+ ), P = h(
481
+ (N) => (N - e) * p.current,
482
+ [e]
483
+ ), G = h(
484
+ (N, F) => {
485
+ const E = P(N), L = N !== e;
486
+ if (typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
487
+ S.jump(E), L && F ? n({ direction: F, targetColSpan: N, mode: t ? "slot-fill" : "sparkline-fidelity" }) : L || a?.(), S.jump(0), D.current = "idle", f("idle");
488
+ return;
489
+ }
490
+ const J = y.current.getWeightedVelocity() * x.velocityMultiplier;
491
+ D.current = "settling", f("settling"), fe(S, E, {
492
+ type: "spring",
493
+ stiffness: x.stiffness,
494
+ damping: x.damping,
495
+ mass: x.mass,
496
+ velocity: J,
497
+ onComplete: () => {
498
+ L && F ? n({ direction: F, targetColSpan: N, mode: t ? "slot-fill" : "sparkline-fidelity" }) : L || a?.(), S.jump(0), D.current = "idle", f("idle");
499
+ }
500
+ });
410
501
  },
411
- [e, t, n, a]
412
- ), T = y(() => {
413
- k(), b((h) => h === "dragging" || h === "handle-visible" ? (a?.(), "cancelled") : h);
414
- }, [k, a]);
415
- return P(() => {
416
- if (c !== "dragging" && c !== "handle-visible") return;
417
- const h = (r) => {
418
- r.key === "Escape" && T();
502
+ [P, e, t, n, a, S, x]
503
+ ), W = h(
504
+ (N) => {
505
+ if (D.current !== "dragging") return;
506
+ const F = N.clientX - (I.current ?? N.clientX);
507
+ y.current.push({ x: N.clientX, t: performance.now() });
508
+ const E = k(F, _.current, e), L = E > e ? "grow" : E < e ? "shrink" : null;
509
+ G(E, L);
510
+ },
511
+ [k, e, G]
512
+ ), Y = h(() => {
513
+ if (s(), D.current === "dragging") {
514
+ if (typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
515
+ S.jump(0), a?.(), D.current = "idle", f("idle");
516
+ return;
517
+ }
518
+ const F = y.current.getWeightedVelocity();
519
+ D.current = "settling", f("settling"), fe(S, 0, {
520
+ type: "spring",
521
+ stiffness: x.stiffness,
522
+ damping: x.damping,
523
+ mass: x.mass,
524
+ velocity: F,
525
+ onComplete: () => {
526
+ a?.(), S.jump(0), D.current = "idle", f("idle");
527
+ }
528
+ });
529
+ return;
530
+ }
531
+ D.current === "handle-visible" && (a?.(), D.current = "cancelled", f("cancelled"));
532
+ }, [s, S, a, x]);
533
+ A(() => {
534
+ if (d !== "dragging" && d !== "handle-visible") return;
535
+ const N = (F) => {
536
+ F.key === "Escape" && Y();
419
537
  };
420
- return window.addEventListener("keydown", h), () => window.removeEventListener("keydown", h);
421
- }, [c, T]), P(() => {
422
- if (c !== "dragging") {
423
- w(e);
538
+ return window.addEventListener("keydown", N), () => window.removeEventListener("keydown", N);
539
+ }, [d, Y]), A(() => {
540
+ if (d !== "dragging") {
541
+ l(e);
424
542
  return;
425
543
  }
426
- const h = (r) => {
427
- const p = r.clientX - (i.current ?? r.clientX), f = Math.round(p / S), D = Math.min(3, Math.max(1, e + f));
428
- w((N) => N === D ? N : D);
544
+ const N = (F) => {
545
+ const E = F.clientX - (I.current ?? F.clientX);
546
+ S.set(E), y.current.push({ x: F.clientX, t: performance.now() });
547
+ const L = k(E, _.current, e);
548
+ L !== _.current && (_.current = L, l(L));
429
549
  };
430
- return window.addEventListener("pointermove", h), () => window.removeEventListener("pointermove", h);
431
- }, [c, e]), P(() => () => k(), [k]), P(() => {
432
- if (c !== "committed" && c !== "cancelled") return;
433
- const h = setTimeout(() => b("idle"), l);
434
- return () => clearTimeout(h);
435
- }, [c, l]), {
436
- state: c,
437
- enterEdgeZone: m,
438
- leaveEdgeZone: x,
550
+ return window.addEventListener("pointermove", N), () => window.removeEventListener("pointermove", N);
551
+ }, [d, e, S, k]), A(() => () => {
552
+ s(), g();
553
+ }, [s, g]), A(() => {
554
+ if (d !== "cancelled") return;
555
+ const N = setTimeout(() => f("idle"), b);
556
+ return () => clearTimeout(N);
557
+ }, [d, b]);
558
+ const V = h(
559
+ (N) => {
560
+ if (D.current === "settling") return;
561
+ const E = Math.min(3, Math.max(1, e + (N === "grow" ? 1 : -1)));
562
+ E !== e && (p.current = r, y.current.clear(), S.jump(0), G(E, N));
563
+ },
564
+ [e, r, S, G]
565
+ ), q = h(() => {
566
+ g(), v.current = setTimeout(() => {
567
+ D.current === "handle-visible" && (D.current = "idle", f("idle"));
568
+ }, 5e3);
569
+ }, [g]), ne = h(() => {
570
+ D.current === "idle" && (s(), D.current = "handle-visible", f("handle-visible"), q());
571
+ }, [s, q]), B = h(() => {
572
+ g(), D.current === "handle-visible" && (D.current = "idle", f("idle"));
573
+ }, [g]);
574
+ return {
575
+ state: d,
576
+ enterEdgeZone: w,
577
+ leaveEdgeZone: T,
439
578
  handleProps: {
440
- onPointerDown: I,
441
- onPointerUp: v,
579
+ onPointerDown: R,
580
+ onPointerUp: W,
442
581
  // Bug E: handle continues zone presence so pointer crossing sentinel→handle
443
582
  // doesn't collapse state. handle's pointerenter = stay in zone.
444
- onPointerEnter: m,
445
- onPointerLeave: x
583
+ onPointerEnter: w,
584
+ onPointerLeave: T
446
585
  },
447
- previewColSpan: u,
586
+ previewColSpan: C,
448
587
  ghostProps: {
449
- visible: c === "dragging",
450
- targetColSpan: u,
451
- enterMs: s,
452
- exitMs: l
453
- }
588
+ visible: d === "dragging" || d === "settling",
589
+ targetColSpan: C,
590
+ motionX: S,
591
+ enterMs: m,
592
+ exitMs: b
593
+ },
594
+ onKeyboardStep: V,
595
+ onTouchReveal: ne,
596
+ onTouchDismiss: B,
597
+ cancel: Y
454
598
  };
455
599
  }
456
- function Vt(e) {
457
- const { cardWidthPx: t, slotCount: n, activeSlotIdx: a, pillWidthPx: o } = e;
600
+ function ya(e) {
601
+ const { cardWidthPx: t, slotCount: n, activeSlotIdx: a, pillWidthPx: r } = e;
458
602
  if (a == null || !Number.isFinite(t) || t <= 0 || !Number.isFinite(n) || n <= 0 || !Number.isInteger(a) || a < 0 || a >= n)
459
603
  return;
460
- const s = (a + 0.5) * (t / n);
461
- return o != null && Number.isFinite(o) && o > 0 ? s - o / 2 : s;
604
+ const o = (a + 0.5) * (t / n);
605
+ return r != null && Number.isFinite(r) && r > 0 ? o - r / 2 : o;
462
606
  }
463
- const Wt = [
607
+ const wa = [
464
608
  // 1. Standard: Total Revenue
465
609
  {
466
610
  variant: "standard",
@@ -564,24 +708,24 @@ const Wt = [
564
708
  { value: 9, color: "#6b7280", label: "Other" }
565
709
  ]
566
710
  }
567
- ], $e = {
711
+ ], tt = {
568
712
  variant: "standard",
569
713
  label: "Total Revenue",
570
714
  isLoading: !0
571
- }, Be = {
715
+ }, at = {
572
716
  variant: "standard",
573
717
  label: "Total Revenue",
574
718
  value: 125430,
575
719
  valueFormat: { prefix: "$", abbreviated: !0 },
576
720
  isError: !0
577
- }, Ke = {
721
+ }, nt = {
578
722
  variant: "standard",
579
723
  label: "Total Revenue",
580
724
  value: null,
581
725
  valueFormat: { prefix: "$", abbreviated: !0 },
582
726
  isEmpty: !0,
583
727
  subtitle: "No data"
584
- }, Ge = {
728
+ }, rt = {
585
729
  variant: "standard",
586
730
  label: "Total Revenue",
587
731
  value: 125430,
@@ -589,7 +733,7 @@ const Wt = [
589
733
  trend: { value: 12.5, direction: "up" },
590
734
  subtitle: "MTD",
591
735
  isStale: !0
592
- }, He = {
736
+ }, st = {
593
737
  variant: "sparkline",
594
738
  label: "Daily Orders",
595
739
  value: 847,
@@ -598,7 +742,7 @@ const Wt = [
598
742
  sparklineData: [42, 38, 51, 47, 55, 60, 58, 63, 57, 62, 68, 71, 65, 59],
599
743
  accentColor: "#6366f1",
600
744
  isStale: !0
601
- }, ze = {
745
+ }, ot = {
602
746
  variant: "donut",
603
747
  label: "Order Fill Rate",
604
748
  value: 78,
@@ -609,14 +753,14 @@ const Wt = [
609
753
  donutMax: 100,
610
754
  accentColor: "#10b981",
611
755
  isStale: !0
612
- }, Zt = [
613
- $e,
614
- Be,
615
- Ke,
616
- Ge,
617
- He,
618
- ze
619
- ], Ut = {
756
+ }, Da = [
757
+ tt,
758
+ at,
759
+ nt,
760
+ rt,
761
+ st,
762
+ ot
763
+ ], Ca = {
620
764
  variant: "sparkline",
621
765
  label: "Daily Orders",
622
766
  value: 847,
@@ -639,7 +783,7 @@ const Wt = [
639
783
  59
640
784
  ],
641
785
  accentColor: "#6366f1"
642
- }, Yt = {
786
+ }, Na = {
643
787
  variant: "sparkline",
644
788
  label: "New Customers",
645
789
  value: 23,
@@ -678,21 +822,21 @@ const Wt = [
678
822
  19
679
823
  ],
680
824
  accentColor: "#10b981"
681
- }, qt = {
825
+ }, ka = {
682
826
  variant: "standard",
683
827
  label: "Total Revenue",
684
828
  value: 125430,
685
829
  valueFormat: { prefix: "$", abbreviated: !0 },
686
830
  trend: { value: 12.5, direction: "up" },
687
831
  subtitle: "MTD"
688
- }, jt = {
832
+ }, Sa = {
689
833
  variant: "standard",
690
834
  label: "Returns",
691
835
  value: 3280,
692
836
  valueFormat: { prefix: "$", abbreviated: !0 },
693
837
  trend: { value: -8.3, direction: "down" },
694
838
  subtitle: "MTD"
695
- }, Qt = {
839
+ }, xa = {
696
840
  variant: "standard",
697
841
  label: "Avg Order Value",
698
842
  value: 487,
@@ -700,33 +844,33 @@ const Wt = [
700
844
  trend: { value: 0, direction: "flat" },
701
845
  subtitle: "QTD"
702
846
  };
703
- function de({
847
+ function Ne({
704
848
  open: e,
705
849
  onDismiss: t,
706
850
  anchorRef: n,
707
851
  pages: a,
708
- activePageId: o,
709
- onPageChange: s,
710
- onCreatePage: l,
711
- onManagePages: c
852
+ activePageId: r,
853
+ onPageChange: o,
854
+ onCreatePage: i,
855
+ onManagePages: m
712
856
  }) {
713
- const b = y(
714
- (i) => {
715
- s(i), t();
857
+ const b = h(
858
+ (l) => {
859
+ o(l), t();
716
860
  },
717
- [s, t]
718
- ), u = y(
719
- (i, d) => {
720
- (d.key === "Enter" || d.key === " ") && (d.preventDefault(), b(i));
861
+ [o, t]
862
+ ), d = h(
863
+ (l, c) => {
864
+ (c.key === "Enter" || c.key === " ") && (c.preventDefault(), b(l));
721
865
  },
722
866
  [b]
723
- ), w = y(() => {
724
- l(), t();
725
- }, [l, t]), C = y(() => {
726
- c(), t();
727
- }, [c, t]);
867
+ ), f = h(() => {
868
+ i(), t();
869
+ }, [i, t]), C = h(() => {
870
+ m(), t();
871
+ }, [m, t]);
728
872
  return /* @__PURE__ */ O(
729
- Ce,
873
+ Le,
730
874
  {
731
875
  definition: {
732
876
  placement: "bottom-end",
@@ -739,50 +883,50 @@ function de({
739
883
  anchorRef: n,
740
884
  className: "gloss-page-dropdown",
741
885
  children: [
742
- /* @__PURE__ */ g("ul", { role: "menu", className: "gloss-page-dropdown__list", children: a.map((i) => {
743
- const d = i.id === o;
886
+ /* @__PURE__ */ u("ul", { role: "menu", className: "gloss-page-dropdown__list", children: a.map((l) => {
887
+ const c = l.id === r;
744
888
  return /* @__PURE__ */ O(
745
889
  "li",
746
890
  {
747
891
  role: "menuitemradio",
748
- "aria-checked": d,
749
- "aria-current": d ? "page" : void 0,
892
+ "aria-checked": c,
893
+ "aria-current": c ? "page" : void 0,
750
894
  tabIndex: 0,
751
- className: `gloss-page-dropdown__item${d ? " gloss-page-dropdown__item--active" : ""}`,
752
- onClick: () => b(i.id),
753
- onKeyDown: (S) => u(i.id, S),
895
+ className: `gloss-page-dropdown__item${c ? " gloss-page-dropdown__item--active" : ""}`,
896
+ onClick: () => b(l.id),
897
+ onKeyDown: (v) => d(l.id, v),
754
898
  children: [
755
- /* @__PURE__ */ g(
899
+ /* @__PURE__ */ u(
756
900
  "span",
757
901
  {
758
- className: `gloss-page-dropdown__dot${d ? " gloss-page-dropdown__dot--active" : ""}`
902
+ className: `gloss-page-dropdown__dot${c ? " gloss-page-dropdown__dot--active" : ""}`
759
903
  }
760
904
  ),
761
- /* @__PURE__ */ g(
905
+ /* @__PURE__ */ u(
762
906
  "span",
763
907
  {
764
- className: `gloss-page-dropdown__name${i.named ? "" : " gloss-page-dropdown__name--unnamed"}`,
765
- children: i.name
908
+ className: `gloss-page-dropdown__name${l.named ? "" : " gloss-page-dropdown__name--unnamed"}`,
909
+ children: l.name
766
910
  }
767
911
  ),
768
- /* @__PURE__ */ g("span", { className: "gloss-page-dropdown__count", children: i.cardCount })
912
+ /* @__PURE__ */ u("span", { className: "gloss-page-dropdown__count", children: l.cardCount })
769
913
  ]
770
914
  },
771
- i.id
915
+ l.id
772
916
  );
773
917
  }) }),
774
- /* @__PURE__ */ g("hr", { className: "gloss-page-dropdown__separator" }),
775
- /* @__PURE__ */ g(
918
+ /* @__PURE__ */ u("hr", { className: "gloss-page-dropdown__separator" }),
919
+ /* @__PURE__ */ u(
776
920
  "button",
777
921
  {
778
922
  role: "menuitem",
779
923
  className: "gloss-page-dropdown__action",
780
- onClick: w,
924
+ onClick: f,
781
925
  children: "+ New page"
782
926
  }
783
927
  ),
784
- /* @__PURE__ */ g("hr", { className: "gloss-page-dropdown__separator" }),
785
- /* @__PURE__ */ g(
928
+ /* @__PURE__ */ u("hr", { className: "gloss-page-dropdown__separator" }),
929
+ /* @__PURE__ */ u(
786
930
  "button",
787
931
  {
788
932
  role: "menuitem",
@@ -795,21 +939,21 @@ function de({
795
939
  }
796
940
  );
797
941
  }
798
- de.displayName = "PageDropdown";
799
- const Ve = function({
942
+ Ne.displayName = "PageDropdown";
943
+ const it = function({
800
944
  currentIndex: t,
801
945
  total: n,
802
946
  pages: a,
803
- onPageChange: o,
804
- onCreatePage: s,
805
- onManagePages: l,
806
- maskRadius: c = "var(--gloss-radius-md)"
947
+ onPageChange: r,
948
+ onCreatePage: o,
949
+ onManagePages: i,
950
+ maskRadius: m = "var(--gloss-radius-md)"
807
951
  }) {
808
- const b = M(null), [u, w] = E(!1), C = y(() => {
809
- w((S) => !S);
810
- }, []), i = y(() => {
811
- w(!1);
812
- }, []), d = a[t]?.id ?? "";
952
+ const b = M(null), [d, f] = $(!1), C = h(() => {
953
+ f((v) => !v);
954
+ }, []), l = h(() => {
955
+ f(!1);
956
+ }, []), c = a[t]?.id ?? "";
813
957
  return /* @__PURE__ */ O(
814
958
  "div",
815
959
  {
@@ -818,11 +962,11 @@ const Ve = function({
818
962
  style: { position: "absolute", top: 0, right: 0 },
819
963
  "data-page-chip": !0,
820
964
  children: [
821
- /* @__PURE__ */ g(
965
+ /* @__PURE__ */ u(
822
966
  "div",
823
967
  {
824
968
  className: "gloss-page-chip__nuzzle",
825
- style: { "--_nuzzle-r": c }
969
+ style: { "--_nuzzle-r": m }
826
970
  }
827
971
  ),
828
972
  /* @__PURE__ */ O(
@@ -830,7 +974,7 @@ const Ve = function({
830
974
  {
831
975
  className: "gloss-page-chip__trigger",
832
976
  "aria-haspopup": "menu",
833
- "aria-expanded": u,
977
+ "aria-expanded": d,
834
978
  "aria-label": `Page ${t + 1} of ${n}. Click to switch pages.`,
835
979
  onClick: C,
836
980
  children: [
@@ -840,25 +984,25 @@ const Ve = function({
840
984
  ]
841
985
  }
842
986
  ),
843
- /* @__PURE__ */ g(
844
- de,
987
+ /* @__PURE__ */ u(
988
+ Ne,
845
989
  {
846
- open: u,
847
- onDismiss: i,
990
+ open: d,
991
+ onDismiss: l,
848
992
  anchorRef: b,
849
993
  pages: a,
850
- activePageId: d,
851
- onPageChange: o,
852
- onCreatePage: s,
853
- onManagePages: l
994
+ activePageId: c,
995
+ onPageChange: r,
996
+ onCreatePage: o,
997
+ onManagePages: i
854
998
  }
855
999
  )
856
1000
  ]
857
1001
  }
858
1002
  );
859
1003
  };
860
- Ve.displayName = "PageChip";
861
- const Xt = [
1004
+ it.displayName = "PageChip";
1005
+ const Ta = [
862
1006
  {
863
1007
  id: "ORD-1001",
864
1008
  orderNumber: "ORD-1001",
@@ -991,7 +1135,7 @@ const Xt = [
991
1135
  date: "2026-03-01",
992
1136
  skuCount: 9
993
1137
  }
994
- ], Jt = [
1138
+ ], _a = [
995
1139
  {
996
1140
  id: "ITEM-001",
997
1141
  sku: "PB-4520",
@@ -1125,16 +1269,16 @@ const Xt = [
1125
1269
  lastDate: "2026-03-01"
1126
1270
  }
1127
1271
  ];
1128
- function j(e) {
1272
+ function ce(e) {
1129
1273
  return "$" + e.toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 });
1130
1274
  }
1131
- function ce(e) {
1275
+ function ke(e) {
1132
1276
  return e.toLocaleString("en-US");
1133
1277
  }
1134
- function ue(e) {
1278
+ function Se(e) {
1135
1279
  return new Date(e).toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" });
1136
1280
  }
1137
- const z = F.createElement("span", { style: { color: "var(--color-text-muted)" } }, "—"), ea = [
1281
+ const X = K.createElement("span", { style: { color: "var(--color-text-muted)" } }, "—"), Ia = [
1138
1282
  {
1139
1283
  field: "id",
1140
1284
  headerName: "Order",
@@ -1164,7 +1308,7 @@ const z = F.createElement("span", { style: { color: "var(--color-text-muted)" }
1164
1308
  align: "right",
1165
1309
  headerAlign: "right",
1166
1310
  cellClassName: "gloss-tabular-nums",
1167
- renderCell: ({ row: e }) => e.skuCount ? ce(e.skuCount) : z
1311
+ renderCell: ({ row: e }) => e.skuCount ? ke(e.skuCount) : X
1168
1312
  },
1169
1313
  {
1170
1314
  field: "total",
@@ -1174,7 +1318,7 @@ const z = F.createElement("span", { style: { color: "var(--color-text-muted)" }
1174
1318
  align: "right",
1175
1319
  headerAlign: "right",
1176
1320
  cellClassName: "gloss-tabular-nums",
1177
- renderCell: ({ row: e }) => e.total ? j(e.total) : z
1321
+ renderCell: ({ row: e }) => e.total ? ce(e.total) : X
1178
1322
  },
1179
1323
  {
1180
1324
  field: "date",
@@ -1184,9 +1328,9 @@ const z = F.createElement("span", { style: { color: "var(--color-text-muted)" }
1184
1328
  align: "right",
1185
1329
  headerAlign: "right",
1186
1330
  cellClassName: "gloss-tabular-nums",
1187
- renderCell: ({ row: e }) => e.date ? ue(e.date) : ""
1331
+ renderCell: ({ row: e }) => e.date ? Se(e.date) : ""
1188
1332
  }
1189
- ], ta = [
1333
+ ], Ra = [
1190
1334
  {
1191
1335
  field: "sku",
1192
1336
  headerName: "Item ID",
@@ -1218,7 +1362,7 @@ const z = F.createElement("span", { style: { color: "var(--color-text-muted)" }
1218
1362
  align: "right",
1219
1363
  headerAlign: "right",
1220
1364
  cellClassName: "gloss-tabular-nums",
1221
- renderCell: ({ row: e }) => e.price ? j(e.price) : z
1365
+ renderCell: ({ row: e }) => e.price ? ce(e.price) : X
1222
1366
  },
1223
1367
  {
1224
1368
  field: "quantity",
@@ -1228,7 +1372,7 @@ const z = F.createElement("span", { style: { color: "var(--color-text-muted)" }
1228
1372
  align: "right",
1229
1373
  headerAlign: "right",
1230
1374
  cellClassName: "gloss-tabular-nums gloss-drillable",
1231
- renderCell: ({ row: e }) => e.quantity ? ce(e.quantity) : z
1375
+ renderCell: ({ row: e }) => e.quantity ? ke(e.quantity) : X
1232
1376
  },
1233
1377
  {
1234
1378
  field: "total",
@@ -1238,7 +1382,7 @@ const z = F.createElement("span", { style: { color: "var(--color-text-muted)" }
1238
1382
  align: "right",
1239
1383
  headerAlign: "right",
1240
1384
  cellClassName: "gloss-tabular-nums gloss-drillable",
1241
- renderCell: ({ row: e }) => e.total ? j(e.total) : z
1385
+ renderCell: ({ row: e }) => e.total ? ce(e.total) : X
1242
1386
  },
1243
1387
  {
1244
1388
  field: "lastDate",
@@ -1248,24 +1392,24 @@ const z = F.createElement("span", { style: { color: "var(--color-text-muted)" }
1248
1392
  align: "right",
1249
1393
  headerAlign: "right",
1250
1394
  cellClassName: "gloss-tabular-nums",
1251
- renderCell: ({ row: e }) => e.lastDate ? ue(e.lastDate) : ""
1395
+ renderCell: ({ row: e }) => e.lastDate ? Se(e.lastDate) : ""
1252
1396
  }
1253
- ], We = [
1397
+ ], lt = [
1254
1398
  { id: "c-001", label: "ABC Home Goods" },
1255
1399
  { id: "c-002", label: "Riverside Retail" },
1256
1400
  { id: "c-003", label: "Mountain View Store" },
1257
1401
  { id: "c-004", label: "Downtown Decor" },
1258
1402
  { id: "c-005", label: "Pacific Coast Imports" }
1259
- ], Ze = [
1403
+ ], dt = [
1260
1404
  { id: "i-001", label: "Classic Linen Throw Pillow" },
1261
1405
  { id: "i-002", label: "Coastal Wave Candle Set" },
1262
1406
  { id: "i-003", label: "Walnut Console Table" },
1263
1407
  { id: "i-004", label: "Hand-Blown Glass Vase" },
1264
1408
  { id: "i-005", label: "Velvet Accent Cushion" }
1265
- ], Z = (e) => {
1266
- }, Ue = (e) => {
1267
- }, oe = (e, t) => {
1268
- }, me = {
1409
+ ], oe = (e) => {
1410
+ }, ct = (e) => {
1411
+ }, he = (e, t) => {
1412
+ }, xe = {
1269
1413
  vizState: {
1270
1414
  type: "orders",
1271
1415
  quant: "$",
@@ -1273,17 +1417,17 @@ const z = F.createElement("span", { style: { color: "var(--color-text-muted)" }
1273
1417
  byItem: { id: null, name: null },
1274
1418
  timeFrame: "MTD"
1275
1419
  },
1276
- onTypeChange: Z,
1277
- onQuantChange: Ue,
1278
- onEntityTypeChange: Z,
1279
- onEntitySelect: oe,
1280
- onItemSelect: oe,
1281
- onTimeFrameChange: Z,
1420
+ onTypeChange: oe,
1421
+ onQuantChange: ct,
1422
+ onEntityTypeChange: oe,
1423
+ onEntitySelect: he,
1424
+ onItemSelect: he,
1425
+ onTimeFrameChange: oe,
1282
1426
  userType: "sales-agency",
1283
- entityFilterOptions: We,
1284
- itemFilterOptions: Ze
1285
- }, aa = {
1286
- ...me,
1427
+ entityFilterOptions: lt,
1428
+ itemFilterOptions: dt
1429
+ }, Ma = {
1430
+ ...xe,
1287
1431
  vizState: {
1288
1432
  type: "items",
1289
1433
  quant: "$",
@@ -1291,8 +1435,8 @@ const z = F.createElement("span", { style: { color: "var(--color-text-muted)" }
1291
1435
  byItem: { id: "i-003", name: "Walnut Console Table" },
1292
1436
  timeFrame: "YTD"
1293
1437
  }
1294
- }, na = {
1295
- ...me,
1438
+ }, Pa = {
1439
+ ...xe,
1296
1440
  vizState: {
1297
1441
  type: "orders",
1298
1442
  quant: "#",
@@ -1304,7 +1448,7 @@ const z = F.createElement("span", { style: { color: "var(--color-text-muted)" }
1304
1448
  entityFilterOptions: [
1305
1449
  { id: "customers", label: "Customers" }
1306
1450
  ]
1307
- }, Ye = [
1451
+ }, ut = [
1308
1452
  {
1309
1453
  id: "recent-orders",
1310
1454
  label: "Recent Orders",
@@ -1350,7 +1494,7 @@ const z = F.createElement("span", { style: { color: "var(--color-text-muted)" }
1350
1494
  routeKey: "customer.profile",
1351
1495
  subtitle: "Opens in RepTime"
1352
1496
  }
1353
- ], qe = [
1497
+ ], mt = [
1354
1498
  {
1355
1499
  id: "order-items",
1356
1500
  label: "Items in Order",
@@ -1379,7 +1523,7 @@ const z = F.createElement("span", { style: { color: "var(--color-text-muted)" }
1379
1523
  cellKinds: ["orderId"],
1380
1524
  graphType: "timeline"
1381
1525
  }
1382
- ], je = [
1526
+ ], pt = [
1383
1527
  {
1384
1528
  id: "graph-metric",
1385
1529
  label: "Graph This Metric",
@@ -1407,14 +1551,14 @@ const z = F.createElement("span", { style: { color: "var(--color-text-muted)" }
1407
1551
  cellKinds: ["numeric"],
1408
1552
  tabType: "orders"
1409
1553
  }
1410
- ], ra = {
1411
- entityName: Ye,
1412
- orderId: qe,
1413
- numeric: je
1414
- }, oa = [
1554
+ ], Fa = {
1555
+ entityName: ut,
1556
+ orderId: mt,
1557
+ numeric: pt
1558
+ }, Ea = [
1415
1559
  new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth(), (/* @__PURE__ */ new Date()).getDate() - 29),
1416
1560
  /* @__PURE__ */ new Date()
1417
- ], sa = {
1561
+ ], Oa = {
1418
1562
  rangeA: [
1419
1563
  new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth(), 1),
1420
1564
  /* @__PURE__ */ new Date()
@@ -1427,7 +1571,7 @@ const z = F.createElement("span", { style: { color: "var(--color-text-muted)" }
1427
1571
  new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth() - 2, 1),
1428
1572
  new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth() - 1, 0)
1429
1573
  ]
1430
- }, ia = {
1574
+ }, Aa = {
1431
1575
  version: 4,
1432
1576
  lastPreset: "mtd",
1433
1577
  pinnedPreset: "mtd",
@@ -1435,7 +1579,7 @@ const z = F.createElement("span", { style: { color: "var(--color-text-muted)" }
1435
1579
  rangeCount: 1,
1436
1580
  lastPresetB: null,
1437
1581
  lastPresetC: null
1438
- }, la = [
1582
+ }, La = [
1439
1583
  {
1440
1584
  id: "atlanta-jan",
1441
1585
  label: "Atlanta Market",
@@ -1457,7 +1601,7 @@ const z = F.createElement("span", { style: { color: "var(--color-text-muted)" }
1457
1601
  endDate: new Date(2026, 3, 22),
1458
1602
  location: "Chicago, IL"
1459
1603
  }
1460
- ], da = [
1604
+ ], $a = [
1461
1605
  {
1462
1606
  id: "custom-regional-1",
1463
1607
  label: "Southeast Regional Expo",
@@ -1474,7 +1618,7 @@ const z = F.createElement("span", { style: { color: "var(--color-text-muted)" }
1474
1618
  location: "Portland, OR",
1475
1619
  isCustom: !0
1476
1620
  }
1477
- ], ca = [
1621
+ ], Ba = [
1478
1622
  {
1479
1623
  id: "atlanta-jan",
1480
1624
  label: "Atlanta Market",
@@ -1491,137 +1635,137 @@ const z = F.createElement("span", { style: { color: "var(--color-text-muted)" }
1491
1635
  location: "New York, NY",
1492
1636
  active: !0
1493
1637
  }
1494
- ], ua = [
1638
+ ], Ka = [
1495
1639
  { id: "7d", label: "7D" },
1496
1640
  { id: "30d", label: "30D" },
1497
1641
  { id: "60d", label: "60D" },
1498
1642
  { id: "90d", label: "90D" }
1499
- ], ma = [
1643
+ ], Ga = [
1500
1644
  { id: "mtd", label: "MTD" },
1501
1645
  { id: "qtd", label: "QTD" },
1502
1646
  { id: "ytd", label: "YTD" },
1503
1647
  { id: "lytd", label: "LYTD" }
1504
- ], Qe = {
1648
+ ], gt = {
1505
1649
  timeframe: "Time Frame",
1506
1650
  threshold: "Thresholds",
1507
1651
  slots: "Slots",
1508
1652
  size: "Size",
1509
1653
  color: "Color",
1510
1654
  pinned: "Pinned"
1511
- }, Xe = {
1512
- timeframe: Ne,
1513
- threshold: Se,
1514
- slots: ke,
1515
- size: xe,
1516
- color: Te,
1517
- pinned: Ie
1655
+ }, ft = {
1656
+ timeframe: Be,
1657
+ threshold: Ke,
1658
+ slots: Ge,
1659
+ size: Ve,
1660
+ color: He,
1661
+ pinned: ze
1518
1662
  };
1519
- function se(...e) {
1663
+ function ve(...e) {
1520
1664
  return e.filter(Boolean).join(" ");
1521
1665
  }
1522
- function Je() {
1523
- const [e, t] = E(() => typeof window > "u" || typeof window.matchMedia != "function" ? !1 : window.matchMedia("(prefers-reduced-motion: reduce)").matches);
1524
- return P(() => {
1666
+ function bt() {
1667
+ const [e, t] = $(() => typeof window > "u" || typeof window.matchMedia != "function" ? !1 : window.matchMedia("(prefers-reduced-motion: reduce)").matches);
1668
+ return A(() => {
1525
1669
  if (typeof window > "u" || typeof window.matchMedia != "function") return;
1526
- const n = window.matchMedia("(prefers-reduced-motion: reduce)"), a = (o) => t(o.matches);
1670
+ const n = window.matchMedia("(prefers-reduced-motion: reduce)"), a = (r) => t(r.matches);
1527
1671
  return typeof n.addEventListener == "function" ? (n.addEventListener("change", a), () => n.removeEventListener("change", a)) : (n.addListener?.(a), () => {
1528
1672
  n.removeListener?.(a);
1529
1673
  });
1530
1674
  }, []), e;
1531
1675
  }
1532
- const et = ({
1676
+ const ht = ({
1533
1677
  dimensions: e,
1534
1678
  onDimensionSelect: t,
1535
1679
  activeDimension: n,
1536
1680
  ariaCardTypeLabel: a,
1537
- className: o
1681
+ className: r
1538
1682
  }) => {
1539
- const s = M(null), l = M([]), c = Je(), b = ee(() => Array.from(e), [e]);
1683
+ const o = M(null), i = M([]), m = bt(), b = Q(() => Array.from(e), [e]);
1540
1684
  if (b.length === 0) return null;
1541
- const u = a ? `Configure ${a}: choose a dimension` : void 0, w = c ? "10ms" : "200ms", C = (i, d) => {
1542
- const S = b.length - 1, k = (m) => {
1543
- const x = l.current[m];
1544
- x && x.focus();
1685
+ const d = a ? `Configure ${a}: choose a dimension` : void 0, f = m ? "10ms" : "200ms", C = (l, c) => {
1686
+ const v = b.length - 1, I = (p) => {
1687
+ const D = i.current[p];
1688
+ D && D.focus();
1545
1689
  };
1546
- switch (i.key) {
1690
+ switch (l.key) {
1547
1691
  case "ArrowRight":
1548
1692
  case "ArrowDown": {
1549
- i.preventDefault(), k(d === S ? 0 : d + 1);
1693
+ l.preventDefault(), I(c === v ? 0 : c + 1);
1550
1694
  break;
1551
1695
  }
1552
1696
  case "ArrowLeft":
1553
1697
  case "ArrowUp": {
1554
- i.preventDefault(), k(d === 0 ? S : d - 1);
1698
+ l.preventDefault(), I(c === 0 ? v : c - 1);
1555
1699
  break;
1556
1700
  }
1557
1701
  case "Home": {
1558
- i.preventDefault(), k(0);
1702
+ l.preventDefault(), I(0);
1559
1703
  break;
1560
1704
  }
1561
1705
  case "End": {
1562
- i.preventDefault(), k(S);
1706
+ l.preventDefault(), I(v);
1563
1707
  break;
1564
1708
  }
1565
1709
  case "Enter":
1566
1710
  case " ": {
1567
- i.preventDefault(), t(b[d]);
1711
+ l.preventDefault(), t(b[c]);
1568
1712
  break;
1569
1713
  }
1570
1714
  }
1571
1715
  };
1572
- return /* @__PURE__ */ g(
1716
+ return /* @__PURE__ */ u(
1573
1717
  "div",
1574
1718
  {
1575
- ref: s,
1719
+ ref: o,
1576
1720
  role: "group",
1577
- "aria-label": u,
1578
- className: se("gloss-reconfig-backside-buttons", o),
1721
+ "aria-label": d,
1722
+ className: ve("gloss-reconfig-backside-buttons", r),
1579
1723
  style: {
1580
1724
  // Expose the reduced-motion-resolved duration as a CSS custom prop
1581
1725
  // so the SCSS transition rule can consume it without a nested media
1582
1726
  // query in the JS. Also surfaces the value for the unit test.
1583
- "--gloss-reconfig-backside-buttons-transition-duration": w
1727
+ "--gloss-reconfig-backside-buttons-transition-duration": f
1584
1728
  },
1585
- children: b.map((i, d) => {
1586
- const S = Xe[i], k = n === i;
1729
+ children: b.map((l, c) => {
1730
+ const v = ft[l], I = n === l;
1587
1731
  return /* @__PURE__ */ O(
1588
1732
  "button",
1589
1733
  {
1590
- ref: (m) => {
1591
- l.current[d] = m;
1734
+ ref: (p) => {
1735
+ i.current[c] = p;
1592
1736
  },
1593
1737
  type: "button",
1594
- "data-dimension": i,
1595
- className: se(
1738
+ "data-dimension": l,
1739
+ className: ve(
1596
1740
  "gloss-reconfig-backside-buttons__button",
1597
- k && "gloss-reconfig-backside-buttons__button--active"
1741
+ I && "gloss-reconfig-backside-buttons__button--active"
1598
1742
  ),
1599
- "aria-current": k ? "true" : void 0,
1600
- onClick: () => t(i),
1601
- onKeyDown: (m) => C(m, d),
1743
+ "aria-current": I ? "true" : void 0,
1744
+ onClick: () => t(l),
1745
+ onKeyDown: (p) => C(p, c),
1602
1746
  children: [
1603
- /* @__PURE__ */ g(
1604
- S,
1747
+ /* @__PURE__ */ u(
1748
+ v,
1605
1749
  {
1606
1750
  className: "gloss-reconfig-backside-buttons__button-icon",
1607
1751
  "aria-hidden": "true"
1608
1752
  }
1609
1753
  ),
1610
- /* @__PURE__ */ g("span", { className: "gloss-reconfig-backside-buttons__button-label", children: Qe[i] })
1754
+ /* @__PURE__ */ u("span", { className: "gloss-reconfig-backside-buttons__button-label", children: gt[l] })
1611
1755
  ]
1612
1756
  },
1613
- i
1757
+ l
1614
1758
  );
1615
1759
  })
1616
1760
  }
1617
1761
  );
1618
1762
  };
1619
- et.displayName = "ReconfigBacksideButtons";
1620
- function L(e, t) {
1763
+ ht.displayName = "ReconfigBacksideButtons";
1764
+ function z(e, t) {
1621
1765
  return {
1622
1766
  id: e,
1623
1767
  colSpan: 1,
1624
- content: F.createElement("div", {
1768
+ content: K.createElement("div", {
1625
1769
  style: {
1626
1770
  width: "100%",
1627
1771
  height: "100%",
@@ -1637,38 +1781,38 @@ function L(e, t) {
1637
1781
  }, t)
1638
1782
  };
1639
1783
  }
1640
- function ie(e, t) {
1784
+ function ye(e, t) {
1641
1785
  return {
1642
- ...L(e, t),
1786
+ ...z(e, t),
1643
1787
  colSpan: 2
1644
1788
  };
1645
1789
  }
1646
- const pa = [
1647
- L("total-revenue", "Total Revenue"),
1648
- L("total-orders", "Total Orders"),
1649
- ie("revenue-trend", "Revenue Trend (2x)"),
1650
- L("avg-order", "Avg Order Value"),
1651
- L("new-customers", "New Customers"),
1652
- L("top-salesperson", "Top Salesperson"),
1653
- ie("order-trend", "Order Trend (2x)"),
1654
- L("repeat-rate", "Repeat Rate"),
1655
- L("open-orders", "Open Orders"),
1656
- L("shipped-orders", "Shipped Orders")
1657
- ], ga = {
1790
+ const Va = [
1791
+ z("total-revenue", "Total Revenue"),
1792
+ z("total-orders", "Total Orders"),
1793
+ ye("revenue-trend", "Revenue Trend (2x)"),
1794
+ z("avg-order", "Avg Order Value"),
1795
+ z("new-customers", "New Customers"),
1796
+ z("top-salesperson", "Top Salesperson"),
1797
+ ye("order-trend", "Order Trend (2x)"),
1798
+ z("repeat-rate", "Repeat Rate"),
1799
+ z("open-orders", "Open Orders"),
1800
+ z("shipped-orders", "Shipped Orders")
1801
+ ], Ha = {
1658
1802
  columns: 6,
1659
1803
  rowHeight: 120,
1660
1804
  gap: 15,
1661
1805
  maxRows: 3,
1662
1806
  currentPage: 0,
1663
1807
  totalPages: 1
1664
- }, ba = {
1808
+ }, za = {
1665
1809
  columns: 9,
1666
1810
  rowHeight: 120,
1667
1811
  gap: 15,
1668
1812
  maxRows: 3,
1669
1813
  currentPage: 0,
1670
1814
  totalPages: 2
1671
- }, fa = {
1815
+ }, Wa = {
1672
1816
  columns: 12,
1673
1817
  rowHeight: 120,
1674
1818
  gap: 15,
@@ -1676,15 +1820,15 @@ const pa = [
1676
1820
  currentPage: 0,
1677
1821
  totalPages: 3
1678
1822
  };
1679
- function U(e) {
1680
- return F.createElement("span", { style: { fontSize: 14 } }, e);
1823
+ function ie(e) {
1824
+ return K.createElement("span", { style: { fontSize: 14 } }, e);
1681
1825
  }
1682
- const ha = [
1826
+ const Za = [
1683
1827
  {
1684
1828
  id: "all-orders",
1685
1829
  type: "orders",
1686
1830
  name: "All Orders",
1687
- icon: U("📋"),
1831
+ icon: ie("📋"),
1688
1832
  closable: !1,
1689
1833
  autoCreated: !0
1690
1834
  },
@@ -1692,17 +1836,17 @@ const ha = [
1692
1836
  id: "open-orders",
1693
1837
  type: "orders",
1694
1838
  name: "Open Orders",
1695
- icon: U("📦"),
1839
+ icon: ie("📦"),
1696
1840
  closable: !0
1697
1841
  },
1698
1842
  {
1699
1843
  id: "shipped-orders",
1700
1844
  type: "orders",
1701
1845
  name: "Shipped Orders",
1702
- icon: U("🚚"),
1846
+ icon: ie("🚚"),
1703
1847
  closable: !0
1704
1848
  }
1705
- ], va = [
1849
+ ], Ua = [
1706
1850
  {
1707
1851
  id: "orders-main",
1708
1852
  type: "orders",
@@ -1728,7 +1872,7 @@ const ha = [
1728
1872
  name: "Customers",
1729
1873
  closable: !0
1730
1874
  }
1731
- ], ya = [
1875
+ ], Ya = [
1732
1876
  {
1733
1877
  id: "only-tab",
1734
1878
  type: "orders",
@@ -1736,7 +1880,7 @@ const ha = [
1736
1880
  closable: !1,
1737
1881
  autoCreated: !0
1738
1882
  }
1739
- ], wa = [
1883
+ ], qa = [
1740
1884
  { id: "tab-1", type: "orders", name: "All Orders", closable: !1, autoCreated: !0 },
1741
1885
  { id: "tab-2", type: "orders", name: "Open Orders", closable: !0 },
1742
1886
  { id: "tab-3", type: "orders", name: "Shipped Orders", closable: !0 },
@@ -1748,7 +1892,7 @@ const ha = [
1748
1892
  { id: "tab-9", type: "order-items", name: "Order #12345", closable: !0 },
1749
1893
  { id: "tab-10", type: "orders", name: "Recent 30D", closable: !0 }
1750
1894
  ];
1751
- function Q(e) {
1895
+ function ue(e) {
1752
1896
  switch (e) {
1753
1897
  case "wide":
1754
1898
  return { cols: 2, rows: 1 };
@@ -1759,34 +1903,34 @@ function Q(e) {
1759
1903
  return { cols: 1, rows: 1 };
1760
1904
  }
1761
1905
  }
1762
- function tt(e) {
1906
+ function vt(e) {
1763
1907
  let t = 0;
1764
1908
  for (const a of e) {
1765
- const o = Q(a.size), s = a.gridPosition.col + o.cols - 1;
1766
- s > t && (t = s);
1909
+ const r = ue(a.size), o = a.gridPosition.col + r.cols - 1;
1910
+ o > t && (t = o);
1767
1911
  }
1768
1912
  return `repeat(${t > 0 ? t : Math.max(e.length, 1)}, minmax(0, 1fr))`;
1769
1913
  }
1770
- const at = function(t) {
1914
+ const yt = function(t) {
1771
1915
  if (t.renderMode === "discrete")
1772
- return /* @__PURE__ */ g(
1916
+ return /* @__PURE__ */ u(
1773
1917
  "div",
1774
1918
  {
1775
1919
  className: "gloss-metric-group gloss-metric-group--discrete",
1776
1920
  style: { display: "contents" },
1777
- children: t.cards.map((o) => {
1778
- const s = Q(o.size);
1779
- return /* @__PURE__ */ g(
1921
+ children: t.cards.map((r) => {
1922
+ const o = ue(r.size);
1923
+ return /* @__PURE__ */ u(
1780
1924
  "div",
1781
1925
  {
1782
1926
  className: "gloss-metric-group__slot",
1783
1927
  style: {
1784
- gridColumn: `${o.gridPosition.col} / span ${s.cols}`,
1785
- gridRow: `${o.gridPosition.row} / span ${s.rows}`
1928
+ gridColumn: `${r.gridPosition.col} / span ${o.cols}`,
1929
+ gridRow: `${r.gridPosition.row} / span ${o.rows}`
1786
1930
  },
1787
- children: o.children
1931
+ children: r.children
1788
1932
  },
1789
- o.key
1933
+ r.key
1790
1934
  );
1791
1935
  })
1792
1936
  }
@@ -1811,7 +1955,7 @@ const at = function(t) {
1811
1955
  "aria-label": a?.label,
1812
1956
  tabIndex: void 0,
1813
1957
  children: [
1814
- a?.accentColor && /* @__PURE__ */ g(
1958
+ a?.accentColor && /* @__PURE__ */ u(
1815
1959
  "div",
1816
1960
  {
1817
1961
  className: "gloss-metric-group__accent",
@@ -1819,8 +1963,8 @@ const at = function(t) {
1819
1963
  }
1820
1964
  ),
1821
1965
  a?.label && /* @__PURE__ */ O("div", { className: "gloss-metric-group__label", children: [
1822
- /* @__PURE__ */ g("span", { children: a.label }),
1823
- a?.trend && /* @__PURE__ */ g(
1966
+ /* @__PURE__ */ u("span", { children: a.label }),
1967
+ a?.trend && /* @__PURE__ */ u(
1824
1968
  "span",
1825
1969
  {
1826
1970
  className: "gloss-metric-group__trend",
@@ -1829,28 +1973,28 @@ const at = function(t) {
1829
1973
  }
1830
1974
  )
1831
1975
  ] }),
1832
- /* @__PURE__ */ g(
1976
+ /* @__PURE__ */ u(
1833
1977
  "div",
1834
1978
  {
1835
1979
  className: "gloss-metric-group__slots",
1836
1980
  style: {
1837
1981
  display: "grid",
1838
1982
  gap: "var(--gloss-spacing-2, 8px)",
1839
- gridTemplateColumns: tt(n)
1983
+ gridTemplateColumns: vt(n)
1840
1984
  },
1841
- children: n.map((o) => {
1842
- const s = Q(o.size);
1843
- return /* @__PURE__ */ g(
1985
+ children: n.map((r) => {
1986
+ const o = ue(r.size);
1987
+ return /* @__PURE__ */ u(
1844
1988
  "div",
1845
1989
  {
1846
1990
  className: "gloss-metric-group__slot--composite",
1847
1991
  style: {
1848
- gridColumn: `${o.gridPosition.col} / span ${s.cols}`,
1849
- gridRow: `${o.gridPosition.row} / span ${s.rows}`
1992
+ gridColumn: `${r.gridPosition.col} / span ${o.cols}`,
1993
+ gridRow: `${r.gridPosition.row} / span ${o.rows}`
1850
1994
  },
1851
- children: o.children
1995
+ children: r.children
1852
1996
  },
1853
- o.key
1997
+ r.key
1854
1998
  );
1855
1999
  })
1856
2000
  }
@@ -1859,8 +2003,199 @@ const at = function(t) {
1859
2003
  }
1860
2004
  );
1861
2005
  };
1862
- at.displayName = "MetricGroupContainer";
1863
- const B = {
2006
+ yt.displayName = "MetricGroupContainer";
2007
+ const Te = "resize.tuning.dev", wt = {
2008
+ ...Ce,
2009
+ snapInPx: 60,
2010
+ snapOutPx: 90
2011
+ }, U = wt;
2012
+ function Dt() {
2013
+ if (typeof window > "u") return { ...U };
2014
+ try {
2015
+ const e = window.localStorage.getItem(Te);
2016
+ if (!e) return { ...U };
2017
+ const t = JSON.parse(e);
2018
+ return !t || typeof t != "object" || Array.isArray(t) ? { ...U } : { ...U, ...t };
2019
+ } catch {
2020
+ return { ...U };
2021
+ }
2022
+ }
2023
+ function Ct() {
2024
+ const [e, t] = $(() => Dt());
2025
+ A(() => {
2026
+ if (!(typeof window > "u"))
2027
+ try {
2028
+ window.localStorage.setItem(Te, JSON.stringify(e));
2029
+ } catch {
2030
+ }
2031
+ }, [e]);
2032
+ const n = h(
2033
+ (o, i) => {
2034
+ t((m) => ({ ...m, [o]: i }));
2035
+ },
2036
+ []
2037
+ ), a = h(
2038
+ (o) => {
2039
+ t((i) => ({ ...i, [o]: U[o] }));
2040
+ },
2041
+ []
2042
+ ), r = h(() => {
2043
+ t({ ...U });
2044
+ }, []);
2045
+ return { values: e, setValue: n, resetRow: a, resetAll: r };
2046
+ }
2047
+ const Nt = [
2048
+ { key: "stiffness", label: "Spring stiffness", unit: "", min: 100, max: 1e3, step: 10 },
2049
+ { key: "damping", label: "Spring damping", unit: "", min: 10, max: 60, step: 1 },
2050
+ { key: "mass", label: "Spring mass", unit: "", min: 0.5, max: 2, step: 0.1 },
2051
+ { key: "snapInPx", label: "Snap in", unit: "px", min: 30, max: 120, step: 1 },
2052
+ { key: "snapOutPx", label: "Snap out", unit: "px", min: 45, max: 180, step: 1 },
2053
+ { key: "blueprintOpacity", label: "Blueprint opacity", unit: "", min: 0, max: 0.6, step: 0.01 },
2054
+ { key: "blueprintFadeInMs", label: "Blueprint fade in", unit: "ms", min: 60, max: 400, step: 10 },
2055
+ { key: "blueprintFadeOutMs", label: "Blueprint fade out", unit: "ms", min: 60, max: 400, step: 10 },
2056
+ { key: "velocityMultiplier", label: "Velocity multiplier", unit: "×", min: 0, max: 2, step: 0.05 }
2057
+ ];
2058
+ function kt(e, t) {
2059
+ return t >= 1 ? String(Math.round(e)) : t >= 0.1 ? e.toFixed(1) : e.toFixed(2);
2060
+ }
2061
+ function St() {
2062
+ return /* @__PURE__ */ O(
2063
+ "svg",
2064
+ {
2065
+ width: "14",
2066
+ height: "14",
2067
+ viewBox: "0 0 24 24",
2068
+ fill: "none",
2069
+ stroke: "currentColor",
2070
+ strokeWidth: "2",
2071
+ strokeLinecap: "round",
2072
+ strokeLinejoin: "round",
2073
+ "aria-hidden": "true",
2074
+ children: [
2075
+ /* @__PURE__ */ u("path", { d: "M3 12a9 9 0 1 0 3-6.7L3 8" }),
2076
+ /* @__PURE__ */ u("polyline", { points: "3 3 3 8 8 8" })
2077
+ ]
2078
+ }
2079
+ );
2080
+ }
2081
+ function xt({ spec: e, value: t, onChange: n, onReset: a, flashing: r }) {
2082
+ const o = h(
2083
+ (i) => {
2084
+ (i.key === "r" || i.key === "R") && (i.preventDefault(), a());
2085
+ },
2086
+ [a]
2087
+ );
2088
+ return /* @__PURE__ */ O(
2089
+ "div",
2090
+ {
2091
+ className: `gloss-dev-tuning-panel__row${r ? " gloss-dev-tuning-panel__row--flash" : ""}`,
2092
+ "data-tuning-row": e.key,
2093
+ onKeyDown: o,
2094
+ children: [
2095
+ /* @__PURE__ */ u("label", { className: "gloss-dev-tuning-panel__label", htmlFor: `gloss-dtp-${e.key}`, children: e.label }),
2096
+ /* @__PURE__ */ O("span", { className: "gloss-dev-tuning-panel__value", "aria-live": "off", children: [
2097
+ kt(t, e.step),
2098
+ e.unit ? ` ${e.unit}` : ""
2099
+ ] }),
2100
+ /* @__PURE__ */ u(
2101
+ "input",
2102
+ {
2103
+ id: `gloss-dtp-${e.key}`,
2104
+ className: "gloss-dev-tuning-panel__slider",
2105
+ type: "range",
2106
+ min: e.min,
2107
+ max: e.max,
2108
+ step: e.step,
2109
+ value: t,
2110
+ "aria-label": e.label,
2111
+ onChange: (i) => n(Number(i.target.value))
2112
+ }
2113
+ ),
2114
+ /* @__PURE__ */ u(
2115
+ "button",
2116
+ {
2117
+ type: "button",
2118
+ className: "gloss-dev-tuning-panel__reset",
2119
+ "aria-label": `Reset ${e.label}`,
2120
+ onClick: a,
2121
+ children: /* @__PURE__ */ u(St, {})
2122
+ }
2123
+ )
2124
+ ]
2125
+ }
2126
+ );
2127
+ }
2128
+ function Tt() {
2129
+ if (typeof process < "u" && process.env && process.env.NODE_ENV === "production" || typeof window > "u") return !1;
2130
+ try {
2131
+ return new URLSearchParams(window.location.search).has("devtune");
2132
+ } catch {
2133
+ return !1;
2134
+ }
2135
+ }
2136
+ function _t(e = {}) {
2137
+ return Tt() ? /* @__PURE__ */ u(It, {}) : null;
2138
+ }
2139
+ _t.displayName = "DevTuningPanel";
2140
+ function It() {
2141
+ const e = Ct(), { values: t, setValue: n, resetRow: a, resetAll: r } = e, [o, i] = $(null), m = M(null), b = h((l) => {
2142
+ m.current && clearTimeout(m.current), i(l), m.current = setTimeout(() => {
2143
+ i(null), m.current = null;
2144
+ }, 200);
2145
+ }, []), d = h(
2146
+ (l, c) => {
2147
+ n(l, c), l === "snapInPx" && c > t.snapOutPx && (n("snapOutPx", c), b("snapOutPx"));
2148
+ },
2149
+ [n, t.snapOutPx, b]
2150
+ ), f = Q(() => Nt, []), C = Ae();
2151
+ return /* @__PURE__ */ O(
2152
+ De.div,
2153
+ {
2154
+ className: "gloss-dev-tuning-panel",
2155
+ role: "region",
2156
+ "aria-label": "Resize Tuning — dev only",
2157
+ "data-testid": "gloss-dev-tuning-panel",
2158
+ drag: !0,
2159
+ dragListener: !1,
2160
+ dragControls: C,
2161
+ dragMomentum: !1,
2162
+ children: [
2163
+ /* @__PURE__ */ O(
2164
+ "div",
2165
+ {
2166
+ className: "gloss-dev-tuning-panel__header",
2167
+ onPointerDown: (l) => C.start(l),
2168
+ children: [
2169
+ /* @__PURE__ */ u("span", { className: "gloss-dev-tuning-panel__title", children: "Resize Tuning — dev only" }),
2170
+ /* @__PURE__ */ u("span", { className: "gloss-dev-tuning-panel__hint", children: "?devtune=1" })
2171
+ ]
2172
+ }
2173
+ ),
2174
+ /* @__PURE__ */ u("div", { className: "gloss-dev-tuning-panel__body", children: f.map((l) => /* @__PURE__ */ u(
2175
+ xt,
2176
+ {
2177
+ spec: l,
2178
+ value: t[l.key],
2179
+ onChange: (c) => d(l.key, c),
2180
+ onReset: () => a(l.key),
2181
+ flashing: o === l.key
2182
+ },
2183
+ l.key
2184
+ )) }),
2185
+ /* @__PURE__ */ u("div", { className: "gloss-dev-tuning-panel__footer", children: /* @__PURE__ */ u(
2186
+ "button",
2187
+ {
2188
+ type: "button",
2189
+ className: "gloss-dev-tuning-panel__reset-all",
2190
+ onClick: r,
2191
+ children: "Reset all"
2192
+ }
2193
+ ) })
2194
+ ]
2195
+ }
2196
+ );
2197
+ }
2198
+ const Z = {
1864
2199
  "gloss-inline-nudge": "_gloss-inline-nudge_kdk88_34",
1865
2200
  "gloss-inline-nudge__message": "_gloss-inline-nudge__message_kdk88_65",
1866
2201
  "gloss-inline-nudge__actions": "_gloss-inline-nudge__actions_kdk88_72",
@@ -1868,57 +2203,57 @@ const B = {
1868
2203
  "gloss-inline-nudge__btn--action": "_gloss-inline-nudge__btn--action_kdk88_88",
1869
2204
  "gloss-inline-nudge__btn--dismiss": "_gloss-inline-nudge__btn--dismiss_kdk88_96"
1870
2205
  };
1871
- function nt({
2206
+ function Rt({
1872
2207
  message: e,
1873
2208
  primaryAction: t,
1874
2209
  onDismiss: n,
1875
2210
  anchorEl: a,
1876
- anchorSelector: o
2211
+ anchorSelector: r
1877
2212
  }) {
1878
- const [s, l] = F.useState(null), c = F.useMemo(
2213
+ const [o, i] = K.useState(null), m = K.useMemo(
1879
2214
  () => typeof window < "u" && window.matchMedia ? window.matchMedia("(prefers-reduced-motion: reduce)").matches : !1,
1880
2215
  []
1881
2216
  );
1882
- F.useEffect(() => {
1883
- !a && !o && (typeof process > "u" || process.env.NODE_ENV !== "production") && console.error(
2217
+ K.useEffect(() => {
2218
+ !a && !r && (typeof process > "u" || process.env.NODE_ENV !== "production") && console.error(
1884
2219
  "[InlineNudge] requires anchorEl or anchorSelector. AP-07: Do not mount InlineNudge in Layout/** or _app.tsx."
1885
2220
  );
1886
- }, [a, o]), F.useLayoutEffect(() => {
1887
- let u = null;
1888
- if (a ? u = a : o && (u = document.querySelector(o)), u) {
1889
- const w = u.getBoundingClientRect();
1890
- l({
1891
- top: w.bottom + window.scrollY + 6,
1892
- left: w.left + window.scrollX
2221
+ }, [a, r]), K.useLayoutEffect(() => {
2222
+ let d = null;
2223
+ if (a ? d = a : r && (d = document.querySelector(r)), d) {
2224
+ const f = d.getBoundingClientRect();
2225
+ i({
2226
+ top: f.bottom + window.scrollY + 6,
2227
+ left: f.left + window.scrollX
1893
2228
  });
1894
2229
  }
1895
- }, [a, o]);
1896
- const b = s ? { top: s.top, left: s.left } : {};
2230
+ }, [a, r]);
2231
+ const b = o ? { top: o.top, left: o.left } : {};
1897
2232
  return /* @__PURE__ */ O(
1898
2233
  "div",
1899
2234
  {
1900
- className: B["gloss-inline-nudge"],
2235
+ className: Z["gloss-inline-nudge"],
1901
2236
  style: b,
1902
2237
  role: "status",
1903
2238
  "aria-live": "polite",
1904
- "data-reduced-motion": c ? "true" : void 0,
2239
+ "data-reduced-motion": m ? "true" : void 0,
1905
2240
  children: [
1906
- /* @__PURE__ */ g("span", { className: B["gloss-inline-nudge__message"], children: e }),
1907
- /* @__PURE__ */ O("div", { className: B["gloss-inline-nudge__actions"], children: [
1908
- /* @__PURE__ */ g(
2241
+ /* @__PURE__ */ u("span", { className: Z["gloss-inline-nudge__message"], children: e }),
2242
+ /* @__PURE__ */ O("div", { className: Z["gloss-inline-nudge__actions"], children: [
2243
+ /* @__PURE__ */ u(
1909
2244
  "button",
1910
2245
  {
1911
2246
  type: "button",
1912
- className: `${B["gloss-inline-nudge__btn"]} ${B["gloss-inline-nudge__btn--action"]}`,
2247
+ className: `${Z["gloss-inline-nudge__btn"]} ${Z["gloss-inline-nudge__btn--action"]}`,
1913
2248
  onClick: t.onClick,
1914
2249
  children: t.label
1915
2250
  }
1916
2251
  ),
1917
- /* @__PURE__ */ g(
2252
+ /* @__PURE__ */ u(
1918
2253
  "button",
1919
2254
  {
1920
2255
  type: "button",
1921
- className: `${B["gloss-inline-nudge__btn"]} ${B["gloss-inline-nudge__btn--dismiss"]}`,
2256
+ className: `${Z["gloss-inline-nudge__btn"]} ${Z["gloss-inline-nudge__btn--dismiss"]}`,
1922
2257
  onClick: n,
1923
2258
  "aria-label": "Dismiss",
1924
2259
  children: "Dismiss"
@@ -1929,395 +2264,395 @@ function nt({
1929
2264
  }
1930
2265
  );
1931
2266
  }
1932
- nt.displayName = "InlineNudge";
1933
- function X(e) {
2267
+ Rt.displayName = "InlineNudge";
2268
+ function me(e) {
1934
2269
  return e.colorToken ? `var(--gloss-color-${e.colorToken}, ${e.color ?? "#888"})` : e.color ?? "#888";
1935
2270
  }
1936
- function rt(e, t, n) {
2271
+ function Mt(e, t, n) {
1937
2272
  if (n <= t) {
1938
- const l = e[0], c = l ? X(l) : "#888";
1939
- return `linear-gradient(to right, ${c}, ${c})`;
2273
+ const i = e[0], m = i ? me(i) : "#888";
2274
+ return `linear-gradient(to right, ${m}, ${m})`;
1940
2275
  }
1941
- const a = n - t, s = [...e].sort((l, c) => l.value - c.value).map((l) => {
1942
- const c = (l.value - t) / a * 100;
1943
- return `${X(l)} ${c.toFixed(2)}%`;
2276
+ const a = n - t, o = [...e].sort((i, m) => i.value - m.value).map((i) => {
2277
+ const m = (i.value - t) / a * 100;
2278
+ return `${me(i)} ${m.toFixed(2)}%`;
1944
2279
  });
1945
- 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(", ")})`;
2280
+ return o.length === 0 ? "linear-gradient(to right, #888 0%, #888 100%)" : o.length === 1 ? `linear-gradient(to right, ${o[0]}, ${o[0]})` : `linear-gradient(to right, ${o.join(", ")})`;
1946
2281
  }
1947
- function ot(e) {
2282
+ function Pt(e) {
1948
2283
  return e.map((t) => `${t.id}:${t.value}`).join("|");
1949
2284
  }
1950
- function st({
2285
+ function Ft({
1951
2286
  stops: e,
1952
2287
  onChange: t,
1953
2288
  min: n = 0,
1954
2289
  max: a = 100,
1955
- step: o,
1956
- disabled: s = !1
2290
+ step: r,
2291
+ disabled: o = !1
1957
2292
  }) {
1958
- const l = o === void 0 ? 0.01 : !Number.isFinite(o) || o <= 0 ? (process.env.NODE_ENV !== "production" && console.warn(
1959
- `ThresholdRamp: step (${o}) must be a positive finite number; falling back to 0.01.`
1960
- ), 0.01) : o, c = y(
1961
- (r) => Math.round(r / l) * l,
1962
- [l]
1963
- ), b = M(null), [u, w] = E(null), [C, i] = E(e), d = ot(e), S = M(d);
1964
- P(() => {
1965
- S.current !== d && (S.current = d, !u && i(e));
1966
- }, [d, e, u]);
1967
- const k = ee(() => rt(C, n, a), [C, n, a]), m = y(
1968
- (r) => {
2293
+ const i = r === void 0 ? 0.01 : !Number.isFinite(r) || r <= 0 ? (process.env.NODE_ENV !== "production" && console.warn(
2294
+ `ThresholdRamp: step (${r}) must be a positive finite number; falling back to 0.01.`
2295
+ ), 0.01) : r, m = h(
2296
+ (s) => Math.round(s / i) * i,
2297
+ [i]
2298
+ ), b = M(null), [d, f] = $(null), [C, l] = $(e), c = Pt(e), v = M(c);
2299
+ A(() => {
2300
+ v.current !== c && (v.current = c, !d && l(e));
2301
+ }, [c, e, d]);
2302
+ const I = Q(() => Mt(C, n, a), [C, n, a]), p = h(
2303
+ (s) => {
1969
2304
  if (!b.current) return n;
1970
- const p = b.current.getBoundingClientRect(), f = p.width || 1, D = Math.max(0, Math.min(1, (r - p.left) / f)), N = n + D * (a - n);
1971
- return c(N);
2305
+ const g = b.current.getBoundingClientRect(), w = g.width || 1, T = Math.max(0, Math.min(1, (s - g.left) / w)), k = n + T * (a - n);
2306
+ return m(k);
1972
2307
  },
1973
- [n, a, c]
2308
+ [n, a, m]
1974
2309
  );
1975
- P(() => {
2310
+ A(() => {
1976
2311
  a <= n && process.env.NODE_ENV !== "production" && console.warn(
1977
2312
  `ThresholdRamp: max (${a}) must be greater than min (${n}); rendering degenerate strip.`
1978
2313
  );
1979
2314
  }, [n, a]);
1980
- const x = y(
1981
- (r, p) => {
1982
- const f = C.find((D) => D.id === p);
1983
- s || f?.disabled || (r.preventDefault(), w(p));
2315
+ const D = h(
2316
+ (s, g) => {
2317
+ const w = C.find((T) => T.id === g);
2318
+ o || w?.disabled || (s.preventDefault(), f(g));
1984
2319
  },
1985
- [s, C]
1986
- ), I = M(C);
1987
- I.current = C;
1988
- const v = M(t);
1989
- v.current = t, P(() => {
1990
- if (!u) return;
1991
- const r = (f) => {
1992
- const D = m(f.clientX);
1993
- i(
1994
- (N) => N.map((R) => R.id === u ? { ...R, value: D } : R)
2320
+ [o, C]
2321
+ ), S = M(C);
2322
+ S.current = C;
2323
+ const y = M(t);
2324
+ y.current = t, A(() => {
2325
+ if (!d) return;
2326
+ const s = (w) => {
2327
+ const T = p(w.clientX);
2328
+ l(
2329
+ (k) => k.map((R) => R.id === d ? { ...R, value: T } : R)
1995
2330
  );
1996
- }, p = (f) => {
1997
- const D = m(f.clientX), N = I.current.map(
1998
- (R) => R.id === u ? { ...R, value: D } : R
2331
+ }, g = (w) => {
2332
+ const T = p(w.clientX), k = S.current.map(
2333
+ (R) => R.id === d ? { ...R, value: T } : R
1999
2334
  );
2000
- i(N), w(null), v.current(N);
2335
+ l(k), f(null), y.current(k);
2001
2336
  };
2002
- return window.addEventListener("pointermove", r), window.addEventListener("pointerup", p), window.addEventListener("pointercancel", p), () => {
2003
- window.removeEventListener("pointermove", r), window.removeEventListener("pointerup", p), window.removeEventListener("pointercancel", p);
2337
+ return window.addEventListener("pointermove", s), window.addEventListener("pointerup", g), window.addEventListener("pointercancel", g), () => {
2338
+ window.removeEventListener("pointermove", s), window.removeEventListener("pointerup", g), window.removeEventListener("pointercancel", g);
2004
2339
  };
2005
- }, [u, m]);
2006
- const T = a - n > 0 ? a - n : 1, h = y(
2007
- (r, p) => {
2008
- if (s || p.disabled) return;
2009
- const f = a - n;
2010
- if (f <= 0) return;
2011
- const D = r.shiftKey ? f / 20 : f / 100;
2012
- let N = p.value;
2013
- switch (r.key) {
2340
+ }, [d, p]);
2341
+ const _ = a - n > 0 ? a - n : 1, x = h(
2342
+ (s, g) => {
2343
+ if (o || g.disabled) return;
2344
+ const w = a - n;
2345
+ if (w <= 0) return;
2346
+ const T = s.shiftKey ? w / 20 : w / 100;
2347
+ let k = g.value;
2348
+ switch (s.key) {
2014
2349
  case "ArrowRight":
2015
2350
  case "ArrowUp":
2016
- N = p.value + D;
2351
+ k = g.value + T;
2017
2352
  break;
2018
2353
  case "ArrowLeft":
2019
2354
  case "ArrowDown":
2020
- N = p.value - D;
2355
+ k = g.value - T;
2021
2356
  break;
2022
2357
  case "Home":
2023
- N = n;
2358
+ k = n;
2024
2359
  break;
2025
2360
  case "End":
2026
- N = a;
2361
+ k = a;
2027
2362
  break;
2028
2363
  default:
2029
2364
  return;
2030
2365
  }
2031
- r.preventDefault();
2032
- const R = Math.max(n, Math.min(a, N)), _ = c(R);
2033
- if (_ === p.value) return;
2034
- const K = C.map(
2035
- (G) => G.id === p.id ? { ...G, value: _ } : G
2366
+ s.preventDefault();
2367
+ const R = Math.max(n, Math.min(a, k)), P = m(R);
2368
+ if (P === g.value) return;
2369
+ const G = C.map(
2370
+ (W) => W.id === g.id ? { ...W, value: P } : W
2036
2371
  );
2037
- i(K), t(K);
2372
+ l(G), t(G);
2038
2373
  },
2039
- [s, n, a, C, t, c]
2374
+ [o, n, a, C, t, m]
2040
2375
  );
2041
- return /* @__PURE__ */ g("div", { className: "gloss-threshold-ramp", "data-disabled": s || void 0, children: /* @__PURE__ */ g(
2376
+ return /* @__PURE__ */ u("div", { className: "gloss-threshold-ramp", "data-disabled": o || void 0, children: /* @__PURE__ */ u(
2042
2377
  "div",
2043
2378
  {
2044
2379
  ref: b,
2045
2380
  className: "gloss-threshold-ramp__track",
2046
- style: { background: k },
2047
- children: C.map((r) => {
2048
- const p = (r.value - n) / T * 100;
2049
- return /* @__PURE__ */ g(
2381
+ style: { background: I },
2382
+ children: C.map((s) => {
2383
+ const g = (s.value - n) / _ * 100;
2384
+ return /* @__PURE__ */ u(
2050
2385
  "span",
2051
2386
  {
2052
2387
  className: "gloss-threshold-ramp__stop",
2053
2388
  style: {
2054
- left: `${p}%`,
2055
- color: X(r)
2389
+ left: `${g}%`,
2390
+ color: me(s)
2056
2391
  },
2057
- "data-disabled": r.disabled || void 0,
2058
- "data-dragging": u === r.id || void 0,
2059
- onPointerDown: (f) => x(f, r.id),
2060
- onKeyDown: (f) => h(f, r),
2061
- "aria-label": r.label ?? `Stop at ${r.value}`,
2392
+ "data-disabled": s.disabled || void 0,
2393
+ "data-dragging": d === s.id || void 0,
2394
+ onPointerDown: (w) => D(w, s.id),
2395
+ onKeyDown: (w) => x(w, s),
2396
+ "aria-label": s.label ?? `Stop at ${s.value}`,
2062
2397
  role: "slider",
2063
- "aria-valuenow": r.value,
2398
+ "aria-valuenow": s.value,
2064
2399
  "aria-valuemin": n,
2065
2400
  "aria-valuemax": a,
2066
- "aria-disabled": r.disabled || s || void 0,
2067
- tabIndex: r.disabled || s ? -1 : 0
2401
+ "aria-disabled": s.disabled || o || void 0,
2402
+ tabIndex: s.disabled || o ? -1 : 0
2068
2403
  },
2069
- r.id
2404
+ s.id
2070
2405
  );
2071
2406
  })
2072
2407
  }
2073
2408
  ) });
2074
2409
  }
2075
- st.displayName = "ThresholdRamp";
2076
- const pe = ye(null);
2077
- function it() {
2078
- return we(pe);
2410
+ Ft.displayName = "ThresholdRamp";
2411
+ const _e = Fe(null);
2412
+ function Et() {
2413
+ return Ee(_e);
2079
2414
  }
2080
- function lt({ option: e }) {
2081
- const t = it(), n = t?.isSelected(e.value) ?? !1, a = e.disabled || t?.groupDisabled, o = y(() => {
2415
+ function Ot({ option: e }) {
2416
+ const t = Et(), n = t?.isSelected(e.value) ?? !1, a = e.disabled || t?.groupDisabled, r = h(() => {
2082
2417
  a || t?.select(e.value);
2083
- }, [a, t, e.value]), s = y(
2084
- (u) => {
2085
- a || t?.onKeyNav(u, e.value);
2418
+ }, [a, t, e.value]), o = h(
2419
+ (d) => {
2420
+ a || t?.onKeyNav(d, e.value);
2086
2421
  },
2087
2422
  [a, t, e.value]
2088
- ), l = e.colorToken ? `var(--gloss-color-${e.colorToken}, ${e.color ?? "#888"})` : e.color ?? "#888", c = t?.firstFocusableValue === e.value, b = a ? -1 : c ? 0 : -1;
2089
- return /* @__PURE__ */ g(
2423
+ ), i = e.colorToken ? `var(--gloss-color-${e.colorToken}, ${e.color ?? "#888"})` : e.color ?? "#888", m = t?.firstFocusableValue === e.value, b = a ? -1 : m ? 0 : -1;
2424
+ return /* @__PURE__ */ u(
2090
2425
  "button",
2091
2426
  {
2092
- ref: (u) => t?.registerRef(e.value, u),
2427
+ ref: (d) => t?.registerRef(e.value, d),
2093
2428
  type: "button",
2094
2429
  role: "radio",
2095
2430
  "aria-checked": n,
2096
2431
  className: "gloss-preset-swatch-row__swatch",
2097
- style: { backgroundColor: l },
2432
+ style: { backgroundColor: i },
2098
2433
  "data-selected": n || void 0,
2099
2434
  "data-disabled": a || void 0,
2100
- ...process.env.NODE_ENV === "test" ? { "data-bg-color": l } : {},
2435
+ ...process.env.NODE_ENV === "test" ? { "data-bg-color": i } : {},
2101
2436
  "aria-label": e.label ?? e.value,
2102
2437
  "aria-disabled": a,
2103
2438
  disabled: a,
2104
2439
  tabIndex: b,
2105
- onClick: o,
2106
- onKeyDown: s
2440
+ onClick: r,
2441
+ onKeyDown: o
2107
2442
  }
2108
2443
  );
2109
2444
  }
2110
- function dt({
2445
+ function At({
2111
2446
  swatches: e,
2112
2447
  value: t,
2113
2448
  defaultValue: n,
2114
2449
  onChange: a,
2115
- disabled: o = !1,
2116
- name: s
2450
+ disabled: r = !1,
2451
+ name: o
2117
2452
  }) {
2118
- const l = t !== void 0, [c, b] = E(n), u = l ? t : c, w = y(
2119
- (v) => {
2120
- l || b(v), a?.(v);
2453
+ const i = t !== void 0, [m, b] = $(n), d = i ? t : m, f = h(
2454
+ (y) => {
2455
+ i || b(y), a?.(y);
2121
2456
  },
2122
- [l, a]
2123
- ), C = y(
2124
- (v) => u === v,
2125
- [u]
2126
- ), i = M(/* @__PURE__ */ new Map()), d = y((v, T) => {
2127
- T ? i.current.set(v, T) : i.current.delete(v);
2128
- }, []), S = e.filter((v) => !v.disabled && !o), k = S.find((v) => v.value === u)?.value ?? S[0]?.value, m = y((v) => {
2129
- const T = i.current.get(v);
2130
- T && T.focus();
2131
- }, []), x = y(
2132
- (v, T) => {
2133
- if (o) return;
2134
- const h = e.filter((D) => !D.disabled);
2135
- if (h.length === 0) return;
2136
- const r = h.findIndex((D) => D.value === T);
2137
- if (r === -1) return;
2138
- let p = r;
2139
- switch (v.key) {
2457
+ [i, a]
2458
+ ), C = h(
2459
+ (y) => d === y,
2460
+ [d]
2461
+ ), l = M(/* @__PURE__ */ new Map()), c = h((y, _) => {
2462
+ _ ? l.current.set(y, _) : l.current.delete(y);
2463
+ }, []), v = e.filter((y) => !y.disabled && !r), I = v.find((y) => y.value === d)?.value ?? v[0]?.value, p = h((y) => {
2464
+ const _ = l.current.get(y);
2465
+ _ && _.focus();
2466
+ }, []), D = h(
2467
+ (y, _) => {
2468
+ if (r) return;
2469
+ const x = e.filter((T) => !T.disabled);
2470
+ if (x.length === 0) return;
2471
+ const s = x.findIndex((T) => T.value === _);
2472
+ if (s === -1) return;
2473
+ let g = s;
2474
+ switch (y.key) {
2140
2475
  case "ArrowRight":
2141
2476
  case "ArrowDown":
2142
- p = (r + 1) % h.length;
2477
+ g = (s + 1) % x.length;
2143
2478
  break;
2144
2479
  case "ArrowLeft":
2145
2480
  case "ArrowUp":
2146
- p = (r - 1 + h.length) % h.length;
2481
+ g = (s - 1 + x.length) % x.length;
2147
2482
  break;
2148
2483
  case "Home":
2149
- p = 0;
2484
+ g = 0;
2150
2485
  break;
2151
2486
  case "End":
2152
- p = h.length - 1;
2487
+ g = x.length - 1;
2153
2488
  break;
2154
2489
  case " ":
2155
2490
  case "Enter":
2156
- v.preventDefault(), w(T);
2491
+ y.preventDefault(), f(_);
2157
2492
  return;
2158
2493
  default:
2159
2494
  return;
2160
2495
  }
2161
- v.preventDefault();
2162
- const f = h[p].value;
2163
- m(f), w(f);
2496
+ y.preventDefault();
2497
+ const w = x[g].value;
2498
+ p(w), f(w);
2164
2499
  },
2165
- [o, e, w, m]
2166
- ), I = {
2167
- selectedValue: u,
2168
- select: w,
2500
+ [r, e, f, p]
2501
+ ), S = {
2502
+ selectedValue: d,
2503
+ select: f,
2169
2504
  isSelected: C,
2170
- groupDisabled: o,
2171
- name: s,
2172
- registerRef: d,
2173
- firstFocusableValue: k,
2174
- onKeyNav: x
2505
+ groupDisabled: r,
2506
+ name: o,
2507
+ registerRef: c,
2508
+ firstFocusableValue: I,
2509
+ onKeyNav: D
2175
2510
  };
2176
- return /* @__PURE__ */ g(pe.Provider, { value: I, children: /* @__PURE__ */ g(
2511
+ return /* @__PURE__ */ u(_e.Provider, { value: S, children: /* @__PURE__ */ u(
2177
2512
  "div",
2178
2513
  {
2179
2514
  className: "gloss-preset-swatch-row",
2180
2515
  role: "radiogroup",
2181
- "aria-label": s,
2182
- "aria-disabled": o,
2183
- "data-disabled": o || void 0,
2184
- children: e.map((v) => /* @__PURE__ */ g(lt, { option: v }, v.value))
2516
+ "aria-label": o,
2517
+ "aria-disabled": r,
2518
+ "data-disabled": r || void 0,
2519
+ children: e.map((y) => /* @__PURE__ */ u(Ot, { option: y }, y.value))
2185
2520
  }
2186
2521
  ) });
2187
2522
  }
2188
- dt.displayName = "PresetSwatchRow";
2189
- function J(e, t) {
2523
+ At.displayName = "PresetSwatchRow";
2524
+ function pe(e, t) {
2190
2525
  for (const n of e)
2191
2526
  if (n.items.some((a) => a.id === t))
2192
2527
  return n.zoneKey;
2193
2528
  return null;
2194
2529
  }
2195
- function le(e, t) {
2530
+ function we(e, t) {
2196
2531
  const n = e.find((a) => a.zoneKey === t);
2197
- return n ? n.zoneKey : J(e, t);
2532
+ return n ? n.zoneKey : pe(e, t);
2198
2533
  }
2199
- function ct(e, t, n) {
2200
- const a = [...e], [o] = a.splice(t, 1);
2201
- return a.splice(n, 0, o), a;
2534
+ function Lt(e, t, n) {
2535
+ const a = [...e], [r] = a.splice(t, 1);
2536
+ return a.splice(n, 0, r), a;
2202
2537
  }
2203
- function ut(e) {
2538
+ function $t(e) {
2204
2539
  return e.map((t) => `${t.zoneKey}:${t.items.map((n) => n.id).join(",")}`).join("|");
2205
2540
  }
2206
- function mt(e) {
2207
- const [t, n] = E(
2208
- () => e.zones.map((m) => m.maxItems !== void 0 && m.items.length > m.maxItems ? (process.env.NODE_ENV !== "production" && console.warn(
2209
- `useSortableZones: zone "${m.zoneKey}" exceeds maxItems (${m.items.length} > ${m.maxItems}); trimming to cap.`
2210
- ), { ...m, items: m.items.slice(0, m.maxItems) }) : m)
2211
- ), [a, o] = E(null), [s, l] = E(null), c = M(null), b = M(e.onZoneChange);
2541
+ function Bt(e) {
2542
+ const [t, n] = $(
2543
+ () => e.zones.map((p) => p.maxItems !== void 0 && p.items.length > p.maxItems ? (process.env.NODE_ENV !== "production" && console.warn(
2544
+ `useSortableZones: zone "${p.zoneKey}" exceeds maxItems (${p.items.length} > ${p.maxItems}); trimming to cap.`
2545
+ ), { ...p, items: p.items.slice(0, p.maxItems) }) : p)
2546
+ ), [a, r] = $(null), [o, i] = $(null), m = M(null), b = M(e.onZoneChange);
2212
2547
  b.current = e.onZoneChange;
2213
- const u = ee(
2214
- () => ut(e.zones),
2548
+ const d = Q(
2549
+ () => $t(e.zones),
2215
2550
  [e.zones]
2216
- ), w = M(u);
2217
- P(() => {
2218
- w.current !== u && (w.current = u, !a && n(
2219
- e.zones.map((m) => m.maxItems !== void 0 && m.items.length > m.maxItems ? (process.env.NODE_ENV !== "production" && console.warn(
2220
- `useSortableZones: zone "${m.zoneKey}" exceeds maxItems (${m.items.length} > ${m.maxItems}); trimming to cap.`
2221
- ), { ...m, items: m.items.slice(0, m.maxItems) }) : m)
2551
+ ), f = M(d);
2552
+ A(() => {
2553
+ f.current !== d && (f.current = d, !a && n(
2554
+ e.zones.map((p) => p.maxItems !== void 0 && p.items.length > p.maxItems ? (process.env.NODE_ENV !== "production" && console.warn(
2555
+ `useSortableZones: zone "${p.zoneKey}" exceeds maxItems (${p.items.length} > ${p.maxItems}); trimming to cap.`
2556
+ ), { ...p, items: p.items.slice(0, p.maxItems) }) : p)
2222
2557
  ));
2223
- }, [u, e.zones, a]);
2224
- const C = y(
2225
- (m) => {
2226
- const x = m.active.id;
2227
- let I = null, v = null;
2228
- for (const T of t) {
2229
- const h = T.items.find((r) => r.id === x);
2230
- if (h) {
2231
- I = h, v = T.zoneKey;
2558
+ }, [d, e.zones, a]);
2559
+ const C = h(
2560
+ (p) => {
2561
+ const D = p.active.id;
2562
+ let S = null, y = null;
2563
+ for (const _ of t) {
2564
+ const x = _.items.find((s) => s.id === D);
2565
+ if (x) {
2566
+ S = x, y = _.zoneKey;
2232
2567
  break;
2233
2568
  }
2234
2569
  }
2235
- c.current = v, o(I), l(v);
2570
+ m.current = y, r(S), i(y);
2236
2571
  },
2237
2572
  [t]
2238
- ), i = y(
2239
- (m) => {
2240
- if (!m.over) {
2241
- l(c.current);
2573
+ ), l = h(
2574
+ (p) => {
2575
+ if (!p.over) {
2576
+ i(m.current);
2242
2577
  return;
2243
2578
  }
2244
- const x = le(t, m.over.id);
2245
- l(x);
2579
+ const D = we(t, p.over.id);
2580
+ i(D);
2246
2581
  },
2247
2582
  [t]
2248
- ), d = y(
2249
- (m) => {
2250
- const { active: x, over: I } = m, v = () => {
2251
- c.current = null, o(null), l(null);
2583
+ ), c = h(
2584
+ (p) => {
2585
+ const { active: D, over: S } = p, y = () => {
2586
+ m.current = null, r(null), i(null);
2252
2587
  };
2253
- if (!I) {
2254
- v();
2588
+ if (!S) {
2589
+ y();
2255
2590
  return;
2256
2591
  }
2257
- const T = J(t, x.id), h = le(t, I.id);
2258
- if (!T || !h) {
2259
- v();
2592
+ const _ = pe(t, D.id), x = we(t, S.id);
2593
+ if (!_ || !x) {
2594
+ y();
2260
2595
  return;
2261
2596
  }
2262
- let r = t.map((p) => ({ ...p, items: [...p.items] }));
2263
- if (T === h) {
2264
- const p = r.findIndex((_) => _.zoneKey === T), f = r[p], D = f.items.findIndex((_) => _.id === x.id), N = f.items.findIndex((_) => _.id === I.id), R = N >= 0 ? N : Math.max(0, f.items.length - 1);
2265
- r[p] = {
2266
- ...f,
2267
- items: ct(f.items, D, R)
2597
+ let s = t.map((g) => ({ ...g, items: [...g.items] }));
2598
+ if (_ === x) {
2599
+ const g = s.findIndex((P) => P.zoneKey === _), w = s[g], T = w.items.findIndex((P) => P.id === D.id), k = w.items.findIndex((P) => P.id === S.id), R = k >= 0 ? k : Math.max(0, w.items.length - 1);
2600
+ s[g] = {
2601
+ ...w,
2602
+ items: Lt(w.items, T, R)
2268
2603
  };
2269
2604
  } else {
2270
- const p = r.findIndex((A) => A.zoneKey === T), f = r.findIndex((A) => A.zoneKey === h), D = r[p], N = r[f], R = D.items.find((A) => A.id === x.id);
2605
+ const g = s.findIndex((B) => B.zoneKey === _), w = s.findIndex((B) => B.zoneKey === x), T = s[g], k = s[w], R = T.items.find((B) => B.id === D.id);
2271
2606
  if (!R) {
2272
- v();
2607
+ y();
2273
2608
  return;
2274
2609
  }
2275
- const _ = D.items.filter((A) => A.id !== x.id), K = N.items.findIndex((A) => A.id === I.id), G = K >= 0 ? K : N.items.length;
2276
- let ae = _, $ = [...N.items];
2277
- if (N.maxItems !== void 0 && $.length >= N.maxItems) {
2278
- const A = $[$.length - 1];
2279
- $ = $.slice(0, N.maxItems - 1), ae = [..._, A];
2610
+ const P = T.items.filter((B) => B.id !== D.id), G = k.items.findIndex((B) => B.id === S.id), W = G >= 0 ? G : k.items.length;
2611
+ let Y = P, V = [...k.items];
2612
+ if (k.maxItems !== void 0 && V.length >= k.maxItems) {
2613
+ const B = V[V.length - 1];
2614
+ V = V.slice(0, k.maxItems - 1), Y = [...P, B];
2280
2615
  }
2281
- const ne = Math.min(G, $.length), he = [
2282
- ...$.slice(0, ne),
2616
+ const q = Math.min(W, V.length), ne = [
2617
+ ...V.slice(0, q),
2283
2618
  R,
2284
- ...$.slice(ne)
2619
+ ...V.slice(q)
2285
2620
  ];
2286
- r[p] = { ...D, items: ae }, r[f] = { ...N, items: he };
2621
+ s[g] = { ...T, items: Y }, s[w] = { ...k, items: ne };
2287
2622
  }
2288
- n(r), b.current?.(r), v();
2623
+ n(s), b.current?.(s), y();
2289
2624
  },
2290
2625
  [t]
2291
- ), S = y(
2292
- (m) => ({
2293
- id: m,
2294
- "data-zone-key": m
2626
+ ), v = h(
2627
+ (p) => ({
2628
+ id: p,
2629
+ "data-zone-key": p
2295
2630
  }),
2296
2631
  []
2297
- ), k = y(
2298
- (m) => {
2299
- const x = J(t, m.id) ?? "";
2632
+ ), I = h(
2633
+ (p) => {
2634
+ const D = pe(t, p.id) ?? "";
2300
2635
  return {
2301
- id: m.id,
2302
- "data-item-id": m.id,
2303
- "data-zone-key": x
2636
+ id: p.id,
2637
+ "data-item-id": p.id,
2638
+ "data-zone-key": D
2304
2639
  };
2305
2640
  },
2306
2641
  [t]
2307
2642
  );
2308
2643
  return {
2309
2644
  zones: t,
2310
- activeZone: s,
2645
+ activeZone: o,
2311
2646
  activeItem: a,
2312
- getZoneProps: S,
2313
- getItemProps: k,
2647
+ getZoneProps: v,
2648
+ getItemProps: I,
2314
2649
  handleDragStart: C,
2315
- handleDragOver: i,
2316
- handleDragEnd: d
2650
+ handleDragOver: l,
2651
+ handleDragEnd: c
2317
2652
  };
2318
2653
  }
2319
- let H = null, V = null, Y = !1;
2320
- const pt = [
2654
+ let j = null, te = null, le = !1;
2655
+ const Kt = [
2321
2656
  "DndContext",
2322
2657
  "DragOverlay",
2323
2658
  "useSensors",
@@ -2326,22 +2661,22 @@ const pt = [
2326
2661
  "PointerSensor",
2327
2662
  "KeyboardSensor",
2328
2663
  "closestCenter"
2329
- ], gt = [
2664
+ ], Gt = [
2330
2665
  "SortableContext",
2331
2666
  "useSortable",
2332
2667
  "verticalListSortingStrategy"
2333
2668
  ];
2334
- function bt(e, t) {
2669
+ function Vt(e, t) {
2335
2670
  const n = [], a = e ?? {};
2336
- for (const s of pt)
2337
- a[s] === void 0 && n.push(`@dnd-kit/core:${s}`);
2338
- const o = t ?? {};
2339
- for (const s of gt)
2340
- o[s] === void 0 && n.push(`@dnd-kit/sortable:${s}`);
2671
+ for (const o of Kt)
2672
+ a[o] === void 0 && n.push(`@dnd-kit/core:${o}`);
2673
+ const r = t ?? {};
2674
+ for (const o of Gt)
2675
+ r[o] === void 0 && n.push(`@dnd-kit/sortable:${o}`);
2341
2676
  return n.length === 0 ? { ok: !0 } : { ok: !1, missing: n };
2342
2677
  }
2343
- function ft() {
2344
- return H ? Promise.resolve(H) : Y ? Promise.resolve(null) : V || (V = (async () => {
2678
+ function Ht() {
2679
+ return j ? Promise.resolve(j) : le ? Promise.resolve(null) : te || (te = (async () => {
2345
2680
  try {
2346
2681
  const [e, t, n] = await Promise.all([
2347
2682
  import("@dnd-kit/core"),
@@ -2349,404 +2684,410 @@ function ft() {
2349
2684
  import("@dnd-kit/utilities").catch(() => (process.env.NODE_ENV !== "production" && console.warn(
2350
2685
  "SortableZones: @dnd-kit/utilities failed to load; drag-overlay positioning will fall back (items may teleport instead of slide)."
2351
2686
  ), {}))
2352
- ]), a = bt(e, t);
2353
- return a.ok ? (H = {
2687
+ ]), a = Vt(e, t);
2688
+ return a.ok ? (j = {
2354
2689
  core: e,
2355
2690
  sortable: t,
2356
2691
  utilities: n
2357
- }, H) : (Y = !0, process.env.NODE_ENV !== "production" && console.error(
2692
+ }, j) : (le = !0, process.env.NODE_ENV !== "production" && console.error(
2358
2693
  `SortableZones: @dnd-kit shape mismatch — missing exports: ${a.missing.join(", ")}. Check installed versions against optionalDependencies in @mt-gloss/ui.`
2359
2694
  ), null);
2360
2695
  } catch {
2361
- return Y = !0, null;
2696
+ return le = !0, null;
2362
2697
  }
2363
- })(), V);
2698
+ })(), te);
2364
2699
  }
2365
- function ht(e) {
2366
- const { zones: t, onZoneChange: n, renderZone: a, renderItem: o, renderDragOverlay: s } = e, l = mt({ zones: t, onZoneChange: n }), [c, b] = F.useState(H);
2367
- return F.useEffect(() => {
2368
- if (c) return;
2369
- let u = !0;
2370
- return ft().then((w) => {
2371
- u && b(w);
2700
+ function zt(e) {
2701
+ const { zones: t, onZoneChange: n, renderZone: a, renderItem: r, renderDragOverlay: o } = e, i = Bt({ zones: t, onZoneChange: n }), [m, b] = K.useState(j);
2702
+ return K.useEffect(() => {
2703
+ if (m) return;
2704
+ let d = !0;
2705
+ return Ht().then((f) => {
2706
+ d && b(f);
2372
2707
  }), () => {
2373
- u = !1;
2708
+ d = !1;
2374
2709
  };
2375
- }, [c]), c ? /* @__PURE__ */ g(
2376
- ge,
2710
+ }, [m]), m ? /* @__PURE__ */ u(
2711
+ Ie,
2377
2712
  {
2378
- state: l,
2379
- modules: c,
2713
+ state: i,
2714
+ modules: m,
2380
2715
  renderZone: a,
2381
- renderItem: o,
2382
- renderDragOverlay: s
2716
+ renderItem: r,
2717
+ renderDragOverlay: o
2383
2718
  }
2384
- ) : /* @__PURE__ */ g("div", { "data-sortable-zones-passive": "true", children: l.zones.map((u) => {
2385
- const w = u.items.map((C) => /* @__PURE__ */ g(F.Fragment, { children: o(C) }, C.id));
2386
- return /* @__PURE__ */ g("div", { ...l.getZoneProps(u.zoneKey), children: a(u.zoneKey, u.items, w) }, u.zoneKey);
2719
+ ) : /* @__PURE__ */ u("div", { "data-sortable-zones-passive": "true", children: i.zones.map((d) => {
2720
+ const f = d.items.map((C) => /* @__PURE__ */ u(K.Fragment, { children: r(C) }, C.id));
2721
+ return /* @__PURE__ */ u("div", { ...i.getZoneProps(d.zoneKey), children: a(d.zoneKey, d.items, f) }, d.zoneKey);
2387
2722
  }) });
2388
2723
  }
2389
- ht.displayName = "SortableZones";
2390
- function ge({
2724
+ zt.displayName = "SortableZones";
2725
+ function Ie({
2391
2726
  state: e,
2392
2727
  modules: t,
2393
2728
  renderZone: n,
2394
2729
  renderItem: a,
2395
- renderDragOverlay: o
2730
+ renderDragOverlay: r
2396
2731
  }) {
2397
- const { core: s, sortable: l, utilities: c } = t, { DndContext: b, DragOverlay: u, useSensors: w, useSensor: C, useDroppable: i, PointerSensor: d, KeyboardSensor: S, closestCenter: k } = s, { SortableContext: m, verticalListSortingStrategy: x } = l, I = w(
2398
- C(d, { activationConstraint: { distance: 5 } }),
2399
- C(S)
2400
- ), v = b, T = u, h = m;
2732
+ const { core: o, sortable: i, utilities: m } = t, { DndContext: b, DragOverlay: d, useSensors: f, useSensor: C, useDroppable: l, PointerSensor: c, KeyboardSensor: v, closestCenter: I } = o, { SortableContext: p, verticalListSortingStrategy: D } = i, S = f(
2733
+ C(c, { activationConstraint: { distance: 5 } }),
2734
+ C(v)
2735
+ ), y = b, _ = d, x = p;
2401
2736
  return /* @__PURE__ */ O(
2402
- v,
2737
+ y,
2403
2738
  {
2404
- sensors: I,
2405
- collisionDetection: k,
2739
+ sensors: S,
2740
+ collisionDetection: I,
2406
2741
  onDragStart: e.handleDragStart,
2407
2742
  onDragOver: e.handleDragOver,
2408
2743
  onDragEnd: e.handleDragEnd,
2409
2744
  children: [
2410
- e.zones.map((r) => {
2411
- const p = r.items.map((D) => D.id), f = r.items.map((D) => /* @__PURE__ */ g(
2412
- be,
2745
+ e.zones.map((s) => {
2746
+ const g = s.items.map((T) => T.id), w = s.items.map((T) => /* @__PURE__ */ u(
2747
+ Re,
2413
2748
  {
2414
- id: D.id,
2415
- useSortable: l.useSortable,
2416
- cssHelper: c.CSS,
2417
- children: a(D)
2749
+ id: T.id,
2750
+ useSortable: i.useSortable,
2751
+ cssHelper: m.CSS,
2752
+ children: a(T)
2418
2753
  },
2419
- D.id
2754
+ T.id
2420
2755
  ));
2421
- return /* @__PURE__ */ g(
2422
- fe,
2756
+ return /* @__PURE__ */ u(
2757
+ Me,
2423
2758
  {
2424
- zoneKey: r.zoneKey,
2425
- zoneProps: e.getZoneProps(r.zoneKey),
2426
- useDroppable: i,
2427
- children: /* @__PURE__ */ g(h, { items: p, strategy: x, children: n(r.zoneKey, r.items, f) })
2759
+ zoneKey: s.zoneKey,
2760
+ zoneProps: e.getZoneProps(s.zoneKey),
2761
+ useDroppable: l,
2762
+ children: /* @__PURE__ */ u(x, { items: g, strategy: D, children: n(s.zoneKey, s.items, w) })
2428
2763
  },
2429
- r.zoneKey
2764
+ s.zoneKey
2430
2765
  );
2431
2766
  }),
2432
- /* @__PURE__ */ g(T, { children: e.activeItem ? o?.(e.activeItem) ?? a(e.activeItem) : null })
2767
+ /* @__PURE__ */ u(_, { children: e.activeItem ? r?.(e.activeItem) ?? a(e.activeItem) : null })
2433
2768
  ]
2434
2769
  }
2435
2770
  );
2436
2771
  }
2437
- ge.displayName = "SortableZonesInner";
2438
- function be({ id: e, useSortable: t, cssHelper: n, children: a }) {
2439
- const { attributes: o, listeners: s, setNodeRef: l, transform: c, transition: b, isDragging: u } = t({ id: e }), w = {
2440
- transform: n?.Transform?.toString(c) ?? void 0,
2772
+ Ie.displayName = "SortableZonesInner";
2773
+ function Re({ id: e, useSortable: t, cssHelper: n, children: a }) {
2774
+ const { attributes: r, listeners: o, setNodeRef: i, transform: m, transition: b, isDragging: d } = t({ id: e }), f = {
2775
+ transform: n?.Transform?.toString(m) ?? void 0,
2441
2776
  transition: b,
2442
- opacity: u ? 0.5 : 1
2777
+ opacity: d ? 0.5 : 1
2443
2778
  };
2444
- return /* @__PURE__ */ g("div", { ref: l, style: w, "data-sortable-item-id": e, ...o, ...s, children: a });
2779
+ return /* @__PURE__ */ u("div", { ref: i, style: f, "data-sortable-item-id": e, ...r, ...o, children: a });
2445
2780
  }
2446
- be.displayName = "SortableItem";
2447
- function fe({
2781
+ Re.displayName = "SortableItem";
2782
+ function Me({
2448
2783
  zoneKey: e,
2449
2784
  zoneProps: t,
2450
2785
  useDroppable: n,
2451
2786
  children: a
2452
2787
  }) {
2453
- const { setNodeRef: o, isOver: s } = n({ id: e });
2454
- return /* @__PURE__ */ g("div", { ref: o, "data-zone-is-over": s || void 0, ...t, children: a });
2788
+ const { setNodeRef: r, isOver: o } = n({ id: e });
2789
+ return /* @__PURE__ */ u("div", { ref: r, "data-zone-is-over": o || void 0, ...t, children: a });
2455
2790
  }
2456
- fe.displayName = "ZoneDroppable";
2457
- const vt = F.forwardRef(({ density: e = "compact", children: t, ...n }, a) => {
2458
- const o = { ...n };
2459
- return delete o.className, delete o.style, /* @__PURE__ */ g("div", { ref: a, className: "gloss-container-toolbar", role: "toolbar", ...o, children: /* @__PURE__ */ g(te, { region: "toolbar", density: e, children: t }) });
2791
+ Me.displayName = "ZoneDroppable";
2792
+ const Wt = K.forwardRef(({ density: e = "compact", children: t, ...n }, a) => {
2793
+ const r = { ...n };
2794
+ return delete r.className, delete r.style, /* @__PURE__ */ u("div", { ref: a, className: "gloss-container-toolbar", role: "toolbar", ...r, children: /* @__PURE__ */ u(ge, { region: "toolbar", density: e, children: t }) });
2460
2795
  });
2461
- vt.displayName = "ContainerToolbar";
2462
- const yt = F.forwardRef(({ legend: e, description: t, density: n = "default", children: a, ...o }, s) => {
2463
- const l = { ...o };
2464
- return delete l.className, delete l.style, /* @__PURE__ */ O("fieldset", { ref: s, className: "gloss-container-form-section", ...l, children: [
2465
- e && /* @__PURE__ */ g("legend", { className: "gloss-container-form-section__legend", children: e }),
2466
- t && /* @__PURE__ */ g("p", { className: "gloss-container-form-section__description", children: t }),
2467
- /* @__PURE__ */ g(te, { region: "form-section", density: n, children: a })
2796
+ Wt.displayName = "ContainerToolbar";
2797
+ const Zt = K.forwardRef(({ legend: e, description: t, density: n = "default", children: a, ...r }, o) => {
2798
+ const i = { ...r };
2799
+ return delete i.className, delete i.style, /* @__PURE__ */ O("fieldset", { ref: o, className: "gloss-container-form-section", ...i, children: [
2800
+ e && /* @__PURE__ */ u("legend", { className: "gloss-container-form-section__legend", children: e }),
2801
+ t && /* @__PURE__ */ u("p", { className: "gloss-container-form-section__description", children: t }),
2802
+ /* @__PURE__ */ u(ge, { region: "form-section", density: n, children: a })
2468
2803
  ] });
2469
2804
  });
2470
- yt.displayName = "ContainerFormSection";
2471
- const wt = F.forwardRef(({ density: e = "compact", children: t, ...n }, a) => {
2472
- const o = { ...n };
2473
- return delete o.className, delete o.style, /* @__PURE__ */ g("div", { ref: a, className: "gloss-container-table", ...o, children: /* @__PURE__ */ g(te, { region: "table", density: e, children: t }) });
2805
+ Zt.displayName = "ContainerFormSection";
2806
+ const Ut = K.forwardRef(({ density: e = "compact", children: t, ...n }, a) => {
2807
+ const r = { ...n };
2808
+ return delete r.className, delete r.style, /* @__PURE__ */ u("div", { ref: a, className: "gloss-container-table", ...r, children: /* @__PURE__ */ u(ge, { region: "table", density: e, children: t }) });
2474
2809
  });
2475
- wt.displayName = "ContainerTable";
2810
+ Ut.displayName = "ContainerTable";
2476
2811
  export {
2477
- Na as Accordion,
2478
- Sa as AccordionContent,
2479
- ka as AccordionItem,
2480
- xa as AccordionTrigger,
2481
- Ta as ActionStrip,
2482
- Ia as Actionable,
2483
- Ra as AddressGroup,
2484
- _a as AddressSelect,
2485
- Ma as AsyncLoader,
2486
- Pa as Autocomplete,
2487
- Fa as Badge,
2488
- Ea as BarChartCard,
2489
- Oa as BarsBg,
2490
- Aa as Button,
2491
- La as ButtonGroup,
2492
- $a as ButtonGroupContext,
2493
- Ba as Card,
2494
- Ka as CardActions,
2495
- Ga as CardBack,
2496
- Ha as CardBody,
2497
- za as CardFooter,
2498
- Va as CardHeader,
2499
- Wa as CardMedia,
2500
- Za as CardShell,
2501
- Ua as CardSubtitle,
2502
- Ya as CardTitle,
2503
- qa as ChartControlBar,
2504
- ja as Checkbox,
2505
- Qa as CheckboxGroup,
2506
- Xa as Chip,
2507
- Ja as ColorPicker,
2508
- en as ComparisonCard,
2509
- tn as ContactForm,
2510
- an as ContainerCard,
2511
- nn as ContainerCardActions,
2512
- rn as ContainerCardBody,
2513
- on as ContainerCardFooter,
2514
- sn as ContainerCardHeader,
2515
- ln as ContainerCardMedia,
2516
- dn as ContainerCardSubtitle,
2517
- cn as ContainerCardTitle,
2518
- un as ContainerDialog,
2519
- mn as ContainerDialogActions,
2520
- pn as ContainerDialogBody,
2521
- gn as ContainerDialogHeader,
2522
- yt as ContainerFormSection,
2523
- bn as ContainerPanel,
2524
- wt as ContainerTable,
2525
- vt as ContainerToolbar,
2526
- fn as CreditCardForm,
2527
- hn as DEFAULT_FOOTER_IDS,
2528
- Zo as DEFAULT_MARKET_PRESETS,
2529
- vn as DEFAULT_OVERFLOW_IDS,
2530
- Uo as DEFAULT_PINNED,
2531
- yn as DataTable,
2532
- wn as DatePicker,
2533
- Cn as DateRangePicker,
2534
- Dn as DestructiveModal,
2535
- Nn as DirectionCard,
2536
- Sn as Dismissible,
2537
- kn as DistributionCard,
2538
- xn as DonutChart,
2539
- Tn as Dropdown,
2540
- In as ENTITY_FILTER_KEYS,
2541
- Rn as ENTITY_PROFILE_ROUTES,
2542
- _n as ENTITY_TYPE_PLURAL,
2543
- Ae as EdgeHoverHandle,
2544
- Mn as EntityPicker,
2545
- Pn as EntitySearchPanel,
2546
- Fn as Expandable,
2547
- En as ExpandableChip,
2548
- On as FLIP_AND_STAGE_TIMINGS,
2549
- An as FileUpload,
2550
- Ln as FilterChip,
2551
- $n as FilterInput,
2552
- Bn as FlipAndStageProvider,
2553
- Kn as Form,
2554
- Gn as FormDialog,
2555
- Hn as FormField,
2556
- zn as FusedShape,
2557
- Le as GhostPreview,
2558
- Vn as GroupCheckbox,
2559
- Wn as GroupRadio,
2560
- Zn as HighlightCard,
2561
- Un as HybridDatePicker,
2562
- Yn as ImportWizard,
2563
- nt as InlineNudge,
2564
- qn as Input,
2565
- jn as InputAddon,
2566
- Qn as InputGroup,
2567
- Xn as Link,
2568
- Jn as LoginForm,
2569
- er as MarketPresetRow,
2570
- tr as MaskPresets,
2571
- ar as MaskedInput,
2572
- nr as Menu,
2573
- rr as MenuDivider,
2574
- or as MenuGroup,
2575
- sr as MenuItem,
2576
- ir as MergePrompt,
2577
- lr as MetricCard,
2578
- dr as MetricCardGrid,
2579
- at as MetricGroupContainer,
2580
- cr as MiniCalendar,
2581
- ur as MultiSelect,
2582
- mr as NumberInput,
2583
- pr as ObjectArrow,
2584
- gr as OrderFilterBar,
2585
- Yo as PERIOD_OPTIONS,
2586
- Ve as PageChip,
2587
- de as PageDropdown,
2588
- br as PasswordInput,
2589
- fr as PaymentForm,
2590
- hr as PaymentMethodSelect,
2591
- vr as PhoneInput,
2592
- yr as PinToMetric,
2593
- dt as PresetSwatchRow,
2594
- wr as ProfileCard,
2595
- Cr as ProgressCard,
2596
- Dr as QuickConfigPanel,
2597
- Qe as RECONFIG_BACKSIDE_LABELS,
2598
- qo as ROLLING_OPTIONS,
2599
- Nr as Radio,
2600
- Sr as RadioGroup,
2601
- kr as RangeSlider,
2602
- xr as Rating,
2603
- et as ReconfigBacksideButtons,
2604
- Tr as RegistrationForm,
2605
- Ir as Row1Controls,
2606
- Rr as Row2FilterTray,
2607
- _r as SearchInput,
2608
- Mr as SegmentCard,
2609
- Pr as SegmentedControl,
2610
- Fr as Select,
2611
- Er as Selectable,
2612
- Or as SimpleMetricCard,
2613
- Ar as SimpleSelector,
2614
- Lr as Skeleton,
2615
- $r as SkeletonCard,
2616
- Br as SkeletonChart,
2617
- Kr as SkeletonTable,
2618
- Gr as Slider,
2619
- Hr as Sortable,
2620
- ht as SortableZones,
2621
- zr as SparklineBg,
2622
- Vr as SplitButton,
2623
- Wr as StackedGroupCard,
2624
- Zr as StatusModeCard,
2625
- Oe as StatusSlotChipMenu,
2626
- Ur as Stepper,
2627
- jo as TODAY_PRESET,
2628
- Yr as TabGroup,
2629
- qr as TabbedDataView,
2630
- jr as TagInput,
2631
- Qr as Textarea,
2632
- st as ThresholdRamp,
2633
- Xr as TimeFrame,
2634
- Jr as TimePicker,
2635
- eo as Toggle,
2636
- to as Tooltip,
2637
- ao as Transition,
2638
- no as TransitionGroup,
2639
- ro as TrendCard,
2640
- oo as TrendIndicator,
2641
- zo as UIContext,
2642
- te as UIContextProvider,
2643
- so as UnifiedBreakdownTable,
2644
- io as UnifiedContextMenu,
2645
- lo as addressGroupMetadata,
2646
- co as addressSchema,
2647
- Ft as allChips,
2648
- Zt as allStateFixtures,
2649
- Wt as allVariantFixtures,
2650
- Lt as blockSamples,
2651
- uo as buildDefaultOverflow,
2652
- Ht as cardSamples,
2653
- Kt as chartSamples,
2654
- Bt as circleSamples,
2655
- ga as compactLayout,
2656
- na as compactState,
2657
- Vt as computeGutterAnchorX,
2658
- mo as contactFormMetadata,
2659
- po as contactSchema,
2660
- ra as contextMenuFixtures,
2661
- go as creditCardFormMetadata,
2662
- bo as creditCardSchema,
2663
- Me as dateChip,
2664
- me as defaultControlBarState,
2665
- fo as destructiveModalMetadata,
2666
- ho as durations,
2667
- vo as easings,
2668
- Ke as emptyFixture,
2669
- Re as entityChip,
2670
- Ye as entityNameActions,
2671
- Ot as entityTabGroup,
2672
- Be as errorFixture,
2673
- aa as filteredState,
2674
- Qo as findPreset,
2675
- Xo as formatDateRange,
2676
- Jo as formatMarketDates,
2677
- es as formatTrend,
2678
- ts as formatValue,
2679
- fa as fullLayout,
2680
- as as generateMarketId,
2681
- yo as generateTabId,
2682
- ns as getAllPresets,
2683
- rs as getDateRangeForPreset,
2684
- wo as getMenuActions,
2685
- os as getPresetLabel,
2686
- Co as getTransitionStyle,
2687
- pa as gridCards,
2688
- Do as interpolate,
2689
- ss as isInRange,
2690
- is as isMarketActive,
2691
- ls as isSameDay,
2692
- ta as itemColumns,
2693
- Jt as itemRows,
2694
- $e as loadingFixture,
2695
- No as loginFormMetadata,
2696
- So as loginSchema,
2697
- Pe as manufacturerChip,
2698
- wa as manyTabs,
2699
- ko as mergeHandlers,
2700
- xo as mergeRefs,
2701
- Et as metricTabGroup,
2702
- va as mixedTabs,
2703
- ds as normalizePresetId,
2704
- je as numericActions,
2705
- ea as orderColumns,
2706
- qe as orderIdActions,
2707
- Xt as orderRows,
2708
- ha as ordersTabs,
2709
- To as parseNumericValue,
2710
- Io as paymentFormMetadata,
2711
- Ro as paymentSchema,
2712
- _o as presets,
2713
- Mo as registrationFormMetadata,
2714
- Po as registrationSchema,
2715
- sa as sampleCompareRanges,
2716
- da as sampleCustomMarkets,
2717
- oa as sampleDateRange,
2718
- ca as sampleMarketPresetData,
2719
- la as sampleMarkets,
2720
- ma as samplePeriodPresets,
2721
- ia as samplePreferences,
2722
- ua as samplePresets,
2723
- ya as singleTab,
2724
- Ut as sparklineFixture,
2725
- Yt as sparklineUpFixture,
2726
- ze as staleDonutFixture,
2727
- Ge as staleFixture,
2728
- He as staleSparklineFixture,
2729
- qt as standardFixture,
2730
- Qt as standardFlatFixture,
2731
- ba as standardLayout,
2732
- jt as standardNegativeFixture,
2733
- _e as statusChip,
2734
- Gt as tableSamples,
2735
- $t as textSamples,
2736
- At as timeFrameTabGroup,
2737
- cs as toUppercasePresetId,
2738
- Pt as useArrowNavigation,
2739
- Fo as useCheckboxGroupContext,
2740
- zt as useEdgeHoverResize,
2741
- Eo as useFilterLayout,
2742
- Oo as useFlipAndStage,
2743
- Ao as useFlipAndStageContext,
2744
- Lo as useFlipAndStageContextOptional,
2745
- Mt as useFocusReturn,
2746
- $o as useFocusTrap,
2747
- Bo as useFormContext,
2748
- Ko as useRadioGroupContext,
2749
- Go as useSlideOutReveal,
2750
- mt as useSortableZones,
2751
- Vo as useUIContext
2812
+ Qa as Accordion,
2813
+ Ja as AccordionContent,
2814
+ en as AccordionItem,
2815
+ tn as AccordionTrigger,
2816
+ an as ActionStrip,
2817
+ nn as Actionable,
2818
+ rn as AddressGroup,
2819
+ sn as AddressSelect,
2820
+ on as AsyncLoader,
2821
+ ln as Autocomplete,
2822
+ dn as Badge,
2823
+ cn as BarChartCard,
2824
+ un as BarsBg,
2825
+ mn as Button,
2826
+ pn as ButtonGroup,
2827
+ gn as ButtonGroupContext,
2828
+ fn as Card,
2829
+ bn as CardActions,
2830
+ hn as CardBack,
2831
+ vn as CardBody,
2832
+ yn as CardFooter,
2833
+ wn as CardHeader,
2834
+ Dn as CardMedia,
2835
+ Cn as CardShell,
2836
+ Nn as CardSubtitle,
2837
+ kn as CardTitle,
2838
+ Sn as ChartControlBar,
2839
+ xn as Checkbox,
2840
+ Tn as CheckboxGroup,
2841
+ _n as Chip,
2842
+ In as ColorPicker,
2843
+ Rn as ComparisonCard,
2844
+ Mn as ContactForm,
2845
+ Pn as ContainerCard,
2846
+ Fn as ContainerCardActions,
2847
+ En as ContainerCardBody,
2848
+ On as ContainerCardFooter,
2849
+ An as ContainerCardHeader,
2850
+ Ln as ContainerCardMedia,
2851
+ $n as ContainerCardSubtitle,
2852
+ Bn as ContainerCardTitle,
2853
+ Kn as ContainerDialog,
2854
+ Gn as ContainerDialogActions,
2855
+ Vn as ContainerDialogBody,
2856
+ Hn as ContainerDialogHeader,
2857
+ Zt as ContainerFormSection,
2858
+ zn as ContainerPanel,
2859
+ Ut as ContainerTable,
2860
+ Wt as ContainerToolbar,
2861
+ Wn as CreditCardForm,
2862
+ Zn as DEFAULT_FOOTER_IDS,
2863
+ Do as DEFAULT_MARKET_PRESETS,
2864
+ Un as DEFAULT_OVERFLOW_IDS,
2865
+ Co as DEFAULT_PINNED,
2866
+ Ce as DEFAULT_RESIZE_PHYSICS,
2867
+ Yn as DataTable,
2868
+ qn as DatePicker,
2869
+ jn as DateRangePicker,
2870
+ Xn as DestructiveModal,
2871
+ _t as DevTuningPanel,
2872
+ Qn as DirectionCard,
2873
+ Jn as Dismissible,
2874
+ er as DistributionCard,
2875
+ tr as DonutChart,
2876
+ ar as Dropdown,
2877
+ nr as ENTITY_FILTER_KEYS,
2878
+ rr as ENTITY_PROFILE_ROUTES,
2879
+ sr as ENTITY_TYPE_PLURAL,
2880
+ Qe as EdgeHoverHandle,
2881
+ or as EntityPicker,
2882
+ ir as EntitySearchPanel,
2883
+ lr as Expandable,
2884
+ dr as ExpandableChip,
2885
+ cr as FLIP_AND_STAGE_TIMINGS,
2886
+ ur as FileUpload,
2887
+ mr as FilterChip,
2888
+ pr as FilterInput,
2889
+ gr as FlipAndStageProvider,
2890
+ fr as Form,
2891
+ br as FormDialog,
2892
+ hr as FormField,
2893
+ vr as FusedShape,
2894
+ Je as GhostPreview,
2895
+ yr as GroupCheckbox,
2896
+ wr as GroupRadio,
2897
+ Dr as HighlightCard,
2898
+ Cr as HybridDatePicker,
2899
+ Nr as ImportWizard,
2900
+ Rt as InlineNudge,
2901
+ kr as Input,
2902
+ Sr as InputAddon,
2903
+ xr as InputGroup,
2904
+ Tr as Link,
2905
+ _r as LoginForm,
2906
+ Ir as MarketPresetRow,
2907
+ Rr as MaskPresets,
2908
+ Mr as MaskedInput,
2909
+ Pr as Menu,
2910
+ Fr as MenuDivider,
2911
+ Er as MenuGroup,
2912
+ Or as MenuItem,
2913
+ Ar as MergePrompt,
2914
+ Lr as MetricCard,
2915
+ $r as MetricCardGrid,
2916
+ yt as MetricGroupContainer,
2917
+ Br as MiniCalendar,
2918
+ Kr as MultiSelect,
2919
+ Gr as NumberInput,
2920
+ Vr as ObjectArrow,
2921
+ Hr as OrderFilterBar,
2922
+ No as PERIOD_OPTIONS,
2923
+ it as PageChip,
2924
+ Ne as PageDropdown,
2925
+ zr as PasswordInput,
2926
+ Wr as PaymentForm,
2927
+ Zr as PaymentMethodSelect,
2928
+ Ur as PhoneInput,
2929
+ Yr as PinToMetric,
2930
+ At as PresetSwatchRow,
2931
+ qr as ProfileCard,
2932
+ jr as ProgressCard,
2933
+ Xr as QuickConfigPanel,
2934
+ gt as RECONFIG_BACKSIDE_LABELS,
2935
+ ko as ROLLING_OPTIONS,
2936
+ Qr as Radio,
2937
+ Jr as RadioGroup,
2938
+ es as RangeSlider,
2939
+ ts as Rating,
2940
+ ht as ReconfigBacksideButtons,
2941
+ as as RegistrationForm,
2942
+ ns as Row1Controls,
2943
+ rs as Row2FilterTray,
2944
+ ss as SearchInput,
2945
+ os as SegmentCard,
2946
+ is as SegmentedControl,
2947
+ ls as Select,
2948
+ ds as Selectable,
2949
+ cs as SimpleMetricCard,
2950
+ us as SimpleSelector,
2951
+ ms as Skeleton,
2952
+ ps as SkeletonCard,
2953
+ gs as SkeletonChart,
2954
+ fs as SkeletonTable,
2955
+ bs as Slider,
2956
+ hs as Sortable,
2957
+ zt as SortableZones,
2958
+ vs as SparklineBg,
2959
+ ys as SplitButton,
2960
+ ws as StackedGroupCard,
2961
+ Ds as StatusModeCard,
2962
+ Xe as StatusSlotChipMenu,
2963
+ Cs as Stepper,
2964
+ So as TODAY_PRESET,
2965
+ U as TUNING_DEFAULTS,
2966
+ Te as TUNING_STORAGE_KEY,
2967
+ Ns as TabGroup,
2968
+ ks as TabbedDataView,
2969
+ Ss as TagInput,
2970
+ xs as Textarea,
2971
+ Ft as ThresholdRamp,
2972
+ Ts as TimeFrame,
2973
+ _s as TimePicker,
2974
+ Is as Toggle,
2975
+ Rs as Tooltip,
2976
+ Ms as Transition,
2977
+ Ps as TransitionGroup,
2978
+ Fs as TrendCard,
2979
+ Es as TrendIndicator,
2980
+ vo as UIContext,
2981
+ ge as UIContextProvider,
2982
+ Os as UnifiedBreakdownTable,
2983
+ As as UnifiedContextMenu,
2984
+ et as VelocityBuffer,
2985
+ Ls as addressGroupMetadata,
2986
+ $s as addressSchema,
2987
+ la as allChips,
2988
+ Da as allStateFixtures,
2989
+ wa as allVariantFixtures,
2990
+ ma as blockSamples,
2991
+ Bs as buildDefaultOverflow,
2992
+ ha as cardSamples,
2993
+ fa as chartSamples,
2994
+ ga as circleSamples,
2995
+ Ha as compactLayout,
2996
+ Pa as compactState,
2997
+ ya as computeGutterAnchorX,
2998
+ Ks as contactFormMetadata,
2999
+ Gs as contactSchema,
3000
+ Fa as contextMenuFixtures,
3001
+ Vs as creditCardFormMetadata,
3002
+ Hs as creditCardSchema,
3003
+ Ue as dateChip,
3004
+ xe as defaultControlBarState,
3005
+ zs as destructiveModalMetadata,
3006
+ Ws as durations,
3007
+ Zs as easings,
3008
+ nt as emptyFixture,
3009
+ We as entityChip,
3010
+ ut as entityNameActions,
3011
+ ca as entityTabGroup,
3012
+ at as errorFixture,
3013
+ Ma as filteredState,
3014
+ xo as findPreset,
3015
+ To as formatDateRange,
3016
+ _o as formatMarketDates,
3017
+ Io as formatTrend,
3018
+ Ro as formatValue,
3019
+ Wa as fullLayout,
3020
+ Mo as generateMarketId,
3021
+ Us as generateTabId,
3022
+ Po as getAllPresets,
3023
+ Fo as getDateRangeForPreset,
3024
+ Ys as getMenuActions,
3025
+ Eo as getPresetLabel,
3026
+ qs as getTransitionStyle,
3027
+ Va as gridCards,
3028
+ js as interpolate,
3029
+ Oo as isInRange,
3030
+ Ao as isMarketActive,
3031
+ Lo as isSameDay,
3032
+ Ra as itemColumns,
3033
+ _a as itemRows,
3034
+ tt as loadingFixture,
3035
+ Xs as loginFormMetadata,
3036
+ Qs as loginSchema,
3037
+ Ye as manufacturerChip,
3038
+ qa as manyTabs,
3039
+ Js as mergeHandlers,
3040
+ eo as mergeRefs,
3041
+ da as metricTabGroup,
3042
+ Ua as mixedTabs,
3043
+ $o as normalizePresetId,
3044
+ pt as numericActions,
3045
+ Ia as orderColumns,
3046
+ mt as orderIdActions,
3047
+ Ta as orderRows,
3048
+ Za as ordersTabs,
3049
+ to as parseNumericValue,
3050
+ ao as paymentFormMetadata,
3051
+ no as paymentSchema,
3052
+ ro as presets,
3053
+ so as registrationFormMetadata,
3054
+ oo as registrationSchema,
3055
+ Oa as sampleCompareRanges,
3056
+ $a as sampleCustomMarkets,
3057
+ Ea as sampleDateRange,
3058
+ Ba as sampleMarketPresetData,
3059
+ La as sampleMarkets,
3060
+ Ga as samplePeriodPresets,
3061
+ Aa as samplePreferences,
3062
+ Ka as samplePresets,
3063
+ Ya as singleTab,
3064
+ Ca as sparklineFixture,
3065
+ Na as sparklineUpFixture,
3066
+ ot as staleDonutFixture,
3067
+ rt as staleFixture,
3068
+ st as staleSparklineFixture,
3069
+ ka as standardFixture,
3070
+ xa as standardFlatFixture,
3071
+ za as standardLayout,
3072
+ Sa as standardNegativeFixture,
3073
+ Ze as statusChip,
3074
+ ba as tableSamples,
3075
+ pa as textSamples,
3076
+ ua as timeFrameTabGroup,
3077
+ Bo as toUppercasePresetId,
3078
+ ia as useArrowNavigation,
3079
+ io as useCheckboxGroupContext,
3080
+ va as useEdgeHoverResize,
3081
+ lo as useFilterLayout,
3082
+ co as useFlipAndStage,
3083
+ uo as useFlipAndStageContext,
3084
+ mo as useFlipAndStageContextOptional,
3085
+ oa as useFocusReturn,
3086
+ po as useFocusTrap,
3087
+ go as useFormContext,
3088
+ fo as useRadioGroupContext,
3089
+ Ct as useResizeTuning,
3090
+ bo as useSlideOutReveal,
3091
+ Bt as useSortableZones,
3092
+ yo as useUIContext
2752
3093
  };