@mt-gloss/ui 0.0.42 → 0.0.44

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