@radui/ui 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/dist/components/Accordion.cjs +1 -0
  2. package/dist/components/Accordion.js +1 -1
  3. package/dist/components/AlertDialog.cjs +1 -0
  4. package/dist/components/AlertDialog.d.ts +61 -24
  5. package/dist/components/AlertDialog.js +1 -1
  6. package/dist/components/AspectRatio.cjs +1 -0
  7. package/dist/components/Avatar.cjs +1 -0
  8. package/dist/components/Avatar.d.ts +36 -6
  9. package/dist/components/Avatar.js +1 -1
  10. package/dist/components/AvatarGroup.cjs +1 -0
  11. package/dist/components/AvatarGroup.d.ts +39 -18
  12. package/dist/components/AvatarGroup.js +1 -1
  13. package/dist/components/AvatarPrimitiveFallback-BpUU1vNV.cjs +1 -0
  14. package/dist/components/{AvatarPrimitiveFallback-C1siRii4.js → AvatarPrimitiveFallback-DIXB9Tnm.js} +1 -1
  15. package/dist/components/Badge.cjs +1 -0
  16. package/dist/components/Badge.js +1 -1
  17. package/dist/components/BlockQuote.cjs +1 -0
  18. package/dist/components/Breadcrumb.cjs +1 -0
  19. package/dist/components/Breadcrumb.js +1 -1
  20. package/dist/components/Button.cjs +1 -0
  21. package/dist/components/Button.js +1 -1
  22. package/dist/components/Callout.cjs +1 -0
  23. package/dist/components/Callout.d.ts +32 -18
  24. package/dist/components/Callout.js +1 -1
  25. package/dist/components/Card.cjs +1 -0
  26. package/dist/components/Card.d.ts +31 -16
  27. package/dist/components/Card.js +1 -1
  28. package/dist/components/Checkbox.cjs +8 -0
  29. package/dist/components/Checkbox.js +1 -1
  30. package/dist/components/CheckboxCards.cjs +1 -0
  31. package/dist/components/CheckboxCards.js +1 -1
  32. package/dist/components/CheckboxGroup.cjs +1 -0
  33. package/dist/components/CheckboxGroup.d.ts +6 -2
  34. package/dist/components/CheckboxGroup.js +1 -1
  35. package/dist/components/{CheckboxGroupPrimitive-DfHQYkep.js → CheckboxGroupPrimitive-BRCGIztp.js} +1 -1
  36. package/dist/components/CheckboxGroupPrimitive-C21WO4L3.cjs +1 -0
  37. package/dist/components/Code.cjs +1 -0
  38. package/dist/components/Collapsible.cjs +1 -0
  39. package/dist/components/Collapsible.d.ts +34 -4
  40. package/dist/components/Collapsible.js +1 -1
  41. package/dist/components/Combobox.cjs +1 -0
  42. package/dist/components/Combobox.d.ts +57 -45
  43. package/dist/components/Combobox.js +1 -1
  44. package/dist/components/ComboboxPrimitive-BdX2jgpQ.js +1 -0
  45. package/dist/components/ComboboxPrimitive-CyO6ZH5T.cjs +1 -0
  46. package/dist/components/Command.cjs +1 -0
  47. package/dist/components/Command.d.ts +36 -8
  48. package/dist/components/Command.js +1 -1
  49. package/dist/components/ContextMenu.cjs +1 -0
  50. package/dist/components/ContextMenu.d.ts +25 -11
  51. package/dist/components/ContextMenu.js +1 -1
  52. package/dist/components/DataList.cjs +1 -0
  53. package/dist/components/Dialog.cjs +1 -0
  54. package/dist/components/Dialog.d.ts +29 -4
  55. package/dist/components/Dialog.js +1 -1
  56. package/dist/components/Disclosure.cjs +1 -0
  57. package/dist/components/Disclosure.js +1 -1
  58. package/dist/components/Drawer.cjs +1 -0
  59. package/dist/components/Drawer.d.ts +31 -3
  60. package/dist/components/Drawer.js +1 -1
  61. package/dist/components/DropdownMenu.cjs +1 -0
  62. package/dist/components/DropdownMenu.d.ts +25 -11
  63. package/dist/components/DropdownMenu.js +1 -1
  64. package/dist/components/Em.cjs +1 -0
  65. package/dist/components/Fieldset.cjs +1 -0
  66. package/dist/components/Heading.cjs +1 -0
  67. package/dist/components/HoverCard.cjs +1 -0
  68. package/dist/components/HoverCard.d.ts +15 -1
  69. package/dist/components/HoverCard.js +1 -1
  70. package/dist/components/Kbd.cjs +1 -0
  71. package/dist/components/Label.cjs +1 -0
  72. package/dist/components/Label.d.ts +18 -0
  73. package/dist/components/Label.js +1 -0
  74. package/dist/components/Link.cjs +1 -0
  75. package/dist/components/Link.js +1 -1
  76. package/dist/components/LiveRegion.cjs +1 -0
  77. package/dist/components/LiveRegion.d.ts +2 -5
  78. package/dist/components/LiveRegion.js +1 -1
  79. package/dist/components/MenuPrimitive-Ctqo21Vd.cjs +1 -0
  80. package/dist/components/MenuPrimitive-Cy_MJfjG.js +1 -0
  81. package/dist/components/Menubar.cjs +1 -0
  82. package/dist/components/Menubar.d.ts +45 -16
  83. package/dist/components/Menubar.js +1 -1
  84. package/dist/components/Meter.cjs +1 -0
  85. package/dist/components/Meter.d.ts +44 -0
  86. package/dist/components/Meter.js +1 -0
  87. package/dist/components/Minimap.cjs +1 -0
  88. package/dist/components/Minimap.js +1 -1
  89. package/dist/components/NavigationMenu.cjs +1 -0
  90. package/dist/components/NavigationMenu.d.ts +2 -0
  91. package/dist/components/NavigationMenu.js +1 -1
  92. package/dist/components/NumberField.cjs +1 -0
  93. package/dist/components/Popover.cjs +1 -0
  94. package/dist/components/Popover.d.ts +64 -5
  95. package/dist/components/Popover.js +1 -1
  96. package/dist/components/Progress.cjs +1 -0
  97. package/dist/components/Progress.d.ts +14 -2
  98. package/dist/components/Progress.js +1 -1
  99. package/dist/components/Quote.cjs +1 -0
  100. package/dist/components/Radio.cjs +1 -0
  101. package/dist/components/Radio.js +1 -1
  102. package/dist/components/RadioCards.cjs +1 -0
  103. package/dist/components/RadioCards.d.ts +22 -1
  104. package/dist/components/RadioCards.js +1 -1
  105. package/dist/components/RadioGroup.cjs +1 -0
  106. package/dist/components/RadioGroup.d.ts +27 -7
  107. package/dist/components/RadioGroup.js +1 -1
  108. package/dist/components/RadioGroupPrimitive-B0CrM2bi.cjs +1 -0
  109. package/dist/components/RadioGroupPrimitive-CnPy0zgW.js +1 -0
  110. package/dist/components/ScrollArea.cjs +1 -0
  111. package/dist/components/ScrollArea.d.ts +24 -13
  112. package/dist/components/ScrollArea.js +1 -1
  113. package/dist/components/Select.cjs +1 -0
  114. package/dist/components/Select.d.ts +52 -44
  115. package/dist/components/Select.js +1 -1
  116. package/dist/components/Separator.cjs +1 -0
  117. package/dist/components/Separator.d.ts +8 -1
  118. package/dist/components/Separator.js +1 -1
  119. package/dist/components/Skeleton.cjs +1 -0
  120. package/dist/components/Slider.cjs +1 -0
  121. package/dist/components/Slider.js +1 -1
  122. package/dist/components/Spinner.cjs +1 -0
  123. package/dist/components/Splitter.cjs +1 -0
  124. package/dist/components/Steps.cjs +1 -0
  125. package/dist/components/Steps.d.ts +33 -16
  126. package/dist/components/Steps.js +1 -1
  127. package/dist/components/Strong.cjs +1 -0
  128. package/dist/components/Switch.cjs +1 -0
  129. package/dist/components/Switch.d.ts +14 -2
  130. package/dist/components/Switch.js +1 -1
  131. package/dist/components/TabNav.cjs +1 -0
  132. package/dist/components/TabNav.d.ts +5 -0
  133. package/dist/components/TabNav.js +1 -1
  134. package/dist/components/Table.cjs +1 -0
  135. package/dist/components/Table.d.ts +23 -12
  136. package/dist/components/Table.js +1 -1
  137. package/dist/components/Tabs.cjs +1 -0
  138. package/dist/components/Tabs.js +1 -1
  139. package/dist/components/Text.cjs +1 -0
  140. package/dist/components/TextArea.cjs +1 -0
  141. package/dist/components/TextField.cjs +1 -0
  142. package/dist/components/Theme.cjs +1 -0
  143. package/dist/components/Theme.d.ts +2 -0
  144. package/dist/components/Theme.js +1 -1
  145. package/dist/components/ThemeContext-t7IX-w6i.cjs +1 -0
  146. package/dist/components/Toast.cjs +1 -0
  147. package/dist/components/Toast.js +1 -1
  148. package/dist/components/Toggle.cjs +1 -0
  149. package/dist/components/Toggle.js +1 -1
  150. package/dist/components/ToggleGroup.cjs +1 -0
  151. package/dist/components/ToggleGroup.js +1 -1
  152. package/dist/components/Toolbar.cjs +1 -0
  153. package/dist/components/Toolbar.d.ts +8 -1
  154. package/dist/components/Toolbar.js +1 -1
  155. package/dist/components/Tooltip.cjs +1 -0
  156. package/dist/components/Tooltip.d.ts +7 -1
  157. package/dist/components/Tooltip.js +1 -1
  158. package/dist/components/Tree.cjs +1 -0
  159. package/dist/components/Tree.d.ts +8 -1
  160. package/dist/components/Tree.js +1 -1
  161. package/dist/components/VisuallyHidden.cjs +1 -0
  162. package/dist/components/VisuallyHidden.d.ts +6 -1
  163. package/dist/components/VisuallyHidden.js +1 -1
  164. package/dist/components/check-BazcmpuG.cjs +44 -0
  165. package/dist/components/documentOverlayOpen-BbC6uByx.cjs +1 -0
  166. package/dist/components/{floating-ui.react-2kiGB4sW.js → floating-ui.react-CZf-mCiA.js} +1 -1
  167. package/dist/components/floating-ui.react-Kw0_L48Q.cjs +5 -0
  168. package/dist/components/index-7Bjw6jmo.cjs +1 -0
  169. package/dist/components/index-BZO29jsF.cjs +1 -0
  170. package/dist/components/index-B_OPdW20.js +1 -0
  171. package/dist/components/index-BbvJO-A-.cjs +1 -0
  172. package/dist/components/index-Bg-UeWCo.cjs +1 -0
  173. package/dist/components/index-BidxkqdT.js +1 -0
  174. package/dist/components/index-BudP4FIn.cjs +1 -0
  175. package/dist/components/index-BwNOI8cB.cjs +1 -0
  176. package/dist/components/{index-DMX7gpdp.js → index-CAD0hWja.js} +1 -1
  177. package/dist/components/{index-xlB--dex.js → index-CXv1Y-O3.js} +1 -1
  178. package/dist/components/index-C_Yiql9j.cjs +1 -0
  179. package/dist/components/index-CbdoW3TC.cjs +1 -0
  180. package/dist/components/{index-nYRBURkR.js → index-Cp5L_alO.js} +1 -1
  181. package/dist/components/{index-C7dBo_Ry.js → index-D8QLtYJh.js} +1 -1
  182. package/dist/components/{index-FITGoHty.js → index-DH-14XDv.js} +1 -1
  183. package/dist/components/index-DrMwbB8q.cjs +1 -0
  184. package/dist/components/index-K0sE1H4u.cjs +1 -0
  185. package/dist/components/index-c6NFMS_0.cjs +1 -0
  186. package/dist/components/index-rUSzFrhJ.cjs +1 -0
  187. package/dist/components/keyboard-BBlFllyi.cjs +1 -0
  188. package/dist/components/mergeProps-DW5qFqqJ.cjs +1 -0
  189. package/dist/components/mergeRefs-BUn-enYe.cjs +1 -0
  190. package/dist/components/useComponentClass-B0DF90tm.cjs +1 -0
  191. package/dist/index.cjs +70 -0
  192. package/dist/index.d.ts +67 -0
  193. package/dist/index.js +69 -0
  194. package/dist/styles/clarity/Accordion/accordion.clarity.scss +147 -0
  195. package/dist/styles/clarity/AlertDialog/alert-dialog.clarity.scss +199 -0
  196. package/dist/styles/clarity/Avatar/_avatar-base.clarity.scss +87 -0
  197. package/dist/styles/clarity/Avatar/avatar.clarity.scss +1 -0
  198. package/dist/styles/clarity/AvatarGroup/avatar-group.clarity.scss +122 -0
  199. package/dist/styles/clarity/Badge/badge.clarity.scss +118 -0
  200. package/dist/styles/clarity/BlockQuote/blockquote.clarity.scss +123 -0
  201. package/dist/styles/clarity/Breadcrumb/breadcrumb.clarity.scss +50 -0
  202. package/dist/styles/clarity/Button/button.clarity.scss +132 -0
  203. package/dist/styles/clarity/Callout/callout.clarity.scss +183 -0
  204. package/dist/styles/clarity/Card/card.clarity.scss +121 -0
  205. package/dist/styles/clarity/Checkbox/checkbox.clarity.scss +75 -0
  206. package/dist/styles/clarity/CheckboxCards/checkbox-cards.clarity.scss +143 -0
  207. package/dist/styles/clarity/CheckboxGroup/checkbox-group.clarity.scss +92 -0
  208. package/dist/styles/clarity/Code/code.clarity.scss +42 -0
  209. package/dist/styles/clarity/Collapsible/collapsible.clarity.scss +84 -0
  210. package/dist/styles/clarity/Combobox/combobox.clarity.scss +157 -0
  211. package/dist/styles/clarity/Command/command.clarity.scss +231 -0
  212. package/dist/styles/clarity/ContextMenu/context-menu.clarity.scss +272 -0
  213. package/dist/styles/clarity/DataList/data-list.clarity.scss +60 -0
  214. package/dist/styles/clarity/Dialog/dialog.clarity.scss +205 -0
  215. package/dist/styles/clarity/Disclosure/disclosure.clarity.scss +56 -0
  216. package/dist/styles/clarity/Drawer/drawer.clarity.scss +331 -0
  217. package/dist/styles/clarity/DropdownMenu/dropdown-menu.clarity.scss +187 -0
  218. package/dist/styles/clarity/Em/em.clarity.scss +3 -0
  219. package/dist/styles/clarity/Fieldset/fieldset.clarity.scss +49 -0
  220. package/dist/styles/clarity/Heading/heading.clarity.scss +46 -0
  221. package/dist/styles/clarity/HoverCard/hover-card.clarity.scss +43 -0
  222. package/dist/styles/clarity/Kbd/kbd.clarity.scss +55 -0
  223. package/dist/styles/clarity/Label/label.clarity.scss +11 -0
  224. package/dist/styles/clarity/Link/link.clarity.scss +41 -0
  225. package/dist/styles/clarity/Menubar/menubar.clarity.scss +149 -0
  226. package/dist/styles/clarity/Meter/meter.clarity.scss +39 -0
  227. package/dist/styles/clarity/Minimap/minimap.clarity.scss +92 -0
  228. package/dist/styles/clarity/NavigationMenu/navigation-menu.clarity.scss +128 -0
  229. package/dist/styles/clarity/NumberField/number-field.clarity.scss +135 -0
  230. package/dist/styles/clarity/Popover/popover.clarity.scss +106 -0
  231. package/dist/styles/clarity/Progress/progress.clarity.scss +38 -0
  232. package/dist/styles/clarity/Quote/quote.clarity.scss +26 -0
  233. package/dist/styles/clarity/Radio/radio.clarity.scss +76 -0
  234. package/dist/styles/clarity/RadioCards/radiocards.clarity.scss +134 -0
  235. package/dist/styles/clarity/RadioGroup/radio-group.clarity.scss +99 -0
  236. package/dist/styles/clarity/ScrollArea/scroll-area.clarity.scss +112 -0
  237. package/dist/styles/clarity/Select/select.clarity.scss +228 -0
  238. package/dist/styles/clarity/Separator/separator.clarity.scss +23 -0
  239. package/dist/styles/clarity/Skeleton/skeleton.clarity.scss +33 -0
  240. package/dist/styles/clarity/Slider/slider.clarity.scss +203 -0
  241. package/dist/styles/clarity/Spinner/spinner.clarity.scss +52 -0
  242. package/dist/styles/clarity/Splitter/splitter.clarity.scss +151 -0
  243. package/dist/styles/clarity/Steps/steps.clarity.scss +143 -0
  244. package/dist/styles/clarity/Strong/strong.clarity.scss +6 -0
  245. package/dist/styles/clarity/Switch/switch.clarity.scss +89 -0
  246. package/dist/styles/clarity/TabNav/tab-nav.clarity.scss +69 -0
  247. package/dist/styles/clarity/Table/table.clarity.scss +128 -0
  248. package/dist/styles/clarity/Tabs/tabs.clarity.scss +91 -0
  249. package/dist/styles/clarity/Text/text.clarity.scss +5 -0
  250. package/dist/styles/clarity/TextArea/textarea.clarity.scss +146 -0
  251. package/dist/styles/clarity/TextField/text-field.clarity.scss +120 -0
  252. package/dist/styles/clarity/Toast/toast.clarity.scss +203 -0
  253. package/dist/styles/clarity/Toggle/toggle.clarity.scss +51 -0
  254. package/dist/styles/clarity/ToggleGroup/toggle-group.clarity.scss +103 -0
  255. package/dist/styles/clarity/Toolbar/toolbar.clarity.scss +140 -0
  256. package/dist/styles/clarity/Tooltip/tooltip.clarity.scss +37 -0
  257. package/dist/styles/clarity/Tree/tree.clarity.scss +103 -0
  258. package/dist/themes/baremetal.css +1 -1
  259. package/dist/themes/default.css +1 -1
  260. package/package.json +21 -2
  261. package/dist/components/ComboboxPrimitive-DQcJ8pzQ.js +0 -1
  262. package/dist/components/MenuPrimitive-D9VMz2TZ.js +0 -1
  263. package/dist/components/RadioGroupPrimitive-D1PP4y2M.js +0 -1
  264. package/dist/components/index-D8I-rMwz.js +0 -1
  265. package/dist/components/index-XF8itt-H.js +0 -1
