@trading-game/design-intelligence-layer 0.15.4 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -106,79 +106,23 @@ function AccordionContent(_a) {
106
106
  }
107
107
 
108
108
  // components/ui/alert.tsx
109
- import { cva } from "class-variance-authority";
110
- import { jsx as jsx2 } from "react/jsx-runtime";
111
- var alertVariants = cva(
112
- "relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-sm border px-4 py-3 text-sm has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
113
- {
114
- variants: {
115
- variant: {
116
- info: "bg-transparent text-alert-info-text border-alert-info-border *:data-[slot=alert-description]:text-on-subtle [&>svg]:text-current",
117
- error: "bg-transparent text-alert-error-text border-alert-error-border *:data-[slot=alert-description]:text-on-subtle [&>svg]:text-current"
118
- }
119
- },
120
- defaultVariants: {
121
- variant: "info"
122
- }
123
- }
124
- );
125
- function Alert(_a) {
126
- var _b = _a, {
127
- className,
128
- variant
129
- } = _b, props = __objRest(_b, [
130
- "className",
131
- "variant"
132
- ]);
133
- return /* @__PURE__ */ jsx2(
134
- "div",
135
- __spreadValues({
136
- "data-slot": "alert",
137
- role: "alert",
138
- className: cn(alertVariants({ variant }), className)
139
- }, props)
140
- );
141
- }
142
- function AlertTitle(_a) {
143
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
144
- return /* @__PURE__ */ jsx2(
145
- "div",
146
- __spreadValues({
147
- "data-slot": "alert-title",
148
- className: cn(
149
- "col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",
150
- className
151
- )
152
- }, props)
153
- );
154
- }
155
- function AlertDescription(_a) {
156
- var _b = _a, {
157
- className
158
- } = _b, props = __objRest(_b, [
159
- "className"
160
- ]);
161
- return /* @__PURE__ */ jsx2(
162
- "div",
163
- __spreadValues({
164
- "data-slot": "alert-description",
165
- className: cn(
166
- "col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",
167
- className
168
- )
169
- }, props)
170
- );
171
- }
172
-
173
- // components/ui/alert-dialog.tsx
174
- import { AlertDialog as AlertDialogPrimitive } from "radix-ui";
109
+ import * as React from "react";
110
+ import { cva as cva2 } from "class-variance-authority";
111
+ import {
112
+ AlertTriangle,
113
+ CheckCircle2,
114
+ Info,
115
+ Sparkles,
116
+ X,
117
+ XCircle
118
+ } from "lucide-react";
175
119
 
176
120
  // components/ui/button.tsx
177
- import { cva as cva2 } from "class-variance-authority";
121
+ import { cva } from "class-variance-authority";
178
122
  import { Slot } from "radix-ui";
179
123
 
180
124
  // components/ui/spinner.tsx
181
- import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
125
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
182
126
  var PILL_COUNT = 8;
