@base-ui/react 1.0.0 → 1.1.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 (672) hide show
  1. package/CHANGELOG.md +144 -1
  2. package/README.md +2 -3
  3. package/accordion/header/AccordionHeader.d.ts +1 -1
  4. package/accordion/item/AccordionItem.d.ts +1 -1
  5. package/accordion/panel/AccordionPanel.d.ts +1 -1
  6. package/accordion/root/AccordionRoot.d.ts +1 -1
  7. package/accordion/trigger/AccordionTrigger.d.ts +1 -1
  8. package/accordion/trigger/AccordionTrigger.js +3 -4
  9. package/alert-dialog/root/AlertDialogRoot.d.ts +3 -3
  10. package/autocomplete/root/AutocompleteRoot.d.ts +1 -1
  11. package/avatar/fallback/AvatarFallback.d.ts +1 -1
  12. package/avatar/image/AvatarImage.d.ts +1 -1
  13. package/avatar/root/AvatarRoot.d.ts +1 -1
  14. package/button/Button.d.ts +4 -17
  15. package/button/Button.js +1 -2
  16. package/checkbox/indicator/CheckboxIndicator.d.ts +1 -1
  17. package/checkbox/indicator/CheckboxIndicatorDataAttributes.d.ts +4 -0
  18. package/checkbox/indicator/CheckboxIndicatorDataAttributes.js +4 -0
  19. package/checkbox/root/CheckboxRoot.d.ts +1 -1
  20. package/checkbox/root/CheckboxRoot.js +5 -4
  21. package/checkbox/root/CheckboxRootDataAttributes.d.ts +4 -0
  22. package/checkbox/root/CheckboxRootDataAttributes.js +4 -0
  23. package/checkbox-group/CheckboxGroup.d.ts +1 -1
  24. package/collapsible/panel/CollapsiblePanel.d.ts +1 -1
  25. package/collapsible/root/CollapsibleRoot.d.ts +1 -1
  26. package/collapsible/trigger/CollapsibleTrigger.d.ts +1 -1
  27. package/collapsible/trigger/CollapsibleTrigger.js +1 -2
  28. package/combobox/arrow/ComboboxArrow.d.ts +1 -1
  29. package/combobox/backdrop/ComboboxBackdrop.d.ts +1 -1
  30. package/combobox/chip/ComboboxChip.d.ts +1 -1
  31. package/combobox/chip-remove/ComboboxChipRemove.d.ts +1 -1
  32. package/combobox/chip-remove/ComboboxChipRemove.js +3 -2
  33. package/combobox/chips/ComboboxChips.d.ts +1 -1
  34. package/combobox/chips/ComboboxChips.js +7 -1
  35. package/combobox/clear/ComboboxClear.d.ts +1 -1
  36. package/combobox/clear/ComboboxClear.js +2 -2
  37. package/combobox/empty/ComboboxEmpty.d.ts +1 -1
  38. package/combobox/group/ComboboxGroup.d.ts +1 -1
  39. package/combobox/group-label/ComboboxGroupLabel.d.ts +1 -1
  40. package/combobox/icon/ComboboxIcon.d.ts +1 -1
  41. package/combobox/input/ComboboxInput.d.ts +1 -1
  42. package/combobox/input/ComboboxInput.js +12 -18
  43. package/combobox/item/ComboboxItem.d.ts +1 -1
  44. package/combobox/item/ComboboxItem.js +0 -1
  45. package/combobox/item-indicator/ComboboxItemIndicator.d.ts +1 -1
  46. package/combobox/list/ComboboxList.d.ts +1 -1
  47. package/combobox/popup/ComboboxPopup.d.ts +1 -1
  48. package/combobox/popup/ComboboxPopup.js +2 -1
  49. package/combobox/portal/ComboboxPortal.d.ts +1 -1
  50. package/combobox/positioner/ComboboxPositioner.d.ts +1 -1
  51. package/combobox/root/AriaCombobox.d.ts +8 -1
  52. package/combobox/root/AriaCombobox.js +19 -16
  53. package/combobox/root/ComboboxRoot.d.ts +1 -1
  54. package/combobox/row/ComboboxRow.d.ts +1 -1
  55. package/combobox/status/ComboboxStatus.d.ts +1 -1
  56. package/combobox/store.d.ts +3 -0
  57. package/combobox/store.js +21 -0
  58. package/combobox/trigger/ComboboxTrigger.d.ts +14 -1
  59. package/combobox/trigger/ComboboxTrigger.js +31 -11
  60. package/combobox/trigger/ComboboxTriggerDataAttributes.d.ts +13 -0
  61. package/combobox/trigger/ComboboxTriggerDataAttributes.js +13 -0
  62. package/combobox/utils/stateAttributesMapping.d.ts +14 -0
  63. package/combobox/utils/stateAttributesMapping.js +18 -0
  64. package/combobox/value/ComboboxValue.d.ts +5 -0
  65. package/combobox/value/ComboboxValue.js +15 -6
  66. package/composite/root/useCompositeRoot.d.ts +1 -1
  67. package/context-menu/trigger/ContextMenuTrigger.d.ts +1 -1
  68. package/csp-provider/CSPContext.d.ts +13 -0
  69. package/csp-provider/CSPContext.js +25 -0
  70. package/csp-provider/CSPProvider.d.ts +25 -0
  71. package/csp-provider/CSPProvider.js +32 -0
  72. package/csp-provider/index.d.ts +2 -0
  73. package/csp-provider/index.js +12 -0
  74. package/csp-provider/index.parts.d.ts +1 -0
  75. package/csp-provider/index.parts.js +12 -0
  76. package/dialog/backdrop/DialogBackdrop.d.ts +1 -1
  77. package/dialog/close/DialogClose.d.ts +1 -1
  78. package/dialog/description/DialogDescription.d.ts +1 -1
  79. package/dialog/popup/DialogPopup.d.ts +1 -1
  80. package/dialog/portal/DialogPortal.d.ts +1 -1
  81. package/dialog/portal/DialogPortal.js +1 -0
  82. package/dialog/root/DialogRoot.d.ts +4 -4
  83. package/dialog/store/DialogStore.d.ts +2 -2
  84. package/dialog/title/DialogTitle.d.ts +1 -1
  85. package/dialog/viewport/DialogViewport.d.ts +1 -1
  86. package/esm/accordion/header/AccordionHeader.d.ts +1 -1
  87. package/esm/accordion/item/AccordionItem.d.ts +1 -1
  88. package/esm/accordion/panel/AccordionPanel.d.ts +1 -1
  89. package/esm/accordion/root/AccordionRoot.d.ts +1 -1
  90. package/esm/accordion/trigger/AccordionTrigger.d.ts +1 -1
  91. package/esm/accordion/trigger/AccordionTrigger.js +3 -4
  92. package/esm/alert-dialog/root/AlertDialogRoot.d.ts +3 -3
  93. package/esm/autocomplete/root/AutocompleteRoot.d.ts +1 -1
  94. package/esm/avatar/fallback/AvatarFallback.d.ts +1 -1
  95. package/esm/avatar/image/AvatarImage.d.ts +1 -1
  96. package/esm/avatar/root/AvatarRoot.d.ts +1 -1
  97. package/esm/button/Button.d.ts +4 -17
  98. package/esm/button/Button.js +1 -2
  99. package/esm/checkbox/indicator/CheckboxIndicator.d.ts +1 -1
  100. package/esm/checkbox/indicator/CheckboxIndicatorDataAttributes.d.ts +4 -0
  101. package/esm/checkbox/indicator/CheckboxIndicatorDataAttributes.js +4 -0
  102. package/esm/checkbox/root/CheckboxRoot.d.ts +1 -1
  103. package/esm/checkbox/root/CheckboxRoot.js +6 -5
  104. package/esm/checkbox/root/CheckboxRootDataAttributes.d.ts +4 -0
  105. package/esm/checkbox/root/CheckboxRootDataAttributes.js +4 -0
  106. package/esm/checkbox-group/CheckboxGroup.d.ts +1 -1
  107. package/esm/collapsible/panel/CollapsiblePanel.d.ts +1 -1
  108. package/esm/collapsible/root/CollapsibleRoot.d.ts +1 -1
  109. package/esm/collapsible/trigger/CollapsibleTrigger.d.ts +1 -1
  110. package/esm/collapsible/trigger/CollapsibleTrigger.js +1 -2
  111. package/esm/combobox/arrow/ComboboxArrow.d.ts +1 -1
  112. package/esm/combobox/backdrop/ComboboxBackdrop.d.ts +1 -1
  113. package/esm/combobox/chip/ComboboxChip.d.ts +1 -1
  114. package/esm/combobox/chip-remove/ComboboxChipRemove.d.ts +1 -1
  115. package/esm/combobox/chip-remove/ComboboxChipRemove.js +3 -2
  116. package/esm/combobox/chips/ComboboxChips.d.ts +1 -1
  117. package/esm/combobox/chips/ComboboxChips.js +7 -1
  118. package/esm/combobox/clear/ComboboxClear.d.ts +1 -1
  119. package/esm/combobox/clear/ComboboxClear.js +2 -2
  120. package/esm/combobox/empty/ComboboxEmpty.d.ts +1 -1
  121. package/esm/combobox/group/ComboboxGroup.d.ts +1 -1
  122. package/esm/combobox/group-label/ComboboxGroupLabel.d.ts +1 -1
  123. package/esm/combobox/icon/ComboboxIcon.d.ts +1 -1
  124. package/esm/combobox/input/ComboboxInput.d.ts +1 -1
  125. package/esm/combobox/input/ComboboxInput.js +12 -17
  126. package/esm/combobox/item/ComboboxItem.d.ts +1 -1
  127. package/esm/combobox/item/ComboboxItem.js +0 -1
  128. package/esm/combobox/item-indicator/ComboboxItemIndicator.d.ts +1 -1
  129. package/esm/combobox/list/ComboboxList.d.ts +1 -1
  130. package/esm/combobox/popup/ComboboxPopup.d.ts +1 -1
  131. package/esm/combobox/popup/ComboboxPopup.js +2 -1
  132. package/esm/combobox/portal/ComboboxPortal.d.ts +1 -1
  133. package/esm/combobox/positioner/ComboboxPositioner.d.ts +1 -1
  134. package/esm/combobox/root/AriaCombobox.d.ts +8 -1
  135. package/esm/combobox/root/AriaCombobox.js +20 -17
  136. package/esm/combobox/root/ComboboxRoot.d.ts +1 -1
  137. package/esm/combobox/row/ComboboxRow.d.ts +1 -1
  138. package/esm/combobox/status/ComboboxStatus.d.ts +1 -1
  139. package/esm/combobox/store.d.ts +3 -0
  140. package/esm/combobox/store.js +21 -0
  141. package/esm/combobox/trigger/ComboboxTrigger.d.ts +14 -1
  142. package/esm/combobox/trigger/ComboboxTrigger.js +32 -12
  143. package/esm/combobox/trigger/ComboboxTriggerDataAttributes.d.ts +13 -0
  144. package/esm/combobox/trigger/ComboboxTriggerDataAttributes.js +13 -0
  145. package/esm/combobox/utils/stateAttributesMapping.d.ts +14 -0
  146. package/esm/combobox/utils/stateAttributesMapping.js +12 -0
  147. package/esm/combobox/value/ComboboxValue.d.ts +5 -0
  148. package/esm/combobox/value/ComboboxValue.js +16 -7
  149. package/esm/composite/root/useCompositeRoot.d.ts +1 -1
  150. package/esm/context-menu/trigger/ContextMenuTrigger.d.ts +1 -1
  151. package/esm/csp-provider/CSPContext.d.ts +13 -0
  152. package/esm/csp-provider/CSPContext.js +18 -0
  153. package/esm/csp-provider/CSPProvider.d.ts +25 -0
  154. package/esm/csp-provider/CSPProvider.js +27 -0
  155. package/esm/csp-provider/index.d.ts +2 -0
  156. package/esm/csp-provider/index.js +1 -0
  157. package/esm/csp-provider/index.parts.d.ts +1 -0
  158. package/esm/csp-provider/index.parts.js +1 -0
  159. package/esm/dialog/backdrop/DialogBackdrop.d.ts +1 -1
  160. package/esm/dialog/close/DialogClose.d.ts +1 -1
  161. package/esm/dialog/description/DialogDescription.d.ts +1 -1
  162. package/esm/dialog/popup/DialogPopup.d.ts +1 -1
  163. package/esm/dialog/portal/DialogPortal.d.ts +1 -1
  164. package/esm/dialog/portal/DialogPortal.js +1 -0
  165. package/esm/dialog/root/DialogRoot.d.ts +4 -4
  166. package/esm/dialog/store/DialogStore.d.ts +2 -2
  167. package/esm/dialog/title/DialogTitle.d.ts +1 -1
  168. package/esm/dialog/viewport/DialogViewport.d.ts +1 -1
  169. package/esm/field/control/FieldControl.d.ts +1 -1
  170. package/esm/field/description/FieldDescription.d.ts +1 -1
  171. package/esm/field/error/FieldError.d.ts +1 -1
  172. package/esm/field/index.d.ts +2 -1
  173. package/esm/field/item/FieldItem.d.ts +1 -1
  174. package/esm/field/label/FieldLabel.d.ts +11 -2
  175. package/esm/field/label/FieldLabel.js +51 -11
  176. package/esm/field/root/FieldRoot.d.ts +10 -1
  177. package/esm/field/root/FieldRoot.js +8 -0
  178. package/esm/field/useField.js +7 -3
  179. package/esm/fieldset/legend/FieldsetLegend.d.ts +1 -1
  180. package/esm/fieldset/root/FieldsetRoot.d.ts +1 -1
  181. package/esm/floating-ui-react/components/FloatingFocusManager.js +7 -6
  182. package/esm/floating-ui-react/components/FloatingPortal.d.ts +2 -2
  183. package/esm/floating-ui-react/components/FloatingPortal.js +11 -2
  184. package/esm/floating-ui-react/hooks/useClientPoint.js +5 -4
  185. package/esm/floating-ui-react/hooks/useDismiss.js +16 -3
  186. package/esm/floating-ui-react/hooks/useFocus.d.ts +5 -0
  187. package/esm/floating-ui-react/hooks/useFocus.js +43 -9
  188. package/esm/floating-ui-react/hooks/useHoverReferenceInteraction.js +17 -4
  189. package/esm/floating-ui-react/hooks/useSyncedFloatingRootContext.js +3 -0
  190. package/esm/form/Form.d.ts +18 -1
  191. package/esm/form/Form.js +17 -0
  192. package/esm/form/FormContext.d.ts +1 -1
  193. package/esm/index.d.ts +1 -0
  194. package/esm/index.js +2 -1
  195. package/esm/input/Input.d.ts +1 -1
  196. package/esm/menu/arrow/MenuArrow.d.ts +1 -1
  197. package/esm/menu/backdrop/MenuBackdrop.d.ts +1 -1
  198. package/esm/menu/checkbox-item/MenuCheckboxItem.d.ts +1 -1
  199. package/esm/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.d.ts +1 -1
  200. package/esm/menu/group/MenuGroup.d.ts +1 -1
  201. package/esm/menu/group-label/MenuGroupLabel.d.ts +1 -1
  202. package/esm/menu/item/MenuItem.d.ts +1 -1
  203. package/esm/menu/popup/MenuPopup.d.ts +1 -1
  204. package/esm/menu/popup/MenuPopup.js +4 -3
  205. package/esm/menu/portal/MenuPortal.d.ts +1 -1
  206. package/esm/menu/positioner/MenuPositioner.d.ts +1 -1
  207. package/esm/menu/radio-group/MenuRadioGroup.d.ts +1 -1
  208. package/esm/menu/radio-item/MenuRadioItem.d.ts +1 -1
  209. package/esm/menu/radio-item-indicator/MenuRadioItemIndicator.d.ts +1 -1
  210. package/esm/menu/root/MenuRoot.d.ts +7 -6
  211. package/esm/menu/root/MenuRoot.js +4 -2
  212. package/esm/menu/store/MenuStore.js +3 -3
  213. package/esm/menu/submenu-trigger/MenuSubmenuTrigger.d.ts +1 -1
  214. package/esm/menu/trigger/MenuTrigger.js +13 -13
  215. package/esm/menubar/Menubar.d.ts +1 -1
  216. package/esm/merge-props/mergeProps.d.ts +31 -11
  217. package/esm/merge-props/mergeProps.js +29 -8
  218. package/esm/meter/indicator/MeterIndicator.d.ts +1 -1
  219. package/esm/meter/label/MeterLabel.d.ts +1 -1
  220. package/esm/meter/root/MeterRoot.d.ts +1 -1
  221. package/esm/meter/track/MeterTrack.d.ts +1 -1
  222. package/esm/meter/value/MeterValue.d.ts +1 -1
  223. package/esm/navigation-menu/arrow/NavigationMenuArrow.d.ts +1 -1
  224. package/esm/navigation-menu/backdrop/NavigationMenuBackdrop.d.ts +1 -1
  225. package/esm/navigation-menu/content/NavigationMenuContent.d.ts +1 -1
  226. package/esm/navigation-menu/content/NavigationMenuContent.js +6 -0
  227. package/esm/navigation-menu/icon/NavigationMenuIcon.d.ts +1 -1
  228. package/esm/navigation-menu/item/NavigationMenuItem.d.ts +1 -1
  229. package/esm/navigation-menu/link/NavigationMenuLink.d.ts +1 -1
  230. package/esm/navigation-menu/list/NavigationMenuList.d.ts +1 -1
  231. package/esm/navigation-menu/popup/NavigationMenuPopup.d.ts +1 -1
  232. package/esm/navigation-menu/portal/NavigationMenuPortal.d.ts +1 -1
  233. package/esm/navigation-menu/positioner/NavigationMenuPositioner.d.ts +1 -1
  234. package/esm/navigation-menu/root/NavigationMenuRoot.d.ts +2 -2
  235. package/esm/navigation-menu/trigger/NavigationMenuTrigger.d.ts +1 -1
  236. package/esm/navigation-menu/viewport/NavigationMenuViewport.d.ts +1 -1
  237. package/esm/number-field/decrement/NumberFieldDecrement.d.ts +1 -1
  238. package/esm/number-field/decrement/NumberFieldDecrement.js +4 -6
  239. package/esm/number-field/group/NumberFieldGroup.d.ts +1 -1
  240. package/esm/number-field/increment/NumberFieldIncrement.d.ts +1 -1
  241. package/esm/number-field/increment/NumberFieldIncrement.js +4 -6
  242. package/esm/number-field/input/NumberFieldInput.d.ts +1 -1
  243. package/esm/number-field/input/NumberFieldInput.js +5 -2
  244. package/esm/number-field/root/NumberFieldRoot.d.ts +5 -4
  245. package/esm/number-field/root/NumberFieldRoot.js +12 -5
  246. package/esm/number-field/root/useNumberFieldButton.d.ts +0 -3
  247. package/esm/number-field/root/useNumberFieldButton.js +5 -11
  248. package/esm/number-field/scrub-area/NumberFieldScrubArea.d.ts +1 -1
  249. package/esm/number-field/scrub-area-cursor/NumberFieldScrubAreaCursor.d.ts +1 -1
  250. package/esm/popover/arrow/PopoverArrow.d.ts +1 -1
  251. package/esm/popover/backdrop/PopoverBackdrop.d.ts +1 -1
  252. package/esm/popover/close/PopoverClose.d.ts +1 -1
  253. package/esm/popover/description/PopoverDescription.d.ts +1 -1
  254. package/esm/popover/popup/PopoverPopup.d.ts +1 -1
  255. package/esm/popover/popup/PopoverPopup.js +0 -30
  256. package/esm/popover/portal/PopoverPortal.d.ts +1 -1
  257. package/esm/popover/positioner/PopoverPositioner.d.ts +1 -1
  258. package/esm/popover/positioner/PopoverPositioner.js +2 -1
  259. package/esm/popover/root/PopoverRoot.d.ts +2 -2
  260. package/esm/popover/store/PopoverStore.d.ts +4 -2
  261. package/esm/popover/store/PopoverStore.js +8 -5
  262. package/esm/popover/title/PopoverTitle.d.ts +1 -1
  263. package/esm/popover/trigger/PopoverTrigger.js +2 -2
  264. package/esm/popover/viewport/PopoverViewport.d.ts +1 -1
  265. package/esm/popover/viewport/PopoverViewport.js +28 -12
  266. package/esm/preview-card/arrow/PreviewCardArrow.d.ts +1 -1
  267. package/esm/preview-card/arrow/PreviewCardArrow.js +2 -3
  268. package/esm/preview-card/backdrop/PreviewCardBackdrop.d.ts +1 -1
  269. package/esm/preview-card/backdrop/PreviewCardBackdrop.js +4 -5
  270. package/esm/preview-card/index.parts.d.ts +3 -1
  271. package/esm/preview-card/index.parts.js +3 -1
  272. package/esm/preview-card/popup/PreviewCardPopup.d.ts +2 -1
  273. package/esm/preview-card/popup/PreviewCardPopup.js +17 -11
  274. package/esm/preview-card/portal/PreviewCardPortal.d.ts +1 -1
  275. package/esm/preview-card/portal/PreviewCardPortal.js +2 -3
  276. package/esm/preview-card/positioner/PreviewCardPositioner.d.ts +2 -1
  277. package/esm/preview-card/positioner/PreviewCardPositioner.js +16 -11
  278. package/esm/preview-card/root/PreviewCardContext.d.ts +5 -26
  279. package/esm/preview-card/root/PreviewCardContext.js +2 -2
  280. package/esm/preview-card/root/PreviewCardRoot.d.ts +35 -10
  281. package/esm/preview-card/root/PreviewCardRoot.js +61 -116
  282. package/esm/preview-card/store/PreviewCardHandle.d.ts +33 -0
  283. package/esm/preview-card/store/PreviewCardHandle.js +55 -0
  284. package/esm/preview-card/store/PreviewCardStore.d.ts +36 -0
  285. package/esm/preview-card/store/PreviewCardStore.js +97 -0
  286. package/esm/preview-card/trigger/PreviewCardTrigger.d.ts +15 -3
  287. package/esm/preview-card/trigger/PreviewCardTrigger.js +49 -13
  288. package/esm/preview-card/viewport/PreviewCardViewport.d.ts +22 -0
  289. package/esm/preview-card/viewport/PreviewCardViewport.js +272 -0
  290. package/esm/preview-card/viewport/PreviewCardViewportCssVars.d.ts +14 -0
  291. package/esm/preview-card/viewport/PreviewCardViewportCssVars.js +15 -0
  292. package/esm/preview-card/viewport/PreviewCardViewportDataAttributes.d.ts +26 -0
  293. package/esm/preview-card/viewport/PreviewCardViewportDataAttributes.js +27 -0
  294. package/esm/progress/indicator/ProgressIndicator.d.ts +1 -1
  295. package/esm/progress/label/ProgressLabel.d.ts +1 -1
  296. package/esm/progress/root/ProgressRoot.d.ts +1 -1
  297. package/esm/progress/track/ProgressTrack.d.ts +1 -1
  298. package/esm/progress/value/ProgressValue.d.ts +1 -1
  299. package/esm/radio/indicator/RadioIndicator.d.ts +1 -1
  300. package/esm/radio/root/RadioRoot.d.ts +1 -1
  301. package/esm/radio/root/RadioRoot.js +9 -9
  302. package/esm/radio-group/RadioGroup.d.ts +4 -4
  303. package/esm/radio-group/RadioGroup.js +2 -2
  304. package/esm/scroll-area/content/ScrollAreaContent.d.ts +1 -1
  305. package/esm/scroll-area/content/ScrollAreaContent.js +10 -1
  306. package/esm/scroll-area/corner/ScrollAreaCorner.d.ts +1 -1
  307. package/esm/scroll-area/corner/ScrollAreaCorner.js +1 -1
  308. package/esm/scroll-area/root/ScrollAreaRoot.d.ts +26 -2
  309. package/esm/scroll-area/root/ScrollAreaRoot.js +33 -29
  310. package/esm/scroll-area/root/ScrollAreaRootContext.d.ts +10 -43
  311. package/esm/scroll-area/scrollbar/ScrollAreaScrollbar.d.ts +1 -1
  312. package/esm/scroll-area/scrollbar/ScrollAreaScrollbar.js +4 -4
  313. package/esm/scroll-area/thumb/ScrollAreaThumb.d.ts +2 -2
  314. package/esm/scroll-area/thumb/ScrollAreaThumb.js +1 -1
  315. package/esm/scroll-area/viewport/ScrollAreaViewport.d.ts +1 -1
  316. package/esm/scroll-area/viewport/ScrollAreaViewport.js +51 -25
  317. package/esm/select/arrow/SelectArrow.d.ts +1 -1
  318. package/esm/select/backdrop/SelectBackdrop.d.ts +1 -1
  319. package/esm/select/group/SelectGroup.d.ts +1 -1
  320. package/esm/select/group-label/SelectGroupLabel.d.ts +1 -1
  321. package/esm/select/icon/SelectIcon.d.ts +1 -1
  322. package/esm/select/item/SelectItem.d.ts +1 -1
  323. package/esm/select/item/SelectItem.js +0 -1
  324. package/esm/select/item-indicator/SelectItemIndicator.d.ts +1 -1
  325. package/esm/select/item-text/SelectItemText.d.ts +1 -1
  326. package/esm/select/list/SelectList.d.ts +1 -1
  327. package/esm/select/popup/SelectPopup.d.ts +1 -1
  328. package/esm/select/popup/SelectPopup.js +154 -95
  329. package/esm/select/portal/SelectPortal.d.ts +1 -1
  330. package/esm/select/positioner/SelectPositioner.d.ts +1 -1
  331. package/esm/select/root/SelectRoot.d.ts +2 -2
  332. package/esm/select/root/SelectRoot.js +26 -13
  333. package/esm/select/scroll-arrow/SelectScrollArrow.d.ts +1 -1
  334. package/esm/select/scroll-down-arrow/SelectScrollDownArrow.d.ts +1 -1
  335. package/esm/select/scroll-up-arrow/SelectScrollUpArrow.d.ts +1 -1
  336. package/esm/select/store.d.ts +2 -1
  337. package/esm/select/store.js +19 -13
  338. package/esm/select/trigger/SelectTrigger.d.ts +14 -4
  339. package/esm/select/trigger/SelectTrigger.js +50 -18
  340. package/esm/select/value/SelectValue.d.ts +6 -1
  341. package/esm/select/value/SelectValue.js +19 -5
  342. package/esm/separator/Separator.d.ts +1 -1
  343. package/esm/slider/control/SliderControl.d.ts +1 -1
  344. package/esm/slider/control/SliderControl.js +1 -1
  345. package/esm/slider/control/SliderControlDataAttributes.d.ts +0 -8
  346. package/esm/slider/control/SliderControlDataAttributes.js +0 -8
  347. package/esm/slider/indicator/SliderIndicator.d.ts +1 -1
  348. package/esm/slider/indicator/SliderIndicatorDataAttributes.d.ts +0 -8
  349. package/esm/slider/indicator/SliderIndicatorDataAttributes.js +0 -8
  350. package/esm/slider/root/SliderRootDataAttributes.d.ts +0 -8
  351. package/esm/slider/root/SliderRootDataAttributes.js +0 -8
  352. package/esm/slider/thumb/SliderThumb.d.ts +2 -2
  353. package/esm/slider/thumb/SliderThumb.js +7 -1
  354. package/esm/slider/thumb/SliderThumbDataAttributes.d.ts +0 -8
  355. package/esm/slider/thumb/SliderThumbDataAttributes.js +0 -8
  356. package/esm/slider/track/SliderTrack.d.ts +1 -1
  357. package/esm/slider/track/SliderTrackDataAttributes.d.ts +0 -8
  358. package/esm/slider/track/SliderTrackDataAttributes.js +0 -8
  359. package/esm/slider/value/SliderValue.d.ts +1 -1
  360. package/esm/slider/value/SliderValueDataAttributes.d.ts +0 -8
  361. package/esm/slider/value/SliderValueDataAttributes.js +0 -8
  362. package/esm/switch/root/SwitchRoot.d.ts +6 -1
  363. package/esm/switch/root/SwitchRoot.js +15 -6
  364. package/esm/switch/thumb/SwitchThumb.d.ts +1 -1
  365. package/esm/tabs/indicator/TabsIndicator.d.ts +1 -1
  366. package/esm/tabs/indicator/TabsIndicator.js +6 -0
  367. package/esm/tabs/list/TabsList.d.ts +1 -1
  368. package/esm/tabs/panel/TabsPanel.d.ts +1 -1
  369. package/esm/tabs/root/TabsRoot.d.ts +1 -1
  370. package/esm/tabs/tab/TabsTab.d.ts +1 -1
  371. package/esm/toast/action/ToastAction.d.ts +1 -1
  372. package/esm/toast/arrow/ToastArrow.d.ts +1 -1
  373. package/esm/toast/close/ToastClose.d.ts +1 -1
  374. package/esm/toast/content/ToastContent.d.ts +1 -1
  375. package/esm/toast/description/ToastDescription.d.ts +1 -1
  376. package/esm/toast/portal/ToastPortal.d.ts +1 -1
  377. package/esm/toast/positioner/ToastPositioner.d.ts +1 -1
  378. package/esm/toast/provider/ToastProvider.js +46 -19
  379. package/esm/toast/root/ToastRoot.d.ts +1 -1
  380. package/esm/toast/title/ToastTitle.d.ts +1 -1
  381. package/esm/toast/viewport/ToastViewport.d.ts +1 -1
  382. package/esm/toggle/Toggle.d.ts +1 -1
  383. package/esm/toggle-group/ToggleGroup.d.ts +1 -1
  384. package/esm/toolbar/button/ToolbarButton.d.ts +1 -1
  385. package/esm/toolbar/group/ToolbarGroup.d.ts +1 -1
  386. package/esm/toolbar/input/ToolbarInput.d.ts +1 -1
  387. package/esm/toolbar/link/ToolbarLink.d.ts +1 -1
  388. package/esm/toolbar/root/ToolbarRoot.d.ts +1 -1
  389. package/esm/toolbar/separator/ToolbarSeparator.d.ts +1 -1
  390. package/esm/tooltip/arrow/TooltipArrow.d.ts +1 -1
  391. package/esm/tooltip/popup/TooltipPopup.d.ts +1 -1
  392. package/esm/tooltip/popup/TooltipPopup.js +0 -31
  393. package/esm/tooltip/portal/TooltipPortal.d.ts +1 -1
  394. package/esm/tooltip/positioner/TooltipPositioner.d.ts +1 -1
  395. package/esm/tooltip/positioner/TooltipPositioner.js +2 -1
  396. package/esm/tooltip/root/TooltipRoot.d.ts +4 -6
  397. package/esm/tooltip/root/TooltipRoot.js +1 -2
  398. package/esm/tooltip/store/TooltipStore.d.ts +4 -2
  399. package/esm/tooltip/store/TooltipStore.js +7 -4
  400. package/esm/tooltip/trigger/TooltipTrigger.js +1 -1
  401. package/esm/tooltip/viewport/TooltipViewport.d.ts +1 -1
  402. package/esm/tooltip/viewport/TooltipViewport.js +28 -12
  403. package/esm/use-render/index.d.ts +2 -1
  404. package/esm/use-render/index.js +2 -1
  405. package/esm/utils/FloatingPortalLite.d.ts +1 -1
  406. package/esm/utils/popups/popupStoreUtils.js +21 -2
  407. package/esm/utils/resolveValueLabel.d.ts +5 -1
  408. package/esm/utils/resolveValueLabel.js +46 -22
  409. package/esm/utils/styles.d.ts +1 -1
  410. package/esm/utils/styles.js +10 -6
  411. package/esm/utils/types.d.ts +1 -1
  412. package/esm/utils/useAnimationsFinished.d.ts +2 -2
  413. package/esm/utils/useAnimationsFinished.js +56 -33
  414. package/esm/utils/useOpenChangeComplete.js +8 -10
  415. package/esm/utils/useOpenInteractionType.js +6 -1
  416. package/esm/utils/usePopupAutoResize.js +82 -46
  417. package/field/control/FieldControl.d.ts +1 -1
  418. package/field/description/FieldDescription.d.ts +1 -1
  419. package/field/error/FieldError.d.ts +1 -1
  420. package/field/index.d.ts +2 -1
  421. package/field/item/FieldItem.d.ts +1 -1
  422. package/field/label/FieldLabel.d.ts +11 -2
  423. package/field/label/FieldLabel.js +51 -11
  424. package/field/root/FieldRoot.d.ts +10 -1
  425. package/field/root/FieldRoot.js +8 -0
  426. package/field/useField.js +7 -3
  427. package/fieldset/legend/FieldsetLegend.d.ts +1 -1
  428. package/fieldset/root/FieldsetRoot.d.ts +1 -1
  429. package/floating-ui-react/components/FloatingFocusManager.js +7 -6
  430. package/floating-ui-react/components/FloatingPortal.d.ts +2 -2
  431. package/floating-ui-react/components/FloatingPortal.js +11 -2
  432. package/floating-ui-react/hooks/useClientPoint.js +5 -4
  433. package/floating-ui-react/hooks/useDismiss.js +16 -3
  434. package/floating-ui-react/hooks/useFocus.d.ts +5 -0
  435. package/floating-ui-react/hooks/useFocus.js +43 -9
  436. package/floating-ui-react/hooks/useHoverReferenceInteraction.js +17 -4
  437. package/floating-ui-react/hooks/useSyncedFloatingRootContext.js +3 -0
  438. package/form/Form.d.ts +18 -1
  439. package/form/Form.js +17 -0
  440. package/form/FormContext.d.ts +1 -1
  441. package/index.d.ts +1 -0
  442. package/index.js +12 -1
  443. package/input/Input.d.ts +1 -1
  444. package/menu/arrow/MenuArrow.d.ts +1 -1
  445. package/menu/backdrop/MenuBackdrop.d.ts +1 -1
  446. package/menu/checkbox-item/MenuCheckboxItem.d.ts +1 -1
  447. package/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.d.ts +1 -1
  448. package/menu/group/MenuGroup.d.ts +1 -1
  449. package/menu/group-label/MenuGroupLabel.d.ts +1 -1
  450. package/menu/item/MenuItem.d.ts +1 -1
  451. package/menu/popup/MenuPopup.d.ts +1 -1
  452. package/menu/popup/MenuPopup.js +4 -3
  453. package/menu/portal/MenuPortal.d.ts +1 -1
  454. package/menu/positioner/MenuPositioner.d.ts +1 -1
  455. package/menu/radio-group/MenuRadioGroup.d.ts +1 -1
  456. package/menu/radio-item/MenuRadioItem.d.ts +1 -1
  457. package/menu/radio-item-indicator/MenuRadioItemIndicator.d.ts +1 -1
  458. package/menu/root/MenuRoot.d.ts +7 -6
  459. package/menu/root/MenuRoot.js +4 -2
  460. package/menu/store/MenuStore.js +3 -3
  461. package/menu/submenu-trigger/MenuSubmenuTrigger.d.ts +1 -1
  462. package/menu/trigger/MenuTrigger.js +14 -14
  463. package/menubar/Menubar.d.ts +1 -1
  464. package/merge-props/mergeProps.d.ts +31 -11
  465. package/merge-props/mergeProps.js +29 -8
  466. package/meter/indicator/MeterIndicator.d.ts +1 -1
  467. package/meter/label/MeterLabel.d.ts +1 -1
  468. package/meter/root/MeterRoot.d.ts +1 -1
  469. package/meter/track/MeterTrack.d.ts +1 -1
  470. package/meter/value/MeterValue.d.ts +1 -1
  471. package/navigation-menu/arrow/NavigationMenuArrow.d.ts +1 -1
  472. package/navigation-menu/backdrop/NavigationMenuBackdrop.d.ts +1 -1
  473. package/navigation-menu/content/NavigationMenuContent.d.ts +1 -1
  474. package/navigation-menu/content/NavigationMenuContent.js +6 -0
  475. package/navigation-menu/icon/NavigationMenuIcon.d.ts +1 -1
  476. package/navigation-menu/item/NavigationMenuItem.d.ts +1 -1
  477. package/navigation-menu/link/NavigationMenuLink.d.ts +1 -1
  478. package/navigation-menu/list/NavigationMenuList.d.ts +1 -1
  479. package/navigation-menu/popup/NavigationMenuPopup.d.ts +1 -1
  480. package/navigation-menu/portal/NavigationMenuPortal.d.ts +1 -1
  481. package/navigation-menu/positioner/NavigationMenuPositioner.d.ts +1 -1
  482. package/navigation-menu/root/NavigationMenuRoot.d.ts +2 -2
  483. package/navigation-menu/trigger/NavigationMenuTrigger.d.ts +1 -1
  484. package/navigation-menu/viewport/NavigationMenuViewport.d.ts +1 -1
  485. package/number-field/decrement/NumberFieldDecrement.d.ts +1 -1
  486. package/number-field/decrement/NumberFieldDecrement.js +4 -6
  487. package/number-field/group/NumberFieldGroup.d.ts +1 -1
  488. package/number-field/increment/NumberFieldIncrement.d.ts +1 -1
  489. package/number-field/increment/NumberFieldIncrement.js +4 -6
  490. package/number-field/input/NumberFieldInput.d.ts +1 -1
  491. package/number-field/input/NumberFieldInput.js +5 -2
  492. package/number-field/root/NumberFieldRoot.d.ts +5 -4
  493. package/number-field/root/NumberFieldRoot.js +11 -4
  494. package/number-field/root/useNumberFieldButton.d.ts +0 -3
  495. package/number-field/root/useNumberFieldButton.js +5 -11
  496. package/number-field/scrub-area/NumberFieldScrubArea.d.ts +1 -1
  497. package/number-field/scrub-area-cursor/NumberFieldScrubAreaCursor.d.ts +1 -1
  498. package/package.json +13 -3
  499. package/popover/arrow/PopoverArrow.d.ts +1 -1
  500. package/popover/backdrop/PopoverBackdrop.d.ts +1 -1
  501. package/popover/close/PopoverClose.d.ts +1 -1
  502. package/popover/description/PopoverDescription.d.ts +1 -1
  503. package/popover/popup/PopoverPopup.d.ts +1 -1
  504. package/popover/popup/PopoverPopup.js +0 -30
  505. package/popover/portal/PopoverPortal.d.ts +1 -1
  506. package/popover/positioner/PopoverPositioner.d.ts +1 -1
  507. package/popover/positioner/PopoverPositioner.js +2 -1
  508. package/popover/root/PopoverRoot.d.ts +2 -2
  509. package/popover/store/PopoverStore.d.ts +4 -2
  510. package/popover/store/PopoverStore.js +8 -5
  511. package/popover/title/PopoverTitle.d.ts +1 -1
  512. package/popover/trigger/PopoverTrigger.js +2 -2
  513. package/popover/viewport/PopoverViewport.d.ts +1 -1
  514. package/popover/viewport/PopoverViewport.js +28 -12
  515. package/preview-card/arrow/PreviewCardArrow.d.ts +1 -1
  516. package/preview-card/arrow/PreviewCardArrow.js +2 -3
  517. package/preview-card/backdrop/PreviewCardBackdrop.d.ts +1 -1
  518. package/preview-card/backdrop/PreviewCardBackdrop.js +4 -5
  519. package/preview-card/index.parts.d.ts +3 -1
  520. package/preview-card/index.parts.js +21 -1
  521. package/preview-card/popup/PreviewCardPopup.d.ts +2 -1
  522. package/preview-card/popup/PreviewCardPopup.js +17 -11
  523. package/preview-card/portal/PreviewCardPortal.d.ts +1 -1
  524. package/preview-card/portal/PreviewCardPortal.js +2 -3
  525. package/preview-card/positioner/PreviewCardPositioner.d.ts +2 -1
  526. package/preview-card/positioner/PreviewCardPositioner.js +16 -11
  527. package/preview-card/root/PreviewCardContext.d.ts +5 -26
  528. package/preview-card/root/PreviewCardContext.js +2 -2
  529. package/preview-card/root/PreviewCardRoot.d.ts +35 -10
  530. package/preview-card/root/PreviewCardRoot.js +59 -113
  531. package/preview-card/store/PreviewCardHandle.d.ts +33 -0
  532. package/preview-card/store/PreviewCardHandle.js +63 -0
  533. package/preview-card/store/PreviewCardStore.d.ts +36 -0
  534. package/preview-card/store/PreviewCardStore.js +105 -0
  535. package/preview-card/trigger/PreviewCardTrigger.d.ts +15 -3
  536. package/preview-card/trigger/PreviewCardTrigger.js +50 -13
  537. package/preview-card/viewport/PreviewCardViewport.d.ts +22 -0
  538. package/preview-card/viewport/PreviewCardViewport.js +278 -0
  539. package/preview-card/viewport/PreviewCardViewportCssVars.d.ts +14 -0
  540. package/preview-card/viewport/PreviewCardViewportCssVars.js +21 -0
  541. package/preview-card/viewport/PreviewCardViewportDataAttributes.d.ts +26 -0
  542. package/preview-card/viewport/PreviewCardViewportDataAttributes.js +33 -0
  543. package/progress/indicator/ProgressIndicator.d.ts +1 -1
  544. package/progress/label/ProgressLabel.d.ts +1 -1
  545. package/progress/root/ProgressRoot.d.ts +1 -1
  546. package/progress/track/ProgressTrack.d.ts +1 -1
  547. package/progress/value/ProgressValue.d.ts +1 -1
  548. package/radio/indicator/RadioIndicator.d.ts +1 -1
  549. package/radio/root/RadioRoot.d.ts +1 -1
  550. package/radio/root/RadioRoot.js +8 -8
  551. package/radio-group/RadioGroup.d.ts +4 -4
  552. package/radio-group/RadioGroup.js +1 -1
  553. package/scroll-area/content/ScrollAreaContent.d.ts +1 -1
  554. package/scroll-area/content/ScrollAreaContent.js +10 -1
  555. package/scroll-area/corner/ScrollAreaCorner.d.ts +1 -1
  556. package/scroll-area/corner/ScrollAreaCorner.js +1 -1
  557. package/scroll-area/root/ScrollAreaRoot.d.ts +26 -2
  558. package/scroll-area/root/ScrollAreaRoot.js +33 -29
  559. package/scroll-area/root/ScrollAreaRootContext.d.ts +10 -43
  560. package/scroll-area/scrollbar/ScrollAreaScrollbar.d.ts +1 -1
  561. package/scroll-area/scrollbar/ScrollAreaScrollbar.js +4 -4
  562. package/scroll-area/thumb/ScrollAreaThumb.d.ts +2 -2
  563. package/scroll-area/thumb/ScrollAreaThumb.js +1 -1
  564. package/scroll-area/viewport/ScrollAreaViewport.d.ts +1 -1
  565. package/scroll-area/viewport/ScrollAreaViewport.js +51 -25
  566. package/select/arrow/SelectArrow.d.ts +1 -1
  567. package/select/backdrop/SelectBackdrop.d.ts +1 -1
  568. package/select/group/SelectGroup.d.ts +1 -1
  569. package/select/group-label/SelectGroupLabel.d.ts +1 -1
  570. package/select/icon/SelectIcon.d.ts +1 -1
  571. package/select/item/SelectItem.d.ts +1 -1
  572. package/select/item/SelectItem.js +0 -1
  573. package/select/item-indicator/SelectItemIndicator.d.ts +1 -1
  574. package/select/item-text/SelectItemText.d.ts +1 -1
  575. package/select/list/SelectList.d.ts +1 -1
  576. package/select/popup/SelectPopup.d.ts +1 -1
  577. package/select/popup/SelectPopup.js +154 -95
  578. package/select/portal/SelectPortal.d.ts +1 -1
  579. package/select/positioner/SelectPositioner.d.ts +1 -1
  580. package/select/root/SelectRoot.d.ts +2 -2
  581. package/select/root/SelectRoot.js +24 -11
  582. package/select/scroll-arrow/SelectScrollArrow.d.ts +1 -1
  583. package/select/scroll-down-arrow/SelectScrollDownArrow.d.ts +1 -1
  584. package/select/scroll-up-arrow/SelectScrollUpArrow.d.ts +1 -1
  585. package/select/store.d.ts +2 -1
  586. package/select/store.js +18 -12
  587. package/select/trigger/SelectTrigger.d.ts +14 -4
  588. package/select/trigger/SelectTrigger.js +50 -18
  589. package/select/value/SelectValue.d.ts +6 -1
  590. package/select/value/SelectValue.js +18 -4
  591. package/separator/Separator.d.ts +1 -1
  592. package/slider/control/SliderControl.d.ts +1 -1
  593. package/slider/control/SliderControl.js +1 -1
  594. package/slider/control/SliderControlDataAttributes.d.ts +0 -8
  595. package/slider/control/SliderControlDataAttributes.js +0 -8
  596. package/slider/indicator/SliderIndicator.d.ts +1 -1
  597. package/slider/indicator/SliderIndicatorDataAttributes.d.ts +0 -8
  598. package/slider/indicator/SliderIndicatorDataAttributes.js +0 -8
  599. package/slider/root/SliderRootDataAttributes.d.ts +0 -8
  600. package/slider/root/SliderRootDataAttributes.js +0 -8
  601. package/slider/thumb/SliderThumb.d.ts +2 -2
  602. package/slider/thumb/SliderThumb.js +7 -1
  603. package/slider/thumb/SliderThumbDataAttributes.d.ts +0 -8
  604. package/slider/thumb/SliderThumbDataAttributes.js +0 -8
  605. package/slider/track/SliderTrack.d.ts +1 -1
  606. package/slider/track/SliderTrackDataAttributes.d.ts +0 -8
  607. package/slider/track/SliderTrackDataAttributes.js +0 -8
  608. package/slider/value/SliderValue.d.ts +1 -1
  609. package/slider/value/SliderValueDataAttributes.d.ts +0 -8
  610. package/slider/value/SliderValueDataAttributes.js +0 -8
  611. package/switch/root/SwitchRoot.d.ts +6 -1
  612. package/switch/root/SwitchRoot.js +14 -5
  613. package/switch/thumb/SwitchThumb.d.ts +1 -1
  614. package/tabs/indicator/TabsIndicator.d.ts +1 -1
  615. package/tabs/indicator/TabsIndicator.js +6 -0
  616. package/tabs/list/TabsList.d.ts +1 -1
  617. package/tabs/panel/TabsPanel.d.ts +1 -1
  618. package/tabs/root/TabsRoot.d.ts +1 -1
  619. package/tabs/tab/TabsTab.d.ts +1 -1
  620. package/toast/action/ToastAction.d.ts +1 -1
  621. package/toast/arrow/ToastArrow.d.ts +1 -1
  622. package/toast/close/ToastClose.d.ts +1 -1
  623. package/toast/content/ToastContent.d.ts +1 -1
  624. package/toast/description/ToastDescription.d.ts +1 -1
  625. package/toast/portal/ToastPortal.d.ts +1 -1
  626. package/toast/positioner/ToastPositioner.d.ts +1 -1
  627. package/toast/provider/ToastProvider.js +46 -19
  628. package/toast/root/ToastRoot.d.ts +1 -1
  629. package/toast/title/ToastTitle.d.ts +1 -1
  630. package/toast/viewport/ToastViewport.d.ts +1 -1
  631. package/toggle/Toggle.d.ts +1 -1
  632. package/toggle-group/ToggleGroup.d.ts +1 -1
  633. package/toolbar/button/ToolbarButton.d.ts +1 -1
  634. package/toolbar/group/ToolbarGroup.d.ts +1 -1
  635. package/toolbar/input/ToolbarInput.d.ts +1 -1
  636. package/toolbar/link/ToolbarLink.d.ts +1 -1
  637. package/toolbar/root/ToolbarRoot.d.ts +1 -1
  638. package/toolbar/separator/ToolbarSeparator.d.ts +1 -1
  639. package/tooltip/arrow/TooltipArrow.d.ts +1 -1
  640. package/tooltip/popup/TooltipPopup.d.ts +1 -1
  641. package/tooltip/popup/TooltipPopup.js +0 -31
  642. package/tooltip/portal/TooltipPortal.d.ts +1 -1
  643. package/tooltip/positioner/TooltipPositioner.d.ts +1 -1
  644. package/tooltip/positioner/TooltipPositioner.js +2 -1
  645. package/tooltip/root/TooltipRoot.d.ts +4 -6
  646. package/tooltip/root/TooltipRoot.js +1 -2
  647. package/tooltip/store/TooltipStore.d.ts +4 -2
  648. package/tooltip/store/TooltipStore.js +7 -4
  649. package/tooltip/trigger/TooltipTrigger.js +1 -1
  650. package/tooltip/viewport/TooltipViewport.d.ts +1 -1
  651. package/tooltip/viewport/TooltipViewport.js +28 -12
  652. package/use-render/index.d.ts +2 -1
  653. package/utils/FloatingPortalLite.d.ts +1 -1
  654. package/utils/popups/popupStoreUtils.js +21 -2
  655. package/utils/resolveValueLabel.d.ts +5 -1
  656. package/utils/resolveValueLabel.js +48 -22
  657. package/utils/styles.d.ts +1 -1
  658. package/utils/styles.js +10 -6
  659. package/utils/types.d.ts +1 -1
  660. package/utils/useAnimationsFinished.d.ts +2 -2
  661. package/utils/useAnimationsFinished.js +56 -33
  662. package/utils/useOpenChangeComplete.js +8 -10
  663. package/utils/useOpenInteractionType.js +6 -1
  664. package/utils/usePopupAutoResize.js +82 -46
  665. package/esm/utils/interactions/useFocusWithDelay.d.ts +0 -9
  666. package/esm/utils/interactions/useFocusWithDelay.js +0 -81
  667. package/utils/interactions/useFocusWithDelay.d.ts +0 -9
  668. package/utils/interactions/useFocusWithDelay.js +0 -87
  669. /package/esm/utils/{useMixedToggleClickHander.d.ts → useMixedToggleClickHandler.d.ts} +0 -0
  670. /package/esm/utils/{useMixedToggleClickHander.js → useMixedToggleClickHandler.js} +0 -0
  671. /package/utils/{useMixedToggleClickHander.d.ts → useMixedToggleClickHandler.d.ts} +0 -0
  672. /package/utils/{useMixedToggleClickHander.js → useMixedToggleClickHandler.js} +0 -0
