@base-ui/react 1.7.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 (1301) hide show
  1. package/CHANGELOG.md +143 -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/AccordionItemDataAttributes.d.mts +13 -15
  7. package/accordion/item/AccordionItemDataAttributes.d.ts +13 -15
  8. package/accordion/item/AccordionItemDataAttributes.js +14 -17
  9. package/accordion/item/AccordionItemDataAttributes.mjs +13 -16
  10. package/accordion/item/stateAttributesMapping.js +3 -2
  11. package/accordion/item/stateAttributesMapping.mjs +1 -1
  12. package/accordion/panel/AccordionPanel.js +3 -3
  13. package/accordion/panel/AccordionPanel.mjs +1 -1
  14. package/accordion/panel/AccordionPanelCssVars.d.mts +10 -12
  15. package/accordion/panel/AccordionPanelCssVars.d.ts +10 -12
  16. package/accordion/panel/AccordionPanelCssVars.js +11 -14
  17. package/accordion/panel/AccordionPanelCssVars.mjs +10 -13
  18. package/accordion/panel/AccordionPanelDataAttributes.d.mts +25 -27
  19. package/accordion/panel/AccordionPanelDataAttributes.d.ts +25 -27
  20. package/accordion/panel/AccordionPanelDataAttributes.js +26 -29
  21. package/accordion/panel/AccordionPanelDataAttributes.mjs +26 -28
  22. package/accordion/root/AccordionRoot.d.mts +1 -0
  23. package/accordion/root/AccordionRoot.d.ts +1 -0
  24. package/accordion/root/AccordionRoot.js +2 -9
  25. package/accordion/root/AccordionRoot.mjs +2 -9
  26. package/accordion/root/AccordionRootDataAttributes.d.mts +8 -10
  27. package/accordion/root/AccordionRootDataAttributes.d.ts +8 -10
  28. package/accordion/root/AccordionRootDataAttributes.js +9 -12
  29. package/accordion/root/AccordionRootDataAttributes.mjs +8 -11
  30. package/accordion/trigger/AccordionTriggerDataAttributes.d.mts +8 -10
  31. package/accordion/trigger/AccordionTriggerDataAttributes.d.ts +8 -10
  32. package/accordion/trigger/AccordionTriggerDataAttributes.js +9 -12
  33. package/accordion/trigger/AccordionTriggerDataAttributes.mjs +8 -11
  34. package/alert-dialog/root/AlertDialogRoot.d.mts +1 -1
  35. package/alert-dialog/root/AlertDialogRoot.d.ts +1 -1
  36. package/alert-dialog/trigger/AlertDialogTriggerDataAttributes.d.mts +8 -10
  37. package/alert-dialog/trigger/AlertDialogTriggerDataAttributes.d.ts +8 -10
  38. package/alert-dialog/trigger/AlertDialogTriggerDataAttributes.js +9 -12
  39. package/alert-dialog/trigger/AlertDialogTriggerDataAttributes.mjs +9 -11
  40. package/autocomplete/clear/AutocompleteClearDataAttributes.d.mts +1 -1
  41. package/autocomplete/clear/AutocompleteClearDataAttributes.d.ts +1 -1
  42. package/autocomplete/clear/AutocompleteClearDataAttributes.js +11 -7
  43. package/autocomplete/clear/AutocompleteClearDataAttributes.mjs +1 -1
  44. package/autocomplete/input-group/AutocompleteInputGroupDataAttributes.d.mts +49 -51
  45. package/autocomplete/input-group/AutocompleteInputGroupDataAttributes.d.ts +49 -51
  46. package/autocomplete/input-group/AutocompleteInputGroupDataAttributes.js +50 -53
  47. package/autocomplete/input-group/AutocompleteInputGroupDataAttributes.mjs +49 -52
  48. package/autocomplete/item/AutocompleteItemDataAttributes.d.mts +8 -10
  49. package/autocomplete/item/AutocompleteItemDataAttributes.d.ts +8 -10
  50. package/autocomplete/item/AutocompleteItemDataAttributes.js +11 -13
  51. package/autocomplete/item/AutocompleteItemDataAttributes.mjs +10 -12
  52. package/autocomplete/root/AutocompleteRoot.d.mts +24 -2
  53. package/autocomplete/root/AutocompleteRoot.d.ts +24 -2
  54. package/autocomplete/root/AutocompleteRoot.js +10 -23
  55. package/autocomplete/root/AutocompleteRoot.mjs +10 -23
  56. package/autocomplete/trigger/AutocompleteTrigger.d.mts +4 -0
  57. package/autocomplete/trigger/AutocompleteTrigger.d.ts +4 -0
  58. package/autocomplete/trigger/AutocompleteTriggerDataAttributes.d.mts +53 -55
  59. package/autocomplete/trigger/AutocompleteTriggerDataAttributes.d.ts +53 -55
  60. package/autocomplete/trigger/AutocompleteTriggerDataAttributes.js +54 -57
  61. package/autocomplete/trigger/AutocompleteTriggerDataAttributes.mjs +54 -56
  62. package/avatar/image/AvatarImage.d.mts +6 -0
  63. package/avatar/image/AvatarImage.d.ts +6 -0
  64. package/avatar/image/AvatarImage.js +75 -9
  65. package/avatar/image/AvatarImage.mjs +75 -9
  66. package/avatar/image/AvatarImageDataAttributes.d.mts +16 -10
  67. package/avatar/image/AvatarImageDataAttributes.d.ts +16 -10
  68. package/avatar/image/AvatarImageDataAttributes.js +17 -12
  69. package/avatar/image/AvatarImageDataAttributes.mjs +17 -11
  70. package/avatar/image/useImageLoadingStatus.d.mts +1 -1
  71. package/avatar/image/useImageLoadingStatus.d.ts +1 -1
  72. package/avatar/image/useImageLoadingStatus.js +8 -4
  73. package/avatar/image/useImageLoadingStatus.mjs +8 -4
  74. package/button/ButtonDataAttributes.d.mts +4 -6
  75. package/button/ButtonDataAttributes.d.ts +4 -6
  76. package/button/ButtonDataAttributes.js +5 -8
  77. package/button/ButtonDataAttributes.mjs +4 -7
  78. package/checkbox/indicator/CheckboxIndicator.js +2 -0
  79. package/checkbox/indicator/CheckboxIndicator.mjs +2 -0
  80. package/checkbox/indicator/CheckboxIndicatorDataAttributes.d.mts +56 -58
  81. package/checkbox/indicator/CheckboxIndicatorDataAttributes.d.ts +56 -58
  82. package/checkbox/indicator/CheckboxIndicatorDataAttributes.js +57 -60
  83. package/checkbox/indicator/CheckboxIndicatorDataAttributes.mjs +57 -59
  84. package/checkbox/root/CheckboxRoot.js +32 -44
  85. package/checkbox/root/CheckboxRoot.mjs +32 -44
  86. package/checkbox/root/CheckboxRootDataAttributes.d.mts +48 -50
  87. package/checkbox/root/CheckboxRootDataAttributes.d.ts +48 -50
  88. package/checkbox/root/CheckboxRootDataAttributes.js +49 -52
  89. package/checkbox/root/CheckboxRootDataAttributes.mjs +48 -51
  90. package/checkbox/utils/getCheckboxStateAttributesMapping.js +4 -2
  91. package/checkbox/utils/getCheckboxStateAttributesMapping.mjs +3 -2
  92. package/checkbox-group/CheckboxGroup.js +17 -8
  93. package/checkbox-group/CheckboxGroup.mjs +17 -8
  94. package/checkbox-group/CheckboxGroupContext.d.mts +6 -0
  95. package/checkbox-group/CheckboxGroupContext.d.ts +6 -0
  96. package/checkbox-group/CheckboxGroupDataAttributes.d.mts +4 -6
  97. package/checkbox-group/CheckboxGroupDataAttributes.d.ts +4 -6
  98. package/checkbox-group/CheckboxGroupDataAttributes.js +5 -8
  99. package/checkbox-group/CheckboxGroupDataAttributes.mjs +4 -7
  100. package/checkbox-group/useCheckboxGroupParent.d.mts +5 -3
  101. package/checkbox-group/useCheckboxGroupParent.d.ts +5 -3
  102. package/checkbox-group/useCheckboxGroupParent.js +37 -9
  103. package/checkbox-group/useCheckboxGroupParent.mjs +37 -9
  104. package/collapsible/panel/CollapsiblePanel.js +3 -3
  105. package/collapsible/panel/CollapsiblePanel.mjs +1 -1
  106. package/collapsible/panel/CollapsiblePanelCssVars.d.mts +10 -12
  107. package/collapsible/panel/CollapsiblePanelCssVars.d.ts +10 -12
  108. package/collapsible/panel/CollapsiblePanelCssVars.js +11 -14
  109. package/collapsible/panel/CollapsiblePanelCssVars.mjs +10 -13
  110. package/collapsible/panel/CollapsiblePanelDataAttributes.d.mts +16 -18
  111. package/collapsible/panel/CollapsiblePanelDataAttributes.d.ts +16 -18
  112. package/collapsible/panel/CollapsiblePanelDataAttributes.js +17 -20
  113. package/collapsible/panel/CollapsiblePanelDataAttributes.mjs +17 -19
  114. package/collapsible/panel/useCollapsiblePanel.js +2 -2
  115. package/collapsible/panel/useCollapsiblePanel.mjs +1 -1
  116. package/collapsible/root/CollapsibleRootDataAttributes.d.mts +16 -18
  117. package/collapsible/root/CollapsibleRootDataAttributes.d.ts +16 -18
  118. package/collapsible/root/CollapsibleRootDataAttributes.js +17 -20
  119. package/collapsible/root/CollapsibleRootDataAttributes.mjs +17 -19
  120. package/collapsible/root/useCollapsibleRoot.js +1 -1
  121. package/collapsible/root/useCollapsibleRoot.mjs +1 -1
  122. package/collapsible/trigger/CollapsibleTriggerDataAttributes.d.mts +4 -6
  123. package/collapsible/trigger/CollapsibleTriggerDataAttributes.d.ts +4 -6
  124. package/collapsible/trigger/CollapsibleTriggerDataAttributes.js +5 -8
  125. package/collapsible/trigger/CollapsibleTriggerDataAttributes.mjs +4 -7
  126. package/combobox/arrow/ComboboxArrow.js +1 -3
  127. package/combobox/arrow/ComboboxArrow.mjs +1 -3
  128. package/combobox/arrow/ComboboxArrowDataAttributes.d.mts +22 -24
  129. package/combobox/arrow/ComboboxArrowDataAttributes.d.ts +22 -24
  130. package/combobox/arrow/ComboboxArrowDataAttributes.js +23 -26
  131. package/combobox/arrow/ComboboxArrowDataAttributes.mjs +23 -25
  132. package/combobox/backdrop/ComboboxBackdrop.js +3 -5
  133. package/combobox/backdrop/ComboboxBackdrop.mjs +3 -5
  134. package/combobox/backdrop/ComboboxBackdropDataAttributes.d.mts +16 -18
  135. package/combobox/backdrop/ComboboxBackdropDataAttributes.d.ts +16 -18
  136. package/combobox/backdrop/ComboboxBackdropDataAttributes.js +17 -20
  137. package/combobox/backdrop/ComboboxBackdropDataAttributes.mjs +17 -19
  138. package/combobox/chip/ComboboxChip.js +7 -9
  139. package/combobox/chip/ComboboxChip.mjs +7 -9
  140. package/combobox/chip-remove/ComboboxChipRemove.js +9 -11
  141. package/combobox/chip-remove/ComboboxChipRemove.mjs +9 -11
  142. package/combobox/chips/ComboboxChips.js +4 -6
  143. package/combobox/chips/ComboboxChips.mjs +4 -6
  144. package/combobox/clear/ComboboxClear.js +14 -16
  145. package/combobox/clear/ComboboxClear.mjs +14 -16
  146. package/combobox/clear/ComboboxClearDataAttributes.d.mts +20 -22
  147. package/combobox/clear/ComboboxClearDataAttributes.d.ts +20 -22
  148. package/combobox/clear/ComboboxClearDataAttributes.js +21 -24
  149. package/combobox/clear/ComboboxClearDataAttributes.mjs +21 -23
  150. package/combobox/collection/GroupCollectionContext.d.mts +1 -1
  151. package/combobox/collection/GroupCollectionContext.d.ts +1 -1
  152. package/combobox/empty/ComboboxEmpty.js +1 -1
  153. package/combobox/empty/ComboboxEmpty.mjs +1 -1
  154. package/combobox/group/ComboboxGroup.js +6 -1
  155. package/combobox/group/ComboboxGroup.mjs +6 -1
  156. package/combobox/group-label/ComboboxGroupLabel.js +2 -1
  157. package/combobox/group-label/ComboboxGroupLabel.mjs +2 -1
  158. package/combobox/index.d.mts +3 -1
  159. package/combobox/index.d.ts +3 -1
  160. package/combobox/index.parts.d.mts +2 -1
  161. package/combobox/index.parts.d.ts +2 -1
  162. package/combobox/index.parts.js +8 -1
  163. package/combobox/index.parts.mjs +2 -1
  164. package/combobox/input/ComboboxInput.js +44 -40
  165. package/combobox/input/ComboboxInput.mjs +44 -40
  166. package/combobox/input/ComboboxInputDataAttributes.d.mts +53 -55
  167. package/combobox/input/ComboboxInputDataAttributes.d.ts +53 -55
  168. package/combobox/input/ComboboxInputDataAttributes.js +54 -57
  169. package/combobox/input/ComboboxInputDataAttributes.mjs +54 -56
  170. package/combobox/input-group/ComboboxInputGroup.js +7 -9
  171. package/combobox/input-group/ComboboxInputGroup.mjs +7 -9
  172. package/combobox/input-group/ComboboxInputGroupDataAttributes.d.mts +53 -55
  173. package/combobox/input-group/ComboboxInputGroupDataAttributes.d.ts +53 -55
  174. package/combobox/input-group/ComboboxInputGroupDataAttributes.js +54 -57
  175. package/combobox/input-group/ComboboxInputGroupDataAttributes.mjs +53 -56
  176. package/combobox/item/ComboboxItem.js +28 -26
  177. package/combobox/item/ComboboxItem.mjs +29 -27
  178. package/combobox/item/ComboboxItemDataAttributes.d.mts +12 -14
  179. package/combobox/item/ComboboxItemDataAttributes.d.ts +12 -14
  180. package/combobox/item/ComboboxItemDataAttributes.js +13 -16
  181. package/combobox/item/ComboboxItemDataAttributes.mjs +12 -15
  182. package/combobox/item-indicator/ComboboxItemIndicator.js +2 -0
  183. package/combobox/item-indicator/ComboboxItemIndicator.mjs +2 -0
  184. package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.d.mts +8 -10
  185. package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.d.ts +8 -10
  186. package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.js +9 -12
  187. package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.mjs +9 -11
  188. package/combobox/items/createItems.d.mts +53 -0
  189. package/combobox/items/createItems.d.ts +53 -0
  190. package/combobox/items/createItems.js +93 -0
  191. package/combobox/items/createItems.mjs +88 -0
  192. package/combobox/items/itemCollection.d.mts +39 -0
  193. package/combobox/items/itemCollection.d.ts +39 -0
  194. package/combobox/items/itemCollection.js +33 -0
  195. package/combobox/items/itemCollection.mjs +27 -0
  196. package/combobox/label/ComboboxLabel.js +4 -6
  197. package/combobox/label/ComboboxLabel.mjs +4 -6
  198. package/combobox/list/ComboboxList.js +13 -11
  199. package/combobox/list/ComboboxList.mjs +13 -11
  200. package/combobox/popup/ComboboxPopup.js +17 -19
  201. package/combobox/popup/ComboboxPopup.mjs +17 -19
  202. package/combobox/popup/ComboboxPopupDataAttributes.d.mts +34 -37
  203. package/combobox/popup/ComboboxPopupDataAttributes.d.ts +34 -37
  204. package/combobox/popup/ComboboxPopupDataAttributes.js +35 -39
  205. package/combobox/popup/ComboboxPopupDataAttributes.mjs +35 -38
  206. package/combobox/portal/ComboboxPortal.js +2 -4
  207. package/combobox/portal/ComboboxPortal.mjs +2 -4
  208. package/combobox/positioner/ComboboxPositioner.js +10 -12
  209. package/combobox/positioner/ComboboxPositioner.mjs +10 -12
  210. package/combobox/positioner/ComboboxPositionerCssVars.d.mts +25 -27
  211. package/combobox/positioner/ComboboxPositionerCssVars.d.ts +25 -27
  212. package/combobox/positioner/ComboboxPositionerCssVars.js +26 -29
  213. package/combobox/positioner/ComboboxPositionerCssVars.mjs +25 -28
  214. package/combobox/positioner/ComboboxPositionerDataAttributes.d.mts +26 -28
  215. package/combobox/positioner/ComboboxPositionerDataAttributes.d.ts +26 -28
  216. package/combobox/positioner/ComboboxPositionerDataAttributes.js +27 -30
  217. package/combobox/positioner/ComboboxPositionerDataAttributes.mjs +27 -29
  218. package/combobox/root/AriaCombobox.d.mts +32 -11
  219. package/combobox/root/AriaCombobox.d.ts +32 -11
  220. package/combobox/root/AriaCombobox.js +308 -168
  221. package/combobox/root/AriaCombobox.mjs +310 -171
  222. package/combobox/root/ComboboxRoot.d.mts +7 -3
  223. package/combobox/root/ComboboxRoot.d.ts +7 -3
  224. package/combobox/root/ComboboxRootContext.d.mts +5 -1
  225. package/combobox/root/ComboboxRootContext.d.ts +5 -1
  226. package/combobox/root/utils/index.d.mts +5 -2
  227. package/combobox/root/utils/index.d.ts +5 -2
  228. package/combobox/root/utils/index.js +2 -1
  229. package/combobox/root/utils/index.mjs +2 -1
  230. package/combobox/root/utils/useFilter.d.mts +2 -1
  231. package/combobox/root/utils/useFilter.d.ts +2 -1
  232. package/combobox/root/utils/useFilteredItems.d.mts +1 -0
  233. package/combobox/root/utils/useFilteredItems.d.ts +1 -0
  234. package/combobox/root/utils/useFilteredItems.js +1 -0
  235. package/combobox/root/utils/useFilteredItems.mjs +1 -0
  236. package/combobox/store.d.mts +55 -28
  237. package/combobox/store.d.ts +55 -28
  238. package/combobox/store.js +5 -0
  239. package/combobox/store.mjs +6 -0
  240. package/combobox/trigger/ComboboxTrigger.d.mts +4 -0
  241. package/combobox/trigger/ComboboxTrigger.d.ts +4 -0
  242. package/combobox/trigger/ComboboxTrigger.js +34 -33
  243. package/combobox/trigger/ComboboxTrigger.mjs +34 -33
  244. package/combobox/trigger/ComboboxTriggerDataAttributes.d.mts +57 -59
  245. package/combobox/trigger/ComboboxTriggerDataAttributes.d.ts +57 -59
  246. package/combobox/trigger/ComboboxTriggerDataAttributes.js +58 -61
  247. package/combobox/trigger/ComboboxTriggerDataAttributes.mjs +58 -60
  248. package/combobox/utils/ComboboxInternalDismissButton.js +1 -1
  249. package/combobox/utils/ComboboxInternalDismissButton.mjs +1 -1
  250. package/combobox/utils/handleInputPress.d.mts +1 -1
  251. package/combobox/utils/handleInputPress.d.ts +1 -1
  252. package/combobox/utils/handleInputPress.js +4 -4
  253. package/combobox/utils/handleInputPress.mjs +4 -4
  254. package/combobox/utils/parts.d.mts +1 -1
  255. package/combobox/utils/parts.d.ts +1 -1
  256. package/combobox/utils/parts.js +6 -8
  257. package/combobox/utils/parts.mjs +6 -8
  258. package/combobox/utils/stateAttributesMapping.d.mts +4 -4
  259. package/combobox/utils/stateAttributesMapping.d.ts +4 -4
  260. package/combobox/utils/stateAttributesMapping.js +4 -2
  261. package/combobox/utils/stateAttributesMapping.mjs +3 -2
  262. package/combobox/value/ComboboxValue.d.mts +5 -0
  263. package/combobox/value/ComboboxValue.d.ts +5 -0
  264. package/combobox/value/ComboboxValue.js +6 -8
  265. package/combobox/value/ComboboxValue.mjs +6 -8
  266. package/context-menu/index.d.mts +1 -1
  267. package/context-menu/index.d.ts +1 -1
  268. package/context-menu/index.parts.d.mts +1 -1
  269. package/context-menu/index.parts.d.ts +1 -1
  270. package/context-menu/index.parts.js +2 -2
  271. package/context-menu/index.parts.mjs +1 -1
  272. package/context-menu/positioner/ContextMenuPositioner.d.mts +95 -0
  273. package/context-menu/positioner/ContextMenuPositioner.d.ts +95 -0
  274. package/context-menu/positioner/ContextMenuPositioner.js +15 -0
  275. package/context-menu/positioner/ContextMenuPositioner.mjs +10 -0
  276. package/context-menu/positioner/ContextMenuPositionerCssVars.d.mts +1 -0
  277. package/context-menu/positioner/ContextMenuPositionerCssVars.d.ts +1 -0
  278. package/context-menu/positioner/ContextMenuPositionerCssVars.js +16 -0
  279. package/context-menu/positioner/ContextMenuPositionerCssVars.mjs +1 -0
  280. package/context-menu/positioner/ContextMenuPositionerDataAttributes.d.mts +1 -0
  281. package/context-menu/positioner/ContextMenuPositionerDataAttributes.d.ts +1 -0
  282. package/context-menu/positioner/ContextMenuPositionerDataAttributes.js +16 -0
  283. package/context-menu/positioner/ContextMenuPositionerDataAttributes.mjs +1 -0
  284. package/context-menu/root/ContextMenuRoot.d.mts +7 -2
  285. package/context-menu/root/ContextMenuRoot.d.ts +7 -2
  286. package/context-menu/trigger/ContextMenuTriggerDataAttributes.d.mts +8 -10
  287. package/context-menu/trigger/ContextMenuTriggerDataAttributes.d.ts +8 -10
  288. package/context-menu/trigger/ContextMenuTriggerDataAttributes.js +9 -12
  289. package/context-menu/trigger/ContextMenuTriggerDataAttributes.mjs +9 -11
  290. package/csp-provider/CSPProvider.d.mts +1 -1
  291. package/csp-provider/CSPProvider.d.ts +1 -1
  292. package/dialog/backdrop/DialogBackdropDataAttributes.d.mts +16 -18
  293. package/dialog/backdrop/DialogBackdropDataAttributes.d.ts +16 -18
  294. package/dialog/backdrop/DialogBackdropDataAttributes.js +17 -20
  295. package/dialog/backdrop/DialogBackdropDataAttributes.mjs +17 -19
  296. package/dialog/close/DialogCloseDataAttributes.d.mts +4 -6
  297. package/dialog/close/DialogCloseDataAttributes.d.ts +4 -6
  298. package/dialog/close/DialogCloseDataAttributes.js +5 -8
  299. package/dialog/close/DialogCloseDataAttributes.mjs +4 -7
  300. package/dialog/popup/DialogPopup.js +2 -1
  301. package/dialog/popup/DialogPopup.mjs +2 -1
  302. package/dialog/popup/DialogPopupCssVars.d.mts +5 -7
  303. package/dialog/popup/DialogPopupCssVars.d.ts +5 -7
  304. package/dialog/popup/DialogPopupCssVars.js +6 -9
  305. package/dialog/popup/DialogPopupCssVars.mjs +5 -8
  306. package/dialog/popup/DialogPopupDataAttributes.d.mts +24 -26
  307. package/dialog/popup/DialogPopupDataAttributes.d.ts +24 -26
  308. package/dialog/popup/DialogPopupDataAttributes.js +25 -28
  309. package/dialog/popup/DialogPopupDataAttributes.mjs +25 -27
  310. package/dialog/root/DialogRoot.d.mts +1 -1
  311. package/dialog/root/DialogRoot.d.ts +1 -1
  312. package/dialog/root/DialogRoot.js +5 -3
  313. package/dialog/root/DialogRoot.mjs +4 -2
  314. package/dialog/root/useRenderDialogRoot.d.mts +2 -1
  315. package/dialog/root/useRenderDialogRoot.d.ts +2 -1
  316. package/dialog/store/DialogStore.js +2 -7
  317. package/dialog/store/DialogStore.mjs +3 -8
  318. package/dialog/trigger/DialogTrigger.js +2 -1
  319. package/dialog/trigger/DialogTrigger.mjs +2 -1
  320. package/dialog/trigger/DialogTriggerDataAttributes.d.mts +8 -10
  321. package/dialog/trigger/DialogTriggerDataAttributes.d.ts +8 -10
  322. package/dialog/trigger/DialogTriggerDataAttributes.js +9 -12
  323. package/dialog/trigger/DialogTriggerDataAttributes.mjs +9 -11
  324. package/dialog/utils/stateAttributesMapping.js +3 -1
  325. package/dialog/utils/stateAttributesMapping.mjs +3 -1
  326. package/dialog/viewport/DialogViewportDataAttributes.d.mts +24 -26
  327. package/dialog/viewport/DialogViewportDataAttributes.d.ts +24 -26
  328. package/dialog/viewport/DialogViewportDataAttributes.js +25 -28
  329. package/dialog/viewport/DialogViewportDataAttributes.mjs +25 -27
  330. package/docs/index.md +2 -1
  331. package/docs/react/components/accordion.md +326 -5
  332. package/docs/react/components/alert-dialog.md +376 -16
  333. package/docs/react/components/autocomplete.md +49 -43
  334. package/docs/react/components/avatar.md +49 -0
  335. package/docs/react/components/button.md +7 -3
  336. package/docs/react/components/collapsible.md +18 -0
  337. package/docs/react/components/combobox.md +990 -226
  338. package/docs/react/components/context-menu.md +47 -49
  339. package/docs/react/components/dialog.md +358 -14
  340. package/docs/react/components/field.md +14 -14
  341. package/docs/react/components/menu.md +29 -28
  342. package/docs/react/components/navigation-menu.md +4 -0
  343. package/docs/react/components/popover.md +1 -0
  344. package/docs/react/components/preview-card.md +5 -4
  345. package/docs/react/components/select.md +7 -7
  346. package/docs/react/components/slider.md +414 -49
  347. package/docs/react/components/tabs.md +1 -4
  348. package/docs/react/components/toast.md +19 -4
  349. package/docs/react/overview/community.md +2 -5
  350. package/docs/react/overview/releases/v1-8-0.md +148 -0
  351. package/docs/react/overview/releases.md +11 -1
  352. package/docs/react/utils/use-render.md +4 -362
  353. package/drawer/backdrop/DrawerBackdrop.js +4 -4
  354. package/drawer/backdrop/DrawerBackdrop.mjs +2 -2
  355. package/drawer/backdrop/DrawerBackdropCssVars.d.mts +5 -7
  356. package/drawer/backdrop/DrawerBackdropCssVars.d.ts +5 -7
  357. package/drawer/backdrop/DrawerBackdropCssVars.js +6 -9
  358. package/drawer/backdrop/DrawerBackdropCssVars.mjs +5 -8
  359. package/drawer/backdrop/DrawerBackdropDataAttributes.d.mts +16 -18
  360. package/drawer/backdrop/DrawerBackdropDataAttributes.d.ts +16 -18
  361. package/drawer/backdrop/DrawerBackdropDataAttributes.js +17 -20
  362. package/drawer/backdrop/DrawerBackdropDataAttributes.mjs +17 -19
  363. package/drawer/content/DrawerContent.js +2 -2
  364. package/drawer/content/DrawerContent.mjs +1 -1
  365. package/drawer/indent/DrawerIndent.js +9 -9
  366. package/drawer/indent/DrawerIndent.mjs +2 -2
  367. package/drawer/popup/DrawerPopup.js +22 -22
  368. package/drawer/popup/DrawerPopup.mjs +3 -3
  369. package/drawer/popup/DrawerPopupCssVars.d.mts +35 -37
  370. package/drawer/popup/DrawerPopupCssVars.d.ts +35 -37
  371. package/drawer/popup/DrawerPopupCssVars.js +36 -39
  372. package/drawer/popup/DrawerPopupCssVars.mjs +35 -38
  373. package/drawer/popup/DrawerPopupDataAttributes.d.mts +41 -43
  374. package/drawer/popup/DrawerPopupDataAttributes.d.ts +41 -43
  375. package/drawer/popup/DrawerPopupDataAttributes.js +42 -45
  376. package/drawer/popup/DrawerPopupDataAttributes.mjs +42 -44
  377. package/drawer/provider/DrawerProvider.d.mts +1 -1
  378. package/drawer/provider/DrawerProvider.d.ts +1 -1
  379. package/drawer/root/DrawerRoot.d.mts +1 -1
  380. package/drawer/root/DrawerRoot.d.ts +1 -1
  381. package/drawer/root/useDrawerSnapPoints.js +1 -1
  382. package/drawer/root/useDrawerSnapPoints.mjs +1 -1
  383. package/drawer/swipe-area/DrawerSwipeArea.js +34 -25
  384. package/drawer/swipe-area/DrawerSwipeArea.mjs +14 -5
  385. package/drawer/swipe-area/DrawerSwipeAreaDataAttributes.d.mts +21 -23
  386. package/drawer/swipe-area/DrawerSwipeAreaDataAttributes.d.ts +21 -23
  387. package/drawer/swipe-area/DrawerSwipeAreaDataAttributes.js +22 -25
  388. package/drawer/swipe-area/DrawerSwipeAreaDataAttributes.mjs +22 -24
  389. package/drawer/viewport/DrawerViewport.js +66 -35
  390. package/drawer/viewport/DrawerViewport.mjs +54 -23
  391. package/drawer/viewport/DrawerViewportCssVars.d.mts +6 -8
  392. package/drawer/viewport/DrawerViewportCssVars.d.ts +6 -8
  393. package/drawer/viewport/DrawerViewportCssVars.js +7 -10
  394. package/drawer/viewport/DrawerViewportCssVars.mjs +6 -9
  395. package/drawer/viewport/DrawerViewportDataAttributes.d.mts +20 -22
  396. package/drawer/viewport/DrawerViewportDataAttributes.d.ts +20 -22
  397. package/drawer/viewport/DrawerViewportDataAttributes.js +21 -24
  398. package/drawer/viewport/DrawerViewportDataAttributes.mjs +21 -23
  399. package/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardProvider.d.mts +1 -1
  400. package/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardProvider.d.ts +1 -1
  401. package/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardProvider.js +4 -4
  402. package/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardProvider.mjs +2 -2
  403. package/field/control/FieldControl.js +67 -20
  404. package/field/control/FieldControl.mjs +67 -20
  405. package/field/control/FieldControlDataAttributes.d.mts +28 -30
  406. package/field/control/FieldControlDataAttributes.d.ts +28 -30
  407. package/field/control/FieldControlDataAttributes.js +29 -32
  408. package/field/control/FieldControlDataAttributes.mjs +28 -31
  409. package/field/description/FieldDescriptionDataAttributes.d.mts +28 -30
  410. package/field/description/FieldDescriptionDataAttributes.d.ts +28 -30
  411. package/field/description/FieldDescriptionDataAttributes.js +29 -32
  412. package/field/description/FieldDescriptionDataAttributes.mjs +28 -31
  413. package/field/error/FieldErrorDataAttributes.d.mts +36 -38
  414. package/field/error/FieldErrorDataAttributes.d.ts +36 -38
  415. package/field/error/FieldErrorDataAttributes.js +37 -40
  416. package/field/error/FieldErrorDataAttributes.mjs +37 -39
  417. package/field/item/FieldItemDataAttributes.d.mts +28 -30
  418. package/field/item/FieldItemDataAttributes.d.ts +28 -30
  419. package/field/item/FieldItemDataAttributes.js +29 -32
  420. package/field/item/FieldItemDataAttributes.mjs +28 -31
  421. package/field/label/FieldLabelDataAttributes.d.mts +28 -30
  422. package/field/label/FieldLabelDataAttributes.d.ts +28 -30
  423. package/field/label/FieldLabelDataAttributes.js +29 -32
  424. package/field/label/FieldLabelDataAttributes.mjs +28 -31
  425. package/field/root/FieldRoot.d.mts +3 -2
  426. package/field/root/FieldRoot.d.ts +3 -2
  427. package/field/root/FieldRoot.js +4 -2
  428. package/field/root/FieldRoot.mjs +4 -2
  429. package/field/root/FieldRootDataAttributes.d.mts +28 -30
  430. package/field/root/FieldRootDataAttributes.d.ts +28 -30
  431. package/field/root/FieldRootDataAttributes.js +29 -32
  432. package/field/root/FieldRootDataAttributes.mjs +28 -31
  433. package/field/root/useFieldValidation.d.mts +3 -2
  434. package/field/root/useFieldValidation.d.ts +3 -2
  435. package/field/root/useFieldValidation.js +116 -91
  436. package/field/root/useFieldValidation.mjs +116 -91
  437. package/floating-ui-react/components/FloatingDelayGroup.js +2 -1
  438. package/floating-ui-react/components/FloatingDelayGroup.mjs +2 -1
  439. package/floating-ui-react/components/FloatingPortal.d.mts +5 -0
  440. package/floating-ui-react/components/FloatingPortal.d.ts +5 -0
  441. package/floating-ui-react/components/FloatingPortal.js +2 -0
  442. package/floating-ui-react/components/FloatingPortal.mjs +2 -0
  443. package/floating-ui-react/hooks/useDismiss.d.mts +1 -1
  444. package/floating-ui-react/hooks/useDismiss.d.ts +1 -1
  445. package/floating-ui-react/hooks/useDismiss.js +65 -10
  446. package/floating-ui-react/hooks/useDismiss.mjs +66 -11
  447. package/floating-ui-react/hooks/useFloatingRootContext.js +0 -2
  448. package/floating-ui-react/hooks/useFloatingRootContext.mjs +0 -2
  449. package/floating-ui-react/hooks/useFocus.js +1 -0
  450. package/floating-ui-react/hooks/useFocus.mjs +1 -0
  451. package/floating-ui-react/hooks/useHoverReferenceInteraction.js +1 -1
  452. package/floating-ui-react/hooks/useHoverReferenceInteraction.mjs +1 -1
  453. package/floating-ui-react/hooks/useListNavigation.js +1 -2
  454. package/floating-ui-react/hooks/useListNavigation.mjs +1 -2
  455. package/floating-ui-react/hooks/useSyncedFloatingRootContext.d.mts +9 -4
  456. package/floating-ui-react/hooks/useSyncedFloatingRootContext.d.ts +9 -4
  457. package/floating-ui-react/hooks/useSyncedFloatingRootContext.js +5 -0
  458. package/floating-ui-react/hooks/useSyncedFloatingRootContext.mjs +6 -0
  459. package/floating-ui-react/middleware/arrow.js +11 -4
  460. package/floating-ui-react/middleware/arrow.mjs +11 -4
  461. package/floating-ui-react/utils/element.d.mts +1 -1
  462. package/floating-ui-react/utils/element.d.ts +1 -1
  463. package/floating-ui-react/utils/element.js +5 -3
  464. package/floating-ui-react/utils/element.mjs +4 -3
  465. package/form/Form.js +13 -7
  466. package/form/Form.mjs +13 -7
  467. package/index.js +1 -1
  468. package/index.mjs +1 -1
  469. package/input/InputDataAttributes.d.mts +28 -30
  470. package/input/InputDataAttributes.d.ts +28 -30
  471. package/input/InputDataAttributes.js +29 -32
  472. package/input/InputDataAttributes.mjs +28 -31
  473. package/internals/PrehydrationScript.d.mts +2 -1
  474. package/internals/PrehydrationScript.d.ts +2 -1
  475. package/internals/TransitionStatusDataAttributes.d.mts +8 -0
  476. package/internals/TransitionStatusDataAttributes.d.ts +8 -0
  477. package/internals/TransitionStatusDataAttributes.js +15 -0
  478. package/internals/TransitionStatusDataAttributes.mjs +9 -0
  479. package/internals/composite/list/CompositeList.d.mts +1 -1
  480. package/internals/composite/list/CompositeList.d.ts +1 -1
  481. package/internals/composite/list/CompositeList.js +10 -2
  482. package/internals/composite/list/CompositeList.mjs +10 -2
  483. package/internals/composite/root/CompositeRoot.d.mts +1 -1
  484. package/internals/composite/root/CompositeRoot.d.ts +1 -1
  485. package/internals/composite/root/useCompositeRoot.js +45 -3
  486. package/internals/composite/root/useCompositeRoot.mjs +44 -2
  487. package/internals/field-constants/constants.js +4 -2
  488. package/internals/field-constants/constants.mjs +3 -2
  489. package/internals/field-register-control/useFieldControlRegistration.d.mts +1 -0
  490. package/internals/field-register-control/useFieldControlRegistration.d.ts +1 -0
  491. package/internals/field-register-control/useFieldControlRegistration.js +8 -0
  492. package/internals/field-register-control/useFieldControlRegistration.mjs +8 -0
  493. package/internals/filter.js +1 -1
  494. package/internals/filter.mjs +1 -1
  495. package/internals/form-context/FormContext.d.mts +1 -1
  496. package/internals/form-context/FormContext.d.ts +1 -1
  497. package/internals/form-context/FormContext.js +2 -2
  498. package/internals/form-context/FormContext.mjs +2 -2
  499. package/internals/itemEquality.d.mts +4 -1
  500. package/internals/itemEquality.d.ts +4 -1
  501. package/internals/itemEquality.js +40 -5
  502. package/internals/itemEquality.mjs +38 -5
  503. package/internals/labelable-provider/LabelableContext.d.mts +3 -1
  504. package/internals/labelable-provider/LabelableContext.d.ts +3 -1
  505. package/internals/labelable-provider/LabelableContext.js +1 -0
  506. package/internals/labelable-provider/LabelableContext.mjs +1 -0
  507. package/internals/labelable-provider/LabelableProvider.d.mts +0 -2
  508. package/internals/labelable-provider/LabelableProvider.d.ts +0 -2
  509. package/internals/labelable-provider/LabelableProvider.js +21 -12
  510. package/internals/labelable-provider/LabelableProvider.mjs +21 -12
  511. package/internals/labelable-provider/useLabel.d.mts +2 -2
  512. package/internals/labelable-provider/useLabel.d.ts +2 -2
  513. package/internals/labelable-provider/useLabel.js +1 -1
  514. package/internals/labelable-provider/useLabel.mjs +1 -1
  515. package/internals/labelable-provider/useLabelableId.d.mts +6 -7
  516. package/internals/labelable-provider/useLabelableId.d.ts +6 -7
  517. package/internals/labelable-provider/useLabelableId.js +27 -20
  518. package/internals/labelable-provider/useLabelableId.mjs +27 -20
  519. package/internals/resolveValueLabel.d.mts +1 -0
  520. package/internals/resolveValueLabel.d.ts +1 -0
  521. package/internals/resolveValueLabel.js +13 -3
  522. package/internals/resolveValueLabel.mjs +12 -3
  523. package/internals/stateAttributesMapping.d.mts +2 -10
  524. package/internals/stateAttributesMapping.d.ts +2 -10
  525. package/internals/stateAttributesMapping.js +5 -13
  526. package/internals/stateAttributesMapping.mjs +4 -13
  527. package/internals/temporal-adapter-luxon/TemporalAdapterLuxon.d.mts +1 -1
  528. package/internals/temporal-adapter-luxon/TemporalAdapterLuxon.d.ts +1 -1
  529. package/internals/useAnchorPositioning.js +34 -25
  530. package/internals/useAnchorPositioning.mjs +34 -25
  531. package/internals/useAnimationsFinished.d.mts +4 -1
  532. package/internals/useAnimationsFinished.d.ts +4 -1
  533. package/internals/useAnimationsFinished.js +45 -5
  534. package/internals/useAnimationsFinished.mjs +44 -5
  535. package/internals/useOpenChangeComplete.d.mts +6 -0
  536. package/internals/useOpenChangeComplete.d.ts +6 -0
  537. package/internals/useOpenChangeComplete.js +2 -1
  538. package/internals/useOpenChangeComplete.mjs +2 -1
  539. package/internals/usePressAndHold.js +8 -0
  540. package/internals/usePressAndHold.mjs +8 -0
  541. package/internals/useRenderElement.js +27 -15
  542. package/internals/useRenderElement.mjs +27 -15
  543. package/internals/useTransitionStatus.d.mts +5 -1
  544. package/internals/useTransitionStatus.d.ts +5 -1
  545. package/internals/useTransitionStatus.js +9 -2
  546. package/internals/useTransitionStatus.mjs +9 -2
  547. package/menu/arrow/MenuArrowDataAttributes.d.mts +22 -24
  548. package/menu/arrow/MenuArrowDataAttributes.d.ts +22 -24
  549. package/menu/arrow/MenuArrowDataAttributes.js +23 -26
  550. package/menu/arrow/MenuArrowDataAttributes.mjs +23 -25
  551. package/menu/backdrop/MenuBackdropDataAttributes.d.mts +16 -18
  552. package/menu/backdrop/MenuBackdropDataAttributes.d.ts +16 -18
  553. package/menu/backdrop/MenuBackdropDataAttributes.js +17 -20
  554. package/menu/backdrop/MenuBackdropDataAttributes.mjs +17 -19
  555. package/menu/checkbox-item/MenuCheckboxItemDataAttributes.d.mts +16 -18
  556. package/menu/checkbox-item/MenuCheckboxItemDataAttributes.d.ts +16 -18
  557. package/menu/checkbox-item/MenuCheckboxItemDataAttributes.js +17 -20
  558. package/menu/checkbox-item/MenuCheckboxItemDataAttributes.mjs +16 -19
  559. package/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.js +2 -0
  560. package/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.mjs +2 -0
  561. package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.d.mts +20 -22
  562. package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.d.ts +20 -22
  563. package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.js +21 -24
  564. package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.mjs +21 -23
  565. package/menu/group-label/MenuGroupLabel.js +1 -1
  566. package/menu/group-label/MenuGroupLabel.mjs +1 -1
  567. package/menu/item/MenuItemDataAttributes.d.mts +8 -10
  568. package/menu/item/MenuItemDataAttributes.d.ts +8 -10
  569. package/menu/item/MenuItemDataAttributes.js +9 -12
  570. package/menu/item/MenuItemDataAttributes.mjs +8 -11
  571. package/menu/link-item/MenuLinkItemDataAttributes.d.mts +4 -6
  572. package/menu/link-item/MenuLinkItemDataAttributes.d.ts +4 -6
  573. package/menu/link-item/MenuLinkItemDataAttributes.js +5 -8
  574. package/menu/link-item/MenuLinkItemDataAttributes.mjs +4 -7
  575. package/menu/popup/MenuPopupDataAttributes.d.mts +31 -33
  576. package/menu/popup/MenuPopupDataAttributes.d.ts +31 -33
  577. package/menu/popup/MenuPopupDataAttributes.js +32 -35
  578. package/menu/popup/MenuPopupDataAttributes.mjs +32 -34
  579. package/menu/portal/MenuPortal.js +9 -2
  580. package/menu/portal/MenuPortal.mjs +9 -2
  581. package/menu/positioner/MenuPositioner.d.mts +17 -1
  582. package/menu/positioner/MenuPositioner.d.ts +17 -1
  583. package/menu/positioner/MenuPositionerCssVars.d.mts +37 -39
  584. package/menu/positioner/MenuPositionerCssVars.d.ts +37 -39
  585. package/menu/positioner/MenuPositionerCssVars.js +38 -41
  586. package/menu/positioner/MenuPositionerCssVars.mjs +37 -40
  587. package/menu/positioner/MenuPositionerDataAttributes.d.mts +22 -24
  588. package/menu/positioner/MenuPositionerDataAttributes.d.ts +22 -24
  589. package/menu/positioner/MenuPositionerDataAttributes.js +23 -26
  590. package/menu/positioner/MenuPositionerDataAttributes.mjs +23 -25
  591. package/menu/radio-item/MenuRadioItemDataAttributes.d.mts +16 -18
  592. package/menu/radio-item/MenuRadioItemDataAttributes.d.ts +16 -18
  593. package/menu/radio-item/MenuRadioItemDataAttributes.js +17 -20
  594. package/menu/radio-item/MenuRadioItemDataAttributes.mjs +16 -19
  595. package/menu/radio-item-indicator/MenuRadioItemIndicator.js +2 -0
  596. package/menu/radio-item-indicator/MenuRadioItemIndicator.mjs +2 -0
  597. package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.d.mts +20 -22
  598. package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.d.ts +20 -22
  599. package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.js +21 -24
  600. package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.mjs +21 -23
  601. package/menu/root/MenuRoot.d.mts +1 -1
  602. package/menu/root/MenuRoot.d.ts +1 -1
  603. package/menu/root/MenuRoot.js +98 -19
  604. package/menu/root/MenuRoot.mjs +99 -20
  605. package/menu/store/MenuStore.d.mts +2 -2
  606. package/menu/store/MenuStore.d.ts +2 -2
  607. package/menu/store/MenuStore.js +12 -11
  608. package/menu/store/MenuStore.mjs +12 -11
  609. package/menu/submenu-root/MenuSubmenuRoot.d.mts +1 -1
  610. package/menu/submenu-root/MenuSubmenuRoot.d.ts +1 -1
  611. package/menu/submenu-trigger/MenuSubmenuTrigger.d.mts +1 -0
  612. package/menu/submenu-trigger/MenuSubmenuTrigger.d.ts +1 -0
  613. package/menu/submenu-trigger/MenuSubmenuTrigger.js +16 -5
  614. package/menu/submenu-trigger/MenuSubmenuTrigger.mjs +16 -5
  615. package/menu/submenu-trigger/MenuSubmenuTriggerDataAttributes.d.mts +12 -14
  616. package/menu/submenu-trigger/MenuSubmenuTriggerDataAttributes.d.ts +12 -14
  617. package/menu/submenu-trigger/MenuSubmenuTriggerDataAttributes.js +13 -16
  618. package/menu/submenu-trigger/MenuSubmenuTriggerDataAttributes.mjs +13 -15
  619. package/menu/trigger/MenuTriggerDataAttributes.d.mts +12 -10
  620. package/menu/trigger/MenuTriggerDataAttributes.d.ts +12 -10
  621. package/menu/trigger/MenuTriggerDataAttributes.js +13 -12
  622. package/menu/trigger/MenuTriggerDataAttributes.mjs +13 -11
  623. package/menu/utils/stateAttributesMapping.js +4 -3
  624. package/menu/utils/stateAttributesMapping.mjs +1 -1
  625. package/menu/viewport/MenuViewportCssVars.d.mts +12 -14
  626. package/menu/viewport/MenuViewportCssVars.d.ts +12 -14
  627. package/menu/viewport/MenuViewportCssVars.js +13 -16
  628. package/menu/viewport/MenuViewportCssVars.mjs +12 -15
  629. package/menu/viewport/MenuViewportDataAttributes.d.mts +24 -26
  630. package/menu/viewport/MenuViewportDataAttributes.d.ts +24 -26
  631. package/menu/viewport/MenuViewportDataAttributes.js +25 -28
  632. package/menu/viewport/MenuViewportDataAttributes.mjs +24 -27
  633. package/menubar/Menubar.js +2 -2
  634. package/menubar/Menubar.mjs +1 -1
  635. package/menubar/MenubarDataAttributes.d.mts +13 -15
  636. package/menubar/MenubarDataAttributes.d.ts +13 -15
  637. package/menubar/MenubarDataAttributes.js +14 -17
  638. package/menubar/MenubarDataAttributes.mjs +13 -16
  639. package/meter/root/MeterRoot.js +2 -2
  640. package/meter/root/MeterRoot.mjs +2 -2
  641. package/navigation-menu/arrow/NavigationMenuArrowDataAttributes.d.mts +22 -24
  642. package/navigation-menu/arrow/NavigationMenuArrowDataAttributes.d.ts +22 -24
  643. package/navigation-menu/arrow/NavigationMenuArrowDataAttributes.js +23 -26
  644. package/navigation-menu/arrow/NavigationMenuArrowDataAttributes.mjs +23 -25
  645. package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.d.mts +16 -18
  646. package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.d.ts +16 -18
  647. package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.js +17 -20
  648. package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.mjs +17 -19
  649. package/navigation-menu/content/NavigationMenuContent.js +2 -1
  650. package/navigation-menu/content/NavigationMenuContent.mjs +2 -1
  651. package/navigation-menu/content/NavigationMenuContentDataAttributes.d.mts +21 -23
  652. package/navigation-menu/content/NavigationMenuContentDataAttributes.d.ts +21 -23
  653. package/navigation-menu/content/NavigationMenuContentDataAttributes.js +22 -25
  654. package/navigation-menu/content/NavigationMenuContentDataAttributes.mjs +22 -24
  655. package/navigation-menu/icon/NavigationMenuIconDataAttributes.d.mts +4 -6
  656. package/navigation-menu/icon/NavigationMenuIconDataAttributes.d.ts +4 -6
  657. package/navigation-menu/icon/NavigationMenuIconDataAttributes.js +5 -8
  658. package/navigation-menu/icon/NavigationMenuIconDataAttributes.mjs +5 -7
  659. package/navigation-menu/link/NavigationMenuLinkDataAttributes.d.mts +4 -6
  660. package/navigation-menu/link/NavigationMenuLinkDataAttributes.d.ts +4 -6
  661. package/navigation-menu/link/NavigationMenuLinkDataAttributes.js +5 -8
  662. package/navigation-menu/link/NavigationMenuLinkDataAttributes.mjs +4 -7
  663. package/navigation-menu/popup/NavigationMenuPopupCssVars.d.mts +10 -12
  664. package/navigation-menu/popup/NavigationMenuPopupCssVars.d.ts +10 -12
  665. package/navigation-menu/popup/NavigationMenuPopupCssVars.js +11 -14
  666. package/navigation-menu/popup/NavigationMenuPopupCssVars.mjs +10 -13
  667. package/navigation-menu/popup/NavigationMenuPopupDataAttributes.d.mts +30 -32
  668. package/navigation-menu/popup/NavigationMenuPopupDataAttributes.d.ts +30 -32
  669. package/navigation-menu/popup/NavigationMenuPopupDataAttributes.js +31 -34
  670. package/navigation-menu/popup/NavigationMenuPopupDataAttributes.mjs +31 -33
  671. package/navigation-menu/positioner/NavigationMenuPositionerCssVars.d.mts +35 -37
  672. package/navigation-menu/positioner/NavigationMenuPositionerCssVars.d.ts +35 -37
  673. package/navigation-menu/positioner/NavigationMenuPositionerCssVars.js +36 -39
  674. package/navigation-menu/positioner/NavigationMenuPositionerCssVars.mjs +35 -38
  675. package/navigation-menu/positioner/NavigationMenuPositionerDataAttributes.d.mts +26 -28
  676. package/navigation-menu/positioner/NavigationMenuPositionerDataAttributes.d.ts +26 -28
  677. package/navigation-menu/positioner/NavigationMenuPositionerDataAttributes.js +27 -30
  678. package/navigation-menu/positioner/NavigationMenuPositionerDataAttributes.mjs +27 -29
  679. package/navigation-menu/root/NavigationMenuRoot.js +3 -3
  680. package/navigation-menu/root/NavigationMenuRoot.mjs +1 -1
  681. package/navigation-menu/trigger/NavigationMenuTrigger.d.mts +11 -1
  682. package/navigation-menu/trigger/NavigationMenuTrigger.d.ts +11 -1
  683. package/navigation-menu/trigger/NavigationMenuTrigger.js +25 -37
  684. package/navigation-menu/trigger/NavigationMenuTrigger.mjs +9 -21
  685. package/navigation-menu/trigger/NavigationMenuTriggerDataAttributes.d.mts +12 -10
  686. package/navigation-menu/trigger/NavigationMenuTriggerDataAttributes.d.ts +12 -10
  687. package/navigation-menu/trigger/NavigationMenuTriggerDataAttributes.js +13 -12
  688. package/navigation-menu/trigger/NavigationMenuTriggerDataAttributes.mjs +13 -11
  689. package/navigation-menu/utils/setSharedFixedSize.js +7 -6
  690. package/navigation-menu/utils/setSharedFixedSize.mjs +2 -2
  691. package/number-field/decrement/NumberFieldDecrementDataAttributes.d.mts +40 -42
  692. package/number-field/decrement/NumberFieldDecrementDataAttributes.d.ts +40 -42
  693. package/number-field/decrement/NumberFieldDecrementDataAttributes.js +41 -44
  694. package/number-field/decrement/NumberFieldDecrementDataAttributes.mjs +40 -43
  695. package/number-field/group/NumberFieldGroupDataAttributes.d.mts +40 -42
  696. package/number-field/group/NumberFieldGroupDataAttributes.d.ts +40 -42
  697. package/number-field/group/NumberFieldGroupDataAttributes.js +41 -44
  698. package/number-field/group/NumberFieldGroupDataAttributes.mjs +40 -43
  699. package/number-field/increment/NumberFieldIncrementDataAttributes.d.mts +40 -42
  700. package/number-field/increment/NumberFieldIncrementDataAttributes.d.ts +40 -42
  701. package/number-field/increment/NumberFieldIncrementDataAttributes.js +41 -44
  702. package/number-field/increment/NumberFieldIncrementDataAttributes.mjs +40 -43
  703. package/number-field/input/NumberFieldInput.js +1 -12
  704. package/number-field/input/NumberFieldInput.mjs +1 -12
  705. package/number-field/input/NumberFieldInputDataAttributes.d.mts +40 -42
  706. package/number-field/input/NumberFieldInputDataAttributes.d.ts +40 -42
  707. package/number-field/input/NumberFieldInputDataAttributes.js +41 -44
  708. package/number-field/input/NumberFieldInputDataAttributes.mjs +40 -43
  709. package/number-field/root/NumberFieldRoot.js +33 -7
  710. package/number-field/root/NumberFieldRoot.mjs +33 -7
  711. package/number-field/root/NumberFieldRootContext.d.mts +1 -0
  712. package/number-field/root/NumberFieldRootContext.d.ts +1 -0
  713. package/number-field/root/NumberFieldRootDataAttributes.d.mts +40 -42
  714. package/number-field/root/NumberFieldRootDataAttributes.d.ts +40 -42
  715. package/number-field/root/NumberFieldRootDataAttributes.js +41 -44
  716. package/number-field/root/NumberFieldRootDataAttributes.mjs +40 -43
  717. package/number-field/root/useNumberFieldStepperButton.js +2 -1
  718. package/number-field/root/useNumberFieldStepperButton.mjs +2 -1
  719. package/number-field/scrub-area/NumberFieldScrubArea.js +2 -1
  720. package/number-field/scrub-area/NumberFieldScrubArea.mjs +2 -1
  721. package/number-field/scrub-area/NumberFieldScrubAreaDataAttributes.d.mts +40 -42
  722. package/number-field/scrub-area/NumberFieldScrubAreaDataAttributes.d.ts +40 -42
  723. package/number-field/scrub-area/NumberFieldScrubAreaDataAttributes.js +41 -44
  724. package/number-field/scrub-area/NumberFieldScrubAreaDataAttributes.mjs +40 -43
  725. package/number-field/scrub-area-cursor/NumberFieldScrubAreaCursorDataAttributes.d.mts +40 -42
  726. package/number-field/scrub-area-cursor/NumberFieldScrubAreaCursorDataAttributes.d.ts +40 -42
  727. package/number-field/scrub-area-cursor/NumberFieldScrubAreaCursorDataAttributes.js +41 -44
  728. package/number-field/scrub-area-cursor/NumberFieldScrubAreaCursorDataAttributes.mjs +40 -43
  729. package/number-field/utils/parse.js +1 -1
  730. package/number-field/utils/parse.mjs +1 -1
  731. package/number-field/utils/validate.js +2 -2
  732. package/number-field/utils/validate.mjs +2 -2
  733. package/otp-field/input/OTPFieldInputDataAttributes.d.mts +40 -42
  734. package/otp-field/input/OTPFieldInputDataAttributes.d.ts +40 -42
  735. package/otp-field/input/OTPFieldInputDataAttributes.js +41 -44
  736. package/otp-field/input/OTPFieldInputDataAttributes.mjs +40 -43
  737. package/otp-field/root/OTPFieldRoot.js +1 -1
  738. package/otp-field/root/OTPFieldRoot.mjs +1 -1
  739. package/otp-field/root/OTPFieldRootDataAttributes.d.mts +40 -42
  740. package/otp-field/root/OTPFieldRootDataAttributes.d.ts +40 -42
  741. package/otp-field/root/OTPFieldRootDataAttributes.js +41 -44
  742. package/otp-field/root/OTPFieldRootDataAttributes.mjs +40 -43
  743. package/package.json +3 -45
  744. package/popover/arrow/PopoverArrowDataAttributes.d.mts +22 -24
  745. package/popover/arrow/PopoverArrowDataAttributes.d.ts +22 -24
  746. package/popover/arrow/PopoverArrowDataAttributes.js +23 -26
  747. package/popover/arrow/PopoverArrowDataAttributes.mjs +23 -25
  748. package/popover/backdrop/PopoverBackdropDataAttributes.d.mts +16 -18
  749. package/popover/backdrop/PopoverBackdropDataAttributes.d.ts +16 -18
  750. package/popover/backdrop/PopoverBackdropDataAttributes.js +17 -20
  751. package/popover/backdrop/PopoverBackdropDataAttributes.mjs +17 -19
  752. package/popover/popup/PopoverPopupCssVars.d.mts +8 -10
  753. package/popover/popup/PopoverPopupCssVars.d.ts +8 -10
  754. package/popover/popup/PopoverPopupCssVars.js +9 -12
  755. package/popover/popup/PopoverPopupCssVars.mjs +8 -11
  756. package/popover/popup/PopoverPopupDataAttributes.d.mts +31 -33
  757. package/popover/popup/PopoverPopupDataAttributes.d.ts +31 -33
  758. package/popover/popup/PopoverPopupDataAttributes.js +32 -35
  759. package/popover/popup/PopoverPopupDataAttributes.mjs +32 -34
  760. package/popover/positioner/PopoverPositionerCssVars.d.mts +37 -39
  761. package/popover/positioner/PopoverPositionerCssVars.d.ts +37 -39
  762. package/popover/positioner/PopoverPositionerCssVars.js +38 -41
  763. package/popover/positioner/PopoverPositionerCssVars.mjs +37 -40
  764. package/popover/positioner/PopoverPositionerDataAttributes.d.mts +22 -24
  765. package/popover/positioner/PopoverPositionerDataAttributes.d.ts +22 -24
  766. package/popover/positioner/PopoverPositionerDataAttributes.js +23 -26
  767. package/popover/positioner/PopoverPositionerDataAttributes.mjs +23 -25
  768. package/popover/root/PopoverRoot.d.mts +1 -1
  769. package/popover/root/PopoverRoot.d.ts +1 -1
  770. package/popover/root/PopoverRoot.js +4 -2
  771. package/popover/root/PopoverRoot.mjs +4 -2
  772. package/popover/store/PopoverStore.js +4 -8
  773. package/popover/store/PopoverStore.mjs +5 -9
  774. package/popover/trigger/PopoverTrigger.js +2 -1
  775. package/popover/trigger/PopoverTrigger.mjs +2 -1
  776. package/popover/trigger/PopoverTriggerDataAttributes.d.mts +12 -10
  777. package/popover/trigger/PopoverTriggerDataAttributes.d.ts +12 -10
  778. package/popover/trigger/PopoverTriggerDataAttributes.js +13 -12
  779. package/popover/trigger/PopoverTriggerDataAttributes.mjs +13 -11
  780. package/popover/viewport/PopoverViewportCssVars.d.mts +12 -14
  781. package/popover/viewport/PopoverViewportCssVars.d.ts +12 -14
  782. package/popover/viewport/PopoverViewportCssVars.js +13 -16
  783. package/popover/viewport/PopoverViewportCssVars.mjs +12 -15
  784. package/popover/viewport/PopoverViewportDataAttributes.d.mts +24 -26
  785. package/popover/viewport/PopoverViewportDataAttributes.d.ts +24 -26
  786. package/popover/viewport/PopoverViewportDataAttributes.js +25 -28
  787. package/popover/viewport/PopoverViewportDataAttributes.mjs +24 -27
  788. package/preview-card/arrow/PreviewCardArrowDataAttributes.d.mts +22 -24
  789. package/preview-card/arrow/PreviewCardArrowDataAttributes.d.ts +22 -24
  790. package/preview-card/arrow/PreviewCardArrowDataAttributes.js +23 -26
  791. package/preview-card/arrow/PreviewCardArrowDataAttributes.mjs +23 -25
  792. package/preview-card/backdrop/PreviewCardBackdropDataAttributes.d.mts +16 -18
  793. package/preview-card/backdrop/PreviewCardBackdropDataAttributes.d.ts +16 -18
  794. package/preview-card/backdrop/PreviewCardBackdropDataAttributes.js +17 -20
  795. package/preview-card/backdrop/PreviewCardBackdropDataAttributes.mjs +17 -19
  796. package/preview-card/popup/PreviewCardPopupDataAttributes.d.mts +26 -28
  797. package/preview-card/popup/PreviewCardPopupDataAttributes.d.ts +26 -28
  798. package/preview-card/popup/PreviewCardPopupDataAttributes.js +27 -30
  799. package/preview-card/popup/PreviewCardPopupDataAttributes.mjs +27 -29
  800. package/preview-card/positioner/PreviewCardPositionerCssVars.d.mts +37 -39
  801. package/preview-card/positioner/PreviewCardPositionerCssVars.d.ts +37 -39
  802. package/preview-card/positioner/PreviewCardPositionerCssVars.js +38 -41
  803. package/preview-card/positioner/PreviewCardPositionerCssVars.mjs +37 -40
  804. package/preview-card/positioner/PreviewCardPositionerDataAttributes.d.mts +22 -24
  805. package/preview-card/positioner/PreviewCardPositionerDataAttributes.d.ts +22 -24
  806. package/preview-card/positioner/PreviewCardPositionerDataAttributes.js +23 -26
  807. package/preview-card/positioner/PreviewCardPositionerDataAttributes.mjs +23 -25
  808. package/preview-card/root/PreviewCardRoot.d.mts +1 -1
  809. package/preview-card/root/PreviewCardRoot.d.ts +1 -1
  810. package/preview-card/store/PreviewCardStore.js +1 -2
  811. package/preview-card/store/PreviewCardStore.mjs +2 -3
  812. package/preview-card/trigger/PreviewCardTriggerDataAttributes.d.mts +4 -6
  813. package/preview-card/trigger/PreviewCardTriggerDataAttributes.d.ts +4 -6
  814. package/preview-card/trigger/PreviewCardTriggerDataAttributes.js +5 -8
  815. package/preview-card/trigger/PreviewCardTriggerDataAttributes.mjs +5 -7
  816. package/preview-card/viewport/PreviewCardViewportCssVars.d.mts +12 -14
  817. package/preview-card/viewport/PreviewCardViewportCssVars.d.ts +12 -14
  818. package/preview-card/viewport/PreviewCardViewportCssVars.js +13 -16
  819. package/preview-card/viewport/PreviewCardViewportCssVars.mjs +12 -15
  820. package/preview-card/viewport/PreviewCardViewportDataAttributes.d.mts +24 -26
  821. package/preview-card/viewport/PreviewCardViewportDataAttributes.d.ts +24 -26
  822. package/preview-card/viewport/PreviewCardViewportDataAttributes.js +25 -28
  823. package/preview-card/viewport/PreviewCardViewportDataAttributes.mjs +24 -27
  824. package/progress/indicator/ProgressIndicatorDataAttributes.d.mts +12 -14
  825. package/progress/indicator/ProgressIndicatorDataAttributes.d.ts +12 -14
  826. package/progress/indicator/ProgressIndicatorDataAttributes.js +13 -16
  827. package/progress/indicator/ProgressIndicatorDataAttributes.mjs +12 -15
  828. package/progress/label/ProgressLabelDataAttributes.d.mts +12 -14
  829. package/progress/label/ProgressLabelDataAttributes.d.ts +12 -14
  830. package/progress/label/ProgressLabelDataAttributes.js +13 -16
  831. package/progress/label/ProgressLabelDataAttributes.mjs +12 -15
  832. package/progress/root/ProgressRoot.js +2 -2
  833. package/progress/root/ProgressRoot.mjs +2 -2
  834. package/progress/root/ProgressRootDataAttributes.d.mts +12 -14
  835. package/progress/root/ProgressRootDataAttributes.d.ts +12 -14
  836. package/progress/root/ProgressRootDataAttributes.js +13 -16
  837. package/progress/root/ProgressRootDataAttributes.mjs +12 -15
  838. package/progress/root/stateAttributesMapping.js +18 -3
  839. package/progress/root/stateAttributesMapping.mjs +17 -3
  840. package/progress/track/ProgressTrackDataAttributes.d.mts +12 -14
  841. package/progress/track/ProgressTrackDataAttributes.d.ts +12 -14
  842. package/progress/track/ProgressTrackDataAttributes.js +13 -16
  843. package/progress/track/ProgressTrackDataAttributes.mjs +12 -15
  844. package/progress/value/ProgressValueDataAttributes.d.mts +12 -14
  845. package/progress/value/ProgressValueDataAttributes.d.ts +12 -14
  846. package/progress/value/ProgressValueDataAttributes.js +13 -16
  847. package/progress/value/ProgressValueDataAttributes.mjs +12 -15
  848. package/radio/indicator/RadioIndicator.js +2 -0
  849. package/radio/indicator/RadioIndicator.mjs +2 -0
  850. package/radio/indicator/RadioIndicatorDataAttributes.d.mts +52 -54
  851. package/radio/indicator/RadioIndicatorDataAttributes.d.ts +52 -54
  852. package/radio/indicator/RadioIndicatorDataAttributes.js +53 -56
  853. package/radio/indicator/RadioIndicatorDataAttributes.mjs +53 -55
  854. package/radio/root/RadioRoot.js +1 -3
  855. package/radio/root/RadioRoot.mjs +1 -3
  856. package/radio/root/RadioRootDataAttributes.d.mts +44 -46
  857. package/radio/root/RadioRootDataAttributes.d.ts +44 -46
  858. package/radio/root/RadioRootDataAttributes.js +45 -48
  859. package/radio/root/RadioRootDataAttributes.mjs +44 -47
  860. package/radio/utils/stateAttributesMapping.js +4 -2
  861. package/radio/utils/stateAttributesMapping.mjs +3 -2
  862. package/radio-group/RadioGroupDataAttributes.d.mts +4 -6
  863. package/radio-group/RadioGroupDataAttributes.d.ts +4 -6
  864. package/radio-group/RadioGroupDataAttributes.js +5 -8
  865. package/radio-group/RadioGroupDataAttributes.mjs +4 -7
  866. package/scroll-area/content/ScrollAreaContentDataAttributes.d.mts +28 -30
  867. package/scroll-area/content/ScrollAreaContentDataAttributes.d.ts +28 -30
  868. package/scroll-area/content/ScrollAreaContentDataAttributes.js +29 -32
  869. package/scroll-area/content/ScrollAreaContentDataAttributes.mjs +28 -31
  870. package/scroll-area/corner/ScrollAreaCorner.js +1 -0
  871. package/scroll-area/corner/ScrollAreaCorner.mjs +1 -0
  872. package/scroll-area/root/ScrollAreaRoot.js +5 -6
  873. package/scroll-area/root/ScrollAreaRoot.mjs +5 -6
  874. package/scroll-area/root/ScrollAreaRootCssVars.d.mts +10 -12
  875. package/scroll-area/root/ScrollAreaRootCssVars.d.ts +10 -12
  876. package/scroll-area/root/ScrollAreaRootCssVars.js +11 -14
  877. package/scroll-area/root/ScrollAreaRootCssVars.mjs +10 -13
  878. package/scroll-area/root/ScrollAreaRootDataAttributes.d.mts +28 -30
  879. package/scroll-area/root/ScrollAreaRootDataAttributes.d.ts +28 -30
  880. package/scroll-area/root/ScrollAreaRootDataAttributes.js +29 -32
  881. package/scroll-area/root/ScrollAreaRootDataAttributes.mjs +28 -31
  882. package/scroll-area/root/stateAttributes.js +8 -7
  883. package/scroll-area/root/stateAttributes.mjs +7 -7
  884. package/scroll-area/scrollbar/ScrollAreaScrollbar.js +12 -4
  885. package/scroll-area/scrollbar/ScrollAreaScrollbar.mjs +14 -5
  886. package/scroll-area/scrollbar/ScrollAreaScrollbarCssVars.d.mts +10 -12
  887. package/scroll-area/scrollbar/ScrollAreaScrollbarCssVars.d.ts +10 -12
  888. package/scroll-area/scrollbar/ScrollAreaScrollbarCssVars.js +11 -14
  889. package/scroll-area/scrollbar/ScrollAreaScrollbarCssVars.mjs +10 -13
  890. package/scroll-area/scrollbar/ScrollAreaScrollbarDataAttributes.d.mts +37 -39
  891. package/scroll-area/scrollbar/ScrollAreaScrollbarDataAttributes.d.ts +37 -39
  892. package/scroll-area/scrollbar/ScrollAreaScrollbarDataAttributes.js +38 -41
  893. package/scroll-area/scrollbar/ScrollAreaScrollbarDataAttributes.mjs +37 -40
  894. package/scroll-area/thumb/ScrollAreaThumbDataAttributes.d.mts +9 -11
  895. package/scroll-area/thumb/ScrollAreaThumbDataAttributes.d.ts +9 -11
  896. package/scroll-area/thumb/ScrollAreaThumbDataAttributes.js +10 -13
  897. package/scroll-area/thumb/ScrollAreaThumbDataAttributes.mjs +9 -12
  898. package/scroll-area/viewport/ScrollAreaViewport.js +6 -5
  899. package/scroll-area/viewport/ScrollAreaViewport.mjs +6 -6
  900. package/scroll-area/viewport/ScrollAreaViewportCssVars.d.mts +20 -22
  901. package/scroll-area/viewport/ScrollAreaViewportCssVars.d.ts +20 -22
  902. package/scroll-area/viewport/ScrollAreaViewportCssVars.js +21 -24
  903. package/scroll-area/viewport/ScrollAreaViewportCssVars.mjs +20 -23
  904. package/scroll-area/viewport/ScrollAreaViewportDataAttributes.d.mts +28 -30
  905. package/scroll-area/viewport/ScrollAreaViewportDataAttributes.d.ts +28 -30
  906. package/scroll-area/viewport/ScrollAreaViewportDataAttributes.js +29 -32
  907. package/scroll-area/viewport/ScrollAreaViewportDataAttributes.mjs +28 -31
  908. package/select/arrow/SelectArrow.js +2 -6
  909. package/select/arrow/SelectArrow.mjs +2 -6
  910. package/select/arrow/SelectArrowDataAttributes.d.mts +22 -24
  911. package/select/arrow/SelectArrowDataAttributes.d.ts +22 -24
  912. package/select/arrow/SelectArrowDataAttributes.js +23 -26
  913. package/select/arrow/SelectArrowDataAttributes.mjs +23 -25
  914. package/select/backdrop/SelectBackdrop.js +4 -8
  915. package/select/backdrop/SelectBackdrop.mjs +4 -8
  916. package/select/backdrop/SelectBackdropDataAttributes.d.mts +16 -18
  917. package/select/backdrop/SelectBackdropDataAttributes.d.ts +16 -18
  918. package/select/backdrop/SelectBackdropDataAttributes.js +17 -20
  919. package/select/backdrop/SelectBackdropDataAttributes.mjs +17 -19
  920. package/select/group-label/SelectGroupLabel.js +2 -1
  921. package/select/group-label/SelectGroupLabel.mjs +2 -1
  922. package/select/icon/SelectIcon.js +2 -6
  923. package/select/icon/SelectIcon.mjs +2 -6
  924. package/select/icon/SelectIconDataAttributes.d.mts +4 -6
  925. package/select/icon/SelectIconDataAttributes.d.ts +4 -6
  926. package/select/icon/SelectIconDataAttributes.js +5 -8
  927. package/select/icon/SelectIconDataAttributes.mjs +5 -7
  928. package/select/item/SelectItem.js +38 -37
  929. package/select/item/SelectItem.mjs +40 -39
  930. package/select/item/SelectItemDataAttributes.d.mts +12 -14
  931. package/select/item/SelectItemDataAttributes.d.ts +12 -14
  932. package/select/item/SelectItemDataAttributes.js +13 -16
  933. package/select/item/SelectItemDataAttributes.mjs +12 -15
  934. package/select/item-indicator/SelectItemIndicator.js +2 -0
  935. package/select/item-indicator/SelectItemIndicator.mjs +2 -0
  936. package/select/item-indicator/SelectItemIndicatorDataAttributes.d.mts +8 -10
  937. package/select/item-indicator/SelectItemIndicatorDataAttributes.d.ts +8 -10
  938. package/select/item-indicator/SelectItemIndicatorDataAttributes.js +9 -12
  939. package/select/item-indicator/SelectItemIndicatorDataAttributes.mjs +9 -11
  940. package/select/item-text/SelectItemText.js +4 -7
  941. package/select/item-text/SelectItemText.mjs +4 -7
  942. package/select/label/SelectLabel.js +3 -7
  943. package/select/label/SelectLabel.mjs +3 -7
  944. package/select/list/SelectList.js +9 -10
  945. package/select/list/SelectList.mjs +10 -11
  946. package/select/popup/SelectPopup.js +43 -52
  947. package/select/popup/SelectPopup.mjs +44 -53
  948. package/select/popup/SelectPopupDataAttributes.d.mts +26 -28
  949. package/select/popup/SelectPopupDataAttributes.d.ts +26 -28
  950. package/select/popup/SelectPopupDataAttributes.js +27 -30
  951. package/select/popup/SelectPopupDataAttributes.mjs +27 -29
  952. package/select/portal/SelectPortal.js +3 -7
  953. package/select/portal/SelectPortal.mjs +3 -7
  954. package/select/positioner/SelectPositioner.js +24 -39
  955. package/select/positioner/SelectPositioner.mjs +25 -40
  956. package/select/positioner/SelectPositionerCssVars.d.mts +25 -27
  957. package/select/positioner/SelectPositionerCssVars.d.ts +25 -27
  958. package/select/positioner/SelectPositionerCssVars.js +26 -29
  959. package/select/positioner/SelectPositionerCssVars.mjs +25 -28
  960. package/select/positioner/SelectPositionerDataAttributes.d.mts +22 -24
  961. package/select/positioner/SelectPositionerDataAttributes.d.ts +22 -24
  962. package/select/positioner/SelectPositionerDataAttributes.js +23 -26
  963. package/select/positioner/SelectPositionerDataAttributes.mjs +23 -25
  964. package/select/root/SelectRoot.js +60 -56
  965. package/select/root/SelectRoot.mjs +63 -59
  966. package/select/root/SelectRootContext.d.mts +11 -30
  967. package/select/root/SelectRootContext.d.ts +11 -30
  968. package/select/root/SelectRootContext.js +29 -4
  969. package/select/root/SelectRootContext.mjs +27 -3
  970. package/select/scroll-arrow/SelectScrollArrow.js +11 -19
  971. package/select/scroll-arrow/SelectScrollArrow.mjs +11 -19
  972. package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.d.mts +22 -24
  973. package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.d.ts +22 -24
  974. package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.js +23 -26
  975. package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.mjs +23 -25
  976. package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.d.mts +22 -24
  977. package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.d.ts +22 -24
  978. package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.js +23 -26
  979. package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.mjs +23 -25
  980. package/select/store.d.mts +30 -2
  981. package/select/store.d.ts +30 -2
  982. package/select/store.js +5 -0
  983. package/select/store.mjs +6 -0
  984. package/select/trigger/SelectTrigger.js +23 -27
  985. package/select/trigger/SelectTrigger.mjs +24 -28
  986. package/select/trigger/SelectTriggerDataAttributes.d.mts +53 -55
  987. package/select/trigger/SelectTriggerDataAttributes.d.ts +53 -55
  988. package/select/trigger/SelectTriggerDataAttributes.js +54 -57
  989. package/select/trigger/SelectTriggerDataAttributes.mjs +54 -56
  990. package/select/value/SelectValue.d.mts +2 -0
  991. package/select/value/SelectValue.d.ts +2 -0
  992. package/select/value/SelectValue.js +7 -12
  993. package/select/value/SelectValue.mjs +7 -12
  994. package/select/value/SelectValueDataAttributes.d.mts +4 -6
  995. package/select/value/SelectValueDataAttributes.d.ts +4 -6
  996. package/select/value/SelectValueDataAttributes.js +5 -8
  997. package/select/value/SelectValueDataAttributes.mjs +4 -7
  998. package/separator/SeparatorDataAttributes.d.mts +5 -7
  999. package/separator/SeparatorDataAttributes.d.ts +5 -7
  1000. package/separator/SeparatorDataAttributes.js +6 -9
  1001. package/separator/SeparatorDataAttributes.mjs +5 -8
  1002. package/slider/control/SliderControl.js +1 -1
  1003. package/slider/control/SliderControl.mjs +1 -1
  1004. package/slider/control/SliderControlDataAttributes.d.mts +33 -35
  1005. package/slider/control/SliderControlDataAttributes.d.ts +33 -35
  1006. package/slider/control/SliderControlDataAttributes.js +34 -37
  1007. package/slider/control/SliderControlDataAttributes.mjs +33 -36
  1008. package/slider/indicator/SliderIndicatorDataAttributes.d.mts +33 -35
  1009. package/slider/indicator/SliderIndicatorDataAttributes.d.ts +33 -35
  1010. package/slider/indicator/SliderIndicatorDataAttributes.js +34 -37
  1011. package/slider/indicator/SliderIndicatorDataAttributes.mjs +33 -36
  1012. package/slider/root/SliderRoot.js +2 -2
  1013. package/slider/root/SliderRoot.mjs +2 -2
  1014. package/slider/root/SliderRootDataAttributes.d.mts +33 -35
  1015. package/slider/root/SliderRootDataAttributes.d.ts +33 -35
  1016. package/slider/root/SliderRootDataAttributes.js +34 -37
  1017. package/slider/root/SliderRootDataAttributes.mjs +33 -36
  1018. package/slider/thumb/SliderThumb.d.mts +1 -2
  1019. package/slider/thumb/SliderThumb.d.ts +1 -2
  1020. package/slider/thumb/SliderThumb.js +4 -3
  1021. package/slider/thumb/SliderThumb.mjs +4 -3
  1022. package/slider/thumb/SliderThumbDataAttributes.d.mts +37 -39
  1023. package/slider/thumb/SliderThumbDataAttributes.d.ts +37 -39
  1024. package/slider/thumb/SliderThumbDataAttributes.js +38 -41
  1025. package/slider/thumb/SliderThumbDataAttributes.mjs +37 -40
  1026. package/slider/track/SliderTrackDataAttributes.d.mts +33 -35
  1027. package/slider/track/SliderTrackDataAttributes.d.ts +33 -35
  1028. package/slider/track/SliderTrackDataAttributes.js +34 -37
  1029. package/slider/track/SliderTrackDataAttributes.mjs +33 -36
  1030. package/slider/utils/getPushedThumbValues.js +1 -1
  1031. package/slider/utils/getPushedThumbValues.mjs +1 -1
  1032. package/slider/utils/getSliderValue.js +1 -1
  1033. package/slider/utils/getSliderValue.mjs +1 -1
  1034. package/slider/utils/resolveThumbCollision.js +1 -1
  1035. package/slider/utils/resolveThumbCollision.mjs +1 -1
  1036. package/slider/value/SliderValue.js +1 -1
  1037. package/slider/value/SliderValue.mjs +1 -1
  1038. package/slider/value/SliderValueDataAttributes.d.mts +33 -35
  1039. package/slider/value/SliderValueDataAttributes.d.ts +33 -35
  1040. package/slider/value/SliderValueDataAttributes.js +34 -37
  1041. package/slider/value/SliderValueDataAttributes.mjs +33 -36
  1042. package/switch/root/SwitchRoot.js +3 -8
  1043. package/switch/root/SwitchRoot.mjs +3 -8
  1044. package/switch/root/SwitchRootDataAttributes.d.mts +44 -46
  1045. package/switch/root/SwitchRootDataAttributes.d.ts +44 -46
  1046. package/switch/root/SwitchRootDataAttributes.js +45 -48
  1047. package/switch/root/SwitchRootDataAttributes.mjs +44 -47
  1048. package/switch/stateAttributesMapping.js +4 -2
  1049. package/switch/stateAttributesMapping.mjs +3 -2
  1050. package/switch/thumb/SwitchThumbDataAttributes.d.mts +44 -46
  1051. package/switch/thumb/SwitchThumbDataAttributes.d.ts +44 -46
  1052. package/switch/thumb/SwitchThumbDataAttributes.js +45 -48
  1053. package/switch/thumb/SwitchThumbDataAttributes.mjs +44 -47
  1054. package/tabs/indicator/TabsIndicator.js +133 -17
  1055. package/tabs/indicator/TabsIndicator.mjs +133 -17
  1056. package/tabs/indicator/TabsIndicatorCssVars.d.mts +30 -32
  1057. package/tabs/indicator/TabsIndicatorCssVars.d.ts +30 -32
  1058. package/tabs/indicator/TabsIndicatorCssVars.js +31 -34
  1059. package/tabs/indicator/TabsIndicatorCssVars.mjs +30 -33
  1060. package/tabs/indicator/TabsIndicatorDataAttributes.d.mts +10 -12
  1061. package/tabs/indicator/TabsIndicatorDataAttributes.d.ts +10 -12
  1062. package/tabs/indicator/TabsIndicatorDataAttributes.js +11 -14
  1063. package/tabs/indicator/TabsIndicatorDataAttributes.mjs +10 -13
  1064. package/tabs/indicator/prehydrationScript.min.d.mts +1 -1
  1065. package/tabs/indicator/prehydrationScript.min.d.ts +1 -1
  1066. package/tabs/indicator/prehydrationScript.min.js +1 -1
  1067. package/tabs/indicator/prehydrationScript.min.mjs +1 -1
  1068. package/tabs/list/TabsListDataAttributes.d.mts +10 -12
  1069. package/tabs/list/TabsListDataAttributes.d.ts +10 -12
  1070. package/tabs/list/TabsListDataAttributes.js +11 -14
  1071. package/tabs/list/TabsListDataAttributes.mjs +10 -13
  1072. package/tabs/panel/TabsPanel.js +2 -1
  1073. package/tabs/panel/TabsPanel.mjs +2 -1
  1074. package/tabs/panel/TabsPanelDataAttributes.d.mts +26 -28
  1075. package/tabs/panel/TabsPanelDataAttributes.d.ts +26 -28
  1076. package/tabs/panel/TabsPanelDataAttributes.js +27 -30
  1077. package/tabs/panel/TabsPanelDataAttributes.mjs +27 -29
  1078. package/tabs/root/TabsRootDataAttributes.d.mts +10 -12
  1079. package/tabs/root/TabsRootDataAttributes.d.ts +10 -12
  1080. package/tabs/root/TabsRootDataAttributes.js +11 -14
  1081. package/tabs/root/TabsRootDataAttributes.mjs +10 -13
  1082. package/tabs/root/stateAttributesMapping.js +3 -1
  1083. package/tabs/root/stateAttributesMapping.mjs +2 -1
  1084. package/tabs/tab/TabsTabDataAttributes.d.mts +18 -20
  1085. package/tabs/tab/TabsTabDataAttributes.d.ts +18 -20
  1086. package/tabs/tab/TabsTabDataAttributes.js +19 -22
  1087. package/tabs/tab/TabsTabDataAttributes.mjs +18 -21
  1088. package/toast/action/ToastActionDataAttributes.d.mts +5 -7
  1089. package/toast/action/ToastActionDataAttributes.d.ts +5 -7
  1090. package/toast/action/ToastActionDataAttributes.js +6 -9
  1091. package/toast/action/ToastActionDataAttributes.mjs +5 -8
  1092. package/toast/arrow/ToastArrowDataAttributes.d.mts +14 -16
  1093. package/toast/arrow/ToastArrowDataAttributes.d.ts +14 -16
  1094. package/toast/arrow/ToastArrowDataAttributes.js +15 -18
  1095. package/toast/arrow/ToastArrowDataAttributes.mjs +15 -17
  1096. package/toast/close/ToastCloseDataAttributes.d.mts +5 -7
  1097. package/toast/close/ToastCloseDataAttributes.d.ts +5 -7
  1098. package/toast/close/ToastCloseDataAttributes.js +6 -9
  1099. package/toast/close/ToastCloseDataAttributes.mjs +5 -8
  1100. package/toast/content/ToastContentDataAttributes.d.mts +10 -12
  1101. package/toast/content/ToastContentDataAttributes.d.ts +10 -12
  1102. package/toast/content/ToastContentDataAttributes.js +11 -14
  1103. package/toast/content/ToastContentDataAttributes.mjs +10 -13
  1104. package/toast/createToastManager.d.mts +2 -2
  1105. package/toast/createToastManager.d.ts +2 -2
  1106. package/toast/createToastManager.js +2 -2
  1107. package/toast/createToastManager.mjs +2 -2
  1108. package/toast/description/ToastDescriptionDataAttributes.d.mts +5 -7
  1109. package/toast/description/ToastDescriptionDataAttributes.d.ts +5 -7
  1110. package/toast/description/ToastDescriptionDataAttributes.js +6 -9
  1111. package/toast/description/ToastDescriptionDataAttributes.mjs +5 -8
  1112. package/toast/positioner/ToastPositioner.js +2 -1
  1113. package/toast/positioner/ToastPositioner.mjs +2 -1
  1114. package/toast/positioner/ToastPositionerCssVars.d.mts +25 -27
  1115. package/toast/positioner/ToastPositionerCssVars.d.ts +25 -27
  1116. package/toast/positioner/ToastPositionerCssVars.js +26 -29
  1117. package/toast/positioner/ToastPositionerCssVars.mjs +25 -28
  1118. package/toast/positioner/ToastPositionerDataAttributes.d.mts +14 -16
  1119. package/toast/positioner/ToastPositionerDataAttributes.d.ts +14 -16
  1120. package/toast/positioner/ToastPositionerDataAttributes.js +15 -18
  1121. package/toast/positioner/ToastPositionerDataAttributes.mjs +15 -17
  1122. package/toast/provider/ToastProvider.js +1 -1
  1123. package/toast/provider/ToastProvider.mjs +1 -1
  1124. package/toast/root/ToastRoot.js +10 -7
  1125. package/toast/root/ToastRoot.mjs +10 -7
  1126. package/toast/root/ToastRootCssVars.d.mts +25 -27
  1127. package/toast/root/ToastRootCssVars.d.ts +25 -27
  1128. package/toast/root/ToastRootCssVars.js +26 -29
  1129. package/toast/root/ToastRootCssVars.mjs +25 -28
  1130. package/toast/root/ToastRootDataAttributes.d.mts +33 -35
  1131. package/toast/root/ToastRootDataAttributes.d.ts +33 -35
  1132. package/toast/root/ToastRootDataAttributes.js +34 -37
  1133. package/toast/root/ToastRootDataAttributes.mjs +34 -36
  1134. package/toast/store.d.mts +1 -1
  1135. package/toast/store.d.ts +1 -1
  1136. package/toast/store.js +9 -1
  1137. package/toast/store.mjs +9 -1
  1138. package/toast/title/ToastTitleDataAttributes.d.mts +5 -7
  1139. package/toast/title/ToastTitleDataAttributes.d.ts +5 -7
  1140. package/toast/title/ToastTitleDataAttributes.js +6 -9
  1141. package/toast/title/ToastTitleDataAttributes.mjs +5 -8
  1142. package/toast/useToastManager.d.mts +1 -1
  1143. package/toast/useToastManager.d.ts +1 -1
  1144. package/toast/viewport/ToastViewport.js +2 -1
  1145. package/toast/viewport/ToastViewport.mjs +2 -1
  1146. package/toast/viewport/ToastViewportCssVars.d.mts +5 -7
  1147. package/toast/viewport/ToastViewportCssVars.d.ts +5 -7
  1148. package/toast/viewport/ToastViewportCssVars.js +6 -9
  1149. package/toast/viewport/ToastViewportCssVars.mjs +5 -8
  1150. package/toast/viewport/ToastViewportDataAttributes.d.mts +5 -7
  1151. package/toast/viewport/ToastViewportDataAttributes.d.ts +5 -7
  1152. package/toast/viewport/ToastViewportDataAttributes.js +6 -9
  1153. package/toast/viewport/ToastViewportDataAttributes.mjs +5 -8
  1154. package/toggle/Toggle.js +1 -2
  1155. package/toggle/Toggle.mjs +1 -2
  1156. package/toggle/ToggleDataAttributes.d.mts +8 -10
  1157. package/toggle/ToggleDataAttributes.d.ts +8 -10
  1158. package/toggle/ToggleDataAttributes.js +9 -12
  1159. package/toggle/ToggleDataAttributes.mjs +8 -11
  1160. package/toggle-group/ToggleGroup.js +3 -1
  1161. package/toggle-group/ToggleGroup.mjs +3 -1
  1162. package/toggle-group/ToggleGroupDataAttributes.d.mts +13 -15
  1163. package/toggle-group/ToggleGroupDataAttributes.d.ts +13 -15
  1164. package/toggle-group/ToggleGroupDataAttributes.js +14 -17
  1165. package/toggle-group/ToggleGroupDataAttributes.mjs +13 -16
  1166. package/toolbar/button/ToolbarButtonDataAttributes.d.mts +13 -15
  1167. package/toolbar/button/ToolbarButtonDataAttributes.d.ts +13 -15
  1168. package/toolbar/button/ToolbarButtonDataAttributes.js +14 -17
  1169. package/toolbar/button/ToolbarButtonDataAttributes.mjs +13 -16
  1170. package/toolbar/group/ToolbarGroupDataAttributes.d.mts +9 -11
  1171. package/toolbar/group/ToolbarGroupDataAttributes.d.ts +9 -11
  1172. package/toolbar/group/ToolbarGroupDataAttributes.js +10 -13
  1173. package/toolbar/group/ToolbarGroupDataAttributes.mjs +9 -12
  1174. package/toolbar/input/ToolbarInputDataAttributes.d.mts +13 -15
  1175. package/toolbar/input/ToolbarInputDataAttributes.d.ts +13 -15
  1176. package/toolbar/input/ToolbarInputDataAttributes.js +14 -17
  1177. package/toolbar/input/ToolbarInputDataAttributes.mjs +13 -16
  1178. package/toolbar/link/ToolbarLinkDataAttributes.d.mts +5 -7
  1179. package/toolbar/link/ToolbarLinkDataAttributes.d.ts +5 -7
  1180. package/toolbar/link/ToolbarLinkDataAttributes.js +6 -9
  1181. package/toolbar/link/ToolbarLinkDataAttributes.mjs +5 -8
  1182. package/toolbar/root/ToolbarRootDataAttributes.d.mts +9 -11
  1183. package/toolbar/root/ToolbarRootDataAttributes.d.ts +9 -11
  1184. package/toolbar/root/ToolbarRootDataAttributes.js +10 -13
  1185. package/toolbar/root/ToolbarRootDataAttributes.mjs +9 -12
  1186. package/toolbar/separator/ToolbarSeparatorDataAttributes.d.mts +5 -7
  1187. package/toolbar/separator/ToolbarSeparatorDataAttributes.d.ts +5 -7
  1188. package/toolbar/separator/ToolbarSeparatorDataAttributes.js +6 -9
  1189. package/toolbar/separator/ToolbarSeparatorDataAttributes.mjs +5 -8
  1190. package/tooltip/arrow/TooltipArrowDataAttributes.d.mts +27 -29
  1191. package/tooltip/arrow/TooltipArrowDataAttributes.d.ts +27 -29
  1192. package/tooltip/arrow/TooltipArrowDataAttributes.js +28 -31
  1193. package/tooltip/arrow/TooltipArrowDataAttributes.mjs +28 -30
  1194. package/tooltip/popup/TooltipPopupDataAttributes.d.mts +31 -33
  1195. package/tooltip/popup/TooltipPopupDataAttributes.d.ts +31 -33
  1196. package/tooltip/popup/TooltipPopupDataAttributes.js +32 -35
  1197. package/tooltip/popup/TooltipPopupDataAttributes.mjs +32 -34
  1198. package/tooltip/positioner/TooltipPositionerCssVars.d.mts +37 -39
  1199. package/tooltip/positioner/TooltipPositionerCssVars.d.ts +37 -39
  1200. package/tooltip/positioner/TooltipPositionerCssVars.js +38 -41
  1201. package/tooltip/positioner/TooltipPositionerCssVars.mjs +37 -40
  1202. package/tooltip/positioner/TooltipPositionerDataAttributes.d.mts +22 -24
  1203. package/tooltip/positioner/TooltipPositionerDataAttributes.d.ts +22 -24
  1204. package/tooltip/positioner/TooltipPositionerDataAttributes.js +23 -26
  1205. package/tooltip/positioner/TooltipPositionerDataAttributes.mjs +23 -25
  1206. package/tooltip/root/TooltipRoot.d.mts +1 -1
  1207. package/tooltip/root/TooltipRoot.d.ts +1 -1
  1208. package/tooltip/store/TooltipStore.js +1 -2
  1209. package/tooltip/store/TooltipStore.mjs +2 -3
  1210. package/tooltip/trigger/TooltipTrigger.js +7 -5
  1211. package/tooltip/trigger/TooltipTrigger.mjs +7 -5
  1212. package/tooltip/trigger/TooltipTriggerDataAttributes.d.mts +8 -10
  1213. package/tooltip/trigger/TooltipTriggerDataAttributes.d.ts +8 -10
  1214. package/tooltip/trigger/TooltipTriggerDataAttributes.js +9 -12
  1215. package/tooltip/trigger/TooltipTriggerDataAttributes.mjs +9 -11
  1216. package/tooltip/viewport/TooltipViewportCssVars.d.mts +12 -14
  1217. package/tooltip/viewport/TooltipViewportCssVars.d.ts +12 -14
  1218. package/tooltip/viewport/TooltipViewportCssVars.js +13 -16
  1219. package/tooltip/viewport/TooltipViewportCssVars.mjs +12 -15
  1220. package/tooltip/viewport/TooltipViewportDataAttributes.d.mts +24 -26
  1221. package/tooltip/viewport/TooltipViewportDataAttributes.d.ts +24 -26
  1222. package/tooltip/viewport/TooltipViewportDataAttributes.js +25 -28
  1223. package/tooltip/viewport/TooltipViewportDataAttributes.mjs +24 -27
  1224. package/utils/CommonPopupCssVars.d.mts +12 -0
  1225. package/utils/CommonPopupCssVars.d.ts +12 -0
  1226. package/utils/CommonPopupCssVars.js +18 -0
  1227. package/utils/CommonPopupCssVars.mjs +12 -0
  1228. package/utils/CommonPopupDataAttributes.d.mts +30 -0
  1229. package/utils/CommonPopupDataAttributes.d.ts +30 -0
  1230. package/utils/CommonPopupDataAttributes.js +44 -0
  1231. package/utils/CommonPopupDataAttributes.mjs +38 -0
  1232. package/utils/CommonPositionerCssVars.d.mts +37 -0
  1233. package/utils/CommonPositionerCssVars.d.ts +37 -0
  1234. package/utils/CommonPositionerCssVars.js +43 -0
  1235. package/utils/CommonPositionerCssVars.mjs +37 -0
  1236. package/utils/CommonTriggerDataAttributes.d.mts +8 -0
  1237. package/utils/CommonTriggerDataAttributes.d.ts +8 -0
  1238. package/utils/CommonTriggerDataAttributes.js +15 -0
  1239. package/utils/CommonTriggerDataAttributes.mjs +9 -0
  1240. package/utils/CommonViewportDataAttributes.d.mts +7 -0
  1241. package/utils/CommonViewportDataAttributes.d.ts +7 -0
  1242. package/utils/CommonViewportDataAttributes.js +13 -0
  1243. package/utils/CommonViewportDataAttributes.mjs +7 -0
  1244. package/utils/NullStore.d.mts +2 -2
  1245. package/utils/NullStore.d.ts +2 -2
  1246. package/utils/collapsibleOpenStateMapping.js +6 -5
  1247. package/utils/collapsibleOpenStateMapping.mjs +2 -2
  1248. package/utils/getElementTransform.d.mts +12 -0
  1249. package/utils/getElementTransform.d.ts +12 -0
  1250. package/utils/getElementTransform.js +40 -0
  1251. package/utils/getElementTransform.mjs +35 -0
  1252. package/utils/popupStateMapping.d.mts +12 -51
  1253. package/utils/popupStateMapping.d.ts +12 -51
  1254. package/utils/popupStateMapping.js +11 -51
  1255. package/utils/popupStateMapping.mjs +10 -54
  1256. package/utils/popups/popupHandle.js +2 -2
  1257. package/utils/popups/popupHandle.mjs +2 -2
  1258. package/utils/popups/popupStoreUtils.d.mts +28 -11
  1259. package/utils/popups/popupStoreUtils.d.ts +28 -11
  1260. package/utils/popups/popupStoreUtils.js +82 -55
  1261. package/utils/popups/popupStoreUtils.mjs +81 -54
  1262. package/utils/popups/store.d.mts +7 -5
  1263. package/utils/popups/store.d.ts +7 -5
  1264. package/utils/popups/store.js +13 -18
  1265. package/utils/popups/store.mjs +13 -17
  1266. package/utils/scrollEdges.js +1 -1
  1267. package/utils/scrollEdges.mjs +1 -1
  1268. package/utils/styles.d.mts +1 -1
  1269. package/utils/styles.d.ts +1 -1
  1270. package/utils/usePopupAutoResize.js +10 -8
  1271. package/utils/usePopupAutoResize.mjs +11 -8
  1272. package/utils/usePopupViewport.js +5 -3
  1273. package/utils/usePopupViewport.mjs +5 -3
  1274. package/utils/useSwipeDismiss.d.mts +0 -5
  1275. package/utils/useSwipeDismiss.d.ts +0 -5
  1276. package/utils/useSwipeDismiss.js +14 -33
  1277. package/utils/useSwipeDismiss.mjs +14 -32
  1278. package/internals/areArraysEqual.d.mts +0 -3
  1279. package/internals/areArraysEqual.d.ts +0 -3
  1280. package/internals/areArraysEqual.js +0 -9
  1281. package/internals/areArraysEqual.mjs +0 -3
  1282. package/internals/clamp.d.mts +0 -1
  1283. package/internals/clamp.d.ts +0 -1
  1284. package/internals/clamp.js +0 -9
  1285. package/internals/clamp.mjs +0 -3
  1286. package/internals/shadowDom.d.mts +0 -3
  1287. package/internals/shadowDom.d.ts +0 -3
  1288. package/internals/shadowDom.js +0 -48
  1289. package/internals/shadowDom.mjs +0 -40
  1290. package/utils/formatNumber.d.mts +0 -3
  1291. package/utils/formatNumber.d.ts +0 -3
  1292. package/utils/formatNumber.js +0 -29
  1293. package/utils/formatNumber.mjs +0 -21
  1294. package/utils/stringifyLocale.d.mts +0 -1
  1295. package/utils/stringifyLocale.d.ts +0 -1
  1296. package/utils/stringifyLocale.js +0 -15
  1297. package/utils/stringifyLocale.mjs +0 -9
  1298. /package/drawer/content/{DrawerContentDataAttributes.d.mts → drawerContentAttribute.d.mts} +0 -0
  1299. /package/drawer/content/{DrawerContentDataAttributes.d.ts → drawerContentAttribute.d.ts} +0 -0
  1300. /package/drawer/content/{DrawerContentDataAttributes.js → drawerContentAttribute.js} +0 -0
  1301. /package/drawer/content/{DrawerContentDataAttributes.mjs → drawerContentAttribute.mjs} +0 -0
