solid-baseui 0.1.0-alpha.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 (810) hide show
  1. package/LICENSE +26 -0
  2. package/README.md +150 -0
  3. package/dist/lib/client/CSPContext-faVzToiT.js +10 -0
  4. package/dist/lib/client/CheckboxGroupContext-1CRRHK0T.js +8 -0
  5. package/dist/lib/client/DialogHandle-DrN2YWCv.js +518 -0
  6. package/dist/lib/client/DialogPopup-ZlqmGfdk.js +136 -0
  7. package/dist/lib/client/DirectionContext-BwMabICS.js +7 -0
  8. package/dist/lib/client/FieldControl-Bc-z2og6.js +116 -0
  9. package/dist/lib/client/FieldItemContext-Bwzf-4tL.js +7 -0
  10. package/dist/lib/client/FieldRootContext-izCEh80D.js +32 -0
  11. package/dist/lib/client/FieldsetRootContext-BgThSAcd.js +13 -0
  12. package/dist/lib/client/FloatingTree-23B7KKPD.js +83 -0
  13. package/dist/lib/client/FocusManager-grSdNHqW.js +360 -0
  14. package/dist/lib/client/FormContext-BB05lWOI.js +16 -0
  15. package/dist/lib/client/InternalBackdrop-cSK13gaM.js +160 -0
  16. package/dist/lib/client/LabelableContext-DKsB0fIx.js +48 -0
  17. package/dist/lib/client/MenuSubmenuTrigger-QZkQ0F2v.js +1570 -0
  18. package/dist/lib/client/MenubarContext-BYt3fkt-.js +13 -0
  19. package/dist/lib/client/PopupHandle-CcJG4NMy.js +101 -0
  20. package/dist/lib/client/PopupStore-DjB-wO88.js +468 -0
  21. package/dist/lib/client/PopupViewport-DgrIqQea.js +152 -0
  22. package/dist/lib/client/RadioGroupContext-CZexBsPa.js +9 -0
  23. package/dist/lib/client/Separator-9DboD_Si.js +25 -0
  24. package/dist/lib/client/ToggleGroupContext-_THxLgJU.js +9 -0
  25. package/dist/lib/client/ToolbarGroupContext-Dpc3_mFx.js +9 -0
  26. package/dist/lib/client/ToolbarItemOwnerContext-DtVqVnSE.js +9 -0
  27. package/dist/lib/client/ToolbarRootContext-88yZoAOy.js +13 -0
  28. package/dist/lib/client/TriggerFocusGuards-CQ-JuASy.js +56 -0
  29. package/dist/lib/client/accordion/index.js +2 -0
  30. package/dist/lib/client/accordion-sOXt9AlG.js +399 -0
  31. package/dist/lib/client/alert-dialog/index.js +2 -0
  32. package/dist/lib/client/alert-dialog-BH_3ndio.js +30 -0
  33. package/dist/lib/client/autocomplete/index.js +2 -0
  34. package/dist/lib/client/autocomplete-Cob_FZEP.js +113 -0
  35. package/dist/lib/client/avatar/index.js +2 -0
  36. package/dist/lib/client/avatar-AF9vyD4q.js +146 -0
  37. package/dist/lib/client/button/index.js +2 -0
  38. package/dist/lib/client/button-DpUi-2g8.js +82 -0
  39. package/dist/lib/client/buttonSemantics-paljfpOX.js +39 -0
  40. package/dist/lib/client/checkbox/index.js +2 -0
  41. package/dist/lib/client/checkbox-BbAwOptH.js +441 -0
  42. package/dist/lib/client/checkbox-group/index.js +2 -0
  43. package/dist/lib/client/checkbox-group-CSSp_805.js +128 -0
  44. package/dist/lib/client/collapsible/index.js +2 -0
  45. package/dist/lib/client/collapsible-BIbje_ub.js +232 -0
  46. package/dist/lib/client/combobox/index.js +2 -0
  47. package/dist/lib/client/combobox-8O-vgTLL.js +352 -0
  48. package/dist/lib/client/compositeNavigation-sxniYTc7.js +58 -0
  49. package/dist/lib/client/constants-BYjBUIIi.js +424 -0
  50. package/dist/lib/client/context-menu/index.js +2 -0
  51. package/dist/lib/client/context-menu-BTMkXtrs.js +217 -0
  52. package/dist/lib/client/createAnchorPositioning-DcxDXUgB.js +1058 -0
  53. package/dist/lib/client/createAnchoredPopupScrollLock-Cx0cbh1_.js +19 -0
  54. package/dist/lib/client/createClickInteraction-CTaIFBiV.js +45 -0
  55. package/dist/lib/client/createCollapsiblePanel-DeDu0O2t.js +231 -0
  56. package/dist/lib/client/createFocusInteraction-D4w1-235.js +50 -0
  57. package/dist/lib/client/createPopupAutoResize-CGNiLhGq.js +60 -0
  58. package/dist/lib/client/createTransitionStatus-B1L-whed.js +53 -0
  59. package/dist/lib/client/csp-provider/index.js +2 -0
  60. package/dist/lib/client/csp-provider-C7nRHDKK.js +16 -0
  61. package/dist/lib/client/dialog/index.js +2 -0
  62. package/dist/lib/client/dialog-DkaQwIgP.js +19 -0
  63. package/dist/lib/client/direction-provider/index.js +3 -0
  64. package/dist/lib/client/direction-provider-DYhRN-8f.js +13 -0
  65. package/dist/lib/client/dom-BEAeQ9Eb.js +58 -0
  66. package/dist/lib/client/drawer/index.js +2 -0
  67. package/dist/lib/client/drawer-Ce2cChLt.js +1550 -0
  68. package/dist/lib/client/field/index.js +2 -0
  69. package/dist/lib/client/field-C-o7jzKW.js +469 -0
  70. package/dist/lib/client/fieldset/index.js +2 -0
  71. package/dist/lib/client/fieldset-BQTAWv2L.js +65 -0
  72. package/dist/lib/client/form/index.js +2 -0
  73. package/dist/lib/client/form-BINBiW5L.js +106 -0
  74. package/dist/lib/client/form-types-DFBxc1LF.js +8 -0
  75. package/dist/lib/client/index.js +43 -0
  76. package/dist/lib/client/input/index.js +2 -0
  77. package/dist/lib/client/input-gb0ejxkm.js +7 -0
  78. package/dist/lib/client/internals/composeEventHandlers.js +50 -0
  79. package/dist/lib/client/internals/createBaseUIEventDetails.js +31 -0
  80. package/dist/lib/client/internals/csp-context/index.js +2 -0
  81. package/dist/lib/client/internals/direction-context/index.js +2 -0
  82. package/dist/lib/client/internals/field-constants.js +56 -0
  83. package/dist/lib/client/internals/field-root-context/index.js +2 -0
  84. package/dist/lib/client/internals/form-context/index.js +2 -0
  85. package/dist/lib/client/internals/getStateAttributesProps.js +21 -0
  86. package/dist/lib/client/internals/labelable-provider/index.js +19 -0
  87. package/dist/lib/client/internals/mergeStyles.js +9 -0
  88. package/dist/lib/client/internals/reasons.js +2 -0
  89. package/dist/lib/client/internals/stateAttributesMapping.js +8 -0
  90. package/dist/lib/client/internals/types.js +0 -0
  91. package/dist/lib/client/menu/index.js +2 -0
  92. package/dist/lib/client/menu-DeMT08oD.js +326 -0
  93. package/dist/lib/client/menubar/index.js +2 -0
  94. package/dist/lib/client/menubar-C4aomSYv.js +185 -0
  95. package/dist/lib/client/mergeStyleValue-C4ITiiIV.js +42 -0
  96. package/dist/lib/client/meter/index.js +2 -0
  97. package/dist/lib/client/meter-xSU37Q0m.js +171 -0
  98. package/dist/lib/client/navigation-menu/index.js +2 -0
  99. package/dist/lib/client/navigation-menu-ZILQmdn6.js +1083 -0
  100. package/dist/lib/client/number-field/index.js +2 -0
  101. package/dist/lib/client/number-field-B8CsTb_8.js +1035 -0
  102. package/dist/lib/client/otp-field/index.js +2 -0
  103. package/dist/lib/client/otp-field-DBkMcnog.js +582 -0
  104. package/dist/lib/client/platform-Bk5Q32mf.js +13 -0
  105. package/dist/lib/client/popover/index.js +2 -0
  106. package/dist/lib/client/popover-CQwyp-fs.js +929 -0
  107. package/dist/lib/client/popupStateMapping-C9eZl19i.js +367 -0
  108. package/dist/lib/client/preview-card/index.js +2 -0
  109. package/dist/lib/client/preview-card-D_2Q8lpC.js +625 -0
  110. package/dist/lib/client/progress/index.js +2 -0
  111. package/dist/lib/client/progress-D7r0xAC9.js +188 -0
  112. package/dist/lib/client/radio/index.js +2 -0
  113. package/dist/lib/client/radio-CzGQ81z1.js +299 -0
  114. package/dist/lib/client/radio-group/index.js +2 -0
  115. package/dist/lib/client/radio-group-DpHlBKA6.js +193 -0
  116. package/dist/lib/client/reasons-Co5CzjKq.js +41 -0
  117. package/dist/lib/client/resolveStyle-XcgAuaKR.js +11 -0
  118. package/dist/lib/client/rolldown-runtime-Dy4uBu1J.js +11 -0
  119. package/dist/lib/client/runOnceAnimationsFinish-15EM-Z4l.js +48 -0
  120. package/dist/lib/client/safePolygon--bbKn0c8.js +316 -0
  121. package/dist/lib/client/scroll-area/index.js +2 -0
  122. package/dist/lib/client/scroll-area-CffM4U0R.js +701 -0
  123. package/dist/lib/client/scrollable-SRNYlhF7.js +42 -0
  124. package/dist/lib/client/select/index.js +2 -0
  125. package/dist/lib/client/select-IFhiEg73.js +1940 -0
  126. package/dist/lib/client/separator/index.js +2 -0
  127. package/dist/lib/client/setRef-fXF6OIo3.js +7 -0
  128. package/dist/lib/client/slider/index.js +2 -0
  129. package/dist/lib/client/slider-BCagYmGp.js +921 -0
  130. package/dist/lib/client/switch/index.js +2 -0
  131. package/dist/lib/client/switch-RIJeDnvS.js +308 -0
  132. package/dist/lib/client/tabs/index.js +2 -0
  133. package/dist/lib/client/tabs-fOAKs7r3.js +696 -0
  134. package/dist/lib/client/toast/index.js +2 -0
  135. package/dist/lib/client/toast-D2P8UqUs.js +1108 -0
  136. package/dist/lib/client/toggle/index.js +2 -0
  137. package/dist/lib/client/toggle-group/index.js +2 -0
  138. package/dist/lib/client/toggle-group-0Aue0owJ.js +129 -0
  139. package/dist/lib/client/toggle-momVEIBL.js +138 -0
  140. package/dist/lib/client/toolbar/index.js +2 -0
  141. package/dist/lib/client/toolbar-Du22aKCv.js +492 -0
  142. package/dist/lib/client/tooltip/index.js +2 -0
  143. package/dist/lib/client/tooltip-CyK61fl1.js +844 -0
  144. package/dist/lib/client/types/index.js +0 -0
  145. package/dist/lib/client/useFilteredItems-DTekHz39.js +2223 -0
  146. package/dist/lib/client/withoutComponentBinding-CcCW7fSc.js +13 -0
  147. package/dist/lib/server/CSPContext-DOxR0PO7.js +10 -0
  148. package/dist/lib/server/CheckboxGroupContext-DTP679kK.js +8 -0
  149. package/dist/lib/server/DialogHandle-ATZlm9RC.js +689 -0
  150. package/dist/lib/server/DialogPopup-BebI-w5P.js +159 -0
  151. package/dist/lib/server/DirectionContext-YORWLF08.js +10 -0
  152. package/dist/lib/server/FieldControl-Y_kI7ARp.js +174 -0
  153. package/dist/lib/server/FieldItemContext-x-C7ZlmX.js +7 -0
  154. package/dist/lib/server/FieldRootContext-IC-LWzVp.js +34 -0
  155. package/dist/lib/server/FieldsetRootContext-DyNqCjK6.js +14 -0
  156. package/dist/lib/server/FloatingTree-z1JPD1dR.js +101 -0
  157. package/dist/lib/server/FocusManager-BrbZVWME.js +538 -0
  158. package/dist/lib/server/FormContext-pvESt85v.js +17 -0
  159. package/dist/lib/server/InternalBackdrop-C_iDPVR-.js +260 -0
  160. package/dist/lib/server/LabelableContext-DZP3rgAY.js +59 -0
  161. package/dist/lib/server/MenuSubmenuTrigger-DA4gsv6z.js +2072 -0
  162. package/dist/lib/server/MenubarContext-C-62rMnO.js +14 -0
  163. package/dist/lib/server/PopupHandle-DthPgNjy.js +115 -0
  164. package/dist/lib/server/PopupStore-DEs3FAEe.js +645 -0
  165. package/dist/lib/server/PopupViewport-3r_KTFwX.js +220 -0
  166. package/dist/lib/server/RadioGroupContext-D5xmTkDz.js +10 -0
  167. package/dist/lib/server/Separator-vhhYxWGr.js +31 -0
  168. package/dist/lib/server/ToggleGroupContext-COor8gYc.js +10 -0
  169. package/dist/lib/server/ToolbarGroupContext-CzdHxijX.js +10 -0
  170. package/dist/lib/server/ToolbarItemOwnerContext-L5dsZ_vS.js +10 -0
  171. package/dist/lib/server/ToolbarRootContext-DD-qe7s8.js +14 -0
  172. package/dist/lib/server/TriggerFocusGuards-sbGwf45f.js +63 -0
  173. package/dist/lib/server/accordion/index.js +566 -0
  174. package/dist/lib/server/alert-dialog/index.js +36 -0
  175. package/dist/lib/server/autocomplete/index.js +173 -0
  176. package/dist/lib/server/avatar/index.js +199 -0
  177. package/dist/lib/server/button/index.js +119 -0
  178. package/dist/lib/server/buttonSemantics-BSwDxJhh.js +49 -0
  179. package/dist/lib/server/checkbox/index.js +537 -0
  180. package/dist/lib/server/checkbox-group/index.js +198 -0
  181. package/dist/lib/server/collapsible/index.js +307 -0
  182. package/dist/lib/server/combobox/index.js +480 -0
  183. package/dist/lib/server/compositeNavigation-BRVT1C38.js +68 -0
  184. package/dist/lib/server/constants-9H__9xbS.js +706 -0
  185. package/dist/lib/server/context-menu/index.js +263 -0
  186. package/dist/lib/server/createAnchorPositioning-C-cVOPwz.js +381 -0
  187. package/dist/lib/server/createAnchoredPopupScrollLock-DFuUrykR.js +20 -0
  188. package/dist/lib/server/createClickInteraction-BYsMgvup.js +68 -0
  189. package/dist/lib/server/createCollapsiblePanel-DTyVJz0G.js +297 -0
  190. package/dist/lib/server/createFocusInteraction-EIS0QOel.js +77 -0
  191. package/dist/lib/server/createPopupAutoResize-DO50jjNX.js +111 -0
  192. package/dist/lib/server/createTransitionStatus-BTlrerSS.js +61 -0
  193. package/dist/lib/server/csp-provider/index.js +15 -0
  194. package/dist/lib/server/dialog/index.js +19 -0
  195. package/dist/lib/server/direction-provider/index.js +13 -0
  196. package/dist/lib/server/dom-Crg_2R-j.js +67 -0
  197. package/dist/lib/server/drawer/index.js +2351 -0
  198. package/dist/lib/server/field/index.js +677 -0
  199. package/dist/lib/server/fieldset/index.js +91 -0
  200. package/dist/lib/server/form/index.js +136 -0
  201. package/dist/lib/server/form-types-P7-SCWyr.js +8 -0
  202. package/dist/lib/server/index.js +43 -0
  203. package/dist/lib/server/input/index.js +11 -0
  204. package/dist/lib/server/internals/composeEventHandlers.js +60 -0
  205. package/dist/lib/server/internals/createBaseUIEventDetails.js +33 -0
  206. package/dist/lib/server/internals/csp-context/index.js +2 -0
  207. package/dist/lib/server/internals/direction-context/index.js +2 -0
  208. package/dist/lib/server/internals/field-constants.js +64 -0
  209. package/dist/lib/server/internals/field-root-context/index.js +2 -0
  210. package/dist/lib/server/internals/form-context/index.js +2 -0
  211. package/dist/lib/server/internals/getStateAttributesProps.js +23 -0
  212. package/dist/lib/server/internals/labelable-provider/index.js +20 -0
  213. package/dist/lib/server/internals/mergeStyles.js +15 -0
  214. package/dist/lib/server/internals/reasons.js +76 -0
  215. package/dist/lib/server/internals/stateAttributesMapping.js +15 -0
  216. package/dist/lib/server/internals/types.js +1 -0
  217. package/dist/lib/server/menu/index.js +423 -0
  218. package/dist/lib/server/menubar/index.js +242 -0
  219. package/dist/lib/server/mergeStyleValue-Db8bRCM4.js +67 -0
  220. package/dist/lib/server/meter/index.js +217 -0
  221. package/dist/lib/server/navigation-menu/index.js +1436 -0
  222. package/dist/lib/server/number-field/index.js +1497 -0
  223. package/dist/lib/server/otp-field/index.js +811 -0
  224. package/dist/lib/server/platform-DYukKUir.js +13 -0
  225. package/dist/lib/server/popover/index.js +1187 -0
  226. package/dist/lib/server/popupStateMapping-nKoUwoke.js +459 -0
  227. package/dist/lib/server/preview-card/index.js +797 -0
  228. package/dist/lib/server/progress/index.js +252 -0
  229. package/dist/lib/server/radio/index.js +364 -0
  230. package/dist/lib/server/radio-group/index.js +282 -0
  231. package/dist/lib/server/resolveStyle-XCSFDHAL.js +11 -0
  232. package/dist/lib/server/rolldown-runtime-D7D4PA-g.js +13 -0
  233. package/dist/lib/server/runOnceAnimationsFinish-DCHzXWZU.js +59 -0
  234. package/dist/lib/server/safePolygon-CAm5RJGv.js +474 -0
  235. package/dist/lib/server/scroll-area/index.js +993 -0
  236. package/dist/lib/server/scrollable-CjsSxbGr.js +54 -0
  237. package/dist/lib/server/select/index.js +2630 -0
  238. package/dist/lib/server/separator/index.js +2 -0
  239. package/dist/lib/server/setRef-Bt70sW7c.js +7 -0
  240. package/dist/lib/server/slider/index.js +1333 -0
  241. package/dist/lib/server/switch/index.js +389 -0
  242. package/dist/lib/server/tabs/index.js +1007 -0
  243. package/dist/lib/server/toast/index.js +1588 -0
  244. package/dist/lib/server/toggle/index.js +201 -0
  245. package/dist/lib/server/toggle-group/index.js +192 -0
  246. package/dist/lib/server/toolbar/index.js +685 -0
  247. package/dist/lib/server/tooltip/index.js +1092 -0
  248. package/dist/lib/server/types/index.js +1 -0
  249. package/dist/lib/server/useFilteredItems-DvuctLt3.js +3157 -0
  250. package/dist/lib/server/withoutComponentBinding-BHaWr5kU.js +20 -0
  251. package/dist/lib/types/accordion/header/AccordionHeader.d.ts +12 -0
  252. package/dist/lib/types/accordion/index.d.ts +6 -0
  253. package/dist/lib/types/accordion/index.parts.d.ts +5 -0
  254. package/dist/lib/types/accordion/item/AccordionItem.d.ts +29 -0
  255. package/dist/lib/types/accordion/item/AccordionItemContext.d.ts +22 -0
  256. package/dist/lib/types/accordion/item/AccordionItemDataAttributes.d.ts +5 -0
  257. package/dist/lib/types/accordion/item/stateAttributesMapping.d.ts +13 -0
  258. package/dist/lib/types/accordion/panel/AccordionPanel.d.ts +20 -0
  259. package/dist/lib/types/accordion/panel/AccordionPanelCssVars.d.ts +4 -0
  260. package/dist/lib/types/accordion/root/AccordionRoot.d.ts +46 -0
  261. package/dist/lib/types/accordion/root/AccordionRootContext.d.ts +22 -0
  262. package/dist/lib/types/accordion/root/stateAttributesMapping.d.ts +3 -0
  263. package/dist/lib/types/accordion/trigger/AccordionTrigger.d.ts +27 -0
  264. package/dist/lib/types/accordion/trigger/AccordionTriggerDataAttributes.d.ts +4 -0
  265. package/dist/lib/types/alert-dialog/handle.d.ts +6 -0
  266. package/dist/lib/types/alert-dialog/index.d.ts +10 -0
  267. package/dist/lib/types/alert-dialog/index.parts.d.ts +10 -0
  268. package/dist/lib/types/alert-dialog/root/AlertDialogRoot.d.ts +29 -0
  269. package/dist/lib/types/alert-dialog/trigger/AlertDialogTrigger.d.ts +19 -0
  270. package/dist/lib/types/autocomplete/index.d.ts +24 -0
  271. package/dist/lib/types/autocomplete/index.parts.d.ts +23 -0
  272. package/dist/lib/types/autocomplete/input-group/AutocompleteInputGroup.d.ts +26 -0
  273. package/dist/lib/types/autocomplete/item/AutocompleteItem.d.ts +18 -0
  274. package/dist/lib/types/autocomplete/root/AutocompleteRoot.d.ts +195 -0
  275. package/dist/lib/types/autocomplete/root/utils/useFilter.d.ts +9 -0
  276. package/dist/lib/types/autocomplete/separator/AutocompleteSeparator.d.ts +17 -0
  277. package/dist/lib/types/autocomplete/trigger/AutocompleteTrigger.d.ts +24 -0
  278. package/dist/lib/types/autocomplete/value/AutocompleteValue.d.ts +15 -0
  279. package/dist/lib/types/avatar/fallback/AvatarFallback.d.ts +16 -0
  280. package/dist/lib/types/avatar/image/AvatarImage.d.ts +17 -0
  281. package/dist/lib/types/avatar/image/createImageLoadingStatus.d.ts +10 -0
  282. package/dist/lib/types/avatar/index.d.ts +4 -0
  283. package/dist/lib/types/avatar/index.parts.d.ts +3 -0
  284. package/dist/lib/types/avatar/root/AvatarRoot.d.ts +13 -0
  285. package/dist/lib/types/avatar/root/AvatarRootContext.d.ts +10 -0
  286. package/dist/lib/types/button/Button.d.ts +34 -0
  287. package/dist/lib/types/button/index.d.ts +2 -0
  288. package/dist/lib/types/checkbox/index.d.ts +3 -0
  289. package/dist/lib/types/checkbox/index.parts.d.ts +2 -0
  290. package/dist/lib/types/checkbox/indicator/CheckboxIndicator.d.ts +20 -0
  291. package/dist/lib/types/checkbox/root/CheckboxRoot.d.ts +56 -0
  292. package/dist/lib/types/checkbox/root/CheckboxRootContext.d.ts +7 -0
  293. package/dist/lib/types/checkbox/utils/getCheckboxStateAttributesMapping.d.ts +3 -0
  294. package/dist/lib/types/checkbox-group/CheckboxGroup.d.ts +32 -0
  295. package/dist/lib/types/checkbox-group/CheckboxGroupContext.d.ts +30 -0
  296. package/dist/lib/types/checkbox-group/index.d.ts +2 -0
  297. package/dist/lib/types/collapsible/index.d.ts +4 -0
  298. package/dist/lib/types/collapsible/index.parts.d.ts +3 -0
  299. package/dist/lib/types/collapsible/panel/CollapsiblePanel.d.ts +25 -0
  300. package/dist/lib/types/collapsible/panel/createCollapsiblePanel.d.ts +26 -0
  301. package/dist/lib/types/collapsible/root/CollapsibleRoot.d.ts +34 -0
  302. package/dist/lib/types/collapsible/root/CollapsibleRootContext.d.ts +19 -0
  303. package/dist/lib/types/collapsible/root/createCollapsibleTransitionStatus.d.ts +9 -0
  304. package/dist/lib/types/collapsible/root/stateAttributesMapping.d.ts +14 -0
  305. package/dist/lib/types/collapsible/trigger/CollapsibleTrigger.d.ts +28 -0
  306. package/dist/lib/types/combobox/arrow/ComboboxArrow.d.ts +16 -0
  307. package/dist/lib/types/combobox/backdrop/ComboboxBackdrop.d.ts +14 -0
  308. package/dist/lib/types/combobox/chip/ComboboxChip.d.ts +17 -0
  309. package/dist/lib/types/combobox/chip/ComboboxChipContext.d.ts +8 -0
  310. package/dist/lib/types/combobox/chip-remove/ComboboxChipRemove.d.ts +26 -0
  311. package/dist/lib/types/combobox/chips/ComboboxChips.d.ts +16 -0
  312. package/dist/lib/types/combobox/chips/ComboboxChipsContext.d.ts +26 -0
  313. package/dist/lib/types/combobox/clear/ComboboxClear.d.ts +35 -0
  314. package/dist/lib/types/combobox/collection/ComboboxCollection.d.ts +19 -0
  315. package/dist/lib/types/combobox/empty/ComboboxEmpty.d.ts +16 -0
  316. package/dist/lib/types/combobox/group/ComboboxGroup.d.ts +19 -0
  317. package/dist/lib/types/combobox/group/ComboboxGroupContext.d.ts +9 -0
  318. package/dist/lib/types/combobox/group-label/ComboboxGroupLabel.d.ts +11 -0
  319. package/dist/lib/types/combobox/icon/ComboboxIcon.d.ts +12 -0
  320. package/dist/lib/types/combobox/index.d.ts +29 -0
  321. package/dist/lib/types/combobox/index.parts.d.ts +28 -0
  322. package/dist/lib/types/combobox/input/ComboboxInput.d.ts +36 -0
  323. package/dist/lib/types/combobox/input-group/ComboboxInputGroup.d.ts +24 -0
  324. package/dist/lib/types/combobox/item/ComboboxItem.d.ts +40 -0
  325. package/dist/lib/types/combobox/item/ComboboxItemContext.d.ts +9 -0
  326. package/dist/lib/types/combobox/item-indicator/ComboboxItemIndicator.d.ts +22 -0
  327. package/dist/lib/types/combobox/label/ComboboxLabel.d.ts +22 -0
  328. package/dist/lib/types/combobox/list/ComboboxList.d.ts +24 -0
  329. package/dist/lib/types/combobox/popup/ComboboxPopup.d.ts +35 -0
  330. package/dist/lib/types/combobox/portal/ComboboxPortal.d.ts +25 -0
  331. package/dist/lib/types/combobox/portal/ComboboxPortalContext.d.ts +5 -0
  332. package/dist/lib/types/combobox/positioner/ComboboxPositioner.d.ts +37 -0
  333. package/dist/lib/types/combobox/positioner/ComboboxPositionerContext.d.ts +11 -0
  334. package/dist/lib/types/combobox/root/AriaCombobox.d.ts +82 -0
  335. package/dist/lib/types/combobox/root/ComboboxRoot.d.ts +180 -0
  336. package/dist/lib/types/combobox/root/ComboboxRootContext.d.ts +99 -0
  337. package/dist/lib/types/combobox/root/utils/useFilter.d.ts +25 -0
  338. package/dist/lib/types/combobox/root/utils/useFilteredItems.d.ts +5 -0
  339. package/dist/lib/types/combobox/row/ComboboxRow.d.ts +14 -0
  340. package/dist/lib/types/combobox/row/ComboboxRowContext.d.ts +3 -0
  341. package/dist/lib/types/combobox/separator/ComboboxSeparator.d.ts +21 -0
  342. package/dist/lib/types/combobox/status/ComboboxStatus.d.ts +17 -0
  343. package/dist/lib/types/combobox/store/ComboboxItemRegistry.d.ts +39 -0
  344. package/dist/lib/types/combobox/store/ComboboxStore.d.ts +65 -0
  345. package/dist/lib/types/combobox/trigger/ComboboxTrigger.d.ts +36 -0
  346. package/dist/lib/types/combobox/types.d.ts +15 -0
  347. package/dist/lib/types/combobox/utils/ComboboxInternalDismissButton.d.ts +9 -0
  348. package/dist/lib/types/combobox/utils/comboboxPopupId.d.ts +5 -0
  349. package/dist/lib/types/combobox/utils/createInitialLiveRegionTextMutation.d.ts +7 -0
  350. package/dist/lib/types/combobox/utils/handleInputPress.d.ts +7 -0
  351. package/dist/lib/types/combobox/utils/parts.d.ts +4 -0
  352. package/dist/lib/types/combobox/utils/stateAttributesMapping.d.ts +58 -0
  353. package/dist/lib/types/combobox/value/ComboboxValue.d.ts +20 -0
  354. package/dist/lib/types/context-menu/index.d.ts +19 -0
  355. package/dist/lib/types/context-menu/index.parts.d.ts +19 -0
  356. package/dist/lib/types/context-menu/root/ContextMenuRoot.d.ts +21 -0
  357. package/dist/lib/types/context-menu/root/ContextMenuRootContext.d.ts +19 -0
  358. package/dist/lib/types/context-menu/trigger/ContextMenuTrigger.d.ts +21 -0
  359. package/dist/lib/types/csp-provider/CSPProvider.d.ts +14 -0
  360. package/dist/lib/types/csp-provider/index.d.ts +2 -0
  361. package/dist/lib/types/dialog/backdrop/DialogBackdrop.d.ts +18 -0
  362. package/dist/lib/types/dialog/close/DialogClose.d.ts +26 -0
  363. package/dist/lib/types/dialog/description/DialogDescription.d.ts +11 -0
  364. package/dist/lib/types/dialog/index.d.ts +10 -0
  365. package/dist/lib/types/dialog/index.parts.d.ts +10 -0
  366. package/dist/lib/types/dialog/popup/DialogPopup.d.ts +24 -0
  367. package/dist/lib/types/dialog/portal/DialogPortal.d.ts +17 -0
  368. package/dist/lib/types/dialog/portal/DialogPortalContext.d.ts +8 -0
  369. package/dist/lib/types/dialog/root/DialogRoot.d.ts +44 -0
  370. package/dist/lib/types/dialog/root/DialogRootContext.d.ts +38 -0
  371. package/dist/lib/types/dialog/store/DialogHandle.d.ts +11 -0
  372. package/dist/lib/types/dialog/store/DialogStore.d.ts +20 -0
  373. package/dist/lib/types/dialog/title/DialogTitle.d.ts +11 -0
  374. package/dist/lib/types/dialog/trigger/DialogTrigger.d.ts +30 -0
  375. package/dist/lib/types/dialog/utils/mergeDialogStyles.d.ts +2 -0
  376. package/dist/lib/types/dialog/utils/stateAttributesMapping.d.ts +20 -0
  377. package/dist/lib/types/dialog/viewport/DialogViewport.d.ts +16 -0
  378. package/dist/lib/types/direction-provider/DirectionProvider.d.ts +13 -0
  379. package/dist/lib/types/direction-provider/index.d.ts +4 -0
  380. package/dist/lib/types/drawer/backdrop/DrawerBackdrop.d.ts +24 -0
  381. package/dist/lib/types/drawer/backdrop/DrawerBackdropCssVars.d.ts +7 -0
  382. package/dist/lib/types/drawer/content/DrawerContent.d.ts +14 -0
  383. package/dist/lib/types/drawer/content/DrawerContentDataAttributes.d.ts +1 -0
  384. package/dist/lib/types/drawer/handle.d.ts +14 -0
  385. package/dist/lib/types/drawer/indent/DrawerIndent.d.ts +16 -0
  386. package/dist/lib/types/drawer/indent-background/DrawerIndentBackground.d.ts +23 -0
  387. package/dist/lib/types/drawer/index.d.ts +17 -0
  388. package/dist/lib/types/drawer/index.parts.d.ts +16 -0
  389. package/dist/lib/types/drawer/popup/DrawerPopup.d.ts +46 -0
  390. package/dist/lib/types/drawer/popup/DrawerPopupCssVars.d.ts +37 -0
  391. package/dist/lib/types/drawer/popup/DrawerPopupDataAttributes.d.ts +25 -0
  392. package/dist/lib/types/drawer/provider/DrawerProvider.d.ts +15 -0
  393. package/dist/lib/types/drawer/provider/DrawerProviderContext.d.ts +21 -0
  394. package/dist/lib/types/drawer/root/DrawerRoot.d.ts +65 -0
  395. package/dist/lib/types/drawer/root/DrawerRootContext.d.ts +68 -0
  396. package/dist/lib/types/drawer/root/createDrawerSnapPoints.d.ts +24 -0
  397. package/dist/lib/types/drawer/swipe-area/DrawerSwipeArea.d.ts +43 -0
  398. package/dist/lib/types/drawer/swipe-area/DrawerSwipeAreaDataAttributes.d.ts +15 -0
  399. package/dist/lib/types/drawer/viewport/DrawerViewport.d.ts +31 -0
  400. package/dist/lib/types/drawer/viewport/DrawerViewportContext.d.ts +12 -0
  401. package/dist/lib/types/drawer/viewport/DrawerViewportCssVars.d.ts +8 -0
  402. package/dist/lib/types/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardContext.d.ts +14 -0
  403. package/dist/lib/types/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardProvider.d.ts +14 -0
  404. package/dist/lib/types/field/control/FieldControl.d.ts +35 -0
  405. package/dist/lib/types/field/description/FieldDescription.d.ts +16 -0
  406. package/dist/lib/types/field/error/FieldError.d.ts +19 -0
  407. package/dist/lib/types/field/index.d.ts +8 -0
  408. package/dist/lib/types/field/index.parts.d.ts +8 -0
  409. package/dist/lib/types/field/item/FieldItem.d.ts +16 -0
  410. package/dist/lib/types/field/item/FieldItemContext.d.ts +6 -0
  411. package/dist/lib/types/field/label/FieldLabel.d.ts +24 -0
  412. package/dist/lib/types/field/root/FieldRoot.d.ts +30 -0
  413. package/dist/lib/types/field/root/createFieldValidation.d.ts +22 -0
  414. package/dist/lib/types/field/validity/FieldValidity.d.ts +16 -0
  415. package/dist/lib/types/fieldset/index.d.ts +3 -0
  416. package/dist/lib/types/fieldset/index.parts.d.ts +2 -0
  417. package/dist/lib/types/fieldset/legend/FieldsetLegend.d.ts +21 -0
  418. package/dist/lib/types/fieldset/root/FieldsetRoot.d.ts +21 -0
  419. package/dist/lib/types/fieldset/root/FieldsetRootContext.d.ts +11 -0
  420. package/dist/lib/types/form/Form.d.ts +39 -0
  421. package/dist/lib/types/form/index.d.ts +2 -0
  422. package/dist/lib/types/index.d.ts +41 -0
  423. package/dist/lib/types/input/Input.d.ts +20 -0
  424. package/dist/lib/types/input/index.d.ts +2 -0
  425. package/dist/lib/types/internals/buttonSemantics.d.ts +10 -0
  426. package/dist/lib/types/internals/clamp.d.ts +1 -0
  427. package/dist/lib/types/internals/composeEventHandlers.d.ts +11 -0
  428. package/dist/lib/types/internals/constants.d.ts +4 -0
  429. package/dist/lib/types/internals/createBaseUIEventDetails.d.ts +57 -0
  430. package/dist/lib/types/internals/createTransitionStatus.d.ts +9 -0
  431. package/dist/lib/types/internals/csp-context/CSPContext.d.ts +7 -0
  432. package/dist/lib/types/internals/csp-context/index.d.ts +2 -0
  433. package/dist/lib/types/internals/direction-context/DirectionContext.d.ts +6 -0
  434. package/dist/lib/types/internals/direction-context/index.d.ts +2 -0
  435. package/dist/lib/types/internals/field-constants.d.ts +44 -0
  436. package/dist/lib/types/internals/field-root-context/FieldRootContext.d.ts +31 -0
  437. package/dist/lib/types/internals/field-root-context/index.d.ts +2 -0
  438. package/dist/lib/types/internals/filter.d.ts +18 -0
  439. package/dist/lib/types/internals/form-context/FormContext.d.ts +13 -0
  440. package/dist/lib/types/internals/form-context/index.d.ts +3 -0
  441. package/dist/lib/types/internals/form-types.d.ts +11 -0
  442. package/dist/lib/types/internals/getStateAttributesProps.d.ts +4 -0
  443. package/dist/lib/types/internals/installOwnedEventHandlers.d.ts +3 -0
  444. package/dist/lib/types/internals/isSolidAccessor.d.ts +6 -0
  445. package/dist/lib/types/internals/itemEquality.d.ts +17 -0
  446. package/dist/lib/types/internals/labelable-provider/LabelableContext.d.ts +18 -0
  447. package/dist/lib/types/internals/labelable-provider/LabelableProvider.d.ts +11 -0
  448. package/dist/lib/types/internals/labelable-provider/index.d.ts +2 -0
  449. package/dist/lib/types/internals/mergeStyleValue.d.ts +8 -0
  450. package/dist/lib/types/internals/mergeStyles.d.ts +6 -0
  451. package/dist/lib/types/internals/overlay/FloatingRootStore.d.ts +49 -0
  452. package/dist/lib/types/internals/overlay/FloatingTree.d.ts +48 -0
  453. package/dist/lib/types/internals/overlay/FocusGuard.d.ts +2 -0
  454. package/dist/lib/types/internals/overlay/FocusManager.d.ts +30 -0
  455. package/dist/lib/types/internals/overlay/InternalBackdrop.d.ts +6 -0
  456. package/dist/lib/types/internals/overlay/PopupHandle.d.ts +47 -0
  457. package/dist/lib/types/internals/overlay/PopupPortal.d.ts +37 -0
  458. package/dist/lib/types/internals/overlay/PopupStore.d.ts +89 -0
  459. package/dist/lib/types/internals/overlay/PopupTriggerMap.d.ts +11 -0
  460. package/dist/lib/types/internals/overlay/PopupViewport.d.ts +16 -0
  461. package/dist/lib/types/internals/overlay/ReactiveStore.d.ts +26 -0
  462. package/dist/lib/types/internals/overlay/TriggerFocusGuards.d.ts +14 -0
  463. package/dist/lib/types/internals/overlay/adaptiveOrigin.d.ts +2 -0
  464. package/dist/lib/types/internals/overlay/compositeNavigation.d.ts +20 -0
  465. package/dist/lib/types/internals/overlay/createAnchorPositioning.d.ts +57 -0
  466. package/dist/lib/types/internals/overlay/createAnchoredPopupScrollLock.d.ts +12 -0
  467. package/dist/lib/types/internals/overlay/createClickInteraction.d.ts +20 -0
  468. package/dist/lib/types/internals/overlay/createClientPoint.d.ts +12 -0
  469. package/dist/lib/types/internals/overlay/createContextMenuInteraction.d.ts +17 -0
  470. package/dist/lib/types/internals/overlay/createDelayGroup.d.ts +18 -0
  471. package/dist/lib/types/internals/overlay/createDismiss.d.ts +27 -0
  472. package/dist/lib/types/internals/overlay/createFloatingPosition.d.ts +22 -0
  473. package/dist/lib/types/internals/overlay/createFocusInteraction.d.ts +14 -0
  474. package/dist/lib/types/internals/overlay/createHoverInteraction.d.ts +30 -0
  475. package/dist/lib/types/internals/overlay/createInitialPositioning.d.ts +3 -0
  476. package/dist/lib/types/internals/overlay/createListNavigation.d.ts +26 -0
  477. package/dist/lib/types/internals/overlay/createPopupAutoResize.d.ts +18 -0
  478. package/dist/lib/types/internals/overlay/createPopupPresence.d.ts +18 -0
  479. package/dist/lib/types/internals/overlay/createSwipeDismiss.d.ts +107 -0
  480. package/dist/lib/types/internals/overlay/createTypeahead.d.ts +20 -0
  481. package/dist/lib/types/internals/overlay/dom.d.ts +19 -0
  482. package/dist/lib/types/internals/overlay/eventEmitter.d.ts +7 -0
  483. package/dist/lib/types/internals/overlay/getElementAtPoint.d.ts +8 -0
  484. package/dist/lib/types/internals/overlay/index.d.ts +37 -0
  485. package/dist/lib/types/internals/overlay/inlineRect.d.ts +32 -0
  486. package/dist/lib/types/internals/overlay/markOthers.d.ts +6 -0
  487. package/dist/lib/types/internals/overlay/popupStateMapping.d.ts +46 -0
  488. package/dist/lib/types/internals/overlay/safePolygon.d.ts +24 -0
  489. package/dist/lib/types/internals/overlay/scrollLock.d.ts +10 -0
  490. package/dist/lib/types/internals/overlay/tabbable.d.ts +11 -0
  491. package/dist/lib/types/internals/platform.d.ts +1 -0
  492. package/dist/lib/types/internals/reason-parts.d.ts +35 -0
  493. package/dist/lib/types/internals/reasons.d.ts +4 -0
  494. package/dist/lib/types/internals/resolveClass.d.ts +3 -0
  495. package/dist/lib/types/internals/resolveStyle.d.ts +3 -0
  496. package/dist/lib/types/internals/runOnceAnimationsFinish.d.ts +4 -0
  497. package/dist/lib/types/internals/scrollable.d.ts +18 -0
  498. package/dist/lib/types/internals/setRef.d.ts +2 -0
  499. package/dist/lib/types/internals/stateAttributesMapping.d.ts +8 -0
  500. package/dist/lib/types/internals/types.d.ts +2 -0
  501. package/dist/lib/types/internals/valueLabel.d.ts +28 -0
  502. package/dist/lib/types/internals/withoutComponentBinding.d.ts +7 -0
  503. package/dist/lib/types/menu/arrow/MenuArrow.d.ts +16 -0
  504. package/dist/lib/types/menu/backdrop/MenuBackdrop.d.ts +14 -0
  505. package/dist/lib/types/menu/checkbox-item/MenuCheckboxItem.d.ts +37 -0
  506. package/dist/lib/types/menu/checkbox-item/MenuCheckboxItemContext.d.ts +6 -0
  507. package/dist/lib/types/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.d.ts +18 -0
  508. package/dist/lib/types/menu/group/MenuGroup.d.ts +11 -0
  509. package/dist/lib/types/menu/group/MenuGroupContext.d.ts +9 -0
  510. package/dist/lib/types/menu/group-label/MenuGroupLabel.d.ts +11 -0
  511. package/dist/lib/types/menu/index.d.ts +20 -0
  512. package/dist/lib/types/menu/index.parts.d.ts +21 -0
  513. package/dist/lib/types/menu/item/MenuItem.d.ts +28 -0
  514. package/dist/lib/types/menu/item/createMenuItem.d.ts +24 -0
  515. package/dist/lib/types/menu/link-item/MenuLinkItem.d.ts +25 -0
  516. package/dist/lib/types/menu/popup/MenuPopup.d.ts +28 -0
  517. package/dist/lib/types/menu/portal/MenuPortal.d.ts +17 -0
  518. package/dist/lib/types/menu/portal/MenuPortalContext.d.ts +8 -0
  519. package/dist/lib/types/menu/positioner/MenuPositioner.d.ts +39 -0
  520. package/dist/lib/types/menu/positioner/MenuPositionerContext.d.ts +5 -0
  521. package/dist/lib/types/menu/radio-group/MenuRadioGroup.d.ts +24 -0
  522. package/dist/lib/types/menu/radio-group/MenuRadioGroupContext.d.ts +11 -0
  523. package/dist/lib/types/menu/radio-item/MenuRadioItem.d.ts +30 -0
  524. package/dist/lib/types/menu/radio-item/MenuRadioItemContext.d.ts +6 -0
  525. package/dist/lib/types/menu/radio-item-indicator/MenuRadioItemIndicator.d.ts +18 -0
  526. package/dist/lib/types/menu/root/MenuRoot.d.ts +56 -0
  527. package/dist/lib/types/menu/root/MenuRootContext.d.ts +23 -0
  528. package/dist/lib/types/menu/store/MenuCollection.d.ts +19 -0
  529. package/dist/lib/types/menu/store/MenuHandle.d.ts +10 -0
  530. package/dist/lib/types/menu/store/MenuStore.d.ts +110 -0
  531. package/dist/lib/types/menu/submenu-root/MenuSubmenuRoot.d.ts +17 -0
  532. package/dist/lib/types/menu/submenu-root/MenuSubmenuRootContext.d.ts +8 -0
  533. package/dist/lib/types/menu/submenu-trigger/MenuSubmenuTrigger.d.ts +33 -0
  534. package/dist/lib/types/menu/trigger/MenuTrigger.d.ts +36 -0
  535. package/dist/lib/types/menu/utils/mergeMenuStyles.d.ts +2 -0
  536. package/dist/lib/types/menu/utils/stateAttributesMapping.d.ts +39 -0
  537. package/dist/lib/types/menu/viewport/MenuViewport.d.ts +15 -0
  538. package/dist/lib/types/menubar/Menubar.d.ts +23 -0
  539. package/dist/lib/types/menubar/MenubarContext.d.ts +34 -0
  540. package/dist/lib/types/menubar/index.d.ts +2 -0
  541. package/dist/lib/types/meter/index.d.ts +6 -0
  542. package/dist/lib/types/meter/index.parts.d.ts +5 -0
  543. package/dist/lib/types/meter/indicator/MeterIndicator.d.ts +12 -0
  544. package/dist/lib/types/meter/label/MeterLabel.d.ts +17 -0
  545. package/dist/lib/types/meter/root/MeterRoot.d.ts +28 -0
  546. package/dist/lib/types/meter/root/MeterRootContext.d.ts +12 -0
  547. package/dist/lib/types/meter/track/MeterTrack.d.ts +12 -0
  548. package/dist/lib/types/meter/value/MeterValue.d.ts +16 -0
  549. package/dist/lib/types/navigation-menu/arrow/NavigationMenuArrow.d.ts +16 -0
  550. package/dist/lib/types/navigation-menu/backdrop/NavigationMenuBackdrop.d.ts +14 -0
  551. package/dist/lib/types/navigation-menu/composite/NavigationMenuCompositeContext.d.ts +22 -0
  552. package/dist/lib/types/navigation-menu/content/NavigationMenuContent.d.ts +21 -0
  553. package/dist/lib/types/navigation-menu/icon/NavigationMenuIcon.d.ts +12 -0
  554. package/dist/lib/types/navigation-menu/index.d.ts +14 -0
  555. package/dist/lib/types/navigation-menu/index.parts.d.ts +13 -0
  556. package/dist/lib/types/navigation-menu/item/NavigationMenuItem.d.ts +15 -0
  557. package/dist/lib/types/navigation-menu/item/NavigationMenuItemContext.d.ts +8 -0
  558. package/dist/lib/types/navigation-menu/link/NavigationMenuLink.d.ts +20 -0
  559. package/dist/lib/types/navigation-menu/list/NavigationMenuList.d.ts +12 -0
  560. package/dist/lib/types/navigation-menu/popup/NavigationMenuPopup.d.ts +23 -0
  561. package/dist/lib/types/navigation-menu/portal/NavigationMenuPortal.d.ts +17 -0
  562. package/dist/lib/types/navigation-menu/portal/NavigationMenuPortalContext.d.ts +8 -0
  563. package/dist/lib/types/navigation-menu/positioner/NavigationMenuPositioner.d.ts +37 -0
  564. package/dist/lib/types/navigation-menu/positioner/NavigationMenuPositionerContext.d.ts +5 -0
  565. package/dist/lib/types/navigation-menu/root/NavigationMenuRoot.d.ts +39 -0
  566. package/dist/lib/types/navigation-menu/root/NavigationMenuRootContext.d.ts +19 -0
  567. package/dist/lib/types/navigation-menu/store/NavigationMenuStore.d.ts +64 -0
  568. package/dist/lib/types/navigation-menu/trigger/NavigationMenuTrigger.d.ts +27 -0
  569. package/dist/lib/types/navigation-menu/utils/mergeNavigationMenuStyles.d.ts +2 -0
  570. package/dist/lib/types/navigation-menu/viewport/NavigationMenuViewport.d.ts +11 -0
  571. package/dist/lib/types/number-field/decrement/NumberFieldDecrement.d.ts +12 -0
  572. package/dist/lib/types/number-field/group/NumberFieldGroup.d.ts +12 -0
  573. package/dist/lib/types/number-field/increment/NumberFieldIncrement.d.ts +12 -0
  574. package/dist/lib/types/number-field/increment/NumberFieldStepperButton.d.ts +26 -0
  575. package/dist/lib/types/number-field/index.d.ts +8 -0
  576. package/dist/lib/types/number-field/index.parts.d.ts +7 -0
  577. package/dist/lib/types/number-field/input/NumberFieldInput.d.ts +25 -0
  578. package/dist/lib/types/number-field/root/NumberFieldRoot.d.ts +55 -0
  579. package/dist/lib/types/number-field/root/NumberFieldRootContext.d.ts +39 -0
  580. package/dist/lib/types/number-field/root/createPressAndHold.d.ts +24 -0
  581. package/dist/lib/types/number-field/scrub-area/NumberFieldScrubArea.d.ts +20 -0
  582. package/dist/lib/types/number-field/scrub-area/NumberFieldScrubAreaContext.d.ts +13 -0
  583. package/dist/lib/types/number-field/scrub-area-cursor/NumberFieldScrubAreaCursor.d.ts +12 -0
  584. package/dist/lib/types/number-field/utils/format.d.ts +2 -0
  585. package/dist/lib/types/number-field/utils/getViewportRect.d.ts +6 -0
  586. package/dist/lib/types/number-field/utils/parse.d.ts +40 -0
  587. package/dist/lib/types/number-field/utils/platform.d.ts +3 -0
  588. package/dist/lib/types/number-field/utils/stateAttributesMapping.d.ts +10 -0
  589. package/dist/lib/types/number-field/utils/types.d.ts +16 -0
  590. package/dist/lib/types/number-field/utils/validate.d.ts +9 -0
  591. package/dist/lib/types/otp-field/index.d.ts +3 -0
  592. package/dist/lib/types/otp-field/index.parts.d.ts +3 -0
  593. package/dist/lib/types/otp-field/input/OTPFieldInput.d.ts +29 -0
  594. package/dist/lib/types/otp-field/root/OTPFieldRoot.d.ts +56 -0
  595. package/dist/lib/types/otp-field/root/OTPFieldRootContext.d.ts +45 -0
  596. package/dist/lib/types/otp-field/utils/otp.d.ts +14 -0
  597. package/dist/lib/types/otp-field/utils/stateAttributesMapping.d.ts +5 -0
  598. package/dist/lib/types/popover/arrow/PopoverArrow.d.ts +16 -0
  599. package/dist/lib/types/popover/backdrop/PopoverBackdrop.d.ts +14 -0
  600. package/dist/lib/types/popover/close/PopoverClose.d.ts +25 -0
  601. package/dist/lib/types/popover/description/PopoverDescription.d.ts +11 -0
  602. package/dist/lib/types/popover/index.d.ts +12 -0
  603. package/dist/lib/types/popover/index.parts.d.ts +12 -0
  604. package/dist/lib/types/popover/popup/PopoverPopup.d.ts +26 -0
  605. package/dist/lib/types/popover/portal/PopoverPortal.d.ts +17 -0
  606. package/dist/lib/types/popover/portal/PopoverPortalContext.d.ts +8 -0
  607. package/dist/lib/types/popover/positioner/PopoverPositioner.d.ts +38 -0
  608. package/dist/lib/types/popover/positioner/PopoverPositionerContext.d.ts +5 -0
  609. package/dist/lib/types/popover/root/PopoverRoot.d.ts +38 -0
  610. package/dist/lib/types/popover/root/PopoverRootContext.d.ts +25 -0
  611. package/dist/lib/types/popover/store/PopoverHandle.d.ts +10 -0
  612. package/dist/lib/types/popover/store/PopoverStore.d.ts +65 -0
  613. package/dist/lib/types/popover/title/PopoverTitle.d.ts +11 -0
  614. package/dist/lib/types/popover/trigger/PopoverTrigger.d.ts +33 -0
  615. package/dist/lib/types/popover/utils/ClosePartContext.d.ts +10 -0
  616. package/dist/lib/types/popover/utils/mergePopoverStyles.d.ts +2 -0
  617. package/dist/lib/types/popover/utils/stateAttributesMapping.d.ts +26 -0
  618. package/dist/lib/types/popover/viewport/PopoverViewport.d.ts +15 -0
  619. package/dist/lib/types/preview-card/arrow/PreviewCardArrow.d.ts +16 -0
  620. package/dist/lib/types/preview-card/backdrop/PreviewCardBackdrop.d.ts +14 -0
  621. package/dist/lib/types/preview-card/index.d.ts +9 -0
  622. package/dist/lib/types/preview-card/index.parts.d.ts +9 -0
  623. package/dist/lib/types/preview-card/popup/PreviewCardPopup.d.ts +23 -0
  624. package/dist/lib/types/preview-card/portal/PreviewCardPortal.d.ts +17 -0
  625. package/dist/lib/types/preview-card/portal/PreviewCardPortalContext.d.ts +8 -0
  626. package/dist/lib/types/preview-card/positioner/PreviewCardPositioner.d.ts +38 -0
  627. package/dist/lib/types/preview-card/positioner/PreviewCardPositionerContext.d.ts +5 -0
  628. package/dist/lib/types/preview-card/root/PreviewCardRoot.d.ts +37 -0
  629. package/dist/lib/types/preview-card/root/PreviewCardRootContext.d.ts +12 -0
  630. package/dist/lib/types/preview-card/store/PreviewCardHandle.d.ts +10 -0
  631. package/dist/lib/types/preview-card/store/PreviewCardStore.d.ts +34 -0
  632. package/dist/lib/types/preview-card/trigger/PreviewCardTrigger.d.ts +20 -0
  633. package/dist/lib/types/preview-card/utils/mergePreviewCardStyles.d.ts +2 -0
  634. package/dist/lib/types/preview-card/utils/stateAttributesMapping.d.ts +32 -0
  635. package/dist/lib/types/preview-card/viewport/PreviewCardViewport.d.ts +14 -0
  636. package/dist/lib/types/progress/index.d.ts +6 -0
  637. package/dist/lib/types/progress/index.parts.d.ts +6 -0
  638. package/dist/lib/types/progress/indicator/ProgressIndicator.d.ts +12 -0
  639. package/dist/lib/types/progress/label/ProgressLabel.d.ts +17 -0
  640. package/dist/lib/types/progress/root/ProgressRoot.d.ts +31 -0
  641. package/dist/lib/types/progress/root/ProgressRootContext.d.ts +13 -0
  642. package/dist/lib/types/progress/root/stateAttributesMapping.d.ts +3 -0
  643. package/dist/lib/types/progress/track/ProgressTrack.d.ts +12 -0
  644. package/dist/lib/types/progress/value/ProgressValue.d.ts +16 -0
  645. package/dist/lib/types/radio/index.d.ts +3 -0
  646. package/dist/lib/types/radio/index.parts.d.ts +2 -0
  647. package/dist/lib/types/radio/indicator/RadioIndicator.d.ts +20 -0
  648. package/dist/lib/types/radio/root/RadioRoot.d.ts +39 -0
  649. package/dist/lib/types/radio/root/RadioRootContext.d.ts +7 -0
  650. package/dist/lib/types/radio-group/RadioGroup.d.ts +43 -0
  651. package/dist/lib/types/radio-group/RadioGroupContext.d.ts +33 -0
  652. package/dist/lib/types/radio-group/index.d.ts +2 -0
  653. package/dist/lib/types/scroll-area/constants.d.ts +2 -0
  654. package/dist/lib/types/scroll-area/content/ScrollAreaContent.d.ts +12 -0
  655. package/dist/lib/types/scroll-area/corner/ScrollAreaCorner.d.ts +11 -0
  656. package/dist/lib/types/scroll-area/index.d.ts +7 -0
  657. package/dist/lib/types/scroll-area/index.parts.d.ts +6 -0
  658. package/dist/lib/types/scroll-area/root/ScrollAreaRoot.d.ts +58 -0
  659. package/dist/lib/types/scroll-area/root/ScrollAreaRootContext.d.ts +44 -0
  660. package/dist/lib/types/scroll-area/root/stateAttributes.d.ts +3 -0
  661. package/dist/lib/types/scroll-area/scrollbar/ScrollAreaScrollbar.d.ts +28 -0
  662. package/dist/lib/types/scroll-area/scrollbar/ScrollAreaScrollbarContext.d.ts +7 -0
  663. package/dist/lib/types/scroll-area/thumb/ScrollAreaThumb.d.ts +22 -0
  664. package/dist/lib/types/scroll-area/utils/dom.d.ts +2 -0
  665. package/dist/lib/types/scroll-area/utils/eventTarget.d.ts +2 -0
  666. package/dist/lib/types/scroll-area/utils/getOffset.d.ts +1 -0
  667. package/dist/lib/types/scroll-area/utils/scrollEdges.d.ts +1 -0
  668. package/dist/lib/types/scroll-area/viewport/ScrollAreaViewport.d.ts +22 -0
  669. package/dist/lib/types/scroll-area/viewport/ScrollAreaViewportContext.d.ts +7 -0
  670. package/dist/lib/types/select/arrow/SelectArrow.d.ts +16 -0
  671. package/dist/lib/types/select/backdrop/SelectBackdrop.d.ts +14 -0
  672. package/dist/lib/types/select/group/SelectGroup.d.ts +11 -0
  673. package/dist/lib/types/select/group/SelectGroupContext.d.ts +9 -0
  674. package/dist/lib/types/select/group-label/SelectGroupLabel.d.ts +11 -0
  675. package/dist/lib/types/select/icon/SelectIcon.d.ts +12 -0
  676. package/dist/lib/types/select/index.d.ts +20 -0
  677. package/dist/lib/types/select/index.parts.d.ts +19 -0
  678. package/dist/lib/types/select/item/SelectItem.d.ts +32 -0
  679. package/dist/lib/types/select/item/SelectItemContext.d.ts +12 -0
  680. package/dist/lib/types/select/item-indicator/SelectItemIndicator.d.ts +18 -0
  681. package/dist/lib/types/select/item-text/SelectItemText.d.ts +11 -0
  682. package/dist/lib/types/select/label/SelectLabel.d.ts +17 -0
  683. package/dist/lib/types/select/list/SelectList.d.ts +16 -0
  684. package/dist/lib/types/select/popup/SelectPopup.d.ts +26 -0
  685. package/dist/lib/types/select/portal/SelectPortal.d.ts +16 -0
  686. package/dist/lib/types/select/portal/SelectPortalContext.d.ts +4 -0
  687. package/dist/lib/types/select/positioner/SelectPositioner.d.ts +37 -0
  688. package/dist/lib/types/select/positioner/SelectPositionerContext.d.ts +16 -0
  689. package/dist/lib/types/select/root/SelectRoot.d.ts +52 -0
  690. package/dist/lib/types/select/root/SelectRootContext.d.ts +63 -0
  691. package/dist/lib/types/select/scroll-arrow/SelectScrollArrow.d.ts +22 -0
  692. package/dist/lib/types/select/scroll-down-arrow/SelectScrollDownArrow.d.ts +15 -0
  693. package/dist/lib/types/select/scroll-up-arrow/SelectScrollUpArrow.d.ts +15 -0
  694. package/dist/lib/types/select/separator/SelectSeparator.d.ts +17 -0
  695. package/dist/lib/types/select/store/SelectCollection.d.ts +25 -0
  696. package/dist/lib/types/select/store/SelectStore.d.ts +82 -0
  697. package/dist/lib/types/select/trigger/SelectTrigger.d.ts +35 -0
  698. package/dist/lib/types/select/types.d.ts +10 -0
  699. package/dist/lib/types/select/utils/equality.d.ts +2 -0
  700. package/dist/lib/types/select/utils/mergeSelectStyles.d.ts +1 -0
  701. package/dist/lib/types/select/utils/scrollEdges.d.ts +3 -0
  702. package/dist/lib/types/select/utils/stateAttributesMapping.d.ts +37 -0
  703. package/dist/lib/types/select/utils/value.d.ts +7 -0
  704. package/dist/lib/types/select/value/SelectValue.d.ts +18 -0
  705. package/dist/lib/types/separator/Separator.d.ts +19 -0
  706. package/dist/lib/types/separator/index.d.ts +2 -0
  707. package/dist/lib/types/slider/control/SliderControl.d.ts +18 -0
  708. package/dist/lib/types/slider/index.d.ts +8 -0
  709. package/dist/lib/types/slider/index.parts.d.ts +7 -0
  710. package/dist/lib/types/slider/indicator/SliderIndicator.d.ts +12 -0
  711. package/dist/lib/types/slider/label/SliderLabel.d.ts +17 -0
  712. package/dist/lib/types/slider/root/SliderRoot.d.ts +57 -0
  713. package/dist/lib/types/slider/root/SliderRootContext.d.ts +63 -0
  714. package/dist/lib/types/slider/stateAttributesMapping.d.ts +14 -0
  715. package/dist/lib/types/slider/thumb/SliderThumb.d.ts +31 -0
  716. package/dist/lib/types/slider/thumb/SliderThumbDataAttributes.d.ts +11 -0
  717. package/dist/lib/types/slider/thumb/prehydrationScript.d.ts +1 -0
  718. package/dist/lib/types/slider/track/SliderTrack.d.ts +12 -0
  719. package/dist/lib/types/slider/utils/dom.d.ts +4 -0
  720. package/dist/lib/types/slider/utils/getPushedThumbValues.d.ts +1 -0
  721. package/dist/lib/types/slider/utils/getSliderValue.d.ts +1 -0
  722. package/dist/lib/types/slider/utils/math.d.ts +4 -0
  723. package/dist/lib/types/slider/utils/resolveThumbCollision.d.ts +7 -0
  724. package/dist/lib/types/slider/utils/roundValueToStep.d.ts +2 -0
  725. package/dist/lib/types/slider/utils/validateMinimumDistance.d.ts +1 -0
  726. package/dist/lib/types/slider/value/SliderValue.d.ts +16 -0
  727. package/dist/lib/types/switch/index.d.ts +3 -0
  728. package/dist/lib/types/switch/index.parts.d.ts +2 -0
  729. package/dist/lib/types/switch/root/SwitchRoot.d.ts +55 -0
  730. package/dist/lib/types/switch/root/SwitchRootContext.d.ts +7 -0
  731. package/dist/lib/types/switch/stateAttributesMapping.d.ts +9 -0
  732. package/dist/lib/types/switch/thumb/SwitchThumb.d.ts +12 -0
  733. package/dist/lib/types/tabs/index.d.ts +6 -0
  734. package/dist/lib/types/tabs/index.parts.d.ts +5 -0
  735. package/dist/lib/types/tabs/indicator/TabsIndicator.d.ts +22 -0
  736. package/dist/lib/types/tabs/indicator/TabsIndicatorCssVars.d.ts +8 -0
  737. package/dist/lib/types/tabs/indicator/prehydrationScript.d.ts +1 -0
  738. package/dist/lib/types/tabs/list/TabsList.d.ts +21 -0
  739. package/dist/lib/types/tabs/list/TabsListContext.d.ts +14 -0
  740. package/dist/lib/types/tabs/panel/TabsPanel.d.ts +30 -0
  741. package/dist/lib/types/tabs/panel/TabsPanelDataAttributes.d.ts +6 -0
  742. package/dist/lib/types/tabs/root/TabsRoot.d.ts +38 -0
  743. package/dist/lib/types/tabs/root/TabsRootContext.d.ts +43 -0
  744. package/dist/lib/types/tabs/root/TabsRootDataAttributes.d.ts +4 -0
  745. package/dist/lib/types/tabs/root/stateAttributesMapping.d.ts +8 -0
  746. package/dist/lib/types/tabs/tab/TabsTab.d.ts +59 -0
  747. package/dist/lib/types/tabs/tab/TabsTabDataAttributes.d.ts +6 -0
  748. package/dist/lib/types/toast/action/ToastAction.d.ts +30 -0
  749. package/dist/lib/types/toast/arrow/ToastArrow.d.ts +18 -0
  750. package/dist/lib/types/toast/close/ToastClose.d.ts +29 -0
  751. package/dist/lib/types/toast/content/ToastContent.d.ts +15 -0
  752. package/dist/lib/types/toast/createToastManager.d.ts +15 -0
  753. package/dist/lib/types/toast/description/ToastDescription.d.ts +16 -0
  754. package/dist/lib/types/toast/index.d.ts +17 -0
  755. package/dist/lib/types/toast/index.parts.d.ts +11 -0
  756. package/dist/lib/types/toast/portal/ToastPortal.d.ts +20 -0
  757. package/dist/lib/types/toast/positioner/ToastPositioner.d.ts +42 -0
  758. package/dist/lib/types/toast/positioner/ToastPositionerContext.d.ts +6 -0
  759. package/dist/lib/types/toast/provider/ToastProvider.d.ts +28 -0
  760. package/dist/lib/types/toast/provider/ToastProviderContext.d.ts +5 -0
  761. package/dist/lib/types/toast/root/ToastRoot.d.ts +39 -0
  762. package/dist/lib/types/toast/root/ToastRootContext.d.ts +14 -0
  763. package/dist/lib/types/toast/store/ToastStore.d.ts +60 -0
  764. package/dist/lib/types/toast/title/ToastTitle.d.ts +13 -0
  765. package/dist/lib/types/toast/types.d.ts +77 -0
  766. package/dist/lib/types/toast/useToastManager.d.ts +11 -0
  767. package/dist/lib/types/toast/utils/createToastLabelPart.d.ts +17 -0
  768. package/dist/lib/types/toast/utils/focusVisible.d.ts +6 -0
  769. package/dist/lib/types/toast/utils/generateToastId.d.ts +5 -0
  770. package/dist/lib/types/toast/utils/isRenderableNode.d.ts +6 -0
  771. package/dist/lib/types/toast/utils/mergeToastStyles.d.ts +2 -0
  772. package/dist/lib/types/toast/utils/resolvePromiseOptions.d.ts +2 -0
  773. package/dist/lib/types/toast/viewport/ToastViewport.d.ts +13 -0
  774. package/dist/lib/types/toggle/Toggle.d.ts +40 -0
  775. package/dist/lib/types/toggle/index.d.ts +2 -0
  776. package/dist/lib/types/toggle-group/ToggleGroup.d.ts +37 -0
  777. package/dist/lib/types/toggle-group/ToggleGroupContext.d.ts +25 -0
  778. package/dist/lib/types/toggle-group/index.d.ts +2 -0
  779. package/dist/lib/types/toolbar/ToolbarItemOwnerContext.d.ts +10 -0
  780. package/dist/lib/types/toolbar/button/ToolbarButton.d.ts +32 -0
  781. package/dist/lib/types/toolbar/createToolbarItem.d.ts +13 -0
  782. package/dist/lib/types/toolbar/group/ToolbarGroup.d.ts +16 -0
  783. package/dist/lib/types/toolbar/group/ToolbarGroupContext.d.ts +8 -0
  784. package/dist/lib/types/toolbar/index.d.ts +8 -0
  785. package/dist/lib/types/toolbar/index.parts.d.ts +7 -0
  786. package/dist/lib/types/toolbar/input/ToolbarInput.d.ts +29 -0
  787. package/dist/lib/types/toolbar/link/ToolbarLink.d.ts +14 -0
  788. package/dist/lib/types/toolbar/root/ToolbarRoot.d.ts +29 -0
  789. package/dist/lib/types/toolbar/root/ToolbarRootContext.d.ts +23 -0
  790. package/dist/lib/types/toolbar/separator/ToolbarSeparator.d.ts +16 -0
  791. package/dist/lib/types/tooltip/arrow/TooltipArrow.d.ts +17 -0
  792. package/dist/lib/types/tooltip/index.d.ts +9 -0
  793. package/dist/lib/types/tooltip/index.parts.d.ts +9 -0
  794. package/dist/lib/types/tooltip/popup/TooltipPopup.d.ts +23 -0
  795. package/dist/lib/types/tooltip/portal/TooltipPortal.d.ts +17 -0
  796. package/dist/lib/types/tooltip/portal/TooltipPortalContext.d.ts +8 -0
  797. package/dist/lib/types/tooltip/positioner/TooltipPositioner.d.ts +37 -0
  798. package/dist/lib/types/tooltip/positioner/TooltipPositionerContext.d.ts +14 -0
  799. package/dist/lib/types/tooltip/provider/TooltipProvider.d.ts +15 -0
  800. package/dist/lib/types/tooltip/provider/TooltipProviderContext.d.ts +10 -0
  801. package/dist/lib/types/tooltip/root/TooltipRoot.d.ts +40 -0
  802. package/dist/lib/types/tooltip/root/TooltipRootContext.d.ts +11 -0
  803. package/dist/lib/types/tooltip/store/TooltipHandle.d.ts +10 -0
  804. package/dist/lib/types/tooltip/store/TooltipStore.d.ts +60 -0
  805. package/dist/lib/types/tooltip/trigger/TooltipTrigger.d.ts +35 -0
  806. package/dist/lib/types/tooltip/utils/mergeTooltipStyles.d.ts +2 -0
  807. package/dist/lib/types/tooltip/utils/stateAttributesMapping.d.ts +68 -0
  808. package/dist/lib/types/tooltip/viewport/TooltipViewport.d.ts +14 -0
  809. package/dist/lib/types/types/index.d.ts +29 -0
  810. package/package.json +583 -0
