@radui/ui 0.5.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 (156) hide show
  1. package/README.md +2 -0
  2. package/dist/components/Accordion.d.ts +20 -34
  3. package/dist/components/Accordion.js +1 -1
  4. package/dist/components/AlertDialog.d.ts +46 -1
  5. package/dist/components/AlertDialog.js +1 -1
  6. package/dist/components/AspectRatio.d.ts +2 -2
  7. package/dist/components/AspectRatio.js +1 -1
  8. package/dist/components/Avatar.d.ts +4 -1
  9. package/dist/components/Avatar.js +1 -1
  10. package/dist/components/AvatarGroup.d.ts +9 -1
  11. package/dist/components/AvatarGroup.js +1 -1
  12. package/dist/components/AvatarPrimitiveFallback-C1siRii4.js +1 -0
  13. package/dist/components/Badge.d.ts +3 -3
  14. package/dist/components/Badge.js +1 -1
  15. package/dist/components/BlockQuote.js +1 -1
  16. package/dist/components/Breadcrumb.d.ts +70 -0
  17. package/dist/components/Breadcrumb.js +1 -0
  18. package/dist/components/Button.js +1 -1
  19. package/dist/components/Callout.d.ts +4 -1
  20. package/dist/components/Callout.js +1 -1
  21. package/dist/components/Card.d.ts +1 -1
  22. package/dist/components/Card.js +1 -1
  23. package/dist/components/Checkbox.d.ts +29 -3
  24. package/dist/components/Checkbox.js +8 -1
  25. package/dist/components/CheckboxCards.d.ts +31 -4
  26. package/dist/components/CheckboxCards.js +1 -1
  27. package/dist/components/CheckboxGroup.d.ts +29 -2
  28. package/dist/components/CheckboxGroup.js +1 -1
  29. package/dist/components/CheckboxGroupPrimitive-DfHQYkep.js +1 -0
  30. package/dist/components/Code.js +1 -1
  31. package/dist/components/Collapsible.d.ts +10 -1
  32. package/dist/components/Collapsible.js +1 -1
  33. package/dist/components/Combobox.d.ts +1 -1
  34. package/dist/components/Combobox.js +1 -1
  35. package/dist/components/ComboboxPrimitive-DQcJ8pzQ.js +1 -0
  36. package/dist/components/Command.d.ts +7 -1
  37. package/dist/components/Command.js +1 -1
  38. package/dist/components/ContextMenu.d.ts +23 -23
  39. package/dist/components/ContextMenu.js +1 -1
  40. package/dist/components/DataList.d.ts +10 -4
  41. package/dist/components/DataList.js +1 -1
  42. package/dist/components/Dialog.d.ts +7 -1
  43. package/dist/components/Dialog.js +1 -1
  44. package/dist/components/Disclosure.d.ts +17 -7
  45. package/dist/components/Disclosure.js +1 -1
  46. package/dist/components/Drawer.d.ts +95 -17
  47. package/dist/components/Drawer.js +1 -1
  48. package/dist/components/DropdownMenu.d.ts +23 -23
  49. package/dist/components/DropdownMenu.js +1 -1
  50. package/dist/components/Em.js +1 -1
  51. package/dist/components/Fieldset.d.ts +43 -0
  52. package/dist/components/Fieldset.js +1 -0
  53. package/dist/components/Heading.js +1 -1
  54. package/dist/components/HoverCard.d.ts +3 -1
  55. package/dist/components/HoverCard.js +1 -1
  56. package/dist/components/Kbd.js +1 -1
  57. package/dist/components/Link.js +1 -1
  58. package/dist/components/LiveRegion.d.ts +73 -0
  59. package/dist/components/LiveRegion.js +1 -0
  60. package/dist/components/MenuPrimitive-D9VMz2TZ.js +1 -0
  61. package/dist/components/Menubar.d.ts +119 -29
  62. package/dist/components/Menubar.js +1 -1
  63. package/dist/components/Minimap.d.ts +16 -12
  64. package/dist/components/Minimap.js +1 -1
  65. package/dist/components/NavigationMenu.d.ts +11 -3
  66. package/dist/components/NavigationMenu.js +1 -1
  67. package/dist/components/NumberField.d.ts +23 -2
  68. package/dist/components/NumberField.js +1 -1
  69. package/dist/components/Popover.d.ts +83 -0
  70. package/dist/components/Popover.js +1 -0
  71. package/dist/components/Progress.d.ts +5 -4
  72. package/dist/components/Progress.js +1 -1
  73. package/dist/components/Quote.js +1 -1
  74. package/dist/components/Radio.js +1 -1
  75. package/dist/components/RadioCards.d.ts +1 -1
  76. package/dist/components/RadioCards.js +1 -1
  77. package/dist/components/RadioGroup.d.ts +1 -1
  78. package/dist/components/RadioGroup.js +1 -1
  79. package/dist/components/RadioGroupPrimitive-D1PP4y2M.js +1 -0
  80. package/dist/components/ScrollArea.d.ts +8 -4
  81. package/dist/components/ScrollArea.js +1 -1
  82. package/dist/components/Select.d.ts +1 -1
  83. package/dist/components/Select.js +1 -1
  84. package/dist/components/Separator.js +1 -1
  85. package/dist/components/Skeleton.d.ts +12 -6
  86. package/dist/components/Skeleton.js +1 -1
  87. package/dist/components/Slider.d.ts +2 -2
  88. package/dist/components/Slider.js +1 -1
  89. package/dist/components/Spinner.js +1 -1
  90. package/dist/components/Splitter.d.ts +7 -1
  91. package/dist/components/Splitter.js +1 -1
  92. package/dist/components/Steps.d.ts +25 -10
  93. package/dist/components/Steps.js +1 -1
  94. package/dist/components/Strong.js +1 -1
  95. package/dist/components/Switch.d.ts +23 -1
  96. package/dist/components/Switch.js +1 -1
  97. package/dist/components/TabNav.d.ts +34 -9
  98. package/dist/components/TabNav.js +1 -1
  99. package/dist/components/Table.d.ts +66 -19
  100. package/dist/components/Table.js +1 -1
  101. package/dist/components/Tabs.d.ts +3 -1
  102. package/dist/components/Tabs.js +1 -1
  103. package/dist/components/Text.d.ts +2 -2
  104. package/dist/components/Text.js +1 -1
  105. package/dist/components/TextArea.d.ts +4 -4
  106. package/dist/components/TextArea.js +1 -1
  107. package/dist/components/TextField.d.ts +1 -1
  108. package/dist/components/TextField.js +1 -1
  109. package/dist/components/Toast.d.ts +325 -0
  110. package/dist/components/Toast.js +1 -0
  111. package/dist/components/Toggle.d.ts +1 -1
  112. package/dist/components/Toggle.js +1 -1
  113. package/dist/components/ToggleGroup.d.ts +1 -1
  114. package/dist/components/ToggleGroup.js +1 -1
  115. package/dist/components/Toolbar.d.ts +1 -1
  116. package/dist/components/Toolbar.js +1 -1
  117. package/dist/components/Tooltip.d.ts +12 -1
  118. package/dist/components/Tooltip.js +1 -1
  119. package/dist/components/Tree.d.ts +2 -1
  120. package/dist/components/Tree.js +1 -1
  121. package/dist/components/VisuallyHidden.js +1 -1
  122. package/dist/components/{check-DujVUWP-.js → check-ctUdF4Q3.js} +4 -4
  123. package/dist/components/documentOverlayOpen-coyGmcyL.js +1 -0
  124. package/dist/components/{floating-ui.react-Byzse64h.js → floating-ui.react-2kiGB4sW.js} +1 -1
  125. package/dist/components/index-C7dBo_Ry.js +1 -0
  126. package/dist/components/index-CBcSLg6O.js +1 -0
  127. package/dist/components/index-CbNq68zs.js +1 -0
  128. package/dist/components/index-D8I-rMwz.js +1 -0
  129. package/dist/components/index-DMX7gpdp.js +1 -0
  130. package/dist/components/index-FITGoHty.js +1 -0
  131. package/dist/components/index-XF8itt-H.js +1 -0
  132. package/dist/components/index-nYRBURkR.js +1 -0
  133. package/dist/components/index-xlB--dex.js +1 -0
  134. package/dist/components/keyboard-BKF7hXqL.js +1 -0
  135. package/dist/components/mergeProps-0RucjqeH.js +1 -0
  136. package/dist/components/useComponentClass-C0isGl1z.js +1 -0
  137. package/dist/themes/baremetal.css +1 -0
  138. package/dist/themes/default.css +1 -0
  139. package/dist/themes/tailwind-presets/default.css +396 -0
  140. package/package.json +65 -23
  141. package/dist/components/AvatarPrimitiveFallback-BOYawMc9.js +0 -1
  142. package/dist/components/CheckboxGroupPrimitive-Cd8ra39e.js +0 -1
  143. package/dist/components/ComboboxPrimitive-BhHSrtiY.js +0 -1
  144. package/dist/components/MenuPrimitive-wJbEC-gM.js +0 -1
  145. package/dist/components/RadioGroupPrimitive-CcvI-_wm.js +0 -1
  146. package/dist/components/clsx-BaVHROc5.js +0 -1
  147. package/dist/components/index-BbEsAodL.js +0 -1
  148. package/dist/components/index-DOVR6Rd5.js +0 -1
  149. package/dist/components/index-DU_6Msfu.js +0 -1
  150. package/dist/components/index-Db-tduwt.js +0 -1
  151. package/dist/components/index-Ir5FYyWW.js +0 -1
  152. package/dist/components/index-gM8bbyw1.js +0 -1
  153. package/dist/components/index-m6qHOeQ9.js +0 -1
  154. package/dist/components/mergeProps-B9ocQsG4.js +0 -1
  155. package/dist/components/useComponentClass-QwNivz0h.js +0 -1
  156. package/dist/themes/tailwind-presets/default.js +0 -1
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { ComponentPropsWithoutRef } from 'react';
2
+ import React__default, { ComponentPropsWithoutRef } from 'react';
3
3
 
