@base-ui/react 1.6.0 → 1.8.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 (1973) hide show
  1. package/CHANGELOG.md +372 -0
  2. package/accordion/header/AccordionHeaderDataAttributes.d.mts +13 -15
  3. package/accordion/header/AccordionHeaderDataAttributes.d.ts +13 -15
  4. package/accordion/header/AccordionHeaderDataAttributes.js +14 -17
  5. package/accordion/header/AccordionHeaderDataAttributes.mjs +13 -16
  6. package/accordion/item/AccordionItem.js +6 -13
  7. package/accordion/item/AccordionItem.mjs +6 -13
  8. package/accordion/item/AccordionItemContext.d.mts +2 -1
  9. package/accordion/item/AccordionItemContext.d.ts +2 -1
  10. package/accordion/item/AccordionItemDataAttributes.d.mts +13 -15
  11. package/accordion/item/AccordionItemDataAttributes.d.ts +13 -15
  12. package/accordion/item/AccordionItemDataAttributes.js +14 -17
  13. package/accordion/item/AccordionItemDataAttributes.mjs +13 -16
  14. package/accordion/item/stateAttributesMapping.js +5 -6
  15. package/accordion/item/stateAttributesMapping.mjs +4 -6
  16. package/accordion/panel/AccordionPanel.js +15 -14
  17. package/accordion/panel/AccordionPanel.mjs +13 -12
  18. package/accordion/panel/AccordionPanelCssVars.d.mts +10 -12
  19. package/accordion/panel/AccordionPanelCssVars.d.ts +10 -12
  20. package/accordion/panel/AccordionPanelCssVars.js +11 -14
  21. package/accordion/panel/AccordionPanelCssVars.mjs +10 -13
  22. package/accordion/panel/AccordionPanelDataAttributes.d.mts +25 -27
  23. package/accordion/panel/AccordionPanelDataAttributes.d.ts +25 -27
  24. package/accordion/panel/AccordionPanelDataAttributes.js +26 -29
  25. package/accordion/panel/AccordionPanelDataAttributes.mjs +26 -28
  26. package/accordion/root/AccordionRoot.d.mts +1 -0
  27. package/accordion/root/AccordionRoot.d.ts +1 -0
  28. package/accordion/root/AccordionRoot.js +6 -16
  29. package/accordion/root/AccordionRoot.mjs +6 -16
  30. package/accordion/root/AccordionRootDataAttributes.d.mts +8 -10
  31. package/accordion/root/AccordionRootDataAttributes.d.ts +8 -10
  32. package/accordion/root/AccordionRootDataAttributes.js +9 -12
  33. package/accordion/root/AccordionRootDataAttributes.mjs +8 -11
  34. package/accordion/trigger/AccordionTrigger.js +7 -7
  35. package/accordion/trigger/AccordionTrigger.mjs +7 -7
  36. package/accordion/trigger/AccordionTriggerDataAttributes.d.mts +8 -10
  37. package/accordion/trigger/AccordionTriggerDataAttributes.d.ts +8 -10
  38. package/accordion/trigger/AccordionTriggerDataAttributes.js +9 -12
  39. package/accordion/trigger/AccordionTriggerDataAttributes.mjs +8 -11
  40. package/alert-dialog/handle.d.mts +6 -8
  41. package/alert-dialog/handle.d.ts +6 -8
  42. package/alert-dialog/handle.js +8 -19
  43. package/alert-dialog/handle.mjs +7 -17
  44. package/alert-dialog/root/AlertDialogRoot.d.mts +1 -1
  45. package/alert-dialog/root/AlertDialogRoot.d.ts +1 -1
  46. package/alert-dialog/root/AlertDialogRoot.js +1 -1
  47. package/alert-dialog/root/AlertDialogRoot.mjs +1 -1
  48. package/alert-dialog/trigger/AlertDialogTriggerDataAttributes.d.mts +8 -10
  49. package/alert-dialog/trigger/AlertDialogTriggerDataAttributes.d.ts +8 -10
  50. package/alert-dialog/trigger/AlertDialogTriggerDataAttributes.js +9 -12
  51. package/alert-dialog/trigger/AlertDialogTriggerDataAttributes.mjs +9 -11
  52. package/autocomplete/clear/AutocompleteClearDataAttributes.d.mts +1 -1
  53. package/autocomplete/clear/AutocompleteClearDataAttributes.d.ts +1 -1
  54. package/autocomplete/clear/AutocompleteClearDataAttributes.js +11 -7
  55. package/autocomplete/clear/AutocompleteClearDataAttributes.mjs +1 -1
  56. package/autocomplete/index.d.mts +1 -0
  57. package/autocomplete/index.d.ts +1 -0
  58. package/autocomplete/index.parts.d.mts +1 -1
  59. package/autocomplete/index.parts.d.ts +1 -1
  60. package/autocomplete/index.parts.js +2 -2
  61. package/autocomplete/index.parts.mjs +1 -1
  62. package/autocomplete/input-group/AutocompleteInputGroup.d.mts +1 -1
  63. package/autocomplete/input-group/AutocompleteInputGroup.d.ts +1 -1
  64. package/autocomplete/input-group/AutocompleteInputGroupDataAttributes.d.mts +49 -51
  65. package/autocomplete/input-group/AutocompleteInputGroupDataAttributes.d.ts +49 -51
  66. package/autocomplete/input-group/AutocompleteInputGroupDataAttributes.js +50 -53
  67. package/autocomplete/input-group/AutocompleteInputGroupDataAttributes.mjs +49 -52
  68. package/autocomplete/item/AutocompleteItemDataAttributes.d.mts +8 -10
  69. package/autocomplete/item/AutocompleteItemDataAttributes.d.ts +8 -10
  70. package/autocomplete/item/AutocompleteItemDataAttributes.js +11 -13
  71. package/autocomplete/item/AutocompleteItemDataAttributes.mjs +10 -12
  72. package/autocomplete/root/AutocompleteRoot.d.mts +29 -2
  73. package/autocomplete/root/AutocompleteRoot.d.ts +29 -2
  74. package/autocomplete/root/AutocompleteRoot.js +14 -33
  75. package/autocomplete/root/AutocompleteRoot.mjs +14 -33
  76. package/autocomplete/separator/AutocompleteSeparator.d.mts +26 -0
  77. package/autocomplete/separator/AutocompleteSeparator.d.ts +26 -0
  78. package/autocomplete/separator/AutocompleteSeparator.js +15 -0
  79. package/autocomplete/separator/AutocompleteSeparator.mjs +10 -0
  80. package/autocomplete/trigger/AutocompleteTrigger.d.mts +5 -1
  81. package/autocomplete/trigger/AutocompleteTrigger.d.ts +5 -1
  82. package/autocomplete/trigger/AutocompleteTriggerDataAttributes.d.mts +53 -55
  83. package/autocomplete/trigger/AutocompleteTriggerDataAttributes.d.ts +53 -55
  84. package/autocomplete/trigger/AutocompleteTriggerDataAttributes.js +54 -57
  85. package/autocomplete/trigger/AutocompleteTriggerDataAttributes.mjs +54 -56
  86. package/avatar/fallback/AvatarFallback.d.mts +2 -0
  87. package/avatar/fallback/AvatarFallback.d.ts +2 -0
  88. package/avatar/fallback/AvatarFallback.js +5 -5
  89. package/avatar/fallback/AvatarFallback.mjs +5 -5
  90. package/avatar/image/AvatarImage.d.mts +7 -1
  91. package/avatar/image/AvatarImage.d.ts +7 -1
  92. package/avatar/image/AvatarImage.js +75 -9
  93. package/avatar/image/AvatarImage.mjs +75 -9
  94. package/avatar/image/AvatarImageDataAttributes.d.mts +16 -10
  95. package/avatar/image/AvatarImageDataAttributes.d.ts +16 -10
  96. package/avatar/image/AvatarImageDataAttributes.js +17 -12
  97. package/avatar/image/AvatarImageDataAttributes.mjs +17 -11
  98. package/avatar/image/useImageLoadingStatus.d.mts +1 -1
  99. package/avatar/image/useImageLoadingStatus.d.ts +1 -1
  100. package/avatar/image/useImageLoadingStatus.js +8 -4
  101. package/avatar/image/useImageLoadingStatus.mjs +8 -4
  102. package/button/ButtonDataAttributes.d.mts +4 -6
  103. package/button/ButtonDataAttributes.d.ts +4 -6
  104. package/button/ButtonDataAttributes.js +5 -8
  105. package/button/ButtonDataAttributes.mjs +4 -7
  106. package/checkbox/indicator/CheckboxIndicator.js +5 -5
  107. package/checkbox/indicator/CheckboxIndicator.mjs +5 -5
  108. package/checkbox/indicator/CheckboxIndicatorDataAttributes.d.mts +56 -58
  109. package/checkbox/indicator/CheckboxIndicatorDataAttributes.d.ts +56 -58
  110. package/checkbox/indicator/CheckboxIndicatorDataAttributes.js +57 -60
  111. package/checkbox/indicator/CheckboxIndicatorDataAttributes.mjs +57 -59
  112. package/checkbox/root/CheckboxRoot.d.mts +2 -1
  113. package/checkbox/root/CheckboxRoot.d.ts +2 -1
  114. package/checkbox/root/CheckboxRoot.js +61 -65
  115. package/checkbox/root/CheckboxRoot.mjs +61 -65
  116. package/checkbox/root/CheckboxRootDataAttributes.d.mts +48 -50
  117. package/checkbox/root/CheckboxRootDataAttributes.d.ts +48 -50
  118. package/checkbox/root/CheckboxRootDataAttributes.js +49 -52
  119. package/checkbox/root/CheckboxRootDataAttributes.mjs +48 -51
  120. package/checkbox/utils/{useStateAttributesMapping.d.mts → getCheckboxStateAttributesMapping.d.mts} +1 -1
  121. package/checkbox/utils/{useStateAttributesMapping.d.ts → getCheckboxStateAttributesMapping.d.ts} +1 -1
  122. package/checkbox/utils/{useStateAttributesMapping.js → getCheckboxStateAttributesMapping.js} +7 -9
  123. package/checkbox/utils/{useStateAttributesMapping.mjs → getCheckboxStateAttributesMapping.mjs} +4 -7
  124. package/checkbox-group/CheckboxGroup.js +41 -23
  125. package/checkbox-group/CheckboxGroup.mjs +41 -23
  126. package/checkbox-group/CheckboxGroupContext.d.mts +8 -5
  127. package/checkbox-group/CheckboxGroupContext.d.ts +8 -5
  128. package/checkbox-group/CheckboxGroupContext.js +2 -8
  129. package/checkbox-group/CheckboxGroupContext.mjs +2 -7
  130. package/checkbox-group/CheckboxGroupDataAttributes.d.mts +4 -6
  131. package/checkbox-group/CheckboxGroupDataAttributes.d.ts +4 -6
  132. package/checkbox-group/CheckboxGroupDataAttributes.js +5 -8
  133. package/checkbox-group/CheckboxGroupDataAttributes.mjs +4 -7
  134. package/checkbox-group/useCheckboxGroupParent.d.mts +7 -7
  135. package/checkbox-group/useCheckboxGroupParent.d.ts +7 -7
  136. package/checkbox-group/useCheckboxGroupParent.js +41 -14
  137. package/checkbox-group/useCheckboxGroupParent.mjs +41 -14
  138. package/collapsible/panel/CollapsiblePanel.js +15 -14
  139. package/collapsible/panel/CollapsiblePanel.mjs +13 -12
  140. package/collapsible/panel/CollapsiblePanelCssVars.d.mts +10 -12
  141. package/collapsible/panel/CollapsiblePanelCssVars.d.ts +10 -12
  142. package/collapsible/panel/CollapsiblePanelCssVars.js +11 -14
  143. package/collapsible/panel/CollapsiblePanelCssVars.mjs +10 -13
  144. package/collapsible/panel/CollapsiblePanelDataAttributes.d.mts +16 -18
  145. package/collapsible/panel/CollapsiblePanelDataAttributes.d.ts +16 -18
  146. package/collapsible/panel/CollapsiblePanelDataAttributes.js +17 -20
  147. package/collapsible/panel/CollapsiblePanelDataAttributes.mjs +17 -19
  148. package/collapsible/panel/useCollapsiblePanel.js +31 -26
  149. package/collapsible/panel/useCollapsiblePanel.mjs +30 -25
  150. package/collapsible/root/CollapsibleRootDataAttributes.d.mts +16 -0
  151. package/collapsible/root/CollapsibleRootDataAttributes.d.ts +16 -0
  152. package/collapsible/root/CollapsibleRootDataAttributes.js +23 -0
  153. package/collapsible/root/CollapsibleRootDataAttributes.mjs +18 -0
  154. package/collapsible/root/useCollapsibleRoot.d.mts +2 -1
  155. package/collapsible/root/useCollapsibleRoot.d.ts +2 -1
  156. package/collapsible/root/useCollapsibleRoot.js +6 -4
  157. package/collapsible/root/useCollapsibleRoot.mjs +6 -4
  158. package/collapsible/trigger/CollapsibleTriggerDataAttributes.d.mts +4 -6
  159. package/collapsible/trigger/CollapsibleTriggerDataAttributes.d.ts +4 -6
  160. package/collapsible/trigger/CollapsibleTriggerDataAttributes.js +5 -8
  161. package/collapsible/trigger/CollapsibleTriggerDataAttributes.mjs +4 -7
  162. package/combobox/arrow/ComboboxArrow.d.mts +1 -1
  163. package/combobox/arrow/ComboboxArrow.d.ts +1 -1
  164. package/combobox/arrow/ComboboxArrow.js +1 -3
  165. package/combobox/arrow/ComboboxArrow.mjs +1 -3
  166. package/combobox/arrow/ComboboxArrowDataAttributes.d.mts +22 -24
  167. package/combobox/arrow/ComboboxArrowDataAttributes.d.ts +22 -24
  168. package/combobox/arrow/ComboboxArrowDataAttributes.js +23 -26
  169. package/combobox/arrow/ComboboxArrowDataAttributes.mjs +23 -25
  170. package/combobox/backdrop/ComboboxBackdrop.js +3 -5
  171. package/combobox/backdrop/ComboboxBackdrop.mjs +3 -5
  172. package/combobox/backdrop/ComboboxBackdropDataAttributes.d.mts +16 -18
  173. package/combobox/backdrop/ComboboxBackdropDataAttributes.d.ts +16 -18
  174. package/combobox/backdrop/ComboboxBackdropDataAttributes.js +17 -20
  175. package/combobox/backdrop/ComboboxBackdropDataAttributes.mjs +17 -19
  176. package/combobox/chip/ComboboxChip.js +11 -15
  177. package/combobox/chip/ComboboxChip.mjs +11 -15
  178. package/combobox/chip-remove/ComboboxChipRemove.js +9 -17
  179. package/combobox/chip-remove/ComboboxChipRemove.mjs +9 -17
  180. package/combobox/chips/ComboboxChips.js +4 -6
  181. package/combobox/chips/ComboboxChips.mjs +4 -6
  182. package/combobox/clear/ComboboxClear.js +18 -18
  183. package/combobox/clear/ComboboxClear.mjs +18 -18
  184. package/combobox/clear/ComboboxClearDataAttributes.d.mts +20 -22
  185. package/combobox/clear/ComboboxClearDataAttributes.d.ts +20 -22
  186. package/combobox/clear/ComboboxClearDataAttributes.js +21 -24
  187. package/combobox/clear/ComboboxClearDataAttributes.mjs +21 -23
  188. package/combobox/collection/ComboboxCollection.d.mts +1 -1
  189. package/combobox/collection/ComboboxCollection.d.ts +1 -1
  190. package/combobox/collection/ComboboxCollection.js +0 -3
  191. package/combobox/collection/ComboboxCollection.mjs +0 -3
  192. package/combobox/collection/GroupCollectionContext.d.mts +1 -1
  193. package/combobox/collection/GroupCollectionContext.d.ts +1 -1
  194. package/combobox/empty/ComboboxEmpty.js +1 -1
  195. package/combobox/empty/ComboboxEmpty.mjs +1 -1
  196. package/combobox/group/ComboboxGroup.js +6 -1
  197. package/combobox/group/ComboboxGroup.mjs +6 -1
  198. package/combobox/group-label/ComboboxGroupLabel.js +3 -2
  199. package/combobox/group-label/ComboboxGroupLabel.mjs +3 -2
  200. package/combobox/index.d.mts +4 -1
  201. package/combobox/index.d.ts +4 -1
  202. package/combobox/index.parts.d.mts +3 -2
  203. package/combobox/index.parts.d.ts +3 -2
  204. package/combobox/index.parts.js +10 -3
  205. package/combobox/index.parts.mjs +3 -2
  206. package/combobox/input/ComboboxInput.d.mts +1 -1
  207. package/combobox/input/ComboboxInput.d.ts +1 -1
  208. package/combobox/input/ComboboxInput.js +82 -123
  209. package/combobox/input/ComboboxInput.mjs +83 -124
  210. package/combobox/input/ComboboxInputDataAttributes.d.mts +53 -55
  211. package/combobox/input/ComboboxInputDataAttributes.d.ts +53 -55
  212. package/combobox/input/ComboboxInputDataAttributes.js +54 -57
  213. package/combobox/input/ComboboxInputDataAttributes.mjs +54 -56
  214. package/combobox/input-group/ComboboxInputGroup.d.mts +1 -1
  215. package/combobox/input-group/ComboboxInputGroup.d.ts +1 -1
  216. package/combobox/input-group/ComboboxInputGroup.js +10 -17
  217. package/combobox/input-group/ComboboxInputGroup.mjs +11 -18
  218. package/combobox/input-group/ComboboxInputGroupDataAttributes.d.mts +53 -55
  219. package/combobox/input-group/ComboboxInputGroupDataAttributes.d.ts +53 -55
  220. package/combobox/input-group/ComboboxInputGroupDataAttributes.js +54 -57
  221. package/combobox/input-group/ComboboxInputGroupDataAttributes.mjs +53 -56
  222. package/combobox/item/ComboboxItem.js +45 -45
  223. package/combobox/item/ComboboxItem.mjs +47 -47
  224. package/combobox/item/ComboboxItemDataAttributes.d.mts +12 -14
  225. package/combobox/item/ComboboxItemDataAttributes.d.ts +12 -14
  226. package/combobox/item/ComboboxItemDataAttributes.js +13 -16
  227. package/combobox/item/ComboboxItemDataAttributes.mjs +12 -15
  228. package/combobox/item-indicator/ComboboxItemIndicator.js +3 -2
  229. package/combobox/item-indicator/ComboboxItemIndicator.mjs +3 -2
  230. package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.d.mts +8 -10
  231. package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.d.ts +8 -10
  232. package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.js +9 -12
  233. package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.mjs +9 -11
  234. package/combobox/items/createItems.d.mts +53 -0
  235. package/combobox/items/createItems.d.ts +53 -0
  236. package/combobox/items/createItems.js +93 -0
  237. package/combobox/items/createItems.mjs +88 -0
  238. package/combobox/items/itemCollection.d.mts +39 -0
  239. package/combobox/items/itemCollection.d.ts +39 -0
  240. package/combobox/items/itemCollection.js +33 -0
  241. package/combobox/items/itemCollection.mjs +27 -0
  242. package/combobox/label/ComboboxLabel.js +6 -7
  243. package/combobox/label/ComboboxLabel.mjs +6 -7
  244. package/combobox/list/ComboboxList.js +17 -20
  245. package/combobox/list/ComboboxList.mjs +17 -20
  246. package/combobox/popup/ComboboxPopup.d.mts +1 -1
  247. package/combobox/popup/ComboboxPopup.d.ts +1 -1
  248. package/combobox/popup/ComboboxPopup.js +21 -25
  249. package/combobox/popup/ComboboxPopup.mjs +22 -26
  250. package/combobox/popup/ComboboxPopupDataAttributes.d.mts +34 -37
  251. package/combobox/popup/ComboboxPopupDataAttributes.d.ts +34 -37
  252. package/combobox/popup/ComboboxPopupDataAttributes.js +35 -39
  253. package/combobox/popup/ComboboxPopupDataAttributes.mjs +35 -38
  254. package/combobox/portal/ComboboxPortal.d.mts +6 -2
  255. package/combobox/portal/ComboboxPortal.d.ts +6 -2
  256. package/combobox/portal/ComboboxPortal.js +2 -4
  257. package/combobox/portal/ComboboxPortal.mjs +2 -4
  258. package/combobox/positioner/ComboboxPositioner.d.mts +1 -1
  259. package/combobox/positioner/ComboboxPositioner.d.ts +1 -1
  260. package/combobox/positioner/ComboboxPositioner.js +23 -25
  261. package/combobox/positioner/ComboboxPositioner.mjs +24 -26
  262. package/combobox/positioner/ComboboxPositionerContext.d.mts +1 -1
  263. package/combobox/positioner/ComboboxPositionerContext.d.ts +1 -1
  264. package/combobox/positioner/ComboboxPositionerCssVars.d.mts +25 -27
  265. package/combobox/positioner/ComboboxPositionerCssVars.d.ts +25 -27
  266. package/combobox/positioner/ComboboxPositionerCssVars.js +26 -29
  267. package/combobox/positioner/ComboboxPositionerCssVars.mjs +25 -28
  268. package/combobox/positioner/ComboboxPositionerDataAttributes.d.mts +26 -28
  269. package/combobox/positioner/ComboboxPositionerDataAttributes.d.ts +26 -28
  270. package/combobox/positioner/ComboboxPositionerDataAttributes.js +27 -30
  271. package/combobox/positioner/ComboboxPositionerDataAttributes.mjs +27 -29
  272. package/combobox/root/AriaCombobox.d.mts +37 -21
  273. package/combobox/root/AriaCombobox.d.ts +37 -21
  274. package/combobox/root/AriaCombobox.js +520 -317
  275. package/combobox/root/AriaCombobox.mjs +524 -322
  276. package/combobox/root/ComboboxRoot.d.mts +7 -3
  277. package/combobox/root/ComboboxRoot.d.ts +7 -3
  278. package/combobox/root/ComboboxRootContext.d.mts +5 -1
  279. package/combobox/root/ComboboxRootContext.d.ts +5 -1
  280. package/combobox/root/utils/index.d.mts +5 -2
  281. package/combobox/root/utils/index.d.ts +5 -2
  282. package/combobox/root/utils/index.js +4 -5
  283. package/combobox/root/utils/index.mjs +4 -5
  284. package/combobox/root/utils/useFilter.d.mts +2 -1
  285. package/combobox/root/utils/useFilter.d.ts +2 -1
  286. package/combobox/root/utils/useFilter.js +2 -3
  287. package/combobox/root/utils/useFilter.mjs +2 -3
  288. package/combobox/root/utils/useFilteredItems.d.mts +1 -0
  289. package/combobox/root/utils/useFilteredItems.d.ts +1 -0
  290. package/combobox/root/utils/useFilteredItems.js +1 -0
  291. package/combobox/root/utils/useFilteredItems.mjs +1 -0
  292. package/combobox/separator/ComboboxSeparator.d.mts +26 -0
  293. package/combobox/separator/ComboboxSeparator.d.ts +26 -0
  294. package/combobox/separator/ComboboxSeparator.js +15 -0
  295. package/combobox/separator/ComboboxSeparator.mjs +10 -0
  296. package/combobox/store.d.mts +58 -34
  297. package/combobox/store.d.ts +58 -34
  298. package/combobox/store.js +52 -48
  299. package/combobox/store.mjs +53 -48
  300. package/combobox/trigger/ComboboxTrigger.d.mts +5 -1
  301. package/combobox/trigger/ComboboxTrigger.d.ts +5 -1
  302. package/combobox/trigger/ComboboxTrigger.js +43 -63
  303. package/combobox/trigger/ComboboxTrigger.mjs +45 -64
  304. package/combobox/trigger/ComboboxTriggerDataAttributes.d.mts +57 -59
  305. package/combobox/trigger/ComboboxTriggerDataAttributes.d.ts +57 -59
  306. package/combobox/trigger/ComboboxTriggerDataAttributes.js +58 -61
  307. package/combobox/trigger/ComboboxTriggerDataAttributes.mjs +58 -60
  308. package/combobox/utils/ComboboxInternalDismissButton.d.mts +1 -5
  309. package/combobox/utils/ComboboxInternalDismissButton.d.ts +1 -5
  310. package/combobox/utils/ComboboxInternalDismissButton.js +1 -1
  311. package/combobox/utils/ComboboxInternalDismissButton.mjs +1 -1
  312. package/combobox/utils/handleInputPress.d.mts +1 -1
  313. package/combobox/utils/handleInputPress.d.ts +1 -1
  314. package/combobox/utils/handleInputPress.js +4 -4
  315. package/combobox/utils/handleInputPress.mjs +4 -4
  316. package/combobox/utils/parts.d.mts +24 -0
  317. package/combobox/utils/parts.d.ts +24 -0
  318. package/combobox/utils/parts.js +57 -0
  319. package/combobox/utils/parts.mjs +48 -0
  320. package/combobox/utils/stateAttributesMapping.d.mts +3 -3
  321. package/combobox/utils/stateAttributesMapping.d.ts +3 -3
  322. package/combobox/utils/stateAttributesMapping.js +4 -2
  323. package/combobox/utils/stateAttributesMapping.mjs +3 -2
  324. package/combobox/utils/useInitialLiveRegionTextMutation.js +1 -1
  325. package/combobox/utils/useInitialLiveRegionTextMutation.mjs +1 -1
  326. package/combobox/value/ComboboxValue.d.mts +5 -0
  327. package/combobox/value/ComboboxValue.d.ts +5 -0
  328. package/combobox/value/ComboboxValue.js +6 -8
  329. package/combobox/value/ComboboxValue.mjs +6 -8
  330. package/context-menu/index.d.mts +1 -1
  331. package/context-menu/index.d.ts +1 -1
  332. package/context-menu/index.parts.d.mts +1 -1
  333. package/context-menu/index.parts.d.ts +1 -1
  334. package/context-menu/index.parts.js +2 -2
  335. package/context-menu/index.parts.mjs +1 -1
  336. package/context-menu/positioner/ContextMenuPositioner.d.mts +95 -0
  337. package/context-menu/positioner/ContextMenuPositioner.d.ts +95 -0
  338. package/context-menu/positioner/ContextMenuPositioner.js +15 -0
  339. package/context-menu/positioner/ContextMenuPositioner.mjs +10 -0
  340. package/context-menu/positioner/ContextMenuPositionerCssVars.d.mts +1 -0
  341. package/context-menu/positioner/ContextMenuPositionerCssVars.d.ts +1 -0
  342. package/context-menu/positioner/ContextMenuPositionerCssVars.js +16 -0
  343. package/context-menu/positioner/ContextMenuPositionerCssVars.mjs +1 -0
  344. package/context-menu/positioner/ContextMenuPositionerDataAttributes.d.mts +1 -0
  345. package/context-menu/positioner/ContextMenuPositionerDataAttributes.d.ts +1 -0
  346. package/context-menu/positioner/ContextMenuPositionerDataAttributes.js +16 -0
  347. package/context-menu/positioner/ContextMenuPositionerDataAttributes.mjs +1 -0
  348. package/context-menu/root/ContextMenuRoot.d.mts +9 -2
  349. package/context-menu/root/ContextMenuRoot.d.ts +9 -2
  350. package/context-menu/trigger/ContextMenuTrigger.js +40 -22
  351. package/context-menu/trigger/ContextMenuTrigger.mjs +40 -22
  352. package/context-menu/trigger/ContextMenuTriggerDataAttributes.d.mts +8 -10
  353. package/context-menu/trigger/ContextMenuTriggerDataAttributes.d.ts +8 -10
  354. package/context-menu/trigger/ContextMenuTriggerDataAttributes.js +9 -12
  355. package/context-menu/trigger/ContextMenuTriggerDataAttributes.mjs +9 -11
  356. package/csp-provider/CSPProvider.d.mts +1 -1
  357. package/csp-provider/CSPProvider.d.ts +1 -1
  358. package/dialog/backdrop/DialogBackdrop.js +2 -10
  359. package/dialog/backdrop/DialogBackdrop.mjs +3 -10
  360. package/dialog/backdrop/DialogBackdropDataAttributes.d.mts +16 -18
  361. package/dialog/backdrop/DialogBackdropDataAttributes.d.ts +16 -18
  362. package/dialog/backdrop/DialogBackdropDataAttributes.js +17 -20
  363. package/dialog/backdrop/DialogBackdropDataAttributes.mjs +17 -19
  364. package/dialog/close/DialogClose.js +1 -3
  365. package/dialog/close/DialogClose.mjs +1 -3
  366. package/dialog/close/DialogCloseDataAttributes.d.mts +4 -6
  367. package/dialog/close/DialogCloseDataAttributes.d.ts +4 -6
  368. package/dialog/close/DialogCloseDataAttributes.js +5 -8
  369. package/dialog/close/DialogCloseDataAttributes.mjs +4 -7
  370. package/dialog/description/DialogDescription.js +1 -3
  371. package/dialog/description/DialogDescription.mjs +1 -3
  372. package/dialog/popup/DialogPopup.js +8 -23
  373. package/dialog/popup/DialogPopup.mjs +8 -22
  374. package/dialog/popup/DialogPopupCssVars.d.mts +5 -7
  375. package/dialog/popup/DialogPopupCssVars.d.ts +5 -7
  376. package/dialog/popup/DialogPopupCssVars.js +6 -9
  377. package/dialog/popup/DialogPopupCssVars.mjs +5 -8
  378. package/dialog/popup/DialogPopupDataAttributes.d.mts +24 -26
  379. package/dialog/popup/DialogPopupDataAttributes.d.ts +24 -26
  380. package/dialog/popup/DialogPopupDataAttributes.js +25 -28
  381. package/dialog/popup/DialogPopupDataAttributes.mjs +25 -27
  382. package/dialog/portal/DialogPortal.d.mts +3 -3
  383. package/dialog/portal/DialogPortal.d.ts +3 -3
  384. package/dialog/portal/DialogPortal.js +1 -3
  385. package/dialog/portal/DialogPortal.mjs +1 -3
  386. package/dialog/root/DialogRoot.d.mts +1 -1
  387. package/dialog/root/DialogRoot.d.ts +1 -1
  388. package/dialog/root/DialogRoot.js +6 -8
  389. package/dialog/root/DialogRoot.mjs +5 -6
  390. package/dialog/root/DialogRootContext.d.mts +3 -7
  391. package/dialog/root/DialogRootContext.d.ts +3 -7
  392. package/dialog/root/DialogRootContext.js +4 -6
  393. package/dialog/root/DialogRootContext.mjs +3 -5
  394. package/dialog/root/useDialogRoot.d.mts +0 -6
  395. package/dialog/root/useDialogRoot.d.ts +0 -6
  396. package/dialog/root/useDialogRoot.js +33 -46
  397. package/dialog/root/useDialogRoot.mjs +34 -46
  398. package/dialog/root/useRenderDialogRoot.d.mts +2 -1
  399. package/dialog/root/useRenderDialogRoot.d.ts +2 -1
  400. package/dialog/root/useRenderDialogRoot.js +34 -42
  401. package/dialog/root/useRenderDialogRoot.mjs +36 -44
  402. package/dialog/store/DialogHandle.d.mts +20 -16
  403. package/dialog/store/DialogHandle.d.ts +20 -16
  404. package/dialog/store/DialogHandle.js +32 -27
  405. package/dialog/store/DialogHandle.mjs +33 -28
  406. package/dialog/store/DialogStore.d.mts +14 -4
  407. package/dialog/store/DialogStore.d.ts +14 -4
  408. package/dialog/store/DialogStore.js +50 -40
  409. package/dialog/store/DialogStore.mjs +50 -41
  410. package/dialog/title/DialogTitle.js +1 -3
  411. package/dialog/title/DialogTitle.mjs +1 -3
  412. package/dialog/trigger/DialogTrigger.js +6 -6
  413. package/dialog/trigger/DialogTrigger.mjs +7 -7
  414. package/dialog/trigger/DialogTriggerDataAttributes.d.mts +8 -10
  415. package/dialog/trigger/DialogTriggerDataAttributes.d.ts +8 -10
  416. package/dialog/trigger/DialogTriggerDataAttributes.js +9 -12
  417. package/dialog/trigger/DialogTriggerDataAttributes.mjs +9 -11
  418. package/dialog/utils/stateAttributesMapping.d.mts +12 -0
  419. package/dialog/utils/stateAttributesMapping.d.ts +12 -0
  420. package/dialog/utils/stateAttributesMapping.js +23 -0
  421. package/dialog/utils/stateAttributesMapping.mjs +17 -0
  422. package/dialog/viewport/DialogViewport.js +3 -22
  423. package/dialog/viewport/DialogViewport.mjs +3 -21
  424. package/dialog/viewport/DialogViewportDataAttributes.d.mts +24 -26
  425. package/dialog/viewport/DialogViewportDataAttributes.d.ts +24 -26
  426. package/dialog/viewport/DialogViewportDataAttributes.js +25 -28
  427. package/dialog/viewport/DialogViewportDataAttributes.mjs +25 -27
  428. package/docs/index.md +3 -1
  429. package/docs/react/components/accordion.md +327 -6
  430. package/docs/react/components/alert-dialog.md +401 -37
  431. package/docs/react/components/autocomplete.md +204 -143
  432. package/docs/react/components/avatar.md +64 -11
  433. package/docs/react/components/button.md +7 -3
  434. package/docs/react/components/checkbox.md +21 -21
  435. package/docs/react/components/collapsible.md +28 -1
  436. package/docs/react/components/combobox.md +1041 -249
  437. package/docs/react/components/context-menu.md +517 -132
  438. package/docs/react/components/dialog.md +1031 -312
  439. package/docs/react/components/drawer.md +27 -23
  440. package/docs/react/components/field.md +25 -25
  441. package/docs/react/components/form.md +13 -11
  442. package/docs/react/components/menu.md +164 -143
  443. package/docs/react/components/menubar.md +41 -41
  444. package/docs/react/components/navigation-menu.md +61 -71
  445. package/docs/react/components/number-field.md +6 -6
  446. package/docs/react/components/otp-field.md +20 -18
  447. package/docs/react/components/popover.md +52 -36
  448. package/docs/react/components/preview-card.md +61 -51
  449. package/docs/react/components/progress.md +3 -3
  450. package/docs/react/components/radio.md +1 -1
  451. package/docs/react/components/select.md +64 -62
  452. package/docs/react/components/slider.md +436 -71
  453. package/docs/react/components/tabs.md +276 -5
  454. package/docs/react/components/toast.md +40 -30
  455. package/docs/react/components/toolbar.md +27 -23
  456. package/docs/react/components/tooltip.md +30 -17
  457. package/docs/react/handbook/animation.md +3 -3
  458. package/docs/react/handbook/forms.md +3 -3
  459. package/docs/react/handbook/styling.md +1 -1
  460. package/docs/react/overview/about.md +10 -7
  461. package/docs/react/overview/community.md +5 -7
  462. package/docs/react/overview/quick-start.md +3 -3
  463. package/docs/react/overview/releases/v1-7-0.md +236 -0
  464. package/docs/react/overview/releases/v1-8-0.md +148 -0
  465. package/docs/react/overview/releases.md +20 -2
  466. package/docs/react/utils/direction-provider.md +5 -2
  467. package/docs/react/utils/use-render.md +4 -362
  468. package/drawer/backdrop/DrawerBackdrop.js +6 -14
  469. package/drawer/backdrop/DrawerBackdrop.mjs +5 -12
  470. package/drawer/backdrop/DrawerBackdropCssVars.d.mts +5 -7
  471. package/drawer/backdrop/DrawerBackdropCssVars.d.ts +5 -7
  472. package/drawer/backdrop/DrawerBackdropCssVars.js +6 -9
  473. package/drawer/backdrop/DrawerBackdropCssVars.mjs +5 -8
  474. package/drawer/backdrop/DrawerBackdropDataAttributes.d.mts +16 -18
  475. package/drawer/backdrop/DrawerBackdropDataAttributes.d.ts +16 -18
  476. package/drawer/backdrop/DrawerBackdropDataAttributes.js +17 -20
  477. package/drawer/backdrop/DrawerBackdropDataAttributes.mjs +17 -19
  478. package/drawer/content/DrawerContent.js +2 -2
  479. package/drawer/content/DrawerContent.mjs +1 -1
  480. package/drawer/handle.d.mts +16 -0
  481. package/drawer/handle.d.ts +16 -0
  482. package/drawer/handle.js +25 -0
  483. package/drawer/handle.mjs +18 -0
  484. package/drawer/indent/DrawerIndent.js +10 -10
  485. package/drawer/indent/DrawerIndent.mjs +3 -3
  486. package/drawer/indent-background/DrawerIndentBackground.js +1 -1
  487. package/drawer/indent-background/DrawerIndentBackground.mjs +1 -1
  488. package/drawer/index.parts.d.mts +1 -1
  489. package/drawer/index.parts.d.ts +1 -1
  490. package/drawer/index.parts.js +3 -3
  491. package/drawer/index.parts.mjs +1 -1
  492. package/drawer/popup/DrawerPopup.js +31 -33
  493. package/drawer/popup/DrawerPopup.mjs +14 -16
  494. package/drawer/popup/DrawerPopupCssVars.d.mts +35 -37
  495. package/drawer/popup/DrawerPopupCssVars.d.ts +35 -37
  496. package/drawer/popup/DrawerPopupCssVars.js +36 -39
  497. package/drawer/popup/DrawerPopupCssVars.mjs +35 -38
  498. package/drawer/popup/DrawerPopupDataAttributes.d.mts +41 -43
  499. package/drawer/popup/DrawerPopupDataAttributes.d.ts +41 -43
  500. package/drawer/popup/DrawerPopupDataAttributes.js +42 -45
  501. package/drawer/popup/DrawerPopupDataAttributes.mjs +42 -44
  502. package/drawer/portal/DrawerPortal.d.mts +3 -3
  503. package/drawer/portal/DrawerPortal.d.ts +3 -3
  504. package/drawer/provider/DrawerProvider.d.mts +1 -1
  505. package/drawer/provider/DrawerProvider.d.ts +1 -1
  506. package/drawer/provider/DrawerProvider.js +13 -24
  507. package/drawer/provider/DrawerProvider.mjs +13 -24
  508. package/drawer/provider/DrawerProviderContext.d.mts +3 -4
  509. package/drawer/provider/DrawerProviderContext.d.ts +3 -4
  510. package/drawer/provider/DrawerProviderContext.js +2 -8
  511. package/drawer/provider/DrawerProviderContext.mjs +2 -7
  512. package/drawer/root/DrawerRoot.d.mts +3 -3
  513. package/drawer/root/DrawerRoot.d.ts +3 -3
  514. package/drawer/root/DrawerRoot.js +30 -34
  515. package/drawer/root/DrawerRoot.mjs +31 -35
  516. package/drawer/root/DrawerRootContext.d.mts +7 -2
  517. package/drawer/root/DrawerRootContext.d.ts +7 -2
  518. package/drawer/root/DrawerRootContext.js +1 -1
  519. package/drawer/root/DrawerRootContext.mjs +1 -1
  520. package/drawer/root/useDrawerSnapPoints.d.mts +6 -2
  521. package/drawer/root/useDrawerSnapPoints.d.ts +6 -2
  522. package/drawer/root/useDrawerSnapPoints.js +17 -25
  523. package/drawer/root/useDrawerSnapPoints.mjs +16 -25
  524. package/drawer/swipe-area/DrawerSwipeArea.js +116 -74
  525. package/drawer/swipe-area/DrawerSwipeArea.mjs +96 -54
  526. package/drawer/swipe-area/DrawerSwipeAreaDataAttributes.d.mts +21 -23
  527. package/drawer/swipe-area/DrawerSwipeAreaDataAttributes.d.ts +21 -23
  528. package/drawer/swipe-area/DrawerSwipeAreaDataAttributes.js +22 -25
  529. package/drawer/swipe-area/DrawerSwipeAreaDataAttributes.mjs +22 -24
  530. package/drawer/trigger/DrawerTrigger.d.mts +1 -1
  531. package/drawer/trigger/DrawerTrigger.d.ts +1 -1
  532. package/drawer/viewport/DrawerViewport.js +234 -365
  533. package/drawer/viewport/DrawerViewport.mjs +228 -359
  534. package/drawer/viewport/DrawerViewportContext.d.mts +1 -2
  535. package/drawer/viewport/DrawerViewportContext.d.ts +1 -2
  536. package/drawer/viewport/DrawerViewportContext.js +2 -8
  537. package/drawer/viewport/DrawerViewportContext.mjs +2 -7
  538. package/drawer/viewport/DrawerViewportCssVars.d.mts +6 -8
  539. package/drawer/viewport/DrawerViewportCssVars.d.ts +6 -8
  540. package/drawer/viewport/DrawerViewportCssVars.js +7 -10
  541. package/drawer/viewport/DrawerViewportCssVars.mjs +6 -9
  542. package/drawer/viewport/DrawerViewportDataAttributes.d.mts +20 -22
  543. package/drawer/viewport/DrawerViewportDataAttributes.d.ts +20 -22
  544. package/drawer/viewport/DrawerViewportDataAttributes.js +21 -24
  545. package/drawer/viewport/DrawerViewportDataAttributes.mjs +21 -23
  546. package/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardProvider.d.mts +1 -1
  547. package/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardProvider.d.ts +1 -1
  548. package/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardProvider.js +254 -64
  549. package/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardProvider.mjs +252 -62
  550. package/field/control/FieldControl.js +69 -22
  551. package/field/control/FieldControl.mjs +69 -22
  552. package/field/control/FieldControlDataAttributes.d.mts +28 -30
  553. package/field/control/FieldControlDataAttributes.d.ts +28 -30
  554. package/field/control/FieldControlDataAttributes.js +29 -32
  555. package/field/control/FieldControlDataAttributes.mjs +28 -31
  556. package/field/description/FieldDescriptionDataAttributes.d.mts +28 -30
  557. package/field/description/FieldDescriptionDataAttributes.d.ts +28 -30
  558. package/field/description/FieldDescriptionDataAttributes.js +29 -32
  559. package/field/description/FieldDescriptionDataAttributes.mjs +28 -31
  560. package/field/error/FieldError.js +2 -2
  561. package/field/error/FieldError.mjs +2 -2
  562. package/field/error/FieldErrorDataAttributes.d.mts +36 -38
  563. package/field/error/FieldErrorDataAttributes.d.ts +36 -38
  564. package/field/error/FieldErrorDataAttributes.js +37 -40
  565. package/field/error/FieldErrorDataAttributes.mjs +37 -39
  566. package/field/item/FieldItem.js +0 -5
  567. package/field/item/FieldItem.mjs +0 -5
  568. package/field/item/FieldItemDataAttributes.d.mts +28 -30
  569. package/field/item/FieldItemDataAttributes.d.ts +28 -30
  570. package/field/item/FieldItemDataAttributes.js +29 -32
  571. package/field/item/FieldItemDataAttributes.mjs +28 -31
  572. package/field/label/FieldLabelDataAttributes.d.mts +28 -30
  573. package/field/label/FieldLabelDataAttributes.d.ts +28 -30
  574. package/field/label/FieldLabelDataAttributes.js +29 -32
  575. package/field/label/FieldLabelDataAttributes.mjs +28 -31
  576. package/field/root/FieldRoot.d.mts +3 -2
  577. package/field/root/FieldRoot.d.ts +3 -2
  578. package/field/root/FieldRoot.js +12 -17
  579. package/field/root/FieldRoot.mjs +12 -17
  580. package/field/root/FieldRootDataAttributes.d.mts +28 -30
  581. package/field/root/FieldRootDataAttributes.d.ts +28 -30
  582. package/field/root/FieldRootDataAttributes.js +29 -32
  583. package/field/root/FieldRootDataAttributes.mjs +28 -31
  584. package/field/root/useFieldValidation.d.mts +20 -4
  585. package/field/root/useFieldValidation.d.ts +20 -4
  586. package/field/root/useFieldValidation.js +159 -128
  587. package/field/root/useFieldValidation.mjs +158 -128
  588. package/field/validity/FieldValidity.js +4 -0
  589. package/field/validity/FieldValidity.mjs +4 -0
  590. package/fieldset/legend/FieldsetLegend.js +3 -10
  591. package/fieldset/legend/FieldsetLegend.mjs +4 -10
  592. package/fieldset/root/FieldsetRootContext.d.mts +1 -1
  593. package/fieldset/root/FieldsetRootContext.d.ts +1 -1
  594. package/floating-ui-react/components/FloatingDelayGroup.d.mts +2 -41
  595. package/floating-ui-react/components/FloatingDelayGroup.d.ts +2 -41
  596. package/floating-ui-react/components/FloatingDelayGroup.js +2 -10
  597. package/floating-ui-react/components/FloatingDelayGroup.mjs +2 -10
  598. package/floating-ui-react/components/FloatingFocusManager.d.mts +1 -7
  599. package/floating-ui-react/components/FloatingFocusManager.d.ts +1 -7
  600. package/floating-ui-react/components/FloatingFocusManager.js +41 -27
  601. package/floating-ui-react/components/FloatingFocusManager.mjs +41 -27
  602. package/floating-ui-react/components/FloatingPortal.d.mts +12 -14
  603. package/floating-ui-react/components/FloatingPortal.d.ts +12 -14
  604. package/floating-ui-react/components/FloatingPortal.js +13 -13
  605. package/floating-ui-react/components/FloatingPortal.mjs +13 -13
  606. package/floating-ui-react/components/FloatingRootStore.js +6 -6
  607. package/floating-ui-react/components/FloatingRootStore.mjs +7 -7
  608. package/floating-ui-react/components/FloatingTree.d.mts +1 -19
  609. package/floating-ui-react/components/FloatingTree.d.ts +1 -19
  610. package/floating-ui-react/hooks/useClick.js +5 -1
  611. package/floating-ui-react/hooks/useClick.mjs +6 -2
  612. package/floating-ui-react/hooks/useDismiss.d.mts +1 -1
  613. package/floating-ui-react/hooks/useDismiss.d.ts +1 -1
  614. package/floating-ui-react/hooks/useDismiss.js +67 -12
  615. package/floating-ui-react/hooks/useDismiss.mjs +68 -13
  616. package/floating-ui-react/hooks/useFloating.d.mts +9 -1
  617. package/floating-ui-react/hooks/useFloating.d.ts +9 -1
  618. package/floating-ui-react/hooks/useFloating.js +14 -2
  619. package/floating-ui-react/hooks/useFloating.mjs +13 -2
  620. package/floating-ui-react/hooks/useFloatingRootContext.js +0 -2
  621. package/floating-ui-react/hooks/useFloatingRootContext.mjs +0 -2
  622. package/floating-ui-react/hooks/useFocus.js +1 -0
  623. package/floating-ui-react/hooks/useFocus.mjs +1 -0
  624. package/floating-ui-react/hooks/useHoverReferenceInteraction.d.mts +12 -0
  625. package/floating-ui-react/hooks/useHoverReferenceInteraction.d.ts +12 -0
  626. package/floating-ui-react/hooks/useHoverReferenceInteraction.js +17 -5
  627. package/floating-ui-react/hooks/useHoverReferenceInteraction.mjs +17 -5
  628. package/floating-ui-react/hooks/useListNavigation.js +16 -3
  629. package/floating-ui-react/hooks/useListNavigation.mjs +16 -3
  630. package/floating-ui-react/hooks/useSyncedFloatingRootContext.d.mts +9 -4
  631. package/floating-ui-react/hooks/useSyncedFloatingRootContext.d.ts +9 -4
  632. package/floating-ui-react/hooks/useSyncedFloatingRootContext.js +5 -0
  633. package/floating-ui-react/hooks/useSyncedFloatingRootContext.mjs +6 -0
  634. package/floating-ui-react/hooks/useTypeahead.d.mts +5 -5
  635. package/floating-ui-react/hooks/useTypeahead.d.ts +5 -5
  636. package/floating-ui-react/hooks/useTypeahead.js +9 -14
  637. package/floating-ui-react/hooks/useTypeahead.mjs +9 -14
  638. package/floating-ui-react/index.d.mts +0 -4
  639. package/floating-ui-react/index.d.ts +0 -4
  640. package/floating-ui-react/index.mjs +12 -0
  641. package/floating-ui-react/middleware/arrow.js +11 -4
  642. package/floating-ui-react/middleware/arrow.mjs +11 -4
  643. package/floating-ui-react/utils/composite.js +7 -0
  644. package/floating-ui-react/utils/composite.mjs +7 -0
  645. package/floating-ui-react/utils/element.d.mts +1 -1
  646. package/floating-ui-react/utils/element.d.ts +1 -1
  647. package/floating-ui-react/utils/element.js +5 -3
  648. package/floating-ui-react/utils/element.mjs +4 -3
  649. package/form/Form.d.mts +1 -1
  650. package/form/Form.d.ts +1 -1
  651. package/form/Form.js +74 -53
  652. package/form/Form.mjs +74 -53
  653. package/index.js +1 -1
  654. package/index.mjs +1 -1
  655. package/input/InputDataAttributes.d.mts +28 -30
  656. package/input/InputDataAttributes.d.ts +28 -30
  657. package/input/InputDataAttributes.js +29 -32
  658. package/input/InputDataAttributes.mjs +28 -31
  659. package/internals/PrehydrationScript.d.mts +37 -0
  660. package/internals/PrehydrationScript.d.ts +37 -0
  661. package/internals/PrehydrationScript.js +59 -0
  662. package/internals/PrehydrationScript.mjs +54 -0
  663. package/internals/TransitionStatusDataAttributes.d.mts +8 -0
  664. package/internals/TransitionStatusDataAttributes.d.ts +8 -0
  665. package/internals/TransitionStatusDataAttributes.js +15 -0
  666. package/internals/TransitionStatusDataAttributes.mjs +9 -0
  667. package/internals/composite/composite.d.mts +2 -10
  668. package/internals/composite/composite.d.ts +2 -10
  669. package/internals/composite/composite.js +4 -12
  670. package/internals/composite/composite.mjs +3 -11
  671. package/internals/composite/index.d.mts +2 -1
  672. package/internals/composite/index.d.ts +2 -1
  673. package/internals/composite/index.js +11 -4
  674. package/internals/composite/index.mjs +1 -1
  675. package/internals/composite/item/CompositeItem.d.mts +0 -3
  676. package/internals/composite/item/CompositeItem.d.ts +0 -3
  677. package/internals/composite/item/CompositeItem.js +2 -4
  678. package/internals/composite/item/CompositeItem.mjs +2 -4
  679. package/internals/composite/item/useCompositeItem.d.mts +1 -1
  680. package/internals/composite/item/useCompositeItem.d.ts +1 -1
  681. package/internals/composite/list/CompositeList.d.mts +4 -4
  682. package/internals/composite/list/CompositeList.d.ts +4 -4
  683. package/internals/composite/list/CompositeList.js +173 -86
  684. package/internals/composite/list/CompositeList.mjs +173 -86
  685. package/internals/composite/list/CompositeListContext.d.mts +8 -4
  686. package/internals/composite/list/CompositeListContext.d.ts +8 -4
  687. package/internals/composite/list/CompositeListContext.js +1 -6
  688. package/internals/composite/list/CompositeListContext.mjs +1 -6
  689. package/internals/composite/list/useCompositeListItem.d.mts +11 -8
  690. package/internals/composite/list/useCompositeListItem.d.ts +11 -8
  691. package/internals/composite/list/useCompositeListItem.js +25 -32
  692. package/internals/composite/list/useCompositeListItem.mjs +25 -32
  693. package/internals/composite/root/CompositeRoot.d.mts +2 -5
  694. package/internals/composite/root/CompositeRoot.d.ts +2 -5
  695. package/internals/composite/root/CompositeRoot.js +0 -3
  696. package/internals/composite/root/CompositeRoot.mjs +0 -3
  697. package/internals/composite/root/useCompositeRoot.d.mts +0 -1
  698. package/internals/composite/root/useCompositeRoot.d.ts +0 -1
  699. package/internals/composite/root/useCompositeRoot.js +64 -42
  700. package/internals/composite/root/useCompositeRoot.mjs +64 -42
  701. package/internals/createBaseUIEventDetails.d.mts +1 -1
  702. package/internals/createBaseUIEventDetails.d.ts +1 -1
  703. package/internals/csp-context/CSPContext.d.mts +0 -6
  704. package/internals/csp-context/CSPContext.d.ts +0 -6
  705. package/internals/csp-context/CSPContext.js +0 -7
  706. package/internals/csp-context/CSPContext.mjs +0 -7
  707. package/internals/direction-context/DirectionContext.d.mts +0 -3
  708. package/internals/direction-context/DirectionContext.d.ts +0 -3
  709. package/internals/direction-context/DirectionContext.js +0 -3
  710. package/internals/direction-context/DirectionContext.mjs +0 -3
  711. package/internals/field-constants/constants.js +4 -3
  712. package/internals/field-constants/constants.mjs +1 -1
  713. package/internals/field-register-control/useFieldControlRegistration.d.mts +2 -1
  714. package/internals/field-register-control/useFieldControlRegistration.d.ts +2 -1
  715. package/internals/field-register-control/useFieldControlRegistration.js +29 -16
  716. package/internals/field-register-control/useFieldControlRegistration.mjs +29 -16
  717. package/internals/field-register-control/useRegisterFieldControl.js +13 -9
  718. package/internals/field-register-control/useRegisterFieldControl.mjs +13 -8
  719. package/internals/field-root-context/FieldRootContext.d.mts +0 -7
  720. package/internals/field-root-context/FieldRootContext.d.ts +0 -7
  721. package/internals/field-root-context/FieldRootContext.js +2 -9
  722. package/internals/field-root-context/FieldRootContext.mjs +3 -10
  723. package/internals/filter.js +1 -1
  724. package/internals/filter.mjs +1 -1
  725. package/internals/form-context/FormContext.d.mts +2 -1
  726. package/internals/form-context/FormContext.d.ts +2 -1
  727. package/internals/form-context/FormContext.js +5 -2
  728. package/internals/form-context/FormContext.mjs +5 -2
  729. package/{utils → internals}/getDisabledMountTransitionStyles.d.mts +1 -1
  730. package/{utils → internals}/getDisabledMountTransitionStyles.d.ts +1 -1
  731. package/{utils → internals}/getDisabledMountTransitionStyles.js +1 -1
  732. package/{utils → internals}/getDisabledMountTransitionStyles.mjs +1 -1
  733. package/internals/itemEquality.d.mts +4 -0
  734. package/internals/itemEquality.d.ts +4 -0
  735. package/internals/itemEquality.js +44 -2
  736. package/internals/itemEquality.mjs +41 -2
  737. package/internals/labelable-provider/LabelableContext.d.mts +3 -1
  738. package/internals/labelable-provider/LabelableContext.d.ts +3 -1
  739. package/internals/labelable-provider/LabelableContext.js +1 -0
  740. package/internals/labelable-provider/LabelableContext.mjs +1 -0
  741. package/internals/labelable-provider/LabelableProvider.d.mts +0 -5
  742. package/internals/labelable-provider/LabelableProvider.d.ts +0 -5
  743. package/internals/labelable-provider/LabelableProvider.js +21 -15
  744. package/internals/labelable-provider/LabelableProvider.mjs +21 -16
  745. package/internals/labelable-provider/useAriaLabelledBy.d.mts +0 -3
  746. package/internals/labelable-provider/useAriaLabelledBy.d.ts +0 -3
  747. package/internals/labelable-provider/useAriaLabelledBy.js +0 -3
  748. package/internals/labelable-provider/useAriaLabelledBy.mjs +0 -4
  749. package/internals/labelable-provider/useLabel.d.mts +3 -3
  750. package/internals/labelable-provider/useLabel.d.ts +3 -3
  751. package/internals/labelable-provider/useLabel.js +1 -1
  752. package/internals/labelable-provider/useLabel.mjs +1 -1
  753. package/internals/labelable-provider/useLabelableId.d.mts +6 -7
  754. package/internals/labelable-provider/useLabelableId.d.ts +6 -7
  755. package/internals/labelable-provider/useLabelableId.js +28 -21
  756. package/internals/labelable-provider/useLabelableId.mjs +28 -21
  757. package/internals/prehydrationScript.stub.d.mts +1 -0
  758. package/internals/prehydrationScript.stub.d.ts +1 -0
  759. package/internals/prehydrationScript.stub.js +12 -0
  760. package/internals/prehydrationScript.stub.mjs +6 -0
  761. package/internals/resolveValueLabel.d.mts +1 -0
  762. package/internals/resolveValueLabel.d.ts +1 -0
  763. package/internals/resolveValueLabel.js +13 -3
  764. package/internals/resolveValueLabel.mjs +12 -3
  765. package/internals/stateAttributesMapping.d.mts +2 -10
  766. package/internals/stateAttributesMapping.d.ts +2 -10
  767. package/internals/stateAttributesMapping.js +3 -11
  768. package/internals/stateAttributesMapping.mjs +2 -11
  769. package/internals/temporal-adapter-luxon/TemporalAdapterLuxon.d.mts +1 -1
  770. package/internals/temporal-adapter-luxon/TemporalAdapterLuxon.d.ts +1 -1
  771. package/internals/use-button/useButton.js +30 -14
  772. package/internals/use-button/useButton.mjs +30 -14
  773. package/{utils → internals}/useAnchorPositioning.d.mts +11 -4
  774. package/{utils → internals}/useAnchorPositioning.d.ts +11 -4
  775. package/{utils → internals}/useAnchorPositioning.js +129 -91
  776. package/{utils → internals}/useAnchorPositioning.mjs +128 -91
  777. package/internals/useAnimationsFinished.d.mts +5 -3
  778. package/internals/useAnimationsFinished.d.ts +5 -3
  779. package/internals/useAnimationsFinished.js +51 -14
  780. package/internals/useAnimationsFinished.mjs +49 -13
  781. package/internals/useOpenChangeComplete.d.mts +6 -0
  782. package/internals/useOpenChangeComplete.d.ts +6 -0
  783. package/internals/useOpenChangeComplete.js +2 -1
  784. package/internals/useOpenChangeComplete.mjs +2 -1
  785. package/internals/usePressAndHold.d.mts +0 -1
  786. package/internals/usePressAndHold.d.ts +0 -1
  787. package/internals/usePressAndHold.js +12 -8
  788. package/internals/usePressAndHold.mjs +12 -8
  789. package/internals/useRenderElement.js +31 -19
  790. package/internals/useRenderElement.mjs +31 -19
  791. package/internals/useTransitionStatus.d.mts +5 -1
  792. package/internals/useTransitionStatus.d.ts +5 -1
  793. package/internals/useTransitionStatus.js +9 -2
  794. package/internals/useTransitionStatus.mjs +9 -2
  795. package/internals/useValueChanged.js +3 -6
  796. package/internals/useValueChanged.mjs +3 -6
  797. package/menu/arrow/MenuArrow.d.mts +1 -1
  798. package/menu/arrow/MenuArrow.d.ts +1 -1
  799. package/menu/arrow/MenuArrowDataAttributes.d.mts +22 -24
  800. package/menu/arrow/MenuArrowDataAttributes.d.ts +22 -24
  801. package/menu/arrow/MenuArrowDataAttributes.js +23 -26
  802. package/menu/arrow/MenuArrowDataAttributes.mjs +23 -25
  803. package/menu/backdrop/MenuBackdrop.js +1 -7
  804. package/menu/backdrop/MenuBackdrop.mjs +2 -7
  805. package/menu/backdrop/MenuBackdropDataAttributes.d.mts +16 -18
  806. package/menu/backdrop/MenuBackdropDataAttributes.d.ts +16 -18
  807. package/menu/backdrop/MenuBackdropDataAttributes.js +17 -20
  808. package/menu/backdrop/MenuBackdropDataAttributes.mjs +17 -19
  809. package/menu/checkbox-item/MenuCheckboxItem.js +6 -2
  810. package/menu/checkbox-item/MenuCheckboxItem.mjs +6 -2
  811. package/menu/checkbox-item/MenuCheckboxItemDataAttributes.d.mts +16 -18
  812. package/menu/checkbox-item/MenuCheckboxItemDataAttributes.d.ts +16 -18
  813. package/menu/checkbox-item/MenuCheckboxItemDataAttributes.js +17 -20
  814. package/menu/checkbox-item/MenuCheckboxItemDataAttributes.mjs +16 -19
  815. package/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.js +4 -1
  816. package/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.mjs +4 -1
  817. package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.d.mts +20 -22
  818. package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.d.ts +20 -22
  819. package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.js +21 -24
  820. package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.mjs +21 -23
  821. package/menu/group/MenuGroupContext.d.mts +1 -1
  822. package/menu/group/MenuGroupContext.d.ts +1 -1
  823. package/menu/group-label/MenuGroupLabel.js +2 -2
  824. package/menu/group-label/MenuGroupLabel.mjs +2 -2
  825. package/menu/item/MenuItem.js +4 -1
  826. package/menu/item/MenuItem.mjs +4 -1
  827. package/menu/item/MenuItemDataAttributes.d.mts +8 -10
  828. package/menu/item/MenuItemDataAttributes.d.ts +8 -10
  829. package/menu/item/MenuItemDataAttributes.js +9 -12
  830. package/menu/item/MenuItemDataAttributes.mjs +8 -11
  831. package/menu/item/useMenuItem.js +1 -3
  832. package/menu/item/useMenuItem.mjs +1 -3
  833. package/menu/item/useMenuItemCommonProps.d.mts +2 -3
  834. package/menu/item/useMenuItemCommonProps.d.ts +2 -3
  835. package/menu/item/useMenuItemCommonProps.js +7 -2
  836. package/menu/item/useMenuItemCommonProps.mjs +7 -2
  837. package/menu/link-item/MenuLinkItem.d.mts +1 -1
  838. package/menu/link-item/MenuLinkItem.d.ts +1 -1
  839. package/menu/link-item/MenuLinkItem.js +4 -1
  840. package/menu/link-item/MenuLinkItem.mjs +4 -1
  841. package/menu/link-item/MenuLinkItemDataAttributes.d.mts +4 -6
  842. package/menu/link-item/MenuLinkItemDataAttributes.d.ts +4 -6
  843. package/menu/link-item/MenuLinkItemDataAttributes.js +5 -8
  844. package/menu/link-item/MenuLinkItemDataAttributes.mjs +4 -7
  845. package/menu/popup/MenuPopup.d.mts +1 -1
  846. package/menu/popup/MenuPopup.d.ts +1 -1
  847. package/menu/popup/MenuPopup.js +5 -14
  848. package/menu/popup/MenuPopup.mjs +7 -15
  849. package/menu/popup/MenuPopupDataAttributes.d.mts +31 -33
  850. package/menu/popup/MenuPopupDataAttributes.d.ts +31 -33
  851. package/menu/popup/MenuPopupDataAttributes.js +32 -35
  852. package/menu/popup/MenuPopupDataAttributes.mjs +32 -34
  853. package/menu/portal/MenuPortal.d.mts +6 -2
  854. package/menu/portal/MenuPortal.d.ts +6 -2
  855. package/menu/portal/MenuPortal.js +9 -2
  856. package/menu/portal/MenuPortal.mjs +9 -2
  857. package/menu/positioner/MenuPositioner.d.mts +18 -2
  858. package/menu/positioner/MenuPositioner.d.ts +18 -2
  859. package/menu/positioner/MenuPositioner.js +8 -6
  860. package/menu/positioner/MenuPositioner.mjs +8 -6
  861. package/menu/positioner/MenuPositionerContext.d.mts +1 -1
  862. package/menu/positioner/MenuPositionerContext.d.ts +1 -1
  863. package/menu/positioner/MenuPositionerCssVars.d.mts +37 -27
  864. package/menu/positioner/MenuPositionerCssVars.d.ts +37 -27
  865. package/menu/positioner/MenuPositionerCssVars.js +38 -29
  866. package/menu/positioner/MenuPositionerCssVars.mjs +37 -28
  867. package/menu/positioner/MenuPositionerDataAttributes.d.mts +22 -24
  868. package/menu/positioner/MenuPositionerDataAttributes.d.ts +22 -24
  869. package/menu/positioner/MenuPositionerDataAttributes.js +23 -26
  870. package/menu/positioner/MenuPositionerDataAttributes.mjs +23 -25
  871. package/menu/radio-item/MenuRadioItem.js +5 -2
  872. package/menu/radio-item/MenuRadioItem.mjs +5 -2
  873. package/menu/radio-item/MenuRadioItemDataAttributes.d.mts +16 -18
  874. package/menu/radio-item/MenuRadioItemDataAttributes.d.ts +16 -18
  875. package/menu/radio-item/MenuRadioItemDataAttributes.js +17 -20
  876. package/menu/radio-item/MenuRadioItemDataAttributes.mjs +16 -19
  877. package/menu/radio-item-indicator/MenuRadioItemIndicator.js +4 -1
  878. package/menu/radio-item-indicator/MenuRadioItemIndicator.mjs +4 -1
  879. package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.d.mts +20 -22
  880. package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.d.ts +20 -22
  881. package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.js +21 -24
  882. package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.mjs +21 -23
  883. package/menu/root/MenuRoot.d.mts +12 -8
  884. package/menu/root/MenuRoot.d.ts +12 -8
  885. package/menu/root/MenuRoot.js +132 -30
  886. package/menu/root/MenuRoot.mjs +134 -32
  887. package/menu/store/MenuHandle.d.mts +18 -10
  888. package/menu/store/MenuHandle.d.ts +18 -10
  889. package/menu/store/MenuHandle.js +21 -20
  890. package/menu/store/MenuHandle.mjs +22 -19
  891. package/menu/store/MenuStore.d.mts +24 -9
  892. package/menu/store/MenuStore.d.ts +24 -9
  893. package/menu/store/MenuStore.js +78 -59
  894. package/menu/store/MenuStore.mjs +79 -61
  895. package/menu/submenu-root/MenuSubmenuRoot.d.mts +1 -1
  896. package/menu/submenu-root/MenuSubmenuRoot.d.ts +1 -1
  897. package/menu/submenu-trigger/MenuSubmenuTrigger.d.mts +1 -0
  898. package/menu/submenu-trigger/MenuSubmenuTrigger.d.ts +1 -0
  899. package/menu/submenu-trigger/MenuSubmenuTrigger.js +45 -13
  900. package/menu/submenu-trigger/MenuSubmenuTrigger.mjs +44 -13
  901. package/menu/submenu-trigger/MenuSubmenuTriggerDataAttributes.d.mts +12 -14
  902. package/menu/submenu-trigger/MenuSubmenuTriggerDataAttributes.d.ts +12 -14
  903. package/menu/submenu-trigger/MenuSubmenuTriggerDataAttributes.js +13 -16
  904. package/menu/submenu-trigger/MenuSubmenuTriggerDataAttributes.mjs +13 -15
  905. package/menu/trigger/MenuTrigger.js +7 -22
  906. package/menu/trigger/MenuTrigger.mjs +10 -24
  907. package/menu/trigger/MenuTriggerDataAttributes.d.mts +12 -10
  908. package/menu/trigger/MenuTriggerDataAttributes.d.ts +12 -10
  909. package/menu/trigger/MenuTriggerDataAttributes.js +13 -12
  910. package/menu/trigger/MenuTriggerDataAttributes.mjs +13 -11
  911. package/menu/utils/findRootOwnerId.js +1 -1
  912. package/menu/utils/findRootOwnerId.mjs +1 -1
  913. package/menu/utils/stateAttributesMapping.js +4 -3
  914. package/menu/utils/stateAttributesMapping.mjs +1 -1
  915. package/menu/viewport/MenuViewport.js +1 -9
  916. package/menu/viewport/MenuViewport.mjs +2 -9
  917. package/menu/viewport/MenuViewportCssVars.d.mts +12 -14
  918. package/menu/viewport/MenuViewportCssVars.d.ts +12 -14
  919. package/menu/viewport/MenuViewportCssVars.js +13 -16
  920. package/menu/viewport/MenuViewportCssVars.mjs +12 -15
  921. package/menu/viewport/MenuViewportDataAttributes.d.mts +24 -26
  922. package/menu/viewport/MenuViewportDataAttributes.d.ts +24 -26
  923. package/menu/viewport/MenuViewportDataAttributes.js +25 -28
  924. package/menu/viewport/MenuViewportDataAttributes.mjs +24 -27
  925. package/menubar/Menubar.js +4 -3
  926. package/menubar/Menubar.mjs +3 -2
  927. package/menubar/MenubarDataAttributes.d.mts +13 -15
  928. package/menubar/MenubarDataAttributes.d.ts +13 -15
  929. package/menubar/MenubarDataAttributes.js +14 -17
  930. package/menubar/MenubarDataAttributes.mjs +13 -16
  931. package/meter/root/MeterRoot.js +6 -8
  932. package/meter/root/MeterRoot.mjs +6 -8
  933. package/meter/root/MeterRootContext.d.mts +0 -2
  934. package/meter/root/MeterRootContext.d.ts +0 -2
  935. package/navigation-menu/arrow/NavigationMenuArrow.d.mts +1 -1
  936. package/navigation-menu/arrow/NavigationMenuArrow.d.ts +1 -1
  937. package/navigation-menu/arrow/NavigationMenuArrow.js +1 -1
  938. package/navigation-menu/arrow/NavigationMenuArrow.mjs +1 -1
  939. package/navigation-menu/arrow/NavigationMenuArrowDataAttributes.d.mts +22 -24
  940. package/navigation-menu/arrow/NavigationMenuArrowDataAttributes.d.ts +22 -24
  941. package/navigation-menu/arrow/NavigationMenuArrowDataAttributes.js +23 -26
  942. package/navigation-menu/arrow/NavigationMenuArrowDataAttributes.mjs +23 -25
  943. package/navigation-menu/backdrop/NavigationMenuBackdrop.js +1 -7
  944. package/navigation-menu/backdrop/NavigationMenuBackdrop.mjs +2 -7
  945. package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.d.mts +16 -18
  946. package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.d.ts +16 -18
  947. package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.js +17 -20
  948. package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.mjs +17 -19
  949. package/navigation-menu/content/NavigationMenuContent.js +2 -1
  950. package/navigation-menu/content/NavigationMenuContent.mjs +2 -1
  951. package/navigation-menu/content/NavigationMenuContentDataAttributes.d.mts +21 -23
  952. package/navigation-menu/content/NavigationMenuContentDataAttributes.d.ts +21 -23
  953. package/navigation-menu/content/NavigationMenuContentDataAttributes.js +22 -25
  954. package/navigation-menu/content/NavigationMenuContentDataAttributes.mjs +22 -24
  955. package/navigation-menu/icon/NavigationMenuIconDataAttributes.d.mts +4 -6
  956. package/navigation-menu/icon/NavigationMenuIconDataAttributes.d.ts +4 -6
  957. package/navigation-menu/icon/NavigationMenuIconDataAttributes.js +5 -8
  958. package/navigation-menu/icon/NavigationMenuIconDataAttributes.mjs +5 -7
  959. package/navigation-menu/link/NavigationMenuLink.d.mts +1 -1
  960. package/navigation-menu/link/NavigationMenuLink.d.ts +1 -1
  961. package/navigation-menu/link/NavigationMenuLinkDataAttributes.d.mts +4 -6
  962. package/navigation-menu/link/NavigationMenuLinkDataAttributes.d.ts +4 -6
  963. package/navigation-menu/link/NavigationMenuLinkDataAttributes.js +5 -8
  964. package/navigation-menu/link/NavigationMenuLinkDataAttributes.mjs +4 -7
  965. package/navigation-menu/popup/NavigationMenuPopup.d.mts +1 -1
  966. package/navigation-menu/popup/NavigationMenuPopup.d.ts +1 -1
  967. package/navigation-menu/popup/NavigationMenuPopup.js +2 -8
  968. package/navigation-menu/popup/NavigationMenuPopup.mjs +3 -8
  969. package/navigation-menu/popup/NavigationMenuPopupCssVars.d.mts +10 -12
  970. package/navigation-menu/popup/NavigationMenuPopupCssVars.d.ts +10 -12
  971. package/navigation-menu/popup/NavigationMenuPopupCssVars.js +11 -14
  972. package/navigation-menu/popup/NavigationMenuPopupCssVars.mjs +10 -13
  973. package/navigation-menu/popup/NavigationMenuPopupDataAttributes.d.mts +30 -32
  974. package/navigation-menu/popup/NavigationMenuPopupDataAttributes.d.ts +30 -32
  975. package/navigation-menu/popup/NavigationMenuPopupDataAttributes.js +31 -34
  976. package/navigation-menu/popup/NavigationMenuPopupDataAttributes.mjs +31 -33
  977. package/navigation-menu/portal/NavigationMenuPortal.d.mts +3 -3
  978. package/navigation-menu/portal/NavigationMenuPortal.d.ts +3 -3
  979. package/navigation-menu/positioner/NavigationMenuPositioner.d.mts +1 -1
  980. package/navigation-menu/positioner/NavigationMenuPositioner.d.ts +1 -1
  981. package/navigation-menu/positioner/NavigationMenuPositioner.js +7 -6
  982. package/navigation-menu/positioner/NavigationMenuPositioner.mjs +7 -6
  983. package/navigation-menu/positioner/NavigationMenuPositionerContext.d.mts +2 -2
  984. package/navigation-menu/positioner/NavigationMenuPositionerContext.d.ts +2 -2
  985. package/navigation-menu/positioner/NavigationMenuPositionerCssVars.d.mts +35 -37
  986. package/navigation-menu/positioner/NavigationMenuPositionerCssVars.d.ts +35 -37
  987. package/navigation-menu/positioner/NavigationMenuPositionerCssVars.js +36 -39
  988. package/navigation-menu/positioner/NavigationMenuPositionerCssVars.mjs +35 -38
  989. package/navigation-menu/positioner/NavigationMenuPositionerDataAttributes.d.mts +26 -28
  990. package/navigation-menu/positioner/NavigationMenuPositionerDataAttributes.d.ts +26 -28
  991. package/navigation-menu/positioner/NavigationMenuPositionerDataAttributes.js +27 -30
  992. package/navigation-menu/positioner/NavigationMenuPositionerDataAttributes.mjs +27 -29
  993. package/navigation-menu/root/NavigationMenuRoot.js +3 -3
  994. package/navigation-menu/root/NavigationMenuRoot.mjs +1 -1
  995. package/navigation-menu/trigger/NavigationMenuTrigger.d.mts +11 -1
  996. package/navigation-menu/trigger/NavigationMenuTrigger.d.ts +11 -1
  997. package/navigation-menu/trigger/NavigationMenuTrigger.js +72 -122
  998. package/navigation-menu/trigger/NavigationMenuTrigger.mjs +72 -122
  999. package/navigation-menu/trigger/NavigationMenuTriggerDataAttributes.d.mts +12 -10
  1000. package/navigation-menu/trigger/NavigationMenuTriggerDataAttributes.d.ts +12 -10
  1001. package/navigation-menu/trigger/NavigationMenuTriggerDataAttributes.js +13 -12
  1002. package/navigation-menu/trigger/NavigationMenuTriggerDataAttributes.mjs +13 -11
  1003. package/navigation-menu/utils/isOutsideMenuEvent.js +2 -5
  1004. package/navigation-menu/utils/isOutsideMenuEvent.mjs +2 -5
  1005. package/navigation-menu/utils/setSharedFixedSize.js +7 -6
  1006. package/navigation-menu/utils/setSharedFixedSize.mjs +2 -2
  1007. package/navigation-menu/utils/useNavigationMenuAnchorPositioning.d.mts +6 -0
  1008. package/navigation-menu/utils/useNavigationMenuAnchorPositioning.d.ts +6 -0
  1009. package/navigation-menu/utils/useNavigationMenuAnchorPositioning.js +16 -0
  1010. package/navigation-menu/utils/useNavigationMenuAnchorPositioning.mjs +12 -0
  1011. package/number-field/decrement/NumberFieldDecrementDataAttributes.d.mts +40 -42
  1012. package/number-field/decrement/NumberFieldDecrementDataAttributes.d.ts +40 -42
  1013. package/number-field/decrement/NumberFieldDecrementDataAttributes.js +41 -44
  1014. package/number-field/decrement/NumberFieldDecrementDataAttributes.mjs +40 -43
  1015. package/number-field/group/NumberFieldGroupDataAttributes.d.mts +40 -42
  1016. package/number-field/group/NumberFieldGroupDataAttributes.d.ts +40 -42
  1017. package/number-field/group/NumberFieldGroupDataAttributes.js +41 -44
  1018. package/number-field/group/NumberFieldGroupDataAttributes.mjs +40 -43
  1019. package/number-field/increment/NumberFieldIncrementDataAttributes.d.mts +40 -42
  1020. package/number-field/increment/NumberFieldIncrementDataAttributes.d.ts +40 -42
  1021. package/number-field/increment/NumberFieldIncrementDataAttributes.js +41 -44
  1022. package/number-field/increment/NumberFieldIncrementDataAttributes.mjs +40 -43
  1023. package/number-field/input/NumberFieldInput.d.mts +1 -1
  1024. package/number-field/input/NumberFieldInput.d.ts +1 -1
  1025. package/number-field/input/NumberFieldInput.js +41 -37
  1026. package/number-field/input/NumberFieldInput.mjs +42 -38
  1027. package/number-field/input/NumberFieldInputDataAttributes.d.mts +40 -42
  1028. package/number-field/input/NumberFieldInputDataAttributes.d.ts +40 -42
  1029. package/number-field/input/NumberFieldInputDataAttributes.js +41 -44
  1030. package/number-field/input/NumberFieldInputDataAttributes.mjs +40 -43
  1031. package/number-field/root/NumberFieldRoot.js +69 -61
  1032. package/number-field/root/NumberFieldRoot.mjs +70 -62
  1033. package/number-field/root/NumberFieldRootContext.d.mts +1 -7
  1034. package/number-field/root/NumberFieldRootContext.d.ts +1 -7
  1035. package/number-field/root/NumberFieldRootDataAttributes.d.mts +40 -42
  1036. package/number-field/root/NumberFieldRootDataAttributes.d.ts +40 -42
  1037. package/number-field/root/NumberFieldRootDataAttributes.js +41 -44
  1038. package/number-field/root/NumberFieldRootDataAttributes.mjs +40 -43
  1039. package/number-field/root/useNumberFieldStepperButton.js +109 -21
  1040. package/number-field/root/useNumberFieldStepperButton.mjs +109 -21
  1041. package/number-field/scrub-area/NumberFieldScrubArea.js +30 -33
  1042. package/number-field/scrub-area/NumberFieldScrubArea.mjs +30 -33
  1043. package/number-field/scrub-area/NumberFieldScrubAreaDataAttributes.d.mts +40 -42
  1044. package/number-field/scrub-area/NumberFieldScrubAreaDataAttributes.d.ts +40 -42
  1045. package/number-field/scrub-area/NumberFieldScrubAreaDataAttributes.js +41 -44
  1046. package/number-field/scrub-area/NumberFieldScrubAreaDataAttributes.mjs +40 -43
  1047. package/number-field/scrub-area-cursor/NumberFieldScrubAreaCursorDataAttributes.d.mts +40 -42
  1048. package/number-field/scrub-area-cursor/NumberFieldScrubAreaCursorDataAttributes.d.ts +40 -42
  1049. package/number-field/scrub-area-cursor/NumberFieldScrubAreaCursorDataAttributes.js +41 -44
  1050. package/number-field/scrub-area-cursor/NumberFieldScrubAreaCursorDataAttributes.mjs +40 -43
  1051. package/number-field/utils/constants.d.mts +1 -2
  1052. package/number-field/utils/constants.d.ts +1 -2
  1053. package/number-field/utils/constants.js +2 -3
  1054. package/number-field/utils/constants.mjs +1 -2
  1055. package/number-field/utils/parse.d.mts +27 -15
  1056. package/number-field/utils/parse.d.ts +27 -15
  1057. package/number-field/utils/parse.js +75 -136
  1058. package/number-field/utils/parse.mjs +74 -135
  1059. package/number-field/utils/types.d.mts +2 -1
  1060. package/number-field/utils/types.d.ts +2 -1
  1061. package/number-field/utils/validate.d.mts +1 -19
  1062. package/number-field/utils/validate.d.ts +1 -19
  1063. package/number-field/utils/validate.js +8 -16
  1064. package/number-field/utils/validate.mjs +8 -16
  1065. package/otp-field/input/OTPFieldInput.d.mts +1 -1
  1066. package/otp-field/input/OTPFieldInput.d.ts +1 -1
  1067. package/otp-field/input/OTPFieldInput.js +4 -1
  1068. package/otp-field/input/OTPFieldInput.mjs +5 -2
  1069. package/otp-field/input/OTPFieldInputDataAttributes.d.mts +40 -42
  1070. package/otp-field/input/OTPFieldInputDataAttributes.d.ts +40 -42
  1071. package/otp-field/input/OTPFieldInputDataAttributes.js +41 -44
  1072. package/otp-field/input/OTPFieldInputDataAttributes.mjs +40 -43
  1073. package/otp-field/root/OTPFieldRoot.js +14 -15
  1074. package/otp-field/root/OTPFieldRoot.mjs +14 -15
  1075. package/otp-field/root/OTPFieldRootDataAttributes.d.mts +40 -42
  1076. package/otp-field/root/OTPFieldRootDataAttributes.d.ts +40 -42
  1077. package/otp-field/root/OTPFieldRootDataAttributes.js +41 -44
  1078. package/otp-field/root/OTPFieldRootDataAttributes.mjs +40 -43
  1079. package/package.json +94 -48
  1080. package/popover/arrow/PopoverArrow.d.mts +1 -1
  1081. package/popover/arrow/PopoverArrow.d.ts +1 -1
  1082. package/popover/arrow/PopoverArrow.js +1 -3
  1083. package/popover/arrow/PopoverArrow.mjs +1 -3
  1084. package/popover/arrow/PopoverArrowDataAttributes.d.mts +22 -24
  1085. package/popover/arrow/PopoverArrowDataAttributes.d.ts +22 -24
  1086. package/popover/arrow/PopoverArrowDataAttributes.js +23 -26
  1087. package/popover/arrow/PopoverArrowDataAttributes.mjs +23 -25
  1088. package/popover/backdrop/PopoverBackdrop.js +3 -11
  1089. package/popover/backdrop/PopoverBackdrop.mjs +4 -11
  1090. package/popover/backdrop/PopoverBackdropDataAttributes.d.mts +16 -18
  1091. package/popover/backdrop/PopoverBackdropDataAttributes.d.ts +16 -18
  1092. package/popover/backdrop/PopoverBackdropDataAttributes.js +17 -20
  1093. package/popover/backdrop/PopoverBackdropDataAttributes.mjs +17 -19
  1094. package/popover/close/PopoverClose.js +1 -3
  1095. package/popover/close/PopoverClose.mjs +1 -3
  1096. package/popover/description/PopoverDescription.js +1 -3
  1097. package/popover/description/PopoverDescription.mjs +1 -3
  1098. package/popover/popup/PopoverPopup.d.mts +1 -1
  1099. package/popover/popup/PopoverPopup.d.ts +1 -1
  1100. package/popover/popup/PopoverPopup.js +6 -17
  1101. package/popover/popup/PopoverPopup.mjs +9 -19
  1102. package/popover/popup/PopoverPopupCssVars.d.mts +8 -10
  1103. package/popover/popup/PopoverPopupCssVars.d.ts +8 -10
  1104. package/popover/popup/PopoverPopupCssVars.js +9 -12
  1105. package/popover/popup/PopoverPopupCssVars.mjs +8 -11
  1106. package/popover/popup/PopoverPopupDataAttributes.d.mts +31 -33
  1107. package/popover/popup/PopoverPopupDataAttributes.d.ts +31 -33
  1108. package/popover/popup/PopoverPopupDataAttributes.js +32 -35
  1109. package/popover/popup/PopoverPopupDataAttributes.mjs +32 -34
  1110. package/popover/portal/PopoverPortal.d.mts +6 -2
  1111. package/popover/portal/PopoverPortal.d.ts +6 -2
  1112. package/popover/portal/PopoverPortal.js +1 -3
  1113. package/popover/portal/PopoverPortal.mjs +1 -3
  1114. package/popover/positioner/PopoverPositioner.d.mts +1 -1
  1115. package/popover/positioner/PopoverPositioner.d.ts +1 -1
  1116. package/popover/positioner/PopoverPositioner.js +19 -22
  1117. package/popover/positioner/PopoverPositioner.mjs +19 -22
  1118. package/popover/positioner/PopoverPositionerContext.d.mts +1 -1
  1119. package/popover/positioner/PopoverPositionerContext.d.ts +1 -1
  1120. package/popover/positioner/PopoverPositionerCssVars.d.mts +37 -37
  1121. package/popover/positioner/PopoverPositionerCssVars.d.ts +37 -37
  1122. package/popover/positioner/PopoverPositionerCssVars.js +38 -39
  1123. package/popover/positioner/PopoverPositionerCssVars.mjs +37 -38
  1124. package/popover/positioner/PopoverPositionerDataAttributes.d.mts +22 -24
  1125. package/popover/positioner/PopoverPositionerDataAttributes.d.ts +22 -24
  1126. package/popover/positioner/PopoverPositionerDataAttributes.js +23 -26
  1127. package/popover/positioner/PopoverPositionerDataAttributes.mjs +23 -25
  1128. package/popover/root/PopoverRoot.d.mts +3 -1
  1129. package/popover/root/PopoverRoot.d.ts +3 -1
  1130. package/popover/root/PopoverRoot.js +33 -24
  1131. package/popover/root/PopoverRoot.mjs +35 -26
  1132. package/popover/root/PopoverRootContext.d.mts +1 -3
  1133. package/popover/root/PopoverRootContext.d.ts +1 -3
  1134. package/popover/store/PopoverHandle.d.mts +18 -10
  1135. package/popover/store/PopoverHandle.d.ts +18 -10
  1136. package/popover/store/PopoverHandle.js +21 -21
  1137. package/popover/store/PopoverHandle.mjs +22 -20
  1138. package/popover/store/PopoverStore.d.mts +22 -10
  1139. package/popover/store/PopoverStore.d.ts +22 -10
  1140. package/popover/store/PopoverStore.js +84 -73
  1141. package/popover/store/PopoverStore.mjs +83 -73
  1142. package/popover/title/PopoverTitle.js +1 -3
  1143. package/popover/title/PopoverTitle.mjs +1 -3
  1144. package/popover/trigger/PopoverTrigger.js +11 -12
  1145. package/popover/trigger/PopoverTrigger.mjs +12 -13
  1146. package/popover/trigger/PopoverTriggerDataAttributes.d.mts +12 -10
  1147. package/popover/trigger/PopoverTriggerDataAttributes.d.ts +12 -10
  1148. package/popover/trigger/PopoverTriggerDataAttributes.js +13 -12
  1149. package/popover/trigger/PopoverTriggerDataAttributes.mjs +13 -11
  1150. package/popover/viewport/PopoverViewport.js +2 -12
  1151. package/popover/viewport/PopoverViewport.mjs +3 -12
  1152. package/popover/viewport/PopoverViewportCssVars.d.mts +12 -14
  1153. package/popover/viewport/PopoverViewportCssVars.d.ts +12 -14
  1154. package/popover/viewport/PopoverViewportCssVars.js +13 -16
  1155. package/popover/viewport/PopoverViewportCssVars.mjs +12 -15
  1156. package/popover/viewport/PopoverViewportDataAttributes.d.mts +24 -26
  1157. package/popover/viewport/PopoverViewportDataAttributes.d.ts +24 -26
  1158. package/popover/viewport/PopoverViewportDataAttributes.js +25 -28
  1159. package/popover/viewport/PopoverViewportDataAttributes.mjs +24 -27
  1160. package/preview-card/arrow/PreviewCardArrow.d.mts +1 -1
  1161. package/preview-card/arrow/PreviewCardArrow.d.ts +1 -1
  1162. package/preview-card/arrow/PreviewCardArrowDataAttributes.d.mts +22 -24
  1163. package/preview-card/arrow/PreviewCardArrowDataAttributes.d.ts +22 -24
  1164. package/preview-card/arrow/PreviewCardArrowDataAttributes.js +23 -26
  1165. package/preview-card/arrow/PreviewCardArrowDataAttributes.mjs +23 -25
  1166. package/preview-card/backdrop/PreviewCardBackdrop.d.mts +1 -1
  1167. package/preview-card/backdrop/PreviewCardBackdrop.d.ts +1 -1
  1168. package/preview-card/backdrop/PreviewCardBackdrop.js +2 -8
  1169. package/preview-card/backdrop/PreviewCardBackdrop.mjs +3 -8
  1170. package/preview-card/backdrop/PreviewCardBackdropDataAttributes.d.mts +16 -18
  1171. package/preview-card/backdrop/PreviewCardBackdropDataAttributes.d.ts +16 -18
  1172. package/preview-card/backdrop/PreviewCardBackdropDataAttributes.js +17 -20
  1173. package/preview-card/backdrop/PreviewCardBackdropDataAttributes.mjs +17 -19
  1174. package/preview-card/popup/PreviewCardPopup.d.mts +1 -1
  1175. package/preview-card/popup/PreviewCardPopup.d.ts +1 -1
  1176. package/preview-card/popup/PreviewCardPopup.js +6 -12
  1177. package/preview-card/popup/PreviewCardPopup.mjs +7 -12
  1178. package/preview-card/popup/PreviewCardPopupDataAttributes.d.mts +26 -28
  1179. package/preview-card/popup/PreviewCardPopupDataAttributes.d.ts +26 -28
  1180. package/preview-card/popup/PreviewCardPopupDataAttributes.js +27 -30
  1181. package/preview-card/popup/PreviewCardPopupDataAttributes.mjs +27 -29
  1182. package/preview-card/portal/PreviewCardPortal.d.mts +6 -2
  1183. package/preview-card/portal/PreviewCardPortal.d.ts +6 -2
  1184. package/preview-card/portal/PreviewCardPortal.mjs +1 -2
  1185. package/preview-card/positioner/PreviewCardPositioner.d.mts +1 -1
  1186. package/preview-card/positioner/PreviewCardPositioner.d.ts +1 -1
  1187. package/preview-card/positioner/PreviewCardPositioner.js +3 -4
  1188. package/preview-card/positioner/PreviewCardPositioner.mjs +3 -4
  1189. package/preview-card/positioner/PreviewCardPositionerContext.d.mts +1 -1
  1190. package/preview-card/positioner/PreviewCardPositionerContext.d.ts +1 -1
  1191. package/preview-card/positioner/PreviewCardPositionerContext.js +1 -1
  1192. package/preview-card/positioner/PreviewCardPositionerContext.mjs +1 -1
  1193. package/preview-card/positioner/PreviewCardPositionerCssVars.d.mts +37 -27
  1194. package/preview-card/positioner/PreviewCardPositionerCssVars.d.ts +37 -27
  1195. package/preview-card/positioner/PreviewCardPositionerCssVars.js +38 -29
  1196. package/preview-card/positioner/PreviewCardPositionerCssVars.mjs +37 -28
  1197. package/preview-card/positioner/PreviewCardPositionerDataAttributes.d.mts +22 -24
  1198. package/preview-card/positioner/PreviewCardPositionerDataAttributes.d.ts +22 -24
  1199. package/preview-card/positioner/PreviewCardPositionerDataAttributes.js +23 -26
  1200. package/preview-card/positioner/PreviewCardPositionerDataAttributes.mjs +23 -25
  1201. package/preview-card/root/PreviewCardRoot.d.mts +1 -1
  1202. package/preview-card/root/PreviewCardRoot.d.ts +1 -1
  1203. package/preview-card/root/PreviewCardRoot.js +14 -17
  1204. package/preview-card/root/PreviewCardRoot.mjs +15 -18
  1205. package/preview-card/store/PreviewCardHandle.d.mts +15 -12
  1206. package/preview-card/store/PreviewCardHandle.d.ts +15 -12
  1207. package/preview-card/store/PreviewCardHandle.js +18 -23
  1208. package/preview-card/store/PreviewCardHandle.mjs +19 -23
  1209. package/preview-card/store/PreviewCardStore.d.mts +22 -7
  1210. package/preview-card/store/PreviewCardStore.d.ts +22 -7
  1211. package/preview-card/store/PreviewCardStore.js +43 -31
  1212. package/preview-card/store/PreviewCardStore.mjs +43 -32
  1213. package/preview-card/trigger/PreviewCardTrigger.d.mts +1 -1
  1214. package/preview-card/trigger/PreviewCardTrigger.d.ts +1 -1
  1215. package/preview-card/trigger/PreviewCardTrigger.js +4 -8
  1216. package/preview-card/trigger/PreviewCardTrigger.mjs +5 -9
  1217. package/preview-card/trigger/PreviewCardTriggerDataAttributes.d.mts +4 -6
  1218. package/preview-card/trigger/PreviewCardTriggerDataAttributes.d.ts +4 -6
  1219. package/preview-card/trigger/PreviewCardTriggerDataAttributes.js +5 -8
  1220. package/preview-card/trigger/PreviewCardTriggerDataAttributes.mjs +5 -7
  1221. package/preview-card/viewport/PreviewCardViewport.js +1 -9
  1222. package/preview-card/viewport/PreviewCardViewport.mjs +2 -9
  1223. package/preview-card/viewport/PreviewCardViewportCssVars.d.mts +12 -14
  1224. package/preview-card/viewport/PreviewCardViewportCssVars.d.ts +12 -14
  1225. package/preview-card/viewport/PreviewCardViewportCssVars.js +13 -16
  1226. package/preview-card/viewport/PreviewCardViewportCssVars.mjs +12 -15
  1227. package/preview-card/viewport/PreviewCardViewportDataAttributes.d.mts +24 -26
  1228. package/preview-card/viewport/PreviewCardViewportDataAttributes.d.ts +24 -26
  1229. package/preview-card/viewport/PreviewCardViewportDataAttributes.js +25 -28
  1230. package/preview-card/viewport/PreviewCardViewportDataAttributes.mjs +24 -27
  1231. package/progress/indicator/ProgressIndicator.js +1 -5
  1232. package/progress/indicator/ProgressIndicator.mjs +1 -5
  1233. package/progress/indicator/ProgressIndicatorDataAttributes.d.mts +12 -14
  1234. package/progress/indicator/ProgressIndicatorDataAttributes.d.ts +12 -14
  1235. package/progress/indicator/ProgressIndicatorDataAttributes.js +13 -16
  1236. package/progress/indicator/ProgressIndicatorDataAttributes.mjs +12 -15
  1237. package/progress/label/ProgressLabelDataAttributes.d.mts +12 -14
  1238. package/progress/label/ProgressLabelDataAttributes.d.ts +12 -14
  1239. package/progress/label/ProgressLabelDataAttributes.js +13 -16
  1240. package/progress/label/ProgressLabelDataAttributes.mjs +12 -15
  1241. package/progress/root/ProgressRoot.d.mts +1 -2
  1242. package/progress/root/ProgressRoot.d.ts +1 -2
  1243. package/progress/root/ProgressRoot.js +29 -20
  1244. package/progress/root/ProgressRoot.mjs +29 -20
  1245. package/progress/root/ProgressRootContext.d.mts +4 -12
  1246. package/progress/root/ProgressRootContext.d.ts +4 -12
  1247. package/progress/root/ProgressRootDataAttributes.d.mts +12 -14
  1248. package/progress/root/ProgressRootDataAttributes.d.ts +12 -14
  1249. package/progress/root/ProgressRootDataAttributes.js +13 -16
  1250. package/progress/root/ProgressRootDataAttributes.mjs +12 -15
  1251. package/progress/root/stateAttributesMapping.js +5 -4
  1252. package/progress/root/stateAttributesMapping.mjs +1 -1
  1253. package/progress/track/ProgressTrackDataAttributes.d.mts +12 -14
  1254. package/progress/track/ProgressTrackDataAttributes.d.ts +12 -14
  1255. package/progress/track/ProgressTrackDataAttributes.js +13 -16
  1256. package/progress/track/ProgressTrackDataAttributes.mjs +12 -15
  1257. package/progress/value/ProgressValue.d.mts +1 -1
  1258. package/progress/value/ProgressValue.d.ts +1 -1
  1259. package/progress/value/ProgressValue.js +7 -3
  1260. package/progress/value/ProgressValue.mjs +7 -3
  1261. package/progress/value/ProgressValueDataAttributes.d.mts +12 -14
  1262. package/progress/value/ProgressValueDataAttributes.d.ts +12 -14
  1263. package/progress/value/ProgressValueDataAttributes.js +13 -16
  1264. package/progress/value/ProgressValueDataAttributes.mjs +12 -15
  1265. package/radio/indicator/RadioIndicator.js +2 -0
  1266. package/radio/indicator/RadioIndicator.mjs +2 -0
  1267. package/radio/indicator/RadioIndicatorDataAttributes.d.mts +52 -54
  1268. package/radio/indicator/RadioIndicatorDataAttributes.d.ts +52 -54
  1269. package/radio/indicator/RadioIndicatorDataAttributes.js +53 -56
  1270. package/radio/indicator/RadioIndicatorDataAttributes.mjs +53 -55
  1271. package/radio/root/RadioRoot.js +23 -32
  1272. package/radio/root/RadioRoot.mjs +23 -32
  1273. package/radio/root/RadioRootDataAttributes.d.mts +44 -46
  1274. package/radio/root/RadioRootDataAttributes.d.ts +44 -46
  1275. package/radio/root/RadioRootDataAttributes.js +45 -48
  1276. package/radio/root/RadioRootDataAttributes.mjs +44 -47
  1277. package/radio/utils/stateAttributesMapping.js +4 -3
  1278. package/radio/utils/stateAttributesMapping.mjs +1 -1
  1279. package/radio-group/RadioGroup.js +47 -32
  1280. package/radio-group/RadioGroup.mjs +47 -32
  1281. package/radio-group/RadioGroupContext.d.mts +0 -1
  1282. package/radio-group/RadioGroupContext.d.ts +0 -1
  1283. package/radio-group/RadioGroupDataAttributes.d.mts +4 -6
  1284. package/radio-group/RadioGroupDataAttributes.d.ts +4 -6
  1285. package/radio-group/RadioGroupDataAttributes.js +5 -8
  1286. package/radio-group/RadioGroupDataAttributes.mjs +4 -7
  1287. package/scroll-area/content/ScrollAreaContentDataAttributes.d.mts +28 -30
  1288. package/scroll-area/content/ScrollAreaContentDataAttributes.d.ts +28 -30
  1289. package/scroll-area/content/ScrollAreaContentDataAttributes.js +29 -32
  1290. package/scroll-area/content/ScrollAreaContentDataAttributes.mjs +28 -31
  1291. package/scroll-area/corner/ScrollAreaCorner.js +1 -0
  1292. package/scroll-area/corner/ScrollAreaCorner.mjs +1 -0
  1293. package/scroll-area/root/ScrollAreaRoot.js +121 -83
  1294. package/scroll-area/root/ScrollAreaRoot.mjs +118 -80
  1295. package/scroll-area/root/ScrollAreaRootContext.d.mts +1 -3
  1296. package/scroll-area/root/ScrollAreaRootContext.d.ts +1 -3
  1297. package/scroll-area/root/ScrollAreaRootCssVars.d.mts +10 -12
  1298. package/scroll-area/root/ScrollAreaRootCssVars.d.ts +10 -12
  1299. package/scroll-area/root/ScrollAreaRootCssVars.js +11 -14
  1300. package/scroll-area/root/ScrollAreaRootCssVars.mjs +10 -13
  1301. package/scroll-area/root/ScrollAreaRootDataAttributes.d.mts +28 -30
  1302. package/scroll-area/root/ScrollAreaRootDataAttributes.d.ts +28 -30
  1303. package/scroll-area/root/ScrollAreaRootDataAttributes.js +29 -32
  1304. package/scroll-area/root/ScrollAreaRootDataAttributes.mjs +28 -31
  1305. package/scroll-area/root/stateAttributes.js +11 -19
  1306. package/scroll-area/root/stateAttributes.mjs +10 -19
  1307. package/scroll-area/scrollbar/ScrollAreaScrollbar.js +66 -74
  1308. package/scroll-area/scrollbar/ScrollAreaScrollbar.mjs +64 -71
  1309. package/scroll-area/scrollbar/ScrollAreaScrollbarContext.d.mts +1 -3
  1310. package/scroll-area/scrollbar/ScrollAreaScrollbarContext.d.ts +1 -3
  1311. package/scroll-area/scrollbar/ScrollAreaScrollbarCssVars.d.mts +10 -12
  1312. package/scroll-area/scrollbar/ScrollAreaScrollbarCssVars.d.ts +10 -12
  1313. package/scroll-area/scrollbar/ScrollAreaScrollbarCssVars.js +11 -14
  1314. package/scroll-area/scrollbar/ScrollAreaScrollbarCssVars.mjs +10 -13
  1315. package/scroll-area/scrollbar/ScrollAreaScrollbarDataAttributes.d.mts +37 -39
  1316. package/scroll-area/scrollbar/ScrollAreaScrollbarDataAttributes.d.ts +37 -39
  1317. package/scroll-area/scrollbar/ScrollAreaScrollbarDataAttributes.js +38 -41
  1318. package/scroll-area/scrollbar/ScrollAreaScrollbarDataAttributes.mjs +37 -40
  1319. package/scroll-area/thumb/ScrollAreaThumb.js +10 -24
  1320. package/scroll-area/thumb/ScrollAreaThumb.mjs +10 -24
  1321. package/scroll-area/thumb/ScrollAreaThumbDataAttributes.d.mts +9 -11
  1322. package/scroll-area/thumb/ScrollAreaThumbDataAttributes.d.ts +9 -11
  1323. package/scroll-area/thumb/ScrollAreaThumbDataAttributes.js +10 -13
  1324. package/scroll-area/thumb/ScrollAreaThumbDataAttributes.mjs +9 -12
  1325. package/scroll-area/utils/getOffset.js +4 -3
  1326. package/scroll-area/utils/getOffset.mjs +4 -3
  1327. package/scroll-area/viewport/ScrollAreaViewport.js +78 -80
  1328. package/scroll-area/viewport/ScrollAreaViewport.mjs +78 -81
  1329. package/scroll-area/viewport/ScrollAreaViewportCssVars.d.mts +20 -22
  1330. package/scroll-area/viewport/ScrollAreaViewportCssVars.d.ts +20 -22
  1331. package/scroll-area/viewport/ScrollAreaViewportCssVars.js +21 -24
  1332. package/scroll-area/viewport/ScrollAreaViewportCssVars.mjs +20 -23
  1333. package/scroll-area/viewport/ScrollAreaViewportDataAttributes.d.mts +28 -30
  1334. package/scroll-area/viewport/ScrollAreaViewportDataAttributes.d.ts +28 -30
  1335. package/scroll-area/viewport/ScrollAreaViewportDataAttributes.js +29 -32
  1336. package/scroll-area/viewport/ScrollAreaViewportDataAttributes.mjs +28 -31
  1337. package/select/arrow/SelectArrow.d.mts +1 -1
  1338. package/select/arrow/SelectArrow.d.ts +1 -1
  1339. package/select/arrow/SelectArrow.js +3 -13
  1340. package/select/arrow/SelectArrow.mjs +4 -13
  1341. package/select/arrow/SelectArrowDataAttributes.d.mts +22 -24
  1342. package/select/arrow/SelectArrowDataAttributes.d.ts +22 -24
  1343. package/select/arrow/SelectArrowDataAttributes.js +23 -26
  1344. package/select/arrow/SelectArrowDataAttributes.mjs +23 -25
  1345. package/select/backdrop/SelectBackdrop.js +4 -8
  1346. package/select/backdrop/SelectBackdrop.mjs +4 -8
  1347. package/select/backdrop/SelectBackdropDataAttributes.d.mts +16 -18
  1348. package/select/backdrop/SelectBackdropDataAttributes.d.ts +16 -18
  1349. package/select/backdrop/SelectBackdropDataAttributes.js +17 -20
  1350. package/select/backdrop/SelectBackdropDataAttributes.mjs +17 -19
  1351. package/select/group-label/SelectGroupLabel.js +5 -1
  1352. package/select/group-label/SelectGroupLabel.mjs +5 -1
  1353. package/select/icon/SelectIcon.js +2 -6
  1354. package/select/icon/SelectIcon.mjs +2 -6
  1355. package/select/icon/SelectIconDataAttributes.d.mts +4 -6
  1356. package/select/icon/SelectIconDataAttributes.d.ts +4 -6
  1357. package/select/icon/SelectIconDataAttributes.js +5 -8
  1358. package/select/icon/SelectIconDataAttributes.mjs +5 -7
  1359. package/select/index.d.mts +2 -1
  1360. package/select/index.d.ts +2 -1
  1361. package/select/index.parts.d.mts +1 -1
  1362. package/select/index.parts.d.ts +1 -1
  1363. package/select/index.parts.js +2 -2
  1364. package/select/index.parts.mjs +1 -1
  1365. package/select/item/SelectItem.js +48 -60
  1366. package/select/item/SelectItem.mjs +51 -63
  1367. package/select/item/SelectItemContext.d.mts +0 -1
  1368. package/select/item/SelectItemContext.d.ts +0 -1
  1369. package/select/item/SelectItemDataAttributes.d.mts +12 -14
  1370. package/select/item/SelectItemDataAttributes.d.ts +12 -14
  1371. package/select/item/SelectItemDataAttributes.js +13 -16
  1372. package/select/item/SelectItemDataAttributes.mjs +12 -15
  1373. package/select/item-indicator/SelectItemIndicator.js +3 -2
  1374. package/select/item-indicator/SelectItemIndicator.mjs +3 -2
  1375. package/select/item-indicator/SelectItemIndicatorDataAttributes.d.mts +8 -10
  1376. package/select/item-indicator/SelectItemIndicatorDataAttributes.d.ts +8 -10
  1377. package/select/item-indicator/SelectItemIndicatorDataAttributes.js +9 -12
  1378. package/select/item-indicator/SelectItemIndicatorDataAttributes.mjs +9 -11
  1379. package/select/item-text/SelectItemText.js +7 -11
  1380. package/select/item-text/SelectItemText.mjs +7 -11
  1381. package/select/label/SelectLabel.js +5 -8
  1382. package/select/label/SelectLabel.mjs +5 -8
  1383. package/select/list/SelectList.js +10 -14
  1384. package/select/list/SelectList.mjs +11 -15
  1385. package/select/popup/SelectPopup.d.mts +1 -1
  1386. package/select/popup/SelectPopup.d.ts +1 -1
  1387. package/select/popup/SelectPopup.js +66 -95
  1388. package/select/popup/SelectPopup.mjs +67 -96
  1389. package/select/popup/SelectPopupDataAttributes.d.mts +26 -28
  1390. package/select/popup/SelectPopupDataAttributes.d.ts +26 -28
  1391. package/select/popup/SelectPopupDataAttributes.js +27 -30
  1392. package/select/popup/SelectPopupDataAttributes.mjs +27 -29
  1393. package/select/portal/SelectPortal.d.mts +7 -2
  1394. package/select/portal/SelectPortal.d.ts +7 -2
  1395. package/select/portal/SelectPortal.js +6 -14
  1396. package/select/portal/SelectPortal.mjs +6 -14
  1397. package/select/positioner/SelectPositioner.d.mts +1 -1
  1398. package/select/positioner/SelectPositioner.d.ts +1 -1
  1399. package/select/positioner/SelectPositioner.js +35 -64
  1400. package/select/positioner/SelectPositioner.mjs +37 -66
  1401. package/select/positioner/SelectPositionerContext.d.mts +1 -1
  1402. package/select/positioner/SelectPositionerContext.d.ts +1 -1
  1403. package/select/positioner/SelectPositionerCssVars.d.mts +25 -27
  1404. package/select/positioner/SelectPositionerCssVars.d.ts +25 -27
  1405. package/select/positioner/SelectPositionerCssVars.js +26 -29
  1406. package/select/positioner/SelectPositionerCssVars.mjs +25 -28
  1407. package/select/positioner/SelectPositionerDataAttributes.d.mts +22 -24
  1408. package/select/positioner/SelectPositionerDataAttributes.d.ts +22 -24
  1409. package/select/positioner/SelectPositionerDataAttributes.js +23 -26
  1410. package/select/positioner/SelectPositionerDataAttributes.mjs +23 -25
  1411. package/select/root/SelectRoot.d.mts +2 -0
  1412. package/select/root/SelectRoot.d.ts +2 -0
  1413. package/select/root/SelectRoot.js +143 -167
  1414. package/select/root/SelectRoot.mjs +146 -170
  1415. package/select/root/SelectRootContext.d.mts +10 -30
  1416. package/select/root/SelectRootContext.d.ts +10 -30
  1417. package/select/root/SelectRootContext.js +21 -6
  1418. package/select/root/SelectRootContext.mjs +20 -5
  1419. package/select/scroll-arrow/SelectScrollArrow.d.mts +1 -6
  1420. package/select/scroll-arrow/SelectScrollArrow.d.ts +1 -6
  1421. package/select/scroll-arrow/SelectScrollArrow.js +13 -28
  1422. package/select/scroll-arrow/SelectScrollArrow.mjs +13 -28
  1423. package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.d.mts +22 -24
  1424. package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.d.ts +22 -24
  1425. package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.js +23 -26
  1426. package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.mjs +23 -25
  1427. package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.d.mts +22 -24
  1428. package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.d.ts +22 -24
  1429. package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.js +23 -26
  1430. package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.mjs +23 -25
  1431. package/select/separator/SelectSeparator.d.mts +26 -0
  1432. package/select/separator/SelectSeparator.d.ts +26 -0
  1433. package/select/separator/SelectSeparator.js +15 -0
  1434. package/select/separator/SelectSeparator.mjs +10 -0
  1435. package/select/store.d.mts +32 -6
  1436. package/select/store.d.ts +32 -6
  1437. package/select/store.js +37 -35
  1438. package/select/store.mjs +38 -35
  1439. package/select/trigger/SelectTrigger.d.mts +1 -1
  1440. package/select/trigger/SelectTrigger.d.ts +1 -1
  1441. package/select/trigger/SelectTrigger.js +26 -35
  1442. package/select/trigger/SelectTrigger.mjs +28 -37
  1443. package/select/trigger/SelectTriggerDataAttributes.d.mts +53 -55
  1444. package/select/trigger/SelectTriggerDataAttributes.d.ts +53 -55
  1445. package/select/trigger/SelectTriggerDataAttributes.js +54 -57
  1446. package/select/trigger/SelectTriggerDataAttributes.mjs +54 -56
  1447. package/select/value/SelectValue.d.mts +2 -0
  1448. package/select/value/SelectValue.d.ts +2 -0
  1449. package/select/value/SelectValue.js +8 -13
  1450. package/select/value/SelectValue.mjs +8 -13
  1451. package/select/value/SelectValueDataAttributes.d.mts +4 -6
  1452. package/select/value/SelectValueDataAttributes.d.ts +4 -6
  1453. package/select/value/SelectValueDataAttributes.js +5 -8
  1454. package/select/value/SelectValueDataAttributes.mjs +4 -7
  1455. package/separator/SeparatorDataAttributes.d.mts +5 -7
  1456. package/separator/SeparatorDataAttributes.d.ts +5 -7
  1457. package/separator/SeparatorDataAttributes.js +6 -9
  1458. package/separator/SeparatorDataAttributes.mjs +5 -8
  1459. package/slider/control/SliderControl.js +62 -79
  1460. package/slider/control/SliderControl.mjs +62 -79
  1461. package/slider/control/SliderControlDataAttributes.d.mts +33 -35
  1462. package/slider/control/SliderControlDataAttributes.d.ts +33 -35
  1463. package/slider/control/SliderControlDataAttributes.js +34 -37
  1464. package/slider/control/SliderControlDataAttributes.mjs +33 -36
  1465. package/slider/indicator/SliderIndicator.js +15 -34
  1466. package/slider/indicator/SliderIndicator.mjs +15 -34
  1467. package/slider/indicator/SliderIndicatorDataAttributes.d.mts +33 -35
  1468. package/slider/indicator/SliderIndicatorDataAttributes.d.ts +33 -35
  1469. package/slider/indicator/SliderIndicatorDataAttributes.js +34 -37
  1470. package/slider/indicator/SliderIndicatorDataAttributes.mjs +33 -36
  1471. package/slider/root/SliderRoot.d.mts +5 -3
  1472. package/slider/root/SliderRoot.d.ts +5 -3
  1473. package/slider/root/SliderRoot.js +38 -49
  1474. package/slider/root/SliderRoot.mjs +38 -49
  1475. package/slider/root/SliderRootContext.d.mts +6 -4
  1476. package/slider/root/SliderRootContext.d.ts +6 -4
  1477. package/slider/root/SliderRootDataAttributes.d.mts +33 -35
  1478. package/slider/root/SliderRootDataAttributes.d.ts +33 -35
  1479. package/slider/root/SliderRootDataAttributes.js +34 -37
  1480. package/slider/root/SliderRootDataAttributes.mjs +33 -36
  1481. package/slider/root/stateAttributesMapping.js +7 -6
  1482. package/slider/root/stateAttributesMapping.mjs +7 -6
  1483. package/slider/thumb/SliderThumb.d.mts +1 -2
  1484. package/slider/thumb/SliderThumb.d.ts +1 -2
  1485. package/slider/thumb/SliderThumb.js +67 -71
  1486. package/slider/thumb/SliderThumb.mjs +66 -70
  1487. package/slider/thumb/SliderThumbDataAttributes.d.mts +37 -39
  1488. package/slider/thumb/SliderThumbDataAttributes.d.ts +37 -39
  1489. package/slider/thumb/SliderThumbDataAttributes.js +38 -41
  1490. package/slider/thumb/SliderThumbDataAttributes.mjs +37 -40
  1491. package/slider/track/SliderTrackDataAttributes.d.mts +33 -35
  1492. package/slider/track/SliderTrackDataAttributes.d.ts +33 -35
  1493. package/slider/track/SliderTrackDataAttributes.js +34 -37
  1494. package/slider/track/SliderTrackDataAttributes.mjs +33 -36
  1495. package/slider/utils/getMidpoint.d.mts +1 -2
  1496. package/slider/utils/getMidpoint.d.ts +1 -2
  1497. package/slider/utils/getMidpoint.js +2 -5
  1498. package/slider/utils/getMidpoint.mjs +2 -5
  1499. package/slider/utils/getPushedThumbValues.d.mts +4 -21
  1500. package/slider/utils/getPushedThumbValues.d.ts +4 -21
  1501. package/slider/utils/getPushedThumbValues.js +7 -16
  1502. package/slider/utils/getPushedThumbValues.mjs +8 -16
  1503. package/slider/utils/getSliderValue.js +9 -9
  1504. package/slider/utils/getSliderValue.mjs +9 -9
  1505. package/slider/utils/resolveThumbCollision.d.mts +5 -24
  1506. package/slider/utils/resolveThumbCollision.d.ts +5 -24
  1507. package/slider/utils/resolveThumbCollision.js +34 -65
  1508. package/slider/utils/resolveThumbCollision.mjs +34 -65
  1509. package/slider/utils/test-utils.d.mts +1 -11
  1510. package/slider/utils/test-utils.d.ts +1 -11
  1511. package/slider/utils/test-utils.js +1 -11
  1512. package/slider/utils/test-utils.mjs +1 -11
  1513. package/slider/utils/validateMinimumDistance.js +6 -7
  1514. package/slider/utils/validateMinimumDistance.mjs +6 -7
  1515. package/slider/value/SliderValue.js +7 -17
  1516. package/slider/value/SliderValue.mjs +7 -17
  1517. package/slider/value/SliderValueDataAttributes.d.mts +33 -35
  1518. package/slider/value/SliderValueDataAttributes.d.ts +33 -35
  1519. package/slider/value/SliderValueDataAttributes.js +34 -37
  1520. package/slider/value/SliderValueDataAttributes.mjs +33 -36
  1521. package/switch/root/SwitchRoot.js +20 -26
  1522. package/switch/root/SwitchRoot.mjs +20 -26
  1523. package/switch/root/SwitchRootDataAttributes.d.mts +44 -46
  1524. package/switch/root/SwitchRootDataAttributes.d.ts +44 -46
  1525. package/switch/root/SwitchRootDataAttributes.js +45 -48
  1526. package/switch/root/SwitchRootDataAttributes.mjs +44 -47
  1527. package/switch/stateAttributesMapping.js +4 -3
  1528. package/switch/stateAttributesMapping.mjs +1 -1
  1529. package/switch/thumb/SwitchThumbDataAttributes.d.mts +44 -46
  1530. package/switch/thumb/SwitchThumbDataAttributes.d.ts +44 -46
  1531. package/switch/thumb/SwitchThumbDataAttributes.js +45 -48
  1532. package/switch/thumb/SwitchThumbDataAttributes.mjs +44 -47
  1533. package/tabs/indicator/TabsIndicator.js +138 -33
  1534. package/tabs/indicator/TabsIndicator.mjs +132 -27
  1535. package/tabs/indicator/TabsIndicatorCssVars.d.mts +30 -32
  1536. package/tabs/indicator/TabsIndicatorCssVars.d.ts +30 -32
  1537. package/tabs/indicator/TabsIndicatorCssVars.js +31 -34
  1538. package/tabs/indicator/TabsIndicatorCssVars.mjs +30 -33
  1539. package/tabs/indicator/TabsIndicatorDataAttributes.d.mts +10 -12
  1540. package/tabs/indicator/TabsIndicatorDataAttributes.d.ts +10 -12
  1541. package/tabs/indicator/TabsIndicatorDataAttributes.js +11 -14
  1542. package/tabs/indicator/TabsIndicatorDataAttributes.mjs +10 -13
  1543. package/tabs/indicator/prehydrationScript.min.d.mts +1 -1
  1544. package/tabs/indicator/prehydrationScript.min.d.ts +1 -1
  1545. package/tabs/indicator/prehydrationScript.min.js +1 -1
  1546. package/tabs/indicator/prehydrationScript.min.mjs +1 -1
  1547. package/tabs/list/TabsList.js +1 -11
  1548. package/tabs/list/TabsList.mjs +1 -11
  1549. package/tabs/list/TabsListContext.d.mts +0 -5
  1550. package/tabs/list/TabsListContext.d.ts +0 -5
  1551. package/tabs/list/TabsListDataAttributes.d.mts +10 -12
  1552. package/tabs/list/TabsListDataAttributes.d.ts +10 -12
  1553. package/tabs/list/TabsListDataAttributes.js +11 -14
  1554. package/tabs/list/TabsListDataAttributes.mjs +10 -13
  1555. package/tabs/panel/TabsPanel.js +11 -20
  1556. package/tabs/panel/TabsPanel.mjs +10 -19
  1557. package/tabs/panel/TabsPanelDataAttributes.d.mts +26 -28
  1558. package/tabs/panel/TabsPanelDataAttributes.d.ts +26 -28
  1559. package/tabs/panel/TabsPanelDataAttributes.js +27 -30
  1560. package/tabs/panel/TabsPanelDataAttributes.mjs +27 -29
  1561. package/tabs/root/TabsRoot.js +40 -75
  1562. package/tabs/root/TabsRoot.mjs +40 -75
  1563. package/tabs/root/TabsRootContext.d.mts +4 -11
  1564. package/tabs/root/TabsRootContext.d.ts +4 -11
  1565. package/tabs/root/TabsRootDataAttributes.d.mts +10 -12
  1566. package/tabs/root/TabsRootDataAttributes.d.ts +10 -12
  1567. package/tabs/root/TabsRootDataAttributes.js +11 -14
  1568. package/tabs/root/TabsRootDataAttributes.mjs +10 -13
  1569. package/tabs/root/stateAttributesMapping.js +3 -2
  1570. package/tabs/root/stateAttributesMapping.mjs +1 -1
  1571. package/tabs/tab/TabsTab.js +42 -39
  1572. package/tabs/tab/TabsTab.mjs +42 -39
  1573. package/tabs/tab/TabsTabDataAttributes.d.mts +18 -20
  1574. package/tabs/tab/TabsTabDataAttributes.d.ts +18 -20
  1575. package/tabs/tab/TabsTabDataAttributes.js +19 -22
  1576. package/tabs/tab/TabsTabDataAttributes.mjs +18 -21
  1577. package/toast/action/ToastAction.js +2 -5
  1578. package/toast/action/ToastAction.mjs +2 -5
  1579. package/toast/action/ToastActionDataAttributes.d.mts +5 -7
  1580. package/toast/action/ToastActionDataAttributes.d.ts +5 -7
  1581. package/toast/action/ToastActionDataAttributes.js +6 -9
  1582. package/toast/action/ToastActionDataAttributes.mjs +5 -8
  1583. package/toast/arrow/ToastArrow.d.mts +1 -1
  1584. package/toast/arrow/ToastArrow.d.ts +1 -1
  1585. package/toast/arrow/ToastArrow.js +1 -2
  1586. package/toast/arrow/ToastArrow.mjs +1 -2
  1587. package/toast/arrow/ToastArrowDataAttributes.d.mts +14 -16
  1588. package/toast/arrow/ToastArrowDataAttributes.d.ts +14 -16
  1589. package/toast/arrow/ToastArrowDataAttributes.js +15 -18
  1590. package/toast/arrow/ToastArrowDataAttributes.mjs +15 -17
  1591. package/toast/close/ToastClose.js +3 -4
  1592. package/toast/close/ToastClose.mjs +3 -4
  1593. package/toast/close/ToastCloseDataAttributes.d.mts +5 -7
  1594. package/toast/close/ToastCloseDataAttributes.d.ts +5 -7
  1595. package/toast/close/ToastCloseDataAttributes.js +6 -9
  1596. package/toast/close/ToastCloseDataAttributes.mjs +5 -8
  1597. package/toast/content/ToastContent.js +3 -7
  1598. package/toast/content/ToastContent.mjs +3 -7
  1599. package/toast/content/ToastContentDataAttributes.d.mts +10 -12
  1600. package/toast/content/ToastContentDataAttributes.d.ts +10 -12
  1601. package/toast/content/ToastContentDataAttributes.js +11 -14
  1602. package/toast/content/ToastContentDataAttributes.mjs +10 -13
  1603. package/toast/createToastManager.d.mts +2 -2
  1604. package/toast/createToastManager.d.ts +2 -2
  1605. package/toast/createToastManager.js +2 -2
  1606. package/toast/createToastManager.mjs +2 -2
  1607. package/toast/description/ToastDescription.js +8 -23
  1608. package/toast/description/ToastDescription.mjs +8 -23
  1609. package/toast/description/ToastDescriptionDataAttributes.d.mts +5 -7
  1610. package/toast/description/ToastDescriptionDataAttributes.d.ts +5 -7
  1611. package/toast/description/ToastDescriptionDataAttributes.js +6 -9
  1612. package/toast/description/ToastDescriptionDataAttributes.mjs +5 -8
  1613. package/toast/portal/ToastPortal.d.mts +9 -3
  1614. package/toast/portal/ToastPortal.d.ts +9 -3
  1615. package/toast/portal/ToastPortal.js +10 -1
  1616. package/toast/portal/ToastPortal.mjs +9 -2
  1617. package/toast/positioner/ToastPositioner.d.mts +1 -1
  1618. package/toast/positioner/ToastPositioner.d.ts +1 -1
  1619. package/toast/positioner/ToastPositioner.js +5 -5
  1620. package/toast/positioner/ToastPositioner.mjs +4 -4
  1621. package/toast/positioner/ToastPositionerContext.d.mts +1 -1
  1622. package/toast/positioner/ToastPositionerContext.d.ts +1 -1
  1623. package/toast/positioner/ToastPositionerCssVars.d.mts +25 -27
  1624. package/toast/positioner/ToastPositionerCssVars.d.ts +25 -27
  1625. package/toast/positioner/ToastPositionerCssVars.js +26 -29
  1626. package/toast/positioner/ToastPositionerCssVars.mjs +25 -28
  1627. package/toast/positioner/ToastPositionerDataAttributes.d.mts +14 -16
  1628. package/toast/positioner/ToastPositionerDataAttributes.d.ts +14 -16
  1629. package/toast/positioner/ToastPositionerDataAttributes.js +15 -18
  1630. package/toast/positioner/ToastPositionerDataAttributes.mjs +15 -17
  1631. package/toast/provider/ToastProvider.js +20 -11
  1632. package/toast/provider/ToastProvider.mjs +21 -12
  1633. package/toast/root/ToastRoot.d.mts +2 -0
  1634. package/toast/root/ToastRoot.d.ts +2 -0
  1635. package/toast/root/ToastRoot.js +97 -141
  1636. package/toast/root/ToastRoot.mjs +92 -136
  1637. package/toast/root/ToastRootContext.d.mts +0 -6
  1638. package/toast/root/ToastRootContext.d.ts +0 -6
  1639. package/toast/root/ToastRootCssVars.d.mts +25 -27
  1640. package/toast/root/ToastRootCssVars.d.ts +25 -27
  1641. package/toast/root/ToastRootCssVars.js +26 -29
  1642. package/toast/root/ToastRootCssVars.mjs +25 -28
  1643. package/toast/root/ToastRootDataAttributes.d.mts +33 -35
  1644. package/toast/root/ToastRootDataAttributes.d.ts +33 -35
  1645. package/toast/root/ToastRootDataAttributes.js +34 -37
  1646. package/toast/root/ToastRootDataAttributes.mjs +34 -36
  1647. package/toast/store.d.mts +18 -23
  1648. package/toast/store.d.ts +18 -23
  1649. package/toast/store.js +59 -85
  1650. package/toast/store.mjs +61 -86
  1651. package/toast/title/ToastTitle.js +8 -23
  1652. package/toast/title/ToastTitle.mjs +8 -23
  1653. package/toast/title/ToastTitleDataAttributes.d.mts +5 -7
  1654. package/toast/title/ToastTitleDataAttributes.d.ts +5 -7
  1655. package/toast/title/ToastTitleDataAttributes.js +6 -9
  1656. package/toast/title/ToastTitleDataAttributes.mjs +5 -8
  1657. package/toast/useToastManager.d.mts +1 -1
  1658. package/toast/useToastManager.d.ts +1 -1
  1659. package/toast/useToastManager.js +1 -6
  1660. package/toast/useToastManager.mjs +2 -6
  1661. package/toast/utils/isRenderableNode.d.mts +3 -0
  1662. package/toast/utils/isRenderableNode.d.ts +3 -0
  1663. package/toast/utils/isRenderableNode.js +21 -0
  1664. package/toast/utils/isRenderableNode.mjs +13 -0
  1665. package/toast/utils/test-utils.d.mts +1 -8
  1666. package/toast/utils/test-utils.d.ts +1 -8
  1667. package/toast/utils/useToastLabelPart.d.mts +18 -0
  1668. package/toast/utils/useToastLabelPart.d.ts +18 -0
  1669. package/toast/utils/useToastLabelPart.js +52 -0
  1670. package/toast/utils/useToastLabelPart.mjs +47 -0
  1671. package/toast/viewport/ToastViewport.js +43 -78
  1672. package/toast/viewport/ToastViewport.mjs +43 -78
  1673. package/toast/viewport/ToastViewportCssVars.d.mts +5 -7
  1674. package/toast/viewport/ToastViewportCssVars.d.ts +5 -7
  1675. package/toast/viewport/ToastViewportCssVars.js +6 -9
  1676. package/toast/viewport/ToastViewportCssVars.mjs +5 -8
  1677. package/toast/viewport/ToastViewportDataAttributes.d.mts +5 -7
  1678. package/toast/viewport/ToastViewportDataAttributes.d.ts +5 -7
  1679. package/toast/viewport/ToastViewportDataAttributes.js +6 -9
  1680. package/toast/viewport/ToastViewportDataAttributes.mjs +5 -8
  1681. package/toggle/Toggle.js +2 -4
  1682. package/toggle/Toggle.mjs +2 -4
  1683. package/toggle/ToggleDataAttributes.d.mts +8 -10
  1684. package/toggle/ToggleDataAttributes.d.ts +8 -10
  1685. package/toggle/ToggleDataAttributes.js +9 -12
  1686. package/toggle/ToggleDataAttributes.mjs +8 -11
  1687. package/toggle-group/ToggleGroup.js +7 -20
  1688. package/toggle-group/ToggleGroup.mjs +7 -20
  1689. package/toggle-group/ToggleGroupContext.d.mts +1 -3
  1690. package/toggle-group/ToggleGroupContext.d.ts +1 -3
  1691. package/toggle-group/ToggleGroupContext.js +2 -8
  1692. package/toggle-group/ToggleGroupContext.mjs +2 -7
  1693. package/toggle-group/ToggleGroupDataAttributes.d.mts +13 -15
  1694. package/toggle-group/ToggleGroupDataAttributes.d.ts +13 -15
  1695. package/toggle-group/ToggleGroupDataAttributes.js +14 -17
  1696. package/toggle-group/ToggleGroupDataAttributes.mjs +13 -16
  1697. package/toolbar/button/ToolbarButton.js +2 -2
  1698. package/toolbar/button/ToolbarButton.mjs +2 -2
  1699. package/toolbar/button/ToolbarButtonDataAttributes.d.mts +13 -15
  1700. package/toolbar/button/ToolbarButtonDataAttributes.d.ts +13 -15
  1701. package/toolbar/button/ToolbarButtonDataAttributes.js +14 -17
  1702. package/toolbar/button/ToolbarButtonDataAttributes.mjs +13 -16
  1703. package/toolbar/group/ToolbarGroupContext.d.mts +1 -2
  1704. package/toolbar/group/ToolbarGroupContext.d.ts +1 -2
  1705. package/toolbar/group/ToolbarGroupContext.js +2 -8
  1706. package/toolbar/group/ToolbarGroupContext.mjs +2 -7
  1707. package/toolbar/group/ToolbarGroupDataAttributes.d.mts +9 -11
  1708. package/toolbar/group/ToolbarGroupDataAttributes.d.ts +9 -11
  1709. package/toolbar/group/ToolbarGroupDataAttributes.js +10 -13
  1710. package/toolbar/group/ToolbarGroupDataAttributes.mjs +9 -12
  1711. package/toolbar/input/ToolbarInput.js +8 -11
  1712. package/toolbar/input/ToolbarInput.mjs +8 -11
  1713. package/toolbar/input/ToolbarInputDataAttributes.d.mts +13 -15
  1714. package/toolbar/input/ToolbarInputDataAttributes.d.ts +13 -15
  1715. package/toolbar/input/ToolbarInputDataAttributes.js +14 -17
  1716. package/toolbar/input/ToolbarInputDataAttributes.mjs +13 -16
  1717. package/toolbar/link/ToolbarLink.d.mts +1 -1
  1718. package/toolbar/link/ToolbarLink.d.ts +1 -1
  1719. package/toolbar/link/ToolbarLinkDataAttributes.d.mts +5 -7
  1720. package/toolbar/link/ToolbarLinkDataAttributes.d.ts +5 -7
  1721. package/toolbar/link/ToolbarLinkDataAttributes.js +6 -9
  1722. package/toolbar/link/ToolbarLinkDataAttributes.mjs +5 -8
  1723. package/toolbar/root/ToolbarRoot.js +4 -5
  1724. package/toolbar/root/ToolbarRoot.mjs +4 -5
  1725. package/toolbar/root/ToolbarRootContext.d.mts +0 -3
  1726. package/toolbar/root/ToolbarRootContext.d.ts +0 -3
  1727. package/toolbar/root/ToolbarRootDataAttributes.d.mts +9 -11
  1728. package/toolbar/root/ToolbarRootDataAttributes.d.ts +9 -11
  1729. package/toolbar/root/ToolbarRootDataAttributes.js +10 -13
  1730. package/toolbar/root/ToolbarRootDataAttributes.mjs +9 -12
  1731. package/toolbar/separator/ToolbarSeparator.d.mts +2 -2
  1732. package/toolbar/separator/ToolbarSeparator.d.ts +2 -2
  1733. package/toolbar/separator/ToolbarSeparator.js +1 -4
  1734. package/toolbar/separator/ToolbarSeparator.mjs +3 -5
  1735. package/toolbar/separator/ToolbarSeparatorDataAttributes.d.mts +5 -7
  1736. package/toolbar/separator/ToolbarSeparatorDataAttributes.d.ts +5 -7
  1737. package/toolbar/separator/ToolbarSeparatorDataAttributes.js +6 -9
  1738. package/toolbar/separator/ToolbarSeparatorDataAttributes.mjs +5 -8
  1739. package/tooltip/arrow/TooltipArrow.d.mts +1 -1
  1740. package/tooltip/arrow/TooltipArrow.d.ts +1 -1
  1741. package/tooltip/arrow/TooltipArrowDataAttributes.d.mts +27 -29
  1742. package/tooltip/arrow/TooltipArrowDataAttributes.d.ts +27 -29
  1743. package/tooltip/arrow/TooltipArrowDataAttributes.js +28 -31
  1744. package/tooltip/arrow/TooltipArrowDataAttributes.mjs +28 -30
  1745. package/tooltip/popup/TooltipPopup.d.mts +1 -1
  1746. package/tooltip/popup/TooltipPopup.d.ts +1 -1
  1747. package/tooltip/popup/TooltipPopup.js +4 -9
  1748. package/tooltip/popup/TooltipPopup.mjs +5 -9
  1749. package/tooltip/popup/TooltipPopupDataAttributes.d.mts +31 -33
  1750. package/tooltip/popup/TooltipPopupDataAttributes.d.ts +31 -33
  1751. package/tooltip/popup/TooltipPopupDataAttributes.js +32 -35
  1752. package/tooltip/popup/TooltipPopupDataAttributes.mjs +32 -34
  1753. package/tooltip/portal/TooltipPortal.d.mts +6 -2
  1754. package/tooltip/portal/TooltipPortal.d.ts +6 -2
  1755. package/tooltip/portal/TooltipPortal.mjs +1 -2
  1756. package/tooltip/positioner/TooltipPositioner.d.mts +1 -1
  1757. package/tooltip/positioner/TooltipPositioner.d.ts +1 -1
  1758. package/tooltip/positioner/TooltipPositioner.js +3 -4
  1759. package/tooltip/positioner/TooltipPositioner.mjs +3 -4
  1760. package/tooltip/positioner/TooltipPositionerContext.d.mts +1 -1
  1761. package/tooltip/positioner/TooltipPositionerContext.d.ts +1 -1
  1762. package/tooltip/positioner/TooltipPositionerCssVars.d.mts +37 -27
  1763. package/tooltip/positioner/TooltipPositionerCssVars.d.ts +37 -27
  1764. package/tooltip/positioner/TooltipPositionerCssVars.js +38 -29
  1765. package/tooltip/positioner/TooltipPositionerCssVars.mjs +37 -28
  1766. package/tooltip/positioner/TooltipPositionerDataAttributes.d.mts +22 -24
  1767. package/tooltip/positioner/TooltipPositionerDataAttributes.d.ts +22 -24
  1768. package/tooltip/positioner/TooltipPositionerDataAttributes.js +23 -26
  1769. package/tooltip/positioner/TooltipPositionerDataAttributes.mjs +23 -25
  1770. package/tooltip/provider/TooltipProvider.d.mts +1 -1
  1771. package/tooltip/provider/TooltipProvider.d.ts +1 -1
  1772. package/tooltip/provider/TooltipProvider.js +1 -5
  1773. package/tooltip/provider/TooltipProvider.mjs +1 -5
  1774. package/tooltip/provider/TooltipProviderContext.d.mts +5 -6
  1775. package/tooltip/provider/TooltipProviderContext.d.ts +5 -6
  1776. package/tooltip/provider/TooltipProviderContext.js +3 -0
  1777. package/tooltip/provider/TooltipProviderContext.mjs +4 -0
  1778. package/tooltip/root/TooltipRoot.d.mts +1 -1
  1779. package/tooltip/root/TooltipRoot.d.ts +1 -1
  1780. package/tooltip/root/TooltipRoot.js +18 -17
  1781. package/tooltip/root/TooltipRoot.mjs +19 -18
  1782. package/tooltip/store/TooltipHandle.d.mts +15 -12
  1783. package/tooltip/store/TooltipHandle.d.ts +15 -12
  1784. package/tooltip/store/TooltipHandle.js +18 -23
  1785. package/tooltip/store/TooltipHandle.mjs +19 -23
  1786. package/tooltip/store/TooltipStore.d.mts +24 -6
  1787. package/tooltip/store/TooltipStore.d.ts +24 -6
  1788. package/tooltip/store/TooltipStore.js +54 -32
  1789. package/tooltip/store/TooltipStore.mjs +54 -33
  1790. package/tooltip/trigger/TooltipTrigger.d.mts +1 -1
  1791. package/tooltip/trigger/TooltipTrigger.d.ts +1 -1
  1792. package/tooltip/trigger/TooltipTrigger.js +18 -26
  1793. package/tooltip/trigger/TooltipTrigger.mjs +18 -26
  1794. package/tooltip/trigger/TooltipTriggerDataAttributes.d.mts +8 -10
  1795. package/tooltip/trigger/TooltipTriggerDataAttributes.d.ts +8 -10
  1796. package/tooltip/trigger/TooltipTriggerDataAttributes.js +9 -12
  1797. package/tooltip/trigger/TooltipTriggerDataAttributes.mjs +9 -11
  1798. package/tooltip/viewport/TooltipViewport.js +1 -9
  1799. package/tooltip/viewport/TooltipViewport.mjs +2 -9
  1800. package/tooltip/viewport/TooltipViewportCssVars.d.mts +12 -14
  1801. package/tooltip/viewport/TooltipViewportCssVars.d.ts +12 -14
  1802. package/tooltip/viewport/TooltipViewportCssVars.js +13 -16
  1803. package/tooltip/viewport/TooltipViewportCssVars.mjs +12 -15
  1804. package/tooltip/viewport/TooltipViewportDataAttributes.d.mts +24 -26
  1805. package/tooltip/viewport/TooltipViewportDataAttributes.d.ts +24 -26
  1806. package/tooltip/viewport/TooltipViewportDataAttributes.js +25 -28
  1807. package/tooltip/viewport/TooltipViewportDataAttributes.mjs +24 -27
  1808. package/utils/CommonPopupCssVars.d.mts +12 -0
  1809. package/utils/CommonPopupCssVars.d.ts +12 -0
  1810. package/utils/CommonPopupCssVars.js +18 -0
  1811. package/utils/CommonPopupCssVars.mjs +12 -0
  1812. package/utils/CommonPopupDataAttributes.d.mts +30 -0
  1813. package/utils/CommonPopupDataAttributes.d.ts +30 -0
  1814. package/utils/CommonPopupDataAttributes.js +44 -0
  1815. package/utils/CommonPopupDataAttributes.mjs +38 -0
  1816. package/utils/CommonPositionerCssVars.d.mts +37 -0
  1817. package/utils/CommonPositionerCssVars.d.ts +37 -0
  1818. package/utils/CommonPositionerCssVars.js +43 -0
  1819. package/utils/CommonPositionerCssVars.mjs +37 -0
  1820. package/utils/CommonTriggerDataAttributes.d.mts +8 -0
  1821. package/utils/CommonTriggerDataAttributes.d.ts +8 -0
  1822. package/utils/CommonTriggerDataAttributes.js +15 -0
  1823. package/utils/CommonTriggerDataAttributes.mjs +9 -0
  1824. package/utils/CommonViewportDataAttributes.d.mts +7 -0
  1825. package/utils/CommonViewportDataAttributes.d.ts +7 -0
  1826. package/utils/CommonViewportDataAttributes.js +13 -0
  1827. package/utils/CommonViewportDataAttributes.mjs +7 -0
  1828. package/utils/FloatingPortalLite.d.mts +7 -9
  1829. package/utils/FloatingPortalLite.d.ts +7 -9
  1830. package/utils/FloatingPortalLite.js +4 -4
  1831. package/utils/FloatingPortalLite.mjs +4 -5
  1832. package/utils/FocusGuard.d.mts +1 -5
  1833. package/utils/FocusGuard.d.ts +1 -5
  1834. package/utils/InternalBackdrop.d.mts +0 -4
  1835. package/utils/InternalBackdrop.d.ts +0 -4
  1836. package/utils/NullStore.d.mts +15 -0
  1837. package/utils/NullStore.d.ts +15 -0
  1838. package/utils/NullStore.js +23 -0
  1839. package/utils/NullStore.mjs +16 -0
  1840. package/utils/adaptiveOriginConstants.d.mts +8 -0
  1841. package/utils/adaptiveOriginConstants.d.ts +8 -0
  1842. package/utils/adaptiveOriginConstants.js +14 -0
  1843. package/utils/adaptiveOriginConstants.mjs +8 -0
  1844. package/utils/adaptiveOriginMiddleware.d.mts +0 -4
  1845. package/utils/adaptiveOriginMiddleware.d.ts +0 -4
  1846. package/utils/adaptiveOriginMiddleware.js +5 -8
  1847. package/utils/adaptiveOriginMiddleware.mjs +1 -4
  1848. package/utils/closePart.d.mts +1 -4
  1849. package/utils/closePart.d.ts +1 -4
  1850. package/utils/closePart.js +2 -13
  1851. package/utils/closePart.mjs +1 -12
  1852. package/utils/collapsibleOpenStateMapping.js +6 -5
  1853. package/utils/collapsibleOpenStateMapping.mjs +2 -2
  1854. package/utils/dispatchClickWithModifiers.d.mts +21 -0
  1855. package/utils/dispatchClickWithModifiers.d.ts +21 -0
  1856. package/utils/dispatchClickWithModifiers.js +30 -0
  1857. package/utils/dispatchClickWithModifiers.mjs +24 -0
  1858. package/utils/getElementAtPoint.d.mts +3 -1
  1859. package/utils/getElementAtPoint.d.ts +3 -1
  1860. package/utils/getElementAtPoint.js +5 -2
  1861. package/utils/getElementAtPoint.mjs +5 -2
  1862. package/utils/getElementTransform.d.mts +12 -0
  1863. package/utils/getElementTransform.d.ts +12 -0
  1864. package/utils/getElementTransform.js +40 -0
  1865. package/utils/getElementTransform.mjs +35 -0
  1866. package/utils/getPseudoElementBounds.d.mts +5 -0
  1867. package/utils/getPseudoElementBounds.d.ts +5 -0
  1868. package/utils/getPseudoElementBounds.js +14 -0
  1869. package/utils/getPseudoElementBounds.mjs +13 -0
  1870. package/utils/hideMiddleware.js +7 -4
  1871. package/utils/hideMiddleware.mjs +7 -4
  1872. package/utils/listbox-separator/ListboxSeparator.d.mts +18 -0
  1873. package/utils/listbox-separator/ListboxSeparator.d.ts +18 -0
  1874. package/utils/listbox-separator/ListboxSeparator.js +36 -0
  1875. package/utils/listbox-separator/ListboxSeparator.mjs +31 -0
  1876. package/utils/popupStateMapping.d.mts +15 -42
  1877. package/utils/popupStateMapping.d.ts +15 -42
  1878. package/utils/popupStateMapping.js +10 -45
  1879. package/utils/popupStateMapping.mjs +8 -45
  1880. package/utils/popups/index.d.mts +3 -1
  1881. package/utils/popups/index.d.ts +3 -1
  1882. package/utils/popups/index.js +22 -0
  1883. package/utils/popups/index.mjs +3 -1
  1884. package/utils/popups/popupHandle.d.mts +113 -0
  1885. package/utils/popups/popupHandle.d.ts +113 -0
  1886. package/utils/popups/popupHandle.js +229 -0
  1887. package/utils/popups/popupHandle.mjs +222 -0
  1888. package/utils/popups/popupStoreUtils.d.mts +73 -21
  1889. package/utils/popups/popupStoreUtils.d.ts +73 -21
  1890. package/utils/popups/popupStoreUtils.js +184 -92
  1891. package/utils/popups/popupStoreUtils.mjs +181 -89
  1892. package/utils/popups/popupTriggerMap.d.mts +3 -2
  1893. package/utils/popups/popupTriggerMap.d.ts +3 -2
  1894. package/utils/popups/popupTriggerMap.js +48 -21
  1895. package/utils/popups/popupTriggerMap.mjs +48 -21
  1896. package/utils/popups/store.d.mts +21 -5
  1897. package/utils/popups/store.d.ts +21 -5
  1898. package/utils/popups/store.js +46 -39
  1899. package/utils/popups/store.mjs +46 -38
  1900. package/utils/popups/usePopupHandleStore.d.mts +12 -0
  1901. package/utils/popups/usePopupHandleStore.d.ts +12 -0
  1902. package/utils/popups/usePopupHandleStore.js +33 -0
  1903. package/utils/popups/usePopupHandleStore.mjs +27 -0
  1904. package/utils/scrollEdges.js +1 -1
  1905. package/utils/scrollEdges.mjs +1 -1
  1906. package/utils/scrollable.d.mts +2 -0
  1907. package/utils/scrollable.d.ts +2 -0
  1908. package/utils/scrollable.js +20 -12
  1909. package/utils/scrollable.mjs +18 -12
  1910. package/utils/styles.d.mts +1 -1
  1911. package/utils/styles.d.ts +1 -1
  1912. package/utils/usePopupAutoResize.d.mts +1 -1
  1913. package/utils/usePopupAutoResize.d.ts +1 -1
  1914. package/utils/usePopupAutoResize.js +25 -26
  1915. package/utils/usePopupAutoResize.mjs +26 -26
  1916. package/utils/usePopupViewport.d.mts +5 -15
  1917. package/utils/usePopupViewport.d.ts +5 -15
  1918. package/utils/usePopupViewport.js +50 -17
  1919. package/utils/usePopupViewport.mjs +49 -17
  1920. package/utils/usePositioner.js +1 -1
  1921. package/utils/usePositioner.mjs +1 -1
  1922. package/utils/useRegisteredLabelId.d.mts +2 -1
  1923. package/utils/useRegisteredLabelId.d.ts +2 -1
  1924. package/utils/useRegisteredLabelId.js +1 -1
  1925. package/utils/useRegisteredLabelId.mjs +1 -1
  1926. package/utils/useSwipeDismiss.d.mts +0 -5
  1927. package/utils/useSwipeDismiss.d.ts +0 -5
  1928. package/utils/useSwipeDismiss.js +86 -146
  1929. package/utils/useSwipeDismiss.mjs +86 -145
  1930. package/internals/areArraysEqual.d.mts +0 -3
  1931. package/internals/areArraysEqual.d.ts +0 -3
  1932. package/internals/areArraysEqual.js +0 -9
  1933. package/internals/areArraysEqual.mjs +0 -3
  1934. package/internals/clamp.d.mts +0 -1
  1935. package/internals/clamp.d.ts +0 -1
  1936. package/internals/clamp.js +0 -9
  1937. package/internals/clamp.mjs +0 -3
  1938. package/internals/shadowDom.d.mts +0 -3
  1939. package/internals/shadowDom.d.ts +0 -3
  1940. package/internals/shadowDom.js +0 -48
  1941. package/internals/shadowDom.mjs +0 -40
  1942. package/number-field/root/useNumberFieldButton.d.mts +0 -21
  1943. package/number-field/root/useNumberFieldButton.d.ts +0 -21
  1944. package/number-field/root/useNumberFieldButton.js +0 -135
  1945. package/number-field/root/useNumberFieldButton.mjs +0 -130
  1946. package/number-field/utils/subscribeToVisualViewportResize.d.mts +0 -1
  1947. package/number-field/utils/subscribeToVisualViewportResize.d.ts +0 -1
  1948. package/number-field/utils/subscribeToVisualViewportResize.js +0 -23
  1949. package/number-field/utils/subscribeToVisualViewportResize.mjs +0 -18
  1950. package/select/portal/SelectPortalContext.d.mts +0 -3
  1951. package/select/portal/SelectPortalContext.d.ts +0 -3
  1952. package/select/portal/SelectPortalContext.js +0 -21
  1953. package/select/portal/SelectPortalContext.mjs +0 -13
  1954. package/slider/utils/replaceArrayItemAtIndex.d.mts +0 -1
  1955. package/slider/utils/replaceArrayItemAtIndex.d.ts +0 -1
  1956. package/slider/utils/replaceArrayItemAtIndex.js +0 -12
  1957. package/slider/utils/replaceArrayItemAtIndex.mjs +0 -6
  1958. package/slider/utils/valueArrayToPercentages.d.mts +0 -1
  1959. package/slider/utils/valueArrayToPercentages.d.ts +0 -1
  1960. package/slider/utils/valueArrayToPercentages.js +0 -15
  1961. package/slider/utils/valueArrayToPercentages.mjs +0 -9
  1962. package/utils/formatNumber.d.mts +0 -4
  1963. package/utils/formatNumber.d.ts +0 -4
  1964. package/utils/formatNumber.js +0 -41
  1965. package/utils/formatNumber.mjs +0 -32
  1966. package/utils/stringifyLocale.d.mts +0 -1
  1967. package/utils/stringifyLocale.d.ts +0 -1
  1968. package/utils/stringifyLocale.js +0 -15
  1969. package/utils/stringifyLocale.mjs +0 -9
  1970. /package/drawer/content/{DrawerContentDataAttributes.d.mts → drawerContentAttribute.d.mts} +0 -0
  1971. /package/drawer/content/{DrawerContentDataAttributes.d.ts → drawerContentAttribute.d.ts} +0 -0
  1972. /package/drawer/content/{DrawerContentDataAttributes.js → drawerContentAttribute.js} +0 -0
  1973. /package/drawer/content/{DrawerContentDataAttributes.mjs → drawerContentAttribute.mjs} +0 -0
