@trading-game/design-intelligence-layer 1.0.7 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -935,9 +935,11 @@ var badgeVariants = cva4(
935
935
  "solid-fail": "bg-background-error-solid text-text-on-status-static",
936
936
  "solid-warning": "bg-background-warning-solid text-text-on-status-static",
937
937
  // Tint — the Section Message surface tokens, coloured foreground.
938
- // Brand tint = the static brand-container recipe (layered value,
939
- // so it paints via `background`, not a bg-* utility).
940
- tint: "[background:var(--background-brand-container)] border-transparent text-text-brand-container-static",
938
+ // Brand tint rides `brand-selected`, the theme-aware selection
939
+ // family, for the same reason Calendar's range band does: the
940
+ // static `brand-container` is one value in both themes and sits
941
+ // near-white on a dark surface.
942
+ tint: "bg-background-brand-selected border-transparent text-text-brand-selected",
941
943
  "tint-demo": "bg-background-demo-default border-transparent text-text-demo-default",
942
944
  "tint-neutral": "bg-background-secondary-surface border-transparent text-text-prominent-default",
943
945
  "tint-success": "bg-background-success-default border-transparent text-text-success-default",
@@ -948,7 +950,18 @@ var badgeVariants = cva4(
948
950
  xs: "type-badge-xs h-5 px-2 py-0.5",
949
951
  sm: "type-badge-sm h-6 px-2.5 py-0.5",
950
952
  md: "type-badge-md h-8 px-3 py-1",
951
- lg: "type-badge-lg h-10 px-4 py-1.5"
953
+ lg: "type-badge-lg h-10 px-4 py-1.5",
954
+ /* `count` is a shape, not a step on the xs/sm/md/lg rail: an
955
+ 18px disc that grows into a pill as digits are added. The
956
+ padding is deliberately tight (`px-1`): one digit then
957
+ measures under the 18px min-width, so min-width wins and the
958
+ disc is a true circle. Widen the padding and a single digit
959
+ overshoots 18px, turning it back into an oval. `tabular-nums` keeps every digit
960
+ the same width, so a ticking count only resizes when the
961
+ digit count changes, not on every update. Callers that pin
962
+ it over other chrome add their own knockout ring — Badge
963
+ cannot know what sits behind it. */
964
+ count: "type-badge-xs min-w-[1.125rem] h-[1.125rem] px-1 tabular-nums"
952
965
  }
953
966
  },
954
967
  defaultVariants: {
@@ -3013,25 +3026,297 @@ function ContextMenuShortcut(_a) {
3013
3026
  );
3014
3027
  }
3015
3028
 
3029
+ // components/ui/date-wheel-picker.tsx
3030
+ import * as React7 from "react";
3031
+ import { jsx as jsx23, jsxs as jsxs15 } from "react/jsx-runtime";
3032
+ var ROW = 40;
3033
+ var VISIBLE_ROWS = 5;
3034
+ var SETTLE_MS = 120;
3035
+ var toParts = (date) => ({
3036
+ y: date.getFullYear(),
3037
+ m: date.getMonth(),
3038
+ d: date.getDate()
3039
+ });
3040
+ var toDate = ({ y, m, d }) => new Date(y, m, d);
3041
+ var daysIn = (y, m) => new Date(y, m + 1, 0).getDate();
3042
+ var dayStart = (date) => new Date(date.getFullYear(), date.getMonth(), date.getDate());
3043
+ function clamp(parts, min, max) {
3044
+ const d = Math.min(parts.d, daysIn(parts.y, parts.m));
3045
+ const date = toDate(__spreadProps(__spreadValues({}, parts), { d }));
3046
+ if (date < min) return toParts(min);
3047
+ if (date > max) return toParts(max);
3048
+ return __spreadProps(__spreadValues({}, parts), { d });
3049
+ }
3050
+ function Wheel({ items, index, onIndexChange, label, className }) {
3051
+ var _a;
3052
+ const ref = React7.useRef(null);
3053
+ const settleTimer = React7.useRef(null);
3054
+ const mounted = React7.useRef(false);
3055
+ const [live, setLive] = React7.useState(index);
3056
+ const scrollToIndex = React7.useCallback((i, smooth) => {
3057
+ var _a2;
3058
+ const el = ref.current;
3059
+ if (!el) return;
3060
+ const reduce = (_a2 = window.matchMedia) == null ? void 0 : _a2.call(window, "(prefers-reduced-motion: reduce)").matches;
3061
+ el.scrollTo({ top: i * ROW, behavior: smooth && !reduce ? "smooth" : "auto" });
3062
+ }, []);
3063
+ React7.useEffect(() => {
3064
+ setLive(index);
3065
+ const el = ref.current;
3066
+ if (el && Math.round(el.scrollTop / ROW) !== index) {
3067
+ scrollToIndex(index, mounted.current);
3068
+ }
3069
+ mounted.current = true;
3070
+ }, [index, items.length, scrollToIndex]);
3071
+ React7.useEffect(
3072
+ () => () => {
3073
+ if (settleTimer.current) clearTimeout(settleTimer.current);
3074
+ },
3075
+ []
3076
+ );
3077
+ const nearestEnabled = (i) => {
3078
+ var _a2;
3079
+ if (!((_a2 = items[i]) == null ? void 0 : _a2.disabled)) return i;
3080
+ for (let step2 = 1; step2 < items.length; step2++) {
3081
+ if (items[i - step2] && !items[i - step2].disabled) return i - step2;
3082
+ if (items[i + step2] && !items[i + step2].disabled) return i + step2;
3083
+ }
3084
+ return i;
3085
+ };
3086
+ const onScroll = () => {
3087
+ var _a2;
3088
+ const el = ref.current;
3089
+ if (!el) return;
3090
+ const i = Math.max(0, Math.min(items.length - 1, Math.round(el.scrollTop / ROW)));
3091
+ if (i !== live) {
3092
+ setLive(i);
3093
+ (_a2 = navigator.vibrate) == null ? void 0 : _a2.call(navigator, 4);
3094
+ }
3095
+ if (settleTimer.current) clearTimeout(settleTimer.current);
3096
+ settleTimer.current = setTimeout(() => {
3097
+ const target = nearestEnabled(i);
3098
+ if (target !== i) {
3099
+ setLive(target);
3100
+ scrollToIndex(target, true);
3101
+ if (target !== index) onIndexChange(target);
3102
+ } else if (target !== index) onIndexChange(target);
3103
+ }, SETTLE_MS);
3104
+ };
3105
+ const step = (from, delta) => {
3106
+ var _a2;
3107
+ let i = from;
3108
+ for (let n = Math.abs(delta); n > 0; n--) {
3109
+ let next = i + Math.sign(delta);
3110
+ while ((_a2 = items[next]) == null ? void 0 : _a2.disabled) next += Math.sign(delta);
3111
+ if (!items[next]) break;
3112
+ i = next;
3113
+ }
3114
+ return i;
3115
+ };
3116
+ const onKeyDown = (e) => {
3117
+ const last = items.length - 1;
3118
+ let next = null;
3119
+ if (e.key === "ArrowDown") next = step(index, 1);
3120
+ else if (e.key === "ArrowUp") next = step(index, -1);
3121
+ else if (e.key === "PageDown") next = step(index, 5);
3122
+ else if (e.key === "PageUp") next = step(index, -5);
3123
+ else if (e.key === "Home") next = nearestEnabled(0);
3124
+ else if (e.key === "End") next = nearestEnabled(last);
3125
+ if (next === null) return;
3126
+ e.preventDefault();
3127
+ if (next !== index) onIndexChange(next);
3128
+ };
3129
+ const enabled = items.filter((it) => !it.disabled);
3130
+ return /* @__PURE__ */ jsxs15(
3131
+ "div",
3132
+ {
3133
+ ref,
3134
+ "data-slot": "date-wheel-picker-wheel",
3135
+ role: "spinbutton",
3136
+ tabIndex: 0,
3137
+ "aria-label": label,
3138
+ "aria-valuenow": index,
3139
+ "aria-valuetext": (_a = items[index]) == null ? void 0 : _a.label,
3140
+ "aria-valuemin": items.indexOf(enabled[0]),
3141
+ "aria-valuemax": items.indexOf(enabled[enabled.length - 1]),
3142
+ onScroll,
3143
+ onKeyDown,
3144
+ className: cn(
3145
+ "relative z-10 h-50 min-w-0 snap-y snap-mandatory overflow-y-scroll rounded-md outline-none",
3146
+ "[scrollbar-width:none] [&::-webkit-scrollbar]:hidden",
3147
+ // Rows fade toward the edges so the wheel reads as a drum.
3148
+ "[mask-image:linear-gradient(to_bottom,transparent,black_32%,black_68%,transparent)]",
3149
+ "focus-visible:ring-[3px] focus-visible:ring-ring-focus-strong",
3150
+ className
3151
+ ),
3152
+ children: [
3153
+ /* @__PURE__ */ jsx23("div", { "aria-hidden": true, className: "h-20" }),
3154
+ items.map((item, i) => /* @__PURE__ */ jsx23(
3155
+ "div",
3156
+ {
3157
+ "aria-hidden": true,
3158
+ "data-selected": i === live ? "" : void 0,
3159
+ "data-disabled": item.disabled ? "" : void 0,
3160
+ onClick: () => !item.disabled && scrollToIndex(i, true),
3161
+ className: cn(
3162
+ "type-date-wheel-picker-item flex h-10 cursor-pointer snap-center items-center justify-center whitespace-nowrap tabular-nums select-none",
3163
+ "text-text-subtle-default transition-[color,transform] duration-fast ease-standard motion-reduce:transition-none",
3164
+ "data-selected:scale-[1.04] data-selected:text-text-brand-selected",
3165
+ "data-disabled:cursor-default data-disabled:text-text-disabled-default"
3166
+ ),
3167
+ children: item.label
3168
+ },
3169
+ i
3170
+ )),
3171
+ /* @__PURE__ */ jsx23("div", { "aria-hidden": true, className: "h-20" })
3172
+ ]
3173
+ }
3174
+ );
3175
+ }
3176
+ function DateWheelPicker(_a) {
3177
+ var _b = _a, {
3178
+ value,
3179
+ defaultValue,
3180
+ onValueChange,
3181
+ min: minProp,
3182
+ max: maxProp,
3183
+ order = "dmy",
3184
+ monthFormat = "long",
3185
+ locale,
3186
+ className
3187
+ } = _b, props = __objRest(_b, [
3188
+ "value",
3189
+ "defaultValue",
3190
+ "onValueChange",
3191
+ "min",
3192
+ "max",
3193
+ "order",
3194
+ "monthFormat",
3195
+ "locale",
3196
+ "className"
3197
+ ]);
3198
+ const min = React7.useMemo(
3199
+ () => dayStart(minProp != null ? minProp : new Date(1900, 0, 1)),
3200
+ [minProp]
3201
+ );
3202
+ const max = React7.useMemo(
3203
+ () => dayStart(maxProp != null ? maxProp : new Date((/* @__PURE__ */ new Date()).getFullYear() + 10, 11, 31)),
3204
+ [maxProp]
3205
+ );
3206
+ const [inner, setInner] = React7.useState(
3207
+ () => clamp(toParts(defaultValue != null ? defaultValue : /* @__PURE__ */ new Date()), min, max)
3208
+ );
3209
+ const parts = value ? clamp(toParts(value), min, max) : clamp(inner, min, max);
3210
+ const commit = (next) => {
3211
+ const c = clamp(next, min, max);
3212
+ if (!value) setInner(c);
3213
+ if (c.y !== parts.y || c.m !== parts.m || c.d !== parts.d) {
3214
+ onValueChange == null ? void 0 : onValueChange(toDate(c));
3215
+ }
3216
+ };
3217
+ const monthNames = React7.useMemo(() => {
3218
+ const fmt = new Intl.DateTimeFormat(locale, {
3219
+ month: monthFormat === "numeric" ? "2-digit" : monthFormat
3220
+ });
3221
+ return Array.from({ length: 12 }, (_, m) => fmt.format(new Date(2e3, m, 1)));
3222
+ }, [locale, monthFormat]);
3223
+ const years = React7.useMemo(() => {
3224
+ const list = [];
3225
+ for (let y = min.getFullYear(); y <= max.getFullYear(); y++) list.push(y);
3226
+ return list;
3227
+ }, [min, max]);
3228
+ const inRange = (y, m, d) => {
3229
+ const date = new Date(y, m, d);
3230
+ return date >= min && date <= max;
3231
+ };
3232
+ const dayItems = Array.from({ length: daysIn(parts.y, parts.m) }, (_, i) => ({
3233
+ label: String(i + 1).padStart(2, "0"),
3234
+ disabled: !inRange(parts.y, parts.m, i + 1)
3235
+ }));
3236
+ const monthItems = monthNames.map((label, m) => ({
3237
+ label,
3238
+ // A month is off only when none of its days are in range.
3239
+ disabled: new Date(parts.y, m, daysIn(parts.y, m)) < min || new Date(parts.y, m, 1) > max
3240
+ }));
3241
+ const yearItems = years.map((y) => ({ label: String(y), disabled: false }));
3242
+ const wheels = {
3243
+ d: /* @__PURE__ */ jsx23(
3244
+ Wheel,
3245
+ {
3246
+ label: "Day",
3247
+ items: dayItems,
3248
+ index: parts.d - 1,
3249
+ onIndexChange: (i) => commit(__spreadProps(__spreadValues({}, parts), { d: i + 1 })),
3250
+ className: "flex-[0.8]"
3251
+ },
3252
+ "d"
3253
+ ),
3254
+ m: /* @__PURE__ */ jsx23(
3255
+ Wheel,
3256
+ {
3257
+ label: "Month",
3258
+ items: monthItems,
3259
+ index: parts.m,
3260
+ onIndexChange: (i) => commit(__spreadProps(__spreadValues({}, parts), { m: i })),
3261
+ className: monthFormat === "long" ? "flex-[1.5]" : "flex-1"
3262
+ },
3263
+ "m"
3264
+ ),
3265
+ y: /* @__PURE__ */ jsx23(
3266
+ Wheel,
3267
+ {
3268
+ label: "Year",
3269
+ items: yearItems,
3270
+ index: parts.y - years[0],
3271
+ onIndexChange: (i) => commit(__spreadProps(__spreadValues({}, parts), { y: years[i] })),
3272
+ className: "flex-1"
3273
+ },
3274
+ "y"
3275
+ )
3276
+ };
3277
+ return /* @__PURE__ */ jsxs15(
3278
+ "div",
3279
+ __spreadProps(__spreadValues({
3280
+ "data-slot": "date-wheel-picker",
3281
+ role: "group",
3282
+ "aria-label": "Date",
3283
+ className: cn("relative flex w-full gap-1", className),
3284
+ style: { height: ROW * VISIBLE_ROWS }
3285
+ }, props), {
3286
+ children: [
3287
+ /* @__PURE__ */ jsx23(
3288
+ "div",
3289
+ {
3290
+ "aria-hidden": true,
3291
+ "data-slot": "date-wheel-picker-band",
3292
+ className: "pointer-events-none absolute inset-x-0 top-20 h-10 rounded-md bg-background-brand-selected"
3293
+ }
3294
+ ),
3295
+ order.split("").map((k) => wheels[k])
3296
+ ]
3297
+ })
3298
+ );
3299
+ }
3300
+
3016
3301
  // components/ui/drawer.tsx
3017
3302
  import { XIcon as XIcon2 } from "lucide-react";
3018
3303
  import { Drawer as DrawerPrimitive } from "vaul";
3019
- import { jsx as jsx23, jsxs as jsxs15 } from "react/jsx-runtime";
3304
+ import { jsx as jsx24, jsxs as jsxs16 } from "react/jsx-runtime";
3020
3305
  function Drawer(_a) {
3021
3306
  var props = __objRest(_a, []);
3022
- return /* @__PURE__ */ jsx23(DrawerPrimitive.Root, __spreadValues({ "data-slot": "drawer" }, props));
3307
+ return /* @__PURE__ */ jsx24(DrawerPrimitive.Root, __spreadValues({ "data-slot": "drawer" }, props));
3023
3308
  }
3024
3309
  function DrawerTrigger(_a) {
3025
3310
  var props = __objRest(_a, []);
3026
- return /* @__PURE__ */ jsx23(DrawerPrimitive.Trigger, __spreadValues({ "data-slot": "drawer-trigger" }, props));
3311
+ return /* @__PURE__ */ jsx24(DrawerPrimitive.Trigger, __spreadValues({ "data-slot": "drawer-trigger" }, props));
3027
3312
  }
3028
3313
  function DrawerPortal(_a) {
3029
3314
  var props = __objRest(_a, []);
3030
- return /* @__PURE__ */ jsx23(DrawerPrimitive.Portal, __spreadValues({ "data-slot": "drawer-portal" }, props));
3315
+ return /* @__PURE__ */ jsx24(DrawerPrimitive.Portal, __spreadValues({ "data-slot": "drawer-portal" }, props));
3031
3316
  }
3032
3317
  function DrawerClose(_a) {
3033
3318
  var props = __objRest(_a, []);
3034
- return /* @__PURE__ */ jsx23(DrawerPrimitive.Close, __spreadValues({ "data-slot": "drawer-close" }, props));
3319
+ return /* @__PURE__ */ jsx24(DrawerPrimitive.Close, __spreadValues({ "data-slot": "drawer-close" }, props));
3035
3320
  }
