@kinetixui/ui 0.6.5 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/index.d.ts +11 -1
  2. package/dist/index.js +395 -380
  3. package/package.json +2 -2
  4. package/src/components/accordion.tsx +1 -1
  5. package/src/components/alert-dialog.tsx +2 -2
  6. package/src/components/app-bar.tsx +1 -1
  7. package/src/components/audio-player.tsx +3 -0
  8. package/src/components/badge.tsx +13 -4
  9. package/src/components/button.tsx +2 -2
  10. package/src/components/calendar.tsx +9 -5
  11. package/src/components/checkbox.tsx +1 -1
  12. package/src/components/circular-progress.tsx +1 -1
  13. package/src/components/command.tsx +4 -2
  14. package/src/components/context-menu.tsx +2 -2
  15. package/src/components/dialog.tsx +3 -3
  16. package/src/components/drawer.tsx +2 -2
  17. package/src/components/dropdown-menu.tsx +4 -2
  18. package/src/components/fab.tsx +1 -1
  19. package/src/components/file-upload.tsx +1 -1
  20. package/src/components/hover-card.tsx +1 -1
  21. package/src/components/image.tsx +2 -2
  22. package/src/components/inform.tsx +1 -1
  23. package/src/components/input-group.tsx +2 -2
  24. package/src/components/input-otp.tsx +3 -3
  25. package/src/components/input.tsx +2 -2
  26. package/src/components/label.tsx +1 -1
  27. package/src/components/list.tsx +1 -1
  28. package/src/components/menubar.tsx +2 -2
  29. package/src/components/modal.tsx +2 -2
  30. package/src/components/navigation-menu.tsx +4 -4
  31. package/src/components/number-input.tsx +3 -3
  32. package/src/components/popover.tsx +1 -1
  33. package/src/components/radio-group.tsx +1 -1
  34. package/src/components/resizable.tsx +1 -1
  35. package/src/components/select.tsx +5 -3
  36. package/src/components/sheet.tsx +3 -3
  37. package/src/components/sidebar.tsx +5 -5
  38. package/src/components/slider.tsx +1 -1
  39. package/src/components/switch.tsx +1 -1
  40. package/src/components/tabs.tsx +1 -1
  41. package/src/components/tag.tsx +27 -15
  42. package/src/components/textarea.tsx +2 -2
  43. package/src/components/toggle.tsx +1 -1
  44. package/src/components/tooltip.tsx +1 -1
  45. package/src/components-behavior.test.tsx +37 -0
  46. package/tailwind.config.ts +29 -0
package/dist/index.js CHANGED
@@ -20,7 +20,7 @@ var buttonVariants = cva(
20
20
  "font-sans font-medium whitespace-nowrap select-none",
21
21
  "rounded-md transition-colors outline-none",
22
22
  "focus-visible:shadow-focus",
23
- "disabled:pointer-events-none disabled:opacity-50",
23
+ "disabled:pointer-events-none disabled:opacity-disabled",
24
24
  "[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:size-[18px]"
25
25
  ],
