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/utils/scrollIntoView.ts"],"sourcesContent":["/*\n * Copyright 2020 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 {getScrollParents} from './getScrollParents';\nimport {isIOS} from './platform';\n\ninterface ScrollIntoViewOpts {\n /** The position to align items along the block axis in. */\n block?: ScrollLogicalPosition;\n /** The position to align items along the inline axis in. */\n inline?: ScrollLogicalPosition;\n}\n\ninterface ScrollIntoViewportOpts {\n /** The optional containing element of the target to be centered in the viewport. */\n containingElement?: Element | null;\n}\n\n/**\n * Scrolls `scrollView` so that `element` is visible.\n * Similar to `element.scrollIntoView({block: 'nearest'})` (not supported in Edge),\n * but doesn't affect parents above `scrollView`.\n */\nexport function scrollIntoView(\n scrollView: HTMLElement,\n element: HTMLElement,\n opts: ScrollIntoViewOpts = {}\n): void {\n let {block = 'nearest', inline = 'nearest'} = opts;\n\n if (scrollView === element) {\n return;\n }\n\n let y = scrollView.scrollTop;\n let x = scrollView.scrollLeft;\n\n let target = element.getBoundingClientRect();\n let view = scrollView.getBoundingClientRect();\n let itemStyle = window.getComputedStyle(element);\n let viewStyle = window.getComputedStyle(scrollView);\n let root = document.scrollingElement || document.documentElement;\n let isRoot = scrollView === root;\n\n let viewTop = scrollView === root ? 0 : view.top;\n let viewBottom = scrollView === root ? scrollView.clientHeight : view.bottom;\n let viewLeft = scrollView === root ? 0 : view.left;\n let viewRight = scrollView === root ? scrollView.clientWidth : view.right;\n\n let scrollMarginTop = parseFloat(itemStyle.scrollMarginTop) || 0;\n let scrollMarginBottom = parseFloat(itemStyle.scrollMarginBottom) || 0;\n let scrollMarginLeft = parseFloat(itemStyle.scrollMarginLeft) || 0;\n let scrollMarginRight = parseFloat(itemStyle.scrollMarginRight) || 0;\n\n let scrollPaddingTop = parseFloat(viewStyle.scrollPaddingTop) || 0;\n let scrollPaddingBottom = parseFloat(viewStyle.scrollPaddingBottom) || 0;\n let scrollPaddingLeft = parseFloat(viewStyle.scrollPaddingLeft) || 0;\n let scrollPaddingRight = parseFloat(viewStyle.scrollPaddingRight) || 0;\n\n let borderTopWidth = parseFloat(viewStyle.borderTopWidth) || 0;\n let borderBottomWidth = parseFloat(viewStyle.borderBottomWidth) || 0;\n let borderLeftWidth = parseFloat(viewStyle.borderLeftWidth) || 0;\n let borderRightWidth = parseFloat(viewStyle.borderRightWidth) || 0;\n\n let scrollAreaTop = target.top - scrollMarginTop;\n let scrollAreaBottom = target.bottom + scrollMarginBottom;\n let scrollAreaLeft = target.left - scrollMarginLeft;\n let scrollAreaRight = target.right + scrollMarginRight;\n\n let scrollBarOffsetX = scrollView === root ? 0 : borderLeftWidth + borderRightWidth;\n let scrollBarOffsetY = scrollView === root ? 0 : borderTopWidth + borderBottomWidth;\n let scrollBarWidth =\n scrollView === root ? 0 : scrollView.offsetWidth - scrollView.clientWidth - scrollBarOffsetX;\n let scrollBarHeight =\n scrollView === root ? 0 : scrollView.offsetHeight - scrollView.clientHeight - scrollBarOffsetY;\n\n let scrollPortTop = viewTop + (isRoot ? 0 : borderTopWidth) + scrollPaddingTop;\n let scrollPortBottom =\n viewBottom - (isRoot ? 0 : borderBottomWidth) - scrollPaddingBottom - scrollBarHeight;\n let scrollPortLeft = viewLeft + (isRoot ? 0 : borderLeftWidth) + scrollPaddingLeft;\n let scrollPortRight = viewRight - (isRoot ? 0 : borderRightWidth) - scrollPaddingRight;\n\n // IOS always positions the scrollbar on the right ¯\\_(ツ)_/¯\n if (viewStyle.direction === 'rtl' && !isIOS()) {\n scrollPortLeft += scrollBarWidth;\n } else {\n scrollPortRight -= scrollBarWidth;\n }\n\n let shouldScrollBlock = scrollAreaTop < scrollPortTop || scrollAreaBottom > scrollPortBottom;\n let shouldScrollInline = scrollAreaLeft < scrollPortLeft || scrollAreaRight > scrollPortRight;\n\n if (shouldScrollBlock && block === 'start') {\n y += scrollAreaTop - scrollPortTop;\n } else if (shouldScrollBlock && block === 'center') {\n y += (scrollAreaTop + scrollAreaBottom) / 2 - (scrollPortTop + scrollPortBottom) / 2;\n } else if (shouldScrollBlock && block === 'end') {\n y += scrollAreaBottom - scrollPortBottom;\n } else if (shouldScrollBlock && block === 'nearest') {\n let start = scrollAreaTop - scrollPortTop;\n let end = scrollAreaBottom - scrollPortBottom;\n y += Math.abs(start) <= Math.abs(end) ? start : end;\n }\n\n if (shouldScrollInline && inline === 'start') {\n x += scrollAreaLeft - scrollPortLeft;\n } else if (shouldScrollInline && inline === 'center') {\n x += (scrollAreaLeft + scrollAreaRight) / 2 - (scrollPortLeft + scrollPortRight) / 2;\n } else if (shouldScrollInline && inline === 'end') {\n x += scrollAreaRight - scrollPortRight;\n } else if (shouldScrollInline && inline === 'nearest') {\n let start = scrollAreaLeft - scrollPortLeft;\n let end = scrollAreaRight - scrollPortRight;\n x += Math.abs(start) <= Math.abs(end) ? start : end;\n }\n\n if (process.env.NODE_ENV === 'test') {\n scrollView.scrollLeft = x;\n scrollView.scrollTop = y;\n return;\n }\n\n scrollView.scrollTo({left: x, top: y});\n}\n\n/**\n * Scrolls the `targetElement` so it is visible in the viewport. Accepts an optional\n * `opts.containingElement` that will be centered in the viewport prior to scrolling the\n * targetElement into view. If scrolling is prevented on the body (e.g. targetElement is in a\n * popover), this will only scroll the scroll parents of the targetElement up to but not including\n * the body itself.\n */\nexport function scrollIntoViewport(\n targetElement: Element | null,\n opts: ScrollIntoViewportOpts = {}\n): void {\n let {containingElement} = opts;\n if (targetElement && targetElement.isConnected) {\n let root = document.scrollingElement || document.documentElement;\n let isScrollPrevented = window.getComputedStyle(root).overflow === 'hidden';\n if (!isScrollPrevented) {\n let {left: originalLeft, top: originalTop} = targetElement.getBoundingClientRect();\n\n // use scrollIntoView({block: 'nearest'}) instead of .focus to check if the element is fully in view or not since .focus()\n // won't cause a scroll if the element is already focused and doesn't behave consistently when an element is partially out of view horizontally vs vertically\n targetElement?.scrollIntoView?.({block: 'nearest'});\n let {left: newLeft, top: newTop} = targetElement.getBoundingClientRect();\n // Account for sub pixel differences from rounding\n if (Math.abs(originalLeft - newLeft) > 1 || Math.abs(originalTop - newTop) > 1) {\n containingElement?.scrollIntoView?.({block: 'center', inline: 'center'});\n targetElement.scrollIntoView?.({block: 'nearest'});\n }\n } else {\n let {left: originalLeft, top: originalTop} = targetElement.getBoundingClientRect();\n\n // If scrolling is prevented, we don't want to scroll the body since it might move the overlay partially offscreen and the user can't scroll it back into view.\n let scrollParents = getScrollParents(targetElement, true);\n for (let scrollParent of scrollParents) {\n scrollIntoView(scrollParent as HTMLElement, targetElement as HTMLElement);\n }\n let {left: newLeft, top: newTop} = targetElement.getBoundingClientRect();\n // Account for sub pixel differences from rounding\n if (Math.abs(originalLeft - newLeft) > 1 || Math.abs(originalTop - newTop) > 1) {\n scrollParents = containingElement ? getScrollParents(containingElement, true) : [];\n // scroll containing element into view first, then rescroll target element into view like the non chrome flow above\n for (let scrollParent of scrollParents) {\n scrollIntoView(scrollParent as HTMLElement, containingElement as HTMLElement, {\n block: 'center',\n inline: 'center'\n });\n }\n for (let scrollParent of getScrollParents(targetElement, true)) {\n scrollIntoView(scrollParent as HTMLElement, targetElement as HTMLElement);\n }\n }\n }\n }\n}\n"],"names":[],"version":3,"file":"scrollIntoView.cjs.map"}
1
+ {"mappings":"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","sources":["packages/react-aria/src/utils/scrollIntoView.ts"],"sourcesContent":["/*\n * Copyright 2020 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 {getScrollParents} from './getScrollParents';\nimport {isIOS, isWebKit} from '../utils/platform';\n\ninterface ScrollIntoViewOpts {\n /** The position to align items along the block axis in. */\n block?: ScrollLogicalPosition;\n /** The position to align items along the inline axis in. */\n inline?: ScrollLogicalPosition;\n}\n\ninterface ScrollIntoViewportOpts {\n /** The optional containing element of the target to be centered in the viewport. */\n containingElement?: Element | null;\n}\n\n/**\n * Scrolls `scrollView` so that `element` is visible.\n * Similar to `element.scrollIntoView({block: 'nearest'})` (not supported in Edge),\n * but doesn't affect parents above `scrollView`.\n */\nexport function scrollIntoView(\n scrollView: HTMLElement,\n element: HTMLElement,\n opts: ScrollIntoViewOpts = {}\n): void {\n let {block = 'nearest', inline = 'nearest'} = opts;\n\n if (scrollView === element) {\n return;\n }\n\n let y = scrollView.scrollTop;\n let x = scrollView.scrollLeft;\n\n let target = element.getBoundingClientRect();\n let view = scrollView.getBoundingClientRect();\n let itemStyle = window.getComputedStyle(element);\n let viewStyle = window.getComputedStyle(scrollView);\n let root = document.scrollingElement || document.documentElement;\n let isRoot = scrollView === root;\n\n let viewTop = scrollView === root ? 0 : view.top;\n let viewBottom = scrollView === root ? scrollView.clientHeight : view.bottom;\n let viewLeft = scrollView === root ? 0 : view.left;\n let viewRight = scrollView === root ? scrollView.clientWidth : view.right;\n\n let scrollMarginTop = parseFloat(itemStyle.scrollMarginTop) || 0;\n let scrollMarginBottom = parseFloat(itemStyle.scrollMarginBottom) || 0;\n let scrollMarginLeft = parseFloat(itemStyle.scrollMarginLeft) || 0;\n let scrollMarginRight = parseFloat(itemStyle.scrollMarginRight) || 0;\n\n let scrollPaddingTop = parseFloat(viewStyle.scrollPaddingTop) || 0;\n let scrollPaddingBottom = parseFloat(viewStyle.scrollPaddingBottom) || 0;\n let scrollPaddingLeft = parseFloat(viewStyle.scrollPaddingLeft) || 0;\n let scrollPaddingRight = parseFloat(viewStyle.scrollPaddingRight) || 0;\n\n let borderTopWidth = parseFloat(viewStyle.borderTopWidth) || 0;\n let borderBottomWidth = parseFloat(viewStyle.borderBottomWidth) || 0;\n let borderLeftWidth = parseFloat(viewStyle.borderLeftWidth) || 0;\n let borderRightWidth = parseFloat(viewStyle.borderRightWidth) || 0;\n\n let scrollAreaTop = target.top - scrollMarginTop;\n let scrollAreaBottom = target.bottom + scrollMarginBottom;\n let scrollAreaLeft = target.left - scrollMarginLeft;\n let scrollAreaRight = target.right + scrollMarginRight;\n\n let scrollBarOffsetX = scrollView === root ? 0 : borderLeftWidth + borderRightWidth;\n let scrollBarOffsetY = scrollView === root ? 0 : borderTopWidth + borderBottomWidth;\n let scrollBarWidth =\n scrollView === root ? 0 : scrollView.offsetWidth - scrollView.clientWidth - scrollBarOffsetX;\n let scrollBarHeight =\n scrollView === root ? 0 : scrollView.offsetHeight - scrollView.clientHeight - scrollBarOffsetY;\n\n let scrollPortTop = viewTop + (isRoot ? 0 : borderTopWidth) + scrollPaddingTop;\n let scrollPortBottom =\n viewBottom - (isRoot ? 0 : borderBottomWidth) - scrollPaddingBottom - scrollBarHeight;\n let scrollPortLeft = viewLeft + (isRoot ? 0 : borderLeftWidth) + scrollPaddingLeft;\n let scrollPortRight = viewRight - (isRoot ? 0 : borderRightWidth) - scrollPaddingRight;\n\n // WebKit on iOS always positions the scrollbar on the right ¯\\_(ツ)_/¯\n if ((isIOS() && isWebKit()) || viewStyle.direction === 'ltr') {\n scrollPortRight -= scrollBarWidth;\n } else if (viewStyle.direction === 'rtl') {\n scrollPortLeft += scrollBarWidth;\n }\n\n let shouldScrollBlock = scrollAreaTop < scrollPortTop || scrollAreaBottom > scrollPortBottom;\n let shouldScrollInline = scrollAreaLeft < scrollPortLeft || scrollAreaRight > scrollPortRight;\n\n if (shouldScrollBlock && block === 'start') {\n y += scrollAreaTop - scrollPortTop;\n } else if (shouldScrollBlock && block === 'center') {\n y += (scrollAreaTop + scrollAreaBottom) / 2 - (scrollPortTop + scrollPortBottom) / 2;\n } else if (shouldScrollBlock && block === 'end') {\n y += scrollAreaBottom - scrollPortBottom;\n } else if (shouldScrollBlock && block === 'nearest') {\n let start = scrollAreaTop - scrollPortTop;\n let end = scrollAreaBottom - scrollPortBottom;\n y += Math.abs(start) <= Math.abs(end) ? start : end;\n }\n\n if (shouldScrollInline && inline === 'start') {\n x += scrollAreaLeft - scrollPortLeft;\n } else if (shouldScrollInline && inline === 'center') {\n x += (scrollAreaLeft + scrollAreaRight) / 2 - (scrollPortLeft + scrollPortRight) / 2;\n } else if (shouldScrollInline && inline === 'end') {\n x += scrollAreaRight - scrollPortRight;\n } else if (shouldScrollInline && inline === 'nearest') {\n let start = scrollAreaLeft - scrollPortLeft;\n let end = scrollAreaRight - scrollPortRight;\n x += Math.abs(start) <= Math.abs(end) ? start : end;\n }\n\n if (process.env.NODE_ENV === 'test') {\n scrollView.scrollLeft = x;\n scrollView.scrollTop = y;\n return;\n }\n\n scrollView.scrollTo({left: x, top: y});\n}\n\n/**\n * Scrolls the `targetElement` so it is visible in the viewport. Accepts an optional\n * `opts.containingElement` that will be centered in the viewport prior to scrolling the\n * targetElement into view. If scrolling is prevented on the body (e.g. targetElement is in a\n * popover), this will only scroll the scroll parents of the targetElement up to but not including\n * the body itself.\n */\nexport function scrollIntoViewport(\n targetElement: Element | null,\n opts: ScrollIntoViewportOpts = {}\n): void {\n let {containingElement} = opts;\n if (targetElement && targetElement.isConnected) {\n let root = document.scrollingElement || document.documentElement;\n let isScrollPrevented = window.getComputedStyle(root).overflow === 'hidden';\n if (!isScrollPrevented) {\n let {left: originalLeft, top: originalTop} = targetElement.getBoundingClientRect();\n\n // use scrollIntoView({block: 'nearest'}) instead of .focus to check if the element is fully in view or not since .focus()\n // won't cause a scroll if the element is already focused and doesn't behave consistently when an element is partially out of view horizontally vs vertically\n targetElement?.scrollIntoView?.({block: 'nearest'});\n let {left: newLeft, top: newTop} = targetElement.getBoundingClientRect();\n // Account for sub pixel differences from rounding\n if (Math.abs(originalLeft - newLeft) > 1 || Math.abs(originalTop - newTop) > 1) {\n containingElement?.scrollIntoView?.({block: 'center', inline: 'center'});\n targetElement.scrollIntoView?.({block: 'nearest'});\n }\n } else {\n let {left: originalLeft, top: originalTop} = targetElement.getBoundingClientRect();\n\n // If scrolling is prevented, we don't want to scroll the body since it might move the overlay partially offscreen and the user can't scroll it back into view.\n let scrollParents = getScrollParents(targetElement, true);\n for (let scrollParent of scrollParents) {\n scrollIntoView(scrollParent as HTMLElement, targetElement as HTMLElement);\n }\n let {left: newLeft, top: newTop} = targetElement.getBoundingClientRect();\n // Account for sub pixel differences from rounding\n if (Math.abs(originalLeft - newLeft) > 1 || Math.abs(originalTop - newTop) > 1) {\n scrollParents = containingElement ? getScrollParents(containingElement, true) : [];\n // scroll containing element into view first, then rescroll target element into view like the non chrome flow above\n for (let scrollParent of scrollParents) {\n scrollIntoView(scrollParent as HTMLElement, containingElement as HTMLElement, {\n block: 'center',\n inline: 'center'\n });\n }\n for (let scrollParent of getScrollParents(targetElement, true)) {\n scrollIntoView(scrollParent as HTMLElement, targetElement as HTMLElement);\n }\n }\n }\n }\n}\n"],"names":[],"version":3,"file":"scrollIntoView.cjs.map"}
@@ -1,5 +1,5 @@
1
1
  import {getScrollParents as $3d3c16277aab2036$export$94ed1c92c7beeb22} from "./getScrollParents.js";
2
- import {isIOS as $d5a2be505488529f$export$fedb369cb70207f1} from "./platform.js";
2
+ import {isIOS as $d5a2be505488529f$export$fedb369cb70207f1, isWebKit as $d5a2be505488529f$export$78551043582a6a98} from "./platform.js";
3
3
 
4
4
  /*
5
5
  * Copyright 2020 Adobe. All rights reserved.
@@ -52,9 +52,9 @@ function $6507765bd7f5ad94$export$53a0910f038337bd(scrollView, element, opts = {
52
52
  let scrollPortBottom = viewBottom - (isRoot ? 0 : borderBottomWidth) - scrollPaddingBottom - scrollBarHeight;
53
53
  let scrollPortLeft = viewLeft + (isRoot ? 0 : borderLeftWidth) + scrollPaddingLeft;
54
54
  let scrollPortRight = viewRight - (isRoot ? 0 : borderRightWidth) - scrollPaddingRight;
55
- // IOS always positions the scrollbar on the right ¯\_(ツ)_/¯
56
- if (viewStyle.direction === 'rtl' && !(0, $d5a2be505488529f$export$fedb369cb70207f1)()) scrollPortLeft += scrollBarWidth;
57
- else scrollPortRight -= scrollBarWidth;
55
+ // WebKit on iOS always positions the scrollbar on the right ¯\_(ツ)_/¯
56
+ if ((0, $d5a2be505488529f$export$fedb369cb70207f1)() && (0, $d5a2be505488529f$export$78551043582a6a98)() || viewStyle.direction === 'ltr') scrollPortRight -= scrollBarWidth;
57
+ else if (viewStyle.direction === 'rtl') scrollPortLeft += scrollBarWidth;
58
58
  let shouldScrollBlock = scrollAreaTop < scrollPortTop || scrollAreaBottom > scrollPortBottom;
59
59
  let shouldScrollInline = scrollAreaLeft < scrollPortLeft || scrollAreaRight > scrollPortRight;
60
60
  if (shouldScrollBlock && block === 'start') y += scrollAreaTop - scrollPortTop;
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/react-aria/src/utils/scrollIntoView.ts"],"sourcesContent":["/*\n * Copyright 2020 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 {getScrollParents} from './getScrollParents';\nimport {isIOS} from './platform';\n\ninterface ScrollIntoViewOpts {\n /** The position to align items along the block axis in. */\n block?: ScrollLogicalPosition;\n /** The position to align items along the inline axis in. */\n inline?: ScrollLogicalPosition;\n}\n\ninterface ScrollIntoViewportOpts {\n /** The optional containing element of the target to be centered in the viewport. */\n containingElement?: Element | null;\n}\n\n/**\n * Scrolls `scrollView` so that `element` is visible.\n * Similar to `element.scrollIntoView({block: 'nearest'})` (not supported in Edge),\n * but doesn't affect parents above `scrollView`.\n */\nexport function scrollIntoView(\n scrollView: HTMLElement,\n element: HTMLElement,\n opts: ScrollIntoViewOpts = {}\n): void {\n let {block = 'nearest', inline = 'nearest'} = opts;\n\n if (scrollView === element) {\n return;\n }\n\n let y = scrollView.scrollTop;\n let x = scrollView.scrollLeft;\n\n let target = element.getBoundingClientRect();\n let view = scrollView.getBoundingClientRect();\n let itemStyle = window.getComputedStyle(element);\n let viewStyle = window.getComputedStyle(scrollView);\n let root = document.scrollingElement || document.documentElement;\n let isRoot = scrollView === root;\n\n let viewTop = scrollView === root ? 0 : view.top;\n let viewBottom = scrollView === root ? scrollView.clientHeight : view.bottom;\n let viewLeft = scrollView === root ? 0 : view.left;\n let viewRight = scrollView === root ? scrollView.clientWidth : view.right;\n\n let scrollMarginTop = parseFloat(itemStyle.scrollMarginTop) || 0;\n let scrollMarginBottom = parseFloat(itemStyle.scrollMarginBottom) || 0;\n let scrollMarginLeft = parseFloat(itemStyle.scrollMarginLeft) || 0;\n let scrollMarginRight = parseFloat(itemStyle.scrollMarginRight) || 0;\n\n let scrollPaddingTop = parseFloat(viewStyle.scrollPaddingTop) || 0;\n let scrollPaddingBottom = parseFloat(viewStyle.scrollPaddingBottom) || 0;\n let scrollPaddingLeft = parseFloat(viewStyle.scrollPaddingLeft) || 0;\n let scrollPaddingRight = parseFloat(viewStyle.scrollPaddingRight) || 0;\n\n let borderTopWidth = parseFloat(viewStyle.borderTopWidth) || 0;\n let borderBottomWidth = parseFloat(viewStyle.borderBottomWidth) || 0;\n let borderLeftWidth = parseFloat(viewStyle.borderLeftWidth) || 0;\n let borderRightWidth = parseFloat(viewStyle.borderRightWidth) || 0;\n\n let scrollAreaTop = target.top - scrollMarginTop;\n let scrollAreaBottom = target.bottom + scrollMarginBottom;\n let scrollAreaLeft = target.left - scrollMarginLeft;\n let scrollAreaRight = target.right + scrollMarginRight;\n\n let scrollBarOffsetX = scrollView === root ? 0 : borderLeftWidth + borderRightWidth;\n let scrollBarOffsetY = scrollView === root ? 0 : borderTopWidth + borderBottomWidth;\n let scrollBarWidth =\n scrollView === root ? 0 : scrollView.offsetWidth - scrollView.clientWidth - scrollBarOffsetX;\n let scrollBarHeight =\n scrollView === root ? 0 : scrollView.offsetHeight - scrollView.clientHeight - scrollBarOffsetY;\n\n let scrollPortTop = viewTop + (isRoot ? 0 : borderTopWidth) + scrollPaddingTop;\n let scrollPortBottom =\n viewBottom - (isRoot ? 0 : borderBottomWidth) - scrollPaddingBottom - scrollBarHeight;\n let scrollPortLeft = viewLeft + (isRoot ? 0 : borderLeftWidth) + scrollPaddingLeft;\n let scrollPortRight = viewRight - (isRoot ? 0 : borderRightWidth) - scrollPaddingRight;\n\n // IOS always positions the scrollbar on the right ¯\\_(ツ)_/¯\n if (viewStyle.direction === 'rtl' && !isIOS()) {\n scrollPortLeft += scrollBarWidth;\n } else {\n scrollPortRight -= scrollBarWidth;\n }\n\n let shouldScrollBlock = scrollAreaTop < scrollPortTop || scrollAreaBottom > scrollPortBottom;\n let shouldScrollInline = scrollAreaLeft < scrollPortLeft || scrollAreaRight > scrollPortRight;\n\n if (shouldScrollBlock && block === 'start') {\n y += scrollAreaTop - scrollPortTop;\n } else if (shouldScrollBlock && block === 'center') {\n y += (scrollAreaTop + scrollAreaBottom) / 2 - (scrollPortTop + scrollPortBottom) / 2;\n } else if (shouldScrollBlock && block === 'end') {\n y += scrollAreaBottom - scrollPortBottom;\n } else if (shouldScrollBlock && block === 'nearest') {\n let start = scrollAreaTop - scrollPortTop;\n let end = scrollAreaBottom - scrollPortBottom;\n y += Math.abs(start) <= Math.abs(end) ? start : end;\n }\n\n if (shouldScrollInline && inline === 'start') {\n x += scrollAreaLeft - scrollPortLeft;\n } else if (shouldScrollInline && inline === 'center') {\n x += (scrollAreaLeft + scrollAreaRight) / 2 - (scrollPortLeft + scrollPortRight) / 2;\n } else if (shouldScrollInline && inline === 'end') {\n x += scrollAreaRight - scrollPortRight;\n } else if (shouldScrollInline && inline === 'nearest') {\n let start = scrollAreaLeft - scrollPortLeft;\n let end = scrollAreaRight - scrollPortRight;\n x += Math.abs(start) <= Math.abs(end) ? start : end;\n }\n\n if (process.env.NODE_ENV === 'test') {\n scrollView.scrollLeft = x;\n scrollView.scrollTop = y;\n return;\n }\n\n scrollView.scrollTo({left: x, top: y});\n}\n\n/**\n * Scrolls the `targetElement` so it is visible in the viewport. Accepts an optional\n * `opts.containingElement` that will be centered in the viewport prior to scrolling the\n * targetElement into view. If scrolling is prevented on the body (e.g. targetElement is in a\n * popover), this will only scroll the scroll parents of the targetElement up to but not including\n * the body itself.\n */\nexport function scrollIntoViewport(\n targetElement: Element | null,\n opts: ScrollIntoViewportOpts = {}\n): void {\n let {containingElement} = opts;\n if (targetElement && targetElement.isConnected) {\n let root = document.scrollingElement || document.documentElement;\n let isScrollPrevented = window.getComputedStyle(root).overflow === 'hidden';\n if (!isScrollPrevented) {\n let {left: originalLeft, top: originalTop} = targetElement.getBoundingClientRect();\n\n // use scrollIntoView({block: 'nearest'}) instead of .focus to check if the element is fully in view or not since .focus()\n // won't cause a scroll if the element is already focused and doesn't behave consistently when an element is partially out of view horizontally vs vertically\n targetElement?.scrollIntoView?.({block: 'nearest'});\n let {left: newLeft, top: newTop} = targetElement.getBoundingClientRect();\n // Account for sub pixel differences from rounding\n if (Math.abs(originalLeft - newLeft) > 1 || Math.abs(originalTop - newTop) > 1) {\n containingElement?.scrollIntoView?.({block: 'center', inline: 'center'});\n targetElement.scrollIntoView?.({block: 'nearest'});\n }\n } else {\n let {left: originalLeft, top: originalTop} = targetElement.getBoundingClientRect();\n\n // If scrolling is prevented, we don't want to scroll the body since it might move the overlay partially offscreen and the user can't scroll it back into view.\n let scrollParents = getScrollParents(targetElement, true);\n for (let scrollParent of scrollParents) {\n scrollIntoView(scrollParent as HTMLElement, targetElement as HTMLElement);\n }\n let {left: newLeft, top: newTop} = targetElement.getBoundingClientRect();\n // Account for sub pixel differences from rounding\n if (Math.abs(originalLeft - newLeft) > 1 || Math.abs(originalTop - newTop) > 1) {\n scrollParents = containingElement ? getScrollParents(containingElement, true) : [];\n // scroll containing element into view first, then rescroll target element into view like the non chrome flow above\n for (let scrollParent of scrollParents) {\n scrollIntoView(scrollParent as HTMLElement, containingElement as HTMLElement, {\n block: 'center',\n inline: 'center'\n });\n }\n for (let scrollParent of getScrollParents(targetElement, true)) {\n scrollIntoView(scrollParent as HTMLElement, targetElement as HTMLElement);\n }\n }\n }\n }\n}\n"],"names":[],"version":3,"file":"scrollIntoView.js.map"}
1
+ {"mappings":"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","sources":["packages/react-aria/src/utils/scrollIntoView.ts"],"sourcesContent":["/*\n * Copyright 2020 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 {getScrollParents} from './getScrollParents';\nimport {isIOS, isWebKit} from '../utils/platform';\n\ninterface ScrollIntoViewOpts {\n /** The position to align items along the block axis in. */\n block?: ScrollLogicalPosition;\n /** The position to align items along the inline axis in. */\n inline?: ScrollLogicalPosition;\n}\n\ninterface ScrollIntoViewportOpts {\n /** The optional containing element of the target to be centered in the viewport. */\n containingElement?: Element | null;\n}\n\n/**\n * Scrolls `scrollView` so that `element` is visible.\n * Similar to `element.scrollIntoView({block: 'nearest'})` (not supported in Edge),\n * but doesn't affect parents above `scrollView`.\n */\nexport function scrollIntoView(\n scrollView: HTMLElement,\n element: HTMLElement,\n opts: ScrollIntoViewOpts = {}\n): void {\n let {block = 'nearest', inline = 'nearest'} = opts;\n\n if (scrollView === element) {\n return;\n }\n\n let y = scrollView.scrollTop;\n let x = scrollView.scrollLeft;\n\n let target = element.getBoundingClientRect();\n let view = scrollView.getBoundingClientRect();\n let itemStyle = window.getComputedStyle(element);\n let viewStyle = window.getComputedStyle(scrollView);\n let root = document.scrollingElement || document.documentElement;\n let isRoot = scrollView === root;\n\n let viewTop = scrollView === root ? 0 : view.top;\n let viewBottom = scrollView === root ? scrollView.clientHeight : view.bottom;\n let viewLeft = scrollView === root ? 0 : view.left;\n let viewRight = scrollView === root ? scrollView.clientWidth : view.right;\n\n let scrollMarginTop = parseFloat(itemStyle.scrollMarginTop) || 0;\n let scrollMarginBottom = parseFloat(itemStyle.scrollMarginBottom) || 0;\n let scrollMarginLeft = parseFloat(itemStyle.scrollMarginLeft) || 0;\n let scrollMarginRight = parseFloat(itemStyle.scrollMarginRight) || 0;\n\n let scrollPaddingTop = parseFloat(viewStyle.scrollPaddingTop) || 0;\n let scrollPaddingBottom = parseFloat(viewStyle.scrollPaddingBottom) || 0;\n let scrollPaddingLeft = parseFloat(viewStyle.scrollPaddingLeft) || 0;\n let scrollPaddingRight = parseFloat(viewStyle.scrollPaddingRight) || 0;\n\n let borderTopWidth = parseFloat(viewStyle.borderTopWidth) || 0;\n let borderBottomWidth = parseFloat(viewStyle.borderBottomWidth) || 0;\n let borderLeftWidth = parseFloat(viewStyle.borderLeftWidth) || 0;\n let borderRightWidth = parseFloat(viewStyle.borderRightWidth) || 0;\n\n let scrollAreaTop = target.top - scrollMarginTop;\n let scrollAreaBottom = target.bottom + scrollMarginBottom;\n let scrollAreaLeft = target.left - scrollMarginLeft;\n let scrollAreaRight = target.right + scrollMarginRight;\n\n let scrollBarOffsetX = scrollView === root ? 0 : borderLeftWidth + borderRightWidth;\n let scrollBarOffsetY = scrollView === root ? 0 : borderTopWidth + borderBottomWidth;\n let scrollBarWidth =\n scrollView === root ? 0 : scrollView.offsetWidth - scrollView.clientWidth - scrollBarOffsetX;\n let scrollBarHeight =\n scrollView === root ? 0 : scrollView.offsetHeight - scrollView.clientHeight - scrollBarOffsetY;\n\n let scrollPortTop = viewTop + (isRoot ? 0 : borderTopWidth) + scrollPaddingTop;\n let scrollPortBottom =\n viewBottom - (isRoot ? 0 : borderBottomWidth) - scrollPaddingBottom - scrollBarHeight;\n let scrollPortLeft = viewLeft + (isRoot ? 0 : borderLeftWidth) + scrollPaddingLeft;\n let scrollPortRight = viewRight - (isRoot ? 0 : borderRightWidth) - scrollPaddingRight;\n\n // WebKit on iOS always positions the scrollbar on the right ¯\\_(ツ)_/¯\n if ((isIOS() && isWebKit()) || viewStyle.direction === 'ltr') {\n scrollPortRight -= scrollBarWidth;\n } else if (viewStyle.direction === 'rtl') {\n scrollPortLeft += scrollBarWidth;\n }\n\n let shouldScrollBlock = scrollAreaTop < scrollPortTop || scrollAreaBottom > scrollPortBottom;\n let shouldScrollInline = scrollAreaLeft < scrollPortLeft || scrollAreaRight > scrollPortRight;\n\n if (shouldScrollBlock && block === 'start') {\n y += scrollAreaTop - scrollPortTop;\n } else if (shouldScrollBlock && block === 'center') {\n y += (scrollAreaTop + scrollAreaBottom) / 2 - (scrollPortTop + scrollPortBottom) / 2;\n } else if (shouldScrollBlock && block === 'end') {\n y += scrollAreaBottom - scrollPortBottom;\n } else if (shouldScrollBlock && block === 'nearest') {\n let start = scrollAreaTop - scrollPortTop;\n let end = scrollAreaBottom - scrollPortBottom;\n y += Math.abs(start) <= Math.abs(end) ? start : end;\n }\n\n if (shouldScrollInline && inline === 'start') {\n x += scrollAreaLeft - scrollPortLeft;\n } else if (shouldScrollInline && inline === 'center') {\n x += (scrollAreaLeft + scrollAreaRight) / 2 - (scrollPortLeft + scrollPortRight) / 2;\n } else if (shouldScrollInline && inline === 'end') {\n x += scrollAreaRight - scrollPortRight;\n } else if (shouldScrollInline && inline === 'nearest') {\n let start = scrollAreaLeft - scrollPortLeft;\n let end = scrollAreaRight - scrollPortRight;\n x += Math.abs(start) <= Math.abs(end) ? start : end;\n }\n\n if (process.env.NODE_ENV === 'test') {\n scrollView.scrollLeft = x;\n scrollView.scrollTop = y;\n return;\n }\n\n scrollView.scrollTo({left: x, top: y});\n}\n\n/**\n * Scrolls the `targetElement` so it is visible in the viewport. Accepts an optional\n * `opts.containingElement` that will be centered in the viewport prior to scrolling the\n * targetElement into view. If scrolling is prevented on the body (e.g. targetElement is in a\n * popover), this will only scroll the scroll parents of the targetElement up to but not including\n * the body itself.\n */\nexport function scrollIntoViewport(\n targetElement: Element | null,\n opts: ScrollIntoViewportOpts = {}\n): void {\n let {containingElement} = opts;\n if (targetElement && targetElement.isConnected) {\n let root = document.scrollingElement || document.documentElement;\n let isScrollPrevented = window.getComputedStyle(root).overflow === 'hidden';\n if (!isScrollPrevented) {\n let {left: originalLeft, top: originalTop} = targetElement.getBoundingClientRect();\n\n // use scrollIntoView({block: 'nearest'}) instead of .focus to check if the element is fully in view or not since .focus()\n // won't cause a scroll if the element is already focused and doesn't behave consistently when an element is partially out of view horizontally vs vertically\n targetElement?.scrollIntoView?.({block: 'nearest'});\n let {left: newLeft, top: newTop} = targetElement.getBoundingClientRect();\n // Account for sub pixel differences from rounding\n if (Math.abs(originalLeft - newLeft) > 1 || Math.abs(originalTop - newTop) > 1) {\n containingElement?.scrollIntoView?.({block: 'center', inline: 'center'});\n targetElement.scrollIntoView?.({block: 'nearest'});\n }\n } else {\n let {left: originalLeft, top: originalTop} = targetElement.getBoundingClientRect();\n\n // If scrolling is prevented, we don't want to scroll the body since it might move the overlay partially offscreen and the user can't scroll it back into view.\n let scrollParents = getScrollParents(targetElement, true);\n for (let scrollParent of scrollParents) {\n scrollIntoView(scrollParent as HTMLElement, targetElement as HTMLElement);\n }\n let {left: newLeft, top: newTop} = targetElement.getBoundingClientRect();\n // Account for sub pixel differences from rounding\n if (Math.abs(originalLeft - newLeft) > 1 || Math.abs(originalTop - newTop) > 1) {\n scrollParents = containingElement ? getScrollParents(containingElement, true) : [];\n // scroll containing element into view first, then rescroll target element into view like the non chrome flow above\n for (let scrollParent of scrollParents) {\n scrollIntoView(scrollParent as HTMLElement, containingElement as HTMLElement, {\n block: 'center',\n inline: 'center'\n });\n }\n for (let scrollParent of getScrollParents(targetElement, true)) {\n scrollIntoView(scrollParent as HTMLElement, targetElement as HTMLElement);\n }\n }\n }\n }\n}\n"],"names":[],"version":3,"file":"scrollIntoView.js.map"}
@@ -1,5 +1,5 @@
1
1
  import {getScrollParents as $76d97191f0f90600$export$94ed1c92c7beeb22} from "./getScrollParents.mjs";
2
- import {isIOS as $2add3ce32c6007eb$export$fedb369cb70207f1} from "./platform.mjs";
2
+ import {isIOS as $2add3ce32c6007eb$export$fedb369cb70207f1, isWebKit as $2add3ce32c6007eb$export$78551043582a6a98} from "./platform.mjs";
3
3
 
4
4
  /*
5
5
  * Copyright 2020 Adobe. All rights reserved.
@@ -52,9 +52,9 @@ function $51a3e22a5186a962$export$53a0910f038337bd(scrollView, element, opts = {
52
52
  let scrollPortBottom = viewBottom - (isRoot ? 0 : borderBottomWidth) - scrollPaddingBottom - scrollBarHeight;
53
53
  let scrollPortLeft = viewLeft + (isRoot ? 0 : borderLeftWidth) + scrollPaddingLeft;
54
54
  let scrollPortRight = viewRight - (isRoot ? 0 : borderRightWidth) - scrollPaddingRight;
55
- // IOS always positions the scrollbar on the right ¯\_(ツ)_/¯
56
- if (viewStyle.direction === 'rtl' && !(0, $2add3ce32c6007eb$export$fedb369cb70207f1)()) scrollPortLeft += scrollBarWidth;
57
- else scrollPortRight -= scrollBarWidth;
55
+ // WebKit on iOS always positions the scrollbar on the right ¯\_(ツ)_/¯
56
+ if ((0, $2add3ce32c6007eb$export$fedb369cb70207f1)() && (0, $2add3ce32c6007eb$export$78551043582a6a98)() || viewStyle.direction === 'ltr') scrollPortRight -= scrollBarWidth;
57
+ else if (viewStyle.direction === 'rtl') scrollPortLeft += scrollBarWidth;
58
58
  let shouldScrollBlock = scrollAreaTop < scrollPortTop || scrollAreaBottom > scrollPortBottom;
59
59
  let shouldScrollInline = scrollAreaLeft < scrollPortLeft || scrollAreaRight > scrollPortRight;
60
60
  if (shouldScrollBlock && block === 'start') y += scrollAreaTop - scrollPortTop;
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/react-aria/src/utils/scrollIntoView.ts"],"sourcesContent":["/*\n * Copyright 2020 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 {getScrollParents} from './getScrollParents';\nimport {isIOS} from './platform';\n\ninterface ScrollIntoViewOpts {\n /** The position to align items along the block axis in. */\n block?: ScrollLogicalPosition;\n /** The position to align items along the inline axis in. */\n inline?: ScrollLogicalPosition;\n}\n\ninterface ScrollIntoViewportOpts {\n /** The optional containing element of the target to be centered in the viewport. */\n containingElement?: Element | null;\n}\n\n/**\n * Scrolls `scrollView` so that `element` is visible.\n * Similar to `element.scrollIntoView({block: 'nearest'})` (not supported in Edge),\n * but doesn't affect parents above `scrollView`.\n */\nexport function scrollIntoView(\n scrollView: HTMLElement,\n element: HTMLElement,\n opts: ScrollIntoViewOpts = {}\n): void {\n let {block = 'nearest', inline = 'nearest'} = opts;\n\n if (scrollView === element) {\n return;\n }\n\n let y = scrollView.scrollTop;\n let x = scrollView.scrollLeft;\n\n let target = element.getBoundingClientRect();\n let view = scrollView.getBoundingClientRect();\n let itemStyle = window.getComputedStyle(element);\n let viewStyle = window.getComputedStyle(scrollView);\n let root = document.scrollingElement || document.documentElement;\n let isRoot = scrollView === root;\n\n let viewTop = scrollView === root ? 0 : view.top;\n let viewBottom = scrollView === root ? scrollView.clientHeight : view.bottom;\n let viewLeft = scrollView === root ? 0 : view.left;\n let viewRight = scrollView === root ? scrollView.clientWidth : view.right;\n\n let scrollMarginTop = parseFloat(itemStyle.scrollMarginTop) || 0;\n let scrollMarginBottom = parseFloat(itemStyle.scrollMarginBottom) || 0;\n let scrollMarginLeft = parseFloat(itemStyle.scrollMarginLeft) || 0;\n let scrollMarginRight = parseFloat(itemStyle.scrollMarginRight) || 0;\n\n let scrollPaddingTop = parseFloat(viewStyle.scrollPaddingTop) || 0;\n let scrollPaddingBottom = parseFloat(viewStyle.scrollPaddingBottom) || 0;\n let scrollPaddingLeft = parseFloat(viewStyle.scrollPaddingLeft) || 0;\n let scrollPaddingRight = parseFloat(viewStyle.scrollPaddingRight) || 0;\n\n let borderTopWidth = parseFloat(viewStyle.borderTopWidth) || 0;\n let borderBottomWidth = parseFloat(viewStyle.borderBottomWidth) || 0;\n let borderLeftWidth = parseFloat(viewStyle.borderLeftWidth) || 0;\n let borderRightWidth = parseFloat(viewStyle.borderRightWidth) || 0;\n\n let scrollAreaTop = target.top - scrollMarginTop;\n let scrollAreaBottom = target.bottom + scrollMarginBottom;\n let scrollAreaLeft = target.left - scrollMarginLeft;\n let scrollAreaRight = target.right + scrollMarginRight;\n\n let scrollBarOffsetX = scrollView === root ? 0 : borderLeftWidth + borderRightWidth;\n let scrollBarOffsetY = scrollView === root ? 0 : borderTopWidth + borderBottomWidth;\n let scrollBarWidth =\n scrollView === root ? 0 : scrollView.offsetWidth - scrollView.clientWidth - scrollBarOffsetX;\n let scrollBarHeight =\n scrollView === root ? 0 : scrollView.offsetHeight - scrollView.clientHeight - scrollBarOffsetY;\n\n let scrollPortTop = viewTop + (isRoot ? 0 : borderTopWidth) + scrollPaddingTop;\n let scrollPortBottom =\n viewBottom - (isRoot ? 0 : borderBottomWidth) - scrollPaddingBottom - scrollBarHeight;\n let scrollPortLeft = viewLeft + (isRoot ? 0 : borderLeftWidth) + scrollPaddingLeft;\n let scrollPortRight = viewRight - (isRoot ? 0 : borderRightWidth) - scrollPaddingRight;\n\n // IOS always positions the scrollbar on the right ¯\\_(ツ)_/¯\n if (viewStyle.direction === 'rtl' && !isIOS()) {\n scrollPortLeft += scrollBarWidth;\n } else {\n scrollPortRight -= scrollBarWidth;\n }\n\n let shouldScrollBlock = scrollAreaTop < scrollPortTop || scrollAreaBottom > scrollPortBottom;\n let shouldScrollInline = scrollAreaLeft < scrollPortLeft || scrollAreaRight > scrollPortRight;\n\n if (shouldScrollBlock && block === 'start') {\n y += scrollAreaTop - scrollPortTop;\n } else if (shouldScrollBlock && block === 'center') {\n y += (scrollAreaTop + scrollAreaBottom) / 2 - (scrollPortTop + scrollPortBottom) / 2;\n } else if (shouldScrollBlock && block === 'end') {\n y += scrollAreaBottom - scrollPortBottom;\n } else if (shouldScrollBlock && block === 'nearest') {\n let start = scrollAreaTop - scrollPortTop;\n let end = scrollAreaBottom - scrollPortBottom;\n y += Math.abs(start) <= Math.abs(end) ? start : end;\n }\n\n if (shouldScrollInline && inline === 'start') {\n x += scrollAreaLeft - scrollPortLeft;\n } else if (shouldScrollInline && inline === 'center') {\n x += (scrollAreaLeft + scrollAreaRight) / 2 - (scrollPortLeft + scrollPortRight) / 2;\n } else if (shouldScrollInline && inline === 'end') {\n x += scrollAreaRight - scrollPortRight;\n } else if (shouldScrollInline && inline === 'nearest') {\n let start = scrollAreaLeft - scrollPortLeft;\n let end = scrollAreaRight - scrollPortRight;\n x += Math.abs(start) <= Math.abs(end) ? start : end;\n }\n\n if (process.env.NODE_ENV === 'test') {\n scrollView.scrollLeft = x;\n scrollView.scrollTop = y;\n return;\n }\n\n scrollView.scrollTo({left: x, top: y});\n}\n\n/**\n * Scrolls the `targetElement` so it is visible in the viewport. Accepts an optional\n * `opts.containingElement` that will be centered in the viewport prior to scrolling the\n * targetElement into view. If scrolling is prevented on the body (e.g. targetElement is in a\n * popover), this will only scroll the scroll parents of the targetElement up to but not including\n * the body itself.\n */\nexport function scrollIntoViewport(\n targetElement: Element | null,\n opts: ScrollIntoViewportOpts = {}\n): void {\n let {containingElement} = opts;\n if (targetElement && targetElement.isConnected) {\n let root = document.scrollingElement || document.documentElement;\n let isScrollPrevented = window.getComputedStyle(root).overflow === 'hidden';\n if (!isScrollPrevented) {\n let {left: originalLeft, top: originalTop} = targetElement.getBoundingClientRect();\n\n // use scrollIntoView({block: 'nearest'}) instead of .focus to check if the element is fully in view or not since .focus()\n // won't cause a scroll if the element is already focused and doesn't behave consistently when an element is partially out of view horizontally vs vertically\n targetElement?.scrollIntoView?.({block: 'nearest'});\n let {left: newLeft, top: newTop} = targetElement.getBoundingClientRect();\n // Account for sub pixel differences from rounding\n if (Math.abs(originalLeft - newLeft) > 1 || Math.abs(originalTop - newTop) > 1) {\n containingElement?.scrollIntoView?.({block: 'center', inline: 'center'});\n targetElement.scrollIntoView?.({block: 'nearest'});\n }\n } else {\n let {left: originalLeft, top: originalTop} = targetElement.getBoundingClientRect();\n\n // If scrolling is prevented, we don't want to scroll the body since it might move the overlay partially offscreen and the user can't scroll it back into view.\n let scrollParents = getScrollParents(targetElement, true);\n for (let scrollParent of scrollParents) {\n scrollIntoView(scrollParent as HTMLElement, targetElement as HTMLElement);\n }\n let {left: newLeft, top: newTop} = targetElement.getBoundingClientRect();\n // Account for sub pixel differences from rounding\n if (Math.abs(originalLeft - newLeft) > 1 || Math.abs(originalTop - newTop) > 1) {\n scrollParents = containingElement ? getScrollParents(containingElement, true) : [];\n // scroll containing element into view first, then rescroll target element into view like the non chrome flow above\n for (let scrollParent of scrollParents) {\n scrollIntoView(scrollParent as HTMLElement, containingElement as HTMLElement, {\n block: 'center',\n inline: 'center'\n });\n }\n for (let scrollParent of getScrollParents(targetElement, true)) {\n scrollIntoView(scrollParent as HTMLElement, targetElement as HTMLElement);\n }\n }\n }\n }\n}\n"],"names":[],"version":3,"file":"scrollIntoView.mjs.map"}
1
+ {"mappings":"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","sources":["packages/react-aria/src/utils/scrollIntoView.ts"],"sourcesContent":["/*\n * Copyright 2020 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 {getScrollParents} from './getScrollParents';\nimport {isIOS, isWebKit} from '../utils/platform';\n\ninterface ScrollIntoViewOpts {\n /** The position to align items along the block axis in. */\n block?: ScrollLogicalPosition;\n /** The position to align items along the inline axis in. */\n inline?: ScrollLogicalPosition;\n}\n\ninterface ScrollIntoViewportOpts {\n /** The optional containing element of the target to be centered in the viewport. */\n containingElement?: Element | null;\n}\n\n/**\n * Scrolls `scrollView` so that `element` is visible.\n * Similar to `element.scrollIntoView({block: 'nearest'})` (not supported in Edge),\n * but doesn't affect parents above `scrollView`.\n */\nexport function scrollIntoView(\n scrollView: HTMLElement,\n element: HTMLElement,\n opts: ScrollIntoViewOpts = {}\n): void {\n let {block = 'nearest', inline = 'nearest'} = opts;\n\n if (scrollView === element) {\n return;\n }\n\n let y = scrollView.scrollTop;\n let x = scrollView.scrollLeft;\n\n let target = element.getBoundingClientRect();\n let view = scrollView.getBoundingClientRect();\n let itemStyle = window.getComputedStyle(element);\n let viewStyle = window.getComputedStyle(scrollView);\n let root = document.scrollingElement || document.documentElement;\n let isRoot = scrollView === root;\n\n let viewTop = scrollView === root ? 0 : view.top;\n let viewBottom = scrollView === root ? scrollView.clientHeight : view.bottom;\n let viewLeft = scrollView === root ? 0 : view.left;\n let viewRight = scrollView === root ? scrollView.clientWidth : view.right;\n\n let scrollMarginTop = parseFloat(itemStyle.scrollMarginTop) || 0;\n let scrollMarginBottom = parseFloat(itemStyle.scrollMarginBottom) || 0;\n let scrollMarginLeft = parseFloat(itemStyle.scrollMarginLeft) || 0;\n let scrollMarginRight = parseFloat(itemStyle.scrollMarginRight) || 0;\n\n let scrollPaddingTop = parseFloat(viewStyle.scrollPaddingTop) || 0;\n let scrollPaddingBottom = parseFloat(viewStyle.scrollPaddingBottom) || 0;\n let scrollPaddingLeft = parseFloat(viewStyle.scrollPaddingLeft) || 0;\n let scrollPaddingRight = parseFloat(viewStyle.scrollPaddingRight) || 0;\n\n let borderTopWidth = parseFloat(viewStyle.borderTopWidth) || 0;\n let borderBottomWidth = parseFloat(viewStyle.borderBottomWidth) || 0;\n let borderLeftWidth = parseFloat(viewStyle.borderLeftWidth) || 0;\n let borderRightWidth = parseFloat(viewStyle.borderRightWidth) || 0;\n\n let scrollAreaTop = target.top - scrollMarginTop;\n let scrollAreaBottom = target.bottom + scrollMarginBottom;\n let scrollAreaLeft = target.left - scrollMarginLeft;\n let scrollAreaRight = target.right + scrollMarginRight;\n\n let scrollBarOffsetX = scrollView === root ? 0 : borderLeftWidth + borderRightWidth;\n let scrollBarOffsetY = scrollView === root ? 0 : borderTopWidth + borderBottomWidth;\n let scrollBarWidth =\n scrollView === root ? 0 : scrollView.offsetWidth - scrollView.clientWidth - scrollBarOffsetX;\n let scrollBarHeight =\n scrollView === root ? 0 : scrollView.offsetHeight - scrollView.clientHeight - scrollBarOffsetY;\n\n let scrollPortTop = viewTop + (isRoot ? 0 : borderTopWidth) + scrollPaddingTop;\n let scrollPortBottom =\n viewBottom - (isRoot ? 0 : borderBottomWidth) - scrollPaddingBottom - scrollBarHeight;\n let scrollPortLeft = viewLeft + (isRoot ? 0 : borderLeftWidth) + scrollPaddingLeft;\n let scrollPortRight = viewRight - (isRoot ? 0 : borderRightWidth) - scrollPaddingRight;\n\n // WebKit on iOS always positions the scrollbar on the right ¯\\_(ツ)_/¯\n if ((isIOS() && isWebKit()) || viewStyle.direction === 'ltr') {\n scrollPortRight -= scrollBarWidth;\n } else if (viewStyle.direction === 'rtl') {\n scrollPortLeft += scrollBarWidth;\n }\n\n let shouldScrollBlock = scrollAreaTop < scrollPortTop || scrollAreaBottom > scrollPortBottom;\n let shouldScrollInline = scrollAreaLeft < scrollPortLeft || scrollAreaRight > scrollPortRight;\n\n if (shouldScrollBlock && block === 'start') {\n y += scrollAreaTop - scrollPortTop;\n } else if (shouldScrollBlock && block === 'center') {\n y += (scrollAreaTop + scrollAreaBottom) / 2 - (scrollPortTop + scrollPortBottom) / 2;\n } else if (shouldScrollBlock && block === 'end') {\n y += scrollAreaBottom - scrollPortBottom;\n } else if (shouldScrollBlock && block === 'nearest') {\n let start = scrollAreaTop - scrollPortTop;\n let end = scrollAreaBottom - scrollPortBottom;\n y += Math.abs(start) <= Math.abs(end) ? start : end;\n }\n\n if (shouldScrollInline && inline === 'start') {\n x += scrollAreaLeft - scrollPortLeft;\n } else if (shouldScrollInline && inline === 'center') {\n x += (scrollAreaLeft + scrollAreaRight) / 2 - (scrollPortLeft + scrollPortRight) / 2;\n } else if (shouldScrollInline && inline === 'end') {\n x += scrollAreaRight - scrollPortRight;\n } else if (shouldScrollInline && inline === 'nearest') {\n let start = scrollAreaLeft - scrollPortLeft;\n let end = scrollAreaRight - scrollPortRight;\n x += Math.abs(start) <= Math.abs(end) ? start : end;\n }\n\n if (process.env.NODE_ENV === 'test') {\n scrollView.scrollLeft = x;\n scrollView.scrollTop = y;\n return;\n }\n\n scrollView.scrollTo({left: x, top: y});\n}\n\n/**\n * Scrolls the `targetElement` so it is visible in the viewport. Accepts an optional\n * `opts.containingElement` that will be centered in the viewport prior to scrolling the\n * targetElement into view. If scrolling is prevented on the body (e.g. targetElement is in a\n * popover), this will only scroll the scroll parents of the targetElement up to but not including\n * the body itself.\n */\nexport function scrollIntoViewport(\n targetElement: Element | null,\n opts: ScrollIntoViewportOpts = {}\n): void {\n let {containingElement} = opts;\n if (targetElement && targetElement.isConnected) {\n let root = document.scrollingElement || document.documentElement;\n let isScrollPrevented = window.getComputedStyle(root).overflow === 'hidden';\n if (!isScrollPrevented) {\n let {left: originalLeft, top: originalTop} = targetElement.getBoundingClientRect();\n\n // use scrollIntoView({block: 'nearest'}) instead of .focus to check if the element is fully in view or not since .focus()\n // won't cause a scroll if the element is already focused and doesn't behave consistently when an element is partially out of view horizontally vs vertically\n targetElement?.scrollIntoView?.({block: 'nearest'});\n let {left: newLeft, top: newTop} = targetElement.getBoundingClientRect();\n // Account for sub pixel differences from rounding\n if (Math.abs(originalLeft - newLeft) > 1 || Math.abs(originalTop - newTop) > 1) {\n containingElement?.scrollIntoView?.({block: 'center', inline: 'center'});\n targetElement.scrollIntoView?.({block: 'nearest'});\n }\n } else {\n let {left: originalLeft, top: originalTop} = targetElement.getBoundingClientRect();\n\n // If scrolling is prevented, we don't want to scroll the body since it might move the overlay partially offscreen and the user can't scroll it back into view.\n let scrollParents = getScrollParents(targetElement, true);\n for (let scrollParent of scrollParents) {\n scrollIntoView(scrollParent as HTMLElement, targetElement as HTMLElement);\n }\n let {left: newLeft, top: newTop} = targetElement.getBoundingClientRect();\n // Account for sub pixel differences from rounding\n if (Math.abs(originalLeft - newLeft) > 1 || Math.abs(originalTop - newTop) > 1) {\n scrollParents = containingElement ? getScrollParents(containingElement, true) : [];\n // scroll containing element into view first, then rescroll target element into view like the non chrome flow above\n for (let scrollParent of scrollParents) {\n scrollIntoView(scrollParent as HTMLElement, containingElement as HTMLElement, {\n block: 'center',\n inline: 'center'\n });\n }\n for (let scrollParent of getScrollParents(targetElement, true)) {\n scrollIntoView(scrollParent as HTMLElement, targetElement as HTMLElement);\n }\n }\n }\n }\n}\n"],"names":[],"version":3,"file":"scrollIntoView.mjs.map"}
@@ -9,6 +9,7 @@ function $parcel$export(e, n, v, s) {
9
9
  $parcel$export(module.exports, "nodeContains", function () { return $da02ee888921bc9e$export$4282f70798064fe0; });
10
10
  $parcel$export(module.exports, "getActiveElement", function () { return $da02ee888921bc9e$export$cd4e5573fbe2b576; });
11
11
  $parcel$export(module.exports, "getEventTarget", function () { return $da02ee888921bc9e$export$e58f029f0fbfdb29; });
12
+ $parcel$export(module.exports, "getPropagationTargets", function () { return $da02ee888921bc9e$export$da7af4355d792141; });
12
13
  $parcel$export(module.exports, "isFocusWithin", function () { return $da02ee888921bc9e$export$b4f377a2b6254582; });
13
14
  // Source: https://github.com/microsoft/tabster/blob/a89fc5d7e332d48f68d03b1ca6e344489d1c3898/src/Shadowdomize/DOMFunctions.ts#L16
14
15
  /* eslint-disable rsp-rules/no-non-shadow-contains, rsp-rules/safe-event-target */
@@ -19,7 +20,7 @@ function $da02ee888921bc9e$export$4282f70798064fe0(node, otherNode) {
19
20
  let currentNode = otherNode;
20
21
  while(currentNode !== null){
21
22
  if (currentNode === node) return true;
22
- if (currentNode.tagName === 'SLOT' && currentNode.assignedSlot) // Element is slotted
23
+ if (typeof currentNode.assignedElements !== 'function' && currentNode.assignedSlot?.parentNode) // Element is slotted
23
24
  currentNode = currentNode.assignedSlot.parentNode;
24
25
  else if ((0, $49582955cc364b1c$exports.isShadowRoot)(currentNode)) // Element is in shadow root
25
26
  currentNode = currentNode.host;
@@ -40,6 +41,32 @@ function $da02ee888921bc9e$export$e58f029f0fbfdb29(event) {
40
41
  }
41
42
  return event.target;
42
43
  }
44
+ function $da02ee888921bc9e$export$da7af4355d792141(from, to) {
45
+ // If `to` is coming from a ref, its type technically allows `null`.
46
+ // In practice, this function will generally be called from within a useEffect.
47
+ // If the ref has not resolved by that point, then a coding error has been made.
48
+ // Better to return an empty array than `[window]`, which may appear to work
49
+ // in the light DOM, but fail in the shadow DOM.
50
+ if (to === null) return [];
51
+ to = to ?? (0, $49582955cc364b1c$exports.getOwnerWindow)(from);
52
+ let targets = [
53
+ to
54
+ ];
55
+ if (!(0, $doPez$reactstatelyprivateflagsflags.shadowDOM)() || !from || from === to) return targets;
56
+ // The root `to` itself lives in. The event already reaches `to` once
57
+ // it is inside this root, so we must NOT collect this root or anything above
58
+ // it — only the shadow roots strictly between `refNode` and `to`.
59
+ // `window` has no getRootNode; its boundary is the document, which the walk
60
+ // reaches naturally (the document is not a ShadowRoot, so the loop exits).
61
+ let toRoot = 'getRootNode' in to ? to.getRootNode() : null;
62
+ let current = from.getRootNode() ?? null;
63
+ while((0, $49582955cc364b1c$exports.isShadowRoot)(current) && current !== toRoot){
64
+ // order shouldn't matter
65
+ targets.push(current);
66
+ current = current.host.getRootNode();
67
+ }
68
+ return targets;
69
+ }
43
70
  function $da02ee888921bc9e$export$b4f377a2b6254582(node) {
44
71
  if (!node) return false;
45
72
  // Get the active element within the node's parent shadow root (or the document). Can return null.
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;;;AAAA,kIAAkI;AAClI,gFAAgF;;AASzE,SAAS,0CACd,IAAuC,EACvC,SAA4C;IAE5C,IAAI,CAAC,CAAA,GAAA,8CAAQ,KACX,OAAO,aAAa,OAAO,KAAK,QAAQ,CAAC,aAAa;IAGxD,IAAI,CAAC,QAAQ,CAAC,WACZ,OAAO;IAGT,IAAI,cAAqD;IAEzD,MAAO,gBAAgB,KAAM;QAC3B,IAAI,gBAAgB,MAClB,OAAO;QAGT,IACE,AAAC,YAAgC,OAAO,KAAK,UAC7C,AAAC,YAAgC,YAAY,EAE7C,qBAAqB;QACrB,cAAc,AAAC,YAAgC,YAAY,CAAE,UAAU;aAClE,IAAI,CAAA,GAAA,sCAAW,EAAE,cACtB,4BAA4B;QAC5B,cAAc,YAAY,IAAI;aAE9B,cAAc,YAAY,UAAU;IAExC;IAEA,OAAO;AACT;AAKO,MAAM,4CAAmB,CAAC,MAAgB,QAAQ;IACvD,IAAI,CAAC,CAAA,GAAA,8CAAQ,KACX,OAAO,IAAI,aAAa;IAE1B,IAAI,gBAAgC,IAAI,aAAa;IAErD,MACE,iBACA,gBAAgB,iBAChB,cAAc,UAAU,EAAE,cAE1B,gBAAgB,cAAc,UAAU,CAAC,aAAa;IAGxD,OAAO;AACT;AAUO,SAAS,0CAAiD,KAAQ;IACvE,IAAI,CAAA,GAAA,8CAAQ,OAAO,MAAM,MAAM,YAAY,WAAW,MAAM,MAAM,CAAC,UAAU,EAAE;QAC7E,IAAI,kBAAkB,OACpB,OAAQ,MAAM,YAAY,EAAE,CAAC,EAAE,IAAI;aAC9B,IAAI,kBAAkB,MAAM,WAAW,EAC5C,OAAQ,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI;IAEnD;IACA,OAAO,MAAM,MAAM;AACrB;AAQO,SAAS,0CAAc,IAAgC;IAC5D,IAAI,CAAC,MACH,OAAO;IAET,kGAAkG;IAClG,IAAI,OAAO,KAAK,WAAW;IAC3B,IAAI,cAAc,CAAA,GAAA,wCAAa,EAAE;IACjC,IAAI,CAAE,CAAA,gBAAgB,YAAY,QAAQ,IAAI,gBAAgB,YAAY,UAAU,AAAD,GACjF,OAAO;IAET,IAAI,gBAAgB,KAAK,aAAa;IAEtC,gGAAgG;IAChG,OAAO,iBAAiB,QAAQ,KAAK,QAAQ,CAAC;AAChD","sources":["packages/react-aria/src/utils/shadowdom/DOMFunctions.ts"],"sourcesContent":["// Source: https://github.com/microsoft/tabster/blob/a89fc5d7e332d48f68d03b1ca6e344489d1c3898/src/Shadowdomize/DOMFunctions.ts#L16\n/* eslint-disable rsp-rules/no-non-shadow-contains, rsp-rules/safe-event-target */\n\nimport {getOwnerWindow, isShadowRoot} from '../domHelpers';\nimport {shadowDOM} from 'react-stately/private/flags/flags';\nimport type {SyntheticEvent} from 'react';\n\n/**\n * ShadowDOM safe version of Node.contains.\n */\nexport function nodeContains(\n node: Node | Element | null | undefined,\n otherNode: Node | Element | null | undefined\n): boolean {\n if (!shadowDOM()) {\n return otherNode && node ? node.contains(otherNode) : false;\n }\n\n if (!node || !otherNode) {\n return false;\n }\n\n let currentNode: HTMLElement | Node | null | undefined = otherNode;\n\n while (currentNode !== null) {\n if (currentNode === node) {\n return true;\n }\n\n if (\n (currentNode as HTMLSlotElement).tagName === 'SLOT' &&\n (currentNode as HTMLSlotElement).assignedSlot\n ) {\n // Element is slotted\n currentNode = (currentNode as HTMLSlotElement).assignedSlot!.parentNode;\n } else if (isShadowRoot(currentNode)) {\n // Element is in shadow root\n currentNode = currentNode.host;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return false;\n}\n\n/**\n * ShadowDOM safe version of document.activeElement.\n */\nexport const getActiveElement = (doc: Document = document): Element | null => {\n if (!shadowDOM()) {\n return doc.activeElement;\n }\n let activeElement: Element | null = doc.activeElement;\n\n while (\n activeElement &&\n 'shadowRoot' in activeElement &&\n activeElement.shadowRoot?.activeElement\n ) {\n activeElement = activeElement.shadowRoot.activeElement;\n }\n\n return activeElement;\n};\n\n// Type helper to extract the target element type from an event\ntype EventTargetType<T> = T extends SyntheticEvent<infer E, any> ? E : EventTarget;\n\n// Possibly we can improve the types for this using https://github.com/adobe/react-spectrum/pull/8991/changes#diff-2d491c0c91701d28d08e1cf9fcadbdb21a030b67ab681460c9934140f29127b8R68 but it was more changes than I\n// wanted to make to fix the function.\n/**\n * ShadowDOM safe version of event.target.\n */\nexport function getEventTarget<T extends Event | SyntheticEvent>(event: T): EventTargetType<T> {\n if (shadowDOM() && event.target instanceof Element && event.target.shadowRoot) {\n if ('composedPath' in event) {\n return (event.composedPath()[0] ?? null) as EventTargetType<T>;\n } else if ('composedPath' in event.nativeEvent) {\n return (event.nativeEvent.composedPath()[0] ?? null) as EventTargetType<T>;\n }\n }\n return event.target as EventTargetType<T>;\n}\n\n/**\n * ShadowDOM safe fast version of node.contains(document.activeElement).\n *\n * @param node\n * @returns\n */\nexport function isFocusWithin(node: Element | null | undefined): boolean {\n if (!node) {\n return false;\n }\n // Get the active element within the node's parent shadow root (or the document). Can return null.\n let root = node.getRootNode();\n let ownerWindow = getOwnerWindow(node);\n if (!(root instanceof ownerWindow.Document || root instanceof ownerWindow.ShadowRoot)) {\n return false;\n }\n let activeElement = root.activeElement;\n\n // Check if the active element is within this node. These nodes are within the same shadow root.\n return activeElement != null && node.contains(activeElement);\n}\n"],"names":[],"version":3,"file":"DOMFunctions.cjs.map"}
1
+ {"mappings":";;;;;;;;;;;;;AAAA,kIAAkI;AAClI,gFAAgF;;AASzE,SAAS,0CACd,IAAuC,EACvC,SAA4C;IAE5C,IAAI,CAAC,CAAA,GAAA,8CAAQ,KACX,OAAO,aAAa,OAAO,KAAK,QAAQ,CAAC,aAAa;IAGxD,IAAI,CAAC,QAAQ,CAAC,WACZ,OAAO;IAGT,IAAI,cAAqD;IAEzD,MAAO,gBAAgB,KAAM;QAC3B,IAAI,gBAAgB,MAClB,OAAO;QAGT,IACE,OAAO,AAAC,YAAgC,gBAAgB,KAAK,cAC7D,AAAC,YAAgC,YAAY,EAAE,YAE/C,qBAAqB;QACrB,cAAc,AAAC,YAAgC,YAAY,CAAE,UAAU;aAClE,IAAI,CAAA,GAAA,sCAAW,EAAE,cACtB,4BAA4B;QAC5B,cAAc,YAAY,IAAI;aAE9B,cAAc,YAAY,UAAU;IAExC;IAEA,OAAO;AACT;AAKO,MAAM,4CAAmB,CAAC,MAAgB,QAAQ;IACvD,IAAI,CAAC,CAAA,GAAA,8CAAQ,KACX,OAAO,IAAI,aAAa;IAE1B,IAAI,gBAAgC,IAAI,aAAa;IAErD,MACE,iBACA,gBAAgB,iBAChB,cAAc,UAAU,EAAE,cAE1B,gBAAgB,cAAc,UAAU,CAAC,aAAa;IAGxD,OAAO;AACT;AAUO,SAAS,0CAAiD,KAAQ;IACvE,IAAI,CAAA,GAAA,8CAAQ,OAAO,MAAM,MAAM,YAAY,WAAW,MAAM,MAAM,CAAC,UAAU,EAAE;QAC7E,IAAI,kBAAkB,OACpB,OAAQ,MAAM,YAAY,EAAE,CAAC,EAAE,IAAI;aAC9B,IAAI,kBAAkB,MAAM,WAAW,EAC5C,OAAQ,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI;IAEnD;IACA,OAAO,MAAM,MAAM;AACrB;AAYO,SAAS,0CACd,IAAgC,EAChC,EAAuC;IAEvC,oEAAoE;IACpE,+EAA+E;IAC/E,gFAAgF;IAChF,4EAA4E;IAC5E,gDAAgD;IAChD,IAAI,OAAO,MACT,OAAO,EAAE;IAEX,KAAK,MAAM,CAAA,GAAA,wCAAa,EAAE;IAC1B,IAAI,UAAyB;QAAC;KAAG;IACjC,IAAI,CAAC,CAAA,GAAA,8CAAQ,OAAO,CAAC,QAAQ,SAAS,IACpC,OAAO;IAGT,qEAAqE;IACrE,6EAA6E;IAC7E,kEAAkE;IAClE,4EAA4E;IAC5E,2EAA2E;IAC3E,IAAI,SAAS,iBAAiB,KAAK,GAAG,WAAW,KAAK;IACtD,IAAI,UAAuB,KAAK,WAAW,MAAM;IACjD,MAAO,CAAA,GAAA,sCAAW,EAAE,YAAY,YAAY,OAAQ;QAClD,yBAAyB;QACzB,QAAQ,IAAI,CAAC;QACb,UAAU,QAAQ,IAAI,CAAC,WAAW;IACpC;IAEA,OAAO;AACT;AAQO,SAAS,0CAAc,IAAgC;IAC5D,IAAI,CAAC,MACH,OAAO;IAET,kGAAkG;IAClG,IAAI,OAAO,KAAK,WAAW;IAC3B,IAAI,cAAc,CAAA,GAAA,wCAAa,EAAE;IACjC,IAAI,CAAE,CAAA,gBAAgB,YAAY,QAAQ,IAAI,gBAAgB,YAAY,UAAU,AAAD,GACjF,OAAO;IAET,IAAI,gBAAgB,KAAK,aAAa;IAEtC,gGAAgG;IAChG,OAAO,iBAAiB,QAAQ,KAAK,QAAQ,CAAC;AAChD","sources":["packages/react-aria/src/utils/shadowdom/DOMFunctions.ts"],"sourcesContent":["// Source: https://github.com/microsoft/tabster/blob/a89fc5d7e332d48f68d03b1ca6e344489d1c3898/src/Shadowdomize/DOMFunctions.ts#L16\n/* eslint-disable rsp-rules/no-non-shadow-contains, rsp-rules/safe-event-target */\n\nimport {getOwnerWindow, isShadowRoot} from '../domHelpers';\nimport {shadowDOM} from 'react-stately/private/flags/flags';\nimport type {SyntheticEvent} from 'react';\n\n/**\n * ShadowDOM safe version of Node.contains.\n */\nexport function nodeContains(\n node: Node | Element | null | undefined,\n otherNode: Node | Element | null | undefined\n): boolean {\n if (!shadowDOM()) {\n return otherNode && node ? node.contains(otherNode) : false;\n }\n\n if (!node || !otherNode) {\n return false;\n }\n\n let currentNode: HTMLElement | Node | null | undefined = otherNode;\n\n while (currentNode !== null) {\n if (currentNode === node) {\n return true;\n }\n\n if (\n typeof (currentNode as HTMLSlotElement).assignedElements !== 'function' &&\n (currentNode as HTMLSlotElement).assignedSlot?.parentNode\n ) {\n // Element is slotted\n currentNode = (currentNode as HTMLSlotElement).assignedSlot!.parentNode;\n } else if (isShadowRoot(currentNode)) {\n // Element is in shadow root\n currentNode = currentNode.host;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return false;\n}\n\n/**\n * ShadowDOM safe version of document.activeElement.\n */\nexport const getActiveElement = (doc: Document = document): Element | null => {\n if (!shadowDOM()) {\n return doc.activeElement;\n }\n let activeElement: Element | null = doc.activeElement;\n\n while (\n activeElement &&\n 'shadowRoot' in activeElement &&\n activeElement.shadowRoot?.activeElement\n ) {\n activeElement = activeElement.shadowRoot.activeElement;\n }\n\n return activeElement;\n};\n\n// Type helper to extract the target element type from an event\ntype EventTargetType<T> = T extends SyntheticEvent<infer E, any> ? E : EventTarget;\n\n// Possibly we can improve the types for this using https://github.com/adobe/react-spectrum/pull/8991/changes#diff-2d491c0c91701d28d08e1cf9fcadbdb21a030b67ab681460c9934140f29127b8R68 but it was more changes than I\n// wanted to make to fix the function.\n/**\n * ShadowDOM safe version of event.target.\n */\nexport function getEventTarget<T extends Event | SyntheticEvent>(event: T): EventTargetType<T> {\n if (shadowDOM() && event.target instanceof Element && event.target.shadowRoot) {\n if ('composedPath' in event) {\n return (event.composedPath()[0] ?? null) as EventTargetType<T>;\n } else if ('composedPath' in event.nativeEvent) {\n return (event.nativeEvent.composedPath()[0] ?? null) as EventTargetType<T>;\n }\n }\n return event.target as EventTargetType<T>;\n}\n\n/**\n * Returns the set of event targets a listener must be attached to in order to\n * globally observe an event.\n *\n * @param from - The target element to start from.\n * @param to - The element to stop at when bubbling. @default getOwnerWindow(from)\n * `to` is generally going to be either `document` or `window`, but\n * it can be any intermediate node.\n * @returns [global, ...shadowRoots]\n */\nexport function getPropagationTargets(\n from: Element | null | undefined,\n to?: Document | Window | Element | null\n): EventTarget[] {\n // If `to` is coming from a ref, its type technically allows `null`.\n // In practice, this function will generally be called from within a useEffect.\n // If the ref has not resolved by that point, then a coding error has been made.\n // Better to return an empty array than `[window]`, which may appear to work\n // in the light DOM, but fail in the shadow DOM.\n if (to === null) {\n return [];\n }\n to = to ?? getOwnerWindow(from);\n let targets: EventTarget[] = [to];\n if (!shadowDOM() || !from || from === to) {\n return targets;\n }\n\n // The root `to` itself lives in. The event already reaches `to` once\n // it is inside this root, so we must NOT collect this root or anything above\n // it — only the shadow roots strictly between `refNode` and `to`.\n // `window` has no getRootNode; its boundary is the document, which the walk\n // reaches naturally (the document is not a ShadowRoot, so the loop exits).\n let toRoot = 'getRootNode' in to ? to.getRootNode() : null;\n let current: Node | null = from.getRootNode() ?? null;\n while (isShadowRoot(current) && current !== toRoot) {\n // order shouldn't matter\n targets.push(current);\n current = current.host.getRootNode();\n }\n\n return targets;\n}\n\n/**\n * ShadowDOM safe fast version of node.contains(document.activeElement).\n *\n * @param node\n * @returns\n */\nexport function isFocusWithin(node: Element | null | undefined): boolean {\n if (!node) {\n return false;\n }\n // Get the active element within the node's parent shadow root (or the document). Can return null.\n let root = node.getRootNode();\n let ownerWindow = getOwnerWindow(node);\n if (!(root instanceof ownerWindow.Document || root instanceof ownerWindow.ShadowRoot)) {\n return false;\n }\n let activeElement = root.activeElement;\n\n // Check if the active element is within this node. These nodes are within the same shadow root.\n return activeElement != null && node.contains(activeElement);\n}\n"],"names":[],"version":3,"file":"DOMFunctions.cjs.map"}
@@ -9,8 +9,9 @@ function $d8ac7ed472840322$export$4282f70798064fe0(node, otherNode) {
9
9
  if (!node || !otherNode) return false;
10
10
  let currentNode = otherNode;
11
11
  while(currentNode !== null){
12
+ var _currentNode_assignedSlot;
12
13
  if (currentNode === node) return true;
13
- if (currentNode.tagName === 'SLOT' && currentNode.assignedSlot) // Element is slotted
14
+ if (typeof currentNode.assignedElements !== 'function' && ((_currentNode_assignedSlot = currentNode.assignedSlot) === null || _currentNode_assignedSlot === void 0 ? void 0 : _currentNode_assignedSlot.parentNode)) // Element is slotted
14
15
  currentNode = currentNode.assignedSlot.parentNode;
15
16
  else if ((0, $cc3c3666b64debad$export$af51f0f06c0f328a)(currentNode)) // Element is in shadow root
16
17
  currentNode = currentNode.host;
@@ -33,6 +34,33 @@ function $d8ac7ed472840322$export$e58f029f0fbfdb29(event) {
33
34
  }
34
35
  return event.target;
35
36
  }
37
+ function $d8ac7ed472840322$export$da7af4355d792141(from, to) {
38
+ // If `to` is coming from a ref, its type technically allows `null`.
39
+ // In practice, this function will generally be called from within a useEffect.
40
+ // If the ref has not resolved by that point, then a coding error has been made.
41
+ // Better to return an empty array than `[window]`, which may appear to work
42
+ // in the light DOM, but fail in the shadow DOM.
43
+ if (to === null) return [];
44
+ to = to !== null && to !== void 0 ? to : (0, $cc3c3666b64debad$export$f21a1ffae260145a)(from);
45
+ let targets = [
46
+ to
47
+ ];
48
+ if (!(0, $3dg2Q$shadowDOM)() || !from || from === to) return targets;
49
+ // The root `to` itself lives in. The event already reaches `to` once
50
+ // it is inside this root, so we must NOT collect this root or anything above
51
+ // it — only the shadow roots strictly between `refNode` and `to`.
52
+ // `window` has no getRootNode; its boundary is the document, which the walk
53
+ // reaches naturally (the document is not a ShadowRoot, so the loop exits).
54
+ let toRoot = 'getRootNode' in to ? to.getRootNode() : null;
55
+ var _from_getRootNode;
56
+ let current = (_from_getRootNode = from.getRootNode()) !== null && _from_getRootNode !== void 0 ? _from_getRootNode : null;
57
+ while((0, $cc3c3666b64debad$export$af51f0f06c0f328a)(current) && current !== toRoot){
58
+ // order shouldn't matter
59
+ targets.push(current);
60
+ current = current.host.getRootNode();
61
+ }
62
+ return targets;
63
+ }
36
64
  function $d8ac7ed472840322$export$b4f377a2b6254582(node) {
37
65
  if (!node) return false;
38
66
  // Get the active element within the node's parent shadow root (or the document). Can return null.
@@ -45,5 +73,5 @@ function $d8ac7ed472840322$export$b4f377a2b6254582(node) {
45
73
  }
46
74
 
47
75
 
48
- export {$d8ac7ed472840322$export$4282f70798064fe0 as nodeContains, $d8ac7ed472840322$export$cd4e5573fbe2b576 as getActiveElement, $d8ac7ed472840322$export$e58f029f0fbfdb29 as getEventTarget, $d8ac7ed472840322$export$b4f377a2b6254582 as isFocusWithin};
76
+ export {$d8ac7ed472840322$export$4282f70798064fe0 as nodeContains, $d8ac7ed472840322$export$cd4e5573fbe2b576 as getActiveElement, $d8ac7ed472840322$export$e58f029f0fbfdb29 as getEventTarget, $d8ac7ed472840322$export$da7af4355d792141 as getPropagationTargets, $d8ac7ed472840322$export$b4f377a2b6254582 as isFocusWithin};
49
77
  //# sourceMappingURL=DOMFunctions.js.map
@@ -1 +1 @@
1
- {"mappings":";;;AAAA,kIAAkI;AAClI,gFAAgF;;AASzE,SAAS,0CACd,IAAuC,EACvC,SAA4C;IAE5C,IAAI,CAAC,CAAA,GAAA,gBAAQ,KACX,OAAO,aAAa,OAAO,KAAK,QAAQ,CAAC,aAAa;IAGxD,IAAI,CAAC,QAAQ,CAAC,WACZ,OAAO;IAGT,IAAI,cAAqD;IAEzD,MAAO,gBAAgB,KAAM;QAC3B,IAAI,gBAAgB,MAClB,OAAO;QAGT,IACE,AAAC,YAAgC,OAAO,KAAK,UAC7C,AAAC,YAAgC,YAAY,EAE7C,qBAAqB;QACrB,cAAc,AAAC,YAAgC,YAAY,CAAE,UAAU;aAClE,IAAI,CAAA,GAAA,yCAAW,EAAE,cACtB,4BAA4B;QAC5B,cAAc,YAAY,IAAI;aAE9B,cAAc,YAAY,UAAU;IAExC;IAEA,OAAO;AACT;AAKO,MAAM,4CAAmB,CAAC,MAAgB,QAAQ;QASrD;IARF,IAAI,CAAC,CAAA,GAAA,gBAAQ,KACX,OAAO,IAAI,aAAa;IAE1B,IAAI,gBAAgC,IAAI,aAAa;IAErD,MACE,iBACA,gBAAgB,mBAChB,4BAAA,cAAc,UAAU,cAAxB,gDAAA,0BAA0B,aAAa,EAEvC,gBAAgB,cAAc,UAAU,CAAC,aAAa;IAGxD,OAAO;AACT;AAUO,SAAS,0CAAiD,KAAQ;IACvE,IAAI,CAAA,GAAA,gBAAQ,OAAO,MAAM,MAAM,YAAY,WAAW,MAAM,MAAM,CAAC,UAAU,EAAE;YAEnE,sBAEA;QAHV,IAAI,kBAAkB,OACpB,OAAQ,CAAA,uBAAA,MAAM,YAAY,EAAE,CAAC,EAAE,cAAvB,kCAAA,uBAA2B;aAC9B,IAAI,kBAAkB,MAAM,WAAW,EAC5C,OAAQ,CAAA,mCAAA,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC,EAAE,cAAnC,8CAAA,mCAAuC;IAEnD;IACA,OAAO,MAAM,MAAM;AACrB;AAQO,SAAS,0CAAc,IAAgC;IAC5D,IAAI,CAAC,MACH,OAAO;IAET,kGAAkG;IAClG,IAAI,OAAO,KAAK,WAAW;IAC3B,IAAI,cAAc,CAAA,GAAA,yCAAa,EAAE;IACjC,IAAI,CAAE,CAAA,gBAAgB,YAAY,QAAQ,IAAI,gBAAgB,YAAY,UAAU,AAAD,GACjF,OAAO;IAET,IAAI,gBAAgB,KAAK,aAAa;IAEtC,gGAAgG;IAChG,OAAO,iBAAiB,QAAQ,KAAK,QAAQ,CAAC;AAChD","sources":["packages/react-aria/src/utils/shadowdom/DOMFunctions.ts"],"sourcesContent":["// Source: https://github.com/microsoft/tabster/blob/a89fc5d7e332d48f68d03b1ca6e344489d1c3898/src/Shadowdomize/DOMFunctions.ts#L16\n/* eslint-disable rsp-rules/no-non-shadow-contains, rsp-rules/safe-event-target */\n\nimport {getOwnerWindow, isShadowRoot} from '../domHelpers';\nimport {shadowDOM} from 'react-stately/private/flags/flags';\nimport type {SyntheticEvent} from 'react';\n\n/**\n * ShadowDOM safe version of Node.contains.\n */\nexport function nodeContains(\n node: Node | Element | null | undefined,\n otherNode: Node | Element | null | undefined\n): boolean {\n if (!shadowDOM()) {\n return otherNode && node ? node.contains(otherNode) : false;\n }\n\n if (!node || !otherNode) {\n return false;\n }\n\n let currentNode: HTMLElement | Node | null | undefined = otherNode;\n\n while (currentNode !== null) {\n if (currentNode === node) {\n return true;\n }\n\n if (\n (currentNode as HTMLSlotElement).tagName === 'SLOT' &&\n (currentNode as HTMLSlotElement).assignedSlot\n ) {\n // Element is slotted\n currentNode = (currentNode as HTMLSlotElement).assignedSlot!.parentNode;\n } else if (isShadowRoot(currentNode)) {\n // Element is in shadow root\n currentNode = currentNode.host;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return false;\n}\n\n/**\n * ShadowDOM safe version of document.activeElement.\n */\nexport const getActiveElement = (doc: Document = document): Element | null => {\n if (!shadowDOM()) {\n return doc.activeElement;\n }\n let activeElement: Element | null = doc.activeElement;\n\n while (\n activeElement &&\n 'shadowRoot' in activeElement &&\n activeElement.shadowRoot?.activeElement\n ) {\n activeElement = activeElement.shadowRoot.activeElement;\n }\n\n return activeElement;\n};\n\n// Type helper to extract the target element type from an event\ntype EventTargetType<T> = T extends SyntheticEvent<infer E, any> ? E : EventTarget;\n\n// Possibly we can improve the types for this using https://github.com/adobe/react-spectrum/pull/8991/changes#diff-2d491c0c91701d28d08e1cf9fcadbdb21a030b67ab681460c9934140f29127b8R68 but it was more changes than I\n// wanted to make to fix the function.\n/**\n * ShadowDOM safe version of event.target.\n */\nexport function getEventTarget<T extends Event | SyntheticEvent>(event: T): EventTargetType<T> {\n if (shadowDOM() && event.target instanceof Element && event.target.shadowRoot) {\n if ('composedPath' in event) {\n return (event.composedPath()[0] ?? null) as EventTargetType<T>;\n } else if ('composedPath' in event.nativeEvent) {\n return (event.nativeEvent.composedPath()[0] ?? null) as EventTargetType<T>;\n }\n }\n return event.target as EventTargetType<T>;\n}\n\n/**\n * ShadowDOM safe fast version of node.contains(document.activeElement).\n *\n * @param node\n * @returns\n */\nexport function isFocusWithin(node: Element | null | undefined): boolean {\n if (!node) {\n return false;\n }\n // Get the active element within the node's parent shadow root (or the document). Can return null.\n let root = node.getRootNode();\n let ownerWindow = getOwnerWindow(node);\n if (!(root instanceof ownerWindow.Document || root instanceof ownerWindow.ShadowRoot)) {\n return false;\n }\n let activeElement = root.activeElement;\n\n // Check if the active element is within this node. These nodes are within the same shadow root.\n return activeElement != null && node.contains(activeElement);\n}\n"],"names":[],"version":3,"file":"DOMFunctions.js.map"}
1
+ {"mappings":";;;AAAA,kIAAkI;AAClI,gFAAgF;;AASzE,SAAS,0CACd,IAAuC,EACvC,SAA4C;IAE5C,IAAI,CAAC,CAAA,GAAA,gBAAQ,KACX,OAAO,aAAa,OAAO,KAAK,QAAQ,CAAC,aAAa;IAGxD,IAAI,CAAC,QAAQ,CAAC,WACZ,OAAO;IAGT,IAAI,cAAqD;IAEzD,MAAO,gBAAgB,KAAM;YAOzB;QANF,IAAI,gBAAgB,MAClB,OAAO;QAGT,IACE,OAAO,AAAC,YAAgC,gBAAgB,KAAK,gBAC7D,4BAAA,AAAC,YAAgC,YAAY,cAA7C,gDAAA,0BAA+C,UAAU,GAEzD,qBAAqB;QACrB,cAAc,AAAC,YAAgC,YAAY,CAAE,UAAU;aAClE,IAAI,CAAA,GAAA,yCAAW,EAAE,cACtB,4BAA4B;QAC5B,cAAc,YAAY,IAAI;aAE9B,cAAc,YAAY,UAAU;IAExC;IAEA,OAAO;AACT;AAKO,MAAM,4CAAmB,CAAC,MAAgB,QAAQ;QASrD;IARF,IAAI,CAAC,CAAA,GAAA,gBAAQ,KACX,OAAO,IAAI,aAAa;IAE1B,IAAI,gBAAgC,IAAI,aAAa;IAErD,MACE,iBACA,gBAAgB,mBAChB,4BAAA,cAAc,UAAU,cAAxB,gDAAA,0BAA0B,aAAa,EAEvC,gBAAgB,cAAc,UAAU,CAAC,aAAa;IAGxD,OAAO;AACT;AAUO,SAAS,0CAAiD,KAAQ;IACvE,IAAI,CAAA,GAAA,gBAAQ,OAAO,MAAM,MAAM,YAAY,WAAW,MAAM,MAAM,CAAC,UAAU,EAAE;YAEnE,sBAEA;QAHV,IAAI,kBAAkB,OACpB,OAAQ,CAAA,uBAAA,MAAM,YAAY,EAAE,CAAC,EAAE,cAAvB,kCAAA,uBAA2B;aAC9B,IAAI,kBAAkB,MAAM,WAAW,EAC5C,OAAQ,CAAA,mCAAA,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC,EAAE,cAAnC,8CAAA,mCAAuC;IAEnD;IACA,OAAO,MAAM,MAAM;AACrB;AAYO,SAAS,0CACd,IAAgC,EAChC,EAAuC;IAEvC,oEAAoE;IACpE,+EAA+E;IAC/E,gFAAgF;IAChF,4EAA4E;IAC5E,gDAAgD;IAChD,IAAI,OAAO,MACT,OAAO,EAAE;IAEX,KAAK,eAAA,gBAAA,KAAM,CAAA,GAAA,yCAAa,EAAE;IAC1B,IAAI,UAAyB;QAAC;KAAG;IACjC,IAAI,CAAC,CAAA,GAAA,gBAAQ,OAAO,CAAC,QAAQ,SAAS,IACpC,OAAO;IAGT,qEAAqE;IACrE,6EAA6E;IAC7E,kEAAkE;IAClE,4EAA4E;IAC5E,2EAA2E;IAC3E,IAAI,SAAS,iBAAiB,KAAK,GAAG,WAAW,KAAK;QAC3B;IAA3B,IAAI,UAAuB,CAAA,oBAAA,KAAK,WAAW,gBAAhB,+BAAA,oBAAsB;IACjD,MAAO,CAAA,GAAA,yCAAW,EAAE,YAAY,YAAY,OAAQ;QAClD,yBAAyB;QACzB,QAAQ,IAAI,CAAC;QACb,UAAU,QAAQ,IAAI,CAAC,WAAW;IACpC;IAEA,OAAO;AACT;AAQO,SAAS,0CAAc,IAAgC;IAC5D,IAAI,CAAC,MACH,OAAO;IAET,kGAAkG;IAClG,IAAI,OAAO,KAAK,WAAW;IAC3B,IAAI,cAAc,CAAA,GAAA,yCAAa,EAAE;IACjC,IAAI,CAAE,CAAA,gBAAgB,YAAY,QAAQ,IAAI,gBAAgB,YAAY,UAAU,AAAD,GACjF,OAAO;IAET,IAAI,gBAAgB,KAAK,aAAa;IAEtC,gGAAgG;IAChG,OAAO,iBAAiB,QAAQ,KAAK,QAAQ,CAAC;AAChD","sources":["packages/react-aria/src/utils/shadowdom/DOMFunctions.ts"],"sourcesContent":["// Source: https://github.com/microsoft/tabster/blob/a89fc5d7e332d48f68d03b1ca6e344489d1c3898/src/Shadowdomize/DOMFunctions.ts#L16\n/* eslint-disable rsp-rules/no-non-shadow-contains, rsp-rules/safe-event-target */\n\nimport {getOwnerWindow, isShadowRoot} from '../domHelpers';\nimport {shadowDOM} from 'react-stately/private/flags/flags';\nimport type {SyntheticEvent} from 'react';\n\n/**\n * ShadowDOM safe version of Node.contains.\n */\nexport function nodeContains(\n node: Node | Element | null | undefined,\n otherNode: Node | Element | null | undefined\n): boolean {\n if (!shadowDOM()) {\n return otherNode && node ? node.contains(otherNode) : false;\n }\n\n if (!node || !otherNode) {\n return false;\n }\n\n let currentNode: HTMLElement | Node | null | undefined = otherNode;\n\n while (currentNode !== null) {\n if (currentNode === node) {\n return true;\n }\n\n if (\n typeof (currentNode as HTMLSlotElement).assignedElements !== 'function' &&\n (currentNode as HTMLSlotElement).assignedSlot?.parentNode\n ) {\n // Element is slotted\n currentNode = (currentNode as HTMLSlotElement).assignedSlot!.parentNode;\n } else if (isShadowRoot(currentNode)) {\n // Element is in shadow root\n currentNode = currentNode.host;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return false;\n}\n\n/**\n * ShadowDOM safe version of document.activeElement.\n */\nexport const getActiveElement = (doc: Document = document): Element | null => {\n if (!shadowDOM()) {\n return doc.activeElement;\n }\n let activeElement: Element | null = doc.activeElement;\n\n while (\n activeElement &&\n 'shadowRoot' in activeElement &&\n activeElement.shadowRoot?.activeElement\n ) {\n activeElement = activeElement.shadowRoot.activeElement;\n }\n\n return activeElement;\n};\n\n// Type helper to extract the target element type from an event\ntype EventTargetType<T> = T extends SyntheticEvent<infer E, any> ? E : EventTarget;\n\n// Possibly we can improve the types for this using https://github.com/adobe/react-spectrum/pull/8991/changes#diff-2d491c0c91701d28d08e1cf9fcadbdb21a030b67ab681460c9934140f29127b8R68 but it was more changes than I\n// wanted to make to fix the function.\n/**\n * ShadowDOM safe version of event.target.\n */\nexport function getEventTarget<T extends Event | SyntheticEvent>(event: T): EventTargetType<T> {\n if (shadowDOM() && event.target instanceof Element && event.target.shadowRoot) {\n if ('composedPath' in event) {\n return (event.composedPath()[0] ?? null) as EventTargetType<T>;\n } else if ('composedPath' in event.nativeEvent) {\n return (event.nativeEvent.composedPath()[0] ?? null) as EventTargetType<T>;\n }\n }\n return event.target as EventTargetType<T>;\n}\n\n/**\n * Returns the set of event targets a listener must be attached to in order to\n * globally observe an event.\n *\n * @param from - The target element to start from.\n * @param to - The element to stop at when bubbling. @default getOwnerWindow(from)\n * `to` is generally going to be either `document` or `window`, but\n * it can be any intermediate node.\n * @returns [global, ...shadowRoots]\n */\nexport function getPropagationTargets(\n from: Element | null | undefined,\n to?: Document | Window | Element | null\n): EventTarget[] {\n // If `to` is coming from a ref, its type technically allows `null`.\n // In practice, this function will generally be called from within a useEffect.\n // If the ref has not resolved by that point, then a coding error has been made.\n // Better to return an empty array than `[window]`, which may appear to work\n // in the light DOM, but fail in the shadow DOM.\n if (to === null) {\n return [];\n }\n to = to ?? getOwnerWindow(from);\n let targets: EventTarget[] = [to];\n if (!shadowDOM() || !from || from === to) {\n return targets;\n }\n\n // The root `to` itself lives in. The event already reaches `to` once\n // it is inside this root, so we must NOT collect this root or anything above\n // it — only the shadow roots strictly between `refNode` and `to`.\n // `window` has no getRootNode; its boundary is the document, which the walk\n // reaches naturally (the document is not a ShadowRoot, so the loop exits).\n let toRoot = 'getRootNode' in to ? to.getRootNode() : null;\n let current: Node | null = from.getRootNode() ?? null;\n while (isShadowRoot(current) && current !== toRoot) {\n // order shouldn't matter\n targets.push(current);\n current = current.host.getRootNode();\n }\n\n return targets;\n}\n\n/**\n * ShadowDOM safe fast version of node.contains(document.activeElement).\n *\n * @param node\n * @returns\n */\nexport function isFocusWithin(node: Element | null | undefined): boolean {\n if (!node) {\n return false;\n }\n // Get the active element within the node's parent shadow root (or the document). Can return null.\n let root = node.getRootNode();\n let ownerWindow = getOwnerWindow(node);\n if (!(root instanceof ownerWindow.Document || root instanceof ownerWindow.ShadowRoot)) {\n return false;\n }\n let activeElement = root.activeElement;\n\n // Check if the active element is within this node. These nodes are within the same shadow root.\n return activeElement != null && node.contains(activeElement);\n}\n"],"names":[],"version":3,"file":"DOMFunctions.js.map"}
@@ -10,7 +10,7 @@ function $23f2114a1b82827e$export$4282f70798064fe0(node, otherNode) {
10
10
  let currentNode = otherNode;
11
11
  while(currentNode !== null){
12
12
  if (currentNode === node) return true;
13
- if (currentNode.tagName === 'SLOT' && currentNode.assignedSlot) // Element is slotted
13
+ if (typeof currentNode.assignedElements !== 'function' && currentNode.assignedSlot?.parentNode) // Element is slotted
14
14
  currentNode = currentNode.assignedSlot.parentNode;
15
15
  else if ((0, $d447af545b77c9f1$export$af51f0f06c0f328a)(currentNode)) // Element is in shadow root
16
16
  currentNode = currentNode.host;
@@ -31,6 +31,32 @@ function $23f2114a1b82827e$export$e58f029f0fbfdb29(event) {
31
31
  }
32
32
  return event.target;
33
33
  }
34
+ function $23f2114a1b82827e$export$da7af4355d792141(from, to) {
35
+ // If `to` is coming from a ref, its type technically allows `null`.
36
+ // In practice, this function will generally be called from within a useEffect.
37
+ // If the ref has not resolved by that point, then a coding error has been made.
38
+ // Better to return an empty array than `[window]`, which may appear to work
39
+ // in the light DOM, but fail in the shadow DOM.
40
+ if (to === null) return [];
41
+ to = to ?? (0, $d447af545b77c9f1$export$f21a1ffae260145a)(from);
42
+ let targets = [
43
+ to
44
+ ];
45
+ if (!(0, $eXv8n$shadowDOM)() || !from || from === to) return targets;
46
+ // The root `to` itself lives in. The event already reaches `to` once
47
+ // it is inside this root, so we must NOT collect this root or anything above
48
+ // it — only the shadow roots strictly between `refNode` and `to`.
49
+ // `window` has no getRootNode; its boundary is the document, which the walk
50
+ // reaches naturally (the document is not a ShadowRoot, so the loop exits).
51
+ let toRoot = 'getRootNode' in to ? to.getRootNode() : null;
52
+ let current = from.getRootNode() ?? null;
53
+ while((0, $d447af545b77c9f1$export$af51f0f06c0f328a)(current) && current !== toRoot){
54
+ // order shouldn't matter
55
+ targets.push(current);
56
+ current = current.host.getRootNode();
57
+ }
58
+ return targets;
59
+ }
34
60
  function $23f2114a1b82827e$export$b4f377a2b6254582(node) {
35
61
  if (!node) return false;
36
62
  // Get the active element within the node's parent shadow root (or the document). Can return null.
@@ -43,5 +69,5 @@ function $23f2114a1b82827e$export$b4f377a2b6254582(node) {
43
69
  }
44
70
 
45
71
 
46
- export {$23f2114a1b82827e$export$4282f70798064fe0 as nodeContains, $23f2114a1b82827e$export$cd4e5573fbe2b576 as getActiveElement, $23f2114a1b82827e$export$e58f029f0fbfdb29 as getEventTarget, $23f2114a1b82827e$export$b4f377a2b6254582 as isFocusWithin};
72
+ export {$23f2114a1b82827e$export$4282f70798064fe0 as nodeContains, $23f2114a1b82827e$export$cd4e5573fbe2b576 as getActiveElement, $23f2114a1b82827e$export$e58f029f0fbfdb29 as getEventTarget, $23f2114a1b82827e$export$da7af4355d792141 as getPropagationTargets, $23f2114a1b82827e$export$b4f377a2b6254582 as isFocusWithin};
47
73
  //# sourceMappingURL=DOMFunctions.mjs.map
@@ -1 +1 @@
1
- {"mappings":";;;AAAA,kIAAkI;AAClI,gFAAgF;;AASzE,SAAS,0CACd,IAAuC,EACvC,SAA4C;IAE5C,IAAI,CAAC,CAAA,GAAA,gBAAQ,KACX,OAAO,aAAa,OAAO,KAAK,QAAQ,CAAC,aAAa;IAGxD,IAAI,CAAC,QAAQ,CAAC,WACZ,OAAO;IAGT,IAAI,cAAqD;IAEzD,MAAO,gBAAgB,KAAM;QAC3B,IAAI,gBAAgB,MAClB,OAAO;QAGT,IACE,AAAC,YAAgC,OAAO,KAAK,UAC7C,AAAC,YAAgC,YAAY,EAE7C,qBAAqB;QACrB,cAAc,AAAC,YAAgC,YAAY,CAAE,UAAU;aAClE,IAAI,CAAA,GAAA,yCAAW,EAAE,cACtB,4BAA4B;QAC5B,cAAc,YAAY,IAAI;aAE9B,cAAc,YAAY,UAAU;IAExC;IAEA,OAAO;AACT;AAKO,MAAM,4CAAmB,CAAC,MAAgB,QAAQ;IACvD,IAAI,CAAC,CAAA,GAAA,gBAAQ,KACX,OAAO,IAAI,aAAa;IAE1B,IAAI,gBAAgC,IAAI,aAAa;IAErD,MACE,iBACA,gBAAgB,iBAChB,cAAc,UAAU,EAAE,cAE1B,gBAAgB,cAAc,UAAU,CAAC,aAAa;IAGxD,OAAO;AACT;AAUO,SAAS,0CAAiD,KAAQ;IACvE,IAAI,CAAA,GAAA,gBAAQ,OAAO,MAAM,MAAM,YAAY,WAAW,MAAM,MAAM,CAAC,UAAU,EAAE;QAC7E,IAAI,kBAAkB,OACpB,OAAQ,MAAM,YAAY,EAAE,CAAC,EAAE,IAAI;aAC9B,IAAI,kBAAkB,MAAM,WAAW,EAC5C,OAAQ,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI;IAEnD;IACA,OAAO,MAAM,MAAM;AACrB;AAQO,SAAS,0CAAc,IAAgC;IAC5D,IAAI,CAAC,MACH,OAAO;IAET,kGAAkG;IAClG,IAAI,OAAO,KAAK,WAAW;IAC3B,IAAI,cAAc,CAAA,GAAA,yCAAa,EAAE;IACjC,IAAI,CAAE,CAAA,gBAAgB,YAAY,QAAQ,IAAI,gBAAgB,YAAY,UAAU,AAAD,GACjF,OAAO;IAET,IAAI,gBAAgB,KAAK,aAAa;IAEtC,gGAAgG;IAChG,OAAO,iBAAiB,QAAQ,KAAK,QAAQ,CAAC;AAChD","sources":["packages/react-aria/src/utils/shadowdom/DOMFunctions.ts"],"sourcesContent":["// Source: https://github.com/microsoft/tabster/blob/a89fc5d7e332d48f68d03b1ca6e344489d1c3898/src/Shadowdomize/DOMFunctions.ts#L16\n/* eslint-disable rsp-rules/no-non-shadow-contains, rsp-rules/safe-event-target */\n\nimport {getOwnerWindow, isShadowRoot} from '../domHelpers';\nimport {shadowDOM} from 'react-stately/private/flags/flags';\nimport type {SyntheticEvent} from 'react';\n\n/**\n * ShadowDOM safe version of Node.contains.\n */\nexport function nodeContains(\n node: Node | Element | null | undefined,\n otherNode: Node | Element | null | undefined\n): boolean {\n if (!shadowDOM()) {\n return otherNode && node ? node.contains(otherNode) : false;\n }\n\n if (!node || !otherNode) {\n return false;\n }\n\n let currentNode: HTMLElement | Node | null | undefined = otherNode;\n\n while (currentNode !== null) {\n if (currentNode === node) {\n return true;\n }\n\n if (\n (currentNode as HTMLSlotElement).tagName === 'SLOT' &&\n (currentNode as HTMLSlotElement).assignedSlot\n ) {\n // Element is slotted\n currentNode = (currentNode as HTMLSlotElement).assignedSlot!.parentNode;\n } else if (isShadowRoot(currentNode)) {\n // Element is in shadow root\n currentNode = currentNode.host;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return false;\n}\n\n/**\n * ShadowDOM safe version of document.activeElement.\n */\nexport const getActiveElement = (doc: Document = document): Element | null => {\n if (!shadowDOM()) {\n return doc.activeElement;\n }\n let activeElement: Element | null = doc.activeElement;\n\n while (\n activeElement &&\n 'shadowRoot' in activeElement &&\n activeElement.shadowRoot?.activeElement\n ) {\n activeElement = activeElement.shadowRoot.activeElement;\n }\n\n return activeElement;\n};\n\n// Type helper to extract the target element type from an event\ntype EventTargetType<T> = T extends SyntheticEvent<infer E, any> ? E : EventTarget;\n\n// Possibly we can improve the types for this using https://github.com/adobe/react-spectrum/pull/8991/changes#diff-2d491c0c91701d28d08e1cf9fcadbdb21a030b67ab681460c9934140f29127b8R68 but it was more changes than I\n// wanted to make to fix the function.\n/**\n * ShadowDOM safe version of event.target.\n */\nexport function getEventTarget<T extends Event | SyntheticEvent>(event: T): EventTargetType<T> {\n if (shadowDOM() && event.target instanceof Element && event.target.shadowRoot) {\n if ('composedPath' in event) {\n return (event.composedPath()[0] ?? null) as EventTargetType<T>;\n } else if ('composedPath' in event.nativeEvent) {\n return (event.nativeEvent.composedPath()[0] ?? null) as EventTargetType<T>;\n }\n }\n return event.target as EventTargetType<T>;\n}\n\n/**\n * ShadowDOM safe fast version of node.contains(document.activeElement).\n *\n * @param node\n * @returns\n */\nexport function isFocusWithin(node: Element | null | undefined): boolean {\n if (!node) {\n return false;\n }\n // Get the active element within the node's parent shadow root (or the document). Can return null.\n let root = node.getRootNode();\n let ownerWindow = getOwnerWindow(node);\n if (!(root instanceof ownerWindow.Document || root instanceof ownerWindow.ShadowRoot)) {\n return false;\n }\n let activeElement = root.activeElement;\n\n // Check if the active element is within this node. These nodes are within the same shadow root.\n return activeElement != null && node.contains(activeElement);\n}\n"],"names":[],"version":3,"file":"DOMFunctions.mjs.map"}
1
+ {"mappings":";;;AAAA,kIAAkI;AAClI,gFAAgF;;AASzE,SAAS,0CACd,IAAuC,EACvC,SAA4C;IAE5C,IAAI,CAAC,CAAA,GAAA,gBAAQ,KACX,OAAO,aAAa,OAAO,KAAK,QAAQ,CAAC,aAAa;IAGxD,IAAI,CAAC,QAAQ,CAAC,WACZ,OAAO;IAGT,IAAI,cAAqD;IAEzD,MAAO,gBAAgB,KAAM;QAC3B,IAAI,gBAAgB,MAClB,OAAO;QAGT,IACE,OAAO,AAAC,YAAgC,gBAAgB,KAAK,cAC7D,AAAC,YAAgC,YAAY,EAAE,YAE/C,qBAAqB;QACrB,cAAc,AAAC,YAAgC,YAAY,CAAE,UAAU;aAClE,IAAI,CAAA,GAAA,yCAAW,EAAE,cACtB,4BAA4B;QAC5B,cAAc,YAAY,IAAI;aAE9B,cAAc,YAAY,UAAU;IAExC;IAEA,OAAO;AACT;AAKO,MAAM,4CAAmB,CAAC,MAAgB,QAAQ;IACvD,IAAI,CAAC,CAAA,GAAA,gBAAQ,KACX,OAAO,IAAI,aAAa;IAE1B,IAAI,gBAAgC,IAAI,aAAa;IAErD,MACE,iBACA,gBAAgB,iBAChB,cAAc,UAAU,EAAE,cAE1B,gBAAgB,cAAc,UAAU,CAAC,aAAa;IAGxD,OAAO;AACT;AAUO,SAAS,0CAAiD,KAAQ;IACvE,IAAI,CAAA,GAAA,gBAAQ,OAAO,MAAM,MAAM,YAAY,WAAW,MAAM,MAAM,CAAC,UAAU,EAAE;QAC7E,IAAI,kBAAkB,OACpB,OAAQ,MAAM,YAAY,EAAE,CAAC,EAAE,IAAI;aAC9B,IAAI,kBAAkB,MAAM,WAAW,EAC5C,OAAQ,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI;IAEnD;IACA,OAAO,MAAM,MAAM;AACrB;AAYO,SAAS,0CACd,IAAgC,EAChC,EAAuC;IAEvC,oEAAoE;IACpE,+EAA+E;IAC/E,gFAAgF;IAChF,4EAA4E;IAC5E,gDAAgD;IAChD,IAAI,OAAO,MACT,OAAO,EAAE;IAEX,KAAK,MAAM,CAAA,GAAA,yCAAa,EAAE;IAC1B,IAAI,UAAyB;QAAC;KAAG;IACjC,IAAI,CAAC,CAAA,GAAA,gBAAQ,OAAO,CAAC,QAAQ,SAAS,IACpC,OAAO;IAGT,qEAAqE;IACrE,6EAA6E;IAC7E,kEAAkE;IAClE,4EAA4E;IAC5E,2EAA2E;IAC3E,IAAI,SAAS,iBAAiB,KAAK,GAAG,WAAW,KAAK;IACtD,IAAI,UAAuB,KAAK,WAAW,MAAM;IACjD,MAAO,CAAA,GAAA,yCAAW,EAAE,YAAY,YAAY,OAAQ;QAClD,yBAAyB;QACzB,QAAQ,IAAI,CAAC;QACb,UAAU,QAAQ,IAAI,CAAC,WAAW;IACpC;IAEA,OAAO;AACT;AAQO,SAAS,0CAAc,IAAgC;IAC5D,IAAI,CAAC,MACH,OAAO;IAET,kGAAkG;IAClG,IAAI,OAAO,KAAK,WAAW;IAC3B,IAAI,cAAc,CAAA,GAAA,yCAAa,EAAE;IACjC,IAAI,CAAE,CAAA,gBAAgB,YAAY,QAAQ,IAAI,gBAAgB,YAAY,UAAU,AAAD,GACjF,OAAO;IAET,IAAI,gBAAgB,KAAK,aAAa;IAEtC,gGAAgG;IAChG,OAAO,iBAAiB,QAAQ,KAAK,QAAQ,CAAC;AAChD","sources":["packages/react-aria/src/utils/shadowdom/DOMFunctions.ts"],"sourcesContent":["// Source: https://github.com/microsoft/tabster/blob/a89fc5d7e332d48f68d03b1ca6e344489d1c3898/src/Shadowdomize/DOMFunctions.ts#L16\n/* eslint-disable rsp-rules/no-non-shadow-contains, rsp-rules/safe-event-target */\n\nimport {getOwnerWindow, isShadowRoot} from '../domHelpers';\nimport {shadowDOM} from 'react-stately/private/flags/flags';\nimport type {SyntheticEvent} from 'react';\n\n/**\n * ShadowDOM safe version of Node.contains.\n */\nexport function nodeContains(\n node: Node | Element | null | undefined,\n otherNode: Node | Element | null | undefined\n): boolean {\n if (!shadowDOM()) {\n return otherNode && node ? node.contains(otherNode) : false;\n }\n\n if (!node || !otherNode) {\n return false;\n }\n\n let currentNode: HTMLElement | Node | null | undefined = otherNode;\n\n while (currentNode !== null) {\n if (currentNode === node) {\n return true;\n }\n\n if (\n typeof (currentNode as HTMLSlotElement).assignedElements !== 'function' &&\n (currentNode as HTMLSlotElement).assignedSlot?.parentNode\n ) {\n // Element is slotted\n currentNode = (currentNode as HTMLSlotElement).assignedSlot!.parentNode;\n } else if (isShadowRoot(currentNode)) {\n // Element is in shadow root\n currentNode = currentNode.host;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return false;\n}\n\n/**\n * ShadowDOM safe version of document.activeElement.\n */\nexport const getActiveElement = (doc: Document = document): Element | null => {\n if (!shadowDOM()) {\n return doc.activeElement;\n }\n let activeElement: Element | null = doc.activeElement;\n\n while (\n activeElement &&\n 'shadowRoot' in activeElement &&\n activeElement.shadowRoot?.activeElement\n ) {\n activeElement = activeElement.shadowRoot.activeElement;\n }\n\n return activeElement;\n};\n\n// Type helper to extract the target element type from an event\ntype EventTargetType<T> = T extends SyntheticEvent<infer E, any> ? E : EventTarget;\n\n// Possibly we can improve the types for this using https://github.com/adobe/react-spectrum/pull/8991/changes#diff-2d491c0c91701d28d08e1cf9fcadbdb21a030b67ab681460c9934140f29127b8R68 but it was more changes than I\n// wanted to make to fix the function.\n/**\n * ShadowDOM safe version of event.target.\n */\nexport function getEventTarget<T extends Event | SyntheticEvent>(event: T): EventTargetType<T> {\n if (shadowDOM() && event.target instanceof Element && event.target.shadowRoot) {\n if ('composedPath' in event) {\n return (event.composedPath()[0] ?? null) as EventTargetType<T>;\n } else if ('composedPath' in event.nativeEvent) {\n return (event.nativeEvent.composedPath()[0] ?? null) as EventTargetType<T>;\n }\n }\n return event.target as EventTargetType<T>;\n}\n\n/**\n * Returns the set of event targets a listener must be attached to in order to\n * globally observe an event.\n *\n * @param from - The target element to start from.\n * @param to - The element to stop at when bubbling. @default getOwnerWindow(from)\n * `to` is generally going to be either `document` or `window`, but\n * it can be any intermediate node.\n * @returns [global, ...shadowRoots]\n */\nexport function getPropagationTargets(\n from: Element | null | undefined,\n to?: Document | Window | Element | null\n): EventTarget[] {\n // If `to` is coming from a ref, its type technically allows `null`.\n // In practice, this function will generally be called from within a useEffect.\n // If the ref has not resolved by that point, then a coding error has been made.\n // Better to return an empty array than `[window]`, which may appear to work\n // in the light DOM, but fail in the shadow DOM.\n if (to === null) {\n return [];\n }\n to = to ?? getOwnerWindow(from);\n let targets: EventTarget[] = [to];\n if (!shadowDOM() || !from || from === to) {\n return targets;\n }\n\n // The root `to` itself lives in. The event already reaches `to` once\n // it is inside this root, so we must NOT collect this root or anything above\n // it — only the shadow roots strictly between `refNode` and `to`.\n // `window` has no getRootNode; its boundary is the document, which the walk\n // reaches naturally (the document is not a ShadowRoot, so the loop exits).\n let toRoot = 'getRootNode' in to ? to.getRootNode() : null;\n let current: Node | null = from.getRootNode() ?? null;\n while (isShadowRoot(current) && current !== toRoot) {\n // order shouldn't matter\n targets.push(current);\n current = current.host.getRootNode();\n }\n\n return targets;\n}\n\n/**\n * ShadowDOM safe fast version of node.contains(document.activeElement).\n *\n * @param node\n * @returns\n */\nexport function isFocusWithin(node: Element | null | undefined): boolean {\n if (!node) {\n return false;\n }\n // Get the active element within the node's parent shadow root (or the document). Can return null.\n let root = node.getRootNode();\n let ownerWindow = getOwnerWindow(node);\n if (!(root instanceof ownerWindow.Document || root instanceof ownerWindow.ShadowRoot)) {\n return false;\n }\n let activeElement = root.activeElement;\n\n // Check if the active element is within this node. These nodes are within the same shadow root.\n return activeElement != null && node.contains(activeElement);\n}\n"],"names":[],"version":3,"file":"DOMFunctions.mjs.map"}
@@ -21,7 +21,10 @@ function $a6926d440356cac7$export$722debc0e56fea39(value, isEqual) {
21
21
  // Using a ref during render is ok here because it's only an optimization – both values are equivalent.
22
22
  // If a render is thrown away, it'll still work the same no matter if the next render is the same or not.
23
23
  let lastValue = (0, $i1vDJ$react.useRef)(null);
24
- if (value && lastValue.current && isEqual(value, lastValue.current)) value = lastValue.current;
24
+ // oxlint-disable-next-line react/react-compiler
25
+ if (value && lastValue.current && isEqual(value, lastValue.current)) // oxlint-disable-next-line react/react-compiler
26
+ value = lastValue.current;
27
+ // oxlint-disable-next-line react/react-compiler
25
28
  lastValue.current = value;
26
29
  return value;
27
30
  }
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;AAAA;;;;;;;;;;CAUC,GAED,wCAAwC;AAIjC,SAAS,0CAAe,KAAQ,EAAE,OAAgC;IACvE,uGAAuG;IACvG,yGAAyG;IACzG,IAAI,YAAY,CAAA,GAAA,mBAAK,EAAY;IACjC,IAAI,SAAS,UAAU,OAAO,IAAI,QAAQ,OAAO,UAAU,OAAO,GAChE,QAAQ,UAAU,OAAO;IAG3B,UAAU,OAAO,GAAG;IACpB,OAAO;AACT","sources":["packages/react-aria/src/utils/useDeepMemo.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\n/* eslint-disable rsp-rules/pure-render */\n\nimport {useRef} from 'react';\n\nexport function useDeepMemo<T>(value: T, isEqual: (a: T, b: T) => boolean): T {\n // Using a ref during render is ok here because it's only an optimization – both values are equivalent.\n // If a render is thrown away, it'll still work the same no matter if the next render is the same or not.\n let lastValue = useRef<T | null>(null);\n if (value && lastValue.current && isEqual(value, lastValue.current)) {\n value = lastValue.current;\n }\n\n lastValue.current = value;\n return value;\n}\n"],"names":[],"version":3,"file":"useDeepMemo.cjs.map"}
1
+ {"mappings":";;;;;;;;AAAA;;;;;;;;;;CAUC,GAED,wCAAwC;AAIjC,SAAS,0CAAe,KAAQ,EAAE,OAAgC;IACvE,uGAAuG;IACvG,yGAAyG;IACzG,IAAI,YAAY,CAAA,GAAA,mBAAK,EAAY;IACjC,gDAAgD;IAChD,IAAI,SAAS,UAAU,OAAO,IAAI,QAAQ,OAAO,UAAU,OAAO,GAChE,gDAAgD;IAChD,QAAQ,UAAU,OAAO;IAG3B,gDAAgD;IAChD,UAAU,OAAO,GAAG;IACpB,OAAO;AACT","sources":["packages/react-aria/src/utils/useDeepMemo.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\n/* eslint-disable rsp-rules/pure-render */\n\nimport {useRef} from 'react';\n\nexport function useDeepMemo<T>(value: T, isEqual: (a: T, b: T) => boolean): T {\n // Using a ref during render is ok here because it's only an optimization – both values are equivalent.\n // If a render is thrown away, it'll still work the same no matter if the next render is the same or not.\n let lastValue = useRef<T | null>(null);\n // oxlint-disable-next-line react/react-compiler\n if (value && lastValue.current && isEqual(value, lastValue.current)) {\n // oxlint-disable-next-line react/react-compiler\n value = lastValue.current;\n }\n\n // oxlint-disable-next-line react/react-compiler\n lastValue.current = value;\n return value;\n}\n"],"names":[],"version":3,"file":"useDeepMemo.cjs.map"}
@@ -15,7 +15,10 @@ function $c94834a103455fff$export$722debc0e56fea39(value, isEqual) {
15
15
  // Using a ref during render is ok here because it's only an optimization – both values are equivalent.
16
16
  // If a render is thrown away, it'll still work the same no matter if the next render is the same or not.
17
17
  let lastValue = (0, $3p85B$useRef)(null);
18
- if (value && lastValue.current && isEqual(value, lastValue.current)) value = lastValue.current;
18
+ // oxlint-disable-next-line react/react-compiler
19
+ if (value && lastValue.current && isEqual(value, lastValue.current)) // oxlint-disable-next-line react/react-compiler
20
+ value = lastValue.current;
21
+ // oxlint-disable-next-line react/react-compiler
19
22
  lastValue.current = value;
20
23
  return value;
21
24
  }
@@ -1 +1 @@
1
- {"mappings":";;AAAA;;;;;;;;;;CAUC,GAED,wCAAwC;AAIjC,SAAS,0CAAe,KAAQ,EAAE,OAAgC;IACvE,uGAAuG;IACvG,yGAAyG;IACzG,IAAI,YAAY,CAAA,GAAA,aAAK,EAAY;IACjC,IAAI,SAAS,UAAU,OAAO,IAAI,QAAQ,OAAO,UAAU,OAAO,GAChE,QAAQ,UAAU,OAAO;IAG3B,UAAU,OAAO,GAAG;IACpB,OAAO;AACT","sources":["packages/react-aria/src/utils/useDeepMemo.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\n/* eslint-disable rsp-rules/pure-render */\n\nimport {useRef} from 'react';\n\nexport function useDeepMemo<T>(value: T, isEqual: (a: T, b: T) => boolean): T {\n // Using a ref during render is ok here because it's only an optimization – both values are equivalent.\n // If a render is thrown away, it'll still work the same no matter if the next render is the same or not.\n let lastValue = useRef<T | null>(null);\n if (value && lastValue.current && isEqual(value, lastValue.current)) {\n value = lastValue.current;\n }\n\n lastValue.current = value;\n return value;\n}\n"],"names":[],"version":3,"file":"useDeepMemo.js.map"}
1
+ {"mappings":";;AAAA;;;;;;;;;;CAUC,GAED,wCAAwC;AAIjC,SAAS,0CAAe,KAAQ,EAAE,OAAgC;IACvE,uGAAuG;IACvG,yGAAyG;IACzG,IAAI,YAAY,CAAA,GAAA,aAAK,EAAY;IACjC,gDAAgD;IAChD,IAAI,SAAS,UAAU,OAAO,IAAI,QAAQ,OAAO,UAAU,OAAO,GAChE,gDAAgD;IAChD,QAAQ,UAAU,OAAO;IAG3B,gDAAgD;IAChD,UAAU,OAAO,GAAG;IACpB,OAAO;AACT","sources":["packages/react-aria/src/utils/useDeepMemo.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\n/* eslint-disable rsp-rules/pure-render */\n\nimport {useRef} from 'react';\n\nexport function useDeepMemo<T>(value: T, isEqual: (a: T, b: T) => boolean): T {\n // Using a ref during render is ok here because it's only an optimization – both values are equivalent.\n // If a render is thrown away, it'll still work the same no matter if the next render is the same or not.\n let lastValue = useRef<T | null>(null);\n // oxlint-disable-next-line react/react-compiler\n if (value && lastValue.current && isEqual(value, lastValue.current)) {\n // oxlint-disable-next-line react/react-compiler\n value = lastValue.current;\n }\n\n // oxlint-disable-next-line react/react-compiler\n lastValue.current = value;\n return value;\n}\n"],"names":[],"version":3,"file":"useDeepMemo.js.map"}
@@ -15,7 +15,10 @@ function $9c268ab73a5d55e5$export$722debc0e56fea39(value, isEqual) {
15
15
  // Using a ref during render is ok here because it's only an optimization – both values are equivalent.
16
16
  // If a render is thrown away, it'll still work the same no matter if the next render is the same or not.
17
17
  let lastValue = (0, $1QAm5$useRef)(null);
18
- if (value && lastValue.current && isEqual(value, lastValue.current)) value = lastValue.current;
18
+ // oxlint-disable-next-line react/react-compiler
19
+ if (value && lastValue.current && isEqual(value, lastValue.current)) // oxlint-disable-next-line react/react-compiler
20
+ value = lastValue.current;
21
+ // oxlint-disable-next-line react/react-compiler
19
22
  lastValue.current = value;
20
23
  return value;
21
24
  }
@@ -1 +1 @@
1
- {"mappings":";;AAAA;;;;;;;;;;CAUC,GAED,wCAAwC;AAIjC,SAAS,0CAAe,KAAQ,EAAE,OAAgC;IACvE,uGAAuG;IACvG,yGAAyG;IACzG,IAAI,YAAY,CAAA,GAAA,aAAK,EAAY;IACjC,IAAI,SAAS,UAAU,OAAO,IAAI,QAAQ,OAAO,UAAU,OAAO,GAChE,QAAQ,UAAU,OAAO;IAG3B,UAAU,OAAO,GAAG;IACpB,OAAO;AACT","sources":["packages/react-aria/src/utils/useDeepMemo.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\n/* eslint-disable rsp-rules/pure-render */\n\nimport {useRef} from 'react';\n\nexport function useDeepMemo<T>(value: T, isEqual: (a: T, b: T) => boolean): T {\n // Using a ref during render is ok here because it's only an optimization – both values are equivalent.\n // If a render is thrown away, it'll still work the same no matter if the next render is the same or not.\n let lastValue = useRef<T | null>(null);\n if (value && lastValue.current && isEqual(value, lastValue.current)) {\n value = lastValue.current;\n }\n\n lastValue.current = value;\n return value;\n}\n"],"names":[],"version":3,"file":"useDeepMemo.mjs.map"}
1
+ {"mappings":";;AAAA;;;;;;;;;;CAUC,GAED,wCAAwC;AAIjC,SAAS,0CAAe,KAAQ,EAAE,OAAgC;IACvE,uGAAuG;IACvG,yGAAyG;IACzG,IAAI,YAAY,CAAA,GAAA,aAAK,EAAY;IACjC,gDAAgD;IAChD,IAAI,SAAS,UAAU,OAAO,IAAI,QAAQ,OAAO,UAAU,OAAO,GAChE,gDAAgD;IAChD,QAAQ,UAAU,OAAO;IAG3B,gDAAgD;IAChD,UAAU,OAAO,GAAG;IACpB,OAAO;AACT","sources":["packages/react-aria/src/utils/useDeepMemo.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\n/* eslint-disable rsp-rules/pure-render */\n\nimport {useRef} from 'react';\n\nexport function useDeepMemo<T>(value: T, isEqual: (a: T, b: T) => boolean): T {\n // Using a ref during render is ok here because it's only an optimization – both values are equivalent.\n // If a render is thrown away, it'll still work the same no matter if the next render is the same or not.\n let lastValue = useRef<T | null>(null);\n // oxlint-disable-next-line react/react-compiler\n if (value && lastValue.current && isEqual(value, lastValue.current)) {\n // oxlint-disable-next-line react/react-compiler\n value = lastValue.current;\n }\n\n // oxlint-disable-next-line react/react-compiler\n lastValue.current = value;\n return value;\n}\n"],"names":[],"version":3,"file":"useDeepMemo.mjs.map"}
@@ -42,7 +42,9 @@ function $ff9473d5f2beb299$export$7bbed75feba39706(props) {
42
42
  onPositionChange: onPositionChange,
43
43
  onDrag: onDrag
44
44
  });
45
+ // oxlint-disable-next-line react/react-compiler
45
46
  handlers.current.onDrag = onDrag;
47
+ // oxlint-disable-next-line react/react-compiler
46
48
  handlers.current.onPositionChange = onPositionChange;
47
49
  let onMouseDragged = (e)=>{
48
50
  e.preventDefault();