@trading-game/design-intelligence-layer 1.0.7 → 1.2.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.
package/dist/index.cjs CHANGED
@@ -139,6 +139,7 @@ __export(index_exports, {
139
139
  ContextMenuSubContent: () => ContextMenuSubContent,
140
140
  ContextMenuSubTrigger: () => ContextMenuSubTrigger,
141
141
  ContextMenuTrigger: () => ContextMenuTrigger,
142
+ DateWheelPicker: () => DateWheelPicker,
142
143
  Dialog: () => Dialog,
143
144
  DialogClose: () => DialogClose,
144
145
  DialogContent: () => DialogContent,
@@ -1269,9 +1270,11 @@ var badgeVariants = (0, import_class_variance_authority4.cva)(
1269
1270
  "solid-fail": "bg-background-error-solid text-text-on-status-static",
1270
1271
  "solid-warning": "bg-background-warning-solid text-text-on-status-static",
1271
1272
  // Tint — the Section Message surface tokens, coloured foreground.
1272
- // Brand tint = the static brand-container recipe (layered value,
1273
- // so it paints via `background`, not a bg-* utility).
1274
- tint: "[background:var(--background-brand-container)] border-transparent text-text-brand-container-static",
1273
+ // Brand tint rides `brand-selected`, the theme-aware selection
1274
+ // family, for the same reason Calendar's range band does: the
1275
+ // static `brand-container` is one value in both themes and sits
1276
+ // near-white on a dark surface.
1277
+ tint: "bg-background-brand-selected border-transparent text-text-brand-selected",
1275
1278
  "tint-demo": "bg-background-demo-default border-transparent text-text-demo-default",
1276
1279
  "tint-neutral": "bg-background-secondary-surface border-transparent text-text-prominent-default",
1277
1280
  "tint-success": "bg-background-success-default border-transparent text-text-success-default",
@@ -1282,7 +1285,18 @@ var badgeVariants = (0, import_class_variance_authority4.cva)(
1282
1285
  xs: "type-badge-xs h-5 px-2 py-0.5",
1283
1286
  sm: "type-badge-sm h-6 px-2.5 py-0.5",
1284
1287
  md: "type-badge-md h-8 px-3 py-1",
1285
- lg: "type-badge-lg h-10 px-4 py-1.5"
1288
+ lg: "type-badge-lg h-10 px-4 py-1.5",
1289
+ /* `count` is a shape, not a step on the xs/sm/md/lg rail: an
1290
+ 18px disc that grows into a pill as digits are added. The
1291
+ padding is deliberately tight (`px-1`): one digit then
1292
+ measures under the 18px min-width, so min-width wins and the
1293
+ disc is a true circle. Widen the padding and a single digit
1294
+ overshoots 18px, turning it back into an oval. `tabular-nums` keeps every digit
1295
+ the same width, so a ticking count only resizes when the
1296
+ digit count changes, not on every update. Callers that pin
1297
+ it over other chrome add their own knockout ring — Badge
1298
+ cannot know what sits behind it. */
1299
+ count: "type-badge-xs min-w-[1.125rem] h-[1.125rem] px-1 tabular-nums"
1286
1300
  }
1287
1301
  },
1288
1302
  defaultVariants: {
@@ -3336,25 +3350,297 @@ function ContextMenuShortcut(_a) {
3336
3350
  );
3337
3351
  }
3338
3352
 
3353
+ // components/ui/date-wheel-picker.tsx
3354
+ var React7 = __toESM(require("react"), 1);
3355
+ var import_jsx_runtime23 = require("react/jsx-runtime");
3356
+ var ROW = 40;
3357
+ var VISIBLE_ROWS = 5;
3358
+ var SETTLE_MS = 120;
3359
+ var toParts = (date) => ({
3360
+ y: date.getFullYear(),
3361
+ m: date.getMonth(),
3362
+ d: date.getDate()
3363
+ });
3364
+ var toDate = ({ y, m, d }) => new Date(y, m, d);
3365
+ var daysIn = (y, m) => new Date(y, m + 1, 0).getDate();
3366
+ var dayStart = (date) => new Date(date.getFullYear(), date.getMonth(), date.getDate());
3367
+ function clamp(parts, min, max) {
3368
+ const d = Math.min(parts.d, daysIn(parts.y, parts.m));
3369
+ const date = toDate(__spreadProps(__spreadValues({}, parts), { d }));
3370
+ if (date < min) return toParts(min);
3371
+ if (date > max) return toParts(max);
3372
+ return __spreadProps(__spreadValues({}, parts), { d });
3373
+ }
3374
+ function Wheel({ items, index, onIndexChange, label, className }) {
3375
+ var _a;
3376
+ const ref = React7.useRef(null);
3377
+ const settleTimer = React7.useRef(null);
3378
+ const mounted = React7.useRef(false);
3379
+ const [live, setLive] = React7.useState(index);
3380
+ const scrollToIndex = React7.useCallback((i, smooth) => {
3381
+ var _a2;
3382
+ const el = ref.current;
3383
+ if (!el) return;
3384
+ const reduce = (_a2 = window.matchMedia) == null ? void 0 : _a2.call(window, "(prefers-reduced-motion: reduce)").matches;
3385
+ el.scrollTo({ top: i * ROW, behavior: smooth && !reduce ? "smooth" : "auto" });
3386
+ }, []);
3387
+ React7.useEffect(() => {
3388
+ setLive(index);
3389
+ const el = ref.current;
3390
+ if (el && Math.round(el.scrollTop / ROW) !== index) {
3391
+ scrollToIndex(index, mounted.current);
3392
+ }
3393
+ mounted.current = true;
3394
+ }, [index, items.length, scrollToIndex]);
3395
+ React7.useEffect(
3396
+ () => () => {
3397
+ if (settleTimer.current) clearTimeout(settleTimer.current);
3398
+ },
3399
+ []
3400
+ );
3401
+ const nearestEnabled = (i) => {
3402
+ var _a2;
3403
+ if (!((_a2 = items[i]) == null ? void 0 : _a2.disabled)) return i;
3404
+ for (let step2 = 1; step2 < items.length; step2++) {
3405
+ if (items[i - step2] && !items[i - step2].disabled) return i - step2;
3406
+ if (items[i + step2] && !items[i + step2].disabled) return i + step2;
3407
+ }
3408
+ return i;
3409
+ };
3410
+ const onScroll = () => {
3411
+ var _a2;
3412
+ const el = ref.current;
3413
+ if (!el) return;
3414
+ const i = Math.max(0, Math.min(items.length - 1, Math.round(el.scrollTop / ROW)));
3415
+ if (i !== live) {
3416
+ setLive(i);
3417
+ (_a2 = navigator.vibrate) == null ? void 0 : _a2.call(navigator, 4);
3418
+ }
3419
+ if (settleTimer.current) clearTimeout(settleTimer.current);
3420
+ settleTimer.current = setTimeout(() => {
3421
+ const target = nearestEnabled(i);
3422
+ if (target !== i) {
3423
+ setLive(target);
3424
+ scrollToIndex(target, true);
3425
+ if (target !== index) onIndexChange(target);
3426
+ } else if (target !== index) onIndexChange(target);
3427
+ }, SETTLE_MS);
3428
+ };
3429
+ const step = (from, delta) => {
3430
+ var _a2;
3431
+ let i = from;
3432
+ for (let n = Math.abs(delta); n > 0; n--) {
3433
+ let next = i + Math.sign(delta);
3434
+ while ((_a2 = items[next]) == null ? void 0 : _a2.disabled) next += Math.sign(delta);
3435
+ if (!items[next]) break;
3436
+ i = next;
3437
+ }
3438
+ return i;
3439
+ };
3440
+ const onKeyDown = (e) => {
3441
+ const last = items.length - 1;
3442
+ let next = null;
3443
+ if (e.key === "ArrowDown") next = step(index, 1);
3444
+ else if (e.key === "ArrowUp") next = step(index, -1);
3445
+ else if (e.key === "PageDown") next = step(index, 5);
3446
+ else if (e.key === "PageUp") next = step(index, -5);
3447
+ else if (e.key === "Home") next = nearestEnabled(0);
3448
+ else if (e.key === "End") next = nearestEnabled(last);
3449
+ if (next === null) return;
3450
+ e.preventDefault();
3451
+ if (next !== index) onIndexChange(next);
3452
+ };
3453
+ const enabled = items.filter((it) => !it.disabled);
3454
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
3455
+ "div",
3456
+ {
3457
+ ref,
3458
+ "data-slot": "date-wheel-picker-wheel",
3459
+ role: "spinbutton",
3460
+ tabIndex: 0,
3461
+ "aria-label": label,
3462
+ "aria-valuenow": index,
3463
+ "aria-valuetext": (_a = items[index]) == null ? void 0 : _a.label,
3464
+ "aria-valuemin": items.indexOf(enabled[0]),
3465
+ "aria-valuemax": items.indexOf(enabled[enabled.length - 1]),
3466
+ onScroll,
3467
+ onKeyDown,
3468
+ className: cn(
3469
+ "relative z-10 h-50 min-w-0 snap-y snap-mandatory overflow-y-scroll rounded-md outline-none",
3470
+ "[scrollbar-width:none] [&::-webkit-scrollbar]:hidden",
3471
+ // Rows fade toward the edges so the wheel reads as a drum.
3472
+ "[mask-image:linear-gradient(to_bottom,transparent,black_32%,black_68%,transparent)]",
3473
+ "focus-visible:ring-[3px] focus-visible:ring-ring-focus-strong",
3474
+ className
3475
+ ),
3476
+ children: [
3477
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { "aria-hidden": true, className: "h-20" }),
3478
+ items.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3479
+ "div",
3480
+ {
3481
+ "aria-hidden": true,
3482
+ "data-selected": i === live ? "" : void 0,
3483
+ "data-disabled": item.disabled ? "" : void 0,
3484
+ onClick: () => !item.disabled && scrollToIndex(i, true),
3485
+ className: cn(
3486
+ "type-date-wheel-picker-item flex h-10 cursor-pointer snap-center items-center justify-center whitespace-nowrap tabular-nums select-none",
3487
+ "text-text-subtle-default transition-[color,transform] duration-fast ease-standard motion-reduce:transition-none",
3488
+ "data-selected:scale-[1.04] data-selected:text-text-brand-selected",
3489
+ "data-disabled:cursor-default data-disabled:text-text-disabled-default"
3490
+ ),
3491
+ children: item.label
3492
+ },
3493
+ i
3494
+ )),
3495
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { "aria-hidden": true, className: "h-20" })
3496
+ ]
3497
+ }
3498
+ );
3499
+ }
3500
+ function DateWheelPicker(_a) {
3501
+ var _b = _a, {
3502
+ value,
3503
+ defaultValue,
3504
+ onValueChange,
3505
+ min: minProp,
3506
+ max: maxProp,
3507
+ order = "dmy",
3508
+ monthFormat = "long",
3509
+ locale,
3510
+ className
3511
+ } = _b, props = __objRest(_b, [
3512
+ "value",
3513
+ "defaultValue",
3514
+ "onValueChange",
3515
+ "min",
3516
+ "max",
3517
+ "order",
3518
+ "monthFormat",
3519
+ "locale",
3520
+ "className"
3521
+ ]);
3522
+ const min = React7.useMemo(
3523
+ () => dayStart(minProp != null ? minProp : new Date(1900, 0, 1)),
3524
+ [minProp]
3525
+ );
3526
+ const max = React7.useMemo(
3527
+ () => dayStart(maxProp != null ? maxProp : new Date((/* @__PURE__ */ new Date()).getFullYear() + 10, 11, 31)),
3528
+ [maxProp]
3529
+ );
3530
+ const [inner, setInner] = React7.useState(
3531
+ () => clamp(toParts(defaultValue != null ? defaultValue : /* @__PURE__ */ new Date()), min, max)
3532
+ );
3533
+ const parts = value ? clamp(toParts(value), min, max) : clamp(inner, min, max);
3534
+ const commit = (next) => {
3535
+ const c = clamp(next, min, max);
3536
+ if (!value) setInner(c);
3537
+ if (c.y !== parts.y || c.m !== parts.m || c.d !== parts.d) {
3538
+ onValueChange == null ? void 0 : onValueChange(toDate(c));
3539
+ }
3540
+ };
3541
+ const monthNames = React7.useMemo(() => {
3542
+ const fmt = new Intl.DateTimeFormat(locale, {
3543
+ month: monthFormat === "numeric" ? "2-digit" : monthFormat
3544
+ });
3545
+ return Array.from({ length: 12 }, (_, m) => fmt.format(new Date(2e3, m, 1)));
3546
+ }, [locale, monthFormat]);
3547
+ const years = React7.useMemo(() => {
3548
+ const list = [];
3549
+ for (let y = min.getFullYear(); y <= max.getFullYear(); y++) list.push(y);
3550
+ return list;
3551
+ }, [min, max]);
3552
+ const inRange = (y, m, d) => {
3553
+ const date = new Date(y, m, d);
3554
+ return date >= min && date <= max;
3555
+ };
3556
+ const dayItems = Array.from({ length: daysIn(parts.y, parts.m) }, (_, i) => ({
3557
+ label: String(i + 1).padStart(2, "0"),
3558
+ disabled: !inRange(parts.y, parts.m, i + 1)
3559
+ }));
3560
+ const monthItems = monthNames.map((label, m) => ({
3561
+ label,
3562
+ // A month is off only when none of its days are in range.
3563
+ disabled: new Date(parts.y, m, daysIn(parts.y, m)) < min || new Date(parts.y, m, 1) > max
3564
+ }));
3565
+ const yearItems = years.map((y) => ({ label: String(y), disabled: false }));
3566
+ const wheels = {
3567
+ d: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3568
+ Wheel,
3569
+ {
3570
+ label: "Day",
3571
+ items: dayItems,
3572
+ index: parts.d - 1,
3573
+ onIndexChange: (i) => commit(__spreadProps(__spreadValues({}, parts), { d: i + 1 })),
3574
+ className: "flex-[0.8]"
3575
+ },
3576
+ "d"
3577
+ ),
3578
+ m: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3579
+ Wheel,
3580
+ {
3581
+ label: "Month",
3582
+ items: monthItems,
3583
+ index: parts.m,
3584
+ onIndexChange: (i) => commit(__spreadProps(__spreadValues({}, parts), { m: i })),
3585
+ className: monthFormat === "long" ? "flex-[1.5]" : "flex-1"
3586
+ },
3587
+ "m"
3588
+ ),
3589
+ y: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3590
+ Wheel,
3591
+ {
3592
+ label: "Year",
3593
+ items: yearItems,
3594
+ index: parts.y - years[0],
3595
+ onIndexChange: (i) => commit(__spreadProps(__spreadValues({}, parts), { y: years[i] })),
3596
+ className: "flex-1"
3597
+ },
3598
+ "y"
3599
+ )
3600
+ };
3601
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
3602
+ "div",
3603
+ __spreadProps(__spreadValues({
3604
+ "data-slot": "date-wheel-picker",
3605
+ role: "group",
3606
+ "aria-label": "Date",
3607
+ className: cn("relative flex w-full gap-1", className),
3608
+ style: { height: ROW * VISIBLE_ROWS }
3609
+ }, props), {
3610
+ children: [
3611
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3612
+ "div",
3613
+ {
3614
+ "aria-hidden": true,
3615
+ "data-slot": "date-wheel-picker-band",
3616
+ className: "pointer-events-none absolute inset-x-0 top-20 h-10 rounded-md bg-background-brand-selected"
3617
+ }
3618
+ ),
3619
+ order.split("").map((k) => wheels[k])
3620
+ ]
3621
+ })
3622
+ );
3623
+ }
3624
+
3339
3625
  // components/ui/drawer.tsx
3340
3626
  var import_lucide_react14 = require("lucide-react");
3341
3627
  var import_vaul = require("vaul");
3342
- var import_jsx_runtime23 = require("react/jsx-runtime");
3628
+ var import_jsx_runtime24 = require("react/jsx-runtime");
3343
3629
  function Drawer(_a) {
3344
3630
  var props = __objRest(_a, []);
3345
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_vaul.Drawer.Root, __spreadValues({ "data-slot": "drawer" }, props));
3631
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_vaul.Drawer.Root, __spreadValues({ "data-slot": "drawer" }, props));
3346
3632
  }
3347
3633
  function DrawerTrigger(_a) {
3348
3634
  var props = __objRest(_a, []);
3349
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_vaul.Drawer.Trigger, __spreadValues({ "data-slot": "drawer-trigger" }, props));
3635
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_vaul.Drawer.Trigger, __spreadValues({ "data-slot": "drawer-trigger" }, props));
3350
3636
  }
3351
3637
  function DrawerPortal(_a) {
3352
3638
  var props = __objRest(_a, []);
3353
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_vaul.Drawer.Portal, __spreadValues({ "data-slot": "drawer-portal" }, props));
3639
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_vaul.Drawer.Portal, __spreadValues({ "data-slot": "drawer-portal" }, props));
3354
3640
  }
3355
3641
  function DrawerClose(_a) {
3356
3642
  var props = __objRest(_a, []);
3357
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_vaul.Drawer.Close, __spreadValues({ "data-slot": "drawer-close" }, props));
3643
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_vaul.Drawer.Close, __spreadValues({ "data-slot": "drawer-close" }, props));
3358
3644
  }
3359
3645
  function DrawerOverlay(_a) {
3360
3646
  var _b = _a, {
@@ -3362,7 +3648,7 @@ function DrawerOverlay(_a) {
3362
3648
  } = _b, props = __objRest(_b, [
3363
3649
  "className"
3364
3650
  ]);
3365
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3651
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3366
3652
  import_vaul.Drawer.Overlay,
3367
3653
  __spreadValues({
3368
3654
  "data-slot": "drawer-overlay",
@@ -3383,9 +3669,9 @@ function DrawerContent(_a) {
3383
3669
  "children",
3384
3670
  "dismiss"
3385
3671
  ]);
3386
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(DrawerPortal, { "data-slot": "drawer-portal", children: [
3387
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DrawerOverlay, {}),
3388
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
3672
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(DrawerPortal, { "data-slot": "drawer-portal", children: [
3673
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DrawerOverlay, {}),
3674
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
3389
3675
  import_vaul.Drawer.Content,
3390
3676
  __spreadProps(__spreadValues({
3391
3677
  "data-slot": "drawer-content",
@@ -3399,13 +3685,13 @@ function DrawerContent(_a) {
3399
3685
  )
3400
3686
  }, props), {
3401
3687
  children: [
3402
- dismiss === "handle" ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full bg-border-default-default group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }) : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "flex shrink-0 justify-end p-4 pb-0", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_vaul.Drawer.Close, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3688
+ dismiss === "handle" ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full bg-border-default-default group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "flex shrink-0 justify-end p-4 pb-0", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_vaul.Drawer.Close, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3403
3689
  NavigationButton,
3404
3690
  {
3405
3691
  "data-slot": "drawer-close",
3406
3692
  size: "sm",
3407
3693
  "aria-label": "Close",
3408
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react14.XIcon, { className: "size-4" })
3694
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react14.XIcon, { className: "size-4" })
3409
3695
  }
3410
3696
  ) }) }),
3411
3697
  children
@@ -3416,7 +3702,7 @@ function DrawerContent(_a) {
3416
3702
  }
3417
3703
  function DrawerHeader(_a) {
3418
3704
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3419
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3705
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3420
3706
  "div",
3421
3707
  __spreadValues({
3422
3708
  "data-slot": "drawer-header",
@@ -3429,7 +3715,7 @@ function DrawerHeader(_a) {
3429
3715
  }
3430
3716
  function DrawerFooter(_a) {
3431
3717
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3432
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3718
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3433
3719
  "div",
3434
3720
  __spreadValues({
3435
3721
  "data-slot": "drawer-footer",
@@ -3443,7 +3729,7 @@ function DrawerTitle(_a) {
3443
3729
  } = _b, props = __objRest(_b, [
3444
3730
  "className"
3445
3731
  ]);
3446
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3732
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3447
3733
  import_vaul.Drawer.Title,
3448
3734
  __spreadValues({
3449
3735
  "data-slot": "drawer-title",
@@ -3457,7 +3743,7 @@ function DrawerDescription(_a) {
3457
3743
  } = _b, props = __objRest(_b, [
3458
3744
  "className"
3459
3745
  ]);
3460
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3746
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3461
3747
  import_vaul.Drawer.Description,
3462
3748
  __spreadValues({
3463
3749
  "data-slot": "drawer-description",
@@ -3469,18 +3755,18 @@ function DrawerDescription(_a) {
3469
3755
  // components/ui/dropdown-menu.tsx
3470
3756
  var import_lucide_react15 = require("lucide-react");
3471
3757
  var import_radix_ui14 = require("radix-ui");
3472
- var import_jsx_runtime24 = require("react/jsx-runtime");
3758
+ var import_jsx_runtime25 = require("react/jsx-runtime");
3473
3759
  function DropdownMenu(_a) {
3474
3760
  var props = __objRest(_a, []);
3475
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_radix_ui14.DropdownMenu.Root, __spreadValues({ "data-slot": "dropdown-menu" }, props));
3761
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_radix_ui14.DropdownMenu.Root, __spreadValues({ "data-slot": "dropdown-menu" }, props));
3476
3762
  }
3477
3763
  function DropdownMenuPortal(_a) {
3478
3764
  var props = __objRest(_a, []);
3479
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_radix_ui14.DropdownMenu.Portal, __spreadValues({ "data-slot": "dropdown-menu-portal" }, props));
3765
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_radix_ui14.DropdownMenu.Portal, __spreadValues({ "data-slot": "dropdown-menu-portal" }, props));
3480
3766
  }
3481
3767
  function DropdownMenuTrigger(_a) {
3482
3768
  var props = __objRest(_a, []);
3483
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3769
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3484
3770
  import_radix_ui14.DropdownMenu.Trigger,
3485
3771
  __spreadValues({
3486
3772
  "data-slot": "dropdown-menu-trigger"
@@ -3495,7 +3781,7 @@ function DropdownMenuContent(_a) {
3495
3781
  "className",
3496
3782
  "sideOffset"
3497
3783
  ]);
3498
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_radix_ui14.DropdownMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3784
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_radix_ui14.DropdownMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3499
3785
  import_radix_ui14.DropdownMenu.Content,
3500
3786
  __spreadValues({
3501
3787
  "data-slot": "dropdown-menu-content",
@@ -3509,7 +3795,7 @@ function DropdownMenuContent(_a) {
3509
3795
  }
3510
3796
  function DropdownMenuGroup(_a) {
3511
3797
  var props = __objRest(_a, []);
3512
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_radix_ui14.DropdownMenu.Group, __spreadValues({ "data-slot": "dropdown-menu-group" }, props));
3798
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_radix_ui14.DropdownMenu.Group, __spreadValues({ "data-slot": "dropdown-menu-group" }, props));
3513
3799
  }
3514
3800
  function DropdownMenuItem(_a) {
3515
3801
  var _b = _a, {
@@ -3521,7 +3807,7 @@ function DropdownMenuItem(_a) {
3521
3807
  "inset",
3522
3808
  "variant"
3523
3809
  ]);
3524
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3810
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3525
3811
  import_radix_ui14.DropdownMenu.Item,
3526
3812
  __spreadValues({
3527
3813
  "data-slot": "dropdown-menu-item",
@@ -3544,7 +3830,7 @@ function DropdownMenuCheckboxItem(_a) {
3544
3830
  "children",
3545
3831
  "checked"
3546
3832
  ]);
3547
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
3833
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
3548
3834
  import_radix_ui14.DropdownMenu.CheckboxItem,
3549
3835
  __spreadProps(__spreadValues({
3550
3836
  "data-slot": "dropdown-menu-checkbox-item",
@@ -3555,7 +3841,7 @@ function DropdownMenuCheckboxItem(_a) {
3555
3841
  checked
3556
3842
  }, props), {
3557
3843
  children: [
3558
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_radix_ui14.DropdownMenu.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react15.CheckIcon, { className: "size-4" }) }) }),
3844
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_radix_ui14.DropdownMenu.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react15.CheckIcon, { className: "size-4" }) }) }),
3559
3845
  children
3560
3846
  ]
3561
3847
  })
@@ -3563,7 +3849,7 @@ function DropdownMenuCheckboxItem(_a) {
3563
3849
  }
3564
3850
  function DropdownMenuRadioGroup(_a) {
3565
3851
  var props = __objRest(_a, []);
3566
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3852
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3567
3853
  import_radix_ui14.DropdownMenu.RadioGroup,
3568
3854
  __spreadValues({
3569
3855
  "data-slot": "dropdown-menu-radio-group"
@@ -3578,7 +3864,7 @@ function DropdownMenuRadioItem(_a) {
3578
3864
  "className",
3579
3865
  "children"
3580
3866
  ]);
3581
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
3867
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
3582
3868
  import_radix_ui14.DropdownMenu.RadioItem,
3583
3869
  __spreadProps(__spreadValues({
3584
3870
  "data-slot": "dropdown-menu-radio-item",
@@ -3588,7 +3874,7 @@ function DropdownMenuRadioItem(_a) {
3588
3874
  )
3589
3875
  }, props), {
3590
3876
  children: [
3591
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_radix_ui14.DropdownMenu.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react15.CircleIcon, { className: "size-2 fill-current" }) }) }),
3877
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_radix_ui14.DropdownMenu.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react15.CircleIcon, { className: "size-2 fill-current" }) }) }),
3592
3878
  children
3593
3879
  ]
3594
3880
  })
@@ -3602,7 +3888,7 @@ function DropdownMenuLabel(_a) {
3602
3888
  "className",
3603
3889
  "inset"
3604
3890
  ]);