3036
3321
  function DrawerOverlay(_a) {
3037
3322
  var _b = _a, {
@@ -3039,7 +3324,7 @@ function DrawerOverlay(_a) {
3039
3324
  } = _b, props = __objRest(_b, [
3040
3325
  "className"
3041
3326
  ]);
3042
- return /* @__PURE__ */ jsx23(
3327
+ return /* @__PURE__ */ jsx24(
3043
3328
  DrawerPrimitive.Overlay,
3044
3329
  __spreadValues({
3045
3330
  "data-slot": "drawer-overlay",
@@ -3060,9 +3345,9 @@ function DrawerContent(_a) {
3060
3345
  "children",
3061
3346
  "dismiss"
3062
3347
  ]);
3063
- return /* @__PURE__ */ jsxs15(DrawerPortal, { "data-slot": "drawer-portal", children: [
3064
- /* @__PURE__ */ jsx23(DrawerOverlay, {}),
3065
- /* @__PURE__ */ jsxs15(
3348
+ return /* @__PURE__ */ jsxs16(DrawerPortal, { "data-slot": "drawer-portal", children: [
3349
+ /* @__PURE__ */ jsx24(DrawerOverlay, {}),
3350
+ /* @__PURE__ */ jsxs16(
3066
3351
  DrawerPrimitive.Content,
3067
3352
  __spreadProps(__spreadValues({
3068
3353
  "data-slot": "drawer-content",
@@ -3076,13 +3361,13 @@ function DrawerContent(_a) {
3076
3361
  )
3077
3362
  }, props), {
3078
3363
  children: [
3079
- dismiss === "handle" ? /* @__PURE__ */ jsx23("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__ */ jsx23("div", { className: "flex shrink-0 justify-end p-4 pb-0", children: /* @__PURE__ */ jsx23(DrawerPrimitive.Close, { asChild: true, children: /* @__PURE__ */ jsx23(
3364
+ dismiss === "handle" ? /* @__PURE__ */ jsx24("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__ */ jsx24("div", { className: "flex shrink-0 justify-end p-4 pb-0", children: /* @__PURE__ */ jsx24(DrawerPrimitive.Close, { asChild: true, children: /* @__PURE__ */ jsx24(
3080
3365
  NavigationButton,
3081
3366
  {
3082
3367
  "data-slot": "drawer-close",
3083
3368
  size: "sm",
3084
3369
  "aria-label": "Close",
3085
- children: /* @__PURE__ */ jsx23(XIcon2, { className: "size-4" })
3370
+ children: /* @__PURE__ */ jsx24(XIcon2, { className: "size-4" })
3086
3371
  }
3087
3372
  ) }) }),
3088
3373
  children
@@ -3093,7 +3378,7 @@ function DrawerContent(_a) {
3093
3378
  }
3094
3379
  function DrawerHeader(_a) {
3095
3380
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3096
- return /* @__PURE__ */ jsx23(
3381
+ return /* @__PURE__ */ jsx24(
3097
3382
  "div",
3098
3383
  __spreadValues({
3099
3384
  "data-slot": "drawer-header",
@@ -3106,7 +3391,7 @@ function DrawerHeader(_a) {
3106
3391
  }
3107
3392
  function DrawerFooter(_a) {
3108
3393
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3109
- return /* @__PURE__ */ jsx23(
3394
+ return /* @__PURE__ */ jsx24(
3110
3395
  "div",
3111
3396
  __spreadValues({
3112
3397
  "data-slot": "drawer-footer",
@@ -3120,7 +3405,7 @@ function DrawerTitle(_a) {
3120
3405
  } = _b, props = __objRest(_b, [
3121
3406
  "className"
3122
3407
  ]);
3123
- return /* @__PURE__ */ jsx23(
3408
+ return /* @__PURE__ */ jsx24(
3124
3409
  DrawerPrimitive.Title,
3125
3410
  __spreadValues({
3126
3411
  "data-slot": "drawer-title",
@@ -3134,7 +3419,7 @@ function DrawerDescription(_a) {
3134
3419
  } = _b, props = __objRest(_b, [
3135
3420
  "className"
3136
3421
  ]);
3137
- return /* @__PURE__ */ jsx23(
3422
+ return /* @__PURE__ */ jsx24(
3138
3423
  DrawerPrimitive.Description,
3139
3424
  __spreadValues({
3140
3425
  "data-slot": "drawer-description",
@@ -3146,18 +3431,18 @@ function DrawerDescription(_a) {
3146
3431
  // components/ui/dropdown-menu.tsx
3147
3432
  import { CheckIcon as CheckIcon4, ChevronRightIcon as ChevronRightIcon4, CircleIcon as CircleIcon2 } from "lucide-react";
3148
3433
  import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
3149
- import { jsx as jsx24, jsxs as jsxs16 } from "react/jsx-runtime";
3434
+ import { jsx as jsx25, jsxs as jsxs17 } from "react/jsx-runtime";
3150
3435
  function DropdownMenu(_a) {
3151
3436
  var props = __objRest(_a, []);
3152
- return /* @__PURE__ */ jsx24(DropdownMenuPrimitive.Root, __spreadValues({ "data-slot": "dropdown-menu" }, props));
3437
+ return /* @__PURE__ */ jsx25(DropdownMenuPrimitive.Root, __spreadValues({ "data-slot": "dropdown-menu" }, props));
3153
3438
  }
3154
3439
  function DropdownMenuPortal(_a) {
3155
3440
  var props = __objRest(_a, []);
3156
- return /* @__PURE__ */ jsx24(DropdownMenuPrimitive.Portal, __spreadValues({ "data-slot": "dropdown-menu-portal" }, props));
3441
+ return /* @__PURE__ */ jsx25(DropdownMenuPrimitive.Portal, __spreadValues({ "data-slot": "dropdown-menu-portal" }, props));
3157
3442
  }
3158
3443
  function DropdownMenuTrigger(_a) {
3159
3444
  var props = __objRest(_a, []);
3160
- return /* @__PURE__ */ jsx24(
3445
+ return /* @__PURE__ */ jsx25(
3161
3446
  DropdownMenuPrimitive.Trigger,
3162
3447
  __spreadValues({
3163
3448
  "data-slot": "dropdown-menu-trigger"
@@ -3172,7 +3457,7 @@ function DropdownMenuContent(_a) {
3172
3457
  "className",
3173
3458
  "sideOffset"
3174
3459
  ]);
3175
- return /* @__PURE__ */ jsx24(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx24(
3460
+ return /* @__PURE__ */ jsx25(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx25(
3176
3461
  DropdownMenuPrimitive.Content,
3177
3462
  __spreadValues({
3178
3463
  "data-slot": "dropdown-menu-content",
@@ -3186,7 +3471,7 @@ function DropdownMenuContent(_a) {
3186
3471
  }
3187
3472
  function DropdownMenuGroup(_a) {
3188
3473
  var props = __objRest(_a, []);
3189
- return /* @__PURE__ */ jsx24(DropdownMenuPrimitive.Group, __spreadValues({ "data-slot": "dropdown-menu-group" }, props));
3474
+ return /* @__PURE__ */ jsx25(DropdownMenuPrimitive.Group, __spreadValues({ "data-slot": "dropdown-menu-group" }, props));
3190
3475
  }
3191
3476
  function DropdownMenuItem(_a) {
3192
3477
  var _b = _a, {
@@ -3198,7 +3483,7 @@ function DropdownMenuItem(_a) {
3198
3483
  "inset",
3199
3484
  "variant"
3200
3485
  ]);
3201
- return /* @__PURE__ */ jsx24(
3486
+ return /* @__PURE__ */ jsx25(
3202
3487
  DropdownMenuPrimitive.Item,
3203
3488
  __spreadValues({
3204
3489
  "data-slot": "dropdown-menu-item",
@@ -3221,7 +3506,7 @@ function DropdownMenuCheckboxItem(_a) {
3221
3506
  "children",
3222
3507
  "checked"
3223
3508
  ]);
3224
- return /* @__PURE__ */ jsxs16(
3509
+ return /* @__PURE__ */ jsxs17(
3225
3510
  DropdownMenuPrimitive.CheckboxItem,
3226
3511
  __spreadProps(__spreadValues({
3227
3512
  "data-slot": "dropdown-menu-checkbox-item",
@@ -3232,7 +3517,7 @@ function DropdownMenuCheckboxItem(_a) {
3232
3517
  checked
3233
3518
  }, props), {
3234
3519
  children: [
3235
- /* @__PURE__ */ jsx24("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx24(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx24(CheckIcon4, { className: "size-4" }) }) }),
3520
+ /* @__PURE__ */ jsx25("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx25(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx25(CheckIcon4, { className: "size-4" }) }) }),
3236
3521
  children
3237
3522
  ]
3238
3523
  })
@@ -3240,7 +3525,7 @@ function DropdownMenuCheckboxItem(_a) {
3240
3525
  }
3241
3526
  function DropdownMenuRadioGroup(_a) {
3242
3527
  var props = __objRest(_a, []);
3243
- return /* @__PURE__ */ jsx24(
3528
+ return /* @__PURE__ */ jsx25(
3244
3529
  DropdownMenuPrimitive.RadioGroup,
3245
3530
  __spreadValues({
3246
3531
  "data-slot": "dropdown-menu-radio-group"
@@ -3255,7 +3540,7 @@ function DropdownMenuRadioItem(_a) {
3255
3540
  "className",
3256
3541
  "children"
3257
3542
  ]);
3258
- return /* @__PURE__ */ jsxs16(
3543
+ return /* @__PURE__ */ jsxs17(
3259
3544
  DropdownMenuPrimitive.RadioItem,
3260
3545
  __spreadProps(__spreadValues({
3261
3546
  "data-slot": "dropdown-menu-radio-item",
@@ -3265,7 +3550,7 @@ function DropdownMenuRadioItem(_a) {
3265
3550
  )
3266
3551
  }, props), {
3267
3552
  children: [
3268
- /* @__PURE__ */ jsx24("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx24(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx24(CircleIcon2, { className: "size-2 fill-current" }) }) }),
3553
+ /* @__PURE__ */ jsx25("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx25(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx25(CircleIcon2, { className: "size-2 fill-current" }) }) }),
3269
3554
  children
3270
3555
  ]
3271
3556
  })
@@ -3279,7 +3564,7 @@ function DropdownMenuLabel(_a) {
3279
3564
  "className",
3280
3565
  "inset"
3281
3566
  ]);
3282
- return /* @__PURE__ */ jsx24(
3567
+ return /* @__PURE__ */ jsx25(
3283
3568
  DropdownMenuPrimitive.Label,
3284
3569
  __spreadValues({
3285
3570
  "data-slot": "dropdown-menu-label",
@@ -3297,7 +3582,7 @@ function DropdownMenuSeparator(_a) {
3297
3582
  } = _b, props = __objRest(_b, [
3298
3583
  "className"
3299
3584
  ]);
3300
- return /* @__PURE__ */ jsx24(
3585
+ return /* @__PURE__ */ jsx25(
3301
3586
  DropdownMenuPrimitive.Separator,
3302
3587
  __spreadValues({
3303
3588
  "data-slot": "dropdown-menu-separator",
@@ -3311,7 +3596,7 @@ function DropdownMenuShortcut(_a) {
3311
3596
  } = _b, props = __objRest(_b, [
3312
3597
  "className"
3313
3598
  ]);
3314
- return /* @__PURE__ */ jsx24(
3599
+ return /* @__PURE__ */ jsx25(
3315
3600
  "span",
3316
3601
  __spreadValues({
3317
3602
  "data-slot": "dropdown-menu-shortcut",
@@ -3324,7 +3609,7 @@ function DropdownMenuShortcut(_a) {
3324
3609
  }
3325
3610
  function DropdownMenuSub(_a) {
3326
3611
  var props = __objRest(_a, []);
3327
- return /* @__PURE__ */ jsx24(DropdownMenuPrimitive.Sub, __spreadValues({ "data-slot": "dropdown-menu-sub" }, props));
3612
+ return /* @__PURE__ */ jsx25(DropdownMenuPrimitive.Sub, __spreadValues({ "data-slot": "dropdown-menu-sub" }, props));
3328
3613
  }
3329
3614
  function DropdownMenuSubTrigger(_a) {
3330
3615
  var _b = _a, {
@@ -3336,7 +3621,7 @@ function DropdownMenuSubTrigger(_a) {
3336
3621
  "inset",
3337
3622
  "children"
3338
3623
  ]);
3339
- return /* @__PURE__ */ jsxs16(
3624
+ return /* @__PURE__ */ jsxs17(
3340
3625
  DropdownMenuPrimitive.SubTrigger,
3341
3626
  __spreadProps(__spreadValues({
3342
3627
  "data-slot": "dropdown-menu-sub-trigger",
@@ -3348,7 +3633,7 @@ function DropdownMenuSubTrigger(_a) {
3348
3633
  }, props), {
3349
3634
  children: [
3350
3635
  children,
3351
- /* @__PURE__ */ jsx24(ChevronRightIcon4, { className: "ml-auto size-4" })
3636
+ /* @__PURE__ */ jsx25(ChevronRightIcon4, { className: "ml-auto size-4" })
3352
3637
  ]
3353
3638
  })
3354
3639
  );
@@ -3359,7 +3644,7 @@ function DropdownMenuSubContent(_a) {
3359
3644
  } = _b, props = __objRest(_b, [
3360
3645
  "className"
3361
3646
  ]);
3362
- return /* @__PURE__ */ jsx24(
3647
+ return /* @__PURE__ */ jsx25(
3363
3648
  DropdownMenuPrimitive.SubContent,
3364
3649
  __spreadValues({
3365
3650
  "data-slot": "dropdown-menu-sub-content",
@@ -3373,10 +3658,10 @@ function DropdownMenuSubContent(_a) {
3373
3658
 
3374
3659
  // components/ui/empty.tsx
3375
3660
  import { cva as cva6 } from "class-variance-authority";
3376
- import { jsx as jsx25 } from "react/jsx-runtime";
3661
+ import { jsx as jsx26 } from "react/jsx-runtime";
3377
3662
  function Empty(_a) {
3378
3663
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3379
- return /* @__PURE__ */ jsx25(
3664
+ return /* @__PURE__ */ jsx26(
3380
3665
  "div",
3381
3666
  __spreadValues({
3382
3667
  "data-slot": "empty",
@@ -3389,7 +3674,7 @@ function Empty(_a) {
3389
3674
  }
3390
3675
  function EmptyHeader(_a) {
3391
3676
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3392
- return /* @__PURE__ */ jsx25(
3677
+ return /* @__PURE__ */ jsx26(
3393
3678
  "div",
3394
3679
  __spreadValues({
3395
3680
  "data-slot": "empty-header",
@@ -3422,7 +3707,7 @@ function EmptyMedia(_a) {
3422
3707
  "className",
3423
3708
  "variant"
3424
3709
  ]);
3425
- return /* @__PURE__ */ jsx25(
3710
+ return /* @__PURE__ */ jsx26(
3426
3711
  "div",
3427
3712
  __spreadValues({
3428
3713
  "data-slot": "empty-icon",
@@ -3433,7 +3718,7 @@ function EmptyMedia(_a) {
3433
3718
  }
3434
3719
  function EmptyTitle(_a) {
3435
3720
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3436
- return /* @__PURE__ */ jsx25(
3721
+ return /* @__PURE__ */ jsx26(
3437
3722
  "div",
3438
3723
  __spreadValues({
3439
3724
  "data-slot": "empty-title",
@@ -3443,7 +3728,7 @@ function EmptyTitle(_a) {
3443
3728
  }
3444
3729
  function EmptyDescription(_a) {
3445
3730
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3446
- return /* @__PURE__ */ jsx25(
3731
+ return /* @__PURE__ */ jsx26(
3447
3732
  "div",
3448
3733
  __spreadValues({
3449
3734
  "data-slot": "empty-description",
@@ -3456,7 +3741,7 @@ function EmptyDescription(_a) {
3456
3741
  }
3457
3742
  function EmptyContent(_a) {
3458
3743
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3459
- return /* @__PURE__ */ jsx25(
3744
+ return /* @__PURE__ */ jsx26(
3460
3745
  "div",
3461
3746
  __spreadValues({
3462
3747
  "data-slot": "empty-content",
@@ -3469,20 +3754,20 @@ function EmptyContent(_a) {
3469
3754
  }
3470
3755
 
3471
3756
  // components/ui/field.tsx
3472
- import * as React7 from "react";
3473
- import { useMemo as useMemo2 } from "react";
3757
+ import * as React8 from "react";
3758
+ import { useMemo as useMemo3 } from "react";
3474
3759
  import { cva as cva7 } from "class-variance-authority";
3475
3760
 
3476
3761
  // components/ui/label.tsx
3477
3762
  import { Label as LabelPrimitive } from "radix-ui";
3478
- import { jsx as jsx26 } from "react/jsx-runtime";
3763
+ import { jsx as jsx27 } from "react/jsx-runtime";
3479
3764
  function Label(_a) {
3480
3765
  var _b = _a, {
3481
3766
  className
3482
3767
  } = _b, props = __objRest(_b, [
3483
3768
  "className"
3484
3769
  ]);
3485
- return /* @__PURE__ */ jsx26(
3770
+ return /* @__PURE__ */ jsx27(
3486
3771
  LabelPrimitive.Root,
3487
3772
  __spreadValues({
3488
3773
  "data-slot": "label",
@@ -3498,7 +3783,7 @@ function Label(_a) {
3498
3783
 
3499
3784
  // components/ui/separator.tsx
3500
3785
  import { Separator as SeparatorPrimitive } from "radix-ui";
3501
- import { jsx as jsx27 } from "react/jsx-runtime";
3786
+ import { jsx as jsx28 } from "react/jsx-runtime";
3502
3787
  function Separator(_a) {
3503
3788
  var _b = _a, {
3504
3789
  className,
@@ -3509,7 +3794,7 @@ function Separator(_a) {
3509
3794
  "orientation",
3510
3795
  "decorative"
3511
3796
  ]);
3512
- return /* @__PURE__ */ jsx27(
3797
+ return /* @__PURE__ */ jsx28(
3513
3798
  SeparatorPrimitive.Root,
3514
3799
  __spreadValues({
3515
3800
  "data-slot": "separator",
@@ -3524,10 +3809,10 @@ function Separator(_a) {
3524
3809
  }
3525
3810
 
3526
3811
  // components/ui/field.tsx
3527
- import { jsx as jsx28, jsxs as jsxs17 } from "react/jsx-runtime";
3528
- var FieldSizeContext = React7.createContext("md");
3812
+ import { jsx as jsx29, jsxs as jsxs18 } from "react/jsx-runtime";
3813
+ var FieldSizeContext = React8.createContext("md");
3529
3814
  function useFieldSize() {
3530
- return React7.useContext(FieldSizeContext);
3815
+ return React8.useContext(FieldSizeContext);
3531
3816
  }
3532
3817
  var fieldLabelType = {
3533
3818
  sm: "type-field-label-sm",
@@ -3536,7 +3821,7 @@ var fieldLabelType = {
3536
3821
  };
3537
3822
  function FieldSet(_a) {
3538
3823
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3539
- return /* @__PURE__ */ jsx28(
3824
+ return /* @__PURE__ */ jsx29(
3540
3825
  "fieldset",
3541
3826
  __spreadValues({
3542
3827
  "data-slot": "field-set",
@@ -3556,7 +3841,7 @@ function FieldLegend(_a) {
3556
3841
  "className",
3557
3842
  "variant"
3558
3843
  ]);
3559
- return /* @__PURE__ */ jsx28(
3844
+ return /* @__PURE__ */ jsx29(
3560
3845
  "legend",
3561
3846
  __spreadValues({
3562
3847
  "data-slot": "field-legend",
@@ -3573,7 +3858,7 @@ function FieldLegend(_a) {
3573
3858
  }
3574
3859
  function FieldGroup(_a) {
3575
3860
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3576
- return /* @__PURE__ */ jsx28(
3861
+ return /* @__PURE__ */ jsx29(
3577
3862
  "div",
3578
3863
  __spreadValues({
3579
3864
  "data-slot": "field-group",
@@ -3623,7 +3908,7 @@ function Field(_a) {
3623
3908
  "orientation",
3624
3909
  "size"
3625
3910
  ]);
3626
- return /* @__PURE__ */ jsx28(FieldSizeContext.Provider, { value: size != null ? size : "md", children: /* @__PURE__ */ jsx28(
3911
+ return /* @__PURE__ */ jsx29(FieldSizeContext.Provider, { value: size != null ? size : "md", children: /* @__PURE__ */ jsx29(
3627
3912
  "div",
3628
3913
  __spreadValues({
3629
3914
  role: "group",
@@ -3636,7 +3921,7 @@ function Field(_a) {
3636
3921
  }
3637
3922
  function FieldContent(_a) {
3638
3923
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3639
- return /* @__PURE__ */ jsx28(
3924
+ return /* @__PURE__ */ jsx29(
3640
3925
  "div",
3641
3926
  __spreadValues({
3642
3927
  "data-slot": "field-content",
@@ -3654,7 +3939,7 @@ function FieldLabel(_a) {
3654
3939
  "className"
3655
3940
  ]);
3656
3941
  const size = useFieldSize();
3657
- return /* @__PURE__ */ jsx28(
3942
+ return /* @__PURE__ */ jsx29(
3658
3943
  Label,
3659
3944
  __spreadValues({
3660
3945
  "data-slot": "field-label",
@@ -3671,7 +3956,7 @@ function FieldLabel(_a) {
3671
3956
  function FieldTitle(_a) {
3672
3957
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3673
3958
  const size = useFieldSize();
3674
- return /* @__PURE__ */ jsx28(
3959
+ return /* @__PURE__ */ jsx29(
3675
3960
  "div",
3676
3961
  __spreadValues({
3677
3962
  "data-slot": "field-label",
@@ -3685,7 +3970,7 @@ function FieldTitle(_a) {
3685
3970
  }
3686
3971
  function FieldDescription(_a) {
3687
3972
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3688
- return /* @__PURE__ */ jsx28(
3973
+ return /* @__PURE__ */ jsx29(
3689
3974
  "p",
3690
3975
  __spreadValues({
3691
3976
  "data-slot": "field-description",
@@ -3706,7 +3991,7 @@ function FieldSeparator(_a) {
3706
3991
  "children",
3707
3992
  "className"
3708
3993
  ]);
3709
- return /* @__PURE__ */ jsxs17(
3994
+ return /* @__PURE__ */ jsxs18(
3710
3995
  "div",
3711
3996
  __spreadProps(__spreadValues({
3712
3997
  "data-slot": "field-separator",
@@ -3717,8 +4002,8 @@ function FieldSeparator(_a) {
3717
4002
  )
3718
4003
  }, props), {
3719
4004
  children: [
3720
- /* @__PURE__ */ jsx28(Separator, { className: "absolute inset-0 top-1/2" }),
3721
- children && /* @__PURE__ */ jsx28(
4005
+ /* @__PURE__ */ jsx29(Separator, { className: "absolute inset-0 top-1/2" }),
4006
+ children && /* @__PURE__ */ jsx29(
3722
4007
  "span",
3723
4008
  {
3724
4009
  className: "relative mx-auto block w-fit bg-background-primary-surface px-2 text-text-subtle-default",
@@ -3740,7 +4025,7 @@ function FieldError(_a) {
3740
4025
  "children",
3741
4026
  "errors"
3742
4027
  ]);
3743
- const content = useMemo2(() => {
4028
+ const content = useMemo3(() => {
3744
4029
  var _a2;
3745
4030
  if (children) {
3746
4031
  return children;
@@ -3754,14 +4039,14 @@ function FieldError(_a) {
3754
4039
  if ((uniqueErrors == null ? void 0 : uniqueErrors.length) == 1) {
3755
4040
  return (_a2 = uniqueErrors[0]) == null ? void 0 : _a2.message;
3756
4041
  }
3757
- return /* @__PURE__ */ jsx28("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: uniqueErrors.map(
3758
- (error, index) => (error == null ? void 0 : error.message) && /* @__PURE__ */ jsx28("li", { children: error.message }, index)
4042
+ return /* @__PURE__ */ jsx29("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: uniqueErrors.map(
4043
+ (error, index) => (error == null ? void 0 : error.message) && /* @__PURE__ */ jsx29("li", { children: error.message }, index)
3759
4044
  ) });
3760
4045
  }, [children, errors]);
3761
4046
  if (!content) {
3762
4047
  return null;
3763
4048
  }
3764
- return /* @__PURE__ */ jsx28(
4049
+ return /* @__PURE__ */ jsx29(
3765
4050
  "div",
3766
4051
  __spreadProps(__spreadValues({
3767
4052
  role: "alert",
@@ -3775,14 +4060,14 @@ function FieldError(_a) {
3775
4060
 
3776
4061
  // components/ui/hover-card.tsx
3777
4062
  import { HoverCard as HoverCardPrimitive } from "radix-ui";
3778
- import { jsx as jsx29 } from "react/jsx-runtime";
4063
+ import { jsx as jsx30 } from "react/jsx-runtime";
3779
4064
  function HoverCard(_a) {
3780
4065
  var props = __objRest(_a, []);
3781
- return /* @__PURE__ */ jsx29(HoverCardPrimitive.Root, __spreadValues({ "data-slot": "hover-card" }, props));
4066
+ return /* @__PURE__ */ jsx30(HoverCardPrimitive.Root, __spreadValues({ "data-slot": "hover-card" }, props));
3782
4067
  }
3783
4068
  function HoverCardTrigger(_a) {
3784
4069
  var props = __objRest(_a, []);
3785
- return /* @__PURE__ */ jsx29(HoverCardPrimitive.Trigger, __spreadValues({ "data-slot": "hover-card-trigger" }, props));
4070
+ return /* @__PURE__ */ jsx30(HoverCardPrimitive.Trigger, __spreadValues({ "data-slot": "hover-card-trigger" }, props));
3786
4071
  }
3787
4072
  function HoverCardContent(_a) {
3788
4073
  var _b = _a, {
@@ -3794,7 +4079,7 @@ function HoverCardContent(_a) {
3794
4079
  "align",
3795
4080
  "sideOffset"
3796
4081
  ]);
3797
- return /* @__PURE__ */ jsx29(HoverCardPrimitive.Portal, { "data-slot": "hover-card-portal", children: /* @__PURE__ */ jsx29(
4082
+ return /* @__PURE__ */ jsx30(HoverCardPrimitive.Portal, { "data-slot": "hover-card-portal", children: /* @__PURE__ */ jsx30(
3798
4083
  HoverCardPrimitive.Content,
3799
4084
  __spreadValues({
3800
4085
  "data-slot": "hover-card-content",
@@ -3810,7 +4095,7 @@ function HoverCardContent(_a) {
3810
4095
 
3811
4096
  // components/ui/input.tsx
3812
4097
  import { cva as cva8 } from "class-variance-authority";
3813
- import { jsx as jsx30 } from "react/jsx-runtime";
4098
+ import { jsx as jsx31 } from "react/jsx-runtime";
3814
4099
  var inputVariants = cva8(
3815
4100
  [
3816
4101
  "w-full min-w-0 rounded-xs border font-body transition-[color,box-shadow] outline-none",
@@ -3881,7 +4166,7 @@ function Input(_a) {
3881
4166
  ]);
3882
4167
  const fieldSize = useFieldSize();
3883
4168
  const resolvedSize = size != null ? size : fieldSize;
3884
- return /* @__PURE__ */ jsx30(
4169
+ return /* @__PURE__ */ jsx31(
3885
4170
  "input",
3886
4171
  __spreadValues({
3887
4172
  type,
@@ -3894,14 +4179,14 @@ function Input(_a) {
3894
4179
  }
3895
4180
 
3896
4181
  // components/ui/input-group.tsx
3897
- import * as React8 from "react";
4182
+ import * as React9 from "react";
3898
4183
  import { cva as cva9 } from "class-variance-authority";
3899
4184
 
3900
4185
  // components/ui/textarea.tsx
3901
- import { jsx as jsx31 } from "react/jsx-runtime";
4186
+ import { jsx as jsx32 } from "react/jsx-runtime";
3902
4187
  function Textarea(_a) {
3903
4188
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3904
- return /* @__PURE__ */ jsx31(
4189
+ return /* @__PURE__ */ jsx32(
3905
4190
  "textarea",
3906
4191
  __spreadValues({
3907
4192
  "data-slot": "textarea",
@@ -3914,9 +4199,9 @@ function Textarea(_a) {
3914
4199
  }
3915
4200
 
3916
4201
  // components/ui/input-group.tsx
3917
- import { jsx as jsx32 } from "react/jsx-runtime";
3918
- var InputGroupSizeContext = React8.createContext("md");
3919
- var InputGroupVariantContext = React8.createContext("default");
4202
+ import { jsx as jsx33 } from "react/jsx-runtime";
4203
+ var InputGroupSizeContext = React9.createContext("md");
4204
+ var InputGroupVariantContext = React9.createContext("default");
3920
4205
  var inputGroupVariants = cva9(
3921
4206
  [
3922
4207
  "group/input-group relative flex w-full items-center rounded-xs border",
@@ -3975,11 +4260,11 @@ function InputGroup(_a) {
3975
4260
  ]);
3976
4261
  const fieldSize = useFieldSize();
3977
4262
  const resolvedSize = size != null ? size : fieldSize;
3978
- return /* @__PURE__ */ jsx32(
4263
+ return /* @__PURE__ */ jsx33(
3979
4264
  InputGroupVariantContext.Provider,
3980
4265
  {
3981
4266
  value: variant,
3982
- children: /* @__PURE__ */ jsx32(InputGroupSizeContext.Provider, { value: resolvedSize, children: /* @__PURE__ */ jsx32(
4267
+ children: /* @__PURE__ */ jsx33(InputGroupSizeContext.Provider, { value: resolvedSize, children: /* @__PURE__ */ jsx33(
3983
4268
  "div",
3984
4269
  __spreadValues({
3985
4270
  "data-slot": "input-group",
@@ -4034,7 +4319,7 @@ function InputGroupAddon(_a) {
4034
4319
  "className",
4035
4320
  "align"
4036
4321
  ]);
4037
- return /* @__PURE__ */ jsx32(
4322
+ return /* @__PURE__ */ jsx33(
4038
4323
  "div",
4039
4324
  __spreadValues({
4040
4325
  role: "group",
@@ -4081,7 +4366,7 @@ function InputGroupButton(_a) {
4081
4366
  "variant",
4082
4367
  "size"
4083
4368
  ]);
4084
- return /* @__PURE__ */ jsx32(
4369
+ return /* @__PURE__ */ jsx33(
4085
4370
  Button,
4086
4371
  __spreadValues({
4087
4372
  type,
@@ -4094,7 +4379,7 @@ function InputGroupButton(_a) {
4094
4379
  }
4095
4380
  function InputGroupText(_a) {
4096
4381
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4097
- return /* @__PURE__ */ jsx32(
4382
+ return /* @__PURE__ */ jsx33(
4098
4383
  "span",
4099
4384
  __spreadValues({
4100
4385
  className: cn(
@@ -4123,11 +4408,11 @@ function InputGroupInput(_a) {
4123
4408
  "size",
4124
4409
  "variant"
4125
4410
  ]);
4126
- const groupSize = React8.useContext(InputGroupSizeContext);
4127
- const groupVariant = React8.useContext(InputGroupVariantContext);
4411
+ const groupSize = React9.useContext(InputGroupSizeContext);
4412
+ const groupVariant = React9.useContext(InputGroupVariantContext);
4128
4413
  const size = sizeProp != null ? sizeProp : groupSize;
4129
4414
  const variant = variantProp != null ? variantProp : groupVariant;
4130
- return /* @__PURE__ */ jsx32(
4415
+ return /* @__PURE__ */ jsx33(
4131
4416
  Input,
4132
4417
  __spreadValues({
4133
4418
  "data-slot": "input-group-control",
@@ -4146,7 +4431,7 @@ function InputGroupTextarea(_a) {
4146
4431
  } = _b, props = __objRest(_b, [
4147
4432
  "className"
4148
4433
  ]);
4149
- return /* @__PURE__ */ jsx32(
4434
+ return /* @__PURE__ */ jsx33(
4150
4435
  Textarea,
4151
4436
  __spreadValues({
4152
4437
  "data-slot": "input-group-control",
@@ -4159,10 +4444,10 @@ function InputGroupTextarea(_a) {
4159
4444
  }
4160
4445
 
4161
4446
  // components/ui/input-otp.tsx
4162
- import * as React9 from "react";
4447
+ import * as React10 from "react";
4163
4448
  import { OTPInput, OTPInputContext } from "input-otp";
4164
4449
  import { MinusIcon } from "lucide-react";
4165
- import { jsx as jsx33, jsxs as jsxs18 } from "react/jsx-runtime";
4450
+ import { jsx as jsx34, jsxs as jsxs19 } from "react/jsx-runtime";
4166
4451
  function InputOTP(_a) {
4167
4452
  var _b = _a, {
4168
4453
  className,
@@ -4171,7 +4456,7 @@ function InputOTP(_a) {
4171
4456
  "className",
4172
4457
  "containerClassName"
4173
4458
  ]);
4174
- return /* @__PURE__ */ jsx33(
4459
+ return /* @__PURE__ */ jsx34(
4175
4460
  OTPInput,
4176
4461
  __spreadValues({
4177
4462
  "data-slot": "input-otp",
@@ -4185,7 +4470,7 @@ function InputOTP(_a) {
4185
4470
  }
4186
4471
  function InputOTPGroup(_a) {
4187
4472
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4188
- return /* @__PURE__ */ jsx33(
4473
+ return /* @__PURE__ */ jsx34(
4189
4474
  "div",
4190
4475
  __spreadValues({
4191
4476
  "data-slot": "input-otp-group",
@@ -4202,9 +4487,9 @@ function InputOTPSlot(_a) {
4202
4487
  "className"
4203
4488
  ]);
4204
4489
  var _a2;
4205
- const inputOTPContext = React9.useContext(OTPInputContext);
4490
+ const inputOTPContext = React10.useContext(OTPInputContext);
4206
4491
  const { char, hasFakeCaret, isActive } = (_a2 = inputOTPContext == null ? void 0 : inputOTPContext.slots[index]) != null ? _a2 : {};
4207
- return /* @__PURE__ */ jsxs18(
4492
+ return /* @__PURE__ */ jsxs19(
4208
4493
  "div",
4209
4494
  __spreadProps(__spreadValues({
4210
4495
  "data-slot": "input-otp-slot",
@@ -4216,20 +4501,20 @@ function InputOTPSlot(_a) {
4216
4501
  }, props), {
4217
4502
  children: [
4218
4503
  char,
4219
- hasFakeCaret && /* @__PURE__ */ jsx33("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx33("div", { className: "h-4 w-px animate-caret-blink bg-text-prominent-default duration-1000" }) })
4504
+ hasFakeCaret && /* @__PURE__ */ jsx34("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx34("div", { className: "h-4 w-px animate-caret-blink bg-text-prominent-default duration-1000" }) })
4220
4505
  ]
4221
4506
  })
4222
4507
  );
4223
4508
  }
4224
4509
  function InputOTPSeparator(_a) {
4225
4510
  var props = __objRest(_a, []);
4226
- return /* @__PURE__ */ jsx33("div", __spreadProps(__spreadValues({ "data-slot": "input-otp-separator", role: "separator" }, props), { children: /* @__PURE__ */ jsx33(MinusIcon, {}) }));
4511
+ return /* @__PURE__ */ jsx34("div", __spreadProps(__spreadValues({ "data-slot": "input-otp-separator", role: "separator" }, props), { children: /* @__PURE__ */ jsx34(MinusIcon, {}) }));
4227
4512
  }
4228
4513
 
4229
4514
  // components/ui/item.tsx
4230
4515
  import { cva as cva10 } from "class-variance-authority";
4231
4516
  import { Slot as Slot6 } from "radix-ui";
4232
- import { jsx as jsx34 } from "react/jsx-runtime";
4517
+ import { jsx as jsx35 } from "react/jsx-runtime";
4233
4518
  function ItemGroup(_a) {
4234
4519
  var _b = _a, {
4235
4520
  className,
@@ -4238,7 +4523,7 @@ function ItemGroup(_a) {
4238
4523
  "className",
4239
4524
  "divider"
4240
4525
  ]);
4241
- return /* @__PURE__ */ jsx34(
4526
+ return /* @__PURE__ */ jsx35(
4242
4527
  "div",
4243
4528
  __spreadValues({
4244
4529
  role: "list",
@@ -4271,7 +4556,7 @@ function ItemSeparator(_a) {
4271
4556
  } = _b, props = __objRest(_b, [
4272
4557
  "className"
4273
4558
  ]);
4274
- return /* @__PURE__ */ jsx34(
4559
+ return /* @__PURE__ */ jsx35(
4275
4560
  Separator,
4276
4561
  __spreadValues({
4277
4562
  "data-slot": "item-separator",
@@ -4281,12 +4566,21 @@ function ItemSeparator(_a) {
4281
4566
  );
4282
4567
  }
4283
4568
  var itemVariants = cva10(
4284
- "group/item type-item-description flex flex-wrap items-center rounded-md border border-transparent transition-colors duration-instant outline-none focus-visible:border-ring-focus-default focus-visible:ring-[3px] focus-visible:ring-ring-focus-strong [a]:transition-colors [a]:hover:bg-background-hover-default",
4569
+ "group/item type-item-description flex flex-wrap items-center rounded-2xl border border-transparent transition-colors duration-instant outline-none focus-visible:border-ring-focus-default focus-visible:ring-[3px] focus-visible:ring-ring-focus-strong [a]:transition-colors [a]:hover:bg-background-hover-default",
4285
4570
  {
4286
4571
  variants: {
4287
4572
  variant: {
4288
4573
  default: "bg-transparent",
4289
4574
  outline: "border-border-default-default text-text-prominent-default hover:bg-background-hover-default",
4575
+ /* `fill` is `outline` plus a solid surface: a bordered card that reads
4576
+ as its own plane on the page canvas, the wallet-ledger pattern.
4577
+ Its hover steps primary -> secondary surface like the default Chip,
4578
+ because the shared `background-hover-default` glaze is translucent —
4579
+ laid over a filled row it would let the canvas show through instead
4580
+ of darkening the fill. The `[a]:` rule repeats for the same reason:
4581
+ the base link hover is that same glaze and outranks a plain
4582
+ `hover:` on an anchor. */
4583
+ fill: "bg-background-primary-surface border-border-default-default text-text-prominent-default hover:bg-background-secondary-surface [a]:hover:bg-background-secondary-surface",
4290
4584
  muted: "bg-background-secondary-surface"
4291
4585
  },
4292
4586
  size: {
@@ -4313,7 +4607,7 @@ function Item(_a) {
4313
4607
  "asChild"
4314
4608
  ]);
4315
4609
  const Comp = asChild ? Slot6.Root : "div";
4316
- return /* @__PURE__ */ jsx34(
4610
+ return /* @__PURE__ */ jsx35(
4317
4611
  Comp,
4318
4612
  __spreadValues({
4319
4613
  "data-slot": "item",
@@ -4346,7 +4640,7 @@ function ItemMedia(_a) {
4346
4640
  "className",
4347
4641
  "variant"
4348
4642
  ]);
4349
- return /* @__PURE__ */ jsx34(
4643
+ return /* @__PURE__ */ jsx35(
4350
4644
  "div",
4351
4645
  __spreadValues({
4352
4646
  "data-slot": "item-media",
@@ -4357,7 +4651,7 @@ function ItemMedia(_a) {
4357
4651
  }
4358
4652
  function ItemContent(_a) {
4359
4653
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4360
- return /* @__PURE__ */ jsx34(
4654
+ return /* @__PURE__ */ jsx35(
4361
4655
  "div",
4362
4656
  __spreadValues({
4363
4657
  "data-slot": "item-content",
@@ -4370,7 +4664,7 @@ function ItemContent(_a) {
4370
4664
  }
4371
4665
  function ItemTitle(_a) {
4372
4666
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4373
- return /* @__PURE__ */ jsx34(
4667
+ return /* @__PURE__ */ jsx35(
4374
4668
  "div",
4375
4669
  __spreadValues({
4376
4670
  "data-slot": "item-title",
@@ -4383,7 +4677,7 @@ function ItemTitle(_a) {
4383
4677
  }
4384
4678
  function ItemDescription(_a) {
4385
4679
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4386
- return /* @__PURE__ */ jsx34(
4680
+ return /* @__PURE__ */ jsx35(
4387
4681
  "p",
4388
4682
  __spreadValues({
4389
4683
  "data-slot": "item-description",
@@ -4397,7 +4691,7 @@ function ItemDescription(_a) {
4397
4691
  }
4398
4692
  function ItemActions(_a) {
4399
4693
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4400
- return /* @__PURE__ */ jsx34(
4694
+ return /* @__PURE__ */ jsx35(
4401
4695
  "div",
4402
4696
  __spreadValues({
4403
4697
  "data-slot": "item-actions",
@@ -4407,7 +4701,7 @@ function ItemActions(_a) {
4407
4701
  }
4408
4702
  function ItemHeader(_a) {
4409
4703
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4410
- return /* @__PURE__ */ jsx34(
4704
+ return /* @__PURE__ */ jsx35(
4411
4705
  "div",
4412
4706
  __spreadValues({
4413
4707
  "data-slot": "item-header",
@@ -4420,7 +4714,7 @@ function ItemHeader(_a) {
4420
4714
  }
4421
4715
  function ItemFooter(_a) {
4422
4716
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4423
- return /* @__PURE__ */ jsx34(
4717
+ return /* @__PURE__ */ jsx35(
4424
4718
  "div",
4425
4719
  __spreadValues({
4426
4720
  "data-slot": "item-footer",
@@ -4435,7 +4729,7 @@ function ItemFooter(_a) {
4435
4729
  // components/ui/link.tsx
4436
4730
  import { cva as cva11 } from "class-variance-authority";
4437
4731
  import { Slot as Slot7 } from "radix-ui";
4438
- import { jsx as jsx35 } from "react/jsx-runtime";
4732
+ import { jsx as jsx36 } from "react/jsx-runtime";
4439
4733
  var linkVariants = cva11(
4440
4734
  [
4441
4735
  "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",
@@ -4477,7 +4771,7 @@ function Link(_a) {
4477
4771
  "asChild"
4478
4772
  ]);
4479
4773
  const Comp = asChild ? Slot7.Root : "a";
4480
- return /* @__PURE__ */ jsx35(
4774
+ return /* @__PURE__ */ jsx36(
4481
4775
  Comp,
4482
4776
  __spreadValues({
4483
4777
  "data-slot": "link",
@@ -4491,14 +4785,14 @@ function Link(_a) {
4491
4785
  // components/ui/menubar.tsx
4492
4786
  import { CheckIcon as CheckIcon5, ChevronRightIcon as ChevronRightIcon5, CircleIcon as CircleIcon3 } from "lucide-react";
4493
4787
  import { Menubar as MenubarPrimitive } from "radix-ui";
4494
- import { jsx as jsx36, jsxs as jsxs19 } from "react/jsx-runtime";
4788
+ import { jsx as jsx37, jsxs as jsxs20 } from "react/jsx-runtime";
4495
4789
  function Menubar(_a) {
4496
4790
  var _b = _a, {
4497
4791
  className
4498
4792
  } = _b, props = __objRest(_b, [
4499
4793
  "className"
4500
4794
  ]);
4501
- return /* @__PURE__ */ jsx36(
4795
+ return /* @__PURE__ */ jsx37(
4502
4796
  MenubarPrimitive.Root,
4503
4797
  __spreadValues({
4504
4798
  "data-slot": "menubar",
@@ -4511,19 +4805,19 @@ function Menubar(_a) {
4511
4805
  }
4512
4806
  function MenubarMenu(_a) {
4513
4807
  var props = __objRest(_a, []);
4514
- return /* @__PURE__ */ jsx36(MenubarPrimitive.Menu, __spreadValues({ "data-slot": "menubar-menu" }, props));
4808
+ return /* @__PURE__ */ jsx37(MenubarPrimitive.Menu, __spreadValues({ "data-slot": "menubar-menu" }, props));
4515
4809
  }
4516
4810
  function MenubarGroup(_a) {
4517
4811
  var props = __objRest(_a, []);
4518
- return /* @__PURE__ */ jsx36(MenubarPrimitive.Group, __spreadValues({ "data-slot": "menubar-group" }, props));
4812
+ return /* @__PURE__ */ jsx37(MenubarPrimitive.Group, __spreadValues({ "data-slot": "menubar-group" }, props));
4519
4813
  }
4520
4814
  function MenubarPortal(_a) {
4521
4815
  var props = __objRest(_a, []);
4522
- return /* @__PURE__ */ jsx36(MenubarPrimitive.Portal, __spreadValues({ "data-slot": "menubar-portal" }, props));
4816
+ return /* @__PURE__ */ jsx37(MenubarPrimitive.Portal, __spreadValues({ "data-slot": "menubar-portal" }, props));
4523
4817
  }
4524
4818
  function MenubarRadioGroup(_a) {
4525
4819
  var props = __objRest(_a, []);
4526
- return /* @__PURE__ */ jsx36(MenubarPrimitive.RadioGroup, __spreadValues({ "data-slot": "menubar-radio-group" }, props));
4820
+ return /* @__PURE__ */ jsx37(MenubarPrimitive.RadioGroup, __spreadValues({ "data-slot": "menubar-radio-group" }, props));
4527
4821
  }
4528
4822
  function MenubarTrigger(_a) {
4529
4823
  var _b = _a, {
@@ -4531,7 +4825,7 @@ function MenubarTrigger(_a) {
4531
4825
  } = _b, props = __objRest(_b, [
4532
4826
  "className"
4533
4827
  ]);
4534
- return /* @__PURE__ */ jsx36(
4828
+ return /* @__PURE__ */ jsx37(
4535
4829
  MenubarPrimitive.Trigger,
4536
4830
  __spreadValues({
4537
4831
  "data-slot": "menubar-trigger",
@@ -4554,7 +4848,7 @@ function MenubarContent(_a) {
4554
4848
  "alignOffset",
4555
4849
  "sideOffset"
4556
4850
  ]);
4557
- return /* @__PURE__ */ jsx36(MenubarPortal, { children: /* @__PURE__ */ jsx36(
4851
+ return /* @__PURE__ */ jsx37(MenubarPortal, { children: /* @__PURE__ */ jsx37(
4558
4852
  MenubarPrimitive.Content,
4559
4853
  __spreadValues({
4560
4854
  "data-slot": "menubar-content",
@@ -4578,7 +4872,7 @@ function MenubarItem(_a) {
4578
4872
  "inset",
4579
4873
  "variant"
4580
4874
  ]);
4581
- return /* @__PURE__ */ jsx36(
4875
+ return /* @__PURE__ */ jsx37(
4582
4876
  MenubarPrimitive.Item,
4583
4877
  __spreadValues({
4584
4878
  "data-slot": "menubar-item",
@@ -4601,7 +4895,7 @@ function MenubarCheckboxItem(_a) {
4601
4895
  "children",
4602
4896
  "checked"
4603
4897
  ]);
4604
- return /* @__PURE__ */ jsxs19(
4898
+ return /* @__PURE__ */ jsxs20(
4605
4899
  MenubarPrimitive.CheckboxItem,
4606
4900
  __spreadProps(__spreadValues({
4607
4901
  "data-slot": "menubar-checkbox-item",
@@ -4612,7 +4906,7 @@ function MenubarCheckboxItem(_a) {
4612
4906
  checked
4613
4907
  }, props), {
4614
4908
  children: [
4615
- /* @__PURE__ */ jsx36("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx36(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx36(CheckIcon5, { className: "size-4" }) }) }),
4909
+ /* @__PURE__ */ jsx37("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx37(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx37(CheckIcon5, { className: "size-4" }) }) }),
4616
4910
  children
4617
4911
  ]
4618
4912
  })
@@ -4626,7 +4920,7 @@ function MenubarRadioItem(_a) {
4626
4920
  "className",
4627
4921
  "children"
4628
4922
  ]);
4629
- return /* @__PURE__ */ jsxs19(
4923
+ return /* @__PURE__ */ jsxs20(
4630
4924
  MenubarPrimitive.RadioItem,
4631
4925
  __spreadProps(__spreadValues({
4632
4926
  "data-slot": "menubar-radio-item",
@@ -4636,7 +4930,7 @@ function MenubarRadioItem(_a) {
4636
4930
  )
4637
4931
  }, props), {
4638
4932
  children: [
4639
- /* @__PURE__ */ jsx36("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx36(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx36(CircleIcon3, { className: "size-2 fill-current" }) }) }),
4933
+ /* @__PURE__ */ jsx37("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx37(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx37(CircleIcon3, { className: "size-2 fill-current" }) }) }),
4640
4934
  children
4641
4935
  ]
4642
4936
  })
@@ -4650,7 +4944,7 @@ function MenubarLabel(_a) {
4650
4944
  "className",
4651
4945
  "inset"
4652
4946
  ]);
4653
- return /* @__PURE__ */ jsx36(
4947
+ return /* @__PURE__ */ jsx37(
4654
4948
  MenubarPrimitive.Label,
4655
4949
  __spreadValues({
4656
4950
  "data-slot": "menubar-label",
@@ -4668,7 +4962,7 @@ function MenubarSeparator(_a) {
4668
4962
  } = _b, props = __objRest(_b, [
4669
4963
  "className"
4670
4964
  ]);
4671
- return /* @__PURE__ */ jsx36(
4965
+ return /* @__PURE__ */ jsx37(
4672
4966
  MenubarPrimitive.Separator,
4673
4967
  __spreadValues({
4674
4968
  "data-slot": "menubar-separator",
@@ -4682,7 +4976,7 @@ function MenubarShortcut(_a) {
4682
4976
  } = _b, props = __objRest(_b, [
4683
4977
  "className"
4684
4978
  ]);
4685
- return /* @__PURE__ */ jsx36(
4979
+ return /* @__PURE__ */ jsx37(
4686
4980
  "span",
4687
4981
  __spreadValues({
4688
4982
  "data-slot": "menubar-shortcut",
@@ -4695,7 +4989,7 @@ function MenubarShortcut(_a) {
4695
4989
  }
4696
4990
  function MenubarSub(_a) {
4697
4991
  var props = __objRest(_a, []);
4698
- return /* @__PURE__ */ jsx36(MenubarPrimitive.Sub, __spreadValues({ "data-slot": "menubar-sub" }, props));
4992
+ return /* @__PURE__ */ jsx37(MenubarPrimitive.Sub, __spreadValues({ "data-slot": "menubar-sub" }, props));
4699
4993
  }
4700
4994
  function MenubarSubTrigger(_a) {
4701
4995
  var _b = _a, {
@@ -4707,7 +5001,7 @@ function MenubarSubTrigger(_a) {
4707
5001
  "inset",
4708
5002
  "children"
4709
5003
  ]);
4710
- return /* @__PURE__ */ jsxs19(
5004
+ return /* @__PURE__ */ jsxs20(
4711
5005
  MenubarPrimitive.SubTrigger,
4712
5006
  __spreadProps(__spreadValues({
4713
5007
  "data-slot": "menubar-sub-trigger",
@@ -4719,7 +5013,7 @@ function MenubarSubTrigger(_a) {
4719
5013
  }, props), {
4720
5014
  children: [
4721
5015
  children,
4722
- /* @__PURE__ */ jsx36(ChevronRightIcon5, { className: "ml-auto" })
5016
+ /* @__PURE__ */ jsx37(ChevronRightIcon5, { className: "ml-auto" })
4723
5017
  ]
4724
5018
  })
4725
5019
  );
@@ -4730,7 +5024,7 @@ function MenubarSubContent(_a) {
4730
5024
  } = _b, props = __objRest(_b, [
4731
5025
  "className"
4732
5026
  ]);
4733
- return /* @__PURE__ */ jsx36(
5027
+ return /* @__PURE__ */ jsx37(
4734
5028
  MenubarPrimitive.SubContent,
4735
5029
  __spreadValues({
4736
5030
  "data-slot": "menubar-sub-content",
@@ -4744,7 +5038,7 @@ function MenubarSubContent(_a) {
4744
5038
 
4745
5039
  // components/ui/native-select.tsx
4746
5040
  import { ChevronDownIcon as ChevronDownIcon4 } from "lucide-react";
4747
- import { jsx as jsx37, jsxs as jsxs20 } from "react/jsx-runtime";
5041
+ import { jsx as jsx38, jsxs as jsxs21 } from "react/jsx-runtime";
4748
5042
  var sizeClasses = {
4749
5043
  sm: "type-native-select-sm h-8 py-1",
4750
5044
  md: "type-native-select-md h-10 py-2",
@@ -4760,13 +5054,13 @@ function NativeSelect(_a) {
4760
5054
  ]);
4761
5055
  const fieldSize = useFieldSize();
4762
5056
  const resolvedSize = size === "default" || size == null ? size == null ? fieldSize : "md" : size;
4763
- return /* @__PURE__ */ jsxs20(
5057
+ return /* @__PURE__ */ jsxs21(
4764
5058
  "div",
4765
5059
  {
4766
5060
  className: "group/native-select relative w-fit has-[select:disabled]:text-text-disabled-default",
4767
5061
  "data-slot": "native-select-wrapper",
4768
5062
  children: [
4769
- /* @__PURE__ */ jsx37(
5063
+ /* @__PURE__ */ jsx38(
4770
5064
  "select",
4771
5065
  __spreadValues({
4772
5066
  "data-slot": "native-select",
@@ -4779,7 +5073,7 @@ function NativeSelect(_a) {
4779
5073
  )
4780
5074
  }, props)
4781
5075
  ),
4782
- /* @__PURE__ */ jsx37(
5076
+ /* @__PURE__ */ jsx38(
4783
5077
  ChevronDownIcon4,
4784
5078
  {
4785
5079
  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",
@@ -4793,7 +5087,7 @@ function NativeSelect(_a) {
4793
5087
  }
4794
5088
  function NativeSelectOption(_a) {
4795
5089
  var props = __objRest(_a, []);
4796
- return /* @__PURE__ */ jsx37("option", __spreadValues({ "data-slot": "native-select-option" }, props));
5090
+ return /* @__PURE__ */ jsx38("option", __spreadValues({ "data-slot": "native-select-option" }, props));
4797
5091
  }
4798
5092
  function NativeSelectOptGroup(_a) {
4799
5093
  var _b = _a, {
@@ -4801,7 +5095,7 @@ function NativeSelectOptGroup(_a) {
4801
5095
  } = _b, props = __objRest(_b, [
4802
5096
  "className"
4803
5097
  ]);
4804
- return /* @__PURE__ */ jsx37(
5098
+ return /* @__PURE__ */ jsx38(
4805
5099
  "optgroup",
4806
5100
  __spreadValues({
4807
5101
  "data-slot": "native-select-optgroup",
@@ -4814,7 +5108,7 @@ function NativeSelectOptGroup(_a) {
4814
5108
  import { cva as cva12 } from "class-variance-authority";
4815
5109
  import { ChevronDownIcon as ChevronDownIcon5 } from "lucide-react";
4816
5110
  import { NavigationMenu as NavigationMenuPrimitive } from "radix-ui";
4817
- import { jsx as jsx38, jsxs as jsxs21 } from "react/jsx-runtime";
5111
+ import { jsx as jsx39, jsxs as jsxs22 } from "react/jsx-runtime";
4818
5112
  function NavigationMenu(_a) {
4819
5113
  var _b = _a, {
4820
5114
  className,
@@ -4825,7 +5119,7 @@ function NavigationMenu(_a) {
4825
5119
  "children",
4826
5120
  "viewport"
4827
5121
  ]);
4828
- return /* @__PURE__ */ jsxs21(
5122
+ return /* @__PURE__ */ jsxs22(
4829
5123
  NavigationMenuPrimitive.Root,
4830
5124
  __spreadProps(__spreadValues({
4831
5125
  "data-slot": "navigation-menu",
@@ -4837,7 +5131,7 @@ function NavigationMenu(_a) {
4837
5131
  }, props), {
4838
5132
  children: [
4839
5133
  children,
4840
- viewport && /* @__PURE__ */ jsx38(NavigationMenuViewport, {})
5134
+ viewport && /* @__PURE__ */ jsx39(NavigationMenuViewport, {})
4841
5135
  ]
4842
5136
  })
4843
5137
  );
@@ -4848,7 +5142,7 @@ function NavigationMenuList(_a) {
4848
5142
  } = _b, props = __objRest(_b, [
4849
5143
  "className"
4850
5144
  ]);
4851
- return /* @__PURE__ */ jsx38(
5145
+ return /* @__PURE__ */ jsx39(
4852
5146
  NavigationMenuPrimitive.List,
4853
5147
  __spreadValues({
4854
5148
  "data-slot": "navigation-menu-list",
@@ -4865,7 +5159,7 @@ function NavigationMenuItem(_a) {
4865
5159
  } = _b, props = __objRest(_b, [
4866
5160
  "className"
4867
5161
  ]);
4868
- return /* @__PURE__ */ jsx38(
5162
+ return /* @__PURE__ */ jsx39(
4869
5163
  NavigationMenuPrimitive.Item,
4870
5164
  __spreadValues({
4871
5165
  "data-slot": "navigation-menu-item",
@@ -4884,7 +5178,7 @@ function NavigationMenuTrigger(_a) {
4884
5178
  "className",
4885
5179
  "children"
4886
5180
  ]);
4887
- return /* @__PURE__ */ jsxs21(
5181
+ return /* @__PURE__ */ jsxs22(
4888
5182
  NavigationMenuPrimitive.Trigger,
4889
5183
  __spreadProps(__spreadValues({
4890
5184
  "data-slot": "navigation-menu-trigger",
@@ -4893,7 +5187,7 @@ function NavigationMenuTrigger(_a) {
4893
5187
  children: [
4894
5188
  children,
4895
5189
  " ",
4896
- /* @__PURE__ */ jsx38(
5190
+ /* @__PURE__ */ jsx39(
4897
5191
  ChevronDownIcon5,
4898
5192
  {
4899
5193
  className: "relative top-[1px] ml-1 size-3 transition duration-slow group-data-[state=open]:rotate-180",
@@ -4910,7 +5204,7 @@ function NavigationMenuContent(_a) {
4910
5204
  } = _b, props = __objRest(_b, [
4911
5205
  "className"
4912
5206
  ]);
4913
- return /* @__PURE__ */ jsx38(
5207
+ return /* @__PURE__ */ jsx39(
4914
5208
  NavigationMenuPrimitive.Content,
4915
5209
  __spreadValues({
4916
5210
  "data-slot": "navigation-menu-content",
@@ -4928,13 +5222,13 @@ function NavigationMenuViewport(_a) {
4928
5222
  } = _b, props = __objRest(_b, [
4929
5223
  "className"
4930
5224
  ]);
4931
- return /* @__PURE__ */ jsx38(
5225
+ return /* @__PURE__ */ jsx39(
4932
5226
  "div",
4933
5227
  {
4934
5228
  className: cn(
4935
5229
  "absolute top-full left-0 isolate z-50 flex justify-center"
4936
5230
  ),
4937
- children: /* @__PURE__ */ jsx38(
5231
+ children: /* @__PURE__ */ jsx39(
4938
5232
  NavigationMenuPrimitive.Viewport,
4939
5233
  __spreadValues({
4940
5234
  "data-slot": "navigation-menu-viewport",
@@ -4953,7 +5247,7 @@ function NavigationMenuLink(_a) {
4953
5247
  } = _b, props = __objRest(_b, [
4954
5248
  "className"
4955
5249
  ]);
4956
- return /* @__PURE__ */ jsx38(
5250
+ return /* @__PURE__ */ jsx39(
4957
5251
  NavigationMenuPrimitive.Link,
4958
5252
  __spreadValues({
4959
5253
  "data-slot": "navigation-menu-link",
@@ -4970,7 +5264,7 @@ function NavigationMenuIndicator(_a) {
4970
5264
  } = _b, props = __objRest(_b, [
4971
5265
  "className"
4972
5266
  ]);
4973
- return /* @__PURE__ */ jsx38(
5267
+ return /* @__PURE__ */ jsx39(
4974
5268
  NavigationMenuPrimitive.Indicator,
4975
5269
  __spreadProps(__spreadValues({
4976
5270
  "data-slot": "navigation-menu-indicator",
@@ -4979,15 +5273,15 @@ function NavigationMenuIndicator(_a) {
4979
5273
  className
4980
5274
  )
4981
5275
  }, props), {
4982
- children: /* @__PURE__ */ jsx38("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border-default-default" })
5276
+ children: /* @__PURE__ */ jsx39("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border-default-default" })
4983
5277
  })
4984
5278
  );
4985
5279
  }
4986
5280
 
4987
5281
  // components/ui/numpad.tsx
4988
- import * as React10 from "react";
5282
+ import * as React11 from "react";
4989
5283
  import { Delete } from "lucide-react";
4990
- import { jsx as jsx39 } from "react/jsx-runtime";
5284
+ import { jsx as jsx40 } from "react/jsx-runtime";
4991
5285
  var LONG_PRESS_MS = 600;
4992
5286
  function Numpad(_a) {
4993
5287
  var _b = _a, {
@@ -5003,8 +5297,8 @@ function Numpad(_a) {
5003
5297
  "decimal",
5004
5298
  "disabled"
5005
5299
  ]);
5006
- const holdTimer = React10.useRef(null);
5007
- const longPressFired = React10.useRef(false);
5300
+ const holdTimer = React11.useRef(null);
5301
+ const longPressFired = React11.useRef(false);
5008
5302
  const startHold = () => {
5009
5303
  longPressFired.current = false;
5010
5304
  holdTimer.current = setTimeout(() => {
@@ -5016,7 +5310,7 @@ function Numpad(_a) {
5016
5310
  if (holdTimer.current) clearTimeout(holdTimer.current);
5017
5311
  holdTimer.current = null;
5018
5312
  };
5019
- React10.useEffect(() => cancelHold, []);
5313
+ React11.useEffect(() => cancelHold, []);
5020
5314
  const keys = [
5021
5315
  "1",
5022
5316
  "2",
@@ -5031,7 +5325,7 @@ function Numpad(_a) {
5031
5325
  "0",
5032
5326
  "backspace"
5033
5327
  ];
5034
- return /* @__PURE__ */ jsx39(
5328
+ return /* @__PURE__ */ jsx40(
5035
5329
  "div",
5036
5330
  __spreadProps(__spreadValues({
5037
5331
  "data-slot": "numpad",
@@ -5044,7 +5338,7 @@ function Numpad(_a) {
5044
5338
  )
5045
5339
  }, props), {
5046
5340
  children: keys.map(
5047
- (key, i) => key === null ? /* @__PURE__ */ jsx39("span", { "aria-hidden": true }, `empty-${i}`) : /* @__PURE__ */ jsx39(
5341
+ (key, i) => key === null ? /* @__PURE__ */ jsx40("span", { "aria-hidden": true }, `empty-${i}`) : /* @__PURE__ */ jsx40(
5048
5342
  "button",
5049
5343
  {
5050
5344
  type: "button",
@@ -5069,7 +5363,7 @@ function Numpad(_a) {
5069
5363
  }
5070
5364
  onKeyPress == null ? void 0 : onKeyPress(key);
5071
5365
  },
5072
- children: key === "backspace" ? /* @__PURE__ */ jsx39(Delete, { className: "size-5.5" }) : key
5366
+ children: key === "backspace" ? /* @__PURE__ */ jsx40(Delete, { className: "size-5.5" }) : key
5073
5367
  },
5074
5368
  key
5075
5369
  )
@@ -5080,14 +5374,14 @@ function Numpad(_a) {
5080
5374
 
5081
5375
  // components/ui/popover.tsx
5082
5376
  import { Popover as PopoverPrimitive } from "radix-ui";
5083
- import { jsx as jsx40 } from "react/jsx-runtime";
5377
+ import { jsx as jsx41 } from "react/jsx-runtime";
5084
5378
  function Popover(_a) {
5085
5379
  var props = __objRest(_a, []);
5086
- return /* @__PURE__ */ jsx40(PopoverPrimitive.Root, __spreadValues({ "data-slot": "popover" }, props));
5380
+ return /* @__PURE__ */ jsx41(PopoverPrimitive.Root, __spreadValues({ "data-slot": "popover" }, props));
5087
5381
  }
5088
5382
  function PopoverTrigger(_a) {
5089
5383
  var props = __objRest(_a, []);
5090
- return /* @__PURE__ */ jsx40(PopoverPrimitive.Trigger, __spreadValues({ "data-slot": "popover-trigger" }, props));
5384
+ return /* @__PURE__ */ jsx41(PopoverPrimitive.Trigger, __spreadValues({ "data-slot": "popover-trigger" }, props));
5091
5385
  }
5092
5386
  function PopoverContent(_a) {
5093
5387
  var _b = _a, {
@@ -5099,7 +5393,7 @@ function PopoverContent(_a) {
5099
5393
  "align",
5100
5394
  "sideOffset"
5101
5395
  ]);
5102
- return /* @__PURE__ */ jsx40(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx40(
5396
+ return /* @__PURE__ */ jsx41(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx41(
5103
5397
  PopoverPrimitive.Content,
5104
5398
  __spreadValues({
5105
5399
  "data-slot": "popover-content",
@@ -5114,11 +5408,11 @@ function PopoverContent(_a) {
5114
5408
  }
5115
5409
  function PopoverAnchor(_a) {
5116
5410
  var props = __objRest(_a, []);
5117
- return /* @__PURE__ */ jsx40(PopoverPrimitive.Anchor, __spreadValues({ "data-slot": "popover-anchor" }, props));
5411
+ return /* @__PURE__ */ jsx41(PopoverPrimitive.Anchor, __spreadValues({ "data-slot": "popover-anchor" }, props));
5118
5412
  }
5119
5413
  function PopoverHeader(_a) {
5120
5414
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5121
- return /* @__PURE__ */ jsx40(
5415
+ return /* @__PURE__ */ jsx41(
5122
5416
  "div",
5123
5417
  __spreadValues({
5124
5418
  "data-slot": "popover-header",
@@ -5128,7 +5422,7 @@ function PopoverHeader(_a) {
5128
5422
  }
5129
5423
  function PopoverTitle(_a) {
5130
5424
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5131
- return /* @__PURE__ */ jsx40(
5425
+ return /* @__PURE__ */ jsx41(
5132
5426
  "div",
5133
5427
  __spreadValues({
5134
5428
  "data-slot": "popover-title",
@@ -5142,7 +5436,7 @@ function PopoverDescription(_a) {
5142
5436
  } = _b, props = __objRest(_b, [
5143
5437
  "className"
5144
5438
  ]);
5145
- return /* @__PURE__ */ jsx40(
5439
+ return /* @__PURE__ */ jsx41(
5146
5440
  "p",
5147
5441
  __spreadValues({
5148
5442
  "data-slot": "popover-description",
@@ -5152,9 +5446,9 @@ function PopoverDescription(_a) {
5152
5446
  }
5153
5447
 
5154
5448
  // components/ui/progress.tsx
5155
- import * as React11 from "react";
5449
+ import * as React12 from "react";
5156
5450
  import { Progress as ProgressPrimitive } from "radix-ui";
5157
- import { jsx as jsx41, jsxs as jsxs22 } from "react/jsx-runtime";
5451
+ import { jsx as jsx42, jsxs as jsxs23 } from "react/jsx-runtime";
5158
5452
  var BAR_HEIGHTS = {
5159
5453
  sm: "h-1",
5160
5454
  md: "h-2",
@@ -5197,11 +5491,11 @@ function Progress(_a) {
5197
5491
  "onTimerEnd",
5198
5492
  "children"
5199
5493
  ]);
5200
- const [timerPct, setTimerPct] = React11.useState(
5494
+ const [timerPct, setTimerPct] = React12.useState(
5201
5495
  timer != null ? direction === "up" ? 0 : 100 : null
5202
5496
  );
5203
- const endedRef = React11.useRef(false);
5204
- React11.useEffect(() => {
5497
+ const endedRef = React12.useRef(false);
5498
+ React12.useEffect(() => {
5205
5499
  if (timer == null) {
5206
5500
  setTimerPct(null);
5207
5501
  return;
@@ -5227,7 +5521,7 @@ function Progress(_a) {
5227
5521
  const content = typeof children === "function" ? children(pct) : children;
5228
5522
  if (variant === "dots") {
5229
5523
  const filled = Math.round(pct / 100 * segments);
5230
- return /* @__PURE__ */ jsx41(
5524
+ return /* @__PURE__ */ jsx42(
5231
5525
  "div",
5232
5526
  __spreadProps(__spreadValues({
5233
5527
  "data-slot": "progress",
@@ -5238,7 +5532,7 @@ function Progress(_a) {
5238
5532
  "aria-valuenow": pct,
5239
5533
  className: cn("flex items-center gap-1", className)
5240
5534
  }, props), {
5241
- children: Array.from({ length: segments }, (_, i) => /* @__PURE__ */ jsx41(
5535
+ children: Array.from({ length: segments }, (_, i) => /* @__PURE__ */ jsx42(
5242
5536
  "span",
5243
5537
  {
5244
5538
  "data-slot": "progress-dot",
@@ -5257,7 +5551,7 @@ function Progress(_a) {
5257
5551
  if (variant === "ring") {
5258
5552
  const { box, r, stroke } = RINGS[size in RINGS ? size : "md"];
5259
5553
  const circumference = 2 * Math.PI * r;
5260
- return /* @__PURE__ */ jsxs22(
5554
+ return /* @__PURE__ */ jsxs23(
5261
5555
  "div",
5262
5556
  __spreadProps(__spreadValues({
5263
5557
  "data-slot": "progress",
@@ -5270,14 +5564,14 @@ function Progress(_a) {
5270
5564
  style: { width: box, height: box }
5271
5565
  }, props), {
5272
5566
  children: [
5273
- /* @__PURE__ */ jsxs22(
5567
+ /* @__PURE__ */ jsxs23(
5274
5568
  "svg",
5275
5569
  {
5276
5570
  viewBox: `0 0 ${box} ${box}`,
5277
5571
  className: "absolute inset-0 -rotate-90",
5278
5572
  "aria-hidden": true,
5279
5573
  children: [
5280
- /* @__PURE__ */ jsx41(
5574
+ /* @__PURE__ */ jsx42(
5281
5575
  "circle",
5282
5576
  {
5283
5577
  cx: box / 2,
@@ -5288,7 +5582,7 @@ function Progress(_a) {
5288
5582
  strokeWidth: stroke
5289
5583
  }
5290
5584
  ),
5291
- pct > 0 && /* @__PURE__ */ jsx41(
5585
+ pct > 0 && /* @__PURE__ */ jsx42(
5292
5586
  "circle",
5293
5587
  {
5294
5588
  "data-slot": "progress-ring-fill",
@@ -5309,12 +5603,12 @@ function Progress(_a) {
5309
5603
  ]
5310
5604
  }
5311
5605
  ),
5312
- content != null && /* @__PURE__ */ jsx41("span", { className: "type-progress-value relative text-text-prominent-default", children: content })
5606
+ content != null && /* @__PURE__ */ jsx42("span", { className: "type-progress-value relative text-text-prominent-default", children: content })
5313
5607
  ]
5314
5608
  })
5315
5609
  );
5316
5610
  }
5317
- const bar = /* @__PURE__ */ jsx41(
5611
+ const bar = /* @__PURE__ */ jsx42(
5318
5612
  ProgressPrimitive.Root,
5319
5613
  __spreadProps(__spreadValues({
5320
5614
  "data-slot": "progress",
@@ -5328,7 +5622,7 @@ function Progress(_a) {
5328
5622
  label == null && valueLabel == null && className
5329
5623
  )
5330
5624
  }, props), {
5331
- children: /* @__PURE__ */ jsx41(
5625
+ children: /* @__PURE__ */ jsx42(
5332
5626
  ProgressPrimitive.Indicator,
5333
5627
  {
5334
5628
  "data-slot": "progress-indicator",
@@ -5342,10 +5636,10 @@ function Progress(_a) {
5342
5636
  })
5343
5637
  );
5344
5638
  if (label == null && valueLabel == null) return bar;
5345
- return /* @__PURE__ */ jsxs22("div", { "data-slot": "progress-meter", className: cn("flex w-full flex-col gap-1.5", className), children: [
5346
- /* @__PURE__ */ jsxs22("div", { className: "flex items-baseline justify-between gap-3", children: [
5347
- label != null && /* @__PURE__ */ jsx41("span", { className: "type-progress-label text-text-prominent-default", children: label }),
5348
- valueLabel != null && /* @__PURE__ */ jsx41("span", { className: "type-progress-label ml-auto text-text-subtle-default tabular-nums", children: valueLabel })
5639
+ return /* @__PURE__ */ jsxs23("div", { "data-slot": "progress-meter", className: cn("flex w-full flex-col gap-1.5", className), children: [
5640
+ /* @__PURE__ */ jsxs23("div", { className: "flex items-baseline justify-between gap-3", children: [
5641
+ label != null && /* @__PURE__ */ jsx42("span", { className: "type-progress-label text-text-prominent-default", children: label }),
5642
+ valueLabel != null && /* @__PURE__ */ jsx42("span", { className: "type-progress-label ml-auto text-text-subtle-default tabular-nums", children: valueLabel })
5349
5643
  ] }),
5350
5644
  bar
5351
5645
  ] });
@@ -5353,7 +5647,7 @@ function Progress(_a) {
5353
5647
 
5354
5648
  // components/ui/profile-photo.tsx
5355
5649
  import { Camera, User } from "lucide-react";
5356
- import { jsx as jsx42, jsxs as jsxs23 } from "react/jsx-runtime";
5650
+ import { jsx as jsx43, jsxs as jsxs24 } from "react/jsx-runtime";
5357
5651
  var BOX = 112;
5358
5652
  var PHOTO = 96;
5359
5653
  var STROKE = 5;
@@ -5380,7 +5674,7 @@ function ProfilePhoto(_a) {
5380
5674
  ]);
5381
5675
  const pct = Math.min(100, Math.max(0, progress));
5382
5676
  const complete = pct >= 100;
5383
- return /* @__PURE__ */ jsxs23(
5677
+ return /* @__PURE__ */ jsxs24(
5384
5678
  "div",
5385
5679
  __spreadProps(__spreadValues({
5386
5680
  "data-slot": "profile-photo",
@@ -5390,14 +5684,14 @@ function ProfilePhoto(_a) {
5390
5684
  style: { width: BOX, height: BOX }
5391
5685
  }, props), {
5392
5686
  children: [
5393
- /* @__PURE__ */ jsxs23(
5687
+ /* @__PURE__ */ jsxs24(
5394
5688
  "svg",
5395
5689
  {
5396
5690
  viewBox: `0 0 ${BOX} ${BOX}`,
5397
5691
  "aria-hidden": "true",
5398
5692
  className: "absolute inset-0 size-full rotate-90",
5399
5693
  children: [
5400
- /* @__PURE__ */ jsx42(
5694
+ /* @__PURE__ */ jsx43(
5401
5695
  "circle",
5402
5696
  {
5403
5697
  cx: BOX / 2,
@@ -5408,7 +5702,7 @@ function ProfilePhoto(_a) {
5408
5702
  strokeWidth: STROKE
5409
5703
  }
5410
5704
  ),
5411
- /* @__PURE__ */ jsx42(
5705
+ /* @__PURE__ */ jsx43(
5412
5706
  "circle",
5413
5707
  {
5414
5708
  "data-slot": "profile-photo-ring",
@@ -5427,19 +5721,19 @@ function ProfilePhoto(_a) {
5427
5721
  ]
5428
5722
  }
5429
5723
  ),
5430
- /* @__PURE__ */ jsx42(
5724
+ /* @__PURE__ */ jsx43(
5431
5725
  "div",
5432
5726
  {
5433
5727
  "data-slot": "profile-photo-image",
5434
5728
  className: "absolute flex items-center justify-center overflow-hidden rounded-full bg-background-secondary-surface",
5435
5729
  style: { inset: INSET },
5436
- children: src ? /* @__PURE__ */ jsx42("img", { src, alt, className: "size-full object-cover" }) : /* @__PURE__ */ jsx42(User, { className: "size-10 text-icon-subtle-default", strokeWidth: 1.5, "aria-hidden": "true" })
5730
+ children: src ? /* @__PURE__ */ jsx43("img", { src, alt, className: "size-full object-cover" }) : /* @__PURE__ */ jsx43(User, { className: "size-10 text-icon-subtle-default", strokeWidth: 1.5, "aria-hidden": "true" })
5437
5731
  }
5438
5732
  ),
5439
5733
  onPhotoChange ? (
5440
5734
  // 24px keeps the chip subordinate to the photo; the ::after extends the
5441
5735
  // hit area to ~44px so it still meets the touch-target minimum.
5442
- /* @__PURE__ */ jsx42(
5736
+ /* @__PURE__ */ jsx43(
5443
5737
  Button,
5444
5738
  {
5445
5739
  variant: "primary",
@@ -5448,11 +5742,11 @@ function ProfilePhoto(_a) {
5448
5742
  onClick: onPhotoChange,
5449
5743
  "data-slot": "profile-photo-camera",
5450
5744
  className: "absolute right-0.5 bottom-5 rounded-full border-2 border-prominent after:absolute after:-inset-2.5 after:content-['']",
5451
- children: /* @__PURE__ */ jsx42(Camera, {})
5745
+ children: /* @__PURE__ */ jsx43(Camera, {})
5452
5746
  }
5453
5747
  )
5454
5748
  ) : null,
5455
- status ? /* @__PURE__ */ jsx42(
5749
+ status ? /* @__PURE__ */ jsx43(
5456
5750
  "div",
5457
5751
  {
5458
5752
  "data-slot": "profile-photo-status",
@@ -5468,14 +5762,14 @@ function ProfilePhoto(_a) {
5468
5762
  // components/ui/radio-group.tsx
5469
5763
  import { CircleIcon as CircleIcon4 } from "lucide-react";
5470
5764
  import { RadioGroup as RadioGroupPrimitive } from "radix-ui";
5471
- import { jsx as jsx43 } from "react/jsx-runtime";
5765
+ import { jsx as jsx44 } from "react/jsx-runtime";
5472
5766
  function RadioGroup(_a) {
5473
5767
  var _b = _a, {
5474
5768
  className
5475
5769
  } = _b, props = __objRest(_b, [
5476
5770
  "className"
5477
5771
  ]);
5478
- return /* @__PURE__ */ jsx43(
5772
+ return /* @__PURE__ */ jsx44(
5479
5773
  RadioGroupPrimitive.Root,
5480
5774
  __spreadValues({
5481
5775
  "data-slot": "radio-group",
@@ -5489,7 +5783,7 @@ function RadioGroupItem(_a) {
5489
5783
  } = _b, props = __objRest(_b, [
5490
5784
  "className"
5491
5785
  ]);
5492
- return /* @__PURE__ */ jsx43(
5786
+ return /* @__PURE__ */ jsx44(
5493
5787
  RadioGroupPrimitive.Item,
5494
5788
  __spreadProps(__spreadValues({
5495
5789
  "data-slot": "radio-group-item",
@@ -5498,12 +5792,12 @@ function RadioGroupItem(_a) {
5498
5792
  className
5499
5793
  )
5500
5794
  }, props), {
5501
- children: /* @__PURE__ */ jsx43(
5795
+ children: /* @__PURE__ */ jsx44(
5502
5796
  RadioGroupPrimitive.Indicator,
5503
5797
  {
5504
5798
  "data-slot": "radio-group-indicator",
5505
5799
  className: "relative flex items-center justify-center",
5506
- children: /* @__PURE__ */ jsx43(CircleIcon4, { 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" })
5800
+ children: /* @__PURE__ */ jsx44(CircleIcon4, { 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" })
5507
5801
  }
5508
5802
  )
5509
5803
  })
@@ -5513,14 +5807,14 @@ function RadioGroupItem(_a) {
5513
5807
  // components/ui/resizable.tsx
5514
5808
  import { GripVerticalIcon } from "lucide-react";
5515
5809
  import * as ResizablePrimitive from "react-resizable-panels";
5516
- import { jsx as jsx44 } from "react/jsx-runtime";
5810
+ import { jsx as jsx45 } from "react/jsx-runtime";
5517
5811
  function ResizablePanelGroup(_a) {
5518
5812
  var _b = _a, {
5519
5813
  className
5520
5814
  } = _b, props = __objRest(_b, [
5521
5815
  "className"
5522
5816
  ]);
5523
- return /* @__PURE__ */ jsx44(
5817
+ return /* @__PURE__ */ jsx45(
5524
5818
  ResizablePrimitive.Group,
5525
5819
  __spreadValues({
5526
5820
  "data-slot": "resizable-panel-group",
@@ -5533,7 +5827,7 @@ function ResizablePanelGroup(_a) {
5533
5827
  }
5534
5828
  function ResizablePanel(_a) {
5535
5829
  var props = __objRest(_a, []);
5536
- return /* @__PURE__ */ jsx44(ResizablePrimitive.Panel, __spreadValues({ "data-slot": "resizable-panel" }, props));
5830
+ return /* @__PURE__ */ jsx45(ResizablePrimitive.Panel, __spreadValues({ "data-slot": "resizable-panel" }, props));
5537
5831
  }
5538
5832
  function ResizableHandle(_a) {
5539
5833
  var _b = _a, {
@@ -5543,7 +5837,7 @@ function ResizableHandle(_a) {
5543
5837
  "withHandle",
5544
5838
  "className"
5545
5839
  ]);
5546
- return /* @__PURE__ */ jsx44(
5840
+ return /* @__PURE__ */ jsx45(
5547
5841
  ResizablePrimitive.Separator,
5548
5842
  __spreadProps(__spreadValues({
5549
5843
  "data-slot": "resizable-handle",
@@ -5552,14 +5846,14 @@ function ResizableHandle(_a) {
5552
5846
  className
5553
5847
  )
5554
5848
  }, props), {
5555
- children: withHandle && /* @__PURE__ */ jsx44("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__ */ jsx44(GripVerticalIcon, { className: "size-2.5" }) })
5849
+ children: withHandle && /* @__PURE__ */ jsx45("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__ */ jsx45(GripVerticalIcon, { className: "size-2.5" }) })
5556
5850
  })
5557
5851
  );
5558
5852
  }
5559
5853
 
5560
5854
  // components/ui/scroll-area.tsx
5561
5855
  import { ScrollArea as ScrollAreaPrimitive } from "radix-ui";
5562
- import { jsx as jsx45, jsxs as jsxs24 } from "react/jsx-runtime";
5856
+ import { jsx as jsx46, jsxs as jsxs25 } from "react/jsx-runtime";
5563
5857
  function ScrollArea(_a) {
5564
5858
  var _b = _a, {
5565
5859
  className,
@@ -5568,14 +5862,14 @@ function ScrollArea(_a) {
5568
5862
  "className",
5569
5863
  "children"
5570
5864
  ]);
5571
- return /* @__PURE__ */ jsxs24(
5865
+ return /* @__PURE__ */ jsxs25(
5572
5866
  ScrollAreaPrimitive.Root,
5573
5867
  __spreadProps(__spreadValues({
5574
5868
  "data-slot": "scroll-area",
5575
5869
  className: cn("relative", className)
5576
5870
  }, props), {
5577
5871
  children: [
5578
- /* @__PURE__ */ jsx45(
5872
+ /* @__PURE__ */ jsx46(
5579
5873
  ScrollAreaPrimitive.Viewport,
5580
5874
  {
5581
5875
  "data-slot": "scroll-area-viewport",
@@ -5583,8 +5877,8 @@ function ScrollArea(_a) {
5583
5877
  children
5584
5878
  }
5585
5879
  ),
5586
- /* @__PURE__ */ jsx45(ScrollBar, {}),
5587
- /* @__PURE__ */ jsx45(ScrollAreaPrimitive.Corner, {})
5880
+ /* @__PURE__ */ jsx46(ScrollBar, {}),
5881
+ /* @__PURE__ */ jsx46(ScrollAreaPrimitive.Corner, {})
5588
5882
  ]
5589
5883
  })
5590
5884
  );
@@ -5597,7 +5891,7 @@ function ScrollBar(_a) {
5597
5891
  "className",
5598
5892
  "orientation"
5599
5893
  ]);
5600
- return /* @__PURE__ */ jsx45(
5894
+ return /* @__PURE__ */ jsx46(
5601
5895
  ScrollAreaPrimitive.ScrollAreaScrollbar,
5602
5896
  __spreadProps(__spreadValues({
5603
5897
  "data-slot": "scroll-area-scrollbar",
@@ -5609,7 +5903,7 @@ function ScrollBar(_a) {
5609
5903
  className
5610
5904
  )
5611
5905
  }, props), {
5612
- children: /* @__PURE__ */ jsx45(
5906
+ children: /* @__PURE__ */ jsx46(
5613
5907
  ScrollAreaPrimitive.ScrollAreaThumb,
5614
5908
  {
5615
5909
  "data-slot": "scroll-area-thumb",
@@ -5623,22 +5917,22 @@ function ScrollBar(_a) {
5623
5917
  // components/ui/sheet.tsx
5624
5918
  import { XIcon as XIcon3 } from "lucide-react";
5625
5919
  import { Dialog as SheetPrimitive } from "radix-ui";
5626
- import { jsx as jsx46, jsxs as jsxs25 } from "react/jsx-runtime";
5920
+ import { jsx as jsx47, jsxs as jsxs26 } from "react/jsx-runtime";
5627
5921
  function Sheet(_a) {
5628
5922
  var props = __objRest(_a, []);
5629
- return /* @__PURE__ */ jsx46(SheetPrimitive.Root, __spreadValues({ "data-slot": "sheet" }, props));
5923
+ return /* @__PURE__ */ jsx47(SheetPrimitive.Root, __spreadValues({ "data-slot": "sheet" }, props));
5630
5924
  }
5631
5925
  function SheetTrigger(_a) {
5632
5926
  var props = __objRest(_a, []);
5633
- return /* @__PURE__ */ jsx46(SheetPrimitive.Trigger, __spreadValues({ "data-slot": "sheet-trigger" }, props));
5927
+ return /* @__PURE__ */ jsx47(SheetPrimitive.Trigger, __spreadValues({ "data-slot": "sheet-trigger" }, props));
5634
5928
  }
5635
5929
  function SheetClose(_a) {
5636
5930
  var props = __objRest(_a, []);
5637
- return /* @__PURE__ */ jsx46(SheetPrimitive.Close, __spreadValues({ "data-slot": "sheet-close" }, props));
5931
+ return /* @__PURE__ */ jsx47(SheetPrimitive.Close, __spreadValues({ "data-slot": "sheet-close" }, props));
5638
5932
  }
5639
5933
  function SheetPortal(_a) {
5640
5934
  var props = __objRest(_a, []);
5641
- return /* @__PURE__ */ jsx46(SheetPrimitive.Portal, __spreadValues({ "data-slot": "sheet-portal" }, props));
5935
+ return /* @__PURE__ */ jsx47(SheetPrimitive.Portal, __spreadValues({ "data-slot": "sheet-portal" }, props));
5642
5936
  }
5643
5937
  function SheetOverlay(_a) {
5644
5938
  var _b = _a, {
@@ -5646,7 +5940,7 @@ function SheetOverlay(_a) {
5646
5940
  } = _b, props = __objRest(_b, [
5647
5941
  "className"
5648
5942
  ]);
5649
- return /* @__PURE__ */ jsx46(
5943
+ return /* @__PURE__ */ jsx47(
5650
5944
  SheetPrimitive.Overlay,
5651
5945
  __spreadValues({
5652
5946
  "data-slot": "sheet-overlay",
@@ -5669,9 +5963,9 @@ function SheetContent(_a) {
5669
5963
  "side",
5670
5964
  "showCloseButton"
5671
5965
  ]);
5672
- return /* @__PURE__ */ jsxs25(SheetPortal, { children: [
5673
- /* @__PURE__ */ jsx46(SheetOverlay, {}),
5674
- /* @__PURE__ */ jsxs25(
5966
+ return /* @__PURE__ */ jsxs26(SheetPortal, { children: [
5967
+ /* @__PURE__ */ jsx47(SheetOverlay, {}),
5968
+ /* @__PURE__ */ jsxs26(
5675
5969
  SheetPrimitive.Content,
5676
5970
  __spreadProps(__spreadValues({
5677
5971
  "data-slot": "sheet-content",
@@ -5686,14 +5980,14 @@ function SheetContent(_a) {
5686
5980
  }, props), {
5687
5981
  children: [
5688
5982
  children,
5689
- showCloseButton && /* @__PURE__ */ jsx46(SheetPrimitive.Close, { asChild: true, children: /* @__PURE__ */ jsx46(
5983
+ showCloseButton && /* @__PURE__ */ jsx47(SheetPrimitive.Close, { asChild: true, children: /* @__PURE__ */ jsx47(
5690
5984
  NavigationButton,
5691
5985
  {
5692
5986
  "data-slot": "sheet-close",
5693
5987
  size: "sm",
5694
5988
  "aria-label": "Close",
5695
5989
  className: "absolute top-4 right-4",
5696
- children: /* @__PURE__ */ jsx46(XIcon3, { className: "size-4" })
5990
+ children: /* @__PURE__ */ jsx47(XIcon3, { className: "size-4" })
5697
5991
  }
5698
5992
  ) })
5699
5993
  ]
@@ -5703,7 +5997,7 @@ function SheetContent(_a) {
5703
5997
  }
5704
5998
  function SheetHeader(_a) {
5705
5999
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5706
- return /* @__PURE__ */ jsx46(
6000
+ return /* @__PURE__ */ jsx47(
5707
6001
  "div",
5708
6002
  __spreadValues({
5709
6003
  "data-slot": "sheet-header",
@@ -5713,7 +6007,7 @@ function SheetHeader(_a) {
5713
6007
  }
5714
6008
  function SheetFooter(_a) {
5715
6009
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5716
- return /* @__PURE__ */ jsx46(
6010
+ return /* @__PURE__ */ jsx47(
5717
6011
  "div",
5718
6012
  __spreadValues({
5719
6013
  "data-slot": "sheet-footer",
@@ -5727,7 +6021,7 @@ function SheetTitle(_a) {
5727
6021
  } = _b, props = __objRest(_b, [
5728
6022
  "className"
5729
6023
  ]);
5730
- return /* @__PURE__ */ jsx46(
6024
+ return /* @__PURE__ */ jsx47(
5731
6025
  SheetPrimitive.Title,
5732
6026
  __spreadValues({
5733
6027
  "data-slot": "sheet-title",
@@ -5741,7 +6035,7 @@ function SheetDescription(_a) {
5741
6035
  } = _b, props = __objRest(_b, [
5742
6036
  "className"
5743
6037
  ]);
5744
- return /* @__PURE__ */ jsx46(
6038
+ return /* @__PURE__ */ jsx47(
5745
6039
  SheetPrimitive.Description,
5746
6040
  __spreadValues({
5747
6041
  "data-slot": "sheet-description",
@@ -5751,17 +6045,17 @@ function SheetDescription(_a) {
5751
6045
  }
5752
6046
 
5753
6047
  // components/ui/sidebar.tsx
5754
- import * as React14 from "react";
6048
+ import * as React15 from "react";
5755
6049
  import { cva as cva13 } from "class-variance-authority";
5756
6050
  import { PanelLeftIcon } from "lucide-react";
5757
6051
  import { Slot as Slot8 } from "radix-ui";
5758
6052
 
5759
6053
  // hooks/use-mobile.ts
5760
- import * as React12 from "react";
6054
+ import * as React13 from "react";
5761
6055
  var MOBILE_BREAKPOINT = 768;
5762
6056
  function useIsMobile() {
5763
- const [isMobile, setIsMobile] = React12.useState(void 0);
5764
- React12.useEffect(() => {
6057
+ const [isMobile, setIsMobile] = React13.useState(void 0);
6058
+ React13.useEffect(() => {
5765
6059
  const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
5766
6060
  const onChange = () => {
5767
6061
  setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
@@ -5774,10 +6068,10 @@ function useIsMobile() {
5774
6068
  }
5775
6069
 
5776
6070
  // components/ui/skeleton.tsx
5777
- import { jsx as jsx47 } from "react/jsx-runtime";
6071
+ import { jsx as jsx48 } from "react/jsx-runtime";
5778
6072
  function Skeleton(_a) {
5779
6073
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5780
- return /* @__PURE__ */ jsx47(
6074
+ return /* @__PURE__ */ jsx48(
5781
6075
  "div",
5782
6076
  __spreadValues({
5783
6077
  "data-slot": "skeleton",
@@ -5791,17 +6085,17 @@ function Skeleton(_a) {
5791
6085
  }
5792
6086
 
5793
6087
  // components/ui/tooltip.tsx
5794
- import * as React13 from "react";
6088
+ import * as React14 from "react";
5795
6089
  import { Tooltip as TooltipPrimitive } from "radix-ui";
5796
- import { jsx as jsx48, jsxs as jsxs26 } from "react/jsx-runtime";
5797
- var TooltipModeContext = React13.createContext("tooltip");
6090
+ import { jsx as jsx49, jsxs as jsxs27 } from "react/jsx-runtime";
6091
+ var TooltipModeContext = React14.createContext("tooltip");
5798
6092
  function TooltipProvider(_a) {
5799
6093
  var _b = _a, {
5800
6094
  delayDuration = 0
5801
6095
  } = _b, props = __objRest(_b, [
5802
6096
  "delayDuration"
5803
6097
  ]);
5804
- return /* @__PURE__ */ jsx48(
6098
+ return /* @__PURE__ */ jsx49(
5805
6099
  TooltipPrimitive.Provider,
5806
6100
  __spreadValues({
5807
6101
  "data-slot": "tooltip-provider",
@@ -5818,9 +6112,9 @@ function Tooltip(_a) {
5818
6112
  const isMobile = useIsMobile();
5819
6113
  const mode = isMobile ? "drawer" : "tooltip";
5820
6114
  if (mode === "drawer") {
5821
- return /* @__PURE__ */ jsx48(TooltipModeContext.Provider, { value: "drawer", children: /* @__PURE__ */ jsx48(Drawer, { children }) });
6115
+ return /* @__PURE__ */ jsx49(TooltipModeContext.Provider, { value: "drawer", children: /* @__PURE__ */ jsx49(Drawer, { children }) });
5822
6116
  }
5823
- return /* @__PURE__ */ jsx48(TooltipModeContext.Provider, { value: "tooltip", children: /* @__PURE__ */ jsx48(TooltipPrimitive.Root, __spreadProps(__spreadValues({ "data-slot": "tooltip" }, props), { children })) });
6117
+ return /* @__PURE__ */ jsx49(TooltipModeContext.Provider, { value: "tooltip", children: /* @__PURE__ */ jsx49(TooltipPrimitive.Root, __spreadProps(__spreadValues({ "data-slot": "tooltip" }, props), { children })) });
5824
6118
  }
5825
6119
  function TooltipTrigger(_a) {
5826
6120
  var _b = _a, {
@@ -5828,11 +6122,11 @@ function TooltipTrigger(_a) {
5828
6122
  } = _b, props = __objRest(_b, [
5829
6123
  "children"
5830
6124
  ]);
5831
- const mode = React13.useContext(TooltipModeContext);
6125
+ const mode = React14.useContext(TooltipModeContext);
5832
6126
  if (mode === "drawer") {
5833
- return /* @__PURE__ */ jsx48(DrawerTrigger, __spreadProps(__spreadValues({ "data-slot": "tooltip-trigger" }, props), { children }));
6127
+ return /* @__PURE__ */ jsx49(DrawerTrigger, __spreadProps(__spreadValues({ "data-slot": "tooltip-trigger" }, props), { children }));
5834
6128
  }
5835
- return /* @__PURE__ */ jsx48(TooltipPrimitive.Trigger, __spreadProps(__spreadValues({ "data-slot": "tooltip-trigger" }, props), { children }));
6129
+ return /* @__PURE__ */ jsx49(TooltipPrimitive.Trigger, __spreadProps(__spreadValues({ "data-slot": "tooltip-trigger" }, props), { children }));
5836
6130
  }
5837
6131
  function TooltipContent(_a) {
5838
6132
  var _b = _a, {
@@ -5850,17 +6144,17 @@ function TooltipContent(_a) {
5850
6144
  "closeLabel",
5851
6145
  "children"
5852
6146
  ]);
5853
- const mode = React13.useContext(TooltipModeContext);
6147
+ const mode = React14.useContext(TooltipModeContext);
5854
6148
  if (mode === "drawer") {
5855
- return /* @__PURE__ */ jsxs26(DrawerContent, { "data-slot": "tooltip-content", "data-variant": variant, children: [
5856
- /* @__PURE__ */ jsx48(DrawerHeader, { children: /* @__PURE__ */ jsx48(DrawerTitle, { children: title }) }),
5857
- /* @__PURE__ */ jsx48("div", { className: cn("type-drawer-description p-4 text-text-subtle-default", className), children }),
5858
- /* @__PURE__ */ jsx48(DrawerFooter, { children: /* @__PURE__ */ jsx48(DrawerClose, { asChild: true, children: /* @__PURE__ */ jsx48(Button, { variant: "primary", size: "md", children: closeLabel }) }) })
6149
+ return /* @__PURE__ */ jsxs27(DrawerContent, { "data-slot": "tooltip-content", "data-variant": variant, children: [
6150
+ /* @__PURE__ */ jsx49(DrawerHeader, { children: /* @__PURE__ */ jsx49(DrawerTitle, { children: title }) }),
6151
+ /* @__PURE__ */ jsx49("div", { className: cn("type-drawer-description p-4 text-text-subtle-default", className), children }),
6152
+ /* @__PURE__ */ jsx49(DrawerFooter, { children: /* @__PURE__ */ jsx49(DrawerClose, { asChild: true, children: /* @__PURE__ */ jsx49(Button, { variant: "primary", size: "md", children: closeLabel }) }) })
5859
6153
  ] });
5860
6154
  }
5861
6155
  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";
5862
6156
  const arrowClasses = variant === "inverse" ? "fill-background-primary-surface" : "fill-background-inverse-surface";
5863
- return /* @__PURE__ */ jsx48(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs26(
6157
+ return /* @__PURE__ */ jsx49(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs27(
5864
6158
  TooltipPrimitive.Content,
5865
6159
  __spreadProps(__spreadValues({
5866
6160
  "data-slot": "tooltip-content",
@@ -5874,23 +6168,23 @@ function TooltipContent(_a) {
5874
6168
  }, props), {
5875
6169
  children: [
5876
6170
  children,
5877
- /* @__PURE__ */ jsx48(TooltipPrimitive.Arrow, { className: arrowClasses })
6171
+ /* @__PURE__ */ jsx49(TooltipPrimitive.Arrow, { className: arrowClasses })
5878
6172
  ]
5879
6173
  })
5880
6174
  ) });
5881
6175
  }
5882
6176
 
5883
6177
  // components/ui/sidebar.tsx
5884
- import { jsx as jsx49, jsxs as jsxs27 } from "react/jsx-runtime";
6178
+ import { jsx as jsx50, jsxs as jsxs28 } from "react/jsx-runtime";
5885
6179
  var SIDEBAR_COOKIE_NAME = "sidebar_state";
5886
6180
  var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
5887
6181
  var SIDEBAR_WIDTH = "16rem";
5888
6182
  var SIDEBAR_WIDTH_MOBILE = "18rem";
5889
6183
  var SIDEBAR_WIDTH_ICON = "3rem";
5890
6184
  var SIDEBAR_KEYBOARD_SHORTCUT = "b";
5891
- var SidebarContext = React14.createContext(null);
6185
+ var SidebarContext = React15.createContext(null);
5892
6186
  function useSidebar() {
5893
- const context = React14.useContext(SidebarContext);
6187
+ const context = React15.useContext(SidebarContext);
5894
6188
  if (!context) {
5895
6189
  throw new Error("useSidebar must be used within a SidebarProvider.");
5896
6190
  }
@@ -5913,10 +6207,10 @@ function SidebarProvider(_a) {
5913
6207
  "children"
5914
6208
  ]);
5915
6209
  const isMobile = useIsMobile();
5916
- const [openMobile, setOpenMobile] = React14.useState(false);
5917
- const [_open, _setOpen] = React14.useState(defaultOpen);
6210
+ const [openMobile, setOpenMobile] = React15.useState(false);
6211
+ const [_open, _setOpen] = React15.useState(defaultOpen);
5918
6212
  const open = openProp != null ? openProp : _open;
5919
- const setOpen = React14.useCallback(
6213
+ const setOpen = React15.useCallback(
5920
6214
  (value) => {
5921
6215
  const openState = typeof value === "function" ? value(open) : value;
5922
6216
  if (setOpenProp) {
@@ -5928,10 +6222,10 @@ function SidebarProvider(_a) {
5928
6222
  },
5929
6223
  [setOpenProp, open]
5930
6224
  );
5931
- const toggleSidebar = React14.useCallback(() => {
6225
+ const toggleSidebar = React15.useCallback(() => {
5932
6226
  return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
5933
6227
  }, [isMobile, setOpen, setOpenMobile]);
5934
- React14.useEffect(() => {
6228
+ React15.useEffect(() => {
5935
6229
  const handleKeyDown = (event) => {
5936
6230
  if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
5937
6231
  event.preventDefault();
@@ -5942,7 +6236,7 @@ function SidebarProvider(_a) {
5942
6236
  return () => window.removeEventListener("keydown", handleKeyDown);
5943
6237
  }, [toggleSidebar]);
5944
6238
  const state = open ? "expanded" : "collapsed";
5945
- const contextValue = React14.useMemo(
6239
+ const contextValue = React15.useMemo(
5946
6240
  () => ({
5947
6241
  state,
5948
6242
  open,
@@ -5954,7 +6248,7 @@ function SidebarProvider(_a) {
5954
6248
  }),
5955
6249
  [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
5956
6250
  );
5957
- return /* @__PURE__ */ jsx49(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx49(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx49(
6251
+ return /* @__PURE__ */ jsx50(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx50(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx50(
5958
6252
  "div",
5959
6253
  __spreadProps(__spreadValues({
5960
6254
  "data-slot": "sidebar-wrapper",
@@ -5987,7 +6281,7 @@ function Sidebar(_a) {
5987
6281
  ]);
5988
6282
  const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
5989
6283
  if (collapsible === "none") {
5990
- return /* @__PURE__ */ jsx49(
6284
+ return /* @__PURE__ */ jsx50(
5991
6285
  "div",
5992
6286
  __spreadProps(__spreadValues({
5993
6287
  "data-slot": "sidebar",
@@ -6001,7 +6295,7 @@ function Sidebar(_a) {
6001
6295
  );
6002
6296
  }
6003
6297
  if (isMobile) {
6004
- return /* @__PURE__ */ jsx49(Sheet, __spreadProps(__spreadValues({ open: openMobile, onOpenChange: setOpenMobile }, props), { children: /* @__PURE__ */ jsxs27(
6298
+ return /* @__PURE__ */ jsx50(Sheet, __spreadProps(__spreadValues({ open: openMobile, onOpenChange: setOpenMobile }, props), { children: /* @__PURE__ */ jsxs28(
6005
6299
  SheetContent,
6006
6300
  {
6007
6301
  "data-sidebar": "sidebar",
@@ -6013,16 +6307,16 @@ function Sidebar(_a) {
6013
6307
  },
6014
6308
  side,
6015
6309
  children: [
6016
- /* @__PURE__ */ jsxs27(SheetHeader, { className: "sr-only", children: [
6017
- /* @__PURE__ */ jsx49(SheetTitle, { children: "Sidebar" }),
6018
- /* @__PURE__ */ jsx49(SheetDescription, { children: "Displays the mobile sidebar." })
6310
+ /* @__PURE__ */ jsxs28(SheetHeader, { className: "sr-only", children: [
6311
+ /* @__PURE__ */ jsx50(SheetTitle, { children: "Sidebar" }),
6312
+ /* @__PURE__ */ jsx50(SheetDescription, { children: "Displays the mobile sidebar." })
6019
6313
  ] }),
6020
- /* @__PURE__ */ jsx49("div", { className: "flex h-full w-full flex-col", children })
6314
+ /* @__PURE__ */ jsx50("div", { className: "flex h-full w-full flex-col", children })
6021
6315
  ]
6022
6316
  }
6023
6317
  ) }));
6024
6318
  }
6025
- return /* @__PURE__ */ jsxs27(
6319
+ return /* @__PURE__ */ jsxs28(
6026
6320
  "div",
6027
6321
  {
6028
6322
  className: "group peer hidden text-text-prominent-default md:block",
@@ -6032,7 +6326,7 @@ function Sidebar(_a) {
6032
6326
  "data-side": side,
6033
6327
  "data-slot": "sidebar",
6034
6328
  children: [
6035
- /* @__PURE__ */ jsx49(
6329
+ /* @__PURE__ */ jsx50(
6036
6330
  "div",
6037
6331
  {
6038
6332
  "data-slot": "sidebar-gap",
@@ -6044,7 +6338,7 @@ function Sidebar(_a) {
6044
6338
  )
6045
6339
  }
6046
6340
  ),
6047
- /* @__PURE__ */ jsx49(
6341
+ /* @__PURE__ */ jsx50(
6048
6342
  "div",
6049
6343
  __spreadProps(__spreadValues({
6050
6344
  "data-slot": "sidebar-container",
@@ -6056,7 +6350,7 @@ function Sidebar(_a) {
6056
6350
  className
6057
6351
  )
6058
6352
  }, props), {
6059
- children: /* @__PURE__ */ jsx49(
6353
+ children: /* @__PURE__ */ jsx50(
6060
6354
  "div",
6061
6355
  {
6062
6356
  "data-sidebar": "sidebar",
@@ -6080,7 +6374,7 @@ function SidebarTrigger(_a) {
6080
6374
  "onClick"
6081
6375
  ]);
6082
6376
  const { toggleSidebar } = useSidebar();
6083
- return /* @__PURE__ */ jsxs27(
6377
+ return /* @__PURE__ */ jsxs28(
6084
6378
  Button,
6085
6379
  __spreadProps(__spreadValues({
6086
6380
  "data-sidebar": "trigger",
@@ -6094,8 +6388,8 @@ function SidebarTrigger(_a) {
6094
6388
  }
6095
6389
  }, props), {
6096
6390
  children: [
6097
- /* @__PURE__ */ jsx49(PanelLeftIcon, {}),
6098
- /* @__PURE__ */ jsx49("span", { className: "sr-only", children: "Toggle Sidebar" })
6391
+ /* @__PURE__ */ jsx50(PanelLeftIcon, {}),
6392
+ /* @__PURE__ */ jsx50("span", { className: "sr-only", children: "Toggle Sidebar" })
6099
6393
  ]
6100
6394
  })
6101
6395
  );
@@ -6103,7 +6397,7 @@ function SidebarTrigger(_a) {
6103
6397
  function SidebarRail(_a) {
6104
6398
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6105
6399
  const { toggleSidebar } = useSidebar();
6106
- return /* @__PURE__ */ jsx49(
6400
+ return /* @__PURE__ */ jsx50(
6107
6401
  "button",
6108
6402
  __spreadValues({
6109
6403
  "data-sidebar": "rail",
@@ -6126,7 +6420,7 @@ function SidebarRail(_a) {
6126
6420
  }
6127
6421
  function SidebarInset(_a) {
6128
6422
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6129
- return /* @__PURE__ */ jsx49(
6423
+ return /* @__PURE__ */ jsx50(
6130
6424
  "main",
6131
6425
  __spreadValues({
6132
6426
  "data-slot": "sidebar-inset",
@@ -6144,7 +6438,7 @@ function SidebarInput(_a) {
6144
6438
  } = _b, props = __objRest(_b, [
6145
6439
  "className"
6146
6440
  ]);
6147
- return /* @__PURE__ */ jsx49(
6441
+ return /* @__PURE__ */ jsx50(
6148
6442
  Input,
6149
6443
  __spreadValues({
6150
6444
  "data-slot": "sidebar-input",
@@ -6155,7 +6449,7 @@ function SidebarInput(_a) {
6155
6449
  }
6156
6450
  function SidebarHeader(_a) {
6157
6451
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6158
- return /* @__PURE__ */ jsx49(
6452
+ return /* @__PURE__ */ jsx50(
6159
6453
  "div",
6160
6454
  __spreadValues({
6161
6455
  "data-slot": "sidebar-header",
@@ -6169,7 +6463,7 @@ function SidebarHeader(_a) {
6169
6463
  }
6170
6464
  function SidebarFooter(_a) {
6171
6465
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6172
- return /* @__PURE__ */ jsx49(
6466
+ return /* @__PURE__ */ jsx50(
6173
6467
  "div",
6174
6468
  __spreadValues({
6175
6469
  "data-slot": "sidebar-footer",
@@ -6187,7 +6481,7 @@ function SidebarSeparator(_a) {
6187
6481
  } = _b, props = __objRest(_b, [
6188
6482
  "className"
6189
6483
  ]);
6190
- return /* @__PURE__ */ jsx49(
6484
+ return /* @__PURE__ */ jsx50(
6191
6485
  Separator,
6192
6486
  __spreadValues({
6193
6487
  "data-slot": "sidebar-separator",
@@ -6198,7 +6492,7 @@ function SidebarSeparator(_a) {
6198
6492
  }
6199
6493
  function SidebarContent(_a) {
6200
6494
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6201
- return /* @__PURE__ */ jsx49(
6495
+ return /* @__PURE__ */ jsx50(
6202
6496
  "div",
6203
6497
  __spreadValues({
6204
6498
  "data-slot": "sidebar-content",
@@ -6212,7 +6506,7 @@ function SidebarContent(_a) {
6212
6506
  }
6213
6507
  function SidebarGroup(_a) {
6214
6508
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6215
- return /* @__PURE__ */ jsx49(
6509
+ return /* @__PURE__ */ jsx50(
6216
6510
  "div",
6217
6511
  __spreadValues({
6218
6512
  "data-slot": "sidebar-group",
@@ -6233,7 +6527,7 @@ function SidebarGroupLabel(_a) {
6233
6527
  "asChild"
6234
6528
  ]);
6235
6529
  const Comp = asChild ? Slot8.Root : "div";
6236
- return /* @__PURE__ */ jsx49(
6530
+ return /* @__PURE__ */ jsx50(
6237
6531
  Comp,
6238
6532
  __spreadValues({
6239
6533
  "data-slot": "sidebar-group-label",
@@ -6255,7 +6549,7 @@ function SidebarGroupAction(_a) {
6255
6549
  "asChild"
6256
6550
  ]);
6257
6551
  const Comp = asChild ? Slot8.Root : "button";
6258
- return /* @__PURE__ */ jsx49(
6552
+ return /* @__PURE__ */ jsx50(
6259
6553
  Comp,
6260
6554
  __spreadValues({
6261
6555
  "data-slot": "sidebar-group-action",
@@ -6276,7 +6570,7 @@ function SidebarGroupContent(_a) {
6276
6570
  } = _b, props = __objRest(_b, [
6277
6571
  "className"
6278
6572
  ]);
6279
- return /* @__PURE__ */ jsx49(
6573
+ return /* @__PURE__ */ jsx50(
6280
6574
  "div",
6281
6575
  __spreadValues({
6282
6576
  "data-slot": "sidebar-group-content",
@@ -6287,7 +6581,7 @@ function SidebarGroupContent(_a) {
6287
6581
  }
6288
6582
  function SidebarMenu(_a) {
6289
6583
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6290
- return /* @__PURE__ */ jsx49(
6584
+ return /* @__PURE__ */ jsx50(
6291
6585
  "ul",
6292
6586
  __spreadValues({
6293
6587
  "data-slot": "sidebar-menu",
@@ -6298,7 +6592,7 @@ function SidebarMenu(_a) {
6298
6592
  }
6299
6593
  function SidebarMenuItem(_a) {
6300
6594
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6301
- return /* @__PURE__ */ jsx49(
6595
+ return /* @__PURE__ */ jsx50(
6302
6596
  "li",
6303
6597
  __spreadValues({
6304
6598
  "data-slot": "sidebar-menu-item",
@@ -6345,7 +6639,7 @@ function SidebarMenuButton(_a) {
6345
6639
  ]);
6346
6640
  const Comp = asChild ? Slot8.Root : "button";
6347
6641
  const { isMobile, state } = useSidebar();
6348
- const button = /* @__PURE__ */ jsx49(
6642
+ const button = /* @__PURE__ */ jsx50(
6349
6643
  Comp,
6350
6644
  __spreadValues({
6351
6645
  "data-slot": "sidebar-menu-button",
@@ -6363,9 +6657,9 @@ function SidebarMenuButton(_a) {
6363
6657
  children: tooltip
6364
6658
  };
6365
6659
  }
6366
- return /* @__PURE__ */ jsxs27(Tooltip, { children: [
6367
- /* @__PURE__ */ jsx49(TooltipTrigger, { asChild: true, children: button }),
6368
- /* @__PURE__ */ jsx49(
6660
+ return /* @__PURE__ */ jsxs28(Tooltip, { children: [
6661
+ /* @__PURE__ */ jsx50(TooltipTrigger, { asChild: true, children: button }),
6662
+ /* @__PURE__ */ jsx50(
6369
6663
  TooltipContent,
6370
6664
  __spreadValues({
6371
6665
  side: "right",
@@ -6386,7 +6680,7 @@ function SidebarMenuAction(_a) {
6386
6680
  "showOnHover"
6387
6681
  ]);
6388
6682
  const Comp = asChild ? Slot8.Root : "button";
6389
- return /* @__PURE__ */ jsx49(
6683
+ return /* @__PURE__ */ jsx50(
6390
6684
  Comp,
6391
6685
  __spreadValues({
6392
6686
  "data-slot": "sidebar-menu-action",
@@ -6411,7 +6705,7 @@ function SidebarMenuBadge(_a) {
6411
6705
  } = _b, props = __objRest(_b, [
6412
6706
  "className"
6413
6707
  ]);
6414
- return /* @__PURE__ */ jsx49(
6708
+ return /* @__PURE__ */ jsx50(
6415
6709
  "div",
6416
6710
  __spreadValues({
6417
6711
  "data-slot": "sidebar-menu-badge",
@@ -6437,7 +6731,7 @@ function SidebarMenuSkeleton(_a) {
6437
6731
  "showIcon"
6438
6732
  ]);
6439
6733
  const width = "70%";
6440
- return /* @__PURE__ */ jsxs27(
6734
+ return /* @__PURE__ */ jsxs28(
6441
6735
  "div",
6442
6736
  __spreadProps(__spreadValues({
6443
6737
  "data-slot": "sidebar-menu-skeleton",
@@ -6445,14 +6739,14 @@ function SidebarMenuSkeleton(_a) {
6445
6739
  className: cn("flex h-8 items-center gap-2 rounded-md px-2", className)
6446
6740
  }, props), {
6447
6741
  children: [
6448
- showIcon && /* @__PURE__ */ jsx49(
6742
+ showIcon && /* @__PURE__ */ jsx50(
6449
6743
  Skeleton,
6450
6744
  {
6451
6745
  className: "size-4 rounded-md",
6452
6746
  "data-sidebar": "menu-skeleton-icon"
6453
6747
  }
6454
6748
  ),
6455
- /* @__PURE__ */ jsx49(
6749
+ /* @__PURE__ */ jsx50(
6456
6750
  Skeleton,
6457
6751
  {
6458
6752
  className: "h-4 max-w-(--skeleton-width) flex-1",
@@ -6468,7 +6762,7 @@ function SidebarMenuSkeleton(_a) {
6468
6762
  }
6469
6763
  function SidebarMenuSub(_a) {
6470
6764
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6471
- return /* @__PURE__ */ jsx49(
6765
+ return /* @__PURE__ */ jsx50(
6472
6766
  "ul",
6473
6767
  __spreadValues({
6474
6768
  "data-slot": "sidebar-menu-sub",
@@ -6487,7 +6781,7 @@ function SidebarMenuSubItem(_a) {
6487
6781
  } = _b, props = __objRest(_b, [
6488
6782
  "className"
6489
6783
  ]);
6490
- return /* @__PURE__ */ jsx49(
6784
+ return /* @__PURE__ */ jsx50(
6491
6785
  "li",
6492
6786
  __spreadValues({
6493
6787
  "data-slot": "sidebar-menu-sub-item",
@@ -6509,7 +6803,7 @@ function SidebarMenuSubButton(_a) {
6509
6803
  "className"
6510
6804
  ]);
6511
6805
  const Comp = asChild ? Slot8.Root : "a";
6512
- return /* @__PURE__ */ jsx49(
6806
+ return /* @__PURE__ */ jsx50(
6513
6807
  Comp,
6514
6808
  __spreadValues({
6515
6809
  "data-slot": "sidebar-menu-sub-button",
@@ -6529,9 +6823,9 @@ function SidebarMenuSubButton(_a) {
6529
6823
  }
6530
6824
 
6531
6825
  // components/ui/slider.tsx
6532
- import * as React15 from "react";
6826
+ import * as React16 from "react";
6533
6827
  import { Slider as SliderPrimitive } from "radix-ui";
6534
- import { jsx as jsx50, jsxs as jsxs28 } from "react/jsx-runtime";
6828
+ import { jsx as jsx51, jsxs as jsxs29 } from "react/jsx-runtime";
6535
6829
  function Slider(_a) {
6536
6830
  var _b = _a, {
6537
6831
  className,
@@ -6546,11 +6840,11 @@ function Slider(_a) {
6546
6840
  "min",
6547
6841
  "max"
6548
6842
  ]);
6549
- const _values = React15.useMemo(
6843
+ const _values = React16.useMemo(
6550
6844
  () => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max],
6551
6845
  [value, defaultValue, min, max]
6552
6846
  );
6553
- return /* @__PURE__ */ jsxs28(
6847
+ return /* @__PURE__ */ jsxs29(
6554
6848
  SliderPrimitive.Root,
6555
6849
  __spreadProps(__spreadValues({
6556
6850
  "data-slot": "slider",
@@ -6564,7 +6858,7 @@ function Slider(_a) {
6564
6858
  )
6565
6859
  }, props), {
6566
6860
  children: [
6567
- /* @__PURE__ */ jsx50(
6861
+ /* @__PURE__ */ jsx51(
6568
6862
  SliderPrimitive.Track,
6569
6863
  {
6570
6864
  "data-slot": "slider-track",
@@ -6573,7 +6867,7 @@ function Slider(_a) {
6573
6867
  // surface, solid brand fill.
6574
6868
  "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"
6575
6869
  ),
6576
- children: /* @__PURE__ */ jsx50(
6870
+ children: /* @__PURE__ */ jsx51(
6577
6871
  SliderPrimitive.Range,
6578
6872
  {
6579
6873
  "data-slot": "slider-range",
@@ -6584,7 +6878,7 @@ function Slider(_a) {
6584
6878
  )
6585
6879
  }
6586
6880
  ),
6587
- Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */ jsx50(
6881
+ Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */ jsx51(
6588
6882
  SliderPrimitive.Thumb,
6589
6883
  {
6590
6884
  "data-slot": "slider-thumb",
@@ -6598,7 +6892,7 @@ function Slider(_a) {
6598
6892
  }
6599
6893
 
6600
6894
  // components/ui/toast.tsx
6601
- import * as React16 from "react";
6895
+ import * as React17 from "react";
6602
6896
  import {
6603
6897
  CircleCheckIcon,
6604
6898
  InfoIcon,
@@ -6606,27 +6900,25 @@ import {
6606
6900
  OctagonXIcon,
6607
6901
  TriangleAlertIcon
6608
6902
  } from "lucide-react";
6609
- import { useTheme } from "next-themes";
6610
6903
  import { Toaster as Sonner, toast } from "sonner";
6611
- import { jsx as jsx51, jsxs as jsxs29 } from "react/jsx-runtime";
6904
+ import { jsx as jsx52, jsxs as jsxs30 } from "react/jsx-runtime";
6612
6905
  var Toaster = (_a) => {
6613
6906
  var props = __objRest(_a, []);
6614
- const { theme = "system" } = useTheme();
6615
6907
  const isMobile = useIsMobile();
6616
- return /* @__PURE__ */ jsx51(
6908
+ return /* @__PURE__ */ jsx52(
6617
6909
  Sonner,
6618
6910
  __spreadValues({
6619
- theme,
6911
+ theme: "system",
6620
6912
  className: "toaster group",
6621
6913
  position: isMobile ? "top-center" : "bottom-right",
6622
6914
  visibleToasts: isMobile ? 1 : 3,
6623
6915
  duration: 4e3,
6624
6916
  icons: {
6625
- success: /* @__PURE__ */ jsx51(CircleCheckIcon, { className: "size-4" }),
6626
- info: /* @__PURE__ */ jsx51(InfoIcon, { className: "size-4" }),
6627
- warning: /* @__PURE__ */ jsx51(TriangleAlertIcon, { className: "size-4" }),
6628
- error: /* @__PURE__ */ jsx51(OctagonXIcon, { className: "size-4" }),
6629
- loading: /* @__PURE__ */ jsx51(Loader2Icon, { className: "size-4 animate-spin" })
6917
+ success: /* @__PURE__ */ jsx52(CircleCheckIcon, { className: "size-4" }),
6918
+ info: /* @__PURE__ */ jsx52(InfoIcon, { className: "size-4" }),
6919
+ warning: /* @__PURE__ */ jsx52(TriangleAlertIcon, { className: "size-4" }),
6920
+ error: /* @__PURE__ */ jsx52(OctagonXIcon, { className: "size-4" }),
6921
+ loading: /* @__PURE__ */ jsx52(Loader2Icon, { className: "size-4 animate-spin" })
6630
6922
  },
6631
6923
  toastOptions: {
6632
6924
  classNames: {
@@ -6676,30 +6968,30 @@ function ResultSnackbar(_a) {
6676
6968
  "className"
6677
6969
  ]);
6678
6970
  const isWin = outcome === "win";
6679
- const [leaving, setLeaving] = React16.useState(false);
6971
+ const [leaving, setLeaving] = React17.useState(false);
6680
6972
  const reduced = usePrefersReducedMotion();
6681
- const onDismissRef = React16.useRef(onDismiss);
6682
- React16.useEffect(() => {
6973
+ const onDismissRef = React17.useRef(onDismiss);
6974
+ React17.useEffect(() => {
6683
6975
  onDismissRef.current = onDismiss;
6684
6976
  }, [onDismiss]);
6685
- const firedRef = React16.useRef(false);
6686
- const finish = React16.useCallback(() => {
6977
+ const firedRef = React17.useRef(false);
6978
+ const finish = React17.useCallback(() => {
6687
6979
  var _a2;
6688
6980
  if (firedRef.current) return;
6689
6981
  firedRef.current = true;
6690
6982
  (_a2 = onDismissRef.current) == null ? void 0 : _a2.call(onDismissRef);
6691
6983
  }, []);
6692
- React16.useEffect(() => {
6984
+ React17.useEffect(() => {
6693
6985
  const leave = window.setTimeout(() => setLeaving(true), durationMs);
6694
6986
  return () => window.clearTimeout(leave);
6695
6987
  }, [durationMs]);
6696
- React16.useEffect(() => {
6988
+ React17.useEffect(() => {
6697
6989
  if (!leaving) return;
6698
6990
  const done = window.setTimeout(finish, reduced ? 0 : RESULT_SNACKBAR_EXIT_MS);
6699
6991
  return () => window.clearTimeout(done);
6700
6992
  }, [leaving, finish, reduced]);
6701
- const [display, setDisplay] = React16.useState(null);
6702
- React16.useEffect(() => {
6993
+ const [display, setDisplay] = React17.useState(null);
6994
+ React17.useEffect(() => {
6703
6995
  if (amountValue === void 0 || reduced || !Number.isFinite(amountValue)) {
6704
6996
  setDisplay(null);
6705
6997
  return;
@@ -6724,7 +7016,7 @@ function ResultSnackbar(_a) {
6724
7016
  const spoken = announcement != null ? announcement : `${isWin ? "Won" : "Lost"} ${amount} ${currency}. ${contractLabel}, ${duration}.`;
6725
7017
  const enterOut = leaving ? "out" : "in";
6726
7018
  const motionName = `result-snackbar-${enterOut}-${placement}`;
6727
- return /* @__PURE__ */ jsxs29(
7019
+ return /* @__PURE__ */ jsxs30(
6728
7020
  "div",
6729
7021
  __spreadProps(__spreadValues({
6730
7022
  role: "status",
@@ -6748,8 +7040,8 @@ function ResultSnackbar(_a) {
6748
7040
  }
6749
7041
  }, props), {
6750
7042
  children: [
6751
- /* @__PURE__ */ jsx51("span", { className: "sr-only", children: spoken }),
6752
- icon ? /* @__PURE__ */ jsx51(
7043
+ /* @__PURE__ */ jsx52("span", { className: "sr-only", children: spoken }),
7044
+ icon ? /* @__PURE__ */ jsx52(
6753
7045
  "span",
6754
7046
  {
6755
7047
  "data-slot": "result-snackbar-icon",
@@ -6760,8 +7052,8 @@ function ResultSnackbar(_a) {
6760
7052
  children: icon
6761
7053
  }
6762
7054
  ) : null,
6763
- /* @__PURE__ */ jsxs29("span", { "aria-hidden": true, className: "flex min-w-max flex-col gap-0.5", children: [
6764
- /* @__PURE__ */ jsxs29(
7055
+ /* @__PURE__ */ jsxs30("span", { "aria-hidden": true, className: "flex min-w-max flex-col gap-0.5", children: [
7056
+ /* @__PURE__ */ jsxs30(
6765
7057
  "span",
6766
7058
  {
6767
7059
  className: cn(
@@ -6771,17 +7063,17 @@ function ResultSnackbar(_a) {
6771
7063
  children: [
6772
7064
  display != null ? display : amount,
6773
7065
  " ",
6774
- /* @__PURE__ */ jsx51("span", { className: "type-result-snackbar-currency", children: currency })
7066
+ /* @__PURE__ */ jsx52("span", { className: "type-result-snackbar-currency", children: currency })
6775
7067
  ]
6776
7068
  }
6777
7069
  ),
6778
- /* @__PURE__ */ jsxs29("span", { className: "type-result-snackbar-terms min-w-max text-text-subtle-default", children: [
7070
+ /* @__PURE__ */ jsxs30("span", { className: "type-result-snackbar-terms min-w-max text-text-subtle-default", children: [
6779
7071
  contractLabel,
6780
7072
  " \xB7 ",
6781
7073
  duration
6782
7074
  ] })
6783
7075
  ] }),
6784
- /* @__PURE__ */ jsx51(
7076
+ /* @__PURE__ */ jsx52(
6785
7077
  "span",
6786
7078
  {
6787
7079
  "aria-hidden": true,
@@ -6800,8 +7092,8 @@ function ResultSnackbar(_a) {
6800
7092
  );
6801
7093
  }
6802
7094
  function usePrefersReducedMotion() {
6803
- const [reduced, setReduced] = React16.useState(false);
6804
- React16.useEffect(() => {
7095
+ const [reduced, setReduced] = React17.useState(false);
7096
+ React17.useEffect(() => {
6805
7097
  const query = window.matchMedia("(prefers-reduced-motion: reduce)");
6806
7098
  setReduced(query.matches);
6807
7099
  const onChange = (event) => setReduced(event.matches);
@@ -6812,9 +7104,9 @@ function usePrefersReducedMotion() {
6812
7104
  }
6813
7105
 
6814
7106
  // components/ui/slide-to-confirm.tsx
6815
- import * as React17 from "react";
7107
+ import * as React18 from "react";
6816
7108
  import { ArrowRight as ArrowRight2, Check } from "lucide-react";
6817
- import { jsx as jsx52, jsxs as jsxs30 } from "react/jsx-runtime";
7109
+ import { jsx as jsx53, jsxs as jsxs31 } from "react/jsx-runtime";
6818
7110
  var CONFIRM_AT = 0.9;
6819
7111
  var HANDLE = 46;
6820
7112
  var INSET2 = 5;
@@ -6834,21 +7126,21 @@ function SlideToConfirm(_a) {
6834
7126
  "confirmed",
6835
7127
  "className"
6836
7128
  ]);
6837
- const trackRef = React17.useRef(null);
6838
- const [dragX, setDragX] = React17.useState(0);
6839
- const [dragging, setDragging] = React17.useState(false);
6840
- const [trackWidth, setTrackWidth] = React17.useState(0);
6841
- const [internalConfirmed, setInternalConfirmed] = React17.useState(false);
7129
+ const trackRef = React18.useRef(null);
7130
+ const [dragX, setDragX] = React18.useState(0);
7131
+ const [dragging, setDragging] = React18.useState(false);
7132
+ const [trackWidth, setTrackWidth] = React18.useState(0);
7133
+ const [internalConfirmed, setInternalConfirmed] = React18.useState(false);
6842
7134
  const confirmed = controlledConfirmed != null ? controlledConfirmed : internalConfirmed;
6843
- const firedRef = React17.useRef(false);
6844
- React17.useEffect(() => {
7135
+ const firedRef = React18.useRef(false);
7136
+ React18.useEffect(() => {
6845
7137
  if (controlledConfirmed === false) {
6846
7138
  setInternalConfirmed(false);
6847
7139
  setDragX(0);
6848
7140
  firedRef.current = false;
6849
7141
  }
6850
7142
  }, [controlledConfirmed]);
6851
- React17.useEffect(() => {
7143
+ React18.useEffect(() => {
6852
7144
  const track = trackRef.current;
6853
7145
  if (!track) return;
6854
7146
  const ro = new ResizeObserver(() => setTrackWidth(track.clientWidth));
@@ -6897,7 +7189,7 @@ function SlideToConfirm(_a) {
6897
7189
  const fillWidth = dragX === 0 ? 0 : dragX + HANDLE;
6898
7190
  const revealWidth = INSET2 + dragX + HANDLE / 2;
6899
7191
  const spring = "duration-slow ease-(--primitive-ease-spring)";
6900
- return /* @__PURE__ */ jsxs30(
7192
+ return /* @__PURE__ */ jsxs31(
6901
7193
  "div",
6902
7194
  __spreadProps(__spreadValues({
6903
7195
  ref: trackRef,
@@ -6916,8 +7208,8 @@ function SlideToConfirm(_a) {
6916
7208
  )
6917
7209
  }, props), {
6918
7210
  children: [
6919
- /* @__PURE__ */ jsx52("span", { className: "absolute inset-0 grid place-items-center", children: /* @__PURE__ */ jsx52("span", { className: "type-slide-to-confirm text-text-subtle-default", children: label }) }),
6920
- /* @__PURE__ */ jsx52(
7211
+ /* @__PURE__ */ jsx53("span", { className: "absolute inset-0 grid place-items-center", children: /* @__PURE__ */ jsx53("span", { className: "type-slide-to-confirm text-text-subtle-default", children: label }) }),
7212
+ /* @__PURE__ */ jsx53(
6921
7213
  "span",
6922
7214
  {
6923
7215
  "aria-hidden": true,
@@ -6935,7 +7227,7 @@ function SlideToConfirm(_a) {
6935
7227
  }
6936
7228
  }
6937
7229
  ),
6938
- /* @__PURE__ */ jsx52(
7230
+ /* @__PURE__ */ jsx53(
6939
7231
  "span",
6940
7232
  {
6941
7233
  "aria-hidden": true,
@@ -6947,10 +7239,10 @@ function SlideToConfirm(_a) {
6947
7239
  style: {
6948
7240
  clipPath: confirmed ? "inset(0 round 9999px)" : `inset(0 calc(100% - ${revealWidth}px) 0 0 round 9999px)`
6949
7241
  },
6950
- children: /* @__PURE__ */ jsx52("span", { className: "type-slide-to-confirm flex items-center gap-2 text-text-on-brand-static", children: confirmed ? confirmedLabel : label })
7242
+ children: /* @__PURE__ */ jsx53("span", { className: "type-slide-to-confirm flex items-center gap-2 text-text-on-brand-static", children: confirmed ? confirmedLabel : label })
6951
7243
  }
6952
7244
  ),
6953
- /* @__PURE__ */ jsx52(
7245
+ /* @__PURE__ */ jsx53(
6954
7246
  "span",
6955
7247
  {
6956
7248
  "data-slot": "slide-to-confirm-handle",
@@ -6979,7 +7271,7 @@ function SlideToConfirm(_a) {
6979
7271
  // the keyboard, where dragX never moved.
6980
7272
  translate: `${confirmed ? maxTravel : dragX}px -50%`
6981
7273
  },
6982
- children: confirmed ? /* @__PURE__ */ jsx52(Check, { className: "size-4.5 [animation:slide-confirm-pop_var(--motion-pop)_var(--primitive-ease-overshoot)]" }) : /* @__PURE__ */ jsx52(ArrowRight2, { className: "size-4.5" })
7274
+ children: confirmed ? /* @__PURE__ */ jsx53(Check, { className: "size-4.5 [animation:slide-confirm-pop_var(--motion-pop)_var(--primitive-ease-overshoot)]" }) : /* @__PURE__ */ jsx53(ArrowRight2, { className: "size-4.5" })
6983
7275
  }
6984
7276
  )
6985
7277
  ]
@@ -6988,10 +7280,10 @@ function SlideToConfirm(_a) {
6988
7280
  }
6989
7281
 
6990
7282
  // components/ui/stepper.tsx
6991
- import * as React18 from "react";
7283
+ import * as React19 from "react";
6992
7284
  import { Minus, Plus } from "lucide-react";
6993
- import { jsx as jsx53, jsxs as jsxs31 } from "react/jsx-runtime";
6994
- function clamp(value, min, max) {
7285
+ import { jsx as jsx54, jsxs as jsxs32 } from "react/jsx-runtime";
7286
+ function clamp2(value, min, max) {
6995
7287
  return Math.min(Math.max(value, min), max);
6996
7288
  }
6997
7289
  function getDecimalPlaces(n) {
@@ -7018,16 +7310,16 @@ function Stepper({
7018
7310
  "aria-label": ariaLabel
7019
7311
  }) {
7020
7312
  const isControlled = controlledValue !== void 0;
7021
- const [internalValue, setInternalValue] = React18.useState(
7022
- clamp(defaultValue, min, max)
7313
+ const [internalValue, setInternalValue] = React19.useState(
7314
+ clamp2(defaultValue, min, max)
7023
7315
  );
7024
7316
  const currentValue = isControlled ? controlledValue : internalValue;
7025
7317
  const decimalPlaces = getDecimalPlaces(step);
7026
- const [displayString, setDisplayString] = React18.useState(
7318
+ const [displayString, setDisplayString] = React19.useState(
7027
7319
  formatValue(currentValue, decimalPlaces)
7028
7320
  );
7029
- const [isFocused, setIsFocused] = React18.useState(false);
7030
- React18.useEffect(() => {
7321
+ const [isFocused, setIsFocused] = React19.useState(false);
7322
+ React19.useEffect(() => {
7031
7323
  if (!isFocused) {
7032
7324
  setDisplayString(formatValue(currentValue, decimalPlaces));
7033
7325
  }
@@ -7040,7 +7332,7 @@ function Stepper({
7040
7332
  committed = max;
7041
7333
  } else {
7042
7334
  const rounded = decimalPlaces > 0 ? parseFloat(next.toFixed(decimalPlaces)) : Math.round(next);
7043
- committed = clamp(rounded, min, max);
7335
+ committed = clamp2(rounded, min, max);
7044
7336
  }
7045
7337
  if (!isControlled) setInternalValue(committed);
7046
7338
  setDisplayString(formatValue(committed, decimalPlaces));
@@ -7084,7 +7376,7 @@ function Stepper({
7084
7376
  }
7085
7377
  }
7086
7378
  }
7087
- return /* @__PURE__ */ jsxs31(
7379
+ return /* @__PURE__ */ jsxs32(
7088
7380
  "div",
7089
7381
  {
7090
7382
  "data-slot": "stepper",
@@ -7103,7 +7395,7 @@ function Stepper({
7103
7395
  className
7104
7396
  ),
7105
7397
  children: [
7106
- label != null && /* @__PURE__ */ jsx53(
7398
+ label != null && /* @__PURE__ */ jsx54(
7107
7399
  "span",
7108
7400
  {
7109
7401
  "data-slot": "stepper-label",
@@ -7114,13 +7406,13 @@ function Stepper({
7114
7406
  children: label
7115
7407
  }
7116
7408
  ),
7117
- /* @__PURE__ */ jsxs31(
7409
+ /* @__PURE__ */ jsxs32(
7118
7410
  "div",
7119
7411
  {
7120
7412
  "data-slot": "stepper-row",
7121
7413
  className: "flex w-full items-center justify-between gap-4",
7122
7414
  children: [
7123
- /* @__PURE__ */ jsx53(
7415
+ /* @__PURE__ */ jsx54(
7124
7416
  Button,
7125
7417
  {
7126
7418
  type: "button",
@@ -7129,10 +7421,10 @@ function Stepper({
7129
7421
  onClick: handleDecrement,
7130
7422
  disabled: disabled || currentValue <= min,
7131
7423
  "aria-label": "Decrease value",
7132
- children: /* @__PURE__ */ jsx53(Minus, {})
7424
+ children: /* @__PURE__ */ jsx54(Minus, {})
7133
7425
  }
7134
7426
  ),
7135
- /* @__PURE__ */ jsx53(
7427
+ /* @__PURE__ */ jsx54(
7136
7428
  "input",
7137
7429
  {
7138
7430
  type: "text",
@@ -7156,7 +7448,7 @@ function Stepper({
7156
7448
  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"
7157
7449
  }
7158
7450
  ),
7159
- /* @__PURE__ */ jsx53(
7451
+ /* @__PURE__ */ jsx54(
7160
7452
  Button,
7161
7453
  {
7162
7454
  type: "button",
@@ -7165,7 +7457,7 @@ function Stepper({
7165
7457
  onClick: handleIncrement,
7166
7458
  disabled: disabled || currentValue >= max,
7167
7459
  "aria-label": "Increase value",
7168
- children: /* @__PURE__ */ jsx53(Plus, {})
7460
+ children: /* @__PURE__ */ jsx54(Plus, {})
7169
7461
  }
7170
7462
  )
7171
7463
  ]
@@ -7177,10 +7469,10 @@ function Stepper({
7177
7469
  }
7178
7470
 
7179
7471
  // components/ui/steps.tsx
7180
- import * as React19 from "react";
7472
+ import * as React20 from "react";
7181
7473
  import { Check as Check2 } from "lucide-react";
7182
- import { jsx as jsx54, jsxs as jsxs32 } from "react/jsx-runtime";
7183
- var StepsContext = React19.createContext({ shape: "circle", orientation: "horizontal", size: "md" });
7474
+ import { jsx as jsx55, jsxs as jsxs33 } from "react/jsx-runtime";
7475
+ var StepsContext = React20.createContext({ shape: "circle", orientation: "horizontal", size: "md" });
7184
7476
  function Steps(_a) {
7185
7477
  var _b = _a, {
7186
7478
  shape = "circle",
@@ -7195,8 +7487,8 @@ function Steps(_a) {
7195
7487
  "className",
7196
7488
  "children"
7197
7489
  ]);
7198
- const steps = React19.Children.toArray(children);
7199
- return /* @__PURE__ */ jsx54(StepsContext.Provider, { value: { shape, orientation, size }, children: /* @__PURE__ */ jsx54(
7490
+ const steps = React20.Children.toArray(children);
7491
+ return /* @__PURE__ */ jsx55(StepsContext.Provider, { value: { shape, orientation, size }, children: /* @__PURE__ */ jsx55(
7200
7492
  "ol",
7201
7493
  __spreadProps(__spreadValues({
7202
7494
  "data-slot": "steps",
@@ -7210,7 +7502,7 @@ function Steps(_a) {
7210
7502
  )
7211
7503
  }, props), {
7212
7504
  children: steps.map(
7213
- (child, index) => React19.isValidElement(child) ? React19.cloneElement(child, {
7505
+ (child, index) => React20.isValidElement(child) ? React20.cloneElement(child, {
7214
7506
  index: index + 1,
7215
7507
  isFirst: index === 0,
7216
7508
  isLast: index === steps.length - 1
@@ -7241,10 +7533,10 @@ function Step(_a) {
7241
7533
  "isLast",
7242
7534
  "className"
7243
7535
  ]);
7244
- const { shape, orientation, size } = React19.useContext(StepsContext);
7536
+ const { shape, orientation, size } = React20.useContext(StepsContext);
7245
7537
  const horizontal = orientation === "horizontal";
7246
7538
  const sm = size === "sm";
7247
- const indicator = /* @__PURE__ */ jsx54(
7539
+ const indicator = /* @__PURE__ */ jsx55(
7248
7540
  "span",
7249
7541
  {
7250
7542
  "data-slot": "step-indicator",
@@ -7258,11 +7550,11 @@ function Step(_a) {
7258
7550
  "[&_svg]:pointer-events-none [&_svg]:shrink-0",
7259
7551
  sm ? "[&_svg:not([class*='size-'])]:size-3.5" : "[&_svg:not([class*='size-'])]:size-4"
7260
7552
  ),
7261
- children: state === "done" ? /* @__PURE__ */ jsx54(Check2, {}) : icon != null ? icon : index
7553
+ children: state === "done" ? /* @__PURE__ */ jsx55(Check2, {}) : icon != null ? icon : index
7262
7554
  }
7263
7555
  );
7264
7556
  if (horizontal) {
7265
- return /* @__PURE__ */ jsxs32(
7557
+ return /* @__PURE__ */ jsxs33(
7266
7558
  "li",
7267
7559
  __spreadProps(__spreadValues({
7268
7560
  "data-slot": "step",
@@ -7271,8 +7563,8 @@ function Step(_a) {
7271
7563
  className: cn("flex min-w-0 flex-1 flex-col items-center", className)
7272
7564
  }, props), {
7273
7565
  children: [
7274
- /* @__PURE__ */ jsxs32("div", { className: "flex w-full items-center", children: [
7275
- /* @__PURE__ */ jsx54(
7566
+ /* @__PURE__ */ jsxs33("div", { className: "flex w-full items-center", children: [
7567
+ /* @__PURE__ */ jsx55(
7276
7568
  "span",
7277
7569
  {
7278
7570
  "aria-hidden": true,
@@ -7280,10 +7572,10 @@ function Step(_a) {
7280
7572
  className: cn("h-px flex-1", !isFirst && "bg-border-neutral-default")
7281
7573
  }
7282
7574
  ),
7283
- /* @__PURE__ */ jsx54("span", { className: cn(!isFirst && "w-1", "shrink-0") }),
7575
+ /* @__PURE__ */ jsx55("span", { className: cn(!isFirst && "w-1", "shrink-0") }),
7284
7576
  indicator,
7285
- /* @__PURE__ */ jsx54("span", { className: cn(!isLast && "w-1", "shrink-0") }),
7286
- /* @__PURE__ */ jsx54(
7577
+ /* @__PURE__ */ jsx55("span", { className: cn(!isLast && "w-1", "shrink-0") }),
7578
+ /* @__PURE__ */ jsx55(
7287
7579
  "span",
7288
7580
  {
7289
7581
  "aria-hidden": true,
@@ -7292,7 +7584,7 @@ function Step(_a) {
7292
7584
  }
7293
7585
  )
7294
7586
  ] }),
7295
- (title != null || description != null) && /* @__PURE__ */ jsxs32(
7587
+ (title != null || description != null) && /* @__PURE__ */ jsxs33(
7296
7588
  "div",
7297
7589
  {
7298
7590
  "data-slot": "step-body",
@@ -7301,7 +7593,7 @@ function Step(_a) {
7301
7593
  sm ? "mt-1" : "mt-1.5"
7302
7594
  ),
7303
7595
  children: [
7304
- title != null && /* @__PURE__ */ jsx54(
7596
+ title != null && /* @__PURE__ */ jsx55(
7305
7597
  "span",
7306
7598
  {
7307
7599
  className: cn(
@@ -7311,8 +7603,8 @@ function Step(_a) {
7311
7603
  children: title
7312
7604
  }
7313
7605
  ),
7314
- tag != null && /* @__PURE__ */ jsx54("span", { className: "type-steps-tag whitespace-nowrap text-text-brand-selected", children: tag }),
7315
- description != null && /* @__PURE__ */ jsx54("span", { className: "type-steps-description text-text-subtle-default", children: description })
7606
+ tag != null && /* @__PURE__ */ jsx55("span", { className: "type-steps-tag whitespace-nowrap text-text-brand-selected", children: tag }),
7607
+ description != null && /* @__PURE__ */ jsx55("span", { className: "type-steps-description text-text-subtle-default", children: description })
7316
7608
  ]
7317
7609
  }
7318
7610
  )
@@ -7321,7 +7613,7 @@ function Step(_a) {
7321
7613
  );
7322
7614
  }
7323
7615
  const hasBody = title != null || description != null;
7324
- return /* @__PURE__ */ jsxs32(
7616
+ return /* @__PURE__ */ jsxs33(
7325
7617
  "li",
7326
7618
  __spreadProps(__spreadValues({
7327
7619
  "data-slot": "step",
@@ -7338,9 +7630,9 @@ function Step(_a) {
7338
7630
  )
7339
7631
  }, props), {
7340
7632
  children: [
7341
- /* @__PURE__ */ jsxs32("div", { className: "flex flex-col items-center self-stretch", children: [
7633
+ /* @__PURE__ */ jsxs33("div", { className: "flex flex-col items-center self-stretch", children: [
7342
7634
  indicator,
7343
- !isLast && /* @__PURE__ */ jsx54(
7635
+ !isLast && /* @__PURE__ */ jsx55(
7344
7636
  "span",
7345
7637
  {
7346
7638
  "aria-hidden": true,
@@ -7349,13 +7641,13 @@ function Step(_a) {
7349
7641
  }
7350
7642
  )
7351
7643
  ] }),
7352
- /* @__PURE__ */ jsxs32(
7644
+ /* @__PURE__ */ jsxs33(
7353
7645
  "div",
7354
7646
  {
7355
7647
  "data-slot": "step-body",
7356
7648
  className: cn("flex min-w-0 flex-col", !isLast && (sm ? "pb-4" : "pb-6")),
7357
7649
  children: [
7358
- title != null && /* @__PURE__ */ jsxs32(
7650
+ title != null && /* @__PURE__ */ jsxs33(
7359
7651
  "span",
7360
7652
  {
7361
7653
  className: cn(
@@ -7364,12 +7656,12 @@ function Step(_a) {
7364
7656
  ),
7365
7657
  children: [
7366
7658
  title,
7367
- tag != null && /* @__PURE__ */ jsx54("span", { className: "type-steps-tag ml-2 whitespace-nowrap text-text-brand-selected", children: tag })
7659
+ tag != null && /* @__PURE__ */ jsx55("span", { className: "type-steps-tag ml-2 whitespace-nowrap text-text-brand-selected", children: tag })
7368
7660
  ]
7369
7661
  }
7370
7662
  ),
7371
- description != null && /* @__PURE__ */ jsx54("span", { className: "type-steps-description text-text-subtle-default", children: description }),
7372
- !hasBody && /* @__PURE__ */ jsxs32("span", { className: "sr-only", children: [
7663
+ description != null && /* @__PURE__ */ jsx55("span", { className: "type-steps-description text-text-subtle-default", children: description }),
7664
+ !hasBody && /* @__PURE__ */ jsxs33("span", { className: "sr-only", children: [
7373
7665
  "Step ",
7374
7666
  index
7375
7667
  ] })
@@ -7383,7 +7675,7 @@ function Step(_a) {
7383
7675
 
7384
7676
  // components/ui/switch.tsx
7385
7677
  import { Switch as SwitchPrimitive } from "radix-ui";
7386
- import { jsx as jsx55 } from "react/jsx-runtime";
7678
+ import { jsx as jsx56 } from "react/jsx-runtime";
7387
7679
  function Switch(_a) {
7388
7680
  var _b = _a, {
7389
7681
  className,
@@ -7392,7 +7684,7 @@ function Switch(_a) {
7392
7684
  "className",
7393
7685
  "size"
7394
7686
  ]);
7395
- return /* @__PURE__ */ jsx55(
7687
+ return /* @__PURE__ */ jsx56(
7396
7688
  SwitchPrimitive.Root,
7397
7689
  __spreadProps(__spreadValues({
7398
7690
  "data-slot": "switch",
@@ -7402,7 +7694,7 @@ function Switch(_a) {
7402
7694
  className
7403
7695
  )
7404
7696
  }, props), {
7405
- children: /* @__PURE__ */ jsx55(
7697
+ children: /* @__PURE__ */ jsx56(
7406
7698
  SwitchPrimitive.Thumb,
7407
7699
  {
7408
7700
  "data-slot": "switch-thumb",
@@ -7416,15 +7708,15 @@ function Switch(_a) {
7416
7708
  }
7417
7709
 
7418
7710
  // components/ui/table.tsx
7419
- import { jsx as jsx56 } from "react/jsx-runtime";
7711
+ import { jsx as jsx57 } from "react/jsx-runtime";
7420
7712
  function Table(_a) {
7421
7713
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7422
- return /* @__PURE__ */ jsx56(
7714
+ return /* @__PURE__ */ jsx57(
7423
7715
  "div",
7424
7716
  {
7425
7717
  "data-slot": "table-container",
7426
7718
  className: "relative w-full overflow-x-auto",
7427
- children: /* @__PURE__ */ jsx56(
7719
+ children: /* @__PURE__ */ jsx57(
7428
7720
  "table",
7429
7721
  __spreadValues({
7430
7722
  "data-slot": "table",
@@ -7436,7 +7728,7 @@ function Table(_a) {
7436
7728
  }
7437
7729
  function TableHeader(_a) {
7438
7730
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7439
- return /* @__PURE__ */ jsx56(
7731
+ return /* @__PURE__ */ jsx57(
7440
7732
  "thead",
7441
7733
  __spreadValues({
7442
7734
  "data-slot": "table-header",
@@ -7446,7 +7738,7 @@ function TableHeader(_a) {
7446
7738
  }
7447
7739
  function TableBody(_a) {
7448
7740
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7449
- return /* @__PURE__ */ jsx56(
7741
+ return /* @__PURE__ */ jsx57(
7450
7742
  "tbody",
7451
7743
  __spreadValues({
7452
7744
  "data-slot": "table-body",
@@ -7456,7 +7748,7 @@ function TableBody(_a) {
7456
7748
  }
7457
7749
  function TableFooter(_a) {
7458
7750
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7459
- return /* @__PURE__ */ jsx56(
7751
+ return /* @__PURE__ */ jsx57(
7460
7752
  "tfoot",
7461
7753
  __spreadValues({
7462
7754
  "data-slot": "table-footer",
@@ -7469,7 +7761,7 @@ function TableFooter(_a) {
7469
7761
  }
7470
7762
  function TableRow(_a) {
7471
7763
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7472
- return /* @__PURE__ */ jsx56(
7764
+ return /* @__PURE__ */ jsx57(
7473
7765
  "tr",
7474
7766
  __spreadValues({
7475
7767
  "data-slot": "table-row",
@@ -7482,7 +7774,7 @@ function TableRow(_a) {
7482
7774
  }
7483
7775
  function TableHead(_a) {
7484
7776
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7485
- return /* @__PURE__ */ jsx56(
7777
+ return /* @__PURE__ */ jsx57(
7486
7778
  "th",
7487
7779
  __spreadValues({
7488
7780
  "data-slot": "table-head",
@@ -7495,7 +7787,7 @@ function TableHead(_a) {
7495
7787
  }
7496
7788
  function TableCell(_a) {
7497
7789
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7498
- return /* @__PURE__ */ jsx56(
7790
+ return /* @__PURE__ */ jsx57(
7499
7791
  "td",
7500
7792
  __spreadValues({
7501
7793
  "data-slot": "table-cell",
@@ -7512,7 +7804,7 @@ function TableCaption(_a) {
7512
7804
  } = _b, props = __objRest(_b, [
7513
7805
  "className"
7514
7806
  ]);
7515
- return /* @__PURE__ */ jsx56(
7807
+ return /* @__PURE__ */ jsx57(
7516
7808
  "caption",
7517
7809
  __spreadValues({
7518
7810
  "data-slot": "table-caption",
@@ -7524,7 +7816,7 @@ function TableCaption(_a) {
7524
7816
  // components/ui/tabs.tsx
7525
7817
  import { cva as cva14 } from "class-variance-authority";
7526
7818
  import { Tabs as TabsPrimitive } from "radix-ui";
7527
- import { jsx as jsx57 } from "react/jsx-runtime";
7819
+ import { jsx as jsx58 } from "react/jsx-runtime";
7528
7820
  function Tabs(_a) {
7529
7821
  var _b = _a, {
7530
7822
  className,
@@ -7533,7 +7825,7 @@ function Tabs(_a) {
7533
7825
  "className",
7534
7826
  "orientation"
7535
7827
  ]);
7536
- return /* @__PURE__ */ jsx57(
7828
+ return /* @__PURE__ */ jsx58(
7537
7829
  TabsPrimitive.Root,
7538
7830
  __spreadValues({
7539
7831
  "data-slot": "tabs",
@@ -7576,7 +7868,7 @@ function TabsList(_a) {
7576
7868
  "variant",
7577
7869
  "size"
7578
7870
  ]);
7579
- return /* @__PURE__ */ jsx57(
7871
+ return /* @__PURE__ */ jsx58(
7580
7872
  TabsPrimitive.List,
7581
7873
  __spreadValues({
7582
7874
  "data-slot": "tabs-list",
@@ -7594,7 +7886,7 @@ function TabsTrigger(_a) {
7594
7886
  "className",
7595
7887
  "iconPosition"
7596
7888
  ]);
7597
- return /* @__PURE__ */ jsx57(
7889
+ return /* @__PURE__ */ jsx58(
7598
7890
  TabsPrimitive.Trigger,
7599
7891
  __spreadValues({
7600
7892
  "data-slot": "tabs-trigger",
@@ -7620,7 +7912,7 @@ function TabsContent(_a) {
7620
7912
  } = _b, props = __objRest(_b, [
7621
7913
  "className"
7622
7914
  ]);
7623
- return /* @__PURE__ */ jsx57(
7915
+ return /* @__PURE__ */ jsx58(
7624
7916
  TabsPrimitive.Content,
7625
7917
  __spreadValues({
7626
7918
  "data-slot": "tabs-content",
@@ -7632,7 +7924,7 @@ function TabsContent(_a) {
7632
7924
  // components/ui/toggle.tsx
7633
7925
  import { cva as cva15 } from "class-variance-authority";
7634
7926
  import { Toggle as TogglePrimitive } from "radix-ui";
7635
- import { jsx as jsx58 } from "react/jsx-runtime";
7927
+ import { jsx as jsx59 } from "react/jsx-runtime";
7636
7928
  var toggleVariants = cva15(
7637
7929
  "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",
7638
7930
  {
@@ -7656,7 +7948,7 @@ function Toggle(_a) {
7656
7948
  "className",
7657
7949
  "size"
7658
7950
  ]);
7659
- return /* @__PURE__ */ jsx58(
7951
+ return /* @__PURE__ */ jsx59(
7660
7952
  TogglePrimitive.Root,
7661
7953
  __spreadValues({
7662
7954
  "data-slot": "toggle",
@@ -7666,10 +7958,10 @@ function Toggle(_a) {
7666
7958
  }
7667
7959
 
7668
7960
  // components/ui/toggle-group.tsx
7669
- import * as React20 from "react";
7961
+ import * as React21 from "react";
7670
7962
  import { ToggleGroup as ToggleGroupPrimitive } from "radix-ui";
7671
- import { jsx as jsx59 } from "react/jsx-runtime";
7672
- var ToggleGroupContext = React20.createContext({
7963
+ import { jsx as jsx60 } from "react/jsx-runtime";
7964
+ var ToggleGroupContext = React21.createContext({
7673
7965
  size: "default",
7674
7966
  spacing: 0
7675
7967
  });
@@ -7685,7 +7977,7 @@ function ToggleGroup(_a) {
7685
7977
  "spacing",
7686
7978
  "children"
7687
7979
  ]);
7688
- return /* @__PURE__ */ jsx59(
7980
+ return /* @__PURE__ */ jsx60(
7689
7981
  ToggleGroupPrimitive.Root,
7690
7982
  __spreadProps(__spreadValues({
7691
7983
  "data-slot": "toggle-group",
@@ -7697,7 +7989,7 @@ function ToggleGroup(_a) {
7697
7989
  className
7698
7990
  )
7699
7991
  }, props), {
7700
- children: /* @__PURE__ */ jsx59(ToggleGroupContext.Provider, { value: { size, spacing }, children })
7992
+ children: /* @__PURE__ */ jsx60(ToggleGroupContext.Provider, { value: { size, spacing }, children })
7701
7993
  })
7702
7994
  );
7703
7995
  }
@@ -7711,8 +8003,8 @@ function ToggleGroupItem(_a) {
7711
8003
  "children",
7712
8004
  "size"
7713
8005
  ]);
7714
- const context = React20.useContext(ToggleGroupContext);
7715
- return /* @__PURE__ */ jsx59(
8006
+ const context = React21.useContext(ToggleGroupContext);
8007
+ return /* @__PURE__ */ jsx60(
7716
8008
  ToggleGroupPrimitive.Item,
7717
8009
  __spreadProps(__spreadValues({
7718
8010
  "data-slot": "toggle-group-item",
@@ -7735,7 +8027,7 @@ function ToggleGroupItem(_a) {
7735
8027
  }
7736
8028
 
7737
8029
  // components/blocks/result-block.tsx
7738
- import { Fragment as Fragment3, jsx as jsx60, jsxs as jsxs33 } from "react/jsx-runtime";
8030
+ import { Fragment as Fragment3, jsx as jsx61, jsxs as jsxs34 } from "react/jsx-runtime";
7739
8031
  var THUMBS_UP_DATA_URL = "data:image/webp;base64,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";
7740
8032
  var THUMBS_DOWN_DATA_URL = "data:image/webp;base64,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";
7741
8033
  function ResultBlock({
@@ -7752,9 +8044,9 @@ function ResultBlock({
7752
8044
  const signedAmount = isWin ? `+${amount}` : `\u2212${amount}`;
7753
8045
  const amountColorClass = isWin ? "text-semantic-win" : "text-semantic-loss";
7754
8046
  const haloBgClass = isWin ? "bg-semantic-win" : "bg-semantic-loss";
7755
- return /* @__PURE__ */ jsxs33(Card, { className: "w-80 shrink-0 overflow-hidden rounded-md shadow-sm px-5 py-5 items-center gap-3", children: [
7756
- /* @__PURE__ */ jsxs33("div", { className: "relative flex items-center justify-center py-2", children: [
7757
- /* @__PURE__ */ jsx60(
8047
+ return /* @__PURE__ */ jsxs34(Card, { className: "w-80 shrink-0 overflow-hidden rounded-md shadow-sm px-5 py-5 items-center gap-3", children: [
8048
+ /* @__PURE__ */ jsxs34("div", { className: "relative flex items-center justify-center py-2", children: [
8049
+ /* @__PURE__ */ jsx61(
7758
8050
  "span",
7759
8051
  {
7760
8052
  "aria-hidden": true,
@@ -7762,7 +8054,7 @@ function ResultBlock({
7762
8054
  className: `absolute size-24 rounded-full blur-2xl opacity-20 ${haloBgClass}`
7763
8055
  }
7764
8056
  ),
7765
- /* @__PURE__ */ jsx60(
8057
+ /* @__PURE__ */ jsx61(
7766
8058
  "img",
7767
8059
  {
7768
8060
  "data-results-motion": isWin ? "icon-win" : "icon-loss",
@@ -7772,28 +8064,28 @@ function ResultBlock({
7772
8064
  }
7773
8065
  )
7774
8066
  ] }),
7775
- /* @__PURE__ */ jsx60("p", { className: "text-lg font-semibold text-on-prominent", children: titleText }),
7776
- /* @__PURE__ */ jsxs33("p", { className: `flex items-baseline gap-1.5 ${amountColorClass}`, children: [
7777
- /* @__PURE__ */ jsx60("span", { className: "font-display text-4xl font-semibold tabular-nums tracking-tight", children: signedAmount }),
7778
- /* @__PURE__ */ jsx60("span", { className: "text-lg font-semibold", children: currency })
8067
+ /* @__PURE__ */ jsx61("p", { className: "text-lg font-semibold text-on-prominent", children: titleText }),
8068
+ /* @__PURE__ */ jsxs34("p", { className: `flex items-baseline gap-1.5 ${amountColorClass}`, children: [
8069
+ /* @__PURE__ */ jsx61("span", { className: "font-display text-4xl font-semibold tabular-nums tracking-tight", children: signedAmount }),
8070
+ /* @__PURE__ */ jsx61("span", { className: "text-lg font-semibold", children: currency })
7779
8071
  ] }),
7780
- /* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-2", children: [
7781
- /* @__PURE__ */ jsxs33(Badge, { variant: "tint-neutral", size: "sm", children: [
8072
+ /* @__PURE__ */ jsxs34("div", { className: "flex items-center gap-2", children: [
8073
+ /* @__PURE__ */ jsxs34(Badge, { variant: "tint-neutral", size: "sm", children: [
7782
8074
  contractLabel,
7783
- pickedDigit !== void 0 && /* @__PURE__ */ jsxs33(Fragment3, { children: [
7784
- /* @__PURE__ */ jsx60("span", { "aria-hidden": true, className: "h-3 w-px bg-border-prominent/40 mx-1" }),
7785
- /* @__PURE__ */ jsx60("span", { className: "tabular-nums", children: pickedDigit })
8075
+ pickedDigit !== void 0 && /* @__PURE__ */ jsxs34(Fragment3, { children: [
8076
+ /* @__PURE__ */ jsx61("span", { "aria-hidden": true, className: "h-3 w-px bg-border-prominent/40 mx-1" }),
8077
+ /* @__PURE__ */ jsx61("span", { className: "tabular-nums", children: pickedDigit })
7786
8078
  ] })
7787
8079
  ] }),
7788
- /* @__PURE__ */ jsx60(Badge, { variant: "tint-neutral", size: "sm", children: duration })
8080
+ /* @__PURE__ */ jsx61(Badge, { variant: "tint-neutral", size: "sm", children: duration })
7789
8081
  ] }),
7790
- /* @__PURE__ */ jsxs33("div", { className: "w-full pt-2", children: [
7791
- ctaMode === "next-round" && /* @__PURE__ */ jsx60(Button, { className: "w-full", children: "Next round" }),
7792
- ctaMode === "go-again" && /* @__PURE__ */ jsx60(Button, { className: "w-full", children: "Go again" }),
7793
- ctaMode === "conversion" && /* @__PURE__ */ jsxs33("div", { className: "w-full flex flex-col gap-3", children: [
7794
- /* @__PURE__ */ jsx60("p", { className: "text-center text-base font-semibold text-on-prominent", children: "Ready to play for real?" }),
7795
- /* @__PURE__ */ jsx60(Button, { className: "w-full", children: "Deposit now" }),
7796
- /* @__PURE__ */ jsx60(Button, { variant: "secondary", className: "w-full", children: "Stay in demo" })
8082
+ /* @__PURE__ */ jsxs34("div", { className: "w-full pt-2", children: [
8083
+ ctaMode === "next-round" && /* @__PURE__ */ jsx61(Button, { className: "w-full", children: "Next round" }),
8084
+ ctaMode === "go-again" && /* @__PURE__ */ jsx61(Button, { className: "w-full", children: "Go again" }),
8085
+ ctaMode === "conversion" && /* @__PURE__ */ jsxs34("div", { className: "w-full flex flex-col gap-3", children: [
8086
+ /* @__PURE__ */ jsx61("p", { className: "text-center text-base font-semibold text-on-prominent", children: "Ready to play for real?" }),
8087
+ /* @__PURE__ */ jsx61(Button, { className: "w-full", children: "Deposit now" }),
8088
+ /* @__PURE__ */ jsx61(Button, { variant: "secondary", className: "w-full", children: "Stay in demo" })
7797
8089
  ] })
7798
8090
  ] })
7799
8091
  ] });
@@ -7804,21 +8096,21 @@ function ResultDialog({
7804
8096
  primaryLabel,
7805
8097
  secondaryLabel
7806
8098
  }) {
7807
- return /* @__PURE__ */ jsxs33(Card, { className: "w-80 shrink-0 overflow-hidden rounded-md shadow-sm px-5 py-6 items-center gap-4", children: [
7808
- /* @__PURE__ */ jsxs33("div", { className: "flex flex-col items-center gap-2 text-center", children: [
7809
- /* @__PURE__ */ jsx60("p", { className: "text-lg font-semibold text-on-prominent", children: title }),
7810
- /* @__PURE__ */ jsx60("p", { className: "text-sm text-on-subtle", children: body })
8099
+ return /* @__PURE__ */ jsxs34(Card, { className: "w-80 shrink-0 overflow-hidden rounded-md shadow-sm px-5 py-6 items-center gap-4", children: [
8100
+ /* @__PURE__ */ jsxs34("div", { className: "flex flex-col items-center gap-2 text-center", children: [
8101
+ /* @__PURE__ */ jsx61("p", { className: "text-lg font-semibold text-on-prominent", children: title }),
8102
+ /* @__PURE__ */ jsx61("p", { className: "text-sm text-on-subtle", children: body })
7811
8103
  ] }),
7812
- /* @__PURE__ */ jsxs33("div", { className: "w-full flex flex-col gap-2", children: [
7813
- /* @__PURE__ */ jsx60(Button, { className: "w-full", children: primaryLabel }),
7814
- /* @__PURE__ */ jsx60(Button, { variant: "secondary", className: "w-full", children: secondaryLabel })
8104
+ /* @__PURE__ */ jsxs34("div", { className: "w-full flex flex-col gap-2", children: [
8105
+ /* @__PURE__ */ jsx61(Button, { className: "w-full", children: primaryLabel }),
8106
+ /* @__PURE__ */ jsx61(Button, { variant: "secondary", className: "w-full", children: secondaryLabel })
7815
8107
  ] })
7816
8108
  ] });
7817
8109
  }
7818
8110
 
7819
8111
  // components/blocks/header-navigation-block.tsx
7820
8112
  import { ArrowLeft as ArrowLeft2, History } from "lucide-react";
7821
- import { jsx as jsx61, jsxs as jsxs34 } from "react/jsx-runtime";
8113
+ import { jsx as jsx62, jsxs as jsxs35 } from "react/jsx-runtime";
7822
8114
  function HeaderNavigationBlock({
7823
8115
  onBack,
7824
8116
  badge,
@@ -7827,15 +8119,15 @@ function HeaderNavigationBlock({
7827
8119
  actions
7828
8120
  }) {
7829
8121
  var _a;
7830
- return /* @__PURE__ */ jsx61("div", { className: "w-full min-w-80 max-w-layout-diagram-small rounded-md overflow-hidden bg-prominent", children: /* @__PURE__ */ jsxs34("header", { className: "flex items-center gap-2 border-b border-border-subtle bg-prominent px-layout-margin-inline py-3", children: [
7831
- onBack && /* @__PURE__ */ jsx61(NavigationButton, { type: "button", size: "md", "aria-label": "Back", onClick: onBack, children: /* @__PURE__ */ jsx61(ArrowLeft2, { className: "size-5" }) }),
7832
- /* @__PURE__ */ jsxs34("div", { className: "flex min-w-0 flex-1 items-center justify-center gap-2", children: [
7833
- badge && /* @__PURE__ */ jsx61(Badge, { variant: (_a = badge.variant) != null ? _a : "tint-warning", size: "sm", children: badge.label }),
7834
- /* @__PURE__ */ jsx61("span", { className: "font-display font-semibold tabular-nums text-on-prominent", children: balance.amount }),
7835
- /* @__PURE__ */ jsx61("span", { className: "text-sm text-on-subtle", children: balance.currency })
8122
+ return /* @__PURE__ */ jsx62("div", { className: "w-full min-w-80 max-w-layout-diagram-small rounded-md overflow-hidden bg-prominent", children: /* @__PURE__ */ jsxs35("header", { className: "flex items-center gap-2 border-b border-border-subtle bg-prominent px-layout-margin-inline py-3", children: [
8123
+ onBack && /* @__PURE__ */ jsx62(NavigationButton, { type: "button", size: "md", "aria-label": "Back", onClick: onBack, children: /* @__PURE__ */ jsx62(ArrowLeft2, { className: "size-5" }) }),
8124
+ /* @__PURE__ */ jsxs35("div", { className: "flex min-w-0 flex-1 items-center justify-center gap-2", children: [
8125
+ badge && /* @__PURE__ */ jsx62(Badge, { variant: (_a = badge.variant) != null ? _a : "tint-warning", size: "sm", children: badge.label }),
8126
+ /* @__PURE__ */ jsx62("span", { className: "font-display font-semibold tabular-nums text-on-prominent", children: balance.amount }),
8127
+ /* @__PURE__ */ jsx62("span", { className: "text-sm text-on-subtle", children: balance.currency })
7836
8128
  ] }),
7837
- /* @__PURE__ */ jsxs34("div", { className: "flex shrink-0 items-center gap-1", children: [
7838
- history && /* @__PURE__ */ jsx61(HistoryButton, __spreadValues({}, history)),
8129
+ /* @__PURE__ */ jsxs35("div", { className: "flex shrink-0 items-center gap-1", children: [
8130
+ history && /* @__PURE__ */ jsx62(HistoryButton, __spreadValues({}, history)),
7839
8131
  actions
7840
8132
  ] })
7841
8133
  ] }) });
@@ -7848,13 +8140,14 @@ function HistoryButton({
7848
8140
  const show = typeof count === "number" && count > 0;
7849
8141
  const label = show ? count > 99 ? "99+" : String(count) : null;
7850
8142
  const ariaLabel = ariaLabelOverride != null ? ariaLabelOverride : show ? `Open history, ${count} new` : "Open history";
7851
- return /* @__PURE__ */ jsxs34("div", { className: "relative inline-flex", children: [
7852
- /* @__PURE__ */ jsx61(NavigationButton, { type: "button", size: "md", "aria-label": ariaLabel, onClick, children: /* @__PURE__ */ jsx61(History, { className: "size-5" }) }),
7853
- show && /* @__PURE__ */ jsx61(
7854
- "span",
8143
+ return /* @__PURE__ */ jsxs35("div", { className: "relative inline-flex", children: [
8144
+ /* @__PURE__ */ jsx62(NavigationButton, { type: "button", size: "md", "aria-label": ariaLabel, onClick, children: /* @__PURE__ */ jsx62(History, { className: "size-5" }) }),
8145
+ show && /* @__PURE__ */ jsx62(
8146
+ Badge,
7855
8147
  {
7856
8148
  "aria-hidden": true,
7857
- className: "pointer-events-none absolute -top-0.5 -right-0.5 min-w-[1.125rem] h-[1.125rem] px-1 rounded-full bg-primary text-on-primary text-[10px] leading-none font-semibold tabular-nums inline-flex items-center justify-center ring-2 ring-prominent",
8149
+ size: "count",
8150
+ className: "pointer-events-none absolute -top-0.5 -right-0.5 ring-2 ring-background-primary-canvas",
7858
8151
  children: label
7859
8152
  }
7860
8153
  )
@@ -7864,7 +8157,7 @@ function HistoryButton({
7864
8157
  // components/blocks/faq-block.tsx
7865
8158
  import { Plus as Plus2 } from "lucide-react";
7866
8159
  import { Accordion as AccordionPrimitive2 } from "radix-ui";
7867
- import { jsx as jsx62, jsxs as jsxs35 } from "react/jsx-runtime";
8160
+ import { jsx as jsx63, jsxs as jsxs36 } from "react/jsx-runtime";
7868
8161
  function FAQBlock({
7869
8162
  eyebrow = "FAQ",
7870
8163
  title = "Frequently asked questions",
@@ -7876,34 +8169,34 @@ function FAQBlock({
7876
8169
  }) {
7877
8170
  var _a, _b;
7878
8171
  if (layout === "two-column") {
7879
- return /* @__PURE__ */ jsx62("div", { className: "@container w-full", children: /* @__PURE__ */ jsxs35("div", { className: "flex flex-col @[600px]:flex-row gap-8 @[600px]:gap-12", children: [
7880
- /* @__PURE__ */ jsxs35("div", { className: "flex flex-col gap-4 flex-1 @[600px]:max-w-xs", children: [
7881
- /* @__PURE__ */ jsx62("span", { className: "text-xs font-body font-semibold tracking-widest uppercase text-on-subtle", children: eyebrow }),
7882
- /* @__PURE__ */ jsx62("h2", { className: "text-4xl @[600px]:text-6xl font-semibold font-display text-on-prominent tracking-tight", children: title }),
7883
- intro && /* @__PURE__ */ jsx62("p", { className: "text-base font-body text-on-subtle", children: intro })
8172
+ return /* @__PURE__ */ jsx63("div", { className: "@container w-full", children: /* @__PURE__ */ jsxs36("div", { className: "flex flex-col @[600px]:flex-row gap-8 @[600px]:gap-12", children: [
8173
+ /* @__PURE__ */ jsxs36("div", { className: "flex flex-col gap-4 flex-1 @[600px]:max-w-xs", children: [
8174
+ /* @__PURE__ */ jsx63("span", { className: "text-xs font-body font-semibold tracking-widest uppercase text-on-subtle", children: eyebrow }),
8175
+ /* @__PURE__ */ jsx63("h2", { className: "text-4xl @[600px]:text-6xl font-semibold font-display text-on-prominent tracking-tight", children: title }),
8176
+ intro && /* @__PURE__ */ jsx63("p", { className: "text-base font-body text-on-subtle", children: intro })
7884
8177
  ] }),
7885
- /* @__PURE__ */ jsx62("div", { className: "flex-1", children: /* @__PURE__ */ jsx62(
8178
+ /* @__PURE__ */ jsx63("div", { className: "flex-1", children: /* @__PURE__ */ jsx63(
7886
8179
  Accordion,
7887
8180
  {
7888
8181
  type: "single",
7889
8182
  collapsible: true,
7890
8183
  defaultValue: defaultValue != null ? defaultValue : (_a = items[0]) == null ? void 0 : _a.value,
7891
8184
  className: "w-full",
7892
- children: items.map(({ value, question, answer }, i) => /* @__PURE__ */ jsxs35(AccordionItem, { value, children: [
7893
- /* @__PURE__ */ jsx62(AccordionPrimitive2.Header, { className: "flex", children: /* @__PURE__ */ jsxs35(
8185
+ children: items.map(({ value, question, answer }, i) => /* @__PURE__ */ jsxs36(AccordionItem, { value, children: [
8186
+ /* @__PURE__ */ jsx63(AccordionPrimitive2.Header, { className: "flex", children: /* @__PURE__ */ jsxs36(
7894
8187
  AccordionPrimitive2.Trigger,
7895
8188
  {
7896
8189
  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",
7897
8190
  children: [
7898
- /* @__PURE__ */ jsxs35("span", { className: "flex items-baseline gap-4", children: [
7899
- /* @__PURE__ */ jsx62("span", { className: "text-sm font-body text-on-subtle shrink-0 w-6", children: String(i + 1).padStart(2, "0") }),
7900
- /* @__PURE__ */ jsx62("span", { className: "text-lg @[600px]:text-xl font-semibold font-display text-on-prominent", children: question })
8191
+ /* @__PURE__ */ jsxs36("span", { className: "flex items-baseline gap-4", children: [
8192
+ /* @__PURE__ */ jsx63("span", { className: "text-sm font-body text-on-subtle shrink-0 w-6", children: String(i + 1).padStart(2, "0") }),
8193
+ /* @__PURE__ */ jsx63("span", { className: "text-lg @[600px]:text-xl font-semibold font-display text-on-prominent", children: question })
7901
8194
  ] }),
7902
- /* @__PURE__ */ jsx62("span", { className: cn(
8195
+ /* @__PURE__ */ jsx63("span", { className: cn(
7903
8196
  "shrink-0 size-7 flex items-center justify-center rounded-sm border transition-all duration-200",
7904
8197
  "group-data-[state=open]:bg-primary group-data-[state=open]:border-primary",
7905
8198
  "group-data-[state=closed]:bg-transparent group-data-[state=closed]:border-border-subtle"
7906
- ), children: /* @__PURE__ */ jsx62(Plus2, { className: cn(
8199
+ ), children: /* @__PURE__ */ jsx63(Plus2, { className: cn(
7907
8200
  "size-4 transition-all duration-200",
7908
8201
  "group-data-[state=open]:rotate-45 group-data-[state=open]:text-on-primary",
7909
8202
  "group-data-[state=closed]:text-on-prominent"
@@ -7911,7 +8204,7 @@ function FAQBlock({
7911
8204
  ]
7912
8205
  }
7913
8206
  ) }),
7914
- /* @__PURE__ */ jsx62(AccordionContent, { children: /* @__PURE__ */ jsx62("p", { className: "text-base font-body text-on-subtle pl-10 pb-4", children: answer }) })
8207
+ /* @__PURE__ */ jsx63(AccordionContent, { children: /* @__PURE__ */ jsx63("p", { className: "text-base font-body text-on-subtle pl-10 pb-4", children: answer }) })
7915
8208
  ] }, value))
7916
8209
  }
7917
8210
  ) })
@@ -7922,38 +8215,38 @@ function FAQBlock({
7922
8215
  const helpCardPaddingClass = layout === "desktop" ? "p-8" : "p-6";
7923
8216
  const gapClass = layout === "desktop" ? "gap-12" : "gap-10";
7924
8217
  const headerGapClass = layout === "desktop" ? "gap-5" : "gap-4";
7925
- return /* @__PURE__ */ jsxs35("div", { className: `w-full flex flex-col ${gapClass}`, children: [
7926
- /* @__PURE__ */ jsxs35("div", { className: `flex flex-col ${headerGapClass} items-center w-full`, children: [
7927
- /* @__PURE__ */ jsx62("span", { className: "text-sm text-on-subtle font-body", children: eyebrow }),
7928
- /* @__PURE__ */ jsx62("h2", { className: headingClass, children: title }),
7929
- intro && /* @__PURE__ */ jsx62("p", { className: "text-lg text-on-subtle font-body text-center", children: intro })
8218
+ return /* @__PURE__ */ jsxs36("div", { className: `w-full flex flex-col ${gapClass}`, children: [
8219
+ /* @__PURE__ */ jsxs36("div", { className: `flex flex-col ${headerGapClass} items-center w-full`, children: [
8220
+ /* @__PURE__ */ jsx63("span", { className: "text-sm text-on-subtle font-body", children: eyebrow }),
8221
+ /* @__PURE__ */ jsx63("h2", { className: headingClass, children: title }),
8222
+ intro && /* @__PURE__ */ jsx63("p", { className: "text-lg text-on-subtle font-body text-center", children: intro })
7930
8223
  ] }),
7931
- /* @__PURE__ */ jsx62(
8224
+ /* @__PURE__ */ jsx63(
7932
8225
  Accordion,
7933
8226
  {
7934
8227
  type: "single",
7935
8228
  collapsible: true,
7936
8229
  defaultValue: defaultValue != null ? defaultValue : (_b = items[0]) == null ? void 0 : _b.value,
7937
8230
  className: "w-full",
7938
- children: items.map(({ value, question, answer }) => /* @__PURE__ */ jsxs35(AccordionItem, { value, children: [
7939
- /* @__PURE__ */ jsx62(AccordionTrigger, { className: "text-base font-medium font-body text-on-prominent hover:no-underline", children: question }),
7940
- /* @__PURE__ */ jsx62(AccordionContent, { children: /* @__PURE__ */ jsx62("p", { className: "text-sm text-on-subtle font-body pb-4", children: answer }) })
8231
+ children: items.map(({ value, question, answer }) => /* @__PURE__ */ jsxs36(AccordionItem, { value, children: [
8232
+ /* @__PURE__ */ jsx63(AccordionTrigger, { className: "text-base font-medium font-body text-on-prominent hover:no-underline", children: question }),
8233
+ /* @__PURE__ */ jsx63(AccordionContent, { children: /* @__PURE__ */ jsx63("p", { className: "text-sm text-on-subtle font-body pb-4", children: answer }) })
7941
8234
  ] }, value))
7942
8235
  }
7943
8236
  ),
7944
- helpCard && /* @__PURE__ */ jsxs35("div", { className: `flex flex-col gap-6 items-center w-full bg-subtle rounded-xl ${helpCardPaddingClass}`, children: [
7945
- /* @__PURE__ */ jsxs35("div", { className: "flex flex-col gap-2 w-full", children: [
7946
- /* @__PURE__ */ jsx62("h3", { className: helpTitleClass, children: helpCard.title }),
7947
- /* @__PURE__ */ jsx62("p", { className: "text-base text-on-subtle font-body", children: helpCard.body })
8237
+ helpCard && /* @__PURE__ */ jsxs36("div", { className: `flex flex-col gap-6 items-center w-full bg-subtle rounded-xl ${helpCardPaddingClass}`, children: [
8238
+ /* @__PURE__ */ jsxs36("div", { className: "flex flex-col gap-2 w-full", children: [
8239
+ /* @__PURE__ */ jsx63("h3", { className: helpTitleClass, children: helpCard.title }),
8240
+ /* @__PURE__ */ jsx63("p", { className: "text-base text-on-subtle font-body", children: helpCard.body })
7948
8241
  ] }),
7949
- /* @__PURE__ */ jsx62(Button, { size: "sm", onClick: helpCard.onCtaClick, children: helpCard.ctaLabel })
8242
+ /* @__PURE__ */ jsx63(Button, { size: "sm", onClick: helpCard.onCtaClick, children: helpCard.ctaLabel })
7950
8243
  ] })
7951
8244
  ] });
7952
8245
  }
7953
8246
 
7954
8247
  // components/blocks/hero-block.tsx
7955
8248
  import { ArrowRight as ArrowRight3, ArrowUpRight } from "lucide-react";
7956
- import { jsx as jsx63, jsxs as jsxs36 } from "react/jsx-runtime";
8249
+ import { jsx as jsx64, jsxs as jsxs37 } from "react/jsx-runtime";
7957
8250
  function HeroBlock({
7958
8251
  layout = "centered",
7959
8252
  tagline,
@@ -7964,31 +8257,31 @@ function HeroBlock({
7964
8257
  image
7965
8258
  }) {
7966
8259
  if (layout === "centered") {
7967
- return /* @__PURE__ */ jsx63("div", { className: "w-full border border-border-subtle rounded-xl overflow-hidden bg-prominent", children: /* @__PURE__ */ jsxs36("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: [
7968
- /* @__PURE__ */ jsxs36("div", { className: "flex flex-col items-center gap-6 w-full", children: [
7969
- tagline && /* @__PURE__ */ jsx63(TaglinePill, __spreadValues({}, tagline)),
7970
- /* @__PURE__ */ jsx63("h1", { className: "text-5xl font-semibold font-display tracking-tight text-on-prominent text-center", children: heading }),
7971
- /* @__PURE__ */ jsx63("p", { className: "text-lg font-body text-on-subtle text-center", children: body })
8260
+ return /* @__PURE__ */ jsx64("div", { className: "w-full border border-border-subtle rounded-xl overflow-hidden bg-prominent", children: /* @__PURE__ */ jsxs37("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: [
8261
+ /* @__PURE__ */ jsxs37("div", { className: "flex flex-col items-center gap-6 w-full", children: [
8262
+ tagline && /* @__PURE__ */ jsx64(TaglinePill, __spreadValues({}, tagline)),
8263
+ /* @__PURE__ */ jsx64("h1", { className: "text-5xl font-semibold font-display tracking-tight text-on-prominent text-center", children: heading }),
8264
+ /* @__PURE__ */ jsx64("p", { className: "text-lg font-body text-on-subtle text-center", children: body })
7972
8265
  ] }),
7973
- /* @__PURE__ */ jsxs36(Button, { size: "sm", onClick: primaryCta.onClick, children: [
8266
+ /* @__PURE__ */ jsxs37(Button, { size: "sm", onClick: primaryCta.onClick, children: [
7974
8267
  primaryCta.label,
7975
- primaryCta.trailingArrow !== false && /* @__PURE__ */ jsx63(ArrowRight3, { className: "size-4" })
8268
+ primaryCta.trailingArrow !== false && /* @__PURE__ */ jsx64(ArrowRight3, { className: "size-4" })
7976
8269
  ] })
7977
8270
  ] }) });
7978
8271
  }
7979
- return /* @__PURE__ */ jsx63("div", { className: "w-full border border-border-subtle rounded-xl overflow-hidden bg-prominent", children: /* @__PURE__ */ jsxs36("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: [
7980
- /* @__PURE__ */ jsxs36("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: [
7981
- /* @__PURE__ */ jsxs36("div", { className: "flex flex-col gap-5 min-[600px]:gap-6 items-center min-[600px]:items-start w-full", children: [
7982
- tagline && /* @__PURE__ */ jsx63(TaglinePill, __spreadProps(__spreadValues({}, tagline), { responsive: true })),
7983
- /* @__PURE__ */ jsx63("h1", { className: "text-4xl min-[600px]:text-5xl font-semibold font-display tracking-tight text-on-prominent", children: heading }),
7984
- /* @__PURE__ */ jsx63("p", { className: "text-lg font-body text-on-subtle", children: body })
8272
+ return /* @__PURE__ */ jsx64("div", { className: "w-full border border-border-subtle rounded-xl overflow-hidden bg-prominent", children: /* @__PURE__ */ jsxs37("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: [
8273
+ /* @__PURE__ */ jsxs37("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: [
8274
+ /* @__PURE__ */ jsxs37("div", { className: "flex flex-col gap-5 min-[600px]:gap-6 items-center min-[600px]:items-start w-full", children: [
8275
+ tagline && /* @__PURE__ */ jsx64(TaglinePill, __spreadProps(__spreadValues({}, tagline), { responsive: true })),
8276
+ /* @__PURE__ */ jsx64("h1", { className: "text-4xl min-[600px]:text-5xl font-semibold font-display tracking-tight text-on-prominent", children: heading }),
8277
+ /* @__PURE__ */ jsx64("p", { className: "text-lg font-body text-on-subtle", children: body })
7985
8278
  ] }),
7986
- /* @__PURE__ */ jsxs36("div", { className: "flex items-center justify-center min-[600px]:justify-start gap-2", children: [
7987
- /* @__PURE__ */ jsx63(Button, { size: "sm", onClick: primaryCta.onClick, children: primaryCta.label }),
7988
- secondaryCta && /* @__PURE__ */ jsx63(Button, { variant: "secondary", size: "sm", onClick: secondaryCta.onClick, children: secondaryCta.label })
8279
+ /* @__PURE__ */ jsxs37("div", { className: "flex items-center justify-center min-[600px]:justify-start gap-2", children: [
8280
+ /* @__PURE__ */ jsx64(Button, { size: "sm", onClick: primaryCta.onClick, children: primaryCta.label }),
8281
+ secondaryCta && /* @__PURE__ */ jsx64(Button, { variant: "secondary", size: "sm", onClick: secondaryCta.onClick, children: secondaryCta.label })
7989
8282
  ] })
7990
8283
  ] }),
7991
- /* @__PURE__ */ jsx63("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 })
8284
+ /* @__PURE__ */ jsx64("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 })
7992
8285
  ] }) });
7993
8286
  }
7994
8287
  function TaglinePill({
@@ -7996,25 +8289,25 @@ function TaglinePill({
7996
8289
  suffix,
7997
8290
  responsive
7998
8291
  }) {
7999
- return /* @__PURE__ */ jsxs36("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: [
8000
- /* @__PURE__ */ jsx63("span", { className: "size-1.5 rounded-full bg-semantic-win shrink-0", "aria-hidden": "true" }),
8001
- responsive && suffix ? /* @__PURE__ */ jsxs36("span", { className: "text-sm font-body text-on-prominent whitespace-nowrap", children: [
8002
- /* @__PURE__ */ jsxs36("span", { className: "hidden min-[600px]:inline", children: [
8292
+ return /* @__PURE__ */ jsxs37("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: [
8293
+ /* @__PURE__ */ jsx64("span", { className: "size-1.5 rounded-full bg-semantic-win shrink-0", "aria-hidden": "true" }),
8294
+ responsive && suffix ? /* @__PURE__ */ jsxs37("span", { className: "text-sm font-body text-on-prominent whitespace-nowrap", children: [
8295
+ /* @__PURE__ */ jsxs37("span", { className: "hidden min-[600px]:inline", children: [
8003
8296
  label,
8004
- /* @__PURE__ */ jsx63("span", { className: "text-on-subtle", children: " \xB7 " })
8297
+ /* @__PURE__ */ jsx64("span", { className: "text-on-subtle", children: " \xB7 " })
8005
8298
  ] }),
8006
- /* @__PURE__ */ jsx63("span", { className: "text-on-subtle min-[600px]:text-on-prominent", children: suffix })
8007
- ] }) : /* @__PURE__ */ jsxs36("span", { className: "text-sm font-body text-on-prominent whitespace-nowrap", children: [
8299
+ /* @__PURE__ */ jsx64("span", { className: "text-on-subtle min-[600px]:text-on-prominent", children: suffix })
8300
+ ] }) : /* @__PURE__ */ jsxs37("span", { className: "text-sm font-body text-on-prominent whitespace-nowrap", children: [
8008
8301
  label,
8009
- suffix && /* @__PURE__ */ jsx63("span", { className: "text-on-subtle", children: ` \xB7 ${suffix}` })
8302
+ suffix && /* @__PURE__ */ jsx64("span", { className: "text-on-subtle", children: ` \xB7 ${suffix}` })
8010
8303
  ] }),
8011
- /* @__PURE__ */ jsx63(ArrowUpRight, { className: "size-4 text-on-subtle shrink-0", "aria-hidden": "true" })
8304
+ /* @__PURE__ */ jsx64(ArrowUpRight, { className: "size-4 text-on-subtle shrink-0", "aria-hidden": "true" })
8012
8305
  ] });
8013
8306
  }
8014
8307
 
8015
8308
  // components/blocks/auth-block.tsx
8016
- import * as React21 from "react";
8017
- import { jsx as jsx64, jsxs as jsxs37 } from "react/jsx-runtime";
8309
+ import * as React22 from "react";
8310
+ import { jsx as jsx65, jsxs as jsxs38 } from "react/jsx-runtime";
8018
8311
  function AuthBlock({
8019
8312
  mode,
8020
8313
  logoSrc,
@@ -8029,20 +8322,20 @@ function AuthBlock({
8029
8322
  const ctaText = mode === "sign-in" ? "Sign in" : "Sign up";
8030
8323
  const footerPrompt = mode === "sign-in" ? "Don't have an account?" : "Already have an account?";
8031
8324
  const footerLinkLabel = mode === "sign-in" ? "Sign up" : "Log in";
8032
- const [email, setEmail] = React21.useState("");
8033
- return /* @__PURE__ */ jsxs37("div", { className: "flex flex-col items-center gap-6 w-full", children: [
8034
- /* @__PURE__ */ jsxs37("div", { className: "flex items-center gap-2", children: [
8035
- /* @__PURE__ */ jsx64("img", { src: logoSrc, alt: wordmark, className: "size-8 object-contain" }),
8036
- /* @__PURE__ */ jsx64("span", { className: "font-display font-semibold text-base text-on-prominent tracking-tight", children: wordmark })
8325
+ const [email, setEmail] = React22.useState("");
8326
+ return /* @__PURE__ */ jsxs38("div", { className: "flex flex-col items-center gap-6 w-full", children: [
8327
+ /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-2", children: [
8328
+ /* @__PURE__ */ jsx65("img", { src: logoSrc, alt: wordmark, className: "size-8 object-contain" }),
8329
+ /* @__PURE__ */ jsx65("span", { className: "font-display font-semibold text-base text-on-prominent tracking-tight", children: wordmark })
8037
8330
  ] }),
8038
- /* @__PURE__ */ jsx64("h2", { className: "text-3xl font-semibold font-display text-on-prominent text-center", children: headingText }),
8039
- /* @__PURE__ */ jsx64("div", { className: "flex flex-col gap-3 w-full", children: providers.map((p) => /* @__PURE__ */ jsx64(ProviderButton, { provider: p }, p)) }),
8040
- /* @__PURE__ */ jsxs37("div", { className: "flex items-center gap-3 w-full", children: [
8041
- /* @__PURE__ */ jsx64("div", { className: "flex-1 h-px bg-border-subtle" }),
8042
- /* @__PURE__ */ jsx64("span", { className: "text-sm text-on-subtle font-body", children: "or" }),
8043
- /* @__PURE__ */ jsx64("div", { className: "flex-1 h-px bg-border-subtle" })
8331
+ /* @__PURE__ */ jsx65("h2", { className: "text-3xl font-semibold font-display text-on-prominent text-center", children: headingText }),
8332
+ /* @__PURE__ */ jsx65("div", { className: "flex flex-col gap-3 w-full", children: providers.map((p) => /* @__PURE__ */ jsx65(ProviderButton, { provider: p }, p)) }),
8333
+ /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-3 w-full", children: [
8334
+ /* @__PURE__ */ jsx65("div", { className: "flex-1 h-px bg-border-subtle" }),
8335
+ /* @__PURE__ */ jsx65("span", { className: "text-sm text-on-subtle font-body", children: "or" }),
8336
+ /* @__PURE__ */ jsx65("div", { className: "flex-1 h-px bg-border-subtle" })
8044
8337
  ] }),
8045
- /* @__PURE__ */ jsx64("div", { className: "flex items-center gap-2 w-full", children: /* @__PURE__ */ jsx64(
8338
+ /* @__PURE__ */ jsx65("div", { className: "flex items-center gap-2 w-full", children: /* @__PURE__ */ jsx65(
8046
8339
  Input,
8047
8340
  {
8048
8341
  id: `${idPrefix}-email`,
@@ -8053,60 +8346,60 @@ function AuthBlock({
8053
8346
  onChange: (e) => setEmail(e.target.value)
8054
8347
  }
8055
8348
  ) }),
8056
- /* @__PURE__ */ jsxs37("p", { className: "text-sm text-on-subtle font-body text-left w-full", children: [
8349
+ /* @__PURE__ */ jsxs38("p", { className: "text-sm text-on-subtle font-body text-left w-full", children: [
8057
8350
  termsText,
8058
8351
  ", you agree to our",
8059
8352
  " ",
8060
- /* @__PURE__ */ jsx64(Link, { size: "sm", href: "#", children: "Terms & Conditions" })
8353
+ /* @__PURE__ */ jsx65(Link, { size: "sm", href: "#", children: "Terms & Conditions" })
8061
8354
  ] }),
8062
- /* @__PURE__ */ jsx64(Button, { size: "md", className: "w-full", onClick: () => onSubmit == null ? void 0 : onSubmit({ email }), children: ctaText }),
8063
- /* @__PURE__ */ jsxs37("p", { className: "text-sm text-on-subtle font-body text-center", children: [
8355
+ /* @__PURE__ */ jsx65(Button, { size: "md", className: "w-full", onClick: () => onSubmit == null ? void 0 : onSubmit({ email }), children: ctaText }),
8356
+ /* @__PURE__ */ jsxs38("p", { className: "text-sm text-on-subtle font-body text-center", children: [
8064
8357
  footerPrompt,
8065
8358
  " ",
8066
- /* @__PURE__ */ jsx64(Link, { size: "sm", href: crossLinkHref, children: footerLinkLabel })
8359
+ /* @__PURE__ */ jsx65(Link, { size: "sm", href: crossLinkHref, children: footerLinkLabel })
8067
8360
  ] })
8068
8361
  ] });
8069
8362
  }
8070
8363
  function ProviderButton({ provider }) {
8071
8364
  switch (provider) {
8072
8365
  case "google":
8073
- return /* @__PURE__ */ jsxs37(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
8074
- /* @__PURE__ */ jsxs37("svg", { width: "18", height: "18", viewBox: "0 0 18 18", "aria-hidden": "true", fill: "none", className: "shrink-0", children: [
8075
- /* @__PURE__ */ jsx64("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" }),
8076
- /* @__PURE__ */ jsx64("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" }),
8077
- /* @__PURE__ */ jsx64("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" }),
8078
- /* @__PURE__ */ jsx64("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" })
8366
+ return /* @__PURE__ */ jsxs38(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
8367
+ /* @__PURE__ */ jsxs38("svg", { width: "18", height: "18", viewBox: "0 0 18 18", "aria-hidden": "true", fill: "none", className: "shrink-0", children: [
8368
+ /* @__PURE__ */ jsx65("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" }),
8369
+ /* @__PURE__ */ jsx65("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" }),
8370
+ /* @__PURE__ */ jsx65("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" }),
8371
+ /* @__PURE__ */ jsx65("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" })
8079
8372
  ] }),
8080
8373
  "Continue with Google"
8081
8374
  ] });
8082
8375
  case "telegram":
8083
- return /* @__PURE__ */ jsxs37(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
8084
- /* @__PURE__ */ jsxs37("svg", { width: "18", height: "18", viewBox: "0 0 18 18", "aria-hidden": "true", fill: "none", className: "shrink-0", children: [
8085
- /* @__PURE__ */ jsx64("circle", { cx: "9", cy: "9", r: "9", fill: "#29B6F6" }),
8086
- /* @__PURE__ */ jsx64("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" }),
8087
- /* @__PURE__ */ jsx64("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" })
8376
+ return /* @__PURE__ */ jsxs38(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
8377
+ /* @__PURE__ */ jsxs38("svg", { width: "18", height: "18", viewBox: "0 0 18 18", "aria-hidden": "true", fill: "none", className: "shrink-0", children: [
8378
+ /* @__PURE__ */ jsx65("circle", { cx: "9", cy: "9", r: "9", fill: "#29B6F6" }),
8379
+ /* @__PURE__ */ jsx65("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" }),
8380
+ /* @__PURE__ */ jsx65("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" })
8088
8381
  ] }),
8089
8382
  "Continue with Telegram"
8090
8383
  ] });
8091
8384
  case "x":
8092
- return /* @__PURE__ */ jsxs37(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
8093
- /* @__PURE__ */ jsx64("svg", { width: "18", height: "18", viewBox: "0 0 18 18", "aria-hidden": "true", fill: "currentColor", className: "shrink-0", children: /* @__PURE__ */ jsx64("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" }) }),
8385
+ return /* @__PURE__ */ jsxs38(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
8386
+ /* @__PURE__ */ jsx65("svg", { width: "18", height: "18", viewBox: "0 0 18 18", "aria-hidden": "true", fill: "currentColor", className: "shrink-0", children: /* @__PURE__ */ jsx65("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" }) }),
8094
8387
  "Continue with X (Twitter)"
8095
8388
  ] });
8096
8389
  }
8097
8390
  }
8098
8391
 
8099
8392
  // components/blocks/navbar-block.tsx
8100
- import * as React22 from "react";
8393
+ import * as React23 from "react";
8101
8394
  import { Menu, X as X3 } from "lucide-react";
8102
- import { jsx as jsx65, jsxs as jsxs38 } from "react/jsx-runtime";
8395
+ import { jsx as jsx66, jsxs as jsxs39 } from "react/jsx-runtime";
8103
8396
  function NavBarBlock({ brand, links, signIn, signUp }) {
8104
8397
  var _a, _b, _c, _d;
8105
- const [mobileMenuOpen, setMobileMenuOpen] = React22.useState(false);
8106
- return /* @__PURE__ */ jsx65("div", { className: "w-full border border-border-subtle rounded-md overflow-hidden", children: /* @__PURE__ */ jsxs38("nav", { className: "bg-prominent", children: [
8107
- /* @__PURE__ */ jsxs38("div", { className: "flex items-center justify-between px-layout-margin-inline py-3", children: [
8108
- /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-6", children: [
8109
- /* @__PURE__ */ jsx65(
8398
+ const [mobileMenuOpen, setMobileMenuOpen] = React23.useState(false);
8399
+ return /* @__PURE__ */ jsx66("div", { className: "w-full border border-border-subtle rounded-md overflow-hidden", children: /* @__PURE__ */ jsxs39("nav", { className: "bg-prominent", children: [
8400
+ /* @__PURE__ */ jsxs39("div", { className: "flex items-center justify-between px-layout-margin-inline py-3", children: [
8401
+ /* @__PURE__ */ jsxs39("div", { className: "flex items-center gap-6", children: [
8402
+ /* @__PURE__ */ jsx66(
8110
8403
  "img",
8111
8404
  {
8112
8405
  src: brand.fullLogoSrc,
@@ -8114,7 +8407,7 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
8114
8407
  className: "hidden min-[600px]:block h-7 w-auto shrink-0 object-contain object-left"
8115
8408
  }
8116
8409
  ),
8117
- /* @__PURE__ */ jsx65(
8410
+ /* @__PURE__ */ jsx66(
8118
8411
  "img",
8119
8412
  {
8120
8413
  src: brand.iconLogoSrc,
@@ -8122,13 +8415,13 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
8122
8415
  className: "min-[600px]:hidden size-7 shrink-0 object-contain"
8123
8416
  }
8124
8417
  ),
8125
- /* @__PURE__ */ jsx65("div", { className: "hidden min-[600px]:flex items-center gap-1", children: links.map((l) => /* @__PURE__ */ jsx65(Button, { variant: "tertiary", size: "sm", onClick: l.onClick, children: l.label }, l.label)) })
8418
+ /* @__PURE__ */ jsx66("div", { className: "hidden min-[600px]:flex items-center gap-1", children: links.map((l) => /* @__PURE__ */ jsx66(Button, { variant: "tertiary", size: "sm", onClick: l.onClick, children: l.label }, l.label)) })
8126
8419
  ] }),
8127
- /* @__PURE__ */ jsxs38("div", { className: "hidden min-[600px]:flex items-center gap-2", children: [
8128
- signIn && /* @__PURE__ */ jsx65(Button, { variant: "tertiary", size: "sm", onClick: signIn.onClick, children: (_a = signIn.label) != null ? _a : "Sign in" }),
8129
- signUp && /* @__PURE__ */ jsx65(Button, { size: "sm", onClick: signUp.onClick, children: (_b = signUp.label) != null ? _b : "Sign up" })
8420
+ /* @__PURE__ */ jsxs39("div", { className: "hidden min-[600px]:flex items-center gap-2", children: [
8421
+ signIn && /* @__PURE__ */ jsx66(Button, { variant: "tertiary", size: "sm", onClick: signIn.onClick, children: (_a = signIn.label) != null ? _a : "Sign in" }),
8422
+ signUp && /* @__PURE__ */ jsx66(Button, { size: "sm", onClick: signUp.onClick, children: (_b = signUp.label) != null ? _b : "Sign up" })
8130
8423
  ] }),
8131
- /* @__PURE__ */ jsx65(
8424
+ /* @__PURE__ */ jsx66(
8132
8425
  Button,
8133
8426
  {
8134
8427
  variant: "tertiary",
@@ -8137,12 +8430,12 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
8137
8430
  "aria-expanded": mobileMenuOpen,
8138
8431
  className: "min-[600px]:hidden",
8139
8432
  onClick: () => setMobileMenuOpen((prev) => !prev),
8140
- children: mobileMenuOpen ? /* @__PURE__ */ jsx65(X3, { className: "size-4" }) : /* @__PURE__ */ jsx65(Menu, { className: "size-4" })
8433
+ children: mobileMenuOpen ? /* @__PURE__ */ jsx66(X3, { className: "size-4" }) : /* @__PURE__ */ jsx66(Menu, { className: "size-4" })
8141
8434
  }
8142
8435
  )
8143
8436
  ] }),
8144
- mobileMenuOpen && /* @__PURE__ */ jsxs38("div", { className: "min-[600px]:hidden flex flex-col border-t border-border-subtle px-layout-margin-inline py-3 gap-1", children: [
8145
- links.map((l) => /* @__PURE__ */ jsx65(
8437
+ mobileMenuOpen && /* @__PURE__ */ jsxs39("div", { className: "min-[600px]:hidden flex flex-col border-t border-border-subtle px-layout-margin-inline py-3 gap-1", children: [
8438
+ links.map((l) => /* @__PURE__ */ jsx66(
8146
8439
  Button,
8147
8440
  {
8148
8441
  variant: "tertiary",
@@ -8153,9 +8446,9 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
8153
8446
  },
8154
8447
  l.label
8155
8448
  )),
8156
- (signIn || signUp) && /* @__PURE__ */ jsxs38("div", { className: "flex flex-col gap-2 pt-3 mt-2 border-t border-border-subtle", children: [
8157
- signIn && /* @__PURE__ */ jsx65(Button, { variant: "secondary", size: "sm", className: "w-full", onClick: signIn.onClick, children: (_c = signIn.label) != null ? _c : "Sign in" }),
8158
- signUp && /* @__PURE__ */ jsx65(Button, { size: "sm", className: "w-full", onClick: signUp.onClick, children: (_d = signUp.label) != null ? _d : "Sign up" })
8449
+ (signIn || signUp) && /* @__PURE__ */ jsxs39("div", { className: "flex flex-col gap-2 pt-3 mt-2 border-t border-border-subtle", children: [
8450
+ signIn && /* @__PURE__ */ jsx66(Button, { variant: "secondary", size: "sm", className: "w-full", onClick: signIn.onClick, children: (_c = signIn.label) != null ? _c : "Sign in" }),
8451
+ signUp && /* @__PURE__ */ jsx66(Button, { size: "sm", className: "w-full", onClick: signUp.onClick, children: (_d = signUp.label) != null ? _d : "Sign up" })
8159
8452
  ] })
8160
8453
  ] })
8161
8454
  ] }) });
@@ -8163,7 +8456,7 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
8163
8456
 
8164
8457
  // components/blocks/open-positions-block.tsx
8165
8458
  import { History as History2, X as X4 } from "lucide-react";
8166
- import { jsx as jsx66, jsxs as jsxs39 } from "react/jsx-runtime";
8459
+ import { jsx as jsx67, jsxs as jsxs40 } from "react/jsx-runtime";
8167
8460
  function OpenPositionsBlock({
8168
8461
  trigger,
8169
8462
  sheetTitle = "Positions",
@@ -8172,28 +8465,28 @@ function OpenPositionsBlock({
8172
8465
  emptyState
8173
8466
  }) {
8174
8467
  const isMobile = useIsMobile();
8175
- const body = positions.length === 0 ? emptyState != null ? emptyState : /* @__PURE__ */ jsx66(DefaultEmptyState, { onViewHistory }) : /* @__PURE__ */ jsx66(PositionsList, { positions, onViewHistory });
8468
+ const body = positions.length === 0 ? emptyState != null ? emptyState : /* @__PURE__ */ jsx67(DefaultEmptyState, { onViewHistory }) : /* @__PURE__ */ jsx67(PositionsList, { positions, onViewHistory });
8176
8469
  if (isMobile) {
8177
- return /* @__PURE__ */ jsxs39(Drawer, { children: [
8178
- /* @__PURE__ */ jsx66(DrawerTrigger, { asChild: true, children: trigger }),
8179
- /* @__PURE__ */ jsxs39(DrawerContent, { className: "p-0 flex flex-col", children: [
8180
- /* @__PURE__ */ jsxs39(DrawerHeader, { className: "flex-row items-center justify-between px-4 py-3 shrink-0 text-left", children: [
8181
- /* @__PURE__ */ jsx66(DrawerTitle, { className: "text-base font-semibold font-display text-on-prominent", children: sheetTitle }),
8182
- /* @__PURE__ */ jsx66(DrawerClose, { asChild: true, children: /* @__PURE__ */ jsx66(NavigationButton, { size: "sm", "aria-label": "Close", children: /* @__PURE__ */ jsx66(X4, {}) }) })
8470
+ return /* @__PURE__ */ jsxs40(Drawer, { children: [
8471
+ /* @__PURE__ */ jsx67(DrawerTrigger, { asChild: true, children: trigger }),
8472
+ /* @__PURE__ */ jsxs40(DrawerContent, { className: "p-0 flex flex-col", children: [
8473
+ /* @__PURE__ */ jsxs40(DrawerHeader, { className: "flex-row items-center justify-between px-4 py-3 shrink-0 text-left", children: [
8474
+ /* @__PURE__ */ jsx67(DrawerTitle, { className: "text-base font-semibold font-display text-on-prominent", children: sheetTitle }),
8475
+ /* @__PURE__ */ jsx67(DrawerClose, { asChild: true, children: /* @__PURE__ */ jsx67(NavigationButton, { size: "sm", "aria-label": "Close", children: /* @__PURE__ */ jsx67(X4, {}) }) })
8183
8476
  ] }),
8184
- /* @__PURE__ */ jsx66(Separator, {}),
8477
+ /* @__PURE__ */ jsx67(Separator, {}),
8185
8478
  body
8186
8479
  ] })
8187
8480
  ] });
8188
8481
  }
8189
- return /* @__PURE__ */ jsxs39(Sheet, { children: [
8190
- /* @__PURE__ */ jsx66(SheetTrigger, { asChild: true, children: trigger }),
8191
- /* @__PURE__ */ jsxs39(SheetContent, { side: "right", showCloseButton: false, className: "p-0 flex flex-col w-80 sm:max-w-xs", children: [
8192
- /* @__PURE__ */ jsxs39(SheetHeader, { className: "flex-row items-center justify-between px-4 py-3 shrink-0", children: [
8193
- /* @__PURE__ */ jsx66(SheetTitle, { className: "text-base font-semibold font-display text-on-prominent", children: sheetTitle }),
8194
- /* @__PURE__ */ jsx66(SheetClose, { asChild: true, children: /* @__PURE__ */ jsx66(NavigationButton, { size: "sm", "aria-label": "Close", children: /* @__PURE__ */ jsx66(X4, {}) }) })
8482
+ return /* @__PURE__ */ jsxs40(Sheet, { children: [
8483
+ /* @__PURE__ */ jsx67(SheetTrigger, { asChild: true, children: trigger }),
8484
+ /* @__PURE__ */ jsxs40(SheetContent, { side: "right", showCloseButton: false, className: "p-0 flex flex-col w-80 sm:max-w-xs", children: [
8485
+ /* @__PURE__ */ jsxs40(SheetHeader, { className: "flex-row items-center justify-between px-4 py-3 shrink-0", children: [
8486
+ /* @__PURE__ */ jsx67(SheetTitle, { className: "text-base font-semibold font-display text-on-prominent", children: sheetTitle }),
8487
+ /* @__PURE__ */ jsx67(SheetClose, { asChild: true, children: /* @__PURE__ */ jsx67(NavigationButton, { size: "sm", "aria-label": "Close", children: /* @__PURE__ */ jsx67(X4, {}) }) })
8195
8488
  ] }),
8196
- /* @__PURE__ */ jsx66(Separator, {}),
8489
+ /* @__PURE__ */ jsx67(Separator, {}),
8197
8490
  body
8198
8491
  ] })
8199
8492
  ] });
@@ -8202,23 +8495,23 @@ function PositionsList({
8202
8495
  positions,
8203
8496
  onViewHistory
8204
8497
  }) {
8205
- return /* @__PURE__ */ jsxs39("div", { className: "flex flex-col flex-1 min-h-0", children: [
8206
- /* @__PURE__ */ jsx66(ItemGroup, { className: "min-h-0 overflow-y-auto", children: positions.map((pos, i) => /* @__PURE__ */ jsx66(PositionRow, { position: pos }, i)) }),
8207
- /* @__PURE__ */ jsx66(Separator, {}),
8208
- /* @__PURE__ */ jsx66("div", { className: "shrink-0 flex justify-center py-4", children: /* @__PURE__ */ jsx66(Button, { variant: "tertiary", size: "md", onClick: onViewHistory, children: "View trade history" }) })
8498
+ return /* @__PURE__ */ jsxs40("div", { className: "flex flex-col flex-1 min-h-0", children: [
8499
+ /* @__PURE__ */ jsx67(ItemGroup, { className: "min-h-0 overflow-y-auto", children: positions.map((pos, i) => /* @__PURE__ */ jsx67(PositionRow, { position: pos }, i)) }),
8500
+ /* @__PURE__ */ jsx67(Separator, {}),
8501
+ /* @__PURE__ */ jsx67("div", { className: "shrink-0 flex justify-center py-4", children: /* @__PURE__ */ jsx67(Button, { variant: "tertiary", size: "md", onClick: onViewHistory, children: "View trade history" }) })
8209
8502
  ] });
8210
8503
  }
8211
8504
  function PositionRow({ position }) {
8212
8505
  const { label, suffix } = positionTitleParts(position);
8213
- return /* @__PURE__ */ jsxs39(Item, { size: "sm", children: [
8214
- /* @__PURE__ */ jsxs39(ItemContent, { children: [
8215
- /* @__PURE__ */ jsxs39(ItemTitle, { children: [
8216
- /* @__PURE__ */ jsx66("span", { className: "text-on-prominent", children: label }),
8217
- suffix && /* @__PURE__ */ jsx66("span", { className: "text-on-subtle", children: ` ${suffix}` })
8506
+ return /* @__PURE__ */ jsxs40(Item, { size: "sm", children: [
8507
+ /* @__PURE__ */ jsxs40(ItemContent, { children: [
8508
+ /* @__PURE__ */ jsxs40(ItemTitle, { children: [
8509
+ /* @__PURE__ */ jsx67("span", { className: "text-on-prominent", children: label }),
8510
+ suffix && /* @__PURE__ */ jsx67("span", { className: "text-on-subtle", children: ` ${suffix}` })
8218
8511
  ] }),
8219
- /* @__PURE__ */ jsx66(MetaNote, { market: position.market, duration: position.duration })
8512
+ /* @__PURE__ */ jsx67(MetaNote, { market: position.market, duration: position.duration })
8220
8513
  ] }),
8221
- /* @__PURE__ */ jsx66(ItemActions, { children: /* @__PURE__ */ jsx66(PnlMeta, { pnl: position.pnl, win: position.win, stake: position.stake }) })
8514
+ /* @__PURE__ */ jsx67(ItemActions, { children: /* @__PURE__ */ jsx67(PnlMeta, { pnl: position.pnl, win: position.win, stake: position.stake }) })
8222
8515
  ] });
8223
8516
  }
8224
8517
  var DIGITS_TYPE_LABEL = {
@@ -8244,29 +8537,29 @@ function positionTitleParts(p) {
8244
8537
  }
8245
8538
  }
8246
8539
  function MetaNote({ market, duration }) {
8247
- return /* @__PURE__ */ jsxs39("span", { className: "text-xs text-on-subtle whitespace-nowrap", children: [
8540
+ return /* @__PURE__ */ jsxs40("span", { className: "text-xs text-on-subtle whitespace-nowrap", children: [
8248
8541
  market,
8249
8542
  " \xB7 ",
8250
8543
  duration
8251
8544
  ] });
8252
8545
  }
8253
8546
  function PnlMeta({ pnl, win, stake }) {
8254
- return /* @__PURE__ */ jsxs39("div", { className: "flex flex-col items-end gap-0.5", children: [
8255
- /* @__PURE__ */ jsx66("span", { className: `font-display font-semibold tabular-nums text-base ${win ? "text-semantic-win" : "text-semantic-loss"}`, children: pnl }),
8256
- /* @__PURE__ */ jsx66("span", { className: "tabular-nums text-xs text-on-subtle", children: stake })
8547
+ return /* @__PURE__ */ jsxs40("div", { className: "flex flex-col items-end gap-0.5", children: [
8548
+ /* @__PURE__ */ jsx67("span", { className: `font-display font-semibold tabular-nums text-base ${win ? "text-semantic-win" : "text-semantic-loss"}`, children: pnl }),
8549
+ /* @__PURE__ */ jsx67("span", { className: "tabular-nums text-xs text-on-subtle", children: stake })
8257
8550
  ] });
8258
8551
  }
8259
8552
  function DefaultEmptyState({ onViewHistory }) {
8260
- return /* @__PURE__ */ jsx66(Empty, { className: "flex min-h-0 flex-1 flex-col justify-center border-none rounded-none p-6 text-center", children: /* @__PURE__ */ jsxs39(EmptyHeader, { className: "gap-4", children: [
8261
- /* @__PURE__ */ jsx66(EmptyMedia, { children: /* @__PURE__ */ jsx66(History2, { className: "size-8 text-on-subtle" }) }),
8262
- /* @__PURE__ */ jsx66(EmptyTitle, { className: "h6 text-on-subtle", children: "No trades yet." }),
8263
- /* @__PURE__ */ jsx66(Button, { variant: "tertiary", size: "md", onClick: onViewHistory, children: "View trade history" })
8553
+ return /* @__PURE__ */ jsx67(Empty, { className: "flex min-h-0 flex-1 flex-col justify-center border-none rounded-none p-6 text-center", children: /* @__PURE__ */ jsxs40(EmptyHeader, { className: "gap-4", children: [
8554
+ /* @__PURE__ */ jsx67(EmptyMedia, { children: /* @__PURE__ */ jsx67(History2, { className: "size-8 text-on-subtle" }) }),
8555
+ /* @__PURE__ */ jsx67(EmptyTitle, { className: "h6 text-on-subtle", children: "No trades yet." }),
8556
+ /* @__PURE__ */ jsx67(Button, { variant: "tertiary", size: "md", onClick: onViewHistory, children: "View trade history" })
8264
8557
  ] }) });
8265
8558
  }
8266
8559
 
8267
8560
  // components/blocks/game-loading-block.tsx
8268
- import * as React23 from "react";
8269
- import { jsx as jsx67, jsxs as jsxs40 } from "react/jsx-runtime";
8561
+ import * as React24 from "react";
8562
+ import { jsx as jsx68, jsxs as jsxs41 } from "react/jsx-runtime";
8270
8563
  function useSmoothProgress({
8271
8564
  checkpoints,
8272
8565
  reached,
@@ -8276,19 +8569,19 @@ function useSmoothProgress({
8276
8569
  readyLabel = "Ready"
8277
8570
  }) {
8278
8571
  var _a, _b;
8279
- const [progress, setProgress] = React23.useState(0);
8280
- const [delayed, setDelayed] = React23.useState(false);
8281
- const checkpointsRef = React23.useRef(checkpoints);
8282
- const reachedRef = React23.useRef(reached);
8283
- const doneRef = React23.useRef(done);
8284
- React23.useEffect(() => {
8572
+ const [progress, setProgress] = React24.useState(0);
8573
+ const [delayed, setDelayed] = React24.useState(false);
8574
+ const checkpointsRef = React24.useRef(checkpoints);
8575
+ const reachedRef = React24.useRef(reached);
8576
+ const doneRef = React24.useRef(done);
8577
+ React24.useEffect(() => {
8285
8578
  checkpointsRef.current = checkpoints;
8286
8579
  reachedRef.current = reached;
8287
8580
  doneRef.current = done;
8288
8581
  });
8289
- const progressRef = React23.useRef(0);
8290
- const lastAdvanceRef = React23.useRef(0);
8291
- React23.useEffect(() => {
8582
+ const progressRef = React24.useRef(0);
8583
+ const lastAdvanceRef = React24.useRef(0);
8584
+ React24.useEffect(() => {
8292
8585
  let raf = 0;
8293
8586
  let last = 0;
8294
8587
  const tick = (ts) => {
@@ -8342,14 +8635,14 @@ function GameLoadingBlock({
8342
8635
  backgroundImageUrl,
8343
8636
  className
8344
8637
  }) {
8345
- const [go, setGo] = React23.useState(false);
8346
- const [reduced, setReduced] = React23.useState(false);
8347
- React23.useEffect(() => {
8638
+ const [go, setGo] = React24.useState(false);
8639
+ const [reduced, setReduced] = React24.useState(false);
8640
+ React24.useEffect(() => {
8348
8641
  if (typeof window !== "undefined" && typeof window.matchMedia === "function") {
8349
8642
  setReduced(window.matchMedia("(prefers-reduced-motion: reduce)").matches);
8350
8643
  }
8351
8644
  }, []);
8352
- React23.useEffect(() => {
8645
+ React24.useEffect(() => {
8353
8646
  if (!exiting) return;
8354
8647
  const raf = requestAnimationFrame(() => setGo(true));
8355
8648
  const timer = setTimeout(() => onExitEnd == null ? void 0 : onExitEnd(), reduced ? 240 : 700);
@@ -8361,7 +8654,7 @@ function GameLoadingBlock({
8361
8654
  const isAbsolute = exiting || contained;
8362
8655
  const punched = Boolean(logoSrc);
8363
8656
  const animate = exiting && go && !reduced;
8364
- return /* @__PURE__ */ jsxs40(
8657
+ return /* @__PURE__ */ jsxs41(
8365
8658
  "div",
8366
8659
  {
8367
8660
  role: "status",
@@ -8377,7 +8670,7 @@ function GameLoadingBlock({
8377
8670
  className
8378
8671
  ),
8379
8672
  children: [
8380
- /* @__PURE__ */ jsx67(
8673
+ /* @__PURE__ */ jsx68(
8381
8674
  "div",
8382
8675
  {
8383
8676
  "aria-hidden": "true",
@@ -8395,7 +8688,7 @@ function GameLoadingBlock({
8395
8688
  } : null)
8396
8689
  }
8397
8690
  ),
8398
- logoSrc && /* @__PURE__ */ jsx67(
8691
+ logoSrc && /* @__PURE__ */ jsx68(
8399
8692
  "img",
8400
8693
  {
8401
8694
  src: logoSrc,
@@ -8404,16 +8697,16 @@ function GameLoadingBlock({
8404
8697
  className: cn("game-loader-mark", animate && "game-loader-mark-exit")
8405
8698
  }
8406
8699
  ),
8407
- !exiting && /* @__PURE__ */ jsxs40("div", { className: "absolute bottom-10 left-1/2 flex w-[200px] -translate-x-1/2 flex-col items-start gap-3.5", children: [
8408
- /* @__PURE__ */ jsx67("div", { className: "relative h-2 w-full overflow-hidden rounded-xs bg-background-secondary-surface", children: /* @__PURE__ */ jsx67(
8700
+ !exiting && /* @__PURE__ */ jsxs41("div", { className: "absolute bottom-10 left-1/2 flex w-[200px] -translate-x-1/2 flex-col items-start gap-3.5", children: [
8701
+ /* @__PURE__ */ jsx68("div", { className: "relative h-2 w-full overflow-hidden rounded-xs bg-background-secondary-surface", children: /* @__PURE__ */ jsx68(
8409
8702
  "div",
8410
8703
  {
8411
8704
  className: "absolute inset-y-0 left-0 overflow-hidden rounded-xs bg-background-brand-default",
8412
8705
  style: { width: `${progress}%` },
8413
- children: /* @__PURE__ */ jsx67("span", { "aria-hidden": "true", className: "game-loader-shimmer absolute inset-y-0 left-[-60%] w-[60%]" })
8706
+ children: /* @__PURE__ */ jsx68("span", { "aria-hidden": "true", className: "game-loader-shimmer absolute inset-y-0 left-[-60%] w-[60%]" })
8414
8707
  }
8415
8708
  ) }),
8416
- /* @__PURE__ */ jsx67("span", { className: "caption text-text-subtle-default", children: delayed ? "Taking longer than usual\u2026" : label })
8709
+ /* @__PURE__ */ jsx68("span", { className: "caption text-text-subtle-default", children: delayed ? "Taking longer than usual\u2026" : label })
8417
8710
  ] })
8418
8711
  ]
8419
8712
  }
@@ -8499,6 +8792,7 @@ export {
8499
8792
  ContextMenuSubContent,
8500
8793
  ContextMenuSubTrigger,
8501
8794
  ContextMenuTrigger,
8795
+ DateWheelPicker,
8502
8796
  Dialog,
8503
8797
  DialogClose,
8504
8798
  DialogContent,