@work-rjkashyap/unified-ui 0.2.1 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkHITTFB2U_cjs = require('./chunk-HITTFB2U.cjs');
3
+ var chunkF4JJFWWU_cjs = require('./chunk-F4JJFWWU.cjs');
4
4
  var chunk3EHT6IOA_cjs = require('./chunk-3EHT6IOA.cjs');
5
5
  var chunk4ON3M3OM_cjs = require('./chunk-4ON3M3OM.cjs');
6
6
  var classVarianceAuthority = require('class-variance-authority');
@@ -483,11 +483,11 @@ var Alert = React.forwardRef(function Alert2({
483
483
  /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { initial: false, children: open && /* @__PURE__ */ jsxRuntime.jsx(
484
484
  framerMotion.motion.div,
485
485
  {
486
- variants: shouldReduce ? void 0 : chunkHITTFB2U_cjs.expandHeight.variants,
486
+ variants: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.expandHeight.variants,
487
487
  initial: shouldReduce ? { opacity: 0 } : "initial",
488
488
  animate: shouldReduce ? { opacity: 1 } : "animate",
489
489
  exit: shouldReduce ? { opacity: 0 } : "exit",
490
- transition: shouldReduce ? { duration: 0.15 } : chunkHITTFB2U_cjs.expandHeight.transition,
490
+ transition: shouldReduce ? { duration: 0.15 } : chunkF4JJFWWU_cjs.expandHeight.transition,
491
491
  "data-ds-animated": "",
492
492
  children: /* @__PURE__ */ jsxRuntime.jsx(
493
493
  "div",
@@ -535,10 +535,10 @@ var Alert = React.forwardRef(function Alert2({
535
535
  ref,
536
536
  role: resolvedRole,
537
537
  className: rootClasses,
538
- variants: chunkHITTFB2U_cjs.fadeIn.variants,
538
+ variants: chunkF4JJFWWU_cjs.fadeIn.variants,
539
539
  initial: "initial",
540
540
  animate: "animate",
541
- transition: chunkHITTFB2U_cjs.fadeIn.transition,
541
+ transition: chunkF4JJFWWU_cjs.fadeIn.transition,
542
542
  ...rootDataAttrs,
543
543
  children: collapsible ? collapsibleInner : standardInner
544
544
  }
@@ -572,7 +572,39 @@ var Callout = React.forwardRef(
572
572
  );
573
573
  Callout.displayName = "Callout";
574
574
  var calloutVariants = alertVariants;
575
- var AlertDialog = radixUi.AlertDialog.Root;
575
+ var AlertDialogContext = React.createContext({
576
+ open: false
577
+ });
578
+ function useAlertDialogContext() {
579
+ return React.useContext(AlertDialogContext);
580
+ }
581
+ function AlertDialog({
582
+ children,
583
+ open: controlledOpen,
584
+ onOpenChange,
585
+ defaultOpen = false,
586
+ ...rest
587
+ }) {
588
+ const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen);
589
+ const isControlled = controlledOpen !== void 0;
590
+ const open = isControlled ? controlledOpen : uncontrolledOpen;
591
+ const handleOpenChange = React.useCallback(
592
+ (next) => {
593
+ if (!isControlled) setUncontrolledOpen(next);
594
+ onOpenChange?.(next);
595
+ },
596
+ [isControlled, onOpenChange]
597
+ );
598
+ return /* @__PURE__ */ jsxRuntime.jsx(AlertDialogContext.Provider, { value: { open }, children: /* @__PURE__ */ jsxRuntime.jsx(
599
+ radixUi.AlertDialog.Root,
600
+ {
601
+ open,
602
+ onOpenChange: handleOpenChange,
603
+ ...rest,
604
+ children
605
+ }
606
+ ) });
607
+ }
576
608
  AlertDialog.displayName = "AlertDialog";
577
609
  var AlertDialogTrigger = radixUi.AlertDialog.Trigger;
578
610
  AlertDialogTrigger.displayName = "AlertDialogTrigger";
@@ -580,18 +612,18 @@ var AlertDialogPortal = radixUi.AlertDialog.Portal;
580
612
  AlertDialogPortal.displayName = "AlertDialogPortal";
581
613
  var AlertDialogOverlay = React.forwardRef(function AlertDialogOverlay2({ className, ...rest }, ref) {
582
614
  const shouldReduce = framerMotion.useReducedMotion();
583
- return /* @__PURE__ */ jsxRuntime.jsx(radixUi.AlertDialog.Overlay, { ref, asChild: true, ...rest, children: /* @__PURE__ */ jsxRuntime.jsx(
615
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.AlertDialog.Overlay, { ref, forceMount: true, asChild: true, ...rest, children: /* @__PURE__ */ jsxRuntime.jsx(
584
616
  framerMotion.motion.div,
585
617
  {
586
618
  className: chunk4ON3M3OM_cjs.cn(
587
619
  "fixed inset-0 z-overlay bg-black/50 backdrop-blur-sm",
588
620
  className
589
621
  ),
590
- variants: shouldReduce ? void 0 : chunkHITTFB2U_cjs.overlayBackdrop.variants,
622
+ variants: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.overlayBackdrop.variants,
591
623
  initial: shouldReduce ? { opacity: 0 } : "initial",
592
624
  animate: shouldReduce ? { opacity: 1 } : "animate",
593
625
  exit: shouldReduce ? { opacity: 0 } : "exit",
594
- transition: shouldReduce ? { duration: 0.15 } : chunkHITTFB2U_cjs.overlayBackdrop.transition,
626
+ transition: shouldReduce ? { duration: 0.15 } : chunkF4JJFWWU_cjs.overlayBackdrop.transition,
595
627
  "data-ds-animated": ""
596
628
  }
597
629
  ) });
@@ -599,9 +631,10 @@ var AlertDialogOverlay = React.forwardRef(function AlertDialogOverlay2({ classNa
599
631
  AlertDialogOverlay.displayName = "AlertDialogOverlay";
600
632
  var AlertDialogContent = React.forwardRef(function AlertDialogContent2({ className, children, ...rest }, ref) {
601
633
  const shouldReduce = framerMotion.useReducedMotion();
602
- return /* @__PURE__ */ jsxRuntime.jsxs(radixUi.AlertDialog.Portal, { children: [
634
+ const { open } = useAlertDialogContext();
635
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.AlertDialog.Portal, { forceMount: true, children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { children: open && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
603
636
  /* @__PURE__ */ jsxRuntime.jsx(AlertDialogOverlay, {}),
604
- /* @__PURE__ */ jsxRuntime.jsx(radixUi.AlertDialog.Content, { ref, asChild: true, ...rest, children: /* @__PURE__ */ jsxRuntime.jsx(
637
+ /* @__PURE__ */ jsxRuntime.jsx(radixUi.AlertDialog.Content, { ref, forceMount: true, asChild: true, ...rest, children: /* @__PURE__ */ jsxRuntime.jsx(
605
638
  framerMotion.motion.div,
606
639
  {
607
640
  className: chunk4ON3M3OM_cjs.cn(
@@ -613,18 +646,18 @@ var AlertDialogContent = React.forwardRef(function AlertDialogContent2({ classNa
613
646
  chunk3EHT6IOA_cjs.focusRingClasses,
614
647
  className
615
648
  ),
616
- variants: shouldReduce ? void 0 : chunkHITTFB2U_cjs.modalContent.variants,
649
+ variants: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.modalContent.variants,
617
650
  initial: shouldReduce ? { opacity: 0 } : "initial",
618
651
  animate: shouldReduce ? { opacity: 1 } : "animate",
619
652
  exit: shouldReduce ? { opacity: 0 } : "exit",
620
- transition: shouldReduce ? { duration: 0.2 } : chunkHITTFB2U_cjs.modalContent.transition,
653
+ transition: shouldReduce ? { duration: 0.2 } : chunkF4JJFWWU_cjs.modalContent.transition,
621
654
  "data-ds": "",
622
655
  "data-ds-component": "alert-dialog-content",
623
656
  "data-ds-animated": "",
624
657
  children
625
658
  }
626
659
  ) })
627
- ] });
660
+ ] }) }) });
628
661
  });
629
662
  AlertDialogContent.displayName = "AlertDialogContent";
630
663
  function AlertDialogHeader({
@@ -1279,10 +1312,10 @@ var Badge = React.forwardRef(function Badge2({
1279
1312
  {
1280
1313
  ref,
1281
1314
  className: classes,
1282
- variants: chunkHITTFB2U_cjs.popSubtle.variants,
1315
+ variants: chunkF4JJFWWU_cjs.popSubtle.variants,
1283
1316
  initial: "initial",
1284
1317
  animate: "animate",
1285
- transition: chunkHITTFB2U_cjs.popSubtle.transition,
1318
+ transition: chunkF4JJFWWU_cjs.popSubtle.transition,
1286
1319
  ...dataAttrs,
1287
1320
  children: content
1288
1321
  }
@@ -1380,7 +1413,7 @@ var Banner = React.forwardRef(function Banner2({
1380
1413
  if (controlledVisible === void 0) setInternalVisible(false);
1381
1414
  onDismiss?.();
1382
1415
  };
1383
- const slidePreset = position === "bottom" ? chunkHITTFB2U_cjs.slideUp : chunkHITTFB2U_cjs.slideDown;
1416
+ const slidePreset = position === "bottom" ? chunkF4JJFWWU_cjs.slideUp : chunkF4JJFWWU_cjs.slideDown;
1384
1417
  return /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { initial: false, children: isVisible && /* @__PURE__ */ jsxRuntime.jsxs(
1385
1418
  framerMotion.motion.div,
1386
1419
  {
@@ -1845,7 +1878,7 @@ var Button = React.forwardRef(
1845
1878
  loading && /* @__PURE__ */ jsxRuntime.jsx(ButtonSpinner, { className: size === "sm" ? "size-3.5" : "size-4" }),
1846
1879
  loading && loadingText ? /* @__PURE__ */ jsxRuntime.jsx("span", { children: loadingText }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1847
1880
  !loading && iconLeft && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0", "aria-hidden": "true", children: iconLeft }),
1848
- children && /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunk4ON3M3OM_cjs.cn(loading && !loadingText && "invisible"), children }),
1881
+ children && /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunk4ON3M3OM_cjs.cn("inline-flex items-center gap-[inherit]", loading && !loadingText && "invisible"), children }),
1849
1882
  !loading && iconRight && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0", "aria-hidden": "true", children: iconRight })
1850
1883
  ] })
1851
1884
  ]
@@ -2330,21 +2363,17 @@ var CardContext = React.createContext({ padding: "compact" });
2330
2363
  function useCardContext() {
2331
2364
  return React.useContext(CardContext);
2332
2365
  }
2333
- var cardPaddingMap = {
2334
- compact: "p-(--ds-padding-card)",
2335
- comfortable: "p-6"
2336
- };
2337
2366
  var slotPaddingXMap = {
2338
2367
  compact: "px-(--ds-padding-card)",
2339
2368
  comfortable: "px-6"
2340
2369
  };
2341
- var slotPaddingTopMap = {
2342
- compact: "pt-(--ds-padding-card)",
2343
- comfortable: "pt-6"
2370
+ var cardVerticalPaddingMap = {
2371
+ compact: "py-(--ds-padding-card)",
2372
+ comfortable: "py-6"
2344
2373
  };
2345
- var slotPaddingBottomMap = {
2346
- compact: "pb-(--ds-padding-card)",
2347
- comfortable: "pb-6"
2374
+ var cardGapMap = {
2375
+ compact: "gap-(--ds-gap-default,0.75rem)",
2376
+ comfortable: "gap-4"
2348
2377
  };
2349
2378
  var cardVariants = classVarianceAuthority.cva(
2350
2379
  // Base styles — shared across all variants
@@ -2438,6 +2467,8 @@ var Card = React.forwardRef(function Card2({
2438
2467
  className: chunk4ON3M3OM_cjs.cn(
2439
2468
  "not-prose",
2440
2469
  cardVariants({ variant, fullWidth }),
2470
+ cardVerticalPaddingMap[padding],
2471
+ cardGapMap[padding],
2441
2472
  className
2442
2473
  ),
2443
2474
  "data-ds": "",
@@ -2465,9 +2496,7 @@ var CardHeader = React.forwardRef(
2465
2496
  className: chunk4ON3M3OM_cjs.cn(
2466
2497
  "flex flex-col gap-1.5",
2467
2498
  slotPaddingXMap[padding],
2468
- slotPaddingTopMap[padding],
2469
- slotPaddingBottomMap[padding],
2470
- bordered && "border-b border-border-muted",
2499
+ bordered && "pb-(--ds-padding-card) border-b border-border-muted",
2471
2500
  className
2472
2501
  ),
2473
2502
  "data-ds": "",
@@ -2488,7 +2517,7 @@ var CardBody = React.forwardRef(
2488
2517
  ref,
2489
2518
  className: chunk4ON3M3OM_cjs.cn(
2490
2519
  "flex flex-col gap-2 flex-1",
2491
- cardPaddingMap[padding],
2520
+ slotPaddingXMap[padding],
2492
2521
  className
2493
2522
  ),
2494
2523
  "data-ds": "",
@@ -2510,9 +2539,7 @@ var CardFooter = React.forwardRef(
2510
2539
  className: chunk4ON3M3OM_cjs.cn(
2511
2540
  "flex items-center gap-2",
2512
2541
  slotPaddingXMap[padding],
2513
- slotPaddingTopMap[padding],
2514
- slotPaddingBottomMap[padding],
2515
- bordered && "border-t border-border-muted",
2542
+ bordered && "pt-(--ds-padding-card) border-t border-border-muted",
2516
2543
  alignMap[align],
2517
2544
  className
2518
2545
  ),
@@ -2890,7 +2917,7 @@ var Checkbox = React.forwardRef(function Checkbox2({
2890
2917
  )
2891
2918
  }
2892
2919
  ),
2893
- (label || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5", children: [
2920
+ (label || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5 flex-1 min-w-0", children: [
2894
2921
  label && /* @__PURE__ */ jsxRuntime.jsx(
2895
2922
  "label",
2896
2923
  {
@@ -3464,11 +3491,11 @@ var CodeBlock = React.forwardRef(
3464
3491
  framerMotion.motion.span,
3465
3492
  {
3466
3493
  className: "flex items-center gap-1",
3467
- variants: shouldReduce ? void 0 : chunkHITTFB2U_cjs.fadeInFast.variants,
3494
+ variants: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.fadeInFast.variants,
3468
3495
  initial: shouldReduce ? void 0 : "initial",
3469
3496
  animate: shouldReduce ? void 0 : "animate",
3470
3497
  exit: shouldReduce ? void 0 : "exit",
3471
- transition: shouldReduce ? void 0 : chunkHITTFB2U_cjs.fadeInFast.transition,
3498
+ transition: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.fadeInFast.transition,
3472
3499
  "data-ds-animated": "",
3473
3500
  children: [
3474
3501
  /* @__PURE__ */ jsxRuntime.jsx(CheckIcon2, { className: "size-3.5 text-code-success" }),
@@ -3480,11 +3507,11 @@ var CodeBlock = React.forwardRef(
3480
3507
  framerMotion.motion.span,
3481
3508
  {
3482
3509
  className: "flex items-center gap-1",
3483
- variants: shouldReduce ? void 0 : chunkHITTFB2U_cjs.fadeInFast.variants,
3510
+ variants: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.fadeInFast.variants,
3484
3511
  initial: shouldReduce ? void 0 : "initial",
3485
3512
  animate: shouldReduce ? void 0 : "animate",
3486
3513
  exit: shouldReduce ? void 0 : "exit",
3487
- transition: shouldReduce ? void 0 : chunkHITTFB2U_cjs.fadeInFast.transition,
3514
+ transition: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.fadeInFast.transition,
3488
3515
  "data-ds-animated": "",
3489
3516
  children: [
3490
3517
  /* @__PURE__ */ jsxRuntime.jsx(CopyIcon, { className: "size-3.5" }),
@@ -4050,11 +4077,11 @@ var Combobox = React.forwardRef(
4050
4077
  "outline-none",
4051
4078
  contentClassName
4052
4079
  ),
4053
- variants: chunkHITTFB2U_cjs.scaleIn.variants,
4080
+ variants: chunkF4JJFWWU_cjs.scaleIn.variants,
4054
4081
  initial: shouldReduce ? { opacity: 0 } : "initial",
4055
4082
  animate: "animate",
4056
4083
  exit: shouldReduce ? { opacity: 0 } : "exit",
4057
- transition: chunkHITTFB2U_cjs.scaleIn.transition,
4084
+ transition: chunkF4JJFWWU_cjs.scaleIn.transition,
4058
4085
  "data-ds-animated": "",
4059
4086
  children: [
4060
4087
  searchable && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center border-b border-border px-3 gap-2", children: [
@@ -4105,10 +4132,10 @@ var Combobox = React.forwardRef(
4105
4132
  framerMotion.motion.div,
4106
4133
  {
4107
4134
  className: "py-6 text-center text-sm text-muted-foreground",
4108
- variants: chunkHITTFB2U_cjs.fadeIn.variants,
4135
+ variants: chunkF4JJFWWU_cjs.fadeIn.variants,
4109
4136
  initial: "initial",
4110
4137
  animate: "animate",
4111
- transition: chunkHITTFB2U_cjs.fadeIn.transition,
4138
+ transition: chunkF4JJFWWU_cjs.fadeIn.transition,
4112
4139
  "data-ds-animated": "",
4113
4140
  children: emptyMessage
4114
4141
  }
@@ -4118,7 +4145,7 @@ var Combobox = React.forwardRef(
4118
4145
  /* @__PURE__ */ jsxRuntime.jsx(
4119
4146
  framerMotion.motion.div,
4120
4147
  {
4121
- variants: shouldReduce ? void 0 : chunkHITTFB2U_cjs.staggerContainerFast.variants,
4148
+ variants: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.staggerContainerFast.variants,
4122
4149
  initial: shouldReduce ? void 0 : "initial",
4123
4150
  animate: shouldReduce ? void 0 : "animate",
4124
4151
  children: groupedOptions.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
@@ -4134,7 +4161,7 @@ var Combobox = React.forwardRef(
4134
4161
  id: `${id}-option-${option.value}`,
4135
4162
  "aria-selected": isSelected,
4136
4163
  "aria-disabled": option.disabled,
4137
- variants: shouldReduce ? void 0 : chunkHITTFB2U_cjs.slideUpSm.variants,
4164
+ variants: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.slideUpSm.variants,
4138
4165
  className: chunk4ON3M3OM_cjs.cn(
4139
4166
  "relative flex items-center gap-2 px-3 py-2 text-sm rounded-sm mx-1",
4140
4167
  "cursor-pointer select-none",
@@ -4187,6 +4214,41 @@ var Combobox = React.forwardRef(
4187
4214
  }
4188
4215
  );
4189
4216
  Combobox.displayName = "Combobox";
4217
+ var kbdVariants = classVarianceAuthority.cva(
4218
+ [
4219
+ "inline-flex items-center gap-0.5",
4220
+ "font-mono font-medium leading-none",
4221
+ "rounded border border-border",
4222
+ "bg-muted text-muted-foreground",
4223
+ "shadow-[0_1px_0_1px_hsl(var(--border))]",
4224
+ "select-none whitespace-nowrap"
4225
+ ],
4226
+ {
4227
+ variants: {
4228
+ size: {
4229
+ sm: "px-1.5 py-0.5 text-[10px]",
4230
+ md: "px-2 py-1 text-xs",
4231
+ lg: "px-2.5 py-1 text-sm"
4232
+ }
4233
+ },
4234
+ defaultVariants: { size: "md" }
4235
+ }
4236
+ );
4237
+ var Kbd = React.forwardRef(function Kbd2({ size = "md", className, children, ...rest }, ref) {
4238
+ return /* @__PURE__ */ jsxRuntime.jsx(
4239
+ "kbd",
4240
+ {
4241
+ ref,
4242
+ className: chunk4ON3M3OM_cjs.cn(kbdVariants({ size }), className),
4243
+ "data-ds": "",
4244
+ "data-ds-component": "kbd",
4245
+ "data-ds-size": size,
4246
+ ...rest,
4247
+ children
4248
+ }
4249
+ );
4250
+ });
4251
+ Kbd.displayName = "Kbd";
4190
4252
  function SearchIcon2({ className }) {
4191
4253
  return /* @__PURE__ */ jsxRuntime.jsxs(
4192
4254
  "svg",
@@ -4209,8 +4271,20 @@ function SearchIcon2({ className }) {
4209
4271
  }
4210
4272
  );
4211
4273
  }
4212
- function KbdHint({ keys }) {
4213
- return /* @__PURE__ */ jsxRuntime.jsx("kbd", { className: "inline-flex items-center gap-0.5 rounded border border-border bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground", children: keys });
4274
+ function ShortcutKeys({ keys }) {
4275
+ const modifiers = /* @__PURE__ */ new Set(["\u2318", "\u21E7", "\u2325", "\u2303"]);
4276
+ const tokens = [];
4277
+ let rest = keys;
4278
+ while (rest.length > 0) {
4279
+ if (modifiers.has(rest[0])) {
4280
+ tokens.push(rest[0]);
4281
+ rest = rest.slice(1);
4282
+ } else {
4283
+ tokens.push(rest);
4284
+ break;
4285
+ }
4286
+ }
4287
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-flex items-center gap-0.5", children: tokens.map((token, i) => /* @__PURE__ */ jsxRuntime.jsx(Kbd, { size: "sm", children: token }, i)) });
4214
4288
  }
4215
4289
  function matchesSearch(item, query) {
4216
4290
  if (!query) return true;
@@ -4285,30 +4359,39 @@ function Command({
4285
4359
  el?.scrollIntoView({ block: "nearest" });
4286
4360
  }, []);
4287
4361
  let flatIndex = 0;
4288
- return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Root, { open, onOpenChange, children: /* @__PURE__ */ jsxRuntime.jsxs(radixUi.Dialog.Portal, { children: [
4289
- /* @__PURE__ */ jsxRuntime.jsx(
4290
- radixUi.Dialog.Overlay,
4362
+ const shouldReduce = framerMotion.useReducedMotion();
4363
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Root, { open, onOpenChange, children: /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Portal, { forceMount: true, children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { children: open && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
4364
+ /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Overlay, { forceMount: true, asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
4365
+ framerMotion.motion.div,
4291
4366
  {
4292
4367
  className: chunk4ON3M3OM_cjs.cn(
4293
- "fixed inset-0 z-[var(--z-modal)] bg-black/50",
4294
- "data-[state=open]:animate-in data-[state=open]:fade-in-0",
4295
- "data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
4296
- )
4368
+ "fixed inset-0 z-[var(--z-modal)] bg-black/50"
4369
+ ),
4370
+ variants: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.overlayBackdrop.variants,
4371
+ initial: shouldReduce ? { opacity: 0 } : "initial",
4372
+ animate: shouldReduce ? { opacity: 1 } : "animate",
4373
+ exit: shouldReduce ? { opacity: 0 } : "exit",
4374
+ transition: shouldReduce ? { duration: 0.15 } : chunkF4JJFWWU_cjs.overlayBackdrop.transition,
4375
+ "data-ds-animated": ""
4297
4376
  }
4298
- ),
4299
- /* @__PURE__ */ jsxRuntime.jsxs(
4300
- radixUi.Dialog.Content,
4377
+ ) }),
4378
+ /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Content, { forceMount: true, asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
4379
+ framerMotion.motion.div,
4301
4380
  {
4302
4381
  className: chunk4ON3M3OM_cjs.cn(
4303
4382
  "fixed left-1/2 top-[20%] z-[var(--z-modal)]",
4304
4383
  "w-full max-w-lg -translate-x-1/2",
4305
4384
  "rounded-lg border border-border bg-background shadow-xl",
4306
- "overflow-hidden",
4307
- "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:slide-in-from-top-4",
4308
- "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95"
4385
+ "overflow-hidden"
4309
4386
  ),
4387
+ variants: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.modalContent.variants,
4388
+ initial: shouldReduce ? { opacity: 0 } : "initial",
4389
+ animate: shouldReduce ? { opacity: 1 } : "animate",
4390
+ exit: shouldReduce ? { opacity: 0 } : "exit",
4391
+ transition: shouldReduce ? { duration: 0.2 } : chunkF4JJFWWU_cjs.modalContent.transition,
4310
4392
  "data-ds": "",
4311
4393
  "data-ds-component": "command",
4394
+ "data-ds-animated": "",
4312
4395
  "aria-label": "Command Palette",
4313
4396
  children: [
4314
4397
  /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Title, { className: "sr-only", children: "Command Palette" }),
@@ -4340,7 +4423,7 @@ function Command({
4340
4423
  )
4341
4424
  }
4342
4425
  ),
4343
- /* @__PURE__ */ jsxRuntime.jsx(KbdHint, { keys: "Esc" })
4426
+ /* @__PURE__ */ jsxRuntime.jsx(ShortcutKeys, { keys: "Esc" })
4344
4427
  ] }),
4345
4428
  /* @__PURE__ */ jsxRuntime.jsx(
4346
4429
  "div",
@@ -4402,7 +4485,7 @@ function Command({
4402
4485
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate font-medium", children: item.label }),
4403
4486
  item.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs text-muted-foreground", children: item.description })
4404
4487
  ] }),
4405
- item.shortcut && /* @__PURE__ */ jsxRuntime.jsx(KbdHint, { keys: item.shortcut })
4488
+ item.shortcut && /* @__PURE__ */ jsxRuntime.jsx(ShortcutKeys, { keys: item.shortcut })
4406
4489
  ]
4407
4490
  },
4408
4491
  item.id
@@ -4414,22 +4497,22 @@ function Command({
4414
4497
  ),
4415
4498
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 border-t border-border px-3 py-2", children: [
4416
4499
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1 text-xs text-muted-foreground", children: [
4417
- /* @__PURE__ */ jsxRuntime.jsx(KbdHint, { keys: "\u2191\u2193" }),
4500
+ /* @__PURE__ */ jsxRuntime.jsx(ShortcutKeys, { keys: "\u2191\u2193" }),
4418
4501
  " navigate"
4419
4502
  ] }),
4420
4503
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1 text-xs text-muted-foreground", children: [
4421
- /* @__PURE__ */ jsxRuntime.jsx(KbdHint, { keys: "\u21B5" }),
4504
+ /* @__PURE__ */ jsxRuntime.jsx(ShortcutKeys, { keys: "\u21B5" }),
4422
4505
  " select"
4423
4506
  ] }),
4424
4507
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1 text-xs text-muted-foreground", children: [
4425
- /* @__PURE__ */ jsxRuntime.jsx(KbdHint, { keys: "Esc" }),
4508
+ /* @__PURE__ */ jsxRuntime.jsx(ShortcutKeys, { keys: "Esc" }),
4426
4509
  " close"
4427
4510
  ] })
4428
4511
  ] })
4429
4512
  ]
4430
4513
  }
4431
- )
4432
- ] }) });
4514
+ ) })
4515
+ ] }) }) }) });
4433
4516
  }
4434
4517
  Command.displayName = "Command";
4435
4518
  var CommandTrigger = React.forwardRef(function CommandTrigger2({ label = "Search commands...", onClick, className }, ref) {
@@ -4454,7 +4537,7 @@ var CommandTrigger = React.forwardRef(function CommandTrigger2({ label = "Search
4454
4537
  children: [
4455
4538
  /* @__PURE__ */ jsxRuntime.jsx(SearchIcon2, { className: "size-3.5 shrink-0" }),
4456
4539
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 truncate text-left", children: label }),
4457
- /* @__PURE__ */ jsxRuntime.jsx(KbdHint, { keys: "\u2318K" })
4540
+ /* @__PURE__ */ jsxRuntime.jsx(ShortcutKeys, { keys: "\u2318K" })
4458
4541
  ]
4459
4542
  }
4460
4543
  );
@@ -4896,11 +4979,11 @@ var CopyButton = React.forwardRef(
4896
4979
  "bg-foreground text-background text-xs font-medium whitespace-nowrap",
4897
4980
  "pointer-events-none z-tooltip"
4898
4981
  ),
4899
- variants: shouldReduce ? void 0 : chunkHITTFB2U_cjs.fadeInFast.variants,
4982
+ variants: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.fadeInFast.variants,
4900
4983
  initial: shouldReduce ? { opacity: 0 } : "initial",
4901
4984
  animate: shouldReduce ? { opacity: 1 } : "animate",
4902
4985
  exit: shouldReduce ? { opacity: 0 } : "exit",
4903
- transition: shouldReduce ? { duration: 0.1 } : chunkHITTFB2U_cjs.fadeInFast.transition,
4986
+ transition: shouldReduce ? { duration: 0.1 } : chunkF4JJFWWU_cjs.fadeInFast.transition,
4904
4987
  "data-ds-animated": "",
4905
4988
  children: [
4906
4989
  copied ? "Copied!" : tooltip,
@@ -4934,11 +5017,11 @@ var CopyButton = React.forwardRef(
4934
5017
  framerMotion.motion.span,
4935
5018
  {
4936
5019
  className: chunk4ON3M3OM_cjs.cn("text-success", iconSizeMap3[size]),
4937
- variants: shouldReduce ? void 0 : chunkHITTFB2U_cjs.pop.variants,
5020
+ variants: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.pop.variants,
4938
5021
  initial: shouldReduce ? { opacity: 0 } : "initial",
4939
5022
  animate: shouldReduce ? { opacity: 1 } : "animate",
4940
5023
  exit: shouldReduce ? { opacity: 0 } : "exit",
4941
- transition: shouldReduce ? { duration: 0.1 } : chunkHITTFB2U_cjs.pop.transition,
5024
+ transition: shouldReduce ? { duration: 0.1 } : chunkF4JJFWWU_cjs.pop.transition,
4942
5025
  "data-ds-animated": "",
4943
5026
  children: /* @__PURE__ */ jsxRuntime.jsx(CheckIcon5, { className: iconSizeMap3[size] })
4944
5027
  },
@@ -4946,11 +5029,11 @@ var CopyButton = React.forwardRef(
4946
5029
  ) : /* @__PURE__ */ jsxRuntime.jsx(
4947
5030
  framerMotion.motion.span,
4948
5031
  {
4949
- variants: shouldReduce ? void 0 : chunkHITTFB2U_cjs.fadeInFast.variants,
5032
+ variants: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.fadeInFast.variants,
4950
5033
  initial: shouldReduce ? { opacity: 0 } : "initial",
4951
5034
  animate: shouldReduce ? { opacity: 1 } : "animate",
4952
5035
  exit: shouldReduce ? { opacity: 0 } : "exit",
4953
- transition: shouldReduce ? { duration: 0.1 } : chunkHITTFB2U_cjs.fadeInFast.transition,
5036
+ transition: shouldReduce ? { duration: 0.1 } : chunkF4JJFWWU_cjs.fadeInFast.transition,
4954
5037
  "data-ds-animated": "",
4955
5038
  children: /* @__PURE__ */ jsxRuntime.jsx(CopyIcon2, { className: iconSizeMap3[size] })
4956
5039
  },
@@ -4965,8 +5048,8 @@ CopyButton.displayName = "CopyButton";
4965
5048
  var dataListVariants = classVarianceAuthority.cva(["w-full"], {
4966
5049
  variants: {
4967
5050
  orientation: {
4968
- horizontal: "grid grid-cols-[auto_1fr] gap-x-6 gap-y-3",
4969
- vertical: "flex flex-col gap-3"
5051
+ horizontal: "grid grid-cols-[auto_1fr] items-baseline gap-x-6",
5052
+ vertical: "flex flex-col gap-2"
4970
5053
  },
4971
5054
  size: {
4972
5055
  sm: "text-xs",
@@ -4992,7 +5075,7 @@ var DataListTerm = React.forwardRef(
4992
5075
  DataListTerm.displayName = "DataListTerm";
4993
5076
  var DataListDetail = React.forwardRef(
4994
5077
  function DataListDetail2({ className, children, ...rest }, ref) {
4995
- return /* @__PURE__ */ jsxRuntime.jsx("dd", { ref, className: chunk4ON3M3OM_cjs.cn("text-foreground", className), ...rest, children });
5078
+ return /* @__PURE__ */ jsxRuntime.jsx("dd", { ref, className: chunk4ON3M3OM_cjs.cn("text-foreground m-0", className), ...rest, children });
4996
5079
  }
4997
5080
  );
4998
5081
  DataListDetail.displayName = "DataListDetail";
@@ -5007,12 +5090,13 @@ var DataList = React.forwardRef(
5007
5090
  }, ref) {
5008
5091
  const shouldReduce = framerMotion.useReducedMotion();
5009
5092
  const isHorizontal = orientation === "horizontal";
5093
+ const horizontalCellPadding = "py-2";
5010
5094
  return /* @__PURE__ */ jsxRuntime.jsx(
5011
5095
  framerMotion.motion.dl,
5012
5096
  {
5013
5097
  ref,
5014
5098
  className: chunk4ON3M3OM_cjs.cn(dataListVariants({ orientation, size }), className),
5015
- variants: animated && !shouldReduce ? chunkHITTFB2U_cjs.staggerContainer.variants : void 0,
5099
+ variants: animated && !shouldReduce ? chunkF4JJFWWU_cjs.staggerContainer.variants : void 0,
5016
5100
  initial: animated && !shouldReduce ? "initial" : void 0,
5017
5101
  animate: animated && !shouldReduce ? "animate" : void 0,
5018
5102
  "data-ds": "",
@@ -5026,14 +5110,15 @@ var DataList = React.forwardRef(
5026
5110
  isHorizontal ? "contents" : "flex flex-col gap-1",
5027
5111
  dividers && i > 0 && !isHorizontal && "pt-3 border-t border-border"
5028
5112
  ),
5029
- variants: animated && !shouldReduce ? chunkHITTFB2U_cjs.fadeIn.variants : void 0,
5030
- transition: animated && !shouldReduce ? chunkHITTFB2U_cjs.fadeIn.transition : void 0,
5113
+ variants: animated && !shouldReduce ? chunkF4JJFWWU_cjs.fadeIn.variants : void 0,
5114
+ transition: animated && !shouldReduce ? chunkF4JJFWWU_cjs.fadeIn.transition : void 0,
5031
5115
  children: isHorizontal ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5032
5116
  /* @__PURE__ */ jsxRuntime.jsx(
5033
5117
  DataListTerm,
5034
5118
  {
5035
5119
  className: chunk4ON3M3OM_cjs.cn(
5036
- dividers && i > 0 && "pt-3 border-t border-border"
5120
+ horizontalCellPadding,
5121
+ dividers && i > 0 && "border-t border-border"
5037
5122
  ),
5038
5123
  children: item.term
5039
5124
  }
@@ -5042,7 +5127,8 @@ var DataList = React.forwardRef(
5042
5127
  DataListDetail,
5043
5128
  {
5044
5129
  className: chunk4ON3M3OM_cjs.cn(
5045
- dividers && i > 0 && "pt-3 border-t border-border"
5130
+ horizontalCellPadding,
5131
+ dividers && i > 0 && "border-t border-border"
5046
5132
  ),
5047
5133
  children: item.detail
5048
5134
  }
@@ -8457,7 +8543,7 @@ function Dropdown({
8457
8543
  "div",
8458
8544
  {
8459
8545
  className: chunk4ON3M3OM_cjs.cn(
8460
- "absolute top-full z-[var(--z-dropdown,40)] mt-1",
8546
+ "absolute top-full z-[var(--z-dropdown)] mt-1",
8461
8547
  align === "end" ? "right-0" : "left-0",
8462
8548
  "min-w-[8rem] rounded-md py-1",
8463
8549
  "border border-border bg-popover text-popover-foreground",
@@ -9818,11 +9904,11 @@ var DatePicker = React.forwardRef(
9818
9904
  "outline-none",
9819
9905
  contentClassName
9820
9906
  ),
9821
- variants: chunkHITTFB2U_cjs.scaleIn.variants,
9907
+ variants: chunkF4JJFWWU_cjs.scaleIn.variants,
9822
9908
  initial: shouldReduce ? { opacity: 0 } : "initial",
9823
9909
  animate: "animate",
9824
9910
  exit: shouldReduce ? { opacity: 0 } : "exit",
9825
- transition: chunkHITTFB2U_cjs.scaleIn.transition,
9911
+ transition: chunkF4JJFWWU_cjs.scaleIn.transition,
9826
9912
  "data-ds-animated": "",
9827
9913
  children: /* @__PURE__ */ jsxRuntime.jsx(
9828
9914
  Calendar,
@@ -9879,6 +9965,10 @@ var dialogContentVariants = classVarianceAuthority.cva(
9879
9965
  }
9880
9966
  }
9881
9967
  );
9968
+ var DialogContext = React.createContext({ open: false });
9969
+ function useDialogContext() {
9970
+ return React.useContext(DialogContext);
9971
+ }
9882
9972
  function CloseIcon2({ className }) {
9883
9973
  return /* @__PURE__ */ jsxRuntime.jsxs(
9884
9974
  "svg",
@@ -9899,8 +9989,32 @@ function CloseIcon2({ className }) {
9899
9989
  }
9900
9990
  );
9901
9991
  }
9902
- function Dialog({ children, ...rest }) {
9903
- return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Root, { ...rest, children });
9992
+ function Dialog({
9993
+ children,
9994
+ open: controlledOpen,
9995
+ onOpenChange,
9996
+ defaultOpen = false,
9997
+ ...rest
9998
+ }) {
9999
+ const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen);
10000
+ const isControlled = controlledOpen !== void 0;
10001
+ const open = isControlled ? controlledOpen : uncontrolledOpen;
10002
+ const handleOpenChange = React.useCallback(
10003
+ (next) => {
10004
+ if (!isControlled) setUncontrolledOpen(next);
10005
+ onOpenChange?.(next);
10006
+ },
10007
+ [isControlled, onOpenChange]
10008
+ );
10009
+ return /* @__PURE__ */ jsxRuntime.jsx(DialogContext.Provider, { value: { open }, children: /* @__PURE__ */ jsxRuntime.jsx(
10010
+ radixUi.Dialog.Root,
10011
+ {
10012
+ open,
10013
+ onOpenChange: handleOpenChange,
10014
+ ...rest,
10015
+ children
10016
+ }
10017
+ ) });
9904
10018
  }
9905
10019
  Dialog.displayName = "Dialog";
9906
10020
  var DialogTrigger = React.forwardRef(function DialogTrigger2({ className, ...rest }, ref) {
@@ -9918,7 +10032,7 @@ var DialogTrigger = React.forwardRef(function DialogTrigger2({ className, ...res
9918
10032
  DialogTrigger.displayName = "DialogTrigger";
9919
10033
  var DialogOverlay = React.forwardRef(function DialogOverlay2({ className, ...rest }, ref) {
9920
10034
  const shouldReduce = framerMotion.useReducedMotion();
9921
- return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Overlay, { ref, asChild: true, ...rest, children: /* @__PURE__ */ jsxRuntime.jsx(
10035
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Overlay, { ref, forceMount: true, asChild: true, ...rest, children: /* @__PURE__ */ jsxRuntime.jsx(
9922
10036
  framerMotion.motion.div,
9923
10037
  {
9924
10038
  className: chunk4ON3M3OM_cjs.cn(
@@ -9927,11 +10041,11 @@ var DialogOverlay = React.forwardRef(function DialogOverlay2({ className, ...res
9927
10041
  "bg-black/50",
9928
10042
  className
9929
10043
  ),
9930
- variants: shouldReduce ? void 0 : chunkHITTFB2U_cjs.overlayBackdrop.variants,
10044
+ variants: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.overlayBackdrop.variants,
9931
10045
  initial: shouldReduce ? { opacity: 0 } : "initial",
9932
10046
  animate: shouldReduce ? { opacity: 1 } : "animate",
9933
10047
  exit: shouldReduce ? { opacity: 0 } : "exit",
9934
- transition: shouldReduce ? { duration: 0.15 } : chunkHITTFB2U_cjs.overlayBackdrop.transition,
10048
+ transition: shouldReduce ? { duration: 0.15 } : chunkF4JJFWWU_cjs.overlayBackdrop.transition,
9935
10049
  "data-ds-animated": ""
9936
10050
  }
9937
10051
  ) });
@@ -9946,9 +10060,10 @@ var DialogContent = React.forwardRef(function DialogContent2({
9946
10060
  ...rest
9947
10061
  }, ref) {
9948
10062
  const shouldReduce = framerMotion.useReducedMotion();
9949
- return /* @__PURE__ */ jsxRuntime.jsxs(radixUi.Dialog.Portal, { children: [
10063
+ const { open } = useDialogContext();
10064
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Portal, { forceMount: true, children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { children: open && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
9950
10065
  /* @__PURE__ */ jsxRuntime.jsx(DialogOverlay, { className: overlayClassName }),
9951
- /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Content, { ref, asChild: true, ...rest, children: /* @__PURE__ */ jsxRuntime.jsxs(
10066
+ /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Content, { ref, forceMount: true, asChild: true, ...rest, children: /* @__PURE__ */ jsxRuntime.jsxs(
9952
10067
  framerMotion.motion.div,
9953
10068
  {
9954
10069
  className: chunk4ON3M3OM_cjs.cn(
@@ -9956,11 +10071,11 @@ var DialogContent = React.forwardRef(function DialogContent2({
9956
10071
  dialogContentVariants({ size }),
9957
10072
  className
9958
10073
  ),
9959
- variants: shouldReduce ? void 0 : chunkHITTFB2U_cjs.modalContent.variants,
10074
+ variants: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.modalContent.variants,
9960
10075
  initial: shouldReduce ? { opacity: 0 } : "initial",
9961
10076
  animate: shouldReduce ? { opacity: 1 } : "animate",
9962
10077
  exit: shouldReduce ? { opacity: 0 } : "exit",
9963
- transition: shouldReduce ? { duration: 0.2 } : chunkHITTFB2U_cjs.modalContent.transition,
10078
+ transition: shouldReduce ? { duration: 0.2 } : chunkF4JJFWWU_cjs.modalContent.transition,
9964
10079
  "data-ds": "",
9965
10080
  "data-ds-component": "dialog",
9966
10081
  "data-ds-size": size,
@@ -9985,7 +10100,7 @@ var DialogContent = React.forwardRef(function DialogContent2({
9985
10100
  ]
9986
10101
  }
9987
10102
  ) })
9988
- ] });
10103
+ ] }) }) });
9989
10104
  });
9990
10105
  DialogContent.displayName = "DialogContent";
9991
10106
  function DialogHeader({
@@ -10180,11 +10295,11 @@ var DropdownMenuContent = React.forwardRef(function DropdownMenuContent2({ class
10180
10295
  framerMotion.motion.div,
10181
10296
  {
10182
10297
  className: chunk4ON3M3OM_cjs.cn(...menuContentBase2, className),
10183
- variants: shouldReduce ? void 0 : chunkHITTFB2U_cjs.scaleIn.variants,
10298
+ variants: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.scaleIn.variants,
10184
10299
  initial: shouldReduce ? { opacity: 0 } : "initial",
10185
10300
  animate: shouldReduce ? { opacity: 1 } : "animate",
10186
10301
  exit: shouldReduce ? { opacity: 0 } : "exit",
10187
- transition: shouldReduce ? { duration: 0.15 } : chunkHITTFB2U_cjs.scaleIn.transition,
10302
+ transition: shouldReduce ? { duration: 0.15 } : chunkF4JJFWWU_cjs.scaleIn.transition,
10188
10303
  "data-ds": "",
10189
10304
  "data-ds-component": "dropdown-menu-content",
10190
10305
  "data-ds-animated": "",
@@ -10328,11 +10443,11 @@ var DropdownMenuSubContent = React.forwardRef(function DropdownMenuSubContent2({
10328
10443
  framerMotion.motion.div,
10329
10444
  {
10330
10445
  className: chunk4ON3M3OM_cjs.cn(...menuContentBase2, className),
10331
- variants: shouldReduce ? void 0 : chunkHITTFB2U_cjs.scaleIn.variants,
10446
+ variants: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.scaleIn.variants,
10332
10447
  initial: shouldReduce ? { opacity: 0 } : "initial",
10333
10448
  animate: shouldReduce ? { opacity: 1 } : "animate",
10334
10449
  exit: shouldReduce ? { opacity: 0 } : "exit",
10335
- transition: shouldReduce ? { duration: 0.15 } : chunkHITTFB2U_cjs.scaleIn.transition,
10450
+ transition: shouldReduce ? { duration: 0.15 } : chunkF4JJFWWU_cjs.scaleIn.transition,
10336
10451
  "data-ds": "",
10337
10452
  "data-ds-component": "dropdown-menu-sub-content",
10338
10453
  "data-ds-animated": "",
@@ -10408,10 +10523,10 @@ var EmptyState = React.forwardRef(
10408
10523
  framerMotion.motion.div,
10409
10524
  {
10410
10525
  className: "flex items-center justify-center size-16 rounded-full bg-muted text-muted-foreground",
10411
- variants: animated && !shouldReduce ? chunkHITTFB2U_cjs.scaleIn.variants : void 0,
10526
+ variants: animated && !shouldReduce ? chunkF4JJFWWU_cjs.scaleIn.variants : void 0,
10412
10527
  initial: animated && !shouldReduce ? "initial" : void 0,
10413
10528
  animate: animated && !shouldReduce ? "animate" : void 0,
10414
- transition: animated && !shouldReduce ? chunkHITTFB2U_cjs.scaleIn.transition : void 0,
10529
+ transition: animated && !shouldReduce ? chunkF4JJFWWU_cjs.scaleIn.transition : void 0,
10415
10530
  "data-ds-animated": animated ? "" : void 0,
10416
10531
  children: icon ?? /* @__PURE__ */ jsxRuntime.jsx(InboxIcon, { className: "size-8" })
10417
10532
  }
@@ -10420,10 +10535,10 @@ var EmptyState = React.forwardRef(
10420
10535
  framerMotion.motion.div,
10421
10536
  {
10422
10537
  className: "flex flex-col gap-1.5 max-w-xs",
10423
- variants: animated && !shouldReduce ? chunkHITTFB2U_cjs.fadeIn.variants : void 0,
10538
+ variants: animated && !shouldReduce ? chunkF4JJFWWU_cjs.fadeIn.variants : void 0,
10424
10539
  initial: animated && !shouldReduce ? "initial" : void 0,
10425
10540
  animate: animated && !shouldReduce ? "animate" : void 0,
10426
- transition: animated && !shouldReduce ? { ...chunkHITTFB2U_cjs.fadeIn.transition, delay: 0.15 } : void 0,
10541
+ transition: animated && !shouldReduce ? { ...chunkF4JJFWWU_cjs.fadeIn.transition, delay: 0.15 } : void 0,
10427
10542
  "data-ds-animated": animated ? "" : void 0,
10428
10543
  children: [
10429
10544
  title && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-base font-semibold text-foreground leading-5", children: title }),
@@ -10435,10 +10550,10 @@ var EmptyState = React.forwardRef(
10435
10550
  action && /* @__PURE__ */ jsxRuntime.jsx(
10436
10551
  framerMotion.motion.div,
10437
10552
  {
10438
- variants: animated && !shouldReduce ? chunkHITTFB2U_cjs.fadeIn.variants : void 0,
10553
+ variants: animated && !shouldReduce ? chunkF4JJFWWU_cjs.fadeIn.variants : void 0,
10439
10554
  initial: animated && !shouldReduce ? "initial" : void 0,
10440
10555
  animate: animated && !shouldReduce ? "animate" : void 0,
10441
- transition: animated && !shouldReduce ? { ...chunkHITTFB2U_cjs.fadeIn.transition, delay: 0.25 } : void 0,
10556
+ transition: animated && !shouldReduce ? { ...chunkF4JJFWWU_cjs.fadeIn.transition, delay: 0.25 } : void 0,
10442
10557
  "data-ds-animated": animated ? "" : void 0,
10443
10558
  children: action
10444
10559
  }
@@ -10770,7 +10885,7 @@ var FileUpload = React.forwardRef(
10770
10885
  framerMotion.motion.div,
10771
10886
  {
10772
10887
  className: "flex flex-col gap-2",
10773
- variants: shouldReduce ? void 0 : chunkHITTFB2U_cjs.staggerContainerFast.variants,
10888
+ variants: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.staggerContainerFast.variants,
10774
10889
  initial: shouldReduce ? void 0 : "initial",
10775
10890
  animate: shouldReduce ? void 0 : "animate",
10776
10891
  "data-ds-animated": "",
@@ -10778,7 +10893,7 @@ var FileUpload = React.forwardRef(
10778
10893
  framerMotion.motion.div,
10779
10894
  {
10780
10895
  layout: true,
10781
- variants: shouldReduce ? void 0 : chunkHITTFB2U_cjs.slideUpSm.variants,
10896
+ variants: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.slideUpSm.variants,
10782
10897
  initial: shouldReduce ? { opacity: 0 } : "initial",
10783
10898
  animate: shouldReduce ? { opacity: 1 } : "animate",
10784
10899
  exit: shouldReduce ? { opacity: 0 } : {
@@ -11057,11 +11172,11 @@ var HoverCardContent = React.forwardRef(function HoverCardContent2({
11057
11172
  "text-sm text-popover-foreground",
11058
11173
  className
11059
11174
  ),
11060
- variants: shouldReduce ? void 0 : chunkHITTFB2U_cjs.scaleIn.variants,
11175
+ variants: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.scaleIn.variants,
11061
11176
  initial: shouldReduce ? { opacity: 0 } : "initial",
11062
11177
  animate: shouldReduce ? { opacity: 1 } : "animate",
11063
11178
  exit: shouldReduce ? { opacity: 0 } : "exit",
11064
- transition: shouldReduce ? { duration: 0.12 } : chunkHITTFB2U_cjs.scaleIn.transition,
11179
+ transition: shouldReduce ? { duration: 0.12 } : chunkF4JJFWWU_cjs.scaleIn.transition,
11065
11180
  "data-ds": "",
11066
11181
  "data-ds-component": "hover-card-content",
11067
11182
  "data-ds-animated": "",
@@ -11389,7 +11504,7 @@ var addonVariants = classVarianceAuthority.cva(
11389
11504
  [
11390
11505
  "inline-flex items-center justify-center shrink-0",
11391
11506
  "bg-muted text-muted-foreground font-medium",
11392
- "px-3 select-none",
11507
+ "select-none",
11393
11508
  "border-border"
11394
11509
  ],
11395
11510
  {
@@ -11407,21 +11522,51 @@ var addonVariants = classVarianceAuthority.cva(
11407
11522
  defaultVariants: { position: "left", size: "md" }
11408
11523
  }
11409
11524
  );
11410
- var prefixSuffixVariants = classVarianceAuthority.cva(
11411
- [
11412
- "inline-flex items-center shrink-0",
11413
- "text-muted-foreground pointer-events-none"
11414
- ],
11415
- {
11416
- variants: {
11417
- position: {
11418
- left: "pl-3",
11419
- right: "pr-3"
11420
- }
11421
- },
11422
- defaultVariants: { position: "left" }
11423
- }
11424
- );
11525
+ var iconSizeMap5 = {
11526
+ sm: "[&>svg]:size-3.5",
11527
+ md: "[&>svg]:size-4",
11528
+ lg: "[&>svg]:size-4"
11529
+ };
11530
+ var prefixPaddingMap = {
11531
+ sm: "pl-2",
11532
+ md: "pl-3",
11533
+ lg: "pl-3"
11534
+ };
11535
+ var suffixPaddingMap = {
11536
+ sm: "pr-2",
11537
+ md: "pr-3",
11538
+ lg: "pr-3"
11539
+ };
11540
+ var inputLeftPaddingWithPrefix = {
11541
+ sm: "pl-1.5",
11542
+ md: "pl-2",
11543
+ lg: "pl-2"
11544
+ };
11545
+ var inputLeftPaddingWithAddon = {
11546
+ sm: "pl-2",
11547
+ md: "pl-3",
11548
+ lg: "pl-3"
11549
+ };
11550
+ var inputLeftPaddingWithoutPrefix = {
11551
+ sm: "pl-2",
11552
+ md: "pl-3",
11553
+ lg: "pl-3"
11554
+ };
11555
+ var inputRightPaddingWithSuffix = {
11556
+ sm: "pr-1.5",
11557
+ md: "pr-2",
11558
+ lg: "pr-2"
11559
+ };
11560
+ var inputRightPaddingWithAddon = {
11561
+ sm: "pr-2",
11562
+ md: "pr-3",
11563
+ lg: "pr-3"
11564
+ };
11565
+ var inputRightPaddingWithoutSuffix = {
11566
+ sm: "pr-2",
11567
+ md: "pr-3",
11568
+ lg: "pr-3"
11569
+ };
11425
11570
  var InputGroup = React.forwardRef(
11426
11571
  function InputGroup2({
11427
11572
  size = "md",
@@ -11437,7 +11582,11 @@ var InputGroup = React.forwardRef(
11437
11582
  inputProps,
11438
11583
  children
11439
11584
  }, ref) {
11440
- const iconSize = size === "lg" ? "size-4" : "size-3.5";
11585
+ const hasPrefix = !!prefix;
11586
+ const hasSuffix = !!suffix;
11587
+ const hasAddonRight = !!addonRight;
11588
+ const inputPaddingLeft = hasPrefix ? inputLeftPaddingWithPrefix[size] : addonLeft ? inputLeftPaddingWithAddon[size] : inputLeftPaddingWithoutPrefix[size];
11589
+ const inputPaddingRight = hasSuffix ? inputRightPaddingWithSuffix[size] : hasAddonRight ? inputRightPaddingWithAddon[size] : inputRightPaddingWithoutSuffix[size];
11441
11590
  return /* @__PURE__ */ jsxRuntime.jsxs(
11442
11591
  "div",
11443
11592
  {
@@ -11453,8 +11602,10 @@ var InputGroup = React.forwardRef(
11453
11602
  "span",
11454
11603
  {
11455
11604
  className: chunk4ON3M3OM_cjs.cn(
11456
- prefixSuffixVariants({ position: "left" }),
11457
- `[&>svg]:${iconSize}`
11605
+ "inline-flex items-center justify-center shrink-0",
11606
+ "text-muted-foreground pointer-events-none",
11607
+ prefixPaddingMap[size],
11608
+ iconSizeMap5[size]
11458
11609
  ),
11459
11610
  children: prefix
11460
11611
  }
@@ -11464,10 +11615,10 @@ var InputGroup = React.forwardRef(
11464
11615
  {
11465
11616
  disabled,
11466
11617
  className: chunk4ON3M3OM_cjs.cn(
11467
- "flex-1 h-full bg-transparent outline-none text-foreground",
11618
+ "flex-1 h-full bg-transparent outline-none text-foreground min-w-0",
11468
11619
  "placeholder:text-muted-foreground",
11469
- !prefix && "pl-3",
11470
- !suffix && !addonRight && "pr-3",
11620
+ inputPaddingLeft,
11621
+ inputPaddingRight,
11471
11622
  inputClassName
11472
11623
  ),
11473
11624
  ...inputProps
@@ -11477,8 +11628,10 @@ var InputGroup = React.forwardRef(
11477
11628
  "span",
11478
11629
  {
11479
11630
  className: chunk4ON3M3OM_cjs.cn(
11480
- prefixSuffixVariants({ position: "right" }),
11481
- `[&>svg]:${iconSize}`
11631
+ "inline-flex items-center justify-center shrink-0",
11632
+ "text-muted-foreground pointer-events-none",
11633
+ suffixPaddingMap[size],
11634
+ iconSizeMap5[size]
11482
11635
  ),
11483
11636
  children: suffix
11484
11637
  }
@@ -11490,41 +11643,6 @@ var InputGroup = React.forwardRef(
11490
11643
  }
11491
11644
  );
11492
11645
  InputGroup.displayName = "InputGroup";
11493
- var kbdVariants = classVarianceAuthority.cva(
11494
- [
11495
- "inline-flex items-center gap-0.5",
11496
- "font-mono font-medium leading-none",
11497
- "rounded border border-border",
11498
- "bg-muted text-muted-foreground",
11499
- "shadow-[0_1px_0_1px_hsl(var(--border))]",
11500
- "select-none whitespace-nowrap"
11501
- ],
11502
- {
11503
- variants: {
11504
- size: {
11505
- sm: "px-1.5 py-0.5 text-[10px]",
11506
- md: "px-2 py-1 text-xs",
11507
- lg: "px-2.5 py-1 text-sm"
11508
- }
11509
- },
11510
- defaultVariants: { size: "md" }
11511
- }
11512
- );
11513
- var Kbd = React.forwardRef(function Kbd2({ size = "md", className, children, ...rest }, ref) {
11514
- return /* @__PURE__ */ jsxRuntime.jsx(
11515
- "kbd",
11516
- {
11517
- ref,
11518
- className: chunk4ON3M3OM_cjs.cn(kbdVariants({ size }), className),
11519
- "data-ds": "",
11520
- "data-ds-component": "kbd",
11521
- "data-ds-size": size,
11522
- ...rest,
11523
- children
11524
- }
11525
- );
11526
- });
11527
- Kbd.displayName = "Kbd";
11528
11646
  var labelVariants = classVarianceAuthority.cva(
11529
11647
  // Base styles — shared across all sizes
11530
11648
  [
@@ -12245,10 +12363,16 @@ function roundToPrecision(value, precision) {
12245
12363
  const factor = 10 ** precision;
12246
12364
  return Math.round(value * factor) / factor;
12247
12365
  }
12366
+ var ROLL_DISTANCE = 12;
12367
+ var ROLL_TRANSITION = {
12368
+ duration: 0.2,
12369
+ ease: [0.4, 0, 0.2, 1]
12370
+ };
12248
12371
  function AnimatedValue({
12249
12372
  value,
12250
12373
  formatValue,
12251
- shouldReduce
12374
+ shouldReduce,
12375
+ direction
12252
12376
  }) {
12253
12377
  const [displayValue, setDisplayValue] = React.useState(value);
12254
12378
  const [key, setKey] = React.useState(0);
@@ -12259,6 +12383,13 @@ function AnimatedValue({
12259
12383
  if (shouldReduce) {
12260
12384
  return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "tabular-nums", children: formatValue(displayValue) });
12261
12385
  }
12386
+ const enterY = direction === "down" ? -ROLL_DISTANCE : ROLL_DISTANCE;
12387
+ const exitY = direction === "down" ? ROLL_DISTANCE : -ROLL_DISTANCE;
12388
+ const variants = {
12389
+ initial: { opacity: 0, y: enterY },
12390
+ animate: { opacity: 1, y: 0 },
12391
+ exit: { opacity: 0, y: exitY }
12392
+ };
12262
12393
  return /* @__PURE__ */ jsxRuntime.jsx(
12263
12394
  "span",
12264
12395
  {
@@ -12269,11 +12400,11 @@ function AnimatedValue({
12269
12400
  framerMotion.motion.span,
12270
12401
  {
12271
12402
  className: "inline-block tabular-nums",
12272
- variants: chunkHITTFB2U_cjs.numberRoll.variants,
12403
+ variants,
12273
12404
  initial: "initial",
12274
12405
  animate: "animate",
12275
12406
  exit: "exit",
12276
- transition: chunkHITTFB2U_cjs.numberRoll.transition,
12407
+ transition: ROLL_TRANSITION,
12277
12408
  "data-ds-animated": "",
12278
12409
  children: formatValue(displayValue)
12279
12410
  },
@@ -12287,7 +12418,7 @@ var buttonWidthMap = {
12287
12418
  md: "w-8",
12288
12419
  lg: "w-9"
12289
12420
  };
12290
- var iconSizeMap5 = {
12421
+ var iconSizeMap6 = {
12291
12422
  sm: "size-3",
12292
12423
  md: "size-3.5",
12293
12424
  lg: "size-4"
@@ -12323,13 +12454,27 @@ var NumberInput = React.forwardRef(
12323
12454
  () => roundToPrecision(clamp(defaultValue, min2, max2), precision)
12324
12455
  );
12325
12456
  const [inputRaw, setInputRaw] = React.useState(null);
12457
+ const [direction, setDirection] = React.useState("none");
12326
12458
  const inputRef = React.useRef(null);
12459
+ const prevValueRef = React.useRef(
12460
+ controlledValue ?? roundToPrecision(clamp(defaultValue, min2, max2), precision)
12461
+ );
12327
12462
  const currentValue = controlledValue !== void 0 ? controlledValue : internalValue;
12463
+ React.useEffect(() => {
12464
+ if (controlledValue !== void 0 && controlledValue !== prevValueRef.current) {
12465
+ setDirection(controlledValue > prevValueRef.current ? "up" : "down");
12466
+ prevValueRef.current = controlledValue;
12467
+ }
12468
+ }, [controlledValue]);
12328
12469
  const resolvedFormat = formatValue ?? ((v) => v.toFixed(precision));
12329
12470
  const resolvedParse = parseValue ?? ((raw) => Number.parseFloat(raw.replace(/[^0-9.-]/g, "")));
12330
12471
  const commit = React.useCallback(
12331
12472
  (next) => {
12332
12473
  const clamped = roundToPrecision(clamp(next, min2, max2), precision);
12474
+ if (clamped !== currentValue) {
12475
+ setDirection(clamped > currentValue ? "up" : "down");
12476
+ prevValueRef.current = clamped;
12477
+ }
12333
12478
  if (controlledValue === void 0) {
12334
12479
  setInternalValue(clamped);
12335
12480
  }
@@ -12442,7 +12587,7 @@ var NumberInput = React.forwardRef(
12442
12587
  buttonWidthMap[size],
12443
12588
  "border-r border-input/60"
12444
12589
  ),
12445
- children: /* @__PURE__ */ jsxRuntime.jsx(MinusIcon, { className: iconSizeMap5[size] })
12590
+ children: /* @__PURE__ */ jsxRuntime.jsx(MinusIcon, { className: iconSizeMap6[size] })
12446
12591
  }
12447
12592
  ),
12448
12593
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative flex-1 flex items-center justify-center", children: inputRaw !== null ? (
@@ -12490,7 +12635,8 @@ var NumberInput = React.forwardRef(
12490
12635
  {
12491
12636
  value: currentValue,
12492
12637
  formatValue: resolvedFormat,
12493
- shouldReduce: shouldReduce ?? false
12638
+ shouldReduce: shouldReduce ?? false,
12639
+ direction
12494
12640
  }
12495
12641
  )
12496
12642
  }
@@ -12509,7 +12655,7 @@ var NumberInput = React.forwardRef(
12509
12655
  buttonWidthMap[size],
12510
12656
  "border-l border-input/60"
12511
12657
  ),
12512
- children: /* @__PURE__ */ jsxRuntime.jsx(PlusIcon, { className: iconSizeMap5[size] })
12658
+ children: /* @__PURE__ */ jsxRuntime.jsx(PlusIcon, { className: iconSizeMap6[size] })
12513
12659
  }
12514
12660
  )
12515
12661
  ]
@@ -12612,7 +12758,7 @@ function computePageRange(currentPage, totalPages, siblings, boundary) {
12612
12758
  }
12613
12759
  return items;
12614
12760
  }
12615
- var iconSizeMap6 = {
12761
+ var iconSizeMap7 = {
12616
12762
  sm: "size-3.5",
12617
12763
  md: "size-4"
12618
12764
  };
@@ -12685,7 +12831,7 @@ var Pagination = React.forwardRef(
12685
12831
  })
12686
12832
  ),
12687
12833
  "aria-label": prevLabel,
12688
- children: /* @__PURE__ */ jsxRuntime.jsx(ChevronLeftIcon2, { className: iconSizeMap6[size] })
12834
+ children: /* @__PURE__ */ jsxRuntime.jsx(ChevronLeftIcon2, { className: iconSizeMap7[size] })
12689
12835
  }
12690
12836
  ),
12691
12837
  /* @__PURE__ */ jsxRuntime.jsxs(
@@ -12717,7 +12863,7 @@ var Pagination = React.forwardRef(
12717
12863
  })
12718
12864
  ),
12719
12865
  "aria-label": nextLabel,
12720
- children: /* @__PURE__ */ jsxRuntime.jsx(ChevronRightIcon6, { className: iconSizeMap6[size] })
12866
+ children: /* @__PURE__ */ jsxRuntime.jsx(ChevronRightIcon6, { className: iconSizeMap7[size] })
12721
12867
  }
12722
12868
  )
12723
12869
  ]
@@ -12745,7 +12891,7 @@ var Pagination = React.forwardRef(
12745
12891
  className: chunk4ON3M3OM_cjs.cn(paginationButtonVariants({ size, active: false })),
12746
12892
  "aria-label": prevLabel,
12747
12893
  children: [
12748
- /* @__PURE__ */ jsxRuntime.jsx(ChevronLeftIcon2, { className: iconSizeMap6[size] }),
12894
+ /* @__PURE__ */ jsxRuntime.jsx(ChevronLeftIcon2, { className: iconSizeMap7[size] }),
12749
12895
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only sm:not-sr-only", children: prevLabel })
12750
12896
  ]
12751
12897
  }
@@ -12795,7 +12941,7 @@ var Pagination = React.forwardRef(
12795
12941
  "aria-label": nextLabel,
12796
12942
  children: [
12797
12943
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only sm:not-sr-only", children: nextLabel }),
12798
- /* @__PURE__ */ jsxRuntime.jsx(ChevronRightIcon6, { className: iconSizeMap6[size] })
12944
+ /* @__PURE__ */ jsxRuntime.jsx(ChevronRightIcon6, { className: iconSizeMap7[size] })
12799
12945
  ]
12800
12946
  }
12801
12947
  )
@@ -13018,10 +13164,10 @@ var PinInput = React.forwardRef(
13018
13164
  {
13019
13165
  ref: containerRef,
13020
13166
  className: chunk4ON3M3OM_cjs.cn("inline-flex", gap, className),
13021
- variants: chunkHITTFB2U_cjs.shakeX.variants,
13167
+ variants: chunkF4JJFWWU_cjs.shakeX.variants,
13022
13168
  initial: shakeKey === 0 ? false : "initial",
13023
13169
  animate: shakeKey > 0 ? "animate" : "initial",
13024
- transition: chunkHITTFB2U_cjs.shakeX.transition,
13170
+ transition: chunkF4JJFWWU_cjs.shakeX.transition,
13025
13171
  "aria-label": ariaLabel,
13026
13172
  "data-ds": "",
13027
13173
  "data-ds-component": "pin-input",
@@ -13037,11 +13183,11 @@ var PinInput = React.forwardRef(
13037
13183
  framerMotion.motion.div,
13038
13184
  {
13039
13185
  className: "absolute inset-0 rounded-md bg-primary/15 pointer-events-none",
13040
- variants: chunkHITTFB2U_cjs.pop.variants,
13186
+ variants: chunkF4JJFWWU_cjs.pop.variants,
13041
13187
  initial: "initial",
13042
13188
  animate: "animate",
13043
13189
  exit: "exit",
13044
- transition: chunkHITTFB2U_cjs.pop.transition,
13190
+ transition: chunkF4JJFWWU_cjs.pop.transition,
13045
13191
  "data-ds-animated": ""
13046
13192
  }
13047
13193
  ) }),
@@ -13168,11 +13314,11 @@ var PopoverContent = React.forwardRef(function PopoverContent2({
13168
13314
  "outline-none",
13169
13315
  className
13170
13316
  ),
13171
- variants: shouldReduce ? void 0 : chunkHITTFB2U_cjs.scaleIn.variants,
13317
+ variants: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.scaleIn.variants,
13172
13318
  initial: shouldReduce ? { opacity: 0 } : "initial",
13173
13319
  animate: shouldReduce ? { opacity: 1 } : "animate",
13174
13320
  exit: shouldReduce ? { opacity: 0 } : "exit",
13175
- transition: shouldReduce ? { duration: 0.15 } : chunkHITTFB2U_cjs.scaleIn.transition,
13321
+ transition: shouldReduce ? { duration: 0.15 } : chunkF4JJFWWU_cjs.scaleIn.transition,
13176
13322
  "data-ds": "",
13177
13323
  "data-ds-component": "popover-content",
13178
13324
  "data-ds-animated": "",
@@ -13632,7 +13778,7 @@ var RadioGroupItem = React.forwardRef(function RadioGroupItem2({ value, label, d
13632
13778
  )
13633
13779
  }
13634
13780
  ),
13635
- (label || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5 min-w-0", children: [
13781
+ (label || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5 min-w-0 flex-1", children: [
13636
13782
  label && /* @__PURE__ */ jsxRuntime.jsx(
13637
13783
  "label",
13638
13784
  {
@@ -14040,11 +14186,20 @@ function LoaderIcon({ className }) {
14040
14186
  }
14041
14187
  );
14042
14188
  }
14043
- var iconSizeMap7 = {
14189
+ var iconSizeMap8 = {
14044
14190
  sm: "size-3.5",
14045
14191
  md: "size-4",
14046
14192
  lg: "size-4"
14047
14193
  };
14194
+ function useIsMac() {
14195
+ const [isMac, setIsMac] = React.useState(false);
14196
+ React.useEffect(() => {
14197
+ setIsMac(
14198
+ typeof navigator !== "undefined" && /(Mac|iPhone|iPod|iPad)/i.test(navigator.userAgent)
14199
+ );
14200
+ }, []);
14201
+ return isMac;
14202
+ }
14048
14203
  var SearchInput = React.forwardRef(
14049
14204
  function SearchInput2({
14050
14205
  value: controlledValue,
@@ -14063,9 +14218,11 @@ var SearchInput = React.forwardRef(
14063
14218
  ...rest
14064
14219
  }, ref) {
14065
14220
  const shouldReduce = framerMotion.useReducedMotion();
14221
+ const isMac = useIsMac();
14066
14222
  const [internalValue, setInternalValue] = React.useState(defaultValue);
14067
14223
  const debounceTimer = React.useRef(null);
14068
14224
  const inputRef = React.useRef(null);
14225
+ React.useImperativeHandle(ref, () => inputRef.current);
14069
14226
  const currentValue = controlledValue !== void 0 ? controlledValue : internalValue;
14070
14227
  const hasValue = currentValue.length > 0;
14071
14228
  const handleChange = React.useCallback(
@@ -14087,21 +14244,19 @@ var SearchInput = React.forwardRef(
14087
14244
  if (controlledValue === void 0) setInternalValue("");
14088
14245
  onChange?.("");
14089
14246
  onDebouncedChange?.("");
14090
- const inputEl = ref?.current ?? inputRef.current;
14091
- inputEl?.focus();
14092
- }, [controlledValue, onChange, onDebouncedChange, ref]);
14247
+ inputRef.current?.focus();
14248
+ }, [controlledValue, onChange, onDebouncedChange]);
14093
14249
  React.useEffect(() => {
14094
14250
  if (!shortcut) return;
14095
14251
  const handler = (e) => {
14096
14252
  if ((e.metaKey || e.ctrlKey) && e.key.toLowerCase() === shortcut.toLowerCase()) {
14097
14253
  e.preventDefault();
14098
- const inputEl = ref?.current ?? inputRef.current;
14099
- inputEl?.focus();
14254
+ inputRef.current?.focus();
14100
14255
  }
14101
14256
  };
14102
14257
  window.addEventListener("keydown", handler);
14103
14258
  return () => window.removeEventListener("keydown", handler);
14104
- }, [shortcut, ref]);
14259
+ }, [shortcut]);
14105
14260
  return /* @__PURE__ */ jsxRuntime.jsxs(
14106
14261
  "div",
14107
14262
  {
@@ -14110,11 +14265,11 @@ var SearchInput = React.forwardRef(
14110
14265
  "data-ds-component": "search-input",
14111
14266
  "data-ds-size": size,
14112
14267
  children: [
14113
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-muted-foreground pointer-events-none", children: loading ? /* @__PURE__ */ jsxRuntime.jsx(LoaderIcon, { className: iconSizeMap7[size] }) : /* @__PURE__ */ jsxRuntime.jsx(SearchIcon3, { className: iconSizeMap7[size] }) }),
14268
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-muted-foreground pointer-events-none", children: loading ? /* @__PURE__ */ jsxRuntime.jsx(LoaderIcon, { className: iconSizeMap8[size] }) : /* @__PURE__ */ jsxRuntime.jsx(SearchIcon3, { className: iconSizeMap8[size] }) }),
14114
14269
  /* @__PURE__ */ jsxRuntime.jsx(
14115
14270
  "input",
14116
14271
  {
14117
- ref: ref ?? inputRef,
14272
+ ref: inputRef,
14118
14273
  type: "search",
14119
14274
  value: currentValue,
14120
14275
  onChange: handleChange,
@@ -14141,26 +14296,32 @@ var SearchInput = React.forwardRef(
14141
14296
  "text-muted-foreground hover:text-foreground transition-colors duration-fast",
14142
14297
  "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring"
14143
14298
  ),
14144
- variants: shouldReduce ? void 0 : chunkHITTFB2U_cjs.fadeInFast.variants,
14299
+ variants: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.fadeInFast.variants,
14145
14300
  initial: shouldReduce ? { opacity: 0 } : "initial",
14146
14301
  animate: shouldReduce ? { opacity: 1 } : "animate",
14147
14302
  exit: shouldReduce ? { opacity: 0 } : "exit",
14148
- transition: shouldReduce ? { duration: 0.1 } : chunkHITTFB2U_cjs.fadeInFast.transition,
14303
+ transition: shouldReduce ? { duration: 0.1 } : chunkF4JJFWWU_cjs.fadeInFast.transition,
14149
14304
  "data-ds-animated": "",
14150
- children: /* @__PURE__ */ jsxRuntime.jsx(XIcon5, { className: iconSizeMap7[size] })
14305
+ children: /* @__PURE__ */ jsxRuntime.jsx(XIcon5, { className: iconSizeMap8[size] })
14151
14306
  },
14152
14307
  "clear"
14153
14308
  ) }),
14154
- shortcut && !hasValue && /* @__PURE__ */ jsxRuntime.jsx(
14309
+ shortcut && !hasValue && /* @__PURE__ */ jsxRuntime.jsxs(
14155
14310
  "kbd",
14156
14311
  {
14157
14312
  className: chunk4ON3M3OM_cjs.cn(
14158
- "hidden sm:inline-flex items-center gap-0.5 rounded border border-border",
14159
- "bg-muted text-muted-foreground font-mono font-medium",
14313
+ "hidden sm:inline-flex items-center gap-0.5",
14314
+ "rounded-md border border-border",
14315
+ "bg-muted/80 text-muted-foreground",
14316
+ "font-sans font-medium tracking-wide",
14317
+ "shadow-[0_1px_0_1px_rgba(0,0,0,0.15)] dark:shadow-[0_1px_0_1px_rgba(255,255,255,0.06)]",
14160
14318
  "pointer-events-none select-none",
14161
- size === "sm" ? "px-1 py-0.5 text-[9px]" : "px-1.5 py-0.5 text-[10px]"
14319
+ size === "sm" ? "h-5 min-w-5 px-1 text-[10px]" : "h-6 min-w-6 px-1.5 text-[11px]"
14162
14320
  ),
14163
- children: shortcut
14321
+ children: [
14322
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "opacity-70", children: isMac ? "\u2318" : "Ctrl" }),
14323
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: shortcut.toUpperCase() })
14324
+ ]
14164
14325
  }
14165
14326
  )
14166
14327
  ] })
@@ -14266,7 +14427,7 @@ function CheckIconInternal({ className }) {
14266
14427
  }
14267
14428
  );
14268
14429
  }
14269
- var iconSizeMap8 = {
14430
+ var iconSizeMap9 = {
14270
14431
  sm: "size-3.5",
14271
14432
  md: "size-4",
14272
14433
  lg: "size-4"
@@ -14288,7 +14449,7 @@ var SelectTrigger = React.forwardRef(function SelectTrigger2({ className, childr
14288
14449
  /* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.Icon, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
14289
14450
  ChevronDownIcon4,
14290
14451
  {
14291
- className: chunk4ON3M3OM_cjs.cn(iconSizeMap8[size], "shrink-0 text-muted-foreground")
14452
+ className: chunk4ON3M3OM_cjs.cn(iconSizeMap9[size], "shrink-0 text-muted-foreground")
14292
14453
  }
14293
14454
  ) })
14294
14455
  ]
@@ -14321,11 +14482,11 @@ var SelectContent = React.forwardRef(function SelectContent2({ className, childr
14321
14482
  "shadow-lg",
14322
14483
  className
14323
14484
  ),
14324
- variants: shouldReduce ? void 0 : chunkHITTFB2U_cjs.scaleIn.variants,
14485
+ variants: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.scaleIn.variants,
14325
14486
  initial: shouldReduce ? { opacity: 0 } : "initial",
14326
14487
  animate: shouldReduce ? { opacity: 1 } : "animate",
14327
14488
  exit: shouldReduce ? { opacity: 0 } : "exit",
14328
- transition: shouldReduce ? { duration: 0.15 } : chunkHITTFB2U_cjs.scaleIn.transition,
14489
+ transition: shouldReduce ? { duration: 0.15 } : chunkF4JJFWWU_cjs.scaleIn.transition,
14329
14490
  "data-ds-animated": "",
14330
14491
  children: [
14331
14492
  /* @__PURE__ */ jsxRuntime.jsx(SelectScrollUpButton, {}),
@@ -14569,6 +14730,10 @@ var sheetContentVariants = classVarianceAuthority.cva(
14569
14730
  }
14570
14731
  }
14571
14732
  );
14733
+ var SheetContext = React.createContext({ open: false });
14734
+ function useSheetContext() {
14735
+ return React.useContext(SheetContext);
14736
+ }
14572
14737
  function CloseIcon4({ className }) {
14573
14738
  return /* @__PURE__ */ jsxRuntime.jsxs(
14574
14739
  "svg",
@@ -14589,8 +14754,32 @@ function CloseIcon4({ className }) {
14589
14754
  }
14590
14755
  );
14591
14756
  }
14592
- function Sheet({ children, ...rest }) {
14593
- return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Root, { ...rest, children });
14757
+ function Sheet({
14758
+ children,
14759
+ open: controlledOpen,
14760
+ onOpenChange,
14761
+ defaultOpen = false,
14762
+ ...rest
14763
+ }) {
14764
+ const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen);
14765
+ const isControlled = controlledOpen !== void 0;
14766
+ const open = isControlled ? controlledOpen : uncontrolledOpen;
14767
+ const handleOpenChange = React.useCallback(
14768
+ (next) => {
14769
+ if (!isControlled) setUncontrolledOpen(next);
14770
+ onOpenChange?.(next);
14771
+ },
14772
+ [isControlled, onOpenChange]
14773
+ );
14774
+ return /* @__PURE__ */ jsxRuntime.jsx(SheetContext.Provider, { value: { open }, children: /* @__PURE__ */ jsxRuntime.jsx(
14775
+ radixUi.Dialog.Root,
14776
+ {
14777
+ open,
14778
+ onOpenChange: handleOpenChange,
14779
+ ...rest,
14780
+ children
14781
+ }
14782
+ ) });
14594
14783
  }
14595
14784
  Sheet.displayName = "Sheet";
14596
14785
  var SheetTrigger = React.forwardRef(function SheetTrigger2({ className, ...rest }, ref) {
@@ -14608,7 +14797,7 @@ var SheetTrigger = React.forwardRef(function SheetTrigger2({ className, ...rest
14608
14797
  SheetTrigger.displayName = "SheetTrigger";
14609
14798
  var SheetOverlay = React.forwardRef(function SheetOverlay2({ className, ...rest }, ref) {
14610
14799
  const shouldReduce = framerMotion.useReducedMotion();
14611
- return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Overlay, { ref, asChild: true, ...rest, children: /* @__PURE__ */ jsxRuntime.jsx(
14800
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Overlay, { ref, forceMount: true, asChild: true, ...rest, children: /* @__PURE__ */ jsxRuntime.jsx(
14612
14801
  framerMotion.motion.div,
14613
14802
  {
14614
14803
  className: chunk4ON3M3OM_cjs.cn(
@@ -14617,21 +14806,21 @@ var SheetOverlay = React.forwardRef(function SheetOverlay2({ className, ...rest
14617
14806
  "bg-black/50",
14618
14807
  className
14619
14808
  ),
14620
- variants: shouldReduce ? void 0 : chunkHITTFB2U_cjs.overlayBackdrop.variants,
14809
+ variants: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.overlayBackdrop.variants,
14621
14810
  initial: shouldReduce ? { opacity: 0 } : "initial",
14622
14811
  animate: shouldReduce ? { opacity: 1 } : "animate",
14623
14812
  exit: shouldReduce ? { opacity: 0 } : "exit",
14624
- transition: shouldReduce ? { duration: 0.15 } : chunkHITTFB2U_cjs.overlayBackdrop.transition,
14813
+ transition: shouldReduce ? { duration: 0.15 } : chunkF4JJFWWU_cjs.overlayBackdrop.transition,
14625
14814
  "data-ds-animated": ""
14626
14815
  }
14627
14816
  ) });
14628
14817
  });
14629
14818
  SheetOverlay.displayName = "SheetOverlay";
14630
14819
  var sidePresetMap = {
14631
- left: chunkHITTFB2U_cjs.slidePanelLeft,
14632
- right: chunkHITTFB2U_cjs.slidePanelRight,
14633
- top: chunkHITTFB2U_cjs.slidePanelTop,
14634
- bottom: chunkHITTFB2U_cjs.slidePanelBottom
14820
+ left: chunkF4JJFWWU_cjs.slidePanelLeft,
14821
+ right: chunkF4JJFWWU_cjs.slidePanelRight,
14822
+ top: chunkF4JJFWWU_cjs.slidePanelTop,
14823
+ bottom: chunkF4JJFWWU_cjs.slidePanelBottom
14635
14824
  };
14636
14825
  var SheetContent = React.forwardRef(function SheetContent2({
14637
14826
  side = "right",
@@ -14643,10 +14832,11 @@ var SheetContent = React.forwardRef(function SheetContent2({
14643
14832
  ...rest
14644
14833
  }, ref) {
14645
14834
  const shouldReduce = framerMotion.useReducedMotion();
14835
+ const { open } = useSheetContext();
14646
14836
  const preset = sidePresetMap[side];
14647
- return /* @__PURE__ */ jsxRuntime.jsxs(radixUi.Dialog.Portal, { children: [
14837
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Portal, { forceMount: true, children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { children: open && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
14648
14838
  /* @__PURE__ */ jsxRuntime.jsx(SheetOverlay, { className: overlayClassName }),
14649
- /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Content, { ref, asChild: true, ...rest, children: /* @__PURE__ */ jsxRuntime.jsxs(
14839
+ /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Content, { ref, forceMount: true, asChild: true, ...rest, children: /* @__PURE__ */ jsxRuntime.jsxs(
14650
14840
  framerMotion.motion.div,
14651
14841
  {
14652
14842
  className: chunk4ON3M3OM_cjs.cn(
@@ -14684,7 +14874,7 @@ var SheetContent = React.forwardRef(function SheetContent2({
14684
14874
  ]
14685
14875
  }
14686
14876
  ) })
14687
- ] });
14877
+ ] }) }) });
14688
14878
  });
14689
14879
  SheetContent.displayName = "SheetContent";
14690
14880
  function SheetHeader({ className, children }) {
@@ -15251,11 +15441,11 @@ function SidebarMobileOverlay({ className }) {
15251
15441
  "fixed inset-0 z-overlay bg-black/50 backdrop-blur-sm md:hidden",
15252
15442
  className
15253
15443
  ),
15254
- variants: shouldReduce ? void 0 : chunkHITTFB2U_cjs.overlayBackdrop.variants,
15444
+ variants: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.overlayBackdrop.variants,
15255
15445
  initial: shouldReduce ? { opacity: 0 } : "initial",
15256
15446
  animate: shouldReduce ? { opacity: 1 } : "animate",
15257
15447
  exit: shouldReduce ? { opacity: 0 } : "exit",
15258
- transition: shouldReduce ? { duration: 0.15 } : chunkHITTFB2U_cjs.overlayBackdrop.transition,
15448
+ transition: shouldReduce ? { duration: 0.15 } : chunkF4JJFWWU_cjs.overlayBackdrop.transition,
15259
15449
  onClick: () => setMobileOpen(false),
15260
15450
  "data-ds-animated": ""
15261
15451
  }
@@ -15530,11 +15720,11 @@ function SliderTooltip({
15530
15720
  "pointer-events-none select-none",
15531
15721
  "z-tooltip"
15532
15722
  ),
15533
- variants: chunkHITTFB2U_cjs.fadeInFast.variants,
15723
+ variants: chunkF4JJFWWU_cjs.fadeInFast.variants,
15534
15724
  initial: shouldReduce ? false : "initial",
15535
15725
  animate: "animate",
15536
15726
  exit: "exit",
15537
- transition: chunkHITTFB2U_cjs.fadeInFast.transition,
15727
+ transition: chunkF4JJFWWU_cjs.fadeInFast.transition,
15538
15728
  "data-ds-animated": "",
15539
15729
  children: [
15540
15730
  format(value),
@@ -15559,35 +15749,33 @@ function SliderThumbItem({
15559
15749
  shouldReduce
15560
15750
  }) {
15561
15751
  const [isActive, setIsActive] = React.useState(false);
15562
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
15563
- showTooltip && /* @__PURE__ */ jsxRuntime.jsx(
15564
- SliderTooltip,
15565
- {
15566
- value,
15567
- visible: isActive,
15568
- format: formatTooltip
15569
- }
15570
- ),
15571
- /* @__PURE__ */ jsxRuntime.jsx(
15572
- MotionThumb,
15573
- {
15574
- className: chunk4ON3M3OM_cjs.cn(sliderThumbVariants({ variant, size })),
15575
- onMouseEnter: () => setIsActive(true),
15576
- onMouseLeave: () => setIsActive(false),
15577
- onFocus: () => setIsActive(true),
15578
- onBlur: () => setIsActive(false),
15579
- whileTap: shouldReduce ? void 0 : {
15580
- scale: 1.2,
15581
- transition: { type: "spring", stiffness: 400, damping: 25 }
15582
- },
15583
- whileHover: shouldReduce ? void 0 : {
15584
- scale: 1.1,
15585
- transition: { type: "spring", stiffness: 400, damping: 30 }
15586
- },
15587
- "data-ds-animated": ""
15588
- }
15589
- )
15590
- ] });
15752
+ return /* @__PURE__ */ jsxRuntime.jsx(
15753
+ MotionThumb,
15754
+ {
15755
+ className: chunk4ON3M3OM_cjs.cn("relative overflow-visible", sliderThumbVariants({ variant, size })),
15756
+ onMouseEnter: () => setIsActive(true),
15757
+ onMouseLeave: () => setIsActive(false),
15758
+ onFocus: () => setIsActive(true),
15759
+ onBlur: () => setIsActive(false),
15760
+ whileTap: shouldReduce ? void 0 : {
15761
+ scale: 1.2,
15762
+ transition: { type: "spring", stiffness: 400, damping: 25 }
15763
+ },
15764
+ whileHover: shouldReduce ? void 0 : {
15765
+ scale: 1.1,
15766
+ transition: { type: "spring", stiffness: 400, damping: 30 }
15767
+ },
15768
+ "data-ds-animated": "",
15769
+ children: showTooltip && /* @__PURE__ */ jsxRuntime.jsx(
15770
+ SliderTooltip,
15771
+ {
15772
+ value,
15773
+ visible: isActive,
15774
+ format: formatTooltip
15775
+ }
15776
+ )
15777
+ }
15778
+ );
15591
15779
  }
15592
15780
  var Slider = React.forwardRef(function Slider2({
15593
15781
  variant = "default",
@@ -16012,10 +16200,10 @@ var Stat = React.forwardRef(function Stat2({
16012
16200
  framerMotion.motion.div,
16013
16201
  {
16014
16202
  className: "text-2xl font-bold text-foreground leading-none tabular-nums",
16015
- variants: animated && !shouldReduce ? chunkHITTFB2U_cjs.countUp.variants : void 0,
16203
+ variants: animated && !shouldReduce ? chunkF4JJFWWU_cjs.countUp.variants : void 0,
16016
16204
  initial: animated && !shouldReduce ? "initial" : void 0,
16017
16205
  animate: animated && !shouldReduce ? "animate" : void 0,
16018
- transition: animated && !shouldReduce ? chunkHITTFB2U_cjs.countUp.transition : void 0,
16206
+ transition: animated && !shouldReduce ? chunkF4JJFWWU_cjs.countUp.transition : void 0,
16019
16207
  "data-ds-animated": animated ? "" : void 0,
16020
16208
  children: isNumeric && animated ? /* @__PURE__ */ jsxRuntime.jsx(
16021
16209
  AnimatedNumber,
@@ -16038,10 +16226,10 @@ var Stat = React.forwardRef(function Stat2({
16038
16226
  "flex items-center gap-1 text-xs font-medium",
16039
16227
  trendColor
16040
16228
  ),
16041
- variants: animated && !shouldReduce ? chunkHITTFB2U_cjs.slideUpSm.variants : void 0,
16229
+ variants: animated && !shouldReduce ? chunkF4JJFWWU_cjs.slideUpSm.variants : void 0,
16042
16230
  initial: animated && !shouldReduce ? "initial" : void 0,
16043
16231
  animate: animated && !shouldReduce ? "animate" : void 0,
16044
- transition: animated && !shouldReduce ? { ...chunkHITTFB2U_cjs.slideUpSm.transition, delay: 0.3 } : void 0,
16232
+ transition: animated && !shouldReduce ? { ...chunkF4JJFWWU_cjs.slideUpSm.transition, delay: 0.3 } : void 0,
16045
16233
  "data-ds-animated": animated ? "" : void 0,
16046
16234
  children: [
16047
16235
  trend === "up" && /* @__PURE__ */ jsxRuntime.jsx(TrendUpIcon, { className: "size-3.5" }),
@@ -16405,7 +16593,7 @@ var Switch = React.forwardRef(function Switch2({
16405
16593
  if (!label) {
16406
16594
  return switchElement;
16407
16595
  }
16408
- const labelBlock = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5", children: [
16596
+ const labelBlock = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5 flex-1 min-w-0", children: [
16409
16597
  /* @__PURE__ */ jsxRuntime.jsx(
16410
16598
  "label",
16411
16599
  {
@@ -16437,7 +16625,7 @@ var Switch = React.forwardRef(function Switch2({
16437
16625
  "div",
16438
16626
  {
16439
16627
  className: chunk4ON3M3OM_cjs.cn(
16440
- "inline-flex items-center gap-3",
16628
+ "flex items-center gap-3",
16441
16629
  // Reverse order when label is on the left
16442
16630
  labelPosition === "left" ? "flex-row" : "flex-row-reverse",
16443
16631
  // Align to start when description is present
@@ -16982,7 +17170,7 @@ var dotSizeMap2 = {
16982
17170
  md: "size-3",
16983
17171
  lg: "size-4"
16984
17172
  };
16985
- var iconSizeMap9 = {
17173
+ var iconSizeMap10 = {
16986
17174
  sm: "size-6",
16987
17175
  md: "size-8",
16988
17176
  lg: "size-10"
@@ -17003,7 +17191,7 @@ var TimelineItem = React.forwardRef(
17003
17191
  ...rest
17004
17192
  }, ref) {
17005
17193
  const shouldReduce = framerMotion.useReducedMotion();
17006
- const slidePreset = side === "left" ? chunkHITTFB2U_cjs.slideInFromRight : chunkHITTFB2U_cjs.slideInFromLeft;
17194
+ const slidePreset = side === "left" ? chunkF4JJFWWU_cjs.slideInFromRight : chunkF4JJFWWU_cjs.slideInFromLeft;
17007
17195
  return /* @__PURE__ */ jsxRuntime.jsxs(
17008
17196
  framerMotion.motion.div,
17009
17197
  {
@@ -17020,7 +17208,7 @@ var TimelineItem = React.forwardRef(
17020
17208
  {
17021
17209
  className: chunk4ON3M3OM_cjs.cn(
17022
17210
  "flex items-center justify-center rounded-full shrink-0 z-10",
17023
- iconSizeMap9[size],
17211
+ iconSizeMap10[size],
17024
17212
  statusIconColorMap[status]
17025
17213
  ),
17026
17214
  children: icon
@@ -17075,7 +17263,7 @@ var Timeline = React.forwardRef(
17075
17263
  {
17076
17264
  ref,
17077
17265
  className: chunk4ON3M3OM_cjs.cn("relative", className),
17078
- variants: animated && !shouldReduce ? chunkHITTFB2U_cjs.staggerContainerSlow.variants : void 0,
17266
+ variants: animated && !shouldReduce ? chunkF4JJFWWU_cjs.staggerContainerSlow.variants : void 0,
17079
17267
  initial: animated && !shouldReduce ? "initial" : void 0,
17080
17268
  animate: animated && !shouldReduce ? "animate" : void 0,
17081
17269
  "data-ds": "",
@@ -18815,7 +19003,7 @@ function TreeItem({ node, depth }) {
18815
19003
  exit: { height: 0, opacity: 0, overflow: "hidden" },
18816
19004
  transition: motionTransition,
18817
19005
  className: chunk4ON3M3OM_cjs.cn(
18818
- "relative",
19006
+ "relative list-none",
18819
19007
  showLines && "before:absolute before:left-[calc(var(--tree-indent))] before:top-0 before:bottom-2 before:w-px before:bg-border"
18820
19008
  ),
18821
19009
  style: {
@@ -18942,7 +19130,7 @@ var TreeView = React.forwardRef(
18942
19130
  {
18943
19131
  ref,
18944
19132
  role: "tree",
18945
- className: chunk4ON3M3OM_cjs.cn("text-sm", className),
19133
+ className: chunk4ON3M3OM_cjs.cn("list-none text-sm", className),
18946
19134
  "data-ds": "",
18947
19135
  "data-ds-component": "tree-view",
18948
19136
  children: items.map((item) => /* @__PURE__ */ jsxRuntime.jsx(TreeItem, { node: item, depth: 0 }, item.id))
@@ -19006,7 +19194,7 @@ var VirtualList = React.forwardRef(function VirtualList2({
19006
19194
  {
19007
19195
  ref: containerRef,
19008
19196
  className: chunk4ON3M3OM_cjs.cn(
19009
- "flex items-center justify-center border border-border rounded-lg bg-background",
19197
+ "flex items-center justify-center rounded-lg border border-border bg-background shadow-sm not-prose",
19010
19198
  className
19011
19199
  ),
19012
19200
  style: { height },
@@ -19023,7 +19211,14 @@ var VirtualList = React.forwardRef(function VirtualList2({
19023
19211
  /* @__PURE__ */ jsxRuntime.jsx(
19024
19212
  "div",
19025
19213
  {
19026
- className: chunk4ON3M3OM_cjs.cn("absolute left-0 right-0", itemClassName),
19214
+ className: chunk4ON3M3OM_cjs.cn(
19215
+ "absolute left-0 right-0 flex items-center",
19216
+ "transition-colors duration-fast ease-standard",
19217
+ "hover:bg-muted/50",
19218
+ "border-b border-border/50",
19219
+ "[&_p]:m-0 [&_p]:leading-tight [&_span]:leading-tight",
19220
+ itemClassName
19221
+ ),
19027
19222
  style: {
19028
19223
  height: itemHeight,
19029
19224
  top: i * itemHeight
@@ -19042,7 +19237,12 @@ var VirtualList = React.forwardRef(function VirtualList2({
19042
19237
  {
19043
19238
  ref: containerRef,
19044
19239
  className: chunk4ON3M3OM_cjs.cn(
19045
- "relative overflow-auto border border-border rounded-lg bg-background",
19240
+ "relative overflow-auto rounded-lg border border-border bg-background",
19241
+ "shadow-sm not-prose",
19242
+ "[scrollbar-width:thin] [scrollbar-color:hsl(var(--border))_transparent]",
19243
+ "[&::-webkit-scrollbar]:w-1.5",
19244
+ "[&::-webkit-scrollbar-track]:bg-transparent",
19245
+ "[&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-border",
19046
19246
  className
19047
19247
  ),
19048
19248
  style: { height },
@@ -19052,7 +19252,7 @@ var VirtualList = React.forwardRef(function VirtualList2({
19052
19252
  "data-ds-component": "virtual-list",
19053
19253
  children: [
19054
19254
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative w-full", style: { height: totalHeight }, children: visibleItems }),
19055
- loading && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "sticky bottom-0 flex items-center justify-center py-3 bg-background/80 backdrop-blur-sm", children: loadingIndicator ?? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-5 animate-spin rounded-full border-2 border-border border-t-primary" }) })
19255
+ loading && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "sticky bottom-0 flex items-center justify-center py-3 bg-background/80 backdrop-blur-sm border-t border-border/50", children: loadingIndicator ?? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-5 animate-spin rounded-full border-2 border-border border-t-primary" }) })
19056
19256
  ]
19057
19257
  }
19058
19258
  );
@@ -20348,11 +20548,11 @@ var TooltipContent = React.forwardRef(function TooltipContent2({
20348
20548
  className
20349
20549
  ),
20350
20550
  style: { maxWidth },
20351
- variants: shouldReduce ? void 0 : chunkHITTFB2U_cjs.fadeInFast.variants,
20551
+ variants: shouldReduce ? void 0 : chunkF4JJFWWU_cjs.fadeInFast.variants,
20352
20552
  initial: shouldReduce ? { opacity: 0 } : "initial",
20353
20553
  animate: shouldReduce ? { opacity: 1 } : "animate",
20354
20554
  exit: shouldReduce ? { opacity: 0 } : "exit",
20355
- transition: shouldReduce ? { duration: 0.1 } : chunkHITTFB2U_cjs.fadeInFast.transition,
20555
+ transition: shouldReduce ? { duration: 0.1 } : chunkF4JJFWWU_cjs.fadeInFast.transition,
20356
20556
  "data-ds": "",
20357
20557
  "data-ds-component": "tooltip",
20358
20558
  "data-ds-animated": "",