@base-ui/react 1.6.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1973) hide show
  1. package/CHANGELOG.md +372 -0
  2. package/accordion/header/AccordionHeaderDataAttributes.d.mts +13 -15
  3. package/accordion/header/AccordionHeaderDataAttributes.d.ts +13 -15
  4. package/accordion/header/AccordionHeaderDataAttributes.js +14 -17
  5. package/accordion/header/AccordionHeaderDataAttributes.mjs +13 -16
  6. package/accordion/item/AccordionItem.js +6 -13
  7. package/accordion/item/AccordionItem.mjs +6 -13
  8. package/accordion/item/AccordionItemContext.d.mts +2 -1
  9. package/accordion/item/AccordionItemContext.d.ts +2 -1
  10. package/accordion/item/AccordionItemDataAttributes.d.mts +13 -15
  11. package/accordion/item/AccordionItemDataAttributes.d.ts +13 -15
  12. package/accordion/item/AccordionItemDataAttributes.js +14 -17
  13. package/accordion/item/AccordionItemDataAttributes.mjs +13 -16
  14. package/accordion/item/stateAttributesMapping.js +5 -6
  15. package/accordion/item/stateAttributesMapping.mjs +4 -6
  16. package/accordion/panel/AccordionPanel.js +15 -14
  17. package/accordion/panel/AccordionPanel.mjs +13 -12
  18. package/accordion/panel/AccordionPanelCssVars.d.mts +10 -12
  19. package/accordion/panel/AccordionPanelCssVars.d.ts +10 -12
  20. package/accordion/panel/AccordionPanelCssVars.js +11 -14
  21. package/accordion/panel/AccordionPanelCssVars.mjs +10 -13
  22. package/accordion/panel/AccordionPanelDataAttributes.d.mts +25 -27
  23. package/accordion/panel/AccordionPanelDataAttributes.d.ts +25 -27
  24. package/accordion/panel/AccordionPanelDataAttributes.js +26 -29
  25. package/accordion/panel/AccordionPanelDataAttributes.mjs +26 -28
  26. package/accordion/root/AccordionRoot.d.mts +1 -0
  27. package/accordion/root/AccordionRoot.d.ts +1 -0
  28. package/accordion/root/AccordionRoot.js +6 -16
  29. package/accordion/root/AccordionRoot.mjs +6 -16
  30. package/accordion/root/AccordionRootDataAttributes.d.mts +8 -10
  31. package/accordion/root/AccordionRootDataAttributes.d.ts +8 -10
  32. package/accordion/root/AccordionRootDataAttributes.js +9 -12
  33. package/accordion/root/AccordionRootDataAttributes.mjs +8 -11
  34. package/accordion/trigger/AccordionTrigger.js +7 -7
  35. package/accordion/trigger/AccordionTrigger.mjs +7 -7
  36. package/accordion/trigger/AccordionTriggerDataAttributes.d.mts +8 -10
  37. package/accordion/trigger/AccordionTriggerDataAttributes.d.ts +8 -10
  38. package/accordion/trigger/AccordionTriggerDataAttributes.js +9 -12
  39. package/accordion/trigger/AccordionTriggerDataAttributes.mjs +8 -11
  40. package/alert-dialog/handle.d.mts +6 -8
  41. package/alert-dialog/handle.d.ts +6 -8
  42. package/alert-dialog/handle.js +8 -19
  43. package/alert-dialog/handle.mjs +7 -17
  44. package/alert-dialog/root/AlertDialogRoot.d.mts +1 -1
  45. package/alert-dialog/root/AlertDialogRoot.d.ts +1 -1
  46. package/alert-dialog/root/AlertDialogRoot.js +1 -1
  47. package/alert-dialog/root/AlertDialogRoot.mjs +1 -1
  48. package/alert-dialog/trigger/AlertDialogTriggerDataAttributes.d.mts +8 -10
  49. package/alert-dialog/trigger/AlertDialogTriggerDataAttributes.d.ts +8 -10
  50. package/alert-dialog/trigger/AlertDialogTriggerDataAttributes.js +9 -12
  51. package/alert-dialog/trigger/AlertDialogTriggerDataAttributes.mjs +9 -11
  52. package/autocomplete/clear/AutocompleteClearDataAttributes.d.mts +1 -1
  53. package/autocomplete/clear/AutocompleteClearDataAttributes.d.ts +1 -1
  54. package/autocomplete/clear/AutocompleteClearDataAttributes.js +11 -7
  55. package/autocomplete/clear/AutocompleteClearDataAttributes.mjs +1 -1
  56. package/autocomplete/index.d.mts +1 -0
  57. package/autocomplete/index.d.ts +1 -0
  58. package/autocomplete/index.parts.d.mts +1 -1
  59. package/autocomplete/index.parts.d.ts +1 -1
  60. package/autocomplete/index.parts.js +2 -2
  61. package/autocomplete/index.parts.mjs +1 -1
  62. package/autocomplete/input-group/AutocompleteInputGroup.d.mts +1 -1
  63. package/autocomplete/input-group/AutocompleteInputGroup.d.ts +1 -1
  64. package/autocomplete/input-group/AutocompleteInputGroupDataAttributes.d.mts +49 -51
  65. package/autocomplete/input-group/AutocompleteInputGroupDataAttributes.d.ts +49 -51
  66. package/autocomplete/input-group/AutocompleteInputGroupDataAttributes.js +50 -53
  67. package/autocomplete/input-group/AutocompleteInputGroupDataAttributes.mjs +49 -52
  68. package/autocomplete/item/AutocompleteItemDataAttributes.d.mts +8 -10
  69. package/autocomplete/item/AutocompleteItemDataAttributes.d.ts +8 -10
  70. package/autocomplete/item/AutocompleteItemDataAttributes.js +11 -13
  71. package/autocomplete/item/AutocompleteItemDataAttributes.mjs +10 -12
  72. package/autocomplete/root/AutocompleteRoot.d.mts +29 -2
  73. package/autocomplete/root/AutocompleteRoot.d.ts +29 -2
  74. package/autocomplete/root/AutocompleteRoot.js +14 -33
  75. package/autocomplete/root/AutocompleteRoot.mjs +14 -33
  76. package/autocomplete/separator/AutocompleteSeparator.d.mts +26 -0
  77. package/autocomplete/separator/AutocompleteSeparator.d.ts +26 -0
  78. package/autocomplete/separator/AutocompleteSeparator.js +15 -0
  79. package/autocomplete/separator/AutocompleteSeparator.mjs +10 -0
  80. package/autocomplete/trigger/AutocompleteTrigger.d.mts +5 -1
  81. package/autocomplete/trigger/AutocompleteTrigger.d.ts +5 -1
  82. package/autocomplete/trigger/AutocompleteTriggerDataAttributes.d.mts +53 -55
  83. package/autocomplete/trigger/AutocompleteTriggerDataAttributes.d.ts +53 -55
  84. package/autocomplete/trigger/AutocompleteTriggerDataAttributes.js +54 -57
  85. package/autocomplete/trigger/AutocompleteTriggerDataAttributes.mjs +54 -56
  86. package/avatar/fallback/AvatarFallback.d.mts +2 -0
  87. package/avatar/fallback/AvatarFallback.d.ts +2 -0
  88. package/avatar/fallback/AvatarFallback.js +5 -5
  89. package/avatar/fallback/AvatarFallback.mjs +5 -5
  90. package/avatar/image/AvatarImage.d.mts +7 -1
  91. package/avatar/image/AvatarImage.d.ts +7 -1
  92. package/avatar/image/AvatarImage.js +75 -9
  93. package/avatar/image/AvatarImage.mjs +75 -9
  94. package/avatar/image/AvatarImageDataAttributes.d.mts +16 -10
  95. package/avatar/image/AvatarImageDataAttributes.d.ts +16 -10
  96. package/avatar/image/AvatarImageDataAttributes.js +17 -12
  97. package/avatar/image/AvatarImageDataAttributes.mjs +17 -11
  98. package/avatar/image/useImageLoadingStatus.d.mts +1 -1
  99. package/avatar/image/useImageLoadingStatus.d.ts +1 -1
  100. package/avatar/image/useImageLoadingStatus.js +8 -4
  101. package/avatar/image/useImageLoadingStatus.mjs +8 -4
  102. package/button/ButtonDataAttributes.d.mts +4 -6
  103. package/button/ButtonDataAttributes.d.ts +4 -6
  104. package/button/ButtonDataAttributes.js +5 -8
  105. package/button/ButtonDataAttributes.mjs +4 -7
  106. package/checkbox/indicator/CheckboxIndicator.js +5 -5
  107. package/checkbox/indicator/CheckboxIndicator.mjs +5 -5
  108. package/checkbox/indicator/CheckboxIndicatorDataAttributes.d.mts +56 -58
  109. package/checkbox/indicator/CheckboxIndicatorDataAttributes.d.ts +56 -58
  110. package/checkbox/indicator/CheckboxIndicatorDataAttributes.js +57 -60
  111. package/checkbox/indicator/CheckboxIndicatorDataAttributes.mjs +57 -59
  112. package/checkbox/root/CheckboxRoot.d.mts +2 -1
  113. package/checkbox/root/CheckboxRoot.d.ts +2 -1
  114. package/checkbox/root/CheckboxRoot.js +61 -65
  115. package/checkbox/root/CheckboxRoot.mjs +61 -65
  116. package/checkbox/root/CheckboxRootDataAttributes.d.mts +48 -50
  117. package/checkbox/root/CheckboxRootDataAttributes.d.ts +48 -50
  118. package/checkbox/root/CheckboxRootDataAttributes.js +49 -52
  119. package/checkbox/root/CheckboxRootDataAttributes.mjs +48 -51
  120. package/checkbox/utils/{useStateAttributesMapping.d.mts → getCheckboxStateAttributesMapping.d.mts} +1 -1
  121. package/checkbox/utils/{useStateAttributesMapping.d.ts → getCheckboxStateAttributesMapping.d.ts} +1 -1
  122. package/checkbox/utils/{useStateAttributesMapping.js → getCheckboxStateAttributesMapping.js} +7 -9
  123. package/checkbox/utils/{useStateAttributesMapping.mjs → getCheckboxStateAttributesMapping.mjs} +4 -7
  124. package/checkbox-group/CheckboxGroup.js +41 -23
  125. package/checkbox-group/CheckboxGroup.mjs +41 -23
  126. package/checkbox-group/CheckboxGroupContext.d.mts +8 -5
  127. package/checkbox-group/CheckboxGroupContext.d.ts +8 -5
  128. package/checkbox-group/CheckboxGroupContext.js +2 -8
  129. package/checkbox-group/CheckboxGroupContext.mjs +2 -7
  130. package/checkbox-group/CheckboxGroupDataAttributes.d.mts +4 -6
  131. package/checkbox-group/CheckboxGroupDataAttributes.d.ts +4 -6
  132. package/checkbox-group/CheckboxGroupDataAttributes.js +5 -8
  133. package/checkbox-group/CheckboxGroupDataAttributes.mjs +4 -7
  134. package/checkbox-group/useCheckboxGroupParent.d.mts +7 -7
  135. package/checkbox-group/useCheckboxGroupParent.d.ts +7 -7
  136. package/checkbox-group/useCheckboxGroupParent.js +41 -14
  137. package/checkbox-group/useCheckboxGroupParent.mjs +41 -14
  138. package/collapsible/panel/CollapsiblePanel.js +15 -14
  139. package/collapsible/panel/CollapsiblePanel.mjs +13 -12
  140. package/collapsible/panel/CollapsiblePanelCssVars.d.mts +10 -12
  141. package/collapsible/panel/CollapsiblePanelCssVars.d.ts +10 -12
  142. package/collapsible/panel/CollapsiblePanelCssVars.js +11 -14
  143. package/collapsible/panel/CollapsiblePanelCssVars.mjs +10 -13
  144. package/collapsible/panel/CollapsiblePanelDataAttributes.d.mts +16 -18
  145. package/collapsible/panel/CollapsiblePanelDataAttributes.d.ts +16 -18
  146. package/collapsible/panel/CollapsiblePanelDataAttributes.js +17 -20
  147. package/collapsible/panel/CollapsiblePanelDataAttributes.mjs +17 -19
  148. package/collapsible/panel/useCollapsiblePanel.js +31 -26
  149. package/collapsible/panel/useCollapsiblePanel.mjs +30 -25
  150. package/collapsible/root/CollapsibleRootDataAttributes.d.mts +16 -0
  151. package/collapsible/root/CollapsibleRootDataAttributes.d.ts +16 -0
  152. package/collapsible/root/CollapsibleRootDataAttributes.js +23 -0
  153. package/collapsible/root/CollapsibleRootDataAttributes.mjs +18 -0
  154. package/collapsible/root/useCollapsibleRoot.d.mts +2 -1
  155. package/collapsible/root/useCollapsibleRoot.d.ts +2 -1
  156. package/collapsible/root/useCollapsibleRoot.js +6 -4
  157. package/collapsible/root/useCollapsibleRoot.mjs +6 -4
  158. package/collapsible/trigger/CollapsibleTriggerDataAttributes.d.mts +4 -6
  159. package/collapsible/trigger/CollapsibleTriggerDataAttributes.d.ts +4 -6
  160. package/collapsible/trigger/CollapsibleTriggerDataAttributes.js +5 -8
  161. package/collapsible/trigger/CollapsibleTriggerDataAttributes.mjs +4 -7
  162. package/combobox/arrow/ComboboxArrow.d.mts +1 -1
  163. package/combobox/arrow/ComboboxArrow.d.ts +1 -1
  164. package/combobox/arrow/ComboboxArrow.js +1 -3
  165. package/combobox/arrow/ComboboxArrow.mjs +1 -3
  166. package/combobox/arrow/ComboboxArrowDataAttributes.d.mts +22 -24
  167. package/combobox/arrow/ComboboxArrowDataAttributes.d.ts +22 -24
  168. package/combobox/arrow/ComboboxArrowDataAttributes.js +23 -26
  169. package/combobox/arrow/ComboboxArrowDataAttributes.mjs +23 -25
  170. package/combobox/backdrop/ComboboxBackdrop.js +3 -5
  171. package/combobox/backdrop/ComboboxBackdrop.mjs +3 -5
  172. package/combobox/backdrop/ComboboxBackdropDataAttributes.d.mts +16 -18
  173. package/combobox/backdrop/ComboboxBackdropDataAttributes.d.ts +16 -18
  174. package/combobox/backdrop/ComboboxBackdropDataAttributes.js +17 -20
  175. package/combobox/backdrop/ComboboxBackdropDataAttributes.mjs +17 -19
  176. package/combobox/chip/ComboboxChip.js +11 -15
  177. package/combobox/chip/ComboboxChip.mjs +11 -15
  178. package/combobox/chip-remove/ComboboxChipRemove.js +9 -17
  179. package/combobox/chip-remove/ComboboxChipRemove.mjs +9 -17
  180. package/combobox/chips/ComboboxChips.js +4 -6
  181. package/combobox/chips/ComboboxChips.mjs +4 -6
  182. package/combobox/clear/ComboboxClear.js +18 -18
  183. package/combobox/clear/ComboboxClear.mjs +18 -18
  184. package/combobox/clear/ComboboxClearDataAttributes.d.mts +20 -22
  185. package/combobox/clear/ComboboxClearDataAttributes.d.ts +20 -22
  186. package/combobox/clear/ComboboxClearDataAttributes.js +21 -24
  187. package/combobox/clear/ComboboxClearDataAttributes.mjs +21 -23
  188. package/combobox/collection/ComboboxCollection.d.mts +1 -1
  189. package/combobox/collection/ComboboxCollection.d.ts +1 -1
  190. package/combobox/collection/ComboboxCollection.js +0 -3
  191. package/combobox/collection/ComboboxCollection.mjs +0 -3
  192. package/combobox/collection/GroupCollectionContext.d.mts +1 -1
  193. package/combobox/collection/GroupCollectionContext.d.ts +1 -1
  194. package/combobox/empty/ComboboxEmpty.js +1 -1
  195. package/combobox/empty/ComboboxEmpty.mjs +1 -1
  196. package/combobox/group/ComboboxGroup.js +6 -1
  197. package/combobox/group/ComboboxGroup.mjs +6 -1
  198. package/combobox/group-label/ComboboxGroupLabel.js +3 -2
  199. package/combobox/group-label/ComboboxGroupLabel.mjs +3 -2
  200. package/combobox/index.d.mts +4 -1
  201. package/combobox/index.d.ts +4 -1
  202. package/combobox/index.parts.d.mts +3 -2
  203. package/combobox/index.parts.d.ts +3 -2
  204. package/combobox/index.parts.js +10 -3
  205. package/combobox/index.parts.mjs +3 -2
  206. package/combobox/input/ComboboxInput.d.mts +1 -1
  207. package/combobox/input/ComboboxInput.d.ts +1 -1
  208. package/combobox/input/ComboboxInput.js +82 -123
  209. package/combobox/input/ComboboxInput.mjs +83 -124
  210. package/combobox/input/ComboboxInputDataAttributes.d.mts +53 -55
  211. package/combobox/input/ComboboxInputDataAttributes.d.ts +53 -55
  212. package/combobox/input/ComboboxInputDataAttributes.js +54 -57
  213. package/combobox/input/ComboboxInputDataAttributes.mjs +54 -56
  214. package/combobox/input-group/ComboboxInputGroup.d.mts +1 -1
  215. package/combobox/input-group/ComboboxInputGroup.d.ts +1 -1
  216. package/combobox/input-group/ComboboxInputGroup.js +10 -17
  217. package/combobox/input-group/ComboboxInputGroup.mjs +11 -18
  218. package/combobox/input-group/ComboboxInputGroupDataAttributes.d.mts +53 -55
  219. package/combobox/input-group/ComboboxInputGroupDataAttributes.d.ts +53 -55
  220. package/combobox/input-group/ComboboxInputGroupDataAttributes.js +54 -57
  221. package/combobox/input-group/ComboboxInputGroupDataAttributes.mjs +53 -56
  222. package/combobox/item/ComboboxItem.js +45 -45
  223. package/combobox/item/ComboboxItem.mjs +47 -47
  224. package/combobox/item/ComboboxItemDataAttributes.d.mts +12 -14
  225. package/combobox/item/ComboboxItemDataAttributes.d.ts +12 -14
  226. package/combobox/item/ComboboxItemDataAttributes.js +13 -16
  227. package/combobox/item/ComboboxItemDataAttributes.mjs +12 -15
  228. package/combobox/item-indicator/ComboboxItemIndicator.js +3 -2
  229. package/combobox/item-indicator/ComboboxItemIndicator.mjs +3 -2
  230. package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.d.mts +8 -10
  231. package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.d.ts +8 -10
  232. package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.js +9 -12
  233. package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.mjs +9 -11
  234. package/combobox/items/createItems.d.mts +53 -0
  235. package/combobox/items/createItems.d.ts +53 -0
  236. package/combobox/items/createItems.js +93 -0
  237. package/combobox/items/createItems.mjs +88 -0
  238. package/combobox/items/itemCollection.d.mts +39 -0
  239. package/combobox/items/itemCollection.d.ts +39 -0
  240. package/combobox/items/itemCollection.js +33 -0
  241. package/combobox/items/itemCollection.mjs +27 -0
  242. package/combobox/label/ComboboxLabel.js +6 -7
  243. package/combobox/label/ComboboxLabel.mjs +6 -7
  244. package/combobox/list/ComboboxList.js +17 -20
  245. package/combobox/list/ComboboxList.mjs +17 -20
  246. package/combobox/popup/ComboboxPopup.d.mts +1 -1
  247. package/combobox/popup/ComboboxPopup.d.ts +1 -1
  248. package/combobox/popup/ComboboxPopup.js +21 -25
  249. package/combobox/popup/ComboboxPopup.mjs +22 -26
  250. package/combobox/popup/ComboboxPopupDataAttributes.d.mts +34 -37
  251. package/combobox/popup/ComboboxPopupDataAttributes.d.ts +34 -37
  252. package/combobox/popup/ComboboxPopupDataAttributes.js +35 -39
  253. package/combobox/popup/ComboboxPopupDataAttributes.mjs +35 -38
  254. package/combobox/portal/ComboboxPortal.d.mts +6 -2
  255. package/combobox/portal/ComboboxPortal.d.ts +6 -2
  256. package/combobox/portal/ComboboxPortal.js +2 -4
  257. package/combobox/portal/ComboboxPortal.mjs +2 -4
  258. package/combobox/positioner/ComboboxPositioner.d.mts +1 -1
  259. package/combobox/positioner/ComboboxPositioner.d.ts +1 -1
  260. package/combobox/positioner/ComboboxPositioner.js +23 -25
  261. package/combobox/positioner/ComboboxPositioner.mjs +24 -26
  262. package/combobox/positioner/ComboboxPositionerContext.d.mts +1 -1
  263. package/combobox/positioner/ComboboxPositionerContext.d.ts +1 -1
  264. package/combobox/positioner/ComboboxPositionerCssVars.d.mts +25 -27
  265. package/combobox/positioner/ComboboxPositionerCssVars.d.ts +25 -27
  266. package/combobox/positioner/ComboboxPositionerCssVars.js +26 -29
  267. package/combobox/positioner/ComboboxPositionerCssVars.mjs +25 -28
  268. package/combobox/positioner/ComboboxPositionerDataAttributes.d.mts +26 -28
  269. package/combobox/positioner/ComboboxPositionerDataAttributes.d.ts +26 -28
  270. package/combobox/positioner/ComboboxPositionerDataAttributes.js +27 -30
  271. package/combobox/positioner/ComboboxPositionerDataAttributes.mjs +27 -29
  272. package/combobox/root/AriaCombobox.d.mts +37 -21
  273. package/combobox/root/AriaCombobox.d.ts +37 -21
  274. package/combobox/root/AriaCombobox.js +520 -317
  275. package/combobox/root/AriaCombobox.mjs +524 -322
  276. package/combobox/root/ComboboxRoot.d.mts +7 -3
  277. package/combobox/root/ComboboxRoot.d.ts +7 -3
  278. package/combobox/root/ComboboxRootContext.d.mts +5 -1
  279. package/combobox/root/ComboboxRootContext.d.ts +5 -1
  280. package/combobox/root/utils/index.d.mts +5 -2
  281. package/combobox/root/utils/index.d.ts +5 -2
  282. package/combobox/root/utils/index.js +4 -5
  283. package/combobox/root/utils/index.mjs +4 -5
  284. package/combobox/root/utils/useFilter.d.mts +2 -1
  285. package/combobox/root/utils/useFilter.d.ts +2 -1
  286. package/combobox/root/utils/useFilter.js +2 -3
  287. package/combobox/root/utils/useFilter.mjs +2 -3
  288. package/combobox/root/utils/useFilteredItems.d.mts +1 -0
  289. package/combobox/root/utils/useFilteredItems.d.ts +1 -0
  290. package/combobox/root/utils/useFilteredItems.js +1 -0
  291. package/combobox/root/utils/useFilteredItems.mjs +1 -0
  292. package/combobox/separator/ComboboxSeparator.d.mts +26 -0
  293. package/combobox/separator/ComboboxSeparator.d.ts +26 -0
  294. package/combobox/separator/ComboboxSeparator.js +15 -0
  295. package/combobox/separator/ComboboxSeparator.mjs +10 -0
  296. package/combobox/store.d.mts +58 -34
  297. package/combobox/store.d.ts +58 -34
  298. package/combobox/store.js +52 -48
  299. package/combobox/store.mjs +53 -48
  300. package/combobox/trigger/ComboboxTrigger.d.mts +5 -1
  301. package/combobox/trigger/ComboboxTrigger.d.ts +5 -1
  302. package/combobox/trigger/ComboboxTrigger.js +43 -63
  303. package/combobox/trigger/ComboboxTrigger.mjs +45 -64
  304. package/combobox/trigger/ComboboxTriggerDataAttributes.d.mts +57 -59
  305. package/combobox/trigger/ComboboxTriggerDataAttributes.d.ts +57 -59
  306. package/combobox/trigger/ComboboxTriggerDataAttributes.js +58 -61
  307. package/combobox/trigger/ComboboxTriggerDataAttributes.mjs +58 -60
  308. package/combobox/utils/ComboboxInternalDismissButton.d.mts +1 -5
  309. package/combobox/utils/ComboboxInternalDismissButton.d.ts +1 -5
  310. package/combobox/utils/ComboboxInternalDismissButton.js +1 -1
  311. package/combobox/utils/ComboboxInternalDismissButton.mjs +1 -1
  312. package/combobox/utils/handleInputPress.d.mts +1 -1
  313. package/combobox/utils/handleInputPress.d.ts +1 -1
  314. package/combobox/utils/handleInputPress.js +4 -4
  315. package/combobox/utils/handleInputPress.mjs +4 -4
  316. package/combobox/utils/parts.d.mts +24 -0
  317. package/combobox/utils/parts.d.ts +24 -0
  318. package/combobox/utils/parts.js +57 -0
  319. package/combobox/utils/parts.mjs +48 -0
  320. package/combobox/utils/stateAttributesMapping.d.mts +3 -3
  321. package/combobox/utils/stateAttributesMapping.d.ts +3 -3
  322. package/combobox/utils/stateAttributesMapping.js +4 -2
  323. package/combobox/utils/stateAttributesMapping.mjs +3 -2
  324. package/combobox/utils/useInitialLiveRegionTextMutation.js +1 -1
  325. package/combobox/utils/useInitialLiveRegionTextMutation.mjs +1 -1
  326. package/combobox/value/ComboboxValue.d.mts +5 -0
  327. package/combobox/value/ComboboxValue.d.ts +5 -0
  328. package/combobox/value/ComboboxValue.js +6 -8
  329. package/combobox/value/ComboboxValue.mjs +6 -8
  330. package/context-menu/index.d.mts +1 -1
  331. package/context-menu/index.d.ts +1 -1
  332. package/context-menu/index.parts.d.mts +1 -1
  333. package/context-menu/index.parts.d.ts +1 -1
  334. package/context-menu/index.parts.js +2 -2
  335. package/context-menu/index.parts.mjs +1 -1
  336. package/context-menu/positioner/ContextMenuPositioner.d.mts +95 -0
  337. package/context-menu/positioner/ContextMenuPositioner.d.ts +95 -0
  338. package/context-menu/positioner/ContextMenuPositioner.js +15 -0
  339. package/context-menu/positioner/ContextMenuPositioner.mjs +10 -0
  340. package/context-menu/positioner/ContextMenuPositionerCssVars.d.mts +1 -0
  341. package/context-menu/positioner/ContextMenuPositionerCssVars.d.ts +1 -0
  342. package/context-menu/positioner/ContextMenuPositionerCssVars.js +16 -0
  343. package/context-menu/positioner/ContextMenuPositionerCssVars.mjs +1 -0
  344. package/context-menu/positioner/ContextMenuPositionerDataAttributes.d.mts +1 -0
  345. package/context-menu/positioner/ContextMenuPositionerDataAttributes.d.ts +1 -0
  346. package/context-menu/positioner/ContextMenuPositionerDataAttributes.js +16 -0
  347. package/context-menu/positioner/ContextMenuPositionerDataAttributes.mjs +1 -0
  348. package/context-menu/root/ContextMenuRoot.d.mts +9 -2
  349. package/context-menu/root/ContextMenuRoot.d.ts +9 -2
  350. package/context-menu/trigger/ContextMenuTrigger.js +40 -22
  351. package/context-menu/trigger/ContextMenuTrigger.mjs +40 -22
  352. package/context-menu/trigger/ContextMenuTriggerDataAttributes.d.mts +8 -10
  353. package/context-menu/trigger/ContextMenuTriggerDataAttributes.d.ts +8 -10
  354. package/context-menu/trigger/ContextMenuTriggerDataAttributes.js +9 -12
  355. package/context-menu/trigger/ContextMenuTriggerDataAttributes.mjs +9 -11
  356. package/csp-provider/CSPProvider.d.mts +1 -1
  357. package/csp-provider/CSPProvider.d.ts +1 -1
  358. package/dialog/backdrop/DialogBackdrop.js +2 -10
  359. package/dialog/backdrop/DialogBackdrop.mjs +3 -10
  360. package/dialog/backdrop/DialogBackdropDataAttributes.d.mts +16 -18
  361. package/dialog/backdrop/DialogBackdropDataAttributes.d.ts +16 -18
  362. package/dialog/backdrop/DialogBackdropDataAttributes.js +17 -20
  363. package/dialog/backdrop/DialogBackdropDataAttributes.mjs +17 -19
  364. package/dialog/close/DialogClose.js +1 -3
  365. package/dialog/close/DialogClose.mjs +1 -3
  366. package/dialog/close/DialogCloseDataAttributes.d.mts +4 -6
  367. package/dialog/close/DialogCloseDataAttributes.d.ts +4 -6
  368. package/dialog/close/DialogCloseDataAttributes.js +5 -8
  369. package/dialog/close/DialogCloseDataAttributes.mjs +4 -7
  370. package/dialog/description/DialogDescription.js +1 -3
  371. package/dialog/description/DialogDescription.mjs +1 -3
  372. package/dialog/popup/DialogPopup.js +8 -23
  373. package/dialog/popup/DialogPopup.mjs +8 -22
  374. package/dialog/popup/DialogPopupCssVars.d.mts +5 -7
  375. package/dialog/popup/DialogPopupCssVars.d.ts +5 -7
  376. package/dialog/popup/DialogPopupCssVars.js +6 -9
  377. package/dialog/popup/DialogPopupCssVars.mjs +5 -8
  378. package/dialog/popup/DialogPopupDataAttributes.d.mts +24 -26
  379. package/dialog/popup/DialogPopupDataAttributes.d.ts +24 -26
  380. package/dialog/popup/DialogPopupDataAttributes.js +25 -28
  381. package/dialog/popup/DialogPopupDataAttributes.mjs +25 -27
  382. package/dialog/portal/DialogPortal.d.mts +3 -3
  383. package/dialog/portal/DialogPortal.d.ts +3 -3
  384. package/dialog/portal/DialogPortal.js +1 -3
  385. package/dialog/portal/DialogPortal.mjs +1 -3
  386. package/dialog/root/DialogRoot.d.mts +1 -1
  387. package/dialog/root/DialogRoot.d.ts +1 -1
  388. package/dialog/root/DialogRoot.js +6 -8
  389. package/dialog/root/DialogRoot.mjs +5 -6
  390. package/dialog/root/DialogRootContext.d.mts +3 -7
  391. package/dialog/root/DialogRootContext.d.ts +3 -7
  392. package/dialog/root/DialogRootContext.js +4 -6
  393. package/dialog/root/DialogRootContext.mjs +3 -5
  394. package/dialog/root/useDialogRoot.d.mts +0 -6
  395. package/dialog/root/useDialogRoot.d.ts +0 -6
  396. package/dialog/root/useDialogRoot.js +33 -46
  397. package/dialog/root/useDialogRoot.mjs +34 -46
  398. package/dialog/root/useRenderDialogRoot.d.mts +2 -1
  399. package/dialog/root/useRenderDialogRoot.d.ts +2 -1
  400. package/dialog/root/useRenderDialogRoot.js +34 -42
  401. package/dialog/root/useRenderDialogRoot.mjs +36 -44
  402. package/dialog/store/DialogHandle.d.mts +20 -16
  403. package/dialog/store/DialogHandle.d.ts +20 -16
  404. package/dialog/store/DialogHandle.js +32 -27
  405. package/dialog/store/DialogHandle.mjs +33 -28
  406. package/dialog/store/DialogStore.d.mts +14 -4
  407. package/dialog/store/DialogStore.d.ts +14 -4
  408. package/dialog/store/DialogStore.js +50 -40
  409. package/dialog/store/DialogStore.mjs +50 -41
  410. package/dialog/title/DialogTitle.js +1 -3
  411. package/dialog/title/DialogTitle.mjs +1 -3
  412. package/dialog/trigger/DialogTrigger.js +6 -6
  413. package/dialog/trigger/DialogTrigger.mjs +7 -7
  414. package/dialog/trigger/DialogTriggerDataAttributes.d.mts +8 -10
  415. package/dialog/trigger/DialogTriggerDataAttributes.d.ts +8 -10
  416. package/dialog/trigger/DialogTriggerDataAttributes.js +9 -12
  417. package/dialog/trigger/DialogTriggerDataAttributes.mjs +9 -11
  418. package/dialog/utils/stateAttributesMapping.d.mts +12 -0
  419. package/dialog/utils/stateAttributesMapping.d.ts +12 -0
  420. package/dialog/utils/stateAttributesMapping.js +23 -0
  421. package/dialog/utils/stateAttributesMapping.mjs +17 -0
  422. package/dialog/viewport/DialogViewport.js +3 -22
  423. package/dialog/viewport/DialogViewport.mjs +3 -21
  424. package/dialog/viewport/DialogViewportDataAttributes.d.mts +24 -26
  425. package/dialog/viewport/DialogViewportDataAttributes.d.ts +24 -26
  426. package/dialog/viewport/DialogViewportDataAttributes.js +25 -28
  427. package/dialog/viewport/DialogViewportDataAttributes.mjs +25 -27
  428. package/docs/index.md +3 -1
  429. package/docs/react/components/accordion.md +327 -6
  430. package/docs/react/components/alert-dialog.md +401 -37
  431. package/docs/react/components/autocomplete.md +204 -143
  432. package/docs/react/components/avatar.md +64 -11
  433. package/docs/react/components/button.md +7 -3
  434. package/docs/react/components/checkbox.md +21 -21
  435. package/docs/react/components/collapsible.md +28 -1
  436. package/docs/react/components/combobox.md +1041 -249
  437. package/docs/react/components/context-menu.md +517 -132
  438. package/docs/react/components/dialog.md +1031 -312
  439. package/docs/react/components/drawer.md +27 -23
  440. package/docs/react/components/field.md +25 -25
  441. package/docs/react/components/form.md +13 -11
  442. package/docs/react/components/menu.md +164 -143
  443. package/docs/react/components/menubar.md +41 -41
  444. package/docs/react/components/navigation-menu.md +61 -71
  445. package/docs/react/components/number-field.md +6 -6
  446. package/docs/react/components/otp-field.md +20 -18
  447. package/docs/react/components/popover.md +52 -36
  448. package/docs/react/components/preview-card.md +61 -51
  449. package/docs/react/components/progress.md +3 -3
  450. package/docs/react/components/radio.md +1 -1
  451. package/docs/react/components/select.md +64 -62
  452. package/docs/react/components/slider.md +436 -71
  453. package/docs/react/components/tabs.md +276 -5
  454. package/docs/react/components/toast.md +40 -30
  455. package/docs/react/components/toolbar.md +27 -23
  456. package/docs/react/components/tooltip.md +30 -17
  457. package/docs/react/handbook/animation.md +3 -3
  458. package/docs/react/handbook/forms.md +3 -3
  459. package/docs/react/handbook/styling.md +1 -1
  460. package/docs/react/overview/about.md +10 -7
  461. package/docs/react/overview/community.md +5 -7
  462. package/docs/react/overview/quick-start.md +3 -3
  463. package/docs/react/overview/releases/v1-7-0.md +236 -0
  464. package/docs/react/overview/releases/v1-8-0.md +148 -0
  465. package/docs/react/overview/releases.md +20 -2
  466. package/docs/react/utils/direction-provider.md +5 -2
  467. package/docs/react/utils/use-render.md +4 -362
  468. package/drawer/backdrop/DrawerBackdrop.js +6 -14
  469. package/drawer/backdrop/DrawerBackdrop.mjs +5 -12
  470. package/drawer/backdrop/DrawerBackdropCssVars.d.mts +5 -7
  471. package/drawer/backdrop/DrawerBackdropCssVars.d.ts +5 -7
  472. package/drawer/backdrop/DrawerBackdropCssVars.js +6 -9
  473. package/drawer/backdrop/DrawerBackdropCssVars.mjs +5 -8
  474. package/drawer/backdrop/DrawerBackdropDataAttributes.d.mts +16 -18
  475. package/drawer/backdrop/DrawerBackdropDataAttributes.d.ts +16 -18
  476. package/drawer/backdrop/DrawerBackdropDataAttributes.js +17 -20
  477. package/drawer/backdrop/DrawerBackdropDataAttributes.mjs +17 -19
  478. package/drawer/content/DrawerContent.js +2 -2
  479. package/drawer/content/DrawerContent.mjs +1 -1
  480. package/drawer/handle.d.mts +16 -0
  481. package/drawer/handle.d.ts +16 -0
  482. package/drawer/handle.js +25 -0
  483. package/drawer/handle.mjs +18 -0
  484. package/drawer/indent/DrawerIndent.js +10 -10
  485. package/drawer/indent/DrawerIndent.mjs +3 -3
  486. package/drawer/indent-background/DrawerIndentBackground.js +1 -1
  487. package/drawer/indent-background/DrawerIndentBackground.mjs +1 -1
  488. package/drawer/index.parts.d.mts +1 -1
  489. package/drawer/index.parts.d.ts +1 -1
  490. package/drawer/index.parts.js +3 -3
  491. package/drawer/index.parts.mjs +1 -1
  492. package/drawer/popup/DrawerPopup.js +31 -33
  493. package/drawer/popup/DrawerPopup.mjs +14 -16
  494. package/drawer/popup/DrawerPopupCssVars.d.mts +35 -37
  495. package/drawer/popup/DrawerPopupCssVars.d.ts +35 -37
  496. package/drawer/popup/DrawerPopupCssVars.js +36 -39
  497. package/drawer/popup/DrawerPopupCssVars.mjs +35 -38
  498. package/drawer/popup/DrawerPopupDataAttributes.d.mts +41 -43
  499. package/drawer/popup/DrawerPopupDataAttributes.d.ts +41 -43
  500. package/drawer/popup/DrawerPopupDataAttributes.js +42 -45
  501. package/drawer/popup/DrawerPopupDataAttributes.mjs +42 -44
  502. package/drawer/portal/DrawerPortal.d.mts +3 -3
  503. package/drawer/portal/DrawerPortal.d.ts +3 -3
  504. package/drawer/provider/DrawerProvider.d.mts +1 -1
  505. package/drawer/provider/DrawerProvider.d.ts +1 -1
  506. package/drawer/provider/DrawerProvider.js +13 -24
  507. package/drawer/provider/DrawerProvider.mjs +13 -24
  508. package/drawer/provider/DrawerProviderContext.d.mts +3 -4
  509. package/drawer/provider/DrawerProviderContext.d.ts +3 -4
  510. package/drawer/provider/DrawerProviderContext.js +2 -8
  511. package/drawer/provider/DrawerProviderContext.mjs +2 -7
  512. package/drawer/root/DrawerRoot.d.mts +3 -3
  513. package/drawer/root/DrawerRoot.d.ts +3 -3
  514. package/drawer/root/DrawerRoot.js +30 -34
  515. package/drawer/root/DrawerRoot.mjs +31 -35
  516. package/drawer/root/DrawerRootContext.d.mts +7 -2
  517. package/drawer/root/DrawerRootContext.d.ts +7 -2
  518. package/drawer/root/DrawerRootContext.js +1 -1
  519. package/drawer/root/DrawerRootContext.mjs +1 -1
  520. package/drawer/root/useDrawerSnapPoints.d.mts +6 -2
  521. package/drawer/root/useDrawerSnapPoints.d.ts +6 -2
  522. package/drawer/root/useDrawerSnapPoints.js +17 -25
  523. package/drawer/root/useDrawerSnapPoints.mjs +16 -25
  524. package/drawer/swipe-area/DrawerSwipeArea.js +116 -74
  525. package/drawer/swipe-area/DrawerSwipeArea.mjs +96 -54
  526. package/drawer/swipe-area/DrawerSwipeAreaDataAttributes.d.mts +21 -23
  527. package/drawer/swipe-area/DrawerSwipeAreaDataAttributes.d.ts +21 -23
  528. package/drawer/swipe-area/DrawerSwipeAreaDataAttributes.js +22 -25
  529. package/drawer/swipe-area/DrawerSwipeAreaDataAttributes.mjs +22 -24
  530. package/drawer/trigger/DrawerTrigger.d.mts +1 -1
  531. package/drawer/trigger/DrawerTrigger.d.ts +1 -1
  532. package/drawer/viewport/DrawerViewport.js +234 -365
  533. package/drawer/viewport/DrawerViewport.mjs +228 -359
  534. package/drawer/viewport/DrawerViewportContext.d.mts +1 -2
  535. package/drawer/viewport/DrawerViewportContext.d.ts +1 -2
  536. package/drawer/viewport/DrawerViewportContext.js +2 -8
  537. package/drawer/viewport/DrawerViewportContext.mjs +2 -7
  538. package/drawer/viewport/DrawerViewportCssVars.d.mts +6 -8
  539. package/drawer/viewport/DrawerViewportCssVars.d.ts +6 -8
  540. package/drawer/viewport/DrawerViewportCssVars.js +7 -10
  541. package/drawer/viewport/DrawerViewportCssVars.mjs +6 -9
  542. package/drawer/viewport/DrawerViewportDataAttributes.d.mts +20 -22
  543. package/drawer/viewport/DrawerViewportDataAttributes.d.ts +20 -22
  544. package/drawer/viewport/DrawerViewportDataAttributes.js +21 -24
  545. package/drawer/viewport/DrawerViewportDataAttributes.mjs +21 -23
  546. package/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardProvider.d.mts +1 -1
  547. package/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardProvider.d.ts +1 -1
  548. package/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardProvider.js +254 -64
  549. package/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardProvider.mjs +252 -62
  550. package/field/control/FieldControl.js +69 -22
  551. package/field/control/FieldControl.mjs +69 -22
  552. package/field/control/FieldControlDataAttributes.d.mts +28 -30
  553. package/field/control/FieldControlDataAttributes.d.ts +28 -30
  554. package/field/control/FieldControlDataAttributes.js +29 -32
  555. package/field/control/FieldControlDataAttributes.mjs +28 -31
  556. package/field/description/FieldDescriptionDataAttributes.d.mts +28 -30
  557. package/field/description/FieldDescriptionDataAttributes.d.ts +28 -30
  558. package/field/description/FieldDescriptionDataAttributes.js +29 -32
  559. package/field/description/FieldDescriptionDataAttributes.mjs +28 -31
  560. package/field/error/FieldError.js +2 -2
  561. package/field/error/FieldError.mjs +2 -2
  562. package/field/error/FieldErrorDataAttributes.d.mts +36 -38
  563. package/field/error/FieldErrorDataAttributes.d.ts +36 -38
  564. package/field/error/FieldErrorDataAttributes.js +37 -40
  565. package/field/error/FieldErrorDataAttributes.mjs +37 -39
  566. package/field/item/FieldItem.js +0 -5
  567. package/field/item/FieldItem.mjs +0 -5
  568. package/field/item/FieldItemDataAttributes.d.mts +28 -30
  569. package/field/item/FieldItemDataAttributes.d.ts +28 -30
  570. package/field/item/FieldItemDataAttributes.js +29 -32
  571. package/field/item/FieldItemDataAttributes.mjs +28 -31
  572. package/field/label/FieldLabelDataAttributes.d.mts +28 -30
  573. package/field/label/FieldLabelDataAttributes.d.ts +28 -30
  574. package/field/label/FieldLabelDataAttributes.js +29 -32
  575. package/field/label/FieldLabelDataAttributes.mjs +28 -31
  576. package/field/root/FieldRoot.d.mts +3 -2
  577. package/field/root/FieldRoot.d.ts +3 -2
  578. package/field/root/FieldRoot.js +12 -17
  579. package/field/root/FieldRoot.mjs +12 -17
  580. package/field/root/FieldRootDataAttributes.d.mts +28 -30
  581. package/field/root/FieldRootDataAttributes.d.ts +28 -30
  582. package/field/root/FieldRootDataAttributes.js +29 -32
  583. package/field/root/FieldRootDataAttributes.mjs +28 -31
  584. package/field/root/useFieldValidation.d.mts +20 -4
  585. package/field/root/useFieldValidation.d.ts +20 -4
  586. package/field/root/useFieldValidation.js +159 -128
  587. package/field/root/useFieldValidation.mjs +158 -128
  588. package/field/validity/FieldValidity.js +4 -0
  589. package/field/validity/FieldValidity.mjs +4 -0
  590. package/fieldset/legend/FieldsetLegend.js +3 -10
  591. package/fieldset/legend/FieldsetLegend.mjs +4 -10
  592. package/fieldset/root/FieldsetRootContext.d.mts +1 -1
  593. package/fieldset/root/FieldsetRootContext.d.ts +1 -1
  594. package/floating-ui-react/components/FloatingDelayGroup.d.mts +2 -41
  595. package/floating-ui-react/components/FloatingDelayGroup.d.ts +2 -41
  596. package/floating-ui-react/components/FloatingDelayGroup.js +2 -10
  597. package/floating-ui-react/components/FloatingDelayGroup.mjs +2 -10
  598. package/floating-ui-react/components/FloatingFocusManager.d.mts +1 -7
  599. package/floating-ui-react/components/FloatingFocusManager.d.ts +1 -7
  600. package/floating-ui-react/components/FloatingFocusManager.js +41 -27
  601. package/floating-ui-react/components/FloatingFocusManager.mjs +41 -27
  602. package/floating-ui-react/components/FloatingPortal.d.mts +12 -14
  603. package/floating-ui-react/components/FloatingPortal.d.ts +12 -14
  604. package/floating-ui-react/components/FloatingPortal.js +13 -13
  605. package/floating-ui-react/components/FloatingPortal.mjs +13 -13
  606. package/floating-ui-react/components/FloatingRootStore.js +6 -6
  607. package/floating-ui-react/components/FloatingRootStore.mjs +7 -7
  608. package/floating-ui-react/components/FloatingTree.d.mts +1 -19
  609. package/floating-ui-react/components/FloatingTree.d.ts +1 -19
  610. package/floating-ui-react/hooks/useClick.js +5 -1
  611. package/floating-ui-react/hooks/useClick.mjs +6 -2
  612. package/floating-ui-react/hooks/useDismiss.d.mts +1 -1
  613. package/floating-ui-react/hooks/useDismiss.d.ts +1 -1
  614. package/floating-ui-react/hooks/useDismiss.js +67 -12
  615. package/floating-ui-react/hooks/useDismiss.mjs +68 -13
  616. package/floating-ui-react/hooks/useFloating.d.mts +9 -1
  617. package/floating-ui-react/hooks/useFloating.d.ts +9 -1
  618. package/floating-ui-react/hooks/useFloating.js +14 -2
  619. package/floating-ui-react/hooks/useFloating.mjs +13 -2
  620. package/floating-ui-react/hooks/useFloatingRootContext.js +0 -2
  621. package/floating-ui-react/hooks/useFloatingRootContext.mjs +0 -2
  622. package/floating-ui-react/hooks/useFocus.js +1 -0
  623. package/floating-ui-react/hooks/useFocus.mjs +1 -0
  624. package/floating-ui-react/hooks/useHoverReferenceInteraction.d.mts +12 -0
  625. package/floating-ui-react/hooks/useHoverReferenceInteraction.d.ts +12 -0
  626. package/floating-ui-react/hooks/useHoverReferenceInteraction.js +17 -5
  627. package/floating-ui-react/hooks/useHoverReferenceInteraction.mjs +17 -5
  628. package/floating-ui-react/hooks/useListNavigation.js +16 -3
  629. package/floating-ui-react/hooks/useListNavigation.mjs +16 -3
  630. package/floating-ui-react/hooks/useSyncedFloatingRootContext.d.mts +9 -4
  631. package/floating-ui-react/hooks/useSyncedFloatingRootContext.d.ts +9 -4
  632. package/floating-ui-react/hooks/useSyncedFloatingRootContext.js +5 -0
  633. package/floating-ui-react/hooks/useSyncedFloatingRootContext.mjs +6 -0
  634. package/floating-ui-react/hooks/useTypeahead.d.mts +5 -5
  635. package/floating-ui-react/hooks/useTypeahead.d.ts +5 -5
  636. package/floating-ui-react/hooks/useTypeahead.js +9 -14
  637. package/floating-ui-react/hooks/useTypeahead.mjs +9 -14
  638. package/floating-ui-react/index.d.mts +0 -4
  639. package/floating-ui-react/index.d.ts +0 -4
  640. package/floating-ui-react/index.mjs +12 -0
  641. package/floating-ui-react/middleware/arrow.js +11 -4
  642. package/floating-ui-react/middleware/arrow.mjs +11 -4
  643. package/floating-ui-react/utils/composite.js +7 -0
  644. package/floating-ui-react/utils/composite.mjs +7 -0
  645. package/floating-ui-react/utils/element.d.mts +1 -1
  646. package/floating-ui-react/utils/element.d.ts +1 -1
  647. package/floating-ui-react/utils/element.js +5 -3
  648. package/floating-ui-react/utils/element.mjs +4 -3
  649. package/form/Form.d.mts +1 -1
  650. package/form/Form.d.ts +1 -1
  651. package/form/Form.js +74 -53
  652. package/form/Form.mjs +74 -53
  653. package/index.js +1 -1
  654. package/index.mjs +1 -1
  655. package/input/InputDataAttributes.d.mts +28 -30
  656. package/input/InputDataAttributes.d.ts +28 -30
  657. package/input/InputDataAttributes.js +29 -32
  658. package/input/InputDataAttributes.mjs +28 -31
  659. package/internals/PrehydrationScript.d.mts +37 -0
  660. package/internals/PrehydrationScript.d.ts +37 -0
  661. package/internals/PrehydrationScript.js +59 -0
  662. package/internals/PrehydrationScript.mjs +54 -0
  663. package/internals/TransitionStatusDataAttributes.d.mts +8 -0
  664. package/internals/TransitionStatusDataAttributes.d.ts +8 -0
  665. package/internals/TransitionStatusDataAttributes.js +15 -0
  666. package/internals/TransitionStatusDataAttributes.mjs +9 -0
  667. package/internals/composite/composite.d.mts +2 -10
  668. package/internals/composite/composite.d.ts +2 -10
  669. package/internals/composite/composite.js +4 -12
  670. package/internals/composite/composite.mjs +3 -11
  671. package/internals/composite/index.d.mts +2 -1
  672. package/internals/composite/index.d.ts +2 -1
  673. package/internals/composite/index.js +11 -4
  674. package/internals/composite/index.mjs +1 -1
  675. package/internals/composite/item/CompositeItem.d.mts +0 -3
  676. package/internals/composite/item/CompositeItem.d.ts +0 -3
  677. package/internals/composite/item/CompositeItem.js +2 -4
  678. package/internals/composite/item/CompositeItem.mjs +2 -4
  679. package/internals/composite/item/useCompositeItem.d.mts +1 -1
  680. package/internals/composite/item/useCompositeItem.d.ts +1 -1
  681. package/internals/composite/list/CompositeList.d.mts +4 -4
  682. package/internals/composite/list/CompositeList.d.ts +4 -4
  683. package/internals/composite/list/CompositeList.js +173 -86
  684. package/internals/composite/list/CompositeList.mjs +173 -86
  685. package/internals/composite/list/CompositeListContext.d.mts +8 -4
  686. package/internals/composite/list/CompositeListContext.d.ts +8 -4
  687. package/internals/composite/list/CompositeListContext.js +1 -6
  688. package/internals/composite/list/CompositeListContext.mjs +1 -6
  689. package/internals/composite/list/useCompositeListItem.d.mts +11 -8
  690. package/internals/composite/list/useCompositeListItem.d.ts +11 -8
  691. package/internals/composite/list/useCompositeListItem.js +25 -32
  692. package/internals/composite/list/useCompositeListItem.mjs +25 -32
  693. package/internals/composite/root/CompositeRoot.d.mts +2 -5
  694. package/internals/composite/root/CompositeRoot.d.ts +2 -5
  695. package/internals/composite/root/CompositeRoot.js +0 -3
  696. package/internals/composite/root/CompositeRoot.mjs +0 -3
  697. package/internals/composite/root/useCompositeRoot.d.mts +0 -1
  698. package/internals/composite/root/useCompositeRoot.d.ts +0 -1
  699. package/internals/composite/root/useCompositeRoot.js +64 -42
  700. package/internals/composite/root/useCompositeRoot.mjs +64 -42
  701. package/internals/createBaseUIEventDetails.d.mts +1 -1
  702. package/internals/createBaseUIEventDetails.d.ts +1 -1
  703. package/internals/csp-context/CSPContext.d.mts +0 -6
  704. package/internals/csp-context/CSPContext.d.ts +0 -6
  705. package/internals/csp-context/CSPContext.js +0 -7
  706. package/internals/csp-context/CSPContext.mjs +0 -7
  707. package/internals/direction-context/DirectionContext.d.mts +0 -3
  708. package/internals/direction-context/DirectionContext.d.ts +0 -3
  709. package/internals/direction-context/DirectionContext.js +0 -3
  710. package/internals/direction-context/DirectionContext.mjs +0 -3
  711. package/internals/field-constants/constants.js +4 -3
  712. package/internals/field-constants/constants.mjs +1 -1
  713. package/internals/field-register-control/useFieldControlRegistration.d.mts +2 -1
  714. package/internals/field-register-control/useFieldControlRegistration.d.ts +2 -1
  715. package/internals/field-register-control/useFieldControlRegistration.js +29 -16
  716. package/internals/field-register-control/useFieldControlRegistration.mjs +29 -16
  717. package/internals/field-register-control/useRegisterFieldControl.js +13 -9
  718. package/internals/field-register-control/useRegisterFieldControl.mjs +13 -8
  719. package/internals/field-root-context/FieldRootContext.d.mts +0 -7
  720. package/internals/field-root-context/FieldRootContext.d.ts +0 -7
  721. package/internals/field-root-context/FieldRootContext.js +2 -9
  722. package/internals/field-root-context/FieldRootContext.mjs +3 -10
  723. package/internals/filter.js +1 -1
  724. package/internals/filter.mjs +1 -1
  725. package/internals/form-context/FormContext.d.mts +2 -1
  726. package/internals/form-context/FormContext.d.ts +2 -1
  727. package/internals/form-context/FormContext.js +5 -2
  728. package/internals/form-context/FormContext.mjs +5 -2
  729. package/{utils → internals}/getDisabledMountTransitionStyles.d.mts +1 -1
  730. package/{utils → internals}/getDisabledMountTransitionStyles.d.ts +1 -1
  731. package/{utils → internals}/getDisabledMountTransitionStyles.js +1 -1
  732. package/{utils → internals}/getDisabledMountTransitionStyles.mjs +1 -1
  733. package/internals/itemEquality.d.mts +4 -0
  734. package/internals/itemEquality.d.ts +4 -0
  735. package/internals/itemEquality.js +44 -2
  736. package/internals/itemEquality.mjs +41 -2
  737. package/internals/labelable-provider/LabelableContext.d.mts +3 -1
  738. package/internals/labelable-provider/LabelableContext.d.ts +3 -1
  739. package/internals/labelable-provider/LabelableContext.js +1 -0
  740. package/internals/labelable-provider/LabelableContext.mjs +1 -0
  741. package/internals/labelable-provider/LabelableProvider.d.mts +0 -5
  742. package/internals/labelable-provider/LabelableProvider.d.ts +0 -5
  743. package/internals/labelable-provider/LabelableProvider.js +21 -15
  744. package/internals/labelable-provider/LabelableProvider.mjs +21 -16
  745. package/internals/labelable-provider/useAriaLabelledBy.d.mts +0 -3
  746. package/internals/labelable-provider/useAriaLabelledBy.d.ts +0 -3
  747. package/internals/labelable-provider/useAriaLabelledBy.js +0 -3
  748. package/internals/labelable-provider/useAriaLabelledBy.mjs +0 -4
  749. package/internals/labelable-provider/useLabel.d.mts +3 -3
  750. package/internals/labelable-provider/useLabel.d.ts +3 -3
  751. package/internals/labelable-provider/useLabel.js +1 -1
  752. package/internals/labelable-provider/useLabel.mjs +1 -1
  753. package/internals/labelable-provider/useLabelableId.d.mts +6 -7
  754. package/internals/labelable-provider/useLabelableId.d.ts +6 -7
  755. package/internals/labelable-provider/useLabelableId.js +28 -21
  756. package/internals/labelable-provider/useLabelableId.mjs +28 -21
  757. package/internals/prehydrationScript.stub.d.mts +1 -0
  758. package/internals/prehydrationScript.stub.d.ts +1 -0
  759. package/internals/prehydrationScript.stub.js +12 -0
  760. package/internals/prehydrationScript.stub.mjs +6 -0
  761. package/internals/resolveValueLabel.d.mts +1 -0
  762. package/internals/resolveValueLabel.d.ts +1 -0
  763. package/internals/resolveValueLabel.js +13 -3
  764. package/internals/resolveValueLabel.mjs +12 -3
  765. package/internals/stateAttributesMapping.d.mts +2 -10
  766. package/internals/stateAttributesMapping.d.ts +2 -10
  767. package/internals/stateAttributesMapping.js +3 -11
  768. package/internals/stateAttributesMapping.mjs +2 -11
  769. package/internals/temporal-adapter-luxon/TemporalAdapterLuxon.d.mts +1 -1
  770. package/internals/temporal-adapter-luxon/TemporalAdapterLuxon.d.ts +1 -1
  771. package/internals/use-button/useButton.js +30 -14
  772. package/internals/use-button/useButton.mjs +30 -14
  773. package/{utils → internals}/useAnchorPositioning.d.mts +11 -4
  774. package/{utils → internals}/useAnchorPositioning.d.ts +11 -4
  775. package/{utils → internals}/useAnchorPositioning.js +129 -91
  776. package/{utils → internals}/useAnchorPositioning.mjs +128 -91
  777. package/internals/useAnimationsFinished.d.mts +5 -3
  778. package/internals/useAnimationsFinished.d.ts +5 -3
  779. package/internals/useAnimationsFinished.js +51 -14
  780. package/internals/useAnimationsFinished.mjs +49 -13
  781. package/internals/useOpenChangeComplete.d.mts +6 -0
  782. package/internals/useOpenChangeComplete.d.ts +6 -0
  783. package/internals/useOpenChangeComplete.js +2 -1
  784. package/internals/useOpenChangeComplete.mjs +2 -1
  785. package/internals/usePressAndHold.d.mts +0 -1
  786. package/internals/usePressAndHold.d.ts +0 -1
  787. package/internals/usePressAndHold.js +12 -8
  788. package/internals/usePressAndHold.mjs +12 -8
  789. package/internals/useRenderElement.js +31 -19
  790. package/internals/useRenderElement.mjs +31 -19
  791. package/internals/useTransitionStatus.d.mts +5 -1
  792. package/internals/useTransitionStatus.d.ts +5 -1
  793. package/internals/useTransitionStatus.js +9 -2
  794. package/internals/useTransitionStatus.mjs +9 -2
  795. package/internals/useValueChanged.js +3 -6
  796. package/internals/useValueChanged.mjs +3 -6
  797. package/menu/arrow/MenuArrow.d.mts +1 -1
  798. package/menu/arrow/MenuArrow.d.ts +1 -1
  799. package/menu/arrow/MenuArrowDataAttributes.d.mts +22 -24
  800. package/menu/arrow/MenuArrowDataAttributes.d.ts +22 -24
  801. package/menu/arrow/MenuArrowDataAttributes.js +23 -26
  802. package/menu/arrow/MenuArrowDataAttributes.mjs +23 -25
  803. package/menu/backdrop/MenuBackdrop.js +1 -7
  804. package/menu/backdrop/MenuBackdrop.mjs +2 -7
  805. package/menu/backdrop/MenuBackdropDataAttributes.d.mts +16 -18
  806. package/menu/backdrop/MenuBackdropDataAttributes.d.ts +16 -18
  807. package/menu/backdrop/MenuBackdropDataAttributes.js +17 -20
  808. package/menu/backdrop/MenuBackdropDataAttributes.mjs +17 -19
  809. package/menu/checkbox-item/MenuCheckboxItem.js +6 -2
  810. package/menu/checkbox-item/MenuCheckboxItem.mjs +6 -2
  811. package/menu/checkbox-item/MenuCheckboxItemDataAttributes.d.mts +16 -18
  812. package/menu/checkbox-item/MenuCheckboxItemDataAttributes.d.ts +16 -18
  813. package/menu/checkbox-item/MenuCheckboxItemDataAttributes.js +17 -20
  814. package/menu/checkbox-item/MenuCheckboxItemDataAttributes.mjs +16 -19
  815. package/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.js +4 -1
  816. package/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.mjs +4 -1
  817. package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.d.mts +20 -22
  818. package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.d.ts +20 -22
  819. package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.js +21 -24
  820. package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.mjs +21 -23
  821. package/menu/group/MenuGroupContext.d.mts +1 -1
  822. package/menu/group/MenuGroupContext.d.ts +1 -1
  823. package/menu/group-label/MenuGroupLabel.js +2 -2
  824. package/menu/group-label/MenuGroupLabel.mjs +2 -2
  825. package/menu/item/MenuItem.js +4 -1
  826. package/menu/item/MenuItem.mjs +4 -1
  827. package/menu/item/MenuItemDataAttributes.d.mts +8 -10
  828. package/menu/item/MenuItemDataAttributes.d.ts +8 -10
  829. package/menu/item/MenuItemDataAttributes.js +9 -12
  830. package/menu/item/MenuItemDataAttributes.mjs +8 -11
  831. package/menu/item/useMenuItem.js +1 -3
  832. package/menu/item/useMenuItem.mjs +1 -3
  833. package/menu/item/useMenuItemCommonProps.d.mts +2 -3
  834. package/menu/item/useMenuItemCommonProps.d.ts +2 -3
  835. package/menu/item/useMenuItemCommonProps.js +7 -2
  836. package/menu/item/useMenuItemCommonProps.mjs +7 -2
  837. package/menu/link-item/MenuLinkItem.d.mts +1 -1
  838. package/menu/link-item/MenuLinkItem.d.ts +1 -1
  839. package/menu/link-item/MenuLinkItem.js +4 -1
  840. package/menu/link-item/MenuLinkItem.mjs +4 -1
  841. package/menu/link-item/MenuLinkItemDataAttributes.d.mts +4 -6
  842. package/menu/link-item/MenuLinkItemDataAttributes.d.ts +4 -6
  843. package/menu/link-item/MenuLinkItemDataAttributes.js +5 -8
  844. package/menu/link-item/MenuLinkItemDataAttributes.mjs +4 -7
  845. package/menu/popup/MenuPopup.d.mts +1 -1
  846. package/menu/popup/MenuPopup.d.ts +1 -1
  847. package/menu/popup/MenuPopup.js +5 -14
  848. package/menu/popup/MenuPopup.mjs +7 -15
  849. package/menu/popup/MenuPopupDataAttributes.d.mts +31 -33
  850. package/menu/popup/MenuPopupDataAttributes.d.ts +31 -33
  851. package/menu/popup/MenuPopupDataAttributes.js +32 -35
  852. package/menu/popup/MenuPopupDataAttributes.mjs +32 -34
  853. package/menu/portal/MenuPortal.d.mts +6 -2
  854. package/menu/portal/MenuPortal.d.ts +6 -2
  855. package/menu/portal/MenuPortal.js +9 -2
  856. package/menu/portal/MenuPortal.mjs +9 -2
  857. package/menu/positioner/MenuPositioner.d.mts +18 -2
  858. package/menu/positioner/MenuPositioner.d.ts +18 -2
  859. package/menu/positioner/MenuPositioner.js +8 -6
  860. package/menu/positioner/MenuPositioner.mjs +8 -6
  861. package/menu/positioner/MenuPositionerContext.d.mts +1 -1
  862. package/menu/positioner/MenuPositionerContext.d.ts +1 -1
  863. package/menu/positioner/MenuPositionerCssVars.d.mts +37 -27
  864. package/menu/positioner/MenuPositionerCssVars.d.ts +37 -27
  865. package/menu/positioner/MenuPositionerCssVars.js +38 -29
  866. package/menu/positioner/MenuPositionerCssVars.mjs +37 -28
  867. package/menu/positioner/MenuPositionerDataAttributes.d.mts +22 -24
  868. package/menu/positioner/MenuPositionerDataAttributes.d.ts +22 -24
  869. package/menu/positioner/MenuPositionerDataAttributes.js +23 -26
  870. package/menu/positioner/MenuPositionerDataAttributes.mjs +23 -25
  871. package/menu/radio-item/MenuRadioItem.js +5 -2
  872. package/menu/radio-item/MenuRadioItem.mjs +5 -2
  873. package/menu/radio-item/MenuRadioItemDataAttributes.d.mts +16 -18
  874. package/menu/radio-item/MenuRadioItemDataAttributes.d.ts +16 -18
  875. package/menu/radio-item/MenuRadioItemDataAttributes.js +17 -20
  876. package/menu/radio-item/MenuRadioItemDataAttributes.mjs +16 -19
  877. package/menu/radio-item-indicator/MenuRadioItemIndicator.js +4 -1
  878. package/menu/radio-item-indicator/MenuRadioItemIndicator.mjs +4 -1
  879. package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.d.mts +20 -22
  880. package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.d.ts +20 -22
  881. package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.js +21 -24
  882. package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.mjs +21 -23
  883. package/menu/root/MenuRoot.d.mts +12 -8
  884. package/menu/root/MenuRoot.d.ts +12 -8
  885. package/menu/root/MenuRoot.js +132 -30
  886. package/menu/root/MenuRoot.mjs +134 -32
  887. package/menu/store/MenuHandle.d.mts +18 -10
  888. package/menu/store/MenuHandle.d.ts +18 -10
  889. package/menu/store/MenuHandle.js +21 -20
  890. package/menu/store/MenuHandle.mjs +22 -19
  891. package/menu/store/MenuStore.d.mts +24 -9
  892. package/menu/store/MenuStore.d.ts +24 -9
  893. package/menu/store/MenuStore.js +78 -59
  894. package/menu/store/MenuStore.mjs +79 -61
  895. package/menu/submenu-root/MenuSubmenuRoot.d.mts +1 -1
  896. package/menu/submenu-root/MenuSubmenuRoot.d.ts +1 -1
  897. package/menu/submenu-trigger/MenuSubmenuTrigger.d.mts +1 -0
  898. package/menu/submenu-trigger/MenuSubmenuTrigger.d.ts +1 -0
  899. package/menu/submenu-trigger/MenuSubmenuTrigger.js +45 -13
  900. package/menu/submenu-trigger/MenuSubmenuTrigger.mjs +44 -13
  901. package/menu/submenu-trigger/MenuSubmenuTriggerDataAttributes.d.mts +12 -14
  902. package/menu/submenu-trigger/MenuSubmenuTriggerDataAttributes.d.ts +12 -14
  903. package/menu/submenu-trigger/MenuSubmenuTriggerDataAttributes.js +13 -16
  904. package/menu/submenu-trigger/MenuSubmenuTriggerDataAttributes.mjs +13 -15
  905. package/menu/trigger/MenuTrigger.js +7 -22
  906. package/menu/trigger/MenuTrigger.mjs +10 -24
  907. package/menu/trigger/MenuTriggerDataAttributes.d.mts +12 -10
  908. package/menu/trigger/MenuTriggerDataAttributes.d.ts +12 -10
  909. package/menu/trigger/MenuTriggerDataAttributes.js +13 -12
  910. package/menu/trigger/MenuTriggerDataAttributes.mjs +13 -11
  911. package/menu/utils/findRootOwnerId.js +1 -1
  912. package/menu/utils/findRootOwnerId.mjs +1 -1
  913. package/menu/utils/stateAttributesMapping.js +4 -3
  914. package/menu/utils/stateAttributesMapping.mjs +1 -1
  915. package/menu/viewport/MenuViewport.js +1 -9
  916. package/menu/viewport/MenuViewport.mjs +2 -9
  917. package/menu/viewport/MenuViewportCssVars.d.mts +12 -14
  918. package/menu/viewport/MenuViewportCssVars.d.ts +12 -14
  919. package/menu/viewport/MenuViewportCssVars.js +13 -16
  920. package/menu/viewport/MenuViewportCssVars.mjs +12 -15
  921. package/menu/viewport/MenuViewportDataAttributes.d.mts +24 -26
  922. package/menu/viewport/MenuViewportDataAttributes.d.ts +24 -26
  923. package/menu/viewport/MenuViewportDataAttributes.js +25 -28
  924. package/menu/viewport/MenuViewportDataAttributes.mjs +24 -27
  925. package/menubar/Menubar.js +4 -3
  926. package/menubar/Menubar.mjs +3 -2
  927. package/menubar/MenubarDataAttributes.d.mts +13 -15
  928. package/menubar/MenubarDataAttributes.d.ts +13 -15
  929. package/menubar/MenubarDataAttributes.js +14 -17
  930. package/menubar/MenubarDataAttributes.mjs +13 -16
  931. package/meter/root/MeterRoot.js +6 -8
  932. package/meter/root/MeterRoot.mjs +6 -8
  933. package/meter/root/MeterRootContext.d.mts +0 -2
  934. package/meter/root/MeterRootContext.d.ts +0 -2
  935. package/navigation-menu/arrow/NavigationMenuArrow.d.mts +1 -1
  936. package/navigation-menu/arrow/NavigationMenuArrow.d.ts +1 -1
  937. package/navigation-menu/arrow/NavigationMenuArrow.js +1 -1
  938. package/navigation-menu/arrow/NavigationMenuArrow.mjs +1 -1
  939. package/navigation-menu/arrow/NavigationMenuArrowDataAttributes.d.mts +22 -24
  940. package/navigation-menu/arrow/NavigationMenuArrowDataAttributes.d.ts +22 -24
  941. package/navigation-menu/arrow/NavigationMenuArrowDataAttributes.js +23 -26
  942. package/navigation-menu/arrow/NavigationMenuArrowDataAttributes.mjs +23 -25
  943. package/navigation-menu/backdrop/NavigationMenuBackdrop.js +1 -7
  944. package/navigation-menu/backdrop/NavigationMenuBackdrop.mjs +2 -7
  945. package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.d.mts +16 -18
  946. package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.d.ts +16 -18
  947. package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.js +17 -20
  948. package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.mjs +17 -19
  949. package/navigation-menu/content/NavigationMenuContent.js +2 -1
  950. package/navigation-menu/content/NavigationMenuContent.mjs +2 -1
  951. package/navigation-menu/content/NavigationMenuContentDataAttributes.d.mts +21 -23
  952. package/navigation-menu/content/NavigationMenuContentDataAttributes.d.ts +21 -23
  953. package/navigation-menu/content/NavigationMenuContentDataAttributes.js +22 -25
  954. package/navigation-menu/content/NavigationMenuContentDataAttributes.mjs +22 -24
  955. package/navigation-menu/icon/NavigationMenuIconDataAttributes.d.mts +4 -6
  956. package/navigation-menu/icon/NavigationMenuIconDataAttributes.d.ts +4 -6
  957. package/navigation-menu/icon/NavigationMenuIconDataAttributes.js +5 -8
  958. package/navigation-menu/icon/NavigationMenuIconDataAttributes.mjs +5 -7
  959. package/navigation-menu/link/NavigationMenuLink.d.mts +1 -1
  960. package/navigation-menu/link/NavigationMenuLink.d.ts +1 -1
  961. package/navigation-menu/link/NavigationMenuLinkDataAttributes.d.mts +4 -6
  962. package/navigation-menu/link/NavigationMenuLinkDataAttributes.d.ts +4 -6
  963. package/navigation-menu/link/NavigationMenuLinkDataAttributes.js +5 -8
  964. package/navigation-menu/link/NavigationMenuLinkDataAttributes.mjs +4 -7
  965. package/navigation-menu/popup/NavigationMenuPopup.d.mts +1 -1
  966. package/navigation-menu/popup/NavigationMenuPopup.d.ts +1 -1
  967. package/navigation-menu/popup/NavigationMenuPopup.js +2 -8
  968. package/navigation-menu/popup/NavigationMenuPopup.mjs +3 -8
  969. package/navigation-menu/popup/NavigationMenuPopupCssVars.d.mts +10 -12
  970. package/navigation-menu/popup/NavigationMenuPopupCssVars.d.ts +10 -12
  971. package/navigation-menu/popup/NavigationMenuPopupCssVars.js +11 -14
  972. package/navigation-menu/popup/NavigationMenuPopupCssVars.mjs +10 -13
  973. package/navigation-menu/popup/NavigationMenuPopupDataAttributes.d.mts +30 -32
  974. package/navigation-menu/popup/NavigationMenuPopupDataAttributes.d.ts +30 -32
  975. package/navigation-menu/popup/NavigationMenuPopupDataAttributes.js +31 -34
  976. package/navigation-menu/popup/NavigationMenuPopupDataAttributes.mjs +31 -33
  977. package/navigation-menu/portal/NavigationMenuPortal.d.mts +3 -3
  978. package/navigation-menu/portal/NavigationMenuPortal.d.ts +3 -3
  979. package/navigation-menu/positioner/NavigationMenuPositioner.d.mts +1 -1
  980. package/navigation-menu/positioner/NavigationMenuPositioner.d.ts +1 -1
  981. package/navigation-menu/positioner/NavigationMenuPositioner.js +7 -6
  982. package/navigation-menu/positioner/NavigationMenuPositioner.mjs +7 -6
  983. package/navigation-menu/positioner/NavigationMenuPositionerContext.d.mts +2 -2
  984. package/navigation-menu/positioner/NavigationMenuPositionerContext.d.ts +2 -2
  985. package/navigation-menu/positioner/NavigationMenuPositionerCssVars.d.mts +35 -37
  986. package/navigation-menu/positioner/NavigationMenuPositionerCssVars.d.ts +35 -37
  987. package/navigation-menu/positioner/NavigationMenuPositionerCssVars.js +36 -39
  988. package/navigation-menu/positioner/NavigationMenuPositionerCssVars.mjs +35 -38
  989. package/navigation-menu/positioner/NavigationMenuPositionerDataAttributes.d.mts +26 -28
  990. package/navigation-menu/positioner/NavigationMenuPositionerDataAttributes.d.ts +26 -28
  991. package/navigation-menu/positioner/NavigationMenuPositionerDataAttributes.js +27 -30
  992. package/navigation-menu/positioner/NavigationMenuPositionerDataAttributes.mjs +27 -29
  993. package/navigation-menu/root/NavigationMenuRoot.js +3 -3
  994. package/navigation-menu/root/NavigationMenuRoot.mjs +1 -1
  995. package/navigation-menu/trigger/NavigationMenuTrigger.d.mts +11 -1
  996. package/navigation-menu/trigger/NavigationMenuTrigger.d.ts +11 -1
  997. package/navigation-menu/trigger/NavigationMenuTrigger.js +72 -122
  998. package/navigation-menu/trigger/NavigationMenuTrigger.mjs +72 -122
  999. package/navigation-menu/trigger/NavigationMenuTriggerDataAttributes.d.mts +12 -10
  1000. package/navigation-menu/trigger/NavigationMenuTriggerDataAttributes.d.ts +12 -10
  1001. package/navigation-menu/trigger/NavigationMenuTriggerDataAttributes.js +13 -12
  1002. package/navigation-menu/trigger/NavigationMenuTriggerDataAttributes.mjs +13 -11
  1003. package/navigation-menu/utils/isOutsideMenuEvent.js +2 -5
  1004. package/navigation-menu/utils/isOutsideMenuEvent.mjs +2 -5
  1005. package/navigation-menu/utils/setSharedFixedSize.js +7 -6
  1006. package/navigation-menu/utils/setSharedFixedSize.mjs +2 -2
  1007. package/navigation-menu/utils/useNavigationMenuAnchorPositioning.d.mts +6 -0
  1008. package/navigation-menu/utils/useNavigationMenuAnchorPositioning.d.ts +6 -0
  1009. package/navigation-menu/utils/useNavigationMenuAnchorPositioning.js +16 -0
  1010. package/navigation-menu/utils/useNavigationMenuAnchorPositioning.mjs +12 -0
  1011. package/number-field/decrement/NumberFieldDecrementDataAttributes.d.mts +40 -42
  1012. package/number-field/decrement/NumberFieldDecrementDataAttributes.d.ts +40 -42
  1013. package/number-field/decrement/NumberFieldDecrementDataAttributes.js +41 -44
  1014. package/number-field/decrement/NumberFieldDecrementDataAttributes.mjs +40 -43
  1015. package/number-field/group/NumberFieldGroupDataAttributes.d.mts +40 -42
  1016. package/number-field/group/NumberFieldGroupDataAttributes.d.ts +40 -42
  1017. package/number-field/group/NumberFieldGroupDataAttributes.js +41 -44
  1018. package/number-field/group/NumberFieldGroupDataAttributes.mjs +40 -43
  1019. package/number-field/increment/NumberFieldIncrementDataAttributes.d.mts +40 -42
  1020. package/number-field/increment/NumberFieldIncrementDataAttributes.d.ts +40 -42
  1021. package/number-field/increment/NumberFieldIncrementDataAttributes.js +41 -44
  1022. package/number-field/increment/NumberFieldIncrementDataAttributes.mjs +40 -43
  1023. package/number-field/input/NumberFieldInput.d.mts +1 -1
  1024. package/number-field/input/NumberFieldInput.d.ts +1 -1
  1025. package/number-field/input/NumberFieldInput.js +41 -37
  1026. package/number-field/input/NumberFieldInput.mjs +42 -38
  1027. package/number-field/input/NumberFieldInputDataAttributes.d.mts +40 -42
  1028. package/number-field/input/NumberFieldInputDataAttributes.d.ts +40 -42
  1029. package/number-field/input/NumberFieldInputDataAttributes.js +41 -44
  1030. package/number-field/input/NumberFieldInputDataAttributes.mjs +40 -43
  1031. package/number-field/root/NumberFieldRoot.js +69 -61
  1032. package/number-field/root/NumberFieldRoot.mjs +70 -62
  1033. package/number-field/root/NumberFieldRootContext.d.mts +1 -7
  1034. package/number-field/root/NumberFieldRootContext.d.ts +1 -7
  1035. package/number-field/root/NumberFieldRootDataAttributes.d.mts +40 -42
  1036. package/number-field/root/NumberFieldRootDataAttributes.d.ts +40 -42
  1037. package/number-field/root/NumberFieldRootDataAttributes.js +41 -44
  1038. package/number-field/root/NumberFieldRootDataAttributes.mjs +40 -43
  1039. package/number-field/root/useNumberFieldStepperButton.js +109 -21
  1040. package/number-field/root/useNumberFieldStepperButton.mjs +109 -21
  1041. package/number-field/scrub-area/NumberFieldScrubArea.js +30 -33
  1042. package/number-field/scrub-area/NumberFieldScrubArea.mjs +30 -33
  1043. package/number-field/scrub-area/NumberFieldScrubAreaDataAttributes.d.mts +40 -42
  1044. package/number-field/scrub-area/NumberFieldScrubAreaDataAttributes.d.ts +40 -42
  1045. package/number-field/scrub-area/NumberFieldScrubAreaDataAttributes.js +41 -44
  1046. package/number-field/scrub-area/NumberFieldScrubAreaDataAttributes.mjs +40 -43
  1047. package/number-field/scrub-area-cursor/NumberFieldScrubAreaCursorDataAttributes.d.mts +40 -42
  1048. package/number-field/scrub-area-cursor/NumberFieldScrubAreaCursorDataAttributes.d.ts +40 -42
  1049. package/number-field/scrub-area-cursor/NumberFieldScrubAreaCursorDataAttributes.js +41 -44
  1050. package/number-field/scrub-area-cursor/NumberFieldScrubAreaCursorDataAttributes.mjs +40 -43
  1051. package/number-field/utils/constants.d.mts +1 -2
  1052. package/number-field/utils/constants.d.ts +1 -2
  1053. package/number-field/utils/constants.js +2 -3
  1054. package/number-field/utils/constants.mjs +1 -2
  1055. package/number-field/utils/parse.d.mts +27 -15
  1056. package/number-field/utils/parse.d.ts +27 -15
  1057. package/number-field/utils/parse.js +75 -136
  1058. package/number-field/utils/parse.mjs +74 -135
  1059. package/number-field/utils/types.d.mts +2 -1
  1060. package/number-field/utils/types.d.ts +2 -1
  1061. package/number-field/utils/validate.d.mts +1 -19
  1062. package/number-field/utils/validate.d.ts +1 -19
  1063. package/number-field/utils/validate.js +8 -16
  1064. package/number-field/utils/validate.mjs +8 -16
  1065. package/otp-field/input/OTPFieldInput.d.mts +1 -1
  1066. package/otp-field/input/OTPFieldInput.d.ts +1 -1
  1067. package/otp-field/input/OTPFieldInput.js +4 -1
  1068. package/otp-field/input/OTPFieldInput.mjs +5 -2
  1069. package/otp-field/input/OTPFieldInputDataAttributes.d.mts +40 -42
  1070. package/otp-field/input/OTPFieldInputDataAttributes.d.ts +40 -42
  1071. package/otp-field/input/OTPFieldInputDataAttributes.js +41 -44
  1072. package/otp-field/input/OTPFieldInputDataAttributes.mjs +40 -43
  1073. package/otp-field/root/OTPFieldRoot.js +14 -15
  1074. package/otp-field/root/OTPFieldRoot.mjs +14 -15
  1075. package/otp-field/root/OTPFieldRootDataAttributes.d.mts +40 -42
  1076. package/otp-field/root/OTPFieldRootDataAttributes.d.ts +40 -42
  1077. package/otp-field/root/OTPFieldRootDataAttributes.js +41 -44
  1078. package/otp-field/root/OTPFieldRootDataAttributes.mjs +40 -43
  1079. package/package.json +94 -48
  1080. package/popover/arrow/PopoverArrow.d.mts +1 -1
  1081. package/popover/arrow/PopoverArrow.d.ts +1 -1
  1082. package/popover/arrow/PopoverArrow.js +1 -3
  1083. package/popover/arrow/PopoverArrow.mjs +1 -3
  1084. package/popover/arrow/PopoverArrowDataAttributes.d.mts +22 -24
  1085. package/popover/arrow/PopoverArrowDataAttributes.d.ts +22 -24
  1086. package/popover/arrow/PopoverArrowDataAttributes.js +23 -26
  1087. package/popover/arrow/PopoverArrowDataAttributes.mjs +23 -25
  1088. package/popover/backdrop/PopoverBackdrop.js +3 -11
  1089. package/popover/backdrop/PopoverBackdrop.mjs +4 -11
  1090. package/popover/backdrop/PopoverBackdropDataAttributes.d.mts +16 -18
  1091. package/popover/backdrop/PopoverBackdropDataAttributes.d.ts +16 -18
  1092. package/popover/backdrop/PopoverBackdropDataAttributes.js +17 -20
  1093. package/popover/backdrop/PopoverBackdropDataAttributes.mjs +17 -19
  1094. package/popover/close/PopoverClose.js +1 -3
  1095. package/popover/close/PopoverClose.mjs +1 -3
  1096. package/popover/description/PopoverDescription.js +1 -3
  1097. package/popover/description/PopoverDescription.mjs +1 -3
  1098. package/popover/popup/PopoverPopup.d.mts +1 -1
  1099. package/popover/popup/PopoverPopup.d.ts +1 -1
  1100. package/popover/popup/PopoverPopup.js +6 -17
  1101. package/popover/popup/PopoverPopup.mjs +9 -19
  1102. package/popover/popup/PopoverPopupCssVars.d.mts +8 -10
  1103. package/popover/popup/PopoverPopupCssVars.d.ts +8 -10
  1104. package/popover/popup/PopoverPopupCssVars.js +9 -12
  1105. package/popover/popup/PopoverPopupCssVars.mjs +8 -11
  1106. package/popover/popup/PopoverPopupDataAttributes.d.mts +31 -33
  1107. package/popover/popup/PopoverPopupDataAttributes.d.ts +31 -33
  1108. package/popover/popup/PopoverPopupDataAttributes.js +32 -35
  1109. package/popover/popup/PopoverPopupDataAttributes.mjs +32 -34
  1110. package/popover/portal/PopoverPortal.d.mts +6 -2
  1111. package/popover/portal/PopoverPortal.d.ts +6 -2
  1112. package/popover/portal/PopoverPortal.js +1 -3
  1113. package/popover/portal/PopoverPortal.mjs +1 -3
  1114. package/popover/positioner/PopoverPositioner.d.mts +1 -1
  1115. package/popover/positioner/PopoverPositioner.d.ts +1 -1
  1116. package/popover/positioner/PopoverPositioner.js +19 -22
  1117. package/popover/positioner/PopoverPositioner.mjs +19 -22
  1118. package/popover/positioner/PopoverPositionerContext.d.mts +1 -1
  1119. package/popover/positioner/PopoverPositionerContext.d.ts +1 -1
  1120. package/popover/positioner/PopoverPositionerCssVars.d.mts +37 -37
  1121. package/popover/positioner/PopoverPositionerCssVars.d.ts +37 -37
  1122. package/popover/positioner/PopoverPositionerCssVars.js +38 -39
  1123. package/popover/positioner/PopoverPositionerCssVars.mjs +37 -38
  1124. package/popover/positioner/PopoverPositionerDataAttributes.d.mts +22 -24
  1125. package/popover/positioner/PopoverPositionerDataAttributes.d.ts +22 -24
  1126. package/popover/positioner/PopoverPositionerDataAttributes.js +23 -26
  1127. package/popover/positioner/PopoverPositionerDataAttributes.mjs +23 -25
  1128. package/popover/root/PopoverRoot.d.mts +3 -1
  1129. package/popover/root/PopoverRoot.d.ts +3 -1
  1130. package/popover/root/PopoverRoot.js +33 -24
  1131. package/popover/root/PopoverRoot.mjs +35 -26
  1132. package/popover/root/PopoverRootContext.d.mts +1 -3
  1133. package/popover/root/PopoverRootContext.d.ts +1 -3
  1134. package/popover/store/PopoverHandle.d.mts +18 -10
  1135. package/popover/store/PopoverHandle.d.ts +18 -10
  1136. package/popover/store/PopoverHandle.js +21 -21
  1137. package/popover/store/PopoverHandle.mjs +22 -20
  1138. package/popover/store/PopoverStore.d.mts +22 -10
  1139. package/popover/store/PopoverStore.d.ts +22 -10
  1140. package/popover/store/PopoverStore.js +84 -73
  1141. package/popover/store/PopoverStore.mjs +83 -73
  1142. package/popover/title/PopoverTitle.js +1 -3
  1143. package/popover/title/PopoverTitle.mjs +1 -3
  1144. package/popover/trigger/PopoverTrigger.js +11 -12
  1145. package/popover/trigger/PopoverTrigger.mjs +12 -13
  1146. package/popover/trigger/PopoverTriggerDataAttributes.d.mts +12 -10
  1147. package/popover/trigger/PopoverTriggerDataAttributes.d.ts +12 -10
  1148. package/popover/trigger/PopoverTriggerDataAttributes.js +13 -12
  1149. package/popover/trigger/PopoverTriggerDataAttributes.mjs +13 -11
  1150. package/popover/viewport/PopoverViewport.js +2 -12
  1151. package/popover/viewport/PopoverViewport.mjs +3 -12
  1152. package/popover/viewport/PopoverViewportCssVars.d.mts +12 -14
  1153. package/popover/viewport/PopoverViewportCssVars.d.ts +12 -14
  1154. package/popover/viewport/PopoverViewportCssVars.js +13 -16
  1155. package/popover/viewport/PopoverViewportCssVars.mjs +12 -15
  1156. package/popover/viewport/PopoverViewportDataAttributes.d.mts +24 -26
  1157. package/popover/viewport/PopoverViewportDataAttributes.d.ts +24 -26
  1158. package/popover/viewport/PopoverViewportDataAttributes.js +25 -28
  1159. package/popover/viewport/PopoverViewportDataAttributes.mjs +24 -27
  1160. package/preview-card/arrow/PreviewCardArrow.d.mts +1 -1
  1161. package/preview-card/arrow/PreviewCardArrow.d.ts +1 -1
  1162. package/preview-card/arrow/PreviewCardArrowDataAttributes.d.mts +22 -24
  1163. package/preview-card/arrow/PreviewCardArrowDataAttributes.d.ts +22 -24
  1164. package/preview-card/arrow/PreviewCardArrowDataAttributes.js +23 -26
  1165. package/preview-card/arrow/PreviewCardArrowDataAttributes.mjs +23 -25
  1166. package/preview-card/backdrop/PreviewCardBackdrop.d.mts +1 -1
  1167. package/preview-card/backdrop/PreviewCardBackdrop.d.ts +1 -1
  1168. package/preview-card/backdrop/PreviewCardBackdrop.js +2 -8
  1169. package/preview-card/backdrop/PreviewCardBackdrop.mjs +3 -8
  1170. package/preview-card/backdrop/PreviewCardBackdropDataAttributes.d.mts +16 -18
  1171. package/preview-card/backdrop/PreviewCardBackdropDataAttributes.d.ts +16 -18
  1172. package/preview-card/backdrop/PreviewCardBackdropDataAttributes.js +17 -20
  1173. package/preview-card/backdrop/PreviewCardBackdropDataAttributes.mjs +17 -19
  1174. package/preview-card/popup/PreviewCardPopup.d.mts +1 -1
  1175. package/preview-card/popup/PreviewCardPopup.d.ts +1 -1
  1176. package/preview-card/popup/PreviewCardPopup.js +6 -12
  1177. package/preview-card/popup/PreviewCardPopup.mjs +7 -12
  1178. package/preview-card/popup/PreviewCardPopupDataAttributes.d.mts +26 -28
  1179. package/preview-card/popup/PreviewCardPopupDataAttributes.d.ts +26 -28
  1180. package/preview-card/popup/PreviewCardPopupDataAttributes.js +27 -30
  1181. package/preview-card/popup/PreviewCardPopupDataAttributes.mjs +27 -29
  1182. package/preview-card/portal/PreviewCardPortal.d.mts +6 -2
  1183. package/preview-card/portal/PreviewCardPortal.d.ts +6 -2
  1184. package/preview-card/portal/PreviewCardPortal.mjs +1 -2
  1185. package/preview-card/positioner/PreviewCardPositioner.d.mts +1 -1
  1186. package/preview-card/positioner/PreviewCardPositioner.d.ts +1 -1
  1187. package/preview-card/positioner/PreviewCardPositioner.js +3 -4
  1188. package/preview-card/positioner/PreviewCardPositioner.mjs +3 -4
  1189. package/preview-card/positioner/PreviewCardPositionerContext.d.mts +1 -1
  1190. package/preview-card/positioner/PreviewCardPositionerContext.d.ts +1 -1
  1191. package/preview-card/positioner/PreviewCardPositionerContext.js +1 -1
  1192. package/preview-card/positioner/PreviewCardPositionerContext.mjs +1 -1
  1193. package/preview-card/positioner/PreviewCardPositionerCssVars.d.mts +37 -27
  1194. package/preview-card/positioner/PreviewCardPositionerCssVars.d.ts +37 -27
  1195. package/preview-card/positioner/PreviewCardPositionerCssVars.js +38 -29
  1196. package/preview-card/positioner/PreviewCardPositionerCssVars.mjs +37 -28
  1197. package/preview-card/positioner/PreviewCardPositionerDataAttributes.d.mts +22 -24
  1198. package/preview-card/positioner/PreviewCardPositionerDataAttributes.d.ts +22 -24
  1199. package/preview-card/positioner/PreviewCardPositionerDataAttributes.js +23 -26
  1200. package/preview-card/positioner/PreviewCardPositionerDataAttributes.mjs +23 -25
  1201. package/preview-card/root/PreviewCardRoot.d.mts +1 -1
  1202. package/preview-card/root/PreviewCardRoot.d.ts +1 -1
  1203. package/preview-card/root/PreviewCardRoot.js +14 -17
  1204. package/preview-card/root/PreviewCardRoot.mjs +15 -18
  1205. package/preview-card/store/PreviewCardHandle.d.mts +15 -12
  1206. package/preview-card/store/PreviewCardHandle.d.ts +15 -12
  1207. package/preview-card/store/PreviewCardHandle.js +18 -23
  1208. package/preview-card/store/PreviewCardHandle.mjs +19 -23
  1209. package/preview-card/store/PreviewCardStore.d.mts +22 -7
  1210. package/preview-card/store/PreviewCardStore.d.ts +22 -7
  1211. package/preview-card/store/PreviewCardStore.js +43 -31
  1212. package/preview-card/store/PreviewCardStore.mjs +43 -32
  1213. package/preview-card/trigger/PreviewCardTrigger.d.mts +1 -1
  1214. package/preview-card/trigger/PreviewCardTrigger.d.ts +1 -1
  1215. package/preview-card/trigger/PreviewCardTrigger.js +4 -8
  1216. package/preview-card/trigger/PreviewCardTrigger.mjs +5 -9
  1217. package/preview-card/trigger/PreviewCardTriggerDataAttributes.d.mts +4 -6
  1218. package/preview-card/trigger/PreviewCardTriggerDataAttributes.d.ts +4 -6
  1219. package/preview-card/trigger/PreviewCardTriggerDataAttributes.js +5 -8
  1220. package/preview-card/trigger/PreviewCardTriggerDataAttributes.mjs +5 -7
  1221. package/preview-card/viewport/PreviewCardViewport.js +1 -9
  1222. package/preview-card/viewport/PreviewCardViewport.mjs +2 -9
  1223. package/preview-card/viewport/PreviewCardViewportCssVars.d.mts +12 -14
  1224. package/preview-card/viewport/PreviewCardViewportCssVars.d.ts +12 -14
  1225. package/preview-card/viewport/PreviewCardViewportCssVars.js +13 -16
  1226. package/preview-card/viewport/PreviewCardViewportCssVars.mjs +12 -15
  1227. package/preview-card/viewport/PreviewCardViewportDataAttributes.d.mts +24 -26
  1228. package/preview-card/viewport/PreviewCardViewportDataAttributes.d.ts +24 -26
  1229. package/preview-card/viewport/PreviewCardViewportDataAttributes.js +25 -28
  1230. package/preview-card/viewport/PreviewCardViewportDataAttributes.mjs +24 -27
  1231. package/progress/indicator/ProgressIndicator.js +1 -5
  1232. package/progress/indicator/ProgressIndicator.mjs +1 -5
  1233. package/progress/indicator/ProgressIndicatorDataAttributes.d.mts +12 -14
  1234. package/progress/indicator/ProgressIndicatorDataAttributes.d.ts +12 -14
  1235. package/progress/indicator/ProgressIndicatorDataAttributes.js +13 -16
  1236. package/progress/indicator/ProgressIndicatorDataAttributes.mjs +12 -15
  1237. package/progress/label/ProgressLabelDataAttributes.d.mts +12 -14
  1238. package/progress/label/ProgressLabelDataAttributes.d.ts +12 -14
  1239. package/progress/label/ProgressLabelDataAttributes.js +13 -16
  1240. package/progress/label/ProgressLabelDataAttributes.mjs +12 -15
  1241. package/progress/root/ProgressRoot.d.mts +1 -2
  1242. package/progress/root/ProgressRoot.d.ts +1 -2
  1243. package/progress/root/ProgressRoot.js +29 -20
  1244. package/progress/root/ProgressRoot.mjs +29 -20
  1245. package/progress/root/ProgressRootContext.d.mts +4 -12
  1246. package/progress/root/ProgressRootContext.d.ts +4 -12
  1247. package/progress/root/ProgressRootDataAttributes.d.mts +12 -14
  1248. package/progress/root/ProgressRootDataAttributes.d.ts +12 -14
  1249. package/progress/root/ProgressRootDataAttributes.js +13 -16
  1250. package/progress/root/ProgressRootDataAttributes.mjs +12 -15
  1251. package/progress/root/stateAttributesMapping.js +5 -4
  1252. package/progress/root/stateAttributesMapping.mjs +1 -1
  1253. package/progress/track/ProgressTrackDataAttributes.d.mts +12 -14
  1254. package/progress/track/ProgressTrackDataAttributes.d.ts +12 -14
  1255. package/progress/track/ProgressTrackDataAttributes.js +13 -16
  1256. package/progress/track/ProgressTrackDataAttributes.mjs +12 -15
  1257. package/progress/value/ProgressValue.d.mts +1 -1
  1258. package/progress/value/ProgressValue.d.ts +1 -1
  1259. package/progress/value/ProgressValue.js +7 -3
  1260. package/progress/value/ProgressValue.mjs +7 -3
  1261. package/progress/value/ProgressValueDataAttributes.d.mts +12 -14
  1262. package/progress/value/ProgressValueDataAttributes.d.ts +12 -14
  1263. package/progress/value/ProgressValueDataAttributes.js +13 -16
  1264. package/progress/value/ProgressValueDataAttributes.mjs +12 -15
  1265. package/radio/indicator/RadioIndicator.js +2 -0
  1266. package/radio/indicator/RadioIndicator.mjs +2 -0
  1267. package/radio/indicator/RadioIndicatorDataAttributes.d.mts +52 -54
  1268. package/radio/indicator/RadioIndicatorDataAttributes.d.ts +52 -54
  1269. package/radio/indicator/RadioIndicatorDataAttributes.js +53 -56
  1270. package/radio/indicator/RadioIndicatorDataAttributes.mjs +53 -55
  1271. package/radio/root/RadioRoot.js +23 -32
  1272. package/radio/root/RadioRoot.mjs +23 -32
  1273. package/radio/root/RadioRootDataAttributes.d.mts +44 -46
  1274. package/radio/root/RadioRootDataAttributes.d.ts +44 -46
  1275. package/radio/root/RadioRootDataAttributes.js +45 -48
  1276. package/radio/root/RadioRootDataAttributes.mjs +44 -47
  1277. package/radio/utils/stateAttributesMapping.js +4 -3
  1278. package/radio/utils/stateAttributesMapping.mjs +1 -1
  1279. package/radio-group/RadioGroup.js +47 -32
  1280. package/radio-group/RadioGroup.mjs +47 -32
  1281. package/radio-group/RadioGroupContext.d.mts +0 -1
  1282. package/radio-group/RadioGroupContext.d.ts +0 -1
  1283. package/radio-group/RadioGroupDataAttributes.d.mts +4 -6
  1284. package/radio-group/RadioGroupDataAttributes.d.ts +4 -6
  1285. package/radio-group/RadioGroupDataAttributes.js +5 -8
  1286. package/radio-group/RadioGroupDataAttributes.mjs +4 -7
  1287. package/scroll-area/content/ScrollAreaContentDataAttributes.d.mts +28 -30
  1288. package/scroll-area/content/ScrollAreaContentDataAttributes.d.ts +28 -30
  1289. package/scroll-area/content/ScrollAreaContentDataAttributes.js +29 -32
  1290. package/scroll-area/content/ScrollAreaContentDataAttributes.mjs +28 -31
  1291. package/scroll-area/corner/ScrollAreaCorner.js +1 -0
  1292. package/scroll-area/corner/ScrollAreaCorner.mjs +1 -0
  1293. package/scroll-area/root/ScrollAreaRoot.js +121 -83
  1294. package/scroll-area/root/ScrollAreaRoot.mjs +118 -80
  1295. package/scroll-area/root/ScrollAreaRootContext.d.mts +1 -3
  1296. package/scroll-area/root/ScrollAreaRootContext.d.ts +1 -3
  1297. package/scroll-area/root/ScrollAreaRootCssVars.d.mts +10 -12
  1298. package/scroll-area/root/ScrollAreaRootCssVars.d.ts +10 -12
  1299. package/scroll-area/root/ScrollAreaRootCssVars.js +11 -14
  1300. package/scroll-area/root/ScrollAreaRootCssVars.mjs +10 -13
  1301. package/scroll-area/root/ScrollAreaRootDataAttributes.d.mts +28 -30
  1302. package/scroll-area/root/ScrollAreaRootDataAttributes.d.ts +28 -30
  1303. package/scroll-area/root/ScrollAreaRootDataAttributes.js +29 -32
  1304. package/scroll-area/root/ScrollAreaRootDataAttributes.mjs +28 -31
  1305. package/scroll-area/root/stateAttributes.js +11 -19
  1306. package/scroll-area/root/stateAttributes.mjs +10 -19
  1307. package/scroll-area/scrollbar/ScrollAreaScrollbar.js +66 -74
  1308. package/scroll-area/scrollbar/ScrollAreaScrollbar.mjs +64 -71
  1309. package/scroll-area/scrollbar/ScrollAreaScrollbarContext.d.mts +1 -3
  1310. package/scroll-area/scrollbar/ScrollAreaScrollbarContext.d.ts +1 -3
  1311. package/scroll-area/scrollbar/ScrollAreaScrollbarCssVars.d.mts +10 -12
  1312. package/scroll-area/scrollbar/ScrollAreaScrollbarCssVars.d.ts +10 -12
  1313. package/scroll-area/scrollbar/ScrollAreaScrollbarCssVars.js +11 -14
  1314. package/scroll-area/scrollbar/ScrollAreaScrollbarCssVars.mjs +10 -13
  1315. package/scroll-area/scrollbar/ScrollAreaScrollbarDataAttributes.d.mts +37 -39
  1316. package/scroll-area/scrollbar/ScrollAreaScrollbarDataAttributes.d.ts +37 -39
  1317. package/scroll-area/scrollbar/ScrollAreaScrollbarDataAttributes.js +38 -41
  1318. package/scroll-area/scrollbar/ScrollAreaScrollbarDataAttributes.mjs +37 -40
  1319. package/scroll-area/thumb/ScrollAreaThumb.js +10 -24
  1320. package/scroll-area/thumb/ScrollAreaThumb.mjs +10 -24
  1321. package/scroll-area/thumb/ScrollAreaThumbDataAttributes.d.mts +9 -11
  1322. package/scroll-area/thumb/ScrollAreaThumbDataAttributes.d.ts +9 -11
  1323. package/scroll-area/thumb/ScrollAreaThumbDataAttributes.js +10 -13
  1324. package/scroll-area/thumb/ScrollAreaThumbDataAttributes.mjs +9 -12
  1325. package/scroll-area/utils/getOffset.js +4 -3
  1326. package/scroll-area/utils/getOffset.mjs +4 -3
  1327. package/scroll-area/viewport/ScrollAreaViewport.js +78 -80
  1328. package/scroll-area/viewport/ScrollAreaViewport.mjs +78 -81
  1329. package/scroll-area/viewport/ScrollAreaViewportCssVars.d.mts +20 -22
  1330. package/scroll-area/viewport/ScrollAreaViewportCssVars.d.ts +20 -22
  1331. package/scroll-area/viewport/ScrollAreaViewportCssVars.js +21 -24
  1332. package/scroll-area/viewport/ScrollAreaViewportCssVars.mjs +20 -23
  1333. package/scroll-area/viewport/ScrollAreaViewportDataAttributes.d.mts +28 -30
  1334. package/scroll-area/viewport/ScrollAreaViewportDataAttributes.d.ts +28 -30
  1335. package/scroll-area/viewport/ScrollAreaViewportDataAttributes.js +29 -32
  1336. package/scroll-area/viewport/ScrollAreaViewportDataAttributes.mjs +28 -31
  1337. package/select/arrow/SelectArrow.d.mts +1 -1
  1338. package/select/arrow/SelectArrow.d.ts +1 -1
  1339. package/select/arrow/SelectArrow.js +3 -13
  1340. package/select/arrow/SelectArrow.mjs +4 -13
  1341. package/select/arrow/SelectArrowDataAttributes.d.mts +22 -24
  1342. package/select/arrow/SelectArrowDataAttributes.d.ts +22 -24
  1343. package/select/arrow/SelectArrowDataAttributes.js +23 -26
  1344. package/select/arrow/SelectArrowDataAttributes.mjs +23 -25
  1345. package/select/backdrop/SelectBackdrop.js +4 -8
  1346. package/select/backdrop/SelectBackdrop.mjs +4 -8
  1347. package/select/backdrop/SelectBackdropDataAttributes.d.mts +16 -18
  1348. package/select/backdrop/SelectBackdropDataAttributes.d.ts +16 -18
  1349. package/select/backdrop/SelectBackdropDataAttributes.js +17 -20
  1350. package/select/backdrop/SelectBackdropDataAttributes.mjs +17 -19
  1351. package/select/group-label/SelectGroupLabel.js +5 -1
  1352. package/select/group-label/SelectGroupLabel.mjs +5 -1
  1353. package/select/icon/SelectIcon.js +2 -6
  1354. package/select/icon/SelectIcon.mjs +2 -6
  1355. package/select/icon/SelectIconDataAttributes.d.mts +4 -6
  1356. package/select/icon/SelectIconDataAttributes.d.ts +4 -6
  1357. package/select/icon/SelectIconDataAttributes.js +5 -8
  1358. package/select/icon/SelectIconDataAttributes.mjs +5 -7
  1359. package/select/index.d.mts +2 -1
  1360. package/select/index.d.ts +2 -1
  1361. package/select/index.parts.d.mts +1 -1
  1362. package/select/index.parts.d.ts +1 -1
  1363. package/select/index.parts.js +2 -2
  1364. package/select/index.parts.mjs +1 -1
  1365. package/select/item/SelectItem.js +48 -60
  1366. package/select/item/SelectItem.mjs +51 -63
  1367. package/select/item/SelectItemContext.d.mts +0 -1
  1368. package/select/item/SelectItemContext.d.ts +0 -1
  1369. package/select/item/SelectItemDataAttributes.d.mts +12 -14
  1370. package/select/item/SelectItemDataAttributes.d.ts +12 -14
  1371. package/select/item/SelectItemDataAttributes.js +13 -16
  1372. package/select/item/SelectItemDataAttributes.mjs +12 -15
  1373. package/select/item-indicator/SelectItemIndicator.js +3 -2
  1374. package/select/item-indicator/SelectItemIndicator.mjs +3 -2
  1375. package/select/item-indicator/SelectItemIndicatorDataAttributes.d.mts +8 -10
  1376. package/select/item-indicator/SelectItemIndicatorDataAttributes.d.ts +8 -10
  1377. package/select/item-indicator/SelectItemIndicatorDataAttributes.js +9 -12
  1378. package/select/item-indicator/SelectItemIndicatorDataAttributes.mjs +9 -11
  1379. package/select/item-text/SelectItemText.js +7 -11
  1380. package/select/item-text/SelectItemText.mjs +7 -11
  1381. package/select/label/SelectLabel.js +5 -8
  1382. package/select/label/SelectLabel.mjs +5 -8
  1383. package/select/list/SelectList.js +10 -14
  1384. package/select/list/SelectList.mjs +11 -15
  1385. package/select/popup/SelectPopup.d.mts +1 -1
  1386. package/select/popup/SelectPopup.d.ts +1 -1
  1387. package/select/popup/SelectPopup.js +66 -95
  1388. package/select/popup/SelectPopup.mjs +67 -96
  1389. package/select/popup/SelectPopupDataAttributes.d.mts +26 -28
  1390. package/select/popup/SelectPopupDataAttributes.d.ts +26 -28
  1391. package/select/popup/SelectPopupDataAttributes.js +27 -30
  1392. package/select/popup/SelectPopupDataAttributes.mjs +27 -29
  1393. package/select/portal/SelectPortal.d.mts +7 -2
  1394. package/select/portal/SelectPortal.d.ts +7 -2
  1395. package/select/portal/SelectPortal.js +6 -14
  1396. package/select/portal/SelectPortal.mjs +6 -14
  1397. package/select/positioner/SelectPositioner.d.mts +1 -1
  1398. package/select/positioner/SelectPositioner.d.ts +1 -1
  1399. package/select/positioner/SelectPositioner.js +35 -64
  1400. package/select/positioner/SelectPositioner.mjs +37 -66
  1401. package/select/positioner/SelectPositionerContext.d.mts +1 -1
  1402. package/select/positioner/SelectPositionerContext.d.ts +1 -1
  1403. package/select/positioner/SelectPositionerCssVars.d.mts +25 -27
  1404. package/select/positioner/SelectPositionerCssVars.d.ts +25 -27
  1405. package/select/positioner/SelectPositionerCssVars.js +26 -29
  1406. package/select/positioner/SelectPositionerCssVars.mjs +25 -28
  1407. package/select/positioner/SelectPositionerDataAttributes.d.mts +22 -24
  1408. package/select/positioner/SelectPositionerDataAttributes.d.ts +22 -24
  1409. package/select/positioner/SelectPositionerDataAttributes.js +23 -26
  1410. package/select/positioner/SelectPositionerDataAttributes.mjs +23 -25
  1411. package/select/root/SelectRoot.d.mts +2 -0
  1412. package/select/root/SelectRoot.d.ts +2 -0
  1413. package/select/root/SelectRoot.js +143 -167
  1414. package/select/root/SelectRoot.mjs +146 -170
  1415. package/select/root/SelectRootContext.d.mts +10 -30
  1416. package/select/root/SelectRootContext.d.ts +10 -30
  1417. package/select/root/SelectRootContext.js +21 -6
  1418. package/select/root/SelectRootContext.mjs +20 -5
  1419. package/select/scroll-arrow/SelectScrollArrow.d.mts +1 -6
  1420. package/select/scroll-arrow/SelectScrollArrow.d.ts +1 -6
  1421. package/select/scroll-arrow/SelectScrollArrow.js +13 -28
  1422. package/select/scroll-arrow/SelectScrollArrow.mjs +13 -28
  1423. package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.d.mts +22 -24
  1424. package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.d.ts +22 -24
  1425. package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.js +23 -26
  1426. package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.mjs +23 -25
  1427. package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.d.mts +22 -24
  1428. package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.d.ts +22 -24
  1429. package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.js +23 -26
  1430. package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.mjs +23 -25
  1431. package/select/separator/SelectSeparator.d.mts +26 -0
  1432. package/select/separator/SelectSeparator.d.ts +26 -0
  1433. package/select/separator/SelectSeparator.js +15 -0
  1434. package/select/separator/SelectSeparator.mjs +10 -0
  1435. package/select/store.d.mts +32 -6
  1436. package/select/store.d.ts +32 -6
  1437. package/select/store.js +37 -35
  1438. package/select/store.mjs +38 -35
  1439. package/select/trigger/SelectTrigger.d.mts +1 -1
  1440. package/select/trigger/SelectTrigger.d.ts +1 -1
  1441. package/select/trigger/SelectTrigger.js +26 -35
  1442. package/select/trigger/SelectTrigger.mjs +28 -37
  1443. package/select/trigger/SelectTriggerDataAttributes.d.mts +53 -55
  1444. package/select/trigger/SelectTriggerDataAttributes.d.ts +53 -55
  1445. package/select/trigger/SelectTriggerDataAttributes.js +54 -57
  1446. package/select/trigger/SelectTriggerDataAttributes.mjs +54 -56
  1447. package/select/value/SelectValue.d.mts +2 -0
  1448. package/select/value/SelectValue.d.ts +2 -0
  1449. package/select/value/SelectValue.js +8 -13
  1450. package/select/value/SelectValue.mjs +8 -13
  1451. package/select/value/SelectValueDataAttributes.d.mts +4 -6
  1452. package/select/value/SelectValueDataAttributes.d.ts +4 -6
  1453. package/select/value/SelectValueDataAttributes.js +5 -8
  1454. package/select/value/SelectValueDataAttributes.mjs +4 -7
  1455. package/separator/SeparatorDataAttributes.d.mts +5 -7
  1456. package/separator/SeparatorDataAttributes.d.ts +5 -7
  1457. package/separator/SeparatorDataAttributes.js +6 -9
  1458. package/separator/SeparatorDataAttributes.mjs +5 -8
  1459. package/slider/control/SliderControl.js +62 -79
  1460. package/slider/control/SliderControl.mjs +62 -79
  1461. package/slider/control/SliderControlDataAttributes.d.mts +33 -35
  1462. package/slider/control/SliderControlDataAttributes.d.ts +33 -35
  1463. package/slider/control/SliderControlDataAttributes.js +34 -37
  1464. package/slider/control/SliderControlDataAttributes.mjs +33 -36
  1465. package/slider/indicator/SliderIndicator.js +15 -34
  1466. package/slider/indicator/SliderIndicator.mjs +15 -34
  1467. package/slider/indicator/SliderIndicatorDataAttributes.d.mts +33 -35
  1468. package/slider/indicator/SliderIndicatorDataAttributes.d.ts +33 -35
  1469. package/slider/indicator/SliderIndicatorDataAttributes.js +34 -37
  1470. package/slider/indicator/SliderIndicatorDataAttributes.mjs +33 -36
  1471. package/slider/root/SliderRoot.d.mts +5 -3
  1472. package/slider/root/SliderRoot.d.ts +5 -3
  1473. package/slider/root/SliderRoot.js +38 -49
  1474. package/slider/root/SliderRoot.mjs +38 -49
  1475. package/slider/root/SliderRootContext.d.mts +6 -4
  1476. package/slider/root/SliderRootContext.d.ts +6 -4
  1477. package/slider/root/SliderRootDataAttributes.d.mts +33 -35
  1478. package/slider/root/SliderRootDataAttributes.d.ts +33 -35
  1479. package/slider/root/SliderRootDataAttributes.js +34 -37
  1480. package/slider/root/SliderRootDataAttributes.mjs +33 -36
  1481. package/slider/root/stateAttributesMapping.js +7 -6
  1482. package/slider/root/stateAttributesMapping.mjs +7 -6
  1483. package/slider/thumb/SliderThumb.d.mts +1 -2
  1484. package/slider/thumb/SliderThumb.d.ts +1 -2
  1485. package/slider/thumb/SliderThumb.js +67 -71
  1486. package/slider/thumb/SliderThumb.mjs +66 -70
  1487. package/slider/thumb/SliderThumbDataAttributes.d.mts +37 -39
  1488. package/slider/thumb/SliderThumbDataAttributes.d.ts +37 -39
  1489. package/slider/thumb/SliderThumbDataAttributes.js +38 -41
  1490. package/slider/thumb/SliderThumbDataAttributes.mjs +37 -40
  1491. package/slider/track/SliderTrackDataAttributes.d.mts +33 -35
  1492. package/slider/track/SliderTrackDataAttributes.d.ts +33 -35
  1493. package/slider/track/SliderTrackDataAttributes.js +34 -37
  1494. package/slider/track/SliderTrackDataAttributes.mjs +33 -36
  1495. package/slider/utils/getMidpoint.d.mts +1 -2
  1496. package/slider/utils/getMidpoint.d.ts +1 -2
  1497. package/slider/utils/getMidpoint.js +2 -5
  1498. package/slider/utils/getMidpoint.mjs +2 -5
  1499. package/slider/utils/getPushedThumbValues.d.mts +4 -21
  1500. package/slider/utils/getPushedThumbValues.d.ts +4 -21
  1501. package/slider/utils/getPushedThumbValues.js +7 -16
  1502. package/slider/utils/getPushedThumbValues.mjs +8 -16
  1503. package/slider/utils/getSliderValue.js +9 -9
  1504. package/slider/utils/getSliderValue.mjs +9 -9
  1505. package/slider/utils/resolveThumbCollision.d.mts +5 -24
  1506. package/slider/utils/resolveThumbCollision.d.ts +5 -24
  1507. package/slider/utils/resolveThumbCollision.js +34 -65
  1508. package/slider/utils/resolveThumbCollision.mjs +34 -65
  1509. package/slider/utils/test-utils.d.mts +1 -11
  1510. package/slider/utils/test-utils.d.ts +1 -11
  1511. package/slider/utils/test-utils.js +1 -11
  1512. package/slider/utils/test-utils.mjs +1 -11
  1513. package/slider/utils/validateMinimumDistance.js +6 -7
  1514. package/slider/utils/validateMinimumDistance.mjs +6 -7
  1515. package/slider/value/SliderValue.js +7 -17
  1516. package/slider/value/SliderValue.mjs +7 -17
  1517. package/slider/value/SliderValueDataAttributes.d.mts +33 -35
  1518. package/slider/value/SliderValueDataAttributes.d.ts +33 -35
  1519. package/slider/value/SliderValueDataAttributes.js +34 -37
  1520. package/slider/value/SliderValueDataAttributes.mjs +33 -36
  1521. package/switch/root/SwitchRoot.js +20 -26
  1522. package/switch/root/SwitchRoot.mjs +20 -26
  1523. package/switch/root/SwitchRootDataAttributes.d.mts +44 -46
  1524. package/switch/root/SwitchRootDataAttributes.d.ts +44 -46
  1525. package/switch/root/SwitchRootDataAttributes.js +45 -48
  1526. package/switch/root/SwitchRootDataAttributes.mjs +44 -47
  1527. package/switch/stateAttributesMapping.js +4 -3
  1528. package/switch/stateAttributesMapping.mjs +1 -1
  1529. package/switch/thumb/SwitchThumbDataAttributes.d.mts +44 -46
  1530. package/switch/thumb/SwitchThumbDataAttributes.d.ts +44 -46
  1531. package/switch/thumb/SwitchThumbDataAttributes.js +45 -48
  1532. package/switch/thumb/SwitchThumbDataAttributes.mjs +44 -47
  1533. package/tabs/indicator/TabsIndicator.js +138 -33
  1534. package/tabs/indicator/TabsIndicator.mjs +132 -27
  1535. package/tabs/indicator/TabsIndicatorCssVars.d.mts +30 -32
  1536. package/tabs/indicator/TabsIndicatorCssVars.d.ts +30 -32
  1537. package/tabs/indicator/TabsIndicatorCssVars.js +31 -34
  1538. package/tabs/indicator/TabsIndicatorCssVars.mjs +30 -33
  1539. package/tabs/indicator/TabsIndicatorDataAttributes.d.mts +10 -12
  1540. package/tabs/indicator/TabsIndicatorDataAttributes.d.ts +10 -12
  1541. package/tabs/indicator/TabsIndicatorDataAttributes.js +11 -14
  1542. package/tabs/indicator/TabsIndicatorDataAttributes.mjs +10 -13
  1543. package/tabs/indicator/prehydrationScript.min.d.mts +1 -1
  1544. package/tabs/indicator/prehydrationScript.min.d.ts +1 -1
  1545. package/tabs/indicator/prehydrationScript.min.js +1 -1
  1546. package/tabs/indicator/prehydrationScript.min.mjs +1 -1
  1547. package/tabs/list/TabsList.js +1 -11
  1548. package/tabs/list/TabsList.mjs +1 -11
  1549. package/tabs/list/TabsListContext.d.mts +0 -5
  1550. package/tabs/list/TabsListContext.d.ts +0 -5
  1551. package/tabs/list/TabsListDataAttributes.d.mts +10 -12
  1552. package/tabs/list/TabsListDataAttributes.d.ts +10 -12
  1553. package/tabs/list/TabsListDataAttributes.js +11 -14
  1554. package/tabs/list/TabsListDataAttributes.mjs +10 -13
  1555. package/tabs/panel/TabsPanel.js +11 -20
  1556. package/tabs/panel/TabsPanel.mjs +10 -19
  1557. package/tabs/panel/TabsPanelDataAttributes.d.mts +26 -28
  1558. package/tabs/panel/TabsPanelDataAttributes.d.ts +26 -28
  1559. package/tabs/panel/TabsPanelDataAttributes.js +27 -30
  1560. package/tabs/panel/TabsPanelDataAttributes.mjs +27 -29
  1561. package/tabs/root/TabsRoot.js +40 -75
  1562. package/tabs/root/TabsRoot.mjs +40 -75
  1563. package/tabs/root/TabsRootContext.d.mts +4 -11
  1564. package/tabs/root/TabsRootContext.d.ts +4 -11
  1565. package/tabs/root/TabsRootDataAttributes.d.mts +10 -12
  1566. package/tabs/root/TabsRootDataAttributes.d.ts +10 -12
  1567. package/tabs/root/TabsRootDataAttributes.js +11 -14
  1568. package/tabs/root/TabsRootDataAttributes.mjs +10 -13
  1569. package/tabs/root/stateAttributesMapping.js +3 -2
  1570. package/tabs/root/stateAttributesMapping.mjs +1 -1
  1571. package/tabs/tab/TabsTab.js +42 -39
  1572. package/tabs/tab/TabsTab.mjs +42 -39
  1573. package/tabs/tab/TabsTabDataAttributes.d.mts +18 -20
  1574. package/tabs/tab/TabsTabDataAttributes.d.ts +18 -20
  1575. package/tabs/tab/TabsTabDataAttributes.js +19 -22
  1576. package/tabs/tab/TabsTabDataAttributes.mjs +18 -21
  1577. package/toast/action/ToastAction.js +2 -5
  1578. package/toast/action/ToastAction.mjs +2 -5
  1579. package/toast/action/ToastActionDataAttributes.d.mts +5 -7
  1580. package/toast/action/ToastActionDataAttributes.d.ts +5 -7
  1581. package/toast/action/ToastActionDataAttributes.js +6 -9
  1582. package/toast/action/ToastActionDataAttributes.mjs +5 -8
  1583. package/toast/arrow/ToastArrow.d.mts +1 -1
  1584. package/toast/arrow/ToastArrow.d.ts +1 -1
  1585. package/toast/arrow/ToastArrow.js +1 -2
  1586. package/toast/arrow/ToastArrow.mjs +1 -2
  1587. package/toast/arrow/ToastArrowDataAttributes.d.mts +14 -16
  1588. package/toast/arrow/ToastArrowDataAttributes.d.ts +14 -16
  1589. package/toast/arrow/ToastArrowDataAttributes.js +15 -18
  1590. package/toast/arrow/ToastArrowDataAttributes.mjs +15 -17
  1591. package/toast/close/ToastClose.js +3 -4
  1592. package/toast/close/ToastClose.mjs +3 -4
  1593. package/toast/close/ToastCloseDataAttributes.d.mts +5 -7
  1594. package/toast/close/ToastCloseDataAttributes.d.ts +5 -7
  1595. package/toast/close/ToastCloseDataAttributes.js +6 -9
  1596. package/toast/close/ToastCloseDataAttributes.mjs +5 -8
  1597. package/toast/content/ToastContent.js +3 -7
  1598. package/toast/content/ToastContent.mjs +3 -7
  1599. package/toast/content/ToastContentDataAttributes.d.mts +10 -12
  1600. package/toast/content/ToastContentDataAttributes.d.ts +10 -12
  1601. package/toast/content/ToastContentDataAttributes.js +11 -14
  1602. package/toast/content/ToastContentDataAttributes.mjs +10 -13
  1603. package/toast/createToastManager.d.mts +2 -2
  1604. package/toast/createToastManager.d.ts +2 -2
  1605. package/toast/createToastManager.js +2 -2
  1606. package/toast/createToastManager.mjs +2 -2
  1607. package/toast/description/ToastDescription.js +8 -23
  1608. package/toast/description/ToastDescription.mjs +8 -23
  1609. package/toast/description/ToastDescriptionDataAttributes.d.mts +5 -7
  1610. package/toast/description/ToastDescriptionDataAttributes.d.ts +5 -7
  1611. package/toast/description/ToastDescriptionDataAttributes.js +6 -9
  1612. package/toast/description/ToastDescriptionDataAttributes.mjs +5 -8
  1613. package/toast/portal/ToastPortal.d.mts +9 -3
  1614. package/toast/portal/ToastPortal.d.ts +9 -3
  1615. package/toast/portal/ToastPortal.js +10 -1
  1616. package/toast/portal/ToastPortal.mjs +9 -2
  1617. package/toast/positioner/ToastPositioner.d.mts +1 -1
  1618. package/toast/positioner/ToastPositioner.d.ts +1 -1
  1619. package/toast/positioner/ToastPositioner.js +5 -5
  1620. package/toast/positioner/ToastPositioner.mjs +4 -4
  1621. package/toast/positioner/ToastPositionerContext.d.mts +1 -1
  1622. package/toast/positioner/ToastPositionerContext.d.ts +1 -1
  1623. package/toast/positioner/ToastPositionerCssVars.d.mts +25 -27
  1624. package/toast/positioner/ToastPositionerCssVars.d.ts +25 -27
  1625. package/toast/positioner/ToastPositionerCssVars.js +26 -29
  1626. package/toast/positioner/ToastPositionerCssVars.mjs +25 -28
  1627. package/toast/positioner/ToastPositionerDataAttributes.d.mts +14 -16
  1628. package/toast/positioner/ToastPositionerDataAttributes.d.ts +14 -16
  1629. package/toast/positioner/ToastPositionerDataAttributes.js +15 -18
  1630. package/toast/positioner/ToastPositionerDataAttributes.mjs +15 -17
  1631. package/toast/provider/ToastProvider.js +20 -11
  1632. package/toast/provider/ToastProvider.mjs +21 -12
  1633. package/toast/root/ToastRoot.d.mts +2 -0
  1634. package/toast/root/ToastRoot.d.ts +2 -0
  1635. package/toast/root/ToastRoot.js +97 -141
  1636. package/toast/root/ToastRoot.mjs +92 -136
  1637. package/toast/root/ToastRootContext.d.mts +0 -6
  1638. package/toast/root/ToastRootContext.d.ts +0 -6
  1639. package/toast/root/ToastRootCssVars.d.mts +25 -27
  1640. package/toast/root/ToastRootCssVars.d.ts +25 -27
  1641. package/toast/root/ToastRootCssVars.js +26 -29
  1642. package/toast/root/ToastRootCssVars.mjs +25 -28
  1643. package/toast/root/ToastRootDataAttributes.d.mts +33 -35
  1644. package/toast/root/ToastRootDataAttributes.d.ts +33 -35
  1645. package/toast/root/ToastRootDataAttributes.js +34 -37
  1646. package/toast/root/ToastRootDataAttributes.mjs +34 -36
  1647. package/toast/store.d.mts +18 -23
  1648. package/toast/store.d.ts +18 -23
  1649. package/toast/store.js +59 -85
  1650. package/toast/store.mjs +61 -86
  1651. package/toast/title/ToastTitle.js +8 -23
  1652. package/toast/title/ToastTitle.mjs +8 -23
  1653. package/toast/title/ToastTitleDataAttributes.d.mts +5 -7
  1654. package/toast/title/ToastTitleDataAttributes.d.ts +5 -7
  1655. package/toast/title/ToastTitleDataAttributes.js +6 -9
  1656. package/toast/title/ToastTitleDataAttributes.mjs +5 -8
  1657. package/toast/useToastManager.d.mts +1 -1
  1658. package/toast/useToastManager.d.ts +1 -1
  1659. package/toast/useToastManager.js +1 -6
  1660. package/toast/useToastManager.mjs +2 -6
  1661. package/toast/utils/isRenderableNode.d.mts +3 -0
  1662. package/toast/utils/isRenderableNode.d.ts +3 -0
  1663. package/toast/utils/isRenderableNode.js +21 -0
  1664. package/toast/utils/isRenderableNode.mjs +13 -0
  1665. package/toast/utils/test-utils.d.mts +1 -8
  1666. package/toast/utils/test-utils.d.ts +1 -8
  1667. package/toast/utils/useToastLabelPart.d.mts +18 -0
  1668. package/toast/utils/useToastLabelPart.d.ts +18 -0
  1669. package/toast/utils/useToastLabelPart.js +52 -0
  1670. package/toast/utils/useToastLabelPart.mjs +47 -0
  1671. package/toast/viewport/ToastViewport.js +43 -78
  1672. package/toast/viewport/ToastViewport.mjs +43 -78
  1673. package/toast/viewport/ToastViewportCssVars.d.mts +5 -7
  1674. package/toast/viewport/ToastViewportCssVars.d.ts +5 -7
  1675. package/toast/viewport/ToastViewportCssVars.js +6 -9
  1676. package/toast/viewport/ToastViewportCssVars.mjs +5 -8
  1677. package/toast/viewport/ToastViewportDataAttributes.d.mts +5 -7
  1678. package/toast/viewport/ToastViewportDataAttributes.d.ts +5 -7
  1679. package/toast/viewport/ToastViewportDataAttributes.js +6 -9
  1680. package/toast/viewport/ToastViewportDataAttributes.mjs +5 -8
  1681. package/toggle/Toggle.js +2 -4
  1682. package/toggle/Toggle.mjs +2 -4
  1683. package/toggle/ToggleDataAttributes.d.mts +8 -10
  1684. package/toggle/ToggleDataAttributes.d.ts +8 -10
  1685. package/toggle/ToggleDataAttributes.js +9 -12
  1686. package/toggle/ToggleDataAttributes.mjs +8 -11
  1687. package/toggle-group/ToggleGroup.js +7 -20
  1688. package/toggle-group/ToggleGroup.mjs +7 -20
  1689. package/toggle-group/ToggleGroupContext.d.mts +1 -3
  1690. package/toggle-group/ToggleGroupContext.d.ts +1 -3
  1691. package/toggle-group/ToggleGroupContext.js +2 -8
  1692. package/toggle-group/ToggleGroupContext.mjs +2 -7
  1693. package/toggle-group/ToggleGroupDataAttributes.d.mts +13 -15
  1694. package/toggle-group/ToggleGroupDataAttributes.d.ts +13 -15
  1695. package/toggle-group/ToggleGroupDataAttributes.js +14 -17
  1696. package/toggle-group/ToggleGroupDataAttributes.mjs +13 -16
  1697. package/toolbar/button/ToolbarButton.js +2 -2
  1698. package/toolbar/button/ToolbarButton.mjs +2 -2
  1699. package/toolbar/button/ToolbarButtonDataAttributes.d.mts +13 -15
  1700. package/toolbar/button/ToolbarButtonDataAttributes.d.ts +13 -15
  1701. package/toolbar/button/ToolbarButtonDataAttributes.js +14 -17
  1702. package/toolbar/button/ToolbarButtonDataAttributes.mjs +13 -16
  1703. package/toolbar/group/ToolbarGroupContext.d.mts +1 -2
  1704. package/toolbar/group/ToolbarGroupContext.d.ts +1 -2
  1705. package/toolbar/group/ToolbarGroupContext.js +2 -8
  1706. package/toolbar/group/ToolbarGroupContext.mjs +2 -7
  1707. package/toolbar/group/ToolbarGroupDataAttributes.d.mts +9 -11
  1708. package/toolbar/group/ToolbarGroupDataAttributes.d.ts +9 -11
  1709. package/toolbar/group/ToolbarGroupDataAttributes.js +10 -13
  1710. package/toolbar/group/ToolbarGroupDataAttributes.mjs +9 -12
  1711. package/toolbar/input/ToolbarInput.js +8 -11
  1712. package/toolbar/input/ToolbarInput.mjs +8 -11
  1713. package/toolbar/input/ToolbarInputDataAttributes.d.mts +13 -15
  1714. package/toolbar/input/ToolbarInputDataAttributes.d.ts +13 -15
  1715. package/toolbar/input/ToolbarInputDataAttributes.js +14 -17
  1716. package/toolbar/input/ToolbarInputDataAttributes.mjs +13 -16
  1717. package/toolbar/link/ToolbarLink.d.mts +1 -1
  1718. package/toolbar/link/ToolbarLink.d.ts +1 -1
  1719. package/toolbar/link/ToolbarLinkDataAttributes.d.mts +5 -7
  1720. package/toolbar/link/ToolbarLinkDataAttributes.d.ts +5 -7
  1721. package/toolbar/link/ToolbarLinkDataAttributes.js +6 -9
  1722. package/toolbar/link/ToolbarLinkDataAttributes.mjs +5 -8
  1723. package/toolbar/root/ToolbarRoot.js +4 -5
  1724. package/toolbar/root/ToolbarRoot.mjs +4 -5
  1725. package/toolbar/root/ToolbarRootContext.d.mts +0 -3
  1726. package/toolbar/root/ToolbarRootContext.d.ts +0 -3
  1727. package/toolbar/root/ToolbarRootDataAttributes.d.mts +9 -11
  1728. package/toolbar/root/ToolbarRootDataAttributes.d.ts +9 -11
  1729. package/toolbar/root/ToolbarRootDataAttributes.js +10 -13
  1730. package/toolbar/root/ToolbarRootDataAttributes.mjs +9 -12
  1731. package/toolbar/separator/ToolbarSeparator.d.mts +2 -2
  1732. package/toolbar/separator/ToolbarSeparator.d.ts +2 -2
  1733. package/toolbar/separator/ToolbarSeparator.js +1 -4
  1734. package/toolbar/separator/ToolbarSeparator.mjs +3 -5
  1735. package/toolbar/separator/ToolbarSeparatorDataAttributes.d.mts +5 -7
  1736. package/toolbar/separator/ToolbarSeparatorDataAttributes.d.ts +5 -7
  1737. package/toolbar/separator/ToolbarSeparatorDataAttributes.js +6 -9
  1738. package/toolbar/separator/ToolbarSeparatorDataAttributes.mjs +5 -8
  1739. package/tooltip/arrow/TooltipArrow.d.mts +1 -1
  1740. package/tooltip/arrow/TooltipArrow.d.ts +1 -1
  1741. package/tooltip/arrow/TooltipArrowDataAttributes.d.mts +27 -29
  1742. package/tooltip/arrow/TooltipArrowDataAttributes.d.ts +27 -29
  1743. package/tooltip/arrow/TooltipArrowDataAttributes.js +28 -31
  1744. package/tooltip/arrow/TooltipArrowDataAttributes.mjs +28 -30
  1745. package/tooltip/popup/TooltipPopup.d.mts +1 -1
  1746. package/tooltip/popup/TooltipPopup.d.ts +1 -1
  1747. package/tooltip/popup/TooltipPopup.js +4 -9
  1748. package/tooltip/popup/TooltipPopup.mjs +5 -9
  1749. package/tooltip/popup/TooltipPopupDataAttributes.d.mts +31 -33
  1750. package/tooltip/popup/TooltipPopupDataAttributes.d.ts +31 -33
  1751. package/tooltip/popup/TooltipPopupDataAttributes.js +32 -35
  1752. package/tooltip/popup/TooltipPopupDataAttributes.mjs +32 -34
  1753. package/tooltip/portal/TooltipPortal.d.mts +6 -2
  1754. package/tooltip/portal/TooltipPortal.d.ts +6 -2
  1755. package/tooltip/portal/TooltipPortal.mjs +1 -2
  1756. package/tooltip/positioner/TooltipPositioner.d.mts +1 -1
  1757. package/tooltip/positioner/TooltipPositioner.d.ts +1 -1
  1758. package/tooltip/positioner/TooltipPositioner.js +3 -4
  1759. package/tooltip/positioner/TooltipPositioner.mjs +3 -4
  1760. package/tooltip/positioner/TooltipPositionerContext.d.mts +1 -1
  1761. package/tooltip/positioner/TooltipPositionerContext.d.ts +1 -1
  1762. package/tooltip/positioner/TooltipPositionerCssVars.d.mts +37 -27
  1763. package/tooltip/positioner/TooltipPositionerCssVars.d.ts +37 -27
  1764. package/tooltip/positioner/TooltipPositionerCssVars.js +38 -29
  1765. package/tooltip/positioner/TooltipPositionerCssVars.mjs +37 -28
  1766. package/tooltip/positioner/TooltipPositionerDataAttributes.d.mts +22 -24
  1767. package/tooltip/positioner/TooltipPositionerDataAttributes.d.ts +22 -24
  1768. package/tooltip/positioner/TooltipPositionerDataAttributes.js +23 -26
  1769. package/tooltip/positioner/TooltipPositionerDataAttributes.mjs +23 -25
  1770. package/tooltip/provider/TooltipProvider.d.mts +1 -1
  1771. package/tooltip/provider/TooltipProvider.d.ts +1 -1
  1772. package/tooltip/provider/TooltipProvider.js +1 -5
  1773. package/tooltip/provider/TooltipProvider.mjs +1 -5
  1774. package/tooltip/provider/TooltipProviderContext.d.mts +5 -6
  1775. package/tooltip/provider/TooltipProviderContext.d.ts +5 -6
  1776. package/tooltip/provider/TooltipProviderContext.js +3 -0
  1777. package/tooltip/provider/TooltipProviderContext.mjs +4 -0
  1778. package/tooltip/root/TooltipRoot.d.mts +1 -1
  1779. package/tooltip/root/TooltipRoot.d.ts +1 -1
  1780. package/tooltip/root/TooltipRoot.js +18 -17
  1781. package/tooltip/root/TooltipRoot.mjs +19 -18
  1782. package/tooltip/store/TooltipHandle.d.mts +15 -12
  1783. package/tooltip/store/TooltipHandle.d.ts +15 -12
  1784. package/tooltip/store/TooltipHandle.js +18 -23
  1785. package/tooltip/store/TooltipHandle.mjs +19 -23
  1786. package/tooltip/store/TooltipStore.d.mts +24 -6
  1787. package/tooltip/store/TooltipStore.d.ts +24 -6
  1788. package/tooltip/store/TooltipStore.js +54 -32
  1789. package/tooltip/store/TooltipStore.mjs +54 -33
  1790. package/tooltip/trigger/TooltipTrigger.d.mts +1 -1
  1791. package/tooltip/trigger/TooltipTrigger.d.ts +1 -1
  1792. package/tooltip/trigger/TooltipTrigger.js +18 -26
  1793. package/tooltip/trigger/TooltipTrigger.mjs +18 -26
  1794. package/tooltip/trigger/TooltipTriggerDataAttributes.d.mts +8 -10
  1795. package/tooltip/trigger/TooltipTriggerDataAttributes.d.ts +8 -10
  1796. package/tooltip/trigger/TooltipTriggerDataAttributes.js +9 -12
  1797. package/tooltip/trigger/TooltipTriggerDataAttributes.mjs +9 -11
  1798. package/tooltip/viewport/TooltipViewport.js +1 -9
  1799. package/tooltip/viewport/TooltipViewport.mjs +2 -9
  1800. package/tooltip/viewport/TooltipViewportCssVars.d.mts +12 -14
  1801. package/tooltip/viewport/TooltipViewportCssVars.d.ts +12 -14
  1802. package/tooltip/viewport/TooltipViewportCssVars.js +13 -16
  1803. package/tooltip/viewport/TooltipViewportCssVars.mjs +12 -15
  1804. package/tooltip/viewport/TooltipViewportDataAttributes.d.mts +24 -26
  1805. package/tooltip/viewport/TooltipViewportDataAttributes.d.ts +24 -26
  1806. package/tooltip/viewport/TooltipViewportDataAttributes.js +25 -28
  1807. package/tooltip/viewport/TooltipViewportDataAttributes.mjs +24 -27
  1808. package/utils/CommonPopupCssVars.d.mts +12 -0
  1809. package/utils/CommonPopupCssVars.d.ts +12 -0
  1810. package/utils/CommonPopupCssVars.js +18 -0
  1811. package/utils/CommonPopupCssVars.mjs +12 -0
  1812. package/utils/CommonPopupDataAttributes.d.mts +30 -0
  1813. package/utils/CommonPopupDataAttributes.d.ts +30 -0
  1814. package/utils/CommonPopupDataAttributes.js +44 -0
  1815. package/utils/CommonPopupDataAttributes.mjs +38 -0
  1816. package/utils/CommonPositionerCssVars.d.mts +37 -0
  1817. package/utils/CommonPositionerCssVars.d.ts +37 -0
  1818. package/utils/CommonPositionerCssVars.js +43 -0
  1819. package/utils/CommonPositionerCssVars.mjs +37 -0
  1820. package/utils/CommonTriggerDataAttributes.d.mts +8 -0
  1821. package/utils/CommonTriggerDataAttributes.d.ts +8 -0
  1822. package/utils/CommonTriggerDataAttributes.js +15 -0
  1823. package/utils/CommonTriggerDataAttributes.mjs +9 -0
  1824. package/utils/CommonViewportDataAttributes.d.mts +7 -0
  1825. package/utils/CommonViewportDataAttributes.d.ts +7 -0
  1826. package/utils/CommonViewportDataAttributes.js +13 -0
  1827. package/utils/CommonViewportDataAttributes.mjs +7 -0
  1828. package/utils/FloatingPortalLite.d.mts +7 -9
  1829. package/utils/FloatingPortalLite.d.ts +7 -9
  1830. package/utils/FloatingPortalLite.js +4 -4
  1831. package/utils/FloatingPortalLite.mjs +4 -5
  1832. package/utils/FocusGuard.d.mts +1 -5
  1833. package/utils/FocusGuard.d.ts +1 -5
  1834. package/utils/InternalBackdrop.d.mts +0 -4
  1835. package/utils/InternalBackdrop.d.ts +0 -4
  1836. package/utils/NullStore.d.mts +15 -0
  1837. package/utils/NullStore.d.ts +15 -0
  1838. package/utils/NullStore.js +23 -0
  1839. package/utils/NullStore.mjs +16 -0
  1840. package/utils/adaptiveOriginConstants.d.mts +8 -0
  1841. package/utils/adaptiveOriginConstants.d.ts +8 -0
  1842. package/utils/adaptiveOriginConstants.js +14 -0
  1843. package/utils/adaptiveOriginConstants.mjs +8 -0
  1844. package/utils/adaptiveOriginMiddleware.d.mts +0 -4
  1845. package/utils/adaptiveOriginMiddleware.d.ts +0 -4
  1846. package/utils/adaptiveOriginMiddleware.js +5 -8
  1847. package/utils/adaptiveOriginMiddleware.mjs +1 -4
  1848. package/utils/closePart.d.mts +1 -4
  1849. package/utils/closePart.d.ts +1 -4
  1850. package/utils/closePart.js +2 -13
  1851. package/utils/closePart.mjs +1 -12
  1852. package/utils/collapsibleOpenStateMapping.js +6 -5
  1853. package/utils/collapsibleOpenStateMapping.mjs +2 -2
  1854. package/utils/dispatchClickWithModifiers.d.mts +21 -0
  1855. package/utils/dispatchClickWithModifiers.d.ts +21 -0
  1856. package/utils/dispatchClickWithModifiers.js +30 -0
  1857. package/utils/dispatchClickWithModifiers.mjs +24 -0
  1858. package/utils/getElementAtPoint.d.mts +3 -1
  1859. package/utils/getElementAtPoint.d.ts +3 -1
  1860. package/utils/getElementAtPoint.js +5 -2
  1861. package/utils/getElementAtPoint.mjs +5 -2
  1862. package/utils/getElementTransform.d.mts +12 -0
  1863. package/utils/getElementTransform.d.ts +12 -0
  1864. package/utils/getElementTransform.js +40 -0
  1865. package/utils/getElementTransform.mjs +35 -0
  1866. package/utils/getPseudoElementBounds.d.mts +5 -0
  1867. package/utils/getPseudoElementBounds.d.ts +5 -0
  1868. package/utils/getPseudoElementBounds.js +14 -0
  1869. package/utils/getPseudoElementBounds.mjs +13 -0
  1870. package/utils/hideMiddleware.js +7 -4
  1871. package/utils/hideMiddleware.mjs +7 -4
  1872. package/utils/listbox-separator/ListboxSeparator.d.mts +18 -0
  1873. package/utils/listbox-separator/ListboxSeparator.d.ts +18 -0
  1874. package/utils/listbox-separator/ListboxSeparator.js +36 -0
  1875. package/utils/listbox-separator/ListboxSeparator.mjs +31 -0
  1876. package/utils/popupStateMapping.d.mts +15 -42
  1877. package/utils/popupStateMapping.d.ts +15 -42
  1878. package/utils/popupStateMapping.js +10 -45
  1879. package/utils/popupStateMapping.mjs +8 -45
  1880. package/utils/popups/index.d.mts +3 -1
  1881. package/utils/popups/index.d.ts +3 -1
  1882. package/utils/popups/index.js +22 -0
  1883. package/utils/popups/index.mjs +3 -1
  1884. package/utils/popups/popupHandle.d.mts +113 -0
  1885. package/utils/popups/popupHandle.d.ts +113 -0
  1886. package/utils/popups/popupHandle.js +229 -0
  1887. package/utils/popups/popupHandle.mjs +222 -0
  1888. package/utils/popups/popupStoreUtils.d.mts +73 -21
  1889. package/utils/popups/popupStoreUtils.d.ts +73 -21
  1890. package/utils/popups/popupStoreUtils.js +184 -92
  1891. package/utils/popups/popupStoreUtils.mjs +181 -89
  1892. package/utils/popups/popupTriggerMap.d.mts +3 -2
  1893. package/utils/popups/popupTriggerMap.d.ts +3 -2
  1894. package/utils/popups/popupTriggerMap.js +48 -21
  1895. package/utils/popups/popupTriggerMap.mjs +48 -21
  1896. package/utils/popups/store.d.mts +21 -5
  1897. package/utils/popups/store.d.ts +21 -5
  1898. package/utils/popups/store.js +46 -39
  1899. package/utils/popups/store.mjs +46 -38
  1900. package/utils/popups/usePopupHandleStore.d.mts +12 -0
  1901. package/utils/popups/usePopupHandleStore.d.ts +12 -0
  1902. package/utils/popups/usePopupHandleStore.js +33 -0
  1903. package/utils/popups/usePopupHandleStore.mjs +27 -0
  1904. package/utils/scrollEdges.js +1 -1
  1905. package/utils/scrollEdges.mjs +1 -1
  1906. package/utils/scrollable.d.mts +2 -0
  1907. package/utils/scrollable.d.ts +2 -0
  1908. package/utils/scrollable.js +20 -12
  1909. package/utils/scrollable.mjs +18 -12
  1910. package/utils/styles.d.mts +1 -1
  1911. package/utils/styles.d.ts +1 -1
  1912. package/utils/usePopupAutoResize.d.mts +1 -1
  1913. package/utils/usePopupAutoResize.d.ts +1 -1
  1914. package/utils/usePopupAutoResize.js +25 -26
  1915. package/utils/usePopupAutoResize.mjs +26 -26
  1916. package/utils/usePopupViewport.d.mts +5 -15
  1917. package/utils/usePopupViewport.d.ts +5 -15
  1918. package/utils/usePopupViewport.js +50 -17
  1919. package/utils/usePopupViewport.mjs +49 -17
  1920. package/utils/usePositioner.js +1 -1
  1921. package/utils/usePositioner.mjs +1 -1
  1922. package/utils/useRegisteredLabelId.d.mts +2 -1
  1923. package/utils/useRegisteredLabelId.d.ts +2 -1
  1924. package/utils/useRegisteredLabelId.js +1 -1
  1925. package/utils/useRegisteredLabelId.mjs +1 -1
  1926. package/utils/useSwipeDismiss.d.mts +0 -5
  1927. package/utils/useSwipeDismiss.d.ts +0 -5
  1928. package/utils/useSwipeDismiss.js +86 -146
  1929. package/utils/useSwipeDismiss.mjs +86 -145
  1930. package/internals/areArraysEqual.d.mts +0 -3
  1931. package/internals/areArraysEqual.d.ts +0 -3
  1932. package/internals/areArraysEqual.js +0 -9
  1933. package/internals/areArraysEqual.mjs +0 -3
  1934. package/internals/clamp.d.mts +0 -1
  1935. package/internals/clamp.d.ts +0 -1
  1936. package/internals/clamp.js +0 -9
  1937. package/internals/clamp.mjs +0 -3
  1938. package/internals/shadowDom.d.mts +0 -3
  1939. package/internals/shadowDom.d.ts +0 -3
  1940. package/internals/shadowDom.js +0 -48
  1941. package/internals/shadowDom.mjs +0 -40
  1942. package/number-field/root/useNumberFieldButton.d.mts +0 -21
  1943. package/number-field/root/useNumberFieldButton.d.ts +0 -21
  1944. package/number-field/root/useNumberFieldButton.js +0 -135
  1945. package/number-field/root/useNumberFieldButton.mjs +0 -130
  1946. package/number-field/utils/subscribeToVisualViewportResize.d.mts +0 -1
  1947. package/number-field/utils/subscribeToVisualViewportResize.d.ts +0 -1
  1948. package/number-field/utils/subscribeToVisualViewportResize.js +0 -23
  1949. package/number-field/utils/subscribeToVisualViewportResize.mjs +0 -18
  1950. package/select/portal/SelectPortalContext.d.mts +0 -3
  1951. package/select/portal/SelectPortalContext.d.ts +0 -3
  1952. package/select/portal/SelectPortalContext.js +0 -21
  1953. package/select/portal/SelectPortalContext.mjs +0 -13
  1954. package/slider/utils/replaceArrayItemAtIndex.d.mts +0 -1
  1955. package/slider/utils/replaceArrayItemAtIndex.d.ts +0 -1
  1956. package/slider/utils/replaceArrayItemAtIndex.js +0 -12
  1957. package/slider/utils/replaceArrayItemAtIndex.mjs +0 -6
  1958. package/slider/utils/valueArrayToPercentages.d.mts +0 -1
  1959. package/slider/utils/valueArrayToPercentages.d.ts +0 -1
  1960. package/slider/utils/valueArrayToPercentages.js +0 -15
  1961. package/slider/utils/valueArrayToPercentages.mjs +0 -9
  1962. package/utils/formatNumber.d.mts +0 -4
  1963. package/utils/formatNumber.d.ts +0 -4
  1964. package/utils/formatNumber.js +0 -41
  1965. package/utils/formatNumber.mjs +0 -32
  1966. package/utils/stringifyLocale.d.mts +0 -1
  1967. package/utils/stringifyLocale.d.ts +0 -1
  1968. package/utils/stringifyLocale.js +0 -15
  1969. package/utils/stringifyLocale.mjs +0 -9
  1970. /package/drawer/content/{DrawerContentDataAttributes.d.mts → drawerContentAttribute.d.mts} +0 -0
  1971. /package/drawer/content/{DrawerContentDataAttributes.d.ts → drawerContentAttribute.d.ts} +0 -0
  1972. /package/drawer/content/{DrawerContentDataAttributes.js → drawerContentAttribute.js} +0 -0
  1973. /package/drawer/content/{DrawerContentDataAttributes.mjs → drawerContentAttribute.mjs} +0 -0