183
127
  function Spinner(_a) {
184
128
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
@@ -190,13 +134,13 @@ function Spinner(_a) {
190
134
  className: cn("relative inline-block size-4 text-current", className)
191
135
  }, props), {
192
136
  children: [
193
- /* @__PURE__ */ jsx3("style", { children: `
137
+ /* @__PURE__ */ jsx2("style", { children: `
194
138
  @keyframes spinner-fade {
195
139
  0% { opacity: 1; }
196
140
  100% { opacity: 0.15; }
197
141
  }
198
142
  ` }),
199
- Array.from({ length: PILL_COUNT }, (_, i) => /* @__PURE__ */ jsx3(
143
+ Array.from({ length: PILL_COUNT }, (_, i) => /* @__PURE__ */ jsx2(
200
144
  "span",
201
145
  {
202
146
  style: {
@@ -220,8 +164,8 @@ function Spinner(_a) {
220
164
  }
221
165
 
222
166
  // components/ui/button.tsx
223
- import { Fragment, jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
224
- var buttonVariants = cva2(
167
+ import { Fragment, jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
168
+ var buttonVariants = cva(
225
169
  "inline-flex shrink-0 items-center justify-center whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 active:opacity-60 disabled:pointer-events-none disabled:opacity-24 aria-invalid:border-destructive aria-invalid:ring-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 font-display font-bold",
226
170
  {
227
171
  variants: {
@@ -281,7 +225,7 @@ function Button(_a) {
281
225
  "children"
282
226
  ]);
283
227
  const Comp = asChild ? Slot.Root : "button";
284
- return /* @__PURE__ */ jsx4(
228
+ return /* @__PURE__ */ jsx3(
285
229
  Comp,
286
230
  __spreadProps(__spreadValues({
287
231
  "data-slot": "button",
@@ -295,15 +239,255 @@ function Button(_a) {
295
239
  "aria-busy": loading || void 0
296
240
  }, props), {
297
241
  children: loading ? /* @__PURE__ */ jsxs3(Fragment, { children: [
298
- /* @__PURE__ */ jsx4("span", { className: "invisible inline-flex items-center gap-[inherit]", "aria-hidden": true, children }),
299
- /* @__PURE__ */ jsx4("span", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx4(Spinner, { className: spinnerSizeMap[size != null ? size : "lg"] }) })
242
+ /* @__PURE__ */ jsx3("span", { className: "invisible inline-flex items-center gap-[inherit]", "aria-hidden": true, children }),
243
+ /* @__PURE__ */ jsx3("span", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx3(Spinner, { className: spinnerSizeMap[size != null ? size : "lg"] }) })
300
244
  ] }) : children
301
245
  })
302
246
  );
303
247
  }
304
248
 
249
+ // components/ui/alert.tsx
250
+ import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
251
+ var alertVariants = cva2(
252
+ "grid w-full rounded-sm",
253
+ {
254
+ variants: {
255
+ variant: {
256
+ default: "bg-prominent border border-border-subtle",
257
+ brand: "bg-primary",
258
+ info: "bg-semantic-info/10",
259
+ warning: "bg-semantic-warning/10",
260
+ danger: "bg-semantic-error/10",
261
+ success: "bg-semantic-win/10"
262
+ },
263
+ layout: {
264
+ // Inline is mobile-first: 3 columns × 2 rows so a long title can wrap and the
265
+ // action button drops below the body. At sm+ (640px) it collapses to a single
266
+ // row of 4 columns (icon · body · action · close).
267
+ inline: "grid-cols-[auto_1fr_auto] grid-rows-[auto_auto] items-start gap-x-3 gap-y-3 px-4 py-4 sm:grid-cols-[auto_1fr_auto_auto] sm:grid-rows-1",
268
+ card: "grid-cols-[auto_1fr_auto] grid-rows-[auto_auto] items-start gap-x-3 gap-y-2 px-4 py-4"
269
+ }
270
+ },
271
+ defaultVariants: {
272
+ variant: "info",
273
+ layout: "inline"
274
+ }
275
+ }
276
+ );
277
+ var SINGLE_LINE_CLASSES = "items-center min-h-12 py-2 gap-y-0";
278
+ var TITLE_CLASSES = {
279
+ default: "text-on-prominent",
280
+ brand: "text-on-primary",
281
+ info: "text-on-prominent",
282
+ warning: "text-on-prominent",
283
+ danger: "text-on-prominent",
284
+ success: "text-on-prominent"
285
+ };
286
+ var ICON_CLASSES = {
287
+ default: "text-on-prominent",
288
+ brand: "text-on-primary",
289
+ info: "text-semantic-info",
290
+ warning: "text-semantic-warning",
291
+ danger: "text-semantic-error",
292
+ success: "text-semantic-win"
293
+ };
294
+ var DESC_CLASSES = {
295
+ default: "text-on-subtle",
296
+ brand: "text-on-primary opacity-80",
297
+ info: "text-on-subtle",
298
+ warning: "text-on-subtle",
299
+ danger: "text-on-subtle",
300
+ success: "text-on-subtle"
301
+ };
302
+ var CLOSE_CLASSES = {
303
+ default: "text-on-subtle opacity-70",
304
+ brand: "text-on-primary opacity-70",
305
+ info: "text-on-subtle opacity-70",
306
+ warning: "text-on-subtle opacity-70",
307
+ danger: "text-on-subtle opacity-70",
308
+ success: "text-on-subtle opacity-70"
309
+ };
310
+ function defaultIconForVariant(variant) {
311
+ switch (variant) {
312
+ case "default":
313
+ return /* @__PURE__ */ jsx4(Info, {});
314
+ case "brand":
315
+ return /* @__PURE__ */ jsx4(Sparkles, {});
316
+ case "info":
317
+ return /* @__PURE__ */ jsx4(Info, {});
318
+ case "warning":
319
+ return /* @__PURE__ */ jsx4(AlertTriangle, {});
320
+ case "danger":
321
+ return /* @__PURE__ */ jsx4(XCircle, {});
322
+ case "success":
323
+ return /* @__PURE__ */ jsx4(CheckCircle2, {});
324
+ }
325
+ }
326
+ function actionButtonVariantFor(variant) {
327
+ return variant === "brand" ? "primary-inverse" : "secondary";
328
+ }
329
+ function Alert(_a) {
330
+ var _b = _a, {
331
+ variant = "info",
332
+ layout = "inline",
333
+ title,
334
+ description,
335
+ icon,
336
+ action,
337
+ actions,
338
+ onDismiss,
339
+ dismissLabel = "Dismiss",
340
+ className
341
+ } = _b, props = __objRest(_b, [
342
+ "variant",
343
+ "layout",
344
+ "title",
345
+ "description",
346
+ "icon",
347
+ "action",
348
+ "actions",
349
+ "onDismiss",
350
+ "dismissLabel",
351
+ "className"
352
+ ]);
353
+ if (!title && !description) {
354
+ if (process.env.NODE_ENV !== "production") {
355
+ console.warn(
356
+ "Alert: requires at least one of `title` or `description`. Rendering null."
357
+ );
358
+ }
359
+ return null;
360
+ }
361
+ const isInline = layout === "inline";
362
+ const isSingleLine = isInline && !(title && description);
363
+ const showIcon = icon !== null;
364
+ const resolvedIcon = icon === void 0 ? defaultIconForVariant(variant) : icon;
365
+ const showCloseButton = typeof onDismiss === "function";
366
+ const buttonVariant = actionButtonVariantFor(variant);
367
+ const isAssertive = variant === "danger" || variant === "warning";
368
+ const role = isAssertive ? "alert" : "status";
369
+ const ariaLive = isAssertive ? "assertive" : "polite";
370
+ if (process.env.NODE_ENV !== "production") {
371
+ if (isInline && actions && actions.length > 0) {
372
+ console.warn(
373
+ 'Alert: `actions` is ignored when layout="inline". Use `action` instead.'
374
+ );
375
+ }
376
+ if (!isInline && action) {
377
+ console.warn(
378
+ 'Alert: `action` is ignored when layout="card". Use `actions` instead.'
379
+ );
380
+ }
381
+ }
382
+ const body = /* @__PURE__ */ jsxs4("div", { className: "min-w-0", children: [
383
+ title ? /* @__PURE__ */ jsx4(
384
+ "p",
385
+ {
386
+ className: cn(
387
+ // Mobile-first: 13/11px scale so narrow viewports breathe. sm+ bumps to
388
+ // 14/12px which lines up with the rest of the design system's body sizes.
389
+ "text-[13px] font-semibold leading-snug sm:text-sm",
390
+ TITLE_CLASSES[variant],
391
+ description ? "mb-2" : "mb-0"
392
+ ),
393
+ children: title
394
+ }
395
+ ) : null,
396
+ description ? /* @__PURE__ */ jsx4(
397
+ "p",
398
+ {
399
+ className: cn(
400
+ "text-[11px] leading-snug m-0 sm:text-xs",
401
+ DESC_CLASSES[variant]
402
+ ),
403
+ children: description
404
+ }
405
+ ) : null
406
+ ] });
407
+ const closeButton = showCloseButton ? /* @__PURE__ */ jsx4(
408
+ "button",
409
+ {
410
+ type: "button",
411
+ onClick: onDismiss,
412
+ "aria-label": dismissLabel,
413
+ className: cn(
414
+ "inline-flex shrink-0 items-center justify-center rounded-xs size-6 cursor-pointer outline-none transition-opacity hover:opacity-100 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 [&_svg]:size-4 [&_svg]:pointer-events-none",
415
+ // tuck the close into the top-right corner for the multi-line cases
416
+ isSingleLine ? "" : "-mt-1 -mr-1",
417
+ CLOSE_CLASSES[variant]
418
+ ),
419
+ children: /* @__PURE__ */ jsx4(X, {})
420
+ }
421
+ ) : null;
422
+ const iconColumn = showIcon ? /* @__PURE__ */ jsx4(
423
+ "div",
424
+ {
425
+ "aria-hidden": true,
426
+ className: cn(
427
+ "inline-flex shrink-0 size-4 [&_svg]:size-full",
428
+ // 2px nudge (mt-0.5) aligns the 16px icon with the title cap-height
429
+ // in multi-line / card layouts. This is the one exception to the
430
+ // 8-point grid — required for optical typography alignment.
431
+ isSingleLine ? "" : "mt-0.5",
432
+ ICON_CLASSES[variant]
433
+ ),
434
+ children: resolvedIcon
435
+ }
436
+ ) : null;
437
+ if (isInline) {
438
+ return /* @__PURE__ */ jsxs4(
439
+ "div",
440
+ __spreadProps(__spreadValues({
441
+ role,
442
+ "aria-live": ariaLive,
443
+ "data-slot": "alert",
444
+ "data-variant": variant,
445
+ "data-layout": "inline",
446
+ className: cn(
447
+ alertVariants({ variant, layout }),
448
+ isSingleLine ? SINGLE_LINE_CLASSES : "",
449
+ className
450
+ )
451
+ }, props), {
452
+ children: [
453
+ iconColumn,
454
+ /* @__PURE__ */ jsx4("div", { className: "col-start-2 row-start-1 min-w-0", children: body }),
455
+ /* @__PURE__ */ jsx4("div", { className: "col-start-3 row-start-1 sm:col-start-4 sm:row-start-1", children: closeButton }),
456
+ action ? /* @__PURE__ */ jsx4("div", { className: "col-start-2 row-start-2 justify-self-start sm:col-start-3 sm:row-start-1 sm:self-center sm:justify-self-end", children: wrapAction(action, buttonVariant) }) : null
457
+ ]
458
+ })
459
+ );
460
+ }
461
+ return /* @__PURE__ */ jsxs4(
462
+ "div",
463
+ __spreadProps(__spreadValues({
464
+ role,
465
+ "aria-live": ariaLive,
466
+ "data-slot": "alert",
467
+ "data-variant": variant,
468
+ "data-layout": "card",
469
+ className: cn(
470
+ alertVariants({ variant, layout }),
471
+ className
472
+ )
473
+ }, props), {
474
+ children: [
475
+ iconColumn,
476
+ /* @__PURE__ */ jsx4("div", { className: "col-span-2 col-start-2 row-start-1", children: body }),
477
+ /* @__PURE__ */ jsx4("div", { className: "col-start-3 row-start-1", children: closeButton }),
478
+ actions && actions.length > 0 ? /* @__PURE__ */ jsx4("div", { className: "col-span-3 col-start-2 row-start-2 mt-2 flex flex-wrap items-center justify-start gap-2", children: actions.slice(0, 2).map((node, i) => /* @__PURE__ */ jsx4(React.Fragment, { children: wrapAction(node, buttonVariant) }, i)) }) : null
479
+ ]
480
+ })
481
+ );
482
+ }
483
+ function wrapAction(node, variant) {
484
+ if (React.isValidElement(node)) return node;
485
+ return /* @__PURE__ */ jsx4(Button, { variant, size: "sm", children: node });
486
+ }
487
+
305
488
  // components/ui/alert-dialog.tsx
306
- import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
489
+ import { AlertDialog as AlertDialogPrimitive } from "radix-ui";
490
+ import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
307
491
  function AlertDialog(_a) {
308
492
  var props = __objRest(_a, []);
309
493
  return /* @__PURE__ */ jsx5(AlertDialogPrimitive.Root, __spreadValues({ "data-slot": "alert-dialog" }, props));
@@ -341,7 +525,7 @@ function AlertDialogContent(_a) {
341
525
  "className",
342
526
  "size"
343
527
  ]);
344
- return /* @__PURE__ */ jsxs4(AlertDialogPortal, { children: [
528
+ return /* @__PURE__ */ jsxs5(AlertDialogPortal, { children: [
345
529
  /* @__PURE__ */ jsx5(AlertDialogOverlay, {}),
346
530
  /* @__PURE__ */ jsx5(
347
531
  AlertDialogPrimitive.Content,
@@ -649,7 +833,7 @@ function Badge(_a) {
649
833
  // components/ui/breadcrumb.tsx
650
834
  import { ChevronRight, MoreHorizontal } from "lucide-react";
651
835
  import { Slot as Slot3 } from "radix-ui";
652
- import { jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
836
+ import { jsx as jsx9, jsxs as jsxs6 } from "react/jsx-runtime";
653
837
  function Breadcrumb(_a) {
654
838
  var props = __objRest(_a, []);
655
839
  return /* @__PURE__ */ jsx9("nav", __spreadValues({ "aria-label": "breadcrumb", "data-slot": "breadcrumb" }, props));
@@ -733,7 +917,7 @@ function BreadcrumbEllipsis(_a) {
733
917
  } = _b, props = __objRest(_b, [
734
918
  "className"
735
919
  ]);
736
- return /* @__PURE__ */ jsxs5(
920
+ return /* @__PURE__ */ jsxs6(
737
921
  "span",
738
922
  __spreadProps(__spreadValues({
739
923
  "data-slot": "breadcrumb-ellipsis",
@@ -750,7 +934,7 @@ function BreadcrumbEllipsis(_a) {
750
934
  }
751
935
 
752
936
  // components/ui/calendar.tsx
753
- import * as React from "react";
937
+ import * as React2 from "react";
754
938
  import {
755
939
  ChevronDownIcon as ChevronDownIcon2,
756
940
  ChevronLeftIcon,
@@ -923,8 +1107,8 @@ function CalendarDayButton(_a) {
923
1107
  "modifiers"
924
1108
  ]);
925
1109
  const defaultClassNames = getDefaultClassNames();
926
- const ref = React.useRef(null);
927
- React.useEffect(() => {
1110
+ const ref = React2.useRef(null);
1111
+ React2.useEffect(() => {
928
1112
  var _a2;
929
1113
  if (modifiers.focused) (_a2 = ref.current) == null ? void 0 : _a2.focus();
930
1114
  }, [modifiers.focused]);
@@ -1032,13 +1216,13 @@ function CardFooter(_a) {
1032
1216
  }
1033
1217
 
1034
1218
  // components/ui/carousel.tsx
1035
- import * as React2 from "react";
1219
+ import * as React3 from "react";
1036
1220
  import useEmblaCarousel from "embla-carousel-react";
1037
1221
  import { ArrowLeft, ArrowRight } from "lucide-react";
1038
- import { jsx as jsx12, jsxs as jsxs6 } from "react/jsx-runtime";
1039
- var CarouselContext = React2.createContext(null);
1222
+ import { jsx as jsx12, jsxs as jsxs7 } from "react/jsx-runtime";
1223
+ var CarouselContext = React3.createContext(null);
1040
1224
  function useCarousel() {
1041
- const context = React2.useContext(CarouselContext);
1225
+ const context = React3.useContext(CarouselContext);
1042
1226
  if (!context) {
1043
1227
  throw new Error("useCarousel must be used within a <Carousel />");
1044
1228
  }
@@ -1066,20 +1250,20 @@ function Carousel(_a) {
1066
1250
  }),
1067
1251
  plugins
1068
1252
  );
1069
- const [canScrollPrev, setCanScrollPrev] = React2.useState(false);
1070
- const [canScrollNext, setCanScrollNext] = React2.useState(false);
1071
- const onSelect = React2.useCallback((api2) => {
1253
+ const [canScrollPrev, setCanScrollPrev] = React3.useState(false);
1254
+ const [canScrollNext, setCanScrollNext] = React3.useState(false);
1255
+ const onSelect = React3.useCallback((api2) => {
1072
1256
  if (!api2) return;
1073
1257
  setCanScrollPrev(api2.canScrollPrev());
1074
1258
  setCanScrollNext(api2.canScrollNext());
1075
1259
  }, []);
1076
- const scrollPrev = React2.useCallback(() => {
1260
+ const scrollPrev = React3.useCallback(() => {
1077
1261
  api == null ? void 0 : api.scrollPrev();
1078
1262
  }, [api]);
1079
- const scrollNext = React2.useCallback(() => {
1263
+ const scrollNext = React3.useCallback(() => {
1080
1264
  api == null ? void 0 : api.scrollNext();
1081
1265
  }, [api]);
1082
- const handleKeyDown = React2.useCallback(
1266
+ const handleKeyDown = React3.useCallback(
1083
1267
  (event) => {
1084
1268
  if (event.key === "ArrowLeft") {
1085
1269
  event.preventDefault();
@@ -1091,11 +1275,11 @@ function Carousel(_a) {
1091
1275
  },
1092
1276
  [scrollPrev, scrollNext]
1093
1277
  );
1094
- React2.useEffect(() => {
1278
+ React3.useEffect(() => {
1095
1279
  if (!api || !setApi) return;
1096
1280
  setApi(api);
1097
1281
  }, [api, setApi]);
1098
- React2.useEffect(() => {
1282
+ React3.useEffect(() => {
1099
1283
  if (!api) return;
1100
1284
  onSelect(api);
1101
1285
  api.on("reInit", onSelect);
@@ -1182,7 +1366,7 @@ function CarouselPrevious(_a) {
1182
1366
  "size"
1183
1367
  ]);
1184
1368
  const { orientation, scrollPrev, canScrollPrev } = useCarousel();
1185
- return /* @__PURE__ */ jsxs6(
1369
+ return /* @__PURE__ */ jsxs7(
1186
1370
  Button,
1187
1371
  __spreadProps(__spreadValues({
1188
1372
  "data-slot": "carousel-previous",
@@ -1214,7 +1398,7 @@ function CarouselNext(_a) {
1214
1398
  "size"
1215
1399
  ]);
1216
1400
  const { orientation, scrollNext, canScrollNext } = useCarousel();
1217
- return /* @__PURE__ */ jsxs6(
1401
+ return /* @__PURE__ */ jsxs7(
1218
1402
  Button,
1219
1403
  __spreadProps(__spreadValues({
1220
1404
  "data-slot": "carousel-next",
@@ -1237,13 +1421,13 @@ function CarouselNext(_a) {
1237
1421
  }
1238
1422
 
1239
1423
  // components/ui/chart.tsx
1240
- import * as React3 from "react";
1424
+ import * as React4 from "react";
1241
1425
  import * as RechartsPrimitive from "recharts";
1242
- import { Fragment as Fragment2, jsx as jsx13, jsxs as jsxs7 } from "react/jsx-runtime";
1426
+ import { Fragment as Fragment3, jsx as jsx13, jsxs as jsxs8 } from "react/jsx-runtime";
1243
1427
  var THEMES = { light: "" };
1244
- var ChartContext = React3.createContext(null);
1428
+ var ChartContext = React4.createContext(null);
1245
1429
  function useChart() {
1246
- const context = React3.useContext(ChartContext);
1430
+ const context = React4.useContext(ChartContext);
1247
1431
  if (!context) {
1248
1432
  throw new Error("useChart must be used within a <ChartContainer />");
1249
1433
  }
@@ -1261,9 +1445,9 @@ function ChartContainer(_a) {
1261
1445
  "children",
1262
1446
  "config"
1263
1447
  ]);
1264
- const uniqueId = React3.useId();
1448
+ const uniqueId = React4.useId();
1265
1449
  const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
1266
- return /* @__PURE__ */ jsx13(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs7(
1450
+ return /* @__PURE__ */ jsx13(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs8(
1267
1451
  "div",
1268
1452
  __spreadProps(__spreadValues({
1269
1453
  "data-slot": "chart",
@@ -1323,7 +1507,7 @@ function ChartTooltipContent({
1323
1507
  labelKey
1324
1508
  }) {
1325
1509
  const { config } = useChart();
1326
- const tooltipLabel = React3.useMemo(() => {
1510
+ const tooltipLabel = React4.useMemo(() => {
1327
1511
  var _a;
1328
1512
  if (hideLabel || !(payload == null ? void 0 : payload.length)) {
1329
1513
  return null;
@@ -1352,7 +1536,7 @@ function ChartTooltipContent({
1352
1536
  return null;
1353
1537
  }
1354
1538
  const nestLabel = payload.length === 1 && indicator !== "dot";
1355
- return /* @__PURE__ */ jsxs7(
1539
+ return /* @__PURE__ */ jsxs8(
1356
1540
  "div",
1357
1541
  {
1358
1542
  className: cn(
@@ -1372,7 +1556,7 @@ function ChartTooltipContent({
1372
1556
  "flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-on-subtle",
1373
1557
  indicator === "dot" && "items-center"
1374
1558
  ),
1375
- children: formatter && (item == null ? void 0 : item.value) !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxs7(Fragment2, { children: [
1559
+ children: formatter && (item == null ? void 0 : item.value) !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxs8(Fragment3, { children: [
1376
1560
  (itemConfig == null ? void 0 : itemConfig.icon) ? /* @__PURE__ */ jsx13(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ jsx13(
1377
1561
  "div",
1378
1562
  {
@@ -1391,7 +1575,7 @@ function ChartTooltipContent({
1391
1575
  }
1392
1576
  }
1393
1577
  ),
1394
- /* @__PURE__ */ jsxs7(
1578
+ /* @__PURE__ */ jsxs8(
1395
1579
  "div",
1396
1580
  {
1397
1581
  className: cn(
@@ -1399,7 +1583,7 @@ function ChartTooltipContent({
1399
1583
  nestLabel ? "items-end" : "items-center"
1400
1584
  ),
1401
1585
  children: [
1402
- /* @__PURE__ */ jsxs7("div", { className: "grid gap-1.5", children: [
1586
+ /* @__PURE__ */ jsxs8("div", { className: "grid gap-1.5", children: [
1403
1587
  nestLabel ? tooltipLabel : null,
1404
1588
  /* @__PURE__ */ jsx13("span", { className: "text-on-subtle", children: (itemConfig == null ? void 0 : itemConfig.label) || item.name })
1405
1589
  ] }),
@@ -1439,7 +1623,7 @@ function ChartLegendContent({
1439
1623
  children: payload.filter((item) => item.type !== "none").map((item) => {
1440
1624
  const key = `${nameKey || item.dataKey || "value"}`;
1441
1625
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
1442
- return /* @__PURE__ */ jsxs7(
1626
+ return /* @__PURE__ */ jsxs8(
1443
1627
  "div",
1444
1628
  {
1445
1629
  className: cn(
@@ -1536,12 +1720,12 @@ function CollapsibleContent(_a) {
1536
1720
  }
1537
1721
 
1538
1722
  // components/ui/combobox.tsx
1539
- import * as React5 from "react";
1723
+ import * as React6 from "react";
1540
1724
  import { Combobox as ComboboxPrimitive } from "@base-ui/react";
1541
1725
  import { CheckIcon as CheckIcon2, ChevronDownIcon as ChevronDownIcon3, XIcon } from "lucide-react";
1542
1726
 
1543
1727
  // components/ui/input-group.tsx
1544
- import * as React4 from "react";
1728
+ import * as React5 from "react";
1545
1729
  import { cva as cva5 } from "class-variance-authority";
1546
1730
 
1547
1731
  // components/ui/input.tsx
@@ -1609,7 +1793,7 @@ function Textarea(_a) {
1609
1793
 
1610
1794
  // components/ui/input-group.tsx
1611
1795
  import { jsx as jsx18 } from "react/jsx-runtime";
1612
- var InputGroupSizeContext = React4.createContext("md");
1796
+ var InputGroupSizeContext = React5.createContext("md");
1613
1797
  var inputGroupVariants = cva5(
1614
1798
  [
1615
1799
  "group/input-group relative flex w-full items-center rounded-sm border border-border-subtle bg-white/5",
@@ -1771,7 +1955,7 @@ function InputGroupInput(_a) {
1771
1955
  "className",
1772
1956
  "size"
1773
1957
  ]);
1774
- const groupSize = React4.useContext(InputGroupSizeContext);
1958
+ const groupSize = React5.useContext(InputGroupSizeContext);
1775
1959
  const size = sizeProp != null ? sizeProp : groupSize;
1776
1960
  return /* @__PURE__ */ jsx18(
1777
1961
  Input,
@@ -1804,7 +1988,7 @@ function InputGroupTextarea(_a) {
1804
1988
  }
1805
1989
 
1806
1990
  // components/ui/combobox.tsx
1807
- import { jsx as jsx19, jsxs as jsxs8 } from "react/jsx-runtime";
1991
+ import { jsx as jsx19, jsxs as jsxs9 } from "react/jsx-runtime";
1808
1992
  var Combobox = ComboboxPrimitive.Root;
1809
1993
  function ComboboxValue(_a) {
1810
1994
  var props = __objRest(_a, []);
@@ -1818,7 +2002,7 @@ function ComboboxTrigger(_a) {
1818
2002
  "className",
1819
2003
  "children"
1820
2004
  ]);
1821
- return /* @__PURE__ */ jsxs8(
2005
+ return /* @__PURE__ */ jsxs9(
1822
2006
  ComboboxPrimitive.Trigger,
1823
2007
  __spreadProps(__spreadValues({
1824
2008
  "data-slot": "combobox-trigger",
@@ -1864,14 +2048,14 @@ function ComboboxInput(_a) {
1864
2048
  "showTrigger",
1865
2049
  "showClear"
1866
2050
  ]);
1867
- return /* @__PURE__ */ jsxs8(InputGroup, { className: cn("w-auto", className), children: [
2051
+ return /* @__PURE__ */ jsxs9(InputGroup, { className: cn("w-auto", className), children: [
1868
2052
  /* @__PURE__ */ jsx19(
1869
2053
  ComboboxPrimitive.Input,
1870
2054
  __spreadValues({
1871
2055
  render: /* @__PURE__ */ jsx19(InputGroupInput, { disabled })
1872
2056
  }, props)
1873
2057
  ),
1874
- /* @__PURE__ */ jsxs8(InputGroupAddon, { align: "inline-end", children: [
2058
+ /* @__PURE__ */ jsxs9(InputGroupAddon, { align: "inline-end", children: [
1875
2059
  showTrigger && /* @__PURE__ */ jsx19(
1876
2060
  InputGroupButton,
1877
2061
  {
@@ -1949,7 +2133,7 @@ function ComboboxItem(_a) {
1949
2133
  "className",
1950
2134
  "children"
1951
2135
  ]);
1952
- return /* @__PURE__ */ jsxs8(
2136
+ return /* @__PURE__ */ jsxs9(
1953
2137
  ComboboxPrimitive.Item,
1954
2138
  __spreadProps(__spreadValues({
1955
2139
  "data-slot": "combobox-item",
@@ -2057,7 +2241,7 @@ function ComboboxChip(_a) {
2057
2241
  "children",
2058
2242
  "showRemove"
2059
2243
  ]);
2060
- return /* @__PURE__ */ jsxs8(
2244
+ return /* @__PURE__ */ jsxs9(
2061
2245
  ComboboxPrimitive.Chip,
2062
2246
  __spreadProps(__spreadValues({
2063
2247
  "data-slot": "combobox-chip",
@@ -2098,7 +2282,7 @@ function ComboboxChipsInput(_a) {
2098
2282
  );
2099
2283
  }
2100
2284
  function useComboboxAnchor() {
2101
- return React5.useRef(null);
2285
+ return React6.useRef(null);
2102
2286
  }
2103
2287
 
2104
2288
  // components/ui/command.tsx
@@ -2108,7 +2292,7 @@ import { SearchIcon } from "lucide-react";
2108
2292
  // components/ui/dialog.tsx
2109
2293
  import { XIcon as XIcon2 } from "lucide-react";
2110
2294
  import { Dialog as DialogPrimitive } from "radix-ui";
2111
- import { jsx as jsx20, jsxs as jsxs9 } from "react/jsx-runtime";
2295
+ import { jsx as jsx20, jsxs as jsxs10 } from "react/jsx-runtime";
2112
2296
  function Dialog(_a) {
2113
2297
  var props = __objRest(_a, []);
2114
2298
  return /* @__PURE__ */ jsx20(DialogPrimitive.Root, __spreadValues({ "data-slot": "dialog" }, props));
@@ -2152,9 +2336,9 @@ function DialogContent(_a) {
2152
2336
  "children",
2153
2337
  "showCloseButton"
2154
2338
  ]);
2155
- return /* @__PURE__ */ jsxs9(DialogPortal, { "data-slot": "dialog-portal", children: [
2339
+ return /* @__PURE__ */ jsxs10(DialogPortal, { "data-slot": "dialog-portal", children: [
2156
2340
  /* @__PURE__ */ jsx20(DialogOverlay, {}),
2157
- /* @__PURE__ */ jsxs9(
2341
+ /* @__PURE__ */ jsxs10(
2158
2342
  DialogPrimitive.Content,
2159
2343
  __spreadProps(__spreadValues({
2160
2344
  "data-slot": "dialog-content",
@@ -2165,7 +2349,7 @@ function DialogContent(_a) {
2165
2349
  }, props), {
2166
2350
  children: [
2167
2351
  children,
2168
- showCloseButton && /* @__PURE__ */ jsxs9(
2352
+ showCloseButton && /* @__PURE__ */ jsxs10(
2169
2353
  DialogPrimitive.Close,
2170
2354
  {
2171
2355
  "data-slot": "dialog-close",
@@ -2201,7 +2385,7 @@ function DialogFooter(_a) {
2201
2385
  "showCloseButton",
2202
2386
  "children"
2203
2387
  ]);
2204
- return /* @__PURE__ */ jsxs9(
2388
+ return /* @__PURE__ */ jsxs10(
2205
2389
  "div",
2206
2390
  __spreadProps(__spreadValues({
2207
2391
  "data-slot": "dialog-footer",
@@ -2247,7 +2431,7 @@ function DialogDescription(_a) {
2247
2431
  }
2248
2432
 
2249
2433
  // components/ui/command.tsx
2250
- import { jsx as jsx21, jsxs as jsxs10 } from "react/jsx-runtime";
2434
+ import { jsx as jsx21, jsxs as jsxs11 } from "react/jsx-runtime";
2251
2435
  function Command(_a) {
2252
2436
  var _b = _a, {
2253
2437
  className
@@ -2279,8 +2463,8 @@ function CommandDialog(_a) {
2279
2463
  "className",
2280
2464
  "showCloseButton"
2281
2465
  ]);
2282
- return /* @__PURE__ */ jsxs10(Dialog, __spreadProps(__spreadValues({}, props), { children: [
2283
- /* @__PURE__ */ jsxs10(DialogHeader, { className: "sr-only", children: [
2466
+ return /* @__PURE__ */ jsxs11(Dialog, __spreadProps(__spreadValues({}, props), { children: [
2467
+ /* @__PURE__ */ jsxs11(DialogHeader, { className: "sr-only", children: [
2284
2468
  /* @__PURE__ */ jsx21(DialogTitle, { children: title }),
2285
2469
  /* @__PURE__ */ jsx21(DialogDescription, { children: description })
2286
2470
  ] }),
@@ -2300,7 +2484,7 @@ function CommandInput(_a) {
2300
2484
  } = _b, props = __objRest(_b, [
2301
2485
  "className"
2302
2486
  ]);
2303
- return /* @__PURE__ */ jsxs10(
2487
+ return /* @__PURE__ */ jsxs11(
2304
2488
  "div",
2305
2489
  {
2306
2490
  "data-slot": "command-input-wrapper",
@@ -2417,7 +2601,7 @@ function CommandShortcut(_a) {
2417
2601
  // components/ui/context-menu.tsx
2418
2602
  import { CheckIcon as CheckIcon3, ChevronRightIcon as ChevronRightIcon2, CircleIcon } from "lucide-react";
2419
2603
  import { ContextMenu as ContextMenuPrimitive } from "radix-ui";
2420
- import { jsx as jsx22, jsxs as jsxs11 } from "react/jsx-runtime";
2604
+ import { jsx as jsx22, jsxs as jsxs12 } from "react/jsx-runtime";
2421
2605
  function ContextMenu(_a) {
2422
2606
  var props = __objRest(_a, []);
2423
2607
  return /* @__PURE__ */ jsx22(ContextMenuPrimitive.Root, __spreadValues({ "data-slot": "context-menu" }, props));
@@ -2457,7 +2641,7 @@ function ContextMenuSubTrigger(_a) {
2457
2641
  "inset",
2458
2642
  "children"
2459
2643
  ]);
2460
- return /* @__PURE__ */ jsxs11(
2644
+ return /* @__PURE__ */ jsxs12(
2461
2645
  ContextMenuPrimitive.SubTrigger,
2462
2646
  __spreadProps(__spreadValues({
2463
2647
  "data-slot": "context-menu-sub-trigger",
@@ -2541,7 +2725,7 @@ function ContextMenuCheckboxItem(_a) {
2541
2725
  "children",
2542
2726
  "checked"
2543
2727
  ]);
2544
- return /* @__PURE__ */ jsxs11(
2728
+ return /* @__PURE__ */ jsxs12(
2545
2729
  ContextMenuPrimitive.CheckboxItem,
2546
2730
  __spreadProps(__spreadValues({
2547
2731
  "data-slot": "context-menu-checkbox-item",
@@ -2566,7 +2750,7 @@ function ContextMenuRadioItem(_a) {
2566
2750
  "className",
2567
2751
  "children"
2568
2752
  ]);
2569
- return /* @__PURE__ */ jsxs11(
2753
+ return /* @__PURE__ */ jsxs12(
2570
2754
  ContextMenuPrimitive.RadioItem,
2571
2755
  __spreadProps(__spreadValues({
2572
2756
  "data-slot": "context-menu-radio-item",
@@ -2648,7 +2832,7 @@ var useDirection = Direction.useDirection;
2648
2832
 
2649
2833
  // components/ui/drawer.tsx
2650
2834
  import { Drawer as DrawerPrimitive } from "vaul";
2651
- import { jsx as jsx24, jsxs as jsxs12 } from "react/jsx-runtime";
2835
+ import { jsx as jsx24, jsxs as jsxs13 } from "react/jsx-runtime";
2652
2836
  function Drawer(_a) {
2653
2837
  var props = __objRest(_a, []);
2654
2838
  return /* @__PURE__ */ jsx24(DrawerPrimitive.Root, __spreadValues({ "data-slot": "drawer" }, props));
@@ -2690,9 +2874,9 @@ function DrawerContent(_a) {
2690
2874
  "className",
2691
2875
  "children"
2692
2876
  ]);
2693
- return /* @__PURE__ */ jsxs12(DrawerPortal, { "data-slot": "drawer-portal", children: [
2877
+ return /* @__PURE__ */ jsxs13(DrawerPortal, { "data-slot": "drawer-portal", children: [
2694
2878
  /* @__PURE__ */ jsx24(DrawerOverlay, {}),
2695
- /* @__PURE__ */ jsxs12(
2879
+ /* @__PURE__ */ jsxs13(
2696
2880
  DrawerPrimitive.Content,
2697
2881
  __spreadProps(__spreadValues({
2698
2882
  "data-slot": "drawer-content",
@@ -2768,7 +2952,7 @@ function DrawerDescription(_a) {
2768
2952
  // components/ui/dropdown-menu.tsx
2769
2953
  import { CheckIcon as CheckIcon4, ChevronRightIcon as ChevronRightIcon3, CircleIcon as CircleIcon2 } from "lucide-react";
2770
2954
  import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
2771
- import { jsx as jsx25, jsxs as jsxs13 } from "react/jsx-runtime";
2955
+ import { jsx as jsx25, jsxs as jsxs14 } from "react/jsx-runtime";
2772
2956
  function DropdownMenu(_a) {
2773
2957
  var props = __objRest(_a, []);
2774
2958
  return /* @__PURE__ */ jsx25(DropdownMenuPrimitive.Root, __spreadValues({ "data-slot": "dropdown-menu" }, props));
@@ -2843,7 +3027,7 @@ function DropdownMenuCheckboxItem(_a) {
2843
3027
  "children",
2844
3028
  "checked"
2845
3029
  ]);
2846
- return /* @__PURE__ */ jsxs13(
3030
+ return /* @__PURE__ */ jsxs14(
2847
3031
  DropdownMenuPrimitive.CheckboxItem,
2848
3032
  __spreadProps(__spreadValues({
2849
3033
  "data-slot": "dropdown-menu-checkbox-item",
@@ -2877,7 +3061,7 @@ function DropdownMenuRadioItem(_a) {
2877
3061
  "className",
2878
3062
  "children"
2879
3063
  ]);
2880
- return /* @__PURE__ */ jsxs13(
3064
+ return /* @__PURE__ */ jsxs14(
2881
3065
  DropdownMenuPrimitive.RadioItem,
2882
3066
  __spreadProps(__spreadValues({
2883
3067
  "data-slot": "dropdown-menu-radio-item",
@@ -2958,7 +3142,7 @@ function DropdownMenuSubTrigger(_a) {
2958
3142
  "inset",
2959
3143
  "children"
2960
3144
  ]);
2961
- return /* @__PURE__ */ jsxs13(
3145
+ return /* @__PURE__ */ jsxs14(
2962
3146
  DropdownMenuPrimitive.SubTrigger,
2963
3147
  __spreadProps(__spreadValues({
2964
3148
  "data-slot": "dropdown-menu-sub-trigger",
@@ -3143,7 +3327,7 @@ function Separator(_a) {
3143
3327
  }
3144
3328
 
3145
3329
  // components/ui/field.tsx
3146
- import { jsx as jsx29, jsxs as jsxs14 } from "react/jsx-runtime";
3330
+ import { jsx as jsx29, jsxs as jsxs15 } from "react/jsx-runtime";
3147
3331
  function FieldSet(_a) {
3148
3332
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3149
3333
  return /* @__PURE__ */ jsx29(
@@ -3302,7 +3486,7 @@ function FieldSeparator(_a) {
3302
3486
  "children",
3303
3487
  "className"
3304
3488
  ]);
3305
- return /* @__PURE__ */ jsxs14(
3489
+ return /* @__PURE__ */ jsxs15(
3306
3490
  "div",
3307
3491
  __spreadProps(__spreadValues({
3308
3492
  "data-slot": "field-separator",
@@ -3370,7 +3554,7 @@ function FieldError(_a) {
3370
3554
  }
3371
3555
 
3372
3556
  // components/ui/form.tsx
3373
- import * as React6 from "react";
3557
+ import * as React7 from "react";
3374
3558
  import { Slot as Slot4 } from "radix-ui";
3375
3559
  import {
3376
3560
  Controller,
@@ -3380,7 +3564,7 @@ import {
3380
3564
  } from "react-hook-form";
3381
3565
  import { jsx as jsx30 } from "react/jsx-runtime";
3382
3566
  var Form = FormProvider;
3383
- var FormFieldContext = React6.createContext(
3567
+ var FormFieldContext = React7.createContext(
3384
3568
  {}
3385
3569
  );
3386
3570
  var FormField = (_a) => {
@@ -3388,8 +3572,8 @@ var FormField = (_a) => {
3388
3572
  return /* @__PURE__ */ jsx30(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx30(Controller, __spreadValues({}, props)) });
3389
3573
  };
3390
3574
  var useFormField = () => {
3391
- const fieldContext = React6.useContext(FormFieldContext);
3392
- const itemContext = React6.useContext(FormItemContext);
3575
+ const fieldContext = React7.useContext(FormFieldContext);
3576
+ const itemContext = React7.useContext(FormItemContext);
3393
3577
  const { getFieldState } = useFormContext();
3394
3578
  const formState = useFormState({ name: fieldContext.name });
3395
3579
  const fieldState = getFieldState(fieldContext.name, formState);
@@ -3405,12 +3589,12 @@ var useFormField = () => {
3405
3589
  formMessageId: `${id}-form-item-message`
3406
3590
  }, fieldState);
3407
3591
  };
3408
- var FormItemContext = React6.createContext(
3592
+ var FormItemContext = React7.createContext(
3409
3593
  {}
3410
3594
  );
3411
3595
  function FormItem(_a) {
3412
3596
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3413
- const id = React6.useId();
3597
+ const id = React7.useId();
3414
3598
  return /* @__PURE__ */ jsx30(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx30(
3415
3599
  "div",
3416
3600
  __spreadValues({
@@ -3517,10 +3701,10 @@ function HoverCardContent(_a) {
3517
3701
  }
3518
3702
 
3519
3703
  // components/ui/input-otp.tsx
3520
- import * as React7 from "react";
3704
+ import * as React8 from "react";
3521
3705
  import { OTPInput, OTPInputContext } from "input-otp";
3522
3706
  import { MinusIcon } from "lucide-react";
3523
- import { jsx as jsx32, jsxs as jsxs15 } from "react/jsx-runtime";
3707
+ import { jsx as jsx32, jsxs as jsxs16 } from "react/jsx-runtime";
3524
3708
  function InputOTP(_a) {
3525
3709
  var _b = _a, {
3526
3710
  className,
@@ -3560,9 +3744,9 @@ function InputOTPSlot(_a) {
3560
3744
  "className"
3561
3745
  ]);
3562
3746
  var _a2;
3563
- const inputOTPContext = React7.useContext(OTPInputContext);
3747
+ const inputOTPContext = React8.useContext(OTPInputContext);
3564
3748
  const { char, hasFakeCaret, isActive } = (_a2 = inputOTPContext == null ? void 0 : inputOTPContext.slots[index]) != null ? _a2 : {};
3565
- return /* @__PURE__ */ jsxs15(
3749
+ return /* @__PURE__ */ jsxs16(
3566
3750
  "div",
3567
3751
  __spreadProps(__spreadValues({
3568
3752
  "data-slot": "input-otp-slot",
@@ -3837,7 +4021,7 @@ function Link(_a) {
3837
4021
  // components/ui/menubar.tsx
3838
4022
  import { CheckIcon as CheckIcon5, ChevronRightIcon as ChevronRightIcon4, CircleIcon as CircleIcon3 } from "lucide-react";
3839
4023
  import { Menubar as MenubarPrimitive } from "radix-ui";
3840
- import { jsx as jsx36, jsxs as jsxs16 } from "react/jsx-runtime";
4024
+ import { jsx as jsx36, jsxs as jsxs17 } from "react/jsx-runtime";
3841
4025
  function Menubar(_a) {
3842
4026
  var _b = _a, {
3843
4027
  className
@@ -3947,7 +4131,7 @@ function MenubarCheckboxItem(_a) {
3947
4131
  "children",
3948
4132
  "checked"
3949
4133
  ]);
3950
- return /* @__PURE__ */ jsxs16(
4134
+ return /* @__PURE__ */ jsxs17(
3951
4135
  MenubarPrimitive.CheckboxItem,
3952
4136
  __spreadProps(__spreadValues({
3953
4137
  "data-slot": "menubar-checkbox-item",
@@ -3972,7 +4156,7 @@ function MenubarRadioItem(_a) {
3972
4156
  "className",
3973
4157
  "children"
3974
4158
  ]);
3975
- return /* @__PURE__ */ jsxs16(
4159
+ return /* @__PURE__ */ jsxs17(
3976
4160
  MenubarPrimitive.RadioItem,
3977
4161
  __spreadProps(__spreadValues({
3978
4162
  "data-slot": "menubar-radio-item",
@@ -4053,7 +4237,7 @@ function MenubarSubTrigger(_a) {
4053
4237
  "inset",
4054
4238
  "children"
4055
4239
  ]);
4056
- return /* @__PURE__ */ jsxs16(
4240
+ return /* @__PURE__ */ jsxs17(
4057
4241
  MenubarPrimitive.SubTrigger,
4058
4242
  __spreadProps(__spreadValues({
4059
4243
  "data-slot": "menubar-sub-trigger",
@@ -4090,7 +4274,7 @@ function MenubarSubContent(_a) {
4090
4274
 
4091
4275
  // components/ui/native-select.tsx
4092
4276
  import { ChevronDownIcon as ChevronDownIcon4 } from "lucide-react";
4093
- import { jsx as jsx37, jsxs as jsxs17 } from "react/jsx-runtime";
4277
+ import { jsx as jsx37, jsxs as jsxs18 } from "react/jsx-runtime";
4094
4278
  function NativeSelect(_a) {
4095
4279
  var _b = _a, {
4096
4280
  className,
@@ -4099,7 +4283,7 @@ function NativeSelect(_a) {
4099
4283
  "className",
4100
4284
  "size"
4101
4285
  ]);
4102
- return /* @__PURE__ */ jsxs17(
4286
+ return /* @__PURE__ */ jsxs18(
4103
4287
  "div",
4104
4288
  {
4105
4289
  className: "group/native-select relative w-fit has-[select:disabled]:opacity-50",
@@ -4197,7 +4381,7 @@ function NavigationButton(_a) {
4197
4381
  import { cva as cva11 } from "class-variance-authority";
4198
4382
  import { ChevronDownIcon as ChevronDownIcon5 } from "lucide-react";
4199
4383
  import { NavigationMenu as NavigationMenuPrimitive } from "radix-ui";
4200
- import { jsx as jsx39, jsxs as jsxs18 } from "react/jsx-runtime";
4384
+ import { jsx as jsx39, jsxs as jsxs19 } from "react/jsx-runtime";
4201
4385
  function NavigationMenu(_a) {
4202
4386
  var _b = _a, {
4203
4387
  className,
@@ -4208,7 +4392,7 @@ function NavigationMenu(_a) {
4208
4392
  "children",
4209
4393
  "viewport"
4210
4394
  ]);
4211
- return /* @__PURE__ */ jsxs18(
4395
+ return /* @__PURE__ */ jsxs19(
4212
4396
  NavigationMenuPrimitive.Root,
4213
4397
  __spreadProps(__spreadValues({
4214
4398
  "data-slot": "navigation-menu",
@@ -4267,7 +4451,7 @@ function NavigationMenuTrigger(_a) {
4267
4451
  "className",
4268
4452
  "children"
4269
4453
  ]);
4270
- return /* @__PURE__ */ jsxs18(
4454
+ return /* @__PURE__ */ jsxs19(
4271
4455
  NavigationMenuPrimitive.Trigger,
4272
4456
  __spreadProps(__spreadValues({
4273
4457
  "data-slot": "navigation-menu-trigger",
@@ -4373,7 +4557,7 @@ import {
4373
4557
  ChevronRightIcon as ChevronRightIcon5,
4374
4558
  MoreHorizontalIcon
4375
4559
  } from "lucide-react";
4376
- import { jsx as jsx40, jsxs as jsxs19 } from "react/jsx-runtime";
4560
+ import { jsx as jsx40, jsxs as jsxs20 } from "react/jsx-runtime";
4377
4561
  function Pagination(_a) {
4378
4562
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4379
4563
  return /* @__PURE__ */ jsx40(
@@ -4450,7 +4634,7 @@ function PaginationEllipsis(_a) {
4450
4634
  } = _b, props = __objRest(_b, [
4451
4635
  "className"
4452
4636
  ]);
4453
- return /* @__PURE__ */ jsxs19(
4637
+ return /* @__PURE__ */ jsxs20(
4454
4638
  "span",
4455
4639
  __spreadProps(__spreadValues({
4456
4640
  "aria-hidden": true,
@@ -4664,7 +4848,7 @@ function ResizableHandle(_a) {
4664
4848
 
4665
4849
  // components/ui/scroll-area.tsx
4666
4850
  import { ScrollArea as ScrollAreaPrimitive } from "radix-ui";
4667
- import { jsx as jsx45, jsxs as jsxs20 } from "react/jsx-runtime";
4851
+ import { jsx as jsx45, jsxs as jsxs21 } from "react/jsx-runtime";
4668
4852
  function ScrollArea(_a) {
4669
4853
  var _b = _a, {
4670
4854
  className,
@@ -4673,7 +4857,7 @@ function ScrollArea(_a) {
4673
4857
  "className",
4674
4858
  "children"
4675
4859
  ]);
4676
- return /* @__PURE__ */ jsxs20(
4860
+ return /* @__PURE__ */ jsxs21(
4677
4861
  ScrollAreaPrimitive.Root,
4678
4862
  __spreadProps(__spreadValues({
4679
4863
  "data-slot": "scroll-area",
@@ -4728,7 +4912,7 @@ function ScrollBar(_a) {
4728
4912
  // components/ui/select.tsx
4729
4913
  import { CheckIcon as CheckIcon6, ChevronDownIcon as ChevronDownIcon6, ChevronUpIcon } from "lucide-react";
4730
4914
  import { Select as SelectPrimitive } from "radix-ui";
4731
- import { jsx as jsx46, jsxs as jsxs21 } from "react/jsx-runtime";
4915
+ import { jsx as jsx46, jsxs as jsxs22 } from "react/jsx-runtime";
4732
4916
  function Select(_a) {
4733
4917
  var props = __objRest(_a, []);
4734
4918
  return /* @__PURE__ */ jsx46(SelectPrimitive.Root, __spreadValues({ "data-slot": "select" }, props));
@@ -4753,7 +4937,7 @@ function SelectTrigger(_a) {
4753
4937
  "readOnly",
4754
4938
  "children"
4755
4939
  ]);
4756
- return /* @__PURE__ */ jsxs21(
4940
+ return /* @__PURE__ */ jsxs22(
4757
4941
  SelectPrimitive.Trigger,
4758
4942
  __spreadProps(__spreadValues({
4759
4943
  "data-slot": "select-trigger",
@@ -4784,7 +4968,7 @@ function SelectContent(_a) {
4784
4968
  "position",
4785
4969
  "align"
4786
4970
  ]);
4787
- return /* @__PURE__ */ jsx46(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs21(
4971
+ return /* @__PURE__ */ jsx46(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs22(
4788
4972
  SelectPrimitive.Content,
4789
4973
  __spreadProps(__spreadValues({
4790
4974
  "data-slot": "select-content",
@@ -4835,7 +5019,7 @@ function SelectItem(_a) {
4835
5019
  "className",
4836
5020
  "children"
4837
5021
  ]);
4838
- return /* @__PURE__ */ jsxs21(
5022
+ return /* @__PURE__ */ jsxs22(
4839
5023
  SelectPrimitive.Item,
4840
5024
  __spreadProps(__spreadValues({
4841
5025
  "data-slot": "select-item",
@@ -4914,7 +5098,7 @@ function SelectScrollDownButton(_a) {
4914
5098
  // components/ui/sheet.tsx
4915
5099
  import { XIcon as XIcon3 } from "lucide-react";
4916
5100
  import { Dialog as SheetPrimitive } from "radix-ui";
4917
- import { jsx as jsx47, jsxs as jsxs22 } from "react/jsx-runtime";
5101
+ import { jsx as jsx47, jsxs as jsxs23 } from "react/jsx-runtime";
4918
5102
  function Sheet(_a) {
4919
5103
  var props = __objRest(_a, []);
4920
5104
  return /* @__PURE__ */ jsx47(SheetPrimitive.Root, __spreadValues({ "data-slot": "sheet" }, props));
@@ -4960,9 +5144,9 @@ function SheetContent(_a) {
4960
5144
  "side",
4961
5145
  "showCloseButton"
4962
5146
  ]);
4963
- return /* @__PURE__ */ jsxs22(SheetPortal, { children: [
5147
+ return /* @__PURE__ */ jsxs23(SheetPortal, { children: [
4964
5148
  /* @__PURE__ */ jsx47(SheetOverlay, {}),
4965
- /* @__PURE__ */ jsxs22(
5149
+ /* @__PURE__ */ jsxs23(
4966
5150
  SheetPrimitive.Content,
4967
5151
  __spreadProps(__spreadValues({
4968
5152
  "data-slot": "sheet-content",
@@ -4977,7 +5161,7 @@ function SheetContent(_a) {
4977
5161
  }, props), {
4978
5162
  children: [
4979
5163
  children,
4980
- showCloseButton && /* @__PURE__ */ jsxs22(SheetPrimitive.Close, { className: "absolute top-4 right-4 rounded-xs opacity-70 ring-offset-prominent transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
5164
+ showCloseButton && /* @__PURE__ */ jsxs23(SheetPrimitive.Close, { className: "absolute top-4 right-4 rounded-xs opacity-70 ring-offset-prominent transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
4981
5165
  /* @__PURE__ */ jsx47(XIcon3, { className: "size-4" }),
4982
5166
  /* @__PURE__ */ jsx47("span", { className: "sr-only", children: "Close" })
4983
5167
  ] })
@@ -5036,17 +5220,17 @@ function SheetDescription(_a) {
5036
5220
  }
5037
5221
 
5038
5222
  // components/ui/sidebar.tsx
5039
- import * as React10 from "react";
5223
+ import * as React11 from "react";
5040
5224
  import { cva as cva12 } from "class-variance-authority";
5041
5225
  import { PanelLeftIcon } from "lucide-react";
5042
5226
  import { Slot as Slot8 } from "radix-ui";
5043
5227
 
5044
5228
  // hooks/use-mobile.ts
5045
- import * as React8 from "react";
5229
+ import * as React9 from "react";
5046
5230
  var MOBILE_BREAKPOINT = 768;
5047
5231
  function useIsMobile() {
5048
- const [isMobile, setIsMobile] = React8.useState(void 0);
5049
- React8.useEffect(() => {
5232
+ const [isMobile, setIsMobile] = React9.useState(void 0);
5233
+ React9.useEffect(() => {
5050
5234
  const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
5051
5235
  const onChange = () => {
5052
5236
  setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
@@ -5072,10 +5256,10 @@ function Skeleton(_a) {
5072
5256
  }
5073
5257
 
5074
5258
  // components/ui/tooltip.tsx
5075
- import * as React9 from "react";
5259
+ import * as React10 from "react";
5076
5260
  import { Tooltip as TooltipPrimitive } from "radix-ui";
5077
- import { jsx as jsx49, jsxs as jsxs23 } from "react/jsx-runtime";
5078
- var TooltipModeContext = React9.createContext("tooltip");
5261
+ import { jsx as jsx49, jsxs as jsxs24 } from "react/jsx-runtime";
5262
+ var TooltipModeContext = React10.createContext("tooltip");
5079
5263
  function TooltipProvider(_a) {
5080
5264
  var _b = _a, {
5081
5265
  delayDuration = 0
@@ -5109,7 +5293,7 @@ function TooltipTrigger(_a) {
5109
5293
  } = _b, props = __objRest(_b, [
5110
5294
  "children"
5111
5295
  ]);
5112
- const mode = React9.useContext(TooltipModeContext);
5296
+ const mode = React10.useContext(TooltipModeContext);
5113
5297
  if (mode === "drawer") {
5114
5298
  return /* @__PURE__ */ jsx49(DrawerTrigger, __spreadProps(__spreadValues({ "data-slot": "tooltip-trigger" }, props), { children }));
5115
5299
  }
@@ -5131,9 +5315,9 @@ function TooltipContent(_a) {
5131
5315
  "closeLabel",
5132
5316
  "children"
5133
5317
  ]);
5134
- const mode = React9.useContext(TooltipModeContext);
5318
+ const mode = React10.useContext(TooltipModeContext);
5135
5319
  if (mode === "drawer") {
5136
- return /* @__PURE__ */ jsxs23(DrawerContent, { "data-slot": "tooltip-content", "data-variant": variant, children: [
5320
+ return /* @__PURE__ */ jsxs24(DrawerContent, { "data-slot": "tooltip-content", "data-variant": variant, children: [
5137
5321
  /* @__PURE__ */ jsx49(DrawerHeader, { children: /* @__PURE__ */ jsx49(DrawerTitle, { children: title }) }),
5138
5322
  /* @__PURE__ */ jsx49("div", { className: cn("p-4 text-sm text-on-subtle", className), children }),
5139
5323
  /* @__PURE__ */ jsx49(DrawerFooter, { children: /* @__PURE__ */ jsx49(DrawerClose, { asChild: true, children: /* @__PURE__ */ jsx49(Button, { variant: "primary", size: "md", children: closeLabel }) }) })
@@ -5141,7 +5325,7 @@ function TooltipContent(_a) {
5141
5325
  }
5142
5326
  const surfaceClasses = variant === "inverse" ? "bg-prominent text-on-prominent shadow-sm" : "bg-primary text-on-primary";
5143
5327
  const arrowClasses = variant === "inverse" ? "fill-prominent" : "fill-primary";
5144
- return /* @__PURE__ */ jsx49(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs23(
5328
+ return /* @__PURE__ */ jsx49(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs24(
5145
5329
  TooltipPrimitive.Content,
5146
5330
  __spreadProps(__spreadValues({
5147
5331
  "data-slot": "tooltip-content",
@@ -5162,16 +5346,16 @@ function TooltipContent(_a) {
5162
5346
  }
5163
5347
 
5164
5348
  // components/ui/sidebar.tsx
5165
- import { jsx as jsx50, jsxs as jsxs24 } from "react/jsx-runtime";
5349
+ import { jsx as jsx50, jsxs as jsxs25 } from "react/jsx-runtime";
5166
5350
  var SIDEBAR_COOKIE_NAME = "sidebar_state";
5167
5351
  var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
5168
5352
  var SIDEBAR_WIDTH = "16rem";
5169
5353
  var SIDEBAR_WIDTH_MOBILE = "18rem";
5170
5354
  var SIDEBAR_WIDTH_ICON = "3rem";
5171
5355
  var SIDEBAR_KEYBOARD_SHORTCUT = "b";
5172
- var SidebarContext = React10.createContext(null);
5356
+ var SidebarContext = React11.createContext(null);
5173
5357
  function useSidebar() {
5174
- const context = React10.useContext(SidebarContext);
5358
+ const context = React11.useContext(SidebarContext);
5175
5359
  if (!context) {
5176
5360
  throw new Error("useSidebar must be used within a SidebarProvider.");
5177
5361
  }
@@ -5194,10 +5378,10 @@ function SidebarProvider(_a) {
5194
5378
  "children"
5195
5379
  ]);
5196
5380
  const isMobile = useIsMobile();
5197
- const [openMobile, setOpenMobile] = React10.useState(false);
5198
- const [_open, _setOpen] = React10.useState(defaultOpen);
5381
+ const [openMobile, setOpenMobile] = React11.useState(false);
5382
+ const [_open, _setOpen] = React11.useState(defaultOpen);
5199
5383
  const open = openProp != null ? openProp : _open;
5200
- const setOpen = React10.useCallback(
5384
+ const setOpen = React11.useCallback(
5201
5385
  (value) => {
5202
5386
  const openState = typeof value === "function" ? value(open) : value;
5203
5387
  if (setOpenProp) {
@@ -5209,10 +5393,10 @@ function SidebarProvider(_a) {
5209
5393
  },
5210
5394
  [setOpenProp, open]
5211
5395
  );
5212
- const toggleSidebar = React10.useCallback(() => {
5396
+ const toggleSidebar = React11.useCallback(() => {
5213
5397
  return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
5214
5398
  }, [isMobile, setOpen, setOpenMobile]);
5215
- React10.useEffect(() => {
5399
+ React11.useEffect(() => {
5216
5400
  const handleKeyDown = (event) => {
5217
5401
  if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
5218
5402
  event.preventDefault();
@@ -5223,7 +5407,7 @@ function SidebarProvider(_a) {
5223
5407
  return () => window.removeEventListener("keydown", handleKeyDown);
5224
5408
  }, [toggleSidebar]);
5225
5409
  const state = open ? "expanded" : "collapsed";
5226
- const contextValue = React10.useMemo(
5410
+ const contextValue = React11.useMemo(
5227
5411
  () => ({
5228
5412
  state,
5229
5413
  open,
@@ -5282,7 +5466,7 @@ function Sidebar(_a) {
5282
5466
  );
5283
5467
  }
5284
5468
  if (isMobile) {
5285
- return /* @__PURE__ */ jsx50(Sheet, __spreadProps(__spreadValues({ open: openMobile, onOpenChange: setOpenMobile }, props), { children: /* @__PURE__ */ jsxs24(
5469
+ return /* @__PURE__ */ jsx50(Sheet, __spreadProps(__spreadValues({ open: openMobile, onOpenChange: setOpenMobile }, props), { children: /* @__PURE__ */ jsxs25(
5286
5470
  SheetContent,
5287
5471
  {
5288
5472
  "data-sidebar": "sidebar",
@@ -5294,7 +5478,7 @@ function Sidebar(_a) {
5294
5478
  },
5295
5479
  side,
5296
5480
  children: [
5297
- /* @__PURE__ */ jsxs24(SheetHeader, { className: "sr-only", children: [
5481
+ /* @__PURE__ */ jsxs25(SheetHeader, { className: "sr-only", children: [
5298
5482
  /* @__PURE__ */ jsx50(SheetTitle, { children: "Sidebar" }),
5299
5483
  /* @__PURE__ */ jsx50(SheetDescription, { children: "Displays the mobile sidebar." })
5300
5484
  ] }),
@@ -5303,7 +5487,7 @@ function Sidebar(_a) {
5303
5487
  }
5304
5488
  ) }));
5305
5489
  }
5306
- return /* @__PURE__ */ jsxs24(
5490
+ return /* @__PURE__ */ jsxs25(
5307
5491
  "div",
5308
5492
  {
5309
5493
  className: "group peer hidden text-sidebar-foreground md:block",
@@ -5361,7 +5545,7 @@ function SidebarTrigger(_a) {
5361
5545
  "onClick"
5362
5546
  ]);
5363
5547
  const { toggleSidebar } = useSidebar();
5364
- return /* @__PURE__ */ jsxs24(
5548
+ return /* @__PURE__ */ jsxs25(
5365
5549
  Button,
5366
5550
  __spreadProps(__spreadValues({
5367
5551
  "data-sidebar": "trigger",
@@ -5635,7 +5819,7 @@ function SidebarMenuButton(_a) {
5635
5819
  children: tooltip
5636
5820
  };
5637
5821
  }
5638
- return /* @__PURE__ */ jsxs24(Tooltip2, { children: [
5822
+ return /* @__PURE__ */ jsxs25(Tooltip2, { children: [
5639
5823
  /* @__PURE__ */ jsx50(TooltipTrigger, { asChild: true, children: button }),
5640
5824
  /* @__PURE__ */ jsx50(
5641
5825
  TooltipContent,
@@ -5709,7 +5893,7 @@ function SidebarMenuSkeleton(_a) {
5709
5893
  "showIcon"
5710
5894
  ]);
5711
5895
  const width = "70%";
5712
- return /* @__PURE__ */ jsxs24(
5896
+ return /* @__PURE__ */ jsxs25(
5713
5897
  "div",
5714
5898
  __spreadProps(__spreadValues({
5715
5899
  "data-slot": "sidebar-menu-skeleton",
@@ -5801,9 +5985,9 @@ function SidebarMenuSubButton(_a) {
5801
5985
  }
5802
5986
 
5803
5987
  // components/ui/slider.tsx
5804
- import * as React11 from "react";
5988
+ import * as React12 from "react";
5805
5989
  import { Slider as SliderPrimitive } from "radix-ui";
5806
- import { jsx as jsx51, jsxs as jsxs25 } from "react/jsx-runtime";
5990
+ import { jsx as jsx51, jsxs as jsxs26 } from "react/jsx-runtime";
5807
5991
  function Slider(_a) {
5808
5992
  var _b = _a, {
5809
5993
  className,
@@ -5818,11 +6002,11 @@ function Slider(_a) {
5818
6002
  "min",
5819
6003
  "max"
5820
6004
  ]);
5821
- const _values = React11.useMemo(
6005
+ const _values = React12.useMemo(
5822
6006
  () => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max],
5823
6007
  [value, defaultValue, min, max]
5824
6008
  );
5825
- return /* @__PURE__ */ jsxs25(
6009
+ return /* @__PURE__ */ jsxs26(
5826
6010
  SliderPrimitive.Root,
5827
6011
  __spreadProps(__spreadValues({
5828
6012
  "data-slot": "slider",
@@ -5916,9 +6100,9 @@ var Toaster = (_a) => {
5916
6100
  };
5917
6101
 
5918
6102
  // components/ui/stepper.tsx
5919
- import * as React12 from "react";
6103
+ import * as React13 from "react";
5920
6104
  import { Minus, Plus } from "lucide-react";
5921
- import { jsx as jsx53, jsxs as jsxs26 } from "react/jsx-runtime";
6105
+ import { jsx as jsx53, jsxs as jsxs27 } from "react/jsx-runtime";
5922
6106
  function clamp(value, min, max) {
5923
6107
  return Math.min(Math.max(value, min), max);
5924
6108
  }
@@ -5952,16 +6136,16 @@ function Stepper({
5952
6136
  }) {
5953
6137
  const { container, buttonSize, iconClass } = stepperSizeConfig[size];
5954
6138
  const isControlled = controlledValue !== void 0;
5955
- const [internalValue, setInternalValue] = React12.useState(
6139
+ const [internalValue, setInternalValue] = React13.useState(
5956
6140
  clamp(defaultValue, min, max)
5957
6141
  );
5958
6142
  const currentValue = isControlled ? controlledValue : internalValue;
5959
6143
  const decimalPlaces = getDecimalPlaces(step);
5960
- const [displayString, setDisplayString] = React12.useState(
6144
+ const [displayString, setDisplayString] = React13.useState(
5961
6145
  formatValue(currentValue, decimalPlaces)
5962
6146
  );
5963
- const [isFocused, setIsFocused] = React12.useState(false);
5964
- React12.useEffect(() => {
6147
+ const [isFocused, setIsFocused] = React13.useState(false);
6148
+ React13.useEffect(() => {
5965
6149
  if (!isFocused) {
5966
6150
  setDisplayString(formatValue(currentValue, decimalPlaces));
5967
6151
  }
@@ -6011,7 +6195,7 @@ function Stepper({
6011
6195
  }
6012
6196
  }
6013
6197
  }
6014
- return /* @__PURE__ */ jsxs26(
6198
+ return /* @__PURE__ */ jsxs27(
6015
6199
  InputGroup,
6016
6200
  {
6017
6201
  "data-slot": "stepper",
@@ -6051,7 +6235,7 @@ function Stepper({
6051
6235
  className: "text-center [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none"
6052
6236
  }
6053
6237
  ),
6054
- /* @__PURE__ */ jsxs26(InputGroupAddon, { align: "inline-end", children: [
6238
+ /* @__PURE__ */ jsxs27(InputGroupAddon, { align: "inline-end", children: [
6055
6239
  /* @__PURE__ */ jsx53(InputGroupText, { className: "font-normal text-on-subtle", children: "USDT" }),
6056
6240
  /* @__PURE__ */ jsx53(
6057
6241
  InputGroupButton,
@@ -6319,8 +6503,8 @@ function TabsContent(_a) {
6319
6503
  }
6320
6504
 
6321
6505
  // components/ui/ticket-card.tsx
6322
- import { ArrowRight as ArrowRight2, Info } from "lucide-react";
6323
- import { Fragment as Fragment3, jsx as jsx57, jsxs as jsxs27 } from "react/jsx-runtime";
6506
+ import { ArrowRight as ArrowRight2, Info as Info2 } from "lucide-react";
6507
+ import { Fragment as Fragment4, jsx as jsx57, jsxs as jsxs28 } from "react/jsx-runtime";
6324
6508
  function formatBalanceValue(raw) {
6325
6509
  const match = raw.match(/^(\D*)([\d,]+(?:\.\d+)?)(\D*)$/);
6326
6510
  if (!match) return raw;
@@ -6344,14 +6528,14 @@ function TicketCard({
6344
6528
  stubDisabled = false,
6345
6529
  compact = false
6346
6530
  }) {
6347
- return /* @__PURE__ */ jsx57("div", { className: cn("flex w-full flex-col gap-2", className), children: /* @__PURE__ */ jsxs27("div", { className: "relative flex h-20 w-full items-stretch justify-between rounded-sm bg-subtle", children: [
6348
- /* @__PURE__ */ jsxs27("div", { className: cn("flex flex-1 items-center overflow-hidden", compact ? "gap-2 px-2" : "gap-4 px-4"), children: [
6531
+ return /* @__PURE__ */ jsx57("div", { className: cn("flex w-full flex-col gap-2", className), children: /* @__PURE__ */ jsxs28("div", { className: "relative flex h-20 w-full items-stretch justify-between rounded-sm bg-subtle", children: [
6532
+ /* @__PURE__ */ jsxs28("div", { className: cn("flex flex-1 items-center overflow-hidden", compact ? "gap-2 px-2" : "gap-4 px-4"), children: [
6349
6533
  icon && /* @__PURE__ */ jsx57("div", { className: "flex size-10 shrink-0 items-center justify-center rounded-full border-2 border-primary text-primary", children: icon }),
6350
- /* @__PURE__ */ jsxs27("div", { className: "flex h-11 flex-col justify-center gap-1 whitespace-nowrap", children: [
6534
+ /* @__PURE__ */ jsxs28("div", { className: "flex h-11 flex-col justify-center gap-1 whitespace-nowrap", children: [
6351
6535
  /* @__PURE__ */ jsx57("p", { className: "text-xs text-on-subtle", children: label }),
6352
- /* @__PURE__ */ jsxs27("p", { className: "leading-none", children: [
6536
+ /* @__PURE__ */ jsxs28("p", { className: "leading-none", children: [
6353
6537
  /* @__PURE__ */ jsx57("span", { className: "text-[20px] font-bold text-on-prominent", children: formatBalanceValue(value) }),
6354
- currency && /* @__PURE__ */ jsxs27(Fragment3, { children: [
6538
+ currency && /* @__PURE__ */ jsxs28(Fragment4, { children: [
6355
6539
  " ",
6356
6540
  /* @__PURE__ */ jsx57("span", { className: "text-sm text-on-subtle", children: currency })
6357
6541
  ] })
@@ -6371,7 +6555,7 @@ function TicketCard({
6371
6555
  }
6372
6556
  }
6373
6557
  ),
6374
- /* @__PURE__ */ jsxs27(
6558
+ /* @__PURE__ */ jsxs28(
6375
6559
  "button",
6376
6560
  {
6377
6561
  type: "button",
@@ -6422,30 +6606,30 @@ function CreditTicketCard({
6422
6606
  badgeInfoCloseLabel,
6423
6607
  compact = false
6424
6608
  }) {
6425
- return /* @__PURE__ */ jsx57("div", { className: cn("flex w-full flex-col gap-2", className), children: /* @__PURE__ */ jsxs27("div", { className: "relative flex w-full items-stretch justify-between rounded-sm bg-subtle", children: [
6609
+ return /* @__PURE__ */ jsx57("div", { className: cn("flex w-full flex-col gap-2", className), children: /* @__PURE__ */ jsxs28("div", { className: "relative flex w-full items-stretch justify-between rounded-sm bg-subtle", children: [
6426
6610
  (() => {
6427
6611
  const badgeText = badgeValue || badgeCurrency ? `${badgeLabel}: ${badgeValue}${badgeCurrency ? ` ${badgeCurrency}` : ""}` : badgeLabel;
6428
- const creditBadge = /* @__PURE__ */ jsxs27(Badge, { variant: "fill-credit", size: "sm", className: "!gap-1 !font-medium !tracking-normal", children: [
6612
+ const creditBadge = /* @__PURE__ */ jsxs28(Badge, { variant: "fill-credit", size: "sm", className: "!gap-1 !font-medium !tracking-normal", children: [
6429
6613
  badgeIcon,
6430
6614
  badgeText,
6431
- badgeInfo && /* @__PURE__ */ jsx57(TooltipProvider, { children: /* @__PURE__ */ jsxs27(Tooltip2, { children: [
6615
+ badgeInfo && /* @__PURE__ */ jsx57(TooltipProvider, { children: /* @__PURE__ */ jsxs28(Tooltip2, { children: [
6432
6616
  /* @__PURE__ */ jsx57(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx57(
6433
6617
  "button",
6434
6618
  {
6435
6619
  type: "button",
6436
6620
  "aria-label": `More info about ${badgeLabel.toLowerCase()}`,
6437
6621
  className: "inline-flex shrink-0 items-center justify-center rounded-full text-on-semantic-boost outline-none transition-opacity hover:opacity-70 focus-visible:opacity-70 focus-visible:ring-2 focus-visible:ring-on-semantic-boost/40 cursor-pointer",
6438
- children: /* @__PURE__ */ jsx57(Info, { className: "!size-3.5", strokeWidth: 2 })
6622
+ children: /* @__PURE__ */ jsx57(Info2, { className: "!size-3.5", strokeWidth: 2 })
6439
6623
  }
6440
6624
  ) }),
6441
6625
  /* @__PURE__ */ jsx57(TooltipContent, { side: badgeInfoSide, align: badgeInfoAlign, title: badgeInfoTitle, closeLabel: badgeInfoCloseLabel, variant: "inverse", className: "max-w-xs whitespace-normal", children: badgeInfo })
6442
6626
  ] }) })
6443
6627
  ] });
6444
- const labelValue = /* @__PURE__ */ jsxs27("div", { className: "flex h-11 flex-col justify-center gap-1 whitespace-nowrap", children: [
6628
+ const labelValue = /* @__PURE__ */ jsxs28("div", { className: "flex h-11 flex-col justify-center gap-1 whitespace-nowrap", children: [
6445
6629
  /* @__PURE__ */ jsx57("p", { className: "text-xs text-on-subtle", children: label }),
6446
- /* @__PURE__ */ jsxs27("p", { className: "leading-none", children: [
6630
+ /* @__PURE__ */ jsxs28("p", { className: "leading-none", children: [
6447
6631
  /* @__PURE__ */ jsx57("span", { className: "text-[20px] font-bold text-on-prominent", children: formatBalanceValue(value) }),
6448
- currency && /* @__PURE__ */ jsxs27(Fragment3, { children: [
6632
+ currency && /* @__PURE__ */ jsxs28(Fragment4, { children: [
6449
6633
  " ",
6450
6634
  /* @__PURE__ */ jsx57("span", { className: "text-sm text-on-subtle", children: currency })
6451
6635
  ] })
@@ -6458,20 +6642,20 @@ function CreditTicketCard({
6458
6642
  "flex flex-1 overflow-hidden",
6459
6643
  compact ? "flex-col gap-2 px-2 py-4" : "items-center gap-4 px-4 py-4"
6460
6644
  ),
6461
- children: compact ? /* @__PURE__ */ jsxs27("div", { className: "flex flex-1 flex-col gap-2", children: [
6462
- /* @__PURE__ */ jsxs27("div", { className: "flex items-center gap-2", children: [
6645
+ children: compact ? /* @__PURE__ */ jsxs28("div", { className: "flex flex-1 flex-col gap-2", children: [
6646
+ /* @__PURE__ */ jsxs28("div", { className: "flex items-center gap-2", children: [
6463
6647
  icon && /* @__PURE__ */ jsx57("div", { className: "flex size-10 shrink-0 items-center justify-center rounded-full border-2 border-primary text-primary", children: icon }),
6464
6648
  labelValue
6465
6649
  ] }),
6466
6650
  /* @__PURE__ */ jsx57("div", { className: "flex", children: icon ? /* @__PURE__ */ jsx57("div", { className: "flex w-10 shrink-0 justify-start", children: /* @__PURE__ */ jsx57("div", { className: "w-max", children: creditBadge }) }) : creditBadge })
6467
- ] }) : /* @__PURE__ */ jsxs27(Fragment3, { children: [
6651
+ ] }) : /* @__PURE__ */ jsxs28(Fragment4, { children: [
6468
6652
  icon && /* @__PURE__ */ jsx57("div", { className: "flex size-10 shrink-0 items-center justify-center rounded-full border-2 border-primary text-primary", children: icon }),
6469
- /* @__PURE__ */ jsxs27("div", { className: "flex flex-col gap-1 whitespace-nowrap", children: [
6653
+ /* @__PURE__ */ jsxs28("div", { className: "flex flex-col gap-1 whitespace-nowrap", children: [
6470
6654
  /* @__PURE__ */ jsx57("p", { className: "text-xs text-on-subtle", children: label }),
6471
- /* @__PURE__ */ jsxs27("div", { className: "flex items-center gap-4", children: [
6472
- /* @__PURE__ */ jsxs27("p", { className: "leading-none", children: [
6655
+ /* @__PURE__ */ jsxs28("div", { className: "flex items-center gap-4", children: [
6656
+ /* @__PURE__ */ jsxs28("p", { className: "leading-none", children: [
6473
6657
  /* @__PURE__ */ jsx57("span", { className: "text-[20px] font-bold text-on-prominent", children: formatBalanceValue(value) }),
6474
- currency && /* @__PURE__ */ jsxs27(Fragment3, { children: [
6658
+ currency && /* @__PURE__ */ jsxs28(Fragment4, { children: [
6475
6659
  " ",
6476
6660
  /* @__PURE__ */ jsx57("span", { className: "text-sm text-on-subtle", children: currency })
6477
6661
  ] })
@@ -6496,7 +6680,7 @@ function CreditTicketCard({
6496
6680
  }
6497
6681
  }
6498
6682
  ),
6499
- /* @__PURE__ */ jsxs27(
6683
+ /* @__PURE__ */ jsxs28(
6500
6684
  "button",
6501
6685
  {
6502
6686
  type: "button",
@@ -6573,10 +6757,10 @@ function Toggle(_a) {
6573
6757
  }
6574
6758
 
6575
6759
  // components/ui/toggle-group.tsx
6576
- import * as React13 from "react";
6760
+ import * as React14 from "react";
6577
6761
  import { ToggleGroup as ToggleGroupPrimitive } from "radix-ui";
6578
6762
  import { jsx as jsx59 } from "react/jsx-runtime";
6579
- var ToggleGroupContext = React13.createContext({
6763
+ var ToggleGroupContext = React14.createContext({
6580
6764
  size: "default",
6581
6765
  variant: "default",
6582
6766
  spacing: 0
@@ -6624,7 +6808,7 @@ function ToggleGroupItem(_a) {
6624
6808
  "variant",
6625
6809
  "size"
6626
6810
  ]);
6627
- const context = React13.useContext(ToggleGroupContext);
6811
+ const context = React14.useContext(ToggleGroupContext);
6628
6812
  return /* @__PURE__ */ jsx59(
6629
6813
  ToggleGroupPrimitive.Item,
6630
6814
  __spreadProps(__spreadValues({
@@ -6648,7 +6832,7 @@ function ToggleGroupItem(_a) {
6648
6832
  }
6649
6833
 
6650
6834
  // components/blocks/result-block.tsx
6651
- import { Fragment as Fragment4, jsx as jsx60, jsxs as jsxs28 } from "react/jsx-runtime";
6835
+ import { Fragment as Fragment5, jsx as jsx60, jsxs as jsxs29 } from "react/jsx-runtime";
6652
6836
  var THUMBS_UP_DATA_URL = "data:image/webp;base64,UklGRmYPAABXRUJQVlA4WAoAAAAQAAAAxwAAxwAAQUxQSCcFAAABsIftsylJUsQ5N8sYZHaPbdu2bdu2bfM/27Zte7Mya22rmRnnt8hblfcgcr0RMQH0/zrz37H+mLt2efCjV0+bjwyrrkSno/X3VyKjOEufOGklqC9JhpXG9LRgjILaMmR1ZlbEOAWfzsxGYUyTGuMABGdRpi97ENoo+JKstixB2gA0plCmLHqoifY2J1GmKjMXXJvQrJJRFNO3gra7c1hRdgMUKJjZqskQmgVAviQ18xWCYmdhJdk+FOTuJC2/Jyj4T0oyy6L4soqYftsobgMV2aPg4ZEaygjiwU0aohcFHt6mIDMPvLxVP0w/Ei9u14/dGn7epR5LED/OVQ/dJfBzK+3Y2eE8mVs5TFWBp6Rcuz58/Vw5hlzTlzeVw5cKfH1RN7YL/iBjxTC9J/B3G82YleCxe4P0auhPTY/wB80c7+DzdL1YA/EK3WqhlwV+D2nFLATftcL0y6Zv/UoxB8F3Rzq1BPFtilLoaYHvb+jELAz/N2WNMP1C/LMqsbvCe/c5adQSxDvsxBqhOwT+G43YiXD+vUsKZfpa4P9arBC7LkIkhRhyTf/cg6RQvkwQ4KKsj6wfAcgfSZ+GPhX47841qWEmMqWu7q6uUstusnnMppQZY69DkP293d2lUmbNWK01LbMsy0qlUtaC48BMlVM//KNgzD8YynLMZoBzAichTEdrJ2N1zomIOOfQsjl19OmdK8QmOLZ0xO8xfvkd5TcEKfzFMWQ4LMNLTXPSBvx6LEiiOOxJWUiGzkEDbf1TagDB15SFw3QjBO2dnh6gMYWyYOxOELS5mSI0J1EWiGU00W7hFEE+JhMGPSxouzNJAnYOBQWmSqYTh8ArFYFEAdsHQdf4MT0tboSCfFEhQHcQ1UJssuYJ4luVrN8xbNsxbN8x7BDEd1SyXRBVlawbG0f501IzT2ywTE4JqaUgRwrZKmc4NR/GZ/NUbc7R2SJV61GQNY0sEUa9kM1zZkjNsmHUvBhOzXI2iFGFyI8oyJpCgFm5UziMQhxVyb1B1L0YSs5TQdRU8ma0BpPzScfwdhAjKnk0iKpKDuMQRrwYSM4CFGLNi/7UTKcg64Vslii5O4yaQjC/iVZfWtzvKUw/etMiF5ow6vrAzIGMFLJpkqRKgVbVge24U6BQatpwz1Ko9UI2yelJCRbnzkD+RMHWCtk4pzch7ioOpq4MTDTB1ArZJKcnHe6HFG4xG6cH+3GcNklQFlBdFe5dCrhWyMbJwUocUL2QTVLjhEKuaUJuCaquCczFsdo0pzcR7hcU9KgmjjcdAnq4M3CfUdh1PWA97hQosJoa3CMU+IgasDgHVvOiLwXuDxS6Hi7mDgEzmtCqXvQnwH2Xgh8pZLOEYC8TXM2LvhQYDm5UB+4tCl8JWJU7A+coEQPxu5ci6Mdg9LAoR2DEi6HYya8phtVCNk+FO4Fj8B0NoMvE4FsNfExR9GMwdhtyp0AdgnuC4vh5+rAEx+Ht5LlJFMnnkydXciRuTR5mMpE4ppAtUiBfUSznKWTLFGB1jgVNkgK2SkDjFxQNc7DzoD9eDosbigb9vtG+LXP6InYDRTQbRKNtm+f0xMq5N8lEhLI50UyT4G7KKKoZfQxpzzY5RmIkbtqaZCmyGS1XbUcDxK3od80ITTqdDFN8Dc108qdTxoNFLLU2SyGy03583dLEhuLMRDQ46/zzzTffvPPMPffc88w7fymjfEOzTpwwYUIlt1yu/H15rJXy31fKlXKlnF8pj7tSrvx9uZeIien//v9XfQBWUDggGAoAANAwAJ0BKsgAyAA+kUScS6WjoqUjc5pgsBIJZ278Qi8Hwvc8Z/PndH0L8Y+3P/DeGNhV4uz8do8qx9p5gcZv+s8NH7D/z/YD/PX66ewT/4f6XzifTPsG/rz6Vnrs/cP2Hv11//JFOyneeAW0wbcou/igl1zxho0WRxDimPALaYM6+VrqjKr+SiMnElO878dA3yFCkM+t+whevqvMGhXCcaDwUXXFH4eQ6sCNOis0oDUln4e9M3beAvzbZyUe2sUvdvtjPDFhG8dPxVDA/XZGk1ETr69eacwYnPhuLS56ol4GHT+w+hq85I7EHxvN4n68ZUeC+sDOCSQMpz6m4Fzqzrg9ZyhyQnUfmHqhcGQ/yBDy4W+qjcsBfDq4xpVARzZ2uW47mzNOIigiKz5Tw+mTHb7K5m9lSfmeMPMPpWXhZQVTZawZgxiMdOg3ccW5pccD7hwGCZ0+pV2azLYrT+zGOqIcbr1PYUXPl9LQ8IhKTeyhGBmpdCXdUSSJMKko79zaD//rSyWRpF1MNueAW0v+AAD++5zAAALiasAmBAtMjd3teHxoV/JwSycQb8T24aWw5wWjnP87DL5yaEnvCifBRcW/QYZPObqU0f4fAjw2ZLaVKj7hZoTyQu4dPqH4gTQMcAfv8BCfJ7DObKNJoDat3XoqhZuiW8sQ6GBrRMq9Dkd0xl5ULWfjBCUXzvE+yRWByiMm9GvwsjN6pMTLTAfwDK8x8YHP7IFXmr9Ohbw3lVDYPJKpWXmHeO7wb8vGqU2ThOJXtJ9olH5g1qkVNO7MdAd5FvxU86R1i/SUqzBMrxSAPdTXXmLZu+gveBx/eYqSRNuu0tqHIV9T+mP1xEC5dX+HdTXYA1Pdhk+9yLuHAU2D8bazJuRhexCVychOyXyv+7dpTzpNfrj+lC5dIVyzoW5Fyra3W3dyl1mQ3MrAMiHwf1pV5axectvd4CM+Iu4n1yHfPKGPcrcm/G9+a5dAzXL9YOdbO+GmAYyFR+E0uZd7nFwfW9OvRmg/k1ekfsv4dZEZ45M6yITB/1GMCi872dJHGq4nCKuaCXURhXCNsLy+tpj6YCTt5oJDuG1WXTgI8++c5/4AM/eJFCx0dMaf8Loyp9W/PAHdOZgC2aG4/1/lA3Epa/4hAEPIiuAo3vZyTXO65nn9/A+eLuy/449dgY7gSsrQDrP2Hmh05OsdFBPj+BsefJZAyMS4T6jPsdCNtu6bH4KcFVBwIegQ22lQnlBIG2D4R24k/McwxQQC6sR8c/eJCL6o+anvM+BC4dVih1h5ae/4s1Q6GkFw9gE6+2/rhedXEzoV8TtJ3dLuPi+nRU8XxTZqq/E4ctlcWd0H0aawPjTIcXaxQk36BEC/njKgHlc7c/d4+WQiihb7eG2ng4KVyJHZ3bzK/4I0yU1/ile9IfW342gFB3dUS7yrQxNbRdeoE4f47jSRZD4uP4qpVOWmKtIE31xquU1ep2EeCbLB8UoludUvkjG8U8M3pe7XlyGBYQcgcsn3HFUuPXp/5yXaZR9H9scEjkX6MlhwKI3QGuk8UZborE1j0lt5pNTfq2K6d1/6SoiVNVLSRZ9ry7YQGRhQ48mewSXEEVownN9KTXH5SXUylJLr1jB9KOAhLAGdMfpkFNbgPlU70iYmRw9xYQz1yfvUH6Ul80AcAra/1tvp5kua7H5wgy30feuCKUXQIzcIoIpSuFQ/i7SxQkRCfWQIAsOc0XZmr3/IOBAZKbzIMOlBkoxYtjE95cV04d+6N792Le6VUmArBadYp7BOgqcNfxU4dfBtJ74uDkc6VQRuIpPg478BODjpfsWFA0vlLIKFTdRwVUdJOxBvFnhWwKP0D1apVqohwg0IPDfWP8UVdpVUhGrWYuUTDE2nubQrJ5v+usi24qv+3kysRqQMjDJOqpQkxnigjREutxNfsLY1xUvO2lTqrORSagjcR7pA8924ES/dA1lEZ3ZQ5z1F6nS8Bq2xnTiQ9BqcmJ7zSJd22si8KtuN/siapwQIzTHW63B7xXAKQtKMnUE639KX83BWcVOWGr50CTiUvkK8yDy38AHewCCa/fjhQeHabgNE/0tmbOaN5stn1H/m6qKp0WCbyVA7tKaSaRklqfipnbXoVHMguAGss38eJa3FLWweUAl7rNzHv79GalBMmNgUznun+3m3dWMn5WK/34+LilQXVLXAzuRipKqi3cNMeLO8B+ug7CpRCchBUESkH2ep5anNgdsYR5rfffGhVW3o3VIRyYpN35MK7tlEi/t7OeSTr10CeQQnpcc5pd9K4SdIQCZ5/G9WjwRMnVf0oXJ25OUzYGMakzcjz5vjSV7Fh+UNNjgLnlnM5zdtz8DyB6OlSAA/xFhwY8uyPpMaJBpmJVjNOdEChpZ9QUc+gAz/Awt2ER8coD6OZhX5NUjEKrJvHjOQTeuvCAyJ9CJAHY1HDkY1Saa2/vC8jm+Sc9DiMKg+LJriUFijlLwHEPOluQhWObjSqhybrp1vmS1Mt/KPMDPZyt6Kxox6jMvL/xgGNNE+JaFEcEZ/H/Ws6oWhQT9Qteg2TDkQISuXe+FCmot1BtA3iCJ29VxNMNaWuGXJdmhEfp/ST9UNlxSsfVfbEkqQdBoiUIhK5GZlUF1tOTbgEdr60Ty1S6ZSFLIovKBxheqO5TAGNtbCaJ7nvRkqRaIb+LRL7P/c3EGI4PFCpyNZnNajr3oh7e8M8mufcpqT+DXDSZ1KG56xJQ06T18FfS5s4r6tbLWSbMQO8uH19kYca2lgvljt0gfWU3h7FSWwRDGQGLhWojhmxHZrgtn/gyvw5GGLqjCqwx8KHX/maaRTUYSwWSmwXtS1RBmIDLx1GHCS2ED5ciDx7qn4HOqEzNpwfN/XMYuRmyvMDqb0u1FEQ/NHsDl2yA7MopUtbm7A3rB7jH3+o8Y5Aaq0egHuftsojcTr2yQ2tqnZusSb6vb2Qgf0ZV80OOwJYY35WQr8st1x3UCrKmS3X1TXIlvAUQgwS72DVKESwuab+Nlb2FLU9/UfmZzs1bGi2wfdsiqXt3Da1HGSb/1OAFDj4P5b03Saw9Pf7kplOscrGW93H9ZW1JmNiPNi/OW6hL0I2ZLtM8vQwYylPwdMGln9ZddXNn9HgsnNATObEWO1BfVE3Vx1OqLeOSo8aw5bNxSPfyUFvwV9LIgpeSE+a7JZV0sMm/K6xXubpoIPqa6tXoP/g8/tvZbgguLvKcaYVpiTe4orHUeYbU/VEaQdLW5kGBmCTUU8fSDGjZhUqVp86z4tNdZx3P2C654aOxJW5G3pVcdlqsipHwLgFBUCfcsGTJ0U+svqOD8TEXkbq6DsqXDRuYB94Pz74uM+Zh3xXaDJU48d8SBhfPPEtop5pxU6j3s0czCqev5OjlwuW/ESXLpZiO2Gx24Pwl33O8l/z9VzhVM+sZy7NWzUASRdBsuUPG+PAAAAAAAAAAA=";
6653
6837
  var THUMBS_DOWN_DATA_URL = "data:image/webp;base64,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";
6654
6838
  function ResultBlock({
@@ -6665,8 +6849,8 @@ function ResultBlock({
6665
6849
  const signedAmount = isWin ? `+${amount}` : `\u2212${amount}`;
6666
6850
  const amountColorClass = isWin ? "text-semantic-win" : "text-semantic-loss";
6667
6851
  const haloBgClass = isWin ? "bg-semantic-win" : "bg-semantic-loss";
6668
- return /* @__PURE__ */ jsxs28(Card, { className: "w-80 shrink-0 overflow-hidden rounded-md shadow-sm px-5 py-5 items-center gap-3", children: [
6669
- /* @__PURE__ */ jsxs28("div", { className: "relative flex items-center justify-center py-2", children: [
6852
+ return /* @__PURE__ */ jsxs29(Card, { className: "w-80 shrink-0 overflow-hidden rounded-md shadow-sm px-5 py-5 items-center gap-3", children: [
6853
+ /* @__PURE__ */ jsxs29("div", { className: "relative flex items-center justify-center py-2", children: [
6670
6854
  /* @__PURE__ */ jsx60(
6671
6855
  "span",
6672
6856
  {
@@ -6686,24 +6870,24 @@ function ResultBlock({
6686
6870
  )
6687
6871
  ] }),
6688
6872
  /* @__PURE__ */ jsx60("p", { className: "text-lg font-semibold text-on-prominent", children: titleText }),
6689
- /* @__PURE__ */ jsxs28("p", { className: `flex items-baseline gap-1.5 ${amountColorClass}`, children: [
6873
+ /* @__PURE__ */ jsxs29("p", { className: `flex items-baseline gap-1.5 ${amountColorClass}`, children: [
6690
6874
  /* @__PURE__ */ jsx60("span", { className: "font-display text-4xl font-bold tabular-nums tracking-tight", children: signedAmount }),
6691
6875
  /* @__PURE__ */ jsx60("span", { className: "text-lg font-semibold", children: currency })
6692
6876
  ] }),
6693
- /* @__PURE__ */ jsxs28("div", { className: "flex items-center gap-2", children: [
6694
- /* @__PURE__ */ jsxs28(Badge, { variant: "standard", size: "sm", children: [
6877
+ /* @__PURE__ */ jsxs29("div", { className: "flex items-center gap-2", children: [
6878
+ /* @__PURE__ */ jsxs29(Badge, { variant: "standard", size: "sm", children: [
6695
6879
  contractLabel,
6696
- pickedDigit !== void 0 && /* @__PURE__ */ jsxs28(Fragment4, { children: [
6880
+ pickedDigit !== void 0 && /* @__PURE__ */ jsxs29(Fragment5, { children: [
6697
6881
  /* @__PURE__ */ jsx60("span", { "aria-hidden": true, className: "h-3 w-px bg-border-prominent/40 mx-1" }),
6698
6882
  /* @__PURE__ */ jsx60("span", { className: "tabular-nums", children: pickedDigit })
6699
6883
  ] })
6700
6884
  ] }),
6701
6885
  /* @__PURE__ */ jsx60(Badge, { variant: "standard", size: "sm", children: duration })
6702
6886
  ] }),
6703
- /* @__PURE__ */ jsxs28("div", { className: "w-full pt-2", children: [
6887
+ /* @__PURE__ */ jsxs29("div", { className: "w-full pt-2", children: [
6704
6888
  ctaMode === "next-round" && /* @__PURE__ */ jsx60(Button, { className: "w-full", children: "Next round" }),
6705
6889
  ctaMode === "go-again" && /* @__PURE__ */ jsx60(Button, { className: "w-full", children: "Go again" }),
6706
- ctaMode === "conversion" && /* @__PURE__ */ jsxs28("div", { className: "w-full flex flex-col gap-3", children: [
6890
+ ctaMode === "conversion" && /* @__PURE__ */ jsxs29("div", { className: "w-full flex flex-col gap-3", children: [
6707
6891
  /* @__PURE__ */ jsx60("p", { className: "text-center text-base font-semibold text-on-prominent", children: "Ready to play for real?" }),
6708
6892
  /* @__PURE__ */ jsx60(Button, { className: "w-full", children: "Deposit now" }),
6709
6893
  /* @__PURE__ */ jsx60(Button, { variant: "secondary", className: "w-full", children: "Stay in demo" })
@@ -6717,12 +6901,12 @@ function ResultDialog({
6717
6901
  primaryLabel,
6718
6902
  secondaryLabel
6719
6903
  }) {
6720
- return /* @__PURE__ */ jsxs28(Card, { className: "w-80 shrink-0 overflow-hidden rounded-md shadow-sm px-5 py-6 items-center gap-4", children: [
6721
- /* @__PURE__ */ jsxs28("div", { className: "flex flex-col items-center gap-2 text-center", children: [
6904
+ return /* @__PURE__ */ jsxs29(Card, { className: "w-80 shrink-0 overflow-hidden rounded-md shadow-sm px-5 py-6 items-center gap-4", children: [
6905
+ /* @__PURE__ */ jsxs29("div", { className: "flex flex-col items-center gap-2 text-center", children: [
6722
6906
  /* @__PURE__ */ jsx60("p", { className: "text-lg font-semibold text-on-prominent", children: title }),
6723
6907
  /* @__PURE__ */ jsx60("p", { className: "text-sm text-on-subtle", children: body })
6724
6908
  ] }),
6725
- /* @__PURE__ */ jsxs28("div", { className: "w-full flex flex-col gap-2", children: [
6909
+ /* @__PURE__ */ jsxs29("div", { className: "w-full flex flex-col gap-2", children: [
6726
6910
  /* @__PURE__ */ jsx60(Button, { className: "w-full", children: primaryLabel }),
6727
6911
  /* @__PURE__ */ jsx60(Button, { variant: "secondary", className: "w-full", children: secondaryLabel })
6728
6912
  ] })
@@ -6731,7 +6915,7 @@ function ResultDialog({
6731
6915
 
6732
6916
  // components/blocks/header-navigation-block.tsx
6733
6917
  import { ArrowLeft as ArrowLeft2, History } from "lucide-react";
6734
- import { jsx as jsx61, jsxs as jsxs29 } from "react/jsx-runtime";
6918
+ import { jsx as jsx61, jsxs as jsxs30 } from "react/jsx-runtime";
6735
6919
  function HeaderNavigationBlock({
6736
6920
  onBack,
6737
6921
  badge,
@@ -6740,14 +6924,14 @@ function HeaderNavigationBlock({
6740
6924
  actions
6741
6925
  }) {
6742
6926
  var _a;
6743
- return /* @__PURE__ */ jsx61("div", { className: "w-full min-w-80 max-w-layout-diagram-small border border-border-subtle rounded-md overflow-hidden bg-prominent", children: /* @__PURE__ */ jsxs29("header", { className: "flex items-center gap-2 border-b border-border-subtle bg-prominent px-layout-margin-inline py-3", children: [
6927
+ return /* @__PURE__ */ jsx61("div", { className: "w-full min-w-80 max-w-layout-diagram-small border border-border-subtle rounded-md overflow-hidden bg-prominent", children: /* @__PURE__ */ jsxs30("header", { className: "flex items-center gap-2 border-b border-border-subtle bg-prominent px-layout-margin-inline py-3", children: [
6744
6928
  onBack && /* @__PURE__ */ jsx61(NavigationButton, { type: "button", size: "md", "aria-label": "Back", onClick: onBack, children: /* @__PURE__ */ jsx61(ArrowLeft2, { className: "size-5" }) }),
6745
- /* @__PURE__ */ jsxs29("div", { className: "flex min-w-0 flex-1 items-center justify-center gap-2", children: [
6929
+ /* @__PURE__ */ jsxs30("div", { className: "flex min-w-0 flex-1 items-center justify-center gap-2", children: [
6746
6930
  badge && /* @__PURE__ */ jsx61(Badge, { variant: (_a = badge.variant) != null ? _a : "fill-warning", size: "sm", children: badge.label }),
6747
6931
  /* @__PURE__ */ jsx61("span", { className: "font-display font-semibold tabular-nums text-on-prominent", children: balance.amount }),
6748
6932
  /* @__PURE__ */ jsx61("span", { className: "text-sm text-on-subtle", children: balance.currency })
6749
6933
  ] }),
6750
- /* @__PURE__ */ jsxs29("div", { className: "flex shrink-0 items-center gap-1", children: [
6934
+ /* @__PURE__ */ jsxs30("div", { className: "flex shrink-0 items-center gap-1", children: [
6751
6935
  history && /* @__PURE__ */ jsx61(HistoryButton, __spreadValues({}, history)),
6752
6936
  actions
6753
6937
  ] })
@@ -6761,7 +6945,7 @@ function HistoryButton({
6761
6945
  const show = typeof count === "number" && count > 0;
6762
6946
  const label = show ? count > 99 ? "99+" : String(count) : null;
6763
6947
  const ariaLabel = ariaLabelOverride != null ? ariaLabelOverride : show ? `Open history, ${count} new` : "Open history";
6764
- return /* @__PURE__ */ jsxs29("div", { className: "relative inline-flex", children: [
6948
+ return /* @__PURE__ */ jsxs30("div", { className: "relative inline-flex", children: [
6765
6949
  /* @__PURE__ */ jsx61(NavigationButton, { type: "button", size: "md", "aria-label": ariaLabel, onClick, children: /* @__PURE__ */ jsx61(History, { className: "size-5" }) }),
6766
6950
  show && /* @__PURE__ */ jsx61(
6767
6951
  "span",
@@ -6775,7 +6959,7 @@ function HistoryButton({
6775
6959
  }
6776
6960
 
6777
6961
  // components/blocks/faq-block.tsx
6778
- import { jsx as jsx62, jsxs as jsxs30 } from "react/jsx-runtime";
6962
+ import { jsx as jsx62, jsxs as jsxs31 } from "react/jsx-runtime";
6779
6963
  function FAQBlock({
6780
6964
  eyebrow = "FAQ Section",
6781
6965
  title = "Frequently asked questions",
@@ -6791,8 +6975,8 @@ function FAQBlock({
6791
6975
  const helpCardPaddingClass = layout === "desktop" ? "p-8" : "p-6";
6792
6976
  const gapClass = layout === "desktop" ? "gap-12" : "gap-10";
6793
6977
  const headerGapClass = layout === "desktop" ? "gap-5" : "gap-4";
6794
- return /* @__PURE__ */ jsxs30("div", { className: `w-full flex flex-col ${gapClass}`, children: [
6795
- /* @__PURE__ */ jsxs30("div", { className: `flex flex-col ${headerGapClass} items-center w-full`, children: [
6978
+ return /* @__PURE__ */ jsxs31("div", { className: `w-full flex flex-col ${gapClass}`, children: [
6979
+ /* @__PURE__ */ jsxs31("div", { className: `flex flex-col ${headerGapClass} items-center w-full`, children: [
6796
6980
  /* @__PURE__ */ jsx62("span", { className: "text-sm text-on-subtle font-body", children: eyebrow }),
6797
6981
  /* @__PURE__ */ jsx62("h2", { className: headingClass, children: title }),
6798
6982
  intro && /* @__PURE__ */ jsx62("p", { className: "text-lg text-on-subtle font-body text-center", children: intro })
@@ -6804,14 +6988,14 @@ function FAQBlock({
6804
6988
  collapsible: true,
6805
6989
  defaultValue: defaultValue != null ? defaultValue : (_a = items[0]) == null ? void 0 : _a.value,
6806
6990
  className: "w-full",
6807
- children: items.map(({ value, question, answer }) => /* @__PURE__ */ jsxs30(AccordionItem, { value, children: [
6991
+ children: items.map(({ value, question, answer }) => /* @__PURE__ */ jsxs31(AccordionItem, { value, children: [
6808
6992
  /* @__PURE__ */ jsx62(AccordionTrigger, { className: "text-base font-medium font-body text-on-prominent hover:no-underline", children: question }),
6809
6993
  /* @__PURE__ */ jsx62(AccordionContent, { children: /* @__PURE__ */ jsx62("p", { className: "text-sm text-on-subtle font-body pb-4", children: answer }) })
6810
6994
  ] }, value))
6811
6995
  }
6812
6996
  ),
6813
- helpCard && /* @__PURE__ */ jsxs30("div", { className: `flex flex-col gap-6 items-center w-full bg-subtle rounded-xl ${helpCardPaddingClass}`, children: [
6814
- /* @__PURE__ */ jsxs30("div", { className: "flex flex-col gap-2 w-full", children: [
6997
+ helpCard && /* @__PURE__ */ jsxs31("div", { className: `flex flex-col gap-6 items-center w-full bg-subtle rounded-xl ${helpCardPaddingClass}`, children: [
6998
+ /* @__PURE__ */ jsxs31("div", { className: "flex flex-col gap-2 w-full", children: [
6815
6999
  /* @__PURE__ */ jsx62("h3", { className: helpTitleClass, children: helpCard.title }),
6816
7000
  /* @__PURE__ */ jsx62("p", { className: "text-base text-on-subtle font-body", children: helpCard.body })
6817
7001
  ] }),
@@ -6822,7 +7006,7 @@ function FAQBlock({
6822
7006
 
6823
7007
  // components/blocks/hero-block.tsx
6824
7008
  import { ArrowRight as ArrowRight3, ArrowUpRight } from "lucide-react";
6825
- import { jsx as jsx63, jsxs as jsxs31 } from "react/jsx-runtime";
7009
+ import { jsx as jsx63, jsxs as jsxs32 } from "react/jsx-runtime";
6826
7010
  function HeroBlock({
6827
7011
  layout = "centered",
6828
7012
  tagline,
@@ -6833,26 +7017,26 @@ function HeroBlock({
6833
7017
  image
6834
7018
  }) {
6835
7019
  if (layout === "centered") {
6836
- return /* @__PURE__ */ jsx63("div", { className: "w-full border border-border-subtle rounded-xl overflow-hidden bg-prominent", children: /* @__PURE__ */ jsxs31("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: [
6837
- /* @__PURE__ */ jsxs31("div", { className: "flex flex-col items-center gap-6 w-full", children: [
7020
+ return /* @__PURE__ */ jsx63("div", { className: "w-full border border-border-subtle rounded-xl overflow-hidden bg-prominent", children: /* @__PURE__ */ jsxs32("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: [
7021
+ /* @__PURE__ */ jsxs32("div", { className: "flex flex-col items-center gap-6 w-full", children: [
6838
7022
  tagline && /* @__PURE__ */ jsx63(TaglinePill, __spreadValues({}, tagline)),
6839
7023
  /* @__PURE__ */ jsx63("h1", { className: "text-5xl font-semibold font-display tracking-tight text-on-prominent text-center", children: heading }),
6840
7024
  /* @__PURE__ */ jsx63("p", { className: "text-lg font-body text-on-subtle text-center", children: body })
6841
7025
  ] }),
6842
- /* @__PURE__ */ jsxs31(Button, { size: "sm", onClick: primaryCta.onClick, children: [
7026
+ /* @__PURE__ */ jsxs32(Button, { size: "sm", onClick: primaryCta.onClick, children: [
6843
7027
  primaryCta.label,
6844
7028
  primaryCta.trailingArrow !== false && /* @__PURE__ */ jsx63(ArrowRight3, { className: "size-4" })
6845
7029
  ] })
6846
7030
  ] }) });
6847
7031
  }
6848
- return /* @__PURE__ */ jsx63("div", { className: "w-full border border-border-subtle rounded-xl overflow-hidden bg-prominent", children: /* @__PURE__ */ jsxs31("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: [
6849
- /* @__PURE__ */ jsxs31("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: [
6850
- /* @__PURE__ */ jsxs31("div", { className: "flex flex-col gap-5 min-[600px]:gap-6 items-center min-[600px]:items-start w-full", children: [
7032
+ return /* @__PURE__ */ jsx63("div", { className: "w-full border border-border-subtle rounded-xl overflow-hidden bg-prominent", children: /* @__PURE__ */ jsxs32("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: [
7033
+ /* @__PURE__ */ jsxs32("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: [
7034
+ /* @__PURE__ */ jsxs32("div", { className: "flex flex-col gap-5 min-[600px]:gap-6 items-center min-[600px]:items-start w-full", children: [
6851
7035
  tagline && /* @__PURE__ */ jsx63(TaglinePill, __spreadProps(__spreadValues({}, tagline), { responsive: true })),
6852
7036
  /* @__PURE__ */ jsx63("h1", { className: "text-4xl min-[600px]:text-5xl font-semibold font-display tracking-tight text-on-prominent", children: heading }),
6853
7037
  /* @__PURE__ */ jsx63("p", { className: "text-lg font-body text-on-subtle", children: body })
6854
7038
  ] }),
6855
- /* @__PURE__ */ jsxs31("div", { className: "flex items-center justify-center min-[600px]:justify-start gap-2", children: [
7039
+ /* @__PURE__ */ jsxs32("div", { className: "flex items-center justify-center min-[600px]:justify-start gap-2", children: [
6856
7040
  /* @__PURE__ */ jsx63(Button, { size: "sm", onClick: primaryCta.onClick, children: primaryCta.label }),
6857
7041
  secondaryCta && /* @__PURE__ */ jsx63(Button, { variant: "secondary", size: "sm", onClick: secondaryCta.onClick, children: secondaryCta.label })
6858
7042
  ] })
@@ -6865,15 +7049,15 @@ function TaglinePill({
6865
7049
  suffix,
6866
7050
  responsive
6867
7051
  }) {
6868
- return /* @__PURE__ */ jsxs31("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: [
7052
+ return /* @__PURE__ */ jsxs32("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: [
6869
7053
  /* @__PURE__ */ jsx63("span", { className: "size-1.5 rounded-full bg-semantic-win shrink-0", "aria-hidden": "true" }),
6870
- responsive && suffix ? /* @__PURE__ */ jsxs31("span", { className: "text-sm font-body text-on-prominent whitespace-nowrap", children: [
6871
- /* @__PURE__ */ jsxs31("span", { className: "hidden min-[600px]:inline", children: [
7054
+ responsive && suffix ? /* @__PURE__ */ jsxs32("span", { className: "text-sm font-body text-on-prominent whitespace-nowrap", children: [
7055
+ /* @__PURE__ */ jsxs32("span", { className: "hidden min-[600px]:inline", children: [
6872
7056
  label,
6873
7057
  /* @__PURE__ */ jsx63("span", { className: "text-on-subtle", children: " \xB7 " })
6874
7058
  ] }),
6875
7059
  /* @__PURE__ */ jsx63("span", { className: "text-on-subtle min-[600px]:text-on-prominent", children: suffix })
6876
- ] }) : /* @__PURE__ */ jsxs31("span", { className: "text-sm font-body text-on-prominent whitespace-nowrap", children: [
7060
+ ] }) : /* @__PURE__ */ jsxs32("span", { className: "text-sm font-body text-on-prominent whitespace-nowrap", children: [
6877
7061
  label,
6878
7062
  suffix && /* @__PURE__ */ jsx63("span", { className: "text-on-subtle", children: ` \xB7 ${suffix}` })
6879
7063
  ] }),
@@ -6882,8 +7066,8 @@ function TaglinePill({
6882
7066
  }
6883
7067
 
6884
7068
  // components/blocks/auth-block.tsx
6885
- import * as React14 from "react";
6886
- import { jsx as jsx64, jsxs as jsxs32 } from "react/jsx-runtime";
7069
+ import * as React15 from "react";
7070
+ import { jsx as jsx64, jsxs as jsxs33 } from "react/jsx-runtime";
6887
7071
  function AuthBlock({
6888
7072
  mode,
6889
7073
  logoSrc,
@@ -6898,15 +7082,15 @@ function AuthBlock({
6898
7082
  const ctaText = mode === "sign-in" ? "Sign in" : "Sign up";
6899
7083
  const footerPrompt = mode === "sign-in" ? "Don't have an account?" : "Already have an account?";
6900
7084
  const footerLinkLabel = mode === "sign-in" ? "Sign up" : "Log in";
6901
- const [email, setEmail] = React14.useState("");
6902
- return /* @__PURE__ */ jsxs32("div", { className: "flex flex-col items-center gap-6 w-full", children: [
6903
- /* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-2", children: [
7085
+ const [email, setEmail] = React15.useState("");
7086
+ return /* @__PURE__ */ jsxs33("div", { className: "flex flex-col items-center gap-6 w-full", children: [
7087
+ /* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-2", children: [
6904
7088
  /* @__PURE__ */ jsx64("img", { src: logoSrc, alt: wordmark, className: "size-8 object-contain" }),
6905
7089
  /* @__PURE__ */ jsx64("span", { className: "font-display font-semibold text-base text-on-prominent tracking-tight", children: wordmark })
6906
7090
  ] }),
6907
7091
  /* @__PURE__ */ jsx64("h2", { className: "text-3xl font-bold font-display text-on-prominent text-center", children: headingText }),
6908
7092
  /* @__PURE__ */ jsx64("div", { className: "flex flex-col gap-3 w-full", children: providers.map((p) => /* @__PURE__ */ jsx64(ProviderButton, { provider: p }, p)) }),
6909
- /* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-3 w-full", children: [
7093
+ /* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-3 w-full", children: [
6910
7094
  /* @__PURE__ */ jsx64("div", { className: "flex-1 h-px bg-border-subtle" }),
6911
7095
  /* @__PURE__ */ jsx64("span", { className: "text-sm text-on-subtle font-body", children: "or" }),
6912
7096
  /* @__PURE__ */ jsx64("div", { className: "flex-1 h-px bg-border-subtle" })
@@ -6922,14 +7106,14 @@ function AuthBlock({
6922
7106
  onChange: (e) => setEmail(e.target.value)
6923
7107
  }
6924
7108
  ) }),
6925
- /* @__PURE__ */ jsxs32("p", { className: "text-sm text-on-subtle font-body text-left w-full", children: [
7109
+ /* @__PURE__ */ jsxs33("p", { className: "text-sm text-on-subtle font-body text-left w-full", children: [
6926
7110
  termsText,
6927
7111
  ", you agree to our",
6928
7112
  " ",
6929
7113
  /* @__PURE__ */ jsx64(Link, { size: "sm", href: "#", children: "Terms & Conditions" })
6930
7114
  ] }),
6931
7115
  /* @__PURE__ */ jsx64(Button, { size: "md", className: "w-full", onClick: () => onSubmit == null ? void 0 : onSubmit({ email }), children: ctaText }),
6932
- /* @__PURE__ */ jsxs32("p", { className: "text-sm text-on-subtle font-body text-center", children: [
7116
+ /* @__PURE__ */ jsxs33("p", { className: "text-sm text-on-subtle font-body text-center", children: [
6933
7117
  footerPrompt,
6934
7118
  " ",
6935
7119
  /* @__PURE__ */ jsx64(Link, { size: "sm", href: crossLinkHref, children: footerLinkLabel })
@@ -6939,8 +7123,8 @@ function AuthBlock({
6939
7123
  function ProviderButton({ provider }) {
6940
7124
  switch (provider) {
6941
7125
  case "google":
6942
- return /* @__PURE__ */ jsxs32(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
6943
- /* @__PURE__ */ jsxs32("svg", { width: "18", height: "18", viewBox: "0 0 18 18", "aria-hidden": "true", fill: "none", className: "shrink-0", children: [
7126
+ return /* @__PURE__ */ jsxs33(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
7127
+ /* @__PURE__ */ jsxs33("svg", { width: "18", height: "18", viewBox: "0 0 18 18", "aria-hidden": "true", fill: "none", className: "shrink-0", children: [
6944
7128
  /* @__PURE__ */ jsx64("path", { d: "M17.64 9.205c0-.639-.057-1.252-.164-1.841H9v3.481h4.844a4.14 4.14 0 0 1-1.796 2.716v2.259h2.908c1.702-1.567 2.684-3.875 2.684-6.615Z", fill: "#4285F4" }),
6945
7129
  /* @__PURE__ */ jsx64("path", { d: "M9 18c2.43 0 4.467-.806 5.956-2.18l-2.908-2.259c-.806.54-1.837.86-3.048.86-2.344 0-4.328-1.584-5.036-3.711H.957v2.332A8.997 8.997 0 0 0 9 18Z", fill: "#34A853" }),
6946
7130
  /* @__PURE__ */ jsx64("path", { d: "M3.964 10.71A5.41 5.41 0 0 1 3.682 9c0-.593.102-1.17.282-1.71V4.958H.957A8.996 8.996 0 0 0 0 9c0 1.452.348 2.827.957 4.042l3.007-2.332Z", fill: "#FBBC05" }),
@@ -6949,8 +7133,8 @@ function ProviderButton({ provider }) {
6949
7133
  "Continue with Google"
6950
7134
  ] });
6951
7135
  case "telegram":
6952
- return /* @__PURE__ */ jsxs32(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
6953
- /* @__PURE__ */ jsxs32("svg", { width: "18", height: "18", viewBox: "0 0 18 18", "aria-hidden": "true", fill: "none", className: "shrink-0", children: [
7136
+ return /* @__PURE__ */ jsxs33(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
7137
+ /* @__PURE__ */ jsxs33("svg", { width: "18", height: "18", viewBox: "0 0 18 18", "aria-hidden": "true", fill: "none", className: "shrink-0", children: [
6954
7138
  /* @__PURE__ */ jsx64("circle", { cx: "9", cy: "9", r: "9", fill: "#29B6F6" }),
6955
7139
  /* @__PURE__ */ jsx64("path", { d: "M13.5 5.25 11.25 13.5l-2.25-3-3 1.5 1.5-5.25 6-1.5Z", fill: "white", opacity: "0.3" }),
6956
7140
  /* @__PURE__ */ jsx64("path", { d: "m4.5 8.625 7.5-3-1.125 7.125-2.625-2.25-1.5 1.5.375-3.375Z", fill: "white" })
@@ -6958,7 +7142,7 @@ function ProviderButton({ provider }) {
6958
7142
  "Continue with Telegram"
6959
7143
  ] });
6960
7144
  case "x":
6961
- return /* @__PURE__ */ jsxs32(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
7145
+ return /* @__PURE__ */ jsxs33(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
6962
7146
  /* @__PURE__ */ jsx64("svg", { width: "18", height: "18", viewBox: "0 0 18 18", "aria-hidden": "true", fill: "currentColor", className: "shrink-0", children: /* @__PURE__ */ jsx64("path", { d: "M13.955 2.25h2.423L10.977 8.28 17.25 15.75h-4.812l-3.913-5.116-4.477 5.116H1.645l5.703-6.52L1.125 2.25h4.934l3.538 4.678 4.358-4.678Zm-.85 12.105h1.343L5.025 3.627H3.579l9.526 10.728Z" }) }),
6963
7147
  "Continue with X (Twitter)"
6964
7148
  ] });
@@ -6966,15 +7150,15 @@ function ProviderButton({ provider }) {
6966
7150
  }
6967
7151
 
6968
7152
  // components/blocks/navbar-block.tsx
6969
- import * as React15 from "react";
6970
- import { Menu, X } from "lucide-react";
6971
- import { jsx as jsx65, jsxs as jsxs33 } from "react/jsx-runtime";
7153
+ import * as React16 from "react";
7154
+ import { Menu, X as X2 } from "lucide-react";
7155
+ import { jsx as jsx65, jsxs as jsxs34 } from "react/jsx-runtime";
6972
7156
  function NavBarBlock({ brand, links, signIn, signUp }) {
6973
7157
  var _a, _b, _c, _d;
6974
- const [mobileMenuOpen, setMobileMenuOpen] = React15.useState(false);
6975
- return /* @__PURE__ */ jsx65("div", { className: "w-full border border-border-subtle rounded-md overflow-hidden", children: /* @__PURE__ */ jsxs33("nav", { className: "bg-prominent", children: [
6976
- /* @__PURE__ */ jsxs33("div", { className: "flex items-center justify-between px-layout-margin-inline py-3", children: [
6977
- /* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-6", children: [
7158
+ const [mobileMenuOpen, setMobileMenuOpen] = React16.useState(false);
7159
+ return /* @__PURE__ */ jsx65("div", { className: "w-full border border-border-subtle rounded-md overflow-hidden", children: /* @__PURE__ */ jsxs34("nav", { className: "bg-prominent", children: [
7160
+ /* @__PURE__ */ jsxs34("div", { className: "flex items-center justify-between px-layout-margin-inline py-3", children: [
7161
+ /* @__PURE__ */ jsxs34("div", { className: "flex items-center gap-6", children: [
6978
7162
  /* @__PURE__ */ jsx65(
6979
7163
  "img",
6980
7164
  {
@@ -6993,7 +7177,7 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
6993
7177
  ),
6994
7178
  /* @__PURE__ */ jsx65("div", { className: "hidden min-[600px]:flex items-center gap-1", children: links.map((l) => /* @__PURE__ */ jsx65(Button, { variant: "tertiary", size: "sm", onClick: l.onClick, children: l.label }, l.label)) })
6995
7179
  ] }),
6996
- /* @__PURE__ */ jsxs33("div", { className: "hidden min-[600px]:flex items-center gap-2", children: [
7180
+ /* @__PURE__ */ jsxs34("div", { className: "hidden min-[600px]:flex items-center gap-2", children: [
6997
7181
  signIn && /* @__PURE__ */ jsx65(Button, { variant: "tertiary", size: "sm", onClick: signIn.onClick, children: (_a = signIn.label) != null ? _a : "Sign in" }),
6998
7182
  signUp && /* @__PURE__ */ jsx65(Button, { size: "sm", onClick: signUp.onClick, children: (_b = signUp.label) != null ? _b : "Sign up" })
6999
7183
  ] }),
@@ -7006,11 +7190,11 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
7006
7190
  "aria-expanded": mobileMenuOpen,
7007
7191
  className: "min-[600px]:hidden",
7008
7192
  onClick: () => setMobileMenuOpen((prev) => !prev),
7009
- children: mobileMenuOpen ? /* @__PURE__ */ jsx65(X, { className: "size-4" }) : /* @__PURE__ */ jsx65(Menu, { className: "size-4" })
7193
+ children: mobileMenuOpen ? /* @__PURE__ */ jsx65(X2, { className: "size-4" }) : /* @__PURE__ */ jsx65(Menu, { className: "size-4" })
7010
7194
  }
7011
7195
  )
7012
7196
  ] }),
7013
- mobileMenuOpen && /* @__PURE__ */ jsxs33("div", { className: "min-[600px]:hidden flex flex-col border-t border-border-subtle px-layout-margin-inline py-3 gap-1", children: [
7197
+ mobileMenuOpen && /* @__PURE__ */ jsxs34("div", { className: "min-[600px]:hidden flex flex-col border-t border-border-subtle px-layout-margin-inline py-3 gap-1", children: [
7014
7198
  links.map((l) => /* @__PURE__ */ jsx65(
7015
7199
  Button,
7016
7200
  {
@@ -7022,7 +7206,7 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
7022
7206
  },
7023
7207
  l.label
7024
7208
  )),
7025
- (signIn || signUp) && /* @__PURE__ */ jsxs33("div", { className: "flex flex-col gap-2 pt-3 mt-2 border-t border-border-subtle", children: [
7209
+ (signIn || signUp) && /* @__PURE__ */ jsxs34("div", { className: "flex flex-col gap-2 pt-3 mt-2 border-t border-border-subtle", children: [
7026
7210
  signIn && /* @__PURE__ */ jsx65(Button, { variant: "secondary", size: "sm", className: "w-full", onClick: signIn.onClick, children: (_c = signIn.label) != null ? _c : "Sign in" }),
7027
7211
  signUp && /* @__PURE__ */ jsx65(Button, { size: "sm", className: "w-full", onClick: signUp.onClick, children: (_d = signUp.label) != null ? _d : "Sign up" })
7028
7212
  ] })
@@ -7031,9 +7215,9 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
7031
7215
  }
7032
7216
 
7033
7217
  // components/blocks/open-positions-block.tsx
7034
- import * as React16 from "react";
7035
- import { History as History2, X as X2 } from "lucide-react";
7036
- import { jsx as jsx66, jsxs as jsxs34 } from "react/jsx-runtime";
7218
+ import * as React17 from "react";
7219
+ import { History as History2, X as X3 } from "lucide-react";
7220
+ import { jsx as jsx66, jsxs as jsxs35 } from "react/jsx-runtime";
7037
7221
  function OpenPositionsBlock({
7038
7222
  trigger,
7039
7223
  sheetTitle = "Positions",
@@ -7044,24 +7228,24 @@ function OpenPositionsBlock({
7044
7228
  const isMobile = useIsMobile();
7045
7229
  const body = positions.length === 0 ? emptyState != null ? emptyState : /* @__PURE__ */ jsx66(DefaultEmptyState, { onViewHistory }) : /* @__PURE__ */ jsx66(PositionsList, { positions, onViewHistory });
7046
7230
  if (isMobile) {
7047
- return /* @__PURE__ */ jsxs34(Drawer, { children: [
7231
+ return /* @__PURE__ */ jsxs35(Drawer, { children: [
7048
7232
  /* @__PURE__ */ jsx66(DrawerTrigger, { asChild: true, children: trigger }),
7049
- /* @__PURE__ */ jsxs34(DrawerContent, { className: "p-0 flex flex-col", children: [
7050
- /* @__PURE__ */ jsxs34(DrawerHeader, { className: "flex-row items-center justify-between px-4 py-3 shrink-0 text-left", children: [
7233
+ /* @__PURE__ */ jsxs35(DrawerContent, { className: "p-0 flex flex-col", children: [
7234
+ /* @__PURE__ */ jsxs35(DrawerHeader, { className: "flex-row items-center justify-between px-4 py-3 shrink-0 text-left", children: [
7051
7235
  /* @__PURE__ */ jsx66(DrawerTitle, { className: "text-base font-semibold font-display text-on-prominent", children: sheetTitle }),
7052
- /* @__PURE__ */ jsx66(DrawerClose, { asChild: true, children: /* @__PURE__ */ jsx66(NavigationButton, { size: "sm", "aria-label": "Close", children: /* @__PURE__ */ jsx66(X2, {}) }) })
7236
+ /* @__PURE__ */ jsx66(DrawerClose, { asChild: true, children: /* @__PURE__ */ jsx66(NavigationButton, { size: "sm", "aria-label": "Close", children: /* @__PURE__ */ jsx66(X3, {}) }) })
7053
7237
  ] }),
7054
7238
  /* @__PURE__ */ jsx66(Separator, {}),
7055
7239
  body
7056
7240
  ] })
7057
7241
  ] });
7058
7242
  }
7059
- return /* @__PURE__ */ jsxs34(Sheet, { children: [
7243
+ return /* @__PURE__ */ jsxs35(Sheet, { children: [
7060
7244
  /* @__PURE__ */ jsx66(SheetTrigger, { asChild: true, children: trigger }),
7061
- /* @__PURE__ */ jsxs34(SheetContent, { side: "right", showCloseButton: false, className: "p-0 flex flex-col w-80 sm:max-w-xs", children: [
7062
- /* @__PURE__ */ jsxs34(SheetHeader, { className: "flex-row items-center justify-between px-4 py-3 shrink-0", children: [
7245
+ /* @__PURE__ */ jsxs35(SheetContent, { side: "right", showCloseButton: false, className: "p-0 flex flex-col w-80 sm:max-w-xs", children: [
7246
+ /* @__PURE__ */ jsxs35(SheetHeader, { className: "flex-row items-center justify-between px-4 py-3 shrink-0", children: [
7063
7247
  /* @__PURE__ */ jsx66(SheetTitle, { className: "text-base font-semibold font-display text-on-prominent", children: sheetTitle }),
7064
- /* @__PURE__ */ jsx66(SheetClose, { asChild: true, children: /* @__PURE__ */ jsx66(NavigationButton, { size: "sm", "aria-label": "Close", children: /* @__PURE__ */ jsx66(X2, {}) }) })
7248
+ /* @__PURE__ */ jsx66(SheetClose, { asChild: true, children: /* @__PURE__ */ jsx66(NavigationButton, { size: "sm", "aria-label": "Close", children: /* @__PURE__ */ jsx66(X3, {}) }) })
7065
7249
  ] }),
7066
7250
  /* @__PURE__ */ jsx66(Separator, {}),
7067
7251
  body
@@ -7072,8 +7256,8 @@ function PositionsList({
7072
7256
  positions,
7073
7257
  onViewHistory
7074
7258
  }) {
7075
- return /* @__PURE__ */ jsxs34("div", { className: "flex flex-col flex-1 min-h-0", children: [
7076
- /* @__PURE__ */ jsx66(ItemGroup, { className: "min-h-0 overflow-y-auto", children: positions.map((pos, i) => /* @__PURE__ */ jsxs34(React16.Fragment, { children: [
7259
+ return /* @__PURE__ */ jsxs35("div", { className: "flex flex-col flex-1 min-h-0", children: [
7260
+ /* @__PURE__ */ jsx66(ItemGroup, { className: "min-h-0 overflow-y-auto", children: positions.map((pos, i) => /* @__PURE__ */ jsxs35(React17.Fragment, { children: [
7077
7261
  /* @__PURE__ */ jsx66(PositionRow, { position: pos }),
7078
7262
  i < positions.length - 1 && /* @__PURE__ */ jsx66("div", { className: "h-px mx-4 bg-border-subtle" })
7079
7263
  ] }, i)) }),
@@ -7083,9 +7267,9 @@ function PositionsList({
7083
7267
  }
7084
7268
  function PositionRow({ position }) {
7085
7269
  const { label, suffix } = positionTitleParts(position);
7086
- return /* @__PURE__ */ jsxs34(Item, { size: "sm", children: [
7087
- /* @__PURE__ */ jsxs34(ItemContent, { children: [
7088
- /* @__PURE__ */ jsxs34(ItemTitle, { children: [
7270
+ return /* @__PURE__ */ jsxs35(Item, { size: "sm", children: [
7271
+ /* @__PURE__ */ jsxs35(ItemContent, { children: [
7272
+ /* @__PURE__ */ jsxs35(ItemTitle, { children: [
7089
7273
  /* @__PURE__ */ jsx66("span", { className: "text-on-prominent", children: label }),
7090
7274
  suffix && /* @__PURE__ */ jsx66("span", { className: "text-on-subtle", children: ` ${suffix}` })
7091
7275
  ] }),
@@ -7117,20 +7301,20 @@ function positionTitleParts(p) {
7117
7301
  }
7118
7302
  }
7119
7303
  function MetaNote({ market, duration }) {
7120
- return /* @__PURE__ */ jsxs34("span", { className: "text-xs text-on-subtle whitespace-nowrap", children: [
7304
+ return /* @__PURE__ */ jsxs35("span", { className: "text-xs text-on-subtle whitespace-nowrap", children: [
7121
7305
  market,
7122
7306
  " \xB7 ",
7123
7307
  duration
7124
7308
  ] });
7125
7309
  }
7126
7310
  function PnlMeta({ pnl, win, stake }) {
7127
- return /* @__PURE__ */ jsxs34("div", { className: "flex flex-col items-end gap-0.5", children: [
7311
+ return /* @__PURE__ */ jsxs35("div", { className: "flex flex-col items-end gap-0.5", children: [
7128
7312
  /* @__PURE__ */ jsx66("span", { className: `font-display font-bold tabular-nums text-base ${win ? "text-semantic-win" : "text-semantic-loss"}`, children: pnl }),
7129
7313
  /* @__PURE__ */ jsx66("span", { className: "tabular-nums text-xs text-on-subtle", children: stake })
7130
7314
  ] });
7131
7315
  }
7132
7316
  function DefaultEmptyState({ onViewHistory }) {
7133
- return /* @__PURE__ */ jsx66(Empty, { className: "flex min-h-0 flex-1 flex-col justify-center border-none rounded-none p-6 text-center", children: /* @__PURE__ */ jsxs34(EmptyHeader, { className: "gap-4", children: [
7317
+ return /* @__PURE__ */ jsx66(Empty, { className: "flex min-h-0 flex-1 flex-col justify-center border-none rounded-none p-6 text-center", children: /* @__PURE__ */ jsxs35(EmptyHeader, { className: "gap-4", children: [
7134
7318
  /* @__PURE__ */ jsx66(EmptyMedia, { children: /* @__PURE__ */ jsx66(History2, { className: "size-8 text-on-subtle" }) }),
7135
7319
  /* @__PURE__ */ jsx66(EmptyTitle, { className: "text-base leading-6 font-semibold tracking-normal body-md text-on-subtle", children: "No trades yet." }),
7136
7320
  /* @__PURE__ */ jsx66(Button, { variant: "tertiary", size: "md", onClick: onViewHistory, children: "View transaction history" })
@@ -7142,7 +7326,6 @@ export {
7142
7326
  AccordionItem,
7143
7327
  AccordionTrigger,
7144
7328
  Alert,
7145
- AlertDescription,
7146
7329
  AlertDialog,
7147
7330
  AlertDialogAction,
7148
7331
  AlertDialogCancel,
@@ -7155,7 +7338,6 @@ export {
7155
7338
  AlertDialogPortal,
7156
7339
  AlertDialogTitle,
7157
7340
  AlertDialogTrigger,
7158
- AlertTitle,
7159
7341
  AspectRatio,
7160
7342
  AuthBlock,
7161
7343
  Avatar,
@@ -7451,6 +7633,7 @@ export {
7451
7633
  TooltipContent,
7452
7634
  TooltipProvider,
7453
7635
  TooltipTrigger,
7636
+ alertVariants,
7454
7637
  badgeVariants,
7455
7638
  buttonVariants,
7456
7639
  cn,