4
4
  type NumberFieldRootProps = {
5
5
  customRootClass?: string;
@@ -7,7 +7,9 @@ type NumberFieldRootProps = {
7
7
  defaultValue?: number | '';
8
8
  value?: number | '';
9
9
  onValueChange?: (value: number | '') => void;
10
+ /** Amount added or removed by ArrowUp/ArrowDown and the stepper buttons. Defaults to 1. */
10
11
  step?: number;
12
+ /** Amount used by Shift+Arrow and PageUp/PageDown. Defaults to `step * 10`. */
11
13
  largeStep?: number;
12
14
  min?: number;
13
15
  max?: number;
@@ -15,12 +17,31 @@ type NumberFieldRootProps = {
15
17
  readOnly?: boolean;
16
18
  required?: boolean;
17
19
  } & ComponentPropsWithoutRef<'div'>;
20
+ declare const NumberFieldRoot: React__default.ForwardRefExoticComponent<{
21
+ customRootClass?: string;
22
+ name?: string;
23
+ defaultValue?: number | "";
24
+ value?: number | "";
25
+ onValueChange?: (value: number | "") => void;
26
+ /** Amount added or removed by ArrowUp/ArrowDown and the stepper buttons. Defaults to 1. */
27
+ step?: number;
28
+ /** Amount used by Shift+Arrow and PageUp/PageDown. Defaults to `step * 10`. */
29
+ largeStep?: number;
30
+ min?: number;
31
+ max?: number;
32
+ disabled?: boolean;
33
+ readOnly?: boolean;
34
+ required?: boolean;
35
+ } & Omit<React__default.DetailedHTMLProps<React__default.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
18
36
 
19
37
  type NumberFieldInputProps = ComponentPropsWithoutRef<'input'>;
38
+ declare const NumberFieldInput: React__default.ForwardRefExoticComponent<Omit<React__default.DetailedHTMLProps<React__default.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref"> & React__default.RefAttributes<HTMLInputElement>>;
20
39
 
21
40
  type NumberFieldIncrementProps = ComponentPropsWithoutRef<'button'>;
41
+ declare const NumberFieldIncrement: React__default.ForwardRefExoticComponent<Omit<React__default.DetailedHTMLProps<React__default.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & React__default.RefAttributes<HTMLButtonElement>>;
22
42
 
23
43
  type NumberFieldDecrementProps = ComponentPropsWithoutRef<'button'>;
44
+ declare const NumberFieldDecrement: React__default.ForwardRefExoticComponent<Omit<React__default.DetailedHTMLProps<React__default.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & React__default.RefAttributes<HTMLButtonElement>>;
24
45
 
25
46
  declare const NumberField: {
26
47
  (): null;
@@ -43,5 +64,5 @@ declare const NumberField: {
43
64
  Decrement: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
44
65
  };
45
66
 
46
- export { NumberField as default };
67
+ export { NumberFieldDecrement as Decrement, NumberFieldIncrement as Increment, NumberFieldInput as Input, NumberFieldRoot as Root, NumberField as default };
47
68
  export type { NumberFieldDecrementProps, NumberFieldIncrementProps, NumberFieldInputProps, NumberFieldRootProps };
@@ -1 +1 @@
1
- 'use client';import{jsx as e}from"react/jsx-runtime";import n,{forwardRef as t,useContext as r}from"react";import{u as l}from"./index-wRElCyvx.js";import{u as a}from"./useComponentClass-QwNivz0h.js";import{c as o}from"./clsx-BaVHROc5.js";import"./ThemeContext-Sm-iNANd.js";const i=n.createContext(null),s="NumberField",d=t((({children:n,customRootClass:t="",name:r,defaultValue:d="",value:u,onValueChange:m,largeStep:c,step:p,min:b,max:f,disabled:y,readOnly:h,required:N,id:v,className:D="",...w},C)=>{const F=a(t,s),[g,x]=l(u,d,m),I={inputValue:g,handleOnChange:e=>{x(""!==e?void 0!==f&&e>f?f:void 0!==b&&e<b?b:e:"")},handleStep:({type:e,direction:n})=>{let t=0;switch(e){case"small":if(!p)return;t=p;break;case"large":if(!c)return;t=c}"decrement"===n&&(t*=-1),(e=>{x((n=>{let t=n;""===t&&(t=void 0!==b?b:-1);const r=t+e;return void 0!==f&&r>f?f:void 0!==b&&r<b?b:r}))})(t)},id:v,name:r,disabled:y,readOnly:h,required:N,rootClass:F};return e("div",{ref:C,className:o(F&&`${F}-root`,D),...w,children:e(i.Provider,{value:I,children:n})})}));d.displayName=s;const u=t((({className:n,...t},l)=>{const a=r(i);if(!a)return console.error("NumberFieldInput must be used within a NumberField"),null;const{inputValue:s,handleOnChange:d,handleStep:u,id:m,name:c,disabled:p,readOnly:b,required:f,rootClass:y}=a;return e("input",{ref:l,type:"number",onKeyDown:e=>{"ArrowUp"!==e.key||e.shiftKey||(e.preventDefault(),u({direction:"increment",type:"small"})),"ArrowDown"!==e.key||e.shiftKey||(e.preventDefault(),u({direction:"decrement",type:"small"})),"ArrowUp"===e.key&&e.shiftKey&&(e.preventDefault(),u({direction:"increment",type:"large"})),"ArrowDown"===e.key&&e.shiftKey&&(e.preventDefault(),u({direction:"decrement",type:"large"}))},value:""===s?"":s,onChange:e=>{const n=e.target.value;d(""===n?"":Number(n))},id:m,name:c,disabled:p,readOnly:b,required:f,className:o(y&&`${y}-input`,n),...t})}));u.displayName="NumberFieldInput";const m=t((({children:n,className:t,onMouseDown:l,...a},s)=>{const d=r(i);if(!d)return console.error("NumberFieldIncrement must be used within a NumberField"),null;const{handleStep:u,rootClass:m,disabled:c,readOnly:p}=d;return e("button",{ref:s,onClick:()=>u({direction:"increment",type:"small"}),className:o(m&&`${m}-increment`,t),disabled:c||p,type:"button",...a,tabIndex:-1,onMouseDown:e=>{l?.(e),e.defaultPrevented||e.preventDefault()},children:n})}));m.displayName="NumberFieldIncrement";const c=t((({children:n,className:t,onMouseDown:l,...a},s)=>{const d=r(i);if(!d)return console.error("NumberFieldDecrement must be used within a NumberField"),null;const{handleStep:u,rootClass:m,disabled:c,readOnly:p}=d;return e("button",{ref:s,onClick:()=>u({direction:"decrement",type:"small"}),className:o(m&&`${m}-decrement`,t),disabled:c||p,type:"button",...a,tabIndex:-1,onMouseDown:e=>{l?.(e),e.defaultPrevented||e.preventDefault()},children:n})}));c.displayName="NumberFieldDecrement";const p=()=>(console.warn("Direct usage of NumberField is not supported. Please use NumberField.Root, NumberField.Item instead."),null);p.Root=d,p.Input=u,p.Increment=m,p.Decrement=c;export{p as default};
1
+ 'use client';import{jsx as e}from"react/jsx-runtime";import n,{forwardRef as t,useRef as r,useContext as o,useCallback as a,useEffect as i}from"react";import{u as l}from"./index-wRElCyvx.js";import{u as d,c as u}from"./useComponentClass-C0isGl1z.js";import{K as s}from"./keyboard-BKF7hXqL.js";import"./ThemeContext-Sm-iNANd.js";const c=n.createContext(null),m="NumberField",p=e=>{if(void 0===e||!Number.isFinite(e))return 0;const n=String(e),t=/e-(\d+)$/i.exec(n);if(t){const[e]=n.split(/e/i);return(e.split(".")[1]||"").length+Number(t[1])}return(n.split(".")[1]||"").length},b=e=>"number"==typeof e&&Number.isFinite(e)&&e>0,v=t((({children:n,customRootClass:t="",name:o,defaultValue:a="",value:i,onValueChange:s,largeStep:v,step:f,min:w,max:N,disabled:D,readOnly:h,required:y,id:P,className:C="",...g},F)=>{const k=d(t,m),[x,I]=l(i,a,s),L=b(f)?f:1,O=b(v)?v:10*L,E=r(x);E.current=x;const R=e=>{let n=e;return void 0!==N&&n>N&&(n=N),void 0!==w&&n<w&&(n=w),n},M=e=>{e!==E.current&&(E.current=e,I(e))},S={inputValue:x,handleOnChange:e=>{(""===e||Number.isFinite(e))&&M(e)},handleStep:({type:e,direction:n})=>{if(D||h)return!1;let t="large"===e?O:L;"decrement"===n&&(t*=-1);const r=E.current;let o;return o=R(""===r?0+t:((e,...n)=>{const t=Math.min(Math.max(...n.map(p)),15);return Number(e.toFixed(t))})(r+t,r,L,O,w)),o!==r&&(M(o),!0)},commitValue:()=>{const e=E.current;""!==e&&M(R(e))},setToBound:e=>{if(D||h)return;const n="min"===e?w:N;void 0!==n&&M(n)},canIncrement:!D&&!h&&(void 0===N||""===x||x<N),canDecrement:!D&&!h&&(void 0===w||""===x||x>w),id:P,name:o,min:w,max:N,step:L,disabled:D,readOnly:h,required:y,rootClass:k};return e("div",{ref:F,className:u(k&&`${k}-root`,C),"data-disabled":D?"":void 0,"data-readonly":h?"":void 0,...g,children:e(c.Provider,{value:S,children:n})})}));v.displayName=m;const f=t((({className:n,onKeyDown:t,onChange:r,onBlur:a,...i},l)=>{const d=o(c);if(!d)return console.error("NumberFieldInput must be used within a NumberField"),null;const{inputValue:m,handleOnChange:p,handleStep:b,commitValue:v,setToBound:f,id:w,name:N,min:D,max:h,step:y,disabled:P,readOnly:C,required:g,rootClass:F}=d;return e("input",{ref:l,type:"number",id:w,name:N,min:D,max:h,step:y,disabled:P,readOnly:C,required:g,...i,value:""===m?"":m,onKeyDown:e=>{if(t?.(e),!e.defaultPrevented)switch(e.key){case s.ARROW_UP:e.preventDefault(),b({direction:"increment",type:e.shiftKey?"large":"small"});break;case s.ARROW_DOWN:e.preventDefault(),b({direction:"decrement",type:e.shiftKey?"large":"small"});break;case"PageUp":e.preventDefault(),b({direction:"increment",type:"large"});break;case"PageDown":e.preventDefault(),b({direction:"decrement",type:"large"});break;case"Home":void 0!==D&&(e.preventDefault(),f("min"));break;case"End":void 0!==h&&(e.preventDefault(),f("max"));break;case"Enter":v()}},onChange:e=>{r?.(e);const n=e.target.value;p(""===n?"":Number(n))},onBlur:e=>{v(),a?.(e)},className:u(F&&`${F}-input`,n)})}));f.displayName="NumberFieldInput";function w(e,n,t){const o=r(null),l=r(null),d=r(!1),u=r(n);u.current=n;const s=a((()=>{o.current&&clearTimeout(o.current),l.current&&clearInterval(l.current),o.current=null,l.current=null,"undefined"!=typeof window&&(window.removeEventListener("pointerup",s),window.removeEventListener("pointercancel",s),window.removeEventListener("blur",s))}),[]);i((()=>s),[s]),i((()=>{t||s()}),[t,s]);const c=()=>u.current({direction:e,type:"small"});return{onPointerDown:e=>{t&&0===e.button&&(d.current=!0,s(),c()&&(window.addEventListener("pointerup",s),window.addEventListener("pointercancel",s),window.addEventListener("blur",s),o.current=setTimeout((()=>{l.current=setInterval((()=>{c()||s()}),60)}),400)))},onClick:e=>{const n=d.current;d.current=!1,n&&0!==e.detail||t&&c()},onPointerLeave:s}}const N=t((({children:n,className:t,onMouseDown:r,onPointerDown:a,onPointerLeave:i,onClick:l,disabled:d,...s},m)=>{const p=o(c),b=!!p&&!d&&p.canIncrement,v=w("increment",p?p.handleStep:()=>!1,b);if(!p)return console.error("NumberFieldIncrement must be used within a NumberField"),null;const{rootClass:f}=p,N=!b;return e("button",{ref:m,type:"button",className:u(f&&`${f}-increment`,t),disabled:N,"data-disabled":N?"":void 0,...s,tabIndex:-1,onPointerDown:e=>{a?.(e),e.defaultPrevented||v.onPointerDown(e)},onPointerLeave:e=>{i?.(e),v.onPointerLeave()},onClick:e=>{l?.(e),e.defaultPrevented||v.onClick(e)},onMouseDown:e=>{r?.(e),e.defaultPrevented||e.preventDefault()},children:n})}));N.displayName="NumberFieldIncrement";const D=t((({children:n,className:t,onMouseDown:r,onPointerDown:a,onPointerLeave:i,onClick:l,disabled:d,...s},m)=>{const p=o(c),b=!!p&&!d&&p.canDecrement,v=w("decrement",p?p.handleStep:()=>!1,b);if(!p)return console.error("NumberFieldDecrement must be used within a NumberField"),null;const{rootClass:f}=p,N=!b;return e("button",{ref:m,type:"button",className:u(f&&`${f}-decrement`,t),disabled:N,"data-disabled":N?"":void 0,...s,tabIndex:-1,onPointerDown:e=>{a?.(e),e.defaultPrevented||v.onPointerDown(e)},onPointerLeave:e=>{i?.(e),v.onPointerLeave()},onClick:e=>{l?.(e),e.defaultPrevented||v.onClick(e)},onMouseDown:e=>{r?.(e),e.defaultPrevented||e.preventDefault()},children:n})}));D.displayName="NumberFieldDecrement";const h=()=>(console.warn("Direct usage of NumberField is not supported. Please use NumberField.Root, NumberField.Item instead."),null);h.Root=v,h.Input=f,h.Increment=N,h.Decrement=D;export{D as Decrement,N as Increment,f as Input,v as Root,h as default};
@@ -0,0 +1,83 @@
1
+ import React, { ElementRef, ComponentPropsWithoutRef } from 'react';
2
+ import PopoverPrimitive from '~/core/primitives/Popover';
3
+ import * as _floating_ui_react from '@floating-ui/react';
4
+ import Primitive from '~/core/primitives/Primitive';
5
+
6
+ type PopoverRootProps = React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Root> & {
7
+ customRootClass?: string;
8
+ className?: string;
9
+ };
10
+ declare const PopoverRoot: React.ForwardRefExoticComponent<PopoverRootProps & React.RefAttributes<HTMLDivElement>>;
11
+
12
+ type PopoverTriggerProps = React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Trigger>;
13
+ declare const PopoverTrigger: React.ForwardRefExoticComponent<Omit<Omit<{
14
+ label?: string;
15
+ description?: string;
16
+ asChild?: boolean;
17
+ required?: boolean;
18
+ onChange?: any;
19
+ } & Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>, "ref"> & {
20
+ asChild?: boolean;
21
+ disabled?: boolean;
22
+ } & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
23
+
24
+ type PopoverAnchorProps = React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Anchor>;
25
+ declare const PopoverAnchor: React.ForwardRefExoticComponent<PopoverAnchorProps & React.RefAttributes<HTMLDivElement>>;
26
+
27
+ type PopoverPrimitivePortalProps = {
28
+ children: React.ReactNode;
29
+ container?: Element | null;
30
+ forceMount?: boolean;
31
+ };
32
+
33
+ type PopoverPortalProps = React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Portal>;
34
+ declare const PopoverPortal: React.ForwardRefExoticComponent<PopoverPrimitivePortalProps & React.RefAttributes<HTMLDivElement>>;
35
+
36
+ type PopoverContentProps = React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>;
37
+ declare const PopoverContent: React.ForwardRefExoticComponent<PopoverContentProps & React.RefAttributes<HTMLDivElement>>;
38
+
39
+ type PopoverCloseProps = React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Close>;
40
+ declare const PopoverClose: React.ForwardRefExoticComponent<Omit<Omit<{
41
+ label?: string;
42
+ description?: string;
43
+ asChild?: boolean;
44
+ required?: boolean;
45
+ onChange?: any;
46
+ } & Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>, "ref"> & {
47
+ asChild?: boolean;
48
+ } & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
49
+
50
+ type PopoverArrowProps = React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Arrow>;
51
+ declare const PopoverArrow: React.ForwardRefExoticComponent<Omit<Omit<Omit<Omit<_floating_ui_react.FloatingArrowProps, "ref"> & React.RefAttributes<SVGSVGElement>, "ref">, "context"> & {
52
+ asChild?: boolean;
53
+ } & React.RefAttributes<SVGSVGElement>, "ref"> & React.RefAttributes<SVGSVGElement>>;
54
+
55
+ type PopoverTitleProps = React.ComponentPropsWithoutRef<typeof Primitive.h2> & {
56
+ asChild?: boolean;
57
+ };
58
+ /** Heading that labels the popover content (aria-labelledby). */
59
+ declare const PopoverTitle: React.ForwardRefExoticComponent<PopoverTitleProps & React.RefAttributes<HTMLElement>>;
60
+
61
+ type PopoverDescriptionProps = React.ComponentPropsWithoutRef<typeof Primitive.p> & {
62
+ asChild?: boolean;
63
+ };
64
+ /** Text that describes the popover content (aria-describedby). */
65
+ declare const PopoverDescription: React.ForwardRefExoticComponent<PopoverDescriptionProps & React.RefAttributes<HTMLElement>>;
66
+
67
+ type PopoverElement = ElementRef<'div'>;
68
+ type PopoverProps = ComponentPropsWithoutRef<'div'>;
69
+ type PopoverComponent = React.ForwardRefExoticComponent<PopoverProps & React.RefAttributes<PopoverElement>> & {
70
+ Root: typeof PopoverRoot;
71
+ Trigger: typeof PopoverTrigger;
72
+ Anchor: typeof PopoverAnchor;
73
+ Portal: typeof PopoverPortal;
74
+ Content: typeof PopoverContent;
75
+ Close: typeof PopoverClose;
76
+ Arrow: typeof PopoverArrow;
77
+ Title: typeof PopoverTitle;
78
+ Description: typeof PopoverDescription;
79
+ };
80
+ declare const Popover: PopoverComponent;
81
+
82
+ export { PopoverAnchor as Anchor, PopoverArrow as Arrow, PopoverClose as Close, PopoverContent as Content, PopoverDescription as Description, PopoverPortal as Portal, PopoverRoot as Root, PopoverTitle as Title, PopoverTrigger as Trigger, Popover as default };
83
+ export type { PopoverAnchorProps, PopoverArrowProps, PopoverCloseProps, PopoverContentProps, PopoverDescriptionProps, PopoverElement, PopoverPortalProps, PopoverProps, PopoverRootProps, PopoverTitleProps, PopoverTriggerProps };
@@ -0,0 +1 @@
1
+ 'use client';import e,{createContext as o,forwardRef as t,useContext as n,useState as r,useMemo as i,useEffect as s}from"react";import{jsx as a}from"react/jsx-runtime";import{u as l,c as d}from"./useComponentClass-C0isGl1z.js";import{F as c}from"./index-D8I-rMwz.js";import{P as u}from"./index-XF8itt-H.js";import{u as p}from"./index-wRElCyvx.js";import{u as f}from"./index-CBcSLg6O.js";import{B as g}from"./index-FITGoHty.js";import{T as m}from"./ThemeContext-Sm-iNANd.js";import{g as h,c as v,m as P}from"./mergeProps-0RucjqeH.js";import"./floating-ui.react-2kiGB4sW.js";import"react-dom";import"./index-CbNq68zs.js";import"./documentOverlayOpen-coyGmcyL.js";const C={side:"bottom",align:"center",sideOffset:0,alignOffset:0,avoidCollisions:!0,collisionBoundary:void 0,collisionPadding:0,arrowPadding:0,sticky:"partial",hideWhenDetached:!1},y=o({isOpen:!1,modal:!1,contentId:"",triggerNode:null,anchorNode:null,handleOpenChange:()=>{},setTriggerNode:()=>{},setAnchorNode:()=>{},setArrowNode:()=>{},positioning:C,setPositioning:()=>{},getReferenceProps:(e={})=>e,getFloatingProps:(e={})=>e,setContentEventHandlers:()=>{},refs:{setFloating:()=>{},floating:{current:null}},isPositioned:!1,floatingStyles:{position:"absolute",top:0,left:0},floatingContext:null}),N="PopoverPrimitive",w=e=>{let o=!1;return{originalEvent:e,get defaultPrevented(){return o},preventDefault(){o=!0}}},O=t((({children:o,open:t,defaultOpen:n=!1,onOpenChange:r,modal:i=!1,...s},l)=>{const[d,g]=p(t,n,r);f(d);const[m,h]=e.useState(null),[v,P]=e.useState(null),[N,O]=e.useState(null),[A,I]=e.useState(C),x=e.useRef({}),b=c.useFloatingNodeId(),F=e.useMemo((()=>{return e=A.side,"center"===(o=A.align)?e:`${e}-${o}`;var e,o}),[A.align,A.side]),E=e.useMemo((()=>(Array.isArray(A.collisionBoundary)?A.collisionBoundary:[A.collisionBoundary]).filter((e=>null!=e))),[A.collisionBoundary]),D=e.useMemo((()=>({padding:A.collisionPadding,boundary:E,altBoundary:E.length>0})),[E,A.collisionPadding]),R=v??m,{context:T,refs:M,floatingStyles:k,isPositioned:j}=c.useFloating({open:d,nodeId:b,onOpenChange:(e,o,t)=>{if(!(!e&&"escape-key"===t&&o instanceof KeyboardEvent&&(x.current.onEscapeKeyDown?.(o),o.defaultPrevented))){if(!e&&"focus-out"===t&&o instanceof FocusEvent){const e=w(o);if(x.current.onFocusOutside?.(e),x.current.onInteractOutside?.(e),e.defaultPrevented)return}g(e)}},placement:F,strategy:"fixed",elements:{reference:R},middleware:[c.offset({mainAxis:A.sideOffset+(N?5:0),crossAxis:A.alignOffset}),A.avoidCollisions?c.flip({crossAxis:F.includes("-"),fallbackAxisSideDirection:"start",...D}):null,A.avoidCollisions?c.shift({...D,limiter:"partial"===A.sticky?c.limitShift():void 0}):null,N?c.arrow({element:N,padding:A.arrowPadding}):null,A.hideWhenDetached?c.hide({strategy:"referenceHidden"}):null].filter(Boolean),whileElementsMounted:c.autoUpdate}),S=c.useClick(T,{event:"click",toggle:!0}),B=c.useDismiss(T,{outsidePressEvent:"pointerdown",outsidePress:e=>{const o=w(e);return x.current.onPointerDownOutside?.(o),x.current.onInteractOutside?.(o),!o.defaultPrevented}}),$=c.useRole(T,{role:"dialog"}),{getReferenceProps:H,getFloatingProps:K}=c.useInteractions([S,B,$]),W=c.useId()??"",q=e.useCallback((e=>{I((o=>({...o,...e})))}),[]),L=e.useCallback((e=>{g(e)}),[g]),U=e.useCallback((e=>{x.current=e}),[]),V=e.useMemo((()=>({isOpen:d,modal:i,contentId:W,triggerNode:m,anchorNode:v,handleOpenChange:L,setTriggerNode:h,setAnchorNode:P,setArrowNode:O,positioning:A,setPositioning:q,getReferenceProps:H,getFloatingProps:K,setContentEventHandlers:U,refs:M,isPositioned:j,floatingStyles:k,floatingContext:T})),[v,W,T,k,K,H,L,d,j,i,A,M,U,q,m]);return a(y.Provider,{value:V,children:a(c.FloatingNode,{id:b,children:a(u.div,{ref:l,"data-state":d?"open":"closed",...s,children:o})})})}));O.displayName=`${N}Inner`;const A=t(((e,o)=>c.useFloatingTree()?a(O,{ref:o,...e}):a(c.FloatingTree,{children:a(O,{ref:o,...e})})));A.displayName=N;const I=t((({children:e,asChild:o=!1,disabled:t=!1,onClick:r,...i},s)=>{const{isOpen:l,contentId:d,getReferenceProps:u,setTriggerNode:p}=n(y),f=c.useMergeRefs([s,e=>{p(e)}]);return a(g,{ref:f,asChild:o,disabled:t,"aria-haspopup":"dialog","aria-expanded":l,"aria-controls":d||void 0,"data-state":l?"open":"closed","data-disabled":t?"":void 0,...u({...i,disabled:t,onClick:e=>{r?.(e)}}),children:e})}));I.displayName="PopoverPrimitiveTrigger";const x=t((({children:e,asChild:o=!1,...t},r)=>{const{setAnchorNode:i}=n(y),s=c.useMergeRefs([r,e=>{i(e)}]);return a(u.div,{ref:s,asChild:o,...t,children:e})}));x.displayName="PopoverPrimitiveAnchor";const b=e.createContext({forceMount:!1}),F=t((({children:o,asChild:t=!1,forceMount:r=!1,side:i="bottom",sideOffset:s=0,align:l="center",alignOffset:d=0,avoidCollisions:p=!0,collisionBoundary:f,collisionPadding:g=0,arrowPadding:m=0,sticky:h="partial",hideWhenDetached:v=!1,onOpenAutoFocus:P,onCloseAutoFocus:C,onEscapeKeyDown:N,onPointerDownOutside:w,onFocusOutside:O,onInteractOutside:A,role:I="dialog",style:x,...F},E)=>{const{forceMount:D}=e.useContext(b),{isOpen:R,modal:T,contentId:M,triggerNode:k,getFloatingProps:j,refs:S,isPositioned:B,floatingStyles:$,floatingContext:H,setContentEventHandlers:K,setPositioning:W}=n(y),q=e.useRef(null),L=c.useMergeRefs([S.setFloating,E]),U=R||r||D;if(e.useEffect((()=>{W({side:i,align:l,sideOffset:s,alignOffset:d,avoidCollisions:p,collisionBoundary:f,collisionPadding:g,arrowPadding:m,sticky:h,hideWhenDetached:v})}),[l,d,m,p,f,g,v,W,i,s,h]),e.useEffect((()=>(K({onEscapeKeyDown:N,onPointerDownOutside:w,onFocusOutside:O,onInteractOutside:A}),()=>{K({})})),[N,O,A,w,K]),e.useEffect((()=>{if(!R||!S.floating.current)return;if(q.current=document.activeElement instanceof HTMLElement?document.activeElement:null,!P)return;P({defaultPrevented:!1,preventDefault(){this.defaultPrevented=!0}})}),[R,P,S.floating]),e.useEffect((()=>{if(R||!C)return;const e={defaultPrevented:!1,preventDefault(){this.defaultPrevented=!0}};if(C(e),!e.defaultPrevented){const e=k??q.current;e&&requestAnimationFrame((()=>{e.focus()}))}}),[R,C,k]),!U)return null;const V=H?.placement,[z,G]=V?V.split("-"):[i,l],J=j({...F,id:M,role:I,"data-state":R?"open":"closed","data-side":z??i,"data-align":V?G??"center":l,"aria-hidden":R?void 0:"true",style:{...$,outline:"none",visibility:R&&!B?"hidden":void 0,pointerEvents:R&&!B?"none":void 0,...x}}),Q=a(u.div,{ref:L,asChild:t,...J,children:o});return R?a(c.FocusManager,{context:H,modal:T,initialFocus:T?0:-1,returnFocus:!C,restoreFocus:!0,outsideElementsInert:T,closeOnFocusOut:!T,children:Q}):Q}));F.displayName="PopoverPrimitiveContent";const E=t((({children:e,asChild:o=!1,onClick:t,...r},i)=>{const{handleOpenChange:s}=n(y);return a(g,{ref:i,asChild:o,onClick:e=>{t?.(e),e.defaultPrevented||s(!1)},...r,children:e})}));E.displayName="PopoverPrimitiveClose";const D=t((({children:o,asChild:t=!1,width:r=10,height:i=5,...s},l)=>{const{floatingContext:d,setArrowNode:u}=n(y),p=c.useMergeRefs([l,e=>{u(e)}]);if(t){const t=e.Children.toArray(o);if(1!==t.length||!e.isValidElement(t[0]))return console.warn("PopoverPrimitiveArrow: asChild requires exactly one valid React element child."),null;const n=t[0],l=a(c.Arrow,{ref:p,context:d,width:r,height:i,...s}),u=h(n),f=v(p,u),g=P(l.props,n.props);return e.cloneElement(n,{...g,...f?{ref:f}:{}})}return a(c.Arrow,{ref:p,context:d,width:r,height:i,...s})}));D.displayName="PopoverPrimitiveArrow";const R={Root:A,Trigger:I,Anchor:x,Portal:({children:o,container:t,forceMount:n=!1})=>{const r=e.useContext(m),i=e.useRef(null),[s,l]=e.useState(!1);return e.useEffect((()=>{i.current=t??r?.portalRootRef.current??r?.containerRef.current??document.body,l(!0)}),[t,r]),s?a(b.Provider,{value:{forceMount:n},children:a(c.Portal,{root:i.current,children:o})}):null},Content:F,Close:E,Arrow:D},T=o({rootClass:"",titleId:void 0,descriptionId:void 0,setTitleId:()=>{},setDescriptionId:()=>{}}),M="Popover",k=t((({children:e,customRootClass:o="",className:t="",...n},s)=>{const c=l(o,M),[u,p]=r(void 0),[f,g]=r(void 0),m=i((()=>({rootClass:c,titleId:u,descriptionId:f,setTitleId:p,setDescriptionId:g})),[c,u,f]);return a(T.Provider,{value:m,children:a(R.Root,{ref:s,className:d(c,t),"data-slot":"popover-root",...n,children:e})})}));k.displayName=M;const j=t((({className:e="",...o},t)=>{const{rootClass:r}=n(T);return a(R.Trigger,{ref:t,className:d(r&&`${r}-trigger`,e),"data-slot":"popover-trigger",...o})}));j.displayName="PopoverTrigger";const S=t((({className:e="",...o},t)=>{const{rootClass:r}=n(T);return a(R.Anchor,{ref:t,className:d(r&&`${r}-anchor`,e),"data-slot":"popover-anchor",...o})}));S.displayName="PopoverAnchor";const B=t((({children:e,...o},t)=>a(R.Portal,{...o,children:e})));B.displayName="PopoverPortal";const $=t((({className:e="","aria-label":o,"aria-labelledby":t,"aria-describedby":r,...i},s)=>{const{rootClass:l,titleId:c,descriptionId:u}=n(T);return a(R.Content,{ref:s,className:d(l&&`${l}-content`,e),"data-slot":"popover-content","aria-label":o,"aria-labelledby":t??(o?void 0:c),"aria-describedby":r??u,...i})}));$.displayName="PopoverContent";const H=t((({className:e="",...o},t)=>{const{rootClass:r}=n(T);return a(R.Close,{ref:t,className:d(r&&`${r}-close`,e),"data-slot":"popover-close",...o})}));H.displayName="PopoverClose";const K=t((({className:e="",...o},t)=>{const{rootClass:r}=n(T);return a(R.Arrow,{ref:t,className:d(r&&`${r}-arrow`,e),"data-slot":"popover-arrow",...o})}));K.displayName="PopoverArrow";const W=t((({className:e="",id:o,children:t,...r},i)=>{const{rootClass:l,setTitleId:p}=n(T),f=c.useId(),g=o??f;return s((()=>(p(g),()=>p(void 0))),[g,p]),a(u.h2,{ref:i,id:g,className:d(l&&`${l}-title`,e),"data-slot":"popover-title",...r,children:t})}));W.displayName="PopoverTitle";const q=t((({className:e="",id:o,children:t,...r},i)=>{const{rootClass:l,setDescriptionId:p}=n(T),f=c.useId(),g=o??f;return s((()=>(p(g),()=>p(void 0))),[g,p]),a(u.p,{ref:i,id:g,className:d(l&&`${l}-description`,e),"data-slot":"popover-description",...r,children:t})}));q.displayName="PopoverDescription";const L=t(((e,o)=>(console.warn("Direct usage of Popover is not supported. Please use Popover.Root, Popover.Trigger, etc. instead."),null)));L.displayName="Popover",L.Root=k,L.Trigger=j,L.Anchor=S,L.Portal=B,L.Content=$,L.Close=H,L.Arrow=K,L.Title=W,L.Description=q;export{S as Anchor,K as Arrow,H as Close,$ as Content,q as Description,B as Portal,k as Root,W as Title,j as Trigger,L as default};
@@ -3,9 +3,10 @@ import Primitive from '~/core/primitives/Primitive';
3
3
 
4
4
  type ProgressRootElement = ElementRef<typeof Primitive.div>;
5
5
  type ProgressRootProps = {
6
- value: number | null;
7
- minValue: number;
8
- maxValue: number;
6
+ /** Current value. `null` renders an indeterminate progress bar. */
7
+ value?: number | null;
8
+ minValue?: number;
9
+ maxValue?: number;
9
10
  getValueLabel?: (value: number, minValue: number, maxValue: number) => string;
10
11
  customRootClass?: string;
11
12
  children: React.ReactNode;
@@ -23,5 +24,5 @@ type ProgressComponent = React.ForwardRefExoticComponent<ProgressProps & React.R
23
24
  };
24
25
  declare const Progress: ProgressComponent;
25
26
 
26
- export { COMPONENT_NAME, Progress as default };
27
+ export { COMPONENT_NAME, ProgressIndicator as Indicator, ProgressRoot as Root, Progress as default };
27
28
  export type { ProgressIndicatorProps, ProgressProps, ProgressRootProps };
@@ -1 +1 @@
1
- 'use client';import{jsx as a}from"react/jsx-runtime";import{createContext as e,forwardRef as s,useState as r,useEffect as t,useContext as l}from"react";import{c as o}from"./clsx-BaVHROc5.js";import{u as i}from"./useComponentClass-QwNivz0h.js";import{P as m}from"./index-m6qHOeQ9.js";import"./ThemeContext-Sm-iNANd.js";import"./mergeProps-B9ocQsG4.js";const n=e({value:0,minValue:0,maxValue:100,rootClass:"",ariaLabel:"",state:"loading"}),u="Progress",d="loading",c="complete",p="indeterminate",v=s((({value:e=0,minValue:s=0,maxValue:l=100,children:v,customRootClass:x,getValueLabel:g,className:f,...C},h)=>{const[P,V]=r(d),b=i(x,u),N=g?.(e??0,s,l)??"";t((()=>{V(null===e?p:e===l?c:d)}),[e,l]);const j={value:e,minValue:s,maxValue:l,rootClass:b,getValueLabel:g,ariaLabel:N,state:P},{asChild:y,...L}=C;return a(n.Provider,{value:j,children:a(m.div,{role:"progressbar","aria-label":N,"aria-valuetext":N,"aria-valuenow":e??0,"aria-valuemin":s,"aria-valuemax":l,"data-state":P,"data-value":e??0,"data-max":l,"data-min":s,className:o(b,f),asChild:y,ref:h,...L,children:v})})}));v.displayName=u;const x=s((({className:e,style:s,...r},t)=>{const{value:i,minValue:u,maxValue:d,rootClass:c,state:p}=l(n),v=Math.min(Math.max(i??0,u),d),x=(v-u)/(d-u)*100,{asChild:g,...f}=r;return a(m.div,{role:"progressbar",className:o(c&&`${c}-indicator`,e),style:{transform:`translateX(-${100-x}%)`,...s},"aria-valuenow":v,"aria-valuemax":d,"aria-valuemin":u,"data-state":p,"data-value":v,"data-max":d,"data-min":u,asChild:g,ref:t,...f})}));x.displayName="ProgressIndicator";const g="Progress",f=s(((e,s)=>(console.warn("Direct usage of Progress is not supported. Please use Progress.Root, Progress.Indicator, etc. instead."),a(v,{ref:s,...e}))));f.displayName=g,f.Root=v,f.Indicator=x;export{g as COMPONENT_NAME,f as default};
1
+ 'use client';import{jsx as a}from"react/jsx-runtime";import{createContext as e,forwardRef as s,useContext as t}from"react";import{u as o,c as r}from"./useComponentClass-C0isGl1z.js";import{P as l}from"./index-XF8itt-H.js";import"./ThemeContext-Sm-iNANd.js";import"./mergeProps-0RucjqeH.js";const i=e({value:0,minValue:0,maxValue:100,rootClass:"",ariaLabel:"",state:"loading"}),d="Progress",n="loading",m="complete",u="indeterminate",c=s((({value:e=0,minValue:s=0,maxValue:t=100,children:c,customRootClass:v,getValueLabel:p,className:g,...x},C)=>{const f=o(v,d),h=null===e,P=h?void 0:p?.(e,s,t),V=P??"",b=((a,e)=>null===a?u:a>=e?m:n)(e,t),N=void 0!==x["aria-label"]||void 0!==x["aria-labelledby"],y={value:e,minValue:s,maxValue:t,rootClass:f,getValueLabel:p,ariaLabel:V,state:b},{asChild:j,...I}=x;return a(i.Provider,{value:y,children:a(l.div,{role:"progressbar","aria-label":N?void 0:P||void 0,"aria-valuetext":P||void 0,"aria-valuenow":h?void 0:e,"aria-valuemin":s,"aria-valuemax":t,"data-state":b,"data-value":h?void 0:e,"data-max":t,"data-min":s,className:r(f,g),asChild:j,ref:C,...I,children:c})})}));c.displayName=d;const v=s((({className:e,style:s,...o},d)=>{const{value:n,minValue:m,maxValue:u,rootClass:c,state:v}=t(i),p=null===n,g=Math.min(Math.max(n??0,m),u),x=u-m,C=x>0?(g-m)/x*100:0,{asChild:f,...h}=o;return a(l.div,{className:r(c&&`${c}-indicator`,e),style:p?s:{transform:`translateX(-${100-C}%)`,...s},"data-state":v,"data-value":p?void 0:g,"data-max":u,"data-min":m,asChild:f,ref:d,...h})}));v.displayName="ProgressIndicator";const p="Progress",g=s(((e,s)=>(console.warn("Direct usage of Progress is not supported. Please use Progress.Root, Progress.Indicator, etc. instead."),a(c,{ref:s,...e}))));g.displayName=p,g.Root=c,g.Indicator=v;export{p as COMPONENT_NAME,v as Indicator,c as Root,g as default};
@@ -1 +1 @@
1
- 'use client';import{jsx as t}from"react/jsx-runtime";import o from"react";import{u as r}from"./useComponentClass-QwNivz0h.js";import{c as e}from"./index-eAZUMNef.js";import{c as s}from"./clsx-BaVHROc5.js";import"./ThemeContext-Sm-iNANd.js";const a="Quote",m=o.forwardRef((({children:o,customRootClass:m,className:c,truncate:i=!1,...n},f)=>{const u=r(m,a),l=e("quote",{truncate:i||void 0});return t("q",{ref:f,className:s(u,c),...l,...n,children:o})}));m.displayName=a;export{m as default};
1
+ 'use client';import{jsx as t}from"react/jsx-runtime";import e from"react";import{u as o,c as r}from"./useComponentClass-C0isGl1z.js";import{c as s}from"./index-eAZUMNef.js";import"./ThemeContext-Sm-iNANd.js";const a="Quote",m=e.forwardRef((({children:e,customRootClass:m,className:c,truncate:i=!1,...n},u)=>{const f=o(m,a),l=s("quote",{truncate:i||void 0});return t("q",{ref:u,className:r(f,c),...l,...n,children:e})}));m.displayName=a;export{m as default};
@@ -1 +1 @@
1
- 'use client';import{jsx as e}from"react/jsx-runtime";import a from"react";import{P as s}from"./index-m6qHOeQ9.js";import{c as i}from"./clsx-BaVHROc5.js";import{u as r}from"./useComponentClass-QwNivz0h.js";import{c as d,a as o,b as t}from"./index-eAZUMNef.js";import"./mergeProps-B9ocQsG4.js";import"./ThemeContext-Sm-iNANd.js";const m=a.forwardRef((({name:a,value:i,id:r,checked:d,required:o,onChange:t,disabled:m,asChild:n,className:c,...l},u)=>e(s.input,{ref:u,type:"radio",checked:d,name:a,tabIndex:-1,value:i,onChange:t,id:r,"aria-disabled":m,disabled:m,required:o,"aria-required":o,asChild:n,className:c,...l})));m.displayName="RadioPrimitive";const n="Radio",c=a.forwardRef((function({name:s,value:c,id:l,checked:u=!1,required:f,onChange:p,disabled:h,asChild:C,className:b,customRootClass:j,variant:v="",size:x="",color:N="",...g},k){const q=r(j,n),[R,y]=a.useState(u),P=d("button",{variant:v,size:x}),w=t(N),z=o(P,w);return e(m,{ref:k,name:s,id:l,value:c,checked:R,required:f,onChange:()=>{p&&p(),y(!R)},disabled:h,asChild:C,className:i(q,b),"data-checked":R,...z,...g})}));c.displayName=n;export{c as default};
1
+ 'use client';import{jsx as e}from"react/jsx-runtime";import a from"react";import{P as r}from"./index-XF8itt-H.js";import{u as s,c as o}from"./useComponentClass-C0isGl1z.js";import{c as t,a as i,b as d}from"./index-eAZUMNef.js";import{u as n}from"./index-wRElCyvx.js";import{m}from"./mergeRefs-B8eZ_q-T.js";import"./mergeProps-0RucjqeH.js";import"./ThemeContext-Sm-iNANd.js";const c=a.forwardRef((({name:a,value:s,id:o,checked:t,required:i,onChange:d,disabled:n,asChild:m,className:c,...l},u)=>e(r.input,{ref:u,type:"radio",checked:t,name:a,value:s,onChange:d,id:o,"aria-disabled":n,disabled:n,required:i,"aria-required":i,asChild:m,className:c,...l})));c.displayName="RadioPrimitive";const l="Radio",u=a.forwardRef((function({name:r,value:u,id:f,checked:h,defaultChecked:p,required:C,onChange:v,disabled:g,asChild:b,className:j,customRootClass:k,variant:R="",size:x="",color:N="",...q},y){const E=s(k,l),w=a.useRef(null),L=void 0!==h,[P,z]=n(h,Boolean(p),(()=>{v?.()}));a.useEffect((()=>{const e=w.current;if(L||!e||!r)return;const a=e.ownerDocument,s=a=>{const s=a.target;s!==e&&s instanceof HTMLInputElement&&"radio"===s.type&&s.name===r&&s.form===e.form&&z(!1)};return a.addEventListener("change",s,!0),()=>a.removeEventListener("change",s,!0)}),[L,r,z]);const T=t("button",{variant:R,size:x}),B=d(N),D=i(T,B,{"data-slot":"radio-root","data-state":P?"checked":"unchecked","data-disabled":g?"":void 0});return e(c,{ref:m(y,w),name:r,id:f,value:u,checked:P,required:C,onChange:()=>{P||z(!0)},disabled:g,asChild:b,className:o(E,j),...q,"data-checked":P,...D})}));u.displayName=l;export{u as default};
@@ -39,5 +39,5 @@ interface RadioCardsComponent extends ForwardRefExoticComponent<RadioCardsProps
39
39
  }
40
40
  declare const RadioCards: RadioCardsComponent;
41
41
 
42
- export { RadioCards as default };
42
+ export { RadioCardsItem as Item, RadioCardsRoot as Root, RadioCards as default };
43
43
  export type { RadioCardsElement, RadioCardsItemProps, RadioCardsProps, RadioCardsRootProps };
@@ -1 +1 @@
1
- 'use client';import{createContext as o,forwardRef as s,useContext as a}from"react";import{jsx as r}from"react/jsx-runtime";import{R as e}from"./RadioGroupPrimitive-CcvI-_wm.js";import{c as t}from"./clsx-BaVHROc5.js";import{u as i}from"./useComponentClass-QwNivz0h.js";import{c as m,a as d,b as n}from"./index-eAZUMNef.js";import"./index-m6qHOeQ9.js";import"./mergeProps-B9ocQsG4.js";import"./index-DOVR6Rd5.js";import"./index-gM8bbyw1.js";import"./mergeRefs-B8eZ_q-T.js";import"./index-wRElCyvx.js";import"./ThemeContext-Sm-iNANd.js";const l=o({rootClass:""}),c=s((({children:o,className:s="",customRootClass:a="",variant:c="",size:p="",color:u="",orientation:R="both",...C},f)=>{const j=i(a,"RadioCards"),x=m("radio-cards",{variant:c,size:p}),h=n(u),v=d(x,h);return r(l.Provider,{value:{rootClass:j},children:r(e.Root,{ref:f,className:t(j,s),...C,...v,orientation:R,children:o})})}));c.displayName="RadioCardsRoot";const p=s((({children:o,className:s="",value:i,...m},d)=>{const{rootClass:n}=a(l);return r(e.Item,{ref:d,className:t(n&&`${n}-item`,s),...m,value:i,children:o})}));p.displayName="RadioCardsItem";const u=s(((o,s)=>(console.warn("Direct usage of RadioCards is not supported. Please use RadioCards.Root and RadioCards.Item instead."),null)));u.displayName="RadioCards",u.Root=c,u.Item=p;export{u as default};
1
+ 'use client';import{createContext as o,forwardRef as s,useContext as a}from"react";import{jsx as r}from"react/jsx-runtime";import{R as e}from"./RadioGroupPrimitive-D1PP4y2M.js";import{u as t,c as i}from"./useComponentClass-C0isGl1z.js";import{c as m,a as d,b as n}from"./index-eAZUMNef.js";import"./index-XF8itt-H.js";import"./mergeProps-0RucjqeH.js";import"./index-C7dBo_Ry.js";import"./index-FITGoHty.js";import"./keyboard-BKF7hXqL.js";import"./mergeRefs-B8eZ_q-T.js";import"./index-wRElCyvx.js";import"./index-CXzybYmm.js";import"./ThemeContext-Sm-iNANd.js";const l=o({rootClass:""}),c=s((({children:o,className:s="",customRootClass:a="",variant:c="",size:p="",color:R="",orientation:u="both",...j},C)=>{const f=t(a,"RadioCards"),x=m("radio-cards",{variant:c,size:p}),h=n(R),v=d(x,h);return r(l.Provider,{value:{rootClass:f},children:r(e.Root,{ref:C,className:i(f,s),...j,...v,orientation:u,children:o})})}));c.displayName="RadioCardsRoot";const p=s((({children:o,className:s="",value:t,...m},d)=>{const{rootClass:n}=a(l);return r(e.Item,{ref:d,className:i(n&&`${n}-item`,s),...m,value:t,children:o})}));p.displayName="RadioCardsItem";const R=s(((o,s)=>(console.warn("Direct usage of RadioCards is not supported. Please use RadioCards.Root and RadioCards.Item instead."),null)));R.displayName="RadioCards",R.Root=c,R.Item=p;export{p as Item,c as Root,R as default};
@@ -47,5 +47,5 @@ type RadioGroupComponent = React.ForwardRefExoticComponent<RadioGroupProps & Rea
47
47
  };
48
48
  declare const RadioGroup: RadioGroupComponent;
49
49
 
50
- export { RadioGroup as default };
50
+ export { RadioGroupIndicator as Indicator, RadioGroupItem as Item, RadioGroupLabel as Label, RadioGroupRoot as Root, RadioGroup as default };
51
51
  export type { RadioGroupElement, RadioGroupProps, RadioGroupRootProps };
@@ -1 +1 @@
1
- 'use client';import o,{createContext as r,useContext as a}from"react";import{jsx as e,jsxs as s}from"react/jsx-runtime";import{R as t}from"./RadioGroupPrimitive-CcvI-_wm.js";import{c as i}from"./clsx-BaVHROc5.js";import{u as l}from"./useComponentClass-QwNivz0h.js";import{c as d,a as m,b as n}from"./index-eAZUMNef.js";import{P as c}from"./index-m6qHOeQ9.js";import"./index-DOVR6Rd5.js";import"./index-gM8bbyw1.js";import"./mergeRefs-B8eZ_q-T.js";import"./index-wRElCyvx.js";import"./ThemeContext-Sm-iNANd.js";import"./mergeProps-B9ocQsG4.js";const p=r({rootClass:""}),u=o.forwardRef((({children:o,className:r="",customRootClass:a="",variant:c="",size:u="",color:f="",...R},C)=>{const N=l(a,"RadioGroup"),h=d("radio-group",{variant:c,size:u}),j=n(f),x=m(h,j);return e(p.Provider,{value:{rootClass:N},children:s(t.Root,{ref:C,className:i(N&&`${N}-root`,r),...x,...R,children:[" ",o," "]})})}));u.displayName="RadioGroupRoot";const f=o.forwardRef((({children:o,className:r="",value:s,...l},d)=>{const{rootClass:m}=a(p);return e(t.Item,{ref:d,className:i(m&&`${m}-item`,r),value:s,...l,children:o})}));f.displayName="RadioGroupItem";const R=o.forwardRef((({className:r="",children:a,...s},l)=>{const{rootClass:d}=o.useContext(p);return e(t.Indicator,{ref:l,className:i(d&&`${d}-indicator`,r),...s,children:a})}));R.displayName="RadioGroupIndicator";const C=o.forwardRef((({className:r="",asChild:a=!1,children:e,...t},l)=>{const{rootClass:d}=o.useContext(p);return s(c.label,{ref:l,...t,className:i(d&&`${d}-label`,r),asChild:a,children:[" ",e," "]})}));C.displayName="RadioGroupLabel";const N=o.forwardRef(((o,r)=>(console.warn("Direct usage of RadioGroup is not supported. Please use RadioGroup.Root and RadioGroup.Item instead."),null)));N.displayName="RadioGroup",N.Root=u,N.Item=f,N.Indicator=R,N.Label=C;export{N as default};
1
+ 'use client';import o,{createContext as a,useContext as r}from"react";import{jsx as s,jsxs as e}from"react/jsx-runtime";import{R as t}from"./RadioGroupPrimitive-D1PP4y2M.js";import{u as i,c as d}from"./useComponentClass-C0isGl1z.js";import{c as l,a as n,b as m}from"./index-eAZUMNef.js";import{P as c}from"./index-XF8itt-H.js";import"./index-C7dBo_Ry.js";import"./index-FITGoHty.js";import"./keyboard-BKF7hXqL.js";import"./mergeRefs-B8eZ_q-T.js";import"./index-wRElCyvx.js";import"./index-CXzybYmm.js";import"./ThemeContext-Sm-iNANd.js";import"./mergeProps-0RucjqeH.js";const p=a({rootClass:""}),u=o.forwardRef((({children:o,className:a="",customRootClass:r="",variant:c="",size:u="",color:f="",...R},j)=>{const C=i(r,"RadioGroup"),N=l("radio-group",{variant:c,size:u}),h=m(f),x=n(N,h,{"data-slot":"radio-group-root"});return s(p.Provider,{value:{rootClass:C},children:e(t.Root,{ref:j,className:d(C&&`${C}-root`,a),...x,...R,children:[" ",o," "]})})}));u.displayName="RadioGroupRoot";const f=o.forwardRef((({children:o,className:a="",value:e,...i},l)=>{const{rootClass:n}=r(p);return s(t.Item,{ref:l,className:d(n&&`${n}-item`,a),value:e,"data-slot":"radio-group-item",...i,children:o})}));f.displayName="RadioGroupItem";const R=o.forwardRef((({className:a="",children:r,...e},i)=>{const{rootClass:l}=o.useContext(p);return s(t.Indicator,{ref:i,className:d(l&&`${l}-indicator`,a),"data-slot":"radio-group-indicator",...e,children:r})}));R.displayName="RadioGroupIndicator";const j=o.forwardRef((({className:a="",asChild:r=!1,children:e,...t},i)=>{const{rootClass:l}=o.useContext(p);return s(c.label,{ref:i,"data-slot":"radio-group-label",...t,className:d(l&&`${l}-label`,a),asChild:r,children:e})}));j.displayName="RadioGroupLabel";const C=o.forwardRef(((o,a)=>(console.warn("Direct usage of RadioGroup is not supported. Please use RadioGroup.Root and RadioGroup.Item instead."),null)));C.displayName="RadioGroup",C.Root=u,C.Item=f,C.Indicator=R,C.Label=j;export{R as Indicator,f as Item,j as Label,u as Root,C as default};
@@ -0,0 +1 @@
1
+ 'use client';import e,{useContext as r}from"react";import{jsxs as o,jsx as t}from"react/jsx-runtime";import{P as i}from"./index-XF8itt-H.js";import{R as a,a as d}from"./index-C7dBo_Ry.js";import{u as n}from"./index-wRElCyvx.js";import{c as s}from"./index-CXzybYmm.js";import{K as l}from"./keyboard-BKF7hXqL.js";import{B as u}from"./index-FITGoHty.js";const c=e.createContext(null),p=[l.ARROW_UP,l.ARROW_DOWN,l.ARROW_LEFT,l.ARROW_RIGHT,l.HOME,l.END],m={position:"absolute",width:1,height:1,opacity:0,pointerEvents:"none",margin:0},f=e.forwardRef((({value:r,defaultValue:d="",onValueChange:l,children:u,disabled:f=!1,required:h=!1,name:R="",orientation:v="horizontal",loop:b=!0,dir:y="ltr",onKeyDownCapture:C,onKeyUpCapture:w,...I},N)=>{const[g,D]=n(r,d,l),k=e.useRef(!1),x=e.useRef(null),E=e.useRef(d);e.useEffect((()=>{const e=x.current?.form;if(!e)return;const r=()=>D(E.current);return e.addEventListener("reset",r),()=>e.removeEventListener("reset",r)}),[D,R,h]);const G={selectedValue:g,setSelectedValue:D,groupDisabled:f,isNavigatingWithKeyboardRef:k},P=""===g||null==g;return o(i.div,{ref:N,...I,onKeyDownCapture:s(C,(e=>{k.current=p.includes(e.key)}),{checkForDefaultPrevented:!1}),onKeyUpCapture:s(w,(()=>{k.current=!1}),{checkForDefaultPrevented:!1}),"aria-required":h,role:"radiogroup","aria-orientation":"both"===v?void 0:v,"aria-disabled":f,"data-disabled":f?"":void 0,children:[t(a.Root,{dir:y,orientation:v,loop:b,asChild:!0,children:t(c.Provider,{value:G,children:t(a.Group,{children:u})})}),R&&t("input",{ref:x,type:"hidden",name:R,value:g,disabled:f}),h&&t("input",{ref:R?void 0:x,type:"radio",checked:!P,onChange:()=>{},disabled:f,required:!0,"aria-hidden":"true",tabIndex:-1,style:m})]})}));f.displayName="RadioGroupPrimitiveRoot";const h=e.createContext({itemSelected:!1}),R=e.forwardRef((({value:o,children:i,disabled:n,required:p,className:m="",asChild:f=!1,onClick:R,onFocus:v,onKeyDown:b,...y},C)=>{const w=r(c);if(!w)throw new Error("RadioGroup.Item must be used within a RadioGroup.Root");const{groupDisabled:I,selectedValue:N,setSelectedValue:g,isNavigatingWithKeyboardRef:D}=w,{setFocusedItemId:k}=r(d),x=e.useId(),E=o===N,G=Boolean(I||n);e.useEffect((()=>{E&&!G&&k(x)}),[E,G,x,k]);const P=()=>{G||g(o)};return t(h.Provider,{value:{itemSelected:E},children:t(a.Item,{domId:x,children:t(u,{ref:C,role:"radio",type:"button",disabled:G,onClick:s(R,P),onFocus:s(v,(()=>{D?.current&&P()})),onKeyDown:s(b,(e=>{e.key===l.ENTER&&e.preventDefault()})),"aria-disabled":G,"aria-checked":E,"aria-selected":void 0,"data-state":E?"checked":"unchecked","data-disabled":G?"":void 0,asChild:f,className:m,...y,children:i})})})}));R.displayName="RadioGroupPrimitiveItem";const v=e.forwardRef((({children:r,className:o,asChild:a=!1,...d},n)=>{const{itemSelected:s}=e.useContext(h);return s?t(i.span,{ref:n,className:o,asChild:a,...d,children:r}):null}));v.displayName="RadioGroupPrimitiveIndicator";const b=e.forwardRef(((e,r)=>(console.warn("Direct usage of RadioGroup is not supported. Please use RadioGroup.Root, RadioGroup.Item, etc. instead."),null)));b.displayName="RadioGroupPrimitive",b.Root=f,b.Item=R,b.Indicator=v;export{b as R};
@@ -1,12 +1,16 @@
1
1
  import React, { ComponentPropsWithoutRef } from 'react';
2
2
 
3
+ type ScrollAreaScrollbarType = 'auto' | 'always' | 'scroll' | 'hover';
4
+
3
5
  type ScrollAreaRootProps = ComponentPropsWithoutRef<'div'> & {
4
6
  customRootClass?: string;
5
- type?: 'auto' | 'always' | 'scroll' | 'hover';
7
+ /** Controls scrollbar and thumb visibility: always, on scroll (1s fade), on hover + scroll, or when overflowing (auto). */
8
+ type?: ScrollAreaScrollbarType;
6
9
  };
7
10
  declare const ScrollAreaRoot: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
8
11
  customRootClass?: string;
9
- type?: "auto" | "always" | "scroll" | "hover";
12
+ /** Controls scrollbar and thumb visibility: always, on scroll (1s fade), on hover + scroll, or when overflowing (auto). */
13
+ type?: ScrollAreaScrollbarType;
10
14
  } & React.RefAttributes<HTMLDivElement>>;