@@ -325,73 +325,417 @@ It's also common to use `onOpenChange` if your app needs to do something when th
325
325
 
326
326
  In order to open a dialog using a menu, control the dialog state and open it imperatively using the `onClick` handler on the menu item.
327
327
 
328
- ```tsx title="Connecting a dialog to a menu"
328
+ ## Demo
329
+
330
+ ### Tailwind
331
+
332
+ This example shows how to implement the component using Tailwind CSS.
333
+
334
+ ```tsx
335
+ /* index.tsx */
336
+ 'use client';
329
337
  import * as React from 'react';
330
338
  import { Dialog } from '@base-ui/react/dialog';
331
339
  import { Menu } from '@base-ui/react/menu';
332
340
 
333
- function ExampleMenu() {
341
+ export default function ExampleDialog() {
334
342
  const [dialogOpen, setDialogOpen] = React.useState(false);
335
343
 
336
344
  return (
337
345
  <React.Fragment>
338
346
  <Menu.Root>
339
- <Menu.Trigger>Open menu</Menu.Trigger>
347
+ <Menu.Trigger className={buttonClass}>
348
+ Playlist <CaretDownIcon />
349
+ </Menu.Trigger>
340
350
  <Menu.Portal>
341
- <Menu.Positioner>
342
- <Menu.Popup>
343
- {/* @highlight-start */}
351
+ <Menu.Positioner className="outline-hidden" sideOffset={8} align="start">
352
+ <Menu.Popup className="relative origin-[var(--transform-origin)] border border-neutral-950 bg-white py-1 text-neutral-950 shadow-[0.25rem_0.25rem_0] shadow-black/12 outline-hidden transition-[scale,opacity] duration-100 ease-out data-ending-style:scale-[0.98] data-ending-style:opacity-0 data-starting-style:scale-[0.98] data-starting-style:opacity-0 dark:border-white dark:bg-neutral-950 dark:text-white dark:shadow-none">
353
+ <Menu.Item className={itemClass}>Play</Menu.Item>
354
+ <Menu.Item className={itemClass}>Share</Menu.Item>
355
+ <Menu.Separator className="mx-1 my-1 h-px bg-neutral-950 dark:bg-white" />
344
356
  {/* Open the dialog when the menu item is clicked */}
345
- <Menu.Item onClick={() => setDialogOpen(true)}>Open dialog</Menu.Item>
346
- {/* @highlight-end */}
357
+ <Menu.Item className={itemClass} onClick={() => setDialogOpen(true)}>
358
+ Details…
359
+ </Menu.Item>
347
360
  </Menu.Popup>
348
361
  </Menu.Positioner>
349
362
  </Menu.Portal>
350
363
  </Menu.Root>
351
364
 
352
- {/* @highlight-start */}
353
365
  {/* Control the dialog state */}
354
366
  <Dialog.Root open={dialogOpen} onOpenChange={setDialogOpen}>
355
- {/* @highlight-end */}
356
367
  <Dialog.Portal>
357
- <Dialog.Backdrop />
358
- <Dialog.Popup>
359
- {/* prettier-ignore */}
360
- {/* Rest of the dialog */}
368
+ <Dialog.Backdrop className="fixed inset-0 min-h-dvh bg-black opacity-20 transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 dark:opacity-50 supports-[-webkit-touch-callout:none]:absolute" />
369
+ <Dialog.Popup className="fixed top-1/2 left-1/2 -mt-8 flex w-96 max-w-[calc(100vw-3rem)] -translate-x-1/2 -translate-y-1/2 flex-col gap-4 bg-white dark:bg-neutral-950 p-4 text-neutral-950 dark:text-white border border-neutral-950 dark:border-white shadow-[0.25rem_0.25rem_0] shadow-black/12 dark:shadow-none transition-[scale,opacity] duration-100 ease-out data-ending-style:scale-[0.98] data-ending-style:opacity-0 data-starting-style:scale-[0.98] data-starting-style:opacity-0">
370
+ <div className="flex flex-col gap-1">
371
+ <Dialog.Title className="text-base font-bold">Playlist details</Dialog.Title>
372
+ <Dialog.Description className="text-sm text-neutral-600 dark:text-neutral-400">
373
+ This playlist contains 24 songs and was last updated today.
374
+ </Dialog.Description>
375
+ </div>
376
+ <div className="flex justify-end gap-3">
377
+ <Dialog.Close className={buttonClass}>Close</Dialog.Close>
378
+ </div>
361
379
  </Dialog.Popup>
362
380
  </Dialog.Portal>
363
381
  </Dialog.Root>
364
382
  </React.Fragment>
365
383
  );
366
384
  }
385
+
386
+ const buttonClass =
387
+ 'flex h-8 items-center justify-center gap-1.5 border border-neutral-950 bg-white px-3 text-sm leading-none whitespace-nowrap font-normal text-neutral-950 select-none hover:not-data-disabled:bg-neutral-100 active:not-data-disabled:bg-neutral-200 data-pressed:bg-neutral-100 dark:border-white dark:bg-neutral-950 dark:text-white dark:hover:not-data-disabled:bg-neutral-800 dark:active:not-data-disabled:bg-neutral-700 dark:data-pressed:bg-neutral-800 focus-visible:outline-2 focus-visible:-outline-offset-1 focus-visible:outline-neutral-950 dark:focus-visible:outline-white';
388
+
389
+ const itemClass =
390
+ "flex cursor-default py-2 pr-8 pl-4 text-sm leading-4 outline-hidden select-none data-highlighted:relative data-highlighted:z-0 data-highlighted:text-white data-highlighted:before:absolute data-highlighted:before:inset-x-1 data-highlighted:before:inset-y-0 data-highlighted:before:z-[-1] data-highlighted:before:bg-neutral-950 data-highlighted:before:content-[''] dark:data-highlighted:text-neutral-950 dark:data-highlighted:before:bg-white";
391
+
392
+ function CaretDownIcon(props: React.ComponentProps<'svg'>) {
393
+ return (
394
+ <svg
395
+ width="16"
396
+ height="16"
397
+ viewBox="0 0 16 16"
398
+ fill="currentColor"
399
+ {...props}
400
+ style={{ display: 'block', ...props.style }}
401
+ >
402
+ <path d="M12 6H4l4 4.5z" />
403
+ </svg>
404
+ );
405
+ }
367
406
  ```
368
407
 
369
- ### Nested dialogs
408
+ ### CSS Modules
370
409
 
371
- You can nest dialogs within one another normally.
410
+ This example shows how to implement the component using CSS Modules.
372
411
 
373
- Use the `[data-nested-dialog-open]` selector and the `var(--nested-dialogs)` CSS variable to customize the styling of the parent dialog. Backdrops of the child dialogs won't be rendered so that you can present the parent dialog in a clean way behind the one on top of it.
412
+ ```css
413
+ /* index.module.css */
414
+ .Button {
415
+ box-sizing: border-box;
416
+ display: flex;
417
+ align-items: center;
418
+ justify-content: center;
419
+ gap: 0.375rem;
420
+ height: 2rem;
421
+ padding: 0 0.75rem;
422
+ margin: 0;
423
+ border: 1px solid oklch(14.5% 0 0deg);
424
+ background-color: white;
425
+ font-family: inherit;
426
+ font-size: 0.875rem;
427
+ font-weight: 400;
428
+ line-height: 1;
429
+ white-space: nowrap;
430
+ color: oklch(14.5% 0 0deg);
431
+ -webkit-user-select: none;
432
+ user-select: none;
374
433
 
375
- ## Demo
434
+ @media (prefers-color-scheme: dark) {
435
+ border: 1px solid white;
436
+ background-color: oklch(14.5% 0 0deg);
437
+ color: white;
438
+ }
376
439
 
377
- ### Tailwind
440
+ @media (hover: hover) {
441
+ &:hover:not([data-disabled]) {
442
+ background-color: oklch(97% 0 0deg);
378
443
 
379
- This example shows how to implement the component using Tailwind CSS.
444
+ @media (prefers-color-scheme: dark) {
445
+ background-color: oklch(26.9% 0 0deg);
446
+ }
447
+ }
448
+ }
449
+
450
+ &:active:not([data-disabled]) {
451
+ background-color: oklch(92.2% 0 0deg);
452
+
453
+ @media (prefers-color-scheme: dark) {
454
+ background-color: oklch(37.1% 0 0deg);
455
+ }
456
+ }
457
+
458
+ &[data-pressed] {
459
+ background-color: oklch(97% 0 0deg);
460
+
461
+ @media (prefers-color-scheme: dark) {
462
+ background-color: oklch(26.9% 0 0deg);
463
+ }
464
+ }
465
+
466
+ &:focus-visible {
467
+ outline: 2px solid oklch(14.5% 0 0deg);
468
+ outline-offset: -1px;
469
+
470
+ @media (prefers-color-scheme: dark) {
471
+ outline-color: white;
472
+ }
473
+ }
474
+ }
475
+
476
+ .Positioner {
477
+ outline: 0;
478
+ }
479
+
480
+ .MenuPopup {
481
+ box-sizing: border-box;
482
+ position: relative;
483
+ outline: 0;
484
+ padding-block: 0.25rem;
485
+ border: 1px solid oklch(14.5% 0 0deg);
486
+ border-radius: 0;
487
+ background-color: white;
488
+ color: oklch(14.5% 0 0deg);
489
+ box-shadow: 0.25rem 0.25rem 0 rgb(0 0 0 / 12%);
490
+ transform-origin: var(--transform-origin);
491
+ transition:
492
+ transform 100ms ease-out,
493
+ opacity 100ms ease-out;
494
+
495
+ @media (prefers-color-scheme: dark) {
496
+ border: 1px solid white;
497
+ background-color: oklch(14.5% 0 0deg);
498
+ color: white;
499
+ box-shadow: none;
500
+ }
501
+
502
+ &[data-starting-style],
503
+ &[data-ending-style] {
504
+ opacity: 0;
505
+ transform: scale(0.98);
506
+ }
507
+ }
508
+
509
+ .MenuItem {
510
+ outline: 0;
511
+ cursor: default;
512
+ -webkit-user-select: none;
513
+ user-select: none;
514
+ padding-block: 0.5rem;
515
+ padding-left: 1rem;
516
+ padding-right: 2rem;
517
+ display: flex;
518
+ font-size: 0.875rem;
519
+ line-height: 1rem;
520
+
521
+ &[data-highlighted] {
522
+ z-index: 0;
523
+ position: relative;
524
+ color: white;
525
+
526
+ @media (prefers-color-scheme: dark) {
527
+ color: oklch(14.5% 0 0deg);
528
+ }
529
+ }
530
+
531
+ &[data-highlighted]::before {
532
+ content: '';
533
+ z-index: -1;
534
+ position: absolute;
535
+ inset-block: 0;
536
+ inset-inline: 0.25rem;
537
+ background-color: oklch(14.5% 0 0deg);
538
+
539
+ @media (prefers-color-scheme: dark) {
540
+ background-color: white;
541
+ }
542
+ }
543
+ }
544
+
545
+ .Separator {
546
+ margin: 0.25rem;
547
+ height: 1px;
548
+ background-color: oklch(14.5% 0 0deg);
549
+
550
+ @media (prefers-color-scheme: dark) {
551
+ background-color: white;
552
+ }
553
+ }
554
+
555
+ .Backdrop {
556
+ position: fixed;
557
+ min-height: 100dvh;
558
+ inset: 0;
559
+ background-color: black;
560
+ opacity: 0.2;
561
+ transition: opacity 150ms;
562
+
563
+ /* iOS 26+: Ensure the backdrop covers the entire visible viewport. */
564
+ @supports (-webkit-touch-callout: none) {
565
+ position: absolute;
566
+ }
567
+
568
+ @media (prefers-color-scheme: dark) {
569
+ opacity: 0.5;
570
+ }
571
+
572
+ &[data-starting-style],
573
+ &[data-ending-style] {
574
+ opacity: 0;
575
+ }
576
+ }
577
+
578
+ .DialogPopup {
579
+ box-sizing: border-box;
580
+ display: flex;
581
+ flex-direction: column;
582
+ gap: 1rem;
583
+ position: fixed;
584
+ top: 50%;
585
+ left: 50%;
586
+ transform: translate(-50%, -50%);
587
+ width: 24rem;
588
+ max-width: calc(100vw - 3rem);
589
+ margin-top: -2rem;
590
+ padding: 1rem;
591
+ border: 1px solid oklch(14.5% 0 0deg);
592
+ background-color: white;
593
+ color: oklch(14.5% 0 0deg);
594
+ box-shadow: 0.25rem 0.25rem 0 rgb(0 0 0 / 12%);
595
+ transition:
596
+ transform 100ms ease-out,
597
+ opacity 100ms ease-out;
598
+
599
+ @media (prefers-color-scheme: dark) {
600
+ border: 1px solid white;
601
+ background-color: oklch(14.5% 0 0deg);
602
+ color: white;
603
+ box-shadow: none;
604
+ }
605
+
606
+ &[data-starting-style],
607
+ &[data-ending-style] {
608
+ opacity: 0;
609
+ transform: translate(-50%, -50%) scale(0.98);
610
+ }
611
+ }
612
+
613
+ .Intro {
614
+ display: flex;
615
+ flex-direction: column;
616
+ gap: 0.25rem;
617
+ }
618
+
619
+ .Title {
620
+ margin: 0;
621
+ font-size: 1rem;
622
+ line-height: 1.5rem;
623
+ font-weight: 700;
624
+ }
625
+
626
+ .Description {
627
+ margin: 0;
628
+ font-size: 0.875rem;
629
+ line-height: 1.25rem;
630
+ color: oklch(43.9% 0 0deg);
631
+
632
+ @media (prefers-color-scheme: dark) {
633
+ color: oklch(70.8% 0 0deg);
634
+ }
635
+ }
636
+
637
+ .Actions {
638
+ display: flex;
639
+ justify-content: end;
640
+ gap: 0.75rem;
641
+ }
642
+ ```
380
643
 
381
644
  ```tsx
382
645
  /* index.tsx */
646
+ 'use client';
647
+ import * as React from 'react';
383
648
  import { Dialog } from '@base-ui/react/dialog';
649
+ import { Menu } from '@base-ui/react/menu';
650
+ import styles from './index.module.css';
384
651
 
385
652
  export default function ExampleDialog() {
653
+ const [dialogOpen, setDialogOpen] = React.useState(false);
654
+
386
655
  return (
387
- <Dialog.Root>
388
- <Dialog.Trigger className="flex h-8 items-center justify-center gap-2 border border-neutral-950 dark:border-white bg-white dark:bg-neutral-950 px-3 text-sm leading-none whitespace-nowrap font-normal text-neutral-950 dark:text-white select-none hover:not-data-disabled:bg-neutral-100 dark:hover:not-data-disabled:bg-neutral-800 active:not-data-disabled:bg-neutral-200 dark:active:not-data-disabled:bg-neutral-700 data-disabled:border-neutral-500 data-disabled:text-neutral-500 disabled:border-neutral-500 disabled:text-neutral-500 dark:data-disabled:border-neutral-400 dark:data-disabled:text-neutral-400 focus-visible:outline-2 focus-visible:-outline-offset-1 focus-visible:outline-neutral-950 dark:focus-visible:outline-white">
389
- View notifications
390
- </Dialog.Trigger>
391
- <Dialog.Portal>
392
- <Dialog.Backdrop className="fixed inset-0 min-h-dvh bg-black opacity-20 transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 dark:opacity-50 supports-[-webkit-touch-callout:none]:absolute" />
393
- <Dialog.Popup className="fixed top-[calc(50%+1.25rem*var(--nested-dialogs))] left-1/2 -mt-8 flex w-96 max-w-[calc(100vw-3rem)] -translate-x-1/2 -translate-y-1/2 flex-col gap-4 scale-[calc(1-0.1*var(--nested-dialogs))] bg-white dark:bg-neutral-950 p-4 text-neutral-950 dark:text-white border border-neutral-950 dark:border-white shadow-[0.25rem_0.25rem_0] shadow-black/12 dark:shadow-none transition-[top,scale,opacity] duration-100 ease-out after:absolute after:inset-0 after:bg-black/5 after:opacity-0 after:transition-opacity after:duration-100 after:ease-out after:pointer-events-none data-ending-style:top-[calc(50%+0.25rem+1.25rem*var(--nested-dialogs))] data-ending-style:scale-[0.96] data-ending-style:opacity-0 data-nested-dialog-open:after:opacity-100 data-starting-style:top-[calc(50%+0.25rem+1.25rem*var(--nested-dialogs))] data-starting-style:scale-[0.96] data-starting-style:opacity-0">
394
- <div className="flex flex-col gap-1">
656
+ <React.Fragment>
657
+ <Menu.Root>
658
+ <Menu.Trigger className={styles.Button}>
659
+ Playlist <CaretDownIcon />
660
+ </Menu.Trigger>
661
+ <Menu.Portal>
662
+ <Menu.Positioner className={styles.Positioner} sideOffset={8} align="start">
663
+ <Menu.Popup className={styles.MenuPopup}>
664
+ <Menu.Item className={styles.MenuItem}>Play</Menu.Item>
665
+ <Menu.Item className={styles.MenuItem}>Share</Menu.Item>
666
+ <Menu.Separator className={styles.Separator} />
667
+ {/* Open the dialog when the menu item is clicked */}
668
+ <Menu.Item className={styles.MenuItem} onClick={() => setDialogOpen(true)}>
669
+ Details…
670
+ </Menu.Item>
671
+ </Menu.Popup>
672
+ </Menu.Positioner>
673
+ </Menu.Portal>
674
+ </Menu.Root>
675
+
676
+ {/* Control the dialog state */}
677
+ <Dialog.Root open={dialogOpen} onOpenChange={setDialogOpen}>
678
+ <Dialog.Portal>
679
+ <Dialog.Backdrop className={styles.Backdrop} />
680
+ <Dialog.Popup className={styles.DialogPopup}>
681
+ <div className={styles.Intro}>
682
+ <Dialog.Title className={styles.Title}>Playlist details</Dialog.Title>
683
+ <Dialog.Description className={styles.Description}>
684
+ This playlist contains 24 songs and was last updated today.
685
+ </Dialog.Description>
686
+ </div>
687
+ <div className={styles.Actions}>
688
+ <Dialog.Close className={styles.Button}>Close</Dialog.Close>
689
+ </div>
690
+ </Dialog.Popup>
691
+ </Dialog.Portal>
692
+ </Dialog.Root>
693
+ </React.Fragment>
694
+ );
695
+ }
696
+
697
+ function CaretDownIcon(props: React.ComponentProps<'svg'>) {
698
+ return (
699
+ <svg
700
+ width="16"
701
+ height="16"
702
+ viewBox="0 0 16 16"
703
+ fill="currentColor"
704
+ {...props}
705
+ style={{ display: 'block', ...props.style }}
706
+ >
707
+ <path d="M12 6H4l4 4.5z" />
708
+ </svg>
709
+ );
710
+ }
711
+ ```
712
+
713
+ ### Nested dialogs
714
+
715
+ You can nest dialogs within one another normally.
716
+
717
+ Use the `[data-nested-dialog-open]` selector and the `var(--nested-dialogs)` CSS variable to customize the styling of the parent dialog. Backdrops of the child dialogs won't be rendered so that you can present the parent dialog in a clean way behind the one on top of it.
718
+
719
+ ## Demo
720
+
721
+ ### Tailwind
722
+
723
+ This example shows how to implement the component using Tailwind CSS.
724
+
725
+ ```tsx
726
+ /* index.tsx */
727
+ import { Dialog } from '@base-ui/react/dialog';
728
+
729
+ export default function ExampleDialog() {
730
+ return (
731
+ <Dialog.Root>
732
+ <Dialog.Trigger className="flex h-8 items-center justify-center gap-2 border border-neutral-950 dark:border-white bg-white dark:bg-neutral-950 px-3 text-sm leading-none whitespace-nowrap font-normal text-neutral-950 dark:text-white select-none hover:not-data-disabled:bg-neutral-100 dark:hover:not-data-disabled:bg-neutral-800 active:not-data-disabled:bg-neutral-200 dark:active:not-data-disabled:bg-neutral-700 data-disabled:border-neutral-500 data-disabled:text-neutral-500 disabled:border-neutral-500 disabled:text-neutral-500 dark:data-disabled:border-neutral-400 dark:data-disabled:text-neutral-400 focus-visible:outline-2 focus-visible:-outline-offset-1 focus-visible:outline-neutral-950 dark:focus-visible:outline-white">
733
+ View notifications
734
+ </Dialog.Trigger>
735
+ <Dialog.Portal>
736
+ <Dialog.Backdrop className="fixed inset-0 min-h-dvh bg-black opacity-20 transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 dark:opacity-50 supports-[-webkit-touch-callout:none]:absolute" />
737
+ <Dialog.Popup className="fixed top-[calc(50%+1.25rem*var(--nested-dialogs))] left-1/2 -mt-8 flex w-96 max-w-[calc(100vw-3rem)] -translate-x-1/2 -translate-y-1/2 flex-col gap-4 scale-[calc(1-0.1*var(--nested-dialogs))] bg-white dark:bg-neutral-950 p-4 text-neutral-950 dark:text-white border border-neutral-950 dark:border-white shadow-[0.25rem_0.25rem_0] shadow-black/12 dark:shadow-none transition-[top,scale,opacity] duration-100 ease-out after:absolute after:inset-0 after:bg-black/5 after:opacity-0 after:transition-opacity after:duration-100 after:ease-out after:pointer-events-none data-ending-style:top-[calc(50%+0.25rem+1.25rem*var(--nested-dialogs))] data-ending-style:scale-[0.96] data-ending-style:opacity-0 data-nested-dialog-open:after:opacity-100 data-starting-style:top-[calc(50%+0.25rem+1.25rem*var(--nested-dialogs))] data-starting-style:scale-[0.96] data-starting-style:opacity-0">
738
+ <div className="flex flex-col gap-1">
395
739
  <Dialog.Title className="text-base font-bold">Notifications</Dialog.Title>
396
740
  <Dialog.Description className="text-sm text-neutral-600 dark:text-neutral-400">
397
741
  You are all caught up. Good job!
@@ -498,49 +842,388 @@ This example shows how to implement the component using CSS Modules.
498
842
  }
499
843
  }
500
844
 
501
- .GhostButton {
502
- box-sizing: border-box;
503
- display: flex;
504
- align-items: center;
505
- justify-content: center;
506
- gap: 0.5rem;
507
- height: 2rem;
508
- padding: 0 0.75rem;
509
- margin: 0;
510
- border: none;
511
- background-color: transparent;
512
- font-family: inherit;
513
- font-size: 0.875rem;
514
- font-weight: 400;
515
- line-height: 1.25rem;
516
- color: oklch(14.5% 0 0deg);
517
- -webkit-user-select: none;
518
- user-select: none;
519
-
520
- @media (prefers-color-scheme: dark) {
521
- color: white;
522
- }
523
-
524
- @media (hover: hover) {
525
- &:hover {
526
- background-color: oklch(92.2% 0 0deg);
527
-
528
- @media (prefers-color-scheme: dark) {
529
- background-color: oklch(26.9% 0 0deg);
530
- }
531
- }
532
- }
533
-
534
- &:focus-visible {
535
- outline: 2px solid oklch(14.5% 0 0deg);
536
- outline-offset: -1px;
537
-
538
- @media (prefers-color-scheme: dark) {
539
- outline-color: white;
540
- }
541
- }
542
- }
543
-
845
+ .GhostButton {
846
+ box-sizing: border-box;
847
+ display: flex;
848
+ align-items: center;
849
+ justify-content: center;
850
+ gap: 0.5rem;
851
+ height: 2rem;
852
+ padding: 0 0.75rem;
853
+ margin: 0;
854
+ border: none;
855
+ background-color: transparent;
856
+ font-family: inherit;
857
+ font-size: 0.875rem;
858
+ font-weight: 400;
859
+ line-height: 1.25rem;
860
+ color: oklch(14.5% 0 0deg);
861
+ -webkit-user-select: none;
862
+ user-select: none;
863
+
864
+ @media (prefers-color-scheme: dark) {
865
+ color: white;
866
+ }
867
+
868
+ @media (hover: hover) {
869
+ &:hover {
870
+ background-color: oklch(92.2% 0 0deg);
871
+
872
+ @media (prefers-color-scheme: dark) {
873
+ background-color: oklch(26.9% 0 0deg);
874
+ }
875
+ }
876
+ }
877
+
878
+ &:focus-visible {
879
+ outline: 2px solid oklch(14.5% 0 0deg);
880
+ outline-offset: -1px;
881
+
882
+ @media (prefers-color-scheme: dark) {
883
+ outline-color: white;
884
+ }
885
+ }
886
+ }
887
+
888
+ .Backdrop {
889
+ position: fixed;
890
+ min-height: 100dvh;
891
+ inset: 0;
892
+ background-color: black;
893
+ opacity: 0.2;
894
+ transition: opacity 150ms;
895
+
896
+ /* iOS 26+: Ensure the backdrop covers the entire visible viewport. */
897
+ @supports (-webkit-touch-callout: none) {
898
+ position: absolute;
899
+ }
900
+
901
+ @media (prefers-color-scheme: dark) {
902
+ opacity: 0.5;
903
+ }
904
+
905
+ &[data-starting-style],
906
+ &[data-ending-style] {
907
+ opacity: 0;
908
+ }
909
+ }
910
+
911
+ .Popup {
912
+ box-sizing: border-box;
913
+ position: fixed;
914
+ top: 50%;
915
+ left: 50%;
916
+ display: flex;
917
+ flex-direction: column;
918
+ gap: 1rem;
919
+ width: 24rem;
920
+ max-width: calc(100vw - 3rem);
921
+ margin-top: -2rem;
922
+ padding: 1rem;
923
+ border: 1px solid oklch(14.5% 0 0deg);
924
+ background-color: white;
925
+ color: oklch(14.5% 0 0deg);
926
+ box-shadow: 0.25rem 0.25rem 0 rgb(0 0 0 / 12%);
927
+ translate: -50% calc(-50% + 1.25rem * var(--nested-dialogs));
928
+ scale: calc(1 - 0.1 * var(--nested-dialogs));
929
+ transition:
930
+ translate 100ms ease-out,
931
+ scale 100ms ease-out,
932
+ opacity 100ms ease-out;
933
+
934
+ @media (prefers-color-scheme: dark) {
935
+ border: 1px solid white;
936
+ background-color: oklch(14.5% 0 0deg);
937
+ color: white;
938
+ box-shadow: none;
939
+ }
940
+
941
+ &::after {
942
+ content: '';
943
+ position: absolute;
944
+ inset: 0;
945
+ background-color: rgb(0 0 0 / 0.05);
946
+ opacity: 0;
947
+ pointer-events: none;
948
+ transition: opacity 100ms ease-out;
949
+ }
950
+
951
+ &[data-nested-dialog-open]::after {
952
+ opacity: 1;
953
+ }
954
+
955
+ &[data-starting-style],
956
+ &[data-ending-style] {
957
+ opacity: 0;
958
+ translate: -50% calc(-50% + 0.25rem + 1.25rem * var(--nested-dialogs));
959
+ scale: 0.96;
960
+ }
961
+ }
962
+
963
+ .Intro {
964
+ display: flex;
965
+ flex-direction: column;
966
+ gap: 0.25rem;
967
+ }
968
+
969
+ .Title {
970
+ margin: 0;
971
+ font-size: 1rem;
972
+ line-height: 1.5rem;
973
+ font-weight: 700;
974
+ }
975
+
976
+ .Description {
977
+ margin: 0;
978
+ font-size: 0.875rem;
979
+ line-height: 1.25rem;
980
+ color: oklch(43.9% 0 0deg);
981
+
982
+ @media (prefers-color-scheme: dark) {
983
+ color: oklch(70.8% 0 0deg);
984
+ }
985
+ }
986
+
987
+ .Actions {
988
+ display: flex;
989
+ align-items: center;
990
+ gap: 0.75rem;
991
+ }
992
+
993
+ .EndActions {
994
+ display: flex;
995
+ align-items: center;
996
+ justify-content: end;
997
+ gap: 0.75rem;
998
+ }
999
+ ```
1000
+
1001
+ ```tsx
1002
+ /* index.tsx */
1003
+ import { Dialog } from '@base-ui/react/dialog';
1004
+ import styles from './index.module.css';
1005
+
1006
+ export default function ExampleDialog() {
1007
+ return (
1008
+ <Dialog.Root>
1009
+ <Dialog.Trigger className={styles.Button}>View notifications</Dialog.Trigger>
1010
+ <Dialog.Portal>
1011
+ <Dialog.Backdrop className={styles.Backdrop} />
1012
+ <Dialog.Popup className={styles.Popup}>
1013
+ <div className={styles.Intro}>
1014
+ <Dialog.Title className={styles.Title}>Notifications</Dialog.Title>
1015
+ <Dialog.Description className={styles.Description}>
1016
+ You are all caught up. Good job!
1017
+ </Dialog.Description>
1018
+ </div>
1019
+ <div className={styles.Actions}>
1020
+ <Dialog.Root>
1021
+ <Dialog.Trigger className={styles.Button}>Customize</Dialog.Trigger>
1022
+ <Dialog.Portal>
1023
+ <Dialog.Popup className={styles.Popup}>
1024
+ <div className={styles.Intro}>
1025
+ <Dialog.Title className={styles.Title}>Customize notifications</Dialog.Title>
1026
+ <Dialog.Description className={styles.Description}>
1027
+ Review your settings here.
1028
+ </Dialog.Description>
1029
+ </div>
1030
+ <div className={styles.EndActions}>
1031
+ <Dialog.Close className={styles.Button}>Close</Dialog.Close>
1032
+ </div>
1033
+ </Dialog.Popup>
1034
+ </Dialog.Portal>
1035
+ </Dialog.Root>
1036
+ </div>
1037
+ </Dialog.Popup>
1038
+ </Dialog.Portal>
1039
+ </Dialog.Root>
1040
+ );
1041
+ }
1042
+ ```
1043
+
1044
+ ### Close confirmation
1045
+
1046
+ This example shows a nested confirmation dialog that opens if the text entered in the parent dialog is going to be discarded.
1047
+
1048
+ To implement this, both dialogs should be controlled. The confirmation dialog may be opened when `onOpenChange` callback of the parent dialog receives a request to close. This way, the confirmation is automatically shown when the user clicks the backdrop, presses the Esc key, or clicks a close button.
1049
+
1050
+ ## Demo
1051
+
1052
+ ### Tailwind
1053
+
1054
+ This example shows how to implement the component using Tailwind CSS.
1055
+
1056
+ ```tsx
1057
+ /* index.tsx */
1058
+ 'use client';
1059
+ import * as React from 'react';
1060
+ import { AlertDialog } from '@base-ui/react/alert-dialog';
1061
+ import { Dialog } from '@base-ui/react/dialog';
1062
+
1063
+ export default function ExampleDialog() {
1064
+ const [dialogOpen, setDialogOpen] = React.useState(false);
1065
+ const [confirmationOpen, setConfirmationOpen] = React.useState(false);
1066
+ const [textareaValue, setTextareaValue] = React.useState('');
1067
+ const titleId = React.useId();
1068
+
1069
+ return (
1070
+ <Dialog.Root
1071
+ open={dialogOpen}
1072
+ onOpenChange={(open) => {
1073
+ // Show the close confirmation if there’s text in the textarea
1074
+ if (!open && textareaValue) {
1075
+ setConfirmationOpen(true);
1076
+ } else {
1077
+ // Reset the text area value
1078
+ setTextareaValue('');
1079
+ // Open or close the dialog normally
1080
+ setDialogOpen(open);
1081
+ }
1082
+ }}
1083
+ >
1084
+ <Dialog.Trigger className="flex h-8 items-center justify-center gap-2 border border-neutral-950 dark:border-white bg-white dark:bg-neutral-950 px-3 text-sm leading-none whitespace-nowrap font-normal text-neutral-950 dark:text-white select-none hover:not-data-disabled:bg-neutral-100 dark:hover:not-data-disabled:bg-neutral-800 active:not-data-disabled:bg-neutral-200 dark:active:not-data-disabled:bg-neutral-700 data-disabled:border-neutral-500 data-disabled:text-neutral-500 disabled:border-neutral-500 disabled:text-neutral-500 dark:data-disabled:border-neutral-400 dark:data-disabled:text-neutral-400 focus-visible:outline-2 focus-visible:-outline-offset-1 focus-visible:outline-neutral-950 dark:focus-visible:outline-white">
1085
+ Tweet
1086
+ </Dialog.Trigger>
1087
+ <Dialog.Portal>
1088
+ <Dialog.Backdrop className="fixed inset-0 min-h-dvh bg-black opacity-20 transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 dark:opacity-50 supports-[-webkit-touch-callout:none]:absolute" />
1089
+ <Dialog.Popup className="fixed top-[calc(50%+1.25rem*var(--nested-dialogs))] left-1/2 -mt-8 flex w-96 max-w-[calc(100vw-3rem)] -translate-x-1/2 -translate-y-1/2 flex-col gap-1 scale-[calc(1-0.1*var(--nested-dialogs))] bg-white dark:bg-neutral-950 p-4 text-neutral-950 dark:text-white border border-neutral-950 dark:border-white shadow-[0.25rem_0.25rem_0] shadow-black/12 dark:shadow-none transition-[top,scale,opacity] duration-100 ease-out after:absolute after:inset-0 after:bg-black/5 after:opacity-0 after:transition-opacity after:duration-100 after:ease-out after:pointer-events-none data-ending-style:top-[calc(50%+0.25rem+1.25rem*var(--nested-dialogs))] data-ending-style:scale-[0.96] data-ending-style:opacity-0 data-nested-dialog-open:after:opacity-100 data-starting-style:top-[calc(50%+0.25rem+1.25rem*var(--nested-dialogs))] data-starting-style:scale-[0.96] data-starting-style:opacity-0">
1090
+ <Dialog.Title id={titleId} className="text-base font-bold">
1091
+ New tweet
1092
+ </Dialog.Title>
1093
+ <form
1094
+ className="flex flex-col gap-4"
1095
+ onSubmit={(event) => {
1096
+ event.preventDefault();
1097
+ // Close the dialog when submitting
1098
+ setDialogOpen(false);
1099
+ }}
1100
+ >
1101
+ <textarea
1102
+ aria-labelledby={titleId}
1103
+ required
1104
+ className="min-h-32 w-full border border-neutral-950 dark:border-white bg-white dark:bg-neutral-950 p-2 text-sm any-pointer-coarse:text-base font-normal text-neutral-950 dark:text-white placeholder:text-neutral-500 dark:placeholder:text-neutral-400 focus:outline-2 focus:-outline-offset-1 focus:outline-neutral-950 dark:focus:outline-white"
1105
+ placeholder="What’s on your mind?"
1106
+ value={textareaValue}
1107
+ onChange={(event) => setTextareaValue(event.target.value)}
1108
+ />
1109
+ <div className="flex justify-end gap-3">
1110
+ <Dialog.Close className="flex h-8 items-center justify-center gap-2 border border-neutral-950 dark:border-white bg-white dark:bg-neutral-950 px-3 text-sm leading-none whitespace-nowrap font-normal text-neutral-950 dark:text-white select-none hover:not-data-disabled:bg-neutral-100 dark:hover:not-data-disabled:bg-neutral-800 active:not-data-disabled:bg-neutral-200 dark:active:not-data-disabled:bg-neutral-700 data-disabled:border-neutral-500 data-disabled:text-neutral-500 disabled:border-neutral-500 disabled:text-neutral-500 dark:data-disabled:border-neutral-400 dark:data-disabled:text-neutral-400 focus-visible:outline-2 focus-visible:-outline-offset-1 focus-visible:outline-neutral-950 dark:focus-visible:outline-white">
1111
+ Cancel
1112
+ </Dialog.Close>
1113
+ <button
1114
+ type="submit"
1115
+ className="flex h-8 items-center justify-center gap-2 border border-neutral-950 dark:border-white bg-white dark:bg-neutral-950 px-3 text-sm leading-none whitespace-nowrap font-normal text-neutral-950 dark:text-white select-none hover:bg-neutral-100 dark:hover:bg-neutral-800 active:bg-neutral-200 dark:active:bg-neutral-700 disabled:border-neutral-500 disabled:text-neutral-500 focus-visible:outline-2 focus-visible:-outline-offset-1 focus-visible:outline-neutral-950 dark:focus-visible:outline-white"
1116
+ >
1117
+ Tweet
1118
+ </button>
1119
+ </div>
1120
+ </form>
1121
+ </Dialog.Popup>
1122
+ </Dialog.Portal>
1123
+
1124
+ {/* Confirmation dialog */}
1125
+ <AlertDialog.Root open={confirmationOpen} onOpenChange={setConfirmationOpen}>
1126
+ <AlertDialog.Portal>
1127
+ <AlertDialog.Popup className="fixed top-[calc(50%+1.25rem*var(--nested-dialogs))] left-1/2 -mt-8 flex w-96 max-w-[calc(100vw-3rem)] -translate-x-1/2 -translate-y-1/2 flex-col gap-4 scale-[calc(1-0.1*var(--nested-dialogs))] bg-white dark:bg-neutral-950 p-4 text-neutral-950 dark:text-white border border-neutral-950 dark:border-white shadow-[0.25rem_0.25rem_0] shadow-black/12 dark:shadow-none transition-[top,scale,opacity] duration-100 ease-out after:absolute after:inset-0 after:bg-black/5 after:opacity-0 after:transition-opacity after:duration-100 after:ease-out after:pointer-events-none data-ending-style:top-[calc(50%+0.25rem+1.25rem*var(--nested-dialogs))] data-ending-style:scale-[0.96] data-ending-style:opacity-0 data-nested-dialog-open:after:opacity-100 data-starting-style:top-[calc(50%+0.25rem+1.25rem*var(--nested-dialogs))] data-starting-style:scale-[0.96] data-starting-style:opacity-0">
1128
+ <div className="flex flex-col gap-1">
1129
+ <AlertDialog.Title className="text-base font-bold">Discard tweet?</AlertDialog.Title>
1130
+ <AlertDialog.Description className="text-sm text-neutral-600 dark:text-neutral-400">
1131
+ Your tweet will be lost.
1132
+ </AlertDialog.Description>
1133
+ </div>
1134
+ <div className="flex justify-end gap-3">
1135
+ <AlertDialog.Close className="flex h-8 items-center justify-center gap-2 border border-neutral-950 dark:border-white bg-white dark:bg-neutral-950 px-3 text-sm leading-none whitespace-nowrap font-normal text-neutral-950 dark:text-white select-none hover:not-data-disabled:bg-neutral-100 dark:hover:not-data-disabled:bg-neutral-800 active:not-data-disabled:bg-neutral-200 dark:active:not-data-disabled:bg-neutral-700 data-disabled:border-neutral-500 data-disabled:text-neutral-500 disabled:border-neutral-500 disabled:text-neutral-500 dark:data-disabled:border-neutral-400 dark:data-disabled:text-neutral-400 focus-visible:outline-2 focus-visible:-outline-offset-1 focus-visible:outline-neutral-950 dark:focus-visible:outline-white">
1136
+ Go back
1137
+ </AlertDialog.Close>
1138
+ <button
1139
+ type="button"
1140
+ className="flex h-8 items-center justify-center gap-2 border border-neutral-950 dark:border-white bg-white dark:bg-neutral-950 px-3 text-sm leading-none whitespace-nowrap font-normal text-neutral-950 dark:text-white select-none hover:bg-neutral-100 dark:hover:bg-neutral-800 active:bg-neutral-200 dark:active:bg-neutral-700 disabled:border-neutral-500 disabled:text-neutral-500 focus-visible:outline-2 focus-visible:-outline-offset-1 focus-visible:outline-neutral-950 dark:focus-visible:outline-white"
1141
+ onClick={() => {
1142
+ setConfirmationOpen(false);
1143
+ setDialogOpen(false);
1144
+ }}
1145
+ >
1146
+ Discard
1147
+ </button>
1148
+ </div>
1149
+ </AlertDialog.Popup>
1150
+ </AlertDialog.Portal>
1151
+ </AlertDialog.Root>
1152
+ </Dialog.Root>
1153
+ );
1154
+ }
1155
+ ```
1156
+
1157
+ ### CSS Modules
1158
+
1159
+ This example shows how to implement the component using CSS Modules.
1160
+
1161
+ ```css
1162
+ /* index.module.css */
1163
+ .Button {
1164
+ box-sizing: border-box;
1165
+ display: flex;
1166
+ align-items: center;
1167
+ justify-content: center;
1168
+ gap: 0.5rem;
1169
+ height: 2rem;
1170
+ padding: 0 0.75rem;
1171
+ margin: 0;
1172
+ border: 1px solid oklch(14.5% 0 0deg);
1173
+ background-color: white;
1174
+ font-family: inherit;
1175
+ font-size: 0.875rem;
1176
+ font-weight: 400;
1177
+ line-height: 1;
1178
+ white-space: nowrap;
1179
+ color: oklch(14.5% 0 0deg);
1180
+ -webkit-user-select: none;
1181
+ user-select: none;
1182
+
1183
+ @media (prefers-color-scheme: dark) {
1184
+ border: 1px solid white;
1185
+ background-color: oklch(14.5% 0 0deg);
1186
+ color: white;
1187
+ }
1188
+
1189
+ @media (hover: hover) {
1190
+ &:hover:not([data-disabled]) {
1191
+ background-color: oklch(97% 0 0deg);
1192
+
1193
+ @media (prefers-color-scheme: dark) {
1194
+ background-color: oklch(26.9% 0 0deg);
1195
+ }
1196
+ }
1197
+ }
1198
+
1199
+ &:active:not([data-disabled]) {
1200
+ background-color: oklch(92.2% 0 0deg);
1201
+
1202
+ @media (prefers-color-scheme: dark) {
1203
+ background-color: oklch(37.1% 0 0deg);
1204
+ }
1205
+ }
1206
+
1207
+ &[data-disabled] {
1208
+ color: oklch(55.6% 0 0deg);
1209
+ border-color: oklch(55.6% 0 0deg);
1210
+
1211
+ @media (prefers-color-scheme: dark) {
1212
+ color: oklch(70.8% 0 0deg);
1213
+ border-color: oklch(70.8% 0 0deg);
1214
+ }
1215
+ }
1216
+
1217
+ &:focus-visible {
1218
+ outline: 2px solid oklch(14.5% 0 0deg);
1219
+ outline-offset: -1px;
1220
+
1221
+ @media (prefers-color-scheme: dark) {
1222
+ outline-color: white;
1223
+ }
1224
+ }
1225
+ }
1226
+
544
1227
  .Backdrop {
545
1228
  position: fixed;
546
1229
  min-height: 100dvh;
@@ -616,6 +1299,7 @@ This example shows how to implement the component using CSS Modules.
616
1299
  }
617
1300
  }
