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

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,22 @@ 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
+ X,
116
+ XCircle
117
+ } from "lucide-react";
175
118
 
176
119
  // components/ui/button.tsx
177
- import { cva as cva2 } from "class-variance-authority";
120
+ import { cva } from "class-variance-authority";
178
121
  import { Slot } from "radix-ui";
179
122
 
180
123
  // components/ui/spinner.tsx
181
- import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
124
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
182
125
  var PILL_COUNT = 8;
183
126
  function Spinner(_a) {
184
127
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
@@ -190,13 +133,13 @@ function Spinner(_a) {
190
133
  className: cn("relative inline-block size-4 text-current", className)
191
134
  }, props), {
192
135
  children: [
193
- /* @__PURE__ */ jsx3("style", { children: `
136
+ /* @__PURE__ */ jsx2("style", { children: `
194
137
  @keyframes spinner-fade {
195
138
  0% { opacity: 1; }
196
139
  100% { opacity: 0.15; }
197
140
  }
198
141
  ` }),
199
- Array.from({ length: PILL_COUNT }, (_, i) => /* @__PURE__ */ jsx3(
142
+ Array.from({ length: PILL_COUNT }, (_, i) => /* @__PURE__ */ jsx2(
200
143
  "span",
201
144
  {
202
145
  style: {
@@ -220,8 +163,8 @@ function Spinner(_a) {
220
163
  }
221
164
 
222
165
  // components/ui/button.tsx
223
- import { Fragment, jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
224
- var buttonVariants = cva2(
166
+ import { Fragment, jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
167
+ var buttonVariants = cva(
225
168
  "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
169
  {
227
170
  variants: {
@@ -281,7 +224,7 @@ function Button(_a) {
281
224
  "children"
282
225
  ]);
283
226
  const Comp = asChild ? Slot.Root : "button";
284
- return /* @__PURE__ */ jsx4(
227
+ return /* @__PURE__ */ jsx3(
285
228
  Comp,
286
229
  __spreadProps(__spreadValues({
287
230
  "data-slot": "button",
@@ -295,15 +238,239 @@ function Button(_a) {
295
238
  "aria-busy": loading || void 0
296
239
  }, props), {
297
240
  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"] }) })
241
+ /* @__PURE__ */ jsx3("span", { className: "invisible inline-flex items-center gap-[inherit]", "aria-hidden": true, children }),
242
+ /* @__PURE__ */ jsx3("span", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx3(Spinner, { className: spinnerSizeMap[size != null ? size : "lg"] }) })
300
243
  ] }) : children
301
244
  })
302
245
  );
303
246
  }
304
247
 
248
+ // components/ui/alert.tsx
249
+ import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
250
+ var alertVariants = cva2(
251
+ "grid w-full rounded-sm",
252
+ {
253
+ variants: {
254
+ variant: {
255
+ info: "bg-semantic-info/10",
256
+ warning: "bg-semantic-warning/10",
257
+ danger: "bg-semantic-error/10",
258
+ success: "bg-semantic-win/10"
259
+ },
260
+ layout: {
261
+ // Inline is mobile-first: 3 columns × 2 rows so a long title can wrap and the
262
+ // action button drops below the body. At sm+ (640px) it collapses to a single
263
+ // row of 4 columns (icon · body · action · close).
264
+ 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",
265
+ card: "grid-cols-[auto_1fr_auto] grid-rows-[auto_auto] items-start gap-x-3 gap-y-2 px-4 py-4"
266
+ }
267
+ },
268
+ defaultVariants: {
269
+ variant: "info",
270
+ layout: "inline"
271
+ }
272
+ }
273
+ );
274
+ var SINGLE_LINE_CLASSES = "items-center min-h-12 py-2 gap-y-0";
275
+ var TITLE_CLASSES = {
276
+ info: "text-on-prominent",
277
+ warning: "text-on-prominent",
278
+ danger: "text-on-prominent",
279
+ success: "text-on-prominent"
280
+ };
281
+ var ICON_CLASSES = {
282
+ info: "text-semantic-info",
283
+ warning: "text-semantic-warning",
284
+ danger: "text-semantic-error",
285
+ success: "text-semantic-win"
286
+ };
287
+ var DESC_CLASSES = {
288
+ info: "text-on-subtle",
289
+ warning: "text-on-subtle",
290
+ danger: "text-on-subtle",
291
+ success: "text-on-subtle"
292
+ };
293
+ var CLOSE_CLASSES = {
294
+ info: "text-on-subtle opacity-70",
295
+ warning: "text-on-subtle opacity-70",
296
+ danger: "text-on-subtle opacity-70",
297
+ success: "text-on-subtle opacity-70"
298
+ };
299
+ function defaultIconForVariant(variant) {
300
+ switch (variant) {
301
+ case "info":
302
+ return /* @__PURE__ */ jsx4(Info, {});
303
+ case "warning":
304
+ return /* @__PURE__ */ jsx4(AlertTriangle, {});
305
+ case "danger":
306
+ return /* @__PURE__ */ jsx4(XCircle, {});
307
+ case "success":
308
+ return /* @__PURE__ */ jsx4(CheckCircle2, {});
309
+ }
310
+ }
311
+ function Alert(_a) {
312
+ var _b = _a, {
313
+ variant = "info",
314
+ layout = "inline",
315
+ title,
316
+ description,
317
+ icon,
318
+ action,
319
+ actions,
320
+ onDismiss,
321
+ dismissLabel = "Dismiss",
322
+ className
323
+ } = _b, props = __objRest(_b, [
324
+ "variant",
325
+ "layout",
326
+ "title",
327
+ "description",
328
+ "icon",
329
+ "action",
330
+ "actions",
331
+ "onDismiss",
332
+ "dismissLabel",
333
+ "className"
334
+ ]);
335
+ if (!title && !description) {
336
+ if (process.env.NODE_ENV !== "production") {
337
+ console.warn(
338
+ "Alert: requires at least one of `title` or `description`. Rendering null."
339
+ );
340
+ }
341
+ return null;
342
+ }
343
+ const isInline = layout === "inline";
344
+ const isSingleLine = isInline && !(title && description);
345
+ const showIcon = icon !== null;
346
+ const resolvedIcon = icon === void 0 ? defaultIconForVariant(variant) : icon;
347
+ const showCloseButton = typeof onDismiss === "function";
348
+ const buttonVariant = "secondary";
349
+ const isAssertive = variant === "danger" || variant === "warning";
350
+ const role = isAssertive ? "alert" : "status";
351
+ const ariaLive = isAssertive ? "assertive" : "polite";
352
+ if (process.env.NODE_ENV !== "production") {
353
+ if (isInline && actions && actions.length > 0) {
354
+ console.warn(
355
+ 'Alert: `actions` is ignored when layout="inline". Use `action` instead.'
356
+ );
357
+ }
358
+ if (!isInline && action) {
359
+ console.warn(
360
+ 'Alert: `action` is ignored when layout="card". Use `actions` instead.'
361
+ );
362
+ }
363
+ }
364
+ const body = /* @__PURE__ */ jsxs4("div", { className: "min-w-0", children: [
365
+ title ? /* @__PURE__ */ jsx4(
366
+ "p",
367
+ {
368
+ className: cn(
369
+ // Mobile-first: 13/11px scale so narrow viewports breathe. sm+ bumps to
370
+ // 14/12px which lines up with the rest of the design system's body sizes.
371
+ "text-[13px] font-semibold leading-snug sm:text-sm",
372
+ TITLE_CLASSES[variant],
373
+ description ? "mb-2" : "mb-0"
374
+ ),
375
+ children: title
376
+ }
377
+ ) : null,
378
+ description ? /* @__PURE__ */ jsx4(
379
+ "p",
380
+ {
381
+ className: cn(
382
+ "text-[11px] leading-snug m-0 sm:text-xs",
383
+ DESC_CLASSES[variant]
384
+ ),
385
+ children: description
386
+ }
387
+ ) : null
388
+ ] });
389
+ const closeButton = showCloseButton ? /* @__PURE__ */ jsx4(
390
+ "button",
391
+ {
392
+ type: "button",
393
+ onClick: onDismiss,
394
+ "aria-label": dismissLabel,
395
+ className: cn(
396
+ "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",
397
+ // tuck the close into the top-right corner for the multi-line cases
398
+ isSingleLine ? "" : "-mt-1 -mr-1",
399
+ CLOSE_CLASSES[variant]
400
+ ),
401
+ children: /* @__PURE__ */ jsx4(X, {})
402
+ }
403
+ ) : null;
404
+ const iconColumn = showIcon ? /* @__PURE__ */ jsx4(
405
+ "div",
406
+ {
407
+ "aria-hidden": true,
408
+ className: cn(
409
+ "inline-flex shrink-0 size-4 [&_svg]:size-full",
410
+ // Single-line: grid is items-center so the icon centers automatically.
411
+ // Multi-line / card: top-aligned with the title cap-height via a 2px
412
+ // (mt-0.5) optical nudge so the icon reads as introducing the message
413
+ // header, not floating between title and description.
414
+ isSingleLine ? "" : "mt-0.5",
415
+ ICON_CLASSES[variant]
416
+ ),
417
+ children: resolvedIcon
418
+ }
419
+ ) : null;
420
+ if (isInline) {
421
+ return /* @__PURE__ */ jsxs4(
422
+ "div",
423
+ __spreadProps(__spreadValues({
424
+ role,
425
+ "aria-live": ariaLive,
426
+ "data-slot": "alert",
427
+ "data-variant": variant,
428
+ "data-layout": "inline",
429
+ className: cn(
430
+ alertVariants({ variant, layout }),
431
+ isSingleLine ? SINGLE_LINE_CLASSES : "",
432
+ className
433
+ )
434
+ }, props), {
435
+ children: [
436
+ iconColumn,
437
+ /* @__PURE__ */ jsx4("div", { className: "col-start-2 row-start-1 min-w-0", children: body }),
438
+ /* @__PURE__ */ jsx4("div", { className: "col-start-3 row-start-1 sm:col-start-4 sm:row-start-1", children: closeButton }),
439
+ 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
440
+ ]
441
+ })
442
+ );
443
+ }
444
+ return /* @__PURE__ */ jsxs4(
445
+ "div",
446
+ __spreadProps(__spreadValues({
447
+ role,
448
+ "aria-live": ariaLive,
449
+ "data-slot": "alert",
450
+ "data-variant": variant,
451
+ "data-layout": "card",
452
+ className: cn(
453
+ alertVariants({ variant, layout }),
454
+ className
455
+ )
456
+ }, props), {
457
+ children: [
458
+ iconColumn,
459
+ /* @__PURE__ */ jsx4("div", { className: "col-span-2 col-start-2 row-start-1", children: body }),
460
+ /* @__PURE__ */ jsx4("div", { className: "col-start-3 row-start-1", children: closeButton }),
461
+ 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
462
+ ]
463
+ })
464
+ );
465
+ }
466
+ function wrapAction(node, variant) {
467
+ if (React.isValidElement(node)) return node;
468
+ return /* @__PURE__ */ jsx4(Button, { variant, size: "sm", children: node });
469
+ }
470
+
305
471
  // components/ui/alert-dialog.tsx
306
- import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
472
+ import { AlertDialog as AlertDialogPrimitive } from "radix-ui";
473
+ import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
307
474
  function AlertDialog(_a) {
308
475
  var props = __objRest(_a, []);
309
476
  return /* @__PURE__ */ jsx5(AlertDialogPrimitive.Root, __spreadValues({ "data-slot": "alert-dialog" }, props));
@@ -341,7 +508,7 @@ function AlertDialogContent(_a) {
341
508
  "className",
342
509
  "size"
343
510
  ]);
344
- return /* @__PURE__ */ jsxs4(AlertDialogPortal, { children: [
511
+ return /* @__PURE__ */ jsxs5(AlertDialogPortal, { children: [
345
512
  /* @__PURE__ */ jsx5(AlertDialogOverlay, {}),
346
513
  /* @__PURE__ */ jsx5(
347
514
  AlertDialogPrimitive.Content,
@@ -605,6 +772,10 @@ var badgeVariants = cva3(
605
772
  "fill-fail": "bg-semantic-loss/10 border-transparent text-semantic-loss",
606
773
  "fill-warning": "bg-semantic-warning/10 border-transparent text-semantic-warning",
607
774
  "fill-credit": "bg-semantic-boost-surface border-transparent text-on-semantic-boost !text-xs !font-semibold",
775
+ // Demo / test-mode flag — opaque light-peach surface + red-orange text.
776
+ // Uses --semantic-demo-surface (a solid color-mix of demo @ 10% with white)
777
+ // so the badge looks identical on any background.
778
+ "fill-demo": "bg-semantic-demo-surface border-transparent text-semantic-demo",
608
779
  // Ghost (transparent)
609
780
  ghost: "bg-transparent border-transparent text-primary [a&]:hover:bg-secondary-hover [a&]:hover:text-primary",
610
781
  "ghost-success": "bg-transparent border-transparent text-semantic-win [a&]:hover:bg-semantic-win/10 [a&]:hover:text-semantic-win",
@@ -649,7 +820,7 @@ function Badge(_a) {
649
820
  // components/ui/breadcrumb.tsx
650
821
  import { ChevronRight, MoreHorizontal } from "lucide-react";
651
822
  import { Slot as Slot3 } from "radix-ui";
652
- import { jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
823
+ import { jsx as jsx9, jsxs as jsxs6 } from "react/jsx-runtime";
653
824
  function Breadcrumb(_a) {
654
825
  var props = __objRest(_a, []);
655
826
  return /* @__PURE__ */ jsx9("nav", __spreadValues({ "aria-label": "breadcrumb", "data-slot": "breadcrumb" }, props));
@@ -733,7 +904,7 @@ function BreadcrumbEllipsis(_a) {
733
904
  } = _b, props = __objRest(_b, [
734
905
  "className"
735
906
  ]);
736
- return /* @__PURE__ */ jsxs5(
907
+ return /* @__PURE__ */ jsxs6(
737
908
  "span",
738
909
  __spreadProps(__spreadValues({
739
910
  "data-slot": "breadcrumb-ellipsis",
@@ -750,7 +921,7 @@ function BreadcrumbEllipsis(_a) {
750
921
  }
751
922
 
752
923
  // components/ui/calendar.tsx
753
- import * as React from "react";
924
+ import * as React2 from "react";
754
925
  import {
755
926
  ChevronDownIcon as ChevronDownIcon2,
756
927
  ChevronLeftIcon,
@@ -923,8 +1094,8 @@ function CalendarDayButton(_a) {
923
1094
  "modifiers"
924
1095
  ]);
925
1096
  const defaultClassNames = getDefaultClassNames();
926
- const ref = React.useRef(null);
927
- React.useEffect(() => {
1097
+ const ref = React2.useRef(null);
1098
+ React2.useEffect(() => {
928
1099
  var _a2;
929
1100
  if (modifiers.focused) (_a2 = ref.current) == null ? void 0 : _a2.focus();
930
1101
  }, [modifiers.focused]);
@@ -1032,13 +1203,13 @@ function CardFooter(_a) {
1032
1203
  }
1033
1204
 
1034
1205
  // components/ui/carousel.tsx
1035
- import * as React2 from "react";
1206
+ import * as React3 from "react";
1036
1207
  import useEmblaCarousel from "embla-carousel-react";
1037
1208
  import { ArrowLeft, ArrowRight } from "lucide-react";
1038
- import { jsx as jsx12, jsxs as jsxs6 } from "react/jsx-runtime";
1039
- var CarouselContext = React2.createContext(null);
1209
+ import { jsx as jsx12, jsxs as jsxs7 } from "react/jsx-runtime";
1210
+ var CarouselContext = React3.createContext(null);
1040
1211
  function useCarousel() {
1041
- const context = React2.useContext(CarouselContext);
1212
+ const context = React3.useContext(CarouselContext);
1042
1213
  if (!context) {
1043
1214
  throw new Error("useCarousel must be used within a <Carousel />");
1044
1215
  }
@@ -1066,20 +1237,20 @@ function Carousel(_a) {
1066
1237
  }),
1067
1238
  plugins
1068
1239
  );
1069
- const [canScrollPrev, setCanScrollPrev] = React2.useState(false);
1070
- const [canScrollNext, setCanScrollNext] = React2.useState(false);
1071
- const onSelect = React2.useCallback((api2) => {
1240
+ const [canScrollPrev, setCanScrollPrev] = React3.useState(false);
1241
+ const [canScrollNext, setCanScrollNext] = React3.useState(false);
1242
+ const onSelect = React3.useCallback((api2) => {
1072
1243
  if (!api2) return;
1073
1244
  setCanScrollPrev(api2.canScrollPrev());
1074
1245
  setCanScrollNext(api2.canScrollNext());
1075
1246
  }, []);
1076
- const scrollPrev = React2.useCallback(() => {
1247
+ const scrollPrev = React3.useCallback(() => {
1077
1248
  api == null ? void 0 : api.scrollPrev();
1078
1249
  }, [api]);
1079
- const scrollNext = React2.useCallback(() => {
1250
+ const scrollNext = React3.useCallback(() => {
1080
1251
  api == null ? void 0 : api.scrollNext();
1081
1252
  }, [api]);
1082
- const handleKeyDown = React2.useCallback(
1253
+ const handleKeyDown = React3.useCallback(
1083
1254
  (event) => {
1084
1255
  if (event.key === "ArrowLeft") {
1085
1256
  event.preventDefault();
@@ -1091,11 +1262,11 @@ function Carousel(_a) {
1091
1262
  },
1092
1263
  [scrollPrev, scrollNext]
1093
1264
  );
1094
- React2.useEffect(() => {
1265
+ React3.useEffect(() => {
1095
1266
  if (!api || !setApi) return;
1096
1267
  setApi(api);
1097
1268
  }, [api, setApi]);
1098
- React2.useEffect(() => {
1269
+ React3.useEffect(() => {
1099
1270
  if (!api) return;
1100
1271
  onSelect(api);
1101
1272
  api.on("reInit", onSelect);
@@ -1182,7 +1353,7 @@ function CarouselPrevious(_a) {
1182
1353
  "size"
1183
1354
  ]);
1184
1355
  const { orientation, scrollPrev, canScrollPrev } = useCarousel();
1185
- return /* @__PURE__ */ jsxs6(
1356
+ return /* @__PURE__ */ jsxs7(
1186
1357
  Button,
1187
1358
  __spreadProps(__spreadValues({
1188
1359
  "data-slot": "carousel-previous",
@@ -1214,7 +1385,7 @@ function CarouselNext(_a) {
1214
1385
  "size"
1215
1386
  ]);
1216
1387
  const { orientation, scrollNext, canScrollNext } = useCarousel();
1217
- return /* @__PURE__ */ jsxs6(
1388
+ return /* @__PURE__ */ jsxs7(
1218
1389
  Button,
1219
1390
  __spreadProps(__spreadValues({
1220
1391
  "data-slot": "carousel-next",
@@ -1237,13 +1408,13 @@ function CarouselNext(_a) {
1237
1408
  }
1238
1409
 
1239
1410
  // components/ui/chart.tsx
1240
- import * as React3 from "react";
1411
+ import * as React4 from "react";
1241
1412
  import * as RechartsPrimitive from "recharts";
1242
- import { Fragment as Fragment2, jsx as jsx13, jsxs as jsxs7 } from "react/jsx-runtime";
1413
+ import { Fragment as Fragment3, jsx as jsx13, jsxs as jsxs8 } from "react/jsx-runtime";
1243
1414
  var THEMES = { light: "" };
1244
- var ChartContext = React3.createContext(null);
1415
+ var ChartContext = React4.createContext(null);
1245
1416
  function useChart() {
1246
- const context = React3.useContext(ChartContext);
1417
+ const context = React4.useContext(ChartContext);
1247
1418
  if (!context) {
1248
1419
  throw new Error("useChart must be used within a <ChartContainer />");
1249
1420
  }
@@ -1261,9 +1432,9 @@ function ChartContainer(_a) {
1261
1432
  "children",
1262
1433
  "config"
1263
1434
  ]);
1264
- const uniqueId = React3.useId();
1435
+ const uniqueId = React4.useId();
1265
1436
  const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
1266
- return /* @__PURE__ */ jsx13(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs7(
1437
+ return /* @__PURE__ */ jsx13(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs8(
1267
1438
  "div",
1268
1439
  __spreadProps(__spreadValues({
1269
1440
  "data-slot": "chart",
@@ -1323,7 +1494,7 @@ function ChartTooltipContent({
1323
1494
  labelKey
1324
1495
  }) {
1325
1496
  const { config } = useChart();
1326
- const tooltipLabel = React3.useMemo(() => {
1497
+ const tooltipLabel = React4.useMemo(() => {
1327
1498
  var _a;
1328
1499
  if (hideLabel || !(payload == null ? void 0 : payload.length)) {
1329
1500
  return null;
@@ -1352,7 +1523,7 @@ function ChartTooltipContent({
1352
1523
  return null;
1353
1524
  }
1354
1525
  const nestLabel = payload.length === 1 && indicator !== "dot";
1355
- return /* @__PURE__ */ jsxs7(
1526
+ return /* @__PURE__ */ jsxs8(
1356
1527
  "div",
1357
1528
  {
1358
1529
  className: cn(
@@ -1372,7 +1543,7 @@ function ChartTooltipContent({
1372
1543
  "flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-on-subtle",
1373
1544
  indicator === "dot" && "items-center"
1374
1545
  ),
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: [
1546
+ 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
1547
  (itemConfig == null ? void 0 : itemConfig.icon) ? /* @__PURE__ */ jsx13(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ jsx13(
1377
1548
  "div",
1378
1549
  {
@@ -1391,7 +1562,7 @@ function ChartTooltipContent({
1391
1562
  }
1392
1563
  }
1393
1564
  ),
1394
- /* @__PURE__ */ jsxs7(
1565
+ /* @__PURE__ */ jsxs8(
1395
1566
  "div",
1396
1567
  {
1397
1568
  className: cn(
@@ -1399,7 +1570,7 @@ function ChartTooltipContent({
1399
1570
  nestLabel ? "items-end" : "items-center"
1400
1571
  ),
1401
1572
  children: [
1402
- /* @__PURE__ */ jsxs7("div", { className: "grid gap-1.5", children: [
1573
+ /* @__PURE__ */ jsxs8("div", { className: "grid gap-1.5", children: [
1403
1574
  nestLabel ? tooltipLabel : null,
1404
1575
  /* @__PURE__ */ jsx13("span", { className: "text-on-subtle", children: (itemConfig == null ? void 0 : itemConfig.label) || item.name })
1405
1576
  ] }),
@@ -1439,7 +1610,7 @@ function ChartLegendContent({
1439
1610
  children: payload.filter((item) => item.type !== "none").map((item) => {
1440
1611
  const key = `${nameKey || item.dataKey || "value"}`;
1441
1612
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
1442
- return /* @__PURE__ */ jsxs7(
1613
+ return /* @__PURE__ */ jsxs8(
1443
1614
  "div",
1444
1615
  {
1445
1616
  className: cn(
@@ -1536,12 +1707,12 @@ function CollapsibleContent(_a) {
1536
1707
  }
1537
1708
 
1538
1709
  // components/ui/combobox.tsx
1539
- import * as React5 from "react";
1710
+ import * as React6 from "react";
1540
1711
  import { Combobox as ComboboxPrimitive } from "@base-ui/react";
1541
1712
  import { CheckIcon as CheckIcon2, ChevronDownIcon as ChevronDownIcon3, XIcon } from "lucide-react";
1542
1713
 
1543
1714
  // components/ui/input-group.tsx
1544
- import * as React4 from "react";
1715
+ import * as React5 from "react";
1545
1716
  import { cva as cva5 } from "class-variance-authority";
1546
1717
 
1547
1718
  // components/ui/input.tsx
@@ -1609,7 +1780,7 @@ function Textarea(_a) {
1609
1780
 
1610
1781
  // components/ui/input-group.tsx
1611
1782
  import { jsx as jsx18 } from "react/jsx-runtime";
1612
- var InputGroupSizeContext = React4.createContext("md");
1783
+ var InputGroupSizeContext = React5.createContext("md");
1613
1784
  var inputGroupVariants = cva5(
1614
1785
  [
1615
1786
  "group/input-group relative flex w-full items-center rounded-sm border border-border-subtle bg-white/5",
@@ -1771,7 +1942,7 @@ function InputGroupInput(_a) {
1771
1942
  "className",
1772
1943
  "size"
1773
1944
  ]);
1774
- const groupSize = React4.useContext(InputGroupSizeContext);
1945
+ const groupSize = React5.useContext(InputGroupSizeContext);
1775
1946
  const size = sizeProp != null ? sizeProp : groupSize;
1776
1947
  return /* @__PURE__ */ jsx18(
1777
1948
  Input,
@@ -1804,7 +1975,7 @@ function InputGroupTextarea(_a) {
1804
1975
  }
1805
1976
 
1806
1977
  // components/ui/combobox.tsx
1807
- import { jsx as jsx19, jsxs as jsxs8 } from "react/jsx-runtime";
1978
+ import { jsx as jsx19, jsxs as jsxs9 } from "react/jsx-runtime";
1808
1979
  var Combobox = ComboboxPrimitive.Root;
1809
1980
  function ComboboxValue(_a) {
1810
1981
  var props = __objRest(_a, []);
@@ -1818,7 +1989,7 @@ function ComboboxTrigger(_a) {
1818
1989
  "className",
1819
1990
  "children"
1820
1991
  ]);
1821
- return /* @__PURE__ */ jsxs8(
1992
+ return /* @__PURE__ */ jsxs9(
1822
1993
  ComboboxPrimitive.Trigger,
1823
1994
  __spreadProps(__spreadValues({
1824
1995
  "data-slot": "combobox-trigger",
@@ -1864,14 +2035,14 @@ function ComboboxInput(_a) {
1864
2035
  "showTrigger",
1865
2036
  "showClear"
1866
2037
  ]);
1867
- return /* @__PURE__ */ jsxs8(InputGroup, { className: cn("w-auto", className), children: [
2038
+ return /* @__PURE__ */ jsxs9(InputGroup, { className: cn("w-auto", className), children: [
1868
2039
  /* @__PURE__ */ jsx19(
1869
2040
  ComboboxPrimitive.Input,
1870
2041
  __spreadValues({
1871
2042
  render: /* @__PURE__ */ jsx19(InputGroupInput, { disabled })
1872
2043
  }, props)
1873
2044
  ),
1874
- /* @__PURE__ */ jsxs8(InputGroupAddon, { align: "inline-end", children: [
2045
+ /* @__PURE__ */ jsxs9(InputGroupAddon, { align: "inline-end", children: [
1875
2046
  showTrigger && /* @__PURE__ */ jsx19(
1876
2047
  InputGroupButton,
1877
2048
  {
@@ -1949,7 +2120,7 @@ function ComboboxItem(_a) {
1949
2120
  "className",
1950
2121
  "children"
1951
2122
  ]);
1952
- return /* @__PURE__ */ jsxs8(
2123
+ return /* @__PURE__ */ jsxs9(
1953
2124
  ComboboxPrimitive.Item,
1954
2125
  __spreadProps(__spreadValues({
1955
2126
  "data-slot": "combobox-item",
@@ -2057,7 +2228,7 @@ function ComboboxChip(_a) {
2057
2228
  "children",
2058
2229
  "showRemove"
2059
2230
  ]);
2060
- return /* @__PURE__ */ jsxs8(
2231
+ return /* @__PURE__ */ jsxs9(
2061
2232
  ComboboxPrimitive.Chip,
2062
2233
  __spreadProps(__spreadValues({
2063
2234
  "data-slot": "combobox-chip",
@@ -2098,7 +2269,7 @@ function ComboboxChipsInput(_a) {
2098
2269
  );
2099
2270
  }
2100
2271
  function useComboboxAnchor() {
2101
- return React5.useRef(null);
2272
+ return React6.useRef(null);
2102
2273
  }
2103
2274
 
2104
2275
  // components/ui/command.tsx
@@ -2108,7 +2279,7 @@ import { SearchIcon } from "lucide-react";
2108
2279
  // components/ui/dialog.tsx
2109
2280
  import { XIcon as XIcon2 } from "lucide-react";
2110
2281
  import { Dialog as DialogPrimitive } from "radix-ui";
2111
- import { jsx as jsx20, jsxs as jsxs9 } from "react/jsx-runtime";
2282
+ import { jsx as jsx20, jsxs as jsxs10 } from "react/jsx-runtime";
2112
2283
  function Dialog(_a) {
2113
2284
  var props = __objRest(_a, []);
2114
2285
  return /* @__PURE__ */ jsx20(DialogPrimitive.Root, __spreadValues({ "data-slot": "dialog" }, props));
@@ -2152,9 +2323,9 @@ function DialogContent(_a) {
2152
2323
  "children",
2153
2324
  "showCloseButton"
2154
2325
  ]);
2155
- return /* @__PURE__ */ jsxs9(DialogPortal, { "data-slot": "dialog-portal", children: [
2326
+ return /* @__PURE__ */ jsxs10(DialogPortal, { "data-slot": "dialog-portal", children: [
2156
2327
  /* @__PURE__ */ jsx20(DialogOverlay, {}),
2157
- /* @__PURE__ */ jsxs9(
2328
+ /* @__PURE__ */ jsxs10(
2158
2329
  DialogPrimitive.Content,
2159
2330
  __spreadProps(__spreadValues({
2160
2331
  "data-slot": "dialog-content",
@@ -2165,7 +2336,7 @@ function DialogContent(_a) {
2165
2336
  }, props), {
2166
2337
  children: [
2167
2338
  children,
2168
- showCloseButton && /* @__PURE__ */ jsxs9(
2339
+ showCloseButton && /* @__PURE__ */ jsxs10(
2169
2340
  DialogPrimitive.Close,
2170
2341
  {
2171
2342
  "data-slot": "dialog-close",
@@ -2201,7 +2372,7 @@ function DialogFooter(_a) {
2201
2372
  "showCloseButton",
2202
2373
  "children"
2203
2374
  ]);
2204
- return /* @__PURE__ */ jsxs9(
2375
+ return /* @__PURE__ */ jsxs10(
2205
2376
  "div",
2206
2377
  __spreadProps(__spreadValues({
2207
2378
  "data-slot": "dialog-footer",
@@ -2247,7 +2418,7 @@ function DialogDescription(_a) {
2247
2418
  }
2248
2419
 
2249
2420
  // components/ui/command.tsx
2250
- import { jsx as jsx21, jsxs as jsxs10 } from "react/jsx-runtime";
2421
+ import { jsx as jsx21, jsxs as jsxs11 } from "react/jsx-runtime";
2251
2422
  function Command(_a) {
2252
2423
  var _b = _a, {
2253
2424
  className
@@ -2279,8 +2450,8 @@ function CommandDialog(_a) {
2279
2450
  "className",
2280
2451
  "showCloseButton"
2281
2452
  ]);
2282
- return /* @__PURE__ */ jsxs10(Dialog, __spreadProps(__spreadValues({}, props), { children: [
2283
- /* @__PURE__ */ jsxs10(DialogHeader, { className: "sr-only", children: [
2453
+ return /* @__PURE__ */ jsxs11(Dialog, __spreadProps(__spreadValues({}, props), { children: [
2454
+ /* @__PURE__ */ jsxs11(DialogHeader, { className: "sr-only", children: [
2284
2455
  /* @__PURE__ */ jsx21(DialogTitle, { children: title }),
2285
2456
  /* @__PURE__ */ jsx21(DialogDescription, { children: description })
2286
2457
  ] }),
@@ -2300,7 +2471,7 @@ function CommandInput(_a) {
2300
2471
  } = _b, props = __objRest(_b, [
2301
2472
  "className"
2302
2473
  ]);
2303
- return /* @__PURE__ */ jsxs10(
2474
+ return /* @__PURE__ */ jsxs11(
2304
2475
  "div",
2305
2476
  {
2306
2477
  "data-slot": "command-input-wrapper",
@@ -2417,7 +2588,7 @@ function CommandShortcut(_a) {
2417
2588
  // components/ui/context-menu.tsx
2418
2589
  import { CheckIcon as CheckIcon3, ChevronRightIcon as ChevronRightIcon2, CircleIcon } from "lucide-react";
2419
2590
  import { ContextMenu as ContextMenuPrimitive } from "radix-ui";
2420
- import { jsx as jsx22, jsxs as jsxs11 } from "react/jsx-runtime";
2591
+ import { jsx as jsx22, jsxs as jsxs12 } from "react/jsx-runtime";
2421
2592
  function ContextMenu(_a) {
2422
2593
  var props = __objRest(_a, []);
2423
2594
  return /* @__PURE__ */ jsx22(ContextMenuPrimitive.Root, __spreadValues({ "data-slot": "context-menu" }, props));
@@ -2457,7 +2628,7 @@ function ContextMenuSubTrigger(_a) {
2457
2628
  "inset",
2458
2629
  "children"
2459
2630
  ]);
2460
- return /* @__PURE__ */ jsxs11(
2631
+ return /* @__PURE__ */ jsxs12(
2461
2632
  ContextMenuPrimitive.SubTrigger,
2462
2633
  __spreadProps(__spreadValues({
2463
2634
  "data-slot": "context-menu-sub-trigger",
@@ -2541,7 +2712,7 @@ function ContextMenuCheckboxItem(_a) {
2541
2712
  "children",
2542
2713
  "checked"
2543
2714
  ]);
2544
- return /* @__PURE__ */ jsxs11(
2715
+ return /* @__PURE__ */ jsxs12(
2545
2716
  ContextMenuPrimitive.CheckboxItem,
2546
2717
  __spreadProps(__spreadValues({
2547
2718
  "data-slot": "context-menu-checkbox-item",
@@ -2566,7 +2737,7 @@ function ContextMenuRadioItem(_a) {
2566
2737
  "className",
2567
2738
  "children"
2568
2739
  ]);
2569
- return /* @__PURE__ */ jsxs11(
2740
+ return /* @__PURE__ */ jsxs12(
2570
2741
  ContextMenuPrimitive.RadioItem,
2571
2742
  __spreadProps(__spreadValues({
2572
2743
  "data-slot": "context-menu-radio-item",
@@ -2648,7 +2819,7 @@ var useDirection = Direction.useDirection;
2648
2819
 
2649
2820
  // components/ui/drawer.tsx
2650
2821
  import { Drawer as DrawerPrimitive } from "vaul";
2651
- import { jsx as jsx24, jsxs as jsxs12 } from "react/jsx-runtime";
2822
+ import { jsx as jsx24, jsxs as jsxs13 } from "react/jsx-runtime";
2652
2823
  function Drawer(_a) {
2653
2824
  var props = __objRest(_a, []);
2654
2825
  return /* @__PURE__ */ jsx24(DrawerPrimitive.Root, __spreadValues({ "data-slot": "drawer" }, props));
@@ -2690,9 +2861,9 @@ function DrawerContent(_a) {
2690
2861
  "className",
2691
2862
  "children"
2692
2863
  ]);
2693
- return /* @__PURE__ */ jsxs12(DrawerPortal, { "data-slot": "drawer-portal", children: [
2864
+ return /* @__PURE__ */ jsxs13(DrawerPortal, { "data-slot": "drawer-portal", children: [
2694
2865
  /* @__PURE__ */ jsx24(DrawerOverlay, {}),
2695
- /* @__PURE__ */ jsxs12(
2866
+ /* @__PURE__ */ jsxs13(
2696
2867
  DrawerPrimitive.Content,
2697
2868
  __spreadProps(__spreadValues({
2698
2869
  "data-slot": "drawer-content",
@@ -2768,7 +2939,7 @@ function DrawerDescription(_a) {
2768
2939
  // components/ui/dropdown-menu.tsx
2769
2940
  import { CheckIcon as CheckIcon4, ChevronRightIcon as ChevronRightIcon3, CircleIcon as CircleIcon2 } from "lucide-react";
2770
2941
  import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
2771
- import { jsx as jsx25, jsxs as jsxs13 } from "react/jsx-runtime";
2942
+ import { jsx as jsx25, jsxs as jsxs14 } from "react/jsx-runtime";
2772
2943
  function DropdownMenu(_a) {
2773
2944
  var props = __objRest(_a, []);
2774
2945
  return /* @__PURE__ */ jsx25(DropdownMenuPrimitive.Root, __spreadValues({ "data-slot": "dropdown-menu" }, props));
@@ -2843,7 +3014,7 @@ function DropdownMenuCheckboxItem(_a) {
2843
3014
  "children",
2844
3015
  "checked"
2845
3016
  ]);
2846
- return /* @__PURE__ */ jsxs13(
3017
+ return /* @__PURE__ */ jsxs14(
2847
3018
  DropdownMenuPrimitive.CheckboxItem,
2848
3019
  __spreadProps(__spreadValues({
2849
3020
  "data-slot": "dropdown-menu-checkbox-item",
@@ -2877,7 +3048,7 @@ function DropdownMenuRadioItem(_a) {
2877
3048
  "className",
2878
3049
  "children"
2879
3050
  ]);
2880
- return /* @__PURE__ */ jsxs13(
3051
+ return /* @__PURE__ */ jsxs14(
2881
3052
  DropdownMenuPrimitive.RadioItem,
2882
3053
  __spreadProps(__spreadValues({
2883
3054
  "data-slot": "dropdown-menu-radio-item",
@@ -2958,7 +3129,7 @@ function DropdownMenuSubTrigger(_a) {
2958
3129
  "inset",
2959
3130
  "children"
2960
3131
  ]);
2961
- return /* @__PURE__ */ jsxs13(
3132
+ return /* @__PURE__ */ jsxs14(
2962
3133
  DropdownMenuPrimitive.SubTrigger,
2963
3134
  __spreadProps(__spreadValues({
2964
3135
  "data-slot": "dropdown-menu-sub-trigger",
@@ -3143,7 +3314,7 @@ function Separator(_a) {
3143
3314
  }
3144
3315
 
3145
3316
  // components/ui/field.tsx
3146
- import { jsx as jsx29, jsxs as jsxs14 } from "react/jsx-runtime";
3317
+ import { jsx as jsx29, jsxs as jsxs15 } from "react/jsx-runtime";
3147
3318
  function FieldSet(_a) {
3148
3319
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3149
3320
  return /* @__PURE__ */ jsx29(
@@ -3302,7 +3473,7 @@ function FieldSeparator(_a) {
3302
3473
  "children",
3303
3474
  "className"
3304
3475
  ]);
3305
- return /* @__PURE__ */ jsxs14(
3476
+ return /* @__PURE__ */ jsxs15(
3306
3477
  "div",
3307
3478
  __spreadProps(__spreadValues({
3308
3479
  "data-slot": "field-separator",
@@ -3370,7 +3541,7 @@ function FieldError(_a) {
3370
3541
  }
3371
3542
 
3372
3543
  // components/ui/form.tsx
3373
- import * as React6 from "react";
3544
+ import * as React7 from "react";
3374
3545
  import { Slot as Slot4 } from "radix-ui";
3375
3546
  import {
3376
3547
  Controller,
@@ -3380,7 +3551,7 @@ import {
3380
3551
  } from "react-hook-form";
3381
3552
  import { jsx as jsx30 } from "react/jsx-runtime";
3382
3553
  var Form = FormProvider;
3383
- var FormFieldContext = React6.createContext(
3554
+ var FormFieldContext = React7.createContext(
3384
3555
  {}
3385
3556
  );
3386
3557
  var FormField = (_a) => {
@@ -3388,8 +3559,8 @@ var FormField = (_a) => {
3388
3559
  return /* @__PURE__ */ jsx30(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx30(Controller, __spreadValues({}, props)) });
3389
3560
  };
3390
3561
  var useFormField = () => {
3391
- const fieldContext = React6.useContext(FormFieldContext);
3392
- const itemContext = React6.useContext(FormItemContext);
3562
+ const fieldContext = React7.useContext(FormFieldContext);
3563
+ const itemContext = React7.useContext(FormItemContext);
3393
3564
  const { getFieldState } = useFormContext();
3394
3565
  const formState = useFormState({ name: fieldContext.name });
3395
3566
  const fieldState = getFieldState(fieldContext.name, formState);
@@ -3405,12 +3576,12 @@ var useFormField = () => {
3405
3576
  formMessageId: `${id}-form-item-message`
3406
3577
  }, fieldState);
3407
3578
  };
3408
- var FormItemContext = React6.createContext(
3579
+ var FormItemContext = React7.createContext(
3409
3580
  {}
3410
3581
  );
3411
3582
  function FormItem(_a) {
3412
3583
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3413
- const id = React6.useId();
3584
+ const id = React7.useId();
3414
3585
  return /* @__PURE__ */ jsx30(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx30(
3415
3586
  "div",
3416
3587
  __spreadValues({
@@ -3517,10 +3688,10 @@ function HoverCardContent(_a) {
3517
3688
  }
3518
3689
 
3519
3690
  // components/ui/input-otp.tsx
3520
- import * as React7 from "react";
3691
+ import * as React8 from "react";
3521
3692
  import { OTPInput, OTPInputContext } from "input-otp";
3522
3693
  import { MinusIcon } from "lucide-react";
3523
- import { jsx as jsx32, jsxs as jsxs15 } from "react/jsx-runtime";
3694
+ import { jsx as jsx32, jsxs as jsxs16 } from "react/jsx-runtime";
3524
3695
  function InputOTP(_a) {
3525
3696
  var _b = _a, {
3526
3697
  className,
@@ -3560,9 +3731,9 @@ function InputOTPSlot(_a) {
3560
3731
  "className"
3561
3732
  ]);
3562
3733
  var _a2;
3563
- const inputOTPContext = React7.useContext(OTPInputContext);
3734
+ const inputOTPContext = React8.useContext(OTPInputContext);
3564
3735
  const { char, hasFakeCaret, isActive } = (_a2 = inputOTPContext == null ? void 0 : inputOTPContext.slots[index]) != null ? _a2 : {};
3565
- return /* @__PURE__ */ jsxs15(
3736
+ return /* @__PURE__ */ jsxs16(
3566
3737
  "div",
3567
3738
  __spreadProps(__spreadValues({
3568
3739
  "data-slot": "input-otp-slot",
@@ -3837,7 +4008,7 @@ function Link(_a) {
3837
4008
  // components/ui/menubar.tsx
3838
4009
  import { CheckIcon as CheckIcon5, ChevronRightIcon as ChevronRightIcon4, CircleIcon as CircleIcon3 } from "lucide-react";
3839
4010
  import { Menubar as MenubarPrimitive } from "radix-ui";
3840
- import { jsx as jsx36, jsxs as jsxs16 } from "react/jsx-runtime";
4011
+ import { jsx as jsx36, jsxs as jsxs17 } from "react/jsx-runtime";
3841
4012
  function Menubar(_a) {
3842
4013
  var _b = _a, {
3843
4014
  className
@@ -3947,7 +4118,7 @@ function MenubarCheckboxItem(_a) {
3947
4118
  "children",
3948
4119
  "checked"
3949
4120
  ]);
3950
- return /* @__PURE__ */ jsxs16(
4121
+ return /* @__PURE__ */ jsxs17(
3951
4122
  MenubarPrimitive.CheckboxItem,
3952
4123
  __spreadProps(__spreadValues({
3953
4124
  "data-slot": "menubar-checkbox-item",
@@ -3972,7 +4143,7 @@ function MenubarRadioItem(_a) {
3972
4143
  "className",
3973
4144
  "children"
3974
4145
  ]);
3975
- return /* @__PURE__ */ jsxs16(
4146
+ return /* @__PURE__ */ jsxs17(
3976
4147
  MenubarPrimitive.RadioItem,
3977
4148
  __spreadProps(__spreadValues({
3978
4149
  "data-slot": "menubar-radio-item",
@@ -4053,7 +4224,7 @@ function MenubarSubTrigger(_a) {
4053
4224
  "inset",
4054
4225
  "children"
4055
4226
  ]);
4056
- return /* @__PURE__ */ jsxs16(
4227
+ return /* @__PURE__ */ jsxs17(
4057
4228
  MenubarPrimitive.SubTrigger,
4058
4229
  __spreadProps(__spreadValues({
4059
4230
  "data-slot": "menubar-sub-trigger",
@@ -4090,7 +4261,7 @@ function MenubarSubContent(_a) {
4090
4261
 
4091
4262
  // components/ui/native-select.tsx
4092
4263
  import { ChevronDownIcon as ChevronDownIcon4 } from "lucide-react";
4093
- import { jsx as jsx37, jsxs as jsxs17 } from "react/jsx-runtime";
4264
+ import { jsx as jsx37, jsxs as jsxs18 } from "react/jsx-runtime";
4094
4265
  function NativeSelect(_a) {
4095
4266
  var _b = _a, {
4096
4267
  className,
@@ -4099,7 +4270,7 @@ function NativeSelect(_a) {
4099
4270
  "className",
4100
4271
  "size"
4101
4272
  ]);
4102
- return /* @__PURE__ */ jsxs17(
4273
+ return /* @__PURE__ */ jsxs18(
4103
4274
  "div",
4104
4275
  {
4105
4276
  className: "group/native-select relative w-fit has-[select:disabled]:opacity-50",
@@ -4197,7 +4368,7 @@ function NavigationButton(_a) {
4197
4368
  import { cva as cva11 } from "class-variance-authority";
4198
4369
  import { ChevronDownIcon as ChevronDownIcon5 } from "lucide-react";
4199
4370
  import { NavigationMenu as NavigationMenuPrimitive } from "radix-ui";
4200
- import { jsx as jsx39, jsxs as jsxs18 } from "react/jsx-runtime";
4371
+ import { jsx as jsx39, jsxs as jsxs19 } from "react/jsx-runtime";
4201
4372
  function NavigationMenu(_a) {
4202
4373
  var _b = _a, {
4203
4374
  className,
@@ -4208,7 +4379,7 @@ function NavigationMenu(_a) {
4208
4379
  "children",
4209
4380
  "viewport"
4210
4381
  ]);
4211
- return /* @__PURE__ */ jsxs18(
4382
+ return /* @__PURE__ */ jsxs19(
4212
4383
  NavigationMenuPrimitive.Root,
4213
4384
  __spreadProps(__spreadValues({
4214
4385
  "data-slot": "navigation-menu",
@@ -4267,7 +4438,7 @@ function NavigationMenuTrigger(_a) {
4267
4438
  "className",
4268
4439
  "children"
4269
4440
  ]);
4270
- return /* @__PURE__ */ jsxs18(
4441
+ return /* @__PURE__ */ jsxs19(
4271
4442
  NavigationMenuPrimitive.Trigger,
4272
4443
  __spreadProps(__spreadValues({
4273
4444
  "data-slot": "navigation-menu-trigger",
@@ -4373,7 +4544,7 @@ import {
4373
4544
  ChevronRightIcon as ChevronRightIcon5,
4374
4545
  MoreHorizontalIcon
4375
4546
  } from "lucide-react";
4376
- import { jsx as jsx40, jsxs as jsxs19 } from "react/jsx-runtime";
4547
+ import { jsx as jsx40, jsxs as jsxs20 } from "react/jsx-runtime";
4377
4548
  function Pagination(_a) {
4378
4549
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4379
4550
  return /* @__PURE__ */ jsx40(
@@ -4450,7 +4621,7 @@ function PaginationEllipsis(_a) {
4450
4621
  } = _b, props = __objRest(_b, [
4451
4622
  "className"
4452
4623
  ]);
4453
- return /* @__PURE__ */ jsxs19(
4624
+ return /* @__PURE__ */ jsxs20(
4454
4625
  "span",
4455
4626
  __spreadProps(__spreadValues({
4456
4627
  "aria-hidden": true,
@@ -4664,7 +4835,7 @@ function ResizableHandle(_a) {
4664
4835
 
4665
4836
  // components/ui/scroll-area.tsx
4666
4837
  import { ScrollArea as ScrollAreaPrimitive } from "radix-ui";
4667
- import { jsx as jsx45, jsxs as jsxs20 } from "react/jsx-runtime";
4838
+ import { jsx as jsx45, jsxs as jsxs21 } from "react/jsx-runtime";
4668
4839
  function ScrollArea(_a) {
4669
4840
  var _b = _a, {
4670
4841
  className,
@@ -4673,7 +4844,7 @@ function ScrollArea(_a) {
4673
4844
  "className",
4674
4845
  "children"
4675
4846
  ]);
4676
- return /* @__PURE__ */ jsxs20(
4847
+ return /* @__PURE__ */ jsxs21(
4677
4848
  ScrollAreaPrimitive.Root,
4678
4849
  __spreadProps(__spreadValues({
4679
4850
  "data-slot": "scroll-area",
@@ -4728,7 +4899,7 @@ function ScrollBar(_a) {
4728
4899
  // components/ui/select.tsx
4729
4900
  import { CheckIcon as CheckIcon6, ChevronDownIcon as ChevronDownIcon6, ChevronUpIcon } from "lucide-react";
4730
4901
  import { Select as SelectPrimitive } from "radix-ui";
4731
- import { jsx as jsx46, jsxs as jsxs21 } from "react/jsx-runtime";
4902
+ import { jsx as jsx46, jsxs as jsxs22 } from "react/jsx-runtime";
4732
4903
  function Select(_a) {
4733
4904
  var props = __objRest(_a, []);
4734
4905
  return /* @__PURE__ */ jsx46(SelectPrimitive.Root, __spreadValues({ "data-slot": "select" }, props));
@@ -4753,7 +4924,7 @@ function SelectTrigger(_a) {
4753
4924
  "readOnly",
4754
4925
  "children"
4755
4926
  ]);
4756
- return /* @__PURE__ */ jsxs21(
4927
+ return /* @__PURE__ */ jsxs22(
4757
4928
  SelectPrimitive.Trigger,
4758
4929
  __spreadProps(__spreadValues({
4759
4930
  "data-slot": "select-trigger",
@@ -4784,7 +4955,7 @@ function SelectContent(_a) {
4784
4955
  "position",
4785
4956
  "align"
4786
4957
  ]);
4787
- return /* @__PURE__ */ jsx46(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs21(
4958
+ return /* @__PURE__ */ jsx46(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs22(
4788
4959
  SelectPrimitive.Content,
4789
4960
  __spreadProps(__spreadValues({
4790
4961
  "data-slot": "select-content",
@@ -4835,7 +5006,7 @@ function SelectItem(_a) {
4835
5006
  "className",
4836
5007
  "children"
4837
5008
  ]);
4838
- return /* @__PURE__ */ jsxs21(
5009
+ return /* @__PURE__ */ jsxs22(
4839
5010
  SelectPrimitive.Item,
4840
5011
  __spreadProps(__spreadValues({
4841
5012
  "data-slot": "select-item",
@@ -4914,7 +5085,7 @@ function SelectScrollDownButton(_a) {
4914
5085
  // components/ui/sheet.tsx
4915
5086
  import { XIcon as XIcon3 } from "lucide-react";
4916
5087
  import { Dialog as SheetPrimitive } from "radix-ui";
4917
- import { jsx as jsx47, jsxs as jsxs22 } from "react/jsx-runtime";
5088
+ import { jsx as jsx47, jsxs as jsxs23 } from "react/jsx-runtime";
4918
5089
  function Sheet(_a) {
4919
5090
  var props = __objRest(_a, []);
4920
5091
  return /* @__PURE__ */ jsx47(SheetPrimitive.Root, __spreadValues({ "data-slot": "sheet" }, props));
@@ -4960,9 +5131,9 @@ function SheetContent(_a) {
4960
5131
  "side",
4961
5132
  "showCloseButton"
4962
5133
  ]);
4963
- return /* @__PURE__ */ jsxs22(SheetPortal, { children: [
5134
+ return /* @__PURE__ */ jsxs23(SheetPortal, { children: [
4964
5135
  /* @__PURE__ */ jsx47(SheetOverlay, {}),
4965
- /* @__PURE__ */ jsxs22(
5136
+ /* @__PURE__ */ jsxs23(
4966
5137
  SheetPrimitive.Content,
4967
5138
  __spreadProps(__spreadValues({
4968
5139
  "data-slot": "sheet-content",
@@ -4977,7 +5148,7 @@ function SheetContent(_a) {
4977
5148
  }, props), {
4978
5149
  children: [
4979
5150
  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: [
5151
+ 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
5152
  /* @__PURE__ */ jsx47(XIcon3, { className: "size-4" }),
4982
5153
  /* @__PURE__ */ jsx47("span", { className: "sr-only", children: "Close" })
4983
5154
  ] })
@@ -5036,17 +5207,17 @@ function SheetDescription(_a) {
5036
5207
  }
5037
5208
 
5038
5209
  // components/ui/sidebar.tsx
5039
- import * as React10 from "react";
5210
+ import * as React11 from "react";
5040
5211
  import { cva as cva12 } from "class-variance-authority";
5041
5212
  import { PanelLeftIcon } from "lucide-react";
5042
5213
  import { Slot as Slot8 } from "radix-ui";
5043
5214
 
5044
5215
  // hooks/use-mobile.ts
5045
- import * as React8 from "react";
5216
+ import * as React9 from "react";
5046
5217
  var MOBILE_BREAKPOINT = 768;
5047
5218
  function useIsMobile() {
5048
- const [isMobile, setIsMobile] = React8.useState(void 0);
5049
- React8.useEffect(() => {
5219
+ const [isMobile, setIsMobile] = React9.useState(void 0);
5220
+ React9.useEffect(() => {
5050
5221
  const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
5051
5222
  const onChange = () => {
5052
5223
  setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
@@ -5072,10 +5243,10 @@ function Skeleton(_a) {
5072
5243
  }
5073
5244
 
5074
5245
  // components/ui/tooltip.tsx
5075
- import * as React9 from "react";
5246
+ import * as React10 from "react";
5076
5247
  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");
5248
+ import { jsx as jsx49, jsxs as jsxs24 } from "react/jsx-runtime";
5249
+ var TooltipModeContext = React10.createContext("tooltip");
5079
5250
  function TooltipProvider(_a) {
5080
5251
  var _b = _a, {
5081
5252
  delayDuration = 0
@@ -5109,7 +5280,7 @@ function TooltipTrigger(_a) {
5109
5280
  } = _b, props = __objRest(_b, [
5110
5281
  "children"
5111
5282
  ]);
5112
- const mode = React9.useContext(TooltipModeContext);
5283
+ const mode = React10.useContext(TooltipModeContext);
5113
5284
  if (mode === "drawer") {
5114
5285
  return /* @__PURE__ */ jsx49(DrawerTrigger, __spreadProps(__spreadValues({ "data-slot": "tooltip-trigger" }, props), { children }));
5115
5286
  }
@@ -5131,9 +5302,9 @@ function TooltipContent(_a) {
5131
5302
  "closeLabel",
5132
5303
  "children"
5133
5304
  ]);
5134
- const mode = React9.useContext(TooltipModeContext);
5305
+ const mode = React10.useContext(TooltipModeContext);
5135
5306
  if (mode === "drawer") {
5136
- return /* @__PURE__ */ jsxs23(DrawerContent, { "data-slot": "tooltip-content", "data-variant": variant, children: [
5307
+ return /* @__PURE__ */ jsxs24(DrawerContent, { "data-slot": "tooltip-content", "data-variant": variant, children: [
5137
5308
  /* @__PURE__ */ jsx49(DrawerHeader, { children: /* @__PURE__ */ jsx49(DrawerTitle, { children: title }) }),
5138
5309
  /* @__PURE__ */ jsx49("div", { className: cn("p-4 text-sm text-on-subtle", className), children }),
5139
5310
  /* @__PURE__ */ jsx49(DrawerFooter, { children: /* @__PURE__ */ jsx49(DrawerClose, { asChild: true, children: /* @__PURE__ */ jsx49(Button, { variant: "primary", size: "md", children: closeLabel }) }) })
@@ -5141,7 +5312,7 @@ function TooltipContent(_a) {
5141
5312
  }
5142
5313
  const surfaceClasses = variant === "inverse" ? "bg-prominent text-on-prominent shadow-sm" : "bg-primary text-on-primary";
5143
5314
  const arrowClasses = variant === "inverse" ? "fill-prominent" : "fill-primary";
5144
- return /* @__PURE__ */ jsx49(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs23(
5315
+ return /* @__PURE__ */ jsx49(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs24(
5145
5316
  TooltipPrimitive.Content,
5146
5317
  __spreadProps(__spreadValues({
5147
5318
  "data-slot": "tooltip-content",
@@ -5162,16 +5333,16 @@ function TooltipContent(_a) {
5162
5333
  }
5163
5334
 
5164
5335
  // components/ui/sidebar.tsx
5165
- import { jsx as jsx50, jsxs as jsxs24 } from "react/jsx-runtime";
5336
+ import { jsx as jsx50, jsxs as jsxs25 } from "react/jsx-runtime";
5166
5337
  var SIDEBAR_COOKIE_NAME = "sidebar_state";
5167
5338
  var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
5168
5339
  var SIDEBAR_WIDTH = "16rem";
5169
5340
  var SIDEBAR_WIDTH_MOBILE = "18rem";
5170
5341
  var SIDEBAR_WIDTH_ICON = "3rem";
5171
5342
  var SIDEBAR_KEYBOARD_SHORTCUT = "b";
5172
- var SidebarContext = React10.createContext(null);
5343
+ var SidebarContext = React11.createContext(null);
5173
5344
  function useSidebar() {
5174
- const context = React10.useContext(SidebarContext);
5345
+ const context = React11.useContext(SidebarContext);
5175
5346
  if (!context) {
5176
5347
  throw new Error("useSidebar must be used within a SidebarProvider.");
5177
5348
  }
@@ -5194,10 +5365,10 @@ function SidebarProvider(_a) {
5194
5365
  "children"
5195
5366
  ]);
5196
5367
  const isMobile = useIsMobile();
5197
- const [openMobile, setOpenMobile] = React10.useState(false);
5198
- const [_open, _setOpen] = React10.useState(defaultOpen);
5368
+ const [openMobile, setOpenMobile] = React11.useState(false);
5369
+ const [_open, _setOpen] = React11.useState(defaultOpen);
5199
5370
  const open = openProp != null ? openProp : _open;
5200
- const setOpen = React10.useCallback(
5371
+ const setOpen = React11.useCallback(
5201
5372
  (value) => {
5202
5373
  const openState = typeof value === "function" ? value(open) : value;
5203
5374
  if (setOpenProp) {
@@ -5209,10 +5380,10 @@ function SidebarProvider(_a) {
5209
5380
  },
5210
5381
  [setOpenProp, open]
5211
5382
  );
5212
- const toggleSidebar = React10.useCallback(() => {
5383
+ const toggleSidebar = React11.useCallback(() => {
5213
5384
  return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
5214
5385
  }, [isMobile, setOpen, setOpenMobile]);
5215
- React10.useEffect(() => {
5386
+ React11.useEffect(() => {
5216
5387
  const handleKeyDown = (event) => {
5217
5388
  if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
5218
5389
  event.preventDefault();
@@ -5223,7 +5394,7 @@ function SidebarProvider(_a) {
5223
5394
  return () => window.removeEventListener("keydown", handleKeyDown);
5224
5395
  }, [toggleSidebar]);
5225
5396
  const state = open ? "expanded" : "collapsed";
5226
- const contextValue = React10.useMemo(
5397
+ const contextValue = React11.useMemo(
5227
5398
  () => ({
5228
5399
  state,
5229
5400
  open,
@@ -5282,7 +5453,7 @@ function Sidebar(_a) {
5282
5453
  );
5283
5454
  }
5284
5455
  if (isMobile) {
5285
- return /* @__PURE__ */ jsx50(Sheet, __spreadProps(__spreadValues({ open: openMobile, onOpenChange: setOpenMobile }, props), { children: /* @__PURE__ */ jsxs24(
5456
+ return /* @__PURE__ */ jsx50(Sheet, __spreadProps(__spreadValues({ open: openMobile, onOpenChange: setOpenMobile }, props), { children: /* @__PURE__ */ jsxs25(
5286
5457
  SheetContent,
5287
5458
  {
5288
5459
  "data-sidebar": "sidebar",
@@ -5294,7 +5465,7 @@ function Sidebar(_a) {
5294
5465
  },
5295
5466
  side,
5296
5467
  children: [
5297
- /* @__PURE__ */ jsxs24(SheetHeader, { className: "sr-only", children: [
5468
+ /* @__PURE__ */ jsxs25(SheetHeader, { className: "sr-only", children: [
5298
5469
  /* @__PURE__ */ jsx50(SheetTitle, { children: "Sidebar" }),
5299
5470
  /* @__PURE__ */ jsx50(SheetDescription, { children: "Displays the mobile sidebar." })
5300
5471
  ] }),
@@ -5303,7 +5474,7 @@ function Sidebar(_a) {
5303
5474
  }
5304
5475
  ) }));
5305
5476
  }
5306
- return /* @__PURE__ */ jsxs24(
5477
+ return /* @__PURE__ */ jsxs25(
5307
5478
  "div",
5308
5479
  {
5309
5480
  className: "group peer hidden text-sidebar-foreground md:block",
@@ -5361,7 +5532,7 @@ function SidebarTrigger(_a) {
5361
5532
  "onClick"
5362
5533
  ]);
5363
5534
  const { toggleSidebar } = useSidebar();
5364
- return /* @__PURE__ */ jsxs24(
5535
+ return /* @__PURE__ */ jsxs25(
5365
5536
  Button,
5366
5537
  __spreadProps(__spreadValues({
5367
5538
  "data-sidebar": "trigger",
@@ -5635,7 +5806,7 @@ function SidebarMenuButton(_a) {
5635
5806
  children: tooltip
5636
5807
  };
5637
5808
  }
5638
- return /* @__PURE__ */ jsxs24(Tooltip2, { children: [
5809
+ return /* @__PURE__ */ jsxs25(Tooltip2, { children: [
5639
5810
  /* @__PURE__ */ jsx50(TooltipTrigger, { asChild: true, children: button }),
5640
5811
  /* @__PURE__ */ jsx50(
5641
5812
  TooltipContent,
@@ -5709,7 +5880,7 @@ function SidebarMenuSkeleton(_a) {
5709
5880
  "showIcon"
5710
5881
  ]);
5711
5882
  const width = "70%";
5712
- return /* @__PURE__ */ jsxs24(
5883
+ return /* @__PURE__ */ jsxs25(
5713
5884
  "div",
5714
5885
  __spreadProps(__spreadValues({
5715
5886
  "data-slot": "sidebar-menu-skeleton",
@@ -5801,9 +5972,9 @@ function SidebarMenuSubButton(_a) {
5801
5972
  }
5802
5973
 
5803
5974
  // components/ui/slider.tsx
5804
- import * as React11 from "react";
5975
+ import * as React12 from "react";
5805
5976
  import { Slider as SliderPrimitive } from "radix-ui";
5806
- import { jsx as jsx51, jsxs as jsxs25 } from "react/jsx-runtime";
5977
+ import { jsx as jsx51, jsxs as jsxs26 } from "react/jsx-runtime";
5807
5978
  function Slider(_a) {
5808
5979
  var _b = _a, {
5809
5980
  className,
@@ -5818,11 +5989,11 @@ function Slider(_a) {
5818
5989
  "min",
5819
5990
  "max"
5820
5991
  ]);
5821
- const _values = React11.useMemo(
5992
+ const _values = React12.useMemo(
5822
5993
  () => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max],
5823
5994
  [value, defaultValue, min, max]
5824
5995
  );
5825
- return /* @__PURE__ */ jsxs25(
5996
+ return /* @__PURE__ */ jsxs26(
5826
5997
  SliderPrimitive.Root,
5827
5998
  __spreadProps(__spreadValues({
5828
5999
  "data-slot": "slider",
@@ -5916,9 +6087,9 @@ var Toaster = (_a) => {
5916
6087
  };
5917
6088
 
5918
6089
  // components/ui/stepper.tsx
5919
- import * as React12 from "react";
6090
+ import * as React13 from "react";
5920
6091
  import { Minus, Plus } from "lucide-react";
5921
- import { jsx as jsx53, jsxs as jsxs26 } from "react/jsx-runtime";
6092
+ import { jsx as jsx53, jsxs as jsxs27 } from "react/jsx-runtime";
5922
6093
  function clamp(value, min, max) {
5923
6094
  return Math.min(Math.max(value, min), max);
5924
6095
  }
@@ -5952,16 +6123,16 @@ function Stepper({
5952
6123
  }) {
5953
6124
  const { container, buttonSize, iconClass } = stepperSizeConfig[size];
5954
6125
  const isControlled = controlledValue !== void 0;
5955
- const [internalValue, setInternalValue] = React12.useState(
6126
+ const [internalValue, setInternalValue] = React13.useState(
5956
6127
  clamp(defaultValue, min, max)
5957
6128
  );
5958
6129
  const currentValue = isControlled ? controlledValue : internalValue;
5959
6130
  const decimalPlaces = getDecimalPlaces(step);
5960
- const [displayString, setDisplayString] = React12.useState(
6131
+ const [displayString, setDisplayString] = React13.useState(
5961
6132
  formatValue(currentValue, decimalPlaces)
5962
6133
  );
5963
- const [isFocused, setIsFocused] = React12.useState(false);
5964
- React12.useEffect(() => {
6134
+ const [isFocused, setIsFocused] = React13.useState(false);
6135
+ React13.useEffect(() => {
5965
6136
  if (!isFocused) {
5966
6137
  setDisplayString(formatValue(currentValue, decimalPlaces));
5967
6138
  }
@@ -6011,7 +6182,7 @@ function Stepper({
6011
6182
  }
6012
6183
  }
6013
6184
  }
6014
- return /* @__PURE__ */ jsxs26(
6185
+ return /* @__PURE__ */ jsxs27(
6015
6186
  InputGroup,
6016
6187
  {
6017
6188
  "data-slot": "stepper",
@@ -6051,7 +6222,7 @@ function Stepper({
6051
6222
  className: "text-center [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none"
6052
6223
  }
6053
6224
  ),
6054
- /* @__PURE__ */ jsxs26(InputGroupAddon, { align: "inline-end", children: [
6225
+ /* @__PURE__ */ jsxs27(InputGroupAddon, { align: "inline-end", children: [
6055
6226
  /* @__PURE__ */ jsx53(InputGroupText, { className: "font-normal text-on-subtle", children: "USDT" }),
6056
6227
  /* @__PURE__ */ jsx53(
6057
6228
  InputGroupButton,
@@ -6319,8 +6490,8 @@ function TabsContent(_a) {
6319
6490
  }
6320
6491
 
6321
6492
  // 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";
6493
+ import { ArrowRight as ArrowRight2, Info as Info2 } from "lucide-react";
6494
+ import { Fragment as Fragment4, jsx as jsx57, jsxs as jsxs28 } from "react/jsx-runtime";
6324
6495
  function formatBalanceValue(raw) {
6325
6496
  const match = raw.match(/^(\D*)([\d,]+(?:\.\d+)?)(\D*)$/);
6326
6497
  if (!match) return raw;
@@ -6344,14 +6515,14 @@ function TicketCard({
6344
6515
  stubDisabled = false,
6345
6516
  compact = false
6346
6517
  }) {
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: [
6518
+ 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: [
6519
+ /* @__PURE__ */ jsxs28("div", { className: cn("flex flex-1 items-center overflow-hidden", compact ? "gap-2 px-2" : "gap-4 px-4"), children: [
6349
6520
  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: [
6521
+ /* @__PURE__ */ jsxs28("div", { className: "flex h-11 flex-col justify-center gap-1 whitespace-nowrap", children: [
6351
6522
  /* @__PURE__ */ jsx57("p", { className: "text-xs text-on-subtle", children: label }),
6352
- /* @__PURE__ */ jsxs27("p", { className: "leading-none", children: [
6523
+ /* @__PURE__ */ jsxs28("p", { className: "leading-none", children: [
6353
6524
  /* @__PURE__ */ jsx57("span", { className: "text-[20px] font-bold text-on-prominent", children: formatBalanceValue(value) }),
6354
- currency && /* @__PURE__ */ jsxs27(Fragment3, { children: [
6525
+ currency && /* @__PURE__ */ jsxs28(Fragment4, { children: [
6355
6526
  " ",
6356
6527
  /* @__PURE__ */ jsx57("span", { className: "text-sm text-on-subtle", children: currency })
6357
6528
  ] })
@@ -6371,7 +6542,7 @@ function TicketCard({
6371
6542
  }
6372
6543
  }
6373
6544
  ),
6374
- /* @__PURE__ */ jsxs27(
6545
+ /* @__PURE__ */ jsxs28(
6375
6546
  "button",
6376
6547
  {
6377
6548
  type: "button",
@@ -6422,30 +6593,30 @@ function CreditTicketCard({
6422
6593
  badgeInfoCloseLabel,
6423
6594
  compact = false
6424
6595
  }) {
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: [
6596
+ 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
6597
  (() => {
6427
6598
  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: [
6599
+ const creditBadge = /* @__PURE__ */ jsxs28(Badge, { variant: "fill-credit", size: "sm", className: "!gap-1 !font-medium !tracking-normal", children: [
6429
6600
  badgeIcon,
6430
6601
  badgeText,
6431
- badgeInfo && /* @__PURE__ */ jsx57(TooltipProvider, { children: /* @__PURE__ */ jsxs27(Tooltip2, { children: [
6602
+ badgeInfo && /* @__PURE__ */ jsx57(TooltipProvider, { children: /* @__PURE__ */ jsxs28(Tooltip2, { children: [
6432
6603
  /* @__PURE__ */ jsx57(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx57(
6433
6604
  "button",
6434
6605
  {
6435
6606
  type: "button",
6436
6607
  "aria-label": `More info about ${badgeLabel.toLowerCase()}`,
6437
6608
  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 })
6609
+ children: /* @__PURE__ */ jsx57(Info2, { className: "!size-3.5", strokeWidth: 2 })
6439
6610
  }
6440
6611
  ) }),
6441
6612
  /* @__PURE__ */ jsx57(TooltipContent, { side: badgeInfoSide, align: badgeInfoAlign, title: badgeInfoTitle, closeLabel: badgeInfoCloseLabel, variant: "inverse", className: "max-w-xs whitespace-normal", children: badgeInfo })
6442
6613
  ] }) })
6443
6614
  ] });
6444
- const labelValue = /* @__PURE__ */ jsxs27("div", { className: "flex h-11 flex-col justify-center gap-1 whitespace-nowrap", children: [
6615
+ const labelValue = /* @__PURE__ */ jsxs28("div", { className: "flex h-11 flex-col justify-center gap-1 whitespace-nowrap", children: [
6445
6616
  /* @__PURE__ */ jsx57("p", { className: "text-xs text-on-subtle", children: label }),
6446
- /* @__PURE__ */ jsxs27("p", { className: "leading-none", children: [
6617
+ /* @__PURE__ */ jsxs28("p", { className: "leading-none", children: [
6447
6618
  /* @__PURE__ */ jsx57("span", { className: "text-[20px] font-bold text-on-prominent", children: formatBalanceValue(value) }),
6448
- currency && /* @__PURE__ */ jsxs27(Fragment3, { children: [
6619
+ currency && /* @__PURE__ */ jsxs28(Fragment4, { children: [
6449
6620
  " ",
6450
6621
  /* @__PURE__ */ jsx57("span", { className: "text-sm text-on-subtle", children: currency })
6451
6622
  ] })
@@ -6458,20 +6629,20 @@ function CreditTicketCard({
6458
6629
  "flex flex-1 overflow-hidden",
6459
6630
  compact ? "flex-col gap-2 px-2 py-4" : "items-center gap-4 px-4 py-4"
6460
6631
  ),
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: [
6632
+ children: compact ? /* @__PURE__ */ jsxs28("div", { className: "flex flex-1 flex-col gap-2", children: [
6633
+ /* @__PURE__ */ jsxs28("div", { className: "flex items-center gap-2", children: [
6463
6634
  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
6635
  labelValue
6465
6636
  ] }),
6466
6637
  /* @__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: [
6638
+ ] }) : /* @__PURE__ */ jsxs28(Fragment4, { children: [
6468
6639
  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: [
6640
+ /* @__PURE__ */ jsxs28("div", { className: "flex flex-col gap-1 whitespace-nowrap", children: [
6470
6641
  /* @__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: [
6642
+ /* @__PURE__ */ jsxs28("div", { className: "flex items-center gap-4", children: [
6643
+ /* @__PURE__ */ jsxs28("p", { className: "leading-none", children: [
6473
6644
  /* @__PURE__ */ jsx57("span", { className: "text-[20px] font-bold text-on-prominent", children: formatBalanceValue(value) }),
6474
- currency && /* @__PURE__ */ jsxs27(Fragment3, { children: [
6645
+ currency && /* @__PURE__ */ jsxs28(Fragment4, { children: [
6475
6646
  " ",
6476
6647
  /* @__PURE__ */ jsx57("span", { className: "text-sm text-on-subtle", children: currency })
6477
6648
  ] })
@@ -6496,7 +6667,7 @@ function CreditTicketCard({
6496
6667
  }
6497
6668
  }
6498
6669
  ),
6499
- /* @__PURE__ */ jsxs27(
6670
+ /* @__PURE__ */ jsxs28(
6500
6671
  "button",
6501
6672
  {
6502
6673
  type: "button",
@@ -6573,10 +6744,10 @@ function Toggle(_a) {
6573
6744
  }
6574
6745
 
6575
6746
  // components/ui/toggle-group.tsx
6576
- import * as React13 from "react";
6747
+ import * as React14 from "react";
6577
6748
  import { ToggleGroup as ToggleGroupPrimitive } from "radix-ui";
6578
6749
  import { jsx as jsx59 } from "react/jsx-runtime";
6579
- var ToggleGroupContext = React13.createContext({
6750
+ var ToggleGroupContext = React14.createContext({
6580
6751
  size: "default",
6581
6752
  variant: "default",
6582
6753
  spacing: 0
@@ -6624,7 +6795,7 @@ function ToggleGroupItem(_a) {
6624
6795
  "variant",
6625
6796
  "size"
6626
6797
  ]);
6627
- const context = React13.useContext(ToggleGroupContext);
6798
+ const context = React14.useContext(ToggleGroupContext);
6628
6799
  return /* @__PURE__ */ jsx59(
6629
6800
  ToggleGroupPrimitive.Item,
6630
6801
  __spreadProps(__spreadValues({
@@ -6648,7 +6819,7 @@ function ToggleGroupItem(_a) {
6648
6819
  }
6649
6820
 
6650
6821
  // components/blocks/result-block.tsx
6651
- import { Fragment as Fragment4, jsx as jsx60, jsxs as jsxs28 } from "react/jsx-runtime";
6822
+ import { Fragment as Fragment5, jsx as jsx60, jsxs as jsxs29 } from "react/jsx-runtime";
6652
6823
  var THUMBS_UP_DATA_URL = "data:image/webp;base64,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";
6653
6824
  var THUMBS_DOWN_DATA_URL = "data:image/webp;base64,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";
6654
6825
  function ResultBlock({
@@ -6665,8 +6836,8 @@ function ResultBlock({
6665
6836
  const signedAmount = isWin ? `+${amount}` : `\u2212${amount}`;
6666
6837
  const amountColorClass = isWin ? "text-semantic-win" : "text-semantic-loss";
6667
6838
  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: [
6839
+ return /* @__PURE__ */ jsxs29(Card, { className: "w-80 shrink-0 overflow-hidden rounded-md shadow-sm px-5 py-5 items-center gap-3", children: [
6840
+ /* @__PURE__ */ jsxs29("div", { className: "relative flex items-center justify-center py-2", children: [
6670
6841
  /* @__PURE__ */ jsx60(
6671
6842
  "span",
6672
6843
  {
@@ -6686,24 +6857,24 @@ function ResultBlock({
6686
6857
  )
6687
6858
  ] }),
6688
6859
  /* @__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: [
6860
+ /* @__PURE__ */ jsxs29("p", { className: `flex items-baseline gap-1.5 ${amountColorClass}`, children: [
6690
6861
  /* @__PURE__ */ jsx60("span", { className: "font-display text-4xl font-bold tabular-nums tracking-tight", children: signedAmount }),
6691
6862
  /* @__PURE__ */ jsx60("span", { className: "text-lg font-semibold", children: currency })
6692
6863
  ] }),
6693
- /* @__PURE__ */ jsxs28("div", { className: "flex items-center gap-2", children: [
6694
- /* @__PURE__ */ jsxs28(Badge, { variant: "standard", size: "sm", children: [
6864
+ /* @__PURE__ */ jsxs29("div", { className: "flex items-center gap-2", children: [
6865
+ /* @__PURE__ */ jsxs29(Badge, { variant: "standard", size: "sm", children: [
6695
6866
  contractLabel,
6696
- pickedDigit !== void 0 && /* @__PURE__ */ jsxs28(Fragment4, { children: [
6867
+ pickedDigit !== void 0 && /* @__PURE__ */ jsxs29(Fragment5, { children: [
6697
6868
  /* @__PURE__ */ jsx60("span", { "aria-hidden": true, className: "h-3 w-px bg-border-prominent/40 mx-1" }),
6698
6869
  /* @__PURE__ */ jsx60("span", { className: "tabular-nums", children: pickedDigit })
6699
6870
  ] })
6700
6871
  ] }),
6701
6872
  /* @__PURE__ */ jsx60(Badge, { variant: "standard", size: "sm", children: duration })
6702
6873
  ] }),
6703
- /* @__PURE__ */ jsxs28("div", { className: "w-full pt-2", children: [
6874
+ /* @__PURE__ */ jsxs29("div", { className: "w-full pt-2", children: [
6704
6875
  ctaMode === "next-round" && /* @__PURE__ */ jsx60(Button, { className: "w-full", children: "Next round" }),
6705
6876
  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: [
6877
+ ctaMode === "conversion" && /* @__PURE__ */ jsxs29("div", { className: "w-full flex flex-col gap-3", children: [
6707
6878
  /* @__PURE__ */ jsx60("p", { className: "text-center text-base font-semibold text-on-prominent", children: "Ready to play for real?" }),
6708
6879
  /* @__PURE__ */ jsx60(Button, { className: "w-full", children: "Deposit now" }),
6709
6880
  /* @__PURE__ */ jsx60(Button, { variant: "secondary", className: "w-full", children: "Stay in demo" })
@@ -6717,12 +6888,12 @@ function ResultDialog({
6717
6888
  primaryLabel,
6718
6889
  secondaryLabel
6719
6890
  }) {
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: [
6891
+ return /* @__PURE__ */ jsxs29(Card, { className: "w-80 shrink-0 overflow-hidden rounded-md shadow-sm px-5 py-6 items-center gap-4", children: [
6892
+ /* @__PURE__ */ jsxs29("div", { className: "flex flex-col items-center gap-2 text-center", children: [
6722
6893
  /* @__PURE__ */ jsx60("p", { className: "text-lg font-semibold text-on-prominent", children: title }),
6723
6894
  /* @__PURE__ */ jsx60("p", { className: "text-sm text-on-subtle", children: body })
6724
6895
  ] }),
6725
- /* @__PURE__ */ jsxs28("div", { className: "w-full flex flex-col gap-2", children: [
6896
+ /* @__PURE__ */ jsxs29("div", { className: "w-full flex flex-col gap-2", children: [
6726
6897
  /* @__PURE__ */ jsx60(Button, { className: "w-full", children: primaryLabel }),
6727
6898
  /* @__PURE__ */ jsx60(Button, { variant: "secondary", className: "w-full", children: secondaryLabel })
6728
6899
  ] })
@@ -6731,7 +6902,7 @@ function ResultDialog({
6731
6902
 
6732
6903
  // components/blocks/header-navigation-block.tsx
6733
6904
  import { ArrowLeft as ArrowLeft2, History } from "lucide-react";
6734
- import { jsx as jsx61, jsxs as jsxs29 } from "react/jsx-runtime";
6905
+ import { jsx as jsx61, jsxs as jsxs30 } from "react/jsx-runtime";
6735
6906
  function HeaderNavigationBlock({
6736
6907
  onBack,
6737
6908
  badge,
@@ -6740,14 +6911,14 @@ function HeaderNavigationBlock({
6740
6911
  actions
6741
6912
  }) {
6742
6913
  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: [
6914
+ return /* @__PURE__ */ jsx61("div", { className: "w-full min-w-80 max-w-layout-diagram-small 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
6915
  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: [
6916
+ /* @__PURE__ */ jsxs30("div", { className: "flex min-w-0 flex-1 items-center justify-center gap-2", children: [
6746
6917
  badge && /* @__PURE__ */ jsx61(Badge, { variant: (_a = badge.variant) != null ? _a : "fill-warning", size: "sm", children: badge.label }),
6747
6918
  /* @__PURE__ */ jsx61("span", { className: "font-display font-semibold tabular-nums text-on-prominent", children: balance.amount }),
6748
6919
  /* @__PURE__ */ jsx61("span", { className: "text-sm text-on-subtle", children: balance.currency })
6749
6920
  ] }),
6750
- /* @__PURE__ */ jsxs29("div", { className: "flex shrink-0 items-center gap-1", children: [
6921
+ /* @__PURE__ */ jsxs30("div", { className: "flex shrink-0 items-center gap-1", children: [
6751
6922
  history && /* @__PURE__ */ jsx61(HistoryButton, __spreadValues({}, history)),
6752
6923
  actions
6753
6924
  ] })
@@ -6761,7 +6932,7 @@ function HistoryButton({
6761
6932
  const show = typeof count === "number" && count > 0;
6762
6933
  const label = show ? count > 99 ? "99+" : String(count) : null;
6763
6934
  const ariaLabel = ariaLabelOverride != null ? ariaLabelOverride : show ? `Open history, ${count} new` : "Open history";
6764
- return /* @__PURE__ */ jsxs29("div", { className: "relative inline-flex", children: [
6935
+ return /* @__PURE__ */ jsxs30("div", { className: "relative inline-flex", children: [
6765
6936
  /* @__PURE__ */ jsx61(NavigationButton, { type: "button", size: "md", "aria-label": ariaLabel, onClick, children: /* @__PURE__ */ jsx61(History, { className: "size-5" }) }),
6766
6937
  show && /* @__PURE__ */ jsx61(
6767
6938
  "span",
@@ -6775,7 +6946,7 @@ function HistoryButton({
6775
6946
  }
6776
6947
 
6777
6948
  // components/blocks/faq-block.tsx
6778
- import { jsx as jsx62, jsxs as jsxs30 } from "react/jsx-runtime";
6949
+ import { jsx as jsx62, jsxs as jsxs31 } from "react/jsx-runtime";
6779
6950
  function FAQBlock({
6780
6951
  eyebrow = "FAQ Section",
6781
6952
  title = "Frequently asked questions",
@@ -6791,8 +6962,8 @@ function FAQBlock({
6791
6962
  const helpCardPaddingClass = layout === "desktop" ? "p-8" : "p-6";
6792
6963
  const gapClass = layout === "desktop" ? "gap-12" : "gap-10";
6793
6964
  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: [
6965
+ return /* @__PURE__ */ jsxs31("div", { className: `w-full flex flex-col ${gapClass}`, children: [
6966
+ /* @__PURE__ */ jsxs31("div", { className: `flex flex-col ${headerGapClass} items-center w-full`, children: [
6796
6967
  /* @__PURE__ */ jsx62("span", { className: "text-sm text-on-subtle font-body", children: eyebrow }),
6797
6968
  /* @__PURE__ */ jsx62("h2", { className: headingClass, children: title }),
6798
6969
  intro && /* @__PURE__ */ jsx62("p", { className: "text-lg text-on-subtle font-body text-center", children: intro })
@@ -6804,14 +6975,14 @@ function FAQBlock({
6804
6975
  collapsible: true,
6805
6976
  defaultValue: defaultValue != null ? defaultValue : (_a = items[0]) == null ? void 0 : _a.value,
6806
6977
  className: "w-full",
6807
- children: items.map(({ value, question, answer }) => /* @__PURE__ */ jsxs30(AccordionItem, { value, children: [
6978
+ children: items.map(({ value, question, answer }) => /* @__PURE__ */ jsxs31(AccordionItem, { value, children: [
6808
6979
  /* @__PURE__ */ jsx62(AccordionTrigger, { className: "text-base font-medium font-body text-on-prominent hover:no-underline", children: question }),
6809
6980
  /* @__PURE__ */ jsx62(AccordionContent, { children: /* @__PURE__ */ jsx62("p", { className: "text-sm text-on-subtle font-body pb-4", children: answer }) })
6810
6981
  ] }, value))
6811
6982
  }
6812
6983
  ),
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: [
6984
+ helpCard && /* @__PURE__ */ jsxs31("div", { className: `flex flex-col gap-6 items-center w-full bg-subtle rounded-xl ${helpCardPaddingClass}`, children: [
6985
+ /* @__PURE__ */ jsxs31("div", { className: "flex flex-col gap-2 w-full", children: [
6815
6986
  /* @__PURE__ */ jsx62("h3", { className: helpTitleClass, children: helpCard.title }),
6816
6987
  /* @__PURE__ */ jsx62("p", { className: "text-base text-on-subtle font-body", children: helpCard.body })
6817
6988
  ] }),
@@ -6822,7 +6993,7 @@ function FAQBlock({
6822
6993
 
6823
6994
  // components/blocks/hero-block.tsx
6824
6995
  import { ArrowRight as ArrowRight3, ArrowUpRight } from "lucide-react";
6825
- import { jsx as jsx63, jsxs as jsxs31 } from "react/jsx-runtime";
6996
+ import { jsx as jsx63, jsxs as jsxs32 } from "react/jsx-runtime";
6826
6997
  function HeroBlock({
6827
6998
  layout = "centered",
6828
6999
  tagline,
@@ -6833,26 +7004,26 @@ function HeroBlock({
6833
7004
  image
6834
7005
  }) {
6835
7006
  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: [
7007
+ 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: [
7008
+ /* @__PURE__ */ jsxs32("div", { className: "flex flex-col items-center gap-6 w-full", children: [
6838
7009
  tagline && /* @__PURE__ */ jsx63(TaglinePill, __spreadValues({}, tagline)),
6839
7010
  /* @__PURE__ */ jsx63("h1", { className: "text-5xl font-semibold font-display tracking-tight text-on-prominent text-center", children: heading }),
6840
7011
  /* @__PURE__ */ jsx63("p", { className: "text-lg font-body text-on-subtle text-center", children: body })
6841
7012
  ] }),
6842
- /* @__PURE__ */ jsxs31(Button, { size: "sm", onClick: primaryCta.onClick, children: [
7013
+ /* @__PURE__ */ jsxs32(Button, { size: "sm", onClick: primaryCta.onClick, children: [
6843
7014
  primaryCta.label,
6844
7015
  primaryCta.trailingArrow !== false && /* @__PURE__ */ jsx63(ArrowRight3, { className: "size-4" })
6845
7016
  ] })
6846
7017
  ] }) });
6847
7018
  }
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: [
7019
+ 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: [
7020
+ /* @__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: [
7021
+ /* @__PURE__ */ jsxs32("div", { className: "flex flex-col gap-5 min-[600px]:gap-6 items-center min-[600px]:items-start w-full", children: [
6851
7022
  tagline && /* @__PURE__ */ jsx63(TaglinePill, __spreadProps(__spreadValues({}, tagline), { responsive: true })),
6852
7023
  /* @__PURE__ */ jsx63("h1", { className: "text-4xl min-[600px]:text-5xl font-semibold font-display tracking-tight text-on-prominent", children: heading }),
6853
7024
  /* @__PURE__ */ jsx63("p", { className: "text-lg font-body text-on-subtle", children: body })
6854
7025
  ] }),
6855
- /* @__PURE__ */ jsxs31("div", { className: "flex items-center justify-center min-[600px]:justify-start gap-2", children: [
7026
+ /* @__PURE__ */ jsxs32("div", { className: "flex items-center justify-center min-[600px]:justify-start gap-2", children: [
6856
7027
  /* @__PURE__ */ jsx63(Button, { size: "sm", onClick: primaryCta.onClick, children: primaryCta.label }),
6857
7028
  secondaryCta && /* @__PURE__ */ jsx63(Button, { variant: "secondary", size: "sm", onClick: secondaryCta.onClick, children: secondaryCta.label })
6858
7029
  ] })
@@ -6865,15 +7036,15 @@ function TaglinePill({
6865
7036
  suffix,
6866
7037
  responsive
6867
7038
  }) {
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: [
7039
+ 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
7040
  /* @__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: [
7041
+ responsive && suffix ? /* @__PURE__ */ jsxs32("span", { className: "text-sm font-body text-on-prominent whitespace-nowrap", children: [
7042
+ /* @__PURE__ */ jsxs32("span", { className: "hidden min-[600px]:inline", children: [
6872
7043
  label,
6873
7044
  /* @__PURE__ */ jsx63("span", { className: "text-on-subtle", children: " \xB7 " })
6874
7045
  ] }),
6875
7046
  /* @__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: [
7047
+ ] }) : /* @__PURE__ */ jsxs32("span", { className: "text-sm font-body text-on-prominent whitespace-nowrap", children: [
6877
7048
  label,
6878
7049
  suffix && /* @__PURE__ */ jsx63("span", { className: "text-on-subtle", children: ` \xB7 ${suffix}` })
6879
7050
  ] }),
@@ -6882,8 +7053,8 @@ function TaglinePill({
6882
7053
  }
6883
7054
 
6884
7055
  // components/blocks/auth-block.tsx
6885
- import * as React14 from "react";
6886
- import { jsx as jsx64, jsxs as jsxs32 } from "react/jsx-runtime";
7056
+ import * as React15 from "react";
7057
+ import { jsx as jsx64, jsxs as jsxs33 } from "react/jsx-runtime";
6887
7058
  function AuthBlock({
6888
7059
  mode,
6889
7060
  logoSrc,
@@ -6898,15 +7069,15 @@ function AuthBlock({
6898
7069
  const ctaText = mode === "sign-in" ? "Sign in" : "Sign up";
6899
7070
  const footerPrompt = mode === "sign-in" ? "Don't have an account?" : "Already have an account?";
6900
7071
  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: [
7072
+ const [email, setEmail] = React15.useState("");
7073
+ return /* @__PURE__ */ jsxs33("div", { className: "flex flex-col items-center gap-6 w-full", children: [
7074
+ /* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-2", children: [
6904
7075
  /* @__PURE__ */ jsx64("img", { src: logoSrc, alt: wordmark, className: "size-8 object-contain" }),
6905
7076
  /* @__PURE__ */ jsx64("span", { className: "font-display font-semibold text-base text-on-prominent tracking-tight", children: wordmark })
6906
7077
  ] }),
6907
7078
  /* @__PURE__ */ jsx64("h2", { className: "text-3xl font-bold font-display text-on-prominent text-center", children: headingText }),
6908
7079
  /* @__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: [
7080
+ /* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-3 w-full", children: [
6910
7081
  /* @__PURE__ */ jsx64("div", { className: "flex-1 h-px bg-border-subtle" }),
6911
7082
  /* @__PURE__ */ jsx64("span", { className: "text-sm text-on-subtle font-body", children: "or" }),
6912
7083
  /* @__PURE__ */ jsx64("div", { className: "flex-1 h-px bg-border-subtle" })
@@ -6922,14 +7093,14 @@ function AuthBlock({
6922
7093
  onChange: (e) => setEmail(e.target.value)
6923
7094
  }
6924
7095
  ) }),
6925
- /* @__PURE__ */ jsxs32("p", { className: "text-sm text-on-subtle font-body text-left w-full", children: [
7096
+ /* @__PURE__ */ jsxs33("p", { className: "text-sm text-on-subtle font-body text-left w-full", children: [
6926
7097
  termsText,
6927
7098
  ", you agree to our",
6928
7099
  " ",
6929
7100
  /* @__PURE__ */ jsx64(Link, { size: "sm", href: "#", children: "Terms & Conditions" })
6930
7101
  ] }),
6931
7102
  /* @__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: [
7103
+ /* @__PURE__ */ jsxs33("p", { className: "text-sm text-on-subtle font-body text-center", children: [
6933
7104
  footerPrompt,
6934
7105
  " ",
6935
7106
  /* @__PURE__ */ jsx64(Link, { size: "sm", href: crossLinkHref, children: footerLinkLabel })
@@ -6939,8 +7110,8 @@ function AuthBlock({
6939
7110
  function ProviderButton({ provider }) {
6940
7111
  switch (provider) {
6941
7112
  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: [
7113
+ return /* @__PURE__ */ jsxs33(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
7114
+ /* @__PURE__ */ jsxs33("svg", { width: "18", height: "18", viewBox: "0 0 18 18", "aria-hidden": "true", fill: "none", className: "shrink-0", children: [
6944
7115
  /* @__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
7116
  /* @__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
7117
  /* @__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 +7120,8 @@ function ProviderButton({ provider }) {
6949
7120
  "Continue with Google"
6950
7121
  ] });
6951
7122
  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: [
7123
+ return /* @__PURE__ */ jsxs33(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
7124
+ /* @__PURE__ */ jsxs33("svg", { width: "18", height: "18", viewBox: "0 0 18 18", "aria-hidden": "true", fill: "none", className: "shrink-0", children: [
6954
7125
  /* @__PURE__ */ jsx64("circle", { cx: "9", cy: "9", r: "9", fill: "#29B6F6" }),
6955
7126
  /* @__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
7127
  /* @__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 +7129,7 @@ function ProviderButton({ provider }) {
6958
7129
  "Continue with Telegram"
6959
7130
  ] });
6960
7131
  case "x":
6961
- return /* @__PURE__ */ jsxs32(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
7132
+ return /* @__PURE__ */ jsxs33(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
6962
7133
  /* @__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
7134
  "Continue with X (Twitter)"
6964
7135
  ] });
@@ -6966,15 +7137,15 @@ function ProviderButton({ provider }) {
6966
7137
  }
6967
7138
 
6968
7139
  // 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";
7140
+ import * as React16 from "react";
7141
+ import { Menu, X as X2 } from "lucide-react";
7142
+ import { jsx as jsx65, jsxs as jsxs34 } from "react/jsx-runtime";
6972
7143
  function NavBarBlock({ brand, links, signIn, signUp }) {
6973
7144
  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: [
7145
+ const [mobileMenuOpen, setMobileMenuOpen] = React16.useState(false);
7146
+ return /* @__PURE__ */ jsx65("div", { className: "w-full border border-border-subtle rounded-md overflow-hidden", children: /* @__PURE__ */ jsxs34("nav", { className: "bg-prominent", children: [
7147
+ /* @__PURE__ */ jsxs34("div", { className: "flex items-center justify-between px-layout-margin-inline py-3", children: [
7148
+ /* @__PURE__ */ jsxs34("div", { className: "flex items-center gap-6", children: [
6978
7149
  /* @__PURE__ */ jsx65(
6979
7150
  "img",
6980
7151
  {
@@ -6993,7 +7164,7 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
6993
7164
  ),
6994
7165
  /* @__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
7166
  ] }),
6996
- /* @__PURE__ */ jsxs33("div", { className: "hidden min-[600px]:flex items-center gap-2", children: [
7167
+ /* @__PURE__ */ jsxs34("div", { className: "hidden min-[600px]:flex items-center gap-2", children: [
6997
7168
  signIn && /* @__PURE__ */ jsx65(Button, { variant: "tertiary", size: "sm", onClick: signIn.onClick, children: (_a = signIn.label) != null ? _a : "Sign in" }),
6998
7169
  signUp && /* @__PURE__ */ jsx65(Button, { size: "sm", onClick: signUp.onClick, children: (_b = signUp.label) != null ? _b : "Sign up" })
6999
7170
  ] }),
@@ -7006,11 +7177,11 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
7006
7177
  "aria-expanded": mobileMenuOpen,
7007
7178
  className: "min-[600px]:hidden",
7008
7179
  onClick: () => setMobileMenuOpen((prev) => !prev),
7009
- children: mobileMenuOpen ? /* @__PURE__ */ jsx65(X, { className: "size-4" }) : /* @__PURE__ */ jsx65(Menu, { className: "size-4" })
7180
+ children: mobileMenuOpen ? /* @__PURE__ */ jsx65(X2, { className: "size-4" }) : /* @__PURE__ */ jsx65(Menu, { className: "size-4" })
7010
7181
  }
7011
7182
  )
7012
7183
  ] }),
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: [
7184
+ 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
7185
  links.map((l) => /* @__PURE__ */ jsx65(
7015
7186
  Button,
7016
7187
  {
@@ -7022,7 +7193,7 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
7022
7193
  },
7023
7194
  l.label
7024
7195
  )),
7025
- (signIn || signUp) && /* @__PURE__ */ jsxs33("div", { className: "flex flex-col gap-2 pt-3 mt-2 border-t border-border-subtle", children: [
7196
+ (signIn || signUp) && /* @__PURE__ */ jsxs34("div", { className: "flex flex-col gap-2 pt-3 mt-2 border-t border-border-subtle", children: [
7026
7197
  signIn && /* @__PURE__ */ jsx65(Button, { variant: "secondary", size: "sm", className: "w-full", onClick: signIn.onClick, children: (_c = signIn.label) != null ? _c : "Sign in" }),
7027
7198
  signUp && /* @__PURE__ */ jsx65(Button, { size: "sm", className: "w-full", onClick: signUp.onClick, children: (_d = signUp.label) != null ? _d : "Sign up" })
7028
7199
  ] })
@@ -7031,9 +7202,9 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
7031
7202
  }
7032
7203
 
7033
7204
  // 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";
7205
+ import * as React17 from "react";
7206
+ import { History as History2, X as X3 } from "lucide-react";
7207
+ import { jsx as jsx66, jsxs as jsxs35 } from "react/jsx-runtime";
7037
7208
  function OpenPositionsBlock({
7038
7209
  trigger,
7039
7210
  sheetTitle = "Positions",
@@ -7044,24 +7215,24 @@ function OpenPositionsBlock({
7044
7215
  const isMobile = useIsMobile();
7045
7216
  const body = positions.length === 0 ? emptyState != null ? emptyState : /* @__PURE__ */ jsx66(DefaultEmptyState, { onViewHistory }) : /* @__PURE__ */ jsx66(PositionsList, { positions, onViewHistory });
7046
7217
  if (isMobile) {
7047
- return /* @__PURE__ */ jsxs34(Drawer, { children: [
7218
+ return /* @__PURE__ */ jsxs35(Drawer, { children: [
7048
7219
  /* @__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: [
7220
+ /* @__PURE__ */ jsxs35(DrawerContent, { className: "p-0 flex flex-col", children: [
7221
+ /* @__PURE__ */ jsxs35(DrawerHeader, { className: "flex-row items-center justify-between px-4 py-3 shrink-0 text-left", children: [
7051
7222
  /* @__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, {}) }) })
7223
+ /* @__PURE__ */ jsx66(DrawerClose, { asChild: true, children: /* @__PURE__ */ jsx66(NavigationButton, { size: "sm", "aria-label": "Close", children: /* @__PURE__ */ jsx66(X3, {}) }) })
7053
7224
  ] }),
7054
7225
  /* @__PURE__ */ jsx66(Separator, {}),
7055
7226
  body
7056
7227
  ] })
7057
7228
  ] });
7058
7229
  }
7059
- return /* @__PURE__ */ jsxs34(Sheet, { children: [
7230
+ return /* @__PURE__ */ jsxs35(Sheet, { children: [
7060
7231
  /* @__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: [
7232
+ /* @__PURE__ */ jsxs35(SheetContent, { side: "right", showCloseButton: false, className: "p-0 flex flex-col w-80 sm:max-w-xs", children: [
7233
+ /* @__PURE__ */ jsxs35(SheetHeader, { className: "flex-row items-center justify-between px-4 py-3 shrink-0", children: [
7063
7234
  /* @__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, {}) }) })
7235
+ /* @__PURE__ */ jsx66(SheetClose, { asChild: true, children: /* @__PURE__ */ jsx66(NavigationButton, { size: "sm", "aria-label": "Close", children: /* @__PURE__ */ jsx66(X3, {}) }) })
7065
7236
  ] }),
7066
7237
  /* @__PURE__ */ jsx66(Separator, {}),
7067
7238
  body
@@ -7072,8 +7243,8 @@ function PositionsList({
7072
7243
  positions,
7073
7244
  onViewHistory
7074
7245
  }) {
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: [
7246
+ return /* @__PURE__ */ jsxs35("div", { className: "flex flex-col flex-1 min-h-0", children: [
7247
+ /* @__PURE__ */ jsx66(ItemGroup, { className: "min-h-0 overflow-y-auto", children: positions.map((pos, i) => /* @__PURE__ */ jsxs35(React17.Fragment, { children: [
7077
7248
  /* @__PURE__ */ jsx66(PositionRow, { position: pos }),
7078
7249
  i < positions.length - 1 && /* @__PURE__ */ jsx66("div", { className: "h-px mx-4 bg-border-subtle" })
7079
7250
  ] }, i)) }),
@@ -7083,9 +7254,9 @@ function PositionsList({
7083
7254
  }
7084
7255
  function PositionRow({ position }) {
7085
7256
  const { label, suffix } = positionTitleParts(position);
7086
- return /* @__PURE__ */ jsxs34(Item, { size: "sm", children: [
7087
- /* @__PURE__ */ jsxs34(ItemContent, { children: [
7088
- /* @__PURE__ */ jsxs34(ItemTitle, { children: [
7257
+ return /* @__PURE__ */ jsxs35(Item, { size: "sm", children: [
7258
+ /* @__PURE__ */ jsxs35(ItemContent, { children: [
7259
+ /* @__PURE__ */ jsxs35(ItemTitle, { children: [
7089
7260
  /* @__PURE__ */ jsx66("span", { className: "text-on-prominent", children: label }),
7090
7261
  suffix && /* @__PURE__ */ jsx66("span", { className: "text-on-subtle", children: ` ${suffix}` })
7091
7262
  ] }),
@@ -7117,20 +7288,20 @@ function positionTitleParts(p) {
7117
7288
  }
7118
7289
  }
7119
7290
  function MetaNote({ market, duration }) {
7120
- return /* @__PURE__ */ jsxs34("span", { className: "text-xs text-on-subtle whitespace-nowrap", children: [
7291
+ return /* @__PURE__ */ jsxs35("span", { className: "text-xs text-on-subtle whitespace-nowrap", children: [
7121
7292
  market,
7122
7293
  " \xB7 ",
7123
7294
  duration
7124
7295
  ] });
7125
7296
  }
7126
7297
  function PnlMeta({ pnl, win, stake }) {
7127
- return /* @__PURE__ */ jsxs34("div", { className: "flex flex-col items-end gap-0.5", children: [
7298
+ return /* @__PURE__ */ jsxs35("div", { className: "flex flex-col items-end gap-0.5", children: [
7128
7299
  /* @__PURE__ */ jsx66("span", { className: `font-display font-bold tabular-nums text-base ${win ? "text-semantic-win" : "text-semantic-loss"}`, children: pnl }),
7129
7300
  /* @__PURE__ */ jsx66("span", { className: "tabular-nums text-xs text-on-subtle", children: stake })
7130
7301
  ] });
7131
7302
  }
7132
7303
  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: [
7304
+ 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
7305
  /* @__PURE__ */ jsx66(EmptyMedia, { children: /* @__PURE__ */ jsx66(History2, { className: "size-8 text-on-subtle" }) }),
7135
7306
  /* @__PURE__ */ jsx66(EmptyTitle, { className: "text-base leading-6 font-semibold tracking-normal body-md text-on-subtle", children: "No trades yet." }),
7136
7307
  /* @__PURE__ */ jsx66(Button, { variant: "tertiary", size: "md", onClick: onViewHistory, children: "View transaction history" })
@@ -7142,7 +7313,6 @@ export {
7142
7313
  AccordionItem,
7143
7314
  AccordionTrigger,
7144
7315
  Alert,
7145
- AlertDescription,
7146
7316
  AlertDialog,
7147
7317
  AlertDialogAction,
7148
7318
  AlertDialogCancel,
@@ -7155,7 +7325,6 @@ export {
7155
7325
  AlertDialogPortal,
7156
7326
  AlertDialogTitle,
7157
7327
  AlertDialogTrigger,
7158
- AlertTitle,
7159
7328
  AspectRatio,
7160
7329
  AuthBlock,
7161
7330
  Avatar,
@@ -7451,6 +7620,7 @@ export {
7451
7620
  TooltipContent,
7452
7621
  TooltipProvider,
7453
7622
  TooltipTrigger,
7623
+ alertVariants,
7454
7624
  badgeVariants,
7455
7625
  buttonVariants,
7456
7626
  cn,