@@ -0,0 +1 @@
1
+ 'use client';"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),a=require("react"),r=require("./index-Bg-UeWCo.cjs"),t=require("./useComponentClass-B0DF90tm.cjs"),s=require("./index-c6NFMS_0.cjs"),i=require("./index-BwNOI8cB.cjs"),d=require("./mergeRefs-BUn-enYe.cjs");require("./mergeProps-DW5qFqqJ.cjs"),require("./ThemeContext-t7IX-w6i.cjs");const n=a.forwardRef((({name:a,value:t,id:s,checked:i,required:d,onChange:n,disabled:o,asChild:c,className:u,...l},m)=>e.jsx(r.Primitive.input,{ref:m,type:"radio",checked:i,name:a,value:t,onChange:n,id:s,"aria-disabled":o,disabled:o,required:d,"aria-required":d,asChild:c,className:u,...l})));n.displayName="RadioPrimitive";const o="Radio",c=a.forwardRef((function({name:r,value:c,id:u,checked:l,defaultChecked:m,required:f,onChange:h,disabled:C,asChild:v,className:q,customRootClass:p,variant:b="",size:j="",color:g="",...x},k){const R=t.useComponentClass(p,o),N=a.useRef(null),y=void 0!==l,[A,E]=i.useControllableState(l,Boolean(m),(()=>{h?.()}));a.useEffect((()=>{const e=N.current;if(y||!e||!r)return;const a=e.ownerDocument,t=a=>{const t=a.target;t!==e&&t instanceof HTMLInputElement&&"radio"===t.type&&t.name===r&&t.form===e.form&&E(!1)};return a.addEventListener("change",t,!0),()=>a.removeEventListener("change",t,!0)}),[y,r,E]);const P=s.createDataAttributes("button",{variant:b,size:j}),w=s.createDataAccentColorAttribute(g),D=s.composeAttributes(P,w,{"data-slot":"radio-root","data-state":A?"checked":"unchecked","data-disabled":C?"":void 0});return e.jsx(n,{ref:d.mergeRefs(k,N),name:r,id:u,value:c,checked:A,required:f,onChange:()=>{A||E(!0)},disabled:C,asChild:v,className:t.clsx(R,q),...x,"data-checked":A,...D})}));c.displayName=o,exports.default=c;
@@ -1 +1 @@
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};
1
+ 'use client';import{jsx as e}from"react/jsx-runtime";import a from"react";import{P as r}from"./index-BidxkqdT.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};
@@ -0,0 +1 @@
1
+ 'use client';"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("react/jsx-runtime"),s=require("./RadioGroupPrimitive-B0CrM2bi.cjs"),o=require("./useComponentClass-B0DF90tm.cjs"),t=require("./index-c6NFMS_0.cjs");require("./index-Bg-UeWCo.cjs"),require("./mergeProps-DW5qFqqJ.cjs"),require("./index-rUSzFrhJ.cjs"),require("./index-BZO29jsF.cjs"),require("./keyboard-BBlFllyi.cjs"),require("./mergeRefs-BUn-enYe.cjs"),require("./index-BwNOI8cB.cjs"),require("./index-DrMwbB8q.cjs"),require("./ThemeContext-t7IX-w6i.cjs");const a=e.createContext({rootClass:""}),i=e.forwardRef((({children:e,className:i="",customRootClass:d="",variant:c="",size:n="",color:u="",orientation:l="both",...m},R)=>{const x=o.useComponentClass(d,"RadioCards"),C=t.createDataAttributes("radio-cards",{variant:c,size:n}),j=t.createDataAccentColorAttribute(u),p=t.composeAttributes(C,j);return r.jsx(a.Provider,{value:{rootClass:x},children:r.jsx(s.RadioGroupPrimitive.Root,{ref:R,className:o.clsx(x,i),...m,...p,orientation:l,children:e})})}));i.displayName="RadioCardsRoot";const d=e.forwardRef((({children:t,className:i="",value:d,...c},n)=>{const{rootClass:u}=e.useContext(a);return r.jsx(s.RadioGroupPrimitive.Item,{ref:n,className:o.clsx(u&&`${u}-item`,i),...c,value:d,children:t})}));d.displayName="RadioCardsItem";const c=e.forwardRef(((e,r)=>(console.warn("Direct usage of RadioCards is not supported. Please use RadioCards.Root and RadioCards.Item instead."),null)));c.displayName="RadioCards",c.Root=i,c.Item=d,exports.Item=d,exports.Root=i,exports.default=c;
@@ -12,7 +12,28 @@ type RadioCardsRootProps = RadioGroupPrimitiveRootProps & {
12
12
  name?: string;
13
13
  defaultValue?: string;
14
14
  };
15
- declare const RadioCardsRoot: React.ForwardRefExoticComponent<RadioCardsRootProps & React.RefAttributes<HTMLElement>>;
15
+ declare const RadioCardsRoot: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
16
+ asChild?: boolean;
17
+ } & React.RefAttributes<HTMLElement>, "ref"> & {
18
+ value?: string;
19
+ defaultValue?: string;
20
+ onValueChange?: (value: string) => void;
21
+ disabled?: boolean;
22
+ required?: boolean;
23
+ name?: string;
24
+ orientation?: "horizontal" | "vertical" | "both";
25
+ loop?: boolean;
26
+ dir?: "ltr" | "rtl";
27
+ } & {
28
+ children: React.ReactNode;
29
+ className?: string;
30
+ customRootClass?: string;
31
+ variant?: string;
32
+ size?: string;
33
+ color?: string;
34
+ name?: string;
35
+ defaultValue?: string;
36
+ } & React.RefAttributes<HTMLElement>>;
16
37
 
17
38
  type RadioCardsItemProps = RadioGroupPrimitiveItemProps & {
18
39
  children?: React.ReactNode;
@@ -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-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};
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-CnPy0zgW.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-BidxkqdT.js";import"./mergeProps-0RucjqeH.js";import"./index-D8QLtYJh.js";import"./index-DH-14XDv.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};
@@ -0,0 +1 @@
1
+ 'use client';"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("react/jsx-runtime"),o=require("./RadioGroupPrimitive-B0CrM2bi.cjs"),a=require("./useComponentClass-B0DF90tm.cjs"),s=require("./index-c6NFMS_0.cjs"),t=require("./index-Bg-UeWCo.cjs");require("./index-rUSzFrhJ.cjs"),require("./index-BZO29jsF.cjs"),require("./keyboard-BBlFllyi.cjs"),require("./mergeRefs-BUn-enYe.cjs"),require("./index-BwNOI8cB.cjs"),require("./index-DrMwbB8q.cjs"),require("./ThemeContext-t7IX-w6i.cjs"),require("./mergeProps-DW5qFqqJ.cjs");const i=e.createContext({rootClass:""}),d=e.forwardRef((({children:e,className:t="",customRootClass:d="",variant:c="",size:l="",color:u="",...n},p)=>{const m=a.useComponentClass(d,"RadioGroup"),x=s.createDataAttributes("radio-group",{variant:c,size:l}),R=s.createDataAccentColorAttribute(u),j=s.composeAttributes(x,R,{"data-slot":"radio-group-root"});return r.jsx(i.Provider,{value:{rootClass:m},children:r.jsxs(o.RadioGroupPrimitive.Root,{ref:p,className:a.clsx(m&&`${m}-root`,t),...j,...n,children:[" ",e," "]})})}));d.displayName="RadioGroupRoot";const c=e.forwardRef((({children:s,className:t="",value:d,...c},l)=>{const{rootClass:u}=e.useContext(i);return r.jsx(o.RadioGroupPrimitive.Item,{ref:l,className:a.clsx(u&&`${u}-item`,t),value:d,"data-slot":"radio-group-item",...c,children:s})}));c.displayName="RadioGroupItem";const l=e.forwardRef((({className:s="",children:t,...d},c)=>{const{rootClass:l}=e.useContext(i);return r.jsx(o.RadioGroupPrimitive.Indicator,{ref:c,className:a.clsx(l&&`${l}-indicator`,s),"data-slot":"radio-group-indicator",...d,children:t})}));l.displayName="RadioGroupIndicator";const u=e.forwardRef((({className:o="",asChild:s=!1,children:d,...c},l)=>{const{rootClass:u}=e.useContext(i);return r.jsx(t.Primitive.label,{ref:l,"data-slot":"radio-group-label",...c,className:a.clsx(u&&`${u}-label`,o),asChild:s,children:d})}));u.displayName="RadioGroupLabel";const n=e.forwardRef(((e,r)=>(console.warn("Direct usage of RadioGroup is not supported. Please use RadioGroup.Root and RadioGroup.Item instead."),null)));n.displayName="RadioGroup",n.Root=d,n.Item=c,n.Indicator=l,n.Label=u,exports.Indicator=l,exports.Item=c,exports.Label=u,exports.Root=d,exports.default=n;
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
2
  import { RadioGroupPrimitiveProps } from '~/core/primitives/RadioGroup/RadioGroupPrimitive';
