@work-rjkashyap/unified-ui 0.2.1 → 0.2.2

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,4 +1,4 @@
1
- import { expandHeight, fadeIn, overlayBackdrop, modalContent, popSubtle, slideUp, slideDown, fadeInFast, scaleIn, staggerContainerFast, slideUpSm, pop, staggerContainer, shakeX, slidePanelBottom, slidePanelTop, slidePanelRight, slidePanelLeft, countUp, slideInFromRight, slideInFromLeft, staggerContainerSlow, numberRoll } from './chunk-3OZJ4JLW.mjs';
1
+ import { expandHeight, fadeIn, overlayBackdrop, modalContent, popSubtle, slideUp, slideDown, fadeInFast, scaleIn, staggerContainerFast, slideUpSm, pop, staggerContainer, shakeX, slidePanelBottom, slidePanelTop, slidePanelRight, slidePanelLeft, countUp, slideInFromRight, slideInFromLeft, staggerContainerSlow } from './chunk-PLRSH37T.mjs';
2
2
  import { focusRingClasses, focusRingCompactClasses, focusRingInsetClasses } from './chunk-MBYCK2JJ.mjs';
3
3
  import { cn, composeRefs } from './chunk-ZT3PCXDF.mjs';
4
4
  import { cva } from 'class-variance-authority';
@@ -552,7 +552,39 @@ var Callout = forwardRef(
552
552
  );
553
553
  Callout.displayName = "Callout";
554
554
  var calloutVariants = alertVariants;
555
- var AlertDialog = AlertDialog$1.Root;
555
+ var AlertDialogContext = createContext({
556
+ open: false
557
+ });
558
+ function useAlertDialogContext() {
559
+ return useContext(AlertDialogContext);
560
+ }
561
+ function AlertDialog({
562
+ children,
563
+ open: controlledOpen,
564
+ onOpenChange,
565
+ defaultOpen = false,
566
+ ...rest
567
+ }) {
568
+ const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);
569
+ const isControlled = controlledOpen !== void 0;
570
+ const open = isControlled ? controlledOpen : uncontrolledOpen;
571
+ const handleOpenChange = useCallback(
572
+ (next) => {
573
+ if (!isControlled) setUncontrolledOpen(next);
574
+ onOpenChange?.(next);
575
+ },
576
+ [isControlled, onOpenChange]
577
+ );
578
+ return /* @__PURE__ */ jsx(AlertDialogContext.Provider, { value: { open }, children: /* @__PURE__ */ jsx(
579
+ AlertDialog$1.Root,
580
+ {
581
+ open,
582
+ onOpenChange: handleOpenChange,
583
+ ...rest,
584
+ children
585
+ }
586
+ ) });
587
+ }
556
588
  AlertDialog.displayName = "AlertDialog";
557
589
  var AlertDialogTrigger = AlertDialog$1.Trigger;
558
590
  AlertDialogTrigger.displayName = "AlertDialogTrigger";
@@ -560,7 +592,7 @@ var AlertDialogPortal = AlertDialog$1.Portal;
560
592
  AlertDialogPortal.displayName = "AlertDialogPortal";