26
26
  {
@@ -59,7 +59,7 @@ var buttonVariants = cva(
59
59
  Hover: "",
60
60
  Focus: "shadow-focus",
61
61
  Active: "",
62
- Disabled: "pointer-events-none opacity-50"
62
+ Disabled: "pointer-events-none opacity-disabled"
63
63
  },
64
64
  /** corner style — matches the design source's Corners property */
65
65
  corners: {
@@ -114,7 +114,7 @@ var inputVariants = cva2(
114
114
  "placeholder:text-muted-foreground",
115
115
  "outline-none transition-colors",
116
116
  "focus-visible:border-primary focus-visible:shadow-focus",
117
- "disabled:cursor-not-allowed disabled:opacity-50",
117
+ "disabled:cursor-not-allowed disabled:opacity-disabled",
118
118
  "aria-[invalid=true]:border-destructive aria-[invalid=true]:focus-visible:border-destructive aria-[invalid=true]:focus-visible:shadow-focus-destructive"
119
119
  ],
120
120
  {
@@ -123,7 +123,7 @@ var inputVariants = cva2(
123
123
  Default: "",
124
124
  Focus: "border-primary shadow-focus",
125
125
  Error: "border-destructive",
126
- Disabled: "opacity-50 pointer-events-none"
126
+ Disabled: "opacity-disabled pointer-events-none"
127
127
  },
128
128
  /** corner style — matches the design source's Corners property */
129
129
  corners: {
@@ -164,7 +164,7 @@ var textareaVariants = cva3(
164
164
  "placeholder:text-muted-foreground",
165
165
  "outline-none transition-colors",
166
166
  "focus-visible:border-primary focus-visible:shadow-focus",
167
- "disabled:cursor-not-allowed disabled:opacity-50",
167
+ "disabled:cursor-not-allowed disabled:opacity-disabled",
168
168
  "aria-[invalid=true]:border-destructive aria-[invalid=true]:focus-visible:border-destructive aria-[invalid=true]:focus-visible:shadow-focus-destructive"
169
169
  ],
170
170
  {
@@ -173,7 +173,7 @@ var textareaVariants = cva3(
173
173
  Default: "",
174
174
  Focus: "border-primary shadow-focus",
175
175
  Error: "border-destructive",
176
- Disabled: "opacity-50 pointer-events-none resize-none"
176
+ Disabled: "opacity-disabled pointer-events-none resize-none"
177
177
  }
178
178
  },
179
179
  defaultVariants: { state: "Default" }
@@ -214,7 +214,7 @@ var AccordionTrigger = React4.forwardRef(({ className, children, ...props }, ref
214
214
  ...props,
215
215
  children: [
216
216
  children,
217
- /* @__PURE__ */ jsx4(ChevronDown, { className: "size-4 shrink-0 text-muted-foreground transition-transform duration-200" })
217
+ /* @__PURE__ */ jsx4(ChevronDown, { className: "size-4 shrink-0 text-muted-foreground transition-transform duration-fast" })
218
218
  ]
219
219
  }
220
220
  ) }));
@@ -270,7 +270,7 @@ var AlertDialogOverlay = React6.forwardRef(({ className, ...props }, ref) => /*
270
270
  {
271
271
  ref,
272
272
  className: cn(
273
- "fixed inset-0 z-50 bg-foreground/40 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
273
+ "fixed inset-0 z-overlay bg-foreground/40 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
274
274
  className
275
275
  ),
276
276
  ...props
@@ -284,7 +284,7 @@ var AlertDialogContent = React6.forwardRef(({ className, ...props }, ref) => /*
284
284
  {
285
285
  ref,
286
286
  className: cn(
287
- "fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border bg-background p-6 shadow-lg sm:rounded-xl font-sans",
287
+ "fixed left-1/2 top-1/2 z-overlay grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border bg-background p-6 shadow-lg sm:rounded-xl font-sans",
288
288
  "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
289
289
  className
290
290
  ),
@@ -381,6 +381,8 @@ var AvatarGroup = React7.forwardRef(
381
381
  AvatarGroup.displayName = "AvatarGroup";
382
382
 
383
383
  // src/components/badge.tsx
384
+ import * as React8 from "react";
385
+ import { Slot as Slot2 } from "@radix-ui/react-slot";
384
386
  import { cva as cva5 } from "class-variance-authority";
385
387
  import { jsx as jsx8 } from "react/jsx-runtime";
386
388
  var badgeVariants = cva5(
@@ -398,20 +400,24 @@ var badgeVariants = cva5(
398
400
  defaultVariants: { variant: "default" }
399
401
  }
400
402
  );
401
- function Badge({ className, variant, ...props }) {
402
- return /* @__PURE__ */ jsx8("div", { className: cn(badgeVariants({ variant }), className), ...props });
403
- }
403
+ var Badge = React8.forwardRef(
404
+ ({ className, variant, asChild = false, ...props }, ref) => {
405
+ const Comp = asChild ? Slot2 : "div";
406
+ return /* @__PURE__ */ jsx8(Comp, { ref, className: cn(badgeVariants({ variant }), className), ...props });
407
+ }
408
+ );
409
+ Badge.displayName = "Badge";
404
410
 
405
411
  // src/components/breadcrumb.tsx
406
- import * as React8 from "react";
407
- import { Slot as Slot2 } from "@radix-ui/react-slot";
412
+ import * as React9 from "react";
413
+ import { Slot as Slot3 } from "@radix-ui/react-slot";
408
414
  import { ChevronRight, MoreHorizontal } from "lucide-react";
409
415
  import { jsx as jsx9, jsxs as jsxs4 } from "react/jsx-runtime";
410
- var Breadcrumb = React8.forwardRef(
416
+ var Breadcrumb = React9.forwardRef(
411
417
  ({ ...props }, ref) => /* @__PURE__ */ jsx9("nav", { ref, "aria-label": "breadcrumb", className: "font-sans", ...props })
412
418
  );
413
419
  Breadcrumb.displayName = "Breadcrumb";
414
- var BreadcrumbList = React8.forwardRef(
420
+ var BreadcrumbList = React9.forwardRef(
415
421
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
416
422
  "ol",
417
423
  {
@@ -422,16 +428,16 @@ var BreadcrumbList = React8.forwardRef(
422
428
  )
423
429
  );
424
430
  BreadcrumbList.displayName = "BreadcrumbList";
425
- var BreadcrumbItem = React8.forwardRef(
431
+ var BreadcrumbItem = React9.forwardRef(
426
432
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx9("li", { ref, className: cn("inline-flex items-center gap-1.5", className), ...props })
427
433
  );
428
434
  BreadcrumbItem.displayName = "BreadcrumbItem";
429
- var BreadcrumbLink = React8.forwardRef(({ asChild, className, ...props }, ref) => {
430
- const Comp = asChild ? Slot2 : "a";
435
+ var BreadcrumbLink = React9.forwardRef(({ asChild, className, ...props }, ref) => {
436
+ const Comp = asChild ? Slot3 : "a";
431
437
  return /* @__PURE__ */ jsx9(Comp, { ref, className: cn("transition-colors hover:text-foreground", className), ...props });
432
438
  });
433
439
  BreadcrumbLink.displayName = "BreadcrumbLink";
434
- var BreadcrumbPage = React8.forwardRef(
440
+ var BreadcrumbPage = React9.forwardRef(
435
441
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
436
442
  "span",
437
443
  {
@@ -454,9 +460,9 @@ var BreadcrumbEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsxs4("spa
454
460
  BreadcrumbEllipsis.displayName = "BreadcrumbEllipsis";
455
461
 
456
462
  // src/components/card.tsx
457
- import * as React9 from "react";
463
+ import * as React10 from "react";
458
464
  import { jsx as jsx10 } from "react/jsx-runtime";
459
- var Card = React9.forwardRef(
465
+ var Card = React10.forwardRef(
460
466
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
461
467
  "div",
462
468
  {
@@ -467,40 +473,40 @@ var Card = React9.forwardRef(
467
473
  )
468
474
  );
469
475
  Card.displayName = "Card";
470
- var CardHeader = React9.forwardRef(
476
+ var CardHeader = React10.forwardRef(
471
477
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx10("div", { ref, className: cn("flex flex-col space-y-1.5 p-6", className), ...props })
472
478
  );
473
479
  CardHeader.displayName = "CardHeader";
474
- var CardTitle = React9.forwardRef(
480
+ var CardTitle = React10.forwardRef(
475
481
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx10("div", { ref, className: cn("font-semibold leading-none tracking-tight", className), ...props })
476
482
  );
477
483
  CardTitle.displayName = "CardTitle";
478
- var CardDescription = React9.forwardRef(
484
+ var CardDescription = React10.forwardRef(
479
485
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx10("div", { ref, className: cn("text-sm text-muted-foreground", className), ...props })
480
486
  );
481
487
  CardDescription.displayName = "CardDescription";
482
- var CardContent = React9.forwardRef(
488
+ var CardContent = React10.forwardRef(
483
489
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx10("div", { ref, className: cn("p-6 pt-0", className), ...props })
484
490
  );
485
491
  CardContent.displayName = "CardContent";
486
- var CardFooter = React9.forwardRef(
492
+ var CardFooter = React10.forwardRef(
487
493
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx10("div", { ref, className: cn("flex items-center p-6 pt-0", className), ...props })
488
494
  );
489
495
  CardFooter.displayName = "CardFooter";
490
496
 
491
497
  // src/components/checkbox.tsx
492
- import * as React10 from "react";
498
+ import * as React11 from "react";
493
499
  import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
494
500
  import { Check, Minus } from "lucide-react";
495
501
  import { jsx as jsx11 } from "react/jsx-runtime";
496
- var Checkbox = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
502
+ var Checkbox = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
497
503
  CheckboxPrimitive.Root,
498
504
  {
499
505
  ref,
500
506
  className: cn(
501
507
  "peer size-[18px] shrink-0 rounded-sm border-2 border-input outline-none transition-colors",
502
508
  "focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background",
503
- "disabled:cursor-not-allowed disabled:opacity-50",
509
+ "disabled:cursor-not-allowed disabled:opacity-disabled",
504
510
  "data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",
505
511
  "data-[state=indeterminate]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground",
506
512
  "aria-invalid:border-destructive aria-invalid:data-[state=checked]:border-destructive aria-invalid:data-[state=checked]:bg-destructive",
@@ -519,7 +525,7 @@ var CollapsibleTrigger2 = CollapsiblePrimitive.CollapsibleTrigger;
519
525
  var CollapsibleContent2 = CollapsiblePrimitive.CollapsibleContent;
520
526
 
521
527
  // src/components/dialog.tsx
522
- import * as React11 from "react";
528
+ import * as React12 from "react";
523
529
  import * as DialogPrimitive from "@radix-ui/react-dialog";
524
530
  import { X } from "lucide-react";
525
531
  import { jsx as jsx12, jsxs as jsxs5 } from "react/jsx-runtime";
@@ -527,33 +533,33 @@ var Dialog = DialogPrimitive.Root;
527
533
  var DialogTrigger = DialogPrimitive.Trigger;
528
534
  var DialogPortal = DialogPrimitive.Portal;
529
535
  var DialogClose = DialogPrimitive.Close;
530
- var DialogOverlay = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
536
+ var DialogOverlay = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
531
537
  DialogPrimitive.Overlay,
532
538
  {
533
539
  ref,
534
540
  className: cn(
535
- "fixed inset-0 z-50 bg-foreground/40 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
541
+ "fixed inset-0 z-overlay bg-foreground/40 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
536
542
  className
537
543
  ),
538
544
  ...props
539
545
  }
540
546
  ));
541
547
  DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
542
- var DialogContent = React11.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs5(DialogPortal, { children: [
548
+ var DialogContent = React12.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs5(DialogPortal, { children: [
543
549
  /* @__PURE__ */ jsx12(DialogOverlay, {}),
544
550
  /* @__PURE__ */ jsxs5(
545
551
  DialogPrimitive.Content,
546
552
  {
547
553
  ref,
548
554
  className: cn(
549
- "fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border bg-background p-6 shadow-lg sm:rounded-xl font-sans",
555
+ "fixed left-1/2 top-1/2 z-overlay grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border bg-background p-6 shadow-lg sm:rounded-xl font-sans",
550
556
  "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
551
557
  className
552
558
  ),
553
559
  ...props,
554
560
  children: [
555
561
  children,
556
- /* @__PURE__ */ jsxs5(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring disabled:pointer-events-none", children: [
562
+ /* @__PURE__ */ jsxs5(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-muted transition-opacity hover:opacity-visible focus:outline-none focus:ring-2 focus:ring-ring disabled:pointer-events-none", children: [
557
563
  /* @__PURE__ */ jsx12(X, { className: "size-4" }),
558
564
  /* @__PURE__ */ jsx12("span", { className: "sr-only", children: "Close" })
559
565
  ] })
@@ -572,7 +578,7 @@ var DialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx12(
572
578
  }
573
579
  );
574
580
  DialogFooter.displayName = "DialogFooter";
575
- var DialogTitle = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
581
+ var DialogTitle = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
576
582
  DialogPrimitive.Title,
577
583
  {
578
584
  ref,
@@ -581,7 +587,7 @@ var DialogTitle = React11.forwardRef(({ className, ...props }, ref) => /* @__PUR
581
587
  }
582
588
  ));
583
589
  DialogTitle.displayName = DialogPrimitive.Title.displayName;
584
- var DialogDescription = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
590
+ var DialogDescription = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
585
591
  DialogPrimitive.Description,
586
592
  {
587
593
  ref,
@@ -592,7 +598,7 @@ var DialogDescription = React11.forwardRef(({ className, ...props }, ref) => /*
592
598
  DialogDescription.displayName = DialogPrimitive.Description.displayName;
593
599
 
594
600
  // src/components/dropdown-menu.tsx
595
- import * as React12 from "react";
601
+ import * as React13 from "react";
596
602
  import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
597
603
  import { Check as Check2, ChevronRight as ChevronRight2, Circle } from "lucide-react";
598
604
  import { jsx as jsx13, jsxs as jsxs6 } from "react/jsx-runtime";
@@ -602,23 +608,23 @@ var DropdownMenuGroup = DropdownMenuPrimitive.Group;
602
608
  var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
603
609
  var DropdownMenuSub = DropdownMenuPrimitive.Sub;
604
610
  var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
605
- var contentCls = "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md font-sans data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95";
606
- var itemCls = "relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground focus:ring-1 focus:ring-inset focus:ring-ring data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
607
- var DropdownMenuContent = React12.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx13(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx13(DropdownMenuPrimitive.Content, { ref, sideOffset, className: cn(contentCls, className), ...props }) }));
611
+ var contentCls = "z-overlay min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md font-sans data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95";
612
+ var itemCls = "relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground focus:ring-1 focus:ring-inset focus:ring-ring data-[disabled]:pointer-events-none data-[disabled]:opacity-disabled";
613
+ var DropdownMenuContent = React13.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx13(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx13(DropdownMenuPrimitive.Content, { ref, sideOffset, className: cn(contentCls, className), ...props }) }));
608
614
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
609
- var DropdownMenuItem = React12.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx13(DropdownMenuPrimitive.Item, { ref, className: cn(itemCls, inset && "pl-8", className), ...props }));
615
+ var DropdownMenuItem = React13.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx13(DropdownMenuPrimitive.Item, { ref, className: cn(itemCls, inset && "pl-8", className), ...props }));
610
616
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
611
- var DropdownMenuCheckboxItem = React12.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs6(DropdownMenuPrimitive.CheckboxItem, { ref, className: cn(itemCls, "pl-8", className), checked, ...props, children: [
617
+ var DropdownMenuCheckboxItem = React13.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs6(DropdownMenuPrimitive.CheckboxItem, { ref, className: cn(itemCls, "pl-8", className), checked, ...props, children: [
612
618
  /* @__PURE__ */ jsx13("span", { className: "absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx13(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx13(Check2, { className: "size-4" }) }) }),
613
619
  children
614
620
  ] }));
615
621
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
616
- var DropdownMenuRadioItem = React12.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs6(DropdownMenuPrimitive.RadioItem, { ref, className: cn(itemCls, "pl-8", className), ...props, children: [
622
+ var DropdownMenuRadioItem = React13.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs6(DropdownMenuPrimitive.RadioItem, { ref, className: cn(itemCls, "pl-8", className), ...props, children: [
617
623
  /* @__PURE__ */ jsx13("span", { className: "absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx13(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx13(Circle, { className: "size-2 fill-current" }) }) }),
618
624
  children
619
625
  ] }));
620
626
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
621
- var DropdownMenuLabel = React12.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx13(
627
+ var DropdownMenuLabel = React13.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx13(
622
628
  DropdownMenuPrimitive.Label,
623
629
  {
624
630
  ref,
@@ -627,11 +633,11 @@ var DropdownMenuLabel = React12.forwardRef(({ className, inset, ...props }, ref)
627
633
  }
628
634
  ));
629
635
  DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
630
- var DropdownMenuSeparator = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(DropdownMenuPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
636
+ var DropdownMenuSeparator = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(DropdownMenuPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
631
637
  DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
632
638
  var DropdownMenuShortcut = ({ className, ...props }) => /* @__PURE__ */ jsx13("span", { className: cn("ml-auto text-xs tracking-widest opacity-60", className), ...props });
633
639
  DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
634
- var DropdownMenuSubTrigger = React12.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs6(
640
+ var DropdownMenuSubTrigger = React13.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs6(
635
641
  DropdownMenuPrimitive.SubTrigger,
636
642
  {
637
643
  ref,
@@ -644,23 +650,23 @@ var DropdownMenuSubTrigger = React12.forwardRef(({ className, inset, children, .
644
650
  }
645
651
  ));
646
652
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
647
- var DropdownMenuSubContent = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(DropdownMenuPrimitive.SubContent, { ref, className: cn(contentCls, className), ...props }));
653
+ var DropdownMenuSubContent = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(DropdownMenuPrimitive.SubContent, { ref, className: cn(contentCls, className), ...props }));
648
654
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
649
655
 
650
656
  // src/components/hover-card.tsx
651
- import * as React13 from "react";
657
+ import * as React14 from "react";
652
658
  import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
653
659
  import { jsx as jsx14 } from "react/jsx-runtime";
654
660
  var HoverCard = HoverCardPrimitive.Root;
655
661
  var HoverCardTrigger = HoverCardPrimitive.Trigger;
656
- var HoverCardContent = React13.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx14(
662
+ var HoverCardContent = React14.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx14(
657
663
  HoverCardPrimitive.Content,
658
664
  {
659
665
  ref,
660
666
  align,
661
667
  sideOffset,
662
668
  className: cn(
663
- "z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none font-sans",
669
+ "z-overlay w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none font-sans",
664
670
  "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
665
671
  className
666
672
  ),
@@ -670,18 +676,18 @@ var HoverCardContent = React13.forwardRef(({ className, align = "center", sideOf
670
676
  HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
671
677
 
672
678
  // src/components/label.tsx
673
- import * as React14 from "react";
679
+ import * as React15 from "react";
674
680
  import * as LabelPrimitive from "@radix-ui/react-label";
675
681
  import { cva as cva6 } from "class-variance-authority";
676
682
  import { jsx as jsx15 } from "react/jsx-runtime";
677
683
  var labelVariants = cva6(
678
- "text-sm font-medium leading-none font-sans peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
684
+ "text-sm font-medium leading-none font-sans peer-disabled:cursor-not-allowed peer-disabled:opacity-muted"
679
685
  );
680
- var Label2 = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15(LabelPrimitive.Root, { ref, className: cn(labelVariants(), className), ...props }));
686
+ var Label2 = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15(LabelPrimitive.Root, { ref, className: cn(labelVariants(), className), ...props }));
681
687
  Label2.displayName = LabelPrimitive.Root.displayName;
682
688
 
683
689
  // src/components/pagination.tsx
684
- import * as React15 from "react";
690
+ import * as React16 from "react";
685
691
  import { ChevronLeft, ChevronRight as ChevronRight3, MoreHorizontal as MoreHorizontal2 } from "lucide-react";
686
692
  import { jsx as jsx16, jsxs as jsxs7 } from "react/jsx-runtime";
687
693
  var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx16(
@@ -694,11 +700,11 @@ var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx16(
694
700
  }
695
701
  );
696
702
  Pagination.displayName = "Pagination";
697
- var PaginationContent = React15.forwardRef(
703
+ var PaginationContent = React16.forwardRef(
698
704
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx16("ul", { ref, className: cn("flex flex-row items-center gap-1", className), ...props })
699
705
  );
700
706
  PaginationContent.displayName = "PaginationContent";
701
- var PaginationItem = React15.forwardRef(
707
+ var PaginationItem = React16.forwardRef(
702
708
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx16("li", { ref, className: cn("", className), ...props })
703
709
  );
704
710
  PaginationItem.displayName = "PaginationItem";
@@ -732,20 +738,20 @@ var PaginationEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsxs7("spa
732
738
  PaginationEllipsis.displayName = "PaginationEllipsis";
733
739
 
734
740
  // src/components/popover.tsx
735
- import * as React16 from "react";
741
+ import * as React17 from "react";
736
742
  import * as PopoverPrimitive from "@radix-ui/react-popover";
737
743
  import { jsx as jsx17 } from "react/jsx-runtime";
738
744
  var Popover = PopoverPrimitive.Root;
739
745
  var PopoverTrigger = PopoverPrimitive.Trigger;
740
746
  var PopoverAnchor = PopoverPrimitive.Anchor;
741
- var PopoverContent = React16.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx17(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx17(
747
+ var PopoverContent = React17.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx17(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx17(
742
748
  PopoverPrimitive.Content,
743
749
  {
744
750
  ref,
745
751
  align,
746
752
  sideOffset,
747
753
  className: cn(
748
- "z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none font-sans",
754
+ "z-overlay w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none font-sans",
749
755
  "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
750
756
  "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",
751
757
  className
@@ -756,10 +762,10 @@ var PopoverContent = React16.forwardRef(({ className, align = "center", sideOffs
756
762
  PopoverContent.displayName = PopoverPrimitive.Content.displayName;
757
763
 
758
764
  // src/components/progress.tsx
759
- import * as React17 from "react";
765
+ import * as React18 from "react";
760
766
  import * as ProgressPrimitive from "@radix-ui/react-progress";
761
767
  import { jsx as jsx18 } from "react/jsx-runtime";
762
- var Progress = React17.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsx18(
768
+ var Progress = React18.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsx18(
763
769
  ProgressPrimitive.Root,
764
770
  {
765
771
  ref,
@@ -777,20 +783,20 @@ var Progress = React17.forwardRef(({ className, value, ...props }, ref) => /* @_
777
783
  Progress.displayName = ProgressPrimitive.Root.displayName;
778
784
 
779
785
  // src/components/radio-group.tsx
780
- import * as React18 from "react";
786
+ import * as React19 from "react";
781
787
  import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
782
788
  import { Circle as Circle2 } from "lucide-react";
783
789
  import { jsx as jsx19 } from "react/jsx-runtime";
784
- var RadioGroup2 = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(RadioGroupPrimitive.Root, { ref, className: cn("grid gap-3", className), ...props }));
790
+ var RadioGroup2 = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(RadioGroupPrimitive.Root, { ref, className: cn("grid gap-3", className), ...props }));
785
791
  RadioGroup2.displayName = RadioGroupPrimitive.Root.displayName;
786
- var RadioGroupItem = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
792
+ var RadioGroupItem = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
787
793
  RadioGroupPrimitive.Item,
788
794
  {
789
795
  ref,
790
796
  className: cn(
791
797
  "aspect-square size-[18px] rounded-full border-2 border-input text-primary outline-none transition-colors",
792
798
  "focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background",
793
- "disabled:cursor-not-allowed disabled:opacity-50",
799
+ "disabled:cursor-not-allowed disabled:opacity-disabled",
794
800
  "data-[state=checked]:border-primary",
795
801
  "aria-invalid:border-destructive",
796
802
  className
@@ -802,16 +808,16 @@ var RadioGroupItem = React18.forwardRef(({ className, ...props }, ref) => /* @__
802
808
  RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
803
809
 
804
810
  // src/components/scroll-area.tsx
805
- import * as React19 from "react";
811
+ import * as React20 from "react";
806
812
  import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
807
813
  import { jsx as jsx20, jsxs as jsxs8 } from "react/jsx-runtime";
808
- var ScrollArea = React19.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs8(ScrollAreaPrimitive.Root, { ref, className: cn("relative overflow-hidden", className), ...props, children: [
814
+ var ScrollArea = React20.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs8(ScrollAreaPrimitive.Root, { ref, className: cn("relative overflow-hidden", className), ...props, children: [
809
815
  /* @__PURE__ */ jsx20(ScrollAreaPrimitive.Viewport, { className: "size-full rounded-[inherit]", children }),
810
816
  /* @__PURE__ */ jsx20(ScrollBar, {}),
811
817
  /* @__PURE__ */ jsx20(ScrollAreaPrimitive.Corner, {})
812
818
  ] }));
813
819
  ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
814
- var ScrollBar = React19.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx20(
820
+ var ScrollBar = React20.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx20(
815
821
  ScrollAreaPrimitive.ScrollAreaScrollbar,
816
822
  {
817
823
  ref,
@@ -829,14 +835,14 @@ var ScrollBar = React19.forwardRef(({ className, orientation = "vertical", ...pr
829
835
  ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
830
836
 
831
837
  // src/components/select.tsx
832
- import * as React20 from "react";
838
+ import * as React21 from "react";
833
839
  import * as SelectPrimitive from "@radix-ui/react-select";
834
840
  import { Check as Check3, ChevronDown as ChevronDown2, ChevronUp } from "lucide-react";
835
841
  import { jsx as jsx21, jsxs as jsxs9 } from "react/jsx-runtime";
836
842
  var Select = SelectPrimitive.Root;
837
843
  var SelectGroup = SelectPrimitive.Group;
838
844
  var SelectValue = SelectPrimitive.Value;
839
- var SelectTrigger = React20.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs9(
845
+ var SelectTrigger = React21.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs9(
840
846
  SelectPrimitive.Trigger,
841
847
  {
842
848
  ref,
@@ -848,7 +854,7 @@ var SelectTrigger = React20.forwardRef(({ className, children, ...props }, ref)
848
854
  "focus:border-primary focus:shadow-focus",
849
855
  "data-[state=open]:border-primary",
850
856
  "aria-[invalid=true]:border-destructive aria-[invalid=true]:focus:border-destructive aria-[invalid=true]:focus:shadow-focus-destructive",
851
- "disabled:cursor-not-allowed disabled:opacity-50",
857
+ "disabled:cursor-not-allowed disabled:opacity-disabled",
852
858
  className
853
859
  ),
854
860
  ...props,
@@ -859,13 +865,13 @@ var SelectTrigger = React20.forwardRef(({ className, children, ...props }, ref)
859
865
  }
860
866
  ));
861
867
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
862
- var SelectContent = React20.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx21(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs9(
868
+ var SelectContent = React21.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx21(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs9(
863
869
  SelectPrimitive.Content,
864
870
  {
865
871
  ref,
866
872
  position,
867
873
  className: cn(
868
- "relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md font-sans",
874
+ "relative z-overlay max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md font-sans",
869
875
  "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
870
876
  position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1",
871
877
  className
@@ -885,15 +891,15 @@ var SelectContent = React20.forwardRef(({ className, children, position = "poppe
885
891
  }
886
892
  ) }));
887
893
  SelectContent.displayName = SelectPrimitive.Content.displayName;
888
- var SelectLabel = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(SelectPrimitive.Label, { ref, className: cn("px-2 py-1.5 text-sm font-semibold", className), ...props }));
894
+ var SelectLabel = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(SelectPrimitive.Label, { ref, className: cn("px-2 py-1.5 text-sm font-semibold", className), ...props }));
889
895
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
890
- var SelectItem = React20.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs9(
896
+ var SelectItem = React21.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs9(
891
897
  SelectPrimitive.Item,
892
898
  {
893
899
  ref,
894
900
  className: cn(
895
901
  "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none",
896
- "focus:bg-accent focus:text-accent-foreground focus:ring-1 focus:ring-inset focus:ring-ring data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
902
+ "focus:bg-accent focus:text-accent-foreground focus:ring-1 focus:ring-inset focus:ring-ring data-[disabled]:pointer-events-none data-[disabled]:opacity-disabled",
897
903
  className
898
904
  ),
899
905
  ...props,
@@ -904,14 +910,14 @@ var SelectItem = React20.forwardRef(({ className, children, ...props }, ref) =>
904
910
  }
905
911
  ));
906
912
  SelectItem.displayName = SelectPrimitive.Item.displayName;
907
- var SelectSeparator = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(SelectPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
913
+ var SelectSeparator = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(SelectPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
908
914
  SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
909
915
 
910
916
  // src/components/separator.tsx
911
- import * as React21 from "react";
917
+ import * as React22 from "react";
912
918
  import * as SeparatorPrimitive from "@radix-ui/react-separator";
913
919
  import { jsx as jsx22 } from "react/jsx-runtime";
914
- var Separator3 = React21.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx22(
920
+ var Separator3 = React22.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx22(
915
921
  SeparatorPrimitive.Root,
916
922
  {
917
923
  ref,
@@ -928,7 +934,7 @@ var Separator3 = React21.forwardRef(({ className, orientation = "horizontal", de
928
934
  Separator3.displayName = SeparatorPrimitive.Root.displayName;
929
935
 
930
936
  // src/components/sheet.tsx
931
- import * as React22 from "react";
937
+ import * as React23 from "react";
932
938
  import * as SheetPrimitive from "@radix-ui/react-dialog";
933
939
  import { cva as cva7 } from "class-variance-authority";
934
940
  import { X as X2 } from "lucide-react";
@@ -937,12 +943,12 @@ var Sheet = SheetPrimitive.Root;
937
943
  var SheetTrigger = SheetPrimitive.Trigger;
938
944
  var SheetClose = SheetPrimitive.Close;
939
945
  var SheetPortal = SheetPrimitive.Portal;
940
- var SheetOverlay = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
946
+ var SheetOverlay = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
941
947
  SheetPrimitive.Overlay,
942
948
  {
943
949
  ref,
944
950
  className: cn(
945
- "fixed inset-0 z-50 bg-foreground/40 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
951
+ "fixed inset-0 z-overlay bg-foreground/40 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
946
952
  className
947
953
  ),
948
954
  ...props
@@ -950,7 +956,7 @@ var SheetOverlay = React22.forwardRef(({ className, ...props }, ref) => /* @__PU
950
956
  ));
951
957
  SheetOverlay.displayName = SheetPrimitive.Overlay.displayName;
952
958
  var sheetVariants = cva7(
953
- "fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500 font-sans",
959
+ "fixed z-overlay gap-4 bg-background p-6 shadow-lg transition ease-standard data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-base data-[state=open]:duration-slow font-sans",
954
960
  {
955
961
  variants: {
956
962
  side: {
@@ -963,11 +969,11 @@ var sheetVariants = cva7(
963
969
  defaultVariants: { side: "right" }
964
970
  }
965
971
  );
966
- var SheetContent = React22.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs10(SheetPortal, { children: [
972
+ var SheetContent = React23.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs10(SheetPortal, { children: [
967
973
  /* @__PURE__ */ jsx23(SheetOverlay, {}),
968
974
  /* @__PURE__ */ jsxs10(SheetPrimitive.Content, { ref, className: cn(sheetVariants({ side }), className), ...props, children: [
969
975
  children,
970
- /* @__PURE__ */ jsxs10(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring", children: [
976
+ /* @__PURE__ */ jsxs10(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-muted transition-opacity hover:opacity-visible focus:outline-none focus:ring-2 focus:ring-ring", children: [
971
977
  /* @__PURE__ */ jsx23(X2, { className: "size-4" }),
972
978
  /* @__PURE__ */ jsx23("span", { className: "sr-only", children: "Close" })
973
979
  ] })
@@ -978,9 +984,9 @@ var SheetHeader = ({ className, ...props }) => /* @__PURE__ */ jsx23("div", { cl
978
984
  SheetHeader.displayName = "SheetHeader";
979
985
  var SheetFooter = ({ className, ...props }) => /* @__PURE__ */ jsx23("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
980
986
  SheetFooter.displayName = "SheetFooter";
981
- var SheetTitle = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(SheetPrimitive.Title, { ref, className: cn("text-lg font-semibold text-foreground", className), ...props }));
987
+ var SheetTitle = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(SheetPrimitive.Title, { ref, className: cn("text-lg font-semibold text-foreground", className), ...props }));
982
988
  SheetTitle.displayName = SheetPrimitive.Title.displayName;
983
- var SheetDescription = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(SheetPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
989
+ var SheetDescription = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(SheetPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
984
990
  SheetDescription.displayName = SheetPrimitive.Description.displayName;
985
991
 
986
992
  // src/components/modal.tsx
@@ -1017,7 +1023,7 @@ function Modal({
1017
1023
  DialogPrimitive2.Content,
1018
1024
  {
1019
1025
  className: cn(
1020
- "fixed left-1/2 top-1/2 z-50 flex w-full max-w-[480px] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl bg-background font-sans",
1026
+ "fixed left-1/2 top-1/2 z-overlay flex w-full max-w-[480px] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl bg-background font-sans",
1021
1027
  "shadow-[0_4px_24px_rgba(0,0,0,0.12)]",
1022
1028
  "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
1023
1029
  className
@@ -1028,7 +1034,7 @@ function Modal({
1028
1034
  /* @__PURE__ */ jsx24(
1029
1035
  DialogPrimitive2.Close,
1030
1036
  {
1031
- className: "rounded-sm opacity-70 outline-none transition-opacity hover:opacity-100 focus-visible:ring-2 focus-visible:ring-ring",
1037
+ className: "rounded-sm opacity-muted outline-none transition-opacity hover:opacity-visible focus-visible:ring-2 focus-visible:ring-ring",
1032
1038
  "aria-label": "Close",
1033
1039
  children: /* @__PURE__ */ jsx24(X3, { className: "size-5" })
1034
1040
  }
@@ -1066,10 +1072,10 @@ function Skeleton({ className, ...props }) {
1066
1072
  }
1067
1073
 
1068
1074
  // src/components/slider.tsx
1069
- import * as React23 from "react";
1075
+ import * as React24 from "react";
1070
1076
  import * as SliderPrimitive from "@radix-ui/react-slider";
1071
1077
  import { jsx as jsx26, jsxs as jsxs12 } from "react/jsx-runtime";
1072
- var Slider = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs12(
1078
+ var Slider = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs12(
1073
1079
  SliderPrimitive.Root,
1074
1080
  {
1075
1081
  ref,
@@ -1077,7 +1083,7 @@ var Slider = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
1077
1083
  ...props,
1078
1084
  children: [
1079
1085
  /* @__PURE__ */ jsx26(SliderPrimitive.Track, { className: "relative h-1.5 w-full grow overflow-hidden rounded-full bg-muted", children: /* @__PURE__ */ jsx26(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
1080
- /* @__PURE__ */ jsx26(SliderPrimitive.Thumb, { className: "block size-4 rounded-full border border-primary/50 bg-background shadow transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50" })
1086
+ /* @__PURE__ */ jsx26(SliderPrimitive.Thumb, { className: "block size-4 rounded-full border border-primary/50 bg-background shadow transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-disabled" })
1081
1087
  ]
1082
1088
  }
1083
1089
  ));
@@ -1106,17 +1112,17 @@ function Toaster({ theme = "system", ...props }) {
1106
1112
  }
1107
1113
 
1108
1114
  // src/components/switch.tsx
1109
- import * as React24 from "react";
1115
+ import * as React25 from "react";
1110
1116
  import * as SwitchPrimitive from "@radix-ui/react-switch";
1111
1117
  import { jsx as jsx28 } from "react/jsx-runtime";
1112
- var Switch = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
1118
+ var Switch = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
1113
1119
  SwitchPrimitive.Root,
1114
1120
  {
1115
1121
  ref,
1116
1122
  className: cn(
1117
1123
  "peer inline-flex h-6 w-12 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors",
1118
1124
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background",
1119
- "disabled:cursor-not-allowed disabled:opacity-50",
1125
+ "disabled:cursor-not-allowed disabled:opacity-disabled",
1120
1126
  "data-[state=checked]:bg-primary data-[state=unchecked]:bg-tertiary",
1121
1127
  className
1122
1128
  ),
@@ -1135,7 +1141,8 @@ var Switch = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
1135
1141
  Switch.displayName = SwitchPrimitive.Root.displayName;
1136
1142
 
1137
1143
  // src/components/tag.tsx
1138
- import * as React25 from "react";
1144
+ import * as React26 from "react";
1145
+ import { Slot as Slot4, Slottable } from "@radix-ui/react-slot";
1139
1146
  import { cva as cva8 } from "class-variance-authority";
1140
1147
  import { X as X4 } from "lucide-react";
1141
1148
  import { jsx as jsx29, jsxs as jsxs13 } from "react/jsx-runtime";
@@ -1154,43 +1161,47 @@ var tagVariants = cva8(
1154
1161
  defaultVariants: { variant: "default" }
1155
1162
  }
1156
1163
  );
1157
- var Tag = React25.forwardRef(
1158
- ({ className, variant, onRemove, children, ...props }, ref) => /* @__PURE__ */ jsxs13("span", { ref, className: cn(tagVariants({ variant }), className), ...props, children: [
1159
- children,
1160
- onRemove && /* @__PURE__ */ jsx29(
1164
+ var Tag = React26.forwardRef(
1165
+ ({ className, variant, onRemove, children, asChild = false, ...props }, ref) => {
1166
+ const Comp = asChild ? Slot4 : "span";
1167
+ const removeButton = onRemove && /* @__PURE__ */ jsx29(
1161
1168
  "button",
1162
1169
  {
1163
1170
  type: "button",
1164
1171
  onClick: onRemove,
1165
1172
  "aria-label": "Remove",
1166
- className: "-mr-0.5 ml-0.5 rounded-[2px] opacity-70 outline-none transition-opacity hover:opacity-100 focus-visible:ring-1 focus-visible:ring-current",
1173
+ className: "-mr-0.5 ml-0.5 rounded-[2px] opacity-muted outline-none transition-opacity hover:opacity-visible focus-visible:ring-1 focus-visible:ring-current",
1167
1174
  children: /* @__PURE__ */ jsx29(X4, { className: "size-3.5" })
1168
1175
  }
1169
- )
1170
- ] })
1176
+ );
1177
+ return /* @__PURE__ */ jsxs13(Comp, { ref, className: cn(tagVariants({ variant }), className), ...props, children: [
1178
+ asChild ? /* @__PURE__ */ jsx29(Slottable, { children }) : children,
1179
+ removeButton
1180
+ ] });
1181
+ }
1171
1182
  );
1172
1183
  Tag.displayName = "Tag";
1173
1184
 
1174
1185
  // src/components/table.tsx
1175
- import * as React26 from "react";
1186
+ import * as React27 from "react";
1176
1187
  import { jsx as jsx30 } from "react/jsx-runtime";
1177
- var Table = React26.forwardRef(
1188
+ var Table = React27.forwardRef(
1178
1189
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx30("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx30("table", { ref, className: cn("w-full caption-bottom text-sm font-sans", className), ...props }) })
1179
1190
  );
1180
1191
  Table.displayName = "Table";
1181
- var TableHeader = React26.forwardRef(
1192
+ var TableHeader = React27.forwardRef(
1182
1193
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx30("thead", { ref, className: cn("[&_tr]:border-b", className), ...props })
1183
1194
  );
1184
1195
  TableHeader.displayName = "TableHeader";
1185
- var TableBody = React26.forwardRef(
1196
+ var TableBody = React27.forwardRef(
1186
1197
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx30("tbody", { ref, className: cn("[&_tr:last-child]:border-0", className), ...props })
1187
1198
  );
1188
1199
  TableBody.displayName = "TableBody";
1189
- var TableFooter = React26.forwardRef(
1200
+ var TableFooter = React27.forwardRef(
1190
1201
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx30("tfoot", { ref, className: cn("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0", className), ...props })
1191
1202
  );
1192
1203
  TableFooter.displayName = "TableFooter";
1193
- var TableRow = React26.forwardRef(
1204
+ var TableRow = React27.forwardRef(
1194
1205
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
1195
1206
  "tr",
1196
1207
  {
@@ -1201,7 +1212,7 @@ var TableRow = React26.forwardRef(
1201
1212
  )
1202
1213
  );
1203
1214
  TableRow.displayName = "TableRow";
1204
- var TableHead = React26.forwardRef(
1215
+ var TableHead = React27.forwardRef(
1205
1216
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
1206
1217
  "th",
1207
1218
  {
@@ -1212,21 +1223,21 @@ var TableHead = React26.forwardRef(
1212
1223
  )
1213
1224
  );
1214
1225
  TableHead.displayName = "TableHead";
1215
- var TableCell = React26.forwardRef(
1226
+ var TableCell = React27.forwardRef(
1216
1227
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx30("td", { ref, className: cn("p-2 align-middle [&:has([role=checkbox])]:pr-0", className), ...props })
1217
1228
  );
1218
1229
  TableCell.displayName = "TableCell";
1219
- var TableCaption = React26.forwardRef(
1230
+ var TableCaption = React27.forwardRef(
1220
1231
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx30("caption", { ref, className: cn("mt-4 text-sm text-muted-foreground", className), ...props })
1221
1232
  );
1222
1233
  TableCaption.displayName = "TableCaption";
1223
1234
 
1224
1235
  // src/components/tabs.tsx
1225
- import * as React27 from "react";
1236
+ import * as React28 from "react";
1226
1237
  import * as TabsPrimitive from "@radix-ui/react-tabs";
1227
1238
  import { jsx as jsx31 } from "react/jsx-runtime";
1228
1239
  var Tabs = TabsPrimitive.Root;
1229
- var TabsList = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx31(
1240
+ var TabsList = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx31(
1230
1241
  TabsPrimitive.List,
1231
1242
  {
1232
1243
  ref,
@@ -1238,14 +1249,14 @@ var TabsList = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__
1238
1249
  }
1239
1250
  ));
1240
1251
  TabsList.displayName = TabsPrimitive.List.displayName;
1241
- var TabsTrigger = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx31(
1252
+ var TabsTrigger = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx31(
1242
1253
  TabsPrimitive.Trigger,
1243
1254
  {
1244
1255
  ref,
1245
1256
  className: cn(
1246
1257
  "inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium transition-all",
1247
1258
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
1248
- "disabled:pointer-events-none disabled:opacity-50",
1259
+ "disabled:pointer-events-none disabled:opacity-disabled",
1249
1260
  "data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",
1250
1261
  className
1251
1262
  ),
@@ -1253,7 +1264,7 @@ var TabsTrigger = React27.forwardRef(({ className, ...props }, ref) => /* @__PUR
1253
1264
  }
1254
1265
  ));
1255
1266
  TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
1256
- var TabsContent = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx31(
1267
+ var TabsContent = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx31(
1257
1268
  TabsPrimitive.Content,
1258
1269
  {
1259
1270
  ref,
@@ -1264,12 +1275,12 @@ var TabsContent = React27.forwardRef(({ className, ...props }, ref) => /* @__PUR
1264
1275
  TabsContent.displayName = TabsPrimitive.Content.displayName;
1265
1276
 
1266
1277
  // src/components/toggle.tsx
1267
- import * as React28 from "react";
1278
+ import * as React29 from "react";
1268
1279
  import * as TogglePrimitive from "@radix-ui/react-toggle";
1269
1280
  import { cva as cva9 } from "class-variance-authority";
1270
1281
  import { jsx as jsx32 } from "react/jsx-runtime";
1271
1282
  var toggleVariants = cva9(
1272
- "inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium font-sans transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground data-[state=on]:ring-1 data-[state=on]:ring-inset data-[state=on]:ring-ring [&_svg]:size-4 [&_svg]:shrink-0",
1283
+ "inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium font-sans transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-disabled data-[state=on]:bg-accent data-[state=on]:text-accent-foreground data-[state=on]:ring-1 data-[state=on]:ring-inset data-[state=on]:ring-ring [&_svg]:size-4 [&_svg]:shrink-0",
1273
1284
  {
1274
1285
  variants: {
1275
1286
  variant: {
@@ -1285,21 +1296,21 @@ var toggleVariants = cva9(
1285
1296
  defaultVariants: { variant: "default", size: "default" }
1286
1297
  }
1287
1298
  );
1288
- var Toggle = React28.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx32(TogglePrimitive.Root, { ref, className: cn(toggleVariants({ variant, size }), className), ...props }));
1299
+ var Toggle = React29.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx32(TogglePrimitive.Root, { ref, className: cn(toggleVariants({ variant, size }), className), ...props }));
1289
1300
  Toggle.displayName = TogglePrimitive.Root.displayName;
1290
1301
 
1291
1302
  // src/components/toggle-group.tsx
1292
- import * as React29 from "react";
1303
+ import * as React30 from "react";
1293
1304
  import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
1294
1305
  import { jsx as jsx33 } from "react/jsx-runtime";
1295
- var ToggleGroupContext = React29.createContext({
1306
+ var ToggleGroupContext = React30.createContext({
1296
1307
  size: "default",
1297
1308
  variant: "default"
1298
1309
  });
1299
- var ToggleGroup = React29.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx33(ToggleGroupPrimitive.Root, { ref, className: cn("flex items-center gap-1", className), ...props, children: /* @__PURE__ */ jsx33(ToggleGroupContext.Provider, { value: { variant, size }, children }) }));
1310
+ var ToggleGroup = React30.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx33(ToggleGroupPrimitive.Root, { ref, className: cn("flex items-center gap-1", className), ...props, children: /* @__PURE__ */ jsx33(ToggleGroupContext.Provider, { value: { variant, size }, children }) }));
1300
1311
  ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
1301
- var ToggleGroupItem = React29.forwardRef(({ className, children, variant, size, ...props }, ref) => {
1302
- const ctx = React29.useContext(ToggleGroupContext);
1312
+ var ToggleGroupItem = React30.forwardRef(({ className, children, variant, size, ...props }, ref) => {
1313
+ const ctx = React30.useContext(ToggleGroupContext);
1303
1314
  return /* @__PURE__ */ jsx33(
1304
1315
  ToggleGroupPrimitive.Item,
1305
1316
  {
@@ -1313,19 +1324,19 @@ var ToggleGroupItem = React29.forwardRef(({ className, children, variant, size,
1313
1324
  ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
1314
1325
 
1315
1326
  // src/components/tooltip.tsx
1316
- import * as React30 from "react";
1327
+ import * as React31 from "react";
1317
1328
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
1318
1329
  import { jsx as jsx34 } from "react/jsx-runtime";
1319
1330
  var TooltipProvider = TooltipPrimitive.Provider;
1320
1331
  var Tooltip = TooltipPrimitive.Root;
1321
1332
  var TooltipTrigger = TooltipPrimitive.Trigger;
1322
- var TooltipContent = React30.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx34(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx34(
1333
+ var TooltipContent = React31.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx34(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx34(
1323
1334
  TooltipPrimitive.Content,
1324
1335
  {
1325
1336
  ref,
1326
1337
  sideOffset,
1327
1338
  className: cn(
1328
- "z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground font-sans",
1339
+ "z-overlay overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground font-sans",
1329
1340
  "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",
1330
1341
  "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",
1331
1342
  className
@@ -1351,13 +1362,17 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
1351
1362
  month_caption: "flex justify-center pt-1 relative items-center w-full",
1352
1363
  caption_label: "text-sm font-medium",
1353
1364
  nav: "flex items-center gap-1",
1365
+ // Resting-dim/hover-brighten nav icons — numerically the disabled
1366
+ // value (0.5) but not a disabled state, so left as a literal rather
1367
+ // than forced into --opacity-disabled or --opacity-muted (0.7, which
1368
+ // would change the rendered value).
1354
1369
  button_previous: cn(
1355
1370
  buttonVariants({ variant: "Outline", size: "icon" }),
1356
- "absolute left-1 size-7 bg-transparent p-0 opacity-50 hover:opacity-100"
1371
+ "absolute left-1 size-7 bg-transparent p-0 opacity-50 hover:opacity-visible"
1357
1372
  ),
1358
1373
  button_next: cn(
1359
1374
  buttonVariants({ variant: "Outline", size: "icon" }),
1360
- "absolute right-1 size-7 bg-transparent p-0 opacity-50 hover:opacity-100"
1375
+ "absolute right-1 size-7 bg-transparent p-0 opacity-50 hover:opacity-visible"
1361
1376
  ),
1362
1377
  month_grid: "w-full border-collapse space-x-1",
1363
1378
  weekdays: "flex",
@@ -1368,19 +1383,19 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
1368
1383
  // accent background + corner rounding and hands the primary-colored
1369
1384
  // "selected" circle down to `day_button` via a `group` class.
1370
1385
  day: cn(
1371
- "group relative p-0 text-center text-sm focus-within:relative focus-within:z-20 aria-selected:bg-accent",
1386
+ "group relative p-0 text-center text-sm focus-within:relative focus-within:z-focus aria-selected:bg-accent",
1372
1387
  props.mode === "range" ? "" : "aria-selected:rounded-md"
1373
1388
  ),
1374
1389
  day_button: cn(
1375
1390
  buttonVariants({ variant: "Ghost", size: "icon" }),
1376
- "size-8 p-0 font-normal group-aria-selected:opacity-100 group-data-[selected=true]:bg-primary group-data-[selected=true]:text-primary-foreground group-data-[selected=true]:hover:bg-primary group-data-[selected=true]:hover:text-primary-foreground group-data-[selected=true]:focus:bg-primary group-data-[selected=true]:focus:text-primary-foreground"
1391
+ "size-8 p-0 font-normal group-aria-selected:opacity-visible group-data-[selected=true]:bg-primary group-data-[selected=true]:text-primary-foreground group-data-[selected=true]:hover:bg-primary group-data-[selected=true]:hover:text-primary-foreground group-data-[selected=true]:focus:bg-primary group-data-[selected=true]:focus:text-primary-foreground"
1377
1392
  ),
1378
1393
  range_start: "day-range-start rounded-l-md",
1379
1394
  range_end: "day-range-end rounded-r-md",
1380
1395
  range_middle: "aria-selected:bg-accent aria-selected:text-accent-foreground",
1381
1396
  today: "bg-accent text-accent-foreground",
1382
1397
  outside: "day-outside text-muted-foreground aria-selected:text-muted-foreground",
1383
- disabled: "text-muted-foreground opacity-50",
1398
+ disabled: "text-muted-foreground opacity-disabled",
1384
1399
  hidden: "invisible",
1385
1400
  ...classNames
1386
1401
  },
@@ -1394,34 +1409,34 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
1394
1409
  Calendar.displayName = "Calendar";
1395
1410
 
1396
1411
  // src/components/carousel.tsx
1397
- import * as React31 from "react";
1412
+ import * as React32 from "react";
1398
1413
  import useEmblaCarousel from "embla-carousel-react";
1399
1414
  import { ArrowLeft, ArrowRight } from "lucide-react";
1400
1415
  import { jsx as jsx36, jsxs as jsxs14 } from "react/jsx-runtime";
1401
- var CarouselContext = React31.createContext(null);
1416
+ var CarouselContext = React32.createContext(null);
1402
1417
  function useCarousel() {
1403
- const context = React31.useContext(CarouselContext);
1418
+ const context = React32.useContext(CarouselContext);
1404
1419
  if (!context) throw new Error("useCarousel must be used within a <Carousel />");
1405
1420
  return context;
1406
1421
  }
1407
- var Carousel = React31.forwardRef(({ orientation = "horizontal", opts, setApi, plugins, className, children, ...props }, ref) => {
1422
+ var Carousel = React32.forwardRef(({ orientation = "horizontal", opts, setApi, plugins, className, children, ...props }, ref) => {
1408
1423
  const [carouselRef, api] = useEmblaCarousel(
1409
1424
  { ...opts, axis: orientation === "horizontal" ? "x" : "y" },
1410
1425
  plugins
1411
1426
  );
1412
- const [canScrollPrev, setCanScrollPrev] = React31.useState(false);
1413
- const [canScrollNext, setCanScrollNext] = React31.useState(false);
1414
- const onSelect = React31.useCallback((a) => {
1427
+ const [canScrollPrev, setCanScrollPrev] = React32.useState(false);
1428
+ const [canScrollNext, setCanScrollNext] = React32.useState(false);
1429
+ const onSelect = React32.useCallback((a) => {
1415
1430
  if (!a) return;
1416
1431
  setCanScrollPrev(a.canScrollPrev());
1417
1432
  setCanScrollNext(a.canScrollNext());
1418
1433
  }, []);
1419
- const scrollPrev = React31.useCallback(() => api?.scrollPrev(), [api]);
1420
- const scrollNext = React31.useCallback(() => api?.scrollNext(), [api]);
1421
- React31.useEffect(() => {
1434
+ const scrollPrev = React32.useCallback(() => api?.scrollPrev(), [api]);
1435
+ const scrollNext = React32.useCallback(() => api?.scrollNext(), [api]);
1436
+ React32.useEffect(() => {
1422
1437
  if (api && setApi) setApi(api);
1423
1438
  }, [api, setApi]);
1424
- React31.useEffect(() => {
1439
+ React32.useEffect(() => {
1425
1440
  if (!api) return;
1426
1441
  onSelect(api);
1427
1442
  api.on("reInit", onSelect);
@@ -1458,7 +1473,7 @@ var Carousel = React31.forwardRef(({ orientation = "horizontal", opts, setApi, p
1458
1473
  );
1459
1474
  });
1460
1475
  Carousel.displayName = "Carousel";
1461
- var CarouselContent = React31.forwardRef(
1476
+ var CarouselContent = React32.forwardRef(
1462
1477
  ({ className, ...props }, ref) => {
1463
1478
  const { carouselRef, orientation } = useCarousel();
1464
1479
  return /* @__PURE__ */ jsx36("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ jsx36(
@@ -1472,7 +1487,7 @@ var CarouselContent = React31.forwardRef(
1472
1487
  }
1473
1488
  );
1474
1489
  CarouselContent.displayName = "CarouselContent";
1475
- var CarouselItem = React31.forwardRef(
1490
+ var CarouselItem = React32.forwardRef(
1476
1491
  ({ className, ...props }, ref) => {
1477
1492
  const { orientation } = useCarousel();
1478
1493
  return /* @__PURE__ */ jsx36(
@@ -1488,7 +1503,7 @@ var CarouselItem = React31.forwardRef(
1488
1503
  }
1489
1504
  );
1490
1505
  CarouselItem.displayName = "CarouselItem";
1491
- var CarouselPrevious = React31.forwardRef(
1506
+ var CarouselPrevious = React32.forwardRef(
1492
1507
  ({ className, variant = "Outline", ...props }, ref) => {
1493
1508
  const { orientation, scrollPrev, canScrollPrev } = useCarousel();
1494
1509
  return /* @__PURE__ */ jsxs14(
@@ -1514,7 +1529,7 @@ var CarouselPrevious = React31.forwardRef(
1514
1529
  }
1515
1530
  );
1516
1531
  CarouselPrevious.displayName = "CarouselPrevious";
1517
- var CarouselNext = React31.forwardRef(
1532
+ var CarouselNext = React32.forwardRef(
1518
1533
  ({ className, variant = "Outline", ...props }, ref) => {
1519
1534
  const { orientation, scrollNext, canScrollNext } = useCarousel();
1520
1535
  return /* @__PURE__ */ jsxs14(
@@ -1542,17 +1557,17 @@ var CarouselNext = React31.forwardRef(
1542
1557
  CarouselNext.displayName = "CarouselNext";
1543
1558
 
1544
1559
  // src/components/chart.tsx
1545
- import * as React32 from "react";
1560
+ import * as React33 from "react";
1546
1561
  import * as RechartsPrimitive from "recharts";
1547
1562
  import { jsx as jsx37, jsxs as jsxs15 } from "react/jsx-runtime";
1548
1563
  var THEMES = { light: "", dark: ".dark" };
1549
- var ChartContext = React32.createContext(null);
1564
+ var ChartContext = React33.createContext(null);
1550
1565
  function useChart() {
1551
- const context = React32.useContext(ChartContext);
1566
+ const context = React33.useContext(ChartContext);
1552
1567
  if (!context) throw new Error("useChart must be used within a <ChartContainer />");
1553
1568
  return context;
1554
1569
  }
1555
- var ChartContainer = React32.forwardRef(({
1570
+ var ChartContainer = React33.forwardRef(({
1556
1571
  id,
1557
1572
  className,
1558
1573
  children,
@@ -1565,11 +1580,11 @@ var ChartContainer = React32.forwardRef(({
1565
1580
  "aria-label": ariaLabel,
1566
1581
  ...props
1567
1582
  }, ref) => {
1568
- const uniqueId = React32.useId();
1583
+ const uniqueId = React33.useId();
1569
1584
  const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
1570
1585
  const name = ariaLabel ?? label ?? "Chart";
1571
- const innerRef = React32.useRef(null);
1572
- const setRef = React32.useCallback(
1586
+ const innerRef = React33.useRef(null);
1587
+ const setRef = React33.useCallback(
1573
1588
  (node) => {
1574
1589
  innerRef.current = node;
1575
1590
  if (typeof ref === "function") ref(node);
@@ -1577,7 +1592,7 @@ var ChartContainer = React32.forwardRef(({
1577
1592
  },
1578
1593
  [ref]
1579
1594
  );
1580
- React32.useEffect(() => {
1595
+ React33.useEffect(() => {
1581
1596
  const el = innerRef.current;
1582
1597
  if (!el) return;
1583
1598
  const scrub = () => {
@@ -1676,7 +1691,7 @@ ${colorConfig.map(([key, itemConfig]) => {
1676
1691
  );
1677
1692
  };
1678
1693
  var ChartTooltip = RechartsPrimitive.Tooltip;
1679
- var ChartTooltipContent = React32.forwardRef(
1694
+ var ChartTooltipContent = React33.forwardRef(
1680
1695
  ({ active, payload, className, indicator = "dot", hideLabel = false, hideIndicator = false, label, labelFormatter, formatter }, ref) => {
1681
1696
  const { config } = useChart();
1682
1697
  if (!active || !payload?.length) return null;
@@ -1719,7 +1734,7 @@ var ChartTooltipContent = React32.forwardRef(
1719
1734
  );
1720
1735
  ChartTooltipContent.displayName = "ChartTooltipContent";
1721
1736
  var ChartLegend = RechartsPrimitive.Legend;
1722
- var ChartLegendContent = React32.forwardRef(({ className, payload, verticalAlign = "bottom" }, ref) => {
1737
+ var ChartLegendContent = React33.forwardRef(({ className, payload, verticalAlign = "bottom" }, ref) => {
1723
1738
  const { config } = useChart();
1724
1739
  if (!payload?.length) return null;
1725
1740
  return /* @__PURE__ */ jsx37(
@@ -1741,11 +1756,11 @@ var ChartLegendContent = React32.forwardRef(({ className, payload, verticalAlign
1741
1756
  ChartLegendContent.displayName = "ChartLegendContent";
1742
1757
 
1743
1758
  // src/components/command.tsx
1744
- import * as React33 from "react";
1759
+ import * as React34 from "react";
1745
1760
  import { Command as CommandPrimitive } from "cmdk";
1746
1761
  import { Search } from "lucide-react";
1747
1762
  import { jsx as jsx38, jsxs as jsxs16 } from "react/jsx-runtime";
1748
- var Command = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
1763
+ var Command = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
1749
1764
  CommandPrimitive,
1750
1765
  {
1751
1766
  ref,
@@ -1758,14 +1773,14 @@ var Command = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__
1758
1773
  ));
1759
1774
  Command.displayName = CommandPrimitive.displayName;
1760
1775
  var CommandDialog = ({ children, ...props }) => /* @__PURE__ */ jsx38(Dialog, { ...props, children: /* @__PURE__ */ jsx38(DialogContent, { className: "overflow-hidden p-0", children: /* @__PURE__ */ jsx38(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-input-wrapper]_svg]:size-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:size-5", children }) }) });
1761
- var CommandInput = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs16("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
1776
+ var CommandInput = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs16("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
1762
1777
  /* @__PURE__ */ jsx38(Search, { className: "mr-2 size-4 shrink-0 opacity-50" }),
1763
1778
  /* @__PURE__ */ jsx38(
1764
1779
  CommandPrimitive.Input,
1765
1780
  {
1766
1781
  ref,
1767
1782
  className: cn(
1768
- "flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
1783
+ "flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-disabled",
1769
1784
  className
1770
1785
  ),
1771
1786
  ...props
@@ -1773,7 +1788,7 @@ var CommandInput = React33.forwardRef(({ className, ...props }, ref) => /* @__PU
1773
1788
  )
1774
1789
  ] }));
1775
1790
  CommandInput.displayName = CommandPrimitive.Input.displayName;
1776
- var CommandList = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
1791
+ var CommandList = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
1777
1792
  CommandPrimitive.List,
1778
1793
  {
1779
1794
  ref,
@@ -1782,9 +1797,9 @@ var CommandList = React33.forwardRef(({ className, ...props }, ref) => /* @__PUR
1782
1797
  }
1783
1798
  ));
1784
1799
  CommandList.displayName = CommandPrimitive.List.displayName;
1785
- var CommandEmpty = React33.forwardRef((props, ref) => /* @__PURE__ */ jsx38(CommandPrimitive.Empty, { ref, className: "py-6 text-center text-sm", ...props }));
1800
+ var CommandEmpty = React34.forwardRef((props, ref) => /* @__PURE__ */ jsx38(CommandPrimitive.Empty, { ref, className: "py-6 text-center text-sm", ...props }));
1786
1801
  CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
1787
- var CommandGroup = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
1802
+ var CommandGroup = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
1788
1803
  CommandPrimitive.Group,
1789
1804
  {
1790
1805
  ref,
@@ -1796,14 +1811,14 @@ var CommandGroup = React33.forwardRef(({ className, ...props }, ref) => /* @__PU
1796
1811
  }
1797
1812
  ));
1798
1813
  CommandGroup.displayName = CommandPrimitive.Group.displayName;
1799
- var CommandSeparator = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(CommandPrimitive.Separator, { ref, className: cn("-mx-1 h-px bg-border", className), ...props }));
1814
+ var CommandSeparator = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(CommandPrimitive.Separator, { ref, className: cn("-mx-1 h-px bg-border", className), ...props }));
1800
1815
  CommandSeparator.displayName = CommandPrimitive.Separator.displayName;
1801
- var CommandItem = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
1816
+ var CommandItem = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
1802
1817
  CommandPrimitive.Item,
1803
1818
  {
1804
1819
  ref,
1805
1820
  className: cn(
1806
- "relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0",
1821
+ "relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-disabled [&_svg]:size-4 [&_svg]:shrink-0",
1807
1822
  className
1808
1823
  ),
1809
1824
  ...props
@@ -1814,7 +1829,7 @@ var CommandShortcut = ({ className, ...props }) => /* @__PURE__ */ jsx38("span",
1814
1829
  CommandShortcut.displayName = "CommandShortcut";
1815
1830
 
1816
1831
  // src/components/context-menu.tsx
1817
- import * as React34 from "react";
1832
+ import * as React35 from "react";
1818
1833
  import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
1819
1834
  import { Check as Check4, ChevronRight as ChevronRight5, Circle as Circle3 } from "lucide-react";
1820
1835
  import { jsx as jsx39, jsxs as jsxs17 } from "react/jsx-runtime";
@@ -1824,9 +1839,9 @@ var ContextMenuGroup = ContextMenuPrimitive.Group;
1824
1839
  var ContextMenuPortal = ContextMenuPrimitive.Portal;
1825
1840
  var ContextMenuSub = ContextMenuPrimitive.Sub;
1826
1841
  var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
1827
- var itemCls2 = "relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground focus:ring-1 focus:ring-inset focus:ring-ring data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
1828
- var contentCls2 = "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md font-sans data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95";
1829
- var ContextMenuSubTrigger = React34.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs17(
1842
+ var itemCls2 = "relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground focus:ring-1 focus:ring-inset focus:ring-ring data-[disabled]:pointer-events-none data-[disabled]:opacity-disabled";
1843
+ var contentCls2 = "z-overlay min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md font-sans data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95";
1844
+ var ContextMenuSubTrigger = React35.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs17(
1830
1845
  ContextMenuPrimitive.SubTrigger,
1831
1846
  {
1832
1847
  ref,
@@ -1839,23 +1854,23 @@ var ContextMenuSubTrigger = React34.forwardRef(({ className, inset, children, ..
1839
1854
  }
1840
1855
  ));
1841
1856
  ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
1842
- var ContextMenuSubContent = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(ContextMenuPrimitive.SubContent, { ref, className: cn(contentCls2, className), ...props }));
1857
+ var ContextMenuSubContent = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(ContextMenuPrimitive.SubContent, { ref, className: cn(contentCls2, className), ...props }));
1843
1858
  ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
1844
- var ContextMenuContent = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx39(ContextMenuPrimitive.Content, { ref, className: cn(contentCls2, className), ...props }) }));
1859
+ var ContextMenuContent = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx39(ContextMenuPrimitive.Content, { ref, className: cn(contentCls2, className), ...props }) }));
1845
1860
  ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
1846
- var ContextMenuItem = React34.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx39(ContextMenuPrimitive.Item, { ref, className: cn(itemCls2, inset && "pl-8", className), ...props }));
1861
+ var ContextMenuItem = React35.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx39(ContextMenuPrimitive.Item, { ref, className: cn(itemCls2, inset && "pl-8", className), ...props }));
1847
1862
  ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
1848
- var ContextMenuCheckboxItem = React34.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs17(ContextMenuPrimitive.CheckboxItem, { ref, className: cn(itemCls2, "pl-8", className), checked, ...props, children: [
1863
+ var ContextMenuCheckboxItem = React35.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs17(ContextMenuPrimitive.CheckboxItem, { ref, className: cn(itemCls2, "pl-8", className), checked, ...props, children: [
1849
1864
  /* @__PURE__ */ jsx39("span", { className: "absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx39(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx39(Check4, { className: "size-4" }) }) }),
1850
1865
  children
1851
1866
  ] }));
1852
1867
  ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
1853
- var ContextMenuRadioItem = React34.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs17(ContextMenuPrimitive.RadioItem, { ref, className: cn(itemCls2, "pl-8", className), ...props, children: [
1868
+ var ContextMenuRadioItem = React35.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs17(ContextMenuPrimitive.RadioItem, { ref, className: cn(itemCls2, "pl-8", className), ...props, children: [
1854
1869
  /* @__PURE__ */ jsx39("span", { className: "absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx39(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx39(Circle3, { className: "size-2 fill-current" }) }) }),
1855
1870
  children
1856
1871
  ] }));
1857
1872
  ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
1858
- var ContextMenuLabel = React34.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx39(
1873
+ var ContextMenuLabel = React35.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx39(
1859
1874
  ContextMenuPrimitive.Label,
1860
1875
  {
1861
1876
  ref,
@@ -1864,13 +1879,13 @@ var ContextMenuLabel = React34.forwardRef(({ className, inset, ...props }, ref)
1864
1879
  }
1865
1880
  ));
1866
1881
  ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
1867
- var ContextMenuSeparator = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(ContextMenuPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-border", className), ...props }));
1882
+ var ContextMenuSeparator = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(ContextMenuPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-border", className), ...props }));
1868
1883
  ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
1869
1884
  var ContextMenuShortcut = ({ className, ...props }) => /* @__PURE__ */ jsx39("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
1870
1885
  ContextMenuShortcut.displayName = "ContextMenuShortcut";
1871
1886
 
1872
1887
  // src/components/data-table.tsx
1873
- import * as React35 from "react";
1888
+ import * as React36 from "react";
1874
1889
  import {
1875
1890
  createPaginatedRowModel,
1876
1891
  createSortedRowModel,
@@ -1895,7 +1910,7 @@ function DataTable({
1895
1910
  className,
1896
1911
  pageSize = 10
1897
1912
  }) {
1898
- const [sorting, setSorting] = React35.useState([]);
1913
+ const [sorting, setSorting] = React36.useState([]);
1899
1914
  const table = useTable({
1900
1915
  features,
1901
1916
  data,
@@ -1917,7 +1932,7 @@ function DataTable({
1917
1932
  }
1918
1933
 
1919
1934
  // src/components/drawer.tsx
1920
- import * as React36 from "react";
1935
+ import * as React37 from "react";
1921
1936
  import { Drawer as DrawerPrimitive } from "vaul";
1922
1937
  import { jsx as jsx41, jsxs as jsxs19 } from "react/jsx-runtime";
1923
1938
  var Drawer = ({ shouldScaleBackground = true, ...props }) => /* @__PURE__ */ jsx41(DrawerPrimitive.Root, { shouldScaleBackground, ...props });
@@ -1925,16 +1940,16 @@ Drawer.displayName = "Drawer";
1925
1940
  var DrawerTrigger = DrawerPrimitive.Trigger;
1926
1941
  var DrawerPortal = DrawerPrimitive.Portal;
1927
1942
  var DrawerClose = DrawerPrimitive.Close;
1928
- var DrawerOverlay = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx41(DrawerPrimitive.Overlay, { ref, className: cn("fixed inset-0 z-50 bg-foreground/40", className), ...props }));
1943
+ var DrawerOverlay = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx41(DrawerPrimitive.Overlay, { ref, className: cn("fixed inset-0 z-overlay bg-foreground/40", className), ...props }));
1929
1944
  DrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName;
1930
- var DrawerContent = React36.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs19(DrawerPortal, { children: [
1945
+ var DrawerContent = React37.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs19(DrawerPortal, { children: [
1931
1946
  /* @__PURE__ */ jsx41(DrawerOverlay, {}),
1932
1947
  /* @__PURE__ */ jsxs19(
1933
1948
  DrawerPrimitive.Content,
1934
1949
  {
1935
1950
  ref,
1936
1951
  className: cn(
1937
- "fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background font-sans",
1952
+ "fixed inset-x-0 bottom-0 z-overlay mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background font-sans",
1938
1953
  className
1939
1954
  ),
1940
1955
  ...props,
@@ -1950,27 +1965,27 @@ var DrawerHeader = ({ className, ...props }) => /* @__PURE__ */ jsx41("div", { c
1950
1965
  DrawerHeader.displayName = "DrawerHeader";
1951
1966
  var DrawerFooter = ({ className, ...props }) => /* @__PURE__ */ jsx41("div", { className: cn("mt-auto flex flex-col gap-2 p-4", className), ...props });
1952
1967
  DrawerFooter.displayName = "DrawerFooter";
1953
- var DrawerTitle = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx41(DrawerPrimitive.Title, { ref, className: cn("text-lg font-semibold leading-none tracking-tight", className), ...props }));
1968
+ var DrawerTitle = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx41(DrawerPrimitive.Title, { ref, className: cn("text-lg font-semibold leading-none tracking-tight", className), ...props }));
1954
1969
  DrawerTitle.displayName = DrawerPrimitive.Title.displayName;
1955
- var DrawerDescription = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx41(DrawerPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
1970
+ var DrawerDescription = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx41(DrawerPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
1956
1971
  DrawerDescription.displayName = DrawerPrimitive.Description.displayName;
1957
1972
 
1958
1973
  // src/components/field.tsx
1959
- import * as React37 from "react";
1960
- import { Slot as Slot3 } from "@radix-ui/react-slot";
1974
+ import * as React38 from "react";
1975
+ import { Slot as Slot5 } from "@radix-ui/react-slot";
1961
1976
  import { CircleAlert, CircleCheck, Info, TriangleAlert } from "lucide-react";
1962
1977
  import { cva as cva10 } from "class-variance-authority";
1963
1978
  import { jsx as jsx42, jsxs as jsxs20 } from "react/jsx-runtime";
1964
- var FieldContext = React37.createContext(null);
1979
+ var FieldContext = React38.createContext(null);
1965
1980
  function useField() {
1966
- const ctx = React37.useContext(FieldContext);
1981
+ const ctx = React38.useContext(FieldContext);
1967
1982
  if (!ctx) throw new Error("Field parts must be used within <Field>");
1968
1983
  return ctx;
1969
1984
  }
1970
- var Field = React37.forwardRef(
1985
+ var Field = React38.forwardRef(
1971
1986
  ({ className, invalid = false, ...props }, ref) => {
1972
- const id = React37.useId();
1973
- const value = React37.useMemo(
1987
+ const id = React38.useId();
1988
+ const value = React38.useMemo(
1974
1989
  () => ({ id: `${id}-control`, descriptionId: `${id}-description`, messageId: `${id}-message`, invalid }),
1975
1990
  [id, invalid]
1976
1991
  );
@@ -1978,16 +1993,16 @@ var Field = React37.forwardRef(
1978
1993
  }
1979
1994
  );
1980
1995
  Field.displayName = "Field";
1981
- var FieldLabel = React37.forwardRef(({ className, ...props }, ref) => {
1996
+ var FieldLabel = React38.forwardRef(({ className, ...props }, ref) => {
1982
1997
  const { id, invalid } = useField();
1983
1998
  return /* @__PURE__ */ jsx42(Label2, { ref, htmlFor: id, className: cn(invalid && "text-destructive", className), ...props });
1984
1999
  });
1985
2000
  FieldLabel.displayName = "FieldLabel";
1986
- var FieldControl = React37.forwardRef(
2001
+ var FieldControl = React38.forwardRef(
1987
2002
  ({ ...props }, ref) => {
1988
2003
  const { id, descriptionId, messageId, invalid } = useField();
1989
2004
  return /* @__PURE__ */ jsx42(
1990
- Slot3,
2005
+ Slot5,
1991
2006
  {
1992
2007
  ref,
1993
2008
  id,
@@ -1999,7 +2014,7 @@ var FieldControl = React37.forwardRef(
1999
2014
  }
2000
2015
  );
2001
2016
  FieldControl.displayName = "FieldControl";
2002
- var FieldDescription = React37.forwardRef(
2017
+ var FieldDescription = React38.forwardRef(
2003
2018
  ({ className, ...props }, ref) => {
2004
2019
  const { descriptionId } = useField();
2005
2020
  return /* @__PURE__ */ jsx42("p", { ref, id: descriptionId, className: cn("text-body-sm text-muted-foreground", className), ...props });
@@ -2023,7 +2038,7 @@ var INTENT_ICON = {
2023
2038
  success: CircleCheck,
2024
2039
  info: Info
2025
2040
  };
2026
- var FieldMessage = React37.forwardRef(
2041
+ var FieldMessage = React38.forwardRef(
2027
2042
  ({ className, intent = "error", hideIcon, children, ...props }, ref) => {
2028
2043
  const { messageId } = useField();
2029
2044
  const Icon2 = INTENT_ICON[intent ?? "error"];
@@ -2037,8 +2052,8 @@ var FieldMessage = React37.forwardRef(
2037
2052
  FieldMessage.displayName = "FieldMessage";
2038
2053
 
2039
2054
  // src/components/form.tsx
2040
- import * as React38 from "react";
2041
- import { Slot as Slot4 } from "@radix-ui/react-slot";
2055
+ import * as React39 from "react";
2056
+ import { Slot as Slot6 } from "@radix-ui/react-slot";
2042
2057
  import {
2043
2058
  Controller,
2044
2059
  FormProvider,
@@ -2047,13 +2062,13 @@ import {
2047
2062
  } from "react-hook-form";
2048
2063
  import { jsx as jsx43 } from "react/jsx-runtime";
2049
2064
  var Form = FormProvider;
2050
- var FormFieldContext = React38.createContext({});
2065
+ var FormFieldContext = React39.createContext({});
2051
2066
  var FormField = ({
2052
2067
  ...props
2053
2068
  }) => /* @__PURE__ */ jsx43(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx43(Controller, { ...props }) });
2054
2069
  var useFormField = () => {
2055
- const fieldContext = React38.useContext(FormFieldContext);
2056
- const itemContext = React38.useContext(FormItemContext);
2070
+ const fieldContext = React39.useContext(FormFieldContext);
2071
+ const itemContext = React39.useContext(FormItemContext);
2057
2072
  const { getFieldState } = useFormContext();
2058
2073
  const formState = useFormState({ name: fieldContext.name });
2059
2074
  const fieldState = getFieldState(fieldContext.name, formState);
@@ -2068,23 +2083,23 @@ var useFormField = () => {
2068
2083
  ...fieldState
2069
2084
  };
2070
2085
  };
2071
- var FormItemContext = React38.createContext({});
2072
- var FormItem = React38.forwardRef(
2086
+ var FormItemContext = React39.createContext({});
2087
+ var FormItem = React39.forwardRef(
2073
2088
  ({ className, ...props }, ref) => {
2074
- const id = React38.useId();
2089
+ const id = React39.useId();
2075
2090
  return /* @__PURE__ */ jsx43(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx43("div", { ref, className: cn("grid gap-2", className), ...props }) });
2076
2091
  }
2077
2092
  );
2078
2093
  FormItem.displayName = "FormItem";
2079
- var FormLabel = React38.forwardRef(({ className, ...props }, ref) => {
2094
+ var FormLabel = React39.forwardRef(({ className, ...props }, ref) => {
2080
2095
  const { error, formItemId } = useFormField();
2081
2096
  return /* @__PURE__ */ jsx43(Label2, { ref, className: cn(error && "text-destructive", className), htmlFor: formItemId, ...props });
2082
2097
  });
2083
2098
  FormLabel.displayName = "FormLabel";
2084
- var FormControl = React38.forwardRef(({ ...props }, ref) => {
2099
+ var FormControl = React39.forwardRef(({ ...props }, ref) => {
2085
2100
  const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
2086
2101
  return /* @__PURE__ */ jsx43(
2087
- Slot4,
2102
+ Slot6,
2088
2103
  {
2089
2104
  ref,
2090
2105
  id: formItemId,
@@ -2095,14 +2110,14 @@ var FormControl = React38.forwardRef(({ ...props }, ref) => {
2095
2110
  );
2096
2111
  });
2097
2112
  FormControl.displayName = "FormControl";
2098
- var FormDescription = React38.forwardRef(
2113
+ var FormDescription = React39.forwardRef(
2099
2114
  ({ className, ...props }, ref) => {
2100
2115
  const { formDescriptionId } = useFormField();
2101
2116
  return /* @__PURE__ */ jsx43("p", { ref, id: formDescriptionId, className: cn("text-sm text-muted-foreground", className), ...props });
2102
2117
  }
2103
2118
  );
2104
2119
  FormDescription.displayName = "FormDescription";
2105
- var FormMessage = React38.forwardRef(
2120
+ var FormMessage = React39.forwardRef(
2106
2121
  ({ className, children, ...props }, ref) => {
2107
2122
  const { error, formMessageId } = useFormField();
2108
2123
  const body = error ? String(error?.message ?? "") : children;
@@ -2113,10 +2128,10 @@ var FormMessage = React38.forwardRef(
2113
2128
  FormMessage.displayName = "FormMessage";
2114
2129
 
2115
2130
  // src/components/input-group.tsx
2116
- import * as React39 from "react";
2131
+ import * as React40 from "react";
2117
2132
  import { cva as cva11 } from "class-variance-authority";
2118
2133
  import { jsx as jsx44 } from "react/jsx-runtime";
2119
- var InputGroup = React39.forwardRef(
2134
+ var InputGroup = React40.forwardRef(
2120
2135
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx44(
2121
2136
  "div",
2122
2137
  {
@@ -2126,7 +2141,7 @@ var InputGroup = React39.forwardRef(
2126
2141
  "flex w-full items-center overflow-hidden rounded-sm border border-input bg-background font-sans transition-colors",
2127
2142
  "focus-within:border-primary focus-within:shadow-focus",
2128
2143
  "has-[[aria-invalid=true]]:border-destructive has-[[aria-invalid=true]]:focus-within:shadow-focus-destructive",
2129
- "has-[:disabled]:cursor-not-allowed has-[:disabled]:opacity-50",
2144
+ "has-[:disabled]:cursor-not-allowed has-[:disabled]:opacity-disabled",
2130
2145
  className
2131
2146
  ),
2132
2147
  ...props
@@ -2134,7 +2149,7 @@ var InputGroup = React39.forwardRef(
2134
2149
  )
2135
2150
  );
2136
2151
  InputGroup.displayName = "InputGroup";
2137
- var InputGroupInput = React39.forwardRef(({ className, type = "text", ...props }, ref) => /* @__PURE__ */ jsx44(
2152
+ var InputGroupInput = React40.forwardRef(({ className, type = "text", ...props }, ref) => /* @__PURE__ */ jsx44(
2138
2153
  "input",
2139
2154
  {
2140
2155
  ref,
@@ -2153,9 +2168,9 @@ var addonVariants = cva11("flex shrink-0 items-center gap-2 text-muted-foregroun
2153
2168
  variants: { align: { start: "pl-3", end: "pr-3" } },
2154
2169
  defaultVariants: { align: "start" }
2155
2170
  });
2156
- var InputGroupAddon = React39.forwardRef(({ className, align, ...props }, ref) => /* @__PURE__ */ jsx44("div", { ref, "data-slot": "input-group-addon", className: cn(addonVariants({ align }), className), ...props }));
2171
+ var InputGroupAddon = React40.forwardRef(({ className, align, ...props }, ref) => /* @__PURE__ */ jsx44("div", { ref, "data-slot": "input-group-addon", className: cn(addonVariants({ align }), className), ...props }));
2157
2172
  InputGroupAddon.displayName = "InputGroupAddon";
2158
- var InputGroupText = React39.forwardRef(
2173
+ var InputGroupText = React40.forwardRef(
2159
2174
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx44(
2160
2175
  "span",
2161
2176
  {
@@ -2166,7 +2181,7 @@ var InputGroupText = React39.forwardRef(
2166
2181
  )
2167
2182
  );
2168
2183
  InputGroupText.displayName = "InputGroupText";
2169
- var InputGroupButton = React39.forwardRef(({ className, type = "button", ...props }, ref) => /* @__PURE__ */ jsx44(
2184
+ var InputGroupButton = React40.forwardRef(({ className, type = "button", ...props }, ref) => /* @__PURE__ */ jsx44(
2170
2185
  "button",
2171
2186
  {
2172
2187
  ref,
@@ -2174,7 +2189,7 @@ var InputGroupButton = React39.forwardRef(({ className, type = "button", ...prop
2174
2189
  className: cn(
2175
2190
  "flex h-full shrink-0 items-center gap-1.5 self-stretch border-l border-input bg-muted px-3 text-label-md text-foreground",
2176
2191
  // base is bg-muted and muted==accent on dark, so the fill is a no-op there — the ring carries it
2177
- "outline-none transition-colors hover:bg-accent hover:ring-1 hover:ring-inset hover:ring-ring focus-visible:bg-accent focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
2192
+ "outline-none transition-colors hover:bg-accent hover:ring-1 hover:ring-inset hover:ring-ring focus-visible:bg-accent focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-disabled",
2178
2193
  "[&_svg]:size-4 [&_svg]:shrink-0",
2179
2194
  className
2180
2195
  ),
@@ -2184,26 +2199,26 @@ var InputGroupButton = React39.forwardRef(({ className, type = "button", ...prop
2184
2199
  InputGroupButton.displayName = "InputGroupButton";
2185
2200
 
2186
2201
  // src/components/input-otp.tsx
2187
- import * as React40 from "react";
2202
+ import * as React41 from "react";
2188
2203
  import { OTPInput, OTPInputContext } from "input-otp";
2189
2204
  import { Minus as Minus2 } from "lucide-react";
2190
2205
  import { jsx as jsx45, jsxs as jsxs21 } from "react/jsx-runtime";
2191
- var InputOTP = React40.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx45(
2206
+ var InputOTP = React41.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx45(
2192
2207
  OTPInput,
2193
2208
  {
2194
2209
  ref,
2195
- containerClassName: cn("flex items-center gap-2 has-[:disabled]:opacity-50", containerClassName),
2210
+ containerClassName: cn("flex items-center gap-2 has-[:disabled]:opacity-disabled", containerClassName),
2196
2211
  className: cn("disabled:cursor-not-allowed", className),
2197
2212
  ...props
2198
2213
  }
2199
2214
  ));
2200
2215
  InputOTP.displayName = "InputOTP";
2201
- var InputOTPGroup = React40.forwardRef(
2216
+ var InputOTPGroup = React41.forwardRef(
2202
2217
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx45("div", { ref, className: cn("flex items-center", className), ...props })
2203
2218
  );
2204
2219
  InputOTPGroup.displayName = "InputOTPGroup";
2205
- var InputOTPSlot = React40.forwardRef(({ index, className, ...props }, ref) => {
2206
- const inputOTPContext = React40.useContext(OTPInputContext);
2220
+ var InputOTPSlot = React41.forwardRef(({ index, className, ...props }, ref) => {
2221
+ const inputOTPContext = React41.useContext(OTPInputContext);
2207
2222
  const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index] ?? {};
2208
2223
  return /* @__PURE__ */ jsxs21(
2209
2224
  "div",
@@ -2211,29 +2226,29 @@ var InputOTPSlot = React40.forwardRef(({ index, className, ...props }, ref) => {
2211
2226
  ref,
2212
2227
  className: cn(
2213
2228
  "relative flex size-9 items-center justify-center border-y border-r border-input text-sm shadow-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md",
2214
- isActive && "z-10 ring-1 ring-ring",
2229
+ isActive && "z-docked ring-1 ring-ring",
2215
2230
  className
2216
2231
  ),
2217
2232
  ...props,
2218
2233
  children: [
2219
2234
  char,
2220
- hasFakeCaret && /* @__PURE__ */ jsx45("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx45("div", { className: "h-4 w-px animate-caret-blink bg-foreground duration-1000" }) })
2235
+ hasFakeCaret && /* @__PURE__ */ jsx45("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx45("div", { className: "h-4 w-px animate-caret-blink bg-foreground duration-slower" }) })
2221
2236
  ]
2222
2237
  }
2223
2238
  );
2224
2239
  });
2225
2240
  InputOTPSlot.displayName = "InputOTPSlot";
2226
- var InputOTPSeparator = React40.forwardRef(
2241
+ var InputOTPSeparator = React41.forwardRef(
2227
2242
  ({ ...props }, ref) => /* @__PURE__ */ jsx45("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsx45(Minus2, { className: "size-4" }) })
2228
2243
  );
2229
2244
  InputOTPSeparator.displayName = "InputOTPSeparator";
2230
2245
 
2231
2246
  // src/components/password-input.tsx
2232
- import * as React41 from "react";
2247
+ import * as React42 from "react";
2233
2248
  import { Eye, EyeOff } from "lucide-react";
2234
2249
  import { jsx as jsx46, jsxs as jsxs22 } from "react/jsx-runtime";
2235
- var PasswordInput = React41.forwardRef(({ className, ...props }, ref) => {
2236
- const [visible, setVisible] = React41.useState(false);
2250
+ var PasswordInput = React42.forwardRef(({ className, ...props }, ref) => {
2251
+ const [visible, setVisible] = React42.useState(false);
2237
2252
  return /* @__PURE__ */ jsxs22(InputGroup, { className, children: [
2238
2253
  /* @__PURE__ */ jsx46(InputGroupInput, { ref, type: visible ? "text" : "password", ...props }),
2239
2254
  /* @__PURE__ */ jsx46(InputGroupAddon, { align: "end", children: /* @__PURE__ */ jsx46(
@@ -2252,7 +2267,7 @@ var PasswordInput = React41.forwardRef(({ className, ...props }, ref) => {
2252
2267
  PasswordInput.displayName = "PasswordInput";
2253
2268
 
2254
2269
  // src/components/menubar.tsx
2255
- import * as React42 from "react";
2270
+ import * as React43 from "react";
2256
2271
  import * as MenubarPrimitive from "@radix-ui/react-menubar";
2257
2272
  import { Check as Check5, ChevronRight as ChevronRight6, Circle as Circle4 } from "lucide-react";
2258
2273
  import { jsx as jsx47, jsxs as jsxs23 } from "react/jsx-runtime";
@@ -2261,9 +2276,9 @@ var MenubarGroup = (props) => /* @__PURE__ */ jsx47(MenubarPrimitive.Group, { ..
2261
2276
  var MenubarPortal = (props) => /* @__PURE__ */ jsx47(MenubarPrimitive.Portal, { ...props });
2262
2277
  var MenubarSub = (props) => /* @__PURE__ */ jsx47(MenubarPrimitive.Sub, { ...props });
2263
2278
  var MenubarRadioGroup = (props) => /* @__PURE__ */ jsx47(MenubarPrimitive.RadioGroup, { ...props });
2264
- var itemCls3 = "relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground focus:ring-1 focus:ring-inset focus:ring-ring data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
2265
- var contentCls3 = "z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md font-sans data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95";
2266
- var Menubar = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx47(
2279
+ var itemCls3 = "relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground focus:ring-1 focus:ring-inset focus:ring-ring data-[disabled]:pointer-events-none data-[disabled]:opacity-disabled";
2280
+ var contentCls3 = "z-overlay min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md font-sans data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95";
2281
+ var Menubar = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx47(
2267
2282
  MenubarPrimitive.Root,
2268
2283
  {
2269
2284
  ref,
@@ -2272,7 +2287,7 @@ var Menubar = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__
2272
2287
  }
2273
2288
  ));
2274
2289
  Menubar.displayName = MenubarPrimitive.Root.displayName;
2275
- var MenubarTrigger = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx47(
2290
+ var MenubarTrigger = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx47(
2276
2291
  MenubarPrimitive.Trigger,
2277
2292
  {
2278
2293
  ref,
@@ -2284,14 +2299,14 @@ var MenubarTrigger = React42.forwardRef(({ className, ...props }, ref) => /* @__
2284
2299
  }
2285
2300
  ));
2286
2301
  MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
2287
- var MenubarSubTrigger = React42.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs23(MenubarPrimitive.SubTrigger, { ref, className: cn(itemCls3, "data-[state=open]:bg-accent", inset && "pl-8", className), ...props, children: [
2302
+ var MenubarSubTrigger = React43.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs23(MenubarPrimitive.SubTrigger, { ref, className: cn(itemCls3, "data-[state=open]:bg-accent", inset && "pl-8", className), ...props, children: [
2288
2303
  children,
2289
2304
  /* @__PURE__ */ jsx47(ChevronRight6, { className: "ml-auto size-4" })
2290
2305
  ] }));
2291
2306
  MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
2292
- var MenubarSubContent = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx47(MenubarPrimitive.SubContent, { ref, className: cn(contentCls3, className), ...props }));
2307
+ var MenubarSubContent = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx47(MenubarPrimitive.SubContent, { ref, className: cn(contentCls3, className), ...props }));
2293
2308
  MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
2294
- var MenubarContent = React42.forwardRef(({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx47(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx47(
2309
+ var MenubarContent = React43.forwardRef(({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx47(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx47(
2295
2310
  MenubarPrimitive.Content,
2296
2311
  {
2297
2312
  ref,
@@ -2303,36 +2318,36 @@ var MenubarContent = React42.forwardRef(({ className, align = "start", alignOffs
2303
2318
  }
2304
2319
  ) }));
2305
2320
  MenubarContent.displayName = MenubarPrimitive.Content.displayName;
2306
- var MenubarItem = React42.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx47(MenubarPrimitive.Item, { ref, className: cn(itemCls3, inset && "pl-8", className), ...props }));
2321
+ var MenubarItem = React43.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx47(MenubarPrimitive.Item, { ref, className: cn(itemCls3, inset && "pl-8", className), ...props }));
2307
2322
  MenubarItem.displayName = MenubarPrimitive.Item.displayName;
2308
- var MenubarCheckboxItem = React42.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs23(MenubarPrimitive.CheckboxItem, { ref, className: cn(itemCls3, "pl-8", className), checked, ...props, children: [
2323
+ var MenubarCheckboxItem = React43.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs23(MenubarPrimitive.CheckboxItem, { ref, className: cn(itemCls3, "pl-8", className), checked, ...props, children: [
2309
2324
  /* @__PURE__ */ jsx47("span", { className: "absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx47(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx47(Check5, { className: "size-4" }) }) }),
2310
2325
  children
2311
2326
  ] }));
2312
2327
  MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
2313
- var MenubarRadioItem = React42.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs23(MenubarPrimitive.RadioItem, { ref, className: cn(itemCls3, "pl-8", className), ...props, children: [
2328
+ var MenubarRadioItem = React43.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs23(MenubarPrimitive.RadioItem, { ref, className: cn(itemCls3, "pl-8", className), ...props, children: [
2314
2329
  /* @__PURE__ */ jsx47("span", { className: "absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx47(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx47(Circle4, { className: "size-2 fill-current" }) }) }),
2315
2330
  children
2316
2331
  ] }));
2317
2332
  MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
2318
- var MenubarLabel = React42.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx47(MenubarPrimitive.Label, { ref, className: cn("px-2 py-1.5 text-sm font-semibold", inset && "pl-8", className), ...props }));
2333
+ var MenubarLabel = React43.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx47(MenubarPrimitive.Label, { ref, className: cn("px-2 py-1.5 text-sm font-semibold", inset && "pl-8", className), ...props }));
2319
2334
  MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
2320
- var MenubarSeparator = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx47(MenubarPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-border", className), ...props }));
2335
+ var MenubarSeparator = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx47(MenubarPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-border", className), ...props }));
2321
2336
  MenubarSeparator.displayName = MenubarPrimitive.Separator.displayName;
2322
2337
  var MenubarShortcut = ({ className, ...props }) => /* @__PURE__ */ jsx47("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
2323
2338
  MenubarShortcut.displayName = "MenubarShortcut";
2324
2339
 
2325
2340
  // src/components/navigation-menu.tsx
2326
- import * as React43 from "react";
2341
+ import * as React44 from "react";
2327
2342
  import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
2328
2343
  import { cva as cva12 } from "class-variance-authority";
2329
2344
  import { ChevronDown as ChevronDown3 } from "lucide-react";
2330
2345
  import { jsx as jsx48, jsxs as jsxs24 } from "react/jsx-runtime";
2331
- var NavigationMenu = React43.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs24(
2346
+ var NavigationMenu = React44.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs24(
2332
2347
  NavigationMenuPrimitive.Root,
2333
2348
  {
2334
2349
  ref,
2335
- className: cn("relative z-10 flex max-w-max flex-1 items-center justify-center font-sans", className),
2350
+ className: cn("relative z-docked flex max-w-max flex-1 items-center justify-center font-sans", className),
2336
2351
  ...props,
2337
2352
  children: [
2338
2353
  children,
@@ -2341,7 +2356,7 @@ var NavigationMenu = React43.forwardRef(({ className, children, ...props }, ref)
2341
2356
  }
2342
2357
  ));
2343
2358
  NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
2344
- var NavigationMenuList = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
2359
+ var NavigationMenuList = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
2345
2360
  NavigationMenuPrimitive.List,
2346
2361
  {
2347
2362
  ref,
@@ -2352,20 +2367,20 @@ var NavigationMenuList = React43.forwardRef(({ className, ...props }, ref) => /*
2352
2367
  NavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName;
2353
2368
  var NavigationMenuItem = NavigationMenuPrimitive.Item;
2354
2369
  var navigationMenuTriggerStyle = cva12(
2355
- "group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=open]:bg-accent/50"
2370
+ "group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-disabled data-[state=open]:bg-accent/50"
2356
2371
  );
2357
- var NavigationMenuTrigger = React43.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs24(NavigationMenuPrimitive.Trigger, { ref, className: cn(navigationMenuTriggerStyle(), "group", className), ...props, children: [
2372
+ var NavigationMenuTrigger = React44.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs24(NavigationMenuPrimitive.Trigger, { ref, className: cn(navigationMenuTriggerStyle(), "group", className), ...props, children: [
2358
2373
  children,
2359
2374
  /* @__PURE__ */ jsx48(
2360
2375
  ChevronDown3,
2361
2376
  {
2362
- className: "relative top-px ml-1 size-3 transition-transform duration-200 group-data-[state=open]:rotate-180",
2377
+ className: "relative top-px ml-1 size-3 transition-transform duration-fast group-data-[state=open]:rotate-180",
2363
2378
  "aria-hidden": true
2364
2379
  }
2365
2380
  )
2366
2381
  ] }));
2367
2382
  NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
2368
- var NavigationMenuContent = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
2383
+ var NavigationMenuContent = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
2369
2384
  NavigationMenuPrimitive.Content,
2370
2385
  {
2371
2386
  ref,
@@ -2378,7 +2393,7 @@ var NavigationMenuContent = React43.forwardRef(({ className, ...props }, ref) =>
2378
2393
  ));
2379
2394
  NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
2380
2395
  var NavigationMenuLink = NavigationMenuPrimitive.Link;
2381
- var NavigationMenuViewport = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48("div", { className: "absolute left-0 top-full flex justify-center", children: /* @__PURE__ */ jsx48(
2396
+ var NavigationMenuViewport = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48("div", { className: "absolute left-0 top-full flex justify-center", children: /* @__PURE__ */ jsx48(
2382
2397
  NavigationMenuPrimitive.Viewport,
2383
2398
  {
2384
2399
  ref,
@@ -2390,12 +2405,12 @@ var NavigationMenuViewport = React43.forwardRef(({ className, ...props }, ref) =
2390
2405
  }
2391
2406
  ) }));
2392
2407
  NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
2393
- var NavigationMenuIndicator = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
2408
+ var NavigationMenuIndicator = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
2394
2409
  NavigationMenuPrimitive.Indicator,
2395
2410
  {
2396
2411
  ref,
2397
2412
  className: cn(
2398
- "top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",
2413
+ "top-full z-raised flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",
2399
2414
  className
2400
2415
  ),
2401
2416
  ...props,
@@ -2436,13 +2451,13 @@ var ResizableHandle = ({
2436
2451
  className
2437
2452
  ),
2438
2453
  ...props,
2439
- children: withHandle && /* @__PURE__ */ jsx49("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ jsx49(GripVertical, { className: "size-2.5" }) })
2454
+ children: withHandle && /* @__PURE__ */ jsx49("div", { className: "z-docked flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ jsx49(GripVertical, { className: "size-2.5" }) })
2440
2455
  }
2441
2456
  );
2442
2457
 
2443
2458
  // src/components/sidebar.tsx
2444
- import * as React44 from "react";
2445
- import { Slot as Slot5 } from "@radix-ui/react-slot";
2459
+ import * as React45 from "react";
2460
+ import { Slot as Slot7 } from "@radix-ui/react-slot";
2446
2461
  import { cva as cva13 } from "class-variance-authority";
2447
2462
  import { PanelLeft } from "lucide-react";
2448
2463
  import { jsx as jsx50, jsxs as jsxs25 } from "react/jsx-runtime";
@@ -2451,15 +2466,15 @@ var SIDEBAR_WIDTH = "16rem";
2451
2466
  var SIDEBAR_WIDTH_MOBILE = "18rem";
2452
2467
  var SIDEBAR_WIDTH_ICON = "3rem";
2453
2468
  var SIDEBAR_KEYBOARD_SHORTCUT = "b";
2454
- var SidebarContext = React44.createContext(null);
2469
+ var SidebarContext = React45.createContext(null);
2455
2470
  function useSidebar() {
2456
- const context = React44.useContext(SidebarContext);
2471
+ const context = React45.useContext(SidebarContext);
2457
2472
  if (!context) throw new Error("useSidebar must be used within a SidebarProvider.");
2458
2473
  return context;
2459
2474
  }
2460
2475
  function useIsMobile() {
2461
- const [isMobile, setIsMobile] = React44.useState(false);
2462
- React44.useEffect(() => {
2476
+ const [isMobile, setIsMobile] = React45.useState(false);
2477
+ React45.useEffect(() => {
2463
2478
  const mql = window.matchMedia("(max-width: 767px)");
2464
2479
  const onChange = () => setIsMobile(window.innerWidth < 768);
2465
2480
  mql.addEventListener("change", onChange);
@@ -2468,12 +2483,12 @@ function useIsMobile() {
2468
2483
  }, []);
2469
2484
  return isMobile;
2470
2485
  }
2471
- var SidebarProvider = React44.forwardRef(({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }, ref) => {
2486
+ var SidebarProvider = React45.forwardRef(({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }, ref) => {
2472
2487
  const isMobile = useIsMobile();
2473
- const [openMobile, setOpenMobile] = React44.useState(false);
2474
- const [_open, _setOpen] = React44.useState(defaultOpen);
2488
+ const [openMobile, setOpenMobile] = React45.useState(false);
2489
+ const [_open, _setOpen] = React45.useState(defaultOpen);
2475
2490
  const open = openProp ?? _open;
2476
- const setOpen = React44.useCallback(
2491
+ const setOpen = React45.useCallback(
2477
2492
  (value) => {
2478
2493
  const openState = typeof value === "function" ? value(open) : value;
2479
2494
  if (setOpenProp) setOpenProp(openState);
@@ -2482,10 +2497,10 @@ var SidebarProvider = React44.forwardRef(({ defaultOpen = true, open: openProp,
2482
2497
  },
2483
2498
  [setOpenProp, open]
2484
2499
  );
2485
- const toggleSidebar = React44.useCallback(() => {
2500
+ const toggleSidebar = React45.useCallback(() => {
2486
2501
  return isMobile ? setOpenMobile((o) => !o) : setOpen((o) => !o);
2487
2502
  }, [isMobile, setOpen]);
2488
- React44.useEffect(() => {
2503
+ React45.useEffect(() => {
2489
2504
  const handleKeyDown = (event) => {
2490
2505
  if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
2491
2506
  event.preventDefault();
@@ -2496,7 +2511,7 @@ var SidebarProvider = React44.forwardRef(({ defaultOpen = true, open: openProp,
2496
2511
  return () => window.removeEventListener("keydown", handleKeyDown);
2497
2512
  }, [toggleSidebar]);
2498
2513
  const state = open ? "expanded" : "collapsed";
2499
- const contextValue = React44.useMemo(
2514
+ const contextValue = React45.useMemo(
2500
2515
  () => ({ state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar }),
2501
2516
  [state, open, setOpen, isMobile, openMobile, toggleSidebar]
2502
2517
  );
@@ -2512,7 +2527,7 @@ var SidebarProvider = React44.forwardRef(({ defaultOpen = true, open: openProp,
2512
2527
  ) }) });
2513
2528
  });
2514
2529
  SidebarProvider.displayName = "SidebarProvider";
2515
- var Sidebar = React44.forwardRef(({ side = "left", variant = "sidebar", collapsible = "offcanvas", className, children, ...props }, ref) => {
2530
+ var Sidebar = React45.forwardRef(({ side = "left", variant = "sidebar", collapsible = "offcanvas", className, children, ...props }, ref) => {
2516
2531
  const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
2517
2532
  if (collapsible === "none") {
2518
2533
  return /* @__PURE__ */ jsx50("div", { ref, className: cn("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground", className), ...props, children });
@@ -2550,7 +2565,7 @@ var Sidebar = React44.forwardRef(({ side = "left", variant = "sidebar", collapsi
2550
2565
  "div",
2551
2566
  {
2552
2567
  className: cn(
2553
- "relative h-svh w-[--sidebar-width] bg-transparent transition-[width] duration-200 ease-linear",
2568
+ "relative h-svh w-[--sidebar-width] bg-transparent transition-[width] duration-fast ease-linear",
2554
2569
  "group-data-[collapsible=offcanvas]:w-0",
2555
2570
  variant === "floating" || variant === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+theme(spacing.4))]" : "group-data-[collapsible=icon]:w-[--sidebar-width-icon]"
2556
2571
  )
@@ -2560,7 +2575,7 @@ var Sidebar = React44.forwardRef(({ side = "left", variant = "sidebar", collapsi
2560
2575
  "div",
2561
2576
  {
2562
2577
  className: cn(
2563
- "fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] duration-200 ease-linear md:flex",
2578
+ "fixed inset-y-0 z-docked hidden h-svh w-[--sidebar-width] transition-[left,right,width] duration-fast ease-linear md:flex",
2564
2579
  side === "left" ? "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]" : "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",
2565
2580
  variant === "floating" || variant === "inset" ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+theme(spacing.4)+2px)]" : "group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l",
2566
2581
  className
@@ -2581,7 +2596,7 @@ var Sidebar = React44.forwardRef(({ side = "left", variant = "sidebar", collapsi
2581
2596
  );
2582
2597
  });
2583
2598
  Sidebar.displayName = "Sidebar";
2584
- var SidebarTrigger = React44.forwardRef(
2599
+ var SidebarTrigger = React45.forwardRef(
2585
2600
  ({ className, onClick, ...props }, ref) => {
2586
2601
  const { toggleSidebar } = useSidebar();
2587
2602
  return /* @__PURE__ */ jsxs25(
@@ -2605,7 +2620,7 @@ var SidebarTrigger = React44.forwardRef(
2605
2620
  }
2606
2621
  );
2607
2622
  SidebarTrigger.displayName = "SidebarTrigger";
2608
- var SidebarInset = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50(
2623
+ var SidebarInset = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50(
2609
2624
  "main",
2610
2625
  {
2611
2626
  ref,
@@ -2618,15 +2633,15 @@ var SidebarInset = React44.forwardRef(({ className, ...props }, ref) => /* @__PU
2618
2633
  }
2619
2634
  ));
2620
2635
  SidebarInset.displayName = "SidebarInset";
2621
- var SidebarHeader = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50("div", { ref, "data-sidebar": "header", className: cn("flex flex-col gap-2 p-2", className), ...props }));
2636
+ var SidebarHeader = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50("div", { ref, "data-sidebar": "header", className: cn("flex flex-col gap-2 p-2", className), ...props }));
2622
2637
  SidebarHeader.displayName = "SidebarHeader";
2623
- var SidebarFooter = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50("div", { ref, "data-sidebar": "footer", className: cn("flex flex-col gap-2 p-2", className), ...props }));
2638
+ var SidebarFooter = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50("div", { ref, "data-sidebar": "footer", className: cn("flex flex-col gap-2 p-2", className), ...props }));
2624
2639
  SidebarFooter.displayName = "SidebarFooter";
2625
- var SidebarSeparator = React44.forwardRef(
2640
+ var SidebarSeparator = React45.forwardRef(
2626
2641
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx50(Separator3, { ref, "data-sidebar": "separator", className: cn("mx-2 w-auto bg-sidebar-border", className), ...props })
2627
2642
  );
2628
2643
  SidebarSeparator.displayName = "SidebarSeparator";
2629
- var SidebarContent = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50(
2644
+ var SidebarContent = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50(
2630
2645
  "div",
2631
2646
  {
2632
2647
  ref,
@@ -2636,18 +2651,18 @@ var SidebarContent = React44.forwardRef(({ className, ...props }, ref) => /* @__
2636
2651
  }
2637
2652
  ));
2638
2653
  SidebarContent.displayName = "SidebarContent";
2639
- var SidebarGroup = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50("div", { ref, "data-sidebar": "group", className: cn("relative flex w-full min-w-0 flex-col p-2", className), ...props }));
2654
+ var SidebarGroup = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50("div", { ref, "data-sidebar": "group", className: cn("relative flex w-full min-w-0 flex-col p-2", className), ...props }));
2640
2655
  SidebarGroup.displayName = "SidebarGroup";
2641
- var SidebarGroupLabel = React44.forwardRef(({ className, asChild = false, ...props }, ref) => {
2642
- const Comp = asChild ? Slot5 : "div";
2656
+ var SidebarGroupLabel = React45.forwardRef(({ className, asChild = false, ...props }, ref) => {
2657
+ const Comp = asChild ? Slot7 : "div";
2643
2658
  return /* @__PURE__ */ jsx50(
2644
2659
  Comp,
2645
2660
  {
2646
2661
  ref,
2647
2662
  "data-sidebar": "group-label",
2648
2663
  className: cn(
2649
- "flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
2650
- "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",
2664
+ "flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none transition-[margin,opacity] duration-fast ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
2665
+ "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-hidden",
2651
2666
  className
2652
2667
  ),
2653
2668
  ...props
@@ -2655,16 +2670,16 @@ var SidebarGroupLabel = React44.forwardRef(({ className, asChild = false, ...pro
2655
2670
  );
2656
2671
  });
2657
2672
  SidebarGroupLabel.displayName = "SidebarGroupLabel";
2658
- var SidebarGroupContent = React44.forwardRef(
2673
+ var SidebarGroupContent = React45.forwardRef(
2659
2674
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx50("div", { ref, "data-sidebar": "group-content", className: cn("w-full text-sm", className), ...props })
2660
2675
  );
2661
2676
  SidebarGroupContent.displayName = "SidebarGroupContent";
2662
- var SidebarMenu = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50("ul", { ref, "data-sidebar": "menu", className: cn("flex w-full min-w-0 flex-col gap-1", className), ...props }));
2677
+ var SidebarMenu = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50("ul", { ref, "data-sidebar": "menu", className: cn("flex w-full min-w-0 flex-col gap-1", className), ...props }));
2663
2678
  SidebarMenu.displayName = "SidebarMenu";
2664
- var SidebarMenuItem = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50("li", { ref, "data-sidebar": "menu-item", className: cn("group/menu-item relative", className), ...props }));
2679
+ var SidebarMenuItem = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50("li", { ref, "data-sidebar": "menu-item", className: cn("group/menu-item relative", className), ...props }));
2665
2680
  SidebarMenuItem.displayName = "SidebarMenuItem";
2666
2681
  var sidebarMenuButtonVariants = cva13(
2667
- "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none 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",
2682
+ "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none 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-disabled group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-disabled 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",
2668
2683
  {
2669
2684
  variants: {
2670
2685
  variant: {
@@ -2680,8 +2695,8 @@ var sidebarMenuButtonVariants = cva13(
2680
2695
  defaultVariants: { variant: "default", size: "default" }
2681
2696
  }
2682
2697
  );
2683
- var SidebarMenuButton = React44.forwardRef(({ asChild = false, isActive = false, variant = "default", size = "default", tooltip, className, ...props }, ref) => {
2684
- const Comp = asChild ? Slot5 : "button";
2698
+ var SidebarMenuButton = React45.forwardRef(({ asChild = false, isActive = false, variant = "default", size = "default", tooltip, className, ...props }, ref) => {
2699
+ const Comp = asChild ? Slot7 : "button";
2685
2700
  const { isMobile, state } = useSidebar();
2686
2701
  const button = /* @__PURE__ */ jsx50(
2687
2702
  Comp,
@@ -2702,21 +2717,21 @@ var SidebarMenuButton = React44.forwardRef(({ asChild = false, isActive = false,
2702
2717
  ] });
2703
2718
  });
2704
2719
  SidebarMenuButton.displayName = "SidebarMenuButton";
2705
- var SidebarMenuSkeleton = React44.forwardRef(({ className, showIcon = false, ...props }, ref) => {
2706
- const width = React44.useMemo(() => `${Math.floor(Math.random() * 40) + 50}%`, []);
2720
+ var SidebarMenuSkeleton = React45.forwardRef(({ className, showIcon = false, ...props }, ref) => {
2721
+ const width = React45.useMemo(() => `${Math.floor(Math.random() * 40) + 50}%`, []);
2707
2722
  return /* @__PURE__ */ jsxs25("div", { ref, "data-sidebar": "menu-skeleton", className: cn("flex h-8 items-center gap-2 rounded-md px-2", className), ...props, children: [
2708
2723
  showIcon && /* @__PURE__ */ jsx50(Skeleton, { className: "size-4 rounded-md" }),
2709
2724
  /* @__PURE__ */ jsx50(Skeleton, { className: "h-4 max-w-[--skeleton-width] flex-1", style: { "--skeleton-width": width } })
2710
2725
  ] });
2711
2726
  });
2712
2727
  SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
2713
- var SidebarInput = React44.forwardRef(
2728
+ var SidebarInput = React45.forwardRef(
2714
2729
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx50(Input, { ref, "data-sidebar": "input", className: cn("h-8 w-full bg-background shadow-none", className), ...props })
2715
2730
  );
2716
2731
  SidebarInput.displayName = "SidebarInput";
2717
2732
 
2718
2733
  // src/components/audio-player.tsx
2719
- import * as React45 from "react";
2734
+ import * as React46 from "react";
2720
2735
  import { Pause, Play, SkipBack, SkipForward } from "lucide-react";
2721
2736
  import { jsx as jsx51, jsxs as jsxs26 } from "react/jsx-runtime";
2722
2737
  function fmt(t) {
@@ -2725,12 +2740,12 @@ function fmt(t) {
2725
2740
  const s = Math.floor(t % 60);
2726
2741
  return `${m}:${s.toString().padStart(2, "0")}`;
2727
2742
  }
2728
- var AudioPlayer = React45.forwardRef(
2743
+ var AudioPlayer = React46.forwardRef(
2729
2744
  ({ src, variant = "full", title, artist, coverSrc, skipBy = 10, onPrev, onNext, className, ...props }, ref) => {
2730
- const audioRef = React45.useRef(null);
2731
- const [playing, setPlaying] = React45.useState(false);
2732
- const [current, setCurrent] = React45.useState(0);
2733
- const [duration, setDuration] = React45.useState(0);
2745
+ const audioRef = React46.useRef(null);
2746
+ const [playing, setPlaying] = React46.useState(false);
2747
+ const [current, setCurrent] = React46.useState(0);
2748
+ const [duration, setDuration] = React46.useState(0);
2734
2749
  const toggle = () => {
2735
2750
  const a = audioRef.current;
2736
2751
  if (!a) return;
@@ -2829,9 +2844,9 @@ var AudioPlayer = React45.forwardRef(
2829
2844
  AudioPlayer.displayName = "AudioPlayer";
2830
2845
 
2831
2846
  // src/components/circular-progress.tsx
2832
- import * as React46 from "react";
2847
+ import * as React47 from "react";
2833
2848
  import { jsx as jsx52, jsxs as jsxs27 } from "react/jsx-runtime";
2834
- var CircularProgress = React46.forwardRef(
2849
+ var CircularProgress = React47.forwardRef(
2835
2850
  ({ value = 0, size = 48, strokeWidth = 4, showValue = false, label, className, ...props }, ref) => {
2836
2851
  const v = Math.max(0, Math.min(100, value));
2837
2852
  const r = (size - strokeWidth) / 2;
@@ -2871,7 +2886,7 @@ var CircularProgress = React46.forwardRef(
2871
2886
  strokeLinecap: "round",
2872
2887
  strokeDasharray: c,
2873
2888
  strokeDashoffset: c - v / 100 * c,
2874
- className: "stroke-primary transition-[stroke-dashoffset] duration-300"
2889
+ className: "stroke-primary transition-[stroke-dashoffset] duration-base"
2875
2890
  }
2876
2891
  )
2877
2892
  ] }),
@@ -2884,7 +2899,7 @@ var CircularProgress = React46.forwardRef(
2884
2899
  CircularProgress.displayName = "CircularProgress";
2885
2900
 
2886
2901
  // src/components/image.tsx
2887
- import * as React47 from "react";
2902
+ import * as React48 from "react";
2888
2903
  import { ImageOff } from "lucide-react";
2889
2904
  import { jsx as jsx53 } from "react/jsx-runtime";
2890
2905
  var RATIOS = {
@@ -2895,11 +2910,11 @@ var RATIOS = {
2895
2910
  "3:1": 3,
2896
2911
  "16:9": 16 / 9
2897
2912
  };
2898
- var Image2 = React47.forwardRef(
2913
+ var Image2 = React48.forwardRef(
2899
2914
  ({ ratio = "1:1", rounded = true, fallback, className, alt = "", onLoad, onError, ...props }, forwardedRef) => {
2900
- const [status, setStatus] = React47.useState("loading");
2901
- const innerRef = React47.useRef(null);
2902
- const setRef = React47.useCallback(
2915
+ const [status, setStatus] = React48.useState("loading");
2916
+ const innerRef = React48.useRef(null);
2917
+ const setRef = React48.useCallback(
2903
2918
  (node) => {
2904
2919
  innerRef.current = node;
2905
2920
  if (typeof forwardedRef === "function") forwardedRef(node);
@@ -2908,7 +2923,7 @@ var Image2 = React47.forwardRef(
2908
2923
  [forwardedRef]
2909
2924
  );
2910
2925
  const r = typeof ratio === "number" ? ratio : RATIOS[ratio] ?? 1;
2911
- React47.useEffect(() => {
2926
+ React48.useEffect(() => {
2912
2927
  const img = innerRef.current;
2913
2928
  if (!img) return;
2914
2929
  if (img.complete) setStatus(img.naturalWidth > 0 ? "loaded" : "error");
@@ -2928,8 +2943,8 @@ var Image2 = React47.forwardRef(
2928
2943
  ref: setRef,
2929
2944
  alt,
2930
2945
  className: cn(
2931
- "size-full object-cover transition-opacity duration-300",
2932
- status === "loaded" ? "opacity-100" : "opacity-0"
2946
+ "size-full object-cover transition-opacity duration-base",
2947
+ status === "loaded" ? "opacity-visible" : "opacity-hidden"
2933
2948
  ),
2934
2949
  onLoad: (e) => {
2935
2950
  setStatus("loaded");
@@ -2949,7 +2964,7 @@ var Image2 = React47.forwardRef(
2949
2964
  Image2.displayName = "Image";
2950
2965
 
2951
2966
  // src/components/inform.tsx
2952
- import * as React48 from "react";
2967
+ import * as React49 from "react";
2953
2968
  import { cva as cva14 } from "class-variance-authority";
2954
2969
  import { CircleAlert as CircleAlert2, CircleCheck as CircleCheck2, Info as Info2, TriangleAlert as TriangleAlert2, X as X5 } from "lucide-react";
2955
2970
  import { jsx as jsx54, jsxs as jsxs28 } from "react/jsx-runtime";
@@ -2975,7 +2990,7 @@ var ICON = {
2975
2990
  error: CircleAlert2,
2976
2991
  action: Info2
2977
2992
  };
2978
- var Inform = React48.forwardRef(
2993
+ var Inform = React49.forwardRef(
2979
2994
  ({ className, variant = "information", hideIcon, onDismiss, action, children, ...props }, ref) => {
2980
2995
  const Icon2 = ICON[variant ?? "information"];
2981
2996
  return /* @__PURE__ */ jsxs28("div", { ref, role: "status", className: cn(informVariants({ variant }), className), ...props, children: [
@@ -3001,7 +3016,7 @@ var Inform = React48.forwardRef(
3001
3016
  type: "button",
3002
3017
  onClick: onDismiss,
3003
3018
  "aria-label": "Dismiss",
3004
- className: "-m-0.5 shrink-0 rounded-[2px] p-0.5 opacity-70 outline-none transition-opacity hover:opacity-100 focus-visible:opacity-100 focus-visible:ring-1 focus-visible:ring-current",
3019
+ className: "-m-0.5 shrink-0 rounded-[2px] p-0.5 opacity-muted outline-none transition-opacity hover:opacity-visible focus-visible:opacity-visible focus-visible:ring-1 focus-visible:ring-current",
3005
3020
  children: /* @__PURE__ */ jsx54(X5, { className: "size-3.5" })
3006
3021
  }
3007
3022
  )
@@ -3011,7 +3026,7 @@ var Inform = React48.forwardRef(
3011
3026
  Inform.displayName = "Inform";
3012
3027
 
3013
3028
  // src/components/rating.tsx
3014
- import * as React49 from "react";
3029
+ import * as React50 from "react";
3015
3030
  import { Star } from "lucide-react";
3016
3031
  import { cva as cva15 } from "class-variance-authority";
3017
3032
  import { jsx as jsx55 } from "react/jsx-runtime";
@@ -3025,10 +3040,10 @@ var starVariants = cva15("transition-colors", {
3025
3040
  },
3026
3041
  defaultVariants: { size: "md" }
3027
3042
  });
3028
- var Rating = React49.forwardRef(
3043
+ var Rating = React50.forwardRef(
3029
3044
  ({ className, value, defaultValue = 0, max = 5, size, readOnly = false, onChange, ...props }, ref) => {
3030
- const [internal, setInternal] = React49.useState(defaultValue);
3031
- const [hovered, setHovered] = React49.useState(null);
3045
+ const [internal, setInternal] = React50.useState(defaultValue);
3046
+ const [hovered, setHovered] = React50.useState(null);
3032
3047
  const current = value ?? internal;
3033
3048
  const display = hovered ?? current;
3034
3049
  const set = (n) => {
@@ -3081,7 +3096,7 @@ var Rating = React49.forwardRef(
3081
3096
  Rating.displayName = "Rating";
3082
3097
 
3083
3098
  // src/components/spinner.tsx
3084
- import * as React50 from "react";
3099
+ import * as React51 from "react";
3085
3100
  import { cva as cva16 } from "class-variance-authority";
3086
3101
  import { jsx as jsx56 } from "react/jsx-runtime";
3087
3102
  var spinnerVariants = cva16("inline-block animate-spin rounded-full border-2 border-current border-t-transparent", {
@@ -3099,19 +3114,19 @@ var spinnerVariants = cva16("inline-block animate-spin rounded-full border-2 bor
3099
3114
  },
3100
3115
  defaultVariants: { size: "md", variant: "default" }
3101
3116
  });
3102
- var Spinner = React50.forwardRef(
3117
+ var Spinner = React51.forwardRef(
3103
3118
  ({ className, size, variant, label = "Loading\u2026", ...props }, ref) => /* @__PURE__ */ jsx56("span", { ref, role: "status", "aria-label": label, className: cn(spinnerVariants({ size, variant }), className), ...props, children: /* @__PURE__ */ jsx56("span", { className: "sr-only", children: label }) })
3104
3119
  );
3105
3120
  Spinner.displayName = "Spinner";
3106
3121
 
3107
3122
  // src/components/list.tsx
3108
- import * as React51 from "react";
3123
+ import * as React52 from "react";
3109
3124
  import { jsx as jsx57, jsxs as jsxs29 } from "react/jsx-runtime";
3110
- var List3 = React51.forwardRef(
3125
+ var List3 = React52.forwardRef(
3111
3126
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx57("div", { ref, role: "list", className: cn("flex flex-col divide-y divide-border", className), ...props })
3112
3127
  );
3113
3128
  List3.displayName = "List";
3114
- var ListItem = React51.forwardRef(
3129
+ var ListItem = React52.forwardRef(
3115
3130
  ({ className, leading, title, description, trailing, disabled, onSelect, ...props }, ref) => {
3116
3131
  const interactive = !!onSelect && !disabled;
3117
3132
  return /* @__PURE__ */ jsxs29(
@@ -3132,7 +3147,7 @@ var ListItem = React51.forwardRef(
3132
3147
  "flex items-center gap-3 px-3 py-3 font-sans outline-none",
3133
3148
  // ring keeps the highlighted row perceptible where the accent fill is <3:1 (dark)
3134
3149
  interactive && "cursor-pointer hover:bg-accent hover:ring-1 hover:ring-inset hover:ring-ring focus-visible:bg-accent focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-ring",
3135
- disabled && "pointer-events-none opacity-50",
3150
+ disabled && "pointer-events-none opacity-disabled",
3136
3151
  className
3137
3152
  ),
3138
3153
  ...props,
@@ -3151,10 +3166,10 @@ var ListItem = React51.forwardRef(
3151
3166
  ListItem.displayName = "ListItem";
3152
3167
 
3153
3168
  // src/components/stepper.tsx
3154
- import * as React52 from "react";
3169
+ import * as React53 from "react";
3155
3170
  import { Check as Check6 } from "lucide-react";
3156
3171
  import { jsx as jsx58, jsxs as jsxs30 } from "react/jsx-runtime";
3157
- var Stepper = React52.forwardRef(
3172
+ var Stepper = React53.forwardRef(
3158
3173
  ({ className, steps, current, orientation = "horizontal", ...props }, ref) => {
3159
3174
  const vertical = orientation === "vertical";
3160
3175
  return /* @__PURE__ */ jsx58("ol", { ref, className: cn("flex font-sans", vertical ? "flex-col" : "w-full items-start", className), ...props, children: steps.map((step, i) => {
@@ -3205,15 +3220,15 @@ var Stepper = React52.forwardRef(
3205
3220
  Stepper.displayName = "Stepper";
3206
3221
 
3207
3222
  // src/components/fab.tsx
3208
- import * as React53 from "react";
3209
- import { Slot as Slot6 } from "@radix-ui/react-slot";
3223
+ import * as React54 from "react";
3224
+ import { Slot as Slot8 } from "@radix-ui/react-slot";
3210
3225
  import { cva as cva17 } from "class-variance-authority";
3211
3226
  import { jsx as jsx59 } from "react/jsx-runtime";
3212
3227
  var fabVariants = cva17(
3213
3228
  [
3214
3229
  "inline-flex shrink-0 items-center justify-center gap-2 rounded-full font-sans font-medium",
3215
3230
  "shadow-lg outline-none transition-colors",
3216
- "focus-visible:shadow-focus disabled:pointer-events-none disabled:opacity-50",
3231
+ "focus-visible:shadow-focus disabled:pointer-events-none disabled:opacity-disabled",
3217
3232
  "[&_svg]:pointer-events-none [&_svg]:shrink-0"
3218
3233
  ],
3219
3234
  {
@@ -3234,9 +3249,9 @@ var fabVariants = cva17(
3234
3249
  defaultVariants: { variant: "Primary", size: "default", extended: false }
3235
3250
  }
3236
3251
  );
3237
- var Fab = React53.forwardRef(
3252
+ var Fab = React54.forwardRef(
3238
3253
  ({ className, variant, size, extended, asChild = false, ...props }, ref) => {
3239
- const Comp = asChild ? Slot6 : "button";
3254
+ const Comp = asChild ? Slot8 : "button";
3240
3255
  return /* @__PURE__ */ jsx59(
3241
3256
  Comp,
3242
3257
  {
@@ -3251,9 +3266,9 @@ var Fab = React53.forwardRef(
3251
3266
  Fab.displayName = "Fab";
3252
3267
 
3253
3268
  // src/components/tab-bar.tsx
3254
- import * as React54 from "react";
3269
+ import * as React55 from "react";
3255
3270
  import { jsx as jsx60, jsxs as jsxs31 } from "react/jsx-runtime";
3256
- var TabBar = React54.forwardRef(
3271
+ var TabBar = React55.forwardRef(
3257
3272
  ({ className, children, ...props }, ref) => /* @__PURE__ */ jsx60(
3258
3273
  "nav",
3259
3274
  {
@@ -3265,7 +3280,7 @@ var TabBar = React54.forwardRef(
3265
3280
  )
3266
3281
  );
3267
3282
  TabBar.displayName = "TabBar";
3268
- var TabBarItem = React54.forwardRef(
3283
+ var TabBarItem = React55.forwardRef(
3269
3284
  ({ className, icon, label, active, badge, ...props }, ref) => /* @__PURE__ */ jsxs31(
3270
3285
  "button",
3271
3286
  {
@@ -3292,10 +3307,10 @@ var TabBarItem = React54.forwardRef(
3292
3307
  TabBarItem.displayName = "TabBarItem";
3293
3308
 
3294
3309
  // src/components/navigation-bar.tsx
3295
- import * as React55 from "react";
3310
+ import * as React56 from "react";
3296
3311
  import { ChevronLeft as ChevronLeft3 } from "lucide-react";
3297
3312
  import { jsx as jsx61, jsxs as jsxs32 } from "react/jsx-runtime";
3298
- var NavigationBar = React55.forwardRef(
3313
+ var NavigationBar = React56.forwardRef(
3299
3314
  ({ className, title, infoText, onBack, leading, actions, ...props }, ref) => /* @__PURE__ */ jsxs32(
3300
3315
  "header",
3301
3316
  {
@@ -3325,28 +3340,28 @@ var NavigationBar = React55.forwardRef(
3325
3340
  NavigationBar.displayName = "NavigationBar";
3326
3341
 
3327
3342
  // src/components/app-bar.tsx
3328
- import * as React56 from "react";
3329
- import { Slot as Slot7 } from "@radix-ui/react-slot";
3343
+ import * as React57 from "react";
3344
+ import { Slot as Slot9 } from "@radix-ui/react-slot";
3330
3345
  import { Menu as Menu2, X as X6 } from "lucide-react";
3331
3346
  import { jsx as jsx62, jsxs as jsxs33 } from "react/jsx-runtime";
3332
- var Ctx = React56.createContext(null);
3347
+ var Ctx = React57.createContext(null);
3333
3348
  var useAppBar = () => {
3334
- const ctx = React56.useContext(Ctx);
3349
+ const ctx = React57.useContext(Ctx);
3335
3350
  if (!ctx) throw new Error("AppBar parts must be used within <AppBar>");
3336
3351
  return ctx;
3337
3352
  };
3338
- var AppBar = React56.forwardRef(
3353
+ var AppBar = React57.forwardRef(
3339
3354
  ({ className, children, ...props }, ref) => {
3340
- const [open, setOpen] = React56.useState(false);
3341
- const nav = React56.Children.toArray(children).find(
3342
- (c) => React56.isValidElement(c) && c.type === AppBarNav
3355
+ const [open, setOpen] = React57.useState(false);
3356
+ const nav = React57.Children.toArray(children).find(
3357
+ (c) => React57.isValidElement(c) && c.type === AppBarNav
3343
3358
  );
3344
3359
  return /* @__PURE__ */ jsx62(Ctx.Provider, { value: { open, setOpen }, children: /* @__PURE__ */ jsxs33(
3345
3360
  "header",
3346
3361
  {
3347
3362
  ref,
3348
3363
  className: cn(
3349
- "sticky top-0 z-40 w-full border-b border-border bg-background/95 font-sans",
3364
+ "sticky top-0 z-sticky w-full border-b border-border bg-background/95 font-sans",
3350
3365
  "backdrop-blur supports-[backdrop-filter]:bg-background/75",
3351
3366
  className
3352
3367
  ),
@@ -3376,7 +3391,7 @@ var AppBar = React56.forwardRef(
3376
3391
  }
3377
3392
  );
3378
3393
  AppBar.displayName = "AppBar";
3379
- var AppBarBrand = React56.forwardRef(
3394
+ var AppBarBrand = React57.forwardRef(
3380
3395
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx62(
3381
3396
  "div",
3382
3397
  {
@@ -3387,13 +3402,13 @@ var AppBarBrand = React56.forwardRef(
3387
3402
  )
3388
3403
  );
3389
3404
  AppBarBrand.displayName = "AppBarBrand";
3390
- var AppBarNav = React56.forwardRef(
3405
+ var AppBarNav = React57.forwardRef(
3391
3406
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx62("nav", { ref, className: cn("hidden items-center gap-1 md:flex", className), ...props })
3392
3407
  );
3393
3408
  AppBarNav.displayName = "AppBarNav";
3394
- var AppBarLink = React56.forwardRef(
3409
+ var AppBarLink = React57.forwardRef(
3395
3410
  ({ className, active, asChild, ...props }, ref) => {
3396
- const Comp = asChild ? Slot7 : "a";
3411
+ const Comp = asChild ? Slot9 : "a";
3397
3412
  return /* @__PURE__ */ jsx62(
3398
3413
  Comp,
3399
3414
  {
@@ -3412,13 +3427,13 @@ var AppBarLink = React56.forwardRef(
3412
3427
  }
3413
3428
  );
3414
3429
  AppBarLink.displayName = "AppBarLink";
3415
- var AppBarActions = React56.forwardRef(
3430
+ var AppBarActions = React57.forwardRef(
3416
3431
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx62("div", { ref, className: cn("ml-auto flex shrink-0 items-center gap-2", className), ...props })
3417
3432
  );
3418
3433
  AppBarActions.displayName = "AppBarActions";
3419
3434
 
3420
3435
  // src/components/file-upload.tsx
3421
- import * as React57 from "react";
3436
+ import * as React58 from "react";
3422
3437
  import { File, Loader2, TriangleAlert as TriangleAlert3, Upload, X as X7 } from "lucide-react";
3423
3438
  import { jsx as jsx63, jsxs as jsxs34 } from "react/jsx-runtime";
3424
3439
  function formatBytes(bytes) {
@@ -3432,10 +3447,10 @@ function formatBytes(bytes) {
3432
3447
  }
3433
3448
  return `${v.toFixed(v < 10 && i > 0 ? 1 : 0)} ${units[i]}`;
3434
3449
  }
3435
- var FileUpload = React57.forwardRef(
3450
+ var FileUpload = React58.forwardRef(
3436
3451
  ({ className, multiple, accept, disabled, helperText, buttonLabel = "Browse files", files = [], onFilesSelected, onRemove, onRetry, ...props }, ref) => {
3437
- const inputRef = React57.useRef(null);
3438
- const [dragging, setDragging] = React57.useState(false);
3452
+ const inputRef = React58.useRef(null);
3453
+ const [dragging, setDragging] = React58.useState(false);
3439
3454
  const pick = (list) => {
3440
3455
  if (!list || !list.length) return;
3441
3456
  onFilesSelected?.(Array.from(list));
@@ -3468,7 +3483,7 @@ var FileUpload = React57.forwardRef(
3468
3483
  "flex flex-col items-center gap-2 rounded-md border border-dashed border-input p-6 text-center outline-none transition-colors",
3469
3484
  !disabled && "cursor-pointer hover:bg-accent/50 focus-visible:shadow-focus",
3470
3485
  dragging && "border-primary bg-accent",
3471
- disabled && "pointer-events-none opacity-50"
3486
+ disabled && "pointer-events-none opacity-disabled"
3472
3487
  ),
3473
3488
  children: [
3474
3489
  /* @__PURE__ */ jsx63(Upload, { className: "size-6 text-muted-foreground", "aria-hidden": true }),
@@ -3549,13 +3564,13 @@ function FileUploadItem({ file, onRemove, onRetry }) {
3549
3564
  FileUploadItem.displayName = "FileUploadItem";
3550
3565
 
3551
3566
  // src/components/date-picker.tsx
3552
- import * as React58 from "react";
3567
+ import * as React59 from "react";
3553
3568
  import { CalendarIcon } from "lucide-react";
3554
3569
  import { format } from "date-fns";
3555
3570
  import { jsx as jsx64, jsxs as jsxs35 } from "react/jsx-runtime";
3556
- var DatePicker = React58.forwardRef(
3571
+ var DatePicker = React59.forwardRef(
3557
3572
  ({ value, onChange, placeholder = "Select date", label, helperText, error, disabled, className, formatStr = "PP", calendarProps }, ref) => {
3558
- const [open, setOpen] = React58.useState(false);
3573
+ const [open, setOpen] = React59.useState(false);
3559
3574
  return /* @__PURE__ */ jsxs35("div", { className: cn("flex flex-col gap-1.5 font-sans", className), children: [
3560
3575
  label && /* @__PURE__ */ jsx64("label", { className: "text-label-md font-medium text-foreground", children: label }),
3561
3576
  /* @__PURE__ */ jsxs35(Popover, { open, onOpenChange: setOpen, children: [
@@ -3593,14 +3608,14 @@ var DatePicker = React58.forwardRef(
3593
3608
  DatePicker.displayName = "DatePicker";
3594
3609
 
3595
3610
  // src/components/code-block.tsx
3596
- import * as React59 from "react";
3611
+ import * as React60 from "react";
3597
3612
  import { Check as Check7, Copy } from "lucide-react";
3598
3613
  import { jsx as jsx65, jsxs as jsxs36 } from "react/jsx-runtime";
3599
- var CodeBlock = React59.forwardRef(
3614
+ var CodeBlock = React60.forwardRef(
3600
3615
  ({ className, code, language, filename, files, hideCopy, ...props }, ref) => {
3601
3616
  const tabs = files && files.length > 0 ? files : [{ name: filename ?? language ?? "", code: code ?? "" }];
3602
- const [active, setActive] = React59.useState(0);
3603
- const [copied, setCopied] = React59.useState(false);
3617
+ const [active, setActive] = React60.useState(0);
3618
+ const [copied, setCopied] = React60.useState(false);
3604
3619
  const current = tabs[active] ?? tabs[0];
3605
3620
  const hasHeader = tabs.length > 1 || !!current.name;
3606
3621
  const copy = async () => {
@@ -3656,10 +3671,10 @@ var CodeBlock = React59.forwardRef(
3656
3671
  CodeBlock.displayName = "CodeBlock";
3657
3672
 
3658
3673
  // src/components/metric.tsx
3659
- import * as React60 from "react";
3674
+ import * as React61 from "react";
3660
3675
  import { ArrowDown, ArrowUp } from "lucide-react";
3661
3676
  import { jsx as jsx66, jsxs as jsxs37 } from "react/jsx-runtime";
3662
- var Metric = React60.forwardRef(
3677
+ var Metric = React61.forwardRef(
3663
3678
  ({ className, label, value, trend, change, icon, chart, ...props }, ref) => /* @__PURE__ */ jsxs37("div", { ref, className: cn("flex flex-col gap-2 rounded-md border border-input p-4 font-sans", className), ...props, children: [
3664
3679
  /* @__PURE__ */ jsxs37("div", { className: "flex items-center justify-between", children: [
3665
3680
  /* @__PURE__ */ jsx66("p", { className: "text-body-sm text-muted-foreground", children: label }),
@@ -3690,12 +3705,12 @@ var Metric = React60.forwardRef(
3690
3705
  Metric.displayName = "Metric";
3691
3706
 
3692
3707
  // src/components/number-input.tsx
3693
- import * as React61 from "react";
3708
+ import * as React62 from "react";
3694
3709
  import { Minus as Minus3, Plus } from "lucide-react";
3695
3710
  import { jsx as jsx67, jsxs as jsxs38 } from "react/jsx-runtime";
3696
- var NumberInput = React61.forwardRef(
3711
+ var NumberInput = React62.forwardRef(
3697
3712
  ({ className, value, defaultValue = 0, min, max, step = 1, onChange, disabled, ...props }, ref) => {
3698
- const [internal, setInternal] = React61.useState(defaultValue);
3713
+ const [internal, setInternal] = React62.useState(defaultValue);
3699
3714
  const current = value ?? internal;
3700
3715
  const clamp = (n) => {
3701
3716
  let v = n;
@@ -3713,7 +3728,7 @@ var NumberInput = React61.forwardRef(
3713
3728
  {
3714
3729
  className: cn(
3715
3730
  "flex h-10 items-stretch overflow-hidden rounded-md border border-input font-sans focus-within:shadow-focus",
3716
- disabled && "pointer-events-none opacity-50",
3731
+ disabled && "pointer-events-none opacity-disabled",
3717
3732
  className
3718
3733
  ),
3719
3734
  children: [
@@ -3724,7 +3739,7 @@ var NumberInput = React61.forwardRef(
3724
3739
  "aria-label": "Decrease",
3725
3740
  disabled: disabled || min != null && current <= min,
3726
3741
  onClick: () => set(current - step),
3727
- className: "flex w-9 shrink-0 items-center justify-center text-muted-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:bg-accent focus-visible:text-foreground focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",
3742
+ className: "flex w-9 shrink-0 items-center justify-center text-muted-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:bg-accent focus-visible:text-foreground focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-disabled",
3728
3743
  children: /* @__PURE__ */ jsx67(Minus3, { className: "size-4" })
3729
3744
  }
3730
3745
  ),
@@ -3754,7 +3769,7 @@ var NumberInput = React61.forwardRef(
3754
3769
  "aria-label": "Increase",
3755
3770
  disabled: disabled || max != null && current >= max,
3756
3771
  onClick: () => set(current + step),
3757
- className: "flex w-9 shrink-0 items-center justify-center text-muted-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:bg-accent focus-visible:text-foreground focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",
3772
+ className: "flex w-9 shrink-0 items-center justify-center text-muted-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:bg-accent focus-visible:text-foreground focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-disabled",
3758
3773
  children: /* @__PURE__ */ jsx67(Plus, { className: "size-4" })
3759
3774
  }
3760
3775
  )
@@ -3766,9 +3781,9 @@ var NumberInput = React61.forwardRef(
3766
3781
  NumberInput.displayName = "NumberInput";
3767
3782
 
3768
3783
  // src/components/quote.tsx
3769
- import * as React62 from "react";
3784
+ import * as React63 from "react";
3770
3785
  import { jsx as jsx68, jsxs as jsxs39 } from "react/jsx-runtime";
3771
- var Quote = React62.forwardRef(
3786
+ var Quote = React63.forwardRef(
3772
3787
  ({ className, author, authorTitle, avatar, children, ...props }, ref) => /* @__PURE__ */ jsxs39("figure", { ref, className: cn("flex flex-col gap-4 font-sans", className), ...props, children: [
3773
3788
  /* @__PURE__ */ jsxs39("blockquote", { className: "text-title-md font-medium text-foreground", children: [
3774
3789
  "\u201C",
@@ -3787,20 +3802,20 @@ var Quote = React62.forwardRef(
3787
3802
  Quote.displayName = "Quote";
3788
3803
 
3789
3804
  // src/components/footer.tsx
3790
- import * as React63 from "react";
3805
+ import * as React64 from "react";
3791
3806
  import { jsx as jsx69, jsxs as jsxs40 } from "react/jsx-runtime";
3792
- var Footer = React63.forwardRef(
3807
+ var Footer = React64.forwardRef(
3793
3808
  ({ className, children, ...props }, ref) => /* @__PURE__ */ jsx69("footer", { ref, className: cn("w-full border-t border-border bg-background px-6 py-10 font-sans", className), ...props, children })
3794
3809
  );
3795
3810
  Footer.displayName = "Footer";
3796
- var FooterColumn = React63.forwardRef(
3811
+ var FooterColumn = React64.forwardRef(
3797
3812
  ({ className, title, children, ...props }, ref) => /* @__PURE__ */ jsxs40("div", { ref, className: cn("flex flex-col gap-3", className), ...props, children: [
3798
3813
  /* @__PURE__ */ jsx69("p", { className: "text-label-md font-medium text-foreground", children: title }),
3799
3814
  /* @__PURE__ */ jsx69("div", { className: "flex flex-col gap-2", children })
3800
3815
  ] })
3801
3816
  );
3802
3817
  FooterColumn.displayName = "FooterColumn";
3803
- var FooterLink = React63.forwardRef(
3818
+ var FooterLink = React64.forwardRef(
3804
3819
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx69(
3805
3820
  "a",
3806
3821
  {
@@ -3814,7 +3829,7 @@ var FooterLink = React63.forwardRef(
3814
3829
  )
3815
3830
  );
3816
3831
  FooterLink.displayName = "FooterLink";
3817
- var FooterBottom = React63.forwardRef(
3832
+ var FooterBottom = React64.forwardRef(
3818
3833
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx69(
3819
3834
  "div",
3820
3835
  {
@@ -3830,9 +3845,9 @@ var FooterBottom = React63.forwardRef(
3830
3845
  FooterBottom.displayName = "FooterBottom";
3831
3846
 
3832
3847
  // src/components/table-of-contents.tsx
3833
- import * as React64 from "react";
3848
+ import * as React65 from "react";
3834
3849
  import { jsx as jsx70 } from "react/jsx-runtime";
3835
- var TableOfContents = React64.forwardRef(
3850
+ var TableOfContents = React65.forwardRef(
3836
3851
  ({ className, items, active, ...props }, ref) => /* @__PURE__ */ jsx70("nav", { ref, "aria-label": "Table of contents", className: cn("flex flex-col gap-0.5 font-sans", className), ...props, children: items.map((item) => {
3837
3852
  const isActive = item.id === active;
3838
3853
  return /* @__PURE__ */ jsx70(