3
- import Primitive from '~/core/primitives/Primitive';
4
3
 
5
4
  type RadioGroupRootProps = {
6
5
  children: React.ReactNode;
@@ -10,7 +9,26 @@ type RadioGroupRootProps = {
10
9
  size?: string;
11
10
  color?: string;
12
11
  } & RadioGroupPrimitiveProps.Root;
13
- declare const RadioGroupRoot: React.ForwardRefExoticComponent<RadioGroupRootProps & React.RefAttributes<HTMLElement>>;
12
+ declare const RadioGroupRoot: React.ForwardRefExoticComponent<{
13
+ children: React.ReactNode;
14
+ className?: string;
15
+ customRootClass?: string;
16
+ variant?: string;
17
+ size?: string;
18
+ color?: string;
19
+ } & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
20
+ asChild?: boolean;
21
+ } & React.RefAttributes<HTMLElement>, "ref"> & {
22
+ value?: string;
23
+ defaultValue?: string;
24
+ onValueChange?: (value: string) => void;
25
+ disabled?: boolean;
26
+ required?: boolean;
27
+ name?: string;
28
+ orientation?: "horizontal" | "vertical" | "both";
29
+ loop?: boolean;
30
+ dir?: "ltr" | "rtl";
31
+ } & React.RefAttributes<HTMLElement>>;
14
32
 
15
33
  declare const RadioGroupItem: React.ForwardRefExoticComponent<{
16
34
  children: React.ReactNode;
@@ -26,14 +44,16 @@ declare const RadioGroupItem: React.ForwardRefExoticComponent<{
26
44
  value: string;
27
45
  } & React.RefAttributes<HTMLButtonElement>>;
28
46
 
29
- type RadioGroupIndicatorProps = {
47
+ declare const RadioGroupIndicator: React.ForwardRefExoticComponent<{
30
48
  children?: React.ReactNode;
31
49
  className?: string;
32
- } & RadioGroupPrimitiveProps.Indicator;
33
- declare const RadioGroupIndicator: React.ForwardRefExoticComponent<RadioGroupIndicatorProps & React.RefAttributes<HTMLElement>>;
50
+ } & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
51
+ asChild?: boolean;
52
+ } & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLElement>>;
34
53
 
35
- type RadioGroupLabelProps = React.ComponentPropsWithoutRef<typeof Primitive.label>;
36
- declare const RadioGroupLabel: React.ForwardRefExoticComponent<RadioGroupLabelProps & React.RefAttributes<HTMLElement>>;
54
+ declare const RadioGroupLabel: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>, "ref"> & {
55
+ asChild?: boolean;
56
+ } & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLElement>>;
37
57
 
38
58
  type RadioGroupElement = React.ElementRef<'div'>;