@@ -1,5 +1,6 @@
1
1
  'use client';
2
2
 
3
+ import _formatErrorMessage from "@base-ui/utils/formatErrorMessage";
3
4
  import * as React from 'react';
4
5
  import { useControlled } from '@base-ui/utils/useControlled';
5
6
  import { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';
@@ -9,7 +10,7 @@ import { useMergedRefs } from '@base-ui/utils/useMergedRefs';
9
10
  import { useValueAsRef } from '@base-ui/utils/useValueAsRef';
10
11
  import { visuallyHidden, visuallyHiddenInput } from '@base-ui/utils/visuallyHidden';
11
12
  import { useRefWithInit } from '@base-ui/utils/useRefWithInit';
12
- import { Store, useStore } from '@base-ui/utils/store';
13
+ import { ReactStore } from '@base-ui/utils/store';
13
14
  import { EMPTY_ARRAY, EMPTY_OBJECT } from '@base-ui/utils/empty';
14
15
  import { isHTMLElement } from '@floating-ui/utils/dom';
15
16
  import { getOverflowAncestors, useDismiss, useFloatingRootContext, useListNavigation, useClick } from "../../floating-ui-react/index.mjs";
@@ -33,11 +34,11 @@ import { useValueChanged } from "../../internals/useValueChanged.mjs";
33
34
  import { NOOP } from "../../internals/noop.mjs";
34
35
  import { FOCUSABLE_POPUP_PROPS } from "../../utils/popups/index.mjs";
35
36
  import { mergeProps } from "../../merge-props/index.mjs";
36
- import { stringifyAsLabel, stringifyAsValue, isGroupedItems } from "../../internals/resolveValueLabel.mjs";
37
- import { compareItemEquality, defaultItemEquality, findSelectionIndex, removeItem, selectedValueIncludes } from "../../internals/itemEquality.mjs";
38
- import { areArraysEqual } from "../../internals/areArraysEqual.mjs";
37
+ import { stringifyAsLabel, stringifyAsValue, flattenLeafItems, isGroupedItems } from "../../internals/resolveValueLabel.mjs";
38
+ import { compareItemEquality, defaultItemEquality, findItemIndex, findSelectionIndex, isSelectedValueDirty, removeItem, selectedValueIncludes } from "../../internals/itemEquality.mjs";
39
39
  import { INITIAL_LAST_HIGHLIGHT, NO_ACTIVE_VALUE } from "./utils/constants.mjs";
40
40
  import { useDirection } from "../../internals/direction-context/DirectionContext.mjs";
41
+ import { findCollectionItem } from "../items/itemCollection.mjs";
41
42
 
42
43
  /**
43
44
  * @internal
@@ -50,7 +51,7 @@ export function AriaCombobox(props) {
50
51
  defaultSelectedValue = null,
51
52
  selectedValue: selectedValueProp,
52
53
  onSelectedValueChange,
53
- defaultInputValue: defaultInputValueProp,
54
+ defaultInputValue,
54
55
  inputValue: inputValueProp,
55
56
  open: openProp,
56
57
  defaultOpen = false,
@@ -63,15 +64,16 @@ export function AriaCombobox(props) {
63
64
  required = false,
64
65
  inputRef: inputRefProp,
65
66
  grid = false,
66
- items,
67
+ items: itemsProp,
67
68
  filteredItems: filteredItemsProp,
68
69
  filter: filterProp,
70
+ filterQuery: filterQueryProp,
69
71
  openOnInputClick = true,
70
72
  autoHighlight = false,
71
73
  keepHighlight = false,
72
74
  highlightItemOnHover = true,
73
75
  loopFocus = true,
74
- itemToStringLabel,
76
+ itemToStringLabel: itemToStringLabelProp,
75
77
  itemToStringValue,
76
78
  isItemEqualToValue = defaultItemEquality,
77
79
  virtualized = false,
@@ -105,8 +107,76 @@ export function AriaCombobox(props) {
105
107
  const collatorFilter = useCoreFilter({
106
108
  locale
107
109
  });
110
+
111
+ // Plain items are arrays; normalized `createItems()` collections are objects.
112
+ const collection = Array.isArray(itemsProp) ? null : itemsProp;
113
+ if (collection && typeof collection.label !== 'function') {
114
+ throw new Error(process.env.NODE_ENV !== "production" ? 'Base UI: the `items` prop received an object that is not a collection, ' + 'so its items cannot be read. Pass an array of items, an array of groups with items, ' + 'or the result of `createItems()`. ' + 'See https://base-ui.com/react/components/combobox#createitems' : _formatErrorMessage(100));
115
+ }
116
+ const items = collection ? collection.data : itemsProp;
117
+ const itemToValue = collection?.value;
118
+
119
+ // A projected collection's items live in the source domain, not the selection-value domain the
120
+ // store matches against, so they are withheld from the store.
121
+ const storeItems = itemToValue ? undefined : items;
122
+
123
+ // The externally filtered items projected to their selection values, with a lookup back to the
124
+ // source items. Declared before `itemToStringLabel`, which resolves labels from it on the
125
+ // first render (initial input value).
126
+ const externalWindow = React.useMemo(() => {
127
+ if (!filteredItemsProp || !itemToValue) {
128
+ return undefined;
129
+ }
130
+ const flat = flattenLeafItems(filteredItemsProp);
131
+ const values = flat.map(itemToValue);
132
+ let valueToItem;
133
+ return {
134
+ values,
135
+ findItem(itemValue, isEqual) {
136
+ if (!valueToItem) {
137
+ valueToItem = new Map();
138
+ for (let i = 0; i < values.length; i += 1) {
139
+ if (!valueToItem.has(values[i])) {
140
+ valueToItem.set(values[i], flat[i]);
141
+ }
142
+ }
143
+ }
144
+ return findCollectionItem(valueToItem, itemValue, isEqual);
145
+ }
146
+ };
147
+ }, [filteredItemsProp, itemToValue]);
148
+
149
+ // Labels selection values from current props only: collection data first, then the current
150
+ // external window, then the prop. Nothing from a past window is remembered — keeping a value
151
+ // resolvable over time means keeping its item in the collection's data.
152
+ const itemToStringLabel = React.useMemo(() => {
153
+ if (!collection) {
154
+ return itemToStringLabelProp;
155
+ }
156
+ return itemValue => {
157
+ return collection.label(itemValue, isItemEqualToValue, unresolvedValue => {
158
+ const externalItem = externalWindow?.findItem(unresolvedValue, isItemEqualToValue);
159
+ if (externalItem != null) {
160
+ return collection.itemLabel(externalItem);
161
+ }
162
+ return stringifyAsLabel(unresolvedValue, itemToStringLabelProp);
163
+ });
164
+ };
165
+ }, [collection, itemToStringLabelProp, externalWindow, isItemEqualToValue]);
166
+ const filterItemToString = React.useMemo(() => {
167
+ if (!collection) {
168
+ return itemToStringLabelProp;
169
+ }
170
+ return Object.assign(item => collection.itemLabel(item), {
171
+ selected: value => stringifyAsLabel(value, itemToStringLabel)
172
+ });
173
+ }, [collection, itemToStringLabel, itemToStringLabelProp]);
174
+ function stringifyValueLabel(item) {
175
+ return stringifyAsLabel(item, itemToStringLabel);
176
+ }
108
177
  const [queryChangedAfterOpen, setQueryChangedAfterOpen] = React.useState(false);
109
178
  const [closeQuery, setCloseQuery] = React.useState(null);
179
+ const previousCloseQueryRef = React.useRef(closeQuery);
110
180
  const listRef = React.useRef([]);
111
181
  const labelsRef = React.useRef([]);
112
182
  const popupRef = React.useRef(null);
@@ -135,7 +205,7 @@ export function AriaCombobox(props) {
135
205
  const name = fieldName ?? nameProp;
136
206
  const multiple = selectionMode === 'multiple';
137
207
  const single = selectionMode === 'single';
138
- const hasInputValue = inputValueProp !== undefined || defaultInputValueProp !== undefined;
208
+ const hasInputValue = inputValueProp !== undefined || defaultInputValue !== undefined;
139
209
  const hasItems = items !== undefined;
140
210
  const hasFilteredItemsProp = filteredItemsProp !== undefined;
141
211
  let autoHighlightMode;
@@ -159,17 +229,17 @@ export function AriaCombobox(props) {
159
229
  }
160
230
  // `shouldBypassFiltering` already empties the query whenever a single selection's label
161
231
  // matches it exactly, so the filter never needs a selection-aware variant here.
162
- return createCollatorItemFilter(collatorFilter, itemToStringLabel);
163
- }, [filterProp, collatorFilter, itemToStringLabel]);
232
+ return createCollatorItemFilter(collatorFilter, filterItemToString);
233
+ }, [filterProp, collatorFilter, filterItemToString]);
164
234
 
165
235
  // If neither inputValue nor defaultInputValue are provided, derive it from the
166
236
  // selected value for single mode so the input reflects the selection on mount.
167
237
  const initialDefaultInputValue = useRefWithInit(() => {
168
238
  if (hasInputValue) {
169
- return defaultInputValueProp ?? '';
239
+ return defaultInputValue ?? '';
170
240
  }
171
241
  if (single) {
172
- return stringifyAsLabel(selectedValue, itemToStringLabel);
242
+ return stringifyValueLabel(selectedValue);
173
243
  }
174
244
  return '';
175
245
  }).current;
@@ -186,20 +256,12 @@ export function AriaCombobox(props) {
186
256
  state: 'open'
187
257
  });
188
258
  const isGrouped = isGroupedItems(items);
189
- const query = closeQuery ?? String(inputValue).trim();
190
- const selectedLabelString = single ? stringifyAsLabel(selectedValue, itemToStringLabel) : '';
259
+ const query = !open && closeQuery !== null ? closeQuery : String(inputValue).trim();
260
+ const selectedLabelString = single ? stringifyValueLabel(selectedValue) : '';
191
261
  const shouldBypassFiltering = single && !queryChangedAfterOpen && query !== '' && selectedLabelString.length === query.length && collatorFilter.contains(selectedLabelString, query);
192
- const filterQuery = shouldBypassFiltering ? '' : query;
193
- const shouldIgnoreExternalFiltering = hasItems && hasFilteredItemsProp && shouldBypassFiltering;
194
- const flatItems = React.useMemo(() => {
195
- if (!items) {
196
- return EMPTY_ARRAY;
197
- }
198
- if (isGrouped) {
199
- return items.flatMap(group => group.items);
200
- }
201
- return items;
202
- }, [items, isGrouped]);
262
+ const filterQuery = shouldBypassFiltering ? '' : filterQueryProp ?? query;
263
+ const shouldIgnoreExternalFiltering = hasItems && hasFilteredItemsProp && shouldBypassFiltering && (!collection || collection.hasValue(selectedValue, isItemEqualToValue));
264
+ const flatItems = React.useMemo(() => items ? flattenLeafItems(items) : EMPTY_ARRAY, [items]);
203
265
  const filteredItems = React.useMemo(() => {
204
266
  if (filteredItemsProp && !shouldIgnoreExternalFiltering) {
205
267
  return filteredItemsProp;
@@ -222,7 +284,7 @@ export function AriaCombobox(props) {
222
284
  if (itemsToTake.length >= remainingLimit) {
223
285
  break;
224
286
  }
225
- if (filter(item, filterQuery, itemToStringLabel)) {
287
+ if (filter(item, filterQuery, filterItemToString)) {
226
288
  itemsToTake.push(item);
227
289
  }
228
290
  }
@@ -241,7 +303,7 @@ export function AriaCombobox(props) {
241
303
  if (filterQuery === '') {
242
304
  return limit > -1 ? flatItems.slice(0, limit) :
243
305
  // The cast here is done as `flatItems` is readonly.
244
- // valuesRef.current, a mutable ref, can be set to `flatFilteredItems`, which may
306
+ // valuesRef.current, a mutable ref, can be set to `flatFilteredValues`, which may
245
307
  // reference this exact readonly value, creating a mutation risk.
246
308
  // However, <Combobox.Item> can never mutate this value as the mutating effect
247
309
  // bails early when `items` is provided, and this is only ever returned
@@ -253,19 +315,25 @@ export function AriaCombobox(props) {
253
315
  if (limit > -1 && limitedItems.length >= limit) {
254
316
  break;
255
317
  }
256
- if (filter(item, filterQuery, itemToStringLabel)) {
318
+ if (filter(item, filterQuery, filterItemToString)) {
257
319
  limitedItems.push(item);
258
320
  }
259
321
  }
260
322
  return limitedItems;
261
- }, [filteredItemsProp, shouldIgnoreExternalFiltering, items, isGrouped, filterQuery, limit, filter, itemToStringLabel, flatItems]);
262
- const flatFilteredItems = React.useMemo(() => {
263
- if (isGrouped) {
264
- const groups = filteredItems;
265
- return groups.flatMap(g => g.items);
323
+ }, [filteredItemsProp, shouldIgnoreExternalFiltering, items, isGrouped, filterQuery, limit, filter, filterItemToString, flatItems]);
324
+
325
+ /**
326
+ * The filtered items flattened across groups and projected to their selection values.
327
+ */
328
+ const flatFilteredValues = React.useMemo(() => {
329
+ if (externalWindow && filteredItems === filteredItemsProp) {
330
+ return externalWindow.values;
266
331
  }
267
- return filteredItems;
268
- }, [filteredItems, isGrouped]);
332
+ // Explicit type argument: inferring it from a union of both shapes resolves `Item` to
333
+ // `Group<Item>`, which tsc rejects and tsgo does not.
334
+ const flat = flattenLeafItems(filteredItems);
335
+ return itemToValue ? flat.map(item => itemToValue(item)) : flat;
336
+ }, [filteredItems, filteredItemsProp, externalWindow, itemToValue]);
269
337
  const store = useRefWithInit(() => {
270
338
  // An inline list open on the first render never gets a closed pass of the closed-state
271
339
  // sync effect below, and `items`-prop lists don't self-register their index the way
@@ -275,28 +343,15 @@ export function AriaCombobox(props) {
275
343
  // doesn't move an existing highlight or scroll the list away.
276
344
  let initialSelectedIndex = null;
277
345
  if (inlineProp && open && hasItems && selectionMode !== 'none') {
278
- initialSelectedIndex = findSelectionIndex(flatFilteredItems, selectedValue, isItemEqualToValue, multiple);
346
+ initialSelectedIndex = findSelectionIndex(flatFilteredValues, selectedValue, isItemEqualToValue, multiple);
279
347
  }
280
- return new Store({
348
+ return new ReactStore({
281
349
  id,
282
350
  labelId: undefined,
283
351
  selectedValue,
284
352
  open,
285
- items,
353
+ items: storeItems,
286
354
  selectionMode,
287
- listRef,
288
- labelsRef,
289
- popupRef,
290
- emptyRef,
291
- inputRef,
292
- startDismissRef,
293
- endDismissRef,
294
- keyboardActiveRef,
295
- chipsContainerRef,
296
- clearRef,
297
- valuesRef,
298
- pointerDownItemRef,
299
- selectionEventRef,
300
355
  name,
301
356
  form,
302
357
  disabled,
@@ -333,7 +388,8 @@ export function AriaCombobox(props) {
333
388
  inputInsidePopup: true,
334
389
  // Avoid duplicate names in the server HTML. Popup inputs aren't rendered
335
390
  // until after hydration, so the hidden input takes over then if needed.
336
- inputOwnsFormValue: selectionMode === 'none',
391
+ inputOwnsFormValue: selectionMode === 'none'
392
+ }, {
337
393
  // Placeholder callbacks replaced on first render
338
394
  onOpenChangeComplete: NOOP,
339
395
  setOpen: NOOP,
@@ -342,8 +398,21 @@ export function AriaCombobox(props) {
342
398
  setIndices: NOOP,
343
399
  handleSelection: NOOP,
344
400
  forceMount: NOOP,
345
- requestSubmit: NOOP
346
- });
401
+ requestSubmit: NOOP,
402
+ listRef,
403
+ labelsRef,
404
+ popupRef,
405
+ emptyRef,
406
+ inputRef,
407
+ startDismissRef,
408
+ endDismissRef,
409
+ keyboardActiveRef,
410
+ chipsContainerRef,
411
+ clearRef,
412
+ valuesRef,
413
+ pointerDownItemRef,
414
+ selectionEventRef
415
+ }, selectors);
347
416
  }).current;
348
417
  const fieldRawValue = selectionMode === 'none' ? inputValue : selectedValue;
349
418
  const fieldStringValue = React.useMemo(() => {
@@ -357,16 +426,17 @@ export function AriaCombobox(props) {
357
426
  }, [fieldRawValue, itemToStringValue, selectionMode, selectedValue]);
358
427
  const onItemHighlighted = useStableCallback(onItemHighlightedProp);
359
428
  const onOpenChangeComplete = useStableCallback(onOpenChangeCompleteProp);
360
- const activeIndex = useStore(store, selectors.activeIndex);
361
- const selectedIndex = useStore(store, selectors.selectedIndex);
362
- const positionerElement = useStore(store, selectors.positionerElement);
363
- const listElement = useStore(store, selectors.listElement);
364
- const triggerElement = useStore(store, selectors.triggerElement);
365
- const inputElement = useStore(store, selectors.inputElement);
366
- const inputGroupElement = useStore(store, selectors.inputGroupElement);
367
- const inline = useStore(store, selectors.inline);
368
- const inputInsidePopup = useStore(store, selectors.inputInsidePopup);
369
- const inputOwnsFormValue = useStore(store, selectors.inputOwnsFormValue);
429
+ const activeIndex = store.useState('activeIndex');
430
+ const selectedIndex = store.useState('selectedIndex');
431
+ const positionerElement = store.useState('positionerElement');
432
+ const listElement = store.useState('listElement');
433
+ const triggerElement = store.useState('triggerElement');
434
+ const inputElement = store.useState('inputElement');
435
+ const inputGroupElement = store.useState('inputGroupElement');
436
+ const inline = store.useState('inline');
437
+ const inputInsidePopup = store.useState('inputInsidePopup');
438
+ const inputOwnsFormValue = store.useState('inputOwnsFormValue');
439
+ const inputMatchesSelectedValue = single && !inputInsidePopup && inputValue === selectedLabelString;
370
440
  const triggerRef = useValueAsRef(triggerElement);
371
441
  const {
372
442
  mounted,
@@ -382,7 +452,7 @@ export function AriaCombobox(props) {
382
452
  const forceMount = useStableCallback(() => {
383
453
  if (items) {
384
454
  // Ensure typeahead works on a closed list.
385
- labelsRef.current = flatFilteredItems.map(item => stringifyAsLabel(item, itemToStringLabel));
455
+ labelsRef.current = flatFilteredValues.map(stringifyValueLabel);
386
456
  } else {
387
457
  store.set('forceMounted', true);
388
458
  }
@@ -409,7 +479,14 @@ export function AriaCombobox(props) {
409
479
  }));
410
480
  });
411
481
  const setIndices = useStableCallback(options => {
412
- store.update(options);
482
+ const update = {};
483
+ if (options.activeIndex !== undefined) {
484
+ update.activeIndex = options.activeIndex;
485
+ }
486
+ if (options.selectedIndex !== undefined) {
487
+ update.selectedIndex = options.selectedIndex;
488
+ }
489
+ store.update(update);
413
490
  const activeIndexOption = options.activeIndex;
414
491
  if (activeIndexOption === undefined) {
415
492
  return;
@@ -422,12 +499,14 @@ export function AriaCombobox(props) {
422
499
  }
423
500
  });
424
501
  const setInputValue = useStableCallback((next, eventDetails) => {
425
- hadInputClearRef.current = eventDetails.reason === REASONS.inputClear;
426
502
  props.onInputValueChange?.(next, eventDetails);
427
503
  if (eventDetails.isCanceled) {
428
504
  return;
429
505
  }
430
506
 
507
+ // A canceled selection clear must not suppress close-completion cleanup.
508
+ hadInputClearRef.current = eventDetails.reason === REASONS.inputClear;
509
+
431
510
  // If user is typing, ensure we don't auto-highlight on open due to a race
432
511
  // with the post-open effect that sets this flag.
433
512
  if (eventDetails.reason === REASONS.inputChange) {
@@ -482,6 +561,20 @@ export function AriaCombobox(props) {
482
561
  }
483
562
  setInputValueUnwrapped(next);
484
563
  });
564
+ const handleInterruptedReopen = useStableCallback(isInputChange => {
565
+ // Preserve values supplied with the reopen rather than owned by the interrupted close.
566
+ const clearsPendingInput = !isInputChange && inputInsidePopup && !inline && inputValue !== '' && (String(inputValue).trim() === closeQuery || inputValue === selectedLabelString);
567
+
568
+ // Keep the flag while a visible filter survives so the `items` sync cannot overwrite it.
569
+ if (!isInputChange && (clearsPendingInput || inputValue === '' || inputMatchesSelectedValue)) {
570
+ setQueryChangedAfterOpen(false);
571
+ }
572
+ setCloseQuery(null);
573
+ if (clearsPendingInput) {
574
+ // Cleanup clears omit the selection flag and reopening gesture.
575
+ setInputValue('', createChangeEventDetails(REASONS.inputClear));
576
+ }
577
+ });
485
578
  const setOpen = useStableCallback((nextOpen, eventDetails) => {
486
579
  if (open === nextOpen) {
487
580
  return;
@@ -490,22 +583,17 @@ export function AriaCombobox(props) {
490
583
  // If the `Empty` component is not used, the positioner or popup should be hidden
491
584
  // with CSS. In this case, allow the Escape key to bubble to close a parent popup
492
585
  // if there are no items to show.
493
- if (eventDetails.reason === REASONS.escapeKey && hasItems && flatFilteredItems.length === 0 && !emptyRef.current) {
586
+ if (eventDetails.reason === REASONS.escapeKey && hasItems && flatFilteredValues.length === 0 && !emptyRef.current) {
494
587
  eventDetails.allowPropagation();
495
588
  }
496
589
  props.onOpenChange?.(nextOpen, eventDetails);
497
590
  if (eventDetails.isCanceled) {
498
591
  return;
499
592
  }
500
-
501
- // If reopening interrupts the close animation, handleUnmount won't run to clear the
502
- // frozen closeQuery and pending popup input.
503
- if (nextOpen && inputInsidePopup && !inline && closeQuery !== null) {
504
- setQueryChangedAfterOpen(false);
505
- setCloseQuery(null);
506
- if (inputValue !== '' && eventDetails.reason !== REASONS.inputChange) {
507
- setInputValue('', createChangeEventDetails(REASONS.inputClear, eventDetails.event));
508
- }
593
+ if (nextOpen && closeQuery !== null) {
594
+ // `ComboboxInput` calls `setInputValue` before `setOpen`, so on an input-change reopen
595
+ // `inputValue` is still the pre-keystroke value and the typed filter always survives.
596
+ handleInterruptedReopen(eventDetails.reason === REASONS.inputChange);
509
597
  }
510
598
  if (!nextOpen && queryChangedAfterOpen) {
511
599
  if (single) {
@@ -531,7 +619,9 @@ export function AriaCombobox(props) {
531
619
  // if the input is outside the popup. When the input is inside the popup, defer the clear until
532
620
  // unmount so the filtered list doesn't flash to unfiltered during the exit animation.
533
621
  if (!inputInsidePopup || inline) {
534
- setInputValue('', createChangeEventDetails(REASONS.inputClear, eventDetails.event));
622
+ setInputValue('', createChangeEventDetails(REASONS.inputClear, eventDetails.event, undefined, {
623
+ isItemPress: eventDetails.reason === REASONS.itemPress
624
+ }));
535
625
  }
536
626
  }
537
627
  }
@@ -555,7 +645,7 @@ export function AriaCombobox(props) {
555
645
  setSelectedValueUnwrapped(nextValue);
556
646
  const shouldFillInput = selectionMode === 'none' && popupRef.current && fillInputOnItemPress || single && !store.state.inputInsidePopup;
557
647
  if (shouldFillInput) {
558
- setInputValue(stringifyAsLabel(nextValue, itemToStringLabel), createChangeEventDetails(eventDetails.reason, eventDetails.event));
648
+ setInputValue(stringifyValueLabel(nextValue), createChangeEventDetails(eventDetails.reason, eventDetails.event));
559
649
  }
560
650
  });
561
651
  const handleSelection = useStableCallback((event, itemValue) => {
@@ -585,7 +675,15 @@ export function AriaCombobox(props) {
585
675
  return;
586
676
  }
587
677
  if (store.state.inputInsidePopup) {
588
- setInputValue('', createChangeEventDetails(REASONS.inputClear, eventDetails.event));
678
+ setInputValue('', createChangeEventDetails(REASONS.inputClear, eventDetails.event, undefined, {
679
+ isItemPress: true
680
+ }));
681
+ // A newly selected item stays highlighted through the clear; a deselection
682
+ // falls back to the standard selection anchor.
683
+ const pendingHighlight = pendingQueryHighlightRef.current;
684
+ if (pendingHighlight && !isCurrentlySelected) {
685
+ pendingHighlight.toggledValue = itemValue;
686
+ }
589
687
  } else {
590
688
  setOpen(false, eventDetails);
591
689
  }
@@ -635,7 +733,7 @@ export function AriaCombobox(props) {
635
733
  setInputValue('', createChangeEventDetails(REASONS.inputClear));
636
734
  }
637
735
  } else {
638
- const stringVal = stringifyAsLabel(selectedValue, itemToStringLabel);
736
+ const stringVal = stringifyValueLabel(selectedValue);
639
737
  if (inputRef.current && inputRef.current.value !== stringVal) {
640
738
  // If no selection was made, treat this as clearing the typed filter.
641
739
  const reason = stringVal === '' ? REASONS.inputClear : REASONS.none;
@@ -670,14 +768,21 @@ export function AriaCombobox(props) {
670
768
  React.useImperativeHandle(props.actionsRef, () => ({
671
769
  unmount: handleUnmount
672
770
  }), [handleUnmount]);
673
- useIsoLayoutEffect(function syncClosedState() {
674
- if (open) {
771
+ useIsoLayoutEffect(function syncSelectedIndex() {
772
+ const closeQueryReleased = previousCloseQueryRef.current !== null && closeQuery === null;
773
+ previousCloseQueryRef.current = closeQuery;
774
+
775
+ // Closing indexes against the frozen filtered list. Reopening releases that query, so its
776
+ // rendered coordinates must be synchronized again even though the popup is already open.
777
+ if (open && (!closeQueryReleased || !hasItems)) {
675
778
  return;
676
779
  }
677
780
 
678
781
  // State-driven (not tied to the internal event path) so controlled closes
679
782
  // also clear a pointerdown that never received a matching item mouseup.
680
- pointerDownItemRef.current = null;
783
+ if (!open) {
784
+ pointerDownItemRef.current = null;
785
+ }
681
786
  if (selectionMode === 'none') {
682
787
  return;
683
788
  }
@@ -688,17 +793,18 @@ export function AriaCombobox(props) {
688
793
  // items re-assert the index themselves when their registration moves; when
689
794
  // nothing is mounted the lookup resolves to `null` and each item re-registers
690
795
  // the index on the next open.
691
- const registry = hasItems ? flatItems : valuesRef.current;
796
+ // Keep the selected index in the coordinates of the list that is actually rendered.
797
+ const registry = hasItems ? flatFilteredValues : valuesRef.current;
692
798
  setIndices({
693
799
  selectedIndex: findSelectionIndex(registry, selectedValue, isItemEqualToValue, multiple)
694
800
  });
695
- }, [open, selectedValue, selectionMode, multiple, hasItems, flatItems, isItemEqualToValue, setIndices]);
801
+ }, [open, closeQuery, selectedValue, selectionMode, multiple, hasItems, flatFilteredValues, isItemEqualToValue, setIndices]);
696
802
  useIsoLayoutEffect(() => {
697
803
  if (items) {
698
- valuesRef.current = flatFilteredItems;
699
- listRef.current.length = flatFilteredItems.length;
804
+ valuesRef.current = flatFilteredValues;
805
+ listRef.current.length = flatFilteredValues.length;
700
806
  }
701
- }, [items, flatFilteredItems]);
807
+ }, [items, flatFilteredValues]);
702
808
  useIsoLayoutEffect(() => {
703
809
  const pendingHighlight = pendingQueryHighlightRef.current;
704
810
  if (pendingHighlight) {
@@ -735,13 +841,18 @@ export function AriaCombobox(props) {
735
841
  // re-running this effect on every render.
736
842
  const currentSelectedValue = store.state.selectedValue;
737
843
  const isMultiple = store.state.selectionMode === 'multiple';
738
- const lastSelectedValue = isMultiple && Array.isArray(currentSelectedValue) ? currentSelectedValue[currentSelectedValue.length - 1] : currentSelectedValue;
739
- const hasSelection = store.state.selectionMode !== 'none' && lastSelectedValue != null;
740
- if (hasSelection || clearedBySelection) {
741
- const registry = hasItems || hasFilteredItemsProp ? flatFilteredItems : valuesRef.current;
742
- // A selection that is no longer in the list drops the highlight rather than
743
- // leaving it on whichever item now occupies that index.
744
- store.set('activeIndex', hasSelection ? findSelectionIndex(registry, currentSelectedValue, store.state.isItemEqualToValue, isMultiple) : null);
844
+ const hasSelection = isMultiple && Array.isArray(currentSelectedValue) ? currentSelectedValue.length > 0 : store.state.selectionMode !== 'none' && currentSelectedValue != null;
845
+ if (hasSelection) {
846
+ const registry = hasItems || hasFilteredItemsProp ? flatFilteredValues : valuesRef.current;
847
+ // A selection-driven clear keeps the just-selected item highlighted;
848
+ // otherwise return to the open anchor. A selection that is no longer in
849
+ // the list drops the highlight rather than leaving it on whichever item
850
+ // now occupies that index.
851
+ // `findItemIndex` resolves to -1 when no value was toggled.
852
+ const toggledIndex = findItemIndex(registry, pendingHighlight.toggledValue, store.state.isItemEqualToValue);
853
+ store.set('activeIndex', toggledIndex !== -1 ? toggledIndex : findSelectionIndex(registry, currentSelectedValue, store.state.isItemEqualToValue, isMultiple));
854
+ } else if (clearedBySelection) {
855
+ store.set('activeIndex', null);
745
856
  } else if (autoHighlightMode === 'always') {
746
857
  store.set('activeIndex', 0);
747
858
  }
@@ -752,8 +863,8 @@ export function AriaCombobox(props) {
752
863
  if (!open && !inline) {
753
864
  return;
754
865
  }
755
- const shouldUseFlatFilteredItems = hasItems || hasFilteredItemsProp;
756
- const candidateItems = shouldUseFlatFilteredItems ? flatFilteredItems : valuesRef.current;
866
+ const shouldUseFlatFilteredValues = hasItems || hasFilteredItemsProp;
867
+ const candidateItems = shouldUseFlatFilteredValues ? flatFilteredValues : valuesRef.current;
757
868
  const storeActiveIndex = store.state.activeIndex;
758
869
  if (storeActiveIndex == null) {
759
870
  if (autoHighlightMode === 'always' && candidateItems.length > 0) {
@@ -774,7 +885,7 @@ export function AriaCombobox(props) {
774
885
  if (lastHighlightRef.current.index !== storeActiveIndex || !isSameItem) {
775
886
  emitHighlight(itemValue, storeActiveIndex, REASONS.none);
776
887
  }
777
- }, [activeIndex, autoHighlightMode, emitHighlight, hasFilteredItemsProp, hasItems, flatFilteredItems, inline, open, store,
888
+ }, [activeIndex, autoHighlightMode, emitHighlight, hasFilteredItemsProp, hasItems, flatFilteredValues, inline, open, store,
778
889
  // Reruns the effect when the query changes without affecting the deps above, such as
779
890
  // clearing the input when no items are filtered out (individually rendered items).
780
891
  inputValue]);
@@ -789,56 +900,67 @@ export function AriaCombobox(props) {
789
900
  // Ensures that the active index is not set to 0 when the list is empty.
790
901
  // This avoids needing to press ArrowDown twice under certain conditions.
791
902
  React.useEffect(() => {
792
- if (hasItems && autoHighlightMode && flatFilteredItems.length === 0) {
903
+ if (hasItems && autoHighlightMode && flatFilteredValues.length === 0) {
793
904
  setIndices({
794
905
  activeIndex: null
795
906
  });
796
907
  }
797
- }, [hasItems, autoHighlightMode, flatFilteredItems.length, setIndices]);
798
- function isSelectedValueDirty(value) {
799
- const initialValue = validityData.initialValue;
800
- if (Array.isArray(value) && Array.isArray(initialValue)) {
801
- return !areArraysEqual(value, initialValue, (itemValue, initialItemValue) => compareItemEquality(itemValue, initialItemValue, isItemEqualToValue));
908
+ }, [hasItems, autoHighlightMode, flatFilteredValues.length, setIndices]);
909
+ function handleQueryChanged() {
910
+ if (open && query !== '' && query !== String(initialDefaultInputValue) && !inputMatchesSelectedValue) {
911
+ setQueryChangedAfterOpen(true);
802
912
  }
803
- return value !== initialValue;
804
913
  }
805
- useValueChanged(query, () => {
806
- if (!open || query === '' || query === String(initialDefaultInputValue)) {
807
- return;
914
+ function handleOpenChanged() {
915
+ // A controlled `open` prop can interrupt the close without calling `setOpen`.
916
+ if (open && closeQuery !== null) {
917
+ handleInterruptedReopen(false);
808
918
  }
809
- setQueryChangedAfterOpen(true);
810
- });
919
+ }
920
+
921
+ // These sync triggers can run in the same commit while still seeing the pre-commit `inputValue`.
922
+ // This render-scoped flag prevents duplicate callbacks and resets so canceled writes can retry.
923
+ let syncedSelectedLabel = false;
811
924
  function syncInputToSelectedLabel() {
812
- const nextInputValue = stringifyAsLabel(selectedValue, itemToStringLabel);
813
- if (inputValue !== nextInputValue) {
814
- setInputValue(nextInputValue, createChangeEventDetails(REASONS.none));
925
+ if (!syncedSelectedLabel && inputValue !== selectedLabelString) {
926
+ syncedSelectedLabel = true;
927
+ setInputValue(selectedLabelString, createChangeEventDetails(REASONS.none));
815
928
  }
816
929
  }
817
- useValueChanged(selectedValue, () => {
930
+ function handleSelectedValueChanged() {
818
931
  if (selectionMode === 'none') {
819
932
  return;
820
933
  }
821
934
  clearErrors(name);
822
- setDirty(isSelectedValueDirty(selectedValue));
935
+ setDirty(isSelectedValueDirty(selectedValue, validityData.initialValue, isItemEqualToValue));
823
936
  validation.change(selectedValue);
824
937
  if (single && !hasInputValue && !inputInsidePopup) {
825
938
  syncInputToSelectedLabel();
826
939
  }
827
- });
828
- useValueChanged(inputValue, () => {
940
+ }
941
+
942
+ // The label catches accessor changes while the items identity restores the selected label after
943
+ // a one-step input clear followed by a data reload. The shared sync prevents duplicate writes
944
+ // when both change in the same commit.
945
+ function syncInputAfterItemsOrLabelChange() {
946
+ if (single && !hasInputValue && !inputInsidePopup && !queryChangedAfterOpen) {
947
+ syncInputToSelectedLabel();
948
+ }
949
+ }
950
+ function handleInputValueChanged() {
829
951
  if (selectionMode !== 'none') {
830
952
  return;
831
953
  }
832
954
  clearErrors(name);
833
955
  setDirty(inputValue !== validityData.initialValue);
834
956
  validation.change(inputValue);
835
- });
836
- useValueChanged(items, () => {
837
- if (!single || hasInputValue || inputInsidePopup || queryChangedAfterOpen) {
838
- return;
839
- }
840
- syncInputToSelectedLabel();
841
- });
957
+ }
958
+ useValueChanged(query, handleQueryChanged);
959
+ useValueChanged(open, handleOpenChanged);
960
+ useValueChanged(selectedValue, handleSelectedValueChanged);
961
+ useValueChanged(selectedLabelString, syncInputAfterItemsOrLabelChange);
962
+ useValueChanged(items, syncInputAfterItemsOrLabelChange);
963
+ useValueChanged(inputValue, handleInputValueChanged);
842
964
  const floatingRootContext = useFloatingRootContext({
843
965
  open: inline ? true : open,
844
966
  onOpenChange: setOpen,
@@ -871,7 +993,8 @@ export function AriaCombobox(props) {
871
993
  reference['aria-expanded'] = ariaExpanded;
872
994
  reference['aria-haspopup'] = ariaHasPopup;
873
995
  reference['aria-controls'] = expanded ? listElement?.id : undefined;
874
- reference['aria-autocomplete'] = autoComplete;
996
+ // `readOnly` accepts no input, so no completion of any kind is offered.
997
+ reference['aria-autocomplete'] = readOnly ? 'none' : autoComplete;
875
998
  }
876
999
  return {
877
1000
  reference,
@@ -879,9 +1002,13 @@ export function AriaCombobox(props) {
879
1002
  role: 'presentation'
880
1003
  }
881
1004
  };
882
- }, [inputElement, expanded, ariaExpanded, ariaHasPopup, listElement?.id, autoComplete]);
1005
+ }, [inputElement, expanded, ariaExpanded, ariaHasPopup, listElement?.id, autoComplete, readOnly]);
1006
+
1007
+ // `readOnly` locks the value, not the interaction: the popup opens and can be browsed.
1008
+ // Value changes stay blocked in `ComboboxItem`, `ComboboxInput`'s keydown, `ComboboxTrigger`'s
1009
+ // typeahead, the clear/remove parts, and the hidden input's autofill handler.
883
1010
  const click = useClick(floatingRootContext, {
884
- enabled: !readOnly && !disabled && openOnInputClick,
1011
+ enabled: !disabled && openOnInputClick,
885
1012
  event: 'mousedown-only',
886
1013
  toggle: false,
887
1014
  // Apply a small delay for touch to let mobile viewport/keyboard positioning settle.
@@ -890,7 +1017,7 @@ export function AriaCombobox(props) {
890
1017
  reason: REASONS.inputPress
891
1018
  });
892
1019
  const dismiss = useDismiss(floatingRootContext, {
893
- enabled: !readOnly && !disabled && !inline,
1020
+ enabled: !disabled && !inline,
894
1021
  outsidePressEvent: {
895
1022
  mouse: 'sloppy',
896
1023
  // The visual viewport (affected by the mobile software keyboard) can be
@@ -906,7 +1033,7 @@ export function AriaCombobox(props) {
906
1033
  }
907
1034
  });
908
1035
  const listNavigation = useListNavigation(floatingRootContext, {
909
- enabled: !readOnly && !disabled,
1036
+ enabled: !disabled,
910
1037
  id,
911
1038
  listRef,
912
1039
  activeIndex,
@@ -963,6 +1090,17 @@ export function AriaCombobox(props) {
963
1090
  onFocus: undefined
964
1091
  };
965
1092
  }, [listNavigation.item]);
1093
+ store.useContextCallback('setOpen', setOpen);
1094
+ store.useContextCallback('setInputValue', setInputValue);
1095
+ store.useContextCallback('setSelectedValue', setSelectedValue);
1096
+ store.useContextCallback('setIndices', setIndices);
1097
+ store.useContextCallback('handleSelection', handleSelection);
1098
+ store.useContextCallback('forceMount', forceMount);
1099
+ store.useContextCallback('requestSubmit', requestSubmit);
1100
+ store.useContextCallback('onOpenChangeComplete', onOpenChangeCompleteProp);
1101
+
1102
+ // The prop bags must be in the store before the parts render: they read them with `useStore`
1103
+ // during render, and a layout effect commits only after all children have rendered.
966
1104
  useOnFirstRender(() => {
967
1105
  store.update({
968
1106
  inline: inlineProp,
@@ -970,57 +1108,58 @@ export function AriaCombobox(props) {
970
1108
  listProps,
971
1109
  inputProps,
972
1110
  triggerProps,
973
- itemProps,
974
- setOpen,
975
- setInputValue,
976
- setSelectedValue,
977
- setIndices,
978
- handleSelection,
979
- forceMount,
980
- requestSubmit,
981
- onOpenChangeComplete
1111
+ itemProps
982
1112
  });
983
1113
  });
1114
+ const syncedValues = {
1115
+ id,
1116
+ selectedValue,
1117
+ open,
1118
+ mounted,
1119
+ transitionStatus,
1120
+ items: storeItems,
1121
+ inline: inlineProp,
1122
+ popupProps,
1123
+ listProps,
1124
+ inputProps,
1125
+ triggerProps,
1126
+ itemProps,
1127
+ openMethod,
1128
+ selectionMode,
1129
+ name,
1130
+ form,
1131
+ disabled,
1132
+ readOnly,
1133
+ required,
1134
+ grid,
1135
+ virtualized,
1136
+ openOnInputClick,
1137
+ itemToStringLabel,
1138
+ modal,
1139
+ autoHighlight: autoHighlightMode,
1140
+ isItemEqualToValue,
1141
+ submitOnItemClick,
1142
+ hasInputValue
1143
+ };
984
1144
  useIsoLayoutEffect(() => {
1145
+ // `inputOwnsFormValue` is derived here rather than during render because `ComboboxInput`
1146
+ // writes it from a ref callback earlier in the same commit, and it has to land in this same
1147
+ // `update` so subscribers never observe an intermediate snapshot. That is also why
1148
+ // `store.useSyncedValues` can't be used yet: it would need a second write. The dependencies
1149
+ // are derived from `syncedValues` so a newly synchronized field can't be forgotten here.
985
1150
  store.update({
986
- id,
987
- selectedValue,
988
- open,
989
- mounted,
990
- transitionStatus,
991
- items,
992
- inline: inlineProp,
993
- popupProps,
994
- listProps,
995
- inputProps,
996
- triggerProps,
997
- openMethod,
998
- itemProps,
999
- selectionMode,
1000
- name,
1001
- form,
1002
- disabled,
1003
- readOnly,
1004
- required,
1005
- grid,
1006
- virtualized,
1007
- openOnInputClick,
1008
- itemToStringLabel,
1009
- modal,
1010
- autoHighlight: autoHighlightMode,
1011
- isItemEqualToValue,
1012
- submitOnItemClick,
1013
- hasInputValue,
1151
+ ...syncedValues,
1014
1152
  inputOwnsFormValue: selectionMode === 'none' && (inlineProp || !store.state.inputInsidePopup)
1015
1153
  });
1016
- }, [store, id, selectedValue, open, mounted, transitionStatus, items, popupProps, listProps, inputProps, itemProps, openMethod, triggerProps, selectionMode, name, disabled, readOnly, required, grid, virtualized, openOnInputClick, itemToStringLabel, modal, isItemEqualToValue, submitOnItemClick, hasInputValue, inlineProp, autoHighlightMode, form]);
1154
+ // eslint-disable-next-line react-hooks/exhaustive-deps
1155
+ }, [store, ...Object.values(syncedValues)]);
1017
1156
  const hiddenInputRef = useMergedRefs(inputRefProp, validation.inputRef);
1018
1157
  const itemsContextValue = React.useMemo(() => ({
1019
1158
  query,
1020
1159
  hasItems,
1021
1160
  filteredItems,
1022
- flatFilteredItems
1023
- }), [query, hasItems, filteredItems, flatFilteredItems]);
1161
+ flatFilteredValues
1162
+ }), [query, hasItems, filteredItems, flatFilteredValues]);
1024
1163
  const serializedValue = React.useMemo(() => {
1025
1164
  if (Array.isArray(fieldRawValue)) {
1026
1165
  return '';
@@ -1064,7 +1203,7 @@ export function AriaCombobox(props) {
1064
1203
  const nextValue = event.currentTarget.value;
1065
1204
  const nextValueLower = nextValue.toLowerCase();
1066
1205
  const details = createChangeEventDetails(REASONS.none, event.nativeEvent);
1067
- const findSerializedMatchIndex = () => valuesRef.current.findIndex(candidate => stringifyAsValue(candidate, itemToStringValue).toLowerCase() === nextValueLower || stringifyAsLabel(candidate, itemToStringLabel).toLowerCase() === nextValueLower);
1206
+ const findSerializedMatchIndex = () => valuesRef.current.findIndex(candidate => stringifyAsValue(candidate, itemToStringValue).toLowerCase() === nextValueLower || stringifyValueLabel(candidate).toLowerCase() === nextValueLower);
1068
1207
  function handleChange() {
1069
1208
  // Browser autofill only writes a single scalar value.
1070
1209
  if (multiple) {