11
15
 
12
16
  type ScrollAreaViewportProps = ComponentPropsWithoutRef<'div'>;
@@ -38,5 +42,5 @@ declare const ScrollArea: React.ForwardRefExoticComponent<ScrollAreaProps> & {
38
42
  Corner: typeof ScrollAreaCorner;
39
43
  };
40
44
 
41
- export { ScrollArea as default };
42
- export type { ScrollAreaCornerProps, ScrollAreaRootProps, ScrollAreaScrollbarProps, ScrollAreaThumbProps, ScrollAreaViewportProps };
45
+ export { ScrollAreaCorner as Corner, ScrollAreaRoot as Root, ScrollAreaScrollbar as Scrollbar, ScrollAreaThumb as Thumb, ScrollAreaViewport as Viewport, ScrollArea as default };
46
+ export type { ScrollAreaCornerProps, ScrollAreaRootProps, ScrollAreaScrollbarProps, ScrollAreaScrollbarType, ScrollAreaThumbProps, ScrollAreaViewportProps };
@@ -1 +1 @@
1
- 'use client';import e,{createContext as t,forwardRef as r,useRef as n,useEffect as c,useContext as l,useCallback as o}from"react";import{jsx as s}from"react/jsx-runtime";import{c as i}from"./clsx-BaVHROc5.js";import{u}from"./useComponentClass-QwNivz0h.js";import"./ThemeContext-Sm-iNANd.js";const a=t({rootClass:"",type:"hover"}),d="ScrollArea",f=r((({children:t,className:r="",customRootClass:l="",type:o="hover",...f},m)=>{const h=u(l,d),v=n(null),p=n(null),y=n(null),b=n(null),[g,w]=e.useState({x:!1,y:!1});c((()=>{L()}),[p,y,b]),c((()=>{const e=b.current;if(!e)return;const t=()=>{L()},r=new ResizeObserver((()=>t()));r.observe(e),Array.from(e.children).forEach((e=>r.observe(e)));const n=new MutationObserver((()=>{t()}));return n.observe(e,{childList:!0,subtree:!0}),window.addEventListener("resize",t),()=>{r.disconnect(),n.disconnect(),window.removeEventListener("resize",t)}}),[]);const L=()=>{if(!b.current)return;const e=b.current,t=e.clientHeight,r=e.scrollHeight,n=r>t;if(p.current)if(t<=0)p.current.style.height="0px";else if(n){let e=t/(r/t);e=Math.max(e,24),p.current.style.height=`${e}px`}else p.current.style.height=`${t}px`;const c=e.clientWidth,l=e.scrollWidth,o=l>c;if(y.current)if(c<=0)y.current.style.width="0px";else if(o){let e=c/(l/c);e=Math.max(e,24),y.current.style.width=`${e}px`}else y.current.style.width=`${c}px`;w({x:o,y:n})},T=e=>{if(!b.current)return;const t=b.current,r=t.scrollTop,n=t.scrollLeft,c=void 0!==e.top?e.top-r:0,l=void 0!==e.left?e.left-n:0,o=performance.now(),s=i=>{const u=i-o,a=Math.min(u/150,1),d=1-Math.pow(1-a,3);void 0!==e.top&&(t.scrollTop=r+c*d),void 0!==e.left&&(t.scrollLeft=n+l*d),a<1&&requestAnimationFrame(s)};requestAnimationFrame(s)};return s(a.Provider,{value:{rootClass:h,scrollYThumbRef:p,scrollXThumbRef:y,scrollAreaViewportRef:b,handleScroll:()=>{if(!b.current)return;const e=b.current;if(p.current){const t=e.clientHeight,r=e.scrollHeight,n=e.scrollTop,c=p.current.clientHeight;if(t<=0||r<=t)p.current.style.top="0px";else{const e=n/(r-t)*(t-c);p.current.style.top=`${e}px`}}if(y.current){const t=e.clientWidth,r=e.scrollWidth,n=e.scrollLeft,c=y.current.clientWidth;if(t<=0||r<=t)y.current.style.left="0px";else{const e=n/(r-t)*(t-c);y.current.style.left=`${e}px`}}},handleScrollbarClick:e=>{if(!b.current)return;const t=b.current;if("vertical"===e.orientation&&void 0!==e.clientY){const r=p.current;if(!r)return;if(t.clientHeight<=0||t.scrollHeight<=t.clientHeight)return;const n=r.getBoundingClientRect(),c=t.scrollHeight/t.clientHeight;e.clientY<n.top?T({top:t.scrollTop-r.clientHeight*c}):e.clientY>n.bottom&&T({top:t.scrollTop+r.clientHeight*c})}else if("horizontal"===e.orientation&&void 0!==e.clientX){const r=y.current;if(!r)return;if(t.clientWidth<=0||t.scrollWidth<=t.clientWidth)return;const n=r.getBoundingClientRect(),c=t.scrollWidth/t.clientWidth;e.clientX<n.left?T({left:t.scrollLeft-r.clientWidth*c}):e.clientX>n.right&&T({left:t.scrollLeft+r.clientWidth*c})}},type:o,rootRef:v},children:s("div",{ref:e=>{v.current=e,"function"==typeof m?m(e):m&&(m.current=e)},className:i(h,r),"data-scrollbar-x":String(g.x||"always"===o),"data-scrollbar-y":String(g.y||"always"===o),...f,children:t})})}));f.displayName=d;const m=r((({children:e,className:t="",...r},n)=>{const{rootClass:c,scrollAreaViewportRef:o,handleScroll:u}=l(a);return s("div",{ref:e=>{o&&(o.current=e),"function"==typeof n?n(e):n&&(n.current=e)},className:i(c&&`${c}-viewport`,t),onScroll:u,...r,children:e})}));m.displayName="ScrollAreaViewport";const h=r((({children:t,className:r="",orientation:c="vertical",...o},u)=>{const{rootClass:d,handleScrollbarClick:f,scrollXThumbRef:m,scrollYThumbRef:h,type:v,scrollAreaViewportRef:p,rootRef:y}=l(a),b=n(null),g=n(!1),w=n(null),[L,T]=e.useState(!1),x=n(0),[E,S]=e.useState("always"===v),[C,R]=e.useState(!1),A=n(null),H=e.useCallback((()=>{"scroll"!==v&&"hover"!==v||(S(!0),A.current&&clearTimeout(A.current),A.current=setTimeout((()=>{S(!1)}),1e3))}),[v]);e.useEffect((()=>{if("always"===v||"auto"===v)return;const e=p?.current;if(!e)return;const t=()=>H();return e.addEventListener("scroll",t),()=>{e.removeEventListener("scroll",t),A.current&&clearTimeout(A.current)}}),[v,p,H]),e.useEffect((()=>{if("hover"!==v)return;const e=y?.current;if(!e)return;const t=()=>{A.current&&clearTimeout(A.current),S(!0)},r=()=>{A.current&&clearTimeout(A.current),A.current=setTimeout((()=>{S(!1)}),500)};return e.addEventListener("mouseenter",t),e.addEventListener("mouseleave",r),()=>{e.removeEventListener("mouseenter",t),e.removeEventListener("mouseleave",r)}}),[v,y]),e.useEffect((()=>{const e=p?.current;if(!e)return;const t=()=>{const t="vertical"===c?e.scrollHeight>e.clientHeight:e.scrollWidth>e.clientWidth;R(t)};t();const r=new ResizeObserver(t);return r.observe(e),Array.from(e.children).forEach((e=>r.observe(e))),()=>r.disconnect()}),[p,c]);const W=e.useCallback((e=>{const t="vertical"===c?h?.current:m?.current;if(!t)return!1;const r=t.getBoundingClientRect();return"vertical"===c?e<r.top||e>r.bottom:e<r.left||e>r.right}),[c,m,h]),N=e.useCallback((e=>{f&&(e.preventDefault(),x.current="vertical"===c?e.clientY:e.clientX,f({clientY:e.clientY,clientX:e.clientX,orientation:c}),setTimeout((()=>{g.current&&(b.current=setInterval((()=>{g.current&&W(x.current)?f({clientY:"vertical"===c?x.current:void 0,clientX:"horizontal"===c?x.current:void 0,orientation:c}):M()}),50))}),300),g.current=!0,T(!0))}),[f,c,W]),M=e.useCallback((()=>{g.current=!1,w.current?.(),w.current=null,b.current&&(clearInterval(b.current),b.current=null),T(!1)}),[]);e.useEffect((()=>{if(!g.current)return()=>{w.current?.(),M()};const e=()=>M(),t=()=>M();return document.addEventListener("mouseup",e),document.addEventListener("mouseleave",t),w.current=()=>{document.removeEventListener("mouseup",e),document.removeEventListener("mouseleave",t)},()=>{w.current?.(),w.current=null,M()}}),[L,M]);const X="always"===v||"auto"===v&&C||C&&E,Y=C||"always"===v;return s("div",{ref:u,className:i(d&&`${d}-scrollbar`,r),"data-orientation":c,"data-state":X?"visible":"hidden",style:{display:Y?void 0:"none",...o.style},onMouseDown:N,onMouseUp:M,onMouseLeave:M,...o,children:t})}));h.displayName="ScrollAreaScrollbar";const v=r((({children:t,className:r="",orientation:c="vertical",...u},d)=>{const{rootClass:f,scrollXThumbRef:m,scrollYThumbRef:h,scrollAreaViewportRef:v}=l(a),p=n(!1),y=n({x:0,y:0,scrollTop:0,scrollLeft:0}),b=o((e=>{v?.current&&(e.preventDefault(),e.stopPropagation(),p.current=!0,y.current={x:e.clientX,y:e.clientY,scrollTop:v.current.scrollTop,scrollLeft:v.current.scrollLeft},document.body.style.userSelect="none",document.body.style.cursor="grabbing")}),[v]),g=o((e=>{if(!p.current||!v?.current)return;const t=v.current,r="vertical"===c?h?.current:m?.current,n=r?.parentElement?.getBoundingClientRect();if(r&&n)if("vertical"===c){const c=(e.clientY-y.current.y)/(n.height-r.clientHeight),l=t.scrollHeight-t.clientHeight,o=y.current.scrollTop+c*l;t.scrollTop=Math.max(0,Math.min(o,l))}else{const c=(e.clientX-y.current.x)/(n.width-r.clientWidth),l=t.scrollWidth-t.clientWidth,o=y.current.scrollLeft+c*l;t.scrollLeft=Math.max(0,Math.min(o,l))}}),[c,v,m,h]),w=o((()=>{p.current=!1,document.body.style.cursor="",document.body.style.userSelect=""}),[]);e.useEffect((()=>{const e=e=>g(e),t=()=>w();return document.addEventListener("mousemove",e),document.addEventListener("mouseup",t),()=>{document.removeEventListener("mousemove",e),document.removeEventListener("mouseup",t),w()}}),[g,w]);return s("div",{ref:e=>{const t="vertical"===c?h:m;t&&(t.current=e),"function"==typeof d?d(e):d&&(d.current=e)},className:i(f&&`${f}-thumb`,r),onMouseDown:b,...u,children:t})}));v.displayName="ScrollAreaThumb";const p=r((({children:e,className:t,...r},n)=>{const{rootClass:c}=l(a);return s("div",{ref:n,className:i(c&&`${c}-corner`,t),...r,children:e})}));p.displayName="ScrollAreaCorner";const y=e.forwardRef(((e,t)=>(console.warn("Direct usage of ScrollArea is not supported. Please use ScrollArea.Root and ScrollArea.Viewport instead."),null)));y.Root=f,y.Viewport=m,y.Scrollbar=h,y.Thumb=v,y.Corner=p,y.displayName="ScrollArea";export{y as default};
1
+ 'use client';import e,{createContext as t,useState as r,useRef as n,useCallback as o,useEffect as l,forwardRef as c,useContext as i,useLayoutEffect as s}from"react";import{jsx as a}from"react/jsx-runtime";import{u,c as d}from"./useComponentClass-C0isGl1z.js";import{i as f,s as h,D as m}from"./documentOverlayOpen-coyGmcyL.js";import"./ThemeContext-Sm-iNANd.js";const v=t({rootClass:"",type:"hover",scrollbarVisible:!1,overflow:{x:!1,y:!1},overlaySuppressesScrollbar:!1,scrollbarsMounted:{x:!1,y:!1}}),p=t(void 0);function y(e,t,r){if(!e)return r;const n="vertical"===t?e.clientHeight:e.clientWidth;if(n<=0)return r;let o=0,l=0;if("undefined"!=typeof window&&"function"==typeof window.getComputedStyle){const r=window.getComputedStyle(e);o=parseFloat("vertical"===t?r.paddingTop:r.paddingLeft)||0,l=parseFloat("vertical"===t?r.paddingBottom:r.paddingRight)||0}return Math.max(0,n-o-l)}const b=new Set(["A","BUTTON","INPUT","SELECT","TEXTAREA","IFRAME","AUDIO","VIDEO","SUMMARY"]);function g(e){if(!(e instanceof HTMLElement))return!1;const t=e.getAttribute("tabindex");return null!==t?Number(t)>=0:!!e.isContentEditable||!!b.has(e.tagName)&&("A"===e.tagName?e.hasAttribute("href"):"AUDIO"===e.tagName||"VIDEO"===e.tagName?e.hasAttribute("controls"):("INPUT"!==e.tagName||"hidden"!==e.type)&&!e.disabled)}const w="ScrollArea",x=c((({children:t,className:c="",customRootClass:i="",type:s="hover",...p},b)=>{const g=u(i,w),x=n(null),M=n(null),T=n(null),L=n(null),E=n(null),S=n(null),N=n(null),R=n({x:0,y:0}),[A,C]=e.useState({x:!1,y:!1}),[H,W]=e.useState({x:!1,y:!1}),{scrollbarVisible:I,setInteracting:Y}=function(e,t,c){const[i,s]=r("always"===e),a=n(!1),u=n(!1),d=n(null),f=o((()=>{d.current&&(clearTimeout(d.current),d.current=null)}),[]),h=o((()=>{f(),d.current=setTimeout((()=>{a.current||u.current||s(!1)}),1e3)}),[f]),m=o((()=>{"scroll"!==e&&"hover"!==e||(s(!0),"scroll"!==e&&a.current?f():h())}),[e,h,f]);return l((()=>{s("always"===e),f(),a.current=!1}),[e,f]),l((()=>{if("always"===e||"auto"===e)return;const r=t?.current;if(!r)return;const n=()=>m();return r.addEventListener("scroll",n,{passive:!0}),()=>{r.removeEventListener("scroll",n),f()}}),[e,t,m,f]),l((()=>{if("hover"!==e)return;const t=c?.current;if(!t)return;const r=()=>{a.current=!0,f(),s(!0)},n=()=>{a.current=!1,h()};return t.addEventListener("mouseenter",r),t.addEventListener("mouseleave",n),()=>{t.removeEventListener("mouseenter",r),t.removeEventListener("mouseleave",n),f()}}),[e,c,h,f]),l((()=>()=>f()),[f]),{scrollbarVisible:i,setInteracting:o((t=>{u.current=t,"scroll"!==e&&"hover"!==e||(t?(f(),s(!0)):a.current&&"scroll"!==e||h())}),[e,f,h])}}(s,L,x),X=function(){const[t,r]=e.useState((()=>f()));return e.useEffect((()=>{const e=()=>{r(f())},t=h(e),n=new MutationObserver(e);return n.observe(document.documentElement,{attributes:!0,attributeFilter:[m]}),n.observe(document.body,{attributes:!0,attributeFilter:["style"]}),()=>{t(),n.disconnect()}}),[]),t}();l((()=>{D()}),[M,T,L]),l((()=>{const e=L.current;if(!e)return;const t=()=>{D(),V()},r=new ResizeObserver((()=>t())),n=()=>{r.disconnect(),r.observe(e),Array.from(e.children).forEach((e=>{e instanceof Element&&r.observe(e)}))};n();const o=new MutationObserver((r=>{const o=r.some((t=>"childList"===t.type&&t.target===e&&(t.addedNodes.length>0||t.removedNodes.length>0)));o&&(e.scrollTop=0,e.scrollLeft=0,n()),t(),o&&V()}));return o.observe(e,{childList:!0,subtree:!1}),window.addEventListener("resize",t),()=>{r.disconnect(),o.disconnect(),window.removeEventListener("resize",t)}}),[]);const D=()=>{if(!L.current)return;const e=L.current,t=e.clientHeight,r=e.scrollHeight,n=r>t;if(M.current){const e=y(E.current,"vertical",t);if(t<=0)M.current.style.height="0px";else if(n){const n=Math.min(e,Math.max(e*(t/r),24));M.current.style.height=`${n}px`}else M.current.style.height=`${e}px`}const o=e.clientWidth,l=e.scrollWidth,c=l>o;if(T.current){const e=y(S.current,"horizontal",o);if(o<=0)T.current.style.width="0px";else if(c){const t=Math.min(e,Math.max(e*(o/l),24));T.current.style.width=`${t}px`}else T.current.style.width=`${e}px`}W((e=>e.x===c&&e.y===n?e:{x:c,y:n}))},V=()=>{if(!L.current)return;const e=L.current;if(M.current){const t=e.clientHeight,r=e.scrollHeight,n=e.scrollTop,o=M.current.clientHeight,l=y(E.current,"vertical",t);if(t<=0||r<=t)M.current.style.top="0px";else{const e=Math.min(1,Math.max(0,n/(r-t)))*Math.max(0,l-o);M.current.style.top=`${e}px`}}if(T.current){const t=e.clientWidth,r=e.scrollWidth,n=e.scrollLeft,o=T.current.clientWidth,l=y(S.current,"horizontal",t);if(t<=0||r<=t)T.current.style.left="0px";else{const e=Math.min(1,Math.max(0,n/(r-t)))*Math.max(0,l-o);T.current.style.left=`${e}px`}}},F=()=>{D(),V()},O=()=>{null!==N.current&&(cancelAnimationFrame(N.current),N.current=null)};l((()=>O),[]);const P=e=>{if(!L.current)return;const t=L.current;O();const r=Math.max(0,t.scrollHeight-t.clientHeight),n=Math.max(0,t.scrollWidth-t.clientWidth),o=void 0!==e.top?Math.min(r,Math.max(0,e.top)):void 0,l=void 0!==e.left?Math.min(n,Math.max(0,e.left)):void 0;if("undefined"!=typeof window&&"function"==typeof window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches)return void 0!==o&&(t.scrollTop=o),void(void 0!==l&&(t.scrollLeft=l));const c=t.scrollTop,i=t.scrollLeft,s=void 0!==o?o-c:0,a=void 0!==l?l-i:0,u=performance.now(),d=e=>{const r=e-u,n=Math.min(Math.max(r/150,0),1),f=1-Math.pow(1-n,3);void 0!==o&&(t.scrollTop=c+s*f),void 0!==l&&(t.scrollLeft=i+a*f),N.current=n<1?requestAnimationFrame(d):null};N.current=requestAnimationFrame(d)},$=o((e=>{const t="vertical"===e?"y":"x";return R.current[t]+=1,C((e=>e[t]?e:{...e,[t]:!0})),()=>{R.current[t]=Math.max(0,R.current[t]-1),0===R.current[t]&&C((e=>e[t]?{...e,[t]:!1}:e))}}),[]);return l((()=>{F()}),[A.x,A.y,H.x,H.y,s]),a(v.Provider,{value:{rootClass:g,scrollYThumbRef:M,scrollXThumbRef:T,scrollAreaViewportRef:L,handleScroll:V,handleScrollbarClick:e=>{if(!L.current)return;const t=L.current;if("vertical"===e.orientation&&void 0!==e.clientY){const r=M.current;if(!r)return;if(t.clientHeight<=0||t.scrollHeight<=t.clientHeight)return;const n=r.getBoundingClientRect();e.clientY<n.top?P({top:t.scrollTop-t.clientHeight}):e.clientY>n.bottom&&P({top:t.scrollTop+t.clientHeight})}else if("horizontal"===e.orientation&&void 0!==e.clientX){const r=T.current;if(!r)return;if(t.clientWidth<=0||t.scrollWidth<=t.clientWidth)return;const n=r.getBoundingClientRect();e.clientX<n.left?P({left:t.scrollLeft-t.clientWidth}):e.clientX>n.right&&P({left:t.scrollLeft+t.clientWidth})}},type:s,scrollbarVisible:I,overflow:H,overlaySuppressesScrollbar:X,rootRef:x,scrollbarYRef:E,scrollbarXRef:S,registerScrollbar:$,syncThumbs:F,scrollbarsMounted:A,setInteracting:Y},children:a("div",{ref:e=>{x.current=e,"function"==typeof b?b(e):b&&(b.current=e)},className:d(g,c),"data-scrollbar-type":s,"data-scrollbar-x":String(H.x||"always"===s),"data-scrollbar-y":String(H.y||"always"===s),...p,children:t})})}));x.displayName=w;const M=c((({children:e,className:t="",onScroll:n,...o},c)=>{const{rootClass:s,scrollAreaViewportRef:u,handleScroll:f,overflow:h}=i(v),m=h.x||h.y,[p,y]=r(!0);l((()=>{const e=u?.current;if(!e||!m)return;const t=()=>y(function(e){if("undefined"==typeof document)return!1;const t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{const t=e;return t.hidden||"true"===t.getAttribute("aria-hidden")||t.hasAttribute("inert")?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}});let r=t.nextNode();for(;r;){if(g(r))return!0;r=t.nextNode()}return!1}(e));if(t(),"undefined"==typeof MutationObserver)return;const r=new MutationObserver(t);return r.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["tabindex","href","disabled","contenteditable","hidden","inert","aria-hidden","controls","type"]}),()=>r.disconnect()}),[m,u]);return a("div",{tabIndex:m&&!p?0:void 0,...o,ref:e=>{u&&(u.current=e),"function"==typeof c?c(e):c&&(c.current=e)},className:d(s&&`${s}-viewport`,t),onScroll:e=>{f?.(),n?.(e)},children:e})}));M.displayName="ScrollAreaViewport";const T="undefined"!=typeof window?s:l,L=c((({children:e,className:t="",orientation:r="vertical",style:c,onMouseDown:s,onMouseUp:u,onMouseLeave:f,...h},m)=>{const{rootClass:y,handleScrollbarClick:b,scrollXThumbRef:g,scrollYThumbRef:w,scrollbarXRef:x,scrollbarYRef:M,scrollAreaViewportRef:L,registerScrollbar:E,scrollbarsMounted:S,type:N,scrollbarVisible:R,overflow:A,overlaySuppressesScrollbar:C}=i(v),H=n(null),W=n(null),I=n(!1),Y=n(null),X=n(0),D=n(null),V="vertical"===r?A.y:A.x,F="vertical"===r?A.x:A.y,O="vertical"===r?S.x:S.y;T((()=>E?.(r)),[r,E]);const P=o((e=>{D.current=e;const t="vertical"===r?M:x;t&&(t.current=e),"function"==typeof m?m(e):m&&(m.current=e)}),[r,m,x,M]),$=o((e=>{const t="vertical"===r?w?.current:g?.current;if(!t)return!1;const n=t.getBoundingClientRect();return"vertical"===r?e<n.top||e>n.bottom:e<n.left||e>n.right}),[r,g,w]),z=o((()=>{I.current=!1,Y.current?.(),Y.current=null,W.current&&(clearTimeout(W.current),W.current=null),H.current&&(clearInterval(H.current),H.current=null)}),[]),U=o((e=>{if(!b||0!==e.button)return;e.preventDefault(),z(),X.current="vertical"===r?e.clientY:e.clientX,I.current=!0,b({clientY:e.clientY,clientX:e.clientX,orientation:r});const t=e=>{X.current="vertical"===r?e.clientY:e.clientX},n=()=>z();document.addEventListener("mousemove",t),document.addEventListener("mouseup",n),Y.current=()=>{document.removeEventListener("mousemove",t),document.removeEventListener("mouseup",n)},W.current=setTimeout((()=>{W.current=null,I.current&&(H.current=setInterval((()=>{I.current&&$(X.current)?b({clientY:"vertical"===r?X.current:void 0,clientX:"horizontal"===r?X.current:void 0,orientation:r}):z()}),50))}),300)}),[b,r,$,z]);l((()=>z),[z]),l((()=>{const e=D.current;if(!e)return;const t=e=>{const t=L?.current;if(!t)return;const n=1===e.deltaMode?16:2===e.deltaMode?"vertical"===r?t.clientHeight:t.clientWidth:1;if("vertical"===r){const r=e.deltaY*n,o=t.scrollHeight-t.clientHeight;if(!(r<0&&t.scrollTop>0||r>0&&t.scrollTop<o))return;e.preventDefault(),t.scrollTop=Math.min(o,Math.max(0,t.scrollTop+r))}else{const r=(e.deltaX||e.deltaY)*n,o=t.scrollWidth-t.clientWidth;if(!(r<0&&t.scrollLeft>0||r>0&&t.scrollLeft<o))return;e.preventDefault(),t.scrollLeft=Math.min(o,Math.max(0,t.scrollLeft+r))}};return e.addEventListener("wheel",t,{passive:!1}),()=>e.removeEventListener("wheel",t)}),[r,L]);const B=!C&&("always"===N||"auto"===N&&V||V&&("scroll"===N||"hover"===N)&&R),j=V||"always"===N,k=j&&O&&(F||"always"===N);return a("div",{...h,ref:P,className:d(y&&`${y}-scrollbar`,t),"data-orientation":r,"data-state":B?"visible":"hidden","data-corner":k?"":void 0,style:{...c,...j?null:{display:"none"}},onMouseDown:e=>{s?.(e),e.defaultPrevented||U(e)},onMouseUp:e=>{u?.(e),z()},onMouseLeave:e=>{f?.(e),z()},children:a(p.Provider,{value:r,children:e})})}));L.displayName="ScrollAreaScrollbar";const E=c((({children:t,className:r="",orientation:l,onMouseDown:c,onPointerDown:s,style:u,...f},h)=>{const m=i(p),b=l??m??"vertical",{rootClass:g,scrollXThumbRef:w,scrollYThumbRef:x,scrollbarXRef:M,scrollbarYRef:T,scrollAreaViewportRef:L,syncThumbs:E,setInteracting:S,type:N,scrollbarVisible:R,overflow:A,overlaySuppressesScrollbar:C}=i(v),H="vertical"===b?A.y:A.x,W=!C&&("always"===N||"auto"===N&&H||H&&("scroll"===N||"hover"===N)&&R),I=n(!1),Y=n({x:0,y:0,scrollTop:0,scrollLeft:0}),X=n(null),[D,V]=e.useState(!1),F=o((e=>{if(!I.current||!L?.current)return;const t=L.current,r="vertical"===b?x?.current:w?.current;if(!r)return;const n=("vertical"===b?T?.current:M?.current)??r.parentElement;if("vertical"===b){const o=e.clientY-Y.current.y,l=y(n,"vertical",t.clientHeight)-r.clientHeight;if(l<=0)return;const c=t.scrollHeight-t.clientHeight,i=Y.current.scrollTop+o/l*c;t.scrollTop=Math.max(0,Math.min(i,c))}else{const o=e.clientX-Y.current.x,l=y(n,"horizontal",t.clientWidth)-r.clientWidth;if(l<=0)return;const c=t.scrollWidth-t.clientWidth,i=Y.current.scrollLeft+o/l*c;t.scrollLeft=Math.max(0,Math.min(i,c))}}),[b,L,w,x,M,T]),O=o((()=>{(I.current||X.current)&&(I.current=!1,X.current?.(),X.current=null,document.body.style.cursor="",document.body.style.userSelect="",V(!1),S?.(!1))}),[S]),P=o((e=>{if(!L?.current)return;if("mouse"===e.pointerType&&0!==e.button)return;if(!1===e.isPrimary)return;e.preventDefault(),e.stopPropagation(),O(),I.current=!0;const t=e.pointerId;Y.current={x:e.clientX,y:e.clientY,scrollTop:L.current.scrollTop,scrollLeft:L.current.scrollLeft};const r=e=>{void 0!==t&&void 0!==e.pointerId&&e.pointerId!==t||F(e)},n=e=>{void 0!==t&&void 0!==e.pointerId&&e.pointerId!==t||O()};document.addEventListener("pointermove",r),document.addEventListener("pointerup",n),document.addEventListener("pointercancel",n),X.current=()=>{document.removeEventListener("pointermove",r),document.removeEventListener("pointerup",n),document.removeEventListener("pointercancel",n)},document.body.style.userSelect="none",document.body.style.cursor="grabbing",V(!0),S?.(!0)}),[L,F,O,S]);e.useEffect((()=>O),[O]),e.useEffect((()=>{E?.()}),[b]);return a("div",{...f,ref:e=>{const t="vertical"===b?x:w;t&&(t.current=e),"function"==typeof h?h(e):h&&(h.current=e)},className:d(g&&`${g}-thumb`,r),"data-orientation":b,"data-state":W?"visible":"hidden","data-dragging":D?"":void 0,style:{touchAction:"none",...u},onPointerDown:e=>{s?.(e),e.defaultPrevented||P(e)},onMouseDown:e=>{c?.(e),e.stopPropagation()},children:t})}));E.displayName="ScrollAreaThumb";const S=c((({children:e,className:t,style:r,...n},o)=>{const{rootClass:l,scrollbarsMounted:c,overflow:s,type:u}=i(v),f=c.x&&c.y&&("always"===u||s.x&&s.y);return a("div",{...n,ref:o,className:d(l&&`${l}-corner`,t),"data-state":f?"visible":"hidden",style:{...r,...f?null:{display:"none"}},children:e})}));S.displayName="ScrollAreaCorner";const N=e.forwardRef(((e,t)=>(console.warn("Direct usage of ScrollArea is not supported. Please use ScrollArea.Root and ScrollArea.Viewport instead."),null)));N.Root=x,N.Viewport=M,N.Scrollbar=L,N.Thumb=E,N.Corner=S,N.displayName="ScrollArea";export{S as Corner,x as Root,L as Scrollbar,E as Thumb,M as Viewport,N as default};
@@ -93,5 +93,5 @@ interface SelectComponent extends React.ForwardRefExoticComponent<React.RefAttri
93
93
  }
