@base-ui/react 1.2.0 → 1.3.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 (938) hide show
  1. package/CHANGELOG.md +148 -1
  2. package/accordion/header/AccordionHeader.d.ts +4 -2
  3. package/accordion/item/AccordionItem.d.ts +10 -4
  4. package/accordion/item/AccordionItemContext.d.ts +2 -2
  5. package/accordion/item/stateAttributesMapping.d.ts +2 -2
  6. package/accordion/panel/AccordionPanel.d.ts +6 -3
  7. package/accordion/root/AccordionRoot.d.ts +19 -10
  8. package/accordion/root/AccordionRootContext.d.ts +7 -7
  9. package/accordion/trigger/AccordionTrigger.d.ts +4 -2
  10. package/accordion/trigger/AccordionTrigger.js +3 -1
  11. package/alert-dialog/root/AlertDialogRoot.d.ts +2 -0
  12. package/autocomplete/index.d.ts +1 -0
  13. package/autocomplete/index.parts.d.ts +1 -0
  14. package/autocomplete/index.parts.js +7 -0
  15. package/autocomplete/root/AutocompleteRoot.d.ts +4 -4
  16. package/autocomplete/root/AutocompleteRoot.js +4 -1
  17. package/avatar/fallback/AvatarFallback.d.ts +3 -6
  18. package/avatar/fallback/AvatarFallback.js +4 -32
  19. package/avatar/image/AvatarImage.d.ts +6 -3
  20. package/avatar/image/AvatarImage.js +2 -3
  21. package/avatar/image/AvatarImageDataAttributes.d.ts +10 -0
  22. package/avatar/image/AvatarImageDataAttributes.js +18 -0
  23. package/avatar/root/AvatarRoot.d.ts +4 -1
  24. package/checkbox/indicator/CheckboxIndicator.d.ts +6 -3
  25. package/checkbox/root/CheckboxRoot.d.ts +3 -3
  26. package/checkbox/root/CheckboxRoot.js +4 -1
  27. package/checkbox/root/CheckboxRootContext.d.ts +4 -4
  28. package/checkbox/utils/useStateAttributesMapping.d.ts +2 -2
  29. package/checkbox-group/CheckboxGroup.d.ts +3 -3
  30. package/checkbox-group/CheckboxGroupContext.d.ts +2 -2
  31. package/checkbox-group/useCheckboxGroupParent.d.ts +2 -5
  32. package/collapsible/panel/CollapsiblePanel.d.ts +6 -3
  33. package/collapsible/panel/useCollapsiblePanel.d.ts +2 -5
  34. package/collapsible/root/CollapsibleRoot.d.ts +3 -3
  35. package/collapsible/root/CollapsibleRootContext.d.ts +4 -4
  36. package/collapsible/root/stateAttributesMapping.d.ts +2 -2
  37. package/collapsible/root/useCollapsibleRoot.d.ts +2 -5
  38. package/collapsible/trigger/CollapsibleTrigger.d.ts +4 -2
  39. package/combobox/arrow/ComboboxArrow.d.ts +10 -1
  40. package/combobox/backdrop/ComboboxBackdrop.d.ts +4 -1
  41. package/combobox/chip/ComboboxChip.d.ts +1 -1
  42. package/combobox/chip-remove/ComboboxChipRemove.d.ts +1 -1
  43. package/combobox/chips/ComboboxChips.d.ts +1 -1
  44. package/combobox/clear/ComboboxClear.d.ts +4 -1
  45. package/combobox/collection/ComboboxCollection.d.ts +2 -0
  46. package/combobox/empty/ComboboxEmpty.d.ts +1 -1
  47. package/combobox/group/ComboboxGroup.d.ts +1 -1
  48. package/combobox/group-label/ComboboxGroupLabel.d.ts +1 -1
  49. package/combobox/icon/ComboboxIcon.d.ts +1 -1
  50. package/combobox/index.d.ts +2 -0
  51. package/combobox/index.parts.d.ts +2 -0
  52. package/combobox/index.parts.js +14 -0
  53. package/combobox/input/ComboboxInput.d.ts +3 -3
  54. package/combobox/input/ComboboxInput.js +22 -5
  55. package/combobox/input-group/ComboboxInputGroup.d.ts +40 -0
  56. package/combobox/input-group/ComboboxInputGroup.js +68 -0
  57. package/combobox/input-group/ComboboxInputGroupDataAttributes.d.ts +55 -0
  58. package/combobox/input-group/ComboboxInputGroupDataAttributes.js +62 -0
  59. package/combobox/item/ComboboxItem.d.ts +1 -1
  60. package/combobox/item/ComboboxItem.js +2 -1
  61. package/combobox/item-indicator/ComboboxItemIndicator.d.ts +7 -1
  62. package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.d.ts +10 -0
  63. package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.js +18 -0
  64. package/combobox/label/ComboboxLabel.d.ts +16 -0
  65. package/combobox/label/ComboboxLabel.js +68 -0
  66. package/combobox/list/ComboboxList.d.ts +1 -1
  67. package/combobox/popup/ComboboxPopup.d.ts +21 -3
  68. package/combobox/popup/ComboboxPopup.js +10 -2
  69. package/combobox/portal/ComboboxPortal.d.ts +3 -4
  70. package/combobox/positioner/ComboboxPositioner.d.ts +14 -2
  71. package/combobox/positioner/ComboboxPositioner.js +3 -2
  72. package/combobox/root/AriaCombobox.d.ts +9 -8
  73. package/combobox/root/AriaCombobox.js +14 -6
  74. package/combobox/root/ComboboxRoot.d.ts +4 -4
  75. package/combobox/row/ComboboxRow.d.ts +1 -1
  76. package/combobox/status/ComboboxStatus.d.ts +1 -1
  77. package/combobox/store.d.ts +10 -4
  78. package/combobox/store.js +2 -0
  79. package/combobox/trigger/ComboboxTrigger.d.ts +3 -3
  80. package/combobox/trigger/ComboboxTrigger.js +5 -2
  81. package/combobox/utils/ComboboxInternalDismissButton.d.ts +5 -0
  82. package/combobox/utils/ComboboxInternalDismissButton.js +44 -0
  83. package/composite/item/CompositeItem.d.ts +3 -1
  84. package/composite/list/CompositeList.d.ts +3 -1
  85. package/composite/list/useCompositeListItem.d.ts +1 -1
  86. package/composite/root/CompositeRoot.d.ts +4 -2
  87. package/composite/root/useCompositeRoot.d.ts +1 -1
  88. package/context-menu/trigger/ContextMenuTrigger.d.ts +3 -3
  89. package/dialog/backdrop/DialogBackdrop.d.ts +4 -1
  90. package/dialog/close/DialogClose.d.ts +1 -1
  91. package/dialog/description/DialogDescription.d.ts +1 -1
  92. package/dialog/popup/DialogPopup.d.ts +6 -3
  93. package/dialog/portal/DialogPortal.d.ts +4 -5
  94. package/dialog/root/DialogRoot.d.ts +8 -3
  95. package/dialog/root/useDialogRoot.d.ts +3 -7
  96. package/dialog/root/useDialogRoot.js +2 -5
  97. package/dialog/title/DialogTitle.d.ts +1 -1
  98. package/dialog/trigger/DialogTrigger.d.ts +1 -1
  99. package/dialog/viewport/DialogViewport.d.ts +3 -0
  100. package/direction-provider/DirectionProvider.d.ts +2 -0
  101. package/drawer/backdrop/DrawerBackdrop.d.ts +4 -1
  102. package/drawer/backdrop/DrawerBackdropDataAttributes.d.ts +18 -0
  103. package/drawer/backdrop/DrawerBackdropDataAttributes.js +26 -0
  104. package/drawer/close/DrawerClose.d.ts +1 -1
  105. package/drawer/content/DrawerContent.d.ts +1 -1
  106. package/drawer/content/DrawerContent.js +2 -1
  107. package/drawer/content/DrawerContentDataAttributes.d.ts +1 -0
  108. package/drawer/content/DrawerContentDataAttributes.js +7 -0
  109. package/drawer/description/DrawerDescription.d.ts +1 -1
  110. package/drawer/indent/DrawerIndent.d.ts +3 -2
  111. package/drawer/indent/DrawerIndent.js +2 -1
  112. package/drawer/indent-background/DrawerIndentBackground.d.ts +5 -3
  113. package/drawer/indent-background/DrawerIndentBackground.js +4 -2
  114. package/drawer/index.d.ts +2 -1
  115. package/drawer/index.js +3 -3
  116. package/drawer/index.parts.d.ts +1 -0
  117. package/drawer/index.parts.js +7 -0
  118. package/drawer/popup/DrawerPopup.d.ts +6 -3
  119. package/drawer/popup/DrawerPopup.js +59 -2
  120. package/drawer/popup/DrawerPopupDataAttributes.d.ts +16 -0
  121. package/drawer/popup/DrawerPopupDataAttributes.js +18 -1
  122. package/drawer/portal/DrawerPortal.d.ts +2 -2
  123. package/drawer/provider/DrawerProvider.d.ts +2 -2
  124. package/drawer/provider/DrawerProvider.js +2 -2
  125. package/drawer/root/DrawerRoot.d.ts +5 -3
  126. package/drawer/root/DrawerRoot.js +6 -2
  127. package/drawer/swipe-area/DrawerSwipeArea.d.ts +1 -1
  128. package/drawer/swipe-area/DrawerSwipeArea.js +12 -10
  129. package/drawer/swipe-area/DrawerSwipeAreaDataAttributes.d.ts +23 -0
  130. package/drawer/swipe-area/DrawerSwipeAreaDataAttributes.js +31 -0
  131. package/drawer/title/DrawerTitle.d.ts +1 -1
  132. package/drawer/trigger/DrawerTrigger.d.ts +1 -1
  133. package/drawer/viewport/DrawerViewport.d.ts +4 -1
  134. package/drawer/viewport/DrawerViewport.js +165 -43
  135. package/drawer/viewport/DrawerViewportDataAttributes.d.ts +22 -0
  136. package/drawer/viewport/DrawerViewportDataAttributes.js +30 -0
  137. package/esm/accordion/header/AccordionHeader.d.ts +4 -2
  138. package/esm/accordion/item/AccordionItem.d.ts +10 -4
  139. package/esm/accordion/item/AccordionItemContext.d.ts +2 -2
  140. package/esm/accordion/item/stateAttributesMapping.d.ts +2 -2
  141. package/esm/accordion/panel/AccordionPanel.d.ts +6 -3
  142. package/esm/accordion/root/AccordionRoot.d.ts +19 -10
  143. package/esm/accordion/root/AccordionRootContext.d.ts +7 -7
  144. package/esm/accordion/trigger/AccordionTrigger.d.ts +4 -2
  145. package/esm/accordion/trigger/AccordionTrigger.js +3 -1
  146. package/esm/alert-dialog/root/AlertDialogRoot.d.ts +2 -0
  147. package/esm/autocomplete/index.d.ts +1 -0
  148. package/esm/autocomplete/index.parts.d.ts +1 -0
  149. package/esm/autocomplete/index.parts.js +1 -0
  150. package/esm/autocomplete/root/AutocompleteRoot.d.ts +4 -4
  151. package/esm/autocomplete/root/AutocompleteRoot.js +4 -1
  152. package/esm/avatar/fallback/AvatarFallback.d.ts +3 -6
  153. package/esm/avatar/fallback/AvatarFallback.js +4 -31
  154. package/esm/avatar/image/AvatarImage.d.ts +6 -3
  155. package/esm/avatar/image/AvatarImage.js +2 -3
  156. package/esm/avatar/image/AvatarImageDataAttributes.d.ts +10 -0
  157. package/esm/avatar/image/AvatarImageDataAttributes.js +12 -0
  158. package/esm/avatar/root/AvatarRoot.d.ts +4 -1
  159. package/esm/checkbox/indicator/CheckboxIndicator.d.ts +6 -3
  160. package/esm/checkbox/root/CheckboxRoot.d.ts +3 -3
  161. package/esm/checkbox/root/CheckboxRoot.js +4 -1
  162. package/esm/checkbox/root/CheckboxRootContext.d.ts +4 -4
  163. package/esm/checkbox/utils/useStateAttributesMapping.d.ts +2 -2
  164. package/esm/checkbox-group/CheckboxGroup.d.ts +3 -3
  165. package/esm/checkbox-group/CheckboxGroupContext.d.ts +2 -2
  166. package/esm/checkbox-group/useCheckboxGroupParent.d.ts +2 -5
  167. package/esm/collapsible/panel/CollapsiblePanel.d.ts +6 -3
  168. package/esm/collapsible/panel/useCollapsiblePanel.d.ts +2 -5
  169. package/esm/collapsible/root/CollapsibleRoot.d.ts +3 -3
  170. package/esm/collapsible/root/CollapsibleRootContext.d.ts +4 -4
  171. package/esm/collapsible/root/stateAttributesMapping.d.ts +2 -2
  172. package/esm/collapsible/root/useCollapsibleRoot.d.ts +2 -5
  173. package/esm/collapsible/trigger/CollapsibleTrigger.d.ts +4 -2
  174. package/esm/combobox/arrow/ComboboxArrow.d.ts +10 -1
  175. package/esm/combobox/backdrop/ComboboxBackdrop.d.ts +4 -1
  176. package/esm/combobox/chip/ComboboxChip.d.ts +1 -1
  177. package/esm/combobox/chip-remove/ComboboxChipRemove.d.ts +1 -1
  178. package/esm/combobox/chips/ComboboxChips.d.ts +1 -1
  179. package/esm/combobox/clear/ComboboxClear.d.ts +4 -1
  180. package/esm/combobox/collection/ComboboxCollection.d.ts +2 -0
  181. package/esm/combobox/empty/ComboboxEmpty.d.ts +1 -1
  182. package/esm/combobox/group/ComboboxGroup.d.ts +1 -1
  183. package/esm/combobox/group-label/ComboboxGroupLabel.d.ts +1 -1
  184. package/esm/combobox/icon/ComboboxIcon.d.ts +1 -1
  185. package/esm/combobox/index.d.ts +2 -0
  186. package/esm/combobox/index.parts.d.ts +2 -0
  187. package/esm/combobox/index.parts.js +2 -0
  188. package/esm/combobox/input/ComboboxInput.d.ts +3 -3
  189. package/esm/combobox/input/ComboboxInput.js +22 -5
  190. package/esm/combobox/input-group/ComboboxInputGroup.d.ts +40 -0
  191. package/esm/combobox/input-group/ComboboxInputGroup.js +63 -0
  192. package/esm/combobox/input-group/ComboboxInputGroupDataAttributes.d.ts +55 -0
  193. package/esm/combobox/input-group/ComboboxInputGroupDataAttributes.js +56 -0
  194. package/esm/combobox/item/ComboboxItem.d.ts +1 -1
  195. package/esm/combobox/item/ComboboxItem.js +2 -1
  196. package/esm/combobox/item-indicator/ComboboxItemIndicator.d.ts +7 -1
  197. package/esm/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.d.ts +10 -0
  198. package/esm/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.js +12 -0
  199. package/esm/combobox/label/ComboboxLabel.d.ts +16 -0
  200. package/esm/combobox/label/ComboboxLabel.js +63 -0
  201. package/esm/combobox/list/ComboboxList.d.ts +1 -1
  202. package/esm/combobox/popup/ComboboxPopup.d.ts +21 -3
  203. package/esm/combobox/popup/ComboboxPopup.js +11 -3
  204. package/esm/combobox/portal/ComboboxPortal.d.ts +3 -4
  205. package/esm/combobox/positioner/ComboboxPositioner.d.ts +14 -2
  206. package/esm/combobox/positioner/ComboboxPositioner.js +3 -2
  207. package/esm/combobox/root/AriaCombobox.d.ts +9 -8
  208. package/esm/combobox/root/AriaCombobox.js +14 -6
  209. package/esm/combobox/root/ComboboxRoot.d.ts +4 -4
  210. package/esm/combobox/row/ComboboxRow.d.ts +1 -1
  211. package/esm/combobox/status/ComboboxStatus.d.ts +1 -1
  212. package/esm/combobox/store.d.ts +10 -4
  213. package/esm/combobox/store.js +2 -0
  214. package/esm/combobox/trigger/ComboboxTrigger.d.ts +3 -3
  215. package/esm/combobox/trigger/ComboboxTrigger.js +5 -2
  216. package/esm/combobox/utils/ComboboxInternalDismissButton.d.ts +5 -0
  217. package/esm/combobox/utils/ComboboxInternalDismissButton.js +38 -0
  218. package/esm/composite/item/CompositeItem.d.ts +3 -1
  219. package/esm/composite/list/CompositeList.d.ts +3 -1
  220. package/esm/composite/list/useCompositeListItem.d.ts +1 -1
  221. package/esm/composite/root/CompositeRoot.d.ts +4 -2
  222. package/esm/composite/root/useCompositeRoot.d.ts +1 -1
  223. package/esm/context-menu/trigger/ContextMenuTrigger.d.ts +3 -3
  224. package/esm/dialog/backdrop/DialogBackdrop.d.ts +4 -1
  225. package/esm/dialog/close/DialogClose.d.ts +1 -1
  226. package/esm/dialog/description/DialogDescription.d.ts +1 -1
  227. package/esm/dialog/popup/DialogPopup.d.ts +6 -3
  228. package/esm/dialog/portal/DialogPortal.d.ts +4 -5
  229. package/esm/dialog/root/DialogRoot.d.ts +8 -3
  230. package/esm/dialog/root/useDialogRoot.d.ts +3 -7
  231. package/esm/dialog/root/useDialogRoot.js +2 -5
  232. package/esm/dialog/title/DialogTitle.d.ts +1 -1
  233. package/esm/dialog/trigger/DialogTrigger.d.ts +1 -1
  234. package/esm/dialog/viewport/DialogViewport.d.ts +3 -0
  235. package/esm/direction-provider/DirectionProvider.d.ts +2 -0
  236. package/esm/drawer/backdrop/DrawerBackdrop.d.ts +4 -1
  237. package/esm/drawer/backdrop/DrawerBackdropDataAttributes.d.ts +18 -0
  238. package/esm/drawer/backdrop/DrawerBackdropDataAttributes.js +20 -0
  239. package/esm/drawer/close/DrawerClose.d.ts +1 -1
  240. package/esm/drawer/content/DrawerContent.d.ts +1 -1
  241. package/esm/drawer/content/DrawerContent.js +2 -1
  242. package/esm/drawer/content/DrawerContentDataAttributes.d.ts +1 -0
  243. package/esm/drawer/content/DrawerContentDataAttributes.js +1 -0
  244. package/esm/drawer/description/DrawerDescription.d.ts +1 -1
  245. package/esm/drawer/indent/DrawerIndent.d.ts +3 -2
  246. package/esm/drawer/indent/DrawerIndent.js +2 -1
  247. package/esm/drawer/indent-background/DrawerIndentBackground.d.ts +5 -3
  248. package/esm/drawer/indent-background/DrawerIndentBackground.js +4 -2
  249. package/esm/drawer/index.d.ts +2 -1
  250. package/esm/drawer/index.js +1 -1
  251. package/esm/drawer/index.parts.d.ts +1 -0
  252. package/esm/drawer/index.parts.js +1 -0
  253. package/esm/drawer/popup/DrawerPopup.d.ts +6 -3
  254. package/esm/drawer/popup/DrawerPopup.js +59 -2
  255. package/esm/drawer/popup/DrawerPopupDataAttributes.d.ts +16 -0
  256. package/esm/drawer/popup/DrawerPopupDataAttributes.js +18 -1
  257. package/esm/drawer/portal/DrawerPortal.d.ts +2 -2
  258. package/esm/drawer/provider/DrawerProvider.d.ts +2 -2
  259. package/esm/drawer/provider/DrawerProvider.js +2 -2
  260. package/esm/drawer/root/DrawerRoot.d.ts +5 -3
  261. package/esm/drawer/root/DrawerRoot.js +6 -2
  262. package/esm/drawer/swipe-area/DrawerSwipeArea.d.ts +1 -1
  263. package/esm/drawer/swipe-area/DrawerSwipeArea.js +12 -10
  264. package/esm/drawer/swipe-area/DrawerSwipeAreaDataAttributes.d.ts +23 -0
  265. package/esm/drawer/swipe-area/DrawerSwipeAreaDataAttributes.js +25 -0
  266. package/esm/drawer/title/DrawerTitle.d.ts +1 -1
  267. package/esm/drawer/trigger/DrawerTrigger.d.ts +1 -1
  268. package/esm/drawer/viewport/DrawerViewport.d.ts +4 -1
  269. package/esm/drawer/viewport/DrawerViewport.js +165 -43
  270. package/esm/drawer/viewport/DrawerViewportDataAttributes.d.ts +22 -0
  271. package/esm/drawer/viewport/DrawerViewportDataAttributes.js +24 -0
  272. package/esm/field/control/FieldControl.d.ts +3 -3
  273. package/esm/field/description/FieldDescription.d.ts +3 -3
  274. package/esm/field/error/FieldError.d.ts +7 -4
  275. package/esm/field/error/FieldErrorDataAttributes.d.ts +8 -0
  276. package/esm/field/error/FieldErrorDataAttributes.js +10 -1
  277. package/esm/field/item/FieldItem.d.ts +4 -3
  278. package/esm/field/item/FieldItem.js +2 -2
  279. package/esm/field/label/FieldLabel.d.ts +3 -3
  280. package/esm/field/label/FieldLabel.js +6 -51
  281. package/esm/field/root/FieldRoot.d.ts +19 -2
  282. package/esm/field/root/FieldRoot.js +2 -1
  283. package/esm/field/root/FieldRootContext.d.ts +2 -2
  284. package/esm/field/root/FieldRootContext.js +6 -13
  285. package/esm/field/root/useFieldValidation.js +5 -4
  286. package/esm/field/utils/constants.d.ts +3 -0
  287. package/esm/field/utils/constants.js +11 -0
  288. package/esm/field/validity/FieldValidity.d.ts +7 -1
  289. package/esm/fieldset/legend/FieldsetLegend.d.ts +1 -1
  290. package/esm/fieldset/root/FieldsetRoot.d.ts +1 -1
  291. package/esm/floating-ui-react/components/FloatingDelayGroup.js +1 -1
  292. package/esm/floating-ui-react/components/FloatingFocusManager.d.ts +12 -7
  293. package/esm/floating-ui-react/components/FloatingFocusManager.js +31 -27
  294. package/esm/floating-ui-react/components/FloatingPortal.d.ts +6 -4
  295. package/esm/floating-ui-react/hooks/useClick.d.ts +2 -2
  296. package/esm/floating-ui-react/hooks/useClientPoint.d.ts +1 -1
  297. package/esm/floating-ui-react/hooks/useDismiss.d.ts +8 -12
  298. package/esm/floating-ui-react/hooks/useDismiss.js +320 -261
  299. package/esm/floating-ui-react/hooks/useFloatingRootContext.d.ts +2 -2
  300. package/esm/floating-ui-react/hooks/useFocus.d.ts +1 -1
  301. package/esm/floating-ui-react/hooks/useHover.d.ts +6 -14
  302. package/esm/floating-ui-react/hooks/useHover.js +2 -27
  303. package/esm/floating-ui-react/hooks/useHoverFloatingInteraction.d.ts +2 -3
  304. package/esm/floating-ui-react/hooks/useHoverFloatingInteraction.js +55 -71
  305. package/esm/floating-ui-react/hooks/useHoverInteractionSharedState.d.ts +12 -3
  306. package/esm/floating-ui-react/hooks/useHoverInteractionSharedState.js +30 -3
  307. package/esm/floating-ui-react/hooks/useHoverReferenceInteraction.d.ts +8 -3
  308. package/esm/floating-ui-react/hooks/useHoverReferenceInteraction.js +59 -81
  309. package/esm/floating-ui-react/hooks/useHoverShared.d.ts +28 -0
  310. package/esm/floating-ui-react/hooks/useHoverShared.js +26 -0
  311. package/esm/floating-ui-react/hooks/useListNavigation.d.ts +4 -4
  312. package/esm/floating-ui-react/hooks/useListNavigation.js +7 -3
  313. package/esm/floating-ui-react/hooks/useRole.d.ts +1 -1
  314. package/esm/floating-ui-react/hooks/useTypeahead.d.ts +7 -1
  315. package/esm/floating-ui-react/hooks/useTypeahead.js +30 -14
  316. package/esm/floating-ui-react/safePolygon.d.ts +2 -6
  317. package/esm/floating-ui-react/safePolygon.js +149 -119
  318. package/esm/floating-ui-react/types.d.ts +5 -4
  319. package/esm/floating-ui-react/utils/composite.d.ts +1 -0
  320. package/esm/floating-ui-react/utils/composite.js +128 -129
  321. package/esm/floating-ui-react/utils/markOthers.d.ts +7 -1
  322. package/esm/floating-ui-react/utils/markOthers.js +119 -81
  323. package/esm/form/Form.d.ts +1 -1
  324. package/esm/global.d.ts +1 -1
  325. package/esm/index.js +1 -1
  326. package/esm/input/Input.d.ts +10 -3
  327. package/esm/labelable-provider/LabelableProvider.d.ts +4 -1
  328. package/esm/labelable-provider/LabelableProvider.js +3 -2
  329. package/esm/labelable-provider/useAriaLabelledBy.d.ts +9 -0
  330. package/esm/labelable-provider/useAriaLabelledBy.js +56 -0
  331. package/esm/labelable-provider/useLabel.d.ts +25 -0
  332. package/esm/labelable-provider/useLabel.js +74 -0
  333. package/esm/labelable-provider/useLabelableId.d.ts +2 -5
  334. package/esm/menu/arrow/MenuArrow.d.ts +10 -1
  335. package/esm/menu/backdrop/MenuBackdrop.d.ts +4 -1
  336. package/esm/menu/checkbox-item/MenuCheckboxItem.d.ts +3 -3
  337. package/esm/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.d.ts +7 -1
  338. package/esm/menu/group/MenuGroup.d.ts +1 -1
  339. package/esm/menu/group-label/MenuGroupLabel.d.ts +1 -1
  340. package/esm/menu/index.d.ts +2 -1
  341. package/esm/menu/index.parts.d.ts +1 -0
  342. package/esm/menu/index.parts.js +1 -0
  343. package/esm/menu/item/MenuItem.d.ts +1 -1
  344. package/esm/menu/item/useMenuItem.d.ts +8 -7
  345. package/esm/menu/item/useMenuItem.js +5 -7
  346. package/esm/menu/item/useMenuItemCommonProps.d.ts +7 -4
  347. package/esm/menu/item/useMenuItemCommonProps.js +16 -2
  348. package/esm/menu/link-item/MenuLinkItem.d.ts +1 -1
  349. package/esm/menu/link-item/MenuLinkItem.js +16 -2
  350. package/esm/menu/popup/MenuPopup.d.ts +20 -5
  351. package/esm/menu/popup/MenuPopup.js +4 -1
  352. package/esm/menu/popup/MenuPopupDataAttributes.d.ts +1 -1
  353. package/esm/menu/popup/MenuPopupDataAttributes.js +1 -1
  354. package/esm/menu/portal/MenuPortal.d.ts +3 -4
  355. package/esm/menu/positioner/MenuPositioner.d.ts +18 -2
  356. package/esm/menu/positioner/MenuPositioner.js +58 -5
  357. package/esm/menu/radio-group/MenuRadioGroup.d.ts +6 -3
  358. package/esm/menu/radio-item/MenuRadioItem.d.ts +3 -3
  359. package/esm/menu/radio-item-indicator/MenuRadioItemIndicator.d.ts +7 -1
  360. package/esm/menu/root/MenuRoot.d.ts +4 -2
  361. package/esm/menu/root/MenuRoot.js +2 -3
  362. package/esm/menu/store/MenuStore.d.ts +4 -2
  363. package/esm/menu/store/MenuStore.js +15 -1
  364. package/esm/menu/submenu-trigger/MenuSubmenuTrigger.js +1 -0
  365. package/esm/menu/trigger/MenuTrigger.d.ts +3 -3
  366. package/esm/menu/viewport/MenuViewport.d.ts +30 -0
  367. package/esm/menu/viewport/MenuViewport.js +60 -0
  368. package/esm/menu/viewport/MenuViewportCssVars.d.ts +14 -0
  369. package/esm/menu/viewport/MenuViewportCssVars.js +15 -0
  370. package/esm/menu/viewport/MenuViewportDataAttributes.d.ts +26 -0
  371. package/esm/menu/viewport/MenuViewportDataAttributes.js +27 -0
  372. package/esm/menubar/Menubar.d.ts +1 -1
  373. package/esm/menubar/Menubar.js +1 -7
  374. package/esm/meter/indicator/MeterIndicator.d.ts +4 -2
  375. package/esm/meter/label/MeterLabel.d.ts +4 -2
  376. package/esm/meter/label/MeterLabel.js +4 -8
  377. package/esm/meter/root/MeterRoot.d.ts +1 -1
  378. package/esm/meter/root/MeterRoot.js +11 -2
  379. package/esm/meter/track/MeterTrack.d.ts +4 -2
  380. package/esm/meter/value/MeterValue.d.ts +5 -3
  381. package/esm/navigation-menu/arrow/NavigationMenuArrow.d.ts +10 -1
  382. package/esm/navigation-menu/backdrop/NavigationMenuBackdrop.d.ts +1 -1
  383. package/esm/navigation-menu/content/NavigationMenuContent.d.ts +1 -1
  384. package/esm/navigation-menu/content/NavigationMenuContent.js +11 -0
  385. package/esm/navigation-menu/icon/NavigationMenuIcon.d.ts +1 -1
  386. package/esm/navigation-menu/item/NavigationMenuItem.d.ts +1 -1
  387. package/esm/navigation-menu/link/NavigationMenuLink.d.ts +1 -1
  388. package/esm/navigation-menu/list/NavigationMenuList.d.ts +1 -1
  389. package/esm/navigation-menu/list/NavigationMenuList.js +11 -2
  390. package/esm/navigation-menu/popup/NavigationMenuPopup.d.ts +1 -1
  391. package/esm/navigation-menu/portal/NavigationMenuPortal.d.ts +4 -5
  392. package/esm/navigation-menu/positioner/NavigationMenuPositioner.d.ts +11 -2
  393. package/esm/navigation-menu/root/NavigationMenuRoot.d.ts +4 -4
  394. package/esm/navigation-menu/root/NavigationMenuRoot.js +27 -8
  395. package/esm/navigation-menu/trigger/NavigationMenuTrigger.d.ts +1 -1
  396. package/esm/navigation-menu/trigger/NavigationMenuTrigger.js +364 -20
  397. package/esm/navigation-menu/utils/isOutsideMenuEvent.d.ts +1 -1
  398. package/esm/navigation-menu/viewport/NavigationMenuViewport.d.ts +1 -1
  399. package/esm/navigation-menu/viewport/NavigationMenuViewport.js +0 -19
  400. package/esm/number-field/decrement/NumberFieldDecrement.d.ts +3 -3
  401. package/esm/number-field/group/NumberFieldGroup.d.ts +3 -3
  402. package/esm/number-field/increment/NumberFieldIncrement.d.ts +3 -3
  403. package/esm/number-field/input/NumberFieldInput.d.ts +3 -3
  404. package/esm/number-field/root/NumberFieldRoot.d.ts +4 -4
  405. package/esm/number-field/root/NumberFieldRoot.js +1 -1
  406. package/esm/number-field/root/NumberFieldRootContext.d.ts +2 -2
  407. package/esm/number-field/root/useNumberFieldButton.d.ts +2 -5
  408. package/esm/number-field/scrub-area/NumberFieldScrubArea.d.ts +4 -4
  409. package/esm/number-field/scrub-area-cursor/NumberFieldScrubAreaCursor.d.ts +3 -3
  410. package/esm/number-field/utils/stateAttributesMapping.d.ts +2 -2
  411. package/esm/number-field/utils/types.d.ts +2 -2
  412. package/esm/popover/arrow/PopoverArrow.d.ts +10 -1
  413. package/esm/popover/backdrop/PopoverBackdrop.d.ts +4 -1
  414. package/esm/popover/close/PopoverClose.d.ts +1 -1
  415. package/esm/popover/close/PopoverClose.js +5 -3
  416. package/esm/popover/description/PopoverDescription.d.ts +1 -1
  417. package/esm/popover/popup/PopoverPopup.d.ts +15 -3
  418. package/esm/popover/popup/PopoverPopup.js +11 -2
  419. package/esm/popover/portal/PopoverPortal.d.ts +3 -4
  420. package/esm/popover/positioner/PopoverPositioner.d.ts +11 -2
  421. package/esm/popover/root/PopoverRoot.d.ts +10 -3
  422. package/esm/popover/root/PopoverRoot.js +1 -3
  423. package/esm/popover/title/PopoverTitle.d.ts +1 -1
  424. package/esm/popover/viewport/PopoverViewport.d.ts +16 -12
  425. package/esm/preview-card/arrow/PreviewCardArrow.d.ts +10 -1
  426. package/esm/preview-card/backdrop/PreviewCardBackdrop.d.ts +4 -1
  427. package/esm/preview-card/popup/PreviewCardPopup.d.ts +13 -1
  428. package/esm/preview-card/portal/PreviewCardPortal.d.ts +3 -4
  429. package/esm/preview-card/positioner/PreviewCardPositioner.d.ts +14 -2
  430. package/esm/preview-card/positioner/PreviewCardPositioner.js +7 -1
  431. package/esm/preview-card/root/PreviewCardRoot.d.ts +3 -3
  432. package/esm/preview-card/root/PreviewCardRoot.js +22 -9
  433. package/esm/preview-card/trigger/PreviewCardTrigger.d.ts +1 -1
  434. package/esm/preview-card/viewport/PreviewCardViewport.d.ts +16 -9
  435. package/esm/progress/indicator/ProgressIndicator.d.ts +4 -2
  436. package/esm/progress/label/ProgressLabel.d.ts +4 -2
  437. package/esm/progress/label/ProgressLabel.js +4 -8
  438. package/esm/progress/root/ProgressRoot.d.ts +4 -1
  439. package/esm/progress/root/ProgressRoot.js +11 -2
  440. package/esm/progress/root/ProgressRootContext.d.ts +2 -2
  441. package/esm/progress/root/stateAttributesMapping.d.ts +2 -2
  442. package/esm/progress/track/ProgressTrack.d.ts +4 -2
  443. package/esm/progress/value/ProgressValue.d.ts +5 -3
  444. package/esm/radio/indicator/RadioIndicator.d.ts +4 -1
  445. package/esm/radio/indicator/RadioIndicatorDataAttributes.d.ts +8 -0
  446. package/esm/radio/indicator/RadioIndicatorDataAttributes.js +10 -1
  447. package/esm/radio/root/RadioRoot.d.ts +3 -3
  448. package/esm/radio/root/RadioRoot.js +4 -1
  449. package/esm/radio-group/RadioGroup.d.ts +3 -3
  450. package/esm/scroll-area/content/ScrollAreaContent.d.ts +3 -3
  451. package/esm/scroll-area/corner/ScrollAreaCorner.d.ts +1 -1
  452. package/esm/scroll-area/root/ScrollAreaRoot.d.ts +27 -11
  453. package/esm/scroll-area/root/ScrollAreaRoot.js +7 -4
  454. package/esm/scroll-area/root/ScrollAreaRootContext.d.ts +4 -2
  455. package/esm/scroll-area/root/stateAttributes.d.ts +2 -2
  456. package/esm/scroll-area/scrollbar/ScrollAreaScrollbar.d.ts +13 -7
  457. package/esm/scroll-area/scrollbar/ScrollAreaScrollbar.js +4 -1
  458. package/esm/scroll-area/thumb/ScrollAreaThumb.d.ts +5 -2
  459. package/esm/scroll-area/thumb/ScrollAreaThumb.js +3 -1
  460. package/esm/scroll-area/viewport/ScrollAreaViewport.d.ts +3 -3
  461. package/esm/scroll-area/viewport/ScrollAreaViewport.js +46 -27
  462. package/esm/select/arrow/SelectArrow.d.ts +10 -1
  463. package/esm/select/backdrop/SelectBackdrop.d.ts +7 -1
  464. package/esm/select/group/SelectGroup.d.ts +1 -1
  465. package/esm/select/group-label/SelectGroupLabel.d.ts +1 -1
  466. package/esm/select/icon/SelectIcon.d.ts +1 -1
  467. package/esm/select/index.d.ts +1 -0
  468. package/esm/select/index.parts.d.ts +1 -0
  469. package/esm/select/index.parts.js +1 -0
  470. package/esm/select/item/SelectItem.d.ts +1 -1
  471. package/esm/select/item/SelectItem.js +10 -4
  472. package/esm/select/item-indicator/SelectItemIndicator.d.ts +10 -2
  473. package/esm/select/item-indicator/SelectItemIndicatorDataAttributes.d.ts +10 -0
  474. package/esm/select/item-indicator/SelectItemIndicatorDataAttributes.js +12 -0
  475. package/esm/select/item-text/SelectItemText.d.ts +1 -1
  476. package/esm/select/label/SelectLabel.d.ts +16 -0
  477. package/esm/select/label/SelectLabel.js +49 -0
  478. package/esm/select/list/SelectList.d.ts +1 -1
  479. package/esm/select/popup/SelectPopup.d.ts +14 -2
  480. package/esm/select/popup/SelectPopup.js +23 -9
  481. package/esm/select/portal/SelectPortal.d.ts +3 -4
  482. package/esm/select/positioner/SelectPositioner.d.ts +14 -2
  483. package/esm/select/positioner/SelectPositionerContext.d.ts +2 -2
  484. package/esm/select/root/SelectRoot.d.ts +5 -4
  485. package/esm/select/root/SelectRoot.js +5 -6
  486. package/esm/select/scroll-arrow/SelectScrollArrow.d.ts +13 -1
  487. package/esm/select/scroll-down-arrow/SelectScrollDownArrow.d.ts +1 -1
  488. package/esm/select/scroll-up-arrow/SelectScrollUpArrow.d.ts +1 -1
  489. package/esm/select/store.d.ts +5 -2
  490. package/esm/select/store.js +1 -0
  491. package/esm/select/trigger/SelectTrigger.d.ts +6 -4
  492. package/esm/select/trigger/SelectTrigger.js +5 -2
  493. package/esm/select/value/SelectValue.d.ts +1 -1
  494. package/esm/separator/Separator.d.ts +1 -1
  495. package/esm/slider/control/SliderControl.d.ts +4 -3
  496. package/esm/slider/control/SliderControl.js +0 -2
  497. package/esm/slider/index.d.ts +1 -0
  498. package/esm/slider/index.parts.d.ts +1 -0
  499. package/esm/slider/index.parts.js +1 -0
  500. package/esm/slider/indicator/SliderIndicator.d.ts +4 -2
  501. package/esm/slider/label/SliderLabel.d.ts +16 -0
  502. package/esm/slider/label/SliderLabel.js +58 -0
  503. package/esm/slider/root/SliderRoot.d.ts +11 -5
  504. package/esm/slider/root/SliderRoot.js +8 -3
  505. package/esm/slider/root/SliderRootContext.d.ts +4 -2
  506. package/esm/slider/root/stateAttributesMapping.d.ts +2 -2
  507. package/esm/slider/thumb/SliderThumb.d.ts +5 -5
  508. package/esm/slider/thumb/SliderThumb.js +3 -2
  509. package/esm/slider/track/SliderTrack.d.ts +4 -2
  510. package/esm/slider/utils/resolveThumbCollision.d.ts +2 -2
  511. package/esm/slider/value/SliderValue.d.ts +5 -3
  512. package/esm/switch/root/SwitchRoot.d.ts +3 -3
  513. package/esm/switch/root/SwitchRoot.js +4 -1
  514. package/esm/switch/root/SwitchRootContext.d.ts +4 -4
  515. package/esm/switch/stateAttributesMapping.d.ts +2 -2
  516. package/esm/switch/thumb/SwitchThumb.d.ts +3 -3
  517. package/esm/tabs/indicator/TabsIndicator.d.ts +12 -3
  518. package/esm/tabs/indicator/TabsIndicator.js +5 -14
  519. package/esm/tabs/indicator/TabsIndicatorCssVars.d.ts +1 -1
  520. package/esm/tabs/indicator/TabsIndicatorCssVars.js +1 -1
  521. package/esm/tabs/list/TabsList.d.ts +3 -3
  522. package/esm/tabs/list/TabsList.js +48 -3
  523. package/esm/tabs/list/TabsListContext.d.ts +2 -0
  524. package/esm/tabs/panel/TabsPanel.d.ts +9 -3
  525. package/esm/tabs/panel/TabsPanelDataAttributes.d.ts +8 -0
  526. package/esm/tabs/panel/TabsPanelDataAttributes.js +10 -1
  527. package/esm/tabs/root/TabsRoot.d.ts +7 -1
  528. package/esm/tabs/root/TabsRootContext.d.ts +1 -1
  529. package/esm/tabs/root/stateAttributesMapping.d.ts +2 -2
  530. package/esm/tabs/tab/TabsTab.d.ts +7 -1
  531. package/esm/tabs/tab/TabsTab.js +10 -1
  532. package/esm/toast/action/ToastAction.d.ts +1 -1
  533. package/esm/toast/arrow/ToastArrow.d.ts +10 -1
  534. package/esm/toast/close/ToastClose.d.ts +1 -1
  535. package/esm/toast/content/ToastContent.d.ts +1 -1
  536. package/esm/toast/createToastManager.d.ts +1 -1
  537. package/esm/toast/description/ToastDescription.d.ts +1 -1
  538. package/esm/toast/portal/ToastPortal.d.ts +3 -4
  539. package/esm/toast/positioner/ToastPositioner.d.ts +12 -3
  540. package/esm/toast/provider/ToastProvider.d.ts +2 -0
  541. package/esm/toast/provider/ToastProvider.js +1 -1
  542. package/esm/toast/root/ToastRoot.d.ts +20 -7
  543. package/esm/toast/root/ToastRoot.js +3 -1
  544. package/esm/toast/store.d.ts +1 -1
  545. package/esm/toast/store.js +37 -8
  546. package/esm/toast/title/ToastTitle.d.ts +1 -1
  547. package/esm/toast/useToastManager.d.ts +3 -3
  548. package/esm/toast/viewport/ToastViewport.d.ts +1 -1
  549. package/esm/toggle/Toggle.d.ts +1 -1
  550. package/esm/toggle-group/ToggleGroup.d.ts +1 -1
  551. package/esm/toolbar/button/ToolbarButton.d.ts +9 -3
  552. package/esm/toolbar/group/ToolbarGroup.d.ts +4 -2
  553. package/esm/toolbar/input/ToolbarInput.d.ts +9 -3
  554. package/esm/toolbar/link/ToolbarLink.d.ts +4 -1
  555. package/esm/toolbar/root/ToolbarRoot.d.ts +7 -1
  556. package/esm/toolbar/separator/ToolbarSeparator.d.ts +4 -2
  557. package/esm/tooltip/arrow/TooltipArrow.d.ts +13 -1
  558. package/esm/tooltip/popup/TooltipPopup.d.ts +13 -1
  559. package/esm/tooltip/portal/TooltipPortal.d.ts +3 -4
  560. package/esm/tooltip/positioner/TooltipPositioner.d.ts +11 -2
  561. package/esm/tooltip/provider/TooltipProvider.d.ts +2 -0
  562. package/esm/tooltip/root/TooltipRoot.d.ts +3 -3
  563. package/esm/tooltip/root/TooltipRoot.js +1 -1
  564. package/esm/tooltip/store/TooltipStore.d.ts +2 -0
  565. package/esm/tooltip/store/TooltipStore.js +2 -0
  566. package/esm/tooltip/trigger/TooltipTrigger.d.ts +6 -1
  567. package/esm/tooltip/trigger/TooltipTrigger.js +5 -0
  568. package/esm/tooltip/viewport/TooltipViewport.d.ts +16 -12
  569. package/esm/types/index.d.ts +16 -1
  570. package/esm/unstable-use-media-query/index.d.ts +2 -0
  571. package/esm/use-button/useButton.d.ts +8 -5
  572. package/esm/use-button/useButton.js +49 -20
  573. package/esm/use-render/useRender.d.ts +7 -5
  574. package/esm/utils/FloatingPortalLite.d.ts +4 -2
  575. package/esm/utils/InternalBackdrop.d.ts +3 -1
  576. package/esm/utils/closePart.d.ts +16 -0
  577. package/esm/utils/closePart.js +40 -0
  578. package/esm/utils/constants.d.ts +4 -0
  579. package/esm/utils/constants.js +4 -0
  580. package/esm/utils/createBaseUIEventDetails.d.ts +1 -1
  581. package/esm/utils/getElementAtPoint.d.ts +1 -0
  582. package/esm/utils/getElementAtPoint.js +3 -0
  583. package/esm/utils/resolveAriaLabelledBy.d.ts +2 -0
  584. package/esm/utils/resolveAriaLabelledBy.js +8 -0
  585. package/esm/utils/resolveValueLabel.d.ts +4 -4
  586. package/esm/utils/resolveValueLabel.js +7 -5
  587. package/esm/utils/types.d.ts +7 -20
  588. package/esm/utils/useAnchorPositioning.d.ts +53 -18
  589. package/esm/utils/useAnchorPositioning.js +15 -6
  590. package/esm/utils/useFocusableWhenDisabled.d.ts +2 -5
  591. package/esm/utils/useMixedToggleClickHandler.d.ts +2 -4
  592. package/esm/utils/useOpenChangeComplete.d.ts +2 -4
  593. package/esm/utils/useOpenInteractionType.d.ts +0 -1
  594. package/esm/utils/useOpenInteractionType.js +7 -5
  595. package/esm/utils/usePopupAutoResize.js +1 -2
  596. package/esm/utils/usePopupViewport.js +11 -8
  597. package/esm/utils/useRegisteredLabelId.d.ts +1 -0
  598. package/esm/utils/useRegisteredLabelId.js +14 -0
  599. package/esm/utils/useRenderElement.d.ts +6 -9
  600. package/esm/utils/useRenderElement.js +15 -0
  601. package/esm/utils/useSwipeDismiss.d.ts +91 -92
  602. package/esm/utils/useSwipeDismiss.js +2 -1
  603. package/field/control/FieldControl.d.ts +3 -3
  604. package/field/description/FieldDescription.d.ts +3 -3
  605. package/field/error/FieldError.d.ts +7 -4
  606. package/field/error/FieldErrorDataAttributes.d.ts +8 -0
  607. package/field/error/FieldErrorDataAttributes.js +10 -1
  608. package/field/item/FieldItem.d.ts +4 -3
  609. package/field/item/FieldItem.js +2 -2
  610. package/field/label/FieldLabel.d.ts +3 -3
  611. package/field/label/FieldLabel.js +6 -51
  612. package/field/root/FieldRoot.d.ts +19 -2
  613. package/field/root/FieldRoot.js +2 -1
  614. package/field/root/FieldRootContext.d.ts +2 -2
  615. package/field/root/FieldRootContext.js +5 -12
  616. package/field/root/useFieldValidation.js +5 -4
  617. package/field/utils/constants.d.ts +3 -0
  618. package/field/utils/constants.js +12 -1
  619. package/field/validity/FieldValidity.d.ts +7 -1
  620. package/fieldset/legend/FieldsetLegend.d.ts +1 -1
  621. package/fieldset/root/FieldsetRoot.d.ts +1 -1
  622. package/floating-ui-react/components/FloatingDelayGroup.js +2 -2
  623. package/floating-ui-react/components/FloatingFocusManager.d.ts +12 -7
  624. package/floating-ui-react/components/FloatingFocusManager.js +29 -25
  625. package/floating-ui-react/components/FloatingPortal.d.ts +6 -4
  626. package/floating-ui-react/hooks/useClick.d.ts +2 -2
  627. package/floating-ui-react/hooks/useClientPoint.d.ts +1 -1
  628. package/floating-ui-react/hooks/useDismiss.d.ts +8 -12
  629. package/floating-ui-react/hooks/useDismiss.js +319 -260
  630. package/floating-ui-react/hooks/useFloatingRootContext.d.ts +2 -2
  631. package/floating-ui-react/hooks/useFocus.d.ts +1 -1
  632. package/floating-ui-react/hooks/useHover.d.ts +6 -14
  633. package/floating-ui-react/hooks/useHover.js +6 -32
  634. package/floating-ui-react/hooks/useHoverFloatingInteraction.d.ts +2 -3
  635. package/floating-ui-react/hooks/useHoverFloatingInteraction.js +53 -70
  636. package/floating-ui-react/hooks/useHoverInteractionSharedState.d.ts +12 -3
  637. package/floating-ui-react/hooks/useHoverInteractionSharedState.js +32 -4
  638. package/floating-ui-react/hooks/useHoverReferenceInteraction.d.ts +8 -3
  639. package/floating-ui-react/hooks/useHoverReferenceInteraction.js +60 -82
  640. package/floating-ui-react/hooks/useHoverShared.d.ts +28 -0
  641. package/floating-ui-react/hooks/useHoverShared.js +34 -0
  642. package/floating-ui-react/hooks/useListNavigation.d.ts +4 -4
  643. package/floating-ui-react/hooks/useListNavigation.js +7 -3
  644. package/floating-ui-react/hooks/useRole.d.ts +1 -1
  645. package/floating-ui-react/hooks/useTypeahead.d.ts +7 -1
  646. package/floating-ui-react/hooks/useTypeahead.js +29 -13
  647. package/floating-ui-react/safePolygon.d.ts +2 -6
  648. package/floating-ui-react/safePolygon.js +149 -119
  649. package/floating-ui-react/types.d.ts +5 -4
  650. package/floating-ui-react/utils/composite.d.ts +1 -0
  651. package/floating-ui-react/utils/composite.js +129 -129
  652. package/floating-ui-react/utils/markOthers.d.ts +7 -1
  653. package/floating-ui-react/utils/markOthers.js +118 -80
  654. package/form/Form.d.ts +1 -1
  655. package/global.d.ts +1 -1
  656. package/index.js +1 -1
  657. package/input/Input.d.ts +10 -3
  658. package/labelable-provider/LabelableProvider.d.ts +4 -1
  659. package/labelable-provider/LabelableProvider.js +3 -2
  660. package/labelable-provider/useAriaLabelledBy.d.ts +9 -0
  661. package/labelable-provider/useAriaLabelledBy.js +61 -0
  662. package/labelable-provider/useLabel.d.ts +25 -0
  663. package/labelable-provider/useLabel.js +80 -0
  664. package/labelable-provider/useLabelableId.d.ts +2 -5
  665. package/menu/arrow/MenuArrow.d.ts +10 -1
  666. package/menu/backdrop/MenuBackdrop.d.ts +4 -1
  667. package/menu/checkbox-item/MenuCheckboxItem.d.ts +3 -3
  668. package/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.d.ts +7 -1
  669. package/menu/group/MenuGroup.d.ts +1 -1
  670. package/menu/group-label/MenuGroupLabel.d.ts +1 -1
  671. package/menu/index.d.ts +2 -1
  672. package/menu/index.parts.d.ts +1 -0
  673. package/menu/index.parts.js +7 -0
  674. package/menu/item/MenuItem.d.ts +1 -1
  675. package/menu/item/useMenuItem.d.ts +8 -7
  676. package/menu/item/useMenuItem.js +5 -7
  677. package/menu/item/useMenuItemCommonProps.d.ts +7 -4
  678. package/menu/item/useMenuItemCommonProps.js +16 -2
  679. package/menu/link-item/MenuLinkItem.d.ts +1 -1
  680. package/menu/link-item/MenuLinkItem.js +16 -2
  681. package/menu/popup/MenuPopup.d.ts +20 -5
  682. package/menu/popup/MenuPopup.js +4 -1
  683. package/menu/popup/MenuPopupDataAttributes.d.ts +1 -1
  684. package/menu/popup/MenuPopupDataAttributes.js +1 -1
  685. package/menu/portal/MenuPortal.d.ts +3 -4
  686. package/menu/positioner/MenuPositioner.d.ts +18 -2
  687. package/menu/positioner/MenuPositioner.js +56 -4
  688. package/menu/radio-group/MenuRadioGroup.d.ts +6 -3
  689. package/menu/radio-item/MenuRadioItem.d.ts +3 -3
  690. package/menu/radio-item-indicator/MenuRadioItemIndicator.d.ts +7 -1
  691. package/menu/root/MenuRoot.d.ts +4 -2
  692. package/menu/root/MenuRoot.js +2 -3
  693. package/menu/store/MenuStore.d.ts +4 -2
  694. package/menu/store/MenuStore.js +15 -1
  695. package/menu/submenu-trigger/MenuSubmenuTrigger.js +1 -0
  696. package/menu/trigger/MenuTrigger.d.ts +3 -3
  697. package/menu/viewport/MenuViewport.d.ts +30 -0
  698. package/menu/viewport/MenuViewport.js +66 -0
  699. package/menu/viewport/MenuViewportCssVars.d.ts +14 -0
  700. package/menu/viewport/MenuViewportCssVars.js +21 -0
  701. package/menu/viewport/MenuViewportDataAttributes.d.ts +26 -0
  702. package/menu/viewport/MenuViewportDataAttributes.js +33 -0
  703. package/menubar/Menubar.d.ts +1 -1
  704. package/menubar/Menubar.js +1 -7
  705. package/meter/indicator/MeterIndicator.d.ts +4 -2
  706. package/meter/label/MeterLabel.d.ts +4 -2
  707. package/meter/label/MeterLabel.js +4 -8
  708. package/meter/root/MeterRoot.d.ts +1 -1
  709. package/meter/root/MeterRoot.js +10 -1
  710. package/meter/track/MeterTrack.d.ts +4 -2
  711. package/meter/value/MeterValue.d.ts +5 -3
  712. package/navigation-menu/arrow/NavigationMenuArrow.d.ts +10 -1
  713. package/navigation-menu/backdrop/NavigationMenuBackdrop.d.ts +1 -1
  714. package/navigation-menu/content/NavigationMenuContent.d.ts +1 -1
  715. package/navigation-menu/content/NavigationMenuContent.js +11 -0
  716. package/navigation-menu/icon/NavigationMenuIcon.d.ts +1 -1
  717. package/navigation-menu/item/NavigationMenuItem.d.ts +1 -1
  718. package/navigation-menu/link/NavigationMenuLink.d.ts +1 -1
  719. package/navigation-menu/list/NavigationMenuList.d.ts +1 -1
  720. package/navigation-menu/list/NavigationMenuList.js +10 -1
  721. package/navigation-menu/popup/NavigationMenuPopup.d.ts +1 -1
  722. package/navigation-menu/portal/NavigationMenuPortal.d.ts +4 -5
  723. package/navigation-menu/positioner/NavigationMenuPositioner.d.ts +11 -2
  724. package/navigation-menu/root/NavigationMenuRoot.d.ts +4 -4
  725. package/navigation-menu/root/NavigationMenuRoot.js +26 -7
  726. package/navigation-menu/trigger/NavigationMenuTrigger.d.ts +1 -1
  727. package/navigation-menu/trigger/NavigationMenuTrigger.js +362 -17
  728. package/navigation-menu/utils/isOutsideMenuEvent.d.ts +1 -1
  729. package/navigation-menu/viewport/NavigationMenuViewport.d.ts +1 -1
  730. package/navigation-menu/viewport/NavigationMenuViewport.js +0 -19
  731. package/number-field/decrement/NumberFieldDecrement.d.ts +3 -3
  732. package/number-field/group/NumberFieldGroup.d.ts +3 -3
  733. package/number-field/increment/NumberFieldIncrement.d.ts +3 -3
  734. package/number-field/input/NumberFieldInput.d.ts +3 -3
  735. package/number-field/root/NumberFieldRoot.d.ts +4 -4
  736. package/number-field/root/NumberFieldRoot.js +1 -1
  737. package/number-field/root/NumberFieldRootContext.d.ts +2 -2
  738. package/number-field/root/useNumberFieldButton.d.ts +2 -5
  739. package/number-field/scrub-area/NumberFieldScrubArea.d.ts +4 -4
  740. package/number-field/scrub-area-cursor/NumberFieldScrubAreaCursor.d.ts +3 -3
  741. package/number-field/utils/stateAttributesMapping.d.ts +2 -2
  742. package/number-field/utils/types.d.ts +2 -2
  743. package/package.json +183 -7
  744. package/popover/arrow/PopoverArrow.d.ts +10 -1
  745. package/popover/backdrop/PopoverBackdrop.d.ts +4 -1
  746. package/popover/close/PopoverClose.d.ts +1 -1
  747. package/popover/close/PopoverClose.js +5 -3
  748. package/popover/description/PopoverDescription.d.ts +1 -1
  749. package/popover/popup/PopoverPopup.d.ts +15 -3
  750. package/popover/popup/PopoverPopup.js +11 -2
  751. package/popover/portal/PopoverPortal.d.ts +3 -4
  752. package/popover/positioner/PopoverPositioner.d.ts +11 -2
  753. package/popover/root/PopoverRoot.d.ts +10 -3
  754. package/popover/root/PopoverRoot.js +1 -3
  755. package/popover/title/PopoverTitle.d.ts +1 -1
  756. package/popover/viewport/PopoverViewport.d.ts +16 -12
  757. package/preview-card/arrow/PreviewCardArrow.d.ts +10 -1
  758. package/preview-card/backdrop/PreviewCardBackdrop.d.ts +4 -1
  759. package/preview-card/popup/PreviewCardPopup.d.ts +13 -1
  760. package/preview-card/portal/PreviewCardPortal.d.ts +3 -4
  761. package/preview-card/positioner/PreviewCardPositioner.d.ts +14 -2
  762. package/preview-card/positioner/PreviewCardPositioner.js +7 -1
  763. package/preview-card/root/PreviewCardRoot.d.ts +3 -3
  764. package/preview-card/root/PreviewCardRoot.js +20 -7
  765. package/preview-card/trigger/PreviewCardTrigger.d.ts +1 -1
  766. package/preview-card/viewport/PreviewCardViewport.d.ts +16 -9
  767. package/progress/indicator/ProgressIndicator.d.ts +4 -2
  768. package/progress/label/ProgressLabel.d.ts +4 -2
  769. package/progress/label/ProgressLabel.js +4 -8
  770. package/progress/root/ProgressRoot.d.ts +4 -1
  771. package/progress/root/ProgressRoot.js +10 -1
  772. package/progress/root/ProgressRootContext.d.ts +2 -2
  773. package/progress/root/stateAttributesMapping.d.ts +2 -2
  774. package/progress/track/ProgressTrack.d.ts +4 -2
  775. package/progress/value/ProgressValue.d.ts +5 -3
  776. package/radio/indicator/RadioIndicator.d.ts +4 -1
  777. package/radio/indicator/RadioIndicatorDataAttributes.d.ts +8 -0
  778. package/radio/indicator/RadioIndicatorDataAttributes.js +10 -1
  779. package/radio/root/RadioRoot.d.ts +3 -3
  780. package/radio/root/RadioRoot.js +4 -1
  781. package/radio-group/RadioGroup.d.ts +3 -3
  782. package/scroll-area/content/ScrollAreaContent.d.ts +3 -3
  783. package/scroll-area/corner/ScrollAreaCorner.d.ts +1 -1
  784. package/scroll-area/root/ScrollAreaRoot.d.ts +27 -11
  785. package/scroll-area/root/ScrollAreaRoot.js +7 -4
  786. package/scroll-area/root/ScrollAreaRootContext.d.ts +4 -2
  787. package/scroll-area/root/stateAttributes.d.ts +2 -2
  788. package/scroll-area/scrollbar/ScrollAreaScrollbar.d.ts +13 -7
  789. package/scroll-area/scrollbar/ScrollAreaScrollbar.js +4 -1
  790. package/scroll-area/thumb/ScrollAreaThumb.d.ts +5 -2
  791. package/scroll-area/thumb/ScrollAreaThumb.js +3 -1
  792. package/scroll-area/viewport/ScrollAreaViewport.d.ts +3 -3
  793. package/scroll-area/viewport/ScrollAreaViewport.js +46 -27
  794. package/select/arrow/SelectArrow.d.ts +10 -1
  795. package/select/backdrop/SelectBackdrop.d.ts +7 -1
  796. package/select/group/SelectGroup.d.ts +1 -1
  797. package/select/group-label/SelectGroupLabel.d.ts +1 -1
  798. package/select/icon/SelectIcon.d.ts +1 -1
  799. package/select/index.d.ts +1 -0
  800. package/select/index.parts.d.ts +1 -0
  801. package/select/index.parts.js +7 -0
  802. package/select/item/SelectItem.d.ts +1 -1
  803. package/select/item/SelectItem.js +10 -4
  804. package/select/item-indicator/SelectItemIndicator.d.ts +10 -2
  805. package/select/item-indicator/SelectItemIndicatorDataAttributes.d.ts +10 -0
  806. package/select/item-indicator/SelectItemIndicatorDataAttributes.js +18 -0
  807. package/select/item-text/SelectItemText.d.ts +1 -1
  808. package/select/label/SelectLabel.d.ts +16 -0
  809. package/select/label/SelectLabel.js +54 -0
  810. package/select/list/SelectList.d.ts +1 -1
  811. package/select/popup/SelectPopup.d.ts +14 -2
  812. package/select/popup/SelectPopup.js +26 -12
  813. package/select/portal/SelectPortal.d.ts +3 -4
  814. package/select/positioner/SelectPositioner.d.ts +14 -2
  815. package/select/positioner/SelectPositionerContext.d.ts +2 -2
  816. package/select/root/SelectRoot.d.ts +5 -4
  817. package/select/root/SelectRoot.js +5 -6
  818. package/select/scroll-arrow/SelectScrollArrow.d.ts +13 -1
  819. package/select/scroll-down-arrow/SelectScrollDownArrow.d.ts +1 -1
  820. package/select/scroll-up-arrow/SelectScrollUpArrow.d.ts +1 -1
  821. package/select/store.d.ts +5 -2
  822. package/select/store.js +1 -0
  823. package/select/trigger/SelectTrigger.d.ts +6 -4
  824. package/select/trigger/SelectTrigger.js +5 -2
  825. package/select/value/SelectValue.d.ts +1 -1
  826. package/separator/Separator.d.ts +1 -1
  827. package/slider/control/SliderControl.d.ts +4 -3
  828. package/slider/control/SliderControl.js +0 -2
  829. package/slider/index.d.ts +1 -0
  830. package/slider/index.parts.d.ts +1 -0
  831. package/slider/index.parts.js +7 -0
  832. package/slider/indicator/SliderIndicator.d.ts +4 -2
  833. package/slider/label/SliderLabel.d.ts +16 -0
  834. package/slider/label/SliderLabel.js +63 -0
  835. package/slider/root/SliderRoot.d.ts +11 -5
  836. package/slider/root/SliderRoot.js +8 -3
  837. package/slider/root/SliderRootContext.d.ts +4 -2
  838. package/slider/root/stateAttributesMapping.d.ts +2 -2
  839. package/slider/thumb/SliderThumb.d.ts +5 -5
  840. package/slider/thumb/SliderThumb.js +3 -2
  841. package/slider/track/SliderTrack.d.ts +4 -2
  842. package/slider/utils/resolveThumbCollision.d.ts +2 -2
  843. package/slider/value/SliderValue.d.ts +5 -3
  844. package/switch/root/SwitchRoot.d.ts +3 -3
  845. package/switch/root/SwitchRoot.js +4 -1
  846. package/switch/root/SwitchRootContext.d.ts +4 -4
  847. package/switch/stateAttributesMapping.d.ts +2 -2
  848. package/switch/thumb/SwitchThumb.d.ts +3 -3
  849. package/tabs/indicator/TabsIndicator.d.ts +12 -3
  850. package/tabs/indicator/TabsIndicator.js +5 -14
  851. package/tabs/indicator/TabsIndicatorCssVars.d.ts +1 -1
  852. package/tabs/indicator/TabsIndicatorCssVars.js +1 -1
  853. package/tabs/list/TabsList.d.ts +3 -3
  854. package/tabs/list/TabsList.js +48 -3
  855. package/tabs/list/TabsListContext.d.ts +2 -0
  856. package/tabs/panel/TabsPanel.d.ts +9 -3
  857. package/tabs/panel/TabsPanelDataAttributes.d.ts +8 -0
  858. package/tabs/panel/TabsPanelDataAttributes.js +10 -1
  859. package/tabs/root/TabsRoot.d.ts +7 -1
  860. package/tabs/root/TabsRootContext.d.ts +1 -1
  861. package/tabs/root/stateAttributesMapping.d.ts +2 -2
  862. package/tabs/tab/TabsTab.d.ts +7 -1
  863. package/tabs/tab/TabsTab.js +10 -1
  864. package/toast/action/ToastAction.d.ts +1 -1
  865. package/toast/arrow/ToastArrow.d.ts +10 -1
  866. package/toast/close/ToastClose.d.ts +1 -1
  867. package/toast/content/ToastContent.d.ts +1 -1
  868. package/toast/createToastManager.d.ts +1 -1
  869. package/toast/description/ToastDescription.d.ts +1 -1
  870. package/toast/portal/ToastPortal.d.ts +3 -4
  871. package/toast/positioner/ToastPositioner.d.ts +12 -3
  872. package/toast/provider/ToastProvider.d.ts +2 -0
  873. package/toast/provider/ToastProvider.js +1 -1
  874. package/toast/root/ToastRoot.d.ts +20 -7
  875. package/toast/root/ToastRoot.js +3 -1
  876. package/toast/store.d.ts +1 -1
  877. package/toast/store.js +37 -8
  878. package/toast/title/ToastTitle.d.ts +1 -1
  879. package/toast/useToastManager.d.ts +3 -3
  880. package/toast/viewport/ToastViewport.d.ts +1 -1
  881. package/toggle/Toggle.d.ts +1 -1
  882. package/toggle-group/ToggleGroup.d.ts +1 -1
  883. package/toolbar/button/ToolbarButton.d.ts +9 -3
  884. package/toolbar/group/ToolbarGroup.d.ts +4 -2
  885. package/toolbar/input/ToolbarInput.d.ts +9 -3
  886. package/toolbar/link/ToolbarLink.d.ts +4 -1
  887. package/toolbar/root/ToolbarRoot.d.ts +7 -1
  888. package/toolbar/separator/ToolbarSeparator.d.ts +4 -2
  889. package/tooltip/arrow/TooltipArrow.d.ts +13 -1
  890. package/tooltip/popup/TooltipPopup.d.ts +13 -1
  891. package/tooltip/portal/TooltipPortal.d.ts +3 -4
  892. package/tooltip/positioner/TooltipPositioner.d.ts +11 -2
  893. package/tooltip/provider/TooltipProvider.d.ts +2 -0
  894. package/tooltip/root/TooltipRoot.d.ts +3 -3
  895. package/tooltip/root/TooltipRoot.js +1 -1
  896. package/tooltip/store/TooltipStore.d.ts +2 -0
  897. package/tooltip/store/TooltipStore.js +2 -0
  898. package/tooltip/trigger/TooltipTrigger.d.ts +6 -1
  899. package/tooltip/trigger/TooltipTrigger.js +5 -0
  900. package/tooltip/viewport/TooltipViewport.d.ts +16 -12
  901. package/types/index.d.ts +16 -1
  902. package/unstable-use-media-query/index.d.ts +2 -0
  903. package/use-button/useButton.d.ts +8 -5
  904. package/use-button/useButton.js +49 -20
  905. package/use-render/useRender.d.ts +7 -5
  906. package/utils/FloatingPortalLite.d.ts +4 -2
  907. package/utils/InternalBackdrop.d.ts +3 -1
  908. package/utils/closePart.d.ts +16 -0
  909. package/utils/closePart.js +48 -0
  910. package/utils/constants.d.ts +4 -0
  911. package/utils/constants.js +6 -2
  912. package/utils/createBaseUIEventDetails.d.ts +1 -1
  913. package/utils/getElementAtPoint.d.ts +1 -0
  914. package/utils/getElementAtPoint.js +9 -0
  915. package/utils/resolveAriaLabelledBy.d.ts +2 -0
  916. package/utils/resolveAriaLabelledBy.js +14 -0
  917. package/utils/resolveValueLabel.d.ts +4 -4
  918. package/utils/resolveValueLabel.js +7 -5
  919. package/utils/types.d.ts +7 -20
  920. package/utils/useAnchorPositioning.d.ts +53 -18
  921. package/utils/useAnchorPositioning.js +15 -6
  922. package/utils/useFocusableWhenDisabled.d.ts +2 -5
  923. package/utils/useMixedToggleClickHandler.d.ts +2 -4
  924. package/utils/useOpenChangeComplete.d.ts +2 -4
  925. package/utils/useOpenInteractionType.d.ts +0 -1
  926. package/utils/useOpenInteractionType.js +7 -5
  927. package/utils/usePopupAutoResize.js +1 -2
  928. package/utils/usePopupViewport.js +11 -8
  929. package/utils/useRegisteredLabelId.d.ts +1 -0
  930. package/utils/useRegisteredLabelId.js +19 -0
  931. package/utils/useRenderElement.d.ts +6 -9
  932. package/utils/useRenderElement.js +15 -0
  933. package/utils/useSwipeDismiss.d.ts +91 -92
  934. package/utils/useSwipeDismiss.js +2 -1
  935. package/esm/navigation-menu/utils/setFixedSize.d.ts +0 -1
  936. package/esm/navigation-menu/utils/setFixedSize.js +0 -11
  937. package/navigation-menu/utils/setFixedSize.d.ts +0 -1
  938. package/navigation-menu/utils/setFixedSize.js +0 -17
