react-aria 3.50.0 → 3.51.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 (1178) hide show
  1. package/dist/exports/index.cjs +15 -0
  2. package/dist/exports/index.cjs.map +1 -1
  3. package/dist/exports/index.js +9 -1
  4. package/dist/exports/index.js.map +1 -1
  5. package/dist/exports/index.mjs +9 -1
  6. package/dist/exports/index.mjs.map +1 -1
  7. package/dist/exports/private/utils/domHelpers.cjs +1 -0
  8. package/dist/exports/private/utils/domHelpers.cjs.map +1 -1
  9. package/dist/exports/private/utils/domHelpers.js +2 -2
  10. package/dist/exports/private/utils/domHelpers.js.map +1 -1
  11. package/dist/exports/private/utils/domHelpers.mjs +2 -2
  12. package/dist/exports/private/utils/domHelpers.mjs.map +1 -1
  13. package/dist/exports/private/utils/platform.cjs +1 -0
  14. package/dist/exports/private/utils/platform.cjs.map +1 -1
  15. package/dist/exports/private/utils/platform.js +2 -2
  16. package/dist/exports/private/utils/platform.js.map +1 -1
  17. package/dist/exports/private/utils/platform.mjs +2 -2
  18. package/dist/exports/private/utils/platform.mjs.map +1 -1
  19. package/dist/exports/private/utils/shadowdom/DOMFunctions.cjs +1 -0
  20. package/dist/exports/private/utils/shadowdom/DOMFunctions.cjs.map +1 -1
  21. package/dist/exports/private/utils/shadowdom/DOMFunctions.js +2 -2
  22. package/dist/exports/private/utils/shadowdom/DOMFunctions.js.map +1 -1
  23. package/dist/exports/private/utils/shadowdom/DOMFunctions.mjs +2 -2
  24. package/dist/exports/private/utils/shadowdom/DOMFunctions.mjs.map +1 -1
  25. package/dist/exports/useContextMenu.cjs +22 -0
  26. package/dist/exports/useContextMenu.cjs.map +1 -0
  27. package/dist/exports/useContextMenu.js +17 -0
  28. package/dist/exports/useContextMenu.js.map +1 -0
  29. package/dist/exports/useContextMenu.mjs +17 -0
  30. package/dist/exports/useContextMenu.mjs.map +1 -0
  31. package/dist/exports/usePreviewTrigger.cjs +22 -0
  32. package/dist/exports/usePreviewTrigger.cjs.map +1 -0
  33. package/dist/exports/usePreviewTrigger.js +17 -0
  34. package/dist/exports/usePreviewTrigger.js.map +1 -0
  35. package/dist/exports/usePreviewTrigger.mjs +17 -0
  36. package/dist/exports/usePreviewTrigger.mjs.map +1 -0
  37. package/dist/exports/useTokenField.cjs +27 -0
  38. package/dist/exports/useTokenField.cjs.map +1 -0
  39. package/dist/exports/useTokenField.js +19 -0
  40. package/dist/exports/useTokenField.js.map +1 -0
  41. package/dist/exports/useTokenField.mjs +19 -0
  42. package/dist/exports/useTokenField.mjs.map +1 -0
  43. package/dist/private/actiongroup/useActionGroup.cjs +24 -19
  44. package/dist/private/actiongroup/useActionGroup.cjs.map +1 -1
  45. package/dist/private/actiongroup/useActionGroup.js +24 -19
  46. package/dist/private/actiongroup/useActionGroup.js.map +1 -1
  47. package/dist/private/actiongroup/useActionGroup.mjs +24 -19
  48. package/dist/private/actiongroup/useActionGroup.mjs.map +1 -1
  49. package/dist/private/autocomplete/useAutocomplete.cjs +2 -1
  50. package/dist/private/autocomplete/useAutocomplete.cjs.map +1 -1
  51. package/dist/private/autocomplete/useAutocomplete.js +2 -1
  52. package/dist/private/autocomplete/useAutocomplete.js.map +1 -1
  53. package/dist/private/autocomplete/useAutocomplete.mjs +2 -1
  54. package/dist/private/autocomplete/useAutocomplete.mjs.map +1 -1
  55. package/dist/private/breadcrumbs/useBreadcrumbItem.cjs +2 -0
  56. package/dist/private/breadcrumbs/useBreadcrumbItem.cjs.map +1 -1
  57. package/dist/private/breadcrumbs/useBreadcrumbItem.js +2 -0
  58. package/dist/private/breadcrumbs/useBreadcrumbItem.js.map +1 -1
  59. package/dist/private/breadcrumbs/useBreadcrumbItem.mjs +2 -0
  60. package/dist/private/breadcrumbs/useBreadcrumbItem.mjs.map +1 -1
  61. package/dist/private/button/useButton.cjs +2 -1
  62. package/dist/private/button/useButton.cjs.map +1 -1
  63. package/dist/private/button/useButton.js +2 -1
  64. package/dist/private/button/useButton.js.map +1 -1
  65. package/dist/private/button/useButton.mjs +2 -1
  66. package/dist/private/button/useButton.mjs.map +1 -1
  67. package/dist/private/button/useToggleButtonGroup.cjs +3 -0
  68. package/dist/private/button/useToggleButtonGroup.cjs.map +1 -1
  69. package/dist/private/button/useToggleButtonGroup.js +3 -0
  70. package/dist/private/button/useToggleButtonGroup.js.map +1 -1
  71. package/dist/private/button/useToggleButtonGroup.mjs +3 -0
  72. package/dist/private/button/useToggleButtonGroup.mjs.map +1 -1
  73. package/dist/private/calendar/useCalendarCell.cjs +3 -0
  74. package/dist/private/calendar/useCalendarCell.cjs.map +1 -1
  75. package/dist/private/calendar/useCalendarCell.js +3 -0
  76. package/dist/private/calendar/useCalendarCell.js.map +1 -1
  77. package/dist/private/calendar/useCalendarCell.mjs +3 -0
  78. package/dist/private/calendar/useCalendarCell.mjs.map +1 -1
  79. package/dist/private/calendar/useCalendarGrid.cjs +47 -52
  80. package/dist/private/calendar/useCalendarGrid.cjs.map +1 -1
  81. package/dist/private/calendar/useCalendarGrid.js +47 -52
  82. package/dist/private/calendar/useCalendarGrid.js.map +1 -1
  83. package/dist/private/calendar/useCalendarGrid.mjs +47 -52
  84. package/dist/private/calendar/useCalendarGrid.mjs.map +1 -1
  85. package/dist/private/calendar/useRangeCalendar.cjs +1 -0
  86. package/dist/private/calendar/useRangeCalendar.cjs.map +1 -1
  87. package/dist/private/calendar/useRangeCalendar.js +1 -0
  88. package/dist/private/calendar/useRangeCalendar.js.map +1 -1
  89. package/dist/private/calendar/useRangeCalendar.mjs +1 -0
  90. package/dist/private/calendar/useRangeCalendar.mjs.map +1 -1
  91. package/dist/private/collections/CollectionBuilder.cjs +8 -3
  92. package/dist/private/collections/CollectionBuilder.cjs.map +1 -1
  93. package/dist/private/collections/CollectionBuilder.js +8 -3
  94. package/dist/private/collections/CollectionBuilder.js.map +1 -1
  95. package/dist/private/collections/CollectionBuilder.mjs +8 -3
  96. package/dist/private/collections/CollectionBuilder.mjs.map +1 -1
  97. package/dist/private/collections/Document.cjs +4 -0
  98. package/dist/private/collections/Document.cjs.map +1 -1
  99. package/dist/private/collections/Document.js +4 -0
  100. package/dist/private/collections/Document.js.map +1 -1
  101. package/dist/private/collections/Document.mjs +4 -0
  102. package/dist/private/collections/Document.mjs.map +1 -1
  103. package/dist/private/collections/Hidden.cjs +1 -0
  104. package/dist/private/collections/Hidden.cjs.map +1 -1
  105. package/dist/private/collections/Hidden.js +1 -0
  106. package/dist/private/collections/Hidden.js.map +1 -1
  107. package/dist/private/collections/Hidden.mjs +1 -0
  108. package/dist/private/collections/Hidden.mjs.map +1 -1
  109. package/dist/private/collections/useCachedChildren.cjs +1 -0
  110. package/dist/private/collections/useCachedChildren.cjs.map +1 -1
  111. package/dist/private/collections/useCachedChildren.js +1 -0
  112. package/dist/private/collections/useCachedChildren.js.map +1 -1
  113. package/dist/private/collections/useCachedChildren.mjs +1 -0
  114. package/dist/private/collections/useCachedChildren.mjs.map +1 -1
  115. package/dist/private/color/useColorArea.cjs +31 -34
  116. package/dist/private/color/useColorArea.cjs.map +1 -1
  117. package/dist/private/color/useColorArea.js +31 -34
  118. package/dist/private/color/useColorArea.js.map +1 -1
  119. package/dist/private/color/useColorArea.mjs +31 -34
  120. package/dist/private/color/useColorArea.mjs.map +1 -1
  121. package/dist/private/color/useColorSlider.cjs +4 -2
  122. package/dist/private/color/useColorSlider.cjs.map +1 -1
  123. package/dist/private/color/useColorSlider.js +4 -2
  124. package/dist/private/color/useColorSlider.js.map +1 -1
  125. package/dist/private/color/useColorSlider.mjs +4 -2
  126. package/dist/private/color/useColorSlider.mjs.map +1 -1
  127. package/dist/private/color/useColorWheel.cjs +16 -23
  128. package/dist/private/color/useColorWheel.cjs.map +1 -1
  129. package/dist/private/color/useColorWheel.js +16 -23
  130. package/dist/private/color/useColorWheel.js.map +1 -1
  131. package/dist/private/color/useColorWheel.mjs +16 -23
  132. package/dist/private/color/useColorWheel.mjs.map +1 -1
  133. package/dist/private/combobox/useComboBox.cjs +92 -29
  134. package/dist/private/combobox/useComboBox.cjs.map +1 -1
  135. package/dist/private/combobox/useComboBox.js +93 -29
  136. package/dist/private/combobox/useComboBox.js.map +1 -1
  137. package/dist/private/combobox/useComboBox.mjs +92 -29
  138. package/dist/private/combobox/useComboBox.mjs.map +1 -1
  139. package/dist/private/datepicker/useDateField.cjs +3 -6
  140. package/dist/private/datepicker/useDateField.cjs.map +1 -1
  141. package/dist/private/datepicker/useDateField.js +3 -6
  142. package/dist/private/datepicker/useDateField.js.map +1 -1
  143. package/dist/private/datepicker/useDateField.mjs +3 -6
  144. package/dist/private/datepicker/useDateField.mjs.map +1 -1
  145. package/dist/private/datepicker/useDatePickerGroup.cjs +48 -27
  146. package/dist/private/datepicker/useDatePickerGroup.cjs.map +1 -1
  147. package/dist/private/datepicker/useDatePickerGroup.js +49 -28
  148. package/dist/private/datepicker/useDatePickerGroup.js.map +1 -1
  149. package/dist/private/datepicker/useDatePickerGroup.mjs +49 -28
  150. package/dist/private/datepicker/useDatePickerGroup.mjs.map +1 -1
  151. package/dist/private/datepicker/useDateSegment.cjs +21 -16
  152. package/dist/private/datepicker/useDateSegment.cjs.map +1 -1
  153. package/dist/private/datepicker/useDateSegment.js +22 -17
  154. package/dist/private/datepicker/useDateSegment.js.map +1 -1
  155. package/dist/private/datepicker/useDateSegment.mjs +22 -17
  156. package/dist/private/datepicker/useDateSegment.mjs.map +1 -1
  157. package/dist/private/dialog/useDialog.cjs +8 -1
  158. package/dist/private/dialog/useDialog.cjs.map +1 -1
  159. package/dist/private/dialog/useDialog.js +10 -1
  160. package/dist/private/dialog/useDialog.js.map +1 -1
  161. package/dist/private/dialog/useDialog.mjs +8 -1
  162. package/dist/private/dialog/useDialog.mjs.map +1 -1
  163. package/dist/private/dnd/DragManager.cjs +3 -1
  164. package/dist/private/dnd/DragManager.cjs.map +1 -1
  165. package/dist/private/dnd/DragManager.js +3 -1
  166. package/dist/private/dnd/DragManager.js.map +1 -1
  167. package/dist/private/dnd/DragManager.mjs +3 -1
  168. package/dist/private/dnd/DragManager.mjs.map +1 -1
  169. package/dist/private/dnd/useAutoScroll.cjs +3 -1
  170. package/dist/private/dnd/useAutoScroll.cjs.map +1 -1
  171. package/dist/private/dnd/useAutoScroll.js +3 -1
  172. package/dist/private/dnd/useAutoScroll.js.map +1 -1
  173. package/dist/private/dnd/useAutoScroll.mjs +3 -1
  174. package/dist/private/dnd/useAutoScroll.mjs.map +1 -1
  175. package/dist/private/dnd/useDrag.cjs +4 -1
  176. package/dist/private/dnd/useDrag.cjs.map +1 -1
  177. package/dist/private/dnd/useDrag.js +4 -1
  178. package/dist/private/dnd/useDrag.js.map +1 -1
  179. package/dist/private/dnd/useDrag.mjs +4 -1
  180. package/dist/private/dnd/useDrag.mjs.map +1 -1
  181. package/dist/private/dnd/useDraggableItem.cjs +4 -0
  182. package/dist/private/dnd/useDraggableItem.cjs.map +1 -1
  183. package/dist/private/dnd/useDraggableItem.js +4 -0
  184. package/dist/private/dnd/useDraggableItem.js.map +1 -1
  185. package/dist/private/dnd/useDraggableItem.mjs +4 -0
  186. package/dist/private/dnd/useDraggableItem.mjs.map +1 -1
  187. package/dist/private/dnd/useDroppableCollection.cjs +4 -0
  188. package/dist/private/dnd/useDroppableCollection.cjs.map +1 -1
  189. package/dist/private/dnd/useDroppableCollection.js +4 -0
  190. package/dist/private/dnd/useDroppableCollection.js.map +1 -1
  191. package/dist/private/dnd/useDroppableCollection.mjs +4 -0
  192. package/dist/private/dnd/useDroppableCollection.mjs.map +1 -1
  193. package/dist/private/focus/FocusScope.cjs +5 -3
  194. package/dist/private/focus/FocusScope.cjs.map +1 -1
  195. package/dist/private/focus/FocusScope.js +5 -4
  196. package/dist/private/focus/FocusScope.js.map +1 -1
  197. package/dist/private/focus/FocusScope.mjs +5 -3
  198. package/dist/private/focus/FocusScope.mjs.map +1 -1
  199. package/dist/private/focus/useFocusRing.cjs +2 -1
  200. package/dist/private/focus/useFocusRing.cjs.map +1 -1
  201. package/dist/private/focus/useFocusRing.js +2 -1
  202. package/dist/private/focus/useFocusRing.js.map +1 -1
  203. package/dist/private/focus/useFocusRing.mjs +2 -1
  204. package/dist/private/focus/useFocusRing.mjs.map +1 -1
  205. package/dist/private/form/useFormValidation.cjs +6 -0
  206. package/dist/private/form/useFormValidation.cjs.map +1 -1
  207. package/dist/private/form/useFormValidation.js +6 -0
  208. package/dist/private/form/useFormValidation.js.map +1 -1
  209. package/dist/private/form/useFormValidation.mjs +6 -0
  210. package/dist/private/form/useFormValidation.mjs.map +1 -1
  211. package/dist/private/grid/useGrid.cjs +3 -2
  212. package/dist/private/grid/useGrid.cjs.map +1 -1
  213. package/dist/private/grid/useGrid.js +3 -2
  214. package/dist/private/grid/useGrid.js.map +1 -1
  215. package/dist/private/grid/useGrid.mjs +3 -2
  216. package/dist/private/grid/useGrid.mjs.map +1 -1
  217. package/dist/private/grid/useGridCell.cjs +44 -8
  218. package/dist/private/grid/useGridCell.cjs.map +1 -1
  219. package/dist/private/grid/useGridCell.js +44 -8
  220. package/dist/private/grid/useGridCell.js.map +1 -1
  221. package/dist/private/grid/useGridCell.mjs +44 -8
  222. package/dist/private/grid/useGridCell.mjs.map +1 -1
  223. package/dist/private/grid/utils.cjs.map +1 -1
  224. package/dist/private/grid/utils.js.map +1 -1
  225. package/dist/private/grid/utils.mjs.map +1 -1
  226. package/dist/private/gridlist/useGridListItem.cjs +38 -30
  227. package/dist/private/gridlist/useGridListItem.cjs.map +1 -1
  228. package/dist/private/gridlist/useGridListItem.js +38 -30
  229. package/dist/private/gridlist/useGridListItem.js.map +1 -1
  230. package/dist/private/gridlist/useGridListItem.mjs +38 -30
  231. package/dist/private/gridlist/useGridListItem.mjs.map +1 -1
  232. package/dist/private/interactions/PressResponder.cjs +1 -0
  233. package/dist/private/interactions/PressResponder.cjs.map +1 -1
  234. package/dist/private/interactions/PressResponder.js +1 -0
  235. package/dist/private/interactions/PressResponder.js.map +1 -1
  236. package/dist/private/interactions/PressResponder.mjs +1 -0
  237. package/dist/private/interactions/PressResponder.mjs.map +1 -1
  238. package/dist/private/interactions/Pressable.cjs +1 -0
  239. package/dist/private/interactions/Pressable.cjs.map +1 -1
  240. package/dist/private/interactions/Pressable.js +1 -0
  241. package/dist/private/interactions/Pressable.js.map +1 -1
  242. package/dist/private/interactions/Pressable.mjs +1 -0
  243. package/dist/private/interactions/Pressable.mjs.map +1 -1
  244. package/dist/private/interactions/createEventHandler.cjs +3 -2
  245. package/dist/private/interactions/createEventHandler.cjs.map +1 -1
  246. package/dist/private/interactions/createEventHandler.js +3 -2
  247. package/dist/private/interactions/createEventHandler.js.map +1 -1
  248. package/dist/private/interactions/createEventHandler.mjs +3 -2
  249. package/dist/private/interactions/createEventHandler.mjs.map +1 -1
  250. package/dist/private/interactions/createKeyboardShortcutHandler.cjs +130 -0
  251. package/dist/private/interactions/createKeyboardShortcutHandler.cjs.map +1 -0
  252. package/dist/private/interactions/createKeyboardShortcutHandler.js +125 -0
  253. package/dist/private/interactions/createKeyboardShortcutHandler.js.map +1 -0
  254. package/dist/private/interactions/createKeyboardShortcutHandler.mjs +125 -0
  255. package/dist/private/interactions/createKeyboardShortcutHandler.mjs.map +1 -0
  256. package/dist/private/interactions/textSelection.cjs +2 -2
  257. package/dist/private/interactions/textSelection.cjs.map +1 -1
  258. package/dist/private/interactions/textSelection.js +3 -3
  259. package/dist/private/interactions/textSelection.js.map +1 -1
  260. package/dist/private/interactions/textSelection.mjs +3 -3
  261. package/dist/private/interactions/textSelection.mjs.map +1 -1
  262. package/dist/private/interactions/useContextMenu.cjs +104 -0
  263. package/dist/private/interactions/useContextMenu.cjs.map +1 -0
  264. package/dist/private/interactions/useContextMenu.js +99 -0
  265. package/dist/private/interactions/useContextMenu.js.map +1 -0
  266. package/dist/private/interactions/useContextMenu.mjs +99 -0
  267. package/dist/private/interactions/useContextMenu.mjs.map +1 -0
  268. package/dist/private/interactions/useFocusVisible.cjs +2 -2
  269. package/dist/private/interactions/useFocusVisible.cjs.map +1 -1
  270. package/dist/private/interactions/useFocusVisible.js +2 -2
  271. package/dist/private/interactions/useFocusVisible.js.map +1 -1
  272. package/dist/private/interactions/useFocusVisible.mjs +2 -2
  273. package/dist/private/interactions/useFocusVisible.mjs.map +1 -1
  274. package/dist/private/interactions/useFocusable.cjs +1 -0
  275. package/dist/private/interactions/useFocusable.cjs.map +1 -1
  276. package/dist/private/interactions/useFocusable.js +1 -0
  277. package/dist/private/interactions/useFocusable.js.map +1 -1
  278. package/dist/private/interactions/useFocusable.mjs +1 -0
  279. package/dist/private/interactions/useFocusable.mjs.map +1 -1
  280. package/dist/private/interactions/useHover.cjs +2 -1
  281. package/dist/private/interactions/useHover.cjs.map +1 -1
  282. package/dist/private/interactions/useHover.js +2 -1
  283. package/dist/private/interactions/useHover.js.map +1 -1
  284. package/dist/private/interactions/useHover.mjs +2 -1
  285. package/dist/private/interactions/useHover.mjs.map +1 -1
  286. package/dist/private/interactions/useKeyboard.cjs +46 -2
  287. package/dist/private/interactions/useKeyboard.cjs.map +1 -1
  288. package/dist/private/interactions/useKeyboard.js +48 -2
  289. package/dist/private/interactions/useKeyboard.js.map +1 -1
  290. package/dist/private/interactions/useKeyboard.mjs +46 -2
  291. package/dist/private/interactions/useKeyboard.mjs.map +1 -1
  292. package/dist/private/interactions/useLongPress.cjs +22 -22
  293. package/dist/private/interactions/useLongPress.cjs.map +1 -1
  294. package/dist/private/interactions/useLongPress.js +22 -22
  295. package/dist/private/interactions/useLongPress.js.map +1 -1
  296. package/dist/private/interactions/useLongPress.mjs +22 -22
  297. package/dist/private/interactions/useLongPress.mjs.map +1 -1
  298. package/dist/private/interactions/useMove.cjs +1 -8
  299. package/dist/private/interactions/useMove.cjs.map +1 -1
  300. package/dist/private/interactions/useMove.js +1 -8
  301. package/dist/private/interactions/useMove.js.map +1 -1
  302. package/dist/private/interactions/useMove.mjs +1 -8
  303. package/dist/private/interactions/useMove.mjs.map +1 -1
  304. package/dist/private/interactions/usePress.cjs +18 -33
  305. package/dist/private/interactions/usePress.cjs.map +1 -1
  306. package/dist/private/interactions/usePress.js +18 -33
  307. package/dist/private/interactions/usePress.js.map +1 -1
  308. package/dist/private/interactions/usePress.mjs +18 -33
  309. package/dist/private/interactions/usePress.mjs.map +1 -1
  310. package/dist/private/interactions/utils.cjs +10 -10
  311. package/dist/private/interactions/utils.cjs.map +1 -1
  312. package/dist/private/interactions/utils.js +10 -10
  313. package/dist/private/interactions/utils.js.map +1 -1
  314. package/dist/private/interactions/utils.mjs +10 -10
  315. package/dist/private/interactions/utils.mjs.map +1 -1
  316. package/dist/private/intl/combobox/fi-FI.cjs +5 -5
  317. package/dist/private/intl/combobox/fi-FI.cjs.map +1 -1
  318. package/dist/private/intl/combobox/fi-FI.js +5 -5
  319. package/dist/private/intl/combobox/fi-FI.js.map +1 -1
  320. package/dist/private/intl/combobox/fi-FI.mjs +5 -5
  321. package/dist/private/intl/combobox/fi-FI.mjs.map +1 -1
  322. package/dist/private/intl/previewtrigger/ar-AE.cjs +6 -0
  323. package/dist/private/intl/previewtrigger/ar-AE.cjs.map +1 -0
  324. package/dist/private/intl/previewtrigger/ar-AE.js +8 -0
  325. package/dist/private/intl/previewtrigger/ar-AE.js.map +1 -0
  326. package/dist/private/intl/previewtrigger/ar-AE.mjs +8 -0
  327. package/dist/private/intl/previewtrigger/ar-AE.mjs.map +1 -0
  328. package/dist/private/intl/previewtrigger/bg-BG.cjs +6 -0
  329. package/dist/private/intl/previewtrigger/bg-BG.cjs.map +1 -0
  330. package/dist/private/intl/previewtrigger/bg-BG.js +8 -0
  331. package/dist/private/intl/previewtrigger/bg-BG.js.map +1 -0
  332. package/dist/private/intl/previewtrigger/bg-BG.mjs +8 -0
  333. package/dist/private/intl/previewtrigger/bg-BG.mjs.map +1 -0
  334. package/dist/private/intl/previewtrigger/cs-CZ.cjs +6 -0
  335. package/dist/private/intl/previewtrigger/cs-CZ.cjs.map +1 -0
  336. package/dist/private/intl/previewtrigger/cs-CZ.js +8 -0
  337. package/dist/private/intl/previewtrigger/cs-CZ.js.map +1 -0
  338. package/dist/private/intl/previewtrigger/cs-CZ.mjs +8 -0
  339. package/dist/private/intl/previewtrigger/cs-CZ.mjs.map +1 -0
  340. package/dist/private/intl/previewtrigger/da-DK.cjs +6 -0
  341. package/dist/private/intl/previewtrigger/da-DK.cjs.map +1 -0
  342. package/dist/private/intl/previewtrigger/da-DK.js +8 -0
  343. package/dist/private/intl/previewtrigger/da-DK.js.map +1 -0
  344. package/dist/private/intl/previewtrigger/da-DK.mjs +8 -0
  345. package/dist/private/intl/previewtrigger/da-DK.mjs.map +1 -0
  346. package/dist/private/intl/previewtrigger/de-DE.cjs +6 -0
  347. package/dist/private/intl/previewtrigger/de-DE.cjs.map +1 -0
  348. package/dist/private/intl/previewtrigger/de-DE.js +8 -0
  349. package/dist/private/intl/previewtrigger/de-DE.js.map +1 -0
  350. package/dist/private/intl/previewtrigger/de-DE.mjs +8 -0
  351. package/dist/private/intl/previewtrigger/de-DE.mjs.map +1 -0
  352. package/dist/private/intl/previewtrigger/el-GR.cjs +6 -0
  353. package/dist/private/intl/previewtrigger/el-GR.cjs.map +1 -0
  354. package/dist/private/intl/previewtrigger/el-GR.js +8 -0
  355. package/dist/private/intl/previewtrigger/el-GR.js.map +1 -0
  356. package/dist/private/intl/previewtrigger/el-GR.mjs +8 -0
  357. package/dist/private/intl/previewtrigger/el-GR.mjs.map +1 -0
  358. package/dist/private/intl/previewtrigger/en-US.cjs +6 -0
  359. package/dist/private/intl/previewtrigger/en-US.cjs.map +1 -0
  360. package/dist/private/intl/previewtrigger/en-US.js +8 -0
  361. package/dist/private/intl/previewtrigger/en-US.js.map +1 -0
  362. package/dist/private/intl/previewtrigger/en-US.mjs +8 -0
  363. package/dist/private/intl/previewtrigger/en-US.mjs.map +1 -0
  364. package/dist/private/intl/previewtrigger/es-ES.cjs +6 -0
  365. package/dist/private/intl/previewtrigger/es-ES.cjs.map +1 -0
  366. package/dist/private/intl/previewtrigger/es-ES.js +8 -0
  367. package/dist/private/intl/previewtrigger/es-ES.js.map +1 -0
  368. package/dist/private/intl/previewtrigger/es-ES.mjs +8 -0
  369. package/dist/private/intl/previewtrigger/es-ES.mjs.map +1 -0
  370. package/dist/private/intl/previewtrigger/et-EE.cjs +6 -0
  371. package/dist/private/intl/previewtrigger/et-EE.cjs.map +1 -0
  372. package/dist/private/intl/previewtrigger/et-EE.js +8 -0
  373. package/dist/private/intl/previewtrigger/et-EE.js.map +1 -0
  374. package/dist/private/intl/previewtrigger/et-EE.mjs +8 -0
  375. package/dist/private/intl/previewtrigger/et-EE.mjs.map +1 -0
  376. package/dist/private/intl/previewtrigger/fi-FI.cjs +6 -0
  377. package/dist/private/intl/previewtrigger/fi-FI.cjs.map +1 -0
  378. package/dist/private/intl/previewtrigger/fi-FI.js +8 -0
  379. package/dist/private/intl/previewtrigger/fi-FI.js.map +1 -0
  380. package/dist/private/intl/previewtrigger/fi-FI.mjs +8 -0
  381. package/dist/private/intl/previewtrigger/fi-FI.mjs.map +1 -0
  382. package/dist/private/intl/previewtrigger/fr-FR.cjs +6 -0
  383. package/dist/private/intl/previewtrigger/fr-FR.cjs.map +1 -0
  384. package/dist/private/intl/previewtrigger/fr-FR.js +8 -0
  385. package/dist/private/intl/previewtrigger/fr-FR.js.map +1 -0
  386. package/dist/private/intl/previewtrigger/fr-FR.mjs +8 -0
  387. package/dist/private/intl/previewtrigger/fr-FR.mjs.map +1 -0
  388. package/dist/private/intl/previewtrigger/he-IL.cjs +6 -0
  389. package/dist/private/intl/previewtrigger/he-IL.cjs.map +1 -0
  390. package/dist/private/intl/previewtrigger/he-IL.js +8 -0
  391. package/dist/private/intl/previewtrigger/he-IL.js.map +1 -0
  392. package/dist/private/intl/previewtrigger/he-IL.mjs +8 -0
  393. package/dist/private/intl/previewtrigger/he-IL.mjs.map +1 -0
  394. package/dist/private/intl/previewtrigger/hr-HR.cjs +6 -0
  395. package/dist/private/intl/previewtrigger/hr-HR.cjs.map +1 -0
  396. package/dist/private/intl/previewtrigger/hr-HR.js +8 -0
  397. package/dist/private/intl/previewtrigger/hr-HR.js.map +1 -0
  398. package/dist/private/intl/previewtrigger/hr-HR.mjs +8 -0
  399. package/dist/private/intl/previewtrigger/hr-HR.mjs.map +1 -0
  400. package/dist/private/intl/previewtrigger/hu-HU.cjs +6 -0
  401. package/dist/private/intl/previewtrigger/hu-HU.cjs.map +1 -0
  402. package/dist/private/intl/previewtrigger/hu-HU.js +8 -0
  403. package/dist/private/intl/previewtrigger/hu-HU.js.map +1 -0
  404. package/dist/private/intl/previewtrigger/hu-HU.mjs +8 -0
  405. package/dist/private/intl/previewtrigger/hu-HU.mjs.map +1 -0
  406. package/dist/private/intl/previewtrigger/it-IT.cjs +6 -0
  407. package/dist/private/intl/previewtrigger/it-IT.cjs.map +1 -0
  408. package/dist/private/intl/previewtrigger/it-IT.js +8 -0
  409. package/dist/private/intl/previewtrigger/it-IT.js.map +1 -0
  410. package/dist/private/intl/previewtrigger/it-IT.mjs +8 -0
  411. package/dist/private/intl/previewtrigger/it-IT.mjs.map +1 -0
  412. package/dist/private/intl/previewtrigger/ja-JP.cjs +6 -0
  413. package/dist/private/intl/previewtrigger/ja-JP.cjs.map +1 -0
  414. package/dist/private/intl/previewtrigger/ja-JP.js +8 -0
  415. package/dist/private/intl/previewtrigger/ja-JP.js.map +1 -0
  416. package/dist/private/intl/previewtrigger/ja-JP.mjs +8 -0
  417. package/dist/private/intl/previewtrigger/ja-JP.mjs.map +1 -0
  418. package/dist/private/intl/previewtrigger/ko-KR.cjs +6 -0
  419. package/dist/private/intl/previewtrigger/ko-KR.cjs.map +1 -0
  420. package/dist/private/intl/previewtrigger/ko-KR.js +8 -0
  421. package/dist/private/intl/previewtrigger/ko-KR.js.map +1 -0
  422. package/dist/private/intl/previewtrigger/ko-KR.mjs +8 -0
  423. package/dist/private/intl/previewtrigger/ko-KR.mjs.map +1 -0
  424. package/dist/private/intl/previewtrigger/lt-LT.cjs +6 -0
  425. package/dist/private/intl/previewtrigger/lt-LT.cjs.map +1 -0
  426. package/dist/private/intl/previewtrigger/lt-LT.js +8 -0
  427. package/dist/private/intl/previewtrigger/lt-LT.js.map +1 -0
  428. package/dist/private/intl/previewtrigger/lt-LT.mjs +8 -0
  429. package/dist/private/intl/previewtrigger/lt-LT.mjs.map +1 -0
  430. package/dist/private/intl/previewtrigger/lv-LV.cjs +6 -0
  431. package/dist/private/intl/previewtrigger/lv-LV.cjs.map +1 -0
  432. package/dist/private/intl/previewtrigger/lv-LV.js +8 -0
  433. package/dist/private/intl/previewtrigger/lv-LV.js.map +1 -0
  434. package/dist/private/intl/previewtrigger/lv-LV.mjs +8 -0
  435. package/dist/private/intl/previewtrigger/lv-LV.mjs.map +1 -0
  436. package/dist/private/intl/previewtrigger/nb-NO.cjs +6 -0
  437. package/dist/private/intl/previewtrigger/nb-NO.cjs.map +1 -0
  438. package/dist/private/intl/previewtrigger/nb-NO.js +8 -0
  439. package/dist/private/intl/previewtrigger/nb-NO.js.map +1 -0
  440. package/dist/private/intl/previewtrigger/nb-NO.mjs +8 -0
  441. package/dist/private/intl/previewtrigger/nb-NO.mjs.map +1 -0
  442. package/dist/private/intl/previewtrigger/nl-NL.cjs +6 -0
  443. package/dist/private/intl/previewtrigger/nl-NL.cjs.map +1 -0
  444. package/dist/private/intl/previewtrigger/nl-NL.js +8 -0
  445. package/dist/private/intl/previewtrigger/nl-NL.js.map +1 -0
  446. package/dist/private/intl/previewtrigger/nl-NL.mjs +8 -0
  447. package/dist/private/intl/previewtrigger/nl-NL.mjs.map +1 -0
  448. package/dist/private/intl/previewtrigger/pl-PL.cjs +6 -0
  449. package/dist/private/intl/previewtrigger/pl-PL.cjs.map +1 -0
  450. package/dist/private/intl/previewtrigger/pl-PL.js +8 -0
  451. package/dist/private/intl/previewtrigger/pl-PL.js.map +1 -0
  452. package/dist/private/intl/previewtrigger/pl-PL.mjs +8 -0
  453. package/dist/private/intl/previewtrigger/pl-PL.mjs.map +1 -0
  454. package/dist/private/intl/previewtrigger/pt-BR.cjs +6 -0
  455. package/dist/private/intl/previewtrigger/pt-BR.cjs.map +1 -0
  456. package/dist/private/intl/previewtrigger/pt-BR.js +8 -0
  457. package/dist/private/intl/previewtrigger/pt-BR.js.map +1 -0
  458. package/dist/private/intl/previewtrigger/pt-BR.mjs +8 -0
  459. package/dist/private/intl/previewtrigger/pt-BR.mjs.map +1 -0
  460. package/dist/private/intl/previewtrigger/pt-PT.cjs +6 -0
  461. package/dist/private/intl/previewtrigger/pt-PT.cjs.map +1 -0
  462. package/dist/private/intl/previewtrigger/pt-PT.js +8 -0
  463. package/dist/private/intl/previewtrigger/pt-PT.js.map +1 -0
  464. package/dist/private/intl/previewtrigger/pt-PT.mjs +8 -0
  465. package/dist/private/intl/previewtrigger/pt-PT.mjs.map +1 -0
  466. package/dist/private/intl/previewtrigger/ro-RO.cjs +6 -0
  467. package/dist/private/intl/previewtrigger/ro-RO.cjs.map +1 -0
  468. package/dist/private/intl/previewtrigger/ro-RO.js +8 -0
  469. package/dist/private/intl/previewtrigger/ro-RO.js.map +1 -0
  470. package/dist/private/intl/previewtrigger/ro-RO.mjs +8 -0
  471. package/dist/private/intl/previewtrigger/ro-RO.mjs.map +1 -0
  472. package/dist/private/intl/previewtrigger/ru-RU.cjs +6 -0
  473. package/dist/private/intl/previewtrigger/ru-RU.cjs.map +1 -0
  474. package/dist/private/intl/previewtrigger/ru-RU.js +8 -0
  475. package/dist/private/intl/previewtrigger/ru-RU.js.map +1 -0
  476. package/dist/private/intl/previewtrigger/ru-RU.mjs +8 -0
  477. package/dist/private/intl/previewtrigger/ru-RU.mjs.map +1 -0
  478. package/dist/private/intl/previewtrigger/sk-SK.cjs +6 -0
  479. package/dist/private/intl/previewtrigger/sk-SK.cjs.map +1 -0
  480. package/dist/private/intl/previewtrigger/sk-SK.js +8 -0
  481. package/dist/private/intl/previewtrigger/sk-SK.js.map +1 -0
  482. package/dist/private/intl/previewtrigger/sk-SK.mjs +8 -0
  483. package/dist/private/intl/previewtrigger/sk-SK.mjs.map +1 -0
  484. package/dist/private/intl/previewtrigger/sl-SI.cjs +6 -0
  485. package/dist/private/intl/previewtrigger/sl-SI.cjs.map +1 -0
  486. package/dist/private/intl/previewtrigger/sl-SI.js +8 -0
  487. package/dist/private/intl/previewtrigger/sl-SI.js.map +1 -0
  488. package/dist/private/intl/previewtrigger/sl-SI.mjs +8 -0
  489. package/dist/private/intl/previewtrigger/sl-SI.mjs.map +1 -0
  490. package/dist/private/intl/previewtrigger/sr-SP.cjs +6 -0
  491. package/dist/private/intl/previewtrigger/sr-SP.cjs.map +1 -0
  492. package/dist/private/intl/previewtrigger/sr-SP.js +8 -0
  493. package/dist/private/intl/previewtrigger/sr-SP.js.map +1 -0
  494. package/dist/private/intl/previewtrigger/sr-SP.mjs +8 -0
  495. package/dist/private/intl/previewtrigger/sr-SP.mjs.map +1 -0
  496. package/dist/private/intl/previewtrigger/sv-SE.cjs +6 -0
  497. package/dist/private/intl/previewtrigger/sv-SE.cjs.map +1 -0
  498. package/dist/private/intl/previewtrigger/sv-SE.js +8 -0
  499. package/dist/private/intl/previewtrigger/sv-SE.js.map +1 -0
  500. package/dist/private/intl/previewtrigger/sv-SE.mjs +8 -0
  501. package/dist/private/intl/previewtrigger/sv-SE.mjs.map +1 -0
  502. package/dist/private/intl/previewtrigger/tr-TR.cjs +6 -0
  503. package/dist/private/intl/previewtrigger/tr-TR.cjs.map +1 -0
  504. package/dist/private/intl/previewtrigger/tr-TR.js +8 -0
  505. package/dist/private/intl/previewtrigger/tr-TR.js.map +1 -0
  506. package/dist/private/intl/previewtrigger/tr-TR.mjs +8 -0
  507. package/dist/private/intl/previewtrigger/tr-TR.mjs.map +1 -0
  508. package/dist/private/intl/previewtrigger/uk-UA.cjs +6 -0
  509. package/dist/private/intl/previewtrigger/uk-UA.cjs.map +1 -0
  510. package/dist/private/intl/previewtrigger/uk-UA.js +8 -0
  511. package/dist/private/intl/previewtrigger/uk-UA.js.map +1 -0
  512. package/dist/private/intl/previewtrigger/uk-UA.mjs +8 -0
  513. package/dist/private/intl/previewtrigger/uk-UA.mjs.map +1 -0
  514. package/dist/private/intl/previewtrigger/zh-CN.cjs +6 -0
  515. package/dist/private/intl/previewtrigger/zh-CN.cjs.map +1 -0
  516. package/dist/private/intl/previewtrigger/zh-CN.js +8 -0
  517. package/dist/private/intl/previewtrigger/zh-CN.js.map +1 -0
  518. package/dist/private/intl/previewtrigger/zh-CN.mjs +8 -0
  519. package/dist/private/intl/previewtrigger/zh-CN.mjs.map +1 -0
  520. package/dist/private/intl/previewtrigger/zh-TW.cjs +6 -0
  521. package/dist/private/intl/previewtrigger/zh-TW.cjs.map +1 -0
  522. package/dist/private/intl/previewtrigger/zh-TW.js +8 -0
  523. package/dist/private/intl/previewtrigger/zh-TW.js.map +1 -0
  524. package/dist/private/intl/previewtrigger/zh-TW.mjs +8 -0
  525. package/dist/private/intl/previewtrigger/zh-TW.mjs.map +1 -0
  526. package/dist/private/intl/table/ar-AE.cjs +3 -3
  527. package/dist/private/intl/table/ar-AE.cjs.map +1 -1
  528. package/dist/private/intl/table/ar-AE.js +3 -3
  529. package/dist/private/intl/table/ar-AE.js.map +1 -1
  530. package/dist/private/intl/table/ar-AE.mjs +3 -3
  531. package/dist/private/intl/table/ar-AE.mjs.map +1 -1
  532. package/dist/private/intl/table/bg-BG.cjs +3 -3
  533. package/dist/private/intl/table/bg-BG.cjs.map +1 -1
  534. package/dist/private/intl/table/bg-BG.js +3 -3
  535. package/dist/private/intl/table/bg-BG.js.map +1 -1
  536. package/dist/private/intl/table/bg-BG.mjs +3 -3
  537. package/dist/private/intl/table/bg-BG.mjs.map +1 -1
  538. package/dist/private/intl/table/cs-CZ.cjs +3 -3
  539. package/dist/private/intl/table/cs-CZ.cjs.map +1 -1
  540. package/dist/private/intl/table/cs-CZ.js +3 -3
  541. package/dist/private/intl/table/cs-CZ.js.map +1 -1
  542. package/dist/private/intl/table/cs-CZ.mjs +3 -3
  543. package/dist/private/intl/table/cs-CZ.mjs.map +1 -1
  544. package/dist/private/intl/table/da-DK.cjs +3 -3
  545. package/dist/private/intl/table/da-DK.cjs.map +1 -1
  546. package/dist/private/intl/table/da-DK.js +3 -3
  547. package/dist/private/intl/table/da-DK.js.map +1 -1
  548. package/dist/private/intl/table/da-DK.mjs +3 -3
  549. package/dist/private/intl/table/da-DK.mjs.map +1 -1
  550. package/dist/private/intl/table/de-DE.cjs +3 -3
  551. package/dist/private/intl/table/de-DE.cjs.map +1 -1
  552. package/dist/private/intl/table/de-DE.js +3 -3
  553. package/dist/private/intl/table/de-DE.js.map +1 -1
  554. package/dist/private/intl/table/de-DE.mjs +3 -3
  555. package/dist/private/intl/table/de-DE.mjs.map +1 -1
  556. package/dist/private/intl/table/el-GR.cjs +3 -3
  557. package/dist/private/intl/table/el-GR.cjs.map +1 -1
  558. package/dist/private/intl/table/el-GR.js +3 -3
  559. package/dist/private/intl/table/el-GR.js.map +1 -1
  560. package/dist/private/intl/table/el-GR.mjs +3 -3
  561. package/dist/private/intl/table/el-GR.mjs.map +1 -1
  562. package/dist/private/intl/table/es-ES.cjs +3 -3
  563. package/dist/private/intl/table/es-ES.cjs.map +1 -1
  564. package/dist/private/intl/table/es-ES.js +3 -3
  565. package/dist/private/intl/table/es-ES.js.map +1 -1
  566. package/dist/private/intl/table/es-ES.mjs +3 -3
  567. package/dist/private/intl/table/es-ES.mjs.map +1 -1
  568. package/dist/private/intl/table/et-EE.cjs +3 -3
  569. package/dist/private/intl/table/et-EE.cjs.map +1 -1
  570. package/dist/private/intl/table/et-EE.js +3 -3
  571. package/dist/private/intl/table/et-EE.js.map +1 -1
  572. package/dist/private/intl/table/et-EE.mjs +3 -3
  573. package/dist/private/intl/table/et-EE.mjs.map +1 -1
  574. package/dist/private/intl/table/fi-FI.cjs +3 -3
  575. package/dist/private/intl/table/fi-FI.cjs.map +1 -1
  576. package/dist/private/intl/table/fi-FI.js +3 -3
  577. package/dist/private/intl/table/fi-FI.js.map +1 -1
  578. package/dist/private/intl/table/fi-FI.mjs +3 -3
  579. package/dist/private/intl/table/fi-FI.mjs.map +1 -1
  580. package/dist/private/intl/table/fr-FR.cjs +3 -3
  581. package/dist/private/intl/table/fr-FR.cjs.map +1 -1
  582. package/dist/private/intl/table/fr-FR.js +3 -3
  583. package/dist/private/intl/table/fr-FR.js.map +1 -1
  584. package/dist/private/intl/table/fr-FR.mjs +3 -3
  585. package/dist/private/intl/table/fr-FR.mjs.map +1 -1
  586. package/dist/private/intl/table/he-IL.cjs +3 -3
  587. package/dist/private/intl/table/he-IL.cjs.map +1 -1
  588. package/dist/private/intl/table/he-IL.js +3 -3
  589. package/dist/private/intl/table/he-IL.js.map +1 -1
  590. package/dist/private/intl/table/he-IL.mjs +3 -3
  591. package/dist/private/intl/table/he-IL.mjs.map +1 -1
  592. package/dist/private/intl/table/hr-HR.cjs +3 -3
  593. package/dist/private/intl/table/hr-HR.cjs.map +1 -1
  594. package/dist/private/intl/table/hr-HR.js +3 -3
  595. package/dist/private/intl/table/hr-HR.js.map +1 -1
  596. package/dist/private/intl/table/hr-HR.mjs +3 -3
  597. package/dist/private/intl/table/hr-HR.mjs.map +1 -1
  598. package/dist/private/intl/table/hu-HU.cjs +3 -3
  599. package/dist/private/intl/table/hu-HU.cjs.map +1 -1
  600. package/dist/private/intl/table/hu-HU.js +3 -3
  601. package/dist/private/intl/table/hu-HU.js.map +1 -1
  602. package/dist/private/intl/table/hu-HU.mjs +3 -3
  603. package/dist/private/intl/table/hu-HU.mjs.map +1 -1
  604. package/dist/private/intl/table/it-IT.cjs +3 -3
  605. package/dist/private/intl/table/it-IT.cjs.map +1 -1
  606. package/dist/private/intl/table/it-IT.js +3 -3
  607. package/dist/private/intl/table/it-IT.js.map +1 -1
  608. package/dist/private/intl/table/it-IT.mjs +3 -3
  609. package/dist/private/intl/table/it-IT.mjs.map +1 -1
  610. package/dist/private/intl/table/ja-JP.cjs +3 -3
  611. package/dist/private/intl/table/ja-JP.cjs.map +1 -1
  612. package/dist/private/intl/table/ja-JP.js +3 -3
  613. package/dist/private/intl/table/ja-JP.js.map +1 -1
  614. package/dist/private/intl/table/ja-JP.mjs +3 -3
  615. package/dist/private/intl/table/ja-JP.mjs.map +1 -1
  616. package/dist/private/intl/table/ko-KR.cjs +3 -3
  617. package/dist/private/intl/table/ko-KR.cjs.map +1 -1
  618. package/dist/private/intl/table/ko-KR.js +3 -3
  619. package/dist/private/intl/table/ko-KR.js.map +1 -1
  620. package/dist/private/intl/table/ko-KR.mjs +3 -3
  621. package/dist/private/intl/table/ko-KR.mjs.map +1 -1
  622. package/dist/private/intl/table/lt-LT.cjs +3 -3
  623. package/dist/private/intl/table/lt-LT.cjs.map +1 -1
  624. package/dist/private/intl/table/lt-LT.js +3 -3
  625. package/dist/private/intl/table/lt-LT.js.map +1 -1
  626. package/dist/private/intl/table/lt-LT.mjs +3 -3
  627. package/dist/private/intl/table/lt-LT.mjs.map +1 -1
  628. package/dist/private/intl/table/lv-LV.cjs +3 -3
  629. package/dist/private/intl/table/lv-LV.cjs.map +1 -1
  630. package/dist/private/intl/table/lv-LV.js +3 -3
  631. package/dist/private/intl/table/lv-LV.js.map +1 -1
  632. package/dist/private/intl/table/lv-LV.mjs +3 -3
  633. package/dist/private/intl/table/lv-LV.mjs.map +1 -1
  634. package/dist/private/intl/table/nb-NO.cjs +3 -3
  635. package/dist/private/intl/table/nb-NO.cjs.map +1 -1
  636. package/dist/private/intl/table/nb-NO.js +3 -3
  637. package/dist/private/intl/table/nb-NO.js.map +1 -1
  638. package/dist/private/intl/table/nb-NO.mjs +3 -3
  639. package/dist/private/intl/table/nb-NO.mjs.map +1 -1
  640. package/dist/private/intl/table/nl-NL.cjs +3 -3
  641. package/dist/private/intl/table/nl-NL.cjs.map +1 -1
  642. package/dist/private/intl/table/nl-NL.js +3 -3
  643. package/dist/private/intl/table/nl-NL.js.map +1 -1
  644. package/dist/private/intl/table/nl-NL.mjs +3 -3
  645. package/dist/private/intl/table/nl-NL.mjs.map +1 -1
  646. package/dist/private/intl/table/pl-PL.cjs +3 -3
  647. package/dist/private/intl/table/pl-PL.cjs.map +1 -1
  648. package/dist/private/intl/table/pl-PL.js +3 -3
  649. package/dist/private/intl/table/pl-PL.js.map +1 -1
  650. package/dist/private/intl/table/pl-PL.mjs +3 -3
  651. package/dist/private/intl/table/pl-PL.mjs.map +1 -1
  652. package/dist/private/intl/table/pt-BR.cjs +3 -3
  653. package/dist/private/intl/table/pt-BR.cjs.map +1 -1
  654. package/dist/private/intl/table/pt-BR.js +3 -3
  655. package/dist/private/intl/table/pt-BR.js.map +1 -1
  656. package/dist/private/intl/table/pt-BR.mjs +3 -3
  657. package/dist/private/intl/table/pt-BR.mjs.map +1 -1
  658. package/dist/private/intl/table/pt-PT.cjs +3 -3
  659. package/dist/private/intl/table/pt-PT.cjs.map +1 -1
  660. package/dist/private/intl/table/pt-PT.js +3 -3
  661. package/dist/private/intl/table/pt-PT.js.map +1 -1
  662. package/dist/private/intl/table/pt-PT.mjs +3 -3
  663. package/dist/private/intl/table/pt-PT.mjs.map +1 -1
  664. package/dist/private/intl/table/ro-RO.cjs +3 -3
  665. package/dist/private/intl/table/ro-RO.cjs.map +1 -1
  666. package/dist/private/intl/table/ro-RO.js +3 -3
  667. package/dist/private/intl/table/ro-RO.js.map +1 -1
  668. package/dist/private/intl/table/ro-RO.mjs +3 -3
  669. package/dist/private/intl/table/ro-RO.mjs.map +1 -1
  670. package/dist/private/intl/table/ru-RU.cjs +3 -3
  671. package/dist/private/intl/table/ru-RU.cjs.map +1 -1
  672. package/dist/private/intl/table/ru-RU.js +3 -3
  673. package/dist/private/intl/table/ru-RU.js.map +1 -1
  674. package/dist/private/intl/table/ru-RU.mjs +3 -3
  675. package/dist/private/intl/table/ru-RU.mjs.map +1 -1
  676. package/dist/private/intl/table/sk-SK.cjs +3 -3
  677. package/dist/private/intl/table/sk-SK.cjs.map +1 -1
  678. package/dist/private/intl/table/sk-SK.js +3 -3
  679. package/dist/private/intl/table/sk-SK.js.map +1 -1
  680. package/dist/private/intl/table/sk-SK.mjs +3 -3
  681. package/dist/private/intl/table/sk-SK.mjs.map +1 -1
  682. package/dist/private/intl/table/sl-SI.cjs +3 -3
  683. package/dist/private/intl/table/sl-SI.cjs.map +1 -1
  684. package/dist/private/intl/table/sl-SI.js +3 -3
  685. package/dist/private/intl/table/sl-SI.js.map +1 -1
  686. package/dist/private/intl/table/sl-SI.mjs +3 -3
  687. package/dist/private/intl/table/sl-SI.mjs.map +1 -1
  688. package/dist/private/intl/table/sr-SP.cjs +3 -3
  689. package/dist/private/intl/table/sr-SP.cjs.map +1 -1
  690. package/dist/private/intl/table/sr-SP.js +3 -3
  691. package/dist/private/intl/table/sr-SP.js.map +1 -1
  692. package/dist/private/intl/table/sr-SP.mjs +3 -3
  693. package/dist/private/intl/table/sr-SP.mjs.map +1 -1
  694. package/dist/private/intl/table/sv-SE.cjs +3 -3
  695. package/dist/private/intl/table/sv-SE.cjs.map +1 -1
  696. package/dist/private/intl/table/sv-SE.js +3 -3
  697. package/dist/private/intl/table/sv-SE.js.map +1 -1
  698. package/dist/private/intl/table/sv-SE.mjs +3 -3
  699. package/dist/private/intl/table/sv-SE.mjs.map +1 -1
  700. package/dist/private/intl/table/tr-TR.cjs +3 -3
  701. package/dist/private/intl/table/tr-TR.cjs.map +1 -1
  702. package/dist/private/intl/table/tr-TR.js +3 -3
  703. package/dist/private/intl/table/tr-TR.js.map +1 -1
  704. package/dist/private/intl/table/tr-TR.mjs +3 -3
  705. package/dist/private/intl/table/tr-TR.mjs.map +1 -1
  706. package/dist/private/intl/table/uk-UA.cjs +3 -3
  707. package/dist/private/intl/table/uk-UA.cjs.map +1 -1
  708. package/dist/private/intl/table/uk-UA.js +3 -3
  709. package/dist/private/intl/table/uk-UA.js.map +1 -1
  710. package/dist/private/intl/table/uk-UA.mjs +3 -3
  711. package/dist/private/intl/table/uk-UA.mjs.map +1 -1
  712. package/dist/private/intl/table/zh-CN.cjs +4 -4
  713. package/dist/private/intl/table/zh-CN.cjs.map +1 -1
  714. package/dist/private/intl/table/zh-CN.js +4 -4
  715. package/dist/private/intl/table/zh-CN.js.map +1 -1
  716. package/dist/private/intl/table/zh-CN.mjs +4 -4
  717. package/dist/private/intl/table/zh-CN.mjs.map +1 -1
  718. package/dist/private/intl/table/zh-TW.cjs +3 -3
  719. package/dist/private/intl/table/zh-TW.cjs.map +1 -1
  720. package/dist/private/intl/table/zh-TW.js +3 -3
  721. package/dist/private/intl/table/zh-TW.js.map +1 -1
  722. package/dist/private/intl/table/zh-TW.mjs +3 -3
  723. package/dist/private/intl/table/zh-TW.mjs.map +1 -1
  724. package/dist/private/intl/tree/es-ES.cjs +1 -1
  725. package/dist/private/intl/tree/es-ES.cjs.map +1 -1
  726. package/dist/private/intl/tree/es-ES.js +1 -1
  727. package/dist/private/intl/tree/es-ES.js.map +1 -1
  728. package/dist/private/intl/tree/es-ES.mjs +1 -1
  729. package/dist/private/intl/tree/es-ES.mjs.map +1 -1
  730. package/dist/private/link/useLink.cjs +2 -1
  731. package/dist/private/link/useLink.cjs.map +1 -1
  732. package/dist/private/link/useLink.js +2 -1
  733. package/dist/private/link/useLink.js.map +1 -1
  734. package/dist/private/link/useLink.mjs +2 -1
  735. package/dist/private/link/useLink.mjs.map +1 -1
  736. package/dist/private/menu/useMenuItem.cjs +33 -33
  737. package/dist/private/menu/useMenuItem.cjs.map +1 -1
  738. package/dist/private/menu/useMenuItem.js +33 -33
  739. package/dist/private/menu/useMenuItem.js.map +1 -1
  740. package/dist/private/menu/useMenuItem.mjs +33 -33
  741. package/dist/private/menu/useMenuItem.mjs.map +1 -1
  742. package/dist/private/menu/useMenuTrigger.cjs +96 -30
  743. package/dist/private/menu/useMenuTrigger.cjs.map +1 -1
  744. package/dist/private/menu/useMenuTrigger.js +96 -30
  745. package/dist/private/menu/useMenuTrigger.js.map +1 -1
  746. package/dist/private/menu/useMenuTrigger.mjs +96 -30
  747. package/dist/private/menu/useMenuTrigger.mjs.map +1 -1
  748. package/dist/private/menu/useSubmenuTrigger.cjs +44 -36
  749. package/dist/private/menu/useSubmenuTrigger.cjs.map +1 -1
  750. package/dist/private/menu/useSubmenuTrigger.js +44 -36
  751. package/dist/private/menu/useSubmenuTrigger.js.map +1 -1
  752. package/dist/private/menu/useSubmenuTrigger.mjs +44 -36
  753. package/dist/private/menu/useSubmenuTrigger.mjs.map +1 -1
  754. package/dist/private/numberfield/useNumberField.cjs +24 -19
  755. package/dist/private/numberfield/useNumberField.cjs.map +1 -1
  756. package/dist/private/numberfield/useNumberField.js +24 -19
  757. package/dist/private/numberfield/useNumberField.js.map +1 -1
  758. package/dist/private/numberfield/useNumberField.mjs +24 -19
  759. package/dist/private/numberfield/useNumberField.mjs.map +1 -1
  760. package/dist/private/overlays/Overlay.cjs +5 -1
  761. package/dist/private/overlays/Overlay.cjs.map +1 -1
  762. package/dist/private/overlays/Overlay.js +5 -1
  763. package/dist/private/overlays/Overlay.js.map +1 -1
  764. package/dist/private/overlays/Overlay.mjs +5 -1
  765. package/dist/private/overlays/Overlay.mjs.map +1 -1
  766. package/dist/private/overlays/ariaHideOutside.cjs +12 -8
  767. package/dist/private/overlays/ariaHideOutside.cjs.map +1 -1
  768. package/dist/private/overlays/ariaHideOutside.js +13 -9
  769. package/dist/private/overlays/ariaHideOutside.js.map +1 -1
  770. package/dist/private/overlays/ariaHideOutside.mjs +13 -9
  771. package/dist/private/overlays/ariaHideOutside.mjs.map +1 -1
  772. package/dist/private/overlays/useCloseOnScroll.cjs +3 -4
  773. package/dist/private/overlays/useCloseOnScroll.cjs.map +1 -1
  774. package/dist/private/overlays/useCloseOnScroll.js +4 -5
  775. package/dist/private/overlays/useCloseOnScroll.js.map +1 -1
  776. package/dist/private/overlays/useCloseOnScroll.mjs +4 -5
  777. package/dist/private/overlays/useCloseOnScroll.mjs.map +1 -1
  778. package/dist/private/overlays/useOverlay.cjs +13 -7
  779. package/dist/private/overlays/useOverlay.cjs.map +1 -1
  780. package/dist/private/overlays/useOverlay.js +13 -7
  781. package/dist/private/overlays/useOverlay.js.map +1 -1
  782. package/dist/private/overlays/useOverlay.mjs +13 -7
  783. package/dist/private/overlays/useOverlay.mjs.map +1 -1
  784. package/dist/private/overlays/useOverlayPosition.cjs +6 -0
  785. package/dist/private/overlays/useOverlayPosition.cjs.map +1 -1
  786. package/dist/private/overlays/useOverlayPosition.js +6 -0
  787. package/dist/private/overlays/useOverlayPosition.js.map +1 -1
  788. package/dist/private/overlays/useOverlayPosition.mjs +6 -0
  789. package/dist/private/overlays/useOverlayPosition.mjs.map +1 -1
  790. package/dist/private/overlays/usePopover.cjs +6 -2
  791. package/dist/private/overlays/usePopover.cjs.map +1 -1
  792. package/dist/private/overlays/usePopover.js +7 -2
  793. package/dist/private/overlays/usePopover.js.map +1 -1
  794. package/dist/private/overlays/usePopover.mjs +6 -2
  795. package/dist/private/overlays/usePopover.mjs.map +1 -1
  796. package/dist/private/overlays/usePreventScroll.cjs +2 -5
  797. package/dist/private/overlays/usePreventScroll.cjs.map +1 -1
  798. package/dist/private/overlays/usePreventScroll.js +3 -6
  799. package/dist/private/overlays/usePreventScroll.js.map +1 -1
  800. package/dist/private/overlays/usePreventScroll.mjs +3 -6
  801. package/dist/private/overlays/usePreventScroll.mjs.map +1 -1
  802. package/dist/private/progress/useProgressBar.cjs +2 -1
  803. package/dist/private/progress/useProgressBar.cjs.map +1 -1
  804. package/dist/private/progress/useProgressBar.js +2 -1
  805. package/dist/private/progress/useProgressBar.js.map +1 -1
  806. package/dist/private/progress/useProgressBar.mjs +2 -1
  807. package/dist/private/progress/useProgressBar.mjs.map +1 -1
  808. package/dist/private/radio/useRadioGroup.cjs +26 -23
  809. package/dist/private/radio/useRadioGroup.cjs.map +1 -1
  810. package/dist/private/radio/useRadioGroup.js +26 -23
  811. package/dist/private/radio/useRadioGroup.js.map +1 -1
  812. package/dist/private/radio/useRadioGroup.mjs +26 -23
  813. package/dist/private/radio/useRadioGroup.mjs.map +1 -1
  814. package/dist/private/searchfield/useSearchField.cjs +28 -22
  815. package/dist/private/searchfield/useSearchField.cjs.map +1 -1
  816. package/dist/private/searchfield/useSearchField.js +28 -22
  817. package/dist/private/searchfield/useSearchField.js.map +1 -1
  818. package/dist/private/searchfield/useSearchField.mjs +28 -22
  819. package/dist/private/searchfield/useSearchField.mjs.map +1 -1
  820. package/dist/private/select/useSelect.cjs +21 -23
  821. package/dist/private/select/useSelect.cjs.map +1 -1
  822. package/dist/private/select/useSelect.js +23 -25
  823. package/dist/private/select/useSelect.js.map +1 -1
  824. package/dist/private/select/useSelect.mjs +21 -23
  825. package/dist/private/select/useSelect.mjs.map +1 -1
  826. package/dist/private/selection/useSelectableCollection.cjs +203 -146
  827. package/dist/private/selection/useSelectableCollection.cjs.map +1 -1
  828. package/dist/private/selection/useSelectableCollection.js +207 -150
  829. package/dist/private/selection/useSelectableCollection.js.map +1 -1
  830. package/dist/private/selection/useSelectableCollection.mjs +203 -146
  831. package/dist/private/selection/useSelectableCollection.mjs.map +1 -1
  832. package/dist/private/selection/useSelectableItem.cjs +58 -13
  833. package/dist/private/selection/useSelectableItem.cjs.map +1 -1
  834. package/dist/private/selection/useSelectableItem.js +58 -13
  835. package/dist/private/selection/useSelectableItem.js.map +1 -1
  836. package/dist/private/selection/useSelectableItem.mjs +58 -13
  837. package/dist/private/selection/useSelectableItem.mjs.map +1 -1
  838. package/dist/private/slider/useSlider.cjs.map +1 -1
  839. package/dist/private/slider/useSlider.js.map +1 -1
  840. package/dist/private/slider/useSlider.mjs.map +1 -1
  841. package/dist/private/slider/useSliderThumb.cjs +28 -26
  842. package/dist/private/slider/useSliderThumb.cjs.map +1 -1
  843. package/dist/private/slider/useSliderThumb.js +28 -26
  844. package/dist/private/slider/useSliderThumb.js.map +1 -1
  845. package/dist/private/slider/useSliderThumb.mjs +28 -26
  846. package/dist/private/slider/useSliderThumb.mjs.map +1 -1
  847. package/dist/private/spinbutton/useSpinButton.cjs +49 -34
  848. package/dist/private/spinbutton/useSpinButton.cjs.map +1 -1
  849. package/dist/private/spinbutton/useSpinButton.js +49 -34
  850. package/dist/private/spinbutton/useSpinButton.js.map +1 -1
  851. package/dist/private/spinbutton/useSpinButton.mjs +49 -34
  852. package/dist/private/spinbutton/useSpinButton.mjs.map +1 -1
  853. package/dist/private/ssr/SSRProvider.cjs +12 -3
  854. package/dist/private/ssr/SSRProvider.cjs.map +1 -1
  855. package/dist/private/ssr/SSRProvider.js +12 -3
  856. package/dist/private/ssr/SSRProvider.js.map +1 -1
  857. package/dist/private/ssr/SSRProvider.mjs +12 -3
  858. package/dist/private/ssr/SSRProvider.mjs.map +1 -1
  859. package/dist/private/steplist/useStepListItem.cjs +0 -9
  860. package/dist/private/steplist/useStepListItem.cjs.map +1 -1
  861. package/dist/private/steplist/useStepListItem.js +0 -10
  862. package/dist/private/steplist/useStepListItem.js.map +1 -1
  863. package/dist/private/steplist/useStepListItem.mjs +0 -9
  864. package/dist/private/steplist/useStepListItem.mjs.map +1 -1
  865. package/dist/private/table/useTable.cjs +4 -2
  866. package/dist/private/table/useTable.cjs.map +1 -1
  867. package/dist/private/table/useTable.js +4 -2
  868. package/dist/private/table/useTable.js.map +1 -1
  869. package/dist/private/table/useTable.mjs +4 -2
  870. package/dist/private/table/useTable.mjs.map +1 -1
  871. package/dist/private/table/useTableCell.cjs +2 -0
  872. package/dist/private/table/useTableCell.cjs.map +1 -1
  873. package/dist/private/table/useTableCell.js +2 -0
  874. package/dist/private/table/useTableCell.js.map +1 -1
  875. package/dist/private/table/useTableCell.mjs +2 -0
  876. package/dist/private/table/useTableCell.mjs.map +1 -1
  877. package/dist/private/table/useTableColumnHeader.cjs +2 -3
  878. package/dist/private/table/useTableColumnHeader.cjs.map +1 -1
  879. package/dist/private/table/useTableColumnHeader.js +2 -3
  880. package/dist/private/table/useTableColumnHeader.js.map +1 -1
  881. package/dist/private/table/useTableColumnHeader.mjs +2 -3
  882. package/dist/private/table/useTableColumnHeader.mjs.map +1 -1
  883. package/dist/private/table/useTableColumnResize.cjs +32 -14
  884. package/dist/private/table/useTableColumnResize.cjs.map +1 -1
  885. package/dist/private/table/useTableColumnResize.js +33 -15
  886. package/dist/private/table/useTableColumnResize.js.map +1 -1
  887. package/dist/private/table/useTableColumnResize.mjs +33 -15
  888. package/dist/private/table/useTableColumnResize.mjs.map +1 -1
  889. package/dist/private/table/useTableRow.cjs +4 -2
  890. package/dist/private/table/useTableRow.cjs.map +1 -1
  891. package/dist/private/table/useTableRow.js +4 -2
  892. package/dist/private/table/useTableRow.js.map +1 -1
  893. package/dist/private/table/useTableRow.mjs +4 -2
  894. package/dist/private/table/useTableRow.mjs.map +1 -1
  895. package/dist/private/tag/useTag.cjs +21 -11
  896. package/dist/private/tag/useTag.cjs.map +1 -1
  897. package/dist/private/tag/useTag.js +21 -11
  898. package/dist/private/tag/useTag.js.map +1 -1
  899. package/dist/private/tag/useTag.mjs +21 -11
  900. package/dist/private/tag/useTag.mjs.map +1 -1
  901. package/dist/private/textfield/useFormattedTextField.cjs +1 -0
  902. package/dist/private/textfield/useFormattedTextField.cjs.map +1 -1
  903. package/dist/private/textfield/useFormattedTextField.js +1 -0
  904. package/dist/private/textfield/useFormattedTextField.js.map +1 -1
  905. package/dist/private/textfield/useFormattedTextField.mjs +1 -0
  906. package/dist/private/textfield/useFormattedTextField.mjs.map +1 -1
  907. package/dist/private/toast/useToastRegion.cjs +5 -0
  908. package/dist/private/toast/useToastRegion.cjs.map +1 -1
  909. package/dist/private/toast/useToastRegion.js +5 -0
  910. package/dist/private/toast/useToastRegion.js.map +1 -1
  911. package/dist/private/toast/useToastRegion.mjs +5 -0
  912. package/dist/private/toast/useToastRegion.mjs.map +1 -1
  913. package/dist/private/toggle/useToggle.cjs +1 -0
  914. package/dist/private/toggle/useToggle.cjs.map +1 -1
  915. package/dist/private/toggle/useToggle.js +1 -0
  916. package/dist/private/toggle/useToggle.js.map +1 -1
  917. package/dist/private/toggle/useToggle.mjs +1 -0
  918. package/dist/private/toggle/useToggle.mjs.map +1 -1
  919. package/dist/private/tokenfield/useToken.cjs +46 -0
  920. package/dist/private/tokenfield/useToken.cjs.map +1 -0
  921. package/dist/private/tokenfield/useToken.js +41 -0
  922. package/dist/private/tokenfield/useToken.js.map +1 -0
  923. package/dist/private/tokenfield/useToken.mjs +41 -0
  924. package/dist/private/tokenfield/useToken.mjs.map +1 -0
  925. package/dist/private/tokenfield/useTokenField.cjs +587 -0
  926. package/dist/private/tokenfield/useTokenField.cjs.map +1 -0
  927. package/dist/private/tokenfield/useTokenField.js +590 -0
  928. package/dist/private/tokenfield/useTokenField.js.map +1 -0
  929. package/dist/private/tokenfield/useTokenField.mjs +579 -0
  930. package/dist/private/tokenfield/useTokenField.mjs.map +1 -0
  931. package/dist/private/toolbar/useToolbar.cjs +1 -0
  932. package/dist/private/toolbar/useToolbar.cjs.map +1 -1
  933. package/dist/private/toolbar/useToolbar.js +1 -0
  934. package/dist/private/toolbar/useToolbar.js.map +1 -1
  935. package/dist/private/toolbar/useToolbar.mjs +1 -0
  936. package/dist/private/toolbar/useToolbar.mjs.map +1 -1
  937. package/dist/private/tooltip/intlStrings.cjs +108 -0
  938. package/dist/private/tooltip/intlStrings.cjs.map +1 -0
  939. package/dist/private/tooltip/intlStrings.js +110 -0
  940. package/dist/private/tooltip/intlStrings.js.map +1 -0
  941. package/dist/private/tooltip/intlStrings.mjs +110 -0
  942. package/dist/private/tooltip/intlStrings.mjs.map +1 -0
  943. package/dist/private/tooltip/usePreviewTrigger.cjs +212 -0
  944. package/dist/private/tooltip/usePreviewTrigger.cjs.map +1 -0
  945. package/dist/private/tooltip/usePreviewTrigger.js +208 -0
  946. package/dist/private/tooltip/usePreviewTrigger.js.map +1 -0
  947. package/dist/private/tooltip/usePreviewTrigger.mjs +207 -0
  948. package/dist/private/tooltip/usePreviewTrigger.mjs.map +1 -0
  949. package/dist/private/tooltip/useSafeArea.cjs +134 -0
  950. package/dist/private/tooltip/useSafeArea.cjs.map +1 -0
  951. package/dist/private/tooltip/useSafeArea.js +130 -0
  952. package/dist/private/tooltip/useSafeArea.js.map +1 -0
  953. package/dist/private/tooltip/useSafeArea.mjs +129 -0
  954. package/dist/private/tooltip/useSafeArea.mjs.map +1 -0
  955. package/dist/private/tooltip/useTooltipTrigger.cjs +1 -0
  956. package/dist/private/tooltip/useTooltipTrigger.cjs.map +1 -1
  957. package/dist/private/tooltip/useTooltipTrigger.js +1 -0
  958. package/dist/private/tooltip/useTooltipTrigger.js.map +1 -1
  959. package/dist/private/tooltip/useTooltipTrigger.mjs +1 -0
  960. package/dist/private/tooltip/useTooltipTrigger.mjs.map +1 -1
  961. package/dist/private/tree/useTree.cjs +1 -0
  962. package/dist/private/tree/useTree.cjs.map +1 -1
  963. package/dist/private/tree/useTree.js +1 -0
  964. package/dist/private/tree/useTree.js.map +1 -1
  965. package/dist/private/tree/useTree.mjs +1 -0
  966. package/dist/private/tree/useTree.mjs.map +1 -1
  967. package/dist/private/utils/domHelpers.cjs +43 -12
  968. package/dist/private/utils/domHelpers.cjs.map +1 -1
  969. package/dist/private/utils/domHelpers.js +45 -14
  970. package/dist/private/utils/domHelpers.js.map +1 -1
  971. package/dist/private/utils/domHelpers.mjs +43 -13
  972. package/dist/private/utils/domHelpers.mjs.map +1 -1
  973. package/dist/private/utils/isVirtualEvent.cjs +1 -1
  974. package/dist/private/utils/isVirtualEvent.cjs.map +1 -1
  975. package/dist/private/utils/isVirtualEvent.js +1 -1
  976. package/dist/private/utils/isVirtualEvent.js.map +1 -1
  977. package/dist/private/utils/isVirtualEvent.mjs +1 -1
  978. package/dist/private/utils/isVirtualEvent.mjs.map +1 -1
  979. package/dist/private/utils/openLink.cjs +4 -2
  980. package/dist/private/utils/openLink.cjs.map +1 -1
  981. package/dist/private/utils/openLink.js +4 -2
  982. package/dist/private/utils/openLink.js.map +1 -1
  983. package/dist/private/utils/openLink.mjs +4 -2
  984. package/dist/private/utils/openLink.mjs.map +1 -1
  985. package/dist/private/utils/platform.cjs +8 -4
  986. package/dist/private/utils/platform.cjs.map +1 -1
  987. package/dist/private/utils/platform.js +7 -4
  988. package/dist/private/utils/platform.js.map +1 -1
  989. package/dist/private/utils/platform.mjs +7 -4
  990. package/dist/private/utils/platform.mjs.map +1 -1
  991. package/dist/private/utils/scrollIntoView.cjs +3 -3
  992. package/dist/private/utils/scrollIntoView.cjs.map +1 -1
  993. package/dist/private/utils/scrollIntoView.js +4 -4
  994. package/dist/private/utils/scrollIntoView.js.map +1 -1
  995. package/dist/private/utils/scrollIntoView.mjs +4 -4
  996. package/dist/private/utils/scrollIntoView.mjs.map +1 -1
  997. package/dist/private/utils/shadowdom/DOMFunctions.cjs +28 -1
  998. package/dist/private/utils/shadowdom/DOMFunctions.cjs.map +1 -1
  999. package/dist/private/utils/shadowdom/DOMFunctions.js +30 -2
  1000. package/dist/private/utils/shadowdom/DOMFunctions.js.map +1 -1
  1001. package/dist/private/utils/shadowdom/DOMFunctions.mjs +28 -2
  1002. package/dist/private/utils/shadowdom/DOMFunctions.mjs.map +1 -1
  1003. package/dist/private/utils/useDeepMemo.cjs +4 -1
  1004. package/dist/private/utils/useDeepMemo.cjs.map +1 -1
  1005. package/dist/private/utils/useDeepMemo.js +4 -1
  1006. package/dist/private/utils/useDeepMemo.js.map +1 -1
  1007. package/dist/private/utils/useDeepMemo.mjs +4 -1
  1008. package/dist/private/utils/useDeepMemo.mjs.map +1 -1
  1009. package/dist/private/utils/useDrag1D.cjs +2 -0
  1010. package/dist/private/utils/useDrag1D.cjs.map +1 -1
  1011. package/dist/private/utils/useDrag1D.js +2 -0
  1012. package/dist/private/utils/useDrag1D.js.map +1 -1
  1013. package/dist/private/utils/useDrag1D.mjs +2 -0
  1014. package/dist/private/utils/useDrag1D.mjs.map +1 -1
  1015. package/dist/private/utils/useFormReset.cjs +4 -0
  1016. package/dist/private/utils/useFormReset.cjs.map +1 -1
  1017. package/dist/private/utils/useFormReset.js +4 -0
  1018. package/dist/private/utils/useFormReset.js.map +1 -1
  1019. package/dist/private/utils/useFormReset.mjs +4 -0
  1020. package/dist/private/utils/useFormReset.mjs.map +1 -1
  1021. package/dist/private/utils/useId.cjs +23 -4
  1022. package/dist/private/utils/useId.cjs.map +1 -1
  1023. package/dist/private/utils/useId.js +23 -4
  1024. package/dist/private/utils/useId.js.map +1 -1
  1025. package/dist/private/utils/useId.mjs +23 -4
  1026. package/dist/private/utils/useId.mjs.map +1 -1
  1027. package/dist/private/utils/useLoadMoreSentinel.cjs +7 -3
  1028. package/dist/private/utils/useLoadMoreSentinel.cjs.map +1 -1
  1029. package/dist/private/utils/useLoadMoreSentinel.js +7 -3
  1030. package/dist/private/utils/useLoadMoreSentinel.js.map +1 -1
  1031. package/dist/private/utils/useLoadMoreSentinel.mjs +7 -3
  1032. package/dist/private/utils/useLoadMoreSentinel.mjs.map +1 -1
  1033. package/dist/private/utils/useObjectRef.cjs +3 -1
  1034. package/dist/private/utils/useObjectRef.cjs.map +1 -1
  1035. package/dist/private/utils/useObjectRef.js +3 -1
  1036. package/dist/private/utils/useObjectRef.js.map +1 -1
  1037. package/dist/private/utils/useObjectRef.mjs +3 -1
  1038. package/dist/private/utils/useObjectRef.mjs.map +1 -1
  1039. package/dist/private/utils/useSyncRef.cjs +2 -0
  1040. package/dist/private/utils/useSyncRef.cjs.map +1 -1
  1041. package/dist/private/utils/useSyncRef.js +2 -0
  1042. package/dist/private/utils/useSyncRef.js.map +1 -1
  1043. package/dist/private/utils/useSyncRef.mjs +2 -0
  1044. package/dist/private/utils/useSyncRef.mjs.map +1 -1
  1045. package/dist/private/utils/useViewportSize.cjs +3 -3
  1046. package/dist/private/utils/useViewportSize.cjs.map +1 -1
  1047. package/dist/private/utils/useViewportSize.js +4 -4
  1048. package/dist/private/utils/useViewportSize.js.map +1 -1
  1049. package/dist/private/utils/useViewportSize.mjs +4 -4
  1050. package/dist/private/utils/useViewportSize.mjs.map +1 -1
  1051. package/dist/private/virtualizer/ScrollView.cjs +7 -4
  1052. package/dist/private/virtualizer/ScrollView.cjs.map +1 -1
  1053. package/dist/private/virtualizer/ScrollView.js +8 -5
  1054. package/dist/private/virtualizer/ScrollView.js.map +1 -1
  1055. package/dist/private/virtualizer/ScrollView.mjs +8 -5
  1056. package/dist/private/virtualizer/ScrollView.mjs.map +1 -1
  1057. package/dist/private/virtualizer/VirtualizerItem.cjs +3 -2
  1058. package/dist/private/virtualizer/VirtualizerItem.cjs.map +1 -1
  1059. package/dist/private/virtualizer/VirtualizerItem.js +3 -2
  1060. package/dist/private/virtualizer/VirtualizerItem.js.map +1 -1
  1061. package/dist/private/virtualizer/VirtualizerItem.mjs +3 -2
  1062. package/dist/private/virtualizer/VirtualizerItem.mjs.map +1 -1
  1063. package/dist/private/virtualizer/useVirtualizerItem.cjs +35 -2
  1064. package/dist/private/virtualizer/useVirtualizerItem.cjs.map +1 -1
  1065. package/dist/private/virtualizer/useVirtualizerItem.js +36 -3
  1066. package/dist/private/virtualizer/useVirtualizerItem.js.map +1 -1
  1067. package/dist/private/virtualizer/useVirtualizerItem.mjs +36 -3
  1068. package/dist/private/virtualizer/useVirtualizerItem.mjs.map +1 -1
  1069. package/dist/private/visually-hidden/VisuallyHidden.cjs +2 -1
  1070. package/dist/private/visually-hidden/VisuallyHidden.cjs.map +1 -1
  1071. package/dist/private/visually-hidden/VisuallyHidden.js +2 -1
  1072. package/dist/private/visually-hidden/VisuallyHidden.js.map +1 -1
  1073. package/dist/private/visually-hidden/VisuallyHidden.mjs +2 -1
  1074. package/dist/private/visually-hidden/VisuallyHidden.mjs.map +1 -1
  1075. package/dist/types/exports/index.d.ts +9 -0
  1076. package/dist/types/exports/private/utils/domHelpers.d.ts +1 -1
  1077. package/dist/types/exports/private/utils/platform.d.ts +1 -1
  1078. package/dist/types/exports/private/utils/shadowdom/DOMFunctions.d.ts +1 -1
  1079. package/dist/types/exports/useContextMenu.d.ts +2 -0
  1080. package/dist/types/exports/usePreviewTrigger.d.ts +2 -0
  1081. package/dist/types/exports/useTokenField.d.ts +4 -0
  1082. package/dist/types/src/button/useToggleButtonGroup.d.ts +8 -0
  1083. package/dist/types/src/combobox/useComboBox.d.ts +7 -1
  1084. package/dist/types/src/dialog/useDialog.d.ts +2 -0
  1085. package/dist/types/src/grid/useGrid.d.ts +7 -0
  1086. package/dist/types/src/grid/useGridCell.d.ts +8 -1
  1087. package/dist/types/src/grid/utils.d.ts +1 -0
  1088. package/dist/types/src/gridlist/useGridListItem.d.ts +13 -0
  1089. package/dist/types/src/interactions/createKeyboardShortcutHandler.d.ts +56 -0
  1090. package/dist/types/src/interactions/useContextMenu.d.ts +21 -0
  1091. package/dist/types/src/interactions/useKeyboard.d.ts +7 -0
  1092. package/dist/types/src/interactions/useLongPress.d.ts +2 -0
  1093. package/dist/types/src/overlays/usePopover.d.ts +2 -1
  1094. package/dist/types/src/table/useTableCell.d.ts +12 -0
  1095. package/dist/types/src/table/useTableColumnHeader.d.ts +12 -0
  1096. package/dist/types/src/table/useTableColumnResize.d.ts +5 -0
  1097. package/dist/types/src/tokenfield/useToken.d.ts +14 -0
  1098. package/dist/types/src/tokenfield/useTokenField.d.ts +57 -0
  1099. package/dist/types/src/tooltip/usePreviewTrigger.d.ts +27 -0
  1100. package/dist/types/src/tooltip/useSafeArea.d.ts +26 -0
  1101. package/dist/types/src/utils/domHelpers.d.ts +20 -5
  1102. package/dist/types/src/utils/platform.d.ts +1 -0
  1103. package/dist/types/src/utils/shadowdom/DOMFunctions.d.ts +11 -0
  1104. package/dist/types/src/utils/useLoadMoreSentinel.d.ts +7 -0
  1105. package/dist/types/src/virtualizer/VirtualizerItem.d.ts +1 -0
  1106. package/dist/types/src/virtualizer/useVirtualizerItem.d.ts +1 -0
  1107. package/i18n/ar-AE.js +1 -1
  1108. package/i18n/ar-AE.mjs +1 -1
  1109. package/i18n/bg-BG.js +1 -1
  1110. package/i18n/bg-BG.mjs +1 -1
  1111. package/i18n/cs-CZ.js +1 -1
  1112. package/i18n/cs-CZ.mjs +1 -1
  1113. package/i18n/da-DK.js +1 -1
  1114. package/i18n/da-DK.mjs +1 -1
  1115. package/i18n/de-DE.js +1 -1
  1116. package/i18n/de-DE.mjs +1 -1
  1117. package/i18n/el-GR.js +1 -1
  1118. package/i18n/el-GR.mjs +1 -1
  1119. package/i18n/en-US.js +1 -1
  1120. package/i18n/en-US.mjs +1 -1
  1121. package/i18n/es-ES.js +1 -1
  1122. package/i18n/es-ES.mjs +1 -1
  1123. package/i18n/et-EE.js +1 -1
  1124. package/i18n/et-EE.mjs +1 -1
  1125. package/i18n/fi-FI.js +1 -1
  1126. package/i18n/fi-FI.mjs +1 -1
  1127. package/i18n/fr-FR.js +1 -1
  1128. package/i18n/fr-FR.mjs +1 -1
  1129. package/i18n/he-IL.js +1 -1
  1130. package/i18n/he-IL.mjs +1 -1
  1131. package/i18n/hr-HR.js +1 -1
  1132. package/i18n/hr-HR.mjs +1 -1
  1133. package/i18n/hu-HU.js +1 -1
  1134. package/i18n/hu-HU.mjs +1 -1
  1135. package/i18n/it-IT.js +1 -1
  1136. package/i18n/it-IT.mjs +1 -1
  1137. package/i18n/ja-JP.js +1 -1
  1138. package/i18n/ja-JP.mjs +1 -1
  1139. package/i18n/ko-KR.js +1 -1
  1140. package/i18n/ko-KR.mjs +1 -1
  1141. package/i18n/lt-LT.js +1 -1
  1142. package/i18n/lt-LT.mjs +1 -1
  1143. package/i18n/lv-LV.js +1 -1
  1144. package/i18n/lv-LV.mjs +1 -1
  1145. package/i18n/nb-NO.js +1 -1
  1146. package/i18n/nb-NO.mjs +1 -1
  1147. package/i18n/nl-NL.js +1 -1
  1148. package/i18n/nl-NL.mjs +1 -1
  1149. package/i18n/pl-PL.js +1 -1
  1150. package/i18n/pl-PL.mjs +1 -1
  1151. package/i18n/pt-BR.js +1 -1
  1152. package/i18n/pt-BR.mjs +1 -1
  1153. package/i18n/pt-PT.js +1 -1
  1154. package/i18n/pt-PT.mjs +1 -1
  1155. package/i18n/ro-RO.js +1 -1
  1156. package/i18n/ro-RO.mjs +1 -1
  1157. package/i18n/ru-RU.js +1 -1
  1158. package/i18n/ru-RU.mjs +1 -1
  1159. package/i18n/sk-SK.js +1 -1
  1160. package/i18n/sk-SK.mjs +1 -1
  1161. package/i18n/sl-SI.js +1 -1
  1162. package/i18n/sl-SI.mjs +1 -1
  1163. package/i18n/sr-SP.js +1 -1
  1164. package/i18n/sr-SP.mjs +1 -1
  1165. package/i18n/sv-SE.js +1 -1
  1166. package/i18n/sv-SE.mjs +1 -1
  1167. package/i18n/tr-TR.js +1 -1
  1168. package/i18n/tr-TR.mjs +1 -1
  1169. package/i18n/uk-UA.js +1 -1
  1170. package/i18n/uk-UA.mjs +1 -1
  1171. package/i18n/zh-CN.js +1 -1
  1172. package/i18n/zh-CN.mjs +1 -1
  1173. package/i18n/zh-TW.js +1 -1
  1174. package/i18n/zh-TW.mjs +1 -1
  1175. package/package.json +6 -6
  1176. package/useContextMenu/package.json +5 -0
  1177. package/usePreviewTrigger/package.json +5 -0
  1178. package/useTokenField/package.json +5 -0
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/react-aria/src/menu/useSubmenuTrigger.ts"],"sourcesContent":["/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaMenuItemProps} from './useMenuItem';\nimport {AriaMenuOptions} from './useMenu';\nimport type {AriaPopoverProps} from '../overlays/usePopover';\nimport {\n FocusableElement,\n FocusStrategy,\n KeyboardEvent,\n Node,\n PressEvent,\n RefObject\n} from '@react-types/shared';\nimport {focusWithoutScrolling} from '../utils/focusWithoutScrolling';\nimport {\n getActiveElement,\n getEventTarget,\n isFocusWithin,\n nodeContains\n} from '../utils/shadowdom/DOMFunctions';\nimport type {OverlayProps} from '../overlays/Overlay';\nimport type {SubmenuTriggerState} from 'react-stately/useMenuTriggerState';\nimport {useCallback, useRef} from 'react';\nimport {useEvent} from '../utils/useEvent';\nimport {useId} from '../utils/useId';\nimport {useLayoutEffect} from '../utils/useLayoutEffect';\nimport {useLocale} from '../i18n/I18nProvider';\nimport {useSafelyMouseToSubmenu} from './useSafelyMouseToSubmenu';\n\nexport interface AriaSubmenuTriggerProps {\n /**\n * An object representing the submenu trigger menu item. Contains all the relevant information\n * that makes up the menu item.\n *\n * @deprecated\n */\n node?: Node<unknown>;\n /** Whether the submenu trigger is disabled. */\n isDisabled?: boolean;\n /** The type of the contents that the submenu trigger opens. */\n type?: 'dialog' | 'menu';\n /** Ref of the menu that contains the submenu trigger. */\n parentMenuRef: RefObject<HTMLElement | null>;\n /** Ref of the submenu opened by the submenu trigger. */\n submenuRef: RefObject<HTMLElement | null>;\n /**\n * The delay time in milliseconds for the submenu to appear after hovering over the trigger.\n *\n * @default 200\n */\n delay?: number;\n /** Whether the submenu trigger uses virtual focus. */\n shouldUseVirtualFocus?: boolean;\n}\n\ninterface SubmenuTriggerProps extends Omit<AriaMenuItemProps, 'key' | 'onAction'> {\n /** Whether the submenu trigger is in an expanded state. */\n isOpen: boolean;\n}\n\ninterface SubmenuProps<T> extends AriaMenuOptions<T> {\n /** The level of the submenu. */\n submenuLevel: number;\n}\n\nexport interface SubmenuTriggerAria<T> {\n /** Props for the submenu trigger menu item. */\n submenuTriggerProps: SubmenuTriggerProps;\n /** Props for the submenu controlled by the submenu trigger menu item. */\n submenuProps: SubmenuProps<T>;\n /** Props for the submenu's popover container. */\n popoverProps: Pick<AriaPopoverProps, 'isNonModal' | 'shouldCloseOnInteractOutside'> &\n Pick<OverlayProps, 'disableFocusManagement'>;\n}\n\n/**\n * Provides the behavior and accessibility implementation for a submenu trigger and its associated\n * submenu.\n *\n * @param props - Props for the submenu trigger and refs attach to its submenu and parent menu.\n * @param state - State for the submenu trigger.\n * @param ref - Ref to the submenu trigger element.\n */\nexport function useSubmenuTrigger<T>(\n props: AriaSubmenuTriggerProps,\n state: SubmenuTriggerState,\n ref: RefObject<FocusableElement | null>\n): SubmenuTriggerAria<T> {\n let {\n parentMenuRef,\n submenuRef,\n type = 'menu',\n isDisabled,\n delay = 200,\n shouldUseVirtualFocus\n } = props;\n let submenuTriggerId = useId();\n let overlayId = useId();\n let {direction} = useLocale();\n let openTimeout = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n let cancelOpenTimeout = useCallback(() => {\n if (openTimeout.current) {\n clearTimeout(openTimeout.current);\n openTimeout.current = undefined;\n }\n }, [openTimeout]);\n\n let onSubmenuOpen = useCallback(\n (focusStrategy?: FocusStrategy) => {\n cancelOpenTimeout();\n state.open(focusStrategy);\n },\n [state, cancelOpenTimeout]\n );\n\n let onSubmenuClose = useCallback(() => {\n cancelOpenTimeout();\n state.close();\n }, [state, cancelOpenTimeout]);\n\n useLayoutEffect(() => {\n return () => {\n cancelOpenTimeout();\n };\n }, [cancelOpenTimeout]);\n\n let submenuKeyDown = (e: KeyboardEvent) => {\n // If focus is not within the menu, assume virtual focus is being used.\n // This means some other input element is also within the popover, so we shouldn't close the menu.\n if (!isFocusWithin(e.currentTarget)) {\n return;\n }\n\n switch (e.key) {\n case 'ArrowLeft':\n if (direction === 'ltr' && nodeContains(e.currentTarget, getEventTarget(e) as Element)) {\n e.preventDefault();\n e.stopPropagation();\n onSubmenuClose();\n if (!shouldUseVirtualFocus && ref.current) {\n focusWithoutScrolling(ref.current);\n }\n }\n break;\n case 'ArrowRight':\n if (direction === 'rtl' && nodeContains(e.currentTarget, getEventTarget(e) as Element)) {\n e.preventDefault();\n e.stopPropagation();\n onSubmenuClose();\n if (!shouldUseVirtualFocus && ref.current) {\n focusWithoutScrolling(ref.current);\n }\n }\n break;\n case 'Escape':\n // TODO: can remove this when we fix collection event leaks\n if (nodeContains(submenuRef.current, getEventTarget(e) as Element)) {\n e.stopPropagation();\n onSubmenuClose();\n if (!shouldUseVirtualFocus && ref.current) {\n focusWithoutScrolling(ref.current);\n }\n }\n break;\n }\n };\n\n let submenuProps = {\n id: overlayId,\n 'aria-labelledby': submenuTriggerId,\n submenuLevel: state.submenuLevel,\n ...(type === 'menu' && {\n onClose: state.closeAll,\n autoFocus: state.focusStrategy ?? undefined,\n onKeyDown: submenuKeyDown\n })\n };\n\n let submenuTriggerKeyDown = (e: KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowRight':\n if (!isDisabled) {\n if (direction === 'ltr') {\n e.preventDefault();\n if (!state.isOpen) {\n onSubmenuOpen('first');\n }\n\n if (type === 'menu' && !!submenuRef?.current && getActiveElement() === ref?.current) {\n focusWithoutScrolling(submenuRef.current);\n }\n } else if (state.isOpen) {\n onSubmenuClose();\n } else {\n e.continuePropagation();\n }\n }\n\n break;\n case 'ArrowLeft':\n if (!isDisabled) {\n if (direction === 'rtl') {\n e.preventDefault();\n if (!state.isOpen) {\n onSubmenuOpen('first');\n }\n\n if (type === 'menu' && !!submenuRef?.current && getActiveElement() === ref?.current) {\n focusWithoutScrolling(submenuRef.current);\n }\n } else if (state.isOpen) {\n onSubmenuClose();\n } else {\n e.continuePropagation();\n }\n }\n break;\n default:\n e.continuePropagation();\n break;\n }\n };\n\n let onPressStart = (e: PressEvent) => {\n if (!isDisabled && (e.pointerType === 'virtual' || e.pointerType === 'keyboard')) {\n // If opened with a screen reader or keyboard, auto focus the first submenu item.\n onSubmenuOpen('first');\n }\n };\n\n let onPress = (e: PressEvent) => {\n if (!isDisabled && (e.pointerType === 'touch' || e.pointerType === 'mouse')) {\n // For touch or on a desktop device with a small screen open on press up to possible problems with\n // press up happening on the newly opened tray items\n onSubmenuOpen();\n }\n };\n\n let onHoverChange = isHovered => {\n if (!isDisabled) {\n if (isHovered && !state.isOpen) {\n if (!openTimeout.current) {\n openTimeout.current = setTimeout(() => {\n onSubmenuOpen();\n }, delay);\n }\n } else if (!isHovered) {\n cancelOpenTimeout();\n }\n }\n };\n\n useEvent(parentMenuRef, 'focusin', e => {\n // If we detect focus moved to a different item in the same menu that the currently open submenu trigger is in\n // then close the submenu. This is for a case where the user hovers a root menu item when multiple submenus are open\n if (\n state.isOpen &&\n nodeContains(parentMenuRef.current, getEventTarget(e) as HTMLElement) &&\n getEventTarget(e) !== ref.current\n ) {\n onSubmenuClose();\n }\n });\n\n let shouldCloseOnInteractOutside = target => {\n if (target !== ref.current) {\n return true;\n }\n\n return false;\n };\n\n useSafelyMouseToSubmenu({\n menuRef: parentMenuRef,\n submenuRef,\n isOpen: state.isOpen,\n isDisabled: isDisabled\n });\n\n return {\n submenuTriggerProps: {\n id: submenuTriggerId,\n 'aria-controls': state.isOpen ? overlayId : undefined,\n 'aria-haspopup': !isDisabled ? type : undefined,\n 'aria-expanded': state.isOpen ? 'true' : 'false',\n onPressStart,\n onPress,\n onHoverChange,\n onKeyDown: submenuTriggerKeyDown,\n isOpen: state.isOpen\n },\n submenuProps,\n popoverProps: {\n isNonModal: true,\n shouldCloseOnInteractOutside\n }\n };\n}\n"],"names":[],"version":3,"file":"useSubmenuTrigger.cjs.map"}
1
+ {"mappings":"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","sources":["packages/react-aria/src/menu/useSubmenuTrigger.ts"],"sourcesContent":["/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaMenuItemProps} from './useMenuItem';\nimport {AriaMenuOptions} from './useMenu';\nimport type {AriaPopoverProps} from '../overlays/usePopover';\nimport {FocusableElement, FocusStrategy, Node, PressEvent, RefObject} from '@react-types/shared';\nimport {focusWithoutScrolling} from '../utils/focusWithoutScrolling';\nimport {\n getActiveElement,\n getEventTarget,\n isFocusWithin,\n nodeContains\n} from '../utils/shadowdom/DOMFunctions';\nimport type {OverlayProps} from '../overlays/Overlay';\nimport type {SubmenuTriggerState} from 'react-stately/useMenuTriggerState';\nimport {useCallback, useRef} from 'react';\nimport {useEvent} from '../utils/useEvent';\nimport {useId} from '../utils/useId';\nimport {useKeyboard} from '../interactions/useKeyboard';\nimport {useLayoutEffect} from '../utils/useLayoutEffect';\nimport {useLocale} from '../i18n/I18nProvider';\nimport {useSafelyMouseToSubmenu} from './useSafelyMouseToSubmenu';\n\nexport interface AriaSubmenuTriggerProps {\n /**\n * An object representing the submenu trigger menu item. Contains all the relevant information\n * that makes up the menu item.\n *\n * @deprecated\n */\n node?: Node<unknown>;\n /** Whether the submenu trigger is disabled. */\n isDisabled?: boolean;\n /** The type of the contents that the submenu trigger opens. */\n type?: 'dialog' | 'menu';\n /** Ref of the menu that contains the submenu trigger. */\n parentMenuRef: RefObject<HTMLElement | null>;\n /** Ref of the submenu opened by the submenu trigger. */\n submenuRef: RefObject<HTMLElement | null>;\n /**\n * The delay time in milliseconds for the submenu to appear after hovering over the trigger.\n *\n * @default 200\n */\n delay?: number;\n /** Whether the submenu trigger uses virtual focus. */\n shouldUseVirtualFocus?: boolean;\n}\n\ninterface SubmenuTriggerProps extends Omit<AriaMenuItemProps, 'key' | 'onAction'> {\n /** Whether the submenu trigger is in an expanded state. */\n isOpen: boolean;\n}\n\ninterface SubmenuProps<T> extends AriaMenuOptions<T> {\n /** The level of the submenu. */\n submenuLevel: number;\n}\n\nexport interface SubmenuTriggerAria<T> {\n /** Props for the submenu trigger menu item. */\n submenuTriggerProps: SubmenuTriggerProps;\n /** Props for the submenu controlled by the submenu trigger menu item. */\n submenuProps: SubmenuProps<T>;\n /** Props for the submenu's popover container. */\n popoverProps: Pick<AriaPopoverProps, 'isNonModal' | 'shouldCloseOnInteractOutside'> &\n Pick<OverlayProps, 'disableFocusManagement'>;\n}\n\n/**\n * Provides the behavior and accessibility implementation for a submenu trigger and its associated\n * submenu.\n *\n * @param props - Props for the submenu trigger and refs attach to its submenu and parent menu.\n * @param state - State for the submenu trigger.\n * @param ref - Ref to the submenu trigger element.\n */\nexport function useSubmenuTrigger<T>(\n props: AriaSubmenuTriggerProps,\n state: SubmenuTriggerState,\n ref: RefObject<FocusableElement | null>\n): SubmenuTriggerAria<T> {\n let {\n parentMenuRef,\n submenuRef,\n type = 'menu',\n isDisabled,\n delay = 200,\n shouldUseVirtualFocus\n } = props;\n let submenuTriggerId = useId();\n let overlayId = useId();\n let {direction} = useLocale();\n let openTimeout = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n let cancelOpenTimeout = useCallback(() => {\n if (openTimeout.current) {\n clearTimeout(openTimeout.current);\n openTimeout.current = undefined;\n }\n }, [openTimeout]);\n\n let onSubmenuOpen = useCallback(\n (focusStrategy?: FocusStrategy) => {\n cancelOpenTimeout();\n state.open(focusStrategy);\n },\n [state, cancelOpenTimeout]\n );\n\n let onSubmenuClose = useCallback(() => {\n cancelOpenTimeout();\n state.close();\n }, [state, cancelOpenTimeout]);\n\n useLayoutEffect(() => {\n return () => {\n cancelOpenTimeout();\n };\n }, [cancelOpenTimeout]);\n\n let {keyboardProps} = useKeyboard({\n shortcuts: {\n ArrowLeft: e => {\n // If focus is not within the menu, assume virtual focus is being used.\n // This means some other input element is also within the popover, so we shouldn't close the menu.\n if (!isFocusWithin(e.currentTarget)) {\n return false;\n }\n if (direction === 'ltr' && nodeContains(e.currentTarget, getEventTarget(e) as Element)) {\n onSubmenuClose();\n if (!shouldUseVirtualFocus && ref.current) {\n focusWithoutScrolling(ref.current);\n }\n return;\n }\n return false;\n },\n ArrowRight: e => {\n if (!isFocusWithin(e.currentTarget)) {\n return false;\n }\n if (direction === 'rtl' && nodeContains(e.currentTarget, getEventTarget(e) as Element)) {\n onSubmenuClose();\n if (!shouldUseVirtualFocus && ref.current) {\n focusWithoutScrolling(ref.current);\n }\n return;\n }\n return false;\n },\n Escape: e => {\n if (!isFocusWithin(e.currentTarget)) {\n return false;\n }\n if (nodeContains(submenuRef.current, getEventTarget(e) as Element)) {\n onSubmenuClose();\n if (!shouldUseVirtualFocus && ref.current) {\n focusWithoutScrolling(ref.current);\n }\n return;\n }\n return false;\n }\n }\n });\n\n let submenuProps = {\n id: overlayId,\n 'aria-labelledby': submenuTriggerId,\n submenuLevel: state.submenuLevel,\n ...(type === 'menu' && {\n onClose: state.closeAll,\n autoFocus: state.focusStrategy ?? undefined,\n ...keyboardProps\n })\n };\n\n let {keyboardProps: submenuTriggerKeyboardProps} = useKeyboard({\n shortcuts: {\n ArrowRight: () => {\n if (!isDisabled) {\n if (direction === 'ltr') {\n if (!state.isOpen) {\n onSubmenuOpen('first');\n }\n\n if (type === 'menu' && !!submenuRef?.current && getActiveElement() === ref?.current) {\n focusWithoutScrolling(submenuRef.current);\n }\n return;\n } else if (state.isOpen) {\n onSubmenuClose();\n return;\n } else {\n return false;\n }\n }\n return false;\n },\n ArrowLeft: () => {\n if (!isDisabled) {\n if (direction === 'rtl') {\n if (!state.isOpen) {\n onSubmenuOpen('first');\n }\n\n if (type === 'menu' && !!submenuRef?.current && getActiveElement() === ref?.current) {\n focusWithoutScrolling(submenuRef.current);\n }\n return;\n } else if (state.isOpen) {\n onSubmenuClose();\n return;\n } else {\n return false;\n }\n }\n return false;\n }\n }\n });\n\n let onPressStart = (e: PressEvent) => {\n if (!isDisabled && (e.pointerType === 'virtual' || e.pointerType === 'keyboard')) {\n // If opened with a screen reader or keyboard, auto focus the first submenu item.\n onSubmenuOpen('first');\n }\n };\n\n let onPress = (e: PressEvent) => {\n if (!isDisabled && (e.pointerType === 'touch' || e.pointerType === 'mouse')) {\n // For touch or on a desktop device with a small screen open on press up to possible problems with\n // press up happening on the newly opened tray items\n onSubmenuOpen();\n }\n };\n\n let onHoverChange = isHovered => {\n if (!isDisabled) {\n if (isHovered && !state.isOpen) {\n if (!openTimeout.current) {\n openTimeout.current = setTimeout(() => {\n onSubmenuOpen();\n }, delay);\n }\n } else if (!isHovered) {\n cancelOpenTimeout();\n }\n }\n };\n\n useEvent(parentMenuRef, 'focusin', e => {\n // If we detect focus moved to a different item in the same menu that the currently open submenu trigger is in\n // then close the submenu. This is for a case where the user hovers a root menu item when multiple submenus are open\n if (\n state.isOpen &&\n nodeContains(parentMenuRef.current, getEventTarget(e) as HTMLElement) &&\n getEventTarget(e) !== ref.current\n ) {\n onSubmenuClose();\n }\n });\n\n let shouldCloseOnInteractOutside = target => {\n if (target !== ref.current) {\n return true;\n }\n\n return false;\n };\n\n useSafelyMouseToSubmenu({\n menuRef: parentMenuRef,\n submenuRef,\n isOpen: state.isOpen,\n isDisabled: isDisabled\n });\n\n return {\n submenuTriggerProps: {\n onKeyDown: submenuTriggerKeyboardProps.onKeyDown,\n onKeyUp: submenuTriggerKeyboardProps.onKeyUp,\n id: submenuTriggerId,\n 'aria-controls': state.isOpen ? overlayId : undefined,\n 'aria-haspopup': !isDisabled ? type : undefined,\n 'aria-expanded': state.isOpen ? 'true' : 'false',\n onPressStart,\n onPress,\n onHoverChange,\n isOpen: state.isOpen\n },\n submenuProps,\n popoverProps: {\n isNonModal: true,\n shouldCloseOnInteractOutside\n }\n };\n}\n"],"names":[],"version":3,"file":"useSubmenuTrigger.cjs.map"}
@@ -2,6 +2,7 @@ import {focusWithoutScrolling as $d559d872031c749f$export$de79e2c695e052f3} from
2
2
  import {getActiveElement as $d8ac7ed472840322$export$cd4e5573fbe2b576, getEventTarget as $d8ac7ed472840322$export$e58f029f0fbfdb29, isFocusWithin as $d8ac7ed472840322$export$b4f377a2b6254582, nodeContains as $d8ac7ed472840322$export$4282f70798064fe0} from "../utils/shadowdom/DOMFunctions.js";
3
3
  import {useEvent as $c3cab330536504ec$export$90fc3a17d93f704c} from "../utils/useEvent.js";
4
4
  import {useId as $0292efe68908de6b$export$f680877a34711e37} from "../utils/useId.js";
5
+ import {useKeyboard as $bf74df7506f65576$export$8f71654801c2f7cd} from "../interactions/useKeyboard.js";
5
6
  import {useLayoutEffect as $53fed047b798be36$export$e5c5a5f917a5871c} from "../utils/useLayoutEffect.js";
6
7
  import {useLocale as $4defb058003b3e05$export$43bb16f9c6d9e3f7} from "../i18n/I18nProvider.js";
7
8
  import {useSafelyMouseToSubmenu as $43575285b6c61e86$export$85ec83e04c95f50a} from "./useSafelyMouseToSubmenu.js";
@@ -25,6 +26,7 @@ import {useRef as $iVOpM$useRef, useCallback as $iVOpM$useCallback} from "react"
25
26
 
26
27
 
27
28
 
29
+
28
30
  function $fe3245d1ec1813d3$export$7138b0d059a6e743(props, state, ref) {
29
31
  let { parentMenuRef: parentMenuRef, submenuRef: submenuRef, type: type = 'menu', isDisabled: isDisabled, delay: delay = 200, shouldUseVirtualFocus: shouldUseVirtualFocus } = props;
30
32
  let submenuTriggerId = (0, $0292efe68908de6b$export$f680877a34711e37)();
@@ -60,37 +62,39 @@ function $fe3245d1ec1813d3$export$7138b0d059a6e743(props, state, ref) {
60
62
  }, [
61
63
  cancelOpenTimeout
62
64
  ]);
63
- let submenuKeyDown = (e)=>{
64
- // If focus is not within the menu, assume virtual focus is being used.
65
- // This means some other input element is also within the popover, so we shouldn't close the menu.
66
- if (!(0, $d8ac7ed472840322$export$b4f377a2b6254582)(e.currentTarget)) return;
67
- switch(e.key){
68
- case 'ArrowLeft':
65
+ let { keyboardProps: keyboardProps } = (0, $bf74df7506f65576$export$8f71654801c2f7cd)({
66
+ shortcuts: {
67
+ ArrowLeft: (e)=>{
68
+ // If focus is not within the menu, assume virtual focus is being used.
69
+ // This means some other input element is also within the popover, so we shouldn't close the menu.
70
+ if (!(0, $d8ac7ed472840322$export$b4f377a2b6254582)(e.currentTarget)) return false;
69
71
  if (direction === 'ltr' && (0, $d8ac7ed472840322$export$4282f70798064fe0)(e.currentTarget, (0, $d8ac7ed472840322$export$e58f029f0fbfdb29)(e))) {
70
- e.preventDefault();
71
- e.stopPropagation();
72
72
  onSubmenuClose();
73
73
  if (!shouldUseVirtualFocus && ref.current) (0, $d559d872031c749f$export$de79e2c695e052f3)(ref.current);
74
+ return;
74
75
  }
75
- break;
76
- case 'ArrowRight':
76
+ return false;
77
+ },
78
+ ArrowRight: (e)=>{
79
+ if (!(0, $d8ac7ed472840322$export$b4f377a2b6254582)(e.currentTarget)) return false;
77
80
  if (direction === 'rtl' && (0, $d8ac7ed472840322$export$4282f70798064fe0)(e.currentTarget, (0, $d8ac7ed472840322$export$e58f029f0fbfdb29)(e))) {
78
- e.preventDefault();
79
- e.stopPropagation();
80
81
  onSubmenuClose();
81
82
  if (!shouldUseVirtualFocus && ref.current) (0, $d559d872031c749f$export$de79e2c695e052f3)(ref.current);
83
+ return;
82
84
  }
83
- break;
84
- case 'Escape':
85
- // TODO: can remove this when we fix collection event leaks
85
+ return false;
86
+ },
87
+ Escape: (e)=>{
88
+ if (!(0, $d8ac7ed472840322$export$b4f377a2b6254582)(e.currentTarget)) return false;
86
89
  if ((0, $d8ac7ed472840322$export$4282f70798064fe0)(submenuRef.current, (0, $d8ac7ed472840322$export$e58f029f0fbfdb29)(e))) {
87
- e.stopPropagation();
88
90
  onSubmenuClose();
89
91
  if (!shouldUseVirtualFocus && ref.current) (0, $d559d872031c749f$export$de79e2c695e052f3)(ref.current);
92
+ return;
90
93
  }
91
- break;
94
+ return false;
95
+ }
92
96
  }
93
- };
97
+ });
94
98
  var _state_focusStrategy;
95
99
  let submenuProps = {
96
100
  id: overlayId,
@@ -99,36 +103,39 @@ function $fe3245d1ec1813d3$export$7138b0d059a6e743(props, state, ref) {
99
103
  ...type === 'menu' && {
100
104
  onClose: state.closeAll,
101
105
  autoFocus: (_state_focusStrategy = state.focusStrategy) !== null && _state_focusStrategy !== void 0 ? _state_focusStrategy : undefined,
102
- onKeyDown: submenuKeyDown
106
+ ...keyboardProps
103
107
  }
104
108
  };
105
- let submenuTriggerKeyDown = (e)=>{
106
- switch(e.key){
107
- case 'ArrowRight':
109
+ let { keyboardProps: submenuTriggerKeyboardProps } = (0, $bf74df7506f65576$export$8f71654801c2f7cd)({
110
+ shortcuts: {
111
+ ArrowRight: ()=>{
108
112
  if (!isDisabled) {
109
113
  if (direction === 'ltr') {
110
- e.preventDefault();
111
114
  if (!state.isOpen) onSubmenuOpen('first');
112
115
  if (type === 'menu' && !!(submenuRef === null || submenuRef === void 0 ? void 0 : submenuRef.current) && (0, $d8ac7ed472840322$export$cd4e5573fbe2b576)() === (ref === null || ref === void 0 ? void 0 : ref.current)) (0, $d559d872031c749f$export$de79e2c695e052f3)(submenuRef.current);
113
- } else if (state.isOpen) onSubmenuClose();
114
- else e.continuePropagation();
116
+ return;
117
+ } else if (state.isOpen) {
118
+ onSubmenuClose();
119
+ return;
120
+ } else return false;
115
121
  }
116
- break;
117
- case 'ArrowLeft':
122
+ return false;
123
+ },
124
+ ArrowLeft: ()=>{
118
125
  if (!isDisabled) {
119
126
  if (direction === 'rtl') {
120
- e.preventDefault();
121
127
  if (!state.isOpen) onSubmenuOpen('first');
122
128
  if (type === 'menu' && !!(submenuRef === null || submenuRef === void 0 ? void 0 : submenuRef.current) && (0, $d8ac7ed472840322$export$cd4e5573fbe2b576)() === (ref === null || ref === void 0 ? void 0 : ref.current)) (0, $d559d872031c749f$export$de79e2c695e052f3)(submenuRef.current);
123
- } else if (state.isOpen) onSubmenuClose();
124
- else e.continuePropagation();
129
+ return;
130
+ } else if (state.isOpen) {
131
+ onSubmenuClose();
132
+ return;
133
+ } else return false;
125
134
  }
126
- break;
127
- default:
128
- e.continuePropagation();
129
- break;
135
+ return false;
136
+ }
130
137
  }
131
- };
138
+ });
132
139
  let onPressStart = (e)=>{
133
140
  if (!isDisabled && (e.pointerType === 'virtual' || e.pointerType === 'keyboard')) // If opened with a screen reader or keyboard, auto focus the first submenu item.
134
141
  onSubmenuOpen('first');
@@ -164,6 +171,8 @@ function $fe3245d1ec1813d3$export$7138b0d059a6e743(props, state, ref) {
164
171
  });
165
172
  return {
166
173
  submenuTriggerProps: {
174
+ onKeyDown: submenuTriggerKeyboardProps.onKeyDown,
175
+ onKeyUp: submenuTriggerKeyboardProps.onKeyUp,
167
176
  id: submenuTriggerId,
168
177
  'aria-controls': state.isOpen ? overlayId : undefined,
169
178
  'aria-haspopup': !isDisabled ? type : undefined,
@@ -171,7 +180,6 @@ function $fe3245d1ec1813d3$export$7138b0d059a6e743(props, state, ref) {
171
180
  onPressStart: onPressStart,
172
181
  onPress: onPress,
173
182
  onHoverChange: onHoverChange,
174
- onKeyDown: submenuTriggerKeyDown,
175
183
  isOpen: state.isOpen
176
184
  },
177
185
  submenuProps: submenuProps,
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/react-aria/src/menu/useSubmenuTrigger.ts"],"sourcesContent":["/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaMenuItemProps} from './useMenuItem';\nimport {AriaMenuOptions} from './useMenu';\nimport type {AriaPopoverProps} from '../overlays/usePopover';\nimport {\n FocusableElement,\n FocusStrategy,\n KeyboardEvent,\n Node,\n PressEvent,\n RefObject\n} from '@react-types/shared';\nimport {focusWithoutScrolling} from '../utils/focusWithoutScrolling';\nimport {\n getActiveElement,\n getEventTarget,\n isFocusWithin,\n nodeContains\n} from '../utils/shadowdom/DOMFunctions';\nimport type {OverlayProps} from '../overlays/Overlay';\nimport type {SubmenuTriggerState} from 'react-stately/useMenuTriggerState';\nimport {useCallback, useRef} from 'react';\nimport {useEvent} from '../utils/useEvent';\nimport {useId} from '../utils/useId';\nimport {useLayoutEffect} from '../utils/useLayoutEffect';\nimport {useLocale} from '../i18n/I18nProvider';\nimport {useSafelyMouseToSubmenu} from './useSafelyMouseToSubmenu';\n\nexport interface AriaSubmenuTriggerProps {\n /**\n * An object representing the submenu trigger menu item. Contains all the relevant information\n * that makes up the menu item.\n *\n * @deprecated\n */\n node?: Node<unknown>;\n /** Whether the submenu trigger is disabled. */\n isDisabled?: boolean;\n /** The type of the contents that the submenu trigger opens. */\n type?: 'dialog' | 'menu';\n /** Ref of the menu that contains the submenu trigger. */\n parentMenuRef: RefObject<HTMLElement | null>;\n /** Ref of the submenu opened by the submenu trigger. */\n submenuRef: RefObject<HTMLElement | null>;\n /**\n * The delay time in milliseconds for the submenu to appear after hovering over the trigger.\n *\n * @default 200\n */\n delay?: number;\n /** Whether the submenu trigger uses virtual focus. */\n shouldUseVirtualFocus?: boolean;\n}\n\ninterface SubmenuTriggerProps extends Omit<AriaMenuItemProps, 'key' | 'onAction'> {\n /** Whether the submenu trigger is in an expanded state. */\n isOpen: boolean;\n}\n\ninterface SubmenuProps<T> extends AriaMenuOptions<T> {\n /** The level of the submenu. */\n submenuLevel: number;\n}\n\nexport interface SubmenuTriggerAria<T> {\n /** Props for the submenu trigger menu item. */\n submenuTriggerProps: SubmenuTriggerProps;\n /** Props for the submenu controlled by the submenu trigger menu item. */\n submenuProps: SubmenuProps<T>;\n /** Props for the submenu's popover container. */\n popoverProps: Pick<AriaPopoverProps, 'isNonModal' | 'shouldCloseOnInteractOutside'> &\n Pick<OverlayProps, 'disableFocusManagement'>;\n}\n\n/**\n * Provides the behavior and accessibility implementation for a submenu trigger and its associated\n * submenu.\n *\n * @param props - Props for the submenu trigger and refs attach to its submenu and parent menu.\n * @param state - State for the submenu trigger.\n * @param ref - Ref to the submenu trigger element.\n */\nexport function useSubmenuTrigger<T>(\n props: AriaSubmenuTriggerProps,\n state: SubmenuTriggerState,\n ref: RefObject<FocusableElement | null>\n): SubmenuTriggerAria<T> {\n let {\n parentMenuRef,\n submenuRef,\n type = 'menu',\n isDisabled,\n delay = 200,\n shouldUseVirtualFocus\n } = props;\n let submenuTriggerId = useId();\n let overlayId = useId();\n let {direction} = useLocale();\n let openTimeout = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n let cancelOpenTimeout = useCallback(() => {\n if (openTimeout.current) {\n clearTimeout(openTimeout.current);\n openTimeout.current = undefined;\n }\n }, [openTimeout]);\n\n let onSubmenuOpen = useCallback(\n (focusStrategy?: FocusStrategy) => {\n cancelOpenTimeout();\n state.open(focusStrategy);\n },\n [state, cancelOpenTimeout]\n );\n\n let onSubmenuClose = useCallback(() => {\n cancelOpenTimeout();\n state.close();\n }, [state, cancelOpenTimeout]);\n\n useLayoutEffect(() => {\n return () => {\n cancelOpenTimeout();\n };\n }, [cancelOpenTimeout]);\n\n let submenuKeyDown = (e: KeyboardEvent) => {\n // If focus is not within the menu, assume virtual focus is being used.\n // This means some other input element is also within the popover, so we shouldn't close the menu.\n if (!isFocusWithin(e.currentTarget)) {\n return;\n }\n\n switch (e.key) {\n case 'ArrowLeft':\n if (direction === 'ltr' && nodeContains(e.currentTarget, getEventTarget(e) as Element)) {\n e.preventDefault();\n e.stopPropagation();\n onSubmenuClose();\n if (!shouldUseVirtualFocus && ref.current) {\n focusWithoutScrolling(ref.current);\n }\n }\n break;\n case 'ArrowRight':\n if (direction === 'rtl' && nodeContains(e.currentTarget, getEventTarget(e) as Element)) {\n e.preventDefault();\n e.stopPropagation();\n onSubmenuClose();\n if (!shouldUseVirtualFocus && ref.current) {\n focusWithoutScrolling(ref.current);\n }\n }\n break;\n case 'Escape':\n // TODO: can remove this when we fix collection event leaks\n if (nodeContains(submenuRef.current, getEventTarget(e) as Element)) {\n e.stopPropagation();\n onSubmenuClose();\n if (!shouldUseVirtualFocus && ref.current) {\n focusWithoutScrolling(ref.current);\n }\n }\n break;\n }\n };\n\n let submenuProps = {\n id: overlayId,\n 'aria-labelledby': submenuTriggerId,\n submenuLevel: state.submenuLevel,\n ...(type === 'menu' && {\n onClose: state.closeAll,\n autoFocus: state.focusStrategy ?? undefined,\n onKeyDown: submenuKeyDown\n })\n };\n\n let submenuTriggerKeyDown = (e: KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowRight':\n if (!isDisabled) {\n if (direction === 'ltr') {\n e.preventDefault();\n if (!state.isOpen) {\n onSubmenuOpen('first');\n }\n\n if (type === 'menu' && !!submenuRef?.current && getActiveElement() === ref?.current) {\n focusWithoutScrolling(submenuRef.current);\n }\n } else if (state.isOpen) {\n onSubmenuClose();\n } else {\n e.continuePropagation();\n }\n }\n\n break;\n case 'ArrowLeft':\n if (!isDisabled) {\n if (direction === 'rtl') {\n e.preventDefault();\n if (!state.isOpen) {\n onSubmenuOpen('first');\n }\n\n if (type === 'menu' && !!submenuRef?.current && getActiveElement() === ref?.current) {\n focusWithoutScrolling(submenuRef.current);\n }\n } else if (state.isOpen) {\n onSubmenuClose();\n } else {\n e.continuePropagation();\n }\n }\n break;\n default:\n e.continuePropagation();\n break;\n }\n };\n\n let onPressStart = (e: PressEvent) => {\n if (!isDisabled && (e.pointerType === 'virtual' || e.pointerType === 'keyboard')) {\n // If opened with a screen reader or keyboard, auto focus the first submenu item.\n onSubmenuOpen('first');\n }\n };\n\n let onPress = (e: PressEvent) => {\n if (!isDisabled && (e.pointerType === 'touch' || e.pointerType === 'mouse')) {\n // For touch or on a desktop device with a small screen open on press up to possible problems with\n // press up happening on the newly opened tray items\n onSubmenuOpen();\n }\n };\n\n let onHoverChange = isHovered => {\n if (!isDisabled) {\n if (isHovered && !state.isOpen) {\n if (!openTimeout.current) {\n openTimeout.current = setTimeout(() => {\n onSubmenuOpen();\n }, delay);\n }\n } else if (!isHovered) {\n cancelOpenTimeout();\n }\n }\n };\n\n useEvent(parentMenuRef, 'focusin', e => {\n // If we detect focus moved to a different item in the same menu that the currently open submenu trigger is in\n // then close the submenu. This is for a case where the user hovers a root menu item when multiple submenus are open\n if (\n state.isOpen &&\n nodeContains(parentMenuRef.current, getEventTarget(e) as HTMLElement) &&\n getEventTarget(e) !== ref.current\n ) {\n onSubmenuClose();\n }\n });\n\n let shouldCloseOnInteractOutside = target => {\n if (target !== ref.current) {\n return true;\n }\n\n return false;\n };\n\n useSafelyMouseToSubmenu({\n menuRef: parentMenuRef,\n submenuRef,\n isOpen: state.isOpen,\n isDisabled: isDisabled\n });\n\n return {\n submenuTriggerProps: {\n id: submenuTriggerId,\n 'aria-controls': state.isOpen ? overlayId : undefined,\n 'aria-haspopup': !isDisabled ? type : undefined,\n 'aria-expanded': state.isOpen ? 'true' : 'false',\n onPressStart,\n onPress,\n onHoverChange,\n onKeyDown: submenuTriggerKeyDown,\n isOpen: state.isOpen\n },\n submenuProps,\n popoverProps: {\n isNonModal: true,\n shouldCloseOnInteractOutside\n }\n };\n}\n"],"names":[],"version":3,"file":"useSubmenuTrigger.js.map"}
1
+ {"mappings":"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","sources":["packages/react-aria/src/menu/useSubmenuTrigger.ts"],"sourcesContent":["/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaMenuItemProps} from './useMenuItem';\nimport {AriaMenuOptions} from './useMenu';\nimport type {AriaPopoverProps} from '../overlays/usePopover';\nimport {FocusableElement, FocusStrategy, Node, PressEvent, RefObject} from '@react-types/shared';\nimport {focusWithoutScrolling} from '../utils/focusWithoutScrolling';\nimport {\n getActiveElement,\n getEventTarget,\n isFocusWithin,\n nodeContains\n} from '../utils/shadowdom/DOMFunctions';\nimport type {OverlayProps} from '../overlays/Overlay';\nimport type {SubmenuTriggerState} from 'react-stately/useMenuTriggerState';\nimport {useCallback, useRef} from 'react';\nimport {useEvent} from '../utils/useEvent';\nimport {useId} from '../utils/useId';\nimport {useKeyboard} from '../interactions/useKeyboard';\nimport {useLayoutEffect} from '../utils/useLayoutEffect';\nimport {useLocale} from '../i18n/I18nProvider';\nimport {useSafelyMouseToSubmenu} from './useSafelyMouseToSubmenu';\n\nexport interface AriaSubmenuTriggerProps {\n /**\n * An object representing the submenu trigger menu item. Contains all the relevant information\n * that makes up the menu item.\n *\n * @deprecated\n */\n node?: Node<unknown>;\n /** Whether the submenu trigger is disabled. */\n isDisabled?: boolean;\n /** The type of the contents that the submenu trigger opens. */\n type?: 'dialog' | 'menu';\n /** Ref of the menu that contains the submenu trigger. */\n parentMenuRef: RefObject<HTMLElement | null>;\n /** Ref of the submenu opened by the submenu trigger. */\n submenuRef: RefObject<HTMLElement | null>;\n /**\n * The delay time in milliseconds for the submenu to appear after hovering over the trigger.\n *\n * @default 200\n */\n delay?: number;\n /** Whether the submenu trigger uses virtual focus. */\n shouldUseVirtualFocus?: boolean;\n}\n\ninterface SubmenuTriggerProps extends Omit<AriaMenuItemProps, 'key' | 'onAction'> {\n /** Whether the submenu trigger is in an expanded state. */\n isOpen: boolean;\n}\n\ninterface SubmenuProps<T> extends AriaMenuOptions<T> {\n /** The level of the submenu. */\n submenuLevel: number;\n}\n\nexport interface SubmenuTriggerAria<T> {\n /** Props for the submenu trigger menu item. */\n submenuTriggerProps: SubmenuTriggerProps;\n /** Props for the submenu controlled by the submenu trigger menu item. */\n submenuProps: SubmenuProps<T>;\n /** Props for the submenu's popover container. */\n popoverProps: Pick<AriaPopoverProps, 'isNonModal' | 'shouldCloseOnInteractOutside'> &\n Pick<OverlayProps, 'disableFocusManagement'>;\n}\n\n/**\n * Provides the behavior and accessibility implementation for a submenu trigger and its associated\n * submenu.\n *\n * @param props - Props for the submenu trigger and refs attach to its submenu and parent menu.\n * @param state - State for the submenu trigger.\n * @param ref - Ref to the submenu trigger element.\n */\nexport function useSubmenuTrigger<T>(\n props: AriaSubmenuTriggerProps,\n state: SubmenuTriggerState,\n ref: RefObject<FocusableElement | null>\n): SubmenuTriggerAria<T> {\n let {\n parentMenuRef,\n submenuRef,\n type = 'menu',\n isDisabled,\n delay = 200,\n shouldUseVirtualFocus\n } = props;\n let submenuTriggerId = useId();\n let overlayId = useId();\n let {direction} = useLocale();\n let openTimeout = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n let cancelOpenTimeout = useCallback(() => {\n if (openTimeout.current) {\n clearTimeout(openTimeout.current);\n openTimeout.current = undefined;\n }\n }, [openTimeout]);\n\n let onSubmenuOpen = useCallback(\n (focusStrategy?: FocusStrategy) => {\n cancelOpenTimeout();\n state.open(focusStrategy);\n },\n [state, cancelOpenTimeout]\n );\n\n let onSubmenuClose = useCallback(() => {\n cancelOpenTimeout();\n state.close();\n }, [state, cancelOpenTimeout]);\n\n useLayoutEffect(() => {\n return () => {\n cancelOpenTimeout();\n };\n }, [cancelOpenTimeout]);\n\n let {keyboardProps} = useKeyboard({\n shortcuts: {\n ArrowLeft: e => {\n // If focus is not within the menu, assume virtual focus is being used.\n // This means some other input element is also within the popover, so we shouldn't close the menu.\n if (!isFocusWithin(e.currentTarget)) {\n return false;\n }\n if (direction === 'ltr' && nodeContains(e.currentTarget, getEventTarget(e) as Element)) {\n onSubmenuClose();\n if (!shouldUseVirtualFocus && ref.current) {\n focusWithoutScrolling(ref.current);\n }\n return;\n }\n return false;\n },\n ArrowRight: e => {\n if (!isFocusWithin(e.currentTarget)) {\n return false;\n }\n if (direction === 'rtl' && nodeContains(e.currentTarget, getEventTarget(e) as Element)) {\n onSubmenuClose();\n if (!shouldUseVirtualFocus && ref.current) {\n focusWithoutScrolling(ref.current);\n }\n return;\n }\n return false;\n },\n Escape: e => {\n if (!isFocusWithin(e.currentTarget)) {\n return false;\n }\n if (nodeContains(submenuRef.current, getEventTarget(e) as Element)) {\n onSubmenuClose();\n if (!shouldUseVirtualFocus && ref.current) {\n focusWithoutScrolling(ref.current);\n }\n return;\n }\n return false;\n }\n }\n });\n\n let submenuProps = {\n id: overlayId,\n 'aria-labelledby': submenuTriggerId,\n submenuLevel: state.submenuLevel,\n ...(type === 'menu' && {\n onClose: state.closeAll,\n autoFocus: state.focusStrategy ?? undefined,\n ...keyboardProps\n })\n };\n\n let {keyboardProps: submenuTriggerKeyboardProps} = useKeyboard({\n shortcuts: {\n ArrowRight: () => {\n if (!isDisabled) {\n if (direction === 'ltr') {\n if (!state.isOpen) {\n onSubmenuOpen('first');\n }\n\n if (type === 'menu' && !!submenuRef?.current && getActiveElement() === ref?.current) {\n focusWithoutScrolling(submenuRef.current);\n }\n return;\n } else if (state.isOpen) {\n onSubmenuClose();\n return;\n } else {\n return false;\n }\n }\n return false;\n },\n ArrowLeft: () => {\n if (!isDisabled) {\n if (direction === 'rtl') {\n if (!state.isOpen) {\n onSubmenuOpen('first');\n }\n\n if (type === 'menu' && !!submenuRef?.current && getActiveElement() === ref?.current) {\n focusWithoutScrolling(submenuRef.current);\n }\n return;\n } else if (state.isOpen) {\n onSubmenuClose();\n return;\n } else {\n return false;\n }\n }\n return false;\n }\n }\n });\n\n let onPressStart = (e: PressEvent) => {\n if (!isDisabled && (e.pointerType === 'virtual' || e.pointerType === 'keyboard')) {\n // If opened with a screen reader or keyboard, auto focus the first submenu item.\n onSubmenuOpen('first');\n }\n };\n\n let onPress = (e: PressEvent) => {\n if (!isDisabled && (e.pointerType === 'touch' || e.pointerType === 'mouse')) {\n // For touch or on a desktop device with a small screen open on press up to possible problems with\n // press up happening on the newly opened tray items\n onSubmenuOpen();\n }\n };\n\n let onHoverChange = isHovered => {\n if (!isDisabled) {\n if (isHovered && !state.isOpen) {\n if (!openTimeout.current) {\n openTimeout.current = setTimeout(() => {\n onSubmenuOpen();\n }, delay);\n }\n } else if (!isHovered) {\n cancelOpenTimeout();\n }\n }\n };\n\n useEvent(parentMenuRef, 'focusin', e => {\n // If we detect focus moved to a different item in the same menu that the currently open submenu trigger is in\n // then close the submenu. This is for a case where the user hovers a root menu item when multiple submenus are open\n if (\n state.isOpen &&\n nodeContains(parentMenuRef.current, getEventTarget(e) as HTMLElement) &&\n getEventTarget(e) !== ref.current\n ) {\n onSubmenuClose();\n }\n });\n\n let shouldCloseOnInteractOutside = target => {\n if (target !== ref.current) {\n return true;\n }\n\n return false;\n };\n\n useSafelyMouseToSubmenu({\n menuRef: parentMenuRef,\n submenuRef,\n isOpen: state.isOpen,\n isDisabled: isDisabled\n });\n\n return {\n submenuTriggerProps: {\n onKeyDown: submenuTriggerKeyboardProps.onKeyDown,\n onKeyUp: submenuTriggerKeyboardProps.onKeyUp,\n id: submenuTriggerId,\n 'aria-controls': state.isOpen ? overlayId : undefined,\n 'aria-haspopup': !isDisabled ? type : undefined,\n 'aria-expanded': state.isOpen ? 'true' : 'false',\n onPressStart,\n onPress,\n onHoverChange,\n isOpen: state.isOpen\n },\n submenuProps,\n popoverProps: {\n isNonModal: true,\n shouldCloseOnInteractOutside\n }\n };\n}\n"],"names":[],"version":3,"file":"useSubmenuTrigger.js.map"}
@@ -2,6 +2,7 @@ import {focusWithoutScrolling as $1969ac565cfec8d0$export$de79e2c695e052f3} from
2
2
  import {getActiveElement as $23f2114a1b82827e$export$cd4e5573fbe2b576, getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29, isFocusWithin as $23f2114a1b82827e$export$b4f377a2b6254582, nodeContains as $23f2114a1b82827e$export$4282f70798064fe0} from "../utils/shadowdom/DOMFunctions.mjs";
3
3
  import {useEvent as $600b3cf69ae46262$export$90fc3a17d93f704c} from "../utils/useEvent.mjs";
4
4
  import {useId as $390e54f620492c70$export$f680877a34711e37} from "../utils/useId.mjs";
5
+ import {useKeyboard as $8296dad1a4c5e0dc$export$8f71654801c2f7cd} from "../interactions/useKeyboard.mjs";
5
6
  import {useLayoutEffect as $c4867b2f328c2698$export$e5c5a5f917a5871c} from "../utils/useLayoutEffect.mjs";
6
7
  import {useLocale as $2eb8e6d23f3d0cb0$export$43bb16f9c6d9e3f7} from "../i18n/I18nProvider.mjs";
7
8
  import {useSafelyMouseToSubmenu as $eac5d44fa99b2e3b$export$85ec83e04c95f50a} from "./useSafelyMouseToSubmenu.mjs";
@@ -25,6 +26,7 @@ import {useRef as $5jLBO$useRef, useCallback as $5jLBO$useCallback} from "react"
25
26
 
26
27
 
27
28
 
29
+
28
30
  function $8794213c1141208f$export$7138b0d059a6e743(props, state, ref) {
29
31
  let { parentMenuRef: parentMenuRef, submenuRef: submenuRef, type: type = 'menu', isDisabled: isDisabled, delay: delay = 200, shouldUseVirtualFocus: shouldUseVirtualFocus } = props;
30
32
  let submenuTriggerId = (0, $390e54f620492c70$export$f680877a34711e37)();
@@ -60,37 +62,39 @@ function $8794213c1141208f$export$7138b0d059a6e743(props, state, ref) {
60
62
  }, [
61
63
  cancelOpenTimeout
62
64
  ]);
63
- let submenuKeyDown = (e)=>{
64
- // If focus is not within the menu, assume virtual focus is being used.
65
- // This means some other input element is also within the popover, so we shouldn't close the menu.
66
- if (!(0, $23f2114a1b82827e$export$b4f377a2b6254582)(e.currentTarget)) return;
67
- switch(e.key){
68
- case 'ArrowLeft':
65
+ let { keyboardProps: keyboardProps } = (0, $8296dad1a4c5e0dc$export$8f71654801c2f7cd)({
66
+ shortcuts: {
67
+ ArrowLeft: (e)=>{
68
+ // If focus is not within the menu, assume virtual focus is being used.
69
+ // This means some other input element is also within the popover, so we shouldn't close the menu.
70
+ if (!(0, $23f2114a1b82827e$export$b4f377a2b6254582)(e.currentTarget)) return false;
69
71
  if (direction === 'ltr' && (0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) {
70
- e.preventDefault();
71
- e.stopPropagation();
72
72
  onSubmenuClose();
73
73
  if (!shouldUseVirtualFocus && ref.current) (0, $1969ac565cfec8d0$export$de79e2c695e052f3)(ref.current);
74
+ return;
74
75
  }
75
- break;
76
- case 'ArrowRight':
76
+ return false;
77
+ },
78
+ ArrowRight: (e)=>{
79
+ if (!(0, $23f2114a1b82827e$export$b4f377a2b6254582)(e.currentTarget)) return false;
77
80
  if (direction === 'rtl' && (0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) {
78
- e.preventDefault();
79
- e.stopPropagation();
80
81
  onSubmenuClose();
81
82
  if (!shouldUseVirtualFocus && ref.current) (0, $1969ac565cfec8d0$export$de79e2c695e052f3)(ref.current);
83
+ return;
82
84
  }
83
- break;
84
- case 'Escape':
85
- // TODO: can remove this when we fix collection event leaks
85
+ return false;
86
+ },
87
+ Escape: (e)=>{
88
+ if (!(0, $23f2114a1b82827e$export$b4f377a2b6254582)(e.currentTarget)) return false;
86
89
  if ((0, $23f2114a1b82827e$export$4282f70798064fe0)(submenuRef.current, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) {
87
- e.stopPropagation();
88
90
  onSubmenuClose();
89
91
  if (!shouldUseVirtualFocus && ref.current) (0, $1969ac565cfec8d0$export$de79e2c695e052f3)(ref.current);
92
+ return;
90
93
  }
91
- break;
94
+ return false;
95
+ }
92
96
  }
93
- };
97
+ });
94
98
  let submenuProps = {
95
99
  id: overlayId,
96
100
  'aria-labelledby': submenuTriggerId,
@@ -98,36 +102,39 @@ function $8794213c1141208f$export$7138b0d059a6e743(props, state, ref) {
98
102
  ...type === 'menu' && {
99
103
  onClose: state.closeAll,
100
104
  autoFocus: state.focusStrategy ?? undefined,
101
- onKeyDown: submenuKeyDown
105
+ ...keyboardProps
102
106
  }
103
107
  };
104
- let submenuTriggerKeyDown = (e)=>{
105
- switch(e.key){
106
- case 'ArrowRight':
108
+ let { keyboardProps: submenuTriggerKeyboardProps } = (0, $8296dad1a4c5e0dc$export$8f71654801c2f7cd)({
109
+ shortcuts: {
110
+ ArrowRight: ()=>{
107
111
  if (!isDisabled) {
108
112
  if (direction === 'ltr') {
109
- e.preventDefault();
110
113
  if (!state.isOpen) onSubmenuOpen('first');
111
114
  if (type === 'menu' && !!submenuRef?.current && (0, $23f2114a1b82827e$export$cd4e5573fbe2b576)() === ref?.current) (0, $1969ac565cfec8d0$export$de79e2c695e052f3)(submenuRef.current);
112
- } else if (state.isOpen) onSubmenuClose();
113
- else e.continuePropagation();
115
+ return;
116
+ } else if (state.isOpen) {
117
+ onSubmenuClose();
118
+ return;
119
+ } else return false;
114
120
  }
115
- break;
116
- case 'ArrowLeft':
121
+ return false;
122
+ },
123
+ ArrowLeft: ()=>{
117
124
  if (!isDisabled) {
118
125
  if (direction === 'rtl') {
119
- e.preventDefault();
120
126
  if (!state.isOpen) onSubmenuOpen('first');
121
127
  if (type === 'menu' && !!submenuRef?.current && (0, $23f2114a1b82827e$export$cd4e5573fbe2b576)() === ref?.current) (0, $1969ac565cfec8d0$export$de79e2c695e052f3)(submenuRef.current);
122
- } else if (state.isOpen) onSubmenuClose();
123
- else e.continuePropagation();
128
+ return;
129
+ } else if (state.isOpen) {
130
+ onSubmenuClose();
131
+ return;
132
+ } else return false;
124
133
  }
125
- break;
126
- default:
127
- e.continuePropagation();
128
- break;
134
+ return false;
135
+ }
129
136
  }
130
- };
137
+ });
131
138
  let onPressStart = (e)=>{
132
139
  if (!isDisabled && (e.pointerType === 'virtual' || e.pointerType === 'keyboard')) // If opened with a screen reader or keyboard, auto focus the first submenu item.
133
140
  onSubmenuOpen('first');
@@ -163,6 +170,8 @@ function $8794213c1141208f$export$7138b0d059a6e743(props, state, ref) {
163
170
  });
164
171
  return {
165
172
  submenuTriggerProps: {
173
+ onKeyDown: submenuTriggerKeyboardProps.onKeyDown,
174
+ onKeyUp: submenuTriggerKeyboardProps.onKeyUp,
166
175
  id: submenuTriggerId,
167
176
  'aria-controls': state.isOpen ? overlayId : undefined,
168
177
  'aria-haspopup': !isDisabled ? type : undefined,
@@ -170,7 +179,6 @@ function $8794213c1141208f$export$7138b0d059a6e743(props, state, ref) {
170
179
  onPressStart: onPressStart,
171
180
  onPress: onPress,
172
181
  onHoverChange: onHoverChange,
173
- onKeyDown: submenuTriggerKeyDown,
174
182
  isOpen: state.isOpen
175
183
  },
176
184
  submenuProps: submenuProps,
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/react-aria/src/menu/useSubmenuTrigger.ts"],"sourcesContent":["/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaMenuItemProps} from './useMenuItem';\nimport {AriaMenuOptions} from './useMenu';\nimport type {AriaPopoverProps} from '../overlays/usePopover';\nimport {\n FocusableElement,\n FocusStrategy,\n KeyboardEvent,\n Node,\n PressEvent,\n RefObject\n} from '@react-types/shared';\nimport {focusWithoutScrolling} from '../utils/focusWithoutScrolling';\nimport {\n getActiveElement,\n getEventTarget,\n isFocusWithin,\n nodeContains\n} from '../utils/shadowdom/DOMFunctions';\nimport type {OverlayProps} from '../overlays/Overlay';\nimport type {SubmenuTriggerState} from 'react-stately/useMenuTriggerState';\nimport {useCallback, useRef} from 'react';\nimport {useEvent} from '../utils/useEvent';\nimport {useId} from '../utils/useId';\nimport {useLayoutEffect} from '../utils/useLayoutEffect';\nimport {useLocale} from '../i18n/I18nProvider';\nimport {useSafelyMouseToSubmenu} from './useSafelyMouseToSubmenu';\n\nexport interface AriaSubmenuTriggerProps {\n /**\n * An object representing the submenu trigger menu item. Contains all the relevant information\n * that makes up the menu item.\n *\n * @deprecated\n */\n node?: Node<unknown>;\n /** Whether the submenu trigger is disabled. */\n isDisabled?: boolean;\n /** The type of the contents that the submenu trigger opens. */\n type?: 'dialog' | 'menu';\n /** Ref of the menu that contains the submenu trigger. */\n parentMenuRef: RefObject<HTMLElement | null>;\n /** Ref of the submenu opened by the submenu trigger. */\n submenuRef: RefObject<HTMLElement | null>;\n /**\n * The delay time in milliseconds for the submenu to appear after hovering over the trigger.\n *\n * @default 200\n */\n delay?: number;\n /** Whether the submenu trigger uses virtual focus. */\n shouldUseVirtualFocus?: boolean;\n}\n\ninterface SubmenuTriggerProps extends Omit<AriaMenuItemProps, 'key' | 'onAction'> {\n /** Whether the submenu trigger is in an expanded state. */\n isOpen: boolean;\n}\n\ninterface SubmenuProps<T> extends AriaMenuOptions<T> {\n /** The level of the submenu. */\n submenuLevel: number;\n}\n\nexport interface SubmenuTriggerAria<T> {\n /** Props for the submenu trigger menu item. */\n submenuTriggerProps: SubmenuTriggerProps;\n /** Props for the submenu controlled by the submenu trigger menu item. */\n submenuProps: SubmenuProps<T>;\n /** Props for the submenu's popover container. */\n popoverProps: Pick<AriaPopoverProps, 'isNonModal' | 'shouldCloseOnInteractOutside'> &\n Pick<OverlayProps, 'disableFocusManagement'>;\n}\n\n/**\n * Provides the behavior and accessibility implementation for a submenu trigger and its associated\n * submenu.\n *\n * @param props - Props for the submenu trigger and refs attach to its submenu and parent menu.\n * @param state - State for the submenu trigger.\n * @param ref - Ref to the submenu trigger element.\n */\nexport function useSubmenuTrigger<T>(\n props: AriaSubmenuTriggerProps,\n state: SubmenuTriggerState,\n ref: RefObject<FocusableElement | null>\n): SubmenuTriggerAria<T> {\n let {\n parentMenuRef,\n submenuRef,\n type = 'menu',\n isDisabled,\n delay = 200,\n shouldUseVirtualFocus\n } = props;\n let submenuTriggerId = useId();\n let overlayId = useId();\n let {direction} = useLocale();\n let openTimeout = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n let cancelOpenTimeout = useCallback(() => {\n if (openTimeout.current) {\n clearTimeout(openTimeout.current);\n openTimeout.current = undefined;\n }\n }, [openTimeout]);\n\n let onSubmenuOpen = useCallback(\n (focusStrategy?: FocusStrategy) => {\n cancelOpenTimeout();\n state.open(focusStrategy);\n },\n [state, cancelOpenTimeout]\n );\n\n let onSubmenuClose = useCallback(() => {\n cancelOpenTimeout();\n state.close();\n }, [state, cancelOpenTimeout]);\n\n useLayoutEffect(() => {\n return () => {\n cancelOpenTimeout();\n };\n }, [cancelOpenTimeout]);\n\n let submenuKeyDown = (e: KeyboardEvent) => {\n // If focus is not within the menu, assume virtual focus is being used.\n // This means some other input element is also within the popover, so we shouldn't close the menu.\n if (!isFocusWithin(e.currentTarget)) {\n return;\n }\n\n switch (e.key) {\n case 'ArrowLeft':\n if (direction === 'ltr' && nodeContains(e.currentTarget, getEventTarget(e) as Element)) {\n e.preventDefault();\n e.stopPropagation();\n onSubmenuClose();\n if (!shouldUseVirtualFocus && ref.current) {\n focusWithoutScrolling(ref.current);\n }\n }\n break;\n case 'ArrowRight':\n if (direction === 'rtl' && nodeContains(e.currentTarget, getEventTarget(e) as Element)) {\n e.preventDefault();\n e.stopPropagation();\n onSubmenuClose();\n if (!shouldUseVirtualFocus && ref.current) {\n focusWithoutScrolling(ref.current);\n }\n }\n break;\n case 'Escape':\n // TODO: can remove this when we fix collection event leaks\n if (nodeContains(submenuRef.current, getEventTarget(e) as Element)) {\n e.stopPropagation();\n onSubmenuClose();\n if (!shouldUseVirtualFocus && ref.current) {\n focusWithoutScrolling(ref.current);\n }\n }\n break;\n }\n };\n\n let submenuProps = {\n id: overlayId,\n 'aria-labelledby': submenuTriggerId,\n submenuLevel: state.submenuLevel,\n ...(type === 'menu' && {\n onClose: state.closeAll,\n autoFocus: state.focusStrategy ?? undefined,\n onKeyDown: submenuKeyDown\n })\n };\n\n let submenuTriggerKeyDown = (e: KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowRight':\n if (!isDisabled) {\n if (direction === 'ltr') {\n e.preventDefault();\n if (!state.isOpen) {\n onSubmenuOpen('first');\n }\n\n if (type === 'menu' && !!submenuRef?.current && getActiveElement() === ref?.current) {\n focusWithoutScrolling(submenuRef.current);\n }\n } else if (state.isOpen) {\n onSubmenuClose();\n } else {\n e.continuePropagation();\n }\n }\n\n break;\n case 'ArrowLeft':\n if (!isDisabled) {\n if (direction === 'rtl') {\n e.preventDefault();\n if (!state.isOpen) {\n onSubmenuOpen('first');\n }\n\n if (type === 'menu' && !!submenuRef?.current && getActiveElement() === ref?.current) {\n focusWithoutScrolling(submenuRef.current);\n }\n } else if (state.isOpen) {\n onSubmenuClose();\n } else {\n e.continuePropagation();\n }\n }\n break;\n default:\n e.continuePropagation();\n break;\n }\n };\n\n let onPressStart = (e: PressEvent) => {\n if (!isDisabled && (e.pointerType === 'virtual' || e.pointerType === 'keyboard')) {\n // If opened with a screen reader or keyboard, auto focus the first submenu item.\n onSubmenuOpen('first');\n }\n };\n\n let onPress = (e: PressEvent) => {\n if (!isDisabled && (e.pointerType === 'touch' || e.pointerType === 'mouse')) {\n // For touch or on a desktop device with a small screen open on press up to possible problems with\n // press up happening on the newly opened tray items\n onSubmenuOpen();\n }\n };\n\n let onHoverChange = isHovered => {\n if (!isDisabled) {\n if (isHovered && !state.isOpen) {\n if (!openTimeout.current) {\n openTimeout.current = setTimeout(() => {\n onSubmenuOpen();\n }, delay);\n }\n } else if (!isHovered) {\n cancelOpenTimeout();\n }\n }\n };\n\n useEvent(parentMenuRef, 'focusin', e => {\n // If we detect focus moved to a different item in the same menu that the currently open submenu trigger is in\n // then close the submenu. This is for a case where the user hovers a root menu item when multiple submenus are open\n if (\n state.isOpen &&\n nodeContains(parentMenuRef.current, getEventTarget(e) as HTMLElement) &&\n getEventTarget(e) !== ref.current\n ) {\n onSubmenuClose();\n }\n });\n\n let shouldCloseOnInteractOutside = target => {\n if (target !== ref.current) {\n return true;\n }\n\n return false;\n };\n\n useSafelyMouseToSubmenu({\n menuRef: parentMenuRef,\n submenuRef,\n isOpen: state.isOpen,\n isDisabled: isDisabled\n });\n\n return {\n submenuTriggerProps: {\n id: submenuTriggerId,\n 'aria-controls': state.isOpen ? overlayId : undefined,\n 'aria-haspopup': !isDisabled ? type : undefined,\n 'aria-expanded': state.isOpen ? 'true' : 'false',\n onPressStart,\n onPress,\n onHoverChange,\n onKeyDown: submenuTriggerKeyDown,\n isOpen: state.isOpen\n },\n submenuProps,\n popoverProps: {\n isNonModal: true,\n shouldCloseOnInteractOutside\n }\n };\n}\n"],"names":[],"version":3,"file":"useSubmenuTrigger.mjs.map"}
1
+ {"mappings":"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","sources":["packages/react-aria/src/menu/useSubmenuTrigger.ts"],"sourcesContent":["/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaMenuItemProps} from './useMenuItem';\nimport {AriaMenuOptions} from './useMenu';\nimport type {AriaPopoverProps} from '../overlays/usePopover';\nimport {FocusableElement, FocusStrategy, Node, PressEvent, RefObject} from '@react-types/shared';\nimport {focusWithoutScrolling} from '../utils/focusWithoutScrolling';\nimport {\n getActiveElement,\n getEventTarget,\n isFocusWithin,\n nodeContains\n} from '../utils/shadowdom/DOMFunctions';\nimport type {OverlayProps} from '../overlays/Overlay';\nimport type {SubmenuTriggerState} from 'react-stately/useMenuTriggerState';\nimport {useCallback, useRef} from 'react';\nimport {useEvent} from '../utils/useEvent';\nimport {useId} from '../utils/useId';\nimport {useKeyboard} from '../interactions/useKeyboard';\nimport {useLayoutEffect} from '../utils/useLayoutEffect';\nimport {useLocale} from '../i18n/I18nProvider';\nimport {useSafelyMouseToSubmenu} from './useSafelyMouseToSubmenu';\n\nexport interface AriaSubmenuTriggerProps {\n /**\n * An object representing the submenu trigger menu item. Contains all the relevant information\n * that makes up the menu item.\n *\n * @deprecated\n */\n node?: Node<unknown>;\n /** Whether the submenu trigger is disabled. */\n isDisabled?: boolean;\n /** The type of the contents that the submenu trigger opens. */\n type?: 'dialog' | 'menu';\n /** Ref of the menu that contains the submenu trigger. */\n parentMenuRef: RefObject<HTMLElement | null>;\n /** Ref of the submenu opened by the submenu trigger. */\n submenuRef: RefObject<HTMLElement | null>;\n /**\n * The delay time in milliseconds for the submenu to appear after hovering over the trigger.\n *\n * @default 200\n */\n delay?: number;\n /** Whether the submenu trigger uses virtual focus. */\n shouldUseVirtualFocus?: boolean;\n}\n\ninterface SubmenuTriggerProps extends Omit<AriaMenuItemProps, 'key' | 'onAction'> {\n /** Whether the submenu trigger is in an expanded state. */\n isOpen: boolean;\n}\n\ninterface SubmenuProps<T> extends AriaMenuOptions<T> {\n /** The level of the submenu. */\n submenuLevel: number;\n}\n\nexport interface SubmenuTriggerAria<T> {\n /** Props for the submenu trigger menu item. */\n submenuTriggerProps: SubmenuTriggerProps;\n /** Props for the submenu controlled by the submenu trigger menu item. */\n submenuProps: SubmenuProps<T>;\n /** Props for the submenu's popover container. */\n popoverProps: Pick<AriaPopoverProps, 'isNonModal' | 'shouldCloseOnInteractOutside'> &\n Pick<OverlayProps, 'disableFocusManagement'>;\n}\n\n/**\n * Provides the behavior and accessibility implementation for a submenu trigger and its associated\n * submenu.\n *\n * @param props - Props for the submenu trigger and refs attach to its submenu and parent menu.\n * @param state - State for the submenu trigger.\n * @param ref - Ref to the submenu trigger element.\n */\nexport function useSubmenuTrigger<T>(\n props: AriaSubmenuTriggerProps,\n state: SubmenuTriggerState,\n ref: RefObject<FocusableElement | null>\n): SubmenuTriggerAria<T> {\n let {\n parentMenuRef,\n submenuRef,\n type = 'menu',\n isDisabled,\n delay = 200,\n shouldUseVirtualFocus\n } = props;\n let submenuTriggerId = useId();\n let overlayId = useId();\n let {direction} = useLocale();\n let openTimeout = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n let cancelOpenTimeout = useCallback(() => {\n if (openTimeout.current) {\n clearTimeout(openTimeout.current);\n openTimeout.current = undefined;\n }\n }, [openTimeout]);\n\n let onSubmenuOpen = useCallback(\n (focusStrategy?: FocusStrategy) => {\n cancelOpenTimeout();\n state.open(focusStrategy);\n },\n [state, cancelOpenTimeout]\n );\n\n let onSubmenuClose = useCallback(() => {\n cancelOpenTimeout();\n state.close();\n }, [state, cancelOpenTimeout]);\n\n useLayoutEffect(() => {\n return () => {\n cancelOpenTimeout();\n };\n }, [cancelOpenTimeout]);\n\n let {keyboardProps} = useKeyboard({\n shortcuts: {\n ArrowLeft: e => {\n // If focus is not within the menu, assume virtual focus is being used.\n // This means some other input element is also within the popover, so we shouldn't close the menu.\n if (!isFocusWithin(e.currentTarget)) {\n return false;\n }\n if (direction === 'ltr' && nodeContains(e.currentTarget, getEventTarget(e) as Element)) {\n onSubmenuClose();\n if (!shouldUseVirtualFocus && ref.current) {\n focusWithoutScrolling(ref.current);\n }\n return;\n }\n return false;\n },\n ArrowRight: e => {\n if (!isFocusWithin(e.currentTarget)) {\n return false;\n }\n if (direction === 'rtl' && nodeContains(e.currentTarget, getEventTarget(e) as Element)) {\n onSubmenuClose();\n if (!shouldUseVirtualFocus && ref.current) {\n focusWithoutScrolling(ref.current);\n }\n return;\n }\n return false;\n },\n Escape: e => {\n if (!isFocusWithin(e.currentTarget)) {\n return false;\n }\n if (nodeContains(submenuRef.current, getEventTarget(e) as Element)) {\n onSubmenuClose();\n if (!shouldUseVirtualFocus && ref.current) {\n focusWithoutScrolling(ref.current);\n }\n return;\n }\n return false;\n }\n }\n });\n\n let submenuProps = {\n id: overlayId,\n 'aria-labelledby': submenuTriggerId,\n submenuLevel: state.submenuLevel,\n ...(type === 'menu' && {\n onClose: state.closeAll,\n autoFocus: state.focusStrategy ?? undefined,\n ...keyboardProps\n })\n };\n\n let {keyboardProps: submenuTriggerKeyboardProps} = useKeyboard({\n shortcuts: {\n ArrowRight: () => {\n if (!isDisabled) {\n if (direction === 'ltr') {\n if (!state.isOpen) {\n onSubmenuOpen('first');\n }\n\n if (type === 'menu' && !!submenuRef?.current && getActiveElement() === ref?.current) {\n focusWithoutScrolling(submenuRef.current);\n }\n return;\n } else if (state.isOpen) {\n onSubmenuClose();\n return;\n } else {\n return false;\n }\n }\n return false;\n },\n ArrowLeft: () => {\n if (!isDisabled) {\n if (direction === 'rtl') {\n if (!state.isOpen) {\n onSubmenuOpen('first');\n }\n\n if (type === 'menu' && !!submenuRef?.current && getActiveElement() === ref?.current) {\n focusWithoutScrolling(submenuRef.current);\n }\n return;\n } else if (state.isOpen) {\n onSubmenuClose();\n return;\n } else {\n return false;\n }\n }\n return false;\n }\n }\n });\n\n let onPressStart = (e: PressEvent) => {\n if (!isDisabled && (e.pointerType === 'virtual' || e.pointerType === 'keyboard')) {\n // If opened with a screen reader or keyboard, auto focus the first submenu item.\n onSubmenuOpen('first');\n }\n };\n\n let onPress = (e: PressEvent) => {\n if (!isDisabled && (e.pointerType === 'touch' || e.pointerType === 'mouse')) {\n // For touch or on a desktop device with a small screen open on press up to possible problems with\n // press up happening on the newly opened tray items\n onSubmenuOpen();\n }\n };\n\n let onHoverChange = isHovered => {\n if (!isDisabled) {\n if (isHovered && !state.isOpen) {\n if (!openTimeout.current) {\n openTimeout.current = setTimeout(() => {\n onSubmenuOpen();\n }, delay);\n }\n } else if (!isHovered) {\n cancelOpenTimeout();\n }\n }\n };\n\n useEvent(parentMenuRef, 'focusin', e => {\n // If we detect focus moved to a different item in the same menu that the currently open submenu trigger is in\n // then close the submenu. This is for a case where the user hovers a root menu item when multiple submenus are open\n if (\n state.isOpen &&\n nodeContains(parentMenuRef.current, getEventTarget(e) as HTMLElement) &&\n getEventTarget(e) !== ref.current\n ) {\n onSubmenuClose();\n }\n });\n\n let shouldCloseOnInteractOutside = target => {\n if (target !== ref.current) {\n return true;\n }\n\n return false;\n };\n\n useSafelyMouseToSubmenu({\n menuRef: parentMenuRef,\n submenuRef,\n isOpen: state.isOpen,\n isDisabled: isDisabled\n });\n\n return {\n submenuTriggerProps: {\n onKeyDown: submenuTriggerKeyboardProps.onKeyDown,\n onKeyUp: submenuTriggerKeyboardProps.onKeyUp,\n id: submenuTriggerId,\n 'aria-controls': state.isOpen ? overlayId : undefined,\n 'aria-haspopup': !isDisabled ? type : undefined,\n 'aria-expanded': state.isOpen ? 'true' : 'false',\n onPressStart,\n onPress,\n onHoverChange,\n isOpen: state.isOpen\n },\n submenuProps,\n popoverProps: {\n isNonModal: true,\n shouldCloseOnInteractOutside\n }\n };\n}\n"],"names":[],"version":3,"file":"useSubmenuTrigger.mjs.map"}
@@ -1,5 +1,4 @@
1
1
  var $74b2c5b1e7ea9589$exports = require("../live-announcer/LiveAnnouncer.cjs");
2
- var $2f95486cfdaa743c$exports = require("../utils/chain.cjs");
3
2
  var $b97366b6eabbb2cc$exports = require("../utils/filterDOMProps.cjs");
4
3
  var $da02ee888921bc9e$exports = require("../utils/shadowdom/DOMFunctions.cjs");
5
4
  var $6192ba4f000b9ab1$exports = require("./intlStrings.cjs");
@@ -10,6 +9,7 @@ var $b4f85e31b7b8044c$exports = require("../interactions/useFocusWithin.cjs");
10
9
  var $7619b0bd43420560$exports = require("../textfield/useFormattedTextField.cjs");
11
10
  var $bbab3903416f8d01$exports = require("../utils/useFormReset.cjs");
12
11
  var $7ac82d1fee77eb8a$exports = require("../utils/useId.cjs");
12
+ var $6d2f10bb8b359da5$exports = require("../interactions/useKeyboard.cjs");
13
13
  var $429333cab433657c$exports = require("../utils/useLayoutEffect.cjs");
14
14
  var $d4e8e26182baab6e$exports = require("../i18n/useLocalizedStringFormatter.cjs");
15
15
  var $976551622437d5fc$exports = require("../i18n/useNumberFormatter.cjs");
@@ -167,20 +167,24 @@ function $5f05c1b9a9183f1f$export$23f548e970bdf099(props, state, inputRef) {
167
167
  }
168
168
  };
169
169
  let domProps = (0, $b97366b6eabbb2cc$exports.filterDOMProps)(props);
170
- let onKeyDownEnter = (0, $9T6S1$react.useCallback)((e)=>{
171
- if (e.nativeEvent.isComposing) return;
172
- if (e.key === 'Enter') {
173
- (0, $9T6S1$reactdom.flushSync)(()=>{
174
- commit();
175
- });
176
- commitValidation();
177
- } else e.continuePropagation();
178
- }, [
179
- commit,
180
- commitValidation
181
- ]);
170
+ let { keyboardProps: keyboardProps } = (0, $6d2f10bb8b359da5$exports.useKeyboard)({
171
+ isDisabled: isDisabled || isReadOnly,
172
+ shortcuts: {
173
+ Enter: ()=>{
174
+ (0, $9T6S1$reactdom.flushSync)(()=>{
175
+ commit();
176
+ });
177
+ commitValidation();
178
+ return {
179
+ shouldPreventDefault: false
180
+ };
181
+ }
182
+ },
183
+ onKeyDown: onKeyDown,
184
+ onKeyUp: onKeyUp
185
+ });
182
186
  let { isInvalid: isInvalid, validationErrors: validationErrors, validationDetails: validationDetails } = state.displayValidation;
183
- let { labelProps: labelProps, inputProps: textFieldProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps } = (0, $7619b0bd43420560$exports.useFormattedTextField)({
187
+ let { labelProps: labelProps, inputProps: textFieldPropsFromHook, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps } = (0, $7619b0bd43420560$exports.useFormattedTextField)({
184
188
  ...otherProps,
185
189
  ...domProps,
186
190
  // These props are added to a hidden input rather than the formatted textfield.
@@ -205,15 +209,14 @@ function $5f05c1b9a9183f1f$export$23f548e970bdf099(props, state, inputRef) {
205
209
  onBlur: onBlur,
206
210
  onFocus: onFocus,
207
211
  onFocusChange: onFocusChange,
208
- onKeyDown: (0, $9T6S1$react.useMemo)(()=>(0, $2f95486cfdaa743c$exports.chain)(onKeyDownEnter, onKeyDown), [
209
- onKeyDownEnter,
210
- onKeyDown
211
- ]),
212
- onKeyUp: onKeyUp,
213
212
  onPaste: onPaste,
214
213
  description: description,
215
214
  errorMessage: errorMessage
216
215
  }, state, inputRef);
216
+ // Merge outside useFormattedTextField so useKeyboard's createEventHandler is not nested inside
217
+ // useTextField/useFocusable's createEventHandler (avoids redundant stopPropagation on RS events).
218
+ // Shortcuts run first (mergeProps chains the second argument after the first).
219
+ let textFieldProps = (0, $89b39774f3b79dbb$exports.mergeProps)(keyboardProps, textFieldPropsFromHook);
217
220
  (0, $bbab3903416f8d01$exports.useFormReset)(inputRef, state.defaultNumberValue, state.setNumberValue);
218
221
  $5f05c1b9a9183f1f$var$useNativeValidation(state, props.validationBehavior, props.commitBehavior, inputRef, state.minValue, state.maxValue, props.step, state.numberValue);
219
222
  let inputProps = (0, $89b39774f3b79dbb$exports.mergeProps)(spinButtonProps, focusProps, textFieldProps, {
@@ -254,6 +257,7 @@ function $5f05c1b9a9183f1f$export$23f548e970bdf099(props, state, inputRef) {
254
257
  if (!fieldLabel) ariaLabelledby = props.label != null ? labelProps.id : props['aria-labelledby'];
255
258
  let incrementId = (0, $7ac82d1fee77eb8a$exports.useId)();
256
259
  let decrementId = (0, $7ac82d1fee77eb8a$exports.useId)();
260
+ // oxlint-disable-next-line react/react-compiler
257
261
  let incrementButtonProps = (0, $89b39774f3b79dbb$exports.mergeProps)(incButtonProps, {
258
262
  'aria-label': incrementAriaLabel || stringFormatter.format('increase', {
259
263
  fieldLabel: fieldLabel
@@ -267,6 +271,7 @@ function $5f05c1b9a9183f1f$export$23f548e970bdf099(props, state, inputRef) {
267
271
  isDisabled: !state.canIncrement,
268
272
  onPressStart: onButtonPressStart
269
273
  });
274
+ // oxlint-disable-next-line react/react-compiler
270
275
  let decrementButtonProps = (0, $89b39774f3b79dbb$exports.mergeProps)(decButtonProps, {
271
276
  'aria-label': decrementAriaLabel || stringFormatter.format('decrease', {
272
277
  fieldLabel: fieldLabel