39
59
  type RadioGroupProps = React.ComponentPropsWithoutRef<'div'> & {
@@ -1 +1 @@
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};
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-CnPy0zgW.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-BidxkqdT.js";import"./index-D8QLtYJh.js";import"./index-DH-14XDv.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';"use strict";var e=require("react"),r=require("react/jsx-runtime"),i=require("./index-Bg-UeWCo.cjs"),t=require("./index-rUSzFrhJ.cjs"),o=require("./index-BwNOI8cB.cjs"),a=require("./index-DrMwbB8q.cjs"),n=require("./keyboard-BBlFllyi.cjs"),d=require("./index-BZO29jsF.cjs");const s=e.createContext(null),u=[n.KEYBOARD_KEYS.ARROW_UP,n.KEYBOARD_KEYS.ARROW_DOWN,n.KEYBOARD_KEYS.ARROW_LEFT,n.KEYBOARD_KEYS.ARROW_RIGHT,n.KEYBOARD_KEYS.HOME,n.KEYBOARD_KEYS.END],l={position:"absolute",width:1,height:1,opacity:0,pointerEvents:"none",margin:0},c=e.forwardRef((({value:n,defaultValue:d="",onValueChange:c,children:p,disabled:R=!1,required:v=!1,name:m="",orientation:h="horizontal",loop:f=!0,dir:E="ltr",onKeyDownCapture:x,onKeyUpCapture:y,...b},K)=>{const[C,D]=o.useControllableState(n,d,c),j=e.useRef(!1),g=e.useRef(null),G=e.useRef(d);e.useEffect((()=>{const e=g.current?.form;if(!e)return;const r=()=>D(G.current);return e.addEventListener("reset",r),()=>e.removeEventListener("reset",r)}),[D,m,v]);const P={selectedValue:C,setSelectedValue:D,groupDisabled:R,isNavigatingWithKeyboardRef:j},Y=""===C||null==C;return r.jsxs(i.Primitive.div,{ref:K,...b,onKeyDownCapture:a.composeEventHandlers(x,(e=>{j.current=u.includes(e.key)}),{checkForDefaultPrevented:!1}),onKeyUpCapture:a.composeEventHandlers(y,(()=>{j.current=!1}),{checkForDefaultPrevented:!1}),"aria-required":v,role:"radiogroup","aria-orientation":"both"===h?void 0:h,"aria-disabled":R,"data-disabled":R?"":void 0,children:[r.jsx(t.RovingFocusGroupUtility.Root,{dir:E,orientation:"both",loop:f,asChild:!0,children:r.jsx(s.Provider,{value:P,children:r.jsx(t.RovingFocusGroupUtility.Group,{children:p})})}),m&&r.jsx("input",{ref:g,type:"hidden",name:m,value:C,disabled:R}),v&&r.jsx("input",{ref:m?void 0:g,type:"radio",checked:!Y,onChange:()=>{},disabled:R,required:!0,"aria-hidden":"true",tabIndex:-1,style:l})]})}));c.displayName="RadioGroupPrimitiveRoot";const p=e.createContext({itemSelected:!1}),R=e.forwardRef((({value:i,children:o,disabled:u,required:l,className:c="",asChild:R=!1,onClick:v,onFocus:m,onKeyDown:h,...f},E)=>{const x=e.useContext(s);if(!x)throw new Error("RadioGroup.Item must be used within a RadioGroup.Root");const{groupDisabled:y,selectedValue:b,setSelectedValue:K,isNavigatingWithKeyboardRef:C}=x,{setFocusedItemId:D}=e.useContext(t.RovingFocusGroupContext),j=e.useId(),g=i===b,G=Boolean(y||u);e.useEffect((()=>{g&&!G&&D(j)}),[g,G,j,D]);const P=()=>{G||K(i)};return r.jsx(p.Provider,{value:{itemSelected:g},children:r.jsx(t.RovingFocusGroupUtility.Item,{domId:j,children:r.jsx(d.ButtonPrimitive,{ref:E,role:"radio",type:"button",disabled:G,onClick:a.composeEventHandlers(v,P),onFocus:a.composeEventHandlers(m,(()=>{C?.current&&P()})),onKeyDown:a.composeEventHandlers(h,(e=>{e.key===n.KEYBOARD_KEYS.ENTER&&e.preventDefault()})),"aria-disabled":G,"aria-checked":g,"aria-selected":void 0,"data-state":g?"checked":"unchecked","data-disabled":G?"":void 0,asChild:R,className:c,...f,children:o})})})}));R.displayName="RadioGroupPrimitiveItem";const v=e.forwardRef((({children:t,className:o,asChild:a=!1,...n},d)=>{const{itemSelected:s}=e.useContext(p);return s?r.jsx(i.Primitive.span,{ref:d,className:o,asChild:a,...n,children:t}):null}));v.displayName="RadioGroupPrimitiveIndicator";const m=e.forwardRef(((e,r)=>(console.warn("Direct usage of RadioGroup is not supported. Please use RadioGroup.Root, RadioGroup.Item, etc. instead."),null)));m.displayName="RadioGroupPrimitive",m.Root=c,m.Item=R,m.Indicator=v,exports.RadioGroupPrimitive=m;
@@ -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-BidxkqdT.js";import{R as a,a as d}from"./index-D8QLtYJh.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-DH-14XDv.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:"both",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};
@@ -0,0 +1 @@
1
+ 'use client';"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("react/jsx-runtime"),r=require("./useComponentClass-B0DF90tm.cjs"),n=require("./documentOverlayOpen-BbC6uByx.cjs"),o=require("./index-Bg-UeWCo.cjs");require("./ThemeContext-t7IX-w6i.cjs"),require("./mergeProps-DW5qFqqJ.cjs");const l=e.createContext({rootClass:"",type:"hover",scrollbarVisible:!1,overflow:{x:!1,y:!1},overlaySuppressesScrollbar:!1,scrollbarsMounted:{x:!1,y:!1}}),c=e.createContext(void 0);function s(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 i=new Set(["A","BUTTON","INPUT","SELECT","TEXTAREA","IFRAME","AUDIO","VIDEO","SUMMARY"]);function u(e){if(!(e instanceof HTMLElement))return!1;const t=e.getAttribute("tabindex");return null!==t?Number(t)>=0:!!e.isContentEditable||!!i.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)}function a(e){const t=Math.max(0,e.scrollWidth-e.clientWidth),r="undefined"!=typeof window&&"rtl"===window.getComputedStyle(e).direction;return r?{min:-t,max:0,rtl:r}:{min:0,max:t,rtl:r}}function d(e,t){const{min:r,max:n}=a(e);return Math.min(n,Math.max(r,t))}const f="ScrollArea",m=e.forwardRef((({children:c,className:i="",customRootClass:u="",type:m="hover",...v},h)=>{const p=r.useComponentClass(u,f),b=e.useRef(null),y=e.useRef(null),x=e.useRef(null),w=e.useRef(null),g=e.useRef(null),E=e.useRef(null),R=e.useRef(null),M=e.useRef({x:0,y:0}),[T,L]=e.useState({x:!1,y:!1}),[C,S]=e.useState({x:!1,y:!1}),{scrollbarVisible:N,setInteracting:A}=function(t,r,n){const[o,l]=e.useState("always"===t),c=e.useRef(!1),s=e.useRef(!1),i=e.useRef(null),u=e.useCallback((()=>{i.current&&(clearTimeout(i.current),i.current=null)}),[]),a=e.useCallback((()=>{u(),i.current=setTimeout((()=>{c.current||s.current||l(!1)}),1e3)}),[u]),d=e.useCallback((()=>{"scroll"!==t&&"hover"!==t||(l(!0),"scroll"!==t&&c.current?u():a())}),[t,a,u]);return e.useEffect((()=>{l("always"===t),u(),c.current=!1}),[t,u]),e.useEffect((()=>{if("always"===t||"auto"===t)return;const e=r?.current;if(!e)return;const n=()=>d();return e.addEventListener("scroll",n,{passive:!0}),()=>{e.removeEventListener("scroll",n),u()}}),[t,r,d,u]),e.useEffect((()=>{if("hover"!==t)return;const e=n?.current;if(!e)return;const r=()=>{c.current=!0,u(),l(!0)},o=()=>{c.current=!1,a()};return e.addEventListener("mouseenter",r),e.addEventListener("mouseleave",o),()=>{e.removeEventListener("mouseenter",r),e.removeEventListener("mouseleave",o),u()}}),[t,n,a,u]),e.useEffect((()=>()=>u()),[u]),{scrollbarVisible:o,setInteracting:e.useCallback((e=>{s.current=e,"scroll"!==t&&"hover"!==t||(e?(u(),l(!0)):c.current&&"scroll"!==t||a())}),[t,u,a])}}(m,w,b),O=function(){const[t,r]=e.useState((()=>n.isDocumentOverlayOpen()));return e.useEffect((()=>{const e=()=>{r(n.isDocumentOverlayOpen())},t=n.subscribeDocumentOverlayOpen(e),o=new MutationObserver(e);return o.observe(document.documentElement,{attributes:!0,attributeFilter:[n.DOCUMENT_OVERLAY_OPEN_ATTRIBUTE]}),o.observe(document.body,{attributes:!0,attributeFilter:["style"]}),()=>{t(),o.disconnect()}}),[]),t}();e.useEffect((()=>{H()}),[y,x,w]),e.useEffect((()=>{const e=w.current;if(!e)return;const t=()=>{H(),I()},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&&I()}));return o.observe(e,{childList:!0,subtree:!1}),window.addEventListener("resize",t),()=>{r.disconnect(),o.disconnect(),window.removeEventListener("resize",t)}}),[]);const H=()=>{if(!w.current)return;const e=w.current,t=e.clientHeight,r=e.scrollHeight,n=r>t;if(y.current){const e=s(g.current,"vertical",t);if(t<=0)y.current.style.height="0px";else if(n){const n=Math.min(e,Math.max(e*(t/r),24));y.current.style.height=`${n}px`}else y.current.style.height=`${e}px`}const o=e.clientWidth,l=e.scrollWidth,c=l>o;if(x.current){const e=s(E.current,"horizontal",o);if(o<=0)x.current.style.width="0px";else if(c){const t=Math.min(e,Math.max(e*(o/l),24));x.current.style.width=`${t}px`}else x.current.style.width=`${e}px`}S((e=>e.x===c&&e.y===n?e:{x:c,y:n}))},I=()=>{if(!w.current)return;const e=w.current;if(y.current){const t=e.clientHeight,r=e.scrollHeight,n=e.scrollTop,o=y.current.clientHeight,l=s(g.current,"vertical",t);if(t<=0||r<=t)y.current.style.top="0px";else{const e=Math.min(1,Math.max(0,n/(r-t)))*Math.max(0,l-o);y.current.style.top=`${e}px`}}if(x.current){const t=e.clientWidth,r=e.scrollWidth,n=e.scrollLeft,o=x.current.clientWidth,l=s(E.current,"horizontal",t),{rtl:c}=a(e),i=Math.max(0,l-o);if(t<=0||r<=t)x.current.style.left=`${c?i:0}px`;else{const e=Math.abs(n)/(r-t),o=Math.min(1,Math.max(0,e)),l=c?i-o*i:o*i;x.current.style.left=`${l}px`}}},P=()=>{H(),I()},Y=()=>{null!==R.current&&(cancelAnimationFrame(R.current),R.current=null)};e.useEffect((()=>Y),[]);const W=e=>{if(!w.current)return;const t=w.current;Y();const r=Math.max(0,t.scrollHeight-t.clientHeight),n=void 0!==e.top?Math.min(r,Math.max(0,e.top)):void 0,o=void 0!==e.left?d(t,e.left):void 0;if("undefined"!=typeof window&&"function"==typeof window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches)return void 0!==n&&(t.scrollTop=n),void(void 0!==o&&(t.scrollLeft=o));const l=t.scrollTop,c=t.scrollLeft,s=void 0!==n?n-l:0,i=void 0!==o?o-c:0,u=performance.now(),a=e=>{const r=e-u,d=Math.min(Math.max(r/150,0),1),f=1-Math.pow(1-d,3);void 0!==n&&(t.scrollTop=l+s*f),void 0!==o&&(t.scrollLeft=c+i*f),R.current=d<1?requestAnimationFrame(a):null};R.current=requestAnimationFrame(a)},D=e.useCallback((e=>{const t="vertical"===e?"y":"x";return M.current[t]+=1,L((e=>e[t]?e:{...e,[t]:!0})),()=>{M.current[t]=Math.max(0,M.current[t]-1),0===M.current[t]&&L((e=>e[t]?{...e,[t]:!1}:e))}}),[]);return e.useEffect((()=>{P()}),[T.x,T.y,C.x,C.y,m]),t.jsx(l.Provider,{value:{rootClass:p,scrollYThumbRef:y,scrollXThumbRef:x,scrollAreaViewportRef:w,handleScroll:I,handleScrollbarClick:e=>{if(!w.current)return;const t=w.current;if("vertical"===e.orientation&&void 0!==e.clientY){const r=y.current;if(!r)return;if(t.clientHeight<=0||t.scrollHeight<=t.clientHeight)return;const n=r.getBoundingClientRect();e.clientY<n.top?W({top:t.scrollTop-t.clientHeight}):e.clientY>n.bottom&&W({top:t.scrollTop+t.clientHeight})}else if("horizontal"===e.orientation&&void 0!==e.clientX){const r=x.current;if(!r)return;if(t.clientWidth<=0||t.scrollWidth<=t.clientWidth)return;const n=r.getBoundingClientRect();e.clientX<n.left?W({left:t.scrollLeft-t.clientWidth}):e.clientX>n.right&&W({left:t.scrollLeft+t.clientWidth})}},type:m,scrollbarVisible:N,overflow:C,overlaySuppressesScrollbar:O,rootRef:b,scrollbarYRef:g,scrollbarXRef:E,registerScrollbar:D,syncThumbs:P,scrollbarsMounted:T,setInteracting:A},children:t.jsx(o.Primitive.div,{ref:e=>{b.current=e,"function"==typeof h?h(e):h&&(h.current=e)},className:r.clsx(p,i),"data-scrollbar-type":m,"data-scrollbar-x":String(C.x||"always"===m),"data-scrollbar-y":String(C.y||"always"===m),...v,children:c})})}));m.displayName=f;const v=e.forwardRef((({children:n,className:c="",onScroll:s,...i},a)=>{const{rootClass:d,scrollAreaViewportRef:f,handleScroll:m,overflow:v}=e.useContext(l),h=v.x||v.y,[p,b]=e.useState(!0);e.useEffect((()=>{const e=f?.current;if(!e||!h)return;const t=()=>b(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(u(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()}),[h,f]);const y=h&&!p?0:void 0;return t.jsx(o.Primitive.div,{tabIndex:y,...i,ref:e=>{f&&(f.current=e),"function"==typeof a?a(e):a&&(a.current=e)},className:r.clsx(d&&`${d}-viewport`,c),onScroll:e=>{m?.(),s?.(e)},children:n})}));v.displayName="ScrollAreaViewport";const h="undefined"!=typeof window?e.useLayoutEffect:e.useEffect,p=e.forwardRef((({children:n,className:s="",orientation:i="vertical",style:u,onMouseDown:d,onMouseUp:f,onMouseLeave:m,...v},p)=>{const{rootClass:b,handleScrollbarClick:y,scrollXThumbRef:x,scrollYThumbRef:w,scrollbarXRef:g,scrollbarYRef:E,scrollAreaViewportRef:R,registerScrollbar:M,scrollbarsMounted:T,type:L,scrollbarVisible:C,overflow:S,overlaySuppressesScrollbar:N}=e.useContext(l),A=e.useRef(null),O=e.useRef(null),H=e.useRef(!1),I=e.useRef(null),P=e.useRef(0),Y=e.useRef(null),W="vertical"===i?S.y:S.x,D="vertical"===i?S.x:S.y,X="vertical"===i?T.x:T.y;h((()=>M?.(i)),[i,M]);const V=e.useCallback((e=>{Y.current=e;const t="vertical"===i?E:g;t&&(t.current=e),"function"==typeof p?p(e):p&&(p.current=e)}),[i,p,g,E]),k=e.useCallback((e=>{const t="vertical"===i?w?.current:x?.current;if(!t)return!1;const r=t.getBoundingClientRect();return"vertical"===i?e<r.top||e>r.bottom:e<r.left||e>r.right}),[i,x,w]),j=e.useCallback((()=>{H.current=!1,I.current?.(),I.current=null,O.current&&(clearTimeout(O.current),O.current=null),A.current&&(clearInterval(A.current),A.current=null)}),[]),F=e.useCallback((e=>{if(!y||0!==e.button)return;e.preventDefault(),j(),P.current="vertical"===i?e.clientY:e.clientX,H.current=!0,y({clientY:e.clientY,clientX:e.clientX,orientation:i});const t=e=>{P.current="vertical"===i?e.clientY:e.clientX},r=()=>j();document.addEventListener("mousemove",t),document.addEventListener("mouseup",r),I.current=()=>{document.removeEventListener("mousemove",t),document.removeEventListener("mouseup",r)},O.current=setTimeout((()=>{O.current=null,H.current&&(A.current=setInterval((()=>{H.current&&k(P.current)?y({clientY:"vertical"===i?P.current:void 0,clientX:"horizontal"===i?P.current:void 0,orientation:i}):j()}),50))}),300)}),[y,i,k,j]);e.useEffect((()=>j),[j]),e.useEffect((()=>{const e=Y.current;if(!e)return;const t=e=>{const t=R?.current;if(!t)return;const r=1===e.deltaMode?16:2===e.deltaMode?"vertical"===i?t.clientHeight:t.clientWidth:1;if("vertical"===i){const n=e.deltaY*r,o=t.scrollHeight-t.clientHeight;if(!(n<0&&t.scrollTop>0||n>0&&t.scrollTop<o))return;e.preventDefault(),t.scrollTop=Math.min(o,Math.max(0,t.scrollTop+n))}else{const{min:n,max:o,rtl:l}=a(t),c=(e.deltaX||(l?-e.deltaY:e.deltaY))*r;if(!(c<0&&t.scrollLeft>n||c>0&&t.scrollLeft<o))return;e.preventDefault(),t.scrollLeft=Math.min(o,Math.max(n,t.scrollLeft+c))}};return e.addEventListener("wheel",t,{passive:!1}),()=>e.removeEventListener("wheel",t)}),[i,R]);const $=!N&&("always"===L||"auto"===L&&W||W&&("scroll"===L||"hover"===L)&&C),U=W||"always"===L,q=U&&X&&(D||"always"===L);return t.jsx(c.Provider,{value:i,children:t.jsx(o.Primitive.div,{...v,ref:V,className:r.clsx(b&&`${b}-scrollbar`,s),"data-orientation":i,"data-state":$?"visible":"hidden","data-corner":q?"":void 0,style:{..."horizontal"===i?{direction:"ltr"}:null,...u,...U?null:{display:"none"}},onMouseDown:e=>{d?.(e),e.defaultPrevented||F(e)},onMouseUp:e=>{f?.(e),j()},onMouseLeave:e=>{m?.(e),j()},children:n})})}));p.displayName="ScrollAreaScrollbar";const b=e.forwardRef((({children:n,className:i="",orientation:u,onMouseDown:a,onPointerDown:f,style:m,...v},h)=>{const p=e.useContext(c),b=u??p??"vertical",{rootClass:y,scrollXThumbRef:x,scrollYThumbRef:w,scrollbarXRef:g,scrollbarYRef:E,scrollAreaViewportRef:R,syncThumbs:M,setInteracting:T,type:L,scrollbarVisible:C,overflow:S,overlaySuppressesScrollbar:N}=e.useContext(l),A="vertical"===b?S.y:S.x,O=!N&&("always"===L||"auto"===L&&A||A&&("scroll"===L||"hover"===L)&&C),H=e.useRef(!1),I=e.useRef({x:0,y:0,scrollTop:0,scrollLeft:0}),P=e.useRef(null),[Y,W]=e.useState(!1),D=e.useCallback((e=>{if(!H.current||!R?.current)return;const t=R.current,r="vertical"===b?w?.current:x?.current;if(!r)return;const n=("vertical"===b?E?.current:g?.current)??r.parentElement;if("vertical"===b){const o=e.clientY-I.current.y,l=s(n,"vertical",t.clientHeight)-r.clientHeight;if(l<=0)return;const c=t.scrollHeight-t.clientHeight,i=I.current.scrollTop+o/l*c;t.scrollTop=Math.max(0,Math.min(i,c))}else{const o=e.clientX-I.current.x,l=s(n,"horizontal",t.clientWidth)-r.clientWidth;if(l<=0)return;const c=t.scrollWidth-t.clientWidth,i=I.current.scrollLeft+o/l*c;t.scrollLeft=d(t,i)}}),[b,R,x,w,g,E]),X=e.useCallback((()=>{(H.current||P.current)&&(H.current=!1,P.current?.(),P.current=null,document.body.style.cursor="",document.body.style.userSelect="",W(!1),T?.(!1))}),[T]),V=e.useCallback((e=>{if(!R?.current)return;if("mouse"===e.pointerType&&0!==e.button)return;if(!1===e.isPrimary)return;e.preventDefault(),e.stopPropagation(),X(),H.current=!0;const t=e.pointerId;I.current={x:e.clientX,y:e.clientY,scrollTop:R.current.scrollTop,scrollLeft:R.current.scrollLeft};const r=e=>{void 0!==t&&void 0!==e.pointerId&&e.pointerId!==t||D(e)},n=e=>{void 0!==t&&void 0!==e.pointerId&&e.pointerId!==t||X()};document.addEventListener("pointermove",r),document.addEventListener("pointerup",n),document.addEventListener("pointercancel",n),P.current=()=>{document.removeEventListener("pointermove",r),document.removeEventListener("pointerup",n),document.removeEventListener("pointercancel",n)},document.body.style.userSelect="none",document.body.style.cursor="grabbing",W(!0),T?.(!0)}),[R,D,X,T]);e.useEffect((()=>X),[X]),e.useEffect((()=>{M?.()}),[b]);return t.jsx(o.Primitive.div,{...v,ref:e=>{const t="vertical"===b?w:x;t&&(t.current=e),"function"==typeof h?h(e):h&&(h.current=e)},className:r.clsx(y&&`${y}-thumb`,i),"data-orientation":b,"data-state":O?"visible":"hidden","data-dragging":Y?"":void 0,style:{touchAction:"none",...m},onPointerDown:e=>{f?.(e),e.defaultPrevented||V(e)},onMouseDown:e=>{a?.(e),e.stopPropagation()},children:n})}));b.displayName="ScrollAreaThumb";const y=e.forwardRef((({children:n,className:c,style:s,...i},u)=>{const{rootClass:a,scrollbarsMounted:d,overflow:f,type:m}=e.useContext(l),v=d.x&&d.y&&("always"===m||f.x&&f.y);return t.jsx(o.Primitive.div,{...i,ref:u,className:r.clsx(a&&`${a}-corner`,c),"data-state":v?"visible":"hidden",style:{...s,...v?null:{display:"none"}},children:n})}));y.displayName="ScrollAreaCorner";const x=e.forwardRef(((e,t)=>(console.warn("Direct usage of ScrollArea is not supported. Please use ScrollArea.Root and ScrollArea.Viewport instead."),null)));x.Root=m,x.Viewport=v,x.Scrollbar=p,x.Thumb=b,x.Corner=y,x.displayName="ScrollArea",exports.Corner=y,exports.Root=m,exports.Scrollbar=p,exports.Thumb=b,exports.Viewport=v,exports.default=x;
@@ -1,37 +1,48 @@
1
1
  import React, { ComponentPropsWithoutRef } from 'react';