@@ -0,0 +1,1333 @@
1
+ import { t as __exportAll } from "../rolldown-runtime-D7D4PA-g.js";
2
+ import { getStateAttributesProps } from "../internals/getStateAttributesProps.js";
3
+ import { A as trackPress, b as keyboard, c as drag, h as inputChange, w as none } from "../internals/reasons.js";
4
+ import { n as resolveClass, t as resolveStyle } from "../resolveStyle-XCSFDHAL.js";
5
+ import { createChangeEventDetails, createGenericEventDetails } from "../internals/createBaseUIEventDetails.js";
6
+ import { composeEventHandlers } from "../internals/composeEventHandlers.js";
7
+ import { n as useDirection } from "../DirectionContext-YORWLF08.js";
8
+ import { fieldStateAttributesMapping } from "../internals/field-constants.js";
9
+ import { n as useFieldRootContext } from "../FieldRootContext-IC-LWzVp.js";
10
+ import { n as useFormContext } from "../FormContext-pvESt85v.js";
11
+ import { r as useLabelableContext } from "../LabelableContext-DZP3rgAY.js";
12
+ import { n as useCSPContext } from "../CSPContext-DOxR0PO7.js";
13
+ import { mergeStyles } from "../internals/mergeStyles.js";
14
+ import { Dynamic, escape, isServer, memo, mergeProps, ssr, ssrAttribute, ssrElement, ssrGroup, ssrHydrationKey, ssrStyle } from "@solidjs/web";
15
+ import { createContext, createEffect, createMemo, createSignal, createUniqueId, flush, omit, onCleanup, onSettled, sharedConfig, untrack, useContext } from "solid-js";
16
+ //#region src/slider/stateAttributesMapping.ts
17
+ var omitStateAttribute = () => null;
18
+ var sliderStateAttributesMapping = {
19
+ activeThumbIndex: omitStateAttribute,
20
+ max: omitStateAttribute,
21
+ min: omitStateAttribute,
22
+ minStepsBetweenValues: omitStateAttribute,
23
+ step: omitStateAttribute,
24
+ values: omitStateAttribute,
25
+ ...fieldStateAttributesMapping
26
+ };
27
+ //#endregion
28
+ //#region src/slider/utils/dom.ts
29
+ function getMidpoint(element, vertical) {
30
+ const rect = element.getBoundingClientRect();
31
+ return vertical ? (rect.top + rect.bottom) / 2 : (rect.left + rect.right) / 2;
32
+ }
33
+ function getEventElement(event) {
34
+ const target = event.composedPath()[0] ?? event.target;
35
+ if (!target || typeof target.nodeType !== "number") return null;
36
+ const node = target;
37
+ return node.nodeType === 1 ? node : node.parentElement;
38
+ }
39
+ function contains(container, target) {
40
+ if (!container || !target || typeof target.nodeType !== "number") return false;
41
+ let node = target;
42
+ while (node) {
43
+ if (container.contains(node)) return true;
44
+ const root = node.getRootNode();
45
+ node = root.nodeType === 11 && "host" in root ? root.host : null;
46
+ }
47
+ return false;
48
+ }
49
+ //#endregion
50
+ //#region src/slider/utils/math.ts
51
+ function clamp(value, min, max) {
52
+ return Math.min(Math.max(value, min), max);
53
+ }
54
+ function areValuesEqual(first, second) {
55
+ if (first === second) return true;
56
+ if (!Array.isArray(first) || !Array.isArray(second) || first.length !== second.length) return false;
57
+ return first.every((value, index) => value === second[index]);
58
+ }
59
+ function valueToPercent(value, min, max) {
60
+ return (value - min) * 100 / (max - min);
61
+ }
62
+ function formatNumber(value, locale, options) {
63
+ return new Intl.NumberFormat(locale, options).format(value);
64
+ }
65
+ //#endregion
66
+ //#region src/slider/utils/getSliderValue.ts
67
+ function getSliderValue(valueInput, index, min, max, range, values) {
68
+ const clamped = clamp(valueInput, min, max);
69
+ if (!range) return clamped;
70
+ const output = values.slice();
71
+ output[index] = clamp(clamped, values[index - 1] ?? -Infinity, values[index + 1] ?? Infinity);
72
+ return output.sort((first, second) => first - second);
73
+ }
74
+ //#endregion
75
+ //#region src/slider/utils/validateMinimumDistance.ts
76
+ function validateMinimumDistance(values, step, minStepsBetweenValues) {
77
+ if (!Array.isArray(values)) return true;
78
+ const minimumDistance = step * minStepsBetweenValues;
79
+ for (let index = 0; index < values.length - 1; index += 1) if (!(Math.abs(values[index] - values[index + 1]) >= minimumDistance)) return false;
80
+ return true;
81
+ }
82
+ //#endregion
83
+ //#region src/slider/root/SliderRootContext.ts
84
+ var MISSING_CONTEXT = Symbol("SliderRootContext");
85
+ var SliderRootContext = createContext(MISSING_CONTEXT);
86
+ function useSliderRootContext() {
87
+ const context = useContext(SliderRootContext);
88
+ if (context === MISSING_CONTEXT) throw new Error("Base UI: SliderRootContext is missing. Slider parts must be placed within <Slider.Root>.");
89
+ return context;
90
+ }
91
+ //#endregion
92
+ //#region src/slider/root/SliderRoot.tsx
93
+ /** Groups all parts of the slider. */
94
+ function SliderRoot(props) {
95
+ const field = useFieldRootContext(true);
96
+ const form = useFormContext();
97
+ const labelable = useLabelableContext();
98
+ const internalProps = props;
99
+ const allProps = props;
100
+ const fieldControlSource = Symbol("Slider");
101
+ const labelControlSource = Symbol("SliderControl");
102
+ const generatedId = `base-ui-${createUniqueId()}`;
103
+ const generatedInputId = `base-ui-${createUniqueId()}`;
104
+ const inheritedControlId = untrack(labelable.controlId);
105
+ const singleInputId = typeof inheritedControlId === "string" ? inheritedControlId : generatedInputId;
106
+ const controlled = untrack(() => internalProps.value !== void 0);
107
+ const initialValue = untrack(() => internalProps.defaultValue ?? internalProps.min ?? 0);
108
+ const [uncontrolledValue, setUncontrolledValue] = createSignal(() => initialValue);
109
+ const [rootElement, setRootElement] = createSignal();
110
+ const [controlElement, setControlElement] = createSignal();
111
+ const [active, setActiveState] = createSignal(-1);
112
+ const [lastUsedThumbIndex, setLastUsedThumbIndex] = createSignal(-1);
113
+ const [dragging, setDragging] = createSignal(false);
114
+ const [localLabelId, setLocalLabelId] = createSignal();
115
+ const [indicatorPosition, setIndicatorPositionState] = createSignal([void 0, void 0]);
116
+ const [thumbVersion, setThumbVersion] = createSignal(0, { ownedWrite: true });
117
+ const registrations = [];
118
+ let registrationOrder = 0;
119
+ const interaction = {
120
+ pressedThumbCenterOffset: null,
121
+ pressedThumbIndex: -1,
122
+ pressedValues: null,
123
+ lastChangeReason: none
124
+ };
125
+ const others = omit(allProps, "aria-describedby", "aria-labelledby", "as", "class", "defaultValue", "disabled", "format", "form", "id", "largeStep", "locale", "max", "min", "minStepsBetweenValues", "name", "onValueChange", "onValueCommitted", "orientation", "ref", "step", "style", "thumbAlignment", "thumbCollisionBehavior", "value");
126
+ const id = createMemo(() => internalProps.id ?? generatedId);
127
+ const min = createMemo(() => internalProps.min ?? 0);
128
+ const max = createMemo(() => internalProps.max ?? 100);
129
+ const step = createMemo(() => internalProps.step ?? 1);
130
+ const largeStep = createMemo(() => internalProps.largeStep ?? 10);
131
+ const minStepsBetweenValues = createMemo(() => internalProps.minStepsBetweenValues ?? 0);
132
+ const orientation = createMemo(() => internalProps.orientation ?? "horizontal");
133
+ const thumbAlignment = createMemo(() => internalProps.thumbAlignment ?? "center");
134
+ const thumbCollisionBehavior = createMemo(() => internalProps.thumbCollisionBehavior ?? "push");
135
+ const disabled = createMemo(() => field.disabled() || (internalProps.disabled ?? false));
136
+ const name = createMemo(() => field.name() ?? internalProps.name);
137
+ const rawValue = createMemo(() => controlled ? internalProps.value : uncontrolledValue());
138
+ const values = createMemo(() => {
139
+ const current = rawValue();
140
+ if (!Array.isArray(current)) return [clamp(current, min(), max())];
141
+ return current.map((value) => clamp(value, min(), max())).sort((a, b) => a - b);
142
+ });
143
+ const range = createMemo(() => Array.isArray(rawValue()));
144
+ const fieldValue = createMemo(() => range() ? values() : values()[0]);
145
+ const rootLabelId = createMemo(() => `${id()}-label`);
146
+ const resolvedLabelId = createMemo(() => internalProps["aria-labelledby"] ?? labelable.labelId() ?? localLabelId());
147
+ const state = createMemo(() => ({
148
+ ...field.state(),
149
+ activeThumbIndex: active(),
150
+ disabled: disabled(),
151
+ dragging: dragging(),
152
+ max: max(),
153
+ min: min(),
154
+ minStepsBetweenValues: minStepsBetweenValues(),
155
+ orientation: orientation(),
156
+ step: step(),
157
+ values: values()
158
+ }));
159
+ const classValue = createMemo(() => resolveClass(props.class, state()));
160
+ const styleValue = createMemo(() => resolveStyle(props.style, state()));
161
+ const stateAttributes = createMemo(() => getStateAttributesProps(state(), sliderStateAttributesMapping));
162
+ const ariaDescribedBy = createMemo(() => labelable.getAriaDescribedBy(internalProps["aria-describedby"]));
163
+ const orderedThumbs = createMemo(() => {
164
+ thumbVersion();
165
+ return registrations.slice().sort(compareThumbRegistrations);
166
+ });
167
+ let previousFieldValue = cloneValue(untrack(fieldValue));
168
+ const fieldRegistration = {
169
+ id: generatedId,
170
+ name: internalProps.name,
171
+ value: fieldValue,
172
+ getControl: () => orderedThumbs().find((thumb) => !thumb.input()?.disabled)?.input() ?? controlElement() ?? rootElement() ?? null
173
+ };
174
+ function setActive(index) {
175
+ setActiveState(index);
176
+ if (index !== -1) setLastUsedThumbIndex(index);
177
+ }
178
+ function registerThumb(registration) {
179
+ registration.order = registrationOrder;
180
+ registrationOrder += 1;
181
+ registrations.push(registration);
182
+ setThumbVersion((version) => version + 1);
183
+ return () => {
184
+ const index = registrations.indexOf(registration);
185
+ if (index !== -1) {
186
+ registrations.splice(index, 1);
187
+ setThumbVersion((version) => version + 1);
188
+ }
189
+ };
190
+ }
191
+ function setIndicatorPosition(index, value) {
192
+ setIndicatorPositionState((current) => {
193
+ if (current[index] === value) return current;
194
+ return index === 0 ? [value, current[1]] : [current[0], value];
195
+ });
196
+ }
197
+ function setValue(newValue, details) {
198
+ if (Number.isNaN(newValue) || areValuesEqual(newValue, untrack(rawValue))) return false;
199
+ const nativeEvent = details.event;
200
+ const clonedEvent = cloneEvent(nativeEvent);
201
+ Object.defineProperty(clonedEvent, "target", {
202
+ configurable: true,
203
+ writable: true,
204
+ value: {
205
+ value: newValue,
206
+ name: untrack(name)
207
+ }
208
+ });
209
+ details.event = clonedEvent;
210
+ internalProps.onValueChange?.(newValue, details);
211
+ if (controlled) flush();
212
+ if (details.isCanceled) return false;
213
+ interaction.lastChangeReason = details.reason;
214
+ if (!controlled) setUncontrolledValue(() => newValue);
215
+ return true;
216
+ }
217
+ function onValueCommitted(newValue, details) {
218
+ internalProps.onValueCommitted?.(newValue, details);
219
+ }
220
+ function handleInputChange(valueInput, index, event) {
221
+ const currentValues = untrack(values);
222
+ const newValue = getSliderValue(valueInput, index, untrack(min), untrack(max), untrack(range), currentValues);
223
+ if (!validateMinimumDistance(newValue, untrack(step), untrack(minStepsBetweenValues))) {
224
+ queueMicrotask(syncInputs);
225
+ return;
226
+ }
227
+ const reason = "key" in event ? keyboard : inputChange;
228
+ const applied = setValue(newValue, createChangeEventDetails(reason, event, void 0, { activeThumbIndex: index }));
229
+ field.setTouched(true);
230
+ if (applied) onValueCommitted(newValue, createGenericEventDetails(reason, event));
231
+ queueMicrotask(syncInputs);
232
+ }
233
+ function syncInputs() {
234
+ const currentValues = untrack(values);
235
+ for (const thumb of untrack(orderedThumbs)) {
236
+ const input = thumb.input();
237
+ const value = currentValues[thumb.index()];
238
+ if (input && value !== void 0 && input.valueAsNumber !== value) input.value = String(value);
239
+ }
240
+ }
241
+ const context = {
242
+ active,
243
+ controlElement,
244
+ disabled,
245
+ dragging,
246
+ fieldControlSource,
247
+ format: () => internalProps.format,
248
+ form: () => internalProps.form,
249
+ handleInputChange,
250
+ indicatorPosition,
251
+ inset: () => thumbAlignment() !== "center",
252
+ interaction,
253
+ labelId: resolvedLabelId,
254
+ largeStep,
255
+ lastUsedThumbIndex,
256
+ locale: () => internalProps.locale,
257
+ max,
258
+ min,
259
+ minStepsBetweenValues,
260
+ name,
261
+ onValueCommitted,
262
+ orientation,
263
+ orderedThumbs,
264
+ range,
265
+ registerThumb,
266
+ renderBeforeHydration: () => thumbAlignment() === "edge",
267
+ rootId: id,
268
+ rootLabelId,
269
+ setActive,
270
+ setControlElement,
271
+ setDragging,
272
+ setIndicatorPosition,
273
+ setLocalLabelId,
274
+ setValue,
275
+ singleInputId,
276
+ state,
277
+ step,
278
+ syncInputs,
279
+ thumbCollisionBehavior,
280
+ values
281
+ };
282
+ createEffect(() => ({
283
+ disabled: disabled(),
284
+ element: rootElement(),
285
+ id: id(),
286
+ name: internalProps.name
287
+ }), (current) => {
288
+ fieldRegistration.id = current.id;
289
+ fieldRegistration.name = current.name;
290
+ field.registerFieldControl(fieldControlSource, current.disabled || !current.element ? void 0 : fieldRegistration);
291
+ });
292
+ createEffect(fieldValue, (currentValue) => {
293
+ if (areValuesEqual(currentValue, previousFieldValue)) return;
294
+ previousFieldValue = cloneValue(currentValue);
295
+ untrack(() => {
296
+ form.clearError(name());
297
+ field.validation.change(currentValue);
298
+ field.setDirty(!areValuesEqual(currentValue, field.validityData().initialValue));
299
+ });
300
+ });
301
+ createEffect(() => ({
302
+ disabled: disabled(),
303
+ element: rootElement()
304
+ }), (current) => {
305
+ if (!current.disabled || !current.element) return;
306
+ const activeElement = getDeepActiveElement$1(current.element.ownerDocument);
307
+ if (activeElement && contains(current.element, activeElement)) activeElement.blur();
308
+ setActive(-1);
309
+ setDragging(false);
310
+ });
311
+ createEffect(() => ({
312
+ range: range(),
313
+ inputId: orderedThumbs()[0]?.input()?.id
314
+ }), (current) => {
315
+ labelable.registerControlId(labelControlSource, !current.range ? current.inputId : void 0);
316
+ });
317
+ createEffect(rootElement, (element) => {
318
+ const Observer = element?.ownerDocument.defaultView?.MutationObserver;
319
+ if (!element || !Observer) return;
320
+ const observer = new Observer(() => setThumbVersion((version) => version + 1));
321
+ observer.observe(element, {
322
+ childList: true,
323
+ subtree: true
324
+ });
325
+ return () => observer.disconnect();
326
+ });
327
+ createEffect(() => ({
328
+ max: max(),
329
+ min: min()
330
+ }), (bounds) => {});
331
+ onCleanup(() => {
332
+ field.registerFieldControl(fieldControlSource, void 0);
333
+ labelable.registerControlId(labelControlSource, void 0);
334
+ });
335
+ return SliderRootContext({
336
+ value: context,
337
+ get children() {
338
+ return Dynamic(mergeProps({
339
+ get component() {
340
+ return props.as ?? "div";
341
+ },
342
+ ref: [((element) => setRootElement(element)), internalProps.ref],
343
+ get id() {
344
+ return id();
345
+ },
346
+ role: "group",
347
+ get ["class"]() {
348
+ return classValue();
349
+ },
350
+ get style() {
351
+ return styleValue();
352
+ },
353
+ get ["aria-labelledby"]() {
354
+ return resolvedLabelId();
355
+ },
356
+ get ["aria-describedby"]() {
357
+ return ariaDescribedBy();
358
+ },
359
+ get ["aria-invalid"]() {
360
+ return state().valid === false && !disabled() ? "true" : void 0;
361
+ }
362
+ }, stateAttributes, others));
363
+ }
364
+ });
365
+ }
366
+ function compareThumbRegistrations(first, second) {
367
+ const firstElement = first.element();
368
+ const secondElement = second.element();
369
+ if (firstElement && secondElement && firstElement !== secondElement) {
370
+ const position = firstElement.compareDocumentPosition(secondElement);
371
+ if (position & 4) return -1;
372
+ if (position & 2) return 1;
373
+ }
374
+ return first.order - second.order;
375
+ }
376
+ function getDeepActiveElement$1(document) {
377
+ let active = document.activeElement;
378
+ while (active?.shadowRoot?.activeElement) active = active.shadowRoot.activeElement;
379
+ return active;
380
+ }
381
+ function cloneValue(value) {
382
+ return Array.isArray(value) ? value.slice() : value;
383
+ }
384
+ function cloneEvent(event) {
385
+ const EventConstructor = event.constructor;
386
+ try {
387
+ return new EventConstructor(event.type, event);
388
+ } catch {
389
+ return new Event(event.type, {
390
+ bubbles: event.bubbles,
391
+ cancelable: event.cancelable,
392
+ composed: event.composed
393
+ });
394
+ }
395
+ }
396
+ //#endregion
397
+ //#region src/slider/label/SliderLabel.tsx
398
+ /** An accessible label automatically associated with the slider thumbs. */
399
+ function SliderLabel(props) {
400
+ const context = useSliderRootContext();
401
+ const labelable = useLabelableContext();
402
+ const internalProps = props;
403
+ const others = omit(props, "as", "class", "id", "onClick", "onPointerDown", "ref", "style");
404
+ const state = createMemo(() => context.state());
405
+ const classValue = createMemo(() => resolveClass(props.class, state()));
406
+ const styleValue = createMemo(() => resolveStyle(props.style, state()));
407
+ const stateAttributes = createMemo(() => getStateAttributesProps(state(), sliderStateAttributesMapping));
408
+ function focusControl(event) {
409
+ const target = event.composedPath()[0];
410
+ if (target instanceof Element && target.closest("button,input,select,textarea")) return;
411
+ if (!event.defaultPrevented && event.detail > 1) event.preventDefault();
412
+ const label = event.currentTarget;
413
+ const controlId = labelable.controlId();
414
+ const registeredControl = controlId ? label.ownerDocument.getElementById(controlId) : null;
415
+ if (registeredControl instanceof HTMLElement) {
416
+ registeredControl.focus({ focusVisible: true });
417
+ return;
418
+ }
419
+ const inputs = context.controlElement()?.querySelectorAll("input[type=\"range\"]");
420
+ if (inputs?.length === 1) inputs[0]?.focus({ focusVisible: true });
421
+ }
422
+ function preventPointerFocus(event) {
423
+ event.preventDefault();
424
+ }
425
+ const onClick = composeEventHandlers(() => internalProps.onClick, () => focusControl);
426
+ const onPointerDown = composeEventHandlers(() => internalProps.onPointerDown, () => preventPointerFocus);
427
+ createEffect(context.rootLabelId, (id) => {
428
+ context.setLocalLabelId(id);
429
+ const unregister = labelable.registerLabelId(id);
430
+ return () => {
431
+ unregister();
432
+ if (untrack(context.labelId) === id) context.setLocalLabelId(void 0);
433
+ };
434
+ });
435
+ return Dynamic(mergeProps({
436
+ get component() {
437
+ return props.as ?? "div";
438
+ },
439
+ ref: [internalProps.ref],
440
+ get id() {
441
+ return context.rootLabelId();
442
+ },
443
+ get ["class"]() {
444
+ return classValue();
445
+ },
446
+ get style() {
447
+ return styleValue();
448
+ },
449
+ onClick,
450
+ onPointerDown
451
+ }, stateAttributes, others));
452
+ }
453
+ //#endregion
454
+ //#region src/slider/value/SliderValue.tsx
455
+ /** Displays the formatted slider value. */
456
+ function SliderValue(props) {
457
+ const context = useSliderRootContext();
458
+ const internalProps = props;
459
+ const others = omit(props, "aria-live", "as", "children", "class", "ref", "style");
460
+ const state = createMemo(() => context.state());
461
+ const classValue = createMemo(() => resolveClass(props.class, state()));
462
+ const styleValue = createMemo(() => resolveStyle(props.style, state()));
463
+ const stateAttributes = createMemo(() => getStateAttributesProps(state(), sliderStateAttributesMapping));
464
+ const formattedValues = createMemo(() => context.values().map((value) => formatNumber(value, context.locale(), context.format())));
465
+ const content = createMemo(() => typeof internalProps.children === "function" ? internalProps.children(formattedValues(), context.values()) : formattedValues().join(" – "));
466
+ const outputFor = createMemo(() => context.orderedThumbs().map((thumb) => thumb.inputId()).join(" ").trim() || void 0);
467
+ return Dynamic(mergeProps({
468
+ get component() {
469
+ return props.as ?? "output";
470
+ },
471
+ ref: [internalProps.ref],
472
+ get ["class"]() {
473
+ return classValue();
474
+ },
475
+ get style() {
476
+ return styleValue();
477
+ },
478
+ get ["aria-live"]() {
479
+ return internalProps["aria-live"] ?? "off";
480
+ },
481
+ get ["for"]() {
482
+ return outputFor();
483
+ }
484
+ }, stateAttributes, others, { get children() {
485
+ return content();
486
+ } }));
487
+ }
488
+ //#endregion
489
+ //#region src/slider/utils/getPushedThumbValues.ts
490
+ function getPushedThumbValues(values, index, nextValue, min, max, step, minStepsBetweenValues, initialValues) {
491
+ const nextValues = values.slice();
492
+ const minimumDistance = step * minStepsBetweenValues;
493
+ const lastIndex = nextValues.length - 1;
494
+ const baseline = initialValues ?? values;
495
+ nextValues[index] = clamp(nextValue, min + index * minimumDistance, max - (lastIndex - index) * minimumDistance);
496
+ for (let current = index + 1; current <= lastIndex; current += 1) {
497
+ const minimum = nextValues[current - 1] + minimumDistance;
498
+ const maximum = max - (lastIndex - current) * minimumDistance;
499
+ let candidate = Math.max(nextValues[current], minimum);
500
+ if (baseline[current] < candidate) candidate = Math.max(baseline[current], minimum);
501
+ nextValues[current] = clamp(candidate, minimum, maximum);
502
+ }
503
+ for (let current = index - 1; current >= 0; current -= 1) {
504
+ const maximum = nextValues[current + 1] - minimumDistance;
505
+ const minimum = min + current * minimumDistance;
506
+ let candidate = Math.min(nextValues[current], maximum);
507
+ if (baseline[current] > candidate) candidate = Math.min(baseline[current], maximum);
508
+ nextValues[current] = clamp(candidate, minimum, maximum);
509
+ }
510
+ return nextValues.map((value) => Number(value.toFixed(12)));
511
+ }
512
+ //#endregion
513
+ //#region src/slider/utils/resolveThumbCollision.ts
514
+ function resolveThumbCollision(behavior, values, currentValues, initialValues, pressedIndex, nextValue, min, max, step, minStepsBetweenValues) {
515
+ const activeValues = currentValues ?? values;
516
+ const baselineValues = initialValues ?? values;
517
+ if (activeValues.length <= 1) return {
518
+ value: nextValue,
519
+ thumbIndex: 0,
520
+ didSwap: false
521
+ };
522
+ const minimumDistance = step * minStepsBetweenValues;
523
+ if (behavior === "push") return {
524
+ value: getPushedThumbValues(activeValues, pressedIndex, nextValue, min, max, step, minStepsBetweenValues),
525
+ thumbIndex: pressedIndex,
526
+ didSwap: false
527
+ };
528
+ const candidateValues = activeValues.slice();
529
+ const previousNeighbor = candidateValues[pressedIndex - 1];
530
+ const nextNeighbor = candidateValues[pressedIndex + 1];
531
+ const lowerBound = previousNeighbor == null ? min : previousNeighbor + minimumDistance;
532
+ const upperBound = nextNeighbor == null ? max : nextNeighbor - minimumDistance;
533
+ const pressedValueAfterClamp = Number(clamp(nextValue, lowerBound, upperBound).toFixed(12));
534
+ candidateValues[pressedIndex] = pressedValueAfterClamp;
535
+ if (behavior !== "swap") return {
536
+ value: candidateValues,
537
+ thumbIndex: pressedIndex,
538
+ didSwap: false
539
+ };
540
+ const pressedValue = activeValues[pressedIndex];
541
+ const epsilon = 1e-7;
542
+ const swapForward = nextValue > pressedValue && nextNeighbor != null && nextValue >= nextNeighbor - epsilon;
543
+ const swapBackward = nextValue < pressedValue && previousNeighbor != null && nextValue <= previousNeighbor + epsilon;
544
+ if (!swapForward && !swapBackward) return {
545
+ value: candidateValues,
546
+ thumbIndex: pressedIndex,
547
+ didSwap: false
548
+ };
549
+ const targetIndex = swapForward ? pressedIndex + 1 : pressedIndex - 1;
550
+ const initialValuesForPush = candidateValues.map((_, index) => {
551
+ if (index === pressedIndex) return pressedValueAfterClamp;
552
+ return baselineValues[index] ?? activeValues[index];
553
+ });
554
+ const adjustedValues = getPushedThumbValues(candidateValues, targetIndex, swapForward ? Math.max(nextValue, candidateValues[targetIndex]) : Math.min(nextValue, candidateValues[targetIndex]), min, max, step, minStepsBetweenValues, initialValuesForPush);
555
+ const neighborIndex = swapForward ? targetIndex - 1 : targetIndex + 1;
556
+ const previousValue = adjustedValues[neighborIndex - 1];
557
+ const followingValue = adjustedValues[neighborIndex + 1];
558
+ const neighborMinimum = Math.max(previousValue == null ? min : previousValue + minimumDistance, min + neighborIndex * minimumDistance);
559
+ const neighborMaximum = Math.min(followingValue == null ? max : followingValue - minimumDistance, max - (adjustedValues.length - 1 - neighborIndex) * minimumDistance);
560
+ adjustedValues[neighborIndex] = Number(clamp(pressedValueAfterClamp, neighborMinimum, neighborMaximum).toFixed(12));
561
+ return {
562
+ value: adjustedValues,
563
+ thumbIndex: targetIndex,
564
+ didSwap: true
565
+ };
566
+ }
567
+ //#endregion
568
+ //#region src/slider/utils/roundValueToStep.ts
569
+ function getDecimalPrecision(value) {
570
+ if (value === 0) return 0;
571
+ if (Math.abs(value) < 1) {
572
+ const parts = value.toExponential().split("e-");
573
+ return ((parts[0]?.split(".")[1])?.length ?? 0) + Number.parseInt(parts[1] ?? "0", 10);
574
+ }
575
+ return value.toString().split(".")[1]?.length ?? 0;
576
+ }
577
+ function roundValueToStep(value, step, min) {
578
+ const nearest = Math.round((value - min) / step) * step + min;
579
+ return Number(nearest.toFixed(Math.max(getDecimalPrecision(step), getDecimalPrecision(min))));
580
+ }
581
+ //#endregion
582
+ //#region src/slider/control/SliderControl.tsx
583
+ var INTENTIONAL_DRAG_COUNT_THRESHOLD = 2;
584
+ /** The clickable, interactive area of the slider. */
585
+ function SliderControl(props) {
586
+ const context = useSliderRootContext();
587
+ const direction = useDirection();
588
+ const internalProps = props;
589
+ const allProps = props;
590
+ const [element, setElement] = createSignal();
591
+ const others = omit(allProps, "as", "class", "onPointerDown", "onTouchStart", "ref", "style");
592
+ const state = createMemo(() => context.state());
593
+ const classValue = createMemo(() => resolveClass(props.class, state()));
594
+ const styleValue = createMemo(() => resolveStyle(props.style, state()));
595
+ const stateAttributes = createMemo(() => getStateAttributesProps(state(), sliderStateAttributesMapping));
596
+ let touchId = null;
597
+ let moveCount = 0;
598
+ let insetThumbOffset = 0;
599
+ let interactionValue = null;
600
+ let latestValues = null;
601
+ let pointerId = null;
602
+ let listeningDocument = null;
603
+ let focusFrame;
604
+ function getThumbInput(index) {
605
+ return context.orderedThumbs()[index]?.input();
606
+ }
607
+ function updatePressedThumb(index) {
608
+ context.interaction.pressedThumbIndex = index;
609
+ if (!context.orderedThumbs()[index]?.element()) context.interaction.pressedThumbCenterOffset = null;
610
+ }
611
+ function resetPressedThumb() {
612
+ context.interaction.pressedThumbIndex = -1;
613
+ context.interaction.pressedThumbCenterOffset = null;
614
+ }
615
+ function isDisabledThumbTarget(target) {
616
+ return context.orderedThumbs().some((thumb) => contains(thumb.element(), target) && thumb.input()?.disabled === true);
617
+ }
618
+ function startPressing(coords) {
619
+ const values = context.values();
620
+ const range = values.length > 1;
621
+ context.interaction.pressedValues = range ? values.slice() : null;
622
+ interactionValue = null;
623
+ latestValues = values;
624
+ const pressedIndex = context.interaction.pressedThumbIndex;
625
+ let closestIndex = pressedIndex;
626
+ if (pressedIndex >= 0 && pressedIndex < values.length) {
627
+ if (values[pressedIndex] === context.max()) while (closestIndex > 0 && values[closestIndex - 1] === context.max()) closestIndex -= 1;
628
+ } else {
629
+ closestIndex = -1;
630
+ let minimumDistance;
631
+ const axis = context.orientation() === "vertical" ? "y" : "x";
632
+ for (let index = 0; index < context.orderedThumbs().length; index += 1) {
633
+ const thumb = context.orderedThumbs()[index];
634
+ const thumbElement = thumb?.element();
635
+ if (!thumbElement || thumb.input()?.disabled) continue;
636
+ const distance = Math.abs(coords[axis] - getMidpoint(thumbElement, context.orientation() === "vertical"));
637
+ if (minimumDistance === void 0 || distance <= minimumDistance) {
638
+ minimumDistance = distance;
639
+ closestIndex = index;
640
+ }
641
+ }
642
+ }
643
+ if (closestIndex >= 0 && closestIndex !== pressedIndex) updatePressedThumb(closestIndex);
644
+ if (context.inset()) {
645
+ const rect = context.orderedThumbs()[closestIndex]?.element()?.getBoundingClientRect();
646
+ insetThumbOffset = rect ? (context.orientation() === "vertical" ? rect.height : rect.width) / 2 : 0;
647
+ } else insetThumbOffset = 0;
648
+ }
649
+ function getFingerState(coords) {
650
+ const control = element();
651
+ const values = context.values();
652
+ const thumbIndex = context.interaction.pressedThumbIndex;
653
+ if (!control || thumbIndex < 0 || thumbIndex >= values.length) {
654
+ if (thumbIndex >= values.length) interactionValue = null;
655
+ return null;
656
+ }
657
+ const vertical = context.orientation() === "vertical";
658
+ const rect = control.getBoundingClientRect();
659
+ const offsets = getControlOffset(control.ownerDocument.defaultView?.getComputedStyle(control) ?? null, vertical);
660
+ const controlSize = (vertical ? rect.height : rect.width) - offsets.start - offsets.end - insetThumbOffset * 2;
661
+ const centerOffset = context.interaction.pressedThumbCenterOffset ?? 0;
662
+ const fingerX = coords.x - centerOffset;
663
+ const fingerY = coords.y - centerOffset;
664
+ const valueRescaled = clamp(((vertical ? rect.bottom - fingerY - offsets.end : (direction() === "rtl" ? rect.right - fingerX : fingerX - rect.left) - offsets.start) - insetThumbOffset) / controlSize, 0, 1);
665
+ const nextValue = clamp(roundValueToStep((context.max() - context.min()) * valueRescaled + context.min(), context.step(), context.min()), context.min(), context.max());
666
+ if (values.length <= 1) return {
667
+ value: nextValue,
668
+ thumbIndex,
669
+ didSwap: false
670
+ };
671
+ return resolveThumbCollision(context.thumbCollisionBehavior(), values, latestValues, context.interaction.pressedValues, thumbIndex, nextValue, context.min(), context.max(), context.step(), context.minStepsBetweenValues());
672
+ }
673
+ function focusThumb(index, focusVisible = false) {
674
+ getThumbInput(index)?.focus({
675
+ preventScroll: true,
676
+ focusVisible
677
+ });
678
+ }
679
+ function applyPointerValue(finger, reason, event) {
680
+ const applied = context.setValue(finger.value, createChangeEventDetails(reason, event, void 0, { activeThumbIndex: finger.thumbIndex }));
681
+ if (applied) {
682
+ interactionValue = finger.value;
683
+ latestValues = Array.isArray(finger.value) ? finger.value : [finger.value];
684
+ if (finger.didSwap) {
685
+ updatePressedThumb(finger.thumbIndex);
686
+ focusThumb(finger.thumbIndex);
687
+ }
688
+ }
689
+ return applied;
690
+ }
691
+ function handleMove(event) {
692
+ const coords = getFingerCoordinates(event, touchId);
693
+ if (!coords) return;
694
+ moveCount += 1;
695
+ if (event.type === "pointermove" && event.buttons === 0) {
696
+ endInteraction(event);
697
+ return;
698
+ }
699
+ const finger = getFingerState(coords);
700
+ if (!finger || !validateMinimumDistance(finger.value, context.step(), context.minStepsBetweenValues())) return;
701
+ if (!context.dragging() && moveCount > INTENTIONAL_DRAG_COUNT_THRESHOLD) context.setDragging(true);
702
+ applyPointerValue(finger, drag, event);
703
+ }
704
+ function endInteraction(event) {
705
+ if ("changedTouches" in event && touchId != null && !hasTouch(event, touchId)) return;
706
+ context.setActive(-1);
707
+ context.setDragging(false);
708
+ context.interaction.pressedThumbCenterOffset = null;
709
+ const values = context.values();
710
+ if (Array.isArray(interactionValue) && interactionValue.length !== values.length) interactionValue = null;
711
+ if (interactionValue != null) context.onValueCommitted(interactionValue, createGenericEventDetails(context.interaction.lastChangeReason, event));
712
+ const control = element();
713
+ if ("pointerId" in event && control) try {
714
+ if (control.hasPointerCapture(event.pointerId)) control.releasePointerCapture(event.pointerId);
715
+ } catch {}
716
+ resetPressedThumb();
717
+ touchId = null;
718
+ pointerId = null;
719
+ stopListening();
720
+ }
721
+ function handleTouchStart(event) {
722
+ if (context.disabled()) return;
723
+ if (isDisabledThumbTarget(getEventElement(event))) {
724
+ resetPressedThumb();
725
+ return;
726
+ }
727
+ const touch = event.changedTouches[0];
728
+ if (!touch) return;
729
+ touchId = touch.identifier;
730
+ const coords = {
731
+ x: touch.clientX,
732
+ y: touch.clientY
733
+ };
734
+ startPressing(coords);
735
+ const finger = getFingerState(coords);
736
+ if (!finger) return;
737
+ focusThumb(finger.thumbIndex);
738
+ applyPointerValue(finger, trackPress, event);
739
+ moveCount = 0;
740
+ startListening(element()?.ownerDocument, "touch");
741
+ }
742
+ function handlePointerDown(event) {
743
+ const control = element();
744
+ const target = getEventElement(event);
745
+ if (!control || context.disabled() || event.defaultPrevented || !target || event.button !== 0) return;
746
+ if (isDisabledThumbTarget(target)) {
747
+ resetPressedThumb();
748
+ return;
749
+ }
750
+ const coords = {
751
+ x: event.clientX,
752
+ y: event.clientY
753
+ };
754
+ startPressing(coords);
755
+ const finger = getFingerState(coords);
756
+ if (!finger) return;
757
+ const activeElement = getDeepActiveElement(control.ownerDocument);
758
+ if (contains(context.orderedThumbs()[finger.thumbIndex]?.element(), activeElement)) event.preventDefault();
759
+ else {
760
+ const ownerWindow = control.ownerDocument.defaultView;
761
+ if (focusFrame !== void 0) ownerWindow?.cancelAnimationFrame(focusFrame);
762
+ focusFrame = ownerWindow?.requestAnimationFrame(() => focusThumb(finger.thumbIndex));
763
+ }
764
+ context.setDragging(true);
765
+ if (context.interaction.pressedThumbCenterOffset == null) applyPointerValue(finger, trackPress, event);
766
+ if (event.pointerId) {
767
+ pointerId = event.pointerId;
768
+ try {
769
+ control.setPointerCapture(event.pointerId);
770
+ } catch {}
771
+ }
772
+ moveCount = 0;
773
+ startListening(control.ownerDocument, "pointer");
774
+ }
775
+ function startListening(document, type) {
776
+ removeListeners();
777
+ if (!document) return;
778
+ listeningDocument = document;
779
+ if (type === "touch") {
780
+ document.addEventListener("touchmove", handleMove, { passive: true });
781
+ document.addEventListener("touchend", endInteraction, { passive: true });
782
+ document.addEventListener("touchcancel", endInteraction, { passive: true });
783
+ } else {
784
+ document.addEventListener("pointermove", handleMove, { passive: true });
785
+ document.addEventListener("pointerup", endInteraction);
786
+ document.addEventListener("pointercancel", endInteraction);
787
+ }
788
+ }
789
+ function stopListening() {
790
+ removeListeners();
791
+ context.interaction.pressedValues = null;
792
+ interactionValue = null;
793
+ latestValues = null;
794
+ }
795
+ function removeListeners() {
796
+ const document = listeningDocument;
797
+ if (document) {
798
+ document.removeEventListener("pointermove", handleMove);
799
+ document.removeEventListener("pointerup", endInteraction);
800
+ document.removeEventListener("pointercancel", endInteraction);
801
+ document.removeEventListener("touchmove", handleMove);
802
+ document.removeEventListener("touchend", endInteraction);
803
+ document.removeEventListener("touchcancel", endInteraction);
804
+ }
805
+ listeningDocument = null;
806
+ }
807
+ const onPointerDown = composeEventHandlers(() => internalProps.onPointerDown, () => handlePointerDown);
808
+ const onTouchStart = composeEventHandlers(() => internalProps.onTouchStart, () => handleTouchStart);
809
+ createEffect(element, (control) => {
810
+ context.setControlElement(control);
811
+ if (!control) return;
812
+ const listener = (event) => onTouchStart.call(control, event);
813
+ control.addEventListener("touchstart", listener, { passive: true });
814
+ return () => {
815
+ control.removeEventListener("touchstart", listener);
816
+ if (context.controlElement() === control) context.setControlElement(void 0);
817
+ };
818
+ });
819
+ createEffect(context.disabled, (disabled) => {
820
+ if (disabled) {
821
+ context.setDragging(false);
822
+ resetPressedThumb();
823
+ stopListening();
824
+ }
825
+ });
826
+ onCleanup(() => {
827
+ const ownerWindow = element()?.ownerDocument.defaultView;
828
+ if (focusFrame !== void 0) ownerWindow?.cancelAnimationFrame(focusFrame);
829
+ if (pointerId != null) try {
830
+ if (element()?.hasPointerCapture(pointerId)) element()?.releasePointerCapture(pointerId);
831
+ } catch {}
832
+ stopListening();
833
+ });
834
+ return Dynamic(mergeProps({
835
+ get component() {
836
+ return props.as ?? "div";
837
+ },
838
+ ref: [((control) => setElement(control)), internalProps.ref],
839
+ get ["class"]() {
840
+ return classValue();
841
+ },
842
+ get style() {
843
+ return styleValue();
844
+ },
845
+ get ["data-base-ui-slider-control"]() {
846
+ return context.renderBeforeHydration() ? "" : void 0;
847
+ },
848
+ onPointerDown
849
+ }, stateAttributes, others));
850
+ }
851
+ function getControlOffset(styles, vertical) {
852
+ const parse = (value) => {
853
+ const result = value == null ? 0 : Number.parseFloat(value);
854
+ return Number.isNaN(result) ? 0 : result;
855
+ };
856
+ if (!styles) return {
857
+ start: 0,
858
+ end: 0
859
+ };
860
+ return vertical ? {
861
+ start: parse(styles.borderTopWidth) + parse(styles.paddingTop),
862
+ end: parse(styles.borderBottomWidth) + parse(styles.paddingBottom)
863
+ } : {
864
+ start: parse(styles.borderInlineStartWidth) + parse(styles.paddingInlineStart),
865
+ end: parse(styles.borderInlineEndWidth) + parse(styles.paddingInlineEnd)
866
+ };
867
+ }
868
+ function getFingerCoordinates(event, touchId) {
869
+ if (touchId != null && "changedTouches" in event) {
870
+ for (const touch of event.changedTouches) if (touch.identifier === touchId) return {
871
+ x: touch.clientX,
872
+ y: touch.clientY
873
+ };
874
+ return null;
875
+ }
876
+ return {
877
+ x: event.clientX,
878
+ y: event.clientY
879
+ };
880
+ }
881
+ function hasTouch(event, touchId) {
882
+ for (const touch of event.changedTouches) if (touch.identifier === touchId) return true;
883
+ return false;
884
+ }
885
+ function getDeepActiveElement(document) {
886
+ let active = document.activeElement;
887
+ while (active?.shadowRoot?.activeElement) active = active.shadowRoot.activeElement;
888
+ return active;
889
+ }
890
+ //#endregion
891
+ //#region src/slider/track/SliderTrack.tsx
892
+ /** Represents the full range of the slider. */
893
+ function SliderTrack(props) {
894
+ const context = useSliderRootContext();
895
+ const internalProps = props;
896
+ const others = omit(props, "as", "class", "ref", "style");
897
+ const state = createMemo(() => context.state());
898
+ const classValue = createMemo(() => resolveClass(props.class, state()));
899
+ const styleValue = createMemo(() => mergeStyles({ position: "relative" }, resolveStyle(props.style, state())));
900
+ const stateAttributes = createMemo(() => getStateAttributesProps(state(), sliderStateAttributesMapping));
901
+ return Dynamic(mergeProps({
902
+ get component() {
903
+ return props.as ?? "div";
904
+ },
905
+ ref: [internalProps.ref],
906
+ get ["class"]() {
907
+ return classValue();
908
+ },
909
+ get style() {
910
+ return styleValue();
911
+ }
912
+ }, stateAttributes, others));
913
+ }
914
+ //#endregion
915
+ //#region src/slider/thumb/prehydrationScript.ts
916
+ var sliderPrehydrationScript = `(function(){const t=document.currentScript&&document.currentScript.parentElement;if(!t)return;const c=t.closest('[data-base-ui-slider-control]');if(!c)return;const i=c.querySelector('[data-base-ui-slider-indicator]'),r=c.getBoundingClientRect(),v=c.getAttribute('data-orientation')==='vertical',s=v?'height':'width',n=c.querySelectorAll('input[type="range"]'),g=n.length>1,l=n.length-1;let a=null;for(let e=0;e<n.length;e++){const o=n[e],d=parseFloat(o.getAttribute('value')||'');if(Number.isNaN(d))return;const p=o.parentElement;if(!p)return;const m=parseFloat(o.getAttribute('max')||'100'),u=parseFloat(o.getAttribute('min')||'0'),h=p.getBoundingClientRect(),f=r[s]-h[s],x=h[s]/2+f*((d-u)*100/(m-u))/100,y=x/r[s]*100;p.style.setProperty('--position',y+'%');if(Number.isFinite(y)){p.style.removeProperty('visibility');if(i){if(e===0){a=y;i.style.setProperty('--start-position',y+'%');if(!g)i.style.removeProperty('visibility')}else if(e===l){i.style.setProperty('--end-position',y+'%');i.style.setProperty('--relative-size',y-(a||0)+'%');i.style.removeProperty('visibility')}}}}})();`;
917
+ //#endregion
918
+ //#region src/slider/thumb/SliderThumbDataAttributes.ts
919
+ var SliderThumbDataAttributes = /* @__PURE__ */ function(SliderThumbDataAttributes) {
920
+ SliderThumbDataAttributes["index"] = "data-index";
921
+ SliderThumbDataAttributes["dragging"] = "data-dragging";
922
+ SliderThumbDataAttributes["orientation"] = "data-orientation";
923
+ SliderThumbDataAttributes["disabled"] = "data-disabled";
924
+ SliderThumbDataAttributes["valid"] = "data-valid";
925
+ SliderThumbDataAttributes["invalid"] = "data-invalid";
926
+ SliderThumbDataAttributes["touched"] = "data-touched";
927
+ SliderThumbDataAttributes["dirty"] = "data-dirty";
928
+ SliderThumbDataAttributes["focused"] = "data-focused";
929
+ return SliderThumbDataAttributes;
930
+ }({});
931
+ //#endregion
932
+ //#region src/slider/thumb/SliderThumb.tsx
933
+ var _tmpl$ = [
934
+ "<input",
935
+ " type=\"range\"",
936
+ "",
937
+ "",
938
+ "",
939
+ "",
940
+ "",
941
+ "",
942
+ "",
943
+ "",
944
+ " style=\"",
945
+ "\"",
946
+ "",
947
+ "",
948
+ "",
949
+ "",
950
+ "",
951
+ "",
952
+ ">"
953
+ ];
954
+ var HANDLED_KEYS = /* @__PURE__ */ new Set([
955
+ "ArrowDown",
956
+ "ArrowLeft",
957
+ "ArrowRight",
958
+ "ArrowUp",
959
+ "End",
960
+ "Home",
961
+ "PageDown",
962
+ "PageUp"
963
+ ]);
964
+ var PROPAGATION_KEYS = /* @__PURE__ */ new Set([
965
+ "ArrowDown",
966
+ "ArrowLeft",
967
+ "ArrowRight",
968
+ "ArrowUp",
969
+ "End",
970
+ "Home"
971
+ ]);
972
+ var VISUALLY_HIDDEN_STYLE = {
973
+ position: "fixed",
974
+ width: "1px",
975
+ height: "1px",
976
+ padding: "0",
977
+ margin: "-1px",
978
+ overflow: "hidden",
979
+ clip: "rect(0, 0, 0, 0)",
980
+ "white-space": "nowrap",
981
+ border: "0"
982
+ };
983
+ /** The draggable thumb and its nested native range input. */
984
+ function SliderThumb(props) {
985
+ var _v$, _g$2, _g$, _v$8;
986
+ const context = useSliderRootContext();
987
+ const field = useFieldRootContext(true);
988
+ const labelable = useLabelableContext();
989
+ const direction = useDirection();
990
+ const csp = useCSPContext();
991
+ const internalProps = props;
992
+ const allProps = props;
993
+ const generatedId = `base-ui-${createUniqueId()}`;
994
+ const generatedInputId = `base-ui-${createUniqueId()}`;
995
+ const token = Symbol("SliderThumb");
996
+ const [element, setElement] = createSignal();
997
+ const [input, setInput] = createSignal();
998
+ const [positionPercent, setPositionPercent] = createSignal();
999
+ const [hydrating, setHydrating] = createSignal(isServer || sharedConfig.hydrating);
1000
+ const trustedPrehydrationScript = { innerHTML: sliderPrehydrationScript };
1001
+ let restoringFocusVisible = false;
1002
+ let indexAccessor = () => -1;
1003
+ const inputId = createMemo(() => context.range() ? generatedInputId : context.singleInputId);
1004
+ const registration = {
1005
+ token,
1006
+ order: 0,
1007
+ element,
1008
+ input,
1009
+ inputId,
1010
+ index: () => indexAccessor()
1011
+ };
1012
+ const unregisterThumb = context.registerThumb(registration);
1013
+ const automaticIndex = createMemo(() => context.orderedThumbs().indexOf(registration));
1014
+ const index = createMemo(() => !context.range() ? 0 : internalProps.index ?? automaticIndex());
1015
+ indexAccessor = index;
1016
+ const others = omit(allProps, "aria-describedby", "aria-label", "aria-labelledby", "aria-valuetext", "as", "children", "class", "disabled", "getAriaLabel", "getAriaValueText", "id", "index", "inputRef", "onBlur", "onFocus", "onKeyDown", "onPointerDown", "ref", "style", "tabIndex");
1017
+ const thumbValue = createMemo(() => context.values()[index()]);
1018
+ const thumbValuePercent = createMemo(() => valueToPercent(thumbValue(), context.min(), context.max()));
1019
+ const range = context.range;
1020
+ const vertical = createMemo(() => context.orientation() === "vertical");
1021
+ const disabled = createMemo(() => context.disabled() || (internalProps.disabled ?? false));
1022
+ const last = createMemo(() => index() === context.values().length - 1);
1023
+ const state = createMemo(() => context.state());
1024
+ const classValue = createMemo(() => resolveClass(props.class, state()));
1025
+ const internalStyle = createMemo(() => {
1026
+ const percent = thumbValuePercent();
1027
+ if (!context.inset() && !Number.isFinite(percent)) return VISUALLY_HIDDEN_STYLE;
1028
+ const safeLastUsed = context.lastUsedThumbIndex() >= 0 && context.lastUsedThumbIndex() < context.values().length ? context.lastUsedThumbIndex() : -1;
1029
+ let zIndex;
1030
+ if (range()) {
1031
+ if (context.active() === index()) zIndex = 2;
1032
+ else if (safeLastUsed === index()) zIndex = 1;
1033
+ } else if (context.active() === index()) zIndex = 1;
1034
+ return {
1035
+ position: "absolute",
1036
+ [vertical() ? "bottom" : "inset-inline-start"]: context.inset() ? "var(--position)" : `${percent}%`,
1037
+ [vertical() ? "left" : "top"]: "50%",
1038
+ translate: `${(vertical() || direction() !== "rtl" ? -1 : 1) * 50}% ${(vertical() ? 1 : -1) * 50}%`,
1039
+ "z-index": zIndex,
1040
+ ...context.inset() ? {
1041
+ "--position": `${positionPercent() ?? 0}%`,
1042
+ visibility: context.renderBeforeHydration() && hydrating() || positionPercent() === void 0 ? "hidden" : void 0
1043
+ } : {}
1044
+ };
1045
+ });
1046
+ const styleValue = createMemo(() => mergeStyles(internalStyle(), resolveStyle(props.style, state())));
1047
+ const stateAttributes = createMemo(() => getStateAttributesProps(state(), sliderStateAttributesMapping));
1048
+ const indexAttribute = createMemo(() => ({ [SliderThumbDataAttributes.index]: String(index()) }));
1049
+ const formattedValue = createMemo(() => formatNumber(thumbValue(), context.locale(), context.format()));
1050
+ const ariaLabel = createMemo(() => typeof internalProps.getAriaLabel === "function" ? internalProps.getAriaLabel(index()) : internalProps["aria-label"]);
1051
+ const ariaValueText = createMemo(() => {
1052
+ const value = thumbValue();
1053
+ if (value === void 0 || index() < 0) return;
1054
+ if (typeof internalProps.getAriaValueText === "function") return internalProps.getAriaValueText(formattedValue(), value, index());
1055
+ if (internalProps["aria-valuetext"] !== void 0) return internalProps["aria-valuetext"];
1056
+ if (context.values().length === 2) return `${formattedValue()} ${index() === 0 ? "start" : "end"} range`;
1057
+ return context.format() ? formattedValue() : void 0;
1058
+ });
1059
+ const inputStyle = createMemo(() => ({
1060
+ ...VISUALLY_HIDDEN_STYLE,
1061
+ width: "100%",
1062
+ height: "100%",
1063
+ "writing-mode": vertical() ? direction() === "rtl" ? "vertical-rl" : "vertical-lr" : void 0
1064
+ }));
1065
+ function measureInset() {
1066
+ if (!context.inset()) return;
1067
+ const control = context.controlElement();
1068
+ const thumb = element();
1069
+ if (!control || !thumb) return;
1070
+ const thumbRect = thumb.getBoundingClientRect();
1071
+ const controlRect = control.getBoundingClientRect();
1072
+ const side = vertical() ? "height" : "width";
1073
+ const travel = controlRect[side] - thumbRect[side];
1074
+ const nextPosition = (thumbRect[side] / 2 + travel * thumbValuePercent() / 100) / controlRect[side] * 100;
1075
+ const position = Number.isFinite(nextPosition) ? nextPosition : void 0;
1076
+ setPositionPercent(position);
1077
+ if (index() === 0) context.setIndicatorPosition(0, position);
1078
+ else if (last()) context.setIndicatorPosition(1, position);
1079
+ }
1080
+ function handleFocus(event) {
1081
+ const wasRestoring = restoringFocusVisible;
1082
+ restoringFocusVisible = false;
1083
+ context.setActive(index());
1084
+ field.setFocused(true);
1085
+ if (wasRestoring) {
1086
+ event.stopPropagation();
1087
+ return;
1088
+ }
1089
+ }
1090
+ function handleBlur(event) {
1091
+ if (restoringFocusVisible) {
1092
+ event.stopPropagation();
1093
+ return;
1094
+ }
1095
+ context.setActive(-1);
1096
+ if (context.orderedThumbs().some((thumb) => contains(thumb.element(), event.relatedTarget))) return;
1097
+ field.setTouched(true);
1098
+ field.setFocused(false);
1099
+ if (field.validationMode() === "onBlur") {
1100
+ const value = thumbValue();
1101
+ if (value !== void 0) field.validation.commit(getSliderValue(value, index(), context.min(), context.max(), range(), context.values()));
1102
+ }
1103
+ }
1104
+ function handleKeyDown(event) {
1105
+ if (disabled() || event.defaultPrevented || !HANDLED_KEYS.has(event.key)) return;
1106
+ if (PROPAGATION_KEYS.has(event.key)) event.stopPropagation();
1107
+ const current = thumbValue();
1108
+ if (current === void 0) return;
1109
+ let nextValue = null;
1110
+ let movement = 0;
1111
+ let increment = event.shiftKey ? context.largeStep() : context.step();
1112
+ const rounded = roundValueToStep(current, context.step(), context.min());
1113
+ switch (event.key) {
1114
+ case "ArrowUp":
1115
+ movement = 1;
1116
+ break;
1117
+ case "ArrowRight":
1118
+ movement = direction() === "rtl" ? -1 : 1;
1119
+ break;
1120
+ case "ArrowDown":
1121
+ movement = -1;
1122
+ break;
1123
+ case "ArrowLeft":
1124
+ movement = direction() === "rtl" ? 1 : -1;
1125
+ break;
1126
+ case "PageUp":
1127
+ increment = context.largeStep();
1128
+ movement = 1;
1129
+ break;
1130
+ case "PageDown":
1131
+ increment = context.largeStep();
1132
+ movement = -1;
1133
+ break;
1134
+ case "End":
1135
+ nextValue = range() && Number.isFinite(context.values()[index() + 1]) ? context.values()[index() + 1] - context.step() * context.minStepsBetweenValues() : context.max();
1136
+ break;
1137
+ case "Home": nextValue = range() && Number.isFinite(context.values()[index() - 1]) ? context.values()[index() - 1] + context.step() * context.minStepsBetweenValues() : context.min();
1138
+ }
1139
+ if (movement !== 0) nextValue = getNewValue(rounded, increment, movement, context.min(), context.max());
1140
+ if (nextValue === null) return;
1141
+ const currentInput = input();
1142
+ if (currentInput && !matchesFocusVisible(currentInput)) {
1143
+ restoringFocusVisible = true;
1144
+ currentInput.blur();
1145
+ currentInput.focus({
1146
+ preventScroll: true,
1147
+ focusVisible: true
1148
+ });
1149
+ }
1150
+ context.handleInputChange(nextValue, index(), event);
1151
+ event.preventDefault();
1152
+ }
1153
+ function handlePointerDown(event) {
1154
+ if (disabled()) return;
1155
+ context.interaction.pressedThumbIndex = index();
1156
+ context.interaction.pressedThumbCenterOffset = (vertical() ? event.clientY : event.clientX) - getMidpoint(event.currentTarget, vertical());
1157
+ }
1158
+ composeEventHandlers(() => restoringFocusVisible ? void 0 : internalProps.onFocus, () => handleFocus);
1159
+ composeEventHandlers(() => restoringFocusVisible ? void 0 : internalProps.onBlur, () => handleBlur);
1160
+ composeEventHandlers(() => internalProps.onKeyDown, () => handleKeyDown);
1161
+ const onPointerDown = composeEventHandlers(() => internalProps.onPointerDown, () => handlePointerDown);
1162
+ createEffect(() => ({
1163
+ control: context.controlElement(),
1164
+ inset: context.inset(),
1165
+ percent: thumbValuePercent(),
1166
+ thumb: element()
1167
+ }), (current) => {
1168
+ if (!current.inset || !current.control || !current.thumb) return;
1169
+ queueMicrotask(() => untrack(measureInset));
1170
+ untrack(measureInset);
1171
+ const ResizeObserverConstructor = current.control.ownerDocument.defaultView?.ResizeObserver;
1172
+ if (!ResizeObserverConstructor) return;
1173
+ const observer = new ResizeObserverConstructor(measureInset);
1174
+ observer.observe(current.control);
1175
+ observer.observe(current.thumb);
1176
+ return () => observer.disconnect();
1177
+ });
1178
+ createEffect(input, (currentInput) => {
1179
+ if (!currentInput) return;
1180
+ return field.validation.registerInput(context.fieldControlSource, currentInput, () => currentInput);
1181
+ });
1182
+ onSettled(() => {
1183
+ setHydrating(false);
1184
+ });
1185
+ onCleanup(unregisterThumb);
1186
+ return Dynamic(mergeProps({
1187
+ get component() {
1188
+ return props.as ?? "div";
1189
+ },
1190
+ ref: [((thumb) => {
1191
+ setElement(thumb);
1192
+ const prehydratedPosition = Number.parseFloat(thumb.style.getPropertyValue("--position"));
1193
+ if (Number.isFinite(prehydratedPosition)) setPositionPercent(prehydratedPosition);
1194
+ }), internalProps.ref],
1195
+ get id() {
1196
+ return internalProps.id ?? generatedId;
1197
+ },
1198
+ get ["class"]() {
1199
+ return classValue();
1200
+ },
1201
+ get style() {
1202
+ return styleValue();
1203
+ },
1204
+ onPointerDown
1205
+ }, indexAttribute, stateAttributes, others, { get children() {
1206
+ return [
1207
+ memo(() => {
1208
+ return escape(internalProps.children);
1209
+ }),
1210
+ (_v$ = ssrHydrationKey(), internalProps.inputRef, _g$2 = ssrGroup(() => {
1211
+ return [
1212
+ ssrAttribute("id", escape(inputId(), true)),
1213
+ ssrAttribute("name", escape(context.name(), true)),
1214
+ ssrAttribute("form", escape(context.form(), true)),
1215
+ ssrAttribute("min", escape(context.min(), true)),
1216
+ ssrAttribute("max", escape(context.max(), true)),
1217
+ ssrAttribute("step", escape(context.step(), true))
1218
+ ];
1219
+ }, 6), _g$ = ssrGroup(() => {
1220
+ return [
1221
+ ssrAttribute("disabled", escape(disabled(), true)),
1222
+ ssrAttribute("tabindex", escape(internalProps.tabIndex, true)),
1223
+ ssrStyle(inputStyle()),
1224
+ ssrAttribute("aria-label", escape(ariaLabel(), true)),
1225
+ ssrAttribute("aria-labelledby", escape(internalProps["aria-labelledby"] ?? (ariaLabel() == null ? context.labelId() : void 0), true)),
1226
+ ssrAttribute("aria-describedby", escape(labelable.getAriaDescribedBy(internalProps["aria-describedby"]), true)),
1227
+ ssrAttribute("aria-orientation", escape(context.orientation(), true)),
1228
+ ssrAttribute("aria-valuenow", escape(thumbValue(), true)),
1229
+ ssrAttribute("aria-valuetext", escape(ariaValueText(), true)),
1230
+ ssrAttribute("aria-invalid", state().valid === false && !disabled() ? "true" : escape(void 0, true))
1231
+ ];
1232
+ }, 10), _v$8 = () => {
1233
+ return ssrAttribute("value", escape(thumbValue() ?? "", true));
1234
+ }, ssr(_tmpl$, _v$, _g$2, _g$2, _g$2, _g$2, _g$2, _g$2, _v$8, _g$, _g$, _g$, _g$, _g$, _g$, _g$, _g$, _g$, _g$)),
1235
+ memo(() => {
1236
+ return escape(memo(() => {
1237
+ return !!(context.inset() && last() && context.renderBeforeHydration() && hydrating());
1238
+ })() ? ssrElement("script", () => {
1239
+ return mergeProps({ get nonce() {
1240
+ return csp.nonce();
1241
+ } }, trustedPrehydrationScript);
1242
+ }, void 0, true) : context.inset() && last() && context.renderBeforeHydration() && hydrating());
1243
+ })
1244
+ ];
1245
+ } }));
1246
+ }
1247
+ function getNewValue(value, increment, direction, min, max) {
1248
+ const next = value + increment * direction;
1249
+ return clamp(Number(next.toFixed(Math.max(getDecimalPrecision(value), getDecimalPrecision(increment), getDecimalPrecision(min)))), min, max);
1250
+ }
1251
+ function matchesFocusVisible(element) {
1252
+ try {
1253
+ return element.matches(":focus-visible");
1254
+ } catch {
1255
+ return false;
1256
+ }
1257
+ }
1258
+ //#endregion
1259
+ //#region src/slider/indicator/SliderIndicator.tsx
1260
+ /** Visualizes the selected portion of the slider track. */
1261
+ function SliderIndicator(props) {
1262
+ const context = useSliderRootContext();
1263
+ const internalProps = props;
1264
+ const allProps = props;
1265
+ const [hydrating, setHydrating] = createSignal(isServer || sharedConfig.hydrating);
1266
+ const others = omit(allProps, "as", "class", "ref", "style");
1267
+ const state = createMemo(() => context.state());
1268
+ const classValue = createMemo(() => resolveClass(props.class, state()));
1269
+ const indicatorStyle = createMemo(() => {
1270
+ const values = context.values();
1271
+ const vertical = context.orientation() === "vertical";
1272
+ const range = values.length > 1;
1273
+ const positions = context.indicatorPosition();
1274
+ const start = context.inset() ? positions[0] : valueToPercent(values[0], context.min(), context.max());
1275
+ const end = context.inset() ? positions[1] : valueToPercent(values[values.length - 1], context.min(), context.max());
1276
+ let startValue = `${start ?? 0}%`;
1277
+ let sizeValue = `${(end ?? 0) - (start ?? 0)}%`;
1278
+ const style = {
1279
+ visibility: context.inset() && context.renderBeforeHydration() && hydrating() || context.inset() && (start === void 0 || range && end === void 0) ? "hidden" : void 0,
1280
+ position: vertical ? "absolute" : "relative",
1281
+ [vertical ? "width" : "height"]: "inherit"
1282
+ };
1283
+ if (context.inset()) {
1284
+ style["--start-position"] = startValue;
1285
+ startValue = "var(--start-position)";
1286
+ if (range) {
1287
+ style["--relative-size"] = sizeValue;
1288
+ sizeValue = "var(--relative-size)";
1289
+ }
1290
+ }
1291
+ style[vertical ? "bottom" : "inset-inline-start"] = range ? startValue : 0;
1292
+ style[vertical ? "height" : "width"] = range ? sizeValue : startValue;
1293
+ return style;
1294
+ });
1295
+ const styleValue = createMemo(() => mergeStyles(indicatorStyle(), resolveStyle(props.style, state())));
1296
+ const stateAttributes = createMemo(() => getStateAttributesProps(state(), sliderStateAttributesMapping));
1297
+ onSettled(() => {
1298
+ setHydrating(false);
1299
+ });
1300
+ return Dynamic(mergeProps({
1301
+ get component() {
1302
+ return props.as ?? "div";
1303
+ },
1304
+ ref: [((indicator) => {
1305
+ const start = Number.parseFloat(indicator.style.getPropertyValue("--start-position"));
1306
+ const relative = Number.parseFloat(indicator.style.getPropertyValue("--relative-size"));
1307
+ if (Number.isFinite(start)) context.setIndicatorPosition(0, start);
1308
+ if (Number.isFinite(start) && Number.isFinite(relative)) context.setIndicatorPosition(1, start + relative);
1309
+ }), internalProps.ref],
1310
+ get ["class"]() {
1311
+ return classValue();
1312
+ },
1313
+ get style() {
1314
+ return styleValue();
1315
+ },
1316
+ get ["data-base-ui-slider-indicator"]() {
1317
+ return context.renderBeforeHydration() ? "" : void 0;
1318
+ }
1319
+ }, stateAttributes, others));
1320
+ }
1321
+ //#endregion
1322
+ //#region src/slider/index.parts.ts
1323
+ var index_parts_exports = /* @__PURE__ */ __exportAll({
1324
+ Control: () => SliderControl,
1325
+ Indicator: () => SliderIndicator,
1326
+ Label: () => SliderLabel,
1327
+ Root: () => SliderRoot,
1328
+ Thumb: () => SliderThumb,
1329
+ Track: () => SliderTrack,
1330
+ Value: () => SliderValue
1331
+ });
1332
+ //#endregion
1333
+ export { index_parts_exports as Slider };