@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
@@ -2,10 +2,12 @@
2
2
  'use client';
3
3
 
4
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
6
  Object.defineProperty(exports, "__esModule", {
6
7
  value: true
7
8
  });
8
9
  exports.AriaCombobox = AriaCombobox;
10
+ var _formatErrorMessage2 = _interopRequireDefault(require("@base-ui/utils/formatErrorMessage"));
9
11
  var React = _interopRequireWildcard(require("react"));
10
12
  var _useControlled = require("@base-ui/utils/useControlled");
11
13
  var _useIsoLayoutEffect = require("@base-ui/utils/useIsoLayoutEffect");
@@ -17,6 +19,7 @@ var _visuallyHidden = require("@base-ui/utils/visuallyHidden");
17
19
  var _useRefWithInit = require("@base-ui/utils/useRefWithInit");
18
20
  var _store = require("@base-ui/utils/store");
19
21
  var _empty = require("@base-ui/utils/empty");
22
+ var _dom = require("@floating-ui/utils/dom");
20
23
  var _floatingUiReact = require("../../floating-ui-react");
21
24
  var _gridNavigation = require("../../floating-ui-react/hooks/gridNavigation");
22
25
  var _utils = require("../../floating-ui-react/utils");
@@ -33,15 +36,16 @@ var _utils2 = require("./utils");
33
36
  var _useFilter = require("./utils/useFilter");
34
37
  var _useTransitionStatus = require("../../internals/useTransitionStatus");
35
38
  var _useOpenInteractionType = require("../../utils/useOpenInteractionType");
39
+ var _scrollable = require("../../utils/scrollable");
36
40
  var _useValueChanged = require("../../internals/useValueChanged");
37
41
  var _noop = require("../../internals/noop");
38
42
  var _popups = require("../../utils/popups");
39
43
  var _mergeProps = require("../../merge-props");
40
44
  var _resolveValueLabel = require("../../internals/resolveValueLabel");
41
45
  var _itemEquality = require("../../internals/itemEquality");
42
- var _areArraysEqual = require("../../internals/areArraysEqual");
43
46
  var _constants = require("./utils/constants");
44
47
  var _DirectionContext = require("../../internals/direction-context/DirectionContext");
48
+ var _itemCollection = require("../items/itemCollection");
45
49
  var _jsxRuntime = require("react/jsx-runtime");
46
50
  /**
47
51
  * @internal
@@ -54,11 +58,11 @@ function AriaCombobox(props) {
54
58
  defaultSelectedValue = null,
55
59
  selectedValue: selectedValueProp,
56
60
  onSelectedValueChange,
57
- defaultInputValue: defaultInputValueProp,
61
+ defaultInputValue,
58
62
  inputValue: inputValueProp,
59
63
  open: openProp,
60
64
  defaultOpen = false,
61
- selectionMode = 'none',
65
+ selectionMode,
62
66
  onItemHighlighted: onItemHighlightedProp,
63
67
  name: nameProp,
64
68
  form,
@@ -67,15 +71,16 @@ function AriaCombobox(props) {
67
71
  required = false,
68
72
  inputRef: inputRefProp,
69
73
  grid = false,
70
- items,
74
+ items: itemsProp,
71
75
  filteredItems: filteredItemsProp,
72
76
  filter: filterProp,
77
+ filterQuery: filterQueryProp,
73
78
  openOnInputClick = true,
74
79
  autoHighlight = false,
75
80
  keepHighlight = false,
76
81
  highlightItemOnHover = true,
77
82
  loopFocus = true,
78
- itemToStringLabel,
83
+ itemToStringLabel: itemToStringLabelProp,
79
84
  itemToStringValue,
80
85
  isItemEqualToValue = _itemEquality.defaultItemEquality,
81
86
  virtualized = false,
@@ -109,8 +114,76 @@ function AriaCombobox(props) {
109
114
  const collatorFilter = (0, _useFilter.useCoreFilter)({
110
115
  locale
111
116
  });
117
+
118
+ // Plain items are arrays; normalized `createItems()` collections are objects.
119
+ const collection = Array.isArray(itemsProp) ? null : itemsProp;
120
+ if (collection && typeof collection.label !== 'function') {
121
+ 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' : (0, _formatErrorMessage2.default)(100));
122
+ }
123
+ const items = collection ? collection.data : itemsProp;
124
+ const itemToValue = collection?.value;
125
+
126
+ // A projected collection's items live in the source domain, not the selection-value domain the
127
+ // store matches against, so they are withheld from the store.
128
+ const storeItems = itemToValue ? undefined : items;
129
+
130
+ // The externally filtered items projected to their selection values, with a lookup back to the
131
+ // source items. Declared before `itemToStringLabel`, which resolves labels from it on the
132
+ // first render (initial input value).
133
+ const externalWindow = React.useMemo(() => {
134
+ if (!filteredItemsProp || !itemToValue) {
135
+ return undefined;
136
+ }
137
+ const flat = (0, _resolveValueLabel.flattenLeafItems)(filteredItemsProp);
138
+ const values = flat.map(itemToValue);
139
+ let valueToItem;
140
+ return {
141
+ values,
142
+ findItem(itemValue, isEqual) {
143
+ if (!valueToItem) {
144
+ valueToItem = new Map();
145
+ for (let i = 0; i < values.length; i += 1) {
146
+ if (!valueToItem.has(values[i])) {
147
+ valueToItem.set(values[i], flat[i]);
148
+ }
149
+ }
150
+ }
151
+ return (0, _itemCollection.findCollectionItem)(valueToItem, itemValue, isEqual);
152
+ }
153
+ };
154
+ }, [filteredItemsProp, itemToValue]);
155
+
156
+ // Labels selection values from current props only: collection data first, then the current
157
+ // external window, then the prop. Nothing from a past window is remembered — keeping a value
158
+ // resolvable over time means keeping its item in the collection's data.
159
+ const itemToStringLabel = React.useMemo(() => {
160
+ if (!collection) {
161
+ return itemToStringLabelProp;
162
+ }
163
+ return itemValue => {
164
+ return collection.label(itemValue, isItemEqualToValue, unresolvedValue => {
165
+ const externalItem = externalWindow?.findItem(unresolvedValue, isItemEqualToValue);
166
+ if (externalItem != null) {
167
+ return collection.itemLabel(externalItem);
168
+ }
169
+ return (0, _resolveValueLabel.stringifyAsLabel)(unresolvedValue, itemToStringLabelProp);
170
+ });
171
+ };
172
+ }, [collection, itemToStringLabelProp, externalWindow, isItemEqualToValue]);
173
+ const filterItemToString = React.useMemo(() => {
174
+ if (!collection) {
175
+ return itemToStringLabelProp;
176
+ }
177
+ return Object.assign(item => collection.itemLabel(item), {
178
+ selected: value => (0, _resolveValueLabel.stringifyAsLabel)(value, itemToStringLabel)
179
+ });
180
+ }, [collection, itemToStringLabel, itemToStringLabelProp]);
181
+ function stringifyValueLabel(item) {
182
+ return (0, _resolveValueLabel.stringifyAsLabel)(item, itemToStringLabel);
183
+ }
112
184
  const [queryChangedAfterOpen, setQueryChangedAfterOpen] = React.useState(false);
113
185
  const [closeQuery, setCloseQuery] = React.useState(null);
186
+ const previousCloseQueryRef = React.useRef(closeQuery);
114
187
  const listRef = React.useRef([]);
115
188
  const labelsRef = React.useRef([]);
116
189
  const popupRef = React.useRef(null);
@@ -131,17 +204,15 @@ function AriaCombobox(props) {
131
204
  */
132
205
  const valuesRef = React.useRef([]);
133
206
  /**
134
- * Contains all item values in a stable, unfiltered order.
135
- * This is only used when `items` prop is not provided.
136
- * It accumulates values on first mount and does not remove them on unmount due to
137
- * filtering, providing a stable index for selected value tracking.
207
+ * The item element that received the last `pointerdown`, used to detect whether a
208
+ * `mouseup` on an item belongs to a drag-select gesture that started elsewhere.
138
209
  */
139
- const allValuesRef = React.useRef([]);
210
+ const pointerDownItemRef = React.useRef(null);
140
211
  const disabled = fieldDisabled || disabledProp;
141
212
  const name = fieldName ?? nameProp;