@@ -0,0 +1,56 @@
1
+ export let ComboboxInputGroupDataAttributes = /*#__PURE__*/function (ComboboxInputGroupDataAttributes) {
2
+ /**
3
+ * Present when the corresponding popup is open.
4
+ */
5
+ ComboboxInputGroupDataAttributes["popupOpen"] = "data-popup-open";
6
+ /**
7
+ * Present when the input group is pressed.
8
+ */
9
+ ComboboxInputGroupDataAttributes["pressed"] = "data-pressed";
10
+ /**
11
+ * Present when the component is disabled.
12
+ */
13
+ ComboboxInputGroupDataAttributes["disabled"] = "data-disabled";
14
+ /**
15
+ * Present when the component is readonly.
16
+ */
17
+ ComboboxInputGroupDataAttributes["readonly"] = "data-readonly";
18
+ /**
19
+ * Indicates which side the corresponding popup is positioned relative to its anchor.
20
+ * @type {'top' | 'bottom' | 'left' | 'right' | 'inline-end' | 'inline-start' | null}
21
+ */
22
+ ComboboxInputGroupDataAttributes["popupSide"] = "data-popup-side";
23
+ /**
24
+ * Present when the component is in valid state (when wrapped in Field.Root).
25
+ */
26
+ ComboboxInputGroupDataAttributes["valid"] = "data-valid";
27
+ /**
28
+ * Present when the component is in invalid state (when wrapped in Field.Root).
29
+ */
30
+ ComboboxInputGroupDataAttributes["invalid"] = "data-invalid";
31
+ /**
32
+ * Present when the component has been touched (when wrapped in Field.Root).
33
+ */
34
+ ComboboxInputGroupDataAttributes["touched"] = "data-touched";
35
+ /**
36
+ * Present when the component's value has changed (when wrapped in Field.Root).
37
+ */
38
+ ComboboxInputGroupDataAttributes["dirty"] = "data-dirty";
39
+ /**
40
+ * Present when the component has a value (when wrapped in Field.Root).
41
+ */
42
+ ComboboxInputGroupDataAttributes["filled"] = "data-filled";
43
+ /**
44
+ * Present when the component is focused (when wrapped in Field.Root).
45
+ */
46
+ ComboboxInputGroupDataAttributes["focused"] = "data-focused";
47
+ /**
48
+ * Present when the corresponding items list is empty.
49
+ */
50
+ ComboboxInputGroupDataAttributes["listEmpty"] = "data-list-empty";
51
+ /**
52
+ * Present when the combobox doesn't have a value.
53
+ */
54
+ ComboboxInputGroupDataAttributes["placeholder"] = "data-placeholder";
55
+ return ComboboxInputGroupDataAttributes;
56
+ }({});
@@ -19,7 +19,7 @@ export interface ComboboxItemState {
19
19
  */
20
20
  highlighted: boolean;
21
21
  }
