@adobe/react-spectrum 3.47.0 → 3.47.1

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 (966) hide show
  1. package/dist/exports/Accordion.cjs.map +1 -1
  2. package/dist/exports/Accordion.js.map +1 -1
  3. package/dist/exports/Accordion.mjs.map +1 -1
  4. package/dist/exports/ProgressCircle.cjs.map +1 -1
  5. package/dist/exports/ProgressCircle.js.map +1 -1
  6. package/dist/exports/ProgressCircle.mjs.map +1 -1
  7. package/dist/exports/Provider.cjs.map +1 -1
  8. package/dist/exports/Provider.js.map +1 -1
  9. package/dist/exports/Provider.mjs.map +1 -1
  10. package/dist/exports/TableView.cjs.map +1 -1
  11. package/dist/exports/TableView.js.map +1 -1
  12. package/dist/exports/TableView.mjs.map +1 -1
  13. package/dist/exports/Tabs.cjs.map +1 -1
  14. package/dist/exports/Tabs.js.map +1 -1
  15. package/dist/exports/Tabs.mjs.map +1 -1
  16. package/dist/exports/Toast.cjs.map +1 -1
  17. package/dist/exports/Toast.js.map +1 -1
  18. package/dist/exports/Toast.mjs.map +1 -1
  19. package/dist/exports/TreeView.cjs.map +1 -1
  20. package/dist/exports/TreeView.js.map +1 -1
  21. package/dist/exports/TreeView.mjs.map +1 -1
  22. package/dist/exports/index.cjs.map +1 -1
  23. package/dist/exports/index.js.map +1 -1
  24. package/dist/exports/index.mjs.map +1 -1
  25. package/dist/exports/private/autocomplete/SearchAutocomplete.cjs.map +1 -1
  26. package/dist/exports/private/autocomplete/SearchAutocomplete.js.map +1 -1
  27. package/dist/exports/private/autocomplete/SearchAutocomplete.mjs.map +1 -1
  28. package/dist/exports/private/card/types.cjs.map +1 -1
  29. package/dist/exports/private/card/types.js.map +1 -1
  30. package/dist/exports/private/card/types.mjs.map +1 -1
  31. package/dist/exports/private/icon/Illustration.cjs.map +1 -1
  32. package/dist/exports/private/icon/Illustration.js.map +1 -1
  33. package/dist/exports/private/icon/Illustration.mjs.map +1 -1
  34. package/dist/exports/private/progress/ProgressBarBase.cjs.map +1 -1
  35. package/dist/exports/private/progress/ProgressBarBase.js.map +1 -1
  36. package/dist/exports/private/progress/ProgressBarBase.mjs.map +1 -1
  37. package/dist/exports/private/utils/BreakpointProvider.cjs.map +1 -1
  38. package/dist/exports/private/utils/BreakpointProvider.js.map +1 -1
  39. package/dist/exports/private/utils/BreakpointProvider.mjs.map +1 -1
  40. package/dist/exports/private/utils/classNames.cjs.map +1 -1
  41. package/dist/exports/private/utils/classNames.js.map +1 -1
  42. package/dist/exports/private/utils/classNames.mjs.map +1 -1
  43. package/dist/exports/private/utils/styleProps.cjs.map +1 -1
  44. package/dist/exports/private/utils/styleProps.js.map +1 -1
  45. package/dist/exports/private/utils/styleProps.mjs.map +1 -1
  46. package/dist/exports/private/utils/useDOMRef.cjs.map +1 -1
  47. package/dist/exports/private/utils/useDOMRef.js.map +1 -1
  48. package/dist/exports/private/utils/useDOMRef.mjs.map +1 -1
  49. package/dist/exports/useAsyncList.cjs.map +1 -1
  50. package/dist/exports/useAsyncList.js.map +1 -1
  51. package/dist/exports/useAsyncList.mjs.map +1 -1
  52. package/dist/exports/useDragAndDrop.cjs.map +1 -1
  53. package/dist/exports/useDragAndDrop.js.map +1 -1
  54. package/dist/exports/useDragAndDrop.mjs.map +1 -1
  55. package/dist/private/accordion/Accordion.cjs.map +1 -1
  56. package/dist/private/accordion/Accordion.js.map +1 -1
  57. package/dist/private/accordion/Accordion.mjs.map +1 -1
  58. package/dist/private/accordion_vars.css +26 -24
  59. package/dist/private/accordion_vars.css.map +1 -1
  60. package/dist/private/accordion_vars_css.cjs +13 -13
  61. package/dist/private/accordion_vars_css.mjs +13 -13
  62. package/dist/private/actionbar/ActionBar.cjs.map +1 -1
  63. package/dist/private/actionbar/ActionBar.js.map +1 -1
  64. package/dist/private/actionbar/ActionBar.mjs.map +1 -1
  65. package/dist/private/actionbar/ActionBarContainer.cjs.map +1 -1
  66. package/dist/private/actionbar/ActionBarContainer.js.map +1 -1
  67. package/dist/private/actionbar/ActionBarContainer.mjs.map +1 -1
  68. package/dist/private/actionbar/actionbar.css +17 -16
  69. package/dist/private/actionbar/actionbar.css.map +1 -1
  70. package/dist/private/actionbar/actionbar_css.cjs +10 -10
  71. package/dist/private/actionbar/actionbar_css.cjs.map +1 -1
  72. package/dist/private/actionbar/actionbar_css.mjs +10 -10
  73. package/dist/private/actionbar/actionbar_css.mjs.map +1 -1
  74. package/dist/private/actiongroup/ActionGroup.cjs +6 -3
  75. package/dist/private/actiongroup/ActionGroup.cjs.map +1 -1
  76. package/dist/private/actiongroup/ActionGroup.js +6 -3
  77. package/dist/private/actiongroup/ActionGroup.js.map +1 -1
  78. package/dist/private/actiongroup/ActionGroup.mjs +6 -3
  79. package/dist/private/actiongroup/ActionGroup.mjs.map +1 -1
  80. package/dist/private/actiongroup_vars.css +34 -34
  81. package/dist/private/actiongroup_vars.css.map +1 -1
  82. package/dist/private/actiongroup_vars_css.cjs +16 -16
  83. package/dist/private/actiongroup_vars_css.mjs +16 -16
  84. package/dist/private/autocomplete/MobileSearchAutocomplete.cjs.map +1 -1
  85. package/dist/private/autocomplete/MobileSearchAutocomplete.js.map +1 -1
  86. package/dist/private/autocomplete/MobileSearchAutocomplete.mjs.map +1 -1
  87. package/dist/private/autocomplete/SearchAutocomplete.cjs.map +1 -1
  88. package/dist/private/autocomplete/SearchAutocomplete.js.map +1 -1
  89. package/dist/private/autocomplete/SearchAutocomplete.mjs.map +1 -1
  90. package/dist/private/avatar/Avatar.cjs.map +1 -1
  91. package/dist/private/avatar/Avatar.js.map +1 -1
  92. package/dist/private/avatar/Avatar.mjs.map +1 -1
  93. package/dist/private/badge/Badge.cjs.map +1 -1
  94. package/dist/private/badge/Badge.js.map +1 -1
  95. package/dist/private/badge/Badge.mjs.map +1 -1
  96. package/dist/private/badge_vars.css +39 -38
  97. package/dist/private/badge_vars.css.map +1 -1
  98. package/dist/private/badge_vars_css.cjs +20 -20
  99. package/dist/private/badge_vars_css.mjs +20 -20
  100. package/dist/private/barloader_vars.css +55 -54
  101. package/dist/private/barloader_vars.css.map +1 -1
  102. package/dist/private/barloader_vars_css.cjs +21 -21
  103. package/dist/private/barloader_vars_css.cjs.map +1 -1
  104. package/dist/private/barloader_vars_css.mjs +21 -21
  105. package/dist/private/barloader_vars_css.mjs.map +1 -1
  106. package/dist/private/breadcrumb_vars.css +56 -55
  107. package/dist/private/breadcrumb_vars.css.map +1 -1
  108. package/dist/private/breadcrumb_vars_css.cjs +20 -20
  109. package/dist/private/breadcrumb_vars_css.mjs +20 -20
  110. package/dist/private/breadcrumbs/BreadcrumbItem.cjs.map +1 -1
  111. package/dist/private/breadcrumbs/BreadcrumbItem.js.map +1 -1
  112. package/dist/private/breadcrumbs/BreadcrumbItem.mjs.map +1 -1
  113. package/dist/private/breadcrumbs/Breadcrumbs.cjs.map +1 -1
  114. package/dist/private/breadcrumbs/Breadcrumbs.js.map +1 -1
  115. package/dist/private/breadcrumbs/Breadcrumbs.mjs.map +1 -1
  116. package/dist/private/button/ActionButton.cjs.map +1 -1
  117. package/dist/private/button/ActionButton.js.map +1 -1
  118. package/dist/private/button/ActionButton.mjs.map +1 -1
  119. package/dist/private/button/Button.cjs +1 -1
  120. package/dist/private/button/Button.cjs.map +1 -1
  121. package/dist/private/button/Button.js +1 -1
  122. package/dist/private/button/Button.js.map +1 -1
  123. package/dist/private/button/Button.mjs +1 -1
  124. package/dist/private/button/Button.mjs.map +1 -1
  125. package/dist/private/button/ClearButton.cjs.map +1 -1
  126. package/dist/private/button/ClearButton.js.map +1 -1
  127. package/dist/private/button/ClearButton.mjs.map +1 -1
  128. package/dist/private/button/FieldButton.cjs.map +1 -1
  129. package/dist/private/button/FieldButton.js.map +1 -1
  130. package/dist/private/button/FieldButton.mjs.map +1 -1
  131. package/dist/private/button/LogicButton.cjs.map +1 -1
  132. package/dist/private/button/LogicButton.js.map +1 -1
  133. package/dist/private/button/LogicButton.mjs.map +1 -1
  134. package/dist/private/button/ToggleButton.cjs.map +1 -1
  135. package/dist/private/button/ToggleButton.js.map +1 -1
  136. package/dist/private/button/ToggleButton.mjs.map +1 -1
  137. package/dist/private/button_vars.css +207 -205
  138. package/dist/private/button_vars.css.map +1 -1
  139. package/dist/private/button_vars_css.cjs +39 -39
  140. package/dist/private/button_vars_css.mjs +39 -39
  141. package/dist/private/buttongroup/ButtonGroup.cjs.map +1 -1
  142. package/dist/private/buttongroup/ButtonGroup.js.map +1 -1
  143. package/dist/private/buttongroup/ButtonGroup.mjs.map +1 -1
  144. package/dist/private/calendar/Calendar.cjs.map +1 -1
  145. package/dist/private/calendar/Calendar.js.map +1 -1
  146. package/dist/private/calendar/Calendar.mjs.map +1 -1
  147. package/dist/private/calendar/CalendarBase.cjs.map +1 -1
  148. package/dist/private/calendar/CalendarBase.js.map +1 -1
  149. package/dist/private/calendar/CalendarBase.mjs.map +1 -1
  150. package/dist/private/calendar/CalendarCell.cjs.map +1 -1
  151. package/dist/private/calendar/CalendarCell.js.map +1 -1
  152. package/dist/private/calendar/CalendarCell.mjs.map +1 -1
  153. package/dist/private/calendar/CalendarMonth.cjs.map +1 -1
  154. package/dist/private/calendar/CalendarMonth.js.map +1 -1
  155. package/dist/private/calendar/CalendarMonth.mjs.map +1 -1
  156. package/dist/private/calendar/RangeCalendar.cjs.map +1 -1
  157. package/dist/private/calendar/RangeCalendar.js.map +1 -1
  158. package/dist/private/calendar/RangeCalendar.mjs.map +1 -1
  159. package/dist/private/calendar_vars.css +90 -88
  160. package/dist/private/calendar_vars.css.map +1 -1
  161. package/dist/private/calendar_vars_css.cjs +36 -36
  162. package/dist/private/calendar_vars_css.cjs.map +1 -1
  163. package/dist/private/calendar_vars_css.mjs +36 -36
  164. package/dist/private/calendar_vars_css.mjs.map +1 -1
  165. package/dist/private/card/BaseLayout.cjs.map +1 -1
  166. package/dist/private/card/BaseLayout.js.map +1 -1
  167. package/dist/private/card/BaseLayout.mjs.map +1 -1
  168. package/dist/private/card/Card.cjs.map +1 -1
  169. package/dist/private/card/Card.js.map +1 -1
  170. package/dist/private/card/Card.mjs.map +1 -1
  171. package/dist/private/card/CardBase.cjs +2 -1
  172. package/dist/private/card/CardBase.cjs.map +1 -1
  173. package/dist/private/card/CardBase.js +2 -1
  174. package/dist/private/card/CardBase.js.map +1 -1
  175. package/dist/private/card/CardBase.mjs +2 -1
  176. package/dist/private/card/CardBase.mjs.map +1 -1
  177. package/dist/private/card/CardView.cjs.map +1 -1
  178. package/dist/private/card/CardView.js.map +1 -1
  179. package/dist/private/card/CardView.mjs.map +1 -1
  180. package/dist/private/card/CardViewContext.cjs.map +1 -1
  181. package/dist/private/card/CardViewContext.js.map +1 -1
  182. package/dist/private/card/CardViewContext.mjs.map +1 -1
  183. package/dist/private/card/GalleryLayout.cjs +6 -6
  184. package/dist/private/card/GalleryLayout.cjs.map +1 -1
  185. package/dist/private/card/GalleryLayout.js +6 -6
  186. package/dist/private/card/GalleryLayout.js.map +1 -1
  187. package/dist/private/card/GalleryLayout.mjs +6 -6
  188. package/dist/private/card/GalleryLayout.mjs.map +1 -1
  189. package/dist/private/card/GridLayout.cjs +9 -9
  190. package/dist/private/card/GridLayout.cjs.map +1 -1
  191. package/dist/private/card/GridLayout.js +9 -9
  192. package/dist/private/card/GridLayout.js.map +1 -1
  193. package/dist/private/card/GridLayout.mjs +9 -9
  194. package/dist/private/card/GridLayout.mjs.map +1 -1
  195. package/dist/private/card/WaterfallLayout.cjs +2 -2
  196. package/dist/private/card/WaterfallLayout.cjs.map +1 -1
  197. package/dist/private/card/WaterfallLayout.js +2 -2
  198. package/dist/private/card/WaterfallLayout.js.map +1 -1
  199. package/dist/private/card/WaterfallLayout.mjs +2 -2
  200. package/dist/private/card/WaterfallLayout.mjs.map +1 -1
  201. package/dist/private/card_vars.css +311 -287
  202. package/dist/private/card_vars.css.map +1 -1
  203. package/dist/private/card_vars_css.cjs +36 -36
  204. package/dist/private/card_vars_css.mjs +36 -36
  205. package/dist/private/checkbox/Checkbox.cjs +2 -1
  206. package/dist/private/checkbox/Checkbox.cjs.map +1 -1
  207. package/dist/private/checkbox/Checkbox.js +2 -1
  208. package/dist/private/checkbox/Checkbox.js.map +1 -1
  209. package/dist/private/checkbox/Checkbox.mjs +2 -1
  210. package/dist/private/checkbox/Checkbox.mjs.map +1 -1
  211. package/dist/private/checkbox/CheckboxGroup.cjs.map +1 -1
  212. package/dist/private/checkbox/CheckboxGroup.js.map +1 -1
  213. package/dist/private/checkbox/CheckboxGroup.mjs.map +1 -1
  214. package/dist/private/checkbox_vars.css +77 -73
  215. package/dist/private/checkbox_vars.css.map +1 -1
  216. package/dist/private/checkbox_vars_css.cjs +17 -17
  217. package/dist/private/checkbox_vars_css.cjs.map +1 -1
  218. package/dist/private/checkbox_vars_css.mjs +17 -17
  219. package/dist/private/checkbox_vars_css.mjs.map +1 -1
  220. package/dist/private/circleloader_vars.css +49 -48
  221. package/dist/private/circleloader_vars.css.map +1 -1
  222. package/dist/private/circleloader_vars_css.cjs +23 -23
  223. package/dist/private/circleloader_vars_css.mjs +23 -23
  224. package/dist/private/color/ColorArea.cjs.map +1 -1
  225. package/dist/private/color/ColorArea.js.map +1 -1
  226. package/dist/private/color/ColorArea.mjs.map +1 -1
  227. package/dist/private/color/ColorEditor.cjs.map +1 -1
  228. package/dist/private/color/ColorEditor.js.map +1 -1
  229. package/dist/private/color/ColorEditor.mjs.map +1 -1
  230. package/dist/private/color/ColorField.cjs.map +1 -1
  231. package/dist/private/color/ColorField.js.map +1 -1
  232. package/dist/private/color/ColorField.mjs.map +1 -1
  233. package/dist/private/color/ColorPicker.cjs.map +1 -1
  234. package/dist/private/color/ColorPicker.js.map +1 -1
  235. package/dist/private/color/ColorPicker.mjs.map +1 -1
  236. package/dist/private/color/ColorSlider.cjs.map +1 -1
  237. package/dist/private/color/ColorSlider.js.map +1 -1
  238. package/dist/private/color/ColorSlider.mjs.map +1 -1
  239. package/dist/private/color/ColorSwatch.cjs.map +1 -1
  240. package/dist/private/color/ColorSwatch.js.map +1 -1
  241. package/dist/private/color/ColorSwatch.mjs.map +1 -1
  242. package/dist/private/color/ColorSwatchPicker.cjs.map +1 -1
  243. package/dist/private/color/ColorSwatchPicker.js.map +1 -1
  244. package/dist/private/color/ColorSwatchPicker.mjs.map +1 -1
  245. package/dist/private/color/ColorThumb.cjs.map +1 -1
  246. package/dist/private/color/ColorThumb.js.map +1 -1
  247. package/dist/private/color/ColorThumb.mjs.map +1 -1
  248. package/dist/private/color/ColorWheel.cjs +2 -2
  249. package/dist/private/color/ColorWheel.cjs.map +1 -1
  250. package/dist/private/color/ColorWheel.js +2 -2
  251. package/dist/private/color/ColorWheel.js.map +1 -1
  252. package/dist/private/color/ColorWheel.mjs +2 -2
  253. package/dist/private/color/ColorWheel.mjs.map +1 -1
  254. package/dist/private/colorarea_vars.css +18 -16
  255. package/dist/private/colorarea_vars.css.map +1 -1
  256. package/dist/private/colorarea_vars_css.cjs +7 -7
  257. package/dist/private/colorarea_vars_css.mjs +7 -7
  258. package/dist/private/colorhandle_vars.css +35 -21
  259. package/dist/private/colorhandle_vars.css.map +1 -1
  260. package/dist/private/colorhandle_vars_css.cjs +6 -6
  261. package/dist/private/colorhandle_vars_css.mjs +6 -6
  262. package/dist/private/colorloupe_vars.css +10 -14
  263. package/dist/private/colorloupe_vars.css.map +1 -1
  264. package/dist/private/colorloupe_vars_css.cjs +5 -5
  265. package/dist/private/colorloupe_vars_css.mjs +5 -5
  266. package/dist/private/colorslider_vars.css +28 -25
  267. package/dist/private/colorslider_vars.css.map +1 -1
  268. package/dist/private/colorslider_vars_css.cjs +15 -15
  269. package/dist/private/colorslider_vars_css.mjs +15 -15
  270. package/dist/private/colorwheel_vars.css +15 -15
  271. package/dist/private/colorwheel_vars.css.map +1 -1
  272. package/dist/private/colorwheel_vars_css.cjs +9 -9
  273. package/dist/private/colorwheel_vars_css.mjs +9 -9
  274. package/dist/private/combobox/ComboBox.cjs.map +1 -1
  275. package/dist/private/combobox/ComboBox.js.map +1 -1
  276. package/dist/private/combobox/ComboBox.mjs.map +1 -1
  277. package/dist/private/combobox/MobileComboBox.cjs.map +1 -1
  278. package/dist/private/combobox/MobileComboBox.js.map +1 -1
  279. package/dist/private/combobox/MobileComboBox.mjs.map +1 -1
  280. package/dist/private/contextualhelp/ContextualHelp.cjs.map +1 -1
  281. package/dist/private/contextualhelp/ContextualHelp.js.map +1 -1
  282. package/dist/private/contextualhelp/ContextualHelp.mjs.map +1 -1
  283. package/dist/private/datepicker/DateField.cjs.map +1 -1
  284. package/dist/private/datepicker/DateField.js.map +1 -1
  285. package/dist/private/datepicker/DateField.mjs.map +1 -1
  286. package/dist/private/datepicker/DatePicker.cjs.map +1 -1
  287. package/dist/private/datepicker/DatePicker.js.map +1 -1
  288. package/dist/private/datepicker/DatePicker.mjs.map +1 -1
  289. package/dist/private/datepicker/DatePickerField.cjs.map +1 -1
  290. package/dist/private/datepicker/DatePickerField.js.map +1 -1
  291. package/dist/private/datepicker/DatePickerField.mjs.map +1 -1
  292. package/dist/private/datepicker/DatePickerSegment.cjs.map +1 -1
  293. package/dist/private/datepicker/DatePickerSegment.js.map +1 -1
  294. package/dist/private/datepicker/DatePickerSegment.mjs.map +1 -1
  295. package/dist/private/datepicker/DateRangePicker.cjs.map +1 -1
  296. package/dist/private/datepicker/DateRangePicker.js.map +1 -1
  297. package/dist/private/datepicker/DateRangePicker.mjs.map +1 -1
  298. package/dist/private/datepicker/Input.cjs.map +1 -1
  299. package/dist/private/datepicker/Input.js.map +1 -1
  300. package/dist/private/datepicker/Input.mjs.map +1 -1
  301. package/dist/private/datepicker/TimeField.cjs.map +1 -1
  302. package/dist/private/datepicker/TimeField.js.map +1 -1
  303. package/dist/private/datepicker/TimeField.mjs.map +1 -1
  304. package/dist/private/datepicker/styles.css +39 -37
  305. package/dist/private/datepicker/styles.css.map +1 -1
  306. package/dist/private/datepicker/styles_css.cjs +23 -23
  307. package/dist/private/datepicker/styles_css.cjs.map +1 -1
  308. package/dist/private/datepicker/styles_css.mjs +23 -23
  309. package/dist/private/datepicker/styles_css.mjs.map +1 -1
  310. package/dist/private/datepicker/utils.cjs.map +1 -1
  311. package/dist/private/datepicker/utils.js.map +1 -1
  312. package/dist/private/datepicker/utils.mjs.map +1 -1
  313. package/dist/private/dialog/AlertDialog.cjs.map +1 -1
  314. package/dist/private/dialog/AlertDialog.js.map +1 -1
  315. package/dist/private/dialog/AlertDialog.mjs.map +1 -1
  316. package/dist/private/dialog/Dialog.cjs +2 -1
  317. package/dist/private/dialog/Dialog.cjs.map +1 -1
  318. package/dist/private/dialog/Dialog.js +2 -1
  319. package/dist/private/dialog/Dialog.js.map +1 -1
  320. package/dist/private/dialog/Dialog.mjs +2 -1
  321. package/dist/private/dialog/Dialog.mjs.map +1 -1
  322. package/dist/private/dialog/DialogContainer.cjs.map +1 -1
  323. package/dist/private/dialog/DialogContainer.js.map +1 -1
  324. package/dist/private/dialog/DialogContainer.mjs.map +1 -1
  325. package/dist/private/dialog/DialogTrigger.cjs +3 -3
  326. package/dist/private/dialog/DialogTrigger.cjs.map +1 -1
  327. package/dist/private/dialog/DialogTrigger.js +3 -3
  328. package/dist/private/dialog/DialogTrigger.js.map +1 -1
  329. package/dist/private/dialog/DialogTrigger.mjs +3 -3
  330. package/dist/private/dialog/DialogTrigger.mjs.map +1 -1
  331. package/dist/private/dialog/context.cjs.map +1 -1
  332. package/dist/private/dialog/context.js.map +1 -1
  333. package/dist/private/dialog/context.mjs.map +1 -1
  334. package/dist/private/dialog/useDialogContainer.cjs.map +1 -1
  335. package/dist/private/dialog/useDialogContainer.js.map +1 -1
  336. package/dist/private/dialog/useDialogContainer.mjs.map +1 -1
  337. package/dist/private/dialog_vars.css +169 -164
  338. package/dist/private/dialog_vars.css.map +1 -1
  339. package/dist/private/dialog_vars_css.cjs +51 -51
  340. package/dist/private/dialog_vars_css.mjs +51 -51
  341. package/dist/private/divider/Divider.cjs.map +1 -1
  342. package/dist/private/divider/Divider.js.map +1 -1
  343. package/dist/private/divider/Divider.mjs.map +1 -1
  344. package/dist/private/dnd/useDragAndDrop.cjs.map +1 -1
  345. package/dist/private/dnd/useDragAndDrop.js.map +1 -1
  346. package/dist/private/dnd/useDragAndDrop.mjs.map +1 -1
  347. package/dist/private/dropdown_vars.css +66 -57
  348. package/dist/private/dropdown_vars.css.map +1 -1
  349. package/dist/private/dropdown_vars_css.cjs +23 -23
  350. package/dist/private/dropdown_vars_css.mjs +23 -23
  351. package/dist/private/dropzone/DropZone.cjs.map +1 -1
  352. package/dist/private/dropzone/DropZone.js.map +1 -1
  353. package/dist/private/dropzone/DropZone.mjs.map +1 -1
  354. package/dist/private/dropzone_vars.css +34 -33
  355. package/dist/private/dropzone_vars.css.map +1 -1
  356. package/dist/private/dropzone_vars_css.cjs +10 -10
  357. package/dist/private/dropzone_vars_css.mjs +10 -10
  358. package/dist/private/fieldgroup_vars.css +22 -21
  359. package/dist/private/fieldgroup_vars.css.map +1 -1
  360. package/dist/private/fieldgroup_vars_css.cjs +8 -8
  361. package/dist/private/fieldgroup_vars_css.mjs +8 -8
  362. package/dist/private/fieldlabel_vars.css +61 -60
  363. package/dist/private/fieldlabel_vars.css.map +1 -1
  364. package/dist/private/fieldlabel_vars_css.cjs +29 -29
  365. package/dist/private/fieldlabel_vars_css.cjs.map +1 -1
  366. package/dist/private/fieldlabel_vars_css.mjs +29 -29
  367. package/dist/private/fieldlabel_vars_css.mjs.map +1 -1
  368. package/dist/private/form/Form.cjs.map +1 -1
  369. package/dist/private/form/Form.js.map +1 -1
  370. package/dist/private/form/Form.mjs.map +1 -1
  371. package/dist/private/helptext_vars.css +30 -27
  372. package/dist/private/helptext_vars.css.map +1 -1
  373. package/dist/private/helptext_vars_css.cjs +11 -11
  374. package/dist/private/helptext_vars_css.mjs +11 -11
  375. package/dist/private/icon/Icon.cjs.map +1 -1
  376. package/dist/private/icon/Icon.js.map +1 -1
  377. package/dist/private/icon/Icon.mjs.map +1 -1
  378. package/dist/private/icon/Illustration.cjs.map +1 -1
  379. package/dist/private/icon/Illustration.js.map +1 -1
  380. package/dist/private/icon/Illustration.mjs.map +1 -1
  381. package/dist/private/icon/UIIcon.cjs.map +1 -1
  382. package/dist/private/icon/UIIcon.js.map +1 -1
  383. package/dist/private/icon/UIIcon.mjs.map +1 -1
  384. package/dist/private/illustratedmessage/IllustratedMessage.cjs.map +1 -1
  385. package/dist/private/illustratedmessage/IllustratedMessage.js.map +1 -1
  386. package/dist/private/illustratedmessage/IllustratedMessage.mjs.map +1 -1
  387. package/dist/private/image/Image.cjs +2 -1
  388. package/dist/private/image/Image.cjs.map +1 -1
  389. package/dist/private/image/Image.js +2 -1
  390. package/dist/private/image/Image.js.map +1 -1
  391. package/dist/private/image/Image.mjs +2 -1
  392. package/dist/private/image/Image.mjs.map +1 -1
  393. package/dist/private/image_vars.css +1 -1
  394. package/dist/private/image_vars.css.map +1 -1
  395. package/dist/private/image_vars_css.cjs +1 -1
  396. package/dist/private/image_vars_css.mjs +1 -1
  397. package/dist/private/inlinealert/InlineAlert.cjs.map +1 -1
  398. package/dist/private/inlinealert/InlineAlert.js.map +1 -1
  399. package/dist/private/inlinealert/InlineAlert.mjs.map +1 -1
  400. package/dist/private/inlinealert_vars.css +44 -43
  401. package/dist/private/inlinealert_vars.css.map +1 -1
  402. package/dist/private/inlinealert_vars_css.cjs +18 -18
  403. package/dist/private/inlinealert_vars_css.cjs.map +1 -1
  404. package/dist/private/inlinealert_vars_css.mjs +18 -18
  405. package/dist/private/inlinealert_vars_css.mjs.map +1 -1
  406. package/dist/private/inputgroup_vars.css +96 -93
  407. package/dist/private/inputgroup_vars.css.map +1 -1
  408. package/dist/private/inputgroup_vars_css.cjs +26 -26
  409. package/dist/private/inputgroup_vars_css.mjs +26 -26
  410. package/dist/private/intl/actionbar/en-US.cjs.map +1 -1
  411. package/dist/private/intl/actionbar/en-US.js.map +1 -1
  412. package/dist/private/intl/actionbar/en-US.mjs.map +1 -1
  413. package/dist/private/intl/combobox/en-US.cjs.map +1 -1
  414. package/dist/private/intl/combobox/en-US.js.map +1 -1
  415. package/dist/private/intl/combobox/en-US.mjs.map +1 -1
  416. package/dist/private/intl/menu/en-US.cjs.map +1 -1
  417. package/dist/private/intl/menu/en-US.js.map +1 -1
  418. package/dist/private/intl/menu/en-US.mjs.map +1 -1
  419. package/dist/private/label/Field.cjs.map +1 -1
  420. package/dist/private/label/Field.js.map +1 -1
  421. package/dist/private/label/Field.mjs.map +1 -1
  422. package/dist/private/label/HelpText.cjs.map +1 -1
  423. package/dist/private/label/HelpText.js.map +1 -1
  424. package/dist/private/label/HelpText.mjs.map +1 -1
  425. package/dist/private/label/Label.cjs.map +1 -1
  426. package/dist/private/label/Label.js.map +1 -1
  427. package/dist/private/label/Label.mjs.map +1 -1
  428. package/dist/private/labeledvalue/LabeledValue.cjs.map +1 -1
  429. package/dist/private/labeledvalue/LabeledValue.js.map +1 -1
  430. package/dist/private/labeledvalue/LabeledValue.mjs.map +1 -1
  431. package/dist/private/layout/Flex.cjs.map +1 -1
  432. package/dist/private/layout/Flex.js.map +1 -1
  433. package/dist/private/layout/Flex.mjs.map +1 -1
  434. package/dist/private/layout/Grid.cjs.map +1 -1
  435. package/dist/private/layout/Grid.js.map +1 -1
  436. package/dist/private/layout/Grid.mjs.map +1 -1
  437. package/dist/private/link/Link.cjs.map +1 -1
  438. package/dist/private/link/Link.js.map +1 -1
  439. package/dist/private/link/Link.mjs.map +1 -1
  440. package/dist/private/link_vars.css +38 -37
  441. package/dist/private/link_vars.css.map +1 -1
  442. package/dist/private/link_vars_css.cjs +11 -11
  443. package/dist/private/link_vars_css.mjs +11 -11
  444. package/dist/private/list/DragPreview.cjs.map +1 -1
  445. package/dist/private/list/DragPreview.js.map +1 -1
  446. package/dist/private/list/DragPreview.mjs.map +1 -1
  447. package/dist/private/list/InsertionIndicator.cjs.map +1 -1
  448. package/dist/private/list/InsertionIndicator.js.map +1 -1
  449. package/dist/private/list/InsertionIndicator.mjs.map +1 -1
  450. package/dist/private/list/ListView.cjs +2 -1
  451. package/dist/private/list/ListView.cjs.map +1 -1
  452. package/dist/private/list/ListView.js +2 -1
  453. package/dist/private/list/ListView.js.map +1 -1
  454. package/dist/private/list/ListView.mjs +2 -1
  455. package/dist/private/list/ListView.mjs.map +1 -1
  456. package/dist/private/list/ListViewItem.cjs.map +1 -1
  457. package/dist/private/list/ListViewItem.js.map +1 -1
  458. package/dist/private/list/ListViewItem.mjs.map +1 -1
  459. package/dist/private/list/ListViewLayout.cjs.map +1 -1
  460. package/dist/private/list/ListViewLayout.js.map +1 -1
  461. package/dist/private/list/ListViewLayout.mjs.map +1 -1
  462. package/dist/private/list/RootDropIndicator.cjs.map +1 -1
  463. package/dist/private/list/RootDropIndicator.js.map +1 -1
  464. package/dist/private/list/RootDropIndicator.mjs.map +1 -1
  465. package/dist/private/list/styles.css +108 -104
  466. package/dist/private/list/styles.css.map +1 -1
  467. package/dist/private/list/styles_css.cjs +63 -63
  468. package/dist/private/list/styles_css.cjs.map +1 -1
  469. package/dist/private/list/styles_css.mjs +63 -63
  470. package/dist/private/list/styles_css.mjs.map +1 -1
  471. package/dist/private/listbox/ListBox.cjs.map +1 -1
  472. package/dist/private/listbox/ListBox.js.map +1 -1
  473. package/dist/private/listbox/ListBox.mjs.map +1 -1
  474. package/dist/private/listbox/ListBoxBase.cjs +4 -2
  475. package/dist/private/listbox/ListBoxBase.cjs.map +1 -1
  476. package/dist/private/listbox/ListBoxBase.js +4 -2
  477. package/dist/private/listbox/ListBoxBase.js.map +1 -1
  478. package/dist/private/listbox/ListBoxBase.mjs +4 -2
  479. package/dist/private/listbox/ListBoxBase.mjs.map +1 -1
  480. package/dist/private/listbox/ListBoxContext.cjs.map +1 -1
  481. package/dist/private/listbox/ListBoxContext.js.map +1 -1
  482. package/dist/private/listbox/ListBoxContext.mjs.map +1 -1
  483. package/dist/private/listbox/ListBoxLayout.cjs.map +1 -1
  484. package/dist/private/listbox/ListBoxLayout.js.map +1 -1
  485. package/dist/private/listbox/ListBoxLayout.mjs.map +1 -1
  486. package/dist/private/listbox/ListBoxOption.cjs.map +1 -1
  487. package/dist/private/listbox/ListBoxOption.js.map +1 -1
  488. package/dist/private/listbox/ListBoxOption.mjs.map +1 -1
  489. package/dist/private/listbox/ListBoxSection.cjs.map +1 -1
  490. package/dist/private/listbox/ListBoxSection.js.map +1 -1
  491. package/dist/private/listbox/ListBoxSection.mjs.map +1 -1
  492. package/dist/private/menu/ActionMenu.cjs.map +1 -1
  493. package/dist/private/menu/ActionMenu.js.map +1 -1
  494. package/dist/private/menu/ActionMenu.mjs.map +1 -1
  495. package/dist/private/menu/ContextualHelpTrigger.cjs.map +1 -1
  496. package/dist/private/menu/ContextualHelpTrigger.js.map +1 -1
  497. package/dist/private/menu/ContextualHelpTrigger.mjs.map +1 -1
  498. package/dist/private/menu/Menu.cjs.map +1 -1
  499. package/dist/private/menu/Menu.js.map +1 -1
  500. package/dist/private/menu/Menu.mjs.map +1 -1
  501. package/dist/private/menu/MenuItem.cjs.map +1 -1
  502. package/dist/private/menu/MenuItem.js.map +1 -1
  503. package/dist/private/menu/MenuItem.mjs.map +1 -1
  504. package/dist/private/menu/MenuSection.cjs.map +1 -1
  505. package/dist/private/menu/MenuSection.js.map +1 -1
  506. package/dist/private/menu/MenuSection.mjs.map +1 -1
  507. package/dist/private/menu/MenuTrigger.cjs.map +1 -1
  508. package/dist/private/menu/MenuTrigger.js.map +1 -1
  509. package/dist/private/menu/MenuTrigger.mjs.map +1 -1
  510. package/dist/private/menu/SubmenuTrigger.cjs.map +1 -1
  511. package/dist/private/menu/SubmenuTrigger.js.map +1 -1
  512. package/dist/private/menu/SubmenuTrigger.mjs.map +1 -1
  513. package/dist/private/menu/context.cjs.map +1 -1
  514. package/dist/private/menu/context.js.map +1 -1
  515. package/dist/private/menu/context.mjs.map +1 -1
  516. package/dist/private/menu_vars.css +113 -104
  517. package/dist/private/menu_vars.css.map +1 -1
  518. package/dist/private/menu_vars_css.cjs +55 -55
  519. package/dist/private/menu_vars_css.mjs +55 -55
  520. package/dist/private/meter/Meter.cjs.map +1 -1
  521. package/dist/private/meter/Meter.js.map +1 -1
  522. package/dist/private/meter/Meter.mjs.map +1 -1
  523. package/dist/private/modal_vars.css +48 -42
  524. package/dist/private/modal_vars.css.map +1 -1
  525. package/dist/private/modal_vars_css.cjs +17 -17
  526. package/dist/private/modal_vars_css.cjs.map +1 -1
  527. package/dist/private/modal_vars_css.mjs +17 -17
  528. package/dist/private/modal_vars_css.mjs.map +1 -1
  529. package/dist/private/numberfield/NumberField.cjs.map +1 -1
  530. package/dist/private/numberfield/NumberField.js.map +1 -1
  531. package/dist/private/numberfield/NumberField.mjs.map +1 -1
  532. package/dist/private/numberfield/StepButton.cjs.map +1 -1
  533. package/dist/private/numberfield/StepButton.js.map +1 -1
  534. package/dist/private/numberfield/StepButton.mjs.map +1 -1
  535. package/dist/private/overlays/Modal.cjs.map +1 -1
  536. package/dist/private/overlays/Modal.js.map +1 -1
  537. package/dist/private/overlays/Modal.mjs.map +1 -1
  538. package/dist/private/overlays/OpenTransition.cjs.map +1 -1
  539. package/dist/private/overlays/OpenTransition.js.map +1 -1
  540. package/dist/private/overlays/OpenTransition.mjs.map +1 -1
  541. package/dist/private/overlays/Overlay.cjs.map +1 -1
  542. package/dist/private/overlays/Overlay.js.map +1 -1
  543. package/dist/private/overlays/Overlay.mjs.map +1 -1
  544. package/dist/private/overlays/Popover.cjs +15 -16
  545. package/dist/private/overlays/Popover.cjs.map +1 -1
  546. package/dist/private/overlays/Popover.js +15 -16
  547. package/dist/private/overlays/Popover.js.map +1 -1
  548. package/dist/private/overlays/Popover.mjs +15 -16
  549. package/dist/private/overlays/Popover.mjs.map +1 -1
  550. package/dist/private/overlays/Tray.cjs.map +1 -1
  551. package/dist/private/overlays/Tray.js.map +1 -1
  552. package/dist/private/overlays/Tray.mjs.map +1 -1
  553. package/dist/private/overlays/Underlay.cjs.map +1 -1
  554. package/dist/private/overlays/Underlay.js.map +1 -1
  555. package/dist/private/overlays/Underlay.mjs.map +1 -1
  556. package/dist/private/package.cjs +1 -1
  557. package/dist/private/package.cjs.map +1 -1
  558. package/dist/private/package.js +1 -1
  559. package/dist/private/package.js.map +1 -1
  560. package/dist/private/package.mjs +1 -1
  561. package/dist/private/package.mjs.map +1 -1
  562. package/dist/private/page_vars.css +20 -19
  563. package/dist/private/page_vars.css.map +1 -1
  564. package/dist/private/page_vars_css.cjs +6 -6
  565. package/dist/private/page_vars_css.mjs +6 -6
  566. package/dist/private/picker/Picker.cjs.map +1 -1
  567. package/dist/private/picker/Picker.js.map +1 -1
  568. package/dist/private/picker/Picker.mjs.map +1 -1
  569. package/dist/private/popover_vars.css +48 -46
  570. package/dist/private/popover_vars.css.map +1 -1
  571. package/dist/private/popover_vars_css.cjs +26 -26
  572. package/dist/private/popover_vars_css.mjs +26 -26
  573. package/dist/private/progress/ProgressBar.cjs.map +1 -1
  574. package/dist/private/progress/ProgressBar.js.map +1 -1
  575. package/dist/private/progress/ProgressBar.mjs.map +1 -1
  576. package/dist/private/progress/ProgressBarBase.cjs.map +1 -1
  577. package/dist/private/progress/ProgressBarBase.js.map +1 -1
  578. package/dist/private/progress/ProgressBarBase.mjs.map +1 -1
  579. package/dist/private/progress/ProgressCircle.cjs.map +1 -1
  580. package/dist/private/progress/ProgressCircle.js.map +1 -1
  581. package/dist/private/progress/ProgressCircle.mjs.map +1 -1
  582. package/dist/private/provider/Provider.cjs.map +1 -1
  583. package/dist/private/provider/Provider.js.map +1 -1
  584. package/dist/private/provider/Provider.mjs.map +1 -1
  585. package/dist/private/radio/Radio.cjs +2 -1
  586. package/dist/private/radio/Radio.cjs.map +1 -1
  587. package/dist/private/radio/Radio.js +2 -1
  588. package/dist/private/radio/Radio.js.map +1 -1
  589. package/dist/private/radio/Radio.mjs +2 -1
  590. package/dist/private/radio/Radio.mjs.map +1 -1
  591. package/dist/private/radio/RadioGroup.cjs.map +1 -1
  592. package/dist/private/radio/RadioGroup.js.map +1 -1
  593. package/dist/private/radio/RadioGroup.mjs.map +1 -1
  594. package/dist/private/radio/context.cjs.map +1 -1
  595. package/dist/private/radio/context.js.map +1 -1
  596. package/dist/private/radio/context.mjs.map +1 -1
  597. package/dist/private/radio_vars.css +65 -62
  598. package/dist/private/radio_vars.css.map +1 -1
  599. package/dist/private/radio_vars_css.cjs +13 -13
  600. package/dist/private/radio_vars_css.mjs +13 -13
  601. package/dist/private/rule_vars.css +34 -33
  602. package/dist/private/rule_vars.css.map +1 -1
  603. package/dist/private/rule_vars_css.cjs +11 -11
  604. package/dist/private/rule_vars_css.mjs +11 -11
  605. package/dist/private/search_vars.css +42 -36
  606. package/dist/private/search_vars.css.map +1 -1
  607. package/dist/private/search_vars_css.cjs +15 -15
  608. package/dist/private/search_vars_css.mjs +15 -15
  609. package/dist/private/searchfield/SearchField.cjs.map +1 -1
  610. package/dist/private/searchfield/SearchField.js.map +1 -1
  611. package/dist/private/searchfield/SearchField.mjs.map +1 -1
  612. package/dist/private/slider/RangeSlider.cjs.map +1 -1
  613. package/dist/private/slider/RangeSlider.js.map +1 -1
  614. package/dist/private/slider/RangeSlider.mjs.map +1 -1
  615. package/dist/private/slider/Slider.cjs +2 -2
  616. package/dist/private/slider/Slider.cjs.map +1 -1
  617. package/dist/private/slider/Slider.js +2 -2
  618. package/dist/private/slider/Slider.js.map +1 -1
  619. package/dist/private/slider/Slider.mjs +2 -2
  620. package/dist/private/slider/Slider.mjs.map +1 -1
  621. package/dist/private/slider/SliderBase.cjs.map +1 -1
  622. package/dist/private/slider/SliderBase.js.map +1 -1
  623. package/dist/private/slider/SliderBase.mjs.map +1 -1
  624. package/dist/private/slider/SliderThumb.cjs.map +1 -1
  625. package/dist/private/slider/SliderThumb.js.map +1 -1
  626. package/dist/private/slider/SliderThumb.mjs.map +1 -1
  627. package/dist/private/slider_vars.css +169 -155
  628. package/dist/private/slider_vars.css.map +1 -1
  629. package/dist/private/slider_vars_css.cjs +46 -46
  630. package/dist/private/slider_vars_css.cjs.map +1 -1
  631. package/dist/private/slider_vars_css.mjs +46 -46
  632. package/dist/private/slider_vars_css.mjs.map +1 -1
  633. package/dist/private/statuslight/StatusLight.cjs.map +1 -1
  634. package/dist/private/statuslight/StatusLight.js.map +1 -1
  635. package/dist/private/statuslight/StatusLight.mjs.map +1 -1
  636. package/dist/private/statuslight_vars.css +43 -41
  637. package/dist/private/statuslight_vars.css.map +1 -1
  638. package/dist/private/statuslight_vars_css.cjs +21 -21
  639. package/dist/private/statuslight_vars_css.mjs +21 -21
  640. package/dist/private/steplist/StepList.cjs.map +1 -1
  641. package/dist/private/steplist/StepList.js.map +1 -1
  642. package/dist/private/steplist/StepList.mjs.map +1 -1
  643. package/dist/private/steplist/StepListItem.cjs +6 -2
  644. package/dist/private/steplist/StepListItem.cjs.map +1 -1
  645. package/dist/private/steplist/StepListItem.js +6 -2
  646. package/dist/private/steplist/StepListItem.js.map +1 -1
  647. package/dist/private/steplist/StepListItem.mjs +6 -2
  648. package/dist/private/steplist/StepListItem.mjs.map +1 -1
  649. package/dist/private/steplist_vars.css +96 -94
  650. package/dist/private/steplist_vars.css.map +1 -1
  651. package/dist/private/steplist_vars_css.cjs +29 -29
  652. package/dist/private/steplist_vars_css.mjs +29 -29
  653. package/dist/private/stepper_vars.css +146 -143
  654. package/dist/private/stepper_vars.css.map +1 -1
  655. package/dist/private/stepper_vars_css.cjs +46 -46
  656. package/dist/private/stepper_vars_css.mjs +46 -46
  657. package/dist/private/switch/Switch.cjs +2 -1
  658. package/dist/private/switch/Switch.cjs.map +1 -1
  659. package/dist/private/switch/Switch.js +2 -1
  660. package/dist/private/switch/Switch.js.map +1 -1
  661. package/dist/private/switch/Switch.mjs +2 -1
  662. package/dist/private/switch/Switch.mjs.map +1 -1
  663. package/dist/private/table/DragPreview.cjs.map +1 -1
  664. package/dist/private/table/DragPreview.js.map +1 -1
  665. package/dist/private/table/DragPreview.mjs.map +1 -1
  666. package/dist/private/table/InsertionIndicator.cjs.map +1 -1
  667. package/dist/private/table/InsertionIndicator.js.map +1 -1
  668. package/dist/private/table/InsertionIndicator.mjs.map +1 -1
  669. package/dist/private/table/Nubbin.cjs.map +1 -1
  670. package/dist/private/table/Nubbin.js.map +1 -1
  671. package/dist/private/table/Nubbin.mjs.map +1 -1
  672. package/dist/private/table/Resizer.cjs.map +1 -1
  673. package/dist/private/table/Resizer.js.map +1 -1
  674. package/dist/private/table/Resizer.mjs.map +1 -1
  675. package/dist/private/table/RootDropIndicator.cjs.map +1 -1
  676. package/dist/private/table/RootDropIndicator.js.map +1 -1
  677. package/dist/private/table/RootDropIndicator.mjs.map +1 -1
  678. package/dist/private/table/TableView.cjs +2 -1
  679. package/dist/private/table/TableView.cjs.map +1 -1
  680. package/dist/private/table/TableView.js +2 -1
  681. package/dist/private/table/TableView.js.map +1 -1
  682. package/dist/private/table/TableView.mjs +2 -1
  683. package/dist/private/table/TableView.mjs.map +1 -1
  684. package/dist/private/table/TableViewBase.cjs.map +1 -1
  685. package/dist/private/table/TableViewBase.js.map +1 -1
  686. package/dist/private/table/TableViewBase.mjs.map +1 -1
  687. package/dist/private/table/TableViewLayout.cjs.map +1 -1
  688. package/dist/private/table/TableViewLayout.js.map +1 -1
  689. package/dist/private/table/TableViewLayout.mjs.map +1 -1
  690. package/dist/private/table/TableViewWithoutExpanding.cjs.map +1 -1
  691. package/dist/private/table/TableViewWithoutExpanding.js.map +1 -1
  692. package/dist/private/table/TableViewWithoutExpanding.mjs.map +1 -1
  693. package/dist/private/table/TreeGridTableView.cjs.map +1 -1
  694. package/dist/private/table/TreeGridTableView.js.map +1 -1
  695. package/dist/private/table/TreeGridTableView.mjs.map +1 -1
  696. package/dist/private/table/table.css +29 -28
  697. package/dist/private/table/table.css.map +1 -1
  698. package/dist/private/table/table_css.cjs +22 -22
  699. package/dist/private/table/table_css.cjs.map +1 -1
  700. package/dist/private/table/table_css.mjs +22 -22
  701. package/dist/private/table/table_css.mjs.map +1 -1
  702. package/dist/private/table_vars.css +159 -153
  703. package/dist/private/table_vars.css.map +1 -1
  704. package/dist/private/table_vars_css.cjs +63 -63
  705. package/dist/private/table_vars_css.mjs +63 -63
  706. package/dist/private/tabs/Tabs.cjs.map +1 -1
  707. package/dist/private/tabs/Tabs.js.map +1 -1
  708. package/dist/private/tabs/Tabs.mjs.map +1 -1
  709. package/dist/private/tabs_vars.css +108 -103
  710. package/dist/private/tabs_vars.css.map +1 -1
  711. package/dist/private/tabs_vars_css.cjs +26 -26
  712. package/dist/private/tabs_vars_css.mjs +26 -26
  713. package/dist/private/tag/Tag.cjs.map +1 -1
  714. package/dist/private/tag/Tag.js.map +1 -1
  715. package/dist/private/tag/Tag.mjs.map +1 -1
  716. package/dist/private/tag/TagGroup.cjs.map +1 -1
  717. package/dist/private/tag/TagGroup.js.map +1 -1
  718. package/dist/private/tag/TagGroup.mjs.map +1 -1
  719. package/dist/private/tags_vars.css +58 -54
  720. package/dist/private/tags_vars.css.map +1 -1
  721. package/dist/private/tags_vars_css.cjs +26 -26
  722. package/dist/private/tags_vars_css.mjs +26 -26
  723. package/dist/private/text/Heading.cjs.map +1 -1
  724. package/dist/private/text/Heading.js.map +1 -1
  725. package/dist/private/text/Heading.mjs.map +1 -1
  726. package/dist/private/text/Keyboard.cjs.map +1 -1
  727. package/dist/private/text/Keyboard.js.map +1 -1
  728. package/dist/private/text/Keyboard.mjs.map +1 -1
  729. package/dist/private/text/Text.cjs.map +1 -1
  730. package/dist/private/text/Text.js.map +1 -1
  731. package/dist/private/text/Text.mjs.map +1 -1
  732. package/dist/private/textfield/TextArea.cjs.map +1 -1
  733. package/dist/private/textfield/TextArea.js.map +1 -1
  734. package/dist/private/textfield/TextArea.mjs.map +1 -1
  735. package/dist/private/textfield/TextField.cjs.map +1 -1
  736. package/dist/private/textfield/TextField.js.map +1 -1
  737. package/dist/private/textfield/TextField.mjs.map +1 -1
  738. package/dist/private/textfield/TextFieldBase.cjs.map +1 -1
  739. package/dist/private/textfield/TextFieldBase.js.map +1 -1
  740. package/dist/private/textfield/TextFieldBase.mjs.map +1 -1
  741. package/dist/private/textfield_vars.css +109 -97
  742. package/dist/private/textfield_vars.css.map +1 -1
  743. package/dist/private/textfield_vars_css.cjs +22 -22
  744. package/dist/private/textfield_vars_css.mjs +22 -22
  745. package/dist/private/toast/Toast.cjs.map +1 -1
  746. package/dist/private/toast/Toast.js.map +1 -1
  747. package/dist/private/toast/Toast.mjs.map +1 -1
  748. package/dist/private/toast/ToastContainer.cjs +1 -1
  749. package/dist/private/toast/ToastContainer.cjs.map +1 -1
  750. package/dist/private/toast/ToastContainer.js +1 -1
  751. package/dist/private/toast/ToastContainer.js.map +1 -1
  752. package/dist/private/toast/ToastContainer.mjs +1 -1
  753. package/dist/private/toast/ToastContainer.mjs.map +1 -1
  754. package/dist/private/toast/Toaster.cjs.map +1 -1
  755. package/dist/private/toast/Toaster.js.map +1 -1
  756. package/dist/private/toast/Toaster.mjs.map +1 -1
  757. package/dist/private/toast/toastContainer.css +38 -37
  758. package/dist/private/toast/toastContainer.css.map +1 -1
  759. package/dist/private/toast/toastContainer_css.cjs +18 -18
  760. package/dist/private/toast/toastContainer_css.cjs.map +1 -1
  761. package/dist/private/toast/toastContainer_css.mjs +18 -18
  762. package/dist/private/toast/toastContainer_css.mjs.map +1 -1
  763. package/dist/private/toggle_vars.css +89 -83
  764. package/dist/private/toggle_vars.css.map +1 -1
  765. package/dist/private/toggle_vars_css.cjs +12 -12
  766. package/dist/private/toggle_vars_css.cjs.map +1 -1
  767. package/dist/private/toggle_vars_css.mjs +12 -12
  768. package/dist/private/toggle_vars_css.mjs.map +1 -1
  769. package/dist/private/tooltip/Tooltip.cjs.map +1 -1
  770. package/dist/private/tooltip/Tooltip.js.map +1 -1
  771. package/dist/private/tooltip/Tooltip.mjs.map +1 -1
  772. package/dist/private/tooltip/TooltipTrigger.cjs.map +1 -1
  773. package/dist/private/tooltip/TooltipTrigger.js.map +1 -1
  774. package/dist/private/tooltip/TooltipTrigger.mjs.map +1 -1
  775. package/dist/private/tooltip/context.cjs.map +1 -1
  776. package/dist/private/tooltip/context.js.map +1 -1
  777. package/dist/private/tooltip/context.mjs.map +1 -1
  778. package/dist/private/tooltip_vars.css +66 -65
  779. package/dist/private/tooltip_vars.css.map +1 -1
  780. package/dist/private/tooltip_vars_css.cjs +33 -33
  781. package/dist/private/tooltip_vars_css.cjs.map +1 -1
  782. package/dist/private/tooltip_vars_css.mjs +33 -33
  783. package/dist/private/tooltip_vars_css.mjs.map +1 -1
  784. package/dist/private/tray_vars.css +45 -38
  785. package/dist/private/tray_vars.css.map +1 -1
  786. package/dist/private/tray_vars_css.cjs +15 -15
  787. package/dist/private/tray_vars_css.mjs +15 -15
  788. package/dist/private/tree/TreeView.cjs +2 -1
  789. package/dist/private/tree/TreeView.cjs.map +1 -1
  790. package/dist/private/tree/TreeView.js +2 -1
  791. package/dist/private/tree/TreeView.js.map +1 -1
  792. package/dist/private/tree/TreeView.mjs +2 -1
  793. package/dist/private/tree/TreeView.mjs.map +1 -1
  794. package/dist/private/typography_index.css +22 -21
  795. package/dist/private/typography_index.css.map +1 -1
  796. package/dist/private/typography_index_css.cjs +8 -8
  797. package/dist/private/typography_index_css.mjs +8 -8
  798. package/dist/private/underlay_vars.css +40 -33
  799. package/dist/private/underlay_vars.css.map +1 -1
  800. package/dist/private/underlay_vars_css.cjs +14 -14
  801. package/dist/private/underlay_vars_css.mjs +14 -14
  802. package/dist/private/utils/BreakpointProvider.cjs.map +1 -1
  803. package/dist/private/utils/BreakpointProvider.js.map +1 -1
  804. package/dist/private/utils/BreakpointProvider.mjs.map +1 -1
  805. package/dist/private/utils/Slots.cjs +2 -1
  806. package/dist/private/utils/Slots.cjs.map +1 -1
  807. package/dist/private/utils/Slots.js +2 -1
  808. package/dist/private/utils/Slots.js.map +1 -1
  809. package/dist/private/utils/Slots.mjs +2 -1
  810. package/dist/private/utils/Slots.mjs.map +1 -1
  811. package/dist/private/utils/classNames.cjs.map +1 -1
  812. package/dist/private/utils/classNames.js.map +1 -1
  813. package/dist/private/utils/classNames.mjs.map +1 -1
  814. package/dist/private/utils/getWrappedElement.cjs.map +1 -1
  815. package/dist/private/utils/getWrappedElement.js.map +1 -1
  816. package/dist/private/utils/getWrappedElement.mjs.map +1 -1
  817. package/dist/private/utils/styleProps.cjs.map +1 -1
  818. package/dist/private/utils/styleProps.js.map +1 -1
  819. package/dist/private/utils/styleProps.mjs.map +1 -1
  820. package/dist/private/utils/useDOMRef.cjs.map +1 -1
  821. package/dist/private/utils/useDOMRef.js.map +1 -1
  822. package/dist/private/utils/useDOMRef.mjs.map +1 -1
  823. package/dist/private/utils/useMediaQuery.cjs.map +1 -1
  824. package/dist/private/utils/useMediaQuery.js.map +1 -1
  825. package/dist/private/utils/useMediaQuery.mjs.map +1 -1
  826. package/dist/private/vars_express.css +6 -5
  827. package/dist/private/vars_express.css.map +1 -1
  828. package/dist/private/vars_express_css.cjs +3 -3
  829. package/dist/private/vars_express_css.cjs.map +1 -1
  830. package/dist/private/vars_express_css.mjs +3 -3
  831. package/dist/private/vars_express_css.mjs.map +1 -1
  832. package/dist/private/vars_spectrum-dark.css +1 -1
  833. package/dist/private/vars_spectrum-dark.css.map +1 -1
  834. package/dist/private/vars_spectrum-dark_css.cjs +1 -1
  835. package/dist/private/vars_spectrum-dark_css.cjs.map +1 -1
  836. package/dist/private/vars_spectrum-dark_css.mjs +1 -1
  837. package/dist/private/vars_spectrum-dark_css.mjs.map +1 -1
  838. package/dist/private/vars_spectrum-darkest.css +1 -1
  839. package/dist/private/vars_spectrum-darkest.css.map +1 -1
  840. package/dist/private/vars_spectrum-darkest_css.cjs +1 -1
  841. package/dist/private/vars_spectrum-darkest_css.cjs.map +1 -1
  842. package/dist/private/vars_spectrum-darkest_css.mjs +1 -1
  843. package/dist/private/vars_spectrum-darkest_css.mjs.map +1 -1
  844. package/dist/private/vars_spectrum-global.css +5 -4
  845. package/dist/private/vars_spectrum-global.css.map +1 -1
  846. package/dist/private/vars_spectrum-global_css.cjs +7 -7
  847. package/dist/private/vars_spectrum-global_css.cjs.map +1 -1
  848. package/dist/private/vars_spectrum-global_css.mjs +7 -7
  849. package/dist/private/vars_spectrum-global_css.mjs.map +1 -1
  850. package/dist/private/vars_spectrum-large.css +1 -1
  851. package/dist/private/vars_spectrum-large.css.map +1 -1
  852. package/dist/private/vars_spectrum-large_css.cjs +1 -1
  853. package/dist/private/vars_spectrum-large_css.cjs.map +1 -1
  854. package/dist/private/vars_spectrum-large_css.mjs +1 -1
  855. package/dist/private/vars_spectrum-large_css.mjs.map +1 -1
  856. package/dist/private/vars_spectrum-light.css +1 -1
  857. package/dist/private/vars_spectrum-light.css.map +1 -1
  858. package/dist/private/vars_spectrum-light_css.cjs +1 -1
  859. package/dist/private/vars_spectrum-light_css.cjs.map +1 -1
  860. package/dist/private/vars_spectrum-light_css.mjs +1 -1
  861. package/dist/private/vars_spectrum-light_css.mjs.map +1 -1
  862. package/dist/private/vars_spectrum-lightest.css +1 -1
  863. package/dist/private/vars_spectrum-lightest.css.map +1 -1
  864. package/dist/private/vars_spectrum-lightest_css.cjs +1 -1
  865. package/dist/private/vars_spectrum-lightest_css.cjs.map +1 -1
  866. package/dist/private/vars_spectrum-lightest_css.mjs +1 -1
  867. package/dist/private/vars_spectrum-lightest_css.mjs.map +1 -1
  868. package/dist/private/vars_spectrum-medium.css +1 -1
  869. package/dist/private/vars_spectrum-medium.css.map +1 -1
  870. package/dist/private/vars_spectrum-medium_css.cjs +1 -1
  871. package/dist/private/vars_spectrum-medium_css.cjs.map +1 -1
  872. package/dist/private/vars_spectrum-medium_css.mjs +1 -1
  873. package/dist/private/vars_spectrum-medium_css.mjs.map +1 -1
  874. package/dist/private/view/Content.cjs.map +1 -1
  875. package/dist/private/view/Content.js.map +1 -1
  876. package/dist/private/view/Content.mjs.map +1 -1
  877. package/dist/private/view/Footer.cjs.map +1 -1
  878. package/dist/private/view/Footer.js.map +1 -1
  879. package/dist/private/view/Footer.mjs.map +1 -1
  880. package/dist/private/view/Header.cjs.map +1 -1
  881. package/dist/private/view/Header.js.map +1 -1
  882. package/dist/private/view/Header.mjs.map +1 -1
  883. package/dist/private/view/View.cjs.map +1 -1
  884. package/dist/private/view/View.js.map +1 -1
  885. package/dist/private/view/View.mjs.map +1 -1
  886. package/dist/private/well/Well.cjs.map +1 -1
  887. package/dist/private/well/Well.js.map +1 -1
  888. package/dist/private/well/Well.mjs.map +1 -1
  889. package/dist/private/well_vars.css +20 -19
  890. package/dist/private/well_vars.css.map +1 -1
  891. package/dist/private/well_vars_css.cjs +6 -6
  892. package/dist/private/well_vars_css.mjs +6 -6
  893. package/dist/types/src/accordion/Accordion.d.ts +5 -1
  894. package/dist/types/src/actionbar/ActionBar.d.ts +14 -6
  895. package/dist/types/src/actionbar/ActionBarContainer.d.ts +4 -1
  896. package/dist/types/src/actiongroup/ActionGroup.d.ts +14 -5
  897. package/dist/types/src/autocomplete/SearchAutocomplete.d.ts +16 -4
  898. package/dist/types/src/badge/Badge.d.ts +2 -1
  899. package/dist/types/src/breadcrumbs/Breadcrumbs.d.ts +1 -0
  900. package/dist/types/src/button/ActionButton.d.ts +7 -3
  901. package/dist/types/src/button/Button.d.ts +1 -0
  902. package/dist/types/src/button/ToggleButton.d.ts +4 -1
  903. package/dist/types/src/buttongroup/ButtonGroup.d.ts +2 -0
  904. package/dist/types/src/calendar/Calendar.d.ts +6 -4
  905. package/dist/types/src/calendar/RangeCalendar.d.ts +8 -5
  906. package/dist/types/src/card/BaseLayout.d.ts +1 -0
  907. package/dist/types/src/card/GalleryLayout.d.ts +11 -6
  908. package/dist/types/src/card/GridLayout.d.ts +8 -1
  909. package/dist/types/src/card/WaterfallLayout.d.ts +4 -0
  910. package/dist/types/src/checkbox/Checkbox.d.ts +4 -2
  911. package/dist/types/src/checkbox/CheckboxGroup.d.ts +1 -0
  912. package/dist/types/src/color/ColorArea.d.ts +2 -1
  913. package/dist/types/src/color/ColorPicker.d.ts +4 -2
  914. package/dist/types/src/color/ColorSlider.d.ts +4 -1
  915. package/dist/types/src/color/ColorSwatch.d.ts +4 -2
  916. package/dist/types/src/color/ColorSwatchPicker.d.ts +6 -3
  917. package/dist/types/src/combobox/ComboBox.d.ts +21 -7
  918. package/dist/types/src/contextualhelp/ContextualHelp.d.ts +4 -1
  919. package/dist/types/src/datepicker/DateField.d.ts +2 -0
  920. package/dist/types/src/datepicker/DatePicker.d.ts +9 -4
  921. package/dist/types/src/datepicker/TimeField.d.ts +1 -0
  922. package/dist/types/src/dialog/AlertDialog.d.ts +3 -2
  923. package/dist/types/src/dialog/Dialog.d.ts +3 -2
  924. package/dist/types/src/dialog/DialogContainer.d.ts +5 -1
  925. package/dist/types/src/dialog/DialogTrigger.d.ts +18 -7
  926. package/dist/types/src/divider/Divider.d.ts +3 -0
  927. package/dist/types/src/dnd/useDragAndDrop.d.ts +10 -4
  928. package/dist/types/src/form/Form.d.ts +4 -1
  929. package/dist/types/src/icon/Icon.d.ts +3 -1
  930. package/dist/types/src/icon/Illustration.d.ts +1 -0
  931. package/dist/types/src/image/Image.d.ts +5 -2
  932. package/dist/types/src/inlinealert/InlineAlert.d.ts +3 -2
  933. package/dist/types/src/label/HelpText.d.ts +2 -1
  934. package/dist/types/src/labeledvalue/LabeledValue.d.ts +2 -1
  935. package/dist/types/src/layout/Grid.d.ts +3 -0
  936. package/dist/types/src/link/Link.d.ts +1 -0
  937. package/dist/types/src/list/ListView.d.ts +12 -5
  938. package/dist/types/src/menu/ActionMenu.d.ts +4 -1
  939. package/dist/types/src/menu/Menu.d.ts +1 -1
  940. package/dist/types/src/menu/MenuTrigger.d.ts +4 -0
  941. package/dist/types/src/meter/Meter.d.ts +1 -0
  942. package/dist/types/src/numberfield/NumberField.d.ts +3 -1
  943. package/dist/types/src/overlays/Popover.d.ts +10 -11
  944. package/dist/types/src/picker/Picker.d.ts +11 -3
  945. package/dist/types/src/progress/ProgressBar.d.ts +2 -2
  946. package/dist/types/src/progress/ProgressBarBase.d.ts +9 -2
  947. package/dist/types/src/progress/ProgressCircle.d.ts +8 -3
  948. package/dist/types/src/provider/Provider.d.ts +2 -2
  949. package/dist/types/src/provider/types.d.ts +8 -4
  950. package/dist/types/src/slider/RangeSlider.d.ts +6 -3
  951. package/dist/types/src/slider/Slider.d.ts +13 -4
  952. package/dist/types/src/slider/SliderBase.d.ts +9 -2
  953. package/dist/types/src/steplist/StepList.d.ts +3 -0
  954. package/dist/types/src/table/TableView.d.ts +25 -11
  955. package/dist/types/src/table/types.d.ts +4 -3
  956. package/dist/types/src/tabs/Tabs.d.ts +20 -8
  957. package/dist/types/src/tag/TagGroup.d.ts +9 -3
  958. package/dist/types/src/text/Heading.d.ts +2 -0
  959. package/dist/types/src/text/Keyboard.d.ts +1 -0
  960. package/dist/types/src/text/Text.d.ts +1 -0
  961. package/dist/types/src/tooltip/Tooltip.d.ts +1 -0
  962. package/dist/types/src/tooltip/TooltipTrigger.d.ts +2 -0
  963. package/dist/types/src/tree/TreeView.d.ts +2 -2
  964. package/dist/types/src/view/View.d.ts +3 -2
  965. package/dist/types/src/well/Well.d.ts +3 -2
  966. package/package.json +12 -10
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;AAgBM,SAAS,0CAAe,KAAkC;IAC/D,IAAI,YACF,QAAQ,aACR,SAAS,cACT,UAAU,UACV,MAAM,EACP,GAAG;IAEJ,IAAI,aAAC,SAAS,EAAC,GAAG,CAAA,GAAA,gBAAQ;IAC1B,IAAI,MAAM,CAAA,GAAA,aAAK,EAAE;IACjB,IAAI,cAAiC,MAAM,IAAI,GAAG,MAAM;IACxD,IAAI,aAAC,SAAS,EAAC,GAAG,CAAA,GAAA,wBAAgB,EAAE;QAClC,GAAG,KAAK;QACR,aAAa;IACf,GAAG;IACH,IAAI,cAAC,UAAU,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,eAAO,EAAE;IAEvC,oEAAoE;IACpE,IAAI,QACF,YAAY,CAAC;IAGf,qBACE,gCAAC,CAAA,GAAA,eAAO,uBACN,gCAAC,CAAA,GAAA,gBAAQ;QAAE,gBAAgB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,uDAAK,GAAG;qBAC5C,gCAAC;QACE,GAAG,CAAA,GAAA,iBAAS,EAAE,WAAW,WAAW;QACrC,KAAK;QACL,WACE,CAAA,GAAA,yCAAS,EACP,CAAA,GAAA,uDAAK,GACL;YACE,iCAAiC,CAAC;YAClC,eAAe,CAAC,aAAa;YAC7B,cAAc;QAChB;OAGH,0BAGL,gCAAC,CAAA,GAAA,uCAAgB;QACf,kBACE,CAAA,GAAA,yCAAS,EACP,CAAA,GAAA,uDAAK,GACL,sCACA;YACE,eAAe,cAAc;QAC/B;;AAKZ","sources":["packages/@adobe/react-spectrum/src/breadcrumbs/BreadcrumbItem.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 {BreadcrumbItemProps, useBreadcrumbItem} from 'react-aria/useBreadcrumbs';\nimport ChevronRightSmall from '@spectrum-icons/ui/ChevronRightSmall';\nimport {classNames} from '../utils/classNames';\nimport {FocusRing} from 'react-aria/FocusRing';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport React, {Fragment, JSX, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/breadcrumb/vars.css';\nimport {useHover} from 'react-aria/useHover';\nimport {useLocale} from 'react-aria/I18nProvider';\n\ninterface SpectrumBreadcrumbItemProps extends BreadcrumbItemProps {\n isMenu?: boolean\n}\n\nexport function BreadcrumbItem(props: SpectrumBreadcrumbItemProps): JSX.Element {\n let {\n children,\n isCurrent,\n isDisabled,\n isMenu\n } = props;\n\n let {direction} = useLocale();\n let ref = useRef(null);\n let ElementType: React.ElementType = props.href ? 'a' : 'span';\n let {itemProps} = useBreadcrumbItem({\n ...props,\n elementType: ElementType\n }, ref);\n let {hoverProps, isHovered} = useHover(props);\n\n // If this item contains a menu button, then it shouldn't be a link.\n if (isMenu) {\n itemProps = {};\n }\n\n return (\n <Fragment>\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <ElementType\n {...mergeProps(itemProps, hoverProps)}\n ref={ref}\n className={\n classNames(\n styles,\n {\n 'spectrum-Breadcrumbs-itemLink': !isMenu,\n 'is-disabled': !isCurrent && isDisabled,\n 'is-hovered': isHovered\n }\n )\n }>\n {children}\n </ElementType>\n </FocusRing>\n <ChevronRightSmall\n UNSAFE_className={\n classNames(\n styles,\n 'spectrum-Breadcrumbs-itemSeparator',\n {\n 'is-reversed': direction === 'rtl'\n }\n )\n } />\n </Fragment>\n );\n}\n"],"names":[],"version":3,"file":"BreadcrumbItem.mjs.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;AAgBM,SAAS,0CAAe,KAAkC;IAC/D,IAAI,YAAC,QAAQ,aAAE,SAAS,cAAE,UAAU,UAAE,MAAM,EAAC,GAAG;IAEhD,IAAI,aAAC,SAAS,EAAC,GAAG,CAAA,GAAA,gBAAQ;IAC1B,IAAI,MAAM,CAAA,GAAA,aAAK,EAAE;IACjB,IAAI,cAAiC,MAAM,IAAI,GAAG,MAAM;IACxD,IAAI,aAAC,SAAS,EAAC,GAAG,CAAA,GAAA,wBAAgB,EAChC;QACE,GAAG,KAAK;QACR,aAAa;IACf,GACA;IAEF,IAAI,cAAC,UAAU,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,eAAO,EAAE;IAEvC,oEAAoE;IACpE,IAAI,QACF,YAAY,CAAC;IAGf,qBACE,gCAAC,CAAA,GAAA,eAAO,uBACN,gCAAC,CAAA,GAAA,gBAAQ;QAAE,gBAAgB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,uDAAK,GAAG;qBAC5C,gCAAC;QACE,GAAG,CAAA,GAAA,iBAAS,EAAE,WAAW,WAAW;QACrC,KAAK;QACL,WAAW,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,uDAAK,GAAG;YAC5B,iCAAiC,CAAC;YAClC,eAAe,CAAC,aAAa;YAC7B,cAAc;QAChB;OACC,0BAGL,gCAAC,CAAA,GAAA,uCAAgB;QACf,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,uDAAK,GAAG,sCAAsC;YACzE,eAAe,cAAc;QAC/B;;AAIR","sources":["packages/@adobe/react-spectrum/src/breadcrumbs/BreadcrumbItem.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 {BreadcrumbItemProps, useBreadcrumbItem} from 'react-aria/useBreadcrumbs';\nimport ChevronRightSmall from '@spectrum-icons/ui/ChevronRightSmall';\nimport {classNames} from '../utils/classNames';\nimport {FocusRing} from 'react-aria/FocusRing';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport React, {Fragment, JSX, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/breadcrumb/vars.css';\nimport {useHover} from 'react-aria/useHover';\nimport {useLocale} from 'react-aria/I18nProvider';\n\ninterface SpectrumBreadcrumbItemProps extends BreadcrumbItemProps {\n isMenu?: boolean;\n}\n\nexport function BreadcrumbItem(props: SpectrumBreadcrumbItemProps): JSX.Element {\n let {children, isCurrent, isDisabled, isMenu} = props;\n\n let {direction} = useLocale();\n let ref = useRef(null);\n let ElementType: React.ElementType = props.href ? 'a' : 'span';\n let {itemProps} = useBreadcrumbItem(\n {\n ...props,\n elementType: ElementType\n },\n ref\n );\n let {hoverProps, isHovered} = useHover(props);\n\n // If this item contains a menu button, then it shouldn't be a link.\n if (isMenu) {\n itemProps = {};\n }\n\n return (\n <Fragment>\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <ElementType\n {...mergeProps(itemProps, hoverProps)}\n ref={ref}\n className={classNames(styles, {\n 'spectrum-Breadcrumbs-itemLink': !isMenu,\n 'is-disabled': !isCurrent && isDisabled,\n 'is-hovered': isHovered\n })}>\n {children}\n </ElementType>\n </FocusRing>\n <ChevronRightSmall\n UNSAFE_className={classNames(styles, 'spectrum-Breadcrumbs-itemSeparator', {\n 'is-reversed': direction === 'rtl'\n })}\n />\n </Fragment>\n );\n}\n"],"names":[],"version":3,"file":"BreadcrumbItem.mjs.map"}
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@adobe/react-spectrum/src/breadcrumbs/Breadcrumbs.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 */\nimport {ActionButton} from '../button/ActionButton';\n\nimport {AriaBreadcrumbsProps, useBreadcrumbs} from 'react-aria/useBreadcrumbs';\nimport {BreadcrumbItem} from './BreadcrumbItem';\nimport {classNames} from '../utils/classNames';\nimport {DOMRef, ItemProps, Key, StyleProps} from '@react-types/shared';\nimport FolderBreadcrumb from '@spectrum-icons/ui/FolderBreadcrumb';\nimport {Menu} from '../menu/Menu';\nimport {MenuTrigger} from '../menu/MenuTrigger';\nimport React, {ReactElement, useCallback, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/breadcrumb/vars.css';\nimport {useDOMRef} from '../utils/useDOMRef';\nimport {useLayoutEffect} from 'react-aria/private/utils/useLayoutEffect';\nimport {useProviderProps} from '../provider/Provider';\nimport {useResizeObserver} from 'react-aria/private/utils/useResizeObserver';\nimport {useStyleProps} from '../utils/styleProps';\nimport {useValueEffect} from 'react-aria/private/utils/useValueEffect';\n\nexport interface SpectrumBreadcrumbsProps<T> extends AriaBreadcrumbsProps, StyleProps {\n /** The breadcrumb items. */\n children: ReactElement<ItemProps<T>> | ReactElement<ItemProps<T>>[],\n /** Whether the Breadcrumbs are disabled. */\n isDisabled?: boolean,\n /** Called when an item is acted upon (usually selection via press). */\n onAction?: (key: Key) => void,\n /**\n * Size of the Breadcrumbs including spacing and layout.\n * @default 'L'\n */\n size?: 'S' | 'M' | 'L',\n /** Whether to always show the root item if the items are collapsed. */\n showRoot?: boolean,\n /**\n * Whether to place the last Breadcrumb item onto a new line.\n */\n isMultiline?: boolean,\n /**\n * Whether to autoFocus the last Breadcrumb item when the Breadcrumbs render.\n */\n autoFocusCurrent?: boolean\n}\n\nconst MIN_VISIBLE_ITEMS = 1;\nconst MAX_VISIBLE_ITEMS = 4;\n\n/**\n * Breadcrumbs show hierarchy and navigational context for a user’s location within an application.\n */\nexport const Breadcrumbs = React.forwardRef(function Breadcrumbs<T>(props: SpectrumBreadcrumbsProps<T>, ref: DOMRef) {\n props = useProviderProps(props);\n let {\n size = 'L',\n isMultiline,\n children,\n showRoot,\n isDisabled,\n onAction,\n autoFocusCurrent,\n ...otherProps\n } = props;\n\n // Not using React.Children.toArray because it mutates the key prop.\n let childArray: ReactElement<any>[] = [];\n React.Children.forEach(children, (child, index) => {\n if (React.isValidElement(child)) {\n if (child.key == null) {\n child = React.cloneElement(child, {key: index});\n }\n childArray.push(child);\n }\n });\n\n let domRef = useDOMRef(ref);\n let listRef = useRef<HTMLUListElement>(null);\n\n let [visibleItems, setVisibleItems] = useValueEffect(childArray.length);\n\n let {navProps} = useBreadcrumbs(props);\n let {styleProps} = useStyleProps(otherProps);\n\n let updateOverflow = useCallback(() => {\n let computeVisibleItems = (visibleItems: number): number => {\n // Refs can be null at runtime.\n let currListRef: HTMLUListElement | null = listRef.current;\n if (!currListRef) {\n return visibleItems;\n }\n\n let listItems = Array.from(currListRef.children) as HTMLLIElement[];\n if (listItems.length <= 0) {\n return visibleItems;\n }\n let containerWidth = currListRef.offsetWidth;\n let isShowingMenu = childArray.length > visibleItems;\n let calculatedWidth = 0;\n let newVisibleItems = 0;\n let maxVisibleItems = MAX_VISIBLE_ITEMS;\n\n if (showRoot) {\n calculatedWidth += (listItems.shift() as HTMLLIElement).offsetWidth;\n newVisibleItems++;\n }\n\n if (isShowingMenu) {\n calculatedWidth += (listItems.shift() as HTMLLIElement).offsetWidth;\n maxVisibleItems--;\n }\n\n if (showRoot && calculatedWidth >= containerWidth) {\n newVisibleItems--;\n }\n\n // TODO: what if multiline and only one breadcrumb??\n if (isMultiline) {\n listItems.pop();\n newVisibleItems++;\n } else {\n if (listItems.length > 0) {\n // Ensure the last breadcrumb isn't truncated when we measure it.\n let last = (listItems.pop() as HTMLLIElement);\n last.style.overflow = 'visible';\n\n calculatedWidth += last.offsetWidth;\n if (calculatedWidth < containerWidth) {\n newVisibleItems++;\n }\n\n last.style.overflow = '';\n }\n }\n\n for (let breadcrumb of listItems.reverse()) {\n calculatedWidth += breadcrumb.offsetWidth;\n if (calculatedWidth < containerWidth) {\n newVisibleItems++;\n }\n }\n\n return Math.max(MIN_VISIBLE_ITEMS, Math.min(maxVisibleItems, newVisibleItems));\n };\n\n setVisibleItems(function *() {\n // Update to show all items.\n yield childArray.length;\n\n // Measure, and update to show the items that fit.\n let newVisibleItems = computeVisibleItems(childArray.length);\n yield newVisibleItems;\n\n // If the number of items is less than the number of children,\n // then update again to ensure that the menu fits.\n if (newVisibleItems < childArray.length && newVisibleItems > 1) {\n yield computeVisibleItems(newVisibleItems);\n }\n });\n }, [childArray.length, setVisibleItems, showRoot, isMultiline]);\n\n useResizeObserver({ref: domRef, onResize: updateOverflow});\n\n let lastChildren = useRef<typeof children | null>(null);\n useLayoutEffect(() => {\n if (children !== lastChildren.current) {\n lastChildren.current = children;\n updateOverflow();\n }\n });\n\n let contents = childArray;\n if (childArray.length > visibleItems) {\n let selectedItem = childArray[childArray.length - 1];\n let selectedKey = selectedItem.key ?? childArray.length - 1;\n let onMenuAction = (key: Key) => {\n // Don't fire onAction when clicking on the last item\n if (key !== selectedKey && onAction) {\n onAction(key);\n }\n };\n\n let menuItem = (\n <BreadcrumbItem key=\"menu\" isMenu>\n <MenuTrigger>\n <ActionButton\n UNSAFE_className={classNames(styles, 'spectrum-Breadcrumbs-actionButton')}\n aria-label=\"…\"\n isQuiet\n isDisabled={isDisabled}>\n <FolderBreadcrumb />\n </ActionButton>\n <Menu selectionMode=\"single\" selectedKeys={[selectedKey]} onAction={onMenuAction}>\n {childArray}\n </Menu>\n </MenuTrigger>\n </BreadcrumbItem>\n );\n\n contents = [menuItem];\n let breadcrumbs = [...childArray];\n let endItems = visibleItems;\n if (showRoot && visibleItems > 1) {\n let rootItem = breadcrumbs.shift();\n if (rootItem) {\n contents.unshift(rootItem);\n }\n endItems--;\n }\n contents.push(...breadcrumbs.slice(-endItems));\n }\n\n let lastIndex = contents.length - 1;\n let breadcrumbItems = contents.map((child, index) => {\n let isCurrent = index === lastIndex;\n let key = child.key ?? index;\n let onPress = () => {\n if (onAction) {\n onAction(key);\n }\n };\n\n return (\n <li\n key={index}\n className={\n classNames(\n styles,\n 'spectrum-Breadcrumbs-item'\n )\n }>\n <BreadcrumbItem\n {...child.props}\n key={key}\n isCurrent={isCurrent}\n isDisabled={isDisabled}\n onPress={onPress}\n autoFocus={isCurrent && autoFocusCurrent}>\n {child.props.children}\n </BreadcrumbItem>\n </li>\n );\n });\n\n return (\n <nav\n {...styleProps}\n {...navProps}\n ref={domRef}>\n <ul\n ref={listRef}\n className={\n classNames(\n styles,\n 'spectrum-Breadcrumbs',\n {\n 'spectrum-Breadcrumbs--small': size === 'S',\n 'spectrum-Breadcrumbs--medium': size === 'M',\n 'spectrum-Breadcrumbs--multiline': isMultiline,\n 'spectrum-Breadcrumbs--showRoot': showRoot,\n 'is-disabled': isDisabled\n },\n styleProps.className\n )\n }>\n {breadcrumbItems}\n </ul>\n </nav>\n );\n});\n"],"names":[],"version":3,"file":"Breadcrumbs.cjs.map"}
1
+ {"mappings":"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","sources":["packages/@adobe/react-spectrum/src/breadcrumbs/Breadcrumbs.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 */\nimport {ActionButton} from '../button/ActionButton';\n\nimport {AriaBreadcrumbsProps, useBreadcrumbs} from 'react-aria/useBreadcrumbs';\nimport {BreadcrumbItem} from './BreadcrumbItem';\nimport {classNames} from '../utils/classNames';\nimport {DOMRef, ItemProps, Key, StyleProps} from '@react-types/shared';\nimport FolderBreadcrumb from '@spectrum-icons/ui/FolderBreadcrumb';\nimport {Menu} from '../menu/Menu';\nimport {MenuTrigger} from '../menu/MenuTrigger';\nimport React, {ReactElement, useCallback, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/breadcrumb/vars.css';\nimport {useDOMRef} from '../utils/useDOMRef';\nimport {useLayoutEffect} from 'react-aria/private/utils/useLayoutEffect';\nimport {useProviderProps} from '../provider/Provider';\nimport {useResizeObserver} from 'react-aria/private/utils/useResizeObserver';\nimport {useStyleProps} from '../utils/styleProps';\nimport {useValueEffect} from 'react-aria/private/utils/useValueEffect';\n\nexport interface SpectrumBreadcrumbsProps<T> extends AriaBreadcrumbsProps, StyleProps {\n /** The breadcrumb items. */\n children: ReactElement<ItemProps<T>> | ReactElement<ItemProps<T>>[];\n /** Whether the Breadcrumbs are disabled. */\n isDisabled?: boolean;\n /** Called when an item is acted upon (usually selection via press). */\n onAction?: (key: Key) => void;\n /**\n * Size of the Breadcrumbs including spacing and layout.\n *\n * @default 'L'\n */\n size?: 'S' | 'M' | 'L';\n /** Whether to always show the root item if the items are collapsed. */\n showRoot?: boolean;\n /**\n * Whether to place the last Breadcrumb item onto a new line.\n */\n isMultiline?: boolean;\n /**\n * Whether to autoFocus the last Breadcrumb item when the Breadcrumbs render.\n */\n autoFocusCurrent?: boolean;\n}\n\nconst MIN_VISIBLE_ITEMS = 1;\nconst MAX_VISIBLE_ITEMS = 4;\n\n/**\n * Breadcrumbs show hierarchy and navigational context for a user’s location within an application.\n */\nexport const Breadcrumbs = React.forwardRef(function Breadcrumbs<T>(\n props: SpectrumBreadcrumbsProps<T>,\n ref: DOMRef\n) {\n props = useProviderProps(props);\n let {\n size = 'L',\n isMultiline,\n children,\n showRoot,\n isDisabled,\n onAction,\n autoFocusCurrent,\n ...otherProps\n } = props;\n\n // Not using React.Children.toArray because it mutates the key prop.\n let childArray: ReactElement<any>[] = [];\n React.Children.forEach(children, (child, index) => {\n if (React.isValidElement(child)) {\n if (child.key == null) {\n child = React.cloneElement(child, {key: index});\n }\n childArray.push(child);\n }\n });\n\n let domRef = useDOMRef(ref);\n let listRef = useRef<HTMLUListElement>(null);\n\n let [visibleItems, setVisibleItems] = useValueEffect(childArray.length);\n\n let {navProps} = useBreadcrumbs(props);\n let {styleProps} = useStyleProps(otherProps);\n\n let updateOverflow = useCallback(() => {\n let computeVisibleItems = (visibleItems: number): number => {\n // Refs can be null at runtime.\n let currListRef: HTMLUListElement | null = listRef.current;\n if (!currListRef) {\n return visibleItems;\n }\n\n let listItems = Array.from(currListRef.children) as HTMLLIElement[];\n if (listItems.length <= 0) {\n return visibleItems;\n }\n let containerWidth = currListRef.offsetWidth;\n let isShowingMenu = childArray.length > visibleItems;\n let calculatedWidth = 0;\n let newVisibleItems = 0;\n let maxVisibleItems = MAX_VISIBLE_ITEMS;\n\n if (showRoot) {\n calculatedWidth += (listItems.shift() as HTMLLIElement).offsetWidth;\n newVisibleItems++;\n }\n\n if (isShowingMenu) {\n calculatedWidth += (listItems.shift() as HTMLLIElement).offsetWidth;\n maxVisibleItems--;\n }\n\n if (showRoot && calculatedWidth >= containerWidth) {\n newVisibleItems--;\n }\n\n // TODO: what if multiline and only one breadcrumb??\n if (isMultiline) {\n listItems.pop();\n newVisibleItems++;\n } else {\n if (listItems.length > 0) {\n // Ensure the last breadcrumb isn't truncated when we measure it.\n let last = listItems.pop() as HTMLLIElement;\n last.style.overflow = 'visible';\n\n calculatedWidth += last.offsetWidth;\n if (calculatedWidth < containerWidth) {\n newVisibleItems++;\n }\n\n last.style.overflow = '';\n }\n }\n\n for (let breadcrumb of listItems.reverse()) {\n calculatedWidth += breadcrumb.offsetWidth;\n if (calculatedWidth < containerWidth) {\n newVisibleItems++;\n }\n }\n\n return Math.max(MIN_VISIBLE_ITEMS, Math.min(maxVisibleItems, newVisibleItems));\n };\n\n setVisibleItems(function* () {\n // Update to show all items.\n yield childArray.length;\n\n // Measure, and update to show the items that fit.\n let newVisibleItems = computeVisibleItems(childArray.length);\n yield newVisibleItems;\n\n // If the number of items is less than the number of children,\n // then update again to ensure that the menu fits.\n if (newVisibleItems < childArray.length && newVisibleItems > 1) {\n yield computeVisibleItems(newVisibleItems);\n }\n });\n }, [childArray.length, setVisibleItems, showRoot, isMultiline]);\n\n useResizeObserver({ref: domRef, onResize: updateOverflow});\n\n let lastChildren = useRef<typeof children | null>(null);\n useLayoutEffect(() => {\n if (children !== lastChildren.current) {\n lastChildren.current = children;\n updateOverflow();\n }\n });\n\n let contents = childArray;\n if (childArray.length > visibleItems) {\n let selectedItem = childArray[childArray.length - 1];\n let selectedKey = selectedItem.key ?? childArray.length - 1;\n let onMenuAction = (key: Key) => {\n // Don't fire onAction when clicking on the last item\n if (key !== selectedKey && onAction) {\n onAction(key);\n }\n };\n\n let menuItem = (\n <BreadcrumbItem key=\"menu\" isMenu>\n <MenuTrigger>\n <ActionButton\n UNSAFE_className={classNames(styles, 'spectrum-Breadcrumbs-actionButton')}\n aria-label=\"…\"\n isQuiet\n isDisabled={isDisabled}>\n <FolderBreadcrumb />\n </ActionButton>\n <Menu selectionMode=\"single\" selectedKeys={[selectedKey]} onAction={onMenuAction}>\n {childArray}\n </Menu>\n </MenuTrigger>\n </BreadcrumbItem>\n );\n\n contents = [menuItem];\n let breadcrumbs = [...childArray];\n let endItems = visibleItems;\n if (showRoot && visibleItems > 1) {\n let rootItem = breadcrumbs.shift();\n if (rootItem) {\n contents.unshift(rootItem);\n }\n endItems--;\n }\n contents.push(...breadcrumbs.slice(-endItems));\n }\n\n let lastIndex = contents.length - 1;\n let breadcrumbItems = contents.map((child, index) => {\n let isCurrent = index === lastIndex;\n let key = child.key ?? index;\n let onPress = () => {\n if (onAction) {\n onAction(key);\n }\n };\n\n return (\n <li key={index} className={classNames(styles, 'spectrum-Breadcrumbs-item')}>\n <BreadcrumbItem\n {...child.props}\n key={key}\n isCurrent={isCurrent}\n isDisabled={isDisabled}\n onPress={onPress}\n autoFocus={isCurrent && autoFocusCurrent}>\n {child.props.children}\n </BreadcrumbItem>\n </li>\n );\n });\n\n return (\n <nav {...styleProps} {...navProps} ref={domRef}>\n <ul\n ref={listRef}\n className={classNames(\n styles,\n 'spectrum-Breadcrumbs',\n {\n 'spectrum-Breadcrumbs--small': size === 'S',\n 'spectrum-Breadcrumbs--medium': size === 'M',\n 'spectrum-Breadcrumbs--multiline': isMultiline,\n 'spectrum-Breadcrumbs--showRoot': showRoot,\n 'is-disabled': isDisabled\n },\n styleProps.className\n )}>\n {breadcrumbItems}\n </ul>\n </nav>\n );\n});\n"],"names":[],"version":3,"file":"Breadcrumbs.cjs.map"}
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@adobe/react-spectrum/src/breadcrumbs/Breadcrumbs.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 */\nimport {ActionButton} from '../button/ActionButton';\n\nimport {AriaBreadcrumbsProps, useBreadcrumbs} from 'react-aria/useBreadcrumbs';\nimport {BreadcrumbItem} from './BreadcrumbItem';\nimport {classNames} from '../utils/classNames';\nimport {DOMRef, ItemProps, Key, StyleProps} from '@react-types/shared';\nimport FolderBreadcrumb from '@spectrum-icons/ui/FolderBreadcrumb';\nimport {Menu} from '../menu/Menu';\nimport {MenuTrigger} from '../menu/MenuTrigger';\nimport React, {ReactElement, useCallback, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/breadcrumb/vars.css';\nimport {useDOMRef} from '../utils/useDOMRef';\nimport {useLayoutEffect} from 'react-aria/private/utils/useLayoutEffect';\nimport {useProviderProps} from '../provider/Provider';\nimport {useResizeObserver} from 'react-aria/private/utils/useResizeObserver';\nimport {useStyleProps} from '../utils/styleProps';\nimport {useValueEffect} from 'react-aria/private/utils/useValueEffect';\n\nexport interface SpectrumBreadcrumbsProps<T> extends AriaBreadcrumbsProps, StyleProps {\n /** The breadcrumb items. */\n children: ReactElement<ItemProps<T>> | ReactElement<ItemProps<T>>[],\n /** Whether the Breadcrumbs are disabled. */\n isDisabled?: boolean,\n /** Called when an item is acted upon (usually selection via press). */\n onAction?: (key: Key) => void,\n /**\n * Size of the Breadcrumbs including spacing and layout.\n * @default 'L'\n */\n size?: 'S' | 'M' | 'L',\n /** Whether to always show the root item if the items are collapsed. */\n showRoot?: boolean,\n /**\n * Whether to place the last Breadcrumb item onto a new line.\n */\n isMultiline?: boolean,\n /**\n * Whether to autoFocus the last Breadcrumb item when the Breadcrumbs render.\n */\n autoFocusCurrent?: boolean\n}\n\nconst MIN_VISIBLE_ITEMS = 1;\nconst MAX_VISIBLE_ITEMS = 4;\n\n/**\n * Breadcrumbs show hierarchy and navigational context for a user’s location within an application.\n */\nexport const Breadcrumbs = React.forwardRef(function Breadcrumbs<T>(props: SpectrumBreadcrumbsProps<T>, ref: DOMRef) {\n props = useProviderProps(props);\n let {\n size = 'L',\n isMultiline,\n children,\n showRoot,\n isDisabled,\n onAction,\n autoFocusCurrent,\n ...otherProps\n } = props;\n\n // Not using React.Children.toArray because it mutates the key prop.\n let childArray: ReactElement<any>[] = [];\n React.Children.forEach(children, (child, index) => {\n if (React.isValidElement(child)) {\n if (child.key == null) {\n child = React.cloneElement(child, {key: index});\n }\n childArray.push(child);\n }\n });\n\n let domRef = useDOMRef(ref);\n let listRef = useRef<HTMLUListElement>(null);\n\n let [visibleItems, setVisibleItems] = useValueEffect(childArray.length);\n\n let {navProps} = useBreadcrumbs(props);\n let {styleProps} = useStyleProps(otherProps);\n\n let updateOverflow = useCallback(() => {\n let computeVisibleItems = (visibleItems: number): number => {\n // Refs can be null at runtime.\n let currListRef: HTMLUListElement | null = listRef.current;\n if (!currListRef) {\n return visibleItems;\n }\n\n let listItems = Array.from(currListRef.children) as HTMLLIElement[];\n if (listItems.length <= 0) {\n return visibleItems;\n }\n let containerWidth = currListRef.offsetWidth;\n let isShowingMenu = childArray.length > visibleItems;\n let calculatedWidth = 0;\n let newVisibleItems = 0;\n let maxVisibleItems = MAX_VISIBLE_ITEMS;\n\n if (showRoot) {\n calculatedWidth += (listItems.shift() as HTMLLIElement).offsetWidth;\n newVisibleItems++;\n }\n\n if (isShowingMenu) {\n calculatedWidth += (listItems.shift() as HTMLLIElement).offsetWidth;\n maxVisibleItems--;\n }\n\n if (showRoot && calculatedWidth >= containerWidth) {\n newVisibleItems--;\n }\n\n // TODO: what if multiline and only one breadcrumb??\n if (isMultiline) {\n listItems.pop();\n newVisibleItems++;\n } else {\n if (listItems.length > 0) {\n // Ensure the last breadcrumb isn't truncated when we measure it.\n let last = (listItems.pop() as HTMLLIElement);\n last.style.overflow = 'visible';\n\n calculatedWidth += last.offsetWidth;\n if (calculatedWidth < containerWidth) {\n newVisibleItems++;\n }\n\n last.style.overflow = '';\n }\n }\n\n for (let breadcrumb of listItems.reverse()) {\n calculatedWidth += breadcrumb.offsetWidth;\n if (calculatedWidth < containerWidth) {\n newVisibleItems++;\n }\n }\n\n return Math.max(MIN_VISIBLE_ITEMS, Math.min(maxVisibleItems, newVisibleItems));\n };\n\n setVisibleItems(function *() {\n // Update to show all items.\n yield childArray.length;\n\n // Measure, and update to show the items that fit.\n let newVisibleItems = computeVisibleItems(childArray.length);\n yield newVisibleItems;\n\n // If the number of items is less than the number of children,\n // then update again to ensure that the menu fits.\n if (newVisibleItems < childArray.length && newVisibleItems > 1) {\n yield computeVisibleItems(newVisibleItems);\n }\n });\n }, [childArray.length, setVisibleItems, showRoot, isMultiline]);\n\n useResizeObserver({ref: domRef, onResize: updateOverflow});\n\n let lastChildren = useRef<typeof children | null>(null);\n useLayoutEffect(() => {\n if (children !== lastChildren.current) {\n lastChildren.current = children;\n updateOverflow();\n }\n });\n\n let contents = childArray;\n if (childArray.length > visibleItems) {\n let selectedItem = childArray[childArray.length - 1];\n let selectedKey = selectedItem.key ?? childArray.length - 1;\n let onMenuAction = (key: Key) => {\n // Don't fire onAction when clicking on the last item\n if (key !== selectedKey && onAction) {\n onAction(key);\n }\n };\n\n let menuItem = (\n <BreadcrumbItem key=\"menu\" isMenu>\n <MenuTrigger>\n <ActionButton\n UNSAFE_className={classNames(styles, 'spectrum-Breadcrumbs-actionButton')}\n aria-label=\"…\"\n isQuiet\n isDisabled={isDisabled}>\n <FolderBreadcrumb />\n </ActionButton>\n <Menu selectionMode=\"single\" selectedKeys={[selectedKey]} onAction={onMenuAction}>\n {childArray}\n </Menu>\n </MenuTrigger>\n </BreadcrumbItem>\n );\n\n contents = [menuItem];\n let breadcrumbs = [...childArray];\n let endItems = visibleItems;\n if (showRoot && visibleItems > 1) {\n let rootItem = breadcrumbs.shift();\n if (rootItem) {\n contents.unshift(rootItem);\n }\n endItems--;\n }\n contents.push(...breadcrumbs.slice(-endItems));\n }\n\n let lastIndex = contents.length - 1;\n let breadcrumbItems = contents.map((child, index) => {\n let isCurrent = index === lastIndex;\n let key = child.key ?? index;\n let onPress = () => {\n if (onAction) {\n onAction(key);\n }\n };\n\n return (\n <li\n key={index}\n className={\n classNames(\n styles,\n 'spectrum-Breadcrumbs-item'\n )\n }>\n <BreadcrumbItem\n {...child.props}\n key={key}\n isCurrent={isCurrent}\n isDisabled={isDisabled}\n onPress={onPress}\n autoFocus={isCurrent && autoFocusCurrent}>\n {child.props.children}\n </BreadcrumbItem>\n </li>\n );\n });\n\n return (\n <nav\n {...styleProps}\n {...navProps}\n ref={domRef}>\n <ul\n ref={listRef}\n className={\n classNames(\n styles,\n 'spectrum-Breadcrumbs',\n {\n 'spectrum-Breadcrumbs--small': size === 'S',\n 'spectrum-Breadcrumbs--medium': size === 'M',\n 'spectrum-Breadcrumbs--multiline': isMultiline,\n 'spectrum-Breadcrumbs--showRoot': showRoot,\n 'is-disabled': isDisabled\n },\n styleProps.className\n )\n }>\n {breadcrumbItems}\n </ul>\n </nav>\n );\n});\n"],"names":[],"version":3,"file":"Breadcrumbs.js.map"}
1
+ {"mappings":"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","sources":["packages/@adobe/react-spectrum/src/breadcrumbs/Breadcrumbs.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 */\nimport {ActionButton} from '../button/ActionButton';\n\nimport {AriaBreadcrumbsProps, useBreadcrumbs} from 'react-aria/useBreadcrumbs';\nimport {BreadcrumbItem} from './BreadcrumbItem';\nimport {classNames} from '../utils/classNames';\nimport {DOMRef, ItemProps, Key, StyleProps} from '@react-types/shared';\nimport FolderBreadcrumb from '@spectrum-icons/ui/FolderBreadcrumb';\nimport {Menu} from '../menu/Menu';\nimport {MenuTrigger} from '../menu/MenuTrigger';\nimport React, {ReactElement, useCallback, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/breadcrumb/vars.css';\nimport {useDOMRef} from '../utils/useDOMRef';\nimport {useLayoutEffect} from 'react-aria/private/utils/useLayoutEffect';\nimport {useProviderProps} from '../provider/Provider';\nimport {useResizeObserver} from 'react-aria/private/utils/useResizeObserver';\nimport {useStyleProps} from '../utils/styleProps';\nimport {useValueEffect} from 'react-aria/private/utils/useValueEffect';\n\nexport interface SpectrumBreadcrumbsProps<T> extends AriaBreadcrumbsProps, StyleProps {\n /** The breadcrumb items. */\n children: ReactElement<ItemProps<T>> | ReactElement<ItemProps<T>>[];\n /** Whether the Breadcrumbs are disabled. */\n isDisabled?: boolean;\n /** Called when an item is acted upon (usually selection via press). */\n onAction?: (key: Key) => void;\n /**\n * Size of the Breadcrumbs including spacing and layout.\n *\n * @default 'L'\n */\n size?: 'S' | 'M' | 'L';\n /** Whether to always show the root item if the items are collapsed. */\n showRoot?: boolean;\n /**\n * Whether to place the last Breadcrumb item onto a new line.\n */\n isMultiline?: boolean;\n /**\n * Whether to autoFocus the last Breadcrumb item when the Breadcrumbs render.\n */\n autoFocusCurrent?: boolean;\n}\n\nconst MIN_VISIBLE_ITEMS = 1;\nconst MAX_VISIBLE_ITEMS = 4;\n\n/**\n * Breadcrumbs show hierarchy and navigational context for a user’s location within an application.\n */\nexport const Breadcrumbs = React.forwardRef(function Breadcrumbs<T>(\n props: SpectrumBreadcrumbsProps<T>,\n ref: DOMRef\n) {\n props = useProviderProps(props);\n let {\n size = 'L',\n isMultiline,\n children,\n showRoot,\n isDisabled,\n onAction,\n autoFocusCurrent,\n ...otherProps\n } = props;\n\n // Not using React.Children.toArray because it mutates the key prop.\n let childArray: ReactElement<any>[] = [];\n React.Children.forEach(children, (child, index) => {\n if (React.isValidElement(child)) {\n if (child.key == null) {\n child = React.cloneElement(child, {key: index});\n }\n childArray.push(child);\n }\n });\n\n let domRef = useDOMRef(ref);\n let listRef = useRef<HTMLUListElement>(null);\n\n let [visibleItems, setVisibleItems] = useValueEffect(childArray.length);\n\n let {navProps} = useBreadcrumbs(props);\n let {styleProps} = useStyleProps(otherProps);\n\n let updateOverflow = useCallback(() => {\n let computeVisibleItems = (visibleItems: number): number => {\n // Refs can be null at runtime.\n let currListRef: HTMLUListElement | null = listRef.current;\n if (!currListRef) {\n return visibleItems;\n }\n\n let listItems = Array.from(currListRef.children) as HTMLLIElement[];\n if (listItems.length <= 0) {\n return visibleItems;\n }\n let containerWidth = currListRef.offsetWidth;\n let isShowingMenu = childArray.length > visibleItems;\n let calculatedWidth = 0;\n let newVisibleItems = 0;\n let maxVisibleItems = MAX_VISIBLE_ITEMS;\n\n if (showRoot) {\n calculatedWidth += (listItems.shift() as HTMLLIElement).offsetWidth;\n newVisibleItems++;\n }\n\n if (isShowingMenu) {\n calculatedWidth += (listItems.shift() as HTMLLIElement).offsetWidth;\n maxVisibleItems--;\n }\n\n if (showRoot && calculatedWidth >= containerWidth) {\n newVisibleItems--;\n }\n\n // TODO: what if multiline and only one breadcrumb??\n if (isMultiline) {\n listItems.pop();\n newVisibleItems++;\n } else {\n if (listItems.length > 0) {\n // Ensure the last breadcrumb isn't truncated when we measure it.\n let last = listItems.pop() as HTMLLIElement;\n last.style.overflow = 'visible';\n\n calculatedWidth += last.offsetWidth;\n if (calculatedWidth < containerWidth) {\n newVisibleItems++;\n }\n\n last.style.overflow = '';\n }\n }\n\n for (let breadcrumb of listItems.reverse()) {\n calculatedWidth += breadcrumb.offsetWidth;\n if (calculatedWidth < containerWidth) {\n newVisibleItems++;\n }\n }\n\n return Math.max(MIN_VISIBLE_ITEMS, Math.min(maxVisibleItems, newVisibleItems));\n };\n\n setVisibleItems(function* () {\n // Update to show all items.\n yield childArray.length;\n\n // Measure, and update to show the items that fit.\n let newVisibleItems = computeVisibleItems(childArray.length);\n yield newVisibleItems;\n\n // If the number of items is less than the number of children,\n // then update again to ensure that the menu fits.\n if (newVisibleItems < childArray.length && newVisibleItems > 1) {\n yield computeVisibleItems(newVisibleItems);\n }\n });\n }, [childArray.length, setVisibleItems, showRoot, isMultiline]);\n\n useResizeObserver({ref: domRef, onResize: updateOverflow});\n\n let lastChildren = useRef<typeof children | null>(null);\n useLayoutEffect(() => {\n if (children !== lastChildren.current) {\n lastChildren.current = children;\n updateOverflow();\n }\n });\n\n let contents = childArray;\n if (childArray.length > visibleItems) {\n let selectedItem = childArray[childArray.length - 1];\n let selectedKey = selectedItem.key ?? childArray.length - 1;\n let onMenuAction = (key: Key) => {\n // Don't fire onAction when clicking on the last item\n if (key !== selectedKey && onAction) {\n onAction(key);\n }\n };\n\n let menuItem = (\n <BreadcrumbItem key=\"menu\" isMenu>\n <MenuTrigger>\n <ActionButton\n UNSAFE_className={classNames(styles, 'spectrum-Breadcrumbs-actionButton')}\n aria-label=\"…\"\n isQuiet\n isDisabled={isDisabled}>\n <FolderBreadcrumb />\n </ActionButton>\n <Menu selectionMode=\"single\" selectedKeys={[selectedKey]} onAction={onMenuAction}>\n {childArray}\n </Menu>\n </MenuTrigger>\n </BreadcrumbItem>\n );\n\n contents = [menuItem];\n let breadcrumbs = [...childArray];\n let endItems = visibleItems;\n if (showRoot && visibleItems > 1) {\n let rootItem = breadcrumbs.shift();\n if (rootItem) {\n contents.unshift(rootItem);\n }\n endItems--;\n }\n contents.push(...breadcrumbs.slice(-endItems));\n }\n\n let lastIndex = contents.length - 1;\n let breadcrumbItems = contents.map((child, index) => {\n let isCurrent = index === lastIndex;\n let key = child.key ?? index;\n let onPress = () => {\n if (onAction) {\n onAction(key);\n }\n };\n\n return (\n <li key={index} className={classNames(styles, 'spectrum-Breadcrumbs-item')}>\n <BreadcrumbItem\n {...child.props}\n key={key}\n isCurrent={isCurrent}\n isDisabled={isDisabled}\n onPress={onPress}\n autoFocus={isCurrent && autoFocusCurrent}>\n {child.props.children}\n </BreadcrumbItem>\n </li>\n );\n });\n\n return (\n <nav {...styleProps} {...navProps} ref={domRef}>\n <ul\n ref={listRef}\n className={classNames(\n styles,\n 'spectrum-Breadcrumbs',\n {\n 'spectrum-Breadcrumbs--small': size === 'S',\n 'spectrum-Breadcrumbs--medium': size === 'M',\n 'spectrum-Breadcrumbs--multiline': isMultiline,\n 'spectrum-Breadcrumbs--showRoot': showRoot,\n 'is-disabled': isDisabled\n },\n styleProps.className\n )}>\n {breadcrumbItems}\n </ul>\n </nav>\n );\n});\n"],"names":[],"version":3,"file":"Breadcrumbs.js.map"}
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@adobe/react-spectrum/src/breadcrumbs/Breadcrumbs.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 */\nimport {ActionButton} from '../button/ActionButton';\n\nimport {AriaBreadcrumbsProps, useBreadcrumbs} from 'react-aria/useBreadcrumbs';\nimport {BreadcrumbItem} from './BreadcrumbItem';\nimport {classNames} from '../utils/classNames';\nimport {DOMRef, ItemProps, Key, StyleProps} from '@react-types/shared';\nimport FolderBreadcrumb from '@spectrum-icons/ui/FolderBreadcrumb';\nimport {Menu} from '../menu/Menu';\nimport {MenuTrigger} from '../menu/MenuTrigger';\nimport React, {ReactElement, useCallback, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/breadcrumb/vars.css';\nimport {useDOMRef} from '../utils/useDOMRef';\nimport {useLayoutEffect} from 'react-aria/private/utils/useLayoutEffect';\nimport {useProviderProps} from '../provider/Provider';\nimport {useResizeObserver} from 'react-aria/private/utils/useResizeObserver';\nimport {useStyleProps} from '../utils/styleProps';\nimport {useValueEffect} from 'react-aria/private/utils/useValueEffect';\n\nexport interface SpectrumBreadcrumbsProps<T> extends AriaBreadcrumbsProps, StyleProps {\n /** The breadcrumb items. */\n children: ReactElement<ItemProps<T>> | ReactElement<ItemProps<T>>[],\n /** Whether the Breadcrumbs are disabled. */\n isDisabled?: boolean,\n /** Called when an item is acted upon (usually selection via press). */\n onAction?: (key: Key) => void,\n /**\n * Size of the Breadcrumbs including spacing and layout.\n * @default 'L'\n */\n size?: 'S' | 'M' | 'L',\n /** Whether to always show the root item if the items are collapsed. */\n showRoot?: boolean,\n /**\n * Whether to place the last Breadcrumb item onto a new line.\n */\n isMultiline?: boolean,\n /**\n * Whether to autoFocus the last Breadcrumb item when the Breadcrumbs render.\n */\n autoFocusCurrent?: boolean\n}\n\nconst MIN_VISIBLE_ITEMS = 1;\nconst MAX_VISIBLE_ITEMS = 4;\n\n/**\n * Breadcrumbs show hierarchy and navigational context for a user’s location within an application.\n */\nexport const Breadcrumbs = React.forwardRef(function Breadcrumbs<T>(props: SpectrumBreadcrumbsProps<T>, ref: DOMRef) {\n props = useProviderProps(props);\n let {\n size = 'L',\n isMultiline,\n children,\n showRoot,\n isDisabled,\n onAction,\n autoFocusCurrent,\n ...otherProps\n } = props;\n\n // Not using React.Children.toArray because it mutates the key prop.\n let childArray: ReactElement<any>[] = [];\n React.Children.forEach(children, (child, index) => {\n if (React.isValidElement(child)) {\n if (child.key == null) {\n child = React.cloneElement(child, {key: index});\n }\n childArray.push(child);\n }\n });\n\n let domRef = useDOMRef(ref);\n let listRef = useRef<HTMLUListElement>(null);\n\n let [visibleItems, setVisibleItems] = useValueEffect(childArray.length);\n\n let {navProps} = useBreadcrumbs(props);\n let {styleProps} = useStyleProps(otherProps);\n\n let updateOverflow = useCallback(() => {\n let computeVisibleItems = (visibleItems: number): number => {\n // Refs can be null at runtime.\n let currListRef: HTMLUListElement | null = listRef.current;\n if (!currListRef) {\n return visibleItems;\n }\n\n let listItems = Array.from(currListRef.children) as HTMLLIElement[];\n if (listItems.length <= 0) {\n return visibleItems;\n }\n let containerWidth = currListRef.offsetWidth;\n let isShowingMenu = childArray.length > visibleItems;\n let calculatedWidth = 0;\n let newVisibleItems = 0;\n let maxVisibleItems = MAX_VISIBLE_ITEMS;\n\n if (showRoot) {\n calculatedWidth += (listItems.shift() as HTMLLIElement).offsetWidth;\n newVisibleItems++;\n }\n\n if (isShowingMenu) {\n calculatedWidth += (listItems.shift() as HTMLLIElement).offsetWidth;\n maxVisibleItems--;\n }\n\n if (showRoot && calculatedWidth >= containerWidth) {\n newVisibleItems--;\n }\n\n // TODO: what if multiline and only one breadcrumb??\n if (isMultiline) {\n listItems.pop();\n newVisibleItems++;\n } else {\n if (listItems.length > 0) {\n // Ensure the last breadcrumb isn't truncated when we measure it.\n let last = (listItems.pop() as HTMLLIElement);\n last.style.overflow = 'visible';\n\n calculatedWidth += last.offsetWidth;\n if (calculatedWidth < containerWidth) {\n newVisibleItems++;\n }\n\n last.style.overflow = '';\n }\n }\n\n for (let breadcrumb of listItems.reverse()) {\n calculatedWidth += breadcrumb.offsetWidth;\n if (calculatedWidth < containerWidth) {\n newVisibleItems++;\n }\n }\n\n return Math.max(MIN_VISIBLE_ITEMS, Math.min(maxVisibleItems, newVisibleItems));\n };\n\n setVisibleItems(function *() {\n // Update to show all items.\n yield childArray.length;\n\n // Measure, and update to show the items that fit.\n let newVisibleItems = computeVisibleItems(childArray.length);\n yield newVisibleItems;\n\n // If the number of items is less than the number of children,\n // then update again to ensure that the menu fits.\n if (newVisibleItems < childArray.length && newVisibleItems > 1) {\n yield computeVisibleItems(newVisibleItems);\n }\n });\n }, [childArray.length, setVisibleItems, showRoot, isMultiline]);\n\n useResizeObserver({ref: domRef, onResize: updateOverflow});\n\n let lastChildren = useRef<typeof children | null>(null);\n useLayoutEffect(() => {\n if (children !== lastChildren.current) {\n lastChildren.current = children;\n updateOverflow();\n }\n });\n\n let contents = childArray;\n if (childArray.length > visibleItems) {\n let selectedItem = childArray[childArray.length - 1];\n let selectedKey = selectedItem.key ?? childArray.length - 1;\n let onMenuAction = (key: Key) => {\n // Don't fire onAction when clicking on the last item\n if (key !== selectedKey && onAction) {\n onAction(key);\n }\n };\n\n let menuItem = (\n <BreadcrumbItem key=\"menu\" isMenu>\n <MenuTrigger>\n <ActionButton\n UNSAFE_className={classNames(styles, 'spectrum-Breadcrumbs-actionButton')}\n aria-label=\"…\"\n isQuiet\n isDisabled={isDisabled}>\n <FolderBreadcrumb />\n </ActionButton>\n <Menu selectionMode=\"single\" selectedKeys={[selectedKey]} onAction={onMenuAction}>\n {childArray}\n </Menu>\n </MenuTrigger>\n </BreadcrumbItem>\n );\n\n contents = [menuItem];\n let breadcrumbs = [...childArray];\n let endItems = visibleItems;\n if (showRoot && visibleItems > 1) {\n let rootItem = breadcrumbs.shift();\n if (rootItem) {\n contents.unshift(rootItem);\n }\n endItems--;\n }\n contents.push(...breadcrumbs.slice(-endItems));\n }\n\n let lastIndex = contents.length - 1;\n let breadcrumbItems = contents.map((child, index) => {\n let isCurrent = index === lastIndex;\n let key = child.key ?? index;\n let onPress = () => {\n if (onAction) {\n onAction(key);\n }\n };\n\n return (\n <li\n key={index}\n className={\n classNames(\n styles,\n 'spectrum-Breadcrumbs-item'\n )\n }>\n <BreadcrumbItem\n {...child.props}\n key={key}\n isCurrent={isCurrent}\n isDisabled={isDisabled}\n onPress={onPress}\n autoFocus={isCurrent && autoFocusCurrent}>\n {child.props.children}\n </BreadcrumbItem>\n </li>\n );\n });\n\n return (\n <nav\n {...styleProps}\n {...navProps}\n ref={domRef}>\n <ul\n ref={listRef}\n className={\n classNames(\n styles,\n 'spectrum-Breadcrumbs',\n {\n 'spectrum-Breadcrumbs--small': size === 'S',\n 'spectrum-Breadcrumbs--medium': size === 'M',\n 'spectrum-Breadcrumbs--multiline': isMultiline,\n 'spectrum-Breadcrumbs--showRoot': showRoot,\n 'is-disabled': isDisabled\n },\n styleProps.className\n )\n }>\n {breadcrumbItems}\n </ul>\n </nav>\n );\n});\n"],"names":[],"version":3,"file":"Breadcrumbs.mjs.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;;;;;AA4CD,MAAM,0CAAoB;AAC1B,MAAM,0CAAoB;AAKnB,MAAM,yDAAc,CAAA,GAAA,YAAI,EAAE,UAAU,CAAC,SAAS,YACnD,KAAkC,EAClC,GAAW;IAEX,QAAQ,CAAA,GAAA,yCAAe,EAAE;IACzB,IAAI,QACF,OAAO,kBACP,WAAW,YACX,QAAQ,YACR,QAAQ,cACR,UAAU,YACV,QAAQ,oBACR,gBAAgB,EAChB,GAAG,YACJ,GAAG;IAEJ,oEAAoE;IACpE,IAAI,aAAkC,EAAE;IACxC,CAAA,GAAA,YAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;QACvC,kBAAI,CAAA,GAAA,YAAI,EAAE,cAAc,CAAC,QAAQ;YAC/B,IAAI,MAAM,GAAG,IAAI,MACf,sBAAQ,CAAA,GAAA,YAAI,EAAE,YAAY,CAAC,OAAO;gBAAC,KAAK;YAAK;YAE/C,WAAW,IAAI,CAAC;QAClB;IACF;IAEA,IAAI,SAAS,CAAA,GAAA,yCAAQ,EAAE;IACvB,IAAI,UAAU,CAAA,GAAA,aAAK,EAAoB;IAEvC,IAAI,CAAC,cAAc,gBAAgB,GAAG,CAAA,GAAA,qBAAa,EAAE,WAAW,MAAM;IAEtE,IAAI,YAAC,QAAQ,EAAC,GAAG,CAAA,GAAA,qBAAa,EAAE;IAChC,IAAI,cAAC,UAAU,EAAC,GAAG,CAAA,GAAA,yCAAY,EAAE;IAEjC,IAAI,iBAAiB,CAAA,GAAA,kBAAU,EAAE;QAC/B,IAAI,sBAAsB,CAAC;YACzB,+BAA+B;YAC/B,IAAI,cAAuC,QAAQ,OAAO;YAC1D,IAAI,CAAC,aACH,OAAO;YAGT,IAAI,YAAY,MAAM,IAAI,CAAC,YAAY,QAAQ;YAC/C,IAAI,UAAU,MAAM,IAAI,GACtB,OAAO;YAET,IAAI,iBAAiB,YAAY,WAAW;YAC5C,IAAI,gBAAgB,WAAW,MAAM,GAAG;YACxC,IAAI,kBAAkB;YACtB,IAAI,kBAAkB;YACtB,IAAI,kBAAkB;YAEtB,IAAI,UAAU;gBACZ,mBAAmB,AAAC,UAAU,KAAK,GAAqB,WAAW;gBACnE;YACF;YAEA,IAAI,eAAe;gBACjB,mBAAmB,AAAC,UAAU,KAAK,GAAqB,WAAW;gBACnE;YACF;YAEA,IAAI,YAAY,mBAAmB,gBACjC;YAGF,oDAAoD;YACpD,IAAI,aAAa;gBACf,UAAU,GAAG;gBACb;YACF,OACE,IAAI,UAAU,MAAM,GAAG,GAAG;gBACxB,iEAAiE;gBACjE,IAAI,OAAO,UAAU,GAAG;gBACxB,KAAK,KAAK,CAAC,QAAQ,GAAG;gBAEtB,mBAAmB,KAAK,WAAW;gBACnC,IAAI,kBAAkB,gBACpB;gBAGF,KAAK,KAAK,CAAC,QAAQ,GAAG;YACxB;YAGF,KAAK,IAAI,cAAc,UAAU,OAAO,GAAI;gBAC1C,mBAAmB,WAAW,WAAW;gBACzC,IAAI,kBAAkB,gBACpB;YAEJ;YAEA,OAAO,KAAK,GAAG,CAAC,yCAAmB,KAAK,GAAG,CAAC,iBAAiB;QAC/D;QAEA,gBAAgB;YACd,4BAA4B;YAC5B,MAAM,WAAW,MAAM;YAEvB,kDAAkD;YAClD,IAAI,kBAAkB,oBAAoB,WAAW,MAAM;YAC3D,MAAM;YAEN,8DAA8D;YAC9D,kDAAkD;YAClD,IAAI,kBAAkB,WAAW,MAAM,IAAI,kBAAkB,GAC3D,MAAM,oBAAoB;QAE9B;IACF,GAAG;QAAC,WAAW,MAAM;QAAE;QAAiB;QAAU;KAAY;IAE9D,CAAA,GAAA,wBAAgB,EAAE;QAAC,KAAK;QAAQ,UAAU;IAAc;IAExD,IAAI,eAAe,CAAA,GAAA,aAAK,EAA0B;IAClD,CAAA,GAAA,sBAAc,EAAE;QACd,IAAI,aAAa,aAAa,OAAO,EAAE;YACrC,aAAa,OAAO,GAAG;YACvB;QACF;IACF;IAEA,IAAI,WAAW;IACf,IAAI,WAAW,MAAM,GAAG,cAAc;QACpC,IAAI,eAAe,UAAU,CAAC,WAAW,MAAM,GAAG,EAAE;QACpD,IAAI,cAAc,aAAa,GAAG,IAAI,WAAW,MAAM,GAAG;QAC1D,IAAI,eAAe,CAAC;YAClB,qDAAqD;YACrD,IAAI,QAAQ,eAAe,UACzB,SAAS;QAEb;QAEA,IAAI,yBACF,gCAAC,CAAA,GAAA,yCAAa;YAAE,KAAI;YAAO,QAAA;yBACzB,gCAAC,CAAA,GAAA,yCAAU,uBACT,gCAAC,CAAA,GAAA,yCAAW;YACV,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,uDAAK,GAAG;YACrC,cAAW;YACX,SAAA;YACA,YAAY;yBACZ,gCAAC,CAAA,GAAA,sCAAe,yBAElB,gCAAC,CAAA,GAAA,yCAAG;YAAE,eAAc;YAAS,cAAc;gBAAC;aAAY;YAAE,UAAU;WACjE;QAMT,WAAW;YAAC;SAAS;QACrB,IAAI,cAAc;eAAI;SAAW;QACjC,IAAI,WAAW;QACf,IAAI,YAAY,eAAe,GAAG;YAChC,IAAI,WAAW,YAAY,KAAK;YAChC,IAAI,UACF,SAAS,OAAO,CAAC;YAEnB;QACF;QACA,SAAS,IAAI,IAAI,YAAY,KAAK,CAAC,CAAC;IACtC;IAEA,IAAI,YAAY,SAAS,MAAM,GAAG;IAClC,IAAI,kBAAkB,SAAS,GAAG,CAAC,CAAC,OAAO;QACzC,IAAI,YAAY,UAAU;QAC1B,IAAI,MAAM,MAAM,GAAG,IAAI;QACvB,IAAI,UAAU;YACZ,IAAI,UACF,SAAS;QAEb;QAEA,qBACE,gCAAC;YAAG,KAAK;YAAO,WAAW,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,uDAAK,GAAG;yBAC5C,gCAAC,CAAA,GAAA,yCAAa;YACX,GAAG,MAAM,KAAK;YACf,KAAK;YACL,WAAW;YACX,YAAY;YACZ,SAAS;YACT,WAAW,aAAa;WACvB,MAAM,KAAK,CAAC,QAAQ;IAI7B;IAEA,qBACE,gCAAC;QAAK,GAAG,UAAU;QAAG,GAAG,QAAQ;QAAE,KAAK;qBACtC,gCAAC;QACC,KAAK;QACL,WAAW,CAAA,GAAA,yCAAS,EAClB,CAAA,GAAA,uDAAK,GACL,wBACA;YACE,+BAA+B,SAAS;YACxC,gCAAgC,SAAS;YACzC,mCAAmC;YACnC,kCAAkC;YAClC,eAAe;QACjB,GACA,WAAW,SAAS;OAErB;AAIT","sources":["packages/@adobe/react-spectrum/src/breadcrumbs/Breadcrumbs.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 */\nimport {ActionButton} from '../button/ActionButton';\n\nimport {AriaBreadcrumbsProps, useBreadcrumbs} from 'react-aria/useBreadcrumbs';\nimport {BreadcrumbItem} from './BreadcrumbItem';\nimport {classNames} from '../utils/classNames';\nimport {DOMRef, ItemProps, Key, StyleProps} from '@react-types/shared';\nimport FolderBreadcrumb from '@spectrum-icons/ui/FolderBreadcrumb';\nimport {Menu} from '../menu/Menu';\nimport {MenuTrigger} from '../menu/MenuTrigger';\nimport React, {ReactElement, useCallback, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/breadcrumb/vars.css';\nimport {useDOMRef} from '../utils/useDOMRef';\nimport {useLayoutEffect} from 'react-aria/private/utils/useLayoutEffect';\nimport {useProviderProps} from '../provider/Provider';\nimport {useResizeObserver} from 'react-aria/private/utils/useResizeObserver';\nimport {useStyleProps} from '../utils/styleProps';\nimport {useValueEffect} from 'react-aria/private/utils/useValueEffect';\n\nexport interface SpectrumBreadcrumbsProps<T> extends AriaBreadcrumbsProps, StyleProps {\n /** The breadcrumb items. */\n children: ReactElement<ItemProps<T>> | ReactElement<ItemProps<T>>[];\n /** Whether the Breadcrumbs are disabled. */\n isDisabled?: boolean;\n /** Called when an item is acted upon (usually selection via press). */\n onAction?: (key: Key) => void;\n /**\n * Size of the Breadcrumbs including spacing and layout.\n *\n * @default 'L'\n */\n size?: 'S' | 'M' | 'L';\n /** Whether to always show the root item if the items are collapsed. */\n showRoot?: boolean;\n /**\n * Whether to place the last Breadcrumb item onto a new line.\n */\n isMultiline?: boolean;\n /**\n * Whether to autoFocus the last Breadcrumb item when the Breadcrumbs render.\n */\n autoFocusCurrent?: boolean;\n}\n\nconst MIN_VISIBLE_ITEMS = 1;\nconst MAX_VISIBLE_ITEMS = 4;\n\n/**\n * Breadcrumbs show hierarchy and navigational context for a user’s location within an application.\n */\nexport const Breadcrumbs = React.forwardRef(function Breadcrumbs<T>(\n props: SpectrumBreadcrumbsProps<T>,\n ref: DOMRef\n) {\n props = useProviderProps(props);\n let {\n size = 'L',\n isMultiline,\n children,\n showRoot,\n isDisabled,\n onAction,\n autoFocusCurrent,\n ...otherProps\n } = props;\n\n // Not using React.Children.toArray because it mutates the key prop.\n let childArray: ReactElement<any>[] = [];\n React.Children.forEach(children, (child, index) => {\n if (React.isValidElement(child)) {\n if (child.key == null) {\n child = React.cloneElement(child, {key: index});\n }\n childArray.push(child);\n }\n });\n\n let domRef = useDOMRef(ref);\n let listRef = useRef<HTMLUListElement>(null);\n\n let [visibleItems, setVisibleItems] = useValueEffect(childArray.length);\n\n let {navProps} = useBreadcrumbs(props);\n let {styleProps} = useStyleProps(otherProps);\n\n let updateOverflow = useCallback(() => {\n let computeVisibleItems = (visibleItems: number): number => {\n // Refs can be null at runtime.\n let currListRef: HTMLUListElement | null = listRef.current;\n if (!currListRef) {\n return visibleItems;\n }\n\n let listItems = Array.from(currListRef.children) as HTMLLIElement[];\n if (listItems.length <= 0) {\n return visibleItems;\n }\n let containerWidth = currListRef.offsetWidth;\n let isShowingMenu = childArray.length > visibleItems;\n let calculatedWidth = 0;\n let newVisibleItems = 0;\n let maxVisibleItems = MAX_VISIBLE_ITEMS;\n\n if (showRoot) {\n calculatedWidth += (listItems.shift() as HTMLLIElement).offsetWidth;\n newVisibleItems++;\n }\n\n if (isShowingMenu) {\n calculatedWidth += (listItems.shift() as HTMLLIElement).offsetWidth;\n maxVisibleItems--;\n }\n\n if (showRoot && calculatedWidth >= containerWidth) {\n newVisibleItems--;\n }\n\n // TODO: what if multiline and only one breadcrumb??\n if (isMultiline) {\n listItems.pop();\n newVisibleItems++;\n } else {\n if (listItems.length > 0) {\n // Ensure the last breadcrumb isn't truncated when we measure it.\n let last = listItems.pop() as HTMLLIElement;\n last.style.overflow = 'visible';\n\n calculatedWidth += last.offsetWidth;\n if (calculatedWidth < containerWidth) {\n newVisibleItems++;\n }\n\n last.style.overflow = '';\n }\n }\n\n for (let breadcrumb of listItems.reverse()) {\n calculatedWidth += breadcrumb.offsetWidth;\n if (calculatedWidth < containerWidth) {\n newVisibleItems++;\n }\n }\n\n return Math.max(MIN_VISIBLE_ITEMS, Math.min(maxVisibleItems, newVisibleItems));\n };\n\n setVisibleItems(function* () {\n // Update to show all items.\n yield childArray.length;\n\n // Measure, and update to show the items that fit.\n let newVisibleItems = computeVisibleItems(childArray.length);\n yield newVisibleItems;\n\n // If the number of items is less than the number of children,\n // then update again to ensure that the menu fits.\n if (newVisibleItems < childArray.length && newVisibleItems > 1) {\n yield computeVisibleItems(newVisibleItems);\n }\n });\n }, [childArray.length, setVisibleItems, showRoot, isMultiline]);\n\n useResizeObserver({ref: domRef, onResize: updateOverflow});\n\n let lastChildren = useRef<typeof children | null>(null);\n useLayoutEffect(() => {\n if (children !== lastChildren.current) {\n lastChildren.current = children;\n updateOverflow();\n }\n });\n\n let contents = childArray;\n if (childArray.length > visibleItems) {\n let selectedItem = childArray[childArray.length - 1];\n let selectedKey = selectedItem.key ?? childArray.length - 1;\n let onMenuAction = (key: Key) => {\n // Don't fire onAction when clicking on the last item\n if (key !== selectedKey && onAction) {\n onAction(key);\n }\n };\n\n let menuItem = (\n <BreadcrumbItem key=\"menu\" isMenu>\n <MenuTrigger>\n <ActionButton\n UNSAFE_className={classNames(styles, 'spectrum-Breadcrumbs-actionButton')}\n aria-label=\"…\"\n isQuiet\n isDisabled={isDisabled}>\n <FolderBreadcrumb />\n </ActionButton>\n <Menu selectionMode=\"single\" selectedKeys={[selectedKey]} onAction={onMenuAction}>\n {childArray}\n </Menu>\n </MenuTrigger>\n </BreadcrumbItem>\n );\n\n contents = [menuItem];\n let breadcrumbs = [...childArray];\n let endItems = visibleItems;\n if (showRoot && visibleItems > 1) {\n let rootItem = breadcrumbs.shift();\n if (rootItem) {\n contents.unshift(rootItem);\n }\n endItems--;\n }\n contents.push(...breadcrumbs.slice(-endItems));\n }\n\n let lastIndex = contents.length - 1;\n let breadcrumbItems = contents.map((child, index) => {\n let isCurrent = index === lastIndex;\n let key = child.key ?? index;\n let onPress = () => {\n if (onAction) {\n onAction(key);\n }\n };\n\n return (\n <li key={index} className={classNames(styles, 'spectrum-Breadcrumbs-item')}>\n <BreadcrumbItem\n {...child.props}\n key={key}\n isCurrent={isCurrent}\n isDisabled={isDisabled}\n onPress={onPress}\n autoFocus={isCurrent && autoFocusCurrent}>\n {child.props.children}\n </BreadcrumbItem>\n </li>\n );\n });\n\n return (\n <nav {...styleProps} {...navProps} ref={domRef}>\n <ul\n ref={listRef}\n className={classNames(\n styles,\n 'spectrum-Breadcrumbs',\n {\n 'spectrum-Breadcrumbs--small': size === 'S',\n 'spectrum-Breadcrumbs--medium': size === 'M',\n 'spectrum-Breadcrumbs--multiline': isMultiline,\n 'spectrum-Breadcrumbs--showRoot': showRoot,\n 'is-disabled': isDisabled\n },\n styleProps.className\n )}>\n {breadcrumbItems}\n </ul>\n </nav>\n );\n});\n"],"names":[],"version":3,"file":"Breadcrumbs.mjs.map"}
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;;;AA6BM,MAAM,0DAAe,CAAA,GAAA,sCAAI,EAAE,UAAU,CAAC,SAAS,aAAa,KAAgC,EAAE,GAAoC;IACvI,QAAQ,CAAA,GAAA,0CAAe,EAAE;IACzB,QAAQ,CAAA,GAAA,sCAAW,EAAE,OAAO;IAC5B,IAAI,YAAY,CAAA,GAAA,sCAAW,EAAE;QAAC,kBAAkB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;IAA8B,GAAG;IAEpG,IAAI,WACF,OAAO,cACP,UAAU,eACV,WAAW,YACX,QAAQ,aACR,SAAS,kBACT,uBAAuB;IACvB,cAAc,kBACd,uBAAuB;IACvB,cAAc,EACd,GAAG,YACJ,GAAG;IAEJ,IAAI,SAAS,CAAA,GAAA,yCAAc,EAAE;IAC7B,IAAI,eAAC,WAAW,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,mCAAQ,EAAE,OAAO;IAChD,IAAI,cAAC,UAAU,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,iCAAO,EAAE;oBAAC;IAAU;IAClD,IAAI,cAAC,UAAU,EAAC,GAAG,CAAA,GAAA,uCAAY,EAAE;IACjC,IAAI,aAAa,CAAA,GAAA,sCAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,QAAQ,EAAE,KAAK,CAAC,CAAA,IAAK,eAAC,CAAA,GAAA,sCAAI,EAAE,cAAc,CAAC;IAEzF,qBACE,0DAAC,CAAA,GAAA,mCAAQ;QAAE,gBAAgB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;QAAe,WAAW;qBACtE,0DAAC;QACE,GAAG,UAAU;QACb,GAAG,CAAA,GAAA,qCAAS,EAAE,aAAa,WAAW;QACvC,KAAK;QACL,WACE,CAAA,GAAA,oCAAS,EACP,CAAA,GAAA,mDAAK,GACL,yBACA;YACE,gCAAgC;YAChC,sCAAsC,CAAC,CAAC;YACxC,sCAAsC,gBAAgB;YACtD,sCAAsC,gBAAgB;YACtD,aAAa;YACb,eAAe;YACf,cAAc;QAChB,GACA,WAAW,SAAS;OAGvB,gCACC,0DAAC,CAAA,GAAA,8DAAa;QAAE,kBAAkB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;sBAEvD,0DAAC,CAAA,GAAA,oCAAS,uBACR,0DAAC,CAAA,GAAA,sCAAW;QACV,OAAO;YACL,MAAM;gBACJ,MAAM;gBACN,kBAAkB,CAAA,GAAA,oCAAS,EACzB,CAAA,GAAA,mDAAK,GACL,iBACA;oBACE,iCAAiC;gBACnC;YAEJ;YACA,MAAM;gBACJ,GAAG,SAAS;YACd;QACF;OACC,OAAO,aAAa,YAAY,2BAC7B,0DAAC,CAAA,GAAA,8BAAG,SAAG,YACP;AAMhB","sources":["packages/@adobe/react-spectrum/src/button/ActionButton.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 {AriaBaseButtonProps, ButtonProps, useButton} from 'react-aria/useButton';\n\nimport {classNames} from '../utils/classNames';\nimport {ClearSlots, SlotProvider, useSlotProps} from '../utils/Slots';\nimport CornerTriangle from '@spectrum-icons/ui/CornerTriangle';\nimport {FocusableRef, StyleProps} from '@react-types/shared';\nimport {FocusRing} from 'react-aria/FocusRing';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport React from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/button/vars.css';\nimport {Text} from '../text/Text';\nimport {useFocusableRef} from '../utils/useDOMRef';\nimport {useHover} from 'react-aria/useHover';\nimport {useProviderProps} from '../provider/Provider';\nimport {useStyleProps} from '../utils/styleProps';\n\nexport interface SpectrumActionButtonProps extends AriaBaseButtonProps, Omit<ButtonProps, 'onClick'>, StyleProps {\n /** Whether the button should be displayed with a [quiet style](https://spectrum.adobe.com/page/action-button/#Quiet). */\n isQuiet?: boolean,\n /** The static color style to apply. Useful when the button appears over a color background. */\n staticColor?: 'white' | 'black'\n}\n\n/**\n * ActionButtons allow users to perform an action.\n * They’re used for similar, task-based options within a workflow, and are ideal for interfaces where buttons aren’t meant to draw a lot of attention.\n */\nexport const ActionButton = React.forwardRef(function ActionButton(props: SpectrumActionButtonProps, ref: FocusableRef<HTMLButtonElement>) {\n props = useProviderProps(props);\n props = useSlotProps(props, 'actionButton');\n let textProps = useSlotProps({UNSAFE_className: classNames(styles, 'spectrum-ActionButton-label')}, 'text');\n\n let {\n isQuiet,\n isDisabled,\n staticColor,\n children,\n autoFocus,\n // @ts-ignore (private)\n holdAffordance,\n // @ts-ignore (private)\n hideButtonText,\n ...otherProps\n } = props;\n\n let domRef = useFocusableRef(ref);\n let {buttonProps, isPressed} = useButton(props, domRef);\n let {hoverProps, isHovered} = useHover({isDisabled});\n let {styleProps} = useStyleProps(otherProps);\n let isTextOnly = React.Children.toArray(props.children).every(c => !React.isValidElement(c));\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')} autoFocus={autoFocus}>\n <button\n {...styleProps}\n {...mergeProps(buttonProps, hoverProps)}\n ref={domRef}\n className={\n classNames(\n styles,\n 'spectrum-ActionButton',\n {\n 'spectrum-ActionButton--quiet': isQuiet,\n 'spectrum-ActionButton--staticColor': !!staticColor,\n 'spectrum-ActionButton--staticWhite': staticColor === 'white',\n 'spectrum-ActionButton--staticBlack': staticColor === 'black',\n 'is-active': isPressed,\n 'is-disabled': isDisabled,\n 'is-hovered': isHovered\n },\n styleProps.className\n )\n }>\n {holdAffordance &&\n <CornerTriangle UNSAFE_className={classNames(styles, 'spectrum-ActionButton-hold')} />\n }\n <ClearSlots>\n <SlotProvider\n slots={{\n icon: {\n size: 'S',\n UNSAFE_className: classNames(\n styles,\n 'spectrum-Icon',\n {\n 'spectrum-ActionGroup-itemIcon': hideButtonText\n }\n )\n },\n text: {\n ...textProps\n }\n }}>\n {typeof children === 'string' || isTextOnly\n ? <Text>{children}</Text>\n : children}\n </SlotProvider>\n </ClearSlots>\n </button>\n </FocusRing>\n );\n});\n"],"names":[],"version":3,"file":"ActionButton.cjs.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;;;AAkCM,MAAM,0DAAe,CAAA,GAAA,sCAAI,EAAE,UAAU,CAAC,SAAS,aACpD,KAAgC,EAChC,GAAoC;IAEpC,QAAQ,CAAA,GAAA,0CAAe,EAAE;IACzB,QAAQ,CAAA,GAAA,sCAAW,EAAE,OAAO;IAC5B,IAAI,YAAY,CAAA,GAAA,sCAAW,EACzB;QAAC,kBAAkB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;IAA8B,GACpE;IAGF,IAAI,WACF,OAAO,cACP,UAAU,eACV,WAAW,YACX,QAAQ,aACR,SAAS,kBACT,uBAAuB;IACvB,cAAc,kBACd,uBAAuB;IACvB,cAAc,EACd,GAAG,YACJ,GAAG;IAEJ,IAAI,SAAS,CAAA,GAAA,yCAAc,EAAE;IAC7B,IAAI,eAAC,WAAW,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,mCAAQ,EAAE,OAAO;IAChD,IAAI,cAAC,UAAU,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,iCAAO,EAAE;oBAAC;IAAU;IAClD,IAAI,cAAC,UAAU,EAAC,GAAG,CAAA,GAAA,uCAAY,EAAE;IACjC,IAAI,aAAa,CAAA,GAAA,sCAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,QAAQ,EAAE,KAAK,CAAC,CAAA,IAAK,eAAC,CAAA,GAAA,sCAAI,EAAE,cAAc,CAAC;IAEzF,qBACE,0DAAC,CAAA,GAAA,mCAAQ;QAAE,gBAAgB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;QAAe,WAAW;qBACtE,0DAAC;QACE,GAAG,UAAU;QACb,GAAG,CAAA,GAAA,qCAAS,EAAE,aAAa,WAAW;QACvC,KAAK;QACL,WAAW,CAAA,GAAA,oCAAS,EAClB,CAAA,GAAA,mDAAK,GACL,yBACA;YACE,gCAAgC;YAChC,sCAAsC,CAAC,CAAC;YACxC,sCAAsC,gBAAgB;YACtD,sCAAsC,gBAAgB;YACtD,aAAa;YACb,eAAe;YACf,cAAc;QAChB,GACA,WAAW,SAAS;OAErB,gCACC,0DAAC,CAAA,GAAA,8DAAa;QAAE,kBAAkB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;sBAEvD,0DAAC,CAAA,GAAA,oCAAS,uBACR,0DAAC,CAAA,GAAA,sCAAW;QACV,OAAO;YACL,MAAM;gBACJ,MAAM;gBACN,kBAAkB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG,iBAAiB;oBACpD,iCAAiC;gBACnC;YACF;YACA,MAAM;gBACJ,GAAG,SAAS;YACd;QACF;OACC,OAAO,aAAa,YAAY,2BAAa,0DAAC,CAAA,GAAA,8BAAG,SAAG,YAAmB;AAMpF","sources":["packages/@adobe/react-spectrum/src/button/ActionButton.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 {AriaBaseButtonProps, ButtonProps, useButton} from 'react-aria/useButton';\n\nimport {classNames} from '../utils/classNames';\nimport {ClearSlots, SlotProvider, useSlotProps} from '../utils/Slots';\nimport CornerTriangle from '@spectrum-icons/ui/CornerTriangle';\nimport {FocusableRef, StyleProps} from '@react-types/shared';\nimport {FocusRing} from 'react-aria/FocusRing';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport React from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/button/vars.css';\nimport {Text} from '../text/Text';\nimport {useFocusableRef} from '../utils/useDOMRef';\nimport {useHover} from 'react-aria/useHover';\nimport {useProviderProps} from '../provider/Provider';\nimport {useStyleProps} from '../utils/styleProps';\n\nexport interface SpectrumActionButtonProps\n extends AriaBaseButtonProps, Omit<ButtonProps, 'onClick'>, StyleProps {\n /**\n * Whether the button should be displayed with a [quiet\n * style](https://spectrum.adobe.com/page/action-button/#Quiet).\n */\n isQuiet?: boolean;\n /** The static color style to apply. Useful when the button appears over a color background. */\n staticColor?: 'white' | 'black';\n}\n\n/**\n * ActionButtons allow users to perform an action. They’re used for similar, task-based options\n * within a workflow, and are ideal for interfaces where buttons aren’t meant to draw a lot of\n * attention.\n */\nexport const ActionButton = React.forwardRef(function ActionButton(\n props: SpectrumActionButtonProps,\n ref: FocusableRef<HTMLButtonElement>\n) {\n props = useProviderProps(props);\n props = useSlotProps(props, 'actionButton');\n let textProps = useSlotProps(\n {UNSAFE_className: classNames(styles, 'spectrum-ActionButton-label')},\n 'text'\n );\n\n let {\n isQuiet,\n isDisabled,\n staticColor,\n children,\n autoFocus,\n // @ts-ignore (private)\n holdAffordance,\n // @ts-ignore (private)\n hideButtonText,\n ...otherProps\n } = props;\n\n let domRef = useFocusableRef(ref);\n let {buttonProps, isPressed} = useButton(props, domRef);\n let {hoverProps, isHovered} = useHover({isDisabled});\n let {styleProps} = useStyleProps(otherProps);\n let isTextOnly = React.Children.toArray(props.children).every(c => !React.isValidElement(c));\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')} autoFocus={autoFocus}>\n <button\n {...styleProps}\n {...mergeProps(buttonProps, hoverProps)}\n ref={domRef}\n className={classNames(\n styles,\n 'spectrum-ActionButton',\n {\n 'spectrum-ActionButton--quiet': isQuiet,\n 'spectrum-ActionButton--staticColor': !!staticColor,\n 'spectrum-ActionButton--staticWhite': staticColor === 'white',\n 'spectrum-ActionButton--staticBlack': staticColor === 'black',\n 'is-active': isPressed,\n 'is-disabled': isDisabled,\n 'is-hovered': isHovered\n },\n styleProps.className\n )}>\n {holdAffordance && (\n <CornerTriangle UNSAFE_className={classNames(styles, 'spectrum-ActionButton-hold')} />\n )}\n <ClearSlots>\n <SlotProvider\n slots={{\n icon: {\n size: 'S',\n UNSAFE_className: classNames(styles, 'spectrum-Icon', {\n 'spectrum-ActionGroup-itemIcon': hideButtonText\n })\n },\n text: {\n ...textProps\n }\n }}>\n {typeof children === 'string' || isTextOnly ? <Text>{children}</Text> : children}\n </SlotProvider>\n </ClearSlots>\n </button>\n </FocusRing>\n );\n});\n"],"names":[],"version":3,"file":"ActionButton.cjs.map"}
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;;;AA6BM,MAAM,0DAAe,CAAA,GAAA,YAAI,EAAE,UAAU,CAAC,SAAS,aAAa,KAAgC,EAAE,GAAoC;IACvI,QAAQ,CAAA,GAAA,yCAAe,EAAE;IACzB,QAAQ,CAAA,GAAA,yCAAW,EAAE,OAAO;IAC5B,IAAI,YAAY,CAAA,GAAA,yCAAW,EAAE;QAAC,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;IAA8B,GAAG;IAEpG,IAAI,WACF,OAAO,cACP,UAAU,eACV,WAAW,YACX,QAAQ,aACR,SAAS,kBACT,uBAAuB;IACvB,cAAc,kBACd,uBAAuB;IACvB,cAAc,EACd,GAAG,YACJ,GAAG;IAEJ,IAAI,SAAS,CAAA,GAAA,yCAAc,EAAE;IAC7B,IAAI,eAAC,WAAW,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,gBAAQ,EAAE,OAAO;IAChD,IAAI,cAAC,UAAU,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,eAAO,EAAE;oBAAC;IAAU;IAClD,IAAI,cAAC,UAAU,EAAC,GAAG,CAAA,GAAA,yCAAY,EAAE;IACjC,IAAI,aAAa,CAAA,GAAA,YAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,QAAQ,EAAE,KAAK,CAAC,CAAA,IAAK,eAAC,CAAA,GAAA,YAAI,EAAE,cAAc,CAAC;IAEzF,qBACE,gCAAC,CAAA,GAAA,gBAAQ;QAAE,gBAAgB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;QAAe,WAAW;qBACtE,gCAAC;QACE,GAAG,UAAU;QACb,GAAG,CAAA,GAAA,iBAAS,EAAE,aAAa,WAAW;QACvC,KAAK;QACL,WACE,CAAA,GAAA,yCAAS,EACP,CAAA,GAAA,mDAAK,GACL,yBACA;YACE,gCAAgC;YAChC,sCAAsC,CAAC,CAAC;YACxC,sCAAsC,gBAAgB;YACtD,sCAAsC,gBAAgB;YACtD,aAAa;YACb,eAAe;YACf,cAAc;QAChB,GACA,WAAW,SAAS;OAGvB,gCACC,gCAAC,CAAA,GAAA,oCAAa;QAAE,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;sBAEvD,gCAAC,CAAA,GAAA,yCAAS,uBACR,gCAAC,CAAA,GAAA,yCAAW;QACV,OAAO;YACL,MAAM;gBACJ,MAAM;gBACN,kBAAkB,CAAA,GAAA,yCAAS,EACzB,CAAA,GAAA,mDAAK,GACL,iBACA;oBACE,iCAAiC;gBACnC;YAEJ;YACA,MAAM;gBACJ,GAAG,SAAS;YACd;QACF;OACC,OAAO,aAAa,YAAY,2BAC7B,gCAAC,CAAA,GAAA,yCAAG,SAAG,YACP;AAMhB","sources":["packages/@adobe/react-spectrum/src/button/ActionButton.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 {AriaBaseButtonProps, ButtonProps, useButton} from 'react-aria/useButton';\n\nimport {classNames} from '../utils/classNames';\nimport {ClearSlots, SlotProvider, useSlotProps} from '../utils/Slots';\nimport CornerTriangle from '@spectrum-icons/ui/CornerTriangle';\nimport {FocusableRef, StyleProps} from '@react-types/shared';\nimport {FocusRing} from 'react-aria/FocusRing';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport React from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/button/vars.css';\nimport {Text} from '../text/Text';\nimport {useFocusableRef} from '../utils/useDOMRef';\nimport {useHover} from 'react-aria/useHover';\nimport {useProviderProps} from '../provider/Provider';\nimport {useStyleProps} from '../utils/styleProps';\n\nexport interface SpectrumActionButtonProps extends AriaBaseButtonProps, Omit<ButtonProps, 'onClick'>, StyleProps {\n /** Whether the button should be displayed with a [quiet style](https://spectrum.adobe.com/page/action-button/#Quiet). */\n isQuiet?: boolean,\n /** The static color style to apply. Useful when the button appears over a color background. */\n staticColor?: 'white' | 'black'\n}\n\n/**\n * ActionButtons allow users to perform an action.\n * They’re used for similar, task-based options within a workflow, and are ideal for interfaces where buttons aren’t meant to draw a lot of attention.\n */\nexport const ActionButton = React.forwardRef(function ActionButton(props: SpectrumActionButtonProps, ref: FocusableRef<HTMLButtonElement>) {\n props = useProviderProps(props);\n props = useSlotProps(props, 'actionButton');\n let textProps = useSlotProps({UNSAFE_className: classNames(styles, 'spectrum-ActionButton-label')}, 'text');\n\n let {\n isQuiet,\n isDisabled,\n staticColor,\n children,\n autoFocus,\n // @ts-ignore (private)\n holdAffordance,\n // @ts-ignore (private)\n hideButtonText,\n ...otherProps\n } = props;\n\n let domRef = useFocusableRef(ref);\n let {buttonProps, isPressed} = useButton(props, domRef);\n let {hoverProps, isHovered} = useHover({isDisabled});\n let {styleProps} = useStyleProps(otherProps);\n let isTextOnly = React.Children.toArray(props.children).every(c => !React.isValidElement(c));\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')} autoFocus={autoFocus}>\n <button\n {...styleProps}\n {...mergeProps(buttonProps, hoverProps)}\n ref={domRef}\n className={\n classNames(\n styles,\n 'spectrum-ActionButton',\n {\n 'spectrum-ActionButton--quiet': isQuiet,\n 'spectrum-ActionButton--staticColor': !!staticColor,\n 'spectrum-ActionButton--staticWhite': staticColor === 'white',\n 'spectrum-ActionButton--staticBlack': staticColor === 'black',\n 'is-active': isPressed,\n 'is-disabled': isDisabled,\n 'is-hovered': isHovered\n },\n styleProps.className\n )\n }>\n {holdAffordance &&\n <CornerTriangle UNSAFE_className={classNames(styles, 'spectrum-ActionButton-hold')} />\n }\n <ClearSlots>\n <SlotProvider\n slots={{\n icon: {\n size: 'S',\n UNSAFE_className: classNames(\n styles,\n 'spectrum-Icon',\n {\n 'spectrum-ActionGroup-itemIcon': hideButtonText\n }\n )\n },\n text: {\n ...textProps\n }\n }}>\n {typeof children === 'string' || isTextOnly\n ? <Text>{children}</Text>\n : children}\n </SlotProvider>\n </ClearSlots>\n </button>\n </FocusRing>\n );\n});\n"],"names":[],"version":3,"file":"ActionButton.js.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;;;AAkCM,MAAM,0DAAe,CAAA,GAAA,YAAI,EAAE,UAAU,CAAC,SAAS,aACpD,KAAgC,EAChC,GAAoC;IAEpC,QAAQ,CAAA,GAAA,yCAAe,EAAE;IACzB,QAAQ,CAAA,GAAA,yCAAW,EAAE,OAAO;IAC5B,IAAI,YAAY,CAAA,GAAA,yCAAW,EACzB;QAAC,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;IAA8B,GACpE;IAGF,IAAI,WACF,OAAO,cACP,UAAU,eACV,WAAW,YACX,QAAQ,aACR,SAAS,kBACT,uBAAuB;IACvB,cAAc,kBACd,uBAAuB;IACvB,cAAc,EACd,GAAG,YACJ,GAAG;IAEJ,IAAI,SAAS,CAAA,GAAA,yCAAc,EAAE;IAC7B,IAAI,eAAC,WAAW,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,gBAAQ,EAAE,OAAO;IAChD,IAAI,cAAC,UAAU,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,eAAO,EAAE;oBAAC;IAAU;IAClD,IAAI,cAAC,UAAU,EAAC,GAAG,CAAA,GAAA,yCAAY,EAAE;IACjC,IAAI,aAAa,CAAA,GAAA,YAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,QAAQ,EAAE,KAAK,CAAC,CAAA,IAAK,eAAC,CAAA,GAAA,YAAI,EAAE,cAAc,CAAC;IAEzF,qBACE,gCAAC,CAAA,GAAA,gBAAQ;QAAE,gBAAgB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;QAAe,WAAW;qBACtE,gCAAC;QACE,GAAG,UAAU;QACb,GAAG,CAAA,GAAA,iBAAS,EAAE,aAAa,WAAW;QACvC,KAAK;QACL,WAAW,CAAA,GAAA,yCAAS,EAClB,CAAA,GAAA,mDAAK,GACL,yBACA;YACE,gCAAgC;YAChC,sCAAsC,CAAC,CAAC;YACxC,sCAAsC,gBAAgB;YACtD,sCAAsC,gBAAgB;YACtD,aAAa;YACb,eAAe;YACf,cAAc;QAChB,GACA,WAAW,SAAS;OAErB,gCACC,gCAAC,CAAA,GAAA,oCAAa;QAAE,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;sBAEvD,gCAAC,CAAA,GAAA,yCAAS,uBACR,gCAAC,CAAA,GAAA,yCAAW;QACV,OAAO;YACL,MAAM;gBACJ,MAAM;gBACN,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG,iBAAiB;oBACpD,iCAAiC;gBACnC;YACF;YACA,MAAM;gBACJ,GAAG,SAAS;YACd;QACF;OACC,OAAO,aAAa,YAAY,2BAAa,gCAAC,CAAA,GAAA,yCAAG,SAAG,YAAmB;AAMpF","sources":["packages/@adobe/react-spectrum/src/button/ActionButton.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 {AriaBaseButtonProps, ButtonProps, useButton} from 'react-aria/useButton';\n\nimport {classNames} from '../utils/classNames';\nimport {ClearSlots, SlotProvider, useSlotProps} from '../utils/Slots';\nimport CornerTriangle from '@spectrum-icons/ui/CornerTriangle';\nimport {FocusableRef, StyleProps} from '@react-types/shared';\nimport {FocusRing} from 'react-aria/FocusRing';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport React from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/button/vars.css';\nimport {Text} from '../text/Text';\nimport {useFocusableRef} from '../utils/useDOMRef';\nimport {useHover} from 'react-aria/useHover';\nimport {useProviderProps} from '../provider/Provider';\nimport {useStyleProps} from '../utils/styleProps';\n\nexport interface SpectrumActionButtonProps\n extends AriaBaseButtonProps, Omit<ButtonProps, 'onClick'>, StyleProps {\n /**\n * Whether the button should be displayed with a [quiet\n * style](https://spectrum.adobe.com/page/action-button/#Quiet).\n */\n isQuiet?: boolean;\n /** The static color style to apply. Useful when the button appears over a color background. */\n staticColor?: 'white' | 'black';\n}\n\n/**\n * ActionButtons allow users to perform an action. They’re used for similar, task-based options\n * within a workflow, and are ideal for interfaces where buttons aren’t meant to draw a lot of\n * attention.\n */\nexport const ActionButton = React.forwardRef(function ActionButton(\n props: SpectrumActionButtonProps,\n ref: FocusableRef<HTMLButtonElement>\n) {\n props = useProviderProps(props);\n props = useSlotProps(props, 'actionButton');\n let textProps = useSlotProps(\n {UNSAFE_className: classNames(styles, 'spectrum-ActionButton-label')},\n 'text'\n );\n\n let {\n isQuiet,\n isDisabled,\n staticColor,\n children,\n autoFocus,\n // @ts-ignore (private)\n holdAffordance,\n // @ts-ignore (private)\n hideButtonText,\n ...otherProps\n } = props;\n\n let domRef = useFocusableRef(ref);\n let {buttonProps, isPressed} = useButton(props, domRef);\n let {hoverProps, isHovered} = useHover({isDisabled});\n let {styleProps} = useStyleProps(otherProps);\n let isTextOnly = React.Children.toArray(props.children).every(c => !React.isValidElement(c));\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')} autoFocus={autoFocus}>\n <button\n {...styleProps}\n {...mergeProps(buttonProps, hoverProps)}\n ref={domRef}\n className={classNames(\n styles,\n 'spectrum-ActionButton',\n {\n 'spectrum-ActionButton--quiet': isQuiet,\n 'spectrum-ActionButton--staticColor': !!staticColor,\n 'spectrum-ActionButton--staticWhite': staticColor === 'white',\n 'spectrum-ActionButton--staticBlack': staticColor === 'black',\n 'is-active': isPressed,\n 'is-disabled': isDisabled,\n 'is-hovered': isHovered\n },\n styleProps.className\n )}>\n {holdAffordance && (\n <CornerTriangle UNSAFE_className={classNames(styles, 'spectrum-ActionButton-hold')} />\n )}\n <ClearSlots>\n <SlotProvider\n slots={{\n icon: {\n size: 'S',\n UNSAFE_className: classNames(styles, 'spectrum-Icon', {\n 'spectrum-ActionGroup-itemIcon': hideButtonText\n })\n },\n text: {\n ...textProps\n }\n }}>\n {typeof children === 'string' || isTextOnly ? <Text>{children}</Text> : children}\n </SlotProvider>\n </ClearSlots>\n </button>\n </FocusRing>\n );\n});\n"],"names":[],"version":3,"file":"ActionButton.js.map"}
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;;;AA6BM,MAAM,0DAAe,CAAA,GAAA,YAAI,EAAE,UAAU,CAAC,SAAS,aAAa,KAAgC,EAAE,GAAoC;IACvI,QAAQ,CAAA,GAAA,yCAAe,EAAE;IACzB,QAAQ,CAAA,GAAA,yCAAW,EAAE,OAAO;IAC5B,IAAI,YAAY,CAAA,GAAA,yCAAW,EAAE;QAAC,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;IAA8B,GAAG;IAEpG,IAAI,WACF,OAAO,cACP,UAAU,eACV,WAAW,YACX,QAAQ,aACR,SAAS,kBACT,uBAAuB;IACvB,cAAc,kBACd,uBAAuB;IACvB,cAAc,EACd,GAAG,YACJ,GAAG;IAEJ,IAAI,SAAS,CAAA,GAAA,yCAAc,EAAE;IAC7B,IAAI,eAAC,WAAW,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,gBAAQ,EAAE,OAAO;IAChD,IAAI,cAAC,UAAU,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,eAAO,EAAE;oBAAC;IAAU;IAClD,IAAI,cAAC,UAAU,EAAC,GAAG,CAAA,GAAA,yCAAY,EAAE;IACjC,IAAI,aAAa,CAAA,GAAA,YAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,QAAQ,EAAE,KAAK,CAAC,CAAA,IAAK,eAAC,CAAA,GAAA,YAAI,EAAE,cAAc,CAAC;IAEzF,qBACE,gCAAC,CAAA,GAAA,gBAAQ;QAAE,gBAAgB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;QAAe,WAAW;qBACtE,gCAAC;QACE,GAAG,UAAU;QACb,GAAG,CAAA,GAAA,iBAAS,EAAE,aAAa,WAAW;QACvC,KAAK;QACL,WACE,CAAA,GAAA,yCAAS,EACP,CAAA,GAAA,mDAAK,GACL,yBACA;YACE,gCAAgC;YAChC,sCAAsC,CAAC,CAAC;YACxC,sCAAsC,gBAAgB;YACtD,sCAAsC,gBAAgB;YACtD,aAAa;YACb,eAAe;YACf,cAAc;QAChB,GACA,WAAW,SAAS;OAGvB,gCACC,gCAAC,CAAA,GAAA,oCAAa;QAAE,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;sBAEvD,gCAAC,CAAA,GAAA,yCAAS,uBACR,gCAAC,CAAA,GAAA,yCAAW;QACV,OAAO;YACL,MAAM;gBACJ,MAAM;gBACN,kBAAkB,CAAA,GAAA,yCAAS,EACzB,CAAA,GAAA,mDAAK,GACL,iBACA;oBACE,iCAAiC;gBACnC;YAEJ;YACA,MAAM;gBACJ,GAAG,SAAS;YACd;QACF;OACC,OAAO,aAAa,YAAY,2BAC7B,gCAAC,CAAA,GAAA,yCAAG,SAAG,YACP;AAMhB","sources":["packages/@adobe/react-spectrum/src/button/ActionButton.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 {AriaBaseButtonProps, ButtonProps, useButton} from 'react-aria/useButton';\n\nimport {classNames} from '../utils/classNames';\nimport {ClearSlots, SlotProvider, useSlotProps} from '../utils/Slots';\nimport CornerTriangle from '@spectrum-icons/ui/CornerTriangle';\nimport {FocusableRef, StyleProps} from '@react-types/shared';\nimport {FocusRing} from 'react-aria/FocusRing';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport React from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/button/vars.css';\nimport {Text} from '../text/Text';\nimport {useFocusableRef} from '../utils/useDOMRef';\nimport {useHover} from 'react-aria/useHover';\nimport {useProviderProps} from '../provider/Provider';\nimport {useStyleProps} from '../utils/styleProps';\n\nexport interface SpectrumActionButtonProps extends AriaBaseButtonProps, Omit<ButtonProps, 'onClick'>, StyleProps {\n /** Whether the button should be displayed with a [quiet style](https://spectrum.adobe.com/page/action-button/#Quiet). */\n isQuiet?: boolean,\n /** The static color style to apply. Useful when the button appears over a color background. */\n staticColor?: 'white' | 'black'\n}\n\n/**\n * ActionButtons allow users to perform an action.\n * They’re used for similar, task-based options within a workflow, and are ideal for interfaces where buttons aren’t meant to draw a lot of attention.\n */\nexport const ActionButton = React.forwardRef(function ActionButton(props: SpectrumActionButtonProps, ref: FocusableRef<HTMLButtonElement>) {\n props = useProviderProps(props);\n props = useSlotProps(props, 'actionButton');\n let textProps = useSlotProps({UNSAFE_className: classNames(styles, 'spectrum-ActionButton-label')}, 'text');\n\n let {\n isQuiet,\n isDisabled,\n staticColor,\n children,\n autoFocus,\n // @ts-ignore (private)\n holdAffordance,\n // @ts-ignore (private)\n hideButtonText,\n ...otherProps\n } = props;\n\n let domRef = useFocusableRef(ref);\n let {buttonProps, isPressed} = useButton(props, domRef);\n let {hoverProps, isHovered} = useHover({isDisabled});\n let {styleProps} = useStyleProps(otherProps);\n let isTextOnly = React.Children.toArray(props.children).every(c => !React.isValidElement(c));\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')} autoFocus={autoFocus}>\n <button\n {...styleProps}\n {...mergeProps(buttonProps, hoverProps)}\n ref={domRef}\n className={\n classNames(\n styles,\n 'spectrum-ActionButton',\n {\n 'spectrum-ActionButton--quiet': isQuiet,\n 'spectrum-ActionButton--staticColor': !!staticColor,\n 'spectrum-ActionButton--staticWhite': staticColor === 'white',\n 'spectrum-ActionButton--staticBlack': staticColor === 'black',\n 'is-active': isPressed,\n 'is-disabled': isDisabled,\n 'is-hovered': isHovered\n },\n styleProps.className\n )\n }>\n {holdAffordance &&\n <CornerTriangle UNSAFE_className={classNames(styles, 'spectrum-ActionButton-hold')} />\n }\n <ClearSlots>\n <SlotProvider\n slots={{\n icon: {\n size: 'S',\n UNSAFE_className: classNames(\n styles,\n 'spectrum-Icon',\n {\n 'spectrum-ActionGroup-itemIcon': hideButtonText\n }\n )\n },\n text: {\n ...textProps\n }\n }}>\n {typeof children === 'string' || isTextOnly\n ? <Text>{children}</Text>\n : children}\n </SlotProvider>\n </ClearSlots>\n </button>\n </FocusRing>\n );\n});\n"],"names":[],"version":3,"file":"ActionButton.mjs.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;;;AAkCM,MAAM,0DAAe,CAAA,GAAA,YAAI,EAAE,UAAU,CAAC,SAAS,aACpD,KAAgC,EAChC,GAAoC;IAEpC,QAAQ,CAAA,GAAA,yCAAe,EAAE;IACzB,QAAQ,CAAA,GAAA,yCAAW,EAAE,OAAO;IAC5B,IAAI,YAAY,CAAA,GAAA,yCAAW,EACzB;QAAC,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;IAA8B,GACpE;IAGF,IAAI,WACF,OAAO,cACP,UAAU,eACV,WAAW,YACX,QAAQ,aACR,SAAS,kBACT,uBAAuB;IACvB,cAAc,kBACd,uBAAuB;IACvB,cAAc,EACd,GAAG,YACJ,GAAG;IAEJ,IAAI,SAAS,CAAA,GAAA,yCAAc,EAAE;IAC7B,IAAI,eAAC,WAAW,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,gBAAQ,EAAE,OAAO;IAChD,IAAI,cAAC,UAAU,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,eAAO,EAAE;oBAAC;IAAU;IAClD,IAAI,cAAC,UAAU,EAAC,GAAG,CAAA,GAAA,yCAAY,EAAE;IACjC,IAAI,aAAa,CAAA,GAAA,YAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,QAAQ,EAAE,KAAK,CAAC,CAAA,IAAK,eAAC,CAAA,GAAA,YAAI,EAAE,cAAc,CAAC;IAEzF,qBACE,gCAAC,CAAA,GAAA,gBAAQ;QAAE,gBAAgB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;QAAe,WAAW;qBACtE,gCAAC;QACE,GAAG,UAAU;QACb,GAAG,CAAA,GAAA,iBAAS,EAAE,aAAa,WAAW;QACvC,KAAK;QACL,WAAW,CAAA,GAAA,yCAAS,EAClB,CAAA,GAAA,mDAAK,GACL,yBACA;YACE,gCAAgC;YAChC,sCAAsC,CAAC,CAAC;YACxC,sCAAsC,gBAAgB;YACtD,sCAAsC,gBAAgB;YACtD,aAAa;YACb,eAAe;YACf,cAAc;QAChB,GACA,WAAW,SAAS;OAErB,gCACC,gCAAC,CAAA,GAAA,oCAAa;QAAE,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;sBAEvD,gCAAC,CAAA,GAAA,yCAAS,uBACR,gCAAC,CAAA,GAAA,yCAAW;QACV,OAAO;YACL,MAAM;gBACJ,MAAM;gBACN,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG,iBAAiB;oBACpD,iCAAiC;gBACnC;YACF;YACA,MAAM;gBACJ,GAAG,SAAS;YACd;QACF;OACC,OAAO,aAAa,YAAY,2BAAa,gCAAC,CAAA,GAAA,yCAAG,SAAG,YAAmB;AAMpF","sources":["packages/@adobe/react-spectrum/src/button/ActionButton.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 {AriaBaseButtonProps, ButtonProps, useButton} from 'react-aria/useButton';\n\nimport {classNames} from '../utils/classNames';\nimport {ClearSlots, SlotProvider, useSlotProps} from '../utils/Slots';\nimport CornerTriangle from '@spectrum-icons/ui/CornerTriangle';\nimport {FocusableRef, StyleProps} from '@react-types/shared';\nimport {FocusRing} from 'react-aria/FocusRing';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport React from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/button/vars.css';\nimport {Text} from '../text/Text';\nimport {useFocusableRef} from '../utils/useDOMRef';\nimport {useHover} from 'react-aria/useHover';\nimport {useProviderProps} from '../provider/Provider';\nimport {useStyleProps} from '../utils/styleProps';\n\nexport interface SpectrumActionButtonProps\n extends AriaBaseButtonProps, Omit<ButtonProps, 'onClick'>, StyleProps {\n /**\n * Whether the button should be displayed with a [quiet\n * style](https://spectrum.adobe.com/page/action-button/#Quiet).\n */\n isQuiet?: boolean;\n /** The static color style to apply. Useful when the button appears over a color background. */\n staticColor?: 'white' | 'black';\n}\n\n/**\n * ActionButtons allow users to perform an action. They’re used for similar, task-based options\n * within a workflow, and are ideal for interfaces where buttons aren’t meant to draw a lot of\n * attention.\n */\nexport const ActionButton = React.forwardRef(function ActionButton(\n props: SpectrumActionButtonProps,\n ref: FocusableRef<HTMLButtonElement>\n) {\n props = useProviderProps(props);\n props = useSlotProps(props, 'actionButton');\n let textProps = useSlotProps(\n {UNSAFE_className: classNames(styles, 'spectrum-ActionButton-label')},\n 'text'\n );\n\n let {\n isQuiet,\n isDisabled,\n staticColor,\n children,\n autoFocus,\n // @ts-ignore (private)\n holdAffordance,\n // @ts-ignore (private)\n hideButtonText,\n ...otherProps\n } = props;\n\n let domRef = useFocusableRef(ref);\n let {buttonProps, isPressed} = useButton(props, domRef);\n let {hoverProps, isHovered} = useHover({isDisabled});\n let {styleProps} = useStyleProps(otherProps);\n let isTextOnly = React.Children.toArray(props.children).every(c => !React.isValidElement(c));\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')} autoFocus={autoFocus}>\n <button\n {...styleProps}\n {...mergeProps(buttonProps, hoverProps)}\n ref={domRef}\n className={classNames(\n styles,\n 'spectrum-ActionButton',\n {\n 'spectrum-ActionButton--quiet': isQuiet,\n 'spectrum-ActionButton--staticColor': !!staticColor,\n 'spectrum-ActionButton--staticWhite': staticColor === 'white',\n 'spectrum-ActionButton--staticBlack': staticColor === 'black',\n 'is-active': isPressed,\n 'is-disabled': isDisabled,\n 'is-hovered': isHovered\n },\n styleProps.className\n )}>\n {holdAffordance && (\n <CornerTriangle UNSAFE_className={classNames(styles, 'spectrum-ActionButton-hold')} />\n )}\n <ClearSlots>\n <SlotProvider\n slots={{\n icon: {\n size: 'S',\n UNSAFE_className: classNames(styles, 'spectrum-Icon', {\n 'spectrum-ActionGroup-itemIcon': hideButtonText\n })\n },\n text: {\n ...textProps\n }\n }}>\n {typeof children === 'string' || isTextOnly ? <Text>{children}</Text> : children}\n </SlotProvider>\n </ClearSlots>\n </button>\n </FocusRing>\n );\n});\n"],"names":[],"version":3,"file":"ActionButton.mjs.map"}
@@ -129,7 +129,7 @@ const $92256f4fe9ec9f59$export$353f5b6fc5456de1 = /*#__PURE__*/ (0, ($parcel$int
129
129
  if (e.currentTarget instanceof HTMLButtonElement) e.preventDefault();
130
130
  }
131
131
  } : {
132
- // no-op.
132
+ // no-op.
133
133
  // Not sure why, but TypeScript wouldn't allow to have an empty object `{}`.
134
134
  onClick: ()=>{}
135
135
  };
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@adobe/react-spectrum/src/button/Button.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 {AriaButtonProps, useButton} from 'react-aria/useButton';\n\nimport {classNames} from '../utils/classNames';\nimport {FocusableRef, StyleProps} from '@react-types/shared';\nimport {FocusRing} from 'react-aria/FocusRing';\nimport intlMessages from '../../intl/button/*.json';\nimport {isAppleDevice, isFirefox} from 'react-aria/private/utils/platform';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport {ProgressCircle} from '../progress/ProgressCircle';\n// @ts-ignore\nimport React, {ElementType, ReactElement, useEffect, useState} from 'react';\nimport {SlotProvider, useSlotProps} from '../utils/Slots';\nimport styles from '@adobe/spectrum-css-temp/components/button/vars.css';\nimport {Text} from '../text/Text';\nimport {useFocus} from 'react-aria/useFocus';\nimport {useFocusableRef} from '../utils/useDOMRef';\nimport {useHasChild} from '../utils/useHasChild';\nimport {useHover} from 'react-aria/useHover';\nimport {useId} from 'react-aria/useId';\nimport {useLocalizedStringFormatter} from 'react-aria/useLocalizedStringFormatter';\nimport {useProviderProps} from '../provider/Provider';\nimport {useStyleProps} from '../utils/styleProps';\n\n/** @deprecated */\ntype LegacyButtonVariant = 'cta' | 'overBackground';\nexport interface SpectrumButtonProps<T extends ElementType = 'button'> extends Omit<AriaButtonProps<T>, 'onClick'>, StyleProps {\n /** The [visual style](https://spectrum.adobe.com/page/button/#Options) of the button. */\n variant: 'accent' | 'primary' | 'secondary' | 'negative' | LegacyButtonVariant,\n /** The background style of the button. */\n style?: 'fill' | 'outline',\n /** The static color style to apply. Useful when the button appears over a color background. */\n staticColor?: 'white' | 'black',\n /**\n * Whether to disable events immediately and display a loading spinner after a 1 second delay.\n */\n isPending?: boolean,\n /**\n * Whether the button should be displayed with a quiet style.\n * @deprecated\n */\n isQuiet?: boolean\n}\n\nfunction disablePendingProps(props) {\n // Don't allow interaction while isPending is true\n if (props.isPending) {\n props.onPress = undefined;\n props.onPressStart = undefined;\n props.onPressEnd = undefined;\n props.onPressChange = undefined;\n props.onPressUp = undefined;\n props.onKeyDown = undefined;\n props.onKeyUp = undefined;\n props.onClick = undefined;\n props.href = undefined;\n }\n return props;\n}\n\n/**\n * Buttons allow users to perform an action or to navigate to another page.\n * They have multiple styles for various needs, and are ideal for calling attention to\n * where a user needs to do something in order to move forward in a flow.\n */\nexport const Button = React.forwardRef(function Button<T extends ElementType = 'button'>(props: SpectrumButtonProps<T>, ref: FocusableRef<HTMLElement>) {\n props = useProviderProps(props);\n props = useSlotProps(props, 'button');\n props = disablePendingProps(props);\n let {\n elementType: Element = 'button',\n children,\n variant,\n style = variant === 'accent' || variant === 'cta' ? 'fill' : 'outline',\n staticColor,\n isDisabled,\n isPending,\n autoFocus,\n ...otherProps\n } = props;\n let domRef = useFocusableRef(ref);\n let {buttonProps, isPressed} = useButton(props, domRef);\n let {hoverProps, isHovered} = useHover({isDisabled});\n let [isFocused, onFocusChange] = useState(false);\n let {focusProps} = useFocus({onFocusChange, isDisabled});\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/button');\n let {styleProps} = useStyleProps(otherProps);\n let hasLabel = useHasChild(`.${styles['spectrum-Button-label']}`, domRef);\n let hasIcon = useHasChild(`.${styles['spectrum-Icon']}`, domRef);\n // an aria label will block children and their labels from being read, this is undesirable for pending state\n let hasAriaLabel = !!buttonProps['aria-label'] || !!buttonProps['aria-labelledby'];\n let [isProgressVisible, setIsProgressVisible] = useState(false);\n let backupButtonId = useId();\n let buttonId = buttonProps.id || backupButtonId;\n let iconId = useId();\n let textId = useId();\n let spinnerId = useId();\n\n useEffect(() => {\n let timeout: ReturnType<typeof setTimeout>;\n\n if (isPending) {\n // Start timer when isPending is set to true.\n timeout = setTimeout(() => {\n setIsProgressVisible(true);\n }, 1000);\n } else {\n // Exit loading state when isPending is set to false. */\n setIsProgressVisible(false);\n }\n return () => {\n // Clean up on unmount or when user removes isPending prop before entering loading state.\n clearTimeout(timeout);\n };\n }, [isPending]);\n\n if (variant === 'cta') {\n variant = 'accent';\n } else if (variant === 'overBackground') {\n variant = 'primary';\n staticColor = 'white';\n }\n\n const isPendingAriaLiveLabel = `${hasAriaLabel ? buttonProps['aria-label'] : ''} ${stringFormatter.format('pending')}`.trim();\n const isPendingAriaLiveLabelledby = hasAriaLabel ? (buttonProps['aria-labelledby']?.replace(buttonId, spinnerId) ?? spinnerId) : `${hasIcon ? iconId : ''} ${hasLabel ? textId : ''} ${spinnerId}`.trim();\n\n let ariaLive: 'off' | 'polite' | 'assertive' = 'polite';\n if (isAppleDevice() && (!hasAriaLabel || isFirefox())) {\n ariaLive = 'off';\n }\n\n let isPendingProps = isPending ? {\n onClick: (e) => {\n if (e.currentTarget instanceof HTMLButtonElement) {\n e.preventDefault();\n }\n }\n } : {\n // no-op. \n // Not sure why, but TypeScript wouldn't allow to have an empty object `{}`.\n onClick: () => {}\n };\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')} autoFocus={autoFocus}>\n <Element\n {...styleProps}\n {...mergeProps(buttonProps, hoverProps, focusProps, isPendingProps)}\n id={buttonId}\n ref={domRef}\n data-variant={variant}\n data-style={style}\n data-static-color={staticColor || undefined}\n aria-disabled={isPending ? 'true' : undefined}\n aria-label={isPending ? isPendingAriaLiveLabel : buttonProps['aria-label']}\n aria-labelledby={isPending ? isPendingAriaLiveLabelledby : buttonProps['aria-labelledby']}\n className={\n classNames(\n styles,\n 'spectrum-Button',\n {\n 'spectrum-Button--iconOnly': hasIcon && !hasLabel,\n 'is-disabled': isDisabled || isProgressVisible,\n 'is-active': isPressed,\n 'is-hovered': isHovered,\n 'spectrum-Button--pending': isProgressVisible\n },\n styleProps.className\n )\n }>\n <SlotProvider\n slots={{\n icon: {\n id: iconId,\n size: 'S',\n UNSAFE_className: classNames(styles, 'spectrum-Icon')\n },\n text: {\n id: textId,\n UNSAFE_className: classNames(styles, 'spectrum-Button-label')\n }\n }}>\n {typeof children === 'string'\n ? <Text>{children}</Text>\n : children}\n {isPending && (\n <div\n aria-hidden=\"true\"\n style={{visibility: isProgressVisible ? 'visible' : 'hidden'}}\n className={classNames(styles, 'spectrum-Button-circleLoader')}>\n <ProgressCircle\n aria-label={isPendingAriaLiveLabel}\n isIndeterminate\n size=\"S\"\n staticColor={staticColor} />\n </div>\n )}\n {isPending &&\n <>\n <div aria-live={isFocused ? ariaLive : 'off'}>\n {isProgressVisible &&\n <div role=\"img\" aria-labelledby={isPendingAriaLiveLabelledby} />\n }\n </div>\n {/* Adding the element here with the same labels as the button itself causes aria-live to pick up the change in Safari.\n Safari with VO unfortunately doesn't announce changes to *all* of its labels specifically for button\n https://a11ysupport.io/tests/tech__html__button-name-change#assertion-aria-aria-label_attribute-convey_name_change-html-button_element-vo_macos-safari\n The aria-live may cause extra announcements in other browsers. */}\n <div id={spinnerId} role=\"img\" aria-label={isPendingAriaLiveLabel} />\n </>\n }\n </SlotProvider>\n </Element>\n </FocusRing>\n );\n}) as <T extends ElementType = 'button'>(props: SpectrumButtonProps<T> & {ref?: FocusableRef<HTMLElement>}) => ReactElement;\n"],"names":[],"version":3,"file":"Button.cjs.map"}
1
+ {"mappings":"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","sources":["packages/@adobe/react-spectrum/src/button/Button.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 {AriaButtonProps, useButton} from 'react-aria/useButton';\n\nimport {classNames} from '../utils/classNames';\nimport {FocusableRef, StyleProps} from '@react-types/shared';\nimport {FocusRing} from 'react-aria/FocusRing';\nimport intlMessages from '../../intl/button/*.json';\nimport {isAppleDevice, isFirefox} from 'react-aria/private/utils/platform';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport {ProgressCircle} from '../progress/ProgressCircle';\n// @ts-ignore\nimport React, {ElementType, ReactElement, useEffect, useState} from 'react';\nimport {SlotProvider, useSlotProps} from '../utils/Slots';\nimport styles from '@adobe/spectrum-css-temp/components/button/vars.css';\nimport {Text} from '../text/Text';\nimport {useFocus} from 'react-aria/useFocus';\nimport {useFocusableRef} from '../utils/useDOMRef';\nimport {useHasChild} from '../utils/useHasChild';\nimport {useHover} from 'react-aria/useHover';\nimport {useId} from 'react-aria/useId';\nimport {useLocalizedStringFormatter} from 'react-aria/useLocalizedStringFormatter';\nimport {useProviderProps} from '../provider/Provider';\nimport {useStyleProps} from '../utils/styleProps';\n\n/** @deprecated */\ntype LegacyButtonVariant = 'cta' | 'overBackground';\nexport interface SpectrumButtonProps<T extends ElementType = 'button'>\n extends Omit<AriaButtonProps<T>, 'onClick'>, StyleProps {\n /** The [visual style](https://spectrum.adobe.com/page/button/#Options) of the button. */\n variant: 'accent' | 'primary' | 'secondary' | 'negative' | LegacyButtonVariant;\n /** The background style of the button. */\n style?: 'fill' | 'outline';\n /** The static color style to apply. Useful when the button appears over a color background. */\n staticColor?: 'white' | 'black';\n /**\n * Whether to disable events immediately and display a loading spinner after a 1 second delay.\n */\n isPending?: boolean;\n /**\n * Whether the button should be displayed with a quiet style.\n *\n * @deprecated\n */\n isQuiet?: boolean;\n}\n\nfunction disablePendingProps(props) {\n // Don't allow interaction while isPending is true\n if (props.isPending) {\n props.onPress = undefined;\n props.onPressStart = undefined;\n props.onPressEnd = undefined;\n props.onPressChange = undefined;\n props.onPressUp = undefined;\n props.onKeyDown = undefined;\n props.onKeyUp = undefined;\n props.onClick = undefined;\n props.href = undefined;\n }\n return props;\n}\n\n/**\n * Buttons allow users to perform an action or to navigate to another page.\n * They have multiple styles for various needs, and are ideal for calling attention to\n * where a user needs to do something in order to move forward in a flow.\n */\nexport const Button = React.forwardRef(function Button<T extends ElementType = 'button'>(\n props: SpectrumButtonProps<T>,\n ref: FocusableRef<HTMLElement>\n) {\n props = useProviderProps(props);\n props = useSlotProps(props, 'button');\n props = disablePendingProps(props);\n let {\n elementType: Element = 'button',\n children,\n variant,\n style = variant === 'accent' || variant === 'cta' ? 'fill' : 'outline',\n staticColor,\n isDisabled,\n isPending,\n autoFocus,\n ...otherProps\n } = props;\n let domRef = useFocusableRef(ref);\n let {buttonProps, isPressed} = useButton(props, domRef);\n let {hoverProps, isHovered} = useHover({isDisabled});\n let [isFocused, onFocusChange] = useState(false);\n let {focusProps} = useFocus({onFocusChange, isDisabled});\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/button');\n let {styleProps} = useStyleProps(otherProps);\n let hasLabel = useHasChild(`.${styles['spectrum-Button-label']}`, domRef);\n let hasIcon = useHasChild(`.${styles['spectrum-Icon']}`, domRef);\n // an aria label will block children and their labels from being read, this is undesirable for pending state\n let hasAriaLabel = !!buttonProps['aria-label'] || !!buttonProps['aria-labelledby'];\n let [isProgressVisible, setIsProgressVisible] = useState(false);\n let backupButtonId = useId();\n let buttonId = buttonProps.id || backupButtonId;\n let iconId = useId();\n let textId = useId();\n let spinnerId = useId();\n\n useEffect(() => {\n let timeout: ReturnType<typeof setTimeout>;\n\n if (isPending) {\n // Start timer when isPending is set to true.\n timeout = setTimeout(() => {\n setIsProgressVisible(true);\n }, 1000);\n } else {\n // Exit loading state when isPending is set to false. */\n setIsProgressVisible(false);\n }\n return () => {\n // Clean up on unmount or when user removes isPending prop before entering loading state.\n clearTimeout(timeout);\n };\n }, [isPending]);\n\n if (variant === 'cta') {\n variant = 'accent';\n } else if (variant === 'overBackground') {\n variant = 'primary';\n staticColor = 'white';\n }\n\n const isPendingAriaLiveLabel =\n `${hasAriaLabel ? buttonProps['aria-label'] : ''} ${stringFormatter.format('pending')}`.trim();\n const isPendingAriaLiveLabelledby = hasAriaLabel\n ? (buttonProps['aria-labelledby']?.replace(buttonId, spinnerId) ?? spinnerId)\n : `${hasIcon ? iconId : ''} ${hasLabel ? textId : ''} ${spinnerId}`.trim();\n\n let ariaLive: 'off' | 'polite' | 'assertive' = 'polite';\n if (isAppleDevice() && (!hasAriaLabel || isFirefox())) {\n ariaLive = 'off';\n }\n\n let isPendingProps = isPending\n ? {\n onClick: e => {\n if (e.currentTarget instanceof HTMLButtonElement) {\n e.preventDefault();\n }\n }\n }\n : {\n // no-op.\n // Not sure why, but TypeScript wouldn't allow to have an empty object `{}`.\n onClick: () => {}\n };\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')} autoFocus={autoFocus}>\n <Element\n {...styleProps}\n {...mergeProps(buttonProps, hoverProps, focusProps, isPendingProps)}\n id={buttonId}\n ref={domRef}\n data-variant={variant}\n data-style={style}\n data-static-color={staticColor || undefined}\n aria-disabled={isPending ? 'true' : undefined}\n aria-label={isPending ? isPendingAriaLiveLabel : buttonProps['aria-label']}\n aria-labelledby={isPending ? isPendingAriaLiveLabelledby : buttonProps['aria-labelledby']}\n className={classNames(\n styles,\n 'spectrum-Button',\n {\n 'spectrum-Button--iconOnly': hasIcon && !hasLabel,\n 'is-disabled': isDisabled || isProgressVisible,\n 'is-active': isPressed,\n 'is-hovered': isHovered,\n 'spectrum-Button--pending': isProgressVisible\n },\n styleProps.className\n )}>\n <SlotProvider\n slots={{\n icon: {\n id: iconId,\n size: 'S',\n UNSAFE_className: classNames(styles, 'spectrum-Icon')\n },\n text: {\n id: textId,\n UNSAFE_className: classNames(styles, 'spectrum-Button-label')\n }\n }}>\n {typeof children === 'string' ? <Text>{children}</Text> : children}\n {isPending && (\n <div\n aria-hidden=\"true\"\n style={{visibility: isProgressVisible ? 'visible' : 'hidden'}}\n className={classNames(styles, 'spectrum-Button-circleLoader')}>\n <ProgressCircle\n aria-label={isPendingAriaLiveLabel}\n isIndeterminate\n size=\"S\"\n staticColor={staticColor}\n />\n </div>\n )}\n {isPending && (\n <>\n <div aria-live={isFocused ? ariaLive : 'off'}>\n {isProgressVisible && (\n <div role=\"img\" aria-labelledby={isPendingAriaLiveLabelledby} />\n )}\n </div>\n {/* Adding the element here with the same labels as the button itself causes aria-live to pick up the change in Safari.\n Safari with VO unfortunately doesn't announce changes to *all* of its labels specifically for button\n https://a11ysupport.io/tests/tech__html__button-name-change#assertion-aria-aria-label_attribute-convey_name_change-html-button_element-vo_macos-safari\n The aria-live may cause extra announcements in other browsers. */}\n <div id={spinnerId} role=\"img\" aria-label={isPendingAriaLiveLabel} />\n </>\n )}\n </SlotProvider>\n </Element>\n </FocusRing>\n );\n}) as <T extends ElementType = 'button'>(\n props: SpectrumButtonProps<T> & {ref?: FocusableRef<HTMLElement>}\n) => ReactElement;\n"],"names":[],"version":3,"file":"Button.cjs.map"}
@@ -125,7 +125,7 @@ const $88f996b7df3752a1$export$353f5b6fc5456de1 = /*#__PURE__*/ (0, $jeK3W$react
125
125
  if (e.currentTarget instanceof HTMLButtonElement) e.preventDefault();
126
126
  }