142
213
  const multiple = selectionMode === 'multiple';
143
214
  const single = selectionMode === 'single';
144
- const hasInputValue = inputValueProp !== undefined || defaultInputValueProp !== undefined;
215
+ const hasInputValue = inputValueProp !== undefined || defaultInputValue !== undefined;
145
216
  const hasItems = items !== undefined;
146
217
  const hasFilteredItemsProp = filteredItemsProp !== undefined;
147
218
  let autoHighlightMode;
@@ -163,20 +234,19 @@ function AriaCombobox(props) {
163
234
  if (filterProp !== undefined) {
164
235
  return filterProp;
165
236
  }
166
- if (single && !queryChangedAfterOpen) {
167
- return (0, _utils2.createSingleSelectionCollatorFilter)(collatorFilter, itemToStringLabel, selectedValue);
168
- }
169
- return (0, _utils2.createCollatorItemFilter)(collatorFilter, itemToStringLabel);
170
- }, [filterProp, single, selectedValue, queryChangedAfterOpen, collatorFilter, itemToStringLabel]);
237
+ // `shouldBypassFiltering` already empties the query whenever a single selection's label
238
+ // matches it exactly, so the filter never needs a selection-aware variant here.
239
+ return (0, _utils2.createCollatorItemFilter)(collatorFilter, filterItemToString);
240
+ }, [filterProp, collatorFilter, filterItemToString]);
171
241
 
172
242
  // If neither inputValue nor defaultInputValue are provided, derive it from the
173
243
  // selected value for single mode so the input reflects the selection on mount.
174
244
  const initialDefaultInputValue = (0, _useRefWithInit.useRefWithInit)(() => {
175
245
  if (hasInputValue) {
176
- return defaultInputValueProp ?? '';
246
+ return defaultInputValue ?? '';
177
247
  }
178
248
  if (single) {
179
- return (0, _resolveValueLabel.stringifyAsLabel)(selectedValue, itemToStringLabel);
249
+ return stringifyValueLabel(selectedValue);
180
250
  }
181
251
  return '';
182
252
  }).current;
@@ -193,20 +263,12 @@ function AriaCombobox(props) {
193
263
  state: 'open'
194
264
  });
195
265
  const isGrouped = (0, _resolveValueLabel.isGroupedItems)(items);
