@navikt/ds-react 7.36.0 → 7.38.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 (651) hide show
  1. package/cjs/accordion/AccordionContent.js +1 -1
  2. package/cjs/accordion/AccordionContent.js.map +1 -1
  3. package/cjs/accordion/AccordionHeader.js +1 -1
  4. package/cjs/accordion/AccordionHeader.js.map +1 -1
  5. package/cjs/alert/base-alert/content/BaseAlertContent.js +1 -1
  6. package/cjs/alert/base-alert/content/BaseAlertContent.js.map +1 -1
  7. package/cjs/alert/base-alert/root/BaseAlertRoot.context.d.ts +3 -2
  8. package/cjs/alert/base-alert/root/BaseAlertRoot.context.js +2 -3
  9. package/cjs/alert/base-alert/root/BaseAlertRoot.context.js.map +1 -1
  10. package/cjs/chips/Removable.js +1 -1
  11. package/cjs/chips/Removable.js.map +1 -1
  12. package/cjs/chips/Toggle.js +1 -1
  13. package/cjs/chips/Toggle.js.map +1 -1
  14. package/cjs/collapsible/Collapsible.context.d.ts +3 -2
  15. package/cjs/collapsible/Collapsible.context.js +3 -3
  16. package/cjs/collapsible/Collapsible.context.js.map +1 -1
  17. package/cjs/copybutton/CopyButton.js +5 -5
  18. package/cjs/copybutton/CopyButton.js.map +1 -1
  19. package/cjs/date/Date.Dialog.js +5 -1
  20. package/cjs/date/Date.Dialog.js.map +1 -1
  21. package/cjs/date/Date.Input.d.ts +3 -2
  22. package/cjs/date/Date.Input.js +4 -3
  23. package/cjs/date/Date.Input.js.map +1 -1
  24. package/cjs/date/Date.locale.d.ts +3 -2
  25. package/cjs/date/Date.locale.js +4 -2
  26. package/cjs/date/Date.locale.js.map +1 -1
  27. package/cjs/date/datepicker/parts/DatePicker.DayButton.d.ts +1 -1
  28. package/cjs/date/datepicker/parts/DatePicker.DayButton.js +1 -1
  29. package/cjs/date/datepicker/parts/DatePicker.DayButton.js.map +1 -1
  30. package/cjs/date/monthpicker/MonthPicker.context.d.ts +1 -1
  31. package/cjs/date/monthpicker/MonthPicker.context.js +2 -2
  32. package/cjs/date/monthpicker/MonthPicker.context.js.map +1 -1
  33. package/cjs/date/monthpicker/MonthPicker.js +1 -2
  34. package/cjs/date/monthpicker/MonthPicker.js.map +1 -1
  35. package/cjs/dialog/backdrop/DialogBackdropInternal.d.ts +5 -0
  36. package/cjs/dialog/backdrop/DialogBackdropInternal.js +59 -0
  37. package/cjs/dialog/backdrop/DialogBackdropInternal.js.map +1 -0
  38. package/cjs/dialog/body/DialogBody.d.ts +18 -0
  39. package/cjs/{link/stories/RandomIcon.js → dialog/body/DialogBody.js} +33 -13
  40. package/cjs/dialog/body/DialogBody.js.map +1 -0
  41. package/cjs/dialog/close-trigger/DialogCloseTrigger.d.ts +20 -0
  42. package/cjs/dialog/close-trigger/DialogCloseTrigger.js +76 -0
  43. package/cjs/dialog/close-trigger/DialogCloseTrigger.js.map +1 -0
  44. package/cjs/dialog/description/DialogDescription.d.ts +19 -0
  45. package/cjs/dialog/description/DialogDescription.js +73 -0
  46. package/cjs/dialog/description/DialogDescription.js.map +1 -0
  47. package/cjs/dialog/footer/DialogFooter.d.ts +20 -0
  48. package/cjs/dialog/footer/DialogFooter.js +71 -0
  49. package/cjs/dialog/footer/DialogFooter.js.map +1 -0
  50. package/cjs/dialog/header/DialogHeader.d.ts +25 -0
  51. package/cjs/dialog/header/DialogHeader.js +77 -0
  52. package/cjs/dialog/header/DialogHeader.js.map +1 -0
  53. package/cjs/dialog/index.d.ts +18 -0
  54. package/cjs/dialog/index.js +26 -0
  55. package/cjs/dialog/index.js.map +1 -0
  56. package/cjs/dialog/popup/DialogPopup.d.ts +22 -0
  57. package/cjs/dialog/popup/DialogPopup.js +80 -0
  58. package/cjs/dialog/popup/DialogPopup.js.map +1 -0
  59. package/cjs/dialog/popup/DialogPopupInternal.d.ts +60 -0
  60. package/cjs/dialog/popup/DialogPopupInternal.js +166 -0
  61. package/cjs/dialog/popup/DialogPopupInternal.js.map +1 -0
  62. package/cjs/dialog/root/DialogRoot.context.d.ts +84 -0
  63. package/cjs/dialog/root/DialogRoot.context.js +11 -0
  64. package/cjs/dialog/root/DialogRoot.context.js.map +1 -0
  65. package/cjs/dialog/root/DialogRoot.d.ts +179 -0
  66. package/cjs/dialog/root/DialogRoot.js +134 -0
  67. package/cjs/dialog/root/DialogRoot.js.map +1 -0
  68. package/cjs/dialog/title/DialogTitle.d.ts +18 -0
  69. package/cjs/dialog/title/DialogTitle.js +80 -0
  70. package/cjs/dialog/title/DialogTitle.js.map +1 -0
  71. package/cjs/dialog/trigger/DialogTrigger.d.ts +20 -0
  72. package/cjs/dialog/trigger/DialogTrigger.js +71 -0
  73. package/cjs/dialog/trigger/DialogTrigger.js.map +1 -0
  74. package/cjs/expansion-card/ExpansionCardContent.js +1 -1
  75. package/cjs/expansion-card/ExpansionCardContent.js.map +1 -1
  76. package/cjs/form/checkbox/Checkbox.js +1 -1
  77. package/cjs/form/checkbox/Checkbox.js.map +1 -1
  78. package/cjs/form/combobox/Combobox.d.ts +1 -1
  79. package/cjs/form/combobox/ComboboxWrapper.js +3 -1
  80. package/cjs/form/combobox/ComboboxWrapper.js.map +1 -1
  81. package/cjs/form/combobox/FilteredOptions/FilteredOptions.js +2 -4
  82. package/cjs/form/combobox/FilteredOptions/FilteredOptions.js.map +1 -1
  83. package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.d.ts +1 -1
  84. package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.js +2 -2
  85. package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.js.map +1 -1
  86. package/cjs/form/combobox/Input/Input.context.d.ts +1 -1
  87. package/cjs/form/combobox/Input/Input.context.js +2 -2
  88. package/cjs/form/combobox/Input/Input.context.js.map +1 -1
  89. package/cjs/form/combobox/Input/InputController.d.ts +1 -1
  90. package/cjs/form/combobox/Input/InputController.js.map +1 -1
  91. package/cjs/form/combobox/SelectedOptions/selectedOptionsContext.d.ts +1 -1
  92. package/cjs/form/combobox/SelectedOptions/selectedOptionsContext.js +4 -2
  93. package/cjs/form/combobox/SelectedOptions/selectedOptionsContext.js.map +1 -1
  94. package/cjs/form/combobox/customOptionsContext.d.ts +1 -1
  95. package/cjs/form/combobox/customOptionsContext.js +2 -2
  96. package/cjs/form/combobox/customOptionsContext.js.map +1 -1
  97. package/cjs/form/error-summary/ErrorSummary.js +3 -1
  98. package/cjs/form/error-summary/ErrorSummary.js.map +1 -1
  99. package/cjs/form/file-upload/FileUpload.context.d.ts +3 -2
  100. package/cjs/form/file-upload/FileUpload.context.js +4 -2
  101. package/cjs/form/file-upload/FileUpload.context.js.map +1 -1
  102. package/cjs/form/file-upload/parts/dropzone/Dropzone.js +2 -0
  103. package/cjs/form/file-upload/parts/dropzone/Dropzone.js.map +1 -1
  104. package/cjs/form/file-upload/useFileUpload.d.ts +1 -1
  105. package/cjs/form/radio/Radio.js +1 -1
  106. package/cjs/form/radio/Radio.js.map +1 -1
  107. package/cjs/form/search/Search.js +3 -2
  108. package/cjs/form/search/Search.js.map +1 -1
  109. package/cjs/guide-panel/GuidePanel.js +1 -1
  110. package/cjs/guide-panel/GuidePanel.js.map +1 -1
  111. package/cjs/help-text/HelpText.js +1 -1
  112. package/cjs/help-text/HelpText.js.map +1 -1
  113. package/cjs/index.d.ts +1 -0
  114. package/cjs/index.js +3 -1
  115. package/cjs/index.js.map +1 -1
  116. package/cjs/inline-message/root/InlineMessage.js +1 -1
  117. package/cjs/inline-message/root/InlineMessage.js.map +1 -1
  118. package/cjs/internal-header/InternalHeader.js +1 -1
  119. package/cjs/internal-header/InternalHeader.js.map +1 -1
  120. package/cjs/layout/base/BasePrimitive.js +1 -1
  121. package/cjs/layout/base/BasePrimitive.js.map +1 -1
  122. package/cjs/layout/base/PrimitiveAsChildProps.d.ts +1 -4
  123. package/cjs/layout/bleed/Bleed.js +1 -1
  124. package/cjs/layout/bleed/Bleed.js.map +1 -1
  125. package/cjs/layout/box/Box.js +1 -1
  126. package/cjs/layout/box/Box.js.map +1 -1
  127. package/cjs/layout/grid/HGrid.js +1 -1
  128. package/cjs/layout/grid/HGrid.js.map +1 -1
  129. package/cjs/layout/page/Page.js +1 -1
  130. package/cjs/layout/page/Page.js.map +1 -1
  131. package/cjs/layout/stack/Stack.js +1 -1
  132. package/cjs/layout/stack/Stack.js.map +1 -1
  133. package/cjs/link/Link.js +1 -1
  134. package/cjs/link/Link.js.map +1 -1
  135. package/cjs/link-card/LinkCard.js +2 -2
  136. package/cjs/link-card/LinkCard.js.map +1 -1
  137. package/cjs/list/List.js +1 -1
  138. package/cjs/list/List.js.map +1 -1
  139. package/cjs/modal/Modal.context.d.ts +4 -3
  140. package/cjs/modal/Modal.context.js +3 -3
  141. package/cjs/modal/Modal.context.js.map +1 -1
  142. package/cjs/modal/Modal.js +10 -3
  143. package/cjs/modal/Modal.js.map +1 -1
  144. package/cjs/overlays/action-menu/ActionMenu.js +9 -5
  145. package/cjs/overlays/action-menu/ActionMenu.js.map +1 -1
  146. package/cjs/overlays/dismissablelayer/DismissableLayer.d.ts +17 -4
  147. package/cjs/overlays/dismissablelayer/DismissableLayer.js +67 -19
  148. package/cjs/overlays/dismissablelayer/DismissableLayer.js.map +1 -1
  149. package/cjs/overlays/dismissablelayer/util/dispatchCustomEvent.d.ts +3 -2
  150. package/cjs/overlays/dismissablelayer/util/dispatchCustomEvent.js +1 -0
  151. package/cjs/overlays/dismissablelayer/util/dispatchCustomEvent.js.map +1 -1
  152. package/cjs/overlays/dismissablelayer/util/useEscapeKeydown.js +9 -4
  153. package/cjs/overlays/dismissablelayer/util/useEscapeKeydown.js.map +1 -1
  154. package/cjs/overlays/dismissablelayer/util/useFocusOutside.js +2 -2
  155. package/cjs/overlays/dismissablelayer/util/useFocusOutside.js.map +1 -1
  156. package/cjs/overlays/dismissablelayer/util/usePointerDownOutside.d.ts +2 -2
  157. package/cjs/overlays/dismissablelayer/util/usePointerDownOutside.js +2 -2
  158. package/cjs/overlays/dismissablelayer/util/usePointerDownOutside.js.map +1 -1
  159. package/cjs/overlays/dismissablelayer/util/usePointerUpOutside.d.ts +10 -0
  160. package/cjs/overlays/dismissablelayer/util/usePointerUpOutside.js +79 -0
  161. package/cjs/overlays/dismissablelayer/util/usePointerUpOutside.js.map +1 -0
  162. package/cjs/overlays/floating/Floating.d.ts +3 -2
  163. package/cjs/overlays/floating/Floating.js +9 -12
  164. package/cjs/overlays/floating/Floating.js.map +1 -1
  165. package/cjs/overlays/floating-menu/Menu.js +15 -19
  166. package/cjs/overlays/floating-menu/Menu.js.map +1 -1
  167. package/cjs/overlays/floating-menu/parts/RovingFocus.js +2 -1
  168. package/cjs/overlays/floating-menu/parts/RovingFocus.js.map +1 -1
  169. package/cjs/pagination/PaginationItem.js +1 -1
  170. package/cjs/pagination/PaginationItem.js.map +1 -1
  171. package/cjs/popover/Popover.js +1 -1
  172. package/cjs/popover/Popover.js.map +1 -1
  173. package/cjs/portal/Portal.js +1 -1
  174. package/cjs/portal/Portal.js.map +1 -1
  175. package/cjs/process/Process.js +2 -4
  176. package/cjs/process/Process.js.map +1 -1
  177. package/cjs/progress-bar/ProgressBar.js +4 -8
  178. package/cjs/progress-bar/ProgressBar.js.map +1 -1
  179. package/cjs/provider/Provider.d.ts +1 -5
  180. package/cjs/provider/Provider.js +0 -2
  181. package/cjs/provider/Provider.js.map +1 -1
  182. package/cjs/slot/Slot.js +12 -5
  183. package/cjs/slot/Slot.js.map +1 -1
  184. package/cjs/stepper/context.d.ts +3 -2
  185. package/cjs/stepper/context.js +3 -5
  186. package/cjs/stepper/context.js.map +1 -1
  187. package/cjs/tabs/Tabs.context.d.ts +5 -4
  188. package/cjs/tabs/Tabs.context.js +3 -5
  189. package/cjs/tabs/Tabs.context.js.map +1 -1
  190. package/cjs/tabs/parts/tab/useTab.d.ts +1 -1
  191. package/cjs/tabs/parts/tab/useTab.js +2 -1
  192. package/cjs/tabs/parts/tab/useTab.js.map +1 -1
  193. package/cjs/theme/Theme.d.ts +2 -2
  194. package/cjs/theme/Theme.js +4 -8
  195. package/cjs/theme/Theme.js.map +1 -1
  196. package/cjs/timeline/period/ClickablePeriod.js +1 -1
  197. package/cjs/timeline/period/ClickablePeriod.js.map +1 -1
  198. package/cjs/timeline/period/index.js +1 -1
  199. package/cjs/timeline/period/index.js.map +1 -1
  200. package/cjs/toggle-group/ToggleGroup.context.d.ts +5 -4
  201. package/cjs/toggle-group/ToggleGroup.context.js +3 -5
  202. package/cjs/toggle-group/ToggleGroup.context.js.map +1 -1
  203. package/cjs/toggle-group/ToggleGroup.js +1 -1
  204. package/cjs/toggle-group/ToggleGroup.js.map +1 -1
  205. package/cjs/toggle-group/parts/useToggleItem.d.ts +1 -1
  206. package/cjs/toggle-group/parts/useToggleItem.js +2 -1
  207. package/cjs/toggle-group/parts/useToggleItem.js.map +1 -1
  208. package/cjs/tooltip/Tooltip.js +3 -1
  209. package/cjs/tooltip/Tooltip.js.map +1 -1
  210. package/cjs/util/composition-warning/CompositionWarning.d.ts +3 -2
  211. package/cjs/util/composition-warning/CompositionWarning.js +3 -2
  212. package/cjs/util/composition-warning/CompositionWarning.js.map +1 -1
  213. package/cjs/util/create-strict-context.d.ts +40 -0
  214. package/cjs/util/{create-context.js → create-strict-context.js} +21 -19
  215. package/cjs/util/create-strict-context.js.map +1 -0
  216. package/cjs/util/focus-boundary/FocusBoundary.d.ts +1 -1
  217. package/cjs/util/focus-boundary/FocusBoundary.js +59 -16
  218. package/cjs/util/focus-boundary/FocusBoundary.js.map +1 -1
  219. package/cjs/util/hideNonTargetElements.js +2 -2
  220. package/cjs/util/hooks/descendants/useDescendant.d.ts +2 -2
  221. package/cjs/util/hooks/descendants/useDescendant.js +4 -3
  222. package/cjs/util/hooks/descendants/useDescendant.js.map +1 -1
  223. package/cjs/util/hooks/index.d.ts +0 -1
  224. package/cjs/util/hooks/index.js +1 -3
  225. package/cjs/util/hooks/index.js.map +1 -1
  226. package/{esm/overlays/overlay → cjs/util}/hooks/useAnimationsFinished.d.ts +1 -1
  227. package/cjs/{overlays/overlay → util}/hooks/useAnimationsFinished.js +7 -8
  228. package/cjs/util/hooks/useAnimationsFinished.js.map +1 -0
  229. package/cjs/util/hooks/useControllableState.js +4 -4
  230. package/cjs/util/hooks/useControllableState.js.map +1 -1
  231. package/cjs/util/hooks/useEventCallback.d.ts +2 -5
  232. package/cjs/util/hooks/useEventCallback.js +2 -3
  233. package/cjs/util/hooks/useEventCallback.js.map +1 -1
  234. package/cjs/util/hooks/useId.js +4 -1
  235. package/cjs/util/hooks/useId.js.map +1 -1
  236. package/cjs/util/hooks/useMergeRefs.d.ts +15 -9
  237. package/cjs/util/hooks/useMergeRefs.js +94 -28
  238. package/cjs/util/hooks/useMergeRefs.js.map +1 -1
  239. package/cjs/{overlays/overlay → util}/hooks/useOpenChangeAnimationComplete.js +3 -3
  240. package/cjs/util/hooks/useOpenChangeAnimationComplete.js.map +1 -0
  241. package/cjs/util/hooks/usePrevious.js.map +1 -1
  242. package/cjs/util/hooks/useScrollLock.js.map +1 -1
  243. package/cjs/{overlays/overlay → util}/hooks/useTransitionStatus.d.ts +6 -1
  244. package/cjs/{overlays/overlay → util}/hooks/useTransitionStatus.js +15 -4
  245. package/cjs/util/hooks/useTransitionStatus.js.map +1 -0
  246. package/cjs/util/hooks/useValueAsRef.d.ts +6 -0
  247. package/cjs/util/hooks/{useLatestRef.js → useValueAsRef.js} +3 -3
  248. package/cjs/util/hooks/useValueAsRef.js.map +1 -0
  249. package/cjs/util/link-anchor/LinkAnchor.js +2 -2
  250. package/cjs/util/link-anchor/LinkAnchor.js.map +1 -1
  251. package/cjs/util/resolveRef.d.ts +8 -0
  252. package/cjs/util/resolveRef.js +16 -0
  253. package/cjs/util/resolveRef.js.map +1 -0
  254. package/cjs/util/types/AsChildProps.d.ts +0 -4
  255. package/cjs/util/virtualfocus/Context.d.ts +5 -4
  256. package/cjs/util/virtualfocus/Context.js +4 -2
  257. package/cjs/util/virtualfocus/Context.js.map +1 -1
  258. package/esm/accordion/AccordionContent.js +1 -1
  259. package/esm/accordion/AccordionContent.js.map +1 -1
  260. package/esm/accordion/AccordionHeader.js +1 -1
  261. package/esm/accordion/AccordionHeader.js.map +1 -1
  262. package/esm/alert/base-alert/content/BaseAlertContent.js +1 -1
  263. package/esm/alert/base-alert/content/BaseAlertContent.js.map +1 -1
  264. package/esm/alert/base-alert/root/BaseAlertRoot.context.d.ts +3 -2
  265. package/esm/alert/base-alert/root/BaseAlertRoot.context.js +2 -3
  266. package/esm/alert/base-alert/root/BaseAlertRoot.context.js.map +1 -1
  267. package/esm/chips/Removable.js +1 -1
  268. package/esm/chips/Removable.js.map +1 -1
  269. package/esm/chips/Toggle.js +1 -1
  270. package/esm/chips/Toggle.js.map +1 -1
  271. package/esm/collapsible/Collapsible.context.d.ts +3 -2
  272. package/esm/collapsible/Collapsible.context.js +2 -2
  273. package/esm/collapsible/Collapsible.context.js.map +1 -1
  274. package/esm/copybutton/CopyButton.js +5 -5
  275. package/esm/copybutton/CopyButton.js.map +1 -1
  276. package/esm/date/Date.Dialog.js +5 -1
  277. package/esm/date/Date.Dialog.js.map +1 -1
  278. package/esm/date/Date.Input.d.ts +3 -2
  279. package/esm/date/Date.Input.js +3 -2
  280. package/esm/date/Date.Input.js.map +1 -1
  281. package/esm/date/Date.locale.d.ts +3 -2
  282. package/esm/date/Date.locale.js +4 -2
  283. package/esm/date/Date.locale.js.map +1 -1
  284. package/esm/date/datepicker/parts/DatePicker.DayButton.d.ts +1 -1
  285. package/esm/date/datepicker/parts/DatePicker.DayButton.js +1 -1
  286. package/esm/date/datepicker/parts/DatePicker.DayButton.js.map +1 -1
  287. package/esm/date/monthpicker/MonthPicker.context.d.ts +1 -1
  288. package/esm/date/monthpicker/MonthPicker.context.js +2 -2
  289. package/esm/date/monthpicker/MonthPicker.context.js.map +1 -1
  290. package/esm/date/monthpicker/MonthPicker.js +1 -2
  291. package/esm/date/monthpicker/MonthPicker.js.map +1 -1
  292. package/esm/dialog/backdrop/DialogBackdropInternal.d.ts +5 -0
  293. package/esm/dialog/backdrop/DialogBackdropInternal.js +23 -0
  294. package/esm/dialog/backdrop/DialogBackdropInternal.js.map +1 -0
  295. package/esm/dialog/body/DialogBody.d.ts +18 -0
  296. package/esm/dialog/body/DialogBody.js +33 -0
  297. package/esm/dialog/body/DialogBody.js.map +1 -0
  298. package/esm/dialog/close-trigger/DialogCloseTrigger.d.ts +20 -0
  299. package/esm/dialog/close-trigger/DialogCloseTrigger.js +40 -0
  300. package/esm/dialog/close-trigger/DialogCloseTrigger.js.map +1 -0
  301. package/esm/dialog/description/DialogDescription.d.ts +19 -0
  302. package/esm/dialog/description/DialogDescription.js +37 -0
  303. package/esm/dialog/description/DialogDescription.js.map +1 -0
  304. package/esm/dialog/footer/DialogFooter.d.ts +20 -0
  305. package/esm/dialog/footer/DialogFooter.js +35 -0
  306. package/esm/dialog/footer/DialogFooter.js.map +1 -0
  307. package/esm/dialog/header/DialogHeader.d.ts +25 -0
  308. package/esm/dialog/header/DialogHeader.js +41 -0
  309. package/esm/dialog/header/DialogHeader.js.map +1 -0
  310. package/esm/dialog/index.d.ts +18 -0
  311. package/esm/dialog/index.js +11 -0
  312. package/esm/dialog/index.js.map +1 -0
  313. package/esm/dialog/popup/DialogPopup.d.ts +22 -0
  314. package/esm/dialog/popup/DialogPopup.js +44 -0
  315. package/esm/dialog/popup/DialogPopup.js.map +1 -0
  316. package/esm/dialog/popup/DialogPopupInternal.d.ts +60 -0
  317. package/esm/dialog/popup/DialogPopupInternal.js +130 -0
  318. package/esm/dialog/popup/DialogPopupInternal.js.map +1 -0
  319. package/esm/dialog/root/DialogRoot.context.d.ts +84 -0
  320. package/esm/dialog/root/DialogRoot.context.js +7 -0
  321. package/esm/dialog/root/DialogRoot.context.js.map +1 -0
  322. package/esm/dialog/root/DialogRoot.d.ts +179 -0
  323. package/esm/dialog/root/DialogRoot.js +97 -0
  324. package/esm/dialog/root/DialogRoot.js.map +1 -0
  325. package/esm/dialog/title/DialogTitle.d.ts +18 -0
  326. package/esm/dialog/title/DialogTitle.js +44 -0
  327. package/esm/dialog/title/DialogTitle.js.map +1 -0
  328. package/esm/dialog/trigger/DialogTrigger.d.ts +20 -0
  329. package/esm/dialog/trigger/DialogTrigger.js +35 -0
  330. package/esm/dialog/trigger/DialogTrigger.js.map +1 -0
  331. package/esm/expansion-card/ExpansionCardContent.js +1 -1
  332. package/esm/expansion-card/ExpansionCardContent.js.map +1 -1
  333. package/esm/form/checkbox/Checkbox.js +1 -1
  334. package/esm/form/checkbox/Checkbox.js.map +1 -1
  335. package/esm/form/combobox/Combobox.d.ts +1 -1
  336. package/esm/form/combobox/ComboboxWrapper.js +3 -1
  337. package/esm/form/combobox/ComboboxWrapper.js.map +1 -1
  338. package/esm/form/combobox/FilteredOptions/FilteredOptions.js +2 -4
  339. package/esm/form/combobox/FilteredOptions/FilteredOptions.js.map +1 -1
  340. package/esm/form/combobox/FilteredOptions/filteredOptionsContext.d.ts +1 -1
  341. package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js +2 -2
  342. package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js.map +1 -1
  343. package/esm/form/combobox/Input/Input.context.d.ts +1 -1
  344. package/esm/form/combobox/Input/Input.context.js +2 -2
  345. package/esm/form/combobox/Input/Input.context.js.map +1 -1
  346. package/esm/form/combobox/Input/InputController.d.ts +1 -1
  347. package/esm/form/combobox/Input/InputController.js.map +1 -1
  348. package/esm/form/combobox/SelectedOptions/selectedOptionsContext.d.ts +1 -1
  349. package/esm/form/combobox/SelectedOptions/selectedOptionsContext.js +4 -2
  350. package/esm/form/combobox/SelectedOptions/selectedOptionsContext.js.map +1 -1
  351. package/esm/form/combobox/customOptionsContext.d.ts +1 -1
  352. package/esm/form/combobox/customOptionsContext.js +2 -2
  353. package/esm/form/combobox/customOptionsContext.js.map +1 -1
  354. package/esm/form/error-summary/ErrorSummary.js +3 -1
  355. package/esm/form/error-summary/ErrorSummary.js.map +1 -1
  356. package/esm/form/file-upload/FileUpload.context.d.ts +3 -2
  357. package/esm/form/file-upload/FileUpload.context.js +4 -2
  358. package/esm/form/file-upload/FileUpload.context.js.map +1 -1
  359. package/esm/form/file-upload/parts/dropzone/Dropzone.js +2 -0
  360. package/esm/form/file-upload/parts/dropzone/Dropzone.js.map +1 -1
  361. package/esm/form/file-upload/useFileUpload.d.ts +1 -1
  362. package/esm/form/radio/Radio.js +1 -1
  363. package/esm/form/radio/Radio.js.map +1 -1
  364. package/esm/form/search/Search.js +3 -2
  365. package/esm/form/search/Search.js.map +1 -1
  366. package/esm/guide-panel/GuidePanel.js +1 -1
  367. package/esm/guide-panel/GuidePanel.js.map +1 -1
  368. package/esm/help-text/HelpText.js +1 -1
  369. package/esm/help-text/HelpText.js.map +1 -1
  370. package/esm/index.d.ts +1 -0
  371. package/esm/index.js +1 -0
  372. package/esm/index.js.map +1 -1
  373. package/esm/inline-message/root/InlineMessage.js +1 -1
  374. package/esm/inline-message/root/InlineMessage.js.map +1 -1
  375. package/esm/internal-header/InternalHeader.js +1 -1
  376. package/esm/internal-header/InternalHeader.js.map +1 -1
  377. package/esm/layout/base/BasePrimitive.js +1 -1
  378. package/esm/layout/base/BasePrimitive.js.map +1 -1
  379. package/esm/layout/base/PrimitiveAsChildProps.d.ts +1 -4
  380. package/esm/layout/bleed/Bleed.js +1 -1
  381. package/esm/layout/bleed/Bleed.js.map +1 -1
  382. package/esm/layout/box/Box.js +1 -1
  383. package/esm/layout/box/Box.js.map +1 -1
  384. package/esm/layout/grid/HGrid.js +1 -1
  385. package/esm/layout/grid/HGrid.js.map +1 -1
  386. package/esm/layout/page/Page.js +1 -1
  387. package/esm/layout/page/Page.js.map +1 -1
  388. package/esm/layout/stack/Stack.js +1 -1
  389. package/esm/layout/stack/Stack.js.map +1 -1
  390. package/esm/link/Link.js +1 -1
  391. package/esm/link/Link.js.map +1 -1
  392. package/esm/link-card/LinkCard.js +2 -2
  393. package/esm/link-card/LinkCard.js.map +1 -1
  394. package/esm/list/List.js +1 -1
  395. package/esm/list/List.js.map +1 -1
  396. package/esm/modal/Modal.context.d.ts +4 -3
  397. package/esm/modal/Modal.context.js +2 -2
  398. package/esm/modal/Modal.context.js.map +1 -1
  399. package/esm/modal/Modal.js +10 -3
  400. package/esm/modal/Modal.js.map +1 -1
  401. package/esm/overlays/action-menu/ActionMenu.js +9 -5
  402. package/esm/overlays/action-menu/ActionMenu.js.map +1 -1
  403. package/esm/overlays/dismissablelayer/DismissableLayer.d.ts +17 -4
  404. package/esm/overlays/dismissablelayer/DismissableLayer.js +68 -20
  405. package/esm/overlays/dismissablelayer/DismissableLayer.js.map +1 -1
  406. package/esm/overlays/dismissablelayer/util/dispatchCustomEvent.d.ts +3 -2
  407. package/esm/overlays/dismissablelayer/util/dispatchCustomEvent.js +1 -0
  408. package/esm/overlays/dismissablelayer/util/dispatchCustomEvent.js.map +1 -1
  409. package/esm/overlays/dismissablelayer/util/useEscapeKeydown.js +9 -4
  410. package/esm/overlays/dismissablelayer/util/useEscapeKeydown.js.map +1 -1
  411. package/esm/overlays/dismissablelayer/util/useFocusOutside.js +2 -2
  412. package/esm/overlays/dismissablelayer/util/useFocusOutside.js.map +1 -1
  413. package/esm/overlays/dismissablelayer/util/usePointerDownOutside.d.ts +2 -2
  414. package/esm/overlays/dismissablelayer/util/usePointerDownOutside.js +2 -2
  415. package/esm/overlays/dismissablelayer/util/usePointerDownOutside.js.map +1 -1
  416. package/esm/overlays/dismissablelayer/util/usePointerUpOutside.d.ts +10 -0
  417. package/esm/overlays/dismissablelayer/util/usePointerUpOutside.js +76 -0
  418. package/esm/overlays/dismissablelayer/util/usePointerUpOutside.js.map +1 -0
  419. package/esm/overlays/floating/Floating.d.ts +3 -2
  420. package/esm/overlays/floating/Floating.js +9 -12
  421. package/esm/overlays/floating/Floating.js.map +1 -1
  422. package/esm/overlays/floating-menu/Menu.js +16 -20
  423. package/esm/overlays/floating-menu/Menu.js.map +1 -1
  424. package/esm/overlays/floating-menu/parts/RovingFocus.js +3 -2
  425. package/esm/overlays/floating-menu/parts/RovingFocus.js.map +1 -1
  426. package/esm/pagination/PaginationItem.js +1 -1
  427. package/esm/pagination/PaginationItem.js.map +1 -1
  428. package/esm/popover/Popover.js +1 -1
  429. package/esm/popover/Popover.js.map +1 -1
  430. package/esm/portal/Portal.js +1 -1
  431. package/esm/portal/Portal.js.map +1 -1
  432. package/esm/process/Process.js +2 -4
  433. package/esm/process/Process.js.map +1 -1
  434. package/esm/progress-bar/ProgressBar.js +4 -8
  435. package/esm/progress-bar/ProgressBar.js.map +1 -1
  436. package/esm/provider/Provider.d.ts +1 -5
  437. package/esm/provider/Provider.js +0 -2
  438. package/esm/provider/Provider.js.map +1 -1
  439. package/esm/slot/Slot.js +12 -5
  440. package/esm/slot/Slot.js.map +1 -1
  441. package/esm/stepper/context.d.ts +3 -2
  442. package/esm/stepper/context.js +2 -4
  443. package/esm/stepper/context.js.map +1 -1
  444. package/esm/tabs/Tabs.context.d.ts +5 -4
  445. package/esm/tabs/Tabs.context.js +2 -4
  446. package/esm/tabs/Tabs.context.js.map +1 -1
  447. package/esm/tabs/parts/tab/useTab.d.ts +1 -1
  448. package/esm/tabs/parts/tab/useTab.js +3 -2
  449. package/esm/tabs/parts/tab/useTab.js.map +1 -1
  450. package/esm/theme/Theme.d.ts +2 -2
  451. package/esm/theme/Theme.js +4 -8
  452. package/esm/theme/Theme.js.map +1 -1
  453. package/esm/timeline/period/ClickablePeriod.js +1 -1
  454. package/esm/timeline/period/ClickablePeriod.js.map +1 -1
  455. package/esm/timeline/period/index.js +1 -1
  456. package/esm/timeline/period/index.js.map +1 -1
  457. package/esm/toggle-group/ToggleGroup.context.d.ts +5 -4
  458. package/esm/toggle-group/ToggleGroup.context.js +2 -4
  459. package/esm/toggle-group/ToggleGroup.context.js.map +1 -1
  460. package/esm/toggle-group/ToggleGroup.js +1 -1
  461. package/esm/toggle-group/ToggleGroup.js.map +1 -1
  462. package/esm/toggle-group/parts/useToggleItem.d.ts +1 -1
  463. package/esm/toggle-group/parts/useToggleItem.js +3 -2
  464. package/esm/toggle-group/parts/useToggleItem.js.map +1 -1
  465. package/esm/tooltip/Tooltip.js +3 -1
  466. package/esm/tooltip/Tooltip.js.map +1 -1
  467. package/esm/util/composition-warning/CompositionWarning.d.ts +3 -2
  468. package/esm/util/composition-warning/CompositionWarning.js +3 -2
  469. package/esm/util/composition-warning/CompositionWarning.js.map +1 -1
  470. package/esm/util/create-strict-context.d.ts +40 -0
  471. package/esm/util/{create-context.js → create-strict-context.js} +22 -19
  472. package/esm/util/create-strict-context.js.map +1 -0
  473. package/esm/util/focus-boundary/FocusBoundary.d.ts +1 -1
  474. package/esm/util/focus-boundary/FocusBoundary.js +57 -14
  475. package/esm/util/focus-boundary/FocusBoundary.js.map +1 -1
  476. package/esm/util/hideNonTargetElements.js +2 -2
  477. package/esm/util/hooks/descendants/useDescendant.d.ts +2 -2
  478. package/esm/util/hooks/descendants/useDescendant.js +5 -4
  479. package/esm/util/hooks/descendants/useDescendant.js.map +1 -1
  480. package/esm/util/hooks/index.d.ts +0 -1
  481. package/esm/util/hooks/index.js +0 -1
  482. package/esm/util/hooks/index.js.map +1 -1
  483. package/{cjs/overlays/overlay → esm/util}/hooks/useAnimationsFinished.d.ts +1 -1
  484. package/esm/{overlays/overlay → util}/hooks/useAnimationsFinished.js +7 -8
  485. package/esm/util/hooks/useAnimationsFinished.js.map +1 -0
  486. package/esm/util/hooks/useControllableState.js +4 -4
  487. package/esm/util/hooks/useControllableState.js.map +1 -1
  488. package/esm/util/hooks/useEventCallback.d.ts +2 -5
  489. package/esm/util/hooks/useEventCallback.js +4 -4
  490. package/esm/util/hooks/useEventCallback.js.map +1 -1
  491. package/esm/util/hooks/useId.js +4 -1
  492. package/esm/util/hooks/useId.js.map +1 -1
  493. package/esm/util/hooks/useMergeRefs.d.ts +15 -9
  494. package/esm/util/hooks/useMergeRefs.js +93 -24
  495. package/esm/util/hooks/useMergeRefs.js.map +1 -1
  496. package/esm/{overlays/overlay → util}/hooks/useOpenChangeAnimationComplete.js +3 -3
  497. package/esm/util/hooks/useOpenChangeAnimationComplete.js.map +1 -0
  498. package/esm/util/hooks/usePrevious.js.map +1 -1
  499. package/esm/util/hooks/useScrollLock.js.map +1 -1
  500. package/esm/{overlays/overlay → util}/hooks/useTransitionStatus.d.ts +6 -1
  501. package/esm/{overlays/overlay → util}/hooks/useTransitionStatus.js +12 -2
  502. package/esm/util/hooks/useTransitionStatus.js.map +1 -0
  503. package/esm/util/hooks/useValueAsRef.d.ts +6 -0
  504. package/esm/util/hooks/{useLatestRef.js → useValueAsRef.js} +3 -2
  505. package/esm/util/hooks/useValueAsRef.js.map +1 -0
  506. package/esm/util/link-anchor/LinkAnchor.js +2 -2
  507. package/esm/util/link-anchor/LinkAnchor.js.map +1 -1
  508. package/esm/util/resolveRef.d.ts +8 -0
  509. package/esm/util/resolveRef.js +14 -0
  510. package/esm/util/resolveRef.js.map +1 -0
  511. package/esm/util/types/AsChildProps.d.ts +0 -4
  512. package/esm/util/virtualfocus/Context.d.ts +5 -4
  513. package/esm/util/virtualfocus/Context.js +4 -2
  514. package/esm/util/virtualfocus/Context.js.map +1 -1
  515. package/package.json +13 -3
  516. package/src/accordion/AccordionContent.tsx +1 -1
  517. package/src/accordion/AccordionHeader.tsx +1 -1
  518. package/src/alert/base-alert/content/BaseAlertContent.tsx +1 -1
  519. package/src/alert/base-alert/root/BaseAlertRoot.context.tsx +5 -5
  520. package/src/chips/Removable.tsx +1 -1
  521. package/src/chips/Toggle.tsx +1 -1
  522. package/src/collapsible/Collapsible.context.tsx +9 -7
  523. package/src/copybutton/CopyButton.tsx +5 -5
  524. package/src/date/Date.Dialog.tsx +6 -1
  525. package/src/date/Date.Input.tsx +8 -5
  526. package/src/date/Date.locale.ts +7 -3
  527. package/src/date/datepicker/parts/DatePicker.DayButton.tsx +1 -1
  528. package/src/date/monthpicker/MonthPicker.context.tsx +9 -7
  529. package/src/date/monthpicker/MonthPicker.tsx +1 -2
  530. package/src/dialog/backdrop/DialogBackdropInternal.tsx +29 -0
  531. package/src/dialog/body/DialogBody.tsx +36 -0
  532. package/src/dialog/close-trigger/DialogCloseTrigger.tsx +51 -0
  533. package/src/dialog/description/DialogDescription.tsx +44 -0
  534. package/src/dialog/footer/DialogFooter.tsx +38 -0
  535. package/src/dialog/header/DialogHeader.tsx +62 -0
  536. package/src/dialog/index.ts +19 -0
  537. package/src/dialog/popup/DialogPopup.tsx +67 -0
  538. package/src/dialog/popup/DialogPopupInternal.tsx +285 -0
  539. package/src/dialog/root/DialogRoot.context.ts +89 -0
  540. package/src/dialog/root/DialogRoot.tsx +296 -0
  541. package/src/dialog/title/DialogTitle.tsx +52 -0
  542. package/src/dialog/trigger/DialogTrigger.tsx +47 -0
  543. package/src/expansion-card/ExpansionCardContent.tsx +1 -1
  544. package/src/form/checkbox/Checkbox.tsx +1 -1
  545. package/src/form/combobox/ComboboxWrapper.tsx +1 -0
  546. package/src/form/combobox/FilteredOptions/FilteredOptions.tsx +1 -2
  547. package/src/form/combobox/FilteredOptions/filteredOptionsContext.tsx +9 -7
  548. package/src/form/combobox/Input/Input.context.tsx +3 -3
  549. package/src/form/combobox/Input/InputController.tsx +1 -0
  550. package/src/form/combobox/SelectedOptions/selectedOptionsContext.tsx +7 -3
  551. package/src/form/combobox/customOptionsContext.tsx +9 -7
  552. package/src/form/error-summary/ErrorSummary.tsx +1 -0
  553. package/src/form/file-upload/FileUpload.context.tsx +7 -3
  554. package/src/form/file-upload/parts/dropzone/Dropzone.tsx +6 -4
  555. package/src/form/radio/Radio.tsx +1 -1
  556. package/src/form/search/Search.tsx +3 -2
  557. package/src/guide-panel/GuidePanel.tsx +1 -1
  558. package/src/help-text/HelpText.tsx +1 -1
  559. package/src/index.ts +12 -0
  560. package/src/inline-message/root/InlineMessage.tsx +2 -1
  561. package/src/internal-header/InternalHeader.tsx +1 -1
  562. package/src/layout/base/BasePrimitive.tsx +1 -1
  563. package/src/layout/base/PrimitiveAsChildProps.ts +1 -4
  564. package/src/layout/bleed/Bleed.tsx +1 -1
  565. package/src/layout/box/Box.tsx +1 -1
  566. package/src/layout/grid/HGrid.tsx +1 -1
  567. package/src/layout/page/Page.tsx +1 -1
  568. package/src/layout/stack/Stack.tsx +1 -1
  569. package/src/link/Link.tsx +1 -1
  570. package/src/link-card/LinkCard.tsx +3 -3
  571. package/src/list/List.tsx +1 -1
  572. package/src/modal/Modal.context.ts +4 -4
  573. package/src/modal/Modal.tsx +10 -2
  574. package/src/overlays/action-menu/ActionMenu.tsx +10 -7
  575. package/src/overlays/dismissablelayer/DismissableLayer.tsx +117 -29
  576. package/src/overlays/dismissablelayer/util/dispatchCustomEvent.ts +3 -2
  577. package/src/overlays/dismissablelayer/util/useEscapeKeydown.ts +9 -4
  578. package/src/overlays/dismissablelayer/util/useFocusOutside.ts +2 -2
  579. package/src/overlays/dismissablelayer/util/usePointerDownOutside.ts +4 -4
  580. package/src/overlays/dismissablelayer/util/usePointerUpOutside.ts +95 -0
  581. package/src/overlays/floating/Floating.tsx +15 -20
  582. package/src/overlays/floating-menu/Menu.tsx +25 -26
  583. package/src/overlays/floating-menu/parts/RovingFocus.tsx +3 -2
  584. package/src/pagination/PaginationItem.tsx +1 -1
  585. package/src/popover/Popover.tsx +1 -1
  586. package/src/portal/Portal.tsx +1 -1
  587. package/src/process/Process.tsx +3 -5
  588. package/src/progress-bar/ProgressBar.tsx +2 -4
  589. package/src/provider/Provider.tsx +1 -5
  590. package/src/slot/Slot.tsx +14 -9
  591. package/src/stepper/context.ts +8 -8
  592. package/src/tabs/Tabs.context.ts +7 -8
  593. package/src/tabs/parts/tab/useTab.ts +4 -2
  594. package/src/theme/Theme.tsx +15 -17
  595. package/src/timeline/period/ClickablePeriod.tsx +1 -1
  596. package/src/timeline/period/index.tsx +2 -1
  597. package/src/toggle-group/ToggleGroup.context.ts +8 -8
  598. package/src/toggle-group/ToggleGroup.tsx +1 -1
  599. package/src/toggle-group/parts/useToggleItem.ts +4 -2
  600. package/src/tooltip/Tooltip.tsx +3 -1
  601. package/src/util/__tests__/useMergeRefs.test.ts +92 -0
  602. package/src/util/composition-warning/CompositionWarning.tsx +4 -3
  603. package/src/util/create-strict-context.tsx +91 -0
  604. package/src/util/focus-boundary/FocusBoundary.tsx +76 -17
  605. package/src/util/hideNonTargetElements.ts +2 -2
  606. package/src/util/hooks/descendants/useDescendant.tsx +9 -6
  607. package/src/util/hooks/index.ts +0 -1
  608. package/src/{overlays/overlay → util}/hooks/useAnimationsFinished.ts +8 -9
  609. package/src/util/hooks/useControllableState.ts +10 -13
  610. package/src/util/hooks/useEventCallback.ts +5 -6
  611. package/src/util/hooks/useId.ts +6 -1
  612. package/src/util/hooks/useMergeRefs.ts +147 -22
  613. package/src/{overlays/overlay → util}/hooks/useOpenChangeAnimationComplete.ts +3 -3
  614. package/src/util/hooks/usePrevious.ts +1 -0
  615. package/src/util/hooks/useScrollLock.ts +0 -1
  616. package/src/{overlays/overlay → util}/hooks/useTransitionStatus.ts +14 -2
  617. package/src/util/hooks/{useLatestRef.ts → useValueAsRef.ts} +3 -1
  618. package/src/util/link-anchor/LinkAnchor.tsx +7 -5
  619. package/src/util/resolveRef.ts +20 -0
  620. package/src/util/types/AsChildProps.ts +0 -4
  621. package/src/util/virtualfocus/Context.tsx +8 -6
  622. package/cjs/link/stories/RandomIcon.d.ts +0 -2
  623. package/cjs/link/stories/RandomIcon.js.map +0 -1
  624. package/cjs/overlays/overlay/hooks/useAnimationsFinished.js.map +0 -1
  625. package/cjs/overlays/overlay/hooks/useOpenChangeAnimationComplete.js.map +0 -1
  626. package/cjs/overlays/overlay/hooks/useTransitionStatus.js.map +0 -1
  627. package/cjs/util/create-context.d.ts +0 -20
  628. package/cjs/util/create-context.js.map +0 -1
  629. package/cjs/util/hooks/useCallbackRef.d.ts +0 -6
  630. package/cjs/util/hooks/useCallbackRef.js +0 -18
  631. package/cjs/util/hooks/useCallbackRef.js.map +0 -1
  632. package/cjs/util/hooks/useLatestRef.d.ts +0 -5
  633. package/cjs/util/hooks/useLatestRef.js.map +0 -1
  634. package/esm/link/stories/RandomIcon.d.ts +0 -2
  635. package/esm/link/stories/RandomIcon.js +0 -9
  636. package/esm/link/stories/RandomIcon.js.map +0 -1
  637. package/esm/overlays/overlay/hooks/useAnimationsFinished.js.map +0 -1
  638. package/esm/overlays/overlay/hooks/useOpenChangeAnimationComplete.js.map +0 -1
  639. package/esm/overlays/overlay/hooks/useTransitionStatus.js.map +0 -1
  640. package/esm/util/create-context.d.ts +0 -20
  641. package/esm/util/create-context.js.map +0 -1
  642. package/esm/util/hooks/useCallbackRef.d.ts +0 -6
  643. package/esm/util/hooks/useCallbackRef.js +0 -15
  644. package/esm/util/hooks/useCallbackRef.js.map +0 -1
  645. package/esm/util/hooks/useLatestRef.d.ts +0 -5
  646. package/esm/util/hooks/useLatestRef.js.map +0 -1
  647. package/src/link/stories/RandomIcon.tsx +0 -10
  648. package/src/util/create-context.tsx +0 -79
  649. package/src/util/hooks/useCallbackRef.ts +0 -20
  650. /package/cjs/{overlays/overlay → util}/hooks/useOpenChangeAnimationComplete.d.ts +0 -0
  651. /package/esm/{overlays/overlay → util}/hooks/useOpenChangeAnimationComplete.d.ts +0 -0
