jaml-ui 4.6.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,15 +1,16 @@
1
- import { jsx as a, jsxs as _, Fragment as Ge } from "react/jsx-runtime";
2
- import U, { useState as T, useRef as J, useEffect as W, useId as Ye, useCallback as q, useLayoutEffect as Ee, useSyncExternalStore as Xe, useMemo as Ce, Children as Ke } from "react";
3
- import { j as He, k as Ze, r as Ve } from "./spriteMapper-gImEz0wa.js";
4
- const $ = U.forwardRef(
1
+ import { jsx as a, jsxs as _, Fragment as Xe } from "react/jsx-runtime";
2
+ import z, { useState as T, useRef as J, useEffect as W, useId as He, useCallback as Q, useLayoutEffect as Ae, useSyncExternalStore as Ze, useMemo as Pe, Children as Ve } from "react";
3
+ import { resolveJamlAssetUrl as qe } from "../assets.js";
4
+ import { JOKERS as Qe, JOKER_FACES as et, TAROTS_AND_PLANETS as tt, CONSUMABLE_FACES as nt, VOUCHERS as rt, BOSSES as ot, TAGS as at, BOOSTER_PACKS as it } from "../sprites.js";
5
+ const $ = z.forwardRef(
5
6
  function({ as: t = "div", children: n, ...r }, o) {
6
7
  return /* @__PURE__ */ a(t, { ref: o, ...r, children: n });
7
8
  }
8
- ), pn = U.forwardRef(
9
+ ), Cn = z.forwardRef(
9
10
  function({ children: t, ...n }, r) {
10
11
  return /* @__PURE__ */ a("canvas", { ref: r, ...n, children: t });
11
12
  }
12
- ), qe = {
13
+ ), st = {
13
14
  red: "j-section-header__tag--red",
14
15
  orange: "j-section-header__tag--orange",
15
16
  blue: "j-section-header__tag--blue",
@@ -17,7 +18,7 @@ const $ = U.forwardRef(
17
18
  purple: "j-section-header__tag--purple",
18
19
  gold: "j-section-header__tag--gold",
19
20
  grey: "j-section-header__tag--grey"
20
- }, Qe = {
21
+ }, lt = {
21
22
  red: "j-section-header__rule--red",
22
23
  orange: "j-section-header__rule--orange",
23
24
  blue: "j-section-header__rule--blue",
@@ -26,7 +27,7 @@ const $ = U.forwardRef(
26
27
  gold: "j-section-header__rule--gold",
27
28
  grey: "j-section-header__rule--grey"
28
29
  };
29
- function et({
30
+ function ct({
30
31
  label: e,
31
32
  tone: t = "blue",
32
33
  className: n,
@@ -34,11 +35,11 @@ function et({
34
35
  }) {
35
36
  const o = ["j-section-header", n].filter(Boolean).join(" ");
36
37
  return /* @__PURE__ */ _("div", { className: o, ...r, children: [
37
- /* @__PURE__ */ a("span", { className: `j-section-header__tag ${qe[t]}`, children: e }),
38
- /* @__PURE__ */ a("span", { className: `j-section-header__rule ${Qe[t]}`, "aria-hidden": !0 })
38
+ /* @__PURE__ */ a("span", { className: `j-section-header__tag ${st[t]}`, children: e }),
39
+ /* @__PURE__ */ a("span", { className: `j-section-header__rule ${lt[t]}`, "aria-hidden": !0 })
39
40
  ] });
40
41
  }
41
- function fn({
42
+ function Ln({
42
43
  title: e,
43
44
  tone: t = "blue",
44
45
  body: n,
@@ -48,11 +49,11 @@ function fn({
48
49
  }) {
49
50
  const s = ["j-panel", r].filter(Boolean).join(" "), u = n ?? !!e;
50
51
  return /* @__PURE__ */ _("div", { className: s, ...i, children: [
51
- e != null && e !== !1 ? /* @__PURE__ */ a(et, { label: e, tone: t }) : null,
52
+ e != null && e !== !1 ? /* @__PURE__ */ a(ct, { label: e, tone: t }) : null,
52
53
  u ? /* @__PURE__ */ a("div", { className: "j-panel__body", children: o }) : o
53
54
  ] });
54
55
  }
55
- const tt = {
56
+ const ut = {
56
57
  micro: "j-text--micro",
57
58
  xs: "j-text--xs",
58
59
  sm: "j-text--sm",
@@ -60,7 +61,7 @@ const tt = {
60
61
  lg: "j-text--lg",
61
62
  xl: "j-text--xl",
62
63
  display: "j-text--display"
63
- }, nt = {
64
+ }, dt = {
64
65
  white: "j-text--white",
65
66
  grey: "j-text--grey",
66
67
  gold: "j-text--gold",
@@ -70,11 +71,11 @@ const tt = {
70
71
  orange: "j-text--orange",
71
72
  purple: "j-text--purple"
72
73
  };
73
- function Y({ size: e = "md", tone: t = "white", className: n, children: r, ...o }) {
74
- const i = ["j-text", tt[e], nt[t], n].filter(Boolean).join(" ");
74
+ function K({ size: e = "md", tone: t = "white", className: n, children: r, ...o }) {
75
+ const i = ["j-text", ut[e], dt[t], n].filter(Boolean).join(" ");
75
76
  return /* @__PURE__ */ a("span", { className: i, ...o, children: r });
76
77
  }
77
- const rt = {
78
+ const pt = {
78
79
  "j-stack": {
79
80
  gap: {
80
81
  xs: "j-stack--gap-xs",
@@ -118,8 +119,8 @@ const rt = {
118
119
  }
119
120
  }
120
121
  };
121
- function Le(e, { gap: t = "md", align: n, justify: r }, o, i) {
122
- const s = rt[e];
122
+ function Te(e, { gap: t = "md", align: n, justify: r }, o, i) {
123
+ const s = pt[e];
123
124
  return [
124
125
  e,
125
126
  s.gap[t],
@@ -129,7 +130,7 @@ function Le(e, { gap: t = "md", align: n, justify: r }, o, i) {
129
130
  o
130
131
  ].filter(Boolean).join(" ");
131
132
  }
132
- function mn({
133
+ function An({
133
134
  gap: e,
134
135
  align: t,
135
136
  justify: n,
@@ -137,9 +138,9 @@ function mn({
137
138
  children: o,
138
139
  ...i
139
140
  }) {
140
- return /* @__PURE__ */ a("div", { className: Le("j-stack", { gap: e, align: t, justify: n }, r), ...i, children: o });
141
+ return /* @__PURE__ */ a("div", { className: Te("j-stack", { gap: e, align: t, justify: n }, r), ...i, children: o });
141
142
  }
142
- function ot({
143
+ function ft({
143
144
  gap: e,
144
145
  align: t = "center",
145
146
  justify: n,
@@ -151,7 +152,7 @@ function ot({
151
152
  return /* @__PURE__ */ a(
152
153
  "div",
153
154
  {
154
- className: Le(
155
+ className: Te(
155
156
  "j-row",
156
157
  { gap: e, align: t, justify: n },
157
158
  o,
@@ -162,23 +163,23 @@ function ot({
162
163
  }
163
164
  );
164
165
  }
165
- var Pe = {
166
+ var Re = {
166
167
  color: void 0,
167
168
  size: void 0,
168
169
  className: void 0,
169
170
  style: void 0,
170
171
  attr: void 0
171
- }, he = U.createContext && /* @__PURE__ */ U.createContext(Pe), at = ["attr", "size", "title"];
172
- function it(e, t) {
172
+ }, je = z.createContext && /* @__PURE__ */ z.createContext(Re), mt = ["attr", "size", "title"];
173
+ function ht(e, t) {
173
174
  if (e == null) return {};
174
- var n, r, o = st(e, t);
175
+ var n, r, o = gt(e, t);
175
176
  if (Object.getOwnPropertySymbols) {
176
177
  var i = Object.getOwnPropertySymbols(e);
177
178
  for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) === -1 && {}.propertyIsEnumerable.call(e, n) && (o[n] = e[n]);
178
179
  }
179
180
  return o;
180
181
  }
181
- function st(e, t) {
182
+ function gt(e, t) {
182
183
  if (e == null) return {};
183
184
  var n = {};
184
185
  for (var r in e) if ({}.hasOwnProperty.call(e, r)) {
@@ -187,16 +188,16 @@ function st(e, t) {
187
188
  }
188
189
  return n;
189
190
  }
190
- function ie() {
191
- return ie = Object.assign ? Object.assign.bind() : function(e) {
191
+ function se() {
192
+ return se = Object.assign ? Object.assign.bind() : function(e) {
192
193
  for (var t = 1; t < arguments.length; t++) {
193
194
  var n = arguments[t];
194
195
  for (var r in n) ({}).hasOwnProperty.call(n, r) && (e[r] = n[r]);
195
196
  }
196
197
  return e;
197
- }, ie.apply(null, arguments);
198
+ }, se.apply(null, arguments);
198
199
  }
199
- function ge(e, t) {
200
+ function ve(e, t) {
200
201
  var n = Object.keys(e);
201
202
  if (Object.getOwnPropertySymbols) {
202
203
  var r = Object.getOwnPropertySymbols(e);
@@ -206,25 +207,25 @@ function ge(e, t) {
206
207
  }
207
208
  return n;
208
209
  }
209
- function se(e) {
210
+ function le(e) {
210
211
  for (var t = 1; t < arguments.length; t++) {
211
212
  var n = arguments[t] != null ? arguments[t] : {};
212
- t % 2 ? ge(Object(n), !0).forEach(function(r) {
213
- lt(e, r, n[r]);
214
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : ge(Object(n)).forEach(function(r) {
213
+ t % 2 ? ve(Object(n), !0).forEach(function(r) {
214
+ bt(e, r, n[r]);
215
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : ve(Object(n)).forEach(function(r) {
215
216
  Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(n, r));
216
217
  });
217
218
  }
218
219
  return e;
219
220
  }
220
- function lt(e, t, n) {
221
- return (t = ct(t)) in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e;
221
+ function bt(e, t, n) {
222
+ return (t = jt(t)) in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e;
222
223
  }
223
- function ct(e) {
224
- var t = ut(e, "string");
224
+ function jt(e) {
225
+ var t = vt(e, "string");
225
226
  return typeof t == "symbol" ? t : t + "";
226
227
  }
227
- function ut(e, t) {
228
+ function vt(e, t) {
228
229
  if (typeof e != "object" || !e) return e;
229
230
  var n = e[Symbol.toPrimitive];
230
231
  if (n !== void 0) {
@@ -234,83 +235,83 @@ function ut(e, t) {
234
235
  }
235
236
  return (t === "string" ? String : Number)(e);
236
237
  }
237
- function Ae(e) {
238
- return e && e.map((t, n) => /* @__PURE__ */ U.createElement(t.tag, se({
238
+ function Be(e) {
239
+ return e && e.map((t, n) => /* @__PURE__ */ z.createElement(t.tag, le({
239
240
  key: n
240
- }, t.attr), Ae(t.child)));
241
+ }, t.attr), Be(t.child)));
241
242
  }
242
243
  function I(e) {
243
- return (t) => /* @__PURE__ */ U.createElement(dt, ie({
244
- attr: se({}, e.attr)
245
- }, t), Ae(e.child));
244
+ return (t) => /* @__PURE__ */ z.createElement(_t, se({
245
+ attr: le({}, e.attr)
246
+ }, t), Be(e.child));
246
247
  }
247
- function dt(e) {
248
+ function _t(e) {
248
249
  var t = (n) => {
249
- var r = e.attr, o = e.size, i = e.title, s = it(e, at), u = o || n.size || "1em", p;
250
- return n.className && (p = n.className), e.className && (p = (p ? p + " " : "") + e.className), /* @__PURE__ */ U.createElement("svg", ie({
250
+ var r = e.attr, o = e.size, i = e.title, s = ht(e, mt), u = o || n.size || "1em", p;
251
+ return n.className && (p = n.className), e.className && (p = (p ? p + " " : "") + e.className), /* @__PURE__ */ z.createElement("svg", se({
251
252
  stroke: "currentColor",
252
253
  fill: "currentColor",
253
254
  strokeWidth: "0"
254
255
  }, n.attr, r, s, {
255
256
  className: p,
256
- style: se(se({
257
+ style: le(le({
257
258
  color: e.color || n.color
258
259
  }, n.style), e.style),
259
260
  height: u,
260
261
  width: u,
261
262
  xmlns: "http://www.w3.org/2000/svg"
262
- }), i && /* @__PURE__ */ U.createElement("title", null, i), e.children);
263
+ }), i && /* @__PURE__ */ z.createElement("title", null, i), e.children);
263
264
  };
264
- return he !== void 0 ? /* @__PURE__ */ U.createElement(he.Consumer, null, (n) => t(n)) : t(Pe);
265
+ return je !== void 0 ? /* @__PURE__ */ z.createElement(je.Consumer, null, (n) => t(n)) : t(Re);
265
266
  }
266
- function Te(e) {
267
+ function Me(e) {
267
268
  return I({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "line", attr: { x1: "18", y1: "6", x2: "6", y2: "18" }, child: [] }, { tag: "line", attr: { x1: "6", y1: "6", x2: "18", y2: "18" }, child: [] }] })(e);
268
269
  }
269
- function hn(e) {
270
+ function Pn(e) {
270
271
  return I({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "polygon", attr: { points: "12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" }, child: [] }] })(e);
271
272
  }
272
- function gn(e) {
273
+ function Tn(e) {
273
274
  return I({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "circle", attr: { cx: "11", cy: "11", r: "8" }, child: [] }, { tag: "line", attr: { x1: "21", y1: "21", x2: "16.65", y2: "16.65" }, child: [] }] })(e);
274
275
  }
275
- function pt(e) {
276
+ function yt(e) {
276
277
  return I({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "polyline", attr: { points: "1 4 1 10 7 10" }, child: [] }, { tag: "path", attr: { d: "M3.51 15a9 9 0 1 0 2.13-9.36L1 10" }, child: [] }] })(e);
277
278
  }
278
- function bn(e) {
279
+ function Rn(e) {
279
280
  return I({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "polygon", attr: { points: "5 3 19 12 5 21 5 3" }, child: [] }] })(e);
280
281
  }
281
- function ft(e) {
282
+ function xt(e) {
282
283
  return I({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "polyline", attr: { points: "5 9 2 12 5 15" }, child: [] }, { tag: "polyline", attr: { points: "9 5 12 2 15 5" }, child: [] }, { tag: "polyline", attr: { points: "15 19 12 22 9 19" }, child: [] }, { tag: "polyline", attr: { points: "19 9 22 12 19 15" }, child: [] }, { tag: "line", attr: { x1: "2", y1: "12", x2: "22", y2: "12" }, child: [] }, { tag: "line", attr: { x1: "12", y1: "2", x2: "12", y2: "22" }, child: [] }] })(e);
283
284
  }
284
- function mt(e) {
285
+ function kt(e) {
285
286
  return I({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "polyline", attr: { points: "4 14 10 14 10 20" }, child: [] }, { tag: "polyline", attr: { points: "20 10 14 10 14 4" }, child: [] }, { tag: "line", attr: { x1: "14", y1: "10", x2: "21", y2: "3" }, child: [] }, { tag: "line", attr: { x1: "3", y1: "21", x2: "10", y2: "14" }, child: [] }] })(e);
286
287
  }
287
- function ht(e) {
288
+ function St(e) {
288
289
  return I({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "polyline", attr: { points: "15 3 21 3 21 9" }, child: [] }, { tag: "polyline", attr: { points: "9 21 3 21 3 15" }, child: [] }, { tag: "line", attr: { x1: "21", y1: "3", x2: "14", y2: "10" }, child: [] }, { tag: "line", attr: { x1: "3", y1: "21", x2: "10", y2: "14" }, child: [] }] })(e);
289
290
  }
290
- function jn(e) {
291
+ function Bn(e) {
291
292
  return I({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "path", attr: { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }, child: [] }, { tag: "polyline", attr: { points: "7 10 12 15 17 10" }, child: [] }, { tag: "line", attr: { x1: "12", y1: "15", x2: "12", y2: "3" }, child: [] }] })(e);
292
293
  }
293
- function gt(e) {
294
+ function wt(e) {
294
295
  return I({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "rect", attr: { x: "9", y: "9", width: "13", height: "13", rx: "2", ry: "2" }, child: [] }, { tag: "path", attr: { d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" }, child: [] }] })(e);
295
296
  }
296
- function vn(e) {
297
+ function Mn(e) {
297
298
  return I({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "polyline", attr: { points: "16 18 22 12 16 6" }, child: [] }, { tag: "polyline", attr: { points: "8 6 2 12 8 18" }, child: [] }] })(e);
298
299
  }
299
- function bt(e) {
300
+ function Nt(e) {
300
301
  return I({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "polyline", attr: { points: "9 18 15 12 9 6" }, child: [] }] })(e);
301
302
  }
302
- function jt(e) {
303
+ function Et(e) {
303
304
  return I({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "polyline", attr: { points: "15 18 9 12 15 6" }, child: [] }] })(e);
304
305
  }
305
- function Re(e) {
306
+ function Oe(e) {
306
307
  return I({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "polyline", attr: { points: "20 6 9 17 4 12" }, child: [] }] })(e);
307
308
  }
308
- const vt = {
309
+ const Ct = {
309
310
  xs: "j-btn--xs",
310
311
  sm: "j-btn--sm",
311
312
  md: "j-btn--md",
312
313
  lg: "j-btn--lg"
313
- }, _t = {
314
+ }, Lt = {
314
315
  orange: "j-btn--orange",
315
316
  red: "j-btn--red",
316
317
  blue: "j-btn--blue",
@@ -318,7 +319,7 @@ const vt = {
318
319
  purple: "j-btn--purple",
319
320
  grey: "j-btn--grey"
320
321
  };
321
- function X({
322
+ function Y({
322
323
  size: e = "md",
323
324
  tone: t = "orange",
324
325
  fullWidth: n = !1,
@@ -330,15 +331,15 @@ function X({
330
331
  }) {
331
332
  const p = [
332
333
  "j-btn",
333
- vt[e],
334
- _t[t],
334
+ Ct[e],
335
+ Lt[t],
335
336
  n ? "j-btn--full" : "",
336
337
  s ? "j-btn--disabled" : "",
337
338
  o
338
339
  ].filter(Boolean).join(" ");
339
340
  return /* @__PURE__ */ a("button", { className: p, disabled: s, ...u, children: /* @__PURE__ */ a("span", { className: "j-btn__face", children: r ?? i }) });
340
341
  }
341
- function _n({
342
+ function On({
342
343
  value: e,
343
344
  placeholder: t = "--------",
344
345
  disabled: n = !1,
@@ -366,7 +367,7 @@ function _n({
366
367
  }
367
368
  }, x = ["j-seed-copy", p ? "j-seed-copy--copied" : "", s].filter(Boolean).join(" ");
368
369
  return /* @__PURE__ */ _(
369
- X,
370
+ Y,
370
371
  {
371
372
  className: x,
372
373
  style: u,
@@ -375,18 +376,18 @@ function _n({
375
376
  fullWidth: !0,
376
377
  "aria-label": f ? `Copy seed ${c}` : "Seed unavailable",
377
378
  children: [
378
- /* @__PURE__ */ a("span", { className: "j-seed-copy__icon", "aria-hidden": !0, children: p ? /* @__PURE__ */ a(Re, { size: 18 }) : /* @__PURE__ */ a(gt, { size: 18 }) }),
379
+ /* @__PURE__ */ a("span", { className: "j-seed-copy__icon", "aria-hidden": !0, children: p ? /* @__PURE__ */ a(Oe, { size: 18 }) : /* @__PURE__ */ a(wt, { size: 18 }) }),
379
380
  /* @__PURE__ */ a("span", { className: "j-seed-copy__text", children: p ? r : c || t })
380
381
  ]
381
382
  }
382
383
  );
383
384
  }
384
- function yn({ className: e, children: t, ...n }) {
385
+ function In({ className: e, children: t, ...n }) {
385
386
  const r = ["j-inner-panel", e].filter(Boolean).join(" ");
386
387
  return /* @__PURE__ */ a("div", { className: r, ...n, children: t });
387
388
  }
388
- function xn({ open: e, onClose: t, title: n, className: r, children: o }) {
389
- const i = Ye();
389
+ function Dn({ open: e, onClose: t, title: n, className: r, children: o }) {
390
+ const i = He();
390
391
  return W(() => {
391
392
  if (!e || !t) return;
392
393
  const s = (u) => {
@@ -408,7 +409,7 @@ function xn({ open: e, onClose: t, title: n, className: r, children: o }) {
408
409
  }
409
410
  ) }) : null;
410
411
  }
411
- function kn({
412
+ function Jn({
412
413
  value: e,
413
414
  label: t,
414
415
  onPrev: n,
@@ -418,10 +419,10 @@ function kn({
418
419
  className: s = ""
419
420
  }) {
420
421
  return /* @__PURE__ */ _("div", { className: `j-spinner-wrap ${s}`, children: [
421
- t && /* @__PURE__ */ a("div", { className: "j-spinner__label", children: /* @__PURE__ */ a(Y, { size: "sm", tone: "white", children: t }) }),
422
+ t && /* @__PURE__ */ a("div", { className: "j-spinner__label", children: /* @__PURE__ */ a(K, { size: "sm", tone: "white", children: t }) }),
422
423
  /* @__PURE__ */ _("div", { className: "j-spinner", children: [
423
424
  /* @__PURE__ */ a(
424
- X,
425
+ Y,
425
426
  {
426
427
  tone: "red",
427
428
  size: "sm",
@@ -431,9 +432,9 @@ function kn({
431
432
  children: "<"
432
433
  }
433
434
  ),
434
- /* @__PURE__ */ a("div", { className: "j-spinner__value", children: /* @__PURE__ */ a(Y, { size: "sm", tone: "white", children: e }) }),
435
+ /* @__PURE__ */ a("div", { className: "j-spinner__value", children: /* @__PURE__ */ a(K, { size: "sm", tone: "white", children: e }) }),
435
436
  /* @__PURE__ */ a(
436
- X,
437
+ Y,
437
438
  {
438
439
  tone: "red",
439
440
  size: "sm",
@@ -446,7 +447,7 @@ function kn({
446
447
  ] })
447
448
  ] });
448
449
  }
449
- const yt = {
450
+ const At = {
450
451
  RED: "#fe5148",
451
452
  BLUE: "#0093ff",
452
453
  GREEN: "#429f79",
@@ -475,24 +476,24 @@ const yt = {
475
476
  /** Same decision as GOLD — kept so CodeMirror / old callers don't grow a second gold. */
476
477
  GOLD_TEXT: "#e4b643"
477
478
  };
478
- function wn(e, t) {
479
+ function Fn(e, t) {
479
480
  const n = e.replace("#", ""), r = parseInt(n.slice(0, 2), 16), o = parseInt(n.slice(2, 4), 16), i = parseInt(n.slice(4, 6), 16);
480
481
  return `rgba(${r}, ${o}, ${i}, ${t})`;
481
482
  }
482
- const Sn = {
483
+ const $n = {
483
484
  JUICE_UP_SCALE: 1.05,
484
485
  JUICE_EASING: "cubic-bezier(0.16, 1, 0.3, 1)",
485
486
  SWAY_AMOUNT: 1.5,
486
487
  SWAY_DURATION: 4e3
487
- }, Z = yt, xt = {
488
+ }, Z = At, Pt = {
488
489
  xs: 22,
489
490
  sm: 26,
490
491
  md: 30
491
- }, kt = {
492
+ }, Tt = {
492
493
  default: { rest: Z.DARKEST, hover: Z.DARK_GREY, border: Z.PANEL_EDGE },
493
494
  destructive: { rest: Z.RED, hover: Z.ORANGE, border: Z.BLACK }
494
495
  };
495
- function ee({
496
+ function te({
496
497
  onClick: e,
497
498
  onMouseDown: t,
498
499
  onTouchStart: n,
@@ -503,7 +504,7 @@ function ee({
503
504
  tone: u = "default",
504
505
  children: p
505
506
  }) {
506
- const [j, l] = T(!1), c = xt[s], f = kt[u], y = u === "destructive" ? 2 : 1, x = u === "destructive" ? `inset 0 1px 0 rgba(255,255,255,.2), 0 2px 0 ${Z.BLACK}` : void 0;
507
+ const [j, l] = T(!1), c = Pt[s], f = Tt[u], y = u === "destructive" ? 2 : 1, x = u === "destructive" ? `inset 0 1px 0 rgba(255,255,255,.2), 0 2px 0 ${Z.BLACK}` : void 0;
507
508
  return /* @__PURE__ */ a(
508
509
  "button",
509
510
  {
@@ -537,11 +538,11 @@ function ee({
537
538
  }
538
539
  );
539
540
  }
540
- const wt = 280, St = 260;
541
- function Nn({ children: e, className: t, onNearEnd: n, snap: r = !1 }) {
542
- const o = J(null), i = J(null), [s, u] = T(!1), p = q(() => {
541
+ const Rt = 280, Bt = 260;
542
+ function zn({ children: e, className: t, onNearEnd: n, snap: r = !1 }) {
543
+ const o = J(null), i = J(null), [s, u] = T(!1), p = Q(() => {
543
544
  const c = o.current;
544
- !c || !n || c.scrollWidth - (c.scrollLeft + c.clientWidth) <= wt && n();
545
+ !c || !n || c.scrollWidth - (c.scrollLeft + c.clientWidth) <= Rt && n();
545
546
  }, [n]);
546
547
  W(() => {
547
548
  const c = o.current;
@@ -555,7 +556,7 @@ function Nn({ children: e, className: t, onNearEnd: n, snap: r = !1 }) {
555
556
  }, [p]);
556
557
  const j = (c) => {
557
558
  var f;
558
- (f = o.current) == null || f.scrollBy({ left: c * St, behavior: "smooth" }), c > 0 && p();
559
+ (f = o.current) == null || f.scrollBy({ left: c * Bt, behavior: "smooth" }), c > 0 && p();
559
560
  }, l = [
560
561
  "j-shop-belt",
561
562
  "j-shop-belt--grab",
@@ -564,7 +565,7 @@ function Nn({ children: e, className: t, onNearEnd: n, snap: r = !1 }) {
564
565
  t
565
566
  ].filter(Boolean).join(" ");
566
567
  return /* @__PURE__ */ _($, { className: "j-shop-belt-wrap", children: [
567
- /* @__PURE__ */ a(ee, { size: "sm", "aria-label": "Scroll left", onClick: () => j(-1), children: /* @__PURE__ */ a(jt, {}) }),
568
+ /* @__PURE__ */ a(te, { size: "sm", "aria-label": "Scroll left", onClick: () => j(-1), children: /* @__PURE__ */ a(Et, {}) }),
568
569
  /* @__PURE__ */ a(
569
570
  $,
570
571
  {
@@ -588,13 +589,13 @@ function Nn({ children: e, className: t, onNearEnd: n, snap: r = !1 }) {
588
589
  children: e
589
590
  }
590
591
  ),
591
- /* @__PURE__ */ a(ee, { size: "sm", "aria-label": "Scroll right", onClick: () => j(1), children: /* @__PURE__ */ a(bt, {}) })
592
+ /* @__PURE__ */ a(te, { size: "sm", "aria-label": "Scroll right", onClick: () => j(1), children: /* @__PURE__ */ a(Nt, {}) })
592
593
  ] });
593
594
  }
594
- const Nt = {
595
+ const Mt = {
595
596
  sm: "j-badge--sm",
596
597
  md: "j-badge--md"
597
- }, Et = {
598
+ }, Ot = {
598
599
  dark: "j-badge--dark",
599
600
  blue: "j-badge--blue",
600
601
  red: "j-badge--red",
@@ -603,21 +604,21 @@ const Nt = {
603
604
  orange: "j-badge--orange",
604
605
  purple: "j-badge--purple"
605
606
  };
606
- function En({ size: e = "sm", tone: t = "dark", className: n, children: r, ...o }) {
607
- const i = ["j-badge", Nt[e], Et[t], n].filter(Boolean).join(" ");
607
+ function Un({ size: e = "sm", tone: t = "dark", className: n, children: r, ...o }) {
608
+ const i = ["j-badge", Mt[e], Ot[t], n].filter(Boolean).join(" ");
608
609
  return /* @__PURE__ */ a("span", { className: i, ...o, children: r });
609
610
  }
610
- function Cn({ children: e, ...t }) {
611
+ function Wn({ children: e, ...t }) {
611
612
  return /* @__PURE__ */ a("span", { ...t, children: e });
612
613
  }
613
- function Ln({ children: e, ...t }) {
614
+ function Gn({ children: e, ...t }) {
614
615
  return /* @__PURE__ */ a("a", { ...t, children: e });
615
616
  }
616
- function Pn({ className: e, ref: t, ...n }) {
617
+ function Kn({ className: e, ref: t, ...n }) {
617
618
  const r = ["j-text-input", e].filter(Boolean).join(" ");
618
619
  return /* @__PURE__ */ a("input", { ref: t, className: r, ...n });
619
620
  }
620
- function An({
621
+ function Yn({
621
622
  onPrev: e,
622
623
  onNext: t,
623
624
  canPrev: n = !0,
@@ -629,18 +630,18 @@ function An({
629
630
  style: p
630
631
  }) {
631
632
  return /* @__PURE__ */ _("div", { className: `j-flank ${u}`, style: p, children: [
632
- /* @__PURE__ */ a(be, { direction: "left", onClick: e, disabled: !n, "aria-label": o }),
633
+ /* @__PURE__ */ a(_e, { direction: "left", onClick: e, disabled: !n, "aria-label": o }),
633
634
  /* @__PURE__ */ a("div", { className: "j-flank__content", children: s }),
634
- /* @__PURE__ */ a(be, { direction: "right", onClick: t, disabled: !r, "aria-label": i })
635
+ /* @__PURE__ */ a(_e, { direction: "right", onClick: t, disabled: !r, "aria-label": i })
635
636
  ] });
636
637
  }
637
- function be({
638
+ function _e({
638
639
  direction: e,
639
640
  onClick: t,
640
641
  disabled: n,
641
642
  "aria-label": r
642
643
  }) {
643
- const [o, i] = U.useState(!1);
644
+ const [o, i] = z.useState(!1);
644
645
  return /* @__PURE__ */ a(
645
646
  "button",
646
647
  {
@@ -656,14 +657,14 @@ function be({
656
657
  onMouseLeave: () => i(!1),
657
658
  onTouchStart: () => !n && i(!0),
658
659
  onTouchEnd: () => i(!1),
659
- children: /* @__PURE__ */ a(Ct, { direction: e })
660
+ children: /* @__PURE__ */ a(It, { direction: e })
660
661
  }
661
662
  );
662
663
  }
663
- function Ct({ direction: e }) {
664
+ function It({ direction: e }) {
664
665
  return /* @__PURE__ */ a("svg", { width: 28, height: 28, viewBox: "0 0 28 28", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": !0, children: /* @__PURE__ */ a("polyline", { points: e === "left" ? "18,4 8,14 18,24" : "10,4 20,14 10,24" }) });
665
666
  }
666
- function Tn({
667
+ function Xn({
667
668
  label: e,
668
669
  title: t,
669
670
  description: n,
@@ -675,10 +676,10 @@ function Tn({
675
676
  className: p = ""
676
677
  }) {
677
678
  return /* @__PURE__ */ _("div", { className: ["j-panel-spinner", p].filter(Boolean).join(" "), children: [
678
- e ? /* @__PURE__ */ a("div", { className: "j-panel-spinner__label", children: /* @__PURE__ */ a(Y, { size: "sm", tone: "white", children: e }) }) : null,
679
+ e ? /* @__PURE__ */ a("div", { className: "j-panel-spinner__label", children: /* @__PURE__ */ a(K, { size: "sm", tone: "white", children: e }) }) : null,
679
680
  /* @__PURE__ */ _("div", { className: "j-panel-spinner__row", children: [
680
681
  /* @__PURE__ */ a(
681
- X,
682
+ Y,
682
683
  {
683
684
  tone: "red",
684
685
  size: "sm",
@@ -691,11 +692,11 @@ function Tn({
691
692
  ),
692
693
  /* @__PURE__ */ _("div", { className: "j-panel-spinner__panel", children: [
693
694
  r ? /* @__PURE__ */ a("div", { className: "j-panel-spinner__media", children: r }) : null,
694
- /* @__PURE__ */ a("div", { className: "j-panel-spinner__title", children: /* @__PURE__ */ a(Y, { size: "md", tone: "white", children: t }) }),
695
- n ? /* @__PURE__ */ a("div", { className: "j-panel-spinner__description", children: /* @__PURE__ */ a(Y, { size: "xs", tone: "grey", children: n }) }) : null
695
+ /* @__PURE__ */ a("div", { className: "j-panel-spinner__title", children: /* @__PURE__ */ a(K, { size: "md", tone: "white", children: t }) }),
696
+ n ? /* @__PURE__ */ a("div", { className: "j-panel-spinner__description", children: /* @__PURE__ */ a(K, { size: "xs", tone: "grey", children: n }) }) : null
696
697
  ] }),
697
698
  /* @__PURE__ */ a(
698
- X,
699
+ Y,
699
700
  {
700
701
  tone: "red",
701
702
  size: "sm",
@@ -709,9 +710,59 @@ function Tn({
709
710
  ] })
710
711
  ] });
711
712
  }
712
- const Lt = /* @__PURE__ */ new Set(["Jokers", "Tarots", "Vouchers", "Boosters"]);
713
- function Rn({ name: e, sheet: t, width: n, className: r, style: o }) {
714
- const { pos: i, type: s } = He(e, t), u = Ze[s], p = Lt.has(s) ? Math.round(n * (95 / 71)) : n;
713
+ const Dt = {
714
+ Jokers: { cols: 10, rows: 16, assetKey: "jokers" },
715
+ Tarots: { cols: 10, rows: 6, assetKey: "tarots" },
716
+ Vouchers: { cols: 9, rows: 4, assetKey: "vouchers" },
717
+ Boosters: { cols: 4, rows: 9, assetKey: "boosters" },
718
+ BlindChips: { cols: 21, rows: 31, assetKey: "blinds" },
719
+ tags: { cols: 6, rows: 5, assetKey: "tags" },
720
+ Enhancers: { cols: 7, rows: 5, assetKey: "enhancers" },
721
+ Editions: { cols: 5, rows: 1, assetKey: "editions" },
722
+ Stakes: { cols: 5, rows: 2, assetKey: "stakes" },
723
+ Decks: { cols: 13, rows: 4, assetKey: "deck" }
724
+ }, fe = (e) => e.toLowerCase().replace(/\s+/g, ""), Jt = (e) => e.replace(/^(Joker|Tarot|Planet|Voucher|Pack|Edition|Tag) [|:] /i, "").trim(), ce = /* @__PURE__ */ new Map();
725
+ function V(e, t) {
726
+ for (const n of e) {
727
+ if (!n.name || !n.pos) continue;
728
+ const r = fe(n.name);
729
+ ce.has(r) || ce.set(r, { pos: n.pos, type: t });
730
+ }
731
+ }
732
+ V(Qe, "Jokers");
733
+ V(et, "Jokers");
734
+ V(tt, "Tarots");
735
+ V(nt ?? [], "Tarots");
736
+ V(rt, "Vouchers");
737
+ V(ot, "BlindChips");
738
+ V(at, "tags");
739
+ V(it ?? [], "Boosters");
740
+ const Ft = {
741
+ Jokers: { x: 9, y: 9 },
742
+ // grey card back (legendary face row)
743
+ Tarots: { x: 4, y: 2 },
744
+ // blank consumable
745
+ Vouchers: { x: 8, y: 2 },
746
+ // mystery voucher
747
+ Boosters: { x: 0, y: 5 },
748
+ // grey empty pack
749
+ tags: { x: 3, y: 4 },
750
+ // grey ? tag
751
+ BlindChips: { x: 0, y: 30 }
752
+ // grey ? blind
753
+ };
754
+ function $t(e) {
755
+ return { pos: Ft[e] ?? { x: 0, y: 0 }, type: e };
756
+ }
757
+ function zt(e) {
758
+ return ce.get(fe(Jt(e))) ?? ce.get(fe(e)) ?? null;
759
+ }
760
+ function Ut(e, t = "Jokers") {
761
+ return zt(e) ?? $t(t);
762
+ }
763
+ const Wt = /* @__PURE__ */ new Set(["Jokers", "Tarots", "Vouchers", "Boosters"]);
764
+ function Hn({ name: e, sheet: t, width: n, className: r, style: o }) {
765
+ const { pos: i, type: s } = Ut(e, t), u = Dt[s], p = Wt.has(s) ? Math.round(n * (95 / 71)) : n;
715
766
  return /* @__PURE__ */ a(
716
767
  "div",
717
768
  {
@@ -732,7 +783,7 @@ function Rn({ name: e, sheet: t, width: n, className: r, style: o }) {
732
783
  style: {
733
784
  position: "absolute",
734
785
  inset: 0,
735
- backgroundImage: `url(${Ve(u.assetKey)})`,
786
+ backgroundImage: `url(${qe(u.assetKey)})`,
736
787
  backgroundSize: `${u.cols * 100}% ${u.rows * 100}%`,
737
788
  backgroundPosition: `${i.x / (u.cols - 1) * 100}% ${i.y / (u.rows - 1) * 100}%`,
738
789
  backgroundRepeat: "no-repeat"
@@ -742,39 +793,39 @@ function Rn({ name: e, sheet: t, width: n, className: r, style: o }) {
742
793
  }
743
794
  );
744
795
  }
745
- function Bn({ className: e, children: t, ...n }) {
796
+ function Zn({ className: e, children: t, ...n }) {
746
797
  return /* @__PURE__ */ a("div", { className: ["j-picker", e].filter(Boolean).join(" "), ...n, children: t });
747
798
  }
748
- function Mn({ className: e, children: t, ...n }) {
799
+ function Vn({ className: e, children: t, ...n }) {
749
800
  return /* @__PURE__ */ a("div", { className: ["j-picker__section", e].filter(Boolean).join(" "), ...n, children: t });
750
801
  }
751
- function On({ className: e, children: t, ...n }) {
802
+ function qn({ className: e, children: t, ...n }) {
752
803
  return /* @__PURE__ */ a("div", { className: ["j-picker__search", e].filter(Boolean).join(" "), ...n, children: t });
753
804
  }
754
- function In({ className: e, children: t, ...n }) {
805
+ function Qn({ className: e, children: t, ...n }) {
755
806
  return /* @__PURE__ */ a("div", { className: ["j-picker__hint", e].filter(Boolean).join(" "), ...n, children: t });
756
807
  }
757
- function Dn({ legendary: e, className: t, children: n, ...r }) {
808
+ function er({ legendary: e, className: t, children: n, ...r }) {
758
809
  const o = ["j-picker__grid", e ? "j-picker__grid--legendary" : "", t].filter(Boolean).join(" ");
759
810
  return /* @__PURE__ */ a("div", { className: o, ...r, children: n });
760
811
  }
761
- function Jn({ muted: e, className: t, children: n, ...r }) {
812
+ function tr({ muted: e, className: t, children: n, ...r }) {
762
813
  const o = ["j-picker__item", t].filter(Boolean).join(" ");
763
814
  return /* @__PURE__ */ a("button", { type: "button", className: o, "data-muted": e, ...r, children: n });
764
815
  }
765
- function Fn({ className: e, children: t, ...n }) {
816
+ function nr({ className: e, children: t, ...n }) {
766
817
  return /* @__PURE__ */ a("div", { className: ["j-picker__pair", e].filter(Boolean).join(" "), ...n, children: t });
767
818
  }
768
- function $n({ className: e, children: t, ...n }) {
819
+ function rr({ className: e, children: t, ...n }) {
769
820
  return /* @__PURE__ */ a("div", { className: ["j-picker__empty", e].filter(Boolean).join(" "), ...n, children: t });
770
821
  }
771
- function zn({ tabs: e, activeTab: t, onTabChange: n }) {
822
+ function or({ tabs: e, activeTab: t, onTabChange: n }) {
772
823
  return /* @__PURE__ */ a("div", { className: "j-tabs", children: e.map((r) => {
773
824
  const o = r.id === t;
774
825
  return /* @__PURE__ */ _("div", { className: "j-tab", children: [
775
826
  /* @__PURE__ */ a("div", { className: "j-tab__indicator", "data-active": o, children: /* @__PURE__ */ a("svg", { width: "10", height: "8", viewBox: "0 0 10 8", children: /* @__PURE__ */ a("path", { d: "M5 8 L0 0 L10 0 Z" }) }) }),
776
827
  /* @__PURE__ */ a(
777
- X,
828
+ Y,
778
829
  {
779
830
  size: "sm",
780
831
  tone: "red",
@@ -785,39 +836,39 @@ function zn({ tabs: e, activeTab: t, onTabChange: n }) {
785
836
  ] }, r.id);
786
837
  }) });
787
838
  }
788
- function Un({ active: e, className: t, children: n, ...r }) {
839
+ function ar({ active: e, className: t, children: n, ...r }) {
789
840
  const o = ["j-list-item", t].filter(Boolean).join(" ");
790
841
  return /* @__PURE__ */ a("button", { type: "button", className: o, "data-active": e, ...r, children: n });
791
842
  }
792
- const je = "data-j-motion", de = "jimbo-motion", ve = "(prefers-reduced-motion: reduce)";
793
- function Pt(e) {
843
+ const ye = "data-j-motion", me = "jimbo-motion", xe = "(prefers-reduced-motion: reduce)";
844
+ function Gt(e) {
794
845
  const t = document.documentElement;
795
- e === "auto" ? t.removeAttribute(je) : t.setAttribute(je, e);
846
+ e === "auto" ? t.removeAttribute(ye) : t.setAttribute(ye, e);
796
847
  }
797
- function At() {
848
+ function Kt() {
798
849
  try {
799
- const e = window.localStorage.getItem(de);
850
+ const e = window.localStorage.getItem(me);
800
851
  if (e === "full" || e === "reduced") return e;
801
852
  } catch {
802
853
  }
803
854
  return "auto";
804
855
  }
805
- function Wn() {
856
+ function ir() {
806
857
  const [e, t] = T(
807
- () => typeof document > "u" ? "auto" : At()
858
+ () => typeof document > "u" ? "auto" : Kt()
808
859
  ), [n, r] = T(
809
- () => typeof window > "u" ? !1 : window.matchMedia(ve).matches
860
+ () => typeof window > "u" ? !1 : window.matchMedia(xe).matches
810
861
  );
811
862
  W(() => {
812
- Pt(e);
863
+ Gt(e);
813
864
  }, [e]), W(() => {
814
- const s = window.matchMedia(ve), u = () => r(s.matches);
865
+ const s = window.matchMedia(xe), u = () => r(s.matches);
815
866
  return s.addEventListener("change", u), () => s.removeEventListener("change", u);
816
867
  }, []);
817
- const o = q((s) => {
868
+ const o = Q((s) => {
818
869
  t(s);
819
870
  try {
820
- s === "auto" ? window.localStorage.removeItem(de) : window.localStorage.setItem(de, s);
871
+ s === "auto" ? window.localStorage.removeItem(me) : window.localStorage.setItem(me, s);
821
872
  } catch {
822
873
  }
823
874
  }, []);
@@ -838,7 +889,7 @@ const D = {
838
889
  lighting: 0.5,
839
890
  transitionMs: 800
840
891
  };
841
- function Q(e, t) {
892
+ function ee(e, t) {
842
893
  if (!e) return t;
843
894
  if (Array.isArray(e)) return [e[0], e[1], e[2]];
844
895
  let n = e.trim().replace(/^#/, "");
@@ -846,9 +897,9 @@ function Q(e, t) {
846
897
  const r = parseInt(n, 16);
847
898
  return Number.isNaN(r) ? t : [(r >> 16 & 255) / 255, (r >> 8 & 255) / 255, (r & 255) / 255];
848
899
  }
849
- function Tt(e = {}) {
900
+ function Yt(e = {}) {
850
901
  const t = J(null), n = J(e);
851
- return Ee(() => {
902
+ return Ae(() => {
852
903
  n.current = e;
853
904
  }), W(() => {
854
905
  const r = t.current;
@@ -907,9 +958,9 @@ function Tt(e = {}) {
907
958
  vec3 base = (0.3/u_contrast)*u_color1 + (1.0 - 0.3/u_contrast)*(u_color1*c1p + u_color2*c2p + c3p*u_color3) + vec3(light);
908
959
  gl_FragColor = vec4(base, 1.0);
909
960
  }
910
- `, u = (B, te) => {
961
+ `, u = (B, ne) => {
911
962
  const O = o.createShader(B);
912
- return O ? (o.shaderSource(O, te), o.compileShader(O), o.getShaderParameter(O, o.COMPILE_STATUS) ? O : (console.error("[JimboBackground] shader compile error:", o.getShaderInfoLog(O)), o.deleteShader(O), null)) : null;
963
+ return O ? (o.shaderSource(O, ne), o.compileShader(O), o.getShaderParameter(O, o.COMPILE_STATUS) ? O : (console.error("[JimboBackground] shader compile error:", o.getShaderInfoLog(O)), o.deleteShader(O), null)) : null;
913
964
  }, p = u(o.VERTEX_SHADER, i), j = u(o.FRAGMENT_SHADER, s);
914
965
  if (!p || !j) return;
915
966
  const l = o.createProgram();
@@ -940,44 +991,44 @@ function Tt(e = {}) {
940
991
  );
941
992
  const f = o.getAttribLocation(l, "position");
942
993
  o.enableVertexAttribArray(f), o.vertexAttribPointer(f, 2, o.FLOAT, !1, 0, 0);
943
- const y = o.getUniformLocation(l, "u_time"), x = o.getUniformLocation(l, "u_resolution"), k = o.getUniformLocation(l, "u_color1"), b = o.getUniformLocation(l, "u_color2"), d = o.getUniformLocation(l, "u_color3"), g = o.getUniformLocation(l, "u_spinRotation"), h = o.getUniformLocation(l, "u_spinSpeed"), m = o.getUniformLocation(l, "u_spinAmount"), v = o.getUniformLocation(l, "u_pixelFilter"), w = o.getUniformLocation(l, "u_contrast"), E = o.getUniformLocation(l, "u_lighting"), M = (B) => ({
994
+ const y = o.getUniformLocation(l, "u_time"), x = o.getUniformLocation(l, "u_resolution"), k = o.getUniformLocation(l, "u_color1"), b = o.getUniformLocation(l, "u_color2"), d = o.getUniformLocation(l, "u_color3"), g = o.getUniformLocation(l, "u_spinRotation"), h = o.getUniformLocation(l, "u_spinSpeed"), m = o.getUniformLocation(l, "u_spinAmount"), v = o.getUniformLocation(l, "u_pixelFilter"), S = o.getUniformLocation(l, "u_contrast"), E = o.getUniformLocation(l, "u_lighting"), M = (B) => ({
944
995
  spinRotation: B.spinRotation ?? D.spinRotation,
945
996
  spinSpeed: 4.5 * (B.speed ?? D.speed),
946
997
  spinAmount: B.spinAmount ?? D.spinAmount,
947
998
  pixelFilter: B.pixelFilter ?? D.pixelFilter,
948
999
  contrast: B.contrast ?? D.contrast,
949
1000
  lighting: B.lighting ?? D.lighting
950
- }), R = n.current, S = [
951
- Q(R.primary, D.primary),
952
- Q(R.secondary, D.secondary),
953
- Q(R.dark, D.dark)
954
- ], A = M(R), N = performance.now();
1001
+ }), R = n.current, w = [
1002
+ ee(R.primary, D.primary),
1003
+ ee(R.secondary, D.secondary),
1004
+ ee(R.dark, D.dark)
1005
+ ], P = M(R), N = performance.now();
955
1006
  let L = N, C = 0;
956
- const z = () => {
957
- const B = performance.now(), te = Math.max(0, B - L);
1007
+ const U = () => {
1008
+ const B = performance.now(), ne = Math.max(0, B - L);
958
1009
  L = B;
959
- const O = n.current, oe = [
960
- Q(O.primary, D.primary),
961
- Q(O.secondary, D.secondary),
962
- Q(O.dark, D.dark)
963
- ], P = M(O), K = Math.max(1, O.transitionMs ?? D.transitionMs), V = 1 - Math.exp(-te / K);
1010
+ const O = n.current, ae = [
1011
+ ee(O.primary, D.primary),
1012
+ ee(O.secondary, D.secondary),
1013
+ ee(O.dark, D.dark)
1014
+ ], A = M(O), X = Math.max(1, O.transitionMs ?? D.transitionMs), q = 1 - Math.exp(-ne / X);
964
1015
  for (let G = 0; G < 3; G++)
965
- for (let ne = 0; ne < 3; ne++)
966
- S[G][ne] += (oe[G][ne] - S[G][ne]) * V;
1016
+ for (let re = 0; re < 3; re++)
1017
+ w[G][re] += (ae[G][re] - w[G][re]) * q;
967
1018
  const H = (G) => {
968
- A[G] += (P[G] - A[G]) * V;
1019
+ P[G] += (A[G] - P[G]) * q;
969
1020
  };
970
1021
  H("spinRotation"), H("spinSpeed"), H("spinAmount"), H("pixelFilter"), H("contrast"), H("lighting");
971
- const fe = r.clientWidth, me = r.clientHeight;
972
- (r.width !== fe || r.height !== me) && (r.width = fe, r.height = me, o.viewport(0, 0, o.drawingBufferWidth, o.drawingBufferHeight)), o.uniform1f(y, (B - N) / 1e3), o.uniform2f(x, r.width, r.height), o.uniform3f(k, S[0][0], S[0][1], S[0][2]), o.uniform3f(b, S[1][0], S[1][1], S[1][2]), o.uniform3f(d, S[2][0], S[2][1], S[2][2]), o.uniform1f(g, A.spinRotation), o.uniform1f(h, A.spinSpeed), o.uniform1f(m, A.spinAmount), o.uniform1f(v, A.pixelFilter), o.uniform1f(w, A.contrast), o.uniform1f(E, A.lighting), o.drawArrays(o.TRIANGLES, 0, 6), C = requestAnimationFrame(z);
1022
+ const ge = r.clientWidth, be = r.clientHeight;
1023
+ (r.width !== ge || r.height !== be) && (r.width = ge, r.height = be, o.viewport(0, 0, o.drawingBufferWidth, o.drawingBufferHeight)), o.uniform1f(y, (B - N) / 1e3), o.uniform2f(x, r.width, r.height), o.uniform3f(k, w[0][0], w[0][1], w[0][2]), o.uniform3f(b, w[1][0], w[1][1], w[1][2]), o.uniform3f(d, w[2][0], w[2][1], w[2][2]), o.uniform1f(g, P.spinRotation), o.uniform1f(h, P.spinSpeed), o.uniform1f(m, P.spinAmount), o.uniform1f(v, P.pixelFilter), o.uniform1f(S, P.contrast), o.uniform1f(E, P.lighting), o.drawArrays(o.TRIANGLES, 0, 6), C = requestAnimationFrame(U);
973
1024
  };
974
- return C = requestAnimationFrame(z), () => {
1025
+ return C = requestAnimationFrame(U), () => {
975
1026
  cancelAnimationFrame(C), o.deleteProgram(l), o.deleteShader(p), o.deleteShader(j), o.deleteBuffer(c);
976
1027
  };
977
1028
  }, []), t;
978
1029
  }
979
- function Gn(e, t, n) {
980
- const [r, o] = T(null), [i, s] = T(null), [u, p] = T(null), j = q(
1030
+ function sr(e, t, n) {
1031
+ const [r, o] = T(null), [i, s] = T(null), [u, p] = T(null), j = Q(
981
1032
  (b, d, g) => {
982
1033
  const h = "touches" in b ? b.touches[0] : b, m = b.currentTarget.getBoundingClientRect();
983
1034
  s({
@@ -991,7 +1042,7 @@ function Gn(e, t, n) {
991
1042
  },
992
1043
  []
993
1044
  ), l = J(r), c = J(i), f = J(u), y = J(e), x = J(t);
994
- Ee(() => {
1045
+ Ae(() => {
995
1046
  l.current = r, c.current = i, f.current = u, y.current = e, x.current = t;
996
1047
  });
997
1048
  const k = r !== null || i !== null;
@@ -1003,8 +1054,8 @@ function Gn(e, t, n) {
1003
1054
  if (!m) return;
1004
1055
  let v = l.current;
1005
1056
  if (!v && c.current) {
1006
- const R = m.clientX - c.current.x, S = m.clientY - c.current.y;
1007
- if (Math.hypot(R, S) < 8) return;
1057
+ const R = m.clientX - c.current.x, w = m.clientY - c.current.y;
1058
+ if (Math.hypot(R, w) < 8) return;
1008
1059
  v = {
1009
1060
  ...c.current,
1010
1061
  x: m.clientX,
@@ -1013,11 +1064,11 @@ function Gn(e, t, n) {
1013
1064
  } else v && (v = { ...v, x: m.clientX, y: m.clientY }, o(v));
1014
1065
  if (!v) return;
1015
1066
  h != null && h.cancelable && h.preventDefault();
1016
- const w = ((M = n.current) == null ? void 0 : M.querySelectorAll("[data-zone]")) ?? [];
1067
+ const S = ((M = n.current) == null ? void 0 : M.querySelectorAll("[data-zone]")) ?? [];
1017
1068
  let E = null;
1018
- for (const R of w) {
1019
- const S = R.getBoundingClientRect();
1020
- if (m.clientX >= S.left && m.clientX <= S.right && m.clientY >= S.top && m.clientY <= S.bottom) {
1069
+ for (const R of S) {
1070
+ const w = R.getBoundingClientRect();
1071
+ if (m.clientX >= w.left && m.clientX <= w.right && m.clientY >= w.top && m.clientY <= w.bottom) {
1021
1072
  E = R.getAttribute("data-zone");
1022
1073
  break;
1023
1074
  }
@@ -1029,7 +1080,7 @@ function Gn(e, t, n) {
1029
1080
  const m = h, v = y.current;
1030
1081
  x.current({
1031
1082
  ...v,
1032
- [g.fromZone]: v[g.fromZone].filter((w) => w.id !== g.clause.id),
1083
+ [g.fromZone]: v[g.fromZone].filter((S) => S.id !== g.clause.id),
1033
1084
  [m]: [...v[m], { ...g.clause }]
1034
1085
  });
1035
1086
  }
@@ -1044,28 +1095,28 @@ function Gn(e, t, n) {
1044
1095
  onDragStart: j
1045
1096
  };
1046
1097
  }
1047
- const Rt = {
1098
+ const Xt = {
1048
1099
  xs: "j-inline-edit--xs",
1049
1100
  sm: "j-inline-edit--sm",
1050
1101
  md: "j-inline-edit--md",
1051
1102
  lg: "j-inline-edit--lg"
1052
- }, Bt = {
1103
+ }, Ht = {
1053
1104
  white: "j-inline-edit--white",
1054
1105
  gold: "j-inline-edit--gold",
1055
1106
  grey: "j-inline-edit--grey"
1056
- }, Yn = U.forwardRef(
1107
+ }, lr = z.forwardRef(
1057
1108
  function({ size: t = "md", tone: n = "white", dim: r = !1, className: o = "", ...i }, s) {
1058
1109
  const u = [
1059
1110
  "j-inline-edit",
1060
- Rt[t],
1061
- Bt[n],
1111
+ Xt[t],
1112
+ Ht[n],
1062
1113
  r ? "j-inline-edit--dim" : null,
1063
1114
  o || null
1064
1115
  ].filter(Boolean).join(" ");
1065
1116
  return /* @__PURE__ */ a("input", { ref: s, type: "text", className: u, ...i });
1066
1117
  }
1067
1118
  );
1068
- function Xn({
1119
+ function cr({
1069
1120
  className: e,
1070
1121
  minHeight: t = 320,
1071
1122
  style: n,
@@ -1078,7 +1129,7 @@ function Xn({
1078
1129
  };
1079
1130
  return /* @__PURE__ */ a("div", { ref: r, className: i, style: s, ...o });
1080
1131
  }
1081
- const Mt = {
1132
+ const Zt = {
1082
1133
  blue: "j-outer-tab--blue",
1083
1134
  red: "j-outer-tab--red",
1084
1135
  orange: "j-outer-tab--orange",
@@ -1086,7 +1137,7 @@ const Mt = {
1086
1137
  purple: "j-outer-tab--purple",
1087
1138
  gold: "j-outer-tab--gold"
1088
1139
  };
1089
- function Ot({
1140
+ function Vt({
1090
1141
  label: e,
1091
1142
  tone: t,
1092
1143
  active: n = !1,
@@ -1098,12 +1149,12 @@ function Ot({
1098
1149
  }) {
1099
1150
  const p = [
1100
1151
  "j-outer-tab",
1101
- t ? Mt[t] : "",
1152
+ t ? Zt[t] : "",
1102
1153
  n ? "j-outer-tab--active" : "",
1103
1154
  i
1104
1155
  ].filter(Boolean).join(" ");
1105
1156
  return /* @__PURE__ */ _("div", { className: p, ...u, children: [
1106
- /* @__PURE__ */ a("span", { className: "j-outer-tab__grip", "aria-hidden": !0, children: /* @__PURE__ */ a(ft, {}) }),
1157
+ /* @__PURE__ */ a("span", { className: "j-outer-tab__grip", "aria-hidden": !0, children: /* @__PURE__ */ a(xt, {}) }),
1107
1158
  /* @__PURE__ */ a("span", { className: "j-outer-tab__label", children: e }),
1108
1159
  /* @__PURE__ */ a("span", { className: "j-outer-tab__space", children: s }),
1109
1160
  o ? /* @__PURE__ */ a(
@@ -1115,16 +1166,16 @@ function Ot({
1115
1166
  onClick: (j) => {
1116
1167
  j.stopPropagation(), o();
1117
1168
  },
1118
- children: r ? /* @__PURE__ */ a(mt, {}) : /* @__PURE__ */ a(ht, {})
1169
+ children: r ? /* @__PURE__ */ a(kt, {}) : /* @__PURE__ */ a(St, {})
1119
1170
  }
1120
1171
  ) : null
1121
1172
  ] });
1122
1173
  }
1123
- let It = 0;
1124
- function _e(e) {
1125
- return `${e}${++It}-${Date.now().toString(36)}`;
1174
+ let qt = 0;
1175
+ function ke(e) {
1176
+ return `${e}${++qt}-${Date.now().toString(36)}`;
1126
1177
  }
1127
- function Dt(e) {
1178
+ function Qt(e) {
1128
1179
  return {
1129
1180
  type: "split",
1130
1181
  id: "s-root",
@@ -1150,71 +1201,71 @@ function Dt(e) {
1150
1201
  ]
1151
1202
  };
1152
1203
  }
1153
- function Be(e, t) {
1204
+ function Ie(e, t) {
1154
1205
  if (e.type === "group") {
1155
1206
  if (!e.panes.includes(t)) return e;
1156
1207
  const r = e.panes.filter((i) => i !== t), o = e.active === t ? r[0] ?? null : e.active;
1157
1208
  return { ...e, panes: r, active: o };
1158
1209
  }
1159
- const n = e.children.map((r) => Be(r, t)).filter((r) => !(r.type === "group" && r.panes.length === 0));
1210
+ const n = e.children.map((r) => Ie(r, t)).filter((r) => !(r.type === "group" && r.panes.length === 0));
1160
1211
  return n.length === 1 ? n[0] : { ...e, children: n };
1161
1212
  }
1162
- function pe(e, t, n) {
1163
- return e.type === "group" ? e.id === t ? n(e) : e : { ...e, children: e.children.map((r) => pe(r, t, n)) };
1213
+ function he(e, t, n) {
1214
+ return e.type === "group" ? e.id === t ? n(e) : e : { ...e, children: e.children.map((r) => he(r, t, n)) };
1164
1215
  }
1165
- function Me(e, t, n, r) {
1216
+ function De(e, t, n, r) {
1166
1217
  if (r === "center") return e;
1167
1218
  if (e.type === "group") {
1168
1219
  if (e.id !== t) return e;
1169
- const o = { type: "group", id: _e("g"), panes: [n], active: n }, i = r === "left" || r === "right" ? "row" : "column", s = r === "left" || r === "top" ? [o, e] : [e, o];
1170
- return { type: "split", id: _e("s"), dir: i, ratio: 0.5, children: s };
1220
+ const o = { type: "group", id: ke("g"), panes: [n], active: n }, i = r === "left" || r === "right" ? "row" : "column", s = r === "left" || r === "top" ? [o, e] : [e, o];
1221
+ return { type: "split", id: ke("s"), dir: i, ratio: 0.5, children: s };
1171
1222
  }
1172
- return { ...e, children: e.children.map((o) => Me(o, t, n, r)) };
1223
+ return { ...e, children: e.children.map((o) => De(o, t, n, r)) };
1173
1224
  }
1174
- function Oe(e, t = []) {
1175
- return e.type === "group" ? (t.push(e), t) : (e.children.forEach((n) => Oe(n, t)), t);
1225
+ function Je(e, t = []) {
1226
+ return e.type === "group" ? (t.push(e), t) : (e.children.forEach((n) => Je(n, t)), t);
1176
1227
  }
1177
- function Jt(e, t) {
1178
- return e.type === "group" ? e.panes.includes(t) ? { ...e, active: t } : e : { ...e, children: e.children.map((n) => Jt(n, t)) };
1228
+ function en(e, t) {
1229
+ return e.type === "group" ? e.panes.includes(t) ? { ...e, active: t } : e : { ...e, children: e.children.map((n) => en(n, t)) };
1179
1230
  }
1180
- function Ft(e, t) {
1181
- const n = Oe(e);
1231
+ function tn(e, t) {
1232
+ const n = Je(e);
1182
1233
  if (!n.length) return !1;
1183
1234
  const r = n.flatMap((o) => o.panes);
1184
1235
  return r.length > 0 && r.every((o) => t.includes(o)) && n.every((o) => o.panes.length > 0);
1185
1236
  }
1186
- function $t(e, t, n) {
1237
+ function nn(e, t, n) {
1187
1238
  try {
1188
1239
  const r = localStorage.getItem(e);
1189
1240
  if (!r) return t;
1190
1241
  const o = JSON.parse(r);
1191
- return Ft(o, n) ? o : t;
1242
+ return tn(o, n) ? o : t;
1192
1243
  } catch {
1193
1244
  return t;
1194
1245
  }
1195
1246
  }
1196
- function zt(e, t) {
1247
+ function rn(e, t) {
1197
1248
  try {
1198
1249
  localStorage.setItem(e, JSON.stringify(t));
1199
1250
  } catch {
1200
1251
  }
1201
1252
  }
1202
- function Kn({
1253
+ function ur({
1203
1254
  panes: e,
1204
1255
  pyramid: t,
1205
1256
  storageKey: n,
1206
1257
  className: r
1207
1258
  }) {
1208
- const o = Object.keys(e), i = t && o.includes(t.filter) ? Dt(t) : {
1259
+ const o = Object.keys(e), i = t && o.includes(t.filter) ? Qt(t) : {
1209
1260
  type: "group",
1210
1261
  id: "g-all",
1211
1262
  panes: o,
1212
1263
  active: o[0] ?? null
1213
1264
  }, [s, u] = T(
1214
- () => n && typeof localStorage < "u" ? $t(n, i, o) : i
1265
+ () => n && typeof localStorage < "u" ? nn(n, i, o) : i
1215
1266
  ), [p, j] = T(null), [l, c] = T(null);
1216
1267
  W(() => {
1217
- n && zt(n, s);
1268
+ n && rn(n, s);
1218
1269
  }, [n, s]);
1219
1270
  const f = (d) => {
1220
1271
  if (d.target.closest(".j-dock-tabs")) return "center";
@@ -1222,17 +1273,17 @@ function Kn({
1222
1273
  return m < 0.25 ? "left" : m > 0.75 ? "right" : v < 0.25 ? "top" : v > 0.75 ? "bottom" : "center";
1223
1274
  }, y = (d, g, h) => {
1224
1275
  e[d] && (g.panes.length === 1 && g.panes[0] === d || u((m) => {
1225
- const v = Be(m, d);
1226
- return h === "center" ? pe(v, g.id, (w) => ({
1227
- ...w,
1228
- panes: [...w.panes, d],
1276
+ const v = Ie(m, d);
1277
+ return h === "center" ? he(v, g.id, (S) => ({
1278
+ ...S,
1279
+ panes: [...S.panes, d],
1229
1280
  active: d
1230
- })) : Me(v, g.id, d, h);
1281
+ })) : De(v, g.id, d, h);
1231
1282
  }));
1232
1283
  }, x = (d, g) => {
1233
1284
  const h = e[d];
1234
1285
  return h ? /* @__PURE__ */ a(
1235
- Ot,
1286
+ Vt,
1236
1287
  {
1237
1288
  label: h.label,
1238
1289
  tone: h.tone,
@@ -1254,14 +1305,14 @@ function Kn({
1254
1305
  m.preventDefault();
1255
1306
  const v = f(m);
1256
1307
  j(
1257
- (w) => w && w.groupId === d.id && w.zone === v ? w : { groupId: d.id, zone: v }
1308
+ (S) => S && S.groupId === d.id && S.zone === v ? S : { groupId: d.id, zone: v }
1258
1309
  );
1259
1310
  },
1260
1311
  onDragLeave: () => j((m) => m && m.groupId === d.id ? null : m),
1261
1312
  onDrop: (m) => {
1262
1313
  m.preventDefault();
1263
- const v = m.dataTransfer.getData("text/plain"), w = f(m);
1264
- j(null), y(v, d, w);
1314
+ const v = m.dataTransfer.getData("text/plain"), S = f(m);
1315
+ j(null), y(v, d, S);
1265
1316
  },
1266
1317
  children: [
1267
1318
  /* @__PURE__ */ a(
@@ -1271,7 +1322,7 @@ function Kn({
1271
1322
  children: d.panes.map((m) => /* @__PURE__ */ a(
1272
1323
  $,
1273
1324
  {
1274
- onClick: () => u((v) => pe(v, d.id, (w) => ({ ...w, active: m }))),
1325
+ onClick: () => u((v) => he(v, d.id, (S) => ({ ...S, active: m }))),
1275
1326
  children: x(m, d.active === m)
1276
1327
  },
1277
1328
  m
@@ -1308,29 +1359,48 @@ function Kn({
1308
1359
  /* @__PURE__ */ a($, { className: "j-dock-body", children: e[l].content })
1309
1360
  ] }) : /* @__PURE__ */ a($, { className: `j-dock ${r ?? ""}`.trim(), children: b(s) });
1310
1361
  }
1311
- const Ut = {
1362
+ const on = {
1312
1363
  idle: "j-status-pill--idle",
1313
1364
  running: "j-status-pill--running",
1314
1365
  ok: "j-status-pill--ok",
1315
1366
  error: "j-status-pill--error",
1316
1367
  paused: "j-status-pill--paused"
1317
1368
  };
1318
- function Wt({ status: e = "idle", label: t, className: n, children: r, ...o }) {
1319
- const i = ["j-status-pill", Ut[e], n].filter(Boolean).join(" ");
1369
+ function an({ status: e = "idle", label: t, className: n, children: r, ...o }) {
1370
+ const i = ["j-status-pill", on[e], n].filter(Boolean).join(" ");
1320
1371
  return /* @__PURE__ */ _("span", { className: i, ...o, children: [
1321
1372
  /* @__PURE__ */ a("span", { className: "j-status-pill__dot", "aria-hidden": !0 }),
1322
1373
  t ?? r ?? e
1323
1374
  ] });
1324
1375
  }
1325
- function Hn({ className: e, style: t, ...n }) {
1376
+ const dr = z.forwardRef(
1377
+ function({ onValueChange: t, className: n, value: r, min: o = 0, max: i = 100, style: s, ...u }, p) {
1378
+ const j = Number(r ?? 0), l = Number(o), c = Number(i), f = c > l ? Math.min(100, Math.max(0, (j - l) / (c - l) * 100)) : 0, y = ["j-slider", n].filter(Boolean).join(" ");
1379
+ return /* @__PURE__ */ a(
1380
+ "input",
1381
+ {
1382
+ ref: p,
1383
+ type: "range",
1384
+ className: y,
1385
+ value: r,
1386
+ min: o,
1387
+ max: i,
1388
+ style: { ...s ?? {}, "--j-slider-fill": `${f}%` },
1389
+ onChange: (x) => t == null ? void 0 : t(Number(x.currentTarget.value)),
1390
+ ...u
1391
+ }
1392
+ );
1393
+ }
1394
+ );
1395
+ function pr({ className: e, style: t, ...n }) {
1326
1396
  const r = ["j-textarea", e].filter(Boolean).join(" ");
1327
1397
  return /* @__PURE__ */ a("textarea", { className: r, style: t, ...n });
1328
1398
  }
1329
- function Zn(e = {}) {
1330
- const t = Tt(e);
1399
+ function fr(e = {}) {
1400
+ const t = Yt(e);
1331
1401
  return /* @__PURE__ */ a("canvas", { ref: t, className: "j-background-canvas", "aria-hidden": !0 });
1332
1402
  }
1333
- function Vn({
1403
+ function mr({
1334
1404
  variant: e = "embed",
1335
1405
  scroll: t = !0,
1336
1406
  footer: n,
@@ -1358,25 +1428,25 @@ function Vn({
1358
1428
  n ? /* @__PURE__ */ a("div", { className: "j-app__footer", children: n }) : null
1359
1429
  ] });
1360
1430
  }
1361
- function qn({ className: e, children: t, ...n }) {
1431
+ function hr({ className: e, children: t, ...n }) {
1362
1432
  const r = ["j-inset", e].filter(Boolean).join(" ");
1363
1433
  return /* @__PURE__ */ a("div", { className: r, ...n, children: t });
1364
1434
  }
1365
- function Qn({ title: e, sub: t, className: n, ...r }) {
1435
+ function gr({ title: e, sub: t, className: n, ...r }) {
1366
1436
  const o = ["j-wordmark", n].filter(Boolean).join(" ");
1367
1437
  return /* @__PURE__ */ _("div", { className: o, ...r, children: [
1368
1438
  /* @__PURE__ */ a("div", { className: "j-wordmark__title", children: e }),
1369
1439
  t != null && t !== !1 ? /* @__PURE__ */ a("div", { className: "j-wordmark__sub", children: t }) : null
1370
1440
  ] });
1371
1441
  }
1372
- const Gt = {
1442
+ const sn = {
1373
1443
  xs: "var(--j-space-xs)",
1374
1444
  sm: "var(--j-space-sm)",
1375
1445
  md: "var(--j-space-md)",
1376
1446
  lg: "var(--j-space-lg)",
1377
1447
  xl: "var(--j-space-xl)"
1378
1448
  };
1379
- function er({ columns: e = 3, minColWidth: t, gap: n = "md", style: r, ...o }) {
1449
+ function br({ columns: e = 3, minColWidth: t, gap: n = "md", style: r, ...o }) {
1380
1450
  const i = t ? `repeat(auto-fit, minmax(${t}px, 1fr))` : `repeat(${e}, minmax(0, 1fr))`;
1381
1451
  return /* @__PURE__ */ a(
1382
1452
  "div",
@@ -1385,31 +1455,31 @@ function er({ columns: e = 3, minColWidth: t, gap: n = "md", style: r, ...o }) {
1385
1455
  ...r,
1386
1456
  display: "grid",
1387
1457
  gridTemplateColumns: i,
1388
- gap: Gt[n],
1458
+ gap: sn[n],
1389
1459
  width: "100%"
1390
1460
  },
1391
1461
  ...o
1392
1462
  }
1393
1463
  );
1394
1464
  }
1395
- function tr({ size: e = 16, style: t, ...n }) {
1465
+ function jr({ size: e = 16, style: t, ...n }) {
1396
1466
  return /* @__PURE__ */ a("div", { "aria-hidden": !0, style: { ...t, height: e, width: "100%" }, ...n });
1397
1467
  }
1398
- function nr({ vert: e = !1, className: t, ...n }) {
1468
+ function vr({ vert: e = !1, className: t, ...n }) {
1399
1469
  const r = ["j-divider", e ? "j-divider--vert" : "", t].filter(Boolean).join(" ");
1400
1470
  return /* @__PURE__ */ a("hr", { className: r, ...n });
1401
1471
  }
1402
- function rr({ title: e, onDismiss: t, className: n, children: r, ...o }) {
1472
+ function _r({ title: e, onDismiss: t, className: n, children: r, ...o }) {
1403
1473
  const [i, s] = T(!1);
1404
1474
  if (i) return null;
1405
1475
  const u = ["j-error-block", n].filter(Boolean).join(" ");
1406
- return /* @__PURE__ */ a("div", { className: u, role: "alert", ...o, children: /* @__PURE__ */ _(ot, { justify: "between", align: "center", children: [
1476
+ return /* @__PURE__ */ a("div", { className: u, role: "alert", ...o, children: /* @__PURE__ */ _(ft, { justify: "between", align: "center", children: [
1407
1477
  /* @__PURE__ */ _("div", { children: [
1408
1478
  e != null && /* @__PURE__ */ a("div", { className: "j-error-block__title", children: e }),
1409
1479
  r
1410
1480
  ] }),
1411
1481
  t && /* @__PURE__ */ a(
1412
- ee,
1482
+ te,
1413
1483
  {
1414
1484
  size: "sm",
1415
1485
  tone: "destructive",
@@ -1417,64 +1487,64 @@ function rr({ title: e, onDismiss: t, className: n, children: r, ...o }) {
1417
1487
  onClick: () => {
1418
1488
  s(!0), t();
1419
1489
  },
1420
- children: /* @__PURE__ */ a(Te, {})
1490
+ children: /* @__PURE__ */ a(Me, {})
1421
1491
  }
1422
1492
  )
1423
1493
  ] }) });
1424
1494
  }
1425
- const Ie = 2 * Math.PI, ye = Math.PI / 2, F = 16, De = 10, Je = 148, le = 4, ce = 6, Fe = 22, $e = 8;
1426
- function ze(e, t) {
1495
+ const Fe = 2 * Math.PI, Se = Math.PI / 2, F = 16, $e = 10, ze = 148, ue = 4, de = 6, Ue = 22, We = 8;
1496
+ function Ge(e, t) {
1427
1497
  return Math.min(200, Math.max(56, 32 + (t ? 15 : 0) + e.length * 6.6));
1428
1498
  }
1429
- function Yt(e, t) {
1430
- return e + De + Math.hypot(t, F);
1499
+ function ln(e, t) {
1500
+ return e + $e + Math.hypot(t, F);
1431
1501
  }
1432
- function Xt(e, t, n, r, o, i, s) {
1502
+ function cn(e, t, n, r, o, i, s) {
1433
1503
  if (e.length === 0) return [];
1434
1504
  const u = Math.max(0, i) / 2;
1435
1505
  return e.map((p, j) => {
1436
- const l = r + j * o, c = Math.cos(l) * t, f = Math.sin(l) * n, y = Math.hypot(c, f), { label: x, hasToggleDot: k } = s(p), b = Yt(u, ze(x, k) / 2);
1506
+ const l = r + j * o, c = Math.cos(l) * t, f = Math.sin(l) * n, y = Math.hypot(c, f), { label: x, hasToggleDot: k } = s(p), b = ln(u, Ge(x, k) / 2);
1437
1507
  if (y < 1e-4) return { item: p, x: b, y: 0 };
1438
1508
  const d = Math.max(1, b / y);
1439
1509
  return { item: p, x: c * d, y: f * d };
1440
1510
  });
1441
1511
  }
1442
- function Kt(e, t, n, r, o) {
1512
+ function un(e, t, n, r, o) {
1443
1513
  if (e.length === 0) return [];
1444
- const i = t / 2, s = n / 2, u = -s + F, p = Math.min(s - F, r - F - ce), j = Math.ceil(e.length / 2), l = e.length - j, c = 2 * F + ce, f = (k, b) => {
1514
+ const i = t / 2, s = n / 2, u = -s + F, p = Math.min(s - F, r - F - de), j = Math.ceil(e.length / 2), l = e.length - j, c = 2 * F + de, f = (k, b) => {
1445
1515
  if (b <= 1) return u;
1446
1516
  const d = p - u, h = c * (b - 1) <= d ? c : d / (b - 1);
1447
1517
  return p - k * h;
1448
1518
  };
1449
1519
  let y = 0, x = 0;
1450
1520
  return e.map((k, b) => {
1451
- const d = b < j ? -1 : 1, g = d < 0 ? f(y++, j) : f(x++, l), { label: h, hasToggleDot: m } = o(k), v = ze(h, m) / 2;
1452
- return { item: k, x: d * Math.max(0, i - v - le), y: g };
1521
+ const d = b < j ? -1 : 1, g = d < 0 ? f(y++, j) : f(x++, l), { label: h, hasToggleDot: m } = o(k), v = Ge(h, m) / 2;
1522
+ return { item: k, x: d * Math.max(0, i - v - ue), y: g };
1453
1523
  });
1454
1524
  }
1455
- function Ht(e) {
1525
+ function dn(e) {
1456
1526
  if (!Number.isFinite(e) || e <= 0) return 2;
1457
- const t = e / 2, n = -t + F, o = t - F - le - Fe - F - F - ce, i = 2 * F + ce;
1527
+ const t = e / 2, n = -t + F, o = t - F - ue - Ue - F - F - de, i = 2 * F + de;
1458
1528
  return 2 * Math.max(1, Math.floor((o - n) / i) + 1);
1459
1529
  }
1460
- function Zt(e, t, n) {
1461
- const r = e <= 1 ? Math.round(2 * t * 1.05) : Math.round(2 * t * Math.sin(Ie / e / 2) * 1.28);
1462
- return Math.max(Je, Math.min(r, n - 16));
1530
+ function pn(e, t, n) {
1531
+ const r = e <= 1 ? Math.round(2 * t * 1.05) : Math.round(2 * t * Math.sin(Fe / e / 2) * 1.28);
1532
+ return Math.max(ze, Math.min(r, n - 16));
1463
1533
  }
1464
- function Vt(e, t, n) {
1534
+ function fn(e, t, n) {
1465
1535
  return Math.max(84, n + t * 3, e / 2 + 42);
1466
1536
  }
1467
- function or(e, t) {
1468
- return Math.max(0, Math.min(e, t) / 2 - F - $e);
1537
+ function yr(e, t) {
1538
+ return Math.max(0, Math.min(e, t) / 2 - F - We);
1469
1539
  }
1470
- function qt(e, t, n) {
1471
- return n == null || !Number.isFinite(n) || n <= 0 ? e : Math.max(t / 2 + De, Math.min(e, n));
1540
+ function mn(e, t, n) {
1541
+ return n == null || !Number.isFinite(n) || n <= 0 ? e : Math.max(t / 2 + $e, Math.min(e, n));
1472
1542
  }
1473
- const Ue = (e) => typeof e.active == "boolean", xe = (e) => ({
1543
+ const Ke = (e) => typeof e.active == "boolean", we = (e) => ({
1474
1544
  label: e.label,
1475
- hasToggleDot: Ue(e)
1545
+ hasToggleDot: Ke(e)
1476
1546
  });
1477
- function Qt({
1547
+ function hn({
1478
1548
  items: e,
1479
1549
  onAction: t,
1480
1550
  onNavigate: n,
@@ -1496,12 +1566,12 @@ function Qt({
1496
1566
  }) {
1497
1567
  const g = J(null), [h, m] = T(375);
1498
1568
  if (W(() => {
1499
- const P = g.current;
1500
- if (!P) return;
1501
- const K = () => m(Math.max(1, P.clientWidth));
1502
- K();
1503
- const V = new ResizeObserver(K);
1504
- return V.observe(P), () => V.disconnect();
1569
+ const A = g.current;
1570
+ if (!A) return;
1571
+ const X = () => m(Math.max(1, A.clientWidth));
1572
+ X();
1573
+ const q = new ResizeObserver(X);
1574
+ return q.observe(A), () => q.disconnect();
1505
1575
  }, []), e.length === 0)
1506
1576
  return k ? /* @__PURE__ */ a(
1507
1577
  "div",
@@ -1512,8 +1582,8 @@ function Qt({
1512
1582
  children: /* @__PURE__ */ a("div", { className: "j-orbital-menu__center", children: k })
1513
1583
  }
1514
1584
  ) : null;
1515
- const v = u, w = p ?? u, E = e.find((P) => P.south) ?? null, M = e.filter((P) => !P.south), R = M.length + (E ? 1 : 0), S = Ie / R, A = E ? ye + S : ye, N = j != null && Number.isFinite(j) && j > 0, L = N ? Math.max(Je, h - le * 2) : Zt(R, v, h), C = N ? j / 2 - F - le : w + $e, z = Math.min(96, Math.max(56, Math.floor(L * 0.5))), B = C - Fe, te = (f && E ? B : C) - F, O = N && j != null ? Kt(M, h, j, te, xe) : Xt(M, v, w, A, S, s, xe), oe = (P) => (K) => {
1516
- K.stopPropagation(), P.south ? r == null || r() : P.submenu ? n == null || n(P.submenu) : P.action && (t == null || t(P.action, P));
1585
+ const v = u, S = p ?? u, E = e.find((A) => A.south) ?? null, M = e.filter((A) => !A.south), R = M.length + (E ? 1 : 0), w = Fe / R, P = E ? Se + w : Se, N = j != null && Number.isFinite(j) && j > 0, L = N ? Math.max(ze, h - ue * 2) : pn(R, v, h), C = N ? j / 2 - F - ue : S + We, U = Math.min(96, Math.max(56, Math.floor(L * 0.5))), B = C - Ue, ne = (f && E ? B : C) - F, O = N && j != null ? un(M, h, j, ne, we) : cn(M, v, S, P, w, s, we), ae = (A) => (X) => {
1586
+ X.stopPropagation(), A.south ? r == null || r() : A.submenu ? n == null || n(A.submenu) : A.action && (t == null || t(A.action, A));
1517
1587
  };
1518
1588
  return /* @__PURE__ */ _(
1519
1589
  "div",
@@ -1524,20 +1594,20 @@ function Qt({
1524
1594
  children: [
1525
1595
  k ? /* @__PURE__ */ a("div", { className: "j-orbital-menu__center", children: k }) : null,
1526
1596
  /* @__PURE__ */ _("div", { className: "j-orbital-menu__anchor", role: "menu", "aria-label": d, children: [
1527
- c ? /* @__PURE__ */ a(re, { x: 0, y: C - 46, hiding: i, interactive: !1, children: c }) : null,
1528
- O.map(({ item: P, x: K, y: V }, H) => /* @__PURE__ */ a(
1529
- re,
1597
+ c ? /* @__PURE__ */ a(oe, { x: 0, y: C - 46, hiding: i, interactive: !1, children: c }) : null,
1598
+ O.map(({ item: A, x: X, y: q }, H) => /* @__PURE__ */ a(
1599
+ oe,
1530
1600
  {
1531
- x: K,
1532
- y: V,
1601
+ x: X,
1602
+ y: q,
1533
1603
  hiding: i,
1534
- dim: P.dim,
1535
- children: /* @__PURE__ */ a(en, { item: P, onClick: oe(P) })
1604
+ dim: A.dim,
1605
+ children: /* @__PURE__ */ a(gn, { item: A, onClick: ae(A) })
1536
1606
  },
1537
- `${o}-${P.label}-${H}`
1607
+ `${o}-${A.label}-${H}`
1538
1608
  )),
1539
- E ? /* @__PURE__ */ a(re, { x: 0, y: C, hiding: i, children: /* @__PURE__ */ a(
1540
- X,
1609
+ E ? /* @__PURE__ */ a(oe, { x: 0, y: C, hiding: i, children: /* @__PURE__ */ a(
1610
+ Y,
1541
1611
  {
1542
1612
  tone: E.tone ?? "orange",
1543
1613
  size: "sm",
@@ -1545,21 +1615,21 @@ function Qt({
1545
1615
  className: "j-orbital-btn j-orbital-btn--south",
1546
1616
  style: { width: L },
1547
1617
  title: E.tooltip ?? E.label,
1548
- onClick: oe(E),
1618
+ onClick: ae(E),
1549
1619
  role: "menuitem",
1550
1620
  children: E.label
1551
1621
  }
1552
1622
  ) }) : null,
1553
- E && f ? /* @__PURE__ */ _(Ge, { children: [
1554
- /* @__PURE__ */ a(re, { x: -(L / 2) + z / 2, y: B, hiding: i, children: /* @__PURE__ */ a(ke, { label: "<", title: "Previous page", width: z, onClick: y }) }),
1555
- /* @__PURE__ */ a(re, { x: L / 2 - z / 2, y: B, hiding: i, children: /* @__PURE__ */ a(ke, { label: ">", title: "Next page", width: z, onClick: x }) })
1623
+ E && f ? /* @__PURE__ */ _(Xe, { children: [
1624
+ /* @__PURE__ */ a(oe, { x: -(L / 2) + U / 2, y: B, hiding: i, children: /* @__PURE__ */ a(Ne, { label: "<", title: "Previous page", width: U, onClick: y }) }),
1625
+ /* @__PURE__ */ a(oe, { x: L / 2 - U / 2, y: B, hiding: i, children: /* @__PURE__ */ a(Ne, { label: ">", title: "Next page", width: U, onClick: x }) })
1556
1626
  ] }) : null
1557
1627
  ] })
1558
1628
  ]
1559
1629
  }
1560
1630
  );
1561
1631
  }
1562
- function re({
1632
+ function oe({
1563
1633
  x: e,
1564
1634
  y: t,
1565
1635
  hiding: n,
@@ -1582,15 +1652,15 @@ function re({
1582
1652
  }
1583
1653
  );
1584
1654
  }
1585
- function en({
1655
+ function gn({
1586
1656
  item: e,
1587
1657
  onClick: t
1588
1658
  }) {
1589
1659
  if (e.badge)
1590
- return /* @__PURE__ */ a(Wt, { status: e.badge.status, label: e.badge.label, title: e.tooltip });
1591
- const n = Ue(e);
1660
+ return /* @__PURE__ */ a(an, { status: e.badge.status, label: e.badge.label, title: e.tooltip });
1661
+ const n = Ke(e);
1592
1662
  return /* @__PURE__ */ _(
1593
- X,
1663
+ Y,
1594
1664
  {
1595
1665
  tone: e.tone ?? (n ? "orange" : "red"),
1596
1666
  size: "sm",
@@ -1609,14 +1679,14 @@ function en({
1609
1679
  }
1610
1680
  );
1611
1681
  }
1612
- function ke({
1682
+ function Ne({
1613
1683
  label: e,
1614
1684
  title: t,
1615
1685
  width: n,
1616
1686
  onClick: r
1617
1687
  }) {
1618
1688
  return /* @__PURE__ */ a(
1619
- X,
1689
+ Y,
1620
1690
  {
1621
1691
  tone: "blue",
1622
1692
  size: "sm",
@@ -1631,9 +1701,9 @@ function ke({
1631
1701
  }
1632
1702
  );
1633
1703
  }
1634
- const we = 200, tn = 320, ae = { stack: [], page: 0, breadcrumb: [], closing: !1 };
1635
- function We() {
1636
- let e = ae, t = -1, n = 0, r = null;
1704
+ const Ee = 200, bn = 320, ie = { stack: [], page: 0, breadcrumb: [], closing: !1 };
1705
+ function Ye() {
1706
+ let e = ie, t = -1, n = 0, r = null;
1637
1707
  const o = /* @__PURE__ */ new Set(), i = () => o.forEach((l) => l()), s = (l) => {
1638
1708
  e = { ...e, ...l }, i();
1639
1709
  }, u = () => {
@@ -1643,7 +1713,7 @@ function We() {
1643
1713
  r = null, l();
1644
1714
  }, c);
1645
1715
  }, j = () => {
1646
- u(), s({ closing: !0 }), p(() => s({ ...ae }), tn);
1716
+ u(), s({ closing: !0 }), p(() => s({ ...ie }), bn);
1647
1717
  };
1648
1718
  return {
1649
1719
  subscribe: (l) => (o.add(l), () => o.delete(l)),
@@ -1659,13 +1729,13 @@ function We() {
1659
1729
  }
1660
1730
  u(), s({ breadcrumb: e.breadcrumb.slice(0, -1), closing: !0 }), p(
1661
1731
  () => s({ stack: e.stack.slice(0, -1), page: 0, closing: !1 }),
1662
- we
1732
+ Ee
1663
1733
  );
1664
1734
  },
1665
1735
  navigateTo: (l) => {
1666
1736
  u(), s({ breadcrumb: [...e.breadcrumb, l], closing: !0 }), p(
1667
1737
  () => s({ stack: [...e.stack, l], page: 0, closing: !1 }),
1668
- we
1738
+ Ee
1669
1739
  );
1670
1740
  },
1671
1741
  nextPage: (l) => {
@@ -1677,7 +1747,7 @@ function We() {
1677
1747
  s({ page: c <= 1 ? 0 : (e.page - 1 + c) % c });
1678
1748
  },
1679
1749
  reset: () => {
1680
- u(), t = -1, n = 0, s({ ...ae });
1750
+ u(), t = -1, n = 0, s({ ...ie });
1681
1751
  },
1682
1752
  signalIncomingResults: ({ count: l, topScore: c }) => {
1683
1753
  let f = !1;
@@ -1685,16 +1755,16 @@ function We() {
1685
1755
  }
1686
1756
  };
1687
1757
  }
1688
- const nn = We();
1689
- function rn({
1758
+ const jn = Ye();
1759
+ function vn({
1690
1760
  root: e = "main",
1691
- store: t = nn
1761
+ store: t = jn
1692
1762
  } = {}) {
1693
- const n = Xe(t.subscribe, t.getState, () => ae), r = q(() => t.open(e), [t, e]), o = q(() => {
1763
+ const n = Ze(t.subscribe, t.getState, () => ie), r = Q(() => t.open(e), [t, e]), o = Q(() => {
1694
1764
  const { stack: i, closing: s } = t.getState();
1695
1765
  i.length === 0 && !s ? t.open(e) : t.close();
1696
1766
  }, [t, e]);
1697
- return Ce(
1767
+ return Pe(
1698
1768
  () => ({
1699
1769
  ...n,
1700
1770
  currentMenu: n.stack.at(-1) ?? e,
@@ -1712,17 +1782,17 @@ function rn({
1712
1782
  [n, e, r, o, t]
1713
1783
  );
1714
1784
  }
1715
- const on = new URL("../assets/jammy-seed-mascot-BdoW3O33.png", import.meta.url).href, an = on;
1716
- function sn(e) {
1785
+ const _n = new URL("../assets/jammy-seed-mascot-BdoW3O33.png", import.meta.url).href, yn = _n;
1786
+ function xn(e) {
1717
1787
  return (t) => {
1718
1788
  (t.key === "Enter" || t.key === " ") && (t.preventDefault(), e());
1719
1789
  };
1720
1790
  }
1721
- const Se = 14;
1722
- function ln(e) {
1723
- return e == null || !Number.isFinite(e) || e <= 0 ? Se : Math.max(2, Math.min(Se, Ht(e)));
1791
+ const Ce = 14;
1792
+ function kn(e) {
1793
+ return e == null || !Number.isFinite(e) || e <= 0 ? Ce : Math.max(2, Math.min(Ce, dn(e)));
1724
1794
  }
1725
- function ar({
1795
+ function xr({
1726
1796
  mood: e = "idle",
1727
1797
  size: t = 96,
1728
1798
  menuItems: n,
@@ -1739,16 +1809,16 @@ function ar({
1739
1809
  className: y = "",
1740
1810
  ...x
1741
1811
  }) {
1742
- const [k] = T(We), b = rn({ store: c ?? k }), d = Ce(
1812
+ const [k] = T(Ye), b = vn({ store: c ?? k }), d = Pe(
1743
1813
  () => r ?? (n ? () => n : null),
1744
1814
  [r, n]
1745
1815
  ), g = d != null && !j, h = () => {
1746
1816
  g && b.toggle();
1747
- }, m = e === "happy" ? "jammy-happy" : e === "surprised" ? "jammy-shake" : "jammy-idle", v = g && (b.isOpen || b.isClosing), w = v && d ? d(b.stack) : [], E = ln(s), M = Math.max(1, Math.ceil(w.length / E)), R = Math.min(Math.max(0, b.page), M - 1), S = w.slice(R * E, (R + 1) * E), A = {
1817
+ }, m = e === "happy" ? "jammy-happy" : e === "surprised" ? "jammy-shake" : "jammy-idle", v = g && (b.isOpen || b.isClosing), S = v && d ? d(b.stack) : [], E = kn(s), M = Math.max(1, Math.ceil(S.length / E)), R = Math.min(Math.max(0, b.page), M - 1), w = S.slice(R * E, (R + 1) * E), P = {
1748
1818
  label: b.canGoBack ? "Back" : l,
1749
1819
  south: !0
1750
- }, N = v ? [...S, A] : [], L = qt(
1751
- Vt(t, S.length, p),
1820
+ }, N = v ? [...w, P] : [], L = mn(
1821
+ fn(t, w.length, p),
1752
1822
  t,
1753
1823
  i
1754
1824
  ), C = /* @__PURE__ */ a(
@@ -1757,11 +1827,11 @@ function ar({
1757
1827
  role: g ? "button" : void 0,
1758
1828
  tabIndex: g ? 0 : void 0,
1759
1829
  onClick: h,
1760
- onKeyDown: g ? sn(h) : void 0,
1830
+ onKeyDown: g ? xn(h) : void 0,
1761
1831
  "aria-label": "Jammy mascot",
1762
1832
  "aria-expanded": g ? b.isOpen : void 0,
1763
1833
  className: g ? "j-mascot__hit j-mascot__hit--interactive" : "j-mascot__hit",
1764
- children: f ? f({ size: t }) : /* @__PURE__ */ a("img", { src: an, alt: "Jammy", draggable: !1, className: "j-mascot__img" })
1834
+ children: f ? f({ size: t }) : /* @__PURE__ */ a("img", { src: yn, alt: "Jammy", draggable: !1, className: "j-mascot__img" })
1765
1835
  }
1766
1836
  );
1767
1837
  return /* @__PURE__ */ _(
@@ -1781,7 +1851,7 @@ function ar({
1781
1851
  "--j-orbit-h": s != null ? `${s}px` : void 0
1782
1852
  },
1783
1853
  children: /* @__PURE__ */ a(
1784
- Qt,
1854
+ hn,
1785
1855
  {
1786
1856
  items: N,
1787
1857
  currentMenu: b.currentMenu,
@@ -1789,14 +1859,14 @@ function ar({
1789
1859
  mascotSize: t,
1790
1860
  radius: L,
1791
1861
  boxHeight: s,
1792
- showPageControls: w.length > E,
1862
+ showPageControls: S.length > E,
1793
1863
  onPagePrev: () => b.prevPage(M),
1794
1864
  onPageNext: () => b.nextPage(M),
1795
- breadcrumb: b.breadcrumb.length > 0 ? /* @__PURE__ */ a(Y, { size: "xs", tone: "grey", children: b.breadcrumb.join(" / ") }) : null,
1865
+ breadcrumb: b.breadcrumb.length > 0 ? /* @__PURE__ */ a(K, { size: "xs", tone: "grey", children: b.breadcrumb.join(" / ") }) : null,
1796
1866
  onNavigate: b.navigateTo,
1797
1867
  onBack: b.back,
1798
- onAction: (z, B) => {
1799
- o == null || o(z, B), b.close();
1868
+ onAction: (U, B) => {
1869
+ o == null || o(U, B), b.close();
1800
1870
  }
1801
1871
  }
1802
1872
  )
@@ -1806,43 +1876,43 @@ function ar({
1806
1876
  }
1807
1877
  );
1808
1878
  }
1809
- const Ne = 3, ue = 220;
1810
- function ir({
1879
+ const Le = 3, pe = 220;
1880
+ function kr({
1811
1881
  children: e,
1812
1882
  onDecide: t,
1813
1883
  width: n = 300,
1814
1884
  height: r = 420,
1815
1885
  threshold: o = 90
1816
1886
  }) {
1817
- const i = Ke.toArray(e), [s, u] = T(0), [p, j] = T(0), [l, c] = T(!1), [f, y] = T(null), [x, k] = T([]), b = J(0), d = J(null);
1887
+ const i = Ve.toArray(e), [s, u] = T(0), [p, j] = T(0), [l, c] = T(!1), [f, y] = T(null), [x, k] = T([]), b = J(0), d = J(null);
1818
1888
  W(
1819
1889
  () => () => {
1820
1890
  d.current && clearTimeout(d.current);
1821
1891
  },
1822
1892
  []
1823
1893
  );
1824
- const g = i.length - s, h = q(
1894
+ const g = i.length - s, h = Q(
1825
1895
  (N) => {
1826
1896
  if (f || s >= i.length) return;
1827
1897
  const L = s;
1828
1898
  y(N), c(!1), t == null || t(L, N), d.current = setTimeout(() => {
1829
1899
  k((C) => [...C, { index: L, direction: N }]), u(L + 1), y(null), j(0);
1830
- }, ue);
1900
+ }, pe);
1831
1901
  },
1832
1902
  [i.length, s, f, t]
1833
- ), m = q(() => {
1903
+ ), m = Q(() => {
1834
1904
  if (f || x.length === 0) return;
1835
1905
  const N = x[x.length - 1];
1836
1906
  k((L) => L.slice(0, -1)), u(N.index), j(0);
1837
1907
  }, [f, x]), v = (N) => {
1838
1908
  f || (N.currentTarget.setPointerCapture(N.pointerId), b.current = N.clientX, c(!0));
1839
- }, w = (N) => {
1909
+ }, S = (N) => {
1840
1910
  !l || f || j(N.clientX - b.current);
1841
1911
  }, E = () => {
1842
1912
  !l || f || (c(!1), Math.abs(p) >= o ? h(p > 0 ? "keep" : "pass") : j(0));
1843
1913
  }, M = (N) => {
1844
1914
  N.key === "ArrowRight" && h("keep"), N.key === "ArrowLeft" && h("pass"), N.key === "Backspace" && m();
1845
- }, R = f ? f === "keep" ? n * 2 : -n * 2 : p, S = Math.max(-14, Math.min(14, R * 0.05)), A = Math.abs(p) >= o ? p > 0 ? "keep" : "pass" : null;
1915
+ }, R = f ? f === "keep" ? n * 2 : -n * 2 : p, w = Math.max(-14, Math.min(14, R * 0.05)), P = Math.abs(p) >= o ? p > 0 ? "keep" : "pass" : null;
1846
1916
  return /* @__PURE__ */ _(
1847
1917
  "div",
1848
1918
  {
@@ -1868,43 +1938,43 @@ function ir({
1868
1938
  outline: "none"
1869
1939
  },
1870
1940
  children: [
1871
- g === 0 ? /* @__PURE__ */ a("div", { style: { position: "absolute", inset: 0, display: "grid", placeItems: "center" }, children: /* @__PURE__ */ a(Y, { size: "sm", tone: "grey", children: "No seeds left" }) }) : null,
1872
- i.slice(s, s + Ne).map((N, L) => {
1873
- const C = L === 0, z = C ? `translate3d(${R}px, 0, 0) rotate(${S}deg)` : `translate3d(0, ${L * 9}px, 0) scale(${1 - L * 0.045})`;
1941
+ g === 0 ? /* @__PURE__ */ a("div", { style: { position: "absolute", inset: 0, display: "grid", placeItems: "center" }, children: /* @__PURE__ */ a(K, { size: "sm", tone: "grey", children: "No seeds left" }) }) : null,
1942
+ i.slice(s, s + Le).map((N, L) => {
1943
+ const C = L === 0, U = C ? `translate3d(${R}px, 0, 0) rotate(${w}deg)` : `translate3d(0, ${L * 9}px, 0) scale(${1 - L * 0.045})`;
1874
1944
  return /* @__PURE__ */ _(
1875
1945
  "div",
1876
1946
  {
1877
1947
  onPointerDown: C ? v : void 0,
1878
- onPointerMove: C ? w : void 0,
1948
+ onPointerMove: C ? S : void 0,
1879
1949
  onPointerUp: C ? E : void 0,
1880
1950
  onPointerCancel: C ? E : void 0,
1881
1951
  style: {
1882
1952
  position: "absolute",
1883
1953
  inset: 0,
1884
- zIndex: Ne - L,
1885
- transform: z,
1886
- transition: l && C ? "none" : `transform ${ue}ms ease-out, opacity ${ue}ms ease-out`,
1954
+ zIndex: Le - L,
1955
+ transform: U,
1956
+ transition: l && C ? "none" : `transform ${pe}ms ease-out, opacity ${pe}ms ease-out`,
1887
1957
  opacity: C && f ? 0 : 1,
1888
1958
  cursor: C ? l ? "grabbing" : "grab" : "default",
1889
1959
  overflow: "hidden"
1890
1960
  },
1891
1961
  children: [
1892
1962
  N,
1893
- C && A ? /* @__PURE__ */ a(
1963
+ C && P ? /* @__PURE__ */ a(
1894
1964
  "div",
1895
1965
  {
1896
1966
  style: {
1897
1967
  position: "absolute",
1898
1968
  top: 14,
1899
- left: A === "keep" ? 14 : void 0,
1900
- right: A === "pass" ? 14 : void 0,
1969
+ left: P === "keep" ? 14 : void 0,
1970
+ right: P === "pass" ? 14 : void 0,
1901
1971
  padding: "4px 10px",
1902
1972
  borderRadius: 4,
1903
- border: `2px solid ${A === "keep" ? "#3fa34d" : "#c0392b"}`,
1904
- transform: `rotate(${A === "keep" ? -8 : 8}deg)`,
1973
+ border: `2px solid ${P === "keep" ? "#3fa34d" : "#c0392b"}`,
1974
+ transform: `rotate(${P === "keep" ? -8 : 8}deg)`,
1905
1975
  pointerEvents: "none"
1906
1976
  },
1907
- children: /* @__PURE__ */ a(Y, { size: "xs", tone: A === "keep" ? "green" : "red", children: A === "keep" ? "Keep" : "Pass" })
1977
+ children: /* @__PURE__ */ a(K, { size: "xs", tone: P === "keep" ? "green" : "red", children: P === "keep" ? "Keep" : "Pass" })
1908
1978
  }
1909
1979
  ) : null
1910
1980
  ]
@@ -1917,39 +1987,39 @@ function ir({
1917
1987
  ),
1918
1988
  /* @__PURE__ */ _("div", { style: { display: "grid", gridAutoFlow: "column", gap: 16, alignItems: "center" }, children: [
1919
1989
  /* @__PURE__ */ a(
1920
- ee,
1990
+ te,
1921
1991
  {
1922
1992
  "aria-label": "Pass",
1923
1993
  title: "Pass (left arrow)",
1924
1994
  tone: "destructive",
1925
1995
  onClick: () => h("pass"),
1926
1996
  disabled: g === 0,
1927
- children: /* @__PURE__ */ a(Te, {})
1997
+ children: /* @__PURE__ */ a(Me, {})
1928
1998
  }
1929
1999
  ),
1930
2000
  /* @__PURE__ */ a(
1931
- ee,
2001
+ te,
1932
2002
  {
1933
2003
  "aria-label": "Undo",
1934
2004
  title: "Undo (backspace)",
1935
2005
  size: "sm",
1936
2006
  onClick: m,
1937
2007
  disabled: x.length === 0,
1938
- children: /* @__PURE__ */ a(pt, {})
2008
+ children: /* @__PURE__ */ a(yt, {})
1939
2009
  }
1940
2010
  ),
1941
2011
  /* @__PURE__ */ a(
1942
- ee,
2012
+ te,
1943
2013
  {
1944
2014
  "aria-label": "Keep",
1945
2015
  title: "Keep (right arrow)",
1946
2016
  onClick: () => h("keep"),
1947
2017
  disabled: g === 0,
1948
- children: /* @__PURE__ */ a(Re, {})
2018
+ children: /* @__PURE__ */ a(Oe, {})
1949
2019
  }
1950
2020
  )
1951
2021
  ] }),
1952
- /* @__PURE__ */ _(Y, { size: "micro", tone: "grey", children: [
2022
+ /* @__PURE__ */ _(K, { size: "micro", tone: "grey", children: [
1953
2023
  g,
1954
2024
  " of ",
1955
2025
  i.length,
@@ -1960,92 +2030,93 @@ function ir({
1960
2030
  );
1961
2031
  }
1962
2032
  export {
1963
- Je as $,
1964
- ce as A,
1965
- Bn as B,
1966
- $n as C,
1967
- Dn as D,
1968
- In as E,
1969
- Ie as F,
1970
- Jn as G,
1971
- Fn as H,
1972
- On as I,
1973
- Sn as J,
1974
- Mn as K,
1975
- ot as L,
1976
- et as M,
1977
- _n as N,
1978
- Nn as O,
1979
- tr as P,
1980
- kn as Q,
1981
- Rn as R,
1982
- mn as S,
1983
- Wt as T,
1984
- ir as U,
1985
- zn as V,
1986
- Y as W,
1987
- Hn as X,
1988
- Pn as Y,
1989
- Qn as Z,
1990
- De as _,
1991
- Vn as a,
1992
- tn as a0,
1993
- we as a1,
1994
- Fe as a2,
1995
- F as a3,
1996
- ye as a4,
1997
- le as a5,
1998
- $e as a6,
1999
- Ht as a7,
2000
- qt as a8,
2001
- We as a9,
2002
- Dt as aa,
2003
- Jt as ab,
2004
- ze as ac,
2005
- nn as ad,
2006
- Kt as ae,
2007
- Xt as af,
2008
- or as ag,
2009
- Yt as ah,
2010
- Vt as ai,
2011
- Zt as aj,
2012
- rn as ak,
2013
- Wn as al,
2014
- wn as am,
2015
- I as an,
2016
- hn as ao,
2017
- Re as ap,
2018
- jn as aq,
2019
- gn as ar,
2020
- Te as as,
2021
- bn as at,
2022
- vn as au,
2023
- gt as av,
2024
- Gn as aw,
2025
- Zn as b,
2026
- En as c,
2033
+ $e as $,
2034
+ de as A,
2035
+ Zn as B,
2036
+ rr as C,
2037
+ er as D,
2038
+ Qn as E,
2039
+ Fe as F,
2040
+ tr as G,
2041
+ nr as H,
2042
+ qn as I,
2043
+ $n as J,
2044
+ Vn as K,
2045
+ ft as L,
2046
+ ct as M,
2047
+ On as N,
2048
+ zn as O,
2049
+ dr as P,
2050
+ jr as Q,
2051
+ Jn as R,
2052
+ Hn as S,
2053
+ An as T,
2054
+ an as U,
2055
+ kr as V,
2056
+ or as W,
2057
+ K as X,
2058
+ pr as Y,
2059
+ Kn as Z,
2060
+ gr as _,
2061
+ mr as a,
2062
+ ze as a0,
2063
+ bn as a1,
2064
+ Ee as a2,
2065
+ Ue as a3,
2066
+ F as a4,
2067
+ Se as a5,
2068
+ ue as a6,
2069
+ We as a7,
2070
+ dn as a8,
2071
+ mn as a9,
2072
+ Ye as aa,
2073
+ Qt as ab,
2074
+ en as ac,
2075
+ Ge as ad,
2076
+ jn as ae,
2077
+ un as af,
2078
+ cn as ag,
2079
+ yr as ah,
2080
+ ln as ai,
2081
+ fn as aj,
2082
+ pn as ak,
2083
+ vn as al,
2084
+ ir as am,
2085
+ Fn as an,
2086
+ I as ao,
2087
+ Pn as ap,
2088
+ Oe as aq,
2089
+ Bn as ar,
2090
+ Tn as as,
2091
+ Me as at,
2092
+ Rn as au,
2093
+ Mn as av,
2094
+ wt as aw,
2095
+ sr as ax,
2096
+ fr as b,
2097
+ Un as c,
2027
2098
  $ as d,
2028
- X as e,
2029
- pn as f,
2030
- Xn as g,
2031
- yt as h,
2032
- nr as i,
2033
- Kn as j,
2034
- rr as k,
2035
- An as l,
2036
- er as m,
2037
- ee as n,
2038
- Cn as o,
2039
- Yn as p,
2040
- yn as q,
2041
- qn as r,
2042
- Ln as s,
2043
- Un as t,
2044
- ar as u,
2045
- xn as v,
2046
- Qt as w,
2047
- Ot as x,
2048
- fn as y,
2049
- Tn as z
2099
+ Y as e,
2100
+ Cn as f,
2101
+ cr as g,
2102
+ At as h,
2103
+ vr as i,
2104
+ ur as j,
2105
+ _r as k,
2106
+ Yn as l,
2107
+ br as m,
2108
+ te as n,
2109
+ Wn as o,
2110
+ lr as p,
2111
+ In as q,
2112
+ hr as r,
2113
+ Gn as s,
2114
+ ar as t,
2115
+ xr as u,
2116
+ Dn as v,
2117
+ hn as w,
2118
+ Vt as x,
2119
+ Ln as y,
2120
+ Xn as z
2050
2121
  };
2051
- //# sourceMappingURL=JimboSwipeDeck-DbzWak3V.js.map
2122
+ //# sourceMappingURL=JimboSwipeDeck-eog6nv7F.js.map