@tutti-os/ui-system 0.0.97 → 0.0.99

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.
@@ -15,7 +15,7 @@ import {
15
15
  SuccessFilledIcon,
16
16
  WarningFilledIcon,
17
17
  WarningLinedIcon
18
- } from "./chunk-3WFA2ORO.js";
18
+ } from "./chunk-KBF64EIF.js";
19
19
  import {
20
20
  cn
21
21
  } from "./chunk-DGPY4WP3.js";
@@ -125,6 +125,7 @@ var buttonVariants = cva3(
125
125
  ghost: "bg-transparent text-[var(--text-primary)] hover:bg-transparency-hover aria-expanded:bg-transparency-hover aria-expanded:text-[var(--text-primary)]",
126
126
  chrome: "border border-transparent bg-transparent text-[var(--text-tertiary)] shadow-none hover:border-transparent hover:bg-[var(--transparency-hover)] hover:text-[var(--text-primary)] active:bg-[var(--transparency-active)] active:text-[var(--text-primary)] aria-expanded:border-transparent aria-expanded:bg-[var(--transparency-block)] aria-expanded:text-[var(--text-primary)] disabled:pointer-events-auto disabled:cursor-not-allowed disabled:opacity-45",
127
127
  destructive: "bg-[var(--state-danger)] text-[var(--white-stationary)] hover:bg-[var(--state-danger-hover)] focus-visible:border-[var(--state-danger)] focus-visible:ring-[color-mix(in_srgb,var(--state-danger)_25%,transparent)]",
128
+ "destructive-secondary": "bg-[var(--on-danger)] text-[var(--state-danger)] hover:bg-[var(--on-danger-hover)] focus-visible:border-[var(--state-danger)] focus-visible:ring-[color-mix(in_srgb,var(--state-danger)_25%,transparent)]",
128
129
  link: "text-primary underline-offset-4 hover:underline"
129
130
  },