3605
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3891
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3606
3892
  import_radix_ui14.DropdownMenu.Label,
3607
3893
  __spreadValues({
3608
3894
  "data-slot": "dropdown-menu-label",
@@ -3620,7 +3906,7 @@ function DropdownMenuSeparator(_a) {
3620
3906
  } = _b, props = __objRest(_b, [
3621
3907
  "className"
3622
3908
  ]);
3623
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3909
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3624
3910
  import_radix_ui14.DropdownMenu.Separator,
3625
3911
  __spreadValues({
3626
3912
  "data-slot": "dropdown-menu-separator",
@@ -3634,7 +3920,7 @@ function DropdownMenuShortcut(_a) {
3634
3920
  } = _b, props = __objRest(_b, [
3635
3921
  "className"
3636
3922
  ]);
3637
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3923
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3638
3924
  "span",
3639
3925
  __spreadValues({
3640
3926
  "data-slot": "dropdown-menu-shortcut",
@@ -3647,7 +3933,7 @@ function DropdownMenuShortcut(_a) {
3647
3933
  }
3648
3934
  function DropdownMenuSub(_a) {
3649
3935
  var props = __objRest(_a, []);
3650
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_radix_ui14.DropdownMenu.Sub, __spreadValues({ "data-slot": "dropdown-menu-sub" }, props));
3936
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_radix_ui14.DropdownMenu.Sub, __spreadValues({ "data-slot": "dropdown-menu-sub" }, props));
3651
3937
  }
3652
3938
  function DropdownMenuSubTrigger(_a) {
3653
3939
  var _b = _a, {
@@ -3659,7 +3945,7 @@ function DropdownMenuSubTrigger(_a) {
3659
3945
  "inset",
3660
3946
  "children"
3661
3947
  ]);
3662
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
3948
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
3663
3949
  import_radix_ui14.DropdownMenu.SubTrigger,
3664
3950
  __spreadProps(__spreadValues({
3665
3951
  "data-slot": "dropdown-menu-sub-trigger",
@@ -3671,7 +3957,7 @@ function DropdownMenuSubTrigger(_a) {
3671
3957
  }, props), {
3672
3958
  children: [
3673
3959
  children,
3674
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react15.ChevronRightIcon, { className: "ml-auto size-4" })
3960
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react15.ChevronRightIcon, { className: "ml-auto size-4" })
3675
3961
  ]
3676
3962
  })
3677
3963
  );
@@ -3682,7 +3968,7 @@ function DropdownMenuSubContent(_a) {
3682
3968
  } = _b, props = __objRest(_b, [
3683
3969
  "className"
3684
3970
  ]);
3685
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3971
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3686
3972
  import_radix_ui14.DropdownMenu.SubContent,
3687
3973
  __spreadValues({
3688
3974
  "data-slot": "dropdown-menu-sub-content",
@@ -3696,10 +3982,10 @@ function DropdownMenuSubContent(_a) {
3696
3982
 
3697
3983
  // components/ui/empty.tsx
3698
3984
  var import_class_variance_authority6 = require("class-variance-authority");
3699
- var import_jsx_runtime25 = require("react/jsx-runtime");
3985
+ var import_jsx_runtime26 = require("react/jsx-runtime");
3700
3986
  function Empty(_a) {
3701
3987
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3702
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3988
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
3703
3989
  "div",
3704
3990
  __spreadValues({
3705
3991
  "data-slot": "empty",
@@ -3712,7 +3998,7 @@ function Empty(_a) {
3712
3998
  }
3713
3999
  function EmptyHeader(_a) {
3714
4000
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3715
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
4001
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
3716
4002
  "div",
3717
4003
  __spreadValues({
3718
4004
  "data-slot": "empty-header",
@@ -3745,7 +4031,7 @@ function EmptyMedia(_a) {
3745
4031
  "className",
3746
4032
  "variant"
3747
4033
  ]);
3748
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
4034
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
3749
4035
  "div",
3750
4036
  __spreadValues({
3751
4037
  "data-slot": "empty-icon",
@@ -3756,7 +4042,7 @@ function EmptyMedia(_a) {
3756
4042
  }
3757
4043
  function EmptyTitle(_a) {
3758
4044
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3759
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
4045
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
3760
4046
  "div",
3761
4047
  __spreadValues({
3762
4048
  "data-slot": "empty-title",
@@ -3766,7 +4052,7 @@ function EmptyTitle(_a) {
3766
4052
  }
3767
4053
  function EmptyDescription(_a) {
3768
4054
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3769
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
4055
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
3770
4056
  "div",
3771
4057
  __spreadValues({
3772
4058
  "data-slot": "empty-description",
@@ -3779,7 +4065,7 @@ function EmptyDescription(_a) {
3779
4065
  }
3780
4066
  function EmptyContent(_a) {
3781
4067
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3782
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
4068
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
3783
4069
  "div",
3784
4070
  __spreadValues({
3785
4071
  "data-slot": "empty-content",
@@ -3792,20 +4078,20 @@ function EmptyContent(_a) {
3792
4078
  }
3793
4079
 
3794
4080
  // components/ui/field.tsx
3795
- var React7 = __toESM(require("react"), 1);
4081
+ var React8 = __toESM(require("react"), 1);
3796
4082
  var import_react = require("react");
3797
4083
  var import_class_variance_authority7 = require("class-variance-authority");
3798
4084
 
3799
4085
  // components/ui/label.tsx
3800
4086
  var import_radix_ui15 = require("radix-ui");
3801
- var import_jsx_runtime26 = require("react/jsx-runtime");
4087
+ var import_jsx_runtime27 = require("react/jsx-runtime");
3802
4088
  function Label(_a) {
3803
4089
  var _b = _a, {
3804
4090
  className
3805
4091
  } = _b, props = __objRest(_b, [
3806
4092
  "className"
3807
4093
  ]);
3808
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
4094
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
3809
4095
  import_radix_ui15.Label.Root,
3810
4096
  __spreadValues({
3811
4097
  "data-slot": "label",
@@ -3821,7 +4107,7 @@ function Label(_a) {
3821
4107
 
3822
4108
  // components/ui/separator.tsx
3823
4109
  var import_radix_ui16 = require("radix-ui");
3824
- var import_jsx_runtime27 = require("react/jsx-runtime");
4110
+ var import_jsx_runtime28 = require("react/jsx-runtime");
3825
4111
  function Separator(_a) {
3826
4112
  var _b = _a, {
3827
4113
  className,
@@ -3832,7 +4118,7 @@ function Separator(_a) {
3832
4118
  "orientation",
3833
4119
  "decorative"
3834
4120
  ]);
3835
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4121
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
3836
4122
  import_radix_ui16.Separator.Root,
3837
4123
  __spreadValues({
3838
4124
  "data-slot": "separator",
@@ -3847,10 +4133,10 @@ function Separator(_a) {
3847
4133
  }
3848
4134
 
3849
4135
  // components/ui/field.tsx
3850
- var import_jsx_runtime28 = require("react/jsx-runtime");
3851
- var FieldSizeContext = React7.createContext("md");
4136
+ var import_jsx_runtime29 = require("react/jsx-runtime");
4137
+ var FieldSizeContext = React8.createContext("md");
3852
4138
  function useFieldSize() {
3853
- return React7.useContext(FieldSizeContext);
4139
+ return React8.useContext(FieldSizeContext);
3854
4140
  }
3855
4141
  var fieldLabelType = {
3856
4142
  sm: "type-field-label-sm",
@@ -3859,7 +4145,7 @@ var fieldLabelType = {
3859
4145
  };
3860
4146
  function FieldSet(_a) {
3861
4147
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3862
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
4148
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3863
4149
  "fieldset",
3864
4150
  __spreadValues({
3865
4151
  "data-slot": "field-set",
@@ -3879,7 +4165,7 @@ function FieldLegend(_a) {
3879
4165
  "className",
3880
4166
  "variant"
3881
4167
  ]);
3882
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
4168
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3883
4169
  "legend",
3884
4170
  __spreadValues({
3885
4171
  "data-slot": "field-legend",
@@ -3896,7 +4182,7 @@ function FieldLegend(_a) {
3896
4182
  }
3897
4183
  function FieldGroup(_a) {
3898
4184
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3899
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
4185
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3900
4186
  "div",
3901
4187
  __spreadValues({
3902
4188
  "data-slot": "field-group",
@@ -3946,7 +4232,7 @@ function Field(_a) {
3946
4232
  "orientation",
3947
4233
  "size"
3948
4234
  ]);
3949
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(FieldSizeContext.Provider, { value: size != null ? size : "md", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
4235
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(FieldSizeContext.Provider, { value: size != null ? size : "md", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3950
4236
  "div",
3951
4237
  __spreadValues({
3952
4238
  role: "group",
@@ -3959,7 +4245,7 @@ function Field(_a) {
3959
4245
  }
3960
4246
  function FieldContent(_a) {
3961
4247
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3962
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
4248
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3963
4249
  "div",
3964
4250
  __spreadValues({
3965
4251
  "data-slot": "field-content",
@@ -3977,7 +4263,7 @@ function FieldLabel(_a) {
3977
4263
  "className"
3978
4264
  ]);
3979
4265
  const size = useFieldSize();
3980
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
4266
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3981
4267
  Label,
3982
4268
  __spreadValues({
3983
4269
  "data-slot": "field-label",
@@ -3994,7 +4280,7 @@ function FieldLabel(_a) {
3994
4280
  function FieldTitle(_a) {
3995
4281
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3996
4282
  const size = useFieldSize();
3997
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
4283
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3998
4284
  "div",
3999
4285
  __spreadValues({
4000
4286
  "data-slot": "field-label",
@@ -4008,7 +4294,7 @@ function FieldTitle(_a) {
4008
4294
  }
4009
4295
  function FieldDescription(_a) {
4010
4296
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4011
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
4297
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
4012
4298
  "p",
4013
4299
  __spreadValues({
4014
4300
  "data-slot": "field-description",
@@ -4029,7 +4315,7 @@ function FieldSeparator(_a) {
4029
4315
  "children",
4030
4316
  "className"
4031
4317
  ]);
4032
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
4318
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
4033
4319
  "div",
4034
4320
  __spreadProps(__spreadValues({
4035
4321
  "data-slot": "field-separator",
@@ -4040,8 +4326,8 @@ function FieldSeparator(_a) {
4040
4326
  )
4041
4327
  }, props), {
4042
4328
  children: [
4043
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Separator, { className: "absolute inset-0 top-1/2" }),
4044
- children && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
4329
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Separator, { className: "absolute inset-0 top-1/2" }),
4330
+ children && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
4045
4331
  "span",
4046
4332
  {
4047
4333
  className: "relative mx-auto block w-fit bg-background-primary-surface px-2 text-text-subtle-default",
@@ -4077,14 +4363,14 @@ function FieldError(_a) {
4077
4363
  if ((uniqueErrors == null ? void 0 : uniqueErrors.length) == 1) {
4078
4364
  return (_a2 = uniqueErrors[0]) == null ? void 0 : _a2.message;
4079
4365
  }
4080
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: uniqueErrors.map(
4081
- (error, index) => (error == null ? void 0 : error.message) && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("li", { children: error.message }, index)
4366
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: uniqueErrors.map(
4367
+ (error, index) => (error == null ? void 0 : error.message) && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("li", { children: error.message }, index)
4082
4368
  ) });
4083
4369
  }, [children, errors]);
4084
4370
  if (!content) {
4085
4371
  return null;
4086
4372
  }
4087
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
4373
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
4088
4374
  "div",
4089
4375
  __spreadProps(__spreadValues({
4090
4376
  role: "alert",
@@ -4098,14 +4384,14 @@ function FieldError(_a) {
4098
4384
 
4099
4385
  // components/ui/hover-card.tsx
4100
4386
  var import_radix_ui17 = require("radix-ui");
4101
- var import_jsx_runtime29 = require("react/jsx-runtime");
4387
+ var import_jsx_runtime30 = require("react/jsx-runtime");
4102
4388
  function HoverCard(_a) {
4103
4389
  var props = __objRest(_a, []);
4104
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_radix_ui17.HoverCard.Root, __spreadValues({ "data-slot": "hover-card" }, props));
4390
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_radix_ui17.HoverCard.Root, __spreadValues({ "data-slot": "hover-card" }, props));
4105
4391
  }
4106
4392
  function HoverCardTrigger(_a) {
4107
4393
  var props = __objRest(_a, []);
4108
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_radix_ui17.HoverCard.Trigger, __spreadValues({ "data-slot": "hover-card-trigger" }, props));
4394
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_radix_ui17.HoverCard.Trigger, __spreadValues({ "data-slot": "hover-card-trigger" }, props));
4109
4395
  }
4110
4396
  function HoverCardContent(_a) {
4111
4397
  var _b = _a, {
@@ -4117,7 +4403,7 @@ function HoverCardContent(_a) {
4117
4403
  "align",
4118
4404
  "sideOffset"
4119
4405
  ]);
4120
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_radix_ui17.HoverCard.Portal, { "data-slot": "hover-card-portal", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
4406
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_radix_ui17.HoverCard.Portal, { "data-slot": "hover-card-portal", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
4121
4407
  import_radix_ui17.HoverCard.Content,
4122
4408
  __spreadValues({
4123
4409
  "data-slot": "hover-card-content",
@@ -4133,7 +4419,7 @@ function HoverCardContent(_a) {
4133
4419
 
4134
4420
  // components/ui/input.tsx
4135
4421
  var import_class_variance_authority8 = require("class-variance-authority");
4136
- var import_jsx_runtime30 = require("react/jsx-runtime");
4422
+ var import_jsx_runtime31 = require("react/jsx-runtime");
4137
4423
  var inputVariants = (0, import_class_variance_authority8.cva)(
4138
4424
  [
4139
4425
  "w-full min-w-0 rounded-xs border font-body transition-[color,box-shadow] outline-none",
@@ -4204,7 +4490,7 @@ function Input(_a) {
4204
4490
  ]);
4205
4491
  const fieldSize = useFieldSize();
4206
4492
  const resolvedSize = size != null ? size : fieldSize;
4207
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
4493
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
4208
4494
  "input",
4209
4495
  __spreadValues({
4210
4496
  type,
@@ -4217,14 +4503,14 @@ function Input(_a) {
4217
4503
  }
4218
4504
 
4219
4505
  // components/ui/input-group.tsx
4220
- var React8 = __toESM(require("react"), 1);
4506
+ var React9 = __toESM(require("react"), 1);
4221
4507
  var import_class_variance_authority9 = require("class-variance-authority");
4222
4508
 
4223
4509
  // components/ui/textarea.tsx
4224
- var import_jsx_runtime31 = require("react/jsx-runtime");
4510
+ var import_jsx_runtime32 = require("react/jsx-runtime");
4225
4511
  function Textarea(_a) {
4226
4512
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4227
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
4513
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
4228
4514
  "textarea",
4229
4515
  __spreadValues({
4230
4516
  "data-slot": "textarea",
@@ -4237,9 +4523,9 @@ function Textarea(_a) {
4237
4523
  }
4238
4524
 
4239
4525
  // components/ui/input-group.tsx
4240
- var import_jsx_runtime32 = require("react/jsx-runtime");
4241
- var InputGroupSizeContext = React8.createContext("md");
4242
- var InputGroupVariantContext = React8.createContext("default");
4526
+ var import_jsx_runtime33 = require("react/jsx-runtime");
4527
+ var InputGroupSizeContext = React9.createContext("md");
4528
+ var InputGroupVariantContext = React9.createContext("default");
4243
4529
  var inputGroupVariants = (0, import_class_variance_authority9.cva)(
4244
4530
  [
4245
4531
  "group/input-group relative flex w-full items-center rounded-xs border",
@@ -4298,11 +4584,11 @@ function InputGroup(_a) {
4298
4584
  ]);
4299
4585
  const fieldSize = useFieldSize();
4300
4586
  const resolvedSize = size != null ? size : fieldSize;
4301
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
4587
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
4302
4588
  InputGroupVariantContext.Provider,
4303
4589
  {
4304
4590
  value: variant,
4305
- children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(InputGroupSizeContext.Provider, { value: resolvedSize, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
4591
+ children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(InputGroupSizeContext.Provider, { value: resolvedSize, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
4306
4592
  "div",
4307
4593
  __spreadValues({
4308
4594
  "data-slot": "input-group",
@@ -4357,7 +4643,7 @@ function InputGroupAddon(_a) {
4357
4643
  "className",
4358
4644
  "align"
4359
4645
  ]);
4360
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
4646
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
4361
4647
  "div",
4362
4648
  __spreadValues({
4363
4649
  role: "group",
@@ -4404,7 +4690,7 @@ function InputGroupButton(_a) {
4404
4690
  "variant",
4405
4691
  "size"
4406
4692
  ]);
4407
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
4693
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
4408
4694
  Button,
4409
4695
  __spreadValues({
4410
4696
  type,
@@ -4417,7 +4703,7 @@ function InputGroupButton(_a) {
4417
4703
  }
4418
4704
  function InputGroupText(_a) {
4419
4705
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4420
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
4706
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
4421
4707
  "span",
4422
4708
  __spreadValues({
4423
4709
  className: cn(
@@ -4446,11 +4732,11 @@ function InputGroupInput(_a) {
4446
4732
  "size",
4447
4733
  "variant"
4448
4734
  ]);
4449
- const groupSize = React8.useContext(InputGroupSizeContext);
4450
- const groupVariant = React8.useContext(InputGroupVariantContext);
4735
+ const groupSize = React9.useContext(InputGroupSizeContext);
4736
+ const groupVariant = React9.useContext(InputGroupVariantContext);
4451
4737
  const size = sizeProp != null ? sizeProp : groupSize;
4452
4738
  const variant = variantProp != null ? variantProp : groupVariant;
4453
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
4739
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
4454
4740
  Input,
4455
4741
  __spreadValues({
4456
4742
  "data-slot": "input-group-control",
@@ -4469,7 +4755,7 @@ function InputGroupTextarea(_a) {
4469
4755
  } = _b, props = __objRest(_b, [
4470
4756
  "className"
4471
4757
  ]);
4472
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
4758
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
4473
4759
  Textarea,
4474
4760
  __spreadValues({
4475
4761
  "data-slot": "input-group-control",
@@ -4482,10 +4768,10 @@ function InputGroupTextarea(_a) {
4482
4768
  }
4483
4769
 
4484
4770
  // components/ui/input-otp.tsx
4485
- var React9 = __toESM(require("react"), 1);
4771
+ var React10 = __toESM(require("react"), 1);
4486
4772
  var import_input_otp = require("input-otp");
4487
4773
  var import_lucide_react16 = require("lucide-react");
4488
- var import_jsx_runtime33 = require("react/jsx-runtime");
4774
+ var import_jsx_runtime34 = require("react/jsx-runtime");
4489
4775
  function InputOTP(_a) {
4490
4776
  var _b = _a, {
4491
4777
  className,
@@ -4494,7 +4780,7 @@ function InputOTP(_a) {
4494
4780
  "className",
4495
4781
  "containerClassName"
4496
4782
  ]);
4497
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
4783
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
4498
4784
  import_input_otp.OTPInput,
4499
4785
  __spreadValues({
4500
4786
  "data-slot": "input-otp",
@@ -4508,7 +4794,7 @@ function InputOTP(_a) {
4508
4794
  }
4509
4795
  function InputOTPGroup(_a) {
4510
4796
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4511
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
4797
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
4512
4798
  "div",
4513
4799
  __spreadValues({
4514
4800
  "data-slot": "input-otp-group",
@@ -4525,9 +4811,9 @@ function InputOTPSlot(_a) {
4525
4811
  "className"
4526
4812
  ]);
4527
4813
  var _a2;
4528
- const inputOTPContext = React9.useContext(import_input_otp.OTPInputContext);
4814
+ const inputOTPContext = React10.useContext(import_input_otp.OTPInputContext);
4529
4815
  const { char, hasFakeCaret, isActive } = (_a2 = inputOTPContext == null ? void 0 : inputOTPContext.slots[index]) != null ? _a2 : {};
4530
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
4816
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
4531
4817
  "div",
4532
4818
  __spreadProps(__spreadValues({
4533
4819
  "data-slot": "input-otp-slot",
@@ -4539,20 +4825,20 @@ function InputOTPSlot(_a) {
4539
4825
  }, props), {
4540
4826
  children: [
4541
4827
  char,
4542
- hasFakeCaret && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "h-4 w-px animate-caret-blink bg-text-prominent-default duration-1000" }) })
4828
+ hasFakeCaret && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "h-4 w-px animate-caret-blink bg-text-prominent-default duration-1000" }) })
4543
4829
  ]
4544
4830
  })
4545
4831
  );
4546
4832
  }
4547
4833
  function InputOTPSeparator(_a) {
4548
4834
  var props = __objRest(_a, []);
4549
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", __spreadProps(__spreadValues({ "data-slot": "input-otp-separator", role: "separator" }, props), { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react16.MinusIcon, {}) }));
4835
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", __spreadProps(__spreadValues({ "data-slot": "input-otp-separator", role: "separator" }, props), { children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_lucide_react16.MinusIcon, {}) }));
4550
4836
  }
4551
4837
 
4552
4838
  // components/ui/item.tsx
4553
4839
  var import_class_variance_authority10 = require("class-variance-authority");
4554
4840
  var import_radix_ui18 = require("radix-ui");
4555
- var import_jsx_runtime34 = require("react/jsx-runtime");
4841
+ var import_jsx_runtime35 = require("react/jsx-runtime");
4556
4842
  function ItemGroup(_a) {
4557
4843
  var _b = _a, {
4558
4844
  className,
@@ -4561,7 +4847,7 @@ function ItemGroup(_a) {
4561
4847
  "className",
4562
4848
  "divider"
4563
4849
  ]);
4564
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
4850
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4565
4851
  "div",
4566
4852
  __spreadValues({
4567
4853
  role: "list",
@@ -4594,7 +4880,7 @@ function ItemSeparator(_a) {
4594
4880
  } = _b, props = __objRest(_b, [
4595
4881
  "className"
4596
4882
  ]);
4597
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
4883
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4598
4884
  Separator,
4599
4885
  __spreadValues({
4600
4886
  "data-slot": "item-separator",
@@ -4604,12 +4890,21 @@ function ItemSeparator(_a) {
4604
4890
  );
4605
4891
  }
4606
4892
  var itemVariants = (0, import_class_variance_authority10.cva)(
4607
- "group/item type-item-description flex flex-wrap items-center rounded-md border border-transparent transition-colors duration-instant outline-none focus-visible:border-ring-focus-default focus-visible:ring-[3px] focus-visible:ring-ring-focus-strong [a]:transition-colors [a]:hover:bg-background-hover-default",
4893
+ "group/item type-item-description flex flex-wrap items-center rounded-2xl border border-transparent transition-colors duration-instant outline-none focus-visible:border-ring-focus-default focus-visible:ring-[3px] focus-visible:ring-ring-focus-strong [a]:transition-colors [a]:hover:bg-background-hover-default",
4608
4894
  {
4609
4895
  variants: {
4610
4896
  variant: {
4611
4897
  default: "bg-transparent",
4612
4898
  outline: "border-border-default-default text-text-prominent-default hover:bg-background-hover-default",
4899
+ /* `fill` is `outline` plus a solid surface: a bordered card that reads
4900
+ as its own plane on the page canvas, the wallet-ledger pattern.
4901
+ Its hover steps primary -> secondary surface like the default Chip,
4902
+ because the shared `background-hover-default` glaze is translucent —
4903
+ laid over a filled row it would let the canvas show through instead
4904
+ of darkening the fill. The `[a]:` rule repeats for the same reason:
4905
+ the base link hover is that same glaze and outranks a plain
4906
+ `hover:` on an anchor. */
4907
+ fill: "bg-background-primary-surface border-border-default-default text-text-prominent-default hover:bg-background-secondary-surface [a]:hover:bg-background-secondary-surface",
4613
4908
  muted: "bg-background-secondary-surface"
4614
4909
  },
4615
4910
  size: {
@@ -4636,7 +4931,7 @@ function Item(_a) {
4636
4931
  "asChild"
4637
4932
  ]);
4638
4933
  const Comp = asChild ? import_radix_ui18.Slot.Root : "div";
4639
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
4934
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4640
4935
  Comp,
4641
4936
  __spreadValues({
4642
4937
  "data-slot": "item",
@@ -4669,7 +4964,7 @@ function ItemMedia(_a) {
4669
4964
  "className",
4670
4965
  "variant"
4671
4966
  ]);
4672
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
4967
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4673
4968
  "div",
4674
4969
  __spreadValues({
4675
4970
  "data-slot": "item-media",
@@ -4680,7 +4975,7 @@ function ItemMedia(_a) {
4680
4975
  }
4681
4976
  function ItemContent(_a) {
4682
4977
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4683
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
4978
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4684
4979
  "div",
4685
4980
  __spreadValues({
4686
4981
  "data-slot": "item-content",
@@ -4693,7 +4988,7 @@ function ItemContent(_a) {
4693
4988
  }
4694
4989
  function ItemTitle(_a) {
4695
4990
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4696
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
4991
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4697
4992
  "div",
4698
4993
  __spreadValues({
4699
4994
  "data-slot": "item-title",
@@ -4706,7 +5001,7 @@ function ItemTitle(_a) {
4706
5001
  }
4707
5002
  function ItemDescription(_a) {
4708
5003
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4709
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5004
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4710
5005
  "p",
4711
5006
  __spreadValues({
4712
5007
  "data-slot": "item-description",
@@ -4720,7 +5015,7 @@ function ItemDescription(_a) {
4720
5015
  }
4721
5016
  function ItemActions(_a) {
4722
5017
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4723
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5018
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4724
5019
  "div",
4725
5020
  __spreadValues({
4726
5021
  "data-slot": "item-actions",
@@ -4730,7 +5025,7 @@ function ItemActions(_a) {
4730
5025
  }
4731
5026
  function ItemHeader(_a) {
4732
5027
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4733
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5028
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4734
5029
  "div",
4735
5030
  __spreadValues({
4736
5031
  "data-slot": "item-header",
@@ -4743,7 +5038,7 @@ function ItemHeader(_a) {
4743
5038
  }
4744
5039
  function ItemFooter(_a) {
4745
5040
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4746
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5041
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4747
5042
  "div",
4748
5043
  __spreadValues({
4749
5044
  "data-slot": "item-footer",
@@ -4758,7 +5053,7 @@ function ItemFooter(_a) {
4758
5053
  // components/ui/link.tsx
4759
5054
  var import_class_variance_authority11 = require("class-variance-authority");
4760
5055
  var import_radix_ui19 = require("radix-ui");
4761
- var import_jsx_runtime35 = require("react/jsx-runtime");
5056
+ var import_jsx_runtime36 = require("react/jsx-runtime");
4762
5057
  var linkVariants = (0, import_class_variance_authority11.cva)(
4763
5058
  [
4764
5059
  "inline-flex shrink-0 items-center gap-1.5 whitespace-nowrap transition-colors outline-none focus-visible:ring-[3px] focus-visible:ring-ring-focus-strong active:opacity-60 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:inline font-display normal-case",
@@ -4800,7 +5095,7 @@ function Link(_a) {
4800
5095
  "asChild"
4801
5096
  ]);
4802
5097
  const Comp = asChild ? import_radix_ui19.Slot.Root : "a";
4803
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
5098
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
4804
5099
  Comp,
4805
5100
  __spreadValues({
4806
5101
  "data-slot": "link",
@@ -4814,14 +5109,14 @@ function Link(_a) {
4814
5109
  // components/ui/menubar.tsx
4815
5110
  var import_lucide_react17 = require("lucide-react");
4816
5111
  var import_radix_ui20 = require("radix-ui");
4817
- var import_jsx_runtime36 = require("react/jsx-runtime");
5112
+ var import_jsx_runtime37 = require("react/jsx-runtime");
4818
5113
  function Menubar(_a) {
4819
5114
  var _b = _a, {
4820
5115
  className
4821
5116
  } = _b, props = __objRest(_b, [
4822
5117
  "className"
4823
5118
  ]);
4824
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
5119
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
4825
5120
  import_radix_ui20.Menubar.Root,
4826
5121
  __spreadValues({
4827
5122
  "data-slot": "menubar",
@@ -4834,19 +5129,19 @@ function Menubar(_a) {
4834
5129
  }
4835
5130
  function MenubarMenu(_a) {
4836
5131
  var props = __objRest(_a, []);
4837
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_radix_ui20.Menubar.Menu, __spreadValues({ "data-slot": "menubar-menu" }, props));
5132
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_radix_ui20.Menubar.Menu, __spreadValues({ "data-slot": "menubar-menu" }, props));
4838
5133
  }
4839
5134
  function MenubarGroup(_a) {
4840
5135
  var props = __objRest(_a, []);
4841
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_radix_ui20.Menubar.Group, __spreadValues({ "data-slot": "menubar-group" }, props));
5136
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_radix_ui20.Menubar.Group, __spreadValues({ "data-slot": "menubar-group" }, props));
4842
5137
  }
4843
5138
  function MenubarPortal(_a) {
4844
5139
  var props = __objRest(_a, []);
4845
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_radix_ui20.Menubar.Portal, __spreadValues({ "data-slot": "menubar-portal" }, props));
5140
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_radix_ui20.Menubar.Portal, __spreadValues({ "data-slot": "menubar-portal" }, props));
4846
5141
  }
4847
5142
  function MenubarRadioGroup(_a) {
4848
5143
  var props = __objRest(_a, []);
4849
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_radix_ui20.Menubar.RadioGroup, __spreadValues({ "data-slot": "menubar-radio-group" }, props));
5144
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_radix_ui20.Menubar.RadioGroup, __spreadValues({ "data-slot": "menubar-radio-group" }, props));
4850
5145
  }
4851
5146
  function MenubarTrigger(_a) {
4852
5147
  var _b = _a, {
@@ -4854,7 +5149,7 @@ function MenubarTrigger(_a) {
4854
5149
  } = _b, props = __objRest(_b, [
4855
5150
  "className"
4856
5151
  ]);
4857
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
5152
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
4858
5153
  import_radix_ui20.Menubar.Trigger,
4859
5154
  __spreadValues({
4860
5155
  "data-slot": "menubar-trigger",
@@ -4877,7 +5172,7 @@ function MenubarContent(_a) {
4877
5172
  "alignOffset",
4878
5173
  "sideOffset"
4879
5174
  ]);
4880
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(MenubarPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
5175
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(MenubarPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
4881
5176
  import_radix_ui20.Menubar.Content,
4882
5177
  __spreadValues({
4883
5178
  "data-slot": "menubar-content",
@@ -4901,7 +5196,7 @@ function MenubarItem(_a) {
4901
5196
  "inset",
4902
5197
  "variant"
4903
5198
  ]);
4904
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
5199
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
4905
5200
  import_radix_ui20.Menubar.Item,
4906
5201
  __spreadValues({
4907
5202
  "data-slot": "menubar-item",
@@ -4924,7 +5219,7 @@ function MenubarCheckboxItem(_a) {
4924
5219
  "children",
4925
5220
  "checked"
4926
5221
  ]);
4927
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
5222
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
4928
5223
  import_radix_ui20.Menubar.CheckboxItem,
4929
5224
  __spreadProps(__spreadValues({
4930
5225
  "data-slot": "menubar-checkbox-item",
@@ -4935,7 +5230,7 @@ function MenubarCheckboxItem(_a) {
4935
5230
  checked
4936
5231
  }, props), {
4937
5232
  children: [
4938
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_radix_ui20.Menubar.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_lucide_react17.CheckIcon, { className: "size-4" }) }) }),
5233
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_radix_ui20.Menubar.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react17.CheckIcon, { className: "size-4" }) }) }),
4939
5234
  children
4940
5235
  ]
4941
5236
  })
@@ -4949,7 +5244,7 @@ function MenubarRadioItem(_a) {
4949
5244
  "className",
4950
5245
  "children"
4951
5246
  ]);
4952
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
5247
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
4953
5248
  import_radix_ui20.Menubar.RadioItem,
4954
5249
  __spreadProps(__spreadValues({
4955
5250
  "data-slot": "menubar-radio-item",
@@ -4959,7 +5254,7 @@ function MenubarRadioItem(_a) {
4959
5254
  )
4960
5255
  }, props), {
4961
5256
  children: [
4962
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_radix_ui20.Menubar.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_lucide_react17.CircleIcon, { className: "size-2 fill-current" }) }) }),
5257
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_radix_ui20.Menubar.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react17.CircleIcon, { className: "size-2 fill-current" }) }) }),
4963
5258
  children
4964
5259
  ]
4965
5260
  })
@@ -4973,7 +5268,7 @@ function MenubarLabel(_a) {
4973
5268
  "className",
4974
5269
  "inset"
4975
5270
  ]);
4976
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
5271
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
4977
5272
  import_radix_ui20.Menubar.Label,
4978
5273
  __spreadValues({
4979
5274
  "data-slot": "menubar-label",
@@ -4991,7 +5286,7 @@ function MenubarSeparator(_a) {
4991
5286
  } = _b, props = __objRest(_b, [
4992
5287
  "className"
4993
5288
  ]);
4994
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
5289
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
4995
5290
  import_radix_ui20.Menubar.Separator,
4996
5291
  __spreadValues({
4997
5292
  "data-slot": "menubar-separator",
@@ -5005,7 +5300,7 @@ function MenubarShortcut(_a) {
5005
5300
  } = _b, props = __objRest(_b, [
5006
5301
  "className"
5007
5302
  ]);
5008
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
5303
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
5009
5304
  "span",
5010
5305
  __spreadValues({
5011
5306
  "data-slot": "menubar-shortcut",
@@ -5018,7 +5313,7 @@ function MenubarShortcut(_a) {
5018
5313
  }
5019
5314
  function MenubarSub(_a) {
5020
5315
  var props = __objRest(_a, []);
5021
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_radix_ui20.Menubar.Sub, __spreadValues({ "data-slot": "menubar-sub" }, props));
5316
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_radix_ui20.Menubar.Sub, __spreadValues({ "data-slot": "menubar-sub" }, props));
5022
5317
  }
5023
5318
  function MenubarSubTrigger(_a) {
5024
5319
  var _b = _a, {
@@ -5030,7 +5325,7 @@ function MenubarSubTrigger(_a) {
5030
5325
  "inset",
5031
5326
  "children"
5032
5327
  ]);
5033
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
5328
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
5034
5329
  import_radix_ui20.Menubar.SubTrigger,
5035
5330
  __spreadProps(__spreadValues({
5036
5331
  "data-slot": "menubar-sub-trigger",
@@ -5042,7 +5337,7 @@ function MenubarSubTrigger(_a) {
5042
5337
  }, props), {
5043
5338
  children: [
5044
5339
  children,
5045
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_lucide_react17.ChevronRightIcon, { className: "ml-auto" })
5340
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react17.ChevronRightIcon, { className: "ml-auto" })
5046
5341
  ]
5047
5342
  })
5048
5343
  );
@@ -5053,7 +5348,7 @@ function MenubarSubContent(_a) {
5053
5348
  } = _b, props = __objRest(_b, [
5054
5349
  "className"
5055
5350
  ]);
5056
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
5351
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
5057
5352
  import_radix_ui20.Menubar.SubContent,
5058
5353
  __spreadValues({
5059
5354
  "data-slot": "menubar-sub-content",
@@ -5067,7 +5362,7 @@ function MenubarSubContent(_a) {
5067
5362
 
5068
5363
  // components/ui/native-select.tsx
5069
5364
  var import_lucide_react18 = require("lucide-react");
5070
- var import_jsx_runtime37 = require("react/jsx-runtime");
5365
+ var import_jsx_runtime38 = require("react/jsx-runtime");
5071
5366
  var sizeClasses = {
5072
5367
  sm: "type-native-select-sm h-8 py-1",
5073
5368
  md: "type-native-select-md h-10 py-2",
@@ -5083,13 +5378,13 @@ function NativeSelect(_a) {
5083
5378
  ]);
5084
5379
  const fieldSize = useFieldSize();
5085
5380
  const resolvedSize = size === "default" || size == null ? size == null ? fieldSize : "md" : size;
5086
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
5381
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
5087
5382
  "div",
5088
5383
  {
5089
5384
  className: "group/native-select relative w-fit has-[select:disabled]:text-text-disabled-default",
5090
5385
  "data-slot": "native-select-wrapper",
5091
5386
  children: [
5092
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
5387
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5093
5388
  "select",
5094
5389
  __spreadValues({
5095
5390
  "data-slot": "native-select",
@@ -5102,7 +5397,7 @@ function NativeSelect(_a) {
5102
5397
  )
5103
5398
  }, props)
5104
5399
  ),
5105
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
5400
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5106
5401
  import_lucide_react18.ChevronDownIcon,
5107
5402
  {
5108
5403
  className: "pointer-events-none absolute top-1/2 right-3.5 size-4 -translate-y-1/2 text-icon-subtle-default select-none group-has-[select:disabled]/native-select:text-icon-disabled-default",
@@ -5116,7 +5411,7 @@ function NativeSelect(_a) {
5116
5411
  }
5117
5412
  function NativeSelectOption(_a) {
5118
5413
  var props = __objRest(_a, []);
5119
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("option", __spreadValues({ "data-slot": "native-select-option" }, props));
5414
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("option", __spreadValues({ "data-slot": "native-select-option" }, props));
5120
5415
  }
5121
5416
  function NativeSelectOptGroup(_a) {
5122
5417
  var _b = _a, {
@@ -5124,7 +5419,7 @@ function NativeSelectOptGroup(_a) {
5124
5419
  } = _b, props = __objRest(_b, [
5125
5420
  "className"
5126
5421
  ]);
5127
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
5422
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5128
5423
  "optgroup",
5129
5424
  __spreadValues({
5130
5425
  "data-slot": "native-select-optgroup",
@@ -5137,7 +5432,7 @@ function NativeSelectOptGroup(_a) {
5137
5432
  var import_class_variance_authority12 = require("class-variance-authority");
5138
5433
  var import_lucide_react19 = require("lucide-react");
5139
5434
  var import_radix_ui21 = require("radix-ui");
5140
- var import_jsx_runtime38 = require("react/jsx-runtime");
5435
+ var import_jsx_runtime39 = require("react/jsx-runtime");
5141
5436
  function NavigationMenu(_a) {
5142
5437
  var _b = _a, {
5143
5438
  className,
@@ -5148,7 +5443,7 @@ function NavigationMenu(_a) {
5148
5443
  "children",
5149
5444
  "viewport"
5150
5445
  ]);
5151
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
5446
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
5152
5447
  import_radix_ui21.NavigationMenu.Root,
5153
5448
  __spreadProps(__spreadValues({
5154
5449
  "data-slot": "navigation-menu",
@@ -5160,7 +5455,7 @@ function NavigationMenu(_a) {
5160
5455
  }, props), {
5161
5456
  children: [
5162
5457
  children,
5163
- viewport && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(NavigationMenuViewport, {})
5458
+ viewport && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(NavigationMenuViewport, {})
5164
5459
  ]
5165
5460
  })
5166
5461
  );
@@ -5171,7 +5466,7 @@ function NavigationMenuList(_a) {
5171
5466
  } = _b, props = __objRest(_b, [
5172
5467
  "className"
5173
5468
  ]);
5174
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5469
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
5175
5470
  import_radix_ui21.NavigationMenu.List,
5176
5471
  __spreadValues({
5177
5472
  "data-slot": "navigation-menu-list",
@@ -5188,7 +5483,7 @@ function NavigationMenuItem(_a) {
5188
5483
  } = _b, props = __objRest(_b, [
5189
5484
  "className"
5190
5485
  ]);
5191
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5486
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
5192
5487
  import_radix_ui21.NavigationMenu.Item,
5193
5488
  __spreadValues({
5194
5489
  "data-slot": "navigation-menu-item",
@@ -5207,7 +5502,7 @@ function NavigationMenuTrigger(_a) {
5207
5502
  "className",
5208
5503
  "children"
5209
5504
  ]);
5210
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
5505
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
5211
5506
  import_radix_ui21.NavigationMenu.Trigger,
5212
5507
  __spreadProps(__spreadValues({
5213
5508
  "data-slot": "navigation-menu-trigger",
@@ -5216,7 +5511,7 @@ function NavigationMenuTrigger(_a) {
5216
5511
  children: [
5217
5512
  children,
5218
5513
  " ",
5219
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5514
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
5220
5515
  import_lucide_react19.ChevronDownIcon,
5221
5516
  {
5222
5517
  className: "relative top-[1px] ml-1 size-3 transition duration-slow group-data-[state=open]:rotate-180",
@@ -5233,7 +5528,7 @@ function NavigationMenuContent(_a) {
5233
5528
  } = _b, props = __objRest(_b, [
5234
5529
  "className"
5235
5530
  ]);
5236
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5531
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
5237
5532
  import_radix_ui21.NavigationMenu.Content,
5238
5533
  __spreadValues({
5239
5534
  "data-slot": "navigation-menu-content",
@@ -5251,13 +5546,13 @@ function NavigationMenuViewport(_a) {
5251
5546
  } = _b, props = __objRest(_b, [
5252
5547
  "className"
5253
5548
  ]);
5254
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5549
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
5255
5550
  "div",
5256
5551
  {
5257
5552
  className: cn(
5258
5553
  "absolute top-full left-0 isolate z-50 flex justify-center"
5259
5554
  ),
5260
- children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5555
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
5261
5556
  import_radix_ui21.NavigationMenu.Viewport,
5262
5557
  __spreadValues({
5263
5558
  "data-slot": "navigation-menu-viewport",
@@ -5276,7 +5571,7 @@ function NavigationMenuLink(_a) {
5276
5571
  } = _b, props = __objRest(_b, [
5277
5572
  "className"
5278
5573
  ]);
5279
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5574
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
5280
5575
  import_radix_ui21.NavigationMenu.Link,
5281
5576
  __spreadValues({
5282
5577
  "data-slot": "navigation-menu-link",
@@ -5293,7 +5588,7 @@ function NavigationMenuIndicator(_a) {
5293
5588
  } = _b, props = __objRest(_b, [
5294
5589
  "className"
5295
5590
  ]);
5296
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5591
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
5297
5592
  import_radix_ui21.NavigationMenu.Indicator,
5298
5593
  __spreadProps(__spreadValues({
5299
5594
  "data-slot": "navigation-menu-indicator",
@@ -5302,15 +5597,15 @@ function NavigationMenuIndicator(_a) {
5302
5597
  className
5303
5598
  )
5304
5599
  }, props), {
5305
- children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border-default-default" })
5600
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border-default-default" })
5306
5601
  })
5307
5602
  );
5308
5603
  }
5309
5604
 
5310
5605
  // components/ui/numpad.tsx
5311
- var React10 = __toESM(require("react"), 1);
5606
+ var React11 = __toESM(require("react"), 1);
5312
5607
  var import_lucide_react20 = require("lucide-react");
5313
- var import_jsx_runtime39 = require("react/jsx-runtime");
5608
+ var import_jsx_runtime40 = require("react/jsx-runtime");
5314
5609
  var LONG_PRESS_MS = 600;
5315
5610
  function Numpad(_a) {
5316
5611
  var _b = _a, {
@@ -5326,8 +5621,8 @@ function Numpad(_a) {
5326
5621
  "decimal",
5327
5622
  "disabled"
5328
5623
  ]);
5329
- const holdTimer = React10.useRef(null);
5330
- const longPressFired = React10.useRef(false);
5624
+ const holdTimer = React11.useRef(null);
5625
+ const longPressFired = React11.useRef(false);
5331
5626
  const startHold = () => {
5332
5627
  longPressFired.current = false;
5333
5628
  holdTimer.current = setTimeout(() => {
@@ -5339,7 +5634,7 @@ function Numpad(_a) {
5339
5634
  if (holdTimer.current) clearTimeout(holdTimer.current);
5340
5635
  holdTimer.current = null;
5341
5636
  };
5342
- React10.useEffect(() => cancelHold, []);
5637
+ React11.useEffect(() => cancelHold, []);
5343
5638
  const keys = [
5344
5639
  "1",
5345
5640
  "2",
@@ -5354,7 +5649,7 @@ function Numpad(_a) {
5354
5649
  "0",
5355
5650
  "backspace"
5356
5651
  ];
5357
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
5652
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
5358
5653
  "div",
5359
5654
  __spreadProps(__spreadValues({
5360
5655
  "data-slot": "numpad",
@@ -5367,7 +5662,7 @@ function Numpad(_a) {
5367
5662
  )
5368
5663
  }, props), {
5369
5664
  children: keys.map(
5370
- (key, i) => key === null ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { "aria-hidden": true }, `empty-${i}`) : /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
5665
+ (key, i) => key === null ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { "aria-hidden": true }, `empty-${i}`) : /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
5371
5666
  "button",
5372
5667
  {
5373
5668
  type: "button",
@@ -5392,7 +5687,7 @@ function Numpad(_a) {
5392
5687
  }
5393
5688
  onKeyPress == null ? void 0 : onKeyPress(key);
5394
5689
  },
5395
- children: key === "backspace" ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_lucide_react20.Delete, { className: "size-5.5" }) : key
5690
+ children: key === "backspace" ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react20.Delete, { className: "size-5.5" }) : key
5396
5691
  },
5397
5692
  key
5398
5693
  )
@@ -5403,14 +5698,14 @@ function Numpad(_a) {
5403
5698
 
5404
5699
  // components/ui/popover.tsx
5405
5700
  var import_radix_ui22 = require("radix-ui");
5406
- var import_jsx_runtime40 = require("react/jsx-runtime");
5701
+ var import_jsx_runtime41 = require("react/jsx-runtime");
5407
5702
  function Popover(_a) {
5408
5703
  var props = __objRest(_a, []);
5409
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_radix_ui22.Popover.Root, __spreadValues({ "data-slot": "popover" }, props));
5704
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_radix_ui22.Popover.Root, __spreadValues({ "data-slot": "popover" }, props));
5410
5705
  }
5411
5706
  function PopoverTrigger(_a) {
5412
5707
  var props = __objRest(_a, []);
5413
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_radix_ui22.Popover.Trigger, __spreadValues({ "data-slot": "popover-trigger" }, props));
5708
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_radix_ui22.Popover.Trigger, __spreadValues({ "data-slot": "popover-trigger" }, props));
5414
5709
  }
5415
5710
  function PopoverContent(_a) {
5416
5711
  var _b = _a, {
@@ -5422,7 +5717,7 @@ function PopoverContent(_a) {
5422
5717
  "align",
5423
5718
  "sideOffset"
5424
5719
  ]);
5425
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_radix_ui22.Popover.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
5720
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_radix_ui22.Popover.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
5426
5721
  import_radix_ui22.Popover.Content,
5427
5722
  __spreadValues({
5428
5723
  "data-slot": "popover-content",
@@ -5437,11 +5732,11 @@ function PopoverContent(_a) {
5437
5732
  }
5438
5733
  function PopoverAnchor(_a) {
5439
5734
  var props = __objRest(_a, []);
5440
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_radix_ui22.Popover.Anchor, __spreadValues({ "data-slot": "popover-anchor" }, props));
5735
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_radix_ui22.Popover.Anchor, __spreadValues({ "data-slot": "popover-anchor" }, props));
5441
5736
  }
5442
5737
  function PopoverHeader(_a) {
5443
5738
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5444
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
5739
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
5445
5740
  "div",
5446
5741
  __spreadValues({
5447
5742
  "data-slot": "popover-header",
@@ -5451,7 +5746,7 @@ function PopoverHeader(_a) {
5451
5746
  }
5452
5747
  function PopoverTitle(_a) {
5453
5748
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5454
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
5749
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
5455
5750
  "div",
5456
5751
  __spreadValues({
5457
5752
  "data-slot": "popover-title",
@@ -5465,7 +5760,7 @@ function PopoverDescription(_a) {
5465
5760
  } = _b, props = __objRest(_b, [
5466
5761
  "className"
5467
5762
  ]);
5468
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
5763
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
5469
5764
  "p",
5470
5765
  __spreadValues({
5471
5766
  "data-slot": "popover-description",
@@ -5475,9 +5770,9 @@ function PopoverDescription(_a) {
5475
5770
  }
5476
5771
 
5477
5772
  // components/ui/progress.tsx
5478
- var React11 = __toESM(require("react"), 1);
5773
+ var React12 = __toESM(require("react"), 1);
5479
5774
  var import_radix_ui23 = require("radix-ui");
5480
- var import_jsx_runtime41 = require("react/jsx-runtime");
5775
+ var import_jsx_runtime42 = require("react/jsx-runtime");
5481
5776
  var BAR_HEIGHTS = {
5482
5777
  sm: "h-1",
5483
5778
  md: "h-2",
@@ -5520,11 +5815,11 @@ function Progress(_a) {
5520
5815
  "onTimerEnd",
5521
5816
  "children"
5522
5817
  ]);
5523
- const [timerPct, setTimerPct] = React11.useState(
5818
+ const [timerPct, setTimerPct] = React12.useState(
5524
5819
  timer != null ? direction === "up" ? 0 : 100 : null
5525
5820
  );
5526
- const endedRef = React11.useRef(false);
5527
- React11.useEffect(() => {
5821
+ const endedRef = React12.useRef(false);
5822
+ React12.useEffect(() => {
5528
5823
  if (timer == null) {
5529
5824
  setTimerPct(null);
5530
5825
  return;
@@ -5550,7 +5845,7 @@ function Progress(_a) {
5550
5845
  const content = typeof children === "function" ? children(pct) : children;
5551
5846
  if (variant === "dots") {
5552
5847
  const filled = Math.round(pct / 100 * segments);
5553
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
5848
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
5554
5849
  "div",
5555
5850
  __spreadProps(__spreadValues({
5556
5851
  "data-slot": "progress",
@@ -5561,7 +5856,7 @@ function Progress(_a) {
5561
5856
  "aria-valuenow": pct,
5562
5857
  className: cn("flex items-center gap-1", className)
5563
5858
  }, props), {
5564
- children: Array.from({ length: segments }, (_, i) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
5859
+ children: Array.from({ length: segments }, (_, i) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
5565
5860
  "span",
5566
5861
  {
5567
5862
  "data-slot": "progress-dot",
@@ -5580,7 +5875,7 @@ function Progress(_a) {
5580
5875
  if (variant === "ring") {
5581
5876
  const { box, r, stroke } = RINGS[size in RINGS ? size : "md"];
5582
5877
  const circumference = 2 * Math.PI * r;
5583
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
5878
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
5584
5879
  "div",
5585
5880
  __spreadProps(__spreadValues({
5586
5881
  "data-slot": "progress",
@@ -5593,14 +5888,14 @@ function Progress(_a) {
5593
5888
  style: { width: box, height: box }
5594
5889
  }, props), {
5595
5890
  children: [
5596
- /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
5891
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
5597
5892
  "svg",
5598
5893
  {
5599
5894
  viewBox: `0 0 ${box} ${box}`,
5600
5895
  className: "absolute inset-0 -rotate-90",
5601
5896
  "aria-hidden": true,
5602
5897
  children: [
5603
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
5898
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
5604
5899
  "circle",
5605
5900
  {
5606
5901
  cx: box / 2,
@@ -5611,7 +5906,7 @@ function Progress(_a) {
5611
5906
  strokeWidth: stroke
5612
5907
  }
5613
5908
  ),
5614
- pct > 0 && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
5909
+ pct > 0 && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
5615
5910
  "circle",
5616
5911
  {
5617
5912
  "data-slot": "progress-ring-fill",
@@ -5632,12 +5927,12 @@ function Progress(_a) {
5632
5927
  ]
5633
5928
  }
5634
5929
  ),
5635
- content != null && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "type-progress-value relative text-text-prominent-default", children: content })
5930
+ content != null && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "type-progress-value relative text-text-prominent-default", children: content })
5636
5931
  ]
5637
5932
  })
5638
5933
  );
5639
5934
  }
5640
- const bar = /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
5935
+ const bar = /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
5641
5936
  import_radix_ui23.Progress.Root,
5642
5937
  __spreadProps(__spreadValues({
5643
5938
  "data-slot": "progress",
@@ -5651,7 +5946,7 @@ function Progress(_a) {
5651
5946
  label == null && valueLabel == null && className
5652
5947
  )
5653
5948
  }, props), {
5654
- children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
5949
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
5655
5950
  import_radix_ui23.Progress.Indicator,
5656
5951
  {
5657
5952
  "data-slot": "progress-indicator",
@@ -5665,10 +5960,10 @@ function Progress(_a) {
5665
5960
  })
5666
5961
  );
5667
5962
  if (label == null && valueLabel == null) return bar;
5668
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { "data-slot": "progress-meter", className: cn("flex w-full flex-col gap-1.5", className), children: [
5669
- /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "flex items-baseline justify-between gap-3", children: [
5670
- label != null && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "type-progress-label text-text-prominent-default", children: label }),
5671
- valueLabel != null && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "type-progress-label ml-auto text-text-subtle-default tabular-nums", children: valueLabel })
5963
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { "data-slot": "progress-meter", className: cn("flex w-full flex-col gap-1.5", className), children: [
5964
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex items-baseline justify-between gap-3", children: [
5965
+ label != null && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "type-progress-label text-text-prominent-default", children: label }),
5966
+ valueLabel != null && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "type-progress-label ml-auto text-text-subtle-default tabular-nums", children: valueLabel })
5672
5967
  ] }),
5673
5968
  bar
5674
5969
  ] });
@@ -5676,7 +5971,7 @@ function Progress(_a) {
5676
5971
 
5677
5972
  // components/ui/profile-photo.tsx
5678
5973
  var import_lucide_react21 = require("lucide-react");
5679
- var import_jsx_runtime42 = require("react/jsx-runtime");
5974
+ var import_jsx_runtime43 = require("react/jsx-runtime");
5680
5975
  var BOX = 112;
5681
5976
  var PHOTO = 96;
5682
5977
  var STROKE = 5;
@@ -5703,7 +5998,7 @@ function ProfilePhoto(_a) {
5703
5998
  ]);
5704
5999
  const pct = Math.min(100, Math.max(0, progress));
5705
6000
  const complete = pct >= 100;
5706
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
6001
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
5707
6002
  "div",
5708
6003
  __spreadProps(__spreadValues({
5709
6004
  "data-slot": "profile-photo",
@@ -5713,14 +6008,14 @@ function ProfilePhoto(_a) {
5713
6008
  style: { width: BOX, height: BOX }
5714
6009
  }, props), {
5715
6010
  children: [
5716
- /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
6011
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
5717
6012
  "svg",
5718
6013
  {
5719
6014
  viewBox: `0 0 ${BOX} ${BOX}`,
5720
6015
  "aria-hidden": "true",
5721
6016
  className: "absolute inset-0 size-full rotate-90",
5722
6017
  children: [
5723
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6018
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
5724
6019
  "circle",
5725
6020
  {
5726
6021
  cx: BOX / 2,
@@ -5731,7 +6026,7 @@ function ProfilePhoto(_a) {
5731
6026
  strokeWidth: STROKE
5732
6027
  }
5733
6028
  ),
5734
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6029
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
5735
6030
  "circle",
5736
6031
  {
5737
6032
  "data-slot": "profile-photo-ring",
@@ -5750,19 +6045,19 @@ function ProfilePhoto(_a) {
5750
6045
  ]
5751
6046
  }
5752
6047
  ),
5753
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6048
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
5754
6049
  "div",
5755
6050
  {
5756
6051
  "data-slot": "profile-photo-image",
5757
6052
  className: "absolute flex items-center justify-center overflow-hidden rounded-full bg-background-secondary-surface",
5758
6053
  style: { inset: INSET },
5759
- children: src ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("img", { src, alt, className: "size-full object-cover" }) : /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react21.User, { className: "size-10 text-icon-subtle-default", strokeWidth: 1.5, "aria-hidden": "true" })
6054
+ children: src ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("img", { src, alt, className: "size-full object-cover" }) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react21.User, { className: "size-10 text-icon-subtle-default", strokeWidth: 1.5, "aria-hidden": "true" })
5760
6055
  }
5761
6056
  ),
5762
6057
  onPhotoChange ? (
5763
6058
  // 24px keeps the chip subordinate to the photo; the ::after extends the
5764
6059
  // hit area to ~44px so it still meets the touch-target minimum.
5765
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6060
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
5766
6061
  Button,
5767
6062
  {
5768
6063
  variant: "primary",
@@ -5771,11 +6066,11 @@ function ProfilePhoto(_a) {
5771
6066
  onClick: onPhotoChange,
5772
6067
  "data-slot": "profile-photo-camera",
5773
6068
  className: "absolute right-0.5 bottom-5 rounded-full border-2 border-prominent after:absolute after:-inset-2.5 after:content-['']",
5774
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react21.Camera, {})
6069
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react21.Camera, {})
5775
6070
  }
5776
6071
  )
5777
6072
  ) : null,
5778
- status ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6073
+ status ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
5779
6074
  "div",
5780
6075
  {
5781
6076
  "data-slot": "profile-photo-status",
@@ -5791,14 +6086,14 @@ function ProfilePhoto(_a) {
5791
6086
  // components/ui/radio-group.tsx
5792
6087
  var import_lucide_react22 = require("lucide-react");
5793
6088
  var import_radix_ui24 = require("radix-ui");
5794
- var import_jsx_runtime43 = require("react/jsx-runtime");
6089
+ var import_jsx_runtime44 = require("react/jsx-runtime");
5795
6090
  function RadioGroup(_a) {
5796
6091
  var _b = _a, {
5797
6092
  className
5798
6093
  } = _b, props = __objRest(_b, [
5799
6094
  "className"
5800
6095
  ]);
5801
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6096
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
5802
6097
  import_radix_ui24.RadioGroup.Root,
5803
6098
  __spreadValues({
5804
6099
  "data-slot": "radio-group",
@@ -5812,7 +6107,7 @@ function RadioGroupItem(_a) {
5812
6107
  } = _b, props = __objRest(_b, [
5813
6108
  "className"
5814
6109
  ]);
5815
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6110
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
5816
6111
  import_radix_ui24.RadioGroup.Item,
5817
6112
  __spreadProps(__spreadValues({
5818
6113
  "data-slot": "radio-group-item",
@@ -5821,12 +6116,12 @@ function RadioGroupItem(_a) {
5821
6116
  className
5822
6117
  )
5823
6118
  }, props), {
5824
- children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6119
+ children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
5825
6120
  import_radix_ui24.RadioGroup.Indicator,
5826
6121
  {
5827
6122
  "data-slot": "radio-group-indicator",
5828
6123
  className: "relative flex items-center justify-center",
5829
- children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react22.CircleIcon, { className: "absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 fill-text-brand-selected text-background-brand-default" })
6124
+ children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react22.CircleIcon, { className: "absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 fill-text-brand-selected text-background-brand-default" })
5830
6125
  }
5831
6126
  )
5832
6127
  })
@@ -5836,14 +6131,14 @@ function RadioGroupItem(_a) {
5836
6131
  // components/ui/resizable.tsx
5837
6132
  var import_lucide_react23 = require("lucide-react");
5838
6133
  var ResizablePrimitive = __toESM(require("react-resizable-panels"), 1);
5839
- var import_jsx_runtime44 = require("react/jsx-runtime");
6134
+ var import_jsx_runtime45 = require("react/jsx-runtime");
5840
6135
  function ResizablePanelGroup(_a) {
5841
6136
  var _b = _a, {
5842
6137
  className
5843
6138
  } = _b, props = __objRest(_b, [
5844
6139
  "className"
5845
6140
  ]);
5846
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6141
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
5847
6142
  ResizablePrimitive.Group,
5848
6143
  __spreadValues({
5849
6144
  "data-slot": "resizable-panel-group",
@@ -5856,7 +6151,7 @@ function ResizablePanelGroup(_a) {
5856
6151
  }
5857
6152
  function ResizablePanel(_a) {
5858
6153
  var props = __objRest(_a, []);
5859
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(ResizablePrimitive.Panel, __spreadValues({ "data-slot": "resizable-panel" }, props));
6154
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ResizablePrimitive.Panel, __spreadValues({ "data-slot": "resizable-panel" }, props));
5860
6155
  }
5861
6156
  function ResizableHandle(_a) {
5862
6157
  var _b = _a, {
@@ -5866,7 +6161,7 @@ function ResizableHandle(_a) {
5866
6161
  "withHandle",
5867
6162
  "className"
5868
6163
  ]);
5869
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6164
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
5870
6165
  ResizablePrimitive.Separator,
5871
6166
  __spreadProps(__spreadValues({
5872
6167
  "data-slot": "resizable-handle",
@@ -5875,14 +6170,14 @@ function ResizableHandle(_a) {
5875
6170
  className
5876
6171
  )
5877
6172
  }, props), {
5878
- children: withHandle && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-xs border border-border-default-default bg-border-default-default text-icon-subtle-default", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react23.GripVerticalIcon, { className: "size-2.5" }) })
6173
+ children: withHandle && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-xs border border-border-default-default bg-border-default-default text-icon-subtle-default", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_lucide_react23.GripVerticalIcon, { className: "size-2.5" }) })
5879
6174
  })
5880
6175
  );
5881
6176
  }
5882
6177
 
5883
6178
  // components/ui/scroll-area.tsx
5884
6179
  var import_radix_ui25 = require("radix-ui");
5885
- var import_jsx_runtime45 = require("react/jsx-runtime");
6180
+ var import_jsx_runtime46 = require("react/jsx-runtime");
5886
6181
  function ScrollArea(_a) {
5887
6182
  var _b = _a, {
5888
6183
  className,
@@ -5891,14 +6186,14 @@ function ScrollArea(_a) {
5891
6186
  "className",
5892
6187
  "children"
5893
6188
  ]);
5894
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
6189
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
5895
6190
  import_radix_ui25.ScrollArea.Root,
5896
6191
  __spreadProps(__spreadValues({
5897
6192
  "data-slot": "scroll-area",
5898
6193
  className: cn("relative", className)
5899
6194
  }, props), {
5900
6195
  children: [
5901
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
6196
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
5902
6197
  import_radix_ui25.ScrollArea.Viewport,
5903
6198
  {
5904
6199
  "data-slot": "scroll-area-viewport",
@@ -5906,8 +6201,8 @@ function ScrollArea(_a) {
5906
6201
  children
5907
6202
  }
5908
6203
  ),
5909
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ScrollBar, {}),
5910
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_radix_ui25.ScrollArea.Corner, {})
6204
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(ScrollBar, {}),
6205
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_radix_ui25.ScrollArea.Corner, {})
5911
6206
  ]
5912
6207
  })
5913
6208
  );
@@ -5920,7 +6215,7 @@ function ScrollBar(_a) {
5920
6215
  "className",
5921
6216
  "orientation"
5922
6217
  ]);
5923
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
6218
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
5924
6219
  import_radix_ui25.ScrollArea.ScrollAreaScrollbar,
5925
6220
  __spreadProps(__spreadValues({
5926
6221
  "data-slot": "scroll-area-scrollbar",
@@ -5932,7 +6227,7 @@ function ScrollBar(_a) {
5932
6227
  className
5933
6228
  )
5934
6229
  }, props), {
5935
- children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
6230
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
5936
6231
  import_radix_ui25.ScrollArea.ScrollAreaThumb,
5937
6232
  {
5938
6233
  "data-slot": "scroll-area-thumb",
@@ -5946,22 +6241,22 @@ function ScrollBar(_a) {
5946
6241
  // components/ui/sheet.tsx
5947
6242
  var import_lucide_react24 = require("lucide-react");
5948
6243
  var import_radix_ui26 = require("radix-ui");
5949
- var import_jsx_runtime46 = require("react/jsx-runtime");
6244
+ var import_jsx_runtime47 = require("react/jsx-runtime");
5950
6245
  function Sheet(_a) {
5951
6246
  var props = __objRest(_a, []);
5952
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_radix_ui26.Dialog.Root, __spreadValues({ "data-slot": "sheet" }, props));
6247
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_radix_ui26.Dialog.Root, __spreadValues({ "data-slot": "sheet" }, props));
5953
6248
  }
5954
6249
  function SheetTrigger(_a) {
5955
6250
  var props = __objRest(_a, []);
5956
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_radix_ui26.Dialog.Trigger, __spreadValues({ "data-slot": "sheet-trigger" }, props));
6251
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_radix_ui26.Dialog.Trigger, __spreadValues({ "data-slot": "sheet-trigger" }, props));
5957
6252
  }
5958
6253
  function SheetClose(_a) {
5959
6254
  var props = __objRest(_a, []);
5960
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_radix_ui26.Dialog.Close, __spreadValues({ "data-slot": "sheet-close" }, props));
6255
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_radix_ui26.Dialog.Close, __spreadValues({ "data-slot": "sheet-close" }, props));
5961
6256
  }
5962
6257
  function SheetPortal(_a) {
5963
6258
  var props = __objRest(_a, []);
5964
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_radix_ui26.Dialog.Portal, __spreadValues({ "data-slot": "sheet-portal" }, props));
6259
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_radix_ui26.Dialog.Portal, __spreadValues({ "data-slot": "sheet-portal" }, props));
5965
6260
  }
5966
6261
  function SheetOverlay(_a) {
5967
6262
  var _b = _a, {
@@ -5969,7 +6264,7 @@ function SheetOverlay(_a) {
5969
6264
  } = _b, props = __objRest(_b, [
5970
6265
  "className"
5971
6266
  ]);
5972
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
6267
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
5973
6268
  import_radix_ui26.Dialog.Overlay,
5974
6269
  __spreadValues({
5975
6270
  "data-slot": "sheet-overlay",
@@ -5992,9 +6287,9 @@ function SheetContent(_a) {
5992
6287
  "side",
5993
6288
  "showCloseButton"
5994
6289
  ]);
5995
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(SheetPortal, { children: [
5996
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(SheetOverlay, {}),
5997
- /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
6290
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(SheetPortal, { children: [
6291
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(SheetOverlay, {}),
6292
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
5998
6293
  import_radix_ui26.Dialog.Content,
5999
6294
  __spreadProps(__spreadValues({
6000
6295
  "data-slot": "sheet-content",
@@ -6009,14 +6304,14 @@ function SheetContent(_a) {
6009
6304
  }, props), {
6010
6305
  children: [
6011
6306
  children,
6012
- showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_radix_ui26.Dialog.Close, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
6307
+ showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_radix_ui26.Dialog.Close, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
6013
6308
  NavigationButton,
6014
6309
  {
6015
6310
  "data-slot": "sheet-close",
6016
6311
  size: "sm",
6017
6312
  "aria-label": "Close",
6018
6313
  className: "absolute top-4 right-4",
6019
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react24.XIcon, { className: "size-4" })
6314
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react24.XIcon, { className: "size-4" })
6020
6315
  }
6021
6316
  ) })
6022
6317
  ]
@@ -6026,7 +6321,7 @@ function SheetContent(_a) {
6026
6321
  }
6027
6322
  function SheetHeader(_a) {
6028
6323
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6029
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
6324
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
6030
6325
  "div",
6031
6326
  __spreadValues({
6032
6327
  "data-slot": "sheet-header",
@@ -6036,7 +6331,7 @@ function SheetHeader(_a) {
6036
6331
  }
6037
6332
  function SheetFooter(_a) {
6038
6333
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6039
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
6334
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
6040
6335
  "div",
6041
6336
  __spreadValues({
6042
6337
  "data-slot": "sheet-footer",
@@ -6050,7 +6345,7 @@ function SheetTitle(_a) {
6050
6345
  } = _b, props = __objRest(_b, [
6051
6346
  "className"
6052
6347
  ]);
6053
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
6348
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
6054
6349
  import_radix_ui26.Dialog.Title,
6055
6350
  __spreadValues({
6056
6351
  "data-slot": "sheet-title",
@@ -6064,7 +6359,7 @@ function SheetDescription(_a) {
6064
6359
  } = _b, props = __objRest(_b, [
6065
6360
  "className"
6066
6361
  ]);
6067
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
6362
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
6068
6363
  import_radix_ui26.Dialog.Description,
6069
6364
  __spreadValues({
6070
6365
  "data-slot": "sheet-description",
@@ -6074,17 +6369,17 @@ function SheetDescription(_a) {
6074
6369
  }
6075
6370
 
6076
6371
  // components/ui/sidebar.tsx
6077
- var React14 = __toESM(require("react"), 1);
6372
+ var React15 = __toESM(require("react"), 1);
6078
6373
  var import_class_variance_authority13 = require("class-variance-authority");
6079
6374
  var import_lucide_react25 = require("lucide-react");
6080
6375
  var import_radix_ui28 = require("radix-ui");
6081
6376
 
6082
6377
  // hooks/use-mobile.ts
6083
- var React12 = __toESM(require("react"), 1);
6378
+ var React13 = __toESM(require("react"), 1);
6084
6379
  var MOBILE_BREAKPOINT = 768;
6085
6380
  function useIsMobile() {
6086
- const [isMobile, setIsMobile] = React12.useState(void 0);
6087
- React12.useEffect(() => {
6381
+ const [isMobile, setIsMobile] = React13.useState(void 0);
6382
+ React13.useEffect(() => {
6088
6383
  const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
6089
6384
  const onChange = () => {
6090
6385
  setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
@@ -6097,10 +6392,10 @@ function useIsMobile() {
6097
6392
  }
6098
6393
 
6099
6394
  // components/ui/skeleton.tsx
6100
- var import_jsx_runtime47 = require("react/jsx-runtime");
6395
+ var import_jsx_runtime48 = require("react/jsx-runtime");
6101
6396
  function Skeleton(_a) {
6102
6397
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6103
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
6398
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
6104
6399
  "div",
6105
6400
  __spreadValues({
6106
6401
  "data-slot": "skeleton",
@@ -6114,17 +6409,17 @@ function Skeleton(_a) {
6114
6409
  }
6115
6410
 
6116
6411
  // components/ui/tooltip.tsx
6117
- var React13 = __toESM(require("react"), 1);
6412
+ var React14 = __toESM(require("react"), 1);
6118
6413
  var import_radix_ui27 = require("radix-ui");
6119
- var import_jsx_runtime48 = require("react/jsx-runtime");
6120
- var TooltipModeContext = React13.createContext("tooltip");
6414
+ var import_jsx_runtime49 = require("react/jsx-runtime");
6415
+ var TooltipModeContext = React14.createContext("tooltip");
6121
6416
  function TooltipProvider(_a) {
6122
6417
  var _b = _a, {
6123
6418
  delayDuration = 0
6124
6419
  } = _b, props = __objRest(_b, [
6125
6420
  "delayDuration"
6126
6421
  ]);
6127
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
6422
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6128
6423
  import_radix_ui27.Tooltip.Provider,
6129
6424
  __spreadValues({
6130
6425
  "data-slot": "tooltip-provider",
@@ -6141,9 +6436,9 @@ function Tooltip(_a) {
6141
6436
  const isMobile = useIsMobile();
6142
6437
  const mode = isMobile ? "drawer" : "tooltip";
6143
6438
  if (mode === "drawer") {
6144
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(TooltipModeContext.Provider, { value: "drawer", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Drawer, { children }) });
6439
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(TooltipModeContext.Provider, { value: "drawer", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Drawer, { children }) });
6145
6440
  }
6146
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(TooltipModeContext.Provider, { value: "tooltip", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_radix_ui27.Tooltip.Root, __spreadProps(__spreadValues({ "data-slot": "tooltip" }, props), { children })) });
6441
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(TooltipModeContext.Provider, { value: "tooltip", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_radix_ui27.Tooltip.Root, __spreadProps(__spreadValues({ "data-slot": "tooltip" }, props), { children })) });
6147
6442
  }
6148
6443
  function TooltipTrigger(_a) {
6149
6444
  var _b = _a, {
@@ -6151,11 +6446,11 @@ function TooltipTrigger(_a) {
6151
6446
  } = _b, props = __objRest(_b, [
6152
6447
  "children"
6153
6448
  ]);
6154
- const mode = React13.useContext(TooltipModeContext);
6449
+ const mode = React14.useContext(TooltipModeContext);
6155
6450
  if (mode === "drawer") {
6156
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(DrawerTrigger, __spreadProps(__spreadValues({ "data-slot": "tooltip-trigger" }, props), { children }));
6451
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DrawerTrigger, __spreadProps(__spreadValues({ "data-slot": "tooltip-trigger" }, props), { children }));
6157
6452
  }
6158
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_radix_ui27.Tooltip.Trigger, __spreadProps(__spreadValues({ "data-slot": "tooltip-trigger" }, props), { children }));
6453
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_radix_ui27.Tooltip.Trigger, __spreadProps(__spreadValues({ "data-slot": "tooltip-trigger" }, props), { children }));
6159
6454
  }
6160
6455
  function TooltipContent(_a) {
6161
6456
  var _b = _a, {
@@ -6173,17 +6468,17 @@ function TooltipContent(_a) {
6173
6468
  "closeLabel",
6174
6469
  "children"
6175
6470
  ]);
6176
- const mode = React13.useContext(TooltipModeContext);
6471
+ const mode = React14.useContext(TooltipModeContext);
6177
6472
  if (mode === "drawer") {
6178
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(DrawerContent, { "data-slot": "tooltip-content", "data-variant": variant, children: [
6179
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(DrawerHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(DrawerTitle, { children: title }) }),
6180
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: cn("type-drawer-description p-4 text-text-subtle-default", className), children }),
6181
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(DrawerFooter, { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(DrawerClose, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Button, { variant: "primary", size: "md", children: closeLabel }) }) })
6473
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(DrawerContent, { "data-slot": "tooltip-content", "data-variant": variant, children: [
6474
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DrawerHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DrawerTitle, { children: title }) }),
6475
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: cn("type-drawer-description p-4 text-text-subtle-default", className), children }),
6476
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DrawerFooter, { children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DrawerClose, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Button, { variant: "primary", size: "md", children: closeLabel }) }) })
6182
6477
  ] });
6183
6478
  }
6184
6479
  const surfaceClasses = variant === "inverse" ? "border border-border-default-default bg-background-primary-surface text-text-prominent-default" : "bg-background-inverse-surface text-text-prominent-inverse";
6185
6480
  const arrowClasses = variant === "inverse" ? "fill-background-primary-surface" : "fill-background-inverse-surface";
6186
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_radix_ui27.Tooltip.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
6481
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_radix_ui27.Tooltip.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
6187
6482
  import_radix_ui27.Tooltip.Content,
6188
6483
  __spreadProps(__spreadValues({
6189
6484
  "data-slot": "tooltip-content",
@@ -6197,23 +6492,23 @@ function TooltipContent(_a) {
6197
6492
  }, props), {
6198
6493
  children: [
6199
6494
  children,
6200
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_radix_ui27.Tooltip.Arrow, { className: arrowClasses })
6495
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_radix_ui27.Tooltip.Arrow, { className: arrowClasses })
6201
6496
  ]
6202
6497
  })
6203
6498
  ) });
6204
6499
  }
6205
6500
 
6206
6501
  // components/ui/sidebar.tsx
6207
- var import_jsx_runtime49 = require("react/jsx-runtime");
6502
+ var import_jsx_runtime50 = require("react/jsx-runtime");
6208
6503
  var SIDEBAR_COOKIE_NAME = "sidebar_state";
6209
6504
  var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
6210
6505
  var SIDEBAR_WIDTH = "16rem";
6211
6506
  var SIDEBAR_WIDTH_MOBILE = "18rem";
6212
6507
  var SIDEBAR_WIDTH_ICON = "3rem";
6213
6508
  var SIDEBAR_KEYBOARD_SHORTCUT = "b";
6214
- var SidebarContext = React14.createContext(null);
6509
+ var SidebarContext = React15.createContext(null);
6215
6510
  function useSidebar() {
6216
- const context = React14.useContext(SidebarContext);
6511
+ const context = React15.useContext(SidebarContext);
6217
6512
  if (!context) {
6218
6513
  throw new Error("useSidebar must be used within a SidebarProvider.");
6219
6514
  }
@@ -6236,10 +6531,10 @@ function SidebarProvider(_a) {
6236
6531
  "children"
6237
6532
  ]);
6238
6533
  const isMobile = useIsMobile();
6239
- const [openMobile, setOpenMobile] = React14.useState(false);
6240
- const [_open, _setOpen] = React14.useState(defaultOpen);
6534
+ const [openMobile, setOpenMobile] = React15.useState(false);
6535
+ const [_open, _setOpen] = React15.useState(defaultOpen);
6241
6536
  const open = openProp != null ? openProp : _open;
6242
- const setOpen = React14.useCallback(
6537
+ const setOpen = React15.useCallback(
6243
6538
  (value) => {
6244
6539
  const openState = typeof value === "function" ? value(open) : value;
6245
6540
  if (setOpenProp) {
@@ -6251,10 +6546,10 @@ function SidebarProvider(_a) {
6251
6546
  },
6252
6547
  [setOpenProp, open]
6253
6548
  );
6254
- const toggleSidebar = React14.useCallback(() => {
6549
+ const toggleSidebar = React15.useCallback(() => {
6255
6550
  return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
6256
6551
  }, [isMobile, setOpen, setOpenMobile]);
6257
- React14.useEffect(() => {
6552
+ React15.useEffect(() => {
6258
6553
  const handleKeyDown = (event) => {
6259
6554
  if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
6260
6555
  event.preventDefault();
@@ -6265,7 +6560,7 @@ function SidebarProvider(_a) {
6265
6560
  return () => window.removeEventListener("keydown", handleKeyDown);
6266
6561
  }, [toggleSidebar]);
6267
6562
  const state = open ? "expanded" : "collapsed";
6268
- const contextValue = React14.useMemo(
6563
+ const contextValue = React15.useMemo(
6269
6564
  () => ({
6270
6565
  state,
6271
6566
  open,
@@ -6277,7 +6572,7 @@ function SidebarProvider(_a) {
6277
6572
  }),
6278
6573
  [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
6279
6574
  );
6280
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6575
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6281
6576
  "div",
6282
6577
  __spreadProps(__spreadValues({
6283
6578
  "data-slot": "sidebar-wrapper",
@@ -6310,7 +6605,7 @@ function Sidebar(_a) {
6310
6605
  ]);
6311
6606
  const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
6312
6607
  if (collapsible === "none") {
6313
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6608
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6314
6609
  "div",
6315
6610
  __spreadProps(__spreadValues({
6316
6611
  "data-slot": "sidebar",
@@ -6324,7 +6619,7 @@ function Sidebar(_a) {
6324
6619
  );
6325
6620
  }
6326
6621
  if (isMobile) {
6327
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Sheet, __spreadProps(__spreadValues({ open: openMobile, onOpenChange: setOpenMobile }, props), { children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
6622
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Sheet, __spreadProps(__spreadValues({ open: openMobile, onOpenChange: setOpenMobile }, props), { children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
6328
6623
  SheetContent,
6329
6624
  {
6330
6625
  "data-sidebar": "sidebar",
@@ -6336,16 +6631,16 @@ function Sidebar(_a) {
6336
6631
  },
6337
6632
  side,
6338
6633
  children: [
6339
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(SheetHeader, { className: "sr-only", children: [
6340
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(SheetTitle, { children: "Sidebar" }),
6341
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(SheetDescription, { children: "Displays the mobile sidebar." })
6634
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(SheetHeader, { className: "sr-only", children: [
6635
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(SheetTitle, { children: "Sidebar" }),
6636
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(SheetDescription, { children: "Displays the mobile sidebar." })
6342
6637
  ] }),
6343
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "flex h-full w-full flex-col", children })
6638
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "flex h-full w-full flex-col", children })
6344
6639
  ]
6345
6640
  }
6346
6641
  ) }));
6347
6642
  }
6348
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
6643
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
6349
6644
  "div",
6350
6645
  {
6351
6646
  className: "group peer hidden text-text-prominent-default md:block",
@@ -6355,7 +6650,7 @@ function Sidebar(_a) {
6355
6650
  "data-side": side,
6356
6651
  "data-slot": "sidebar",
6357
6652
  children: [
6358
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6653
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6359
6654
  "div",
6360
6655
  {
6361
6656
  "data-slot": "sidebar-gap",
@@ -6367,7 +6662,7 @@ function Sidebar(_a) {
6367
6662
  )
6368
6663
  }
6369
6664
  ),
6370
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6665
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6371
6666
  "div",
6372
6667
  __spreadProps(__spreadValues({
6373
6668
  "data-slot": "sidebar-container",
@@ -6379,7 +6674,7 @@ function Sidebar(_a) {
6379
6674
  className
6380
6675
  )
6381
6676
  }, props), {
6382
- children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6677
+ children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6383
6678
  "div",
6384
6679
  {
6385
6680
  "data-sidebar": "sidebar",
@@ -6403,7 +6698,7 @@ function SidebarTrigger(_a) {
6403
6698
  "onClick"
6404
6699
  ]);
6405
6700
  const { toggleSidebar } = useSidebar();
6406
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
6701
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
6407
6702
  Button,
6408
6703
  __spreadProps(__spreadValues({
6409
6704
  "data-sidebar": "trigger",
@@ -6417,8 +6712,8 @@ function SidebarTrigger(_a) {
6417
6712
  }
6418
6713
  }, props), {
6419
6714
  children: [
6420
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react25.PanelLeftIcon, {}),
6421
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "sr-only", children: "Toggle Sidebar" })
6715
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_lucide_react25.PanelLeftIcon, {}),
6716
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: "sr-only", children: "Toggle Sidebar" })
6422
6717
  ]
6423
6718
  })
6424
6719
  );
@@ -6426,7 +6721,7 @@ function SidebarTrigger(_a) {
6426
6721
  function SidebarRail(_a) {
6427
6722
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6428
6723
  const { toggleSidebar } = useSidebar();
6429
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6724
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6430
6725
  "button",
6431
6726
  __spreadValues({
6432
6727
  "data-sidebar": "rail",
@@ -6449,7 +6744,7 @@ function SidebarRail(_a) {
6449
6744
  }
6450
6745
  function SidebarInset(_a) {
6451
6746
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6452
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6747
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6453
6748
  "main",
6454
6749
  __spreadValues({
6455
6750
  "data-slot": "sidebar-inset",
@@ -6467,7 +6762,7 @@ function SidebarInput(_a) {
6467
6762
  } = _b, props = __objRest(_b, [
6468
6763
  "className"
6469
6764
  ]);
6470
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6765
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6471
6766
  Input,
6472
6767
  __spreadValues({
6473
6768
  "data-slot": "sidebar-input",
@@ -6478,7 +6773,7 @@ function SidebarInput(_a) {
6478
6773
  }
6479
6774
  function SidebarHeader(_a) {
6480
6775
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6481
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6776
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6482
6777
  "div",
6483
6778
  __spreadValues({
6484
6779
  "data-slot": "sidebar-header",
@@ -6492,7 +6787,7 @@ function SidebarHeader(_a) {
6492
6787
  }
6493
6788
  function SidebarFooter(_a) {
6494
6789
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6495
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6790
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6496
6791
  "div",
6497
6792
  __spreadValues({
6498
6793
  "data-slot": "sidebar-footer",
@@ -6510,7 +6805,7 @@ function SidebarSeparator(_a) {
6510
6805
  } = _b, props = __objRest(_b, [
6511
6806
  "className"
6512
6807
  ]);
6513
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6808
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6514
6809
  Separator,
6515
6810
  __spreadValues({
6516
6811
  "data-slot": "sidebar-separator",
@@ -6521,7 +6816,7 @@ function SidebarSeparator(_a) {
6521
6816
  }
6522
6817
  function SidebarContent(_a) {
6523
6818
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6524
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6819
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6525
6820
  "div",
6526
6821
  __spreadValues({
6527
6822
  "data-slot": "sidebar-content",
@@ -6535,7 +6830,7 @@ function SidebarContent(_a) {
6535
6830
  }
6536
6831
  function SidebarGroup(_a) {
6537
6832
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6538
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6833
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6539
6834
  "div",
6540
6835
  __spreadValues({
6541
6836
  "data-slot": "sidebar-group",
@@ -6556,7 +6851,7 @@ function SidebarGroupLabel(_a) {
6556
6851
  "asChild"
6557
6852
  ]);
6558
6853
  const Comp = asChild ? import_radix_ui28.Slot.Root : "div";
6559
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6854
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6560
6855
  Comp,
6561
6856
  __spreadValues({
6562
6857
  "data-slot": "sidebar-group-label",
@@ -6578,7 +6873,7 @@ function SidebarGroupAction(_a) {
6578
6873
  "asChild"
6579
6874
  ]);
6580
6875
  const Comp = asChild ? import_radix_ui28.Slot.Root : "button";
6581
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6876
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6582
6877
  Comp,
6583
6878
  __spreadValues({
6584
6879
  "data-slot": "sidebar-group-action",
@@ -6599,7 +6894,7 @@ function SidebarGroupContent(_a) {
6599
6894
  } = _b, props = __objRest(_b, [
6600
6895
  "className"
6601
6896
  ]);
6602
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6897
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6603
6898
  "div",
6604
6899
  __spreadValues({
6605
6900
  "data-slot": "sidebar-group-content",
@@ -6610,7 +6905,7 @@ function SidebarGroupContent(_a) {
6610
6905
  }
6611
6906
  function SidebarMenu(_a) {
6612
6907
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6613
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6908
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6614
6909
  "ul",
6615
6910
  __spreadValues({
6616
6911
  "data-slot": "sidebar-menu",
@@ -6621,7 +6916,7 @@ function SidebarMenu(_a) {
6621
6916
  }
6622
6917
  function SidebarMenuItem(_a) {
6623
6918
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6624
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6919
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6625
6920
  "li",
6626
6921
  __spreadValues({
6627
6922
  "data-slot": "sidebar-menu-item",
@@ -6668,7 +6963,7 @@ function SidebarMenuButton(_a) {
6668
6963
  ]);
6669
6964
  const Comp = asChild ? import_radix_ui28.Slot.Root : "button";
6670
6965
  const { isMobile, state } = useSidebar();
6671
- const button = /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6966
+ const button = /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6672
6967
  Comp,
6673
6968
  __spreadValues({
6674
6969
  "data-slot": "sidebar-menu-button",
@@ -6686,9 +6981,9 @@ function SidebarMenuButton(_a) {
6686
6981
  children: tooltip
6687
6982
  };
6688
6983
  }
6689
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Tooltip, { children: [
6690
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(TooltipTrigger, { asChild: true, children: button }),
6691
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6984
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Tooltip, { children: [
6985
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(TooltipTrigger, { asChild: true, children: button }),
6986
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6692
6987
  TooltipContent,
6693
6988
  __spreadValues({
6694
6989
  side: "right",
@@ -6709,7 +7004,7 @@ function SidebarMenuAction(_a) {
6709
7004
  "showOnHover"
6710
7005
  ]);
6711
7006
  const Comp = asChild ? import_radix_ui28.Slot.Root : "button";
6712
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7007
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6713
7008
  Comp,
6714
7009
  __spreadValues({
6715
7010
  "data-slot": "sidebar-menu-action",
@@ -6734,7 +7029,7 @@ function SidebarMenuBadge(_a) {
6734
7029
  } = _b, props = __objRest(_b, [
6735
7030
  "className"
6736
7031
  ]);
6737
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7032
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6738
7033
  "div",
6739
7034
  __spreadValues({
6740
7035
  "data-slot": "sidebar-menu-badge",
@@ -6760,7 +7055,7 @@ function SidebarMenuSkeleton(_a) {
6760
7055
  "showIcon"
6761
7056
  ]);
6762
7057
  const width = "70%";
6763
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
7058
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
6764
7059
  "div",
6765
7060
  __spreadProps(__spreadValues({
6766
7061
  "data-slot": "sidebar-menu-skeleton",
@@ -6768,14 +7063,14 @@ function SidebarMenuSkeleton(_a) {
6768
7063
  className: cn("flex h-8 items-center gap-2 rounded-md px-2", className)
6769
7064
  }, props), {
6770
7065
  children: [
6771
- showIcon && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7066
+ showIcon && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6772
7067
  Skeleton,
6773
7068
  {
6774
7069
  className: "size-4 rounded-md",
6775
7070
  "data-sidebar": "menu-skeleton-icon"
6776
7071
  }
6777
7072
  ),
6778
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7073
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6779
7074
  Skeleton,
6780
7075
  {
6781
7076
  className: "h-4 max-w-(--skeleton-width) flex-1",
@@ -6791,7 +7086,7 @@ function SidebarMenuSkeleton(_a) {
6791
7086
  }
6792
7087
  function SidebarMenuSub(_a) {
6793
7088
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6794
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7089
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6795
7090
  "ul",
6796
7091
  __spreadValues({
6797
7092
  "data-slot": "sidebar-menu-sub",
@@ -6810,7 +7105,7 @@ function SidebarMenuSubItem(_a) {
6810
7105
  } = _b, props = __objRest(_b, [
6811
7106
  "className"
6812
7107
  ]);
6813
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7108
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6814
7109
  "li",
6815
7110
  __spreadValues({
6816
7111
  "data-slot": "sidebar-menu-sub-item",
@@ -6832,7 +7127,7 @@ function SidebarMenuSubButton(_a) {
6832
7127
  "className"
6833
7128
  ]);
6834
7129
  const Comp = asChild ? import_radix_ui28.Slot.Root : "a";
6835
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7130
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6836
7131
  Comp,
6837
7132
  __spreadValues({
6838
7133
  "data-slot": "sidebar-menu-sub-button",
@@ -6852,9 +7147,9 @@ function SidebarMenuSubButton(_a) {
6852
7147
  }
6853
7148
 
6854
7149
  // components/ui/slider.tsx
6855
- var React15 = __toESM(require("react"), 1);
7150
+ var React16 = __toESM(require("react"), 1);
6856
7151
  var import_radix_ui29 = require("radix-ui");
6857
- var import_jsx_runtime50 = require("react/jsx-runtime");
7152
+ var import_jsx_runtime51 = require("react/jsx-runtime");
6858
7153
  function Slider(_a) {
6859
7154
  var _b = _a, {
6860
7155
  className,
@@ -6869,11 +7164,11 @@ function Slider(_a) {
6869
7164
  "min",
6870
7165
  "max"
6871
7166
  ]);
6872
- const _values = React15.useMemo(
7167
+ const _values = React16.useMemo(
6873
7168
  () => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max],
6874
7169
  [value, defaultValue, min, max]
6875
7170
  );
6876
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
7171
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
6877
7172
  import_radix_ui29.Slider.Root,
6878
7173
  __spreadProps(__spreadValues({
6879
7174
  "data-slot": "slider",
@@ -6887,7 +7182,7 @@ function Slider(_a) {
6887
7182
  )
6888
7183
  }, props), {
6889
7184
  children: [
6890
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7185
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
6891
7186
  import_radix_ui29.Slider.Track,
6892
7187
  {
6893
7188
  "data-slot": "slider-track",
@@ -6896,7 +7191,7 @@ function Slider(_a) {
6896
7191
  // surface, solid brand fill.
6897
7192
  "relative grow overflow-hidden rounded-full bg-background-secondary-surface data-[orientation=horizontal]:h-2 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-2"
6898
7193
  ),
6899
- children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7194
+ children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
6900
7195
  import_radix_ui29.Slider.Range,
6901
7196
  {
6902
7197
  "data-slot": "slider-range",
@@ -6907,7 +7202,7 @@ function Slider(_a) {
6907
7202
  )
6908
7203
  }
6909
7204
  ),
6910
- Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7205
+ Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
6911
7206
  import_radix_ui29.Slider.Thumb,
6912
7207
  {
6913
7208
  "data-slot": "slider-thumb",
@@ -6921,29 +7216,27 @@ function Slider(_a) {
6921
7216
  }
6922
7217
 
6923
7218
  // components/ui/toast.tsx
6924
- var React16 = __toESM(require("react"), 1);
7219
+ var React17 = __toESM(require("react"), 1);
6925
7220
  var import_lucide_react26 = require("lucide-react");
6926
- var import_next_themes = require("next-themes");
6927
7221
  var import_sonner = require("sonner");
6928
- var import_jsx_runtime51 = require("react/jsx-runtime");
7222
+ var import_jsx_runtime52 = require("react/jsx-runtime");
6929
7223
  var Toaster = (_a) => {
6930
7224
  var props = __objRest(_a, []);
6931
- const { theme = "system" } = (0, import_next_themes.useTheme)();
6932
7225
  const isMobile = useIsMobile();
6933
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
7226
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
6934
7227
  import_sonner.Toaster,
6935
7228
  __spreadValues({
6936
- theme,
7229
+ theme: "system",
6937
7230
  className: "toaster group",
6938
7231
  position: isMobile ? "top-center" : "bottom-right",
6939
7232
  visibleToasts: isMobile ? 1 : 3,
6940
7233
  duration: 4e3,
6941
7234
  icons: {
6942
- success: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react26.CircleCheckIcon, { className: "size-4" }),
6943
- info: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react26.InfoIcon, { className: "size-4" }),
6944
- warning: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react26.TriangleAlertIcon, { className: "size-4" }),
6945
- error: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react26.OctagonXIcon, { className: "size-4" }),
6946
- loading: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react26.Loader2Icon, { className: "size-4 animate-spin" })
7235
+ success: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react26.CircleCheckIcon, { className: "size-4" }),
7236
+ info: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react26.InfoIcon, { className: "size-4" }),
7237
+ warning: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react26.TriangleAlertIcon, { className: "size-4" }),
7238
+ error: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react26.OctagonXIcon, { className: "size-4" }),
7239
+ loading: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react26.Loader2Icon, { className: "size-4 animate-spin" })
6947
7240
  },
6948
7241
  toastOptions: {
6949
7242
  classNames: {
@@ -6993,30 +7286,30 @@ function ResultSnackbar(_a) {
6993
7286
  "className"
6994
7287
  ]);
6995
7288
  const isWin = outcome === "win";
6996
- const [leaving, setLeaving] = React16.useState(false);
7289
+ const [leaving, setLeaving] = React17.useState(false);
6997
7290
  const reduced = usePrefersReducedMotion();
6998
- const onDismissRef = React16.useRef(onDismiss);
6999
- React16.useEffect(() => {
7291
+ const onDismissRef = React17.useRef(onDismiss);
7292
+ React17.useEffect(() => {
7000
7293
  onDismissRef.current = onDismiss;
7001
7294
  }, [onDismiss]);
7002
- const firedRef = React16.useRef(false);
7003
- const finish = React16.useCallback(() => {
7295
+ const firedRef = React17.useRef(false);
7296
+ const finish = React17.useCallback(() => {
7004
7297
  var _a2;
7005
7298
  if (firedRef.current) return;
7006
7299
  firedRef.current = true;
7007
7300
  (_a2 = onDismissRef.current) == null ? void 0 : _a2.call(onDismissRef);
7008
7301
  }, []);
7009
- React16.useEffect(() => {
7302
+ React17.useEffect(() => {
7010
7303
  const leave = window.setTimeout(() => setLeaving(true), durationMs);
7011
7304
  return () => window.clearTimeout(leave);
7012
7305
  }, [durationMs]);
7013
- React16.useEffect(() => {
7306
+ React17.useEffect(() => {
7014
7307
  if (!leaving) return;
7015
7308
  const done = window.setTimeout(finish, reduced ? 0 : RESULT_SNACKBAR_EXIT_MS);
7016
7309
  return () => window.clearTimeout(done);
7017
7310
  }, [leaving, finish, reduced]);
7018
- const [display, setDisplay] = React16.useState(null);
7019
- React16.useEffect(() => {
7311
+ const [display, setDisplay] = React17.useState(null);
7312
+ React17.useEffect(() => {
7020
7313
  if (amountValue === void 0 || reduced || !Number.isFinite(amountValue)) {
7021
7314
  setDisplay(null);
7022
7315
  return;
@@ -7041,7 +7334,7 @@ function ResultSnackbar(_a) {
7041
7334
  const spoken = announcement != null ? announcement : `${isWin ? "Won" : "Lost"} ${amount} ${currency}. ${contractLabel}, ${duration}.`;
7042
7335
  const enterOut = leaving ? "out" : "in";
7043
7336
  const motionName = `result-snackbar-${enterOut}-${placement}`;
7044
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
7337
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
7045
7338
  "div",
7046
7339
  __spreadProps(__spreadValues({
7047
7340
  role: "status",
@@ -7065,8 +7358,8 @@ function ResultSnackbar(_a) {
7065
7358
  }
7066
7359
  }, props), {
7067
7360
  children: [
7068
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "sr-only", children: spoken }),
7069
- icon ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
7361
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "sr-only", children: spoken }),
7362
+ icon ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
7070
7363
  "span",
7071
7364
  {
7072
7365
  "data-slot": "result-snackbar-icon",
@@ -7077,8 +7370,8 @@ function ResultSnackbar(_a) {
7077
7370
  children: icon
7078
7371
  }
7079
7372
  ) : null,
7080
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("span", { "aria-hidden": true, className: "flex min-w-max flex-col gap-0.5", children: [
7081
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
7373
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("span", { "aria-hidden": true, className: "flex min-w-max flex-col gap-0.5", children: [
7374
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
7082
7375
  "span",
7083
7376
  {
7084
7377
  className: cn(
@@ -7088,17 +7381,17 @@ function ResultSnackbar(_a) {
7088
7381
  children: [
7089
7382
  display != null ? display : amount,
7090
7383
  " ",
7091
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "type-result-snackbar-currency", children: currency })
7384
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "type-result-snackbar-currency", children: currency })
7092
7385
  ]
7093
7386
  }
7094
7387
  ),
7095
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("span", { className: "type-result-snackbar-terms min-w-max text-text-subtle-default", children: [
7388
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("span", { className: "type-result-snackbar-terms min-w-max text-text-subtle-default", children: [
7096
7389
  contractLabel,
7097
7390
  " \xB7 ",
7098
7391
  duration
7099
7392
  ] })
7100
7393
  ] }),
7101
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
7394
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
7102
7395
  "span",
7103
7396
  {
7104
7397
  "aria-hidden": true,
@@ -7117,8 +7410,8 @@ function ResultSnackbar(_a) {
7117
7410
  );
7118
7411
  }
7119
7412
  function usePrefersReducedMotion() {
7120
- const [reduced, setReduced] = React16.useState(false);
7121
- React16.useEffect(() => {
7413
+ const [reduced, setReduced] = React17.useState(false);
7414
+ React17.useEffect(() => {
7122
7415
  const query = window.matchMedia("(prefers-reduced-motion: reduce)");
7123
7416
  setReduced(query.matches);
7124
7417
  const onChange = (event) => setReduced(event.matches);
@@ -7129,9 +7422,9 @@ function usePrefersReducedMotion() {
7129
7422
  }
7130
7423
 
7131
7424
  // components/ui/slide-to-confirm.tsx
7132
- var React17 = __toESM(require("react"), 1);
7425
+ var React18 = __toESM(require("react"), 1);
7133
7426
  var import_lucide_react27 = require("lucide-react");
7134
- var import_jsx_runtime52 = require("react/jsx-runtime");
7427
+ var import_jsx_runtime53 = require("react/jsx-runtime");
7135
7428
  var CONFIRM_AT = 0.9;
7136
7429
  var HANDLE = 46;
7137
7430
  var INSET2 = 5;
@@ -7151,21 +7444,21 @@ function SlideToConfirm(_a) {
7151
7444
  "confirmed",
7152
7445
  "className"
7153
7446
  ]);
7154
- const trackRef = React17.useRef(null);
7155
- const [dragX, setDragX] = React17.useState(0);
7156
- const [dragging, setDragging] = React17.useState(false);
7157
- const [trackWidth, setTrackWidth] = React17.useState(0);
7158
- const [internalConfirmed, setInternalConfirmed] = React17.useState(false);
7447
+ const trackRef = React18.useRef(null);
7448
+ const [dragX, setDragX] = React18.useState(0);
7449
+ const [dragging, setDragging] = React18.useState(false);
7450
+ const [trackWidth, setTrackWidth] = React18.useState(0);
7451
+ const [internalConfirmed, setInternalConfirmed] = React18.useState(false);
7159
7452
  const confirmed = controlledConfirmed != null ? controlledConfirmed : internalConfirmed;
7160
- const firedRef = React17.useRef(false);
7161
- React17.useEffect(() => {
7453
+ const firedRef = React18.useRef(false);
7454
+ React18.useEffect(() => {
7162
7455
  if (controlledConfirmed === false) {
7163
7456
  setInternalConfirmed(false);
7164
7457
  setDragX(0);
7165
7458
  firedRef.current = false;
7166
7459
  }
7167
7460
  }, [controlledConfirmed]);
7168
- React17.useEffect(() => {
7461
+ React18.useEffect(() => {
7169
7462
  const track = trackRef.current;
7170
7463
  if (!track) return;
7171
7464
  const ro = new ResizeObserver(() => setTrackWidth(track.clientWidth));
@@ -7214,7 +7507,7 @@ function SlideToConfirm(_a) {
7214
7507
  const fillWidth = dragX === 0 ? 0 : dragX + HANDLE;
7215
7508
  const revealWidth = INSET2 + dragX + HANDLE / 2;
7216
7509
  const spring = "duration-slow ease-(--primitive-ease-spring)";
7217
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
7510
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
7218
7511
  "div",
7219
7512
  __spreadProps(__spreadValues({
7220
7513
  ref: trackRef,
@@ -7233,8 +7526,8 @@ function SlideToConfirm(_a) {
7233
7526
  )
7234
7527
  }, props), {
7235
7528
  children: [
7236
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "absolute inset-0 grid place-items-center", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "type-slide-to-confirm text-text-subtle-default", children: label }) }),
7237
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
7529
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "absolute inset-0 grid place-items-center", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "type-slide-to-confirm text-text-subtle-default", children: label }) }),
7530
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
7238
7531
  "span",
7239
7532
  {
7240
7533
  "aria-hidden": true,
@@ -7252,7 +7545,7 @@ function SlideToConfirm(_a) {
7252
7545
  }
7253
7546
  }
7254
7547
  ),
7255
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
7548
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
7256
7549
  "span",
7257
7550
  {
7258
7551
  "aria-hidden": true,
@@ -7264,10 +7557,10 @@ function SlideToConfirm(_a) {
7264
7557
  style: {
7265
7558
  clipPath: confirmed ? "inset(0 round 9999px)" : `inset(0 calc(100% - ${revealWidth}px) 0 0 round 9999px)`
7266
7559
  },
7267
- children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "type-slide-to-confirm flex items-center gap-2 text-text-on-brand-static", children: confirmed ? confirmedLabel : label })
7560
+ children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "type-slide-to-confirm flex items-center gap-2 text-text-on-brand-static", children: confirmed ? confirmedLabel : label })
7268
7561
  }
7269
7562
  ),
7270
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
7563
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
7271
7564
  "span",
7272
7565
  {
7273
7566
  "data-slot": "slide-to-confirm-handle",
@@ -7296,7 +7589,7 @@ function SlideToConfirm(_a) {
7296
7589
  // the keyboard, where dragX never moved.
7297
7590
  translate: `${confirmed ? maxTravel : dragX}px -50%`
7298
7591
  },
7299
- children: confirmed ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react27.Check, { className: "size-4.5 [animation:slide-confirm-pop_var(--motion-pop)_var(--primitive-ease-overshoot)]" }) : /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react27.ArrowRight, { className: "size-4.5" })
7592
+ children: confirmed ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_lucide_react27.Check, { className: "size-4.5 [animation:slide-confirm-pop_var(--motion-pop)_var(--primitive-ease-overshoot)]" }) : /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_lucide_react27.ArrowRight, { className: "size-4.5" })
7300
7593
  }
7301
7594
  )
7302
7595
  ]
@@ -7305,10 +7598,10 @@ function SlideToConfirm(_a) {
7305
7598
  }
7306
7599
 
7307
7600
  // components/ui/stepper.tsx
7308
- var React18 = __toESM(require("react"), 1);
7601
+ var React19 = __toESM(require("react"), 1);
7309
7602
  var import_lucide_react28 = require("lucide-react");
7310
- var import_jsx_runtime53 = require("react/jsx-runtime");
7311
- function clamp(value, min, max) {
7603
+ var import_jsx_runtime54 = require("react/jsx-runtime");
7604
+ function clamp2(value, min, max) {
7312
7605
  return Math.min(Math.max(value, min), max);
7313
7606
  }
7314
7607
  function getDecimalPlaces(n) {
@@ -7335,16 +7628,16 @@ function Stepper({
7335
7628
  "aria-label": ariaLabel
7336
7629
  }) {
7337
7630
  const isControlled = controlledValue !== void 0;
7338
- const [internalValue, setInternalValue] = React18.useState(
7339
- clamp(defaultValue, min, max)
7631
+ const [internalValue, setInternalValue] = React19.useState(
7632
+ clamp2(defaultValue, min, max)
7340
7633
  );
7341
7634
  const currentValue = isControlled ? controlledValue : internalValue;
7342
7635
  const decimalPlaces = getDecimalPlaces(step);
7343
- const [displayString, setDisplayString] = React18.useState(
7636
+ const [displayString, setDisplayString] = React19.useState(
7344
7637
  formatValue(currentValue, decimalPlaces)
7345
7638
  );
7346
- const [isFocused, setIsFocused] = React18.useState(false);
7347
- React18.useEffect(() => {
7639
+ const [isFocused, setIsFocused] = React19.useState(false);
7640
+ React19.useEffect(() => {
7348
7641
  if (!isFocused) {
7349
7642
  setDisplayString(formatValue(currentValue, decimalPlaces));
7350
7643
  }
@@ -7357,7 +7650,7 @@ function Stepper({
7357
7650
  committed = max;
7358
7651
  } else {
7359
7652
  const rounded = decimalPlaces > 0 ? parseFloat(next.toFixed(decimalPlaces)) : Math.round(next);
7360
- committed = clamp(rounded, min, max);
7653
+ committed = clamp2(rounded, min, max);
7361
7654
  }
7362
7655
  if (!isControlled) setInternalValue(committed);
7363
7656
  setDisplayString(formatValue(committed, decimalPlaces));
@@ -7401,7 +7694,7 @@ function Stepper({
7401
7694
  }
7402
7695
  }
7403
7696
  }
7404
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
7697
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
7405
7698
  "div",
7406
7699
  {
7407
7700
  "data-slot": "stepper",
@@ -7420,7 +7713,7 @@ function Stepper({
7420
7713
  className
7421
7714
  ),
7422
7715
  children: [
7423
- label != null && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
7716
+ label != null && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7424
7717
  "span",
7425
7718
  {
7426
7719
  "data-slot": "stepper-label",
@@ -7431,13 +7724,13 @@ function Stepper({
7431
7724
  children: label
7432
7725
  }
7433
7726
  ),
7434
- /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
7727
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
7435
7728
  "div",
7436
7729
  {
7437
7730
  "data-slot": "stepper-row",
7438
7731
  className: "flex w-full items-center justify-between gap-4",
7439
7732
  children: [
7440
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
7733
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7441
7734
  Button,
7442
7735
  {
7443
7736
  type: "button",
@@ -7446,10 +7739,10 @@ function Stepper({
7446
7739
  onClick: handleDecrement,
7447
7740
  disabled: disabled || currentValue <= min,
7448
7741
  "aria-label": "Decrease value",
7449
- children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_lucide_react28.Minus, {})
7742
+ children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react28.Minus, {})
7450
7743
  }
7451
7744
  ),
7452
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
7745
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7453
7746
  "input",
7454
7747
  {
7455
7748
  type: "text",
@@ -7473,7 +7766,7 @@ function Stepper({
7473
7766
  className: "type-stepper-stake-amount min-w-0 flex-1 border-0 bg-transparent text-center text-text-prominent-default outline-none disabled:text-text-disabled-default [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none"
7474
7767
  }
7475
7768
  ),
7476
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
7769
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7477
7770
  Button,
7478
7771
  {
7479
7772
  type: "button",
@@ -7482,7 +7775,7 @@ function Stepper({
7482
7775
  onClick: handleIncrement,
7483
7776
  disabled: disabled || currentValue >= max,
7484
7777
  "aria-label": "Increase value",
7485
- children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_lucide_react28.Plus, {})
7778
+ children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react28.Plus, {})
7486
7779
  }
7487
7780
  )
7488
7781
  ]
@@ -7494,10 +7787,10 @@ function Stepper({
7494
7787
  }
7495
7788
 
7496
7789
  // components/ui/steps.tsx
7497
- var React19 = __toESM(require("react"), 1);
7790
+ var React20 = __toESM(require("react"), 1);
7498
7791
  var import_lucide_react29 = require("lucide-react");
7499
- var import_jsx_runtime54 = require("react/jsx-runtime");
7500
- var StepsContext = React19.createContext({ shape: "circle", orientation: "horizontal", size: "md" });
7792
+ var import_jsx_runtime55 = require("react/jsx-runtime");
7793
+ var StepsContext = React20.createContext({ shape: "circle", orientation: "horizontal", size: "md" });
7501
7794
  function Steps(_a) {
7502
7795
  var _b = _a, {
7503
7796
  shape = "circle",
@@ -7512,8 +7805,8 @@ function Steps(_a) {
7512
7805
  "className",
7513
7806
  "children"
7514
7807
  ]);
7515
- const steps = React19.Children.toArray(children);
7516
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(StepsContext.Provider, { value: { shape, orientation, size }, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7808
+ const steps = React20.Children.toArray(children);
7809
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(StepsContext.Provider, { value: { shape, orientation, size }, children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
7517
7810
  "ol",
7518
7811
  __spreadProps(__spreadValues({
7519
7812
  "data-slot": "steps",
@@ -7527,7 +7820,7 @@ function Steps(_a) {
7527
7820
  )
7528
7821
  }, props), {
7529
7822
  children: steps.map(
7530
- (child, index) => React19.isValidElement(child) ? React19.cloneElement(child, {
7823
+ (child, index) => React20.isValidElement(child) ? React20.cloneElement(child, {
7531
7824
  index: index + 1,
7532
7825
  isFirst: index === 0,
7533
7826
  isLast: index === steps.length - 1
@@ -7558,10 +7851,10 @@ function Step(_a) {
7558
7851
  "isLast",
7559
7852
  "className"
7560
7853
  ]);
7561
- const { shape, orientation, size } = React19.useContext(StepsContext);
7854
+ const { shape, orientation, size } = React20.useContext(StepsContext);
7562
7855
  const horizontal = orientation === "horizontal";
7563
7856
  const sm = size === "sm";
7564
- const indicator = /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7857
+ const indicator = /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
7565
7858
  "span",
7566
7859
  {
7567
7860
  "data-slot": "step-indicator",
@@ -7575,11 +7868,11 @@ function Step(_a) {
7575
7868
  "[&_svg]:pointer-events-none [&_svg]:shrink-0",
7576
7869
  sm ? "[&_svg:not([class*='size-'])]:size-3.5" : "[&_svg:not([class*='size-'])]:size-4"
7577
7870
  ),
7578
- children: state === "done" ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react29.Check, {}) : icon != null ? icon : index
7871
+ children: state === "done" ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_lucide_react29.Check, {}) : icon != null ? icon : index
7579
7872
  }
7580
7873
  );
7581
7874
  if (horizontal) {
7582
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
7875
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
7583
7876
  "li",
7584
7877
  __spreadProps(__spreadValues({
7585
7878
  "data-slot": "step",
@@ -7588,8 +7881,8 @@ function Step(_a) {
7588
7881
  className: cn("flex min-w-0 flex-1 flex-col items-center", className)
7589
7882
  }, props), {
7590
7883
  children: [
7591
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex w-full items-center", children: [
7592
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7884
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "flex w-full items-center", children: [
7885
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
7593
7886
  "span",
7594
7887
  {
7595
7888
  "aria-hidden": true,
@@ -7597,10 +7890,10 @@ function Step(_a) {
7597
7890
  className: cn("h-px flex-1", !isFirst && "bg-border-neutral-default")
7598
7891
  }
7599
7892
  ),
7600
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: cn(!isFirst && "w-1", "shrink-0") }),
7893
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: cn(!isFirst && "w-1", "shrink-0") }),
7601
7894
  indicator,
7602
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: cn(!isLast && "w-1", "shrink-0") }),
7603
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7895
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: cn(!isLast && "w-1", "shrink-0") }),
7896
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
7604
7897
  "span",
7605
7898
  {
7606
7899
  "aria-hidden": true,
@@ -7609,7 +7902,7 @@ function Step(_a) {
7609
7902
  }
7610
7903
  )
7611
7904
  ] }),
7612
- (title != null || description != null) && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
7905
+ (title != null || description != null) && /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
7613
7906
  "div",
7614
7907
  {
7615
7908
  "data-slot": "step-body",
@@ -7618,7 +7911,7 @@ function Step(_a) {
7618
7911
  sm ? "mt-1" : "mt-1.5"
7619
7912
  ),
7620
7913
  children: [
7621
- title != null && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7914
+ title != null && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
7622
7915
  "span",
7623
7916
  {
7624
7917
  className: cn(
@@ -7628,8 +7921,8 @@ function Step(_a) {
7628
7921
  children: title
7629
7922
  }
7630
7923
  ),
7631
- tag != null && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "type-steps-tag whitespace-nowrap text-text-brand-selected", children: tag }),
7632
- description != null && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "type-steps-description text-text-subtle-default", children: description })
7924
+ tag != null && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "type-steps-tag whitespace-nowrap text-text-brand-selected", children: tag }),
7925
+ description != null && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "type-steps-description text-text-subtle-default", children: description })
7633
7926
  ]
7634
7927
  }
7635
7928
  )
@@ -7638,7 +7931,7 @@ function Step(_a) {
7638
7931
  );
7639
7932
  }
7640
7933
  const hasBody = title != null || description != null;
7641
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
7934
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
7642
7935
  "li",
7643
7936
  __spreadProps(__spreadValues({
7644
7937
  "data-slot": "step",
@@ -7655,9 +7948,9 @@ function Step(_a) {
7655
7948
  )
7656
7949
  }, props), {
7657
7950
  children: [
7658
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex flex-col items-center self-stretch", children: [
7951
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "flex flex-col items-center self-stretch", children: [
7659
7952
  indicator,
7660
- !isLast && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7953
+ !isLast && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
7661
7954
  "span",
7662
7955
  {
7663
7956
  "aria-hidden": true,
@@ -7666,13 +7959,13 @@ function Step(_a) {
7666
7959
  }
7667
7960
  )
7668
7961
  ] }),
7669
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
7962
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
7670
7963
  "div",
7671
7964
  {
7672
7965
  "data-slot": "step-body",
7673
7966
  className: cn("flex min-w-0 flex-col", !isLast && (sm ? "pb-4" : "pb-6")),
7674
7967
  children: [
7675
- title != null && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
7968
+ title != null && /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
7676
7969
  "span",
7677
7970
  {
7678
7971
  className: cn(
@@ -7681,12 +7974,12 @@ function Step(_a) {
7681
7974
  ),
7682
7975
  children: [
7683
7976
  title,
7684
- tag != null && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "type-steps-tag ml-2 whitespace-nowrap text-text-brand-selected", children: tag })
7977
+ tag != null && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "type-steps-tag ml-2 whitespace-nowrap text-text-brand-selected", children: tag })
7685
7978
  ]
7686
7979
  }
7687
7980
  ),
7688
- description != null && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "type-steps-description text-text-subtle-default", children: description }),
7689
- !hasBody && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("span", { className: "sr-only", children: [
7981
+ description != null && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "type-steps-description text-text-subtle-default", children: description }),
7982
+ !hasBody && /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("span", { className: "sr-only", children: [
7690
7983
  "Step ",
7691
7984
  index
7692
7985
  ] })
@@ -7700,7 +7993,7 @@ function Step(_a) {
7700
7993
 
7701
7994
  // components/ui/switch.tsx
7702
7995
  var import_radix_ui30 = require("radix-ui");
7703
- var import_jsx_runtime55 = require("react/jsx-runtime");
7996
+ var import_jsx_runtime56 = require("react/jsx-runtime");
7704
7997
  function Switch(_a) {
7705
7998
  var _b = _a, {
7706
7999
  className,
@@ -7709,7 +8002,7 @@ function Switch(_a) {
7709
8002
  "className",
7710
8003
  "size"
7711
8004
  ]);
7712
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
8005
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
7713
8006
  import_radix_ui30.Switch.Root,
7714
8007
  __spreadProps(__spreadValues({
7715
8008
  "data-slot": "switch",
@@ -7719,7 +8012,7 @@ function Switch(_a) {
7719
8012
  className
7720
8013
  )
7721
8014
  }, props), {
7722
- children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
8015
+ children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
7723
8016
  import_radix_ui30.Switch.Thumb,
7724
8017
  {
7725
8018
  "data-slot": "switch-thumb",
@@ -7733,15 +8026,15 @@ function Switch(_a) {
7733
8026
  }
7734
8027
 
7735
8028
  // components/ui/table.tsx
7736
- var import_jsx_runtime56 = require("react/jsx-runtime");
8029
+ var import_jsx_runtime57 = require("react/jsx-runtime");
7737
8030
  function Table(_a) {
7738
8031
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7739
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
8032
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7740
8033
  "div",
7741
8034
  {
7742
8035
  "data-slot": "table-container",
7743
8036
  className: "relative w-full overflow-x-auto",
7744
- children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
8037
+ children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7745
8038
  "table",
7746
8039
  __spreadValues({
7747
8040
  "data-slot": "table",
@@ -7753,7 +8046,7 @@ function Table(_a) {
7753
8046
  }
7754
8047
  function TableHeader(_a) {
7755
8048
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7756
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
8049
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7757
8050
  "thead",
7758
8051
  __spreadValues({
7759
8052
  "data-slot": "table-header",
@@ -7763,7 +8056,7 @@ function TableHeader(_a) {
7763
8056
  }
7764
8057
  function TableBody(_a) {
7765
8058
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7766
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
8059
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7767
8060
  "tbody",
7768
8061
  __spreadValues({
7769
8062
  "data-slot": "table-body",
@@ -7773,7 +8066,7 @@ function TableBody(_a) {
7773
8066
  }
7774
8067
  function TableFooter(_a) {
7775
8068
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7776
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
8069
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7777
8070
  "tfoot",
7778
8071
  __spreadValues({
7779
8072
  "data-slot": "table-footer",
@@ -7786,7 +8079,7 @@ function TableFooter(_a) {
7786
8079
  }
7787
8080
  function TableRow(_a) {
7788
8081
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7789
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
8082
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7790
8083
  "tr",
7791
8084
  __spreadValues({
7792
8085
  "data-slot": "table-row",
@@ -7799,7 +8092,7 @@ function TableRow(_a) {
7799
8092
  }
7800
8093
  function TableHead(_a) {
7801
8094
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7802
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
8095
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7803
8096
  "th",
7804
8097
  __spreadValues({
7805
8098
  "data-slot": "table-head",
@@ -7812,7 +8105,7 @@ function TableHead(_a) {
7812
8105
  }
7813
8106
  function TableCell(_a) {
7814
8107
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7815
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
8108
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7816
8109
  "td",
7817
8110
  __spreadValues({
7818
8111
  "data-slot": "table-cell",
@@ -7829,7 +8122,7 @@ function TableCaption(_a) {
7829
8122
  } = _b, props = __objRest(_b, [
7830
8123
  "className"
7831
8124
  ]);
7832
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
8125
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7833
8126
  "caption",
7834
8127
  __spreadValues({
7835
8128
  "data-slot": "table-caption",
@@ -7841,7 +8134,7 @@ function TableCaption(_a) {
7841
8134
  // components/ui/tabs.tsx
7842
8135
  var import_class_variance_authority14 = require("class-variance-authority");
7843
8136
  var import_radix_ui31 = require("radix-ui");
7844
- var import_jsx_runtime57 = require("react/jsx-runtime");
8137
+ var import_jsx_runtime58 = require("react/jsx-runtime");
7845
8138
  function Tabs(_a) {
7846
8139
  var _b = _a, {
7847
8140
  className,
@@ -7850,7 +8143,7 @@ function Tabs(_a) {
7850
8143
  "className",
7851
8144
  "orientation"
7852
8145
  ]);
7853
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
8146
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
7854
8147
  import_radix_ui31.Tabs.Root,
7855
8148
  __spreadValues({
7856
8149
  "data-slot": "tabs",
@@ -7893,7 +8186,7 @@ function TabsList(_a) {
7893
8186
  "variant",
7894
8187
  "size"
7895
8188
  ]);
7896
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
8189
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
7897
8190
  import_radix_ui31.Tabs.List,
7898
8191
  __spreadValues({
7899
8192
  "data-slot": "tabs-list",
@@ -7911,7 +8204,7 @@ function TabsTrigger(_a) {
7911
8204
  "className",
7912
8205
  "iconPosition"
7913
8206
  ]);
7914
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
8207
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
7915
8208
  import_radix_ui31.Tabs.Trigger,
7916
8209
  __spreadValues({
7917
8210
  "data-slot": "tabs-trigger",
@@ -7937,7 +8230,7 @@ function TabsContent(_a) {
7937
8230
  } = _b, props = __objRest(_b, [
7938
8231
  "className"
7939
8232
  ]);
7940
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
8233
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
7941
8234
  import_radix_ui31.Tabs.Content,
7942
8235
  __spreadValues({
7943
8236
  "data-slot": "tabs-content",
@@ -7949,7 +8242,7 @@ function TabsContent(_a) {
7949
8242
  // components/ui/toggle.tsx
7950
8243
  var import_class_variance_authority15 = require("class-variance-authority");
7951
8244
  var import_radix_ui32 = require("radix-ui");
7952
- var import_jsx_runtime58 = require("react/jsx-runtime");
8245
+ var import_jsx_runtime59 = require("react/jsx-runtime");
7953
8246
  var toggleVariants = (0, import_class_variance_authority15.cva)(
7954
8247
  "type-toggle inline-flex items-center justify-center gap-2 rounded-md border border-border-default-default bg-background-primary-surface text-text-prominent-default whitespace-nowrap transition-[color,background-color,border-color,box-shadow] outline-none hover:bg-background-secondary-surface active:bg-background-secondary-wash focus-visible:border-ring-focus-default focus-visible:ring-[3px] focus-visible:ring-ring-focus-strong disabled:pointer-events-none disabled:opacity-(--opacity-disabled) aria-invalid:border-border-error-default aria-invalid:ring-ring-error-soft data-[state=on]:border-transparent data-[state=on]:bg-background-brand-default data-[state=on]:text-text-on-brand-static [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
7955
8248
  {
@@ -7973,7 +8266,7 @@ function Toggle(_a) {
7973
8266
  "className",
7974
8267
  "size"
7975
8268
  ]);
7976
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
8269
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
7977
8270
  import_radix_ui32.Toggle.Root,
7978
8271
  __spreadValues({
7979
8272
  "data-slot": "toggle",
@@ -7983,10 +8276,10 @@ function Toggle(_a) {
7983
8276
  }
7984
8277
 
7985
8278
  // components/ui/toggle-group.tsx
7986
- var React20 = __toESM(require("react"), 1);
8279
+ var React21 = __toESM(require("react"), 1);
7987
8280
  var import_radix_ui33 = require("radix-ui");
7988
- var import_jsx_runtime59 = require("react/jsx-runtime");
7989
- var ToggleGroupContext = React20.createContext({
8281
+ var import_jsx_runtime60 = require("react/jsx-runtime");
8282
+ var ToggleGroupContext = React21.createContext({
7990
8283
  size: "default",
7991
8284
  spacing: 0
7992
8285
  });
@@ -8002,7 +8295,7 @@ function ToggleGroup(_a) {
8002
8295
  "spacing",
8003
8296
  "children"
8004
8297
  ]);
8005
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
8298
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8006
8299
  import_radix_ui33.ToggleGroup.Root,
8007
8300
  __spreadProps(__spreadValues({
8008
8301
  "data-slot": "toggle-group",
@@ -8014,7 +8307,7 @@ function ToggleGroup(_a) {
8014
8307
  className
8015
8308
  )
8016
8309
  }, props), {
8017
- children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(ToggleGroupContext.Provider, { value: { size, spacing }, children })
8310
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ToggleGroupContext.Provider, { value: { size, spacing }, children })
8018
8311
  })
8019
8312
  );
8020
8313
  }
@@ -8028,8 +8321,8 @@ function ToggleGroupItem(_a) {
8028
8321
  "children",
8029
8322
  "size"
8030
8323
  ]);
8031
- const context = React20.useContext(ToggleGroupContext);
8032
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
8324
+ const context = React21.useContext(ToggleGroupContext);
8325
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8033
8326
  import_radix_ui33.ToggleGroup.Item,
8034
8327
  __spreadProps(__spreadValues({
8035
8328
  "data-slot": "toggle-group-item",
@@ -8052,7 +8345,7 @@ function ToggleGroupItem(_a) {
8052
8345
  }
8053
8346
 
8054
8347
  // components/blocks/result-block.tsx
8055
- var import_jsx_runtime60 = require("react/jsx-runtime");
8348
+ var import_jsx_runtime61 = require("react/jsx-runtime");
8056
8349
  var THUMBS_UP_DATA_URL = "data:image/webp;base64,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";
8057
8350
  var THUMBS_DOWN_DATA_URL = "data:image/webp;base64,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";
8058
8351
  function ResultBlock({
@@ -8069,9 +8362,9 @@ function ResultBlock({
8069
8362
  const signedAmount = isWin ? `+${amount}` : `\u2212${amount}`;
8070
8363
  const amountColorClass = isWin ? "text-semantic-win" : "text-semantic-loss";
8071
8364
  const haloBgClass = isWin ? "bg-semantic-win" : "bg-semantic-loss";
8072
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(Card, { className: "w-80 shrink-0 overflow-hidden rounded-md shadow-sm px-5 py-5 items-center gap-3", children: [
8073
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "relative flex items-center justify-center py-2", children: [
8074
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8365
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(Card, { className: "w-80 shrink-0 overflow-hidden rounded-md shadow-sm px-5 py-5 items-center gap-3", children: [
8366
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "relative flex items-center justify-center py-2", children: [
8367
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
8075
8368
  "span",
8076
8369
  {
8077
8370
  "aria-hidden": true,
@@ -8079,7 +8372,7 @@ function ResultBlock({
8079
8372
  className: `absolute size-24 rounded-full blur-2xl opacity-20 ${haloBgClass}`
8080
8373
  }
8081
8374
  ),
8082
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8375
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
8083
8376
  "img",
8084
8377
  {
8085
8378
  "data-results-motion": isWin ? "icon-win" : "icon-loss",
@@ -8089,28 +8382,28 @@ function ResultBlock({
8089
8382
  }
8090
8383
  )
8091
8384
  ] }),
8092
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: "text-lg font-semibold text-on-prominent", children: titleText }),
8093
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("p", { className: `flex items-baseline gap-1.5 ${amountColorClass}`, children: [
8094
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "font-display text-4xl font-semibold tabular-nums tracking-tight", children: signedAmount }),
8095
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "text-lg font-semibold", children: currency })
8385
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("p", { className: "text-lg font-semibold text-on-prominent", children: titleText }),
8386
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("p", { className: `flex items-baseline gap-1.5 ${amountColorClass}`, children: [
8387
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "font-display text-4xl font-semibold tabular-nums tracking-tight", children: signedAmount }),
8388
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "text-lg font-semibold", children: currency })
8096
8389
  ] }),
8097
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "flex items-center gap-2", children: [
8098
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(Badge, { variant: "tint-neutral", size: "sm", children: [
8390
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex items-center gap-2", children: [
8391
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(Badge, { variant: "tint-neutral", size: "sm", children: [
8099
8392
  contractLabel,
8100
- pickedDigit !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_jsx_runtime60.Fragment, { children: [
8101
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { "aria-hidden": true, className: "h-3 w-px bg-border-prominent/40 mx-1" }),
8102
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "tabular-nums", children: pickedDigit })
8393
+ pickedDigit !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_jsx_runtime61.Fragment, { children: [
8394
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { "aria-hidden": true, className: "h-3 w-px bg-border-prominent/40 mx-1" }),
8395
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "tabular-nums", children: pickedDigit })
8103
8396
  ] })
8104
8397
  ] }),
8105
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Badge, { variant: "tint-neutral", size: "sm", children: duration })
8398
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Badge, { variant: "tint-neutral", size: "sm", children: duration })
8106
8399
  ] }),
8107
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "w-full pt-2", children: [
8108
- ctaMode === "next-round" && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Button, { className: "w-full", children: "Next round" }),
8109
- ctaMode === "go-again" && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Button, { className: "w-full", children: "Go again" }),
8110
- ctaMode === "conversion" && /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "w-full flex flex-col gap-3", children: [
8111
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: "text-center text-base font-semibold text-on-prominent", children: "Ready to play for real?" }),
8112
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Button, { className: "w-full", children: "Deposit now" }),
8113
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Button, { variant: "secondary", className: "w-full", children: "Stay in demo" })
8400
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "w-full pt-2", children: [
8401
+ ctaMode === "next-round" && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Button, { className: "w-full", children: "Next round" }),
8402
+ ctaMode === "go-again" && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Button, { className: "w-full", children: "Go again" }),
8403
+ ctaMode === "conversion" && /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "w-full flex flex-col gap-3", children: [
8404
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("p", { className: "text-center text-base font-semibold text-on-prominent", children: "Ready to play for real?" }),
8405
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Button, { className: "w-full", children: "Deposit now" }),
8406
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Button, { variant: "secondary", className: "w-full", children: "Stay in demo" })
8114
8407
  ] })
8115
8408
  ] })
8116
8409
  ] });
@@ -8121,21 +8414,21 @@ function ResultDialog({
8121
8414
  primaryLabel,
8122
8415
  secondaryLabel
8123
8416
  }) {
8124
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(Card, { className: "w-80 shrink-0 overflow-hidden rounded-md shadow-sm px-5 py-6 items-center gap-4", children: [
8125
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "flex flex-col items-center gap-2 text-center", children: [
8126
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: "text-lg font-semibold text-on-prominent", children: title }),
8127
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: "text-sm text-on-subtle", children: body })
8417
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(Card, { className: "w-80 shrink-0 overflow-hidden rounded-md shadow-sm px-5 py-6 items-center gap-4", children: [
8418
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex flex-col items-center gap-2 text-center", children: [
8419
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("p", { className: "text-lg font-semibold text-on-prominent", children: title }),
8420
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("p", { className: "text-sm text-on-subtle", children: body })
8128
8421
  ] }),
8129
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "w-full flex flex-col gap-2", children: [
8130
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Button, { className: "w-full", children: primaryLabel }),
8131
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Button, { variant: "secondary", className: "w-full", children: secondaryLabel })
8422
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "w-full flex flex-col gap-2", children: [
8423
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Button, { className: "w-full", children: primaryLabel }),
8424
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Button, { variant: "secondary", className: "w-full", children: secondaryLabel })
8132
8425
  ] })
8133
8426
  ] });
8134
8427
  }
8135
8428
 
8136
8429
  // components/blocks/header-navigation-block.tsx
8137
8430
  var import_lucide_react30 = require("lucide-react");
8138
- var import_jsx_runtime61 = require("react/jsx-runtime");
8431
+ var import_jsx_runtime62 = require("react/jsx-runtime");
8139
8432
  function HeaderNavigationBlock({
8140
8433
  onBack,
8141
8434
  badge,
@@ -8144,15 +8437,15 @@ function HeaderNavigationBlock({
8144
8437
  actions
8145
8438
  }) {
8146
8439
  var _a;
8147
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "w-full min-w-80 max-w-layout-diagram-small rounded-md overflow-hidden bg-prominent", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("header", { className: "flex items-center gap-2 border-b border-border-subtle bg-prominent px-layout-margin-inline py-3", children: [
8148
- onBack && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(NavigationButton, { type: "button", size: "md", "aria-label": "Back", onClick: onBack, children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_lucide_react30.ArrowLeft, { className: "size-5" }) }),
8149
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex min-w-0 flex-1 items-center justify-center gap-2", children: [
8150
- badge && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Badge, { variant: (_a = badge.variant) != null ? _a : "tint-warning", size: "sm", children: badge.label }),
8151
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "font-display font-semibold tabular-nums text-on-prominent", children: balance.amount }),
8152
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "text-sm text-on-subtle", children: balance.currency })
8440
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "w-full min-w-80 max-w-layout-diagram-small rounded-md overflow-hidden bg-prominent", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("header", { className: "flex items-center gap-2 border-b border-border-subtle bg-prominent px-layout-margin-inline py-3", children: [
8441
+ onBack && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(NavigationButton, { type: "button", size: "md", "aria-label": "Back", onClick: onBack, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_lucide_react30.ArrowLeft, { className: "size-5" }) }),
8442
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex min-w-0 flex-1 items-center justify-center gap-2", children: [
8443
+ badge && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Badge, { variant: (_a = badge.variant) != null ? _a : "tint-warning", size: "sm", children: badge.label }),
8444
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "font-display font-semibold tabular-nums text-on-prominent", children: balance.amount }),
8445
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "text-sm text-on-subtle", children: balance.currency })
8153
8446
  ] }),
8154
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex shrink-0 items-center gap-1", children: [
8155
- history && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(HistoryButton, __spreadValues({}, history)),
8447
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex shrink-0 items-center gap-1", children: [
8448
+ history && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(HistoryButton, __spreadValues({}, history)),
8156
8449
  actions
8157
8450
  ] })
8158
8451
  ] }) });
@@ -8165,13 +8458,14 @@ function HistoryButton({
8165
8458
  const show = typeof count === "number" && count > 0;
8166
8459
  const label = show ? count > 99 ? "99+" : String(count) : null;
8167
8460
  const ariaLabel = ariaLabelOverride != null ? ariaLabelOverride : show ? `Open history, ${count} new` : "Open history";
8168
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "relative inline-flex", children: [
8169
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(NavigationButton, { type: "button", size: "md", "aria-label": ariaLabel, onClick, children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_lucide_react30.History, { className: "size-5" }) }),
8170
- show && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
8171
- "span",
8461
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "relative inline-flex", children: [
8462
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(NavigationButton, { type: "button", size: "md", "aria-label": ariaLabel, onClick, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_lucide_react30.History, { className: "size-5" }) }),
8463
+ show && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
8464
+ Badge,
8172
8465
  {
8173
8466
  "aria-hidden": true,
8174
- className: "pointer-events-none absolute -top-0.5 -right-0.5 min-w-[1.125rem] h-[1.125rem] px-1 rounded-full bg-primary text-on-primary text-[10px] leading-none font-semibold tabular-nums inline-flex items-center justify-center ring-2 ring-prominent",
8467
+ size: "count",
8468
+ className: "pointer-events-none absolute -top-0.5 -right-0.5 ring-2 ring-background-primary-canvas",
8175
8469
  children: label
8176
8470
  }
8177
8471
  )
@@ -8181,7 +8475,7 @@ function HistoryButton({
8181
8475
  // components/blocks/faq-block.tsx
8182
8476
  var import_lucide_react31 = require("lucide-react");
8183
8477
  var import_radix_ui34 = require("radix-ui");
8184
- var import_jsx_runtime62 = require("react/jsx-runtime");
8478
+ var import_jsx_runtime63 = require("react/jsx-runtime");
8185
8479
  function FAQBlock({
8186
8480
  eyebrow = "FAQ",
8187
8481
  title = "Frequently asked questions",
@@ -8193,34 +8487,34 @@ function FAQBlock({
8193
8487
  }) {
8194
8488
  var _a, _b;
8195
8489
  if (layout === "two-column") {
8196
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "@container w-full", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex flex-col @[600px]:flex-row gap-8 @[600px]:gap-12", children: [
8197
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex flex-col gap-4 flex-1 @[600px]:max-w-xs", children: [
8198
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "text-xs font-body font-semibold tracking-widest uppercase text-on-subtle", children: eyebrow }),
8199
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("h2", { className: "text-4xl @[600px]:text-6xl font-semibold font-display text-on-prominent tracking-tight", children: title }),
8200
- intro && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: "text-base font-body text-on-subtle", children: intro })
8490
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "@container w-full", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "flex flex-col @[600px]:flex-row gap-8 @[600px]:gap-12", children: [
8491
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "flex flex-col gap-4 flex-1 @[600px]:max-w-xs", children: [
8492
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "text-xs font-body font-semibold tracking-widest uppercase text-on-subtle", children: eyebrow }),
8493
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("h2", { className: "text-4xl @[600px]:text-6xl font-semibold font-display text-on-prominent tracking-tight", children: title }),
8494
+ intro && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("p", { className: "text-base font-body text-on-subtle", children: intro })
8201
8495
  ] }),
8202
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
8496
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
8203
8497
  Accordion,
8204
8498
  {
8205
8499
  type: "single",
8206
8500
  collapsible: true,
8207
8501
  defaultValue: defaultValue != null ? defaultValue : (_a = items[0]) == null ? void 0 : _a.value,
8208
8502
  className: "w-full",
8209
- children: items.map(({ value, question, answer }, i) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(AccordionItem, { value, children: [
8210
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_radix_ui34.Accordion.Header, { className: "flex", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
8503
+ children: items.map(({ value, question, answer }, i) => /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(AccordionItem, { value, children: [
8504
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_radix_ui34.Accordion.Header, { className: "flex", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
8211
8505
  import_radix_ui34.Accordion.Trigger,
8212
8506
  {
8213
8507
  className: "group flex flex-1 items-center justify-between gap-4 py-5 text-left outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50",
8214
8508
  children: [
8215
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("span", { className: "flex items-baseline gap-4", children: [
8216
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "text-sm font-body text-on-subtle shrink-0 w-6", children: String(i + 1).padStart(2, "0") }),
8217
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "text-lg @[600px]:text-xl font-semibold font-display text-on-prominent", children: question })
8509
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("span", { className: "flex items-baseline gap-4", children: [
8510
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "text-sm font-body text-on-subtle shrink-0 w-6", children: String(i + 1).padStart(2, "0") }),
8511
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "text-lg @[600px]:text-xl font-semibold font-display text-on-prominent", children: question })
8218
8512
  ] }),
8219
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: cn(
8513
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: cn(
8220
8514
  "shrink-0 size-7 flex items-center justify-center rounded-sm border transition-all duration-200",
8221
8515
  "group-data-[state=open]:bg-primary group-data-[state=open]:border-primary",
8222
8516
  "group-data-[state=closed]:bg-transparent group-data-[state=closed]:border-border-subtle"
8223
- ), children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_lucide_react31.Plus, { className: cn(
8517
+ ), children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_lucide_react31.Plus, { className: cn(
8224
8518
  "size-4 transition-all duration-200",
8225
8519
  "group-data-[state=open]:rotate-45 group-data-[state=open]:text-on-primary",
8226
8520
  "group-data-[state=closed]:text-on-prominent"
@@ -8228,7 +8522,7 @@ function FAQBlock({
8228
8522
  ]
8229
8523
  }
8230
8524
  ) }),
8231
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(AccordionContent, { children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: "text-base font-body text-on-subtle pl-10 pb-4", children: answer }) })
8525
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(AccordionContent, { children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("p", { className: "text-base font-body text-on-subtle pl-10 pb-4", children: answer }) })
8232
8526
  ] }, value))
8233
8527
  }
8234
8528
  ) })
@@ -8239,38 +8533,38 @@ function FAQBlock({
8239
8533
  const helpCardPaddingClass = layout === "desktop" ? "p-8" : "p-6";
8240
8534
  const gapClass = layout === "desktop" ? "gap-12" : "gap-10";
8241
8535
  const headerGapClass = layout === "desktop" ? "gap-5" : "gap-4";
8242
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: `w-full flex flex-col ${gapClass}`, children: [
8243
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: `flex flex-col ${headerGapClass} items-center w-full`, children: [
8244
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "text-sm text-on-subtle font-body", children: eyebrow }),
8245
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("h2", { className: headingClass, children: title }),
8246
- intro && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: "text-lg text-on-subtle font-body text-center", children: intro })
8536
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: `w-full flex flex-col ${gapClass}`, children: [
8537
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: `flex flex-col ${headerGapClass} items-center w-full`, children: [
8538
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "text-sm text-on-subtle font-body", children: eyebrow }),
8539
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("h2", { className: headingClass, children: title }),
8540
+ intro && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("p", { className: "text-lg text-on-subtle font-body text-center", children: intro })
8247
8541
  ] }),
8248
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
8542
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
8249
8543
  Accordion,
8250
8544
  {
8251
8545
  type: "single",
8252
8546
  collapsible: true,
8253
8547
  defaultValue: defaultValue != null ? defaultValue : (_b = items[0]) == null ? void 0 : _b.value,
8254
8548
  className: "w-full",
8255
- children: items.map(({ value, question, answer }) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(AccordionItem, { value, children: [
8256
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(AccordionTrigger, { className: "text-base font-medium font-body text-on-prominent hover:no-underline", children: question }),
8257
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(AccordionContent, { children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: "text-sm text-on-subtle font-body pb-4", children: answer }) })
8549
+ children: items.map(({ value, question, answer }) => /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(AccordionItem, { value, children: [
8550
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(AccordionTrigger, { className: "text-base font-medium font-body text-on-prominent hover:no-underline", children: question }),
8551
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(AccordionContent, { children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("p", { className: "text-sm text-on-subtle font-body pb-4", children: answer }) })
8258
8552
  ] }, value))
8259
8553
  }
8260
8554
  ),
8261
- helpCard && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: `flex flex-col gap-6 items-center w-full bg-subtle rounded-xl ${helpCardPaddingClass}`, children: [
8262
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex flex-col gap-2 w-full", children: [
8263
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("h3", { className: helpTitleClass, children: helpCard.title }),
8264
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: "text-base text-on-subtle font-body", children: helpCard.body })
8555
+ helpCard && /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: `flex flex-col gap-6 items-center w-full bg-subtle rounded-xl ${helpCardPaddingClass}`, children: [
8556
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "flex flex-col gap-2 w-full", children: [
8557
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("h3", { className: helpTitleClass, children: helpCard.title }),
8558
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("p", { className: "text-base text-on-subtle font-body", children: helpCard.body })
8265
8559
  ] }),
8266
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Button, { size: "sm", onClick: helpCard.onCtaClick, children: helpCard.ctaLabel })
8560
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Button, { size: "sm", onClick: helpCard.onCtaClick, children: helpCard.ctaLabel })
8267
8561
  ] })
8268
8562
  ] });
8269
8563
  }
8270
8564
 
8271
8565
  // components/blocks/hero-block.tsx
8272
8566
  var import_lucide_react32 = require("lucide-react");
8273
- var import_jsx_runtime63 = require("react/jsx-runtime");
8567
+ var import_jsx_runtime64 = require("react/jsx-runtime");
8274
8568
  function HeroBlock({
8275
8569
  layout = "centered",
8276
8570
  tagline,
@@ -8281,31 +8575,31 @@ function HeroBlock({
8281
8575
  image
8282
8576
  }) {
8283
8577
  if (layout === "centered") {
8284
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "w-full border border-border-subtle rounded-xl overflow-hidden bg-prominent", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "flex flex-col items-center justify-center gap-8 px-layout-margin-inline py-24 max-w-2xl mx-auto text-center", children: [
8285
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "flex flex-col items-center gap-6 w-full", children: [
8286
- tagline && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(TaglinePill, __spreadValues({}, tagline)),
8287
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("h1", { className: "text-5xl font-semibold font-display tracking-tight text-on-prominent text-center", children: heading }),
8288
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("p", { className: "text-lg font-body text-on-subtle text-center", children: body })
8578
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "w-full border border-border-subtle rounded-xl overflow-hidden bg-prominent", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex flex-col items-center justify-center gap-8 px-layout-margin-inline py-24 max-w-2xl mx-auto text-center", children: [
8579
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex flex-col items-center gap-6 w-full", children: [
8580
+ tagline && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(TaglinePill, __spreadValues({}, tagline)),
8581
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("h1", { className: "text-5xl font-semibold font-display tracking-tight text-on-prominent text-center", children: heading }),
8582
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("p", { className: "text-lg font-body text-on-subtle text-center", children: body })
8289
8583
  ] }),
8290
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(Button, { size: "sm", onClick: primaryCta.onClick, children: [
8584
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(Button, { size: "sm", onClick: primaryCta.onClick, children: [
8291
8585
  primaryCta.label,
8292
- primaryCta.trailingArrow !== false && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_lucide_react32.ArrowRight, { className: "size-4" })
8586
+ primaryCta.trailingArrow !== false && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react32.ArrowRight, { className: "size-4" })
8293
8587
  ] })
8294
8588
  ] }) });
8295
8589
  }
8296
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "w-full border border-border-subtle rounded-xl overflow-hidden bg-prominent", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "flex flex-col min-[600px]:flex-row items-center gap-layout-gutter px-layout-margin-inline py-16 min-[600px]:py-24 max-w-5xl mx-auto", children: [
8297
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "flex flex-col gap-6 min-[600px]:gap-8 flex-1 min-w-0 items-center min-[600px]:items-start text-center min-[600px]:text-left w-full", children: [
8298
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "flex flex-col gap-5 min-[600px]:gap-6 items-center min-[600px]:items-start w-full", children: [
8299
- tagline && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(TaglinePill, __spreadProps(__spreadValues({}, tagline), { responsive: true })),
8300
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("h1", { className: "text-4xl min-[600px]:text-5xl font-semibold font-display tracking-tight text-on-prominent", children: heading }),
8301
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("p", { className: "text-lg font-body text-on-subtle", children: body })
8590
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "w-full border border-border-subtle rounded-xl overflow-hidden bg-prominent", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex flex-col min-[600px]:flex-row items-center gap-layout-gutter px-layout-margin-inline py-16 min-[600px]:py-24 max-w-5xl mx-auto", children: [
8591
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex flex-col gap-6 min-[600px]:gap-8 flex-1 min-w-0 items-center min-[600px]:items-start text-center min-[600px]:text-left w-full", children: [
8592
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex flex-col gap-5 min-[600px]:gap-6 items-center min-[600px]:items-start w-full", children: [
8593
+ tagline && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(TaglinePill, __spreadProps(__spreadValues({}, tagline), { responsive: true })),
8594
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("h1", { className: "text-4xl min-[600px]:text-5xl font-semibold font-display tracking-tight text-on-prominent", children: heading }),
8595
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("p", { className: "text-lg font-body text-on-subtle", children: body })
8302
8596
  ] }),
8303
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "flex items-center justify-center min-[600px]:justify-start gap-2", children: [
8304
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Button, { size: "sm", onClick: primaryCta.onClick, children: primaryCta.label }),
8305
- secondaryCta && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Button, { variant: "secondary", size: "sm", onClick: secondaryCta.onClick, children: secondaryCta.label })
8597
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-center justify-center min-[600px]:justify-start gap-2", children: [
8598
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Button, { size: "sm", onClick: primaryCta.onClick, children: primaryCta.label }),
8599
+ secondaryCta && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Button, { variant: "secondary", size: "sm", onClick: secondaryCta.onClick, children: secondaryCta.label })
8306
8600
  ] })
8307
8601
  ] }),
8308
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "w-full min-[600px]:flex-1 min-[600px]:min-w-0 aspect-square rounded-xl bg-subtle shrink-0", "aria-hidden": "true", children: image })
8602
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "w-full min-[600px]:flex-1 min-[600px]:min-w-0 aspect-square rounded-xl bg-subtle shrink-0", "aria-hidden": "true", children: image })
8309
8603
  ] }) });
8310
8604
  }
8311
8605
  function TaglinePill({
@@ -8313,25 +8607,25 @@ function TaglinePill({
8313
8607
  suffix,
8314
8608
  responsive
8315
8609
  }) {
8316
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "inline-flex items-center gap-1.5 h-7 px-3 rounded-full border border-border-subtle bg-prominent shadow-sm shrink-0", children: [
8317
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "size-1.5 rounded-full bg-semantic-win shrink-0", "aria-hidden": "true" }),
8318
- responsive && suffix ? /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("span", { className: "text-sm font-body text-on-prominent whitespace-nowrap", children: [
8319
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("span", { className: "hidden min-[600px]:inline", children: [
8610
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "inline-flex items-center gap-1.5 h-7 px-3 rounded-full border border-border-subtle bg-prominent shadow-sm shrink-0", children: [
8611
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "size-1.5 rounded-full bg-semantic-win shrink-0", "aria-hidden": "true" }),
8612
+ responsive && suffix ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("span", { className: "text-sm font-body text-on-prominent whitespace-nowrap", children: [
8613
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("span", { className: "hidden min-[600px]:inline", children: [
8320
8614
  label,
8321
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "text-on-subtle", children: " \xB7 " })
8615
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-on-subtle", children: " \xB7 " })
8322
8616
  ] }),
8323
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "text-on-subtle min-[600px]:text-on-prominent", children: suffix })
8324
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("span", { className: "text-sm font-body text-on-prominent whitespace-nowrap", children: [
8617
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-on-subtle min-[600px]:text-on-prominent", children: suffix })
8618
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("span", { className: "text-sm font-body text-on-prominent whitespace-nowrap", children: [
8325
8619
  label,
8326
- suffix && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "text-on-subtle", children: ` \xB7 ${suffix}` })
8620
+ suffix && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-on-subtle", children: ` \xB7 ${suffix}` })
8327
8621
  ] }),
8328
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_lucide_react32.ArrowUpRight, { className: "size-4 text-on-subtle shrink-0", "aria-hidden": "true" })
8622
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react32.ArrowUpRight, { className: "size-4 text-on-subtle shrink-0", "aria-hidden": "true" })
8329
8623
  ] });
8330
8624
  }
8331
8625
 
8332
8626
  // components/blocks/auth-block.tsx
8333
- var React21 = __toESM(require("react"), 1);
8334
- var import_jsx_runtime64 = require("react/jsx-runtime");
8627
+ var React22 = __toESM(require("react"), 1);
8628
+ var import_jsx_runtime65 = require("react/jsx-runtime");
8335
8629
  function AuthBlock({
8336
8630
  mode,
8337
8631
  logoSrc,
@@ -8346,20 +8640,20 @@ function AuthBlock({
8346
8640
  const ctaText = mode === "sign-in" ? "Sign in" : "Sign up";
8347
8641
  const footerPrompt = mode === "sign-in" ? "Don't have an account?" : "Already have an account?";
8348
8642
  const footerLinkLabel = mode === "sign-in" ? "Sign up" : "Log in";
8349
- const [email, setEmail] = React21.useState("");
8350
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex flex-col items-center gap-6 w-full", children: [
8351
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-center gap-2", children: [
8352
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("img", { src: logoSrc, alt: wordmark, className: "size-8 object-contain" }),
8353
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "font-display font-semibold text-base text-on-prominent tracking-tight", children: wordmark })
8643
+ const [email, setEmail] = React22.useState("");
8644
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex flex-col items-center gap-6 w-full", children: [
8645
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-2", children: [
8646
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("img", { src: logoSrc, alt: wordmark, className: "size-8 object-contain" }),
8647
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "font-display font-semibold text-base text-on-prominent tracking-tight", children: wordmark })
8354
8648
  ] }),
8355
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("h2", { className: "text-3xl font-semibold font-display text-on-prominent text-center", children: headingText }),
8356
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "flex flex-col gap-3 w-full", children: providers.map((p) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(ProviderButton, { provider: p }, p)) }),
8357
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-center gap-3 w-full", children: [
8358
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "flex-1 h-px bg-border-subtle" }),
8359
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-sm text-on-subtle font-body", children: "or" }),
8360
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "flex-1 h-px bg-border-subtle" })
8649
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("h2", { className: "text-3xl font-semibold font-display text-on-prominent text-center", children: headingText }),
8650
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "flex flex-col gap-3 w-full", children: providers.map((p) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(ProviderButton, { provider: p }, p)) }),
8651
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-3 w-full", children: [
8652
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "flex-1 h-px bg-border-subtle" }),
8653
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm text-on-subtle font-body", children: "or" }),
8654
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "flex-1 h-px bg-border-subtle" })
8361
8655
  ] }),
8362
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "flex items-center gap-2 w-full", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
8656
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "flex items-center gap-2 w-full", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
8363
8657
  Input,
8364
8658
  {
8365
8659
  id: `${idPrefix}-email`,
@@ -8370,60 +8664,60 @@ function AuthBlock({
8370
8664
  onChange: (e) => setEmail(e.target.value)
8371
8665
  }
8372
8666
  ) }),
8373
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("p", { className: "text-sm text-on-subtle font-body text-left w-full", children: [
8667
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("p", { className: "text-sm text-on-subtle font-body text-left w-full", children: [
8374
8668
  termsText,
8375
8669
  ", you agree to our",
8376
8670
  " ",
8377
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Link, { size: "sm", href: "#", children: "Terms & Conditions" })
8671
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Link, { size: "sm", href: "#", children: "Terms & Conditions" })
8378
8672
  ] }),
8379
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Button, { size: "md", className: "w-full", onClick: () => onSubmit == null ? void 0 : onSubmit({ email }), children: ctaText }),
8380
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("p", { className: "text-sm text-on-subtle font-body text-center", children: [
8673
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button, { size: "md", className: "w-full", onClick: () => onSubmit == null ? void 0 : onSubmit({ email }), children: ctaText }),
8674
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("p", { className: "text-sm text-on-subtle font-body text-center", children: [
8381
8675
  footerPrompt,
8382
8676
  " ",
8383
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Link, { size: "sm", href: crossLinkHref, children: footerLinkLabel })
8677
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Link, { size: "sm", href: crossLinkHref, children: footerLinkLabel })
8384
8678
  ] })
8385
8679
  ] });
8386
8680
  }
8387
8681
  function ProviderButton({ provider }) {
8388
8682
  switch (provider) {
8389
8683
  case "google":
8390
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
8391
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("svg", { width: "18", height: "18", viewBox: "0 0 18 18", "aria-hidden": "true", fill: "none", className: "shrink-0", children: [
8392
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("path", { d: "M17.64 9.205c0-.639-.057-1.252-.164-1.841H9v3.481h4.844a4.14 4.14 0 0 1-1.796 2.716v2.259h2.908c1.702-1.567 2.684-3.875 2.684-6.615Z", fill: "#4285F4" }),
8393
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("path", { d: "M9 18c2.43 0 4.467-.806 5.956-2.18l-2.908-2.259c-.806.54-1.837.86-3.048.86-2.344 0-4.328-1.584-5.036-3.711H.957v2.332A8.997 8.997 0 0 0 9 18Z", fill: "#34A853" }),
8394
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("path", { d: "M3.964 10.71A5.41 5.41 0 0 1 3.682 9c0-.593.102-1.17.282-1.71V4.958H.957A8.996 8.996 0 0 0 0 9c0 1.452.348 2.827.957 4.042l3.007-2.332Z", fill: "#FBBC05" }),
8395
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("path", { d: "M9 3.58c1.321 0 2.508.454 3.44 1.345l2.582-2.58C13.463.891 11.426 0 9 0A8.997 8.997 0 0 0 .957 4.958L3.964 7.29C4.672 5.163 6.656 3.58 9 3.58Z", fill: "#EA4335" })
8684
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
8685
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("svg", { width: "18", height: "18", viewBox: "0 0 18 18", "aria-hidden": "true", fill: "none", className: "shrink-0", children: [
8686
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("path", { d: "M17.64 9.205c0-.639-.057-1.252-.164-1.841H9v3.481h4.844a4.14 4.14 0 0 1-1.796 2.716v2.259h2.908c1.702-1.567 2.684-3.875 2.684-6.615Z", fill: "#4285F4" }),
8687
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("path", { d: "M9 18c2.43 0 4.467-.806 5.956-2.18l-2.908-2.259c-.806.54-1.837.86-3.048.86-2.344 0-4.328-1.584-5.036-3.711H.957v2.332A8.997 8.997 0 0 0 9 18Z", fill: "#34A853" }),
8688
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("path", { d: "M3.964 10.71A5.41 5.41 0 0 1 3.682 9c0-.593.102-1.17.282-1.71V4.958H.957A8.996 8.996 0 0 0 0 9c0 1.452.348 2.827.957 4.042l3.007-2.332Z", fill: "#FBBC05" }),
8689
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("path", { d: "M9 3.58c1.321 0 2.508.454 3.44 1.345l2.582-2.58C13.463.891 11.426 0 9 0A8.997 8.997 0 0 0 .957 4.958L3.964 7.29C4.672 5.163 6.656 3.58 9 3.58Z", fill: "#EA4335" })
8396
8690
  ] }),
8397
8691
  "Continue with Google"
8398
8692
  ] });
8399
8693
  case "telegram":
8400
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
8401
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("svg", { width: "18", height: "18", viewBox: "0 0 18 18", "aria-hidden": "true", fill: "none", className: "shrink-0", children: [
8402
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("circle", { cx: "9", cy: "9", r: "9", fill: "#29B6F6" }),
8403
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("path", { d: "M13.5 5.25 11.25 13.5l-2.25-3-3 1.5 1.5-5.25 6-1.5Z", fill: "white", opacity: "0.3" }),
8404
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("path", { d: "m4.5 8.625 7.5-3-1.125 7.125-2.625-2.25-1.5 1.5.375-3.375Z", fill: "white" })
8694
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
8695
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("svg", { width: "18", height: "18", viewBox: "0 0 18 18", "aria-hidden": "true", fill: "none", className: "shrink-0", children: [
8696
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("circle", { cx: "9", cy: "9", r: "9", fill: "#29B6F6" }),
8697
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("path", { d: "M13.5 5.25 11.25 13.5l-2.25-3-3 1.5 1.5-5.25 6-1.5Z", fill: "white", opacity: "0.3" }),
8698
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("path", { d: "m4.5 8.625 7.5-3-1.125 7.125-2.625-2.25-1.5 1.5.375-3.375Z", fill: "white" })
8405
8699
  ] }),
8406
8700
  "Continue with Telegram"
8407
8701
  ] });
8408
8702
  case "x":
8409
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
8410
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("svg", { width: "18", height: "18", viewBox: "0 0 18 18", "aria-hidden": "true", fill: "currentColor", className: "shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("path", { d: "M13.955 2.25h2.423L10.977 8.28 17.25 15.75h-4.812l-3.913-5.116-4.477 5.116H1.645l5.703-6.52L1.125 2.25h4.934l3.538 4.678 4.358-4.678Zm-.85 12.105h1.343L5.025 3.627H3.579l9.526 10.728Z" }) }),
8703
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
8704
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("svg", { width: "18", height: "18", viewBox: "0 0 18 18", "aria-hidden": "true", fill: "currentColor", className: "shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("path", { d: "M13.955 2.25h2.423L10.977 8.28 17.25 15.75h-4.812l-3.913-5.116-4.477 5.116H1.645l5.703-6.52L1.125 2.25h4.934l3.538 4.678 4.358-4.678Zm-.85 12.105h1.343L5.025 3.627H3.579l9.526 10.728Z" }) }),
8411
8705
  "Continue with X (Twitter)"
8412
8706
  ] });
8413
8707
  }
8414
8708
  }
8415
8709
 
8416
8710
  // components/blocks/navbar-block.tsx
8417
- var React22 = __toESM(require("react"), 1);
8711
+ var React23 = __toESM(require("react"), 1);
8418
8712
  var import_lucide_react33 = require("lucide-react");
8419
- var import_jsx_runtime65 = require("react/jsx-runtime");
8713
+ var import_jsx_runtime66 = require("react/jsx-runtime");
8420
8714
  function NavBarBlock({ brand, links, signIn, signUp }) {
8421
8715
  var _a, _b, _c, _d;
8422
- const [mobileMenuOpen, setMobileMenuOpen] = React22.useState(false);
8423
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "w-full border border-border-subtle rounded-md overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("nav", { className: "bg-prominent", children: [
8424
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center justify-between px-layout-margin-inline py-3", children: [
8425
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-6", children: [
8426
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
8716
+ const [mobileMenuOpen, setMobileMenuOpen] = React23.useState(false);
8717
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "w-full border border-border-subtle rounded-md overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("nav", { className: "bg-prominent", children: [
8718
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex items-center justify-between px-layout-margin-inline py-3", children: [
8719
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex items-center gap-6", children: [
8720
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
8427
8721
  "img",
8428
8722
  {
8429
8723
  src: brand.fullLogoSrc,
@@ -8431,7 +8725,7 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
8431
8725
  className: "hidden min-[600px]:block h-7 w-auto shrink-0 object-contain object-left"
8432
8726
  }
8433
8727
  ),
8434
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
8728
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
8435
8729
  "img",
8436
8730
  {
8437
8731
  src: brand.iconLogoSrc,
@@ -8439,13 +8733,13 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
8439
8733
  className: "min-[600px]:hidden size-7 shrink-0 object-contain"
8440
8734
  }
8441
8735
  ),
8442
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "hidden min-[600px]:flex items-center gap-1", children: links.map((l) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button, { variant: "tertiary", size: "sm", onClick: l.onClick, children: l.label }, l.label)) })
8736
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "hidden min-[600px]:flex items-center gap-1", children: links.map((l) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Button, { variant: "tertiary", size: "sm", onClick: l.onClick, children: l.label }, l.label)) })
8443
8737
  ] }),
8444
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "hidden min-[600px]:flex items-center gap-2", children: [
8445
- signIn && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button, { variant: "tertiary", size: "sm", onClick: signIn.onClick, children: (_a = signIn.label) != null ? _a : "Sign in" }),
8446
- signUp && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button, { size: "sm", onClick: signUp.onClick, children: (_b = signUp.label) != null ? _b : "Sign up" })
8738
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "hidden min-[600px]:flex items-center gap-2", children: [
8739
+ signIn && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Button, { variant: "tertiary", size: "sm", onClick: signIn.onClick, children: (_a = signIn.label) != null ? _a : "Sign in" }),
8740
+ signUp && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Button, { size: "sm", onClick: signUp.onClick, children: (_b = signUp.label) != null ? _b : "Sign up" })
8447
8741
  ] }),
8448
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
8742
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
8449
8743
  Button,
8450
8744
  {
8451
8745
  variant: "tertiary",
@@ -8454,12 +8748,12 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
8454
8748
  "aria-expanded": mobileMenuOpen,
8455
8749
  className: "min-[600px]:hidden",
8456
8750
  onClick: () => setMobileMenuOpen((prev) => !prev),
8457
- children: mobileMenuOpen ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react33.X, { className: "size-4" }) : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react33.Menu, { className: "size-4" })
8751
+ children: mobileMenuOpen ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react33.X, { className: "size-4" }) : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react33.Menu, { className: "size-4" })
8458
8752
  }
8459
8753
  )
8460
8754
  ] }),
8461
- mobileMenuOpen && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "min-[600px]:hidden flex flex-col border-t border-border-subtle px-layout-margin-inline py-3 gap-1", children: [
8462
- links.map((l) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
8755
+ mobileMenuOpen && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "min-[600px]:hidden flex flex-col border-t border-border-subtle px-layout-margin-inline py-3 gap-1", children: [
8756
+ links.map((l) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
8463
8757
  Button,
8464
8758
  {
8465
8759
  variant: "tertiary",
@@ -8470,9 +8764,9 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
8470
8764
  },
8471
8765
  l.label
8472
8766
  )),
8473
- (signIn || signUp) && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex flex-col gap-2 pt-3 mt-2 border-t border-border-subtle", children: [
8474
- signIn && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button, { variant: "secondary", size: "sm", className: "w-full", onClick: signIn.onClick, children: (_c = signIn.label) != null ? _c : "Sign in" }),
8475
- signUp && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button, { size: "sm", className: "w-full", onClick: signUp.onClick, children: (_d = signUp.label) != null ? _d : "Sign up" })
8767
+ (signIn || signUp) && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex flex-col gap-2 pt-3 mt-2 border-t border-border-subtle", children: [
8768
+ signIn && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Button, { variant: "secondary", size: "sm", className: "w-full", onClick: signIn.onClick, children: (_c = signIn.label) != null ? _c : "Sign in" }),
8769
+ signUp && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Button, { size: "sm", className: "w-full", onClick: signUp.onClick, children: (_d = signUp.label) != null ? _d : "Sign up" })
8476
8770
  ] })
8477
8771
  ] })
8478
8772
  ] }) });
@@ -8480,7 +8774,7 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
8480
8774
 
8481
8775
  // components/blocks/open-positions-block.tsx
8482
8776
  var import_lucide_react34 = require("lucide-react");
8483
- var import_jsx_runtime66 = require("react/jsx-runtime");
8777
+ var import_jsx_runtime67 = require("react/jsx-runtime");
8484
8778
  function OpenPositionsBlock({
8485
8779
  trigger,
8486
8780
  sheetTitle = "Positions",
@@ -8489,28 +8783,28 @@ function OpenPositionsBlock({
8489
8783
  emptyState
8490
8784
  }) {
8491
8785
  const isMobile = useIsMobile();
8492
- const body = positions.length === 0 ? emptyState != null ? emptyState : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(DefaultEmptyState, { onViewHistory }) : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(PositionsList, { positions, onViewHistory });
8786
+ const body = positions.length === 0 ? emptyState != null ? emptyState : /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(DefaultEmptyState, { onViewHistory }) : /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(PositionsList, { positions, onViewHistory });
8493
8787
  if (isMobile) {
8494
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(Drawer, { children: [
8495
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(DrawerTrigger, { asChild: true, children: trigger }),
8496
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(DrawerContent, { className: "p-0 flex flex-col", children: [
8497
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(DrawerHeader, { className: "flex-row items-center justify-between px-4 py-3 shrink-0 text-left", children: [
8498
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(DrawerTitle, { className: "text-base font-semibold font-display text-on-prominent", children: sheetTitle }),
8499
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(DrawerClose, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(NavigationButton, { size: "sm", "aria-label": "Close", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react34.X, {}) }) })
8788
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(Drawer, { children: [
8789
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(DrawerTrigger, { asChild: true, children: trigger }),
8790
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(DrawerContent, { className: "p-0 flex flex-col", children: [
8791
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(DrawerHeader, { className: "flex-row items-center justify-between px-4 py-3 shrink-0 text-left", children: [
8792
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(DrawerTitle, { className: "text-base font-semibold font-display text-on-prominent", children: sheetTitle }),
8793
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(DrawerClose, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(NavigationButton, { size: "sm", "aria-label": "Close", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_lucide_react34.X, {}) }) })
8500
8794
  ] }),
8501
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Separator, {}),
8795
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Separator, {}),
8502
8796
  body
8503
8797
  ] })
8504
8798
  ] });
8505
8799
  }
8506
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(Sheet, { children: [
8507
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(SheetTrigger, { asChild: true, children: trigger }),
8508
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(SheetContent, { side: "right", showCloseButton: false, className: "p-0 flex flex-col w-80 sm:max-w-xs", children: [
8509
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(SheetHeader, { className: "flex-row items-center justify-between px-4 py-3 shrink-0", children: [
8510
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(SheetTitle, { className: "text-base font-semibold font-display text-on-prominent", children: sheetTitle }),
8511
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(SheetClose, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(NavigationButton, { size: "sm", "aria-label": "Close", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react34.X, {}) }) })
8800
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(Sheet, { children: [
8801
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(SheetTrigger, { asChild: true, children: trigger }),
8802
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(SheetContent, { side: "right", showCloseButton: false, className: "p-0 flex flex-col w-80 sm:max-w-xs", children: [
8803
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(SheetHeader, { className: "flex-row items-center justify-between px-4 py-3 shrink-0", children: [
8804
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(SheetTitle, { className: "text-base font-semibold font-display text-on-prominent", children: sheetTitle }),
8805
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(SheetClose, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(NavigationButton, { size: "sm", "aria-label": "Close", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_lucide_react34.X, {}) }) })
8512
8806
  ] }),
8513
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Separator, {}),
8807
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Separator, {}),
8514
8808
  body
8515
8809
  ] })
8516
8810
  ] });
@@ -8519,23 +8813,23 @@ function PositionsList({
8519
8813
  positions,
8520
8814
  onViewHistory
8521
8815
  }) {
8522
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex flex-col flex-1 min-h-0", children: [
8523
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ItemGroup, { className: "min-h-0 overflow-y-auto", children: positions.map((pos, i) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(PositionRow, { position: pos }, i)) }),
8524
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Separator, {}),
8525
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "shrink-0 flex justify-center py-4", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Button, { variant: "tertiary", size: "md", onClick: onViewHistory, children: "View trade history" }) })
8816
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex flex-col flex-1 min-h-0", children: [
8817
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ItemGroup, { className: "min-h-0 overflow-y-auto", children: positions.map((pos, i) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(PositionRow, { position: pos }, i)) }),
8818
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Separator, {}),
8819
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "shrink-0 flex justify-center py-4", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Button, { variant: "tertiary", size: "md", onClick: onViewHistory, children: "View trade history" }) })
8526
8820
  ] });
8527
8821
  }
8528
8822
  function PositionRow({ position }) {
8529
8823
  const { label, suffix } = positionTitleParts(position);
8530
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(Item, { size: "sm", children: [
8531
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(ItemContent, { children: [
8532
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(ItemTitle, { children: [
8533
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "text-on-prominent", children: label }),
8534
- suffix && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "text-on-subtle", children: ` ${suffix}` })
8824
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(Item, { size: "sm", children: [
8825
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(ItemContent, { children: [
8826
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(ItemTitle, { children: [
8827
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "text-on-prominent", children: label }),
8828
+ suffix && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "text-on-subtle", children: ` ${suffix}` })
8535
8829
  ] }),
8536
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(MetaNote, { market: position.market, duration: position.duration })
8830
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(MetaNote, { market: position.market, duration: position.duration })
8537
8831
  ] }),
8538
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ItemActions, { children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(PnlMeta, { pnl: position.pnl, win: position.win, stake: position.stake }) })
8832
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ItemActions, { children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(PnlMeta, { pnl: position.pnl, win: position.win, stake: position.stake }) })
8539
8833
  ] });
8540
8834
  }
8541
8835
  var DIGITS_TYPE_LABEL = {
@@ -8561,29 +8855,29 @@ function positionTitleParts(p) {
8561
8855
  }
8562
8856
  }
8563
8857
  function MetaNote({ market, duration }) {
8564
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("span", { className: "text-xs text-on-subtle whitespace-nowrap", children: [
8858
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("span", { className: "text-xs text-on-subtle whitespace-nowrap", children: [
8565
8859
  market,
8566
8860
  " \xB7 ",
8567
8861
  duration
8568
8862
  ] });
8569
8863
  }
8570
8864
  function PnlMeta({ pnl, win, stake }) {
8571
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex flex-col items-end gap-0.5", children: [
8572
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: `font-display font-semibold tabular-nums text-base ${win ? "text-semantic-win" : "text-semantic-loss"}`, children: pnl }),
8573
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "tabular-nums text-xs text-on-subtle", children: stake })
8865
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex flex-col items-end gap-0.5", children: [
8866
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: `font-display font-semibold tabular-nums text-base ${win ? "text-semantic-win" : "text-semantic-loss"}`, children: pnl }),
8867
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "tabular-nums text-xs text-on-subtle", children: stake })
8574
8868
  ] });
8575
8869
  }
8576
8870
  function DefaultEmptyState({ onViewHistory }) {
8577
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Empty, { className: "flex min-h-0 flex-1 flex-col justify-center border-none rounded-none p-6 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(EmptyHeader, { className: "gap-4", children: [
8578
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(EmptyMedia, { children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react34.History, { className: "size-8 text-on-subtle" }) }),
8579
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(EmptyTitle, { className: "h6 text-on-subtle", children: "No trades yet." }),
8580
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Button, { variant: "tertiary", size: "md", onClick: onViewHistory, children: "View trade history" })
8871
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Empty, { className: "flex min-h-0 flex-1 flex-col justify-center border-none rounded-none p-6 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(EmptyHeader, { className: "gap-4", children: [
8872
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(EmptyMedia, { children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_lucide_react34.History, { className: "size-8 text-on-subtle" }) }),
8873
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(EmptyTitle, { className: "h6 text-on-subtle", children: "No trades yet." }),
8874
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Button, { variant: "tertiary", size: "md", onClick: onViewHistory, children: "View trade history" })
8581
8875
  ] }) });
8582
8876
  }
8583
8877
 
8584
8878
  // components/blocks/game-loading-block.tsx
8585
- var React23 = __toESM(require("react"), 1);
8586
- var import_jsx_runtime67 = require("react/jsx-runtime");
8879
+ var React24 = __toESM(require("react"), 1);
8880
+ var import_jsx_runtime68 = require("react/jsx-runtime");
8587
8881
  function useSmoothProgress({
8588
8882
  checkpoints,
8589
8883
  reached,
@@ -8593,19 +8887,19 @@ function useSmoothProgress({
8593
8887
  readyLabel = "Ready"
8594
8888
  }) {
8595
8889
  var _a, _b;
8596
- const [progress, setProgress] = React23.useState(0);
8597
- const [delayed, setDelayed] = React23.useState(false);
8598
- const checkpointsRef = React23.useRef(checkpoints);
8599
- const reachedRef = React23.useRef(reached);
8600
- const doneRef = React23.useRef(done);
8601
- React23.useEffect(() => {
8890
+ const [progress, setProgress] = React24.useState(0);
8891
+ const [delayed, setDelayed] = React24.useState(false);
8892
+ const checkpointsRef = React24.useRef(checkpoints);
8893
+ const reachedRef = React24.useRef(reached);
8894
+ const doneRef = React24.useRef(done);
8895
+ React24.useEffect(() => {
8602
8896
  checkpointsRef.current = checkpoints;
8603
8897
  reachedRef.current = reached;
8604
8898
  doneRef.current = done;
8605
8899
  });
8606
- const progressRef = React23.useRef(0);
8607
- const lastAdvanceRef = React23.useRef(0);
8608
- React23.useEffect(() => {
8900
+ const progressRef = React24.useRef(0);
8901
+ const lastAdvanceRef = React24.useRef(0);
8902
+ React24.useEffect(() => {
8609
8903
  let raf = 0;
8610
8904
  let last = 0;
8611
8905
  const tick = (ts) => {
@@ -8659,14 +8953,14 @@ function GameLoadingBlock({
8659
8953
  backgroundImageUrl,
8660
8954
  className
8661
8955
  }) {
8662
- const [go, setGo] = React23.useState(false);
8663
- const [reduced, setReduced] = React23.useState(false);
8664
- React23.useEffect(() => {
8956
+ const [go, setGo] = React24.useState(false);
8957
+ const [reduced, setReduced] = React24.useState(false);
8958
+ React24.useEffect(() => {
8665
8959
  if (typeof window !== "undefined" && typeof window.matchMedia === "function") {
8666
8960
  setReduced(window.matchMedia("(prefers-reduced-motion: reduce)").matches);
8667
8961
  }
8668
8962
  }, []);
8669
- React23.useEffect(() => {
8963
+ React24.useEffect(() => {
8670
8964
  if (!exiting) return;
8671
8965
  const raf = requestAnimationFrame(() => setGo(true));
8672
8966
  const timer = setTimeout(() => onExitEnd == null ? void 0 : onExitEnd(), reduced ? 240 : 700);
@@ -8678,7 +8972,7 @@ function GameLoadingBlock({
8678
8972
  const isAbsolute = exiting || contained;
8679
8973
  const punched = Boolean(logoSrc);
8680
8974
  const animate = exiting && go && !reduced;
8681
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
8975
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
8682
8976
  "div",
8683
8977
  {
8684
8978
  role: "status",
@@ -8694,7 +8988,7 @@ function GameLoadingBlock({
8694
8988
  className
8695
8989
  ),
8696
8990
  children: [
8697
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
8991
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
8698
8992
  "div",
8699
8993
  {
8700
8994
  "aria-hidden": "true",
@@ -8712,7 +9006,7 @@ function GameLoadingBlock({
8712
9006
  } : null)
8713
9007
  }
8714
9008
  ),
8715
- logoSrc && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
9009
+ logoSrc && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
8716
9010
  "img",
8717
9011
  {
8718
9012
  src: logoSrc,
@@ -8721,16 +9015,16 @@ function GameLoadingBlock({
8721
9015
  className: cn("game-loader-mark", animate && "game-loader-mark-exit")
8722
9016
  }
8723
9017
  ),
8724
- !exiting && /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "absolute bottom-10 left-1/2 flex w-[200px] -translate-x-1/2 flex-col items-start gap-3.5", children: [
8725
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "relative h-2 w-full overflow-hidden rounded-xs bg-background-secondary-surface", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
9018
+ !exiting && /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "absolute bottom-10 left-1/2 flex w-[200px] -translate-x-1/2 flex-col items-start gap-3.5", children: [
9019
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "relative h-2 w-full overflow-hidden rounded-xs bg-background-secondary-surface", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
8726
9020
  "div",
8727
9021
  {
8728
9022
  className: "absolute inset-y-0 left-0 overflow-hidden rounded-xs bg-background-brand-default",
8729
9023
  style: { width: `${progress}%` },
8730
- children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { "aria-hidden": "true", className: "game-loader-shimmer absolute inset-y-0 left-[-60%] w-[60%]" })
9024
+ children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { "aria-hidden": "true", className: "game-loader-shimmer absolute inset-y-0 left-[-60%] w-[60%]" })
8731
9025
  }
8732
9026
  ) }),
8733
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "caption text-text-subtle-default", children: delayed ? "Taking longer than usual\u2026" : label })
9027
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { className: "caption text-text-subtle-default", children: delayed ? "Taking longer than usual\u2026" : label })
8734
9028
  ] })
8735
9029
  ]
8736
9030
  }
@@ -8817,6 +9111,7 @@ function GameLoadingBlock({
8817
9111
  ContextMenuSubContent,
8818
9112
  ContextMenuSubTrigger,
8819
9113
  ContextMenuTrigger,
9114
+ DateWheelPicker,
8820
9115
  Dialog,
8821
9116
  DialogClose,
8822
9117
  DialogContent,