2
+ import Primitive from '~/core/primitives/Primitive';
2
3
 
3
4
  type ScrollAreaScrollbarType = 'auto' | 'always' | 'scroll' | 'hover';
4
5
 
5
- type ScrollAreaRootProps = ComponentPropsWithoutRef<'div'> & {
6
+ type ScrollAreaRootProps = ComponentPropsWithoutRef<typeof Primitive.div> & {
6
7
  customRootClass?: string;
7
8
  /** Controls scrollbar and thumb visibility: always, on scroll (1s fade), on hover + scroll, or when overflowing (auto). */
8
9
  type?: ScrollAreaScrollbarType;
9
10
  };
10
- declare const ScrollAreaRoot: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
11
+ declare const ScrollAreaRoot: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
12
+ asChild?: boolean;
13
+ } & React.RefAttributes<HTMLElement>, "ref"> & {
11
14
  customRootClass?: string;
12
15
  /** Controls scrollbar and thumb visibility: always, on scroll (1s fade), on hover + scroll, or when overflowing (auto). */
13
16
  type?: ScrollAreaScrollbarType;
14
- } & React.RefAttributes<HTMLDivElement>>;
17
+ } & React.RefAttributes<HTMLElement>>;
15
18
 
16
- type ScrollAreaViewportProps = ComponentPropsWithoutRef<'div'>;
17
- declare const ScrollAreaViewport: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
19
+ type ScrollAreaViewportProps = ComponentPropsWithoutRef<typeof Primitive.div>;
20
+ declare const ScrollAreaViewport: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
21
+ asChild?: boolean;
22
+ } & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLElement>>;
18
23
 
19
- type ScrollAreaScrollbarProps = ComponentPropsWithoutRef<'div'> & {
24
+ type ScrollAreaScrollbarProps = ComponentPropsWithoutRef<typeof Primitive.div> & {
20
25
  orientation?: 'horizontal' | 'vertical';
21
26
  };
22
- declare const ScrollAreaScrollbar: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
27
+ declare const ScrollAreaScrollbar: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
28
+ asChild?: boolean;
29
+ } & React.RefAttributes<HTMLElement>, "ref"> & {
23
30
  orientation?: "horizontal" | "vertical";
24
- } & React.RefAttributes<HTMLDivElement>>;
31
+ } & React.RefAttributes<HTMLElement>>;
25
32
 
26
- type ScrollAreaThumbProps = ComponentPropsWithoutRef<'div'> & {
33
+ type ScrollAreaThumbProps = ComponentPropsWithoutRef<typeof Primitive.div> & {
27
34
  orientation?: 'horizontal' | 'vertical';
28
35
  };
29
- declare const ScrollAreaThumb: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
36
+ declare const ScrollAreaThumb: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
37
+ asChild?: boolean;
38
+ } & React.RefAttributes<HTMLElement>, "ref"> & {
30
39
  orientation?: "horizontal" | "vertical";
31
- } & React.RefAttributes<HTMLDivElement>>;
40
+ } & React.RefAttributes<HTMLElement>>;
32
41
 
33
- type ScrollAreaCornerProps = ComponentPropsWithoutRef<'div'>;
34
- declare const ScrollAreaCorner: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
42
+ type ScrollAreaCornerProps = ComponentPropsWithoutRef<typeof Primitive.div>;
43
+ declare const ScrollAreaCorner: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
44
+ asChild?: boolean;
45
+ } & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLElement>>;
35
46
 
36
47
  type ScrollAreaProps = React.ComponentPropsWithoutRef<'div'>;
