@trading-game/design-intelligence-layer 1.1.0 → 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,
@@ -3349,25 +3350,297 @@ function ContextMenuShortcut(_a) {
3349
3350
  );
3350
3351
  }
3351
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
+
3352
3625
  // components/ui/drawer.tsx
3353
3626
  var import_lucide_react14 = require("lucide-react");
3354
3627
  var import_vaul = require("vaul");
3355
- var import_jsx_runtime23 = require("react/jsx-runtime");
3628
+ var import_jsx_runtime24 = require("react/jsx-runtime");
3356
3629
  function Drawer(_a) {
3357
3630
  var props = __objRest(_a, []);
3358
- 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));
3359
3632
  }
3360
3633
  function DrawerTrigger(_a) {
3361
3634
  var props = __objRest(_a, []);
3362
- 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));
3363
3636
  }
3364
3637
  function DrawerPortal(_a) {
3365
3638
  var props = __objRest(_a, []);
3366
- 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));
3367
3640
  }
3368
3641
  function DrawerClose(_a) {
3369
3642
  var props = __objRest(_a, []);
3370
- 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));
3371
3644
  }
3372
3645
  function DrawerOverlay(_a) {
3373
3646
  var _b = _a, {
@@ -3375,7 +3648,7 @@ function DrawerOverlay(_a) {
3375
3648
  } = _b, props = __objRest(_b, [
3376
3649
  "className"
3377
3650
  ]);
3378
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3651
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3379
3652
  import_vaul.Drawer.Overlay,
3380
3653
  __spreadValues({
3381
3654
  "data-slot": "drawer-overlay",
@@ -3396,9 +3669,9 @@ function DrawerContent(_a) {
3396
3669
  "children",
3397
3670
  "dismiss"
3398
3671
  ]);
3399
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(DrawerPortal, { "data-slot": "drawer-portal", children: [
3400
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DrawerOverlay, {}),
3401
- /* @__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)(
3402
3675
  import_vaul.Drawer.Content,
3403
3676
  __spreadProps(__spreadValues({
3404
3677
  "data-slot": "drawer-content",
@@ -3412,13 +3685,13 @@ function DrawerContent(_a) {
3412
3685
  )
3413
3686
  }, props), {
3414
3687
  children: [
3415
- 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)(
3416
3689
  NavigationButton,
3417
3690
  {
3418
3691
  "data-slot": "drawer-close",
3419
3692
  size: "sm",
3420
3693
  "aria-label": "Close",
3421
- 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" })
3422
3695
  }
3423
3696
  ) }) }),
3424
3697
  children
@@ -3429,7 +3702,7 @@ function DrawerContent(_a) {
3429
3702
  }
3430
3703
  function DrawerHeader(_a) {
3431
3704
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3432
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3705
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3433
3706
  "div",
3434
3707
  __spreadValues({
3435
3708
  "data-slot": "drawer-header",
@@ -3442,7 +3715,7 @@ function DrawerHeader(_a) {
3442
3715
  }
3443
3716
  function DrawerFooter(_a) {
3444
3717
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3445
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3718
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3446
3719
  "div",
3447
3720
  __spreadValues({
3448
3721
  "data-slot": "drawer-footer",
@@ -3456,7 +3729,7 @@ function DrawerTitle(_a) {
3456
3729
  } = _b, props = __objRest(_b, [
3457
3730
  "className"
3458
3731
  ]);
3459
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3732
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3460
3733
  import_vaul.Drawer.Title,
3461
3734
  __spreadValues({
3462
3735
  "data-slot": "drawer-title",
@@ -3470,7 +3743,7 @@ function DrawerDescription(_a) {
3470
3743
  } = _b, props = __objRest(_b, [
3471
3744
  "className"
3472
3745
  ]);
3473
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3746
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3474
3747
  import_vaul.Drawer.Description,
3475
3748
  __spreadValues({
3476
3749
  "data-slot": "drawer-description",
@@ -3482,18 +3755,18 @@ function DrawerDescription(_a) {
3482
3755
  // components/ui/dropdown-menu.tsx
3483
3756
  var import_lucide_react15 = require("lucide-react");
3484
3757
  var import_radix_ui14 = require("radix-ui");
3485
- var import_jsx_runtime24 = require("react/jsx-runtime");
3758
+ var import_jsx_runtime25 = require("react/jsx-runtime");
3486
3759
  function DropdownMenu(_a) {
3487
3760
  var props = __objRest(_a, []);
3488
- 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));
3489
3762
  }
3490
3763
  function DropdownMenuPortal(_a) {
3491
3764
  var props = __objRest(_a, []);
3492
- 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));
3493
3766
  }
3494
3767
  function DropdownMenuTrigger(_a) {
3495
3768
  var props = __objRest(_a, []);
3496
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3769
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3497
3770
  import_radix_ui14.DropdownMenu.Trigger,
3498
3771
  __spreadValues({
3499
3772
  "data-slot": "dropdown-menu-trigger"
@@ -3508,7 +3781,7 @@ function DropdownMenuContent(_a) {
3508
3781
  "className",
3509
3782
  "sideOffset"
3510
3783
  ]);
3511
- 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)(
3512
3785
  import_radix_ui14.DropdownMenu.Content,
3513
3786
  __spreadValues({
3514
3787
  "data-slot": "dropdown-menu-content",
@@ -3522,7 +3795,7 @@ function DropdownMenuContent(_a) {
3522
3795
  }
3523
3796
  function DropdownMenuGroup(_a) {
3524
3797
  var props = __objRest(_a, []);
3525
- 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));
3526
3799
  }
3527
3800
  function DropdownMenuItem(_a) {
3528
3801
  var _b = _a, {
@@ -3534,7 +3807,7 @@ function DropdownMenuItem(_a) {
3534
3807
  "inset",
3535
3808
  "variant"
3536
3809
  ]);
3537
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3810
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3538
3811
  import_radix_ui14.DropdownMenu.Item,
3539
3812
  __spreadValues({
3540
3813
  "data-slot": "dropdown-menu-item",
@@ -3557,7 +3830,7 @@ function DropdownMenuCheckboxItem(_a) {
3557
3830
  "children",
3558
3831
  "checked"
3559
3832
  ]);
3560
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
3833
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
3561
3834
  import_radix_ui14.DropdownMenu.CheckboxItem,
3562
3835
  __spreadProps(__spreadValues({
3563
3836
  "data-slot": "dropdown-menu-checkbox-item",
@@ -3568,7 +3841,7 @@ function DropdownMenuCheckboxItem(_a) {
3568
3841
  checked
3569
3842
  }, props), {
3570
3843
  children: [
3571
- /* @__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" }) }) }),
3572
3845
  children
3573
3846
  ]
3574
3847
  })
@@ -3576,7 +3849,7 @@ function DropdownMenuCheckboxItem(_a) {
3576
3849
  }
3577
3850
  function DropdownMenuRadioGroup(_a) {
3578
3851
  var props = __objRest(_a, []);
3579
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3852
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3580
3853
  import_radix_ui14.DropdownMenu.RadioGroup,
3581
3854
  __spreadValues({
3582
3855
  "data-slot": "dropdown-menu-radio-group"
@@ -3591,7 +3864,7 @@ function DropdownMenuRadioItem(_a) {
3591
3864
  "className",
3592
3865
  "children"
3593
3866
  ]);
3594
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
3867
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
3595
3868
  import_radix_ui14.DropdownMenu.RadioItem,
3596
3869
  __spreadProps(__spreadValues({
3597
3870
  "data-slot": "dropdown-menu-radio-item",
@@ -3601,7 +3874,7 @@ function DropdownMenuRadioItem(_a) {
3601
3874
  )
3602
3875
  }, props), {
3603
3876
  children: [
3604
- /* @__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" }) }) }),
3605
3878
  children
3606
3879
  ]
3607
3880
  })
@@ -3615,7 +3888,7 @@ function DropdownMenuLabel(_a) {
3615
3888
  "className",
3616
3889
  "inset"
3617
3890
  ]);
3618
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3891
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3619
3892
  import_radix_ui14.DropdownMenu.Label,
3620
3893
  __spreadValues({
3621
3894
  "data-slot": "dropdown-menu-label",
@@ -3633,7 +3906,7 @@ function DropdownMenuSeparator(_a) {
3633
3906
  } = _b, props = __objRest(_b, [
3634
3907
  "className"
3635
3908
  ]);
3636
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3909
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3637
3910
  import_radix_ui14.DropdownMenu.Separator,
3638
3911
  __spreadValues({
3639
3912
  "data-slot": "dropdown-menu-separator",
@@ -3647,7 +3920,7 @@ function DropdownMenuShortcut(_a) {
3647
3920
  } = _b, props = __objRest(_b, [
3648
3921
  "className"
3649
3922
  ]);
3650
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3923
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3651
3924
  "span",
3652
3925
  __spreadValues({
3653
3926
  "data-slot": "dropdown-menu-shortcut",
@@ -3660,7 +3933,7 @@ function DropdownMenuShortcut(_a) {
3660
3933
  }
3661
3934
  function DropdownMenuSub(_a) {
3662
3935
  var props = __objRest(_a, []);
3663
- 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));
3664
3937
  }
3665
3938
  function DropdownMenuSubTrigger(_a) {
3666
3939
  var _b = _a, {
@@ -3672,7 +3945,7 @@ function DropdownMenuSubTrigger(_a) {
3672
3945
  "inset",
3673
3946
  "children"
3674
3947
  ]);
3675
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
3948
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
3676
3949
  import_radix_ui14.DropdownMenu.SubTrigger,
3677
3950
  __spreadProps(__spreadValues({
3678
3951
  "data-slot": "dropdown-menu-sub-trigger",
@@ -3684,7 +3957,7 @@ function DropdownMenuSubTrigger(_a) {
3684
3957
  }, props), {
3685
3958
  children: [
3686
3959
  children,
3687
- /* @__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" })
3688
3961
  ]
3689
3962
  })
3690
3963
  );
@@ -3695,7 +3968,7 @@ function DropdownMenuSubContent(_a) {
3695
3968
  } = _b, props = __objRest(_b, [
3696
3969
  "className"
3697
3970
  ]);
3698
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3971
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3699
3972
  import_radix_ui14.DropdownMenu.SubContent,
3700
3973
  __spreadValues({
3701
3974
  "data-slot": "dropdown-menu-sub-content",
@@ -3709,10 +3982,10 @@ function DropdownMenuSubContent(_a) {
3709
3982
 
3710
3983
  // components/ui/empty.tsx
3711
3984
  var import_class_variance_authority6 = require("class-variance-authority");
3712
- var import_jsx_runtime25 = require("react/jsx-runtime");
3985
+ var import_jsx_runtime26 = require("react/jsx-runtime");
3713
3986
  function Empty(_a) {
3714
3987
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3715
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3988
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
3716
3989
  "div",
3717
3990
  __spreadValues({
3718
3991
  "data-slot": "empty",
@@ -3725,7 +3998,7 @@ function Empty(_a) {
3725
3998
  }
3726
3999
  function EmptyHeader(_a) {
3727
4000
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3728
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
4001
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
3729
4002
  "div",
3730
4003
  __spreadValues({
3731
4004
  "data-slot": "empty-header",
@@ -3758,7 +4031,7 @@ function EmptyMedia(_a) {
3758
4031
  "className",
3759
4032
  "variant"
3760
4033
  ]);
3761
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
4034
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
3762
4035
  "div",
3763
4036
  __spreadValues({
3764
4037
  "data-slot": "empty-icon",
@@ -3769,7 +4042,7 @@ function EmptyMedia(_a) {
3769
4042
  }
3770
4043
  function EmptyTitle(_a) {
3771
4044
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3772
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
4045
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
3773
4046
  "div",
3774
4047
  __spreadValues({
3775
4048
  "data-slot": "empty-title",
@@ -3779,7 +4052,7 @@ function EmptyTitle(_a) {
3779
4052
  }
3780
4053
  function EmptyDescription(_a) {
3781
4054
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3782
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
4055
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
3783
4056
  "div",
3784
4057
  __spreadValues({
3785
4058
  "data-slot": "empty-description",
@@ -3792,7 +4065,7 @@ function EmptyDescription(_a) {
3792
4065
  }
3793
4066
  function EmptyContent(_a) {
3794
4067
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3795
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
4068
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
3796
4069
  "div",
3797
4070
  __spreadValues({
3798
4071
  "data-slot": "empty-content",
@@ -3805,20 +4078,20 @@ function EmptyContent(_a) {
3805
4078
  }
3806
4079
 
3807
4080
  // components/ui/field.tsx
3808
- var React7 = __toESM(require("react"), 1);
4081
+ var React8 = __toESM(require("react"), 1);
3809
4082
  var import_react = require("react");
3810
4083
  var import_class_variance_authority7 = require("class-variance-authority");
3811
4084
 
3812
4085
  // components/ui/label.tsx
3813
4086
  var import_radix_ui15 = require("radix-ui");
3814
- var import_jsx_runtime26 = require("react/jsx-runtime");
4087
+ var import_jsx_runtime27 = require("react/jsx-runtime");
3815
4088
  function Label(_a) {
3816
4089
  var _b = _a, {
3817
4090
  className
3818
4091
  } = _b, props = __objRest(_b, [
3819
4092
  "className"
3820
4093
  ]);
3821
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
4094
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
3822
4095
  import_radix_ui15.Label.Root,
3823
4096
  __spreadValues({
3824
4097
  "data-slot": "label",
@@ -3834,7 +4107,7 @@ function Label(_a) {
3834
4107
 
3835
4108
  // components/ui/separator.tsx
3836
4109
  var import_radix_ui16 = require("radix-ui");
3837
- var import_jsx_runtime27 = require("react/jsx-runtime");
4110
+ var import_jsx_runtime28 = require("react/jsx-runtime");
3838
4111
  function Separator(_a) {
3839
4112
  var _b = _a, {
3840
4113
  className,
@@ -3845,7 +4118,7 @@ function Separator(_a) {
3845
4118
  "orientation",
3846
4119
  "decorative"
3847
4120
  ]);
3848
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4121
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
3849
4122
  import_radix_ui16.Separator.Root,
3850
4123
  __spreadValues({
3851
4124
  "data-slot": "separator",
@@ -3860,10 +4133,10 @@ function Separator(_a) {
3860
4133
  }
3861
4134
 
3862
4135
  // components/ui/field.tsx
3863
- var import_jsx_runtime28 = require("react/jsx-runtime");
3864
- var FieldSizeContext = React7.createContext("md");
4136
+ var import_jsx_runtime29 = require("react/jsx-runtime");
4137
+ var FieldSizeContext = React8.createContext("md");
3865
4138
  function useFieldSize() {
3866
- return React7.useContext(FieldSizeContext);
4139
+ return React8.useContext(FieldSizeContext);
3867
4140
  }
3868
4141
  var fieldLabelType = {
3869
4142
  sm: "type-field-label-sm",
@@ -3872,7 +4145,7 @@ var fieldLabelType = {
3872
4145
  };
3873
4146
  function FieldSet(_a) {
3874
4147
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3875
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
4148
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3876
4149
  "fieldset",
3877
4150
  __spreadValues({
3878
4151
  "data-slot": "field-set",
@@ -3892,7 +4165,7 @@ function FieldLegend(_a) {
3892
4165
  "className",
3893
4166
  "variant"
3894
4167
  ]);
3895
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
4168
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3896
4169
  "legend",
3897
4170
  __spreadValues({
3898
4171
  "data-slot": "field-legend",
@@ -3909,7 +4182,7 @@ function FieldLegend(_a) {
3909
4182
  }
3910
4183
  function FieldGroup(_a) {
3911
4184
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3912
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
4185
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3913
4186
  "div",
3914
4187
  __spreadValues({
3915
4188
  "data-slot": "field-group",
@@ -3959,7 +4232,7 @@ function Field(_a) {
3959
4232
  "orientation",
3960
4233
  "size"
3961
4234
  ]);
3962
- 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)(
3963
4236
  "div",
3964
4237
  __spreadValues({
3965
4238
  role: "group",
@@ -3972,7 +4245,7 @@ function Field(_a) {
3972
4245
  }
3973
4246
  function FieldContent(_a) {
3974
4247
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3975
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
4248
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3976
4249
  "div",
3977
4250
  __spreadValues({
3978
4251
  "data-slot": "field-content",
@@ -3990,7 +4263,7 @@ function FieldLabel(_a) {
3990
4263
  "className"
3991
4264
  ]);
3992
4265
  const size = useFieldSize();
3993
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
4266
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3994
4267
  Label,
3995
4268
  __spreadValues({
3996
4269
  "data-slot": "field-label",
@@ -4007,7 +4280,7 @@ function FieldLabel(_a) {
4007
4280
  function FieldTitle(_a) {
4008
4281
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4009
4282
  const size = useFieldSize();
4010
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
4283
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
4011
4284
  "div",
4012
4285
  __spreadValues({
4013
4286
  "data-slot": "field-label",
@@ -4021,7 +4294,7 @@ function FieldTitle(_a) {
4021
4294
  }
4022
4295
  function FieldDescription(_a) {
4023
4296
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4024
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
4297
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
4025
4298
  "p",
4026
4299
  __spreadValues({
4027
4300
  "data-slot": "field-description",
@@ -4042,7 +4315,7 @@ function FieldSeparator(_a) {
4042
4315
  "children",
4043
4316
  "className"
4044
4317
  ]);
4045
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
4318
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
4046
4319
  "div",
4047
4320
  __spreadProps(__spreadValues({
4048
4321
  "data-slot": "field-separator",
@@ -4053,8 +4326,8 @@ function FieldSeparator(_a) {
4053
4326
  )
4054
4327
  }, props), {
4055
4328
  children: [
4056
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Separator, { className: "absolute inset-0 top-1/2" }),
4057
- 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)(
4058
4331
  "span",
4059
4332
  {
4060
4333
  className: "relative mx-auto block w-fit bg-background-primary-surface px-2 text-text-subtle-default",
@@ -4090,14 +4363,14 @@ function FieldError(_a) {
4090
4363
  if ((uniqueErrors == null ? void 0 : uniqueErrors.length) == 1) {
4091
4364
  return (_a2 = uniqueErrors[0]) == null ? void 0 : _a2.message;
4092
4365
  }
4093
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: uniqueErrors.map(
4094
- (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)
4095
4368
  ) });
4096
4369
  }, [children, errors]);
4097
4370
  if (!content) {
4098
4371
  return null;
4099
4372
  }
4100
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
4373
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
4101
4374
  "div",
4102
4375
  __spreadProps(__spreadValues({
4103
4376
  role: "alert",
@@ -4111,14 +4384,14 @@ function FieldError(_a) {
4111
4384
 
4112
4385
  // components/ui/hover-card.tsx
4113
4386
  var import_radix_ui17 = require("radix-ui");
4114
- var import_jsx_runtime29 = require("react/jsx-runtime");
4387
+ var import_jsx_runtime30 = require("react/jsx-runtime");
4115
4388
  function HoverCard(_a) {
4116
4389
  var props = __objRest(_a, []);
4117
- 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));
4118
4391
  }
4119
4392
  function HoverCardTrigger(_a) {
4120
4393
  var props = __objRest(_a, []);
4121
- 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));
4122
4395
  }
4123
4396
  function HoverCardContent(_a) {
4124
4397
  var _b = _a, {
@@ -4130,7 +4403,7 @@ function HoverCardContent(_a) {
4130
4403
  "align",
4131
4404
  "sideOffset"
4132
4405
  ]);
4133
- 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)(
4134
4407
  import_radix_ui17.HoverCard.Content,
4135
4408
  __spreadValues({
4136
4409
  "data-slot": "hover-card-content",
@@ -4146,7 +4419,7 @@ function HoverCardContent(_a) {
4146
4419
 
4147
4420
  // components/ui/input.tsx
4148
4421
  var import_class_variance_authority8 = require("class-variance-authority");
4149
- var import_jsx_runtime30 = require("react/jsx-runtime");
4422
+ var import_jsx_runtime31 = require("react/jsx-runtime");
4150
4423
  var inputVariants = (0, import_class_variance_authority8.cva)(
4151
4424
  [
4152
4425
  "w-full min-w-0 rounded-xs border font-body transition-[color,box-shadow] outline-none",
@@ -4217,7 +4490,7 @@ function Input(_a) {
4217
4490
  ]);
4218
4491
  const fieldSize = useFieldSize();
4219
4492
  const resolvedSize = size != null ? size : fieldSize;
4220
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
4493
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
4221
4494
  "input",
4222
4495
  __spreadValues({
4223
4496
  type,
@@ -4230,14 +4503,14 @@ function Input(_a) {
4230
4503
  }
4231
4504
 
4232
4505
  // components/ui/input-group.tsx
4233
- var React8 = __toESM(require("react"), 1);
4506
+ var React9 = __toESM(require("react"), 1);
4234
4507
  var import_class_variance_authority9 = require("class-variance-authority");
4235
4508
 
4236
4509
  // components/ui/textarea.tsx
4237
- var import_jsx_runtime31 = require("react/jsx-runtime");
4510
+ var import_jsx_runtime32 = require("react/jsx-runtime");
4238
4511
  function Textarea(_a) {
4239
4512
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4240
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
4513
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
4241
4514
  "textarea",
4242
4515
  __spreadValues({
4243
4516
  "data-slot": "textarea",
@@ -4250,9 +4523,9 @@ function Textarea(_a) {
4250
4523
  }
4251
4524
 
4252
4525
  // components/ui/input-group.tsx
4253
- var import_jsx_runtime32 = require("react/jsx-runtime");
4254
- var InputGroupSizeContext = React8.createContext("md");
4255
- 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");
4256
4529
  var inputGroupVariants = (0, import_class_variance_authority9.cva)(
4257
4530
  [
4258
4531
  "group/input-group relative flex w-full items-center rounded-xs border",
@@ -4311,11 +4584,11 @@ function InputGroup(_a) {
4311
4584
  ]);
4312
4585
  const fieldSize = useFieldSize();
4313
4586
  const resolvedSize = size != null ? size : fieldSize;
4314
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
4587
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
4315
4588
  InputGroupVariantContext.Provider,
4316
4589
  {
4317
4590
  value: variant,
4318
- 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)(
4319
4592
  "div",
4320
4593
  __spreadValues({
4321
4594
  "data-slot": "input-group",
@@ -4370,7 +4643,7 @@ function InputGroupAddon(_a) {
4370
4643
  "className",
4371
4644
  "align"
4372
4645
  ]);
4373
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
4646
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
4374
4647
  "div",
4375
4648
  __spreadValues({
4376
4649
  role: "group",
@@ -4417,7 +4690,7 @@ function InputGroupButton(_a) {
4417
4690
  "variant",
4418
4691
  "size"
4419
4692
  ]);
4420
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
4693
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
4421
4694
  Button,
4422
4695
  __spreadValues({
4423
4696
  type,
@@ -4430,7 +4703,7 @@ function InputGroupButton(_a) {
4430
4703
  }
4431
4704
  function InputGroupText(_a) {
4432
4705
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4433
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
4706
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
4434
4707
  "span",
4435
4708
  __spreadValues({
4436
4709
  className: cn(
@@ -4459,11 +4732,11 @@ function InputGroupInput(_a) {
4459
4732
  "size",
4460
4733
  "variant"
4461
4734
  ]);
4462
- const groupSize = React8.useContext(InputGroupSizeContext);
4463
- const groupVariant = React8.useContext(InputGroupVariantContext);
4735
+ const groupSize = React9.useContext(InputGroupSizeContext);
4736
+ const groupVariant = React9.useContext(InputGroupVariantContext);
4464
4737
  const size = sizeProp != null ? sizeProp : groupSize;
4465
4738
  const variant = variantProp != null ? variantProp : groupVariant;
4466
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
4739
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
4467
4740
  Input,
4468
4741
  __spreadValues({
4469
4742
  "data-slot": "input-group-control",
@@ -4482,7 +4755,7 @@ function InputGroupTextarea(_a) {
4482
4755
  } = _b, props = __objRest(_b, [
4483
4756
  "className"
4484
4757
  ]);
4485
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
4758
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
4486
4759
  Textarea,
4487
4760
  __spreadValues({
4488
4761
  "data-slot": "input-group-control",
@@ -4495,10 +4768,10 @@ function InputGroupTextarea(_a) {
4495
4768
  }
4496
4769
 
4497
4770
  // components/ui/input-otp.tsx
4498
- var React9 = __toESM(require("react"), 1);
4771
+ var React10 = __toESM(require("react"), 1);
4499
4772
  var import_input_otp = require("input-otp");
4500
4773
  var import_lucide_react16 = require("lucide-react");
4501
- var import_jsx_runtime33 = require("react/jsx-runtime");
4774
+ var import_jsx_runtime34 = require("react/jsx-runtime");
4502
4775
  function InputOTP(_a) {
4503
4776
  var _b = _a, {
4504
4777
  className,
@@ -4507,7 +4780,7 @@ function InputOTP(_a) {
4507
4780
  "className",
4508
4781
  "containerClassName"
4509
4782
  ]);
4510
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
4783
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
4511
4784
  import_input_otp.OTPInput,
4512
4785
  __spreadValues({
4513
4786
  "data-slot": "input-otp",
@@ -4521,7 +4794,7 @@ function InputOTP(_a) {
4521
4794
  }
4522
4795
  function InputOTPGroup(_a) {
4523
4796
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4524
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
4797
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
4525
4798
  "div",
4526
4799
  __spreadValues({
4527
4800
  "data-slot": "input-otp-group",
@@ -4538,9 +4811,9 @@ function InputOTPSlot(_a) {
4538
4811
  "className"
4539
4812
  ]);
4540
4813
  var _a2;
4541
- const inputOTPContext = React9.useContext(import_input_otp.OTPInputContext);
4814
+ const inputOTPContext = React10.useContext(import_input_otp.OTPInputContext);
4542
4815
  const { char, hasFakeCaret, isActive } = (_a2 = inputOTPContext == null ? void 0 : inputOTPContext.slots[index]) != null ? _a2 : {};
4543
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
4816
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
4544
4817
  "div",
4545
4818
  __spreadProps(__spreadValues({
4546
4819
  "data-slot": "input-otp-slot",
@@ -4552,20 +4825,20 @@ function InputOTPSlot(_a) {
4552
4825
  }, props), {
4553
4826
  children: [
4554
4827
  char,
4555
- 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" }) })
4556
4829
  ]
4557
4830
  })
4558
4831
  );
4559
4832
  }
4560
4833
  function InputOTPSeparator(_a) {
4561
4834
  var props = __objRest(_a, []);
4562
- 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, {}) }));
4563
4836
  }
4564
4837
 
4565
4838
  // components/ui/item.tsx
4566
4839
  var import_class_variance_authority10 = require("class-variance-authority");
4567
4840
  var import_radix_ui18 = require("radix-ui");
4568
- var import_jsx_runtime34 = require("react/jsx-runtime");
4841
+ var import_jsx_runtime35 = require("react/jsx-runtime");
4569
4842
  function ItemGroup(_a) {
4570
4843
  var _b = _a, {
4571
4844
  className,
@@ -4574,7 +4847,7 @@ function ItemGroup(_a) {
4574
4847
  "className",
4575
4848
  "divider"
4576
4849
  ]);
4577
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
4850
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4578
4851
  "div",
4579
4852
  __spreadValues({
4580
4853
  role: "list",
@@ -4607,7 +4880,7 @@ function ItemSeparator(_a) {
4607
4880
  } = _b, props = __objRest(_b, [
4608
4881
  "className"
4609
4882
  ]);
4610
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
4883
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4611
4884
  Separator,
4612
4885
  __spreadValues({
4613
4886
  "data-slot": "item-separator",
@@ -4658,7 +4931,7 @@ function Item(_a) {
4658
4931
  "asChild"
4659
4932
  ]);
4660
4933
  const Comp = asChild ? import_radix_ui18.Slot.Root : "div";
4661
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
4934
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4662
4935
  Comp,
4663
4936
  __spreadValues({
4664
4937
  "data-slot": "item",
@@ -4691,7 +4964,7 @@ function ItemMedia(_a) {
4691
4964
  "className",
4692
4965
  "variant"
4693
4966
  ]);
4694
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
4967
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4695
4968
  "div",
4696
4969
  __spreadValues({
4697
4970
  "data-slot": "item-media",
@@ -4702,7 +4975,7 @@ function ItemMedia(_a) {
4702
4975
  }
4703
4976
  function ItemContent(_a) {
4704
4977
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4705
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
4978
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4706
4979
  "div",
4707
4980
  __spreadValues({
4708
4981
  "data-slot": "item-content",
@@ -4715,7 +4988,7 @@ function ItemContent(_a) {
4715
4988
  }
4716
4989
  function ItemTitle(_a) {
4717
4990
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4718
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
4991
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4719
4992
  "div",
4720
4993
  __spreadValues({
4721
4994
  "data-slot": "item-title",
@@ -4728,7 +5001,7 @@ function ItemTitle(_a) {
4728
5001
  }
4729
5002
  function ItemDescription(_a) {
4730
5003
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4731
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5004
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4732
5005
  "p",
4733
5006
  __spreadValues({
4734
5007
  "data-slot": "item-description",
@@ -4742,7 +5015,7 @@ function ItemDescription(_a) {
4742
5015
  }
4743
5016
  function ItemActions(_a) {
4744
5017
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4745
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5018
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4746
5019
  "div",
4747
5020
  __spreadValues({
4748
5021
  "data-slot": "item-actions",
@@ -4752,7 +5025,7 @@ function ItemActions(_a) {
4752
5025
  }
4753
5026
  function ItemHeader(_a) {
4754
5027
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4755
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5028
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4756
5029
  "div",
4757
5030
  __spreadValues({
4758
5031
  "data-slot": "item-header",
@@ -4765,7 +5038,7 @@ function ItemHeader(_a) {
4765
5038
  }
4766
5039
  function ItemFooter(_a) {
4767
5040
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4768
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5041
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4769
5042
  "div",
4770
5043
  __spreadValues({
4771
5044
  "data-slot": "item-footer",
@@ -4780,7 +5053,7 @@ function ItemFooter(_a) {
4780
5053
  // components/ui/link.tsx
4781
5054
  var import_class_variance_authority11 = require("class-variance-authority");
4782
5055
  var import_radix_ui19 = require("radix-ui");
4783
- var import_jsx_runtime35 = require("react/jsx-runtime");
5056
+ var import_jsx_runtime36 = require("react/jsx-runtime");
4784
5057
  var linkVariants = (0, import_class_variance_authority11.cva)(
4785
5058
  [
4786
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",
@@ -4822,7 +5095,7 @@ function Link(_a) {
4822
5095
  "asChild"
4823
5096
  ]);
4824
5097
  const Comp = asChild ? import_radix_ui19.Slot.Root : "a";
4825
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
5098
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
4826
5099
  Comp,
4827
5100
  __spreadValues({
4828
5101
  "data-slot": "link",
@@ -4836,14 +5109,14 @@ function Link(_a) {
4836
5109
  // components/ui/menubar.tsx
4837
5110
  var import_lucide_react17 = require("lucide-react");
4838
5111
  var import_radix_ui20 = require("radix-ui");
4839
- var import_jsx_runtime36 = require("react/jsx-runtime");
5112
+ var import_jsx_runtime37 = require("react/jsx-runtime");
4840
5113
  function Menubar(_a) {
4841
5114
  var _b = _a, {
4842
5115
  className
4843
5116
  } = _b, props = __objRest(_b, [
4844
5117
  "className"
4845
5118
  ]);
4846
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
5119
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
4847
5120
  import_radix_ui20.Menubar.Root,
4848
5121
  __spreadValues({
4849
5122
  "data-slot": "menubar",
@@ -4856,19 +5129,19 @@ function Menubar(_a) {
4856
5129
  }
4857
5130
  function MenubarMenu(_a) {
4858
5131
  var props = __objRest(_a, []);
4859
- 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));
4860
5133
  }
4861
5134
  function MenubarGroup(_a) {
4862
5135
  var props = __objRest(_a, []);
4863
- 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));
4864
5137
  }
4865
5138
  function MenubarPortal(_a) {
4866
5139
  var props = __objRest(_a, []);
4867
- 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));
4868
5141
  }
4869
5142
  function MenubarRadioGroup(_a) {
4870
5143
  var props = __objRest(_a, []);
4871
- 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));
4872
5145
  }
4873
5146
  function MenubarTrigger(_a) {
4874
5147
  var _b = _a, {
@@ -4876,7 +5149,7 @@ function MenubarTrigger(_a) {
4876
5149
  } = _b, props = __objRest(_b, [
4877
5150
  "className"
4878
5151
  ]);
4879
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
5152
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
4880
5153
  import_radix_ui20.Menubar.Trigger,
4881
5154
  __spreadValues({
4882
5155
  "data-slot": "menubar-trigger",
@@ -4899,7 +5172,7 @@ function MenubarContent(_a) {
4899
5172
  "alignOffset",
4900
5173
  "sideOffset"
4901
5174
  ]);
4902
- 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)(
4903
5176
  import_radix_ui20.Menubar.Content,
4904
5177
  __spreadValues({
4905
5178
  "data-slot": "menubar-content",
@@ -4923,7 +5196,7 @@ function MenubarItem(_a) {
4923
5196
  "inset",
4924
5197
  "variant"
4925
5198
  ]);
4926
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
5199
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
4927
5200
  import_radix_ui20.Menubar.Item,
4928
5201
  __spreadValues({
4929
5202
  "data-slot": "menubar-item",
@@ -4946,7 +5219,7 @@ function MenubarCheckboxItem(_a) {
4946
5219
  "children",
4947
5220
  "checked"
4948
5221
  ]);
4949
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
5222
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
4950
5223
  import_radix_ui20.Menubar.CheckboxItem,
4951
5224
  __spreadProps(__spreadValues({
4952
5225
  "data-slot": "menubar-checkbox-item",
@@ -4957,7 +5230,7 @@ function MenubarCheckboxItem(_a) {
4957
5230
  checked
4958
5231
  }, props), {
4959
5232
  children: [
4960
- /* @__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" }) }) }),
4961
5234
  children
4962
5235
  ]
4963
5236
  })
@@ -4971,7 +5244,7 @@ function MenubarRadioItem(_a) {
4971
5244
  "className",
4972
5245
  "children"
4973
5246
  ]);
4974
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
5247
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
4975
5248
  import_radix_ui20.Menubar.RadioItem,
4976
5249
  __spreadProps(__spreadValues({
4977
5250
  "data-slot": "menubar-radio-item",
@@ -4981,7 +5254,7 @@ function MenubarRadioItem(_a) {
4981
5254
  )
4982
5255
  }, props), {
4983
5256
  children: [
4984
- /* @__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" }) }) }),
4985
5258
  children
4986
5259
  ]
4987
5260
  })
@@ -4995,7 +5268,7 @@ function MenubarLabel(_a) {
4995
5268
  "className",
4996
5269
  "inset"
4997
5270
  ]);
4998
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
5271
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
4999
5272
  import_radix_ui20.Menubar.Label,
5000
5273
  __spreadValues({
5001
5274
  "data-slot": "menubar-label",
@@ -5013,7 +5286,7 @@ function MenubarSeparator(_a) {
5013
5286
  } = _b, props = __objRest(_b, [
5014
5287
  "className"
5015
5288
  ]);
5016
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
5289
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
5017
5290
  import_radix_ui20.Menubar.Separator,
5018
5291
  __spreadValues({
5019
5292
  "data-slot": "menubar-separator",
@@ -5027,7 +5300,7 @@ function MenubarShortcut(_a) {
5027
5300
  } = _b, props = __objRest(_b, [
5028
5301
  "className"
5029
5302
  ]);
5030
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
5303
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
5031
5304
  "span",
5032
5305
  __spreadValues({
5033
5306
  "data-slot": "menubar-shortcut",
@@ -5040,7 +5313,7 @@ function MenubarShortcut(_a) {
5040
5313
  }
5041
5314
  function MenubarSub(_a) {
5042
5315
  var props = __objRest(_a, []);
5043
- 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));
5044
5317
  }
5045
5318
  function MenubarSubTrigger(_a) {
5046
5319
  var _b = _a, {
@@ -5052,7 +5325,7 @@ function MenubarSubTrigger(_a) {
5052
5325
  "inset",
5053
5326
  "children"
5054
5327
  ]);
5055
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
5328
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
5056
5329
  import_radix_ui20.Menubar.SubTrigger,
5057
5330
  __spreadProps(__spreadValues({
5058
5331
  "data-slot": "menubar-sub-trigger",
@@ -5064,7 +5337,7 @@ function MenubarSubTrigger(_a) {
5064
5337
  }, props), {
5065
5338
  children: [
5066
5339
  children,
5067
- /* @__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" })
5068
5341
  ]
5069
5342
  })
5070
5343
  );
@@ -5075,7 +5348,7 @@ function MenubarSubContent(_a) {
5075
5348
  } = _b, props = __objRest(_b, [
5076
5349
  "className"
5077
5350
  ]);
5078
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
5351
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
5079
5352
  import_radix_ui20.Menubar.SubContent,
5080
5353
  __spreadValues({
5081
5354
  "data-slot": "menubar-sub-content",
@@ -5089,7 +5362,7 @@ function MenubarSubContent(_a) {
5089
5362
 
5090
5363
  // components/ui/native-select.tsx
5091
5364
  var import_lucide_react18 = require("lucide-react");
5092
- var import_jsx_runtime37 = require("react/jsx-runtime");
5365
+ var import_jsx_runtime38 = require("react/jsx-runtime");
5093
5366
  var sizeClasses = {
5094
5367
  sm: "type-native-select-sm h-8 py-1",
5095
5368
  md: "type-native-select-md h-10 py-2",
@@ -5105,13 +5378,13 @@ function NativeSelect(_a) {
5105
5378
  ]);
5106
5379
  const fieldSize = useFieldSize();
5107
5380
  const resolvedSize = size === "default" || size == null ? size == null ? fieldSize : "md" : size;
5108
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
5381
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
5109
5382
  "div",
5110
5383
  {
5111
5384
  className: "group/native-select relative w-fit has-[select:disabled]:text-text-disabled-default",
5112
5385
  "data-slot": "native-select-wrapper",
5113
5386
  children: [
5114
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
5387
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5115
5388
  "select",
5116
5389
  __spreadValues({
5117
5390
  "data-slot": "native-select",
@@ -5124,7 +5397,7 @@ function NativeSelect(_a) {
5124
5397
  )
5125
5398
  }, props)
5126
5399
  ),
5127
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
5400
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5128
5401
  import_lucide_react18.ChevronDownIcon,
5129
5402
  {
5130
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",
@@ -5138,7 +5411,7 @@ function NativeSelect(_a) {
5138
5411
  }
5139
5412
  function NativeSelectOption(_a) {
5140
5413
  var props = __objRest(_a, []);
5141
- 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));
5142
5415
  }
5143
5416
  function NativeSelectOptGroup(_a) {
5144
5417
  var _b = _a, {
@@ -5146,7 +5419,7 @@ function NativeSelectOptGroup(_a) {
5146
5419
  } = _b, props = __objRest(_b, [
5147
5420
  "className"
5148
5421
  ]);
5149
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
5422
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5150
5423
  "optgroup",
5151
5424
  __spreadValues({
5152
5425
  "data-slot": "native-select-optgroup",
@@ -5159,7 +5432,7 @@ function NativeSelectOptGroup(_a) {
5159
5432
  var import_class_variance_authority12 = require("class-variance-authority");
5160
5433
  var import_lucide_react19 = require("lucide-react");
5161
5434
  var import_radix_ui21 = require("radix-ui");
5162
- var import_jsx_runtime38 = require("react/jsx-runtime");
5435
+ var import_jsx_runtime39 = require("react/jsx-runtime");
5163
5436
  function NavigationMenu(_a) {
5164
5437
  var _b = _a, {
5165
5438
  className,
@@ -5170,7 +5443,7 @@ function NavigationMenu(_a) {
5170
5443
  "children",
5171
5444
  "viewport"
5172
5445
  ]);
5173
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
5446
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
5174
5447
  import_radix_ui21.NavigationMenu.Root,
5175
5448
  __spreadProps(__spreadValues({
5176
5449
  "data-slot": "navigation-menu",
@@ -5182,7 +5455,7 @@ function NavigationMenu(_a) {
5182
5455
  }, props), {
5183
5456
  children: [
5184
5457
  children,
5185
- viewport && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(NavigationMenuViewport, {})
5458
+ viewport && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(NavigationMenuViewport, {})
5186
5459
  ]
5187
5460
  })
5188
5461
  );
@@ -5193,7 +5466,7 @@ function NavigationMenuList(_a) {
5193
5466
  } = _b, props = __objRest(_b, [
5194
5467
  "className"
5195
5468
  ]);
5196
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5469
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
5197
5470
  import_radix_ui21.NavigationMenu.List,
5198
5471
  __spreadValues({
5199
5472
  "data-slot": "navigation-menu-list",
@@ -5210,7 +5483,7 @@ function NavigationMenuItem(_a) {
5210
5483
  } = _b, props = __objRest(_b, [
5211
5484
  "className"
5212
5485
  ]);
5213
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5486
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
5214
5487
  import_radix_ui21.NavigationMenu.Item,
5215
5488
  __spreadValues({
5216
5489
  "data-slot": "navigation-menu-item",
@@ -5229,7 +5502,7 @@ function NavigationMenuTrigger(_a) {
5229
5502
  "className",
5230
5503
  "children"
5231
5504
  ]);
5232
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
5505
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
5233
5506
  import_radix_ui21.NavigationMenu.Trigger,
5234
5507
  __spreadProps(__spreadValues({
5235
5508
  "data-slot": "navigation-menu-trigger",
@@ -5238,7 +5511,7 @@ function NavigationMenuTrigger(_a) {
5238
5511
  children: [
5239
5512
  children,
5240
5513
  " ",
5241
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5514
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
5242
5515
  import_lucide_react19.ChevronDownIcon,
5243
5516
  {
5244
5517
  className: "relative top-[1px] ml-1 size-3 transition duration-slow group-data-[state=open]:rotate-180",
@@ -5255,7 +5528,7 @@ function NavigationMenuContent(_a) {
5255
5528
  } = _b, props = __objRest(_b, [
5256
5529
  "className"
5257
5530
  ]);
5258
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5531
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
5259
5532
  import_radix_ui21.NavigationMenu.Content,
5260
5533
  __spreadValues({
5261
5534
  "data-slot": "navigation-menu-content",
@@ -5273,13 +5546,13 @@ function NavigationMenuViewport(_a) {
5273
5546
  } = _b, props = __objRest(_b, [
5274
5547
  "className"
5275
5548
  ]);
5276
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5549
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
5277
5550
  "div",
5278
5551
  {
5279
5552
  className: cn(
5280
5553
  "absolute top-full left-0 isolate z-50 flex justify-center"
5281
5554
  ),
5282
- children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5555
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
5283
5556
  import_radix_ui21.NavigationMenu.Viewport,
5284
5557
  __spreadValues({
5285
5558
  "data-slot": "navigation-menu-viewport",
@@ -5298,7 +5571,7 @@ function NavigationMenuLink(_a) {
5298
5571
  } = _b, props = __objRest(_b, [
5299
5572
  "className"
5300
5573
  ]);
5301
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5574
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
5302
5575
  import_radix_ui21.NavigationMenu.Link,
5303
5576
  __spreadValues({
5304
5577
  "data-slot": "navigation-menu-link",
@@ -5315,7 +5588,7 @@ function NavigationMenuIndicator(_a) {
5315
5588
  } = _b, props = __objRest(_b, [
5316
5589
  "className"
5317
5590
  ]);
5318
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5591
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
5319
5592
  import_radix_ui21.NavigationMenu.Indicator,
5320
5593
  __spreadProps(__spreadValues({
5321
5594
  "data-slot": "navigation-menu-indicator",
@@ -5324,15 +5597,15 @@ function NavigationMenuIndicator(_a) {
5324
5597
  className
5325
5598
  )
5326
5599
  }, props), {
5327
- 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" })
5328
5601
  })
5329
5602
  );
5330
5603
  }
5331
5604
 
5332
5605
  // components/ui/numpad.tsx
5333
- var React10 = __toESM(require("react"), 1);
5606
+ var React11 = __toESM(require("react"), 1);
5334
5607
  var import_lucide_react20 = require("lucide-react");
5335
- var import_jsx_runtime39 = require("react/jsx-runtime");
5608
+ var import_jsx_runtime40 = require("react/jsx-runtime");
5336
5609
  var LONG_PRESS_MS = 600;
5337
5610
  function Numpad(_a) {
5338
5611
  var _b = _a, {
@@ -5348,8 +5621,8 @@ function Numpad(_a) {
5348
5621
  "decimal",
5349
5622
  "disabled"
5350
5623
  ]);
5351
- const holdTimer = React10.useRef(null);
5352
- const longPressFired = React10.useRef(false);
5624
+ const holdTimer = React11.useRef(null);
5625
+ const longPressFired = React11.useRef(false);
5353
5626
  const startHold = () => {
5354
5627
  longPressFired.current = false;
5355
5628
  holdTimer.current = setTimeout(() => {
@@ -5361,7 +5634,7 @@ function Numpad(_a) {
5361
5634
  if (holdTimer.current) clearTimeout(holdTimer.current);
5362
5635
  holdTimer.current = null;
5363
5636
  };
5364
- React10.useEffect(() => cancelHold, []);
5637
+ React11.useEffect(() => cancelHold, []);
5365
5638
  const keys = [
5366
5639
  "1",
5367
5640
  "2",
@@ -5376,7 +5649,7 @@ function Numpad(_a) {
5376
5649
  "0",
5377
5650
  "backspace"
5378
5651
  ];
5379
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
5652
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
5380
5653
  "div",
5381
5654
  __spreadProps(__spreadValues({
5382
5655
  "data-slot": "numpad",
@@ -5389,7 +5662,7 @@ function Numpad(_a) {
5389
5662
  )
5390
5663
  }, props), {
5391
5664
  children: keys.map(
5392
- (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)(
5393
5666
  "button",
5394
5667
  {
5395
5668
  type: "button",
@@ -5414,7 +5687,7 @@ function Numpad(_a) {
5414
5687
  }
5415
5688
  onKeyPress == null ? void 0 : onKeyPress(key);
5416
5689
  },
5417
- 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
5418
5691
  },
5419
5692
  key
5420
5693
  )
@@ -5425,14 +5698,14 @@ function Numpad(_a) {
5425
5698
 
5426
5699
  // components/ui/popover.tsx
5427
5700
  var import_radix_ui22 = require("radix-ui");
5428
- var import_jsx_runtime40 = require("react/jsx-runtime");
5701
+ var import_jsx_runtime41 = require("react/jsx-runtime");
5429
5702
  function Popover(_a) {
5430
5703
  var props = __objRest(_a, []);
5431
- 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));
5432
5705
  }
5433
5706
  function PopoverTrigger(_a) {
5434
5707
  var props = __objRest(_a, []);
5435
- 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));
5436
5709
  }
5437
5710
  function PopoverContent(_a) {
5438
5711
  var _b = _a, {
@@ -5444,7 +5717,7 @@ function PopoverContent(_a) {
5444
5717
  "align",
5445
5718
  "sideOffset"
5446
5719
  ]);
5447
- 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)(
5448
5721
  import_radix_ui22.Popover.Content,
5449
5722
  __spreadValues({
5450
5723
  "data-slot": "popover-content",
@@ -5459,11 +5732,11 @@ function PopoverContent(_a) {
5459
5732
  }
5460
5733
  function PopoverAnchor(_a) {
5461
5734
  var props = __objRest(_a, []);
5462
- 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));
5463
5736
  }
5464
5737
  function PopoverHeader(_a) {
5465
5738
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5466
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
5739
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
5467
5740
  "div",
5468
5741
  __spreadValues({
5469
5742
  "data-slot": "popover-header",
@@ -5473,7 +5746,7 @@ function PopoverHeader(_a) {
5473
5746
  }
5474
5747
  function PopoverTitle(_a) {
5475
5748
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5476
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
5749
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
5477
5750
  "div",
5478
5751
  __spreadValues({
5479
5752
  "data-slot": "popover-title",
@@ -5487,7 +5760,7 @@ function PopoverDescription(_a) {
5487
5760
  } = _b, props = __objRest(_b, [
5488
5761
  "className"
5489
5762
  ]);
5490
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
5763
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
5491
5764
  "p",
5492
5765
  __spreadValues({
5493
5766
  "data-slot": "popover-description",
@@ -5497,9 +5770,9 @@ function PopoverDescription(_a) {
5497
5770
  }
5498
5771
 
5499
5772
  // components/ui/progress.tsx
5500
- var React11 = __toESM(require("react"), 1);
5773
+ var React12 = __toESM(require("react"), 1);
5501
5774
  var import_radix_ui23 = require("radix-ui");
5502
- var import_jsx_runtime41 = require("react/jsx-runtime");
5775
+ var import_jsx_runtime42 = require("react/jsx-runtime");
5503
5776
  var BAR_HEIGHTS = {
5504
5777
  sm: "h-1",
5505
5778
  md: "h-2",
@@ -5542,11 +5815,11 @@ function Progress(_a) {
5542
5815
  "onTimerEnd",
5543
5816
  "children"
5544
5817
  ]);
5545
- const [timerPct, setTimerPct] = React11.useState(
5818
+ const [timerPct, setTimerPct] = React12.useState(
5546
5819
  timer != null ? direction === "up" ? 0 : 100 : null
5547
5820
  );
5548
- const endedRef = React11.useRef(false);
5549
- React11.useEffect(() => {
5821
+ const endedRef = React12.useRef(false);
5822
+ React12.useEffect(() => {
5550
5823
  if (timer == null) {
5551
5824
  setTimerPct(null);
5552
5825
  return;
@@ -5572,7 +5845,7 @@ function Progress(_a) {
5572
5845
  const content = typeof children === "function" ? children(pct) : children;
5573
5846
  if (variant === "dots") {
5574
5847
  const filled = Math.round(pct / 100 * segments);
5575
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
5848
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
5576
5849
  "div",
5577
5850
  __spreadProps(__spreadValues({
5578
5851
  "data-slot": "progress",
@@ -5583,7 +5856,7 @@ function Progress(_a) {
5583
5856
  "aria-valuenow": pct,
5584
5857
  className: cn("flex items-center gap-1", className)
5585
5858
  }, props), {
5586
- 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)(
5587
5860
  "span",
5588
5861
  {
5589
5862
  "data-slot": "progress-dot",
@@ -5602,7 +5875,7 @@ function Progress(_a) {
5602
5875
  if (variant === "ring") {
5603
5876
  const { box, r, stroke } = RINGS[size in RINGS ? size : "md"];
5604
5877
  const circumference = 2 * Math.PI * r;
5605
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
5878
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
5606
5879
  "div",
5607
5880
  __spreadProps(__spreadValues({
5608
5881
  "data-slot": "progress",
@@ -5615,14 +5888,14 @@ function Progress(_a) {
5615
5888
  style: { width: box, height: box }
5616
5889
  }, props), {
5617
5890
  children: [
5618
- /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
5891
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
5619
5892
  "svg",
5620
5893
  {
5621
5894
  viewBox: `0 0 ${box} ${box}`,
5622
5895
  className: "absolute inset-0 -rotate-90",
5623
5896
  "aria-hidden": true,
5624
5897
  children: [
5625
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
5898
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
5626
5899
  "circle",
5627
5900
  {
5628
5901
  cx: box / 2,
@@ -5633,7 +5906,7 @@ function Progress(_a) {
5633
5906
  strokeWidth: stroke
5634
5907
  }
5635
5908
  ),
5636
- pct > 0 && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
5909
+ pct > 0 && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
5637
5910
  "circle",
5638
5911
  {
5639
5912
  "data-slot": "progress-ring-fill",
@@ -5654,12 +5927,12 @@ function Progress(_a) {
5654
5927
  ]
5655
5928
  }
5656
5929
  ),
5657
- 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 })
5658
5931
  ]
5659
5932
  })
5660
5933
  );
5661
5934
  }
5662
- const bar = /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
5935
+ const bar = /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
5663
5936
  import_radix_ui23.Progress.Root,
5664
5937
  __spreadProps(__spreadValues({
5665
5938
  "data-slot": "progress",
@@ -5673,7 +5946,7 @@ function Progress(_a) {
5673
5946
  label == null && valueLabel == null && className
5674
5947
  )
5675
5948
  }, props), {
5676
- children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
5949
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
5677
5950
  import_radix_ui23.Progress.Indicator,
5678
5951
  {
5679
5952
  "data-slot": "progress-indicator",
@@ -5687,10 +5960,10 @@ function Progress(_a) {
5687
5960
  })
5688
5961
  );
5689
5962
  if (label == null && valueLabel == null) return bar;
5690
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { "data-slot": "progress-meter", className: cn("flex w-full flex-col gap-1.5", className), children: [
5691
- /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "flex items-baseline justify-between gap-3", children: [
5692
- label != null && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "type-progress-label text-text-prominent-default", children: label }),
5693
- 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 })
5694
5967
  ] }),
5695
5968
  bar
5696
5969
  ] });
@@ -5698,7 +5971,7 @@ function Progress(_a) {
5698
5971
 
5699
5972
  // components/ui/profile-photo.tsx
5700
5973
  var import_lucide_react21 = require("lucide-react");
5701
- var import_jsx_runtime42 = require("react/jsx-runtime");
5974
+ var import_jsx_runtime43 = require("react/jsx-runtime");
5702
5975
  var BOX = 112;
5703
5976
  var PHOTO = 96;
5704
5977
  var STROKE = 5;
@@ -5725,7 +5998,7 @@ function ProfilePhoto(_a) {
5725
5998
  ]);
5726
5999
  const pct = Math.min(100, Math.max(0, progress));
5727
6000
  const complete = pct >= 100;
5728
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
6001
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
5729
6002
  "div",
5730
6003
  __spreadProps(__spreadValues({
5731
6004
  "data-slot": "profile-photo",
@@ -5735,14 +6008,14 @@ function ProfilePhoto(_a) {
5735
6008
  style: { width: BOX, height: BOX }
5736
6009
  }, props), {
5737
6010
  children: [
5738
- /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
6011
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
5739
6012
  "svg",
5740
6013
  {
5741
6014
  viewBox: `0 0 ${BOX} ${BOX}`,
5742
6015
  "aria-hidden": "true",
5743
6016
  className: "absolute inset-0 size-full rotate-90",
5744
6017
  children: [
5745
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6018
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
5746
6019
  "circle",
5747
6020
  {
5748
6021
  cx: BOX / 2,
@@ -5753,7 +6026,7 @@ function ProfilePhoto(_a) {
5753
6026
  strokeWidth: STROKE
5754
6027
  }
5755
6028
  ),
5756
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6029
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
5757
6030
  "circle",
5758
6031
  {
5759
6032
  "data-slot": "profile-photo-ring",
@@ -5772,19 +6045,19 @@ function ProfilePhoto(_a) {
5772
6045
  ]
5773
6046
  }
5774
6047
  ),
5775
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6048
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
5776
6049
  "div",
5777
6050
  {
5778
6051
  "data-slot": "profile-photo-image",
5779
6052
  className: "absolute flex items-center justify-center overflow-hidden rounded-full bg-background-secondary-surface",
5780
6053
  style: { inset: INSET },
5781
- 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" })
5782
6055
  }
5783
6056
  ),
5784
6057
  onPhotoChange ? (
5785
6058
  // 24px keeps the chip subordinate to the photo; the ::after extends the
5786
6059
  // hit area to ~44px so it still meets the touch-target minimum.
5787
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6060
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
5788
6061
  Button,
5789
6062
  {
5790
6063
  variant: "primary",
@@ -5793,11 +6066,11 @@ function ProfilePhoto(_a) {
5793
6066
  onClick: onPhotoChange,
5794
6067
  "data-slot": "profile-photo-camera",
5795
6068
  className: "absolute right-0.5 bottom-5 rounded-full border-2 border-prominent after:absolute after:-inset-2.5 after:content-['']",
5796
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react21.Camera, {})
6069
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react21.Camera, {})
5797
6070
  }
5798
6071
  )
5799
6072
  ) : null,
5800
- status ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6073
+ status ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
5801
6074
  "div",
5802
6075
  {
5803
6076
  "data-slot": "profile-photo-status",
@@ -5813,14 +6086,14 @@ function ProfilePhoto(_a) {
5813
6086
  // components/ui/radio-group.tsx
5814
6087
  var import_lucide_react22 = require("lucide-react");
5815
6088
  var import_radix_ui24 = require("radix-ui");
5816
- var import_jsx_runtime43 = require("react/jsx-runtime");
6089
+ var import_jsx_runtime44 = require("react/jsx-runtime");
5817
6090
  function RadioGroup(_a) {
5818
6091
  var _b = _a, {
5819
6092
  className
5820
6093
  } = _b, props = __objRest(_b, [
5821
6094
  "className"
5822
6095
  ]);
5823
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6096
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
5824
6097
  import_radix_ui24.RadioGroup.Root,
5825
6098
  __spreadValues({
5826
6099
  "data-slot": "radio-group",
@@ -5834,7 +6107,7 @@ function RadioGroupItem(_a) {
5834
6107
  } = _b, props = __objRest(_b, [
5835
6108
  "className"
5836
6109
  ]);
5837
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6110
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
5838
6111
  import_radix_ui24.RadioGroup.Item,
5839
6112
  __spreadProps(__spreadValues({
5840
6113
  "data-slot": "radio-group-item",
@@ -5843,12 +6116,12 @@ function RadioGroupItem(_a) {
5843
6116
  className
5844
6117
  )
5845
6118
  }, props), {
5846
- children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6119
+ children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
5847
6120
  import_radix_ui24.RadioGroup.Indicator,
5848
6121
  {
5849
6122
  "data-slot": "radio-group-indicator",
5850
6123
  className: "relative flex items-center justify-center",
5851
- 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" })
5852
6125
  }
5853
6126
  )
5854
6127
  })
@@ -5858,14 +6131,14 @@ function RadioGroupItem(_a) {
5858
6131
  // components/ui/resizable.tsx
5859
6132
  var import_lucide_react23 = require("lucide-react");
5860
6133
  var ResizablePrimitive = __toESM(require("react-resizable-panels"), 1);
5861
- var import_jsx_runtime44 = require("react/jsx-runtime");
6134
+ var import_jsx_runtime45 = require("react/jsx-runtime");
5862
6135
  function ResizablePanelGroup(_a) {
5863
6136
  var _b = _a, {
5864
6137
  className
5865
6138
  } = _b, props = __objRest(_b, [
5866
6139
  "className"
5867
6140
  ]);
5868
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6141
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
5869
6142
  ResizablePrimitive.Group,
5870
6143
  __spreadValues({
5871
6144
  "data-slot": "resizable-panel-group",
@@ -5878,7 +6151,7 @@ function ResizablePanelGroup(_a) {
5878
6151
  }
5879
6152
  function ResizablePanel(_a) {
5880
6153
  var props = __objRest(_a, []);
5881
- 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));
5882
6155
  }
5883
6156
  function ResizableHandle(_a) {
5884
6157
  var _b = _a, {
@@ -5888,7 +6161,7 @@ function ResizableHandle(_a) {
5888
6161
  "withHandle",
5889
6162
  "className"
5890
6163
  ]);
5891
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6164
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
5892
6165
  ResizablePrimitive.Separator,
5893
6166
  __spreadProps(__spreadValues({
5894
6167
  "data-slot": "resizable-handle",
@@ -5897,14 +6170,14 @@ function ResizableHandle(_a) {
5897
6170
  className
5898
6171
  )
5899
6172
  }, props), {
5900
- 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" }) })
5901
6174
  })
5902
6175
  );
5903
6176
  }
5904
6177
 
5905
6178
  // components/ui/scroll-area.tsx
5906
6179
  var import_radix_ui25 = require("radix-ui");
5907
- var import_jsx_runtime45 = require("react/jsx-runtime");
6180
+ var import_jsx_runtime46 = require("react/jsx-runtime");
5908
6181
  function ScrollArea(_a) {
5909
6182
  var _b = _a, {
5910
6183
  className,
@@ -5913,14 +6186,14 @@ function ScrollArea(_a) {
5913
6186
  "className",
5914
6187
  "children"
5915
6188
  ]);
5916
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
6189
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
5917
6190
  import_radix_ui25.ScrollArea.Root,
5918
6191
  __spreadProps(__spreadValues({
5919
6192
  "data-slot": "scroll-area",
5920
6193
  className: cn("relative", className)
5921
6194
  }, props), {
5922
6195
  children: [
5923
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
6196
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
5924
6197
  import_radix_ui25.ScrollArea.Viewport,
5925
6198
  {
5926
6199
  "data-slot": "scroll-area-viewport",
@@ -5928,8 +6201,8 @@ function ScrollArea(_a) {
5928
6201
  children
5929
6202
  }
5930
6203
  ),
5931
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ScrollBar, {}),
5932
- /* @__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, {})
5933
6206
  ]
5934
6207
  })
5935
6208
  );
@@ -5942,7 +6215,7 @@ function ScrollBar(_a) {
5942
6215
  "className",
5943
6216
  "orientation"
5944
6217
  ]);
5945
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
6218
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
5946
6219
  import_radix_ui25.ScrollArea.ScrollAreaScrollbar,
5947
6220
  __spreadProps(__spreadValues({
5948
6221
  "data-slot": "scroll-area-scrollbar",
@@ -5954,7 +6227,7 @@ function ScrollBar(_a) {
5954
6227
  className
5955
6228
  )
5956
6229
  }, props), {
5957
- children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
6230
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
5958
6231
  import_radix_ui25.ScrollArea.ScrollAreaThumb,
5959
6232
  {
5960
6233
  "data-slot": "scroll-area-thumb",
@@ -5968,22 +6241,22 @@ function ScrollBar(_a) {
5968
6241
  // components/ui/sheet.tsx
5969
6242
  var import_lucide_react24 = require("lucide-react");
5970
6243
  var import_radix_ui26 = require("radix-ui");
5971
- var import_jsx_runtime46 = require("react/jsx-runtime");
6244
+ var import_jsx_runtime47 = require("react/jsx-runtime");
5972
6245
  function Sheet(_a) {
5973
6246
  var props = __objRest(_a, []);
5974
- 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));
5975
6248
  }
5976
6249
  function SheetTrigger(_a) {
5977
6250
  var props = __objRest(_a, []);
5978
- 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));
5979
6252
  }
5980
6253
  function SheetClose(_a) {
5981
6254
  var props = __objRest(_a, []);
5982
- 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));
5983
6256
  }
5984
6257
  function SheetPortal(_a) {
5985
6258
  var props = __objRest(_a, []);
5986
- 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));
5987
6260
  }
5988
6261
  function SheetOverlay(_a) {
5989
6262
  var _b = _a, {
@@ -5991,7 +6264,7 @@ function SheetOverlay(_a) {
5991
6264
  } = _b, props = __objRest(_b, [
5992
6265
  "className"
5993
6266
  ]);
5994
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
6267
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
5995
6268
  import_radix_ui26.Dialog.Overlay,
5996
6269
  __spreadValues({
5997
6270
  "data-slot": "sheet-overlay",
@@ -6014,9 +6287,9 @@ function SheetContent(_a) {
6014
6287
  "side",
6015
6288
  "showCloseButton"
6016
6289
  ]);
6017
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(SheetPortal, { children: [
6018
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(SheetOverlay, {}),
6019
- /* @__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)(
6020
6293
  import_radix_ui26.Dialog.Content,
6021
6294
  __spreadProps(__spreadValues({
6022
6295
  "data-slot": "sheet-content",
@@ -6031,14 +6304,14 @@ function SheetContent(_a) {
6031
6304
  }, props), {
6032
6305
  children: [
6033
6306
  children,
6034
- 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)(
6035
6308
  NavigationButton,
6036
6309
  {
6037
6310
  "data-slot": "sheet-close",
6038
6311
  size: "sm",
6039
6312
  "aria-label": "Close",
6040
6313
  className: "absolute top-4 right-4",
6041
- 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" })
6042
6315
  }
6043
6316
  ) })
6044
6317
  ]
@@ -6048,7 +6321,7 @@ function SheetContent(_a) {
6048
6321
  }
6049
6322
  function SheetHeader(_a) {
6050
6323
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6051
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
6324
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
6052
6325
  "div",
6053
6326
  __spreadValues({
6054
6327
  "data-slot": "sheet-header",
@@ -6058,7 +6331,7 @@ function SheetHeader(_a) {
6058
6331
  }
6059
6332
  function SheetFooter(_a) {
6060
6333
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6061
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
6334
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
6062
6335
  "div",
6063
6336
  __spreadValues({
6064
6337
  "data-slot": "sheet-footer",
@@ -6072,7 +6345,7 @@ function SheetTitle(_a) {
6072
6345
  } = _b, props = __objRest(_b, [
6073
6346
  "className"
6074
6347
  ]);
6075
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
6348
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
6076
6349
  import_radix_ui26.Dialog.Title,
6077
6350
  __spreadValues({
6078
6351
  "data-slot": "sheet-title",
@@ -6086,7 +6359,7 @@ function SheetDescription(_a) {
6086
6359
  } = _b, props = __objRest(_b, [
6087
6360
  "className"
6088
6361
  ]);
6089
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
6362
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
6090
6363
  import_radix_ui26.Dialog.Description,
6091
6364
  __spreadValues({
6092
6365
  "data-slot": "sheet-description",
@@ -6096,17 +6369,17 @@ function SheetDescription(_a) {
6096
6369
  }
6097
6370
 
6098
6371
  // components/ui/sidebar.tsx
6099
- var React14 = __toESM(require("react"), 1);
6372
+ var React15 = __toESM(require("react"), 1);
6100
6373
  var import_class_variance_authority13 = require("class-variance-authority");
6101
6374
  var import_lucide_react25 = require("lucide-react");
6102
6375
  var import_radix_ui28 = require("radix-ui");
6103
6376
 
6104
6377
  // hooks/use-mobile.ts
6105
- var React12 = __toESM(require("react"), 1);
6378
+ var React13 = __toESM(require("react"), 1);
6106
6379
  var MOBILE_BREAKPOINT = 768;
6107
6380
  function useIsMobile() {
6108
- const [isMobile, setIsMobile] = React12.useState(void 0);
6109
- React12.useEffect(() => {
6381
+ const [isMobile, setIsMobile] = React13.useState(void 0);
6382
+ React13.useEffect(() => {
6110
6383
  const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
6111
6384
  const onChange = () => {
6112
6385
  setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
@@ -6119,10 +6392,10 @@ function useIsMobile() {
6119
6392
  }
6120
6393
 
6121
6394
  // components/ui/skeleton.tsx
6122
- var import_jsx_runtime47 = require("react/jsx-runtime");
6395
+ var import_jsx_runtime48 = require("react/jsx-runtime");
6123
6396
  function Skeleton(_a) {
6124
6397
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6125
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
6398
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
6126
6399
  "div",
6127
6400
  __spreadValues({
6128
6401
  "data-slot": "skeleton",
@@ -6136,17 +6409,17 @@ function Skeleton(_a) {
6136
6409
  }
6137
6410
 
6138
6411
  // components/ui/tooltip.tsx
6139
- var React13 = __toESM(require("react"), 1);
6412
+ var React14 = __toESM(require("react"), 1);
6140
6413
  var import_radix_ui27 = require("radix-ui");
6141
- var import_jsx_runtime48 = require("react/jsx-runtime");
6142
- var TooltipModeContext = React13.createContext("tooltip");
6414
+ var import_jsx_runtime49 = require("react/jsx-runtime");
6415
+ var TooltipModeContext = React14.createContext("tooltip");
6143
6416
  function TooltipProvider(_a) {
6144
6417
  var _b = _a, {
6145
6418
  delayDuration = 0
6146
6419
  } = _b, props = __objRest(_b, [
6147
6420
  "delayDuration"
6148
6421
  ]);
6149
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
6422
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6150
6423
  import_radix_ui27.Tooltip.Provider,
6151
6424
  __spreadValues({
6152
6425
  "data-slot": "tooltip-provider",
@@ -6163,9 +6436,9 @@ function Tooltip(_a) {
6163
6436
  const isMobile = useIsMobile();
6164
6437
  const mode = isMobile ? "drawer" : "tooltip";
6165
6438
  if (mode === "drawer") {
6166
- 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 }) });
6167
6440
  }
6168
- 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 })) });
6169
6442
  }
6170
6443
  function TooltipTrigger(_a) {
6171
6444
  var _b = _a, {
@@ -6173,11 +6446,11 @@ function TooltipTrigger(_a) {
6173
6446
  } = _b, props = __objRest(_b, [
6174
6447
  "children"
6175
6448
  ]);
6176
- const mode = React13.useContext(TooltipModeContext);
6449
+ const mode = React14.useContext(TooltipModeContext);
6177
6450
  if (mode === "drawer") {
6178
- 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 }));
6179
6452
  }
6180
- 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 }));
6181
6454
  }
6182
6455
  function TooltipContent(_a) {
6183
6456
  var _b = _a, {
@@ -6195,17 +6468,17 @@ function TooltipContent(_a) {
6195
6468
  "closeLabel",
6196
6469
  "children"
6197
6470
  ]);
6198
- const mode = React13.useContext(TooltipModeContext);
6471
+ const mode = React14.useContext(TooltipModeContext);
6199
6472
  if (mode === "drawer") {
6200
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(DrawerContent, { "data-slot": "tooltip-content", "data-variant": variant, children: [
6201
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(DrawerHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(DrawerTitle, { children: title }) }),
6202
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: cn("type-drawer-description p-4 text-text-subtle-default", className), children }),
6203
- /* @__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 }) }) })
6204
6477
  ] });
6205
6478
  }
6206
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";
6207
6480
  const arrowClasses = variant === "inverse" ? "fill-background-primary-surface" : "fill-background-inverse-surface";
6208
- 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)(
6209
6482
  import_radix_ui27.Tooltip.Content,
6210
6483
  __spreadProps(__spreadValues({
6211
6484
  "data-slot": "tooltip-content",
@@ -6219,23 +6492,23 @@ function TooltipContent(_a) {
6219
6492
  }, props), {
6220
6493
  children: [
6221
6494
  children,
6222
- /* @__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 })
6223
6496
  ]
6224
6497
  })
6225
6498
  ) });
6226
6499
  }
6227
6500
 
6228
6501
  // components/ui/sidebar.tsx
6229
- var import_jsx_runtime49 = require("react/jsx-runtime");
6502
+ var import_jsx_runtime50 = require("react/jsx-runtime");
6230
6503
  var SIDEBAR_COOKIE_NAME = "sidebar_state";
6231
6504
  var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
6232
6505
  var SIDEBAR_WIDTH = "16rem";
6233
6506
  var SIDEBAR_WIDTH_MOBILE = "18rem";
6234
6507
  var SIDEBAR_WIDTH_ICON = "3rem";
6235
6508
  var SIDEBAR_KEYBOARD_SHORTCUT = "b";
6236
- var SidebarContext = React14.createContext(null);
6509
+ var SidebarContext = React15.createContext(null);
6237
6510
  function useSidebar() {
6238
- const context = React14.useContext(SidebarContext);
6511
+ const context = React15.useContext(SidebarContext);
6239
6512
  if (!context) {
6240
6513
  throw new Error("useSidebar must be used within a SidebarProvider.");
6241
6514
  }
@@ -6258,10 +6531,10 @@ function SidebarProvider(_a) {
6258
6531
  "children"
6259
6532
  ]);
6260
6533
  const isMobile = useIsMobile();
6261
- const [openMobile, setOpenMobile] = React14.useState(false);
6262
- const [_open, _setOpen] = React14.useState(defaultOpen);
6534
+ const [openMobile, setOpenMobile] = React15.useState(false);
6535
+ const [_open, _setOpen] = React15.useState(defaultOpen);
6263
6536
  const open = openProp != null ? openProp : _open;
6264
- const setOpen = React14.useCallback(
6537
+ const setOpen = React15.useCallback(
6265
6538
  (value) => {
6266
6539
  const openState = typeof value === "function" ? value(open) : value;
6267
6540
  if (setOpenProp) {
@@ -6273,10 +6546,10 @@ function SidebarProvider(_a) {
6273
6546
  },
6274
6547
  [setOpenProp, open]
6275
6548
  );
6276
- const toggleSidebar = React14.useCallback(() => {
6549
+ const toggleSidebar = React15.useCallback(() => {
6277
6550
  return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
6278
6551
  }, [isMobile, setOpen, setOpenMobile]);
6279
- React14.useEffect(() => {
6552
+ React15.useEffect(() => {
6280
6553
  const handleKeyDown = (event) => {
6281
6554
  if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
6282
6555
  event.preventDefault();
@@ -6287,7 +6560,7 @@ function SidebarProvider(_a) {
6287
6560
  return () => window.removeEventListener("keydown", handleKeyDown);
6288
6561
  }, [toggleSidebar]);
6289
6562
  const state = open ? "expanded" : "collapsed";
6290
- const contextValue = React14.useMemo(
6563
+ const contextValue = React15.useMemo(
6291
6564
  () => ({
6292
6565
  state,
6293
6566
  open,
@@ -6299,7 +6572,7 @@ function SidebarProvider(_a) {
6299
6572
  }),
6300
6573
  [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
6301
6574
  );
6302
- 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)(
6303
6576
  "div",
6304
6577
  __spreadProps(__spreadValues({
6305
6578
  "data-slot": "sidebar-wrapper",
@@ -6332,7 +6605,7 @@ function Sidebar(_a) {
6332
6605
  ]);
6333
6606
  const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
6334
6607
  if (collapsible === "none") {
6335
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6608
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6336
6609
  "div",
6337
6610
  __spreadProps(__spreadValues({
6338
6611
  "data-slot": "sidebar",
@@ -6346,7 +6619,7 @@ function Sidebar(_a) {
6346
6619
  );
6347
6620
  }
6348
6621
  if (isMobile) {
6349
- 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)(
6350
6623
  SheetContent,
6351
6624
  {
6352
6625
  "data-sidebar": "sidebar",
@@ -6358,16 +6631,16 @@ function Sidebar(_a) {
6358
6631
  },
6359
6632
  side,
6360
6633
  children: [
6361
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(SheetHeader, { className: "sr-only", children: [
6362
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(SheetTitle, { children: "Sidebar" }),
6363
- /* @__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." })
6364
6637
  ] }),
6365
- /* @__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 })
6366
6639
  ]
6367
6640
  }
6368
6641
  ) }));
6369
6642
  }
6370
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
6643
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
6371
6644
  "div",
6372
6645
  {
6373
6646
  className: "group peer hidden text-text-prominent-default md:block",
@@ -6377,7 +6650,7 @@ function Sidebar(_a) {
6377
6650
  "data-side": side,
6378
6651
  "data-slot": "sidebar",
6379
6652
  children: [
6380
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6653
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6381
6654
  "div",
6382
6655
  {
6383
6656
  "data-slot": "sidebar-gap",
@@ -6389,7 +6662,7 @@ function Sidebar(_a) {
6389
6662
  )
6390
6663
  }
6391
6664
  ),
6392
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6665
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6393
6666
  "div",
6394
6667
  __spreadProps(__spreadValues({
6395
6668
  "data-slot": "sidebar-container",
@@ -6401,7 +6674,7 @@ function Sidebar(_a) {
6401
6674
  className
6402
6675
  )
6403
6676
  }, props), {
6404
- children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6677
+ children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6405
6678
  "div",
6406
6679
  {
6407
6680
  "data-sidebar": "sidebar",
@@ -6425,7 +6698,7 @@ function SidebarTrigger(_a) {
6425
6698
  "onClick"
6426
6699
  ]);
6427
6700
  const { toggleSidebar } = useSidebar();
6428
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
6701
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
6429
6702
  Button,
6430
6703
  __spreadProps(__spreadValues({
6431
6704
  "data-sidebar": "trigger",
@@ -6439,8 +6712,8 @@ function SidebarTrigger(_a) {
6439
6712
  }
6440
6713
  }, props), {
6441
6714
  children: [
6442
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react25.PanelLeftIcon, {}),
6443
- /* @__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" })
6444
6717
  ]
6445
6718
  })
6446
6719
  );
@@ -6448,7 +6721,7 @@ function SidebarTrigger(_a) {
6448
6721
  function SidebarRail(_a) {
6449
6722
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6450
6723
  const { toggleSidebar } = useSidebar();
6451
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6724
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6452
6725
  "button",
6453
6726
  __spreadValues({
6454
6727
  "data-sidebar": "rail",
@@ -6471,7 +6744,7 @@ function SidebarRail(_a) {
6471
6744
  }
6472
6745
  function SidebarInset(_a) {
6473
6746
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6474
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6747
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6475
6748
  "main",
6476
6749
  __spreadValues({
6477
6750
  "data-slot": "sidebar-inset",
@@ -6489,7 +6762,7 @@ function SidebarInput(_a) {
6489
6762
  } = _b, props = __objRest(_b, [
6490
6763
  "className"
6491
6764
  ]);
6492
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6765
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6493
6766
  Input,
6494
6767
  __spreadValues({
6495
6768
  "data-slot": "sidebar-input",
@@ -6500,7 +6773,7 @@ function SidebarInput(_a) {
6500
6773
  }
6501
6774
  function SidebarHeader(_a) {
6502
6775
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6503
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6776
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6504
6777
  "div",
6505
6778
  __spreadValues({
6506
6779
  "data-slot": "sidebar-header",
@@ -6514,7 +6787,7 @@ function SidebarHeader(_a) {
6514
6787
  }
6515
6788
  function SidebarFooter(_a) {
6516
6789
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6517
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6790
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6518
6791
  "div",
6519
6792
  __spreadValues({
6520
6793
  "data-slot": "sidebar-footer",
@@ -6532,7 +6805,7 @@ function SidebarSeparator(_a) {
6532
6805
  } = _b, props = __objRest(_b, [
6533
6806
  "className"
6534
6807
  ]);
6535
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6808
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6536
6809
  Separator,
6537
6810
  __spreadValues({
6538
6811
  "data-slot": "sidebar-separator",
@@ -6543,7 +6816,7 @@ function SidebarSeparator(_a) {
6543
6816
  }
6544
6817
  function SidebarContent(_a) {
6545
6818
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6546
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6819
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6547
6820
  "div",
6548
6821
  __spreadValues({
6549
6822
  "data-slot": "sidebar-content",
@@ -6557,7 +6830,7 @@ function SidebarContent(_a) {
6557
6830
  }
6558
6831
  function SidebarGroup(_a) {
6559
6832
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6560
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6833
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6561
6834
  "div",
6562
6835
  __spreadValues({
6563
6836
  "data-slot": "sidebar-group",
@@ -6578,7 +6851,7 @@ function SidebarGroupLabel(_a) {
6578
6851
  "asChild"
6579
6852
  ]);
6580
6853
  const Comp = asChild ? import_radix_ui28.Slot.Root : "div";
6581
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6854
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6582
6855
  Comp,
6583
6856
  __spreadValues({
6584
6857
  "data-slot": "sidebar-group-label",
@@ -6600,7 +6873,7 @@ function SidebarGroupAction(_a) {
6600
6873
  "asChild"
6601
6874
  ]);
6602
6875
  const Comp = asChild ? import_radix_ui28.Slot.Root : "button";
6603
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6876
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6604
6877
  Comp,
6605
6878
  __spreadValues({
6606
6879
  "data-slot": "sidebar-group-action",
@@ -6621,7 +6894,7 @@ function SidebarGroupContent(_a) {
6621
6894
  } = _b, props = __objRest(_b, [
6622
6895
  "className"
6623
6896
  ]);
6624
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6897
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6625
6898
  "div",
6626
6899
  __spreadValues({
6627
6900
  "data-slot": "sidebar-group-content",
@@ -6632,7 +6905,7 @@ function SidebarGroupContent(_a) {
6632
6905
  }
6633
6906
  function SidebarMenu(_a) {
6634
6907
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6635
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6908
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6636
6909
  "ul",
6637
6910
  __spreadValues({
6638
6911
  "data-slot": "sidebar-menu",
@@ -6643,7 +6916,7 @@ function SidebarMenu(_a) {
6643
6916
  }
6644
6917
  function SidebarMenuItem(_a) {
6645
6918
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6646
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6919
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6647
6920
  "li",
6648
6921
  __spreadValues({
6649
6922
  "data-slot": "sidebar-menu-item",
@@ -6690,7 +6963,7 @@ function SidebarMenuButton(_a) {
6690
6963
  ]);
6691
6964
  const Comp = asChild ? import_radix_ui28.Slot.Root : "button";
6692
6965
  const { isMobile, state } = useSidebar();
6693
- const button = /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6966
+ const button = /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6694
6967
  Comp,
6695
6968
  __spreadValues({
6696
6969
  "data-slot": "sidebar-menu-button",
@@ -6708,9 +6981,9 @@ function SidebarMenuButton(_a) {
6708
6981
  children: tooltip
6709
6982
  };
6710
6983
  }
6711
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Tooltip, { children: [
6712
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(TooltipTrigger, { asChild: true, children: button }),
6713
- /* @__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)(
6714
6987
  TooltipContent,
6715
6988
  __spreadValues({
6716
6989
  side: "right",
@@ -6731,7 +7004,7 @@ function SidebarMenuAction(_a) {
6731
7004
  "showOnHover"
6732
7005
  ]);
6733
7006
  const Comp = asChild ? import_radix_ui28.Slot.Root : "button";
6734
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7007
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6735
7008
  Comp,
6736
7009
  __spreadValues({
6737
7010
  "data-slot": "sidebar-menu-action",
@@ -6756,7 +7029,7 @@ function SidebarMenuBadge(_a) {
6756
7029
  } = _b, props = __objRest(_b, [
6757
7030
  "className"
6758
7031
  ]);
6759
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7032
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6760
7033
  "div",
6761
7034
  __spreadValues({
6762
7035
  "data-slot": "sidebar-menu-badge",
@@ -6782,7 +7055,7 @@ function SidebarMenuSkeleton(_a) {
6782
7055
  "showIcon"
6783
7056
  ]);
6784
7057
  const width = "70%";
6785
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
7058
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
6786
7059
  "div",
6787
7060
  __spreadProps(__spreadValues({
6788
7061
  "data-slot": "sidebar-menu-skeleton",
@@ -6790,14 +7063,14 @@ function SidebarMenuSkeleton(_a) {
6790
7063
  className: cn("flex h-8 items-center gap-2 rounded-md px-2", className)
6791
7064
  }, props), {
6792
7065
  children: [
6793
- showIcon && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7066
+ showIcon && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6794
7067
  Skeleton,
6795
7068
  {
6796
7069
  className: "size-4 rounded-md",
6797
7070
  "data-sidebar": "menu-skeleton-icon"
6798
7071
  }
6799
7072
  ),
6800
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7073
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6801
7074
  Skeleton,
6802
7075
  {
6803
7076
  className: "h-4 max-w-(--skeleton-width) flex-1",
@@ -6813,7 +7086,7 @@ function SidebarMenuSkeleton(_a) {
6813
7086
  }
6814
7087
  function SidebarMenuSub(_a) {
6815
7088
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6816
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7089
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6817
7090
  "ul",
6818
7091
  __spreadValues({
6819
7092
  "data-slot": "sidebar-menu-sub",
@@ -6832,7 +7105,7 @@ function SidebarMenuSubItem(_a) {
6832
7105
  } = _b, props = __objRest(_b, [
6833
7106
  "className"
6834
7107
  ]);
6835
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7108
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6836
7109
  "li",
6837
7110
  __spreadValues({
6838
7111
  "data-slot": "sidebar-menu-sub-item",
@@ -6854,7 +7127,7 @@ function SidebarMenuSubButton(_a) {
6854
7127
  "className"
6855
7128
  ]);
6856
7129
  const Comp = asChild ? import_radix_ui28.Slot.Root : "a";
6857
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7130
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6858
7131
  Comp,
6859
7132
  __spreadValues({
6860
7133
  "data-slot": "sidebar-menu-sub-button",
@@ -6874,9 +7147,9 @@ function SidebarMenuSubButton(_a) {
6874
7147
  }
6875
7148
 
6876
7149
  // components/ui/slider.tsx
6877
- var React15 = __toESM(require("react"), 1);
7150
+ var React16 = __toESM(require("react"), 1);
6878
7151
  var import_radix_ui29 = require("radix-ui");
6879
- var import_jsx_runtime50 = require("react/jsx-runtime");
7152
+ var import_jsx_runtime51 = require("react/jsx-runtime");
6880
7153
  function Slider(_a) {
6881
7154
  var _b = _a, {
6882
7155
  className,
@@ -6891,11 +7164,11 @@ function Slider(_a) {
6891
7164
  "min",
6892
7165
  "max"
6893
7166
  ]);
6894
- const _values = React15.useMemo(
7167
+ const _values = React16.useMemo(
6895
7168
  () => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max],
6896
7169
  [value, defaultValue, min, max]
6897
7170
  );
6898
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
7171
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
6899
7172
  import_radix_ui29.Slider.Root,
6900
7173
  __spreadProps(__spreadValues({
6901
7174
  "data-slot": "slider",
@@ -6909,7 +7182,7 @@ function Slider(_a) {
6909
7182
  )
6910
7183
  }, props), {
6911
7184
  children: [
6912
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7185
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
6913
7186
  import_radix_ui29.Slider.Track,
6914
7187
  {
6915
7188
  "data-slot": "slider-track",
@@ -6918,7 +7191,7 @@ function Slider(_a) {
6918
7191
  // surface, solid brand fill.
6919
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"
6920
7193
  ),
6921
- children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7194
+ children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
6922
7195
  import_radix_ui29.Slider.Range,
6923
7196
  {
6924
7197
  "data-slot": "slider-range",
@@ -6929,7 +7202,7 @@ function Slider(_a) {
6929
7202
  )
6930
7203
  }
6931
7204
  ),
6932
- 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)(
6933
7206
  import_radix_ui29.Slider.Thumb,
6934
7207
  {
6935
7208
  "data-slot": "slider-thumb",
@@ -6943,29 +7216,27 @@ function Slider(_a) {
6943
7216
  }
6944
7217
 
6945
7218
  // components/ui/toast.tsx
6946
- var React16 = __toESM(require("react"), 1);
7219
+ var React17 = __toESM(require("react"), 1);
6947
7220
  var import_lucide_react26 = require("lucide-react");
6948
- var import_next_themes = require("next-themes");
6949
7221
  var import_sonner = require("sonner");
6950
- var import_jsx_runtime51 = require("react/jsx-runtime");
7222
+ var import_jsx_runtime52 = require("react/jsx-runtime");
6951
7223
  var Toaster = (_a) => {
6952
7224
  var props = __objRest(_a, []);
6953
- const { theme = "system" } = (0, import_next_themes.useTheme)();
6954
7225
  const isMobile = useIsMobile();
6955
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
7226
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
6956
7227
  import_sonner.Toaster,
6957
7228
  __spreadValues({
6958
- theme,
7229
+ theme: "system",
6959
7230
  className: "toaster group",
6960
7231
  position: isMobile ? "top-center" : "bottom-right",
6961
7232
  visibleToasts: isMobile ? 1 : 3,
6962
7233
  duration: 4e3,
6963
7234
  icons: {
6964
- success: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react26.CircleCheckIcon, { className: "size-4" }),
6965
- info: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react26.InfoIcon, { className: "size-4" }),
6966
- warning: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react26.TriangleAlertIcon, { className: "size-4" }),
6967
- error: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react26.OctagonXIcon, { className: "size-4" }),
6968
- 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" })
6969
7240
  },
6970
7241
  toastOptions: {
6971
7242
  classNames: {
@@ -7015,30 +7286,30 @@ function ResultSnackbar(_a) {
7015
7286
  "className"
7016
7287
  ]);
7017
7288
  const isWin = outcome === "win";
7018
- const [leaving, setLeaving] = React16.useState(false);
7289
+ const [leaving, setLeaving] = React17.useState(false);
7019
7290
  const reduced = usePrefersReducedMotion();
7020
- const onDismissRef = React16.useRef(onDismiss);
7021
- React16.useEffect(() => {
7291
+ const onDismissRef = React17.useRef(onDismiss);
7292
+ React17.useEffect(() => {
7022
7293
  onDismissRef.current = onDismiss;
7023
7294
  }, [onDismiss]);
7024
- const firedRef = React16.useRef(false);
7025
- const finish = React16.useCallback(() => {
7295
+ const firedRef = React17.useRef(false);
7296
+ const finish = React17.useCallback(() => {
7026
7297
  var _a2;
7027
7298
  if (firedRef.current) return;
7028
7299
  firedRef.current = true;
7029
7300
  (_a2 = onDismissRef.current) == null ? void 0 : _a2.call(onDismissRef);
7030
7301
  }, []);
7031
- React16.useEffect(() => {
7302
+ React17.useEffect(() => {
7032
7303
  const leave = window.setTimeout(() => setLeaving(true), durationMs);
7033
7304
  return () => window.clearTimeout(leave);
7034
7305
  }, [durationMs]);
7035
- React16.useEffect(() => {
7306
+ React17.useEffect(() => {
7036
7307
  if (!leaving) return;
7037
7308
  const done = window.setTimeout(finish, reduced ? 0 : RESULT_SNACKBAR_EXIT_MS);
7038
7309
  return () => window.clearTimeout(done);
7039
7310
  }, [leaving, finish, reduced]);
7040
- const [display, setDisplay] = React16.useState(null);
7041
- React16.useEffect(() => {
7311
+ const [display, setDisplay] = React17.useState(null);
7312
+ React17.useEffect(() => {
7042
7313
  if (amountValue === void 0 || reduced || !Number.isFinite(amountValue)) {
7043
7314
  setDisplay(null);
7044
7315
  return;
@@ -7063,7 +7334,7 @@ function ResultSnackbar(_a) {
7063
7334
  const spoken = announcement != null ? announcement : `${isWin ? "Won" : "Lost"} ${amount} ${currency}. ${contractLabel}, ${duration}.`;
7064
7335
  const enterOut = leaving ? "out" : "in";
7065
7336
  const motionName = `result-snackbar-${enterOut}-${placement}`;
7066
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
7337
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
7067
7338
  "div",
7068
7339
  __spreadProps(__spreadValues({
7069
7340
  role: "status",
@@ -7087,8 +7358,8 @@ function ResultSnackbar(_a) {
7087
7358
  }
7088
7359
  }, props), {
7089
7360
  children: [
7090
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "sr-only", children: spoken }),
7091
- 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)(
7092
7363
  "span",
7093
7364
  {
7094
7365
  "data-slot": "result-snackbar-icon",
@@ -7099,8 +7370,8 @@ function ResultSnackbar(_a) {
7099
7370
  children: icon
7100
7371
  }
7101
7372
  ) : null,
7102
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("span", { "aria-hidden": true, className: "flex min-w-max flex-col gap-0.5", children: [
7103
- /* @__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)(
7104
7375
  "span",
7105
7376
  {
7106
7377
  className: cn(
@@ -7110,17 +7381,17 @@ function ResultSnackbar(_a) {
7110
7381
  children: [
7111
7382
  display != null ? display : amount,
7112
7383
  " ",
7113
- /* @__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 })
7114
7385
  ]
7115
7386
  }
7116
7387
  ),
7117
- /* @__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: [
7118
7389
  contractLabel,
7119
7390
  " \xB7 ",
7120
7391
  duration
7121
7392
  ] })
7122
7393
  ] }),
7123
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
7394
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
7124
7395
  "span",
7125
7396
  {
7126
7397
  "aria-hidden": true,
@@ -7139,8 +7410,8 @@ function ResultSnackbar(_a) {
7139
7410
  );
7140
7411
  }
7141
7412
  function usePrefersReducedMotion() {
7142
- const [reduced, setReduced] = React16.useState(false);
7143
- React16.useEffect(() => {
7413
+ const [reduced, setReduced] = React17.useState(false);
7414
+ React17.useEffect(() => {
7144
7415
  const query = window.matchMedia("(prefers-reduced-motion: reduce)");
7145
7416
  setReduced(query.matches);
7146
7417
  const onChange = (event) => setReduced(event.matches);
@@ -7151,9 +7422,9 @@ function usePrefersReducedMotion() {
7151
7422
  }
7152
7423
 
7153
7424
  // components/ui/slide-to-confirm.tsx
7154
- var React17 = __toESM(require("react"), 1);
7425
+ var React18 = __toESM(require("react"), 1);
7155
7426
  var import_lucide_react27 = require("lucide-react");
7156
- var import_jsx_runtime52 = require("react/jsx-runtime");
7427
+ var import_jsx_runtime53 = require("react/jsx-runtime");
7157
7428
  var CONFIRM_AT = 0.9;
7158
7429
  var HANDLE = 46;
7159
7430
  var INSET2 = 5;
@@ -7173,21 +7444,21 @@ function SlideToConfirm(_a) {
7173
7444
  "confirmed",
7174
7445
  "className"
7175
7446
  ]);
7176
- const trackRef = React17.useRef(null);
7177
- const [dragX, setDragX] = React17.useState(0);
7178
- const [dragging, setDragging] = React17.useState(false);
7179
- const [trackWidth, setTrackWidth] = React17.useState(0);
7180
- 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);
7181
7452
  const confirmed = controlledConfirmed != null ? controlledConfirmed : internalConfirmed;
7182
- const firedRef = React17.useRef(false);
7183
- React17.useEffect(() => {
7453
+ const firedRef = React18.useRef(false);
7454
+ React18.useEffect(() => {
7184
7455
  if (controlledConfirmed === false) {
7185
7456
  setInternalConfirmed(false);
7186
7457
  setDragX(0);
7187
7458
  firedRef.current = false;
7188
7459
  }
7189
7460
  }, [controlledConfirmed]);
7190
- React17.useEffect(() => {
7461
+ React18.useEffect(() => {
7191
7462
  const track = trackRef.current;
7192
7463
  if (!track) return;
7193
7464
  const ro = new ResizeObserver(() => setTrackWidth(track.clientWidth));
@@ -7236,7 +7507,7 @@ function SlideToConfirm(_a) {
7236
7507
  const fillWidth = dragX === 0 ? 0 : dragX + HANDLE;
7237
7508
  const revealWidth = INSET2 + dragX + HANDLE / 2;
7238
7509
  const spring = "duration-slow ease-(--primitive-ease-spring)";
7239
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
7510
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
7240
7511
  "div",
7241
7512
  __spreadProps(__spreadValues({
7242
7513
  ref: trackRef,
@@ -7255,8 +7526,8 @@ function SlideToConfirm(_a) {
7255
7526
  )
7256
7527
  }, props), {
7257
7528
  children: [
7258
- /* @__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 }) }),
7259
- /* @__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)(
7260
7531
  "span",
7261
7532
  {
7262
7533
  "aria-hidden": true,
@@ -7274,7 +7545,7 @@ function SlideToConfirm(_a) {
7274
7545
  }
7275
7546
  }
7276
7547
  ),
7277
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
7548
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
7278
7549
  "span",
7279
7550
  {
7280
7551
  "aria-hidden": true,
@@ -7286,10 +7557,10 @@ function SlideToConfirm(_a) {
7286
7557
  style: {
7287
7558
  clipPath: confirmed ? "inset(0 round 9999px)" : `inset(0 calc(100% - ${revealWidth}px) 0 0 round 9999px)`
7288
7559
  },
7289
- 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 })
7290
7561
  }
7291
7562
  ),
7292
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
7563
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
7293
7564
  "span",
7294
7565
  {
7295
7566
  "data-slot": "slide-to-confirm-handle",
@@ -7318,7 +7589,7 @@ function SlideToConfirm(_a) {
7318
7589
  // the keyboard, where dragX never moved.
7319
7590
  translate: `${confirmed ? maxTravel : dragX}px -50%`
7320
7591
  },
7321
- 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" })
7322
7593
  }
7323
7594
  )
7324
7595
  ]
@@ -7327,10 +7598,10 @@ function SlideToConfirm(_a) {
7327
7598
  }
7328
7599
 
7329
7600
  // components/ui/stepper.tsx
7330
- var React18 = __toESM(require("react"), 1);
7601
+ var React19 = __toESM(require("react"), 1);
7331
7602
  var import_lucide_react28 = require("lucide-react");
7332
- var import_jsx_runtime53 = require("react/jsx-runtime");
7333
- function clamp(value, min, max) {
7603
+ var import_jsx_runtime54 = require("react/jsx-runtime");
7604
+ function clamp2(value, min, max) {
7334
7605
  return Math.min(Math.max(value, min), max);
7335
7606
  }
7336
7607
  function getDecimalPlaces(n) {
@@ -7357,16 +7628,16 @@ function Stepper({
7357
7628
  "aria-label": ariaLabel
7358
7629
  }) {
7359
7630
  const isControlled = controlledValue !== void 0;
7360
- const [internalValue, setInternalValue] = React18.useState(
7361
- clamp(defaultValue, min, max)
7631
+ const [internalValue, setInternalValue] = React19.useState(
7632
+ clamp2(defaultValue, min, max)
7362
7633
  );
7363
7634
  const currentValue = isControlled ? controlledValue : internalValue;
7364
7635
  const decimalPlaces = getDecimalPlaces(step);
7365
- const [displayString, setDisplayString] = React18.useState(
7636
+ const [displayString, setDisplayString] = React19.useState(
7366
7637
  formatValue(currentValue, decimalPlaces)
7367
7638
  );
7368
- const [isFocused, setIsFocused] = React18.useState(false);
7369
- React18.useEffect(() => {
7639
+ const [isFocused, setIsFocused] = React19.useState(false);
7640
+ React19.useEffect(() => {
7370
7641
  if (!isFocused) {
7371
7642
  setDisplayString(formatValue(currentValue, decimalPlaces));
7372
7643
  }
@@ -7379,7 +7650,7 @@ function Stepper({
7379
7650
  committed = max;
7380
7651
  } else {
7381
7652
  const rounded = decimalPlaces > 0 ? parseFloat(next.toFixed(decimalPlaces)) : Math.round(next);
7382
- committed = clamp(rounded, min, max);
7653
+ committed = clamp2(rounded, min, max);
7383
7654
  }
7384
7655
  if (!isControlled) setInternalValue(committed);
7385
7656
  setDisplayString(formatValue(committed, decimalPlaces));
@@ -7423,7 +7694,7 @@ function Stepper({
7423
7694
  }
7424
7695
  }
7425
7696
  }
7426
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
7697
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
7427
7698
  "div",
7428
7699
  {
7429
7700
  "data-slot": "stepper",
@@ -7442,7 +7713,7 @@ function Stepper({
7442
7713
  className
7443
7714
  ),
7444
7715
  children: [
7445
- label != null && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
7716
+ label != null && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7446
7717
  "span",
7447
7718
  {
7448
7719
  "data-slot": "stepper-label",
@@ -7453,13 +7724,13 @@ function Stepper({
7453
7724
  children: label
7454
7725
  }
7455
7726
  ),
7456
- /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
7727
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
7457
7728
  "div",
7458
7729
  {
7459
7730
  "data-slot": "stepper-row",
7460
7731
  className: "flex w-full items-center justify-between gap-4",
7461
7732
  children: [
7462
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
7733
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7463
7734
  Button,
7464
7735
  {
7465
7736
  type: "button",
@@ -7468,10 +7739,10 @@ function Stepper({
7468
7739
  onClick: handleDecrement,
7469
7740
  disabled: disabled || currentValue <= min,
7470
7741
  "aria-label": "Decrease value",
7471
- children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_lucide_react28.Minus, {})
7742
+ children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react28.Minus, {})
7472
7743
  }
7473
7744
  ),
7474
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
7745
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7475
7746
  "input",
7476
7747
  {
7477
7748
  type: "text",
@@ -7495,7 +7766,7 @@ function Stepper({
7495
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"
7496
7767
  }
7497
7768
  ),
7498
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
7769
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7499
7770
  Button,
7500
7771
  {
7501
7772
  type: "button",
@@ -7504,7 +7775,7 @@ function Stepper({
7504
7775
  onClick: handleIncrement,
7505
7776
  disabled: disabled || currentValue >= max,
7506
7777
  "aria-label": "Increase value",
7507
- children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_lucide_react28.Plus, {})
7778
+ children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react28.Plus, {})
7508
7779
  }
7509
7780
  )
7510
7781
  ]
@@ -7516,10 +7787,10 @@ function Stepper({
7516
7787
  }
7517
7788
 
7518
7789
  // components/ui/steps.tsx
7519
- var React19 = __toESM(require("react"), 1);
7790
+ var React20 = __toESM(require("react"), 1);
7520
7791
  var import_lucide_react29 = require("lucide-react");
7521
- var import_jsx_runtime54 = require("react/jsx-runtime");
7522
- 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" });
7523
7794
  function Steps(_a) {
7524
7795
  var _b = _a, {
7525
7796
  shape = "circle",
@@ -7534,8 +7805,8 @@ function Steps(_a) {
7534
7805
  "className",
7535
7806
  "children"
7536
7807
  ]);
7537
- const steps = React19.Children.toArray(children);
7538
- 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)(
7539
7810
  "ol",
7540
7811
  __spreadProps(__spreadValues({
7541
7812
  "data-slot": "steps",
@@ -7549,7 +7820,7 @@ function Steps(_a) {
7549
7820
  )
7550
7821
  }, props), {
7551
7822
  children: steps.map(
7552
- (child, index) => React19.isValidElement(child) ? React19.cloneElement(child, {
7823
+ (child, index) => React20.isValidElement(child) ? React20.cloneElement(child, {
7553
7824
  index: index + 1,
7554
7825
  isFirst: index === 0,
7555
7826
  isLast: index === steps.length - 1
@@ -7580,10 +7851,10 @@ function Step(_a) {
7580
7851
  "isLast",
7581
7852
  "className"
7582
7853
  ]);
7583
- const { shape, orientation, size } = React19.useContext(StepsContext);
7854
+ const { shape, orientation, size } = React20.useContext(StepsContext);
7584
7855
  const horizontal = orientation === "horizontal";
7585
7856
  const sm = size === "sm";
7586
- const indicator = /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7857
+ const indicator = /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
7587
7858
  "span",
7588
7859
  {
7589
7860
  "data-slot": "step-indicator",
@@ -7597,11 +7868,11 @@ function Step(_a) {
7597
7868
  "[&_svg]:pointer-events-none [&_svg]:shrink-0",
7598
7869
  sm ? "[&_svg:not([class*='size-'])]:size-3.5" : "[&_svg:not([class*='size-'])]:size-4"
7599
7870
  ),
7600
- 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
7601
7872
  }
7602
7873
  );
7603
7874
  if (horizontal) {
7604
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
7875
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
7605
7876
  "li",
7606
7877
  __spreadProps(__spreadValues({
7607
7878
  "data-slot": "step",
@@ -7610,8 +7881,8 @@ function Step(_a) {
7610
7881
  className: cn("flex min-w-0 flex-1 flex-col items-center", className)
7611
7882
  }, props), {
7612
7883
  children: [
7613
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex w-full items-center", children: [
7614
- /* @__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)(
7615
7886
  "span",
7616
7887
  {
7617
7888
  "aria-hidden": true,
@@ -7619,10 +7890,10 @@ function Step(_a) {
7619
7890
  className: cn("h-px flex-1", !isFirst && "bg-border-neutral-default")
7620
7891
  }
7621
7892
  ),
7622
- /* @__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") }),
7623
7894
  indicator,
7624
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: cn(!isLast && "w-1", "shrink-0") }),
7625
- /* @__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)(
7626
7897
  "span",
7627
7898
  {
7628
7899
  "aria-hidden": true,
@@ -7631,7 +7902,7 @@ function Step(_a) {
7631
7902
  }
7632
7903
  )
7633
7904
  ] }),
7634
- (title != null || description != null) && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
7905
+ (title != null || description != null) && /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
7635
7906
  "div",
7636
7907
  {
7637
7908
  "data-slot": "step-body",
@@ -7640,7 +7911,7 @@ function Step(_a) {
7640
7911
  sm ? "mt-1" : "mt-1.5"
7641
7912
  ),
7642
7913
  children: [
7643
- title != null && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7914
+ title != null && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
7644
7915
  "span",
7645
7916
  {
7646
7917
  className: cn(
@@ -7650,8 +7921,8 @@ function Step(_a) {
7650
7921
  children: title
7651
7922
  }
7652
7923
  ),
7653
- tag != null && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "type-steps-tag whitespace-nowrap text-text-brand-selected", children: tag }),
7654
- 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 })
7655
7926
  ]
7656
7927
  }
7657
7928
  )
@@ -7660,7 +7931,7 @@ function Step(_a) {
7660
7931
  );
7661
7932
  }
7662
7933
  const hasBody = title != null || description != null;
7663
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
7934
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
7664
7935
  "li",
7665
7936
  __spreadProps(__spreadValues({
7666
7937
  "data-slot": "step",
@@ -7677,9 +7948,9 @@ function Step(_a) {
7677
7948
  )
7678
7949
  }, props), {
7679
7950
  children: [
7680
- /* @__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: [
7681
7952
  indicator,
7682
- !isLast && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7953
+ !isLast && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
7683
7954
  "span",
7684
7955
  {
7685
7956
  "aria-hidden": true,
@@ -7688,13 +7959,13 @@ function Step(_a) {
7688
7959
  }
7689
7960
  )
7690
7961
  ] }),
7691
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
7962
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
7692
7963
  "div",
7693
7964
  {
7694
7965
  "data-slot": "step-body",
7695
7966
  className: cn("flex min-w-0 flex-col", !isLast && (sm ? "pb-4" : "pb-6")),
7696
7967
  children: [
7697
- title != null && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
7968
+ title != null && /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
7698
7969
  "span",
7699
7970
  {
7700
7971
  className: cn(
@@ -7703,12 +7974,12 @@ function Step(_a) {
7703
7974
  ),
7704
7975
  children: [
7705
7976
  title,
7706
- 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 })
7707
7978
  ]
7708
7979
  }
7709
7980
  ),
7710
- description != null && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "type-steps-description text-text-subtle-default", children: description }),
7711
- !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: [
7712
7983
  "Step ",
7713
7984
  index
7714
7985
  ] })
@@ -7722,7 +7993,7 @@ function Step(_a) {
7722
7993
 
7723
7994
  // components/ui/switch.tsx
7724
7995
  var import_radix_ui30 = require("radix-ui");
7725
- var import_jsx_runtime55 = require("react/jsx-runtime");
7996
+ var import_jsx_runtime56 = require("react/jsx-runtime");
7726
7997
  function Switch(_a) {
7727
7998
  var _b = _a, {
7728
7999
  className,
@@ -7731,7 +8002,7 @@ function Switch(_a) {
7731
8002
  "className",
7732
8003
  "size"
7733
8004
  ]);
7734
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
8005
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
7735
8006
  import_radix_ui30.Switch.Root,
7736
8007
  __spreadProps(__spreadValues({
7737
8008
  "data-slot": "switch",
@@ -7741,7 +8012,7 @@ function Switch(_a) {
7741
8012
  className
7742
8013
  )
7743
8014
  }, props), {
7744
- children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
8015
+ children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
7745
8016
  import_radix_ui30.Switch.Thumb,
7746
8017
  {
7747
8018
  "data-slot": "switch-thumb",
@@ -7755,15 +8026,15 @@ function Switch(_a) {
7755
8026
  }
7756
8027
 
7757
8028
  // components/ui/table.tsx
7758
- var import_jsx_runtime56 = require("react/jsx-runtime");
8029
+ var import_jsx_runtime57 = require("react/jsx-runtime");
7759
8030
  function Table(_a) {
7760
8031
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7761
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
8032
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7762
8033
  "div",
7763
8034
  {
7764
8035
  "data-slot": "table-container",
7765
8036
  className: "relative w-full overflow-x-auto",
7766
- children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
8037
+ children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7767
8038
  "table",
7768
8039
  __spreadValues({
7769
8040
  "data-slot": "table",
@@ -7775,7 +8046,7 @@ function Table(_a) {
7775
8046
  }
7776
8047
  function TableHeader(_a) {
7777
8048
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7778
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
8049
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7779
8050
  "thead",
7780
8051
  __spreadValues({
7781
8052
  "data-slot": "table-header",
@@ -7785,7 +8056,7 @@ function TableHeader(_a) {
7785
8056
  }
7786
8057
  function TableBody(_a) {
7787
8058
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7788
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
8059
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7789
8060
  "tbody",
7790
8061
  __spreadValues({
7791
8062
  "data-slot": "table-body",
@@ -7795,7 +8066,7 @@ function TableBody(_a) {
7795
8066
  }
7796
8067
  function TableFooter(_a) {
7797
8068
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7798
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
8069
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7799
8070
  "tfoot",
7800
8071
  __spreadValues({
7801
8072
  "data-slot": "table-footer",
@@ -7808,7 +8079,7 @@ function TableFooter(_a) {
7808
8079
  }
7809
8080
  function TableRow(_a) {
7810
8081
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7811
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
8082
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7812
8083
  "tr",
7813
8084
  __spreadValues({
7814
8085
  "data-slot": "table-row",
@@ -7821,7 +8092,7 @@ function TableRow(_a) {
7821
8092
  }
7822
8093
  function TableHead(_a) {
7823
8094
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7824
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
8095
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7825
8096
  "th",
7826
8097
  __spreadValues({
7827
8098
  "data-slot": "table-head",
@@ -7834,7 +8105,7 @@ function TableHead(_a) {
7834
8105
  }
7835
8106
  function TableCell(_a) {
7836
8107
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7837
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
8108
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7838
8109
  "td",
7839
8110
  __spreadValues({
7840
8111
  "data-slot": "table-cell",
@@ -7851,7 +8122,7 @@ function TableCaption(_a) {
7851
8122
  } = _b, props = __objRest(_b, [
7852
8123
  "className"
7853
8124
  ]);
7854
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
8125
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7855
8126
  "caption",
7856
8127
  __spreadValues({
7857
8128
  "data-slot": "table-caption",
@@ -7863,7 +8134,7 @@ function TableCaption(_a) {
7863
8134
  // components/ui/tabs.tsx
7864
8135
  var import_class_variance_authority14 = require("class-variance-authority");
7865
8136
  var import_radix_ui31 = require("radix-ui");
7866
- var import_jsx_runtime57 = require("react/jsx-runtime");
8137
+ var import_jsx_runtime58 = require("react/jsx-runtime");
7867
8138
  function Tabs(_a) {
7868
8139
  var _b = _a, {
7869
8140
  className,
@@ -7872,7 +8143,7 @@ function Tabs(_a) {
7872
8143
  "className",
7873
8144
  "orientation"
7874
8145
  ]);
7875
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
8146
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
7876
8147
  import_radix_ui31.Tabs.Root,
7877
8148
  __spreadValues({
7878
8149
  "data-slot": "tabs",
@@ -7915,7 +8186,7 @@ function TabsList(_a) {
7915
8186
  "variant",
7916
8187
  "size"
7917
8188
  ]);
7918
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
8189
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
7919
8190
  import_radix_ui31.Tabs.List,
7920
8191
  __spreadValues({
7921
8192
  "data-slot": "tabs-list",
@@ -7933,7 +8204,7 @@ function TabsTrigger(_a) {
7933
8204
  "className",
7934
8205
  "iconPosition"
7935
8206
  ]);
7936
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
8207
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
7937
8208
  import_radix_ui31.Tabs.Trigger,
7938
8209
  __spreadValues({
7939
8210
  "data-slot": "tabs-trigger",
@@ -7959,7 +8230,7 @@ function TabsContent(_a) {
7959
8230
  } = _b, props = __objRest(_b, [
7960
8231
  "className"
7961
8232
  ]);
7962
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
8233
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
7963
8234
  import_radix_ui31.Tabs.Content,
7964
8235
  __spreadValues({
7965
8236
  "data-slot": "tabs-content",
@@ -7971,7 +8242,7 @@ function TabsContent(_a) {
7971
8242
  // components/ui/toggle.tsx
7972
8243
  var import_class_variance_authority15 = require("class-variance-authority");
7973
8244
  var import_radix_ui32 = require("radix-ui");
7974
- var import_jsx_runtime58 = require("react/jsx-runtime");
8245
+ var import_jsx_runtime59 = require("react/jsx-runtime");
7975
8246
  var toggleVariants = (0, import_class_variance_authority15.cva)(
7976
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",
7977
8248
  {
@@ -7995,7 +8266,7 @@ function Toggle(_a) {
7995
8266
  "className",
7996
8267
  "size"
7997
8268
  ]);
7998
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
8269
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
7999
8270
  import_radix_ui32.Toggle.Root,
8000
8271
  __spreadValues({
8001
8272
  "data-slot": "toggle",
@@ -8005,10 +8276,10 @@ function Toggle(_a) {
8005
8276
  }
8006
8277
 
8007
8278
  // components/ui/toggle-group.tsx
8008
- var React20 = __toESM(require("react"), 1);
8279
+ var React21 = __toESM(require("react"), 1);
8009
8280
  var import_radix_ui33 = require("radix-ui");
8010
- var import_jsx_runtime59 = require("react/jsx-runtime");
8011
- var ToggleGroupContext = React20.createContext({
8281
+ var import_jsx_runtime60 = require("react/jsx-runtime");
8282
+ var ToggleGroupContext = React21.createContext({
8012
8283
  size: "default",
8013
8284
  spacing: 0
8014
8285
  });
@@ -8024,7 +8295,7 @@ function ToggleGroup(_a) {
8024
8295
  "spacing",
8025
8296
  "children"
8026
8297
  ]);
8027
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
8298
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8028
8299
  import_radix_ui33.ToggleGroup.Root,
8029
8300
  __spreadProps(__spreadValues({
8030
8301
  "data-slot": "toggle-group",
@@ -8036,7 +8307,7 @@ function ToggleGroup(_a) {
8036
8307
  className
8037
8308
  )
8038
8309
  }, props), {
8039
- 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 })
8040
8311
  })
8041
8312
  );
8042
8313
  }
@@ -8050,8 +8321,8 @@ function ToggleGroupItem(_a) {
8050
8321
  "children",
8051
8322
  "size"
8052
8323
  ]);
8053
- const context = React20.useContext(ToggleGroupContext);
8054
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
8324
+ const context = React21.useContext(ToggleGroupContext);
8325
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8055
8326
  import_radix_ui33.ToggleGroup.Item,
8056
8327
  __spreadProps(__spreadValues({
8057
8328
  "data-slot": "toggle-group-item",
@@ -8074,7 +8345,7 @@ function ToggleGroupItem(_a) {
8074
8345
  }
8075
8346
 
8076
8347
  // components/blocks/result-block.tsx
8077
- var import_jsx_runtime60 = require("react/jsx-runtime");
8348
+ var import_jsx_runtime61 = require("react/jsx-runtime");
8078
8349
  var THUMBS_UP_DATA_URL = "data:image/webp;base64,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";
8079
8350
  var THUMBS_DOWN_DATA_URL = "data:image/webp;base64,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";
8080
8351
  function ResultBlock({
@@ -8091,9 +8362,9 @@ function ResultBlock({
8091
8362
  const signedAmount = isWin ? `+${amount}` : `\u2212${amount}`;
8092
8363
  const amountColorClass = isWin ? "text-semantic-win" : "text-semantic-loss";
8093
8364
  const haloBgClass = isWin ? "bg-semantic-win" : "bg-semantic-loss";
8094
- 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: [
8095
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "relative flex items-center justify-center py-2", children: [
8096
- /* @__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)(
8097
8368
  "span",
8098
8369
  {
8099
8370
  "aria-hidden": true,
@@ -8101,7 +8372,7 @@ function ResultBlock({
8101
8372
  className: `absolute size-24 rounded-full blur-2xl opacity-20 ${haloBgClass}`
8102
8373
  }
8103
8374
  ),
8104
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8375
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
8105
8376
  "img",
8106
8377
  {
8107
8378
  "data-results-motion": isWin ? "icon-win" : "icon-loss",
@@ -8111,28 +8382,28 @@ function ResultBlock({
8111
8382
  }
8112
8383
  )
8113
8384
  ] }),
8114
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: "text-lg font-semibold text-on-prominent", children: titleText }),
8115
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("p", { className: `flex items-baseline gap-1.5 ${amountColorClass}`, children: [
8116
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "font-display text-4xl font-semibold tabular-nums tracking-tight", children: signedAmount }),
8117
- /* @__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 })
8118
8389
  ] }),
8119
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "flex items-center gap-2", children: [
8120
- /* @__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: [
8121
8392
  contractLabel,
8122
- pickedDigit !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_jsx_runtime60.Fragment, { children: [
8123
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { "aria-hidden": true, className: "h-3 w-px bg-border-prominent/40 mx-1" }),
8124
- /* @__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 })
8125
8396
  ] })
8126
8397
  ] }),
8127
- /* @__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 })
8128
8399
  ] }),
8129
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "w-full pt-2", children: [
8130
- ctaMode === "next-round" && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Button, { className: "w-full", children: "Next round" }),
8131
- ctaMode === "go-again" && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Button, { className: "w-full", children: "Go again" }),
8132
- ctaMode === "conversion" && /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "w-full flex flex-col gap-3", children: [
8133
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: "text-center text-base font-semibold text-on-prominent", children: "Ready to play for real?" }),
8134
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Button, { className: "w-full", children: "Deposit now" }),
8135
- /* @__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" })
8136
8407
  ] })
8137
8408
  ] })
8138
8409
  ] });
@@ -8143,21 +8414,21 @@ function ResultDialog({
8143
8414
  primaryLabel,
8144
8415
  secondaryLabel
8145
8416
  }) {
8146
- 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: [
8147
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "flex flex-col items-center gap-2 text-center", children: [
8148
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: "text-lg font-semibold text-on-prominent", children: title }),
8149
- /* @__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 })
8150
8421
  ] }),
8151
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "w-full flex flex-col gap-2", children: [
8152
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Button, { className: "w-full", children: primaryLabel }),
8153
- /* @__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 })
8154
8425
  ] })
8155
8426
  ] });
8156
8427
  }
8157
8428
 
8158
8429
  // components/blocks/header-navigation-block.tsx
8159
8430
  var import_lucide_react30 = require("lucide-react");
8160
- var import_jsx_runtime61 = require("react/jsx-runtime");
8431
+ var import_jsx_runtime62 = require("react/jsx-runtime");
8161
8432
  function HeaderNavigationBlock({
8162
8433
  onBack,
8163
8434
  badge,
@@ -8166,15 +8437,15 @@ function HeaderNavigationBlock({
8166
8437
  actions
8167
8438
  }) {
8168
8439
  var _a;
8169
- 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: [
8170
- 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" }) }),
8171
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex min-w-0 flex-1 items-center justify-center gap-2", children: [
8172
- badge && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Badge, { variant: (_a = badge.variant) != null ? _a : "tint-warning", size: "sm", children: badge.label }),
8173
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "font-display font-semibold tabular-nums text-on-prominent", children: balance.amount }),
8174
- /* @__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 })
8175
8446
  ] }),
8176
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex shrink-0 items-center gap-1", children: [
8177
- 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)),
8178
8449
  actions
8179
8450
  ] })
8180
8451
  ] }) });
@@ -8187,9 +8458,9 @@ function HistoryButton({
8187
8458
  const show = typeof count === "number" && count > 0;
8188
8459
  const label = show ? count > 99 ? "99+" : String(count) : null;
8189
8460
  const ariaLabel = ariaLabelOverride != null ? ariaLabelOverride : show ? `Open history, ${count} new` : "Open history";
8190
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "relative inline-flex", children: [
8191
- /* @__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" }) }),
8192
- show && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
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)(
8193
8464
  Badge,
8194
8465
  {
8195
8466
  "aria-hidden": true,
@@ -8204,7 +8475,7 @@ function HistoryButton({
8204
8475
  // components/blocks/faq-block.tsx
8205
8476
  var import_lucide_react31 = require("lucide-react");
8206
8477
  var import_radix_ui34 = require("radix-ui");
8207
- var import_jsx_runtime62 = require("react/jsx-runtime");
8478
+ var import_jsx_runtime63 = require("react/jsx-runtime");
8208
8479
  function FAQBlock({
8209
8480
  eyebrow = "FAQ",
8210
8481
  title = "Frequently asked questions",
@@ -8216,34 +8487,34 @@ function FAQBlock({
8216
8487
  }) {
8217
8488
  var _a, _b;
8218
8489
  if (layout === "two-column") {
8219
- 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: [
8220
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex flex-col gap-4 flex-1 @[600px]:max-w-xs", children: [
8221
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "text-xs font-body font-semibold tracking-widest uppercase text-on-subtle", children: eyebrow }),
8222
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("h2", { className: "text-4xl @[600px]:text-6xl font-semibold font-display text-on-prominent tracking-tight", children: title }),
8223
- 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 })
8224
8495
  ] }),
8225
- /* @__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)(
8226
8497
  Accordion,
8227
8498
  {
8228
8499
  type: "single",
8229
8500
  collapsible: true,
8230
8501
  defaultValue: defaultValue != null ? defaultValue : (_a = items[0]) == null ? void 0 : _a.value,
8231
8502
  className: "w-full",
8232
- children: items.map(({ value, question, answer }, i) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(AccordionItem, { value, children: [
8233
- /* @__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)(
8234
8505
  import_radix_ui34.Accordion.Trigger,
8235
8506
  {
8236
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",
8237
8508
  children: [
8238
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("span", { className: "flex items-baseline gap-4", children: [
8239
- /* @__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") }),
8240
- /* @__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 })
8241
8512
  ] }),
8242
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: cn(
8513
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: cn(
8243
8514
  "shrink-0 size-7 flex items-center justify-center rounded-sm border transition-all duration-200",
8244
8515
  "group-data-[state=open]:bg-primary group-data-[state=open]:border-primary",
8245
8516
  "group-data-[state=closed]:bg-transparent group-data-[state=closed]:border-border-subtle"
8246
- ), 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(
8247
8518
  "size-4 transition-all duration-200",
8248
8519
  "group-data-[state=open]:rotate-45 group-data-[state=open]:text-on-primary",
8249
8520
  "group-data-[state=closed]:text-on-prominent"
@@ -8251,7 +8522,7 @@ function FAQBlock({
8251
8522
  ]
8252
8523
  }
8253
8524
  ) }),
8254
- /* @__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 }) })
8255
8526
  ] }, value))
8256
8527
  }
8257
8528
  ) })
@@ -8262,38 +8533,38 @@ function FAQBlock({
8262
8533
  const helpCardPaddingClass = layout === "desktop" ? "p-8" : "p-6";
8263
8534
  const gapClass = layout === "desktop" ? "gap-12" : "gap-10";
8264
8535
  const headerGapClass = layout === "desktop" ? "gap-5" : "gap-4";
8265
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: `w-full flex flex-col ${gapClass}`, children: [
8266
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: `flex flex-col ${headerGapClass} items-center w-full`, children: [
8267
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "text-sm text-on-subtle font-body", children: eyebrow }),
8268
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("h2", { className: headingClass, children: title }),
8269
- 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 })
8270
8541
  ] }),
8271
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
8542
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
8272
8543
  Accordion,
8273
8544
  {
8274
8545
  type: "single",
8275
8546
  collapsible: true,
8276
8547
  defaultValue: defaultValue != null ? defaultValue : (_b = items[0]) == null ? void 0 : _b.value,
8277
8548
  className: "w-full",
8278
- children: items.map(({ value, question, answer }) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(AccordionItem, { value, children: [
8279
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(AccordionTrigger, { className: "text-base font-medium font-body text-on-prominent hover:no-underline", children: question }),
8280
- /* @__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 }) })
8281
8552
  ] }, value))
8282
8553
  }
8283
8554
  ),
8284
- helpCard && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: `flex flex-col gap-6 items-center w-full bg-subtle rounded-xl ${helpCardPaddingClass}`, children: [
8285
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex flex-col gap-2 w-full", children: [
8286
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("h3", { className: helpTitleClass, children: helpCard.title }),
8287
- /* @__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 })
8288
8559
  ] }),
8289
- /* @__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 })
8290
8561
  ] })
8291
8562
  ] });
8292
8563
  }
8293
8564
 
8294
8565
  // components/blocks/hero-block.tsx
8295
8566
  var import_lucide_react32 = require("lucide-react");
8296
- var import_jsx_runtime63 = require("react/jsx-runtime");
8567
+ var import_jsx_runtime64 = require("react/jsx-runtime");
8297
8568
  function HeroBlock({
8298
8569
  layout = "centered",
8299
8570
  tagline,
@@ -8304,31 +8575,31 @@ function HeroBlock({
8304
8575
  image
8305
8576
  }) {
8306
8577
  if (layout === "centered") {
8307
- 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: [
8308
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "flex flex-col items-center gap-6 w-full", children: [
8309
- tagline && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(TaglinePill, __spreadValues({}, tagline)),
8310
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("h1", { className: "text-5xl font-semibold font-display tracking-tight text-on-prominent text-center", children: heading }),
8311
- /* @__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 })
8312
8583
  ] }),
8313
- /* @__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: [
8314
8585
  primaryCta.label,
8315
- 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" })
8316
8587
  ] })
8317
8588
  ] }) });
8318
8589
  }
8319
- 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: [
8320
- /* @__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: [
8321
- /* @__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: [
8322
- tagline && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(TaglinePill, __spreadProps(__spreadValues({}, tagline), { responsive: true })),
8323
- /* @__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 }),
8324
- /* @__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 })
8325
8596
  ] }),
8326
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "flex items-center justify-center min-[600px]:justify-start gap-2", children: [
8327
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Button, { size: "sm", onClick: primaryCta.onClick, children: primaryCta.label }),
8328
- 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 })
8329
8600
  ] })
8330
8601
  ] }),
8331
- /* @__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 })
8332
8603
  ] }) });
8333
8604
  }
8334
8605
  function TaglinePill({
@@ -8336,25 +8607,25 @@ function TaglinePill({
8336
8607
  suffix,
8337
8608
  responsive
8338
8609
  }) {
8339
- 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: [
8340
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "size-1.5 rounded-full bg-semantic-win shrink-0", "aria-hidden": "true" }),
8341
- responsive && suffix ? /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("span", { className: "text-sm font-body text-on-prominent whitespace-nowrap", children: [
8342
- /* @__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: [
8343
8614
  label,
8344
- /* @__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 " })
8345
8616
  ] }),
8346
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "text-on-subtle min-[600px]:text-on-prominent", children: suffix })
8347
- ] }) : /* @__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: [
8348
8619
  label,
8349
- 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}` })
8350
8621
  ] }),
8351
- /* @__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" })
8352
8623
  ] });
8353
8624
  }
8354
8625
 
8355
8626
  // components/blocks/auth-block.tsx
8356
- var React21 = __toESM(require("react"), 1);
8357
- var import_jsx_runtime64 = require("react/jsx-runtime");
8627
+ var React22 = __toESM(require("react"), 1);
8628
+ var import_jsx_runtime65 = require("react/jsx-runtime");
8358
8629
  function AuthBlock({
8359
8630
  mode,
8360
8631
  logoSrc,
@@ -8369,20 +8640,20 @@ function AuthBlock({
8369
8640
  const ctaText = mode === "sign-in" ? "Sign in" : "Sign up";
8370
8641
  const footerPrompt = mode === "sign-in" ? "Don't have an account?" : "Already have an account?";
8371
8642
  const footerLinkLabel = mode === "sign-in" ? "Sign up" : "Log in";
8372
- const [email, setEmail] = React21.useState("");
8373
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex flex-col items-center gap-6 w-full", children: [
8374
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-center gap-2", children: [
8375
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("img", { src: logoSrc, alt: wordmark, className: "size-8 object-contain" }),
8376
- /* @__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 })
8377
8648
  ] }),
8378
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("h2", { className: "text-3xl font-semibold font-display text-on-prominent text-center", children: headingText }),
8379
- /* @__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)) }),
8380
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-center gap-3 w-full", children: [
8381
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "flex-1 h-px bg-border-subtle" }),
8382
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-sm text-on-subtle font-body", children: "or" }),
8383
- /* @__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" })
8384
8655
  ] }),
8385
- /* @__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)(
8386
8657
  Input,
8387
8658
  {
8388
8659
  id: `${idPrefix}-email`,
@@ -8393,60 +8664,60 @@ function AuthBlock({
8393
8664
  onChange: (e) => setEmail(e.target.value)
8394
8665
  }
8395
8666
  ) }),
8396
- /* @__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: [
8397
8668
  termsText,
8398
8669
  ", you agree to our",
8399
8670
  " ",
8400
- /* @__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" })
8401
8672
  ] }),
8402
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Button, { size: "md", className: "w-full", onClick: () => onSubmit == null ? void 0 : onSubmit({ email }), children: ctaText }),
8403
- /* @__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: [
8404
8675
  footerPrompt,
8405
8676
  " ",
8406
- /* @__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 })
8407
8678
  ] })
8408
8679
  ] });
8409
8680
  }
8410
8681
  function ProviderButton({ provider }) {
8411
8682
  switch (provider) {
8412
8683
  case "google":
8413
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
8414
- /* @__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: [
8415
- /* @__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" }),
8416
- /* @__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" }),
8417
- /* @__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" }),
8418
- /* @__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" })
8419
8690
  ] }),
8420
8691
  "Continue with Google"
8421
8692
  ] });
8422
8693
  case "telegram":
8423
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
8424
- /* @__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: [
8425
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("circle", { cx: "9", cy: "9", r: "9", fill: "#29B6F6" }),
8426
- /* @__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" }),
8427
- /* @__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" })
8428
8699
  ] }),
8429
8700
  "Continue with Telegram"
8430
8701
  ] });
8431
8702
  case "x":
8432
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
8433
- /* @__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" }) }),
8434
8705
  "Continue with X (Twitter)"
8435
8706
  ] });
8436
8707
  }
8437
8708
  }
8438
8709
 
8439
8710
  // components/blocks/navbar-block.tsx
8440
- var React22 = __toESM(require("react"), 1);
8711
+ var React23 = __toESM(require("react"), 1);
8441
8712
  var import_lucide_react33 = require("lucide-react");
8442
- var import_jsx_runtime65 = require("react/jsx-runtime");
8713
+ var import_jsx_runtime66 = require("react/jsx-runtime");
8443
8714
  function NavBarBlock({ brand, links, signIn, signUp }) {
8444
8715
  var _a, _b, _c, _d;
8445
- const [mobileMenuOpen, setMobileMenuOpen] = React22.useState(false);
8446
- 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: [
8447
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center justify-between px-layout-margin-inline py-3", children: [
8448
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-6", children: [
8449
- /* @__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)(
8450
8721
  "img",
8451
8722
  {
8452
8723
  src: brand.fullLogoSrc,
@@ -8454,7 +8725,7 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
8454
8725
  className: "hidden min-[600px]:block h-7 w-auto shrink-0 object-contain object-left"
8455
8726
  }
8456
8727
  ),
8457
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
8728
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
8458
8729
  "img",
8459
8730
  {
8460
8731
  src: brand.iconLogoSrc,
@@ -8462,13 +8733,13 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
8462
8733
  className: "min-[600px]:hidden size-7 shrink-0 object-contain"
8463
8734
  }
8464
8735
  ),
8465
- /* @__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)) })
8466
8737
  ] }),
8467
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "hidden min-[600px]:flex items-center gap-2", children: [
8468
- signIn && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button, { variant: "tertiary", size: "sm", onClick: signIn.onClick, children: (_a = signIn.label) != null ? _a : "Sign in" }),
8469
- 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" })
8470
8741
  ] }),
8471
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
8742
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
8472
8743
  Button,
8473
8744
  {
8474
8745
  variant: "tertiary",
@@ -8477,12 +8748,12 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
8477
8748
  "aria-expanded": mobileMenuOpen,
8478
8749
  className: "min-[600px]:hidden",
8479
8750
  onClick: () => setMobileMenuOpen((prev) => !prev),
8480
- 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" })
8481
8752
  }
8482
8753
  )
8483
8754
  ] }),
8484
- 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: [
8485
- 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)(
8486
8757
  Button,
8487
8758
  {
8488
8759
  variant: "tertiary",
@@ -8493,9 +8764,9 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
8493
8764
  },
8494
8765
  l.label
8495
8766
  )),
8496
- (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: [
8497
- 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" }),
8498
- 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" })
8499
8770
  ] })
8500
8771
  ] })
8501
8772
  ] }) });
@@ -8503,7 +8774,7 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
8503
8774
 
8504
8775
  // components/blocks/open-positions-block.tsx
8505
8776
  var import_lucide_react34 = require("lucide-react");
8506
- var import_jsx_runtime66 = require("react/jsx-runtime");
8777
+ var import_jsx_runtime67 = require("react/jsx-runtime");
8507
8778
  function OpenPositionsBlock({
8508
8779
  trigger,
8509
8780
  sheetTitle = "Positions",
@@ -8512,28 +8783,28 @@ function OpenPositionsBlock({
8512
8783
  emptyState
8513
8784
  }) {
8514
8785
  const isMobile = useIsMobile();
8515
- 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 });
8516
8787
  if (isMobile) {
8517
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(Drawer, { children: [
8518
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(DrawerTrigger, { asChild: true, children: trigger }),
8519
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(DrawerContent, { className: "p-0 flex flex-col", children: [
8520
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(DrawerHeader, { className: "flex-row items-center justify-between px-4 py-3 shrink-0 text-left", children: [
8521
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(DrawerTitle, { className: "text-base font-semibold font-display text-on-prominent", children: sheetTitle }),
8522
- /* @__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, {}) }) })
8523
8794
  ] }),
8524
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Separator, {}),
8795
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Separator, {}),
8525
8796
  body
8526
8797
  ] })
8527
8798
  ] });
8528
8799
  }
8529
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(Sheet, { children: [
8530
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(SheetTrigger, { asChild: true, children: trigger }),
8531
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(SheetContent, { side: "right", showCloseButton: false, className: "p-0 flex flex-col w-80 sm:max-w-xs", children: [
8532
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(SheetHeader, { className: "flex-row items-center justify-between px-4 py-3 shrink-0", children: [
8533
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(SheetTitle, { className: "text-base font-semibold font-display text-on-prominent", children: sheetTitle }),
8534
- /* @__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, {}) }) })
8535
8806
  ] }),
8536
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Separator, {}),
8807
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Separator, {}),
8537
8808
  body
8538
8809
  ] })
8539
8810
  ] });
@@ -8542,23 +8813,23 @@ function PositionsList({
8542
8813
  positions,
8543
8814
  onViewHistory
8544
8815
  }) {
8545
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex flex-col flex-1 min-h-0", children: [
8546
- /* @__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)) }),
8547
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Separator, {}),
8548
- /* @__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" }) })
8549
8820
  ] });
8550
8821
  }
8551
8822
  function PositionRow({ position }) {
8552
8823
  const { label, suffix } = positionTitleParts(position);
8553
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(Item, { size: "sm", children: [
8554
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(ItemContent, { children: [
8555
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(ItemTitle, { children: [
8556
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "text-on-prominent", children: label }),
8557
- 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}` })
8558
8829
  ] }),
8559
- /* @__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 })
8560
8831
  ] }),
8561
- /* @__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 }) })
8562
8833
  ] });
8563
8834
  }
8564
8835
  var DIGITS_TYPE_LABEL = {
@@ -8584,29 +8855,29 @@ function positionTitleParts(p) {
8584
8855
  }
8585
8856
  }
8586
8857
  function MetaNote({ market, duration }) {
8587
- 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: [
8588
8859
  market,
8589
8860
  " \xB7 ",
8590
8861
  duration
8591
8862
  ] });
8592
8863
  }
8593
8864
  function PnlMeta({ pnl, win, stake }) {
8594
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex flex-col items-end gap-0.5", children: [
8595
- /* @__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 }),
8596
- /* @__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 })
8597
8868
  ] });
8598
8869
  }
8599
8870
  function DefaultEmptyState({ onViewHistory }) {
8600
- 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: [
8601
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(EmptyMedia, { children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react34.History, { className: "size-8 text-on-subtle" }) }),
8602
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(EmptyTitle, { className: "h6 text-on-subtle", children: "No trades yet." }),
8603
- /* @__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" })
8604
8875
  ] }) });
8605
8876
  }
8606
8877
 
8607
8878
  // components/blocks/game-loading-block.tsx
8608
- var React23 = __toESM(require("react"), 1);
8609
- var import_jsx_runtime67 = require("react/jsx-runtime");
8879
+ var React24 = __toESM(require("react"), 1);
8880
+ var import_jsx_runtime68 = require("react/jsx-runtime");
8610
8881
  function useSmoothProgress({
8611
8882
  checkpoints,
8612
8883
  reached,
@@ -8616,19 +8887,19 @@ function useSmoothProgress({
8616
8887
  readyLabel = "Ready"
8617
8888
  }) {
8618
8889
  var _a, _b;
8619
- const [progress, setProgress] = React23.useState(0);
8620
- const [delayed, setDelayed] = React23.useState(false);
8621
- const checkpointsRef = React23.useRef(checkpoints);
8622
- const reachedRef = React23.useRef(reached);
8623
- const doneRef = React23.useRef(done);
8624
- 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(() => {
8625
8896
  checkpointsRef.current = checkpoints;
8626
8897
  reachedRef.current = reached;
8627
8898
  doneRef.current = done;
8628
8899
  });
8629
- const progressRef = React23.useRef(0);
8630
- const lastAdvanceRef = React23.useRef(0);
8631
- React23.useEffect(() => {
8900
+ const progressRef = React24.useRef(0);
8901
+ const lastAdvanceRef = React24.useRef(0);
8902
+ React24.useEffect(() => {
8632
8903
  let raf = 0;
8633
8904
  let last = 0;
8634
8905
  const tick = (ts) => {
@@ -8682,14 +8953,14 @@ function GameLoadingBlock({
8682
8953
  backgroundImageUrl,
8683
8954
  className
8684
8955
  }) {
8685
- const [go, setGo] = React23.useState(false);
8686
- const [reduced, setReduced] = React23.useState(false);
8687
- React23.useEffect(() => {
8956
+ const [go, setGo] = React24.useState(false);
8957
+ const [reduced, setReduced] = React24.useState(false);
8958
+ React24.useEffect(() => {
8688
8959
  if (typeof window !== "undefined" && typeof window.matchMedia === "function") {
8689
8960
  setReduced(window.matchMedia("(prefers-reduced-motion: reduce)").matches);
8690
8961
  }
8691
8962
  }, []);
8692
- React23.useEffect(() => {
8963
+ React24.useEffect(() => {
8693
8964
  if (!exiting) return;
8694
8965
  const raf = requestAnimationFrame(() => setGo(true));
8695
8966
  const timer = setTimeout(() => onExitEnd == null ? void 0 : onExitEnd(), reduced ? 240 : 700);
@@ -8701,7 +8972,7 @@ function GameLoadingBlock({
8701
8972
  const isAbsolute = exiting || contained;
8702
8973
  const punched = Boolean(logoSrc);
8703
8974
  const animate = exiting && go && !reduced;
8704
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
8975
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
8705
8976
  "div",
8706
8977
  {
8707
8978
  role: "status",
@@ -8717,7 +8988,7 @@ function GameLoadingBlock({
8717
8988
  className
8718
8989
  ),
8719
8990
  children: [
8720
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
8991
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
8721
8992
  "div",
8722
8993
  {
8723
8994
  "aria-hidden": "true",
@@ -8735,7 +9006,7 @@ function GameLoadingBlock({
8735
9006
  } : null)
8736
9007
  }
8737
9008
  ),
8738
- logoSrc && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
9009
+ logoSrc && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
8739
9010
  "img",
8740
9011
  {
8741
9012
  src: logoSrc,
@@ -8744,16 +9015,16 @@ function GameLoadingBlock({
8744
9015
  className: cn("game-loader-mark", animate && "game-loader-mark-exit")
8745
9016
  }
8746
9017
  ),
8747
- !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: [
8748
- /* @__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)(
8749
9020
  "div",
8750
9021
  {
8751
9022
  className: "absolute inset-y-0 left-0 overflow-hidden rounded-xs bg-background-brand-default",
8752
9023
  style: { width: `${progress}%` },
8753
- 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%]" })
8754
9025
  }
8755
9026
  ) }),
8756
- /* @__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 })
8757
9028
  ] })
8758
9029
  ]
8759
9030
  }
@@ -8840,6 +9111,7 @@ function GameLoadingBlock({
8840
9111
  ContextMenuSubContent,
8841
9112
  ContextMenuSubTrigger,
8842
9113
  ContextMenuTrigger,
9114
+ DateWheelPicker,
8843
9115
  Dialog,
8844
9116
  DialogClose,
8845
9117
  DialogContent,