@codapet/design-system 0.6.0 → 0.6.3

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.mjs CHANGED
@@ -139,31 +139,89 @@ function AlertDescription({
139
139
  );
140
140
  }
141
141
 
142
+ // src/components/ui/alert-banner.tsx
143
+ import { cva as cva2 } from "class-variance-authority";
144
+ import { X } from "lucide-react";
145
+ import "react";
146
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
147
+ var alertBannerVariants = cva2(
148
+ "flex items-start gap-3 w-full rounded-[12px] border px-3 py-4 text-sm leading-5",
149
+ {
150
+ variants: {
151
+ type: {
152
+ informative: "bg-alert-bg-informative border-gray-stroke-light",
153
+ error: "bg-alert-bg-error border-error-stroke-light",
154
+ success: "bg-success-surface-subtle border-success-stroke-light"
155
+ }
156
+ },
157
+ defaultVariants: {
158
+ type: "informative"
159
+ }
160
+ }
161
+ );
162
+ function AlertBanner({
163
+ className,
164
+ type,
165
+ icon,
166
+ heading,
167
+ dismissible = false,
168
+ onDismiss,
169
+ children,
170
+ ...props
171
+ }) {
172
+ return /* @__PURE__ */ jsxs2(
173
+ "div",
174
+ {
175
+ "data-slot": "alert-banner",
176
+ role: "alert",
177
+ className: cn(alertBannerVariants({ type }), className),
178
+ ...props,
179
+ children: [
180
+ icon && /* @__PURE__ */ jsx3("span", { className: "flex items-center justify-center shrink-0 size-5 [&_svg]:size-5", children: icon }),
181
+ /* @__PURE__ */ jsxs2("div", { className: "flex flex-1 flex-col gap-2 min-w-0", children: [
182
+ heading && /* @__PURE__ */ jsx3("p", { className: "font-semibold text-sm leading-5 text-vibrant-text-heading", children: heading }),
183
+ /* @__PURE__ */ jsx3("div", { className: "font-normal text-sm leading-5 text-vibrant-text-body", children })
184
+ ] }),
185
+ dismissible && /* @__PURE__ */ jsx3(
186
+ "button",
187
+ {
188
+ type: "button",
189
+ onClick: onDismiss,
190
+ className: "flex items-center justify-center shrink-0 size-5 text-vibrant-text-body hover:text-vibrant-text-heading transition-colors cursor-pointer",
191
+ "aria-label": "Dismiss",
192
+ children: /* @__PURE__ */ jsx3(X, { className: "size-2.5" })
193
+ }
194
+ )
195
+ ]
196
+ }
197
+ );
198
+ }
199
+
142
200
  // src/components/ui/alert-dialog.tsx
143
201
  import "react";
144
202
  import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
145
203
 
146
204
  // src/components/ui/button.tsx
147
205
  import { Slot } from "@radix-ui/react-slot";
148
- import { cva as cva2 } from "class-variance-authority";
206
+ import { cva as cva3 } from "class-variance-authority";
149
207
  import "react";