@@ -1,5 +1,6 @@
1
1
  'use client';
2
2
 
3
+ import _formatErrorMessage from "@base-ui/utils/formatErrorMessage";
3
4
  import * as React from 'react';
4
5
  import { useControlled } from '@base-ui/utils/useControlled';
5
6
  import { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';
@@ -9,9 +10,10 @@ import { useMergedRefs } from '@base-ui/utils/useMergedRefs';
9
10
  import { useValueAsRef } from '@base-ui/utils/useValueAsRef';
10
11
  import { visuallyHidden, visuallyHiddenInput } from '@base-ui/utils/visuallyHidden';
11
12
  import { useRefWithInit } from '@base-ui/utils/useRefWithInit';
12
- import { Store, useStore } from '@base-ui/utils/store';
13
+ import { ReactStore } from '@base-ui/utils/store';
13
14
  import { EMPTY_ARRAY, EMPTY_OBJECT } from '@base-ui/utils/empty';
14
- import { useDismiss, useFloatingRootContext, useListNavigation, useClick } from "../../floating-ui-react/index.mjs";
15
+ import { isHTMLElement } from '@floating-ui/utils/dom';
16
+ import { getOverflowAncestors, useDismiss, useFloatingRootContext, useListNavigation, useClick } from "../../floating-ui-react/index.mjs";
15
17
  import { gridNavigation } from "../../floating-ui-react/hooks/gridNavigation.mjs";
16
18
  import { contains, getTarget } from "../../floating-ui-react/utils.mjs";
17
19
  import { createChangeEventDetails, createGenericEventDetails } from "../../internals/createBaseUIEventDetails.mjs";
@@ -23,19 +25,20 @@ import { useFieldRootContext } from "../../internals/field-root-context/FieldRoo
23
25
  import { useRegisterFieldControl } from "../../internals/field-register-control/useRegisterFieldControl.mjs";
24
26
  import { useFormContext } from "../../internals/form-context/FormContext.mjs";
25
27
  import { useLabelableId } from "../../internals/labelable-provider/useLabelableId.mjs";
26
- import { createCollatorItemFilter, createSingleSelectionCollatorFilter } from "./utils/index.mjs";
28
+ import { createCollatorItemFilter } from "./utils/index.mjs";
27
29
  import { useCoreFilter } from "./utils/useFilter.mjs";
28
30
  import { useTransitionStatus } from "../../internals/useTransitionStatus.mjs";
29
31
  import { useOpenInteractionType } from "../../utils/useOpenInteractionType.mjs";
32
+ import { isScrollableY } from "../../utils/scrollable.mjs";
30
33
  import { useValueChanged } from "../../internals/useValueChanged.mjs";
31
34
  import { NOOP } from "../../internals/noop.mjs";
32
35
  import { FOCUSABLE_POPUP_PROPS } from "../../utils/popups/index.mjs";
33
36
  import { mergeProps } from "../../merge-props/index.mjs";
34
- import { stringifyAsLabel, stringifyAsValue, isGroupedItems } from "../../internals/resolveValueLabel.mjs";
35
- import { compareItemEquality, defaultItemEquality, findItemIndex, removeItem, selectedValueIncludes } from "../../internals/itemEquality.mjs";
36
- import { areArraysEqual } from "../../internals/areArraysEqual.mjs";
37
+ import { stringifyAsLabel, stringifyAsValue, flattenLeafItems, isGroupedItems } from "../../internals/resolveValueLabel.mjs";
38
+ import { compareItemEquality, defaultItemEquality, findItemIndex, findSelectionIndex, isSelectedValueDirty, removeItem, selectedValueIncludes } from "../../internals/itemEquality.mjs";
37
39
  import { INITIAL_LAST_HIGHLIGHT, NO_ACTIVE_VALUE } from "./utils/constants.mjs";
38
40
  import { useDirection } from "../../internals/direction-context/DirectionContext.mjs";
41
+ import { findCollectionItem } from "../items/itemCollection.mjs";
39
42
 
40
43
  /**
41
44
  * @internal
@@ -48,11 +51,11 @@ export function AriaCombobox(props) {
48
51
  defaultSelectedValue = null,
49
52
  selectedValue: selectedValueProp,
50
53
  onSelectedValueChange,
51
- defaultInputValue: defaultInputValueProp,
54
+ defaultInputValue,
52
55
  inputValue: inputValueProp,
53
56
  open: openProp,
54
57
  defaultOpen = false,
55
- selectionMode = 'none',
58
+ selectionMode,
56
59
  onItemHighlighted: onItemHighlightedProp,
57
60
  name: nameProp,
58
61
  form,
@@ -61,15 +64,16 @@ export function AriaCombobox(props) {
61
64
  required = false,
62
65
  inputRef: inputRefProp,
63
66
  grid = false,
64
- items,
67
+ items: itemsProp,
65
68
  filteredItems: filteredItemsProp,
66
69
  filter: filterProp,
70
+ filterQuery: filterQueryProp,
67
71
  openOnInputClick = true,
68
72
  autoHighlight = false,
69
73
  keepHighlight = false,
70
74
  highlightItemOnHover = true,
71
75
  loopFocus = true,
72
- itemToStringLabel,
76
+ itemToStringLabel: itemToStringLabelProp,
73
77
  itemToStringValue,
74
78
  isItemEqualToValue = defaultItemEquality,
75
79
  virtualized = false,
@@ -103,8 +107,76 @@ export function AriaCombobox(props) {
103
107
  const collatorFilter = useCoreFilter({
104
108
  locale
105
109
  });
110
+
111
+ // Plain items are arrays; normalized `createItems()` collections are objects.
112
+ const collection = Array.isArray(itemsProp) ? null : itemsProp;
113
+ if (collection && typeof collection.label !== 'function') {
114
+ throw new Error(process.env.NODE_ENV !== "production" ? 'Base UI: the `items` prop received an object that is not a collection, ' + 'so its items cannot be read. Pass an array of items, an array of groups with items, ' + 'or the result of `createItems()`. ' + 'See https://base-ui.com/react/components/combobox#createitems' : _formatErrorMessage(100));
115
+ }
116
+ const items = collection ? collection.data : itemsProp;
117
+ const itemToValue = collection?.value;
118
+
119
+ // A projected collection's items live in the source domain, not the selection-value domain the
120
+ // store matches against, so they are withheld from the store.
121
+ const storeItems = itemToValue ? undefined : items;
122
+
123
+ // The externally filtered items projected to their selection values, with a lookup back to the
124
+ // source items. Declared before `itemToStringLabel`, which resolves labels from it on the
125
+ // first render (initial input value).
126
+ const externalWindow = React.useMemo(() => {
127
+ if (!filteredItemsProp || !itemToValue) {
128
+ return undefined;
129
+ }
130
+ const flat = flattenLeafItems(filteredItemsProp);
131
+ const values = flat.map(itemToValue);
132
+ let valueToItem;
133
+ return {
134
+ values,
135
+ findItem(itemValue, isEqual) {
136
+ if (!valueToItem) {
137
+ valueToItem = new Map();
138
+ for (let i = 0; i < values.length; i += 1) {
139
+ if (!valueToItem.has(values[i])) {
140
+ valueToItem.set(values[i], flat[i]);
141
+ }
142
+ }
143
+ }
144
+ return findCollectionItem(valueToItem, itemValue, isEqual);
145
+ }
146
+ };
147
+ }, [filteredItemsProp, itemToValue]);
148
+
149
+ // Labels selection values from current props only: collection data first, then the current
150
+ // external window, then the prop. Nothing from a past window is remembered — keeping a value
151
+ // resolvable over time means keeping its item in the collection's data.
152
+ const itemToStringLabel = React.useMemo(() => {
153
+ if (!collection) {
154
+ return itemToStringLabelProp;
155
+ }
156
+ return itemValue => {
157
+ return collection.label(itemValue, isItemEqualToValue, unresolvedValue => {
158
+ const externalItem = externalWindow?.findItem(unresolvedValue, isItemEqualToValue);
159
+ if (externalItem != null) {
160
+ return collection.itemLabel(externalItem);
161
+ }
162
+ return stringifyAsLabel(unresolvedValue, itemToStringLabelProp);
163
+ });
164
+ };
165
+ }, [collection, itemToStringLabelProp, externalWindow, isItemEqualToValue]);
166
+ const filterItemToString = React.useMemo(() => {
167
+ if (!collection) {
168
+ return itemToStringLabelProp;
169
+ }
170
+ return Object.assign(item => collection.itemLabel(item), {
171
+ selected: value => stringifyAsLabel(value, itemToStringLabel)
172
+ });
173
+ }, [collection, itemToStringLabel, itemToStringLabelProp]);
174
+ function stringifyValueLabel(item) {
175
+ return stringifyAsLabel(item, itemToStringLabel);
176
+ }
106
177
  const [queryChangedAfterOpen, setQueryChangedAfterOpen] = React.useState(false);
107
178
  const [closeQuery, setCloseQuery] = React.useState(null);
179
+ const previousCloseQueryRef = React.useRef(closeQuery);
108
180
  const listRef = React.useRef([]);
109
181
  const labelsRef = React.useRef([]);
110
182
  const popupRef = React.useRef(null);
@@ -125,17 +197,15 @@ export function AriaCombobox(props) {
125
197
  */
126
198
  const valuesRef = React.useRef([]);
127
199
  /**
128
- * Contains all item values in a stable, unfiltered order.
129
- * This is only used when `items` prop is not provided.
130
- * It accumulates values on first mount and does not remove them on unmount due to
131
- * filtering, providing a stable index for selected value tracking.
200
+ * The item element that received the last `pointerdown`, used to detect whether a
201
+ * `mouseup` on an item belongs to a drag-select gesture that started elsewhere.
132
202
  */
133
- const allValuesRef = React.useRef([]);
203
+ const pointerDownItemRef = React.useRef(null);
134
204
  const disabled = fieldDisabled || disabledProp;
135
205
  const name = fieldName ?? nameProp;
136
206
  const multiple = selectionMode === 'multiple';
137
207
  const single = selectionMode === 'single';
138
- const hasInputValue = inputValueProp !== undefined || defaultInputValueProp !== undefined;
208
+ const hasInputValue = inputValueProp !== undefined || defaultInputValue !== undefined;
139
209
  const hasItems = items !== undefined;
140
210
  const hasFilteredItemsProp = filteredItemsProp !== undefined;
141
211
  let autoHighlightMode;
@@ -157,20 +227,19 @@ export function AriaCombobox(props) {
157
227
  if (filterProp !== undefined) {
158
228
  return filterProp;
159
229
  }
160
- if (single && !queryChangedAfterOpen) {
161
- return createSingleSelectionCollatorFilter(collatorFilter, itemToStringLabel, selectedValue);
162
- }
163
- return createCollatorItemFilter(collatorFilter, itemToStringLabel);
164
- }, [filterProp, single, selectedValue, queryChangedAfterOpen, collatorFilter, itemToStringLabel]);
230
+ // `shouldBypassFiltering` already empties the query whenever a single selection's label
231
+ // matches it exactly, so the filter never needs a selection-aware variant here.
232
+ return createCollatorItemFilter(collatorFilter, filterItemToString);
233
+ }, [filterProp, collatorFilter, filterItemToString]);
165
234
 