22
- export interface ComboboxItemProps extends NonNativeButtonProps, Omit<BaseUIComponentProps<'div', ComboboxItem.State>, 'id'> {
22
+ export interface ComboboxItemProps extends NonNativeButtonProps, Omit<BaseUIComponentProps<'div', ComboboxItemState>, 'id'> {
23
23
  children?: React.ReactNode;
24
24
  /**
25
25
  * An optional click handler for the item when selected.
@@ -115,7 +115,8 @@ export const ComboboxItem = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRe
115
115
  } = useButton({
116
116
  disabled,
117
117
  focusableWhenDisabled: true,
118
- native: nativeButton
118
+ native: nativeButton,
119
+ composite: true
119
120
  });
120
121
  function commitSelection(nativeEvent) {
121
122
  function selectItem() {
@@ -6,7 +6,7 @@ import { type TransitionStatus } from "../../utils/useTransitionStatus.js";
6
6
  * Renders a `<span>` element.
7
7
  */
8
8
  export declare const ComboboxItemIndicator: React.ForwardRefExoticComponent<Omit<ComboboxItemIndicatorProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
9
- export interface ComboboxItemIndicatorProps extends BaseUIComponentProps<'span', ComboboxItemIndicator.State> {
9
+ export interface ComboboxItemIndicatorProps extends BaseUIComponentProps<'span', ComboboxItemIndicatorState> {
10
10
  children?: React.ReactNode;
11
11
  /**
12
12
  * Whether to keep the HTML element in the DOM when the item is not selected.
@@ -15,7 +15,13 @@ export interface ComboboxItemIndicatorProps extends BaseUIComponentProps<'span',
15
15
  keepMounted?: boolean | undefined;
16
16
  }
17
17
  export interface ComboboxItemIndicatorState {
18
+ /**
19
+ * Whether the item is selected.
20
+ */
18
21
  selected: boolean;
22
+ /**
23
+ * The transition status of the component.
24
+ */
19
25
  transitionStatus: TransitionStatus;
20
26
  }
21
27
  export declare namespace ComboboxItemIndicator {
@@ -0,0 +1,10 @@
1
+ export declare enum ComboboxItemIndicatorDataAttributes {
2
+ /**
3
+ * Present when the indicator is animating in.
4
+ */
5
+ startingStyle = "data-starting-style",
6
+ /**
7
+ * Present when the indicator is animating out.
8
+ */
9
+ endingStyle = "data-ending-style",
10
+ }
@@ -0,0 +1,12 @@
1
+ import { TransitionStatusDataAttributes } from "../../utils/stateAttributesMapping.js";
2
+ export let ComboboxItemIndicatorDataAttributes = function (ComboboxItemIndicatorDataAttributes) {
3
+ /**
4
+ * Present when the indicator is animating in.
5
+ */
6
+ ComboboxItemIndicatorDataAttributes[ComboboxItemIndicatorDataAttributes["startingStyle"] = TransitionStatusDataAttributes.startingStyle] = "startingStyle";
7
+ /**
8
+ * Present when the indicator is animating out.
9
+ */
10
+ ComboboxItemIndicatorDataAttributes[ComboboxItemIndicatorDataAttributes["endingStyle"] = TransitionStatusDataAttributes.endingStyle] = "endingStyle";
11
+ return ComboboxItemIndicatorDataAttributes;
12
+ }({});
@@ -0,0 +1,16 @@
1
+ import * as React from 'react';
2
+ import type { BaseUIComponentProps } from "../../utils/types.js";
3
+ import type { FieldRoot } from "../../field/root/FieldRoot.js";
4
+ /**
5
+ * An accessible label that is automatically associated with the combobox trigger.
6
+ * Renders a `<div>` element.
7
+ *
8
+ * Documentation: [Base UI Combobox](https://base-ui.com/react/components/combobox)
9
+ */
10
+ export declare const ComboboxLabel: React.ForwardRefExoticComponent<Omit<ComboboxLabelProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
11
+ export type ComboboxLabelState = FieldRoot.State;
12
+ export interface ComboboxLabelProps extends Omit<BaseUIComponentProps<'div', ComboboxLabel.State>, 'id'> {}
13
+ export declare namespace ComboboxLabel {
14
+ type State = ComboboxLabelState;
15
+ type Props = ComboboxLabelProps;
16
+ }
@@ -0,0 +1,63 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+ import { error } from '@base-ui/utils/error';
5
+ import { SafeReact } from '@base-ui/utils/safeReact';
6
+ import { useStore } from '@base-ui/utils/store';
7
+ import { useRenderElement } from "../../utils/useRenderElement.js";
8
+ import { useFieldRootContext } from "../../field/root/FieldRootContext.js";
9
+ import { fieldValidityMapping } from "../../field/utils/constants.js";
10
+ import { useLabel } from "../../labelable-provider/useLabel.js";
11
+ import { getDefaultLabelId } from "../../utils/resolveAriaLabelledBy.js";
12
+ import { useComboboxRootContext } from "../root/ComboboxRootContext.js";
13
+ import { selectors } from "../store.js";
14
+
15
+ /**
16
+ * An accessible label that is automatically associated with the combobox trigger.
17
+ * Renders a `<div>` element.
18
+ *
19
+ * Documentation: [Base UI Combobox](https://base-ui.com/react/components/combobox)
20
+ */
21
+ export const ComboboxLabel = /*#__PURE__*/React.forwardRef(function ComboboxLabel(componentProps, forwardedRef) {
22
+ const {
23
+ render,
24
+ className,
25
+ ...elementProps
26
+ } = componentProps;
27
+ // Keep label id derived from the root and ignore runtime `id` overrides from untyped consumers.
28
+ const elementPropsWithoutId = elementProps;
29
+ delete elementPropsWithoutId.id;
30
+ const fieldRootContext = useFieldRootContext();
31
+ const store = useComboboxRootContext();
32
+ const inputInsidePopup = useStore(store, selectors.inputInsidePopup);
33
+ const triggerElement = useStore(store, selectors.triggerElement);
34
+ const inputElement = useStore(store, selectors.inputElement);
35
+ const rootId = useStore(store, selectors.id);
36
+ const defaultLabelId = getDefaultLabelId(rootId);
37
+ const localControlId = triggerElement?.id ?? (inputInsidePopup ? rootId : undefined);
38
+ if (process.env.NODE_ENV !== 'production') {
39
+ // eslint-disable-next-line react-hooks/rules-of-hooks
40
+ React.useEffect(() => {
41
+ if (!inputElement || inputInsidePopup) {
42
+ return;
43
+ }
44
+ const ownerStackMessage = SafeReact.captureOwnerStack?.() || '';
45
+ const message = '<Combobox.Label> labels <Combobox.Trigger> only. ' + 'When <Combobox.Input> is the form control, use a native <label> or <Field.Label> instead.';
46
+ error(`${message}${ownerStackMessage}`);
47
+ }, [inputElement, inputInsidePopup]);
48
+ }
49
+ const labelProps = useLabel({
50
+ id: defaultLabelId,
51
+ fallbackControlId: localControlId,
52
+ setLabelId(nextLabelId) {
53
+ store.set('labelId', nextLabelId);
54
+ }
55
+ });
56
+ return useRenderElement('div', componentProps, {
57
+ ref: forwardedRef,
58
+ state: fieldRootContext.state,
59
+ props: [labelProps, elementProps],
60
+ stateAttributesMapping: fieldValidityMapping
61
+ });
62
+ });
63
+ if (process.env.NODE_ENV !== "production") ComboboxLabel.displayName = "ComboboxLabel";
@@ -11,7 +11,7 @@ export interface ComboboxListState {
11
11
  */
12
12
  empty: boolean;
13
13
  }
14
- export interface ComboboxListProps extends Omit<BaseUIComponentProps<'div', ComboboxList.State>, 'children'> {
14
+ export interface ComboboxListProps extends Omit<BaseUIComponentProps<'div', ComboboxListState>, 'children'> {
15
15
  children?: React.ReactNode | ((item: any, index: number) => React.ReactNode);
16
16
  }
17
17
  export declare namespace ComboboxList {
@@ -9,14 +9,32 @@ import type { TransitionStatus } from "../../utils/useTransitionStatus.js";
9
9
  */
10
10
  export declare const ComboboxPopup: React.ForwardRefExoticComponent<Omit<ComboboxPopupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
11
11
  export interface ComboboxPopupState {
12
+ /**
13
+ * Whether the component is open.
14
+ */
12
15
  open: boolean;
16
+ /**
17
+ * The side of the anchor the component is placed on.
18
+ */
13
19
  side: Side;
20
+ /**
21
+ * The alignment of the component relative to the anchor.
22
+ */
14
23
  align: Align;
24
+ /**
25
+ * Whether the anchor element is hidden.
26
+ */
15
27
  anchorHidden: boolean;
28
+ /**
29
+ * The transition status of the component.
30
+ */
16
31
  transitionStatus: TransitionStatus;
32
+ /**
33
+ * Whether there are no items to display.
34
+ */
17
35
  empty: boolean;
18
36
  }
19
- export interface ComboboxPopupProps extends BaseUIComponentProps<'div', ComboboxPopup.State> {
37
+ export interface ComboboxPopupProps extends BaseUIComponentProps<'div', ComboboxPopupState> {
20
38
  /**
21
39
  * Determines the element to focus when the popup is opened.
22
40
  *
@@ -26,7 +44,7 @@ export interface ComboboxPopupProps extends BaseUIComponentProps<'div', Combobox
26
44
  * - `function`: Called with the interaction type (`mouse`, `touch`, `pen`, or `keyboard`).
27
45
  * Return an element to focus, `true` to use the default behavior, or `false`/`undefined` to do nothing.
28
46
  */
29
- initialFocus?: (boolean | React.RefObject<HTMLElement | null> | ((openType: InteractionType) => void | boolean | HTMLElement | null)) | undefined;
47
+ initialFocus?: boolean | React.RefObject<HTMLElement | null> | ((openType: InteractionType) => void | boolean | HTMLElement | null) | undefined;
30
48
  /**
31
49
  * Determines the element to focus when the popup is closed.
32
50
  *
@@ -36,7 +54,7 @@ export interface ComboboxPopupProps extends BaseUIComponentProps<'div', Combobox
36
54
  * - `function`: Called with the interaction type (`mouse`, `touch`, `pen`, or `keyboard`).
37
55
  * Return an element to focus, `true` to use the default behavior, or `false`/`undefined` to do nothing.
38
56
  */
39
- finalFocus?: (boolean | React.RefObject<HTMLElement | null> | ((closeType: InteractionType) => void | boolean | HTMLElement | null)) | undefined;
57
+ finalFocus?: boolean | React.RefObject<HTMLElement | null> | ((closeType: InteractionType) => void | boolean | HTMLElement | null) | undefined;
40
58
  }
41
59
  export declare namespace ComboboxPopup {
42
60
  type State = ComboboxPopupState;
@@ -12,7 +12,8 @@ import { useOpenChangeComplete } from "../../utils/useOpenChangeComplete.js";
12
12
  import { transitionStatusMapping } from "../../utils/stateAttributesMapping.js";
13
13
  import { contains, getTarget } from "../../floating-ui-react/utils.js";
14
14
  import { getDisabledMountTransitionStyles } from "../../utils/getDisabledMountTransitionStyles.js";
15
- import { jsx as _jsx } from "react/jsx-runtime";
15
+ import { ComboboxInternalDismissButton } from "../utils/ComboboxInternalDismissButton.js";
16
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
17
  const stateAttributesMapping = {
17
18
  ...popupStateMapping,
18
19
  ...transitionStatusMapping
@@ -42,6 +43,7 @@ export const ComboboxPopup = /*#__PURE__*/React.forwardRef(function ComboboxPopu
42
43
  const transitionStatus = useStore(store, selectors.transitionStatus);
43
44
  const inputInsidePopup = useStore(store, selectors.inputInsidePopup);
44
45
  const inputElement = useStore(store, selectors.inputElement);
46
+ const modal = useStore(store, selectors.modal);
45
47
  const empty = filteredItems.length === 0;
46
48
  useOpenChangeComplete({
47
49
  open,
@@ -87,14 +89,20 @@ export const ComboboxPopup = /*#__PURE__*/React.forwardRef(function ComboboxPopu
87
89
  } else {
88
90
  resolvedFinalFocus = inputInsidePopup ? undefined : false;
89
91
  }
92
+ const focusManagerModal = !inputInsidePopup || modal;
90
93
  return /*#__PURE__*/_jsx(FloatingFocusManager, {
91
94
  context: floatingRootContext,
92
95
  disabled: !mounted,
93
- modal: !inputInsidePopup,
96
+ modal: focusManagerModal,
94
97
  openInteractionType: openMethod,
95
98
  initialFocus: resolvedInitialFocus,
96
99
  returnFocus: resolvedFinalFocus,
97
- children: element
100
+ getInsideElements: () => [store.state.startDismissRef.current, store.state.endDismissRef.current],
101
+ children: /*#__PURE__*/_jsxs(React.Fragment, {
102
+ children: [element, focusManagerModal && /*#__PURE__*/_jsx(ComboboxInternalDismissButton, {
103
+ ref: store.state.endDismissRef
104
+ })]
105
+ })
98
106
  });
99
107
  });
100
108
  if (process.env.NODE_ENV !== "production") ComboboxPopup.displayName = "ComboboxPopup";
@@ -6,10 +6,8 @@ import { FloatingPortal } from "../../floating-ui-react/index.js";
6
6
  * Renders a `<div>` element.
7
7
  */
8
8
  export declare const ComboboxPortal: React.ForwardRefExoticComponent<Omit<ComboboxPortalProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
9
- export declare namespace ComboboxPortal {
10
- interface State {}
11
- }
12
- export interface ComboboxPortalProps extends FloatingPortal.Props<ComboboxPortal.State> {
9
+ export interface ComboboxPortalState {}
10
+ export interface ComboboxPortalProps extends FloatingPortal.Props<ComboboxPortalState> {
13
11
  /**
14
12
  * Whether to keep the portal mounted in the DOM while the popup is hidden.
15
13
  * @default false
@@ -17,5 +15,6 @@ export interface ComboboxPortalProps extends FloatingPortal.Props<ComboboxPortal
17
15
  keepMounted?: boolean | undefined;
18
16
  }
19
17
  export declare namespace ComboboxPortal {
18
+ type State = ComboboxPortalState;
20
19
  type Props = ComboboxPortalProps;
21
20
  }
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { type Side, type Align, useAnchorPositioning } from "../../utils/useAnchorPositioning.js";
2
+ import { type Side, type Align, type UseAnchorPositioningSharedParameters } from "../../utils/useAnchorPositioning.js";
3
3
  import type { BaseUIComponentProps } from "../../utils/types.js";
4
4
  /**
5
5
  * Positions the popup against the trigger.
@@ -11,12 +11,24 @@ export interface ComboboxPositionerState {
11
11
  * Whether the popup is currently open.
12
12
  */
13
13
  open: boolean;
14
+ /**
15
+ * The side of the anchor the component is placed on.
16
+ */
14
17
  side: Side;
18
+ /**
19
+ * The alignment of the component relative to the anchor.
20
+ */
15
21
  align: Align;
22
+ /**
23
+ * Whether the anchor element is hidden.
24
+ */
16
25
  anchorHidden: boolean;
26
+ /**
27
+ * Whether there are no items to display.
28
+ */
17
29
  empty: boolean;
18
30
  }
19
- export interface ComboboxPositionerProps extends useAnchorPositioning.SharedParameters, BaseUIComponentProps<'div', ComboboxPositioner.State> {}
31
+ export interface ComboboxPositionerProps extends UseAnchorPositioningSharedParameters, BaseUIComponentProps<'div', ComboboxPositionerState> {}
20
32
  export declare namespace ComboboxPositioner {
21
33
  type State = ComboboxPositionerState;
22
34
  type Props = ComboboxPositionerProps;
@@ -52,10 +52,11 @@ export const ComboboxPositioner = /*#__PURE__*/React.forwardRef(function Combobo
52
52
  const openMethod = useStore(store, selectors.openMethod);
53
53
  const triggerElement = useStore(store, selectors.triggerElement);
54
54
  const inputElement = useStore(store, selectors.inputElement);
55
+ const inputGroupElement = useStore(store, selectors.inputGroupElement);
55
56
  const inputInsidePopup = useStore(store, selectors.inputInsidePopup);
56
57
  const transitionStatus = useStore(store, selectors.transitionStatus);
57
58
  const empty = filteredItems.length === 0;
58
- const resolvedAnchor = anchor ?? (inputInsidePopup ? triggerElement : inputElement);
59
+ const resolvedAnchor = anchor ?? (inputInsidePopup ? triggerElement : inputGroupElement ?? inputElement);
59
60
  const positioning = useAnchorPositioning({
60
61
  anchor: resolvedAnchor,
61
62
  floatingRootContext,
@@ -120,7 +121,7 @@ export const ComboboxPositioner = /*#__PURE__*/React.forwardRef(function Combobo
120
121
  value: contextValue,
121
122
  children: [mounted && modal && /*#__PURE__*/_jsx(InternalBackdrop, {
122
123
  inert: inertValue(!open),
123
- cutout: inputElement ?? triggerElement
124
+ cutout: inputGroupElement ?? inputElement ?? triggerElement
124
125
  }), element]
125
126
  });
126
127
  });
@@ -69,7 +69,7 @@ interface ComboboxRootProps<ItemValue> {
69
69
  * - `'always'`: highlight the first item as soon as the list opens.
70
70
  * @default false
71
71
  */
72
- autoHighlight?: (boolean | 'always') | undefined;
72
+ autoHighlight?: boolean | 'always' | undefined;
73
73
  /**
74
74
  * Whether the highlighted item should be preserved when the pointer leaves the list.
75
75
  * @default false
@@ -132,17 +132,17 @@ interface ComboboxRootProps<ItemValue> {
132
132
  * The items to be displayed in the list.
133
133
  * Can be either a flat array of items or an array of groups with items.
134
134
  */
135
- items?: (readonly any[] | readonly Group<any>[]) | undefined;
135
+ items?: readonly any[] | readonly Group<any>[] | undefined;
136
136
  /**
137
137
  * Filtered items to display in the list.
138
138
  * When provided, the list will use these items instead of filtering the `items` prop internally.
139
139
  * Use when you want to control filtering logic externally with the `useFilter()` hook.
140
140
  */
141
- filteredItems?: (readonly any[] | readonly Group<any>[]) | undefined;
141
+ filteredItems?: readonly any[] | readonly Group<any>[] | undefined;
142
142
  /**
143
143
  * Filter function used to match items vs input query.
144
144
  */
145
- filter?: (null | ((itemValue: ItemValue, query: string, itemToString?: (itemValue: ItemValue) => string) => boolean)) | undefined;
145
+ filter?: null | ((itemValue: ItemValue, query: string, itemToString?: (itemValue: ItemValue) => string) => boolean) | undefined;
146
146
  /**
147
147
  * When the item values are objects (`<Combobox.Item value={object}>`), this function converts the object value to a string representation for display in the input.
148
148
  * If the shape of the object is `{ value, label }`, the label will be used automatically without needing to specify this prop.
@@ -188,7 +188,7 @@ interface ComboboxRootProps<ItemValue> {
188
188
  * - `none`: items are static (not filtered), and the input value will not change based on the active item.
189
189
  * @default 'list'
190
190
  */
191
- autoComplete?: ('list' | 'both' | 'inline' | 'none') | undefined;
191
+ autoComplete?: 'list' | 'both' | 'inline' | 'none' | undefined;
192
192
  /**
193
193
  * Provides a hint to the browser for autofill on the hidden input element.
194
194
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/autocomplete
@@ -209,6 +209,7 @@ interface ComboboxRootProps<ItemValue> {
209
209
  */
210
210
  fillInputOnItemPress?: boolean | undefined;
211
211
  }
212
+ export interface AriaComboboxState {}
212
213
  export type AriaComboboxProps<Value, Mode extends SelectionMode = 'none'> = ComboboxRootProps<Value> & {
213
214
  /**
214
215
  * How the combobox should remember the selected value.
@@ -227,7 +228,7 @@ export type AriaComboboxProps<Value, Mode extends SelectionMode = 'none'> = Comb
227
228
  *
228
229
  * To render a controlled combobox, use the `selectedValue` prop instead.
229
230
  */
230
- defaultSelectedValue?: (ComboboxItemValueType<Value, Mode> | null) | undefined;
231
+ defaultSelectedValue?: ComboboxItemValueType<Value, Mode> | null | undefined;
231
232
  /**
232
233
  * Callback fired when the selected value of the combobox changes.
233
234
  */
@@ -235,7 +236,7 @@ export type AriaComboboxProps<Value, Mode extends SelectionMode = 'none'> = Comb
235
236
  };
236
237
  export declare namespace AriaCombobox {
237
238
  type Props<Value, Mode extends SelectionMode = 'none'> = AriaComboboxProps<Value, Mode>;
238
- interface State {}
239
+ type State = AriaComboboxState;
239
240
  interface Actions {
240
241
  unmount: () => void;
241
242
  }
@@ -243,7 +244,7 @@ export declare namespace AriaCombobox {
243
244
  type HighlightEventDetails = BaseUIGenericEventDetails<HighlightEventReason, {
244
245
  index: number;
245
246
  }>;
246
- type ChangeEventReason = typeof REASONS.triggerPress | typeof REASONS.outsidePress | typeof REASONS.itemPress | typeof REASONS.escapeKey | typeof REASONS.listNavigation | typeof REASONS.focusOut | typeof REASONS.inputChange | typeof REASONS.inputClear | typeof REASONS.clearPress | typeof REASONS.chipRemovePress | typeof REASONS.none;
247
+ type ChangeEventReason = typeof REASONS.triggerPress | typeof REASONS.outsidePress | typeof REASONS.itemPress | typeof REASONS.closePress | typeof REASONS.escapeKey | typeof REASONS.listNavigation | typeof REASONS.focusOut | typeof REASONS.inputChange | typeof REASONS.inputClear | typeof REASONS.clearPress | typeof REASONS.chipRemovePress | typeof REASONS.none;
247
248
  type ChangeEventDetails = BaseUIChangeEventDetails<ChangeEventReason>;
248
249
  }
249
250
  export {};
@@ -101,6 +101,8 @@ export function AriaCombobox(props) {
101
101
  const labelsRef = React.useRef([]);
102
102
  const popupRef = React.useRef(null);
103
103
  const inputRef = React.useRef(null);
104
+ const startDismissRef = React.useRef(null);
105
+ const endDismissRef = React.useRef(null);
104
106
  const emptyRef = React.useRef(null);
105
107
  const keyboardActiveRef = React.useRef(true);
106
108
  const hadInputClearRef = React.useRef(false);
@@ -253,6 +255,7 @@ export function AriaCombobox(props) {
253
255
  }, [filteredItems, isGrouped]);
254
256
  const store = useRefWithInit(() => new Store({
255
257
  id,
258
+ labelId: undefined,
256
259
  selectedValue,
257
260
  open,
258
261
  filter,
@@ -264,6 +267,8 @@ export function AriaCombobox(props) {
264
267
  popupRef,
265
268
  emptyRef,
266
269
  inputRef,
270
+ startDismissRef,
271
+ endDismissRef,
267
272
  keyboardActiveRef,
268
273
  chipsContainerRef,
269
274
  clearRef,
@@ -297,6 +302,7 @@ export function AriaCombobox(props) {
297
302
  listElement: null,
298
303
  triggerElement: null,
299
304
  inputElement: null,
305
+ inputGroupElement: null,
300
306
  popupSide: null,
301
307
  openMethod: null,
302
308
  inputInsidePopup: true,
@@ -330,6 +336,7 @@ export function AriaCombobox(props) {
330
336
  const listElement = useStore(store, selectors.listElement);
331
337
  const triggerElement = useStore(store, selectors.triggerElement);
332
338
  const inputElement = useStore(store, selectors.inputElement);
339
+ const inputGroupElement = useStore(store, selectors.inputGroupElement);
333
340
  const inline = useStore(store, selectors.inline);
334
341
  const inputInsidePopup = useStore(store, selectors.inputInsidePopup);
335
342
  const triggerRef = useValueAsRef(triggerElement);
@@ -340,8 +347,7 @@ export function AriaCombobox(props) {
340
347
  } = useTransitionStatus(open);
341
348
  const {
342
349
  openMethod,
343
- triggerProps,
344
- reset: resetOpenInteractionType
350
+ triggerProps
345
351
  } = useOpenInteractionType(open);
346
352
  useField({
347
353
  id,
@@ -539,7 +545,6 @@ export function AriaCombobox(props) {
539
545
  setMounted(false);
540
546
  onOpenChangeComplete?.(false);
541
547
  setQueryChangedAfterOpen(false);
542
- resetOpenInteractionType();
543
548
  setCloseQuery(null);
544
549
  if (selectionMode === 'none') {
545
550
  setIndices({
@@ -760,8 +765,11 @@ export function AriaCombobox(props) {
760
765
  }
761
766
  const role = React.useMemo(() => {
762
767
  const isPlainInput = inputElement?.tagName === 'INPUT';
763
- const shouldApplyAria = isPlainInput || open;
764
- const reference = isPlainInput ? {
768
+ // During SSR and initial hydration, the input ref is not available yet.
769
+ // Assume an input-like control so combobox ARIA attributes are present.
770
+ const shouldTreatAsInput = inputElement == null || isPlainInput;
771
+ const shouldApplyAria = shouldTreatAsInput || open;
772
+ const reference = shouldTreatAsInput ? {
765
773
  autoComplete: 'off',
766
774
  spellCheck: 'false',
767
775
  autoCorrect: 'off',
@@ -803,7 +811,7 @@ export function AriaCombobox(props) {
803
811
  bubbles: inline ? true : undefined,
804
812
  outsidePress(event) {
805
813
  const target = getTarget(event);
806
- return !contains(triggerElement, target) && !contains(clearRef.current, target) && !contains(chipsContainerRef.current, target);
814
+ return !contains(triggerElement, target) && !contains(clearRef.current, target) && !contains(chipsContainerRef.current, target) && !contains(inputGroupElement, target);
807
815
  }
808
816
  });
809
817
  const listNavigation = useListNavigation(floatingRootContext, {
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { AriaCombobox } from "./AriaCombobox.js";
2
+ import { AriaCombobox, type AriaComboboxState } from "./AriaCombobox.js";
3
3
  /**
4
4
  * Groups all parts of the combobox.
5
5
  * Doesn't render its own HTML element.
@@ -51,7 +51,7 @@ export type ComboboxRootProps<Value, Multiple extends boolean | undefined = fals
51
51
  *
52
52
  * To render a controlled combobox, use the `value` prop instead.
53
53
  */
54
- defaultValue?: (ComboboxValueType<Value, Multiple> | null) | undefined;
54
+ defaultValue?: ComboboxValueType<Value, Multiple> | null | undefined;
55
55
  /**
56
56
  * A ref to imperative actions.
57
57
  * - `unmount`: When specified, the combobox will not be unmounted when closed.
@@ -79,13 +79,13 @@ export type ComboboxRootProps<Value, Multiple extends boolean | undefined = fals
79
79
  /**
80
80
  * The selected value of the combobox. Use when controlled.
81
81
  */
82
- value?: (ComboboxValueType<Value, Multiple> | null) | undefined;
82
+ value?: ComboboxValueType<Value, Multiple> | null | undefined;
83
83
  /**
84
84
  * Event handler called when the selected value of the combobox changes.
85
85
  */
86
86
  onValueChange?: ((value: ComboboxValueType<Value, Multiple> | (Multiple extends true ? never : null), eventDetails: ComboboxRoot.ChangeEventDetails) => void) | undefined;
87
87
  };
88
- export type ComboboxRootState = AriaCombobox.State;
88
+ export interface ComboboxRootState extends AriaComboboxState {}
89
89
  export type ComboboxRootActions = AriaCombobox.Actions;
90
90
  export type ComboboxRootChangeEventReason = AriaCombobox.ChangeEventReason;
91
91
  export type ComboboxRootChangeEventDetails = AriaCombobox.ChangeEventDetails;
@@ -7,7 +7,7 @@ import { BaseUIComponentProps } from "../../utils/types.js";
7
7
  */
8
8
  export declare const ComboboxRow: React.ForwardRefExoticComponent<Omit<ComboboxRowProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
9
9
  export interface ComboboxRowState {}
10
- export interface ComboboxRowProps extends BaseUIComponentProps<'div', ComboboxRow.State> {}
10
+ export interface ComboboxRowProps extends BaseUIComponentProps<'div', ComboboxRowState> {}
11
11
  export declare namespace ComboboxRow {
12
12
  type State = ComboboxRowState;
13
13
  type Props = ComboboxRowProps;
@@ -7,7 +7,7 @@ import { BaseUIComponentProps } from "../../utils/types.js";
7
7
  */
8
8
  export declare const ComboboxStatus: React.ForwardRefExoticComponent<Omit<ComboboxStatusProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
9
9
  export interface ComboboxStatusState {}
10
- export interface ComboboxStatusProps extends BaseUIComponentProps<'div', ComboboxStatus.State> {}
10
+ export interface ComboboxStatusProps extends BaseUIComponentProps<'div', ComboboxStatusState> {}
11
11
  export declare namespace ComboboxStatus {
12
12
  type State = ComboboxStatusState;
13
13
  type Props = ComboboxStatusProps;
@@ -6,6 +6,7 @@ import type { Side } from "../utils/useAnchorPositioning.js";
6
6
  import type { AriaCombobox } from "./root/AriaCombobox.js";
7
7
  export type State = {
8
8
  id: string | undefined;
9
+ labelId: string | undefined;
9
10
  query: string;
10
11
  filter: (item: any, query: string) => boolean;
11
12
  items: readonly any[] | undefined;
@@ -24,6 +25,7 @@ export type State = {
24
25
  listElement: HTMLElement | null;
25
26
  triggerElement: HTMLElement | null;
26
27
  inputElement: HTMLInputElement | null;
28
+ inputGroupElement: HTMLDivElement | null;
27
29
  popupSide: Side | null;
28
30
  openMethod: InteractionType | null;
29
31
  inputInsidePopup: boolean;
@@ -33,6 +35,8 @@ export type State = {
33
35
  popupRef: React.RefObject<HTMLDivElement | null>;
34
36
  emptyRef: React.RefObject<HTMLDivElement | null>;
35
37
  inputRef: React.RefObject<HTMLInputElement | null>;
38
+ startDismissRef: React.RefObject<HTMLSpanElement | null>;
39
+ endDismissRef: React.RefObject<HTMLSpanElement | null>;
36
40
  keyboardActiveRef: React.RefObject<boolean>;
37
41
  chipsContainerRef: React.RefObject<HTMLDivElement | null>;
38
42
  clearRef: React.RefObject<HTMLButtonElement | null>;
@@ -43,9 +47,9 @@ export type State = {
43
47
  setInputValue: (value: string, eventDetails: AriaCombobox.ChangeEventDetails) => void;
44
48
  setSelectedValue: (value: any, eventDetails: AriaCombobox.ChangeEventDetails) => void;
45
49
  setIndices: (indices: {
46
- activeIndex?: (number | null) | undefined;
47
- selectedIndex?: (number | null) | undefined;
48
- type?: ('keyboard' | 'pointer' | 'none') | undefined;
50
+ activeIndex?: number | null | undefined;
51
+ selectedIndex?: number | null | undefined;
52
+ type?: 'keyboard' | 'pointer' | 'none' | undefined;
49
53
  }) => void;
50
54
  onItemHighlighted: (item: any, eventDetails: AriaCombobox.HighlightEventDetails) => void;
51
55
  forceMount: () => void;
@@ -74,6 +78,7 @@ export type State = {
74
78
  export type ComboboxStore = Store<State>;
75
79
  export declare const selectors: {
76
80
  id: (state: State) => string | undefined;
81
+ labelId: (state: State) => string | undefined;
77
82
  query: (state: State) => string;
78
83
  items: (state: State) => readonly any[] | undefined;
79
84
  selectedValue: (state: State) => any;
@@ -100,6 +105,7 @@ export declare const selectors: {
100
105
  listElement: (state: State) => HTMLElement | null;
101
106
  triggerElement: (state: State) => HTMLElement | null;
102
107
  inputElement: (state: State) => HTMLInputElement | null;
108
+ inputGroupElement: (state: State) => HTMLDivElement | null;
103
109
  popupSide: (state: State) => Side | null;
104
110
  openMethod: (state: State) => InteractionType | null;
105
111
  inputInsidePopup: (state: State) => boolean;
@@ -126,6 +132,6 @@ export declare const selectors: {
126
132
  itemToStringLabel: (state: State) => ((item: any) => string) | undefined;
127
133
  isItemEqualToValue: (state: State) => (itemValue: any, selectedValue: any) => boolean;
128
134
  modal: (state: State) => boolean;
129
- autoHighlight: (state: State) => false | "always" | "input-change";
135
+ autoHighlight: (state: State) => false | "input-change" | "always";
130
136
  submitOnItemClick: (state: State) => boolean;
131
137
  };