@radui/ui 0.6.0 → 1.0.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.
Files changed (144) hide show
  1. package/dist/components/Accordion.d.ts +1 -1
  2. package/dist/components/Accordion.js +1 -1
  3. package/dist/components/AlertDialog.d.ts +44 -1
  4. package/dist/components/AlertDialog.js +1 -1
  5. package/dist/components/AspectRatio.js +1 -1
  6. package/dist/components/Avatar.d.ts +4 -1
  7. package/dist/components/Avatar.js +1 -1
  8. package/dist/components/AvatarGroup.d.ts +9 -1
  9. package/dist/components/AvatarGroup.js +1 -1
  10. package/dist/components/AvatarPrimitiveFallback-C1siRii4.js +1 -0
  11. package/dist/components/Badge.d.ts +3 -3
  12. package/dist/components/Badge.js +1 -1
  13. package/dist/components/BlockQuote.js +1 -1
  14. package/dist/components/Breadcrumb.js +1 -1
  15. package/dist/components/Button.js +1 -1
  16. package/dist/components/Callout.d.ts +4 -1
  17. package/dist/components/Callout.js +1 -1
  18. package/dist/components/Card.d.ts +1 -1
  19. package/dist/components/Card.js +1 -1
  20. package/dist/components/Checkbox.d.ts +29 -3
  21. package/dist/components/Checkbox.js +8 -1
  22. package/dist/components/CheckboxCards.d.ts +31 -4
  23. package/dist/components/CheckboxCards.js +1 -1
  24. package/dist/components/CheckboxGroup.d.ts +29 -2
  25. package/dist/components/CheckboxGroup.js +1 -1
  26. package/dist/components/CheckboxGroupPrimitive-DfHQYkep.js +1 -0
  27. package/dist/components/Code.js +1 -1
  28. package/dist/components/Collapsible.d.ts +10 -1
  29. package/dist/components/Collapsible.js +1 -1
  30. package/dist/components/Combobox.d.ts +1 -1
  31. package/dist/components/Combobox.js +1 -1
  32. package/dist/components/ComboboxPrimitive-DQcJ8pzQ.js +1 -0
  33. package/dist/components/Command.d.ts +6 -1
  34. package/dist/components/Command.js +1 -1
  35. package/dist/components/ContextMenu.d.ts +19 -19
  36. package/dist/components/ContextMenu.js +1 -1
  37. package/dist/components/DataList.d.ts +10 -4
  38. package/dist/components/DataList.js +1 -1
  39. package/dist/components/Dialog.d.ts +6 -1
  40. package/dist/components/Dialog.js +1 -1
  41. package/dist/components/Disclosure.d.ts +15 -7
  42. package/dist/components/Disclosure.js +1 -1
  43. package/dist/components/Drawer.d.ts +1 -1
  44. package/dist/components/Drawer.js +1 -1
  45. package/dist/components/DropdownMenu.d.ts +19 -19
  46. package/dist/components/DropdownMenu.js +1 -1
  47. package/dist/components/Em.js +1 -1
  48. package/dist/components/Fieldset.d.ts +1 -1
  49. package/dist/components/Fieldset.js +1 -1
  50. package/dist/components/Heading.js +1 -1
  51. package/dist/components/HoverCard.d.ts +3 -1
  52. package/dist/components/HoverCard.js +1 -1
  53. package/dist/components/Kbd.js +1 -1
  54. package/dist/components/Link.js +1 -1
  55. package/dist/components/LiveRegion.js +1 -1
  56. package/dist/components/MenuPrimitive-D9VMz2TZ.js +1 -0
  57. package/dist/components/Menubar.d.ts +113 -23
  58. package/dist/components/Menubar.js +1 -1
  59. package/dist/components/Minimap.d.ts +16 -12
  60. package/dist/components/Minimap.js +1 -1
  61. package/dist/components/NavigationMenu.d.ts +8 -3
  62. package/dist/components/NavigationMenu.js +1 -1
  63. package/dist/components/NumberField.d.ts +23 -2
  64. package/dist/components/NumberField.js +1 -1
  65. package/dist/components/Popover.d.ts +17 -2
  66. package/dist/components/Popover.js +1 -1
  67. package/dist/components/Progress.d.ts +5 -4
  68. package/dist/components/Progress.js +1 -1
  69. package/dist/components/Quote.js +1 -1
  70. package/dist/components/Radio.js +1 -1
  71. package/dist/components/RadioCards.d.ts +1 -1
  72. package/dist/components/RadioCards.js +1 -1
  73. package/dist/components/RadioGroup.d.ts +1 -1
  74. package/dist/components/RadioGroup.js +1 -1
  75. package/dist/components/RadioGroupPrimitive-D1PP4y2M.js +1 -0
  76. package/dist/components/ScrollArea.d.ts +1 -9
  77. package/dist/components/ScrollArea.js +1 -1
  78. package/dist/components/Select.d.ts +1 -1
  79. package/dist/components/Select.js +1 -1
  80. package/dist/components/Separator.js +1 -1
  81. package/dist/components/Skeleton.d.ts +12 -6
  82. package/dist/components/Skeleton.js +1 -1
  83. package/dist/components/Slider.d.ts +1 -1
  84. package/dist/components/Slider.js +1 -1
  85. package/dist/components/Spinner.js +1 -1
  86. package/dist/components/Splitter.d.ts +7 -1
  87. package/dist/components/Splitter.js +1 -1
  88. package/dist/components/Steps.d.ts +25 -10
  89. package/dist/components/Steps.js +1 -1
  90. package/dist/components/Strong.js +1 -1
  91. package/dist/components/Switch.d.ts +23 -1
  92. package/dist/components/Switch.js +1 -1
  93. package/dist/components/TabNav.d.ts +34 -9
  94. package/dist/components/TabNav.js +1 -1
  95. package/dist/components/Table.d.ts +2 -1
  96. package/dist/components/Table.js +1 -1
  97. package/dist/components/Tabs.d.ts +1 -1
  98. package/dist/components/Tabs.js +1 -1
  99. package/dist/components/Text.d.ts +2 -2
  100. package/dist/components/Text.js +1 -1
  101. package/dist/components/TextArea.d.ts +4 -4
  102. package/dist/components/TextArea.js +1 -1
  103. package/dist/components/TextField.d.ts +1 -1
  104. package/dist/components/TextField.js +1 -1
  105. package/dist/components/Toast.d.ts +7 -4
  106. package/dist/components/Toast.js +1 -1
  107. package/dist/components/Toggle.d.ts +1 -1
  108. package/dist/components/Toggle.js +1 -1
  109. package/dist/components/ToggleGroup.d.ts +1 -1
  110. package/dist/components/ToggleGroup.js +1 -1
  111. package/dist/components/Toolbar.d.ts +1 -1
  112. package/dist/components/Toolbar.js +1 -1
  113. package/dist/components/Tooltip.d.ts +12 -1
  114. package/dist/components/Tooltip.js +1 -1
  115. package/dist/components/Tree.d.ts +1 -1
  116. package/dist/components/Tree.js +1 -1
  117. package/dist/components/VisuallyHidden.js +1 -1
  118. package/dist/components/{check-DujVUWP-.js → check-ctUdF4Q3.js} +4 -4
  119. package/dist/components/{floating-ui.react-Byzse64h.js → floating-ui.react-2kiGB4sW.js} +1 -1
  120. package/dist/components/index-C7dBo_Ry.js +1 -0
  121. package/dist/components/index-CBcSLg6O.js +1 -0
  122. package/dist/components/index-CbNq68zs.js +1 -0
  123. package/dist/components/index-D8I-rMwz.js +1 -0
  124. package/dist/components/index-DMX7gpdp.js +1 -0
  125. package/dist/components/index-FITGoHty.js +1 -0
  126. package/dist/components/{index-C09ZQH_q.js → index-nYRBURkR.js} +1 -1
  127. package/dist/components/index-xlB--dex.js +1 -0
  128. package/dist/components/useComponentClass-C0isGl1z.js +1 -0
  129. package/dist/themes/baremetal.css +1 -1
  130. package/dist/themes/default.css +1 -1
  131. package/package.json +1 -1
  132. package/dist/components/AvatarPrimitiveFallback-B1u295x6.js +0 -1
  133. package/dist/components/CheckboxGroupPrimitive-BWGRST9p.js +0 -1
  134. package/dist/components/ComboboxPrimitive-C2sksm48.js +0 -1
  135. package/dist/components/MenuPrimitive-COEgTo6S.js +0 -1
  136. package/dist/components/RadioGroupPrimitive-BWUU-0Qh.js +0 -1
  137. package/dist/components/clsx-BaVHROc5.js +0 -1
  138. package/dist/components/index-CD_nZA9X.js +0 -1
  139. package/dist/components/index-CfC8-kd8.js +0 -1
  140. package/dist/components/index-Db-tduwt.js +0 -1
  141. package/dist/components/index-UODM4mVT.js +0 -1
  142. package/dist/components/index-YhJvxumL.js +0 -1
  143. package/dist/components/index-m8Mhi26u.js +0 -1
  144. package/dist/components/useComponentClass-QwNivz0h.js +0 -1
@@ -1 +1 @@
1
- 'use client';import e,{useContext as t}from"react";import{jsx as o}from"react/jsx-runtime";import{C as r}from"./ComboboxPrimitive-C2sksm48.js";import{u as a}from"./useComponentClass-QwNivz0h.js";import{C as s}from"./check-DujVUWP-.js";import{T as i}from"./ThemeContext-Sm-iNANd.js";import{c as l}from"./clsx-BaVHROc5.js";import"./index-Db-tduwt.js";import"./floating-ui.react-Byzse64h.js";import"react-dom";import"./index-XF8itt-H.js";import"./mergeProps-0RucjqeH.js";import"./keyboard-BKF7hXqL.js";import"./index-CXzybYmm.js";import"./index-wRElCyvx.js";import"./index-UODM4mVT.js";import"./documentOverlayOpen-coyGmcyL.js";const n=e.createContext({rootClass:""}),d=e.forwardRef((({customRootClass:e,children:a,position:s="popper",...i},l)=>{const{rootClass:d}=t(n);return o(r.Content,{className:d?`${d}-content`:void 0,position:s,"data-position":s,"data-slot":"select-content",ref:l,...i,children:a})}));function c(t){return"string"==typeof t||"number"==typeof t?String(t):Array.isArray(t)?t.map(c).join(""):e.isValidElement(t)?c(t.props.children):""}d.displayName="SelectContent";const m=e.forwardRef((({customRootClass:e,children:a,value:s,label:i,disabled:l,...d},m)=>{const{rootClass:p}=t(n),f=i||c(a).trim()||s;return o(r.Item,{className:p?`${p}-item`:void 0,value:s,label:f,disabled:l,"data-disabled":l?"":void 0,"data-slot":"select-item",role:"option","aria-disabled":l?"true":void 0,ref:m,...d,children:o("span",{className:p?`${p}-text`:void 0,"data-slot":"select-item-text",children:a})})}));m.displayName="SelectItem";const p=e.forwardRef((({customRootClass:e,children:a,disabled:s,placeholder:i,...l},d)=>{const{rootClass:c}=t(n);return o(r.Trigger,{className:c?`${c}-trigger`:void 0,"aria-disabled":s?"true":void 0,"data-placeholder":i?"":void 0,"data-slot":"select-trigger",disabled:s,ref:d,...l,children:a})}));p.displayName="SelectTrigger";const f=e.forwardRef((({customRootClass:e,children:t,defaultValue:s,value:i,onValueChange:l,sideOffset:d=4,...c},m)=>{const p=a(e,"Select");return o(n.Provider,{value:{rootClass:p},children:o(r.Root,{className:p?`${p}-root`:void 0,"data-slot":"select-root",defaultValue:s,value:i,onValueChange:l,sideOffset:d,ref:m,...c,children:t})})}));f.displayName="SelectRoot";const u=e.forwardRef(((e,r)=>{const{rootClass:a}=t(n);return o("div",{className:a?`${a}-item-indicator`:void 0,"data-slot":"select-item-indicator",ref:r,...e,children:o(s,{width:16,height:16})})}));u.displayName="SelectIndicator";const h=e.forwardRef((({children:e,container:a,...s},l)=>{const n=t(i),d=a??n?.portalRootRef.current??n?.containerRef.current??void 0;return o(r.Portal,{ref:l,container:d,...s,children:e})}));h.displayName="SelectPortal";const C=e.forwardRef((({children:e,className:a,...s},i)=>{const{rootClass:d}=t(n),c=l(d?`${d}-group`:void 0,a)||void 0;return o(r.Group,{className:c,"data-slot":"select-group",ref:i,...s,children:e})}));C.displayName="SelectGroup";const v=e.forwardRef(((e,t)=>(console.warn("Direct usage of Select is not supported. Please use Select.Root, Select.Content, etc. instead."),null)));v.displayName="Select";const g=v;g.Root=f,g.Content=d,g.Item=m,g.Trigger=p,g.Portal=h,g.Group=C,g.Indicator=u;export{g as default};
1
+ 'use client';import e,{useContext as t}from"react";import{jsx as o}from"react/jsx-runtime";import{c as a,u as s}from"./useComponentClass-C0isGl1z.js";import{C as r,g as i,m as l}from"./ComboboxPrimitive-DQcJ8pzQ.js";import{C as d}from"./check-ctUdF4Q3.js";import{T as c}from"./ThemeContext-Sm-iNANd.js";import"./index-D8I-rMwz.js";import"./floating-ui.react-2kiGB4sW.js";import"react-dom";import"./index-XF8itt-H.js";import"./mergeProps-0RucjqeH.js";import"./keyboard-BKF7hXqL.js";import"./index-CXzybYmm.js";import"./index-wRElCyvx.js";import"./index-CBcSLg6O.js";import"./index-CbNq68zs.js";import"./documentOverlayOpen-coyGmcyL.js";const n=e.createContext({rootClass:""}),m=e.forwardRef((({customRootClass:e,children:s,className:i,position:l="popper",...d},c)=>{const{rootClass:m}=t(n);return o(r.Content,{className:a(m?`${m}-content`:void 0,i)||void 0,position:l,"data-position":l,"data-slot":"select-content",ref:c,...d,children:s})}));m.displayName="SelectContent";const p=e.forwardRef((({customRootClass:e,children:s,className:l,value:d,label:c,disabled:m,...p},u)=>{const{rootClass:f}=t(n),v=c||i(s).trim()||d;return o(r.Item,{className:a(f?`${f}-item`:void 0,l)||void 0,value:d,label:v,disabled:m,"data-disabled":m?"":void 0,"data-slot":"select-item",role:"option","aria-disabled":m?"true":void 0,ref:u,...p,children:o("span",{className:f?`${f}-text`:void 0,"data-slot":"select-item-text",children:s})})}));p.displayName="SelectItem",l(p);const u=e.forwardRef((({customRootClass:e,children:s,className:i,disabled:l,placeholder:d,...c},m)=>{const{rootClass:p}=t(n);return o(r.Trigger,{className:a(p?`${p}-trigger`:void 0,i)||void 0,"aria-disabled":l?"true":void 0,"data-placeholder":d?"":void 0,"data-slot":"select-trigger",disabled:l,ref:m,...c,children:s})}));u.displayName="SelectTrigger";const f=e.forwardRef((({customRootClass:e,children:t,className:i,defaultValue:l,value:d,onValueChange:c,sideOffset:m=4,...p},u)=>{const f=s(e,"Select");return o(n.Provider,{value:{rootClass:f},children:o(r.Root,{className:a(f?`${f}-root`:void 0,i)||void 0,"data-slot":"select-root",defaultValue:l,value:d,onValueChange:c,sideOffset:m,ref:u,...p,children:t})})}));f.displayName="SelectRoot";const v=e.forwardRef((({className:e,...s},r)=>{const{rootClass:i}=t(n);return o("div",{className:a(i?`${i}-item-indicator`:void 0,e)||void 0,"data-slot":"select-item-indicator",ref:r,...s,children:o(d,{width:16,height:16})})}));v.displayName="SelectIndicator";const C=e.forwardRef((({children:e,container:a,...s},i)=>{const l=t(c),d=a??l?.portalRootRef.current??l?.containerRef.current??void 0;return o(r.Portal,{ref:i,container:d,...s,children:e})}));C.displayName="SelectPortal";const h=e.forwardRef((({children:e,className:s,...i},l)=>{const{rootClass:d}=t(n),c=a(d?`${d}-group`:void 0,s)||void 0;return o(r.Group,{className:c,"data-slot":"select-group",ref:l,...i,children:e})}));h.displayName="SelectGroup";const g=e.forwardRef(((e,t)=>(console.warn("Direct usage of Select is not supported. Please use Select.Root, Select.Content, etc. instead."),null)));g.displayName="Select";const N=g;N.Root=f,N.Content=m,N.Item=p,N.Trigger=u,N.Portal=C,N.Group=h,N.Indicator=v;export{m as Content,h as Group,v as Indicator,p as Item,C as Portal,f as Root,u as Trigger,N as default};
@@ -1 +1 @@
1
- 'use client';import{jsx as o}from"react/jsx-runtime";import r from"react";import{u as a}from"./useComponentClass-QwNivz0h.js";import{c as t}from"./clsx-BaVHROc5.js";import{P as e}from"./index-XF8itt-H.js";import"./ThemeContext-Sm-iNANd.js";import"./mergeProps-0RucjqeH.js";const s="Separator",i=r.forwardRef((({orientation:r="horizontal",className:i,customRootClass:m,color:n="",decorative:p=!1,...c},d)=>{const l=a(m,s),f=l?`${l}-${r}`:void 0,u={};return u["data-orientation"]=r,n&&(u["data-color"]=n),p&&(u.role="separator",u["aria-hidden"]="true"),o(e.div,{ref:d,className:t(l,f,i),...u,...c})}));i.displayName=s;export{i as default};
1
+ 'use client';import{jsx as o}from"react/jsx-runtime";import r from"react";import{u as a,c as t}from"./useComponentClass-C0isGl1z.js";import{P as e}from"./index-XF8itt-H.js";import"./ThemeContext-Sm-iNANd.js";import"./mergeProps-0RucjqeH.js";const s="Separator",i=r.forwardRef((({orientation:r="horizontal",className:i,customRootClass:m,color:n="",decorative:c=!1,...l},p)=>{const d=a(m,s),f=d?`${d}-${r}`:void 0,u={};u["data-orientation"]=r,n&&(u["data-color"]=n);const j=c?{role:"none"}:{role:"separator",..."vertical"===r?{"aria-orientation":"vertical"}:{}};return o(e.div,{ref:p,className:t(d,f,i),...j,...u,...l})}));i.displayName=s;export{i as default};
@@ -1,17 +1,23 @@
1
1
  import React from 'react';