196
- const query = closeQuery ?? (inputValue === '' ? '' : String(inputValue).trim());
197
- const selectedLabelString = single ? (0, _resolveValueLabel.stringifyAsLabel)(selectedValue, itemToStringLabel) : '';
198
- const shouldBypassFiltering = single && !queryChangedAfterOpen && query !== '' && selectedLabelString !== '' && selectedLabelString.length === query.length && collatorFilter.contains(selectedLabelString, query);
199
- const filterQuery = shouldBypassFiltering ? '' : query;
200
- const shouldIgnoreExternalFiltering = hasItems && hasFilteredItemsProp && shouldBypassFiltering;
201
- const flatItems = React.useMemo(() => {
202
- if (!items) {
203
- return _empty.EMPTY_ARRAY;
204
- }
205
- if (isGrouped) {
206
- return items.flatMap(group => group.items);
207
- }
208
- return items;
209
- }, [items, isGrouped]);
266
+ const query = !open && closeQuery !== null ? closeQuery : String(inputValue).trim();
267
+ const selectedLabelString = single ? stringifyValueLabel(selectedValue) : '';
268
+ const shouldBypassFiltering = single && !queryChangedAfterOpen && query !== '' && selectedLabelString.length === query.length && collatorFilter.contains(selectedLabelString, query);
269
+ const filterQuery = shouldBypassFiltering ? '' : filterQueryProp ?? query;
270
+ const shouldIgnoreExternalFiltering = hasItems && hasFilteredItemsProp && shouldBypassFiltering && (!collection || collection.hasValue(selectedValue, isItemEqualToValue));
271
+ const flatItems = React.useMemo(() => items ? (0, _resolveValueLabel.flattenLeafItems)(items) : _empty.EMPTY_ARRAY, [items]);
210
272
  const filteredItems = React.useMemo(() => {
211
273
  if (filteredItemsProp && !shouldIgnoreExternalFiltering) {
212
274
  return filteredItemsProp;
@@ -222,12 +284,18 @@ function AriaCombobox(props) {
222
284
  if (limit > -1 && currentCount >= limit) {
223
285
  break;
224
286
  }
225
- const candidateItems = filterQuery === '' ? group.items : group.items.filter(item => filter(item, filterQuery, itemToStringLabel));
226
- if (candidateItems.length === 0) {
227
- continue;
228
- }
229
287
  const remainingLimit = limit > -1 ? limit - currentCount : Infinity;
230
- const itemsToTake = candidateItems.slice(0, remainingLimit);
288
+ const itemsToTake = filterQuery === '' ? group.items.slice(0, remainingLimit) : [];
289
+ if (filterQuery !== '') {
290
+ for (const item of group.items) {
291
+ if (itemsToTake.length >= remainingLimit) {
292
+ break;
293
+ }
294
+ if (filter(item, filterQuery, filterItemToString)) {
295
+ itemsToTake.push(item);
296
+ }
297
+ }
298
+ }
231
299
  if (itemsToTake.length > 0) {
232
300
  const newGroup = {
233
301
  ...group,
@@ -242,7 +310,7 @@ function AriaCombobox(props) {
242
310
  if (filterQuery === '') {
243
311
  return limit > -1 ? flatItems.slice(0, limit) :
244
312
  // The cast here is done as `flatItems` is readonly.
245
- // valuesRef.current, a mutable ref, can be set to `flatFilteredItems`, which may
313
+ // valuesRef.current, a mutable ref, can be set to `flatFilteredValues`, which may
246
314
  // reference this exact readonly value, creating a mutation risk.
247
315
  // However, <Combobox.Item> can never mutate this value as the mutating effect
248
316
  // bails early when `items` is provided, and this is only ever returned
@@ -254,89 +322,105 @@ function AriaCombobox(props) {
254
322
  if (limit > -1 && limitedItems.length >= limit) {
255
323
  break;
256
324
  }
257
- if (filter(item, filterQuery, itemToStringLabel)) {
325
+ if (filter(item, filterQuery, filterItemToString)) {
258
326
  limitedItems.push(item);
259
327
  }
260
328
  }
261
329
  return limitedItems;
262
- }, [filteredItemsProp, shouldIgnoreExternalFiltering, items, isGrouped, filterQuery, limit, filter, itemToStringLabel, flatItems]);
263
- const flatFilteredItems = React.useMemo(() => {
264
- if (isGrouped) {
265
- const groups = filteredItems;
266
- return groups.flatMap(g => g.items);
267
- }
268
- return filteredItems;
269
- }, [filteredItems, isGrouped]);
270
- const store = (0, _useRefWithInit.useRefWithInit)(() => new _store.Store({
271
- id,
272
- labelId: undefined,
273
- selectedValue,
274
- open,
275
- filter,
276
- query,
277
- items,
278
- selectionMode,
279
- listRef,
280
- labelsRef,
281
- popupRef,
282
- emptyRef,
283
- inputRef,
284
- startDismissRef,
285
- endDismissRef,
286
- keyboardActiveRef,
287
- chipsContainerRef,
288
- clearRef,
289
- valuesRef,
290
- allValuesRef,
291
- selectionEventRef,
292
- name,
293
- form,
294
- disabled,
295
- readOnly,
296
- required,
297
- grid,
298
- isGrouped,
299
- virtualized,
300
- openOnInputClick,
301
- itemToStringLabel,
302
- isItemEqualToValue,
303
- modal,
304
- autoHighlight: autoHighlightMode,
305
- submitOnItemClick,
306
- hasInputValue,
307
- mounted: false,
308
- forceMounted: false,
309
- transitionStatus: 'idle',
310
- inline: inlineProp,
311
- activeIndex: null,
312
- selectedIndex: null,
313
- popupProps: {},
314
- inputProps: {},
315
- triggerProps: {},
316
- itemProps: _empty.EMPTY_OBJECT,
317
- positionerElement: null,
318
- listElement: null,
319
- popupId: undefined,
320
- triggerElement: null,
321
- inputElement: null,
322
- inputGroupElement: null,
323
- popupSide: null,
324
- openMethod: null,
325
- inputInsidePopup: true,
326
- // Avoid duplicate names in the server HTML. Popup inputs aren't rendered
327
- // until after hydration, so the hidden input takes over then if needed.
328
- inputOwnsFormValue: selectionMode === 'none',
329
- onOpenChangeComplete: onOpenChangeCompleteProp || _noop.NOOP,
330
- // Placeholder callbacks replaced on first render
331
- setOpen: _noop.NOOP,
332
- setInputValue: _noop.NOOP,
333
- setSelectedValue: _noop.NOOP,
334
- setIndices: _noop.NOOP,
335
- onItemHighlighted: _noop.NOOP,
336
- handleSelection: _noop.NOOP,
337
- forceMount: _noop.NOOP,
338
- requestSubmit: _noop.NOOP
339
- })).current;
330
+ }, [filteredItemsProp, shouldIgnoreExternalFiltering, items, isGrouped, filterQuery, limit, filter, filterItemToString, flatItems]);
331
+
332
+ /**
333
+ * The filtered items flattened across groups and projected to their selection values.
334
+ */
335
+ const flatFilteredValues = React.useMemo(() => {
336
+ if (externalWindow && filteredItems === filteredItemsProp) {
337
+ return externalWindow.values;
338
+ }
339
+ // Explicit type argument: inferring it from a union of both shapes resolves `Item` to
340
+ // `Group<Item>`, which tsc rejects and tsgo does not.
341
+ const flat = (0, _resolveValueLabel.flattenLeafItems)(filteredItems);
342
+ return itemToValue ? flat.map(item => itemToValue(item)) : flat;
343
+ }, [filteredItems, filteredItemsProp, externalWindow, itemToValue]);
344
+ const store = (0, _useRefWithInit.useRefWithInit)(() => {
345
+ // An inline list open on the first render never gets a closed pass of the closed-state
346
+ // sync effect below, and `items`-prop lists don't self-register their index the way
347
+ // individually rendered `<Combobox.Item>`s do, so the selected item was never highlighted.
348
+ // Seeding the index here lets list navigation highlight and scroll to the selection on
349
+ // mount. Computed once by construction, so a selection or list that resolves after mount
350
+ // doesn't move an existing highlight or scroll the list away.
351
+ let initialSelectedIndex = null;
352
+ if (inlineProp && open && hasItems && selectionMode !== 'none') {
353
+ initialSelectedIndex = (0, _itemEquality.findSelectionIndex)(flatFilteredValues, selectedValue, isItemEqualToValue, multiple);
354
+ }
355
+ return new _store.ReactStore({
356
+ id,
357
+ labelId: undefined,
358
+ selectedValue,
359
+ open,
360
+ items: storeItems,
361
+ selectionMode,
362
+ name,
363
+ form,
364
+ disabled,
365
+ readOnly,
366
+ required,
367
+ grid,
368
+ virtualized,
369
+ openOnInputClick,
370
+ itemToStringLabel,
371
+ isItemEqualToValue,
372
+ modal,
373
+ autoHighlight: autoHighlightMode,
374
+ submitOnItemClick,
375
+ hasInputValue,
376
+ mounted: false,
377
+ forceMounted: false,
378
+ transitionStatus: 'idle',
379
+ inline: inlineProp,
380
+ activeIndex: null,
381
+ selectedIndex: initialSelectedIndex,
382
+ popupProps: {},
383
+ listProps: {},
384
+ inputProps: {},
385
+ triggerProps: {},
386
+ itemProps: _empty.EMPTY_OBJECT,
387
+ positionerElement: null,
388
+ listElement: null,
389
+ popupId: undefined,
390
+ triggerElement: null,
391
+ inputElement: null,
392
+ inputGroupElement: null,
393
+ popupSide: null,
394
+ openMethod: null,
395
+ inputInsidePopup: true,
396
+ // Avoid duplicate names in the server HTML. Popup inputs aren't rendered
397
+ // until after hydration, so the hidden input takes over then if needed.
398
+ inputOwnsFormValue: selectionMode === 'none'
399
+ }, {
400
+ // Placeholder callbacks replaced on first render
401
+ onOpenChangeComplete: _noop.NOOP,
402
+ setOpen: _noop.NOOP,
403
+ setInputValue: _noop.NOOP,
404
+ setSelectedValue: _noop.NOOP,
405
+ setIndices: _noop.NOOP,
406
+ handleSelection: _noop.NOOP,
407
+ forceMount: _noop.NOOP,
408
+ requestSubmit: _noop.NOOP,
409
+ listRef,
410
+ labelsRef,
411
+ popupRef,
412
+ emptyRef,
413
+ inputRef,
414
+ startDismissRef,
415
+ endDismissRef,
416
+ keyboardActiveRef,
417
+ chipsContainerRef,
418
+ clearRef,
419
+ valuesRef,
420
+ pointerDownItemRef,
421
+ selectionEventRef
422
+ }, _store2.selectors);
423
+ }).current;
340
424
  const fieldRawValue = selectionMode === 'none' ? inputValue : selectedValue;
341
425
  const fieldStringValue = React.useMemo(() => {
342
426
  if (selectionMode === 'none') {
@@ -349,16 +433,17 @@ function AriaCombobox(props) {
349
433
  }, [fieldRawValue, itemToStringValue, selectionMode, selectedValue]);
350
434
  const onItemHighlighted = (0, _useStableCallback.useStableCallback)(onItemHighlightedProp);
351
435
  const onOpenChangeComplete = (0, _useStableCallback.useStableCallback)(onOpenChangeCompleteProp);
352
- const activeIndex = (0, _store.useStore)(store, _store2.selectors.activeIndex);
353
- const selectedIndex = (0, _store.useStore)(store, _store2.selectors.selectedIndex);
354
- const positionerElement = (0, _store.useStore)(store, _store2.selectors.positionerElement);
355
- const listElement = (0, _store.useStore)(store, _store2.selectors.listElement);
356
- const triggerElement = (0, _store.useStore)(store, _store2.selectors.triggerElement);
357
- const inputElement = (0, _store.useStore)(store, _store2.selectors.inputElement);
358
- const inputGroupElement = (0, _store.useStore)(store, _store2.selectors.inputGroupElement);
359
- const inline = (0, _store.useStore)(store, _store2.selectors.inline);
360
- const inputInsidePopup = (0, _store.useStore)(store, _store2.selectors.inputInsidePopup);
361
- const inputOwnsFormValue = (0, _store.useStore)(store, _store2.selectors.inputOwnsFormValue);
436
+ const activeIndex = store.useState('activeIndex');
437
+ const selectedIndex = store.useState('selectedIndex');
438
+ const positionerElement = store.useState('positionerElement');
439
+ const listElement = store.useState('listElement');
440
+ const triggerElement = store.useState('triggerElement');
441
+ const inputElement = store.useState('inputElement');
442
+ const inputGroupElement = store.useState('inputGroupElement');
443
+ const inline = store.useState('inline');
444
+ const inputInsidePopup = store.useState('inputInsidePopup');
445
+ const inputOwnsFormValue = store.useState('inputOwnsFormValue');
446
+ const inputMatchesSelectedValue = single && !inputInsidePopup && inputValue === selectedLabelString;
362
447
  const triggerRef = (0, _useValueAsRef.useValueAsRef)(triggerElement);
363
448
  const {
364
449
  mounted,
@@ -374,52 +459,69 @@ function AriaCombobox(props) {
374
459
  const forceMount = (0, _useStableCallback.useStableCallback)(() => {
375
460
  if (items) {
376
461
  // Ensure typeahead works on a closed list.
377
- labelsRef.current = flatFilteredItems.map(item => (0, _resolveValueLabel.stringifyAsLabel)(item, itemToStringLabel));
462
+ labelsRef.current = flatFilteredValues.map(stringifyValueLabel);
378
463
  } else {
379
464
  store.set('forceMounted', true);
380
465
  }
381
466
  });
382
- const initialSelectedValueRef = React.useRef(selectedValue);
383
- (0, _useIsoLayoutEffect.useIsoLayoutEffect)(() => {
384
- // Ensure the values and labels are registered for programmatic value changes.
385
- if (selectedValue !== initialSelectedValueRef.current) {
386
- forceMount();
467
+
468
+ /**
469
+ * Emits `onItemHighlighted` for the item at `index`, or clears the highlight when `index` is `-1`
470
+ * (a no-op if nothing was highlighted). Keeps `lastHighlightRef` in sync with what was emitted.
471
+ */
472
+ const emitHighlight = (0, _useStableCallback.useStableCallback)((value, index, type) => {
473
+ if (index === -1) {
474
+ if (lastHighlightRef.current === _constants.INITIAL_LAST_HIGHLIGHT) {
475
+ return;
476
+ }
477
+ lastHighlightRef.current = _constants.INITIAL_LAST_HIGHLIGHT;
478
+ } else {
479
+ lastHighlightRef.current = {
480
+ value,
481
+ index
482
+ };
387
483
  }
388
- }, [forceMount, selectedValue]);
484
+ onItemHighlighted(value, (0, _createBaseUIEventDetails.createGenericEventDetails)(type, undefined, {
485
+ index
486
+ }));
487
+ });
389
488
  const setIndices = (0, _useStableCallback.useStableCallback)(options => {
390
- store.update(options);
391
- const type = options.type || 'none';
392
- if (options.activeIndex === undefined) {
489
+ const update = {};
490
+ if (options.activeIndex !== undefined) {
491
+ update.activeIndex = options.activeIndex;
492
+ }
493
+ if (options.selectedIndex !== undefined) {
494
+ update.selectedIndex = options.selectedIndex;
495
+ }
496
+ store.update(update);
497
+ const activeIndexOption = options.activeIndex;
498
+ if (activeIndexOption === undefined) {
393
499
  return;
394
500
  }
395
- if (options.activeIndex === null) {
396
- if (lastHighlightRef.current !== _constants.INITIAL_LAST_HIGHLIGHT) {
397
- lastHighlightRef.current = _constants.INITIAL_LAST_HIGHLIGHT;
398
- onItemHighlighted(undefined, (0, _createBaseUIEventDetails.createGenericEventDetails)(type, undefined, {
399
- index: -1
400
- }));
401
- }
501
+ const type = options.type || _reasons.REASONS.none;
502
+ if (activeIndexOption === null) {
503
+ emitHighlight(undefined, -1, type);
402
504
  } else {
403
- const activeValue = valuesRef.current[options.activeIndex];
404
- lastHighlightRef.current = {
405
- value: activeValue,
406
- index: options.activeIndex
407
- };
408
- onItemHighlighted(activeValue, (0, _createBaseUIEventDetails.createGenericEventDetails)(type, undefined, {
409
- index: options.activeIndex
410
- }));
505
+ emitHighlight(valuesRef.current[activeIndexOption], activeIndexOption, type);
411
506
  }
412
507
  });
413
508
  const setInputValue = (0, _useStableCallback.useStableCallback)((next, eventDetails) => {
414
- hadInputClearRef.current = eventDetails.reason === _reasons.REASONS.inputClear;
415
509
  props.onInputValueChange?.(next, eventDetails);
416
510
  if (eventDetails.isCanceled) {
417
511
  return;
418
512
  }
419
513
 
514
+ // A canceled selection clear must not suppress close-completion cleanup.
515
+ hadInputClearRef.current = eventDetails.reason === _reasons.REASONS.inputClear;
516
+
420
517
  // If user is typing, ensure we don't auto-highlight on open due to a race
421
518
  // with the post-open effect that sets this flag.
422
519
  if (eventDetails.reason === _reasons.REASONS.inputChange) {
520
+ // A controlled popup may ignore a close request. Resuming input proves the popup
521
+ // is remaining open, so release the query captured for an exit animation.
522
+ if (open && closeQuery !== null) {
523
+ setCloseQuery(null);
524
+ }
423
525
  const event = eventDetails.event;
424
526
  const inputType = event.inputType;
425
527
  // Treat composition commits as typed input; autofill may omit `inputType` or
@@ -435,13 +537,51 @@ function AriaCombobox(props) {
435
537
  pendingQueryHighlightRef.current = {
436
538
  hasQuery
437
539
  };
438
- if (hasQuery && autoHighlightMode && store.state.activeIndex == null) {
540
+
541
+ // Virtualized lists own their scroller. Reset regular lists directly so a stale
542
+ // composite registry cannot select a reordered item and scrolling cannot escape
543
+ // the popup.
544
+ const list = store.state.listElement;
545
+ if (!store.state.virtualized && list) {
546
+ const popup = popupRef.current;
547
+ for (const ancestor of (0, _floatingUiReact.getOverflowAncestors)(list.firstElementChild ?? list)) {
548
+ if (!(0, _dom.isHTMLElement)(ancestor) || (popup ? !(0, _utils.contains)(popup, ancestor) : ancestor.getAttribute('role') === 'dialog')) {
549
+ break;
550
+ }
551
+ if ((0, _scrollable.isScrollableY)(ancestor)) {
552
+ ancestor.scrollTop = 0;
553
+ break;
554
+ }
555
+ }
556
+ }
557
+ if (hasQuery && autoHighlightMode && store.state.activeIndex == null && (open || inline)) {
439
558
  store.set('activeIndex', 0);
440
559
  }
441
560
  }
561
+ } else if (eventDetails.reason === _reasons.REASONS.inputClear && next === '' && store.state.inputInsidePopup) {
562
+ // A programmatic clear of an active query (e.g. after selecting an item with the
563
+ // input inside the popup): restore the highlight to the selected item.
564
+ pendingQueryHighlightRef.current = {
565
+ hasQuery: false,
566
+ selection: true
567
+ };
442
568
  }
443
569
  setInputValueUnwrapped(next);
444
570
  });
571
+ const handleInterruptedReopen = (0, _useStableCallback.useStableCallback)(isInputChange => {
572
+ // Preserve values supplied with the reopen rather than owned by the interrupted close.
573
+ const clearsPendingInput = !isInputChange && inputInsidePopup && !inline && inputValue !== '' && (String(inputValue).trim() === closeQuery || inputValue === selectedLabelString);
574
+
575
+ // Keep the flag while a visible filter survives so the `items` sync cannot overwrite it.
576
+ if (!isInputChange && (clearsPendingInput || inputValue === '' || inputMatchesSelectedValue)) {
577
+ setQueryChangedAfterOpen(false);
578
+ }
579
+ setCloseQuery(null);
580
+ if (clearsPendingInput) {
581
+ // Cleanup clears omit the selection flag and reopening gesture.
582
+ setInputValue('', (0, _createBaseUIEventDetails.createChangeEventDetails)(_reasons.REASONS.inputClear));
583
+ }
584
+ });
445
585
  const setOpen = (0, _useStableCallback.useStableCallback)((nextOpen, eventDetails) => {
446
586
  if (open === nextOpen) {
447
587
  return;
@@ -450,22 +590,17 @@ function AriaCombobox(props) {
450
590
  // If the `Empty` component is not used, the positioner or popup should be hidden
451
591
  // with CSS. In this case, allow the Escape key to bubble to close a parent popup
452
592
  // if there are no items to show.
453
- if (eventDetails.reason === 'escape-key' && hasItems && flatFilteredItems.length === 0 && !store.state.emptyRef.current) {
593
+ if (eventDetails.reason === _reasons.REASONS.escapeKey && hasItems && flatFilteredValues.length === 0 && !emptyRef.current) {
454
594
  eventDetails.allowPropagation();
455
595
  }
456
596
  props.onOpenChange?.(nextOpen, eventDetails);
457
597
  if (eventDetails.isCanceled) {
458
598
  return;
459
599
  }
460
-
461
- // If reopening interrupts the close animation, handleUnmount won't run to clear the
462
- // frozen closeQuery and pending popup input.
463
- if (nextOpen && multiple && inputInsidePopup && !inline && closeQuery !== null) {
464
- setQueryChangedAfterOpen(false);
465
- setCloseQuery(null);
466
- if (inputValue !== '') {
467
- setInputValue('', (0, _createBaseUIEventDetails.createChangeEventDetails)(_reasons.REASONS.inputClear, eventDetails.event));
468
- }
600
+ if (nextOpen && closeQuery !== null) {
601
+ // `ComboboxInput` calls `setInputValue` before `setOpen`, so on an input-change reopen
602
+ // `inputValue` is still the pre-keystroke value and the typed filter always survives.
603
+ handleInterruptedReopen(eventDetails.reason === _reasons.REASONS.inputChange);
469
604
  }
470
605
  if (!nextOpen && queryChangedAfterOpen) {
471
606
  if (single) {
@@ -491,7 +626,9 @@ function AriaCombobox(props) {
491
626
  // if the input is outside the popup. When the input is inside the popup, defer the clear until
492
627
  // unmount so the filtered list doesn't flash to unfiltered during the exit animation.
493
628
  if (!inputInsidePopup || inline) {
494
- setInputValue('', (0, _createBaseUIEventDetails.createChangeEventDetails)(_reasons.REASONS.inputClear, eventDetails.event));
629
+ setInputValue('', (0, _createBaseUIEventDetails.createChangeEventDetails)(_reasons.REASONS.inputClear, eventDetails.event, undefined, {
630
+ isItemPress: eventDetails.reason === _reasons.REASONS.itemPress
631
+ }));
495
632
  }
496
633
  }
497
634
  }
@@ -515,20 +652,10 @@ function AriaCombobox(props) {
515
652
  setSelectedValueUnwrapped(nextValue);
516
653
  const shouldFillInput = selectionMode === 'none' && popupRef.current && fillInputOnItemPress || single && !store.state.inputInsidePopup;
517
654
  if (shouldFillInput) {
518
- setInputValue((0, _resolveValueLabel.stringifyAsLabel)(nextValue, itemToStringLabel), (0, _createBaseUIEventDetails.createChangeEventDetails)(eventDetails.reason, eventDetails.event));
519
- }
520
- if (single && nextValue != null && eventDetails.reason !== _reasons.REASONS.inputChange && queryChangedAfterOpen && !inline) {
521
- setCloseQuery(query);
655
+ setInputValue(stringifyValueLabel(nextValue), (0, _createBaseUIEventDetails.createChangeEventDetails)(eventDetails.reason, eventDetails.event));
522
656
  }
523
657
  });
524
- const handleSelection = (0, _useStableCallback.useStableCallback)((event, passedValue) => {
525
- let itemValue = passedValue;
526
- if (itemValue === undefined) {
527
- if (activeIndex === null) {
528
- return;
529
- }
530
- itemValue = valuesRef.current[activeIndex];
531
- }
658
+ const handleSelection = (0, _useStableCallback.useStableCallback)((event, itemValue) => {
532
659
  const targetEl = (0, _utils.getTarget)(event);
533
660
  const overrideEvent = selectionEventRef.current ?? event;
534
661
  selectionEventRef.current = null;
@@ -544,8 +671,8 @@ function AriaCombobox(props) {
544
671
  }
545
672
  if (multiple) {
546
673
  const currentSelectedValue = Array.isArray(selectedValue) ? selectedValue : [];
547
- const isCurrentlySelected = (0, _itemEquality.selectedValueIncludes)(currentSelectedValue, itemValue, store.state.isItemEqualToValue);
548
- const nextValue = isCurrentlySelected ? (0, _itemEquality.removeItem)(currentSelectedValue, itemValue, store.state.isItemEqualToValue) : [...currentSelectedValue, itemValue];
674
+ const isCurrentlySelected = (0, _itemEquality.selectedValueIncludes)(currentSelectedValue, itemValue, isItemEqualToValue);
675
+ const nextValue = isCurrentlySelected ? (0, _itemEquality.removeItem)(currentSelectedValue, itemValue, isItemEqualToValue) : [...currentSelectedValue, itemValue];
549
676
  setSelectedValue(nextValue, eventDetails);
550
677
  if (eventDetails.isCanceled) {
551
678
  return;
@@ -555,7 +682,15 @@ function AriaCombobox(props) {
555
682
  return;
556
683
  }
557
684
  if (store.state.inputInsidePopup) {
558
- setInputValue('', (0, _createBaseUIEventDetails.createChangeEventDetails)(_reasons.REASONS.inputClear, eventDetails.event));
685
+ setInputValue('', (0, _createBaseUIEventDetails.createChangeEventDetails)(_reasons.REASONS.inputClear, eventDetails.event, undefined, {
686
+ isItemPress: true
687
+ }));
688
+ // A newly selected item stays highlighted through the clear; a deselection
689
+ // falls back to the standard selection anchor.
690
+ const pendingHighlight = pendingQueryHighlightRef.current;
691
+ if (pendingHighlight && !isCurrentlySelected) {
692
+ pendingHighlight.toggledValue = itemValue;
693
+ }
559
694
  } else {
560
695
  setOpen(false, eventDetails);
561
696
  }
@@ -568,9 +703,6 @@ function AriaCombobox(props) {
568
703
  }
569
704
  });
570
705
  const requestSubmit = (0, _useStableCallback.useStableCallback)(() => {
571
- if (!store.state.submitOnItemClick) {
572
- return;
573
- }
574
706
  const formElement = validation.inputRef.current?.form ?? store.state.inputElement?.form;
575
707
  if (formElement && typeof formElement.requestSubmit === 'function') {
576
708
  formElement.requestSubmit();
@@ -608,7 +740,7 @@ function AriaCombobox(props) {
608
740
  setInputValue('', (0, _createBaseUIEventDetails.createChangeEventDetails)(_reasons.REASONS.inputClear));
609
741
  }
610
742
  } else {
611
- const stringVal = (0, _resolveValueLabel.stringifyAsLabel)(selectedValue, itemToStringLabel);
743
+ const stringVal = stringifyValueLabel(selectedValue);
612
744
  if (inputRef.current && inputRef.current.value !== stringVal) {
613
745
  // If no selection was made, treat this as clearing the typed filter.
614
746
  const reason = stringVal === '' ? _reasons.REASONS.inputClear : _reasons.REASONS.none;
@@ -644,68 +776,113 @@ function AriaCombobox(props) {
644
776
  unmount: handleUnmount
645
777
  }), [handleUnmount]);
646
778
  (0, _useIsoLayoutEffect.useIsoLayoutEffect)(function syncSelectedIndex() {
647
- if (open || selectionMode === 'none') {
779
+ const closeQueryReleased = previousCloseQueryRef.current !== null && closeQuery === null;
780
+ previousCloseQueryRef.current = closeQuery;
781
+
782
+ // Closing indexes against the frozen filtered list. Reopening releases that query, so its
783
+ // rendered coordinates must be synchronized again even though the popup is already open.
784
+ if (open && (!closeQueryReleased || !hasItems)) {
648
785
  return;
649
786
  }
650
- const registry = items ? flatItems : allValuesRef.current;
651
- if (multiple) {
652
- const currentValue = Array.isArray(selectedValue) ? selectedValue : [];
653
- const lastValue = currentValue[currentValue.length - 1];
654
- const lastIndex = (0, _itemEquality.findItemIndex)(registry, lastValue, isItemEqualToValue);
655
- setIndices({
656
- selectedIndex: lastIndex === -1 ? null : lastIndex
657
- });
658
- } else {
659
- const index = (0, _itemEquality.findItemIndex)(registry, selectedValue, isItemEqualToValue);
660
- setIndices({
661
- selectedIndex: index === -1 ? null : index
662
- });
787
+
788
+ // State-driven (not tied to the internal event path) so controlled closes
789
+ // also clear a pointerdown that never received a matching item mouseup.
790
+ if (!open) {
791
+ pointerDownItemRef.current = null;
792
+ }
793
+ if (selectionMode === 'none') {
794
+ return;
663
795
  }
664
- }, [open, selectedValue, items, selectionMode, flatItems, multiple, isItemEqualToValue, setIndices]);
796
+
797
+ // Without `items`, look the selection up in the live registry of mounted item
798
+ // values (the list stays mounted while closed when closed-state features need
799
+ // it — trigger interaction and rendered-label autofill force-mount it). Mounted
800
+ // items re-assert the index themselves when their registration moves; when
801
+ // nothing is mounted the lookup resolves to `null` and each item re-registers
802
+ // the index on the next open.
803
+ // Keep the selected index in the coordinates of the list that is actually rendered.
804
+ const registry = hasItems ? flatFilteredValues : valuesRef.current;
805
+ setIndices({
806
+ selectedIndex: (0, _itemEquality.findSelectionIndex)(registry, selectedValue, isItemEqualToValue, multiple)
807
+ });
808
+ }, [open, closeQuery, selectedValue, selectionMode, multiple, hasItems, flatFilteredValues, isItemEqualToValue, setIndices]);
665
809
  (0, _useIsoLayoutEffect.useIsoLayoutEffect)(() => {
666
810
  if (items) {
667
- valuesRef.current = flatFilteredItems;
668
- listRef.current.length = flatFilteredItems.length;
811
+ valuesRef.current = flatFilteredValues;
812
+ listRef.current.length = flatFilteredValues.length;
669
813
  }
670
- }, [items, flatFilteredItems]);
814
+ }, [items, flatFilteredValues]);
671
815
  (0, _useIsoLayoutEffect.useIsoLayoutEffect)(() => {
672
816
  const pendingHighlight = pendingQueryHighlightRef.current;
673
817
  if (pendingHighlight) {
818
+ // A directly rendered list remains visible when the popup state is closed, while a
819
+ // kept-mounted Positioner is hidden and should stay inert.
820
+ const listIsNavigable = open || inline || store.state.positionerElement?.hidden === false;
674
821
  if (pendingHighlight.hasQuery) {
675
- if (autoHighlightMode) {
822
+ if (autoHighlightMode && listIsNavigable) {
676
823
  store.set('activeIndex', 0);
677
824
  }
678
- } else if (autoHighlightMode === 'always') {
679
- store.set('activeIndex', 0);
825
+ pendingQueryHighlightRef.current = null;
826
+ } else if (String(inputValue).trim() === '') {
827
+ // Only handle the clear once it has committed (a controlled input may reject it),
828
+ // so a restore cannot fire while a query is still active.
829
+ pendingQueryHighlightRef.current = null;
830
+ if (listIsNavigable) {
831
+ const clearedBySelection = pendingHighlight.selection;
832
+ if (autoHighlightMode === 'always' && !clearedBySelection && store.state.selectionMode === 'none') {
833
+ // There is no selection to restore in Autocomplete. Keep the first-item reset
834
+ // synchronous so list navigation sees it before a directly rendered list closes.
835
+ store.set('activeIndex', 0);
836
+ }
837
+
838
+ // Items re-mounted by the clear publish their composite indices in a follow-up
839
+ // commit, so the item registries are mid-update here. Defer past React's cascade.
840
+ queueMicrotask(() => {
841
+ if (!store.state.open && !store.state.inline || inputRef.current && inputRef.current.value.trim() !== '') {
842
+ return;
843
+ }
844
+
845
+ // Return the highlight to the selected item, the same anchor the popup uses
846
+ // when it first opens. Read the selection through the store so consumers can
847
+ // pass an inline `isItemEqualToValue` or a fresh `selectedValue` array without
848
+ // re-running this effect on every render.
849
+ const currentSelectedValue = store.state.selectedValue;
850
+ const isMultiple = store.state.selectionMode === 'multiple';
851
+ const hasSelection = isMultiple && Array.isArray(currentSelectedValue) ? currentSelectedValue.length > 0 : store.state.selectionMode !== 'none' && currentSelectedValue != null;
852
+ if (hasSelection) {
853
+ const registry = hasItems || hasFilteredItemsProp ? flatFilteredValues : valuesRef.current;
854
+ // A selection-driven clear keeps the just-selected item highlighted;
855
+ // otherwise return to the open anchor. A selection that is no longer in
856
+ // the list drops the highlight rather than leaving it on whichever item
857
+ // now occupies that index.
858
+ // `findItemIndex` resolves to -1 when no value was toggled.
859
+ const toggledIndex = (0, _itemEquality.findItemIndex)(registry, pendingHighlight.toggledValue, store.state.isItemEqualToValue);
860
+ store.set('activeIndex', toggledIndex !== -1 ? toggledIndex : (0, _itemEquality.findSelectionIndex)(registry, currentSelectedValue, store.state.isItemEqualToValue, isMultiple));
861
+ } else if (clearedBySelection) {
862
+ store.set('activeIndex', null);
863
+ } else if (autoHighlightMode === 'always') {
864
+ store.set('activeIndex', 0);
865
+ }
866
+ });
867
+ }
680
868
  }
681
- pendingQueryHighlightRef.current = null;
682
869
  }
683
870
  if (!open && !inline) {
684
871
  return;
685
872
  }
686
- const shouldUseFlatFilteredItems = hasItems || hasFilteredItemsProp;
687
- const candidateItems = shouldUseFlatFilteredItems ? flatFilteredItems : valuesRef.current;
873
+ const shouldUseFlatFilteredValues = hasItems || hasFilteredItemsProp;
874
+ const candidateItems = shouldUseFlatFilteredValues ? flatFilteredValues : valuesRef.current;
688
875
  const storeActiveIndex = store.state.activeIndex;
689
876
  if (storeActiveIndex == null) {
690
877
  if (autoHighlightMode === 'always' && candidateItems.length > 0) {
691
878
  store.set('activeIndex', 0);
692
879
  return;
693
880
  }
694
- if (lastHighlightRef.current !== _constants.INITIAL_LAST_HIGHLIGHT) {
695
- lastHighlightRef.current = _constants.INITIAL_LAST_HIGHLIGHT;
696
- store.state.onItemHighlighted(undefined, (0, _createBaseUIEventDetails.createGenericEventDetails)(_reasons.REASONS.none, undefined, {
697
- index: -1
698
- }));
699
- }
881
+ emitHighlight(undefined, -1, _reasons.REASONS.none);
700
882
  return;
701
883
  }
702
884
  if (storeActiveIndex >= candidateItems.length) {
703
- if (lastHighlightRef.current !== _constants.INITIAL_LAST_HIGHLIGHT) {
704
- lastHighlightRef.current = _constants.INITIAL_LAST_HIGHLIGHT;
705
- store.state.onItemHighlighted(undefined, (0, _createBaseUIEventDetails.createGenericEventDetails)(_reasons.REASONS.none, undefined, {
706
- index: -1
707
- }));
708
- }
885
+ emitHighlight(undefined, -1, _reasons.REASONS.none);
709
886
  store.set('activeIndex', null);
710
887
  return;
711
888
  }
@@ -713,15 +890,12 @@ function AriaCombobox(props) {
713
890
  const previouslyHighlightedItemValue = lastHighlightRef.current.value;
714
891
  const isSameItem = previouslyHighlightedItemValue !== _constants.NO_ACTIVE_VALUE && (0, _itemEquality.compareItemEquality)(itemValue, previouslyHighlightedItemValue, store.state.isItemEqualToValue);
715
892
  if (lastHighlightRef.current.index !== storeActiveIndex || !isSameItem) {
716
- lastHighlightRef.current = {
717
- value: itemValue,
718
- index: storeActiveIndex
719
- };
720
- store.state.onItemHighlighted(itemValue, (0, _createBaseUIEventDetails.createGenericEventDetails)(_reasons.REASONS.none, undefined, {
721
- index: storeActiveIndex
722
- }));
893
+ emitHighlight(itemValue, storeActiveIndex, _reasons.REASONS.none);
723
894
  }
724
- }, [activeIndex, autoHighlightMode, hasFilteredItemsProp, hasItems, flatFilteredItems, inline, open, store]);
895
+ }, [activeIndex, autoHighlightMode, emitHighlight, hasFilteredItemsProp, hasItems, flatFilteredValues, inline, open, store,
896
+ // Reruns the effect when the query changes without affecting the deps above, such as
897
+ // clearing the input when no items are filtered out (individually rendered items).
898
+ inputValue]);
725
899
  (0, _useIsoLayoutEffect.useIsoLayoutEffect)(() => {
726
900
  if (selectionMode === 'none') {
727
901
  setFilled(String(inputValue) !== '');
@@ -733,56 +907,67 @@ function AriaCombobox(props) {
733
907
  // Ensures that the active index is not set to 0 when the list is empty.
734
908
  // This avoids needing to press ArrowDown twice under certain conditions.
735
909
  React.useEffect(() => {
736
- if (hasItems && autoHighlightMode && flatFilteredItems.length === 0) {
910
+ if (hasItems && autoHighlightMode && flatFilteredValues.length === 0) {
737
911
  setIndices({
738
912
  activeIndex: null
739
913
  });
740
914
  }
741
- }, [hasItems, autoHighlightMode, flatFilteredItems.length, setIndices]);
742
- function isSelectedValueDirty(value) {
743
- const initialValue = validityData.initialValue;
744
- if (Array.isArray(value) && Array.isArray(initialValue)) {
745
- return !(0, _areArraysEqual.areArraysEqual)(value, initialValue, (itemValue, initialItemValue) => (0, _itemEquality.compareItemEquality)(itemValue, initialItemValue, isItemEqualToValue));
915
+ }, [hasItems, autoHighlightMode, flatFilteredValues.length, setIndices]);
916
+ function handleQueryChanged() {
917
+ if (open && query !== '' && query !== String(initialDefaultInputValue) && !inputMatchesSelectedValue) {
918
+ setQueryChangedAfterOpen(true);
746
919
  }
747
- return value !== initialValue;
748
920
  }
749
- (0, _useValueChanged.useValueChanged)(query, () => {
750
- if (!open || query === '' || query === String(initialDefaultInputValue)) {
751
- return;
921
+ function handleOpenChanged() {
922
+ // A controlled `open` prop can interrupt the close without calling `setOpen`.
923
+ if (open && closeQuery !== null) {
924
+ handleInterruptedReopen(false);
752
925
  }
753
- setQueryChangedAfterOpen(true);
754
- });
755
- (0, _useValueChanged.useValueChanged)(selectedValue, () => {
926
+ }
927
+
928
+ // These sync triggers can run in the same commit while still seeing the pre-commit `inputValue`.
929
+ // This render-scoped flag prevents duplicate callbacks and resets so canceled writes can retry.
930
+ let syncedSelectedLabel = false;
931
+ function syncInputToSelectedLabel() {
932
+ if (!syncedSelectedLabel && inputValue !== selectedLabelString) {
933
+ syncedSelectedLabel = true;
934
+ setInputValue(selectedLabelString, (0, _createBaseUIEventDetails.createChangeEventDetails)(_reasons.REASONS.none));
935
+ }
936
+ }
937
+ function handleSelectedValueChanged() {
756
938
  if (selectionMode === 'none') {
757
939
  return;
758
940
  }
759
941
  clearErrors(name);
760
- setDirty(isSelectedValueDirty(selectedValue));
942
+ setDirty((0, _itemEquality.isSelectedValueDirty)(selectedValue, validityData.initialValue, isItemEqualToValue));
761
943
  validation.change(selectedValue);
762
944
  if (single && !hasInputValue && !inputInsidePopup) {
763
- const nextInputValue = (0, _resolveValueLabel.stringifyAsLabel)(selectedValue, itemToStringLabel);
764
- if (inputValue !== nextInputValue) {
765
- setInputValue(nextInputValue, (0, _createBaseUIEventDetails.createChangeEventDetails)(_reasons.REASONS.none));
766
- }
945
+ syncInputToSelectedLabel();
767
946
  }
768
- });
769
- (0, _useValueChanged.useValueChanged)(inputValue, () => {
947
+ }
948
+
949
+ // The label catches accessor changes while the items identity restores the selected label after
950
+ // a one-step input clear followed by a data reload. The shared sync prevents duplicate writes
951
+ // when both change in the same commit.
952
+ function syncInputAfterItemsOrLabelChange() {
953
+ if (single && !hasInputValue && !inputInsidePopup && !queryChangedAfterOpen) {
954
+ syncInputToSelectedLabel();
955
+ }
956
+ }
957
+ function handleInputValueChanged() {
770
958
  if (selectionMode !== 'none') {
771
959
  return;
772
960
  }
773
961
  clearErrors(name);
774
962
  setDirty(inputValue !== validityData.initialValue);
775
963
  validation.change(inputValue);
776
- });
777
- (0, _useValueChanged.useValueChanged)(items, () => {
778
- if (!single || hasInputValue || inputInsidePopup || queryChangedAfterOpen) {
779
- return;
780
- }
781
- const nextInputValue = (0, _resolveValueLabel.stringifyAsLabel)(selectedValue, itemToStringLabel);
782
- if (inputValue !== nextInputValue) {
783
- setInputValue(nextInputValue, (0, _createBaseUIEventDetails.createChangeEventDetails)(_reasons.REASONS.none));
784
- }
785
- });
964
+ }
965
+ (0, _useValueChanged.useValueChanged)(query, handleQueryChanged);
966
+ (0, _useValueChanged.useValueChanged)(open, handleOpenChanged);
967
+ (0, _useValueChanged.useValueChanged)(selectedValue, handleSelectedValueChanged);
968
+ (0, _useValueChanged.useValueChanged)(selectedLabelString, syncInputAfterItemsOrLabelChange);
969
+ (0, _useValueChanged.useValueChanged)(items, syncInputAfterItemsOrLabelChange);
970
+ (0, _useValueChanged.useValueChanged)(inputValue, handleInputValueChanged);
786
971
  const floatingRootContext = (0, _floatingUiReact.useFloatingRootContext)({
787
972
  open: inline ? true : open,
788
973
  onOpenChange: setOpen,
@@ -791,18 +976,19 @@ function AriaCombobox(props) {
791
976
  floating: positionerElement
792
977
  }
793
978
  });
794
- let ariaHasPopup;
795
- let ariaExpanded;
796
- if (!inline) {
797
- ariaHasPopup = grid ? 'grid' : 'listbox';
798
- ariaExpanded = open ? 'true' : 'false';
799
- }
979
+ const ariaHasPopup = grid ? 'grid' : 'listbox';
980
+ // An inline list isn't gated on `open`: it renders for as long as it's in the tree, so the
981
+ // combobox is permanently expanded even while the internal open state is `false`.
982
+ const expanded = open || inline;
983
+ const ariaExpanded = expanded ? 'true' : 'false';
800
984
  const role = React.useMemo(() => {
801
985
  const isPlainInput = inputElement?.tagName === 'INPUT';
802
986
  // During SSR and initial hydration, the input ref is not available yet.
803
987
  // Assume an input-like control so combobox ARIA attributes are present.
804
988
  const shouldTreatAsInput = inputElement == null || isPlainInput;
805
- const shouldApplyAria = shouldTreatAsInput || open;
989
+ // A non-input control only takes on combobox semantics while the list is exposed, which for
990
+ // an inline list is the whole time.
991
+ const shouldApplyAria = shouldTreatAsInput || expanded;
806
992
  const reference = shouldTreatAsInput ? {
807
993
  autoComplete: 'off',
808
994
  spellCheck: 'false',
@@ -813,8 +999,9 @@ function AriaCombobox(props) {
813
999
  reference.role = 'combobox';
814
1000
  reference['aria-expanded'] = ariaExpanded;
815
1001
  reference['aria-haspopup'] = ariaHasPopup;
816
- reference['aria-controls'] = open ? listElement?.id : undefined;
817
- reference['aria-autocomplete'] = autoComplete;
1002
+ reference['aria-controls'] = expanded ? listElement?.id : undefined;
1003
+ // `readOnly` accepts no input, so no completion of any kind is offered.
1004
+ reference['aria-autocomplete'] = readOnly ? 'none' : autoComplete;
818
1005
  }
819
1006
  return {
820
1007
  reference,
@@ -822,9 +1009,13 @@ function AriaCombobox(props) {
822
1009
  role: 'presentation'
823
1010
  }
824
1011
  };
825
- }, [inputElement, open, ariaExpanded, ariaHasPopup, listElement?.id, autoComplete]);
1012
+ }, [inputElement, expanded, ariaExpanded, ariaHasPopup, listElement?.id, autoComplete, readOnly]);
1013
+
1014
+ // `readOnly` locks the value, not the interaction: the popup opens and can be browsed.
1015
+ // Value changes stay blocked in `ComboboxItem`, `ComboboxInput`'s keydown, `ComboboxTrigger`'s
1016
+ // typeahead, the clear/remove parts, and the hidden input's autofill handler.
826
1017
  const click = (0, _floatingUiReact.useClick)(floatingRootContext, {
827
- enabled: !readOnly && !disabled && openOnInputClick,
1018
+ enabled: !disabled && openOnInputClick,
828
1019
  event: 'mousedown-only',
829
1020
  toggle: false,
830
1021
  // Apply a small delay for touch to let mobile viewport/keyboard positioning settle.
@@ -833,7 +1024,7 @@ function AriaCombobox(props) {
833
1024
  reason: _reasons.REASONS.inputPress
834
1025
  });
835
1026
  const dismiss = (0, _floatingUiReact.useDismiss)(floatingRootContext, {
836
- enabled: !readOnly && !disabled && !inline,
1027
+ enabled: !disabled && !inline,
837
1028
  outsidePressEvent: {
838
1029
  mouse: 'sloppy',
839
1030
  // The visual viewport (affected by the mobile software keyboard) can be
@@ -849,7 +1040,7 @@ function AriaCombobox(props) {
849
1040
  }
850
1041
  });
851
1042
  const listNavigation = (0, _floatingUiReact.useListNavigation)(floatingRootContext, {
852
- enabled: !readOnly && !disabled,
1043
+ enabled: !disabled,
853
1044
  id,
854
1045
  listRef,
855
1046
  activeIndex,
@@ -876,7 +1067,7 @@ function AriaCombobox(props) {
876
1067
  } else {
877
1068
  setIndices({
878
1069
  activeIndex: nextActiveIndex,
879
- type: keyboardActiveRef.current ? 'keyboard' : 'pointer'
1070
+ type: keyboardActiveRef.current ? _reasons.REASONS.keyboard : _reasons.REASONS.pointer
880
1071
  });
881
1072
  }
882
1073
  }
@@ -891,7 +1082,8 @@ function AriaCombobox(props) {
891
1082
  }
892
1083
  }
893
1084
  }, dismiss.reference, click.reference, role.reference), [listNavigation.reference, dismiss.reference, click.reference, role.reference, grid, store]);
894
- const popupProps = React.useMemo(() => (0, _mergeProps.mergeProps)(_popups.FOCUSABLE_POPUP_PROPS, listNavigation.floating, dismiss.floating, role.floating), [listNavigation.floating, dismiss.floating, role.floating]);
1085
+ const popupProps = React.useMemo(() => (0, _mergeProps.mergeProps)(_popups.FOCUSABLE_POPUP_PROPS, dismiss.floating), [dismiss.floating]);
1086
+ const listProps = React.useMemo(() => (0, _mergeProps.mergeProps)(listNavigation.floating, role.floating), [listNavigation.floating, role.floating]);
895
1087
  const itemProps = React.useMemo(() => {
896
1088
  const listNavigationItemProps = listNavigation.item;
897
1089
  if (!listNavigationItemProps) {
@@ -905,65 +1097,76 @@ function AriaCombobox(props) {
905
1097
  onFocus: undefined
906
1098
  };
907
1099
  }, [listNavigation.item]);
1100
+ store.useContextCallback('setOpen', setOpen);
1101
+ store.useContextCallback('setInputValue', setInputValue);
1102
+ store.useContextCallback('setSelectedValue', setSelectedValue);
1103
+ store.useContextCallback('setIndices', setIndices);
1104
+ store.useContextCallback('handleSelection', handleSelection);
1105
+ store.useContextCallback('forceMount', forceMount);
1106
+ store.useContextCallback('requestSubmit', requestSubmit);
1107
+ store.useContextCallback('onOpenChangeComplete', onOpenChangeCompleteProp);
1108
+
1109
+ // The prop bags must be in the store before the parts render: they read them with `useStore`
1110
+ // during render, and a layout effect commits only after all children have rendered.
908
1111
  (0, _useOnFirstRender.useOnFirstRender)(() => {
909
1112
  store.update({
910
1113
  inline: inlineProp,
911
1114
  popupProps,
1115
+ listProps,
912
1116
  inputProps,
913
1117
  triggerProps,
914
- itemProps,
915
- setOpen,
916
- setInputValue,
917
- setSelectedValue,
918
- setIndices,
919
- onItemHighlighted,
920
- handleSelection,
921
- forceMount,
922
- requestSubmit
1118
+ itemProps
923
1119
  });
924
1120
  });
1121
+ const syncedValues = {
1122
+ id,
1123
+ selectedValue,
1124
+ open,
1125
+ mounted,
1126
+ transitionStatus,
1127
+ items: storeItems,
1128
+ inline: inlineProp,
1129
+ popupProps,
1130
+ listProps,
1131
+ inputProps,
1132
+ triggerProps,
1133
+ itemProps,
1134
+ openMethod,
1135
+ selectionMode,
1136
+ name,
1137
+ form,
1138
+ disabled,
1139
+ readOnly,
1140
+ required,
1141
+ grid,
1142
+ virtualized,
1143
+ openOnInputClick,
1144
+ itemToStringLabel,
1145
+ modal,
1146
+ autoHighlight: autoHighlightMode,
1147
+ isItemEqualToValue,
1148
+ submitOnItemClick,
1149
+ hasInputValue
1150
+ };
925
1151
  (0, _useIsoLayoutEffect.useIsoLayoutEffect)(() => {
1152
+ // `inputOwnsFormValue` is derived here rather than during render because `ComboboxInput`
1153
+ // writes it from a ref callback earlier in the same commit, and it has to land in this same
1154
+ // `update` so subscribers never observe an intermediate snapshot. That is also why
1155
+ // `store.useSyncedValues` can't be used yet: it would need a second write. The dependencies
1156
+ // are derived from `syncedValues` so a newly synchronized field can't be forgotten here.
926
1157
  store.update({
927
- id,
928
- selectedValue,
929
- open,
930
- mounted,
931
- transitionStatus,
932
- items,
933
- inline: inlineProp,
934
- popupProps,
935
- inputProps,
936
- triggerProps,
937
- openMethod,
938
- itemProps,
939
- selectionMode,
940
- name,
941
- form,
942
- disabled,
943
- readOnly,
944
- required,
945
- grid,
946
- isGrouped,
947
- virtualized,
948
- onOpenChangeComplete,
949
- openOnInputClick,
950
- itemToStringLabel,
951
- modal,
952
- autoHighlight: autoHighlightMode,
953
- isItemEqualToValue,
954
- submitOnItemClick,
955
- hasInputValue,
956
- requestSubmit,
1158
+ ...syncedValues,
957
1159
  inputOwnsFormValue: selectionMode === 'none' && (inlineProp || !store.state.inputInsidePopup)
958
1160
  });
959
- }, [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]);
1161
+ // eslint-disable-next-line react-hooks/exhaustive-deps
1162
+ }, [store, ...Object.values(syncedValues)]);
960
1163
  const hiddenInputRef = (0, _useMergedRefs.useMergedRefs)(inputRefProp, validation.inputRef);
961
1164
  const itemsContextValue = React.useMemo(() => ({
962
1165
  query,
963
1166
  hasItems,
964
1167
  filteredItems,
965
- flatFilteredItems
966
- }), [query, hasItems, filteredItems, flatFilteredItems]);
1168
+ flatFilteredValues
1169
+ }), [query, hasItems, filteredItems, flatFilteredValues]);
967
1170
  const serializedValue = React.useMemo(() => {
968
1171
  if (Array.isArray(fieldRawValue)) {
969
1172
  return '';
@@ -1000,14 +1203,14 @@ function AriaCombobox(props) {
1000
1203
  },
1001
1204
  // Handle browser autofill.
1002
1205
  onChange(event) {
1003
- // Workaround for https://github.com/facebook/react/issues/9023
1206
+ // Workaround for https://github.com/react/react/issues/9023
1004
1207
  if (event.nativeEvent.defaultPrevented || disabled || readOnly) {
1005
1208
  return;
1006
1209
  }
1007
1210
  const nextValue = event.currentTarget.value;
1008
1211
  const nextValueLower = nextValue.toLowerCase();
1009
1212
  const details = (0, _createBaseUIEventDetails.createChangeEventDetails)(_reasons.REASONS.none, event.nativeEvent);
1010
- const findSerializedMatchIndex = () => valuesRef.current.findIndex(candidate => (0, _resolveValueLabel.stringifyAsValue)(candidate, itemToStringValue).toLowerCase() === nextValueLower || (0, _resolveValueLabel.stringifyAsLabel)(candidate, itemToStringLabel).toLowerCase() === nextValueLower);
1213
+ const findSerializedMatchIndex = () => valuesRef.current.findIndex(candidate => (0, _resolveValueLabel.stringifyAsValue)(candidate, itemToStringValue).toLowerCase() === nextValueLower || stringifyValueLabel(candidate).toLowerCase() === nextValueLower);
1011
1214
  function handleChange() {
1012
1215
  // Browser autofill only writes a single scalar value.
1013
1216
  if (multiple) {