127
127
  } : {
128
- // no-op.
128
+ // no-op.
129
129
  // Not sure why, but TypeScript wouldn't allow to have an empty object `{}`.
130
130
  onClick: ()=>{}
131
131
  };
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;;;;;;;;;AA6CD,SAAS,0CAAoB,KAAK;IAChC,kDAAkD;IAClD,IAAI,MAAM,SAAS,EAAE;QACnB,MAAM,OAAO,GAAG;QAChB,MAAM,YAAY,GAAG;QACrB,MAAM,UAAU,GAAG;QACnB,MAAM,aAAa,GAAG;QACtB,MAAM,SAAS,GAAG;QAClB,MAAM,SAAS,GAAG;QAClB,MAAM,OAAO,GAAG;QAChB,MAAM,OAAO,GAAG;QAChB,MAAM,IAAI,GAAG;IACf;IACA,OAAO;AACT;AAOO,MAAM,0DAAS,CAAA,GAAA,YAAI,EAAE,UAAU,CAAC,SAAS,OAAyC,KAA6B,EAAE,GAA8B;QA2DhG;IA1DpD,QAAQ,CAAA,GAAA,yCAAe,EAAE;IACzB,QAAQ,CAAA,GAAA,yCAAW,EAAE,OAAO;IAC5B,QAAQ,0CAAoB;IAC5B,IAAI,EACF,aAAa,UAAU,QAAQ,YAC/B,QAAQ,WACR,OAAO,SACP,QAAQ,YAAY,YAAY,YAAY,QAAQ,SAAS,wBAC7D,WAAW,cACX,UAAU,aACV,SAAS,aACT,SAAS,EACT,GAAG,YACJ,GAAG;IACJ,IAAI,SAAS,CAAA,GAAA,yCAAc,EAAE;IAC7B,IAAI,eAAC,WAAW,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,gBAAQ,EAAE,OAAO;IAChD,IAAI,cAAC,UAAU,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,eAAO,EAAE;oBAAC;IAAU;IAClD,IAAI,CAAC,WAAW,cAAc,GAAG,CAAA,GAAA,eAAO,EAAE;IAC1C,IAAI,cAAC,UAAU,EAAC,GAAG,CAAA,GAAA,eAAO,EAAE;uBAAC;oBAAe;IAAU;IACtD,IAAI,kBAAkB,CAAA,GAAA,kCAA0B,EAAE,CAAA,GAAA,8CAAW,GAAG;IAChE,IAAI,cAAC,UAAU,EAAC,GAAG,CAAA,GAAA,yCAAY,EAAE;IACjC,IAAI,WAAW,CAAA,GAAA,yCAAU,EAAE,CAAC,CAAC,EAAE,CAAA,GAAA,mDAAK,CAAC,CAAC,wBAAwB,EAAE,EAAE;IAClE,IAAI,UAAU,CAAA,GAAA,yCAAU,EAAE,CAAC,CAAC,EAAE,CAAA,GAAA,mDAAK,CAAC,CAAC,gBAAgB,EAAE,EAAE;IACzD,4GAA4G;IAC5G,IAAI,eAAe,CAAC,CAAC,WAAW,CAAC,aAAa,IAAI,CAAC,CAAC,WAAW,CAAC,kBAAkB;IAClF,IAAI,CAAC,mBAAmB,qBAAqB,GAAG,CAAA,GAAA,eAAO,EAAE;IACzD,IAAI,iBAAiB,CAAA,GAAA,YAAI;IACzB,IAAI,WAAW,YAAY,EAAE,IAAI;IACjC,IAAI,SAAS,CAAA,GAAA,YAAI;IACjB,IAAI,SAAS,CAAA,GAAA,YAAI;IACjB,IAAI,YAAY,CAAA,GAAA,YAAI;IAEpB,CAAA,GAAA,gBAAQ,EAAE;QACR,IAAI;QAEJ,IAAI,WACF,6CAA6C;QAC7C,UAAU,WAAW;YACnB,qBAAqB;QACvB,GAAG;aAEH,wDAAwD;QACxD,qBAAqB;QAEvB,OAAO;YACL,yFAAyF;YACzF,aAAa;QACf;IACF,GAAG;QAAC;KAAU;IAEd,IAAI,YAAY,OACd,UAAU;SACL,IAAI,YAAY,kBAAkB;QACvC,UAAU;QACV,cAAc;IAChB;IAEA,MAAM,yBAAyB,GAAG,eAAe,WAAW,CAAC,aAAa,GAAG,GAAG,CAAC,EAAE,gBAAgB,MAAM,CAAC,YAAY,CAAC,IAAI;QACvE;IAApD,MAAM,8BAA8B,eAAgB,CAAA,uCAAA,8BAAA,WAAW,CAAC,kBAAkB,cAA9B,kDAAA,4BAAgC,OAAO,CAAC,UAAU,wBAAlD,iDAAA,sCAAgE,YAAa,GAAG,UAAU,SAAS,GAAG,CAAC,EAAE,WAAW,SAAS,GAAG,CAAC,EAAE,WAAW,CAAC,IAAI;IAEvM,IAAI,WAA2C;IAC/C,IAAI,CAAA,GAAA,oBAAY,OAAQ,CAAA,CAAC,gBAAgB,CAAA,GAAA,gBAAQ,GAAE,GACjD,WAAW;IAGb,IAAI,iBAAiB,YAAY;QAC/B,SAAS,CAAC;YACR,IAAI,EAAE,aAAa,YAAY,mBAC7B,EAAE,cAAc;QAEpB;IACF,IAAI;QACF,UAAU;QACV,4EAA4E;QAC5E,SAAS,KAAO;IAClB;IAEA,qBACE,gCAAC,CAAA,GAAA,gBAAQ;QAAE,gBAAgB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;QAAe,WAAW;qBACtE,gCAAC;QACE,GAAG,UAAU;QACb,GAAG,CAAA,GAAA,iBAAS,EAAE,aAAa,YAAY,YAAY,eAAe;QACnE,IAAI;QACJ,KAAK;QACL,gBAAc;QACd,cAAY;QACZ,qBAAmB,eAAe;QAClC,iBAAe,YAAY,SAAS;QACpC,cAAY,YAAY,yBAAyB,WAAW,CAAC,aAAa;QAC1E,mBAAiB,YAAY,8BAA8B,WAAW,CAAC,kBAAkB;QACzF,WACE,CAAA,GAAA,yCAAS,EACP,CAAA,GAAA,mDAAK,GACL,mBACA;YACE,6BAA6B,WAAW,CAAC;YACzC,eAAe,cAAc;YAC7B,aAAa;YACb,cAAc;YACd,4BAA4B;QAC9B,GACA,WAAW,SAAS;qBAGxB,gCAAC,CAAA,GAAA,yCAAW;QACV,OAAO;YACL,MAAM;gBACJ,IAAI;gBACJ,MAAM;gBACN,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;YACvC;YACA,MAAM;gBACJ,IAAI;gBACJ,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;YACvC;QACF;OACC,OAAO,aAAa,yBACjB,gCAAC,CAAA,GAAA,yCAAG,SAAG,YACP,UACH,2BACC,gCAAC;QACC,eAAY;QACZ,OAAO;YAAC,YAAY,oBAAoB,YAAY;QAAQ;QAC5D,WAAW,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;qBAC9B,gCAAC,CAAA,GAAA,yCAAa;QACZ,cAAY;QACZ,iBAAA;QACA,MAAK;QACL,aAAa;SAGlB,2BACC,gFACE,gCAAC;QAAI,aAAW,YAAY,WAAW;OACpC,mCACC,gCAAC;QAAI,MAAK;QAAM,mBAAiB;uBAOrC,gCAAC;QAAI,IAAI;QAAW,MAAK;QAAM,cAAY;;AAOzD","sources":["packages/@adobe/react-spectrum/src/button/Button.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 {AriaButtonProps, useButton} from 'react-aria/useButton';\n\nimport {classNames} from '../utils/classNames';\nimport {FocusableRef, StyleProps} from '@react-types/shared';\nimport {FocusRing} from 'react-aria/FocusRing';\nimport intlMessages from '../../intl/button/*.json';\nimport {isAppleDevice, isFirefox} from 'react-aria/private/utils/platform';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport {ProgressCircle} from '../progress/ProgressCircle';\n// @ts-ignore\nimport React, {ElementType, ReactElement, useEffect, useState} from 'react';\nimport {SlotProvider, useSlotProps} from '../utils/Slots';\nimport styles from '@adobe/spectrum-css-temp/components/button/vars.css';\nimport {Text} from '../text/Text';\nimport {useFocus} from 'react-aria/useFocus';\nimport {useFocusableRef} from '../utils/useDOMRef';\nimport {useHasChild} from '../utils/useHasChild';\nimport {useHover} from 'react-aria/useHover';\nimport {useId} from 'react-aria/useId';\nimport {useLocalizedStringFormatter} from 'react-aria/useLocalizedStringFormatter';\nimport {useProviderProps} from '../provider/Provider';\nimport {useStyleProps} from '../utils/styleProps';\n\n/** @deprecated */\ntype LegacyButtonVariant = 'cta' | 'overBackground';\nexport interface SpectrumButtonProps<T extends ElementType = 'button'> extends Omit<AriaButtonProps<T>, 'onClick'>, StyleProps {\n /** The [visual style](https://spectrum.adobe.com/page/button/#Options) of the button. */\n variant: 'accent' | 'primary' | 'secondary' | 'negative' | LegacyButtonVariant,\n /** The background style of the button. */\n style?: 'fill' | 'outline',\n /** The static color style to apply. Useful when the button appears over a color background. */\n staticColor?: 'white' | 'black',\n /**\n * Whether to disable events immediately and display a loading spinner after a 1 second delay.\n */\n isPending?: boolean,\n /**\n * Whether the button should be displayed with a quiet style.\n * @deprecated\n */\n isQuiet?: boolean\n}\n\nfunction disablePendingProps(props) {\n // Don't allow interaction while isPending is true\n if (props.isPending) {\n props.onPress = undefined;\n props.onPressStart = undefined;\n props.onPressEnd = undefined;\n props.onPressChange = undefined;\n props.onPressUp = undefined;\n props.onKeyDown = undefined;\n props.onKeyUp = undefined;\n props.onClick = undefined;\n props.href = undefined;\n }\n return props;\n}\n\n/**\n * Buttons allow users to perform an action or to navigate to another page.\n * They have multiple styles for various needs, and are ideal for calling attention to\n * where a user needs to do something in order to move forward in a flow.\n */\nexport const Button = React.forwardRef(function Button<T extends ElementType = 'button'>(props: SpectrumButtonProps<T>, ref: FocusableRef<HTMLElement>) {\n props = useProviderProps(props);\n props = useSlotProps(props, 'button');\n props = disablePendingProps(props);\n let {\n elementType: Element = 'button',\n children,\n variant,\n style = variant === 'accent' || variant === 'cta' ? 'fill' : 'outline',\n staticColor,\n isDisabled,\n isPending,\n autoFocus,\n ...otherProps\n } = props;\n let domRef = useFocusableRef(ref);\n let {buttonProps, isPressed} = useButton(props, domRef);\n let {hoverProps, isHovered} = useHover({isDisabled});\n let [isFocused, onFocusChange] = useState(false);\n let {focusProps} = useFocus({onFocusChange, isDisabled});\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/button');\n let {styleProps} = useStyleProps(otherProps);\n let hasLabel = useHasChild(`.${styles['spectrum-Button-label']}`, domRef);\n let hasIcon = useHasChild(`.${styles['spectrum-Icon']}`, domRef);\n // an aria label will block children and their labels from being read, this is undesirable for pending state\n let hasAriaLabel = !!buttonProps['aria-label'] || !!buttonProps['aria-labelledby'];\n let [isProgressVisible, setIsProgressVisible] = useState(false);\n let backupButtonId = useId();\n let buttonId = buttonProps.id || backupButtonId;\n let iconId = useId();\n let textId = useId();\n let spinnerId = useId();\n\n useEffect(() => {\n let timeout: ReturnType<typeof setTimeout>;\n\n if (isPending) {\n // Start timer when isPending is set to true.\n timeout = setTimeout(() => {\n setIsProgressVisible(true);\n }, 1000);\n } else {\n // Exit loading state when isPending is set to false. */\n setIsProgressVisible(false);\n }\n return () => {\n // Clean up on unmount or when user removes isPending prop before entering loading state.\n clearTimeout(timeout);\n };\n }, [isPending]);\n\n if (variant === 'cta') {\n variant = 'accent';\n } else if (variant === 'overBackground') {\n variant = 'primary';\n staticColor = 'white';\n }\n\n const isPendingAriaLiveLabel = `${hasAriaLabel ? buttonProps['aria-label'] : ''} ${stringFormatter.format('pending')}`.trim();\n const isPendingAriaLiveLabelledby = hasAriaLabel ? (buttonProps['aria-labelledby']?.replace(buttonId, spinnerId) ?? spinnerId) : `${hasIcon ? iconId : ''} ${hasLabel ? textId : ''} ${spinnerId}`.trim();\n\n let ariaLive: 'off' | 'polite' | 'assertive' = 'polite';\n if (isAppleDevice() && (!hasAriaLabel || isFirefox())) {\n ariaLive = 'off';\n }\n\n let isPendingProps = isPending ? {\n onClick: (e) => {\n if (e.currentTarget instanceof HTMLButtonElement) {\n e.preventDefault();\n }\n }\n } : {\n // no-op. \n // Not sure why, but TypeScript wouldn't allow to have an empty object `{}`.\n onClick: () => {}\n };\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')} autoFocus={autoFocus}>\n <Element\n {...styleProps}\n {...mergeProps(buttonProps, hoverProps, focusProps, isPendingProps)}\n id={buttonId}\n ref={domRef}\n data-variant={variant}\n data-style={style}\n data-static-color={staticColor || undefined}\n aria-disabled={isPending ? 'true' : undefined}\n aria-label={isPending ? isPendingAriaLiveLabel : buttonProps['aria-label']}\n aria-labelledby={isPending ? isPendingAriaLiveLabelledby : buttonProps['aria-labelledby']}\n className={\n classNames(\n styles,\n 'spectrum-Button',\n {\n 'spectrum-Button--iconOnly': hasIcon && !hasLabel,\n 'is-disabled': isDisabled || isProgressVisible,\n 'is-active': isPressed,\n 'is-hovered': isHovered,\n 'spectrum-Button--pending': isProgressVisible\n },\n styleProps.className\n )\n }>\n <SlotProvider\n slots={{\n icon: {\n id: iconId,\n size: 'S',\n UNSAFE_className: classNames(styles, 'spectrum-Icon')\n },\n text: {\n id: textId,\n UNSAFE_className: classNames(styles, 'spectrum-Button-label')\n }\n }}>\n {typeof children === 'string'\n ? <Text>{children}</Text>\n : children}\n {isPending && (\n <div\n aria-hidden=\"true\"\n style={{visibility: isProgressVisible ? 'visible' : 'hidden'}}\n className={classNames(styles, 'spectrum-Button-circleLoader')}>\n <ProgressCircle\n aria-label={isPendingAriaLiveLabel}\n isIndeterminate\n size=\"S\"\n staticColor={staticColor} />\n </div>\n )}\n {isPending &&\n <>\n <div aria-live={isFocused ? ariaLive : 'off'}>\n {isProgressVisible &&\n <div role=\"img\" aria-labelledby={isPendingAriaLiveLabelledby} />\n }\n </div>\n {/* Adding the element here with the same labels as the button itself causes aria-live to pick up the change in Safari.\n Safari with VO unfortunately doesn't announce changes to *all* of its labels specifically for button\n https://a11ysupport.io/tests/tech__html__button-name-change#assertion-aria-aria-label_attribute-convey_name_change-html-button_element-vo_macos-safari\n The aria-live may cause extra announcements in other browsers. */}\n <div id={spinnerId} role=\"img\" aria-label={isPendingAriaLiveLabel} />\n </>\n }\n </SlotProvider>\n </Element>\n </FocusRing>\n );\n}) as <T extends ElementType = 'button'>(props: SpectrumButtonProps<T> & {ref?: FocusableRef<HTMLElement>}) => ReactElement;\n"],"names":[],"version":3,"file":"Button.js.map"}
1
+ {"mappings":"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","sources":["packages/@adobe/react-spectrum/src/button/Button.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 {AriaButtonProps, useButton} from 'react-aria/useButton';\n\nimport {classNames} from '../utils/classNames';\nimport {FocusableRef, StyleProps} from '@react-types/shared';\nimport {FocusRing} from 'react-aria/FocusRing';\nimport intlMessages from '../../intl/button/*.json';\nimport {isAppleDevice, isFirefox} from 'react-aria/private/utils/platform';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport {ProgressCircle} from '../progress/ProgressCircle';\n// @ts-ignore\nimport React, {ElementType, ReactElement, useEffect, useState} from 'react';\nimport {SlotProvider, useSlotProps} from '../utils/Slots';\nimport styles from '@adobe/spectrum-css-temp/components/button/vars.css';\nimport {Text} from '../text/Text';\nimport {useFocus} from 'react-aria/useFocus';\nimport {useFocusableRef} from '../utils/useDOMRef';\nimport {useHasChild} from '../utils/useHasChild';\nimport {useHover} from 'react-aria/useHover';\nimport {useId} from 'react-aria/useId';\nimport {useLocalizedStringFormatter} from 'react-aria/useLocalizedStringFormatter';\nimport {useProviderProps} from '../provider/Provider';\nimport {useStyleProps} from '../utils/styleProps';\n\n/** @deprecated */\ntype LegacyButtonVariant = 'cta' | 'overBackground';\nexport interface SpectrumButtonProps<T extends ElementType = 'button'>\n extends Omit<AriaButtonProps<T>, 'onClick'>, StyleProps {\n /** The [visual style](https://spectrum.adobe.com/page/button/#Options) of the button. */\n variant: 'accent' | 'primary' | 'secondary' | 'negative' | LegacyButtonVariant;\n /** The background style of the button. */\n style?: 'fill' | 'outline';\n /** The static color style to apply. Useful when the button appears over a color background. */\n staticColor?: 'white' | 'black';\n /**\n * Whether to disable events immediately and display a loading spinner after a 1 second delay.\n */\n isPending?: boolean;\n /**\n * Whether the button should be displayed with a quiet style.\n *\n * @deprecated\n */\n isQuiet?: boolean;\n}\n\nfunction disablePendingProps(props) {\n // Don't allow interaction while isPending is true\n if (props.isPending) {\n props.onPress = undefined;\n props.onPressStart = undefined;\n props.onPressEnd = undefined;\n props.onPressChange = undefined;\n props.onPressUp = undefined;\n props.onKeyDown = undefined;\n props.onKeyUp = undefined;\n props.onClick = undefined;\n props.href = undefined;\n }\n return props;\n}\n\n/**\n * Buttons allow users to perform an action or to navigate to another page.\n * They have multiple styles for various needs, and are ideal for calling attention to\n * where a user needs to do something in order to move forward in a flow.\n */\nexport const Button = React.forwardRef(function Button<T extends ElementType = 'button'>(\n props: SpectrumButtonProps<T>,\n ref: FocusableRef<HTMLElement>\n) {\n props = useProviderProps(props);\n props = useSlotProps(props, 'button');\n props = disablePendingProps(props);\n let {\n elementType: Element = 'button',\n children,\n variant,\n style = variant === 'accent' || variant === 'cta' ? 'fill' : 'outline',\n staticColor,\n isDisabled,\n isPending,\n autoFocus,\n ...otherProps\n } = props;\n let domRef = useFocusableRef(ref);\n let {buttonProps, isPressed} = useButton(props, domRef);\n let {hoverProps, isHovered} = useHover({isDisabled});\n let [isFocused, onFocusChange] = useState(false);\n let {focusProps} = useFocus({onFocusChange, isDisabled});\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/button');\n let {styleProps} = useStyleProps(otherProps);\n let hasLabel = useHasChild(`.${styles['spectrum-Button-label']}`, domRef);\n let hasIcon = useHasChild(`.${styles['spectrum-Icon']}`, domRef);\n // an aria label will block children and their labels from being read, this is undesirable for pending state\n let hasAriaLabel = !!buttonProps['aria-label'] || !!buttonProps['aria-labelledby'];\n let [isProgressVisible, setIsProgressVisible] = useState(false);\n let backupButtonId = useId();\n let buttonId = buttonProps.id || backupButtonId;\n let iconId = useId();\n let textId = useId();\n let spinnerId = useId();\n\n useEffect(() => {\n let timeout: ReturnType<typeof setTimeout>;\n\n if (isPending) {\n // Start timer when isPending is set to true.\n timeout = setTimeout(() => {\n setIsProgressVisible(true);\n }, 1000);\n } else {\n // Exit loading state when isPending is set to false. */\n setIsProgressVisible(false);\n }\n return () => {\n // Clean up on unmount or when user removes isPending prop before entering loading state.\n clearTimeout(timeout);\n };\n }, [isPending]);\n\n if (variant === 'cta') {\n variant = 'accent';\n } else if (variant === 'overBackground') {\n variant = 'primary';\n staticColor = 'white';\n }\n\n const isPendingAriaLiveLabel =\n `${hasAriaLabel ? buttonProps['aria-label'] : ''} ${stringFormatter.format('pending')}`.trim();\n const isPendingAriaLiveLabelledby = hasAriaLabel\n ? (buttonProps['aria-labelledby']?.replace(buttonId, spinnerId) ?? spinnerId)\n : `${hasIcon ? iconId : ''} ${hasLabel ? textId : ''} ${spinnerId}`.trim();\n\n let ariaLive: 'off' | 'polite' | 'assertive' = 'polite';\n if (isAppleDevice() && (!hasAriaLabel || isFirefox())) {\n ariaLive = 'off';\n }\n\n let isPendingProps = isPending\n ? {\n onClick: e => {\n if (e.currentTarget instanceof HTMLButtonElement) {\n e.preventDefault();\n }\n }\n }\n : {\n // no-op.\n // Not sure why, but TypeScript wouldn't allow to have an empty object `{}`.\n onClick: () => {}\n };\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')} autoFocus={autoFocus}>\n <Element\n {...styleProps}\n {...mergeProps(buttonProps, hoverProps, focusProps, isPendingProps)}\n id={buttonId}\n ref={domRef}\n data-variant={variant}\n data-style={style}\n data-static-color={staticColor || undefined}\n aria-disabled={isPending ? 'true' : undefined}\n aria-label={isPending ? isPendingAriaLiveLabel : buttonProps['aria-label']}\n aria-labelledby={isPending ? isPendingAriaLiveLabelledby : buttonProps['aria-labelledby']}\n className={classNames(\n styles,\n 'spectrum-Button',\n {\n 'spectrum-Button--iconOnly': hasIcon && !hasLabel,\n 'is-disabled': isDisabled || isProgressVisible,\n 'is-active': isPressed,\n 'is-hovered': isHovered,\n 'spectrum-Button--pending': isProgressVisible\n },\n styleProps.className\n )}>\n <SlotProvider\n slots={{\n icon: {\n id: iconId,\n size: 'S',\n UNSAFE_className: classNames(styles, 'spectrum-Icon')\n },\n text: {\n id: textId,\n UNSAFE_className: classNames(styles, 'spectrum-Button-label')\n }\n }}>\n {typeof children === 'string' ? <Text>{children}</Text> : children}\n {isPending && (\n <div\n aria-hidden=\"true\"\n style={{visibility: isProgressVisible ? 'visible' : 'hidden'}}\n className={classNames(styles, 'spectrum-Button-circleLoader')}>\n <ProgressCircle\n aria-label={isPendingAriaLiveLabel}\n isIndeterminate\n size=\"S\"\n staticColor={staticColor}\n />\n </div>\n )}\n {isPending && (\n <>\n <div aria-live={isFocused ? ariaLive : 'off'}>\n {isProgressVisible && (\n <div role=\"img\" aria-labelledby={isPendingAriaLiveLabelledby} />\n )}\n </div>\n {/* Adding the element here with the same labels as the button itself causes aria-live to pick up the change in Safari.\n Safari with VO unfortunately doesn't announce changes to *all* of its labels specifically for button\n https://a11ysupport.io/tests/tech__html__button-name-change#assertion-aria-aria-label_attribute-convey_name_change-html-button_element-vo_macos-safari\n The aria-live may cause extra announcements in other browsers. */}\n <div id={spinnerId} role=\"img\" aria-label={isPendingAriaLiveLabel} />\n </>\n )}\n </SlotProvider>\n </Element>\n </FocusRing>\n );\n}) as <T extends ElementType = 'button'>(\n props: SpectrumButtonProps<T> & {ref?: FocusableRef<HTMLElement>}\n) => ReactElement;\n"],"names":[],"version":3,"file":"Button.js.map"}
@@ -123,7 +123,7 @@ const $36a99e6d76bd9d26$export$353f5b6fc5456de1 = /*#__PURE__*/ (0, $9zSjX$react
123
123
  if (e.currentTarget instanceof HTMLButtonElement) e.preventDefault();
124
124
  }
