lynote-ui 0.0.1

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 (577) hide show
  1. package/README.md +24 -0
  2. package/dist/CompositeItem-DKYDWwo1.js +30 -0
  3. package/dist/CompositeItem-DKYDWwo1.js.map +1 -0
  4. package/dist/CompositeItem-DqbuwxxP.mjs +31 -0
  5. package/dist/CompositeItem-DqbuwxxP.mjs.map +1 -0
  6. package/dist/CompositeList-CLP_jD9H.js +151 -0
  7. package/dist/CompositeList-CLP_jD9H.js.map +1 -0
  8. package/dist/CompositeList-CM71m-RA.mjs +135 -0
  9. package/dist/CompositeList-CM71m-RA.mjs.map +1 -0
  10. package/dist/CompositeRoot-Clz7hqk6.mjs +291 -0
  11. package/dist/CompositeRoot-Clz7hqk6.mjs.map +1 -0
  12. package/dist/CompositeRoot-DhWDFM9v.js +307 -0
  13. package/dist/CompositeRoot-DhWDFM9v.js.map +1 -0
  14. package/dist/DialogRoot-C_3aVl-g.mjs +69 -0
  15. package/dist/DialogRoot-C_3aVl-g.mjs.map +1 -0
  16. package/dist/DialogRoot-D_7sM8HI.js +85 -0
  17. package/dist/DialogRoot-D_7sM8HI.js.map +1 -0
  18. package/dist/DialogTrigger-BqeNq2F6.mjs +532 -0
  19. package/dist/DialogTrigger-BqeNq2F6.mjs.map +1 -0
  20. package/dist/DialogTrigger-CgBPTG9W.js +548 -0
  21. package/dist/DialogTrigger-CgBPTG9W.js.map +1 -0
  22. package/dist/DirectionContext-BaCziR5k.mjs +12 -0
  23. package/dist/DirectionContext-BaCziR5k.mjs.map +1 -0
  24. package/dist/DirectionContext-BsZvU9q3.js +28 -0
  25. package/dist/DirectionContext-BsZvU9q3.js.map +1 -0
  26. package/dist/DirectionProvider-DaKrURtH.js +36 -0
  27. package/dist/DirectionProvider-DaKrURtH.js.map +1 -0
  28. package/dist/DirectionProvider-ttyWmQjZ.mjs +20 -0
  29. package/dist/DirectionProvider-ttyWmQjZ.mjs.map +1 -0
  30. package/dist/FieldItemContext-DRVgx-D1.mjs +13 -0
  31. package/dist/FieldItemContext-DRVgx-D1.mjs.map +1 -0
  32. package/dist/FieldItemContext-K2sFjft8.js +29 -0
  33. package/dist/FieldItemContext-K2sFjft8.js.map +1 -0
  34. package/dist/FloatingPortalLite-CEKehtqV.js +50 -0
  35. package/dist/FloatingPortalLite-CEKehtqV.js.map +1 -0
  36. package/dist/FloatingPortalLite-CsPfJ360.mjs +33 -0
  37. package/dist/FloatingPortalLite-CsPfJ360.mjs.map +1 -0
  38. package/dist/FormItem-BmgGAecB.mjs +185 -0
  39. package/dist/FormItem-BmgGAecB.mjs.map +1 -0
  40. package/dist/FormItem-xksTqxKD.js +200 -0
  41. package/dist/FormItem-xksTqxKD.js.map +1 -0
  42. package/dist/InternalBackdrop-B3WuVcuG.js +1021 -0
  43. package/dist/InternalBackdrop-B3WuVcuG.js.map +1 -0
  44. package/dist/InternalBackdrop-C7vtdMWQ.mjs +1005 -0
  45. package/dist/InternalBackdrop-C7vtdMWQ.mjs.map +1 -0
  46. package/dist/LabelableContext-DLLBESLn.mjs +213 -0
  47. package/dist/LabelableContext-DLLBESLn.mjs.map +1 -0
  48. package/dist/LabelableContext-DYy4DAX3.js +230 -0
  49. package/dist/LabelableContext-DYy4DAX3.js.map +1 -0
  50. package/dist/MenuSubmenuTrigger-95oBD6Dx.js +1659 -0
  51. package/dist/MenuSubmenuTrigger-95oBD6Dx.js.map +1 -0
  52. package/dist/MenuSubmenuTrigger-Bnw6ycbc.mjs +1643 -0
  53. package/dist/MenuSubmenuTrigger-Bnw6ycbc.mjs.map +1 -0
  54. package/dist/Separator-BKPk5Lcn.js +43 -0
  55. package/dist/Separator-BKPk5Lcn.js.map +1 -0
  56. package/dist/Separator-Dvb0TS9E.mjs +27 -0
  57. package/dist/Separator-Dvb0TS9E.mjs.map +1 -0
  58. package/dist/ToolbarRootContext-B_HxjkNI.mjs +11 -0
  59. package/dist/ToolbarRootContext-B_HxjkNI.mjs.map +1 -0
  60. package/dist/ToolbarRootContext-C8eU2VAC.js +27 -0
  61. package/dist/ToolbarRootContext-C8eU2VAC.js.map +1 -0
  62. package/dist/accordion/index.d.ts +6 -0
  63. package/dist/accordion/index.js +618 -0
  64. package/dist/accordion/index.js.map +1 -0
  65. package/dist/accordion/index.mjs +601 -0
  66. package/dist/accordion/index.mjs.map +1 -0
  67. package/dist/alert/index.d.ts +11 -0
  68. package/dist/alert/index.js +78 -0
  69. package/dist/alert/index.js.map +1 -0
  70. package/dist/alert/index.mjs +78 -0
  71. package/dist/alert/index.mjs.map +1 -0
  72. package/dist/alert-dialog/index.d.ts +18 -0
  73. package/dist/alert-dialog/index.js +240 -0
  74. package/dist/alert-dialog/index.js.map +1 -0
  75. package/dist/alert-dialog/index.mjs +223 -0
  76. package/dist/alert-dialog/index.mjs.map +1 -0
  77. package/dist/aspect-ratio/index.d.ts +4 -0
  78. package/dist/aspect-ratio/index.js +23 -0
  79. package/dist/aspect-ratio/index.js.map +1 -0
  80. package/dist/aspect-ratio/index.mjs +23 -0
  81. package/dist/aspect-ratio/index.mjs.map +1 -0
  82. package/dist/avatar/index.d.ts +11 -0
  83. package/dist/avatar/index.js +287 -0
  84. package/dist/avatar/index.js.map +1 -0
  85. package/dist/avatar/index.mjs +270 -0
  86. package/dist/avatar/index.mjs.map +1 -0
  87. package/dist/badge/index.d.ts +9 -0
  88. package/dist/badge/index.js +48 -0
  89. package/dist/badge/index.js.map +1 -0
  90. package/dist/badge/index.mjs +48 -0
  91. package/dist/badge/index.mjs.map +1 -0
  92. package/dist/breadcrumb/index.d.ts +10 -0
  93. package/dist/breadcrumb/index.js +123 -0
  94. package/dist/breadcrumb/index.js.map +1 -0
  95. package/dist/breadcrumb/index.mjs +123 -0
  96. package/dist/breadcrumb/index.mjs.map +1 -0
  97. package/dist/button/index.d.ts +9 -0
  98. package/dist/button/index.js +99 -0
  99. package/dist/button/index.js.map +1 -0
  100. package/dist/button/index.mjs +82 -0
  101. package/dist/button/index.mjs.map +1 -0
  102. package/dist/button-group/index.d.ts +12 -0
  103. package/dist/button-group/index.js +83 -0
  104. package/dist/button-group/index.js.map +1 -0
  105. package/dist/button-group/index.mjs +83 -0
  106. package/dist/button-group/index.mjs.map +1 -0
  107. package/dist/calendar/index.d.ts +10 -0
  108. package/dist/calendar/index.js +205 -0
  109. package/dist/calendar/index.js.map +1 -0
  110. package/dist/calendar/index.mjs +188 -0
  111. package/dist/calendar/index.mjs.map +1 -0
  112. package/dist/card/index.d.ts +11 -0
  113. package/dist/card/index.js +102 -0
  114. package/dist/card/index.js.map +1 -0
  115. package/dist/card/index.mjs +102 -0
  116. package/dist/card/index.mjs.map +1 -0
  117. package/dist/carousel/index.d.ts +28 -0
  118. package/dist/carousel/index.js +217 -0
  119. package/dist/carousel/index.js.map +1 -0
  120. package/dist/carousel/index.mjs +200 -0
  121. package/dist/carousel/index.mjs.map +1 -0
  122. package/dist/chart/index.d.ts +44 -0
  123. package/dist/chart/index.js +272 -0
  124. package/dist/chart/index.js.map +1 -0
  125. package/dist/chart/index.mjs +254 -0
  126. package/dist/chart/index.mjs.map +1 -0
  127. package/dist/checkbox/index.d.ts +3 -0
  128. package/dist/checkbox/index.js +425 -0
  129. package/dist/checkbox/index.js.map +1 -0
  130. package/dist/checkbox/index.mjs +408 -0
  131. package/dist/checkbox/index.mjs.map +1 -0
  132. package/dist/clamp-CRAygR8_.mjs +17 -0
  133. package/dist/clamp-CRAygR8_.mjs.map +1 -0
  134. package/dist/clamp-Cl34OJjs.js +33 -0
  135. package/dist/clamp-Cl34OJjs.js.map +1 -0
  136. package/dist/collapsible/index.d.ts +5 -0
  137. package/dist/collapsible/index.js +244 -0
  138. package/dist/collapsible/index.js.map +1 -0
  139. package/dist/collapsible/index.mjs +227 -0
  140. package/dist/collapsible/index.mjs.map +1 -0
  141. package/dist/combobox/index.d.ts +24 -0
  142. package/dist/combobox/index.js +294 -0
  143. package/dist/combobox/index.js.map +1 -0
  144. package/dist/combobox/index.mjs +277 -0
  145. package/dist/combobox/index.mjs.map +1 -0
  146. package/dist/command/index.d.ts +19 -0
  147. package/dist/command/index.js +174 -0
  148. package/dist/command/index.js.map +1 -0
  149. package/dist/command/index.mjs +174 -0
  150. package/dist/command/index.mjs.map +1 -0
  151. package/dist/composite-54CI9F0V.mjs +346 -0
  152. package/dist/composite-54CI9F0V.mjs.map +1 -0
  153. package/dist/composite-B6lEHrCV.mjs +119 -0
  154. package/dist/composite-B6lEHrCV.mjs.map +1 -0
  155. package/dist/composite-BT0EMBUB.js +118 -0
  156. package/dist/composite-BT0EMBUB.js.map +1 -0
  157. package/dist/composite-DhXBXmhV.js +345 -0
  158. package/dist/composite-DhXBXmhV.js.map +1 -0
  159. package/dist/constants-DAVIOz2s.js +18 -0
  160. package/dist/constants-DAVIOz2s.js.map +1 -0
  161. package/dist/constants-Dfh7hQez.mjs +19 -0
  162. package/dist/constants-Dfh7hQez.mjs.map +1 -0
  163. package/dist/context-menu/index.d.ts +29 -0
  164. package/dist/context-menu/index.js +458 -0
  165. package/dist/context-menu/index.js.map +1 -0
  166. package/dist/context-menu/index.mjs +441 -0
  167. package/dist/context-menu/index.mjs.map +1 -0
  168. package/dist/createBaseUIEventDetails-CRQSf9K3.mjs +79 -0
  169. package/dist/createBaseUIEventDetails-CRQSf9K3.mjs.map +1 -0
  170. package/dist/createBaseUIEventDetails-D39y2D9R.js +78 -0
  171. package/dist/createBaseUIEventDetails-D39y2D9R.js.map +1 -0
  172. package/dist/date-picker/index.d.ts +3 -0
  173. package/dist/date-picker/index.js +47 -0
  174. package/dist/date-picker/index.js.map +1 -0
  175. package/dist/date-picker/index.mjs +30 -0
  176. package/dist/date-picker/index.mjs.map +1 -0
  177. package/dist/detectBrowser-CT93wuqL.mjs +64 -0
  178. package/dist/detectBrowser-CT93wuqL.mjs.map +1 -0
  179. package/dist/detectBrowser-j_AUpd7-.js +63 -0
  180. package/dist/detectBrowser-j_AUpd7-.js.map +1 -0
  181. package/dist/dialog/index.d.ts +17 -0
  182. package/dist/dialog/index.js +153 -0
  183. package/dist/dialog/index.js.map +1 -0
  184. package/dist/dialog/index.mjs +153 -0
  185. package/dist/dialog/index.mjs.map +1 -0
  186. package/dist/direction/index.d.ts +1 -0
  187. package/dist/direction/index.js +7 -0
  188. package/dist/direction/index.js.map +1 -0
  189. package/dist/direction/index.mjs +7 -0
  190. package/dist/direction/index.mjs.map +1 -0
  191. package/dist/drawer/index.d.ts +13 -0
  192. package/dist/drawer/index.js +128 -0
  193. package/dist/drawer/index.js.map +1 -0
  194. package/dist/drawer/index.mjs +128 -0
  195. package/dist/drawer/index.mjs.map +1 -0
  196. package/dist/dropdown-menu/index.d.ts +29 -0
  197. package/dist/dropdown-menu/index.js +573 -0
  198. package/dist/dropdown-menu/index.js.map +1 -0
  199. package/dist/dropdown-menu/index.mjs +555 -0
  200. package/dist/dropdown-menu/index.mjs.map +1 -0
  201. package/dist/element-BtC-M4rb.mjs +103 -0
  202. package/dist/element-BtC-M4rb.mjs.map +1 -0
  203. package/dist/element-DAAyJrnp.js +102 -0
  204. package/dist/element-DAAyJrnp.js.map +1 -0
  205. package/dist/empty/index.d.ts +12 -0
  206. package/dist/empty/index.js +103 -0
  207. package/dist/empty/index.js.map +1 -0
  208. package/dist/empty/index.mjs +103 -0
  209. package/dist/empty/index.mjs.map +1 -0
  210. package/dist/event-BHxKjfyi.js +43 -0
  211. package/dist/event-BHxKjfyi.js.map +1 -0
  212. package/dist/event-CcyVszlp.mjs +44 -0
  213. package/dist/event-CcyVszlp.mjs.map +1 -0
  214. package/dist/field/index.d.ts +25 -0
  215. package/dist/field/index.js +219 -0
  216. package/dist/field/index.js.map +1 -0
  217. package/dist/field/index.mjs +219 -0
  218. package/dist/field/index.mjs.map +1 -0
  219. package/dist/floating-ui.utils-CMX6M1P8.js +149 -0
  220. package/dist/floating-ui.utils-CMX6M1P8.js.map +1 -0
  221. package/dist/floating-ui.utils-DoPG3M8C.mjs +150 -0
  222. package/dist/floating-ui.utils-DoPG3M8C.mjs.map +1 -0
  223. package/dist/floating-ui.utils.dom-BAD07kLX.mjs +176 -0
  224. package/dist/floating-ui.utils.dom-BAD07kLX.mjs.map +1 -0
  225. package/dist/floating-ui.utils.dom-djqmdyxg.js +175 -0
  226. package/dist/floating-ui.utils.dom-djqmdyxg.js.map +1 -0
  227. package/dist/form/components/Form.d.ts +4 -0
  228. package/dist/form/components/FormControl.d.ts +3 -0
  229. package/dist/form/components/FormDescription.d.ts +3 -0
  230. package/dist/form/components/FormField.d.ts +3 -0
  231. package/dist/form/components/FormItem.d.ts +7 -0
  232. package/dist/form/components/FormLabel.d.ts +3 -0
  233. package/dist/form/components/FormMessage.d.ts +4 -0
  234. package/dist/form/components/variants.d.ts +6 -0
  235. package/dist/form/context/index.d.ts +4 -0
  236. package/dist/form/hooks/useFormField.d.ts +14 -0
  237. package/dist/form/index.d.ts +11 -0
  238. package/dist/form/index.js +19 -0
  239. package/dist/form/index.js.map +1 -0
  240. package/dist/form/index.mjs +13 -0
  241. package/dist/form/index.mjs.map +1 -0
  242. package/dist/form/type.d.ts +48 -0
  243. package/dist/getEmptyRootContext-CBrvBF2x.mjs +17 -0
  244. package/dist/getEmptyRootContext-CBrvBF2x.mjs.map +1 -0
  245. package/dist/getEmptyRootContext-DrOPobKp.js +16 -0
  246. package/dist/getEmptyRootContext-DrOPobKp.js.map +1 -0
  247. package/dist/getPseudoElementBounds-CN2-zcsN.js +29 -0
  248. package/dist/getPseudoElementBounds-CN2-zcsN.js.map +1 -0
  249. package/dist/getPseudoElementBounds-i4YX-qQ2.mjs +30 -0
  250. package/dist/getPseudoElementBounds-i4YX-qQ2.mjs.map +1 -0
  251. package/dist/hooks/use-mobile.d.ts +1 -0
  252. package/dist/hover-card/index.d.ts +5 -0
  253. package/dist/hover-card/index.js +501 -0
  254. package/dist/hover-card/index.js.map +1 -0
  255. package/dist/hover-card/index.mjs +483 -0
  256. package/dist/hover-card/index.mjs.map +1 -0
  257. package/dist/index-B3i3Mf61.mjs +147 -0
  258. package/dist/index-B3i3Mf61.mjs.map +1 -0
  259. package/dist/index-zBgD3uv6.js +163 -0
  260. package/dist/index-zBgD3uv6.js.map +1 -0
  261. package/dist/index.d.ts +57 -0
  262. package/dist/index.js +393 -0
  263. package/dist/index.js.map +1 -0
  264. package/dist/index.mjs +384 -0
  265. package/dist/index.mjs.map +1 -0
  266. package/dist/inertValue-gSeyz2Lm.js +10 -0
  267. package/dist/inertValue-gSeyz2Lm.js.map +1 -0
  268. package/dist/inertValue-t5QI1CFn.mjs +11 -0
  269. package/dist/inertValue-t5QI1CFn.mjs.map +1 -0
  270. package/dist/input/index.d.ts +3 -0
  271. package/dist/input/index.js +167 -0
  272. package/dist/input/index.js.map +1 -0
  273. package/dist/input/index.mjs +150 -0
  274. package/dist/input/index.mjs.map +1 -0
  275. package/dist/input-group/index.d.ts +19 -0
  276. package/dist/input-group/index.js +146 -0
  277. package/dist/input-group/index.js.map +1 -0
  278. package/dist/input-group/index.mjs +146 -0
  279. package/dist/input-group/index.mjs.map +1 -0
  280. package/dist/input-otp/index.d.ts +11 -0
  281. package/dist/input-otp/index.js +84 -0
  282. package/dist/input-otp/index.js.map +1 -0
  283. package/dist/input-otp/index.mjs +67 -0
  284. package/dist/input-otp/index.mjs.map +1 -0
  285. package/dist/isElementDisabled-2KG8-O4B.mjs +7 -0
  286. package/dist/isElementDisabled-2KG8-O4B.mjs.map +1 -0
  287. package/dist/isElementDisabled-p2fc38Eq.js +6 -0
  288. package/dist/isElementDisabled-p2fc38Eq.js.map +1 -0
  289. package/dist/item/index.d.ts +23 -0
  290. package/dist/item/index.js +196 -0
  291. package/dist/item/index.js.map +1 -0
  292. package/dist/item/index.mjs +196 -0
  293. package/dist/item/index.mjs.map +1 -0
  294. package/dist/jsx-runtime-CPzt8Nmm.js +321 -0
  295. package/dist/jsx-runtime-CPzt8Nmm.js.map +1 -0
  296. package/dist/jsx-runtime-Dog7MAYX.mjs +322 -0
  297. package/dist/jsx-runtime-Dog7MAYX.mjs.map +1 -0
  298. package/dist/kbd/index.d.ts +3 -0
  299. package/dist/kbd/index.js +30 -0
  300. package/dist/kbd/index.js.map +1 -0
  301. package/dist/kbd/index.mjs +30 -0
  302. package/dist/kbd/index.mjs.map +1 -0
  303. package/dist/label/index.d.ts +3 -0
  304. package/dist/label/index.js +19 -0
  305. package/dist/label/index.js.map +1 -0
  306. package/dist/label/index.mjs +19 -0
  307. package/dist/label/index.mjs.map +1 -0
  308. package/dist/lib/cva.d.ts +1 -0
  309. package/dist/lib/index.d.ts +2 -0
  310. package/dist/lib/utils.d.ts +2 -0
  311. package/dist/menubar/index.d.ts +29 -0
  312. package/dist/menubar/index.js +365 -0
  313. package/dist/menubar/index.js.map +1 -0
  314. package/dist/menubar/index.mjs +348 -0
  315. package/dist/menubar/index.mjs.map +1 -0
  316. package/dist/native-select/index.d.ts +8 -0
  317. package/dist/native-select/index.js +54 -0
  318. package/dist/native-select/index.js.map +1 -0
  319. package/dist/native-select/index.mjs +54 -0
  320. package/dist/native-select/index.mjs.map +1 -0
  321. package/dist/navigation-menu/index.d.ts +12 -0
  322. package/dist/navigation-menu/index.js +1702 -0
  323. package/dist/navigation-menu/index.js.map +1 -0
  324. package/dist/navigation-menu/index.mjs +1684 -0
  325. package/dist/navigation-menu/index.mjs.map +1 -0
  326. package/dist/owner-Cf_X0F_A.mjs +7 -0
  327. package/dist/owner-Cf_X0F_A.mjs.map +1 -0
  328. package/dist/owner-DohlhdQa.js +6 -0
  329. package/dist/owner-DohlhdQa.js.map +1 -0
  330. package/dist/pagination/index.d.ts +17 -0
  331. package/dist/pagination/index.js +129 -0
  332. package/dist/pagination/index.js.map +1 -0
  333. package/dist/pagination/index.mjs +129 -0
  334. package/dist/pagination/index.mjs.map +1 -0
  335. package/dist/popover/index.d.ts +12 -0
  336. package/dist/popover/index.js +83 -0
  337. package/dist/popover/index.js.map +1 -0
  338. package/dist/popover/index.mjs +83 -0
  339. package/dist/popover/index.mjs.map +1 -0
  340. package/dist/popupStateMapping-DKN5mXrh.js +2694 -0
  341. package/dist/popupStateMapping-DKN5mXrh.js.map +1 -0
  342. package/dist/popupStateMapping-Dvf6vjid.mjs +2678 -0
  343. package/dist/popupStateMapping-Dvf6vjid.mjs.map +1 -0
  344. package/dist/progress/index.d.ts +7 -0
  345. package/dist/progress/index.js +315 -0
  346. package/dist/progress/index.js.map +1 -0
  347. package/dist/progress/index.mjs +298 -0
  348. package/dist/progress/index.mjs.map +1 -0
  349. package/dist/radio-group/index.d.ts +5 -0
  350. package/dist/radio-group/index.js +549 -0
  351. package/dist/radio-group/index.js.map +1 -0
  352. package/dist/radio-group/index.mjs +532 -0
  353. package/dist/radio-group/index.mjs.map +1 -0
  354. package/dist/resizable/index.d.ts +7 -0
  355. package/dist/resizable/index.js +63 -0
  356. package/dist/resizable/index.js.map +1 -0
  357. package/dist/resizable/index.mjs +46 -0
  358. package/dist/resizable/index.mjs.map +1 -0
  359. package/dist/resolveAriaLabelledBy-BOrKNO_y.js +10 -0
  360. package/dist/resolveAriaLabelledBy-BOrKNO_y.js.map +1 -0
  361. package/dist/resolveAriaLabelledBy-JxsTST5s.mjs +11 -0
  362. package/dist/resolveAriaLabelledBy-JxsTST5s.mjs.map +1 -0
  363. package/dist/safePolygon-ClN7sX4N.mjs +710 -0
  364. package/dist/safePolygon-ClN7sX4N.mjs.map +1 -0
  365. package/dist/safePolygon-DzT-LXP_.js +727 -0
  366. package/dist/safePolygon-DzT-LXP_.js.map +1 -0
  367. package/dist/safeReact-V1Amqcv9.mjs +8 -0
  368. package/dist/safeReact-V1Amqcv9.mjs.map +1 -0
  369. package/dist/safeReact-j2phwwP4.js +24 -0
  370. package/dist/safeReact-j2phwwP4.js.map +1 -0
  371. package/dist/scroll-area/index.d.ts +4 -0
  372. package/dist/scroll-area/index.js +1017 -0
  373. package/dist/scroll-area/index.js.map +1 -0
  374. package/dist/scroll-area/index.mjs +1000 -0
  375. package/dist/scroll-area/index.mjs.map +1 -0
  376. package/dist/select/index.d.ts +15 -0
  377. package/dist/select/index.js +2311 -0
  378. package/dist/select/index.js.map +1 -0
  379. package/dist/select/index.mjs +2293 -0
  380. package/dist/select/index.mjs.map +1 -0
  381. package/dist/separator/index.d.ts +3 -0
  382. package/dist/separator/index.js +25 -0
  383. package/dist/separator/index.js.map +1 -0
  384. package/dist/separator/index.mjs +25 -0
  385. package/dist/separator/index.mjs.map +1 -0
  386. package/dist/serializeValue-BLvnTy3o.mjs +17 -0
  387. package/dist/serializeValue-BLvnTy3o.mjs.map +1 -0
  388. package/dist/serializeValue-rMlAxdiX.js +16 -0
  389. package/dist/serializeValue-rMlAxdiX.js.map +1 -0
  390. package/dist/sheet/index.d.ts +14 -0
  391. package/dist/sheet/index.js +135 -0
  392. package/dist/sheet/index.js.map +1 -0
  393. package/dist/sheet/index.mjs +135 -0
  394. package/dist/sheet/index.mjs.map +1 -0
  395. package/dist/sidebar/index.d.ts +64 -0
  396. package/dist/sidebar/index.js +671 -0
  397. package/dist/sidebar/index.js.map +1 -0
  398. package/dist/sidebar/index.mjs +654 -0
  399. package/dist/sidebar/index.mjs.map +1 -0
  400. package/dist/skeleton/index.d.ts +2 -0
  401. package/dist/skeleton/index.js +16 -0
  402. package/dist/skeleton/index.js.map +1 -0
  403. package/dist/skeleton/index.mjs +16 -0
  404. package/dist/skeleton/index.mjs.map +1 -0
  405. package/dist/slider/index.d.ts +3 -0
  406. package/dist/slider/index.js +1361 -0
  407. package/dist/slider/index.js.map +1 -0
  408. package/dist/slider/index.mjs +1344 -0
  409. package/dist/slider/index.mjs.map +1 -0
  410. package/dist/sonner/index.d.ts +3 -0
  411. package/dist/sonner/index.js +10 -0
  412. package/dist/sonner/index.js.map +1 -0
  413. package/dist/sonner/index.mjs +7 -0
  414. package/dist/sonner/index.mjs.map +1 -0
  415. package/dist/sonner/sonner.d.ts +3 -0
  416. package/dist/sonner-Ctpa1LLR.js +36 -0
  417. package/dist/sonner-Ctpa1LLR.js.map +1 -0
  418. package/dist/sonner-D0rALbMy.mjs +37 -0
  419. package/dist/sonner-D0rALbMy.mjs.map +1 -0
  420. package/dist/spinner/index.d.ts +2 -0
  421. package/dist/spinner/index.js +10 -0
  422. package/dist/spinner/index.js.map +1 -0
  423. package/dist/spinner/index.mjs +10 -0
  424. package/dist/spinner/index.mjs.map +1 -0
  425. package/dist/style.css +6284 -0
  426. package/dist/styles-BY9BExrL.js +17 -0
  427. package/dist/styles-BY9BExrL.js.map +1 -0
  428. package/dist/styles-DGdX19B5.mjs +18 -0
  429. package/dist/styles-DGdX19B5.mjs.map +1 -0
  430. package/dist/switch/index.d.ts +5 -0
  431. package/dist/switch/index.js +306 -0
  432. package/dist/switch/index.js.map +1 -0
  433. package/dist/switch/index.mjs +289 -0
  434. package/dist/switch/index.mjs.map +1 -0
  435. package/dist/table/index.d.ts +10 -0
  436. package/dist/table/index.js +115 -0
  437. package/dist/table/index.js.map +1 -0
  438. package/dist/table/index.mjs +115 -0
  439. package/dist/table/index.mjs.map +1 -0
  440. package/dist/tabs/index.d.ts +11 -0
  441. package/dist/tabs/index.js +718 -0
  442. package/dist/tabs/index.js.map +1 -0
  443. package/dist/tabs/index.mjs +701 -0
  444. package/dist/tabs/index.mjs.map +1 -0
  445. package/dist/textarea/index.d.ts +3 -0
  446. package/dist/textarea/index.js +19 -0
  447. package/dist/textarea/index.js.map +1 -0
  448. package/dist/textarea/index.mjs +19 -0
  449. package/dist/textarea/index.mjs.map +1 -0
  450. package/dist/toggle/index.d.ts +9 -0
  451. package/dist/toggle/index.js +9 -0
  452. package/dist/toggle/index.js.map +1 -0
  453. package/dist/toggle/index.mjs +9 -0
  454. package/dist/toggle/index.mjs.map +1 -0
  455. package/dist/toggle-group/index.d.ts +10 -0
  456. package/dist/toggle-group/index.js +199 -0
  457. package/dist/toggle-group/index.js.map +1 -0
  458. package/dist/toggle-group/index.mjs +182 -0
  459. package/dist/toggle-group/index.mjs.map +1 -0
  460. package/dist/tooltip/index.d.ts +6 -0
  461. package/dist/tooltip/index.js +940 -0
  462. package/dist/tooltip/index.js.map +1 -0
  463. package/dist/tooltip/index.mjs +922 -0
  464. package/dist/tooltip/index.mjs.map +1 -0
  465. package/dist/useAnchorPositioning-DEkPt210.mjs +2213 -0
  466. package/dist/useAnchorPositioning-DEkPt210.mjs.map +1 -0
  467. package/dist/useAnchorPositioning-jXRh4g8d.js +2229 -0
  468. package/dist/useAnchorPositioning-jXRh4g8d.js.map +1 -0
  469. package/dist/useAnimationFrame-Bgt4Euiv.js +100 -0
  470. package/dist/useAnimationFrame-Bgt4Euiv.js.map +1 -0
  471. package/dist/useAnimationFrame-CJsjFUv3.mjs +101 -0
  472. package/dist/useAnimationFrame-CJsjFUv3.mjs.map +1 -0
  473. package/dist/useAriaLabelledBy-AZCBHH3a.js +63 -0
  474. package/dist/useAriaLabelledBy-AZCBHH3a.js.map +1 -0
  475. package/dist/useAriaLabelledBy-Chelmb26.mjs +47 -0
  476. package/dist/useAriaLabelledBy-Chelmb26.mjs.map +1 -0
  477. package/dist/useBaseUiId-Dd6rCWZj.mjs +30 -0
  478. package/dist/useBaseUiId-Dd6rCWZj.mjs.map +1 -0
  479. package/dist/useBaseUiId-ZDgjliOe.js +46 -0
  480. package/dist/useBaseUiId-ZDgjliOe.js.map +1 -0
  481. package/dist/useButton-CcvYPR5H.js +246 -0
  482. package/dist/useButton-CcvYPR5H.js.map +1 -0
  483. package/dist/useButton-DbBdV6Ig.mjs +230 -0
  484. package/dist/useButton-DbBdV6Ig.mjs.map +1 -0
  485. package/dist/useClick-1DLd7znk.mjs +97 -0
  486. package/dist/useClick-1DLd7znk.mjs.map +1 -0
  487. package/dist/useClick-wsFFnZw6.js +113 -0
  488. package/dist/useClick-wsFFnZw6.js.map +1 -0
  489. package/dist/useCollapsiblePanel-DIdAXCDX.mjs +439 -0
  490. package/dist/useCollapsiblePanel-DIdAXCDX.mjs.map +1 -0
  491. package/dist/useCollapsiblePanel-OP0gCAiW.js +455 -0
  492. package/dist/useCollapsiblePanel-OP0gCAiW.js.map +1 -0
  493. package/dist/useCompositeItem-CP0qNLGv.mjs +43 -0
  494. package/dist/useCompositeItem-CP0qNLGv.mjs.map +1 -0
  495. package/dist/useCompositeItem-F8jky_8M.js +59 -0
  496. package/dist/useCompositeItem-F8jky_8M.js.map +1 -0
  497. package/dist/useCompositeListItem-CPSGNf6p.js +116 -0
  498. package/dist/useCompositeListItem-CPSGNf6p.js.map +1 -0
  499. package/dist/useCompositeListItem-CvqgwmCe.mjs +100 -0
  500. package/dist/useCompositeListItem-CvqgwmCe.mjs.map +1 -0
  501. package/dist/useControlled-DITi2kHX.mjs +38 -0
  502. package/dist/useControlled-DITi2kHX.mjs.map +1 -0
  503. package/dist/useControlled-DTjTIpeU.js +54 -0
  504. package/dist/useControlled-DTjTIpeU.js.map +1 -0
  505. package/dist/useFocus-BonLJ9UY.js +162 -0
  506. package/dist/useFocus-BonLJ9UY.js.map +1 -0
  507. package/dist/useFocus-D2m1G1R7.mjs +146 -0
  508. package/dist/useFocus-D2m1G1R7.mjs.map +1 -0
  509. package/dist/useIsoLayoutEffect-CAx-dEZM.mjs +8 -0
  510. package/dist/useIsoLayoutEffect-CAx-dEZM.mjs.map +1 -0
  511. package/dist/useIsoLayoutEffect-CYDr9Bko.js +24 -0
  512. package/dist/useIsoLayoutEffect-CYDr9Bko.js.map +1 -0
  513. package/dist/useLabelableId-BMQMbGuJ.mjs +67 -0
  514. package/dist/useLabelableId-BMQMbGuJ.mjs.map +1 -0
  515. package/dist/useLabelableId-C-dL4hfJ.js +83 -0
  516. package/dist/useLabelableId-C-dL4hfJ.js.map +1 -0
  517. package/dist/useOnFirstRender-BYSeF6Y1.js +28 -0
  518. package/dist/useOnFirstRender-BYSeF6Y1.js.map +1 -0
  519. package/dist/useOnFirstRender-_PvKQsmi.mjs +12 -0
  520. package/dist/useOnFirstRender-_PvKQsmi.mjs.map +1 -0
  521. package/dist/useOnMount-CzmIG4WC.js +25 -0
  522. package/dist/useOnMount-CzmIG4WC.js.map +1 -0
  523. package/dist/useOnMount-DN6FnE-7.mjs +9 -0
  524. package/dist/useOnMount-DN6FnE-7.mjs.map +1 -0
  525. package/dist/useOpenChangeComplete-B0xZNwMu.js +194 -0
  526. package/dist/useOpenChangeComplete-B0xZNwMu.js.map +1 -0
  527. package/dist/useOpenChangeComplete-DbPLu-k9.mjs +177 -0
  528. package/dist/useOpenChangeComplete-DbPLu-k9.mjs.map +1 -0
  529. package/dist/useRender-DKDvf6kd.mjs +8 -0
  530. package/dist/useRender-DKDvf6kd.mjs.map +1 -0
  531. package/dist/useRender-PucZeh4Y.js +7 -0
  532. package/dist/useRender-PucZeh4Y.js.map +1 -0
  533. package/dist/useRenderElement-CtyURhhF.js +427 -0
  534. package/dist/useRenderElement-CtyURhhF.js.map +1 -0
  535. package/dist/useRenderElement-DtkRtCHE.mjs +412 -0
  536. package/dist/useRenderElement-DtkRtCHE.mjs.map +1 -0
  537. package/dist/useRole-CuVJ_Qa_.js +125 -0
  538. package/dist/useRole-CuVJ_Qa_.js.map +1 -0
  539. package/dist/useRole-DzRWctvj.mjs +109 -0
  540. package/dist/useRole-DzRWctvj.mjs.map +1 -0
  541. package/dist/useStableCallback-8_xI9oDo.mjs +40 -0
  542. package/dist/useStableCallback-8_xI9oDo.mjs.map +1 -0
  543. package/dist/useStableCallback-CfE_knIO.js +56 -0
  544. package/dist/useStableCallback-CfE_knIO.js.map +1 -0
  545. package/dist/useSyncedFloatingRootContext-BhwJbN5C.js +237 -0
  546. package/dist/useSyncedFloatingRootContext-BhwJbN5C.js.map +1 -0
  547. package/dist/useSyncedFloatingRootContext-BiC-l-Yp.mjs +221 -0
  548. package/dist/useSyncedFloatingRootContext-BiC-l-Yp.mjs.map +1 -0
  549. package/dist/useTimeout-CSlJ10_7.js +45 -0
  550. package/dist/useTimeout-CSlJ10_7.js.map +1 -0
  551. package/dist/useTimeout-DP0d-UkF.mjs +46 -0
  552. package/dist/useTimeout-DP0d-UkF.mjs.map +1 -0
  553. package/dist/useTypeahead-De1veul8.mjs +697 -0
  554. package/dist/useTypeahead-De1veul8.mjs.map +1 -0
  555. package/dist/useTypeahead-JL7mFfnS.js +713 -0
  556. package/dist/useTypeahead-JL7mFfnS.js.map +1 -0
  557. package/dist/useValueAsRef-BPI-p5A3.mjs +22 -0
  558. package/dist/useValueAsRef-BPI-p5A3.mjs.map +1 -0
  559. package/dist/useValueAsRef-uSzmRbW_.js +21 -0
  560. package/dist/useValueAsRef-uSzmRbW_.js.map +1 -0
  561. package/dist/useValueChanged-CEUlHhs5.mjs +20 -0
  562. package/dist/useValueChanged-CEUlHhs5.mjs.map +1 -0
  563. package/dist/useValueChanged-CvJls2Pv.js +36 -0
  564. package/dist/useValueChanged-CvJls2Pv.js.map +1 -0
  565. package/dist/utils-H80jjgLf.mjs +9 -0
  566. package/dist/utils-H80jjgLf.mjs.map +1 -0
  567. package/dist/utils-ij3i9zTT.js +8 -0
  568. package/dist/utils-ij3i9zTT.js.map +1 -0
  569. package/dist/valueToPercent-CfYnVMaY.js +39 -0
  570. package/dist/valueToPercent-CfYnVMaY.js.map +1 -0
  571. package/dist/valueToPercent-DxMnLf8t.mjs +40 -0
  572. package/dist/valueToPercent-DxMnLf8t.mjs.map +1 -0
  573. package/dist/visuallyHidden-D_sL9-70.mjs +25 -0
  574. package/dist/visuallyHidden-D_sL9-70.mjs.map +1 -0
  575. package/dist/visuallyHidden-Dkg-c0_K.js +24 -0
  576. package/dist/visuallyHidden-Dkg-c0_K.js.map +1 -0
  577. package/package.json +382 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/utils/areArraysEqual.js","../../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/slider/utils/asc.js","../../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/slider/utils/replaceArrayItemAtIndex.js","../../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/slider/utils/getSliderValue.js","../../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/slider/utils/validateMinimumDistance.js","../../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/slider/root/stateAttributesMapping.js","../../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/slider/root/SliderRootContext.js","../../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/slider/root/SliderRoot.js","../../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/slider/utils/getMidpoint.js","../../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/slider/utils/roundValueToStep.js","../../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/slider/utils/getPushedThumbValues.js","../../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/slider/utils/resolveThumbCollision.js","../../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/slider/control/SliderControl.js","../../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/slider/track/SliderTrack.js","../../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/slider/thumb/SliderThumbDataAttributes.js","../../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/slider/thumb/prehydrationScript.min.js","../../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/slider/thumb/SliderThumb.js","../../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/slider/indicator/SliderIndicator.js","../../src/slider/index.tsx"],"sourcesContent":["export function areArraysEqual(array1, array2, itemComparer = (a, b) => a === b) {\n return array1.length === array2.length && array1.every((value, index) => itemComparer(value, array2[index]));\n}","export function asc(a, b) {\n return a - b;\n}","import { asc } from \"./asc.js\";\nexport function replaceArrayItemAtIndex(array, index, newValue) {\n const output = array.slice();\n output[index] = newValue;\n return output.sort(asc);\n}","import { clamp } from \"../../utils/clamp.js\";\nimport { replaceArrayItemAtIndex } from \"./replaceArrayItemAtIndex.js\";\nexport function getSliderValue(valueInput, index, min, max, range, values) {\n let newValue = valueInput;\n newValue = clamp(newValue, min, max);\n if (range) {\n newValue = replaceArrayItemAtIndex(values, index,\n // Bound the new value to the thumb's neighbours.\n clamp(newValue, values[index - 1] || -Infinity, values[index + 1] || Infinity));\n }\n return newValue;\n}","export function validateMinimumDistance(values, step, minStepsBetweenValues) {\n if (!Array.isArray(values)) {\n return true;\n }\n const distances = values.reduce((acc, val, index, vals) => {\n if (index === vals.length - 1) {\n return acc;\n }\n acc.push(Math.abs(val - vals[index + 1]));\n return acc;\n }, []);\n return Math.min(...distances) >= step * minStepsBetweenValues;\n}","import { fieldValidityMapping } from \"../../field/utils/constants.js\";\nexport const sliderStateAttributesMapping = {\n activeThumbIndex: () => null,\n max: () => null,\n min: () => null,\n minStepsBetweenValues: () => null,\n step: () => null,\n values: () => null,\n ...fieldValidityMapping\n};","'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const SliderRootContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") SliderRootContext.displayName = \"SliderRootContext\";\nexport function useSliderRootContext() {\n const context = React.useContext(SliderRootContext);\n if (context === undefined) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: SliderRootContext is missing. Slider parts must be placed within <Slider.Root>.' : _formatErrorMessage(62));\n }\n return context;\n}","'use client';\n\nimport * as React from 'react';\nimport { ownerDocument } from '@base-ui/utils/owner';\nimport { useControlled } from '@base-ui/utils/useControlled';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useValueAsRef } from '@base-ui/utils/useValueAsRef';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { warn } from '@base-ui/utils/warn';\nimport { createChangeEventDetails, createGenericEventDetails } from \"../../utils/createBaseUIEventDetails.js\";\nimport { useValueChanged } from \"../../utils/useValueChanged.js\";\nimport { useBaseUiId } from \"../../utils/useBaseUiId.js\";\nimport { useRenderElement } from \"../../utils/useRenderElement.js\";\nimport { clamp } from \"../../utils/clamp.js\";\nimport { areArraysEqual } from \"../../utils/areArraysEqual.js\";\nimport { activeElement } from \"../../floating-ui-react/utils.js\";\nimport { CompositeList } from \"../../composite/list/CompositeList.js\";\nimport { useField } from \"../../field/useField.js\";\nimport { useFieldRootContext } from \"../../field/root/FieldRootContext.js\";\nimport { useFormContext } from \"../../form/FormContext.js\";\nimport { useLabelableContext } from \"../../labelable-provider/LabelableContext.js\";\nimport { resolveAriaLabelledBy, getDefaultLabelId } from \"../../utils/resolveAriaLabelledBy.js\";\nimport { asc } from \"../utils/asc.js\";\nimport { getSliderValue } from \"../utils/getSliderValue.js\";\nimport { validateMinimumDistance } from \"../utils/validateMinimumDistance.js\";\nimport { sliderStateAttributesMapping } from \"./stateAttributesMapping.js\";\nimport { SliderRootContext } from \"./SliderRootContext.js\";\nimport { REASONS } from \"../../utils/reasons.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction getSliderChangeEventReason(event) {\n return 'key' in event ? REASONS.keyboard : REASONS.inputChange;\n}\nfunction areValuesEqual(newValue, oldValue) {\n if (typeof newValue === 'number' && typeof oldValue === 'number') {\n return newValue === oldValue;\n }\n if (Array.isArray(newValue) && Array.isArray(oldValue)) {\n return areArraysEqual(newValue, oldValue);\n }\n return false;\n}\n\n/**\n * Groups all parts of the slider.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Slider](https://base-ui.com/react/components/slider)\n */\nexport const SliderRoot = /*#__PURE__*/React.forwardRef(function SliderRoot(componentProps, forwardedRef) {\n const {\n 'aria-labelledby': ariaLabelledByProp,\n className,\n defaultValue,\n disabled: disabledProp = false,\n id: idProp,\n format,\n largeStep = 10,\n locale,\n render,\n max = 100,\n min = 0,\n minStepsBetweenValues = 0,\n name: nameProp,\n onValueChange: onValueChangeProp,\n onValueCommitted: onValueCommittedProp,\n orientation = 'horizontal',\n step = 1,\n thumbCollisionBehavior = 'push',\n thumbAlignment = 'center',\n value: valueProp,\n ...elementProps\n } = componentProps;\n const id = useBaseUiId(idProp);\n const defaultLabelId = getDefaultLabelId(id);\n const onValueChange = useStableCallback(onValueChangeProp);\n const onValueCommitted = useStableCallback(onValueCommittedProp);\n const {\n clearErrors\n } = useFormContext();\n const {\n state: fieldState,\n disabled: fieldDisabled,\n name: fieldName,\n setTouched,\n setDirty,\n validityData,\n shouldValidateOnChange,\n validation\n } = useFieldRootContext();\n const {\n labelId: fieldLabelId\n } = useLabelableContext();\n const [labelId, setLabelId] = React.useState();\n const ariaLabelledby = ariaLabelledByProp ?? resolveAriaLabelledBy(fieldLabelId, labelId);\n const disabled = fieldDisabled || disabledProp;\n const name = fieldName ?? nameProp;\n\n // The internal value is potentially unsorted, e.g. to support frozen arrays\n // https://github.com/mui/material-ui/pull/28472\n const [valueUnwrapped, setValueUnwrapped] = useControlled({\n controlled: valueProp,\n default: defaultValue ?? min,\n name: 'Slider'\n });\n const sliderRef = React.useRef(null);\n const controlRef = React.useRef(null);\n const thumbRefs = React.useRef([]);\n // The input element nested in the pressed thumb.\n const pressedInputRef = React.useRef(null);\n // The px distance between the pointer and the center of a pressed thumb.\n const pressedThumbCenterOffsetRef = React.useRef(null);\n // The index of the pressed thumb, or the closest thumb if the `Control` was pressed.\n // This is updated on pointerdown, which is sooner than the `active/activeIndex`\n // state which is updated later when the nested `input` receives focus.\n const pressedThumbIndexRef = React.useRef(-1);\n // The values when the current drag interaction started.\n const pressedValuesRef = React.useRef(null);\n const lastChangedValueRef = React.useRef(null);\n const lastChangeReasonRef = React.useRef('none');\n const formatOptionsRef = useValueAsRef(format);\n\n // We can't use the :active browser pseudo-classes.\n // - The active state isn't triggered when clicking on the rail.\n // - The active state isn't transferred when inversing a range slider.\n const [active, setActiveState] = React.useState(-1);\n const [lastUsedThumbIndex, setLastUsedThumbIndex] = React.useState(-1);\n const [dragging, setDragging] = React.useState(false);\n const [thumbMap, setThumbMap] = React.useState(() => new Map());\n const [indicatorPosition, setIndicatorPosition] = React.useState([undefined, undefined]);\n const setActive = useStableCallback(value => {\n setActiveState(value);\n if (value !== -1) {\n setLastUsedThumbIndex(value);\n }\n });\n useField({\n id,\n commit: validation.commit,\n value: valueUnwrapped,\n controlRef,\n name,\n getValue: () => valueUnwrapped\n });\n useValueChanged(valueUnwrapped, () => {\n clearErrors(name);\n if (shouldValidateOnChange()) {\n validation.commit(valueUnwrapped);\n } else {\n validation.commit(valueUnwrapped, true);\n }\n const initialValue = validityData.initialValue;\n let isDirty;\n if (Array.isArray(valueUnwrapped) && Array.isArray(initialValue)) {\n isDirty = !areArraysEqual(valueUnwrapped, initialValue);\n } else {\n isDirty = valueUnwrapped !== initialValue;\n }\n setDirty(isDirty);\n });\n const registerFieldControlRef = useStableCallback(element => {\n if (element) {\n controlRef.current = element;\n }\n });\n const range = Array.isArray(valueUnwrapped);\n const values = React.useMemo(() => {\n if (!range) {\n return [clamp(valueUnwrapped, min, max)];\n }\n return valueUnwrapped.slice().sort(asc);\n }, [max, min, range, valueUnwrapped]);\n const setValue = useStableCallback((newValue, details) => {\n if (Number.isNaN(newValue) || areValuesEqual(newValue, valueUnwrapped)) {\n return;\n }\n const changeDetails = details ?? createChangeEventDetails(REASONS.none, undefined, undefined, {\n activeThumbIndex: -1\n });\n lastChangeReasonRef.current = changeDetails.reason;\n\n // Redefine target to allow name and value to be read.\n // This allows seamless integration with the most popular form libraries.\n // https://github.com/mui/material-ui/issues/13485#issuecomment-676048492\n // Clone the event to not override `target` of the original event.\n const nativeEvent = changeDetails.event;\n const EventConstructor = nativeEvent.constructor ?? Event;\n const clonedEvent = new EventConstructor(nativeEvent.type, nativeEvent);\n Object.defineProperty(clonedEvent, 'target', {\n writable: true,\n value: {\n value: newValue,\n name\n }\n });\n changeDetails.event = clonedEvent;\n lastChangedValueRef.current = newValue;\n onValueChange(newValue, changeDetails);\n if (changeDetails.isCanceled) {\n return;\n }\n setValueUnwrapped(newValue);\n });\n const handleInputChange = useStableCallback((valueInput, index, event) => {\n const newValue = getSliderValue(valueInput, index, min, max, range, values);\n if (validateMinimumDistance(newValue, step, minStepsBetweenValues)) {\n const reason = getSliderChangeEventReason(event);\n setValue(newValue, createChangeEventDetails(reason, event.nativeEvent, undefined, {\n activeThumbIndex: index\n }));\n setTouched(true);\n const nextValue = lastChangedValueRef.current ?? newValue;\n onValueCommitted(nextValue, createGenericEventDetails(reason, event.nativeEvent));\n }\n });\n if (process.env.NODE_ENV !== 'production') {\n if (min >= max) {\n warn('Slider `max` must be greater than `min`.');\n }\n }\n useIsoLayoutEffect(() => {\n const activeEl = activeElement(ownerDocument(sliderRef.current));\n if (disabled && activeEl && sliderRef.current?.contains(activeEl)) {\n // This is necessary because Firefox and Safari will keep focus\n // on a disabled element:\n // https://codesandbox.io/p/sandbox/mui-pr-22247-forked-h151h?file=/src/App.js\n activeEl.blur();\n }\n }, [disabled]);\n if (disabled && active !== -1) {\n setActive(-1);\n }\n const state = React.useMemo(() => ({\n ...fieldState,\n activeThumbIndex: active,\n disabled,\n dragging,\n orientation,\n max,\n min,\n minStepsBetweenValues,\n step,\n values\n }), [fieldState, active, disabled, dragging, max, min, minStepsBetweenValues, orientation, step, values]);\n const contextValue = React.useMemo(() => ({\n active,\n controlRef,\n disabled,\n dragging,\n validation,\n formatOptionsRef,\n handleInputChange,\n indicatorPosition,\n inset: thumbAlignment !== 'center',\n labelId: ariaLabelledby,\n rootLabelId: defaultLabelId,\n largeStep,\n lastUsedThumbIndex,\n lastChangedValueRef,\n lastChangeReasonRef,\n locale,\n max,\n min,\n minStepsBetweenValues,\n name,\n onValueCommitted,\n orientation,\n pressedInputRef,\n pressedThumbCenterOffsetRef,\n pressedThumbIndexRef,\n pressedValuesRef,\n registerFieldControlRef,\n renderBeforeHydration: thumbAlignment === 'edge',\n setActive,\n setDragging,\n setIndicatorPosition,\n setLabelId,\n setValue,\n state,\n step,\n thumbCollisionBehavior,\n thumbMap,\n thumbRefs,\n values\n }), [active, controlRef, ariaLabelledby, defaultLabelId, disabled, dragging, validation, formatOptionsRef, handleInputChange, indicatorPosition, largeStep, lastUsedThumbIndex, lastChangedValueRef, lastChangeReasonRef, locale, max, min, minStepsBetweenValues, name, onValueCommitted, orientation, pressedInputRef, pressedThumbCenterOffsetRef, pressedThumbIndexRef, pressedValuesRef, registerFieldControlRef, setActive, setDragging, setIndicatorPosition, setLabelId, setValue, state, step, thumbCollisionBehavior, thumbAlignment, thumbMap, thumbRefs, values]);\n const element = useRenderElement('div', componentProps, {\n state,\n ref: [forwardedRef, sliderRef],\n props: [{\n 'aria-labelledby': ariaLabelledby,\n id,\n role: 'group'\n }, validation.getValidationProps, elementProps],\n stateAttributesMapping: sliderStateAttributesMapping\n });\n return /*#__PURE__*/_jsx(SliderRootContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(CompositeList, {\n elementsRef: thumbRefs,\n onMapChange: setThumbMap,\n children: element\n })\n });\n});\nif (process.env.NODE_ENV !== \"production\") SliderRoot.displayName = \"SliderRoot\";","export function getMidpoint(element) {\n const rect = element.getBoundingClientRect();\n return {\n x: (rect.left + rect.right) / 2,\n y: (rect.top + rect.bottom) / 2\n };\n}","function getDecimalPrecision(num) {\n // This handles the case when num is very small (0.00000001), js will turn this into 1e-8.\n // When num is bigger than 1 or less than -1 it won't get converted to this notation so it's fine.\n if (Math.abs(num) < 1) {\n const parts = num.toExponential().split('e-');\n const matissaDecimalPart = parts[0].split('.')[1];\n return (matissaDecimalPart ? matissaDecimalPart.length : 0) + parseInt(parts[1], 10);\n }\n const decimalPart = num.toString().split('.')[1];\n return decimalPart ? decimalPart.length : 0;\n}\nexport function roundValueToStep(value, step, min) {\n const nearest = Math.round((value - min) / step) * step + min;\n return Number(nearest.toFixed(getDecimalPrecision(step)));\n}","import { clamp } from \"../../utils/clamp.js\";\n/**\n * Returns a new array of slider values where attempting to move the thumb at `index`\n * beyond its neighbours \"pushes\" them while respecting `minStepsBetweenValues`.\n */\nexport function getPushedThumbValues({\n values,\n index,\n nextValue,\n min,\n max,\n step,\n minStepsBetweenValues,\n initialValues\n}) {\n if (values.length === 0) {\n return [];\n }\n const nextValues = values.slice();\n const minValueDifference = step * minStepsBetweenValues;\n const lastIndex = nextValues.length - 1;\n const baseInitialValues = initialValues ?? values;\n const indexMin = min + index * minValueDifference;\n const indexMax = max - (lastIndex - index) * minValueDifference;\n nextValues[index] = clamp(nextValue, indexMin, indexMax);\n for (let i = index + 1; i <= lastIndex; i += 1) {\n const minAllowed = nextValues[i - 1] + minValueDifference;\n const maxAllowed = max - (lastIndex - i) * minValueDifference;\n const initialValue = baseInitialValues[i] ?? nextValues[i];\n let candidate = Math.max(nextValues[i], minAllowed);\n if (initialValue < candidate) {\n candidate = Math.max(initialValue, minAllowed);\n }\n nextValues[i] = clamp(candidate, minAllowed, maxAllowed);\n }\n for (let i = index - 1; i >= 0; i -= 1) {\n const maxAllowed = nextValues[i + 1] - minValueDifference;\n const minAllowed = min + i * minValueDifference;\n const initialValue = baseInitialValues[i] ?? nextValues[i];\n let candidate = Math.min(nextValues[i], maxAllowed);\n if (initialValue > candidate) {\n candidate = Math.min(initialValue, maxAllowed);\n }\n nextValues[i] = clamp(candidate, minAllowed, maxAllowed);\n }\n for (let i = 0; i <= lastIndex; i += 1) {\n nextValues[i] = Number(nextValues[i].toFixed(12));\n }\n return nextValues;\n}","import { clamp } from \"../../utils/clamp.js\";\nimport { getPushedThumbValues } from \"./getPushedThumbValues.js\";\nexport function resolveThumbCollision({\n behavior,\n values,\n currentValues,\n initialValues,\n pressedIndex,\n nextValue,\n min,\n max,\n step,\n minStepsBetweenValues\n}) {\n const activeValues = currentValues ?? values;\n const baselineValues = initialValues ?? values;\n const range = activeValues.length > 1;\n if (!range) {\n return {\n value: nextValue,\n thumbIndex: 0,\n didSwap: false\n };\n }\n const minValueDifference = step * minStepsBetweenValues;\n switch (behavior) {\n case 'swap':\n {\n const pressedInitialValue = activeValues[pressedIndex];\n const epsilon = 1e-7;\n const candidateValues = activeValues.slice();\n const previousNeighbor = candidateValues[pressedIndex - 1];\n const nextNeighbor = candidateValues[pressedIndex + 1];\n const lowerBound = previousNeighbor != null ? previousNeighbor + minValueDifference : min;\n const upperBound = nextNeighbor != null ? nextNeighbor - minValueDifference : max;\n const constrainedValue = clamp(nextValue, lowerBound, upperBound);\n const pressedValueAfterClamp = Number(constrainedValue.toFixed(12));\n candidateValues[pressedIndex] = pressedValueAfterClamp;\n const movingForward = nextValue > pressedInitialValue;\n const movingBackward = nextValue < pressedInitialValue;\n const shouldSwapForward = movingForward && nextNeighbor != null && nextValue >= nextNeighbor - epsilon;\n const shouldSwapBackward = movingBackward && previousNeighbor != null && nextValue <= previousNeighbor + epsilon;\n if (!shouldSwapForward && !shouldSwapBackward) {\n return {\n value: candidateValues,\n thumbIndex: pressedIndex,\n didSwap: false\n };\n }\n const targetIndex = shouldSwapForward ? pressedIndex + 1 : pressedIndex - 1;\n const initialValuesForPush = candidateValues.map((_, index) => {\n if (index === pressedIndex) {\n return pressedValueAfterClamp;\n }\n const baseline = baselineValues[index];\n if (baseline != null) {\n return baseline;\n }\n return activeValues[index];\n });\n let nextValueForTarget = nextValue;\n if (shouldSwapForward) {\n nextValueForTarget = Math.max(nextValue, candidateValues[targetIndex]);\n } else {\n nextValueForTarget = Math.min(nextValue, candidateValues[targetIndex]);\n }\n const adjustedValues = getPushedThumbValues({\n values: candidateValues,\n index: targetIndex,\n nextValue: nextValueForTarget,\n min,\n max,\n step,\n minStepsBetweenValues,\n initialValues: initialValuesForPush\n });\n const neighborIndex = shouldSwapForward ? targetIndex - 1 : targetIndex + 1;\n if (neighborIndex >= 0 && neighborIndex < adjustedValues.length) {\n const previousValue = adjustedValues[neighborIndex - 1];\n const nextValueAfter = adjustedValues[neighborIndex + 1];\n let neighborLowerBound = previousValue != null ? previousValue + minValueDifference : min;\n neighborLowerBound = Math.max(neighborLowerBound, min + neighborIndex * minValueDifference);\n let neighborUpperBound = nextValueAfter != null ? nextValueAfter - minValueDifference : max;\n neighborUpperBound = Math.min(neighborUpperBound, max - (adjustedValues.length - 1 - neighborIndex) * minValueDifference);\n const restoredValue = clamp(pressedValueAfterClamp, neighborLowerBound, neighborUpperBound);\n adjustedValues[neighborIndex] = Number(restoredValue.toFixed(12));\n }\n return {\n value: adjustedValues,\n thumbIndex: targetIndex,\n didSwap: true\n };\n }\n case 'push':\n {\n const nextValues = getPushedThumbValues({\n values: activeValues,\n index: pressedIndex,\n nextValue,\n min,\n max,\n step,\n minStepsBetweenValues\n });\n return {\n value: nextValues,\n thumbIndex: pressedIndex,\n didSwap: false\n };\n }\n case 'none':\n default:\n {\n const candidateValues = activeValues.slice();\n const previousNeighbor = candidateValues[pressedIndex - 1];\n const nextNeighbor = candidateValues[pressedIndex + 1];\n const lowerBound = previousNeighbor != null ? previousNeighbor + minValueDifference : min;\n const upperBound = nextNeighbor != null ? nextNeighbor - minValueDifference : max;\n const constrainedValue = clamp(nextValue, lowerBound, upperBound);\n candidateValues[pressedIndex] = Number(constrainedValue.toFixed(12));\n return {\n value: candidateValues,\n thumbIndex: pressedIndex,\n didSwap: false\n };\n }\n }\n}","'use client';\n\nimport * as React from 'react';\nimport { isElement } from '@floating-ui/utils/dom';\nimport { ownerDocument } from '@base-ui/utils/owner';\nimport { useAnimationFrame } from '@base-ui/utils/useAnimationFrame';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useValueAsRef } from '@base-ui/utils/useValueAsRef';\nimport { activeElement, contains } from \"../../floating-ui-react/utils.js\";\nimport { clamp } from \"../../utils/clamp.js\";\nimport { createChangeEventDetails, createGenericEventDetails } from \"../../utils/createBaseUIEventDetails.js\";\nimport { REASONS } from \"../../utils/reasons.js\";\nimport { useRenderElement } from \"../../utils/useRenderElement.js\";\nimport { useDirection } from \"../../direction-provider/DirectionContext.js\";\nimport { useSliderRootContext } from \"../root/SliderRootContext.js\";\nimport { sliderStateAttributesMapping } from \"../root/stateAttributesMapping.js\";\nimport { getMidpoint } from \"../utils/getMidpoint.js\";\nimport { roundValueToStep } from \"../utils/roundValueToStep.js\";\nimport { validateMinimumDistance } from \"../utils/validateMinimumDistance.js\";\nimport { resolveThumbCollision } from \"../utils/resolveThumbCollision.js\";\nconst INTENTIONAL_DRAG_COUNT_THRESHOLD = 2;\nfunction getControlOffset(styles, vertical) {\n if (!styles) {\n return {\n start: 0,\n end: 0\n };\n }\n function parseSize(value) {\n const parsed = value != null ? parseFloat(value) : 0;\n return Number.isNaN(parsed) ? 0 : parsed;\n }\n const start = !vertical ? 'InlineStart' : 'Top';\n const end = !vertical ? 'InlineEnd' : 'Bottom';\n return {\n start: parseSize(styles[`border${start}Width`]) + parseSize(styles[`padding${start}`]),\n end: parseSize(styles[`border${end}Width`]) + parseSize(styles[`padding${end}`])\n };\n}\nfunction getFingerCoords(event, touchIdRef) {\n // The event is TouchEvent\n if (touchIdRef.current != null && event.changedTouches) {\n const touchEvent = event;\n for (let i = 0; i < touchEvent.changedTouches.length; i += 1) {\n const touch = touchEvent.changedTouches[i];\n if (touch.identifier === touchIdRef.current) {\n return {\n x: touch.clientX,\n y: touch.clientY\n };\n }\n }\n return null;\n }\n\n // The event is PointerEvent\n return {\n x: event.clientX,\n y: event.clientY\n };\n}\n\n/**\n * The clickable, interactive part of the slider.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Slider](https://base-ui.com/react/components/slider)\n */\nexport const SliderControl = /*#__PURE__*/React.forwardRef(function SliderControl(componentProps, forwardedRef) {\n const {\n render: renderProp,\n className,\n ...elementProps\n } = componentProps;\n const {\n disabled,\n dragging,\n inset,\n lastChangedValueRef,\n lastChangeReasonRef,\n max,\n min,\n minStepsBetweenValues,\n onValueCommitted,\n orientation,\n pressedInputRef,\n pressedThumbCenterOffsetRef,\n pressedThumbIndexRef,\n pressedValuesRef,\n registerFieldControlRef,\n renderBeforeHydration,\n setActive,\n setDragging,\n setValue,\n state,\n step,\n thumbCollisionBehavior,\n thumbRefs,\n values\n } = useSliderRootContext();\n const direction = useDirection();\n const range = values.length > 1;\n const vertical = orientation === 'vertical';\n const controlRef = React.useRef(null);\n const stylesRef = React.useRef(null);\n const setStylesRef = useStableCallback(element => {\n if (element && stylesRef.current == null) {\n if (stylesRef.current == null) {\n stylesRef.current = getComputedStyle(element);\n }\n }\n });\n\n // A number that uniquely identifies the current finger in the touch session.\n const touchIdRef = React.useRef(null);\n // The number of touch/pointermove events that have fired.\n const moveCountRef = React.useRef(0);\n // The offset amount to each side of the control for inset sliders.\n // This value should be equal to the radius or half the width/height of the thumb.\n const insetThumbOffsetRef = React.useRef(0);\n const latestValuesRef = useValueAsRef(values);\n const updatePressedThumb = useStableCallback(nextIndex => {\n if (pressedThumbIndexRef.current !== nextIndex) {\n pressedThumbIndexRef.current = nextIndex;\n }\n const thumbElement = thumbRefs.current[nextIndex];\n if (!thumbElement) {\n pressedThumbCenterOffsetRef.current = null;\n pressedInputRef.current = null;\n return;\n }\n pressedInputRef.current = thumbElement.querySelector('input[type=\"range\"]');\n });\n const getFingerState = useStableCallback(fingerCoords => {\n const control = controlRef.current;\n if (!control) {\n return null;\n }\n const {\n width,\n height,\n bottom,\n left,\n right\n } = control.getBoundingClientRect();\n const controlOffset = getControlOffset(stylesRef.current, vertical);\n const insetThumbOffset = insetThumbOffsetRef.current;\n const controlSize = (vertical ? height : width) - controlOffset.start - controlOffset.end - insetThumbOffset * 2;\n const thumbCenterOffset = pressedThumbCenterOffsetRef.current ?? 0;\n const fingerX = fingerCoords.x - thumbCenterOffset;\n const fingerY = fingerCoords.y - thumbCenterOffset;\n const valueSize = vertical ? bottom - fingerY - controlOffset.end : (direction === 'rtl' ? right - fingerX : fingerX - left) - controlOffset.start;\n // the value at the finger origin scaled down to fit the range [0, 1]\n const valueRescaled = clamp((valueSize - insetThumbOffset) / controlSize, 0, 1);\n let newValue = (max - min) * valueRescaled + min;\n newValue = roundValueToStep(newValue, step, min);\n newValue = clamp(newValue, min, max);\n if (!range) {\n return {\n value: newValue,\n thumbIndex: 0,\n didSwap: false\n };\n }\n const thumbIndex = pressedThumbIndexRef.current;\n if (thumbIndex < 0) {\n return null;\n }\n const collisionResult = resolveThumbCollision({\n behavior: thumbCollisionBehavior,\n values,\n currentValues: latestValuesRef.current ?? values,\n initialValues: pressedValuesRef.current,\n pressedIndex: thumbIndex,\n nextValue: newValue,\n min,\n max,\n step,\n minStepsBetweenValues\n });\n if (thumbCollisionBehavior === 'swap' && collisionResult.didSwap) {\n updatePressedThumb(collisionResult.thumbIndex);\n } else {\n pressedThumbIndexRef.current = collisionResult.thumbIndex;\n }\n return collisionResult;\n });\n const startPressing = useStableCallback(fingerCoords => {\n pressedValuesRef.current = range ? values.slice() : null;\n latestValuesRef.current = values;\n const pressedThumbIndex = pressedThumbIndexRef.current;\n let closestThumbIndex = pressedThumbIndex;\n if (pressedThumbIndex > -1 && pressedThumbIndex < values.length) {\n if (values[pressedThumbIndex] === max) {\n let candidateIndex = pressedThumbIndex;\n while (candidateIndex > 0 && values[candidateIndex - 1] === max) {\n candidateIndex -= 1;\n }\n closestThumbIndex = candidateIndex;\n }\n } else {\n // pressed on control\n const axis = !vertical ? 'x' : 'y';\n let minDistance;\n closestThumbIndex = -1;\n for (let i = 0; i < thumbRefs.current.length; i += 1) {\n const thumbEl = thumbRefs.current[i];\n if (isElement(thumbEl)) {\n const midpoint = getMidpoint(thumbEl);\n const distance = Math.abs(fingerCoords[axis] - midpoint[axis]);\n if (minDistance === undefined || distance <= minDistance) {\n closestThumbIndex = i;\n minDistance = distance;\n }\n }\n }\n }\n if (closestThumbIndex > -1 && closestThumbIndex !== pressedThumbIndex) {\n updatePressedThumb(closestThumbIndex);\n }\n if (inset) {\n const thumbEl = thumbRefs.current[closestThumbIndex];\n if (isElement(thumbEl)) {\n const thumbRect = thumbEl.getBoundingClientRect();\n const side = !vertical ? 'width' : 'height';\n insetThumbOffsetRef.current = thumbRect[side] / 2;\n }\n }\n });\n const focusThumb = useStableCallback(thumbIndex => {\n thumbRefs.current?.[thumbIndex]?.querySelector('input[type=\"range\"]')?.focus({\n preventScroll: true\n });\n });\n const handleTouchMove = useStableCallback(nativeEvent => {\n const fingerCoords = getFingerCoords(nativeEvent, touchIdRef);\n if (fingerCoords == null) {\n return;\n }\n moveCountRef.current += 1;\n\n // Cancel move in case some other element consumed a pointerup event and it was not fired.\n if (nativeEvent.type === 'pointermove' && nativeEvent.buttons === 0) {\n handleTouchEnd(nativeEvent);\n return;\n }\n const finger = getFingerState(fingerCoords);\n if (finger == null) {\n return;\n }\n if (validateMinimumDistance(finger.value, step, minStepsBetweenValues)) {\n if (!dragging && moveCountRef.current > INTENTIONAL_DRAG_COUNT_THRESHOLD) {\n setDragging(true);\n }\n setValue(finger.value, createChangeEventDetails(REASONS.drag, nativeEvent, undefined, {\n activeThumbIndex: finger.thumbIndex\n }));\n latestValuesRef.current = Array.isArray(finger.value) ? finger.value : [finger.value];\n if (finger.didSwap) {\n focusThumb(finger.thumbIndex);\n }\n }\n });\n function handleTouchEnd(nativeEvent) {\n setActive(-1);\n setDragging(false);\n pressedInputRef.current = null;\n pressedThumbCenterOffsetRef.current = null;\n const fingerCoords = getFingerCoords(nativeEvent, touchIdRef);\n const finger = fingerCoords != null ? getFingerState(fingerCoords) : null;\n if (finger != null) {\n const commitReason = lastChangeReasonRef.current;\n onValueCommitted(lastChangedValueRef.current ?? finger.value, createGenericEventDetails(commitReason, nativeEvent));\n }\n if ('pointerType' in nativeEvent && controlRef.current?.hasPointerCapture(nativeEvent.pointerId)) {\n controlRef.current?.releasePointerCapture(nativeEvent.pointerId);\n }\n pressedThumbIndexRef.current = -1;\n touchIdRef.current = null;\n pressedValuesRef.current = null;\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n stopListening();\n }\n const handleTouchStart = useStableCallback(nativeEvent => {\n if (disabled) {\n return;\n }\n const touch = nativeEvent.changedTouches[0];\n if (touch != null) {\n touchIdRef.current = touch.identifier;\n }\n const fingerCoords = getFingerCoords(nativeEvent, touchIdRef);\n if (fingerCoords != null) {\n startPressing(fingerCoords);\n const finger = getFingerState(fingerCoords);\n if (finger == null) {\n return;\n }\n focusThumb(finger.thumbIndex);\n setValue(finger.value, createChangeEventDetails(REASONS.trackPress, nativeEvent, undefined, {\n activeThumbIndex: finger.thumbIndex\n }));\n latestValuesRef.current = Array.isArray(finger.value) ? finger.value : [finger.value];\n if (finger.didSwap) {\n focusThumb(finger.thumbIndex);\n }\n }\n moveCountRef.current = 0;\n const doc = ownerDocument(controlRef.current);\n doc.addEventListener('touchmove', handleTouchMove, {\n passive: true\n });\n doc.addEventListener('touchend', handleTouchEnd, {\n passive: true\n });\n });\n const stopListening = useStableCallback(() => {\n const doc = ownerDocument(controlRef.current);\n doc.removeEventListener('pointermove', handleTouchMove);\n doc.removeEventListener('pointerup', handleTouchEnd);\n doc.removeEventListener('touchmove', handleTouchMove);\n doc.removeEventListener('touchend', handleTouchEnd);\n pressedValuesRef.current = null;\n });\n const focusFrame = useAnimationFrame();\n React.useEffect(() => {\n const control = controlRef.current;\n if (!control) {\n return () => stopListening();\n }\n control.addEventListener('touchstart', handleTouchStart, {\n passive: true\n });\n return () => {\n control.removeEventListener('touchstart', handleTouchStart);\n focusFrame.cancel();\n stopListening();\n };\n }, [stopListening, handleTouchStart, controlRef, focusFrame]);\n React.useEffect(() => {\n if (disabled) {\n stopListening();\n }\n }, [disabled, stopListening]);\n const element = useRenderElement('div', componentProps, {\n state,\n ref: [forwardedRef, registerFieldControlRef, controlRef, setStylesRef],\n props: [{\n ['data-base-ui-slider-control']: renderBeforeHydration ? '' : undefined,\n onPointerDown(event) {\n const control = controlRef.current;\n if (!control || disabled || event.defaultPrevented || !isElement(event.target) ||\n // Only handle left clicks\n event.button !== 0) {\n return;\n }\n const fingerCoords = getFingerCoords(event, touchIdRef);\n if (fingerCoords != null) {\n startPressing(fingerCoords);\n const finger = getFingerState(fingerCoords);\n if (finger == null) {\n return;\n }\n const pressedOnFocusedThumb = contains(thumbRefs.current[finger.thumbIndex], activeElement(ownerDocument(control)));\n if (pressedOnFocusedThumb) {\n event.preventDefault();\n } else {\n focusFrame.request(() => {\n focusThumb(finger.thumbIndex);\n });\n }\n setDragging(true);\n const pressedOnAnyThumb = pressedThumbCenterOffsetRef.current != null;\n if (!pressedOnAnyThumb) {\n setValue(finger.value, createChangeEventDetails(REASONS.trackPress, event.nativeEvent, undefined, {\n activeThumbIndex: finger.thumbIndex\n }));\n latestValuesRef.current = Array.isArray(finger.value) ? finger.value : [finger.value];\n if (finger.didSwap) {\n focusThumb(finger.thumbIndex);\n }\n }\n }\n if (event.nativeEvent.pointerId) {\n control.setPointerCapture(event.nativeEvent.pointerId);\n }\n moveCountRef.current = 0;\n const doc = ownerDocument(controlRef.current);\n doc.addEventListener('pointermove', handleTouchMove, {\n passive: true\n });\n doc.addEventListener('pointerup', handleTouchEnd, {\n once: true\n });\n },\n tabIndex: -1\n }, elementProps],\n stateAttributesMapping: sliderStateAttributesMapping\n });\n return element;\n});\nif (process.env.NODE_ENV !== \"production\") SliderControl.displayName = \"SliderControl\";","'use client';\n\nimport * as React from 'react';\nimport { useRenderElement } from \"../../utils/useRenderElement.js\";\nimport { useSliderRootContext } from \"../root/SliderRootContext.js\";\nimport { sliderStateAttributesMapping } from \"../root/stateAttributesMapping.js\";\n\n/**\n * Contains the slider indicator and represents the entire range of the slider.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Slider](https://base-ui.com/react/components/slider)\n */\nexport const SliderTrack = /*#__PURE__*/React.forwardRef(function SliderTrack(componentProps, forwardedRef) {\n const {\n render,\n className,\n ...elementProps\n } = componentProps;\n const {\n state\n } = useSliderRootContext();\n const element = useRenderElement('div', componentProps, {\n state,\n ref: forwardedRef,\n props: [{\n style: {\n position: 'relative'\n }\n }, elementProps],\n stateAttributesMapping: sliderStateAttributesMapping\n });\n return element;\n});\nif (process.env.NODE_ENV !== \"production\") SliderTrack.displayName = \"SliderTrack\";","export let SliderThumbDataAttributes = /*#__PURE__*/function (SliderThumbDataAttributes) {\n /**\n * Indicates the index of the thumb in range sliders.\n */\n SliderThumbDataAttributes[\"index\"] = \"data-index\";\n /**\n * Present while the user is dragging.\n */\n SliderThumbDataAttributes[\"dragging\"] = \"data-dragging\";\n /**\n * Indicates the orientation of the slider.\n * @type {'horizontal' | 'vertical'}\n */\n SliderThumbDataAttributes[\"orientation\"] = \"data-orientation\";\n /**\n * Present when the slider is disabled.\n */\n SliderThumbDataAttributes[\"disabled\"] = \"data-disabled\";\n /**\n * Present when the slider is in valid state (when wrapped in Field.Root).\n */\n SliderThumbDataAttributes[\"valid\"] = \"data-valid\";\n /**\n * Present when the slider is in invalid state (when wrapped in Field.Root).\n */\n SliderThumbDataAttributes[\"invalid\"] = \"data-invalid\";\n /**\n * Present when the slider has been touched (when wrapped in Field.Root).\n */\n SliderThumbDataAttributes[\"touched\"] = \"data-touched\";\n /**\n * Present when the slider's value has changed (when wrapped in Field.Root).\n */\n SliderThumbDataAttributes[\"dirty\"] = \"data-dirty\";\n /**\n * Present when the slider is focused (when wrapped in Field.Root).\n */\n SliderThumbDataAttributes[\"focused\"] = \"data-focused\";\n return SliderThumbDataAttributes;\n}({});","// This file is autogenerated. Do not edit it directly.\n// To update it, modify the corresponding source file and run `pnpm inline-scripts`.\n\n// prettier-ignore\nexport const script = '!function(){const t=document.currentScript?.parentElement;if(!t)return;const e=t.closest(\"[data-base-ui-slider-control]\");if(!e)return;const r=e.querySelector(\"[data-base-ui-slider-indicator]\"),i=e.getBoundingClientRect(),n=\"vertical\"===e.getAttribute(\"data-orientation\")?\"height\":\"width\",o=e.querySelectorAll(\\'input[type=\"range\"]\\'),l=o.length>1,s=o.length-1;let a=null,u=null;for(let t=0;t<o.length;t+=1){const e=o[t],y=parseFloat(e.getAttribute(\"value\")??\"\");if(Number.isNaN(y))return;const c=e.parentElement;if(!c)return;const p=parseFloat(e.getAttribute(\"max\")??\"100\"),g=parseFloat(e.getAttribute(\"min\")??\"0\"),b=c?.getBoundingClientRect(),d=i[n]-b[n],m=100*(y-g)/(p-g),v=(b[n]/2+d*m/100)/i[n]*100;c.style.setProperty(\"--position\",`${v}%`),Number.isFinite(v)&&(c.style.removeProperty(\"visibility\"),r&&(0===t?(a=v,r.style.setProperty(\"--start-position\",`${v}%`),l||r.style.removeProperty(\"visibility\")):t===s&&(u=v-(a??0),r.style.setProperty(\"--end-position\",`${v}%`),r.style.setProperty(\"--relative-size\",`${u}%`),r.style.removeProperty(\"visibility\"))))}}();';","'use client';\n\nimport * as React from 'react';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useOnMount } from '@base-ui/utils/useOnMount';\nimport { useMergedRefs } from '@base-ui/utils/useMergedRefs';\nimport { visuallyHidden } from '@base-ui/utils/visuallyHidden';\nimport { formatNumber } from \"../../utils/formatNumber.js\";\nimport { mergeProps } from \"../../merge-props/index.js\";\nimport { useBaseUiId } from \"../../utils/useBaseUiId.js\";\nimport { useRenderElement } from \"../../utils/useRenderElement.js\";\nimport { valueToPercent } from \"../../utils/valueToPercent.js\";\nimport { ARROW_DOWN, ARROW_UP, ARROW_RIGHT, ARROW_LEFT, HOME, END, COMPOSITE_KEYS } from \"../../composite/composite.js\";\nimport { useCompositeListItem } from \"../../composite/list/useCompositeListItem.js\";\nimport { useDirection } from \"../../direction-provider/DirectionContext.js\";\nimport { useCSPContext } from \"../../csp-provider/CSPContext.js\";\nimport { useFieldRootContext } from \"../../field/root/FieldRootContext.js\";\nimport { useLabelableId } from \"../../labelable-provider/useLabelableId.js\";\nimport { getMidpoint } from \"../utils/getMidpoint.js\";\nimport { getSliderValue } from \"../utils/getSliderValue.js\";\nimport { roundValueToStep } from \"../utils/roundValueToStep.js\";\nimport { useSliderRootContext } from \"../root/SliderRootContext.js\";\nimport { sliderStateAttributesMapping } from \"../root/stateAttributesMapping.js\";\nimport { SliderThumbDataAttributes } from \"./SliderThumbDataAttributes.js\";\nimport { script as prehydrationScript } from \"./prehydrationScript.min.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst PAGE_UP = 'PageUp';\nconst PAGE_DOWN = 'PageDown';\nconst ALL_KEYS = new Set([ARROW_UP, ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT, HOME, END, PAGE_UP, PAGE_DOWN]);\nfunction getDefaultAriaValueText(values, index, format, locale) {\n if (index < 0) {\n return undefined;\n }\n if (values.length === 2) {\n if (index === 0) {\n return `${formatNumber(values[index], locale, format)} start range`;\n }\n return `${formatNumber(values[index], locale, format)} end range`;\n }\n return format ? formatNumber(values[index], locale, format) : undefined;\n}\nfunction getNewValue(thumbValue, step, direction, min, max) {\n return direction === 1 ? Math.min(thumbValue + step, max) : Math.max(thumbValue - step, min);\n}\n\n/**\n * The draggable part of the slider at the tip of the indicator.\n * Renders a `<div>` element and a nested `<input type=\"range\">`.\n *\n * Documentation: [Base UI Slider](https://base-ui.com/react/components/slider)\n */\nexport const SliderThumb = /*#__PURE__*/React.forwardRef(function SliderThumb(componentProps, forwardedRef) {\n const {\n render,\n children: childrenProp,\n className,\n 'aria-describedby': ariaDescribedByProp,\n 'aria-label': ariaLabelProp,\n 'aria-labelledby': ariaLabelledByProp,\n disabled: disabledProp = false,\n getAriaLabel: getAriaLabelProp,\n getAriaValueText: getAriaValueTextProp,\n id: idProp,\n index: indexProp,\n inputRef: inputRefProp,\n onBlur: onBlurProp,\n onFocus: onFocusProp,\n onKeyDown: onKeyDownProp,\n tabIndex: tabIndexProp,\n ...elementProps\n } = componentProps;\n const {\n nonce\n } = useCSPContext();\n const id = useBaseUiId(idProp);\n const {\n active: activeIndex,\n lastUsedThumbIndex,\n controlRef,\n disabled: contextDisabled,\n validation,\n formatOptionsRef,\n handleInputChange,\n inset,\n labelId,\n largeStep,\n locale,\n max,\n min,\n minStepsBetweenValues,\n name,\n orientation,\n pressedInputRef,\n pressedThumbCenterOffsetRef,\n pressedThumbIndexRef,\n renderBeforeHydration,\n setActive,\n setIndicatorPosition,\n state,\n step,\n values: sliderValues\n } = useSliderRootContext();\n const direction = useDirection();\n const disabled = disabledProp || contextDisabled;\n const range = sliderValues.length > 1;\n const vertical = orientation === 'vertical';\n const rtl = direction === 'rtl';\n const {\n setTouched,\n setFocused,\n validationMode\n } = useFieldRootContext();\n const thumbRef = React.useRef(null);\n const inputRef = React.useRef(null);\n const defaultInputId = useBaseUiId();\n const labelableId = useLabelableId();\n const inputId = range ? defaultInputId : labelableId;\n const thumbMetadata = React.useMemo(() => ({\n inputId\n }), [inputId]);\n const {\n ref: listItemRef,\n index: compositeIndex\n } = useCompositeListItem({\n metadata: thumbMetadata\n });\n const index = !range ? 0 : indexProp ?? compositeIndex;\n const last = index === sliderValues.length - 1;\n const thumbValue = sliderValues[index];\n const thumbValuePercent = valueToPercent(thumbValue, min, max);\n const [isMounted, setIsMounted] = React.useState(false);\n const [positionPercent, setPositionPercent] = React.useState();\n useOnMount(() => setIsMounted(true));\n const safeLastUsedThumbIndex = lastUsedThumbIndex >= 0 && lastUsedThumbIndex < sliderValues.length ? lastUsedThumbIndex : -1;\n const getInsetPosition = useStableCallback(() => {\n const control = controlRef.current;\n const thumb = thumbRef.current;\n if (!control || !thumb) {\n return;\n }\n const thumbRect = thumb.getBoundingClientRect();\n const controlRect = control.getBoundingClientRect();\n const side = vertical ? 'height' : 'width';\n // the total travel distance adjusted to account for the thumb size\n const controlSize = controlRect[side] - thumbRect[side];\n // px distance from the starting edge (inline-start or bottom) to the thumb center\n const thumbOffsetFromControlEdge = thumbRect[side] / 2 + controlSize * thumbValuePercent / 100;\n const nextPositionPercent = thumbOffsetFromControlEdge / controlRect[side] * 100;\n setPositionPercent(nextPositionPercent);\n if (index === 0) {\n setIndicatorPosition(prevPosition => [nextPositionPercent, prevPosition[1]]);\n } else if (last) {\n setIndicatorPosition(prevPosition => [prevPosition[0], nextPositionPercent]);\n }\n });\n useIsoLayoutEffect(() => {\n if (inset) {\n queueMicrotask(getInsetPosition);\n }\n }, [getInsetPosition, inset]);\n useIsoLayoutEffect(() => {\n if (inset) {\n getInsetPosition();\n }\n }, [getInsetPosition, inset, thumbValuePercent]);\n const getThumbStyle = React.useCallback(() => {\n const startEdge = vertical ? 'bottom' : 'insetInlineStart';\n const crossOffsetProperty = vertical ? 'left' : 'top';\n let zIndex;\n if (range) {\n if (activeIndex === index) {\n zIndex = 2;\n } else if (safeLastUsedThumbIndex === index) {\n zIndex = 1;\n }\n } else if (activeIndex === index) {\n zIndex = 1;\n }\n if (!inset) {\n if (!Number.isFinite(thumbValuePercent)) {\n return visuallyHidden;\n }\n return {\n position: 'absolute',\n [startEdge]: `${thumbValuePercent}%`,\n [crossOffsetProperty]: '50%',\n translate: `${(vertical || !rtl ? -1 : 1) * 50}% ${(vertical ? 1 : -1) * 50}%`,\n zIndex\n };\n }\n return {\n ['--position']: `${positionPercent}%`,\n visibility: renderBeforeHydration && !isMounted || positionPercent === undefined ? 'hidden' : undefined,\n position: 'absolute',\n [startEdge]: 'var(--position)',\n [crossOffsetProperty]: '50%',\n translate: `${(vertical || !rtl ? -1 : 1) * 50}% ${(vertical ? 1 : -1) * 50}%`,\n zIndex\n };\n }, [activeIndex, index, inset, isMounted, positionPercent, range, renderBeforeHydration, rtl, safeLastUsedThumbIndex, thumbValuePercent, vertical]);\n let cssWritingMode;\n if (orientation === 'vertical') {\n cssWritingMode = rtl ? 'vertical-rl' : 'vertical-lr';\n }\n const ariaLabel = typeof getAriaLabelProp === 'function' ? getAriaLabelProp(index) : ariaLabelProp;\n const inputProps = mergeProps({\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledByProp ?? (ariaLabel == null ? labelId : undefined),\n 'aria-describedby': ariaDescribedByProp,\n 'aria-orientation': orientation,\n 'aria-valuenow': thumbValue,\n 'aria-valuetext': typeof getAriaValueTextProp === 'function' ? getAriaValueTextProp(formatNumber(thumbValue, locale, formatOptionsRef.current ?? undefined), thumbValue, index) : getDefaultAriaValueText(sliderValues, index, formatOptionsRef.current ?? undefined, locale),\n disabled,\n id: inputId,\n max,\n min,\n name,\n onChange(event) {\n handleInputChange(event.target.valueAsNumber, index, event);\n },\n onFocus() {\n setActive(index);\n setFocused(true);\n },\n onBlur() {\n if (!thumbRef.current) {\n return;\n }\n setActive(-1);\n setTouched(true);\n setFocused(false);\n if (validationMode === 'onBlur') {\n validation.commit(getSliderValue(thumbValue, index, min, max, range, sliderValues));\n }\n },\n onKeyDown(event) {\n if (!ALL_KEYS.has(event.key)) {\n return;\n }\n if (COMPOSITE_KEYS.has(event.key)) {\n event.stopPropagation();\n }\n let newValue = null;\n const roundedValue = roundValueToStep(thumbValue, step, min);\n switch (event.key) {\n case ARROW_UP:\n newValue = getNewValue(roundedValue, event.shiftKey ? largeStep : step, 1, min, max);\n break;\n case ARROW_RIGHT:\n newValue = getNewValue(roundedValue, event.shiftKey ? largeStep : step, rtl ? -1 : 1, min, max);\n break;\n case ARROW_DOWN:\n newValue = getNewValue(roundedValue, event.shiftKey ? largeStep : step, -1, min, max);\n break;\n case ARROW_LEFT:\n newValue = getNewValue(roundedValue, event.shiftKey ? largeStep : step, rtl ? 1 : -1, min, max);\n break;\n case PAGE_UP:\n newValue = getNewValue(roundedValue, largeStep, 1, min, max);\n break;\n case PAGE_DOWN:\n newValue = getNewValue(roundedValue, largeStep, -1, min, max);\n break;\n case END:\n newValue = max;\n if (range) {\n newValue = Number.isFinite(sliderValues[index + 1]) ? sliderValues[index + 1] - step * minStepsBetweenValues : max;\n }\n break;\n case HOME:\n newValue = min;\n if (range) {\n newValue = Number.isFinite(sliderValues[index - 1]) ? sliderValues[index - 1] + step * minStepsBetweenValues : min;\n }\n break;\n default:\n break;\n }\n if (newValue !== null) {\n handleInputChange(newValue, index, event);\n event.preventDefault();\n }\n },\n step,\n style: {\n ...visuallyHidden,\n // So that VoiceOver's focus indicator matches the thumb's dimensions\n width: '100%',\n height: '100%',\n writingMode: cssWritingMode\n },\n tabIndex: tabIndexProp ?? undefined,\n type: 'range',\n value: thumbValue ?? ''\n }, validation.getInputValidationProps);\n const mergedInputRef = useMergedRefs(inputRef, validation.inputRef, inputRefProp);\n const element = useRenderElement('div', componentProps, {\n state,\n ref: [forwardedRef, listItemRef, thumbRef],\n props: [{\n [SliderThumbDataAttributes.index]: index,\n children: /*#__PURE__*/_jsxs(React.Fragment, {\n children: [childrenProp, /*#__PURE__*/_jsx(\"input\", {\n ref: mergedInputRef,\n ...inputProps\n }), inset && !isMounted && renderBeforeHydration &&\n // this must be rendered with the last thumb to ensure all\n // preceding thumbs are already rendered in the DOM\n last && /*#__PURE__*/_jsx(\"script\", {\n nonce: nonce\n // eslint-disable-next-line react/no-danger\n ,\n dangerouslySetInnerHTML: {\n __html: prehydrationScript\n },\n suppressHydrationWarning: true\n })]\n }),\n id,\n onBlur: onBlurProp,\n onFocus: onFocusProp,\n onPointerDown(event) {\n pressedThumbIndexRef.current = index;\n if (thumbRef.current != null) {\n const axis = orientation === 'horizontal' ? 'x' : 'y';\n const midpoint = getMidpoint(thumbRef.current);\n const offset = (orientation === 'horizontal' ? event.clientX : event.clientY) - midpoint[axis];\n pressedThumbCenterOffsetRef.current = offset;\n }\n if (inputRef.current != null && pressedInputRef.current !== inputRef.current) {\n pressedInputRef.current = inputRef.current;\n }\n },\n style: getThumbStyle(),\n suppressHydrationWarning: renderBeforeHydration || undefined,\n tabIndex: -1\n }, elementProps],\n stateAttributesMapping: sliderStateAttributesMapping\n });\n return element;\n});\nif (process.env.NODE_ENV !== \"production\") SliderThumb.displayName = \"SliderThumb\";","'use client';\n\nimport * as React from 'react';\nimport { useOnMount } from '@base-ui/utils/useOnMount';\nimport { valueToPercent } from \"../../utils/valueToPercent.js\";\nimport { useRenderElement } from \"../../utils/useRenderElement.js\";\nimport { useSliderRootContext } from \"../root/SliderRootContext.js\";\nimport { sliderStateAttributesMapping } from \"../root/stateAttributesMapping.js\";\nfunction getInsetStyles(vertical, range, start, end, renderBeforeHydration, mounted) {\n const visibility = start === undefined || range && end === undefined ? 'hidden' : undefined;\n const startEdge = vertical ? 'bottom' : 'insetInlineStart';\n const mainSide = vertical ? 'height' : 'width';\n const crossSide = vertical ? 'width' : 'height';\n const styles = {\n visibility: renderBeforeHydration && !mounted ? 'hidden' : visibility,\n position: vertical ? 'absolute' : 'relative',\n [crossSide]: 'inherit'\n };\n styles['--start-position'] = `${start ?? 0}%`;\n if (!range) {\n styles[startEdge] = 0;\n styles[mainSide] = 'var(--start-position)';\n return styles;\n }\n styles['--relative-size'] = `${(end ?? 0) - (start ?? 0)}%`;\n styles[startEdge] = 'var(--start-position)';\n styles[mainSide] = 'var(--relative-size)';\n return styles;\n}\nfunction getCenteredStyles(vertical, range, start, end) {\n const startEdge = vertical ? 'bottom' : 'insetInlineStart';\n const mainSide = vertical ? 'height' : 'width';\n const crossSide = vertical ? 'width' : 'height';\n const styles = {\n position: vertical ? 'absolute' : 'relative',\n [crossSide]: 'inherit'\n };\n if (!range) {\n styles[startEdge] = 0;\n styles[mainSide] = `${start}%`;\n return styles;\n }\n const size = end - start;\n styles[startEdge] = `${start}%`;\n styles[mainSide] = `${size}%`;\n return styles;\n}\n\n/**\n * Visualizes the current value of the slider.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Slider](https://base-ui.com/react/components/slider)\n */\nexport const SliderIndicator = /*#__PURE__*/React.forwardRef(function SliderIndicator(componentProps, forwardedRef) {\n const {\n render,\n className,\n ...elementProps\n } = componentProps;\n const {\n indicatorPosition,\n inset,\n max,\n min,\n orientation,\n renderBeforeHydration,\n state,\n values\n } = useSliderRootContext();\n const [isMounted, setIsMounted] = React.useState(false);\n useOnMount(() => setIsMounted(true));\n const vertical = orientation === 'vertical';\n const range = values.length > 1;\n const style = inset ? getInsetStyles(vertical, range, indicatorPosition[0], indicatorPosition[1], renderBeforeHydration, isMounted) : getCenteredStyles(vertical, range, valueToPercent(values[0], min, max), valueToPercent(values[values.length - 1], min, max));\n const element = useRenderElement('div', componentProps, {\n state,\n ref: forwardedRef,\n props: [{\n ['data-base-ui-slider-indicator']: renderBeforeHydration ? '' : undefined,\n style,\n suppressHydrationWarning: renderBeforeHydration || undefined\n }, elementProps],\n stateAttributesMapping: sliderStateAttributesMapping\n });\n return element;\n});\nif (process.env.NODE_ENV !== \"production\") SliderIndicator.displayName = \"SliderIndicator\";","\"use client\"\n\nimport * as React from \"react\"\nimport { Slider as SliderPrimitive } from \"@base-ui/react/slider\"\n\nimport { cn } from \"../lib\"\n\nfunction Slider({\n className,\n defaultValue,\n value,\n min = 0,\n max = 100,\n ...props\n}: SliderPrimitive.Root.Props) {\n const _values = React.useMemo(\n () =>\n Array.isArray(value)\n ? value\n : Array.isArray(defaultValue)\n ? defaultValue\n : [min, max],\n [value, defaultValue, min, max]\n )\n\n return (\n <SliderPrimitive.Root\n className={cn(\"data-horizontal:w-full data-vertical:h-full\", className)}\n data-slot=\"slider\"\n defaultValue={defaultValue}\n value={value}\n min={min}\n max={max}\n thumbAlignment=\"edge\"\n {...props}\n >\n <SliderPrimitive.Control className=\"relative flex w-full touch-none items-center select-none data-disabled:opacity-50 data-vertical:h-full data-vertical:min-h-40 data-vertical:w-auto data-vertical:flex-col\">\n <SliderPrimitive.Track\n data-slot=\"slider-track\"\n className=\"relative grow overflow-hidden rounded-full bg-muted select-none data-horizontal:h-1 data-horizontal:w-full data-vertical:h-full data-vertical:w-1\"\n >\n <SliderPrimitive.Indicator\n data-slot=\"slider-range\"\n className=\"bg-primary select-none data-horizontal:h-full data-vertical:w-full\"\n />\n </SliderPrimitive.Track>\n {Array.from({ length: _values.length }, (_, index) => (\n <SliderPrimitive.Thumb\n data-slot=\"slider-thumb\"\n key={index}\n className=\"relative block size-3 shrink-0 rounded-full border border-ring bg-white ring-ring/50 transition-[color,box-shadow] select-none after:absolute after:-inset-2 hover:ring-3 focus-visible:ring-3 focus-visible:outline-hidden active:ring-3 disabled:pointer-events-none disabled:opacity-50\"\n />\n ))}\n </SliderPrimitive.Control>\n </SliderPrimitive.Root>\n )\n}\n\nexport { Slider }\n"],"names":["clamp","fieldValidityMapping","React","_formatErrorMessage","REASONS.keyboard","REASONS.inputChange","SliderRoot","useBaseUiId","getDefaultLabelId","useStableCallback","useFormContext","useFieldRootContext","useLabelableContext","resolveAriaLabelledBy","useControlled","useValueAsRef","useField","useValueChanged","element","createChangeEventDetails","REASONS.none","createGenericEventDetails","warn","useIsoLayoutEffect","activeElement","ownerDocument","useRenderElement","_jsx","CompositeList","SliderControl","useDirection","isElement","REASONS.drag","REASONS.trackPress","useAnimationFrame","contains","SliderTrack","SliderThumbDataAttributes","ARROW_UP","ARROW_DOWN","ARROW_LEFT","ARROW_RIGHT","HOME","END","formatNumber","SliderThumb","useCSPContext","useLabelableId","useCompositeListItem","valueToPercent","useOnMount","visuallyHidden","mergeProps","COMPOSITE_KEYS","useMergedRefs","_jsxs","prehydrationScript","SliderIndicator","jsx","SliderPrimitive.Root","cn","jsxs","SliderPrimitive.Control","SliderPrimitive.Track","SliderPrimitive.Indicator","SliderPrimitive.Thumb"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]}