@tutti-os/ui-system 0.0.98 → 0.0.100

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.
@@ -275,7 +275,7 @@ function CardFooter({ className, ...props }) {
275
275
 
276
276
  // src/components/checkbox/checkbox.tsx
277
277
  import { Checkbox as CheckboxPrimitive } from "radix-ui";
278
- import { jsx as jsx5 } from "react/jsx-runtime";
278
+ import { jsx as jsx5, jsxs } from "react/jsx-runtime";
279
279
  function Checkbox({
280
280
  className,
281
281
  ...props
@@ -285,16 +285,19 @@ function Checkbox({
285
285
  {
286
286
  "data-slot": "checkbox",
287
287
  className: cn(
288
- "peer inline-flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-[var(--border-1)] bg-[var(--transparency-block)] text-[var(--text-inverted)] transition-[background-color,border-color,color,box-shadow] outline-none focus-visible:border-[var(--border-focus)] focus-visible:ring-2 focus-visible:ring-[color-mix(in_srgb,var(--border-focus)_30%,transparent)] disabled:cursor-not-allowed disabled:border-[var(--border-1)] disabled:bg-[var(--transparency-block)] disabled:text-[var(--text-inverted)] disabled:opacity-100 data-disabled:border-[var(--border-1)] aria-invalid:border-[var(--state-danger)] aria-invalid:ring-2 aria-invalid:ring-[color-mix(in_srgb,var(--state-danger)_20%,transparent)] data-[state=checked]:border-[var(--text-primary)] data-[state=checked]:bg-[var(--text-primary)] data-[state=unchecked]:hover:border-[color-mix(in_srgb,var(--text-primary)_40%,transparent)] disabled:data-[state=checked]:border-[var(--border-1)] disabled:data-[state=checked]:bg-[var(--text-disabled)] data-disabled:data-[state=checked]:border-[var(--border-1)]",
288
+ "peer inline-flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-[var(--border-1)] bg-[var(--transparency-block)] text-[var(--text-inverted)] transition-[background-color,border-color,color,box-shadow] outline-none focus-visible:border-[var(--border-focus)] focus-visible:ring-2 focus-visible:ring-[color-mix(in_srgb,var(--border-focus)_30%,transparent)] disabled:cursor-not-allowed disabled:border-[var(--border-1)] disabled:bg-[var(--transparency-block)] disabled:text-[var(--text-inverted)] disabled:opacity-100 data-disabled:border-[var(--border-1)] aria-invalid:border-[var(--state-danger)] aria-invalid:ring-2 aria-invalid:ring-[color-mix(in_srgb,var(--state-danger)_20%,transparent)] data-[state=checked]:border-[var(--text-primary)] data-[state=checked]:bg-[var(--text-primary)] data-[state=indeterminate]:border-[var(--text-primary)] data-[state=indeterminate]:bg-[var(--text-primary)] data-[state=unchecked]:hover:border-[color-mix(in_srgb,var(--text-primary)_40%,transparent)] disabled:data-[state=checked]:border-[var(--border-1)] disabled:data-[state=checked]:bg-[var(--text-disabled)] disabled:data-[state=indeterminate]:border-[var(--border-1)] disabled:data-[state=indeterminate]:bg-[var(--text-disabled)] data-disabled:data-[state=checked]:border-[var(--border-1)] data-disabled:data-[state=indeterminate]:border-[var(--border-1)]",
289
289
  className
290
290
  ),
291
291
  ...props,
292
- children: /* @__PURE__ */ jsx5(
292
+ children: /* @__PURE__ */ jsxs(
293
293
  CheckboxPrimitive.Indicator,
294
294
  {
295
295
  "data-slot": "checkbox-indicator",
296
- className: "grid place-content-center text-current transition-none [&>svg]:size-3",
297
- children: /* @__PURE__ */ jsx5(CheckIcon, { size: 14 })
296
+ className: "grid place-content-center text-current transition-none data-[state=checked]:[&>span]:hidden data-[state=indeterminate]:[&>svg]:hidden [&>svg]:size-3",
297
+ children: [
298
+ /* @__PURE__ */ jsx5(CheckIcon, { size: 14 }),
299
+ /* @__PURE__ */ jsx5("span", { className: "h-0.5 w-2.5 rounded-full bg-current" })
300
+ ]
298
301
  }
299
302
  )
300
303
  }
@@ -304,7 +307,7 @@ function Checkbox({
304
307
  // src/components/dialog/dialog.tsx
305
308
  import * as React3 from "react";
306
309
  import { Dialog as DialogPrimitive } from "radix-ui";
307
- import { Fragment, jsx as jsx6, jsxs } from "react/jsx-runtime";
310
+ import { Fragment, jsx as jsx6, jsxs as jsxs2 } from "react/jsx-runtime";
308
311
  var dialogCloseDurationMs = 150;
309
312
  var DialogMotionContext = React3.createContext({
310
313
  open: false
@@ -397,9 +400,9 @@ function DialogContent({
397
400
  if (!mounted) {
398
401
  return null;
399
402
  }
400
- const content = /* @__PURE__ */ jsxs(Fragment, { children: [
403
+ const content = /* @__PURE__ */ jsxs2(Fragment, { children: [
401
404
  /* @__PURE__ */ jsx6(DialogOverlay, { className: overlayClassName, forceMount: true }),
402
- /* @__PURE__ */ jsxs(
405
+ /* @__PURE__ */ jsxs2(
403
406
  DialogPrimitive.Content,
404
407
  {
405
408
  "data-slot": "dialog-content",
@@ -413,7 +416,7 @@ function DialogContent({
413
416
  ...props,
414
417
  children: [
415
418
  children,
416
- showCloseButton && /* @__PURE__ */ jsx6(DialogPrimitive.Close, { "data-slot": "dialog-close", asChild: true, children: /* @__PURE__ */ jsxs(
419
+ showCloseButton && /* @__PURE__ */ jsx6(DialogPrimitive.Close, { "data-slot": "dialog-close", asChild: true, children: /* @__PURE__ */ jsxs2(
417
420
  Button,
418
421
  {
419
422
  variant: "ghost",
@@ -450,7 +453,7 @@ function DialogFooter({
450
453
  children,
451
454
  ...props
452
455
  }) {
453
- return /* @__PURE__ */ jsxs(
456
+ return /* @__PURE__ */ jsxs2(
454
457
  "div",
455
458
  {
456
459
  "data-slot": "dialog-footer",
@@ -500,7 +503,7 @@ function DialogDescription({
500
503
  }
501
504
 
502
505
  // src/components/confirmation-dialog/confirmation-dialog.tsx
503
- import { jsx as jsx7, jsxs as jsxs2 } from "react/jsx-runtime";
506
+ import { jsx as jsx7, jsxs as jsxs3 } from "react/jsx-runtime";
504
507
  function confirmToneClassName(tone) {
505
508
  if (tone === "destructive") {
506
509
  return "shadow-none";
@@ -528,7 +531,7 @@ function ConfirmationDialog({
528
531
  title
529
532
  }) {
530
533
  const isCloseDisabled = disableCloseWhileBusy && confirmBusy;
531
- return /* @__PURE__ */ jsx7(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs2(
534
+ return /* @__PURE__ */ jsx7(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs3(
532
535
  DialogContent,
533
536
  {
534
537
  className: cn(
@@ -549,12 +552,12 @@ function ConfirmationDialog({
549
552
  }
550
553
  },
551
554
  children: [
552
- /* @__PURE__ */ jsxs2(DialogHeader, { children: [
555
+ /* @__PURE__ */ jsxs3(DialogHeader, { children: [
553
556
  /* @__PURE__ */ jsx7(DialogTitle, { children: title }),
554
557
  description ? /* @__PURE__ */ jsx7(DialogDescription, { children: description }) : null
555
558
  ] }),
556
559
  children ? /* @__PURE__ */ jsx7("div", { className: "text-[13px] leading-[1.3] text-text-secondary", children }) : null,
557
- footer ?? /* @__PURE__ */ jsxs2(DialogFooter, { children: [
560
+ footer ?? /* @__PURE__ */ jsxs3(DialogFooter, { children: [
558
561
  /* @__PURE__ */ jsx7(
559
562
  Button,
560
563
  {
@@ -687,7 +690,7 @@ function ContextMenuItem({
687
690
  // src/components/date-picker/date-picker.tsx
688
691
  import * as React5 from "react";
689
692
  import { createPortal } from "react-dom";
690
- import { Fragment as Fragment2, jsx as jsx10, jsxs as jsxs3 } from "react/jsx-runtime";
693
+ import { Fragment as Fragment2, jsx as jsx10, jsxs as jsxs4 } from "react/jsx-runtime";
691
694
  var defaultLabels = {
692
695
  placeholder: "Year / Month / Day",
693
696
  previousMonth: "Previous month",
@@ -890,7 +893,7 @@ var DatePicker = React5.forwardRef(
890
893
  setIsOpen(false);
891
894
  triggerRef.current?.focus();
892
895
  };
893
- return /* @__PURE__ */ jsxs3(Fragment2, { children: [
896
+ return /* @__PURE__ */ jsxs4(Fragment2, { children: [
894
897
  /* @__PURE__ */ jsx10(
895
898
  "button",
896
899
  {
@@ -926,7 +929,7 @@ var DatePicker = React5.forwardRef(
926
929
  }
927
930
  ),
928
931
  isOpen && popoverPosition ? createPortal(
929
- /* @__PURE__ */ jsxs3(
932
+ /* @__PURE__ */ jsxs4(
930
933
  "div",
931
934
  {
932
935
  ref: popoverRef,
@@ -939,9 +942,9 @@ var DatePicker = React5.forwardRef(
939
942
  zIndex: "var(--z-popover)"
940
943
  },
941
944
  children: [
942
- /* @__PURE__ */ jsxs3("div", { className: "mb-3 flex items-center justify-between gap-2", children: [
945
+ /* @__PURE__ */ jsxs4("div", { className: "mb-3 flex items-center justify-between gap-2", children: [
943
946
  /* @__PURE__ */ jsx10("div", { className: "text-[13px] font-semibold text-foreground", children: formatMonthLabel(visibleMonth) }),
944
- /* @__PURE__ */ jsxs3("div", { className: "flex items-center gap-1", children: [
947
+ /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-1", children: [
945
948
  /* @__PURE__ */ jsx10(
946
949
  "button",
947
950
  {
@@ -1006,7 +1009,7 @@ var DatePicker = React5.forwardRef(
1006
1009
  })
1007
1010
  }
1008
1011
  ),
1009
- /* @__PURE__ */ jsxs3("div", { className: "mt-3 flex items-center justify-between gap-2 border-t border-border/70 pt-3", children: [
1012
+ /* @__PURE__ */ jsxs4("div", { className: "mt-3 flex items-center justify-between gap-2 border-t border-border/70 pt-3", children: [
1010
1013
  /* @__PURE__ */ jsx10(
1011
1014
  "button",
1012
1015
  {
@@ -1042,7 +1045,7 @@ DatePicker.displayName = "DatePicker";
1042
1045
 
1043
1046
  // src/components/drawer/drawer.tsx
1044
1047
  import { Drawer as DrawerPrimitive } from "vaul";
1045
- import { jsx as jsx11, jsxs as jsxs4 } from "react/jsx-runtime";
1048
+ import { jsx as jsx11, jsxs as jsxs5 } from "react/jsx-runtime";
1046
1049
  function Drawer({
1047
1050
  ...props
1048
1051
  }) {
@@ -1089,9 +1092,9 @@ function DrawerContent({
1089
1092
  style,
1090
1093
  ...props
1091
1094
  }) {
1092
- return /* @__PURE__ */ jsxs4(DrawerPortal, { "data-slot": "drawer-portal", container: portalContainer, children: [
1095
+ return /* @__PURE__ */ jsxs5(DrawerPortal, { "data-slot": "drawer-portal", container: portalContainer, children: [
1093
1096
  showOverlay ? /* @__PURE__ */ jsx11(DrawerOverlay, {}) : null,
1094
- /* @__PURE__ */ jsxs4(
1097
+ /* @__PURE__ */ jsxs5(
1095
1098
  DrawerPrimitive.Content,
1096
1099
  {
1097
1100
  "data-slot": "drawer-content",
@@ -1168,7 +1171,7 @@ function DrawerDescription({
1168
1171
 
1169
1172
  // src/components/dropdown-menu/dropdown-menu.tsx
1170
1173
  import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
1171
- import { jsx as jsx12, jsxs as jsxs5 } from "react/jsx-runtime";
1174
+ import { jsx as jsx12, jsxs as jsxs6 } from "react/jsx-runtime";
1172
1175
  function DropdownMenu({
1173
1176
  ...props
1174
1177
  }) {
@@ -1263,7 +1266,7 @@ function DropdownMenuCheckboxItem({
1263
1266
  inset,
1264
1267
  ...props
1265
1268
  }) {
1266
- return /* @__PURE__ */ jsxs5(
1269
+ return /* @__PURE__ */ jsxs6(
1267
1270
  DropdownMenuPrimitive.CheckboxItem,
1268
1271
  {
1269
1272
  checked,
@@ -1308,7 +1311,7 @@ function DropdownMenuRadioItem({
1308
1311
  inset,
1309
1312
  ...props
1310
1313
  }) {
1311
- return /* @__PURE__ */ jsxs5(
1314
+ return /* @__PURE__ */ jsxs6(
1312
1315
  DropdownMenuPrimitive.RadioItem,
1313
1316
  {
1314
1317
  "data-inset": inset,
@@ -1391,7 +1394,7 @@ function DropdownMenuSubTrigger({
1391
1394
  children,
1392
1395
  ...props
1393
1396
  }) {
1394
- return /* @__PURE__ */ jsxs5(
1397
+ return /* @__PURE__ */ jsxs6(
1395
1398
  DropdownMenuPrimitive.SubTrigger,
1396
1399
  {
1397
1400
  "data-inset": inset,
@@ -1530,23 +1533,34 @@ function TooltipContent({
1530
1533
  }
1531
1534
 
1532
1535
  // src/components/mention-pill/truncating-pill-label.tsx
1533
- import { jsx as jsx15, jsxs as jsxs6 } from "react/jsx-runtime";
1534
- function useTextOverflow(watch) {
1536
+ import { jsx as jsx15, jsxs as jsxs7 } from "react/jsx-runtime";
1537
+ function useTextOverflow(watch, descendantSelector) {
1535
1538
  const ref = React6.useRef(null);
1536
1539
  const [overflowing, setOverflowing] = React6.useState(false);
1537
1540
  React6.useEffect(() => {
1538
1541
  const element = ref.current;
1539
- if (!element || typeof ResizeObserver === "undefined") {
1542
+ if (!element) {
1540
1543
  return;
1541
1544
  }
1545
+ const overflowCandidates = () => [
1546
+ element,
1547
+ ...descendantSelector ? element.querySelectorAll(descendantSelector) : []
1548
+ ];
1542
1549
  const measure = () => {
1543
- setOverflowing(element.scrollWidth - element.clientWidth > 1);
1550
+ setOverflowing(
1551
+ overflowCandidates().some(
1552
+ (candidate) => candidate.scrollWidth - candidate.clientWidth > 1
1553
+ )
1554
+ );
1544
1555
  };
1545
1556
  measure();
1557
+ if (typeof ResizeObserver === "undefined") {
1558
+ return;
1559
+ }
1546
1560
  const observer = new ResizeObserver(measure);
1547
- observer.observe(element);
1561
+ for (const candidate of overflowCandidates()) observer.observe(candidate);
1548
1562
  return () => observer.disconnect();
1549
- }, [watch]);
1563
+ }, [descendantSelector, watch]);
1550
1564
  return { ref, overflowing };
1551
1565
  }
1552
1566
  function TruncatingPillLabel({
@@ -1570,7 +1584,7 @@ function TruncatingPillLabel({
1570
1584
  if (!tooltip) {
1571
1585
  return label;
1572
1586
  }
1573
- const tooltipElement = /* @__PURE__ */ jsxs6(Tooltip, { children: [
1587
+ const tooltipElement = /* @__PURE__ */ jsxs7(Tooltip, { children: [
1574
1588
  /* @__PURE__ */ jsx15(TooltipTrigger, { asChild: true, children: label }),
1575
1589
  overflowing ? /* @__PURE__ */ jsx15(TooltipContent, { className: "max-w-[min(420px,calc(100vw-32px))] whitespace-normal text-left [overflow-wrap:anywhere]", children: tooltip }) : null
1576
1590
  ] });
@@ -1578,7 +1592,7 @@ function TruncatingPillLabel({
1578
1592
  }
1579
1593
 
1580
1594
  // src/components/mention-pill/mention-pill.tsx
1581
- import { jsx as jsx16, jsxs as jsxs7 } from "react/jsx-runtime";
1595
+ import { jsx as jsx16, jsxs as jsxs8 } from "react/jsx-runtime";
1582
1596
  var mentionPillTokenByKind = {
1583
1597
  app: "var(--rich-text-folder)",
1584
1598
  issue: "var(--rich-text-mention-issue)",
@@ -1614,7 +1628,7 @@ function MentionPill({
1614
1628
  const tooltipText = [label, summary].filter(
1615
1629
  (part) => typeof part === "string" && part.trim() !== ""
1616
1630
  ).join(" ");
1617
- return /* @__PURE__ */ jsxs7(
1631
+ return /* @__PURE__ */ jsxs8(
1618
1632
  "span",
1619
1633
  {
1620
1634
  className: cn(
@@ -1631,7 +1645,7 @@ function MentionPill({
1631
1645
  },
1632
1646
  ...props,
1633
1647
  children: [
1634
- /* @__PURE__ */ jsxs7(
1648
+ /* @__PURE__ */ jsxs8(
1635
1649
  "span",
1636
1650
  {
1637
1651
  "aria-hidden": removable ? void 0 : true,
@@ -1670,7 +1684,7 @@ function MentionPill({
1670
1684
  type: "button",
1671
1685
  ...removeButtonProps,
1672
1686
  className: cn(
1673
- "absolute top-1/2 left-1/2 inline-flex size-5 -translate-x-1/2 -translate-y-1/2 items-center justify-center rounded-sm text-[var(--text-secondary)] opacity-0 transition-opacity group-hover:opacity-100 hover:bg-transparency-block hover:text-[var(--text-primary)] focus-visible:opacity-100",
1687
+ "absolute top-1/2 left-1/2 inline-flex size-5 -translate-x-1/2 -translate-y-1/2 items-center justify-center text-[var(--text-secondary)] opacity-0 transition-opacity group-hover:opacity-100 hover:text-[var(--text-primary)] focus-visible:opacity-100",
1674
1688
  removeButtonProps?.className
1675
1689
  ),
1676
1690
  children: /* @__PURE__ */ jsx16(CloseIcon, { className: "size-3.5" })
@@ -1679,14 +1693,14 @@ function MentionPill({
1679
1693
  ]
1680
1694
  }
1681
1695
  ),
1682
- /* @__PURE__ */ jsxs7(
1696
+ /* @__PURE__ */ jsxs8(
1683
1697
  TruncatingPillLabel,
1684
1698
  {
1685
1699
  tooltip: tooltipText,
1686
1700
  withTooltipProvider,
1687
1701
  children: [
1688
1702
  /* @__PURE__ */ jsx16("span", { children: label }),
1689
- summary ? /* @__PURE__ */ jsxs7("span", { className: "text-current", children: [
1703
+ summary ? /* @__PURE__ */ jsxs8("span", { className: "text-current", children: [
1690
1704
  " ",
1691
1705
  summary
1692
1706
  ] }) : null
@@ -1826,7 +1840,7 @@ function ResizableHandle({
1826
1840
 
1827
1841
  // src/components/scroll-area/scroll-area.tsx
1828
1842
  import * as React7 from "react";
1829
- import { jsx as jsx20, jsxs as jsxs8 } from "react/jsx-runtime";
1843
+ import { jsx as jsx20, jsxs as jsxs9 } from "react/jsx-runtime";
1830
1844
  var MIN_THUMB_SIZE_PX = 24;
1831
1845
  function ScrollArea({
1832
1846
  className,
@@ -1925,7 +1939,7 @@ function CustomScrollArea({
1925
1939
  const contentRef = React7.useRef(null);
1926
1940
  const [active, setActive] = React7.useState(false);
1927
1941
  const alwaysVisible = type === "always" || type === "scroll" || hasAlwaysVisibleScrollbarSelector(className);
1928
- return /* @__PURE__ */ jsxs8(
1942
+ return /* @__PURE__ */ jsxs9(
1929
1943
  ScrollAreaFrame,
1930
1944
  {
1931
1945
  ...props,
@@ -2388,7 +2402,7 @@ function clamp(value, min, max) {
2388
2402
 
2389
2403
  // src/components/select/select.tsx
2390
2404
  import { Select as SelectPrimitive } from "radix-ui";
2391
- import { jsx as jsx21, jsxs as jsxs9 } from "react/jsx-runtime";
2405
+ import { jsx as jsx21, jsxs as jsxs10 } from "react/jsx-runtime";
2392
2406
  function Select({
2393
2407
  ...props
2394
2408
  }) {
@@ -2419,7 +2433,7 @@ function SelectTrigger({
2419
2433
  children,
2420
2434
  ...props
2421
2435
  }) {
2422
- return /* @__PURE__ */ jsxs9(
2436
+ return /* @__PURE__ */ jsxs10(
2423
2437
  SelectPrimitive.Trigger,
2424
2438
  {
2425
2439
  "data-slot": "select-trigger",
@@ -2460,7 +2474,7 @@ function SelectContent({
2460
2474
  position,
2461
2475
  align,
2462
2476
  ...props,
2463
- children: /* @__PURE__ */ jsxs9(
2477
+ children: /* @__PURE__ */ jsxs10(
2464
2478
  MenuSurface,
2465
2479
  {
2466
2480
  "data-slot": "select-content",
@@ -2589,7 +2603,7 @@ function SelectItem({
2589
2603
  forceSelectedIndicator = false,
2590
2604
  ...props
2591
2605
  }) {
2592
- return /* @__PURE__ */ jsxs9(
2606
+ return /* @__PURE__ */ jsxs10(
2593
2607
  SelectPrimitive.Item,
2594
2608
  {
2595
2609
  "data-slot": "select-item",
@@ -2684,7 +2698,7 @@ function Separator2({
2684
2698
  }
2685
2699
 
2686
2700
  // src/components/section-tabs/section-tabs.tsx
2687
- import { jsx as jsx23, jsxs as jsxs10 } from "react/jsx-runtime";
2701
+ import { jsx as jsx23, jsxs as jsxs11 } from "react/jsx-runtime";
2688
2702
  function SectionTabs({
2689
2703
  tabs,
2690
2704
  value,
@@ -2703,7 +2717,7 @@ function SectionTabs({
2703
2717
  role: "tablist",
2704
2718
  children: tabs.map((tab) => {
2705
2719
  const isActive = value === tab.value;
2706
- return /* @__PURE__ */ jsxs10(
2720
+ return /* @__PURE__ */ jsxs11(
2707
2721
  "button",
2708
2722
  {
2709
2723
  "aria-selected": isActive,
@@ -2934,7 +2948,7 @@ function Textarea({ className, ...props }) {
2934
2948
  import * as React8 from "react";
2935
2949
  import { Toast as ToastPrimitive } from "radix-ui";
2936
2950
  import { cva as cva5 } from "class-variance-authority";
2937
- import { jsx as jsx30, jsxs as jsxs11 } from "react/jsx-runtime";
2951
+ import { jsx as jsx30, jsxs as jsxs12 } from "react/jsx-runtime";
2938
2952
  var toastDefaultDurationMs = 3e3;
2939
2953
  function ToastProvider({
2940
2954
  duration = toastDefaultDurationMs,
@@ -3026,7 +3040,7 @@ function ToastTitle({
3026
3040
  }) {
3027
3041
  const toastVisual = React8.useContext(ToastVisualContext);
3028
3042
  const StatusIcon = toastVisual?.variant && hasToastStatusIcon(toastVisual.variant) ? toastStatusIconByVariant[toastVisual.variant] : null;
3029
- return /* @__PURE__ */ jsxs11(
3043
+ return /* @__PURE__ */ jsxs12(
3030
3044
  ToastPrimitive.Title,
3031
3045
  {
3032
3046
  "data-slot": "toast-title",
@@ -3104,7 +3118,7 @@ function ToastViewport({
3104
3118
 
3105
3119
  // src/components/underline-tabs/underline-tabs.tsx
3106
3120
  import { useEffect as useEffect5, useLayoutEffect as useLayoutEffect2, useRef as useRef4, useState as useState5 } from "react";
3107
- import { jsx as jsx31, jsxs as jsxs12 } from "react/jsx-runtime";
3121
+ import { jsx as jsx31, jsxs as jsxs13 } from "react/jsx-runtime";
3108
3122
  function UnderlineTabs({
3109
3123
  tabs,
3110
3124
  value,
@@ -3187,7 +3201,7 @@ function UnderlineTabs({
3187
3201
  behavior: "smooth"
3188
3202
  });
3189
3203
  };
3190
- return /* @__PURE__ */ jsxs12(
3204
+ return /* @__PURE__ */ jsxs13(
3191
3205
  "div",
3192
3206
  {
3193
3207
  "aria-label": ariaLabel,
@@ -3213,7 +3227,7 @@ function UnderlineTabs({
3213
3227
  "data-can-scroll-right": overflow.canScrollRight ? "true" : "false",
3214
3228
  "data-slot": "underline-tabs-viewport",
3215
3229
  "data-testid": viewportTestId,
3216
- children: /* @__PURE__ */ jsxs12(
3230
+ children: /* @__PURE__ */ jsxs13(
3217
3231
  "div",
3218
3232
  {
3219
3233
  ref: rowRef,
@@ -3221,7 +3235,7 @@ function UnderlineTabs({
3221
3235
  children: [
3222
3236
  tabs.map((tab) => {
3223
3237
  const isActive = value === tab.value;
3224
- return /* @__PURE__ */ jsxs12(
3238
+ return /* @__PURE__ */ jsxs13(
3225
3239
  "button",
3226
3240
  {
3227
3241
  ref: (element) => {
@@ -3723,4 +3737,4 @@ export {
3723
3737
  UnderlineTabs,
3724
3738
  ViewportMenuSurface
3725
3739
  };
3726
- //# sourceMappingURL=chunk-XVAQEGXC.js.map
3740
+ //# sourceMappingURL=chunk-KZUD2UJX.js.map