@adobe/react-spectrum 3.47.1 → 3.47.3

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 (567) hide show
  1. package/dist/private/accordion_vars.css +66 -48
  2. package/dist/private/accordion_vars.css.map +1 -1
  3. package/dist/private/actionbar/ActionBar.cjs +2 -3
  4. package/dist/private/actionbar/ActionBar.cjs.map +1 -1
  5. package/dist/private/actionbar/ActionBar.js +2 -3
  6. package/dist/private/actionbar/ActionBar.js.map +1 -1
  7. package/dist/private/actionbar/ActionBar.mjs +2 -3
  8. package/dist/private/actionbar/ActionBar.mjs.map +1 -1
  9. package/dist/private/actionbar/actionbar.css +59 -57
  10. package/dist/private/actionbar/actionbar.css.map +1 -1
  11. package/dist/private/actiongroup/ActionGroup.cjs +6 -2
  12. package/dist/private/actiongroup/ActionGroup.cjs.map +1 -1
  13. package/dist/private/actiongroup/ActionGroup.js +6 -2
  14. package/dist/private/actiongroup/ActionGroup.js.map +1 -1
  15. package/dist/private/actiongroup/ActionGroup.mjs +6 -2
  16. package/dist/private/actiongroup/ActionGroup.mjs.map +1 -1
  17. package/dist/private/actiongroup_vars.css +124 -114
  18. package/dist/private/actiongroup_vars.css.map +1 -1
  19. package/dist/private/autocomplete/MobileSearchAutocomplete.cjs +6 -0
  20. package/dist/private/autocomplete/MobileSearchAutocomplete.cjs.map +1 -1
  21. package/dist/private/autocomplete/MobileSearchAutocomplete.js +6 -0
  22. package/dist/private/autocomplete/MobileSearchAutocomplete.js.map +1 -1
  23. package/dist/private/autocomplete/MobileSearchAutocomplete.mjs +6 -0
  24. package/dist/private/autocomplete/MobileSearchAutocomplete.mjs.map +1 -1
  25. package/dist/private/autocomplete/SearchAutocomplete.cjs +1 -0
  26. package/dist/private/autocomplete/SearchAutocomplete.cjs.map +1 -1
  27. package/dist/private/autocomplete/SearchAutocomplete.js +1 -0
  28. package/dist/private/autocomplete/SearchAutocomplete.js.map +1 -1
  29. package/dist/private/autocomplete/SearchAutocomplete.mjs +1 -0
  30. package/dist/private/autocomplete/SearchAutocomplete.mjs.map +1 -1
  31. package/dist/private/autocomplete/searchautocomplete.css +6 -6
  32. package/dist/private/autocomplete/searchautocomplete.css.map +1 -1
  33. package/dist/private/avatar_vars.css +12 -7
  34. package/dist/private/avatar_vars.css.map +1 -1
  35. package/dist/private/badge_vars.css +76 -68
  36. package/dist/private/badge_vars.css.map +1 -1
  37. package/dist/private/barloader_vars.css +132 -112
  38. package/dist/private/barloader_vars.css.map +1 -1
  39. package/dist/private/breadcrumb_vars.css +182 -148
  40. package/dist/private/breadcrumb_vars.css.map +1 -1
  41. package/dist/private/button/Button.cjs +2 -1
  42. package/dist/private/button/Button.cjs.map +1 -1
  43. package/dist/private/button/Button.js +3 -2
  44. package/dist/private/button/Button.js.map +1 -1
  45. package/dist/private/button/Button.mjs +3 -2
  46. package/dist/private/button/Button.mjs.map +1 -1
  47. package/dist/private/button/ClearButton.cjs +2 -1
  48. package/dist/private/button/ClearButton.cjs.map +1 -1
  49. package/dist/private/button/ClearButton.js +2 -1
  50. package/dist/private/button/ClearButton.js.map +1 -1
  51. package/dist/private/button/ClearButton.mjs +2 -1
  52. package/dist/private/button/ClearButton.mjs.map +1 -1
  53. package/dist/private/button_vars.css +822 -785
  54. package/dist/private/button_vars.css.map +1 -1
  55. package/dist/private/buttongroup/ButtonGroup.cjs +4 -2
  56. package/dist/private/buttongroup/ButtonGroup.cjs.map +1 -1
  57. package/dist/private/buttongroup/ButtonGroup.js +4 -2
  58. package/dist/private/buttongroup/ButtonGroup.js.map +1 -1
  59. package/dist/private/buttongroup/ButtonGroup.mjs +4 -2
  60. package/dist/private/buttongroup/ButtonGroup.mjs.map +1 -1
  61. package/dist/private/buttongroup_vars.css +25 -24
  62. package/dist/private/buttongroup_vars.css.map +1 -1
  63. package/dist/private/buttongroup_vars_css.cjs +5 -5
  64. package/dist/private/buttongroup_vars_css.mjs +5 -5
  65. package/dist/private/calendar/CalendarBase.cjs.map +1 -1
  66. package/dist/private/calendar/CalendarBase.js.map +1 -1
  67. package/dist/private/calendar/CalendarBase.mjs.map +1 -1
  68. package/dist/private/calendar_vars.css +280 -256
  69. package/dist/private/calendar_vars.css.map +1 -1
  70. package/dist/private/card/BaseLayout.cjs +2 -2
  71. package/dist/private/card/BaseLayout.cjs.map +1 -1
  72. package/dist/private/card/BaseLayout.js +2 -2
  73. package/dist/private/card/BaseLayout.js.map +1 -1
  74. package/dist/private/card/BaseLayout.mjs +2 -2
  75. package/dist/private/card/BaseLayout.mjs.map +1 -1
  76. package/dist/private/card/CardBase.cjs +1 -0
  77. package/dist/private/card/CardBase.cjs.map +1 -1
  78. package/dist/private/card/CardBase.js +1 -0
  79. package/dist/private/card/CardBase.js.map +1 -1
  80. package/dist/private/card/CardBase.mjs +1 -0
  81. package/dist/private/card/CardBase.mjs.map +1 -1
  82. package/dist/private/card/CardView.cjs +3 -0
  83. package/dist/private/card/CardView.cjs.map +1 -1
  84. package/dist/private/card/CardView.js +3 -0
  85. package/dist/private/card/CardView.js.map +1 -1
  86. package/dist/private/card/CardView.mjs +3 -0
  87. package/dist/private/card/CardView.mjs.map +1 -1
  88. package/dist/private/card_vars.css +995 -907
  89. package/dist/private/card_vars.css.map +1 -1
  90. package/dist/private/checkbox/Checkbox.cjs.map +1 -1
  91. package/dist/private/checkbox/Checkbox.js.map +1 -1
  92. package/dist/private/checkbox/Checkbox.mjs.map +1 -1
  93. package/dist/private/checkbox_vars.css +318 -219
  94. package/dist/private/checkbox_vars.css.map +1 -1
  95. package/dist/private/circleloader_vars.css +99 -85
  96. package/dist/private/circleloader_vars.css.map +1 -1
  97. package/dist/private/color/ColorEditor.cjs.map +1 -1
  98. package/dist/private/color/ColorEditor.js.map +1 -1
  99. package/dist/private/color/ColorEditor.mjs.map +1 -1
  100. package/dist/private/color/ColorField.cjs +1 -0
  101. package/dist/private/color/ColorField.cjs.map +1 -1
  102. package/dist/private/color/ColorField.js +1 -0
  103. package/dist/private/color/ColorField.js.map +1 -1
  104. package/dist/private/color/ColorField.mjs +1 -0
  105. package/dist/private/color/ColorField.mjs.map +1 -1
  106. package/dist/private/color/ColorPicker.cjs.map +1 -1
  107. package/dist/private/color/ColorPicker.css +28 -14
  108. package/dist/private/color/ColorPicker.css.map +1 -1
  109. package/dist/private/color/ColorPicker.js.map +1 -1
  110. package/dist/private/color/ColorPicker.mjs.map +1 -1
  111. package/dist/private/color/ColorSwatch.cjs +2 -1
  112. package/dist/private/color/ColorSwatch.cjs.map +1 -1
  113. package/dist/private/color/ColorSwatch.js +2 -1
  114. package/dist/private/color/ColorSwatch.js.map +1 -1
  115. package/dist/private/color/ColorSwatch.mjs +2 -1
  116. package/dist/private/color/ColorSwatch.mjs.map +1 -1
  117. package/dist/private/color/ColorSwatchPicker.cjs.map +1 -1
  118. package/dist/private/color/ColorSwatchPicker.js.map +1 -1
  119. package/dist/private/color/ColorSwatchPicker.mjs.map +1 -1
  120. package/dist/private/color/ColorWheel.cjs +1 -0
  121. package/dist/private/color/ColorWheel.cjs.map +1 -1
  122. package/dist/private/color/ColorWheel.js +1 -0
  123. package/dist/private/color/ColorWheel.js.map +1 -1
  124. package/dist/private/color/ColorWheel.mjs +1 -0
  125. package/dist/private/color/ColorWheel.mjs.map +1 -1
  126. package/dist/private/color/colorfield.css +3 -3
  127. package/dist/private/color/colorfield.css.map +1 -1
  128. package/dist/private/colorarea_vars.css +36 -29
  129. package/dist/private/colorarea_vars.css.map +1 -1
  130. package/dist/private/colorhandle_vars.css +23 -23
  131. package/dist/private/colorloupe_vars.css +5 -5
  132. package/dist/private/colorloupe_vars.css.map +1 -1
  133. package/dist/private/colorslider_vars.css +34 -34
  134. package/dist/private/colorslider_vars.css.map +1 -1
  135. package/dist/private/colorwheel_vars.css +44 -38
  136. package/dist/private/colorwheel_vars.css.map +1 -1
  137. package/dist/private/combobox/ComboBox.cjs +1 -0
  138. package/dist/private/combobox/ComboBox.cjs.map +1 -1
  139. package/dist/private/combobox/ComboBox.js +1 -0
  140. package/dist/private/combobox/ComboBox.js.map +1 -1
  141. package/dist/private/combobox/ComboBox.mjs +1 -0
  142. package/dist/private/combobox/ComboBox.mjs.map +1 -1
  143. package/dist/private/combobox/MobileComboBox.cjs +8 -0
  144. package/dist/private/combobox/MobileComboBox.cjs.map +1 -1
  145. package/dist/private/combobox/MobileComboBox.js +8 -0
  146. package/dist/private/combobox/MobileComboBox.js.map +1 -1
  147. package/dist/private/combobox/MobileComboBox.mjs +8 -0
  148. package/dist/private/combobox/MobileComboBox.mjs.map +1 -1
  149. package/dist/private/combobox/combobox.css +6 -6
  150. package/dist/private/combobox/combobox.css.map +1 -1
  151. package/dist/private/contextualhelp/ContextualHelp.cjs.map +1 -1
  152. package/dist/private/contextualhelp/ContextualHelp.js.map +1 -1
  153. package/dist/private/contextualhelp/ContextualHelp.mjs.map +1 -1
  154. package/dist/private/contextualhelp_vars.css +13 -13
  155. package/dist/private/contextualhelp_vars.css.map +1 -1
  156. package/dist/private/datepicker/DateField.cjs +2 -1
  157. package/dist/private/datepicker/DateField.cjs.map +1 -1
  158. package/dist/private/datepicker/DateField.js +2 -1
  159. package/dist/private/datepicker/DateField.js.map +1 -1
  160. package/dist/private/datepicker/DateField.mjs +2 -1
  161. package/dist/private/datepicker/DateField.mjs.map +1 -1
  162. package/dist/private/datepicker/DatePicker.cjs +2 -1
  163. package/dist/private/datepicker/DatePicker.cjs.map +1 -1
  164. package/dist/private/datepicker/DatePicker.js +2 -1
  165. package/dist/private/datepicker/DatePicker.js.map +1 -1
  166. package/dist/private/datepicker/DatePicker.mjs +2 -1
  167. package/dist/private/datepicker/DatePicker.mjs.map +1 -1
  168. package/dist/private/datepicker/DateRangePicker.cjs +2 -1
  169. package/dist/private/datepicker/DateRangePicker.cjs.map +1 -1
  170. package/dist/private/datepicker/DateRangePicker.js +2 -1
  171. package/dist/private/datepicker/DateRangePicker.js.map +1 -1
  172. package/dist/private/datepicker/DateRangePicker.mjs +2 -1
  173. package/dist/private/datepicker/DateRangePicker.mjs.map +1 -1
  174. package/dist/private/datepicker/styles.css +33 -31
  175. package/dist/private/datepicker/styles.css.map +1 -1
  176. package/dist/private/dialog/AlertDialog.cjs +3 -1
  177. package/dist/private/dialog/AlertDialog.cjs.map +1 -1
  178. package/dist/private/dialog/AlertDialog.js +3 -1
  179. package/dist/private/dialog/AlertDialog.js.map +1 -1
  180. package/dist/private/dialog/AlertDialog.mjs +3 -1
  181. package/dist/private/dialog/AlertDialog.mjs.map +1 -1
  182. package/dist/private/dialog/Dialog.cjs +10 -3
  183. package/dist/private/dialog/Dialog.cjs.map +1 -1
  184. package/dist/private/dialog/Dialog.js +10 -3
  185. package/dist/private/dialog/Dialog.js.map +1 -1
  186. package/dist/private/dialog/Dialog.mjs +10 -3
  187. package/dist/private/dialog/Dialog.mjs.map +1 -1
  188. package/dist/private/dialog_vars.css +216 -180
  189. package/dist/private/dialog_vars.css.map +1 -1
  190. package/dist/private/dnd/useDragAndDrop.cjs +7 -0
  191. package/dist/private/dnd/useDragAndDrop.cjs.map +1 -1
  192. package/dist/private/dnd/useDragAndDrop.js +7 -0
  193. package/dist/private/dnd/useDragAndDrop.js.map +1 -1
  194. package/dist/private/dnd/useDragAndDrop.mjs +7 -0
  195. package/dist/private/dnd/useDragAndDrop.mjs.map +1 -1
  196. package/dist/private/dropdown_vars.css +150 -114
  197. package/dist/private/dropdown_vars.css.map +1 -1
  198. package/dist/private/dropzone/DropZone.cjs.map +1 -1
  199. package/dist/private/dropzone/DropZone.js.map +1 -1
  200. package/dist/private/dropzone/DropZone.mjs.map +1 -1
  201. package/dist/private/dropzone_vars.css +114 -85
  202. package/dist/private/dropzone_vars.css.map +1 -1
  203. package/dist/private/fieldgroup_vars.css +54 -46
  204. package/dist/private/fieldgroup_vars.css.map +1 -1
  205. package/dist/private/fieldlabel_vars.css +183 -169
  206. package/dist/private/fieldlabel_vars.css.map +1 -1
  207. package/dist/private/helptext_vars.css +83 -69
  208. package/dist/private/helptext_vars.css.map +1 -1
  209. package/dist/private/icon/Icon.cjs +1 -1
  210. package/dist/private/icon/Icon.cjs.map +1 -1
  211. package/dist/private/icon/Icon.js +1 -1
  212. package/dist/private/icon/Icon.js.map +1 -1
  213. package/dist/private/icon/Icon.mjs +1 -1
  214. package/dist/private/icon/Icon.mjs.map +1 -1
  215. package/dist/private/icon/UIIcon.cjs +1 -1
  216. package/dist/private/icon/UIIcon.cjs.map +1 -1
  217. package/dist/private/icon/UIIcon.js +1 -1
  218. package/dist/private/icon/UIIcon.js.map +1 -1
  219. package/dist/private/icon/UIIcon.mjs +1 -1
  220. package/dist/private/icon/UIIcon.mjs.map +1 -1
  221. package/dist/private/icon_vars.css +52 -36
  222. package/dist/private/icon_vars.css.map +1 -1
  223. package/dist/private/illustratedmessage_vars.css +33 -31
  224. package/dist/private/illustratedmessage_vars.css.map +1 -1
  225. package/dist/private/inlinealert/InlineAlert.cjs.map +1 -1
  226. package/dist/private/inlinealert/InlineAlert.js.map +1 -1
  227. package/dist/private/inlinealert/InlineAlert.mjs.map +1 -1
  228. package/dist/private/inlinealert_vars.css +54 -46
  229. package/dist/private/inlinealert_vars.css.map +1 -1
  230. package/dist/private/inputgroup_vars.css +499 -319
  231. package/dist/private/inputgroup_vars.css.map +1 -1
  232. package/dist/private/intl/label/zh-CN.cjs +1 -1
  233. package/dist/private/intl/label/zh-CN.cjs.map +1 -1
  234. package/dist/private/intl/label/zh-CN.js +1 -1
  235. package/dist/private/intl/label/zh-CN.js.map +1 -1
  236. package/dist/private/intl/label/zh-CN.mjs +1 -1
  237. package/dist/private/intl/label/zh-CN.mjs.map +1 -1
  238. package/dist/private/intl/menu/es-ES.cjs +1 -1
  239. package/dist/private/intl/menu/es-ES.cjs.map +1 -1
  240. package/dist/private/intl/menu/es-ES.js +1 -1
  241. package/dist/private/intl/menu/es-ES.js.map +1 -1
  242. package/dist/private/intl/menu/es-ES.mjs +1 -1
  243. package/dist/private/intl/menu/es-ES.mjs.map +1 -1
  244. package/dist/private/intl/picker/zh-CN.cjs +1 -1
  245. package/dist/private/intl/picker/zh-CN.cjs.map +1 -1
  246. package/dist/private/intl/picker/zh-CN.js +1 -1
  247. package/dist/private/intl/picker/zh-CN.js.map +1 -1
  248. package/dist/private/intl/picker/zh-CN.mjs +1 -1
  249. package/dist/private/intl/picker/zh-CN.mjs.map +1 -1
  250. package/dist/private/intl/table/es-ES.cjs +1 -1
  251. package/dist/private/intl/table/es-ES.cjs.map +1 -1
  252. package/dist/private/intl/table/es-ES.js +1 -1
  253. package/dist/private/intl/table/es-ES.js.map +1 -1
  254. package/dist/private/intl/table/es-ES.mjs +1 -1
  255. package/dist/private/intl/table/es-ES.mjs.map +1 -1
  256. package/dist/private/intl/table/zh-TW.cjs +2 -2
  257. package/dist/private/intl/table/zh-TW.cjs.map +1 -1
  258. package/dist/private/intl/table/zh-TW.js +2 -2
  259. package/dist/private/intl/table/zh-TW.js.map +1 -1
  260. package/dist/private/intl/table/zh-TW.mjs +2 -2
  261. package/dist/private/intl/table/zh-TW.mjs.map +1 -1
  262. package/dist/private/label/Field.cjs +2 -1
  263. package/dist/private/label/Field.cjs.map +1 -1
  264. package/dist/private/label/Field.js +2 -1
  265. package/dist/private/label/Field.js.map +1 -1
  266. package/dist/private/label/Field.mjs +2 -1
  267. package/dist/private/label/Field.mjs.map +1 -1
  268. package/dist/private/label/Label.cjs.map +1 -1
  269. package/dist/private/label/Label.js.map +1 -1
  270. package/dist/private/label/Label.mjs.map +1 -1
  271. package/dist/private/layout/Grid.cjs +2 -1
  272. package/dist/private/layout/Grid.cjs.map +1 -1
  273. package/dist/private/layout/Grid.js +2 -1
  274. package/dist/private/layout/Grid.js.map +1 -1
  275. package/dist/private/layout/Grid.mjs +2 -1
  276. package/dist/private/layout/Grid.mjs.map +1 -1
  277. package/dist/private/link/Link.cjs +3 -0
  278. package/dist/private/link/Link.cjs.map +1 -1
  279. package/dist/private/link/Link.js +3 -0
  280. package/dist/private/link/Link.js.map +1 -1
  281. package/dist/private/link/Link.mjs +3 -0
  282. package/dist/private/link/Link.mjs.map +1 -1
  283. package/dist/private/link_vars.css +101 -85
  284. package/dist/private/link_vars.css.map +1 -1
  285. package/dist/private/list/InsertionIndicator.cjs +1 -0
  286. package/dist/private/list/InsertionIndicator.cjs.map +1 -1
  287. package/dist/private/list/InsertionIndicator.js +1 -0
  288. package/dist/private/list/InsertionIndicator.js.map +1 -1
  289. package/dist/private/list/InsertionIndicator.mjs +1 -0
  290. package/dist/private/list/InsertionIndicator.mjs.map +1 -1
  291. package/dist/private/list/ListView.cjs +5 -0
  292. package/dist/private/list/ListView.cjs.map +1 -1
  293. package/dist/private/list/ListView.js +5 -0
  294. package/dist/private/list/ListView.js.map +1 -1
  295. package/dist/private/list/ListView.mjs +5 -0
  296. package/dist/private/list/ListView.mjs.map +1 -1
  297. package/dist/private/list/ListViewItem.cjs +2 -0
  298. package/dist/private/list/ListViewItem.cjs.map +1 -1
  299. package/dist/private/list/ListViewItem.js +2 -0
  300. package/dist/private/list/ListViewItem.js.map +1 -1
  301. package/dist/private/list/ListViewItem.mjs +2 -0
  302. package/dist/private/list/ListViewItem.mjs.map +1 -1
  303. package/dist/private/list/RootDropIndicator.cjs +1 -0
  304. package/dist/private/list/RootDropIndicator.cjs.map +1 -1
  305. package/dist/private/list/RootDropIndicator.js +1 -0
  306. package/dist/private/list/RootDropIndicator.js.map +1 -1
  307. package/dist/private/list/RootDropIndicator.mjs +1 -0
  308. package/dist/private/list/RootDropIndicator.mjs.map +1 -1
  309. package/dist/private/list/styles.css +425 -333
  310. package/dist/private/list/styles.css.map +1 -1
  311. package/dist/private/listbox/ListBoxBase.cjs.map +1 -1
  312. package/dist/private/listbox/ListBoxBase.js.map +1 -1
  313. package/dist/private/listbox/ListBoxBase.mjs.map +1 -1
  314. package/dist/private/menu/ActionMenu.cjs.map +1 -1
  315. package/dist/private/menu/ActionMenu.js.map +1 -1
  316. package/dist/private/menu/ActionMenu.mjs.map +1 -1
  317. package/dist/private/menu/ContextualHelpTrigger.cjs +7 -1
  318. package/dist/private/menu/ContextualHelpTrigger.cjs.map +1 -1
  319. package/dist/private/menu/ContextualHelpTrigger.js +7 -1
  320. package/dist/private/menu/ContextualHelpTrigger.js.map +1 -1
  321. package/dist/private/menu/ContextualHelpTrigger.mjs +7 -1
  322. package/dist/private/menu/ContextualHelpTrigger.mjs.map +1 -1
  323. package/dist/private/menu/Menu.cjs.map +1 -1
  324. package/dist/private/menu/Menu.js.map +1 -1
  325. package/dist/private/menu/Menu.mjs.map +1 -1
  326. package/dist/private/menu/MenuItem.cjs +2 -0
  327. package/dist/private/menu/MenuItem.cjs.map +1 -1
  328. package/dist/private/menu/MenuItem.js +2 -0
  329. package/dist/private/menu/MenuItem.js.map +1 -1
  330. package/dist/private/menu/MenuItem.mjs +2 -0
  331. package/dist/private/menu/MenuItem.mjs.map +1 -1
  332. package/dist/private/menu/MenuTrigger.cjs +1 -0
  333. package/dist/private/menu/MenuTrigger.cjs.map +1 -1
  334. package/dist/private/menu/MenuTrigger.js +1 -0
  335. package/dist/private/menu/MenuTrigger.js.map +1 -1
  336. package/dist/private/menu/MenuTrigger.mjs +1 -0
  337. package/dist/private/menu/MenuTrigger.mjs.map +1 -1
  338. package/dist/private/menu/SubmenuTrigger.cjs +6 -1
  339. package/dist/private/menu/SubmenuTrigger.cjs.map +1 -1
  340. package/dist/private/menu/SubmenuTrigger.js +6 -1
  341. package/dist/private/menu/SubmenuTrigger.js.map +1 -1
  342. package/dist/private/menu/SubmenuTrigger.mjs +6 -1
  343. package/dist/private/menu/SubmenuTrigger.mjs.map +1 -1
  344. package/dist/private/menu_vars.css +178 -160
  345. package/dist/private/menu_vars.css.map +1 -1
  346. package/dist/private/modal_vars.css +64 -54
  347. package/dist/private/modal_vars.css.map +1 -1
  348. package/dist/private/overlays/overlays.css +7 -5
  349. package/dist/private/overlays/overlays.css.map +1 -1
  350. package/dist/private/package.cjs +1 -1
  351. package/dist/private/package.cjs.map +1 -1
  352. package/dist/private/package.js +1 -1
  353. package/dist/private/package.js.map +1 -1
  354. package/dist/private/package.mjs +1 -1
  355. package/dist/private/package.mjs.map +1 -1
  356. package/dist/private/page_vars.css +54 -46
  357. package/dist/private/page_vars.css.map +1 -1
  358. package/dist/private/picker/Picker.cjs.map +1 -1
  359. package/dist/private/picker/Picker.js.map +1 -1
  360. package/dist/private/picker/Picker.mjs.map +1 -1
  361. package/dist/private/popover_vars.css +105 -83
  362. package/dist/private/popover_vars.css.map +1 -1
  363. package/dist/private/progress/ProgressBarBase.cjs +2 -1
  364. package/dist/private/progress/ProgressBarBase.cjs.map +1 -1
  365. package/dist/private/progress/ProgressBarBase.js +2 -1
  366. package/dist/private/progress/ProgressBarBase.js.map +1 -1
  367. package/dist/private/progress/ProgressBarBase.mjs +2 -1
  368. package/dist/private/progress/ProgressBarBase.mjs.map +1 -1
  369. package/dist/private/progress/ProgressCircle.cjs +2 -1
  370. package/dist/private/progress/ProgressCircle.cjs.map +1 -1
  371. package/dist/private/progress/ProgressCircle.js +2 -1
  372. package/dist/private/progress/ProgressCircle.js.map +1 -1
  373. package/dist/private/progress/ProgressCircle.mjs +2 -1
  374. package/dist/private/progress/ProgressCircle.mjs.map +1 -1
  375. package/dist/private/radio_vars.css +257 -163
  376. package/dist/private/radio_vars.css.map +1 -1
  377. package/dist/private/rule_vars.css +73 -63
  378. package/dist/private/rule_vars.css.map +1 -1
  379. package/dist/private/search_vars.css +95 -87
  380. package/dist/private/search_vars.css.map +1 -1
  381. package/dist/private/slider/RangeSlider.cjs.map +1 -1
  382. package/dist/private/slider/RangeSlider.js.map +1 -1
  383. package/dist/private/slider/RangeSlider.mjs.map +1 -1
  384. package/dist/private/slider/Slider.cjs +1 -0
  385. package/dist/private/slider/Slider.cjs.map +1 -1
  386. package/dist/private/slider/Slider.js +1 -0
  387. package/dist/private/slider/Slider.js.map +1 -1
  388. package/dist/private/slider/Slider.mjs +1 -0
  389. package/dist/private/slider/Slider.mjs.map +1 -1
  390. package/dist/private/slider_vars.css +516 -402
  391. package/dist/private/slider_vars.css.map +1 -1
  392. package/dist/private/statuslight_vars.css +76 -68
  393. package/dist/private/statuslight_vars.css.map +1 -1
  394. package/dist/private/steplist/StepListItem.cjs.map +1 -1
  395. package/dist/private/steplist/StepListItem.js.map +1 -1
  396. package/dist/private/steplist/StepListItem.mjs.map +1 -1
  397. package/dist/private/steplist_vars.css +371 -297
  398. package/dist/private/steplist_vars.css.map +1 -1
  399. package/dist/private/stepper_vars.css +557 -438
  400. package/dist/private/stepper_vars.css.map +1 -1
  401. package/dist/private/table/InsertionIndicator.cjs +1 -0
  402. package/dist/private/table/InsertionIndicator.cjs.map +1 -1
  403. package/dist/private/table/InsertionIndicator.js +1 -0
  404. package/dist/private/table/InsertionIndicator.js.map +1 -1
  405. package/dist/private/table/InsertionIndicator.mjs +1 -0
  406. package/dist/private/table/InsertionIndicator.mjs.map +1 -1
  407. package/dist/private/table/Resizer.cjs +2 -25
  408. package/dist/private/table/Resizer.cjs.map +1 -1
  409. package/dist/private/table/Resizer.js +3 -26
  410. package/dist/private/table/Resizer.js.map +1 -1
  411. package/dist/private/table/Resizer.mjs +3 -26
  412. package/dist/private/table/Resizer.mjs.map +1 -1
  413. package/dist/private/table/RootDropIndicator.cjs +1 -0
  414. package/dist/private/table/RootDropIndicator.cjs.map +1 -1
  415. package/dist/private/table/RootDropIndicator.js +1 -0
  416. package/dist/private/table/RootDropIndicator.js.map +1 -1
  417. package/dist/private/table/RootDropIndicator.mjs +1 -0
  418. package/dist/private/table/RootDropIndicator.mjs.map +1 -1
  419. package/dist/private/table/TableViewBase.cjs +8 -0
  420. package/dist/private/table/TableViewBase.cjs.map +1 -1
  421. package/dist/private/table/TableViewBase.js +8 -0
  422. package/dist/private/table/TableViewBase.js.map +1 -1
  423. package/dist/private/table/TableViewBase.mjs +8 -0
  424. package/dist/private/table/TableViewBase.mjs.map +1 -1
  425. package/dist/private/table/TreeGridTableView.cjs +1 -0
  426. package/dist/private/table/TreeGridTableView.cjs.map +1 -1
  427. package/dist/private/table/TreeGridTableView.js +1 -0
  428. package/dist/private/table/TreeGridTableView.js.map +1 -1
  429. package/dist/private/table/TreeGridTableView.mjs +1 -0
  430. package/dist/private/table/TreeGridTableView.mjs.map +1 -1
  431. package/dist/private/table/table.css +103 -95
  432. package/dist/private/table/table.css.map +1 -1
  433. package/dist/private/table_vars.css +458 -350
  434. package/dist/private/table_vars.css.map +1 -1
  435. package/dist/private/tabs/Tabs.cjs +4 -2
  436. package/dist/private/tabs/Tabs.cjs.map +1 -1
  437. package/dist/private/tabs/Tabs.js +4 -2
  438. package/dist/private/tabs/Tabs.js.map +1 -1
  439. package/dist/private/tabs/Tabs.mjs +4 -2
  440. package/dist/private/tabs/Tabs.mjs.map +1 -1
  441. package/dist/private/tabs_vars.css +319 -281
  442. package/dist/private/tabs_vars.css.map +1 -1
  443. package/dist/private/tag/TagGroup.cjs +2 -0
  444. package/dist/private/tag/TagGroup.cjs.map +1 -1
  445. package/dist/private/tag/TagGroup.js +2 -0
  446. package/dist/private/tag/TagGroup.js.map +1 -1
  447. package/dist/private/tag/TagGroup.mjs +2 -0
  448. package/dist/private/tag/TagGroup.mjs.map +1 -1
  449. package/dist/private/tags_vars.css +167 -149
  450. package/dist/private/tags_vars.css.map +1 -1
  451. package/dist/private/textfield/TextArea.cjs +2 -0
  452. package/dist/private/textfield/TextArea.cjs.map +1 -1
  453. package/dist/private/textfield/TextArea.js +2 -0
  454. package/dist/private/textfield/TextArea.js.map +1 -1
  455. package/dist/private/textfield/TextArea.mjs +2 -0
  456. package/dist/private/textfield/TextArea.mjs.map +1 -1
  457. package/dist/private/textfield/TextField.cjs +1 -0
  458. package/dist/private/textfield/TextField.cjs.map +1 -1
  459. package/dist/private/textfield/TextField.js +1 -0
  460. package/dist/private/textfield/TextField.js.map +1 -1
  461. package/dist/private/textfield/TextField.mjs +1 -0
  462. package/dist/private/textfield/TextField.mjs.map +1 -1
  463. package/dist/private/textfield/TextFieldBase.cjs +2 -1
  464. package/dist/private/textfield/TextFieldBase.cjs.map +1 -1
  465. package/dist/private/textfield/TextFieldBase.js +2 -1
  466. package/dist/private/textfield/TextFieldBase.js.map +1 -1
  467. package/dist/private/textfield/TextFieldBase.mjs +2 -1
  468. package/dist/private/textfield/TextFieldBase.mjs.map +1 -1
  469. package/dist/private/textfield_vars.css +278 -250
  470. package/dist/private/textfield_vars.css.map +1 -1
  471. package/dist/private/toast/Toast.cjs.map +1 -1
  472. package/dist/private/toast/Toast.js.map +1 -1
  473. package/dist/private/toast/Toast.mjs.map +1 -1
  474. package/dist/private/toast/toastContainer.css +64 -56
  475. package/dist/private/toast/toastContainer.css.map +1 -1
  476. package/dist/private/toast_vars.css +5 -3
  477. package/dist/private/toast_vars.css.map +1 -1
  478. package/dist/private/toggle_vars.css +287 -211
  479. package/dist/private/toggle_vars.css.map +1 -1
  480. package/dist/private/tooltip_vars.css +150 -127
  481. package/dist/private/tooltip_vars.css.map +1 -1
  482. package/dist/private/tray_vars.css +54 -46
  483. package/dist/private/tray_vars.css.map +1 -1
  484. package/dist/private/typography_index.css +54 -46
  485. package/dist/private/typography_index.css.map +1 -1
  486. package/dist/private/underlay_vars.css +58 -50
  487. package/dist/private/underlay_vars.css.map +1 -1
  488. package/dist/private/utils/Slots.cjs +1 -0
  489. package/dist/private/utils/Slots.cjs.map +1 -1
  490. package/dist/private/utils/Slots.js +1 -0
  491. package/dist/private/utils/Slots.js.map +1 -1
  492. package/dist/private/utils/Slots.mjs +1 -0
  493. package/dist/private/utils/Slots.mjs.map +1 -1
  494. package/dist/private/well_vars.css +54 -46
  495. package/dist/private/well_vars.css.map +1 -1
  496. package/dist/types/src/dialog/AlertDialog.d.ts +2 -2
  497. package/i18n/ar-AE.js +1 -1
  498. package/i18n/ar-AE.mjs +1 -1
  499. package/i18n/bg-BG.js +1 -1
  500. package/i18n/bg-BG.mjs +1 -1
  501. package/i18n/cs-CZ.js +1 -1
  502. package/i18n/cs-CZ.mjs +1 -1
  503. package/i18n/da-DK.js +1 -1
  504. package/i18n/da-DK.mjs +1 -1
  505. package/i18n/de-DE.js +1 -1
  506. package/i18n/de-DE.mjs +1 -1
  507. package/i18n/el-GR.js +1 -1
  508. package/i18n/el-GR.mjs +1 -1
  509. package/i18n/en-US.js +1 -1
  510. package/i18n/en-US.mjs +1 -1
  511. package/i18n/es-ES.js +1 -1
  512. package/i18n/es-ES.mjs +1 -1
  513. package/i18n/et-EE.js +1 -1
  514. package/i18n/et-EE.mjs +1 -1
  515. package/i18n/fi-FI.js +1 -1
  516. package/i18n/fi-FI.mjs +1 -1
  517. package/i18n/fr-FR.js +1 -1
  518. package/i18n/fr-FR.mjs +1 -1
  519. package/i18n/he-IL.js +1 -1
  520. package/i18n/he-IL.mjs +1 -1
  521. package/i18n/hr-HR.js +1 -1
  522. package/i18n/hr-HR.mjs +1 -1
  523. package/i18n/hu-HU.js +1 -1
  524. package/i18n/hu-HU.mjs +1 -1
  525. package/i18n/index.js +1 -1
  526. package/i18n/index.mjs +1 -1
  527. package/i18n/it-IT.js +1 -1
  528. package/i18n/it-IT.mjs +1 -1
  529. package/i18n/ja-JP.js +1 -1
  530. package/i18n/ja-JP.mjs +1 -1
  531. package/i18n/ko-KR.js +1 -1
  532. package/i18n/ko-KR.mjs +1 -1
  533. package/i18n/lt-LT.js +1 -1
  534. package/i18n/lt-LT.mjs +1 -1
  535. package/i18n/lv-LV.js +1 -1
  536. package/i18n/lv-LV.mjs +1 -1
  537. package/i18n/nb-NO.js +1 -1
  538. package/i18n/nb-NO.mjs +1 -1
  539. package/i18n/nl-NL.js +1 -1
  540. package/i18n/nl-NL.mjs +1 -1
  541. package/i18n/pl-PL.js +1 -1
  542. package/i18n/pl-PL.mjs +1 -1
  543. package/i18n/pt-BR.js +1 -1
  544. package/i18n/pt-BR.mjs +1 -1
  545. package/i18n/pt-PT.js +1 -1
  546. package/i18n/pt-PT.mjs +1 -1
  547. package/i18n/ro-RO.js +1 -1
  548. package/i18n/ro-RO.mjs +1 -1
  549. package/i18n/ru-RU.js +1 -1
  550. package/i18n/ru-RU.mjs +1 -1
  551. package/i18n/sk-SK.js +1 -1
  552. package/i18n/sk-SK.mjs +1 -1
  553. package/i18n/sl-SI.js +1 -1
  554. package/i18n/sl-SI.mjs +1 -1
  555. package/i18n/sr-SP.js +1 -1
  556. package/i18n/sr-SP.mjs +1 -1
  557. package/i18n/sv-SE.js +1 -1
  558. package/i18n/sv-SE.mjs +1 -1
  559. package/i18n/tr-TR.js +1 -1
  560. package/i18n/tr-TR.mjs +1 -1
  561. package/i18n/uk-UA.js +1 -1
  562. package/i18n/uk-UA.mjs +1 -1
  563. package/i18n/zh-CN.js +1 -1
  564. package/i18n/zh-CN.mjs +1 -1
  565. package/i18n/zh-TW.js +1 -1
  566. package/i18n/zh-TW.mjs +1 -1
  567. package/package.json +7 -7
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;;;AAqDM,MAAM,0DAAc,CAAA,GAAA,iBAAS,EAAE,SAAS,YAC7C,KAA+B,EAC/B,GAAwB;IAExB,IAAI,aAAa,CAAA,GAAA,aAAK,EAAe;IACrC,IAAI,SAAS,CAAA,GAAA,yCAAQ,EAAE;IACvB,IAAI,iBAAiB,UAAU;IAC/B,IAAI,UAAU,CAAA,GAAA,aAAK,EAAkB;IACrC,IAAI,YACF,QAAQ,SACR,QAAQ,qBACR,aAAa,iBACb,YAAY,yBACZ,aAAa,WACb,UAAU,SACX,GAAG;IAEJ,IAAI,CAAC,aAAa,KAAK,GAAG,CAAA,GAAA,YAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;IACjD,IAAI,QAAQ,CAAA,GAAA,0BAAkB,EAAE;IAEhC,IAAI,oBAAC,gBAAgB,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,qBAAa,EAAE;iBAAC;IAAO,GAAG,OAAO;IAErE,IAAI;IACJ,OAAQ;QACN,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;YACH,mBAAmB,GAAG,UAAU,CAAC,EAAE,UAAU,QAAQ,WAAW,OAAO;YACvE;QACF,KAAK;QACL,KAAK;QACL;YACE,mBAAmB,GAAG,UAAU,CAAC,EAAE,OAAO;IAC9C;IAEA,IAAI,WAAW,CAAA,GAAA,yCAAgB;IAC/B,IAAI,cAAc;QAChB,GAAG,SAAS;QACZ,KAAK;QACL,SAAS,MAAM,KAAK;uBACpB;QACA,WAAW,MAAM,aAAa,IAAI;QAClC,cAAc,WACV;YACE,OAAO;YACP,WAAW;QACb,IACA;QACJ,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;YAAC,yBAAyB,CAAC;QAAQ;eACxE;IACF;IAEA,oEAAoE;IACpE,IAAI,iBAAiB,CAAA,GAAA,aAAK,EAAE;IAC5B,IAAI,oBAAoB,CAAA,GAAA,yCAAW,EAAE;IACrC,CAAA,GAAA,yBAAiB,EAAE;QACjB,KAAK;QACL,mBAAmB;YACjB,kBAAA,4BAAA,MAAO,KAAK;QACd;QACA,YAAY,CAAC,MAAM,MAAM,IAAI,MAAM,iBAAiB,CAAC,MAAM,KAAK;IAClE;IAEA,gFAAgF;IAChF,IAAI;IACJ,IAAI,UACF,wBACE,gCAAC,CAAA,GAAA,yCAAG;QAAE,OAAO;QAAO,eAAA;QAAc,KAAK;OACpC;SAIL,wBACE,gCAAC,CAAA,GAAA,yCAAM;QACL,KAAK;QACL,cAAc;YAAC,UAAU;YAAS,UAAU;YAAW,QAAQ;YAAS,aAAa;QAAK;QAC1F,OAAO;QACP,YAAY;QACZ,WAAW;QACX,WAAW;QACX,WAAA;QACA,YAAY;QACZ,oBAAA;OACC;IAKP,qBACE,gCAAC,CAAA,GAAA,eAAO,uBACN,gCAAC,CAAA,GAAA,yCAAW;QAAE,OAAO;YAAC,cAAc;gBAAC,gBAAgB,YAAY;YAAW;QAAC;qBAC3E,gCAAC,CAAA,GAAA,qBAAa;QAAG,GAAG,gBAAgB;QAAE,KAAK;QAAgB,WAAW,MAAM,MAAM;OAC/E,6BAGL,gCAAC,CAAA,GAAA,yCAAU,EAAE,QAAQ;QAAC,OAAO;OAAc;AAGjD","sources":["packages/@adobe/react-spectrum/src/menu/MenuTrigger.tsx"],"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 {Alignment, DOMRef} from '@react-types/shared';\nimport {classNames} from '../utils/classNames';\nimport {MenuContext} from './context';\nimport {MenuTriggerProps, useMenuTriggerState} from 'react-stately/useMenuTriggerState';\nimport {Placement} from 'react-aria/useOverlayPosition';\nimport {Popover} from '../overlays/Popover';\nimport {PressResponder} from 'react-aria/private/interactions/PressResponder';\nimport React, {forwardRef, Fragment, ReactElement, useRef} from 'react';\nimport {SlotProvider} from '../utils/Slots';\nimport styles from '@adobe/spectrum-css-temp/components/menu/vars.css';\nimport {Tray} from '../overlays/Tray';\nimport {unwrapDOMRef, useDOMRef} from '../utils/useDOMRef';\nimport {useInteractOutside} from 'react-aria/useInteractOutside';\nimport {useIsMobileDevice} from '../utils/useIsMobileDevice';\nimport {useMenuTrigger} from 'react-aria/useMenu';\n\nexport interface SpectrumMenuTriggerProps extends MenuTriggerProps {\n /**\n * The contents of the MenuTrigger - a trigger and a Menu.\n */\n children: ReactElement[];\n /**\n * Alignment of the menu relative to the trigger.\n *\n * @default 'start'\n */\n align?: Alignment;\n /**\n * Where the Menu opens relative to its trigger.\n *\n * @default 'bottom'\n */\n direction?: 'bottom' | 'top' | 'left' | 'right' | 'start' | 'end';\n /**\n * Whether the menu should automatically flip direction when space is limited.\n *\n * @default true\n */\n shouldFlip?: boolean;\n /**\n * Whether the Menu closes when a selection is made.\n *\n * @default true\n */\n closeOnSelect?: boolean;\n}\n\n/**\n * The MenuTrigger serves as a wrapper around a Menu and its associated trigger,\n * linking the Menu's open state with the trigger's press state.\n */\nexport const MenuTrigger = forwardRef(function MenuTrigger(\n props: SpectrumMenuTriggerProps,\n ref: DOMRef<HTMLElement>\n) {\n let triggerRef = useRef<HTMLElement>(null);\n let domRef = useDOMRef(ref);\n let menuTriggerRef = domRef || triggerRef;\n let menuRef = useRef<HTMLDivElement>(null);\n let {\n children,\n align = 'start',\n shouldFlip = true,\n direction = 'bottom',\n closeOnSelect,\n trigger = 'press'\n } = props;\n\n let [menuTrigger, menu] = React.Children.toArray(children);\n let state = useMenuTriggerState(props);\n\n let {menuTriggerProps, menuProps} = useMenuTrigger({trigger}, state, menuTriggerRef);\n\n let initialPlacement: Placement;\n switch (direction) {\n case 'left':\n case 'right':\n case 'start':\n case 'end':\n initialPlacement = `${direction} ${align === 'end' ? 'bottom' : 'top'}` as Placement;\n break;\n case 'bottom':\n case 'top':\n default:\n initialPlacement = `${direction} ${align}` as Placement;\n }\n\n let isMobile = useIsMobileDevice();\n let menuContext = {\n ...menuProps,\n ref: menuRef,\n onClose: state.close,\n closeOnSelect,\n autoFocus: state.focusStrategy || true,\n UNSAFE_style: isMobile\n ? {\n width: '100%',\n maxHeight: 'inherit'\n }\n : undefined,\n UNSAFE_className: classNames(styles, {'spectrum-Menu-popover': !isMobile}),\n state\n };\n\n // Close when clicking outside the root menu when a submenu is open.\n let rootOverlayRef = useRef(null);\n let rootOverlayDomRef = unwrapDOMRef(rootOverlayRef);\n useInteractOutside({\n ref: rootOverlayDomRef,\n onInteractOutside: () => {\n state?.close();\n },\n isDisabled: !state.isOpen || state.expandedKeysStack.length === 0\n });\n\n // On small screen devices, the menu is rendered in a tray, otherwise a popover.\n let overlay;\n if (isMobile) {\n overlay = (\n <Tray state={state} isFixedHeight ref={rootOverlayRef}>\n {menu}\n </Tray>\n );\n } else {\n overlay = (\n <Popover\n ref={rootOverlayRef}\n UNSAFE_style={{clipPath: 'unset', overflow: 'visible', filter: 'unset', borderWidth: '0px'}}\n state={state}\n triggerRef={menuTriggerRef}\n scrollRef={menuRef}\n placement={initialPlacement}\n hideArrow\n shouldFlip={shouldFlip}\n shouldContainFocus>\n {menu}\n </Popover>\n );\n }\n\n return (\n <Fragment>\n <SlotProvider slots={{actionButton: {holdAffordance: trigger === 'longPress'}}}>\n <PressResponder {...menuTriggerProps} ref={menuTriggerRef} isPressed={state.isOpen}>\n {menuTrigger}\n </PressResponder>\n </SlotProvider>\n <MenuContext.Provider value={menuContext}>{overlay}</MenuContext.Provider>\n </Fragment>\n );\n});\n"],"names":[],"version":3,"file":"MenuTrigger.js.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;;;AAqDM,MAAM,0DAAc,CAAA,GAAA,iBAAS,EAAE,SAAS,YAC7C,KAA+B,EAC/B,GAAwB;IAExB,IAAI,aAAa,CAAA,GAAA,aAAK,EAAe;IACrC,IAAI,SAAS,CAAA,GAAA,yCAAQ,EAAE;IACvB,IAAI,iBAAiB,UAAU;IAC/B,IAAI,UAAU,CAAA,GAAA,aAAK,EAAkB;IACrC,IAAI,YACF,QAAQ,SACR,QAAQ,qBACR,aAAa,iBACb,YAAY,yBACZ,aAAa,WACb,UAAU,SACX,GAAG;IAEJ,IAAI,CAAC,aAAa,KAAK,GAAG,CAAA,GAAA,YAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;IACjD,IAAI,QAAQ,CAAA,GAAA,0BAAkB,EAAE;IAEhC,IAAI,oBAAC,gBAAgB,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,qBAAa,EAAE;iBAAC;IAAO,GAAG,OAAO;IAErE,IAAI;IACJ,OAAQ;QACN,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;YACH,mBAAmB,GAAG,UAAU,CAAC,EAAE,UAAU,QAAQ,WAAW,OAAO;YACvE;QACF,KAAK;QACL,KAAK;QACL;YACE,mBAAmB,GAAG,UAAU,CAAC,EAAE,OAAO;IAC9C;IAEA,IAAI,WAAW,CAAA,GAAA,yCAAgB;IAC/B,IAAI,cAAc;QAChB,GAAG,SAAS;QACZ,KAAK;QACL,SAAS,MAAM,KAAK;uBACpB;QACA,WAAW,MAAM,aAAa,IAAI;QAClC,cAAc,WACV;YACE,OAAO;YACP,WAAW;QACb,IACA;QACJ,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;YAAC,yBAAyB,CAAC;QAAQ;eACxE;IACF;IAEA,oEAAoE;IACpE,IAAI,iBAAiB,CAAA,GAAA,aAAK,EAAE;IAC5B,gDAAgD;IAChD,IAAI,oBAAoB,CAAA,GAAA,yCAAW,EAAE;IACrC,CAAA,GAAA,yBAAiB,EAAE;QACjB,KAAK;QACL,mBAAmB;YACjB,kBAAA,4BAAA,MAAO,KAAK;QACd;QACA,YAAY,CAAC,MAAM,MAAM,IAAI,MAAM,iBAAiB,CAAC,MAAM,KAAK;IAClE;IAEA,gFAAgF;IAChF,IAAI;IACJ,IAAI,UACF,wBACE,gCAAC,CAAA,GAAA,yCAAG;QAAE,OAAO;QAAO,eAAA;QAAc,KAAK;OACpC;SAIL,wBACE,gCAAC,CAAA,GAAA,yCAAM;QACL,KAAK;QACL,cAAc;YAAC,UAAU;YAAS,UAAU;YAAW,QAAQ;YAAS,aAAa;QAAK;QAC1F,OAAO;QACP,YAAY;QACZ,WAAW;QACX,WAAW;QACX,WAAA;QACA,YAAY;QACZ,oBAAA;OACC;IAKP,qBACE,gCAAC,CAAA,GAAA,eAAO,uBACN,gCAAC,CAAA,GAAA,yCAAW;QAAE,OAAO;YAAC,cAAc;gBAAC,gBAAgB,YAAY;YAAW;QAAC;qBAC3E,gCAAC,CAAA,GAAA,qBAAa;QAAG,GAAG,gBAAgB;QAAE,KAAK;QAAgB,WAAW,MAAM,MAAM;OAC/E,6BAGL,gCAAC,CAAA,GAAA,yCAAU,EAAE,QAAQ;QAAC,OAAO;OAAc;AAGjD","sources":["packages/@adobe/react-spectrum/src/menu/MenuTrigger.tsx"],"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 {Alignment, DOMRef} from '@react-types/shared';\nimport {classNames} from '../utils/classNames';\nimport {MenuContext} from './context';\nimport {MenuTriggerProps, useMenuTriggerState} from 'react-stately/useMenuTriggerState';\nimport {Placement} from 'react-aria/useOverlayPosition';\nimport {Popover} from '../overlays/Popover';\nimport {PressResponder} from 'react-aria/private/interactions/PressResponder';\nimport React, {forwardRef, Fragment, ReactElement, useRef} from 'react';\nimport {SlotProvider} from '../utils/Slots';\nimport styles from '@adobe/spectrum-css-temp/components/menu/vars.css';\nimport {Tray} from '../overlays/Tray';\nimport {unwrapDOMRef, useDOMRef} from '../utils/useDOMRef';\nimport {useInteractOutside} from 'react-aria/useInteractOutside';\nimport {useIsMobileDevice} from '../utils/useIsMobileDevice';\nimport {useMenuTrigger} from 'react-aria/useMenu';\n\nexport interface SpectrumMenuTriggerProps extends MenuTriggerProps {\n /**\n * The contents of the MenuTrigger - a trigger and a Menu.\n */\n children: ReactElement[];\n /**\n * Alignment of the menu relative to the trigger.\n *\n * @default 'start'\n */\n align?: Alignment;\n /**\n * Where the Menu opens relative to its trigger.\n *\n * @default 'bottom'\n */\n direction?: 'bottom' | 'top' | 'left' | 'right' | 'start' | 'end';\n /**\n * Whether the menu should automatically flip direction when space is limited.\n *\n * @default true\n */\n shouldFlip?: boolean;\n /**\n * Whether the Menu closes when a selection is made.\n *\n * @default true\n */\n closeOnSelect?: boolean;\n}\n\n/**\n * The MenuTrigger serves as a wrapper around a Menu and its associated trigger,\n * linking the Menu's open state with the trigger's press state.\n */\nexport const MenuTrigger = forwardRef(function MenuTrigger(\n props: SpectrumMenuTriggerProps,\n ref: DOMRef<HTMLElement>\n) {\n let triggerRef = useRef<HTMLElement>(null);\n let domRef = useDOMRef(ref);\n let menuTriggerRef = domRef || triggerRef;\n let menuRef = useRef<HTMLDivElement>(null);\n let {\n children,\n align = 'start',\n shouldFlip = true,\n direction = 'bottom',\n closeOnSelect,\n trigger = 'press'\n } = props;\n\n let [menuTrigger, menu] = React.Children.toArray(children);\n let state = useMenuTriggerState(props);\n\n let {menuTriggerProps, menuProps} = useMenuTrigger({trigger}, state, menuTriggerRef);\n\n let initialPlacement: Placement;\n switch (direction) {\n case 'left':\n case 'right':\n case 'start':\n case 'end':\n initialPlacement = `${direction} ${align === 'end' ? 'bottom' : 'top'}` as Placement;\n break;\n case 'bottom':\n case 'top':\n default:\n initialPlacement = `${direction} ${align}` as Placement;\n }\n\n let isMobile = useIsMobileDevice();\n let menuContext = {\n ...menuProps,\n ref: menuRef,\n onClose: state.close,\n closeOnSelect,\n autoFocus: state.focusStrategy || true,\n UNSAFE_style: isMobile\n ? {\n width: '100%',\n maxHeight: 'inherit'\n }\n : undefined,\n UNSAFE_className: classNames(styles, {'spectrum-Menu-popover': !isMobile}),\n state\n };\n\n // Close when clicking outside the root menu when a submenu is open.\n let rootOverlayRef = useRef(null);\n // oxlint-disable-next-line react/react-compiler\n let rootOverlayDomRef = unwrapDOMRef(rootOverlayRef);\n useInteractOutside({\n ref: rootOverlayDomRef,\n onInteractOutside: () => {\n state?.close();\n },\n isDisabled: !state.isOpen || state.expandedKeysStack.length === 0\n });\n\n // On small screen devices, the menu is rendered in a tray, otherwise a popover.\n let overlay;\n if (isMobile) {\n overlay = (\n <Tray state={state} isFixedHeight ref={rootOverlayRef}>\n {menu}\n </Tray>\n );\n } else {\n overlay = (\n <Popover\n ref={rootOverlayRef}\n UNSAFE_style={{clipPath: 'unset', overflow: 'visible', filter: 'unset', borderWidth: '0px'}}\n state={state}\n triggerRef={menuTriggerRef}\n scrollRef={menuRef}\n placement={initialPlacement}\n hideArrow\n shouldFlip={shouldFlip}\n shouldContainFocus>\n {menu}\n </Popover>\n );\n }\n\n return (\n <Fragment>\n <SlotProvider slots={{actionButton: {holdAffordance: trigger === 'longPress'}}}>\n <PressResponder {...menuTriggerProps} ref={menuTriggerRef} isPressed={state.isOpen}>\n {menuTrigger}\n </PressResponder>\n </SlotProvider>\n <MenuContext.Provider value={menuContext}>{overlay}</MenuContext.Provider>\n </Fragment>\n );\n});\n"],"names":[],"version":3,"file":"MenuTrigger.js.map"}
@@ -82,6 +82,7 @@ const $9928637078ff3033$export$27d2ad3c5815583e = /*#__PURE__*/ (0, $3VWNT$forwa
82
82
  };
83
83
  // Close when clicking outside the root menu when a submenu is open.
84
84
  let rootOverlayRef = (0, $3VWNT$useRef)(null);
85
+ // oxlint-disable-next-line react/react-compiler
85
86
  let rootOverlayDomRef = (0, $3c2c983d5210446c$export$c7e28c72a4823176)(rootOverlayRef);
86
87
  (0, $3VWNT$useInteractOutside)({
87
88
  ref: rootOverlayDomRef,
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;;;AAqDM,MAAM,0DAAc,CAAA,GAAA,iBAAS,EAAE,SAAS,YAC7C,KAA+B,EAC/B,GAAwB;IAExB,IAAI,aAAa,CAAA,GAAA,aAAK,EAAe;IACrC,IAAI,SAAS,CAAA,GAAA,yCAAQ,EAAE;IACvB,IAAI,iBAAiB,UAAU;IAC/B,IAAI,UAAU,CAAA,GAAA,aAAK,EAAkB;IACrC,IAAI,YACF,QAAQ,SACR,QAAQ,qBACR,aAAa,iBACb,YAAY,yBACZ,aAAa,WACb,UAAU,SACX,GAAG;IAEJ,IAAI,CAAC,aAAa,KAAK,GAAG,CAAA,GAAA,YAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;IACjD,IAAI,QAAQ,CAAA,GAAA,0BAAkB,EAAE;IAEhC,IAAI,oBAAC,gBAAgB,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,qBAAa,EAAE;iBAAC;IAAO,GAAG,OAAO;IAErE,IAAI;IACJ,OAAQ;QACN,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;YACH,mBAAmB,GAAG,UAAU,CAAC,EAAE,UAAU,QAAQ,WAAW,OAAO;YACvE;QACF,KAAK;QACL,KAAK;QACL;YACE,mBAAmB,GAAG,UAAU,CAAC,EAAE,OAAO;IAC9C;IAEA,IAAI,WAAW,CAAA,GAAA,yCAAgB;IAC/B,IAAI,cAAc;QAChB,GAAG,SAAS;QACZ,KAAK;QACL,SAAS,MAAM,KAAK;uBACpB;QACA,WAAW,MAAM,aAAa,IAAI;QAClC,cAAc,WACV;YACE,OAAO;YACP,WAAW;QACb,IACA;QACJ,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;YAAC,yBAAyB,CAAC;QAAQ;eACxE;IACF;IAEA,oEAAoE;IACpE,IAAI,iBAAiB,CAAA,GAAA,aAAK,EAAE;IAC5B,IAAI,oBAAoB,CAAA,GAAA,yCAAW,EAAE;IACrC,CAAA,GAAA,yBAAiB,EAAE;QACjB,KAAK;QACL,mBAAmB;YACjB,OAAO;QACT;QACA,YAAY,CAAC,MAAM,MAAM,IAAI,MAAM,iBAAiB,CAAC,MAAM,KAAK;IAClE;IAEA,gFAAgF;IAChF,IAAI;IACJ,IAAI,UACF,wBACE,gCAAC,CAAA,GAAA,yCAAG;QAAE,OAAO;QAAO,eAAA;QAAc,KAAK;OACpC;SAIL,wBACE,gCAAC,CAAA,GAAA,yCAAM;QACL,KAAK;QACL,cAAc;YAAC,UAAU;YAAS,UAAU;YAAW,QAAQ;YAAS,aAAa;QAAK;QAC1F,OAAO;QACP,YAAY;QACZ,WAAW;QACX,WAAW;QACX,WAAA;QACA,YAAY;QACZ,oBAAA;OACC;IAKP,qBACE,gCAAC,CAAA,GAAA,eAAO,uBACN,gCAAC,CAAA,GAAA,yCAAW;QAAE,OAAO;YAAC,cAAc;gBAAC,gBAAgB,YAAY;YAAW;QAAC;qBAC3E,gCAAC,CAAA,GAAA,qBAAa;QAAG,GAAG,gBAAgB;QAAE,KAAK;QAAgB,WAAW,MAAM,MAAM;OAC/E,6BAGL,gCAAC,CAAA,GAAA,yCAAU,EAAE,QAAQ;QAAC,OAAO;OAAc;AAGjD","sources":["packages/@adobe/react-spectrum/src/menu/MenuTrigger.tsx"],"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 {Alignment, DOMRef} from '@react-types/shared';\nimport {classNames} from '../utils/classNames';\nimport {MenuContext} from './context';\nimport {MenuTriggerProps, useMenuTriggerState} from 'react-stately/useMenuTriggerState';\nimport {Placement} from 'react-aria/useOverlayPosition';\nimport {Popover} from '../overlays/Popover';\nimport {PressResponder} from 'react-aria/private/interactions/PressResponder';\nimport React, {forwardRef, Fragment, ReactElement, useRef} from 'react';\nimport {SlotProvider} from '../utils/Slots';\nimport styles from '@adobe/spectrum-css-temp/components/menu/vars.css';\nimport {Tray} from '../overlays/Tray';\nimport {unwrapDOMRef, useDOMRef} from '../utils/useDOMRef';\nimport {useInteractOutside} from 'react-aria/useInteractOutside';\nimport {useIsMobileDevice} from '../utils/useIsMobileDevice';\nimport {useMenuTrigger} from 'react-aria/useMenu';\n\nexport interface SpectrumMenuTriggerProps extends MenuTriggerProps {\n /**\n * The contents of the MenuTrigger - a trigger and a Menu.\n */\n children: ReactElement[];\n /**\n * Alignment of the menu relative to the trigger.\n *\n * @default 'start'\n */\n align?: Alignment;\n /**\n * Where the Menu opens relative to its trigger.\n *\n * @default 'bottom'\n */\n direction?: 'bottom' | 'top' | 'left' | 'right' | 'start' | 'end';\n /**\n * Whether the menu should automatically flip direction when space is limited.\n *\n * @default true\n */\n shouldFlip?: boolean;\n /**\n * Whether the Menu closes when a selection is made.\n *\n * @default true\n */\n closeOnSelect?: boolean;\n}\n\n/**\n * The MenuTrigger serves as a wrapper around a Menu and its associated trigger,\n * linking the Menu's open state with the trigger's press state.\n */\nexport const MenuTrigger = forwardRef(function MenuTrigger(\n props: SpectrumMenuTriggerProps,\n ref: DOMRef<HTMLElement>\n) {\n let triggerRef = useRef<HTMLElement>(null);\n let domRef = useDOMRef(ref);\n let menuTriggerRef = domRef || triggerRef;\n let menuRef = useRef<HTMLDivElement>(null);\n let {\n children,\n align = 'start',\n shouldFlip = true,\n direction = 'bottom',\n closeOnSelect,\n trigger = 'press'\n } = props;\n\n let [menuTrigger, menu] = React.Children.toArray(children);\n let state = useMenuTriggerState(props);\n\n let {menuTriggerProps, menuProps} = useMenuTrigger({trigger}, state, menuTriggerRef);\n\n let initialPlacement: Placement;\n switch (direction) {\n case 'left':\n case 'right':\n case 'start':\n case 'end':\n initialPlacement = `${direction} ${align === 'end' ? 'bottom' : 'top'}` as Placement;\n break;\n case 'bottom':\n case 'top':\n default:\n initialPlacement = `${direction} ${align}` as Placement;\n }\n\n let isMobile = useIsMobileDevice();\n let menuContext = {\n ...menuProps,\n ref: menuRef,\n onClose: state.close,\n closeOnSelect,\n autoFocus: state.focusStrategy || true,\n UNSAFE_style: isMobile\n ? {\n width: '100%',\n maxHeight: 'inherit'\n }\n : undefined,\n UNSAFE_className: classNames(styles, {'spectrum-Menu-popover': !isMobile}),\n state\n };\n\n // Close when clicking outside the root menu when a submenu is open.\n let rootOverlayRef = useRef(null);\n let rootOverlayDomRef = unwrapDOMRef(rootOverlayRef);\n useInteractOutside({\n ref: rootOverlayDomRef,\n onInteractOutside: () => {\n state?.close();\n },\n isDisabled: !state.isOpen || state.expandedKeysStack.length === 0\n });\n\n // On small screen devices, the menu is rendered in a tray, otherwise a popover.\n let overlay;\n if (isMobile) {\n overlay = (\n <Tray state={state} isFixedHeight ref={rootOverlayRef}>\n {menu}\n </Tray>\n );\n } else {\n overlay = (\n <Popover\n ref={rootOverlayRef}\n UNSAFE_style={{clipPath: 'unset', overflow: 'visible', filter: 'unset', borderWidth: '0px'}}\n state={state}\n triggerRef={menuTriggerRef}\n scrollRef={menuRef}\n placement={initialPlacement}\n hideArrow\n shouldFlip={shouldFlip}\n shouldContainFocus>\n {menu}\n </Popover>\n );\n }\n\n return (\n <Fragment>\n <SlotProvider slots={{actionButton: {holdAffordance: trigger === 'longPress'}}}>\n <PressResponder {...menuTriggerProps} ref={menuTriggerRef} isPressed={state.isOpen}>\n {menuTrigger}\n </PressResponder>\n </SlotProvider>\n <MenuContext.Provider value={menuContext}>{overlay}</MenuContext.Provider>\n </Fragment>\n );\n});\n"],"names":[],"version":3,"file":"MenuTrigger.mjs.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;;;AAqDM,MAAM,0DAAc,CAAA,GAAA,iBAAS,EAAE,SAAS,YAC7C,KAA+B,EAC/B,GAAwB;IAExB,IAAI,aAAa,CAAA,GAAA,aAAK,EAAe;IACrC,IAAI,SAAS,CAAA,GAAA,yCAAQ,EAAE;IACvB,IAAI,iBAAiB,UAAU;IAC/B,IAAI,UAAU,CAAA,GAAA,aAAK,EAAkB;IACrC,IAAI,YACF,QAAQ,SACR,QAAQ,qBACR,aAAa,iBACb,YAAY,yBACZ,aAAa,WACb,UAAU,SACX,GAAG;IAEJ,IAAI,CAAC,aAAa,KAAK,GAAG,CAAA,GAAA,YAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;IACjD,IAAI,QAAQ,CAAA,GAAA,0BAAkB,EAAE;IAEhC,IAAI,oBAAC,gBAAgB,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,qBAAa,EAAE;iBAAC;IAAO,GAAG,OAAO;IAErE,IAAI;IACJ,OAAQ;QACN,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;YACH,mBAAmB,GAAG,UAAU,CAAC,EAAE,UAAU,QAAQ,WAAW,OAAO;YACvE;QACF,KAAK;QACL,KAAK;QACL;YACE,mBAAmB,GAAG,UAAU,CAAC,EAAE,OAAO;IAC9C;IAEA,IAAI,WAAW,CAAA,GAAA,yCAAgB;IAC/B,IAAI,cAAc;QAChB,GAAG,SAAS;QACZ,KAAK;QACL,SAAS,MAAM,KAAK;uBACpB;QACA,WAAW,MAAM,aAAa,IAAI;QAClC,cAAc,WACV;YACE,OAAO;YACP,WAAW;QACb,IACA;QACJ,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;YAAC,yBAAyB,CAAC;QAAQ;eACxE;IACF;IAEA,oEAAoE;IACpE,IAAI,iBAAiB,CAAA,GAAA,aAAK,EAAE;IAC5B,gDAAgD;IAChD,IAAI,oBAAoB,CAAA,GAAA,yCAAW,EAAE;IACrC,CAAA,GAAA,yBAAiB,EAAE;QACjB,KAAK;QACL,mBAAmB;YACjB,OAAO;QACT;QACA,YAAY,CAAC,MAAM,MAAM,IAAI,MAAM,iBAAiB,CAAC,MAAM,KAAK;IAClE;IAEA,gFAAgF;IAChF,IAAI;IACJ,IAAI,UACF,wBACE,gCAAC,CAAA,GAAA,yCAAG;QAAE,OAAO;QAAO,eAAA;QAAc,KAAK;OACpC;SAIL,wBACE,gCAAC,CAAA,GAAA,yCAAM;QACL,KAAK;QACL,cAAc;YAAC,UAAU;YAAS,UAAU;YAAW,QAAQ;YAAS,aAAa;QAAK;QAC1F,OAAO;QACP,YAAY;QACZ,WAAW;QACX,WAAW;QACX,WAAA;QACA,YAAY;QACZ,oBAAA;OACC;IAKP,qBACE,gCAAC,CAAA,GAAA,eAAO,uBACN,gCAAC,CAAA,GAAA,yCAAW;QAAE,OAAO;YAAC,cAAc;gBAAC,gBAAgB,YAAY;YAAW;QAAC;qBAC3E,gCAAC,CAAA,GAAA,qBAAa;QAAG,GAAG,gBAAgB;QAAE,KAAK;QAAgB,WAAW,MAAM,MAAM;OAC/E,6BAGL,gCAAC,CAAA,GAAA,yCAAU,EAAE,QAAQ;QAAC,OAAO;OAAc;AAGjD","sources":["packages/@adobe/react-spectrum/src/menu/MenuTrigger.tsx"],"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 {Alignment, DOMRef} from '@react-types/shared';\nimport {classNames} from '../utils/classNames';\nimport {MenuContext} from './context';\nimport {MenuTriggerProps, useMenuTriggerState} from 'react-stately/useMenuTriggerState';\nimport {Placement} from 'react-aria/useOverlayPosition';\nimport {Popover} from '../overlays/Popover';\nimport {PressResponder} from 'react-aria/private/interactions/PressResponder';\nimport React, {forwardRef, Fragment, ReactElement, useRef} from 'react';\nimport {SlotProvider} from '../utils/Slots';\nimport styles from '@adobe/spectrum-css-temp/components/menu/vars.css';\nimport {Tray} from '../overlays/Tray';\nimport {unwrapDOMRef, useDOMRef} from '../utils/useDOMRef';\nimport {useInteractOutside} from 'react-aria/useInteractOutside';\nimport {useIsMobileDevice} from '../utils/useIsMobileDevice';\nimport {useMenuTrigger} from 'react-aria/useMenu';\n\nexport interface SpectrumMenuTriggerProps extends MenuTriggerProps {\n /**\n * The contents of the MenuTrigger - a trigger and a Menu.\n */\n children: ReactElement[];\n /**\n * Alignment of the menu relative to the trigger.\n *\n * @default 'start'\n */\n align?: Alignment;\n /**\n * Where the Menu opens relative to its trigger.\n *\n * @default 'bottom'\n */\n direction?: 'bottom' | 'top' | 'left' | 'right' | 'start' | 'end';\n /**\n * Whether the menu should automatically flip direction when space is limited.\n *\n * @default true\n */\n shouldFlip?: boolean;\n /**\n * Whether the Menu closes when a selection is made.\n *\n * @default true\n */\n closeOnSelect?: boolean;\n}\n\n/**\n * The MenuTrigger serves as a wrapper around a Menu and its associated trigger,\n * linking the Menu's open state with the trigger's press state.\n */\nexport const MenuTrigger = forwardRef(function MenuTrigger(\n props: SpectrumMenuTriggerProps,\n ref: DOMRef<HTMLElement>\n) {\n let triggerRef = useRef<HTMLElement>(null);\n let domRef = useDOMRef(ref);\n let menuTriggerRef = domRef || triggerRef;\n let menuRef = useRef<HTMLDivElement>(null);\n let {\n children,\n align = 'start',\n shouldFlip = true,\n direction = 'bottom',\n closeOnSelect,\n trigger = 'press'\n } = props;\n\n let [menuTrigger, menu] = React.Children.toArray(children);\n let state = useMenuTriggerState(props);\n\n let {menuTriggerProps, menuProps} = useMenuTrigger({trigger}, state, menuTriggerRef);\n\n let initialPlacement: Placement;\n switch (direction) {\n case 'left':\n case 'right':\n case 'start':\n case 'end':\n initialPlacement = `${direction} ${align === 'end' ? 'bottom' : 'top'}` as Placement;\n break;\n case 'bottom':\n case 'top':\n default:\n initialPlacement = `${direction} ${align}` as Placement;\n }\n\n let isMobile = useIsMobileDevice();\n let menuContext = {\n ...menuProps,\n ref: menuRef,\n onClose: state.close,\n closeOnSelect,\n autoFocus: state.focusStrategy || true,\n UNSAFE_style: isMobile\n ? {\n width: '100%',\n maxHeight: 'inherit'\n }\n : undefined,\n UNSAFE_className: classNames(styles, {'spectrum-Menu-popover': !isMobile}),\n state\n };\n\n // Close when clicking outside the root menu when a submenu is open.\n let rootOverlayRef = useRef(null);\n // oxlint-disable-next-line react/react-compiler\n let rootOverlayDomRef = unwrapDOMRef(rootOverlayRef);\n useInteractOutside({\n ref: rootOverlayDomRef,\n onInteractOutside: () => {\n state?.close();\n },\n isDisabled: !state.isOpen || state.expandedKeysStack.length === 0\n });\n\n // On small screen devices, the menu is rendered in a tray, otherwise a popover.\n let overlay;\n if (isMobile) {\n overlay = (\n <Tray state={state} isFixedHeight ref={rootOverlayRef}>\n {menu}\n </Tray>\n );\n } else {\n overlay = (\n <Popover\n ref={rootOverlayRef}\n UNSAFE_style={{clipPath: 'unset', overflow: 'visible', filter: 'unset', borderWidth: '0px'}}\n state={state}\n triggerRef={menuTriggerRef}\n scrollRef={menuRef}\n placement={initialPlacement}\n hideArrow\n shouldFlip={shouldFlip}\n shouldContainFocus>\n {menu}\n </Popover>\n );\n }\n\n return (\n <Fragment>\n <SlotProvider slots={{actionButton: {holdAffordance: trigger === 'longPress'}}}>\n <PressResponder {...menuTriggerProps} ref={menuTriggerRef} isPressed={state.isOpen}>\n {menuTrigger}\n </PressResponder>\n </SlotProvider>\n <MenuContext.Provider value={menuContext}>{overlay}</MenuContext.Provider>\n </Fragment>\n );\n});\n"],"names":[],"version":3,"file":"MenuTrigger.mjs.map"}
@@ -74,10 +74,14 @@ function $e8f09a94a9b12d55$var$SubmenuTrigger(props) {
74
74
  };
75
75
  let overlay;
76
76
  if (isMobile) {
77
+ // oxlint-disable-next-line react/react-compiler
77
78
  delete submenuTriggerProps.onBlur;
79
+ // oxlint-disable-next-line react/react-compiler
78
80
  delete submenuTriggerProps.onHoverChange;
79
81
  submenuProps.autoFocus ??= true;
80
- if (trayContainerRef.current && submenuTriggerState.isOpen) overlay = /*#__PURE__*/ (0, ($parcel$interopDefault($8ibdT$reactdom))).createPortal(menu, trayContainerRef.current);
82
+ // oxlint-disable-next-line react/react-compiler
83
+ if (trayContainerRef.current && submenuTriggerState.isOpen) // oxlint-disable-next-line react/react-compiler
84
+ overlay = /*#__PURE__*/ (0, ($parcel$interopDefault($8ibdT$reactdom))).createPortal(menu, trayContainerRef.current);
81
85
  } else {
82
86
  let onDismissButtonPress = ()=>{
83
87
  submenuTriggerState.close();
@@ -103,6 +107,7 @@ function $e8f09a94a9b12d55$var$SubmenuTrigger(props) {
103
107
  }, menu);
104
108
  }
105
109
  let menuContext = {
110
+ // oxlint-disable-next-line react/react-compiler
106
111
  ...(0, $8ibdT$reactariamergeProps.mergeProps)(submenuProps, {
107
112
  ref: menuRef,
108
113
  UNSAFE_style: isMobile ? {
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@adobe/react-spectrum/src/menu/SubmenuTrigger.tsx"],"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 {classNames} from '../utils/classNames';\n\nimport {isFocusWithin} from 'react-aria/private/utils/shadowdom/DOMFunctions';\nimport {Key} from '@react-types/shared';\nimport {MenuContext, SubmenuTriggerContext, useMenuStateContext} from './context';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport {Popover} from '../overlays/Popover';\nimport React, {type JSX, ReactElement, useRef} from 'react';\nimport ReactDOM from 'react-dom';\nimport styles from '@adobe/spectrum-css-temp/components/menu/vars.css';\nimport {useIsMobileDevice} from '../utils/useIsMobileDevice';\nimport {useLocale} from 'react-aria/I18nProvider';\nimport {useSubmenuTrigger} from 'react-aria/useMenu';\nimport {useSubmenuTriggerState} from 'react-stately/useMenuTriggerState';\n\ninterface SubmenuTriggerProps {\n /**\n * The contents of the SubmenuTrigger - an Item and a Menu.\n */\n children: ReactElement<any>[];\n targetKey: Key;\n}\n\nexport interface SpectrumSubmenuTriggerProps extends Omit<SubmenuTriggerProps, 'targetKey'> {}\n\nfunction SubmenuTrigger(props: SubmenuTriggerProps) {\n let triggerRef = useRef<HTMLDivElement>(null);\n let {children, targetKey} = props;\n\n let [menuTrigger, menu] = React.Children.toArray(children);\n let {\n popoverContainer,\n trayContainerRef,\n menu: parentMenuRef,\n submenu: menuRef,\n rootMenuTriggerState\n } = useMenuStateContext()!;\n let submenuTriggerState = useSubmenuTriggerState({triggerKey: targetKey}, rootMenuTriggerState!);\n let {submenuTriggerProps, submenuProps, popoverProps} = useSubmenuTrigger(\n {\n parentMenuRef,\n submenuRef: menuRef\n },\n submenuTriggerState,\n triggerRef\n );\n let isMobile = useIsMobileDevice();\n let onBackButtonPress = () => {\n submenuTriggerState.close();\n if (parentMenuRef.current && !isFocusWithin(parentMenuRef.current)) {\n parentMenuRef.current.focus();\n }\n };\n\n let {direction} = useLocale();\n let mobileSubmenuKeyDown = (e: KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowLeft':\n if (direction === 'ltr') {\n triggerRef.current?.focus();\n }\n break;\n case 'ArrowRight':\n if (direction === 'rtl') {\n triggerRef.current?.focus();\n }\n break;\n }\n };\n\n let overlay;\n\n if (isMobile) {\n delete submenuTriggerProps.onBlur;\n delete submenuTriggerProps.onHoverChange;\n submenuProps.autoFocus ??= true;\n if (trayContainerRef.current && submenuTriggerState.isOpen) {\n overlay = ReactDOM.createPortal(menu, trayContainerRef.current);\n }\n } else {\n let onDismissButtonPress = () => {\n submenuTriggerState.close();\n parentMenuRef.current?.focus();\n };\n\n overlay = (\n <Popover\n {...popoverProps}\n onDismissButtonPress={onDismissButtonPress}\n UNSAFE_className={classNames(styles, 'spectrum-Submenu-popover')}\n container={popoverContainer!}\n containerPadding={0}\n enableBothDismissButtons\n UNSAFE_style={{clipPath: 'unset', overflow: 'visible', borderWidth: '0px'}}\n state={submenuTriggerState}\n triggerRef={triggerRef}\n scrollRef={menuRef}\n placement=\"end top\"\n hideArrow>\n {menu}\n </Popover>\n );\n }\n\n let menuContext = {\n ...mergeProps(submenuProps, {\n ref: menuRef,\n UNSAFE_style: isMobile\n ? {\n width: '100%',\n maxHeight: 'inherit'\n }\n : undefined,\n UNSAFE_className: classNames(styles, {'spectrum-Menu-popover': !isMobile}),\n ...(isMobile && {\n onBackButtonPress,\n onKeyDown: mobileSubmenuKeyDown\n })\n })\n };\n\n return (\n <>\n <SubmenuTriggerContext.Provider value={{triggerRef, ...submenuTriggerProps}}>\n {menuTrigger}\n </SubmenuTriggerContext.Provider>\n <MenuContext.Provider value={menuContext}>{overlay}</MenuContext.Provider>\n </>\n );\n}\n\nSubmenuTrigger.getCollectionNode = function* (props: SpectrumSubmenuTriggerProps) {\n let childArray: ReactElement[] = [];\n React.Children.forEach(props.children, child => {\n if (React.isValidElement(child)) {\n childArray.push(child);\n }\n });\n let [trigger] = childArray;\n let [, content] = props.children as [ReactElement, ReactElement];\n\n yield {\n element: React.cloneElement(trigger, {\n ...(trigger.props as any),\n hasChildItems: true,\n isTrigger: true\n }),\n wrapper: element => (\n <SubmenuTrigger key={element.key} targetKey={element.key} {...props}>\n {element}\n {content}\n </SubmenuTrigger>\n )\n };\n};\n\nlet _SubmenuTrigger = SubmenuTrigger as unknown as (\n props: SpectrumSubmenuTriggerProps\n) => JSX.Element;\nexport {_SubmenuTrigger as SubmenuTrigger};\n"],"names":[],"version":3,"file":"SubmenuTrigger.cjs.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;;AA2BD,SAAS,qCAAe,KAA0B;IAChD,IAAI,aAAa,CAAA,GAAA,mBAAK,EAAkB;IACxC,IAAI,YAAC,QAAQ,aAAE,SAAS,EAAC,GAAG;IAE5B,IAAI,CAAC,aAAa,KAAK,GAAG,CAAA,GAAA,sCAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;IACjD,IAAI,oBACF,gBAAgB,oBAChB,gBAAgB,EAChB,MAAM,aAAa,EACnB,SAAS,OAAO,wBAChB,oBAAoB,EACrB,GAAG,CAAA,GAAA,6CAAkB;IACtB,IAAI,sBAAsB,CAAA,GAAA,6DAAqB,EAAE;QAAC,YAAY;IAAS,GAAG;IAC1E,IAAI,uBAAC,mBAAmB,gBAAE,YAAY,gBAAE,YAAY,EAAC,GAAG,CAAA,GAAA,yCAAgB,EACtE;uBACE;QACA,YAAY;IACd,GACA,qBACA;IAEF,IAAI,WAAW,CAAA,GAAA,2CAAgB;IAC/B,IAAI,oBAAoB;QACtB,oBAAoB,KAAK;QACzB,IAAI,cAAc,OAAO,IAAI,CAAC,CAAA,GAAA,+DAAY,EAAE,cAAc,OAAO,GAC/D,cAAc,OAAO,CAAC,KAAK;IAE/B;IAEA,IAAI,aAAC,SAAS,EAAC,GAAG,CAAA,GAAA,sCAAQ;IAC1B,IAAI,uBAAuB,CAAC;QAC1B,OAAQ,EAAE,GAAG;YACX,KAAK;gBACH,IAAI,cAAc,OAChB,WAAW,OAAO,EAAE;gBAEtB;YACF,KAAK;gBACH,IAAI,cAAc,OAChB,WAAW,OAAO,EAAE;gBAEtB;QACJ;IACF;IAEA,IAAI;IAEJ,IAAI,UAAU;QACZ,gDAAgD;QAChD,OAAO,oBAAoB,MAAM;QACjC,gDAAgD;QAChD,OAAO,oBAAoB,aAAa;QACxC,aAAa,SAAS,KAAK;QAC3B,gDAAgD;QAChD,IAAI,iBAAiB,OAAO,IAAI,oBAAoB,MAAM,EACxD,gDAAgD;QAChD,wBAAU,CAAA,GAAA,yCAAO,EAAE,YAAY,CAAC,MAAM,iBAAiB,OAAO;IAElE,OAAO;QACL,IAAI,uBAAuB;YACzB,oBAAoB,KAAK;YACzB,cAAc,OAAO,EAAE;QACzB;QAEA,wBACE,0DAAC,CAAA,GAAA,iCAAM;YACJ,GAAG,YAAY;YAChB,sBAAsB;YACtB,kBAAkB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;YACrC,WAAW;YACX,kBAAkB;YAClB,0BAAA;YACA,cAAc;gBAAC,UAAU;gBAAS,UAAU;gBAAW,aAAa;YAAK;YACzE,OAAO;YACP,YAAY;YACZ,WAAW;YACX,WAAU;YACV,WAAA;WACC;IAGP;IAEA,IAAI,cAAc;QAChB,gDAAgD;QAChD,GAAG,CAAA,GAAA,qCAAS,EAAE,cAAc;YAC1B,KAAK;YACL,cAAc,WACV;gBACE,OAAO;gBACP,WAAW;YACb,IACA;YACJ,kBAAkB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;gBAAC,yBAAyB,CAAC;YAAQ;YACxE,GAAI,YAAY;mCACd;gBACA,WAAW;YACb,CAAC;QACH,EAAE;IACJ;IAEA,qBACE,oIACE,0DAAC,CAAA,GAAA,+CAAoB,EAAE,QAAQ;QAAC,OAAO;wBAAC;YAAY,GAAG,mBAAmB;QAAA;OACvE,4BAEH,0DAAC,CAAA,GAAA,qCAAU,EAAE,QAAQ;QAAC,OAAO;OAAc;AAGjD;AAEA,qCAAe,iBAAiB,GAAG,UAAW,KAAkC;IAC9E,IAAI,aAA6B,EAAE;IACnC,CAAA,GAAA,sCAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,QAAQ,EAAE,CAAA;QACrC,kBAAI,CAAA,GAAA,sCAAI,EAAE,cAAc,CAAC,QACvB,WAAW,IAAI,CAAC;IAEpB;IACA,IAAI,CAAC,QAAQ,GAAG;IAChB,IAAI,GAAG,QAAQ,GAAG,MAAM,QAAQ;IAEhC,MAAM;QACJ,uBAAS,CAAA,GAAA,sCAAI,EAAE,YAAY,CAAC,SAAS;YACnC,GAAI,QAAQ,KAAK;YACjB,eAAe;YACf,WAAW;QACb;QACA,SAAS,CAAA,wBACP,0DAAC;gBAAe,KAAK,QAAQ,GAAG;gBAAE,WAAW,QAAQ,GAAG;gBAAG,GAAG,KAAK;eAChE,SACA;IAGP;AACF;AAEA,IAAI,4CAAkB","sources":["packages/@adobe/react-spectrum/src/menu/SubmenuTrigger.tsx"],"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 {classNames} from '../utils/classNames';\n\nimport {isFocusWithin} from 'react-aria/private/utils/shadowdom/DOMFunctions';\nimport {Key} from '@react-types/shared';\nimport {MenuContext, SubmenuTriggerContext, useMenuStateContext} from './context';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport {Popover} from '../overlays/Popover';\nimport React, {type JSX, ReactElement, useRef} from 'react';\nimport ReactDOM from 'react-dom';\nimport styles from '@adobe/spectrum-css-temp/components/menu/vars.css';\nimport {useIsMobileDevice} from '../utils/useIsMobileDevice';\nimport {useLocale} from 'react-aria/I18nProvider';\nimport {useSubmenuTrigger} from 'react-aria/useMenu';\nimport {useSubmenuTriggerState} from 'react-stately/useMenuTriggerState';\n\ninterface SubmenuTriggerProps {\n /**\n * The contents of the SubmenuTrigger - an Item and a Menu.\n */\n children: ReactElement<any>[];\n targetKey: Key;\n}\n\nexport interface SpectrumSubmenuTriggerProps extends Omit<SubmenuTriggerProps, 'targetKey'> {}\n\nfunction SubmenuTrigger(props: SubmenuTriggerProps) {\n let triggerRef = useRef<HTMLDivElement>(null);\n let {children, targetKey} = props;\n\n let [menuTrigger, menu] = React.Children.toArray(children);\n let {\n popoverContainer,\n trayContainerRef,\n menu: parentMenuRef,\n submenu: menuRef,\n rootMenuTriggerState\n } = useMenuStateContext()!;\n let submenuTriggerState = useSubmenuTriggerState({triggerKey: targetKey}, rootMenuTriggerState!);\n let {submenuTriggerProps, submenuProps, popoverProps} = useSubmenuTrigger(\n {\n parentMenuRef,\n submenuRef: menuRef\n },\n submenuTriggerState,\n triggerRef\n );\n let isMobile = useIsMobileDevice();\n let onBackButtonPress = () => {\n submenuTriggerState.close();\n if (parentMenuRef.current && !isFocusWithin(parentMenuRef.current)) {\n parentMenuRef.current.focus();\n }\n };\n\n let {direction} = useLocale();\n let mobileSubmenuKeyDown = (e: KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowLeft':\n if (direction === 'ltr') {\n triggerRef.current?.focus();\n }\n break;\n case 'ArrowRight':\n if (direction === 'rtl') {\n triggerRef.current?.focus();\n }\n break;\n }\n };\n\n let overlay;\n\n if (isMobile) {\n // oxlint-disable-next-line react/react-compiler\n delete submenuTriggerProps.onBlur;\n // oxlint-disable-next-line react/react-compiler\n delete submenuTriggerProps.onHoverChange;\n submenuProps.autoFocus ??= true;\n // oxlint-disable-next-line react/react-compiler\n if (trayContainerRef.current && submenuTriggerState.isOpen) {\n // oxlint-disable-next-line react/react-compiler\n overlay = ReactDOM.createPortal(menu, trayContainerRef.current);\n }\n } else {\n let onDismissButtonPress = () => {\n submenuTriggerState.close();\n parentMenuRef.current?.focus();\n };\n\n overlay = (\n <Popover\n {...popoverProps}\n onDismissButtonPress={onDismissButtonPress}\n UNSAFE_className={classNames(styles, 'spectrum-Submenu-popover')}\n container={popoverContainer!}\n containerPadding={0}\n enableBothDismissButtons\n UNSAFE_style={{clipPath: 'unset', overflow: 'visible', borderWidth: '0px'}}\n state={submenuTriggerState}\n triggerRef={triggerRef}\n scrollRef={menuRef}\n placement=\"end top\"\n hideArrow>\n {menu}\n </Popover>\n );\n }\n\n let menuContext = {\n // oxlint-disable-next-line react/react-compiler\n ...mergeProps(submenuProps, {\n ref: menuRef,\n UNSAFE_style: isMobile\n ? {\n width: '100%',\n maxHeight: 'inherit'\n }\n : undefined,\n UNSAFE_className: classNames(styles, {'spectrum-Menu-popover': !isMobile}),\n ...(isMobile && {\n onBackButtonPress,\n onKeyDown: mobileSubmenuKeyDown\n })\n })\n };\n\n return (\n <>\n <SubmenuTriggerContext.Provider value={{triggerRef, ...submenuTriggerProps}}>\n {menuTrigger}\n </SubmenuTriggerContext.Provider>\n <MenuContext.Provider value={menuContext}>{overlay}</MenuContext.Provider>\n </>\n );\n}\n\nSubmenuTrigger.getCollectionNode = function* (props: SpectrumSubmenuTriggerProps) {\n let childArray: ReactElement[] = [];\n React.Children.forEach(props.children, child => {\n if (React.isValidElement(child)) {\n childArray.push(child);\n }\n });\n let [trigger] = childArray;\n let [, content] = props.children as [ReactElement, ReactElement];\n\n yield {\n element: React.cloneElement(trigger, {\n ...(trigger.props as any),\n hasChildItems: true,\n isTrigger: true\n }),\n wrapper: element => (\n <SubmenuTrigger key={element.key} targetKey={element.key} {...props}>\n {element}\n {content}\n </SubmenuTrigger>\n )\n };\n};\n\nlet _SubmenuTrigger = SubmenuTrigger as unknown as (\n props: SpectrumSubmenuTriggerProps\n) => JSX.Element;\nexport {_SubmenuTrigger as SubmenuTrigger};\n"],"names":[],"version":3,"file":"SubmenuTrigger.cjs.map"}
@@ -71,11 +71,15 @@ function $0d6e4ea605197c86$var$SubmenuTrigger(props) {
71
71
  let overlay;
72
72
  if (isMobile) {
73
73
  var _submenuProps;
74
+ // oxlint-disable-next-line react/react-compiler
74
75
  delete submenuTriggerProps.onBlur;
76
+ // oxlint-disable-next-line react/react-compiler
75
77
  delete submenuTriggerProps.onHoverChange;
76
78
  var _autoFocus;
77
79
  (_autoFocus = (_submenuProps = submenuProps).autoFocus) !== null && _autoFocus !== void 0 ? _autoFocus : _submenuProps.autoFocus = true;
78
- if (trayContainerRef.current && submenuTriggerState.isOpen) overlay = /*#__PURE__*/ (0, $jyqUi$reactdom).createPortal(menu, trayContainerRef.current);
80
+ // oxlint-disable-next-line react/react-compiler
81
+ if (trayContainerRef.current && submenuTriggerState.isOpen) // oxlint-disable-next-line react/react-compiler
82
+ overlay = /*#__PURE__*/ (0, $jyqUi$reactdom).createPortal(menu, trayContainerRef.current);
79
83
  } else {
80
84
  let onDismissButtonPress = ()=>{
81
85
  var _parentMenuRef_current;
@@ -102,6 +106,7 @@ function $0d6e4ea605197c86$var$SubmenuTrigger(props) {
102
106
  }, menu);
103
107
  }
104
108
  let menuContext = {
109
+ // oxlint-disable-next-line react/react-compiler
105
110
  ...(0, $jyqUi$mergeProps)(submenuProps, {
106
111
  ref: menuRef,
107
112
  UNSAFE_style: isMobile ? {
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@adobe/react-spectrum/src/menu/SubmenuTrigger.tsx"],"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 {classNames} from '../utils/classNames';\n\nimport {isFocusWithin} from 'react-aria/private/utils/shadowdom/DOMFunctions';\nimport {Key} from '@react-types/shared';\nimport {MenuContext, SubmenuTriggerContext, useMenuStateContext} from './context';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport {Popover} from '../overlays/Popover';\nimport React, {type JSX, ReactElement, useRef} from 'react';\nimport ReactDOM from 'react-dom';\nimport styles from '@adobe/spectrum-css-temp/components/menu/vars.css';\nimport {useIsMobileDevice} from '../utils/useIsMobileDevice';\nimport {useLocale} from 'react-aria/I18nProvider';\nimport {useSubmenuTrigger} from 'react-aria/useMenu';\nimport {useSubmenuTriggerState} from 'react-stately/useMenuTriggerState';\n\ninterface SubmenuTriggerProps {\n /**\n * The contents of the SubmenuTrigger - an Item and a Menu.\n */\n children: ReactElement<any>[];\n targetKey: Key;\n}\n\nexport interface SpectrumSubmenuTriggerProps extends Omit<SubmenuTriggerProps, 'targetKey'> {}\n\nfunction SubmenuTrigger(props: SubmenuTriggerProps) {\n let triggerRef = useRef<HTMLDivElement>(null);\n let {children, targetKey} = props;\n\n let [menuTrigger, menu] = React.Children.toArray(children);\n let {\n popoverContainer,\n trayContainerRef,\n menu: parentMenuRef,\n submenu: menuRef,\n rootMenuTriggerState\n } = useMenuStateContext()!;\n let submenuTriggerState = useSubmenuTriggerState({triggerKey: targetKey}, rootMenuTriggerState!);\n let {submenuTriggerProps, submenuProps, popoverProps} = useSubmenuTrigger(\n {\n parentMenuRef,\n submenuRef: menuRef\n },\n submenuTriggerState,\n triggerRef\n );\n let isMobile = useIsMobileDevice();\n let onBackButtonPress = () => {\n submenuTriggerState.close();\n if (parentMenuRef.current && !isFocusWithin(parentMenuRef.current)) {\n parentMenuRef.current.focus();\n }\n };\n\n let {direction} = useLocale();\n let mobileSubmenuKeyDown = (e: KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowLeft':\n if (direction === 'ltr') {\n triggerRef.current?.focus();\n }\n break;\n case 'ArrowRight':\n if (direction === 'rtl') {\n triggerRef.current?.focus();\n }\n break;\n }\n };\n\n let overlay;\n\n if (isMobile) {\n delete submenuTriggerProps.onBlur;\n delete submenuTriggerProps.onHoverChange;\n submenuProps.autoFocus ??= true;\n if (trayContainerRef.current && submenuTriggerState.isOpen) {\n overlay = ReactDOM.createPortal(menu, trayContainerRef.current);\n }\n } else {\n let onDismissButtonPress = () => {\n submenuTriggerState.close();\n parentMenuRef.current?.focus();\n };\n\n overlay = (\n <Popover\n {...popoverProps}\n onDismissButtonPress={onDismissButtonPress}\n UNSAFE_className={classNames(styles, 'spectrum-Submenu-popover')}\n container={popoverContainer!}\n containerPadding={0}\n enableBothDismissButtons\n UNSAFE_style={{clipPath: 'unset', overflow: 'visible', borderWidth: '0px'}}\n state={submenuTriggerState}\n triggerRef={triggerRef}\n scrollRef={menuRef}\n placement=\"end top\"\n hideArrow>\n {menu}\n </Popover>\n );\n }\n\n let menuContext = {\n ...mergeProps(submenuProps, {\n ref: menuRef,\n UNSAFE_style: isMobile\n ? {\n width: '100%',\n maxHeight: 'inherit'\n }\n : undefined,\n UNSAFE_className: classNames(styles, {'spectrum-Menu-popover': !isMobile}),\n ...(isMobile && {\n onBackButtonPress,\n onKeyDown: mobileSubmenuKeyDown\n })\n })\n };\n\n return (\n <>\n <SubmenuTriggerContext.Provider value={{triggerRef, ...submenuTriggerProps}}>\n {menuTrigger}\n </SubmenuTriggerContext.Provider>\n <MenuContext.Provider value={menuContext}>{overlay}</MenuContext.Provider>\n </>\n );\n}\n\nSubmenuTrigger.getCollectionNode = function* (props: SpectrumSubmenuTriggerProps) {\n let childArray: ReactElement[] = [];\n React.Children.forEach(props.children, child => {\n if (React.isValidElement(child)) {\n childArray.push(child);\n }\n });\n let [trigger] = childArray;\n let [, content] = props.children as [ReactElement, ReactElement];\n\n yield {\n element: React.cloneElement(trigger, {\n ...(trigger.props as any),\n hasChildItems: true,\n isTrigger: true\n }),\n wrapper: element => (\n <SubmenuTrigger key={element.key} targetKey={element.key} {...props}>\n {element}\n {content}\n </SubmenuTrigger>\n )\n };\n};\n\nlet _SubmenuTrigger = SubmenuTrigger as unknown as (\n props: SpectrumSubmenuTriggerProps\n) => JSX.Element;\nexport {_SubmenuTrigger as SubmenuTrigger};\n"],"names":[],"version":3,"file":"SubmenuTrigger.js.map"}
1
+ {"mappings":"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","sources":["packages/@adobe/react-spectrum/src/menu/SubmenuTrigger.tsx"],"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 {classNames} from '../utils/classNames';\n\nimport {isFocusWithin} from 'react-aria/private/utils/shadowdom/DOMFunctions';\nimport {Key} from '@react-types/shared';\nimport {MenuContext, SubmenuTriggerContext, useMenuStateContext} from './context';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport {Popover} from '../overlays/Popover';\nimport React, {type JSX, ReactElement, useRef} from 'react';\nimport ReactDOM from 'react-dom';\nimport styles from '@adobe/spectrum-css-temp/components/menu/vars.css';\nimport {useIsMobileDevice} from '../utils/useIsMobileDevice';\nimport {useLocale} from 'react-aria/I18nProvider';\nimport {useSubmenuTrigger} from 'react-aria/useMenu';\nimport {useSubmenuTriggerState} from 'react-stately/useMenuTriggerState';\n\ninterface SubmenuTriggerProps {\n /**\n * The contents of the SubmenuTrigger - an Item and a Menu.\n */\n children: ReactElement<any>[];\n targetKey: Key;\n}\n\nexport interface SpectrumSubmenuTriggerProps extends Omit<SubmenuTriggerProps, 'targetKey'> {}\n\nfunction SubmenuTrigger(props: SubmenuTriggerProps) {\n let triggerRef = useRef<HTMLDivElement>(null);\n let {children, targetKey} = props;\n\n let [menuTrigger, menu] = React.Children.toArray(children);\n let {\n popoverContainer,\n trayContainerRef,\n menu: parentMenuRef,\n submenu: menuRef,\n rootMenuTriggerState\n } = useMenuStateContext()!;\n let submenuTriggerState = useSubmenuTriggerState({triggerKey: targetKey}, rootMenuTriggerState!);\n let {submenuTriggerProps, submenuProps, popoverProps} = useSubmenuTrigger(\n {\n parentMenuRef,\n submenuRef: menuRef\n },\n submenuTriggerState,\n triggerRef\n );\n let isMobile = useIsMobileDevice();\n let onBackButtonPress = () => {\n submenuTriggerState.close();\n if (parentMenuRef.current && !isFocusWithin(parentMenuRef.current)) {\n parentMenuRef.current.focus();\n }\n };\n\n let {direction} = useLocale();\n let mobileSubmenuKeyDown = (e: KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowLeft':\n if (direction === 'ltr') {\n triggerRef.current?.focus();\n }\n break;\n case 'ArrowRight':\n if (direction === 'rtl') {\n triggerRef.current?.focus();\n }\n break;\n }\n };\n\n let overlay;\n\n if (isMobile) {\n // oxlint-disable-next-line react/react-compiler\n delete submenuTriggerProps.onBlur;\n // oxlint-disable-next-line react/react-compiler\n delete submenuTriggerProps.onHoverChange;\n submenuProps.autoFocus ??= true;\n // oxlint-disable-next-line react/react-compiler\n if (trayContainerRef.current && submenuTriggerState.isOpen) {\n // oxlint-disable-next-line react/react-compiler\n overlay = ReactDOM.createPortal(menu, trayContainerRef.current);\n }\n } else {\n let onDismissButtonPress = () => {\n submenuTriggerState.close();\n parentMenuRef.current?.focus();\n };\n\n overlay = (\n <Popover\n {...popoverProps}\n onDismissButtonPress={onDismissButtonPress}\n UNSAFE_className={classNames(styles, 'spectrum-Submenu-popover')}\n container={popoverContainer!}\n containerPadding={0}\n enableBothDismissButtons\n UNSAFE_style={{clipPath: 'unset', overflow: 'visible', borderWidth: '0px'}}\n state={submenuTriggerState}\n triggerRef={triggerRef}\n scrollRef={menuRef}\n placement=\"end top\"\n hideArrow>\n {menu}\n </Popover>\n );\n }\n\n let menuContext = {\n // oxlint-disable-next-line react/react-compiler\n ...mergeProps(submenuProps, {\n ref: menuRef,\n UNSAFE_style: isMobile\n ? {\n width: '100%',\n maxHeight: 'inherit'\n }\n : undefined,\n UNSAFE_className: classNames(styles, {'spectrum-Menu-popover': !isMobile}),\n ...(isMobile && {\n onBackButtonPress,\n onKeyDown: mobileSubmenuKeyDown\n })\n })\n };\n\n return (\n <>\n <SubmenuTriggerContext.Provider value={{triggerRef, ...submenuTriggerProps}}>\n {menuTrigger}\n </SubmenuTriggerContext.Provider>\n <MenuContext.Provider value={menuContext}>{overlay}</MenuContext.Provider>\n </>\n );\n}\n\nSubmenuTrigger.getCollectionNode = function* (props: SpectrumSubmenuTriggerProps) {\n let childArray: ReactElement[] = [];\n React.Children.forEach(props.children, child => {\n if (React.isValidElement(child)) {\n childArray.push(child);\n }\n });\n let [trigger] = childArray;\n let [, content] = props.children as [ReactElement, ReactElement];\n\n yield {\n element: React.cloneElement(trigger, {\n ...(trigger.props as any),\n hasChildItems: true,\n isTrigger: true\n }),\n wrapper: element => (\n <SubmenuTrigger key={element.key} targetKey={element.key} {...props}>\n {element}\n {content}\n </SubmenuTrigger>\n )\n };\n};\n\nlet _SubmenuTrigger = SubmenuTrigger as unknown as (\n props: SpectrumSubmenuTriggerProps\n) => JSX.Element;\nexport {_SubmenuTrigger as SubmenuTrigger};\n"],"names":[],"version":3,"file":"SubmenuTrigger.js.map"}
@@ -68,10 +68,14 @@ function $c7fb8c3de17f5e37$var$SubmenuTrigger(props) {
68
68
  };
69
69
  let overlay;
70
70
  if (isMobile) {
71
+ // oxlint-disable-next-line react/react-compiler
71
72
  delete submenuTriggerProps.onBlur;
73
+ // oxlint-disable-next-line react/react-compiler
72
74
  delete submenuTriggerProps.onHoverChange;
73
75
  submenuProps.autoFocus ??= true;
74
- if (trayContainerRef.current && submenuTriggerState.isOpen) overlay = /*#__PURE__*/ (0, $di7IS$reactdom).createPortal(menu, trayContainerRef.current);
76
+ // oxlint-disable-next-line react/react-compiler
77
+ if (trayContainerRef.current && submenuTriggerState.isOpen) // oxlint-disable-next-line react/react-compiler
78
+ overlay = /*#__PURE__*/ (0, $di7IS$reactdom).createPortal(menu, trayContainerRef.current);
75
79
  } else {
76
80
  let onDismissButtonPress = ()=>{
77
81
  submenuTriggerState.close();
@@ -97,6 +101,7 @@ function $c7fb8c3de17f5e37$var$SubmenuTrigger(props) {
97
101
  }, menu);
98
102
  }
99
103
  let menuContext = {
104
+ // oxlint-disable-next-line react/react-compiler
100
105
  ...(0, $di7IS$mergeProps)(submenuProps, {
101
106
  ref: menuRef,
102
107
  UNSAFE_style: isMobile ? {
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@adobe/react-spectrum/src/menu/SubmenuTrigger.tsx"],"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 {classNames} from '../utils/classNames';\n\nimport {isFocusWithin} from 'react-aria/private/utils/shadowdom/DOMFunctions';\nimport {Key} from '@react-types/shared';\nimport {MenuContext, SubmenuTriggerContext, useMenuStateContext} from './context';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport {Popover} from '../overlays/Popover';\nimport React, {type JSX, ReactElement, useRef} from 'react';\nimport ReactDOM from 'react-dom';\nimport styles from '@adobe/spectrum-css-temp/components/menu/vars.css';\nimport {useIsMobileDevice} from '../utils/useIsMobileDevice';\nimport {useLocale} from 'react-aria/I18nProvider';\nimport {useSubmenuTrigger} from 'react-aria/useMenu';\nimport {useSubmenuTriggerState} from 'react-stately/useMenuTriggerState';\n\ninterface SubmenuTriggerProps {\n /**\n * The contents of the SubmenuTrigger - an Item and a Menu.\n */\n children: ReactElement<any>[];\n targetKey: Key;\n}\n\nexport interface SpectrumSubmenuTriggerProps extends Omit<SubmenuTriggerProps, 'targetKey'> {}\n\nfunction SubmenuTrigger(props: SubmenuTriggerProps) {\n let triggerRef = useRef<HTMLDivElement>(null);\n let {children, targetKey} = props;\n\n let [menuTrigger, menu] = React.Children.toArray(children);\n let {\n popoverContainer,\n trayContainerRef,\n menu: parentMenuRef,\n submenu: menuRef,\n rootMenuTriggerState\n } = useMenuStateContext()!;\n let submenuTriggerState = useSubmenuTriggerState({triggerKey: targetKey}, rootMenuTriggerState!);\n let {submenuTriggerProps, submenuProps, popoverProps} = useSubmenuTrigger(\n {\n parentMenuRef,\n submenuRef: menuRef\n },\n submenuTriggerState,\n triggerRef\n );\n let isMobile = useIsMobileDevice();\n let onBackButtonPress = () => {\n submenuTriggerState.close();\n if (parentMenuRef.current && !isFocusWithin(parentMenuRef.current)) {\n parentMenuRef.current.focus();\n }\n };\n\n let {direction} = useLocale();\n let mobileSubmenuKeyDown = (e: KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowLeft':\n if (direction === 'ltr') {\n triggerRef.current?.focus();\n }\n break;\n case 'ArrowRight':\n if (direction === 'rtl') {\n triggerRef.current?.focus();\n }\n break;\n }\n };\n\n let overlay;\n\n if (isMobile) {\n delete submenuTriggerProps.onBlur;\n delete submenuTriggerProps.onHoverChange;\n submenuProps.autoFocus ??= true;\n if (trayContainerRef.current && submenuTriggerState.isOpen) {\n overlay = ReactDOM.createPortal(menu, trayContainerRef.current);\n }\n } else {\n let onDismissButtonPress = () => {\n submenuTriggerState.close();\n parentMenuRef.current?.focus();\n };\n\n overlay = (\n <Popover\n {...popoverProps}\n onDismissButtonPress={onDismissButtonPress}\n UNSAFE_className={classNames(styles, 'spectrum-Submenu-popover')}\n container={popoverContainer!}\n containerPadding={0}\n enableBothDismissButtons\n UNSAFE_style={{clipPath: 'unset', overflow: 'visible', borderWidth: '0px'}}\n state={submenuTriggerState}\n triggerRef={triggerRef}\n scrollRef={menuRef}\n placement=\"end top\"\n hideArrow>\n {menu}\n </Popover>\n );\n }\n\n let menuContext = {\n ...mergeProps(submenuProps, {\n ref: menuRef,\n UNSAFE_style: isMobile\n ? {\n width: '100%',\n maxHeight: 'inherit'\n }\n : undefined,\n UNSAFE_className: classNames(styles, {'spectrum-Menu-popover': !isMobile}),\n ...(isMobile && {\n onBackButtonPress,\n onKeyDown: mobileSubmenuKeyDown\n })\n })\n };\n\n return (\n <>\n <SubmenuTriggerContext.Provider value={{triggerRef, ...submenuTriggerProps}}>\n {menuTrigger}\n </SubmenuTriggerContext.Provider>\n <MenuContext.Provider value={menuContext}>{overlay}</MenuContext.Provider>\n </>\n );\n}\n\nSubmenuTrigger.getCollectionNode = function* (props: SpectrumSubmenuTriggerProps) {\n let childArray: ReactElement[] = [];\n React.Children.forEach(props.children, child => {\n if (React.isValidElement(child)) {\n childArray.push(child);\n }\n });\n let [trigger] = childArray;\n let [, content] = props.children as [ReactElement, ReactElement];\n\n yield {\n element: React.cloneElement(trigger, {\n ...(trigger.props as any),\n hasChildItems: true,\n isTrigger: true\n }),\n wrapper: element => (\n <SubmenuTrigger key={element.key} targetKey={element.key} {...props}>\n {element}\n {content}\n </SubmenuTrigger>\n )\n };\n};\n\nlet _SubmenuTrigger = SubmenuTrigger as unknown as (\n props: SpectrumSubmenuTriggerProps\n) => JSX.Element;\nexport {_SubmenuTrigger as SubmenuTrigger};\n"],"names":[],"version":3,"file":"SubmenuTrigger.mjs.map"}
1
+ {"mappings":"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","sources":["packages/@adobe/react-spectrum/src/menu/SubmenuTrigger.tsx"],"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 {classNames} from '../utils/classNames';\n\nimport {isFocusWithin} from 'react-aria/private/utils/shadowdom/DOMFunctions';\nimport {Key} from '@react-types/shared';\nimport {MenuContext, SubmenuTriggerContext, useMenuStateContext} from './context';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport {Popover} from '../overlays/Popover';\nimport React, {type JSX, ReactElement, useRef} from 'react';\nimport ReactDOM from 'react-dom';\nimport styles from '@adobe/spectrum-css-temp/components/menu/vars.css';\nimport {useIsMobileDevice} from '../utils/useIsMobileDevice';\nimport {useLocale} from 'react-aria/I18nProvider';\nimport {useSubmenuTrigger} from 'react-aria/useMenu';\nimport {useSubmenuTriggerState} from 'react-stately/useMenuTriggerState';\n\ninterface SubmenuTriggerProps {\n /**\n * The contents of the SubmenuTrigger - an Item and a Menu.\n */\n children: ReactElement<any>[];\n targetKey: Key;\n}\n\nexport interface SpectrumSubmenuTriggerProps extends Omit<SubmenuTriggerProps, 'targetKey'> {}\n\nfunction SubmenuTrigger(props: SubmenuTriggerProps) {\n let triggerRef = useRef<HTMLDivElement>(null);\n let {children, targetKey} = props;\n\n let [menuTrigger, menu] = React.Children.toArray(children);\n let {\n popoverContainer,\n trayContainerRef,\n menu: parentMenuRef,\n submenu: menuRef,\n rootMenuTriggerState\n } = useMenuStateContext()!;\n let submenuTriggerState = useSubmenuTriggerState({triggerKey: targetKey}, rootMenuTriggerState!);\n let {submenuTriggerProps, submenuProps, popoverProps} = useSubmenuTrigger(\n {\n parentMenuRef,\n submenuRef: menuRef\n },\n submenuTriggerState,\n triggerRef\n );\n let isMobile = useIsMobileDevice();\n let onBackButtonPress = () => {\n submenuTriggerState.close();\n if (parentMenuRef.current && !isFocusWithin(parentMenuRef.current)) {\n parentMenuRef.current.focus();\n }\n };\n\n let {direction} = useLocale();\n let mobileSubmenuKeyDown = (e: KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowLeft':\n if (direction === 'ltr') {\n triggerRef.current?.focus();\n }\n break;\n case 'ArrowRight':\n if (direction === 'rtl') {\n triggerRef.current?.focus();\n }\n break;\n }\n };\n\n let overlay;\n\n if (isMobile) {\n // oxlint-disable-next-line react/react-compiler\n delete submenuTriggerProps.onBlur;\n // oxlint-disable-next-line react/react-compiler\n delete submenuTriggerProps.onHoverChange;\n submenuProps.autoFocus ??= true;\n // oxlint-disable-next-line react/react-compiler\n if (trayContainerRef.current && submenuTriggerState.isOpen) {\n // oxlint-disable-next-line react/react-compiler\n overlay = ReactDOM.createPortal(menu, trayContainerRef.current);\n }\n } else {\n let onDismissButtonPress = () => {\n submenuTriggerState.close();\n parentMenuRef.current?.focus();\n };\n\n overlay = (\n <Popover\n {...popoverProps}\n onDismissButtonPress={onDismissButtonPress}\n UNSAFE_className={classNames(styles, 'spectrum-Submenu-popover')}\n container={popoverContainer!}\n containerPadding={0}\n enableBothDismissButtons\n UNSAFE_style={{clipPath: 'unset', overflow: 'visible', borderWidth: '0px'}}\n state={submenuTriggerState}\n triggerRef={triggerRef}\n scrollRef={menuRef}\n placement=\"end top\"\n hideArrow>\n {menu}\n </Popover>\n );\n }\n\n let menuContext = {\n // oxlint-disable-next-line react/react-compiler\n ...mergeProps(submenuProps, {\n ref: menuRef,\n UNSAFE_style: isMobile\n ? {\n width: '100%',\n maxHeight: 'inherit'\n }\n : undefined,\n UNSAFE_className: classNames(styles, {'spectrum-Menu-popover': !isMobile}),\n ...(isMobile && {\n onBackButtonPress,\n onKeyDown: mobileSubmenuKeyDown\n })\n })\n };\n\n return (\n <>\n <SubmenuTriggerContext.Provider value={{triggerRef, ...submenuTriggerProps}}>\n {menuTrigger}\n </SubmenuTriggerContext.Provider>\n <MenuContext.Provider value={menuContext}>{overlay}</MenuContext.Provider>\n </>\n );\n}\n\nSubmenuTrigger.getCollectionNode = function* (props: SpectrumSubmenuTriggerProps) {\n let childArray: ReactElement[] = [];\n React.Children.forEach(props.children, child => {\n if (React.isValidElement(child)) {\n childArray.push(child);\n }\n });\n let [trigger] = childArray;\n let [, content] = props.children as [ReactElement, ReactElement];\n\n yield {\n element: React.cloneElement(trigger, {\n ...(trigger.props as any),\n hasChildItems: true,\n isTrigger: true\n }),\n wrapper: element => (\n <SubmenuTrigger key={element.key} targetKey={element.key} {...props}>\n {element}\n {content}\n </SubmenuTrigger>\n )\n };\n};\n\nlet _SubmenuTrigger = SubmenuTrigger as unknown as (\n props: SpectrumSubmenuTriggerProps\n) => JSX.Element;\nexport {_SubmenuTrigger as SubmenuTrigger};\n"],"names":[],"version":3,"file":"SubmenuTrigger.mjs.map"}