@maxsteinwender/sort-ui 1.0.7 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var React77 = require('react');
4
+ var React78 = require('react');
5
5
  var AccordionPrimitive = require('@radix-ui/react-accordion');
6
6
  var classVarianceAuthority = require('class-variance-authority');
7
7
  var clsx = require('clsx');
@@ -52,7 +52,7 @@ function _interopNamespace(e) {
52
52
  return Object.freeze(n);
53
53
  }
54
54
 
55
- var React77__namespace = /*#__PURE__*/_interopNamespace(React77);
55
+ var React78__namespace = /*#__PURE__*/_interopNamespace(React78);
56
56
  var AccordionPrimitive__namespace = /*#__PURE__*/_interopNamespace(AccordionPrimitive);
57
57
  var AlertDialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(AlertDialogPrimitive);
58
58
  var AvatarPrimitive__namespace = /*#__PURE__*/_interopNamespace(AvatarPrimitive);
@@ -122,11 +122,11 @@ var accordionItemVariants = classVarianceAuthority.cva(
122
122
  "shadow-card",
123
123
  /* inset bottom shadow via combined card token */
124
124
  "relative after:pointer-events-none after:absolute after:inset-0 after:rounded-[inherit]",
125
- "hover:bg-sui-bg-state-secondary-hover"
125
+ "[@media(hover:hover)]:hover:bg-sui-bg-state-secondary-hover"
126
126
  ],
127
127
  soft: [
128
128
  "bg-sui-bg-state-soft rounded-card-sm",
129
- "hover:bg-sui-bg-state-soft-hover",
129
+ "[@media(hover:hover)]:hover:bg-sui-bg-state-soft-hover",
130
130
  /* always-present border prevents layout shift on open */
131
131
  "border border-transparent",
132
132
  /* opened → switches to secondary/card appearance */
@@ -135,11 +135,11 @@ var accordionItemVariants = classVarianceAuthority.cva(
135
135
  "data-[state=open]:border-sui-border-default",
136
136
  "data-[state=open]:shadow-card",
137
137
  "data-[state=open]:after:shadow-none",
138
- "data-[state=open]:hover:bg-sui-bg-state-secondary-hover"
138
+ "data-[state=open]:[@media(hover:hover)]:hover:bg-sui-bg-state-secondary-hover"
139
139
  ],
140
140
  ghost: [
141
141
  "bg-sui-bg-state-ghost rounded-card-sm",
142
- "hover:bg-sui-bg-state-ghost-hover",
142
+ "[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover",
143
143
  /* always-present border prevents layout shift on open */
144
144
  "border border-transparent",
145
145
  /* opened → switches to secondary/card appearance */
@@ -148,11 +148,11 @@ var accordionItemVariants = classVarianceAuthority.cva(
148
148
  "data-[state=open]:border-sui-border-default",
149
149
  "data-[state=open]:shadow-card",
150
150
  "data-[state=open]:after:shadow-none",
151
- "data-[state=open]:hover:bg-sui-bg-state-secondary-hover"
151
+ "data-[state=open]:[@media(hover:hover)]:hover:bg-sui-bg-state-secondary-hover"
152
152
  ],
153
153
  line: [
154
154
  "border-b border-sui-border-default",
155
- "hover:border-sui-border-strong"
155
+ "[@media(hover:hover)]:hover:border-sui-border-strong"
156
156
  ]
157
157
  }
158
158
  },
@@ -161,7 +161,7 @@ var accordionItemVariants = classVarianceAuthority.cva(
161
161
  }
162
162
  }
163
163
  );
