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