@@ -54,7 +54,7 @@ export const InlineMessage: OverridableComponent<
54
54
  forwardedRef,
55
55
  ) => {
56
56
  const { cn } = useRenameCSS();
57
- const themeContext = useThemeInternal(false);
57
+ const themeContext = useThemeInternal();
58
58
 
59
59
  const translate = useI18n("global");
60
60
  const statusId = useId();
@@ -76,6 +76,7 @@ export const InlineMessage: OverridableComponent<
76
76
  {`${translate(status)}: `}
77
77
  </BodyShort>
78
78
  )}
79
+ {/** biome-ignore lint/a11y/useAriaPropsSupportedByRole: Testing shows that this works. */}
79
80
  <span
80
81
  data-color={themeContext?.color}
81
82
  id={contentId}
@@ -78,7 +78,7 @@ interface InternalHeaderComponent
78
78
  * ```
79
79
  */
80
80
  export const InternalHeader = forwardRef(({ className, ...rest }, ref) => {
81
- const themeContext = useThemeInternal(false);
81
+ const themeContext = useThemeInternal();
82
82
  const { cn } = useRenameCSS();
83
83
 
84
84
  /*
@@ -251,7 +251,7 @@ export const BasePrimitive = ({
251
251
  flexShrink,
252
252
  gridColumn,
253
253
  }: BasePrimitiveProps) => {
254
- const themeContext = useThemeInternal(false);
254
+ const themeContext = useThemeInternal();
255
255
  const { cn } = useRenameCSS();
256
256
  const prefix = themeContext?.isDarkside ? "ax" : "a";
257
257
 
@@ -4,15 +4,14 @@ export type PrimitiveAsChildProps =
4
4
  /**
5
5
  * Renders the component and its child as a single element,
6
6
  * merging the props of the component with the props of the child.
7
+ *
7
8
  * @example
8
- * ```tsx
9
9
  * <Component asChild data-prop>