125
125
  } : {
126
- // no-op.
126
+ // no-op.
127
127
  // Not sure why, but TypeScript wouldn't allow to have an empty object `{}`.
128
128
  onClick: ()=>{}
129
129
  };
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@adobe/react-spectrum/src/button/Button.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 {AriaButtonProps, useButton} from 'react-aria/useButton';\n\nimport {classNames} from '../utils/classNames';\nimport {FocusableRef, StyleProps} from '@react-types/shared';\nimport {FocusRing} from 'react-aria/FocusRing';\nimport intlMessages from '../../intl/button/*.json';\nimport {isAppleDevice, isFirefox} from 'react-aria/private/utils/platform';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport {ProgressCircle} from '../progress/ProgressCircle';\n// @ts-ignore\nimport React, {ElementType, ReactElement, useEffect, useState} from 'react';\nimport {SlotProvider, useSlotProps} from '../utils/Slots';\nimport styles from '@adobe/spectrum-css-temp/components/button/vars.css';\nimport {Text} from '../text/Text';\nimport {useFocus} from 'react-aria/useFocus';\nimport {useFocusableRef} from '../utils/useDOMRef';\nimport {useHasChild} from '../utils/useHasChild';\nimport {useHover} from 'react-aria/useHover';\nimport {useId} from 'react-aria/useId';\nimport {useLocalizedStringFormatter} from 'react-aria/useLocalizedStringFormatter';\nimport {useProviderProps} from '../provider/Provider';\nimport {useStyleProps} from '../utils/styleProps';\n\n/** @deprecated */\ntype LegacyButtonVariant = 'cta' | 'overBackground';\nexport interface SpectrumButtonProps<T extends ElementType = 'button'> extends Omit<AriaButtonProps<T>, 'onClick'>, StyleProps {\n /** The [visual style](https://spectrum.adobe.com/page/button/#Options) of the button. */\n variant: 'accent' | 'primary' | 'secondary' | 'negative' | LegacyButtonVariant,\n /** The background style of the button. */\n style?: 'fill' | 'outline',\n /** The static color style to apply. Useful when the button appears over a color background. */\n staticColor?: 'white' | 'black',\n /**\n * Whether to disable events immediately and display a loading spinner after a 1 second delay.\n */\n isPending?: boolean,\n /**\n * Whether the button should be displayed with a quiet style.\n * @deprecated\n */\n isQuiet?: boolean\n}\n\nfunction disablePendingProps(props) {\n // Don't allow interaction while isPending is true\n if (props.isPending) {\n props.onPress = undefined;\n props.onPressStart = undefined;\n props.onPressEnd = undefined;\n props.onPressChange = undefined;\n props.onPressUp = undefined;\n props.onKeyDown = undefined;\n props.onKeyUp = undefined;\n props.onClick = undefined;\n props.href = undefined;\n }\n return props;\n}\n\n/**\n * Buttons allow users to perform an action or to navigate to another page.\n * They have multiple styles for various needs, and are ideal for calling attention to\n * where a user needs to do something in order to move forward in a flow.\n */\nexport const Button = React.forwardRef(function Button<T extends ElementType = 'button'>(props: SpectrumButtonProps<T>, ref: FocusableRef<HTMLElement>) {\n props = useProviderProps(props);\n props = useSlotProps(props, 'button');\n props = disablePendingProps(props);\n let {\n elementType: Element = 'button',\n children,\n variant,\n style = variant === 'accent' || variant === 'cta' ? 'fill' : 'outline',\n staticColor,\n isDisabled,\n isPending,\n autoFocus,\n ...otherProps\n } = props;\n let domRef = useFocusableRef(ref);\n let {buttonProps, isPressed} = useButton(props, domRef);\n let {hoverProps, isHovered} = useHover({isDisabled});\n let [isFocused, onFocusChange] = useState(false);\n let {focusProps} = useFocus({onFocusChange, isDisabled});\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/button');\n let {styleProps} = useStyleProps(otherProps);\n let hasLabel = useHasChild(`.${styles['spectrum-Button-label']}`, domRef);\n let hasIcon = useHasChild(`.${styles['spectrum-Icon']}`, domRef);\n // an aria label will block children and their labels from being read, this is undesirable for pending state\n let hasAriaLabel = !!buttonProps['aria-label'] || !!buttonProps['aria-labelledby'];\n let [isProgressVisible, setIsProgressVisible] = useState(false);\n let backupButtonId = useId();\n let buttonId = buttonProps.id || backupButtonId;\n let iconId = useId();\n let textId = useId();\n let spinnerId = useId();\n\n useEffect(() => {\n let timeout: ReturnType<typeof setTimeout>;\n\n if (isPending) {\n // Start timer when isPending is set to true.\n timeout = setTimeout(() => {\n setIsProgressVisible(true);\n }, 1000);\n } else {\n // Exit loading state when isPending is set to false. */\n setIsProgressVisible(false);\n }\n return () => {\n // Clean up on unmount or when user removes isPending prop before entering loading state.\n clearTimeout(timeout);\n };\n }, [isPending]);\n\n if (variant === 'cta') {\n variant = 'accent';\n } else if (variant === 'overBackground') {\n variant = 'primary';\n staticColor = 'white';\n }\n\n const isPendingAriaLiveLabel = `${hasAriaLabel ? buttonProps['aria-label'] : ''} ${stringFormatter.format('pending')}`.trim();\n const isPendingAriaLiveLabelledby = hasAriaLabel ? (buttonProps['aria-labelledby']?.replace(buttonId, spinnerId) ?? spinnerId) : `${hasIcon ? iconId : ''} ${hasLabel ? textId : ''} ${spinnerId}`.trim();\n\n let ariaLive: 'off' | 'polite' | 'assertive' = 'polite';\n if (isAppleDevice() && (!hasAriaLabel || isFirefox())) {\n ariaLive = 'off';\n }\n\n let isPendingProps = isPending ? {\n onClick: (e) => {\n if (e.currentTarget instanceof HTMLButtonElement) {\n e.preventDefault();\n }\n }\n } : {\n // no-op. \n // Not sure why, but TypeScript wouldn't allow to have an empty object `{}`.\n onClick: () => {}\n };\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')} autoFocus={autoFocus}>\n <Element\n {...styleProps}\n {...mergeProps(buttonProps, hoverProps, focusProps, isPendingProps)}\n id={buttonId}\n ref={domRef}\n data-variant={variant}\n data-style={style}\n data-static-color={staticColor || undefined}\n aria-disabled={isPending ? 'true' : undefined}\n aria-label={isPending ? isPendingAriaLiveLabel : buttonProps['aria-label']}\n aria-labelledby={isPending ? isPendingAriaLiveLabelledby : buttonProps['aria-labelledby']}\n className={\n classNames(\n styles,\n 'spectrum-Button',\n {\n 'spectrum-Button--iconOnly': hasIcon && !hasLabel,\n 'is-disabled': isDisabled || isProgressVisible,\n 'is-active': isPressed,\n 'is-hovered': isHovered,\n 'spectrum-Button--pending': isProgressVisible\n },\n styleProps.className\n )\n }>\n <SlotProvider\n slots={{\n icon: {\n id: iconId,\n size: 'S',\n UNSAFE_className: classNames(styles, 'spectrum-Icon')\n },\n text: {\n id: textId,\n UNSAFE_className: classNames(styles, 'spectrum-Button-label')\n }\n }}>\n {typeof children === 'string'\n ? <Text>{children}</Text>\n : children}\n {isPending && (\n <div\n aria-hidden=\"true\"\n style={{visibility: isProgressVisible ? 'visible' : 'hidden'}}\n className={classNames(styles, 'spectrum-Button-circleLoader')}>\n <ProgressCircle\n aria-label={isPendingAriaLiveLabel}\n isIndeterminate\n size=\"S\"\n staticColor={staticColor} />\n </div>\n )}\n {isPending &&\n <>\n <div aria-live={isFocused ? ariaLive : 'off'}>\n {isProgressVisible &&\n <div role=\"img\" aria-labelledby={isPendingAriaLiveLabelledby} />\n }\n </div>\n {/* Adding the element here with the same labels as the button itself causes aria-live to pick up the change in Safari.\n Safari with VO unfortunately doesn't announce changes to *all* of its labels specifically for button\n https://a11ysupport.io/tests/tech__html__button-name-change#assertion-aria-aria-label_attribute-convey_name_change-html-button_element-vo_macos-safari\n The aria-live may cause extra announcements in other browsers. */}\n <div id={spinnerId} role=\"img\" aria-label={isPendingAriaLiveLabel} />\n </>\n }\n </SlotProvider>\n </Element>\n </FocusRing>\n );\n}) as <T extends ElementType = 'button'>(props: SpectrumButtonProps<T> & {ref?: FocusableRef<HTMLElement>}) => ReactElement;\n"],"names":[],"version":3,"file":"Button.mjs.map"}
1
+ {"mappings":"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","sources":["packages/@adobe/react-spectrum/src/button/Button.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 {AriaButtonProps, useButton} from 'react-aria/useButton';\n\nimport {classNames} from '../utils/classNames';\nimport {FocusableRef, StyleProps} from '@react-types/shared';\nimport {FocusRing} from 'react-aria/FocusRing';\nimport intlMessages from '../../intl/button/*.json';\nimport {isAppleDevice, isFirefox} from 'react-aria/private/utils/platform';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport {ProgressCircle} from '../progress/ProgressCircle';\n// @ts-ignore\nimport React, {ElementType, ReactElement, useEffect, useState} from 'react';\nimport {SlotProvider, useSlotProps} from '../utils/Slots';\nimport styles from '@adobe/spectrum-css-temp/components/button/vars.css';\nimport {Text} from '../text/Text';\nimport {useFocus} from 'react-aria/useFocus';\nimport {useFocusableRef} from '../utils/useDOMRef';\nimport {useHasChild} from '../utils/useHasChild';\nimport {useHover} from 'react-aria/useHover';\nimport {useId} from 'react-aria/useId';\nimport {useLocalizedStringFormatter} from 'react-aria/useLocalizedStringFormatter';\nimport {useProviderProps} from '../provider/Provider';\nimport {useStyleProps} from '../utils/styleProps';\n\n/** @deprecated */\ntype LegacyButtonVariant = 'cta' | 'overBackground';\nexport interface SpectrumButtonProps<T extends ElementType = 'button'>\n extends Omit<AriaButtonProps<T>, 'onClick'>, StyleProps {\n /** The [visual style](https://spectrum.adobe.com/page/button/#Options) of the button. */\n variant: 'accent' | 'primary' | 'secondary' | 'negative' | LegacyButtonVariant;\n /** The background style of the button. */\n style?: 'fill' | 'outline';\n /** The static color style to apply. Useful when the button appears over a color background. */\n staticColor?: 'white' | 'black';\n /**\n * Whether to disable events immediately and display a loading spinner after a 1 second delay.\n */\n isPending?: boolean;\n /**\n * Whether the button should be displayed with a quiet style.\n *\n * @deprecated\n */\n isQuiet?: boolean;\n}\n\nfunction disablePendingProps(props) {\n // Don't allow interaction while isPending is true\n if (props.isPending) {\n props.onPress = undefined;\n props.onPressStart = undefined;\n props.onPressEnd = undefined;\n props.onPressChange = undefined;\n props.onPressUp = undefined;\n props.onKeyDown = undefined;\n props.onKeyUp = undefined;\n props.onClick = undefined;\n props.href = undefined;\n }\n return props;\n}\n\n/**\n * Buttons allow users to perform an action or to navigate to another page.\n * They have multiple styles for various needs, and are ideal for calling attention to\n * where a user needs to do something in order to move forward in a flow.\n */\nexport const Button = React.forwardRef(function Button<T extends ElementType = 'button'>(\n props: SpectrumButtonProps<T>,\n ref: FocusableRef<HTMLElement>\n) {\n props = useProviderProps(props);\n props = useSlotProps(props, 'button');\n props = disablePendingProps(props);\n let {\n elementType: Element = 'button',\n children,\n variant,\n style = variant === 'accent' || variant === 'cta' ? 'fill' : 'outline',\n staticColor,\n isDisabled,\n isPending,\n autoFocus,\n ...otherProps\n } = props;\n let domRef = useFocusableRef(ref);\n let {buttonProps, isPressed} = useButton(props, domRef);\n let {hoverProps, isHovered} = useHover({isDisabled});\n let [isFocused, onFocusChange] = useState(false);\n let {focusProps} = useFocus({onFocusChange, isDisabled});\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/button');\n let {styleProps} = useStyleProps(otherProps);\n let hasLabel = useHasChild(`.${styles['spectrum-Button-label']}`, domRef);\n let hasIcon = useHasChild(`.${styles['spectrum-Icon']}`, domRef);\n // an aria label will block children and their labels from being read, this is undesirable for pending state\n let hasAriaLabel = !!buttonProps['aria-label'] || !!buttonProps['aria-labelledby'];\n let [isProgressVisible, setIsProgressVisible] = useState(false);\n let backupButtonId = useId();\n let buttonId = buttonProps.id || backupButtonId;\n let iconId = useId();\n let textId = useId();\n let spinnerId = useId();\n\n useEffect(() => {\n let timeout: ReturnType<typeof setTimeout>;\n\n if (isPending) {\n // Start timer when isPending is set to true.\n timeout = setTimeout(() => {\n setIsProgressVisible(true);\n }, 1000);\n } else {\n // Exit loading state when isPending is set to false. */\n setIsProgressVisible(false);\n }\n return () => {\n // Clean up on unmount or when user removes isPending prop before entering loading state.\n clearTimeout(timeout);\n };\n }, [isPending]);\n\n if (variant === 'cta') {\n variant = 'accent';\n } else if (variant === 'overBackground') {\n variant = 'primary';\n staticColor = 'white';\n }\n\n const isPendingAriaLiveLabel =\n `${hasAriaLabel ? buttonProps['aria-label'] : ''} ${stringFormatter.format('pending')}`.trim();\n const isPendingAriaLiveLabelledby = hasAriaLabel\n ? (buttonProps['aria-labelledby']?.replace(buttonId, spinnerId) ?? spinnerId)\n : `${hasIcon ? iconId : ''} ${hasLabel ? textId : ''} ${spinnerId}`.trim();\n\n let ariaLive: 'off' | 'polite' | 'assertive' = 'polite';\n if (isAppleDevice() && (!hasAriaLabel || isFirefox())) {\n ariaLive = 'off';\n }\n\n let isPendingProps = isPending\n ? {\n onClick: e => {\n if (e.currentTarget instanceof HTMLButtonElement) {\n e.preventDefault();\n }\n }\n }\n : {\n // no-op.\n // Not sure why, but TypeScript wouldn't allow to have an empty object `{}`.\n onClick: () => {}\n };\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')} autoFocus={autoFocus}>\n <Element\n {...styleProps}\n {...mergeProps(buttonProps, hoverProps, focusProps, isPendingProps)}\n id={buttonId}\n ref={domRef}\n data-variant={variant}\n data-style={style}\n data-static-color={staticColor || undefined}\n aria-disabled={isPending ? 'true' : undefined}\n aria-label={isPending ? isPendingAriaLiveLabel : buttonProps['aria-label']}\n aria-labelledby={isPending ? isPendingAriaLiveLabelledby : buttonProps['aria-labelledby']}\n className={classNames(\n styles,\n 'spectrum-Button',\n {\n 'spectrum-Button--iconOnly': hasIcon && !hasLabel,\n 'is-disabled': isDisabled || isProgressVisible,\n 'is-active': isPressed,\n 'is-hovered': isHovered,\n 'spectrum-Button--pending': isProgressVisible\n },\n styleProps.className\n )}>\n <SlotProvider\n slots={{\n icon: {\n id: iconId,\n size: 'S',\n UNSAFE_className: classNames(styles, 'spectrum-Icon')\n },\n text: {\n id: textId,\n UNSAFE_className: classNames(styles, 'spectrum-Button-label')\n }\n }}>\n {typeof children === 'string' ? <Text>{children}</Text> : children}\n {isPending && (\n <div\n aria-hidden=\"true\"\n style={{visibility: isProgressVisible ? 'visible' : 'hidden'}}\n className={classNames(styles, 'spectrum-Button-circleLoader')}>\n <ProgressCircle\n aria-label={isPendingAriaLiveLabel}\n isIndeterminate\n size=\"S\"\n staticColor={staticColor}\n />\n </div>\n )}\n {isPending && (\n <>\n <div aria-live={isFocused ? ariaLive : 'off'}>\n {isProgressVisible && (\n <div role=\"img\" aria-labelledby={isPendingAriaLiveLabelledby} />\n )}\n </div>\n {/* Adding the element here with the same labels as the button itself causes aria-live to pick up the change in Safari.\n Safari with VO unfortunately doesn't announce changes to *all* of its labels specifically for button\n https://a11ysupport.io/tests/tech__html__button-name-change#assertion-aria-aria-label_attribute-convey_name_change-html-button_element-vo_macos-safari\n The aria-live may cause extra announcements in other browsers. */}\n <div id={spinnerId} role=\"img\" aria-label={isPendingAriaLiveLabel} />\n </>\n )}\n </SlotProvider>\n </Element>\n </FocusRing>\n );\n}) as <T extends ElementType = 'button'>(\n props: SpectrumButtonProps<T> & {ref?: FocusableRef<HTMLElement>}\n) => ReactElement;\n"],"names":[],"version":3,"file":"Button.mjs.map"}