94
94
  declare const Select: SelectComponent;
95
95
 
96
- export { Select as default };
96
+ export { SelectContent as Content, SelectGroup as Group, SelectIndicator as Indicator, SelectItem as Item, SelectPortal as Portal, SelectRoot as Root, SelectTrigger as Trigger, Select as default };
97
97
  export type { SelectContentProps, SelectGroupProps, SelectIndicatorProps, SelectItemProps, SelectPortalProps, SelectRootProps, SelectTriggerProps };
@@ -1 +1 @@
1
- 'use client';import e,{useContext as o}from"react";import{jsx as t}from"react/jsx-runtime";import{C as r}from"./ComboboxPrimitive-BhHSrtiY.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-m6qHOeQ9.js";import"./mergeProps-B9ocQsG4.js";import"./index-CXzybYmm.js";import"./index-wRElCyvx.js";const n=e.createContext({rootClass:""}),d=e.forwardRef((({customRootClass:e,children:a,position:s="popper",...i},l)=>{const{rootClass:d}=o(n);return t(r.Content,{className:d?`${d}-content`:void 0,position:s,"data-position":s,ref:l,...i,children:a})}));function c(o){return"string"==typeof o||"number"==typeof o?String(o):Array.isArray(o)?o.map(c).join(""):e.isValidElement(o)?c(o.props.children):""}d.displayName="SelectContent";const m=e.forwardRef((({customRootClass:e,children:a,value:s,label:i,disabled:l,...d},m)=>{const{rootClass:p}=o(n),f=i||c(a).trim()||s;return t(r.Item,{className:p?`${p}-item`:void 0,value:s,label:f,disabled:l,"data-disabled":l?"":void 0,role:"option","aria-disabled":l?"true":void 0,ref:m,...d,children:t("span",{className:p?`${p}-text`:void 0,children:a})})}));m.displayName="SelectItem";const p=e.forwardRef((({customRootClass:e,children:a,disabled:s,placeholder:i,...l},d)=>{const{rootClass:c}=o(n);return t(r.Trigger,{className:c?`${c}-trigger`:void 0,"aria-disabled":s?"true":void 0,"data-placeholder":i?"":void 0,disabled:s,ref:d,...l,children:a})}));p.displayName="SelectTrigger";const f=e.forwardRef((({customRootClass:e,children:o,defaultValue:s,value:i,onValueChange:l,sideOffset:d=4,...c},m)=>{const p=a(e,"Select");return t(n.Provider,{value:{rootClass:p},children:t(r.Root,{className:p?`${p}-root`:void 0,defaultValue:s,value:i,onValueChange:l,sideOffset:d,ref:m,...c,children:o})})}));f.displayName="SelectRoot";const u=e.forwardRef(((e,r)=>{const{rootClass:a}=o(n);return t("div",{className:a?`${a}-item-indicator`:void 0,ref:r,...e,children:t(s,{width:16,height:16})})}));u.displayName="SelectIndicator";const h=e.forwardRef((({children:e,container:a,...s},l)=>{const n=o(i),d=a??n?.portalRootRef.current;return t(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}=o(n),c=l(d?`${d}-group`:void 0,a)||void 0;return t(r.Group,{className:c,ref:i,...s,children:e})}));C.displayName="SelectGroup";const v=e.forwardRef(((e,o)=>(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-m6qHOeQ9.js";import"./ThemeContext-Sm-iNANd.js";import"./mergeProps-B9ocQsG4.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};
@@ -35,7 +35,7 @@ declare const SliderRoot: React.ForwardRefExoticComponent<{
35
35
  pageStepMultiplier?: number;
36
36
  showStepMarks?: boolean;
37
37
  formatValue?: (value: number) => string;
38
- } & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "value" | "defaultValue" | "onValueChange"> & React.RefAttributes<HTMLDivElement>>;
38
+ } & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "defaultValue" | "value" | "onValueChange"> & React.RefAttributes<HTMLDivElement>>;
39
39
 
40
40
  type SliderTrackProps = {
41
41
  children: React.ReactNode;
@@ -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 o,forwardRef as n,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-m6qHOeQ9.js";import{m as d}from"./mergeRefs-B8eZ_q-T.js";import"./ThemeContext-Sm-iNANd.js";import"./mergeProps-B9ocQsG4.js";const p=o({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",v=n((({children:t,className:a="",customRootClass:o="",defaultValue:n,value:m,onValueChange:d,onValueCommit:v,min:f=0,max:b=100,step:g=1,disabled:w=!1,name:x,orientation:y="horizontal",pageStepMultiplier:M=10,showStepMarks:$=!1,formatValue:k,...V},R)=>{const A=u(o,h),[N,C]=c(m,n??(Array.isArray(m)?m:0),d),[S,D]=r.useState(!1),P=r.useRef(null),T=r.useRef(N);r.useEffect((()=>{T.current=N}),[N]);const E=r.useRef(null),X=l([]),L=r.useMemo((()=>e=>{E.current=e,"function"==typeof R?R(e):R&&(R.current=e)}),[R]),j=i(((e,t)=>{X.current[e]=t}),[]),B=e=>{const t=E.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 o=f+r*(b-f),n=Math.round(o/g)*g,l=(i=n,Math.min(b,Math.max(f,i)));var i;if(Array.isArray(N)){let e=P.current;if(null===e){const t=N.map((e=>Math.abs(e-l)));e=t.indexOf(Math.min(...t)),P.current=e}const t=N.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:A,value:N,setValue:C,minValue:f,maxValue:b,step:g,name:x,isDragging:S,setDragging:D,disabled:w,orientation:y,pageStepMultiplier:M,showStepMarks:$,formatValue:k,rootRef:E,thumbRefs:X.current,registerThumbRef:j};return e(p.Provider,{value:I,children:e("div",{ref:L,className:s(A,a),"data-slider-root":A,"data-disabled":w,"data-orientation":y,onPointerDown:e=>{if(w)return;e.stopPropagation();const t=e.target,a=A?t.closest(`.${A}-thumb`):t.closest('[role="slider"]');if(a&&Array.isArray(N)){const e=parseInt(a.getAttribute("data-index")||"0",10);P.current=e,a.focus()}else if(P.current=null,Array.isArray(N))E.current?.focus();else{const e=X.current[0];e?.current?.focus()}D(!0),B(e);const r=e=>{e.preventDefault(),B(e)},o=()=>{D(!1),P.current=null,document.removeEventListener("pointermove",r),document.removeEventListener("pointerup",o),v?.(T.current)};document.addEventListener("pointermove",r),document.addEventListener("pointerup",o)},onPointerMove:e=>{S&&(e.preventDefault(),B(e))},onPointerUp:()=>{D(!1),P.current=null},...V,children:t})})}));v.displayName=h;const f=n((({children:t,className:a,style:o,...n},l)=>{const{rootClass:i,orientation:u}=r.useContext(p),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:{...o,...c},...n,children:t})}));f.displayName="SliderTrack";const b=r.memo(n((({children:o,asChild:n=!1,index:l=0,"aria-label":i,"aria-labelledby":s,...u},c)=>{const{rootClass:h,value:v,minValue:f,maxValue:b,step:g,setValue:w,name:x,isDragging:y,setDragging:M,disabled:$,orientation:k,pageStepMultiplier:V,formatValue:R,registerThumbRef:A}=r.useContext(p),N=r.useRef(null);r.useEffect((()=>{A&&N.current&&A(l,N)}),[l,A]);const C=Array.isArray(v)&&l>=0&&l<v.length?v[l]:"number"==typeof v?v:f,S=Number.isFinite(C)?C:f,D=Math.min(b,Math.max(f,S)),P=b===f?0:(D-f)/(b-f)*100,[T,E]=r.useState(!1),X=y?"dragging":T?"active":"inactive",L=e(m.div,{ref:d(N,c),asChild:n,className:h?`${h}-thumb`:void 0,role:"slider",tabIndex:$?-1:0,"aria-valuemin":f,"aria-valuemax":b,"aria-valuenow":D,"aria-valuetext":R?R(D):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=D;const a=Boolean(e.currentTarget.closest('[dir="rtl"]'));switch(e.key){case"ArrowRight":t=a?D-g:D+g;break;case"ArrowLeft":t=a?D+g:D-g;break;case"ArrowUp":t=D+g;break;case"ArrowDown":t=D-g;break;case"Home":t=f;break;case"End":t=b;break;case"PageUp":t=D+g*V;break;case"PageDown":t=D-g*V;break;default:return}e.preventDefault();const r=(o=t,Math.min(b,Math.max(f,o)));var o;if(Array.isArray(v)){const e=[...v];e[l]=r,w(e)}else w(r)},onPointerDown:e=>{$||(e.currentTarget.focus(),M(!0))},onPointerUp:()=>{M(!1)},onFocus:()=>E(!0),onBlur:()=>E(!1),style:"vertical"===k?{top:`calc(${P}% - 10px)`}:{left:`calc(${P}% - 10px)`},...u,children:o});return t(a,{children:[L,e("input",{type:"hidden",value:D,name:Array.isArray(v)?`${x}[${l}]`:x})]})})));b.displayName="SliderThumb";const g=n((({children:t,className:a,style:o,...n},l)=>{const{rootClass:i,value:u,minValue:c,maxValue:m,orientation:d}=r.useContext(p);let h=0,v=0;if(Array.isArray(u))if(0===u.length)h=0,v=0;else{const e=[...u].sort(((e,t)=>e-t)),t=e[0],a=e[e.length-1];h=m===c?0:(t-c)/(m-c)*100,v=m===c?0:(a-c)/(m-c)*100,1===u.length&&(h=0)}else h=0,v=m===c?0:(u-c)/(m-c)*100;const f=v-h,b=s(i?`${i}-range`:void 0,a)||void 0;return e("div",{ref:l,className:b,style:{...o,..."vertical"===d?{height:`${f}%`,marginTop:100-v+"%"}:{marginLeft:`${h}%`,width:`${f}%`}},...n,children:t})}));g.displayName="SliderRange";const w=n((({children:a,customMarks:o,...n},l)=>{const{rootClass:i,minValue:s,maxValue:u,step:c,orientation:m,showStepMarks:d}=r.useContext(p);if(!d&&!o)return null;const h=[];if(o)o.forEach((({value:a,label:r})=>{const o=u===s?0:(a-s)/(u-s)*100;h.push(t("div",{className:i?`${i}-mark ${i}-mark-custom`:void 0,"data-testid":`mark-${a}`,style:"vertical"===m?{bottom:`${o}%`,left:"50%",transform:"translateX(-50%)"}:{left:`${o}%`,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;h.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},...n,children:[h,a]})}));w.displayName="SliderMarks";const x=n((({children:a,"aria-label":o,"aria-labelledby":n,defaultValue:l=[25,75],value:i,onValueChange:s,...u},c)=>{const{rootClass:d,minValue:h,maxValue:v,step:f,disabled:b,orientation:g,rootRef:w}=r.useContext(p),[x,y]=r.useState(i||l),[M,$]=r.useState(null),[k,V]=r.useState(null),R=r.useRef(0),A=e=>Math.min(v,Math.max(h,e)),N=e=>{y(e),s?.(e)},C=v===h?0:(x[0]-h)/(v-h)*100,S=v===h?0:(x[1]-h)/(v-h)*100,D=(e,t)=>{const a=e.currentTarget.getBoundingClientRect();let r;r="vertical"===g?(a.bottom-e.clientY)/a.height:(e.clientX-a.left)/a.width;const o=h+r*(v-h),n=Math.round(o/f)*f,l=A(n),i=[...x];i["lower"===t?0:1]=l,"lower"===t?i[0]=Math.min(i[0],x[1]):i[1]=Math.max(i[1],x[0]),N(i)},P=(e,t)=>{if(b)return;e.stopPropagation(),$(t),D(e,t);const a=e=>{e.preventDefault();const a=w.current;if(!a)return;const r=a.getBoundingClientRect();let o;o="vertical"===g?(r.bottom-e.clientY)/r.height:(e.clientX-r.left)/r.width;const n=h+o*(v-h),l=Math.round(n/f)*f,i=A(l),s=[...x];s["lower"===t?0:1]=i,"lower"===t?s[0]=Math.min(s[0],x[1]):s[1]=Math.max(s[1],x[0]);const u=performance.now();u-R.current>16&&(N(s),R.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(),D(e,t))},E=()=>{$(null)},X=(e,t)=>{if(b)return;const a=[...x],r=Boolean(e.currentTarget.closest('[dir="rtl"]'));switch(e.key){case"ArrowRight":a["lower"===t?0:1]=r?x["lower"===t?0:1]-f:x["lower"===t?0:1]+f;break;case"ArrowLeft":a["lower"===t?0:1]=r?x["lower"===t?0:1]+f:x["lower"===t?0:1]-f;break;case"ArrowUp":a["lower"===t?0:1]=x["lower"===t?0:1]+f;break;case"ArrowDown":a["lower"===t?0:1]=x["lower"===t?0:1]-f;break;case"Home":a["lower"===t?0:1]=h;break;case"End":a["lower"===t?0:1]=v;break;default:return}e.preventDefault(),"lower"===t?a[0]=Math.min(a[0],x[1]):a[1]=Math.max(a[1],x[0]),a[0]=A(a[0]),a[1]=A(a[1]),N(a)};return t("div",{ref:c,className:d?`${d}-range-slider`:void 0,...u,children:[e(m.div,{className:d?`${d}-thumb ${d}-thumb-lower`:void 0,role:"slider",tabIndex:b?-1:0,"aria-valuemin":h,"aria-valuemax":v,"aria-valuenow":x[0],"aria-orientation":g,"aria-label":o?`${o} minimum`:"Minimum value","aria-labelledby":n,"data-state":"lower"===M?"dragging":"lower"===k?"active":"inactive","data-disabled":b,onKeyDown:e=>X(e,"lower"),onFocus:()=>V("lower"),onBlur:()=>V(null),onPointerDown:e=>P(e,"lower"),onPointerMove:e=>T(e,"lower"),onPointerUp:E,style:"vertical"===g?{bottom:`calc(${C}% - 8px)`}:{left:`calc(${C}% - 8px)`}}),e(m.div,{className:d?`${d}-thumb ${d}-thumb-upper`:void 0,role:"slider",tabIndex:b?-1:0,"aria-valuemin":h,"aria-valuemax":v,"aria-valuenow":x[1],"aria-orientation":g,"aria-label":o?`${o} maximum`:"Maximum value","aria-labelledby":n,"data-state":"upper"===M?"dragging":"upper"===k?"active":"inactive","data-disabled":b,onKeyDown:e=>X(e,"upper"),onFocus:()=>V("upper"),onBlur:()=>V(null),onPointerDown:e=>P(e,"upper"),onPointerMove:e=>T(e,"upper"),onPointerUp:E,style:"vertical"===g?{bottom:`calc(${S}% - 8px)`}:{left:`calc(${S}% - 8px)`}}),e("div",{className:d?`${d}-range-fill`:void 0,style:"vertical"===g?{bottom:`${Math.min(C,S)}%`,height:`${Math.abs(S-C)}%`,left:0,right:0}:{left:`${Math.min(C,S)}%`,width:`${Math.abs(S-C)}%`,top:0,bottom:0}}),a]})}));x.displayName="SliderRangeSlider";const y=n(((t,a)=>{const{defaultValue:r,min:o=0,max:n=100,step:l=1,orientation:i="horizontal",formatValue:s,"aria-label":u,"aria-labelledby":c,...m}=t;return e(y.Root,{ref:a,defaultValue:r,min:o,max:n,step:l,orientation:i,formatValue:s,...m,children:e(y.Track,{children:e(y.Range,{children:e(y.Thumb,{"aria-label":u,"aria-labelledby":c})})})})}));y.displayName="Slider",y.Root=v,y.Track=f,y.Range=g,y.Thumb=b,y.Marks=w,y.RangeSlider=x;export{y 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",m=e.forwardRef((({className:e,customRootClass:m="",size:i="",...n},c)=>{const p=o(m,t),f=r("spinner",{size:i}),l=a(p,e)||void 0;return s("div",{className:p?`${p}-container`:void 0,children:s("span",{ref:c,className:l,...n,...f})})}));m.displayName=t;export{m 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};