130
131
  size: {
@@ -1461,7 +1462,7 @@ function Input({
1461
1462
  "data-size": size,
1462
1463
  "data-variant": resolvedVariant,
1463
1464
  className: cn(
1464
- "w-full min-w-0 appearance-none border border-transparent bg-[var(--transparency-block)] font-normal text-[var(--text-primary)] shadow-none transition-colors duration-200 outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-[13px] file:font-medium file:text-[var(--text-primary)] placeholder:text-[var(--text-placeholder)] hover:bg-[var(--transparency-hover)] focus:bg-[var(--transparency-hover)] focus-visible:border-transparent focus-visible:bg-[var(--transparency-hover)] focus-visible:ring-0 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-[var(--transparency-block)] disabled:text-[var(--text-disabled)] disabled:opacity-100 aria-invalid:border-[var(--state-danger)] aria-invalid:bg-[var(--transparency-block)] aria-invalid:hover:bg-[var(--transparency-hover)] aria-invalid:focus:bg-[var(--transparency-hover)] aria-invalid:focus-visible:bg-[var(--transparency-hover)] aria-invalid:ring-0 aria-invalid:shadow-none",
1465
+ "w-full min-w-0 appearance-none border-0 bg-[var(--transparency-block)] font-normal text-[var(--text-primary)] shadow-none transition-colors duration-200 outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-[13px] file:font-medium file:text-[var(--text-primary)] placeholder:text-[var(--text-placeholder)] hover:bg-[var(--transparency-hover)] focus:bg-[var(--transparency-hover)] focus-visible:border-0 focus-visible:bg-[var(--transparency-hover)] focus-visible:ring-0 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-[var(--transparency-block)] disabled:text-[var(--text-disabled)] disabled:opacity-100 aria-invalid:border-0 aria-invalid:bg-[var(--transparency-block)] aria-invalid:hover:bg-[var(--transparency-hover)] aria-invalid:focus:bg-[var(--transparency-hover)] aria-invalid:focus-visible:bg-[var(--transparency-hover)] aria-invalid:ring-0 aria-invalid:shadow-none",
1465
1466
  inputVariantClassNames[resolvedVariant],
1466
1467
  !variant && size === "sm" && "h-7 rounded-[4px] px-2 text-[11px]",
1467
1468
  className
@@ -1747,15 +1748,47 @@ function PopoverAnchor({
1747
1748
  return /* @__PURE__ */ jsx17(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
1748
1749
  }
1749
1750
 
1751
+ // src/components/radio-indicator/radio-indicator.tsx
1752
+ import { jsx as jsx18 } from "react/jsx-runtime";
1753
+ function RadioIndicator({
1754
+ checked = false,
1755
+ disabled = false,
1756
+ className,
1757
+ ...props
1758
+ }) {
1759
+ return /* @__PURE__ */ jsx18(
1760
+ "span",
1761
+ {
1762
+ ...props,
1763
+ "aria-hidden": props["aria-hidden"] ?? true,
1764
+ "data-checked": checked || void 0,
1765
+ "data-disabled": disabled || void 0,
1766
+ "data-slot": "radio-indicator",
1767
+ "data-state": checked ? "checked" : "unchecked",
1768
+ className: cn(
1769
+ "inline-flex size-4 shrink-0 items-center justify-center rounded-full border-2 border-[var(--border-1)] bg-transparent transition-[border-color,background-color,box-shadow] data-[state=checked]:border-[var(--tutti-purple)] data-[state=unchecked]:hover:border-[color-mix(in_srgb,var(--text-primary)_40%,transparent)] data-disabled:cursor-not-allowed data-disabled:opacity-60",
1770
+ className
1771
+ ),
1772
+ children: checked ? /* @__PURE__ */ jsx18(
1773
+ "span",
1774
+ {
1775
+ "aria-hidden": "true",
1776
+ className: "size-2 rounded-full bg-[var(--tutti-purple)]"
1777
+ }
1778
+ ) : null
1779
+ }
1780
+ );
1781
+ }
1782
+
1750
1783
  // src/components/resizable/resizable.tsx
1751
1784
  import * as ResizablePrimitive from "react-resizable-panels";
1752
- import { jsx as jsx18 } from "react/jsx-runtime";
1785
+ import { jsx as jsx19 } from "react/jsx-runtime";
1753
1786
  function ResizablePanelGroup({
1754
1787
  className,
1755
1788
  orientation = "horizontal",
1756
1789
  ...props
1757
1790
  }) {
1758
- return /* @__PURE__ */ jsx18(
1791
+ return /* @__PURE__ */ jsx19(
1759
1792
  ResizablePrimitive.Group,
1760
1793
  {
1761
1794
  "data-orientation": orientation,
@@ -1770,14 +1803,14 @@ function ResizablePanelGroup({
1770
1803
  );
1771
1804
  }
1772
1805
  function ResizablePanel(props) {
1773
- return /* @__PURE__ */ jsx18(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
1806
+ return /* @__PURE__ */ jsx19(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
1774
1807
  }
1775
1808
  function ResizableHandle({
1776
1809
  className,
1777
1810
  withHandle,
1778
1811
  ...props
1779
1812
  }) {
1780
- return /* @__PURE__ */ jsx18(
1813
+ return /* @__PURE__ */ jsx19(
1781
1814
  ResizablePrimitive.Separator,
1782
1815
  {
1783
1816
  "data-slot": "resizable-handle",
@@ -1786,14 +1819,14 @@ function ResizableHandle({
1786
1819
  className
1787
1820
  ),
1788
1821
  ...props,
1789
- children: withHandle ? /* @__PURE__ */ jsx18("div", { className: "z-10 flex items-center justify-center rounded-full bg-border/85 opacity-0 transition-[background-color,opacity] group-hover:bg-border group-hover:opacity-100 group-focus-visible:bg-border group-focus-visible:opacity-100 group-aria-[orientation=horizontal]:h-[3px] group-aria-[orientation=horizontal]:w-10 group-aria-[orientation=vertical]:h-10 group-aria-[orientation=vertical]:w-[3px]" }) : null
1822
+ children: withHandle ? /* @__PURE__ */ jsx19("div", { className: "z-10 flex items-center justify-center rounded-full bg-border/85 opacity-0 transition-[background-color,opacity] group-hover:bg-border group-hover:opacity-100 group-focus-visible:bg-border group-focus-visible:opacity-100 group-aria-[orientation=horizontal]:h-[3px] group-aria-[orientation=horizontal]:w-10 group-aria-[orientation=vertical]:h-10 group-aria-[orientation=vertical]:w-[3px]" }) : null
1790
1823
  }
1791
1824
  );
1792
1825
  }
1793
1826
 
1794
1827
  // src/components/scroll-area/scroll-area.tsx
1795
1828
  import * as React7 from "react";
1796
- import { jsx as jsx19, jsxs as jsxs8 } from "react/jsx-runtime";
1829
+ import { jsx as jsx20, jsxs as jsxs8 } from "react/jsx-runtime";
1797
1830
  var MIN_THUMB_SIZE_PX = 24;
1798
1831
  function ScrollArea({
1799
1832
  className,
@@ -1828,9 +1861,9 @@ function ScrollArea({
1828
1861
  ...props
1829
1862
  };
1830
1863
  if (scrollbarMode === "native") {
1831
- return /* @__PURE__ */ jsx19(NativeScrollArea, { ...implementationProps, children });
1864
+ return /* @__PURE__ */ jsx20(NativeScrollArea, { ...implementationProps, children });
1832
1865
  }
1833
- return /* @__PURE__ */ jsx19(CustomScrollArea, { ...implementationProps, children });
1866
+ return /* @__PURE__ */ jsx20(CustomScrollArea, { ...implementationProps, children });
1834
1867
  }
1835
1868
  function NativeScrollArea({
1836
1869
  className,
@@ -1849,7 +1882,7 @@ function NativeScrollArea({
1849
1882
  ...props
1850
1883
  }) {
1851
1884
  const alwaysVisible = type === "always" || type === "scroll" || hasAlwaysVisibleScrollbarSelector(className);
1852
- return /* @__PURE__ */ jsx19(
1885
+ return /* @__PURE__ */ jsx20(
1853
1886
  ScrollAreaFrame,
1854
1887
  {
1855
1888
  ...props,
@@ -1928,7 +1961,7 @@ function CustomScrollArea({
1928
1961
  viewportTestId,
1929
1962
  children: [
1930
1963
  children,
1931
- /* @__PURE__ */ jsx19(
1964
+ /* @__PURE__ */ jsx20(
1932
1965
  ScrollAreaScrollbar,
1933
1966
  {
1934
1967
  active: active || alwaysVisible,
@@ -1953,7 +1986,7 @@ function ScrollAreaFrame({
1953
1986
  viewportTestId,
1954
1987
  ...props
1955
1988
  }) {
1956
- return /* @__PURE__ */ jsx19(
1989
+ return /* @__PURE__ */ jsx20(
1957
1990
  "div",
1958
1991
  {
1959
1992
  "data-slot": "scroll-area",
@@ -1963,7 +1996,7 @@ function ScrollAreaFrame({
1963
1996
  className
1964
1997
  ),
1965
1998
  ...props,
1966
- children: /* @__PURE__ */ jsx19(
1999
+ children: /* @__PURE__ */ jsx20(
1967
2000
  "div",
1968
2001
  {
1969
2002
  ...viewportProps,
@@ -1974,7 +2007,7 @@ function ScrollAreaFrame({
1974
2007
  "size-full overflow-auto rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1",
1975
2008
  viewportClassName
1976
2009
  ),
1977
- children: /* @__PURE__ */ jsx19(
2010
+ children: /* @__PURE__ */ jsx20(
1978
2011
  "div",
1979
2012
  {
1980
2013
  ref: contentRef,
@@ -2189,7 +2222,7 @@ function ScrollAreaScrollbar({
2189
2222
  React7.useEffect(() => {
2190
2223
  scheduleSync();
2191
2224
  });
2192
- return /* @__PURE__ */ jsx19(
2225
+ return /* @__PURE__ */ jsx20(
2193
2226
  "div",
2194
2227
  {
2195
2228
  ref: trackRef,
@@ -2207,7 +2240,7 @@ function ScrollAreaScrollbar({
2207
2240
  onPointerEnter: () => setTrackActive(true),
2208
2241
  onPointerLeave: () => setTrackActive(false),
2209
2242
  onPointerDown: handleTrackPointerDown,
2210
- children: /* @__PURE__ */ jsx19(
2243
+ children: /* @__PURE__ */ jsx20(
2211
2244
  "div",
2212
2245
  {
2213
2246
  ref: thumbRef,
@@ -2226,7 +2259,7 @@ function ScrollBar({
2226
2259
  orientation = "vertical",
2227
2260
  ...props
2228
2261
  }) {
2229
- return /* @__PURE__ */ jsx19(
2262
+ return /* @__PURE__ */ jsx20(
2230
2263
  "div",
2231
2264
  {
2232
2265
  "data-slot": "scroll-area-scrollbar",
@@ -2234,7 +2267,7 @@ function ScrollBar({
2234
2267
  className: cn(scrollbarClassName(orientation), className),
2235
2268
  style: scrollbarStyle({ active: false, orientation, scrollable: true }),
2236
2269
  ...props,
2237
- children: /* @__PURE__ */ jsx19(
2270
+ children: /* @__PURE__ */ jsx20(
2238
2271
  "div",
2239
2272
  {
2240
2273
  "data-slot": "scroll-area-thumb",
@@ -2355,17 +2388,17 @@ function clamp(value, min, max) {
2355
2388
 
2356
2389
  // src/components/select/select.tsx
2357
2390
  import { Select as SelectPrimitive } from "radix-ui";
2358
- import { jsx as jsx20, jsxs as jsxs9 } from "react/jsx-runtime";
2391
+ import { jsx as jsx21, jsxs as jsxs9 } from "react/jsx-runtime";
2359
2392
  function Select({
2360
2393
  ...props
2361
2394
  }) {
2362
- return /* @__PURE__ */ jsx20(SelectPrimitive.Root, { "data-slot": "select", ...props });
2395
+ return /* @__PURE__ */ jsx21(SelectPrimitive.Root, { "data-slot": "select", ...props });
2363
2396
  }
2364
2397
  function SelectGroup({
2365
2398
  className,
2366
2399
  ...props
2367
2400
  }) {
2368
- return /* @__PURE__ */ jsx20(
2401
+ return /* @__PURE__ */ jsx21(
2369
2402
  SelectPrimitive.Group,
2370
2403
  {
2371
2404
  "data-slot": "select-group",
@@ -2377,7 +2410,7 @@ function SelectGroup({
2377
2410
  function SelectValue({
2378
2411
  ...props
2379
2412
  }) {
2380
- return /* @__PURE__ */ jsx20(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
2413
+ return /* @__PURE__ */ jsx21(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
2381
2414
  }
2382
2415
  function SelectTrigger({
2383
2416
  className,
@@ -2400,7 +2433,7 @@ function SelectTrigger({
2400
2433
  ...props,
2401
2434
  children: [
2402
2435
  children,
2403
- /* @__PURE__ */ jsx20(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx20(
2436
+ /* @__PURE__ */ jsx21(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx21(
2404
2437
  ChevronDownIcon,
2405
2438
  {
2406
2439
  className: cn("pointer-events-none size-4", "text-current")
@@ -2418,7 +2451,7 @@ function SelectContent({
2418
2451
  style,
2419
2452
  ...props
2420
2453
  }) {
2421
- return /* @__PURE__ */ jsx20(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsx20(
2454
+ return /* @__PURE__ */ jsx21(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsx21(
2422
2455
  SelectPrimitive.Content,
2423
2456
  {
2424
2457
  asChild: true,
@@ -2438,8 +2471,8 @@ function SelectContent({
2438
2471
  ),
2439
2472
  style: { zIndex: "var(--z-popover)", ...style },
2440
2473
  children: [
2441
- /* @__PURE__ */ jsx20(SelectScrollUpButton, {}),
2442
- /* @__PURE__ */ jsx20(
2474
+ /* @__PURE__ */ jsx21(SelectScrollUpButton, {}),
2475
+ /* @__PURE__ */ jsx21(
2443
2476
  SelectPrimitive.Viewport,
2444
2477
  {
2445
2478
  "data-position": position,
@@ -2449,7 +2482,7 @@ function SelectContent({
2449
2482
  children
2450
2483
  }
2451
2484
  ),
2452
- /* @__PURE__ */ jsx20(SelectScrollDownButton, {})
2485
+ /* @__PURE__ */ jsx21(SelectScrollDownButton, {})
2453
2486
  ]
2454
2487
  }
2455
2488
  )
@@ -2460,7 +2493,7 @@ function SelectLabel({
2460
2493
  className,
2461
2494
  ...props
2462
2495
  }) {
2463
- return /* @__PURE__ */ jsx20(
2496
+ return /* @__PURE__ */ jsx21(
2464
2497
  SelectPrimitive.Label,
2465
2498
  {
2466
2499
  "data-slot": "select-label",
@@ -2476,7 +2509,7 @@ function SelectSplitLayout({
2476
2509
  className,
2477
2510
  ...props
2478
2511
  }) {
2479
- return /* @__PURE__ */ jsx20(
2512
+ return /* @__PURE__ */ jsx21(
2480
2513
  "div",
2481
2514
  {
2482
2515
  "data-slot": "select-split-layout",
@@ -2492,7 +2525,7 @@ function SelectSplitColumn({
2492
2525
  className,
2493
2526
  ...props
2494
2527
  }) {
2495
- return /* @__PURE__ */ jsx20(
2528
+ return /* @__PURE__ */ jsx21(
2496
2529
  "div",
2497
2530
  {
2498
2531
  "data-slot": "select-split-column",
@@ -2505,7 +2538,7 @@ function SelectSplitColumnLabel({
2505
2538
  className,
2506
2539
  ...props
2507
2540
  }) {
2508
- return /* @__PURE__ */ jsx20(
2541
+ return /* @__PURE__ */ jsx21(
2509
2542
  "div",
2510
2543
  {
2511
2544
  "data-slot": "select-split-column-label",
@@ -2521,7 +2554,7 @@ function SelectSplitColumnItems({
2521
2554
  className,
2522
2555
  ...props
2523
2556
  }) {
2524
- return /* @__PURE__ */ jsx20(
2557
+ return /* @__PURE__ */ jsx21(
2525
2558
  "div",
2526
2559
  {
2527
2560
  "data-slot": "select-split-column-items",
@@ -2537,7 +2570,7 @@ function SelectSplitDivider({
2537
2570
  className,
2538
2571
  ...props
2539
2572
  }) {
2540
- return /* @__PURE__ */ jsx20(
2573
+ return /* @__PURE__ */ jsx21(
2541
2574
  "div",
2542
2575
  {
2543
2576
  "aria-hidden": "true",
@@ -2563,14 +2596,14 @@ function SelectItem({
2563
2596
  className: cn("w-full", menuItemWithIndicatorClassName, className),
2564
2597
  ...props,
2565
2598
  children: [
2566
- /* @__PURE__ */ jsx20("span", { className: menuItemIndicatorClassName, children: forceSelectedIndicator ? /* @__PURE__ */ jsx20(
2599
+ /* @__PURE__ */ jsx21("span", { className: menuItemIndicatorClassName, children: forceSelectedIndicator ? /* @__PURE__ */ jsx21(
2567
2600
  CheckIcon,
2568
2601
  {
2569
2602
  className: "pointer-events-none text-[var(--tutti-purple)]",
2570
2603
  "data-slot": "select-item-forced-indicator"
2571
2604
  }
2572
- ) : /* @__PURE__ */ jsx20(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx20(CheckIcon, { className: "pointer-events-none text-[var(--tutti-purple)]" }) }) }),
2573
- /* @__PURE__ */ jsx20(SelectPrimitive.ItemText, { children })
2605
+ ) : /* @__PURE__ */ jsx21(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx21(CheckIcon, { className: "pointer-events-none text-[var(--tutti-purple)]" }) }) }),
2606
+ /* @__PURE__ */ jsx21(SelectPrimitive.ItemText, { children })
2574
2607
  ]
2575
2608
  }
2576
2609
  );
@@ -2579,7 +2612,7 @@ function SelectSeparator({
2579
2612
  className,
2580
2613
  ...props
2581
2614
  }) {
2582
- return /* @__PURE__ */ jsx20(
2615
+ return /* @__PURE__ */ jsx21(
2583
2616
  SelectPrimitive.Separator,
2584
2617
  {
2585
2618
  "data-slot": "select-separator",
@@ -2595,7 +2628,7 @@ function SelectScrollUpButton({
2595
2628
  className,
2596
2629
  ...props
2597
2630
  }) {
2598
- return /* @__PURE__ */ jsx20(
2631
+ return /* @__PURE__ */ jsx21(
2599
2632
  SelectPrimitive.ScrollUpButton,
2600
2633
  {
2601
2634
  "data-slot": "select-scroll-up-button",
@@ -2604,7 +2637,7 @@ function SelectScrollUpButton({
2604
2637
  className
2605
2638
  ),
2606
2639
  ...props,
2607
- children: /* @__PURE__ */ jsx20(ChevronUpIcon, {})
2640
+ children: /* @__PURE__ */ jsx21(ChevronUpIcon, {})
2608
2641
  }
2609
2642
  );
2610
2643
  }
@@ -2612,7 +2645,7 @@ function SelectScrollDownButton({
2612
2645
  className,
2613
2646
  ...props
2614
2647
  }) {
2615
- return /* @__PURE__ */ jsx20(
2648
+ return /* @__PURE__ */ jsx21(
2616
2649
  SelectPrimitive.ScrollDownButton,
2617
2650
  {
2618
2651
  "data-slot": "select-scroll-down-button",
@@ -2621,21 +2654,21 @@ function SelectScrollDownButton({
2621
2654
  className
2622
2655
  ),
2623
2656
  ...props,
2624
- children: /* @__PURE__ */ jsx20(ChevronDownIcon, {})
2657
+ children: /* @__PURE__ */ jsx21(ChevronDownIcon, {})
2625
2658
  }
2626
2659
  );
2627
2660
  }
2628
2661
 
2629
2662
  // src/components/separator/separator.tsx
2630
2663
  import { Separator as SeparatorPrimitive } from "radix-ui";
2631
- import { jsx as jsx21 } from "react/jsx-runtime";
2664
+ import { jsx as jsx22 } from "react/jsx-runtime";
2632
2665
  function Separator2({
2633
2666
  className,
2634
2667
  orientation = "horizontal",
2635
2668
  decorative = true,
2636
2669
  ...props
2637
2670
  }) {
2638
- return /* @__PURE__ */ jsx21(
2671
+ return /* @__PURE__ */ jsx22(
2639
2672
  SeparatorPrimitive.Root,
2640
2673
  {
2641
2674
  "data-slot": "separator",
@@ -2651,7 +2684,7 @@ function Separator2({
2651
2684
  }
2652
2685
 
2653
2686
  // src/components/section-tabs/section-tabs.tsx
2654
- import { jsx as jsx22, jsxs as jsxs10 } from "react/jsx-runtime";
2687
+ import { jsx as jsx23, jsxs as jsxs10 } from "react/jsx-runtime";
2655
2688
  function SectionTabs({
2656
2689
  tabs,
2657
2690
  value,
@@ -2660,7 +2693,7 @@ function SectionTabs({
2660
2693
  className,
2661
2694
  testId
2662
2695
  }) {
2663
- return /* @__PURE__ */ jsx22(
2696
+ return /* @__PURE__ */ jsx23(
2664
2697
  "div",
2665
2698
  {
2666
2699
  "aria-label": ariaLabel,
@@ -2685,8 +2718,8 @@ function SectionTabs({
2685
2718
  type: "button",
2686
2719
  onClick: () => onValueChange(tab.value),
2687
2720
  children: [
2688
- /* @__PURE__ */ jsx22("span", { className: "min-w-0 truncate", children: tab.label }),
2689
- tab.count !== void 0 ? /* @__PURE__ */ jsx22("span", { className: "text-[15px] font-semibold leading-5 text-[inherit]", children: tab.count }) : null
2721
+ /* @__PURE__ */ jsx23("span", { className: "min-w-0 truncate", children: tab.label }),
2722
+ tab.count !== void 0 ? /* @__PURE__ */ jsx23("span", { className: "text-[15px] font-semibold leading-5 text-[inherit]", children: tab.count }) : null
2690
2723
  ]
2691
2724
  },
2692
2725
  tab.value
@@ -2697,9 +2730,9 @@ function SectionTabs({
2697
2730
  }
2698
2731
 
2699
2732
  // src/components/shortcut-badge/shortcut-badge.tsx
2700
- import { jsx as jsx23 } from "react/jsx-runtime";
2733
+ import { jsx as jsx24 } from "react/jsx-runtime";
2701
2734
  function ShortcutBadge({ className, ...props }) {
2702
- return /* @__PURE__ */ jsx23(
2735
+ return /* @__PURE__ */ jsx24(
2703
2736
  "kbd",
2704
2737
  {
2705
2738
  "data-slot": "shortcut-badge",
@@ -2717,9 +2750,9 @@ import {
2717
2750
  Toaster as SonnerToaster,
2718
2751
  toast
2719
2752
  } from "sonner";
2720
- import { jsx as jsx24 } from "react/jsx-runtime";
2753
+ import { jsx as jsx25 } from "react/jsx-runtime";
2721
2754
  function Toaster({ toastOptions, style, ...props }) {
2722
- return /* @__PURE__ */ jsx24(
2755
+ return /* @__PURE__ */ jsx25(
2723
2756
  SonnerToaster,
2724
2757
  {
2725
2758
  closeButton: true,
@@ -2728,11 +2761,11 @@ function Toaster({ toastOptions, style, ...props }) {
2728
2761
  position: "top-right",
2729
2762
  visibleToasts: 4,
2730
2763
  icons: {
2731
- error: /* @__PURE__ */ jsx24(FailedFilledIcon, { className: "size-4" }),
2732
- info: /* @__PURE__ */ jsx24(WarningLinedIcon, { className: "size-4" }),
2733
- loading: /* @__PURE__ */ jsx24(LoadingIcon, { className: "size-4 animate-spin" }),
2734
- success: /* @__PURE__ */ jsx24(SuccessFilledIcon, { className: "size-4" }),
2735
- warning: /* @__PURE__ */ jsx24(WarningFilledIcon, { className: "size-4" })
2764
+ error: /* @__PURE__ */ jsx25(FailedFilledIcon, { className: "size-4" }),
2765
+ info: /* @__PURE__ */ jsx25(WarningLinedIcon, { className: "size-4" }),
2766
+ loading: /* @__PURE__ */ jsx25(LoadingIcon, { className: "size-4 animate-spin" }),
2767
+ success: /* @__PURE__ */ jsx25(SuccessFilledIcon, { className: "size-4" }),
2768
+ warning: /* @__PURE__ */ jsx25(WarningFilledIcon, { className: "size-4" })
2736
2769
  },
2737
2770
  style: {
2738
2771
  "--normal-bg": "var(--background-fronted)",
@@ -2761,7 +2794,7 @@ function Toaster({ toastOptions, style, ...props }) {
2761
2794
  }
2762
2795
 
2763
2796
  // src/components/spinner/spinner.tsx
2764
- import { jsx as jsx25 } from "react/jsx-runtime";
2797
+ import { jsx as jsx26 } from "react/jsx-runtime";
2765
2798
  function Spinner({
2766
2799
  className,
2767
2800
  size = 16,
@@ -2770,7 +2803,7 @@ function Spinner({
2770
2803
  testId,
2771
2804
  trackColor
2772
2805
  }) {
2773
- return /* @__PURE__ */ jsx25(
2806
+ return /* @__PURE__ */ jsx26(
2774
2807
  LoadingIcon,
2775
2808
  {
2776
2809
  "data-slot": "spinner",
@@ -2790,7 +2823,7 @@ function Spinner({
2790
2823
 
2791
2824
  // src/components/status-dot/status-dot.tsx
2792
2825
  import { cva as cva4 } from "class-variance-authority";
2793
- import { jsx as jsx26 } from "react/jsx-runtime";
2826
+ import { jsx as jsx27 } from "react/jsx-runtime";
2794
2827
  var statusDotVariants = cva4("inline-flex shrink-0 rounded-full", {
2795
2828
  variants: {
2796
2829
  tone: {
@@ -2824,7 +2857,7 @@ function StatusDot({
2824
2857
  title,
2825
2858
  className
2826
2859
  }) {
2827
- return /* @__PURE__ */ jsx26(
2860
+ return /* @__PURE__ */ jsx27(
2828
2861
  "span",
2829
2862
  {
2830
2863
  "aria-hidden": ariaLabel ? void 0 : true,
@@ -2842,7 +2875,7 @@ function StatusDot({
2842
2875
 
2843
2876
  // src/components/switch/switch.tsx
2844
2877
  import { Switch as SwitchPrimitive } from "radix-ui";
2845
- import { jsx as jsx27 } from "react/jsx-runtime";
2878
+ import { jsx as jsx28 } from "react/jsx-runtime";
2846
2879
  function Switch({
2847
2880
  className,
2848
2881
  disabled,
@@ -2850,7 +2883,7 @@ function Switch({
2850
2883
  size = "default",
2851
2884
  ...props
2852
2885
  }) {
2853
- return /* @__PURE__ */ jsx27(
2886
+ return /* @__PURE__ */ jsx28(
2854
2887
  SwitchPrimitive.Root,
2855
2888
  {
2856
2889
  "data-slot": "switch",
@@ -2863,12 +2896,12 @@ function Switch({
2863
2896
  className
2864
2897
  ),
2865
2898
  ...props,
2866
- children: /* @__PURE__ */ jsx27(
2899
+ children: /* @__PURE__ */ jsx28(
2867
2900
  SwitchPrimitive.Thumb,
2868
2901
  {
2869
2902
  "data-slot": "switch-thumb",
2870
2903
  className: "pointer-events-none inline-flex items-center justify-center rounded-full bg-[var(--white-stationary)] ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-[state=checked]:translate-x-[14px] group-data-[size=sm]/switch:data-[state=checked]:translate-x-[10px] group-data-[size=default]/switch:data-[state=unchecked]:translate-x-0 group-data-[size=sm]/switch:data-[state=unchecked]:translate-x-0",
2871
- children: loading ? /* @__PURE__ */ jsx27(
2904
+ children: loading ? /* @__PURE__ */ jsx28(
2872
2905
  LoadingIcon,
2873
2906
  {
2874
2907
  "aria-hidden": "true",
@@ -2882,9 +2915,9 @@ function Switch({
2882
2915
  }
2883
2916
 
2884
2917
  // src/components/textarea/textarea.tsx
2885
- import { jsx as jsx28 } from "react/jsx-runtime";
2918
+ import { jsx as jsx29 } from "react/jsx-runtime";
2886
2919
  function Textarea({ className, ...props }) {
2887
- return /* @__PURE__ */ jsx28(
2920
+ return /* @__PURE__ */ jsx29(
2888
2921
  "textarea",
2889
2922
  {
2890
2923
  "data-slot": "textarea",
@@ -2901,13 +2934,13 @@ function Textarea({ className, ...props }) {
2901
2934
  import * as React8 from "react";
2902
2935
  import { Toast as ToastPrimitive } from "radix-ui";
2903
2936
  import { cva as cva5 } from "class-variance-authority";
2904
- import { jsx as jsx29, jsxs as jsxs11 } from "react/jsx-runtime";
2937
+ import { jsx as jsx30, jsxs as jsxs11 } from "react/jsx-runtime";
2905
2938
  var toastDefaultDurationMs = 3e3;
2906
2939
  function ToastProvider({
2907
2940
  duration = toastDefaultDurationMs,
2908
2941
  ...props
2909
2942
  }) {
2910
- return /* @__PURE__ */ jsx29(ToastPrimitive.Provider, { duration, ...props });
2943
+ return /* @__PURE__ */ jsx30(ToastPrimitive.Provider, { duration, ...props });
2911
2944
  }
2912
2945
  var ToastVisualContext = React8.createContext(null);
2913
2946
  var toastStatusIconByVariant = {
@@ -2965,7 +2998,7 @@ function ToastRoot({
2965
2998
  ...props
2966
2999
  }) {
2967
3000
  const isDestructive = variant === "destructive";
2968
- return /* @__PURE__ */ jsx29(
3001
+ return /* @__PURE__ */ jsx30(
2969
3002
  ToastPrimitive.Root,
2970
3003
  {
2971
3004
  "aria-busy": busy,
@@ -2982,7 +3015,7 @@ function ToastRoot({
2982
3015
  ...style
2983
3016
  },
2984
3017
  ...props,
2985
- children: /* @__PURE__ */ jsx29(ToastVisualContext.Provider, { value: { busy, variant }, children: /* @__PURE__ */ jsx29("span", { className: "flex min-w-0 max-w-full flex-col items-center justify-center whitespace-normal break-words text-center", children }) })
3018
+ children: /* @__PURE__ */ jsx30(ToastVisualContext.Provider, { value: { busy, variant }, children: /* @__PURE__ */ jsx30("span", { className: "flex min-w-0 max-w-full flex-col items-center justify-center whitespace-normal break-words text-center", children }) })
2986
3019
  }
2987
3020
  );
2988
3021
  }
@@ -3003,7 +3036,7 @@ function ToastTitle({
3003
3036
  ),
3004
3037
  ...props,
3005
3038
  children: [
3006
- toastVisual?.busy ? /* @__PURE__ */ jsx29(
3039
+ toastVisual?.busy ? /* @__PURE__ */ jsx30(
3007
3040
  Spinner,
3008
3041
  {
3009
3042
  className: "shrink-0 text-current",
@@ -3011,8 +3044,8 @@ function ToastTitle({
3011
3044
  strokeWidth: 2,
3012
3045
  trackColor: "color-mix(in srgb, currentColor 28%, transparent)"
3013
3046
  }
3014
- ) : StatusIcon ? /* @__PURE__ */ jsx29(StatusIcon, { className: "size-4 shrink-0 text-current" }) : null,
3015
- /* @__PURE__ */ jsx29("span", { className: "min-w-0 break-words", children: formatToastText(children) })
3047
+ ) : StatusIcon ? /* @__PURE__ */ jsx30(StatusIcon, { className: "size-4 shrink-0 text-current" }) : null,
3048
+ /* @__PURE__ */ jsx30("span", { className: "min-w-0 break-words", children: formatToastText(children) })
3016
3049
  ]
3017
3050
  }
3018
3051
  );
@@ -3021,7 +3054,7 @@ function ToastDescription({
3021
3054
  className,
3022
3055
  ...props
3023
3056
  }) {
3024
- return /* @__PURE__ */ jsx29(
3057
+ return /* @__PURE__ */ jsx30(
3025
3058
  ToastPrimitive.Description,
3026
3059
  {
3027
3060
  "data-slot": "toast-description",
@@ -3037,7 +3070,7 @@ function ToastClose({
3037
3070
  className,
3038
3071
  ...props
3039
3072
  }) {
3040
- return /* @__PURE__ */ jsx29(
3073
+ return /* @__PURE__ */ jsx30(
3041
3074
  ToastPrimitive.Close,
3042
3075
  {
3043
3076
  "data-slot": "toast-close",
@@ -3046,7 +3079,7 @@ function ToastClose({
3046
3079
  className
3047
3080
  ),
3048
3081
  ...props,
3049
- children: /* @__PURE__ */ jsx29(CloseIcon, { className: "size-4" })
3082
+ children: /* @__PURE__ */ jsx30(CloseIcon, { className: "size-4" })
3050
3083
  }
3051
3084
  );
3052
3085
  }
@@ -3055,7 +3088,7 @@ function ToastViewport({
3055
3088
  style,
3056
3089
  ...props
3057
3090
  }) {
3058
- return /* @__PURE__ */ jsx29(
3091
+ return /* @__PURE__ */ jsx30(
3059
3092
  ToastPrimitive.Viewport,
3060
3093
  {
3061
3094
  "data-slot": "toast-viewport",
@@ -3071,7 +3104,7 @@ function ToastViewport({
3071
3104
 
3072
3105
  // src/components/underline-tabs/underline-tabs.tsx
3073
3106
  import { useEffect as useEffect5, useLayoutEffect as useLayoutEffect2, useRef as useRef4, useState as useState5 } from "react";
3074
- import { jsx as jsx30, jsxs as jsxs12 } from "react/jsx-runtime";
3107
+ import { jsx as jsx31, jsxs as jsxs12 } from "react/jsx-runtime";
3075
3108
  function UnderlineTabs({
3076
3109
  tabs,
3077
3110
  value,
@@ -3166,7 +3199,7 @@ function UnderlineTabs({
3166
3199
  "data-testid": testId,
3167
3200
  role: "tablist",
3168
3201
  children: [
3169
- /* @__PURE__ */ jsx30(
3202
+ /* @__PURE__ */ jsx31(
3170
3203
  "div",
3171
3204
  {
3172
3205
  ref: viewportRef,
@@ -3211,14 +3244,14 @@ function UnderlineTabs({
3211
3244
  onClick: () => onValueChange(tab.value),
3212
3245
  onMouseDown: preventMouseDownDefault ? (event) => event.preventDefault() : void 0,
3213
3246
  children: [
3214
- /* @__PURE__ */ jsx30("span", { children: tab.label }),
3215
- tab.count !== void 0 ? /* @__PURE__ */ jsx30("span", { className: "text-[11px] font-medium leading-6 text-[inherit]", children: tab.count }) : null
3247
+ /* @__PURE__ */ jsx31("span", { children: tab.label }),
3248
+ tab.count !== void 0 ? /* @__PURE__ */ jsx31("span", { className: "text-[11px] font-medium leading-6 text-[inherit]", children: tab.count }) : null
3216
3249
  ]
3217
3250
  },
3218
3251
  tab.value
3219
3252
  );
3220
3253
  }),
3221
- /* @__PURE__ */ jsx30(
3254
+ /* @__PURE__ */ jsx31(
3222
3255
  "div",
3223
3256
  {
3224
3257
  "aria-hidden": true,
@@ -3235,7 +3268,7 @@ function UnderlineTabs({
3235
3268
  )
3236
3269
  }
3237
3270
  ),
3238
- /* @__PURE__ */ jsx30(
3271
+ /* @__PURE__ */ jsx31(
3239
3272
  "button",
3240
3273
  {
3241
3274
  "aria-label": scrollLeftLabel,
@@ -3246,10 +3279,10 @@ function UnderlineTabs({
3246
3279
  disabled: !overflow.canScrollLeft,
3247
3280
  type: "button",
3248
3281
  onClick: () => scrollTabs("left"),
3249
- children: /* @__PURE__ */ jsx30(ArrowLeftIcon, { size: 16 })
3282
+ children: /* @__PURE__ */ jsx31(ArrowLeftIcon, { size: 16 })
3250
3283
  }
3251
3284
  ),
3252
- /* @__PURE__ */ jsx30(
3285
+ /* @__PURE__ */ jsx31(
3253
3286
  "button",
3254
3287
  {
3255
3288
  "aria-label": scrollRightLabel,
@@ -3260,7 +3293,7 @@ function UnderlineTabs({
3260
3293
  disabled: !overflow.canScrollRight,
3261
3294
  type: "button",
3262
3295
  onClick: () => scrollTabs("right"),
3263
- children: /* @__PURE__ */ jsx30(ArrowRightIcon, { size: 16 })
3296
+ children: /* @__PURE__ */ jsx31(ArrowRightIcon, { size: 16 })
3264
3297
  }
3265
3298
  )
3266
3299
  ]
@@ -3271,7 +3304,7 @@ function UnderlineTabs({
3271
3304
  // src/components/viewport-menu-surface/viewport-menu-surface.tsx
3272
3305
  import * as React9 from "react";
3273
3306
  import { createPortal as createPortal2 } from "react-dom";
3274
- import { jsx as jsx31 } from "react/jsx-runtime";
3307
+ import { jsx as jsx32 } from "react/jsx-runtime";
3275
3308
  var VIEWPORT_MENU_PADDING = 12;
3276
3309
  var MENU_BOUNDARY_PADDING = 8;
3277
3310
  function clampMenuCoordinate(origin, size, viewportExtent, padding) {
@@ -3541,7 +3574,7 @@ var ViewportMenuSurface = React9.forwardRef(function ViewportMenuSurface2({
3541
3574
  }
3542
3575
  const portalTarget = resolvedPlacement.portalTarget ?? document.body;
3543
3576
  return createPortal2(
3544
- /* @__PURE__ */ jsx31(
3577
+ /* @__PURE__ */ jsx32(
3545
3578
  MenuSurface,
3546
3579
  {
3547
3580
  ...rest,
@@ -3649,6 +3682,7 @@ export {
3649
3682
  PopoverClose,
3650
3683
  PopoverContent,
3651
3684
  PopoverAnchor,
3685
+ RadioIndicator,
3652
3686
  ResizablePanelGroup,
3653
3687
  ResizablePanel,
3654
3688
  ResizableHandle,
@@ -3689,4 +3723,4 @@ export {
3689
3723
  UnderlineTabs,
3690
3724
  ViewportMenuSurface
3691
3725
  };
3692
- //# sourceMappingURL=chunk-C4J2QZQU.js.map
3726
+ //# sourceMappingURL=chunk-XVAQEGXC.js.map