@base-ui/react 1.6.0 → 1.7.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 (1217) hide show
  1. package/CHANGELOG.md +229 -0
  2. package/accordion/item/AccordionItem.js +6 -13
  3. package/accordion/item/AccordionItem.mjs +6 -13
  4. package/accordion/item/AccordionItemContext.d.mts +2 -1
  5. package/accordion/item/AccordionItemContext.d.ts +2 -1
  6. package/accordion/item/stateAttributesMapping.js +3 -5
  7. package/accordion/item/stateAttributesMapping.mjs +3 -5
  8. package/accordion/panel/AccordionPanel.js +12 -11
  9. package/accordion/panel/AccordionPanel.mjs +12 -11
  10. package/accordion/panel/AccordionPanelDataAttributes.d.mts +1 -1
  11. package/accordion/panel/AccordionPanelDataAttributes.d.ts +1 -1
  12. package/accordion/panel/AccordionPanelDataAttributes.js +1 -1
  13. package/accordion/panel/AccordionPanelDataAttributes.mjs +1 -1
  14. package/accordion/root/AccordionRoot.js +4 -7
  15. package/accordion/root/AccordionRoot.mjs +4 -7
  16. package/accordion/trigger/AccordionTrigger.js +7 -7
  17. package/accordion/trigger/AccordionTrigger.mjs +7 -7
  18. package/alert-dialog/handle.d.mts +6 -8
  19. package/alert-dialog/handle.d.ts +6 -8
  20. package/alert-dialog/handle.js +8 -19
  21. package/alert-dialog/handle.mjs +7 -17
  22. package/alert-dialog/root/AlertDialogRoot.js +1 -1
  23. package/alert-dialog/root/AlertDialogRoot.mjs +1 -1
  24. package/autocomplete/index.d.mts +1 -0
  25. package/autocomplete/index.d.ts +1 -0
  26. package/autocomplete/index.parts.d.mts +1 -1
  27. package/autocomplete/index.parts.d.ts +1 -1
  28. package/autocomplete/index.parts.js +2 -2
  29. package/autocomplete/index.parts.mjs +1 -1
  30. package/autocomplete/input-group/AutocompleteInputGroup.d.mts +1 -1
  31. package/autocomplete/input-group/AutocompleteInputGroup.d.ts +1 -1
  32. package/autocomplete/root/AutocompleteRoot.d.mts +6 -1
  33. package/autocomplete/root/AutocompleteRoot.d.ts +6 -1
  34. package/autocomplete/root/AutocompleteRoot.js +4 -10
  35. package/autocomplete/root/AutocompleteRoot.mjs +4 -10
  36. package/autocomplete/separator/AutocompleteSeparator.d.mts +26 -0
  37. package/autocomplete/separator/AutocompleteSeparator.d.ts +26 -0
  38. package/autocomplete/separator/AutocompleteSeparator.js +15 -0
  39. package/autocomplete/separator/AutocompleteSeparator.mjs +10 -0
  40. package/autocomplete/trigger/AutocompleteTrigger.d.mts +1 -1
  41. package/autocomplete/trigger/AutocompleteTrigger.d.ts +1 -1
  42. package/avatar/fallback/AvatarFallback.d.mts +2 -0
  43. package/avatar/fallback/AvatarFallback.d.ts +2 -0
  44. package/avatar/fallback/AvatarFallback.js +5 -5
  45. package/avatar/fallback/AvatarFallback.mjs +5 -5
  46. package/avatar/image/AvatarImage.d.mts +1 -1
  47. package/avatar/image/AvatarImage.d.ts +1 -1
  48. package/avatar/image/AvatarImageDataAttributes.d.mts +1 -1
  49. package/avatar/image/AvatarImageDataAttributes.d.ts +1 -1
  50. package/avatar/image/AvatarImageDataAttributes.js +1 -1
  51. package/avatar/image/AvatarImageDataAttributes.mjs +1 -1
  52. package/checkbox/indicator/CheckboxIndicator.js +3 -5
  53. package/checkbox/indicator/CheckboxIndicator.mjs +3 -5
  54. package/checkbox/indicator/CheckboxIndicatorDataAttributes.d.mts +1 -1
  55. package/checkbox/indicator/CheckboxIndicatorDataAttributes.d.ts +1 -1
  56. package/checkbox/indicator/CheckboxIndicatorDataAttributes.js +1 -1
  57. package/checkbox/indicator/CheckboxIndicatorDataAttributes.mjs +1 -1
  58. package/checkbox/root/CheckboxRoot.d.mts +2 -1
  59. package/checkbox/root/CheckboxRoot.d.ts +2 -1
  60. package/checkbox/root/CheckboxRoot.js +39 -31
  61. package/checkbox/root/CheckboxRoot.mjs +39 -31
  62. package/checkbox/utils/{useStateAttributesMapping.d.mts → getCheckboxStateAttributesMapping.d.mts} +1 -1
  63. package/checkbox/utils/{useStateAttributesMapping.d.ts → getCheckboxStateAttributesMapping.d.ts} +1 -1
  64. package/checkbox/utils/getCheckboxStateAttributesMapping.js +26 -0
  65. package/checkbox/utils/{useStateAttributesMapping.mjs → getCheckboxStateAttributesMapping.mjs} +5 -9
  66. package/checkbox-group/CheckboxGroup.js +33 -24
  67. package/checkbox-group/CheckboxGroup.mjs +33 -24
  68. package/checkbox-group/CheckboxGroupContext.d.mts +2 -5
  69. package/checkbox-group/CheckboxGroupContext.d.ts +2 -5
  70. package/checkbox-group/CheckboxGroupContext.js +2 -8
  71. package/checkbox-group/CheckboxGroupContext.mjs +2 -7
  72. package/checkbox-group/useCheckboxGroupParent.d.mts +2 -4
  73. package/checkbox-group/useCheckboxGroupParent.d.ts +2 -4
  74. package/checkbox-group/useCheckboxGroupParent.js +5 -6
  75. package/checkbox-group/useCheckboxGroupParent.mjs +5 -6
  76. package/collapsible/panel/CollapsiblePanel.js +12 -11
  77. package/collapsible/panel/CollapsiblePanel.mjs +12 -11
  78. package/collapsible/panel/CollapsiblePanelDataAttributes.d.mts +1 -1
  79. package/collapsible/panel/CollapsiblePanelDataAttributes.d.ts +1 -1
  80. package/collapsible/panel/CollapsiblePanelDataAttributes.js +1 -1
  81. package/collapsible/panel/CollapsiblePanelDataAttributes.mjs +1 -1
  82. package/collapsible/panel/useCollapsiblePanel.js +29 -24
  83. package/collapsible/panel/useCollapsiblePanel.mjs +29 -24
  84. package/collapsible/root/CollapsibleRootDataAttributes.d.mts +18 -0
  85. package/collapsible/root/CollapsibleRootDataAttributes.d.ts +18 -0
  86. package/collapsible/root/CollapsibleRootDataAttributes.js +26 -0
  87. package/collapsible/root/CollapsibleRootDataAttributes.mjs +20 -0
  88. package/collapsible/root/useCollapsibleRoot.d.mts +2 -1
  89. package/collapsible/root/useCollapsibleRoot.d.ts +2 -1
  90. package/collapsible/root/useCollapsibleRoot.js +5 -3
  91. package/collapsible/root/useCollapsibleRoot.mjs +5 -3
  92. package/combobox/arrow/ComboboxArrow.d.mts +1 -1
  93. package/combobox/arrow/ComboboxArrow.d.ts +1 -1
  94. package/combobox/backdrop/ComboboxBackdropDataAttributes.d.mts +1 -1
  95. package/combobox/backdrop/ComboboxBackdropDataAttributes.d.ts +1 -1
  96. package/combobox/backdrop/ComboboxBackdropDataAttributes.js +1 -1
  97. package/combobox/backdrop/ComboboxBackdropDataAttributes.mjs +1 -1
  98. package/combobox/chip/ComboboxChip.js +4 -6
  99. package/combobox/chip/ComboboxChip.mjs +4 -6
  100. package/combobox/chip-remove/ComboboxChipRemove.js +1 -7
  101. package/combobox/chip-remove/ComboboxChipRemove.mjs +1 -7
  102. package/combobox/clear/ComboboxClear.js +5 -3
  103. package/combobox/clear/ComboboxClear.mjs +5 -3
  104. package/combobox/clear/ComboboxClearDataAttributes.d.mts +1 -1
  105. package/combobox/clear/ComboboxClearDataAttributes.d.ts +1 -1
  106. package/combobox/clear/ComboboxClearDataAttributes.js +1 -1
  107. package/combobox/clear/ComboboxClearDataAttributes.mjs +1 -1
  108. package/combobox/collection/ComboboxCollection.d.mts +1 -1
  109. package/combobox/collection/ComboboxCollection.d.ts +1 -1
  110. package/combobox/collection/ComboboxCollection.js +0 -3
  111. package/combobox/collection/ComboboxCollection.mjs +0 -3
  112. package/combobox/group-label/ComboboxGroupLabel.js +1 -1
  113. package/combobox/group-label/ComboboxGroupLabel.mjs +1 -1
  114. package/combobox/index.d.mts +1 -0
  115. package/combobox/index.d.ts +1 -0
  116. package/combobox/index.parts.d.mts +1 -1
  117. package/combobox/index.parts.d.ts +1 -1
  118. package/combobox/index.parts.js +2 -2
  119. package/combobox/index.parts.mjs +1 -1
  120. package/combobox/input/ComboboxInput.d.mts +1 -1
  121. package/combobox/input/ComboboxInput.d.ts +1 -1
  122. package/combobox/input/ComboboxInput.js +43 -88
  123. package/combobox/input/ComboboxInput.mjs +44 -89
  124. package/combobox/input-group/ComboboxInputGroup.d.mts +1 -1
  125. package/combobox/input-group/ComboboxInputGroup.d.ts +1 -1
  126. package/combobox/input-group/ComboboxInputGroup.js +3 -8
  127. package/combobox/input-group/ComboboxInputGroup.mjs +4 -9
  128. package/combobox/item/ComboboxItem.js +21 -23
  129. package/combobox/item/ComboboxItem.mjs +22 -24
  130. package/combobox/item-indicator/ComboboxItemIndicator.js +1 -2
  131. package/combobox/item-indicator/ComboboxItemIndicator.mjs +1 -2
  132. package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.d.mts +1 -1
  133. package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.d.ts +1 -1
  134. package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.js +1 -1
  135. package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.mjs +1 -1
  136. package/combobox/label/ComboboxLabel.js +2 -1
  137. package/combobox/label/ComboboxLabel.mjs +2 -1
  138. package/combobox/list/ComboboxList.js +5 -10
  139. package/combobox/list/ComboboxList.mjs +5 -10
  140. package/combobox/popup/ComboboxPopup.d.mts +1 -1
  141. package/combobox/popup/ComboboxPopup.d.ts +1 -1
  142. package/combobox/popup/ComboboxPopup.js +5 -7
  143. package/combobox/popup/ComboboxPopup.mjs +6 -8
  144. package/combobox/popup/ComboboxPopupDataAttributes.d.mts +1 -1
  145. package/combobox/popup/ComboboxPopupDataAttributes.d.ts +1 -1
  146. package/combobox/popup/ComboboxPopupDataAttributes.js +1 -1
  147. package/combobox/popup/ComboboxPopupDataAttributes.mjs +1 -1
  148. package/combobox/portal/ComboboxPortal.d.mts +6 -2
  149. package/combobox/portal/ComboboxPortal.d.ts +6 -2
  150. package/combobox/positioner/ComboboxPositioner.d.mts +1 -1
  151. package/combobox/positioner/ComboboxPositioner.d.ts +1 -1
  152. package/combobox/positioner/ComboboxPositioner.js +13 -13
  153. package/combobox/positioner/ComboboxPositioner.mjs +14 -14
  154. package/combobox/positioner/ComboboxPositionerContext.d.mts +1 -1
  155. package/combobox/positioner/ComboboxPositionerContext.d.ts +1 -1
  156. package/combobox/root/AriaCombobox.d.mts +5 -10
  157. package/combobox/root/AriaCombobox.d.ts +5 -10
  158. package/combobox/root/AriaCombobox.js +259 -196
  159. package/combobox/root/AriaCombobox.mjs +262 -199
  160. package/combobox/root/utils/index.js +2 -4
  161. package/combobox/root/utils/index.mjs +2 -4
  162. package/combobox/root/utils/useFilter.js +2 -3
  163. package/combobox/root/utils/useFilter.mjs +2 -3
  164. package/combobox/separator/ComboboxSeparator.d.mts +26 -0
  165. package/combobox/separator/ComboboxSeparator.d.ts +26 -0
  166. package/combobox/separator/ComboboxSeparator.js +15 -0
  167. package/combobox/separator/ComboboxSeparator.mjs +10 -0
  168. package/combobox/store.d.mts +6 -9
  169. package/combobox/store.d.ts +6 -9
  170. package/combobox/store.js +47 -48
  171. package/combobox/store.mjs +47 -48
  172. package/combobox/trigger/ComboboxTrigger.d.mts +1 -1
  173. package/combobox/trigger/ComboboxTrigger.d.ts +1 -1
  174. package/combobox/trigger/ComboboxTrigger.js +12 -33
  175. package/combobox/trigger/ComboboxTrigger.mjs +14 -34
  176. package/combobox/utils/ComboboxInternalDismissButton.d.mts +1 -5
  177. package/combobox/utils/ComboboxInternalDismissButton.d.ts +1 -5
  178. package/combobox/utils/parts.d.mts +24 -0
  179. package/combobox/utils/parts.d.ts +24 -0
  180. package/combobox/utils/parts.js +59 -0
  181. package/combobox/utils/parts.mjs +50 -0
  182. package/combobox/utils/stateAttributesMapping.d.mts +3 -3
  183. package/combobox/utils/stateAttributesMapping.d.ts +3 -3
  184. package/combobox/utils/useInitialLiveRegionTextMutation.js +1 -1
  185. package/combobox/utils/useInitialLiveRegionTextMutation.mjs +1 -1
  186. package/context-menu/root/ContextMenuRoot.d.mts +3 -1
  187. package/context-menu/root/ContextMenuRoot.d.ts +3 -1
  188. package/context-menu/trigger/ContextMenuTrigger.js +40 -22
  189. package/context-menu/trigger/ContextMenuTrigger.mjs +40 -22
  190. package/dialog/backdrop/DialogBackdrop.js +2 -10
  191. package/dialog/backdrop/DialogBackdrop.mjs +3 -10
  192. package/dialog/backdrop/DialogBackdropDataAttributes.d.mts +1 -1
  193. package/dialog/backdrop/DialogBackdropDataAttributes.d.ts +1 -1
  194. package/dialog/backdrop/DialogBackdropDataAttributes.js +1 -1
  195. package/dialog/backdrop/DialogBackdropDataAttributes.mjs +1 -1
  196. package/dialog/close/DialogClose.js +1 -3
  197. package/dialog/close/DialogClose.mjs +1 -3
  198. package/dialog/description/DialogDescription.js +1 -3
  199. package/dialog/description/DialogDescription.mjs +1 -3
  200. package/dialog/popup/DialogPopup.js +7 -23
  201. package/dialog/popup/DialogPopup.mjs +8 -23
  202. package/dialog/popup/DialogPopupDataAttributes.d.mts +1 -1
  203. package/dialog/popup/DialogPopupDataAttributes.d.ts +1 -1
  204. package/dialog/popup/DialogPopupDataAttributes.js +1 -1
  205. package/dialog/popup/DialogPopupDataAttributes.mjs +1 -1
  206. package/dialog/portal/DialogPortal.d.mts +3 -3
  207. package/dialog/portal/DialogPortal.d.ts +3 -3
  208. package/dialog/portal/DialogPortal.js +1 -3
  209. package/dialog/portal/DialogPortal.mjs +1 -3
  210. package/dialog/root/DialogRoot.js +1 -5
  211. package/dialog/root/DialogRoot.mjs +1 -4
  212. package/dialog/root/DialogRootContext.d.mts +3 -7
  213. package/dialog/root/DialogRootContext.d.ts +3 -7
  214. package/dialog/root/DialogRootContext.js +4 -6
  215. package/dialog/root/DialogRootContext.mjs +3 -5
  216. package/dialog/root/useDialogRoot.d.mts +0 -6
  217. package/dialog/root/useDialogRoot.d.ts +0 -6
  218. package/dialog/root/useDialogRoot.js +33 -46
  219. package/dialog/root/useDialogRoot.mjs +34 -46
  220. package/dialog/root/useRenderDialogRoot.d.mts +1 -1
  221. package/dialog/root/useRenderDialogRoot.d.ts +1 -1
  222. package/dialog/root/useRenderDialogRoot.js +34 -42
  223. package/dialog/root/useRenderDialogRoot.mjs +36 -44
  224. package/dialog/store/DialogHandle.d.mts +20 -16
  225. package/dialog/store/DialogHandle.d.ts +20 -16
  226. package/dialog/store/DialogHandle.js +32 -27
  227. package/dialog/store/DialogHandle.mjs +33 -28
  228. package/dialog/store/DialogStore.d.mts +14 -4
  229. package/dialog/store/DialogStore.d.ts +14 -4
  230. package/dialog/store/DialogStore.js +49 -34
  231. package/dialog/store/DialogStore.mjs +49 -35
  232. package/dialog/title/DialogTitle.js +1 -3
  233. package/dialog/title/DialogTitle.mjs +1 -3
  234. package/dialog/trigger/DialogTrigger.js +4 -5
  235. package/dialog/trigger/DialogTrigger.mjs +5 -6
  236. package/dialog/utils/stateAttributesMapping.d.mts +12 -0
  237. package/dialog/utils/stateAttributesMapping.d.ts +12 -0
  238. package/dialog/utils/stateAttributesMapping.js +21 -0
  239. package/dialog/utils/stateAttributesMapping.mjs +15 -0
  240. package/dialog/viewport/DialogViewport.js +3 -22
  241. package/dialog/viewport/DialogViewport.mjs +3 -21
  242. package/dialog/viewport/DialogViewportDataAttributes.d.mts +1 -1
  243. package/dialog/viewport/DialogViewportDataAttributes.d.ts +1 -1
  244. package/dialog/viewport/DialogViewportDataAttributes.js +1 -1
  245. package/dialog/viewport/DialogViewportDataAttributes.mjs +1 -1
  246. package/docs/index.md +1 -0
  247. package/docs/react/components/accordion.md +1 -1
  248. package/docs/react/components/alert-dialog.md +25 -21
  249. package/docs/react/components/autocomplete.md +158 -103
  250. package/docs/react/components/avatar.md +15 -11
  251. package/docs/react/components/checkbox.md +21 -21
  252. package/docs/react/components/collapsible.md +10 -1
  253. package/docs/react/components/combobox.md +51 -23
  254. package/docs/react/components/context-menu.md +474 -87
  255. package/docs/react/components/dialog.md +396 -21
  256. package/docs/react/components/drawer.md +27 -23
  257. package/docs/react/components/field.md +11 -11
  258. package/docs/react/components/form.md +13 -11
  259. package/docs/react/components/menu.md +138 -118
  260. package/docs/react/components/menubar.md +41 -41
  261. package/docs/react/components/navigation-menu.md +57 -71
  262. package/docs/react/components/number-field.md +6 -6
  263. package/docs/react/components/otp-field.md +20 -18
  264. package/docs/react/components/popover.md +51 -36
  265. package/docs/react/components/preview-card.md +56 -47
  266. package/docs/react/components/progress.md +3 -3
  267. package/docs/react/components/radio.md +1 -1
  268. package/docs/react/components/select.md +57 -55
  269. package/docs/react/components/slider.md +22 -22
  270. package/docs/react/components/tabs.md +275 -1
  271. package/docs/react/components/toast.md +21 -26
  272. package/docs/react/components/toolbar.md +27 -23
  273. package/docs/react/components/tooltip.md +30 -17
  274. package/docs/react/handbook/animation.md +3 -3
  275. package/docs/react/handbook/forms.md +3 -3
  276. package/docs/react/handbook/styling.md +1 -1
  277. package/docs/react/overview/about.md +10 -7
  278. package/docs/react/overview/community.md +3 -2
  279. package/docs/react/overview/quick-start.md +3 -3
  280. package/docs/react/overview/releases/v1-7-0.md +236 -0
  281. package/docs/react/overview/releases.md +10 -2
  282. package/docs/react/utils/direction-provider.md +5 -2
  283. package/drawer/backdrop/DrawerBackdrop.js +2 -10
  284. package/drawer/backdrop/DrawerBackdrop.mjs +3 -10
  285. package/drawer/backdrop/DrawerBackdropDataAttributes.d.mts +1 -1
  286. package/drawer/backdrop/DrawerBackdropDataAttributes.d.ts +1 -1
  287. package/drawer/backdrop/DrawerBackdropDataAttributes.js +1 -1
  288. package/drawer/backdrop/DrawerBackdropDataAttributes.mjs +1 -1
  289. package/drawer/handle.d.mts +16 -0
  290. package/drawer/handle.d.ts +16 -0
  291. package/drawer/handle.js +25 -0
  292. package/drawer/handle.mjs +18 -0
  293. package/drawer/indent/DrawerIndent.js +1 -1
  294. package/drawer/indent/DrawerIndent.mjs +1 -1
  295. package/drawer/indent-background/DrawerIndentBackground.js +1 -1
  296. package/drawer/indent-background/DrawerIndentBackground.mjs +1 -1
  297. package/drawer/index.parts.d.mts +1 -1
  298. package/drawer/index.parts.d.ts +1 -1
  299. package/drawer/index.parts.js +3 -3
  300. package/drawer/index.parts.mjs +1 -1
  301. package/drawer/popup/DrawerPopup.js +10 -12
  302. package/drawer/popup/DrawerPopup.mjs +11 -13
  303. package/drawer/popup/DrawerPopupDataAttributes.d.mts +1 -1
  304. package/drawer/popup/DrawerPopupDataAttributes.d.ts +1 -1
  305. package/drawer/popup/DrawerPopupDataAttributes.js +1 -1
  306. package/drawer/popup/DrawerPopupDataAttributes.mjs +1 -1
  307. package/drawer/portal/DrawerPortal.d.mts +3 -3
  308. package/drawer/portal/DrawerPortal.d.ts +3 -3
  309. package/drawer/provider/DrawerProvider.js +13 -24
  310. package/drawer/provider/DrawerProvider.mjs +13 -24
  311. package/drawer/provider/DrawerProviderContext.d.mts +3 -4
  312. package/drawer/provider/DrawerProviderContext.d.ts +3 -4
  313. package/drawer/provider/DrawerProviderContext.js +2 -8
  314. package/drawer/provider/DrawerProviderContext.mjs +2 -7
  315. package/drawer/root/DrawerRoot.d.mts +2 -2
  316. package/drawer/root/DrawerRoot.d.ts +2 -2
  317. package/drawer/root/DrawerRoot.js +30 -34
  318. package/drawer/root/DrawerRoot.mjs +31 -35
  319. package/drawer/root/DrawerRootContext.d.mts +7 -2
  320. package/drawer/root/DrawerRootContext.d.ts +7 -2
  321. package/drawer/root/DrawerRootContext.js +1 -1
  322. package/drawer/root/DrawerRootContext.mjs +1 -1
  323. package/drawer/root/useDrawerSnapPoints.d.mts +6 -2
  324. package/drawer/root/useDrawerSnapPoints.d.ts +6 -2
  325. package/drawer/root/useDrawerSnapPoints.js +16 -24
  326. package/drawer/root/useDrawerSnapPoints.mjs +15 -24
  327. package/drawer/swipe-area/DrawerSwipeArea.js +82 -49
  328. package/drawer/swipe-area/DrawerSwipeArea.mjs +82 -49
  329. package/drawer/trigger/DrawerTrigger.d.mts +1 -1
  330. package/drawer/trigger/DrawerTrigger.d.ts +1 -1
  331. package/drawer/viewport/DrawerViewport.js +178 -340
  332. package/drawer/viewport/DrawerViewport.mjs +180 -342
  333. package/drawer/viewport/DrawerViewportContext.d.mts +1 -2
  334. package/drawer/viewport/DrawerViewportContext.d.ts +1 -2
  335. package/drawer/viewport/DrawerViewportContext.js +2 -8
  336. package/drawer/viewport/DrawerViewportContext.mjs +2 -7
  337. package/drawer/viewport/DrawerViewportDataAttributes.d.mts +1 -1
  338. package/drawer/viewport/DrawerViewportDataAttributes.d.ts +1 -1
  339. package/drawer/viewport/DrawerViewportDataAttributes.js +1 -1
  340. package/drawer/viewport/DrawerViewportDataAttributes.mjs +1 -1
  341. package/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardProvider.js +250 -60
  342. package/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardProvider.mjs +250 -60
  343. package/field/control/FieldControl.js +2 -2
  344. package/field/control/FieldControl.mjs +2 -2
  345. package/field/error/FieldError.js +2 -2
  346. package/field/error/FieldError.mjs +2 -2
  347. package/field/error/FieldErrorDataAttributes.d.mts +1 -1
  348. package/field/error/FieldErrorDataAttributes.d.ts +1 -1
  349. package/field/error/FieldErrorDataAttributes.js +1 -1
  350. package/field/error/FieldErrorDataAttributes.mjs +1 -1
  351. package/field/item/FieldItem.js +0 -5
  352. package/field/item/FieldItem.mjs +0 -5
  353. package/field/root/FieldRoot.js +8 -15
  354. package/field/root/FieldRoot.mjs +8 -15
  355. package/field/root/useFieldValidation.d.mts +17 -2
  356. package/field/root/useFieldValidation.d.ts +17 -2
  357. package/field/root/useFieldValidation.js +83 -77
  358. package/field/root/useFieldValidation.mjs +82 -77
  359. package/field/validity/FieldValidity.js +4 -0
  360. package/field/validity/FieldValidity.mjs +4 -0
  361. package/fieldset/legend/FieldsetLegend.js +3 -10
  362. package/fieldset/legend/FieldsetLegend.mjs +4 -10
  363. package/fieldset/root/FieldsetRootContext.d.mts +1 -1
  364. package/fieldset/root/FieldsetRootContext.d.ts +1 -1
  365. package/floating-ui-react/components/FloatingDelayGroup.d.mts +2 -41
  366. package/floating-ui-react/components/FloatingDelayGroup.d.ts +2 -41
  367. package/floating-ui-react/components/FloatingDelayGroup.js +0 -9
  368. package/floating-ui-react/components/FloatingDelayGroup.mjs +0 -9
  369. package/floating-ui-react/components/FloatingFocusManager.d.mts +1 -7
  370. package/floating-ui-react/components/FloatingFocusManager.d.ts +1 -7
  371. package/floating-ui-react/components/FloatingFocusManager.js +41 -27
  372. package/floating-ui-react/components/FloatingFocusManager.mjs +41 -27
  373. package/floating-ui-react/components/FloatingPortal.d.mts +7 -14
  374. package/floating-ui-react/components/FloatingPortal.d.ts +7 -14
  375. package/floating-ui-react/components/FloatingPortal.js +11 -13
  376. package/floating-ui-react/components/FloatingPortal.mjs +11 -13
  377. package/floating-ui-react/components/FloatingRootStore.js +6 -6
  378. package/floating-ui-react/components/FloatingRootStore.mjs +7 -7
  379. package/floating-ui-react/components/FloatingTree.d.mts +1 -19
  380. package/floating-ui-react/components/FloatingTree.d.ts +1 -19
  381. package/floating-ui-react/hooks/useClick.js +5 -1
  382. package/floating-ui-react/hooks/useClick.mjs +6 -2
  383. package/floating-ui-react/hooks/useDismiss.js +2 -2
  384. package/floating-ui-react/hooks/useDismiss.mjs +2 -2
  385. package/floating-ui-react/hooks/useFloating.d.mts +9 -1
  386. package/floating-ui-react/hooks/useFloating.d.ts +9 -1
  387. package/floating-ui-react/hooks/useFloating.js +14 -2
  388. package/floating-ui-react/hooks/useFloating.mjs +13 -2
  389. package/floating-ui-react/hooks/useHoverReferenceInteraction.d.mts +12 -0
  390. package/floating-ui-react/hooks/useHoverReferenceInteraction.d.ts +12 -0
  391. package/floating-ui-react/hooks/useHoverReferenceInteraction.js +16 -4
  392. package/floating-ui-react/hooks/useHoverReferenceInteraction.mjs +16 -4
  393. package/floating-ui-react/hooks/useListNavigation.js +15 -1
  394. package/floating-ui-react/hooks/useListNavigation.mjs +15 -1
  395. package/floating-ui-react/hooks/useTypeahead.d.mts +5 -5
  396. package/floating-ui-react/hooks/useTypeahead.d.ts +5 -5
  397. package/floating-ui-react/hooks/useTypeahead.js +9 -14
  398. package/floating-ui-react/hooks/useTypeahead.mjs +9 -14
  399. package/floating-ui-react/index.d.mts +0 -4
  400. package/floating-ui-react/index.d.ts +0 -4
  401. package/floating-ui-react/index.mjs +12 -0
  402. package/floating-ui-react/utils/composite.js +7 -0
  403. package/floating-ui-react/utils/composite.mjs +7 -0
  404. package/form/Form.d.mts +1 -1
  405. package/form/Form.d.ts +1 -1
  406. package/form/Form.js +62 -47
  407. package/form/Form.mjs +62 -47
  408. package/index.js +1 -1
  409. package/index.mjs +1 -1
  410. package/internals/PrehydrationScript.d.mts +36 -0
  411. package/internals/PrehydrationScript.d.ts +36 -0
  412. package/internals/PrehydrationScript.js +59 -0
  413. package/internals/PrehydrationScript.mjs +54 -0
  414. package/internals/composite/composite.d.mts +2 -10
  415. package/internals/composite/composite.d.ts +2 -10
  416. package/internals/composite/composite.js +4 -12
  417. package/internals/composite/composite.mjs +3 -11
  418. package/internals/composite/index.d.mts +2 -1
  419. package/internals/composite/index.d.ts +2 -1
  420. package/internals/composite/index.js +11 -4
  421. package/internals/composite/index.mjs +1 -1
  422. package/internals/composite/item/CompositeItem.d.mts +0 -3
  423. package/internals/composite/item/CompositeItem.d.ts +0 -3
  424. package/internals/composite/item/CompositeItem.js +2 -4
  425. package/internals/composite/item/CompositeItem.mjs +2 -4
  426. package/internals/composite/item/useCompositeItem.d.mts +1 -1
  427. package/internals/composite/item/useCompositeItem.d.ts +1 -1
  428. package/internals/composite/list/CompositeList.d.mts +3 -3
  429. package/internals/composite/list/CompositeList.d.ts +3 -3
  430. package/internals/composite/list/CompositeList.js +165 -86
  431. package/internals/composite/list/CompositeList.mjs +165 -86
  432. package/internals/composite/list/CompositeListContext.d.mts +8 -4
  433. package/internals/composite/list/CompositeListContext.d.ts +8 -4
  434. package/internals/composite/list/CompositeListContext.js +1 -6
  435. package/internals/composite/list/CompositeListContext.mjs +1 -6
  436. package/internals/composite/list/useCompositeListItem.d.mts +11 -8
  437. package/internals/composite/list/useCompositeListItem.d.ts +11 -8
  438. package/internals/composite/list/useCompositeListItem.js +25 -32
  439. package/internals/composite/list/useCompositeListItem.mjs +25 -32
  440. package/internals/composite/root/CompositeRoot.d.mts +1 -4
  441. package/internals/composite/root/CompositeRoot.d.ts +1 -4
  442. package/internals/composite/root/CompositeRoot.js +0 -3
  443. package/internals/composite/root/CompositeRoot.mjs +0 -3
  444. package/internals/composite/root/useCompositeRoot.d.mts +0 -1
  445. package/internals/composite/root/useCompositeRoot.d.ts +0 -1
  446. package/internals/composite/root/useCompositeRoot.js +19 -39
  447. package/internals/composite/root/useCompositeRoot.mjs +20 -40
  448. package/internals/createBaseUIEventDetails.d.mts +1 -1
  449. package/internals/createBaseUIEventDetails.d.ts +1 -1
  450. package/internals/csp-context/CSPContext.d.mts +0 -6
  451. package/internals/csp-context/CSPContext.d.ts +0 -6
  452. package/internals/csp-context/CSPContext.js +0 -7
  453. package/internals/csp-context/CSPContext.mjs +0 -7
  454. package/internals/direction-context/DirectionContext.d.mts +0 -3
  455. package/internals/direction-context/DirectionContext.d.ts +0 -3
  456. package/internals/direction-context/DirectionContext.js +0 -3
  457. package/internals/direction-context/DirectionContext.mjs +0 -3
  458. package/internals/field-constants/constants.js +2 -3
  459. package/internals/field-constants/constants.mjs +2 -3
  460. package/internals/field-register-control/useFieldControlRegistration.d.mts +1 -1
  461. package/internals/field-register-control/useFieldControlRegistration.d.ts +1 -1
  462. package/internals/field-register-control/useFieldControlRegistration.js +21 -16
  463. package/internals/field-register-control/useFieldControlRegistration.mjs +21 -16
  464. package/internals/field-register-control/useRegisterFieldControl.js +13 -9
  465. package/internals/field-register-control/useRegisterFieldControl.mjs +13 -8
  466. package/internals/field-root-context/FieldRootContext.d.mts +0 -7
  467. package/internals/field-root-context/FieldRootContext.d.ts +0 -7
  468. package/internals/field-root-context/FieldRootContext.js +2 -9
  469. package/internals/field-root-context/FieldRootContext.mjs +3 -10
  470. package/internals/form-context/FormContext.d.mts +1 -0
  471. package/internals/form-context/FormContext.d.ts +1 -0
  472. package/internals/form-context/FormContext.js +3 -0
  473. package/internals/form-context/FormContext.mjs +3 -0
  474. package/{utils → internals}/getDisabledMountTransitionStyles.d.mts +1 -1
  475. package/{utils → internals}/getDisabledMountTransitionStyles.d.ts +1 -1
  476. package/{utils → internals}/getDisabledMountTransitionStyles.js +1 -1
  477. package/{utils → internals}/getDisabledMountTransitionStyles.mjs +1 -1
  478. package/internals/itemEquality.d.mts +1 -0
  479. package/internals/itemEquality.d.ts +1 -0
  480. package/internals/itemEquality.js +7 -0
  481. package/internals/itemEquality.mjs +6 -0
  482. package/internals/labelable-provider/LabelableProvider.d.mts +0 -3
  483. package/internals/labelable-provider/LabelableProvider.d.ts +0 -3
  484. package/internals/labelable-provider/LabelableProvider.js +0 -3
  485. package/internals/labelable-provider/LabelableProvider.mjs +0 -4
  486. package/internals/labelable-provider/useAriaLabelledBy.d.mts +0 -3
  487. package/internals/labelable-provider/useAriaLabelledBy.d.ts +0 -3
  488. package/internals/labelable-provider/useAriaLabelledBy.js +0 -3
  489. package/internals/labelable-provider/useAriaLabelledBy.mjs +0 -4
  490. package/internals/labelable-provider/useLabel.d.mts +1 -1
  491. package/internals/labelable-provider/useLabel.d.ts +1 -1
  492. package/internals/labelable-provider/useLabelableId.js +1 -1
  493. package/internals/labelable-provider/useLabelableId.mjs +1 -1
  494. package/internals/prehydrationScript.stub.d.mts +1 -0
  495. package/internals/prehydrationScript.stub.d.ts +1 -0
  496. package/internals/prehydrationScript.stub.js +12 -0
  497. package/internals/prehydrationScript.stub.mjs +6 -0
  498. package/internals/stateAttributesMapping.d.mts +1 -1
  499. package/internals/stateAttributesMapping.d.ts +1 -1
  500. package/internals/stateAttributesMapping.js +3 -3
  501. package/internals/stateAttributesMapping.mjs +3 -3
  502. package/internals/use-button/useButton.js +30 -14
  503. package/internals/use-button/useButton.mjs +30 -14
  504. package/{utils → internals}/useAnchorPositioning.d.mts +11 -4
  505. package/{utils → internals}/useAnchorPositioning.d.ts +11 -4
  506. package/{utils → internals}/useAnchorPositioning.js +97 -68
  507. package/{utils → internals}/useAnchorPositioning.mjs +96 -68
  508. package/internals/useAnimationsFinished.d.mts +2 -3
  509. package/internals/useAnimationsFinished.d.ts +2 -3
  510. package/internals/useAnimationsFinished.js +8 -11
  511. package/internals/useAnimationsFinished.mjs +8 -11
  512. package/internals/useOpenChangeComplete.js +1 -1
  513. package/internals/useOpenChangeComplete.mjs +1 -1
  514. package/internals/usePressAndHold.d.mts +0 -1
  515. package/internals/usePressAndHold.d.ts +0 -1
  516. package/internals/usePressAndHold.js +4 -8
  517. package/internals/usePressAndHold.mjs +4 -8
  518. package/internals/useRenderElement.js +6 -6
  519. package/internals/useRenderElement.mjs +6 -6
  520. package/internals/useValueChanged.js +3 -6
  521. package/internals/useValueChanged.mjs +3 -6
  522. package/menu/arrow/MenuArrow.d.mts +1 -1
  523. package/menu/arrow/MenuArrow.d.ts +1 -1
  524. package/menu/backdrop/MenuBackdrop.js +1 -7
  525. package/menu/backdrop/MenuBackdrop.mjs +2 -7
  526. package/menu/backdrop/MenuBackdropDataAttributes.d.mts +1 -1
  527. package/menu/backdrop/MenuBackdropDataAttributes.d.ts +1 -1
  528. package/menu/backdrop/MenuBackdropDataAttributes.js +1 -1
  529. package/menu/backdrop/MenuBackdropDataAttributes.mjs +1 -1
  530. package/menu/checkbox-item/MenuCheckboxItem.js +6 -2
  531. package/menu/checkbox-item/MenuCheckboxItem.mjs +6 -2
  532. package/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.js +2 -1
  533. package/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.mjs +2 -1
  534. package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.d.mts +1 -1
  535. package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.d.ts +1 -1
  536. package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.js +1 -1
  537. package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.mjs +1 -1
  538. package/menu/group/MenuGroupContext.d.mts +1 -1
  539. package/menu/group/MenuGroupContext.d.ts +1 -1
  540. package/menu/group-label/MenuGroupLabel.js +1 -1
  541. package/menu/group-label/MenuGroupLabel.mjs +1 -1
  542. package/menu/item/MenuItem.js +4 -1
  543. package/menu/item/MenuItem.mjs +4 -1
  544. package/menu/item/useMenuItem.js +1 -3
  545. package/menu/item/useMenuItem.mjs +1 -3
  546. package/menu/item/useMenuItemCommonProps.d.mts +2 -3
  547. package/menu/item/useMenuItemCommonProps.d.ts +2 -3
  548. package/menu/item/useMenuItemCommonProps.js +7 -2
  549. package/menu/item/useMenuItemCommonProps.mjs +7 -2
  550. package/menu/link-item/MenuLinkItem.d.mts +1 -1
  551. package/menu/link-item/MenuLinkItem.d.ts +1 -1
  552. package/menu/link-item/MenuLinkItem.js +4 -1
  553. package/menu/link-item/MenuLinkItem.mjs +4 -1
  554. package/menu/popup/MenuPopup.d.mts +1 -1
  555. package/menu/popup/MenuPopup.d.ts +1 -1
  556. package/menu/popup/MenuPopup.js +5 -14
  557. package/menu/popup/MenuPopup.mjs +7 -15
  558. package/menu/popup/MenuPopupDataAttributes.d.mts +1 -1
  559. package/menu/popup/MenuPopupDataAttributes.d.ts +1 -1
  560. package/menu/popup/MenuPopupDataAttributes.js +1 -1
  561. package/menu/popup/MenuPopupDataAttributes.mjs +1 -1
  562. package/menu/portal/MenuPortal.d.mts +6 -2
  563. package/menu/portal/MenuPortal.d.ts +6 -2
  564. package/menu/positioner/MenuPositioner.d.mts +1 -1
  565. package/menu/positioner/MenuPositioner.d.ts +1 -1
  566. package/menu/positioner/MenuPositioner.js +8 -6
  567. package/menu/positioner/MenuPositioner.mjs +8 -6
  568. package/menu/positioner/MenuPositionerContext.d.mts +1 -1
  569. package/menu/positioner/MenuPositionerContext.d.ts +1 -1
  570. package/menu/positioner/MenuPositionerCssVars.d.mts +12 -0
  571. package/menu/positioner/MenuPositionerCssVars.d.ts +12 -0
  572. package/menu/positioner/MenuPositionerCssVars.js +12 -0
  573. package/menu/positioner/MenuPositionerCssVars.mjs +12 -0
  574. package/menu/radio-item/MenuRadioItem.js +5 -2
  575. package/menu/radio-item/MenuRadioItem.mjs +5 -2
  576. package/menu/radio-item-indicator/MenuRadioItemIndicator.js +2 -1
  577. package/menu/radio-item-indicator/MenuRadioItemIndicator.mjs +2 -1
  578. package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.d.mts +1 -1
  579. package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.d.ts +1 -1
  580. package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.js +1 -1
  581. package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.mjs +1 -1
  582. package/menu/root/MenuRoot.d.mts +11 -7
  583. package/menu/root/MenuRoot.d.ts +11 -7
  584. package/menu/root/MenuRoot.js +36 -13
  585. package/menu/root/MenuRoot.mjs +38 -15
  586. package/menu/store/MenuHandle.d.mts +18 -10
  587. package/menu/store/MenuHandle.d.ts +18 -10
  588. package/menu/store/MenuHandle.js +21 -20
  589. package/menu/store/MenuHandle.mjs +22 -19
  590. package/menu/store/MenuStore.d.mts +22 -7
  591. package/menu/store/MenuStore.d.ts +22 -7
  592. package/menu/store/MenuStore.js +71 -53
  593. package/menu/store/MenuStore.mjs +72 -55
  594. package/menu/submenu-trigger/MenuSubmenuTrigger.js +29 -8
  595. package/menu/submenu-trigger/MenuSubmenuTrigger.mjs +28 -8
  596. package/menu/trigger/MenuTrigger.js +7 -22
  597. package/menu/trigger/MenuTrigger.mjs +10 -24
  598. package/menu/utils/findRootOwnerId.js +1 -1
  599. package/menu/utils/findRootOwnerId.mjs +1 -1
  600. package/menu/viewport/MenuViewport.js +1 -9
  601. package/menu/viewport/MenuViewport.mjs +2 -9
  602. package/menubar/Menubar.js +2 -1
  603. package/menubar/Menubar.mjs +2 -1
  604. package/meter/root/MeterRoot.js +4 -6
  605. package/meter/root/MeterRoot.mjs +4 -6
  606. package/meter/root/MeterRootContext.d.mts +0 -2
  607. package/meter/root/MeterRootContext.d.ts +0 -2
  608. package/navigation-menu/arrow/NavigationMenuArrow.d.mts +1 -1
  609. package/navigation-menu/arrow/NavigationMenuArrow.d.ts +1 -1
  610. package/navigation-menu/arrow/NavigationMenuArrow.js +1 -1
  611. package/navigation-menu/arrow/NavigationMenuArrow.mjs +1 -1
  612. package/navigation-menu/backdrop/NavigationMenuBackdrop.js +1 -7
  613. package/navigation-menu/backdrop/NavigationMenuBackdrop.mjs +2 -7
  614. package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.d.mts +1 -1
  615. package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.d.ts +1 -1
  616. package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.js +1 -1
  617. package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.mjs +1 -1
  618. package/navigation-menu/content/NavigationMenuContentDataAttributes.d.mts +1 -1
  619. package/navigation-menu/content/NavigationMenuContentDataAttributes.d.ts +1 -1
  620. package/navigation-menu/content/NavigationMenuContentDataAttributes.js +1 -1
  621. package/navigation-menu/content/NavigationMenuContentDataAttributes.mjs +1 -1
  622. package/navigation-menu/link/NavigationMenuLink.d.mts +1 -1
  623. package/navigation-menu/link/NavigationMenuLink.d.ts +1 -1
  624. package/navigation-menu/popup/NavigationMenuPopup.d.mts +1 -1
  625. package/navigation-menu/popup/NavigationMenuPopup.d.ts +1 -1
  626. package/navigation-menu/popup/NavigationMenuPopup.js +2 -8
  627. package/navigation-menu/popup/NavigationMenuPopup.mjs +3 -8
  628. package/navigation-menu/popup/NavigationMenuPopupDataAttributes.d.mts +1 -1
  629. package/navigation-menu/popup/NavigationMenuPopupDataAttributes.d.ts +1 -1
  630. package/navigation-menu/popup/NavigationMenuPopupDataAttributes.js +1 -1
  631. package/navigation-menu/popup/NavigationMenuPopupDataAttributes.mjs +1 -1
  632. package/navigation-menu/portal/NavigationMenuPortal.d.mts +3 -3
  633. package/navigation-menu/portal/NavigationMenuPortal.d.ts +3 -3
  634. package/navigation-menu/positioner/NavigationMenuPositioner.d.mts +1 -1
  635. package/navigation-menu/positioner/NavigationMenuPositioner.d.ts +1 -1
  636. package/navigation-menu/positioner/NavigationMenuPositioner.js +7 -6
  637. package/navigation-menu/positioner/NavigationMenuPositioner.mjs +7 -6
  638. package/navigation-menu/positioner/NavigationMenuPositionerContext.d.mts +2 -2
  639. package/navigation-menu/positioner/NavigationMenuPositionerContext.d.ts +2 -2
  640. package/navigation-menu/trigger/NavigationMenuTrigger.js +63 -101
  641. package/navigation-menu/trigger/NavigationMenuTrigger.mjs +63 -101
  642. package/navigation-menu/utils/isOutsideMenuEvent.js +2 -5
  643. package/navigation-menu/utils/isOutsideMenuEvent.mjs +2 -5
  644. package/navigation-menu/utils/useNavigationMenuAnchorPositioning.d.mts +6 -0
  645. package/navigation-menu/utils/useNavigationMenuAnchorPositioning.d.ts +6 -0
  646. package/navigation-menu/utils/useNavigationMenuAnchorPositioning.js +16 -0
  647. package/navigation-menu/utils/useNavigationMenuAnchorPositioning.mjs +12 -0
  648. package/number-field/input/NumberFieldInput.d.mts +1 -1
  649. package/number-field/input/NumberFieldInput.d.ts +1 -1
  650. package/number-field/input/NumberFieldInput.js +40 -25
  651. package/number-field/input/NumberFieldInput.mjs +41 -26
  652. package/number-field/root/NumberFieldRoot.js +37 -55
  653. package/number-field/root/NumberFieldRoot.mjs +38 -56
  654. package/number-field/root/NumberFieldRootContext.d.mts +0 -7
  655. package/number-field/root/NumberFieldRootContext.d.ts +0 -7
  656. package/number-field/root/useNumberFieldStepperButton.js +108 -21
  657. package/number-field/root/useNumberFieldStepperButton.mjs +108 -21
  658. package/number-field/scrub-area/NumberFieldScrubArea.js +28 -32
  659. package/number-field/scrub-area/NumberFieldScrubArea.mjs +28 -32
  660. package/number-field/utils/constants.d.mts +1 -2
  661. package/number-field/utils/constants.d.ts +1 -2
  662. package/number-field/utils/constants.js +2 -3
  663. package/number-field/utils/constants.mjs +1 -2
  664. package/number-field/utils/parse.d.mts +27 -15
  665. package/number-field/utils/parse.d.ts +27 -15
  666. package/number-field/utils/parse.js +74 -135
  667. package/number-field/utils/parse.mjs +73 -134
  668. package/number-field/utils/types.d.mts +2 -1
  669. package/number-field/utils/types.d.ts +2 -1
  670. package/number-field/utils/validate.d.mts +1 -19
  671. package/number-field/utils/validate.d.ts +1 -19
  672. package/number-field/utils/validate.js +6 -14
  673. package/number-field/utils/validate.mjs +6 -14
  674. package/otp-field/input/OTPFieldInput.d.mts +1 -1
  675. package/otp-field/input/OTPFieldInput.d.ts +1 -1
  676. package/otp-field/input/OTPFieldInput.js +4 -1
  677. package/otp-field/input/OTPFieldInput.mjs +5 -2
  678. package/otp-field/root/OTPFieldRoot.js +13 -14
  679. package/otp-field/root/OTPFieldRoot.mjs +13 -14
  680. package/package.json +93 -5
  681. package/popover/arrow/PopoverArrow.d.mts +1 -1
  682. package/popover/arrow/PopoverArrow.d.ts +1 -1
  683. package/popover/arrow/PopoverArrow.js +1 -3
  684. package/popover/arrow/PopoverArrow.mjs +1 -3
  685. package/popover/backdrop/PopoverBackdrop.js +3 -11
  686. package/popover/backdrop/PopoverBackdrop.mjs +4 -11
  687. package/popover/backdrop/PopoverBackdropDataAttributes.d.mts +1 -1
  688. package/popover/backdrop/PopoverBackdropDataAttributes.d.ts +1 -1
  689. package/popover/backdrop/PopoverBackdropDataAttributes.js +1 -1
  690. package/popover/backdrop/PopoverBackdropDataAttributes.mjs +1 -1
  691. package/popover/close/PopoverClose.js +1 -3
  692. package/popover/close/PopoverClose.mjs +1 -3
  693. package/popover/description/PopoverDescription.js +1 -3
  694. package/popover/description/PopoverDescription.mjs +1 -3
  695. package/popover/popup/PopoverPopup.d.mts +1 -1
  696. package/popover/popup/PopoverPopup.d.ts +1 -1
  697. package/popover/popup/PopoverPopup.js +6 -17
  698. package/popover/popup/PopoverPopup.mjs +9 -19
  699. package/popover/popup/PopoverPopupDataAttributes.d.mts +1 -1
  700. package/popover/popup/PopoverPopupDataAttributes.d.ts +1 -1
  701. package/popover/popup/PopoverPopupDataAttributes.js +3 -3
  702. package/popover/popup/PopoverPopupDataAttributes.mjs +3 -3
  703. package/popover/portal/PopoverPortal.d.mts +6 -2
  704. package/popover/portal/PopoverPortal.d.ts +6 -2
  705. package/popover/portal/PopoverPortal.js +1 -3
  706. package/popover/portal/PopoverPortal.mjs +1 -3
  707. package/popover/positioner/PopoverPositioner.d.mts +1 -1
  708. package/popover/positioner/PopoverPositioner.d.ts +1 -1
  709. package/popover/positioner/PopoverPositioner.js +19 -22
  710. package/popover/positioner/PopoverPositioner.mjs +19 -22
  711. package/popover/positioner/PopoverPositionerContext.d.mts +1 -1
  712. package/popover/positioner/PopoverPositionerContext.d.ts +1 -1
  713. package/popover/positioner/PopoverPositionerCssVars.d.mts +2 -0
  714. package/popover/positioner/PopoverPositionerCssVars.d.ts +2 -0
  715. package/popover/positioner/PopoverPositionerCssVars.js +2 -0
  716. package/popover/positioner/PopoverPositionerCssVars.mjs +2 -0
  717. package/popover/root/PopoverRoot.d.mts +2 -0
  718. package/popover/root/PopoverRoot.d.ts +2 -0
  719. package/popover/root/PopoverRoot.js +29 -22
  720. package/popover/root/PopoverRoot.mjs +31 -24
  721. package/popover/root/PopoverRootContext.d.mts +1 -3
  722. package/popover/root/PopoverRootContext.d.ts +1 -3
  723. package/popover/store/PopoverHandle.d.mts +18 -10
  724. package/popover/store/PopoverHandle.d.ts +18 -10
  725. package/popover/store/PopoverHandle.js +21 -21
  726. package/popover/store/PopoverHandle.mjs +22 -20
  727. package/popover/store/PopoverStore.d.mts +22 -10
  728. package/popover/store/PopoverStore.d.ts +22 -10
  729. package/popover/store/PopoverStore.js +82 -67
  730. package/popover/store/PopoverStore.mjs +81 -67
  731. package/popover/title/PopoverTitle.js +1 -3
  732. package/popover/title/PopoverTitle.mjs +1 -3
  733. package/popover/trigger/PopoverTrigger.js +9 -11
  734. package/popover/trigger/PopoverTrigger.mjs +10 -12
  735. package/popover/viewport/PopoverViewport.js +2 -12
  736. package/popover/viewport/PopoverViewport.mjs +3 -12
  737. package/preview-card/arrow/PreviewCardArrow.d.mts +1 -1
  738. package/preview-card/arrow/PreviewCardArrow.d.ts +1 -1
  739. package/preview-card/backdrop/PreviewCardBackdrop.d.mts +1 -1
  740. package/preview-card/backdrop/PreviewCardBackdrop.d.ts +1 -1
  741. package/preview-card/backdrop/PreviewCardBackdrop.js +2 -8
  742. package/preview-card/backdrop/PreviewCardBackdrop.mjs +3 -8
  743. package/preview-card/backdrop/PreviewCardBackdropDataAttributes.d.mts +1 -1
  744. package/preview-card/backdrop/PreviewCardBackdropDataAttributes.d.ts +1 -1
  745. package/preview-card/backdrop/PreviewCardBackdropDataAttributes.js +1 -1
  746. package/preview-card/backdrop/PreviewCardBackdropDataAttributes.mjs +1 -1
  747. package/preview-card/popup/PreviewCardPopup.d.mts +1 -1
  748. package/preview-card/popup/PreviewCardPopup.d.ts +1 -1
  749. package/preview-card/popup/PreviewCardPopup.js +6 -12
  750. package/preview-card/popup/PreviewCardPopup.mjs +7 -12
  751. package/preview-card/popup/PreviewCardPopupDataAttributes.d.mts +1 -1
  752. package/preview-card/popup/PreviewCardPopupDataAttributes.d.ts +1 -1
  753. package/preview-card/popup/PreviewCardPopupDataAttributes.js +1 -1
  754. package/preview-card/popup/PreviewCardPopupDataAttributes.mjs +1 -1
  755. package/preview-card/portal/PreviewCardPortal.d.mts +6 -2
  756. package/preview-card/portal/PreviewCardPortal.d.ts +6 -2
  757. package/preview-card/portal/PreviewCardPortal.mjs +1 -2
  758. package/preview-card/positioner/PreviewCardPositioner.d.mts +1 -1
  759. package/preview-card/positioner/PreviewCardPositioner.d.ts +1 -1
  760. package/preview-card/positioner/PreviewCardPositioner.js +3 -4
  761. package/preview-card/positioner/PreviewCardPositioner.mjs +3 -4
  762. package/preview-card/positioner/PreviewCardPositionerContext.d.mts +1 -1
  763. package/preview-card/positioner/PreviewCardPositionerContext.d.ts +1 -1
  764. package/preview-card/positioner/PreviewCardPositionerContext.js +1 -1
  765. package/preview-card/positioner/PreviewCardPositionerContext.mjs +1 -1
  766. package/preview-card/positioner/PreviewCardPositionerCssVars.d.mts +12 -0
  767. package/preview-card/positioner/PreviewCardPositionerCssVars.d.ts +12 -0
  768. package/preview-card/positioner/PreviewCardPositionerCssVars.js +12 -0
  769. package/preview-card/positioner/PreviewCardPositionerCssVars.mjs +12 -0
  770. package/preview-card/root/PreviewCardRoot.js +14 -17
  771. package/preview-card/root/PreviewCardRoot.mjs +15 -18
  772. package/preview-card/store/PreviewCardHandle.d.mts +15 -12
  773. package/preview-card/store/PreviewCardHandle.d.ts +15 -12
  774. package/preview-card/store/PreviewCardHandle.js +18 -23
  775. package/preview-card/store/PreviewCardHandle.mjs +19 -23
  776. package/preview-card/store/PreviewCardStore.d.mts +22 -7
  777. package/preview-card/store/PreviewCardStore.d.ts +22 -7
  778. package/preview-card/store/PreviewCardStore.js +43 -30
  779. package/preview-card/store/PreviewCardStore.mjs +43 -31
  780. package/preview-card/trigger/PreviewCardTrigger.d.mts +1 -1
  781. package/preview-card/trigger/PreviewCardTrigger.d.ts +1 -1
  782. package/preview-card/trigger/PreviewCardTrigger.js +4 -8
  783. package/preview-card/trigger/PreviewCardTrigger.mjs +5 -9
  784. package/preview-card/viewport/PreviewCardViewport.js +1 -9
  785. package/preview-card/viewport/PreviewCardViewport.mjs +2 -9
  786. package/progress/indicator/ProgressIndicator.js +1 -5
  787. package/progress/indicator/ProgressIndicator.mjs +1 -5
  788. package/progress/root/ProgressRoot.d.mts +1 -2
  789. package/progress/root/ProgressRoot.d.ts +1 -2
  790. package/progress/root/ProgressRoot.js +28 -19
  791. package/progress/root/ProgressRoot.mjs +29 -20
  792. package/progress/root/ProgressRootContext.d.mts +4 -12
  793. package/progress/root/ProgressRootContext.d.ts +4 -12
  794. package/progress/root/stateAttributesMapping.js +3 -17
  795. package/progress/root/stateAttributesMapping.mjs +3 -17
  796. package/progress/value/ProgressValue.d.mts +1 -1
  797. package/progress/value/ProgressValue.d.ts +1 -1
  798. package/progress/value/ProgressValue.js +7 -3
  799. package/progress/value/ProgressValue.mjs +7 -3
  800. package/radio/indicator/RadioIndicatorDataAttributes.d.mts +1 -1
  801. package/radio/indicator/RadioIndicatorDataAttributes.d.ts +1 -1
  802. package/radio/indicator/RadioIndicatorDataAttributes.js +1 -1
  803. package/radio/indicator/RadioIndicatorDataAttributes.mjs +1 -1
  804. package/radio/root/RadioRoot.js +22 -29
  805. package/radio/root/RadioRoot.mjs +22 -29
  806. package/radio/utils/stateAttributesMapping.js +2 -3
  807. package/radio/utils/stateAttributesMapping.mjs +2 -3
  808. package/radio-group/RadioGroup.js +47 -32
  809. package/radio-group/RadioGroup.mjs +47 -32
  810. package/radio-group/RadioGroupContext.d.mts +0 -1
  811. package/radio-group/RadioGroupContext.d.ts +0 -1
  812. package/scroll-area/root/ScrollAreaRoot.js +122 -83
  813. package/scroll-area/root/ScrollAreaRoot.mjs +122 -83
  814. package/scroll-area/root/ScrollAreaRootContext.d.mts +1 -3
  815. package/scroll-area/root/ScrollAreaRootContext.d.ts +1 -3
  816. package/scroll-area/root/stateAttributes.js +10 -19
  817. package/scroll-area/root/stateAttributes.mjs +10 -19
  818. package/scroll-area/scrollbar/ScrollAreaScrollbar.js +58 -74
  819. package/scroll-area/scrollbar/ScrollAreaScrollbar.mjs +58 -74
  820. package/scroll-area/scrollbar/ScrollAreaScrollbarContext.d.mts +1 -3
  821. package/scroll-area/scrollbar/ScrollAreaScrollbarContext.d.ts +1 -3
  822. package/scroll-area/thumb/ScrollAreaThumb.js +10 -24
  823. package/scroll-area/thumb/ScrollAreaThumb.mjs +10 -24
  824. package/scroll-area/utils/getOffset.js +4 -3
  825. package/scroll-area/utils/getOffset.mjs +4 -3
  826. package/scroll-area/viewport/ScrollAreaViewport.js +76 -79
  827. package/scroll-area/viewport/ScrollAreaViewport.mjs +77 -80
  828. package/select/arrow/SelectArrow.d.mts +1 -1
  829. package/select/arrow/SelectArrow.d.ts +1 -1
  830. package/select/arrow/SelectArrow.js +1 -7
  831. package/select/arrow/SelectArrow.mjs +2 -7
  832. package/select/backdrop/SelectBackdropDataAttributes.d.mts +1 -1
  833. package/select/backdrop/SelectBackdropDataAttributes.d.ts +1 -1
  834. package/select/backdrop/SelectBackdropDataAttributes.js +1 -1
  835. package/select/backdrop/SelectBackdropDataAttributes.mjs +1 -1
  836. package/select/group-label/SelectGroupLabel.js +3 -0
  837. package/select/group-label/SelectGroupLabel.mjs +3 -0
  838. package/select/index.d.mts +2 -1
  839. package/select/index.d.ts +2 -1
  840. package/select/index.parts.d.mts +1 -1
  841. package/select/index.parts.d.ts +1 -1
  842. package/select/index.parts.js +2 -2
  843. package/select/index.parts.mjs +1 -1
  844. package/select/item/SelectItem.js +12 -25
  845. package/select/item/SelectItem.mjs +13 -26
  846. package/select/item/SelectItemContext.d.mts +0 -1
  847. package/select/item/SelectItemContext.d.ts +0 -1
  848. package/select/item-indicator/SelectItemIndicator.js +1 -2
  849. package/select/item-indicator/SelectItemIndicator.mjs +1 -2
  850. package/select/item-indicator/SelectItemIndicatorDataAttributes.d.mts +1 -1
  851. package/select/item-indicator/SelectItemIndicatorDataAttributes.d.ts +1 -1
  852. package/select/item-indicator/SelectItemIndicatorDataAttributes.js +1 -1
  853. package/select/item-indicator/SelectItemIndicatorDataAttributes.mjs +1 -1
  854. package/select/item-text/SelectItemText.js +4 -5
  855. package/select/item-text/SelectItemText.mjs +4 -5
  856. package/select/label/SelectLabel.js +2 -1
  857. package/select/label/SelectLabel.mjs +2 -1
  858. package/select/list/SelectList.js +3 -6
  859. package/select/list/SelectList.mjs +3 -6
  860. package/select/popup/SelectPopup.d.mts +1 -1
  861. package/select/popup/SelectPopup.d.ts +1 -1
  862. package/select/popup/SelectPopup.js +32 -52
  863. package/select/popup/SelectPopup.mjs +33 -53
  864. package/select/popup/SelectPopupDataAttributes.d.mts +1 -1
  865. package/select/popup/SelectPopupDataAttributes.d.ts +1 -1
  866. package/select/popup/SelectPopupDataAttributes.js +1 -1
  867. package/select/popup/SelectPopupDataAttributes.mjs +1 -1
  868. package/select/portal/SelectPortal.d.mts +7 -2
  869. package/select/portal/SelectPortal.d.ts +7 -2
  870. package/select/portal/SelectPortal.js +3 -7
  871. package/select/portal/SelectPortal.mjs +3 -7
  872. package/select/positioner/SelectPositioner.d.mts +1 -1
  873. package/select/positioner/SelectPositioner.d.ts +1 -1
  874. package/select/positioner/SelectPositioner.js +15 -29
  875. package/select/positioner/SelectPositioner.mjs +17 -31
  876. package/select/positioner/SelectPositionerContext.d.mts +1 -1
  877. package/select/positioner/SelectPositionerContext.d.ts +1 -1
  878. package/select/root/SelectRoot.d.mts +2 -0
  879. package/select/root/SelectRoot.d.ts +2 -0
  880. package/select/root/SelectRoot.js +93 -121
  881. package/select/root/SelectRoot.mjs +95 -123
  882. package/select/root/SelectRootContext.d.mts +4 -5
  883. package/select/root/SelectRootContext.d.ts +4 -5
  884. package/select/root/SelectRootContext.js +1 -11
  885. package/select/root/SelectRootContext.mjs +0 -9
  886. package/select/scroll-arrow/SelectScrollArrow.d.mts +1 -6
  887. package/select/scroll-arrow/SelectScrollArrow.d.ts +1 -6
  888. package/select/scroll-arrow/SelectScrollArrow.js +4 -11
  889. package/select/scroll-arrow/SelectScrollArrow.mjs +4 -11
  890. package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.d.mts +1 -1
  891. package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.d.ts +1 -1
  892. package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.js +1 -1
  893. package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.mjs +1 -1
  894. package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.d.mts +1 -1
  895. package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.d.ts +1 -1
  896. package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.js +1 -1
  897. package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.mjs +1 -1
  898. package/select/separator/SelectSeparator.d.mts +26 -0
  899. package/select/separator/SelectSeparator.d.ts +26 -0
  900. package/select/separator/SelectSeparator.js +15 -0
  901. package/select/separator/SelectSeparator.mjs +10 -0
  902. package/select/store.d.mts +3 -5
  903. package/select/store.d.ts +3 -5
  904. package/select/store.js +32 -35
  905. package/select/store.mjs +32 -35
  906. package/select/trigger/SelectTrigger.d.mts +1 -1
  907. package/select/trigger/SelectTrigger.d.ts +1 -1
  908. package/select/trigger/SelectTrigger.js +3 -8
  909. package/select/trigger/SelectTrigger.mjs +4 -9
  910. package/select/value/SelectValue.js +1 -1
  911. package/select/value/SelectValue.mjs +1 -1
  912. package/slider/control/SliderControl.js +61 -78
  913. package/slider/control/SliderControl.mjs +61 -78
  914. package/slider/indicator/SliderIndicator.js +15 -34
  915. package/slider/indicator/SliderIndicator.mjs +15 -34
  916. package/slider/root/SliderRoot.d.mts +5 -3
  917. package/slider/root/SliderRoot.d.ts +5 -3
  918. package/slider/root/SliderRoot.js +36 -47
  919. package/slider/root/SliderRoot.mjs +36 -47
  920. package/slider/root/SliderRootContext.d.mts +6 -4
  921. package/slider/root/SliderRootContext.d.ts +6 -4
  922. package/slider/root/stateAttributesMapping.js +7 -6
  923. package/slider/root/stateAttributesMapping.mjs +7 -6
  924. package/slider/thumb/SliderThumb.js +64 -69
  925. package/slider/thumb/SliderThumb.mjs +64 -69
  926. package/slider/utils/getMidpoint.d.mts +1 -2
  927. package/slider/utils/getMidpoint.d.ts +1 -2
  928. package/slider/utils/getMidpoint.js +2 -5
  929. package/slider/utils/getMidpoint.mjs +2 -5
  930. package/slider/utils/getPushedThumbValues.d.mts +4 -21
  931. package/slider/utils/getPushedThumbValues.d.ts +4 -21
  932. package/slider/utils/getPushedThumbValues.js +6 -15
  933. package/slider/utils/getPushedThumbValues.mjs +7 -15
  934. package/slider/utils/getSliderValue.js +8 -8
  935. package/slider/utils/getSliderValue.mjs +8 -8
  936. package/slider/utils/resolveThumbCollision.d.mts +5 -24
  937. package/slider/utils/resolveThumbCollision.d.ts +5 -24
  938. package/slider/utils/resolveThumbCollision.js +33 -64
  939. package/slider/utils/resolveThumbCollision.mjs +33 -64
  940. package/slider/utils/test-utils.d.mts +1 -11
  941. package/slider/utils/test-utils.d.ts +1 -11
  942. package/slider/utils/test-utils.js +1 -11
  943. package/slider/utils/test-utils.mjs +1 -11
  944. package/slider/utils/validateMinimumDistance.js +6 -7
  945. package/slider/utils/validateMinimumDistance.mjs +6 -7
  946. package/slider/value/SliderValue.js +6 -16
  947. package/slider/value/SliderValue.mjs +6 -16
  948. package/switch/root/SwitchRoot.js +18 -19
  949. package/switch/root/SwitchRoot.mjs +18 -19
  950. package/switch/stateAttributesMapping.js +2 -3
  951. package/switch/stateAttributesMapping.mjs +2 -3
  952. package/tabs/indicator/TabsIndicator.js +13 -24
  953. package/tabs/indicator/TabsIndicator.mjs +13 -24
  954. package/tabs/indicator/prehydrationScript.min.d.mts +1 -1
  955. package/tabs/indicator/prehydrationScript.min.d.ts +1 -1
  956. package/tabs/indicator/prehydrationScript.min.js +1 -1
  957. package/tabs/indicator/prehydrationScript.min.mjs +1 -1
  958. package/tabs/list/TabsList.js +1 -11
  959. package/tabs/list/TabsList.mjs +1 -11
  960. package/tabs/list/TabsListContext.d.mts +0 -5
  961. package/tabs/list/TabsListContext.d.ts +0 -5
  962. package/tabs/panel/TabsPanel.js +10 -20
  963. package/tabs/panel/TabsPanel.mjs +10 -20
  964. package/tabs/panel/TabsPanelDataAttributes.d.mts +1 -1
  965. package/tabs/panel/TabsPanelDataAttributes.d.ts +1 -1
  966. package/tabs/panel/TabsPanelDataAttributes.js +1 -1
  967. package/tabs/panel/TabsPanelDataAttributes.mjs +1 -1
  968. package/tabs/root/TabsRoot.js +40 -75
  969. package/tabs/root/TabsRoot.mjs +40 -75
  970. package/tabs/root/TabsRootContext.d.mts +4 -11
  971. package/tabs/root/TabsRootContext.d.ts +4 -11
  972. package/tabs/root/stateAttributesMapping.js +1 -2
  973. package/tabs/root/stateAttributesMapping.mjs +1 -2
  974. package/tabs/tab/TabsTab.js +42 -39
  975. package/tabs/tab/TabsTab.mjs +42 -39
  976. package/toast/action/ToastAction.js +2 -5
  977. package/toast/action/ToastAction.mjs +2 -5
  978. package/toast/arrow/ToastArrow.d.mts +1 -1
  979. package/toast/arrow/ToastArrow.d.ts +1 -1
  980. package/toast/arrow/ToastArrow.js +1 -2
  981. package/toast/arrow/ToastArrow.mjs +1 -2
  982. package/toast/close/ToastClose.js +3 -4
  983. package/toast/close/ToastClose.mjs +3 -4
  984. package/toast/content/ToastContent.js +3 -7
  985. package/toast/content/ToastContent.mjs +3 -7
  986. package/toast/description/ToastDescription.js +8 -23
  987. package/toast/description/ToastDescription.mjs +8 -23
  988. package/toast/portal/ToastPortal.d.mts +9 -3
  989. package/toast/portal/ToastPortal.d.ts +9 -3
  990. package/toast/portal/ToastPortal.js +10 -1
  991. package/toast/portal/ToastPortal.mjs +9 -2
  992. package/toast/positioner/ToastPositioner.d.mts +1 -1
  993. package/toast/positioner/ToastPositioner.d.ts +1 -1
  994. package/toast/positioner/ToastPositioner.js +4 -5
  995. package/toast/positioner/ToastPositioner.mjs +4 -5
  996. package/toast/positioner/ToastPositionerContext.d.mts +1 -1
  997. package/toast/positioner/ToastPositionerContext.d.ts +1 -1
  998. package/toast/provider/ToastProvider.js +19 -10
  999. package/toast/provider/ToastProvider.mjs +20 -11
  1000. package/toast/root/ToastRoot.d.mts +2 -0
  1001. package/toast/root/ToastRoot.d.ts +2 -0
  1002. package/toast/root/ToastRoot.js +93 -140
  1003. package/toast/root/ToastRoot.mjs +92 -139
  1004. package/toast/root/ToastRootContext.d.mts +0 -6
  1005. package/toast/root/ToastRootContext.d.ts +0 -6
  1006. package/toast/root/ToastRootDataAttributes.d.mts +1 -1
  1007. package/toast/root/ToastRootDataAttributes.d.ts +1 -1
  1008. package/toast/root/ToastRootDataAttributes.js +1 -1
  1009. package/toast/root/ToastRootDataAttributes.mjs +1 -1
  1010. package/toast/store.d.mts +17 -22
  1011. package/toast/store.d.ts +17 -22
  1012. package/toast/store.js +51 -85
  1013. package/toast/store.mjs +53 -86
  1014. package/toast/title/ToastTitle.js +8 -23
  1015. package/toast/title/ToastTitle.mjs +8 -23
  1016. package/toast/useToastManager.js +1 -6
  1017. package/toast/useToastManager.mjs +2 -6
  1018. package/toast/utils/isRenderableNode.d.mts +3 -0
  1019. package/toast/utils/isRenderableNode.d.ts +3 -0
  1020. package/toast/utils/isRenderableNode.js +21 -0
  1021. package/toast/utils/isRenderableNode.mjs +13 -0
  1022. package/toast/utils/test-utils.d.mts +1 -8
  1023. package/toast/utils/test-utils.d.ts +1 -8
  1024. package/toast/utils/useToastLabelPart.d.mts +18 -0
  1025. package/toast/utils/useToastLabelPart.d.ts +18 -0
  1026. package/toast/utils/useToastLabelPart.js +52 -0
  1027. package/toast/utils/useToastLabelPart.mjs +47 -0
  1028. package/toast/viewport/ToastViewport.js +42 -78
  1029. package/toast/viewport/ToastViewport.mjs +42 -78
  1030. package/toggle/Toggle.js +1 -2
  1031. package/toggle/Toggle.mjs +1 -2
  1032. package/toggle-group/ToggleGroup.js +4 -19
  1033. package/toggle-group/ToggleGroup.mjs +4 -19
  1034. package/toggle-group/ToggleGroupContext.d.mts +1 -3
  1035. package/toggle-group/ToggleGroupContext.d.ts +1 -3
  1036. package/toggle-group/ToggleGroupContext.js +2 -8
  1037. package/toggle-group/ToggleGroupContext.mjs +2 -7
  1038. package/toolbar/button/ToolbarButton.js +2 -2
  1039. package/toolbar/button/ToolbarButton.mjs +2 -2
  1040. package/toolbar/group/ToolbarGroupContext.d.mts +1 -2
  1041. package/toolbar/group/ToolbarGroupContext.d.ts +1 -2
  1042. package/toolbar/group/ToolbarGroupContext.js +2 -8
  1043. package/toolbar/group/ToolbarGroupContext.mjs +2 -7
  1044. package/toolbar/input/ToolbarInput.js +8 -11
  1045. package/toolbar/input/ToolbarInput.mjs +8 -11
  1046. package/toolbar/link/ToolbarLink.d.mts +1 -1
  1047. package/toolbar/link/ToolbarLink.d.ts +1 -1
  1048. package/toolbar/root/ToolbarRoot.js +4 -5
  1049. package/toolbar/root/ToolbarRoot.mjs +4 -5
  1050. package/toolbar/root/ToolbarRootContext.d.mts +0 -3
  1051. package/toolbar/root/ToolbarRootContext.d.ts +0 -3
  1052. package/toolbar/separator/ToolbarSeparator.d.mts +2 -2
  1053. package/toolbar/separator/ToolbarSeparator.d.ts +2 -2
  1054. package/toolbar/separator/ToolbarSeparator.js +1 -4
  1055. package/toolbar/separator/ToolbarSeparator.mjs +3 -5
  1056. package/tooltip/arrow/TooltipArrow.d.mts +1 -1
  1057. package/tooltip/arrow/TooltipArrow.d.ts +1 -1
  1058. package/tooltip/popup/TooltipPopup.d.mts +1 -1
  1059. package/tooltip/popup/TooltipPopup.d.ts +1 -1
  1060. package/tooltip/popup/TooltipPopup.js +4 -9
  1061. package/tooltip/popup/TooltipPopup.mjs +5 -9
  1062. package/tooltip/popup/TooltipPopupDataAttributes.d.mts +1 -1
  1063. package/tooltip/popup/TooltipPopupDataAttributes.d.ts +1 -1
  1064. package/tooltip/popup/TooltipPopupDataAttributes.js +1 -1
  1065. package/tooltip/popup/TooltipPopupDataAttributes.mjs +1 -1
  1066. package/tooltip/portal/TooltipPortal.d.mts +6 -2
  1067. package/tooltip/portal/TooltipPortal.d.ts +6 -2
  1068. package/tooltip/portal/TooltipPortal.mjs +1 -2
  1069. package/tooltip/positioner/TooltipPositioner.d.mts +1 -1
  1070. package/tooltip/positioner/TooltipPositioner.d.ts +1 -1
  1071. package/tooltip/positioner/TooltipPositioner.js +3 -4
  1072. package/tooltip/positioner/TooltipPositioner.mjs +3 -4
  1073. package/tooltip/positioner/TooltipPositionerContext.d.mts +1 -1
  1074. package/tooltip/positioner/TooltipPositionerContext.d.ts +1 -1
  1075. package/tooltip/positioner/TooltipPositionerCssVars.d.mts +12 -0
  1076. package/tooltip/positioner/TooltipPositionerCssVars.d.ts +12 -0
  1077. package/tooltip/positioner/TooltipPositionerCssVars.js +12 -0
  1078. package/tooltip/positioner/TooltipPositionerCssVars.mjs +12 -0
  1079. package/tooltip/provider/TooltipProvider.d.mts +1 -1
  1080. package/tooltip/provider/TooltipProvider.d.ts +1 -1
  1081. package/tooltip/provider/TooltipProvider.js +1 -5
  1082. package/tooltip/provider/TooltipProvider.mjs +1 -5
  1083. package/tooltip/provider/TooltipProviderContext.d.mts +5 -6
  1084. package/tooltip/provider/TooltipProviderContext.d.ts +5 -6
  1085. package/tooltip/provider/TooltipProviderContext.js +3 -0
  1086. package/tooltip/provider/TooltipProviderContext.mjs +4 -0
  1087. package/tooltip/root/TooltipRoot.js +18 -17
  1088. package/tooltip/root/TooltipRoot.mjs +19 -18
  1089. package/tooltip/store/TooltipHandle.d.mts +15 -12
  1090. package/tooltip/store/TooltipHandle.d.ts +15 -12
  1091. package/tooltip/store/TooltipHandle.js +18 -23
  1092. package/tooltip/store/TooltipHandle.mjs +19 -23
  1093. package/tooltip/store/TooltipStore.d.mts +24 -6
  1094. package/tooltip/store/TooltipStore.d.ts +24 -6
  1095. package/tooltip/store/TooltipStore.js +54 -31
  1096. package/tooltip/store/TooltipStore.mjs +54 -32
  1097. package/tooltip/trigger/TooltipTrigger.d.mts +1 -1
  1098. package/tooltip/trigger/TooltipTrigger.d.ts +1 -1
  1099. package/tooltip/trigger/TooltipTrigger.js +15 -25
  1100. package/tooltip/trigger/TooltipTrigger.mjs +16 -26
  1101. package/tooltip/viewport/TooltipViewport.js +1 -9
  1102. package/tooltip/viewport/TooltipViewport.mjs +2 -9
  1103. package/utils/FloatingPortalLite.d.mts +7 -9
  1104. package/utils/FloatingPortalLite.d.ts +7 -9
  1105. package/utils/FloatingPortalLite.js +4 -4
  1106. package/utils/FloatingPortalLite.mjs +4 -5
  1107. package/utils/FocusGuard.d.mts +1 -5
  1108. package/utils/FocusGuard.d.ts +1 -5
  1109. package/utils/InternalBackdrop.d.mts +0 -4
  1110. package/utils/InternalBackdrop.d.ts +0 -4
  1111. package/utils/NullStore.d.mts +15 -0
  1112. package/utils/NullStore.d.ts +15 -0
  1113. package/utils/NullStore.js +23 -0
  1114. package/utils/NullStore.mjs +16 -0
  1115. package/utils/adaptiveOriginConstants.d.mts +8 -0
  1116. package/utils/adaptiveOriginConstants.d.ts +8 -0
  1117. package/utils/adaptiveOriginConstants.js +14 -0
  1118. package/utils/adaptiveOriginConstants.mjs +8 -0
  1119. package/utils/adaptiveOriginMiddleware.d.mts +0 -4
  1120. package/utils/adaptiveOriginMiddleware.d.ts +0 -4
  1121. package/utils/adaptiveOriginMiddleware.js +5 -8
  1122. package/utils/adaptiveOriginMiddleware.mjs +1 -4
  1123. package/utils/closePart.d.mts +1 -4
  1124. package/utils/closePart.d.ts +1 -4
  1125. package/utils/closePart.js +2 -13
  1126. package/utils/closePart.mjs +1 -12
  1127. package/utils/dispatchClickWithModifiers.d.mts +21 -0
  1128. package/utils/dispatchClickWithModifiers.d.ts +21 -0
  1129. package/utils/dispatchClickWithModifiers.js +30 -0
  1130. package/utils/dispatchClickWithModifiers.mjs +24 -0
  1131. package/utils/formatNumber.d.mts +1 -2
  1132. package/utils/formatNumber.d.ts +1 -2
  1133. package/utils/formatNumber.js +0 -12
  1134. package/utils/formatNumber.mjs +0 -11
  1135. package/utils/getElementAtPoint.d.mts +3 -1
  1136. package/utils/getElementAtPoint.d.ts +3 -1
  1137. package/utils/getElementAtPoint.js +5 -2
  1138. package/utils/getElementAtPoint.mjs +5 -2
  1139. package/utils/getPseudoElementBounds.d.mts +5 -0
  1140. package/utils/getPseudoElementBounds.d.ts +5 -0
  1141. package/utils/getPseudoElementBounds.js +14 -0
  1142. package/utils/getPseudoElementBounds.mjs +13 -0
  1143. package/utils/hideMiddleware.js +7 -4
  1144. package/utils/hideMiddleware.mjs +7 -4
  1145. package/utils/listbox-separator/ListboxSeparator.d.mts +18 -0
  1146. package/utils/listbox-separator/ListboxSeparator.d.ts +18 -0
  1147. package/utils/listbox-separator/ListboxSeparator.js +36 -0
  1148. package/utils/listbox-separator/ListboxSeparator.mjs +31 -0
  1149. package/utils/popupStateMapping.d.mts +19 -7
  1150. package/utils/popupStateMapping.d.ts +19 -7
  1151. package/utils/popupStateMapping.js +14 -9
  1152. package/utils/popupStateMapping.mjs +15 -8
  1153. package/utils/popups/index.d.mts +3 -1
  1154. package/utils/popups/index.d.ts +3 -1
  1155. package/utils/popups/index.js +22 -0
  1156. package/utils/popups/index.mjs +3 -1
  1157. package/utils/popups/popupHandle.d.mts +113 -0
  1158. package/utils/popups/popupHandle.d.ts +113 -0
  1159. package/utils/popups/popupHandle.js +229 -0
  1160. package/utils/popups/popupHandle.mjs +222 -0
  1161. package/utils/popups/popupStoreUtils.d.mts +47 -12
  1162. package/utils/popups/popupStoreUtils.d.ts +47 -12
  1163. package/utils/popups/popupStoreUtils.js +109 -44
  1164. package/utils/popups/popupStoreUtils.mjs +107 -42
  1165. package/utils/popups/popupTriggerMap.d.mts +3 -2
  1166. package/utils/popups/popupTriggerMap.d.ts +3 -2
  1167. package/utils/popups/popupTriggerMap.js +48 -21
  1168. package/utils/popups/popupTriggerMap.mjs +48 -21
  1169. package/utils/popups/store.d.mts +14 -0
  1170. package/utils/popups/store.d.ts +14 -0
  1171. package/utils/popups/store.js +33 -21
  1172. package/utils/popups/store.mjs +33 -21
  1173. package/utils/popups/usePopupHandleStore.d.mts +12 -0
  1174. package/utils/popups/usePopupHandleStore.d.ts +12 -0
  1175. package/utils/popups/usePopupHandleStore.js +33 -0
  1176. package/utils/popups/usePopupHandleStore.mjs +27 -0
  1177. package/utils/scrollable.d.mts +2 -0
  1178. package/utils/scrollable.d.ts +2 -0
  1179. package/utils/scrollable.js +20 -12
  1180. package/utils/scrollable.mjs +18 -12
  1181. package/utils/usePopupAutoResize.d.mts +1 -1
  1182. package/utils/usePopupAutoResize.d.ts +1 -1
  1183. package/utils/usePopupAutoResize.js +15 -18
  1184. package/utils/usePopupAutoResize.mjs +15 -18
  1185. package/utils/usePopupViewport.d.mts +5 -15
  1186. package/utils/usePopupViewport.d.ts +5 -15
  1187. package/utils/usePopupViewport.js +48 -17
  1188. package/utils/usePopupViewport.mjs +47 -17
  1189. package/utils/usePositioner.js +1 -1
  1190. package/utils/usePositioner.mjs +1 -1
  1191. package/utils/useRegisteredLabelId.d.mts +2 -1
  1192. package/utils/useRegisteredLabelId.d.ts +2 -1
  1193. package/utils/useRegisteredLabelId.js +1 -1
  1194. package/utils/useRegisteredLabelId.mjs +1 -1
  1195. package/utils/useSwipeDismiss.js +72 -113
  1196. package/utils/useSwipeDismiss.mjs +72 -113
  1197. package/checkbox/utils/useStateAttributesMapping.js +0 -30
  1198. package/number-field/root/useNumberFieldButton.d.mts +0 -21
  1199. package/number-field/root/useNumberFieldButton.d.ts +0 -21
  1200. package/number-field/root/useNumberFieldButton.js +0 -135
  1201. package/number-field/root/useNumberFieldButton.mjs +0 -130
  1202. package/number-field/utils/subscribeToVisualViewportResize.d.mts +0 -1
  1203. package/number-field/utils/subscribeToVisualViewportResize.d.ts +0 -1
  1204. package/number-field/utils/subscribeToVisualViewportResize.js +0 -23
  1205. package/number-field/utils/subscribeToVisualViewportResize.mjs +0 -18
  1206. package/select/portal/SelectPortalContext.d.mts +0 -3
  1207. package/select/portal/SelectPortalContext.d.ts +0 -3
  1208. package/select/portal/SelectPortalContext.js +0 -21
  1209. package/select/portal/SelectPortalContext.mjs +0 -13
  1210. package/slider/utils/replaceArrayItemAtIndex.d.mts +0 -1
  1211. package/slider/utils/replaceArrayItemAtIndex.d.ts +0 -1
  1212. package/slider/utils/replaceArrayItemAtIndex.js +0 -12
  1213. package/slider/utils/replaceArrayItemAtIndex.mjs +0 -6
  1214. package/slider/utils/valueArrayToPercentages.d.mts +0 -1
  1215. package/slider/utils/valueArrayToPercentages.d.ts +0 -1
  1216. package/slider/utils/valueArrayToPercentages.js +0 -15
  1217. package/slider/utils/valueArrayToPercentages.mjs +0 -9