@@ -16,6 +16,7 @@ var _stateAttributesMapping = require("../root/stateAttributesMapping");
16
16
  var _TabsListContext = require("../list/TabsListContext");
17
17
  var _prehydrationScript = require("./prehydrationScript.min");
18
18
  var _TabsIndicatorCssVars = require("./TabsIndicatorCssVars");
19
+ var _CSPContext = require("../../csp-provider/CSPContext");
19
20
  var _jsxRuntime = require("react/jsx-runtime");
20
21
  const stateAttributesMapping = {
21
22
  ..._stateAttributesMapping.tabsStateAttributesMapping,
@@ -36,6 +37,9 @@ const TabsIndicator = exports.TabsIndicator = /*#__PURE__*/React.forwardRef(func
36
37
  renderBeforeHydration = false,
37
38
  ...elementProps
38
39
  } = componentProps;
40
+ const {
41
+ nonce
42
+ } = (0, _CSPContext.useCSPContext)();
39
43
  const {
40
44
  getTabElementBySelectedValue,
41
45
  orientation,
@@ -147,7 +151,9 @@ const TabsIndicator = exports.TabsIndicator = /*#__PURE__*/React.forwardRef(func
147
151
  }
148
152
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
149
153
  children: [element, !isMounted && renderBeforeHydration && /*#__PURE__*/(0, _jsxRuntime.jsx)("script", {
154
+ nonce: nonce
150
155
  // eslint-disable-next-line react/no-danger
156
+ ,
151
157
  dangerouslySetInnerHTML: {
152
158
  __html: _prehydrationScript.script
153
159
  },
@@ -7,7 +7,7 @@ import type { TabsRoot } from "../root/TabsRoot.js";
7
7
  *
8
8
  * Documentation: [Base UI Tabs](https://base-ui.com/react/components/tabs)
9
9
  */
10
- export declare const TabsList: React.ForwardRefExoticComponent<TabsListProps & React.RefAttributes<HTMLDivElement>>;
10
+ export declare const TabsList: React.ForwardRefExoticComponent<Omit<TabsListProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
11
11
  export interface TabsListState extends TabsRoot.State {}
12
12
  export interface TabsListProps extends BaseUIComponentProps<'div', TabsList.State> {
13
13
  /**
@@ -8,7 +8,7 @@ import type { TabsTab } from "../tab/TabsTab.js";
8
8
  *
9
9
  * Documentation: [Base UI Tabs](https://base-ui.com/react/components/tabs)
10
10
  */
11
- export declare const TabsPanel: React.ForwardRefExoticComponent<TabsPanelProps & React.RefAttributes<HTMLDivElement>>;
11
+ export declare const TabsPanel: React.ForwardRefExoticComponent<Omit<TabsPanelProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
12
  export interface TabsPanelMetadata {
13
13
  id?: string;
14
14
  value: TabsTab.Value;
@@ -9,7 +9,7 @@ import { REASONS } from "../../utils/reasons.js";
9
9
  *
10
10
  * Documentation: [Base UI Tabs](https://base-ui.com/react/components/tabs)
11
11
  */
12
- export declare const TabsRoot: React.ForwardRefExoticComponent<TabsRootProps & React.RefAttributes<HTMLDivElement>>;
12
+ export declare const TabsRoot: React.ForwardRefExoticComponent<Omit<TabsRootProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
13
13
  export type TabsRootOrientation = BaseOrientation;
14
14
  export interface TabsRootState {
15
15
  orientation: TabsRoot.Orientation;
@@ -7,7 +7,7 @@ import type { TabsRoot } from "../root/TabsRoot.js";
7
7
  *
8
8
  * Documentation: [Base UI Tabs](https://base-ui.com/react/components/tabs)
9
9
  */
10
- export declare const TabsTab: React.ForwardRefExoticComponent<TabsTabProps & React.RefAttributes<Element>>;
10
+ export declare const TabsTab: React.ForwardRefExoticComponent<Omit<TabsTabProps, "ref"> & React.RefAttributes<HTMLElement>>;
11
11
  export type TabsTabValue = any | null;
12
12
  export type TabsTabActivationDirection = 'left' | 'right' | 'up' | 'down' | 'none';
13
13
  export interface TabsTabPosition {
@@ -6,7 +6,7 @@ import type { BaseUIComponentProps, NativeButtonProps } from "../../utils/types.
6
6
  *
7
7
  * Documentation: [Base UI Toast](https://base-ui.com/react/components/toast)
8
8
  */
9
- export declare const ToastAction: React.ForwardRefExoticComponent<ToastActionProps & React.RefAttributes<HTMLButtonElement>>;
9
+ export declare const ToastAction: React.ForwardRefExoticComponent<Omit<ToastActionProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
10
10
  export interface ToastActionState {
11
11
  /**
12
12
  * The type of the toast.
@@ -7,7 +7,7 @@ import type { Side, Align } from "../../utils/useAnchorPositioning.js";
7
7
  *
8
8
  * Documentation: [Base UI Toast](https://base-ui.com/react/components/toast)
9
9
  */
10
- export declare const ToastArrow: React.ForwardRefExoticComponent<ToastArrowProps & React.RefAttributes<HTMLDivElement>>;
10
+ export declare const ToastArrow: React.ForwardRefExoticComponent<Omit<ToastArrowProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
11
11
  export interface ToastArrowState {
12
12
  side: Side;
13
13
  align: Align;
@@ -6,7 +6,7 @@ import type { BaseUIComponentProps, NativeButtonProps } from "../../utils/types.
6
6
  *
7
7
  * Documentation: [Base UI Toast](https://base-ui.com/react/components/toast)
8
8
  */
9
- export declare const ToastClose: React.ForwardRefExoticComponent<ToastCloseProps & React.RefAttributes<HTMLButtonElement>>;
9
+ export declare const ToastClose: React.ForwardRefExoticComponent<Omit<ToastCloseProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
10
10
  export interface ToastCloseState {
11
11
  /**
12
12
  * The type of the toast.
@@ -6,7 +6,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
6
6
  *
7
7
  * Documentation: [Base UI Toast](https://base-ui.com/react/components/toast)
8
8
  */
9
- export declare const ToastContent: React.ForwardRefExoticComponent<ToastContentProps & React.RefAttributes<HTMLDivElement>>;
9
+ export declare const ToastContent: React.ForwardRefExoticComponent<Omit<ToastContentProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
10
  export interface ToastContentState {
11
11
  /**
12
12
  * Whether the toast viewport is expanded.
@@ -7,7 +7,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
7
7
  *
8
8
  * Documentation: [Base UI Toast](https://base-ui.com/react/components/toast)
9
9
  */
10
- export declare const ToastDescription: React.ForwardRefExoticComponent<ToastDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
10
+ export declare const ToastDescription: React.ForwardRefExoticComponent<Omit<ToastDescriptionProps, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
11
11
  export interface ToastDescriptionState {
12
12
  /**
13
13
  * The type of the toast.
@@ -6,7 +6,7 @@ import { FloatingPortalLite } from "../../utils/FloatingPortalLite.js";
6
6
  *
7
7
  * Documentation: [Base UI Toast](https://base-ui.com/react/components/toast)
8
8
  */
9
- export declare const ToastPortal: import("react").ForwardRefExoticComponent<FloatingPortalLite.Props<any> & import("react").RefAttributes<HTMLDivElement>>;
9
+ export declare const ToastPortal: import("react").ForwardRefExoticComponent<Omit<FloatingPortalLite.Props<any>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
10
10
  export declare namespace ToastPortal {
11
11
  interface State {}
12
12
  }
@@ -8,7 +8,7 @@ import type { ToastObject } from "../useToastManager.js";
8
8
  *
9
9
  * Documentation: [Base UI Toast](https://base-ui.com/react/components/toast)
10
10
  */
11
- export declare const ToastPositioner: React.ForwardRefExoticComponent<ToastPositionerProps & React.RefAttributes<HTMLDivElement>>;
11
+ export declare const ToastPositioner: React.ForwardRefExoticComponent<Omit<ToastPositionerProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
12
  export interface ToastPositionerState {
13
13
  side: Side;
14
14
  align: Align;
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.ToastProvider = void 0;
9
9
  var React = _interopRequireWildcard(require("react"));
10
+ var ReactDOM = _interopRequireWildcard(require("react-dom"));
10
11
  var _owner = require("@base-ui/utils/owner");
11
12
  var _useStableCallback = require("@base-ui/utils/useStableCallback");
12
13
  var _generateId = require("@base-ui/utils/generateId");
@@ -202,10 +203,48 @@ const ToastProvider = exports.ToastProvider = function ToastProvider(props) {
202
203
  return id;
203
204
  });
204
205
  const update = (0, _useStableCallback.useStableCallback)((id, updates) => {
205
- setToasts(prev => prev.map(toast => toast.id === id ? {
206
- ...toast,
206
+ const prevToast = toasts.find(toast => toast.id === id) ?? null;
207
+ const nextToast = prevToast ? {
208
+ ...prevToast,
207
209
  ...updates
208
- } : toast));
210
+ } : null;
211
+
212
+ // Avoid race conditions if `update()` is called multiple times in a row
213
+ ReactDOM.flushSync(() => {
214
+ setToasts(prev => prev.map(toast => toast.id === id ? {
215
+ ...toast,
216
+ ...updates
217
+ } : toast));
218
+ });
219
+ if (!nextToast) {
220
+ return;
221
+ }
222
+ const nextTimeout = nextToast.timeout ?? timeout;
223
+ const prevTimeout = prevToast?.timeout ?? timeout;
224
+ const timeoutUpdated = Object.hasOwn(updates, 'timeout');
225
+ const shouldHaveTimer = nextToast.transitionStatus !== 'ending' && nextToast.type !== 'loading' && nextTimeout > 0;
226
+ const hasTimer = timersRef.current.has(id);
227
+ const timeoutChanged = prevTimeout !== nextTimeout;
228
+ const wasLoading = prevToast?.type === 'loading';
229
+ if (!shouldHaveTimer && hasTimer) {
230
+ const timer = timersRef.current.get(id);
231
+ timer?.timeout?.clear();
232
+ timersRef.current.delete(id);
233
+ return;
234
+ }
235
+
236
+ // Schedule or reschedule timer if needed
237
+ if (shouldHaveTimer && (!hasTimer || timeoutChanged || timeoutUpdated || wasLoading)) {
238
+ const timer = timersRef.current.get(id);
239
+ if (timer) {
240
+ timer.timeout?.clear();
241
+ timersRef.current.delete(id);
242
+ }
243
+ scheduleTimer(id, nextTimeout, () => close(id));
244
+ if (hovering || focused || !windowFocusedRef.current) {
245
+ pauseTimers();
246
+ }
247
+ }
209
248
  });
210
249
  const promise = (0, _useStableCallback.useStableCallback)((promiseValue, options) => {
211
250
  // Create a loading toast (which does not auto-dismiss).
@@ -218,29 +257,17 @@ const ToastProvider = exports.ToastProvider = function ToastProvider(props) {
218
257
  const successOptions = (0, _resolvePromiseOptions.resolvePromiseOptions)(options.success, result);
219
258
  update(id, {
220
259
  ...successOptions,
221
- type: 'success'
260
+ type: 'success',
261
+ timeout: successOptions.timeout
222
262
  });
223
- const successTimeout = successOptions.timeout ?? timeout;
224
- if (successTimeout > 0) {
225
- scheduleTimer(id, successTimeout, () => close(id));
226
- }
227
- if (hovering || focused || !windowFocusedRef.current) {
228
- pauseTimers();
229
- }
230
263
  return result;
231
264
  }).catch(error => {
232
265
  const errorOptions = (0, _resolvePromiseOptions.resolvePromiseOptions)(options.error, error);
233
266
  update(id, {
234
267
  ...errorOptions,
235
- type: 'error'
268
+ type: 'error',
269
+ timeout: errorOptions.timeout
236
270
  });
237
- const errorTimeout = errorOptions.timeout ?? timeout;
238
- if (errorTimeout > 0) {
239
- scheduleTimer(id, errorTimeout, () => close(id));
240
- }
241
- if (hovering || focused || !windowFocusedRef.current) {
242
- pauseTimers();
243
- }
244
271
  return Promise.reject(error);
245
272
  });
246
273
 
@@ -8,7 +8,7 @@ import type { TransitionStatus } from "../../utils/useTransitionStatus.js";
8
8
  *
9
9
  * Documentation: [Base UI Toast](https://base-ui.com/react/components/toast)
10
10
  */
11
- export declare const ToastRoot: React.ForwardRefExoticComponent<ToastRootProps & React.RefAttributes<HTMLDivElement>>;
11
+ export declare const ToastRoot: React.ForwardRefExoticComponent<Omit<ToastRootProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
12
  export type ToastRootToastObject<Data extends object = any> = ToastObjectType<Data>;
13
13
  export interface ToastRootState {
14
14
  transitionStatus: TransitionStatus;
@@ -6,7 +6,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
6
6
  *
7
7
  * Documentation: [Base UI Toast](https://base-ui.com/react/components/toast)
8
8
  */
9
- export declare const ToastTitle: React.ForwardRefExoticComponent<ToastTitleProps & React.RefAttributes<HTMLHeadingElement>>;
9
+ export declare const ToastTitle: React.ForwardRefExoticComponent<Omit<ToastTitleProps, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
10
10
  export interface ToastTitleState {
11
11
  /**
12
12
  * The type of the toast.
@@ -6,7 +6,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
6
6
  *
7
7
  * Documentation: [Base UI Toast](https://base-ui.com/react/components/toast)
8
8
  */
9
- export declare const ToastViewport: React.ForwardRefExoticComponent<ToastViewportProps & React.RefAttributes<HTMLDivElement>>;
9
+ export declare const ToastViewport: React.ForwardRefExoticComponent<Omit<ToastViewportProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
10
  export interface ToastViewportState {
11
11
  /**
12
12
  * Whether toasts are expanded in the viewport.
@@ -8,7 +8,7 @@ import { REASONS } from "../utils/reasons.js";
8
8
  *
9
9
  * Documentation: [Base UI Toggle](https://base-ui.com/react/components/toggle)
10
10
  */
11
- export declare const Toggle: React.ForwardRefExoticComponent<ToggleProps & React.RefAttributes<HTMLButtonElement>>;
11
+ export declare const Toggle: React.ForwardRefExoticComponent<Omit<ToggleProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
12
12
  export interface ToggleState {
13
13
  /**
14
14
  * Whether the toggle is currently pressed.
@@ -7,7 +7,7 @@ import { REASONS } from "../utils/reasons.js";
7
7
  *
8
8
  * Documentation: [Base UI Toggle Group](https://base-ui.com/react/components/toggle-group)
9
9
  */
10
- export declare const ToggleGroup: React.ForwardRefExoticComponent<ToggleGroupProps & React.RefAttributes<HTMLDivElement>>;
10
+ export declare const ToggleGroup: React.ForwardRefExoticComponent<Omit<ToggleGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
11
11
  export interface ToggleGroupState {
12
12
  /**
13
13
  * Whether the component should ignore user interaction.
@@ -7,7 +7,7 @@ import type { ToolbarRoot } from "../root/ToolbarRoot.js";
7
7
  *
8
8
  * Documentation: [Base UI Toolbar](https://base-ui.com/react/components/toolbar)
9
9
  */
10
- export declare const ToolbarButton: React.ForwardRefExoticComponent<ToolbarButtonProps & React.RefAttributes<HTMLButtonElement>>;
10
+ export declare const ToolbarButton: React.ForwardRefExoticComponent<Omit<ToolbarButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
11
11
  export interface ToolbarButtonState extends ToolbarRoot.State {
12
12
  disabled: boolean;
13
13
  focusable: boolean;
@@ -7,7 +7,7 @@ import type { ToolbarRoot } from "../root/ToolbarRoot.js";
7
7
  *
8
8
  * Documentation: [Base UI Toolbar](https://base-ui.com/react/components/toolbar)
9
9
  */
10
- export declare const ToolbarGroup: React.ForwardRefExoticComponent<ToolbarGroupProps & React.RefAttributes<HTMLElement>>;
10
+ export declare const ToolbarGroup: React.ForwardRefExoticComponent<Omit<ToolbarGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
11
11
  export interface ToolbarGroupProps extends BaseUIComponentProps<'div', ToolbarRoot.State> {
12
12
  /**
13
13
  * When `true` all toolbar items in the group are disabled.
@@ -7,7 +7,7 @@ import type { ToolbarRoot } from "../root/ToolbarRoot.js";
7
7
  *
8
8
  * Documentation: [Base UI Toolbar](https://base-ui.com/react/components/toolbar)
9
9
  */
10
- export declare const ToolbarInput: React.ForwardRefExoticComponent<ToolbarInputProps & React.RefAttributes<HTMLInputElement>>;
10
+ export declare const ToolbarInput: React.ForwardRefExoticComponent<Omit<ToolbarInputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
11
11
  export interface ToolbarInputState extends ToolbarRoot.State {
12
12
  disabled: boolean;
13
13
  focusable: boolean;
@@ -7,7 +7,7 @@ import type { ToolbarRoot } from "../root/ToolbarRoot.js";
7
7
  *
8
8
  * Documentation: [Base UI Toolbar](https://base-ui.com/react/components/toolbar)
9
9
  */
10
- export declare const ToolbarLink: React.ForwardRefExoticComponent<ToolbarLinkProps & React.RefAttributes<HTMLAnchorElement>>;
10
+ export declare const ToolbarLink: React.ForwardRefExoticComponent<Omit<ToolbarLinkProps, "ref"> & React.RefAttributes<HTMLAnchorElement>>;
11
11
  export interface ToolbarLinkState {
12
12
  orientation: ToolbarRoot.Orientation;
13
13
  }
@@ -6,7 +6,7 @@ import { BaseUIComponentProps, Orientation as BaseOrientation } from "../../util
6
6
  *
7
7
  * Documentation: [Base UI Toolbar](https://base-ui.com/react/components/toolbar)
8
8
  */
9
- export declare const ToolbarRoot: React.ForwardRefExoticComponent<ToolbarRootProps & React.RefAttributes<HTMLDivElement>>;
9
+ export declare const ToolbarRoot: React.ForwardRefExoticComponent<Omit<ToolbarRootProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
10
  export interface ToolbarRootItemMetadata {
11
11
  focusableWhenDisabled: boolean;
12
12
  }
@@ -7,7 +7,7 @@ import { Separator } from "../../separator/index.js";
7
7
  *
8
8
  * Documentation: [Base UI Toolbar](https://base-ui.com/react/components/toolbar)
9
9
  */
10
- export declare const ToolbarSeparator: React.ForwardRefExoticComponent<ToolbarSeparatorProps & React.RefAttributes<HTMLDivElement>>;
10
+ export declare const ToolbarSeparator: React.ForwardRefExoticComponent<Omit<ToolbarSeparatorProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
11
11
  export interface ToolbarSeparatorProps extends BaseUIComponentProps<'div', Separator.State>, Separator.Props {}
12
12
  export declare namespace ToolbarSeparator {
13
13
  type Props = ToolbarSeparatorProps;
@@ -7,7 +7,7 @@ import type { Side, Align } from "../../utils/useAnchorPositioning.js";
7
7
  *
8
8
  * Documentation: [Base UI Tooltip](https://base-ui.com/react/components/tooltip)
9
9
  */
10
- export declare const TooltipArrow: React.ForwardRefExoticComponent<TooltipArrowProps & React.RefAttributes<HTMLDivElement>>;
10
+ export declare const TooltipArrow: React.ForwardRefExoticComponent<Omit<TooltipArrowProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
11
11
  export interface TooltipArrowState {
12
12
  /**
13
13
  * Whether the tooltip is currently open.
@@ -8,7 +8,7 @@ import type { TransitionStatus } from "../../utils/useTransitionStatus.js";
8
8
  *
9
9
  * Documentation: [Base UI Tooltip](https://base-ui.com/react/components/tooltip)
10
10
  */
11
- export declare const TooltipPopup: React.ForwardRefExoticComponent<TooltipPopupProps & React.RefAttributes<HTMLDivElement>>;
11
+ export declare const TooltipPopup: React.ForwardRefExoticComponent<Omit<TooltipPopupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
12
  export interface TooltipPopupState {
13
13
  /**
14
14
  * Whether the tooltip is currently open.
@@ -13,10 +13,8 @@ var _popupStateMapping = require("../../utils/popupStateMapping");
13
13
  var _stateAttributesMapping = require("../../utils/stateAttributesMapping");
14
14
  var _useOpenChangeComplete = require("../../utils/useOpenChangeComplete");
15
15
  var _useRenderElement = require("../../utils/useRenderElement");
16
- var _usePopupAutoResize = require("../../utils/usePopupAutoResize");
17
16
  var _getDisabledMountTransitionStyles = require("../../utils/getDisabledMountTransitionStyles");
18
17
  var _floatingUiReact = require("../../floating-ui-react");
19
- var _directionProvider = require("../../direction-provider");
20
18
  const stateAttributesMapping = {
21
19
  ..._popupStateMapping.popupStateMapping,
22
20
  ..._stateAttributesMapping.transitionStatusMapping
@@ -40,15 +38,10 @@ const TooltipPopup = exports.TooltipPopup = /*#__PURE__*/React.forwardRef(functi
40
38
  align
41
39
  } = (0, _TooltipPositionerContext.useTooltipPositionerContext)();
42
40
  const open = store.useState('open');
43
- const mounted = store.useState('mounted');
44
41
  const instantType = store.useState('instantType');
45
42
  const transitionStatus = store.useState('transitionStatus');
46
43
  const popupProps = store.useState('popupProps');
47
- const payload = store.useState('payload');
48
- const popupElement = store.useState('popupElement');
49
- const positionerElement = store.useState('positionerElement');
50
44
  const floatingContext = store.useState('floatingRootContext');
51
- const direction = (0, _directionProvider.useDirection)();
52
45
  (0, _useOpenChangeComplete.useOpenChangeComplete)({
53
46
  open,
54
47
  ref: store.context.popupRef,
@@ -58,30 +51,6 @@ const TooltipPopup = exports.TooltipPopup = /*#__PURE__*/React.forwardRef(functi
58
51
  }
59
52
  }
60
53
  });
61
- function handleMeasureLayout() {
62
- floatingContext.context.events.emit('measure-layout');
63
- }
64
- function handleMeasureLayoutComplete(previousDimensions, nextDimensions) {
65
- floatingContext.context.events.emit('measure-layout-complete', {
66
- previousDimensions,
67
- nextDimensions
68
- });
69
- }
70
-
71
- // If there's just one trigger, we can skip the auto-resize logic as
72
- // the tooltip will always be anchored to the same position.
73
- const autoresizeEnabled = React.useCallback(() => store.context.triggerElements.size > 1, [store]);
74
- (0, _usePopupAutoResize.usePopupAutoResize)({
75
- popupElement,
76
- positionerElement,
77
- mounted,
78
- content: payload,
79
- enabled: autoresizeEnabled,
80
- onMeasureLayout: handleMeasureLayout,
81
- onMeasureLayoutComplete: handleMeasureLayoutComplete,
82
- side,
83
- direction
84
- });
85
54
  const disabled = store.useState('disabled');
86
55
  const closeDelay = store.useState('closeDelay');
87
56
  (0, _floatingUiReact.useHoverFloatingInteraction)(floatingContext, {
@@ -7,7 +7,7 @@ import { FloatingPortalLite } from "../../utils/FloatingPortalLite.js";
7
7
  *
8
8
  * Documentation: [Base UI Tooltip](https://base-ui.com/react/components/tooltip)
9
9
  */
10
- export declare const TooltipPortal: React.ForwardRefExoticComponent<TooltipPortalProps & React.RefAttributes<HTMLDivElement>>;
10
+ export declare const TooltipPortal: React.ForwardRefExoticComponent<Omit<TooltipPortalProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
11
11
  export declare namespace TooltipPortal {
12
12
  interface State {}
13
13
  }
@@ -7,7 +7,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
7
7
  *
8
8
  * Documentation: [Base UI Tooltip](https://base-ui.com/react/components/tooltip)
9
9
  */
10
- export declare const TooltipPositioner: React.ForwardRefExoticComponent<TooltipPositionerProps & React.RefAttributes<HTMLDivElement>>;
10
+ export declare const TooltipPositioner: React.ForwardRefExoticComponent<Omit<TooltipPositionerProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
11
11
  export interface TooltipPositionerState {
12
12
  /**
13
13
  * Whether the tooltip is currently open.
@@ -50,6 +50,7 @@ const TooltipPositioner = exports.TooltipPositioner = /*#__PURE__*/React.forward
50
50
  const floatingRootContext = store.useState('floatingRootContext');
51
51
  const instantType = store.useState('instantType');
52
52
  const transitionStatus = store.useState('transitionStatus');
53
+ const hasViewport = store.useState('hasViewport');
53
54
  const positioning = (0, _useAnchorPositioning.useAnchorPositioning)({
54
55
  anchor,
55
56
  positionMethod,
@@ -66,7 +67,7 @@ const TooltipPositioner = exports.TooltipPositioner = /*#__PURE__*/React.forward
66
67
  disableAnchorTracking,
67
68
  keepMounted,
68
69
  collisionAvoidance,
69
- adaptiveOrigin: _adaptiveOriginMiddleware.adaptiveOrigin
70
+ adaptiveOrigin: hasViewport ? _adaptiveOriginMiddleware.adaptiveOrigin : undefined
70
71
  });
71
72
  const defaultProps = React.useMemo(() => {
72
73
  const hiddenStyles = {};
@@ -43,12 +43,10 @@ export interface TooltipRootProps<Payload = unknown> {
43
43
  trackCursorAxis?: 'none' | 'x' | 'y' | 'both';
44
44
  /**
45
45
  * A ref to imperative actions.
46
- * - `unmount`: When specified, the tooltip will not be unmounted when closed.
47
- * Instead, the `unmount` function must be called to unmount the tooltip manually.
48
- * Useful when the tooltip's animation is controlled by an external library.
49
- * - `close`: Closes the dialog imperatively when called.
46
+ * - `unmount`: Unmounts the tooltip popup.
47
+ * - `close`: Closes the tooltip imperatively when called.
50
48
  */
51
- actionsRef?: React.RefObject<TooltipRoot.Actions>;
49
+ actionsRef?: React.RefObject<TooltipRoot.Actions | null>;
52
50
  /**
53
51
  * Whether the tooltip is disabled.
54
52
  * @default false
@@ -67,7 +65,7 @@ export interface TooltipRootProps<Payload = unknown> {
67
65
  children?: React.ReactNode | PayloadChildRenderFunction<Payload>;
68
66
  /**
69
67
  * ID of the trigger that the tooltip is associated with.
70
- * This is useful in conjuntion with the `open` prop to create a controlled tooltip.
68
+ * This is useful in conjunction with the `open` prop to create a controlled tooltip.
71
69
  * There's no need to specify this prop when the tooltip is uncontrolled (i.e. when the `open` prop is not set).
72
70
  */
73
71
  triggerId?: string | null;
@@ -45,13 +45,13 @@ function TooltipRoot(props) {
45
45
  store.useContextCallback('onOpenChange', onOpenChange);
46
46
  store.useContextCallback('onOpenChangeComplete', onOpenChangeComplete);
47
47
  const openState = store.useState('open');
48
+ const open = !disabled && openState;
48
49
  const activeTriggerId = store.useState('activeTriggerId');
49
50
  const payload = store.useState('payload');
50
51
  store.useSyncedValues({
51
52
  trackCursorAxis,
52
53
  disableHoverablePopup
53
54
  });
54
- const open = !disabled && openState;
55
55
  (0, _useIsoLayoutEffect.useIsoLayoutEffect)(() => {
56
56
  if (openState && disabled) {
57
57
  store.setOpen(false, (0, _createBaseUIEventDetails.createChangeEventDetails)(_reasons.REASONS.disabled));
@@ -122,7 +122,6 @@ function TooltipRoot(props) {
122
122
  const inactiveTriggerProps = React.useMemo(() => getTriggerProps(), [getTriggerProps]);
123
123
  const popupProps = React.useMemo(() => getFloatingProps(), [getFloatingProps]);
124
124
  store.useSyncedValues({
125
- floatingRootContext,
126
125
  activeTriggerProps,
127
126
  inactiveTriggerProps,
128
127
  popupProps
@@ -10,6 +10,7 @@ export type State<Payload> = PopupStoreState<Payload> & {
10
10
  disableHoverablePopup: boolean;
11
11
  openChangeReason: TooltipRoot.ChangeEventReason | null;
12
12
  closeDelay: number;
13
+ hasViewport: boolean;
13
14
  };
14
15
  export type Context = PopupStoreContext<TooltipRoot.ChangeEventDetails> & {
15
16
  readonly popupRef: React.RefObject<HTMLElement | null>;
@@ -22,6 +23,7 @@ declare const selectors: {
22
23
  disableHoverablePopup: (state: State<unknown>) => boolean;
23
24
  lastOpenChangeReason: (state: State<unknown>) => import("../index.js").TooltipRootChangeEventReason | null;
24
25
  closeDelay: (state: State<unknown>) => number;
26
+ hasViewport: (state: State<unknown>) => boolean;
25
27
  open: (state: PopupStoreState<unknown>) => boolean;
26
28
  mounted: (state: PopupStoreState<unknown>) => boolean;
27
29
  transitionStatus: (state: PopupStoreState<unknown>) => import("../../utils/useTransitionStatus.js").TransitionStatus;
@@ -33,8 +35,8 @@ declare const selectors: {
33
35
  isTriggerActive: (state: PopupStoreState<unknown>, triggerId: string | undefined) => boolean;
34
36
  isOpenedByTrigger: (state: PopupStoreState<unknown>, triggerId: string | undefined) => boolean;
35
37
  isMountedByTrigger: (state: PopupStoreState<unknown>, triggerId: string | undefined) => boolean;
36
- triggerProps: (state: PopupStoreState<unknown>, isActive: boolean) => import("../../utils/types.js").HTMLProps;
37
- popupProps: (state: PopupStoreState<unknown>) => import("../../utils/types.js").HTMLProps;
38
+ triggerProps: (state: PopupStoreState<unknown>, isActive: boolean) => import("../../index.js").HTMLProps;
39
+ popupProps: (state: PopupStoreState<unknown>) => import("../../index.js").HTMLProps;
38
40
  popupElement: (state: PopupStoreState<unknown>) => HTMLElement | null;
39
41
  positionerElement: (state: PopupStoreState<unknown>) => HTMLElement | null;
40
42
  };
@@ -20,7 +20,8 @@ const selectors = {
20
20
  trackCursorAxis: (0, _store.createSelector)(state => state.trackCursorAxis),
21
21
  disableHoverablePopup: (0, _store.createSelector)(state => state.disableHoverablePopup),
22
22
  lastOpenChangeReason: (0, _store.createSelector)(state => state.openChangeReason),
23
- closeDelay: (0, _store.createSelector)(state => state.closeDelay)
23
+ closeDelay: (0, _store.createSelector)(state => state.closeDelay),
24
+ hasViewport: (0, _store.createSelector)(state => state.hasViewport)
24
25
  };
25
26
  class TooltipStore extends _store.ReactStore {
26
27
  constructor(initialState) {
@@ -78,9 +79,10 @@ class TooltipStore extends _store.ReactStore {
78
79
  };
79
80
  static useStore(externalStore, initialState) {
80
81
  // eslint-disable-next-line react-hooks/rules-of-hooks
81
- const store = (0, _useRefWithInit.useRefWithInit)(() => {
82
- return externalStore ?? new TooltipStore(initialState);
82
+ const internalStore = (0, _useRefWithInit.useRefWithInit)(() => {
83
+ return new TooltipStore(initialState);
83
84
  }).current;
85
+ const store = externalStore ?? internalStore;
84
86
 
85
87
  // eslint-disable-next-line react-hooks/rules-of-hooks
86
88
  const floatingRootContext = (0, _floatingUiReact.useSyncedFloatingRootContext)({
@@ -106,6 +108,7 @@ function createInitialState() {
106
108
  trackCursorAxis: 'none',
107
109
  disableHoverablePopup: false,
108
110
  openChangeReason: null,
109
- closeDelay: 0
111
+ closeDelay: 0,
112
+ hasViewport: false
110
113
  };
111
114
  }
@@ -42,8 +42,8 @@ const TooltipTrigger = exports.TooltipTrigger = /*#__PURE__*/React.forwardRef(fu
42
42
  }
43
43
  const thisTriggerId = (0, _useBaseUiId.useBaseUiId)(idProp);
44
44
  const isTriggerActive = store.useState('isTriggerActive', thisTriggerId);
45
- const floatingRootContext = store.useState('floatingRootContext');
46
45
  const isOpenedByThisTrigger = store.useState('isOpenedByTrigger', thisTriggerId);
46
+ const floatingRootContext = store.useState('floatingRootContext');
47
47
  const triggerElementRef = React.useRef(null);
48
48
  const delayWithDefault = delay ?? _constants.OPEN_DELAY;
49
49
  const closeDelayWithDefault = closeDelay ?? 0;
@@ -8,7 +8,7 @@ import { BaseUIComponentProps } from "../../utils/types.js";
8
8
  *
9
9
  * Documentation: [Base UI Tooltip](https://base-ui.com/react/components/tooltip)
10
10
  */
11
- export declare const TooltipViewport: React.ForwardRefExoticComponent<TooltipViewport.Props & React.RefAttributes<HTMLDivElement>>;
11
+ export declare const TooltipViewport: React.ForwardRefExoticComponent<Omit<TooltipViewport.Props, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
12
  export declare namespace TooltipViewport {
13
13
  interface Props extends BaseUIComponentProps<'div', State> {
14
14
  /**