150
- import { jsx as jsx3 } from "react/jsx-runtime";
151
- var buttonVariants = cva2(
208
+ import { jsx as jsx4 } from "react/jsx-runtime";
209
+ var buttonVariants = cva3(
152
210
  "cursor-pointer inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md font-semibold transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none relative select-none will-change-auto focus-visible:before:absolute focus-visible:before:-inset-[3px] focus-visible:before:rounded-lg focus-visible:before:ring-2 focus-visible:before:ring-blue-500/80 focus-visible:before:pointer-events-none aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive duration-400",
153
211
  {
154
212
  variants: {
155
213
  variant: {
156
- primary: "bg-primary text-primary-foreground hover:bg-brand-dark active:bg-slate-800 ",
214
+ primary: "bg-primary text-primary-foreground hover:bg-brand-dark active:bg-active-primary",
157
215
  secondary: "bg-brand-subtle text-brand-vibrant hover:bg-primary-surface-light border border-brand-light active:bg-icon-disabled hover:border-transparent active:border-transparent",
158
- tertiary: "bg-gray-surface-light text-zinc-700 hover:bg-gray-surface-default border border-gray-stroke-light active:bg-zinc-400",
159
- outline: "text-zinc-800 border border-gray-surface-default bg-background hover:bg-gray-surface-light hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 active:bg-gray-surface-default",
160
- ghost: "text-brand-vibrant hover:bg-primary-surface-subtle dark:hover:bg-accent/50 active:bg-primary-surface-light",
161
- "ghost-secondary": "text-zinc-800 hover:bg-gray-surface-light hover:text-accent-foreground dark:hover:bg-accent/50 active:bg-gray-surface-default",
162
- "ghost-destructive": "bg-transparent text-red-400 hover:bg-red-50 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60 active:bg-red-100",
163
- link: "text-zinc-800 underline-offset-4 underline hover:bg-none active:bg-none hover:text-brand-vibrant ",
164
- destructive: "bg-error-surface-default text-white hover:bg-red-800 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60 active:bg-error-surface-dark",
165
- "destructive-secondary": "bg-error-surface-light border border-error-stroke-light text-red-400 hover:border-error-surface-default focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60 active:bg-red-100",
166
- "destructive-tertiary": "bg-transparent border border-error-stroke-light text-red-400 hover:bg-red-50 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60 active:bg-red-100"
216
+ tertiary: "bg-gray-surface-light text-foreground-secondary hover:bg-gray-surface-default border border-gray-stroke-light active:bg-gray-surface-default",
217
+ outline: "text-foreground-secondary border border-gray-surface-default bg-background hover:bg-gray-surface-light hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 active:bg-gray-surface-default",
218
+ ghost: "text-brand-vibrant hover:bg-primary-surface-subtle dark:hover:bg-accent/50 active:bg-primary-surface-light",
219
+ "ghost-secondary": "text-foreground-secondary hover:bg-gray-surface-light hover:text-accent-foreground dark:hover:bg-accent/50 active:bg-gray-surface-default",
220
+ "ghost-destructive": "bg-transparent text-destructive-text hover:bg-destructive-hover focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 active:bg-destructive-active",
221
+ link: "text-foreground-secondary underline-offset-4 underline hover:bg-none active:bg-none hover:text-brand-vibrant",
222
+ destructive: "bg-error-surface-default text-primary-foreground hover:bg-destructive-bg-deep focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 active:bg-error-surface-dark",
223
+ "destructive-secondary": "bg-error-surface-light border border-error-stroke-light text-destructive-text hover:border-error-surface-default focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 active:bg-destructive-active",
224
+ "destructive-tertiary": "bg-transparent border border-error-stroke-light text-destructive-text hover:bg-destructive-hover focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 active:bg-destructive-active"
167
225
  },
168
226
  size: {
169
227
  md: "h-10 px-4 py-2 has-[>svg]:px-3 text-lg",
@@ -186,7 +244,7 @@ function Button({
186
244
  ...props
187
245
  }) {
188
246
  const Comp = asChild ? Slot : "button";
189
- return /* @__PURE__ */ jsx3(
247
+ return /* @__PURE__ */ jsx4(
190
248
  Comp,
191
249
  {
192
250
  "data-slot": "button",
@@ -197,27 +255,27 @@ function Button({
197
255
  }
198
256
 
199
257
  // src/components/ui/alert-dialog.tsx
200
- import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
258
+ import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
201
259
  function AlertDialog({
202
260
  ...props
203
261
  }) {
204
- return /* @__PURE__ */ jsx4(AlertDialogPrimitive.Root, { "data-slot": "alert-dialog", ...props });
262
+ return /* @__PURE__ */ jsx5(AlertDialogPrimitive.Root, { "data-slot": "alert-dialog", ...props });
205
263
  }
206
264
  function AlertDialogTrigger({
207
265
  ...props
208
266
  }) {
209
- return /* @__PURE__ */ jsx4(AlertDialogPrimitive.Trigger, { "data-slot": "alert-dialog-trigger", ...props });
267
+ return /* @__PURE__ */ jsx5(AlertDialogPrimitive.Trigger, { "data-slot": "alert-dialog-trigger", ...props });
210
268
  }
211
269
  function AlertDialogPortal({
212
270
  ...props
213
271
  }) {
214
- return /* @__PURE__ */ jsx4(AlertDialogPrimitive.Portal, { "data-slot": "alert-dialog-portal", ...props });
272
+ return /* @__PURE__ */ jsx5(AlertDialogPrimitive.Portal, { "data-slot": "alert-dialog-portal", ...props });
215
273
  }
216
274
  function AlertDialogOverlay({
217
275
  className,
218
276
  ...props
219
277
  }) {
220
- return /* @__PURE__ */ jsx4(
278
+ return /* @__PURE__ */ jsx5(
221
279
  AlertDialogPrimitive.Overlay,
222
280
  {
223
281
  "data-slot": "alert-dialog-overlay",
@@ -233,9 +291,9 @@ function AlertDialogContent({
233
291
  className,
234
292
  ...props
235
293
  }) {
236
- return /* @__PURE__ */ jsxs2(AlertDialogPortal, { children: [
237
- /* @__PURE__ */ jsx4(AlertDialogOverlay, {}),
238
- /* @__PURE__ */ jsx4(
294
+ return /* @__PURE__ */ jsxs3(AlertDialogPortal, { children: [
295
+ /* @__PURE__ */ jsx5(AlertDialogOverlay, {}),
296
+ /* @__PURE__ */ jsx5(
239
297
  AlertDialogPrimitive.Content,
240
298
  {
241
299
  "data-slot": "alert-dialog-content",
@@ -252,7 +310,7 @@ function AlertDialogHeader({
252
310
  className,
253
311
  ...props
254
312
  }) {
255
- return /* @__PURE__ */ jsx4(
313
+ return /* @__PURE__ */ jsx5(
256
314
  "div",
257
315
  {
258
316
  "data-slot": "alert-dialog-header",
@@ -265,7 +323,7 @@ function AlertDialogFooter({
265
323
  className,
266
324
  ...props
267
325
  }) {
268
- return /* @__PURE__ */ jsx4(
326
+ return /* @__PURE__ */ jsx5(
269
327
  "div",
270
328
  {
271
329
  "data-slot": "alert-dialog-footer",
@@ -281,7 +339,7 @@ function AlertDialogTitle({
281
339
  className,
282
340
  ...props
283
341
  }) {
284
- return /* @__PURE__ */ jsx4(
342
+ return /* @__PURE__ */ jsx5(
285
343
  AlertDialogPrimitive.Title,
286
344
  {
287
345
  "data-slot": "alert-dialog-title",
@@ -294,7 +352,7 @@ function AlertDialogDescription({
294
352
  className,
295
353
  ...props
296
354
  }) {
297
- return /* @__PURE__ */ jsx4(
355
+ return /* @__PURE__ */ jsx5(
298
356
  AlertDialogPrimitive.Description,
299
357
  {
300
358
  "data-slot": "alert-dialog-description",
@@ -307,7 +365,7 @@ function AlertDialogAction({
307
365
  className,
308
366
  ...props
309
367
  }) {
310
- return /* @__PURE__ */ jsx4(
368
+ return /* @__PURE__ */ jsx5(
311
369
  AlertDialogPrimitive.Action,
312
370
  {
313
371
  className: cn(buttonVariants(), className),
@@ -319,7 +377,7 @@ function AlertDialogCancel({
319
377
  className,
320
378
  ...props
321
379
  }) {
322
- return /* @__PURE__ */ jsx4(
380
+ return /* @__PURE__ */ jsx5(
323
381
  AlertDialogPrimitive.Cancel,
324
382
  {
325
383
  className: cn(buttonVariants({ variant: "outline" }), className),
@@ -330,19 +388,19 @@ function AlertDialogCancel({
330
388
 
331
389
  // src/components/ui/aspect-ratio.tsx
332
390
  import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio";
333
- import { jsx as jsx5 } from "react/jsx-runtime";
391
+ import { jsx as jsx6 } from "react/jsx-runtime";
334
392
  function AspectRatio({
335
393
  ...props
336
394
  }) {
337
- return /* @__PURE__ */ jsx5(AspectRatioPrimitive.Root, { "data-slot": "aspect-ratio", ...props });
395
+ return /* @__PURE__ */ jsx6(AspectRatioPrimitive.Root, { "data-slot": "aspect-ratio", ...props });
338
396
  }
339
397
 
340
398
  // src/components/ui/auto-resize-textarea.tsx
341
- import * as React6 from "react";
399
+ import * as React7 from "react";
342
400
 
343
401
  // src/components/ui/textarea.tsx
344
- import * as React5 from "react";
345
- import { jsx as jsx6 } from "react/jsx-runtime";
402
+ import * as React6 from "react";
403
+ import { jsx as jsx7 } from "react/jsx-runtime";
346
404
  var textareaBaseStyles = [
347
405
  // Base styles aligned with Input
348
406
  "placeholder:text-gray-subtle selection:bg-primary selection:text-primary-foreground",
@@ -353,10 +411,10 @@ var textareaBaseStyles = [
353
411
  // Responsive text size
354
412
  "md:text-sm",
355
413
  // Default state
356
- "border-zinc-300 bg-background",
414
+ "border-border-default bg-background",
357
415
  // Hover/Focus/Active states
358
416
  "hover:border-brand-normal",
359
- "focus:border-blue-500",
417
+ "focus:border-focus-ring",
360
418
  "active:border-brand-normal",
361
419
  // Textarea specific
362
420
  "field-sizing-content min-h-16 resize-y px-3 py-2"
@@ -366,9 +424,9 @@ var errorStyles = [
366
424
  "focus:border-destructive focus:ring-destructive/20",
367
425
  "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive"
368
426
  ].join(" ");
369
- var Textarea = React5.forwardRef(
427
+ var Textarea = React6.forwardRef(
370
428
  ({ className, error, ...props }, ref) => {
371
- return /* @__PURE__ */ jsx6(
429
+ return /* @__PURE__ */ jsx7(
372
430
  "textarea",
373
431
  {
374
432
  "data-slot": "textarea",
@@ -383,8 +441,8 @@ var Textarea = React5.forwardRef(
383
441
  Textarea.displayName = "Textarea";
384
442
 
385
443
  // src/components/ui/auto-resize-textarea.tsx
386
- import { jsx as jsx7 } from "react/jsx-runtime";
387
- var AutoResizeTextarea = React6.forwardRef(
444
+ import { jsx as jsx8 } from "react/jsx-runtime";
445
+ var AutoResizeTextarea = React7.forwardRef(
388
446
  ({
389
447
  className,
390
448
  style,
@@ -395,8 +453,8 @@ var AutoResizeTextarea = React6.forwardRef(
395
453
  value,
396
454
  ...props
397
455
  }, forwardedRef) => {
398
- const innerRef = React6.useRef(null);
399
- const setRefs = React6.useCallback(
456
+ const innerRef = React7.useRef(null);
457
+ const setRefs = React7.useCallback(
400
458
  (node) => {
401
459
  innerRef.current = node;
402
460
  if (typeof forwardedRef === "function") forwardedRef(node);
@@ -404,7 +462,7 @@ var AutoResizeTextarea = React6.forwardRef(
404
462
  },
405
463
  [forwardedRef]
406
464
  );
407
- const resize = React6.useCallback(() => {
465
+ const resize = React7.useCallback(() => {
408
466
  const el = innerRef.current;
409
467
  if (!el) return;
410
468
  el.style.height = "auto";
@@ -417,10 +475,10 @@ var AutoResizeTextarea = React6.forwardRef(
417
475
  el.style.overflowY = "hidden";
418
476
  }
419
477
  }, [maxHeight, minHeight]);
420
- React6.useLayoutEffect(() => {
478
+ React7.useLayoutEffect(() => {
421
479
  resize();
422
480
  }, [resize, value]);
423
- return /* @__PURE__ */ jsx7(
481
+ return /* @__PURE__ */ jsx8(
424
482
  Textarea,
425
483
  {
426
484
  ...props,
@@ -449,12 +507,12 @@ AutoResizeTextarea.displayName = "AutoResizeTextarea";
449
507
  // src/components/ui/avatar.tsx
450
508
  import "react";
451
509
  import * as AvatarPrimitive from "@radix-ui/react-avatar";
452
- import { jsx as jsx8 } from "react/jsx-runtime";
510
+ import { jsx as jsx9 } from "react/jsx-runtime";
453
511
  function Avatar({
454
512
  className,
455
513
  ...props
456
514
  }) {
457
- return /* @__PURE__ */ jsx8(
515
+ return /* @__PURE__ */ jsx9(
458
516
  AvatarPrimitive.Root,
459
517
  {
460
518
  "data-slot": "avatar",
@@ -470,7 +528,7 @@ function AvatarImage({
470
528
  className,
471
529
  ...props
472
530
  }) {
473
- return /* @__PURE__ */ jsx8(
531
+ return /* @__PURE__ */ jsx9(
474
532
  AvatarPrimitive.Image,
475
533
  {
476
534
  "data-slot": "avatar-image",
@@ -483,7 +541,7 @@ function AvatarFallback({
483
541
  className,
484
542
  ...props
485
543
  }) {
486
- return /* @__PURE__ */ jsx8(
544
+ return /* @__PURE__ */ jsx9(
487
545
  AvatarPrimitive.Fallback,
488
546
  {
489
547
  "data-slot": "avatar-fallback",
@@ -499,16 +557,16 @@ function AvatarFallback({
499
557
  // src/components/ui/badge.tsx
500
558
  import "react";
501
559
  import { Slot as Slot2 } from "@radix-ui/react-slot";
502
- import { cva as cva3 } from "class-variance-authority";
503
- import { jsx as jsx9 } from "react/jsx-runtime";
504
- var badgeVariants = cva3(
560
+ import { cva as cva4 } from "class-variance-authority";
561
+ import { jsx as jsx10 } from "react/jsx-runtime";
562
+ var badgeVariants = cva4(
505
563
  "inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
506
564
  {
507
565
  variants: {
508
566
  variant: {
509
567
  default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
510
568
  secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
511
- destructive: "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
569
+ destructive: "border-transparent bg-destructive text-primary-foreground [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",
512
570
  outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
513
571
  }
514
572
  },
@@ -524,7 +582,7 @@ function Badge({
524
582
  ...props
525
583
  }) {
526
584
  const Comp = asChild ? Slot2 : "span";
527
- return /* @__PURE__ */ jsx9(
585
+ return /* @__PURE__ */ jsx10(
528
586
  Comp,
529
587
  {
530
588
  "data-slot": "badge",
@@ -534,16 +592,268 @@ function Badge({
534
592
  );
535
593
  }
536
594
 
595
+ // src/components/ui/badge-actionable.tsx
596
+ import { cva as cva5 } from "class-variance-authority";
597
+ import "react";
598
+ import { jsx as jsx11, jsxs as jsxs4 } from "react/jsx-runtime";
599
+ var badgeActionableVariants = cva5(
600
+ "inline-flex items-center justify-center gap-2 rounded-[8px] cursor-pointer select-none transition-all font-medium whitespace-nowrap shrink-0 [&_svg]:pointer-events-none [&_svg]:shrink-0 outline-none focus-visible:before:absolute focus-visible:before:-inset-[3px] focus-visible:before:rounded-xl focus-visible:before:ring-2 focus-visible:before:ring-blue-500/80 focus-visible:before:pointer-events-none relative",
601
+ {
602
+ variants: {
603
+ size: {
604
+ M: "h-10 px-3 py-2 text-base leading-6 [&_svg]:size-5",
605
+ S: "h-8 px-3 py-2 text-sm leading-5 [&_svg]:size-5"
606
+ }
607
+ },
608
+ defaultVariants: {
609
+ size: "S"
610
+ }
611
+ }
612
+ );
613
+ function BadgeActionable({
614
+ className,
615
+ size,
616
+ icon,
617
+ selected = false,
618
+ onBackground = false,
619
+ children,
620
+ ...props
621
+ }) {
622
+ return /* @__PURE__ */ jsxs4(
623
+ "button",
624
+ {
625
+ "data-slot": "badge-actionable",
626
+ "data-selected": selected || void 0,
627
+ className: cn(
628
+ badgeActionableVariants({ size }),
629
+ selected ? "bg-primary-surface-subtle border border-primary-stroke-default text-primary-stroke-default" : onBackground ? "bg-sand-light border border-secondary-stroke-default text-secondary-text-dark hover:bg-secondary-surface-default hover:border-transparent" : "bg-sand-light border border-secondary-stroke-light text-secondary-text-dark hover:bg-secondary-surface-default hover:border-transparent",
630
+ "disabled:pointer-events-none disabled:opacity-50 ",
631
+ className
632
+ ),
633
+ ...props,
634
+ children: [
635
+ icon && /* @__PURE__ */ jsx11("span", { className: "flex items-center justify-center", children: icon }),
636
+ /* @__PURE__ */ jsx11("span", { children })
637
+ ]
638
+ }
639
+ );
640
+ }
641
+
642
+ // src/components/ui/badge-informative.tsx
643
+ import { cva as cva6 } from "class-variance-authority";
644
+ import "react";
645
+ import { jsx as jsx12, jsxs as jsxs5 } from "react/jsx-runtime";
646
+ var badgeInformativeVariants = cva6(
647
+ "inline-flex items-center justify-center font-medium whitespace-nowrap shrink-0 [&_svg]:pointer-events-none [&_svg]:shrink-0",
648
+ {
649
+ variants: {
650
+ size: {
651
+ M: "h-8 px-2 py-1.5 gap-2 rounded-[8px] text-sm leading-5 [&_svg]:size-4",
652
+ S: "h-6 px-2 py-1.5 gap-1 rounded-[8px] text-xs leading-4 [&_svg]:size-4"
653
+ },
654
+ colorScheme: {
655
+ gray: "bg-gray-surface-light text-vibrant-text-body",
656
+ blue: "bg-primary-surface-subtle text-primary-stroke-default",
657
+ yellow: "bg-warning-surface-subtle border border-warning-stroke-default text-warning-stroke-dark"
658
+ }
659
+ },
660
+ defaultVariants: {
661
+ size: "M",
662
+ colorScheme: "gray"
663
+ }
664
+ }
665
+ );
666
+ function BadgeInformative({
667
+ className,
668
+ size,
669
+ colorScheme,
670
+ icon,
671
+ linkText,
672
+ linkHref,
673
+ children,
674
+ ...props
675
+ }) {
676
+ return /* @__PURE__ */ jsxs5(
677
+ "div",
678
+ {
679
+ "data-slot": "badge-informative",
680
+ className: cn(badgeInformativeVariants({ size, colorScheme }), className),
681
+ ...props,
682
+ children: [
683
+ icon && /* @__PURE__ */ jsx12("span", { className: "flex items-center justify-center shrink-0", children: icon }),
684
+ /* @__PURE__ */ jsx12("span", { children }),
685
+ linkText && /* @__PURE__ */ jsxs5(
686
+ "a",
687
+ {
688
+ href: linkHref || "#",
689
+ className: cn(
690
+ "inline-flex items-center gap-1 font-semibold text-base leading-6 shrink-0",
691
+ colorScheme === "blue" ? "text-primary-stroke-default" : "text-primary-stroke-default"
692
+ ),
693
+ children: [
694
+ linkText,
695
+ /* @__PURE__ */ jsx12(
696
+ "svg",
697
+ {
698
+ className: "size-4",
699
+ viewBox: "0 0 16 16",
700
+ fill: "none",
701
+ xmlns: "http://www.w3.org/2000/svg",
702
+ children: /* @__PURE__ */ jsx12(
703
+ "path",
704
+ {
705
+ d: "M4.667 11.333L11.333 4.667M11.333 4.667H5.333M11.333 4.667V10.667",
706
+ stroke: "currentColor",
707
+ strokeWidth: "1.5",
708
+ strokeLinecap: "round",
709
+ strokeLinejoin: "round"
710
+ }
711
+ )
712
+ }
713
+ )
714
+ ]
715
+ }
716
+ )
717
+ ]
718
+ }
719
+ );
720
+ }
721
+ function BadgeInformativeGroup({
722
+ className,
723
+ size = "M",
724
+ colorScheme = "gray",
725
+ children,
726
+ ...props
727
+ }) {
728
+ return /* @__PURE__ */ jsx12(
729
+ "div",
730
+ {
731
+ "data-slot": "badge-informative-group",
732
+ className: cn(
733
+ "inline-flex items-center gap-3",
734
+ size === "M" ? "h-8 px-2 py-1.5 rounded-[8px]" : "h-6 px-2 py-1.5 rounded-[8px]",
735
+ colorScheme === "gray" && "bg-gray-surface-light",
736
+ colorScheme === "blue" && "bg-primary-surface-subtle",
737
+ colorScheme === "yellow" && "bg-warning-surface-subtle border border-warning-stroke-default",
738
+ className
739
+ ),
740
+ ...props,
741
+ children
742
+ }
743
+ );
744
+ }
745
+ function BadgeInformativeItem({
746
+ className,
747
+ size = "M",
748
+ colorScheme = "gray",
749
+ icon,
750
+ linkText,
751
+ linkHref,
752
+ children,
753
+ ...props
754
+ }) {
755
+ return /* @__PURE__ */ jsxs5(
756
+ "div",
757
+ {
758
+ "data-slot": "badge-informative-item",
759
+ className: cn(
760
+ "inline-flex items-center font-medium whitespace-nowrap shrink-0 [&_svg]:pointer-events-none [&_svg]:shrink-0",
761
+ size === "M" ? "gap-1 text-sm leading-5 [&_svg]:size-4" : "gap-1 text-xs leading-4 [&_svg]:size-4",
762
+ colorScheme === "gray" && "text-vibrant-text-body",
763
+ colorScheme === "blue" && "text-primary-stroke-default",
764
+ colorScheme === "yellow" && "text-warning-stroke-dark",
765
+ className
766
+ ),
767
+ ...props,
768
+ children: [
769
+ icon && /* @__PURE__ */ jsx12("span", { className: "flex items-center justify-center shrink-0", children: icon }),
770
+ /* @__PURE__ */ jsx12("span", { children }),
771
+ linkText && /* @__PURE__ */ jsxs5(
772
+ "a",
773
+ {
774
+ href: linkHref || "#",
775
+ className: "inline-flex items-center gap-1 font-semibold text-base leading-6 text-primary-stroke-default shrink-0",
776
+ children: [
777
+ linkText,
778
+ /* @__PURE__ */ jsx12(
779
+ "svg",
780
+ {
781
+ className: "size-4",
782
+ viewBox: "0 0 16 16",
783
+ fill: "none",
784
+ xmlns: "http://www.w3.org/2000/svg",
785
+ children: /* @__PURE__ */ jsx12(
786
+ "path",
787
+ {
788
+ d: "M4.667 11.333L11.333 4.667M11.333 4.667H5.333M11.333 4.667V10.667",
789
+ stroke: "currentColor",
790
+ strokeWidth: "1.5",
791
+ strokeLinecap: "round",
792
+ strokeLinejoin: "round"
793
+ }
794
+ )
795
+ }
796
+ )
797
+ ]
798
+ }
799
+ )
800
+ ]
801
+ }
802
+ );
803
+ }
804
+
805
+ // src/components/ui/badge-number.tsx
806
+ import "react";
807
+ import { cva as cva7 } from "class-variance-authority";
808
+ import { jsx as jsx13 } from "react/jsx-runtime";
809
+ var badgeNumberVariants = cva7(
810
+ "inline-flex items-center justify-center rounded-full font-semibold text-xs leading-[18px] text-center shrink-0 select-none",
811
+ {
812
+ variants: {
813
+ size: {
814
+ M: "size-6",
815
+ S: "size-5"
816
+ },
817
+ state: {
818
+ active: "bg-primary text-primary-foreground",
819
+ disabled: "bg-gray-surface-light text-gray-subtle",
820
+ resting: "bg-transparent border border-gray-stroke-light text-gray-subtle"
821
+ }
822
+ },
823
+ defaultVariants: {
824
+ size: "M",
825
+ state: "active"
826
+ }
827
+ }
828
+ );
829
+ function BadgeNumber({
830
+ className,
831
+ size,
832
+ state,
833
+ value,
834
+ ...props
835
+ }) {
836
+ return /* @__PURE__ */ jsx13(
837
+ "span",
838
+ {
839
+ "data-slot": "badge-number",
840
+ className: cn(badgeNumberVariants({ size, state }), className),
841
+ ...props,
842
+ children: value
843
+ }
844
+ );
845
+ }
846
+
537
847
  // src/components/ui/breadcrumb.tsx
538
848
  import "react";
539
849
  import { Slot as Slot3 } from "@radix-ui/react-slot";
540
850
  import { ChevronRight, MoreHorizontal } from "lucide-react";
541
- import { jsx as jsx10, jsxs as jsxs3 } from "react/jsx-runtime";
851
+ import { jsx as jsx14, jsxs as jsxs6 } from "react/jsx-runtime";
542
852
  function Breadcrumb({ ...props }) {
543
- return /* @__PURE__ */ jsx10("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props });
853
+ return /* @__PURE__ */ jsx14("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props });
544
854
  }
545
855
  function BreadcrumbList({ className, ...props }) {
546
- return /* @__PURE__ */ jsx10(
856
+ return /* @__PURE__ */ jsx14(
547
857
  "ol",
548
858
  {
549
859
  "data-slot": "breadcrumb-list",
@@ -556,7 +866,7 @@ function BreadcrumbList({ className, ...props }) {
556
866
  );
557
867
  }
558
868
  function BreadcrumbItem({ className, ...props }) {
559
- return /* @__PURE__ */ jsx10(
869
+ return /* @__PURE__ */ jsx14(
560
870
  "li",
561
871
  {
562
872
  "data-slot": "breadcrumb-item",
@@ -571,7 +881,7 @@ function BreadcrumbLink({
571
881
  ...props
572
882
  }) {
573
883
  const Comp = asChild ? Slot3 : "a";
574
- return /* @__PURE__ */ jsx10(
884
+ return /* @__PURE__ */ jsx14(
575
885
  Comp,
576
886
  {
577
887
  "data-slot": "breadcrumb-link",
@@ -581,7 +891,7 @@ function BreadcrumbLink({
581
891
  );
582
892
  }
583
893
  function BreadcrumbPage({ className, ...props }) {
584
- return /* @__PURE__ */ jsx10(
894
+ return /* @__PURE__ */ jsx14(
585
895
  "span",
586
896
  {
587
897
  "data-slot": "breadcrumb-page",
@@ -598,7 +908,7 @@ function BreadcrumbSeparator({
598
908
  className,
599
909
  ...props
600
910
  }) {
601
- return /* @__PURE__ */ jsx10(
911
+ return /* @__PURE__ */ jsx14(
602
912
  "li",
603
913
  {
604
914
  "data-slot": "breadcrumb-separator",
@@ -606,7 +916,7 @@ function BreadcrumbSeparator({
606
916
  "aria-hidden": "true",
607
917
  className: cn("[&>svg]:size-3.5", className),
608
918
  ...props,
609
- children: children ?? /* @__PURE__ */ jsx10(ChevronRight, {})
919
+ children: children ?? /* @__PURE__ */ jsx14(ChevronRight, {})
610
920
  }
611
921
  );
612
922
  }
@@ -614,7 +924,7 @@ function BreadcrumbEllipsis({
614
924
  className,
615
925
  ...props
616
926
  }) {
617
- return /* @__PURE__ */ jsxs3(
927
+ return /* @__PURE__ */ jsxs6(
618
928
  "span",
619
929
  {
620
930
  "data-slot": "breadcrumb-ellipsis",
@@ -623,8 +933,8 @@ function BreadcrumbEllipsis({
623
933
  className: cn("flex size-9 items-center justify-center", className),
624
934
  ...props,
625
935
  children: [
626
- /* @__PURE__ */ jsx10(MoreHorizontal, { className: "size-4" }),
627
- /* @__PURE__ */ jsx10("span", { className: "sr-only", children: "More" })
936
+ /* @__PURE__ */ jsx14(MoreHorizontal, { className: "size-4" }),
937
+ /* @__PURE__ */ jsx14("span", { className: "sr-only", children: "More" })
628
938
  ]
629
939
  }
630
940
  );
@@ -636,9 +946,9 @@ import {
636
946
  ChevronLeftIcon,
637
947
  ChevronRightIcon
638
948
  } from "lucide-react";
639
- import * as React10 from "react";
949
+ import * as React14 from "react";
640
950
  import { DayPicker } from "react-day-picker";
641
- import { jsx as jsx11 } from "react/jsx-runtime";
951
+ import { jsx as jsx15 } from "react/jsx-runtime";
642
952
  function Calendar({
643
953
  className,
644
954
  classNames,
@@ -649,7 +959,7 @@ function Calendar({
649
959
  components,
650
960
  ...props
651
961
  }) {
652
- return /* @__PURE__ */ jsx11(
962
+ return /* @__PURE__ */ jsx15(
653
963
  DayPicker,
654
964
  {
655
965
  showOutsideDays,
@@ -712,7 +1022,7 @@ function Calendar({
712
1022
  classNames?.weekdays
713
1023
  ),
714
1024
  weekday: cn(
715
- "text-slate-700 font-medium rounded-full md:flex-1 size-6 mx-1 font-normal text-[0.8rem] select-none ",
1025
+ "text-muted-foreground font-medium rounded-full md:flex-1 size-6 mx-1 font-normal text-[0.8rem] select-none",
716
1026
  classNames?.weekday
717
1027
  ),
718
1028
  week: cn(
@@ -748,7 +1058,7 @@ function Calendar({
748
1058
  },
749
1059
  components: {
750
1060
  Root: ({ className: className2, rootRef, ...props2 }) => {
751
- return /* @__PURE__ */ jsx11(
1061
+ return /* @__PURE__ */ jsx15(
752
1062
  "div",
753
1063
  {
754
1064
  "data-slot": "calendar",
@@ -760,10 +1070,10 @@ function Calendar({
760
1070
  },
761
1071
  Chevron: ({ className: className2, orientation, ...props2 }) => {
762
1072
  if (orientation === "left") {
763
- return /* @__PURE__ */ jsx11(ChevronLeftIcon, { className: cn("size-6", className2), ...props2 });
1073
+ return /* @__PURE__ */ jsx15(ChevronLeftIcon, { className: cn("size-6", className2), ...props2 });
764
1074
  }
765
1075
  if (orientation === "right") {
766
- return /* @__PURE__ */ jsx11(
1076
+ return /* @__PURE__ */ jsx15(
767
1077
  ChevronRightIcon,
768
1078
  {
769
1079
  className: cn("size-6", className2),
@@ -771,11 +1081,11 @@ function Calendar({
771
1081
  }
772
1082
  );
773
1083
  }
774
- return /* @__PURE__ */ jsx11(ChevronDownIcon2, { className: cn("size-6", className2), ...props2 });
1084
+ return /* @__PURE__ */ jsx15(ChevronDownIcon2, { className: cn("size-6", className2), ...props2 });
775
1085
  },
776
1086
  DayButton: CalendarDayButton,
777
1087
  WeekNumber: ({ children, ...props2 }) => {
778
- return /* @__PURE__ */ jsx11("td", { ...props2, children: /* @__PURE__ */ jsx11("div", { className: "flex size-(--cell-size) items-center justify-center text-center", children }) });
1088
+ return /* @__PURE__ */ jsx15("td", { ...props2, children: /* @__PURE__ */ jsx15("div", { className: "flex size-(--cell-size) items-center justify-center text-center", children }) });
779
1089
  },
780
1090
  ...components
781
1091
  },
@@ -789,11 +1099,11 @@ function CalendarDayButton({
789
1099
  modifiers,
790
1100
  ...props
791
1101
  }) {
792
- const ref = React10.useRef(null);
793
- React10.useEffect(() => {
1102
+ const ref = React14.useRef(null);
1103
+ React14.useEffect(() => {
794
1104
  if (modifiers.focused) ref.current?.focus();
795
1105
  }, [modifiers.focused]);
796
- return /* @__PURE__ */ jsx11(
1106
+ return /* @__PURE__ */ jsx15(
797
1107
  Button,
798
1108
  {
799
1109
  ref,
@@ -805,7 +1115,7 @@ function CalendarDayButton({
805
1115
  "data-range-end": modifiers.range_end,
806
1116
  "data-range-middle": modifiers.range_middle,
807
1117
  className: cn(
808
- "data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-slate-200 data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none md:font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] [&>span]:text-xs [&>span]:opacity-70 md:p-0 rounded-full md:text-base text-sm font-medium text-black data-[range-middle=true]:rounded-md",
1118
+ "data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-range-middle-bg data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none md:font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] [&>span]:text-xs [&>span]:opacity-70 md:p-0 rounded-full md:text-base text-sm font-medium text-foreground data-[range-middle=true]:rounded-md",
809
1119
  className
810
1120
  ),
811
1121
  ...props
@@ -815,9 +1125,9 @@ function CalendarDayButton({
815
1125
 
816
1126
  // src/components/ui/card.tsx
817
1127
  import "react";
818
- import { jsx as jsx12 } from "react/jsx-runtime";
1128
+ import { jsx as jsx16 } from "react/jsx-runtime";
819
1129
  function Card({ className, ...props }) {
820
- return /* @__PURE__ */ jsx12(
1130
+ return /* @__PURE__ */ jsx16(
821
1131
  "div",
822
1132
  {
823
1133
  "data-slot": "card",
@@ -830,7 +1140,7 @@ function Card({ className, ...props }) {
830
1140
  );
831
1141
  }
832
1142
  function CardHeader({ className, ...props }) {
833
- return /* @__PURE__ */ jsx12(
1143
+ return /* @__PURE__ */ jsx16(
834
1144
  "div",
835
1145
  {
836
1146
  "data-slot": "card-header",
@@ -843,7 +1153,7 @@ function CardHeader({ className, ...props }) {
843
1153
  );
844
1154
  }
845
1155
  function CardTitle({ className, ...props }) {
846
- return /* @__PURE__ */ jsx12(
1156
+ return /* @__PURE__ */ jsx16(
847
1157
  "div",
848
1158
  {
849
1159
  "data-slot": "card-title",
@@ -853,7 +1163,7 @@ function CardTitle({ className, ...props }) {
853
1163
  );
854
1164
  }
855
1165
  function CardDescription({ className, ...props }) {
856
- return /* @__PURE__ */ jsx12(
1166
+ return /* @__PURE__ */ jsx16(
857
1167
  "div",
858
1168
  {
859
1169
  "data-slot": "card-description",
@@ -863,7 +1173,7 @@ function CardDescription({ className, ...props }) {
863
1173
  );
864
1174
  }
865
1175
  function CardAction({ className, ...props }) {
866
- return /* @__PURE__ */ jsx12(
1176
+ return /* @__PURE__ */ jsx16(
867
1177
  "div",
868
1178
  {
869
1179
  "data-slot": "card-action",
@@ -876,7 +1186,7 @@ function CardAction({ className, ...props }) {
876
1186
  );
877
1187
  }
878
1188
  function CardContent({ className, ...props }) {
879
- return /* @__PURE__ */ jsx12(
1189
+ return /* @__PURE__ */ jsx16(
880
1190
  "div",
881
1191
  {
882
1192
  "data-slot": "card-content",
@@ -886,7 +1196,7 @@ function CardContent({ className, ...props }) {
886
1196
  );
887
1197
  }
888
1198
  function CardFooter({ className, ...props }) {
889
- return /* @__PURE__ */ jsx12(
1199
+ return /* @__PURE__ */ jsx16(
890
1200
  "div",
891
1201
  {
892
1202
  "data-slot": "card-footer",
@@ -897,13 +1207,13 @@ function CardFooter({ className, ...props }) {
897
1207
  }
898
1208
 
899
1209
  // src/components/ui/carousel.tsx
900
- import * as React12 from "react";
1210
+ import * as React16 from "react";
901
1211
  import useEmblaCarousel from "embla-carousel-react";
902
1212
  import { ArrowLeft, ArrowRight } from "lucide-react";
903
- import { jsx as jsx13, jsxs as jsxs4 } from "react/jsx-runtime";
904
- var CarouselContext = React12.createContext(null);
1213
+ import { jsx as jsx17, jsxs as jsxs7 } from "react/jsx-runtime";
1214
+ var CarouselContext = React16.createContext(null);
905
1215
  function useCarousel() {
906
- const context = React12.useContext(CarouselContext);
1216
+ const context = React16.useContext(CarouselContext);
907
1217
  if (!context) {
908
1218
  throw new Error("useCarousel must be used within a <Carousel />");
909
1219
  }
@@ -925,20 +1235,20 @@ function Carousel({
925
1235
  },
926
1236
  plugins
927
1237
  );
928
- const [canScrollPrev, setCanScrollPrev] = React12.useState(false);
929
- const [canScrollNext, setCanScrollNext] = React12.useState(false);
930
- const onSelect = React12.useCallback((api2) => {
1238
+ const [canScrollPrev, setCanScrollPrev] = React16.useState(false);
1239
+ const [canScrollNext, setCanScrollNext] = React16.useState(false);
1240
+ const onSelect = React16.useCallback((api2) => {
931
1241
  if (!api2) return;
932
1242
  setCanScrollPrev(api2.canScrollPrev());
933
1243
  setCanScrollNext(api2.canScrollNext());
934
1244
  }, []);
935
- const scrollPrev = React12.useCallback(() => {
1245
+ const scrollPrev = React16.useCallback(() => {
936
1246
  api?.scrollPrev();
937
1247
  }, [api]);
938
- const scrollNext = React12.useCallback(() => {
1248
+ const scrollNext = React16.useCallback(() => {
939
1249
  api?.scrollNext();
940
1250
  }, [api]);
941
- const handleKeyDown = React12.useCallback(
1251
+ const handleKeyDown = React16.useCallback(
942
1252
  (event) => {
943
1253
  if (event.key === "ArrowLeft") {
944
1254
  event.preventDefault();
@@ -950,11 +1260,11 @@ function Carousel({
950
1260
  },
951
1261
  [scrollPrev, scrollNext]
952
1262
  );
953
- React12.useEffect(() => {
1263
+ React16.useEffect(() => {
954
1264
  if (!api || !setApi) return;
955
1265
  setApi(api);
956
1266
  }, [api, setApi]);
957
- React12.useEffect(() => {
1267
+ React16.useEffect(() => {
958
1268
  if (!api) return;
959
1269
  onSelect(api);
960
1270
  api.on("reInit", onSelect);
@@ -963,7 +1273,7 @@ function Carousel({
963
1273
  api?.off("select", onSelect);
964
1274
  };
965
1275
  }, [api, onSelect]);
966
- return /* @__PURE__ */ jsx13(
1276
+ return /* @__PURE__ */ jsx17(
967
1277
  CarouselContext.Provider,
968
1278
  {
969
1279
  value: {
@@ -976,7 +1286,7 @@ function Carousel({
976
1286
  canScrollPrev,
977
1287
  canScrollNext
978
1288
  },
979
- children: /* @__PURE__ */ jsx13(
1289
+ children: /* @__PURE__ */ jsx17(
980
1290
  "div",
981
1291
  {
982
1292
  onKeyDownCapture: handleKeyDown,
@@ -993,13 +1303,13 @@ function Carousel({
993
1303
  }
994
1304
  function CarouselContent({ className, ...props }) {
995
1305
  const { carouselRef, orientation } = useCarousel();
996
- return /* @__PURE__ */ jsx13(
1306
+ return /* @__PURE__ */ jsx17(
997
1307
  "div",
998
1308
  {
999
1309
  ref: carouselRef,
1000
1310
  className: "overflow-hidden",
1001
1311
  "data-slot": "carousel-content",
1002
- children: /* @__PURE__ */ jsx13(
1312
+ children: /* @__PURE__ */ jsx17(
1003
1313
  "div",
1004
1314
  {
1005
1315
  className: cn(
@@ -1015,7 +1325,7 @@ function CarouselContent({ className, ...props }) {
1015
1325
  }
1016
1326
  function CarouselItem({ className, ...props }) {
1017
1327
  const { orientation } = useCarousel();
1018
- return /* @__PURE__ */ jsx13(
1328
+ return /* @__PURE__ */ jsx17(
1019
1329
  "div",
1020
1330
  {
1021
1331
  role: "group",
@@ -1037,7 +1347,7 @@ function CarouselPrevious({
1037
1347
  ...props
1038
1348
  }) {
1039
1349
  const { orientation, scrollPrev, canScrollPrev } = useCarousel();
1040
- return /* @__PURE__ */ jsxs4(
1350
+ return /* @__PURE__ */ jsxs7(
1041
1351
  Button,
1042
1352
  {
1043
1353
  "data-slot": "carousel-previous",
@@ -1052,8 +1362,8 @@ function CarouselPrevious({
1052
1362
  onClick: scrollPrev,
1053
1363
  ...props,
1054
1364
  children: [
1055
- /* @__PURE__ */ jsx13(ArrowLeft, {}),
1056
- /* @__PURE__ */ jsx13("span", { className: "sr-only", children: "Previous slide" })
1365
+ /* @__PURE__ */ jsx17(ArrowLeft, {}),
1366
+ /* @__PURE__ */ jsx17("span", { className: "sr-only", children: "Previous slide" })
1057
1367
  ]
1058
1368
  }
1059
1369
  );
@@ -1065,7 +1375,7 @@ function CarouselNext({
1065
1375
  ...props
1066
1376
  }) {
1067
1377
  const { orientation, scrollNext, canScrollNext } = useCarousel();
1068
- return /* @__PURE__ */ jsxs4(
1378
+ return /* @__PURE__ */ jsxs7(
1069
1379
  Button,
1070
1380
  {
1071
1381
  "data-slot": "carousel-next",
@@ -1080,21 +1390,21 @@ function CarouselNext({
1080
1390
  onClick: scrollNext,
1081
1391
  ...props,
1082
1392
  children: [
1083
- /* @__PURE__ */ jsx13(ArrowRight, {}),
1084
- /* @__PURE__ */ jsx13("span", { className: "sr-only", children: "Next slide" })
1393
+ /* @__PURE__ */ jsx17(ArrowRight, {}),
1394
+ /* @__PURE__ */ jsx17("span", { className: "sr-only", children: "Next slide" })
1085
1395
  ]
1086
1396
  }
1087
1397
  );
1088
1398
  }
1089
1399
 
1090
1400
  // src/components/ui/chart.tsx
1091
- import * as React13 from "react";
1401
+ import * as React17 from "react";
1092
1402
  import * as RechartsPrimitive from "recharts";
1093
- import { Fragment as Fragment2, jsx as jsx14, jsxs as jsxs5 } from "react/jsx-runtime";
1403
+ import { Fragment as Fragment2, jsx as jsx18, jsxs as jsxs8 } from "react/jsx-runtime";
1094
1404
  var THEMES = { light: "", dark: ".dark" };
1095
- var ChartContext = React13.createContext(null);
1405
+ var ChartContext = React17.createContext(null);
1096
1406
  function useChart() {
1097
- const context = React13.useContext(ChartContext);
1407
+ const context = React17.useContext(ChartContext);
1098
1408
  if (!context) {
1099
1409
  throw new Error("useChart must be used within a <ChartContainer />");
1100
1410
  }
@@ -1107,9 +1417,9 @@ function ChartContainer({
1107
1417
  config,
1108
1418
  ...props
1109
1419
  }) {
1110
- const uniqueId = React13.useId();
1420
+ const uniqueId = React17.useId();
1111
1421
  const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
1112
- return /* @__PURE__ */ jsx14(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs5(
1422
+ return /* @__PURE__ */ jsx18(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs8(
1113
1423
  "div",
1114
1424
  {
1115
1425
  "data-slot": "chart",
@@ -1120,8 +1430,8 @@ function ChartContainer({
1120
1430
  ),
1121
1431
  ...props,
1122
1432
  children: [
1123
- /* @__PURE__ */ jsx14(ChartStyle, { id: chartId, config }),
1124
- /* @__PURE__ */ jsx14(RechartsPrimitive.ResponsiveContainer, { children })
1433
+ /* @__PURE__ */ jsx18(ChartStyle, { id: chartId, config }),
1434
+ /* @__PURE__ */ jsx18(RechartsPrimitive.ResponsiveContainer, { children })
1125
1435
  ]
1126
1436
  }
1127
1437
  ) });
@@ -1133,7 +1443,7 @@ var ChartStyle = ({ id, config }) => {
1133
1443
  if (!colorConfig.length) {
1134
1444
  return null;
1135
1445
  }
1136
- return /* @__PURE__ */ jsx14(
1446
+ return /* @__PURE__ */ jsx18(
1137
1447
  "style",
1138
1448
  {
1139
1449
  dangerouslySetInnerHTML: {
@@ -1168,7 +1478,7 @@ function ChartTooltipContent({
1168
1478
  labelKey
1169
1479
  }) {
1170
1480
  const { config } = useChart();
1171
- const tooltipLabel = React13.useMemo(() => {
1481
+ const tooltipLabel = React17.useMemo(() => {
1172
1482
  if (hideLabel || !payload?.length) {
1173
1483
  return null;
1174
1484
  }
@@ -1177,12 +1487,12 @@ function ChartTooltipContent({
1177
1487
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
1178
1488
  const value = !labelKey && typeof label === "string" ? config[label]?.label || label : itemConfig?.label;
1179
1489
  if (labelFormatter) {
1180
- return /* @__PURE__ */ jsx14("div", { className: cn("font-medium", labelClassName), children: labelFormatter(value, payload) });
1490
+ return /* @__PURE__ */ jsx18("div", { className: cn("font-medium", labelClassName), children: labelFormatter(value, payload) });
1181
1491
  }
1182
1492
  if (!value) {
1183
1493
  return null;
1184
1494
  }
1185
- return /* @__PURE__ */ jsx14("div", { className: cn("font-medium", labelClassName), children: value });
1495
+ return /* @__PURE__ */ jsx18("div", { className: cn("font-medium", labelClassName), children: value });
1186
1496
  }, [
1187
1497
  label,
1188
1498
  labelFormatter,
@@ -1196,7 +1506,7 @@ function ChartTooltipContent({
1196
1506
  return null;
1197
1507
  }
1198
1508
  const nestLabel = payload.length === 1 && indicator !== "dot";
1199
- return /* @__PURE__ */ jsxs5(
1509
+ return /* @__PURE__ */ jsxs8(
1200
1510
  "div",
1201
1511
  {
1202
1512
  className: cn(
@@ -1205,19 +1515,19 @@ function ChartTooltipContent({
1205
1515
  ),
1206
1516
  children: [
1207
1517
  !nestLabel ? tooltipLabel : null,
1208
- /* @__PURE__ */ jsx14("div", { className: "grid gap-1.5", children: payload.map((item, index) => {
1518
+ /* @__PURE__ */ jsx18("div", { className: "grid gap-1.5", children: payload.map((item, index) => {
1209
1519
  const key = `${nameKey || item.name || item.dataKey || "value"}`;
1210
1520
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
1211
1521
  const indicatorColor = color || item.payload.fill || item.color;
1212
- return /* @__PURE__ */ jsx14(
1522
+ return /* @__PURE__ */ jsx18(
1213
1523
  "div",
1214
1524
  {
1215
1525
  className: cn(
1216
1526
  "[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5",
1217
1527
  indicator === "dot" && "items-center"
1218
1528
  ),
1219
- children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxs5(Fragment2, { children: [
1220
- itemConfig?.icon ? /* @__PURE__ */ jsx14(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ jsx14(
1529
+ children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxs8(Fragment2, { children: [
1530
+ itemConfig?.icon ? /* @__PURE__ */ jsx18(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ jsx18(
1221
1531
  "div",
1222
1532
  {
1223
1533
  className: cn(
@@ -1235,7 +1545,7 @@ function ChartTooltipContent({
1235
1545
  }
1236
1546
  }
1237
1547
  ),
1238
- /* @__PURE__ */ jsxs5(
1548
+ /* @__PURE__ */ jsxs8(
1239
1549
  "div",
1240
1550
  {
1241
1551
  className: cn(
@@ -1243,11 +1553,11 @@ function ChartTooltipContent({
1243
1553
  nestLabel ? "items-end" : "items-center"
1244
1554
  ),
1245
1555
  children: [
1246
- /* @__PURE__ */ jsxs5("div", { className: "grid gap-1.5", children: [
1556
+ /* @__PURE__ */ jsxs8("div", { className: "grid gap-1.5", children: [
1247
1557
  nestLabel ? tooltipLabel : null,
1248
- /* @__PURE__ */ jsx14("span", { className: "text-muted-foreground", children: itemConfig?.label || item.name })
1558
+ /* @__PURE__ */ jsx18("span", { className: "text-muted-foreground", children: itemConfig?.label || item.name })
1249
1559
  ] }),
1250
- item.value && /* @__PURE__ */ jsx14("span", { className: "text-foreground font-mono font-medium tabular-nums", children: item.value.toLocaleString() })
1560
+ item.value && /* @__PURE__ */ jsx18("span", { className: "text-foreground font-mono font-medium tabular-nums", children: item.value.toLocaleString() })
1251
1561
  ]
1252
1562
  }
1253
1563
  )
@@ -1272,7 +1582,7 @@ function ChartLegendContent({
1272
1582
  if (!payload?.length) {
1273
1583
  return null;
1274
1584
  }
1275
- return /* @__PURE__ */ jsx14(
1585
+ return /* @__PURE__ */ jsx18(
1276
1586
  "div",
1277
1587
  {
1278
1588
  className: cn(
@@ -1283,14 +1593,14 @@ function ChartLegendContent({
1283
1593
  children: payload.map((item) => {
1284
1594
  const key = `${nameKey || item.dataKey || "value"}`;
1285
1595
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
1286
- return /* @__PURE__ */ jsxs5(
1596
+ return /* @__PURE__ */ jsxs8(
1287
1597
  "div",
1288
1598
  {
1289
1599
  className: cn(
1290
1600
  "[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3"
1291
1601
  ),
1292
1602
  children: [
1293
- itemConfig?.icon && !hideIcon ? /* @__PURE__ */ jsx14(itemConfig.icon, {}) : /* @__PURE__ */ jsx14(
1603
+ itemConfig?.icon && !hideIcon ? /* @__PURE__ */ jsx18(itemConfig.icon, {}) : /* @__PURE__ */ jsx18(
1294
1604
  "div",
1295
1605
  {
1296
1606
  className: "h-2 w-2 shrink-0 rounded-[2px]",
@@ -1326,12 +1636,12 @@ function getPayloadConfigFromPayload(config, payload, key) {
1326
1636
  import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
1327
1637
  import { Check } from "lucide-react";
1328
1638
  import "react";
1329
- import { jsx as jsx15 } from "react/jsx-runtime";
1639
+ import { jsx as jsx19 } from "react/jsx-runtime";
1330
1640
  function Checkbox({
1331
1641
  className,
1332
1642
  ...props
1333
1643
  }) {
1334
- return /* @__PURE__ */ jsx15(
1644
+ return /* @__PURE__ */ jsx19(
1335
1645
  CheckboxPrimitive.Root,
1336
1646
  {
1337
1647
  "data-slot": "checkbox",
@@ -1340,13 +1650,13 @@ function Checkbox({
1340
1650
  className
1341
1651
  ),
1342
1652
  ...props,
1343
- children: /* @__PURE__ */ jsx15(
1653
+ children: /* @__PURE__ */ jsx19(
1344
1654
  CheckboxPrimitive.Indicator,
1345
1655
  {
1346
1656
  "data-slot": "checkbox-indicator",
1347
1657
  forceMount: true,
1348
1658
  className: "flex items-center justify-center text-current transition-opacity duration-400 opacity-0 group-data-[state=checked]:opacity-100",
1349
- children: /* @__PURE__ */ jsx15(Check, { className: "size-3.5" })
1659
+ children: /* @__PURE__ */ jsx19(Check, { className: "size-3.5" })
1350
1660
  }
1351
1661
  )
1352
1662
  }
@@ -1355,16 +1665,16 @@ function Checkbox({
1355
1665
 
1356
1666
  // src/components/ui/collapsible.tsx
1357
1667
  import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
1358
- import { jsx as jsx16 } from "react/jsx-runtime";
1668
+ import { jsx as jsx20 } from "react/jsx-runtime";
1359
1669
  function Collapsible({
1360
1670
  ...props
1361
1671
  }) {
1362
- return /* @__PURE__ */ jsx16(CollapsiblePrimitive.Root, { "data-slot": "collapsible", ...props });
1672
+ return /* @__PURE__ */ jsx20(CollapsiblePrimitive.Root, { "data-slot": "collapsible", ...props });
1363
1673
  }
1364
1674
  function CollapsibleTrigger2({
1365
1675
  ...props
1366
1676
  }) {
1367
- return /* @__PURE__ */ jsx16(
1677
+ return /* @__PURE__ */ jsx20(
1368
1678
  CollapsiblePrimitive.CollapsibleTrigger,
1369
1679
  {
1370
1680
  "data-slot": "collapsible-trigger",
@@ -1375,7 +1685,7 @@ function CollapsibleTrigger2({
1375
1685
  function CollapsibleContent2({
1376
1686
  ...props
1377
1687
  }) {
1378
- return /* @__PURE__ */ jsx16(
1688
+ return /* @__PURE__ */ jsx20(
1379
1689
  CollapsiblePrimitive.CollapsibleContent,
1380
1690
  {
1381
1691
  "data-slot": "collapsible-content",
@@ -1393,32 +1703,32 @@ import { SearchIcon } from "lucide-react";
1393
1703
  import * as DialogPrimitive from "@radix-ui/react-dialog";
1394
1704
  import { XIcon } from "lucide-react";
1395
1705
  import "react";
1396
- import { jsx as jsx17, jsxs as jsxs6 } from "react/jsx-runtime";
1706
+ import { jsx as jsx21, jsxs as jsxs9 } from "react/jsx-runtime";
1397
1707
  function Dialog({
1398
1708
  ...props
1399
1709
  }) {
1400
- return /* @__PURE__ */ jsx17(DialogPrimitive.Root, { "data-slot": "dialog", ...props });
1710
+ return /* @__PURE__ */ jsx21(DialogPrimitive.Root, { "data-slot": "dialog", ...props });
1401
1711
  }
1402
1712
  function DialogTrigger({
1403
1713
  ...props
1404
1714
  }) {
1405
- return /* @__PURE__ */ jsx17(DialogPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props });
1715
+ return /* @__PURE__ */ jsx21(DialogPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props });
1406
1716
  }
1407
1717
  function DialogPortal({
1408
1718
  ...props
1409
1719
  }) {
1410
- return /* @__PURE__ */ jsx17(DialogPrimitive.Portal, { "data-slot": "dialog-portal", ...props });
1720
+ return /* @__PURE__ */ jsx21(DialogPrimitive.Portal, { "data-slot": "dialog-portal", ...props });
1411
1721
  }
1412
1722
  function DialogClose({
1413
1723
  ...props
1414
1724
  }) {
1415
- return /* @__PURE__ */ jsx17(DialogPrimitive.Close, { "data-slot": "dialog-close", ...props });
1725
+ return /* @__PURE__ */ jsx21(DialogPrimitive.Close, { "data-slot": "dialog-close", ...props });
1416
1726
  }
1417
1727
  function DialogOverlay({
1418
1728
  className,
1419
1729
  ...props
1420
1730
  }) {
1421
- return /* @__PURE__ */ jsx17(
1731
+ return /* @__PURE__ */ jsx21(
1422
1732
  DialogPrimitive.Overlay,
1423
1733
  {
1424
1734
  "data-slot": "dialog-overlay",
@@ -1437,9 +1747,9 @@ function DialogContent({
1437
1747
  showCloseButton = true,
1438
1748
  ...props
1439
1749
  }) {
1440
- return /* @__PURE__ */ jsxs6(DialogPortal, { "data-slot": "dialog-portal", children: [
1441
- /* @__PURE__ */ jsx17(DialogOverlay, { className: overlayClassName }),
1442
- /* @__PURE__ */ jsxs6(
1750
+ return /* @__PURE__ */ jsxs9(DialogPortal, { "data-slot": "dialog-portal", children: [
1751
+ /* @__PURE__ */ jsx21(DialogOverlay, { className: overlayClassName }),
1752
+ /* @__PURE__ */ jsxs9(
1443
1753
  DialogPrimitive.Content,
1444
1754
  {
1445
1755
  "data-slot": "dialog-content",
@@ -1450,14 +1760,14 @@ function DialogContent({
1450
1760
  ...props,
1451
1761
  children: [
1452
1762
  children,
1453
- showCloseButton && /* @__PURE__ */ jsxs6(
1763
+ showCloseButton && /* @__PURE__ */ jsxs9(
1454
1764
  DialogPrimitive.Close,
1455
1765
  {
1456
1766
  "data-slot": "dialog-close",
1457
1767
  className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1458
1768
  children: [
1459
- /* @__PURE__ */ jsx17(XIcon, {}),
1460
- /* @__PURE__ */ jsx17("span", { className: "sr-only", children: "Close" })
1769
+ /* @__PURE__ */ jsx21(XIcon, {}),
1770
+ /* @__PURE__ */ jsx21("span", { className: "sr-only", children: "Close" })
1461
1771
  ]
1462
1772
  }
1463
1773
  )
@@ -1467,7 +1777,7 @@ function DialogContent({
1467
1777
  ] });
1468
1778
  }
1469
1779
  function DialogHeader({ className, ...props }) {
1470
- return /* @__PURE__ */ jsx17(
1780
+ return /* @__PURE__ */ jsx21(
1471
1781
  "div",
1472
1782
  {
1473
1783
  "data-slot": "dialog-header",
@@ -1477,7 +1787,7 @@ function DialogHeader({ className, ...props }) {
1477
1787
  );
1478
1788
  }
1479
1789
  function DialogFooter({ className, ...props }) {
1480
- return /* @__PURE__ */ jsx17(
1790
+ return /* @__PURE__ */ jsx21(
1481
1791
  "div",
1482
1792
  {
1483
1793
  "data-slot": "dialog-footer",
@@ -1493,7 +1803,7 @@ function DialogTitle({
1493
1803
  className,
1494
1804
  ...props
1495
1805
  }) {
1496
- return /* @__PURE__ */ jsx17(
1806
+ return /* @__PURE__ */ jsx21(
1497
1807
  DialogPrimitive.Title,
1498
1808
  {
1499
1809
  "data-slot": "dialog-title",
@@ -1506,7 +1816,7 @@ function DialogDescription({
1506
1816
  className,
1507
1817
  ...props
1508
1818
  }) {
1509
- return /* @__PURE__ */ jsx17(
1819
+ return /* @__PURE__ */ jsx21(
1510
1820
  DialogPrimitive.Description,
1511
1821
  {
1512
1822
  "data-slot": "dialog-description",
@@ -1517,12 +1827,12 @@ function DialogDescription({
1517
1827
  }
1518
1828
 
1519
1829
  // src/components/ui/command.tsx
1520
- import { jsx as jsx18, jsxs as jsxs7 } from "react/jsx-runtime";
1830
+ import { jsx as jsx22, jsxs as jsxs10 } from "react/jsx-runtime";
1521
1831
  function Command({
1522
1832
  className,
1523
1833
  ...props
1524
1834
  }) {
1525
- return /* @__PURE__ */ jsx18(
1835
+ return /* @__PURE__ */ jsx22(
1526
1836
  CommandPrimitive,
1527
1837
  {
1528
1838
  "data-slot": "command",
@@ -1542,17 +1852,17 @@ function CommandDialog({
1542
1852
  showCloseButton = true,
1543
1853
  ...props
1544
1854
  }) {
1545
- return /* @__PURE__ */ jsxs7(Dialog, { ...props, children: [
1546
- /* @__PURE__ */ jsxs7(DialogHeader, { className: "sr-only", children: [
1547
- /* @__PURE__ */ jsx18(DialogTitle, { children: title }),
1548
- /* @__PURE__ */ jsx18(DialogDescription, { children: description })
1855
+ return /* @__PURE__ */ jsxs10(Dialog, { ...props, children: [
1856
+ /* @__PURE__ */ jsxs10(DialogHeader, { className: "sr-only", children: [
1857
+ /* @__PURE__ */ jsx22(DialogTitle, { children: title }),
1858
+ /* @__PURE__ */ jsx22(DialogDescription, { children: description })
1549
1859
  ] }),
1550
- /* @__PURE__ */ jsx18(
1860
+ /* @__PURE__ */ jsx22(
1551
1861
  DialogContent,
1552
1862
  {
1553
1863
  className: cn("overflow-hidden p-0", className),
1554
1864
  showCloseButton,
1555
- children: /* @__PURE__ */ jsx18(Command, { className: "[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children })
1865
+ children: /* @__PURE__ */ jsx22(Command, { className: "[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children })
1556
1866
  }
1557
1867
  )
1558
1868
  ] });
@@ -1561,14 +1871,14 @@ function CommandInput({
1561
1871
  className,
1562
1872
  ...props
1563
1873
  }) {
1564
- return /* @__PURE__ */ jsxs7(
1874
+ return /* @__PURE__ */ jsxs10(
1565
1875
  "div",
1566
1876
  {
1567
1877
  "data-slot": "command-input-wrapper",
1568
1878
  className: "flex h-9 items-center gap-2 border-b px-3",
1569
1879
  children: [
1570
- /* @__PURE__ */ jsx18(SearchIcon, { className: "size-4 shrink-0 opacity-50" }),
1571
- /* @__PURE__ */ jsx18(
1880
+ /* @__PURE__ */ jsx22(SearchIcon, { className: "size-4 shrink-0 opacity-50" }),
1881
+ /* @__PURE__ */ jsx22(
1572
1882
  CommandPrimitive.Input,
1573
1883
  {
1574
1884
  "data-slot": "command-input",
@@ -1587,7 +1897,7 @@ function CommandList({
1587
1897
  className,
1588
1898
  ...props
1589
1899
  }) {
1590
- return /* @__PURE__ */ jsx18(
1900
+ return /* @__PURE__ */ jsx22(
1591
1901
  CommandPrimitive.List,
1592
1902
  {
1593
1903
  "data-slot": "command-list",
@@ -1602,7 +1912,7 @@ function CommandList({
1602
1912
  function CommandEmpty({
1603
1913
  ...props
1604
1914
  }) {
1605
- return /* @__PURE__ */ jsx18(
1915
+ return /* @__PURE__ */ jsx22(
1606
1916
  CommandPrimitive.Empty,
1607
1917
  {
1608
1918
  "data-slot": "command-empty",
@@ -1615,7 +1925,7 @@ function CommandGroup({
1615
1925
  className,
1616
1926
  ...props
1617
1927
  }) {
1618
- return /* @__PURE__ */ jsx18(
1928
+ return /* @__PURE__ */ jsx22(
1619
1929
  CommandPrimitive.Group,
1620
1930
  {
1621
1931
  "data-slot": "command-group",
@@ -1631,7 +1941,7 @@ function CommandSeparator({
1631
1941
  className,
1632
1942
  ...props
1633
1943
  }) {
1634
- return /* @__PURE__ */ jsx18(
1944
+ return /* @__PURE__ */ jsx22(
1635
1945
  CommandPrimitive.Separator,
1636
1946
  {
1637
1947
  "data-slot": "command-separator",
@@ -1644,7 +1954,7 @@ function CommandItem({
1644
1954
  className,
1645
1955
  ...props
1646
1956
  }) {
1647
- return /* @__PURE__ */ jsx18(
1957
+ return /* @__PURE__ */ jsx22(
1648
1958
  CommandPrimitive.Item,
1649
1959
  {
1650
1960
  "data-slot": "command-item",
@@ -1660,7 +1970,7 @@ function CommandShortcut({
1660
1970
  className,
1661
1971
  ...props
1662
1972
  }) {
1663
- return /* @__PURE__ */ jsx18(
1973
+ return /* @__PURE__ */ jsx22(
1664
1974
  "span",
1665
1975
  {
1666
1976
  "data-slot": "command-shortcut",
@@ -1677,36 +1987,36 @@ function CommandShortcut({
1677
1987
  import "react";
1678
1988
  import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
1679
1989
  import { CheckIcon, ChevronRightIcon as ChevronRightIcon2, CircleIcon } from "lucide-react";
1680
- import { jsx as jsx19, jsxs as jsxs8 } from "react/jsx-runtime";
1990
+ import { jsx as jsx23, jsxs as jsxs11 } from "react/jsx-runtime";
1681
1991
  function ContextMenu({
1682
1992
  ...props
1683
1993
  }) {
1684
- return /* @__PURE__ */ jsx19(ContextMenuPrimitive.Root, { "data-slot": "context-menu", ...props });
1994
+ return /* @__PURE__ */ jsx23(ContextMenuPrimitive.Root, { "data-slot": "context-menu", ...props });
1685
1995
  }
1686
1996
  function ContextMenuTrigger({
1687
1997
  ...props
1688
1998
  }) {
1689
- return /* @__PURE__ */ jsx19(ContextMenuPrimitive.Trigger, { "data-slot": "context-menu-trigger", ...props });
1999
+ return /* @__PURE__ */ jsx23(ContextMenuPrimitive.Trigger, { "data-slot": "context-menu-trigger", ...props });
1690
2000
  }
1691
2001
  function ContextMenuGroup({
1692
2002
  ...props
1693
2003
  }) {
1694
- return /* @__PURE__ */ jsx19(ContextMenuPrimitive.Group, { "data-slot": "context-menu-group", ...props });
2004
+ return /* @__PURE__ */ jsx23(ContextMenuPrimitive.Group, { "data-slot": "context-menu-group", ...props });
1695
2005
  }
1696
2006
  function ContextMenuPortal({
1697
2007
  ...props
1698
2008
  }) {
1699
- return /* @__PURE__ */ jsx19(ContextMenuPrimitive.Portal, { "data-slot": "context-menu-portal", ...props });
2009
+ return /* @__PURE__ */ jsx23(ContextMenuPrimitive.Portal, { "data-slot": "context-menu-portal", ...props });
1700
2010
  }
1701
2011
  function ContextMenuSub({
1702
2012
  ...props
1703
2013
  }) {
1704
- return /* @__PURE__ */ jsx19(ContextMenuPrimitive.Sub, { "data-slot": "context-menu-sub", ...props });
2014
+ return /* @__PURE__ */ jsx23(ContextMenuPrimitive.Sub, { "data-slot": "context-menu-sub", ...props });
1705
2015
  }
1706
2016
  function ContextMenuRadioGroup({
1707
2017
  ...props
1708
2018
  }) {
1709
- return /* @__PURE__ */ jsx19(
2019
+ return /* @__PURE__ */ jsx23(
1710
2020
  ContextMenuPrimitive.RadioGroup,
1711
2021
  {
1712
2022
  "data-slot": "context-menu-radio-group",
@@ -1720,7 +2030,7 @@ function ContextMenuSubTrigger({
1720
2030
  children,
1721
2031
  ...props
1722
2032
  }) {
1723
- return /* @__PURE__ */ jsxs8(
2033
+ return /* @__PURE__ */ jsxs11(
1724
2034
  ContextMenuPrimitive.SubTrigger,
1725
2035
  {
1726
2036
  "data-slot": "context-menu-sub-trigger",
@@ -1732,7 +2042,7 @@ function ContextMenuSubTrigger({
1732
2042
  ...props,
1733
2043
  children: [
1734
2044
  children,
1735
- /* @__PURE__ */ jsx19(ChevronRightIcon2, { className: "ml-auto" })
2045
+ /* @__PURE__ */ jsx23(ChevronRightIcon2, { className: "ml-auto" })
1736
2046
  ]
1737
2047
  }
1738
2048
  );
@@ -1741,7 +2051,7 @@ function ContextMenuSubContent({
1741
2051
  className,
1742
2052
  ...props
1743
2053
  }) {
1744
- return /* @__PURE__ */ jsx19(
2054
+ return /* @__PURE__ */ jsx23(
1745
2055
  ContextMenuPrimitive.SubContent,
1746
2056
  {
1747
2057
  "data-slot": "context-menu-sub-content",
@@ -1757,7 +2067,7 @@ function ContextMenuContent({
1757
2067
  className,
1758
2068
  ...props
1759
2069
  }) {
1760
- return /* @__PURE__ */ jsx19(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx19(
2070
+ return /* @__PURE__ */ jsx23(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx23(
1761
2071
  ContextMenuPrimitive.Content,
1762
2072
  {
1763
2073
  "data-slot": "context-menu-content",
@@ -1775,7 +2085,7 @@ function ContextMenuItem({
1775
2085
  variant = "default",
1776
2086
  ...props
1777
2087
  }) {
1778
- return /* @__PURE__ */ jsx19(
2088
+ return /* @__PURE__ */ jsx23(
1779
2089
  ContextMenuPrimitive.Item,
1780
2090
  {
1781
2091
  "data-slot": "context-menu-item",
@@ -1795,7 +2105,7 @@ function ContextMenuCheckboxItem({
1795
2105
  checked,
1796
2106
  ...props
1797
2107
  }) {
1798
- return /* @__PURE__ */ jsxs8(
2108
+ return /* @__PURE__ */ jsxs11(
1799
2109
  ContextMenuPrimitive.CheckboxItem,
1800
2110
  {
1801
2111
  "data-slot": "context-menu-checkbox-item",
@@ -1806,7 +2116,7 @@ function ContextMenuCheckboxItem({
1806
2116
  checked,
1807
2117
  ...props,
1808
2118
  children: [
1809
- /* @__PURE__ */ jsx19("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx19(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx19(CheckIcon, { className: "size-4" }) }) }),
2119
+ /* @__PURE__ */ jsx23("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx23(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx23(CheckIcon, { className: "size-4" }) }) }),
1810
2120
  children
1811
2121
  ]
1812
2122
  }
@@ -1817,7 +2127,7 @@ function ContextMenuRadioItem({
1817
2127
  children,
1818
2128
  ...props
1819
2129
  }) {
1820
- return /* @__PURE__ */ jsxs8(
2130
+ return /* @__PURE__ */ jsxs11(
1821
2131
  ContextMenuPrimitive.RadioItem,
1822
2132
  {
1823
2133
  "data-slot": "context-menu-radio-item",
@@ -1827,7 +2137,7 @@ function ContextMenuRadioItem({
1827
2137
  ),
1828
2138
  ...props,
1829
2139
  children: [
1830
- /* @__PURE__ */ jsx19("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx19(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx19(CircleIcon, { className: "size-2 fill-current" }) }) }),
2140
+ /* @__PURE__ */ jsx23("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx23(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx23(CircleIcon, { className: "size-2 fill-current" }) }) }),
1831
2141
  children
1832
2142
  ]
1833
2143
  }
@@ -1838,7 +2148,7 @@ function ContextMenuLabel({
1838
2148
  inset,
1839
2149
  ...props
1840
2150
  }) {
1841
- return /* @__PURE__ */ jsx19(
2151
+ return /* @__PURE__ */ jsx23(
1842
2152
  ContextMenuPrimitive.Label,
1843
2153
  {
1844
2154
  "data-slot": "context-menu-label",
@@ -1855,7 +2165,7 @@ function ContextMenuSeparator({
1855
2165
  className,
1856
2166
  ...props
1857
2167
  }) {
1858
- return /* @__PURE__ */ jsx19(
2168
+ return /* @__PURE__ */ jsx23(
1859
2169
  ContextMenuPrimitive.Separator,
1860
2170
  {
1861
2171
  "data-slot": "context-menu-separator",
@@ -1868,7 +2178,7 @@ function ContextMenuShortcut({
1868
2178
  className,
1869
2179
  ...props
1870
2180
  }) {
1871
- return /* @__PURE__ */ jsx19(
2181
+ return /* @__PURE__ */ jsx23(
1872
2182
  "span",
1873
2183
  {
1874
2184
  "data-slot": "context-menu-shortcut",
@@ -1889,16 +2199,16 @@ import {
1889
2199
  isValid
1890
2200
  } from "date-fns";
1891
2201
  import { CalendarDays } from "lucide-react";
1892
- import * as React20 from "react";
2202
+ import * as React24 from "react";
1893
2203
 
1894
2204
  // src/components/ui/input.tsx
1895
- import { cva as cva4 } from "class-variance-authority";
1896
- import * as React18 from "react";
1897
- import { jsx as jsx20, jsxs as jsxs9 } from "react/jsx-runtime";
1898
- var inputVariants = cva4(
2205
+ import { cva as cva8 } from "class-variance-authority";
2206
+ import * as React22 from "react";
2207
+ import { jsx as jsx24, jsxs as jsxs12 } from "react/jsx-runtime";
2208
+ var inputVariants = cva8(
1899
2209
  [
1900
2210
  // Base styles
1901
- "file:text-zinc-800 placeholder:text-gray-subtle selection:bg-primary selection:text-primary-foreground",
2211
+ "file:text-foreground-secondary placeholder:text-gray-subtle selection:bg-primary selection:text-primary-foreground",
1902
2212
  "flex w-full min-w-0 rounded-md border bg-transparent text-base transition-all duration-400",
1903
2213
  "outline-none font-sans",
1904
2214
  // File input styles
@@ -1908,11 +2218,11 @@ var inputVariants = cva4(
1908
2218
  // Responsive text size
1909
2219
  "md:text-sm",
1910
2220
  // Default state
1911
- "border-zinc-300 bg-background",
2221
+ "border-border-default bg-background",
1912
2222
  // Hover state
1913
2223
  "hover:border-primary-stroke-default",
1914
2224
  // Focus state
1915
- "focus:border-blue-500",
2225
+ "focus:border-focus-ring",
1916
2226
  "active:border-brand-normal"
1917
2227
  ],
1918
2228
  {
@@ -1928,7 +2238,7 @@ var inputVariants = cva4(
1928
2238
  }
1929
2239
  }
1930
2240
  );
1931
- var Input = React18.forwardRef(
2241
+ var Input = React22.forwardRef(
1932
2242
  ({
1933
2243
  className,
1934
2244
  type,
@@ -1948,8 +2258,8 @@ var Input = React18.forwardRef(
1948
2258
  "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive"
1949
2259
  ] : [];
1950
2260
  if (leftIcon || rightIcon) {
1951
- return /* @__PURE__ */ jsxs9("div", { className: "relative", children: [
1952
- /* @__PURE__ */ jsx20(
2261
+ return /* @__PURE__ */ jsxs12("div", { className: "relative", children: [
2262
+ /* @__PURE__ */ jsx24(
1953
2263
  "input",
1954
2264
  {
1955
2265
  type,
@@ -1967,24 +2277,24 @@ var Input = React18.forwardRef(
1967
2277
  ...props
1968
2278
  }
1969
2279
  ),
1970
- leftIcon && /* @__PURE__ */ jsx20(
2280
+ leftIcon && /* @__PURE__ */ jsx24(
1971
2281
  "div",
1972
2282
  {
1973
2283
  className: cn(
1974
2284
  "pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 flex items-center justify-center",
1975
2285
  "transition-colors stroke-[1.5px]",
1976
- error ? "text-destructive peer-hover:text-destructive peer-focus:text-destructive peer-active:text-destructive" : "text-muted-foreground peer-hover:text-brand-normal peer-focus:text-blue-500 peer-active:text-brand-normal",
2286
+ error ? "text-destructive peer-hover:text-destructive peer-focus:text-destructive peer-active:text-destructive" : "text-muted-foreground peer-hover:text-brand-normal peer-focus:text-focus-ring peer-active:text-brand-normal",
1977
2287
  leftIconClassName
1978
2288
  ),
1979
- children: React18.isValidElement(leftIcon) ? (() => {
2289
+ children: React22.isValidElement(leftIcon) ? (() => {
1980
2290
  const iconEl = leftIcon;
1981
- return React18.cloneElement(iconEl, {
2291
+ return React22.cloneElement(iconEl, {
1982
2292
  className: cn("h-4 w-4", iconEl.props.className)
1983
2293
  });
1984
2294
  })() : leftIcon
1985
2295
  }
1986
2296
  ),
1987
- rightIcon && /* @__PURE__ */ jsx20(
2297
+ rightIcon && /* @__PURE__ */ jsx24(
1988
2298
  Button,
1989
2299
  {
1990
2300
  onClick: rightIconOnClick,
@@ -1993,14 +2303,14 @@ var Input = React18.forwardRef(
1993
2303
  className: cn(
1994
2304
  "absolute right-3 top-1/2 -translate-y-1/2 flex items-center justify-center",
1995
2305
  "h-6 w-6 rounded-sm transition-colors",
1996
- error ? "text-destructive hover:text-destructive focus:text-destructive" : "text-muted-foreground hover:text-brand-normal focus:text-blue-500",
2306
+ error ? "text-destructive hover:text-destructive focus:text-destructive" : "text-muted-foreground hover:text-brand-normal focus:text-focus-ring",
1997
2307
  rightIconClassName
1998
2308
  ),
1999
2309
  "aria-label": "Input action",
2000
2310
  ...rightIconButtonProps,
2001
- children: React18.isValidElement(rightIcon) ? (() => {
2311
+ children: React22.isValidElement(rightIcon) ? (() => {
2002
2312
  const iconEl = rightIcon;
2003
- return React18.cloneElement(iconEl, {
2313
+ return React22.cloneElement(iconEl, {
2004
2314
  className: cn("h-4 w-4", iconEl.props.className)
2005
2315
  });
2006
2316
  })() : rightIcon
@@ -2008,7 +2318,7 @@ var Input = React18.forwardRef(
2008
2318
  )
2009
2319
  ] });
2010
2320
  }
2011
- return /* @__PURE__ */ jsx20(
2321
+ return /* @__PURE__ */ jsx24(
2012
2322
  "input",
2013
2323
  {
2014
2324
  type,
@@ -2026,16 +2336,16 @@ Input.displayName = "Input";
2026
2336
  // src/components/ui/popover.tsx
2027
2337
  import "react";
2028
2338
  import * as PopoverPrimitive from "@radix-ui/react-popover";
2029
- import { jsx as jsx21 } from "react/jsx-runtime";
2339
+ import { jsx as jsx25 } from "react/jsx-runtime";
2030
2340
  function Popover({
2031
2341
  ...props
2032
2342
  }) {
2033
- return /* @__PURE__ */ jsx21(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
2343
+ return /* @__PURE__ */ jsx25(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
2034
2344
  }
2035
2345
  function PopoverTrigger({
2036
2346
  ...props
2037
2347
  }) {
2038
- return /* @__PURE__ */ jsx21(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
2348
+ return /* @__PURE__ */ jsx25(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
2039
2349
  }
2040
2350
  function PopoverContent({
2041
2351
  className,
@@ -2043,7 +2353,7 @@ function PopoverContent({
2043
2353
  sideOffset = 4,
2044
2354
  ...props
2045
2355
  }) {
2046
- return /* @__PURE__ */ jsx21(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx21(
2356
+ return /* @__PURE__ */ jsx25(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx25(
2047
2357
  PopoverPrimitive.Content,
2048
2358
  {
2049
2359
  "data-slot": "popover-content",
@@ -2060,11 +2370,11 @@ function PopoverContent({
2060
2370
  function PopoverAnchor({
2061
2371
  ...props
2062
2372
  }) {
2063
- return /* @__PURE__ */ jsx21(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
2373
+ return /* @__PURE__ */ jsx25(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
2064
2374
  }
2065
2375
 
2066
2376
  // src/components/ui/date-input.tsx
2067
- import { jsx as jsx22, jsxs as jsxs10 } from "react/jsx-runtime";
2377
+ import { jsx as jsx26, jsxs as jsxs13 } from "react/jsx-runtime";
2068
2378
  var DATE_FORMAT_TOKENS = {
2069
2379
  "MM/DD/YYYY": "MM/dd/yyyy",
2070
2380
  "DD/MM/YYYY": "dd/MM/yyyy",
@@ -2199,10 +2509,10 @@ function DateInput({
2199
2509
  ...restProps
2200
2510
  }) {
2201
2511
  const resolvedPlaceholder = placeholder ?? DATE_FORMAT_PLACEHOLDER[dateFormat];
2202
- const [open, setOpen] = React20.useState(false);
2203
- const [monthState, setMonthState] = React20.useState(date ?? null);
2204
- const [value, setValue] = React20.useState(formatDate(date ?? null, dateFormat));
2205
- const [inputProps, calendarProps] = React20.useMemo(() => {
2512
+ const [open, setOpen] = React24.useState(false);
2513
+ const [monthState, setMonthState] = React24.useState(date ?? null);
2514
+ const [value, setValue] = React24.useState(formatDate(date ?? null, dateFormat));
2515
+ const [inputProps, calendarProps] = React24.useMemo(() => {
2206
2516
  const nextInputProps = {};
2207
2517
  const nextCalendarProps = {};
2208
2518
  for (const [key, val] of Object.entries(restProps)) {
@@ -2218,12 +2528,12 @@ function DateInput({
2218
2528
  nextCalendarProps
2219
2529
  ];
2220
2530
  }, [restProps]);
2221
- const today = React20.useMemo(() => {
2531
+ const today = React24.useMemo(() => {
2222
2532
  const d = /* @__PURE__ */ new Date();
2223
2533
  d.setHours(0, 0, 0, 0);
2224
2534
  return d;
2225
2535
  }, []);
2226
- const effectiveMaxDate = React20.useMemo(() => {
2536
+ const effectiveMaxDate = React24.useMemo(() => {
2227
2537
  if (disableFuture) {
2228
2538
  if (maxDate) {
2229
2539
  const max = new Date(maxDate);
@@ -2239,7 +2549,7 @@ function DateInput({
2239
2549
  }
2240
2550
  return void 0;
2241
2551
  }, [maxDate, disableFuture, today]);
2242
- const effectiveMinDate = React20.useMemo(() => {
2552
+ const effectiveMinDate = React24.useMemo(() => {
2243
2553
  if (minDate) {
2244
2554
  const min = new Date(minDate);
2245
2555
  min.setHours(0, 0, 0, 0);
@@ -2247,19 +2557,19 @@ function DateInput({
2247
2557
  }
2248
2558
  return null;
2249
2559
  }, [minDate]);
2250
- const dropdownStartMonth = React20.useMemo(() => {
2560
+ const dropdownStartMonth = React24.useMemo(() => {
2251
2561
  if (effectiveMinDate) return effectiveMinDate;
2252
2562
  const d = new Date(today);
2253
2563
  d.setFullYear(d.getFullYear() - 100);
2254
2564
  return d;
2255
2565
  }, [effectiveMinDate, today]);
2256
- const dropdownEndMonth = React20.useMemo(() => {
2566
+ const dropdownEndMonth = React24.useMemo(() => {
2257
2567
  if (effectiveMaxDate) return effectiveMaxDate;
2258
2568
  const d = new Date(today);
2259
2569
  d.setFullYear(d.getFullYear() + 100);
2260
2570
  return d;
2261
2571
  }, [effectiveMaxDate, today]);
2262
- React20.useEffect(() => {
2572
+ React24.useEffect(() => {
2263
2573
  if (date) {
2264
2574
  setValue(formatDate(date, dateFormat));
2265
2575
  setMonthState(date);
@@ -2349,8 +2659,8 @@ function DateInput({
2349
2659
  }
2350
2660
  }
2351
2661
  };
2352
- return /* @__PURE__ */ jsx22("div", { className: cn("relative flex gap-2", className), children: /* @__PURE__ */ jsxs10(Popover, { open, onOpenChange: setOpen, children: [
2353
- /* @__PURE__ */ jsx22(PopoverTrigger, { asChild: true, disabled: isInputDisabled, children: /* @__PURE__ */ jsx22("div", { className: "w-full relative group", children: /* @__PURE__ */ jsx22(
2662
+ return /* @__PURE__ */ jsx26("div", { className: cn("relative flex gap-2", className), children: /* @__PURE__ */ jsxs13(Popover, { open, onOpenChange: setOpen, children: [
2663
+ /* @__PURE__ */ jsx26(PopoverTrigger, { asChild: true, disabled: isInputDisabled, children: /* @__PURE__ */ jsx26("div", { className: "w-full relative group", children: /* @__PURE__ */ jsx26(
2354
2664
  Input,
2355
2665
  {
2356
2666
  id: "date",
@@ -2358,7 +2668,7 @@ function DateInput({
2358
2668
  placeholder: resolvedPlaceholder,
2359
2669
  className: cn(
2360
2670
  "bg-background cursor-pointer",
2361
- "group-data-[state=open]:border-blue-500 group-data-[state=open]:hover:border-blue-500",
2671
+ "group-data-[state=open]:border-focus-ring group-data-[state=open]:hover:border-focus-ring",
2362
2672
  inputClassName
2363
2673
  ),
2364
2674
  onChange: handleInputChange,
@@ -2370,13 +2680,13 @@ function DateInput({
2370
2680
  setOpen(true);
2371
2681
  }
2372
2682
  },
2373
- rightIcon: /* @__PURE__ */ jsx22(CalendarDays, { className: "h-4 w-4 text-muted-foreground" }),
2683
+ rightIcon: /* @__PURE__ */ jsx26(CalendarDays, { className: "h-4 w-4 text-muted-foreground" }),
2374
2684
  rightIconOnClick: isInputDisabled ? void 0 : () => setOpen(!open),
2375
2685
  rightIconButtonProps: { disabled: isInputDisabled },
2376
2686
  ...inputProps
2377
2687
  }
2378
2688
  ) }) }),
2379
- /* @__PURE__ */ jsx22(
2689
+ /* @__PURE__ */ jsx26(
2380
2690
  PopoverContent,
2381
2691
  {
2382
2692
  className: cn(
@@ -2384,7 +2694,7 @@ function DateInput({
2384
2694
  popoverContentClassName
2385
2695
  ),
2386
2696
  ...popoverContentProps,
2387
- children: /* @__PURE__ */ jsx22("div", { className: "border border-blue-500 h-full w-full rounded-md", children: /* @__PURE__ */ jsx22(Calendar, { ...resolvedCalendarProps }) })
2697
+ children: /* @__PURE__ */ jsx26("div", { className: "border border-focus-ring h-full w-full rounded-md", children: /* @__PURE__ */ jsx26(Calendar, { ...resolvedCalendarProps }) })
2388
2698
  }
2389
2699
  )
2390
2700
  ] }) });
@@ -2394,8 +2704,8 @@ function DateInput({
2394
2704
  import "class-variance-authority";
2395
2705
  import { format as dateFnsFormat2, isValid as isValid2 } from "date-fns";
2396
2706
  import { CalendarDays as CalendarDays2 } from "lucide-react";
2397
- import * as React21 from "react";
2398
- import { jsx as jsx23, jsxs as jsxs11 } from "react/jsx-runtime";
2707
+ import * as React25 from "react";
2708
+ import { jsx as jsx27, jsxs as jsxs14 } from "react/jsx-runtime";
2399
2709
  var DATE_FORMAT_TOKENS2 = {
2400
2710
  "MM/DD/YYYY": "MM/dd/yyyy",
2401
2711
  "DD/MM/YYYY": "dd/MM/yyyy",
@@ -2477,22 +2787,22 @@ function DateRangeInput({
2477
2787
  ...restProps
2478
2788
  }) {
2479
2789
  const resolvedPlaceholder = placeholder ?? rangePlaceholder(dateFormat);
2480
- const [open, setOpen] = React21.useState(false);
2481
- const [monthState, setMonthState] = React21.useState(
2790
+ const [open, setOpen] = React25.useState(false);
2791
+ const [monthState, setMonthState] = React25.useState(
2482
2792
  dateRange?.from ?? null
2483
2793
  );
2484
2794
  const displayValue = formatRange(dateRange, dateFormat);
2485
- React21.useEffect(() => {
2795
+ React25.useEffect(() => {
2486
2796
  if (dateRange?.from) {
2487
2797
  setMonthState(dateRange.from);
2488
2798
  }
2489
2799
  }, [dateRange]);
2490
- const today = React21.useMemo(() => {
2800
+ const today = React25.useMemo(() => {
2491
2801
  const d = /* @__PURE__ */ new Date();
2492
2802
  d.setHours(0, 0, 0, 0);
2493
2803
  return d;
2494
2804
  }, []);
2495
- const effectiveMaxDate = React21.useMemo(() => {
2805
+ const effectiveMaxDate = React25.useMemo(() => {
2496
2806
  if (disableFuture) {
2497
2807
  if (maxDate) {
2498
2808
  const max = new Date(maxDate);
@@ -2508,7 +2818,7 @@ function DateRangeInput({
2508
2818
  }
2509
2819
  return void 0;
2510
2820
  }, [maxDate, disableFuture, today]);
2511
- const effectiveMinDate = React21.useMemo(() => {
2821
+ const effectiveMinDate = React25.useMemo(() => {
2512
2822
  if (minDate) {
2513
2823
  const min = new Date(minDate);
2514
2824
  min.setHours(0, 0, 0, 0);
@@ -2516,13 +2826,13 @@ function DateRangeInput({
2516
2826
  }
2517
2827
  return null;
2518
2828
  }, [minDate]);
2519
- const dropdownStartMonth = React21.useMemo(() => {
2829
+ const dropdownStartMonth = React25.useMemo(() => {
2520
2830
  if (effectiveMinDate) return effectiveMinDate;
2521
2831
  const d = new Date(today);
2522
2832
  d.setFullYear(d.getFullYear() - 100);
2523
2833
  return d;
2524
2834
  }, [effectiveMinDate, today]);
2525
- const dropdownEndMonth = React21.useMemo(() => {
2835
+ const dropdownEndMonth = React25.useMemo(() => {
2526
2836
  if (effectiveMaxDate) return effectiveMaxDate;
2527
2837
  const d = new Date(today);
2528
2838
  d.setFullYear(d.getFullYear() + 100);
@@ -2572,8 +2882,8 @@ function DateRangeInput({
2572
2882
  onSelect: handleCalendarSelect,
2573
2883
  disabled: calendarDisabled ?? defaultCalendarDisabled
2574
2884
  };
2575
- return /* @__PURE__ */ jsx23("div", { className: cn("relative flex gap-2", className), children: /* @__PURE__ */ jsxs11(Popover, { open, onOpenChange: setOpen, children: [
2576
- /* @__PURE__ */ jsx23(PopoverTrigger, { asChild: true, disabled: isInputDisabled, children: /* @__PURE__ */ jsxs11(
2885
+ return /* @__PURE__ */ jsx27("div", { className: cn("relative flex gap-2", className), children: /* @__PURE__ */ jsxs14(Popover, { open, onOpenChange: setOpen, children: [
2886
+ /* @__PURE__ */ jsx27(PopoverTrigger, { asChild: true, disabled: isInputDisabled, children: /* @__PURE__ */ jsxs14(
2577
2887
  Button,
2578
2888
  {
2579
2889
  type: "button",
@@ -2581,18 +2891,18 @@ function DateRangeInput({
2581
2891
  className: cn(
2582
2892
  inputVariants({ size }),
2583
2893
  "bg-background cursor-pointer w-full text-left flex items-center justify-between gap-2 font-normal",
2584
- "data-[state=open]:border-blue-500 data-[state=open]:hover:border-blue-500",
2894
+ "data-[state=open]:border-focus-ring data-[state=open]:hover:border-focus-ring",
2585
2895
  isInputDisabled && "pointer-events-none cursor-not-allowed opacity-50",
2586
2896
  inputClassName
2587
2897
  ),
2588
2898
  disabled: isInputDisabled,
2589
2899
  children: [
2590
2900
  displayValue || resolvedPlaceholder,
2591
- /* @__PURE__ */ jsx23(CalendarDays2, { className: "h-4 w-4 text-muted-foreground shrink-0" })
2901
+ /* @__PURE__ */ jsx27(CalendarDays2, { className: "h-4 w-4 text-muted-foreground shrink-0" })
2592
2902
  ]
2593
2903
  }
2594
2904
  ) }),
2595
- /* @__PURE__ */ jsx23(
2905
+ /* @__PURE__ */ jsx27(
2596
2906
  PopoverContent,
2597
2907
  {
2598
2908
  className: cn(
@@ -2600,10 +2910,10 @@ function DateRangeInput({
2600
2910
  popoverContentClassName
2601
2911
  ),
2602
2912
  ...popoverContentProps,
2603
- children: /* @__PURE__ */ jsxs11("div", { className: "border border-blue-500 h-full w-full rounded-md flex flex-col overflow-y-auto justify-between", children: [
2604
- /* @__PURE__ */ jsx23(Calendar, { ...resolvedCalendarProps }),
2605
- /* @__PURE__ */ jsxs11("div", { className: "flex flex-col gap-2 px-2 pb-1 shrink-0", children: [
2606
- /* @__PURE__ */ jsx23(
2913
+ children: /* @__PURE__ */ jsxs14("div", { className: "border border-focus-ring h-full w-full rounded-md flex flex-col overflow-y-auto justify-between", children: [
2914
+ /* @__PURE__ */ jsx27(Calendar, { ...resolvedCalendarProps }),
2915
+ /* @__PURE__ */ jsxs14("div", { className: "flex flex-col gap-2 px-2 pb-1 shrink-0", children: [
2916
+ /* @__PURE__ */ jsx27(
2607
2917
  Button,
2608
2918
  {
2609
2919
  variant: "ghost-secondary",
@@ -2613,7 +2923,7 @@ function DateRangeInput({
2613
2923
  children: "Clear"
2614
2924
  }
2615
2925
  ),
2616
- /* @__PURE__ */ jsx23(
2926
+ /* @__PURE__ */ jsx27(
2617
2927
  Button,
2618
2928
  {
2619
2929
  variant: "primary",
@@ -2633,32 +2943,32 @@ function DateRangeInput({
2633
2943
  // src/components/ui/drawer.tsx
2634
2944
  import "react";
2635
2945
  import { Drawer as DrawerPrimitive } from "vaul";
2636
- import { jsx as jsx24, jsxs as jsxs12 } from "react/jsx-runtime";
2946
+ import { jsx as jsx28, jsxs as jsxs15 } from "react/jsx-runtime";
2637
2947
  function Drawer({
2638
2948
  ...props
2639
2949
  }) {
2640
- return /* @__PURE__ */ jsx24(DrawerPrimitive.Root, { "data-slot": "drawer", ...props, repositionInputs: false });
2950
+ return /* @__PURE__ */ jsx28(DrawerPrimitive.Root, { "data-slot": "drawer", ...props, repositionInputs: false });
2641
2951
  }
2642
2952
  function DrawerTrigger({
2643
2953
  ...props
2644
2954
  }) {
2645
- return /* @__PURE__ */ jsx24(DrawerPrimitive.Trigger, { "data-slot": "drawer-trigger", ...props });
2955
+ return /* @__PURE__ */ jsx28(DrawerPrimitive.Trigger, { "data-slot": "drawer-trigger", ...props });
2646
2956
  }
2647
2957
  function DrawerPortal({
2648
2958
  ...props
2649
2959
  }) {
2650
- return /* @__PURE__ */ jsx24(DrawerPrimitive.Portal, { "data-slot": "drawer-portal", ...props });
2960
+ return /* @__PURE__ */ jsx28(DrawerPrimitive.Portal, { "data-slot": "drawer-portal", ...props });
2651
2961
  }
2652
2962
  function DrawerClose({
2653
2963
  ...props
2654
2964
  }) {
2655
- return /* @__PURE__ */ jsx24(DrawerPrimitive.Close, { "data-slot": "drawer-close", ...props });
2965
+ return /* @__PURE__ */ jsx28(DrawerPrimitive.Close, { "data-slot": "drawer-close", ...props });
2656
2966
  }
2657
2967
  function DrawerOverlay({
2658
2968
  className,
2659
2969
  ...props
2660
2970
  }) {
2661
- return /* @__PURE__ */ jsx24(
2971
+ return /* @__PURE__ */ jsx28(
2662
2972
  DrawerPrimitive.Overlay,
2663
2973
  {
2664
2974
  "data-slot": "drawer-overlay",
@@ -2676,9 +2986,9 @@ function DrawerContent({
2676
2986
  withCloseButton = true,
2677
2987
  ...props
2678
2988
  }) {
2679
- return /* @__PURE__ */ jsxs12(DrawerPortal, { "data-slot": "drawer-portal", children: [
2680
- /* @__PURE__ */ jsx24(DrawerOverlay, {}),
2681
- /* @__PURE__ */ jsxs12(
2989
+ return /* @__PURE__ */ jsxs15(DrawerPortal, { "data-slot": "drawer-portal", children: [
2990
+ /* @__PURE__ */ jsx28(DrawerOverlay, {}),
2991
+ /* @__PURE__ */ jsxs15(
2682
2992
  DrawerPrimitive.Content,
2683
2993
  {
2684
2994
  "data-slot": "drawer-content",
@@ -2692,7 +3002,7 @@ function DrawerContent({
2692
3002
  ),
2693
3003
  ...props,
2694
3004
  children: [
2695
- withCloseButton && /* @__PURE__ */ jsx24("div", { className: "bg-muted mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }),
3005
+ withCloseButton && /* @__PURE__ */ jsx28("div", { className: "bg-muted mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }),
2696
3006
  children
2697
3007
  ]
2698
3008
  }
@@ -2700,7 +3010,7 @@ function DrawerContent({
2700
3010
  ] });
2701
3011
  }
2702
3012
  function DrawerHeader({ className, ...props }) {
2703
- return /* @__PURE__ */ jsx24(
3013
+ return /* @__PURE__ */ jsx28(
2704
3014
  "div",
2705
3015
  {
2706
3016
  "data-slot": "drawer-header",
@@ -2713,7 +3023,7 @@ function DrawerHeader({ className, ...props }) {
2713
3023
  );
2714
3024
  }
2715
3025
  function DrawerFooter({ className, ...props }) {
2716
- return /* @__PURE__ */ jsx24(
3026
+ return /* @__PURE__ */ jsx28(
2717
3027
  "div",
2718
3028
  {
2719
3029
  "data-slot": "drawer-footer",
@@ -2726,7 +3036,7 @@ function DrawerTitle({
2726
3036
  className,
2727
3037
  ...props
2728
3038
  }) {
2729
- return /* @__PURE__ */ jsx24(
3039
+ return /* @__PURE__ */ jsx28(
2730
3040
  DrawerPrimitive.Title,
2731
3041
  {
2732
3042
  "data-slot": "drawer-title",
@@ -2739,7 +3049,7 @@ function DrawerDescription({
2739
3049
  className,
2740
3050
  ...props
2741
3051
  }) {
2742
- return /* @__PURE__ */ jsx24(
3052
+ return /* @__PURE__ */ jsx28(
2743
3053
  DrawerPrimitive.Description,
2744
3054
  {
2745
3055
  "data-slot": "drawer-description",
@@ -2753,21 +3063,21 @@ function DrawerDescription({
2753
3063
  import "react";
2754
3064
  import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
2755
3065
  import { CheckIcon as CheckIcon2, ChevronRightIcon as ChevronRightIcon3, CircleIcon as CircleIcon2 } from "lucide-react";
2756
- import { jsx as jsx25, jsxs as jsxs13 } from "react/jsx-runtime";
3066
+ import { jsx as jsx29, jsxs as jsxs16 } from "react/jsx-runtime";
2757
3067
  function DropdownMenu({
2758
3068
  ...props
2759
3069
  }) {
2760
- return /* @__PURE__ */ jsx25(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
3070
+ return /* @__PURE__ */ jsx29(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
2761
3071
  }
2762
3072
  function DropdownMenuPortal({
2763
3073
  ...props
2764
3074
  }) {
2765
- return /* @__PURE__ */ jsx25(DropdownMenuPrimitive.Portal, { "data-slot": "dropdown-menu-portal", ...props });
3075
+ return /* @__PURE__ */ jsx29(DropdownMenuPrimitive.Portal, { "data-slot": "dropdown-menu-portal", ...props });
2766
3076
  }
2767
3077
  function DropdownMenuTrigger({
2768
3078
  ...props
2769
3079
  }) {
2770
- return /* @__PURE__ */ jsx25(
3080
+ return /* @__PURE__ */ jsx29(
2771
3081
  DropdownMenuPrimitive.Trigger,
2772
3082
  {
2773
3083
  "data-slot": "dropdown-menu-trigger",
@@ -2780,7 +3090,7 @@ function DropdownMenuContent({
2780
3090
  sideOffset = 4,
2781
3091
  ...props
2782
3092
  }) {
2783
- return /* @__PURE__ */ jsx25(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx25(
3093
+ return /* @__PURE__ */ jsx29(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx29(
2784
3094
  DropdownMenuPrimitive.Content,
2785
3095
  {
2786
3096
  "data-slot": "dropdown-menu-content",
@@ -2796,7 +3106,7 @@ function DropdownMenuContent({
2796
3106
  function DropdownMenuGroup({
2797
3107
  ...props
2798
3108
  }) {
2799
- return /* @__PURE__ */ jsx25(DropdownMenuPrimitive.Group, { "data-slot": "dropdown-menu-group", ...props });
3109
+ return /* @__PURE__ */ jsx29(DropdownMenuPrimitive.Group, { "data-slot": "dropdown-menu-group", ...props });
2800
3110
  }
2801
3111
  function DropdownMenuItem({
2802
3112
  className,
@@ -2804,7 +3114,7 @@ function DropdownMenuItem({
2804
3114
  variant = "default",
2805
3115
  ...props
2806
3116
  }) {
2807
- return /* @__PURE__ */ jsx25(
3117
+ return /* @__PURE__ */ jsx29(
2808
3118
  DropdownMenuPrimitive.Item,
2809
3119
  {
2810
3120
  "data-slot": "dropdown-menu-item",
@@ -2824,7 +3134,7 @@ function DropdownMenuCheckboxItem({
2824
3134
  checked,
2825
3135
  ...props
2826
3136
  }) {
2827
- return /* @__PURE__ */ jsxs13(
3137
+ return /* @__PURE__ */ jsxs16(
2828
3138
  DropdownMenuPrimitive.CheckboxItem,
2829
3139
  {
2830
3140
  "data-slot": "dropdown-menu-checkbox-item",
@@ -2835,7 +3145,7 @@ function DropdownMenuCheckboxItem({
2835
3145
  checked,
2836
3146
  ...props,
2837
3147
  children: [
2838
- /* @__PURE__ */ jsx25("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx25(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx25(CheckIcon2, { className: "size-4" }) }) }),
3148
+ /* @__PURE__ */ jsx29("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx29(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx29(CheckIcon2, { className: "size-4" }) }) }),
2839
3149
  children
2840
3150
  ]
2841
3151
  }
@@ -2844,7 +3154,7 @@ function DropdownMenuCheckboxItem({
2844
3154
  function DropdownMenuRadioGroup({
2845
3155
  ...props
2846
3156
  }) {
2847
- return /* @__PURE__ */ jsx25(
3157
+ return /* @__PURE__ */ jsx29(
2848
3158
  DropdownMenuPrimitive.RadioGroup,
2849
3159
  {
2850
3160
  "data-slot": "dropdown-menu-radio-group",
@@ -2857,7 +3167,7 @@ function DropdownMenuRadioItem({
2857
3167
  children,
2858
3168
  ...props
2859
3169
  }) {
2860
- return /* @__PURE__ */ jsxs13(
3170
+ return /* @__PURE__ */ jsxs16(
2861
3171
  DropdownMenuPrimitive.RadioItem,
2862
3172
  {
2863
3173
  "data-slot": "dropdown-menu-radio-item",
@@ -2867,7 +3177,7 @@ function DropdownMenuRadioItem({
2867
3177
  ),
2868
3178
  ...props,
2869
3179
  children: [
2870
- /* @__PURE__ */ jsx25("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx25(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx25(CircleIcon2, { className: "size-2 fill-current" }) }) }),
3180
+ /* @__PURE__ */ jsx29("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx29(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx29(CircleIcon2, { className: "size-2 fill-current" }) }) }),
2871
3181
  children
2872
3182
  ]
2873
3183
  }
@@ -2878,7 +3188,7 @@ function DropdownMenuLabel({
2878
3188
  inset,
2879
3189
  ...props
2880
3190
  }) {
2881
- return /* @__PURE__ */ jsx25(
3191
+ return /* @__PURE__ */ jsx29(
2882
3192
  DropdownMenuPrimitive.Label,
2883
3193
  {
2884
3194
  "data-slot": "dropdown-menu-label",
@@ -2895,7 +3205,7 @@ function DropdownMenuSeparator({
2895
3205
  className,
2896
3206
  ...props
2897
3207
  }) {
2898
- return /* @__PURE__ */ jsx25(
3208
+ return /* @__PURE__ */ jsx29(
2899
3209
  DropdownMenuPrimitive.Separator,
2900
3210
  {
2901
3211
  "data-slot": "dropdown-menu-separator",
@@ -2908,7 +3218,7 @@ function DropdownMenuShortcut({
2908
3218
  className,
2909
3219
  ...props
2910
3220
  }) {
2911
- return /* @__PURE__ */ jsx25(
3221
+ return /* @__PURE__ */ jsx29(
2912
3222
  "span",
2913
3223
  {
2914
3224
  "data-slot": "dropdown-menu-shortcut",
@@ -2923,7 +3233,7 @@ function DropdownMenuShortcut({
2923
3233
  function DropdownMenuSub({
2924
3234
  ...props
2925
3235
  }) {
2926
- return /* @__PURE__ */ jsx25(DropdownMenuPrimitive.Sub, { "data-slot": "dropdown-menu-sub", ...props });
3236
+ return /* @__PURE__ */ jsx29(DropdownMenuPrimitive.Sub, { "data-slot": "dropdown-menu-sub", ...props });
2927
3237
  }
2928
3238
  function DropdownMenuSubTrigger({
2929
3239
  className,
@@ -2931,7 +3241,7 @@ function DropdownMenuSubTrigger({
2931
3241
  children,
2932
3242
  ...props
2933
3243
  }) {
2934
- return /* @__PURE__ */ jsxs13(
3244
+ return /* @__PURE__ */ jsxs16(
2935
3245
  DropdownMenuPrimitive.SubTrigger,
2936
3246
  {
2937
3247
  "data-slot": "dropdown-menu-sub-trigger",
@@ -2943,7 +3253,7 @@ function DropdownMenuSubTrigger({
2943
3253
  ...props,
2944
3254
  children: [
2945
3255
  children,
2946
- /* @__PURE__ */ jsx25(ChevronRightIcon3, { className: "ml-auto size-4" })
3256
+ /* @__PURE__ */ jsx29(ChevronRightIcon3, { className: "ml-auto size-4" })
2947
3257
  ]
2948
3258
  }
2949
3259
  );
@@ -2952,7 +3262,7 @@ function DropdownMenuSubContent({
2952
3262
  className,
2953
3263
  ...props
2954
3264
  }) {
2955
- return /* @__PURE__ */ jsx25(
3265
+ return /* @__PURE__ */ jsx29(
2956
3266
  DropdownMenuPrimitive.SubContent,
2957
3267
  {
2958
3268
  "data-slot": "dropdown-menu-sub-content",
@@ -2966,7 +3276,7 @@ function DropdownMenuSubContent({
2966
3276
  }
2967
3277
 
2968
3278
  // src/components/ui/form.tsx
2969
- import * as React25 from "react";
3279
+ import * as React29 from "react";
2970
3280
  import "@radix-ui/react-label";
2971
3281
  import { Slot as Slot5 } from "@radix-ui/react-slot";
2972
3282
  import {
@@ -2978,10 +3288,10 @@ import {
2978
3288
 
2979
3289
  // src/components/ui/label.tsx
2980
3290
  import { Slot as Slot4 } from "@radix-ui/react-slot";
2981
- import { cva as cva5 } from "class-variance-authority";
3291
+ import { cva as cva9 } from "class-variance-authority";
2982
3292
  import "react";
2983
- import { jsx as jsx26 } from "react/jsx-runtime";
2984
- var labelTextVariants = cva5("font-sans font-semibold ", {
3293
+ import { jsx as jsx30 } from "react/jsx-runtime";
3294
+ var labelTextVariants = cva9("font-sans font-semibold ", {
2985
3295
  variants: {
2986
3296
  size: {
2987
3297
  lg: "text-base md:text-lg md:leading-[1.625rem] leading-[1.5rem]",
@@ -3001,7 +3311,7 @@ function Label3({
3001
3311
  ...props
3002
3312
  }) {
3003
3313
  const Comp = asChild ? Slot4 : "label";
3004
- return /* @__PURE__ */ jsx26(
3314
+ return /* @__PURE__ */ jsx30(
3005
3315
  Comp,
3006
3316
  {
3007
3317
  "data-slot": "label",
@@ -3012,19 +3322,19 @@ function Label3({
3012
3322
  }
3013
3323
 
3014
3324
  // src/components/ui/form.tsx
3015
- import { jsx as jsx27 } from "react/jsx-runtime";
3325
+ import { jsx as jsx31 } from "react/jsx-runtime";
3016
3326
  var Form = FormProvider;
3017
- var FormFieldContext = React25.createContext(
3327
+ var FormFieldContext = React29.createContext(
3018
3328
  {}
3019
3329
  );
3020
3330
  var FormField = ({
3021
3331
  ...props
3022
3332
  }) => {
3023
- return /* @__PURE__ */ jsx27(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx27(Controller, { ...props }) });
3333
+ return /* @__PURE__ */ jsx31(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx31(Controller, { ...props }) });
3024
3334
  };
3025
3335
  var useFormField = () => {
3026
- const fieldContext = React25.useContext(FormFieldContext);
3027
- const itemContext = React25.useContext(FormItemContext);
3336
+ const fieldContext = React29.useContext(FormFieldContext);
3337
+ const itemContext = React29.useContext(FormItemContext);
3028
3338
  const { getFieldState } = useFormContext();
3029
3339
  const formState = useFormState({ name: fieldContext.name });
3030
3340
  const fieldState = getFieldState(fieldContext.name, formState);
@@ -3041,12 +3351,12 @@ var useFormField = () => {
3041
3351
  ...fieldState
3042
3352
  };
3043
3353
  };
3044
- var FormItemContext = React25.createContext(
3354
+ var FormItemContext = React29.createContext(
3045
3355
  {}
3046
3356
  );
3047
3357
  function FormItem({ className, ...props }) {
3048
- const id = React25.useId();
3049
- return /* @__PURE__ */ jsx27(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx27(
3358
+ const id = React29.useId();
3359
+ return /* @__PURE__ */ jsx31(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx31(
3050
3360
  "div",
3051
3361
  {
3052
3362
  "data-slot": "form-item",
@@ -3060,7 +3370,7 @@ function FormLabel({
3060
3370
  ...props
3061
3371
  }) {
3062
3372
  const { error, formItemId } = useFormField();
3063
- return /* @__PURE__ */ jsx27(
3373
+ return /* @__PURE__ */ jsx31(
3064
3374
  Label3,
3065
3375
  {
3066
3376
  "data-slot": "form-label",
@@ -3073,7 +3383,7 @@ function FormLabel({
3073
3383
  }
3074
3384
  function FormControl({ ...props }) {
3075
3385
  const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
3076
- return /* @__PURE__ */ jsx27(
3386
+ return /* @__PURE__ */ jsx31(
3077
3387
  Slot5,
3078
3388
  {
3079
3389
  "data-slot": "form-control",
@@ -3086,7 +3396,7 @@ function FormControl({ ...props }) {
3086
3396
  }
3087
3397
  function FormDescription({ className, ...props }) {
3088
3398
  const { formDescriptionId } = useFormField();
3089
- return /* @__PURE__ */ jsx27(
3399
+ return /* @__PURE__ */ jsx31(
3090
3400
  "p",
3091
3401
  {
3092
3402
  "data-slot": "form-description",
@@ -3102,7 +3412,7 @@ function FormMessage({ className, ...props }) {
3102
3412
  if (!body) {
3103
3413
  return null;
3104
3414
  }
3105
- return /* @__PURE__ */ jsx27(
3415
+ return /* @__PURE__ */ jsx31(
3106
3416
  "p",
3107
3417
  {
3108
3418
  "data-slot": "form-message",
@@ -3117,16 +3427,16 @@ function FormMessage({ className, ...props }) {
3117
3427
  // src/components/ui/hover-card.tsx
3118
3428
  import "react";
3119
3429
  import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
3120
- import { jsx as jsx28 } from "react/jsx-runtime";
3430
+ import { jsx as jsx32 } from "react/jsx-runtime";
3121
3431
  function HoverCard({
3122
3432
  ...props
3123
3433
  }) {
3124
- return /* @__PURE__ */ jsx28(HoverCardPrimitive.Root, { "data-slot": "hover-card", ...props });
3434
+ return /* @__PURE__ */ jsx32(HoverCardPrimitive.Root, { "data-slot": "hover-card", ...props });
3125
3435
  }
3126
3436
  function HoverCardTrigger({
3127
3437
  ...props
3128
3438
  }) {
3129
- return /* @__PURE__ */ jsx28(HoverCardPrimitive.Trigger, { "data-slot": "hover-card-trigger", ...props });
3439
+ return /* @__PURE__ */ jsx32(HoverCardPrimitive.Trigger, { "data-slot": "hover-card-trigger", ...props });
3130
3440
  }
3131
3441
  function HoverCardContent({
3132
3442
  className,
@@ -3134,7 +3444,7 @@ function HoverCardContent({
3134
3444
  sideOffset = 4,
3135
3445
  ...props
3136
3446
  }) {
3137
- return /* @__PURE__ */ jsx28(HoverCardPrimitive.Portal, { "data-slot": "hover-card-portal", children: /* @__PURE__ */ jsx28(
3447
+ return /* @__PURE__ */ jsx32(HoverCardPrimitive.Portal, { "data-slot": "hover-card-portal", children: /* @__PURE__ */ jsx32(
3138
3448
  HoverCardPrimitive.Content,
3139
3449
  {
3140
3450
  "data-slot": "hover-card-content",
@@ -3150,16 +3460,16 @@ function HoverCardContent({
3150
3460
  }
3151
3461
 
3152
3462
  // src/components/ui/input-otp.tsx
3153
- import * as React27 from "react";
3463
+ import * as React31 from "react";
3154
3464
  import { OTPInput, OTPInputContext } from "input-otp";
3155
3465
  import { MinusIcon } from "lucide-react";
3156
- import { jsx as jsx29, jsxs as jsxs14 } from "react/jsx-runtime";
3466
+ import { jsx as jsx33, jsxs as jsxs17 } from "react/jsx-runtime";
3157
3467
  function InputOTP({
3158
3468
  className,
3159
3469
  containerClassName,
3160
3470
  ...props
3161
3471
  }) {
3162
- return /* @__PURE__ */ jsx29(
3472
+ return /* @__PURE__ */ jsx33(
3163
3473
  OTPInput,
3164
3474
  {
3165
3475
  "data-slot": "input-otp",
@@ -3173,7 +3483,7 @@ function InputOTP({
3173
3483
  );
3174
3484
  }
3175
3485
  function InputOTPGroup({ className, ...props }) {
3176
- return /* @__PURE__ */ jsx29(
3486
+ return /* @__PURE__ */ jsx33(
3177
3487
  "div",
3178
3488
  {
3179
3489
  "data-slot": "input-otp-group",
@@ -3187,9 +3497,9 @@ function InputOTPSlot({
3187
3497
  className,
3188
3498
  ...props
3189
3499
  }) {
3190
- const inputOTPContext = React27.useContext(OTPInputContext);
3500
+ const inputOTPContext = React31.useContext(OTPInputContext);
3191
3501
  const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
3192
- return /* @__PURE__ */ jsxs14(
3502
+ return /* @__PURE__ */ jsxs17(
3193
3503
  "div",
3194
3504
  {
3195
3505
  "data-slot": "input-otp-slot",
@@ -3201,25 +3511,25 @@ function InputOTPSlot({
3201
3511
  ...props,
3202
3512
  children: [
3203
3513
  char,
3204
- hasFakeCaret && /* @__PURE__ */ jsx29("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx29("div", { className: "animate-caret-blink bg-foreground h-4 w-px duration-1000" }) })
3514
+ hasFakeCaret && /* @__PURE__ */ jsx33("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx33("div", { className: "animate-caret-blink bg-foreground h-4 w-px duration-1000" }) })
3205
3515
  ]
3206
3516
  }
3207
3517
  );
3208
3518
  }
3209
3519
  function InputOTPSeparator({ ...props }) {
3210
- return /* @__PURE__ */ jsx29("div", { "data-slot": "input-otp-separator", role: "separator", ...props, children: /* @__PURE__ */ jsx29(MinusIcon, {}) });
3520
+ return /* @__PURE__ */ jsx33("div", { "data-slot": "input-otp-separator", role: "separator", ...props, children: /* @__PURE__ */ jsx33(MinusIcon, {}) });
3211
3521
  }
3212
3522
 
3213
3523
  // src/components/ui/menubar.tsx
3214
3524
  import "react";
3215
3525
  import * as MenubarPrimitive from "@radix-ui/react-menubar";
3216
3526
  import { CheckIcon as CheckIcon3, ChevronRightIcon as ChevronRightIcon4, CircleIcon as CircleIcon3 } from "lucide-react";
3217
- import { jsx as jsx30, jsxs as jsxs15 } from "react/jsx-runtime";
3527
+ import { jsx as jsx34, jsxs as jsxs18 } from "react/jsx-runtime";
3218
3528
  function Menubar({
3219
3529
  className,
3220
3530
  ...props
3221
3531
  }) {
3222
- return /* @__PURE__ */ jsx30(
3532
+ return /* @__PURE__ */ jsx34(
3223
3533
  MenubarPrimitive.Root,
3224
3534
  {
3225
3535
  "data-slot": "menubar",
@@ -3234,28 +3544,28 @@ function Menubar({
3234
3544
  function MenubarMenu({
3235
3545
  ...props
3236
3546
  }) {
3237
- return /* @__PURE__ */ jsx30(MenubarPrimitive.Menu, { "data-slot": "menubar-menu", ...props });
3547
+ return /* @__PURE__ */ jsx34(MenubarPrimitive.Menu, { "data-slot": "menubar-menu", ...props });
3238
3548
  }
3239
3549
  function MenubarGroup({
3240
3550
  ...props
3241
3551
  }) {
3242
- return /* @__PURE__ */ jsx30(MenubarPrimitive.Group, { "data-slot": "menubar-group", ...props });
3552
+ return /* @__PURE__ */ jsx34(MenubarPrimitive.Group, { "data-slot": "menubar-group", ...props });
3243
3553
  }
3244
3554
  function MenubarPortal({
3245
3555
  ...props
3246
3556
  }) {
3247
- return /* @__PURE__ */ jsx30(MenubarPrimitive.Portal, { "data-slot": "menubar-portal", ...props });
3557
+ return /* @__PURE__ */ jsx34(MenubarPrimitive.Portal, { "data-slot": "menubar-portal", ...props });
3248
3558
  }
3249
3559
  function MenubarRadioGroup({
3250
3560
  ...props
3251
3561
  }) {
3252
- return /* @__PURE__ */ jsx30(MenubarPrimitive.RadioGroup, { "data-slot": "menubar-radio-group", ...props });
3562
+ return /* @__PURE__ */ jsx34(MenubarPrimitive.RadioGroup, { "data-slot": "menubar-radio-group", ...props });
3253
3563
  }
3254
3564
  function MenubarTrigger({
3255
3565
  className,
3256
3566
  ...props
3257
3567
  }) {
3258
- return /* @__PURE__ */ jsx30(
3568
+ return /* @__PURE__ */ jsx34(
3259
3569
  MenubarPrimitive.Trigger,
3260
3570
  {
3261
3571
  "data-slot": "menubar-trigger",
@@ -3274,7 +3584,7 @@ function MenubarContent({
3274
3584
  sideOffset = 8,
3275
3585
  ...props
3276
3586
  }) {
3277
- return /* @__PURE__ */ jsx30(MenubarPortal, { children: /* @__PURE__ */ jsx30(
3587
+ return /* @__PURE__ */ jsx34(MenubarPortal, { children: /* @__PURE__ */ jsx34(
3278
3588
  MenubarPrimitive.Content,
3279
3589
  {
3280
3590
  "data-slot": "menubar-content",
@@ -3295,7 +3605,7 @@ function MenubarItem({
3295
3605
  variant = "default",
3296
3606
  ...props
3297
3607
  }) {
3298
- return /* @__PURE__ */ jsx30(
3608
+ return /* @__PURE__ */ jsx34(
3299
3609
  MenubarPrimitive.Item,
3300
3610
  {
3301
3611
  "data-slot": "menubar-item",
@@ -3315,7 +3625,7 @@ function MenubarCheckboxItem({
3315
3625
  checked,
3316
3626
  ...props
3317
3627
  }) {
3318
- return /* @__PURE__ */ jsxs15(
3628
+ return /* @__PURE__ */ jsxs18(
3319
3629
  MenubarPrimitive.CheckboxItem,
3320
3630
  {
3321
3631
  "data-slot": "menubar-checkbox-item",
@@ -3326,7 +3636,7 @@ function MenubarCheckboxItem({
3326
3636
  checked,
3327
3637
  ...props,
3328
3638
  children: [
3329
- /* @__PURE__ */ jsx30("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx30(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx30(CheckIcon3, { className: "size-4" }) }) }),
3639
+ /* @__PURE__ */ jsx34("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx34(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx34(CheckIcon3, { className: "size-4" }) }) }),
3330
3640
  children
3331
3641
  ]
3332
3642
  }
@@ -3337,7 +3647,7 @@ function MenubarRadioItem({
3337
3647
  children,
3338
3648
  ...props
3339
3649
  }) {
3340
- return /* @__PURE__ */ jsxs15(
3650
+ return /* @__PURE__ */ jsxs18(
3341
3651
  MenubarPrimitive.RadioItem,
3342
3652
  {
3343
3653
  "data-slot": "menubar-radio-item",
@@ -3347,7 +3657,7 @@ function MenubarRadioItem({
3347
3657
  ),
3348
3658
  ...props,
3349
3659
  children: [
3350
- /* @__PURE__ */ jsx30("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx30(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx30(CircleIcon3, { className: "size-2 fill-current" }) }) }),
3660
+ /* @__PURE__ */ jsx34("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx34(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx34(CircleIcon3, { className: "size-2 fill-current" }) }) }),
3351
3661
  children
3352
3662
  ]
3353
3663
  }
@@ -3358,7 +3668,7 @@ function MenubarLabel({
3358
3668
  inset,
3359
3669
  ...props
3360
3670
  }) {
3361
- return /* @__PURE__ */ jsx30(
3671
+ return /* @__PURE__ */ jsx34(
3362
3672
  MenubarPrimitive.Label,
3363
3673
  {
3364
3674
  "data-slot": "menubar-label",
@@ -3375,7 +3685,7 @@ function MenubarSeparator({
3375
3685
  className,
3376
3686
  ...props
3377
3687
  }) {
3378
- return /* @__PURE__ */ jsx30(
3688
+ return /* @__PURE__ */ jsx34(
3379
3689
  MenubarPrimitive.Separator,
3380
3690
  {
3381
3691
  "data-slot": "menubar-separator",
@@ -3388,7 +3698,7 @@ function MenubarShortcut({
3388
3698
  className,
3389
3699
  ...props
3390
3700
  }) {
3391
- return /* @__PURE__ */ jsx30(
3701
+ return /* @__PURE__ */ jsx34(
3392
3702
  "span",
3393
3703
  {
3394
3704
  "data-slot": "menubar-shortcut",
@@ -3403,7 +3713,7 @@ function MenubarShortcut({
3403
3713
  function MenubarSub({
3404
3714
  ...props
3405
3715
  }) {
3406
- return /* @__PURE__ */ jsx30(MenubarPrimitive.Sub, { "data-slot": "menubar-sub", ...props });
3716
+ return /* @__PURE__ */ jsx34(MenubarPrimitive.Sub, { "data-slot": "menubar-sub", ...props });
3407
3717
  }
3408
3718
  function MenubarSubTrigger({
3409
3719
  className,
@@ -3411,7 +3721,7 @@ function MenubarSubTrigger({
3411
3721
  children,
3412
3722
  ...props
3413
3723
  }) {
3414
- return /* @__PURE__ */ jsxs15(
3724
+ return /* @__PURE__ */ jsxs18(
3415
3725
  MenubarPrimitive.SubTrigger,
3416
3726
  {
3417
3727
  "data-slot": "menubar-sub-trigger",
@@ -3423,7 +3733,7 @@ function MenubarSubTrigger({
3423
3733
  ...props,
3424
3734
  children: [
3425
3735
  children,
3426
- /* @__PURE__ */ jsx30(ChevronRightIcon4, { className: "ml-auto h-4 w-4" })
3736
+ /* @__PURE__ */ jsx34(ChevronRightIcon4, { className: "ml-auto h-4 w-4" })
3427
3737
  ]
3428
3738
  }
3429
3739
  );
@@ -3432,7 +3742,7 @@ function MenubarSubContent({
3432
3742
  className,
3433
3743
  ...props
3434
3744
  }) {
3435
- return /* @__PURE__ */ jsx30(
3745
+ return /* @__PURE__ */ jsx34(
3436
3746
  MenubarPrimitive.SubContent,
3437
3747
  {
3438
3748
  "data-slot": "menubar-sub-content",
@@ -3448,16 +3758,16 @@ function MenubarSubContent({
3448
3758
  // src/components/ui/navigation-menu.tsx
3449
3759
  import "react";
3450
3760
  import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
3451
- import { cva as cva6 } from "class-variance-authority";
3761
+ import { cva as cva10 } from "class-variance-authority";
3452
3762
  import { ChevronDownIcon as ChevronDownIcon3 } from "lucide-react";
3453
- import { jsx as jsx31, jsxs as jsxs16 } from "react/jsx-runtime";
3763
+ import { jsx as jsx35, jsxs as jsxs19 } from "react/jsx-runtime";
3454
3764
  function NavigationMenu({
3455
3765
  className,
3456
3766
  children,
3457
3767
  viewport = true,
3458
3768
  ...props
3459
3769
  }) {
3460
- return /* @__PURE__ */ jsxs16(
3770
+ return /* @__PURE__ */ jsxs19(
3461
3771
  NavigationMenuPrimitive.Root,
3462
3772
  {
3463
3773
  "data-slot": "navigation-menu",
@@ -3469,7 +3779,7 @@ function NavigationMenu({
3469
3779
  ...props,
3470
3780
  children: [
3471
3781
  children,
3472
- viewport && /* @__PURE__ */ jsx31(NavigationMenuViewport, {})
3782
+ viewport && /* @__PURE__ */ jsx35(NavigationMenuViewport, {})
3473
3783
  ]
3474
3784
  }
3475
3785
  );
@@ -3478,7 +3788,7 @@ function NavigationMenuList({
3478
3788
  className,
3479
3789
  ...props
3480
3790
  }) {
3481
- return /* @__PURE__ */ jsx31(
3791
+ return /* @__PURE__ */ jsx35(
3482
3792
  NavigationMenuPrimitive.List,
3483
3793
  {
3484
3794
  "data-slot": "navigation-menu-list",
@@ -3494,7 +3804,7 @@ function NavigationMenuItem({
3494
3804
  className,
3495
3805
  ...props
3496
3806
  }) {
3497
- return /* @__PURE__ */ jsx31(
3807
+ return /* @__PURE__ */ jsx35(
3498
3808
  NavigationMenuPrimitive.Item,
3499
3809
  {
3500
3810
  "data-slot": "navigation-menu-item",
@@ -3503,7 +3813,7 @@ function NavigationMenuItem({
3503
3813
  }
3504
3814
  );
3505
3815
  }
3506
- var navigationMenuTriggerStyle = cva6(
3816
+ var navigationMenuTriggerStyle = cva10(
3507
3817
  "group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1"
3508
3818
  );
3509
3819
  function NavigationMenuTrigger({
@@ -3511,7 +3821,7 @@ function NavigationMenuTrigger({
3511
3821
  children,
3512
3822
  ...props
3513
3823
  }) {
3514
- return /* @__PURE__ */ jsxs16(
3824
+ return /* @__PURE__ */ jsxs19(
3515
3825
  NavigationMenuPrimitive.Trigger,
3516
3826
  {
3517
3827
  "data-slot": "navigation-menu-trigger",
@@ -3520,7 +3830,7 @@ function NavigationMenuTrigger({
3520
3830
  children: [
3521
3831
  children,
3522
3832
  " ",
3523
- /* @__PURE__ */ jsx31(
3833
+ /* @__PURE__ */ jsx35(
3524
3834
  ChevronDownIcon3,
3525
3835
  {
3526
3836
  className: "relative top-[1px] ml-1 size-3 transition duration-400 group-data-[state=open]:rotate-180",
@@ -3535,7 +3845,7 @@ function NavigationMenuContent({
3535
3845
  className,
3536
3846
  ...props
3537
3847
  }) {
3538
- return /* @__PURE__ */ jsx31(
3848
+ return /* @__PURE__ */ jsx35(
3539
3849
  NavigationMenuPrimitive.Content,
3540
3850
  {
3541
3851
  "data-slot": "navigation-menu-content",
@@ -3552,13 +3862,13 @@ function NavigationMenuViewport({
3552
3862
  className,
3553
3863
  ...props
3554
3864
  }) {
3555
- return /* @__PURE__ */ jsx31(
3865
+ return /* @__PURE__ */ jsx35(
3556
3866
  "div",
3557
3867
  {
3558
3868
  className: cn(
3559
3869
  "absolute top-full left-0 isolate z-50 flex justify-center"
3560
3870
  ),
3561
- children: /* @__PURE__ */ jsx31(
3871
+ children: /* @__PURE__ */ jsx35(
3562
3872
  NavigationMenuPrimitive.Viewport,
3563
3873
  {
3564
3874
  "data-slot": "navigation-menu-viewport",
@@ -3576,7 +3886,7 @@ function NavigationMenuLink({
3576
3886
  className,
3577
3887
  ...props
3578
3888
  }) {
3579
- return /* @__PURE__ */ jsx31(
3889
+ return /* @__PURE__ */ jsx35(
3580
3890
  NavigationMenuPrimitive.Link,
3581
3891
  {
3582
3892
  "data-slot": "navigation-menu-link",
@@ -3592,7 +3902,7 @@ function NavigationMenuIndicator({
3592
3902
  className,
3593
3903
  ...props
3594
3904
  }) {
3595
- return /* @__PURE__ */ jsx31(
3905
+ return /* @__PURE__ */ jsx35(
3596
3906
  NavigationMenuPrimitive.Indicator,
3597
3907
  {
3598
3908
  "data-slot": "navigation-menu-indicator",
@@ -3601,7 +3911,7 @@ function NavigationMenuIndicator({
3601
3911
  className
3602
3912
  ),
3603
3913
  ...props,
3604
- children: /* @__PURE__ */ jsx31("div", { className: "bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md" })
3914
+ children: /* @__PURE__ */ jsx35("div", { className: "bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md" })
3605
3915
  }
3606
3916
  );
3607
3917
  }
@@ -3613,9 +3923,9 @@ import {
3613
3923
  ChevronRightIcon as ChevronRightIcon5,
3614
3924
  MoreHorizontalIcon
3615
3925
  } from "lucide-react";
3616
- import { jsx as jsx32, jsxs as jsxs17 } from "react/jsx-runtime";
3926
+ import { jsx as jsx36, jsxs as jsxs20 } from "react/jsx-runtime";
3617
3927
  function Pagination({ className, ...props }) {
3618
- return /* @__PURE__ */ jsx32(
3928
+ return /* @__PURE__ */ jsx36(
3619
3929
  "nav",
3620
3930
  {
3621
3931
  role: "navigation",
@@ -3630,7 +3940,7 @@ function PaginationContent({
3630
3940
  className,
3631
3941
  ...props
3632
3942
  }) {
3633
- return /* @__PURE__ */ jsx32(
3943
+ return /* @__PURE__ */ jsx36(
3634
3944
  "ul",
3635
3945
  {
3636
3946
  "data-slot": "pagination-content",
@@ -3640,7 +3950,7 @@ function PaginationContent({
3640
3950
  );
3641
3951
  }
3642
3952
  function PaginationItem({ ...props }) {
3643
- return /* @__PURE__ */ jsx32("li", { "data-slot": "pagination-item", ...props });
3953
+ return /* @__PURE__ */ jsx36("li", { "data-slot": "pagination-item", ...props });
3644
3954
  }
3645
3955
  function PaginationLink({
3646
3956
  className,
@@ -3648,7 +3958,7 @@ function PaginationLink({
3648
3958
  size = "icon",
3649
3959
  ...props
3650
3960
  }) {
3651
- return /* @__PURE__ */ jsx32(
3961
+ return /* @__PURE__ */ jsx36(
3652
3962
  "a",
3653
3963
  {
3654
3964
  "aria-current": isActive ? "page" : void 0,
@@ -3669,7 +3979,7 @@ function PaginationPrevious({
3669
3979
  className,
3670
3980
  ...props
3671
3981
  }) {
3672
- return /* @__PURE__ */ jsxs17(
3982
+ return /* @__PURE__ */ jsxs20(
3673
3983
  PaginationLink,
3674
3984
  {
3675
3985
  "aria-label": "Go to previous page",
@@ -3677,8 +3987,8 @@ function PaginationPrevious({
3677
3987
  className: cn("gap-1 px-2.5 sm:pl-2.5", className),
3678
3988
  ...props,
3679
3989
  children: [
3680
- /* @__PURE__ */ jsx32(ChevronLeftIcon2, {}),
3681
- /* @__PURE__ */ jsx32("span", { className: "hidden sm:block", children: "Previous" })
3990
+ /* @__PURE__ */ jsx36(ChevronLeftIcon2, {}),
3991
+ /* @__PURE__ */ jsx36("span", { className: "hidden sm:block", children: "Previous" })
3682
3992
  ]
3683
3993
  }
3684
3994
  );
@@ -3687,7 +3997,7 @@ function PaginationNext({
3687
3997
  className,
3688
3998
  ...props
3689
3999
  }) {
3690
- return /* @__PURE__ */ jsxs17(
4000
+ return /* @__PURE__ */ jsxs20(
3691
4001
  PaginationLink,
3692
4002
  {
3693
4003
  "aria-label": "Go to next page",
@@ -3695,8 +4005,8 @@ function PaginationNext({
3695
4005
  className: cn("gap-1 px-2.5 sm:pr-2.5", className),
3696
4006
  ...props,
3697
4007
  children: [
3698
- /* @__PURE__ */ jsx32("span", { className: "hidden sm:block", children: "Next" }),
3699
- /* @__PURE__ */ jsx32(ChevronRightIcon5, {})
4008
+ /* @__PURE__ */ jsx36("span", { className: "hidden sm:block", children: "Next" }),
4009
+ /* @__PURE__ */ jsx36(ChevronRightIcon5, {})
3700
4010
  ]
3701
4011
  }
3702
4012
  );
@@ -3705,7 +4015,7 @@ function PaginationEllipsis({
3705
4015
  className,
3706
4016
  ...props
3707
4017
  }) {
3708
- return /* @__PURE__ */ jsxs17(
4018
+ return /* @__PURE__ */ jsxs20(
3709
4019
  "span",
3710
4020
  {
3711
4021
  "aria-hidden": true,
@@ -3713,8 +4023,8 @@ function PaginationEllipsis({
3713
4023
  className: cn("flex size-9 items-center justify-center", className),
3714
4024
  ...props,
3715
4025
  children: [
3716
- /* @__PURE__ */ jsx32(MoreHorizontalIcon, { className: "size-4" }),
3717
- /* @__PURE__ */ jsx32("span", { className: "sr-only", children: "More pages" })
4026
+ /* @__PURE__ */ jsx36(MoreHorizontalIcon, { className: "size-4" }),
4027
+ /* @__PURE__ */ jsx36("span", { className: "sr-only", children: "More pages" })
3718
4028
  ]
3719
4029
  }
3720
4030
  );
@@ -3723,13 +4033,13 @@ function PaginationEllipsis({
3723
4033
  // src/components/ui/progress.tsx
3724
4034
  import * as ProgressPrimitive from "@radix-ui/react-progress";
3725
4035
  import "react";
3726
- import { jsx as jsx33 } from "react/jsx-runtime";
4036
+ import { jsx as jsx37 } from "react/jsx-runtime";
3727
4037
  function Progress({
3728
4038
  className,
3729
4039
  value,
3730
4040
  ...props
3731
4041
  }) {
3732
- return /* @__PURE__ */ jsx33(
4042
+ return /* @__PURE__ */ jsx37(
3733
4043
  ProgressPrimitive.Root,
3734
4044
  {
3735
4045
  "data-slot": "progress",
@@ -3738,7 +4048,7 @@ function Progress({
3738
4048
  className
3739
4049
  ),
3740
4050
  ...props,
3741
- children: /* @__PURE__ */ jsx33(
4051
+ children: /* @__PURE__ */ jsx37(
3742
4052
  ProgressPrimitive.Indicator,
3743
4053
  {
3744
4054
  "data-slot": "progress-indicator",
@@ -3754,12 +4064,12 @@ function Progress({
3754
4064
  import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
3755
4065
  import { CircleIcon as CircleIcon4 } from "lucide-react";
3756
4066
  import "react";
3757
- import { jsx as jsx34 } from "react/jsx-runtime";
4067
+ import { jsx as jsx38 } from "react/jsx-runtime";
3758
4068
  function RadioGroup4({
3759
4069
  className,
3760
4070
  ...props
3761
4071
  }) {
3762
- return /* @__PURE__ */ jsx34(
4072
+ return /* @__PURE__ */ jsx38(
3763
4073
  RadioGroupPrimitive.Root,
3764
4074
  {
3765
4075
  "data-slot": "radio-group",
@@ -3772,7 +4082,7 @@ function RadioGroupItem({
3772
4082
  className,
3773
4083
  ...props
3774
4084
  }) {
3775
- return /* @__PURE__ */ jsx34(
4085
+ return /* @__PURE__ */ jsx38(
3776
4086
  RadioGroupPrimitive.Item,
3777
4087
  {
3778
4088
  "data-slot": "radio-group-item",
@@ -3781,12 +4091,12 @@ function RadioGroupItem({
3781
4091
  className
3782
4092
  ),
3783
4093
  ...props,
3784
- children: /* @__PURE__ */ jsx34(
4094
+ children: /* @__PURE__ */ jsx38(
3785
4095
  RadioGroupPrimitive.Indicator,
3786
4096
  {
3787
4097
  "data-slot": "radio-group-indicator",
3788
4098
  className: "relative flex items-center justify-center",
3789
- children: /* @__PURE__ */ jsx34(CircleIcon4, { className: "fill-white absolute top-1/2 left-1/2 size-1.5 -translate-x-1/2 -translate-y-1/2" })
4099
+ children: /* @__PURE__ */ jsx38(CircleIcon4, { className: "fill-white absolute top-1/2 left-1/2 size-1.5 -translate-x-1/2 -translate-y-1/2" })
3790
4100
  }
3791
4101
  )
3792
4102
  }
@@ -3797,12 +4107,12 @@ function RadioGroupItem({
3797
4107
  import "react";
3798
4108
  import { GripVerticalIcon } from "lucide-react";
3799
4109
  import * as ResizablePrimitive from "react-resizable-panels";
3800
- import { jsx as jsx35 } from "react/jsx-runtime";
4110
+ import { jsx as jsx39 } from "react/jsx-runtime";
3801
4111
  function ResizablePanelGroup({
3802
4112
  className,
3803
4113
  ...props
3804
4114
  }) {
3805
- return /* @__PURE__ */ jsx35(
4115
+ return /* @__PURE__ */ jsx39(
3806
4116
  ResizablePrimitive.PanelGroup,
3807
4117
  {
3808
4118
  "data-slot": "resizable-panel-group",
@@ -3817,14 +4127,14 @@ function ResizablePanelGroup({
3817
4127
  function ResizablePanel({
3818
4128
  ...props
3819
4129
  }) {
3820
- return /* @__PURE__ */ jsx35(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
4130
+ return /* @__PURE__ */ jsx39(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
3821
4131
  }
3822
4132
  function ResizableHandle({
3823
4133
  withHandle,
3824
4134
  className,
3825
4135
  ...props
3826
4136
  }) {
3827
- return /* @__PURE__ */ jsx35(
4137
+ return /* @__PURE__ */ jsx39(
3828
4138
  ResizablePrimitive.PanelResizeHandle,
3829
4139
  {
3830
4140
  "data-slot": "resizable-handle",
@@ -3833,7 +4143,7 @@ function ResizableHandle({
3833
4143
  className
3834
4144
  ),
3835
4145
  ...props,
3836
- children: withHandle && /* @__PURE__ */ jsx35("div", { className: "bg-border z-10 flex h-4 w-3 items-center justify-center rounded-xs border", children: /* @__PURE__ */ jsx35(GripVerticalIcon, { className: "size-2.5" }) })
4146
+ children: withHandle && /* @__PURE__ */ jsx39("div", { className: "bg-border z-10 flex h-4 w-3 items-center justify-center rounded-xs border", children: /* @__PURE__ */ jsx39(GripVerticalIcon, { className: "size-2.5" }) })
3837
4147
  }
3838
4148
  );
3839
4149
  }
@@ -3841,20 +4151,20 @@ function ResizableHandle({
3841
4151
  // src/components/ui/scroll-area.tsx
3842
4152
  import "react";
3843
4153
  import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
3844
- import { jsx as jsx36, jsxs as jsxs18 } from "react/jsx-runtime";
4154
+ import { jsx as jsx40, jsxs as jsxs21 } from "react/jsx-runtime";
3845
4155
  function ScrollArea({
3846
4156
  className,
3847
4157
  children,
3848
4158
  ...props
3849
4159
  }) {
3850
- return /* @__PURE__ */ jsxs18(
4160
+ return /* @__PURE__ */ jsxs21(
3851
4161
  ScrollAreaPrimitive.Root,
3852
4162
  {
3853
4163
  "data-slot": "scroll-area",
3854
4164
  className: cn("relative", className),
3855
4165
  ...props,
3856
4166
  children: [
3857
- /* @__PURE__ */ jsx36(
4167
+ /* @__PURE__ */ jsx40(
3858
4168
  ScrollAreaPrimitive.Viewport,
3859
4169
  {
3860
4170
  "data-slot": "scroll-area-viewport",
@@ -3862,8 +4172,8 @@ function ScrollArea({
3862
4172
  children
3863
4173
  }
3864
4174
  ),
3865
- /* @__PURE__ */ jsx36(ScrollBar, {}),
3866
- /* @__PURE__ */ jsx36(ScrollAreaPrimitive.Corner, {})
4175
+ /* @__PURE__ */ jsx40(ScrollBar, {}),
4176
+ /* @__PURE__ */ jsx40(ScrollAreaPrimitive.Corner, {})
3867
4177
  ]
3868
4178
  }
3869
4179
  );
@@ -3873,7 +4183,7 @@ function ScrollBar({
3873
4183
  orientation = "vertical",
3874
4184
  ...props
3875
4185
  }) {
3876
- return /* @__PURE__ */ jsx36(
4186
+ return /* @__PURE__ */ jsx40(
3877
4187
  ScrollAreaPrimitive.ScrollAreaScrollbar,
3878
4188
  {
3879
4189
  "data-slot": "scroll-area-scrollbar",
@@ -3885,7 +4195,7 @@ function ScrollBar({
3885
4195
  className
3886
4196
  ),
3887
4197
  ...props,
3888
- children: /* @__PURE__ */ jsx36(
4198
+ children: /* @__PURE__ */ jsx40(
3889
4199
  ScrollAreaPrimitive.ScrollAreaThumb,
3890
4200
  {
3891
4201
  "data-slot": "scroll-area-thumb",
@@ -3897,12 +4207,12 @@ function ScrollBar({
3897
4207
  }
3898
4208
 
3899
4209
  // src/components/ui/searchable-select.tsx
3900
- import * as React35 from "react";
4210
+ import * as React39 from "react";
3901
4211
  import { CheckIcon as CheckIcon4, ChevronsUpDown, XIcon as XIcon2 } from "lucide-react";
3902
- import { jsx as jsx37, jsxs as jsxs19 } from "react/jsx-runtime";
3903
- var SearchableSelectContext = React35.createContext(null);
4212
+ import { jsx as jsx41, jsxs as jsxs22 } from "react/jsx-runtime";
4213
+ var SearchableSelectContext = React39.createContext(null);
3904
4214
  function useSearchableSelect() {
3905
- const ctx = React35.useContext(SearchableSelectContext);
4215
+ const ctx = React39.useContext(SearchableSelectContext);
3906
4216
  if (!ctx) {
3907
4217
  throw new Error(
3908
4218
  "SearchableSelect compound components must be used within <SearchableSelect>"
@@ -3928,11 +4238,11 @@ function SearchableSelect({
3928
4238
  onOpenChange,
3929
4239
  children
3930
4240
  }) {
3931
- const [internalOpen, setInternalOpen] = React35.useState(false);
3932
- const [internalValue, setInternalValue] = React35.useState(defaultValue);
3933
- const [internalValues, setInternalValues] = React35.useState(defaultValues);
4241
+ const [internalOpen, setInternalOpen] = React39.useState(false);
4242
+ const [internalValue, setInternalValue] = React39.useState(defaultValue);
4243
+ const [internalValues, setInternalValues] = React39.useState(defaultValues);
3934
4244
  const open = controlledOpen ?? internalOpen;
3935
- const setOpen = React35.useCallback(
4245
+ const setOpen = React39.useCallback(
3936
4246
  (next) => {
3937
4247
  if (controlledOpen !== void 0) {
3938
4248
  onOpenChange?.(next);
@@ -3944,7 +4254,7 @@ function SearchableSelect({
3944
4254
  [controlledOpen, onOpenChange]
3945
4255
  );
3946
4256
  const value = controlledValue ?? internalValue;
3947
- const setValue = React35.useCallback(
4257
+ const setValue = React39.useCallback(
3948
4258
  (next) => {
3949
4259
  if (controlledValue === void 0) {
3950
4260
  setInternalValue(next);
@@ -3954,7 +4264,7 @@ function SearchableSelect({
3954
4264
  [controlledValue, onValueChange]
3955
4265
  );
3956
4266
  const values = controlledValues ?? internalValues;
3957
- const setValues = React35.useCallback(
4267
+ const setValues = React39.useCallback(
3958
4268
  (next) => {
3959
4269
  if (controlledValues === void 0) {
3960
4270
  setInternalValues(next);
@@ -3963,14 +4273,14 @@ function SearchableSelect({
3963
4273
  },
3964
4274
  [controlledValues, onValuesChange]
3965
4275
  );
3966
- const optionMap = React35.useMemo(() => {
4276
+ const optionMap = React39.useMemo(() => {
3967
4277
  const map = /* @__PURE__ */ new Map();
3968
4278
  for (const opt of options) {
3969
4279
  map.set(opt.value, opt.label);
3970
4280
  }
3971
4281
  return map;
3972
4282
  }, [options]);
3973
- const ctx = React35.useMemo(
4283
+ const ctx = React39.useMemo(
3974
4284
  () => ({
3975
4285
  open,
3976
4286
  setOpen,
@@ -4004,7 +4314,7 @@ function SearchableSelect({
4004
4314
  optionMap
4005
4315
  ]
4006
4316
  );
4007
- return /* @__PURE__ */ jsx37(SearchableSelectContext.Provider, { value: ctx, children: /* @__PURE__ */ jsx37(Popover, { open, onOpenChange: setOpen, children }) });
4317
+ return /* @__PURE__ */ jsx41(SearchableSelectContext.Provider, { value: ctx, children: /* @__PURE__ */ jsx41(Popover, { open, onOpenChange: setOpen, children }) });
4008
4318
  }
4009
4319
  function SearchableSelectTrigger({
4010
4320
  className,
@@ -4017,7 +4327,7 @@ function SearchableSelectTrigger({
4017
4327
  if (children) return children;
4018
4328
  if (ctx.mode === "single") {
4019
4329
  const label = ctx.optionMap.get(ctx.value);
4020
- return /* @__PURE__ */ jsx37(
4330
+ return /* @__PURE__ */ jsx41(
4021
4331
  "span",
4022
4332
  {
4023
4333
  "data-slot": "searchable-select-value",
@@ -4030,7 +4340,7 @@ function SearchableSelectTrigger({
4030
4340
  );
4031
4341
  }
4032
4342
  if (ctx.values.length === 0) {
4033
- return /* @__PURE__ */ jsx37(
4343
+ return /* @__PURE__ */ jsx41(
4034
4344
  "span",
4035
4345
  {
4036
4346
  "data-slot": "searchable-select-value",
@@ -4041,20 +4351,20 @@ function SearchableSelectTrigger({
4041
4351
  }
4042
4352
  const visible = ctx.values.slice(0, ctx.maxCount);
4043
4353
  const remaining = ctx.values.length - visible.length;
4044
- return /* @__PURE__ */ jsxs19(
4354
+ return /* @__PURE__ */ jsxs22(
4045
4355
  "span",
4046
4356
  {
4047
4357
  "data-slot": "searchable-select-value",
4048
4358
  className: "flex flex-wrap items-center gap-1",
4049
4359
  children: [
4050
- visible.map((v) => /* @__PURE__ */ jsxs19(
4360
+ visible.map((v) => /* @__PURE__ */ jsxs22(
4051
4361
  Badge,
4052
4362
  {
4053
4363
  variant: "secondary",
4054
4364
  className: "gap-1 pr-1",
4055
4365
  children: [
4056
- /* @__PURE__ */ jsx37("span", { className: "truncate max-w-[120px]", children: ctx.optionMap.get(v) || v }),
4057
- /* @__PURE__ */ jsx37(
4366
+ /* @__PURE__ */ jsx41("span", { className: "truncate max-w-[120px]", children: ctx.optionMap.get(v) || v }),
4367
+ /* @__PURE__ */ jsx41(
4058
4368
  "span",
4059
4369
  {
4060
4370
  role: "button",
@@ -4066,14 +4376,14 @@ function SearchableSelectTrigger({
4066
4376
  e.stopPropagation();
4067
4377
  ctx.setValues(ctx.values.filter((val) => val !== v));
4068
4378
  },
4069
- children: /* @__PURE__ */ jsx37(XIcon2, { className: "size-3" })
4379
+ children: /* @__PURE__ */ jsx41(XIcon2, { className: "size-3" })
4070
4380
  }
4071
4381
  )
4072
4382
  ]
4073
4383
  },
4074
4384
  v
4075
4385
  )),
4076
- remaining > 0 && /* @__PURE__ */ jsxs19(Badge, { variant: "outline", className: "text-muted-foreground", children: [
4386
+ remaining > 0 && /* @__PURE__ */ jsxs22(Badge, { variant: "outline", className: "text-muted-foreground", children: [
4077
4387
  "+",
4078
4388
  remaining,
4079
4389
  " more"
@@ -4082,7 +4392,7 @@ function SearchableSelectTrigger({
4082
4392
  }
4083
4393
  );
4084
4394
  };
4085
- return /* @__PURE__ */ jsxs19(
4395
+ return /* @__PURE__ */ jsxs22(
4086
4396
  PopoverTrigger,
4087
4397
  {
4088
4398
  "data-slot": "searchable-select-trigger",
@@ -4096,7 +4406,7 @@ function SearchableSelectTrigger({
4096
4406
  ...props,
4097
4407
  children: [
4098
4408
  renderContent(),
4099
- /* @__PURE__ */ jsx37(ChevronsUpDown, { className: "size-4 shrink-0 opacity-50" })
4409
+ /* @__PURE__ */ jsx41(ChevronsUpDown, { className: "size-4 shrink-0 opacity-50" })
4100
4410
  ]
4101
4411
  }
4102
4412
  );
@@ -4108,7 +4418,7 @@ function SearchableSelectContent({
4108
4418
  ...props
4109
4419
  }) {
4110
4420
  const ctx = useSearchableSelect();
4111
- const groupedOptions = React35.useMemo(() => {
4421
+ const groupedOptions = React39.useMemo(() => {
4112
4422
  if (ctx.options.length === 0) return null;
4113
4423
  const groups = /* @__PURE__ */ new Map();
4114
4424
  for (const opt of ctx.options) {
@@ -4122,7 +4432,7 @@ function SearchableSelectContent({
4122
4432
  if (!groupedOptions) return null;
4123
4433
  const entries = Array.from(groupedOptions.entries());
4124
4434
  if (entries.length === 1 && entries[0][0] === "") {
4125
- return entries[0][1].map((opt) => /* @__PURE__ */ jsx37(
4435
+ return entries[0][1].map((opt) => /* @__PURE__ */ jsx41(
4126
4436
  SearchableSelectItem,
4127
4437
  {
4128
4438
  value: opt.value,
@@ -4132,7 +4442,7 @@ function SearchableSelectContent({
4132
4442
  opt.value
4133
4443
  ));
4134
4444
  }
4135
- return entries.map(([group, opts]) => /* @__PURE__ */ jsx37(SearchableSelectGroup, { heading: group || void 0, children: opts.map((opt) => /* @__PURE__ */ jsx37(
4445
+ return entries.map(([group, opts]) => /* @__PURE__ */ jsx41(SearchableSelectGroup, { heading: group || void 0, children: opts.map((opt) => /* @__PURE__ */ jsx41(
4136
4446
  SearchableSelectItem,
4137
4447
  {
4138
4448
  value: opt.value,
@@ -4142,17 +4452,17 @@ function SearchableSelectContent({
4142
4452
  opt.value
4143
4453
  )) }, group));
4144
4454
  };
4145
- return /* @__PURE__ */ jsx37(
4455
+ return /* @__PURE__ */ jsx41(
4146
4456
  PopoverContent,
4147
4457
  {
4148
4458
  "data-slot": "searchable-select-content",
4149
4459
  className: cn("w-[var(--radix-popover-trigger-width)] p-0", className),
4150
4460
  align: "start",
4151
4461
  ...props,
4152
- children: /* @__PURE__ */ jsxs19(Command, { children: [
4153
- ctx.searchable && /* @__PURE__ */ jsx37(CommandInput, { placeholder: ctx.searchPlaceholder }),
4154
- /* @__PURE__ */ jsxs19(CommandList, { children: [
4155
- /* @__PURE__ */ jsx37(CommandEmpty, { children: emptyText }),
4462
+ children: /* @__PURE__ */ jsxs22(Command, { children: [
4463
+ ctx.searchable && /* @__PURE__ */ jsx41(CommandInput, { placeholder: ctx.searchPlaceholder }),
4464
+ /* @__PURE__ */ jsxs22(CommandList, { children: [
4465
+ /* @__PURE__ */ jsx41(CommandEmpty, { children: emptyText }),
4156
4466
  children || renderAutoItems()
4157
4467
  ] })
4158
4468
  ] })
@@ -4179,7 +4489,7 @@ function SearchableSelectItem({
4179
4489
  );
4180
4490
  }
4181
4491
  };
4182
- return /* @__PURE__ */ jsxs19(
4492
+ return /* @__PURE__ */ jsxs22(
4183
4493
  CommandItem,
4184
4494
  {
4185
4495
  "data-slot": "searchable-select-item",
@@ -4192,18 +4502,18 @@ function SearchableSelectItem({
4192
4502
  "data-disabled": disabled || void 0,
4193
4503
  ...props,
4194
4504
  children: [
4195
- ctx.mode === "multiple" && /* @__PURE__ */ jsx37("span", { className: "absolute left-2 flex size-4 items-center justify-center", children: /* @__PURE__ */ jsx37(
4505
+ ctx.mode === "multiple" && /* @__PURE__ */ jsx41("span", { className: "absolute left-2 flex size-4 items-center justify-center", children: /* @__PURE__ */ jsx41(
4196
4506
  "span",
4197
4507
  {
4198
4508
  className: cn(
4199
4509
  "size-4 rounded-sm border border-primary transition-colors",
4200
4510
  isSelected ? "bg-primary text-primary-foreground" : "bg-transparent"
4201
4511
  ),
4202
- children: isSelected && /* @__PURE__ */ jsx37(CheckIcon4, { className: "size-4 p-0.5" })
4512
+ children: isSelected && /* @__PURE__ */ jsx41(CheckIcon4, { className: "size-4 p-0.5" })
4203
4513
  }
4204
4514
  ) }),
4205
- /* @__PURE__ */ jsx37("span", { className: "flex-1 truncate", children }),
4206
- ctx.mode === "single" && isSelected && /* @__PURE__ */ jsx37("span", { className: "absolute right-2 flex size-4 items-center justify-center", children: /* @__PURE__ */ jsx37(CheckIcon4, { className: "size-4" }) })
4515
+ /* @__PURE__ */ jsx41("span", { className: "flex-1 truncate", children }),
4516
+ ctx.mode === "single" && isSelected && /* @__PURE__ */ jsx41("span", { className: "absolute right-2 flex size-4 items-center justify-center", children: /* @__PURE__ */ jsx41(CheckIcon4, { className: "size-4" }) })
4207
4517
  ]
4208
4518
  }
4209
4519
  );
@@ -4212,7 +4522,7 @@ function SearchableSelectGroup({
4212
4522
  className,
4213
4523
  ...props
4214
4524
  }) {
4215
- return /* @__PURE__ */ jsx37(
4525
+ return /* @__PURE__ */ jsx41(
4216
4526
  CommandGroup,
4217
4527
  {
4218
4528
  "data-slot": "searchable-select-group",
@@ -4226,7 +4536,7 @@ function SearchableSelectEmpty({
4226
4536
  children = "No results found.",
4227
4537
  ...props
4228
4538
  }) {
4229
- return /* @__PURE__ */ jsx37(
4539
+ return /* @__PURE__ */ jsx41(
4230
4540
  CommandEmpty,
4231
4541
  {
4232
4542
  "data-slot": "searchable-select-empty",
@@ -4241,21 +4551,21 @@ function SearchableSelectEmpty({
4241
4551
  import "react";
4242
4552
  import * as SelectPrimitive from "@radix-ui/react-select";
4243
4553
  import { CheckIcon as CheckIcon5, ChevronDownIcon as ChevronDownIcon4, ChevronUpIcon } from "lucide-react";
4244
- import { jsx as jsx38, jsxs as jsxs20 } from "react/jsx-runtime";
4554
+ import { jsx as jsx42, jsxs as jsxs23 } from "react/jsx-runtime";
4245
4555
  function Select({
4246
4556
  ...props
4247
4557
  }) {
4248
- return /* @__PURE__ */ jsx38(SelectPrimitive.Root, { "data-slot": "select", ...props });
4558
+ return /* @__PURE__ */ jsx42(SelectPrimitive.Root, { "data-slot": "select", ...props });
4249
4559
  }
4250
4560
  function SelectGroup({
4251
4561
  ...props
4252
4562
  }) {
4253
- return /* @__PURE__ */ jsx38(SelectPrimitive.Group, { "data-slot": "select-group", ...props });
4563
+ return /* @__PURE__ */ jsx42(SelectPrimitive.Group, { "data-slot": "select-group", ...props });
4254
4564
  }
4255
4565
  function SelectValue({
4256
4566
  ...props
4257
4567
  }) {
4258
- return /* @__PURE__ */ jsx38(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
4568
+ return /* @__PURE__ */ jsx42(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
4259
4569
  }
4260
4570
  function SelectTrigger({
4261
4571
  className,
@@ -4263,7 +4573,7 @@ function SelectTrigger({
4263
4573
  children,
4264
4574
  ...props
4265
4575
  }) {
4266
- return /* @__PURE__ */ jsxs20(
4576
+ return /* @__PURE__ */ jsxs23(
4267
4577
  SelectPrimitive.Trigger,
4268
4578
  {
4269
4579
  "data-slot": "select-trigger",
@@ -4275,7 +4585,7 @@ function SelectTrigger({
4275
4585
  ...props,
4276
4586
  children: [
4277
4587
  children,
4278
- /* @__PURE__ */ jsx38(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx38(ChevronDownIcon4, { className: "size-4 opacity-50" }) })
4588
+ /* @__PURE__ */ jsx42(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx42(ChevronDownIcon4, { className: "size-4 opacity-50" }) })
4279
4589
  ]
4280
4590
  }
4281
4591
  );
@@ -4286,7 +4596,7 @@ function SelectContent({
4286
4596
  position = "popper",
4287
4597
  ...props
4288
4598
  }) {
4289
- return /* @__PURE__ */ jsx38(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs20(
4599
+ return /* @__PURE__ */ jsx42(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs23(
4290
4600
  SelectPrimitive.Content,
4291
4601
  {
4292
4602
  "data-slot": "select-content",
@@ -4298,8 +4608,8 @@ function SelectContent({
4298
4608
  position,
4299
4609
  ...props,
4300
4610
  children: [
4301
- /* @__PURE__ */ jsx38(SelectScrollUpButton, {}),
4302
- /* @__PURE__ */ jsx38(
4611
+ /* @__PURE__ */ jsx42(SelectScrollUpButton, {}),
4612
+ /* @__PURE__ */ jsx42(
4303
4613
  SelectPrimitive.Viewport,
4304
4614
  {
4305
4615
  className: cn(
@@ -4309,7 +4619,7 @@ function SelectContent({
4309
4619
  children
4310
4620
  }
4311
4621
  ),
4312
- /* @__PURE__ */ jsx38(SelectScrollDownButton, {})
4622
+ /* @__PURE__ */ jsx42(SelectScrollDownButton, {})
4313
4623
  ]
4314
4624
  }
4315
4625
  ) });
@@ -4318,7 +4628,7 @@ function SelectLabel({
4318
4628
  className,
4319
4629
  ...props
4320
4630
  }) {
4321
- return /* @__PURE__ */ jsx38(
4631
+ return /* @__PURE__ */ jsx42(
4322
4632
  SelectPrimitive.Label,
4323
4633
  {
4324
4634
  "data-slot": "select-label",
@@ -4332,7 +4642,7 @@ function SelectItem({
4332
4642
  children,
4333
4643
  ...props
4334
4644
  }) {
4335
- return /* @__PURE__ */ jsxs20(
4645
+ return /* @__PURE__ */ jsxs23(
4336
4646
  SelectPrimitive.Item,
4337
4647
  {
4338
4648
  "data-slot": "select-item",
@@ -4342,8 +4652,8 @@ function SelectItem({
4342
4652
  ),
4343
4653
  ...props,
4344
4654
  children: [
4345
- /* @__PURE__ */ jsx38("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx38(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx38(CheckIcon5, { className: "size-4" }) }) }),
4346
- /* @__PURE__ */ jsx38(SelectPrimitive.ItemText, { children })
4655
+ /* @__PURE__ */ jsx42("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx42(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx42(CheckIcon5, { className: "size-4" }) }) }),
4656
+ /* @__PURE__ */ jsx42(SelectPrimitive.ItemText, { children })
4347
4657
  ]
4348
4658
  }
4349
4659
  );
@@ -4352,7 +4662,7 @@ function SelectSeparator({
4352
4662
  className,
4353
4663
  ...props
4354
4664
  }) {
4355
- return /* @__PURE__ */ jsx38(
4665
+ return /* @__PURE__ */ jsx42(
4356
4666
  SelectPrimitive.Separator,
4357
4667
  {
4358
4668
  "data-slot": "select-separator",
@@ -4365,7 +4675,7 @@ function SelectScrollUpButton({
4365
4675
  className,
4366
4676
  ...props
4367
4677
  }) {
4368
- return /* @__PURE__ */ jsx38(
4678
+ return /* @__PURE__ */ jsx42(
4369
4679
  SelectPrimitive.ScrollUpButton,
4370
4680
  {
4371
4681
  "data-slot": "select-scroll-up-button",
@@ -4374,7 +4684,7 @@ function SelectScrollUpButton({
4374
4684
  className
4375
4685
  ),
4376
4686
  ...props,
4377
- children: /* @__PURE__ */ jsx38(ChevronUpIcon, { className: "size-4" })
4687
+ children: /* @__PURE__ */ jsx42(ChevronUpIcon, { className: "size-4" })
4378
4688
  }
4379
4689
  );
4380
4690
  }
@@ -4382,7 +4692,7 @@ function SelectScrollDownButton({
4382
4692
  className,
4383
4693
  ...props
4384
4694
  }) {
4385
- return /* @__PURE__ */ jsx38(
4695
+ return /* @__PURE__ */ jsx42(
4386
4696
  SelectPrimitive.ScrollDownButton,
4387
4697
  {
4388
4698
  "data-slot": "select-scroll-down-button",
@@ -4391,7 +4701,7 @@ function SelectScrollDownButton({
4391
4701
  className
4392
4702
  ),
4393
4703
  ...props,
4394
- children: /* @__PURE__ */ jsx38(ChevronDownIcon4, { className: "size-4" })
4704
+ children: /* @__PURE__ */ jsx42(ChevronDownIcon4, { className: "size-4" })
4395
4705
  }
4396
4706
  );
4397
4707
  }
@@ -4399,14 +4709,14 @@ function SelectScrollDownButton({
4399
4709
  // src/components/ui/separator.tsx
4400
4710
  import "react";
4401
4711
  import * as SeparatorPrimitive from "@radix-ui/react-separator";
4402
- import { jsx as jsx39 } from "react/jsx-runtime";
4712
+ import { jsx as jsx43 } from "react/jsx-runtime";
4403
4713
  function Separator5({
4404
4714
  className,
4405
4715
  orientation = "horizontal",
4406
4716
  decorative = true,
4407
4717
  ...props
4408
4718
  }) {
4409
- return /* @__PURE__ */ jsx39(
4719
+ return /* @__PURE__ */ jsx43(
4410
4720
  SeparatorPrimitive.Root,
4411
4721
  {
4412
4722
  "data-slot": "separator",
@@ -4425,30 +4735,30 @@ function Separator5({
4425
4735
  import * as SheetPrimitive from "@radix-ui/react-dialog";
4426
4736
  import { XIcon as XIcon3 } from "lucide-react";
4427
4737
  import "react";
4428
- import { jsx as jsx40, jsxs as jsxs21 } from "react/jsx-runtime";
4738
+ import { jsx as jsx44, jsxs as jsxs24 } from "react/jsx-runtime";
4429
4739
  function Sheet({ ...props }) {
4430
- return /* @__PURE__ */ jsx40(SheetPrimitive.Root, { "data-slot": "sheet", ...props });
4740
+ return /* @__PURE__ */ jsx44(SheetPrimitive.Root, { "data-slot": "sheet", ...props });
4431
4741
  }
4432
4742
  function SheetTrigger({
4433
4743
  ...props
4434
4744
  }) {
4435
- return /* @__PURE__ */ jsx40(SheetPrimitive.Trigger, { "data-slot": "sheet-trigger", ...props });
4745
+ return /* @__PURE__ */ jsx44(SheetPrimitive.Trigger, { "data-slot": "sheet-trigger", ...props });
4436
4746
  }
4437
4747
  function SheetClose({
4438
4748
  ...props
4439
4749
  }) {
4440
- return /* @__PURE__ */ jsx40(SheetPrimitive.Close, { "data-slot": "sheet-close", ...props });
4750
+ return /* @__PURE__ */ jsx44(SheetPrimitive.Close, { "data-slot": "sheet-close", ...props });
4441
4751
  }
4442
4752
  function SheetPortal({
4443
4753
  ...props
4444
4754
  }) {
4445
- return /* @__PURE__ */ jsx40(SheetPrimitive.Portal, { "data-slot": "sheet-portal", ...props });
4755
+ return /* @__PURE__ */ jsx44(SheetPrimitive.Portal, { "data-slot": "sheet-portal", ...props });
4446
4756
  }
4447
4757
  function SheetOverlay({
4448
4758
  className,
4449
4759
  ...props
4450
4760
  }) {
4451
- return /* @__PURE__ */ jsx40(
4761
+ return /* @__PURE__ */ jsx44(
4452
4762
  SheetPrimitive.Overlay,
4453
4763
  {
4454
4764
  "data-slot": "sheet-overlay",
@@ -4467,9 +4777,9 @@ function SheetContent({
4467
4777
  showCloseButton = true,
4468
4778
  ...props
4469
4779
  }) {
4470
- return /* @__PURE__ */ jsxs21(SheetPortal, { children: [
4471
- /* @__PURE__ */ jsx40(SheetOverlay, {}),
4472
- /* @__PURE__ */ jsxs21(
4780
+ return /* @__PURE__ */ jsxs24(SheetPortal, { children: [
4781
+ /* @__PURE__ */ jsx44(SheetOverlay, {}),
4782
+ /* @__PURE__ */ jsxs24(
4473
4783
  SheetPrimitive.Content,
4474
4784
  {
4475
4785
  "data-slot": "sheet-content",
@@ -4484,9 +4794,9 @@ function SheetContent({
4484
4794
  ...props,
4485
4795
  children: [
4486
4796
  children,
4487
- showCloseButton && /* @__PURE__ */ jsxs21(SheetPrimitive.Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none", children: [
4488
- /* @__PURE__ */ jsx40(XIcon3, { className: "size-4" }),
4489
- /* @__PURE__ */ jsx40("span", { className: "sr-only", children: "Close" })
4797
+ showCloseButton && /* @__PURE__ */ jsxs24(SheetPrimitive.Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none", children: [
4798
+ /* @__PURE__ */ jsx44(XIcon3, { className: "size-4" }),
4799
+ /* @__PURE__ */ jsx44("span", { className: "sr-only", children: "Close" })
4490
4800
  ] })
4491
4801
  ]
4492
4802
  }
@@ -4494,7 +4804,7 @@ function SheetContent({
4494
4804
  ] });
4495
4805
  }
4496
4806
  function SheetHeader({ className, ...props }) {
4497
- return /* @__PURE__ */ jsx40(
4807
+ return /* @__PURE__ */ jsx44(
4498
4808
  "div",
4499
4809
  {
4500
4810
  "data-slot": "sheet-header",
@@ -4504,7 +4814,7 @@ function SheetHeader({ className, ...props }) {
4504
4814
  );
4505
4815
  }
4506
4816
  function SheetFooter({ className, ...props }) {
4507
- return /* @__PURE__ */ jsx40(
4817
+ return /* @__PURE__ */ jsx44(
4508
4818
  "div",
4509
4819
  {
4510
4820
  "data-slot": "sheet-footer",
@@ -4517,7 +4827,7 @@ function SheetTitle({
4517
4827
  className,
4518
4828
  ...props
4519
4829
  }) {
4520
- return /* @__PURE__ */ jsx40(
4830
+ return /* @__PURE__ */ jsx44(
4521
4831
  SheetPrimitive.Title,
4522
4832
  {
4523
4833
  "data-slot": "sheet-title",
@@ -4530,7 +4840,7 @@ function SheetDescription({
4530
4840
  className,
4531
4841
  ...props
4532
4842
  }) {
4533
- return /* @__PURE__ */ jsx40(
4843
+ return /* @__PURE__ */ jsx44(
4534
4844
  SheetPrimitive.Description,
4535
4845
  {
4536
4846
  "data-slot": "sheet-description",
@@ -4542,14 +4852,14 @@ function SheetDescription({
4542
4852
 
4543
4853
  // src/components/ui/sidebar.tsx
4544
4854
  import { Slot as Slot6 } from "@radix-ui/react-slot";
4545
- import { cva as cva7 } from "class-variance-authority";
4855
+ import { cva as cva11 } from "class-variance-authority";
4546
4856
  import { PanelLeftIcon } from "lucide-react";
4547
- import * as React41 from "react";
4857
+ import * as React45 from "react";
4548
4858
 
4549
4859
  // src/components/ui/skeleton.tsx
4550
- import { jsx as jsx41 } from "react/jsx-runtime";
4860
+ import { jsx as jsx45 } from "react/jsx-runtime";
4551
4861
  function Skeleton({ className, ...props }) {
4552
- return /* @__PURE__ */ jsx41(
4862
+ return /* @__PURE__ */ jsx45(
4553
4863
  "div",
4554
4864
  {
4555
4865
  "data-slot": "skeleton",
@@ -4562,12 +4872,13 @@ function Skeleton({ className, ...props }) {
4562
4872
  // src/components/ui/tooltip.tsx
4563
4873
  import "react";
4564
4874
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
4565
- import { jsx as jsx42, jsxs as jsxs22 } from "react/jsx-runtime";
4875
+ import { X as X2 } from "lucide-react";
4876
+ import { jsx as jsx46, jsxs as jsxs25 } from "react/jsx-runtime";
4566
4877
  function TooltipProvider({
4567
4878
  delayDuration = 0,
4568
4879
  ...props
4569
4880
  }) {
4570
- return /* @__PURE__ */ jsx42(
4881
+ return /* @__PURE__ */ jsx46(
4571
4882
  TooltipPrimitive.Provider,
4572
4883
  {
4573
4884
  "data-slot": "tooltip-provider",
@@ -4579,12 +4890,12 @@ function TooltipProvider({
4579
4890
  function Tooltip2({
4580
4891
  ...props
4581
4892
  }) {
4582
- return /* @__PURE__ */ jsx42(TooltipProvider, { children: /* @__PURE__ */ jsx42(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props }) });
4893
+ return /* @__PURE__ */ jsx46(TooltipProvider, { children: /* @__PURE__ */ jsx46(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props }) });
4583
4894
  }
4584
4895
  function TooltipTrigger({
4585
4896
  ...props
4586
4897
  }) {
4587
- return /* @__PURE__ */ jsx42(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
4898
+ return /* @__PURE__ */ jsx46(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
4588
4899
  }
4589
4900
  function TooltipContent({
4590
4901
  className,
@@ -4592,7 +4903,7 @@ function TooltipContent({
4592
4903
  children,
4593
4904
  ...props
4594
4905
  }) {
4595
- return /* @__PURE__ */ jsx42(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs22(
4906
+ return /* @__PURE__ */ jsx46(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs25(
4596
4907
  TooltipPrimitive.Content,
4597
4908
  {
4598
4909
  "data-slot": "tooltip-content",
@@ -4604,18 +4915,68 @@ function TooltipContent({
4604
4915
  ...props,
4605
4916
  children: [
4606
4917
  children,
4607
- /* @__PURE__ */ jsx42(TooltipPrimitive.Arrow, { className: "bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
4918
+ /* @__PURE__ */ jsx46(TooltipPrimitive.Arrow, { className: "bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
4919
+ ]
4920
+ }
4921
+ ) });
4922
+ }
4923
+ function RichTooltipContent({
4924
+ className,
4925
+ sideOffset = 4,
4926
+ icon,
4927
+ heading,
4928
+ dismissible = false,
4929
+ onDismiss,
4930
+ children,
4931
+ ...props
4932
+ }) {
4933
+ return /* @__PURE__ */ jsx46(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs25(
4934
+ TooltipPrimitive.Content,
4935
+ {
4936
+ "data-slot": "rich-tooltip-content",
4937
+ sideOffset,
4938
+ className: cn(
4939
+ "animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 origin-(--radix-tooltip-content-transform-origin)",
4940
+ className
4941
+ ),
4942
+ ...props,
4943
+ children: [
4944
+ /* @__PURE__ */ jsxs25("div", { className: "flex items-start gap-3 bg-gray-surface-dark rounded-[12px] px-3 py-4 text-sm leading-5 max-w-sm", children: [
4945
+ icon && /* @__PURE__ */ jsx46("span", { className: "flex items-center justify-center shrink-0 size-5 text-white [&_svg]:size-5", children: icon }),
4946
+ /* @__PURE__ */ jsxs25("div", { className: "flex flex-1 flex-col gap-2 min-w-0", children: [
4947
+ heading && /* @__PURE__ */ jsx46("p", { className: "font-semibold text-sm leading-5 text-white", children: heading }),
4948
+ /* @__PURE__ */ jsx46("div", { className: "font-normal text-sm leading-5 text-white", children })
4949
+ ] }),
4950
+ dismissible && /* @__PURE__ */ jsx46(
4951
+ "button",
4952
+ {
4953
+ type: "button",
4954
+ onClick: onDismiss,
4955
+ className: "flex items-center justify-center shrink-0 size-5 text-white/70 hover:text-white transition-colors cursor-pointer",
4956
+ "aria-label": "Dismiss",
4957
+ children: /* @__PURE__ */ jsx46(X2, { className: "size-2.5" })
4958
+ }
4959
+ )
4960
+ ] }),
4961
+ /* @__PURE__ */ jsx46(
4962
+ TooltipPrimitive.Arrow,
4963
+ {
4964
+ width: 16,
4965
+ height: 12,
4966
+ className: "fill-gray-surface-dark"
4967
+ }
4968
+ )
4608
4969
  ]
4609
4970
  }
4610
4971
  ) });
4611
4972
  }
4612
4973
 
4613
4974
  // src/hooks/use-mobile.ts
4614
- import * as React40 from "react";
4975
+ import * as React44 from "react";
4615
4976
  var MOBILE_BREAKPOINT = 768;
4616
4977
  function useIsMobile() {
4617
- const [isMobile, setIsMobile] = React40.useState(void 0);
4618
- React40.useEffect(() => {
4978
+ const [isMobile, setIsMobile] = React44.useState(void 0);
4979
+ React44.useEffect(() => {
4619
4980
  const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
4620
4981
  const onChange = () => {
4621
4982
  setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
@@ -4628,16 +4989,16 @@ function useIsMobile() {
4628
4989
  }
4629
4990
 
4630
4991
  // src/components/ui/sidebar.tsx
4631
- import { jsx as jsx43, jsxs as jsxs23 } from "react/jsx-runtime";
4992
+ import { jsx as jsx47, jsxs as jsxs26 } from "react/jsx-runtime";
4632
4993
  var SIDEBAR_COOKIE_NAME = "sidebar_state";
4633
4994
  var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
4634
4995
  var SIDEBAR_WIDTH = "18rem";
4635
4996
  var SIDEBAR_WIDTH_MOBILE = "18rem";
4636
4997
  var SIDEBAR_WIDTH_ICON = "3rem";
4637
4998
  var SIDEBAR_KEYBOARD_SHORTCUT = "b";
4638
- var SidebarContext = React41.createContext(null);
4999
+ var SidebarContext = React45.createContext(null);
4639
5000
  function useSidebar() {
4640
- const context = React41.useContext(SidebarContext);
5001
+ const context = React45.useContext(SidebarContext);
4641
5002
  if (!context) {
4642
5003
  throw new Error("useSidebar must be used within a SidebarProvider.");
4643
5004
  }
@@ -4653,10 +5014,10 @@ function SidebarProvider({
4653
5014
  ...props
4654
5015
  }) {
4655
5016
  const isMobile = useIsMobile();
4656
- const [openMobile, setOpenMobile] = React41.useState(false);
4657
- const [_open, _setOpen] = React41.useState(defaultOpen);
5017
+ const [openMobile, setOpenMobile] = React45.useState(false);
5018
+ const [_open, _setOpen] = React45.useState(defaultOpen);
4658
5019
  const open = openProp ?? _open;
4659
- const setOpen = React41.useCallback(
5020
+ const setOpen = React45.useCallback(
4660
5021
  (value) => {
4661
5022
  const openState = typeof value === "function" ? value(open) : value;
4662
5023
  if (setOpenProp) {
@@ -4668,10 +5029,10 @@ function SidebarProvider({
4668
5029
  },
4669
5030
  [setOpenProp, open]
4670
5031
  );
4671
- const toggleSidebar = React41.useCallback(() => {
5032
+ const toggleSidebar = React45.useCallback(() => {
4672
5033
  return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
4673
5034
  }, [isMobile, setOpen, setOpenMobile]);
4674
- React41.useEffect(() => {
5035
+ React45.useEffect(() => {
4675
5036
  const handleKeyDown = (event) => {
4676
5037
  if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
4677
5038
  event.preventDefault();
@@ -4682,7 +5043,7 @@ function SidebarProvider({
4682
5043
  return () => window.removeEventListener("keydown", handleKeyDown);
4683
5044
  }, [toggleSidebar]);
4684
5045
  const state = open ? "expanded" : "collapsed";
4685
- const contextValue = React41.useMemo(
5046
+ const contextValue = React45.useMemo(
4686
5047
  () => ({
4687
5048
  state,
4688
5049
  open,
@@ -4694,7 +5055,7 @@ function SidebarProvider({
4694
5055
  }),
4695
5056
  [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
4696
5057
  );
4697
- return /* @__PURE__ */ jsx43(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx43(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx43(
5058
+ return /* @__PURE__ */ jsx47(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx47(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx47(
4698
5059
  "div",
4699
5060
  {
4700
5061
  "data-slot": "sidebar-wrapper",
@@ -4722,7 +5083,7 @@ function Sidebar({
4722
5083
  }) {
4723
5084
  const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
4724
5085
  if (collapsible === "none") {
4725
- return /* @__PURE__ */ jsx43(
5086
+ return /* @__PURE__ */ jsx47(
4726
5087
  "div",
4727
5088
  {
4728
5089
  "data-slot": "sidebar",
@@ -4736,7 +5097,7 @@ function Sidebar({
4736
5097
  );
4737
5098
  }
4738
5099
  if (isMobile) {
4739
- return /* @__PURE__ */ jsx43(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsxs23(
5100
+ return /* @__PURE__ */ jsx47(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsxs26(
4740
5101
  SheetContent,
4741
5102
  {
4742
5103
  "data-sidebar": "sidebar",
@@ -4748,16 +5109,16 @@ function Sidebar({
4748
5109
  },
4749
5110
  side,
4750
5111
  children: [
4751
- /* @__PURE__ */ jsxs23(SheetHeader, { className: "sr-only", children: [
4752
- /* @__PURE__ */ jsx43(SheetTitle, { children: "Sidebar" }),
4753
- /* @__PURE__ */ jsx43(SheetDescription, { children: "Displays the mobile sidebar." })
5112
+ /* @__PURE__ */ jsxs26(SheetHeader, { className: "sr-only", children: [
5113
+ /* @__PURE__ */ jsx47(SheetTitle, { children: "Sidebar" }),
5114
+ /* @__PURE__ */ jsx47(SheetDescription, { children: "Displays the mobile sidebar." })
4754
5115
  ] }),
4755
- /* @__PURE__ */ jsx43("div", { className: "flex h-full w-full flex-col", children })
5116
+ /* @__PURE__ */ jsx47("div", { className: "flex h-full w-full flex-col", children })
4756
5117
  ]
4757
5118
  }
4758
5119
  ) });
4759
5120
  }
4760
- return /* @__PURE__ */ jsxs23(
5121
+ return /* @__PURE__ */ jsxs26(
4761
5122
  "div",
4762
5123
  {
4763
5124
  className: "group peer text-sidebar-foreground hidden md:block",
@@ -4767,7 +5128,7 @@ function Sidebar({
4767
5128
  "data-side": side,
4768
5129
  "data-slot": "sidebar",
4769
5130
  children: [
4770
- /* @__PURE__ */ jsx43(
5131
+ /* @__PURE__ */ jsx47(
4771
5132
  "div",
4772
5133
  {
4773
5134
  "data-slot": "sidebar-gap",
@@ -4779,7 +5140,7 @@ function Sidebar({
4779
5140
  )
4780
5141
  }
4781
5142
  ),
4782
- /* @__PURE__ */ jsx43(
5143
+ /* @__PURE__ */ jsx47(
4783
5144
  "div",
4784
5145
  {
4785
5146
  "data-slot": "sidebar-container",
@@ -4791,7 +5152,7 @@ function Sidebar({
4791
5152
  className
4792
5153
  ),
4793
5154
  ...props,
4794
- children: /* @__PURE__ */ jsx43(
5155
+ children: /* @__PURE__ */ jsx47(
4795
5156
  "div",
4796
5157
  {
4797
5158
  "data-sidebar": "sidebar",
@@ -4812,7 +5173,7 @@ function SidebarTrigger({
4812
5173
  ...props
4813
5174
  }) {
4814
5175
  const { toggleSidebar } = useSidebar();
4815
- return /* @__PURE__ */ jsxs23(
5176
+ return /* @__PURE__ */ jsxs26(
4816
5177
  Button,
4817
5178
  {
4818
5179
  "data-sidebar": "trigger",
@@ -4826,15 +5187,15 @@ function SidebarTrigger({
4826
5187
  },
4827
5188
  ...props,
4828
5189
  children: [
4829
- /* @__PURE__ */ jsx43(PanelLeftIcon, {}),
4830
- /* @__PURE__ */ jsx43("span", { className: "sr-only", children: "Toggle Sidebar" })
5190
+ /* @__PURE__ */ jsx47(PanelLeftIcon, {}),
5191
+ /* @__PURE__ */ jsx47("span", { className: "sr-only", children: "Toggle Sidebar" })
4831
5192
  ]
4832
5193
  }
4833
5194
  );
4834
5195
  }
4835
5196
  function SidebarRail({ className, ...props }) {
4836
5197
  const { toggleSidebar } = useSidebar();
4837
- return /* @__PURE__ */ jsx43(
5198
+ return /* @__PURE__ */ jsx47(
4838
5199
  "button",
4839
5200
  {
4840
5201
  "data-sidebar": "rail",
@@ -4857,7 +5218,7 @@ function SidebarRail({ className, ...props }) {
4857
5218
  );
4858
5219
  }
4859
5220
  function SidebarInset({ className, ...props }) {
4860
- return /* @__PURE__ */ jsx43(
5221
+ return /* @__PURE__ */ jsx47(
4861
5222
  "main",
4862
5223
  {
4863
5224
  "data-slot": "sidebar-inset",
@@ -4874,7 +5235,7 @@ function SidebarInput({
4874
5235
  className,
4875
5236
  ...props
4876
5237
  }) {
4877
- return /* @__PURE__ */ jsx43(
5238
+ return /* @__PURE__ */ jsx47(
4878
5239
  Input,
4879
5240
  {
4880
5241
  "data-slot": "sidebar-input",
@@ -4885,7 +5246,7 @@ function SidebarInput({
4885
5246
  );
4886
5247
  }
4887
5248
  function SidebarHeader({ className, ...props }) {
4888
- return /* @__PURE__ */ jsx43(
5249
+ return /* @__PURE__ */ jsx47(
4889
5250
  "div",
4890
5251
  {
4891
5252
  "data-slot": "sidebar-header",
@@ -4896,7 +5257,7 @@ function SidebarHeader({ className, ...props }) {
4896
5257
  );
4897
5258
  }
4898
5259
  function SidebarFooter({ className, ...props }) {
4899
- return /* @__PURE__ */ jsx43(
5260
+ return /* @__PURE__ */ jsx47(
4900
5261
  "div",
4901
5262
  {
4902
5263
  "data-slot": "sidebar-footer",
@@ -4910,7 +5271,7 @@ function SidebarSeparator({
4910
5271
  className,
4911
5272
  ...props
4912
5273
  }) {
4913
- return /* @__PURE__ */ jsx43(
5274
+ return /* @__PURE__ */ jsx47(
4914
5275
  Separator5,
4915
5276
  {
4916
5277
  "data-slot": "sidebar-separator",
@@ -4921,7 +5282,7 @@ function SidebarSeparator({
4921
5282
  );
4922
5283
  }
4923
5284
  function SidebarContent({ className, ...props }) {
4924
- return /* @__PURE__ */ jsx43(
5285
+ return /* @__PURE__ */ jsx47(
4925
5286
  "div",
4926
5287
  {
4927
5288
  "data-slot": "sidebar-content",
@@ -4935,7 +5296,7 @@ function SidebarContent({ className, ...props }) {
4935
5296
  );
4936
5297
  }
4937
5298
  function SidebarGroup({ className, ...props }) {
4938
- return /* @__PURE__ */ jsx43(
5299
+ return /* @__PURE__ */ jsx47(
4939
5300
  "div",
4940
5301
  {
4941
5302
  "data-slot": "sidebar-group",
@@ -4951,7 +5312,7 @@ function SidebarGroupLabel({
4951
5312
  ...props
4952
5313
  }) {
4953
5314
  const Comp = asChild ? Slot6 : "div";
4954
- return /* @__PURE__ */ jsx43(
5315
+ return /* @__PURE__ */ jsx47(
4955
5316
  Comp,
4956
5317
  {
4957
5318
  "data-slot": "sidebar-group-label",
@@ -4971,7 +5332,7 @@ function SidebarGroupAction({
4971
5332
  ...props
4972
5333
  }) {
4973
5334
  const Comp = asChild ? Slot6 : "button";
4974
- return /* @__PURE__ */ jsx43(
5335
+ return /* @__PURE__ */ jsx47(
4975
5336
  Comp,
4976
5337
  {
4977
5338
  "data-slot": "sidebar-group-action",
@@ -4991,7 +5352,7 @@ function SidebarGroupContent({
4991
5352
  className,
4992
5353
  ...props
4993
5354
  }) {
4994
- return /* @__PURE__ */ jsx43(
5355
+ return /* @__PURE__ */ jsx47(
4995
5356
  "div",
4996
5357
  {
4997
5358
  "data-slot": "sidebar-group-content",
@@ -5002,7 +5363,7 @@ function SidebarGroupContent({
5002
5363
  );
5003
5364
  }
5004
5365
  function SidebarMenu({ className, ...props }) {
5005
- return /* @__PURE__ */ jsx43(
5366
+ return /* @__PURE__ */ jsx47(
5006
5367
  "ul",
5007
5368
  {
5008
5369
  "data-slot": "sidebar-menu",
@@ -5013,7 +5374,7 @@ function SidebarMenu({ className, ...props }) {
5013
5374
  );
5014
5375
  }
5015
5376
  function SidebarMenuItem({ className, ...props }) {
5016
- return /* @__PURE__ */ jsx43(
5377
+ return /* @__PURE__ */ jsx47(
5017
5378
  "li",
5018
5379
  {
5019
5380
  "data-slot": "sidebar-menu-item",
@@ -5023,7 +5384,7 @@ function SidebarMenuItem({ className, ...props }) {
5023
5384
  }
5024
5385
  );
5025
5386
  }
5026
- var sidebarMenuButtonVariants = cva7(
5387
+ var sidebarMenuButtonVariants = cva11(
5027
5388
  "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
5028
5389
  {
5029
5390
  variants: {
@@ -5054,7 +5415,7 @@ function SidebarMenuButton({
5054
5415
  }) {
5055
5416
  const Comp = asChild ? Slot6 : "button";
5056
5417
  const { isMobile, state } = useSidebar();
5057
- const button = /* @__PURE__ */ jsx43(
5418
+ const button = /* @__PURE__ */ jsx47(
5058
5419
  Comp,
5059
5420
  {
5060
5421
  "data-slot": "sidebar-menu-button",
@@ -5073,9 +5434,9 @@ function SidebarMenuButton({
5073
5434
  children: tooltip
5074
5435
  };
5075
5436
  }
5076
- return /* @__PURE__ */ jsxs23(Tooltip2, { children: [
5077
- /* @__PURE__ */ jsx43(TooltipTrigger, { asChild: true, children: button }),
5078
- /* @__PURE__ */ jsx43(
5437
+ return /* @__PURE__ */ jsxs26(Tooltip2, { children: [
5438
+ /* @__PURE__ */ jsx47(TooltipTrigger, { asChild: true, children: button }),
5439
+ /* @__PURE__ */ jsx47(
5079
5440
  TooltipContent,
5080
5441
  {
5081
5442
  side: "right",
@@ -5093,7 +5454,7 @@ function SidebarMenuAction({
5093
5454
  ...props
5094
5455
  }) {
5095
5456
  const Comp = asChild ? Slot6 : "button";
5096
- return /* @__PURE__ */ jsx43(
5457
+ return /* @__PURE__ */ jsx47(
5097
5458
  Comp,
5098
5459
  {
5099
5460
  "data-slot": "sidebar-menu-action",
@@ -5117,7 +5478,7 @@ function SidebarMenuBadge({
5117
5478
  className,
5118
5479
  ...props
5119
5480
  }) {
5120
- return /* @__PURE__ */ jsx43(
5481
+ return /* @__PURE__ */ jsx47(
5121
5482
  "div",
5122
5483
  {
5123
5484
  "data-slot": "sidebar-menu-badge",
@@ -5140,10 +5501,10 @@ function SidebarMenuSkeleton({
5140
5501
  showIcon = false,
5141
5502
  ...props
5142
5503
  }) {
5143
- const width = React41.useMemo(() => {
5504
+ const width = React45.useMemo(() => {
5144
5505
  return `${Math.floor(Math.random() * 40) + 50}%`;
5145
5506
  }, []);
5146
- return /* @__PURE__ */ jsxs23(
5507
+ return /* @__PURE__ */ jsxs26(
5147
5508
  "div",
5148
5509
  {
5149
5510
  "data-slot": "sidebar-menu-skeleton",
@@ -5151,14 +5512,14 @@ function SidebarMenuSkeleton({
5151
5512
  className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
5152
5513
  ...props,
5153
5514
  children: [
5154
- showIcon && /* @__PURE__ */ jsx43(
5515
+ showIcon && /* @__PURE__ */ jsx47(
5155
5516
  Skeleton,
5156
5517
  {
5157
5518
  className: "size-4 rounded-md",
5158
5519
  "data-sidebar": "menu-skeleton-icon"
5159
5520
  }
5160
5521
  ),
5161
- /* @__PURE__ */ jsx43(
5522
+ /* @__PURE__ */ jsx47(
5162
5523
  Skeleton,
5163
5524
  {
5164
5525
  className: "h-4 max-w-(--skeleton-width) flex-1",
@@ -5173,7 +5534,7 @@ function SidebarMenuSkeleton({
5173
5534
  );
5174
5535
  }
5175
5536
  function SidebarMenuSub({ className, ...props }) {
5176
- return /* @__PURE__ */ jsx43(
5537
+ return /* @__PURE__ */ jsx47(
5177
5538
  "ul",
5178
5539
  {
5179
5540
  "data-slot": "sidebar-menu-sub",
@@ -5191,7 +5552,7 @@ function SidebarMenuSubItem({
5191
5552
  className,
5192
5553
  ...props
5193
5554
  }) {
5194
- return /* @__PURE__ */ jsx43(
5555
+ return /* @__PURE__ */ jsx47(
5195
5556
  "li",
5196
5557
  {
5197
5558
  "data-slot": "sidebar-menu-sub-item",
@@ -5209,7 +5570,7 @@ function SidebarMenuSubButton({
5209
5570
  ...props
5210
5571
  }) {
5211
5572
  const Comp = asChild ? Slot6 : "a";
5212
- return /* @__PURE__ */ jsx43(
5573
+ return /* @__PURE__ */ jsx47(
5213
5574
  Comp,
5214
5575
  {
5215
5576
  "data-slot": "sidebar-menu-sub-button",
@@ -5230,9 +5591,9 @@ function SidebarMenuSubButton({
5230
5591
  }
5231
5592
 
5232
5593
  // src/components/ui/slider.tsx
5233
- import * as React42 from "react";
5594
+ import * as React46 from "react";
5234
5595
  import * as SliderPrimitive from "@radix-ui/react-slider";
5235
- import { jsx as jsx44, jsxs as jsxs24 } from "react/jsx-runtime";
5596
+ import { jsx as jsx48, jsxs as jsxs27 } from "react/jsx-runtime";
5236
5597
  function Slider({
5237
5598
  className,
5238
5599
  defaultValue,
@@ -5241,11 +5602,11 @@ function Slider({
5241
5602
  max = 100,
5242
5603
  ...props
5243
5604
  }) {
5244
- const _values = React42.useMemo(
5605
+ const _values = React46.useMemo(
5245
5606
  () => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max],
5246
5607
  [value, defaultValue, min, max]
5247
5608
  );
5248
- return /* @__PURE__ */ jsxs24(
5609
+ return /* @__PURE__ */ jsxs27(
5249
5610
  SliderPrimitive.Root,
5250
5611
  {
5251
5612
  "data-slot": "slider",
@@ -5259,14 +5620,14 @@ function Slider({
5259
5620
  ),
5260
5621
  ...props,
5261
5622
  children: [
5262
- /* @__PURE__ */ jsx44(
5623
+ /* @__PURE__ */ jsx48(
5263
5624
  SliderPrimitive.Track,
5264
5625
  {
5265
5626
  "data-slot": "slider-track",
5266
5627
  className: cn(
5267
5628
  "bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"
5268
5629
  ),
5269
- children: /* @__PURE__ */ jsx44(
5630
+ children: /* @__PURE__ */ jsx48(
5270
5631
  SliderPrimitive.Range,
5271
5632
  {
5272
5633
  "data-slot": "slider-range",
@@ -5277,7 +5638,7 @@ function Slider({
5277
5638
  )
5278
5639
  }
5279
5640
  ),
5280
- Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */ jsx44(
5641
+ Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */ jsx48(
5281
5642
  SliderPrimitive.Thumb,
5282
5643
  {
5283
5644
  "data-slot": "slider-thumb",
@@ -5326,10 +5687,10 @@ function useMediaQuery(query) {
5326
5687
  }
5327
5688
 
5328
5689
  // src/components/ui/smart-dialog-drawer.tsx
5329
- import { Fragment as Fragment3, jsx as jsx45 } from "react/jsx-runtime";
5690
+ import { Fragment as Fragment3, jsx as jsx49 } from "react/jsx-runtime";
5330
5691
  var SmartDialog = ({ children, ...props }) => {
5331
5692
  const isMobile = useMediaQuery("(max-width: 600px)");
5332
- return isMobile ? /* @__PURE__ */ jsx45(Drawer, { ...props, children }) : /* @__PURE__ */ jsx45(Dialog, { ...props, children });
5693
+ return isMobile ? /* @__PURE__ */ jsx49(Drawer, { ...props, children }) : /* @__PURE__ */ jsx49(Dialog, { ...props, children });
5333
5694
  };
5334
5695
  var SmartDialogContent = ({
5335
5696
  children,
@@ -5339,14 +5700,14 @@ var SmartDialogContent = ({
5339
5700
  ...props
5340
5701
  }) => {
5341
5702
  const isMobile = useMediaQuery("(max-width: 600px)");
5342
- return isMobile ? /* @__PURE__ */ jsx45(
5703
+ return isMobile ? /* @__PURE__ */ jsx49(
5343
5704
  DrawerContent,
5344
5705
  {
5345
5706
  ...props,
5346
5707
  withCloseButton: withCloseButton ?? showCloseButton ?? true,
5347
5708
  children
5348
5709
  }
5349
- ) : /* @__PURE__ */ jsx45(
5710
+ ) : /* @__PURE__ */ jsx49(
5350
5711
  DialogContent,
5351
5712
  {
5352
5713
  ...props,
@@ -5361,39 +5722,39 @@ var SmartDialogDescription = ({
5361
5722
  ...props
5362
5723
  }) => {
5363
5724
  const isMobile = useMediaQuery("(max-width: 600px)");
5364
- return isMobile ? /* @__PURE__ */ jsx45(DrawerDescription, { ...props, children }) : /* @__PURE__ */ jsx45(DialogDescription, { ...props, children });
5725
+ return isMobile ? /* @__PURE__ */ jsx49(DrawerDescription, { ...props, children }) : /* @__PURE__ */ jsx49(DialogDescription, { ...props, children });
5365
5726
  };
5366
5727
  var SmartDialogHeader = ({ children, ...props }) => {
5367
5728
  const isMobile = useMediaQuery("(max-width: 600px)");
5368
- return isMobile ? /* @__PURE__ */ jsx45(DrawerHeader, { ...props, children }) : /* @__PURE__ */ jsx45(DialogHeader, { ...props, children });
5729
+ return isMobile ? /* @__PURE__ */ jsx49(DrawerHeader, { ...props, children }) : /* @__PURE__ */ jsx49(DialogHeader, { ...props, children });
5369
5730
  };
5370
5731
  var SmartDialogTitle = ({ children, ...props }) => {
5371
5732
  const isMobile = useMediaQuery("(max-width: 600px)");
5372
- return isMobile ? /* @__PURE__ */ jsx45(DrawerTitle, { ...props, children }) : /* @__PURE__ */ jsx45(DialogTitle, { ...props, children });
5733
+ return isMobile ? /* @__PURE__ */ jsx49(DrawerTitle, { ...props, children }) : /* @__PURE__ */ jsx49(DialogTitle, { ...props, children });
5373
5734
  };
5374
5735
  var SmartDialogTrigger = ({
5375
5736
  children,
5376
5737
  ...props
5377
5738
  }) => {
5378
5739
  const isMobile = useMediaQuery("(max-width: 600px)");
5379
- return isMobile ? /* @__PURE__ */ jsx45(DrawerTrigger, { ...props, children }) : /* @__PURE__ */ jsx45(DialogTrigger, { ...props, children });
5740
+ return isMobile ? /* @__PURE__ */ jsx49(DrawerTrigger, { ...props, children }) : /* @__PURE__ */ jsx49(DialogTrigger, { ...props, children });
5380
5741
  };
5381
5742
  var SmartDialogFooter = ({ children, ...props }) => {
5382
5743
  const isMobile = useMediaQuery("(max-width: 600px)");
5383
- return isMobile ? /* @__PURE__ */ jsx45(DrawerFooter, { ...props, children }) : /* @__PURE__ */ jsx45(DialogFooter, { ...props, children });
5744
+ return isMobile ? /* @__PURE__ */ jsx49(DrawerFooter, { ...props, children }) : /* @__PURE__ */ jsx49(DialogFooter, { ...props, children });
5384
5745
  };
5385
5746
  var SmartDialogClose = ({ children, ...props }) => {
5386
5747
  const isMobile = useMediaQuery("(max-width: 600px)");
5387
- return isMobile ? /* @__PURE__ */ jsx45(Fragment3, { children: /* @__PURE__ */ jsx45(DrawerClose, { ...props, children }) }) : /* @__PURE__ */ jsx45(DialogClose, { ...props, children });
5748
+ return isMobile ? /* @__PURE__ */ jsx49(Fragment3, { children: /* @__PURE__ */ jsx49(DrawerClose, { ...props, children }) }) : /* @__PURE__ */ jsx49(DialogClose, { ...props, children });
5388
5749
  };
5389
5750
 
5390
5751
  // src/components/ui/sonner.tsx
5391
5752
  import { useTheme } from "next-themes";
5392
5753
  import { Toaster as Sonner } from "sonner";
5393
- import { jsx as jsx46 } from "react/jsx-runtime";
5754
+ import { jsx as jsx50 } from "react/jsx-runtime";
5394
5755
  var Toaster = ({ ...props }) => {
5395
5756
  const { theme = "system" } = useTheme();
5396
- return /* @__PURE__ */ jsx46(
5757
+ return /* @__PURE__ */ jsx50(
5397
5758
  Sonner,
5398
5759
  {
5399
5760
  theme,
@@ -5411,12 +5772,12 @@ var Toaster = ({ ...props }) => {
5411
5772
  // src/components/ui/switch.tsx
5412
5773
  import * as SwitchPrimitive from "@radix-ui/react-switch";
5413
5774
  import "react";
5414
- import { jsx as jsx47 } from "react/jsx-runtime";
5775
+ import { jsx as jsx51 } from "react/jsx-runtime";
5415
5776
  function Switch({
5416
5777
  className,
5417
5778
  ...props
5418
5779
  }) {
5419
- return /* @__PURE__ */ jsx47(
5780
+ return /* @__PURE__ */ jsx51(
5420
5781
  SwitchPrimitive.Root,
5421
5782
  {
5422
5783
  "data-slot": "switch",
@@ -5425,7 +5786,7 @@ function Switch({
5425
5786
  className
5426
5787
  ),
5427
5788
  ...props,
5428
- children: /* @__PURE__ */ jsx47(
5789
+ children: /* @__PURE__ */ jsx51(
5429
5790
  SwitchPrimitive.Thumb,
5430
5791
  {
5431
5792
  "data-slot": "switch-thumb",
@@ -5440,14 +5801,14 @@ function Switch({
5440
5801
 
5441
5802
  // src/components/ui/table.tsx
5442
5803
  import "react";
5443
- import { jsx as jsx48 } from "react/jsx-runtime";
5804
+ import { jsx as jsx52 } from "react/jsx-runtime";
5444
5805
  function Table({ className, ...props }) {
5445
- return /* @__PURE__ */ jsx48(
5806
+ return /* @__PURE__ */ jsx52(
5446
5807
  "div",
5447
5808
  {
5448
5809
  "data-slot": "table-container",
5449
5810
  className: "relative w-full overflow-x-auto",
5450
- children: /* @__PURE__ */ jsx48(
5811
+ children: /* @__PURE__ */ jsx52(
5451
5812
  "table",
5452
5813
  {
5453
5814
  "data-slot": "table",
@@ -5459,7 +5820,7 @@ function Table({ className, ...props }) {
5459
5820
  );
5460
5821
  }
5461
5822
  function TableHeader({ className, ...props }) {
5462
- return /* @__PURE__ */ jsx48(
5823
+ return /* @__PURE__ */ jsx52(
5463
5824
  "thead",
5464
5825
  {
5465
5826
  "data-slot": "table-header",
@@ -5469,7 +5830,7 @@ function TableHeader({ className, ...props }) {
5469
5830
  );
5470
5831
  }
5471
5832
  function TableBody({ className, ...props }) {
5472
- return /* @__PURE__ */ jsx48(
5833
+ return /* @__PURE__ */ jsx52(
5473
5834
  "tbody",
5474
5835
  {
5475
5836
  "data-slot": "table-body",
@@ -5479,7 +5840,7 @@ function TableBody({ className, ...props }) {
5479
5840
  );
5480
5841
  }
5481
5842
  function TableFooter({ className, ...props }) {
5482
- return /* @__PURE__ */ jsx48(
5843
+ return /* @__PURE__ */ jsx52(
5483
5844
  "tfoot",
5484
5845
  {
5485
5846
  "data-slot": "table-footer",
@@ -5492,7 +5853,7 @@ function TableFooter({ className, ...props }) {
5492
5853
  );
5493
5854
  }
5494
5855
  function TableRow({ className, ...props }) {
5495
- return /* @__PURE__ */ jsx48(
5856
+ return /* @__PURE__ */ jsx52(
5496
5857
  "tr",
5497
5858
  {
5498
5859
  "data-slot": "table-row",
@@ -5505,7 +5866,7 @@ function TableRow({ className, ...props }) {
5505
5866
  );
5506
5867
  }
5507
5868
  function TableHead({ className, ...props }) {
5508
- return /* @__PURE__ */ jsx48(
5869
+ return /* @__PURE__ */ jsx52(
5509
5870
  "th",
5510
5871
  {
5511
5872
  "data-slot": "table-head",
@@ -5518,7 +5879,7 @@ function TableHead({ className, ...props }) {
5518
5879
  );
5519
5880
  }
5520
5881
  function TableCell({ className, ...props }) {
5521
- return /* @__PURE__ */ jsx48(
5882
+ return /* @__PURE__ */ jsx52(
5522
5883
  "td",
5523
5884
  {
5524
5885
  "data-slot": "table-cell",
@@ -5534,7 +5895,7 @@ function TableCaption({
5534
5895
  className,
5535
5896
  ...props
5536
5897
  }) {
5537
- return /* @__PURE__ */ jsx48(
5898
+ return /* @__PURE__ */ jsx52(
5538
5899
  "caption",
5539
5900
  {
5540
5901
  "data-slot": "table-caption",
@@ -5546,13 +5907,14 @@ function TableCaption({
5546
5907
 
5547
5908
  // src/components/ui/tabs.tsx
5548
5909
  import * as TabsPrimitive from "@radix-ui/react-tabs";
5910
+ import { cva as cva12 } from "class-variance-authority";
5549
5911
  import "react";
5550
- import { jsx as jsx49 } from "react/jsx-runtime";
5912
+ import { jsx as jsx53 } from "react/jsx-runtime";
5551
5913
  function Tabs({
5552
5914
  className,
5553
5915
  ...props
5554
5916
  }) {
5555
- return /* @__PURE__ */ jsx49(
5917
+ return /* @__PURE__ */ jsx53(
5556
5918
  TabsPrimitive.Root,
5557
5919
  {
5558
5920
  "data-slot": "tabs",
@@ -5565,31 +5927,45 @@ function TabsList({
5565
5927
  className,
5566
5928
  ...props
5567
5929
  }) {
5568
- return /* @__PURE__ */ jsx49(
5930
+ return /* @__PURE__ */ jsx53(
5569
5931
  TabsPrimitive.List,
5570
5932
  {
5571
5933
  "data-slot": "tabs-list",
5572
5934
  className: cn(
5573
- "text-muted-foreground flex h-9 items-center rounded-lg p-[3px] overflow-x-auto",
5935
+ "text-muted-foreground flex items-center overflow-x-auto",
5574
5936
  className
5575
5937
  ),
5576
5938
  ...props
5577
5939
  }
5578
5940
  );
5579
5941
  }
5942
+ var tabsTriggerVariants = cva12(
5943
+ "cursor-pointer inline-flex shrink-0 items-center justify-center font-sans font-medium whitespace-nowrap transition-[color,box-shadow] text-vibrant-text-details border-b border-b-gray-stroke-default data-[state=active]:font-semibold data-[state=active]:text-vibrant-text-heading data-[state=active]:border-b-2 data-[state=active]:border-b-primary-stroke-default disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4 pb-1 px-2",
5944
+ {
5945
+ variants: {
5946
+ size: {
5947
+ md: "min-w-[72px] text-sm leading-5",
5948
+ lg: "min-w-[88px] text-base leading-6"
5949
+ }
5950
+ },
5951
+ defaultVariants: {
5952
+ size: "md"
5953
+ }
5954
+ }
5955
+ );
5580
5956
  function TabsTrigger({
5581
5957
  className,
5958
+ size,
5959
+ children,
5582
5960
  ...props
5583
5961
  }) {
5584
- return /* @__PURE__ */ jsx49(
5962
+ return /* @__PURE__ */ jsx53(
5585
5963
  TabsPrimitive.Trigger,
5586
5964
  {
5587
5965
  "data-slot": "tabs-trigger",
5588
- className: cn(
5589
- "cursor-pointer data-[state=active]:border-b-2 data-[state=active]:border-brand-normal border-0 border-t-0 rounded-none data-[state=active]:text-black data-[state=active]:font-semibold data-[state=active]:bg-background dark:data-[state=active]:text-white focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:text-muted-foreground inline-flex h-[calc(100%-1px)] shrink-0 items-center justify-center gap-1.5 px-2 py-[6px] font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 text-zinc-500 font-sans border-b-1 border-b-gray-stroke-light text-sm",
5590
- className
5591
- ),
5592
- ...props
5966
+ className: cn(tabsTriggerVariants({ size }), className),
5967
+ ...props,
5968
+ children: /* @__PURE__ */ jsx53("span", { className: "inline-flex items-center justify-center gap-1.5 rounded-[6px] px-2 py-1.5 hover:bg-gray-surface-light", children })
5593
5969
  }
5594
5970
  );
5595
5971
  }
@@ -5597,7 +5973,7 @@ function TabsContent({
5597
5973
  className,
5598
5974
  ...props
5599
5975
  }) {
5600
- return /* @__PURE__ */ jsx49(
5976
+ return /* @__PURE__ */ jsx53(
5601
5977
  TabsPrimitive.Content,
5602
5978
  {
5603
5979
  "data-slot": "tabs-content",
@@ -5607,11 +5983,63 @@ function TabsContent({
5607
5983
  );
5608
5984
  }
5609
5985
 
5986
+ // src/components/ui/theme-provider.tsx
5987
+ import {
5988
+ ThemeProvider as NextThemesProvider
5989
+ } from "next-themes";
5990
+ import { jsx as jsx54 } from "react/jsx-runtime";
5991
+ function ThemeProvider({ children, ...props }) {
5992
+ return /* @__PURE__ */ jsx54(
5993
+ NextThemesProvider,
5994
+ {
5995
+ attribute: "class",
5996
+ defaultTheme: "light",
5997
+ enableSystem: true,
5998
+ disableTransitionOnChange: true,
5999
+ ...props,
6000
+ children
6001
+ }
6002
+ );
6003
+ }
6004
+
6005
+ // src/components/ui/theme-toggle.tsx
6006
+ import { Monitor, Moon, Sun } from "lucide-react";
6007
+ import { useTheme as useTheme2 } from "next-themes";
6008
+ import "react";
6009
+ import { jsx as jsx55, jsxs as jsxs28 } from "react/jsx-runtime";
6010
+ function ThemeToggle({
6011
+ className,
6012
+ ...props
6013
+ }) {
6014
+ const { setTheme } = useTheme2();
6015
+ return /* @__PURE__ */ jsxs28(DropdownMenu, { children: [
6016
+ /* @__PURE__ */ jsx55(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs28(Button, { variant: "outline", size: "icon", className, ...props, children: [
6017
+ /* @__PURE__ */ jsx55(Sun, { className: "size-4 rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" }),
6018
+ /* @__PURE__ */ jsx55(Moon, { className: "absolute size-4 rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" }),
6019
+ /* @__PURE__ */ jsx55("span", { className: "sr-only", children: "Toggle theme" })
6020
+ ] }) }),
6021
+ /* @__PURE__ */ jsxs28(DropdownMenuContent, { align: "end", children: [
6022
+ /* @__PURE__ */ jsxs28(DropdownMenuItem, { onClick: () => setTheme("light"), children: [
6023
+ /* @__PURE__ */ jsx55(Sun, { className: "size-4" }),
6024
+ "Light"
6025
+ ] }),
6026
+ /* @__PURE__ */ jsxs28(DropdownMenuItem, { onClick: () => setTheme("dark"), children: [
6027
+ /* @__PURE__ */ jsx55(Moon, { className: "size-4" }),
6028
+ "Dark"
6029
+ ] }),
6030
+ /* @__PURE__ */ jsxs28(DropdownMenuItem, { onClick: () => setTheme("system"), children: [
6031
+ /* @__PURE__ */ jsx55(Monitor, { className: "size-4" }),
6032
+ "System"
6033
+ ] })
6034
+ ] })
6035
+ ] });
6036
+ }
6037
+
5610
6038
  // src/components/ui/time-input.tsx
5611
6039
  import "class-variance-authority";
5612
6040
  import { Clock } from "lucide-react";
5613
- import * as React47 from "react";
5614
- import { jsx as jsx50, jsxs as jsxs25 } from "react/jsx-runtime";
6041
+ import * as React52 from "react";
6042
+ import { jsx as jsx56, jsxs as jsxs29 } from "react/jsx-runtime";
5615
6043
  var TIME_FORMAT_PLACEHOLDER = {
5616
6044
  "12h": "hh:mm AM/PM",
5617
6045
  "24h": "HH:mm",
@@ -5664,16 +6092,16 @@ function TimeInput({
5664
6092
  formatDisplay
5665
6093
  }) {
5666
6094
  const resolvedPlaceholder = placeholder ?? TIME_FORMAT_PLACEHOLDER[timeFormat];
5667
- const displayValue = React47.useMemo(() => {
6095
+ const displayValue = React52.useMemo(() => {
5668
6096
  if (!time) return "";
5669
6097
  if (formatDisplay) return formatDisplay(time);
5670
6098
  return formatTime(time, timeFormat);
5671
6099
  }, [time, formatDisplay, timeFormat]);
5672
- const [open, setOpen] = React47.useState(false);
5673
- const hoursRef = React47.useRef(null);
5674
- const minutesRef = React47.useRef(null);
5675
- const periodRef = React47.useRef(null);
5676
- const scrollToSelected = React47.useCallback(() => {
6100
+ const [open, setOpen] = React52.useState(false);
6101
+ const hoursRef = React52.useRef(null);
6102
+ const minutesRef = React52.useRef(null);
6103
+ const periodRef = React52.useRef(null);
6104
+ const scrollToSelected = React52.useCallback(() => {
5677
6105
  requestAnimationFrame(() => {
5678
6106
  for (const ref of [hoursRef, minutesRef, periodRef]) {
5679
6107
  const container = ref.current;
@@ -5685,7 +6113,7 @@ function TimeInput({
5685
6113
  }
5686
6114
  });
5687
6115
  }, []);
5688
- React47.useEffect(() => {
6116
+ React52.useEffect(() => {
5689
6117
  if (open) {
5690
6118
  scrollToSelected();
5691
6119
  }
@@ -5721,8 +6149,8 @@ function TimeInput({
5721
6149
  const selectedH12 = time ? getDisplayHour(time.hours, timeFormat) : null;
5722
6150
  const selectedMinute = time?.minutes ?? null;
5723
6151
  const selectedPeriod = time ? getPeriod(time.hours) : null;
5724
- return /* @__PURE__ */ jsx50("div", { className: cn("relative flex gap-2", className), children: /* @__PURE__ */ jsxs25(Popover, { open, onOpenChange: setOpen, children: [
5725
- /* @__PURE__ */ jsx50(PopoverTrigger, { asChild: true, disabled: inputDisabled, children: /* @__PURE__ */ jsxs25(
6152
+ return /* @__PURE__ */ jsx56("div", { className: cn("relative flex gap-2", className), children: /* @__PURE__ */ jsxs29(Popover, { open, onOpenChange: setOpen, children: [
6153
+ /* @__PURE__ */ jsx56(PopoverTrigger, { asChild: true, disabled: inputDisabled, children: /* @__PURE__ */ jsxs29(
5726
6154
  Button,
5727
6155
  {
5728
6156
  type: "button",
@@ -5730,25 +6158,25 @@ function TimeInput({
5730
6158
  className: cn(
5731
6159
  inputVariants({ size }),
5732
6160
  "bg-background cursor-pointer w-full text-left flex items-center justify-between gap-2 font-normal",
5733
- "data-[state=open]:border-blue-500 data-[state=open]:hover:border-blue-500",
6161
+ "data-[state=open]:border-focus-ring data-[state=open]:hover:border-focus-ring",
5734
6162
  inputDisabled && "pointer-events-none cursor-not-allowed opacity-50",
5735
6163
  inputClassName
5736
6164
  ),
5737
6165
  disabled: inputDisabled,
5738
6166
  children: [
5739
6167
  displayValue || resolvedPlaceholder,
5740
- icon !== void 0 ? icon : /* @__PURE__ */ jsx50(Clock, { className: "h-4 w-4 text-muted-foreground shrink-0" })
6168
+ icon !== void 0 ? icon : /* @__PURE__ */ jsx56(Clock, { className: "h-4 w-4 text-muted-foreground shrink-0" })
5741
6169
  ]
5742
6170
  }
5743
6171
  ) }),
5744
- /* @__PURE__ */ jsx50(
6172
+ /* @__PURE__ */ jsx56(
5745
6173
  PopoverContent,
5746
6174
  {
5747
6175
  className: cn("w-auto p-0", popoverContentClassName),
5748
6176
  onOpenAutoFocus: (e) => e.preventDefault(),
5749
6177
  ...popoverContentProps,
5750
- children: /* @__PURE__ */ jsxs25("div", { className: "flex divide-x border border-blue-500 rounded-md", children: [
5751
- /* @__PURE__ */ jsx50("div", { className: "h-56 w-16 overflow-y-auto overscroll-y-contain [-webkit-overflow-scrolling:touch]", children: /* @__PURE__ */ jsx50("div", { ref: hoursRef, className: "flex flex-col p-1 ", children: hoursList.map((h) => /* @__PURE__ */ jsx50(
6178
+ children: /* @__PURE__ */ jsxs29("div", { className: "flex divide-x border border-focus-ring rounded-md", children: [
6179
+ /* @__PURE__ */ jsx56("div", { className: "h-56 w-16 overflow-y-auto overscroll-y-contain [-webkit-overflow-scrolling:touch]", children: /* @__PURE__ */ jsx56("div", { ref: hoursRef, className: "flex flex-col p-1 ", children: hoursList.map((h) => /* @__PURE__ */ jsx56(
5752
6180
  Button,
5753
6181
  {
5754
6182
  variant: "ghost",
@@ -5763,7 +6191,7 @@ function TimeInput({
5763
6191
  },
5764
6192
  h
5765
6193
  )) }) }),
5766
- /* @__PURE__ */ jsx50("div", { className: "h-56 w-16 overflow-y-auto overscroll-y-contain [-webkit-overflow-scrolling:touch]", children: /* @__PURE__ */ jsx50(
6194
+ /* @__PURE__ */ jsx56("div", { className: "h-56 w-16 overflow-y-auto overscroll-y-contain [-webkit-overflow-scrolling:touch]", children: /* @__PURE__ */ jsx56(
5767
6195
  "div",
5768
6196
  {
5769
6197
  ref: minutesRef,
@@ -5771,7 +6199,7 @@ function TimeInput({
5771
6199
  "flex flex-col p-1",
5772
6200
  minutesList.length <= 12 && "h-full justify-center"
5773
6201
  ),
5774
- children: minutesList.map((m) => /* @__PURE__ */ jsx50(
6202
+ children: minutesList.map((m) => /* @__PURE__ */ jsx56(
5775
6203
  Button,
5776
6204
  {
5777
6205
  variant: "ghost",
@@ -5788,7 +6216,7 @@ function TimeInput({
5788
6216
  ))
5789
6217
  }
5790
6218
  ) }),
5791
- !is24HourFormat(timeFormat) && /* @__PURE__ */ jsx50("div", { className: "flex flex-col p-1 justify-center gap-1", children: ["AM", "PM"].map((p) => /* @__PURE__ */ jsx50(
6219
+ !is24HourFormat(timeFormat) && /* @__PURE__ */ jsx56("div", { className: "flex flex-col p-1 justify-center gap-1", children: ["AM", "PM"].map((p) => /* @__PURE__ */ jsx56(
5792
6220
  Button,
5793
6221
  {
5794
6222
  variant: "ghost",
@@ -5812,9 +6240,9 @@ function TimeInput({
5812
6240
  // src/components/ui/toggle.tsx
5813
6241
  import "react";
5814
6242
  import * as TogglePrimitive from "@radix-ui/react-toggle";
5815
- import { cva as cva8 } from "class-variance-authority";
5816
- import { jsx as jsx51 } from "react/jsx-runtime";
5817
- var toggleVariants = cva8(
6243
+ import { cva as cva13 } from "class-variance-authority";
6244
+ import { jsx as jsx57 } from "react/jsx-runtime";
6245
+ var toggleVariants = cva13(
5818
6246
  "inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap",
5819
6247
  {
5820
6248
  variants: {
@@ -5840,7 +6268,7 @@ function Toggle({
5840
6268
  size,
5841
6269
  ...props
5842
6270
  }) {
5843
- return /* @__PURE__ */ jsx51(
6271
+ return /* @__PURE__ */ jsx57(
5844
6272
  TogglePrimitive.Root,
5845
6273
  {
5846
6274
  "data-slot": "toggle",
@@ -5851,11 +6279,11 @@ function Toggle({
5851
6279
  }
5852
6280
 
5853
6281
  // src/components/ui/toggle-group.tsx
5854
- import * as React49 from "react";
6282
+ import * as React54 from "react";
5855
6283
  import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
5856
6284
  import "class-variance-authority";
5857
- import { jsx as jsx52 } from "react/jsx-runtime";
5858
- var ToggleGroupContext = React49.createContext({
6285
+ import { jsx as jsx58 } from "react/jsx-runtime";
6286
+ var ToggleGroupContext = React54.createContext({
5859
6287
  size: "default",
5860
6288
  variant: "default"
5861
6289
  });
@@ -5866,7 +6294,7 @@ function ToggleGroup({
5866
6294
  children,
5867
6295
  ...props
5868
6296
  }) {
5869
- return /* @__PURE__ */ jsx52(
6297
+ return /* @__PURE__ */ jsx58(
5870
6298
  ToggleGroupPrimitive.Root,
5871
6299
  {
5872
6300
  "data-slot": "toggle-group",
@@ -5877,7 +6305,7 @@ function ToggleGroup({
5877
6305
  className
5878
6306
  ),
5879
6307
  ...props,
5880
- children: /* @__PURE__ */ jsx52(ToggleGroupContext.Provider, { value: { variant, size }, children })
6308
+ children: /* @__PURE__ */ jsx58(ToggleGroupContext.Provider, { value: { variant, size }, children })
5881
6309
  }
5882
6310
  );
5883
6311
  }
@@ -5888,8 +6316,8 @@ function ToggleGroupItem({
5888
6316
  size,
5889
6317
  ...props
5890
6318
  }) {
5891
- const context = React49.useContext(ToggleGroupContext);
5892
- return /* @__PURE__ */ jsx52(
6319
+ const context = React54.useContext(ToggleGroupContext);
6320
+ return /* @__PURE__ */ jsx58(
5893
6321
  ToggleGroupPrimitive.Item,
5894
6322
  {
5895
6323
  "data-slot": "toggle-group-item",
@@ -5911,10 +6339,10 @@ function ToggleGroupItem({
5911
6339
 
5912
6340
  // src/components/ui/typography.tsx
5913
6341
  import { Slot as Slot7 } from "@radix-ui/react-slot";
5914
- import { cva as cva9 } from "class-variance-authority";
6342
+ import { cva as cva14 } from "class-variance-authority";
5915
6343
  import "react";
5916
- import { jsx as jsx53 } from "react/jsx-runtime";
5917
- var displayTextVariants = cva9(
6344
+ import { jsx as jsx59 } from "react/jsx-runtime";
6345
+ var displayTextVariants = cva14(
5918
6346
  "tracking-normal font-normal leading-none text-brand-dark font-serif italic",
5919
6347
  {
5920
6348
  variants: {
@@ -5936,7 +6364,7 @@ function DisplayHeading({
5936
6364
  ...props
5937
6365
  }) {
5938
6366
  const Comp = asChild ? Slot7 : "h1";
5939
- return /* @__PURE__ */ jsx53(
6367
+ return /* @__PURE__ */ jsx59(
5940
6368
  Comp,
5941
6369
  {
5942
6370
  "data-slot": "h1",
@@ -5945,7 +6373,7 @@ function DisplayHeading({
5945
6373
  }
5946
6374
  );
5947
6375
  }
5948
- var bodyTextVariants = cva9("font-sans ", {
6376
+ var bodyTextVariants = cva14("font-sans ", {
5949
6377
  variants: {
5950
6378
  size: {
5951
6379
  lg: "text-lg md:text-xl leading-[1.625rem] md:leading-[1.75rem]",
@@ -5965,7 +6393,7 @@ function Body({
5965
6393
  ...props
5966
6394
  }) {
5967
6395
  const Comp = asChild ? Slot7 : "p";
5968
- return /* @__PURE__ */ jsx53(
6396
+ return /* @__PURE__ */ jsx59(
5969
6397
  Comp,
5970
6398
  {
5971
6399
  "data-slot": "h1",
@@ -5980,7 +6408,7 @@ function HeadingXL({
5980
6408
  ...props
5981
6409
  }) {
5982
6410
  const Comp = asChild ? Slot7 : "h1";
5983
- return /* @__PURE__ */ jsx53(
6411
+ return /* @__PURE__ */ jsx59(
5984
6412
  Comp,
5985
6413
  {
5986
6414
  "data-slot": "h1",
@@ -5998,7 +6426,7 @@ function HeadingL({
5998
6426
  ...props
5999
6427
  }) {
6000
6428
  const Comp = asChild ? Slot7 : "h2";
6001
- return /* @__PURE__ */ jsx53(
6429
+ return /* @__PURE__ */ jsx59(
6002
6430
  Comp,
6003
6431
  {
6004
6432
  "data-slot": "h2",
@@ -6016,7 +6444,7 @@ function HeadingM({
6016
6444
  ...props
6017
6445
  }) {
6018
6446
  const Comp = asChild ? Slot7 : "h3";
6019
- return /* @__PURE__ */ jsx53(
6447
+ return /* @__PURE__ */ jsx59(
6020
6448
  Comp,
6021
6449
  {
6022
6450
  "data-slot": "h3",
@@ -6034,7 +6462,7 @@ function HeadingS({
6034
6462
  ...props
6035
6463
  }) {
6036
6464
  const Comp = asChild ? Slot7 : "h4";
6037
- return /* @__PURE__ */ jsx53(
6465
+ return /* @__PURE__ */ jsx59(
6038
6466
  Comp,
6039
6467
  {
6040
6468
  "data-slot": "h4",
@@ -6052,7 +6480,7 @@ function HeadingXS({
6052
6480
  ...props
6053
6481
  }) {
6054
6482
  const Comp = asChild ? Slot7 : "h5";
6055
- return /* @__PURE__ */ jsx53(
6483
+ return /* @__PURE__ */ jsx59(
6056
6484
  Comp,
6057
6485
  {
6058
6486
  "data-slot": "h5",
@@ -6070,7 +6498,7 @@ function HeadingXXS({
6070
6498
  ...props
6071
6499
  }) {
6072
6500
  const Comp = asChild ? Slot7 : "h6";
6073
- return /* @__PURE__ */ jsx53(
6501
+ return /* @__PURE__ */ jsx59(
6074
6502
  Comp,
6075
6503
  {
6076
6504
  "data-slot": "h5",
@@ -6082,12 +6510,16 @@ function HeadingXXS({
6082
6510
  }
6083
6511
  );
6084
6512
  }
6513
+
6514
+ // src/hooks/use-theme.ts
6515
+ import { useTheme as useTheme3 } from "next-themes";
6085
6516
  export {
6086
6517
  Accordion,
6087
6518
  AccordionContent,
6088
6519
  AccordionItem,
6089
6520
  AccordionTrigger,
6090
6521
  Alert,
6522
+ AlertBanner,
6091
6523
  AlertDescription,
6092
6524
  AlertDialog,
6093
6525
  AlertDialogAction,
@@ -6107,6 +6539,11 @@ export {
6107
6539
  AvatarFallback,
6108
6540
  AvatarImage,
6109
6541
  Badge,
6542
+ BadgeActionable,
6543
+ BadgeInformative,
6544
+ BadgeInformativeGroup,
6545
+ BadgeInformativeItem,
6546
+ BadgeNumber,
6110
6547
  Body,
6111
6548
  Breadcrumb,
6112
6549
  BreadcrumbEllipsis,
@@ -6265,6 +6702,7 @@ export {
6265
6702
  ResizableHandle,
6266
6703
  ResizablePanel,
6267
6704
  ResizablePanelGroup,
6705
+ RichTooltipContent,
6268
6706
  ScrollArea,
6269
6707
  ScrollBar,
6270
6708
  SearchableSelect,
@@ -6339,6 +6777,8 @@ export {
6339
6777
  TabsList,
6340
6778
  TabsTrigger,
6341
6779
  Textarea,
6780
+ ThemeProvider,
6781
+ ThemeToggle,
6342
6782
  TimeInput,
6343
6783
  Toaster,
6344
6784
  Toggle,
@@ -6348,6 +6788,10 @@ export {
6348
6788
  TooltipContent,
6349
6789
  TooltipProvider,
6350
6790
  TooltipTrigger,
6791
+ alertBannerVariants,
6792
+ badgeActionableVariants,
6793
+ badgeInformativeVariants,
6794
+ badgeNumberVariants,
6351
6795
  badgeVariants,
6352
6796
  bodyTextVariants,
6353
6797
  buttonVariants,
@@ -6356,9 +6800,11 @@ export {
6356
6800
  inputVariants,
6357
6801
  labelTextVariants,
6358
6802
  navigationMenuTriggerStyle,
6803
+ tabsTriggerVariants,
6359
6804
  toggleVariants,
6360
6805
  useFormField,
6361
6806
  useIsMobile,
6362
- useSidebar
6807
+ useSidebar,
6808
+ useTheme3 as useTheme
6363
6809
  };
6364
6810
  //# sourceMappingURL=index.mjs.map