10
10
  * <ChildComponent data-child />
11
11
  * </Component>
12
12
  *
13
13
  * // Renders
14
14
  * <div data-prop data-child />
15
- * ```
16
15
  */
17
16
  asChild: true;
18
17
  /**
@@ -29,14 +28,12 @@ export type PrimitiveAsChildProps =
29
28
  * merging the props of the component with the props of the child.
30
29
  *
31
30
  * @example
32
- * ```tsx
33
31
  * <Component asChild data-prop>
34
32
  * <ChildComponent data-child />
35
33
  * </Component>
36
34
  *
37
35
  * // Renders
38
36
  * <div data-prop data-child />
39
- * ```
40
37
  */
41
38
  asChild?: false;
42
39
  };
@@ -80,7 +80,7 @@ export const Bleed = forwardRef<HTMLDivElement, BleedProps>(
80
80
  },
81
81
  ref,
82
82
  ) => {
83
- const themeContext = useThemeInternal(false);
83
+ const themeContext = useThemeInternal();
84
84
  const { cn } = useRenameCSS();
85
85
  const prefix = themeContext?.isDarkside ? "ax" : "a";
86
86
 
@@ -108,7 +108,7 @@ export const BoxComponent: OverridableComponent<BoxProps, HTMLDivElement> =
108
108
  },
109
109
  ref,
110
110
  ) => {
111
- const themeContext = useThemeInternal(false);
111
+ const themeContext = useThemeInternal();
112
112
  const { cn } = useRenameCSS();
113
113
 
114
114
  if (
@@ -77,7 +77,7 @@ export const HGrid: OverridableComponent<HGridProps, HTMLDivElement> =
77
77
  },
78
78
  ref,
79
79
  ) => {
80
- const themeContext = useThemeInternal(false);
80
+ const themeContext = useThemeInternal();
81
81
  const prefix = themeContext?.isDarkside ? "ax" : "a";
82
82
  const { cn } = useRenameCSS();
83
83
 
@@ -53,7 +53,7 @@ export const PageComponent: OverridableComponent<PageProps, HTMLElement> =
53
53
  },
54
54
  ref,
55
55
  ) => {
56
- const themeContext = useThemeInternal(false);
56
+ const themeContext = useThemeInternal();
57
57
  const { cn } = useRenameCSS();
58
58
 
59
59
  if (
@@ -83,7 +83,7 @@ export const Stack: OverridableComponent<StackProps, HTMLDivElement> =
83
83
  },
84
84
  ref,
85
85
  ) => {
86
- const themeContext = useThemeInternal(false);
86
+ const themeContext = useThemeInternal();
87
87
  const prefix = themeContext?.isDarkside ? "ax" : "a";
88
88
  const { cn } = useRenameCSS();
89
89
 
package/src/link/Link.tsx CHANGED
@@ -64,7 +64,7 @@ export const Link: OverridableComponent<LinkProps, HTMLAnchorElement> =
64
64
  },
65
65
  ref,
66
66
  ) => {
67
- const themeContext = useThemeInternal(false);
67
+ const themeContext = useThemeInternal();
68
68
  const { cn } = useRenameCSS();
69
69
 
70
70
  /*
@@ -1,7 +1,7 @@
1
1
  import React, { HTMLAttributes, forwardRef } from "react";
2
2
  import { useRenameCSS } from "../theme/Theme";
3
3
  import { BodyLong, Heading } from "../typography";
4
- import { createContext } from "../util/create-context";
4
+ import { createStrictContext } from "../util/create-strict-context";
5
5
  import {
6
6
  LinkAnchor,
7
7
  LinkAnchorArrow,
@@ -31,8 +31,8 @@ type LinkCardContextProps = {
31
31
  size: LinkCardProps["size"];
32
32
  };
33
33
 
34
- const [LinkCardContextProvider, useLinkCardContext] =
35
- createContext<LinkCardContextProps>({
34
+ const { Provider: LinkCardContextProvider, useContext: useLinkCardContext } =
35
+ createStrictContext<LinkCardContextProps>({
36
36
  name: "LinkCardContextProvider",
37
37
  });
38
38
 
package/src/list/List.tsx CHANGED
@@ -59,7 +59,7 @@ export const List = forwardRef<HTMLDivElement, ListProps>(
59
59
  const { size: contextSize } = useContext(ListContext);
60
60
 
61
61
  const { cn } = useRenameCSS();
62
- const themeContext = useThemeInternal(false);
62
+ const themeContext = useThemeInternal();
63
63
 
64
64
  const listSize = size ?? contextSize;
65
65
 
@@ -1,13 +1,13 @@
1
1
  import React from "react";
2
- import { createContext } from "../util/create-context";
2
+ import { createStrictContext } from "../util/create-strict-context";
3
3
 
4
4
  interface ModalContextProps {
5
5
  closeHandler?: React.MouseEventHandler<HTMLButtonElement>;
6
- ref: React.RefObject<HTMLDialogElement>;
6
+ modalRef: React.RefObject<HTMLDialogElement>;
7
7
  }
8
8
 
9
- export const [ModalContextProvider, useModalContext] =
10
- createContext<ModalContextProps>({
9
+ export const { Provider: ModalContextProvider, useContext: useModalContext } =
10
+ createStrictContext<ModalContextProps>({
11
11
  name: "ModalContext",
12
12
  errorMessage: "<Modal.Header> must be used within a <Modal>",
13
13
  });
@@ -230,7 +230,7 @@ export const Modal = forwardRef<HTMLDialogElement, ModalProps>(
230
230
  : ariaLabelledby;
231
231
 
232
232
  const component = (
233
- // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-noninteractive-element-interactions
233
+ // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
234
234
  <dialog
235
235
  {...rest}
236
236
  ref={mergedRef}
@@ -248,10 +248,18 @@ export const Modal = forwardRef<HTMLDialogElement, ModalProps>(
248
248
  : onMouseDown
249
249
  }
250
250
  aria-labelledby={mergedAriaLabelledBy}
251
+ onKeyDown={(e) => {
252
+ /**
253
+ * Stops propagation of Escape key to prevent closing parent modals/dialogs
254
+ */
255
+ if (e.key === "Escape") {
256
+ e.stopPropagation();
257
+ }
258
+ }}
251
259
  >
252
260
  <ModalContextProvider
253
261
  closeHandler={getCloseHandler(modalRef, header, onBeforeClose)}
254
- ref={modalRef}
262
+ modalRef={modalRef}
255
263
  >
256
264
  {header && (
257
265
  <ModalHeader>
@@ -5,7 +5,7 @@ import { Slot } from "../../slot/Slot";
5
5
  import { useRenameCSS, useThemeInternal } from "../../theme/Theme";
6
6
  import { OverridableComponent, useId } from "../../util";
7
7
  import { composeEventHandlers } from "../../util/composeEventHandlers";
8
- import { createContext } from "../../util/create-context";
8
+ import { createStrictContext } from "../../util/create-strict-context";
9
9
  import { useMergeRefs } from "../../util/hooks";
10
10
  import { useControllableState } from "../../util/hooks/useControllableState";
11
11
  import { requireReactElement } from "../../util/requireReactElement";
@@ -24,8 +24,8 @@ type ActionMenuContextValue = {
24
24
  rootElement: MenuPortalProps["rootElement"];
25
25
  };
26
26
 
27
- const [ActionMenuProvider, useActionMenuContext] =
28
- createContext<ActionMenuContextValue>({
27
+ const { Provider: ActionMenuProvider, useContext: useActionMenuContext } =
28
+ createStrictContext<ActionMenuContextValue>({
29
29
  name: "ActionMenuContext",
30
30
  errorMessage:
31
31
  "ActionMenu sub-components cannot be rendered outside the ActionMenu component.",
@@ -251,7 +251,9 @@ const ActionMenuRoot = ({
251
251
  const triggerRef = useRef<HTMLButtonElement>(null);
252
252
 
253
253
  const modalContext = useModalContext(false);
254
- const rootElement = modalContext ? modalContext.ref.current : rootElementProp;
254
+ const rootElement = modalContext
255
+ ? modalContext.modalRef.current
256
+ : rootElementProp;
255
257
 
256
258
  const [open = false, setOpen] = useControllableState({
257
259
  value: openProp,
@@ -315,7 +317,6 @@ export const ActionMenuTrigger = forwardRef<
315
317
  ref,
316
318
  ) => {
317
319
  const context = useActionMenuContext();
318
-
319
320
  const mergedRefs = useMergeRefs(ref, context.triggerRef);
320
321
 
321
322
  return (
@@ -384,7 +385,9 @@ export const ActionMenuContent = forwardRef<
384
385
  sideOffset={4}
385
386
  collisionPadding={10}
386
387
  returnFocus={context.triggerRef}
387
- safeZone={{ anchor: context.triggerRef.current }}
388
+ safeZone={{
389
+ anchor: context.triggerRef.current,
390
+ }}
388
391
  style={{
389
392
  ...style,
390
393
  ...{
@@ -773,7 +776,7 @@ export const ActionMenuRadioItem = forwardRef<
773
776
  ref,
774
777
  ) => {
775
778
  const { cn } = useRenameCSS();
776
- const themeContext = useThemeInternal(false);
779
+ const themeContext = useThemeInternal();
777
780
 
778
781
  return (
779
782
  <Menu.RadioItem
@@ -1,4 +1,10 @@
1
- import React, { forwardRef, useContext, useEffect, useState } from "react";
1
+ import React, {
2
+ forwardRef,
3
+ useContext,
4
+ useEffect,
5
+ useRef,
6
+ useState,
7
+ } from "react";
2
8
  import { Slot } from "../../slot/Slot";
3
9
  import { composeEventHandlers } from "../../util/composeEventHandlers";
4
10
  import { useMergeRefs } from "../../util/hooks";
@@ -6,12 +12,13 @@ import { ownerDocument } from "../../util/owner";
6
12
  import { AsChild } from "../../util/types/AsChild";
7
13
  import {
8
14
  CustomFocusEvent,
9
- CustomPointerDownEvent,
15
+ CustomPointerEvent,
10
16
  } from "./util/dispatchCustomEvent";
11
17
  import { getSortedLayers } from "./util/sort-layers";
12
18
  import { useEscapeKeydown } from "./util/useEscapeKeydown";
13
19
  import { useFocusOutside } from "./util/useFocusOutside";
14
20
  import { usePointerDownOutside } from "./util/usePointerDownOutside";
21
+ import { usePointerUpOutside } from "./util/usePointerUpOutside";
15
22
 
16
23
  interface DismissableLayerBaseProps
17
24
  extends React.HTMLAttributes<HTMLDivElement> {
@@ -30,7 +37,19 @@ interface DismissableLayerBaseProps
30
37
  * Event handler called when the a `pointerdown` event happens outside of the `DismissableLayer`.
31
38
  * Can be prevented.
32
39
  */
33
- onPointerDownOutside?: (event: CustomPointerDownEvent) => void;
40
+ onPointerDownOutside?: (event: CustomPointerEvent) => void;
41
+ /**
42
+ * Event handler called when the a `pointerup` event happens outside of the `DismissableLayer`.
43
+ * Can be prevented.
44
+ */
45
+ onPointerUpOutside?: (event: CustomPointerEvent) => void;
46
+ /**
47
+ * Enables listening for `pointerup` outside the `DismissableLayer`.
48
+ * In most cases `pointerdown` is sufficient, but in some cases (like modal, drawer)
49
+ * we want to mimic native OS behaviour and only close on `pointerup`.
50
+ * @default false
51
+ */
52
+ enablePointerUpOutside?: boolean;
34
53
  /**
35
54
  * Event handler called when the focus moves outside of the `DismissableLayer`.
36
55
  * Can be prevented.
@@ -41,15 +60,14 @@ interface DismissableLayerBaseProps
41
60
  * Specifically, when a `pointerdown` event happens outside or focus moves outside of it.
42
61
  * Can be prevented.
43
62
  */
44
- onInteractOutside?: (
45
- event: CustomPointerDownEvent | CustomFocusEvent,
46
- ) => void;
63
+ onInteractOutside?: (event: CustomPointerEvent | CustomFocusEvent) => void;
47
64
  /**
48
65
  * Handler called when the `DismissableLayer` should be dismissed
49
66
  */
50
- onDismiss?: () => void;
67
+ onDismiss?: (event: Event) => void;
51
68
  /**
52
69
  * Stops `onDismiss` from beeing called when interacting with the `safeZone` elements.
70
+ * - anchor: The element that should be considered safe to interact with.
53
71
  */
54
72
  safeZone?: {
55
73
  anchor?: Element | null;
@@ -90,6 +108,8 @@ const DismissableLayer = forwardRef<HTMLDivElement, DismissableLayerProps>(
90
108
  onEscapeKeyDown,
91
109
  onFocusOutside,
92
110
  onPointerDownOutside,
111
+ onPointerUpOutside,
112
+ enablePointerUpOutside = false,
93
113
  safeZone,
94
114
  asChild,
95
115
  enabled = true,
@@ -99,6 +119,8 @@ const DismissableLayer = forwardRef<HTMLDivElement, DismissableLayerProps>(
99
119
  ) => {
100
120
  const context = useContext(DismissableLayerContext);
101
121
 
122
+ const triggerPointerDownRef = useRef<boolean>(false);
123
+
102
124
  const [, forceRerender] = useState({});
103
125
  const [node, setNode] = React.useState<DismissableLayerElement | null>(
104
126
  null,
@@ -124,20 +146,15 @@ const DismissableLayer = forwardRef<HTMLDivElement, DismissableLayerProps>(
124
146
  * We want to prevent the Layer from closing when the trigger/anchor element or its child elements are interacted with.
125
147
  * To achieve this, we check if the event target is the trigger/anchor or a child. If it is, we prevent default event behavior.
126
148
  */
127
- function handleOutsideEvent(
128
- event: CustomFocusEvent | CustomPointerDownEvent,
129
- ) {
149
+ function handleOutsideEvent(event: CustomFocusEvent | CustomPointerEvent) {
130
150
  if (!safeZone?.anchor) {
131
151
  return;
132
152
  }
133
153
 
134
- let hasPointerDownOutside = false;
135
-
136
- if (!event.defaultPrevented) {
137
- if (event.detail.originalEvent.type === "pointerdown") {
138
- hasPointerDownOutside = true;
139
- }
140
- }
154
+ const eventType = event.detail.originalEvent.type as
155
+ | "pointerup"
156
+ | "pointerdown"
157
+ | "focusin";
141
158
 
142
159
  const target = event.target as HTMLElement;
143
160
 
@@ -149,19 +166,17 @@ const DismissableLayer = forwardRef<HTMLDivElement, DismissableLayerProps>(
149
166
  }
150
167
 
151
168
  /**
152
- * In Safari, if the trigger element is inside a container with tabIndex={0}, a click on the trigger
153
- * will first fire a 'pointerdownoutside' event on the trigger itself. However, it will then fire a
154
- * 'focusoutside' event on the container.
155
- *
156
- * To handle this, we ignore any 'focusoutside' events if a 'pointerdownoutside' event has already occurred.
157
- * 'pointerdownoutside' event is sufficient to indicate interaction outside the DismissableLayer.
169
+ * If the target is inside a custom element, event.target will be that element on pointerdown.
170
+ * Therefore, checking anchor.contains(target) etc. won't work in that case.
158
171
  */
159
172
  if (
160
- event.detail.originalEvent.type === "focusin" &&
161
- hasPointerDownOutside
173
+ eventType === "pointerdown" &&
174
+ triggerPointerDownRef.current === true
162
175
  ) {
163
176
  event.preventDefault();
164
177
  }
178
+
179
+ triggerPointerDownRef.current = false;
165
180
  }
166
181
 
167
182
  const pointerDownOutside = usePointerDownOutside(
@@ -182,7 +197,36 @@ const DismissableLayer = forwardRef<HTMLDivElement, DismissableLayerProps>(
182
197
  safeZone && handleOutsideEvent(event);
183
198
 
184
199
  if (!event.defaultPrevented && onDismiss) {
185
- onDismiss();
200
+ onDismiss(event);
201
+ }
202
+ },
203
+ ownerDoc,
204
+ enabled,
205
+ );
206
+
207
+ const pointerUpOutside = usePointerUpOutside(
208
+ (event) => {
209
+ if (!shouldEnablePointerEvents || !enablePointerUpOutside) {
210
+ return;
211
+ }
212
+
213
+ /**
214
+ * We call these before letting `handleOutsideEvent` do its checks to give consumer a chance to preventDefault based certain cases.
215
+ */
216
+ onPointerUpOutside?.(event);
217
+ onInteractOutside?.(event);
218
+
219
+ /**
220
+ * Add safeZone to prevent closing when interacting with trigger/anchor or its children.
221
+ */
222
+ safeZone && handleOutsideEvent(event);
223
+
224
+ /**
225
+ * Both `onPointerUpOutside`, `onInteractOutside` and `handleOutsideEvent`
226
+ * are able to preventDefault the event, thus stopping call for `onDismiss`.
227
+ */
228
+ if (!event.defaultPrevented && onDismiss) {
229
+ onDismiss(event);
186
230
  }
187
231
  },
188
232
  ownerDoc,
@@ -203,7 +247,7 @@ const DismissableLayer = forwardRef<HTMLDivElement, DismissableLayerProps>(
203
247
  safeZone && handleOutsideEvent(event);
204
248
 
205
249
  if (!event.defaultPrevented && onDismiss) {
206
- onDismiss();
250
+ onDismiss(event);
207
251
  }
208
252
  },
209
253
  ownerDoc,
@@ -230,14 +274,51 @@ const DismissableLayer = forwardRef<HTMLDivElement, DismissableLayerProps>(
230
274
  * We want to `preventDefault` the escape-event to avoid sideeffect from other elements on screen
231
275
  */
232
276
  if (!event.defaultPrevented && onDismiss) {
277
+ onDismiss(event);
278
+
279
+ /**
280
+ * Preventing after dismiss allows us to check if user prevents default on the escape event
281
+ * to avoid side effects on other elements after this layer has been dismissed.
282
+ */
233
283
  event.preventDefault();
234
- onDismiss();
235
284
  }
236
285
  },
237
286
  ownerDoc,
238
287
  enabled,
239
288
  );
240
289
 
290
+ useEffect(() => {
291
+ if (!safeZone?.anchor) {
292
+ return;
293
+ }
294
+
295
+ const handlePointerDown = () => {
296
+ triggerPointerDownRef.current = true;
297
+ };
298
+
299
+ const handlePointerEnd = () => {
300
+ triggerPointerDownRef.current = false;
301
+ };
302
+
303
+ const anchor = safeZone.anchor;
304
+
305
+ anchor.addEventListener("pointerdown", handlePointerDown, {
306
+ capture: true,
307
+ });
308
+ anchor.addEventListener("pointerup", handlePointerEnd);
309
+ anchor.addEventListener("pointerleave", handlePointerEnd);
310
+ anchor.addEventListener("pointercancel", handlePointerEnd);
311
+
312
+ return () => {
313
+ anchor.removeEventListener("pointerdown", handlePointerDown, {
314
+ capture: true,
315
+ });
316
+ anchor.removeEventListener("pointerup", handlePointerEnd);
317
+ anchor.removeEventListener("pointerleave", handlePointerEnd);
318
+ anchor.removeEventListener("pointercancel", handlePointerEnd);
319
+ };
320
+ }, [safeZone?.anchor]);
321
+
241
322
  /**
242
323
  * Handles registering `layers` and `layersWithOutsidePointerEventsDisabled`.
243
324
  */
@@ -364,7 +445,14 @@ const DismissableLayer = forwardRef<HTMLDivElement, DismissableLayerProps>(
364
445
  )}
365
446
  onPointerDownCapture={composeEventHandlers(
366
447
  restProps.onPointerDownCapture,
367
- pointerDownOutside.onPointerDownCapture,
448
+ () => {
449
+ pointerDownOutside.onPointerDownCapture();
450
+ pointerUpOutside.onPointerDownCapture();
451
+ },
452
+ )}
453
+ onPointerUpCapture={composeEventHandlers(
454
+ restProps.onPointerUpCapture,
455
+ pointerUpOutside.onPointerUpCapture,
368
456
  )}
369
457
  >
370
458
  {children}
@@ -1,15 +1,16 @@
1
1
  import ReactDOM from "react-dom";
2
2
 
3
3
  type CustomFocusEvent = CustomEvent<{ originalEvent: FocusEvent }>;
4
- type CustomPointerDownEvent = CustomEvent<{
4
+ type CustomPointerEvent = CustomEvent<{
5
5
  originalEvent: PointerEvent;
6
6
  }>;
7
7
 
8
- export type { CustomFocusEvent, CustomPointerDownEvent };
8
+ export type { CustomFocusEvent, CustomPointerEvent };
9
9
 
10
10
  export const CUSTOM_EVENTS = {
11
11
  FOCUS_OUTSIDE: "AKSEL_FOCUS_OUTSIDE",
12
12
  POINTER_DOWN_OUTSIDE: "AKSEL_POINTER_DOWN_OUTSIDE",
13
+ POINTER_UP_OUTSIDE: "AKSEL_POINTER_UP_OUTSIDE",
13
14
  };
14
15
 
15
16
  /**
@@ -1,12 +1,12 @@
1
1
  import { useEffect } from "react";
2
- import { useCallbackRef } from "../../../util/hooks";
2
+ import { useEventCallback } from "../../../util/hooks/useEventCallback";
3
3
 
4
4
  export function useEscapeKeydown(
5
5
  callback?: (event: KeyboardEvent) => void,
6
6
  ownerDocument: Document = globalThis?.document,
7
7
  enabled: boolean = true,
8
8
  ) {
9
- const onEscapeKeyDown = useCallbackRef(callback);
9
+ const onEscapeKeyDown = useEventCallback(callback);
10
10
 
11
11
  useEffect(() => {
12
12
  if (!enabled) {
@@ -19,10 +19,15 @@ export function useEscapeKeydown(
19
19
  }
20
20
  };
21
21
 
22
- ownerDocument.addEventListener("keydown", handleKeyDown, true);
22
+ /**
23
+ * We use the bubbling phase (not capture) so that elements inside the layer
24
+ * can handle Escape themselves and call stopPropagation() if needed.
25
+ * Layer ordering is handled programmatically via the DismissableLayerContext.
26
+ */
27
+ ownerDocument.addEventListener("keydown", handleKeyDown);
23
28
 
24
29
  return () => {
25
- ownerDocument.removeEventListener("keydown", handleKeyDown, true);
30
+ ownerDocument.removeEventListener("keydown", handleKeyDown);
26
31
  };
27
32
  }, [onEscapeKeyDown, ownerDocument, enabled]);
28
33
  }
@@ -1,5 +1,5 @@
1
1
  import { useEffect, useRef } from "react";
2
- import { useCallbackRef } from "../../../util/hooks";
2
+ import { useEventCallback } from "../../../util/hooks/useEventCallback";
3
3
  import {
4
4
  CUSTOM_EVENTS,
5
5
  CustomFocusEvent,
@@ -14,7 +14,7 @@ export function useFocusOutside(
14
14
  ownerDocument: Document = globalThis?.document,
15
15
  enabled: boolean = true,
16
16
  ) {
17
- const handleFocusOutside = useCallbackRef(callback) as EventListener;
17
+ const handleFocusOutside = useEventCallback(callback) as EventListener;
18
18
  const isFocusInsideReactTreeRef = useRef(false);
19
19
 
20
20
  useEffect(() => {
@@ -1,9 +1,9 @@
1
1
  import { useEffect, useRef } from "react";
2
- import { useCallbackRef } from "../../../util/hooks";
2
+ import { useEventCallback } from "../../../util/hooks/useEventCallback";
3
3
  import { useTimeout } from "../../../util/hooks/useTimeout";
4
4
  import {
5
5
  CUSTOM_EVENTS,
6
- CustomPointerDownEvent,
6
+ CustomPointerEvent,
7
7
  dispatchCustomEvent,
8
8
  } from "./dispatchCustomEvent";
9
9
 
@@ -14,11 +14,11 @@ import {
14
14
  * By checking `isPointerInsideReactTreeRef` we can determine if the event happened outside the subtree of the node, saving some element-comparisons.
15
15
  */
16
16
  export function usePointerDownOutside(
17
- callback?: (event: CustomPointerDownEvent) => void,
17
+ callback?: (event: CustomPointerEvent) => void,
18
18
  ownerDocument: Document = globalThis?.document,
19
19
  enabled: boolean = true,
20
20
  ) {
21
- const handlePointerDownOutside = useCallbackRef(callback) as EventListener;
21
+ const handlePointerDownOutside = useEventCallback(callback) as EventListener;
22
22
  const isPointerInsideReactTreeRef = useRef(false);
23
23
  const handleClickRef = useRef<typeof handlePointerDownOutside>(() => {});
24
24
  const timeout = useTimeout();