37
48
  declare const ScrollArea: React.ForwardRefExoticComponent<ScrollAreaProps> & {
@@ -1 +1 @@
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};
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 m,D as h}from"./documentOverlayOpen-coyGmcyL.js";import{P as v}from"./index-BidxkqdT.js";import"./ThemeContext-Sm-iNANd.js";import"./mergeProps-0RucjqeH.js";const p=t({rootClass:"",type:"hover",scrollbarVisible:!1,overflow:{x:!1,y:!1},overlaySuppressesScrollbar:!1,scrollbarsMounted:{x:!1,y:!1}}),y=t(void 0);function b(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 w=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||!!w.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)}function x(e){const t=Math.max(0,e.scrollWidth-e.clientWidth),r="undefined"!=typeof window&&"rtl"===window.getComputedStyle(e).direction;return r?{min:-t,max:0,rtl:r}:{min:0,max:t,rtl:r}}function M(e,t){const{min:r,max:n}=x(e);return Math.min(n,Math.max(r,t))}const T="ScrollArea",L=c((({children:t,className:c="",customRootClass:i="",type:s="hover",...y},w)=>{const g=u(i,T),L=n(null),E=n(null),S=n(null),N=n(null),R=n(null),A=n(null),C=n(null),H=n({x:0,y:0}),[I,W]=e.useState({x:!1,y:!1}),[Y,X]=e.useState({x:!1,y:!1}),{scrollbarVisible:D,setInteracting:V}=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)}),[]),m=o((()=>{f(),d.current=setTimeout((()=>{a.current||u.current||s(!1)}),1e3)}),[f]),h=o((()=>{"scroll"!==e&&"hover"!==e||(s(!0),"scroll"!==e&&a.current?f():m())}),[e,m,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=()=>h();return r.addEventListener("scroll",n,{passive:!0}),()=>{r.removeEventListener("scroll",n),f()}}),[e,t,h,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,m()};return t.addEventListener("mouseenter",r),t.addEventListener("mouseleave",n),()=>{t.removeEventListener("mouseenter",r),t.removeEventListener("mouseleave",n),f()}}),[e,c,m,f]),l((()=>()=>f()),[f]),{scrollbarVisible:i,setInteracting:o((t=>{u.current=t,"scroll"!==e&&"hover"!==e||(t?(f(),s(!0)):a.current&&"scroll"!==e||m())}),[e,f,m])}}(s,N,L),P=function(){const[t,r]=e.useState((()=>f()));return e.useEffect((()=>{const e=()=>{r(f())},t=m(e),n=new MutationObserver(e);return n.observe(document.documentElement,{attributes:!0,attributeFilter:[h]}),n.observe(document.body,{attributes:!0,attributeFilter:["style"]}),()=>{t(),n.disconnect()}}),[]),t}();l((()=>{F()}),[E,S,N]),l((()=>{const e=N.current;if(!e)return;const t=()=>{F(),O()},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&&O()}));return o.observe(e,{childList:!0,subtree:!1}),window.addEventListener("resize",t),()=>{r.disconnect(),o.disconnect(),window.removeEventListener("resize",t)}}),[]);const F=()=>{if(!N.current)return;const e=N.current,t=e.clientHeight,r=e.scrollHeight,n=r>t;if(E.current){const e=b(R.current,"vertical",t);if(t<=0)E.current.style.height="0px";else if(n){const n=Math.min(e,Math.max(e*(t/r),24));E.current.style.height=`${n}px`}else E.current.style.height=`${e}px`}const o=e.clientWidth,l=e.scrollWidth,c=l>o;if(S.current){const e=b(A.current,"horizontal",o);if(o<=0)S.current.style.width="0px";else if(c){const t=Math.min(e,Math.max(e*(o/l),24));S.current.style.width=`${t}px`}else S.current.style.width=`${e}px`}X((e=>e.x===c&&e.y===n?e:{x:c,y:n}))},O=()=>{if(!N.current)return;const e=N.current;if(E.current){const t=e.clientHeight,r=e.scrollHeight,n=e.scrollTop,o=E.current.clientHeight,l=b(R.current,"vertical",t);if(t<=0||r<=t)E.current.style.top="0px";else{const e=Math.min(1,Math.max(0,n/(r-t)))*Math.max(0,l-o);E.current.style.top=`${e}px`}}if(S.current){const t=e.clientWidth,r=e.scrollWidth,n=e.scrollLeft,o=S.current.clientWidth,l=b(A.current,"horizontal",t),{rtl:c}=x(e),i=Math.max(0,l-o);if(t<=0||r<=t)S.current.style.left=`${c?i:0}px`;else{const e=Math.abs(n)/(r-t),o=Math.min(1,Math.max(0,e)),l=c?i-o*i:o*i;S.current.style.left=`${l}px`}}},$=()=>{F(),O()},z=()=>{null!==C.current&&(cancelAnimationFrame(C.current),C.current=null)};l((()=>z),[]);const U=e=>{if(!N.current)return;const t=N.current;z();const r=Math.max(0,t.scrollHeight-t.clientHeight),n=void 0!==e.top?Math.min(r,Math.max(0,e.top)):void 0,o=void 0!==e.left?M(t,e.left):void 0;if("undefined"!=typeof window&&"function"==typeof window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches)return void 0!==n&&(t.scrollTop=n),void(void 0!==o&&(t.scrollLeft=o));const l=t.scrollTop,c=t.scrollLeft,i=void 0!==n?n-l:0,s=void 0!==o?o-c:0,a=performance.now(),u=e=>{const r=e-a,d=Math.min(Math.max(r/150,0),1),f=1-Math.pow(1-d,3);void 0!==n&&(t.scrollTop=l+i*f),void 0!==o&&(t.scrollLeft=c+s*f),C.current=d<1?requestAnimationFrame(u):null};C.current=requestAnimationFrame(u)},j=o((e=>{const t="vertical"===e?"y":"x";return H.current[t]+=1,W((e=>e[t]?e:{...e,[t]:!0})),()=>{H.current[t]=Math.max(0,H.current[t]-1),0===H.current[t]&&W((e=>e[t]?{...e,[t]:!1}:e))}}),[]);return l((()=>{$()}),[I.x,I.y,Y.x,Y.y,s]),a(p.Provider,{value:{rootClass:g,scrollYThumbRef:E,scrollXThumbRef:S,scrollAreaViewportRef:N,handleScroll:O,handleScrollbarClick:e=>{if(!N.current)return;const t=N.current;if("vertical"===e.orientation&&void 0!==e.clientY){const r=E.current;if(!r)return;if(t.clientHeight<=0||t.scrollHeight<=t.clientHeight)return;const n=r.getBoundingClientRect();e.clientY<n.top?U({top:t.scrollTop-t.clientHeight}):e.clientY>n.bottom&&U({top:t.scrollTop+t.clientHeight})}else if("horizontal"===e.orientation&&void 0!==e.clientX){const r=S.current;if(!r)return;if(t.clientWidth<=0||t.scrollWidth<=t.clientWidth)return;const n=r.getBoundingClientRect();e.clientX<n.left?U({left:t.scrollLeft-t.clientWidth}):e.clientX>n.right&&U({left:t.scrollLeft+t.clientWidth})}},type:s,scrollbarVisible:D,overflow:Y,overlaySuppressesScrollbar:P,rootRef:L,scrollbarYRef:R,scrollbarXRef:A,registerScrollbar:j,syncThumbs:$,scrollbarsMounted:I,setInteracting:V},children:a(v.div,{ref:e=>{L.current=e,"function"==typeof w?w(e):w&&(w.current=e)},className:d(g,c),"data-scrollbar-type":s,"data-scrollbar-x":String(Y.x||"always"===s),"data-scrollbar-y":String(Y.y||"always"===s),...y,children:t})})}));L.displayName=T;const E=c((({children:e,className:t="",onScroll:n,...o},c)=>{const{rootClass:s,scrollAreaViewportRef:u,handleScroll:f,overflow:m}=i(p),h=m.x||m.y,[y,b]=r(!0);l((()=>{const e=u?.current;if(!e||!h)return;const t=()=>b(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()}),[h,u]);const w=h&&!y?0:void 0;return a(v.div,{tabIndex:w,...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})}));E.displayName="ScrollAreaViewport";const S="undefined"!=typeof window?s:l,N=c((({children:e,className:t="",orientation:r="vertical",style:c,onMouseDown:s,onMouseUp:u,onMouseLeave:f,...m},h)=>{const{rootClass:b,handleScrollbarClick:w,scrollXThumbRef:g,scrollYThumbRef:M,scrollbarXRef:T,scrollbarYRef:L,scrollAreaViewportRef:E,registerScrollbar:N,scrollbarsMounted:R,type:A,scrollbarVisible:C,overflow:H,overlaySuppressesScrollbar:I}=i(p),W=n(null),Y=n(null),X=n(!1),D=n(null),V=n(0),P=n(null),F="vertical"===r?H.y:H.x,O="vertical"===r?H.x:H.y,$="vertical"===r?R.x:R.y;S((()=>N?.(r)),[r,N]);const z=o((e=>{P.current=e;const t="vertical"===r?L:T;t&&(t.current=e),"function"==typeof h?h(e):h&&(h.current=e)}),[r,h,T,L]),U=o((e=>{const t="vertical"===r?M?.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,M]),j=o((()=>{X.current=!1,D.current?.(),D.current=null,Y.current&&(clearTimeout(Y.current),Y.current=null),W.current&&(clearInterval(W.current),W.current=null)}),[]),B=o((e=>{if(!w||0!==e.button)return;e.preventDefault(),j(),V.current="vertical"===r?e.clientY:e.clientX,X.current=!0,w({clientY:e.clientY,clientX:e.clientX,orientation:r});const t=e=>{V.current="vertical"===r?e.clientY:e.clientX},n=()=>j();document.addEventListener("mousemove",t),document.addEventListener("mouseup",n),D.current=()=>{document.removeEventListener("mousemove",t),document.removeEventListener("mouseup",n)},Y.current=setTimeout((()=>{Y.current=null,X.current&&(W.current=setInterval((()=>{X.current&&U(V.current)?w({clientY:"vertical"===r?V.current:void 0,clientX:"horizontal"===r?V.current:void 0,orientation:r}):j()}),50))}),300)}),[w,r,U,j]);l((()=>j),[j]),l((()=>{const e=P.current;if(!e)return;const t=e=>{const t=E?.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{min:r,max:o,rtl:l}=x(t),c=(e.deltaX||(l?-e.deltaY:e.deltaY))*n;if(!(c<0&&t.scrollLeft>r||c>0&&t.scrollLeft<o))return;e.preventDefault(),t.scrollLeft=Math.min(o,Math.max(r,t.scrollLeft+c))}};return e.addEventListener("wheel",t,{passive:!1}),()=>e.removeEventListener("wheel",t)}),[r,E]);const k=!I&&("always"===A||"auto"===A&&F||F&&("scroll"===A||"hover"===A)&&C),_=F||"always"===A,q=_&&$&&(O||"always"===A);return a(y.Provider,{value:r,children:a(v.div,{...m,ref:z,className:d(b&&`${b}-scrollbar`,t),"data-orientation":r,"data-state":k?"visible":"hidden","data-corner":q?"":void 0,style:{..."horizontal"===r?{direction:"ltr"}:null,...c,..._?null:{display:"none"}},onMouseDown:e=>{s?.(e),e.defaultPrevented||B(e)},onMouseUp:e=>{u?.(e),j()},onMouseLeave:e=>{f?.(e),j()},children:e})})}));N.displayName="ScrollAreaScrollbar";const R=c((({children:t,className:r="",orientation:l,onMouseDown:c,onPointerDown:s,style:u,...f},m)=>{const h=i(y),w=l??h??"vertical",{rootClass:g,scrollXThumbRef:x,scrollYThumbRef:T,scrollbarXRef:L,scrollbarYRef:E,scrollAreaViewportRef:S,syncThumbs:N,setInteracting:R,type:A,scrollbarVisible:C,overflow:H,overlaySuppressesScrollbar:I}=i(p),W="vertical"===w?H.y:H.x,Y=!I&&("always"===A||"auto"===A&&W||W&&("scroll"===A||"hover"===A)&&C),X=n(!1),D=n({x:0,y:0,scrollTop:0,scrollLeft:0}),V=n(null),[P,F]=e.useState(!1),O=o((e=>{if(!X.current||!S?.current)return;const t=S.current,r="vertical"===w?T?.current:x?.current;if(!r)return;const n=("vertical"===w?E?.current:L?.current)??r.parentElement;if("vertical"===w){const o=e.clientY-D.current.y,l=b(n,"vertical",t.clientHeight)-r.clientHeight;if(l<=0)return;const c=t.scrollHeight-t.clientHeight,i=D.current.scrollTop+o/l*c;t.scrollTop=Math.max(0,Math.min(i,c))}else{const o=e.clientX-D.current.x,l=b(n,"horizontal",t.clientWidth)-r.clientWidth;if(l<=0)return;const c=t.scrollWidth-t.clientWidth,i=D.current.scrollLeft+o/l*c;t.scrollLeft=M(t,i)}}),[w,S,x,T,L,E]),$=o((()=>{(X.current||V.current)&&(X.current=!1,V.current?.(),V.current=null,document.body.style.cursor="",document.body.style.userSelect="",F(!1),R?.(!1))}),[R]),z=o((e=>{if(!S?.current)return;if("mouse"===e.pointerType&&0!==e.button)return;if(!1===e.isPrimary)return;e.preventDefault(),e.stopPropagation(),$(),X.current=!0;const t=e.pointerId;D.current={x:e.clientX,y:e.clientY,scrollTop:S.current.scrollTop,scrollLeft:S.current.scrollLeft};const r=e=>{void 0!==t&&void 0!==e.pointerId&&e.pointerId!==t||O(e)},n=e=>{void 0!==t&&void 0!==e.pointerId&&e.pointerId!==t||$()};document.addEventListener("pointermove",r),document.addEventListener("pointerup",n),document.addEventListener("pointercancel",n),V.current=()=>{document.removeEventListener("pointermove",r),document.removeEventListener("pointerup",n),document.removeEventListener("pointercancel",n)},document.body.style.userSelect="none",document.body.style.cursor="grabbing",F(!0),R?.(!0)}),[S,O,$,R]);e.useEffect((()=>$),[$]),e.useEffect((()=>{N?.()}),[w]);return a(v.div,{...f,ref:e=>{const t="vertical"===w?T:x;t&&(t.current=e),"function"==typeof m?m(e):m&&(m.current=e)},className:d(g&&`${g}-thumb`,r),"data-orientation":w,"data-state":Y?"visible":"hidden","data-dragging":P?"":void 0,style:{touchAction:"none",...u},onPointerDown:e=>{s?.(e),e.defaultPrevented||z(e)},onMouseDown:e=>{c?.(e),e.stopPropagation()},children:t})}));R.displayName="ScrollAreaThumb";const A=c((({children:e,className:t,style:r,...n},o)=>{const{rootClass:l,scrollbarsMounted:c,overflow:s,type:u}=i(p),f=c.x&&c.y&&("always"===u||s.x&&s.y);return a(v.div,{...n,ref:o,className:d(l&&`${l}-corner`,t),"data-state":f?"visible":"hidden",style:{...r,...f?null:{display:"none"}},children:e})}));A.displayName="ScrollAreaCorner";const C=e.forwardRef(((e,t)=>(console.warn("Direct usage of ScrollArea is not supported. Please use ScrollArea.Root and ScrollArea.Viewport instead."),null)));C.Root=L,C.Viewport=E,C.Scrollbar=N,C.Thumb=R,C.Corner=A,C.displayName="ScrollArea";export{A as Corner,L as Root,N as Scrollbar,R as Thumb,E as Viewport,C as default};
@@ -0,0 +1 @@
1
+ 'use client';"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("react/jsx-runtime"),o=require("./useComponentClass-B0DF90tm.cjs"),r=require("./ComboboxPrimitive-CyO6ZH5T.cjs"),s=require("./check-BazcmpuG.cjs"),a=require("./ThemeContext-t7IX-w6i.cjs");require("./index-BudP4FIn.cjs"),require("./floating-ui.react-Kw0_L48Q.cjs"),require("react-dom"),require("./index-Bg-UeWCo.cjs"),require("./mergeProps-DW5qFqqJ.cjs"),require("./keyboard-BBlFllyi.cjs"),require("./index-DrMwbB8q.cjs"),require("./index-BwNOI8cB.cjs"),require("./index-CbdoW3TC.cjs"),require("./index-7Bjw6jmo.cjs"),require("./documentOverlayOpen-BbC6uByx.cjs");const i=e.createContext({rootClass:""}),l=e.forwardRef((({customRootClass:s,children:a,className:l,position:c="popper",...n},d)=>{const{rootClass:u}=e.useContext(i);return t.jsx(r.ComboboxPrimitive.Content,{className:o.clsx(u?`${u}-content`:void 0,l)||void 0,position:c,"data-position":c,"data-slot":"select-content",ref:d,...n,children:a})}));l.displayName="SelectContent";const c=e.forwardRef((({customRootClass:s,children:a,className:l,value:c,label:n,disabled:d,...u},m)=>{const{rootClass:x}=e.useContext(i),p=n||r.getNodeText(a).trim()||c;return t.jsx(r.ComboboxPrimitive.Item,{className:o.clsx(x?`${x}-item`:void 0,l)||void 0,value:c,label:p,disabled:d,"data-disabled":d?"":void 0,"data-slot":"select-item",role:"option","aria-disabled":d?"true":void 0,ref:m,...u,children:t.jsx("span",{className:x?`${x}-text`:void 0,"data-slot":"select-item-text",children:a})})}));c.displayName="SelectItem",r.markAsComboboxItemPart(c);const n=e.forwardRef((({customRootClass:s,children:a,className:l,disabled:c,placeholder:n,...d},u)=>{const{rootClass:m}=e.useContext(i);return t.jsx(r.ComboboxPrimitive.Trigger,{className:o.clsx(m?`${m}-trigger`:void 0,l)||void 0,"aria-disabled":c?"true":void 0,"data-placeholder":n?"":void 0,"data-slot":"select-trigger",disabled:c,ref:u,...d,children:a})}));n.displayName="SelectTrigger";const d=e.forwardRef((({customRootClass:e,children:s,className:a,defaultValue:l,value:c,onValueChange:n,sideOffset:d=4,...u},m)=>{const x=o.useComponentClass(e,"Select");return t.jsx(i.Provider,{value:{rootClass:x},children:t.jsx(r.ComboboxPrimitive.Root,{className:o.clsx(x?`${x}-root`:void 0,a)||void 0,"data-slot":"select-root",defaultValue:l,value:c,onValueChange:n,sideOffset:d,ref:m,...u,children:s})})}));d.displayName="SelectRoot";const u=e.forwardRef((({className:r,...a},l)=>{const{rootClass:c}=e.useContext(i);return t.jsx("div",{className:o.clsx(c?`${c}-item-indicator`:void 0,r)||void 0,"data-slot":"select-item-indicator",ref:l,...a,children:t.jsx(s.Check,{width:16,height:16})})}));u.displayName="SelectIndicator";const m=e.forwardRef((({children:o,container:s,forceMount:i,...l},c)=>{const n=e.useContext(a.ThemeContext),d=s??n?.portalRootRef.current??n?.containerRef.current??void 0;return t.jsx(r.ComboboxPrimitive.Portal,{ref:c,container:d,forceMount:i,...l,children:o})}));m.displayName="SelectPortal";const x=e.forwardRef((({children:s,className:a,...l},c)=>{const{rootClass:n}=e.useContext(i),d=o.clsx(n?`${n}-group`:void 0,a)||void 0;return t.jsx(r.ComboboxPrimitive.Group,{className:d,"data-slot":"select-group",ref:c,...l,children:s})}));x.displayName="SelectGroup";const p=e.forwardRef(((e,t)=>(console.warn("Direct usage of Select is not supported. Please use Select.Root, Select.Content, etc. instead."),null)));p.displayName="Select";const C=p;C.Root=d,C.Content=l,C.Item=c,C.Trigger=n,C.Portal=m,C.Group=x,C.Indicator=u,exports.Content=l,exports.Group=x,exports.Indicator=u,exports.Item=c,exports.Portal=m,exports.Root=d,exports.Trigger=n,exports.default=C;
@@ -1,64 +1,74 @@
1
1
  import React from 'react';
2
2
  import ComboboxPrimitive from '~/core/primitives/Combobox/ComboboxPrimitive';
3
- import * as _floating_ui_react from '@floating-ui/react';
3
+ import { Strategy, Placement } from '@floating-ui/react';
4
+ import { ComboboxPrimitivePortalProps } from '~/core/primitives/Combobox/fragments/ComboboxPrimitivePortal';
4
5
 
5
6
  type SelectContentProps = React.ComponentPropsWithoutRef<typeof ComboboxPrimitive.Content> & {
6
7
  customRootClass?: string;
7
8
  };
8
9
  declare const SelectContent: React.ForwardRefExoticComponent<Omit<SelectContentProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
9
10
 
10
- interface ComboboxPrimitiveItemProps {
11
- children: React.ReactNode;
12
- value: string;
13
- label?: string;
14
- disabled?: boolean;
15
- className?: string;
16
- [key: string]: any;
17
- }
18
-
19
11
  type SelectItemProps = React.ComponentPropsWithoutRef<typeof ComboboxPrimitive.Item> & {
20
12
  customRootClass?: string;
21
13
  };
22
- declare const SelectItem: React.ForwardRefExoticComponent<(Omit<Omit<Omit<ComboboxPrimitiveItemProps & Omit<React.InputHTMLAttributes<HTMLInputElement> & {
23
- asChild?: boolean;
24
- } & React.RefAttributes<HTMLElement>, "ref">, "ref"> & React.RefAttributes<HTMLElement>, "ref"> & {
25
- customRootClass?: string;
26
- }, "ref"> | Omit<Omit<Omit<ComboboxPrimitiveItemProps & Omit<React.HTMLAttributes<HTMLElement> & {
27
- asChild?: boolean;
28
- children?: React.ReactNode;
29
- } & React.RefAttributes<HTMLElement>, "ref">, "ref"> & React.RefAttributes<HTMLElement>, "ref"> & {
14
+ declare const SelectItem: React.ForwardRefExoticComponent<Omit<SelectItemProps, "ref"> & React.RefAttributes<HTMLElement>>;
15
+
16
+ type SelectTriggerProps = React.ComponentPropsWithoutRef<typeof ComboboxPrimitive.Trigger> & {
30
17
  customRootClass?: string;
31
- }, "ref">) & React.RefAttributes<HTMLElement>>;
18
+ placeholder?: boolean;
19
+ };
20
+ declare const SelectTrigger: React.ForwardRefExoticComponent<Omit<SelectTriggerProps, "ref"> & React.RefAttributes<HTMLElement>>;
32
21
 
33
- type ComboboxPrimitiveTriggerProps = {
34
- children?: React.ReactNode;
22
+ type Side = 'top' | 'right' | 'bottom' | 'left';
23
+ type Align = 'start' | 'center' | 'end';
24
+ type CollisionPadding = number | Partial<Record<Side, number>>;
25
+ type Boundary = Element | null;
26
+ type ComboboxPrimitiveRootProps = {
27
+ children: React.ReactNode;
35
28
  className?: string;
29
+ value?: string;
30
+ defaultValue?: string;
31
+ name?: string;
32
+ align?: Align;
33
+ alignOffset?: number;
34
+ avoidCollisions?: boolean;
35
+ collisionBoundary?: Boundary | Boundary[];
36
+ collisionPadding?: CollisionPadding;
37
+ constrainSize?: boolean;
38
+ enableFlip?: boolean;
39
+ enableShift?: boolean;
40
+ hideWhenDetached?: boolean;
41
+ matchReferenceWidth?: boolean;
42
+ offsetValue?: number;
43
+ onPlaced?: () => void;
44
+ positioningStrategy?: Strategy;
45
+ side?: Side;
46
+ sideOffset?: number;
47
+ sticky?: 'partial' | 'always';
48
+ updatePositionStrategy?: 'optimized' | 'always';
49
+ onValueChange?: (value: string) => void;
50
+ onClickOutside?: () => void;
51
+ placement?: Placement;
52
+ /** Controlled open state. */
53
+ open?: boolean;
54
+ /** Initial open state (uncontrolled). */
55
+ defaultOpen?: boolean;
56
+ /** Called when the listbox opens or closes. */
57
+ onOpenChange?: (open: boolean) => void;
58
+ /** Disables the trigger so the listbox cannot be opened. */
36
59
  disabled?: boolean;
37
- renderValue?: (value: string, label: string) => React.ReactNode;
38
- [key: string]: any;
60
+ /** Marks the field as required for native form validation. */
61
+ required?: boolean;
39
62
  };
40
63
 
41
- type SelectTriggerProps = React.ComponentPropsWithoutRef<typeof ComboboxPrimitive.Trigger> & {
64
+ type SelectRootProps = React.ComponentPropsWithoutRef<typeof ComboboxPrimitive.Root> & {
42
65
  customRootClass?: string;
43
- placeholder?: boolean;
44
66
  };
45
- declare const SelectTrigger: React.ForwardRefExoticComponent<(Omit<Omit<Omit<ComboboxPrimitiveTriggerProps & Omit<React.InputHTMLAttributes<HTMLInputElement> & {
67
+ declare const SelectRoot: React.ForwardRefExoticComponent<Omit<ComboboxPrimitiveRootProps & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
46
68
  asChild?: boolean;
47
- } & React.RefAttributes<HTMLElement>, "ref">, "ref"> & React.RefAttributes<HTMLElement>, "ref"> & {
69
+ } & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLElement>, "ref"> & {
48
70
  customRootClass?: string;
49
- placeholder?: boolean;
50
- }, "ref"> | Omit<Omit<Omit<ComboboxPrimitiveTriggerProps & Omit<React.HTMLAttributes<HTMLElement> & {
51
- asChild?: boolean;
52
- children?: React.ReactNode;
53
- } & React.RefAttributes<HTMLElement>, "ref">, "ref"> & React.RefAttributes<HTMLElement>, "ref"> & {
54
- customRootClass?: string;
55
- placeholder?: boolean;
56
- }, "ref">) & React.RefAttributes<HTMLElement>>;
57
-
58
- type SelectRootProps = React.ComponentPropsWithoutRef<typeof ComboboxPrimitive.Root> & {
59
- customRootClass?: string;
60
- };
61
- declare const SelectRoot: React.ForwardRefExoticComponent<SelectRootProps & React.RefAttributes<HTMLElement>>;
71
+ } & React.RefAttributes<HTMLElement>>;
62
72
 
63
73
  type SelectIndicatorProps = React.ComponentPropsWithoutRef<'div'>;
64
74
  declare const SelectIndicator: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -66,11 +76,9 @@ declare const SelectIndicator: React.ForwardRefExoticComponent<Omit<React.Detail
66
76
  type SelectPortalProps = {
67
77
  children: React.ReactNode;
68
78
  container?: HTMLElement | null;
79
+ forceMount?: boolean;
69
80
  };
70
- declare const SelectPortal: React.ForwardRefExoticComponent<Omit<{
71
- children: React.ReactNode;
72
- container?: HTMLElement | null;
73
- } & _floating_ui_react.FloatingPortalProps & React.RefAttributes<never>, "ref"> & SelectPortalProps & React.RefAttributes<never>>;
81
+ declare const SelectPortal: React.ForwardRefExoticComponent<Omit<ComboboxPrimitivePortalProps, "children"> & SelectPortalProps & React.RefAttributes<never>>;
74
82
 
75
83
  type ComboboxPrimitiveGroupProps = {
76
84
  children: React.ReactNode;
@@ -1 +1 @@
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
+ 'use client';import e,{useContext as t}from"react";import{jsx as o}from"react/jsx-runtime";import{c as a,u as r}from"./useComponentClass-C0isGl1z.js";import{C as s,g as i,m as l}from"./ComboboxPrimitive-BdX2jgpQ.js";import{C as d}from"./check-ctUdF4Q3.js";import{T as c}from"./ThemeContext-Sm-iNANd.js";import"./index-B_OPdW20.js";import"./floating-ui.react-CZf-mCiA.js";import"react-dom";import"./index-BidxkqdT.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:r,className:i,position:l="popper",...d},c)=>{const{rootClass:m}=t(n);return o(s.Content,{className:a(m?`${m}-content`:void 0,i)||void 0,position:l,"data-position":l,"data-slot":"select-content",ref:c,...d,children:r})}));m.displayName="SelectContent";const p=e.forwardRef((({customRootClass:e,children:r,className:l,value:d,label:c,disabled:m,...p},u)=>{const{rootClass:f}=t(n),v=c||i(r).trim()||d;return o(s.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:r})})}));p.displayName="SelectItem",l(p);const u=e.forwardRef((({customRootClass:e,children:r,className:i,disabled:l,placeholder:d,...c},m)=>{const{rootClass:p}=t(n);return o(s.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:r})}));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=r(e,"Select");return o(n.Provider,{value:{rootClass:f},children:o(s.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,...r},s)=>{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:s,...r,children:o(d,{width:16,height:16})})}));v.displayName="SelectIndicator";const C=e.forwardRef((({children:e,container:a,forceMount:r,...i},l)=>{const d=t(c),n=a??d?.portalRootRef.current??d?.containerRef.current??void 0;return o(s.Portal,{ref:l,container:n,forceMount:r,...i,children:e})}));C.displayName="SelectPortal";const h=e.forwardRef((({children:e,className:r,...i},l)=>{const{rootClass:d}=t(n),c=a(d?`${d}-group`:void 0,r)||void 0;return o(s.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};
@@ -0,0 +1 @@
1
+ 'use client';"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),o=require("./useComponentClass-B0DF90tm.cjs"),t=require("./index-Bg-UeWCo.cjs");require("./ThemeContext-t7IX-w6i.cjs"),require("./mergeProps-DW5qFqqJ.cjs");const a="Separator",s=r.forwardRef((({orientation:r="horizontal",className:s,customRootClass:i,color:n="",decorative:c=!1,...l},u)=>{const d=o.useComponentClass(i,a),m=d?`${d}-${r}`:void 0,p={};p["data-orientation"]=r,n&&(p["data-color"]=n);const v=c?{role:"none"}:{role:"separator",..."vertical"===r?{"aria-orientation":"vertical"}:{}};return e.jsx(t.Primitive.div,{ref:u,className:o.clsx(d,m,s),...v,...p,...l})}));s.displayName=a,exports.default=s;
@@ -8,7 +8,14 @@ type SeparatorProps = {
8
8
  color?: string;
9
9
  decorative?: boolean;
10
10
  } & PrimitiveDivProps;
11
- declare const Separator: React.ForwardRefExoticComponent<SeparatorProps & React.RefAttributes<HTMLElement>>;
11
+ declare const Separator: React.ForwardRefExoticComponent<{
12
+ orientation?: "horizontal" | "vertical";
13
+ customRootClass?: string;
14
+ color?: string;
15
+ decorative?: boolean;
16
+ } & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
17
+ asChild?: boolean;
18
+ } & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLElement>>;
12
19
 
13
20
  export { Separator as default };
14
21
  export type { SeparatorProps };
@@ -1 +1 @@
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
+ '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-BidxkqdT.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};
@@ -0,0 +1 @@
1
+ 'use client';"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),t=require("./useComponentClass-B0DF90tm.cjs");require("./ThemeContext-t7IX-w6i.cjs");const r="Skeleton",a=s.forwardRef((({loading:s=!0,className:a="",customRootClass:o="",children:l,height:i,width:n,radius:u,style:c,...d},h)=>{const m=t.useComponentClass(o,r);return s?e.jsx("div",{ref:h,className:t.clsx(m,a),style:{...c,"--skeleton-height":i,"--skeleton-width":n,"--skeleton-radius":u},...d}):e.jsx(e.Fragment,{children:l})}));a.displayName=r,exports.default=a;
@@ -0,0 +1 @@
1
+ 'use client';"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("./useComponentClass-B0DF90tm.cjs"),a=require("./index-BwNOI8cB.cjs"),n=require("./index-Bg-UeWCo.cjs"),l=require("./keyboard-BBlFllyi.cjs"),i=require("./mergeRefs-BUn-enYe.cjs");require("./ThemeContext-t7IX-w6i.cjs"),require("./mergeProps-DW5qFqqJ.cjs");const o=t.createContext({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}),s=e=>{if(!Number.isFinite(e))return 0;const t=String(e),r=/e-(\d+)$/i.exec(t);if(r){return(t.split(/e/i)[0].split(".")[1]||"").length+Number(r[1])}return(t.split(".")[1]||"").length},u=(e,t,r)=>{const a=Math.min(Math.max(s(t),s(r)),15);return Number(e.toFixed(a))},c=(e,t,r)=>{if(!(t>0))return e;const a=Math.round((e-r)/t)*t+r;return u(a,t,r)},d=(e,t,r)=>Math.min(r,Math.max(t,e)),m=(e,t,r,a)=>({lower:t>0?e[t-1]:r,upper:t<e.length-1?e[t+1]:a}),p="Slider",f=t.forwardRef((({children:n,className:l="",customRootClass:i="",defaultValue:s,value:u,onValueChange:f,onValueCommit:v,min:h=0,max:b=100,step:x=1,disabled:g=!1,name:R,orientation:w="horizontal",pageStepMultiplier:y=10,showStepMarks:E=!1,formatValue:A,onPointerDown:$,...k},M)=>{const S=r.useComponentClass(i,p),[D,j]=a.useControllableState(u,s??(Array.isArray(u)?u:0),f),[N,K]=t.useState(!1),Y=t.useRef(null),C=t.useRef(null),V=t.useRef([]),O=t.useMemo((()=>e=>{C.current=e,"function"==typeof M?M(e):M&&(M.current=e)}),[M]),P=t.useRef(D);P.current=D;const _=t.useCallback((e=>{P.current=e,j(e)}),[j]),B=t.useCallback((e=>{v?.(void 0===e?P.current:e)}),[v]),T=t.useCallback(((e,t)=>{V.current[e]=t}),[]),L=e=>{const t=C.current;if(!t)return null;const r=t.getBoundingClientRect(),a="vertical"===w?r.height:r.width;if(!a)return null;const n="vertical"===w?(r.bottom-e.clientY)/a:(e.clientX-r.left)/a,l=h+d(n,0,1)*(b-h);return i=c(l,x,h),d(i,h,b);var i},X=e=>{const t=L(e);if(null===t)return;const r=P.current;if(Array.isArray(r)){if(0===r.length)return;let e=Y.current;if(null===e){let a=0,n=1/0;if(r.forEach(((e,r)=>{const l=Math.abs(e-t);(l<n||l===n&&t>e)&&(a=r,n=l)})),0===n&&r.filter((e=>e===t)).length>1)return;e=a,Y.current=e,V.current[e]?.current?.focus()}const{lower:a,upper:n}=m(r,e,h,b),l=d(t,a,n);if(l===r[e])return;const i=[...r];i[e]=l,_(i)}else t!==r&&_(t)},F={rootClass:S,value:D,setValue:_,commitValue:B,minValue:h,maxValue:b,step:x,name:R,isDragging:N,setDragging:K,disabled:g,orientation:w,pageStepMultiplier:y,showStepMarks:E,formatValue:A,rootRef:C,thumbRefs:V.current,registerThumbRef:T};return e.jsx(o.Provider,{value:F,children:e.jsx("div",{ref:O,className:r.clsx(S,l),"data-slider-root":S,"data-disabled":g,"data-orientation":w,...k,onPointerDown:e=>{if($?.(e),g||e.defaultPrevented||e.button>0)return;e.stopPropagation();const t=e.target,r=V.current.findIndex((e=>{const r=e?.current;return!!r&&(r===t||r.contains(t))})),a=P.current,n=-1!==r&&Array.isArray(a)&&a.some(((e,t)=>t!==r&&e===a[r]));-1!==r&&Array.isArray(a)&&!n?(Y.current=r,V.current[r]?.current?.focus()):(Y.current=null,Array.isArray(a)||V.current[0]?.current?.focus()),K(!0),X(e);const l=e=>{e.preventDefault(),X(e)},i=()=>{K(!1),Y.current=null,document.removeEventListener("pointermove",l),document.removeEventListener("pointerup",i),document.removeEventListener("pointercancel",i),B()};document.addEventListener("pointermove",l),document.addEventListener("pointerup",i),document.addEventListener("pointercancel",i)},children:n})})}));f.displayName=p;const v=t.forwardRef((({children:a,className:n,style:l,...i},s)=>{const{rootClass:u,orientation:c}=t.useContext(o),d="vertical"===c?{rotate:"180deg",position:"relative"}:{position:"relative"},m=r.clsx(u?`${u}-track`:void 0,n)||void 0;return e.jsx("div",{ref:s,className:m,style:{...l,...d},...i,children:a})}));v.displayName="SliderTrack";const h=t.memo(t.forwardRef((({children:a,asChild:s=!1,index:c=0,"aria-label":p,"aria-labelledby":f,className:v,style:h,onKeyDown:b,onPointerDown:x,onPointerUp:g,onFocus:R,onBlur:w,...y},E)=>{const{rootClass:A,value:$,minValue:k,maxValue:M,step:S,setValue:D,commitValue:j,name:N,isDragging:K,setDragging:Y,disabled:C,orientation:V,pageStepMultiplier:O,formatValue:P,registerThumbRef:_}=t.useContext(o),B=t.useRef(null);t.useEffect((()=>{_&&B.current&&_(c,B)}),[c,_]);const T=Array.isArray($)&&c>=0&&c<$.length?$[c]:"number"==typeof $?$:k,L=Number.isFinite(T)?T:k,X=Math.min(M,Math.max(k,L)),F=M===k?0:(X-k)/(M-k)*100,[W,q]=t.useState(!1),I=K?"dragging":W?"active":"inactive",U=e.jsx(n.Primitive.div,{ref:i.mergeRefs(B,E),asChild:s,className:r.clsx(A?`${A}-thumb`:void 0,v)||void 0,role:"slider",tabIndex:C?-1:0,"aria-valuemin":k,"aria-valuemax":M,"aria-valuenow":X,"aria-valuetext":P?P(X):void 0,"aria-orientation":V,"aria-label":p,"aria-labelledby":f,"aria-disabled":C||void 0,"data-state":I,"data-disabled":C,"data-index":c,onKeyDown:e=>{if(b?.(e),C||e.defaultPrevented)return;let t=X;const r=Boolean(e.currentTarget.closest('[dir="rtl"]'));switch(e.key){case l.KEYBOARD_KEYS.ARROW_RIGHT:t=r?X-S:X+S;break;case l.KEYBOARD_KEYS.ARROW_LEFT:t=r?X+S:X-S;break;case l.KEYBOARD_KEYS.ARROW_UP:t=X+S;break;case l.KEYBOARD_KEYS.ARROW_DOWN:t=X-S;break;case l.KEYBOARD_KEYS.HOME:t=k;break;case l.KEYBOARD_KEYS.END:t=M;break;case l.KEYBOARD_KEYS.PAGE_UP:t=X+S*O;break;case l.KEYBOARD_KEYS.PAGE_DOWN:t=X-S*O;break;default:return}e.preventDefault();const a=Array.isArray($)?m($,c,k,M):{lower:k,upper:M},n=d(u(t,S,k),a.lower,a.upper);if(n===X)return;let i;if(Array.isArray($)){const e=[...$];e[c]=n,i=e}else i=n;D(i),j(i)},onPointerDown:e=>{x?.(e),C||e.defaultPrevented||(e.currentTarget.focus(),Y(!0))},onPointerUp:e=>{g?.(e),Y(!1)},onFocus:e=>{R?.(e),q(!0)},onBlur:e=>{w?.(e),q(!1)},style:{...h,..."vertical"===V?{top:`calc(${F}% - 10px)`}:{left:`calc(${F}% - 10px)`}},...y,children:a});return e.jsxs(e.Fragment,{children:[U,void 0!==N&&e.jsx("input",{type:"hidden",value:X,name:Array.isArray($)?`${N}[${c}]`:N,disabled:C})]})})));h.displayName="SliderThumb";const b=t.forwardRef((({children:a,className:n,style:l,...i},s)=>{const{rootClass:u,value:c,minValue:d,maxValue:m,orientation:p}=t.useContext(o);let f=0,v=0;if(Array.isArray(c))if(0===c.length)f=0,v=0;else{const e=[...c].sort(((e,t)=>e-t)),t=e[0],r=e[e.length-1];f=m===d?0:(t-d)/(m-d)*100,v=m===d?0:(r-d)/(m-d)*100,1===c.length&&(f=0)}else f=0,v=m===d?0:(c-d)/(m-d)*100;const h=v-f,b=r.clsx(u?`${u}-range`:void 0,n)||void 0;return e.jsx("div",{ref:s,className:b,style:{...l,..."vertical"===p?{height:`${h}%`,marginTop:100-v+"%"}:{marginLeft:`${f}%`,width:`${h}%`}},...i,children:a})}));b.displayName="SliderRange";const x=t.forwardRef((({children:r,customMarks:a,...n},l)=>{const{rootClass:i,minValue:s,maxValue:u,step:c,orientation:d,showStepMarks:m}=t.useContext(o);if(!m&&!a)return null;const p=[];if(a)a.forEach((({value:t,label:r})=>{const a=u===s?0:(t-s)/(u-s)*100;p.push(e.jsxs("div",{className:i?`${i}-mark ${i}-mark-custom`:void 0,"data-testid":`mark-${t}`,style:"vertical"===d?{bottom:`${a}%`,left:"50%",transform:"translateX(-50%)"}:{left:`${a}%`,top:0,transform:"translateX(-50%)"},"data-value":t,children:[e.jsx("div",{className:i?`${i}-mark-line`:void 0,style:"vertical"===d?{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.jsx("span",{className:i?`${i}-mark-label`:void 0,style:"vertical"===d?{right:"16px",top:"50%",transform:"translateY(-50%)",whiteSpace:"nowrap"}:{top:"8px",left:"50%",transform:"translateX(-50%)",whiteSpace:"nowrap"},children:r})]},t))}));else for(let t=s;t<=u;t+=c){const r=u===s?0:(t-s)/(u-s)*100;p.push(e.jsx("div",{className:i?`${i}-mark`:void 0,"data-testid":`mark-${t}`,style:"vertical"===d?{bottom:`${r}%`,left:"50%",transform:"translateX(-50%)"}:{left:`${r}%`,top:0,transform:"translateX(-50%)"},"data-value":t,children:e.jsx("div",{className:i?`${i}-mark-line`:void 0,style:"vertical"===d?{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 e.jsxs("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:[p,r]})}));x.displayName="SliderMarks";const g=t.forwardRef((({children:r,"aria-label":a,"aria-labelledby":i,defaultValue:s=[25,75],value:u,onValueChange:d,...m},p)=>{const{rootClass:f,minValue:v,maxValue:h,step:b,disabled:x,orientation:g,rootRef:R}=t.useContext(o),[w,y]=t.useState(u||s),E=u??w,[A,$]=t.useState(null),[k,M]=t.useState(null),S=t.useRef(0),D=e=>Math.min(h,Math.max(v,e)),j=e=>{y(e),d?.(e)},N=h===v?0:(E[0]-v)/(h-v)*100,K=h===v?0:(E[1]-v)/(h-v)*100,Y=(e,t)=>{const r=e.currentTarget.getBoundingClientRect();let a;a="vertical"===g?(r.bottom-e.clientY)/r.height:(e.clientX-r.left)/r.width;const n=c(v+a*(h-v),b,v),l=D(n),i=[...E];i["lower"===t?0:1]=l,"lower"===t?i[0]=Math.min(i[0],E[1]):i[1]=Math.max(i[1],E[0]),j(i)},C=(e,t)=>{if(x)return;e.stopPropagation(),$(t),Y(e,t);const r=e=>{e.preventDefault();const r=R.current;if(!r)return;const a=r.getBoundingClientRect();let n;n="vertical"===g?(a.bottom-e.clientY)/a.height:(e.clientX-a.left)/a.width;const l=c(v+n*(h-v),b,v),i=D(l),o=[...E];o["lower"===t?0:1]=i,"lower"===t?o[0]=Math.min(o[0],E[1]):o[1]=Math.max(o[1],E[0]);const s=performance.now();s-S.current>16&&(j(o),S.current=s)},a=()=>{$(null),document.removeEventListener("pointermove",r),document.removeEventListener("pointerup",a)};document.addEventListener("pointermove",r),document.addEventListener("pointerup",a)},V=(e,t)=>{A&&A===t&&(e.preventDefault(),Y(e,t))},O=()=>{$(null)},P=(e,t)=>{if(x)return;const r=[...E],a=Boolean(e.currentTarget.closest('[dir="rtl"]'));switch(e.key){case l.KEYBOARD_KEYS.ARROW_RIGHT:r["lower"===t?0:1]=a?E["lower"===t?0:1]-b:E["lower"===t?0:1]+b;break;case l.KEYBOARD_KEYS.ARROW_LEFT:r["lower"===t?0:1]=a?E["lower"===t?0:1]+b:E["lower"===t?0:1]-b;break;case l.KEYBOARD_KEYS.ARROW_UP:r["lower"===t?0:1]=E["lower"===t?0:1]+b;break;case l.KEYBOARD_KEYS.ARROW_DOWN:r["lower"===t?0:1]=E["lower"===t?0:1]-b;break;case l.KEYBOARD_KEYS.HOME:r["lower"===t?0:1]=v;break;case l.KEYBOARD_KEYS.END:r["lower"===t?0:1]=h;break;default:return}e.preventDefault(),"lower"===t?r[0]=Math.min(r[0],E[1]):r[1]=Math.max(r[1],E[0]),r[0]=D(r[0]),r[1]=D(r[1]),j(r)};return e.jsxs("div",{ref:p,className:f?`${f}-range-slider`:void 0,...m,children:[e.jsx(n.Primitive.div,{className:f?`${f}-thumb ${f}-thumb-lower`:void 0,role:"slider",tabIndex:x?-1:0,"aria-valuemin":v,"aria-valuemax":h,"aria-valuenow":E[0],"aria-orientation":g,"aria-label":a?`${a} minimum`:"Minimum value","aria-labelledby":i,"data-state":"lower"===A?"dragging":"lower"===k?"active":"inactive","data-disabled":x,onKeyDown:e=>P(e,"lower"),onFocus:()=>M("lower"),onBlur:()=>M(null),onPointerDown:e=>C(e,"lower"),onPointerMove:e=>V(e,"lower"),onPointerUp:O,style:"vertical"===g?{bottom:`calc(${N}% - 8px)`}:{left:`calc(${N}% - 8px)`}}),e.jsx(n.Primitive.div,{className:f?`${f}-thumb ${f}-thumb-upper`:void 0,role:"slider",tabIndex:x?-1:0,"aria-valuemin":v,"aria-valuemax":h,"aria-valuenow":E[1],"aria-orientation":g,"aria-label":a?`${a} maximum`:"Maximum value","aria-labelledby":i,"data-state":"upper"===A?"dragging":"upper"===k?"active":"inactive","data-disabled":x,onKeyDown:e=>P(e,"upper"),onFocus:()=>M("upper"),onBlur:()=>M(null),onPointerDown:e=>C(e,"upper"),onPointerMove:e=>V(e,"upper"),onPointerUp:O,style:"vertical"===g?{bottom:`calc(${K}% - 8px)`}:{left:`calc(${K}% - 8px)`}}),e.jsx("div",{className:f?`${f}-range-fill`:void 0,style:"vertical"===g?{bottom:`${Math.min(N,K)}%`,height:`${Math.abs(K-N)}%`,left:0,right:0}:{left:`${Math.min(N,K)}%`,width:`${Math.abs(K-N)}%`,top:0,bottom:0}}),r]})}));g.displayName="SliderRangeSlider";const R=(e,t)=>2===t?0===e?"minimum":"maximum":`${e+1} of ${t}`,w=t.forwardRef(((t,r)=>{const{defaultValue:a,min:n=0,max:l=100,step:i=1,orientation:o="horizontal",formatValue:s,"aria-label":u,"aria-labelledby":c,...d}=t,m=t.value??a,p=Array.isArray(m)?Math.max(m.length,1):1;return e.jsx(w.Root,{ref:r,defaultValue:a,min:n,max:l,step:i,orientation:o,formatValue:s,...d,children:p>1?e.jsxs(e.Fragment,{children:[e.jsx(w.Track,{children:e.jsx(w.Range,{})}),Array.from({length:p},((t,r)=>e.jsx(w.Thumb,{index:r,"aria-label":u?`${u} ${R(r,p)}`:void 0,"aria-labelledby":c},r)))]}):e.jsx(w.Track,{children:e.jsx(w.Range,{children:e.jsx(w.Thumb,{"aria-label":u,"aria-labelledby":c})})})})}));w.displayName="Slider",w.Root=f,w.Track=v,w.Range=b,w.Thumb=h,w.Marks=x,w.RangeSlider=g,exports.Marks=x,exports.Range=b,exports.RangeSlider=g,exports.Root=f,exports.Thumb=h,exports.Track=v,exports.default=w;