2
2
 
3
3
  type SkeletonProps = React.ComponentPropsWithoutRef<'div'> & {
4
- loading: boolean;
4
+ /** Shows the placeholder while true (default) and the children once false. */
5
+ loading?: boolean;
5
6
  customRootClass?: string;
6
- height: string;
7
- width: string;
7
+ /** Placeholder height; falls back to the theme default (1em in Clarity). */
8
+ height?: string;
9
+ /** Placeholder width; falls back to the theme default (100% in Clarity). */
10
+ width?: string;
8
11
  radius?: string;
9
12
  };
10
13
  declare const Skeleton: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
11
- loading: boolean;
14
+ /** Shows the placeholder while true (default) and the children once false. */
15
+ loading?: boolean;
12
16
  customRootClass?: string;
13
- height: string;
14
- width: string;
17
+ /** Placeholder height; falls back to the theme default (1em in Clarity). */
18
+ height?: string;
19
+ /** Placeholder width; falls back to the theme default (100% in Clarity). */
20
+ width?: string;
15
21
  radius?: string;
16
22
  } & React.RefAttributes<HTMLDivElement>>;
17
23
 
@@ -1 +1 @@
1
- 'use client';import{jsx as e,Fragment as s}from"react/jsx-runtime";import t from"react";import{u as o}from"./useComponentClass-QwNivz0h.js";import{c as r}from"./clsx-BaVHROc5.js";import"./ThemeContext-Sm-iNANd.js";const a="Skeleton",i=t.forwardRef((({loading:t=!0,className:i="",customRootClass:l="",children:m,height:n,width:c,radius:d,style:h,...f},p)=>{const u=o(l,a);return t?e("div",{ref:p,className:r(u,i),style:{...h,"--skeleton-height":n,"--skeleton-width":c,"--skeleton-radius":d},...f}):e(s,{children:m})}));i.displayName=a;export{i as default};
1
+ 'use client';import{jsx as e,Fragment as t}from"react/jsx-runtime";import s from"react";import{u as o,c as r}from"./useComponentClass-C0isGl1z.js";import"./ThemeContext-Sm-iNANd.js";const a="Skeleton",i=s.forwardRef((({loading:s=!0,className:i="",customRootClass:l="",children:m,height:n,width:d,radius:c,style:h,...u},f)=>{const p=o(l,a);return s?e("div",{ref:f,className:r(p,i),style:{...h,"--skeleton-height":n,"--skeleton-width":d,"--skeleton-radius":c},...u}):e(t,{children:m})}));i.displayName=a;export{i as default};
@@ -126,5 +126,5 @@ type SliderComponent = ForwardRefExoticComponent<SliderProps & RefAttributes<Sli
126
126
  };
127
127
  declare const Slider: SliderComponent;
128
128
 
129
- export { Slider as default };
129
+ export { SliderMarks as Marks, SliderRange as Range, SliderRangeSlider as RangeSlider, SliderRoot as Root, SliderThumb as Thumb, SliderTrack as Track, Slider as default };
130
130
  export type { SliderElement, SliderMarksProps, SliderProps, SliderRangeProps, SliderRangeSliderProps, SliderRootProps, SliderThumbProps, SliderTrackProps };