166
235
  // If neither inputValue nor defaultInputValue are provided, derive it from the
167
236
  // selected value for single mode so the input reflects the selection on mount.
168
237
  const initialDefaultInputValue = useRefWithInit(() => {
169
238
  if (hasInputValue) {
170
- return defaultInputValueProp ?? '';
239
+ return defaultInputValue ?? '';
171
240
  }
172
241
  if (single) {
173
- return stringifyAsLabel(selectedValue, itemToStringLabel);
242
+ return stringifyValueLabel(selectedValue);
174
243
  }
175
244
  return '';
176
245
  }).current;
@@ -187,20 +256,12 @@ export function AriaCombobox(props) {
187
256
  state: 'open'
188
257
  });
189
258
  const isGrouped = isGroupedItems(items);
190
- const query = closeQuery ?? (inputValue === '' ? '' : String(inputValue).trim());
191
- const selectedLabelString = single ? stringifyAsLabel(selectedValue, itemToStringLabel) : '';
192
- const shouldBypassFiltering = single && !queryChangedAfterOpen && query !== '' && selectedLabelString !== '' && selectedLabelString.length === query.length && collatorFilter.contains(selectedLabelString, query);
193
- const filterQuery = shouldBypassFiltering ? '' : query;
194
- const shouldIgnoreExternalFiltering = hasItems && hasFilteredItemsProp && shouldBypassFiltering;
195
- const flatItems = React.useMemo(() => {
196
- if (!items) {
197
- return EMPTY_ARRAY;
198
- }
199
- if (isGrouped) {
200
- return items.flatMap(group => group.items);
201
- }
202
- return items;
203
- }, [items, isGrouped]);
259
+ const query = !open && closeQuery !== null ? closeQuery : String(inputValue).trim();
260
+ const selectedLabelString = single ? stringifyValueLabel(selectedValue) : '';
261
+ const shouldBypassFiltering = single && !queryChangedAfterOpen && query !== '' && selectedLabelString.length === query.length && collatorFilter.contains(selectedLabelString, query);
262
+ const filterQuery = shouldBypassFiltering ? '' : filterQueryProp ?? query;
263
+ const shouldIgnoreExternalFiltering = hasItems && hasFilteredItemsProp && shouldBypassFiltering && (!collection || collection.hasValue(selectedValue, isItemEqualToValue));
264
+ const flatItems = React.useMemo(() => items ? flattenLeafItems(items) : EMPTY_ARRAY, [items]);
204
265
  const filteredItems = React.useMemo(() => {
205
266
  if (filteredItemsProp && !shouldIgnoreExternalFiltering) {
206
267
  return filteredItemsProp;
@@ -216,12 +277,18 @@ export function AriaCombobox(props) {
216
277
  if (limit > -1 && currentCount >= limit) {
217
278
  break;
218
279
  }
219
- const candidateItems = filterQuery === '' ? group.items : group.items.filter(item => filter(item, filterQuery, itemToStringLabel));
220
- if (candidateItems.length === 0) {
221
- continue;
222
- }
223
280
  const remainingLimit = limit > -1 ? limit - currentCount : Infinity;
224
- const itemsToTake = candidateItems.slice(0, remainingLimit);
281
+ const itemsToTake = filterQuery === '' ? group.items.slice(0, remainingLimit) : [];
282
+ if (filterQuery !== '') {
283
+ for (const item of group.items) {
284
+ if (itemsToTake.length >= remainingLimit) {
285
+ break;
286
+ }
287
+ if (filter(item, filterQuery, filterItemToString)) {
288
+ itemsToTake.push(item);
289
+ }
290
+ }
291
+ }
225
292
  if (itemsToTake.length > 0) {
226
293
  const newGroup = {
227
294
  ...group,
@@ -236,7 +303,7 @@ export function AriaCombobox(props) {
236
303
  if (filterQuery === '') {
237
304
  return limit > -1 ? flatItems.slice(0, limit) :
238
305
  // The cast here is done as `flatItems` is readonly.
239
- // valuesRef.current, a mutable ref, can be set to `flatFilteredItems`, which may
306
+ // valuesRef.current, a mutable ref, can be set to `flatFilteredValues`, which may
240
307
  // reference this exact readonly value, creating a mutation risk.
241
308
  // However, <Combobox.Item> can never mutate this value as the mutating effect
242
309
  // bails early when `items` is provided, and this is only ever returned
@@ -248,89 +315,105 @@ export function AriaCombobox(props) {
248
315
  if (limit > -1 && limitedItems.length >= limit) {
249
316
  break;
250
317
  }
251
- if (filter(item, filterQuery, itemToStringLabel)) {
318
+ if (filter(item, filterQuery, filterItemToString)) {
252
319
  limitedItems.push(item);
253
320
  }
254
321
  }
255
322
  return limitedItems;
256
- }, [filteredItemsProp, shouldIgnoreExternalFiltering, items, isGrouped, filterQuery, limit, filter, itemToStringLabel, flatItems]);
257
- const flatFilteredItems = React.useMemo(() => {
258
- if (isGrouped) {
259
- const groups = filteredItems;
260
- return groups.flatMap(g => g.items);
261
- }
262
- return filteredItems;
263
- }, [filteredItems, isGrouped]);
264
- const store = useRefWithInit(() => new Store({
265
- id,
266
- labelId: undefined,
267
- selectedValue,
268
- open,
269
- filter,
270
- query,
271
- items,
272
- selectionMode,
273
- listRef,
274
- labelsRef,
275
- popupRef,
276
- emptyRef,
277
- inputRef,
278
- startDismissRef,
279
- endDismissRef,
280
- keyboardActiveRef,
281
- chipsContainerRef,
282
- clearRef,
283
- valuesRef,
284
- allValuesRef,
285
- selectionEventRef,
286
- name,
287
- form,
288
- disabled,
289
- readOnly,
290
- required,
291
- grid,
292
- isGrouped,
293
- virtualized,
294
- openOnInputClick,
295
- itemToStringLabel,
296
- isItemEqualToValue,
297
- modal,
298
- autoHighlight: autoHighlightMode,
299
- submitOnItemClick,
300
- hasInputValue,
301
- mounted: false,
302
- forceMounted: false,
303
- transitionStatus: 'idle',
304
- inline: inlineProp,
305
- activeIndex: null,
306
- selectedIndex: null,
307
- popupProps: {},
308
- inputProps: {},
309
- triggerProps: {},
310
- itemProps: EMPTY_OBJECT,
311
- positionerElement: null,
312
- listElement: null,
313
- popupId: undefined,
314
- triggerElement: null,
315
- inputElement: null,
316
- inputGroupElement: null,
317
- popupSide: null,
318
- openMethod: null,
319
- inputInsidePopup: true,
320
- // Avoid duplicate names in the server HTML. Popup inputs aren't rendered
321
- // until after hydration, so the hidden input takes over then if needed.
322
- inputOwnsFormValue: selectionMode === 'none',
323
- onOpenChangeComplete: onOpenChangeCompleteProp || NOOP,
324
- // Placeholder callbacks replaced on first render
325
- setOpen: NOOP,
326
- setInputValue: NOOP,
327
- setSelectedValue: NOOP,
328
- setIndices: NOOP,
329
- onItemHighlighted: NOOP,
330
- handleSelection: NOOP,
331
- forceMount: NOOP,
332
- requestSubmit: NOOP
333
- })).current;
323
+ }, [filteredItemsProp, shouldIgnoreExternalFiltering, items, isGrouped, filterQuery, limit, filter, filterItemToString, flatItems]);
324
+
325
+ /**
326
+ * The filtered items flattened across groups and projected to their selection values.
327
+ */
328
+ const flatFilteredValues = React.useMemo(() => {
329
+ if (externalWindow && filteredItems === filteredItemsProp) {
330
+ return externalWindow.values;
331
+ }
332
+ // Explicit type argument: inferring it from a union of both shapes resolves `Item` to
333
+ // `Group<Item>`, which tsc rejects and tsgo does not.
334
+ const flat = flattenLeafItems(filteredItems);
335
+ return itemToValue ? flat.map(item => itemToValue(item)) : flat;
336
+ }, [filteredItems, filteredItemsProp, externalWindow, itemToValue]);
337
+ const store = useRefWithInit(() => {
338
+ // An inline list open on the first render never gets a closed pass of the closed-state
339
+ // sync effect below, and `items`-prop lists don't self-register their index the way
340
+ // individually rendered `<Combobox.Item>`s do, so the selected item was never highlighted.
341
+ // Seeding the index here lets list navigation highlight and scroll to the selection on
342
+ // mount. Computed once by construction, so a selection or list that resolves after mount
343
+ // doesn't move an existing highlight or scroll the list away.
344
+ let initialSelectedIndex = null;
345
+ if (inlineProp && open && hasItems && selectionMode !== 'none') {
346
+ initialSelectedIndex = findSelectionIndex(flatFilteredValues, selectedValue, isItemEqualToValue, multiple);
347
+ }
348
+ return new ReactStore({
349
+ id,
350
+ labelId: undefined,
351
+ selectedValue,
352
+ open,
353
+ items: storeItems,
354
+ selectionMode,
355
+ name,
356
+ form,
357
+ disabled,
358
+ readOnly,
359
+ required,
360
+ grid,
361
+ virtualized,
362
+ openOnInputClick,
363
+ itemToStringLabel,
364
+ isItemEqualToValue,
365
+ modal,
366
+ autoHighlight: autoHighlightMode,
367
+ submitOnItemClick,
368
+ hasInputValue,
369
+ mounted: false,
370
+ forceMounted: false,
371
+ transitionStatus: 'idle',
372
+ inline: inlineProp,
373
+ activeIndex: null,
374
+ selectedIndex: initialSelectedIndex,
375
+ popupProps: {},
376
+ listProps: {},
377
+ inputProps: {},
378
+ triggerProps: {},
379
+ itemProps: EMPTY_OBJECT,
380
+ positionerElement: null,
381
+ listElement: null,
382
+ popupId: undefined,
383
+ triggerElement: null,
384
+ inputElement: null,
385
+ inputGroupElement: null,
386
+ popupSide: null,
387
+ openMethod: null,
388
+ inputInsidePopup: true,
389
+ // Avoid duplicate names in the server HTML. Popup inputs aren't rendered
390
+ // until after hydration, so the hidden input takes over then if needed.
391
+ inputOwnsFormValue: selectionMode === 'none'
392
+ }, {
393
+ // Placeholder callbacks replaced on first render
394
+ onOpenChangeComplete: NOOP,
395
+ setOpen: NOOP,
396
+ setInputValue: NOOP,
397
+ setSelectedValue: NOOP,
398
+ setIndices: NOOP,
399
+ handleSelection: NOOP,
400
+ forceMount: NOOP,
401
+ requestSubmit: NOOP,
402
+ listRef,
403
+ labelsRef,
404
+ popupRef,
405
+ emptyRef,
406
+ inputRef,
407
+ startDismissRef,
408
+ endDismissRef,
409
+ keyboardActiveRef,
410
+ chipsContainerRef,
411
+ clearRef,
412
+ valuesRef,
413
+ pointerDownItemRef,
414
+ selectionEventRef
415
+ }, selectors);
416
+ }).current;
334
417
  const fieldRawValue = selectionMode === 'none' ? inputValue : selectedValue;
335
418
  const fieldStringValue = React.useMemo(() => {
336
419
  if (selectionMode === 'none') {
@@ -343,16 +426,17 @@ export function AriaCombobox(props) {
343
426
  }, [fieldRawValue, itemToStringValue, selectionMode, selectedValue]);
344
427
  const onItemHighlighted = useStableCallback(onItemHighlightedProp);
345
428
  const onOpenChangeComplete = useStableCallback(onOpenChangeCompleteProp);
346
- const activeIndex = useStore(store, selectors.activeIndex);
347
- const selectedIndex = useStore(store, selectors.selectedIndex);
348
- const positionerElement = useStore(store, selectors.positionerElement);
349
- const listElement = useStore(store, selectors.listElement);
350
- const triggerElement = useStore(store, selectors.triggerElement);
351
- const inputElement = useStore(store, selectors.inputElement);
352
- const inputGroupElement = useStore(store, selectors.inputGroupElement);
353
- const inline = useStore(store, selectors.inline);
354
- const inputInsidePopup = useStore(store, selectors.inputInsidePopup);
355
- const inputOwnsFormValue = useStore(store, selectors.inputOwnsFormValue);
429
+ const activeIndex = store.useState('activeIndex');
430
+ const selectedIndex = store.useState('selectedIndex');
431
+ const positionerElement = store.useState('positionerElement');
432
+ const listElement = store.useState('listElement');
433
+ const triggerElement = store.useState('triggerElement');
434
+ const inputElement = store.useState('inputElement');
435
+ const inputGroupElement = store.useState('inputGroupElement');
436
+ const inline = store.useState('inline');
437
+ const inputInsidePopup = store.useState('inputInsidePopup');
438
+ const inputOwnsFormValue = store.useState('inputOwnsFormValue');
439
+ const inputMatchesSelectedValue = single && !inputInsidePopup && inputValue === selectedLabelString;
356
440
  const triggerRef = useValueAsRef(triggerElement);
357
441
  const {
358
442
  mounted,
@@ -368,52 +452,69 @@ export function AriaCombobox(props) {
368
452
  const forceMount = useStableCallback(() => {
369
453
  if (items) {
370
454
  // Ensure typeahead works on a closed list.
371
- labelsRef.current = flatFilteredItems.map(item => stringifyAsLabel(item, itemToStringLabel));
455
+ labelsRef.current = flatFilteredValues.map(stringifyValueLabel);
372
456
  } else {
373
457
  store.set('forceMounted', true);
374
458
  }
375
459
  });
376
- const initialSelectedValueRef = React.useRef(selectedValue);
377
- useIsoLayoutEffect(() => {
378
- // Ensure the values and labels are registered for programmatic value changes.
379
- if (selectedValue !== initialSelectedValueRef.current) {
380
- forceMount();
460
+
461
+ /**
462
+ * Emits `onItemHighlighted` for the item at `index`, or clears the highlight when `index` is `-1`
463
+ * (a no-op if nothing was highlighted). Keeps `lastHighlightRef` in sync with what was emitted.
464
+ */
465
+ const emitHighlight = useStableCallback((value, index, type) => {
466
+ if (index === -1) {
467
+ if (lastHighlightRef.current === INITIAL_LAST_HIGHLIGHT) {
468
+ return;
469
+ }
470
+ lastHighlightRef.current = INITIAL_LAST_HIGHLIGHT;
471
+ } else {
472
+ lastHighlightRef.current = {
473
+ value,
474
+ index
475
+ };
381
476
  }
382
- }, [forceMount, selectedValue]);
477
+ onItemHighlighted(value, createGenericEventDetails(type, undefined, {
478
+ index
479
+ }));
480
+ });
383
481
  const setIndices = useStableCallback(options => {
384
- store.update(options);
385
- const type = options.type || 'none';
386
- if (options.activeIndex === undefined) {
482
+ const update = {};
483
+ if (options.activeIndex !== undefined) {
484
+ update.activeIndex = options.activeIndex;
485
+ }
486
+ if (options.selectedIndex !== undefined) {
487
+ update.selectedIndex = options.selectedIndex;
488
+ }
489
+ store.update(update);
490
+ const activeIndexOption = options.activeIndex;
491
+ if (activeIndexOption === undefined) {
387
492
  return;
388
493
  }
389
- if (options.activeIndex === null) {
390
- if (lastHighlightRef.current !== INITIAL_LAST_HIGHLIGHT) {
391
- lastHighlightRef.current = INITIAL_LAST_HIGHLIGHT;
392
- onItemHighlighted(undefined, createGenericEventDetails(type, undefined, {
393
- index: -1
394
- }));
395
- }
494
+ const type = options.type || REASONS.none;
495
+ if (activeIndexOption === null) {
496
+ emitHighlight(undefined, -1, type);
396
497
  } else {
397
- const activeValue = valuesRef.current[options.activeIndex];
398
- lastHighlightRef.current = {
399
- value: activeValue,
400
- index: options.activeIndex
401
- };
402
- onItemHighlighted(activeValue, createGenericEventDetails(type, undefined, {
403
- index: options.activeIndex
404
- }));
498
+ emitHighlight(valuesRef.current[activeIndexOption], activeIndexOption, type);
405
499
  }
406
500
  });
407
501
  const setInputValue = useStableCallback((next, eventDetails) => {
408
- hadInputClearRef.current = eventDetails.reason === REASONS.inputClear;
409
502
  props.onInputValueChange?.(next, eventDetails);
410
503
  if (eventDetails.isCanceled) {
411
504
  return;
412
505
  }
413
506
 
507
+ // A canceled selection clear must not suppress close-completion cleanup.
508
+ hadInputClearRef.current = eventDetails.reason === REASONS.inputClear;
509
+
414
510
  // If user is typing, ensure we don't auto-highlight on open due to a race
415
511
  // with the post-open effect that sets this flag.
416
512
  if (eventDetails.reason === REASONS.inputChange) {
513
+ // A controlled popup may ignore a close request. Resuming input proves the popup
514
+ // is remaining open, so release the query captured for an exit animation.
515
+ if (open && closeQuery !== null) {
516
+ setCloseQuery(null);
517
+ }
417
518
  const event = eventDetails.event;
418
519
  const inputType = event.inputType;
419
520
  // Treat composition commits as typed input; autofill may omit `inputType` or
@@ -429,13 +530,51 @@ export function AriaCombobox(props) {
429
530
  pendingQueryHighlightRef.current = {
430
531
  hasQuery
431
532
  };
432
- if (hasQuery && autoHighlightMode && store.state.activeIndex == null) {
533
+
534
+ // Virtualized lists own their scroller. Reset regular lists directly so a stale
535
+ // composite registry cannot select a reordered item and scrolling cannot escape
536
+ // the popup.
537
+ const list = store.state.listElement;
538
+ if (!store.state.virtualized && list) {
539
+ const popup = popupRef.current;
540
+ for (const ancestor of getOverflowAncestors(list.firstElementChild ?? list)) {
541
+ if (!isHTMLElement(ancestor) || (popup ? !contains(popup, ancestor) : ancestor.getAttribute('role') === 'dialog')) {
542
+ break;
543
+ }
544
+ if (isScrollableY(ancestor)) {
545
+ ancestor.scrollTop = 0;
546
+ break;
547
+ }
548
+ }
549
+ }
550
+ if (hasQuery && autoHighlightMode && store.state.activeIndex == null && (open || inline)) {
433
551
  store.set('activeIndex', 0);
434
552
  }
435
553
  }
554
+ } else if (eventDetails.reason === REASONS.inputClear && next === '' && store.state.inputInsidePopup) {
555
+ // A programmatic clear of an active query (e.g. after selecting an item with the
556
+ // input inside the popup): restore the highlight to the selected item.
557
+ pendingQueryHighlightRef.current = {
558
+ hasQuery: false,
559
+ selection: true
560
+ };
436
561
  }
437
562
  setInputValueUnwrapped(next);
438
563
  });
564
+ const handleInterruptedReopen = useStableCallback(isInputChange => {
565
+ // Preserve values supplied with the reopen rather than owned by the interrupted close.
566
+ const clearsPendingInput = !isInputChange && inputInsidePopup && !inline && inputValue !== '' && (String(inputValue).trim() === closeQuery || inputValue === selectedLabelString);
567
+
568
+ // Keep the flag while a visible filter survives so the `items` sync cannot overwrite it.
569
+ if (!isInputChange && (clearsPendingInput || inputValue === '' || inputMatchesSelectedValue)) {
570
+ setQueryChangedAfterOpen(false);
571
+ }
572
+ setCloseQuery(null);
573
+ if (clearsPendingInput) {
574
+ // Cleanup clears omit the selection flag and reopening gesture.
575
+ setInputValue('', createChangeEventDetails(REASONS.inputClear));
576
+ }
577
+ });
439
578
  const setOpen = useStableCallback((nextOpen, eventDetails) => {
440
579
  if (open === nextOpen) {
441
580
  return;
@@ -444,22 +583,17 @@ export function AriaCombobox(props) {
444
583
  // If the `Empty` component is not used, the positioner or popup should be hidden
445
584
  // with CSS. In this case, allow the Escape key to bubble to close a parent popup
446
585
  // if there are no items to show.
447
- if (eventDetails.reason === 'escape-key' && hasItems && flatFilteredItems.length === 0 && !store.state.emptyRef.current) {
586
+ if (eventDetails.reason === REASONS.escapeKey && hasItems && flatFilteredValues.length === 0 && !emptyRef.current) {
448
587
  eventDetails.allowPropagation();
449
588
  }
450
589
  props.onOpenChange?.(nextOpen, eventDetails);
451
590
  if (eventDetails.isCanceled) {
452
591
  return;
453
592
  }
454
-
455
- // If reopening interrupts the close animation, handleUnmount won't run to clear the
456
- // frozen closeQuery and pending popup input.
457
- if (nextOpen && multiple && inputInsidePopup && !inline && closeQuery !== null) {
458
- setQueryChangedAfterOpen(false);
459
- setCloseQuery(null);
460
- if (inputValue !== '') {
461
- setInputValue('', createChangeEventDetails(REASONS.inputClear, eventDetails.event));
462
- }
593
+ if (nextOpen && closeQuery !== null) {
594
+ // `ComboboxInput` calls `setInputValue` before `setOpen`, so on an input-change reopen
595
+ // `inputValue` is still the pre-keystroke value and the typed filter always survives.
596
+ handleInterruptedReopen(eventDetails.reason === REASONS.inputChange);
463
597
  }
464
598
  if (!nextOpen && queryChangedAfterOpen) {
465
599
  if (single) {
@@ -485,7 +619,9 @@ export function AriaCombobox(props) {
485
619
  // if the input is outside the popup. When the input is inside the popup, defer the clear until
486
620
  // unmount so the filtered list doesn't flash to unfiltered during the exit animation.
487
621
  if (!inputInsidePopup || inline) {
488
- setInputValue('', createChangeEventDetails(REASONS.inputClear, eventDetails.event));
622
+ setInputValue('', createChangeEventDetails(REASONS.inputClear, eventDetails.event, undefined, {
623
+ isItemPress: eventDetails.reason === REASONS.itemPress
624
+ }));
489
625
  }
490
626
  }
491
627
  }
@@ -509,20 +645,10 @@ export function AriaCombobox(props) {
509
645
  setSelectedValueUnwrapped(nextValue);
510
646
  const shouldFillInput = selectionMode === 'none' && popupRef.current && fillInputOnItemPress || single && !store.state.inputInsidePopup;
511
647
  if (shouldFillInput) {
512
- setInputValue(stringifyAsLabel(nextValue, itemToStringLabel), createChangeEventDetails(eventDetails.reason, eventDetails.event));
513
- }
514
- if (single && nextValue != null && eventDetails.reason !== REASONS.inputChange && queryChangedAfterOpen && !inline) {
515
- setCloseQuery(query);
648
+ setInputValue(stringifyValueLabel(nextValue), createChangeEventDetails(eventDetails.reason, eventDetails.event));
516
649
  }
517
650
  });
518
- const handleSelection = useStableCallback((event, passedValue) => {
519
- let itemValue = passedValue;
520
- if (itemValue === undefined) {
521
- if (activeIndex === null) {
522
- return;
523
- }
524
- itemValue = valuesRef.current[activeIndex];
525
- }
651
+ const handleSelection = useStableCallback((event, itemValue) => {
526
652
  const targetEl = getTarget(event);
527
653
  const overrideEvent = selectionEventRef.current ?? event;
528
654
  selectionEventRef.current = null;
@@ -538,8 +664,8 @@ export function AriaCombobox(props) {
538
664
  }
539
665
  if (multiple) {
540
666
  const currentSelectedValue = Array.isArray(selectedValue) ? selectedValue : [];
541
- const isCurrentlySelected = selectedValueIncludes(currentSelectedValue, itemValue, store.state.isItemEqualToValue);
542
- const nextValue = isCurrentlySelected ? removeItem(currentSelectedValue, itemValue, store.state.isItemEqualToValue) : [...currentSelectedValue, itemValue];
667
+ const isCurrentlySelected = selectedValueIncludes(currentSelectedValue, itemValue, isItemEqualToValue);
668
+ const nextValue = isCurrentlySelected ? removeItem(currentSelectedValue, itemValue, isItemEqualToValue) : [...currentSelectedValue, itemValue];
543
669
  setSelectedValue(nextValue, eventDetails);
544
670
  if (eventDetails.isCanceled) {
545
671
  return;
@@ -549,7 +675,15 @@ export function AriaCombobox(props) {
549
675
  return;
550
676
  }
551
677
  if (store.state.inputInsidePopup) {
552
- setInputValue('', createChangeEventDetails(REASONS.inputClear, eventDetails.event));
678
+ setInputValue('', createChangeEventDetails(REASONS.inputClear, eventDetails.event, undefined, {
679
+ isItemPress: true
680
+ }));
681
+ // A newly selected item stays highlighted through the clear; a deselection
682
+ // falls back to the standard selection anchor.
683
+ const pendingHighlight = pendingQueryHighlightRef.current;
684
+ if (pendingHighlight && !isCurrentlySelected) {
685
+ pendingHighlight.toggledValue = itemValue;
686
+ }
553
687
  } else {
554
688
  setOpen(false, eventDetails);
555
689
  }
@@ -562,9 +696,6 @@ export function AriaCombobox(props) {
562
696
  }
563
697
  });
564
698
  const requestSubmit = useStableCallback(() => {
565
- if (!store.state.submitOnItemClick) {
566
- return;
567
- }
568
699
  const formElement = validation.inputRef.current?.form ?? store.state.inputElement?.form;
569
700
  if (formElement && typeof formElement.requestSubmit === 'function') {
570
701
  formElement.requestSubmit();
@@ -602,7 +733,7 @@ export function AriaCombobox(props) {
602
733
  setInputValue('', createChangeEventDetails(REASONS.inputClear));
603
734
  }
604
735
  } else {
605
- const stringVal = stringifyAsLabel(selectedValue, itemToStringLabel);
736
+ const stringVal = stringifyValueLabel(selectedValue);
606
737
  if (inputRef.current && inputRef.current.value !== stringVal) {
607
738
  // If no selection was made, treat this as clearing the typed filter.
608
739
  const reason = stringVal === '' ? REASONS.inputClear : REASONS.none;
@@ -638,68 +769,113 @@ export function AriaCombobox(props) {
638
769
  unmount: handleUnmount
639
770
  }), [handleUnmount]);
640
771
  useIsoLayoutEffect(function syncSelectedIndex() {
641
- if (open || selectionMode === 'none') {
772
+ const closeQueryReleased = previousCloseQueryRef.current !== null && closeQuery === null;
773
+ previousCloseQueryRef.current = closeQuery;
774
+
775
+ // Closing indexes against the frozen filtered list. Reopening releases that query, so its
776
+ // rendered coordinates must be synchronized again even though the popup is already open.
777
+ if (open && (!closeQueryReleased || !hasItems)) {
642
778
  return;
643
779
  }
644
- const registry = items ? flatItems : allValuesRef.current;
645
- if (multiple) {
646
- const currentValue = Array.isArray(selectedValue) ? selectedValue : [];
647
- const lastValue = currentValue[currentValue.length - 1];
648
- const lastIndex = findItemIndex(registry, lastValue, isItemEqualToValue);
649
- setIndices({
650
- selectedIndex: lastIndex === -1 ? null : lastIndex
651
- });
652
- } else {
653
- const index = findItemIndex(registry, selectedValue, isItemEqualToValue);
654
- setIndices({
655
- selectedIndex: index === -1 ? null : index
656
- });
780
+
781
+ // State-driven (not tied to the internal event path) so controlled closes
782
+ // also clear a pointerdown that never received a matching item mouseup.
783
+ if (!open) {
784
+ pointerDownItemRef.current = null;
785
+ }
786
+ if (selectionMode === 'none') {
787
+ return;
657
788
  }
658
- }, [open, selectedValue, items, selectionMode, flatItems, multiple, isItemEqualToValue, setIndices]);
789
+
790
+ // Without `items`, look the selection up in the live registry of mounted item
791
+ // values (the list stays mounted while closed when closed-state features need
792
+ // it — trigger interaction and rendered-label autofill force-mount it). Mounted
793
+ // items re-assert the index themselves when their registration moves; when
794
+ // nothing is mounted the lookup resolves to `null` and each item re-registers
795
+ // the index on the next open.
796
+ // Keep the selected index in the coordinates of the list that is actually rendered.
797
+ const registry = hasItems ? flatFilteredValues : valuesRef.current;
798
+ setIndices({
799
+ selectedIndex: findSelectionIndex(registry, selectedValue, isItemEqualToValue, multiple)
800
+ });
801
+ }, [open, closeQuery, selectedValue, selectionMode, multiple, hasItems, flatFilteredValues, isItemEqualToValue, setIndices]);
659
802
  useIsoLayoutEffect(() => {
660
803
  if (items) {
661
- valuesRef.current = flatFilteredItems;
662
- listRef.current.length = flatFilteredItems.length;
804
+ valuesRef.current = flatFilteredValues;
805
+ listRef.current.length = flatFilteredValues.length;
663
806
  }
664
- }, [items, flatFilteredItems]);
807
+ }, [items, flatFilteredValues]);
665
808
  useIsoLayoutEffect(() => {
666
809
  const pendingHighlight = pendingQueryHighlightRef.current;
667
810
  if (pendingHighlight) {
811
+ // A directly rendered list remains visible when the popup state is closed, while a
812
+ // kept-mounted Positioner is hidden and should stay inert.
813
+ const listIsNavigable = open || inline || store.state.positionerElement?.hidden === false;
668
814
  if (pendingHighlight.hasQuery) {
669
- if (autoHighlightMode) {
815
+ if (autoHighlightMode && listIsNavigable) {
670
816
  store.set('activeIndex', 0);
671
817
  }
672
- } else if (autoHighlightMode === 'always') {
673
- store.set('activeIndex', 0);
818
+ pendingQueryHighlightRef.current = null;
819
+ } else if (String(inputValue).trim() === '') {
820
+ // Only handle the clear once it has committed (a controlled input may reject it),
821
+ // so a restore cannot fire while a query is still active.
822
+ pendingQueryHighlightRef.current = null;
823
+ if (listIsNavigable) {
824
+ const clearedBySelection = pendingHighlight.selection;
825
+ if (autoHighlightMode === 'always' && !clearedBySelection && store.state.selectionMode === 'none') {
826
+ // There is no selection to restore in Autocomplete. Keep the first-item reset
827
+ // synchronous so list navigation sees it before a directly rendered list closes.
828
+ store.set('activeIndex', 0);
829
+ }
830
+
831
+ // Items re-mounted by the clear publish their composite indices in a follow-up
832
+ // commit, so the item registries are mid-update here. Defer past React's cascade.
833
+ queueMicrotask(() => {
834
+ if (!store.state.open && !store.state.inline || inputRef.current && inputRef.current.value.trim() !== '') {
835
+ return;
836
+ }
837
+
838
+ // Return the highlight to the selected item, the same anchor the popup uses
839
+ // when it first opens. Read the selection through the store so consumers can
840
+ // pass an inline `isItemEqualToValue` or a fresh `selectedValue` array without
841
+ // re-running this effect on every render.
842
+ const currentSelectedValue = store.state.selectedValue;
843
+ const isMultiple = store.state.selectionMode === 'multiple';
844
+ const hasSelection = isMultiple && Array.isArray(currentSelectedValue) ? currentSelectedValue.length > 0 : store.state.selectionMode !== 'none' && currentSelectedValue != null;
845
+ if (hasSelection) {
846
+ const registry = hasItems || hasFilteredItemsProp ? flatFilteredValues : valuesRef.current;
847
+ // A selection-driven clear keeps the just-selected item highlighted;
848
+ // otherwise return to the open anchor. A selection that is no longer in
849
+ // the list drops the highlight rather than leaving it on whichever item
850
+ // now occupies that index.
851
+ // `findItemIndex` resolves to -1 when no value was toggled.
852
+ const toggledIndex = findItemIndex(registry, pendingHighlight.toggledValue, store.state.isItemEqualToValue);
853
+ store.set('activeIndex', toggledIndex !== -1 ? toggledIndex : findSelectionIndex(registry, currentSelectedValue, store.state.isItemEqualToValue, isMultiple));
854
+ } else if (clearedBySelection) {
855
+ store.set('activeIndex', null);
856
+ } else if (autoHighlightMode === 'always') {
857
+ store.set('activeIndex', 0);
858
+ }
859
+ });
860
+ }
674
861
  }
675
- pendingQueryHighlightRef.current = null;
676
862
  }
677
863
  if (!open && !inline) {
678
864
  return;
679
865
  }
680
- const shouldUseFlatFilteredItems = hasItems || hasFilteredItemsProp;
681
- const candidateItems = shouldUseFlatFilteredItems ? flatFilteredItems : valuesRef.current;
866
+ const shouldUseFlatFilteredValues = hasItems || hasFilteredItemsProp;
867
+ const candidateItems = shouldUseFlatFilteredValues ? flatFilteredValues : valuesRef.current;
682
868
  const storeActiveIndex = store.state.activeIndex;
683
869
  if (storeActiveIndex == null) {
684
870
  if (autoHighlightMode === 'always' && candidateItems.length > 0) {
685
871
  store.set('activeIndex', 0);
686
872
  return;
687
873
  }
688
- if (lastHighlightRef.current !== INITIAL_LAST_HIGHLIGHT) {
689
- lastHighlightRef.current = INITIAL_LAST_HIGHLIGHT;
690
- store.state.onItemHighlighted(undefined, createGenericEventDetails(REASONS.none, undefined, {
691
- index: -1
692
- }));
693
- }
874
+ emitHighlight(undefined, -1, REASONS.none);
694
875
  return;
695
876
  }
696
877
  if (storeActiveIndex >= candidateItems.length) {
697
- if (lastHighlightRef.current !== INITIAL_LAST_HIGHLIGHT) {
698
- lastHighlightRef.current = INITIAL_LAST_HIGHLIGHT;
699
- store.state.onItemHighlighted(undefined, createGenericEventDetails(REASONS.none, undefined, {
700
- index: -1
701
- }));
702
- }
878
+ emitHighlight(undefined, -1, REASONS.none);
703
879
  store.set('activeIndex', null);
704
880
  return;
705
881
  }
@@ -707,15 +883,12 @@ export function AriaCombobox(props) {
707
883
  const previouslyHighlightedItemValue = lastHighlightRef.current.value;
708
884
  const isSameItem = previouslyHighlightedItemValue !== NO_ACTIVE_VALUE && compareItemEquality(itemValue, previouslyHighlightedItemValue, store.state.isItemEqualToValue);
709
885
  if (lastHighlightRef.current.index !== storeActiveIndex || !isSameItem) {
710
- lastHighlightRef.current = {
711
- value: itemValue,
712
- index: storeActiveIndex
713
- };
714
- store.state.onItemHighlighted(itemValue, createGenericEventDetails(REASONS.none, undefined, {
715
- index: storeActiveIndex
716
- }));
886
+ emitHighlight(itemValue, storeActiveIndex, REASONS.none);
717
887
  }
718
- }, [activeIndex, autoHighlightMode, hasFilteredItemsProp, hasItems, flatFilteredItems, inline, open, store]);
888
+ }, [activeIndex, autoHighlightMode, emitHighlight, hasFilteredItemsProp, hasItems, flatFilteredValues, inline, open, store,
889
+ // Reruns the effect when the query changes without affecting the deps above, such as
890
+ // clearing the input when no items are filtered out (individually rendered items).
891
+ inputValue]);
719
892
  useIsoLayoutEffect(() => {
720
893
  if (selectionMode === 'none') {
721
894
  setFilled(String(inputValue) !== '');
@@ -727,56 +900,67 @@ export function AriaCombobox(props) {
727
900
  // Ensures that the active index is not set to 0 when the list is empty.
728
901
  // This avoids needing to press ArrowDown twice under certain conditions.
729
902
  React.useEffect(() => {
730
- if (hasItems && autoHighlightMode && flatFilteredItems.length === 0) {
903
+ if (hasItems && autoHighlightMode && flatFilteredValues.length === 0) {
731
904
  setIndices({
732
905
  activeIndex: null
733
906
  });
734
907
  }
735
- }, [hasItems, autoHighlightMode, flatFilteredItems.length, setIndices]);
736
- function isSelectedValueDirty(value) {
737
- const initialValue = validityData.initialValue;
738
- if (Array.isArray(value) && Array.isArray(initialValue)) {
739
- return !areArraysEqual(value, initialValue, (itemValue, initialItemValue) => compareItemEquality(itemValue, initialItemValue, isItemEqualToValue));
908
+ }, [hasItems, autoHighlightMode, flatFilteredValues.length, setIndices]);
909
+ function handleQueryChanged() {
910
+ if (open && query !== '' && query !== String(initialDefaultInputValue) && !inputMatchesSelectedValue) {
911
+ setQueryChangedAfterOpen(true);
740
912
  }
741
- return value !== initialValue;
742
913
  }
743
- useValueChanged(query, () => {
744
- if (!open || query === '' || query === String(initialDefaultInputValue)) {
745
- return;
914
+ function handleOpenChanged() {
915
+ // A controlled `open` prop can interrupt the close without calling `setOpen`.
916
+ if (open && closeQuery !== null) {
917
+ handleInterruptedReopen(false);
746
918
  }
747
- setQueryChangedAfterOpen(true);
748
- });
749
- useValueChanged(selectedValue, () => {
919
+ }
920
+
921
+ // These sync triggers can run in the same commit while still seeing the pre-commit `inputValue`.
922
+ // This render-scoped flag prevents duplicate callbacks and resets so canceled writes can retry.
923
+ let syncedSelectedLabel = false;
924
+ function syncInputToSelectedLabel() {
925
+ if (!syncedSelectedLabel && inputValue !== selectedLabelString) {
926
+ syncedSelectedLabel = true;
927
+ setInputValue(selectedLabelString, createChangeEventDetails(REASONS.none));
928
+ }
929
+ }
930
+ function handleSelectedValueChanged() {
750
931
  if (selectionMode === 'none') {
751
932
  return;
752
933
  }
753
934
  clearErrors(name);
754
- setDirty(isSelectedValueDirty(selectedValue));
935
+ setDirty(isSelectedValueDirty(selectedValue, validityData.initialValue, isItemEqualToValue));
755
936
  validation.change(selectedValue);
756
937
  if (single && !hasInputValue && !inputInsidePopup) {
757
- const nextInputValue = stringifyAsLabel(selectedValue, itemToStringLabel);
758
- if (inputValue !== nextInputValue) {
759
- setInputValue(nextInputValue, createChangeEventDetails(REASONS.none));
760
- }
938
+ syncInputToSelectedLabel();
761
939
  }
762
- });
763
- useValueChanged(inputValue, () => {
940
+ }
941
+
942
+ // The label catches accessor changes while the items identity restores the selected label after
943
+ // a one-step input clear followed by a data reload. The shared sync prevents duplicate writes
944
+ // when both change in the same commit.
945
+ function syncInputAfterItemsOrLabelChange() {
946
+ if (single && !hasInputValue && !inputInsidePopup && !queryChangedAfterOpen) {
947
+ syncInputToSelectedLabel();
948
+ }
949
+ }
950
+ function handleInputValueChanged() {
764
951
  if (selectionMode !== 'none') {
765
952
  return;
766
953
  }
767
954
  clearErrors(name);
768
955
  setDirty(inputValue !== validityData.initialValue);
769
956
  validation.change(inputValue);
770
- });
771
- useValueChanged(items, () => {
772
- if (!single || hasInputValue || inputInsidePopup || queryChangedAfterOpen) {
773
- return;
774
- }
775
- const nextInputValue = stringifyAsLabel(selectedValue, itemToStringLabel);
776
- if (inputValue !== nextInputValue) {
777
- setInputValue(nextInputValue, createChangeEventDetails(REASONS.none));
778
- }
779
- });
957
+ }
958
+ useValueChanged(query, handleQueryChanged);
959
+ useValueChanged(open, handleOpenChanged);
960
+ useValueChanged(selectedValue, handleSelectedValueChanged);
961
+ useValueChanged(selectedLabelString, syncInputAfterItemsOrLabelChange);
962
+ useValueChanged(items, syncInputAfterItemsOrLabelChange);
963
+ useValueChanged(inputValue, handleInputValueChanged);
780
964
  const floatingRootContext = useFloatingRootContext({
781
965
  open: inline ? true : open,
782
966
  onOpenChange: setOpen,
@@ -785,18 +969,19 @@ export function AriaCombobox(props) {
785
969
  floating: positionerElement
786
970
  }
787
971
  });
788
- let ariaHasPopup;
789
- let ariaExpanded;
790
- if (!inline) {
791
- ariaHasPopup = grid ? 'grid' : 'listbox';
792
- ariaExpanded = open ? 'true' : 'false';
793
- }
972
+ const ariaHasPopup = grid ? 'grid' : 'listbox';
973
+ // An inline list isn't gated on `open`: it renders for as long as it's in the tree, so the
974
+ // combobox is permanently expanded even while the internal open state is `false`.
975
+ const expanded = open || inline;
976
+ const ariaExpanded = expanded ? 'true' : 'false';
794
977
  const role = React.useMemo(() => {
795
978
  const isPlainInput = inputElement?.tagName === 'INPUT';
796
979
  // During SSR and initial hydration, the input ref is not available yet.
797
980
  // Assume an input-like control so combobox ARIA attributes are present.
798
981
  const shouldTreatAsInput = inputElement == null || isPlainInput;
799
- const shouldApplyAria = shouldTreatAsInput || open;
982
+ // A non-input control only takes on combobox semantics while the list is exposed, which for
983
+ // an inline list is the whole time.
984
+ const shouldApplyAria = shouldTreatAsInput || expanded;
800
985
  const reference = shouldTreatAsInput ? {
801
986
  autoComplete: 'off',
802
987
  spellCheck: 'false',
@@ -807,8 +992,9 @@ export function AriaCombobox(props) {
807
992
  reference.role = 'combobox';
808
993
  reference['aria-expanded'] = ariaExpanded;
809
994
  reference['aria-haspopup'] = ariaHasPopup;
810
- reference['aria-controls'] = open ? listElement?.id : undefined;
811
- reference['aria-autocomplete'] = autoComplete;
995
+ reference['aria-controls'] = expanded ? listElement?.id : undefined;
996
+ // `readOnly` accepts no input, so no completion of any kind is offered.
997
+ reference['aria-autocomplete'] = readOnly ? 'none' : autoComplete;
812
998
  }
813
999
  return {
814
1000
  reference,
@@ -816,9 +1002,13 @@ export function AriaCombobox(props) {
816
1002
  role: 'presentation'
817
1003
  }
818
1004
  };
819
- }, [inputElement, open, ariaExpanded, ariaHasPopup, listElement?.id, autoComplete]);
1005
+ }, [inputElement, expanded, ariaExpanded, ariaHasPopup, listElement?.id, autoComplete, readOnly]);
1006
+
1007
+ // `readOnly` locks the value, not the interaction: the popup opens and can be browsed.
1008
+ // Value changes stay blocked in `ComboboxItem`, `ComboboxInput`'s keydown, `ComboboxTrigger`'s
1009
+ // typeahead, the clear/remove parts, and the hidden input's autofill handler.
820
1010
  const click = useClick(floatingRootContext, {
821
- enabled: !readOnly && !disabled && openOnInputClick,
1011
+ enabled: !disabled && openOnInputClick,
822
1012
  event: 'mousedown-only',
823
1013
  toggle: false,
824
1014
  // Apply a small delay for touch to let mobile viewport/keyboard positioning settle.
@@ -827,7 +1017,7 @@ export function AriaCombobox(props) {
827
1017
  reason: REASONS.inputPress
828
1018
  });
829
1019
  const dismiss = useDismiss(floatingRootContext, {
830
- enabled: !readOnly && !disabled && !inline,
1020
+ enabled: !disabled && !inline,
831
1021
  outsidePressEvent: {
832
1022
  mouse: 'sloppy',
833
1023
  // The visual viewport (affected by the mobile software keyboard) can be
@@ -843,7 +1033,7 @@ export function AriaCombobox(props) {
843
1033
  }
844
1034
  });
845
1035
  const listNavigation = useListNavigation(floatingRootContext, {
846
- enabled: !readOnly && !disabled,
1036
+ enabled: !disabled,
847
1037
  id,
848
1038
  listRef,
849
1039
  activeIndex,
@@ -870,7 +1060,7 @@ export function AriaCombobox(props) {
870
1060
  } else {
871
1061
  setIndices({
872
1062
  activeIndex: nextActiveIndex,
873
- type: keyboardActiveRef.current ? 'keyboard' : 'pointer'
1063
+ type: keyboardActiveRef.current ? REASONS.keyboard : REASONS.pointer
874
1064
  });
875
1065
  }
876
1066
  }
@@ -885,7 +1075,8 @@ export function AriaCombobox(props) {
885
1075
  }
886
1076
  }
887
1077
  }, dismiss.reference, click.reference, role.reference), [listNavigation.reference, dismiss.reference, click.reference, role.reference, grid, store]);
888
- const popupProps = React.useMemo(() => mergeProps(FOCUSABLE_POPUP_PROPS, listNavigation.floating, dismiss.floating, role.floating), [listNavigation.floating, dismiss.floating, role.floating]);
1078
+ const popupProps = React.useMemo(() => mergeProps(FOCUSABLE_POPUP_PROPS, dismiss.floating), [dismiss.floating]);
1079
+ const listProps = React.useMemo(() => mergeProps(listNavigation.floating, role.floating), [listNavigation.floating, role.floating]);
889
1080
  const itemProps = React.useMemo(() => {
890
1081
  const listNavigationItemProps = listNavigation.item;
891
1082
  if (!listNavigationItemProps) {
@@ -899,65 +1090,76 @@ export function AriaCombobox(props) {
899
1090
  onFocus: undefined
900
1091
  };
901
1092
  }, [listNavigation.item]);
1093
+ store.useContextCallback('setOpen', setOpen);
1094
+ store.useContextCallback('setInputValue', setInputValue);
1095
+ store.useContextCallback('setSelectedValue', setSelectedValue);
1096
+ store.useContextCallback('setIndices', setIndices);
1097
+ store.useContextCallback('handleSelection', handleSelection);
1098
+ store.useContextCallback('forceMount', forceMount);
1099
+ store.useContextCallback('requestSubmit', requestSubmit);
1100
+ store.useContextCallback('onOpenChangeComplete', onOpenChangeCompleteProp);
1101
+
1102
+ // The prop bags must be in the store before the parts render: they read them with `useStore`
1103
+ // during render, and a layout effect commits only after all children have rendered.
902
1104
  useOnFirstRender(() => {
903
1105
  store.update({
904
1106
  inline: inlineProp,
905
1107
  popupProps,
1108
+ listProps,
906
1109
  inputProps,
907
1110
  triggerProps,
908
- itemProps,
909
- setOpen,
910
- setInputValue,
911
- setSelectedValue,
912
- setIndices,
913
- onItemHighlighted,
914
- handleSelection,
915
- forceMount,
916
- requestSubmit
1111
+ itemProps
917
1112
  });
918
1113
  });
1114
+ const syncedValues = {
1115
+ id,
1116
+ selectedValue,
1117
+ open,
1118
+ mounted,
1119
+ transitionStatus,
1120
+ items: storeItems,
1121
+ inline: inlineProp,
1122
+ popupProps,
1123
+ listProps,
1124
+ inputProps,
1125
+ triggerProps,
1126
+ itemProps,
1127
+ openMethod,
1128
+ selectionMode,
1129
+ name,
1130
+ form,
1131
+ disabled,
1132
+ readOnly,
1133
+ required,
1134
+ grid,
1135
+ virtualized,
1136
+ openOnInputClick,
1137
+ itemToStringLabel,
1138
+ modal,
1139
+ autoHighlight: autoHighlightMode,
1140
+ isItemEqualToValue,
1141
+ submitOnItemClick,
1142
+ hasInputValue
1143
+ };
919
1144
  useIsoLayoutEffect(() => {
1145
+ // `inputOwnsFormValue` is derived here rather than during render because `ComboboxInput`
1146
+ // writes it from a ref callback earlier in the same commit, and it has to land in this same
1147
+ // `update` so subscribers never observe an intermediate snapshot. That is also why
1148
+ // `store.useSyncedValues` can't be used yet: it would need a second write. The dependencies
1149
+ // are derived from `syncedValues` so a newly synchronized field can't be forgotten here.
920
1150
  store.update({
921
- id,
922
- selectedValue,
923
- open,
924
- mounted,
925
- transitionStatus,
926
- items,
927
- inline: inlineProp,
928
- popupProps,
929
- inputProps,
930
- triggerProps,
931
- openMethod,
932
- itemProps,
933
- selectionMode,
934
- name,
935
- form,
936
- disabled,
937
- readOnly,
938
- required,
939
- grid,
940
- isGrouped,
941
- virtualized,
942
- onOpenChangeComplete,
943
- openOnInputClick,
944
- itemToStringLabel,
945
- modal,
946
- autoHighlight: autoHighlightMode,
947
- isItemEqualToValue,
948
- submitOnItemClick,
949
- hasInputValue,
950
- requestSubmit,
1151
+ ...syncedValues,
951
1152
  inputOwnsFormValue: selectionMode === 'none' && (inlineProp || !store.state.inputInsidePopup)
952
1153
  });
953
- }, [store, id, selectedValue, open, mounted, transitionStatus, items, popupProps, inputProps, itemProps, openMethod, triggerProps, selectionMode, name, disabled, readOnly, required, validation, grid, isGrouped, virtualized, onOpenChangeComplete, openOnInputClick, itemToStringLabel, modal, isItemEqualToValue, submitOnItemClick, hasInputValue, inlineProp, requestSubmit, autoHighlightMode, form]);
1154
+ // eslint-disable-next-line react-hooks/exhaustive-deps
1155
+ }, [store, ...Object.values(syncedValues)]);
954
1156
  const hiddenInputRef = useMergedRefs(inputRefProp, validation.inputRef);
955
1157
  const itemsContextValue = React.useMemo(() => ({
956
1158
  query,
957
1159
  hasItems,
958
1160
  filteredItems,
959
- flatFilteredItems
960
- }), [query, hasItems, filteredItems, flatFilteredItems]);
1161
+ flatFilteredValues
1162
+ }), [query, hasItems, filteredItems, flatFilteredValues]);
961
1163
  const serializedValue = React.useMemo(() => {
962
1164
  if (Array.isArray(fieldRawValue)) {
963
1165
  return '';
@@ -994,14 +1196,14 @@ export function AriaCombobox(props) {
994
1196
  },
995
1197
  // Handle browser autofill.
996
1198
  onChange(event) {
997
- // Workaround for https://github.com/facebook/react/issues/9023
1199
+ // Workaround for https://github.com/react/react/issues/9023
998
1200
  if (event.nativeEvent.defaultPrevented || disabled || readOnly) {
999
1201
  return;
1000
1202
  }
1001
1203
  const nextValue = event.currentTarget.value;
1002
1204
  const nextValueLower = nextValue.toLowerCase();
1003
1205
  const details = createChangeEventDetails(REASONS.none, event.nativeEvent);
1004
- const findSerializedMatchIndex = () => valuesRef.current.findIndex(candidate => stringifyAsValue(candidate, itemToStringValue).toLowerCase() === nextValueLower || stringifyAsLabel(candidate, itemToStringLabel).toLowerCase() === nextValueLower);
1206
+ const findSerializedMatchIndex = () => valuesRef.current.findIndex(candidate => stringifyAsValue(candidate, itemToStringValue).toLowerCase() === nextValueLower || stringifyValueLabel(candidate).toLowerCase() === nextValueLower);
1005
1207
  function handleChange() {
1006
1208
  // Browser autofill only writes a single scalar value.
1007
1209
  if (multiple) {