@@ -142,11 +142,10 @@ function FloatingFocusManager(props) {
142
142
  } = store.context;
143
143
  const getNodeId = (0, _useStableCallback.useStableCallback)(() => dataRef.current.floatingContext?.nodeId);
144
144
  const ignoreInitialFocus = initialFocus === false;
145
- // If the reference is a combobox and is typeable (e.g. input/textarea),
146
- // there are different focus semantics. The guards should not be rendered, but
147
- // aria-hidden should be applied to all nodes still. Further, the visually
148
- // hidden dismiss button should only appear at the end of the list, not the
149
- // start.
145
+ // A typeable combobox reference (e.g. input/textarea) with `initialFocus={false}`
146
+ // has different focus semantics: focus is not trapped inside the floating element,
147
+ // so in the modal case the guards are not rendered, but `aria-hidden` is still
148
+ // applied to the outside nodes.
150
149
  const isUntrappedTypeableCombobox = (0, _element.isTypeableCombobox)(domReference) && ignoreInitialFocus;
151
150
  const initialFocusRef = (0, _useValueAsRef.useValueAsRef)(initialFocus);
152
151
  const returnFocusRef = (0, _useValueAsRef.useValueAsRef)(returnFocus);
@@ -260,12 +259,12 @@ function FloatingFocusManager(props) {
260
259
  const triggers = store.context.triggerElements;
261
260
  const insideElements = getResolvedInsideElements();
262
261
  const isRelatedFocusGuard = relatedTarget?.hasAttribute((0, _createAttribute.createAttribute)('focus-guard')) && [beforeGuardRef.current, afterGuardRef.current, portalContext?.beforeInsideRef.current, portalContext?.afterInsideRef.current, portalContext?.beforeOutsideRef.current, portalContext?.afterOutsideRef.current, (0, _resolveRef.resolveRef)(previousFocusableElement), (0, _resolveRef.resolveRef)(nextFocusableElement)].includes(relatedTarget);
263
- const movedToUnrelatedNode = !((0, _element.contains)(domReference, relatedTarget) || (0, _element.contains)(floating, relatedTarget) || (0, _element.contains)(relatedTarget, floating) || (0, _element.contains)(portalContext?.portalNode, relatedTarget) || insideElements.some(element => element === relatedTarget || (0, _element.contains)(element, relatedTarget)) || relatedTarget != null && triggers.hasElement(relatedTarget) || triggers.hasMatchingElement(trigger => (0, _element.contains)(trigger, relatedTarget)) || isRelatedFocusGuard || tree && ((0, _nodes.getNodeChildren)(tree.nodesRef.current, nodeId).find(node => (0, _element.contains)(node.context?.elements.floating, relatedTarget) || (0, _element.contains)(node.context?.elements.domReference, relatedTarget)) || (0, _nodes.getNodeAncestors)(tree.nodesRef.current, nodeId).find(node => [node.context?.elements.floating, (0, _element.getFloatingFocusElement)(node.context?.elements.floating)].includes(relatedTarget) || node.context?.elements.domReference === relatedTarget)));
262
+ const movedToUnrelatedNode = !((0, _element.contains)(domReference, relatedTarget) || (0, _element.contains)(floating, relatedTarget) || (0, _element.contains)(relatedTarget, floating) || (0, _element.contains)(portalContext?.portalNode, relatedTarget) || insideElements.some(element => element === relatedTarget || (0, _element.contains)(element, relatedTarget)) || triggers.hasMatchingElement(trigger => (0, _element.contains)(trigger, relatedTarget)) || isRelatedFocusGuard || tree && ((0, _nodes.getNodeChildren)(tree.nodesRef.current, nodeId).find(node => (0, _element.contains)(node.context?.elements.floating, relatedTarget) || (0, _element.contains)(node.context?.elements.domReference, relatedTarget)) || (0, _nodes.getNodeAncestors)(tree.nodesRef.current, nodeId).find(node => [node.context?.elements.floating, (0, _element.getFloatingFocusElement)(node.context?.elements.floating)].includes(relatedTarget) || node.context?.elements.domReference === relatedTarget)));
264
263
  if (currentTarget === domReference && floatingFocusElement) {
265
264
  handleTabIndex(floatingFocusElement);
266
265
  }
267
266
 
268
- // Restore focus to the previous tabbable element index to prevent
267
+ // Restore focus to the previously focused tabbable element to prevent
269
268
  // focus from being lost outside the floating tree.
270
269
  if (restoreFocus && currentTarget !== domReference && !(0, _composite.isElementVisible)(target) && (0, _element.activeElement)(doc) === doc.body) {
271
270
  // Let `FloatingPortal` effect knows that focus is still inside the
@@ -275,10 +274,10 @@ function FloatingFocusManager(props) {
275
274
  // If explicitly requested to restore focus to the popup container, do not search
276
275
  // for the next/previous tabbable element.
277
276
  if (restoreFocus === 'popup') {
278
- // If the element is removed on pointerdown, focus tries to move it,
279
- // but since it's removed at the same time, focus gets lost as it
280
- // happens after the .focus() call above.
281
- // In this case, focus needs to be moved asynchronously.
277
+ // If the focused element is removed on pointerdown, the browser
278
+ // tries to move focus to it right after the `.focus()` call above,
279
+ // but because it's removed in the same tick, focus is lost instead.
280
+ // Re-focusing asynchronously (next frame) wins that race.
282
281
  restoreFocusFrame.request(() => {
283
282
  floatingFocusElement.focus();
284
283
  });
@@ -360,6 +359,8 @@ function FloatingFocusManager(props) {
360
359
  if (!open || disabled || !(0, _dom.isHTMLElement)(floatingFocusElement)) {
361
360
  return;
362
361
  }
362
+ closeTypeRef.current = '';
363
+ lastInteractionTypeRef.current = '';
363
364
  const doc = (0, _owner.ownerDocument)(floatingFocusElement);
364
365
  const previouslyFocusedElement = (0, _element.activeElement)(doc);
365
366
 
@@ -391,7 +392,9 @@ function FloatingFocusManager(props) {
391
392
  }
392
393
  elToFocus = elToFocus || getDefaultFocusElement();
393
394
  const hadFocusInside = (0, _element.contains)(floatingFocusElement, (0, _element.activeElement)(doc));
394
- (0, _enqueueFocus.enqueueFocus)(elToFocus, {
395
+
396
+ // enqueueFocus returns a rAF-cancel function; we intentionally don't cancel this focus.
397
+ void (0, _enqueueFocus.enqueueFocus)(elToFocus, {
395
398
  preventScroll: elToFocus === floatingFocusElement,
396
399
  shouldFocus() {
397
400
  // This focus is queued on the next animation frame. If the floating element has closed
@@ -418,13 +421,11 @@ function FloatingFocusManager(props) {
418
421
  }
419
422
  const doc = (0, _owner.ownerDocument)(floatingFocusElement);
420
423
  const elementFocusedBeforeOpen = (0, _element.activeElement)(doc);
421
- // Only nullish interaction types represent programmatic opens. The empty
422
- // string default is intentionally not treated as programmatic.
424
+ // Only an explicit `null` interaction type represents a programmatic open.
425
+ // `undefined` is normalized to `''` by the prop default, so it never reaches
426
+ // here as nullish and is intentionally not treated as programmatic.
423
427
  const preferPreviousFocus = openInteractionTypeRef.current == null;
424
428
  addPreviouslyFocusedElement(elementFocusedBeforeOpen);
425
-
426
- // Dismissing via outside press should always ignore `returnFocus` to
427
- // prevent unwanted scrolling.
428
429
  function onOpenChangeLocal(details) {
429
430
  if (!details.open) {
430
431
  closeTypeRef.current = getEventType(details.nativeEvent, lastInteractionTypeRef.current);
@@ -440,6 +441,11 @@ function FloatingFocusManager(props) {
440
441
  } else if ((0, _event.isVirtualClick)(details.nativeEvent) || (0, _event.isVirtualPointerEvent)(details.nativeEvent)) {
441
442
  preventReturnFocusRef.current = false;
442
443
  } else {
444
+ // On outside press, only return focus to the reference when the browser supports the
445
+ // `focus({ preventScroll })` option; without it, restoring focus scrolls the page.
446
+ // Chrome on Android and Samsung Internet still don't support `preventScroll`
447
+ // (https://issues.chromium.org/issues/41453122), so the runtime check keeps return
448
+ // focus disabled there to avoid the scroll jump.
443
449
  let isPreventScrollSupported = false;
444
450
  (0, _owner.ownerDocument)(floatingFocusElement).createElement('div').focus({
445
451
  get preventScroll() {
@@ -455,9 +461,9 @@ function FloatingFocusManager(props) {
455
461
  }
456
462
  }
457
463
  events.on('openchange', onOpenChangeLocal);
458
- function getReturnElement() {
464
+ function getReturnElement(closeType) {
459
465
  const returnFocusValueOrFn = returnFocusRef.current;
460
- let resolvedReturnFocusValue = typeof returnFocusValueOrFn === 'function' ? returnFocusValueOrFn(closeTypeRef.current) : returnFocusValueOrFn;
466
+ let resolvedReturnFocusValue = typeof returnFocusValueOrFn === 'function' ? returnFocusValueOrFn(closeType) : returnFocusValueOrFn;
461
467
 
462
468
  // `null` should fallback to default behavior in case of an empty ref.
463
469
  if (resolvedReturnFocusValue === undefined || resolvedReturnFocusValue === false) {
@@ -485,9 +491,11 @@ function FloatingFocusManager(props) {
485
491
 
486
492
  // eslint-disable-next-line react-hooks/exhaustive-deps
487
493
  const returnFocusValueOrFn = returnFocusRef.current;
488
- const returnElement = getReturnElement();
494
+ const closeType = closeTypeRef.current;
495
+ const returnElement = getReturnElement(closeType);
489
496
  queueMicrotask(() => {
490
- // This is `returnElement`, if it's tabbable, or its first tabbable child.
497
+ // `returnElement` if it is tabbable, otherwise its first tabbable child,
498
+ // otherwise `returnElement` itself (which may not be tabbable at all).
491
499
  const tabbableReturnElement = getFirstTabbableElement(returnElement);
492
500
  const hasExplicitReturnFocus = typeof returnFocusValueOrFn !== 'boolean';
493
501
  if (returnFocusValueOrFn && !preventReturnFocusRef.current && (0, _dom.isHTMLElement)(tabbableReturnElement) && (
@@ -495,9 +503,13 @@ function FloatingFocusManager(props) {
495
503
  // since it likely entered a different element which should be
496
504
  // respected: https://github.com/floating-ui/floating-ui/issues/2607
497
505
  !hasExplicitReturnFocus && tabbableReturnElement !== activeEl && activeEl !== doc.body ? isFocusInsideFloatingTree : true)) {
498
- tabbableReturnElement.focus({
506
+ const focusOptions = {
499
507
  preventScroll: true
500
- });
508
+ };
509
+ if (closeType === 'keyboard') {
510
+ focusOptions.focusVisible = true;
511
+ }
512
+ tabbableReturnElement.focus(focusOptions);
501
513
  }
502
514
  preventReturnFocusRef.current = false;
503
515
  });
@@ -520,8 +532,8 @@ function FloatingFocusManager(props) {
520
532
  }
521
533
  }, [open, floating]);
522
534
 
523
- // Synchronize the `context` & `modal` value to the FloatingPortal context.
524
- // It will decide whether or not it needs to render its own guards.
535
+ // Synchronize the focus manager state (modal, closeOnFocusOut, open, etc.) to the
536
+ // FloatingPortal context, which uses it to decide whether to render its own guards.
525
537
  (0, _useIsoLayoutEffect.useIsoLayoutEffect)(() => {
526
538
  if (disabled || !portalContext) {
527
539
  return undefined;
@@ -556,7 +568,8 @@ function FloatingFocusManager(props) {
556
568
  onFocus: event => {
557
569
  if (modal) {
558
570
  const els = getTabbableContent();
559
- (0, _enqueueFocus.enqueueFocus)(els[els.length - 1]);
571
+ // enqueueFocus returns a rAF-cancel function we don't need here.
572
+ void (0, _enqueueFocus.enqueueFocus)(els[els.length - 1]);
560
573
  } else if (portalContext?.portalNode) {
561
574
  preventReturnFocusRef.current = false;
562
575
  if ((0, _tabbable.isOutsideEvent)(event, portalContext.portalNode)) {
@@ -572,7 +585,8 @@ function FloatingFocusManager(props) {
572
585
  ref: mergedAfterGuardRef,
573
586
  onFocus: event => {
574
587
  if (modal) {
575
- (0, _enqueueFocus.enqueueFocus)(getTabbableContent()[0]);
588
+ // enqueueFocus returns a rAF-cancel function we don't need here.
589
+ void (0, _enqueueFocus.enqueueFocus)(getTabbableContent()[0]);
576
590
  } else if (portalContext?.portalNode) {
577
591
  if (closeOnFocusOut) {
578
592
  preventReturnFocusRef.current = true;
@@ -136,11 +136,10 @@ export function FloatingFocusManager(props) {
136
136
  } = store.context;
137
137
  const getNodeId = useStableCallback(() => dataRef.current.floatingContext?.nodeId);
138
138
  const ignoreInitialFocus = initialFocus === false;
139
- // If the reference is a combobox and is typeable (e.g. input/textarea),
140
- // there are different focus semantics. The guards should not be rendered, but
141
- // aria-hidden should be applied to all nodes still. Further, the visually
142
- // hidden dismiss button should only appear at the end of the list, not the
143
- // start.
139
+ // A typeable combobox reference (e.g. input/textarea) with `initialFocus={false}`
140
+ // has different focus semantics: focus is not trapped inside the floating element,
141
+ // so in the modal case the guards are not rendered, but `aria-hidden` is still
142
+ // applied to the outside nodes.
144
143
  const isUntrappedTypeableCombobox = isTypeableCombobox(domReference) && ignoreInitialFocus;
145
144
  const initialFocusRef = useValueAsRef(initialFocus);
146
145
  const returnFocusRef = useValueAsRef(returnFocus);
@@ -254,12 +253,12 @@ export function FloatingFocusManager(props) {
254
253
  const triggers = store.context.triggerElements;
255
254
  const insideElements = getResolvedInsideElements();
256
255
  const isRelatedFocusGuard = relatedTarget?.hasAttribute(createAttribute('focus-guard')) && [beforeGuardRef.current, afterGuardRef.current, portalContext?.beforeInsideRef.current, portalContext?.afterInsideRef.current, portalContext?.beforeOutsideRef.current, portalContext?.afterOutsideRef.current, resolveRef(previousFocusableElement), resolveRef(nextFocusableElement)].includes(relatedTarget);
257
- const movedToUnrelatedNode = !(contains(domReference, relatedTarget) || contains(floating, relatedTarget) || contains(relatedTarget, floating) || contains(portalContext?.portalNode, relatedTarget) || insideElements.some(element => element === relatedTarget || contains(element, relatedTarget)) || relatedTarget != null && triggers.hasElement(relatedTarget) || triggers.hasMatchingElement(trigger => contains(trigger, relatedTarget)) || isRelatedFocusGuard || tree && (getNodeChildren(tree.nodesRef.current, nodeId).find(node => contains(node.context?.elements.floating, relatedTarget) || contains(node.context?.elements.domReference, relatedTarget)) || getNodeAncestors(tree.nodesRef.current, nodeId).find(node => [node.context?.elements.floating, getFloatingFocusElement(node.context?.elements.floating)].includes(relatedTarget) || node.context?.elements.domReference === relatedTarget)));
256
+ const movedToUnrelatedNode = !(contains(domReference, relatedTarget) || contains(floating, relatedTarget) || contains(relatedTarget, floating) || contains(portalContext?.portalNode, relatedTarget) || insideElements.some(element => element === relatedTarget || contains(element, relatedTarget)) || triggers.hasMatchingElement(trigger => contains(trigger, relatedTarget)) || isRelatedFocusGuard || tree && (getNodeChildren(tree.nodesRef.current, nodeId).find(node => contains(node.context?.elements.floating, relatedTarget) || contains(node.context?.elements.domReference, relatedTarget)) || getNodeAncestors(tree.nodesRef.current, nodeId).find(node => [node.context?.elements.floating, getFloatingFocusElement(node.context?.elements.floating)].includes(relatedTarget) || node.context?.elements.domReference === relatedTarget)));
258
257
  if (currentTarget === domReference && floatingFocusElement) {
259
258
  handleTabIndex(floatingFocusElement);
260
259
  }
261
260
 
262
- // Restore focus to the previous tabbable element index to prevent
261
+ // Restore focus to the previously focused tabbable element to prevent
263
262
  // focus from being lost outside the floating tree.
264
263
  if (restoreFocus && currentTarget !== domReference && !isElementVisible(target) && activeElement(doc) === doc.body) {
265
264
  // Let `FloatingPortal` effect knows that focus is still inside the
@@ -269,10 +268,10 @@ export function FloatingFocusManager(props) {
269
268
  // If explicitly requested to restore focus to the popup container, do not search
270
269
  // for the next/previous tabbable element.
271
270
  if (restoreFocus === 'popup') {
272
- // If the element is removed on pointerdown, focus tries to move it,
273
- // but since it's removed at the same time, focus gets lost as it
274
- // happens after the .focus() call above.
275
- // In this case, focus needs to be moved asynchronously.
271
+ // If the focused element is removed on pointerdown, the browser
272
+ // tries to move focus to it right after the `.focus()` call above,
273
+ // but because it's removed in the same tick, focus is lost instead.
274
+ // Re-focusing asynchronously (next frame) wins that race.
276
275
  restoreFocusFrame.request(() => {
277
276
  floatingFocusElement.focus();
278
277
  });
@@ -354,6 +353,8 @@ export function FloatingFocusManager(props) {
354
353
  if (!open || disabled || !isHTMLElement(floatingFocusElement)) {
355
354
  return;
356
355
  }
356
+ closeTypeRef.current = '';
357
+ lastInteractionTypeRef.current = '';
357
358
  const doc = ownerDocument(floatingFocusElement);
358
359
  const previouslyFocusedElement = activeElement(doc);
359
360
 
@@ -385,7 +386,9 @@ export function FloatingFocusManager(props) {
385
386
  }
386
387
  elToFocus = elToFocus || getDefaultFocusElement();
387
388
  const hadFocusInside = contains(floatingFocusElement, activeElement(doc));
388
- enqueueFocus(elToFocus, {
389
+
390
+ // enqueueFocus returns a rAF-cancel function; we intentionally don't cancel this focus.
391
+ void enqueueFocus(elToFocus, {
389
392
  preventScroll: elToFocus === floatingFocusElement,
390
393
  shouldFocus() {
391
394
  // This focus is queued on the next animation frame. If the floating element has closed
@@ -412,13 +415,11 @@ export function FloatingFocusManager(props) {
412
415
  }
413
416
  const doc = ownerDocument(floatingFocusElement);
414
417
  const elementFocusedBeforeOpen = activeElement(doc);
415
- // Only nullish interaction types represent programmatic opens. The empty
416
- // string default is intentionally not treated as programmatic.
418
+ // Only an explicit `null` interaction type represents a programmatic open.
419
+ // `undefined` is normalized to `''` by the prop default, so it never reaches
420
+ // here as nullish and is intentionally not treated as programmatic.
417
421
  const preferPreviousFocus = openInteractionTypeRef.current == null;
418
422
  addPreviouslyFocusedElement(elementFocusedBeforeOpen);
419
-
420
- // Dismissing via outside press should always ignore `returnFocus` to
421
- // prevent unwanted scrolling.
422
423
  function onOpenChangeLocal(details) {
423
424
  if (!details.open) {
424
425
  closeTypeRef.current = getEventType(details.nativeEvent, lastInteractionTypeRef.current);
@@ -434,6 +435,11 @@ export function FloatingFocusManager(props) {
434
435
  } else if (isVirtualClick(details.nativeEvent) || isVirtualPointerEvent(details.nativeEvent)) {
435
436
  preventReturnFocusRef.current = false;
436
437
  } else {
438
+ // On outside press, only return focus to the reference when the browser supports the
439
+ // `focus({ preventScroll })` option; without it, restoring focus scrolls the page.
440
+ // Chrome on Android and Samsung Internet still don't support `preventScroll`
441
+ // (https://issues.chromium.org/issues/41453122), so the runtime check keeps return
442
+ // focus disabled there to avoid the scroll jump.
437
443
  let isPreventScrollSupported = false;
438
444
  ownerDocument(floatingFocusElement).createElement('div').focus({
439
445
  get preventScroll() {
@@ -449,9 +455,9 @@ export function FloatingFocusManager(props) {
449
455
  }
450
456
  }
451
457
  events.on('openchange', onOpenChangeLocal);
452
- function getReturnElement() {
458
+ function getReturnElement(closeType) {
453
459
  const returnFocusValueOrFn = returnFocusRef.current;
454
- let resolvedReturnFocusValue = typeof returnFocusValueOrFn === 'function' ? returnFocusValueOrFn(closeTypeRef.current) : returnFocusValueOrFn;
460
+ let resolvedReturnFocusValue = typeof returnFocusValueOrFn === 'function' ? returnFocusValueOrFn(closeType) : returnFocusValueOrFn;
455
461
 
456
462
  // `null` should fallback to default behavior in case of an empty ref.
457
463
  if (resolvedReturnFocusValue === undefined || resolvedReturnFocusValue === false) {
@@ -479,9 +485,11 @@ export function FloatingFocusManager(props) {
479
485
 
480
486
  // eslint-disable-next-line react-hooks/exhaustive-deps
481
487
  const returnFocusValueOrFn = returnFocusRef.current;
482
- const returnElement = getReturnElement();
488
+ const closeType = closeTypeRef.current;
489
+ const returnElement = getReturnElement(closeType);
483
490
  queueMicrotask(() => {
484
- // This is `returnElement`, if it's tabbable, or its first tabbable child.
491
+ // `returnElement` if it is tabbable, otherwise its first tabbable child,
492
+ // otherwise `returnElement` itself (which may not be tabbable at all).
485
493
  const tabbableReturnElement = getFirstTabbableElement(returnElement);
486
494
  const hasExplicitReturnFocus = typeof returnFocusValueOrFn !== 'boolean';
487
495
  if (returnFocusValueOrFn && !preventReturnFocusRef.current && isHTMLElement(tabbableReturnElement) && (
@@ -489,9 +497,13 @@ export function FloatingFocusManager(props) {
489
497
  // since it likely entered a different element which should be
490
498
  // respected: https://github.com/floating-ui/floating-ui/issues/2607
491
499
  !hasExplicitReturnFocus && tabbableReturnElement !== activeEl && activeEl !== doc.body ? isFocusInsideFloatingTree : true)) {
492
- tabbableReturnElement.focus({
500
+ const focusOptions = {
493
501
  preventScroll: true
494
- });
502
+ };
503
+ if (closeType === 'keyboard') {
504
+ focusOptions.focusVisible = true;
505
+ }
506
+ tabbableReturnElement.focus(focusOptions);
495
507
  }
496
508
  preventReturnFocusRef.current = false;
497
509
  });
@@ -514,8 +526,8 @@ export function FloatingFocusManager(props) {
514
526
  }
515
527
  }, [open, floating]);
516
528
 
517
- // Synchronize the `context` & `modal` value to the FloatingPortal context.
518
- // It will decide whether or not it needs to render its own guards.
529
+ // Synchronize the focus manager state (modal, closeOnFocusOut, open, etc.) to the
530
+ // FloatingPortal context, which uses it to decide whether to render its own guards.
519
531
  useIsoLayoutEffect(() => {
520
532
  if (disabled || !portalContext) {
521
533
  return undefined;
@@ -550,7 +562,8 @@ export function FloatingFocusManager(props) {
550
562
  onFocus: event => {
551
563
  if (modal) {
552
564
  const els = getTabbableContent();
553
- enqueueFocus(els[els.length - 1]);
565
+ // enqueueFocus returns a rAF-cancel function we don't need here.
566
+ void enqueueFocus(els[els.length - 1]);
554
567
  } else if (portalContext?.portalNode) {
555
568
  preventReturnFocusRef.current = false;
556
569
  if (isOutsideEvent(event, portalContext.portalNode)) {
@@ -566,7 +579,8 @@ export function FloatingFocusManager(props) {
566
579
  ref: mergedAfterGuardRef,
567
580
  onFocus: event => {
568
581
  if (modal) {
569
- enqueueFocus(getTabbableContent()[0]);
582
+ // enqueueFocus returns a rAF-cancel function we don't need here.
583
+ void enqueueFocus(getTabbableContent()[0]);
570
584
  } else if (portalContext?.portalNode) {
571
585
  if (closeOnFocusOut) {
572
586
  preventReturnFocusRef.current = true;
@@ -26,22 +26,15 @@ export interface UseFloatingPortalNodeProps {
26
26
  elementProps?: React.HTMLAttributes<HTMLDivElement> | undefined;
27
27
  }
28
28
  export interface UseFloatingPortalNodeResult {
29
- portalNode: HTMLElement | null;
30
- portalSubtree: React.ReactPortal | null;
29
+ node: HTMLElement | null;
30
+ /**
31
+ * The `id` attribute of the portal node. On React 17 it is `undefined` until the `useId`
32
+ * polyfill assigns it in an effect after the node has been created.
33
+ */
34
+ nodeId: string | undefined;
35
+ subtree: React.ReactPortal | null;
31
36
  }
32
37
  export declare function useFloatingPortalNode(props?: UseFloatingPortalNodeProps): UseFloatingPortalNodeResult;
33
- /**
34
- * Portals the floating element into a given container element — by default,
35
- * outside of the app root and into the body.
36
- * This is necessary to ensure the floating element can appear outside any
37
- * potential parent containers that cause clipping (such as `overflow: hidden`),
38
- * while retaining its location in the React tree.
39
- * @see https://floating-ui.com/docs/FloatingPortal
40
- * @internal
41
- */
42
- export declare const FloatingPortal: React.ForwardRefExoticComponent<Omit<FloatingPortal.Props<any> & {
43
- renderGuards?: boolean | undefined;
44
- }, "ref"> & React.RefAttributes<HTMLDivElement>>;
45
38
  export interface FloatingPortalState {}
46
39
  export declare namespace FloatingPortal {
47
40
  type State = FloatingPortalState;
@@ -26,22 +26,15 @@ export interface UseFloatingPortalNodeProps {
26
26
  elementProps?: React.HTMLAttributes<HTMLDivElement> | undefined;
27
27
  }
28
28
  export interface UseFloatingPortalNodeResult {
29
- portalNode: HTMLElement | null;
30
- portalSubtree: React.ReactPortal | null;
29
+ node: HTMLElement | null;
30
+ /**
31
+ * The `id` attribute of the portal node. On React 17 it is `undefined` until the `useId`
32
+ * polyfill assigns it in an effect after the node has been created.
33
+ */
34
+ nodeId: string | undefined;
35
+ subtree: React.ReactPortal | null;
31
36
  }
32
37
  export declare function useFloatingPortalNode(props?: UseFloatingPortalNodeProps): UseFloatingPortalNodeResult;
33
- /**
34
- * Portals the floating element into a given container element — by default,
35
- * outside of the app root and into the body.
36
- * This is necessary to ensure the floating element can appear outside any
37
- * potential parent containers that cause clipping (such as `overflow: hidden`),
38
- * while retaining its location in the React tree.
39
- * @see https://floating-ui.com/docs/FloatingPortal
40
- * @internal
41
- */
42
- export declare const FloatingPortal: React.ForwardRefExoticComponent<Omit<FloatingPortal.Props<any> & {
43
- renderGuards?: boolean | undefined;
44
- }, "ref"> & React.RefAttributes<HTMLDivElement>>;
45
38
  export interface FloatingPortalState {}
46
39
  export declare namespace FloatingPortal {
47
40
  type State = FloatingPortalState;
@@ -61,11 +61,6 @@ function useFloatingPortalNode(props = {}) {
61
61
  }
62
62
  return;
63
63
  }
64
-
65
- // React 17 does not use React.useId().
66
- if (uniqueId == null) {
67
- return;
68
- }
69
64
  const resolvedContainer = (containerProp && ((0, _dom.isNode)(containerProp) ? containerProp : containerProp.current)) ?? parentPortalNode ?? document.body;
70
65
  if (resolvedContainer == null) {
71
66
  if (containerRef.current) {
@@ -80,7 +75,7 @@ function useFloatingPortalNode(props = {}) {
80
75
  setPortalNode(null);
81
76
  setContainerElement(resolvedContainer);
82
77
  }
83
- }, [containerProp, parentPortalNode, uniqueId]);
78
+ }, [containerProp, parentPortalNode]);
84
79
  const portalElement = (0, _useRenderElement.useRenderElement)('div', componentProps, {
85
80
  ref: [ref, setPortalNodeRef],
86
81
  props: [{
@@ -93,8 +88,11 @@ function useFloatingPortalNode(props = {}) {
93
88
  // Another call inside `FloatingPortal`/`FloatingPortalLite` then injects the children into `portalElement`.
94
89
  const portalSubtree = containerElement && portalElement ? /*#__PURE__*/ReactDOM.createPortal(portalElement, containerElement) : null;
95
90
  return {
96
- portalNode,
97
- portalSubtree
91
+ node: portalNode,
92
+ // `id` and `render` props can override or remove the generated ID. Use the exact
93
+ // rendered value so `aria-owns` never points at an ID absent from the DOM.
94
+ nodeId: /*#__PURE__*/React.isValidElement(portalElement) ? portalElement.props.id : undefined,
95
+ subtree: portalSubtree
98
96
  };
99
97
  }
100
98
 
@@ -114,12 +112,12 @@ const FloatingPortal = exports.FloatingPortal = /*#__PURE__*/React.forwardRef(fu
114
112
  style,
115
113
  children,
116
114
  container,
117
- renderGuards,
118
115
  ...elementProps
119
116
  } = componentProps;
120
117
  const {
121
- portalNode,
122
- portalSubtree
118
+ node: portalNode,
119
+ nodeId: portalNodeId,
120
+ subtree: portalSubtree
123
121
  } = useFloatingPortalNode({
124
122
  container,
125
123
  ref: forwardedRef,
@@ -134,7 +132,7 @@ const FloatingPortal = exports.FloatingPortal = /*#__PURE__*/React.forwardRef(fu
134
132
  const focusInsideDisabledRef = React.useRef(false);
135
133
  const modal = focusManagerState?.modal;
136
134
  const open = focusManagerState?.open;
137
- const shouldRenderGuards = typeof renderGuards === 'boolean' ? renderGuards : !!focusManagerState && !focusManagerState.modal && focusManagerState.open && !!portalNode;
135
+ const shouldRenderGuards = !!focusManagerState && !focusManagerState.modal && focusManagerState.open && !!portalNode;
138
136
 
139
137
  // https://codesandbox.io/s/tabbable-portal-f4tng?file=/src/TabbablePortal.tsx
140
138
  React.useEffect(() => {
@@ -196,7 +194,7 @@ const FloatingPortal = exports.FloatingPortal = /*#__PURE__*/React.forwardRef(fu
196
194
  }
197
195
  }
198
196
  }), shouldRenderGuards && portalNode && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
199
- "aria-owns": portalNode.id,
197
+ "aria-owns": portalNodeId,
200
198
  style: _constants.ownerVisuallyHidden
201
199
  }), portalNode && /*#__PURE__*/ReactDOM.createPortal(children, portalNode), shouldRenderGuards && portalNode && /*#__PURE__*/(0, _jsxRuntime.jsx)(_FocusGuard.FocusGuard, {
202
200
  "data-type": "outside",
@@ -52,11 +52,6 @@ export function useFloatingPortalNode(props = {}) {
52
52
  }
53
53
  return;
54
54
  }
55
-
56
- // React 17 does not use React.useId().
57
- if (uniqueId == null) {
58
- return;
59
- }
60
55
  const resolvedContainer = (containerProp && (isNode(containerProp) ? containerProp : containerProp.current)) ?? parentPortalNode ?? document.body;
61
56
  if (resolvedContainer == null) {
62
57
  if (containerRef.current) {
@@ -71,7 +66,7 @@ export function useFloatingPortalNode(props = {}) {
71
66
  setPortalNode(null);
72
67
  setContainerElement(resolvedContainer);
73
68
  }
74
- }, [containerProp, parentPortalNode, uniqueId]);
69
+ }, [containerProp, parentPortalNode]);
75
70
  const portalElement = useRenderElement('div', componentProps, {
76
71
  ref: [ref, setPortalNodeRef],
77
72
  props: [{
@@ -84,8 +79,11 @@ export function useFloatingPortalNode(props = {}) {
84
79
  // Another call inside `FloatingPortal`/`FloatingPortalLite` then injects the children into `portalElement`.
85
80
  const portalSubtree = containerElement && portalElement ? /*#__PURE__*/ReactDOM.createPortal(portalElement, containerElement) : null;
86
81
  return {
87
- portalNode,
88
- portalSubtree
82
+ node: portalNode,
83
+ // `id` and `render` props can override or remove the generated ID. Use the exact
84
+ // rendered value so `aria-owns` never points at an ID absent from the DOM.
85
+ nodeId: /*#__PURE__*/React.isValidElement(portalElement) ? portalElement.props.id : undefined,
86
+ subtree: portalSubtree
89
87
  };
90
88
  }
91
89
 
@@ -105,12 +103,12 @@ export const FloatingPortal = /*#__PURE__*/React.forwardRef(function FloatingPor
105
103
  style,
106
104
  children,
107
105
  container,
108
- renderGuards,
109
106
  ...elementProps
110
107
  } = componentProps;
111
108
  const {
112
- portalNode,
113
- portalSubtree
109
+ node: portalNode,
110
+ nodeId: portalNodeId,
111
+ subtree: portalSubtree
114
112
  } = useFloatingPortalNode({
115
113
  container,
116
114
  ref: forwardedRef,
@@ -125,7 +123,7 @@ export const FloatingPortal = /*#__PURE__*/React.forwardRef(function FloatingPor
125
123
  const focusInsideDisabledRef = React.useRef(false);
126
124
  const modal = focusManagerState?.modal;
127
125
  const open = focusManagerState?.open;
128
- const shouldRenderGuards = typeof renderGuards === 'boolean' ? renderGuards : !!focusManagerState && !focusManagerState.modal && focusManagerState.open && !!portalNode;
126
+ const shouldRenderGuards = !!focusManagerState && !focusManagerState.modal && focusManagerState.open && !!portalNode;
129
127
 
130
128
  // https://codesandbox.io/s/tabbable-portal-f4tng?file=/src/TabbablePortal.tsx
131
129
  React.useEffect(() => {
@@ -187,7 +185,7 @@ export const FloatingPortal = /*#__PURE__*/React.forwardRef(function FloatingPor
187
185
  }
188
186
  }
189
187
  }), shouldRenderGuards && portalNode && /*#__PURE__*/_jsx("span", {
190
- "aria-owns": portalNode.id,
188
+ "aria-owns": portalNodeId,
191
189
  style: ownerVisuallyHidden
192
190
  }), portalNode && /*#__PURE__*/ReactDOM.createPortal(children, portalNode), shouldRenderGuards && portalNode && /*#__PURE__*/_jsx(FocusGuard, {
193
191
  "data-type": "outside",
@@ -8,12 +8,12 @@ var _store = require("@base-ui/utils/store");
8
8
  var _createEventEmitter = require("../utils/createEventEmitter");
9
9
  var _utils = require("../utils");
10
10
  const selectors = {
11
- open: (0, _store.createSelector)(state => state.open),
12
- transitionStatus: (0, _store.createSelector)(state => state.transitionStatus),
13
- domReferenceElement: (0, _store.createSelector)(state => state.domReferenceElement),
14
- referenceElement: (0, _store.createSelector)(state => state.positionReference ?? state.referenceElement),
15
- floatingElement: (0, _store.createSelector)(state => state.floatingElement),
16
- floatingId: (0, _store.createSelector)(state => state.floatingId)
11
+ open: state => state.open,
12
+ transitionStatus: state => state.transitionStatus,
13
+ domReferenceElement: state => state.domReferenceElement,
14
+ referenceElement: state => state.positionReference ?? state.referenceElement,
15
+ floatingElement: state => state.floatingElement,
16
+ floatingId: state => state.floatingId
17
17
  };
18
18
  class FloatingRootStore extends _store.ReactStore {
19
19
  constructor(options) {
@@ -1,13 +1,13 @@
1
- import { createSelector, ReactStore } from '@base-ui/utils/store';
1
+ import { ReactStore } from '@base-ui/utils/store';
2
2
  import { createEventEmitter } from "../utils/createEventEmitter.mjs";
3
3
  import { isClickLikeEvent } from "../utils.mjs";
4
4
  const selectors = {
5
- open: createSelector(state => state.open),
6
- transitionStatus: createSelector(state => state.transitionStatus),
7
- domReferenceElement: createSelector(state => state.domReferenceElement),
8
- referenceElement: createSelector(state => state.positionReference ?? state.referenceElement),
9
- floatingElement: createSelector(state => state.floatingElement),
10
- floatingId: createSelector(state => state.floatingId)
5
+ open: state => state.open,
6
+ transitionStatus: state => state.transitionStatus,
7
+ domReferenceElement: state => state.domReferenceElement,
8
+ referenceElement: state => state.positionReference ?? state.referenceElement,
9
+ floatingElement: state => state.floatingElement,
10
+ floatingId: state => state.floatingId
11
11
  };
12
12
  export class FloatingRootStore extends ReactStore {
13
13
  constructor(options) {
@@ -19,25 +19,7 @@ export interface FloatingNodeProps {
19
19
  children?: React.ReactNode;
20
20
  id: string | undefined;
21
21
  }
22
- /**
23
- * Provides parent node context for nested floating elements.
24
- * @see https://floating-ui.com/docs/FloatingTree
25
- * @internal
26
- */
27
- export declare function FloatingNode(props: FloatingNodeProps): React.JSX.Element;
28
22
  export interface FloatingTreeProps {
29
23
  children?: React.ReactNode;
30
24
  externalTree?: FloatingTreeStore | undefined;
31
- }
32
- /**
33
- * Provides context for nested floating elements when they are not children of
34
- * each other on the DOM.
35
- * This is not necessary in all cases, except when there must be explicit communication between parent and child floating elements. It is necessary for:
36
- * - The `bubbles` option in the `useDismiss()` Hook
37
- * - Nested virtual list navigation
38
- * - Nested floating elements that each open on hover
39
- * - Custom communication between parent and child floating elements
40
- * @see https://floating-ui.com/docs/FloatingTree
41
- * @internal
42
- */
43
- export declare function FloatingTree(props: FloatingTreeProps): React.JSX.Element;
25
+ }
@@ -19,25 +19,7 @@ export interface FloatingNodeProps {
19
19
  children?: React.ReactNode;
20
20
  id: string | undefined;
21
21
  }
22
- /**
23
- * Provides parent node context for nested floating elements.
24
- * @see https://floating-ui.com/docs/FloatingTree
25
- * @internal
26
- */
27
- export declare function FloatingNode(props: FloatingNodeProps): React.JSX.Element;
28
22
  export interface FloatingTreeProps {
29
23
  children?: React.ReactNode;
30
24
  externalTree?: FloatingTreeStore | undefined;
31
- }
32
- /**
33
- * Provides context for nested floating elements when they are not children of
34
- * each other on the DOM.
35
- * This is not necessary in all cases, except when there must be explicit communication between parent and child floating elements. It is necessary for:
36
- * - The `bubbles` option in the `useDismiss()` Hook
37
- * - Nested virtual list navigation
38
- * - Nested floating elements that each open on hover
39
- * - Custom communication between parent and child floating elements
40
- * @see https://floating-ui.com/docs/FloatingTree
41
- * @internal
42
- */
43
- export declare function FloatingTree(props: FloatingTreeProps): React.JSX.Element;
25
+ }