618
1301
 
1302
+ .PopupBody,
619
1303
  .Intro {
620
1304
  display: flex;
621
1305
  flex-direction: column;
@@ -642,72 +1326,60 @@ This example shows how to implement the component using CSS Modules.
642
1326
 
643
1327
  .Actions {
644
1328
  display: flex;
645
- align-items: center;
1329
+ justify-content: end;
646
1330
  gap: 0.75rem;
647
1331
  }
648
1332
 
649
- .EndActions {
1333
+ .TextareaContainer {
650
1334
  display: flex;
651
- align-items: center;
652
- justify-content: end;
653
- gap: 0.75rem;
1335
+ flex-direction: column;
1336
+ gap: 1rem;
654
1337
  }
655
- ```
656
-
657
- ```tsx
658
- /* index.tsx */
659
- import { Dialog } from '@base-ui/react/dialog';
660
- import styles from './index.module.css';
661
1338
 
662
- export default function ExampleDialog() {
663
- return (
664
- <Dialog.Root>
665
- <Dialog.Trigger className={styles.Button}>View notifications</Dialog.Trigger>
666
- <Dialog.Portal>
667
- <Dialog.Backdrop className={styles.Backdrop} />
668
- <Dialog.Popup className={styles.Popup}>
669
- <div className={styles.Intro}>
670
- <Dialog.Title className={styles.Title}>Notifications</Dialog.Title>
671
- <Dialog.Description className={styles.Description}>
672
- You are all caught up. Good job!
673
- </Dialog.Description>
674
- </div>
675
- <div className={styles.Actions}>
676
- <Dialog.Root>
677
- <Dialog.Trigger className={styles.Button}>Customize</Dialog.Trigger>
678
- <Dialog.Portal>
679
- <Dialog.Popup className={styles.Popup}>
680
- <div className={styles.Intro}>
681
- <Dialog.Title className={styles.Title}>Customize notifications</Dialog.Title>
682
- <Dialog.Description className={styles.Description}>
683
- Review your settings here.
684
- </Dialog.Description>
685
- </div>
686
- <div className={styles.EndActions}>
687
- <Dialog.Close className={styles.Button}>Close</Dialog.Close>
688
- </div>
689
- </Dialog.Popup>
690
- </Dialog.Portal>
691
- </Dialog.Root>
692
- </div>
693
- </Dialog.Popup>
694
- </Dialog.Portal>
695
- </Dialog.Root>
696
- );
697
- }
698
- ```
1339
+ .Textarea {
1340
+ box-sizing: border-box;
1341
+ padding: 0.5rem;
1342
+ margin: 0;
1343
+ border-radius: 0;
1344
+ border: 1px solid oklch(14.5% 0 0deg);
1345
+ width: 100%;
1346
+ min-height: 8rem;
1347
+ font-family: inherit;
1348
+ font-size: 0.875rem;
1349
+ font-weight: 400;
1350
+ line-height: 1.25rem;
1351
+ background-color: white;
1352
+ color: oklch(14.5% 0 0deg);
699
1353
 
700
- ### Close confirmation
1354
+ @media (any-pointer: coarse) {
1355
+ font-size: 1rem;
1356
+ line-height: 1.5rem;
1357
+ }
701
1358
 
702
- This example shows a nested confirmation dialog that opens if the text entered in the parent dialog is going to be discarded.
1359
+ @media (prefers-color-scheme: dark) {
1360
+ border: 1px solid white;
1361
+ background-color: oklch(14.5% 0 0deg);
1362
+ color: white;
1363
+ }
703
1364
 
704
- To implement this, both dialogs should be controlled. The confirmation dialog may be opened when `onOpenChange` callback of the parent dialog receives a request to close. This way, the confirmation is automatically shown when the user clicks the backdrop, presses the Esc key, or clicks a close button.
1365
+ &::placeholder {
1366
+ color: oklch(55.6% 0 0deg);
705
1367
 
706
- ## Demo
1368
+ @media (prefers-color-scheme: dark) {
1369
+ color: oklch(70.8% 0 0deg);
1370
+ }
1371
+ }
707
1372
 
708
- ### Tailwind
1373
+ &:focus {
1374
+ outline: 2px solid oklch(14.5% 0 0deg);
1375
+ outline-offset: -1px;
709
1376
 
710
- This example shows how to implement the component using Tailwind CSS.
1377
+ @media (prefers-color-scheme: dark) {
1378
+ outline-color: white;
1379
+ }
1380
+ }
1381
+ }
1382
+ ```
711
1383
 
712
1384
  ```tsx
713
1385
  /* index.tsx */
@@ -715,6 +1387,7 @@ This example shows how to implement the component using Tailwind CSS.
715
1387
  import * as React from 'react';
716
1388
  import { AlertDialog } from '@base-ui/react/alert-dialog';
717
1389
  import { Dialog } from '@base-ui/react/dialog';
1390
+ import styles from './index.module.css';
718
1391
 
719
1392
  export default function ExampleDialog() {
720
1393
  const [dialogOpen, setDialogOpen] = React.useState(false);
@@ -734,66 +1407,59 @@ export default function ExampleDialog() {
734
1407
  setTextareaValue('');
735
1408
  // Open or close the dialog normally
736
1409
  setDialogOpen(open);
737
- }
738
- }}
739
- >
740
- <Dialog.Trigger className="flex h-8 items-center justify-center gap-2 border border-neutral-950 dark:border-white bg-white dark:bg-neutral-950 px-3 text-sm leading-none whitespace-nowrap font-normal text-neutral-950 dark:text-white select-none hover:not-data-disabled:bg-neutral-100 dark:hover:not-data-disabled:bg-neutral-800 active:not-data-disabled:bg-neutral-200 dark:active:not-data-disabled:bg-neutral-700 data-disabled:border-neutral-500 data-disabled:text-neutral-500 disabled:border-neutral-500 disabled:text-neutral-500 dark:data-disabled:border-neutral-400 dark:data-disabled:text-neutral-400 focus-visible:outline-2 focus-visible:-outline-offset-1 focus-visible:outline-neutral-950 dark:focus-visible:outline-white">
741
- Tweet
742
- </Dialog.Trigger>
743
- <Dialog.Portal>
744
- <Dialog.Backdrop className="fixed inset-0 min-h-dvh bg-black opacity-20 transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 dark:opacity-50 supports-[-webkit-touch-callout:none]:absolute" />
745
- <Dialog.Popup className="fixed top-[calc(50%+1.25rem*var(--nested-dialogs))] left-1/2 -mt-8 flex w-96 max-w-[calc(100vw-3rem)] -translate-x-1/2 -translate-y-1/2 flex-col gap-1 scale-[calc(1-0.1*var(--nested-dialogs))] bg-white dark:bg-neutral-950 p-4 text-neutral-950 dark:text-white border border-neutral-950 dark:border-white shadow-[0.25rem_0.25rem_0] shadow-black/12 dark:shadow-none transition-[top,scale,opacity] duration-100 ease-out after:absolute after:inset-0 after:bg-black/5 after:opacity-0 after:transition-opacity after:duration-100 after:ease-out after:pointer-events-none data-ending-style:top-[calc(50%+0.25rem+1.25rem*var(--nested-dialogs))] data-ending-style:scale-[0.96] data-ending-style:opacity-0 data-nested-dialog-open:after:opacity-100 data-starting-style:top-[calc(50%+0.25rem+1.25rem*var(--nested-dialogs))] data-starting-style:scale-[0.96] data-starting-style:opacity-0">
746
- <Dialog.Title id={titleId} className="text-base font-bold">
747
- New tweet
748
- </Dialog.Title>
749
- <form
750
- className="flex flex-col gap-4"
751
- onSubmit={(event) => {
752
- event.preventDefault();
753
- // Close the dialog when submitting
754
- setDialogOpen(false);
755
- }}
756
- >
757
- <textarea
758
- aria-labelledby={titleId}
759
- required
760
- className="min-h-32 w-full border border-neutral-950 dark:border-white bg-white dark:bg-neutral-950 p-2 text-sm any-pointer-coarse:text-base font-normal text-neutral-950 dark:text-white placeholder:text-neutral-500 dark:placeholder:text-neutral-400 focus:outline-2 focus:-outline-offset-1 focus:outline-neutral-950 dark:focus:outline-white"
761
- placeholder="What’s on your mind?"
762
- value={textareaValue}
763
- onChange={(event) => setTextareaValue(event.target.value)}
764
- />
765
- <div className="flex justify-end gap-3">
766
- <Dialog.Close className="flex h-8 items-center justify-center gap-2 border border-neutral-950 dark:border-white bg-white dark:bg-neutral-950 px-3 text-sm leading-none whitespace-nowrap font-normal text-neutral-950 dark:text-white select-none hover:not-data-disabled:bg-neutral-100 dark:hover:not-data-disabled:bg-neutral-800 active:not-data-disabled:bg-neutral-200 dark:active:not-data-disabled:bg-neutral-700 data-disabled:border-neutral-500 data-disabled:text-neutral-500 disabled:border-neutral-500 disabled:text-neutral-500 dark:data-disabled:border-neutral-400 dark:data-disabled:text-neutral-400 focus-visible:outline-2 focus-visible:-outline-offset-1 focus-visible:outline-neutral-950 dark:focus-visible:outline-white">
767
- Cancel
768
- </Dialog.Close>
769
- <button
770
- type="submit"
771
- className="flex h-8 items-center justify-center gap-2 border border-neutral-950 dark:border-white bg-white dark:bg-neutral-950 px-3 text-sm leading-none whitespace-nowrap font-normal text-neutral-950 dark:text-white select-none hover:bg-neutral-100 dark:hover:bg-neutral-800 active:bg-neutral-200 dark:active:bg-neutral-700 disabled:border-neutral-500 disabled:text-neutral-500 focus-visible:outline-2 focus-visible:-outline-offset-1 focus-visible:outline-neutral-950 dark:focus-visible:outline-white"
772
- >
773
- Tweet
774
- </button>
775
- </div>
776
- </form>
1410
+ }
1411
+ }}
1412
+ >
1413
+ <Dialog.Trigger className={styles.Button}>Tweet</Dialog.Trigger>
1414
+ <Dialog.Portal>
1415
+ <Dialog.Backdrop className={styles.Backdrop} />
1416
+ <Dialog.Popup className={styles.Popup}>
1417
+ <div className={styles.PopupBody}>
1418
+ <Dialog.Title id={titleId} className={styles.Title}>
1419
+ New tweet
1420
+ </Dialog.Title>
1421
+ <form
1422
+ className={styles.TextareaContainer}
1423
+ onSubmit={(event) => {
1424
+ event.preventDefault();
1425
+ // Close the dialog when submitting
1426
+ setDialogOpen(false);
1427
+ }}
1428
+ >
1429
+ <textarea
1430
+ aria-labelledby={titleId}
1431
+ required
1432
+ className={styles.Textarea}
1433
+ placeholder="What’s on your mind?"
1434
+ value={textareaValue}
1435
+ onChange={(event) => setTextareaValue(event.target.value)}
1436
+ />
1437
+ <div className={styles.Actions}>
1438
+ <Dialog.Close className={styles.Button}>Cancel</Dialog.Close>
1439
+ <button type="submit" className={styles.Button}>
1440
+ Tweet
1441
+ </button>
1442
+ </div>
1443
+ </form>
1444
+ </div>
777
1445
  </Dialog.Popup>
778
1446
  </Dialog.Portal>
779
1447
 
780
1448
  {/* Confirmation dialog */}
781
1449
  <AlertDialog.Root open={confirmationOpen} onOpenChange={setConfirmationOpen}>
782
1450
  <AlertDialog.Portal>
783
- <AlertDialog.Popup className="fixed top-[calc(50%+1.25rem*var(--nested-dialogs))] left-1/2 -mt-8 flex w-96 max-w-[calc(100vw-3rem)] -translate-x-1/2 -translate-y-1/2 flex-col gap-4 scale-[calc(1-0.1*var(--nested-dialogs))] bg-white dark:bg-neutral-950 p-4 text-neutral-950 dark:text-white border border-neutral-950 dark:border-white shadow-[0.25rem_0.25rem_0] shadow-black/12 dark:shadow-none transition-[top,scale,opacity] duration-100 ease-out after:absolute after:inset-0 after:bg-black/5 after:opacity-0 after:transition-opacity after:duration-100 after:ease-out after:pointer-events-none data-ending-style:top-[calc(50%+0.25rem+1.25rem*var(--nested-dialogs))] data-ending-style:scale-[0.96] data-ending-style:opacity-0 data-nested-dialog-open:after:opacity-100 data-starting-style:top-[calc(50%+0.25rem+1.25rem*var(--nested-dialogs))] data-starting-style:scale-[0.96] data-starting-style:opacity-0">
784
- <div className="flex flex-col gap-1">
785
- <AlertDialog.Title className="text-base font-bold">Discard tweet?</AlertDialog.Title>
786
- <AlertDialog.Description className="text-sm text-neutral-600 dark:text-neutral-400">
1451
+ <AlertDialog.Popup className={styles.Popup}>
1452
+ <div className={styles.Intro}>
1453
+ <AlertDialog.Title className={styles.Title}>Discard tweet?</AlertDialog.Title>
1454
+ <AlertDialog.Description className={styles.Description}>
787
1455
  Your tweet will be lost.
788
1456
  </AlertDialog.Description>
789
1457
  </div>
790
- <div className="flex justify-end gap-3">
791
- <AlertDialog.Close className="flex h-8 items-center justify-center gap-2 border border-neutral-950 dark:border-white bg-white dark:bg-neutral-950 px-3 text-sm leading-none whitespace-nowrap font-normal text-neutral-950 dark:text-white select-none hover:not-data-disabled:bg-neutral-100 dark:hover:not-data-disabled:bg-neutral-800 active:not-data-disabled:bg-neutral-200 dark:active:not-data-disabled:bg-neutral-700 data-disabled:border-neutral-500 data-disabled:text-neutral-500 disabled:border-neutral-500 disabled:text-neutral-500 dark:data-disabled:border-neutral-400 dark:data-disabled:text-neutral-400 focus-visible:outline-2 focus-visible:-outline-offset-1 focus-visible:outline-neutral-950 dark:focus-visible:outline-white">
792
- Go back
793
- </AlertDialog.Close>
1458
+ <div className={styles.Actions}>
1459
+ <AlertDialog.Close className={styles.Button}>Go back</AlertDialog.Close>
794
1460
  <button
795
1461
  type="button"
796
- className="flex h-8 items-center justify-center gap-2 border border-neutral-950 dark:border-white bg-white dark:bg-neutral-950 px-3 text-sm leading-none whitespace-nowrap font-normal text-neutral-950 dark:text-white select-none hover:bg-neutral-100 dark:hover:bg-neutral-800 active:bg-neutral-200 dark:active:bg-neutral-700 disabled:border-neutral-500 disabled:text-neutral-500 focus-visible:outline-2 focus-visible:-outline-offset-1 focus-visible:outline-neutral-950 dark:focus-visible:outline-white"
1462
+ className={styles.Button}
797
1463
  onClick={() => {
798
1464
  setConfirmationOpen(false);
799
1465
  setDialogOpen(false);
@@ -810,12 +1476,100 @@ export default function ExampleDialog() {
810
1476
  }
811
1477
  ```
812
1478
 
1479
+ ### Custom focus management
1480
+
1481
+ You can control where the focus goes when the dialog opens and closes using the `initialFocus` and `finalFocus` props on the `<Dialog.Popup>` component.
1482
+
1483
+ You can also set these props to `false` to prevent focus from moving when the dialog opens or closes, or to a function that returns the element to focus based on the interaction type.
1484
+
1485
+ ## Demo
1486
+
1487
+ ### Tailwind
1488
+
1489
+ This example shows how to implement the component using Tailwind CSS.
1490
+
1491
+ ```tsx
1492
+ /* index.tsx */
1493
+ 'use client';
1494
+ import * as React from 'react';
1495
+ import { Dialog } from '@base-ui/react/dialog';
1496
+ import { Field } from '@base-ui/react/field';
1497
+ import { Fieldset } from '@base-ui/react/fieldset';
1498
+
1499
+ export default function ExampleDialog() {
1500
+ const initialFocusRef = React.useRef<HTMLInputElement | null>(null);
1501
+ const finalFocusRef = React.useRef<HTMLButtonElement | null>(null);
1502
+
1503
+ return (
1504
+ <div className="flex flex-wrap justify-center gap-3">
1505
+ <Dialog.Root>
1506
+ <Dialog.Trigger className="flex h-8 items-center justify-center gap-2 border border-neutral-950 dark:border-white bg-white dark:bg-neutral-950 px-3 text-sm leading-none whitespace-nowrap font-normal text-neutral-950 dark:text-white select-none hover:not-data-disabled:bg-neutral-100 dark:hover:not-data-disabled:bg-neutral-800 active:not-data-disabled:bg-neutral-200 dark:active:not-data-disabled:bg-neutral-700 data-disabled:border-neutral-500 data-disabled:text-neutral-500 disabled:border-neutral-500 disabled:text-neutral-500 dark:data-disabled:border-neutral-400 dark:data-disabled:text-neutral-400 focus-visible:outline-2 focus-visible:-outline-offset-1 focus-visible:outline-neutral-950 dark:focus-visible:outline-white">
1507
+ Open feedback
1508
+ </Dialog.Trigger>
1509
+ <Dialog.Portal>
1510
+ <Dialog.Backdrop className="fixed inset-0 min-h-dvh bg-black opacity-20 transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 dark:opacity-50 supports-[-webkit-touch-callout:none]:absolute" />
1511
+ <Dialog.Popup
1512
+ initialFocus={initialFocusRef}
1513
+ finalFocus={finalFocusRef}
1514
+ className="fixed top-1/2 left-1/2 -mt-8 flex w-96 max-w-[calc(100vw-3rem)] -translate-x-1/2 -translate-y-1/2 flex-col gap-4 bg-white dark:bg-neutral-950 p-4 text-neutral-950 dark:text-white border border-neutral-950 dark:border-white shadow-[0.25rem_0.25rem_0] shadow-black/12 dark:shadow-none transition-[scale,opacity] duration-100 ease-out data-ending-style:scale-[0.98] data-ending-style:opacity-0 data-starting-style:scale-[0.98] data-starting-style:opacity-0"
1515
+ >
1516
+ <div className="flex flex-col gap-1">
1517
+ <Dialog.Title className="text-base font-bold">Feedback form</Dialog.Title>
1518
+ <Dialog.Description className="text-sm text-neutral-600 dark:text-neutral-400">
1519
+ Your feedback means a lot to us.
1520
+ </Dialog.Description>
1521
+ </div>
1522
+ <Fieldset.Root className="flex flex-col gap-3 border-0 p-0 m-0">
1523
+ <Field.Root className="flex flex-col items-start gap-1">
1524
+ <Field.Label className="text-sm font-normal">Full name</Field.Label>
1525
+ <Field.Control
1526
+ placeholder="Enter your name"
1527
+ className="h-8 w-full border border-neutral-950 dark:border-white bg-white dark:bg-neutral-950 px-2 text-sm any-pointer-coarse:text-base font-normal text-neutral-950 dark:text-white placeholder:text-neutral-500 dark:placeholder:text-neutral-400 focus:outline-2 focus:-outline-offset-1 focus:outline-neutral-950 dark:focus:outline-white"
1528
+ />
1529
+ </Field.Root>
1530
+ <Field.Root className="flex flex-col items-start gap-1">
1531
+ <Field.Label className="text-sm font-normal">Feedback</Field.Label>
1532
+ <Field.Control
1533
+ ref={initialFocusRef}
1534
+ required
1535
+ placeholder="Enter your feedback"
1536
+ className="h-8 w-full border border-neutral-950 dark:border-white bg-white dark:bg-neutral-950 px-2 text-sm any-pointer-coarse:text-base font-normal text-neutral-950 dark:text-white placeholder:text-neutral-500 dark:placeholder:text-neutral-400 focus:outline-2 focus:-outline-offset-1 focus:outline-neutral-950 dark:focus:outline-white"
1537
+ />
1538
+ </Field.Root>
1539
+ </Fieldset.Root>
1540
+ <div className="flex justify-end gap-3">
1541
+ <Dialog.Close className="flex h-8 items-center justify-center gap-2 border border-neutral-950 dark:border-white bg-white dark:bg-neutral-950 px-3 text-sm leading-none whitespace-nowrap font-normal text-neutral-950 dark:text-white select-none hover:not-data-disabled:bg-neutral-100 dark:hover:not-data-disabled:bg-neutral-800 active:not-data-disabled:bg-neutral-200 dark:active:not-data-disabled:bg-neutral-700 data-disabled:border-neutral-500 data-disabled:text-neutral-500 disabled:border-neutral-500 disabled:text-neutral-500 dark:data-disabled:border-neutral-400 dark:data-disabled:text-neutral-400 focus-visible:outline-2 focus-visible:-outline-offset-1 focus-visible:outline-neutral-950 dark:focus-visible:outline-white">
1542
+ Close
1543
+ </Dialog.Close>
1544
+ </div>
1545
+ </Dialog.Popup>
1546
+ </Dialog.Portal>
1547
+ </Dialog.Root>
1548
+ <button
1549
+ ref={finalFocusRef}
1550
+ type="button"
1551
+ className="flex h-8 items-center justify-center gap-2 border border-neutral-950 dark:border-white bg-white dark:bg-neutral-950 px-3 text-sm leading-none whitespace-nowrap font-normal text-neutral-950 dark:text-white select-none hover:bg-neutral-100 dark:hover:bg-neutral-800 active:bg-neutral-200 dark:active:bg-neutral-700 disabled:border-neutral-500 disabled:text-neutral-500 focus-visible:outline-2 focus-visible:-outline-offset-1 focus-visible:outline-neutral-950 dark:focus-visible:outline-white"
1552
+ >
1553
+ Final focus
1554
+ </button>
1555
+ </div>
1556
+ );
1557
+ }
1558
+ ```
1559
+
813
1560
  ### CSS Modules
814
1561
 
815
1562
  This example shows how to implement the component using CSS Modules.
816
1563
 
817
1564
  ```css
818
1565
  /* index.module.css */
1566
+ .Container {
1567
+ display: flex;
1568
+ flex-wrap: wrap;
1569
+ justify-content: center;
1570
+ gap: 0.75rem;
1571
+ }
1572
+
819
1573
  .Button {
820
1574
  box-sizing: border-box;
821
1575
  display: flex;
@@ -905,12 +1659,13 @@ This example shows how to implement the component using CSS Modules.
905
1659
 
906
1660
  .Popup {
907
1661
  box-sizing: border-box;
908
- position: fixed;
909
- top: 50%;
910
- left: 50%;
911
1662
  display: flex;
912
1663
  flex-direction: column;
913
1664
  gap: 1rem;
1665
+ position: fixed;
1666
+ top: 50%;
1667
+ left: 50%;
1668
+ transform: translate(-50%, -50%);
914
1669
  width: 24rem;
915
1670
  max-width: calc(100vw - 3rem);
916
1671
  margin-top: -2rem;
@@ -919,11 +1674,8 @@ This example shows how to implement the component using CSS Modules.
919
1674
  background-color: white;
920
1675
  color: oklch(14.5% 0 0deg);
921
1676
  box-shadow: 0.25rem 0.25rem 0 rgb(0 0 0 / 12%);
922
- translate: -50% calc(-50% + 1.25rem * var(--nested-dialogs));
923
- scale: calc(1 - 0.1 * var(--nested-dialogs));
924
1677
  transition:
925
- translate 100ms ease-out,
926
- scale 100ms ease-out,
1678
+ transform 100ms ease-out,
927
1679
  opacity 100ms ease-out;
928
1680
 
929
1681
  @media (prefers-color-scheme: dark) {
@@ -933,32 +1685,33 @@ This example shows how to implement the component using CSS Modules.
933
1685
  box-shadow: none;
934
1686
  }
935
1687
 
936
- &::after {
937
- content: '';
938
- position: absolute;
939
- inset: 0;
940
- background-color: rgb(0 0 0 / 0.05);
941
- opacity: 0;
942
- pointer-events: none;
943
- transition: opacity 100ms ease-out;
944
- }
945
-
946
- &[data-nested-dialog-open]::after {
947
- opacity: 1;
948
- }
949
-
950
1688
  &[data-starting-style],
951
1689
  &[data-ending-style] {
952
1690
  opacity: 0;
953
- translate: -50% calc(-50% + 0.25rem + 1.25rem * var(--nested-dialogs));
954
- scale: 0.96;
1691
+ transform: translate(-50%, -50%) scale(0.98);
955
1692
  }
956
1693
  }
957
1694
 
958
- .PopupBody,
959
- .Intro {
1695
+ .Intro,
1696
+ .Fieldset,
1697
+ .Field {
960
1698
  display: flex;
961
1699
  flex-direction: column;
1700
+ }
1701
+
1702
+ .Intro {
1703
+ gap: 0.25rem;
1704
+ }
1705
+
1706
+ .Fieldset {
1707
+ gap: 0.75rem;
1708
+ padding: 0;
1709
+ margin: 0;
1710
+ border: 0;
1711
+ }
1712
+
1713
+ .Field {
1714
+ align-items: start;
962
1715
  gap: 0.25rem;
963
1716
  }
964
1717
 
@@ -980,36 +1733,28 @@ This example shows how to implement the component using CSS Modules.
980
1733
  }
981
1734
  }
982
1735
 
983
- .Actions {
984
- display: flex;
985
- justify-content: end;
986
- gap: 0.75rem;
987
- }
988
-
989
- .TextareaContainer {
990
- display: flex;
991
- flex-direction: column;
992
- gap: 1rem;
1736
+ .Label {
1737
+ font-size: 0.875rem;
1738
+ line-height: 1.25rem;
1739
+ font-weight: 400;
993
1740
  }
994
1741
 
995
- .Textarea {
1742
+ .Input {
996
1743
  box-sizing: border-box;
997
- padding: 0.5rem;
1744
+ padding: 0 0.5rem;
998
1745
  margin: 0;
999
1746
  border-radius: 0;
1000
1747
  border: 1px solid oklch(14.5% 0 0deg);
1001
1748
  width: 100%;
1002
- min-height: 8rem;
1749
+ height: 2rem;
1003
1750
  font-family: inherit;
1004
1751
  font-size: 0.875rem;
1005
1752
  font-weight: 400;
1006
- line-height: 1.25rem;
1007
1753
  background-color: white;
1008
1754
  color: oklch(14.5% 0 0deg);
1009
1755
 
1010
1756
  @media (any-pointer: coarse) {
1011
1757
  font-size: 1rem;
1012
- line-height: 1.5rem;
1013
1758
  }
1014
1759
 
1015
1760
  @media (prefers-color-scheme: dark) {
@@ -1035,99 +1780,69 @@ This example shows how to implement the component using CSS Modules.
1035
1780
  }
1036
1781
  }
1037
1782
  }
1783
+
1784
+ .Actions {
1785
+ display: flex;
1786
+ justify-content: end;
1787
+ gap: 0.75rem;
1788
+ }
1038
1789
  ```
1039
1790
 
1040
1791
  ```tsx
1041
1792
  /* index.tsx */
1042
1793
  'use client';
1043
1794
  import * as React from 'react';
1044
- import { AlertDialog } from '@base-ui/react/alert-dialog';
1045
1795
  import { Dialog } from '@base-ui/react/dialog';
1796
+ import { Field } from '@base-ui/react/field';
1797
+ import { Fieldset } from '@base-ui/react/fieldset';
1046
1798
  import styles from './index.module.css';
1047
1799
 
1048
1800
  export default function ExampleDialog() {
1049
- const [dialogOpen, setDialogOpen] = React.useState(false);
1050
- const [confirmationOpen, setConfirmationOpen] = React.useState(false);
1051
- const [textareaValue, setTextareaValue] = React.useState('');
1052
- const titleId = React.useId();
1801
+ const initialFocusRef = React.useRef<HTMLInputElement | null>(null);
1802
+ const finalFocusRef = React.useRef<HTMLButtonElement | null>(null);
1053
1803
 
1054
1804
  return (
1055
- <Dialog.Root
1056
- open={dialogOpen}
1057
- onOpenChange={(open) => {
1058
- // Show the close confirmation if there’s text in the textarea
1059
- if (!open && textareaValue) {
1060
- setConfirmationOpen(true);
1061
- } else {
1062
- // Reset the text area value
1063
- setTextareaValue('');
1064
- // Open or close the dialog normally
1065
- setDialogOpen(open);
1066
- }
1067
- }}
1068
- >
1069
- <Dialog.Trigger className={styles.Button}>Tweet</Dialog.Trigger>
1070
- <Dialog.Portal>
1071
- <Dialog.Backdrop className={styles.Backdrop} />
1072
- <Dialog.Popup className={styles.Popup}>
1073
- <div className={styles.PopupBody}>
1074
- <Dialog.Title id={titleId} className={styles.Title}>
1075
- New tweet
1076
- </Dialog.Title>
1077
- <form
1078
- className={styles.TextareaContainer}
1079
- onSubmit={(event) => {
1080
- event.preventDefault();
1081
- // Close the dialog when submitting
1082
- setDialogOpen(false);
1083
- }}
1084
- >
1085
- <textarea
1086
- aria-labelledby={titleId}
1087
- required
1088
- className={styles.Textarea}
1089
- placeholder="What’s on your mind?"
1090
- value={textareaValue}
1091
- onChange={(event) => setTextareaValue(event.target.value)}
1092
- />
1093
- <div className={styles.Actions}>
1094
- <Dialog.Close className={styles.Button}>Cancel</Dialog.Close>
1095
- <button type="submit" className={styles.Button}>
1096
- Tweet
1097
- </button>
1098
- </div>
1099
- </form>
1100
- </div>
1101
- </Dialog.Popup>
1102
- </Dialog.Portal>
1103
-
1104
- {/* Confirmation dialog */}
1105
- <AlertDialog.Root open={confirmationOpen} onOpenChange={setConfirmationOpen}>
1106
- <AlertDialog.Portal>
1107
- <AlertDialog.Popup className={styles.Popup}>
1805
+ <div className={styles.Container}>
1806
+ <Dialog.Root>
1807
+ <Dialog.Trigger className={styles.Button}>Open feedback</Dialog.Trigger>
1808
+ <Dialog.Portal>
1809
+ <Dialog.Backdrop className={styles.Backdrop} />
1810
+ <Dialog.Popup
1811
+ className={styles.Popup}
1812
+ initialFocus={initialFocusRef}
1813
+ finalFocus={finalFocusRef}
1814
+ >
1108
1815
  <div className={styles.Intro}>
1109
- <AlertDialog.Title className={styles.Title}>Discard tweet?</AlertDialog.Title>
1110
- <AlertDialog.Description className={styles.Description}>
1111
- Your tweet will be lost.
1112
- </AlertDialog.Description>
1816
+ <Dialog.Title className={styles.Title}>Feedback form</Dialog.Title>
1817
+ <Dialog.Description className={styles.Description}>
1818
+ Your feedback means a lot to us.
1819
+ </Dialog.Description>
1113
1820
  </div>
1821
+ <Fieldset.Root className={styles.Fieldset}>
1822
+ <Field.Root className={styles.Field}>
1823
+ <Field.Label className={styles.Label}>Full name</Field.Label>
1824
+ <Field.Control placeholder="Enter your name" className={styles.Input} />
1825
+ </Field.Root>
1826
+ <Field.Root className={styles.Field}>
1827
+ <Field.Label className={styles.Label}>Feedback</Field.Label>
1828
+ <Field.Control
1829
+ ref={initialFocusRef}
1830
+ required
1831
+ placeholder="Enter your feedback"
1832
+ className={styles.Input}
1833
+ />
1834
+ </Field.Root>
1835
+ </Fieldset.Root>
1114
1836
  <div className={styles.Actions}>
1115
- <AlertDialog.Close className={styles.Button}>Go back</AlertDialog.Close>
1116
- <button
1117
- type="button"
1118
- className={styles.Button}
1119
- onClick={() => {
1120
- setConfirmationOpen(false);
1121
- setDialogOpen(false);
1122
- }}
1123
- >
1124
- Discard
1125
- </button>
1837
+ <Dialog.Close className={styles.Button}>Close</Dialog.Close>
1126
1838
  </div>
1127
- </AlertDialog.Popup>
1128
- </AlertDialog.Portal>
1129
- </AlertDialog.Root>
1130
- </Dialog.Root>
1839
+ </Dialog.Popup>
1840
+ </Dialog.Portal>
1841
+ </Dialog.Root>
1842
+ <button ref={finalFocusRef} type="button" className={styles.Button}>
1843
+ Final focus
1844
+ </button>
1845
+ </div>
1131
1846
  );
1132
1847
  }
1133
1848
  ```
@@ -2726,6 +3441,9 @@ For simple, one-off interactions, place the `<Dialog.Trigger>` inside `<Dialog.R
2726
3441
  However, if defining the dialog's content next to its trigger is not practical, you can use a detached trigger.
2727
3442
  This involves placing the `<Dialog.Trigger>` outside of `<Dialog.Root>` and linking them with a `handle` created by the `Dialog.createHandle()` function.
2728
3443
 
3444
+ The imperative methods on the handle, such as `open()` and `openWithPayload()`, require a `<Dialog.Root>` using the same handle to be mounted.
3445
+ Calls made while no root is attached to the handle — before one mounts, or after it unmounts — are ignored. Each time a root mounts, it starts from fresh state: a call made while no root was attached is not replayed, and no open state carries over from a previous mount.
3446
+
2729
3447
  ```jsx title="Detached triggers"
2730
3448
  const demoDialog = Dialog.createHandle();
2731
3449
 
@@ -3547,12 +4265,12 @@ Renders a `<div>` element.
3547
4265
 
3548
4266
  **Backdrop Data Attributes:**
3549
4267
 
3550
- | Attribute | Type | Description |
3551
- | :------------------ | :--- | :---------------------------------------- |
3552
- | data-open | - | Present when the dialog is open. |
3553
- | data-closed | - | Present when the dialog is closed. |
3554
- | data-starting-style | - | Present when the dialog is animating in. |
3555
- | data-ending-style | - | Present when the dialog is animating out. |
4268
+ | Attribute | Type | Description |
4269
+ | :------------------ | :--- | :------------------------------------------- |
4270
+ | data-open | - | Present when the dialog is open. |
4271
+ | data-closed | - | Present when the dialog is closed. |
4272
+ | data-starting-style | - | Present when the dialog begins animating in. |
4273
+ | data-ending-style | - | Present when the dialog is animating out. |
3556
4274
 
3557
4275
  ### Backdrop.Props
3558
4276
 
@@ -3592,7 +4310,7 @@ Renders a `<div>` element.
3592
4310
  | data-closed | - | Present when the dialog is closed. |
3593
4311
  | data-nested | - | Present when the dialog is nested within another dialog. |
3594
4312
  | data-nested-dialog-open | - | Present when the dialog has other open dialogs nested within it. |
3595
- | data-starting-style | - | Present when the dialog is animating in. |
4313
+ | data-starting-style | - | Present when the dialog begins animating in. |
3596
4314
  | data-ending-style | - | Present when the dialog is animating out. |
3597
4315
 
3598
4316
  **Popup CSS Variables:**
@@ -3720,7 +4438,7 @@ Renders a `<div>` element.
3720
4438
  | data-closed | - | Present when the dialog is closed. |
3721
4439
  | data-nested | - | Present when the dialog is nested within another dialog. |
3722
4440
  | data-nested-dialog-open | - | Present when the dialog has other open dialogs nested within it. |
3723
- | data-starting-style | - | Present when the dialog is animating in. |
4441
+ | data-starting-style | - | Present when the dialog begins animating in. |
3724
4442
  | data-ending-style | - | Present when the dialog is animating out. |
3725
4443
 
3726
4444
  ### Viewport.Props
@@ -3754,19 +4472,18 @@ type ReturnValue = Dialog.Handle<Payload>;
3754
4472
 
3755
4473
  ### Handle
3756
4474
 
3757
- A handle to control a Dialog imperatively and to associate detached triggers with it.
3758
-
3759
- **Constructor Parameters:**
4475
+ Controls a Dialog imperatively and associates detached `Dialog.Trigger` components with a
4476
+ `Dialog.Root`. Create one with `Dialog.createHandle()` and pass it to the `handle` prop of the
4477
+ root and of any triggers rendered outside of it.
3760
4478
 
3761
- | Parameter | Type | Default | Description |
3762
- | :-------- | :--------------------- | :------ | :---------- |
3763
- | store? | `DialogStore<Payload>` | - | - |
4479
+ The imperative methods take effect only while a root using this handle is mounted; calls made
4480
+ before a root attaches (or after it unmounts) are ignored.
3764
4481
 
3765
4482
  **Properties:**
3766
4483
 
3767
- | Property | Type | Modifiers | Description |
3768
- | :------- | :-------- | :-------- | :---------------------------------------------- |
3769
- | isOpen | `boolean` | readonly | Indicates whether the dialog is currently open. |
4484
+ | Property | Type | Modifiers | Description |
4485
+ | :------- | :-------- | :-------- | :--------------------------------------------------------------------------------------------- |
4486
+ | isOpen | `boolean` | readonly | Whether the dialog is currently open. Returns `false` while no root is attached to the handle. |
3770
4487
 
3771
4488
  **Methods:**
3772
4489
 
@@ -3774,8 +4491,7 @@ A handle to control a Dialog imperatively and to associate detached triggers wit
3774
4491
  function open(triggerId: string | null): void;
3775
4492
  ```
3776
4493
 
3777
- Opens the dialog and associates it with the trigger with the given id.
3778
- The trigger, if provided, must be a matching Trigger component with this handle passed as a prop.
4494
+ Opens the dialog, optionally associating it with a trigger.
3779
4495
 
3780
4496
  This method should only be called in an event handler or an effect (not during rendering).
3781
4497
 
@@ -3783,8 +4499,9 @@ This method should only be called in an event handler or an effect (not during r
3783
4499
  function openWithPayload(payload: Payload): void;
3784
4500
  ```
3785
4501
 
3786
- Opens the dialog and sets the payload.
3787
- Does not associate the dialog with any trigger.
4502
+ Opens the dialog with the given payload, without associating it with any trigger.
4503
+
4504
+ This method should only be called in an event handler or an effect (not during rendering).
3788
4505
 
3789
4506
  ```typescript
3790
4507
  function close(): void;
@@ -3792,6 +4509,8 @@ function close(): void;
3792
4509
 
3793
4510
  Closes the dialog.
3794
4511
 
4512
+ This method should only be called in an event handler or an effect (not during rendering).
4513
+
3795
4514
  ## External Types
3796
4515
 
3797
4516
  ### InteractionType