561
593
  var AlertDialogOverlay = forwardRef(function AlertDialogOverlay2({ className, ...rest }, ref) {
562
594
  const shouldReduce = useReducedMotion();
563
- return /* @__PURE__ */ jsx(AlertDialog$1.Overlay, { ref, asChild: true, ...rest, children: /* @__PURE__ */ jsx(
595
+ return /* @__PURE__ */ jsx(AlertDialog$1.Overlay, { ref, forceMount: true, asChild: true, ...rest, children: /* @__PURE__ */ jsx(
564
596
  motion.div,
565
597
  {
566
598
  className: cn(
@@ -579,9 +611,10 @@ var AlertDialogOverlay = forwardRef(function AlertDialogOverlay2({ className, ..
579
611
  AlertDialogOverlay.displayName = "AlertDialogOverlay";
580
612
  var AlertDialogContent = forwardRef(function AlertDialogContent2({ className, children, ...rest }, ref) {
581
613
  const shouldReduce = useReducedMotion();
582
- return /* @__PURE__ */ jsxs(AlertDialog$1.Portal, { children: [
614
+ const { open } = useAlertDialogContext();
615
+ return /* @__PURE__ */ jsx(AlertDialog$1.Portal, { forceMount: true, children: /* @__PURE__ */ jsx(AnimatePresence, { children: open && /* @__PURE__ */ jsxs(Fragment, { children: [
583
616
  /* @__PURE__ */ jsx(AlertDialogOverlay, {}),
584
- /* @__PURE__ */ jsx(AlertDialog$1.Content, { ref, asChild: true, ...rest, children: /* @__PURE__ */ jsx(
617
+ /* @__PURE__ */ jsx(AlertDialog$1.Content, { ref, forceMount: true, asChild: true, ...rest, children: /* @__PURE__ */ jsx(
585
618
  motion.div,
586
619
  {
587
620
  className: cn(
@@ -604,7 +637,7 @@ var AlertDialogContent = forwardRef(function AlertDialogContent2({ className, ch
604
637
  children
605
638
  }
606
639
  ) })
607
- ] });
640
+ ] }) }) });
608
641
  });
609
642
  AlertDialogContent.displayName = "AlertDialogContent";
610
643
  function AlertDialogHeader({
@@ -4167,6 +4200,41 @@ var Combobox = forwardRef(
4167
4200
  }
4168
4201
  );
4169
4202
  Combobox.displayName = "Combobox";
4203
+ var kbdVariants = cva(
4204
+ [
4205
+ "inline-flex items-center gap-0.5",
4206
+ "font-mono font-medium leading-none",
4207
+ "rounded border border-border",
4208
+ "bg-muted text-muted-foreground",
4209
+ "shadow-[0_1px_0_1px_hsl(var(--border))]",
4210
+ "select-none whitespace-nowrap"
4211
+ ],
4212
+ {
4213
+ variants: {
4214
+ size: {
4215
+ sm: "px-1.5 py-0.5 text-[10px]",
4216
+ md: "px-2 py-1 text-xs",
4217
+ lg: "px-2.5 py-1 text-sm"
4218
+ }
4219
+ },
4220
+ defaultVariants: { size: "md" }
4221
+ }
4222
+ );
4223
+ var Kbd = forwardRef(function Kbd2({ size = "md", className, children, ...rest }, ref) {
4224
+ return /* @__PURE__ */ jsx(
4225
+ "kbd",
4226
+ {
4227
+ ref,
4228
+ className: cn(kbdVariants({ size }), className),
4229
+ "data-ds": "",
4230
+ "data-ds-component": "kbd",
4231
+ "data-ds-size": size,
4232
+ ...rest,
4233
+ children
4234
+ }
4235
+ );
4236
+ });
4237
+ Kbd.displayName = "Kbd";
4170
4238
  function SearchIcon2({ className }) {
4171
4239
  return /* @__PURE__ */ jsxs(
4172
4240
  "svg",
@@ -4189,8 +4257,20 @@ function SearchIcon2({ className }) {
4189
4257
  }
4190
4258
  );
4191
4259
  }
4192
- function KbdHint({ keys }) {
4193
- return /* @__PURE__ */ 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 });
4260
+ function ShortcutKeys({ keys }) {
4261
+ const modifiers = /* @__PURE__ */ new Set(["\u2318", "\u21E7", "\u2325", "\u2303"]);
4262
+ const tokens = [];
4263
+ let rest = keys;
4264
+ while (rest.length > 0) {
4265
+ if (modifiers.has(rest[0])) {
4266
+ tokens.push(rest[0]);
4267
+ rest = rest.slice(1);
4268
+ } else {
4269
+ tokens.push(rest);
4270
+ break;
4271
+ }
4272
+ }
4273
+ return /* @__PURE__ */ jsx("span", { className: "inline-flex items-center gap-0.5", children: tokens.map((token, i) => /* @__PURE__ */ jsx(Kbd, { size: "sm", children: token }, i)) });
4194
4274
  }
4195
4275
  function matchesSearch(item, query) {
4196
4276
  if (!query) return true;
@@ -4265,30 +4345,39 @@ function Command({
4265
4345
  el?.scrollIntoView({ block: "nearest" });
4266
4346
  }, []);
4267
4347
  let flatIndex = 0;
4268
- return /* @__PURE__ */ jsx(Dialog$1.Root, { open, onOpenChange, children: /* @__PURE__ */ jsxs(Dialog$1.Portal, { children: [
4269
- /* @__PURE__ */ jsx(
4270
- Dialog$1.Overlay,
4348
+ const shouldReduce = useReducedMotion();
4349
+ return /* @__PURE__ */ jsx(Dialog$1.Root, { open, onOpenChange, children: /* @__PURE__ */ jsx(Dialog$1.Portal, { forceMount: true, children: /* @__PURE__ */ jsx(AnimatePresence, { children: open && /* @__PURE__ */ jsxs(Fragment, { children: [
4350
+ /* @__PURE__ */ jsx(Dialog$1.Overlay, { forceMount: true, asChild: true, children: /* @__PURE__ */ jsx(
4351
+ motion.div,
4271
4352
  {
4272
4353
  className: cn(
4273
- "fixed inset-0 z-[var(--z-modal)] bg-black/50",
4274
- "data-[state=open]:animate-in data-[state=open]:fade-in-0",
4275
- "data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
4276
- )
4354
+ "fixed inset-0 z-[var(--z-modal)] bg-black/50"
4355
+ ),
4356
+ variants: shouldReduce ? void 0 : overlayBackdrop.variants,
4357
+ initial: shouldReduce ? { opacity: 0 } : "initial",
4358
+ animate: shouldReduce ? { opacity: 1 } : "animate",
4359
+ exit: shouldReduce ? { opacity: 0 } : "exit",
4360
+ transition: shouldReduce ? { duration: 0.15 } : overlayBackdrop.transition,
4361
+ "data-ds-animated": ""
4277
4362
  }
4278
- ),
4279
- /* @__PURE__ */ jsxs(
4280
- Dialog$1.Content,
4363
+ ) }),
4364
+ /* @__PURE__ */ jsx(Dialog$1.Content, { forceMount: true, asChild: true, children: /* @__PURE__ */ jsxs(
4365
+ motion.div,
4281
4366
  {
4282
4367
  className: cn(
4283
4368
  "fixed left-1/2 top-[20%] z-[var(--z-modal)]",
4284
4369
  "w-full max-w-lg -translate-x-1/2",
4285
4370
  "rounded-lg border border-border bg-background shadow-xl",
4286
- "overflow-hidden",
4287
- "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",
4288
- "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95"
4371
+ "overflow-hidden"
4289
4372
  ),
4373
+ variants: shouldReduce ? void 0 : modalContent.variants,
4374
+ initial: shouldReduce ? { opacity: 0 } : "initial",
4375
+ animate: shouldReduce ? { opacity: 1 } : "animate",
4376
+ exit: shouldReduce ? { opacity: 0 } : "exit",
4377
+ transition: shouldReduce ? { duration: 0.2 } : modalContent.transition,
4290
4378
  "data-ds": "",
4291
4379
  "data-ds-component": "command",
4380
+ "data-ds-animated": "",
4292
4381
  "aria-label": "Command Palette",
4293
4382
  children: [
4294
4383
  /* @__PURE__ */ jsx(Dialog$1.Title, { className: "sr-only", children: "Command Palette" }),
@@ -4320,7 +4409,7 @@ function Command({
4320
4409
  )
4321
4410
  }
4322
4411
  ),
4323
- /* @__PURE__ */ jsx(KbdHint, { keys: "Esc" })
4412
+ /* @__PURE__ */ jsx(ShortcutKeys, { keys: "Esc" })
4324
4413
  ] }),
4325
4414
  /* @__PURE__ */ jsx(
4326
4415
  "div",
@@ -4382,7 +4471,7 @@ function Command({
4382
4471
  /* @__PURE__ */ jsx("p", { className: "truncate font-medium", children: item.label }),
4383
4472
  item.description && /* @__PURE__ */ jsx("p", { className: "truncate text-xs text-muted-foreground", children: item.description })
4384
4473
  ] }),
4385
- item.shortcut && /* @__PURE__ */ jsx(KbdHint, { keys: item.shortcut })
4474
+ item.shortcut && /* @__PURE__ */ jsx(ShortcutKeys, { keys: item.shortcut })
4386
4475
  ]
4387
4476
  },
4388
4477
  item.id
@@ -4394,22 +4483,22 @@ function Command({
4394
4483
  ),
4395
4484
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 border-t border-border px-3 py-2", children: [
4396
4485
  /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1 text-xs text-muted-foreground", children: [
4397
- /* @__PURE__ */ jsx(KbdHint, { keys: "\u2191\u2193" }),
4486
+ /* @__PURE__ */ jsx(ShortcutKeys, { keys: "\u2191\u2193" }),
4398
4487
  " navigate"
4399
4488
  ] }),
4400
4489
  /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1 text-xs text-muted-foreground", children: [
4401
- /* @__PURE__ */ jsx(KbdHint, { keys: "\u21B5" }),
4490
+ /* @__PURE__ */ jsx(ShortcutKeys, { keys: "\u21B5" }),
4402
4491
  " select"
4403
4492
  ] }),
4404
4493
  /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1 text-xs text-muted-foreground", children: [
4405
- /* @__PURE__ */ jsx(KbdHint, { keys: "Esc" }),
4494
+ /* @__PURE__ */ jsx(ShortcutKeys, { keys: "Esc" }),
4406
4495
  " close"
4407
4496
  ] })
4408
4497
  ] })
4409
4498
  ]
4410
4499
  }
4411
- )
4412
- ] }) });
4500
+ ) })
4501
+ ] }) }) }) });
4413
4502
  }
4414
4503
  Command.displayName = "Command";
4415
4504
  var CommandTrigger = forwardRef(function CommandTrigger2({ label = "Search commands...", onClick, className }, ref) {
@@ -4434,7 +4523,7 @@ var CommandTrigger = forwardRef(function CommandTrigger2({ label = "Search comma
4434
4523
  children: [
4435
4524
  /* @__PURE__ */ jsx(SearchIcon2, { className: "size-3.5 shrink-0" }),
4436
4525
  /* @__PURE__ */ jsx("span", { className: "flex-1 truncate text-left", children: label }),
4437
- /* @__PURE__ */ jsx(KbdHint, { keys: "\u2318K" })
4526
+ /* @__PURE__ */ jsx(ShortcutKeys, { keys: "\u2318K" })
4438
4527
  ]
4439
4528
  }
4440
4529
  );
@@ -4945,8 +5034,8 @@ CopyButton.displayName = "CopyButton";
4945
5034
  var dataListVariants = cva(["w-full"], {
4946
5035
  variants: {
4947
5036
  orientation: {
4948
- horizontal: "grid grid-cols-[auto_1fr] gap-x-6 gap-y-3",
4949
- vertical: "flex flex-col gap-3"
5037
+ horizontal: "grid grid-cols-[auto_1fr] items-baseline gap-x-6",
5038
+ vertical: "flex flex-col gap-2"
4950
5039
  },
4951
5040
  size: {
4952
5041
  sm: "text-xs",
@@ -4972,7 +5061,7 @@ var DataListTerm = forwardRef(
4972
5061
  DataListTerm.displayName = "DataListTerm";
4973
5062
  var DataListDetail = forwardRef(
4974
5063
  function DataListDetail2({ className, children, ...rest }, ref) {
4975
- return /* @__PURE__ */ jsx("dd", { ref, className: cn("text-foreground", className), ...rest, children });
5064
+ return /* @__PURE__ */ jsx("dd", { ref, className: cn("text-foreground m-0", className), ...rest, children });
4976
5065
  }
4977
5066
  );
4978
5067
  DataListDetail.displayName = "DataListDetail";
@@ -4987,6 +5076,7 @@ var DataList = forwardRef(
4987
5076
  }, ref) {
4988
5077
  const shouldReduce = useReducedMotion();
4989
5078
  const isHorizontal = orientation === "horizontal";
5079
+ const horizontalCellPadding = "py-2";
4990
5080
  return /* @__PURE__ */ jsx(
4991
5081
  motion.dl,
4992
5082
  {
@@ -5013,7 +5103,8 @@ var DataList = forwardRef(
5013
5103
  DataListTerm,
5014
5104
  {
5015
5105
  className: cn(
5016
- dividers && i > 0 && "pt-3 border-t border-border"
5106
+ horizontalCellPadding,
5107
+ dividers && i > 0 && "border-t border-border"
5017
5108
  ),
5018
5109
  children: item.term
5019
5110
  }
@@ -5022,7 +5113,8 @@ var DataList = forwardRef(
5022
5113
  DataListDetail,
5023
5114
  {
5024
5115
  className: cn(
5025
- dividers && i > 0 && "pt-3 border-t border-border"
5116
+ horizontalCellPadding,
5117
+ dividers && i > 0 && "border-t border-border"
5026
5118
  ),
5027
5119
  children: item.detail
5028
5120
  }
@@ -9859,6 +9951,10 @@ var dialogContentVariants = cva(
9859
9951
  }
9860
9952
  }
9861
9953
  );
9954
+ var DialogContext = createContext({ open: false });
9955
+ function useDialogContext() {
9956
+ return useContext(DialogContext);
9957
+ }
9862
9958
  function CloseIcon2({ className }) {
9863
9959
  return /* @__PURE__ */ jsxs(
9864
9960
  "svg",
@@ -9879,8 +9975,32 @@ function CloseIcon2({ className }) {
9879
9975
  }
9880
9976
  );
9881
9977
  }
9882
- function Dialog({ children, ...rest }) {
9883
- return /* @__PURE__ */ jsx(Dialog$1.Root, { ...rest, children });
9978
+ function Dialog({
9979
+ children,
9980
+ open: controlledOpen,
9981
+ onOpenChange,
9982
+ defaultOpen = false,
9983
+ ...rest
9984
+ }) {
9985
+ const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);
9986
+ const isControlled = controlledOpen !== void 0;
9987
+ const open = isControlled ? controlledOpen : uncontrolledOpen;
9988
+ const handleOpenChange = useCallback(
9989
+ (next) => {
9990
+ if (!isControlled) setUncontrolledOpen(next);
9991
+ onOpenChange?.(next);
9992
+ },
9993
+ [isControlled, onOpenChange]
9994
+ );
9995
+ return /* @__PURE__ */ jsx(DialogContext.Provider, { value: { open }, children: /* @__PURE__ */ jsx(
9996
+ Dialog$1.Root,
9997
+ {
9998
+ open,
9999
+ onOpenChange: handleOpenChange,
10000
+ ...rest,
10001
+ children
10002
+ }
10003
+ ) });
9884
10004
  }
9885
10005
  Dialog.displayName = "Dialog";
9886
10006
  var DialogTrigger = forwardRef(function DialogTrigger2({ className, ...rest }, ref) {
@@ -9898,7 +10018,7 @@ var DialogTrigger = forwardRef(function DialogTrigger2({ className, ...rest }, r
9898
10018
  DialogTrigger.displayName = "DialogTrigger";
9899
10019
  var DialogOverlay = forwardRef(function DialogOverlay2({ className, ...rest }, ref) {
9900
10020
  const shouldReduce = useReducedMotion();
9901
- return /* @__PURE__ */ jsx(Dialog$1.Overlay, { ref, asChild: true, ...rest, children: /* @__PURE__ */ jsx(
10021
+ return /* @__PURE__ */ jsx(Dialog$1.Overlay, { ref, forceMount: true, asChild: true, ...rest, children: /* @__PURE__ */ jsx(
9902
10022
  motion.div,
9903
10023
  {
9904
10024
  className: cn(
@@ -9926,9 +10046,10 @@ var DialogContent = forwardRef(function DialogContent2({
9926
10046
  ...rest
9927
10047
  }, ref) {
9928
10048
  const shouldReduce = useReducedMotion();
9929
- return /* @__PURE__ */ jsxs(Dialog$1.Portal, { children: [
10049
+ const { open } = useDialogContext();
10050
+ return /* @__PURE__ */ jsx(Dialog$1.Portal, { forceMount: true, children: /* @__PURE__ */ jsx(AnimatePresence, { children: open && /* @__PURE__ */ jsxs(Fragment, { children: [
9930
10051
  /* @__PURE__ */ jsx(DialogOverlay, { className: overlayClassName }),
9931
- /* @__PURE__ */ jsx(Dialog$1.Content, { ref, asChild: true, ...rest, children: /* @__PURE__ */ jsxs(
10052
+ /* @__PURE__ */ jsx(Dialog$1.Content, { ref, forceMount: true, asChild: true, ...rest, children: /* @__PURE__ */ jsxs(
9932
10053
  motion.div,
9933
10054
  {
9934
10055
  className: cn(
@@ -9965,7 +10086,7 @@ var DialogContent = forwardRef(function DialogContent2({
9965
10086
  ]
9966
10087
  }
9967
10088
  ) })
9968
- ] });
10089
+ ] }) }) });
9969
10090
  });
9970
10091
  DialogContent.displayName = "DialogContent";
9971
10092
  function DialogHeader({
@@ -11369,7 +11490,7 @@ var addonVariants = cva(
11369
11490
  [
11370
11491
  "inline-flex items-center justify-center shrink-0",
11371
11492
  "bg-muted text-muted-foreground font-medium",
11372
- "px-3 select-none",
11493
+ "select-none",
11373
11494
  "border-border"
11374
11495
  ],
11375
11496
  {
@@ -11387,21 +11508,51 @@ var addonVariants = cva(
11387
11508
  defaultVariants: { position: "left", size: "md" }
11388
11509
  }
11389
11510
  );
11390
- var prefixSuffixVariants = cva(
11391
- [
11392
- "inline-flex items-center shrink-0",
11393
- "text-muted-foreground pointer-events-none"
11394
- ],
11395
- {
11396
- variants: {
11397
- position: {
11398
- left: "pl-3",
11399
- right: "pr-3"
11400
- }
11401
- },
11402
- defaultVariants: { position: "left" }
11403
- }
11404
- );
11511
+ var iconSizeMap5 = {
11512
+ sm: "[&>svg]:size-3.5",
11513
+ md: "[&>svg]:size-4",
11514
+ lg: "[&>svg]:size-4"
11515
+ };
11516
+ var prefixPaddingMap = {
11517
+ sm: "pl-2",
11518
+ md: "pl-3",
11519
+ lg: "pl-3"
11520
+ };
11521
+ var suffixPaddingMap = {
11522
+ sm: "pr-2",
11523
+ md: "pr-3",
11524
+ lg: "pr-3"
11525
+ };
11526
+ var inputLeftPaddingWithPrefix = {
11527
+ sm: "pl-1.5",
11528
+ md: "pl-2",
11529
+ lg: "pl-2"
11530
+ };
11531
+ var inputLeftPaddingWithAddon = {
11532
+ sm: "pl-2",
11533
+ md: "pl-3",
11534
+ lg: "pl-3"
11535
+ };
11536
+ var inputLeftPaddingWithoutPrefix = {
11537
+ sm: "pl-2",
11538
+ md: "pl-3",
11539
+ lg: "pl-3"
11540
+ };
11541
+ var inputRightPaddingWithSuffix = {
11542
+ sm: "pr-1.5",
11543
+ md: "pr-2",
11544
+ lg: "pr-2"
11545
+ };
11546
+ var inputRightPaddingWithAddon = {
11547
+ sm: "pr-2",
11548
+ md: "pr-3",
11549
+ lg: "pr-3"
11550
+ };
11551
+ var inputRightPaddingWithoutSuffix = {
11552
+ sm: "pr-2",
11553
+ md: "pr-3",
11554
+ lg: "pr-3"
11555
+ };
11405
11556
  var InputGroup = forwardRef(
11406
11557
  function InputGroup2({
11407
11558
  size = "md",
@@ -11417,7 +11568,11 @@ var InputGroup = forwardRef(
11417
11568
  inputProps,
11418
11569
  children
11419
11570
  }, ref) {
11420
- const iconSize = size === "lg" ? "size-4" : "size-3.5";
11571
+ const hasPrefix = !!prefix;
11572
+ const hasSuffix = !!suffix;
11573
+ const hasAddonRight = !!addonRight;
11574
+ const inputPaddingLeft = hasPrefix ? inputLeftPaddingWithPrefix[size] : addonLeft ? inputLeftPaddingWithAddon[size] : inputLeftPaddingWithoutPrefix[size];
11575
+ const inputPaddingRight = hasSuffix ? inputRightPaddingWithSuffix[size] : hasAddonRight ? inputRightPaddingWithAddon[size] : inputRightPaddingWithoutSuffix[size];
11421
11576
  return /* @__PURE__ */ jsxs(
11422
11577
  "div",
11423
11578
  {
@@ -11433,8 +11588,10 @@ var InputGroup = forwardRef(
11433
11588
  "span",
11434
11589
  {
11435
11590
  className: cn(
11436
- prefixSuffixVariants({ position: "left" }),
11437
- `[&>svg]:${iconSize}`
11591
+ "inline-flex items-center justify-center shrink-0",
11592
+ "text-muted-foreground pointer-events-none",
11593
+ prefixPaddingMap[size],
11594
+ iconSizeMap5[size]
11438
11595
  ),
11439
11596
  children: prefix
11440
11597
  }
@@ -11444,10 +11601,10 @@ var InputGroup = forwardRef(
11444
11601
  {
11445
11602
  disabled,
11446
11603
  className: cn(
11447
- "flex-1 h-full bg-transparent outline-none text-foreground",
11604
+ "flex-1 h-full bg-transparent outline-none text-foreground min-w-0",
11448
11605
  "placeholder:text-muted-foreground",
11449
- !prefix && "pl-3",
11450
- !suffix && !addonRight && "pr-3",
11606
+ inputPaddingLeft,
11607
+ inputPaddingRight,
11451
11608
  inputClassName
11452
11609
  ),
11453
11610
  ...inputProps
@@ -11457,8 +11614,10 @@ var InputGroup = forwardRef(
11457
11614
  "span",
11458
11615
  {
11459
11616
  className: cn(
11460
- prefixSuffixVariants({ position: "right" }),
11461
- `[&>svg]:${iconSize}`
11617
+ "inline-flex items-center justify-center shrink-0",
11618
+ "text-muted-foreground pointer-events-none",
11619
+ suffixPaddingMap[size],
11620
+ iconSizeMap5[size]
11462
11621
  ),
11463
11622
  children: suffix
11464
11623
  }
@@ -11470,41 +11629,6 @@ var InputGroup = forwardRef(
11470
11629
  }
11471
11630
  );
11472
11631
  InputGroup.displayName = "InputGroup";
11473
- var kbdVariants = cva(
11474
- [
11475
- "inline-flex items-center gap-0.5",
11476
- "font-mono font-medium leading-none",
11477
- "rounded border border-border",
11478
- "bg-muted text-muted-foreground",
11479
- "shadow-[0_1px_0_1px_hsl(var(--border))]",
11480
- "select-none whitespace-nowrap"
11481
- ],
11482
- {
11483
- variants: {
11484
- size: {
11485
- sm: "px-1.5 py-0.5 text-[10px]",
11486
- md: "px-2 py-1 text-xs",
11487
- lg: "px-2.5 py-1 text-sm"
11488
- }
11489
- },
11490
- defaultVariants: { size: "md" }
11491
- }
11492
- );
11493
- var Kbd = forwardRef(function Kbd2({ size = "md", className, children, ...rest }, ref) {
11494
- return /* @__PURE__ */ jsx(
11495
- "kbd",
11496
- {
11497
- ref,
11498
- className: cn(kbdVariants({ size }), className),
11499
- "data-ds": "",
11500
- "data-ds-component": "kbd",
11501
- "data-ds-size": size,
11502
- ...rest,
11503
- children
11504
- }
11505
- );
11506
- });
11507
- Kbd.displayName = "Kbd";
11508
11632
  var labelVariants = cva(
11509
11633
  // Base styles — shared across all sizes
11510
11634
  [
@@ -12225,10 +12349,16 @@ function roundToPrecision(value, precision) {
12225
12349
  const factor = 10 ** precision;
12226
12350
  return Math.round(value * factor) / factor;
12227
12351
  }
12352
+ var ROLL_DISTANCE = 12;
12353
+ var ROLL_TRANSITION = {
12354
+ duration: 0.2,
12355
+ ease: [0.4, 0, 0.2, 1]
12356
+ };
12228
12357
  function AnimatedValue({
12229
12358
  value,
12230
12359
  formatValue,
12231
- shouldReduce
12360
+ shouldReduce,
12361
+ direction
12232
12362
  }) {
12233
12363
  const [displayValue, setDisplayValue] = useState(value);
12234
12364
  const [key, setKey] = useState(0);
@@ -12239,6 +12369,13 @@ function AnimatedValue({
12239
12369
  if (shouldReduce) {
12240
12370
  return /* @__PURE__ */ jsx("span", { className: "tabular-nums", children: formatValue(displayValue) });
12241
12371
  }
12372
+ const enterY = direction === "down" ? -ROLL_DISTANCE : ROLL_DISTANCE;
12373
+ const exitY = direction === "down" ? ROLL_DISTANCE : -ROLL_DISTANCE;
12374
+ const variants = {
12375
+ initial: { opacity: 0, y: enterY },
12376
+ animate: { opacity: 1, y: 0 },
12377
+ exit: { opacity: 0, y: exitY }
12378
+ };
12242
12379
  return /* @__PURE__ */ jsx(
12243
12380
  "span",
12244
12381
  {
@@ -12249,11 +12386,11 @@ function AnimatedValue({
12249
12386
  motion.span,
12250
12387
  {
12251
12388
  className: "inline-block tabular-nums",
12252
- variants: numberRoll.variants,
12389
+ variants,
12253
12390
  initial: "initial",
12254
12391
  animate: "animate",
12255
12392
  exit: "exit",
12256
- transition: numberRoll.transition,
12393
+ transition: ROLL_TRANSITION,
12257
12394
  "data-ds-animated": "",
12258
12395
  children: formatValue(displayValue)
12259
12396
  },
@@ -12267,7 +12404,7 @@ var buttonWidthMap = {
12267
12404
  md: "w-8",
12268
12405
  lg: "w-9"
12269
12406
  };
12270
- var iconSizeMap5 = {
12407
+ var iconSizeMap6 = {
12271
12408
  sm: "size-3",
12272
12409
  md: "size-3.5",
12273
12410
  lg: "size-4"
@@ -12303,13 +12440,27 @@ var NumberInput = forwardRef(
12303
12440
  () => roundToPrecision(clamp(defaultValue, min2, max2), precision)
12304
12441
  );
12305
12442
  const [inputRaw, setInputRaw] = useState(null);
12443
+ const [direction, setDirection] = useState("none");
12306
12444
  const inputRef = useRef(null);
12445
+ const prevValueRef = useRef(
12446
+ controlledValue ?? roundToPrecision(clamp(defaultValue, min2, max2), precision)
12447
+ );
12307
12448
  const currentValue = controlledValue !== void 0 ? controlledValue : internalValue;
12449
+ useEffect(() => {
12450
+ if (controlledValue !== void 0 && controlledValue !== prevValueRef.current) {
12451
+ setDirection(controlledValue > prevValueRef.current ? "up" : "down");
12452
+ prevValueRef.current = controlledValue;
12453
+ }
12454
+ }, [controlledValue]);
12308
12455
  const resolvedFormat = formatValue ?? ((v) => v.toFixed(precision));
12309
12456
  const resolvedParse = parseValue ?? ((raw) => Number.parseFloat(raw.replace(/[^0-9.-]/g, "")));
12310
12457
  const commit = useCallback(
12311
12458
  (next) => {
12312
12459
  const clamped = roundToPrecision(clamp(next, min2, max2), precision);
12460
+ if (clamped !== currentValue) {
12461
+ setDirection(clamped > currentValue ? "up" : "down");
12462
+ prevValueRef.current = clamped;
12463
+ }
12313
12464
  if (controlledValue === void 0) {
12314
12465
  setInternalValue(clamped);
12315
12466
  }
@@ -12422,7 +12573,7 @@ var NumberInput = forwardRef(
12422
12573
  buttonWidthMap[size],
12423
12574
  "border-r border-input/60"
12424
12575
  ),
12425
- children: /* @__PURE__ */ jsx(MinusIcon, { className: iconSizeMap5[size] })
12576
+ children: /* @__PURE__ */ jsx(MinusIcon, { className: iconSizeMap6[size] })
12426
12577
  }
12427
12578
  ),
12428
12579
  /* @__PURE__ */ jsx("div", { className: "relative flex-1 flex items-center justify-center", children: inputRaw !== null ? (
@@ -12470,7 +12621,8 @@ var NumberInput = forwardRef(
12470
12621
  {
12471
12622
  value: currentValue,
12472
12623
  formatValue: resolvedFormat,
12473
- shouldReduce: shouldReduce ?? false
12624
+ shouldReduce: shouldReduce ?? false,
12625
+ direction
12474
12626
  }
12475
12627
  )
12476
12628
  }
@@ -12489,7 +12641,7 @@ var NumberInput = forwardRef(
12489
12641
  buttonWidthMap[size],
12490
12642
  "border-l border-input/60"
12491
12643
  ),
12492
- children: /* @__PURE__ */ jsx(PlusIcon, { className: iconSizeMap5[size] })
12644
+ children: /* @__PURE__ */ jsx(PlusIcon, { className: iconSizeMap6[size] })
12493
12645
  }
12494
12646
  )
12495
12647
  ]
@@ -12592,7 +12744,7 @@ function computePageRange(currentPage, totalPages, siblings, boundary) {
12592
12744
  }
12593
12745
  return items;
12594
12746
  }
12595
- var iconSizeMap6 = {
12747
+ var iconSizeMap7 = {
12596
12748
  sm: "size-3.5",
12597
12749
  md: "size-4"
12598
12750
  };
@@ -12665,7 +12817,7 @@ var Pagination = forwardRef(
12665
12817
  })
12666
12818
  ),
12667
12819
  "aria-label": prevLabel,
12668
- children: /* @__PURE__ */ jsx(ChevronLeftIcon2, { className: iconSizeMap6[size] })
12820
+ children: /* @__PURE__ */ jsx(ChevronLeftIcon2, { className: iconSizeMap7[size] })
12669
12821
  }
12670
12822
  ),
12671
12823
  /* @__PURE__ */ jsxs(
@@ -12697,7 +12849,7 @@ var Pagination = forwardRef(
12697
12849
  })
12698
12850
  ),
12699
12851
  "aria-label": nextLabel,
12700
- children: /* @__PURE__ */ jsx(ChevronRightIcon6, { className: iconSizeMap6[size] })
12852
+ children: /* @__PURE__ */ jsx(ChevronRightIcon6, { className: iconSizeMap7[size] })
12701
12853
  }
12702
12854
  )
12703
12855
  ]
@@ -12725,7 +12877,7 @@ var Pagination = forwardRef(
12725
12877
  className: cn(paginationButtonVariants({ size, active: false })),
12726
12878
  "aria-label": prevLabel,
12727
12879
  children: [
12728
- /* @__PURE__ */ jsx(ChevronLeftIcon2, { className: iconSizeMap6[size] }),
12880
+ /* @__PURE__ */ jsx(ChevronLeftIcon2, { className: iconSizeMap7[size] }),
12729
12881
  /* @__PURE__ */ jsx("span", { className: "sr-only sm:not-sr-only", children: prevLabel })
12730
12882
  ]
12731
12883
  }
@@ -12775,7 +12927,7 @@ var Pagination = forwardRef(
12775
12927
  "aria-label": nextLabel,
12776
12928
  children: [
12777
12929
  /* @__PURE__ */ jsx("span", { className: "sr-only sm:not-sr-only", children: nextLabel }),
12778
- /* @__PURE__ */ jsx(ChevronRightIcon6, { className: iconSizeMap6[size] })
12930
+ /* @__PURE__ */ jsx(ChevronRightIcon6, { className: iconSizeMap7[size] })
12779
12931
  ]
12780
12932
  }
12781
12933
  )
@@ -14020,11 +14172,20 @@ function LoaderIcon({ className }) {
14020
14172
  }
14021
14173
  );
14022
14174
  }
14023
- var iconSizeMap7 = {
14175
+ var iconSizeMap8 = {
14024
14176
  sm: "size-3.5",
14025
14177
  md: "size-4",
14026
14178
  lg: "size-4"
14027
14179
  };
14180
+ function useIsMac() {
14181
+ const [isMac, setIsMac] = useState(false);
14182
+ useEffect(() => {
14183
+ setIsMac(
14184
+ typeof navigator !== "undefined" && /(Mac|iPhone|iPod|iPad)/i.test(navigator.userAgent)
14185
+ );
14186
+ }, []);
14187
+ return isMac;
14188
+ }
14028
14189
  var SearchInput = forwardRef(
14029
14190
  function SearchInput2({
14030
14191
  value: controlledValue,
@@ -14043,9 +14204,11 @@ var SearchInput = forwardRef(
14043
14204
  ...rest
14044
14205
  }, ref) {
14045
14206
  const shouldReduce = useReducedMotion();
14207
+ const isMac = useIsMac();
14046
14208
  const [internalValue, setInternalValue] = useState(defaultValue);
14047
14209
  const debounceTimer = useRef(null);
14048
14210
  const inputRef = useRef(null);
14211
+ useImperativeHandle(ref, () => inputRef.current);
14049
14212
  const currentValue = controlledValue !== void 0 ? controlledValue : internalValue;
14050
14213
  const hasValue = currentValue.length > 0;
14051
14214
  const handleChange = useCallback(
@@ -14067,21 +14230,19 @@ var SearchInput = forwardRef(
14067
14230
  if (controlledValue === void 0) setInternalValue("");
14068
14231
  onChange?.("");
14069
14232
  onDebouncedChange?.("");
14070
- const inputEl = ref?.current ?? inputRef.current;
14071
- inputEl?.focus();
14072
- }, [controlledValue, onChange, onDebouncedChange, ref]);
14233
+ inputRef.current?.focus();
14234
+ }, [controlledValue, onChange, onDebouncedChange]);
14073
14235
  useEffect(() => {
14074
14236
  if (!shortcut) return;
14075
14237
  const handler = (e) => {
14076
14238
  if ((e.metaKey || e.ctrlKey) && e.key.toLowerCase() === shortcut.toLowerCase()) {
14077
14239
  e.preventDefault();
14078
- const inputEl = ref?.current ?? inputRef.current;
14079
- inputEl?.focus();
14240
+ inputRef.current?.focus();
14080
14241
  }
14081
14242
  };
14082
14243
  window.addEventListener("keydown", handler);
14083
14244
  return () => window.removeEventListener("keydown", handler);
14084
- }, [shortcut, ref]);
14245
+ }, [shortcut]);
14085
14246
  return /* @__PURE__ */ jsxs(
14086
14247
  "div",
14087
14248
  {
@@ -14090,11 +14251,11 @@ var SearchInput = forwardRef(
14090
14251
  "data-ds-component": "search-input",
14091
14252
  "data-ds-size": size,
14092
14253
  children: [
14093
- /* @__PURE__ */ jsx("span", { className: "shrink-0 text-muted-foreground pointer-events-none", children: loading ? /* @__PURE__ */ jsx(LoaderIcon, { className: iconSizeMap7[size] }) : /* @__PURE__ */ jsx(SearchIcon3, { className: iconSizeMap7[size] }) }),
14254
+ /* @__PURE__ */ jsx("span", { className: "shrink-0 text-muted-foreground pointer-events-none", children: loading ? /* @__PURE__ */ jsx(LoaderIcon, { className: iconSizeMap8[size] }) : /* @__PURE__ */ jsx(SearchIcon3, { className: iconSizeMap8[size] }) }),
14094
14255
  /* @__PURE__ */ jsx(
14095
14256
  "input",
14096
14257
  {
14097
- ref: ref ?? inputRef,
14258
+ ref: inputRef,
14098
14259
  type: "search",
14099
14260
  value: currentValue,
14100
14261
  onChange: handleChange,
@@ -14127,20 +14288,26 @@ var SearchInput = forwardRef(
14127
14288
  exit: shouldReduce ? { opacity: 0 } : "exit",
14128
14289
  transition: shouldReduce ? { duration: 0.1 } : fadeInFast.transition,
14129
14290
  "data-ds-animated": "",
14130
- children: /* @__PURE__ */ jsx(XIcon5, { className: iconSizeMap7[size] })
14291
+ children: /* @__PURE__ */ jsx(XIcon5, { className: iconSizeMap8[size] })
14131
14292
  },
14132
14293
  "clear"
14133
14294
  ) }),
14134
- shortcut && !hasValue && /* @__PURE__ */ jsx(
14295
+ shortcut && !hasValue && /* @__PURE__ */ jsxs(
14135
14296
  "kbd",
14136
14297
  {
14137
14298
  className: cn(
14138
- "hidden sm:inline-flex items-center gap-0.5 rounded border border-border",
14139
- "bg-muted text-muted-foreground font-mono font-medium",
14299
+ "hidden sm:inline-flex items-center gap-0.5",
14300
+ "rounded-md border border-border",
14301
+ "bg-muted/80 text-muted-foreground",
14302
+ "font-sans font-medium tracking-wide",
14303
+ "shadow-[0_1px_0_1px_rgba(0,0,0,0.15)] dark:shadow-[0_1px_0_1px_rgba(255,255,255,0.06)]",
14140
14304
  "pointer-events-none select-none",
14141
- size === "sm" ? "px-1 py-0.5 text-[9px]" : "px-1.5 py-0.5 text-[10px]"
14305
+ size === "sm" ? "h-5 min-w-5 px-1 text-[10px]" : "h-6 min-w-6 px-1.5 text-[11px]"
14142
14306
  ),
14143
- children: shortcut
14307
+ children: [
14308
+ /* @__PURE__ */ jsx("span", { className: "opacity-70", children: isMac ? "\u2318" : "Ctrl" }),
14309
+ /* @__PURE__ */ jsx("span", { children: shortcut.toUpperCase() })
14310
+ ]
14144
14311
  }
14145
14312
  )
14146
14313
  ] })
@@ -14246,7 +14413,7 @@ function CheckIconInternal({ className }) {
14246
14413
  }
14247
14414
  );
14248
14415
  }
14249
- var iconSizeMap8 = {
14416
+ var iconSizeMap9 = {
14250
14417
  sm: "size-3.5",
14251
14418
  md: "size-4",
14252
14419
  lg: "size-4"
@@ -14268,7 +14435,7 @@ var SelectTrigger = forwardRef(function SelectTrigger2({ className, children, va
14268
14435
  /* @__PURE__ */ jsx(Select$1.Icon, { asChild: true, children: /* @__PURE__ */ jsx(
14269
14436
  ChevronDownIcon4,
14270
14437
  {
14271
- className: cn(iconSizeMap8[size], "shrink-0 text-muted-foreground")
14438
+ className: cn(iconSizeMap9[size], "shrink-0 text-muted-foreground")
14272
14439
  }
14273
14440
  ) })
14274
14441
  ]
@@ -14549,6 +14716,10 @@ var sheetContentVariants = cva(
14549
14716
  }
14550
14717
  }
14551
14718
  );
14719
+ var SheetContext = createContext({ open: false });
14720
+ function useSheetContext() {
14721
+ return useContext(SheetContext);
14722
+ }
14552
14723
  function CloseIcon4({ className }) {
14553
14724
  return /* @__PURE__ */ jsxs(
14554
14725
  "svg",
@@ -14569,8 +14740,32 @@ function CloseIcon4({ className }) {
14569
14740
  }
14570
14741
  );
14571
14742
  }
14572
- function Sheet({ children, ...rest }) {
14573
- return /* @__PURE__ */ jsx(Dialog$1.Root, { ...rest, children });
14743
+ function Sheet({
14744
+ children,
14745
+ open: controlledOpen,
14746
+ onOpenChange,
14747
+ defaultOpen = false,
14748
+ ...rest
14749
+ }) {
14750
+ const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);
14751
+ const isControlled = controlledOpen !== void 0;
14752
+ const open = isControlled ? controlledOpen : uncontrolledOpen;
14753
+ const handleOpenChange = useCallback(
14754
+ (next) => {
14755
+ if (!isControlled) setUncontrolledOpen(next);
14756
+ onOpenChange?.(next);
14757
+ },
14758
+ [isControlled, onOpenChange]
14759
+ );
14760
+ return /* @__PURE__ */ jsx(SheetContext.Provider, { value: { open }, children: /* @__PURE__ */ jsx(
14761
+ Dialog$1.Root,
14762
+ {
14763
+ open,
14764
+ onOpenChange: handleOpenChange,
14765
+ ...rest,
14766
+ children
14767
+ }
14768
+ ) });
14574
14769
  }
14575
14770
  Sheet.displayName = "Sheet";
14576
14771
  var SheetTrigger = forwardRef(function SheetTrigger2({ className, ...rest }, ref) {
@@ -14588,7 +14783,7 @@ var SheetTrigger = forwardRef(function SheetTrigger2({ className, ...rest }, ref
14588
14783
  SheetTrigger.displayName = "SheetTrigger";
14589
14784
  var SheetOverlay = forwardRef(function SheetOverlay2({ className, ...rest }, ref) {
14590
14785
  const shouldReduce = useReducedMotion();
14591
- return /* @__PURE__ */ jsx(Dialog$1.Overlay, { ref, asChild: true, ...rest, children: /* @__PURE__ */ jsx(
14786
+ return /* @__PURE__ */ jsx(Dialog$1.Overlay, { ref, forceMount: true, asChild: true, ...rest, children: /* @__PURE__ */ jsx(
14592
14787
  motion.div,
14593
14788
  {
14594
14789
  className: cn(
@@ -14623,10 +14818,11 @@ var SheetContent = forwardRef(function SheetContent2({
14623
14818
  ...rest
14624
14819
  }, ref) {
14625
14820
  const shouldReduce = useReducedMotion();
14821
+ const { open } = useSheetContext();
14626
14822
  const preset = sidePresetMap[side];
14627
- return /* @__PURE__ */ jsxs(Dialog$1.Portal, { children: [
14823
+ return /* @__PURE__ */ jsx(Dialog$1.Portal, { forceMount: true, children: /* @__PURE__ */ jsx(AnimatePresence, { children: open && /* @__PURE__ */ jsxs(Fragment, { children: [
14628
14824
  /* @__PURE__ */ jsx(SheetOverlay, { className: overlayClassName }),
14629
- /* @__PURE__ */ jsx(Dialog$1.Content, { ref, asChild: true, ...rest, children: /* @__PURE__ */ jsxs(
14825
+ /* @__PURE__ */ jsx(Dialog$1.Content, { ref, forceMount: true, asChild: true, ...rest, children: /* @__PURE__ */ jsxs(
14630
14826
  motion.div,
14631
14827
  {
14632
14828
  className: cn(
@@ -14664,7 +14860,7 @@ var SheetContent = forwardRef(function SheetContent2({
14664
14860
  ]
14665
14861
  }
14666
14862
  ) })
14667
- ] });
14863
+ ] }) }) });
14668
14864
  });
14669
14865
  SheetContent.displayName = "SheetContent";
14670
14866
  function SheetHeader({ className, children }) {
@@ -15539,35 +15735,33 @@ function SliderThumbItem({
15539
15735
  shouldReduce
15540
15736
  }) {
15541
15737
  const [isActive, setIsActive] = useState(false);
15542
- return /* @__PURE__ */ jsxs("div", { className: "relative", children: [
15543
- showTooltip && /* @__PURE__ */ jsx(
15544
- SliderTooltip,
15545
- {
15546
- value,
15547
- visible: isActive,
15548
- format: formatTooltip
15549
- }
15550
- ),
15551
- /* @__PURE__ */ jsx(
15552
- MotionThumb,
15553
- {
15554
- className: cn(sliderThumbVariants({ variant, size })),
15555
- onMouseEnter: () => setIsActive(true),
15556
- onMouseLeave: () => setIsActive(false),
15557
- onFocus: () => setIsActive(true),
15558
- onBlur: () => setIsActive(false),
15559
- whileTap: shouldReduce ? void 0 : {
15560
- scale: 1.2,
15561
- transition: { type: "spring", stiffness: 400, damping: 25 }
15562
- },
15563
- whileHover: shouldReduce ? void 0 : {
15564
- scale: 1.1,
15565
- transition: { type: "spring", stiffness: 400, damping: 30 }
15566
- },
15567
- "data-ds-animated": ""
15568
- }
15569
- )
15570
- ] });
15738
+ return /* @__PURE__ */ jsx(
15739
+ MotionThumb,
15740
+ {
15741
+ className: cn("relative overflow-visible", sliderThumbVariants({ variant, size })),
15742
+ onMouseEnter: () => setIsActive(true),
15743
+ onMouseLeave: () => setIsActive(false),
15744
+ onFocus: () => setIsActive(true),
15745
+ onBlur: () => setIsActive(false),
15746
+ whileTap: shouldReduce ? void 0 : {
15747
+ scale: 1.2,
15748
+ transition: { type: "spring", stiffness: 400, damping: 25 }
15749
+ },
15750
+ whileHover: shouldReduce ? void 0 : {
15751
+ scale: 1.1,
15752
+ transition: { type: "spring", stiffness: 400, damping: 30 }
15753
+ },
15754
+ "data-ds-animated": "",
15755
+ children: showTooltip && /* @__PURE__ */ jsx(
15756
+ SliderTooltip,
15757
+ {
15758
+ value,
15759
+ visible: isActive,
15760
+ format: formatTooltip
15761
+ }
15762
+ )
15763
+ }
15764
+ );
15571
15765
  }
15572
15766
  var Slider = forwardRef(function Slider2({
15573
15767
  variant = "default",
@@ -16962,7 +17156,7 @@ var dotSizeMap2 = {
16962
17156
  md: "size-3",
16963
17157
  lg: "size-4"
16964
17158
  };
16965
- var iconSizeMap9 = {
17159
+ var iconSizeMap10 = {
16966
17160
  sm: "size-6",
16967
17161
  md: "size-8",
16968
17162
  lg: "size-10"
@@ -17000,7 +17194,7 @@ var TimelineItem = forwardRef(
17000
17194
  {
17001
17195
  className: cn(
17002
17196
  "flex items-center justify-center rounded-full shrink-0 z-10",
17003
- iconSizeMap9[size],
17197
+ iconSizeMap10[size],
17004
17198
  statusIconColorMap[status]
17005
17199
  ),
17006
17200
  children: icon
@@ -18795,7 +18989,7 @@ function TreeItem({ node, depth }) {
18795
18989
  exit: { height: 0, opacity: 0, overflow: "hidden" },
18796
18990
  transition: motionTransition,
18797
18991
  className: cn(
18798
- "relative",
18992
+ "relative list-none",
18799
18993
  showLines && "before:absolute before:left-[calc(var(--tree-indent))] before:top-0 before:bottom-2 before:w-px before:bg-border"
18800
18994
  ),
18801
18995
  style: {
@@ -18922,7 +19116,7 @@ var TreeView = forwardRef(
18922
19116
  {
18923
19117
  ref,
18924
19118
  role: "tree",
18925
- className: cn("text-sm", className),
19119
+ className: cn("list-none text-sm", className),
18926
19120
  "data-ds": "",
18927
19121
  "data-ds-component": "tree-view",
18928
19122
  children: items.map((item) => /* @__PURE__ */ jsx(TreeItem, { node: item, depth: 0 }, item.id))
@@ -18986,7 +19180,7 @@ var VirtualList = forwardRef(function VirtualList2({
18986
19180
  {
18987
19181
  ref: containerRef,
18988
19182
  className: cn(
18989
- "flex items-center justify-center border border-border rounded-lg bg-background",
19183
+ "flex items-center justify-center rounded-lg border border-border bg-background shadow-sm not-prose",
18990
19184
  className
18991
19185
  ),
18992
19186
  style: { height },
@@ -19003,7 +19197,14 @@ var VirtualList = forwardRef(function VirtualList2({
19003
19197
  /* @__PURE__ */ jsx(
19004
19198
  "div",
19005
19199
  {
19006
- className: cn("absolute left-0 right-0", itemClassName),
19200
+ className: cn(
19201
+ "absolute left-0 right-0 flex items-center",
19202
+ "transition-colors duration-fast ease-standard",
19203
+ "hover:bg-muted/50",
19204
+ "border-b border-border/50",
19205
+ "[&_p]:m-0 [&_p]:leading-tight [&_span]:leading-tight",
19206
+ itemClassName
19207
+ ),
19007
19208
  style: {
19008
19209
  height: itemHeight,
19009
19210
  top: i * itemHeight
@@ -19022,7 +19223,12 @@ var VirtualList = forwardRef(function VirtualList2({
19022
19223
  {
19023
19224
  ref: containerRef,
19024
19225
  className: cn(
19025
- "relative overflow-auto border border-border rounded-lg bg-background",
19226
+ "relative overflow-auto rounded-lg border border-border bg-background",
19227
+ "shadow-sm not-prose",
19228
+ "[scrollbar-width:thin] [scrollbar-color:hsl(var(--border))_transparent]",
19229
+ "[&::-webkit-scrollbar]:w-1.5",
19230
+ "[&::-webkit-scrollbar-track]:bg-transparent",
19231
+ "[&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-border",
19026
19232
  className
19027
19233
  ),
19028
19234
  style: { height },
@@ -19032,7 +19238,7 @@ var VirtualList = forwardRef(function VirtualList2({
19032
19238
  "data-ds-component": "virtual-list",
19033
19239
  children: [
19034
19240
  /* @__PURE__ */ jsx("div", { className: "relative w-full", style: { height: totalHeight }, children: visibleItems }),
19035
- loading && /* @__PURE__ */ jsx("div", { className: "sticky bottom-0 flex items-center justify-center py-3 bg-background/80 backdrop-blur-sm", children: loadingIndicator ?? /* @__PURE__ */ jsx("div", { className: "size-5 animate-spin rounded-full border-2 border-border border-t-primary" }) })
19241
+ loading && /* @__PURE__ */ 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__ */ jsx("div", { className: "size-5 animate-spin rounded-full border-2 border-border border-t-primary" }) })
19036
19242
  ]
19037
19243
  }
19038
19244
  );