@@ -1 +1 @@
1
- 'use client';import{jsx as e,jsxs as t,Fragment as a}from"react/jsx-runtime";import r,{createContext as n,forwardRef as o,useRef as l,useCallback as i}from"react";import{c as s}from"./clsx-BaVHROc5.js";import{u}from"./useComponentClass-QwNivz0h.js";import{u as c}from"./index-wRElCyvx.js";import{P as m}from"./index-XF8itt-H.js";import{K as d}from"./keyboard-BKF7hXqL.js";import{m as p}from"./mergeRefs-B8eZ_q-T.js";import"./ThemeContext-Sm-iNANd.js";import"./mergeProps-0RucjqeH.js";const v=n({rootClass:"",value:0,setValue:()=>{},minValue:0,maxValue:100,step:1,name:void 0,isDragging:!1,setDragging:()=>{},disabled:!1,orientation:"horizontal",pageStepMultiplier:10,showStepMarks:!1,formatValue:void 0,rootRef:{current:null},thumbRefs:void 0,registerThumbRef:void 0}),h="Slider",f=o((({children:t,className:a="",customRootClass:n="",defaultValue:o,value:m,onValueChange:d,onValueCommit:p,min:f=0,max:b=100,step:g=1,disabled:x=!1,name:w,orientation:y="horizontal",pageStepMultiplier:R=10,showStepMarks:M=!1,formatValue:$,...k},N)=>{const V=u(n,h),[A,C]=c(m,o??(Array.isArray(m)?m:0),d),[D,S]=r.useState(!1),P=r.useRef(null),E=r.useRef(A);r.useEffect((()=>{E.current=A}),[A]);const T=r.useRef(null),O=l([]),X=r.useMemo((()=>e=>{T.current=e,"function"==typeof N?N(e):N&&(N.current=e)}),[N]),L=i(((e,t)=>{O.current[e]=t}),[]),W=e=>{const t=T.current;if(!t)return;const a=t.getBoundingClientRect();let r;r="vertical"===y?(a.bottom-e.clientY)/a.height:(e.clientX-a.left)/a.width;const n=f+r*(b-f),o=Math.round(n/g)*g,l=(i=o,Math.min(b,Math.max(f,i)));var i;if(Array.isArray(A)){let e=P.current;if(null===e){const t=A.map((e=>Math.abs(e-l)));e=t.indexOf(Math.min(...t)),P.current=e}const t=A.map(((e,t)=>({value:e,origIndex:t})));t[e].value=l,t.sort(((e,t)=>e.value-t.value)),P.current=t.findIndex((t=>t.origIndex===e)),C(t.map((e=>e.value)))}else C(l)},I={rootClass:V,value:A,setValue:C,minValue:f,maxValue:b,step:g,name:w,isDragging:D,setDragging:S,disabled:x,orientation:y,pageStepMultiplier:R,showStepMarks:M,formatValue:$,rootRef:T,thumbRefs:O.current,registerThumbRef:L};return e(v.Provider,{value:I,children:e("div",{ref:X,className:s(V,a),"data-slider-root":V,"data-disabled":x,"data-orientation":y,onPointerDown:e=>{if(x)return;e.stopPropagation();const t=e.target,a=V?t.closest(`.${V}-thumb`):t.closest('[role="slider"]');if(a&&Array.isArray(A)){const e=parseInt(a.getAttribute("data-index")||"0",10);P.current=e,a.focus()}else if(P.current=null,Array.isArray(A))T.current?.focus();else{const e=O.current[0];e?.current?.focus()}S(!0),W(e);const r=e=>{e.preventDefault(),W(e)},n=()=>{S(!1),P.current=null,document.removeEventListener("pointermove",r),document.removeEventListener("pointerup",n),p?.(E.current)};document.addEventListener("pointermove",r),document.addEventListener("pointerup",n)},onPointerMove:e=>{D&&(e.preventDefault(),W(e))},onPointerUp:()=>{S(!1),P.current=null},...k,children:t})})}));f.displayName=h;const b=o((({children:t,className:a,style:n,...o},l)=>{const{rootClass:i,orientation:u}=r.useContext(v),c="vertical"===u?{rotate:"180deg",position:"relative"}:{position:"relative"},m=s(i?`${i}-track`:void 0,a)||void 0;return e("div",{ref:l,className:m,style:{...n,...c},...o,children:t})}));b.displayName="SliderTrack";const g=r.memo(o((({children:n,asChild:o=!1,index:l=0,"aria-label":i,"aria-labelledby":s,...u},c)=>{const{rootClass:h,value:f,minValue:b,maxValue:g,step:x,setValue:w,name:y,isDragging:R,setDragging:M,disabled:$,orientation:k,pageStepMultiplier:N,formatValue:V,registerThumbRef:A}=r.useContext(v),C=r.useRef(null);r.useEffect((()=>{A&&C.current&&A(l,C)}),[l,A]);const D=Array.isArray(f)&&l>=0&&l<f.length?f[l]:"number"==typeof f?f:b,S=Number.isFinite(D)?D:b,P=Math.min(g,Math.max(b,S)),E=g===b?0:(P-b)/(g-b)*100,[T,O]=r.useState(!1),X=R?"dragging":T?"active":"inactive",L=e(m.div,{ref:p(C,c),asChild:o,className:h?`${h}-thumb`:void 0,role:"slider",tabIndex:$?-1:0,"aria-valuemin":b,"aria-valuemax":g,"aria-valuenow":P,"aria-valuetext":V?V(P):void 0,"aria-orientation":k,"aria-label":i,"aria-labelledby":s,"data-state":X,"data-disabled":$,"data-index":l,onKeyDown:e=>{if($)return;let t=P;const a=Boolean(e.currentTarget.closest('[dir="rtl"]'));switch(e.key){case d.ARROW_RIGHT:t=a?P-x:P+x;break;case d.ARROW_LEFT:t=a?P+x:P-x;break;case d.ARROW_UP:t=P+x;break;case d.ARROW_DOWN:t=P-x;break;case d.HOME:t=b;break;case d.END:t=g;break;case d.PAGE_UP:t=P+x*N;break;case d.PAGE_DOWN:t=P-x*N;break;default:return}e.preventDefault();const r=(n=t,Math.min(g,Math.max(b,n)));var n;if(Array.isArray(f)){const e=[...f];e[l]=r,w(e)}else w(r)},onPointerDown:e=>{$||(e.currentTarget.focus(),M(!0))},onPointerUp:()=>{M(!1)},onFocus:()=>O(!0),onBlur:()=>O(!1),style:"vertical"===k?{top:`calc(${E}% - 10px)`}:{left:`calc(${E}% - 10px)`},...u,children:n});return t(a,{children:[L,e("input",{type:"hidden",value:P,name:Array.isArray(f)?`${y}[${l}]`:y})]})})));g.displayName="SliderThumb";const x=o((({children:t,className:a,style:n,...o},l)=>{const{rootClass:i,value:u,minValue:c,maxValue:m,orientation:d}=r.useContext(v);let p=0,h=0;if(Array.isArray(u))if(0===u.length)p=0,h=0;else{const e=[...u].sort(((e,t)=>e-t)),t=e[0],a=e[e.length-1];p=m===c?0:(t-c)/(m-c)*100,h=m===c?0:(a-c)/(m-c)*100,1===u.length&&(p=0)}else p=0,h=m===c?0:(u-c)/(m-c)*100;const f=h-p,b=s(i?`${i}-range`:void 0,a)||void 0;return e("div",{ref:l,className:b,style:{...n,..."vertical"===d?{height:`${f}%`,marginTop:100-h+"%"}:{marginLeft:`${p}%`,width:`${f}%`}},...o,children:t})}));x.displayName="SliderRange";const w=o((({children:a,customMarks:n,...o},l)=>{const{rootClass:i,minValue:s,maxValue:u,step:c,orientation:m,showStepMarks:d}=r.useContext(v);if(!d&&!n)return null;const p=[];if(n)n.forEach((({value:a,label:r})=>{const n=u===s?0:(a-s)/(u-s)*100;p.push(t("div",{className:i?`${i}-mark ${i}-mark-custom`:void 0,"data-testid":`mark-${a}`,style:"vertical"===m?{bottom:`${n}%`,left:"50%",transform:"translateX(-50%)"}:{left:`${n}%`,top:0,transform:"translateX(-50%)"},"data-value":a,children:[e("div",{className:i?`${i}-mark-line`:void 0,style:"vertical"===m?{width:"2px",height:"12px",position:"absolute",bottom:"-6px",left:"50%",transform:"translateX(-50%)"}:{width:"1px",height:"6px",position:"absolute",top:"100%",left:"50%",transform:"translateX(-50%)"}}),r&&e("span",{className:i?`${i}-mark-label`:void 0,style:"vertical"===m?{right:"16px",top:"50%",transform:"translateY(-50%)",whiteSpace:"nowrap"}:{top:"8px",left:"50%",transform:"translateX(-50%)",whiteSpace:"nowrap"},children:r})]},a))}));else for(let t=s;t<=u;t+=c){const a=u===s?0:(t-s)/(u-s)*100;p.push(e("div",{className:i?`${i}-mark`:void 0,"data-testid":`mark-${t}`,style:"vertical"===m?{bottom:`${a}%`,left:"50%",transform:"translateX(-50%)"}:{left:`${a}%`,top:0,transform:"translateX(-50%)"},"data-value":t,children:e("div",{className:i?`${i}-mark-line`:void 0,style:"vertical"===m?{width:"2px",height:"8px",position:"absolute",bottom:"-4px",left:"50%",transform:"translateX(-50%)"}:{width:"1px",height:"4px",position:"absolute",top:"100%",left:"50%",transform:"translateX(-50%)"}})},t))}return t("div",{ref:l,className:i?`${i}-marks`:void 0,style:{position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",zIndex:1},...o,children:[p,a]})}));w.displayName="SliderMarks";const y=o((({children:a,"aria-label":n,"aria-labelledby":o,defaultValue:l=[25,75],value:i,onValueChange:s,...u},c)=>{const{rootClass:p,minValue:h,maxValue:f,step:b,disabled:g,orientation:x,rootRef:w}=r.useContext(v),[y,R]=r.useState(i||l),[M,$]=r.useState(null),[k,N]=r.useState(null),V=r.useRef(0),A=e=>Math.min(f,Math.max(h,e)),C=e=>{R(e),s?.(e)},D=f===h?0:(y[0]-h)/(f-h)*100,S=f===h?0:(y[1]-h)/(f-h)*100,P=(e,t)=>{const a=e.currentTarget.getBoundingClientRect();let r;r="vertical"===x?(a.bottom-e.clientY)/a.height:(e.clientX-a.left)/a.width;const n=h+r*(f-h),o=Math.round(n/b)*b,l=A(o),i=[...y];i["lower"===t?0:1]=l,"lower"===t?i[0]=Math.min(i[0],y[1]):i[1]=Math.max(i[1],y[0]),C(i)},E=(e,t)=>{if(g)return;e.stopPropagation(),$(t),P(e,t);const a=e=>{e.preventDefault();const a=w.current;if(!a)return;const r=a.getBoundingClientRect();let n;n="vertical"===x?(r.bottom-e.clientY)/r.height:(e.clientX-r.left)/r.width;const o=h+n*(f-h),l=Math.round(o/b)*b,i=A(l),s=[...y];s["lower"===t?0:1]=i,"lower"===t?s[0]=Math.min(s[0],y[1]):s[1]=Math.max(s[1],y[0]);const u=performance.now();u-V.current>16&&(C(s),V.current=u)},r=()=>{$(null),document.removeEventListener("pointermove",a),document.removeEventListener("pointerup",r)};document.addEventListener("pointermove",a),document.addEventListener("pointerup",r)},T=(e,t)=>{M&&M===t&&(e.preventDefault(),P(e,t))},O=()=>{$(null)},X=(e,t)=>{if(g)return;const a=[...y],r=Boolean(e.currentTarget.closest('[dir="rtl"]'));switch(e.key){case d.ARROW_RIGHT:a["lower"===t?0:1]=r?y["lower"===t?0:1]-b:y["lower"===t?0:1]+b;break;case d.ARROW_LEFT:a["lower"===t?0:1]=r?y["lower"===t?0:1]+b:y["lower"===t?0:1]-b;break;case d.ARROW_UP:a["lower"===t?0:1]=y["lower"===t?0:1]+b;break;case d.ARROW_DOWN:a["lower"===t?0:1]=y["lower"===t?0:1]-b;break;case d.HOME:a["lower"===t?0:1]=h;break;case d.END:a["lower"===t?0:1]=f;break;default:return}e.preventDefault(),"lower"===t?a[0]=Math.min(a[0],y[1]):a[1]=Math.max(a[1],y[0]),a[0]=A(a[0]),a[1]=A(a[1]),C(a)};return t("div",{ref:c,className:p?`${p}-range-slider`:void 0,...u,children:[e(m.div,{className:p?`${p}-thumb ${p}-thumb-lower`:void 0,role:"slider",tabIndex:g?-1:0,"aria-valuemin":h,"aria-valuemax":f,"aria-valuenow":y[0],"aria-orientation":x,"aria-label":n?`${n} minimum`:"Minimum value","aria-labelledby":o,"data-state":"lower"===M?"dragging":"lower"===k?"active":"inactive","data-disabled":g,onKeyDown:e=>X(e,"lower"),onFocus:()=>N("lower"),onBlur:()=>N(null),onPointerDown:e=>E(e,"lower"),onPointerMove:e=>T(e,"lower"),onPointerUp:O,style:"vertical"===x?{bottom:`calc(${D}% - 8px)`}:{left:`calc(${D}% - 8px)`}}),e(m.div,{className:p?`${p}-thumb ${p}-thumb-upper`:void 0,role:"slider",tabIndex:g?-1:0,"aria-valuemin":h,"aria-valuemax":f,"aria-valuenow":y[1],"aria-orientation":x,"aria-label":n?`${n} maximum`:"Maximum value","aria-labelledby":o,"data-state":"upper"===M?"dragging":"upper"===k?"active":"inactive","data-disabled":g,onKeyDown:e=>X(e,"upper"),onFocus:()=>N("upper"),onBlur:()=>N(null),onPointerDown:e=>E(e,"upper"),onPointerMove:e=>T(e,"upper"),onPointerUp:O,style:"vertical"===x?{bottom:`calc(${S}% - 8px)`}:{left:`calc(${S}% - 8px)`}}),e("div",{className:p?`${p}-range-fill`:void 0,style:"vertical"===x?{bottom:`${Math.min(D,S)}%`,height:`${Math.abs(S-D)}%`,left:0,right:0}:{left:`${Math.min(D,S)}%`,width:`${Math.abs(S-D)}%`,top:0,bottom:0}}),a]})}));y.displayName="SliderRangeSlider";const R=o(((t,a)=>{const{defaultValue:r,min:n=0,max:o=100,step:l=1,orientation:i="horizontal",formatValue:s,"aria-label":u,"aria-labelledby":c,...m}=t;return e(R.Root,{ref:a,defaultValue:r,min:n,max:o,step:l,orientation:i,formatValue:s,...m,children:e(R.Track,{children:e(R.Range,{children:e(R.Thumb,{"aria-label":u,"aria-labelledby":c})})})})}));R.displayName="Slider",R.Root=f,R.Track=b,R.Range=x,R.Thumb=g,R.Marks=w,R.RangeSlider=y;export{R as default};
1
+ 'use client';import{jsx as e,jsxs as t,Fragment as a}from"react/jsx-runtime";import r,{createContext as n,forwardRef as o,useRef as i,useCallback as l}from"react";import{u as s,c as u}from"./useComponentClass-C0isGl1z.js";import{u as c}from"./index-wRElCyvx.js";import{P as m}from"./index-XF8itt-H.js";import{K as d}from"./keyboard-BKF7hXqL.js";import{m as p}from"./mergeRefs-B8eZ_q-T.js";import"./ThemeContext-Sm-iNANd.js";import"./mergeProps-0RucjqeH.js";const h=n({rootClass:"",value:0,setValue:()=>{},commitValue:()=>{},minValue:0,maxValue:100,step:1,name:void 0,isDragging:!1,setDragging:()=>{},disabled:!1,orientation:"horizontal",pageStepMultiplier:10,showStepMarks:!1,formatValue:void 0,rootRef:{current:null},thumbRefs:void 0,registerThumbRef:void 0}),f=e=>{if(!Number.isFinite(e))return 0;const t=String(e),a=/e-(\d+)$/i.exec(t);if(a){return(t.split(/e/i)[0].split(".")[1]||"").length+Number(a[1])}return(t.split(".")[1]||"").length},v=(e,t,a)=>{const r=Math.min(Math.max(f(t),f(a)),15);return Number(e.toFixed(r))},b=(e,t,a)=>{if(!(t>0))return e;const r=Math.round((e-a)/t)*t+a;return v(r,t,a)},g=(e,t,a)=>Math.min(a,Math.max(t,e)),y=(e,t,a,r)=>({lower:t>0?e[t-1]:a,upper:t<e.length-1?e[t+1]:r}),x="Slider",w=o((({children:t,className:a="",customRootClass:n="",defaultValue:o,value:m,onValueChange:d,onValueCommit:p,min:f=0,max:v=100,step:w=1,disabled:R=!1,name:$,orientation:k="horizontal",pageStepMultiplier:M=10,showStepMarks:N=!1,formatValue:A,onPointerDown:V,...D},S)=>{const P=s(n,x),[C,T]=c(m,o??(Array.isArray(m)?m:0),d),[E,L]=r.useState(!1),O=r.useRef(null),X=r.useRef(null),W=i([]),_=r.useMemo((()=>e=>{X.current=e,"function"==typeof S?S(e):S&&(S.current=e)}),[S]),B=r.useRef(C);B.current=C;const F=l((e=>{B.current=e,T(e)}),[T]),j=l((e=>{p?.(void 0===e?B.current:e)}),[p]),I=l(((e,t)=>{W.current[e]=t}),[]),U=e=>{const t=X.current;if(!t)return null;const a=t.getBoundingClientRect(),r="vertical"===k?a.height:a.width;if(!r)return null;const n="vertical"===k?(a.bottom-e.clientY)/r:(e.clientX-a.left)/r,o=f+g(n,0,1)*(v-f);return i=b(o,w,f),g(i,f,v);var i},K=e=>{const t=U(e);if(null===t)return;const a=B.current;if(Array.isArray(a)){if(0===a.length)return;let e=O.current;if(null===e){let r=0,n=1/0;if(a.forEach(((e,a)=>{const o=Math.abs(e-t);(o<n||o===n&&t>e)&&(r=a,n=o)})),0===n&&a.filter((e=>e===t)).length>1)return;e=r,O.current=e,W.current[e]?.current?.focus()}const{lower:r,upper:n}=y(a,e,f,v),o=g(t,r,n);if(o===a[e])return;const i=[...a];i[e]=o,F(i)}else t!==a&&F(t)},z={rootClass:P,value:C,setValue:F,commitValue:j,minValue:f,maxValue:v,step:w,name:$,isDragging:E,setDragging:L,disabled:R,orientation:k,pageStepMultiplier:M,showStepMarks:N,formatValue:A,rootRef:X,thumbRefs:W.current,registerThumbRef:I};return e(h.Provider,{value:z,children:e("div",{ref:_,className:u(P,a),"data-slider-root":P,"data-disabled":R,"data-orientation":k,...D,onPointerDown:e=>{if(V?.(e),R||e.defaultPrevented||e.button>0)return;e.stopPropagation();const t=e.target,a=W.current.findIndex((e=>{const a=e?.current;return!!a&&(a===t||a.contains(t))})),r=B.current,n=-1!==a&&Array.isArray(r)&&r.some(((e,t)=>t!==a&&e===r[a]));-1!==a&&Array.isArray(r)&&!n?(O.current=a,W.current[a]?.current?.focus()):(O.current=null,Array.isArray(r)||W.current[0]?.current?.focus()),L(!0),K(e);const o=e=>{e.preventDefault(),K(e)},i=()=>{L(!1),O.current=null,document.removeEventListener("pointermove",o),document.removeEventListener("pointerup",i),document.removeEventListener("pointercancel",i),j()};document.addEventListener("pointermove",o),document.addEventListener("pointerup",i),document.addEventListener("pointercancel",i)},children:t})})}));w.displayName=x;const R=o((({children:t,className:a,style:n,...o},i)=>{const{rootClass:l,orientation:s}=r.useContext(h),c="vertical"===s?{rotate:"180deg",position:"relative"}:{position:"relative"},m=u(l?`${l}-track`:void 0,a)||void 0;return e("div",{ref:i,className:m,style:{...n,...c},...o,children:t})}));R.displayName="SliderTrack";const $=r.memo(o((({children:n,asChild:o=!1,index:i=0,"aria-label":l,"aria-labelledby":s,className:c,style:f,onKeyDown:b,onPointerDown:x,onPointerUp:w,onFocus:R,onBlur:$,...k},M)=>{const{rootClass:N,value:A,minValue:V,maxValue:D,step:S,setValue:P,commitValue:C,name:T,isDragging:E,setDragging:L,disabled:O,orientation:X,pageStepMultiplier:W,formatValue:_,registerThumbRef:B}=r.useContext(h),F=r.useRef(null);r.useEffect((()=>{B&&F.current&&B(i,F)}),[i,B]);const j=Array.isArray(A)&&i>=0&&i<A.length?A[i]:"number"==typeof A?A:V,I=Number.isFinite(j)?j:V,U=Math.min(D,Math.max(V,I)),K=D===V?0:(U-V)/(D-V)*100,[z,G]=r.useState(!1),H=E?"dragging":z?"active":"inactive",Y=e(m.div,{ref:p(F,M),asChild:o,className:u(N?`${N}-thumb`:void 0,c)||void 0,role:"slider",tabIndex:O?-1:0,"aria-valuemin":V,"aria-valuemax":D,"aria-valuenow":U,"aria-valuetext":_?_(U):void 0,"aria-orientation":X,"aria-label":l,"aria-labelledby":s,"aria-disabled":O||void 0,"data-state":H,"data-disabled":O,"data-index":i,onKeyDown:e=>{if(b?.(e),O||e.defaultPrevented)return;let t=U;const a=Boolean(e.currentTarget.closest('[dir="rtl"]'));switch(e.key){case d.ARROW_RIGHT:t=a?U-S:U+S;break;case d.ARROW_LEFT:t=a?U+S:U-S;break;case d.ARROW_UP:t=U+S;break;case d.ARROW_DOWN:t=U-S;break;case d.HOME:t=V;break;case d.END:t=D;break;case d.PAGE_UP:t=U+S*W;break;case d.PAGE_DOWN:t=U-S*W;break;default:return}e.preventDefault();const r=Array.isArray(A)?y(A,i,V,D):{lower:V,upper:D},n=g(v(t,S,V),r.lower,r.upper);if(n===U)return;let o;if(Array.isArray(A)){const e=[...A];e[i]=n,o=e}else o=n;P(o),C(o)},onPointerDown:e=>{x?.(e),O||e.defaultPrevented||(e.currentTarget.focus(),L(!0))},onPointerUp:e=>{w?.(e),L(!1)},onFocus:e=>{R?.(e),G(!0)},onBlur:e=>{$?.(e),G(!1)},style:{...f,..."vertical"===X?{top:`calc(${K}% - 10px)`}:{left:`calc(${K}% - 10px)`}},...k,children:n});return t(a,{children:[Y,void 0!==T&&e("input",{type:"hidden",value:U,name:Array.isArray(A)?`${T}[${i}]`:T,disabled:O})]})})));$.displayName="SliderThumb";const k=o((({children:t,className:a,style:n,...o},i)=>{const{rootClass:l,value:s,minValue:c,maxValue:m,orientation:d}=r.useContext(h);let p=0,f=0;if(Array.isArray(s))if(0===s.length)p=0,f=0;else{const e=[...s].sort(((e,t)=>e-t)),t=e[0],a=e[e.length-1];p=m===c?0:(t-c)/(m-c)*100,f=m===c?0:(a-c)/(m-c)*100,1===s.length&&(p=0)}else p=0,f=m===c?0:(s-c)/(m-c)*100;const v=f-p,b=u(l?`${l}-range`:void 0,a)||void 0;return e("div",{ref:i,className:b,style:{...n,..."vertical"===d?{height:`${v}%`,marginTop:100-f+"%"}:{marginLeft:`${p}%`,width:`${v}%`}},...o,children:t})}));k.displayName="SliderRange";const M=o((({children:a,customMarks:n,...o},i)=>{const{rootClass:l,minValue:s,maxValue:u,step:c,orientation:m,showStepMarks:d}=r.useContext(h);if(!d&&!n)return null;const p=[];if(n)n.forEach((({value:a,label:r})=>{const n=u===s?0:(a-s)/(u-s)*100;p.push(t("div",{className:l?`${l}-mark ${l}-mark-custom`:void 0,"data-testid":`mark-${a}`,style:"vertical"===m?{bottom:`${n}%`,left:"50%",transform:"translateX(-50%)"}:{left:`${n}%`,top:0,transform:"translateX(-50%)"},"data-value":a,children:[e("div",{className:l?`${l}-mark-line`:void 0,style:"vertical"===m?{width:"2px",height:"12px",position:"absolute",bottom:"-6px",left:"50%",transform:"translateX(-50%)"}:{width:"1px",height:"6px",position:"absolute",top:"100%",left:"50%",transform:"translateX(-50%)"}}),r&&e("span",{className:l?`${l}-mark-label`:void 0,style:"vertical"===m?{right:"16px",top:"50%",transform:"translateY(-50%)",whiteSpace:"nowrap"}:{top:"8px",left:"50%",transform:"translateX(-50%)",whiteSpace:"nowrap"},children:r})]},a))}));else for(let t=s;t<=u;t+=c){const a=u===s?0:(t-s)/(u-s)*100;p.push(e("div",{className:l?`${l}-mark`:void 0,"data-testid":`mark-${t}`,style:"vertical"===m?{bottom:`${a}%`,left:"50%",transform:"translateX(-50%)"}:{left:`${a}%`,top:0,transform:"translateX(-50%)"},"data-value":t,children:e("div",{className:l?`${l}-mark-line`:void 0,style:"vertical"===m?{width:"2px",height:"8px",position:"absolute",bottom:"-4px",left:"50%",transform:"translateX(-50%)"}:{width:"1px",height:"4px",position:"absolute",top:"100%",left:"50%",transform:"translateX(-50%)"}})},t))}return t("div",{ref:i,className:l?`${l}-marks`:void 0,style:{position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",zIndex:1},...o,children:[p,a]})}));M.displayName="SliderMarks";const N=o((({children:a,"aria-label":n,"aria-labelledby":o,defaultValue:i=[25,75],value:l,onValueChange:s,...u},c)=>{const{rootClass:p,minValue:f,maxValue:v,step:g,disabled:y,orientation:x,rootRef:w}=r.useContext(h),[R,$]=r.useState(l||i),k=l??R,[M,N]=r.useState(null),[A,V]=r.useState(null),D=r.useRef(0),S=e=>Math.min(v,Math.max(f,e)),P=e=>{$(e),s?.(e)},C=v===f?0:(k[0]-f)/(v-f)*100,T=v===f?0:(k[1]-f)/(v-f)*100,E=(e,t)=>{const a=e.currentTarget.getBoundingClientRect();let r;r="vertical"===x?(a.bottom-e.clientY)/a.height:(e.clientX-a.left)/a.width;const n=b(f+r*(v-f),g,f),o=S(n),i=[...k];i["lower"===t?0:1]=o,"lower"===t?i[0]=Math.min(i[0],k[1]):i[1]=Math.max(i[1],k[0]),P(i)},L=(e,t)=>{if(y)return;e.stopPropagation(),N(t),E(e,t);const a=e=>{e.preventDefault();const a=w.current;if(!a)return;const r=a.getBoundingClientRect();let n;n="vertical"===x?(r.bottom-e.clientY)/r.height:(e.clientX-r.left)/r.width;const o=b(f+n*(v-f),g,f),i=S(o),l=[...k];l["lower"===t?0:1]=i,"lower"===t?l[0]=Math.min(l[0],k[1]):l[1]=Math.max(l[1],k[0]);const s=performance.now();s-D.current>16&&(P(l),D.current=s)},r=()=>{N(null),document.removeEventListener("pointermove",a),document.removeEventListener("pointerup",r)};document.addEventListener("pointermove",a),document.addEventListener("pointerup",r)},O=(e,t)=>{M&&M===t&&(e.preventDefault(),E(e,t))},X=()=>{N(null)},W=(e,t)=>{if(y)return;const a=[...k],r=Boolean(e.currentTarget.closest('[dir="rtl"]'));switch(e.key){case d.ARROW_RIGHT:a["lower"===t?0:1]=r?k["lower"===t?0:1]-g:k["lower"===t?0:1]+g;break;case d.ARROW_LEFT:a["lower"===t?0:1]=r?k["lower"===t?0:1]+g:k["lower"===t?0:1]-g;break;case d.ARROW_UP:a["lower"===t?0:1]=k["lower"===t?0:1]+g;break;case d.ARROW_DOWN:a["lower"===t?0:1]=k["lower"===t?0:1]-g;break;case d.HOME:a["lower"===t?0:1]=f;break;case d.END:a["lower"===t?0:1]=v;break;default:return}e.preventDefault(),"lower"===t?a[0]=Math.min(a[0],k[1]):a[1]=Math.max(a[1],k[0]),a[0]=S(a[0]),a[1]=S(a[1]),P(a)};return t("div",{ref:c,className:p?`${p}-range-slider`:void 0,...u,children:[e(m.div,{className:p?`${p}-thumb ${p}-thumb-lower`:void 0,role:"slider",tabIndex:y?-1:0,"aria-valuemin":f,"aria-valuemax":v,"aria-valuenow":k[0],"aria-orientation":x,"aria-label":n?`${n} minimum`:"Minimum value","aria-labelledby":o,"data-state":"lower"===M?"dragging":"lower"===A?"active":"inactive","data-disabled":y,onKeyDown:e=>W(e,"lower"),onFocus:()=>V("lower"),onBlur:()=>V(null),onPointerDown:e=>L(e,"lower"),onPointerMove:e=>O(e,"lower"),onPointerUp:X,style:"vertical"===x?{bottom:`calc(${C}% - 8px)`}:{left:`calc(${C}% - 8px)`}}),e(m.div,{className:p?`${p}-thumb ${p}-thumb-upper`:void 0,role:"slider",tabIndex:y?-1:0,"aria-valuemin":f,"aria-valuemax":v,"aria-valuenow":k[1],"aria-orientation":x,"aria-label":n?`${n} maximum`:"Maximum value","aria-labelledby":o,"data-state":"upper"===M?"dragging":"upper"===A?"active":"inactive","data-disabled":y,onKeyDown:e=>W(e,"upper"),onFocus:()=>V("upper"),onBlur:()=>V(null),onPointerDown:e=>L(e,"upper"),onPointerMove:e=>O(e,"upper"),onPointerUp:X,style:"vertical"===x?{bottom:`calc(${T}% - 8px)`}:{left:`calc(${T}% - 8px)`}}),e("div",{className:p?`${p}-range-fill`:void 0,style:"vertical"===x?{bottom:`${Math.min(C,T)}%`,height:`${Math.abs(T-C)}%`,left:0,right:0}:{left:`${Math.min(C,T)}%`,width:`${Math.abs(T-C)}%`,top:0,bottom:0}}),a]})}));N.displayName="SliderRangeSlider";const A=(e,t)=>2===t?0===e?"minimum":"maximum":`${e+1} of ${t}`,V=o(((r,n)=>{const{defaultValue:o,min:i=0,max:l=100,step:s=1,orientation:u="horizontal",formatValue:c,"aria-label":m,"aria-labelledby":d,...p}=r,h=r.value??o,f=Array.isArray(h)?Math.max(h.length,1):1;return e(V.Root,{ref:n,defaultValue:o,min:i,max:l,step:s,orientation:u,formatValue:c,...p,children:f>1?t(a,{children:[e(V.Track,{children:e(V.Range,{})}),Array.from({length:f},((t,a)=>e(V.Thumb,{index:a,"aria-label":m?`${m} ${A(a,f)}`:void 0,"aria-labelledby":d},a)))]}):e(V.Track,{children:e(V.Range,{children:e(V.Thumb,{"aria-label":m,"aria-labelledby":d})})})})}));V.displayName="Slider",V.Root=w,V.Track=R,V.Range=k,V.Thumb=$,V.Marks=M,V.RangeSlider=N;export{M as Marks,k as Range,N as RangeSlider,w as Root,$ as Thumb,R as Track,V as default};
@@ -1 +1 @@
1
- 'use client';import{jsx as s}from"react/jsx-runtime";import e from"react";import{u as o}from"./useComponentClass-QwNivz0h.js";import{c as r}from"./index-eAZUMNef.js";import{c as a}from"./clsx-BaVHROc5.js";import"./ThemeContext-Sm-iNANd.js";const t="Spinner",i=e.forwardRef((({className:e,customRootClass:i="",size:m="",...n},c)=>{const p=o(i,t),f=r("spinner",{size:m}),l=a(p,e)||void 0;return s("div",{className:p?`${p}-container`:void 0,children:s("span",{ref:c,className:l,...n,...f})})}));i.displayName=t;export{i as default};
1
+ 'use client';import{jsx as a}from"react/jsx-runtime";import e from"react";import{u as r,c as s}from"./useComponentClass-C0isGl1z.js";import{c as i}from"./index-eAZUMNef.js";import"./ThemeContext-Sm-iNANd.js";const o="Spinner",t=e.forwardRef((({className:e,customRootClass:t="",size:l="",role:n,"aria-label":m,"aria-labelledby":d,"aria-hidden":c,...p},f)=>{const u=r(t,o),b=i("spinner",{size:l}),h=s(u,e)||void 0,j=!0===(x=c)||"true"===x;var x;return a("span",{className:u?`${u}-container`:void 0,children:a("span",{ref:f,className:h,...j?{"aria-hidden":!0,role:n}:{role:n??"status","aria-label":d?m:m??"Loading","aria-labelledby":d},...p,...b})})}));t.displayName=o;export{t as default};
@@ -9,6 +9,10 @@ interface SplitterRootProps extends React.ComponentPropsWithoutRef<'div'> {
9
9
  minSizes?: number[];
10
10
  maxSizes?: number[];
11
11
  onSizesChange?: (sizes: number[]) => void;
12
+ /** Disables resizing by pointer and keyboard for every handle. */
13
+ disabled?: boolean;
14
+ /** Reading direction. In RTL, horizontal arrow keys and drags are mirrored. Inherited from the DOM when omitted. */
15
+ dir?: 'ltr' | 'rtl';
12
16
  }
13
17
  declare const SplitterRoot: React.ForwardRefExoticComponent<SplitterRootProps & React.RefAttributes<HTMLDivElement>>;
14
18
 
@@ -22,6 +26,8 @@ declare const SplitterPanel: React.ForwardRefExoticComponent<SplitterPanelProps
22
26
 
23
27
  interface SplitterHandleProps extends React.ComponentPropsWithoutRef<'div'> {
24
28
  index: number;
29
+ /** Disables resizing with this handle (Root `disabled` disables all handles). */
30
+ disabled?: boolean;
25
31
  customRootClass?: string;
26
32
  }
27
33
  declare const SplitterHandle: React.ForwardRefExoticComponent<SplitterHandleProps & React.RefAttributes<HTMLDivElement>>;
@@ -53,5 +59,5 @@ type SplitterComponent = React.ForwardRefExoticComponent<SplitterProps & React.R
53
59
  };
54
60
  declare const Splitter: SplitterComponent;
55
61
 
56
- export { Splitter as default };
62
+ export { SplitterHandle as Handle, SplitterPanel as Panel, SplitterRoot as Root, Splitter as default };
57
63
  export type { SplitterHandleProps, SplitterPanelProps, SplitterProps, SplitterRootProps };
@@ -1 +1 @@
1
- 'use client';import{jsx as e}from"react/jsx-runtime";import t,{createContext as n,useRef as r,useState as i,useCallback as o,useMemo as a,useEffect as s}from"react";import{u as l}from"./useComponentClass-QwNivz0h.js";import{K as c}from"./keyboard-BKF7hXqL.js";import{c as u}from"./clsx-BaVHROc5.js";import"./ThemeContext-Sm-iNANd.js";const m=n(null),d=()=>{const e=t.useContext(m);if(!e)throw new Error("Splitter components must be used within a Splitter.Root");return e},f=t.forwardRef((({orientation:t="horizontal",children:n,className:d,customRootClass:f="",defaultSizes:h=[50,50],minSizes:p=[0,0],maxSizes:v=[100,100],onSizesChange:x,style:y,...S},w)=>{const z=l(f,"Splitter"),R=r(null),[g,D]=i(h),[E,N]=i(!1),[A,H]=i(null),[P,b]=i(null),k=o((e=>{R.current=e,"function"==typeof w?w(e):w&&(w.current=e)}),[w]),C=a((()=>({minSizes:p||[],maxSizes:v||[]})),[p,v]),I=r(null);s((()=>()=>{I.current&&(clearTimeout(I.current),I.current=null)}),[]);const L=r(g),M=r(C);L.current=g,M.current=C;const j="horizontal"===t,O=o(((e,t=L.current)=>{const n=e,r=e+1,{minSizes:i,maxSizes:o}=M.current,a=(t[n]||0)+(t[r]||0),s=i[n]??0,l=o[n]??100,c=i[r]??0,u=o[r]??100;return{leftPanelIndex:n,rightPanelIndex:r,min:Math.max(s,a-u),max:Math.min(l,a-c),totalAdjacentSize:a}}),[]),T=o(((e,t,n=L.current)=>{const r=[...n],{leftPanelIndex:i,rightPanelIndex:o,min:a,max:s,totalAdjacentSize:l}=O(e,r),c=((e,t,n)=>Math.max(t,Math.min(n,e)))(t,a,s);return r[i]=c,r[o]=l-c,r}),[O]),W=o((e=>{const t=L.current,{leftPanelIndex:n,min:r,max:i}=O(e,t);return{"aria-valuemin":r,"aria-valuemax":i,"aria-valuenow":t[n]||0}}),[O]),X=o(((e,t=!1)=>{D(e),I.current&&clearTimeout(I.current),x&&(t?x(e):I.current=setTimeout((()=>{x(e)}),16))}),[x]),Y=o(((e,t)=>{t.preventDefault();const n=j?"clientX"in t?t.clientX:t.touches[0].clientX:"clientY"in t?t.clientY:t.touches[0].clientY,r=[...L.current];b({position:n,sizes:r}),N(!0),H(e);let i=null,o=0;const a=t=>{if(!R.current)return;const a=Date.now();a-o<16||(i&&cancelAnimationFrame(i),i=requestAnimationFrame((()=>{const i=((j?"clientX"in t?t.clientX:t.touches[0].clientX:"clientY"in t?t.clientY:t.touches[0].clientY)-n)/(j?R.current.offsetWidth:R.current.offsetHeight)*100;if(Math.abs(i)>.1){const t=T(e,(r[e]||0)+i,r);D(t)}o=a})))},s=()=>{i&&cancelAnimationFrame(i),N(!1),H(null),b(null);const e=L.current;x&&x(e),document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",s),document.removeEventListener("touchmove",a),document.removeEventListener("touchend",s)};document.addEventListener("mousemove",a),document.addEventListener("mouseup",s),document.addEventListener("touchmove",a),document.addEventListener("touchend",s)}),[j,x,T]),K=o(((e,t)=>{const n=t.shiftKey?10:1,r=L.current;let i=0;if(j?(t.key===c.ARROW_LEFT&&(i=-n),t.key===c.ARROW_RIGHT&&(i=n)):(t.key===c.ARROW_UP&&(i=-n),t.key===c.ARROW_DOWN&&(i=n)),0===i){if(t.key===c.HOME||t.key===c.END){t.preventDefault();const{min:n,max:i}=O(e,r);X(T(e,t.key===c.HOME?n:i),!0)}}else{t.preventDefault();const n=r[e]||0;X(T(e,n+i),!0)}}),[O,j,T,X]),F={orientation:t,sizes:g,setSizes:X,getHandleValueAttributes:W,startDrag:Y,handleKeyDown:K,isDragging:E,activeHandleIndex:A,rootClass:z};return e(m.Provider,{value:F,children:e("div",{...S,ref:k,className:u(z,d),style:{display:"flex",flexDirection:j?"row":"column",width:"100%",height:"100%",...y},children:n})})}));f.displayName="SplitterRoot";const h=t.forwardRef((({index:t,children:n,className:r,style:i,...o},a)=>{const{sizes:s,orientation:l,rootClass:c}=d(),m={flexBasis:`${s[t]}%`,flexGrow:0,flexShrink:0,overflow:"auto",minWidth:"horizontal"===l?0:void 0,minHeight:"vertical"===l?0:void 0,...i};return e("div",{...o,ref:a,className:u(c&&`${c}-panel`,r),style:m,children:n})}));h.displayName="SplitterPanel";const p=t.forwardRef((({index:t,className:n,"aria-label":r,style:i,...o},a)=>{const{startDrag:s,orientation:l,isDragging:c,activeHandleIndex:m,handleKeyDown:f,getHandleValueAttributes:h,rootClass:p}=d(),v=c&&m===t,x=h(t);return e("div",{...o,ref:a,className:u(p&&`${p}-handle`,{active:v},n),role:"separator","aria-orientation":l,"aria-label":r||`${l} resize handle`,...x,tabIndex:0,onMouseDown:e=>s(t,e),onTouchStart:e=>s(t,e),onKeyDown:e=>f(t,e),style:i})}));p.displayName="SplitterHandle";const v=t.forwardRef(((t,n)=>(console.warn("Direct usage of Splitter is not supported. Please use Splitter.Root, Splitter.Panel, etc. instead."),e("div",{ref:n,...t}))));v.displayName="Splitter",v.Root=f,v.Panel=h,v.Handle=p;export{v as default};
1
+ 'use client';import{jsx as e}from"react/jsx-runtime";import t,{createContext as n,useRef as r,useState as o,useCallback as i,useMemo as a,useEffect as l}from"react";import{u as s,c as u}from"./useComponentClass-C0isGl1z.js";import{K as c}from"./keyboard-BKF7hXqL.js";import"./ThemeContext-Sm-iNANd.js";const d=n(null),m=()=>{const e=t.useContext(d);if(!e)throw new Error("Splitter components must be used within a Splitter.Root");return e},f=e=>Math.round(10*e)/10,v=t.forwardRef((({orientation:n="horizontal",children:m,className:v,customRootClass:h="",defaultSizes:p=[50,50],minSizes:S=[0,0],maxSizes:x=[100,100],onSizesChange:g,disabled:y=!1,dir:z,style:w,...P},R)=>{const b=t.useId(),E=s(h,"Splitter"),D=r(null),[C,I]=o(p),[H,N]=o(!1),[M,L]=o(null),[T,A]=o({}),[k,O]=o({}),W=r(null),j=i((e=>{D.current=e,"function"==typeof R?R(e):R&&(R.current=e)}),[R]),K=a((()=>{const e=[...S||[]],t=[...x||[]];return Object.entries(T).forEach((([n,r])=>{const o=Number(n);void 0!==r.minSize&&(e[o]=Math.max(e[o]??0,r.minSize)),void 0!==r.maxSize&&(t[o]=Math.min(t[o]??100,r.maxSize))})),{minSizes:e,maxSizes:t}}),[S,x,T]),$=i((e=>k[e]??`${b}-panel-${e}`),[k,b]),_=i(((e,t)=>(O((n=>n[e]===t?n:{...n,[e]:t})),()=>{O((n=>{if(n[e]!==t)return n;const r={...n};return delete r[e],r}))})),[]),F=i(((e,t,n)=>(A((r=>{const o=r[e];if(o?.minSize===t&&o?.maxSize===n)return r;const i={...r};return void 0===t&&void 0===n?delete i[e]:i[e]={minSize:t,maxSize:n},i})),()=>{A((t=>{if(!(e in t))return t;const n={...t};return delete n[e],n}))})),[]),B=r(null);l((()=>()=>{W.current?.(),B.current&&(clearTimeout(B.current),B.current=null)}),[]);const G=r(C),V=r(K);G.current=C,V.current=K;const X="horizontal"===n,Y=i((()=>{if(z)return"rtl"===z;const e=D.current;return!(!e||"undefined"==typeof window||"function"!=typeof window.getComputedStyle)&&"rtl"===window.getComputedStyle(e).direction}),[z]),q=i(((e,t=G.current)=>{const n=e,r=e+1,{minSizes:o,maxSizes:i}=V.current,a=(t[n]||0)+(t[r]||0),l=o[n]??0,s=i[n]??100,u=o[r]??0,c=i[r]??100;return{leftPanelIndex:n,rightPanelIndex:r,min:Math.max(l,a-c),max:Math.min(s,a-u),totalAdjacentSize:a}}),[]),U=i(((e,t,n=G.current)=>{const r=[...n],{leftPanelIndex:o,rightPanelIndex:i,min:a,max:l,totalAdjacentSize:s}=q(e,r),u=((e,t,n)=>Math.max(t,Math.min(n,e)))(t,a,l);return r[o]=u,r[i]=s-u,r}),[q]),J=i((e=>{const t=G.current,{leftPanelIndex:n,min:r,max:o}=q(e,t);return{"aria-valuemin":f(r),"aria-valuemax":f(o),"aria-valuenow":f(t[n]||0)}}),[q]),Q=i(((e,t=!1)=>{I(e),B.current&&clearTimeout(B.current),g&&(t?g(e):B.current=setTimeout((()=>{g(e)}),16))}),[g]),Z=i(((e,t)=>{if(y)return;if("button"in t&&0!==t.button)return;t.preventDefault();const n=t.currentTarget;n&&"function"==typeof n.focus&&document.activeElement!==n&&n.focus({preventScroll:!0}),W.current?.();const r=e=>{if("touches"in e){const t=e.touches[0]??e.changedTouches?.[0];return t?X?t.clientX:t.clientY:null}return X?e.clientX:e.clientY},o=r(t);if(null===o)return;const i=[...G.current],a=i.length,l=X&&Y()?-1:1,s=n?X?n.offsetWidth:n.offsetHeight:0;N(!0),L(e);let u=null,c=o,d=i;const m=()=>{u=null;const t=(t=>{const n=D.current;if(!n)return d;const r=(X?n.clientWidth:n.clientHeight)-s*Math.max(0,a-1);return r<=0?d:U(e,(i[e]||0)+(t-o)*l/r*100,i)})(c);t.some(((e,t)=>e!==d[t]))&&(d=t,G.current=t,I(t))},f=e=>{const t=r(e);null!==t&&(e.cancelable&&"touches"in e&&e.preventDefault(),c=t,null===u&&(u=requestAnimationFrame(m)))},v=()=>{null!==u&&(cancelAnimationFrame(u),u=null),document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",h),document.removeEventListener("touchmove",f),document.removeEventListener("touchend",h),document.removeEventListener("touchcancel",h),W.current=null};function h(){const e=null!==u;v(),e&&m(),N(!1),L(null);d.some(((e,t)=>e!==i[t]))&&g&&(B.current&&(clearTimeout(B.current),B.current=null),g(d))}W.current=v,document.addEventListener("mousemove",f),document.addEventListener("mouseup",h),document.addEventListener("touchmove",f,{passive:!1}),document.addEventListener("touchend",h),document.addEventListener("touchcancel",h)}),[y,X,Y,g,U]),ee=i(((e,t)=>{if(y)return;const n=t.shiftKey?10:1,r=G.current;let o=0;if(X){const e=Y()?-n:n;t.key===c.ARROW_LEFT&&(o=-e),t.key===c.ARROW_RIGHT&&(o=e)}else t.key===c.ARROW_UP&&(o=-n),t.key===c.ARROW_DOWN&&(o=n);if(0===o){if(t.key===c.HOME||t.key===c.END){t.preventDefault();const{min:n,max:o}=q(e,r);Q(U(e,t.key===c.HOME?n:o),!0)}}else{t.preventDefault();const n=r[e]||0;Q(U(e,n+o),!0)}}),[y,q,X,Y,U,Q]),te={orientation:n,sizes:C,setSizes:Q,getHandleValueAttributes:J,startDrag:Z,handleKeyDown:ee,isDragging:H,activeHandleIndex:M,rootClass:E,registerPanelConstraints:F,registerPanelId:_,getPanelId:$,disabled:y};return e(d.Provider,{value:te,children:e("div",{...P,ref:j,className:u(E,v),dir:z,"data-orientation":n,"data-disabled":y?"":void 0,style:{display:"flex",flexDirection:X?"row":"column",width:"100%",height:"100%",...w},children:m})})}));v.displayName="SplitterRoot";const h=t.forwardRef((({index:n,children:r,className:o,style:i,minSize:a,maxSize:l,customRootClass:s,id:c,...d},f)=>{const{sizes:v,orientation:h,rootClass:p,registerPanelConstraints:S,registerPanelId:x,getPanelId:g}=m(),y=c??g?.(n);t.useEffect((()=>{if(c&&x)return x(n,c)}),[c,n,x]),t.useEffect((()=>{if(S&&(void 0!==a||void 0!==l))return S(n,a,l)}),[n,a,l,S]);const z={flexBasis:`${v[n]??0}%`,flexGrow:0,flexShrink:1,overflow:"auto",minWidth:"horizontal"===h?0:void 0,minHeight:"vertical"===h?0:void 0,...i};return e("div",{...d,ref:f,id:y,className:u(p&&`${p}-panel`,o),"data-orientation":h,style:z,children:r})}));h.displayName="SplitterPanel";const p=t.forwardRef((({index:t,className:n,"aria-label":r,style:o,customRootClass:i,disabled:a,onMouseDown:l,onTouchStart:s,onKeyDown:c,...d},f)=>{const{startDrag:v,orientation:h,isDragging:p,activeHandleIndex:S,handleKeyDown:x,getHandleValueAttributes:g,rootClass:y,getPanelId:z,disabled:w}=m(),P=Boolean(a||w),R=p&&S===t,b=g(t);return e("div",{...d,ref:f,className:u(y&&`${y}-handle`,{active:R},n),role:"separator","aria-orientation":h,"aria-label":r||`${h} resize handle`,...b,"data-orientation":h,"data-dragging":R?"":void 0,"data-disabled":P?"":void 0,"aria-disabled":!!P||void 0,"aria-controls":z?.(t),tabIndex:P?-1:0,onMouseDown:e=>{l?.(e),e.defaultPrevented||P||v(t,e)},onTouchStart:e=>{s?.(e),e.defaultPrevented||P||v(t,e)},onKeyDown:e=>{c?.(e),e.defaultPrevented||P||x(t,e)},style:o})}));p.displayName="SplitterHandle";const S=t.forwardRef(((t,n)=>(console.warn("Direct usage of Splitter is not supported. Please use Splitter.Root, Splitter.Panel, etc. instead."),e("div",{ref:n,...t}))));S.displayName="Splitter",S.Root=v,S.Panel=h,S.Handle=p;export{p as Handle,h as Panel,v as Root,S as default};
@@ -1,37 +1,52 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
1
  import React from 'react';
3
2
 
4
3
  type StepsRootProps = React.HTMLAttributes<HTMLDivElement> & {
5
4
  customRootClass?: string;
5
+ /**
6
+ * Layout direction. Defaults to `vertical`, which is how Steps has always rendered;
7
+ * `horizontal` lays steps out in a row with horizontal connector lines.
8
+ */
6
9
  orientation?: 'horizontal' | 'vertical';
7
10
  value?: number;
8
11
  defaultValue?: number;
9
12
  onValueChange?: (value: number) => void;
10
13
  };
11
- declare const StepsRoot: ({ children, className, customRootClass, orientation, value, defaultValue, onValueChange, ...props }: StepsRootProps) => react_jsx_runtime.JSX.Element;
14
+ declare const StepsRoot: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
15
+ customRootClass?: string;
16
+ /**
17
+ * Layout direction. Defaults to `vertical`, which is how Steps has always rendered;
18
+ * `horizontal` lays steps out in a row with horizontal connector lines.
19
+ */
20
+ orientation?: "horizontal" | "vertical";
21
+ value?: number;
22
+ defaultValue?: number;
23
+ onValueChange?: (value: number) => void;
24
+ } & React.RefAttributes<HTMLDivElement>>;
12
25
 
13
26
  type StepItemProps = React.HTMLAttributes<HTMLDivElement> & {
14
27
  value?: string | number | null;
15
28
  };
16
- declare const StepItem: ({ children, value, className, ...props }: StepItemProps) => react_jsx_runtime.JSX.Element;
29
+ declare const StepItem: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
30
+ value?: string | number | null;
31
+ } & React.RefAttributes<HTMLDivElement>>;
17
32
 
18
33
  type StepTrackProps = React.HTMLAttributes<HTMLDivElement>;
19
- declare const StepTrack: ({ children, className, ...props }: StepTrackProps) => react_jsx_runtime.JSX.Element;
34
+ declare const StepTrack: React.ForwardRefExoticComponent<StepTrackProps & React.RefAttributes<HTMLDivElement>>;
20
35
 
21
36
  type StepBubbleProps = React.HTMLAttributes<HTMLDivElement>;
22
- declare const StepBubble: ({ children, className, ...props }: StepBubbleProps) => react_jsx_runtime.JSX.Element;
37
+ declare const StepBubble: React.ForwardRefExoticComponent<StepBubbleProps & React.RefAttributes<HTMLDivElement>>;
23
38
 
24
39
  type StepLineProps = React.HTMLAttributes<HTMLDivElement>;
25
- declare const StepLine: ({ children, className, ...props }: StepLineProps) => react_jsx_runtime.JSX.Element;
40
+ declare const StepLine: React.ForwardRefExoticComponent<StepLineProps & React.RefAttributes<HTMLDivElement>>;
26
41
 
27
42
  type StepContentProps = React.HTMLAttributes<HTMLDivElement>;
28
- declare const StepContent: ({ children, className, ...props }: StepContentProps) => react_jsx_runtime.JSX.Element;
43
+ declare const StepContent: React.ForwardRefExoticComponent<StepContentProps & React.RefAttributes<HTMLDivElement>>;
29
44
 
30
45
  type StepTitleProps = React.HTMLAttributes<HTMLDivElement>;
31
- declare const StepTitle: ({ children, className, ...props }: StepTitleProps) => react_jsx_runtime.JSX.Element;
46
+ declare const StepTitle: React.ForwardRefExoticComponent<StepTitleProps & React.RefAttributes<HTMLDivElement>>;
32
47
 
33
48
  type StepDescriptionProps = React.HTMLAttributes<HTMLDivElement>;
34
- declare const StepDescription: ({ children, className, ...props }: StepDescriptionProps) => react_jsx_runtime.JSX.Element;
49
+ declare const StepDescription: React.ForwardRefExoticComponent<StepDescriptionProps & React.RefAttributes<HTMLDivElement>>;
35
50
 
36
51
  declare const StepsComponent: () => null;
37
52
  type StepsComponentType = typeof StepsComponent & {
@@ -46,5 +61,5 @@ type StepsComponentType = typeof StepsComponent & {
46
61
  };
47
62
  declare const Steps: StepsComponentType;
48
63
 
49
- export { Steps as default };
64
+ export { StepBubble as Bubble, StepContent as Content, StepDescription as Description, StepItem as Item, StepLine as Line, StepsRoot as Root, StepTitle as Title, StepTrack as Track, Steps as default };
50
65
  export type { StepBubbleProps, StepContentProps, StepDescriptionProps, StepItemProps, StepLineProps, StepTitleProps, StepTrackProps, StepsRootProps };
@@ -1 +1 @@
1
- 'use client';import{jsx as e}from"react/jsx-runtime";import{c as t}from"./clsx-BaVHROc5.js";import{u as s}from"./useComponentClass-QwNivz0h.js";import{P as r}from"./index-XF8itt-H.js";import{createContext as a,useContext as o}from"react";import{u as n}from"./index-wRElCyvx.js";import"./ThemeContext-Sm-iNANd.js";import"./mergeProps-0RucjqeH.js";const l=a(null),i=()=>{const e=o(l);if(!e)throw new Error("useStepsContext must be used within a StepsContext.Provider");return e},c=Object.assign((()=>(console.warn("Direct usage of Steps is not supported. Please use Steps.Root, Steps.Item, etc. instead."),null)),{Root:({children:a,className:o,customRootClass:i,orientation:c="horizontal",value:m,defaultValue:d,onValueChange:u,...p})=>{const[h,C]=n(m,d??0,u),v=s(i,"Steps");return e(l.Provider,{value:{currentStep:h,setCurrentStep:C,rootClass:v,orientation:c},children:e(r.div,{className:t(v,o,v&&`${v}-${c}`),"data-orientation":c,...p,children:a})})},Item:({children:s,value:r=0,className:a="",...o})=>{const{rootClass:n,currentStep:l}=i(),c="number"==typeof r&&l>r?"completed":"number"==typeof r&&l===r?"active":"inactive";return e("div",{className:t(n&&`${n}-item`,a),"data-state":c,"data-value":r,...o,children:s})},Track:({children:s,className:r="",...a})=>{const{rootClass:o}=i();return e("div",{className:t(o&&`${o}-track`,r),...a,children:s})},Bubble:({children:s,className:r="",...a})=>{const{rootClass:o}=i();return e("div",{className:t(o&&`${o}-bubble`,r),...a,children:s})},Line:({children:s,className:r="",...a})=>{const{rootClass:o}=i();return e("div",{className:t(o&&`${o}-line`,r),...a,children:s})},Content:({children:s,className:r="",...a})=>{const{rootClass:o}=i();return e("div",{className:t(o&&`${o}-content`,r),...a,children:s})},Title:({children:s,className:r="",...a})=>{const{rootClass:o}=i();return e("div",{className:t(o&&`${o}-title`,r),...a,children:s})},Description:({children:s,className:r="",...a})=>{const{rootClass:o}=i();return e("div",{className:t(o&&`${o}-description`,r),...a,children:s})}});export{c as default};
1
+ 'use client';import{jsx as e}from"react/jsx-runtime";import t,{createContext as s,useContext as r}from"react";import{u as a,c as n}from"./useComponentClass-C0isGl1z.js";import{P as o}from"./index-XF8itt-H.js";import{u as i}from"./index-wRElCyvx.js";import"./ThemeContext-Sm-iNANd.js";import"./mergeProps-0RucjqeH.js";const l=s(null),c=()=>{const e=r(l);if(!e)throw new Error("useStepsContext must be used within a StepsContext.Provider");return e},u=t.forwardRef((({children:s,className:r,customRootClass:c,orientation:u="vertical",value:d,defaultValue:m,onValueChange:f,...p},N)=>{const[C,h]=i(d,m??0,f),S=a(c,"Steps"),[v,b]=t.useState([]),w=t.useCallback((e=>(b((t=>t.includes(e)?t:[...t,e].sort(((e,t)=>{const s=e.compareDocumentPosition(t);return s&Node.DOCUMENT_POSITION_FOLLOWING?-1:s&Node.DOCUMENT_POSITION_PRECEDING?1:0})))),()=>{b((t=>t.includes(e)?t.filter((t=>t!==e)):t))})),[]),R=t.useMemo((()=>({currentStep:C,setCurrentStep:h,rootClass:S,orientation:u,registerItem:w,itemElements:v})),[C,h,S,u,w,v]);return e(l.Provider,{value:R,children:e(o.div,{ref:N,className:n(S,r,S&&`${S}-${u}`),"data-orientation":u,...p,children:s})})}));u.displayName="Steps.Root";const d="undefined"!=typeof window?t.useLayoutEffect:t.useEffect,m=t.forwardRef((({children:s,value:r,className:a="",...o},i)=>{const{rootClass:l,currentStep:u,registerItem:m,itemElements:f}=c(),[p,N]=t.useState(null),C=t.useCallback((e=>{N(e),"function"==typeof i?i(e):i&&(i.current=e)}),[i]);d((()=>{if(p&&m)return m(p)}),[p,m]);const h=p&&f?f.indexOf(p):-1,S=null!=r,v=S?(e=>{if("number"==typeof e)return Number.isFinite(e)?e:null;if("string"==typeof e&&""!==e.trim()){const t=Number(e);return Number.isFinite(t)?t:null}return null})(r):h>=0?h:null,b=null!==v&&u===v,w=null!==v&&u>v?"completed":b?"active":"inactive";return e("div",{ref:C,className:n(l&&`${l}-item`,a),"data-state":w,"data-value":S?r:v??void 0,"aria-current":b?"step":void 0,...o,children:s})}));m.displayName="Steps.Item";const f=t.forwardRef((({children:t,className:s="",...r},a)=>{const{rootClass:o}=c();return e("div",{ref:a,className:n(o&&`${o}-track`,s),...r,children:t})}));f.displayName="Steps.Track";const p=t.forwardRef((({children:t,className:s="",...r},a)=>{const{rootClass:o}=c();return e("div",{ref:a,className:n(o&&`${o}-bubble`,s),...r,children:t})}));p.displayName="Steps.Bubble";const N=t.forwardRef((({children:t,className:s="",...r},a)=>{const{rootClass:o}=c();return e("div",{ref:a,className:n(o&&`${o}-line`,s),...r,children:t})}));N.displayName="Steps.Line";const C=t.forwardRef((({children:t,className:s="",...r},a)=>{const{rootClass:o}=c();return e("div",{ref:a,className:n(o&&`${o}-content`,s),...r,children:t})}));C.displayName="Steps.Content";const h=t.forwardRef((({children:t,className:s="",...r},a)=>{const{rootClass:o}=c();return e("div",{ref:a,className:n(o&&`${o}-title`,s),...r,children:t})}));h.displayName="Steps.Title";const S=t.forwardRef((({children:t,className:s="",...r},a)=>{const{rootClass:o}=c();return e("div",{ref:a,className:n(o&&`${o}-description`,s),...r,children:t})}));S.displayName="Steps.Description";const v=Object.assign((()=>(console.warn("Direct usage of Steps is not supported. Please use Steps.Root, Steps.Item, etc. instead."),null)),{Root:u,Item:m,Track:f,Bubble:p,Line:N,Content:C,Title:h,Description:S});export{p as Bubble,C as Content,S as Description,m as Item,N as Line,u as Root,h as Title,f as Track,v as default};
@@ -1 +1 @@
1
- 'use client';import{jsx as r}from"react/jsx-runtime";import s from"react";import{c as o}from"./clsx-BaVHROc5.js";import{u as t}from"./useComponentClass-QwNivz0h.js";import"./ThemeContext-Sm-iNANd.js";const e="Strong",a=s.forwardRef((({children:s,className:a,customRootClass:m,...c},n)=>{const i=t(m,e);return r("strong",{ref:n,className:o(i,a),...c,children:s})}));a.displayName=e;export{a as default};
1
+ 'use client';import{jsx as r}from"react/jsx-runtime";import s from"react";import{u as o,c as t}from"./useComponentClass-C0isGl1z.js";import"./ThemeContext-Sm-iNANd.js";const e="Strong",a=s.forwardRef((({children:s,className:a,customRootClass:m,...n},c)=>{const i=o(m,e);return r("strong",{ref:c,className:t(i,a),...n,children:s})}));a.displayName=e;export{a as default};
@@ -18,12 +18,34 @@ type SwitchRootProps = ComponentPropsWithoutRef<typeof ButtonPrimitive> & {
18
18
  value?: string;
19
19
  asChild?: boolean;
20
20
  };
21
+ declare const SwitchRoot: React__default.ForwardRefExoticComponent<Omit<{
22
+ label?: string;
23
+ description?: string;
24
+ asChild?: boolean;
25
+ required?: boolean;
26
+ onChange?: any;
27
+ } & Omit<React__default.DetailedHTMLProps<React__default.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & React__default.RefAttributes<HTMLButtonElement>, "ref"> & {
28
+ children: React__default.ReactNode;
29
+ customRootClass?: string;
30
+ color?: string;
31
+ variant?: string;
32
+ size?: string;
33
+ defaultChecked?: boolean;
34
+ checked?: boolean;
35
+ onCheckedChange?: (checked: boolean) => void;
36
+ disabled?: boolean;
37
+ required?: boolean;
38
+ name?: string;
39
+ value?: string;
40
+ asChild?: boolean;
41
+ } & React__default.RefAttributes<HTMLButtonElement>>;
21
42
 
22
43
  type SwitchThumbProps = ComponentPropsWithoutRef<typeof Primitive.span> & {
23
44
  asChild?: boolean;
24
45
  className?: string;
25
46
  children?: React__default.ReactNode;
26
47
  };
48
+ declare const SwitchThumb: React__default.ForwardRefExoticComponent<SwitchThumbProps & React__default.RefAttributes<HTMLElement>>;
27
49
 
28
50
  declare const Switch: {
29
51
  (): null;
@@ -54,5 +76,5 @@ declare namespace SwitchProps {
54
76
  type Root = SwitchRootProps;
55
77
  }
56
78
 
57
- export { SwitchProps, Switch as default };
79
+ export { SwitchRoot as Root, SwitchProps, SwitchThumb as Thumb, Switch as default };
58
80
  export type { SwitchRootProps, SwitchThumbProps };
@@ -1 +1 @@
1
- 'use client';import{jsx as e}from"react/jsx-runtime";import{createContext as s,forwardRef as a,useContext as t}from"react";import{B as i}from"./index-CfC8-kd8.js";import{u as o}from"./useComponentClass-QwNivz0h.js";import{c as d,a as c,b as r}from"./index-eAZUMNef.js";import{u as l}from"./index-wRElCyvx.js";import{c as h}from"./clsx-BaVHROc5.js";import{P as n}from"./index-XF8itt-H.js";import"./ThemeContext-Sm-iNANd.js";import"./mergeProps-0RucjqeH.js";const m=s({checked:!1,setChecked:()=>{},rootClass:"",disabled:!1}),u="Switch",p=a((({children:s,customRootClass:a,color:t="",variant:h,size:n,defaultChecked:p=!1,checked:C,onCheckedChange:k,disabled:f=!1,required:b=!1,name:w,value:j,asChild:x=!1,...v},N)=>{const[S,P]=l(C,p,k),T=o(a,u),g=d("switch",{variant:h,size:n}),R=r(t),q=c(g,R),y={checked:S,setChecked:P,rootClass:T,disabled:f},z={...q,"data-slot":"switch-root","data-state":S?"checked":"unchecked","data-disabled":f?"":void 0,role:"switch","aria-checked":S,"aria-required":b,disabled:f,...v};return w&&(z.name=w),j&&(z.value=j),e(m.Provider,{value:y,children:e(i,{ref:N,onClick:()=>{f||P(!S)},className:T,asChild:x,...z,children:s})})}));p.displayName=u;const C=a((({asChild:s=!1,className:a,children:i,...o},d)=>{const{checked:c,rootClass:r,disabled:l}=t(m),u={"data-slot":"switch-thumb"};return u["data-state"]=c?"checked":"unchecked",l&&(u["data-disabled"]=""),e(n.span,{ref:d,className:h(r&&`${r}-indicator`,a),asChild:s,...u,...o,children:i})}));C.displayName="SwitchThumb";const k=()=>(console.warn("Direct usage of Switch is not supported. Please use Switch.Root, Switch.Thumb, etc. instead."),null);k.Root=p,k.Thumb=C;export{k as default};
1
+ 'use client';import{jsxs as e,jsx as s}from"react/jsx-runtime";import t,{createContext as a,forwardRef as o,useContext as r}from"react";import{B as i}from"./index-FITGoHty.js";import{u as c,c as d}from"./useComponentClass-C0isGl1z.js";import{c as n,a as l,b as h}from"./index-eAZUMNef.js";import{u as m}from"./index-wRElCyvx.js";import{c as u}from"./index-CXzybYmm.js";import{m as p}from"./mergeRefs-B8eZ_q-T.js";import{P as f}from"./index-XF8itt-H.js";import"./ThemeContext-Sm-iNANd.js";import"./mergeProps-0RucjqeH.js";const C=a({checked:!1,setChecked:()=>{},rootClass:"",disabled:!1}),b="Switch",k=o((({children:a,customRootClass:o,color:r="",variant:f,size:k,defaultChecked:v=!1,checked:j,onCheckedChange:w,disabled:x=!1,required:g=!1,name:R,value:N,asChild:y=!1,className:S,onClick:T,...E},P)=>{const[q,B]=m(j,v,w),z=c(o,b),L=n("switch",{variant:f,size:k}),D=h(r),I=l(L,D),$=t.useRef(null),A=t.useRef(v),F=Boolean(R)||g;t.useEffect((()=>{const e=$.current?.closest("form");if(!e||!F)return;const s=()=>B(Boolean(A.current));return e.addEventListener("reset",s),()=>e.removeEventListener("reset",s)}),[F,B]);const G={checked:q,setChecked:B,rootClass:z,disabled:x},H={...I,"data-slot":"switch-root","data-state":q?"checked":"unchecked","data-disabled":x?"":void 0,role:"switch","aria-checked":q,"aria-required":g,disabled:x,...E};return R&&(H.name=R),N&&(H.value=N),e(C.Provider,{value:G,children:[s(i,{ref:p(P,$),asChild:y,...H,className:d(z,S),onClick:u(T,(()=>{x||B(!q)})),children:a}),F&&s("input",{type:"checkbox","aria-hidden":"true",tabIndex:-1,name:R,value:N??"on",checked:q,required:g,disabled:x,onChange:()=>{},style:{position:"absolute",width:1,height:1,margin:0,opacity:0,pointerEvents:"none"}})]})}));k.displayName=b;const v=o((({asChild:e=!1,className:t,children:a,...o},i)=>{const{checked:c,rootClass:n,disabled:l}=r(C),h={"data-slot":"switch-thumb"};return h["data-state"]=c?"checked":"unchecked",l&&(h["data-disabled"]=""),s(f.span,{ref:i,className:d(n&&`${n}-indicator`,t),asChild:e,...h,...o,children:a})}));v.displayName="SwitchThumb";const j=()=>(console.warn("Direct usage of Switch is not supported. Please use Switch.Root, Switch.Thumb, etc. instead."),null);j.Root=k,j.Thumb=v;export{k as Root,v as Thumb,j as default};
@@ -1,7 +1,28 @@
1
1
  import * as React from 'react';
2
2
  import React__default from 'react';
3
3
 
4
- type TabNavRootProps = React__default.ComponentPropsWithoutRef<'div'> & {
4
+ type TabNavLinkProps = React__default.ComponentPropsWithoutRef<'a'> & {
5
+ disabled?: boolean;
6
+ asChild?: boolean;
7
+ value?: string;
8
+ /**
9
+ * Marks this link as the current page. Overrides the value-based selection from `TabNav.Root`,
10
+ * which is useful when the active link is derived from the router.
11
+ */
12
+ active?: boolean;
13
+ };
14
+ declare const TabNavLink: React__default.ForwardRefExoticComponent<Omit<React__default.DetailedHTMLProps<React__default.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "ref"> & {
15
+ disabled?: boolean;
16
+ asChild?: boolean;
17
+ value?: string;
18
+ /**
19
+ * Marks this link as the current page. Overrides the value-based selection from `TabNav.Root`,
20
+ * which is useful when the active link is derived from the router.
21
+ */
22
+ active?: boolean;
23
+ } & React__default.RefAttributes<HTMLAnchorElement>>;
24
+
25
+ type TabNavRootProps = React__default.ComponentPropsWithoutRef<'nav'> & {
5
26
  loop?: boolean;
6
27
  orientation?: 'horizontal' | 'vertical';
7
28
  customRootClass?: string;
@@ -10,16 +31,19 @@ type TabNavRootProps = React__default.ComponentPropsWithoutRef<'div'> & {
10
31
  defaultValue?: string;
11
32
  onValueChange?: (value: string) => void;
12
33
  };
13
-
14
- type TabNavLinkProps = React__default.ComponentPropsWithoutRef<'a'> & {
15
- disabled?: boolean;
16
- asChild?: boolean;
34
+ declare const TabNavRoot: React__default.ForwardRefExoticComponent<Omit<React__default.DetailedHTMLProps<React__default.HTMLAttributes<HTMLElement>, HTMLElement>, "ref"> & {
35
+ loop?: boolean;
36
+ orientation?: "horizontal" | "vertical";
37
+ customRootClass?: string;
38
+ color?: string;
17
39
  value?: string;
18
- };
40
+ defaultValue?: string;
41
+ onValueChange?: (value: string) => void;
42
+ } & React__default.RefAttributes<HTMLElement>>;
19
43
 
20
44
  declare const TabNav: {
21
45
  (): null;
22
- Root: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
46
+ Root: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>, "ref"> & {
23
47
  loop?: boolean;
24
48
  orientation?: "horizontal" | "vertical";
25
49
  customRootClass?: string;
@@ -27,13 +51,14 @@ declare const TabNav: {
27
51
  value?: string;
28
52
  defaultValue?: string;
29
53
  onValueChange?: (value: string) => void;
30
- } & React.RefAttributes<HTMLDivElement>>;
54
+ } & React.RefAttributes<HTMLElement>>;
31
55
  Link: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "ref"> & {
32
56
  disabled?: boolean;
33
57
  asChild?: boolean;
34
58
  value?: string;
59
+ active?: boolean;
35
60
  } & React.RefAttributes<HTMLAnchorElement>>;
36
61
  };
37
62
 
38
- export { TabNav as default };
63
+ export { TabNavLink as Link, TabNavRoot as Root, TabNav as default };
39
64
  export type { TabNavLinkProps, TabNavRootProps };
@@ -1 +1 @@
1
- 'use client';import{jsx as a}from"react/jsx-runtime";import{createContext as e,forwardRef as o,useContext as r,useRef as s,useCallback as t,useEffect as n}from"react";import{c as i}from"./clsx-BaVHROc5.js";import{R as l}from"./index-m8Mhi26u.js";import{P as c}from"./index-XF8itt-H.js";import{u as d}from"./useComponentClass-QwNivz0h.js";import{u as m}from"./index-wRElCyvx.js";import"./index-CfC8-kd8.js";import"./keyboard-BKF7hXqL.js";import"./mergeRefs-B8eZ_q-T.js";import"./mergeProps-0RucjqeH.js";import"./ThemeContext-Sm-iNANd.js";const u=e({rootClass:"",tabValue:"",handleTabChange:()=>{}}),p=o((({value:e,className:o="",href:n="#",children:d,disabled:m,asChild:p,...h},f)=>{const{rootClass:b,tabValue:C,handleTabChange:v}=r(u);p&&(m=!1);const N=s(null),j=t((a=>{N.current=a,"function"==typeof f?f(a):f&&(f.current=a)}),[f]),T=e===C;return a(l.Item,{onFocus:()=>e&&!m&&(a=>{m||(N.current&&N.current?.focus(),v(a))})(e),children:a(c.a,{ref:j,className:i(b&&`${b}-link`,o),asChild:p,"aria-disabled":m,"aria-selected":T,disabled:m,...m?{}:{href:n},...h,children:d})})}));p.displayName="TabNavLink";const h=o((({className:e,loop:o=!0,orientation:r="horizontal",children:s,color:t,customRootClass:c="",defaultValue:p="",onValueChange:h=()=>{},value:f,...b},C)=>{const v=d(c,"TabNav"),[N,j]=m(f,p||"",h),T=a=>{j(a)};n((()=>{void 0===f&&p&&T(p)}),[p,f]);const x={rootClass:v,tabValue:N,handleTabChange:T};return a(u.Provider,{value:x,children:a(l.Root,{loop:o,orientation:r,children:a(l.Group,{asChild:!0,children:a("div",{ref:C,className:i(v,e),...b,children:s})})})})}));h.displayName="TabNavRoot";const f=()=>(console.warn("Direct usage of TabNav is not supported. Please use TabNav.Root, TabNav.Link instead."),null);f.Root=h,f.Link=p;export{f as default};
1
+ 'use client';import{jsx as a}from"react/jsx-runtime";import{createContext as e,forwardRef as o,useContext as t,useId as s,useEffect as r,useRef as i}from"react";import{c as n,u as l}from"./useComponentClass-C0isGl1z.js";import{a as d,R as c}from"./index-C7dBo_Ry.js";import{P as m}from"./index-XF8itt-H.js";import{u}from"./index-wRElCyvx.js";import"./ThemeContext-Sm-iNANd.js";import"./index-FITGoHty.js";import"./keyboard-BKF7hXqL.js";import"./mergeRefs-B8eZ_q-T.js";import"./mergeProps-0RucjqeH.js";const v=e({rootClass:"",tabValue:"",handleTabChange:()=>{}}),p=o((({value:e,className:o="",href:i="#",children:l,disabled:u,asChild:p,active:h,id:b,onClick:f,...C},N)=>{const{rootClass:j,tabValue:T,handleTabChange:k}=t(v),{setFocusedItemId:g}=t(d);p&&(u=!1);const R=s(),x=b??R,P=h??(void 0!==e&&e===T);r((()=>{P&&!u&&g(x)}),[P,u,x]);return a(c.Item,{domId:x,children:a(m.a,{ref:N,id:x,className:n(j&&`${j}-link`,o),asChild:p,onClick:a=>{u?a.preventDefault():(f?.(a),a.defaultPrevented||void 0===e||k(e))},"aria-disabled":u,"aria-current":P?"page":void 0,"data-state":P?"active":"inactive","data-disabled":u?"":void 0,"data-slot":"tab-nav-link",disabled:u,...u?{}:{href:i},...C,children:l})})}));p.displayName="TabNavLink";const h=o((({className:e,loop:o=!0,orientation:t="horizontal",children:s,color:d,customRootClass:m="",defaultValue:p="",onValueChange:h=()=>{},value:b,...f},C)=>{const N=l(m,"TabNav"),[j,T]=u(b,p||"",h),k=a=>{a!==j&&T(a)},g=i(!0);r((()=>{g.current?g.current=!1:void 0===b&&p&&k(p)}),[p,b]);const R={rootClass:N,tabValue:j,handleTabChange:k};return a(v.Provider,{value:R,children:a(c.Root,{loop:o,orientation:t,children:a(c.Group,{asChild:!0,children:a("nav",{ref:C,className:n(N,e),"data-orientation":t,"data-slot":"tab-nav-root",role:void 0,...f,children:s})})})})}));h.displayName="TabNavRoot";const b=()=>(console.warn("Direct usage of TabNav is not supported. Please use TabNav.Root, TabNav.Link instead."),null);b.Root=h,b.Link=p;export{p as Link,h as Root,b as default};
@@ -7,6 +7,7 @@ interface TableContextValue {
7
7
  resizable: boolean;
8
8
  resizeHandleVisibility: TableResizeHandleVisibility;
9
9
  columnCount: number;
10
+ minColumnWidth: number;
10
11
  registerColumnIndex: (columnIndex: number) => void;
11
12
  columnWidths: ColumnWidths;
12
13
  getColumnStyle: (columnIndex: number) => CSSProperties | undefined;
@@ -81,5 +82,5 @@ interface TableComponent extends React$1.ForwardRefExoticComponent<TableProps &
81
82
  }
82
83
  declare const Table: TableComponent;
83
84
 
84
- export { Table as default, useTable };
85
+ export { TableBody as Body, TableCell as Cell, TableColumnCellHeader as ColumnCellHeader, TableColumnResizeHandle as ColumnResizeHandle, TableHead as Head, TableRoot as Root, TableRow as Row, Table as default, useTable };
85
86
  export type { TableBodyProps, TableCellProps, TableColumnCellHeaderProps, TableColumnResizeHandleProps, TableHeadProps, TableProps, TableResizeHandleVisibility, TableRootProps, TableRowProps };
@@ -1 +1 @@
1
- 'use client';import e,{createContext as n,useRef as t,useState as r,useCallback as o,useEffect as l,useLayoutEffect as a,useMemo as s}from"react";import{jsx as i,jsxs as c}from"react/jsx-runtime";import{c as u}from"./clsx-BaVHROc5.js";import{u as d}from"./useComponentClass-QwNivz0h.js";import{K as m}from"./keyboard-BKF7hXqL.js";import"./ThemeContext-Sm-iNANd.js";const h=n(null),f="Table",v=()=>{const n=e.useContext(h);if(!n)throw new Error("Table components must be used within a Table.Root");return n};function b(e){return e?Array.isArray(e)?Object.fromEntries(e.map(((e,n)=>[n,e]))):e:{}}const y=e.forwardRef((({children:e,className:n="",customRootClass:v="",resizable:y=!1,defaultColumnWidths:C,columnWidths:p,onColumnWidthsChange:R,minColumnWidth:z=48,resizeHandleVisibility:w="hover",...E},N)=>{const x=d(v,f),T=t(null),[g,H]=r((()=>b(C))),[L,M]=r(0),[I,j]=r(!1),[W,A]=r(null),D=t({}),O=t(0),X=t(!1),k=t(null),K=o((()=>{const e=k.current;e&&(document.removeEventListener("mousemove",e.handleMove),document.removeEventListener("mouseup",e.handleEnd),document.removeEventListener("touchmove",e.handleMove),document.removeEventListener("touchend",e.handleEnd),document.removeEventListener("touchcancel",e.handleEnd),k.current=null)}),[]);l((()=>()=>{K()}),[K]);const S=void 0!==p,P=S?b(p):g;D.current=P,O.current=L;const V=o((e=>{S||H(e),R?.(e)}),[S,R]),$=o((e=>{M((n=>Math.max(n,e+1)))}),[]),B=o((e=>{if(!y)return;const n=P[e];return void 0!==n?{width:n}:void 0}),[P,y]);a((()=>{if(!y||S||!T.current||0===L||X.current)return;const e=T.current.offsetWidth;if(e<=0)return;const n=Object.keys(D.current).length>0?function(e,n,t){const r=Array.from({length:n},((n,t)=>e[t]??0)),o=r.reduce(((e,n)=>e+n),0);if(o<=0||t<=0)return e;const l=t/o;return Object.fromEntries(r.map(((e,n)=>[n,Math.max(1,Math.round(e*l))])))}(D.current,L,e):function(e,n){const t=Math.max(1,Math.floor(n/e));return Object.fromEntries(Array.from({length:e},((e,n)=>[n,t])))}(L,e);X.current=!0,V(n)}),[L,S,y,V]);const _=o(((e,n)=>{let t=e;for(let e=0;e<Math.abs(n);e+=1)if(t=n<0?t.previousElementSibling:t.nextElementSibling,!t)return null;return t}),[]),F=o(((e,n)=>D.current[e]??n?.offsetWidth??z),[z]),G=o(((e,n,t,r)=>{const o=e+1;if(o>=O.current)return;const l=r-z,a=t-z,s=Math.max(-a,Math.min(l,n)),i=t+s,c=r-s;V({...D.current,[e]:i,[o]:c})}),[z,V]),q=o(((e,n,t)=>{if(!y||e>=O.current-1)return;t.preventDefault();const r="clientX"in t?t.clientX:t.touches[0].clientX,o=_(n,1),l=F(e,n),a=F(e+1,o);j(!0),A(e),K();const s=n=>{const t="clientX"in n?n.clientX:n.touches[0].clientX;G(e,t-r,l,a)},i=()=>{j(!1),A(null),K()};k.current={handleMove:s,handleEnd:i},document.addEventListener("mousemove",s),document.addEventListener("mouseup",i),document.addEventListener("touchmove",s),document.addEventListener("touchend",i),document.addEventListener("touchcancel",i)}),[G,K,F,_,y]),J=o(((e,n,t)=>{if(!y||e>=O.current-1)return;const r=t.shiftKey?20:5;let o=0;if(t.key===m.ARROW_LEFT?o=-r:t.key===m.ARROW_RIGHT&&(o=r),0===o)return;t.preventDefault();const l=_(n,1);G(e,o,F(e,n),F(e+1,l))}),[G,F,_,y]),Q=s((()=>({rootClass:x,resizable:y,resizeHandleVisibility:w,columnCount:L,registerColumnIndex:$,columnWidths:P,getColumnStyle:B,startColumnResize:q,handleColumnResizeKeyDown:J,isResizing:I,activeColumnIndex:W})),[W,L,P,B,J,I,$,w,y,x,q]);return i(h.Provider,{value:Q,children:i("div",{ref:N,className:u(x&&`${x}-wrapper`,n),"data-resizable":y?"":void 0,"data-resizing":y&&I?"":void 0,"data-resize-handle-visibility":y?w:void 0,...E,children:c("table",{ref:T,className:u(x),"data-resizable":y?"":void 0,style:y?{tableLayout:"fixed",width:"100%"}:void 0,children:[y&&L>0&&i("colgroup",{children:Array.from({length:L},((e,n)=>i("col",{style:B(n)},n)))}),e]})})})}));y.displayName=f;const C=e.forwardRef((({children:e,className:n="header",...t},r)=>i("thead",{ref:r,className:u(n),...t,children:e})));C.displayName="TableHead";const p=e.forwardRef((({children:e,className:n="",...t},r)=>i("tbody",{ref:r,className:u(n),...t,children:e})));p.displayName="TableBody";const R=e.forwardRef((({children:e,className:n="row",...t},r)=>i("tr",{ref:r,className:u(n),...t,children:e})));R.displayName="TableRow";const z=n(null),w=e.forwardRef((({children:n,className:t="cell-header",columnIndex:r,style:o,...l},a)=>{const{resizable:s,registerColumnIndex:c}=v(),d=s&&void 0!==r;e.useLayoutEffect((()=>{void 0!==r&&c(r)}),[r,c]);const m=i("th",{ref:a,className:u(t,d&&"resizable"),style:o,...l,children:n});return void 0===r?m:i(z.Provider,{value:{columnIndex:r},children:m})}));w.displayName="TableColumnCellHeader";const E=e.forwardRef((({className:n,"aria-label":t,...r},o)=>{const{rootClass:l,resizable:a,resizeHandleVisibility:s,columnCount:c,startColumnResize:d,handleColumnResizeKeyDown:m,isResizing:h,activeColumnIndex:f}=v(),{columnIndex:b}=(()=>{const n=e.useContext(z);if(!n)throw new Error("Table.ColumnResizeHandle must be used within a Table.ColumnCellHeader with columnIndex");return n})(),y=e.useRef(null),C=h&&f===b,p=c>0&&b>=c-1,R=e.useCallback((e=>{y.current=e?.closest("th")??null,"function"==typeof o?o(e):o&&(o.current=e)}),[o]);return!a||p?null:i("div",{...r,ref:R,"data-slot":"table-column-resize-handle","data-resize-handle-visibility":s,"data-state":C?"active":void 0,className:u(l&&`${l}-column-resize-handle`,{active:C},n),role:"separator","aria-orientation":"vertical","aria-label":t||`Resize column ${b+1}`,tabIndex:0,onMouseDown:e=>{y.current&&d(b,y.current,e)},onTouchStart:e=>{y.current&&d(b,y.current,e)},onKeyDown:e=>{y.current&&m(b,y.current,e)}})}));E.displayName="TableColumnResizeHandle";const N=e.forwardRef((({children:e,className:n="cell",columnIndex:t,style:r,...o},l)=>{const{resizable:a}=v();return i("td",{ref:l,className:u(n,a&&void 0!==t&&"resizable"),style:r,...o,children:e})}));N.displayName="TableCell";const x=e.forwardRef((function(e,n){return console.warn("Direct usage of Table is not supported. Please use Table.Root, Table.Head, etc. instead."),null}));x.displayName="Table",x.Root=y,x.Body=p,x.Head=C,x.Row=R,x.Cell=N,x.ColumnCellHeader=w,x.ColumnResizeHandle=E;export{x as default,v as useTable};
1
+ 'use client';import e,{createContext as n,useRef as t,useState as r,useCallback as o,useEffect as l,useLayoutEffect as a,useMemo as s}from"react";import{jsx as i,jsxs as c}from"react/jsx-runtime";import{u,c as d}from"./useComponentClass-C0isGl1z.js";import{K as m}from"./keyboard-BKF7hXqL.js";import"./ThemeContext-Sm-iNANd.js";const h=n(null),f="Table",v=()=>{const n=e.useContext(h);if(!n)throw new Error("Table components must be used within a Table.Root");return n};function b(e){return e?Array.isArray(e)?Object.fromEntries(e.map(((e,n)=>[n,e]))):e:{}}const C=e.forwardRef((({children:e,className:n="",customRootClass:v="",resizable:C=!1,defaultColumnWidths:y,columnWidths:R,onColumnWidthsChange:p,minColumnWidth:z=48,resizeHandleVisibility:w="hover",...x},E)=>{const N=u(v,f),T=t(null),[H,g]=r((()=>b(y))),[L,M]=r(0),[W,I]=r(!1),[j,$]=r(null),A=t({}),D=t(0),O=t(!1),X=t(null),k=o((()=>{const e=X.current;e&&(document.removeEventListener("mousemove",e.handleMove),document.removeEventListener("mouseup",e.handleEnd),document.removeEventListener("touchmove",e.handleMove),document.removeEventListener("touchend",e.handleEnd),document.removeEventListener("touchcancel",e.handleEnd),X.current=null)}),[]);l((()=>()=>{k()}),[k]);const K=void 0!==R,S=K?b(R):H;A.current=S,D.current=L;const B=o((e=>{K||g(e),p?.(e)}),[K,p]),P=o((e=>{M((n=>Math.max(n,e+1)))}),[]),V=o((e=>{if(!C)return;const n=S[e];return void 0!==n?{width:n}:void 0}),[S,C]);a((()=>{if(!C||K||!T.current||0===L||O.current)return;const e=T.current.offsetWidth;if(e<=0)return;const n=Object.keys(A.current).length>0?function(e,n,t){const r=Array.from({length:n},((n,t)=>e[t]??0)),o=r.reduce(((e,n)=>e+n),0);if(o<=0||t<=0)return e;const l=t/o;return Object.fromEntries(r.map(((e,n)=>[n,Math.max(1,Math.round(e*l))])))}(A.current,L,e):function(e,n){const t=Math.max(1,Math.floor(n/e));return Object.fromEntries(Array.from({length:e},((e,n)=>[n,t])))}(L,e);O.current=!0,B(n)}),[L,K,C,B]);const _=o(((e,n)=>{let t=e;for(let e=0;e<Math.abs(n);e+=1)if(t=n<0?t.previousElementSibling:t.nextElementSibling,!t)return null;return t}),[]),F=o(((e,n)=>A.current[e]??n?.offsetWidth??z),[z]),G=o(((e,n,t,r)=>{const o=e+1;if(o>=D.current)return;const l=r-z,a=t-z,s=Math.max(-a,Math.min(l,n)),i=t+s,c=r-s;B({...A.current,[e]:i,[o]:c})}),[z,B]),q=o(((e,n,t)=>{if(!C||e>=D.current-1)return;t.preventDefault();const r="clientX"in t?t.clientX:t.touches[0].clientX,o=_(n,1),l=F(e,n),a=F(e+1,o);I(!0),$(e),k();const s=n=>{const t="clientX"in n?n.clientX:n.touches[0].clientX;G(e,t-r,l,a)},i=()=>{I(!1),$(null),k()};X.current={handleMove:s,handleEnd:i},document.addEventListener("mousemove",s),document.addEventListener("mouseup",i),document.addEventListener("touchmove",s),document.addEventListener("touchend",i),document.addEventListener("touchcancel",i)}),[G,k,F,_,C]),J=o(((e,n,t)=>{if(!C||e>=D.current-1)return;const r=t.shiftKey?20:5;let o=0;if(t.key===m.ARROW_LEFT?o=-r:t.key===m.ARROW_RIGHT&&(o=r),0===o)return;t.preventDefault();const l=_(n,1);G(e,o,F(e,n),F(e+1,l))}),[G,F,_,C]),Q=s((()=>({rootClass:N,resizable:C,resizeHandleVisibility:w,columnCount:L,minColumnWidth:z,registerColumnIndex:P,columnWidths:S,getColumnStyle:V,startColumnResize:q,handleColumnResizeKeyDown:J,isResizing:W,activeColumnIndex:j})),[j,L,S,V,J,W,z,P,w,C,N,q]);return i(h.Provider,{value:Q,children:i("div",{ref:E,className:d(N&&`${N}-wrapper`,n),"data-resizable":C?"":void 0,"data-resizing":C&&W?"":void 0,"data-resize-handle-visibility":C?w:void 0,...x,children:c("table",{ref:T,className:d(N),"data-resizable":C?"":void 0,style:C?{tableLayout:"fixed",width:"100%"}:void 0,children:[C&&L>0&&i("colgroup",{children:Array.from({length:L},((e,n)=>i("col",{style:V(n)},n)))}),e]})})})}));C.displayName=f;const y=e.forwardRef((({children:n,className:t="header",...r},o)=>{const l=e.useContext(h)?.rootClass;return i("thead",{ref:o,className:d(l&&`${l}-head`,t),...r,children:n})}));y.displayName="TableHead";const R=e.forwardRef((({children:n,className:t="",...r},o)=>{const l=e.useContext(h)?.rootClass;return i("tbody",{ref:o,className:d(l&&`${l}-body`,t),...r,children:n})}));R.displayName="TableBody";const p=e.forwardRef((({children:n,className:t="row",...r},o)=>{const l=e.useContext(h)?.rootClass;return i("tr",{ref:o,className:d(l&&`${l}-row`,t),...r,children:n})}));p.displayName="TableRow";const z=n(null),w=e.forwardRef((({children:n,className:t="cell-header",columnIndex:r,style:o,...l},a)=>{const{resizable:s,registerColumnIndex:c,rootClass:u}=v(),m=s&&void 0!==r;e.useLayoutEffect((()=>{void 0!==r&&c(r)}),[r,c]);const h=i("th",{ref:a,className:d(u&&`${u}-cell-header`,t,m&&"resizable"),"data-resizable":m?"":void 0,style:o,...l,children:n});return void 0===r?h:i(z.Provider,{value:{columnIndex:r},children:h})}));w.displayName="TableColumnCellHeader";const x=e.forwardRef((({className:n,"aria-label":t,...r},o)=>{const{rootClass:l,resizable:a,resizeHandleVisibility:s,columnCount:c,minColumnWidth:u,columnWidths:m,startColumnResize:h,handleColumnResizeKeyDown:f,isResizing:b,activeColumnIndex:C}=v(),{columnIndex:y}=(()=>{const n=e.useContext(z);if(!n)throw new Error("Table.ColumnResizeHandle must be used within a Table.ColumnCellHeader with columnIndex");return n})(),R=e.useRef(null),p=b&&C===y,w=c>0&&y>=c-1,x=e.useCallback((e=>{R.current=e?.closest("th")??null,"function"==typeof o?o(e):o&&(o.current=e)}),[o]);if(!a||w)return null;const E=Math.round(m[y]??R.current?.offsetWidth??u);return i("div",{...r,ref:x,"data-slot":"table-column-resize-handle","data-resize-handle-visibility":s,"data-state":p?"active":void 0,className:d(l&&`${l}-column-resize-handle`,{active:p},n),role:"separator","aria-orientation":"vertical","aria-label":t||`Resize column ${y+1}`,"aria-valuemin":u,"aria-valuenow":E,tabIndex:0,onMouseDown:e=>{R.current&&h(y,R.current,e)},onTouchStart:e=>{R.current&&h(y,R.current,e)},onKeyDown:e=>{R.current&&f(y,R.current,e)}})}));x.displayName="TableColumnResizeHandle";const E=e.forwardRef((({children:e,className:n="cell",columnIndex:t,style:r,...o},l)=>{const{resizable:a,rootClass:s}=v(),c=a&&void 0!==t;return i("td",{ref:l,className:d(s&&`${s}-cell`,n,c&&"resizable"),"data-resizable":c?"":void 0,style:r,...o,children:e})}));E.displayName="TableCell";const N=e.forwardRef((function(e,n){return console.warn("Direct usage of Table is not supported. Please use Table.Root, Table.Head, etc. instead."),null}));N.displayName="Table",N.Root=C,N.Body=R,N.Head=y,N.Row=p,N.Cell=E,N.ColumnCellHeader=w,N.ColumnResizeHandle=x;export{R as Body,E as Cell,w as ColumnCellHeader,x as ColumnResizeHandle,y as Head,C as Root,p as Row,N as default,v as useTable};
@@ -65,5 +65,5 @@ interface TabsComponent extends React.ForwardRefExoticComponent<TabsProps & Reac
65
65
  }
66
66
  declare const Tabs: TabsComponent;
67
67
 
68
- export { Tabs as default };
68
+ export { TabContent as Content, TabList as List, TabRoot as Root, TabTrigger as Trigger, Tabs as default };
69
69
  export type { TabContentProps, TabListProps, TabRootProps, TabTriggerProps, TabsProps };
@@ -1 +1 @@
1
- 'use client';import a,{createContext as t,useContext as o,useRef as e,useCallback as r,useEffect as i}from"react";import{jsx as s}from"react/jsx-runtime";import{c as n}from"./clsx-BaVHROc5.js";import{R as l}from"./index-m8Mhi26u.js";import{P as d}from"./index-XF8itt-H.js";import{u as c}from"./useComponentClass-QwNivz0h.js";import{u}from"./index-wRElCyvx.js";import"./index-CfC8-kd8.js";import"./keyboard-BKF7hXqL.js";import"./mergeRefs-B8eZ_q-T.js";import"./mergeProps-0RucjqeH.js";import"./ThemeContext-Sm-iNANd.js";const m=t(null),b=a.forwardRef((({className:a="",children:t,asChild:e=!1,...r},i)=>{const c=o(m);if(!c)throw new Error("TabList must be used within a TabRoot");const{rootClass:u,orientation:b}=c;return s(l.Group,{children:s(d.div,{ref:i,role:"tablist","aria-orientation":b,"aria-label":"todo",className:n(u&&`${u}-list`,a),"data-slot":"tabs-list",asChild:e,...r,children:t})})}));b.displayName="TabList";const h=a.forwardRef((({value:a,children:t,className:i="",disabled:c,asChild:u=!1,...b},h)=>{const f=o(m);if(!f)throw new Error("TabTrigger must be used within a TabRoot");const{tabValue:p,handleTabChange:C,rootClass:T,orientation:v,activationMode:g}=f,w=e(null),R=r((a=>{w.current=a,"function"==typeof h?h(a):h&&(h.current=a)}),[h]),N=a===p,j={};return j["data-state"]=N?"active":"inactive",j["data-orientation"]=v||"horizontal",c&&(j["data-disabled"]=""),s(l.Item,{onFocus:()=>{return a&&!c&&(t=a,void(c||(w.current&&w.current?.focus(),"automatic"===g&&C(t))));var t},children:s(d.button,{ref:R,onClick:t=>{c||a&&C(a)},className:n(T&&`${T}-trigger`,N?"active":"",c?"disabled":"",i),role:"tab","aria-selected":N,"aria-disabled":c,disabled:c,"data-slot":"tabs-trigger",asChild:u,...j,...b,children:t})})}));h.displayName="TabTrigger";const f="TabContent",p=a.forwardRef((({className:a="",value:t,children:e,customRootClass:r,asChild:i=!1,forceMount:l=!1,...u},b)=>{const h=c(r,f),p=o(m);if(!p)throw new Error("TabContent must be used within a TabRoot");const{tabValue:C,orientation:T}=p,v=C===t;if(!(l||v))return null;const g={};return g["data-state"]=v?"active":"inactive",g["data-orientation"]=T||"horizontal",s(d.div,{ref:b,className:n(h,a),role:"tabpanel","aria-hidden":!v,"data-slot":"tabs-content",asChild:i,...g,...u,children:e})}));p.displayName=f;const C="Tabs",T=a.forwardRef((({children:a,defaultValue:t="",onValueChange:o=()=>{},customRootClass:e="",value:r,className:b,color:h,orientation:f="horizontal",dir:p="ltr",loop:T=!0,activationMode:v="automatic",asChild:g=!1,...w},R)=>{const N=c(e,C),[j,x]=u(r,t||"",o),y=a=>{x(a)};i((()=>{void 0===r&&t&&y(t)}),[t,r]);const V={rootClass:N,tabValue:j,handleTabChange:y,orientation:f,activationMode:v},L={};return L["data-orientation"]=f,s(m.Provider,{value:V,children:s(l.Root,{orientation:f,loop:T,dir:p,asChild:!0,children:s(d.div,{ref:R,className:n(N,b),"data-color":h,"data-slot":"tabs-root",asChild:g,...L,...w,children:a})})})}));T.displayName=C;const v=a.forwardRef(((a,t)=>(console.warn("Direct usage of Tabs is not supported. Please use Tabs.Root, Tabs.List, etc. instead."),null)));v.displayName="Tabs",v.List=b,v.Content=p,v.Root=T,v.Trigger=h;export{v as default};
1
+ 'use client';import a,{createContext as t,useContext as e,useEffect as o,useId as i,useState as r,useCallback as s,useRef as d}from"react";import{jsx as n}from"react/jsx-runtime";import{c as l,u as c}from"./useComponentClass-C0isGl1z.js";import{R as u,a as m}from"./index-C7dBo_Ry.js";import{P as b}from"./index-XF8itt-H.js";import{u as h}from"./index-wRElCyvx.js";import"./ThemeContext-Sm-iNANd.js";import"./index-FITGoHty.js";import"./keyboard-BKF7hXqL.js";import"./mergeRefs-B8eZ_q-T.js";import"./mergeProps-0RucjqeH.js";const v=a=>a.replace(/\s+/g,"-"),f=(a,t)=>`${a}-trigger-${v(t)}`,g=(a,t)=>`${a}-content-${v(t)}`,p=t(null),C=a.forwardRef((({className:a="",children:t,asChild:o=!1,...i},r)=>{const s=e(p);if(!s)throw new Error("TabList must be used within a TabRoot");const{rootClass:d,orientation:c}=s;return n(u.Group,{children:n(b.div,{ref:r,role:"tablist","aria-orientation":c,className:l(d&&`${d}-list`,a),"data-slot":"tabs-list",asChild:o,...i,children:t})})}));C.displayName="TabList";const T=a.forwardRef((({value:a,children:t,className:i="",disabled:r,asChild:s=!1,id:d,onClick:c,onFocus:h,...v},C)=>{const T=e(p);if(!T)throw new Error("TabTrigger must be used within a TabRoot");const{tabValue:R,handleTabChange:w,rootClass:N,orientation:I,activationMode:j,baseId:x,registerTriggerId:y}=T,{setFocusedItemId:P}=e(m),$=void 0!==a&&a===R,L=d??(void 0!==a?f(x,a):void 0),V=void 0!==a?g(x,a):void 0;o((()=>{if(void 0!==a&&void 0!==d&&y)return y(a,d),()=>y(a,void 0)}),[a,d,y]),o((()=>{$&&!r&&L&&P(L)}),[$,r,L]);const M={};return M["data-state"]=$?"active":"inactive",M["data-orientation"]=I||"horizontal",r&&(M["data-disabled"]=""),n(u.Item,{domId:L,children:n(b.button,{ref:C,id:L,onClick:t=>{c?.(t),t.defaultPrevented||r||void 0===a||w(a)},onFocus:t=>{h?.(t),t.defaultPrevented||r||void 0===a||"manual"!==j&&w(a)},className:l(N&&`${N}-trigger`,$?"active":"",r?"disabled":"",i),role:"tab",type:"button","aria-selected":$,"aria-controls":$?V:void 0,"aria-disabled":r,disabled:r,"data-slot":"tabs-trigger",asChild:s,...M,...v,children:t})})}));T.displayName="TabTrigger";const R="TabContent",w=a.forwardRef((({className:a="",value:t,children:o,customRootClass:i,asChild:r=!1,forceMount:s=!1,...d},u)=>{const m=c(i,R),h=e(p);if(!h)throw new Error("TabContent must be used within a TabRoot");const{tabValue:v,orientation:C,baseId:T,customTriggerIds:w}=h,N=void 0!==t&&v===t;if(!(s||N))return null;const I={};return I["data-state"]=N?"active":"inactive",I["data-orientation"]=C||"horizontal",n(b.div,{ref:u,className:l(m,a),id:void 0!==t?g(T,t):void 0,role:"tabpanel","aria-labelledby":void 0!==t?w?.[t]??f(T,t):void 0,tabIndex:N?0:void 0,hidden:!N,"aria-hidden":!N,"data-slot":"tabs-content",asChild:r,...I,...d,children:o})}));w.displayName=R;const N="Tabs",I=a.forwardRef((({children:a,defaultValue:t="",onValueChange:e=()=>{},customRootClass:m="",value:v,className:f,color:g,orientation:C="horizontal",dir:T="ltr",loop:R=!0,activationMode:w="automatic",asChild:I=!1,...j},x)=>{const y=c(m,N),[P,$]=h(v,t||"",e),L=i(),[V,M]=r({}),k=s(((a,t)=>{M((e=>{if(e[a]===t)return e;const o={...e};return void 0===t?delete o[a]:o[a]=t,o}))}),[]),z=a=>{a!==P&&$(a)},E=d(!0);o((()=>{E.current?E.current=!1:void 0===v&&t&&z(t)}),[t,v]);const F={rootClass:y,baseId:L,tabValue:P,handleTabChange:z,orientation:C,activationMode:w,customTriggerIds:V,registerTriggerId:k},D={};return D["data-orientation"]=C,n(p.Provider,{value:F,children:n(u.Root,{orientation:C,loop:R,dir:T,asChild:!0,children:n(b.div,{ref:x,className:l(y,f),"data-color":g,"data-slot":"tabs-root",dir:T,asChild:I,...D,...j,children:a})})})}));I.displayName=N;const j=a.forwardRef(((a,t)=>(console.warn("Direct usage of Tabs is not supported. Please use Tabs.Root, Tabs.List, etc. instead."),null)));j.displayName="Tabs",j.List=C,j.Content=w,j.Root=I,j.Trigger=T;export{w as Content,C as List,I as Root,T as Trigger,j as default};