164
- var AccordionItem = React77__namespace.forwardRef((_a, ref) => {
164
+ var AccordionItem = React78__namespace.forwardRef((_a, ref) => {
165
165
  var _b = _a, { className, variant } = _b, props = __objRest(_b, ["className", "variant"]);
166
166
  return /* @__PURE__ */ jsxRuntime.jsx(
167
167
  AccordionPrimitive__namespace.Item,
@@ -172,7 +172,7 @@ var AccordionItem = React77__namespace.forwardRef((_a, ref) => {
172
172
  );
173
173
  });
174
174
  AccordionItem.displayName = "AccordionItem";
175
- var AccordionTrigger = React77__namespace.forwardRef((_a, ref) => {
175
+ var AccordionTrigger = React78__namespace.forwardRef((_a, ref) => {
176
176
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
177
177
  return /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Header, { className: "flex", children: /* @__PURE__ */ jsxRuntime.jsxs(
178
178
  AccordionPrimitive__namespace.Trigger,
@@ -194,7 +194,7 @@ var AccordionTrigger = React77__namespace.forwardRef((_a, ref) => {
194
194
  ) });
195
195
  });
196
196
  AccordionTrigger.displayName = AccordionPrimitive__namespace.Trigger.displayName;
197
- var AccordionContent = React77__namespace.forwardRef((_a, ref) => {
197
+ var AccordionContent = React78__namespace.forwardRef((_a, ref) => {
198
198
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
199
199
  return /* @__PURE__ */ jsxRuntime.jsx(
200
200
  AccordionPrimitive__namespace.Content,
@@ -239,7 +239,7 @@ var alertVariants = classVarianceAuthority.cva(
239
239
  }
240
240
  }
241
241
  );
242
- var Alert = React77__namespace.forwardRef((_a, ref) => {
242
+ var Alert = React78__namespace.forwardRef((_a, ref) => {
243
243
  var _b = _a, { className, variant } = _b, props = __objRest(_b, ["className", "variant"]);
244
244
  return /* @__PURE__ */ jsxRuntime.jsx(
245
245
  "div",
@@ -251,7 +251,7 @@ var Alert = React77__namespace.forwardRef((_a, ref) => {
251
251
  );
252
252
  });
253
253
  Alert.displayName = "Alert";
254
- var AlertTitle = React77__namespace.forwardRef((_a, ref) => {
254
+ var AlertTitle = React78__namespace.forwardRef((_a, ref) => {
255
255
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
256
256
  return /* @__PURE__ */ jsxRuntime.jsx(
257
257
  "h5",
@@ -262,7 +262,7 @@ var AlertTitle = React77__namespace.forwardRef((_a, ref) => {
262
262
  );
263
263
  });
264
264
  AlertTitle.displayName = "AlertTitle";
265
- var AlertDescription = React77__namespace.forwardRef((_a, ref) => {
265
+ var AlertDescription = React78__namespace.forwardRef((_a, ref) => {
266
266
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
267
267
  return /* @__PURE__ */ jsxRuntime.jsx(
268
268
  "div",
@@ -273,6 +273,19 @@ var AlertDescription = React77__namespace.forwardRef((_a, ref) => {
273
273
  );
274
274
  });
275
275
  AlertDescription.displayName = "AlertDescription";
276
+ function useDevWarnIconOnlyAriaLabel(isIconOnly, ariaLabel, ariaLabelledBy, componentName) {
277
+ const warnedRef = React78__namespace.useRef(false);
278
+ React78__namespace.useEffect(() => {
279
+ if (process.env.NODE_ENV === "production") return;
280
+ if (warnedRef.current) return;
281
+ if (!isIconOnly) return;
282
+ if (ariaLabel || ariaLabelledBy) return;
283
+ console.warn(
284
+ `[Sort UI] <${componentName}> with iconOnly is missing an aria-label. Screen reader users will have no accessible name for this control. Pass aria-label (or aria-labelledby) describing the action. See Web Interface Guidelines #47.`
285
+ );
286
+ warnedRef.current = true;
287
+ }, [isIconOnly, ariaLabel, ariaLabelledBy, componentName]);
288
+ }
276
289
  var buttonVariants = classVarianceAuthority.cva(
277
290
  // Sort UI base: font-medium, Remixicon via [&_i], SVG via [&_svg]; shape variant controls border-radius
278
291
  // ghost + ghost-muted hover intentionally identical per Sort UI spec
@@ -392,13 +405,13 @@ var loadingTextColorMap = {
392
405
  "ghost-muted": "text-sui-text-muted"
393
406
  };
394
407
  var loadingShadowVariants = /* @__PURE__ */ new Set(["default", "outline", "destructive"]);
395
- var Button = React77__namespace.forwardRef(
396
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
408
+ var Button = React78__namespace.forwardRef(
397
409
  (_a, ref) => {
398
410
  var _b = _a, { className, variant, size, shape, iconOnly, loading, leadIcon: _leadIcon, tailIcon: _tailIcon, badgeLeft: _badgeLeft, badgeRight: _badgeRight, asChild = false, children, showSeparator: _showSeparator } = _b, props = __objRest(_b, ["className", "variant", "size", "shape", "iconOnly", "loading", "leadIcon", "tailIcon", "badgeLeft", "badgeRight", "asChild", "children", "showSeparator"]);
399
411
  const Comp = asChild ? reactSlot.Slot : "button";
400
412
  const resolvedSize = size != null ? size : "lg";
401
413
  const resolvedVariant = variant != null ? variant : "default";
414
+ useDevWarnIconOnlyAriaLabel(iconOnly, props["aria-label"], props["aria-labelledby"], "Button");
402
415
  const isLoading = loading && !asChild;
403
416
  const hasBadges = !iconOnly && !asChild;
404
417
  const badgeColor = badgeColorMap[resolvedVariant];
@@ -463,7 +476,7 @@ Button.displayName = "Button";
463
476
  var AlertDialog = AlertDialogPrimitive__namespace.Root;
464
477
  var AlertDialogTrigger = AlertDialogPrimitive__namespace.Trigger;
465
478
  var AlertDialogPortal = AlertDialogPrimitive__namespace.Portal;
466
- var AlertDialogOverlay = React77__namespace.forwardRef((_a, ref) => {
479
+ var AlertDialogOverlay = React78__namespace.forwardRef((_a, ref) => {
467
480
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
468
481
  return /* @__PURE__ */ jsxRuntime.jsx(
469
482
  AlertDialogPrimitive__namespace.Overlay,
@@ -478,7 +491,7 @@ var AlertDialogOverlay = React77__namespace.forwardRef((_a, ref) => {
478
491
  );
479
492
  });
480
493
  AlertDialogOverlay.displayName = AlertDialogPrimitive__namespace.Overlay.displayName;
481
- var AlertDialogContent = React77__namespace.forwardRef((_a, ref) => {
494
+ var AlertDialogContent = React78__namespace.forwardRef((_a, ref) => {
482
495
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
483
496
  return /* @__PURE__ */ jsxRuntime.jsxs(AlertDialogPortal, { children: [
484
497
  /* @__PURE__ */ jsxRuntime.jsx(AlertDialogOverlay, {}),
@@ -529,7 +542,7 @@ var AlertDialogFooter = (_a) => {
529
542
  );
530
543
  };
531
544
  AlertDialogFooter.displayName = "AlertDialogFooter";
532
- var AlertDialogTitle = React77__namespace.forwardRef((_a, ref) => {
545
+ var AlertDialogTitle = React78__namespace.forwardRef((_a, ref) => {
533
546
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
534
547
  return /* @__PURE__ */ jsxRuntime.jsx(
535
548
  AlertDialogPrimitive__namespace.Title,
@@ -540,7 +553,7 @@ var AlertDialogTitle = React77__namespace.forwardRef((_a, ref) => {
540
553
  );
541
554
  });
542
555
  AlertDialogTitle.displayName = AlertDialogPrimitive__namespace.Title.displayName;
543
- var AlertDialogDescription = React77__namespace.forwardRef((_a, ref) => {
556
+ var AlertDialogDescription = React78__namespace.forwardRef((_a, ref) => {
544
557
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
545
558
  return /* @__PURE__ */ jsxRuntime.jsx(
546
559
  AlertDialogPrimitive__namespace.Description,
@@ -551,7 +564,7 @@ var AlertDialogDescription = React77__namespace.forwardRef((_a, ref) => {
551
564
  );
552
565
  });
553
566
  AlertDialogDescription.displayName = AlertDialogPrimitive__namespace.Description.displayName;
554
- var AlertDialogAction = React77__namespace.forwardRef((_a, ref) => {
567
+ var AlertDialogAction = React78__namespace.forwardRef((_a, ref) => {
555
568
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
556
569
  return /* @__PURE__ */ jsxRuntime.jsx(
557
570
  AlertDialogPrimitive__namespace.Action,
@@ -562,7 +575,7 @@ var AlertDialogAction = React77__namespace.forwardRef((_a, ref) => {
562
575
  );
563
576
  });
564
577
  AlertDialogAction.displayName = AlertDialogPrimitive__namespace.Action.displayName;
565
- var AlertDialogCancel = React77__namespace.forwardRef((_a, ref) => {
578
+ var AlertDialogCancel = React78__namespace.forwardRef((_a, ref) => {
566
579
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
567
580
  return /* @__PURE__ */ jsxRuntime.jsx(
568
581
  AlertDialogPrimitive__namespace.Cancel,
@@ -601,11 +614,11 @@ var awayIconSize = {
601
614
  "lg": "14px",
602
615
  "default": "16px"
603
616
  };
604
- var StatusBadge = React77__namespace.forwardRef(
617
+ var StatusBadge = React78__namespace.forwardRef(
605
618
  (_a, ref) => {
606
619
  var _b = _a, { variant, size = "default", src, className } = _b, props = __objRest(_b, ["variant", "size", "src", "className"]);
607
- const [imgError, setImgError] = React77__namespace.useState(false);
608
- React77__namespace.useEffect(() => {
620
+ const [imgError, setImgError] = React78__namespace.useState(false);
621
+ React78__namespace.useEffect(() => {
609
622
  setImgError(false);
610
623
  }, [src]);
611
624
  const sizeClass = containerSize[size];
@@ -818,12 +831,12 @@ function extractInitials(value) {
818
831
  }
819
832
  return trimmed.slice(0, 2).toUpperCase();
820
833
  }
821
- var AvatarContext = React77__namespace.createContext({
834
+ var AvatarContext = React78__namespace.createContext({
822
835
  size: "md",
823
836
  shape: "circular",
824
837
  color: "gray"
825
838
  });
826
- var Avatar = React77__namespace.forwardRef((_a, ref) => {
839
+ var Avatar = React78__namespace.forwardRef((_a, ref) => {
827
840
  var _b = _a, {
828
841
  className,
829
842
  size = "md",
@@ -977,7 +990,7 @@ var Avatar = React77__namespace.forwardRef((_a, ref) => {
977
990
  ) });
978
991
  });
979
992
  Avatar.displayName = "Avatar";
980
- var AvatarImage = React77__namespace.forwardRef((_a, ref) => {
993
+ var AvatarImage = React78__namespace.forwardRef((_a, ref) => {
981
994
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
982
995
  return /* @__PURE__ */ jsxRuntime.jsx(
983
996
  AvatarPrimitive__namespace.Image,
@@ -988,10 +1001,10 @@ var AvatarImage = React77__namespace.forwardRef((_a, ref) => {
988
1001
  );
989
1002
  });
990
1003
  AvatarImage.displayName = "AvatarImage";
991
- var AvatarFallback = React77__namespace.forwardRef((_a, ref) => {
1004
+ var AvatarFallback = React78__namespace.forwardRef((_a, ref) => {
992
1005
  var _b = _a, { className, fallback, children } = _b, props = __objRest(_b, ["className", "fallback", "children"]);
993
1006
  var _a2, _b2, _c;
994
- const { size, shape, color } = React77__namespace.useContext(AvatarContext);
1007
+ const { size, shape, color } = React78__namespace.useContext(AvatarContext);
995
1008
  const shapeClass = shape === "rounded" ? "rounded-sm" : "rounded-full";
996
1009
  const fontClass = (_a2 = initialsFontSize[size]) != null ? _a2 : "text-sm";
997
1010
  const iconClass = (_b2 = iconSize[size]) != null ? _b2 : "text-lg";
@@ -1025,8 +1038,8 @@ var avatarButtonVariants = classVarianceAuthority.cva(
1025
1038
  {
1026
1039
  variants: {
1027
1040
  variant: {
1028
- default: "bg-sui-bg-state-secondary border border-sui-border-darker shadow-default hover:bg-sui-bg-state-secondary-hover active:bg-sui-bg-state-secondary-press disabled:bg-sui-bg-state-disabled disabled:border-sui-border-default disabled:shadow-none",
1029
- soft: "bg-sui-bg-state-soft hover:bg-sui-bg-state-soft-hover active:bg-sui-bg-state-soft-press"
1041
+ default: "bg-sui-bg-state-secondary border border-sui-border-darker shadow-default [@media(hover:hover)]:hover:bg-sui-bg-state-secondary-hover active:bg-sui-bg-state-secondary-press disabled:bg-sui-bg-state-disabled disabled:border-sui-border-default disabled:shadow-none",
1042
+ soft: "bg-sui-bg-state-soft [@media(hover:hover)]:hover:bg-sui-bg-state-soft-hover active:bg-sui-bg-state-soft-press"
1030
1043
  },
1031
1044
  size: {
1032
1045
  // py-1.5 (6px × 2) + avatar 20px = 32px visible; after:-inset-y-1.5 adds 6px top+bottom → 44px hit area
@@ -1041,7 +1054,7 @@ var avatarButtonVariants = classVarianceAuthority.cva(
1041
1054
  }
1042
1055
  }
1043
1056
  );
1044
- var AvatarButton = React77__namespace.forwardRef(
1057
+ var AvatarButton = React78__namespace.forwardRef(
1045
1058
  (_a, ref) => {
1046
1059
  var _b = _a, {
1047
1060
  className,
@@ -1135,7 +1148,7 @@ var paddingBySize = {
1135
1148
  "2xl": "pr-sui-10",
1136
1149
  "3xl": "pr-sui-12"
1137
1150
  };
1138
- var AvatarGroup = React77__namespace.forwardRef(
1151
+ var AvatarGroup = React78__namespace.forwardRef(
1139
1152
  (_a, ref) => {
1140
1153
  var _b = _a, { className, size = "md", stacking = "last-on-top", items } = _b, props = __objRest(_b, ["className", "size", "stacking", "items"]);
1141
1154
  const isFirstOnTop = stacking === "first-on-top";
@@ -1177,7 +1190,7 @@ var AvatarGroup = React77__namespace.forwardRef(
1177
1190
  }
1178
1191
  );
1179
1192
  AvatarGroup.displayName = "AvatarGroup";
1180
- var AvatarUpload = React77__namespace.forwardRef(
1193
+ var AvatarUpload = React78__namespace.forwardRef(
1181
1194
  ({
1182
1195
  src,
1183
1196
  alt = "",
@@ -1245,8 +1258,8 @@ var controlButtonVariants = classVarianceAuthority.cva(
1245
1258
  {
1246
1259
  variants: {
1247
1260
  variant: {
1248
- default: "text-icon-default-muted bg-transparent hover:bg-sui-bg-state-ghost-hover active:bg-sui-bg-state-ghost-press",
1249
- inverted: "text-icon-inverted-default bg-transparent hover:bg-sui-bg-state-ghost-hover-inverted active:bg-sui-bg-state-ghost-press-inverted"
1261
+ default: "text-icon-default-muted bg-transparent [@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover active:bg-sui-bg-state-ghost-press",
1262
+ inverted: "text-icon-inverted-default bg-transparent [@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover-inverted active:bg-sui-bg-state-ghost-press-inverted"
1250
1263
  },
1251
1264
  size: {
1252
1265
  // lg: 24px — meets WCAG 2.5.8 AA minimum (24×24px)
@@ -1270,7 +1283,7 @@ var controlButtonVariants = classVarianceAuthority.cva(
1270
1283
  }
1271
1284
  }
1272
1285
  );
1273
- var ControlButton = React77__namespace.forwardRef(
1286
+ var ControlButton = React78__namespace.forwardRef(
1274
1287
  (_a, ref) => {
1275
1288
  var _b = _a, {
1276
1289
  className,
@@ -1438,12 +1451,12 @@ function Badge(_a) {
1438
1451
  })
1439
1452
  );
1440
1453
  }
1441
- var Breadcrumb = React77__namespace.forwardRef((_a, ref) => {
1454
+ var Breadcrumb = React78__namespace.forwardRef((_a, ref) => {
1442
1455
  var props = __objRest(_a, []);
1443
1456
  return /* @__PURE__ */ jsxRuntime.jsx("nav", __spreadValues({ ref, "aria-label": "breadcrumb" }, props));
1444
1457
  });
1445
1458
  Breadcrumb.displayName = "Breadcrumb";
1446
- var BreadcrumbList = React77__namespace.forwardRef((_a, ref) => {
1459
+ var BreadcrumbList = React78__namespace.forwardRef((_a, ref) => {
1447
1460
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1448
1461
  return /* @__PURE__ */ jsxRuntime.jsx(
1449
1462
  "ol",
@@ -1457,7 +1470,7 @@ var BreadcrumbList = React77__namespace.forwardRef((_a, ref) => {
1457
1470
  );
1458
1471
  });
1459
1472
  BreadcrumbList.displayName = "BreadcrumbList";
1460
- var BreadcrumbItem = React77__namespace.forwardRef((_a, ref) => {
1473
+ var BreadcrumbItem = React78__namespace.forwardRef((_a, ref) => {
1461
1474
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1462
1475
  return /* @__PURE__ */ jsxRuntime.jsx(
1463
1476
  "li",
@@ -1468,7 +1481,7 @@ var BreadcrumbItem = React77__namespace.forwardRef((_a, ref) => {
1468
1481
  );
1469
1482
  });
1470
1483
  BreadcrumbItem.displayName = "BreadcrumbItem";
1471
- var BreadcrumbLink = React77__namespace.forwardRef((_a, ref) => {
1484
+ var BreadcrumbLink = React78__namespace.forwardRef((_a, ref) => {
1472
1485
  var _b = _a, { asChild, className } = _b, props = __objRest(_b, ["asChild", "className"]);
1473
1486
  const Comp = asChild ? reactSlot.Slot : "a";
1474
1487
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -1476,14 +1489,15 @@ var BreadcrumbLink = React77__namespace.forwardRef((_a, ref) => {
1476
1489
  __spreadValues({
1477
1490
  ref,
1478
1491
  className: cn(
1479
- "rounded-sm transition-colors hover:text-sui-text-default focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-sui-border-highlight",
1492
+ // Web Interface Guidelines #42 — focus ring via box-shadow (ring), not outline.
1493
+ "rounded-sm transition-colors [@media(hover:hover)]:hover:text-sui-text-default focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-sui-border-highlight",
1480
1494
  className
1481
1495
  )
1482
1496
  }, props)
1483
1497
  );
1484
1498
  });
1485
1499
  BreadcrumbLink.displayName = "BreadcrumbLink";
1486
- var BreadcrumbPage = React77__namespace.forwardRef((_a, ref) => {
1500
+ var BreadcrumbPage = React78__namespace.forwardRef((_a, ref) => {
1487
1501
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1488
1502
  return /* @__PURE__ */ jsxRuntime.jsx(
1489
1503
  "span",
@@ -1555,7 +1569,7 @@ function BreadcrumbDivider({ variant }) {
1555
1569
  variant === "dot" && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "size-1 rounded-full bg-sui-text-muted" })
1556
1570
  ] });
1557
1571
  }
1558
- var SortBreadcrumb = React77__namespace.forwardRef(
1572
+ var SortBreadcrumb = React78__namespace.forwardRef(
1559
1573
  ({ items, variant = "slash", className }, ref) => {
1560
1574
  return /* @__PURE__ */ jsxRuntime.jsx("nav", { ref, "aria-label": "Breadcrumb", children: /* @__PURE__ */ jsxRuntime.jsx(
1561
1575
  "ol",
@@ -1566,7 +1580,7 @@ var SortBreadcrumb = React77__namespace.forwardRef(
1566
1580
  ),
1567
1581
  children: items.map((item, index) => {
1568
1582
  const isLast = index === items.length - 1;
1569
- return /* @__PURE__ */ jsxRuntime.jsxs(React77__namespace.Fragment, { children: [
1583
+ return /* @__PURE__ */ jsxRuntime.jsxs(React78__namespace.Fragment, { children: [
1570
1584
  /* @__PURE__ */ jsxRuntime.jsx("li", { className: "inline-flex", children: /* @__PURE__ */ jsxRuntime.jsx(
1571
1585
  SortBreadcrumbItem,
1572
1586
  __spreadProps(__spreadValues({}, item), {
@@ -1602,7 +1616,8 @@ function SortBreadcrumbItem({
1602
1616
  className: cn(
1603
1617
  "inline-flex items-center select-none",
1604
1618
  type === "avatar" ? "gap-sui-6" : "gap-sui-4",
1605
- Comp === "a" && "rounded-sm focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring",
1619
+ // Web Interface Guidelines #42 focus ring via box-shadow (ring), not outline.
1620
+ Comp === "a" && "rounded-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sui-border-highlight focus-visible:ring-offset-2 focus-visible:ring-offset-sui-bg-default",
1606
1621
  className
1607
1622
  )
1608
1623
  }), isCurrent ? { "aria-current": "page" } : {}), {
@@ -1657,7 +1672,7 @@ var verticalChildRadius = {
1657
1672
  xs: "[&>button:first-child]:rounded-t-md [&>button:last-of-type]:rounded-b-md",
1658
1673
  "2xs": "[&>button:first-child]:rounded-t-sm [&>button:last-of-type]:rounded-b-sm"
1659
1674
  };
1660
- var ButtonGroup = React77__namespace.forwardRef(
1675
+ var ButtonGroup = React78__namespace.forwardRef(
1661
1676
  (_a, ref) => {
1662
1677
  var _b = _a, { size = "lg", orientation = "horizontal", className, children } = _b, props = __objRest(_b, ["size", "orientation", "className", "children"]);
1663
1678
  const isVertical = orientation === "vertical";
@@ -1676,9 +1691,9 @@ var ButtonGroup = React77__namespace.forwardRef(
1676
1691
  className
1677
1692
  )
1678
1693
  }, props), {
1679
- children: React77__namespace.Children.map(children, (child, index) => {
1680
- if (React77__namespace.isValidElement(child)) {
1681
- return React77__namespace.cloneElement(
1694
+ children: React78__namespace.Children.map(children, (child, index) => {
1695
+ if (React78__namespace.isValidElement(child)) {
1696
+ return React78__namespace.cloneElement(
1682
1697
  child,
1683
1698
  {
1684
1699
  showSeparator: index > 0,
@@ -1697,7 +1712,8 @@ var buttonGroupItemVariants = classVarianceAuthority.cva(
1697
1712
  // Base: layout, focus ring, icon sizing, transition
1698
1713
  [
1699
1714
  "relative inline-flex items-center justify-center select-none cursor-pointer transition-colors",
1700
- "focus-visible:outline focus-visible:outline-[3px] focus-visible:outline-sui-border-highlight focus-visible:outline-offset-[1px] focus-visible:z-10",
1715
+ // Web Interface Guidelines #42 — focus ring via box-shadow (ring), not outline, so it respects border-radius.
1716
+ "focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-sui-border-highlight focus-visible:ring-offset-[1px] focus-visible:z-10",
1701
1717
  "[&_i]:pointer-events-none [&_i]:shrink-0 [&_i]:text-md [&_i]:leading-[1] [&_i]:h-4",
1702
1718
  "[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:size-4"
1703
1719
  ],
@@ -1719,7 +1735,7 @@ var buttonGroupItemVariants = classVarianceAuthority.cva(
1719
1735
  var stateStyles = [
1720
1736
  "bg-sui-bg-state-ghost text-sui-text-subtle",
1721
1737
  "[&_i]:text-icon-default-muted [&_svg]:text-icon-default-muted",
1722
- "hover:bg-sui-bg-state-ghost-hover",
1738
+ "[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover",
1723
1739
  "active:bg-sui-bg-state-ghost-press active:text-sui-text-default"
1724
1740
  ].join(" ");
1725
1741
  var disabledStyles = [
@@ -1747,7 +1763,7 @@ var badgeClasses = {
1747
1763
  xs: "text-xs font-medium leading-4 py-sui-2",
1748
1764
  "2xs": "text-xs font-medium leading-4 py-0"
1749
1765
  };
1750
- var ButtonGroupItem = React77__namespace.forwardRef(
1766
+ var ButtonGroupItem = React78__namespace.forwardRef(
1751
1767
  (_a, ref) => {
1752
1768
  var _b = _a, {
1753
1769
  label,
@@ -1774,6 +1790,7 @@ var ButtonGroupItem = React77__namespace.forwardRef(
1774
1790
  ]);
1775
1791
  const s = size != null ? size : "lg";
1776
1792
  const Comp = asChild ? reactSlot.Slot : "button";
1793
+ useDevWarnIconOnlyAriaLabel(iconOnly, props["aria-label"], props["aria-labelledby"], "ButtonGroupItem");
1777
1794
  return /* @__PURE__ */ jsxRuntime.jsxs(
1778
1795
  Comp,
1779
1796
  __spreadProps(__spreadValues({
@@ -1834,7 +1851,7 @@ var filterButtonVariants = classVarianceAuthority.cva(
1834
1851
  );
1835
1852
  var getVisualStateClasses = (selected) => selected ? "bg-sui-bg-state-secondary border border-solid border-sui-border-darker text-sui-text-muted [&_i]:text-icon-default-muted [&_svg]:text-icon-default-muted shadow-default" : "bg-sui-bg-state-secondary border border-dashed border-sui-border-darker text-sui-text-muted [&_i]:text-icon-default-muted [&_svg]:text-icon-default-muted";
1836
1853
  var SUB_BUTTON_FOCUS = "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sui-border-highlight focus-visible:ring-offset-1 rounded-sm";
1837
- var FilterButton = React77__namespace.forwardRef(
1854
+ var FilterButton = React78__namespace.forwardRef(
1838
1855
  (_a, ref) => {
1839
1856
  var _b = _a, {
1840
1857
  className,
@@ -1961,7 +1978,7 @@ var FilterButton = React77__namespace.forwardRef(
1961
1978
  className: cn(
1962
1979
  filterButtonVariants({ size, shape }),
1963
1980
  getVisualStateClasses(selected),
1964
- "hover:bg-sui-bg-state-secondary-hover active:bg-sui-bg-state-secondary-press",
1981
+ "[@media(hover:hover)]:hover:bg-sui-bg-state-secondary-hover active:bg-sui-bg-state-secondary-press",
1965
1982
  className
1966
1983
  ),
1967
1984
  ref,
@@ -2003,9 +2020,9 @@ var linkButtonVariants = classVarianceAuthority.cva(
2003
2020
  {
2004
2021
  variants: {
2005
2022
  variant: {
2006
- default: "text-sui-text-default hover:text-sui-text-muted",
2007
- muted: "text-sui-text-muted hover:text-sui-text-default",
2008
- informative: "text-sui-text-informative hover:text-sui-text-informative"
2023
+ default: "text-sui-text-default [@media(hover:hover)]:hover:text-sui-text-muted",
2024
+ muted: "text-sui-text-muted [@media(hover:hover)]:hover:text-sui-text-default",
2025
+ informative: "text-sui-text-informative [@media(hover:hover)]:hover:text-sui-text-informative"
2009
2026
  },
2010
2027
  size: {
2011
2028
  sm: "text-xs leading-4",
@@ -2024,11 +2041,18 @@ var underlineOffsetMap = {
2024
2041
  md: "after:bottom-0",
2025
2042
  lg: "after:bottom-0"
2026
2043
  };
2027
- var LinkButton = React77__namespace.forwardRef(
2044
+ var LinkButton = React78__namespace.forwardRef(
2028
2045
  (_a, ref) => {
2029
2046
  var _b = _a, { className, variant, size, asChild = false, leadIcon, tailIcon, disabled, children } = _b, props = __objRest(_b, ["className", "variant", "size", "asChild", "leadIcon", "tailIcon", "disabled", "children"]);
2030
2047
  const Comp = asChild ? reactSlot.Slot : "button";
2031
2048
  const resolvedSize = size != null ? size : "lg";
2049
+ const isIconOnly = (children == null || children === false || children === "") && Boolean(leadIcon || tailIcon);
2050
+ useDevWarnIconOnlyAriaLabel(
2051
+ isIconOnly,
2052
+ props["aria-label"],
2053
+ props["aria-labelledby"],
2054
+ "LinkButton"
2055
+ );
2032
2056
  const iconColor = disabled ? "text-icon-default-disabled" : variant === "informative" ? "text-icon-informative" : "text-icon-default-muted";
2033
2057
  const underlineColor = disabled ? "var(--border-darker)" : variant === "informative" ? "var(--border-informative)" : "var(--border-darker)";
2034
2058
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -2040,8 +2064,9 @@ var LinkButton = React77__namespace.forwardRef(
2040
2064
  // pointer-events-none prevents click; aria-disabled="true" is set below.
2041
2065
  disabled && "pointer-events-none text-sui-text-hint",
2042
2066
  // Focus ring: encloses the full component (WCAG 2.4.11 AA).
2067
+ // Web Interface Guidelines #42 — box-shadow (ring) respects border-radius, outline did not pre-Safari 16.4.
2043
2068
  // focus-visible scopes to keyboard navigation only — no ring on mouse click.
2044
- "rounded-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--border-informative)]",
2069
+ "rounded-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-[var(--border-informative)]",
2045
2070
  className
2046
2071
  ),
2047
2072
  ref,
@@ -2099,7 +2124,7 @@ var brandMap = {
2099
2124
  dropbox: { icon: "ri-dropbox-fill", label: "Dropbox", bg: "var(--social-brand-dropbox)" },
2100
2125
  github: { icon: "ri-github-fill", label: "Github" }
2101
2126
  };
2102
- var SocialButton = React77__namespace.forwardRef(
2127
+ var SocialButton = React78__namespace.forwardRef(
2103
2128
  (_a, ref) => {
2104
2129
  var _b = _a, { className, variant, shape, brand, iconOnly, asChild = false, children } = _b, props = __objRest(_b, ["className", "variant", "shape", "brand", "iconOnly", "asChild", "children"]);
2105
2130
  const Comp = asChild ? reactSlot.Slot : "button";
@@ -2304,8 +2329,8 @@ function CalendarDayButton(_a) {
2304
2329
  "modifiers"
2305
2330
  ]);
2306
2331
  const defaultClassNames = reactDayPicker.getDefaultClassNames();
2307
- const ref = React77__namespace.useRef(null);
2308
- React77__namespace.useEffect(() => {
2332
+ const ref = React78__namespace.useRef(null);
2333
+ React78__namespace.useEffect(() => {
2309
2334
  var _a2;
2310
2335
  if (modifiers.focused) (_a2 = ref.current) == null ? void 0 : _a2.focus();
2311
2336
  }, [modifiers.focused]);
@@ -2331,18 +2356,18 @@ function CalendarDayButton(_a) {
2331
2356
  // Default state
2332
2357
  "bg-sui-bg-state-ghost text-sui-text-default",
2333
2358
  // Hover
2334
- "hover:bg-sui-bg-state-ghost-hover",
2359
+ "[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover",
2335
2360
  // Focus
2336
2361
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sui-border-highlight focus-visible:ring-offset-0",
2337
2362
  // Disabled
2338
2363
  "disabled:pointer-events-none disabled:text-sui-text-hint",
2339
2364
  // Selected (single date)
2340
- "data-[selected-single=true]:bg-sui-bg-state-brand data-[selected-single=true]:text-sui-text-white-default data-[selected-single=true]:hover:bg-sui-bg-state-brand-hover",
2365
+ "data-[selected-single=true]:bg-sui-bg-state-brand data-[selected-single=true]:text-sui-text-white-default data-[selected-single=true]:[@media(hover:hover)]:hover:bg-sui-bg-state-brand-hover",
2341
2366
  // Range start & end
2342
2367
  "data-[range-start=true]:bg-sui-bg-state-brand data-[range-start=true]:text-sui-text-white-default data-[range-start=true]:rounded-xs",
2343
2368
  "data-[range-end=true]:bg-sui-bg-state-brand data-[range-end=true]:text-sui-text-white-default data-[range-end=true]:rounded-xs",
2344
2369
  // Range middle
2345
- "data-[range-middle=true]:bg-sui-bg-state-soft data-[range-middle=true]:text-sui-text-informative data-[range-middle=true]:rounded-none data-[range-middle=true]:hover:bg-sui-bg-state-soft-hover",
2370
+ "data-[range-middle=true]:bg-sui-bg-state-soft data-[range-middle=true]:text-sui-text-informative data-[range-middle=true]:rounded-none data-[range-middle=true]:[@media(hover:hover)]:hover:bg-sui-bg-state-soft-hover",
2346
2371
  // Today indicator (red circle)
2347
2372
  "data-[today=true]:relative",
2348
2373
  // Focus ring on parent
@@ -2377,20 +2402,30 @@ var cardVariants = classVarianceAuthority.cva(
2377
2402
  }
2378
2403
  }
2379
2404
  );
2380
- var Card = React77__namespace.forwardRef(
2405
+ var Card = React78__namespace.forwardRef(
2381
2406
  (_a, ref) => {
2382
- var _b = _a, { className, variant } = _b, props = __objRest(_b, ["className", "variant"]);
2407
+ var _b = _a, { className, variant, interactive, asChild = false } = _b, props = __objRest(_b, ["className", "variant", "interactive", "asChild"]);
2408
+ const Comp = asChild ? reactSlot.Slot : "div";
2383
2409
  return /* @__PURE__ */ jsxRuntime.jsx(
2384
- "div",
2410
+ Comp,
2385
2411
  __spreadValues({
2386
2412
  ref,
2387
- className: cn(cardVariants({ variant }), className)
2413
+ className: cn(
2414
+ cardVariants({ variant }),
2415
+ interactive && [
2416
+ "cursor-pointer transition-transform duration-fast",
2417
+ "[@media(hover:hover)]:hover:shadow-modal-sm",
2418
+ "active:scale-press",
2419
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sui-border-highlight focus-visible:ring-offset-2 focus-visible:ring-offset-sui-bg-default"
2420
+ ],
2421
+ className
2422
+ )
2388
2423
  }, props)
2389
2424
  );
2390
2425
  }
2391
2426
  );
2392
2427
  Card.displayName = "Card";
2393
- var CardHeader = React77__namespace.forwardRef((_a, ref) => {
2428
+ var CardHeader = React78__namespace.forwardRef((_a, ref) => {
2394
2429
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2395
2430
  return /* @__PURE__ */ jsxRuntime.jsx(
2396
2431
  "div",
@@ -2401,7 +2436,7 @@ var CardHeader = React77__namespace.forwardRef((_a, ref) => {
2401
2436
  );
2402
2437
  });
2403
2438
  CardHeader.displayName = "CardHeader";
2404
- var CardTitle = React77__namespace.forwardRef((_a, ref) => {
2439
+ var CardTitle = React78__namespace.forwardRef((_a, ref) => {
2405
2440
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2406
2441
  return /* @__PURE__ */ jsxRuntime.jsx(
2407
2442
  "div",
@@ -2415,7 +2450,7 @@ var CardTitle = React77__namespace.forwardRef((_a, ref) => {
2415
2450
  );
2416
2451
  });
2417
2452
  CardTitle.displayName = "CardTitle";
2418
- var CardDescription = React77__namespace.forwardRef((_a, ref) => {
2453
+ var CardDescription = React78__namespace.forwardRef((_a, ref) => {
2419
2454
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2420
2455
  return /* @__PURE__ */ jsxRuntime.jsx(
2421
2456
  "div",
@@ -2426,12 +2461,12 @@ var CardDescription = React77__namespace.forwardRef((_a, ref) => {
2426
2461
  );
2427
2462
  });
2428
2463
  CardDescription.displayName = "CardDescription";
2429
- var CardContent = React77__namespace.forwardRef((_a, ref) => {
2464
+ var CardContent = React78__namespace.forwardRef((_a, ref) => {
2430
2465
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2431
2466
  return /* @__PURE__ */ jsxRuntime.jsx("div", __spreadValues({ ref, className: cn("p-6 pt-0", className) }, props));
2432
2467
  });
2433
2468
  CardContent.displayName = "CardContent";
2434
- var CardFooter = React77__namespace.forwardRef((_a, ref) => {
2469
+ var CardFooter = React78__namespace.forwardRef((_a, ref) => {
2435
2470
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2436
2471
  return /* @__PURE__ */ jsxRuntime.jsx(
2437
2472
  "div",
@@ -2442,7 +2477,7 @@ var CardFooter = React77__namespace.forwardRef((_a, ref) => {
2442
2477
  );
2443
2478
  });
2444
2479
  CardFooter.displayName = "CardFooter";
2445
- var CardCover = React77__namespace.forwardRef(
2480
+ var CardCover = React78__namespace.forwardRef(
2446
2481
  (_a, ref) => {
2447
2482
  var _b = _a, { className, flush = false, aspectRatio = "3/2", style, children } = _b, props = __objRest(_b, ["className", "flush", "aspectRatio", "style", "children"]);
2448
2483
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -2463,17 +2498,17 @@ var CardCover = React77__namespace.forwardRef(
2463
2498
  );
2464
2499
  CardCover.displayName = "CardCover";
2465
2500
  var THEMES = { light: "", dark: ".dark" };
2466
- var ChartContext = React77__namespace.createContext(null);
2501
+ var ChartContext = React78__namespace.createContext(null);
2467
2502
  function useChart() {
2468
- const context = React77__namespace.useContext(ChartContext);
2503
+ const context = React78__namespace.useContext(ChartContext);
2469
2504
  if (!context) {
2470
2505
  throw new Error("useChart must be used within a <ChartContainer />");
2471
2506
  }
2472
2507
  return context;
2473
2508
  }
2474
- var ChartContainer = React77__namespace.forwardRef((_a, ref) => {
2509
+ var ChartContainer = React78__namespace.forwardRef((_a, ref) => {
2475
2510
  var _b = _a, { id, className, children, config } = _b, props = __objRest(_b, ["id", "className", "children", "config"]);
2476
- const uniqueId = React77__namespace.useId();
2511
+ const uniqueId = React78__namespace.useId();
2477
2512
  const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
2478
2513
  return /* @__PURE__ */ jsxRuntime.jsx(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxRuntime.jsxs(
2479
2514
  "div",
@@ -2520,7 +2555,7 @@ ${colorConfig.map(([key, itemConfig]) => {
2520
2555
  );
2521
2556
  };
2522
2557
  var ChartTooltip = RechartsPrimitive__namespace.Tooltip;
2523
- var ChartTooltipContent = React77__namespace.forwardRef(
2558
+ var ChartTooltipContent = React78__namespace.forwardRef(
2524
2559
  ({
2525
2560
  active,
2526
2561
  payload,
@@ -2537,7 +2572,7 @@ var ChartTooltipContent = React77__namespace.forwardRef(
2537
2572
  labelKey
2538
2573
  }, ref) => {
2539
2574
  const { config } = useChart();
2540
- const tooltipLabel = React77__namespace.useMemo(() => {
2575
+ const tooltipLabel = React78__namespace.useMemo(() => {
2541
2576
  var _a;
2542
2577
  if (hideLabel || !(payload == null ? void 0 : payload.length)) {
2543
2578
  return null;
@@ -2634,7 +2669,7 @@ var ChartTooltipContent = React77__namespace.forwardRef(
2634
2669
  );
2635
2670
  ChartTooltipContent.displayName = "ChartTooltip";
2636
2671
  var ChartLegend = RechartsPrimitive__namespace.Legend;
2637
- var ChartLegendContent = React77__namespace.forwardRef(
2672
+ var ChartLegendContent = React78__namespace.forwardRef(
2638
2673
  ({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey }, ref) => {
2639
2674
  const { config } = useChart();
2640
2675
  if (!(payload == null ? void 0 : payload.length)) {
@@ -2710,12 +2745,12 @@ var checkboxVariants = classVarianceAuthority.cva(
2710
2745
  "data-[state=indeterminate]:bg-sui-bg-checkbox-active",
2711
2746
  "data-[state=indeterminate]:border-sui-bg-checkbox-active",
2712
2747
  // Hover unchecked: stronger border
2713
- "hover:data-[state=unchecked]:border-sui-border-strong",
2748
+ "[@media(hover:hover)]:hover:data-[state=unchecked]:border-sui-border-strong",
2714
2749
  // Hover checked/indeterminate: hover bg + matching border
2715
- "hover:data-[state=checked]:bg-sui-bg-checkbox-active-hover",
2716
- "hover:data-[state=checked]:border-sui-bg-checkbox-active-hover",
2717
- "hover:data-[state=indeterminate]:bg-sui-bg-checkbox-active-hover",
2718
- "hover:data-[state=indeterminate]:border-sui-bg-checkbox-active-hover",
2750
+ "[@media(hover:hover)]:hover:data-[state=checked]:bg-sui-bg-checkbox-active-hover",
2751
+ "[@media(hover:hover)]:hover:data-[state=checked]:border-sui-bg-checkbox-active-hover",
2752
+ "[@media(hover:hover)]:hover:data-[state=indeterminate]:bg-sui-bg-checkbox-active-hover",
2753
+ "[@media(hover:hover)]:hover:data-[state=indeterminate]:border-sui-bg-checkbox-active-hover",
2719
2754
  // Invalid (aria-invalid) — compound selectors for specificity over data-[state] rules
2720
2755
  "aria-[invalid=true]:data-[state=unchecked]:border-sui-border-destructive",
2721
2756
  "aria-[invalid=true]:data-[state=checked]:border-sui-border-destructive",
@@ -2753,13 +2788,14 @@ var checkboxVariants = classVarianceAuthority.cva(
2753
2788
  }
2754
2789
  }
2755
2790
  );
2756
- var Checkbox = React77__namespace.forwardRef((_a, ref) => {
2757
- var _b = _a, { className, variant } = _b, props = __objRest(_b, ["className", "variant"]);
2791
+ var Checkbox = React78__namespace.forwardRef((_a, ref) => {
2792
+ var _b = _a, { className, variant, checked, indeterminate } = _b, props = __objRest(_b, ["className", "variant", "checked", "indeterminate"]);
2758
2793
  return /* @__PURE__ */ jsxRuntime.jsxs(
2759
2794
  CheckboxPrimitive__namespace.Root,
2760
2795
  __spreadProps(__spreadValues({
2761
2796
  ref,
2762
- className: cn(checkboxVariants({ variant, className }))
2797
+ className: cn(checkboxVariants({ variant, className })),
2798
+ checked: indeterminate ? "indeterminate" : checked
2763
2799
  }, props), {
2764
2800
  children: [
2765
2801
  /* @__PURE__ */ jsxRuntime.jsxs(CheckboxPrimitive__namespace.Indicator, { className: "flex items-center justify-center", children: [
@@ -2874,7 +2910,7 @@ var checkboxCardVariants = classVarianceAuthority.cva(
2874
2910
  }
2875
2911
  }
2876
2912
  );
2877
- var CheckboxCard = React77__namespace.forwardRef(
2913
+ var CheckboxCard = React78__namespace.forwardRef(
2878
2914
  ({
2879
2915
  title,
2880
2916
  description,
@@ -2888,7 +2924,7 @@ var CheckboxCard = React77__namespace.forwardRef(
2888
2924
  disabled = false,
2889
2925
  className
2890
2926
  }, ref) => {
2891
- const generatedId = React77__namespace.useId();
2927
+ const generatedId = React78__namespace.useId();
2892
2928
  const checkboxId = `checkbox-card-${generatedId}`;
2893
2929
  const titleId = `checkbox-card-title-${generatedId}`;
2894
2930
  const descriptionId = `checkbox-card-desc-${generatedId}`;
@@ -2984,10 +3020,10 @@ var CheckboxCard = React77__namespace.forwardRef(
2984
3020
  }
2985
3021
  );
2986
3022
  CheckboxCard.displayName = "CheckboxCard";
2987
- var CheckboxList = React77__namespace.forwardRef(
3023
+ var CheckboxList = React78__namespace.forwardRef(
2988
3024
  (_a, ref) => {
2989
3025
  var _b = _a, { className, divider = true, children } = _b, props = __objRest(_b, ["className", "divider", "children"]);
2990
- const items = React77__namespace.Children.toArray(children);
3026
+ const items = React78__namespace.Children.toArray(children);
2991
3027
  return /* @__PURE__ */ jsxRuntime.jsx(
2992
3028
  "div",
2993
3029
  __spreadProps(__spreadValues({
@@ -3029,7 +3065,7 @@ var checkboxWithTextVariants = classVarianceAuthority.cva(
3029
3065
  }
3030
3066
  }
3031
3067
  );
3032
- var CheckboxWithText = React77__namespace.forwardRef(
3068
+ var CheckboxWithText = React78__namespace.forwardRef(
3033
3069
  ({
3034
3070
  label,
3035
3071
  description,
@@ -3042,7 +3078,7 @@ var CheckboxWithText = React77__namespace.forwardRef(
3042
3078
  className,
3043
3079
  id
3044
3080
  }, ref) => {
3045
- const generatedId = React77__namespace.useId();
3081
+ const generatedId = React78__namespace.useId();
3046
3082
  const checkboxId = id || generatedId;
3047
3083
  return /* @__PURE__ */ jsxRuntime.jsxs(
3048
3084
  "div",
@@ -3190,7 +3226,7 @@ var labelClasses2 = {
3190
3226
  md: "text-sm font-medium leading-5",
3191
3227
  sm: "text-xs font-medium leading-4"
3192
3228
  };
3193
- var Chip = React77__namespace.forwardRef(
3229
+ var Chip = React78__namespace.forwardRef(
3194
3230
  (_a, ref) => {
3195
3231
  var _b = _a, {
3196
3232
  label,
@@ -3219,7 +3255,7 @@ var Chip = React77__namespace.forwardRef(
3219
3255
  "className",
3220
3256
  "onClick"
3221
3257
  ]);
3222
- const [internalSelected, setInternalSelected] = React77__namespace.useState(false);
3258
+ const [internalSelected, setInternalSelected] = React78__namespace.useState(false);
3223
3259
  const isControlled = controlledSelected !== void 0;
3224
3260
  const selected = isControlled ? controlledSelected : internalSelected;
3225
3261
  const handleClick = (e) => {
@@ -3317,7 +3353,7 @@ var badgeStyles = [
3317
3353
  "bg-sui-bg-state-soft border border-sui-border-darker rounded-xs",
3318
3354
  "text-sui-text-subtle text-xs font-medium leading-4"
3319
3355
  ].join(" ");
3320
- var TooltipContent = React77__namespace.forwardRef((_a, ref) => {
3356
+ var TooltipContent = React78__namespace.forwardRef((_a, ref) => {
3321
3357
  var _b = _a, { className, variant = "default", weight = "subtle", shortcut, sideOffset = 4, children } = _b, props = __objRest(_b, ["className", "variant", "weight", "shortcut", "sideOffset", "children"]);
3322
3358
  return /* @__PURE__ */ jsxRuntime.jsxs(
3323
3359
  TooltipPrimitive__namespace.Content,
@@ -3353,7 +3389,7 @@ var underlineTabsListVariants = classVarianceAuthority.cva(
3353
3389
  }
3354
3390
  }
3355
3391
  );
3356
- var UnderlineTabsList = React77__namespace.forwardRef((_a, ref) => {
3392
+ var UnderlineTabsList = React78__namespace.forwardRef((_a, ref) => {
3357
3393
  var _b = _a, { className, layout, size } = _b, props = __objRest(_b, ["className", "layout", "size"]);
3358
3394
  return /* @__PURE__ */ jsxRuntime.jsx(
3359
3395
  TabsPrimitive4__namespace.List,
@@ -3377,8 +3413,8 @@ var underlineTabItemVariants = classVarianceAuthority.cva(
3377
3413
  "[&_i]:text-icon-default-muted [&_i]:pointer-events-none [&_i]:shrink-0 [&_i]:text-md [&_i]:leading-none",
3378
3414
  "[&_svg]:text-icon-default-muted [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:size-4",
3379
3415
  // Hover
3380
- "hover:text-sui-text-subtle hover:border-sui-border-darker",
3381
- "hover:[&_i]:text-icon-default-subtle hover:[&_svg]:text-icon-default-subtle",
3416
+ "[@media(hover:hover)]:hover:text-sui-text-subtle [@media(hover:hover)]:hover:border-sui-border-darker",
3417
+ "[@media(hover:hover)]:hover:[&_i]:text-icon-default-subtle [@media(hover:hover)]:hover:[&_svg]:text-icon-default-subtle",
3382
3418
  // Active (Radix data attribute)
3383
3419
  "data-[state=active]:text-sui-text-default data-[state=active]:border-sui-border-accent",
3384
3420
  "data-[state=active]:[&_i]:text-icon-default data-[state=active]:[&_svg]:text-icon-default",
@@ -3400,7 +3436,7 @@ var underlineTabItemVariants = classVarianceAuthority.cva(
3400
3436
  }
3401
3437
  }
3402
3438
  );
3403
- var UnderlineTabItem = React77__namespace.forwardRef(
3439
+ var UnderlineTabItem = React78__namespace.forwardRef(
3404
3440
  (_a, ref) => {
3405
3441
  var _b = _a, {
3406
3442
  className,
@@ -3438,7 +3474,7 @@ var UnderlineTabItem = React77__namespace.forwardRef(
3438
3474
  );
3439
3475
  UnderlineTabItem.displayName = "UnderlineTabItem";
3440
3476
  var DEFAULT_LANGUAGES = ["React", "JavaScript", "TypeScript", "Next.js"];
3441
- var CodeBlock = React77__namespace.forwardRef(
3477
+ var CodeBlock = React78__namespace.forwardRef(
3442
3478
  (_a, ref) => {
3443
3479
  var _b = _a, {
3444
3480
  className,
@@ -3468,10 +3504,10 @@ var CodeBlock = React77__namespace.forwardRef(
3468
3504
  "showLineNumbers"
3469
3505
  ]);
3470
3506
  var _a2, _b2, _c, _d, _e, _f;
3471
- const [activeTab, setActiveTab] = React77__namespace.useState((_b2 = (_a2 = tabs == null ? void 0 : tabs[0]) == null ? void 0 : _a2.label) != null ? _b2 : "");
3472
- const [copied, setCopied] = React77__namespace.useState(false);
3507
+ const [activeTab, setActiveTab] = React78__namespace.useState((_b2 = (_a2 = tabs == null ? void 0 : tabs[0]) == null ? void 0 : _a2.label) != null ? _b2 : "");
3508
+ const [copied, setCopied] = React78__namespace.useState(false);
3473
3509
  const activeCode = variant === "advanced" ? (_f = (_e = (_c = tabs == null ? void 0 : tabs.find((t) => t.label === activeTab)) == null ? void 0 : _c.code) != null ? _e : (_d = tabs == null ? void 0 : tabs[0]) == null ? void 0 : _d.code) != null ? _f : "" : code;
3474
- const handleCopy = React77__namespace.useCallback(() => {
3510
+ const handleCopy = React78__namespace.useCallback(() => {
3475
3511
  if (onCopy) {
3476
3512
  onCopy();
3477
3513
  } else {
@@ -3662,7 +3698,7 @@ var Dialog = DialogPrimitive__namespace.Root;
3662
3698
  var DialogTrigger = DialogPrimitive__namespace.Trigger;
3663
3699
  var DialogPortal = DialogPrimitive__namespace.Portal;
3664
3700
  var DialogClose = DialogPrimitive__namespace.Close;
3665
- var DialogOverlay = React77__namespace.forwardRef((_a, ref) => {
3701
+ var DialogOverlay = React78__namespace.forwardRef((_a, ref) => {
3666
3702
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3667
3703
  return /* @__PURE__ */ jsxRuntime.jsx(
3668
3704
  DialogPrimitive__namespace.Overlay,
@@ -3676,7 +3712,7 @@ var DialogOverlay = React77__namespace.forwardRef((_a, ref) => {
3676
3712
  );
3677
3713
  });
3678
3714
  DialogOverlay.displayName = DialogPrimitive__namespace.Overlay.displayName;
3679
- var DialogContent = React77__namespace.forwardRef((_a, ref) => {
3715
+ var DialogContent = React78__namespace.forwardRef((_a, ref) => {
3680
3716
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
3681
3717
  return /* @__PURE__ */ jsxRuntime.jsxs(DialogPortal, { children: [
3682
3718
  /* @__PURE__ */ jsxRuntime.jsx(DialogOverlay, {}),
@@ -3691,7 +3727,7 @@ var DialogContent = React77__namespace.forwardRef((_a, ref) => {
3691
3727
  }, props), {
3692
3728
  children: [
3693
3729
  children,
3694
- /* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-sui-bg-default transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-sui-border-highlight focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-sui-bg-state-ghost-hover data-[state=open]:text-sui-text-muted", children: [
3730
+ /* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-sui-bg-default transition-opacity [@media(hover:hover)]:hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-sui-border-highlight focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-sui-bg-state-ghost-hover data-[state=open]:text-sui-text-muted", children: [
3695
3731
  /* @__PURE__ */ jsxRuntime.jsx("i", { className: "ri-close-line text-base", "aria-hidden": true }),
3696
3732
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
3697
3733
  ] })
@@ -3735,7 +3771,7 @@ var DialogFooter = (_a) => {
3735
3771
  );
3736
3772
  };
3737
3773
  DialogFooter.displayName = "DialogFooter";
3738
- var DialogTitle = React77__namespace.forwardRef((_a, ref) => {
3774
+ var DialogTitle = React78__namespace.forwardRef((_a, ref) => {
3739
3775
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3740
3776
  return /* @__PURE__ */ jsxRuntime.jsx(
3741
3777
  DialogPrimitive__namespace.Title,
@@ -3749,7 +3785,7 @@ var DialogTitle = React77__namespace.forwardRef((_a, ref) => {
3749
3785
  );
3750
3786
  });
3751
3787
  DialogTitle.displayName = DialogPrimitive__namespace.Title.displayName;
3752
- var DialogDescription = React77__namespace.forwardRef((_a, ref) => {
3788
+ var DialogDescription = React78__namespace.forwardRef((_a, ref) => {
3753
3789
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3754
3790
  return /* @__PURE__ */ jsxRuntime.jsx(
3755
3791
  DialogPrimitive__namespace.Description,
@@ -3760,7 +3796,7 @@ var DialogDescription = React77__namespace.forwardRef((_a, ref) => {
3760
3796
  );
3761
3797
  });
3762
3798
  DialogDescription.displayName = DialogPrimitive__namespace.Description.displayName;
3763
- var Command = React77__namespace.forwardRef((_a, ref) => {
3799
+ var Command = React78__namespace.forwardRef((_a, ref) => {
3764
3800
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3765
3801
  return /* @__PURE__ */ jsxRuntime.jsx(
3766
3802
  cmdk.Command,
@@ -3778,7 +3814,7 @@ var CommandDialog = (_a) => {
3778
3814
  var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
3779
3815
  return /* @__PURE__ */ jsxRuntime.jsx(Dialog, __spreadProps(__spreadValues({}, props), { children: /* @__PURE__ */ jsxRuntime.jsx(DialogContent, { className: "overflow-hidden p-0 shadow-card max-w-[560px]", children: /* @__PURE__ */ jsxRuntime.jsx(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-sui-text-hint [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_i]:h-4 [&_[cmdk-input-wrapper]_i]:w-4 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_i]:h-4 [&_[cmdk-item]_i]:w-4", children }) }) }));
3780
3816
  };
3781
- var CommandInput = React77__namespace.forwardRef((_a, ref) => {
3817
+ var CommandInput = React78__namespace.forwardRef((_a, ref) => {
3782
3818
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3783
3819
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center border-b border-sui-border-default px-3", "cmdk-input-wrapper": "", children: [
3784
3820
  /* @__PURE__ */ jsxRuntime.jsx("i", { className: "ri-search-line mr-2 shrink-0 text-icon-default-muted" }),
@@ -3795,7 +3831,7 @@ var CommandInput = React77__namespace.forwardRef((_a, ref) => {
3795
3831
  ] });
3796
3832
  });
3797
3833
  CommandInput.displayName = cmdk.Command.Input.displayName;
3798
- var CommandList = React77__namespace.forwardRef((_a, ref) => {
3834
+ var CommandList = React78__namespace.forwardRef((_a, ref) => {
3799
3835
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3800
3836
  return /* @__PURE__ */ jsxRuntime.jsx(
3801
3837
  cmdk.Command.List,
@@ -3806,7 +3842,7 @@ var CommandList = React77__namespace.forwardRef((_a, ref) => {
3806
3842
  );
3807
3843
  });
3808
3844
  CommandList.displayName = cmdk.Command.List.displayName;
3809
- var CommandEmpty = React77__namespace.forwardRef((props, ref) => /* @__PURE__ */ jsxRuntime.jsx(
3845
+ var CommandEmpty = React78__namespace.forwardRef((props, ref) => /* @__PURE__ */ jsxRuntime.jsx(
3810
3846
  cmdk.Command.Empty,
3811
3847
  __spreadValues({
3812
3848
  ref,
@@ -3814,7 +3850,7 @@ var CommandEmpty = React77__namespace.forwardRef((props, ref) => /* @__PURE__ */
3814
3850
  }, props)
3815
3851
  ));
3816
3852
  CommandEmpty.displayName = cmdk.Command.Empty.displayName;
3817
- var CommandGroup = React77__namespace.forwardRef((_a, ref) => {
3853
+ var CommandGroup = React78__namespace.forwardRef((_a, ref) => {
3818
3854
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3819
3855
  return /* @__PURE__ */ jsxRuntime.jsx(
3820
3856
  cmdk.Command.Group,
@@ -3828,7 +3864,7 @@ var CommandGroup = React77__namespace.forwardRef((_a, ref) => {
3828
3864
  );
3829
3865
  });
3830
3866
  CommandGroup.displayName = cmdk.Command.Group.displayName;
3831
- var CommandSeparator = React77__namespace.forwardRef((_a, ref) => {
3867
+ var CommandSeparator = React78__namespace.forwardRef((_a, ref) => {
3832
3868
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3833
3869
  return /* @__PURE__ */ jsxRuntime.jsx(
3834
3870
  cmdk.Command.Separator,
@@ -3839,7 +3875,7 @@ var CommandSeparator = React77__namespace.forwardRef((_a, ref) => {
3839
3875
  );
3840
3876
  });
3841
3877
  CommandSeparator.displayName = cmdk.Command.Separator.displayName;
3842
- var CommandItem = React77__namespace.forwardRef((_a, ref) => {
3878
+ var CommandItem = React78__namespace.forwardRef((_a, ref) => {
3843
3879
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3844
3880
  return /* @__PURE__ */ jsxRuntime.jsx(
3845
3881
  cmdk.Command.Item,
@@ -3902,7 +3938,7 @@ var sliderHandleVariants = classVarianceAuthority.cva(
3902
3938
  }
3903
3939
  }
3904
3940
  );
3905
- var SliderHandle = React77__namespace.forwardRef(
3941
+ var SliderHandle = React78__namespace.forwardRef(
3906
3942
  (_a, ref) => {
3907
3943
  var _b = _a, { className, state, value, showTooltip = false } = _b, props = __objRest(_b, ["className", "state", "value", "showTooltip"]);
3908
3944
  const isDisabled = state === "disabled";
@@ -3965,7 +4001,7 @@ function buildHistogramPath(data, width, height) {
3965
4001
  path += ` L ${width} ${height} Z`;
3966
4002
  return path;
3967
4003
  }
3968
- var DataRangeSlider = React77__namespace.forwardRef(
4004
+ var DataRangeSlider = React78__namespace.forwardRef(
3969
4005
  (_a, ref) => {
3970
4006
  var _b = _a, {
3971
4007
  className,
@@ -3996,15 +4032,18 @@ var DataRangeSlider = React77__namespace.forwardRef(
3996
4032
  "formatValue",
3997
4033
  "onValueChange"
3998
4034
  ]);
3999
- const trackRef = React77__namespace.useRef(null);
4000
- const [draggingHandle, setDraggingHandle] = React77__namespace.useState(null);
4001
- const [focusedHandle, setFocusedHandle] = React77__namespace.useState(null);
4002
- const clipId = React77__namespace.useId();
4035
+ const trackRef = React78__namespace.useRef(null);
4036
+ const [draggingHandle, setDraggingHandle] = React78__namespace.useState(null);
4037
+ const [focusedHandle, setFocusedHandle] = React78__namespace.useState(null);
4038
+ const clipId = React78__namespace.useId();
4003
4039
  const [rangeMin, rangeMax] = value;
4004
4040
  const pctMin = percent(rangeMin, min, max);
4005
4041
  const pctMax = percent(rangeMax, min, max);
4006
- const fmt = (v) => formatValue ? formatValue(v) : `${v}`;
4007
- const getValueFromPointer = React77__namespace.useCallback(
4042
+ const fmt = React78__namespace.useCallback(
4043
+ (v) => formatValue ? formatValue(v) : `${v}`,
4044
+ [formatValue]
4045
+ );
4046
+ const getValueFromPointer = React78__namespace.useCallback(
4008
4047
  (clientX) => {
4009
4048
  const track = trackRef.current;
4010
4049
  if (!track) return 0;
@@ -4015,7 +4054,7 @@ var DataRangeSlider = React77__namespace.forwardRef(
4015
4054
  },
4016
4055
  [min, max, step]
4017
4056
  );
4018
- const closestHandle = React77__namespace.useCallback(
4057
+ const closestHandle = React78__namespace.useCallback(
4019
4058
  (pointerValue) => {
4020
4059
  const distMin = Math.abs(pointerValue - rangeMin);
4021
4060
  const distMax = Math.abs(pointerValue - rangeMax);
@@ -4023,7 +4062,7 @@ var DataRangeSlider = React77__namespace.forwardRef(
4023
4062
  },
4024
4063
  [rangeMin, rangeMax]
4025
4064
  );
4026
- const updateValue = React77__namespace.useCallback(
4065
+ const updateValue = React78__namespace.useCallback(
4027
4066
  (handle, newVal) => {
4028
4067
  if (handle === 0) {
4029
4068
  const clamped = clamp(newVal, min, rangeMax);
@@ -4035,7 +4074,7 @@ var DataRangeSlider = React77__namespace.forwardRef(
4035
4074
  },
4036
4075
  [min, max, rangeMin, rangeMax, onValueChange]
4037
4076
  );
4038
- const handlePointerDown = React77__namespace.useCallback(
4077
+ const handlePointerDown = React78__namespace.useCallback(
4039
4078
  (e) => {
4040
4079
  if (disabled) return;
4041
4080
  e.preventDefault();
@@ -4047,7 +4086,7 @@ var DataRangeSlider = React77__namespace.forwardRef(
4047
4086
  },
4048
4087
  [disabled, getValueFromPointer, closestHandle, updateValue]
4049
4088
  );
4050
- const handlePointerMove = React77__namespace.useCallback(
4089
+ const handlePointerMove = React78__namespace.useCallback(
4051
4090
  (e) => {
4052
4091
  if (draggingHandle === null || disabled) return;
4053
4092
  const newVal = getValueFromPointer(e.clientX);
@@ -4055,10 +4094,10 @@ var DataRangeSlider = React77__namespace.forwardRef(
4055
4094
  },
4056
4095
  [draggingHandle, disabled, getValueFromPointer, updateValue]
4057
4096
  );
4058
- const handlePointerUp = React77__namespace.useCallback(() => {
4097
+ const handlePointerUp = React78__namespace.useCallback(() => {
4059
4098
  setDraggingHandle(null);
4060
4099
  }, []);
4061
- const makeKeyHandler = React77__namespace.useCallback(
4100
+ const makeKeyHandler = React78__namespace.useCallback(
4062
4101
  (handle) => (e) => {
4063
4102
  if (disabled) return;
4064
4103
  const currentVal = handle === 0 ? rangeMin : rangeMax;
@@ -4086,7 +4125,7 @@ var DataRangeSlider = React77__namespace.forwardRef(
4086
4125
  },
4087
4126
  [disabled, rangeMin, rangeMax, step, min, max, updateValue]
4088
4127
  );
4089
- const tickLabels = React77__namespace.useMemo(() => {
4128
+ const tickLabels = React78__namespace.useMemo(() => {
4090
4129
  if (pointLabels) return pointLabels;
4091
4130
  const labels = [];
4092
4131
  for (let i = 0; i < pointCount; i++) {
@@ -4097,7 +4136,7 @@ var DataRangeSlider = React77__namespace.forwardRef(
4097
4136
  }, [pointLabels, pointCount, min, max, fmt]);
4098
4137
  const chartWidth = 320;
4099
4138
  const chartHeight = 32;
4100
- const histogramPath = React77__namespace.useMemo(
4139
+ const histogramPath = React78__namespace.useMemo(
4101
4140
  () => buildHistogramPath(data, chartWidth, chartHeight),
4102
4141
  [data]
4103
4142
  );
@@ -4244,7 +4283,7 @@ DataRangeSlider.displayName = "DataRangeSlider";
4244
4283
  var labelVariants = classVarianceAuthority.cva(
4245
4284
  "text-sm font-medium leading-5 text-sui-text-default"
4246
4285
  );
4247
- var Label = React77__namespace.forwardRef((_a, ref) => {
4286
+ var Label = React78__namespace.forwardRef((_a, ref) => {
4248
4287
  var _b = _a, { className, required, supportText, tailIcon, children } = _b, props = __objRest(_b, ["className", "required", "supportText", "tailIcon", "children"]);
4249
4288
  const hasTail = !!(supportText || tailIcon);
4250
4289
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -4305,7 +4344,7 @@ var inputContainerVariants = classVarianceAuthority.cva(
4305
4344
  }
4306
4345
  }
4307
4346
  );
4308
- var InputField = React77__namespace.forwardRef(
4347
+ var InputField = React78__namespace.forwardRef(
4309
4348
  (_a, ref) => {
4310
4349
  var _b = _a, {
4311
4350
  className,
@@ -4330,7 +4369,9 @@ var InputField = React77__namespace.forwardRef(
4330
4369
  tailAddon,
4331
4370
  inputClassName,
4332
4371
  disabled,
4333
- id
4372
+ id,
4373
+ spellCheck,
4374
+ autoComplete
4334
4375
  } = _b, props = __objRest(_b, [
4335
4376
  "className",
4336
4377
  "inputStyle",
@@ -4354,14 +4395,29 @@ var InputField = React77__namespace.forwardRef(
4354
4395
  "tailAddon",
4355
4396
  "inputClassName",
4356
4397
  "disabled",
4357
- "id"
4398
+ "id",
4399
+ "spellCheck",
4400
+ "autoComplete"
4358
4401
  ]);
4359
- const generatedId = React77__namespace.useId();
4402
+ const generatedId = React78__namespace.useId();
4360
4403
  const inputId = id || generatedId;
4361
4404
  const captionId = `${inputId}-caption`;
4362
4405
  const hasError = !!error;
4363
4406
  const helperText = hasError ? error : caption;
4364
4407
  const hasInlineTags = !!(tags && tags.length > 0 && !hasError && !disabled);
4408
+ const innerRef = React78__namespace.useRef(null);
4409
+ React78__namespace.useImperativeHandle(ref, () => innerRef.current, []);
4410
+ const focusInputOnDecorationClick = (e) => {
4411
+ var _a2;
4412
+ if (disabled) return;
4413
+ const target = e.target;
4414
+ if (target === innerRef.current) return;
4415
+ if (target.closest('button, a, input, textarea, select, [role="button"]')) return;
4416
+ e.preventDefault();
4417
+ (_a2 = innerRef.current) == null ? void 0 : _a2.focus();
4418
+ };
4419
+ const resolvedSpellCheck = spellCheck != null ? spellCheck : false;
4420
+ const resolvedAutoComplete = autoComplete != null ? autoComplete : "off";
4365
4421
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex w-full flex-col gap-2", className), children: [
4366
4422
  label && /* @__PURE__ */ jsxRuntime.jsx(
4367
4423
  Label,
@@ -4376,6 +4432,7 @@ var InputField = React77__namespace.forwardRef(
4376
4432
  /* @__PURE__ */ jsxRuntime.jsxs(
4377
4433
  "div",
4378
4434
  {
4435
+ onPointerDown: focusInputOnDecorationClick,
4379
4436
  className: cn(
4380
4437
  inputContainerVariants({ inputStyle }),
4381
4438
  // Inline tags: let content determine height; standard: fix height to prevent inflation
@@ -4428,13 +4485,15 @@ var InputField = React77__namespace.forwardRef(
4428
4485
  /* @__PURE__ */ jsxRuntime.jsx(
4429
4486
  "input",
4430
4487
  __spreadValues({
4431
- ref,
4488
+ ref: innerRef,
4432
4489
  id: inputId,
4433
4490
  disabled,
4434
4491
  required,
4492
+ spellCheck: resolvedSpellCheck,
4493
+ autoComplete: resolvedAutoComplete,
4435
4494
  "aria-invalid": hasError || void 0,
4436
4495
  "aria-describedby": helperText ? captionId : void 0,
4437
- className: cn("flex-1 min-w-0 bg-transparent px-1 text-sm leading-5 outline-none text-sui-text-default placeholder:text-sui-text-hint", inputClassName)
4496
+ className: cn("flex-1 min-w-0 bg-transparent px-1 text-base md:text-sm leading-5 outline-none text-sui-text-default placeholder:text-sui-text-hint", inputClassName)
4438
4497
  }, props)
4439
4498
  )
4440
4499
  ] }),
@@ -4468,14 +4527,17 @@ var InputField = React77__namespace.forwardRef(
4468
4527
  /* @__PURE__ */ jsxRuntime.jsx(
4469
4528
  "input",
4470
4529
  __spreadValues({
4471
- ref,
4530
+ ref: innerRef,
4472
4531
  id: inputId,
4473
4532
  disabled,
4474
4533
  required,
4534
+ spellCheck: resolvedSpellCheck,
4535
+ autoComplete: resolvedAutoComplete,
4475
4536
  "aria-invalid": hasError || void 0,
4476
4537
  "aria-describedby": helperText ? captionId : void 0,
4477
4538
  className: cn(
4478
- "flex-1 min-w-0 bg-transparent px-1 text-sm leading-5 outline-none",
4539
+ // #29 16px on touch (prevents iOS zoom), 14px on md+
4540
+ "flex-1 min-w-0 bg-transparent px-1 text-base md:text-sm leading-5 outline-none",
4479
4541
  "text-sui-text-default",
4480
4542
  "placeholder:text-sui-text-muted",
4481
4543
  disabled && "text-sui-text-hint placeholder:text-sui-text-hint cursor-not-allowed",
@@ -4536,7 +4598,7 @@ var InputField = React77__namespace.forwardRef(
4536
4598
  }
4537
4599
  );
4538
4600
  InputField.displayName = "InputField";
4539
- var DataRangeSliderInput = React77__namespace.forwardRef(
4601
+ var DataRangeSliderInput = React78__namespace.forwardRef(
4540
4602
  (_a, ref) => {
4541
4603
  var _b = _a, {
4542
4604
  className,
@@ -4656,7 +4718,7 @@ var DataRangeSliderInput = React77__namespace.forwardRef(
4656
4718
  DataRangeSliderInput.displayName = "DataRangeSliderInput";
4657
4719
  var Popover = PopoverPrimitive__namespace.Root;
4658
4720
  var PopoverTrigger = PopoverPrimitive__namespace.Trigger;
4659
- var PopoverContent = React77__namespace.forwardRef((_a, ref) => {
4721
+ var PopoverContent = React78__namespace.forwardRef((_a, ref) => {
4660
4722
  var _b = _a, { className, align = "center", sideOffset = 4 } = _b, props = __objRest(_b, ["className", "align", "sideOffset"]);
4661
4723
  return /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
4662
4724
  PopoverPrimitive__namespace.Content,
@@ -4679,7 +4741,7 @@ function DatePicker({
4679
4741
  className,
4680
4742
  disabled
4681
4743
  }) {
4682
- const [open, setOpen] = React77__namespace.useState(false);
4744
+ const [open, setOpen] = React78__namespace.useState(false);
4683
4745
  return /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open, onOpenChange: setOpen, children: [
4684
4746
  /* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
4685
4747
  Button,
@@ -4720,7 +4782,7 @@ function DateRangePicker({
4720
4782
  className,
4721
4783
  disabled
4722
4784
  }) {
4723
- const [open, setOpen] = React77__namespace.useState(false);
4785
+ const [open, setOpen] = React78__namespace.useState(false);
4724
4786
  return /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open, onOpenChange: setOpen, children: [
4725
4787
  /* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
4726
4788
  Button,
@@ -4771,7 +4833,7 @@ function DatePickerWithPresets({
4771
4833
  className,
4772
4834
  disabled
4773
4835
  }) {
4774
- const [open, setOpen] = React77__namespace.useState(false);
4836
+ const [open, setOpen] = React78__namespace.useState(false);
4775
4837
  return /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open, onOpenChange: setOpen, children: [
4776
4838
  /* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
4777
4839
  Button,
@@ -4804,7 +4866,7 @@ function DatePickerWithPresets({
4804
4866
  className: cn(
4805
4867
  "w-[150px] rounded-xs px-2 py-1 text-left text-sm font-medium transition-colors",
4806
4868
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sui-border-highlight",
4807
- isSelected ? "bg-sui-bg-state-brand text-sui-text-white-default" : "bg-sui-bg-state-ghost text-sui-text-muted hover:bg-sui-bg-state-ghost-hover"
4869
+ isSelected ? "bg-sui-bg-state-brand text-sui-text-white-default" : "bg-sui-bg-state-ghost text-sui-text-muted [@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover"
4808
4870
  ),
4809
4871
  children: preset.label
4810
4872
  },
@@ -4892,7 +4954,7 @@ function RequirementItem({ label, met }) {
4892
4954
  )
4893
4955
  ] });
4894
4956
  }
4895
- var InputCaption = React77__namespace.forwardRef(
4957
+ var InputCaption = React78__namespace.forwardRef(
4896
4958
  (_a, ref) => {
4897
4959
  var _b = _a, {
4898
4960
  variant = "default",
@@ -4983,9 +5045,9 @@ var InputCaption = React77__namespace.forwardRef(
4983
5045
  className
4984
5046
  )
4985
5047
  }, props), {
4986
- children: React77__namespace.Children.map(children, (child) => {
4987
- if (!React77__namespace.isValidElement(child)) return child;
4988
- return React77__namespace.cloneElement(child, {
5048
+ children: React78__namespace.Children.map(children, (child) => {
5049
+ if (!React78__namespace.isValidElement(child)) return child;
5050
+ return React78__namespace.cloneElement(child, {
4989
5051
  className: cn(
4990
5052
  "flex-1",
4991
5053
  child.props.className
@@ -5086,43 +5148,49 @@ function DateSegment({
5086
5148
  const handleFocus = (e) => {
5087
5149
  e.target.select();
5088
5150
  };
5089
- return /* @__PURE__ */ jsxRuntime.jsx(
5090
- "input",
5091
- {
5092
- ref: segmentRef,
5093
- id,
5094
- type: "text",
5095
- inputMode: "numeric",
5096
- maxLength,
5097
- size: maxLength,
5098
- placeholder,
5099
- value,
5100
- disabled,
5101
- onChange: handleChange,
5102
- onKeyDown: handleKeyDown,
5103
- onFocus: handleFocus,
5104
- "aria-label": placeholder === "dd" ? "Day" : placeholder === "mm" ? "Month" : "Year",
5105
- className: cn(
5106
- // Layout — min-w-0 prevents browser input minimum width
5107
- "min-w-0 shrink-0 rounded-xs px-1 text-center",
5108
- // Explicit widths — enough room for text + px-1 padding
5109
- maxLength === 4 ? "w-12" : "w-8",
5110
- // Typography
5111
- "text-sm font-normal leading-5",
5112
- // Background
5113
- "bg-sui-bg-state-ghost",
5114
- // Text colors
5115
- value ? "text-sui-text-default" : "text-sui-text-muted",
5116
- // Hover
5117
- "hover:bg-sui-bg-state-ghost-hover",
5118
- // Focus
5119
- "focus:bg-sui-bg-state-ghost-hover focus:outline-none",
5120
- // Disabled
5121
- "disabled:pointer-events-none disabled:text-sui-text-hint disabled:bg-transparent",
5122
- // Placeholder
5123
- "placeholder:text-sui-text-muted disabled:placeholder:text-sui-text-hint"
5124
- )
5125
- }
5151
+ return (
5152
+ // Web Interface Guidelines #4 spellcheck/autocomplete off, #29 16px on touch,
5153
+ // #28 hover only on pointer devices (avoid sticky hover after tap on touch).
5154
+ /* @__PURE__ */ jsxRuntime.jsx(
5155
+ "input",
5156
+ {
5157
+ ref: segmentRef,
5158
+ id,
5159
+ type: "text",
5160
+ inputMode: "numeric",
5161
+ spellCheck: false,
5162
+ autoComplete: "off",
5163
+ maxLength,
5164
+ size: maxLength,
5165
+ placeholder,
5166
+ value,
5167
+ disabled,
5168
+ onChange: handleChange,
5169
+ onKeyDown: handleKeyDown,
5170
+ onFocus: handleFocus,
5171
+ "aria-label": placeholder === "dd" ? "Day" : placeholder === "mm" ? "Month" : "Year",
5172
+ className: cn(
5173
+ // Layout — min-w-0 prevents browser input minimum width
5174
+ "min-w-0 shrink-0 rounded-xs px-1 text-center",
5175
+ // Explicit widths — enough room for text + px-1 padding
5176
+ maxLength === 4 ? "w-12" : "w-8",
5177
+ // Typography 16px on touch (prevents iOS zoom on focus), 14px on md+
5178
+ "text-base md:text-sm font-normal leading-5 tabular-nums",
5179
+ // Background
5180
+ "bg-sui-bg-state-ghost",
5181
+ // Text colors
5182
+ value ? "text-sui-text-default" : "text-sui-text-muted",
5183
+ // Hover (pointer devices only — no sticky hover after tap)
5184
+ "[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover",
5185
+ // Focus
5186
+ "focus:bg-sui-bg-state-ghost-hover focus:outline-none",
5187
+ // Disabled
5188
+ "disabled:pointer-events-none disabled:text-sui-text-hint disabled:bg-transparent",
5189
+ // Placeholder
5190
+ "placeholder:text-sui-text-muted disabled:placeholder:text-sui-text-hint"
5191
+ )
5192
+ }
5193
+ )
5126
5194
  );
5127
5195
  }
5128
5196
  function DateSegmentGroup({
@@ -5255,38 +5323,38 @@ function DatePickerInput({
5255
5323
  disabled = false,
5256
5324
  className
5257
5325
  }) {
5258
- const [calendarOpen, setCalendarOpen] = React77__namespace.useState(false);
5326
+ const [calendarOpen, setCalendarOpen] = React78__namespace.useState(false);
5259
5327
  const hasError = !!error;
5260
5328
  const helperText = hasError ? error : caption;
5261
5329
  const singleSegments = dateToSegments(date);
5262
- const [singleDay, setSingleDay] = React77__namespace.useState(singleSegments.day);
5263
- const [singleMonth, setSingleMonth] = React77__namespace.useState(singleSegments.month);
5264
- const [singleYear, setSingleYear] = React77__namespace.useState(singleSegments.year);
5330
+ const [singleDay, setSingleDay] = React78__namespace.useState(singleSegments.day);
5331
+ const [singleMonth, setSingleMonth] = React78__namespace.useState(singleSegments.month);
5332
+ const [singleYear, setSingleYear] = React78__namespace.useState(singleSegments.year);
5265
5333
  const startSegments = dateToSegments(dateRange == null ? void 0 : dateRange.from);
5266
5334
  const endSegments = dateToSegments(dateRange == null ? void 0 : dateRange.to);
5267
- const [startDay, setStartDay] = React77__namespace.useState(startSegments.day);
5268
- const [startMonth, setStartMonth] = React77__namespace.useState(startSegments.month);
5269
- const [startYear, setStartYear] = React77__namespace.useState(startSegments.year);
5270
- const [endDay, setEndDay] = React77__namespace.useState(endSegments.day);
5271
- const [endMonth, setEndMonth] = React77__namespace.useState(endSegments.month);
5272
- const [endYear, setEndYear] = React77__namespace.useState(endSegments.year);
5273
- const singleDayRef = React77__namespace.useRef(null);
5274
- const singleMonthRef = React77__namespace.useRef(null);
5275
- const singleYearRef = React77__namespace.useRef(null);
5276
- const startDayRef = React77__namespace.useRef(null);
5277
- const startMonthRef = React77__namespace.useRef(null);
5278
- const startYearRef = React77__namespace.useRef(null);
5279
- const endDayRef = React77__namespace.useRef(null);
5280
- const endMonthRef = React77__namespace.useRef(null);
5281
- const endYearRef = React77__namespace.useRef(null);
5282
- const calendarIconRef = React77__namespace.useRef(null);
5283
- React77__namespace.useEffect(() => {
5335
+ const [startDay, setStartDay] = React78__namespace.useState(startSegments.day);
5336
+ const [startMonth, setStartMonth] = React78__namespace.useState(startSegments.month);
5337
+ const [startYear, setStartYear] = React78__namespace.useState(startSegments.year);
5338
+ const [endDay, setEndDay] = React78__namespace.useState(endSegments.day);
5339
+ const [endMonth, setEndMonth] = React78__namespace.useState(endSegments.month);
5340
+ const [endYear, setEndYear] = React78__namespace.useState(endSegments.year);
5341
+ const singleDayRef = React78__namespace.useRef(null);
5342
+ const singleMonthRef = React78__namespace.useRef(null);
5343
+ const singleYearRef = React78__namespace.useRef(null);
5344
+ const startDayRef = React78__namespace.useRef(null);
5345
+ const startMonthRef = React78__namespace.useRef(null);
5346
+ const startYearRef = React78__namespace.useRef(null);
5347
+ const endDayRef = React78__namespace.useRef(null);
5348
+ const endMonthRef = React78__namespace.useRef(null);
5349
+ const endYearRef = React78__namespace.useRef(null);
5350
+ const calendarIconRef = React78__namespace.useRef(null);
5351
+ React78__namespace.useEffect(() => {
5284
5352
  const s = dateToSegments(date);
5285
5353
  setSingleDay(s.day);
5286
5354
  setSingleMonth(s.month);
5287
5355
  setSingleYear(s.year);
5288
5356
  }, [date]);
5289
- React77__namespace.useEffect(() => {
5357
+ React78__namespace.useEffect(() => {
5290
5358
  const s = dateToSegments(dateRange == null ? void 0 : dateRange.from);
5291
5359
  setStartDay(s.day);
5292
5360
  setStartMonth(s.month);
@@ -5296,7 +5364,7 @@ function DatePickerInput({
5296
5364
  setEndMonth(e.month);
5297
5365
  setEndYear(e.year);
5298
5366
  }, [dateRange]);
5299
- const handleSingleSegmentChange = React77__namespace.useCallback(
5367
+ const handleSingleSegmentChange = React78__namespace.useCallback(
5300
5368
  (day, month, year) => {
5301
5369
  const d = segmentsToDate(day, month, year);
5302
5370
  if (day.length === 2 && month.length === 2 && year.length === 4) {
@@ -5307,7 +5375,7 @@ function DatePickerInput({
5307
5375
  },
5308
5376
  [onDateChange]
5309
5377
  );
5310
- const handleRangeSegmentChange = React77__namespace.useCallback(
5378
+ const handleRangeSegmentChange = React78__namespace.useCallback(
5311
5379
  (sd, sm, sy, ed, em, ey) => {
5312
5380
  const from = segmentsToDate(sd, sm, sy);
5313
5381
  const to = segmentsToDate(ed, em, ey);
@@ -5382,7 +5450,7 @@ function DatePickerInput({
5382
5450
  setCalendarOpen(false);
5383
5451
  }
5384
5452
  };
5385
- const inputId = React77__namespace.useId();
5453
+ const inputId = React78__namespace.useId();
5386
5454
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex w-full flex-col gap-2", className), children: [
5387
5455
  label && /* @__PURE__ */ jsxRuntime.jsx(Label, { htmlFor: inputId, children: label }),
5388
5456
  /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open: calendarOpen, onOpenChange: setCalendarOpen, children: [
@@ -5496,7 +5564,7 @@ function DatePickerInput({
5496
5564
  "flex shrink-0 items-center justify-center size-5 mr-2",
5497
5565
  "rounded-xs transition-colors",
5498
5566
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sui-border-highlight",
5499
- "hover:bg-sui-bg-state-ghost-hover",
5567
+ "[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover",
5500
5568
  "disabled:pointer-events-none"
5501
5569
  ),
5502
5570
  children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -5568,7 +5636,7 @@ var lineVariants = classVarianceAuthority.cva("h-px min-w-0 flex-1 border-t bord
5568
5636
  lineStyle: "solid"
5569
5637
  }
5570
5638
  });
5571
- var Divider = React77__namespace.forwardRef(
5639
+ var Divider = React78__namespace.forwardRef(
5572
5640
  (_a, ref) => {
5573
5641
  var _b = _a, {
5574
5642
  className,
@@ -5626,7 +5694,7 @@ var Divider = React77__namespace.forwardRef(
5626
5694
  "shadow-default",
5627
5695
  "relative overflow-hidden",
5628
5696
  "transition-colors duration-150",
5629
- "hover:bg-sui-bg-state-secondary-hover",
5697
+ "[@media(hover:hover)]:hover:bg-sui-bg-state-secondary-hover",
5630
5698
  "active:bg-sui-bg-state-secondary-press",
5631
5699
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sui-border-highlight focus-visible:ring-offset-2 focus-visible:ring-offset-sui-bg-default"
5632
5700
  ),
@@ -5643,7 +5711,7 @@ var Divider = React77__namespace.forwardRef(
5643
5711
  }
5644
5712
  );
5645
5713
  Divider.displayName = "Divider";
5646
- var MenuSearchInput = React77__namespace.forwardRef(
5714
+ var MenuSearchInput = React78__namespace.forwardRef(
5647
5715
  (_a, ref) => {
5648
5716
  var _b = _a, {
5649
5717
  className,
@@ -5664,44 +5732,45 @@ var MenuSearchInput = React77__namespace.forwardRef(
5664
5732
  "defaultValue",
5665
5733
  "id"
5666
5734
  ]);
5667
- const internalRef = React77__namespace.useRef(null);
5735
+ var _a2, _b2;
5736
+ const internalRef = React78__namespace.useRef(null);
5668
5737
  const inputRef = ref || internalRef;
5669
- const [internalValue, setInternalValue] = React77__namespace.useState(
5738
+ const [internalValue, setInternalValue] = React78__namespace.useState(
5670
5739
  defaultValue || ""
5671
5740
  );
5672
5741
  const isControlled = value !== void 0;
5673
5742
  const currentValue = isControlled ? String(value) : internalValue;
5674
5743
  const hasValue = currentValue.length > 0;
5675
- const generatedId = React77__namespace.useId();
5744
+ const generatedId = React78__namespace.useId();
5676
5745
  const inputId = id || generatedId;
5677
5746
  const handleChange = (e) => {
5678
- var _a2;
5747
+ var _a3;
5679
5748
  if (!isControlled) {
5680
5749
  setInternalValue(e.target.value);
5681
5750
  }
5682
- (_a2 = props.onChange) == null ? void 0 : _a2.call(props, e);
5751
+ (_a3 = props.onChange) == null ? void 0 : _a3.call(props, e);
5683
5752
  };
5684
5753
  const handleClear = () => {
5685
- var _a2;
5754
+ var _a3;
5686
5755
  if (!isControlled) {
5687
5756
  setInternalValue("");
5688
5757
  }
5689
5758
  onClear == null ? void 0 : onClear();
5690
5759
  if (inputRef && "current" in inputRef) {
5691
- (_a2 = inputRef.current) == null ? void 0 : _a2.focus();
5760
+ (_a3 = inputRef.current) == null ? void 0 : _a3.focus();
5692
5761
  }
5693
5762
  };
5694
- const [isFocused, setIsFocused] = React77__namespace.useState(false);
5763
+ const [isFocused, setIsFocused] = React78__namespace.useState(false);
5695
5764
  const showShortcut = !!shortcutKey && !hasValue && !isFocused && !disabled;
5696
5765
  const handleFocus = (e) => {
5697
- var _a2;
5766
+ var _a3;
5698
5767
  setIsFocused(true);
5699
- (_a2 = props.onFocus) == null ? void 0 : _a2.call(props, e);
5768
+ (_a3 = props.onFocus) == null ? void 0 : _a3.call(props, e);
5700
5769
  };
5701
5770
  const handleBlur = (e) => {
5702
- var _a2;
5771
+ var _a3;
5703
5772
  setIsFocused(false);
5704
- (_a2 = props.onBlur) == null ? void 0 : _a2.call(props, e);
5773
+ (_a3 = props.onBlur) == null ? void 0 : _a3.call(props, e);
5705
5774
  };
5706
5775
  return /* @__PURE__ */ jsxRuntime.jsx(
5707
5776
  "div",
@@ -5744,13 +5813,15 @@ var MenuSearchInput = React77__namespace.forwardRef(
5744
5813
  type: "search",
5745
5814
  role: "searchbox",
5746
5815
  disabled,
5816
+ spellCheck: (_a2 = props.spellCheck) != null ? _a2 : false,
5817
+ autoComplete: (_b2 = props.autoComplete) != null ? _b2 : "off",
5747
5818
  value: isControlled ? value : internalValue,
5748
5819
  onChange: handleChange,
5749
5820
  onFocus: handleFocus,
5750
5821
  onBlur: handleBlur,
5751
5822
  "aria-label": props["aria-label"] || "Search menu",
5752
5823
  className: cn(
5753
- "flex-1 min-w-0 bg-transparent px-1 text-sm leading-5 outline-none",
5824
+ "flex-1 min-w-0 bg-transparent px-1 text-base md:text-sm leading-5 outline-none",
5754
5825
  "font-normal",
5755
5826
  "text-sui-text-default",
5756
5827
  "placeholder:text-sui-text-hint",
@@ -5782,7 +5853,7 @@ var MenuSearchInput = React77__namespace.forwardRef(
5782
5853
  "flex size-5 shrink-0 items-center justify-center",
5783
5854
  "rounded-xs transition-colors",
5784
5855
  "text-icon-default-muted",
5785
- "hover:text-icon-default-subtle",
5856
+ "[@media(hover:hover)]:hover:text-icon-default-subtle",
5786
5857
  "active:text-icon-default",
5787
5858
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sui-border-highlight"
5788
5859
  ),
@@ -5803,7 +5874,7 @@ var DropdownMenuGroup = DropdownMenuPrimitive__namespace.Group;
5803
5874
  var DropdownMenuPortal = DropdownMenuPrimitive__namespace.Portal;
5804
5875
  var DropdownMenuSub = DropdownMenuPrimitive__namespace.Sub;
5805
5876
  var DropdownMenuRadioGroup = DropdownMenuPrimitive__namespace.RadioGroup;
5806
- var DropdownMenuSubTrigger = React77__namespace.forwardRef((_a, ref) => {
5877
+ var DropdownMenuSubTrigger = React78__namespace.forwardRef((_a, ref) => {
5807
5878
  var _b = _a, { className, inset, children } = _b, props = __objRest(_b, ["className", "inset", "children"]);
5808
5879
  return /* @__PURE__ */ jsxRuntime.jsxs(
5809
5880
  DropdownMenuPrimitive__namespace.SubTrigger,
@@ -5827,7 +5898,7 @@ var DropdownMenuSubTrigger = React77__namespace.forwardRef((_a, ref) => {
5827
5898
  );
5828
5899
  });
5829
5900
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive__namespace.SubTrigger.displayName;
5830
- var DropdownMenuSubContent = React77__namespace.forwardRef((_a, ref) => {
5901
+ var DropdownMenuSubContent = React78__namespace.forwardRef((_a, ref) => {
5831
5902
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5832
5903
  return /* @__PURE__ */ jsxRuntime.jsx(
5833
5904
  DropdownMenuPrimitive__namespace.SubContent,
@@ -5842,7 +5913,7 @@ var DropdownMenuSubContent = React77__namespace.forwardRef((_a, ref) => {
5842
5913
  );
5843
5914
  });
5844
5915
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive__namespace.SubContent.displayName;
5845
- var DropdownMenuContent = React77__namespace.forwardRef((_a, ref) => {
5916
+ var DropdownMenuContent = React78__namespace.forwardRef((_a, ref) => {
5846
5917
  var _b = _a, { className, sideOffset = 4, search, searchValue, onSearchChange, onSearchClear, searchPlaceholder = "Search", children } = _b, props = __objRest(_b, ["className", "sideOffset", "search", "searchValue", "onSearchChange", "onSearchClear", "searchPlaceholder", "children"]);
5847
5918
  return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
5848
5919
  DropdownMenuPrimitive__namespace.Content,
@@ -5880,7 +5951,7 @@ var DropdownMenuContent = React77__namespace.forwardRef((_a, ref) => {
5880
5951
  ) });
5881
5952
  });
5882
5953
  DropdownMenuContent.displayName = DropdownMenuPrimitive__namespace.Content.displayName;
5883
- var DropdownMenuItem = React77__namespace.forwardRef((_a, ref) => {
5954
+ var DropdownMenuItem = React78__namespace.forwardRef((_a, ref) => {
5884
5955
  var _b = _a, { className, inset, variant = "default" } = _b, props = __objRest(_b, ["className", "inset", "variant"]);
5885
5956
  return /* @__PURE__ */ jsxRuntime.jsx(
5886
5957
  DropdownMenuPrimitive__namespace.Item,
@@ -5901,7 +5972,7 @@ var DropdownMenuItem = React77__namespace.forwardRef((_a, ref) => {
5901
5972
  );
5902
5973
  });
5903
5974
  DropdownMenuItem.displayName = DropdownMenuPrimitive__namespace.Item.displayName;
5904
- var DropdownMenuCheckboxItem = React77__namespace.forwardRef((_a, ref) => {
5975
+ var DropdownMenuCheckboxItem = React78__namespace.forwardRef((_a, ref) => {
5905
5976
  var _b = _a, { className, children, checked } = _b, props = __objRest(_b, ["className", "children", "checked"]);
5906
5977
  return /* @__PURE__ */ jsxRuntime.jsxs(
5907
5978
  DropdownMenuPrimitive__namespace.CheckboxItem,
@@ -5923,7 +5994,7 @@ var DropdownMenuCheckboxItem = React77__namespace.forwardRef((_a, ref) => {
5923
5994
  );
5924
5995
  });
5925
5996
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive__namespace.CheckboxItem.displayName;
5926
- var DropdownMenuRadioItem = React77__namespace.forwardRef((_a, ref) => {
5997
+ var DropdownMenuRadioItem = React78__namespace.forwardRef((_a, ref) => {
5927
5998
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
5928
5999
  return /* @__PURE__ */ jsxRuntime.jsxs(
5929
6000
  DropdownMenuPrimitive__namespace.RadioItem,
@@ -5944,7 +6015,7 @@ var DropdownMenuRadioItem = React77__namespace.forwardRef((_a, ref) => {
5944
6015
  );
5945
6016
  });
5946
6017
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive__namespace.RadioItem.displayName;
5947
- var DropdownMenuLabel = React77__namespace.forwardRef((_a, ref) => {
6018
+ var DropdownMenuLabel = React78__namespace.forwardRef((_a, ref) => {
5948
6019
  var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
5949
6020
  return /* @__PURE__ */ jsxRuntime.jsx(
5950
6021
  DropdownMenuPrimitive__namespace.Label,
@@ -5959,7 +6030,7 @@ var DropdownMenuLabel = React77__namespace.forwardRef((_a, ref) => {
5959
6030
  );
5960
6031
  });
5961
6032
  DropdownMenuLabel.displayName = DropdownMenuPrimitive__namespace.Label.displayName;
5962
- var DropdownMenuSeparator = React77__namespace.forwardRef((_a, ref) => {
6033
+ var DropdownMenuSeparator = React78__namespace.forwardRef((_a, ref) => {
5963
6034
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5964
6035
  return /* @__PURE__ */ jsxRuntime.jsx(
5965
6036
  DropdownMenuPrimitive__namespace.Separator,
@@ -5988,7 +6059,7 @@ var DropdownMenuShortcut = (_a) => {
5988
6059
  );
5989
6060
  };
5990
6061
  DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
5991
- var DropdownMenuCaption = React77__namespace.forwardRef((_a, ref) => {
6062
+ var DropdownMenuCaption = React78__namespace.forwardRef((_a, ref) => {
5992
6063
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5993
6064
  return /* @__PURE__ */ jsxRuntime.jsx(
5994
6065
  "p",
@@ -6003,7 +6074,7 @@ var DropdownMenuCaption = React77__namespace.forwardRef((_a, ref) => {
6003
6074
  );
6004
6075
  });
6005
6076
  DropdownMenuCaption.displayName = "DropdownMenuCaption";
6006
- var DropdownMenuUserbar = React77__namespace.forwardRef((_a, ref) => {
6077
+ var DropdownMenuUserbar = React78__namespace.forwardRef((_a, ref) => {
6007
6078
  var _b = _a, { className, name, email, avatar, badge } = _b, props = __objRest(_b, ["className", "name", "email", "avatar", "badge"]);
6008
6079
  return /* @__PURE__ */ jsxRuntime.jsxs(
6009
6080
  "div",
@@ -6028,7 +6099,7 @@ var DropdownMenuUserbar = React77__namespace.forwardRef((_a, ref) => {
6028
6099
  );
6029
6100
  });
6030
6101
  DropdownMenuUserbar.displayName = "DropdownMenuUserbar";
6031
- var DropdownMenuLargeItem = React77__namespace.forwardRef((_a, ref) => {
6102
+ var DropdownMenuLargeItem = React78__namespace.forwardRef((_a, ref) => {
6032
6103
  var _b = _a, { className, label, caption, icon, badge, tailIcon } = _b, props = __objRest(_b, ["className", "label", "caption", "icon", "badge", "tailIcon"]);
6033
6104
  return /* @__PURE__ */ jsxRuntime.jsxs(
6034
6105
  DropdownMenuPrimitive__namespace.Item,
@@ -6069,7 +6140,7 @@ var emptyStateVariants = classVarianceAuthority.cva(
6069
6140
  }
6070
6141
  }
6071
6142
  );
6072
- var EmptyState = React77__namespace.forwardRef(
6143
+ var EmptyState = React78__namespace.forwardRef(
6073
6144
  (_a, ref) => {
6074
6145
  var _b = _a, {
6075
6146
  className,
@@ -6127,14 +6198,15 @@ var EmptyState = React77__namespace.forwardRef(
6127
6198
  EmptyState.displayName = "EmptyState";
6128
6199
  function EmptyStateText({
6129
6200
  title,
6130
- description
6201
+ description,
6202
+ titleAs: TitleTag = "h3"
6131
6203
  }) {
6132
6204
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-1 text-center w-full", children: [
6133
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium leading-5 text-sui-text-subtle w-full", children: title }),
6205
+ /* @__PURE__ */ jsxRuntime.jsx(TitleTag, { className: "text-sm font-medium leading-5 text-sui-text-subtle w-full m-0", children: title }),
6134
6206
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs leading-4 text-sui-text-muted w-full", children: description })
6135
6207
  ] });
6136
6208
  }
6137
- var FileUploadArea = React77__namespace.forwardRef(
6209
+ var FileUploadArea = React78__namespace.forwardRef(
6138
6210
  (_a, ref) => {
6139
6211
  var _b = _a, {
6140
6212
  className,
@@ -6159,8 +6231,8 @@ var FileUploadArea = React77__namespace.forwardRef(
6159
6231
  "onDrop",
6160
6232
  "onDragOver"
6161
6233
  ]);
6162
- const [isDragOver, setIsDragOver] = React77__namespace.useState(false);
6163
- const handleDragOver = React77__namespace.useCallback(
6234
+ const [isDragOver, setIsDragOver] = React78__namespace.useState(false);
6235
+ const handleDragOver = React78__namespace.useCallback(
6164
6236
  (e) => {
6165
6237
  if (disabled) return;
6166
6238
  e.preventDefault();
@@ -6169,10 +6241,10 @@ var FileUploadArea = React77__namespace.forwardRef(
6169
6241
  },
6170
6242
  [disabled, onDragOver]
6171
6243
  );
6172
- const handleDragLeave = React77__namespace.useCallback(() => {
6244
+ const handleDragLeave = React78__namespace.useCallback(() => {
6173
6245
  setIsDragOver(false);
6174
6246
  }, []);
6175
- const handleDrop = React77__namespace.useCallback(
6247
+ const handleDrop = React78__namespace.useCallback(
6176
6248
  (e) => {
6177
6249
  if (disabled) return;
6178
6250
  e.preventDefault();
@@ -6181,11 +6253,11 @@ var FileUploadArea = React77__namespace.forwardRef(
6181
6253
  },
6182
6254
  [disabled, onDrop]
6183
6255
  );
6184
- const handleClick = React77__namespace.useCallback(() => {
6256
+ const handleClick = React78__namespace.useCallback(() => {
6185
6257
  if (disabled) return;
6186
6258
  onClick == null ? void 0 : onClick();
6187
6259
  }, [disabled, onClick]);
6188
- const handleKeyDown = React77__namespace.useCallback(
6260
+ const handleKeyDown = React78__namespace.useCallback(
6189
6261
  (e) => {
6190
6262
  if (disabled) return;
6191
6263
  if (e.key === "Enter" || e.key === " ") {
@@ -6214,7 +6286,7 @@ var FileUploadArea = React77__namespace.forwardRef(
6214
6286
  // Focus
6215
6287
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sui-border-highlight focus-visible:ring-offset-2 focus-visible:ring-offset-sui-bg-default",
6216
6288
  // Hover (not disabled)
6217
- !disabled && "hover:bg-sui-bg-state-secondary-hover cursor-pointer",
6289
+ !disabled && "[@media(hover:hover)]:hover:bg-sui-bg-state-secondary-hover cursor-pointer",
6218
6290
  // Drag-over state
6219
6291
  !disabled && isDragOver && "bg-sui-bg-state-secondary-hover",
6220
6292
  // Disabled
@@ -6301,7 +6373,7 @@ var progressBarVariants = classVarianceAuthority.cva(
6301
6373
  }
6302
6374
  );
6303
6375
  var SEGMENT_COUNT = 10;
6304
- var ProgressBar = React77__namespace.forwardRef(
6376
+ var ProgressBar = React78__namespace.forwardRef(
6305
6377
  (_a, ref) => {
6306
6378
  var _b = _a, {
6307
6379
  className,
@@ -6323,7 +6395,7 @@ var ProgressBar = React77__namespace.forwardRef(
6323
6395
  const clampedValue = Math.min(100, Math.max(0, value != null ? value : 0));
6324
6396
  const displayPercentage = `${Math.round(clampedValue)}%`;
6325
6397
  const filledSegments = Math.round(clampedValue / 100 * SEGMENT_COUNT);
6326
- const generatedId = React77__namespace.useId();
6398
+ const generatedId = React78__namespace.useId();
6327
6399
  const labelId = `${generatedId}-label`;
6328
6400
  return /* @__PURE__ */ jsxRuntime.jsxs(
6329
6401
  "div",
@@ -6341,7 +6413,7 @@ var ProgressBar = React77__namespace.forwardRef(
6341
6413
  children: labelText
6342
6414
  }
6343
6415
  ) }),
6344
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-1", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-normal leading-5 text-sui-text-muted", children: displayPercentage }) })
6416
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-1", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-normal leading-5 tabular-nums text-sui-text-muted", children: displayPercentage }) })
6345
6417
  ] }),
6346
6418
  variant === "dashed" ? (
6347
6419
  /* Dashed variant: 10 individual segments */
@@ -6409,7 +6481,7 @@ var statusLabel = {
6409
6481
  uploading: "Uploading...",
6410
6482
  failed: "Error"
6411
6483
  };
6412
- var FileUploadCard = React77__namespace.forwardRef(
6484
+ var FileUploadCard = React78__namespace.forwardRef(
6413
6485
  (_a, ref) => {
6414
6486
  var _b = _a, {
6415
6487
  className,
@@ -6621,7 +6693,7 @@ var lineColorMap = {
6621
6693
  warning: "bg-sui-bg-basic-orange-accent",
6622
6694
  error: "bg-sui-bg-basic-red-accent"
6623
6695
  };
6624
- var InlineTips = React77__namespace.forwardRef(
6696
+ var InlineTips = React78__namespace.forwardRef(
6625
6697
  (_a, ref) => {
6626
6698
  var _b = _a, {
6627
6699
  className,
@@ -6723,7 +6795,7 @@ function validateFile(file, accept, maxSize) {
6723
6795
  }
6724
6796
  return null;
6725
6797
  }
6726
- var FileUpload = React77__namespace.forwardRef(
6798
+ var FileUpload = React78__namespace.forwardRef(
6727
6799
  ({
6728
6800
  files = [],
6729
6801
  onFilesAdded,
@@ -6744,37 +6816,55 @@ var FileUpload = React77__namespace.forwardRef(
6744
6816
  icon,
6745
6817
  className
6746
6818
  }, ref) => {
6747
- const inputRef = React77__namespace.useRef(null);
6748
- const [errors, setErrors] = React77__namespace.useState([]);
6749
- const thumbnailCache = React77__namespace.useRef(/* @__PURE__ */ new Map());
6750
- React77__namespace.useEffect(() => {
6819
+ const inputRef = React78__namespace.useRef(null);
6820
+ const [errors, setErrors] = React78__namespace.useState([]);
6821
+ const [thumbnails, setThumbnails] = React78__namespace.useState(
6822
+ {}
6823
+ );
6824
+ const thumbnailsRef = React78__namespace.useRef(thumbnails);
6825
+ React78__namespace.useEffect(() => {
6826
+ thumbnailsRef.current = thumbnails;
6827
+ }, [thumbnails]);
6828
+ React78__namespace.useEffect(() => {
6751
6829
  if (!autoPreview) return;
6752
- const cache = thumbnailCache.current;
6753
- for (const f of files) {
6754
- if (!f.thumbnail && !cache.has(f.id)) {
6755
- const url = generateThumbnail(f.file);
6756
- if (url) cache.set(f.id, url);
6830
+ setThumbnails((prev) => {
6831
+ let next = prev;
6832
+ let changed = false;
6833
+ for (const f of files) {
6834
+ if (!f.thumbnail && !next[f.id]) {
6835
+ const url = generateThumbnail(f.file);
6836
+ if (url) {
6837
+ if (!changed) {
6838
+ next = __spreadValues({}, prev);
6839
+ changed = true;
6840
+ }
6841
+ next[f.id] = url;
6842
+ }
6843
+ }
6757
6844
  }
6758
- }
6759
- const currentIds = new Set(files.map((f) => f.id));
6760
- for (const [id, url] of cache) {
6761
- if (!currentIds.has(id)) {
6762
- URL.revokeObjectURL(url);
6763
- cache.delete(id);
6845
+ const currentIds = new Set(files.map((f) => f.id));
6846
+ for (const id of Object.keys(prev)) {
6847
+ if (!currentIds.has(id)) {
6848
+ URL.revokeObjectURL(prev[id]);
6849
+ if (!changed) {
6850
+ next = __spreadValues({}, prev);
6851
+ changed = true;
6852
+ }
6853
+ delete next[id];
6854
+ }
6764
6855
  }
6765
- }
6856
+ return changed ? next : prev;
6857
+ });
6766
6858
  }, [files, autoPreview]);
6767
- React77__namespace.useEffect(() => {
6768
- const cache = thumbnailCache.current;
6859
+ React78__namespace.useEffect(() => {
6769
6860
  return () => {
6770
- for (const url of cache.values()) {
6861
+ for (const url of Object.values(thumbnailsRef.current)) {
6771
6862
  URL.revokeObjectURL(url);
6772
6863
  }
6773
- cache.clear();
6774
6864
  };
6775
6865
  }, []);
6776
6866
  const resolvedDescription = description != null ? description : generateDescription(accept, maxSize, maxFiles);
6777
- const processFiles = React77__namespace.useCallback(
6867
+ const processFiles = React78__namespace.useCallback(
6778
6868
  (fileList) => {
6779
6869
  const newFiles = Array.from(fileList);
6780
6870
  const validationErrors = [];
@@ -6802,11 +6892,11 @@ var FileUpload = React77__namespace.forwardRef(
6802
6892
  },
6803
6893
  [files.length, maxFiles, accept, maxSize, onFilesAdded]
6804
6894
  );
6805
- const handleClick = React77__namespace.useCallback(() => {
6895
+ const handleClick = React78__namespace.useCallback(() => {
6806
6896
  var _a;
6807
6897
  (_a = inputRef.current) == null ? void 0 : _a.click();
6808
6898
  }, []);
6809
- const handleInputChange = React77__namespace.useCallback(
6899
+ const handleInputChange = React78__namespace.useCallback(
6810
6900
  (e) => {
6811
6901
  if (e.target.files && e.target.files.length > 0) {
6812
6902
  processFiles(e.target.files);
@@ -6815,7 +6905,7 @@ var FileUpload = React77__namespace.forwardRef(
6815
6905
  },
6816
6906
  [processFiles]
6817
6907
  );
6818
- const handleDrop = React77__namespace.useCallback(
6908
+ const handleDrop = React78__namespace.useCallback(
6819
6909
  (e) => {
6820
6910
  if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {
6821
6911
  processFiles(e.dataTransfer.files);
@@ -6823,10 +6913,10 @@ var FileUpload = React77__namespace.forwardRef(
6823
6913
  },
6824
6914
  [processFiles]
6825
6915
  );
6826
- const dismissError = React77__namespace.useCallback((index) => {
6916
+ const dismissError = React78__namespace.useCallback((index) => {
6827
6917
  setErrors((prev) => prev.filter((_, i) => i !== index));
6828
6918
  }, []);
6829
- const handlePaste = React77__namespace.useCallback(
6919
+ const handlePaste = React78__namespace.useCallback(
6830
6920
  (e) => {
6831
6921
  var _a;
6832
6922
  if (disabled || !pasteEnabled) return;
@@ -6847,7 +6937,7 @@ var FileUpload = React77__namespace.forwardRef(
6847
6937
  },
6848
6938
  [disabled, pasteEnabled, processFiles]
6849
6939
  );
6850
- const handleCancel = React77__namespace.useCallback(
6940
+ const handleCancel = React78__namespace.useCallback(
6851
6941
  (id) => {
6852
6942
  const uploadFile = files.find((f) => f.id === id);
6853
6943
  if (uploadFile == null ? void 0 : uploadFile.abortController) {
@@ -6923,7 +7013,7 @@ var FileUpload = React77__namespace.forwardRef(
6923
7013
  fileSize: formatBytes(uploadFile.file.size),
6924
7014
  state: uploadFile.state,
6925
7015
  size: cardSize,
6926
- thumbnail: (_a = uploadFile.thumbnail) != null ? _a : autoPreview ? thumbnailCache.current.get(uploadFile.id) : void 0,
7016
+ thumbnail: (_a = uploadFile.thumbnail) != null ? _a : autoPreview ? thumbnails[uploadFile.id] : void 0,
6927
7017
  progress: uploadFile.progress,
6928
7018
  onRemove: uploadFile.state === "uploading" && onCancel ? () => handleCancel(uploadFile.id) : onRemove ? () => onRemove(uploadFile.id) : void 0,
6929
7019
  onRetry: uploadFile.state === "failed" && onRetry ? () => onRetry(uploadFile.id) : void 0,
@@ -6964,7 +7054,7 @@ var ariaSortMap = {
6964
7054
  desc: "descending",
6965
7055
  none: "none"
6966
7056
  };
6967
- var GridTableHeaderItem = React77__namespace.forwardRef(
7057
+ var GridTableHeaderItem = React78__namespace.forwardRef(
6968
7058
  (_a, ref) => {
6969
7059
  var _b = _a, {
6970
7060
  className,
@@ -7066,7 +7156,7 @@ var gridTableRowVariants = classVarianceAuthority.cva(
7066
7156
  }
7067
7157
  }
7068
7158
  );
7069
- var GridTableRow = React77__namespace.forwardRef(
7159
+ var GridTableRow = React78__namespace.forwardRef(
7070
7160
  (_a, ref) => {
7071
7161
  var _b = _a, { className, variant = "default", children } = _b, props = __objRest(_b, ["className", "variant", "children"]);
7072
7162
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -7082,7 +7172,7 @@ var GridTableRow = React77__namespace.forwardRef(
7082
7172
  }
7083
7173
  );
7084
7174
  GridTableRow.displayName = "GridTableRow";
7085
- var GridTableCell = React77__namespace.forwardRef(
7175
+ var GridTableCell = React78__namespace.forwardRef(
7086
7176
  (_a, ref) => {
7087
7177
  var _b = _a, { className, bordered = true, children } = _b, props = __objRest(_b, ["className", "bordered", "children"]);
7088
7178
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -7126,7 +7216,7 @@ var gridTableSlotItemVariants = classVarianceAuthority.cva(
7126
7216
  }
7127
7217
  }
7128
7218
  );
7129
- var GridTableSlotItem = React77__namespace.forwardRef(
7219
+ var GridTableSlotItem = React78__namespace.forwardRef(
7130
7220
  (_a, ref) => {
7131
7221
  var _b = _a, {
7132
7222
  className,
@@ -7237,7 +7327,8 @@ var GridTableSlotItem = React77__namespace.forwardRef(
7237
7327
  );
7238
7328
  GridTableSlotItem.displayName = "GridTableSlotItem";
7239
7329
  var stepperNumberVariants = classVarianceAuthority.cva(
7240
- "relative flex items-center justify-center overflow-hidden rounded-full border border-sui-border-darker font-semibold shadow-default transition-colors duration-200",
7330
+ // tabular-nums keeps step counter from jiggling between numbers (Web Interface Guidelines #19)
7331
+ "relative flex items-center justify-center overflow-hidden rounded-full border border-sui-border-darker font-semibold tabular-nums shadow-default transition-colors duration-200",
7241
7332
  {
7242
7333
  variants: {
7243
7334
  size: {
@@ -7273,7 +7364,7 @@ var stepperNumberVariants = classVarianceAuthority.cva(
7273
7364
  }
7274
7365
  }
7275
7366
  );
7276
- var StepperNumber = React77__namespace.forwardRef(
7367
+ var StepperNumber = React78__namespace.forwardRef(
7277
7368
  (_a, ref) => {
7278
7369
  var _b = _a, { className, size, color, number = "1" } = _b, props = __objRest(_b, ["className", "size", "color", "number"]);
7279
7370
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -7312,7 +7403,7 @@ var stepperIconVariants = classVarianceAuthority.cva(
7312
7403
  }
7313
7404
  }
7314
7405
  );
7315
- var StepperIcon = React77__namespace.forwardRef(
7406
+ var StepperIcon = React78__namespace.forwardRef(
7316
7407
  (_a, ref) => {
7317
7408
  var _b = _a, { className, variant = "dot-large", icon } = _b, props = __objRest(_b, ["className", "variant", "icon"]);
7318
7409
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -7366,7 +7457,7 @@ function ConnectorLine({ success }) {
7366
7457
  }
7367
7458
  );
7368
7459
  }
7369
- var HorizontalStepperItem = React77__namespace.forwardRef(
7460
+ var HorizontalStepperItem = React78__namespace.forwardRef(
7370
7461
  (_a, ref) => {
7371
7462
  var _b = _a, {
7372
7463
  className,
@@ -7491,7 +7582,7 @@ var HorizontalStepperItem = React77__namespace.forwardRef(
7491
7582
  }
7492
7583
  );
7493
7584
  HorizontalStepperItem.displayName = "HorizontalStepperItem";
7494
- var HorizontalStepper = React77__namespace.forwardRef(
7585
+ var HorizontalStepper = React78__namespace.forwardRef(
7495
7586
  (_a, ref) => {
7496
7587
  var _b = _a, {
7497
7588
  className,
@@ -7566,13 +7657,15 @@ var HorizontalStepper = React77__namespace.forwardRef(
7566
7657
  }
7567
7658
  );
7568
7659
  HorizontalStepper.displayName = "HorizontalStepper";
7569
- var Input = React77__namespace.forwardRef(
7660
+ var Input = React78__namespace.forwardRef(
7570
7661
  (_a, ref) => {
7571
- var _b = _a, { className, type } = _b, props = __objRest(_b, ["className", "type"]);
7662
+ var _b = _a, { className, type, spellCheck, autoComplete } = _b, props = __objRest(_b, ["className", "type", "spellCheck", "autoComplete"]);
7572
7663
  return /* @__PURE__ */ jsxRuntime.jsx(
7573
7664
  "input",
7574
7665
  __spreadValues({
7575
7666
  type,
7667
+ spellCheck: spellCheck != null ? spellCheck : false,
7668
+ autoComplete: autoComplete != null ? autoComplete : "off",
7576
7669
  className: cn(
7577
7670
  "flex h-10 w-full rounded-md border border-sui-border-darker bg-sui-bg-input px-3 py-2 text-base ring-offset-sui-bg-default file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-sui-text-default placeholder:text-sui-text-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sui-border-highlight focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:text-sui-text-hint disabled:pointer-events-none md:text-sm",
7578
7671
  className
@@ -7604,7 +7697,7 @@ var inputButtonVariants = classVarianceAuthority.cva(
7604
7697
  inputButtonStyle: {
7605
7698
  default: [
7606
7699
  "bg-sui-bg-state-ghost",
7607
- "hover:bg-sui-bg-state-ghost-hover",
7700
+ "[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover",
7608
7701
  "active:bg-sui-bg-state-ghost-press",
7609
7702
  "text-sui-text-default",
7610
7703
  "[&_i]:text-icon-default-muted [&_svg]:text-icon-default-muted",
@@ -7613,10 +7706,10 @@ var inputButtonVariants = classVarianceAuthority.cva(
7613
7706
  ],
7614
7707
  muted: [
7615
7708
  "bg-sui-bg-state-ghost",
7616
- "hover:bg-sui-bg-state-ghost-hover",
7709
+ "[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover",
7617
7710
  "active:bg-sui-bg-state-ghost-press",
7618
7711
  "text-sui-text-muted",
7619
- "hover:text-sui-text-default",
7712
+ "[@media(hover:hover)]:hover:text-sui-text-default",
7620
7713
  "[&_i]:text-icon-default-muted [&_svg]:text-icon-default-muted",
7621
7714
  "disabled:text-sui-text-hint",
7622
7715
  "[&:disabled_i]:text-icon-default-disabled [&:disabled_svg]:text-icon-default-disabled"
@@ -7624,7 +7717,7 @@ var inputButtonVariants = classVarianceAuthority.cva(
7624
7717
  inline: [
7625
7718
  "bg-transparent",
7626
7719
  "text-sui-text-muted",
7627
- "hover:text-sui-text-default",
7720
+ "[@media(hover:hover)]:hover:text-sui-text-default",
7628
7721
  "[&_i]:text-icon-default-muted [&_svg]:text-icon-default-muted",
7629
7722
  "disabled:text-sui-text-hint",
7630
7723
  "[&:disabled_i]:text-icon-default-disabled [&:disabled_svg]:text-icon-default-disabled"
@@ -7656,8 +7749,8 @@ var inputButtonVariants = classVarianceAuthority.cva(
7656
7749
  }
7657
7750
  }
7658
7751
  );
7659
- var iconOnlyHoverClasses = "hover:[&_i]:text-icon-default-subtle hover:[&_svg]:text-icon-default-subtle active:[&_i]:text-icon-default-subtle active:[&_svg]:text-icon-default-subtle";
7660
- var InputButton = React77__namespace.forwardRef(
7752
+ var iconOnlyHoverClasses = "[@media(hover:hover)]:hover:[&_i]:text-icon-default-subtle [@media(hover:hover)]:hover:[&_svg]:text-icon-default-subtle active:[&_i]:text-icon-default-subtle active:[&_svg]:text-icon-default-subtle";
7753
+ var InputButton = React78__namespace.forwardRef(
7661
7754
  (_a, ref) => {
7662
7755
  var _b = _a, {
7663
7756
  className,
@@ -7692,9 +7785,7 @@ var InputButton = React77__namespace.forwardRef(
7692
7785
  const isIconOnly = variant === "icon-only";
7693
7786
  const isShortcut = variant === "shortcut";
7694
7787
  const isTags = variant === "tags";
7695
- if (process.env.NODE_ENV !== "production" && isIconOnly && !props["aria-label"]) {
7696
- console.warn("InputButton: icon-only variant requires an `aria-label` for accessibility.");
7697
- }
7788
+ useDevWarnIconOnlyAriaLabel(isIconOnly, props["aria-label"], props["aria-labelledby"], "InputButton");
7698
7789
  const a11yProps = {};
7699
7790
  if (isShortcut && shortcutKey && !props["aria-keyshortcuts"]) {
7700
7791
  a11yProps["aria-keyshortcuts"] = shortcutKey;
@@ -7791,7 +7882,7 @@ var InputButton = React77__namespace.forwardRef(
7791
7882
  }
7792
7883
  );
7793
7884
  InputButton.displayName = "InputButton";
7794
- var InputStepper = React77__namespace.forwardRef(
7885
+ var InputStepper = React78__namespace.forwardRef(
7795
7886
  ({ onIncrement, onDecrement, disabled, className }, ref) => {
7796
7887
  return /* @__PURE__ */ jsxRuntime.jsxs(
7797
7888
  "div",
@@ -7812,7 +7903,7 @@ var InputStepper = React77__namespace.forwardRef(
7812
7903
  className: cn(
7813
7904
  "flex flex-1 w-full min-h-0 items-center justify-center",
7814
7905
  "transition-colors",
7815
- "hover:bg-sui-bg-state-ghost-hover active:bg-sui-bg-state-ghost-press",
7906
+ "[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover active:bg-sui-bg-state-ghost-press",
7816
7907
  "focus-visible:outline-none focus-visible:bg-sui-bg-state-ghost-hover",
7817
7908
  "disabled:pointer-events-none",
7818
7909
  disabled ? "[&_i]:text-icon-default-disabled [&_svg]:text-icon-default-disabled" : "[&_i]:text-icon-default-muted [&_svg]:text-icon-default-muted"
@@ -7834,7 +7925,7 @@ var InputStepper = React77__namespace.forwardRef(
7834
7925
  className: cn(
7835
7926
  "flex flex-1 w-full min-h-0 items-center justify-center",
7836
7927
  "transition-colors",
7837
- "hover:bg-sui-bg-state-ghost-hover active:bg-sui-bg-state-ghost-press",
7928
+ "[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover active:bg-sui-bg-state-ghost-press",
7838
7929
  "focus-visible:outline-none focus-visible:bg-sui-bg-state-ghost-hover",
7839
7930
  "disabled:pointer-events-none",
7840
7931
  disabled ? "[&_i]:text-icon-default-disabled [&_svg]:text-icon-default-disabled" : "[&_i]:text-icon-default-muted [&_svg]:text-icon-default-muted"
@@ -7848,7 +7939,7 @@ var InputStepper = React77__namespace.forwardRef(
7848
7939
  }
7849
7940
  );
7850
7941
  InputStepper.displayName = "InputStepper";
7851
- var NavigationMenu = React77__namespace.forwardRef((_a, ref) => {
7942
+ var NavigationMenu = React78__namespace.forwardRef((_a, ref) => {
7852
7943
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
7853
7944
  return /* @__PURE__ */ jsxRuntime.jsxs(
7854
7945
  NavigationMenuPrimitive__namespace.Root,
@@ -7867,7 +7958,7 @@ var NavigationMenu = React77__namespace.forwardRef((_a, ref) => {
7867
7958
  );
7868
7959
  });
7869
7960
  NavigationMenu.displayName = NavigationMenuPrimitive__namespace.Root.displayName;
7870
- var NavigationMenuList = React77__namespace.forwardRef((_a, ref) => {
7961
+ var NavigationMenuList = React78__namespace.forwardRef((_a, ref) => {
7871
7962
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7872
7963
  return /* @__PURE__ */ jsxRuntime.jsx(
7873
7964
  NavigationMenuPrimitive__namespace.List,
@@ -7883,9 +7974,9 @@ var NavigationMenuList = React77__namespace.forwardRef((_a, ref) => {
7883
7974
  NavigationMenuList.displayName = NavigationMenuPrimitive__namespace.List.displayName;
7884
7975
  var NavigationMenuItem = NavigationMenuPrimitive__namespace.Item;
7885
7976
  var navigationMenuTriggerStyle = classVarianceAuthority.cva(
7886
- "group inline-flex h-10 w-max items-center justify-center rounded-md bg-transparent px-4 py-2 text-sm font-medium text-sui-text-default transition-colors hover:bg-sui-bg-state-ghost-hover hover:text-sui-text-default focus:bg-sui-bg-state-ghost-hover focus:text-sui-text-default focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sui-border-highlight focus-visible:ring-offset-2 focus-visible:ring-offset-sui-bg-default disabled:text-sui-text-hint disabled:pointer-events-none data-[state=open]:text-sui-text-default data-[state=open]:bg-sui-bg-state-ghost-hover"
7977
+ "group inline-flex h-10 w-max items-center justify-center rounded-md bg-transparent px-4 py-2 text-sm font-medium text-sui-text-default transition-colors [@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover [@media(hover:hover)]:hover:text-sui-text-default focus:bg-sui-bg-state-ghost-hover focus:text-sui-text-default focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sui-border-highlight focus-visible:ring-offset-2 focus-visible:ring-offset-sui-bg-default disabled:text-sui-text-hint disabled:pointer-events-none data-[state=open]:text-sui-text-default data-[state=open]:bg-sui-bg-state-ghost-hover"
7887
7978
  );
7888
- var NavigationMenuTrigger = React77__namespace.forwardRef((_a, ref) => {
7979
+ var NavigationMenuTrigger = React78__namespace.forwardRef((_a, ref) => {
7889
7980
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
7890
7981
  return /* @__PURE__ */ jsxRuntime.jsxs(
7891
7982
  NavigationMenuPrimitive__namespace.Trigger,
@@ -7908,7 +7999,7 @@ var NavigationMenuTrigger = React77__namespace.forwardRef((_a, ref) => {
7908
7999
  );
7909
8000
  });
7910
8001
  NavigationMenuTrigger.displayName = NavigationMenuPrimitive__namespace.Trigger.displayName;
7911
- var NavigationMenuContent = React77__namespace.forwardRef((_a, ref) => {
8002
+ var NavigationMenuContent = React78__namespace.forwardRef((_a, ref) => {
7912
8003
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7913
8004
  return /* @__PURE__ */ jsxRuntime.jsx(
7914
8005
  NavigationMenuPrimitive__namespace.Content,
@@ -7923,7 +8014,7 @@ var NavigationMenuContent = React77__namespace.forwardRef((_a, ref) => {
7923
8014
  });
7924
8015
  NavigationMenuContent.displayName = NavigationMenuPrimitive__namespace.Content.displayName;
7925
8016
  var NavigationMenuLink = NavigationMenuPrimitive__namespace.Link;
7926
- var NavigationMenuViewport = React77__namespace.forwardRef((_a, ref) => {
8017
+ var NavigationMenuViewport = React78__namespace.forwardRef((_a, ref) => {
7927
8018
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7928
8019
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsxRuntime.jsx(
7929
8020
  NavigationMenuPrimitive__namespace.Viewport,
@@ -7937,7 +8028,7 @@ var NavigationMenuViewport = React77__namespace.forwardRef((_a, ref) => {
7937
8028
  ) });
7938
8029
  });
7939
8030
  NavigationMenuViewport.displayName = NavigationMenuPrimitive__namespace.Viewport.displayName;
7940
- var NavigationMenuIndicator = React77__namespace.forwardRef((_a, ref) => {
8031
+ var NavigationMenuIndicator = React78__namespace.forwardRef((_a, ref) => {
7941
8032
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7942
8033
  return /* @__PURE__ */ jsxRuntime.jsx(
7943
8034
  NavigationMenuPrimitive__namespace.Indicator,
@@ -7970,8 +8061,8 @@ var pageItemVariants = classVarianceAuthority.cva(
7970
8061
  "inline-flex items-center justify-center",
7971
8062
  "size-8 min-h-8 min-w-8",
7972
8063
  "rounded-sm overflow-clip cursor-pointer",
7973
- // Typography
7974
- "font-sans font-medium text-sm leading-5 text-center whitespace-nowrap",
8064
+ // Typography — tabular-nums keeps page numbers from jiggling as values change (Web Interface Guidelines #19)
8065
+ "font-sans font-medium text-sm leading-5 text-center whitespace-nowrap tabular-nums",
7975
8066
  // Default state
7976
8067
  "bg-sui-bg-state-ghost text-sui-text-hint",
7977
8068
  // Hover state
@@ -8008,7 +8099,7 @@ var activeDotClasses = [
8008
8099
  "bg-sui-bg-basic-blue-accent",
8009
8100
  "[@media(hover:hover)]:hover:bg-sui-bg-basic-blue-accent"
8010
8101
  ].join(" ");
8011
- var PageItem = React77__namespace.forwardRef(
8102
+ var PageItem = React78__namespace.forwardRef(
8012
8103
  (_a, ref) => {
8013
8104
  var _b = _a, { className, variant = "default", active = false, label = "0", disabled, asChild = false } = _b, props = __objRest(_b, ["className", "variant", "active", "label", "disabled", "asChild"]);
8014
8105
  const Comp = asChild ? reactSlot.Slot : "button";
@@ -8043,7 +8134,7 @@ var Pagination = (_a) => {
8043
8134
  );
8044
8135
  };
8045
8136
  Pagination.displayName = "Pagination";
8046
- var PaginationContent = React77__namespace.forwardRef((_a, ref) => {
8137
+ var PaginationContent = React78__namespace.forwardRef((_a, ref) => {
8047
8138
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8048
8139
  return /* @__PURE__ */ jsxRuntime.jsx(
8049
8140
  "ul",
@@ -8054,7 +8145,7 @@ var PaginationContent = React77__namespace.forwardRef((_a, ref) => {
8054
8145
  );
8055
8146
  });
8056
8147
  PaginationContent.displayName = "PaginationContent";
8057
- var PaginationItem = React77__namespace.forwardRef((_a, ref) => {
8148
+ var PaginationItem = React78__namespace.forwardRef((_a, ref) => {
8058
8149
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8059
8150
  return /* @__PURE__ */ jsxRuntime.jsx("li", __spreadValues({ ref, className: cn("", className) }, props));
8060
8151
  });
@@ -8175,7 +8266,7 @@ function getPageRange(currentPage, totalPages, maxVisible) {
8175
8266
  }
8176
8267
  return pages;
8177
8268
  }
8178
- var Paginator = React77__namespace.forwardRef(
8269
+ var Paginator = React78__namespace.forwardRef(
8179
8270
  (_a, ref) => {
8180
8271
  var _b = _a, {
8181
8272
  className,
@@ -8355,7 +8446,7 @@ var Paginator = React77__namespace.forwardRef(
8355
8446
  }
8356
8447
  );
8357
8448
  Paginator.displayName = "Paginator";
8358
- var Progress = React77__namespace.forwardRef((_a, ref) => {
8449
+ var Progress = React78__namespace.forwardRef((_a, ref) => {
8359
8450
  var _b = _a, { className, value } = _b, props = __objRest(_b, ["className", "value"]);
8360
8451
  return /* @__PURE__ */ jsxRuntime.jsx(
8361
8452
  ProgressPrimitive2__namespace.Root,
@@ -8405,7 +8496,7 @@ var arcStrokeVarMap = {
8405
8496
  success: "var(--text-success)",
8406
8497
  failed: "var(--text-destructive)"
8407
8498
  };
8408
- var RadialProgressBar = React77__namespace.forwardRef(
8499
+ var RadialProgressBar = React78__namespace.forwardRef(
8409
8500
  (_a, ref) => {
8410
8501
  var _b = _a, {
8411
8502
  className,
@@ -8507,7 +8598,8 @@ var RadialProgressBar = React77__namespace.forwardRef(
8507
8598
  {
8508
8599
  "aria-hidden": "true",
8509
8600
  className: cn(
8510
- "absolute text-sm font-medium leading-5 text-center select-none",
8601
+ // tabular-nums keeps percentage from jiggling as value changes (Web Interface Guidelines #19)
8602
+ "absolute text-sm font-medium leading-5 tabular-nums text-center select-none",
8511
8603
  textVariantMap[variant != null ? variant : "default"],
8512
8604
  isHalf ? "bottom-0" : ""
8513
8605
  ),
@@ -8524,7 +8616,7 @@ var RadialProgressBar = React77__namespace.forwardRef(
8524
8616
  }
8525
8617
  );
8526
8618
  RadialProgressBar.displayName = "RadialProgressBar";
8527
- var RadioGroup2 = React77__namespace.forwardRef((_a, ref) => {
8619
+ var RadioGroup2 = React78__namespace.forwardRef((_a, ref) => {
8528
8620
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8529
8621
  return /* @__PURE__ */ jsxRuntime.jsx(
8530
8622
  RadioGroupPrimitive__namespace.Root,
@@ -8551,10 +8643,10 @@ var radioButtonVariants = classVarianceAuthority.cva(
8551
8643
  "data-[state=checked]:bg-sui-bg-checkbox-active",
8552
8644
  "data-[state=checked]:border-sui-bg-checkbox-active",
8553
8645
  // Hover unchecked: stronger border
8554
- "hover:data-[state=unchecked]:border-sui-border-strong",
8646
+ "[@media(hover:hover)]:hover:data-[state=unchecked]:border-sui-border-strong",
8555
8647
  // Hover checked: hover bg + matching border
8556
- "hover:data-[state=checked]:bg-sui-bg-checkbox-active-hover",
8557
- "hover:data-[state=checked]:border-sui-bg-checkbox-active-hover",
8648
+ "[@media(hover:hover)]:hover:data-[state=checked]:bg-sui-bg-checkbox-active-hover",
8649
+ "[@media(hover:hover)]:hover:data-[state=checked]:border-sui-bg-checkbox-active-hover",
8558
8650
  // Focus ring (Figma: 1px accent-inverted + 3px highlight)
8559
8651
  "focus-visible:outline-none",
8560
8652
  "focus-visible:shadow-misc-focus",
@@ -8584,7 +8676,7 @@ var radioButtonVariants = classVarianceAuthority.cva(
8584
8676
  }
8585
8677
  }
8586
8678
  );
8587
- var RadioButton = React77__namespace.forwardRef((_a, ref) => {
8679
+ var RadioButton = React78__namespace.forwardRef((_a, ref) => {
8588
8680
  var _b = _a, { className, variant } = _b, props = __objRest(_b, ["className", "variant"]);
8589
8681
  return /* @__PURE__ */ jsxRuntime.jsxs(
8590
8682
  RadioGroupPrimitive__namespace.Item,
@@ -8624,7 +8716,7 @@ var RadioButton = React77__namespace.forwardRef((_a, ref) => {
8624
8716
  );
8625
8717
  });
8626
8718
  RadioButton.displayName = "RadioButton";
8627
- var RadioCardGroup = React77__namespace.forwardRef((_a, ref) => {
8719
+ var RadioCardGroup = React78__namespace.forwardRef((_a, ref) => {
8628
8720
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8629
8721
  return /* @__PURE__ */ jsxRuntime.jsx(
8630
8722
  RadioGroupPrimitive__namespace.Root,
@@ -8673,7 +8765,7 @@ var radioButtonCardVariants = classVarianceAuthority.cva(
8673
8765
  }
8674
8766
  }
8675
8767
  );
8676
- var RadioButtonCard = React77__namespace.forwardRef(
8768
+ var RadioButtonCard = React78__namespace.forwardRef(
8677
8769
  ({
8678
8770
  title,
8679
8771
  description,
@@ -8687,7 +8779,7 @@ var RadioButtonCard = React77__namespace.forwardRef(
8687
8779
  disabled = false,
8688
8780
  className
8689
8781
  }, ref) => {
8690
- const generatedId = React77__namespace.useId();
8782
+ const generatedId = React78__namespace.useId();
8691
8783
  const titleId = `radio-card-title-${generatedId}`;
8692
8784
  const descriptionId = `radio-card-desc-${generatedId}`;
8693
8785
  const isHorizontal = layout === "horizontal";
@@ -8795,9 +8887,9 @@ var RadioButtonCard = React77__namespace.forwardRef(
8795
8887
  }
8796
8888
  );
8797
8889
  RadioButtonCard.displayName = "RadioButtonCard";
8798
- var RadioButtonList = React77__namespace.forwardRef(
8890
+ var RadioButtonList = React78__namespace.forwardRef(
8799
8891
  ({ className, divider = true, value, defaultValue, onValueChange, disabled, children }, ref) => {
8800
- const items = React77__namespace.Children.toArray(children);
8892
+ const items = React78__namespace.Children.toArray(children);
8801
8893
  return /* @__PURE__ */ jsxRuntime.jsx(
8802
8894
  RadioGroup2,
8803
8895
  {
@@ -8841,7 +8933,7 @@ var radioButtonWithTextVariants = classVarianceAuthority.cva(
8841
8933
  }
8842
8934
  }
8843
8935
  );
8844
- var RadioButtonWithText = React77__namespace.forwardRef(
8936
+ var RadioButtonWithText = React78__namespace.forwardRef(
8845
8937
  ({
8846
8938
  label,
8847
8939
  description,
@@ -8852,7 +8944,7 @@ var RadioButtonWithText = React77__namespace.forwardRef(
8852
8944
  className,
8853
8945
  id
8854
8946
  }, ref) => {
8855
- const generatedId = React77__namespace.useId();
8947
+ const generatedId = React78__namespace.useId();
8856
8948
  const radioId = id || generatedId;
8857
8949
  return /* @__PURE__ */ jsxRuntime.jsxs(
8858
8950
  "div",
@@ -8907,7 +8999,7 @@ var RadioButtonWithText = React77__namespace.forwardRef(
8907
8999
  }
8908
9000
  );
8909
9001
  RadioButtonWithText.displayName = "RadioButtonWithText";
8910
- var ScrollArea = React77__namespace.forwardRef((_a, ref) => {
9002
+ var ScrollArea = React78__namespace.forwardRef((_a, ref) => {
8911
9003
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
8912
9004
  return /* @__PURE__ */ jsxRuntime.jsxs(
8913
9005
  ScrollAreaPrimitive__namespace.Root,
@@ -8924,7 +9016,7 @@ var ScrollArea = React77__namespace.forwardRef((_a, ref) => {
8924
9016
  );
8925
9017
  });
8926
9018
  ScrollArea.displayName = ScrollAreaPrimitive__namespace.Root.displayName;
8927
- var ScrollBar = React77__namespace.forwardRef((_a, ref) => {
9019
+ var ScrollBar = React78__namespace.forwardRef((_a, ref) => {
8928
9020
  var _b = _a, { className, orientation = "vertical" } = _b, props = __objRest(_b, ["className", "orientation"]);
8929
9021
  return /* @__PURE__ */ jsxRuntime.jsx(
8930
9022
  ScrollAreaPrimitive__namespace.ScrollAreaScrollbar,
@@ -8946,7 +9038,7 @@ ScrollBar.displayName = ScrollAreaPrimitive__namespace.ScrollAreaScrollbar.displ
8946
9038
  var Select = SelectPrimitive__namespace.Root;
8947
9039
  var SelectGroup = SelectPrimitive__namespace.Group;
8948
9040
  var SelectValue = SelectPrimitive__namespace.Value;
8949
- var SelectTrigger = React77__namespace.forwardRef((_a, ref) => {
9041
+ var SelectTrigger = React78__namespace.forwardRef((_a, ref) => {
8950
9042
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
8951
9043
  return /* @__PURE__ */ jsxRuntime.jsxs(
8952
9044
  SelectPrimitive__namespace.Trigger,
@@ -8969,7 +9061,7 @@ var SelectTrigger = React77__namespace.forwardRef((_a, ref) => {
8969
9061
  );
8970
9062
  });
8971
9063
  SelectTrigger.displayName = SelectPrimitive__namespace.Trigger.displayName;
8972
- var SelectScrollUpButton = React77__namespace.forwardRef((_a, ref) => {
9064
+ var SelectScrollUpButton = React78__namespace.forwardRef((_a, ref) => {
8973
9065
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8974
9066
  return /* @__PURE__ */ jsxRuntime.jsx(
8975
9067
  SelectPrimitive__namespace.ScrollUpButton,
@@ -8985,7 +9077,7 @@ var SelectScrollUpButton = React77__namespace.forwardRef((_a, ref) => {
8985
9077
  );
8986
9078
  });
8987
9079
  SelectScrollUpButton.displayName = SelectPrimitive__namespace.ScrollUpButton.displayName;
8988
- var SelectScrollDownButton = React77__namespace.forwardRef((_a, ref) => {
9080
+ var SelectScrollDownButton = React78__namespace.forwardRef((_a, ref) => {
8989
9081
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8990
9082
  return /* @__PURE__ */ jsxRuntime.jsx(
8991
9083
  SelectPrimitive__namespace.ScrollDownButton,
@@ -9001,7 +9093,7 @@ var SelectScrollDownButton = React77__namespace.forwardRef((_a, ref) => {
9001
9093
  );
9002
9094
  });
9003
9095
  SelectScrollDownButton.displayName = SelectPrimitive__namespace.ScrollDownButton.displayName;
9004
- var SelectContent = React77__namespace.forwardRef((_a, ref) => {
9096
+ var SelectContent = React78__namespace.forwardRef((_a, ref) => {
9005
9097
  var _b = _a, { className, children, position = "popper" } = _b, props = __objRest(_b, ["className", "children", "position"]);
9006
9098
  return /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
9007
9099
  SelectPrimitive__namespace.Content,
@@ -9034,7 +9126,7 @@ var SelectContent = React77__namespace.forwardRef((_a, ref) => {
9034
9126
  ) });
9035
9127
  });
9036
9128
  SelectContent.displayName = SelectPrimitive__namespace.Content.displayName;
9037
- var SelectLabel = React77__namespace.forwardRef((_a, ref) => {
9129
+ var SelectLabel = React78__namespace.forwardRef((_a, ref) => {
9038
9130
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
9039
9131
  return /* @__PURE__ */ jsxRuntime.jsx(
9040
9132
  SelectPrimitive__namespace.Label,
@@ -9048,7 +9140,7 @@ var SelectLabel = React77__namespace.forwardRef((_a, ref) => {
9048
9140
  );
9049
9141
  });
9050
9142
  SelectLabel.displayName = SelectPrimitive__namespace.Label.displayName;
9051
- var SelectItem = React77__namespace.forwardRef((_a, ref) => {
9143
+ var SelectItem = React78__namespace.forwardRef((_a, ref) => {
9052
9144
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
9053
9145
  return /* @__PURE__ */ jsxRuntime.jsxs(
9054
9146
  SelectPrimitive__namespace.Item,
@@ -9073,7 +9165,7 @@ var SelectItem = React77__namespace.forwardRef((_a, ref) => {
9073
9165
  );
9074
9166
  });
9075
9167
  SelectItem.displayName = SelectPrimitive__namespace.Item.displayName;
9076
- var SelectSeparator = React77__namespace.forwardRef((_a, ref) => {
9168
+ var SelectSeparator = React78__namespace.forwardRef((_a, ref) => {
9077
9169
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
9078
9170
  return /* @__PURE__ */ jsxRuntime.jsx(
9079
9171
  SelectPrimitive__namespace.Separator,
@@ -9084,7 +9176,7 @@ var SelectSeparator = React77__namespace.forwardRef((_a, ref) => {
9084
9176
  );
9085
9177
  });
9086
9178
  SelectSeparator.displayName = SelectPrimitive__namespace.Separator.displayName;
9087
- var SelectMenu = React77__namespace.forwardRef(
9179
+ var SelectMenu = React78__namespace.forwardRef(
9088
9180
  (_a, ref) => {
9089
9181
  var _b = _a, {
9090
9182
  className,
@@ -9115,19 +9207,19 @@ var SelectMenu = React77__namespace.forwardRef(
9115
9207
  ]);
9116
9208
  var _a2;
9117
9209
  const indicator = selectType === "checkbox" ? "checkbox" : selectType === "radio" ? "radio" : selectType === "default" ? "checkmark" : "none";
9118
- const hasChildren = React77__namespace.Children.count(children) > 0;
9119
- const generatedId = React77__namespace.useId();
9210
+ const hasChildren = React78__namespace.Children.count(children) > 0;
9211
+ const generatedId = React78__namespace.useId();
9120
9212
  const listId = `${generatedId}-list`;
9121
- const listRef = React77__namespace.useRef(null);
9122
- const [activeIndex, setActiveIndex] = React77__namespace.useState(-1);
9213
+ const listRef = React78__namespace.useRef(null);
9214
+ const [activeIndex, setActiveIndex] = React78__namespace.useState(-1);
9123
9215
  const activeItemId = activeIndex >= 0 ? `${listId}-item-${activeIndex}` : void 0;
9124
- const getItems = React77__namespace.useCallback(() => {
9216
+ const getItems = React78__namespace.useCallback(() => {
9125
9217
  if (!listRef.current) return [];
9126
9218
  return Array.from(
9127
9219
  listRef.current.querySelectorAll('[role="option"]')
9128
9220
  );
9129
9221
  }, []);
9130
- const handleKeyDown = React77__namespace.useCallback(
9222
+ const handleKeyDown = React78__namespace.useCallback(
9131
9223
  (e) => {
9132
9224
  var _a3;
9133
9225
  const items = getItems();
@@ -9210,8 +9302,8 @@ var SelectMenu = React77__namespace.forwardRef(
9210
9302
  "focus-visible:outline-none"
9211
9303
  ),
9212
9304
  style: listMaxHeight ? { maxHeight: listMaxHeight } : void 0,
9213
- children: hasChildren ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col px-1", role: "presentation", children: React77__namespace.Children.map(children, (child, index) => {
9214
- if (React77__namespace.isValidElement(child) && child.type.displayName === "SelectMenuItem") {
9305
+ children: hasChildren ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col px-1", role: "presentation", children: React78__namespace.Children.map(children, (child, index) => {
9306
+ if (React78__namespace.isValidElement(child) && child.type.displayName === "SelectMenuItem") {
9215
9307
  const itemProps = child.props;
9216
9308
  const overrides = {};
9217
9309
  if (indicator !== "none" && itemProps.indicator === void 0) {
@@ -9228,7 +9320,7 @@ var SelectMenu = React77__namespace.forwardRef(
9228
9320
  overrides["data-active"] = "true";
9229
9321
  }
9230
9322
  if (Object.keys(overrides).length > 0) {
9231
- return React77__namespace.cloneElement(
9323
+ return React78__namespace.cloneElement(
9232
9324
  child,
9233
9325
  overrides
9234
9326
  );
@@ -9253,7 +9345,7 @@ var SelectMenu = React77__namespace.forwardRef(
9253
9345
  }
9254
9346
  );
9255
9347
  SelectMenu.displayName = "SelectMenu";
9256
- var SelectMenuFooterButton = React77__namespace.forwardRef((_a, ref) => {
9348
+ var SelectMenuFooterButton = React78__namespace.forwardRef((_a, ref) => {
9257
9349
  var _b = _a, { className, icon = "ri-add-line", children = "Add new", disabled } = _b, props = __objRest(_b, ["className", "icon", "children", "disabled"]);
9258
9350
  return /* @__PURE__ */ jsxRuntime.jsxs(
9259
9351
  "button",
@@ -9267,7 +9359,7 @@ var SelectMenuFooterButton = React77__namespace.forwardRef((_a, ref) => {
9267
9359
  "px-2.5 py-2",
9268
9360
  // Colors
9269
9361
  "bg-sui-bg-state-ghost",
9270
- "hover:bg-sui-bg-state-ghost-hover",
9362
+ "[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover",
9271
9363
  "active:bg-sui-bg-state-ghost-press",
9272
9364
  "text-sm font-medium leading-5 text-sui-text-default",
9273
9365
  "[&_i]:text-icon-default-muted [&_svg]:text-icon-default-muted",
@@ -9296,7 +9388,7 @@ var SelectMenuFooterButton = React77__namespace.forwardRef((_a, ref) => {
9296
9388
  );
9297
9389
  });
9298
9390
  SelectMenuFooterButton.displayName = "SelectMenuFooterButton";
9299
- var SelectInput = React77__namespace.forwardRef(
9391
+ var SelectInput = React78__namespace.forwardRef(
9300
9392
  ({
9301
9393
  label,
9302
9394
  required,
@@ -9328,10 +9420,10 @@ var SelectInput = React77__namespace.forwardRef(
9328
9420
  footer,
9329
9421
  className
9330
9422
  }, ref) => {
9331
- const [internalOpen, setInternalOpen] = React77__namespace.useState(false);
9423
+ const [internalOpen, setInternalOpen] = React78__namespace.useState(false);
9332
9424
  const isControlled = controlledOpen !== void 0;
9333
9425
  const isOpen = isControlled ? controlledOpen : internalOpen;
9334
- const handleOpenChange = React77__namespace.useCallback(
9426
+ const handleOpenChange = React78__namespace.useCallback(
9335
9427
  (next) => {
9336
9428
  if (disabled) return;
9337
9429
  if (!isControlled) setInternalOpen(next);
@@ -9339,7 +9431,7 @@ var SelectInput = React77__namespace.forwardRef(
9339
9431
  },
9340
9432
  [disabled, isControlled, onOpenChange]
9341
9433
  );
9342
- const generatedId = React77__namespace.useId();
9434
+ const generatedId = React78__namespace.useId();
9343
9435
  const hasError = !!error;
9344
9436
  const helperText = hasError ? error : caption;
9345
9437
  const hasTags = tags && tags.length > 0;
@@ -9366,7 +9458,6 @@ var SelectInput = React77__namespace.forwardRef(
9366
9458
  "aria-expanded": isOpen,
9367
9459
  "aria-haspopup": "listbox",
9368
9460
  "aria-controls": `${generatedId}-listbox`,
9369
- "aria-multiselectable": multiSelect || void 0,
9370
9461
  "aria-invalid": hasError || void 0,
9371
9462
  "aria-describedby": helperText ? `${generatedId}-caption` : void 0,
9372
9463
  disabled,
@@ -9384,8 +9475,8 @@ var SelectInput = React77__namespace.forwardRef(
9384
9475
  // Padding
9385
9476
  "px-2",
9386
9477
  // Hover
9387
- !isSoft && "hover:border-sui-border-strong",
9388
- isSoft && "hover:bg-sui-bg-input-soft",
9478
+ !isSoft && "[@media(hover:hover)]:hover:border-sui-border-strong",
9479
+ isSoft && "[@media(hover:hover)]:hover:bg-sui-bg-input-soft",
9389
9480
  // Focus / Open
9390
9481
  "data-[state=open]:bg-sui-bg-input data-[state=open]:shadow-input-focus",
9391
9482
  "focus-visible:outline-none focus-visible:shadow-input-focus",
@@ -9396,7 +9487,7 @@ var SelectInput = React77__namespace.forwardRef(
9396
9487
  hasError && "data-[state=open]:shadow-destructive-focus",
9397
9488
  // Disabled
9398
9489
  disabled && "bg-sui-bg-input-disabled shadow-none cursor-not-allowed",
9399
- disabled && !isSoft && "border-sui-border-default hover:border-sui-border-default",
9490
+ disabled && !isSoft && "border-sui-border-default [@media(hover:hover)]:hover:border-sui-border-default",
9400
9491
  disabled && isSoft && "border-sui-border-default"
9401
9492
  ),
9402
9493
  children: [
@@ -9419,7 +9510,7 @@ var SelectInput = React77__namespace.forwardRef(
9419
9510
  children: leadIcon
9420
9511
  }
9421
9512
  ) : null,
9422
- hasTags ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex min-w-0 flex-1 items-center gap-1 overflow-hidden", children: tags.map((tag, i) => /* @__PURE__ */ jsxRuntime.jsxs(React77__namespace.Fragment, { children: [
9513
+ hasTags ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex min-w-0 flex-1 items-center gap-1 overflow-hidden", children: tags.map((tag, i) => /* @__PURE__ */ jsxRuntime.jsxs(React78__namespace.Fragment, { children: [
9423
9514
  i > 0 && /* @__PURE__ */ jsxRuntime.jsx(
9424
9515
  "span",
9425
9516
  {
@@ -9482,6 +9573,8 @@ var SelectInput = React77__namespace.forwardRef(
9482
9573
  PopoverPrimitive__namespace.Content,
9483
9574
  __spreadProps(__spreadValues({
9484
9575
  id: `${generatedId}-listbox`,
9576
+ role: "listbox",
9577
+ "aria-multiselectable": multiSelect || void 0,
9485
9578
  align: "start",
9486
9579
  sideOffset: 6,
9487
9580
  className: cn(
@@ -9534,7 +9627,7 @@ var SelectInput = React77__namespace.forwardRef(
9534
9627
  }
9535
9628
  );
9536
9629
  SelectInput.displayName = "SelectInput";
9537
- var SelectMenuItem = React77__namespace.forwardRef(
9630
+ var SelectMenuItem = React78__namespace.forwardRef(
9538
9631
  (_a, ref) => {
9539
9632
  var _b = _a, {
9540
9633
  className,
@@ -9570,7 +9663,7 @@ var SelectMenuItem = React77__namespace.forwardRef(
9570
9663
  // Layout
9571
9664
  "group relative flex w-full cursor-default select-none items-center gap-1.5 rounded-xs p-1.5 text-sm outline-none transition-colors",
9572
9665
  // Hover / Active (keyboard navigation)
9573
- "hover:bg-sui-bg-state-ghost-hover",
9666
+ "[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover",
9574
9667
  "data-[active=true]:bg-sui-bg-state-ghost-hover",
9575
9668
  // Focus
9576
9669
  "focus-visible:bg-sui-bg-state-ghost-hover focus-visible:outline-none",
@@ -9698,7 +9791,7 @@ var SelectMenuItem = React77__namespace.forwardRef(
9698
9791
  }
9699
9792
  );
9700
9793
  SelectMenuItem.displayName = "SelectMenuItem";
9701
- var SelectMenuLabel = React77__namespace.forwardRef(
9794
+ var SelectMenuLabel = React78__namespace.forwardRef(
9702
9795
  (_a, ref) => {
9703
9796
  var _b = _a, { className, caption, children } = _b, props = __objRest(_b, ["className", "caption", "children"]);
9704
9797
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -9720,7 +9813,7 @@ var SelectMenuLabel = React77__namespace.forwardRef(
9720
9813
  }
9721
9814
  );
9722
9815
  SelectMenuLabel.displayName = "SelectMenuLabel";
9723
- var SelectMenuDescription = React77__namespace.forwardRef((_a, ref) => {
9816
+ var SelectMenuDescription = React78__namespace.forwardRef((_a, ref) => {
9724
9817
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
9725
9818
  return /* @__PURE__ */ jsxRuntime.jsx(
9726
9819
  "p",
@@ -9734,7 +9827,7 @@ var SelectMenuDescription = React77__namespace.forwardRef((_a, ref) => {
9734
9827
  );
9735
9828
  });
9736
9829
  SelectMenuDescription.displayName = "SelectMenuDescription";
9737
- var SelectMenuSeparator = React77__namespace.forwardRef((_a, ref) => {
9830
+ var SelectMenuSeparator = React78__namespace.forwardRef((_a, ref) => {
9738
9831
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
9739
9832
  return /* @__PURE__ */ jsxRuntime.jsx(
9740
9833
  "div",
@@ -9746,7 +9839,7 @@ var SelectMenuSeparator = React77__namespace.forwardRef((_a, ref) => {
9746
9839
  );
9747
9840
  });
9748
9841
  SelectMenuSeparator.displayName = "SelectMenuSeparator";
9749
- var SelectMenuLargeItem = React77__namespace.forwardRef(
9842
+ var SelectMenuLargeItem = React78__namespace.forwardRef(
9750
9843
  (_a, ref) => {
9751
9844
  var _b = _a, {
9752
9845
  className,
@@ -9776,7 +9869,7 @@ var SelectMenuLargeItem = React77__namespace.forwardRef(
9776
9869
  disabled,
9777
9870
  className: cn(
9778
9871
  "group relative flex w-full cursor-default select-none items-center rounded-xs px-2 py-1.5 outline-none transition-colors",
9779
- "hover:bg-sui-bg-state-ghost-hover",
9872
+ "[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover",
9780
9873
  "focus-visible:bg-sui-bg-state-ghost-hover focus-visible:outline-none",
9781
9874
  "disabled:pointer-events-none",
9782
9875
  className
@@ -9842,7 +9935,7 @@ var SelectMenuLargeItem = React77__namespace.forwardRef(
9842
9935
  }
9843
9936
  );
9844
9937
  SelectMenuLargeItem.displayName = "SelectMenuLargeItem";
9845
- var Separator3 = React77__namespace.forwardRef(
9938
+ var Separator3 = React78__namespace.forwardRef(
9846
9939
  (_a, ref) => {
9847
9940
  var _b = _a, { className, orientation = "horizontal", decorative = true } = _b, props = __objRest(_b, ["className", "orientation", "decorative"]);
9848
9941
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -9865,7 +9958,7 @@ var Sheet = DialogPrimitive__namespace.Root;
9865
9958
  var SheetTrigger = DialogPrimitive__namespace.Trigger;
9866
9959
  var SheetClose = DialogPrimitive__namespace.Close;
9867
9960
  var SheetPortal = DialogPrimitive__namespace.Portal;
9868
- var SheetOverlay = React77__namespace.forwardRef((_a, ref) => {
9961
+ var SheetOverlay = React78__namespace.forwardRef((_a, ref) => {
9869
9962
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
9870
9963
  return /* @__PURE__ */ jsxRuntime.jsx(
9871
9964
  DialogPrimitive__namespace.Overlay,
@@ -9896,7 +9989,7 @@ var sheetVariants = classVarianceAuthority.cva(
9896
9989
  }
9897
9990
  }
9898
9991
  );
9899
- var SheetContent = React77__namespace.forwardRef((_a, ref) => {
9992
+ var SheetContent = React78__namespace.forwardRef((_a, ref) => {
9900
9993
  var _b = _a, { side = "right", className, children } = _b, props = __objRest(_b, ["side", "className", "children"]);
9901
9994
  return /* @__PURE__ */ jsxRuntime.jsxs(SheetPortal, { children: [
9902
9995
  /* @__PURE__ */ jsxRuntime.jsx(SheetOverlay, {}),
@@ -9908,7 +10001,7 @@ var SheetContent = React77__namespace.forwardRef((_a, ref) => {
9908
10001
  }, props), {
9909
10002
  children: [
9910
10003
  children,
9911
- /* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-sui-bg-default transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-sui-border-highlight focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-sui-bg-state-ghost-hover", children: [
10004
+ /* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-sui-bg-default transition-opacity [@media(hover:hover)]:hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-sui-border-highlight focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-sui-bg-state-ghost-hover", children: [
9912
10005
  /* @__PURE__ */ jsxRuntime.jsx("i", { className: "ri-close-line text-base", "aria-hidden": true }),
9913
10006
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
9914
10007
  ] })
@@ -9952,7 +10045,7 @@ var SheetFooter = (_a) => {
9952
10045
  );
9953
10046
  };
9954
10047
  SheetFooter.displayName = "SheetFooter";
9955
- var SheetTitle = React77__namespace.forwardRef((_a, ref) => {
10048
+ var SheetTitle = React78__namespace.forwardRef((_a, ref) => {
9956
10049
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
9957
10050
  return /* @__PURE__ */ jsxRuntime.jsx(
9958
10051
  DialogPrimitive__namespace.Title,
@@ -9963,7 +10056,7 @@ var SheetTitle = React77__namespace.forwardRef((_a, ref) => {
9963
10056
  );
9964
10057
  });
9965
10058
  SheetTitle.displayName = DialogPrimitive__namespace.Title.displayName;
9966
- var SheetDescription = React77__namespace.forwardRef((_a, ref) => {
10059
+ var SheetDescription = React78__namespace.forwardRef((_a, ref) => {
9967
10060
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
9968
10061
  return /* @__PURE__ */ jsxRuntime.jsx(
9969
10062
  DialogPrimitive__namespace.Description,
@@ -9976,8 +10069,8 @@ var SheetDescription = React77__namespace.forwardRef((_a, ref) => {
9976
10069
  SheetDescription.displayName = DialogPrimitive__namespace.Description.displayName;
9977
10070
  var MOBILE_BREAKPOINT = 768;
9978
10071
  function useIsMobile() {
9979
- const [isMobile, setIsMobile] = React77__namespace.useState(void 0);
9980
- React77__namespace.useEffect(() => {
10072
+ const [isMobile, setIsMobile] = React78__namespace.useState(void 0);
10073
+ React78__namespace.useEffect(() => {
9981
10074
  const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
9982
10075
  const onChange = () => {
9983
10076
  setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
@@ -10007,15 +10100,15 @@ var SIDEBAR_WIDTH = "16rem";
10007
10100
  var SIDEBAR_WIDTH_MOBILE = "18rem";
10008
10101
  var SIDEBAR_WIDTH_ICON = "3rem";
10009
10102
  var SIDEBAR_KEYBOARD_SHORTCUT = "b";
10010
- var SidebarContext = React77__namespace.createContext(null);
10103
+ var SidebarContext = React78__namespace.createContext(null);
10011
10104
  function useSidebar() {
10012
- const context = React77__namespace.useContext(SidebarContext);
10105
+ const context = React78__namespace.useContext(SidebarContext);
10013
10106
  if (!context) {
10014
10107
  throw new Error("useSidebar must be used within a SidebarProvider.");
10015
10108
  }
10016
10109
  return context;
10017
10110
  }
10018
- var SidebarProvider = React77__namespace.forwardRef(
10111
+ var SidebarProvider = React78__namespace.forwardRef(
10019
10112
  (_a, ref) => {
10020
10113
  var _b = _a, {
10021
10114
  defaultOpen = true,
@@ -10033,10 +10126,10 @@ var SidebarProvider = React77__namespace.forwardRef(
10033
10126
  "children"
10034
10127
  ]);
10035
10128
  const isMobile = useIsMobile();
10036
- const [openMobile, setOpenMobile] = React77__namespace.useState(false);
10037
- const [_open, _setOpen] = React77__namespace.useState(defaultOpen);
10129
+ const [openMobile, setOpenMobile] = React78__namespace.useState(false);
10130
+ const [_open, _setOpen] = React78__namespace.useState(defaultOpen);
10038
10131
  const open = openProp != null ? openProp : _open;
10039
- const setOpen = React77__namespace.useCallback(
10132
+ const setOpen = React78__namespace.useCallback(
10040
10133
  (value) => {
10041
10134
  const openState = typeof value === "function" ? value(open) : value;
10042
10135
  if (setOpenProp) {
@@ -10048,10 +10141,10 @@ var SidebarProvider = React77__namespace.forwardRef(
10048
10141
  },
10049
10142
  [setOpenProp, open]
10050
10143
  );
10051
- const toggleSidebar = React77__namespace.useCallback(() => {
10144
+ const toggleSidebar = React78__namespace.useCallback(() => {
10052
10145
  return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
10053
10146
  }, [isMobile, setOpen, setOpenMobile]);
10054
- React77__namespace.useEffect(() => {
10147
+ React78__namespace.useEffect(() => {
10055
10148
  const handleKeyDown = (event) => {
10056
10149
  if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
10057
10150
  event.preventDefault();
@@ -10062,7 +10155,7 @@ var SidebarProvider = React77__namespace.forwardRef(
10062
10155
  return () => window.removeEventListener("keydown", handleKeyDown);
10063
10156
  }, [toggleSidebar]);
10064
10157
  const state = open ? "expanded" : "collapsed";
10065
- const contextValue = React77__namespace.useMemo(
10158
+ const contextValue = React78__namespace.useMemo(
10066
10159
  () => ({
10067
10160
  state,
10068
10161
  open,
@@ -10093,7 +10186,7 @@ var SidebarProvider = React77__namespace.forwardRef(
10093
10186
  }
10094
10187
  );
10095
10188
  SidebarProvider.displayName = "SidebarProvider";
10096
- var Sidebar = React77__namespace.forwardRef(
10189
+ var Sidebar = React78__namespace.forwardRef(
10097
10190
  (_a, ref) => {
10098
10191
  var _b = _a, {
10099
10192
  side = "left",
@@ -10192,7 +10285,7 @@ var Sidebar = React77__namespace.forwardRef(
10192
10285
  }
10193
10286
  );
10194
10287
  Sidebar.displayName = "Sidebar";
10195
- var SidebarTrigger = React77__namespace.forwardRef((_a, ref) => {
10288
+ var SidebarTrigger = React78__namespace.forwardRef((_a, ref) => {
10196
10289
  var _b = _a, { className, onClick } = _b, props = __objRest(_b, ["className", "onClick"]);
10197
10290
  const { toggleSidebar } = useSidebar();
10198
10291
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -10217,7 +10310,7 @@ var SidebarTrigger = React77__namespace.forwardRef((_a, ref) => {
10217
10310
  );
10218
10311
  });
10219
10312
  SidebarTrigger.displayName = "SidebarTrigger";
10220
- var SidebarRail = React77__namespace.forwardRef((_a, ref) => {
10313
+ var SidebarRail = React78__namespace.forwardRef((_a, ref) => {
10221
10314
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
10222
10315
  const { toggleSidebar } = useSidebar();
10223
10316
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -10230,10 +10323,10 @@ var SidebarRail = React77__namespace.forwardRef((_a, ref) => {
10230
10323
  onClick: toggleSidebar,
10231
10324
  title: "Toggle Sidebar",
10232
10325
  className: cn(
10233
- "absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex",
10326
+ "absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] [@media(hover:hover)]:hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex",
10234
10327
  "[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize",
10235
10328
  "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
10236
- "group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar",
10329
+ "group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:[@media(hover:hover)]:hover:bg-sidebar",
10237
10330
  "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2",
10238
10331
  "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",
10239
10332
  className
@@ -10242,7 +10335,7 @@ var SidebarRail = React77__namespace.forwardRef((_a, ref) => {
10242
10335
  );
10243
10336
  });
10244
10337
  SidebarRail.displayName = "SidebarRail";
10245
- var SidebarInset = React77__namespace.forwardRef((_a, ref) => {
10338
+ var SidebarInset = React78__namespace.forwardRef((_a, ref) => {
10246
10339
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
10247
10340
  return /* @__PURE__ */ jsxRuntime.jsx(
10248
10341
  "main",
@@ -10257,7 +10350,7 @@ var SidebarInset = React77__namespace.forwardRef((_a, ref) => {
10257
10350
  );
10258
10351
  });
10259
10352
  SidebarInset.displayName = "SidebarInset";
10260
- var SidebarInput = React77__namespace.forwardRef((_a, ref) => {
10353
+ var SidebarInput = React78__namespace.forwardRef((_a, ref) => {
10261
10354
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
10262
10355
  return /* @__PURE__ */ jsxRuntime.jsx(
10263
10356
  Input,
@@ -10272,7 +10365,7 @@ var SidebarInput = React77__namespace.forwardRef((_a, ref) => {
10272
10365
  );
10273
10366
  });
10274
10367
  SidebarInput.displayName = "SidebarInput";
10275
- var SidebarHeader = React77__namespace.forwardRef((_a, ref) => {
10368
+ var SidebarHeader = React78__namespace.forwardRef((_a, ref) => {
10276
10369
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
10277
10370
  return /* @__PURE__ */ jsxRuntime.jsx(
10278
10371
  "div",
@@ -10284,7 +10377,7 @@ var SidebarHeader = React77__namespace.forwardRef((_a, ref) => {
10284
10377
  );
10285
10378
  });
10286
10379
  SidebarHeader.displayName = "SidebarHeader";
10287
- var SidebarFooter = React77__namespace.forwardRef((_a, ref) => {
10380
+ var SidebarFooter = React78__namespace.forwardRef((_a, ref) => {
10288
10381
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
10289
10382
  return /* @__PURE__ */ jsxRuntime.jsx(
10290
10383
  "div",
@@ -10296,7 +10389,7 @@ var SidebarFooter = React77__namespace.forwardRef((_a, ref) => {
10296
10389
  );
10297
10390
  });
10298
10391
  SidebarFooter.displayName = "SidebarFooter";
10299
- var SidebarSeparator = React77__namespace.forwardRef((_a, ref) => {
10392
+ var SidebarSeparator = React78__namespace.forwardRef((_a, ref) => {
10300
10393
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
10301
10394
  return /* @__PURE__ */ jsxRuntime.jsx(
10302
10395
  Separator3,
@@ -10308,7 +10401,7 @@ var SidebarSeparator = React77__namespace.forwardRef((_a, ref) => {
10308
10401
  );
10309
10402
  });
10310
10403
  SidebarSeparator.displayName = "SidebarSeparator";
10311
- var SidebarContent = React77__namespace.forwardRef((_a, ref) => {
10404
+ var SidebarContent = React78__namespace.forwardRef((_a, ref) => {
10312
10405
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
10313
10406
  return /* @__PURE__ */ jsxRuntime.jsx(
10314
10407
  "div",
@@ -10323,7 +10416,7 @@ var SidebarContent = React77__namespace.forwardRef((_a, ref) => {
10323
10416
  );
10324
10417
  });
10325
10418
  SidebarContent.displayName = "SidebarContent";
10326
- var SidebarGroup = React77__namespace.forwardRef((_a, ref) => {
10419
+ var SidebarGroup = React78__namespace.forwardRef((_a, ref) => {
10327
10420
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
10328
10421
  return /* @__PURE__ */ jsxRuntime.jsx(
10329
10422
  "div",
@@ -10335,7 +10428,7 @@ var SidebarGroup = React77__namespace.forwardRef((_a, ref) => {
10335
10428
  );
10336
10429
  });
10337
10430
  SidebarGroup.displayName = "SidebarGroup";
10338
- var SidebarGroupLabel = React77__namespace.forwardRef((_a, ref) => {
10431
+ var SidebarGroupLabel = React78__namespace.forwardRef((_a, ref) => {
10339
10432
  var _b = _a, { className, asChild = false } = _b, props = __objRest(_b, ["className", "asChild"]);
10340
10433
  const Comp = asChild ? reactSlot.Slot : "div";
10341
10434
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -10352,7 +10445,7 @@ var SidebarGroupLabel = React77__namespace.forwardRef((_a, ref) => {
10352
10445
  );
10353
10446
  });
10354
10447
  SidebarGroupLabel.displayName = "SidebarGroupLabel";
10355
- var SidebarGroupAction = React77__namespace.forwardRef((_a, ref) => {
10448
+ var SidebarGroupAction = React78__namespace.forwardRef((_a, ref) => {
10356
10449
  var _b = _a, { className, asChild = false } = _b, props = __objRest(_b, ["className", "asChild"]);
10357
10450
  const Comp = asChild ? reactSlot.Slot : "button";
10358
10451
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -10361,7 +10454,7 @@ var SidebarGroupAction = React77__namespace.forwardRef((_a, ref) => {
10361
10454
  ref,
10362
10455
  "data-sidebar": "group-action",
10363
10456
  className: cn(
10364
- "absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
10457
+ "absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform [@media(hover:hover)]:hover:bg-sidebar-accent [@media(hover:hover)]:hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
10365
10458
  // Increases the hit area of the button on mobile.
10366
10459
  "after:absolute after:-inset-2 after:md:hidden",
10367
10460
  "group-data-[collapsible=icon]:hidden",
@@ -10371,7 +10464,7 @@ var SidebarGroupAction = React77__namespace.forwardRef((_a, ref) => {
10371
10464
  );
10372
10465
  });
10373
10466
  SidebarGroupAction.displayName = "SidebarGroupAction";
10374
- var SidebarGroupContent = React77__namespace.forwardRef((_a, ref) => {
10467
+ var SidebarGroupContent = React78__namespace.forwardRef((_a, ref) => {
10375
10468
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
10376
10469
  return /* @__PURE__ */ jsxRuntime.jsx(
10377
10470
  "div",
@@ -10383,7 +10476,7 @@ var SidebarGroupContent = React77__namespace.forwardRef((_a, ref) => {
10383
10476
  );
10384
10477
  });
10385
10478
  SidebarGroupContent.displayName = "SidebarGroupContent";
10386
- var SidebarMenu = React77__namespace.forwardRef((_a, ref) => {
10479
+ var SidebarMenu = React78__namespace.forwardRef((_a, ref) => {
10387
10480
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
10388
10481
  return /* @__PURE__ */ jsxRuntime.jsx(
10389
10482
  "ul",
@@ -10395,7 +10488,7 @@ var SidebarMenu = React77__namespace.forwardRef((_a, ref) => {
10395
10488
  );
10396
10489
  });
10397
10490
  SidebarMenu.displayName = "SidebarMenu";
10398
- var SidebarMenuItem = React77__namespace.forwardRef((_a, ref) => {
10491
+ var SidebarMenuItem = React78__namespace.forwardRef((_a, ref) => {
10399
10492
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
10400
10493
  return /* @__PURE__ */ jsxRuntime.jsx(
10401
10494
  "li",
@@ -10408,12 +10501,12 @@ var SidebarMenuItem = React77__namespace.forwardRef((_a, ref) => {
10408
10501
  });
10409
10502
  SidebarMenuItem.displayName = "SidebarMenuItem";
10410
10503
  var sidebarMenuButtonVariants = classVarianceAuthority.cva(
10411
- "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
10504
+ "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] [@media(hover:hover)]:hover:bg-sidebar-accent [@media(hover:hover)]:hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:[@media(hover:hover)]:hover:bg-sidebar-accent data-[state=open]:[@media(hover:hover)]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
10412
10505
  {
10413
10506
  variants: {
10414
10507
  variant: {
10415
- default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
10416
- outline: "bg-sui-bg-default shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"
10508
+ default: "[@media(hover:hover)]:hover:bg-sidebar-accent [@media(hover:hover)]:hover:text-sidebar-accent-foreground",
10509
+ outline: "bg-sui-bg-default shadow-[0_0_0_1px_hsl(var(--sidebar-border))] [@media(hover:hover)]:hover:bg-sidebar-accent [@media(hover:hover)]:hover:text-sidebar-accent-foreground [@media(hover:hover)]:hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"
10417
10510
  },
10418
10511
  size: {
10419
10512
  default: "h-8 text-sm",
@@ -10427,7 +10520,7 @@ var sidebarMenuButtonVariants = classVarianceAuthority.cva(
10427
10520
  }
10428
10521
  }
10429
10522
  );
10430
- var SidebarMenuButton = React77__namespace.forwardRef(
10523
+ var SidebarMenuButton = React78__namespace.forwardRef(
10431
10524
  (_a, ref) => {
10432
10525
  var _b = _a, {
10433
10526
  asChild = false,
@@ -10478,7 +10571,7 @@ var SidebarMenuButton = React77__namespace.forwardRef(
10478
10571
  }
10479
10572
  );
10480
10573
  SidebarMenuButton.displayName = "SidebarMenuButton";
10481
- var SidebarMenuAction = React77__namespace.forwardRef((_a, ref) => {
10574
+ var SidebarMenuAction = React78__namespace.forwardRef((_a, ref) => {
10482
10575
  var _b = _a, { className, asChild = false, showOnHover = false } = _b, props = __objRest(_b, ["className", "asChild", "showOnHover"]);
10483
10576
  const Comp = asChild ? reactSlot.Slot : "button";
10484
10577
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -10487,7 +10580,7 @@ var SidebarMenuAction = React77__namespace.forwardRef((_a, ref) => {
10487
10580
  ref,
10488
10581
  "data-sidebar": "menu-action",
10489
10582
  className: cn(
10490
- "absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0",
10583
+ "absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform [@media(hover:hover)]:hover:bg-sidebar-accent [@media(hover:hover)]:hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0",
10491
10584
  // Increases the hit area of the button on mobile.
10492
10585
  "after:absolute after:-inset-2 after:md:hidden",
10493
10586
  "peer-data-[size=sm]/menu-button:top-1",
@@ -10501,7 +10594,7 @@ var SidebarMenuAction = React77__namespace.forwardRef((_a, ref) => {
10501
10594
  );
10502
10595
  });
10503
10596
  SidebarMenuAction.displayName = "SidebarMenuAction";
10504
- var SidebarMenuBadge = React77__namespace.forwardRef((_a, ref) => {
10597
+ var SidebarMenuBadge = React78__namespace.forwardRef((_a, ref) => {
10505
10598
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
10506
10599
  return /* @__PURE__ */ jsxRuntime.jsx(
10507
10600
  "div",
@@ -10521,11 +10614,13 @@ var SidebarMenuBadge = React77__namespace.forwardRef((_a, ref) => {
10521
10614
  );
10522
10615
  });
10523
10616
  SidebarMenuBadge.displayName = "SidebarMenuBadge";
10524
- var SidebarMenuSkeleton = React77__namespace.forwardRef((_a, ref) => {
10617
+ var SidebarMenuSkeleton = React78__namespace.forwardRef((_a, ref) => {
10525
10618
  var _b = _a, { className, showIcon = false } = _b, props = __objRest(_b, ["className", "showIcon"]);
10526
- const width = React77__namespace.useMemo(() => {
10527
- return `${Math.floor(Math.random() * 40) + 50}%`;
10528
- }, []);
10619
+ const id = React78__namespace.useId();
10620
+ const width = React78__namespace.useMemo(() => {
10621
+ const hash = id.split("").reduce((a, c) => a + c.charCodeAt(0), 0);
10622
+ return `${hash % 40 + 50}%`;
10623
+ }, [id]);
10529
10624
  return /* @__PURE__ */ jsxRuntime.jsxs(
10530
10625
  "div",
10531
10626
  __spreadProps(__spreadValues({
@@ -10556,7 +10651,7 @@ var SidebarMenuSkeleton = React77__namespace.forwardRef((_a, ref) => {
10556
10651
  );
10557
10652
  });
10558
10653
  SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
10559
- var SidebarMenuSub = React77__namespace.forwardRef((_a, ref) => {
10654
+ var SidebarMenuSub = React78__namespace.forwardRef((_a, ref) => {
10560
10655
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
10561
10656
  return /* @__PURE__ */ jsxRuntime.jsx(
10562
10657
  "ul",
@@ -10572,12 +10667,12 @@ var SidebarMenuSub = React77__namespace.forwardRef((_a, ref) => {
10572
10667
  );
10573
10668
  });
10574
10669
  SidebarMenuSub.displayName = "SidebarMenuSub";
10575
- var SidebarMenuSubItem = React77__namespace.forwardRef((_a, ref) => {
10670
+ var SidebarMenuSubItem = React78__namespace.forwardRef((_a, ref) => {
10576
10671
  var props = __objRest(_a, []);
10577
10672
  return /* @__PURE__ */ jsxRuntime.jsx("li", __spreadValues({ ref }, props));
10578
10673
  });
10579
10674
  SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
10580
- var SidebarMenuSubButton = React77__namespace.forwardRef((_a, ref) => {
10675
+ var SidebarMenuSubButton = React78__namespace.forwardRef((_a, ref) => {
10581
10676
  var _b = _a, { asChild = false, size = "md", isActive, className } = _b, props = __objRest(_b, ["asChild", "size", "isActive", "className"]);
10582
10677
  const Comp = asChild ? reactSlot.Slot : "a";
10583
10678
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -10588,7 +10683,7 @@ var SidebarMenuSubButton = React77__namespace.forwardRef((_a, ref) => {
10588
10683
  "data-size": size,
10589
10684
  "data-active": isActive,
10590
10685
  className: cn(
10591
- "flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground",
10686
+ "flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring [@media(hover:hover)]:hover:bg-sidebar-accent [@media(hover:hover)]:hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground",
10592
10687
  "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",
10593
10688
  size === "sm" && "text-xs",
10594
10689
  size === "md" && "text-sm",
@@ -10617,7 +10712,7 @@ var sidebarCardVariants = classVarianceAuthority.cva(
10617
10712
  }
10618
10713
  }
10619
10714
  );
10620
- var SidebarCard = React77__namespace.forwardRef(
10715
+ var SidebarCard = React78__namespace.forwardRef(
10621
10716
  (_a, ref) => {
10622
10717
  var _b = _a, { className, variant, children } = _b, props = __objRest(_b, ["className", "variant", "children"]);
10623
10718
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -10656,7 +10751,7 @@ var sidebarMenuItemVariants = classVarianceAuthority.cva("", {
10656
10751
  variant: "default"
10657
10752
  }
10658
10753
  });
10659
- var SidebarMenuItem2 = React77__namespace.forwardRef(
10754
+ var SidebarMenuItem2 = React78__namespace.forwardRef(
10660
10755
  (_a, ref) => {
10661
10756
  var _b = _a, {
10662
10757
  className,
@@ -10852,7 +10947,7 @@ function percent2(value, min, max) {
10852
10947
  if (max === min) return 0;
10853
10948
  return (value - min) / (max - min) * 100;
10854
10949
  }
10855
- var Slider = React77__namespace.forwardRef(
10950
+ var Slider = React78__namespace.forwardRef(
10856
10951
  (_a, ref) => {
10857
10952
  var _b = _a, {
10858
10953
  className,
@@ -10885,12 +10980,12 @@ var Slider = React77__namespace.forwardRef(
10885
10980
  "formatValue",
10886
10981
  "onValueChange"
10887
10982
  ]);
10888
- const trackRef = React77__namespace.useRef(null);
10889
- const [isDragging, setIsDragging] = React77__namespace.useState(false);
10890
- const [isFocused, setIsFocused] = React77__namespace.useState(false);
10983
+ const trackRef = React78__namespace.useRef(null);
10984
+ const [isDragging, setIsDragging] = React78__namespace.useState(false);
10985
+ const [isFocused, setIsFocused] = React78__namespace.useState(false);
10891
10986
  const pct = percent2(value, min, max);
10892
10987
  const displayValue = formatValue ? formatValue(value) : `${value}`;
10893
- const getValueFromPointer = React77__namespace.useCallback(
10988
+ const getValueFromPointer = React78__namespace.useCallback(
10894
10989
  (clientX) => {
10895
10990
  const track = trackRef.current;
10896
10991
  if (!track) return 0;
@@ -10901,7 +10996,7 @@ var Slider = React77__namespace.forwardRef(
10901
10996
  },
10902
10997
  [min, max, step]
10903
10998
  );
10904
- const handlePointerDown = React77__namespace.useCallback(
10999
+ const handlePointerDown = React78__namespace.useCallback(
10905
11000
  (e) => {
10906
11001
  if (disabled) return;
10907
11002
  e.preventDefault();
@@ -10912,7 +11007,7 @@ var Slider = React77__namespace.forwardRef(
10912
11007
  },
10913
11008
  [disabled, getValueFromPointer, onValueChange, value]
10914
11009
  );
10915
- const handlePointerMove = React77__namespace.useCallback(
11010
+ const handlePointerMove = React78__namespace.useCallback(
10916
11011
  (e) => {
10917
11012
  if (!isDragging || disabled) return;
10918
11013
  const newValue = getValueFromPointer(e.clientX);
@@ -10920,10 +11015,10 @@ var Slider = React77__namespace.forwardRef(
10920
11015
  },
10921
11016
  [isDragging, disabled, getValueFromPointer, onValueChange, value]
10922
11017
  );
10923
- const handlePointerUp = React77__namespace.useCallback(() => {
11018
+ const handlePointerUp = React78__namespace.useCallback(() => {
10924
11019
  setIsDragging(false);
10925
11020
  }, []);
10926
- const handleKeyDown = React77__namespace.useCallback(
11021
+ const handleKeyDown = React78__namespace.useCallback(
10927
11022
  (e) => {
10928
11023
  if (disabled) return;
10929
11024
  let newValue = value;
@@ -10950,7 +11045,7 @@ var Slider = React77__namespace.forwardRef(
10950
11045
  },
10951
11046
  [disabled, value, step, min, max, onValueChange]
10952
11047
  );
10953
- const tickLabels = React77__namespace.useMemo(() => {
11048
+ const tickLabels = React78__namespace.useMemo(() => {
10954
11049
  if (pointLabels) return pointLabels;
10955
11050
  const count2 = pointCount;
10956
11051
  const labels = [];
@@ -11044,7 +11139,7 @@ Slider.displayName = "Slider";
11044
11139
  function clamp3(value, min, max) {
11045
11140
  return Math.min(Math.max(value, min), max);
11046
11141
  }
11047
- var SliderInput = React77__namespace.forwardRef(
11142
+ var SliderInput = React78__namespace.forwardRef(
11048
11143
  (_a, ref) => {
11049
11144
  var _b = _a, {
11050
11145
  className,
@@ -11067,8 +11162,8 @@ var SliderInput = React77__namespace.forwardRef(
11067
11162
  "formatValue",
11068
11163
  "onValueChange"
11069
11164
  ]);
11070
- const [internalValue, setInternalValue] = React77__namespace.useState(value);
11071
- React77__namespace.useEffect(() => {
11165
+ const [internalValue, setInternalValue] = React78__namespace.useState(value);
11166
+ React78__namespace.useEffect(() => {
11072
11167
  setInternalValue(value);
11073
11168
  }, [value]);
11074
11169
  const commit = (newVal) => {
@@ -11175,7 +11270,7 @@ function percent3(value, min, max) {
11175
11270
  if (max === min) return 0;
11176
11271
  return (value - min) / (max - min) * 100;
11177
11272
  }
11178
- var SliderRange = React77__namespace.forwardRef(
11273
+ var SliderRange = React78__namespace.forwardRef(
11179
11274
  (_a, ref) => {
11180
11275
  var _b = _a, {
11181
11276
  className,
@@ -11208,15 +11303,15 @@ var SliderRange = React77__namespace.forwardRef(
11208
11303
  "formatValue",
11209
11304
  "onValueChange"
11210
11305
  ]);
11211
- const trackRef = React77__namespace.useRef(null);
11212
- const [draggingHandle, setDraggingHandle] = React77__namespace.useState(null);
11213
- const [focusedHandle, setFocusedHandle] = React77__namespace.useState(null);
11306
+ const trackRef = React78__namespace.useRef(null);
11307
+ const [draggingHandle, setDraggingHandle] = React78__namespace.useState(null);
11308
+ const [focusedHandle, setFocusedHandle] = React78__namespace.useState(null);
11214
11309
  const [rangeMin, rangeMax] = value;
11215
11310
  const pctMin = percent3(rangeMin, min, max);
11216
11311
  const pctMax = percent3(rangeMax, min, max);
11217
11312
  const fmt = (v) => formatValue ? formatValue(v) : `${v}`;
11218
11313
  const displayValue = `${fmt(rangeMin)} \u2013 ${fmt(rangeMax)}`;
11219
- const getValueFromPointer = React77__namespace.useCallback(
11314
+ const getValueFromPointer = React78__namespace.useCallback(
11220
11315
  (clientX) => {
11221
11316
  const track = trackRef.current;
11222
11317
  if (!track) return 0;
@@ -11227,7 +11322,7 @@ var SliderRange = React77__namespace.forwardRef(
11227
11322
  },
11228
11323
  [min, max, step]
11229
11324
  );
11230
- const closestHandle = React77__namespace.useCallback(
11325
+ const closestHandle = React78__namespace.useCallback(
11231
11326
  (pointerValue) => {
11232
11327
  const distMin = Math.abs(pointerValue - rangeMin);
11233
11328
  const distMax = Math.abs(pointerValue - rangeMax);
@@ -11235,7 +11330,7 @@ var SliderRange = React77__namespace.forwardRef(
11235
11330
  },
11236
11331
  [rangeMin, rangeMax]
11237
11332
  );
11238
- const updateValue = React77__namespace.useCallback(
11333
+ const updateValue = React78__namespace.useCallback(
11239
11334
  (handle, newVal) => {
11240
11335
  if (handle === 0) {
11241
11336
  const clamped = clamp4(newVal, min, rangeMax);
@@ -11247,7 +11342,7 @@ var SliderRange = React77__namespace.forwardRef(
11247
11342
  },
11248
11343
  [min, max, rangeMin, rangeMax, onValueChange]
11249
11344
  );
11250
- const handlePointerDown = React77__namespace.useCallback(
11345
+ const handlePointerDown = React78__namespace.useCallback(
11251
11346
  (e) => {
11252
11347
  if (disabled) return;
11253
11348
  e.preventDefault();
@@ -11259,7 +11354,7 @@ var SliderRange = React77__namespace.forwardRef(
11259
11354
  },
11260
11355
  [disabled, getValueFromPointer, closestHandle, updateValue]
11261
11356
  );
11262
- const handlePointerMove = React77__namespace.useCallback(
11357
+ const handlePointerMove = React78__namespace.useCallback(
11263
11358
  (e) => {
11264
11359
  if (draggingHandle === null || disabled) return;
11265
11360
  const newVal = getValueFromPointer(e.clientX);
@@ -11267,10 +11362,10 @@ var SliderRange = React77__namespace.forwardRef(
11267
11362
  },
11268
11363
  [draggingHandle, disabled, getValueFromPointer, updateValue]
11269
11364
  );
11270
- const handlePointerUp = React77__namespace.useCallback(() => {
11365
+ const handlePointerUp = React78__namespace.useCallback(() => {
11271
11366
  setDraggingHandle(null);
11272
11367
  }, []);
11273
- const makeKeyHandler = React77__namespace.useCallback(
11368
+ const makeKeyHandler = React78__namespace.useCallback(
11274
11369
  (handle) => (e) => {
11275
11370
  if (disabled) return;
11276
11371
  const currentVal = handle === 0 ? rangeMin : rangeMax;
@@ -11298,7 +11393,7 @@ var SliderRange = React77__namespace.forwardRef(
11298
11393
  },
11299
11394
  [disabled, rangeMin, rangeMax, step, min, max, updateValue]
11300
11395
  );
11301
- const tickLabels = React77__namespace.useMemo(() => {
11396
+ const tickLabels = React78__namespace.useMemo(() => {
11302
11397
  if (pointLabels) return pointLabels;
11303
11398
  const labels = [];
11304
11399
  for (let i = 0; i < pointCount; i++) {
@@ -11415,7 +11510,7 @@ var SliderRange = React77__namespace.forwardRef(
11415
11510
  }
11416
11511
  );
11417
11512
  SliderRange.displayName = "SliderRange";
11418
- var SliderRangeInput = React77__namespace.forwardRef(
11513
+ var SliderRangeInput = React78__namespace.forwardRef(
11419
11514
  (_a, ref) => {
11420
11515
  var _b = _a, {
11421
11516
  className,
@@ -11557,7 +11652,7 @@ var Toaster = (_a) => {
11557
11652
  );
11558
11653
  };
11559
11654
  var ToastProvider = ToastPrimitives__namespace.Provider;
11560
- var ToastViewport = React77__namespace.forwardRef((_a, ref) => {
11655
+ var ToastViewport = React78__namespace.forwardRef((_a, ref) => {
11561
11656
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
11562
11657
  return /* @__PURE__ */ jsxRuntime.jsx(
11563
11658
  ToastPrimitives__namespace.Viewport,
@@ -11585,7 +11680,7 @@ var toastVariants = classVarianceAuthority.cva(
11585
11680
  }
11586
11681
  }
11587
11682
  );
11588
- var Toast = React77__namespace.forwardRef((_a, ref) => {
11683
+ var Toast = React78__namespace.forwardRef((_a, ref) => {
11589
11684
  var _b = _a, { className, variant } = _b, props = __objRest(_b, ["className", "variant"]);
11590
11685
  return /* @__PURE__ */ jsxRuntime.jsx(
11591
11686
  ToastPrimitives__namespace.Root,
@@ -11596,28 +11691,28 @@ var Toast = React77__namespace.forwardRef((_a, ref) => {
11596
11691
  );
11597
11692
  });
11598
11693
  Toast.displayName = ToastPrimitives__namespace.Root.displayName;
11599
- var ToastAction = React77__namespace.forwardRef((_a, ref) => {
11694
+ var ToastAction = React78__namespace.forwardRef((_a, ref) => {
11600
11695
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
11601
11696
  return /* @__PURE__ */ jsxRuntime.jsx(
11602
11697
  ToastPrimitives__namespace.Action,
11603
11698
  __spreadValues({
11604
11699
  ref,
11605
11700
  className: cn(
11606
- "inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-sui-bg-default transition-colors hover:bg-sui-bg-state-ghost-hover focus:outline-none focus:ring-2 focus:ring-sui-border-highlight focus:ring-offset-2 disabled:text-sui-text-hint disabled:pointer-events-none group-[.destructive]:border-sui-border-default/40 group-[.destructive]:hover:border-sui-bg-state-destructive/30 group-[.destructive]:hover:bg-sui-bg-state-destructive group-[.destructive]:hover:text-sui-text-white-default group-[.destructive]:focus:ring-sui-border-highlight",
11701
+ "inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-sui-bg-default transition-colors [@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover focus:outline-none focus:ring-2 focus:ring-sui-border-highlight focus:ring-offset-2 disabled:text-sui-text-hint disabled:pointer-events-none group-[.destructive]:border-sui-border-default/40 group-[.destructive]:[@media(hover:hover)]:hover:border-sui-bg-state-destructive/30 group-[.destructive]:[@media(hover:hover)]:hover:bg-sui-bg-state-destructive group-[.destructive]:[@media(hover:hover)]:hover:text-sui-text-white-default group-[.destructive]:focus:ring-sui-border-highlight",
11607
11702
  className
11608
11703
  )
11609
11704
  }, props)
11610
11705
  );
11611
11706
  });
11612
11707
  ToastAction.displayName = ToastPrimitives__namespace.Action.displayName;
11613
- var ToastClose = React77__namespace.forwardRef((_a, ref) => {
11708
+ var ToastClose = React78__namespace.forwardRef((_a, ref) => {
11614
11709
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
11615
11710
  return /* @__PURE__ */ jsxRuntime.jsx(
11616
11711
  ToastPrimitives__namespace.Close,
11617
11712
  __spreadProps(__spreadValues({
11618
11713
  ref,
11619
11714
  className: cn(
11620
- "absolute right-2 top-2 rounded-md p-1 text-sui-text-default/50 opacity-0 transition-opacity hover:text-sui-text-default focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-sui-text-white-default/70 group-[.destructive]:hover:text-sui-text-white-default group-[.destructive]:focus:ring-sui-border-highlight group-[.destructive]:focus:ring-offset-sui-bg-state-destructive",
11715
+ "absolute right-2 top-2 rounded-md p-1 text-sui-text-default/50 opacity-0 transition-opacity [@media(hover:hover)]:hover:text-sui-text-default focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-sui-text-white-default/70 group-[.destructive]:[@media(hover:hover)]:hover:text-sui-text-white-default group-[.destructive]:focus:ring-sui-border-highlight group-[.destructive]:focus:ring-offset-sui-bg-state-destructive",
11621
11716
  className
11622
11717
  ),
11623
11718
  "toast-close": ""
@@ -11627,7 +11722,7 @@ var ToastClose = React77__namespace.forwardRef((_a, ref) => {
11627
11722
  );
11628
11723
  });
11629
11724
  ToastClose.displayName = ToastPrimitives__namespace.Close.displayName;
11630
- var ToastTitle = React77__namespace.forwardRef((_a, ref) => {
11725
+ var ToastTitle = React78__namespace.forwardRef((_a, ref) => {
11631
11726
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
11632
11727
  return /* @__PURE__ */ jsxRuntime.jsx(
11633
11728
  ToastPrimitives__namespace.Title,
@@ -11638,7 +11733,7 @@ var ToastTitle = React77__namespace.forwardRef((_a, ref) => {
11638
11733
  );
11639
11734
  });
11640
11735
  ToastTitle.displayName = ToastPrimitives__namespace.Title.displayName;
11641
- var ToastDescription = React77__namespace.forwardRef((_a, ref) => {
11736
+ var ToastDescription = React78__namespace.forwardRef((_a, ref) => {
11642
11737
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
11643
11738
  return /* @__PURE__ */ jsxRuntime.jsx(
11644
11739
  ToastPrimitives__namespace.Description,
@@ -11743,8 +11838,8 @@ function toast(_a) {
11743
11838
  };
11744
11839
  }
11745
11840
  function useToast() {
11746
- const [state, setState] = React77__namespace.useState(memoryState);
11747
- React77__namespace.useEffect(() => {
11841
+ const [state, setState] = React78__namespace.useState(memoryState);
11842
+ React78__namespace.useEffect(() => {
11748
11843
  listeners.push(setState);
11749
11844
  return () => {
11750
11845
  const index = listeners.indexOf(setState);
@@ -11775,7 +11870,7 @@ function Toaster2() {
11775
11870
  /* @__PURE__ */ jsxRuntime.jsx(ToastViewport, {})
11776
11871
  ] });
11777
11872
  }
11778
- var Switch = React77__namespace.forwardRef((_a, ref) => {
11873
+ var Switch = React78__namespace.forwardRef((_a, ref) => {
11779
11874
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
11780
11875
  return /* @__PURE__ */ jsxRuntime.jsx(
11781
11876
  SwitchPrimitives__namespace.Root,
@@ -11787,10 +11882,10 @@ var Switch = React77__namespace.forwardRef((_a, ref) => {
11787
11882
  "transition-colors duration-150",
11788
11883
  // Unchecked track
11789
11884
  "data-[state=unchecked]:bg-sui-bg-switch-default",
11790
- "data-[state=unchecked]:hover:bg-sui-bg-switch-default-hover",
11885
+ "data-[state=unchecked]:[@media(hover:hover)]:hover:bg-sui-bg-switch-default-hover",
11791
11886
  // Checked track
11792
11887
  "data-[state=checked]:bg-sui-bg-switch-active",
11793
- "data-[state=checked]:hover:bg-sui-bg-switch-active-hover",
11888
+ "data-[state=checked]:[@media(hover:hover)]:hover:bg-sui-bg-switch-active-hover",
11794
11889
  // Focus: 1px accent-inverted + 3px highlight (matching Figma box-shadow ring)
11795
11890
  "focus-visible:outline-none",
11796
11891
  "focus-visible:shadow-misc-focus",
@@ -11827,10 +11922,10 @@ var Switch = React77__namespace.forwardRef((_a, ref) => {
11827
11922
  );
11828
11923
  });
11829
11924
  Switch.displayName = "Switch";
11830
- var SwitchList = React77__namespace.forwardRef(
11925
+ var SwitchList = React78__namespace.forwardRef(
11831
11926
  (_a, ref) => {
11832
11927
  var _b = _a, { className, divider = true, children } = _b, props = __objRest(_b, ["className", "divider", "children"]);
11833
- const items = React77__namespace.Children.toArray(children);
11928
+ const items = React78__namespace.Children.toArray(children);
11834
11929
  return /* @__PURE__ */ jsxRuntime.jsx(
11835
11930
  "div",
11836
11931
  __spreadProps(__spreadValues({
@@ -11858,7 +11953,7 @@ var SwitchList = React77__namespace.forwardRef(
11858
11953
  }
11859
11954
  );
11860
11955
  SwitchList.displayName = "SwitchList";
11861
- var SwitchWithText = React77__namespace.forwardRef(
11956
+ var SwitchWithText = React78__namespace.forwardRef(
11862
11957
  (_a, ref) => {
11863
11958
  var _b = _a, {
11864
11959
  className,
@@ -11875,7 +11970,7 @@ var SwitchWithText = React77__namespace.forwardRef(
11875
11970
  "disabled",
11876
11971
  "id"
11877
11972
  ]);
11878
- const generatedId = React77__namespace.useId();
11973
+ const generatedId = React78__namespace.useId();
11879
11974
  const switchId = id || generatedId;
11880
11975
  return /* @__PURE__ */ jsxRuntime.jsxs(
11881
11976
  "div",
@@ -11932,7 +12027,7 @@ var SwitchWithText = React77__namespace.forwardRef(
11932
12027
  }
11933
12028
  );
11934
12029
  SwitchWithText.displayName = "SwitchWithText";
11935
- var Table = React77__namespace.forwardRef((_a, ref) => {
12030
+ var Table = React78__namespace.forwardRef((_a, ref) => {
11936
12031
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
11937
12032
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsxRuntime.jsx(
11938
12033
  "table",
@@ -11943,12 +12038,12 @@ var Table = React77__namespace.forwardRef((_a, ref) => {
11943
12038
  ) });
11944
12039
  });
11945
12040
  Table.displayName = "Table";
11946
- var TableHeader = React77__namespace.forwardRef((_a, ref) => {
12041
+ var TableHeader = React78__namespace.forwardRef((_a, ref) => {
11947
12042
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
11948
12043
  return /* @__PURE__ */ jsxRuntime.jsx("thead", __spreadValues({ ref, className: cn("[&_tr]:border-b [&_tr]:border-sui-border-default", className) }, props));
11949
12044
  });
11950
12045
  TableHeader.displayName = "TableHeader";
11951
- var TableBody = React77__namespace.forwardRef((_a, ref) => {
12046
+ var TableBody = React78__namespace.forwardRef((_a, ref) => {
11952
12047
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
11953
12048
  return /* @__PURE__ */ jsxRuntime.jsx(
11954
12049
  "tbody",
@@ -11959,7 +12054,7 @@ var TableBody = React77__namespace.forwardRef((_a, ref) => {
11959
12054
  );
11960
12055
  });
11961
12056
  TableBody.displayName = "TableBody";
11962
- var TableFooter = React77__namespace.forwardRef((_a, ref) => {
12057
+ var TableFooter = React78__namespace.forwardRef((_a, ref) => {
11963
12058
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
11964
12059
  return /* @__PURE__ */ jsxRuntime.jsx(
11965
12060
  "tfoot",
@@ -11973,21 +12068,21 @@ var TableFooter = React77__namespace.forwardRef((_a, ref) => {
11973
12068
  );
11974
12069
  });
11975
12070
  TableFooter.displayName = "TableFooter";
11976
- var TableRow = React77__namespace.forwardRef((_a, ref) => {
12071
+ var TableRow = React78__namespace.forwardRef((_a, ref) => {
11977
12072
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
11978
12073
  return /* @__PURE__ */ jsxRuntime.jsx(
11979
12074
  "tr",
11980
12075
  __spreadValues({
11981
12076
  ref,
11982
12077
  className: cn(
11983
- "border-b border-sui-border-default transition-colors hover:bg-sui-bg-basic-gray-alpha-2 data-[state=selected]:bg-sui-bg-basic-gray-alpha-4",
12078
+ "border-b border-sui-border-default transition-colors [@media(hover:hover)]:hover:bg-sui-bg-basic-gray-alpha-2 data-[state=selected]:bg-sui-bg-basic-gray-alpha-4",
11984
12079
  className
11985
12080
  )
11986
12081
  }, props)
11987
12082
  );
11988
12083
  });
11989
12084
  TableRow.displayName = "TableRow";
11990
- var TableHead = React77__namespace.forwardRef((_a, ref) => {
12085
+ var TableHead = React78__namespace.forwardRef((_a, ref) => {
11991
12086
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
11992
12087
  return /* @__PURE__ */ jsxRuntime.jsx(
11993
12088
  "th",
@@ -12001,7 +12096,7 @@ var TableHead = React77__namespace.forwardRef((_a, ref) => {
12001
12096
  );
12002
12097
  });
12003
12098
  TableHead.displayName = "TableHead";
12004
- var TableCell = React77__namespace.forwardRef((_a, ref) => {
12099
+ var TableCell = React78__namespace.forwardRef((_a, ref) => {
12005
12100
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
12006
12101
  return /* @__PURE__ */ jsxRuntime.jsx(
12007
12102
  "td",
@@ -12012,7 +12107,7 @@ var TableCell = React77__namespace.forwardRef((_a, ref) => {
12012
12107
  );
12013
12108
  });
12014
12109
  TableCell.displayName = "TableCell";
12015
- var TableCaption = React77__namespace.forwardRef((_a, ref) => {
12110
+ var TableCaption = React78__namespace.forwardRef((_a, ref) => {
12016
12111
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
12017
12112
  return /* @__PURE__ */ jsxRuntime.jsx(
12018
12113
  "caption",
@@ -12048,7 +12143,7 @@ var ariaSortMap2 = {
12048
12143
  desc: "descending",
12049
12144
  none: "none"
12050
12145
  };
12051
- var TableHeaderItem = React77__namespace.forwardRef(
12146
+ var TableHeaderItem = React78__namespace.forwardRef(
12052
12147
  (_a, ref) => {
12053
12148
  var _b = _a, {
12054
12149
  className,
@@ -12109,7 +12204,7 @@ var TableHeaderItem = React77__namespace.forwardRef(
12109
12204
  resizable && /* @__PURE__ */ jsxRuntime.jsx(
12110
12205
  "div",
12111
12206
  {
12112
- className: "absolute right-0 top-0 h-full w-1 cursor-col-resize opacity-0 transition-opacity hover:opacity-100 hover:bg-sui-border-highlight z-10",
12207
+ className: "absolute right-0 top-0 h-full w-1 cursor-col-resize opacity-0 transition-opacity [@media(hover:hover)]:hover:opacity-100 [@media(hover:hover)]:hover:bg-sui-border-highlight z-10",
12113
12208
  onPointerDown: (e) => {
12114
12209
  e.stopPropagation();
12115
12210
  onResizeStart == null ? void 0 : onResizeStart(e);
@@ -12164,7 +12259,7 @@ var tableItemVariants = classVarianceAuthority.cva("flex items-center px-2", {
12164
12259
  size: "lg"
12165
12260
  }
12166
12261
  });
12167
- var TableItem = React77__namespace.forwardRef(
12262
+ var TableItem = React78__namespace.forwardRef(
12168
12263
  (_a, ref) => {
12169
12264
  var _b = _a, {
12170
12265
  className,
@@ -12248,7 +12343,7 @@ var TableItem = React77__namespace.forwardRef(
12248
12343
  }
12249
12344
  );
12250
12345
  TableItem.displayName = "TableItem";
12251
- var TablePagination = React77__namespace.forwardRef(
12346
+ var TablePagination = React78__namespace.forwardRef(
12252
12347
  (_a, ref) => {
12253
12348
  var _b = _a, {
12254
12349
  className,
@@ -12283,7 +12378,7 @@ var TablePagination = React77__namespace.forwardRef(
12283
12378
  )
12284
12379
  }, props), {
12285
12380
  children: paginatorVariant === "numbered" ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
12286
- /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-sm font-normal leading-5 text-sui-text-muted whitespace-nowrap", children: [
12381
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-sm font-normal leading-5 tabular-nums text-sui-text-muted whitespace-nowrap", children: [
12287
12382
  startResult,
12288
12383
  "\u2013",
12289
12384
  endResult,
@@ -12325,7 +12420,7 @@ var tableRowSortVariants = classVarianceAuthority.cva(
12325
12420
  variants: {
12326
12421
  variant: {
12327
12422
  header: "border-t",
12328
- default: "hover:bg-sui-bg-basic-gray-alpha-2",
12423
+ default: "[@media(hover:hover)]:hover:bg-sui-bg-basic-gray-alpha-2",
12329
12424
  hover: "bg-sui-bg-basic-gray-alpha-2",
12330
12425
  selected: "bg-sui-bg-basic-gray-alpha-4"
12331
12426
  }
@@ -12335,7 +12430,7 @@ var tableRowSortVariants = classVarianceAuthority.cva(
12335
12430
  }
12336
12431
  }
12337
12432
  );
12338
- var TableRowSort = React77__namespace.forwardRef(
12433
+ var TableRowSort = React78__namespace.forwardRef(
12339
12434
  (_a, ref) => {
12340
12435
  var _b = _a, { className, variant = "default", striped, sticky, children } = _b, props = __objRest(_b, ["className", "variant", "striped", "sticky", "children"]);
12341
12436
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -12358,7 +12453,7 @@ var TableRowSort = React77__namespace.forwardRef(
12358
12453
  TableRowSort.displayName = "TableRowSort";
12359
12454
  var textWidths = ["w-20", "w-28", "w-24", "w-32", "w-16", "w-26", "w-22", "w-30"];
12360
12455
  var skeletonBg = "bg-sui-bg-basic-gray-alpha-4";
12361
- var TableSkeletonRow = React77__namespace.forwardRef(
12456
+ var TableSkeletonRow = React78__namespace.forwardRef(
12362
12457
  (_a, ref) => {
12363
12458
  var _b = _a, { className, columns, rowCount = 5, size = "sm" } = _b, props = __objRest(_b, ["className", "columns", "rowCount", "size"]);
12364
12459
  return /* @__PURE__ */ jsxRuntime.jsx("div", __spreadProps(__spreadValues({ ref, className, "aria-hidden": "true" }, props), { children: Array.from({ length: rowCount }, (_, rowIdx) => /* @__PURE__ */ jsxRuntime.jsx(TableRowSort, { variant: "default", children: columns.map((col, colIdx) => {
@@ -12408,12 +12503,12 @@ var tabListVariants = classVarianceAuthority.cva(
12408
12503
  }
12409
12504
  }
12410
12505
  );
12411
- var TabList = React77__namespace.forwardRef((_a, ref) => {
12506
+ var TabList = React78__namespace.forwardRef((_a, ref) => {
12412
12507
  var _b = _a, { className, variant = "pill", shape = "pill", layout, children } = _b, props = __objRest(_b, ["className", "variant", "shape", "layout", "children"]);
12413
12508
  const childShape = variant === "segmented" && shape === "rounded" ? "rounded" : shape;
12414
12509
  const childRadiusOverride = variant === "segmented" && shape === "rounded" ? "rounded-sm" : void 0;
12415
- const enhancedChildren = React77__namespace.Children.map(children, (child) => {
12416
- if (!React77__namespace.isValidElement(child)) return child;
12510
+ const enhancedChildren = React78__namespace.Children.map(children, (child) => {
12511
+ if (!React78__namespace.isValidElement(child)) return child;
12417
12512
  const extraProps = {
12418
12513
  shape: childShape
12419
12514
  };
@@ -12421,7 +12516,7 @@ var TabList = React77__namespace.forwardRef((_a, ref) => {
12421
12516
  const existingClassName = child.props.className;
12422
12517
  extraProps.className = cn(existingClassName, childRadiusOverride);
12423
12518
  }
12424
- return React77__namespace.cloneElement(child, extraProps);
12519
+ return React78__namespace.cloneElement(child, extraProps);
12425
12520
  });
12426
12521
  return /* @__PURE__ */ jsxRuntime.jsx(
12427
12522
  TabsPrimitive4__namespace.List,
@@ -12451,8 +12546,8 @@ var tabItemVariants = classVarianceAuthority.cva(
12451
12546
  // Icon colors default
12452
12547
  "[&_i]:text-icon-default-muted [&_svg]:text-icon-default-muted",
12453
12548
  // Hover state
12454
- "hover:bg-sui-bg-state-ghost-hover hover:text-sui-text-default",
12455
- "hover:[&_i]:text-icon-default-subtle hover:[&_svg]:text-icon-default-subtle",
12549
+ "[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover [@media(hover:hover)]:hover:text-sui-text-default",
12550
+ "[@media(hover:hover)]:hover:[&_i]:text-icon-default-subtle [@media(hover:hover)]:hover:[&_svg]:text-icon-default-subtle",
12456
12551
  // Active/selected state (Radix data attribute)
12457
12552
  // Border simulated via inset box-shadow (spread:1) to match Figma and avoid height increase
12458
12553
  "data-[state=active]:bg-sui-bg-state-secondary",
@@ -12483,7 +12578,7 @@ var tabItemVariants = classVarianceAuthority.cva(
12483
12578
  }
12484
12579
  }
12485
12580
  );
12486
- var TabItem = React77__namespace.forwardRef((_a, ref) => {
12581
+ var TabItem = React78__namespace.forwardRef((_a, ref) => {
12487
12582
  var _b = _a, { className, shape, size } = _b, props = __objRest(_b, ["className", "shape", "size"]);
12488
12583
  return /* @__PURE__ */ jsxRuntime.jsx(
12489
12584
  TabsPrimitive4__namespace.Trigger,
@@ -12495,7 +12590,7 @@ var TabItem = React77__namespace.forwardRef((_a, ref) => {
12495
12590
  });
12496
12591
  TabItem.displayName = "TabItem";
12497
12592
  var Tabs = TabsPrimitive4__namespace.Root;
12498
- var TabsList = React77__namespace.forwardRef((_a, ref) => {
12593
+ var TabsList = React78__namespace.forwardRef((_a, ref) => {
12499
12594
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
12500
12595
  return /* @__PURE__ */ jsxRuntime.jsx(
12501
12596
  TabsPrimitive4__namespace.List,
@@ -12509,7 +12604,7 @@ var TabsList = React77__namespace.forwardRef((_a, ref) => {
12509
12604
  );
12510
12605
  });
12511
12606
  TabsList.displayName = TabsPrimitive4__namespace.List.displayName;
12512
- var TabsTrigger = React77__namespace.forwardRef((_a, ref) => {
12607
+ var TabsTrigger = React78__namespace.forwardRef((_a, ref) => {
12513
12608
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
12514
12609
  return /* @__PURE__ */ jsxRuntime.jsx(
12515
12610
  TabsPrimitive4__namespace.Trigger,
@@ -12523,7 +12618,7 @@ var TabsTrigger = React77__namespace.forwardRef((_a, ref) => {
12523
12618
  );
12524
12619
  });
12525
12620
  TabsTrigger.displayName = TabsPrimitive4__namespace.Trigger.displayName;
12526
- var TabsContent = React77__namespace.forwardRef((_a, ref) => {
12621
+ var TabsContent = React78__namespace.forwardRef((_a, ref) => {
12527
12622
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
12528
12623
  return /* @__PURE__ */ jsxRuntime.jsx(
12529
12624
  TabsPrimitive4__namespace.Content,
@@ -12567,7 +12662,7 @@ var textAreaContainerVariants = classVarianceAuthority.cva(
12567
12662
  }
12568
12663
  }
12569
12664
  );
12570
- var TextAreaField = React77__namespace.forwardRef(
12665
+ var TextAreaField = React78__namespace.forwardRef(
12571
12666
  (_a, ref) => {
12572
12667
  var _b = _a, {
12573
12668
  className,
@@ -12589,7 +12684,9 @@ var TextAreaField = React77__namespace.forwardRef(
12589
12684
  id,
12590
12685
  value,
12591
12686
  defaultValue,
12592
- onChange
12687
+ onChange,
12688
+ spellCheck,
12689
+ autoComplete
12593
12690
  } = _b, props = __objRest(_b, [
12594
12691
  "className",
12595
12692
  "inputStyle",
@@ -12610,9 +12707,11 @@ var TextAreaField = React77__namespace.forwardRef(
12610
12707
  "id",
12611
12708
  "value",
12612
12709
  "defaultValue",
12613
- "onChange"
12710
+ "onChange",
12711
+ "spellCheck",
12712
+ "autoComplete"
12614
12713
  ]);
12615
- const generatedId = React77__namespace.useId();
12714
+ const generatedId = React78__namespace.useId();
12616
12715
  const textAreaId = id || generatedId;
12617
12716
  const captionId = `${textAreaId}-caption`;
12618
12717
  const charCountId = `${textAreaId}-charcount`;
@@ -12620,17 +12719,30 @@ var TextAreaField = React77__namespace.forwardRef(
12620
12719
  const helperText = hasError ? error : caption;
12621
12720
  const hasActionBar = !!(leadActions || tailActions);
12622
12721
  const showCount = !!(showCharCount && maxLength);
12722
+ const innerRef = React78__namespace.useRef(null);
12723
+ React78__namespace.useImperativeHandle(ref, () => innerRef.current, []);
12724
+ const focusTextareaOnDecorationClick = (e) => {
12725
+ var _a2;
12726
+ if (disabled) return;
12727
+ const target = e.target;
12728
+ if (target === innerRef.current) return;
12729
+ if (target.closest('button, a, input, textarea, select, [role="button"], [role="toolbar"]')) return;
12730
+ e.preventDefault();
12731
+ (_a2 = innerRef.current) == null ? void 0 : _a2.focus();
12732
+ };
12733
+ const resolvedSpellCheck = spellCheck != null ? spellCheck : false;
12734
+ const resolvedAutoComplete = autoComplete != null ? autoComplete : "off";
12623
12735
  const isResizable = !!(resizable && !compact && !bottomToolbar && !hasActionBar);
12624
12736
  const describedByIds = [
12625
12737
  helperText ? captionId : null,
12626
12738
  showCount ? charCountId : null
12627
12739
  ].filter(Boolean).join(" ") || void 0;
12628
- const [charCount, setCharCount] = React77__namespace.useState(() => {
12740
+ const [charCount, setCharCount] = React78__namespace.useState(() => {
12629
12741
  if (value !== void 0) return String(value).length;
12630
12742
  if (defaultValue !== void 0) return String(defaultValue).length;
12631
12743
  return 0;
12632
12744
  });
12633
- React77__namespace.useEffect(() => {
12745
+ React78__namespace.useEffect(() => {
12634
12746
  if (value !== void 0) {
12635
12747
  setCharCount(String(value).length);
12636
12748
  }
@@ -12653,6 +12765,7 @@ var TextAreaField = React77__namespace.forwardRef(
12653
12765
  /* @__PURE__ */ jsxRuntime.jsx(
12654
12766
  "div",
12655
12767
  {
12768
+ onPointerDown: focusTextareaOnDecorationClick,
12656
12769
  className: cn(
12657
12770
  textAreaContainerVariants({ inputStyle }),
12658
12771
  // overflow-clip clips rounded corners on children; disable when resizable
@@ -12683,11 +12796,13 @@ var TextAreaField = React77__namespace.forwardRef(
12683
12796
  /* @__PURE__ */ jsxRuntime.jsx(
12684
12797
  "textarea",
12685
12798
  __spreadValues({
12686
- ref,
12799
+ ref: innerRef,
12687
12800
  id: textAreaId,
12688
12801
  rows: 1,
12689
12802
  disabled,
12690
12803
  required,
12804
+ spellCheck: resolvedSpellCheck,
12805
+ autoComplete: resolvedAutoComplete,
12691
12806
  maxLength,
12692
12807
  value,
12693
12808
  defaultValue,
@@ -12696,7 +12811,8 @@ var TextAreaField = React77__namespace.forwardRef(
12696
12811
  "aria-describedby": describedByIds,
12697
12812
  className: cn(
12698
12813
  "flex-1 min-w-0 resize-none overflow-hidden bg-transparent outline-none",
12699
- "text-sm leading-5",
12814
+ // #29 16px on touch (prevents iOS zoom), 14px on md+
12815
+ "text-base md:text-sm leading-5",
12700
12816
  "text-sui-text-default",
12701
12817
  "placeholder:text-sui-text-muted",
12702
12818
  disabled && "text-sui-text-hint placeholder:text-sui-text-hint cursor-not-allowed"
@@ -12720,10 +12836,12 @@ var TextAreaField = React77__namespace.forwardRef(
12720
12836
  /* @__PURE__ */ jsxRuntime.jsx(
12721
12837
  "textarea",
12722
12838
  __spreadValues({
12723
- ref,
12839
+ ref: innerRef,
12724
12840
  id: textAreaId,
12725
12841
  disabled,
12726
12842
  required,
12843
+ spellCheck: resolvedSpellCheck,
12844
+ autoComplete: resolvedAutoComplete,
12727
12845
  maxLength,
12728
12846
  value,
12729
12847
  defaultValue,
@@ -12732,7 +12850,8 @@ var TextAreaField = React77__namespace.forwardRef(
12732
12850
  "aria-describedby": describedByIds,
12733
12851
  className: cn(
12734
12852
  "min-h-[60px] w-full bg-transparent outline-none",
12735
- "text-sm leading-5",
12853
+ // #29 16px on touch (prevents iOS zoom), 14px on md+
12854
+ "text-base md:text-sm leading-5",
12736
12855
  "text-sui-text-default",
12737
12856
  "placeholder:text-sui-text-muted",
12738
12857
  isResizable ? "resize-y overflow-y-auto pr-3 pb-3" : "flex-1 resize-none overflow-hidden",
@@ -12809,11 +12928,12 @@ var TextAreaField = React77__namespace.forwardRef(
12809
12928
  }
12810
12929
  );
12811
12930
  TextAreaField.displayName = "TextAreaField";
12812
- var Textarea = React77__namespace.forwardRef((_a, ref) => {
12813
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
12931
+ var Textarea = React78__namespace.forwardRef((_a, ref) => {
12932
+ var _b = _a, { className, spellCheck } = _b, props = __objRest(_b, ["className", "spellCheck"]);
12814
12933
  return /* @__PURE__ */ jsxRuntime.jsx(
12815
12934
  "textarea",
12816
12935
  __spreadValues({
12936
+ spellCheck: spellCheck != null ? spellCheck : false,
12817
12937
  className: cn(
12818
12938
  "flex min-h-[80px] w-full rounded-md border border-sui-border-darker bg-sui-bg-input px-3 py-2 text-base ring-offset-sui-bg-default placeholder:text-sui-text-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sui-border-highlight focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:text-sui-text-hint disabled:pointer-events-none md:text-sm",
12819
12939
  className
@@ -12837,13 +12957,13 @@ var toggleVariants = classVarianceAuthority.cva(
12837
12957
  variant: {
12838
12958
  default: [
12839
12959
  "bg-sui-bg-state-ghost text-sui-text-muted [&_svg]:text-icon-default-muted [&_i]:text-icon-default-muted",
12840
- "hover:bg-sui-bg-state-ghost-hover hover:text-sui-text-subtle",
12960
+ "[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover [@media(hover:hover)]:hover:text-sui-text-subtle",
12841
12961
  "active:bg-sui-bg-state-ghost-press",
12842
12962
  "data-[state=on]:bg-sui-bg-badge-blue data-[state=on]:text-sui-bg-basic-blue-strong data-[state=on]:[&_svg]:text-sui-bg-basic-blue-strong data-[state=on]:[&_i]:text-sui-bg-basic-blue-strong"
12843
12963
  ].join(" "),
12844
12964
  outline: [
12845
12965
  "bg-sui-bg-state-secondary border border-sui-border-darker text-sui-text-muted [&_svg]:text-icon-default-muted [&_i]:text-icon-default-muted shadow-default",
12846
- "hover:bg-sui-bg-state-secondary-hover hover:text-sui-text-subtle",
12966
+ "[@media(hover:hover)]:hover:bg-sui-bg-state-secondary-hover [@media(hover:hover)]:hover:text-sui-text-subtle",
12847
12967
  "active:bg-sui-bg-state-secondary-press",
12848
12968
  "data-[state=on]:bg-sui-bg-badge-blue data-[state=on]:border-sui-border-blue data-[state=on]:text-sui-bg-basic-blue-strong data-[state=on]:[&_svg]:text-sui-bg-basic-blue-strong data-[state=on]:[&_i]:text-sui-bg-basic-blue-strong"
12849
12969
  ].join(" ")
@@ -12861,7 +12981,7 @@ var toggleVariants = classVarianceAuthority.cva(
12861
12981
  }
12862
12982
  }
12863
12983
  );
12864
- var Toggle = React77__namespace.forwardRef((_a, ref) => {
12984
+ var Toggle = React78__namespace.forwardRef((_a, ref) => {
12865
12985
  var _b = _a, { className, variant, size } = _b, props = __objRest(_b, ["className", "variant", "size"]);
12866
12986
  return /* @__PURE__ */ jsxRuntime.jsx(
12867
12987
  TogglePrimitive__namespace.Root,
@@ -12873,7 +12993,7 @@ var Toggle = React77__namespace.forwardRef((_a, ref) => {
12873
12993
  });
12874
12994
  Toggle.displayName = TogglePrimitive__namespace.Root.displayName;
12875
12995
  function useMergedRef(...refs) {
12876
- return React77__namespace.useCallback((node) => {
12996
+ return React78__namespace.useCallback((node) => {
12877
12997
  refs.forEach((ref) => {
12878
12998
  if (typeof ref === "function") ref(node);
12879
12999
  else if (ref && "current" in ref)
@@ -12902,13 +13022,13 @@ var chipSizeMap = {
12902
13022
  xs: "sm",
12903
13023
  "2xs": "sm"
12904
13024
  };
12905
- var ToggleGroupContext = React77__namespace.createContext(null);
13025
+ var ToggleGroupContext = React78__namespace.createContext(null);
12906
13026
  function useToggleGroup() {
12907
- const ctx = React77__namespace.useContext(ToggleGroupContext);
13027
+ const ctx = React78__namespace.useContext(ToggleGroupContext);
12908
13028
  if (!ctx) throw new Error("ToggleGroupItem must be used within a ToggleGroup");
12909
13029
  return ctx;
12910
13030
  }
12911
- var ToggleGroup = React77__namespace.forwardRef(
13031
+ var ToggleGroup = React78__namespace.forwardRef(
12912
13032
  (props, ref) => {
12913
13033
  const {
12914
13034
  type,
@@ -12923,16 +13043,16 @@ var ToggleGroup = React77__namespace.forwardRef(
12923
13043
  const controlledValue = "value" in props ? props.value : void 0;
12924
13044
  const defaultValue = "defaultValue" in props ? props.defaultValue : void 0;
12925
13045
  const onValueChange = "onValueChange" in props ? props.onValueChange : void 0;
12926
- const [internalValue, setInternalValue] = React77__namespace.useState(
13046
+ const [internalValue, setInternalValue] = React78__namespace.useState(
12927
13047
  defaultValue
12928
13048
  );
12929
13049
  const isControlled = controlledValue !== void 0;
12930
13050
  const value = isControlled ? controlledValue : internalValue;
12931
- const [rovingFocusValue, setRovingFocusValue] = React77__namespace.useState(null);
12932
- const itemRefs = React77__namespace.useRef(/* @__PURE__ */ new Map());
12933
- const itemValues = React77__namespace.useRef([]);
12934
- const [, notifyRegistration] = React77__namespace.useReducer((x) => x + 1, 0);
12935
- const isActive = React77__namespace.useCallback(
13051
+ const [rovingFocusValue, setRovingFocusValue] = React78__namespace.useState(null);
13052
+ const itemRefs = React78__namespace.useRef(/* @__PURE__ */ new Map());
13053
+ const itemValues = React78__namespace.useRef([]);
13054
+ const [, notifyRegistration] = React78__namespace.useReducer((x) => x + 1, 0);
13055
+ const isActive = React78__namespace.useCallback(
12936
13056
  (itemValue) => {
12937
13057
  if (type === "single") return value === itemValue;
12938
13058
  if (type === "multiple" && Array.isArray(value)) return value.includes(itemValue);
@@ -12940,7 +13060,7 @@ var ToggleGroup = React77__namespace.forwardRef(
12940
13060
  },
12941
13061
  [type, value]
12942
13062
  );
12943
- const toggle = React77__namespace.useCallback(
13063
+ const toggle = React78__namespace.useCallback(
12944
13064
  (itemValue) => {
12945
13065
  if (type === "single") {
12946
13066
  const newValue = value === itemValue ? void 0 : itemValue;
@@ -12984,7 +13104,7 @@ var ToggleGroup = React77__namespace.forwardRef(
12984
13104
  }
12985
13105
  );
12986
13106
  ToggleGroup.displayName = "ToggleGroup";
12987
- var ToggleGroupItem = React77__namespace.forwardRef(
13107
+ var ToggleGroupItem = React78__namespace.forwardRef(
12988
13108
  (_a, ref) => {
12989
13109
  var _b = _a, {
12990
13110
  value: itemValue,
@@ -13019,9 +13139,9 @@ var ToggleGroupItem = React77__namespace.forwardRef(
13019
13139
  const disabled = ctx.disabled || itemDisabled;
13020
13140
  const resolvedSize = bgSize != null ? bgSize : "lg";
13021
13141
  const chipSize = chipSizeMap[resolvedSize];
13022
- const internalRef = React77__namespace.useRef(null);
13142
+ const internalRef = React78__namespace.useRef(null);
13023
13143
  const mergedRef = useMergedRef(ref, internalRef);
13024
- React77__namespace.useEffect(() => {
13144
+ React78__namespace.useEffect(() => {
13025
13145
  const el = internalRef.current;
13026
13146
  if (!el) return;
13027
13147
  ctx.itemRefs.current.set(itemValue, el);
@@ -13151,11 +13271,11 @@ var ToggleGroupItem = React77__namespace.forwardRef(
13151
13271
  className: cn(
13152
13272
  "inline-flex items-center justify-center select-none transition-colors rounded-none",
13153
13273
  "[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
13154
- "focus-visible:outline focus-visible:outline-[3px] focus-visible:outline-sui-border-highlight focus-visible:outline-offset-[1px] focus-visible:z-10",
13155
- "focus-visible:ring-0 focus-visible:ring-offset-0",
13274
+ // Web Interface Guidelines #42 — focus ring via box-shadow (ring), not outline.
13275
+ "focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-sui-border-highlight focus-visible:ring-offset-[1px] focus-visible:z-10",
13156
13276
  // Ghost-like unselected state
13157
13277
  "bg-sui-bg-state-ghost text-sui-text-muted [&_svg]:text-icon-default-muted",
13158
- "hover:bg-sui-bg-state-ghost-hover hover:text-sui-text-subtle hover:[&_svg]:text-icon-default-subtle",
13278
+ "[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover [@media(hover:hover)]:hover:text-sui-text-subtle [@media(hover:hover)]:hover:[&_svg]:text-icon-default-subtle",
13159
13279
  "active:bg-sui-bg-state-ghost-press",
13160
13280
  // Selected state
13161
13281
  active && "bg-sui-bg-badge-blue text-sui-bg-basic-blue-strong [&_svg]:text-sui-bg-basic-blue-strong",
@@ -13189,9 +13309,9 @@ var ToggleGroupItem = React77__namespace.forwardRef(
13189
13309
  "aria-label": ariaLabel,
13190
13310
  className: cn(
13191
13311
  "rounded-none transition-all duration-200",
13192
- // Override Chip's ring-based focus ring with outline + z-10 (matches ButtonGroupItem)
13193
- "focus-visible:outline focus-visible:outline-[3px] focus-visible:outline-sui-border-highlight focus-visible:outline-offset-[1px] focus-visible:z-10",
13194
- "focus-visible:ring-0 focus-visible:ring-offset-0",
13312
+ // Web Interface Guidelines #42 — focus ring via box-shadow (ring), respects radius.
13313
+ // Overrides Chip's ring with z-10 so it sits above adjacent items.
13314
+ "focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-sui-border-highlight focus-visible:ring-offset-[1px] focus-visible:z-10",
13195
13315
  iconOnly ? iconOnlySizeOverrides[resolvedSize] : sizeOverrides[resolvedSize],
13196
13316
  showSeparator && "border-l border-l-sui-border-darker",
13197
13317
  className
@@ -13212,12 +13332,12 @@ var userbarVariants = classVarianceAuthority.cva(
13212
13332
  default: [
13213
13333
  "w-full gap-3 p-3",
13214
13334
  "bg-sui-bg-state-ghost border-b border-sui-border-default",
13215
- "hover:bg-sui-bg-state-ghost-hover active:bg-sui-bg-state-ghost-press"
13335
+ "[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover active:bg-sui-bg-state-ghost-press"
13216
13336
  ],
13217
13337
  compact: [
13218
13338
  "gap-2 p-1 rounded-md",
13219
13339
  "bg-sui-bg-state-ghost",
13220
- "hover:bg-sui-bg-state-ghost-hover active:bg-sui-bg-state-ghost-press"
13340
+ "[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover active:bg-sui-bg-state-ghost-press"
13221
13341
  ],
13222
13342
  contained: [
13223
13343
  "w-full p-3",
@@ -13238,7 +13358,7 @@ var containedInnerVariants = classVarianceAuthority.cva(
13238
13358
  "group-hover:bg-sui-bg-state-secondary-hover group-active:bg-sui-bg-state-secondary-press"
13239
13359
  ]
13240
13360
  );
13241
- var Userbar = React77__namespace.forwardRef(
13361
+ var Userbar = React78__namespace.forwardRef(
13242
13362
  (_a, ref) => {
13243
13363
  var _b = _a, {
13244
13364
  className,
@@ -13347,7 +13467,7 @@ var Userbar = React77__namespace.forwardRef(
13347
13467
  }
13348
13468
  );
13349
13469
  Userbar.displayName = "Userbar";
13350
- var VerticalStepperItem = React77__namespace.forwardRef(
13470
+ var VerticalStepperItem = React78__namespace.forwardRef(
13351
13471
  (_a, ref) => {
13352
13472
  var _b = _a, {
13353
13473
  className,
@@ -13483,7 +13603,7 @@ var VerticalStepperItem = React77__namespace.forwardRef(
13483
13603
  }
13484
13604
  );
13485
13605
  VerticalStepperItem.displayName = "VerticalStepperItem";
13486
- var VerticalStepper = React77__namespace.forwardRef(
13606
+ var VerticalStepper = React78__namespace.forwardRef(
13487
13607
  (_a, ref) => {
13488
13608
  var _b = _a, {
13489
13609
  className,