@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
@@ -56,32 +56,32 @@ var $fcd4ed7cd769eab2$export$9a6e2fb72c648072;
56
56
  var $fcd4ed7cd769eab2$export$e09869956b4c96f2;
57
57
  var $fcd4ed7cd769eab2$export$acb5da0970288266;
58
58
  var $fcd4ed7cd769eab2$export$4a157a691c854e23;
59
- $fcd4ed7cd769eab2$export$f39a09f249340e2a = `W5avvq_focus-ring`;
60
- $fcd4ed7cd769eab2$export$8c4ee2c50c22c514 = `W5avvq_i18nFontFamily`;
61
- $fcd4ed7cd769eab2$export$d35bc1e505d1ebbf = `W5avvq_is-disabled`;
62
- $fcd4ed7cd769eab2$export$b8813cd5d7824ce7 = `W5avvq_is-hovered`;
63
- $fcd4ed7cd769eab2$export$1e0fb04f31d3c22a = `W5avvq_is-selected`;
64
- $fcd4ed7cd769eab2$export$4109102f950813a6 = `W5avvq_spectrum-FocusRing-ring`;
65
- $fcd4ed7cd769eab2$export$24c7f46a6e3605dd = `W5avvq_spectrum-FocusRing ${$fcd4ed7cd769eab2$export$4109102f950813a6}`;
66
- $fcd4ed7cd769eab2$export$2927016961429360 = `W5avvq_spectrum-FocusRing--quiet`;
67
- $fcd4ed7cd769eab2$export$d374b04f30360026 = `W5avvq_spectrum-Icon`;
68
- $fcd4ed7cd769eab2$export$35c105c0d9c8e56f = `W5avvq_spectrum-Tabs`;
69
- $fcd4ed7cd769eab2$export$e15c78184ee03abe = `W5avvq_spectrum-Tabs--compact`;
70
- $fcd4ed7cd769eab2$export$87b15021e28e067a = `W5avvq_spectrum-Tabs--emphasized`;
71
- $fcd4ed7cd769eab2$export$229f1ac4d3d38f0e = `W5avvq_spectrum-Tabs--horizontal`;
72
- $fcd4ed7cd769eab2$export$ea514cd060922d6b = `W5avvq_spectrum-Tabs--isCollapsed`;
73
- $fcd4ed7cd769eab2$export$831e830d5828d42b = `W5avvq_spectrum-Tabs--quiet`;
74
- $fcd4ed7cd769eab2$export$e415005be3957065 = `W5avvq_spectrum-Tabs--vertical`;
75
- $fcd4ed7cd769eab2$export$123e4c01a5440a3e = `W5avvq_spectrum-Tabs-item`;
76
- $fcd4ed7cd769eab2$export$1f253edac4b98526 = `W5avvq_spectrum-Tabs-itemLabel`;
77
- $fcd4ed7cd769eab2$export$12dc6b25c6dddfc1 = `W5avvq_spectrum-Tabs-picker`;
78
- $fcd4ed7cd769eab2$export$a115f9117a19563e = `W5avvq_spectrum-Tabs-selectionIndicator`;
79
- $fcd4ed7cd769eab2$export$34f1a65c57bb7bb = `W5avvq_spectrum-TabsPanel`;
80
- $fcd4ed7cd769eab2$export$778fb839eaa0528c = `W5avvq_spectrum-TabsPanel--horizontal`;
81
- $fcd4ed7cd769eab2$export$9a6e2fb72c648072 = `W5avvq_spectrum-TabsPanel--vertical`;
82
- $fcd4ed7cd769eab2$export$e09869956b4c96f2 = `W5avvq_spectrum-TabsPanel-collapseWrapper`;
83
- $fcd4ed7cd769eab2$export$acb5da0970288266 = `W5avvq_spectrum-TabsPanel-tabpanel`;
84
- $fcd4ed7cd769eab2$export$4a157a691c854e23 = `W5avvq_spectrum-TabsPanel-tabs`;
59
+ $fcd4ed7cd769eab2$export$f39a09f249340e2a = `XpGI7G_focus-ring`;
60
+ $fcd4ed7cd769eab2$export$8c4ee2c50c22c514 = `XpGI7G_i18nFontFamily`;
61
+ $fcd4ed7cd769eab2$export$d35bc1e505d1ebbf = `XpGI7G_is-disabled`;
62
+ $fcd4ed7cd769eab2$export$b8813cd5d7824ce7 = `XpGI7G_is-hovered`;
63
+ $fcd4ed7cd769eab2$export$1e0fb04f31d3c22a = `XpGI7G_is-selected`;
64
+ $fcd4ed7cd769eab2$export$4109102f950813a6 = `XpGI7G_spectrum-FocusRing-ring`;
65
+ $fcd4ed7cd769eab2$export$24c7f46a6e3605dd = `XpGI7G_spectrum-FocusRing ${$fcd4ed7cd769eab2$export$4109102f950813a6}`;
66
+ $fcd4ed7cd769eab2$export$2927016961429360 = `XpGI7G_spectrum-FocusRing--quiet`;
67
+ $fcd4ed7cd769eab2$export$d374b04f30360026 = `XpGI7G_spectrum-Icon`;
68
+ $fcd4ed7cd769eab2$export$35c105c0d9c8e56f = `XpGI7G_spectrum-Tabs`;
69
+ $fcd4ed7cd769eab2$export$e15c78184ee03abe = `XpGI7G_spectrum-Tabs--compact`;
70
+ $fcd4ed7cd769eab2$export$87b15021e28e067a = `XpGI7G_spectrum-Tabs--emphasized`;
71
+ $fcd4ed7cd769eab2$export$229f1ac4d3d38f0e = `XpGI7G_spectrum-Tabs--horizontal`;
72
+ $fcd4ed7cd769eab2$export$ea514cd060922d6b = `XpGI7G_spectrum-Tabs--isCollapsed`;
73
+ $fcd4ed7cd769eab2$export$831e830d5828d42b = `XpGI7G_spectrum-Tabs--quiet`;
74
+ $fcd4ed7cd769eab2$export$e415005be3957065 = `XpGI7G_spectrum-Tabs--vertical`;
75
+ $fcd4ed7cd769eab2$export$123e4c01a5440a3e = `XpGI7G_spectrum-Tabs-item`;
76
+ $fcd4ed7cd769eab2$export$1f253edac4b98526 = `XpGI7G_spectrum-Tabs-itemLabel`;
77
+ $fcd4ed7cd769eab2$export$12dc6b25c6dddfc1 = `XpGI7G_spectrum-Tabs-picker`;
78
+ $fcd4ed7cd769eab2$export$a115f9117a19563e = `XpGI7G_spectrum-Tabs-selectionIndicator`;
79
+ $fcd4ed7cd769eab2$export$34f1a65c57bb7bb = `XpGI7G_spectrum-TabsPanel`;
80
+ $fcd4ed7cd769eab2$export$778fb839eaa0528c = `XpGI7G_spectrum-TabsPanel--horizontal`;
81
+ $fcd4ed7cd769eab2$export$9a6e2fb72c648072 = `XpGI7G_spectrum-TabsPanel--vertical`;
82
+ $fcd4ed7cd769eab2$export$e09869956b4c96f2 = `XpGI7G_spectrum-TabsPanel-collapseWrapper`;
83
+ $fcd4ed7cd769eab2$export$acb5da0970288266 = `XpGI7G_spectrum-TabsPanel-tabpanel`;
84
+ $fcd4ed7cd769eab2$export$4a157a691c854e23 = `XpGI7G_spectrum-TabsPanel-tabs`;
85
85
 
86
86
 
87
87
  export {$fcd4ed7cd769eab2$exports as default};
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;AAoBM,SAAS,0CAAO,KAA0B;IAC/C,MAAM,QACJ,IAAI,SACJ,KAAK,EACL,GAAG,YACJ,GAAG;IAEJ,aAAa;IACb,IAAI,cAAC,UAAU,EAAC,GAAG,CAAA,GAAA,uCAAY,EAAE;IACjC,IAAI,cAAC,UAAU,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,iCAAO,EAAE,CAAC;IACxC,IAAI,aAAC,SAAS,kBAAE,cAAc,cAAE,UAAU,EAAC,GAAG,CAAA,GAAA,yCAAW,EAAE;QAAC,QAAQ;IAAK;IACzE,IAAI,MAAM,CAAA,GAAA,mBAAK,EAAE;IACjB,IAAI,qBAAC,iBAAiB,iBAAE,aAAa,YAAE,QAAQ,kBAAE,cAAc,EAAC,GAAG,CAAA,GAAA,kCAAK,EAAE;QACxE,GAAG,KAAK;cACR;IACF,GAAG,OAAO;IAEV,qBACE,0DAAC;QACE,GAAG,CAAA,GAAA,qCAAS,EAAE,UAAU,YAAY,WAAW;QAChD,WAAW,CAAA,GAAA,oCAAS,EAChB,CAAA,GAAA,mDAAK,GACL,gBACF;YACE,cAAc;YACd,cAAc;YACd,cAAc;YACd,2BAA2B;QAC7B,GACE,WAAW,SAAS;QAExB,KAAK;qBACL,0DAAC;QACC,WAAW,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;QAC7B,GAAG,aAAa;qBACjB,0DAAC,CAAA,GAAA,sCAAW;QACV,OAAO;YACL,MAAM;gBAAC,kBAAkB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;gBAAsB,MAAM;YAAI;YAC5E,MAAM;gBAAC,kBAAkB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;YAAuB;YACnE,QAAQ;gBAAC,kBAAkB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;gBAAwB,MAAM;YAAgB;QAC9F;OACC,OAAO,KAAK,QAAQ,KAAK,yBAAW,0DAAC,CAAA,GAAA,8BAAG,SAAG,KAAK,QAAQ,IAAW,KAAK,QAAQ,gBACjF,0DAAC,CAAA,GAAA,oCAAS,SACP,gCAAkB,0DAAC;QAAgB,MAAM;QAAO,GAAG,iBAAiB;QAAE,kBAAkB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;;AAMxH;AAEA,SAAS,sCAAgB,KAAK;IAC5B,IAAI,cAAC,UAAU,EAAC,GAAG,CAAA,GAAA,uCAAY,EAAE;IAEjC,qBACE,0DAAC,QAAS,0BACR,0DAAC,CAAA,GAAA,qCAAU;QAAG,GAAG,KAAK;QAAE,OAAA;;AAG9B","sources":["packages/@adobe/react-spectrum/src/tag/Tag.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 {AriaTagProps, useTag} from 'react-aria/useTagGroup';\n\nimport {classNames} from '../utils/classNames';\nimport {ClearButton} from '../button/ClearButton';\nimport {ClearSlots, SlotProvider} from '../utils/Slots';\nimport type {ListState} from 'react-stately/useListState';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport React, {ReactNode, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/tags/vars.css';\nimport {Text} from '../text/Text';\nimport {useFocusRing} from 'react-aria/useFocusRing';\nimport {useHover} from 'react-aria/useHover';\nimport {useStyleProps} from '../utils/styleProps';\n\nexport interface SpectrumTagProps<T> extends AriaTagProps<T> {\n state: ListState<T>\n}\n\nexport function Tag<T>(props: SpectrumTagProps<T>): ReactNode {\n const {\n item,\n state,\n ...otherProps\n } = props;\n\n // @ts-ignore\n let {styleProps} = useStyleProps(otherProps);\n let {hoverProps, isHovered} = useHover({});\n let {isFocused, isFocusVisible, focusProps} = useFocusRing({within: false});\n let ref = useRef(null);\n let {removeButtonProps, gridCellProps, rowProps, allowsRemoving} = useTag({\n ...props,\n item\n }, state, ref);\n\n return (\n <div\n {...mergeProps(rowProps, hoverProps, focusProps)}\n className={classNames(\n styles,\n 'spectrum-Tag',\n {\n 'focus-ring': isFocusVisible,\n 'is-focused': isFocused,\n 'is-hovered': isHovered,\n 'spectrum-Tag--removable': allowsRemoving\n },\n styleProps.className\n )}\n ref={ref}>\n <div\n className={classNames(styles, 'spectrum-Tag-cell')}\n {...gridCellProps}>\n <SlotProvider\n slots={{\n icon: {UNSAFE_className: classNames(styles, 'spectrum-Tag-icon'), size: 'XS'},\n text: {UNSAFE_className: classNames(styles, 'spectrum-Tag-content')},\n avatar: {UNSAFE_className: classNames(styles, 'spectrum-Tag-avatar'), size: 'avatar-size-50'}\n }}>\n {typeof item.rendered === 'string' ? <Text>{item.rendered}</Text> : item.rendered}\n <ClearSlots>\n {allowsRemoving && <TagRemoveButton item={item} {...removeButtonProps} UNSAFE_className={classNames(styles, 'spectrum-Tag-removeButton')} />}\n </ClearSlots>\n </SlotProvider>\n </div>\n </div>\n );\n}\n\nfunction TagRemoveButton(props) {\n let {styleProps} = useStyleProps(props);\n\n return (\n <span {...styleProps}>\n <ClearButton {...props} inset />\n </span>\n );\n}\n"],"names":[],"version":3,"file":"Tag.cjs.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;AAoBM,SAAS,0CAAO,KAA0B;IAC/C,MAAM,QAAC,IAAI,SAAE,KAAK,EAAE,GAAG,YAAW,GAAG;IAErC,aAAa;IACb,IAAI,cAAC,UAAU,EAAC,GAAG,CAAA,GAAA,uCAAY,EAAE;IACjC,IAAI,cAAC,UAAU,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,iCAAO,EAAE,CAAC;IACxC,IAAI,aAAC,SAAS,kBAAE,cAAc,cAAE,UAAU,EAAC,GAAG,CAAA,GAAA,yCAAW,EAAE;QAAC,QAAQ;IAAK;IACzE,IAAI,MAAM,CAAA,GAAA,mBAAK,EAAE;IACjB,IAAI,qBAAC,iBAAiB,iBAAE,aAAa,YAAE,QAAQ,kBAAE,cAAc,EAAC,GAAG,CAAA,GAAA,kCAAK,EACtE;QACE,GAAG,KAAK;cACR;IACF,GACA,OACA;IAGF,qBACE,0DAAC;QACE,GAAG,CAAA,GAAA,qCAAS,EAAE,UAAU,YAAY,WAAW;QAChD,WAAW,CAAA,GAAA,oCAAS,EAClB,CAAA,GAAA,mDAAK,GACL,gBACA;YACE,cAAc;YACd,cAAc;YACd,cAAc;YACd,2BAA2B;QAC7B,GACA,WAAW,SAAS;QAEtB,KAAK;qBACL,0DAAC;QAAI,WAAW,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;QAAuB,GAAG,aAAa;qBACxE,0DAAC,CAAA,GAAA,sCAAW;QACV,OAAO;YACL,MAAM;gBAAC,kBAAkB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;gBAAsB,MAAM;YAAI;YAC5E,MAAM;gBAAC,kBAAkB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;YAAuB;YACnE,QAAQ;gBACN,kBAAkB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;gBACrC,MAAM;YACR;QACF;OACC,OAAO,KAAK,QAAQ,KAAK,yBAAW,0DAAC,CAAA,GAAA,8BAAG,SAAG,KAAK,QAAQ,IAAW,KAAK,QAAQ,gBACjF,0DAAC,CAAA,GAAA,oCAAS,SACP,gCACC,0DAAC;QACC,MAAM;QACL,GAAG,iBAAiB;QACrB,kBAAkB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;;AAQrD;AAEA,SAAS,sCAAgB,KAAK;IAC5B,IAAI,cAAC,UAAU,EAAC,GAAG,CAAA,GAAA,uCAAY,EAAE;IAEjC,qBACE,0DAAC,QAAS,0BACR,0DAAC,CAAA,GAAA,qCAAU;QAAG,GAAG,KAAK;QAAE,OAAA;;AAG9B","sources":["packages/@adobe/react-spectrum/src/tag/Tag.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 {AriaTagProps, useTag} from 'react-aria/useTagGroup';\n\nimport {classNames} from '../utils/classNames';\nimport {ClearButton} from '../button/ClearButton';\nimport {ClearSlots, SlotProvider} from '../utils/Slots';\nimport type {ListState} from 'react-stately/useListState';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport React, {ReactNode, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/tags/vars.css';\nimport {Text} from '../text/Text';\nimport {useFocusRing} from 'react-aria/useFocusRing';\nimport {useHover} from 'react-aria/useHover';\nimport {useStyleProps} from '../utils/styleProps';\n\nexport interface SpectrumTagProps<T> extends AriaTagProps<T> {\n state: ListState<T>;\n}\n\nexport function Tag<T>(props: SpectrumTagProps<T>): ReactNode {\n const {item, state, ...otherProps} = props;\n\n // @ts-ignore\n let {styleProps} = useStyleProps(otherProps);\n let {hoverProps, isHovered} = useHover({});\n let {isFocused, isFocusVisible, focusProps} = useFocusRing({within: false});\n let ref = useRef(null);\n let {removeButtonProps, gridCellProps, rowProps, allowsRemoving} = useTag(\n {\n ...props,\n item\n },\n state,\n ref\n );\n\n return (\n <div\n {...mergeProps(rowProps, hoverProps, focusProps)}\n className={classNames(\n styles,\n 'spectrum-Tag',\n {\n 'focus-ring': isFocusVisible,\n 'is-focused': isFocused,\n 'is-hovered': isHovered,\n 'spectrum-Tag--removable': allowsRemoving\n },\n styleProps.className\n )}\n ref={ref}>\n <div className={classNames(styles, 'spectrum-Tag-cell')} {...gridCellProps}>\n <SlotProvider\n slots={{\n icon: {UNSAFE_className: classNames(styles, 'spectrum-Tag-icon'), size: 'XS'},\n text: {UNSAFE_className: classNames(styles, 'spectrum-Tag-content')},\n avatar: {\n UNSAFE_className: classNames(styles, 'spectrum-Tag-avatar'),\n size: 'avatar-size-50'\n }\n }}>\n {typeof item.rendered === 'string' ? <Text>{item.rendered}</Text> : item.rendered}\n <ClearSlots>\n {allowsRemoving && (\n <TagRemoveButton\n item={item}\n {...removeButtonProps}\n UNSAFE_className={classNames(styles, 'spectrum-Tag-removeButton')}\n />\n )}\n </ClearSlots>\n </SlotProvider>\n </div>\n </div>\n );\n}\n\nfunction TagRemoveButton(props) {\n let {styleProps} = useStyleProps(props);\n\n return (\n <span {...styleProps}>\n <ClearButton {...props} inset />\n </span>\n );\n}\n"],"names":[],"version":3,"file":"Tag.cjs.map"}
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;AAoBM,SAAS,0CAAO,KAA0B;IAC/C,MAAM,QACJ,IAAI,SACJ,KAAK,EACL,GAAG,YACJ,GAAG;IAEJ,aAAa;IACb,IAAI,cAAC,UAAU,EAAC,GAAG,CAAA,GAAA,yCAAY,EAAE;IACjC,IAAI,cAAC,UAAU,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,eAAO,EAAE,CAAC;IACxC,IAAI,aAAC,SAAS,kBAAE,cAAc,cAAE,UAAU,EAAC,GAAG,CAAA,GAAA,mBAAW,EAAE;QAAC,QAAQ;IAAK;IACzE,IAAI,MAAM,CAAA,GAAA,aAAK,EAAE;IACjB,IAAI,qBAAC,iBAAiB,iBAAE,aAAa,YAAE,QAAQ,kBAAE,cAAc,EAAC,GAAG,CAAA,GAAA,aAAK,EAAE;QACxE,GAAG,KAAK;cACR;IACF,GAAG,OAAO;IAEV,qBACE,gCAAC;QACE,GAAG,CAAA,GAAA,iBAAS,EAAE,UAAU,YAAY,WAAW;QAChD,WAAW,CAAA,GAAA,yCAAS,EAChB,CAAA,GAAA,iDAAK,GACL,gBACF;YACE,cAAc;YACd,cAAc;YACd,cAAc;YACd,2BAA2B;QAC7B,GACE,WAAW,SAAS;QAExB,KAAK;qBACL,gCAAC;QACC,WAAW,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;QAC7B,GAAG,aAAa;qBACjB,gCAAC,CAAA,GAAA,yCAAW;QACV,OAAO;YACL,MAAM;gBAAC,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;gBAAsB,MAAM;YAAI;YAC5E,MAAM;gBAAC,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;YAAuB;YACnE,QAAQ;gBAAC,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;gBAAwB,MAAM;YAAgB;QAC9F;OACC,OAAO,KAAK,QAAQ,KAAK,yBAAW,gCAAC,CAAA,GAAA,yCAAG,SAAG,KAAK,QAAQ,IAAW,KAAK,QAAQ,gBACjF,gCAAC,CAAA,GAAA,yCAAS,SACP,gCAAkB,gCAAC;QAAgB,MAAM;QAAO,GAAG,iBAAiB;QAAE,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;;AAMxH;AAEA,SAAS,sCAAgB,KAAK;IAC5B,IAAI,cAAC,UAAU,EAAC,GAAG,CAAA,GAAA,yCAAY,EAAE;IAEjC,qBACE,gCAAC,QAAS,0BACR,gCAAC,CAAA,GAAA,yCAAU;QAAG,GAAG,KAAK;QAAE,OAAA;;AAG9B","sources":["packages/@adobe/react-spectrum/src/tag/Tag.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 {AriaTagProps, useTag} from 'react-aria/useTagGroup';\n\nimport {classNames} from '../utils/classNames';\nimport {ClearButton} from '../button/ClearButton';\nimport {ClearSlots, SlotProvider} from '../utils/Slots';\nimport type {ListState} from 'react-stately/useListState';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport React, {ReactNode, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/tags/vars.css';\nimport {Text} from '../text/Text';\nimport {useFocusRing} from 'react-aria/useFocusRing';\nimport {useHover} from 'react-aria/useHover';\nimport {useStyleProps} from '../utils/styleProps';\n\nexport interface SpectrumTagProps<T> extends AriaTagProps<T> {\n state: ListState<T>\n}\n\nexport function Tag<T>(props: SpectrumTagProps<T>): ReactNode {\n const {\n item,\n state,\n ...otherProps\n } = props;\n\n // @ts-ignore\n let {styleProps} = useStyleProps(otherProps);\n let {hoverProps, isHovered} = useHover({});\n let {isFocused, isFocusVisible, focusProps} = useFocusRing({within: false});\n let ref = useRef(null);\n let {removeButtonProps, gridCellProps, rowProps, allowsRemoving} = useTag({\n ...props,\n item\n }, state, ref);\n\n return (\n <div\n {...mergeProps(rowProps, hoverProps, focusProps)}\n className={classNames(\n styles,\n 'spectrum-Tag',\n {\n 'focus-ring': isFocusVisible,\n 'is-focused': isFocused,\n 'is-hovered': isHovered,\n 'spectrum-Tag--removable': allowsRemoving\n },\n styleProps.className\n )}\n ref={ref}>\n <div\n className={classNames(styles, 'spectrum-Tag-cell')}\n {...gridCellProps}>\n <SlotProvider\n slots={{\n icon: {UNSAFE_className: classNames(styles, 'spectrum-Tag-icon'), size: 'XS'},\n text: {UNSAFE_className: classNames(styles, 'spectrum-Tag-content')},\n avatar: {UNSAFE_className: classNames(styles, 'spectrum-Tag-avatar'), size: 'avatar-size-50'}\n }}>\n {typeof item.rendered === 'string' ? <Text>{item.rendered}</Text> : item.rendered}\n <ClearSlots>\n {allowsRemoving && <TagRemoveButton item={item} {...removeButtonProps} UNSAFE_className={classNames(styles, 'spectrum-Tag-removeButton')} />}\n </ClearSlots>\n </SlotProvider>\n </div>\n </div>\n );\n}\n\nfunction TagRemoveButton(props) {\n let {styleProps} = useStyleProps(props);\n\n return (\n <span {...styleProps}>\n <ClearButton {...props} inset />\n </span>\n );\n}\n"],"names":[],"version":3,"file":"Tag.js.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;AAoBM,SAAS,0CAAO,KAA0B;IAC/C,MAAM,QAAC,IAAI,SAAE,KAAK,EAAE,GAAG,YAAW,GAAG;IAErC,aAAa;IACb,IAAI,cAAC,UAAU,EAAC,GAAG,CAAA,GAAA,yCAAY,EAAE;IACjC,IAAI,cAAC,UAAU,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,eAAO,EAAE,CAAC;IACxC,IAAI,aAAC,SAAS,kBAAE,cAAc,cAAE,UAAU,EAAC,GAAG,CAAA,GAAA,mBAAW,EAAE;QAAC,QAAQ;IAAK;IACzE,IAAI,MAAM,CAAA,GAAA,aAAK,EAAE;IACjB,IAAI,qBAAC,iBAAiB,iBAAE,aAAa,YAAE,QAAQ,kBAAE,cAAc,EAAC,GAAG,CAAA,GAAA,aAAK,EACtE;QACE,GAAG,KAAK;cACR;IACF,GACA,OACA;IAGF,qBACE,gCAAC;QACE,GAAG,CAAA,GAAA,iBAAS,EAAE,UAAU,YAAY,WAAW;QAChD,WAAW,CAAA,GAAA,yCAAS,EAClB,CAAA,GAAA,iDAAK,GACL,gBACA;YACE,cAAc;YACd,cAAc;YACd,cAAc;YACd,2BAA2B;QAC7B,GACA,WAAW,SAAS;QAEtB,KAAK;qBACL,gCAAC;QAAI,WAAW,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;QAAuB,GAAG,aAAa;qBACxE,gCAAC,CAAA,GAAA,yCAAW;QACV,OAAO;YACL,MAAM;gBAAC,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;gBAAsB,MAAM;YAAI;YAC5E,MAAM;gBAAC,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;YAAuB;YACnE,QAAQ;gBACN,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;gBACrC,MAAM;YACR;QACF;OACC,OAAO,KAAK,QAAQ,KAAK,yBAAW,gCAAC,CAAA,GAAA,yCAAG,SAAG,KAAK,QAAQ,IAAW,KAAK,QAAQ,gBACjF,gCAAC,CAAA,GAAA,yCAAS,SACP,gCACC,gCAAC;QACC,MAAM;QACL,GAAG,iBAAiB;QACrB,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;;AAQrD;AAEA,SAAS,sCAAgB,KAAK;IAC5B,IAAI,cAAC,UAAU,EAAC,GAAG,CAAA,GAAA,yCAAY,EAAE;IAEjC,qBACE,gCAAC,QAAS,0BACR,gCAAC,CAAA,GAAA,yCAAU;QAAG,GAAG,KAAK;QAAE,OAAA;;AAG9B","sources":["packages/@adobe/react-spectrum/src/tag/Tag.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 {AriaTagProps, useTag} from 'react-aria/useTagGroup';\n\nimport {classNames} from '../utils/classNames';\nimport {ClearButton} from '../button/ClearButton';\nimport {ClearSlots, SlotProvider} from '../utils/Slots';\nimport type {ListState} from 'react-stately/useListState';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport React, {ReactNode, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/tags/vars.css';\nimport {Text} from '../text/Text';\nimport {useFocusRing} from 'react-aria/useFocusRing';\nimport {useHover} from 'react-aria/useHover';\nimport {useStyleProps} from '../utils/styleProps';\n\nexport interface SpectrumTagProps<T> extends AriaTagProps<T> {\n state: ListState<T>;\n}\n\nexport function Tag<T>(props: SpectrumTagProps<T>): ReactNode {\n const {item, state, ...otherProps} = props;\n\n // @ts-ignore\n let {styleProps} = useStyleProps(otherProps);\n let {hoverProps, isHovered} = useHover({});\n let {isFocused, isFocusVisible, focusProps} = useFocusRing({within: false});\n let ref = useRef(null);\n let {removeButtonProps, gridCellProps, rowProps, allowsRemoving} = useTag(\n {\n ...props,\n item\n },\n state,\n ref\n );\n\n return (\n <div\n {...mergeProps(rowProps, hoverProps, focusProps)}\n className={classNames(\n styles,\n 'spectrum-Tag',\n {\n 'focus-ring': isFocusVisible,\n 'is-focused': isFocused,\n 'is-hovered': isHovered,\n 'spectrum-Tag--removable': allowsRemoving\n },\n styleProps.className\n )}\n ref={ref}>\n <div className={classNames(styles, 'spectrum-Tag-cell')} {...gridCellProps}>\n <SlotProvider\n slots={{\n icon: {UNSAFE_className: classNames(styles, 'spectrum-Tag-icon'), size: 'XS'},\n text: {UNSAFE_className: classNames(styles, 'spectrum-Tag-content')},\n avatar: {\n UNSAFE_className: classNames(styles, 'spectrum-Tag-avatar'),\n size: 'avatar-size-50'\n }\n }}>\n {typeof item.rendered === 'string' ? <Text>{item.rendered}</Text> : item.rendered}\n <ClearSlots>\n {allowsRemoving && (\n <TagRemoveButton\n item={item}\n {...removeButtonProps}\n UNSAFE_className={classNames(styles, 'spectrum-Tag-removeButton')}\n />\n )}\n </ClearSlots>\n </SlotProvider>\n </div>\n </div>\n );\n}\n\nfunction TagRemoveButton(props) {\n let {styleProps} = useStyleProps(props);\n\n return (\n <span {...styleProps}>\n <ClearButton {...props} inset />\n </span>\n );\n}\n"],"names":[],"version":3,"file":"Tag.js.map"}
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;AAoBM,SAAS,0CAAO,KAA0B;IAC/C,MAAM,QACJ,IAAI,SACJ,KAAK,EACL,GAAG,YACJ,GAAG;IAEJ,aAAa;IACb,IAAI,cAAC,UAAU,EAAC,GAAG,CAAA,GAAA,yCAAY,EAAE;IACjC,IAAI,cAAC,UAAU,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,eAAO,EAAE,CAAC;IACxC,IAAI,aAAC,SAAS,kBAAE,cAAc,cAAE,UAAU,EAAC,GAAG,CAAA,GAAA,mBAAW,EAAE;QAAC,QAAQ;IAAK;IACzE,IAAI,MAAM,CAAA,GAAA,aAAK,EAAE;IACjB,IAAI,qBAAC,iBAAiB,iBAAE,aAAa,YAAE,QAAQ,kBAAE,cAAc,EAAC,GAAG,CAAA,GAAA,aAAK,EAAE;QACxE,GAAG,KAAK;cACR;IACF,GAAG,OAAO;IAEV,qBACE,gCAAC;QACE,GAAG,CAAA,GAAA,iBAAS,EAAE,UAAU,YAAY,WAAW;QAChD,WAAW,CAAA,GAAA,yCAAS,EAChB,CAAA,GAAA,iDAAK,GACL,gBACF;YACE,cAAc;YACd,cAAc;YACd,cAAc;YACd,2BAA2B;QAC7B,GACE,WAAW,SAAS;QAExB,KAAK;qBACL,gCAAC;QACC,WAAW,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;QAC7B,GAAG,aAAa;qBACjB,gCAAC,CAAA,GAAA,yCAAW;QACV,OAAO;YACL,MAAM;gBAAC,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;gBAAsB,MAAM;YAAI;YAC5E,MAAM;gBAAC,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;YAAuB;YACnE,QAAQ;gBAAC,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;gBAAwB,MAAM;YAAgB;QAC9F;OACC,OAAO,KAAK,QAAQ,KAAK,yBAAW,gCAAC,CAAA,GAAA,yCAAG,SAAG,KAAK,QAAQ,IAAW,KAAK,QAAQ,gBACjF,gCAAC,CAAA,GAAA,yCAAS,SACP,gCAAkB,gCAAC;QAAgB,MAAM;QAAO,GAAG,iBAAiB;QAAE,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;;AAMxH;AAEA,SAAS,sCAAgB,KAAK;IAC5B,IAAI,cAAC,UAAU,EAAC,GAAG,CAAA,GAAA,yCAAY,EAAE;IAEjC,qBACE,gCAAC,QAAS,0BACR,gCAAC,CAAA,GAAA,yCAAU;QAAG,GAAG,KAAK;QAAE,OAAA;;AAG9B","sources":["packages/@adobe/react-spectrum/src/tag/Tag.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 {AriaTagProps, useTag} from 'react-aria/useTagGroup';\n\nimport {classNames} from '../utils/classNames';\nimport {ClearButton} from '../button/ClearButton';\nimport {ClearSlots, SlotProvider} from '../utils/Slots';\nimport type {ListState} from 'react-stately/useListState';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport React, {ReactNode, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/tags/vars.css';\nimport {Text} from '../text/Text';\nimport {useFocusRing} from 'react-aria/useFocusRing';\nimport {useHover} from 'react-aria/useHover';\nimport {useStyleProps} from '../utils/styleProps';\n\nexport interface SpectrumTagProps<T> extends AriaTagProps<T> {\n state: ListState<T>\n}\n\nexport function Tag<T>(props: SpectrumTagProps<T>): ReactNode {\n const {\n item,\n state,\n ...otherProps\n } = props;\n\n // @ts-ignore\n let {styleProps} = useStyleProps(otherProps);\n let {hoverProps, isHovered} = useHover({});\n let {isFocused, isFocusVisible, focusProps} = useFocusRing({within: false});\n let ref = useRef(null);\n let {removeButtonProps, gridCellProps, rowProps, allowsRemoving} = useTag({\n ...props,\n item\n }, state, ref);\n\n return (\n <div\n {...mergeProps(rowProps, hoverProps, focusProps)}\n className={classNames(\n styles,\n 'spectrum-Tag',\n {\n 'focus-ring': isFocusVisible,\n 'is-focused': isFocused,\n 'is-hovered': isHovered,\n 'spectrum-Tag--removable': allowsRemoving\n },\n styleProps.className\n )}\n ref={ref}>\n <div\n className={classNames(styles, 'spectrum-Tag-cell')}\n {...gridCellProps}>\n <SlotProvider\n slots={{\n icon: {UNSAFE_className: classNames(styles, 'spectrum-Tag-icon'), size: 'XS'},\n text: {UNSAFE_className: classNames(styles, 'spectrum-Tag-content')},\n avatar: {UNSAFE_className: classNames(styles, 'spectrum-Tag-avatar'), size: 'avatar-size-50'}\n }}>\n {typeof item.rendered === 'string' ? <Text>{item.rendered}</Text> : item.rendered}\n <ClearSlots>\n {allowsRemoving && <TagRemoveButton item={item} {...removeButtonProps} UNSAFE_className={classNames(styles, 'spectrum-Tag-removeButton')} />}\n </ClearSlots>\n </SlotProvider>\n </div>\n </div>\n );\n}\n\nfunction TagRemoveButton(props) {\n let {styleProps} = useStyleProps(props);\n\n return (\n <span {...styleProps}>\n <ClearButton {...props} inset />\n </span>\n );\n}\n"],"names":[],"version":3,"file":"Tag.mjs.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;AAoBM,SAAS,0CAAO,KAA0B;IAC/C,MAAM,QAAC,IAAI,SAAE,KAAK,EAAE,GAAG,YAAW,GAAG;IAErC,aAAa;IACb,IAAI,cAAC,UAAU,EAAC,GAAG,CAAA,GAAA,yCAAY,EAAE;IACjC,IAAI,cAAC,UAAU,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,eAAO,EAAE,CAAC;IACxC,IAAI,aAAC,SAAS,kBAAE,cAAc,cAAE,UAAU,EAAC,GAAG,CAAA,GAAA,mBAAW,EAAE;QAAC,QAAQ;IAAK;IACzE,IAAI,MAAM,CAAA,GAAA,aAAK,EAAE;IACjB,IAAI,qBAAC,iBAAiB,iBAAE,aAAa,YAAE,QAAQ,kBAAE,cAAc,EAAC,GAAG,CAAA,GAAA,aAAK,EACtE;QACE,GAAG,KAAK;cACR;IACF,GACA,OACA;IAGF,qBACE,gCAAC;QACE,GAAG,CAAA,GAAA,iBAAS,EAAE,UAAU,YAAY,WAAW;QAChD,WAAW,CAAA,GAAA,yCAAS,EAClB,CAAA,GAAA,iDAAK,GACL,gBACA;YACE,cAAc;YACd,cAAc;YACd,cAAc;YACd,2BAA2B;QAC7B,GACA,WAAW,SAAS;QAEtB,KAAK;qBACL,gCAAC;QAAI,WAAW,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;QAAuB,GAAG,aAAa;qBACxE,gCAAC,CAAA,GAAA,yCAAW;QACV,OAAO;YACL,MAAM;gBAAC,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;gBAAsB,MAAM;YAAI;YAC5E,MAAM;gBAAC,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;YAAuB;YACnE,QAAQ;gBACN,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;gBACrC,MAAM;YACR;QACF;OACC,OAAO,KAAK,QAAQ,KAAK,yBAAW,gCAAC,CAAA,GAAA,yCAAG,SAAG,KAAK,QAAQ,IAAW,KAAK,QAAQ,gBACjF,gCAAC,CAAA,GAAA,yCAAS,SACP,gCACC,gCAAC;QACC,MAAM;QACL,GAAG,iBAAiB;QACrB,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;;AAQrD;AAEA,SAAS,sCAAgB,KAAK;IAC5B,IAAI,cAAC,UAAU,EAAC,GAAG,CAAA,GAAA,yCAAY,EAAE;IAEjC,qBACE,gCAAC,QAAS,0BACR,gCAAC,CAAA,GAAA,yCAAU;QAAG,GAAG,KAAK;QAAE,OAAA;;AAG9B","sources":["packages/@adobe/react-spectrum/src/tag/Tag.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 {AriaTagProps, useTag} from 'react-aria/useTagGroup';\n\nimport {classNames} from '../utils/classNames';\nimport {ClearButton} from '../button/ClearButton';\nimport {ClearSlots, SlotProvider} from '../utils/Slots';\nimport type {ListState} from 'react-stately/useListState';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport React, {ReactNode, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/tags/vars.css';\nimport {Text} from '../text/Text';\nimport {useFocusRing} from 'react-aria/useFocusRing';\nimport {useHover} from 'react-aria/useHover';\nimport {useStyleProps} from '../utils/styleProps';\n\nexport interface SpectrumTagProps<T> extends AriaTagProps<T> {\n state: ListState<T>;\n}\n\nexport function Tag<T>(props: SpectrumTagProps<T>): ReactNode {\n const {item, state, ...otherProps} = props;\n\n // @ts-ignore\n let {styleProps} = useStyleProps(otherProps);\n let {hoverProps, isHovered} = useHover({});\n let {isFocused, isFocusVisible, focusProps} = useFocusRing({within: false});\n let ref = useRef(null);\n let {removeButtonProps, gridCellProps, rowProps, allowsRemoving} = useTag(\n {\n ...props,\n item\n },\n state,\n ref\n );\n\n return (\n <div\n {...mergeProps(rowProps, hoverProps, focusProps)}\n className={classNames(\n styles,\n 'spectrum-Tag',\n {\n 'focus-ring': isFocusVisible,\n 'is-focused': isFocused,\n 'is-hovered': isHovered,\n 'spectrum-Tag--removable': allowsRemoving\n },\n styleProps.className\n )}\n ref={ref}>\n <div className={classNames(styles, 'spectrum-Tag-cell')} {...gridCellProps}>\n <SlotProvider\n slots={{\n icon: {UNSAFE_className: classNames(styles, 'spectrum-Tag-icon'), size: 'XS'},\n text: {UNSAFE_className: classNames(styles, 'spectrum-Tag-content')},\n avatar: {\n UNSAFE_className: classNames(styles, 'spectrum-Tag-avatar'),\n size: 'avatar-size-50'\n }\n }}>\n {typeof item.rendered === 'string' ? <Text>{item.rendered}</Text> : item.rendered}\n <ClearSlots>\n {allowsRemoving && (\n <TagRemoveButton\n item={item}\n {...removeButtonProps}\n UNSAFE_className={classNames(styles, 'spectrum-Tag-removeButton')}\n />\n )}\n </ClearSlots>\n </SlotProvider>\n </div>\n </div>\n );\n}\n\nfunction TagRemoveButton(props) {\n let {styleProps} = useStyleProps(props);\n\n return (\n <span {...styleProps}>\n <ClearButton {...props} inset />\n </span>\n );\n}\n"],"names":[],"version":3,"file":"Tag.mjs.map"}
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@adobe/react-spectrum/src/tag/TagGroup.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 {ActionButton} from '../button/ActionButton';\n\nimport {AriaTagGroupProps, useTagGroup} from 'react-aria/useTagGroup';\nimport {classNames} from '../utils/classNames';\nimport {Collection, DOMRef, Node, SpectrumLabelableProps, StyleProps, Validation} from '@react-types/shared';\nimport {Field} from '../label/Field';\nimport {FocusRing} from 'react-aria/FocusRing';\nimport {FocusScope} from 'react-aria/FocusScope';\nimport intlMessages from '../../intl/tag/*.json';\n// @ts-ignore\nimport {ListCollection} from 'react-stately/private/list/ListCollection';\nimport {ListKeyboardDelegate} from 'react-aria/ListKeyboardDelegate';\nimport {Provider, useProvider, useProviderProps} from '../provider/Provider';\nimport React, {JSX, ReactNode, useCallback, useEffect, useMemo, useRef, useState} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/tags/vars.css';\nimport {Tag} from './Tag';\nimport {useDOMRef} from '../utils/useDOMRef';\nimport {useFormProps} from '../form/Form';\nimport {useId} from 'react-aria/useId';\nimport {useLayoutEffect} from 'react-aria/private/utils/useLayoutEffect';\nimport {useListState} from 'react-stately/useListState';\nimport {useLocale} from 'react-aria/I18nProvider';\nimport {useLocalizedStringFormatter} from 'react-aria/useLocalizedStringFormatter';\nimport {useResizeObserver} from 'react-aria/private/utils/useResizeObserver';\nimport {useValueEffect} from 'react-aria/private/utils/useValueEffect';\n\nconst TAG_STYLES = {\n medium: {\n height: 24,\n margin: 4\n },\n large: {\n height: 30,\n margin: 5\n }\n};\n\nexport interface SpectrumTagGroupProps<T> extends Omit<AriaTagGroupProps<T>, 'selectionMode' | 'disallowEmptySelection' | 'selectedKeys' | 'defaultSelectedKeys' | 'onSelectionChange' | 'selectionBehavior' | 'disabledKeys'>, StyleProps, Omit<SpectrumLabelableProps, 'isRequired' | 'necessityIndicator'>, Pick<Validation<any>, 'isInvalid' | 'validationState'> {\n /** The label to display on the action button. */\n actionLabel?: string,\n /** Handler that is called when the action button is pressed. */\n onAction?: () => void,\n /** Sets what the TagGroup should render when there are no tags to display. */\n renderEmptyState?: () => JSX.Element,\n /** Limit the number of rows initially shown. This will render a button that allows the user to expand to show all tags. */\n maxRows?: number\n}\n\n/** Tags allow users to categorize content. They can represent keywords or people, and are grouped to describe an item or a search request. */\nexport const TagGroup = React.forwardRef(function TagGroup<T extends object>(props: SpectrumTagGroupProps<T>, ref: DOMRef<HTMLDivElement>) {\n props = useProviderProps(props);\n props = useFormProps(props);\n let {\n maxRows,\n children,\n actionLabel,\n onAction,\n labelPosition,\n renderEmptyState = () => stringFormatter.format('noTags')\n } = props;\n let domRef = useDOMRef(ref);\n let containerRef = useRef<HTMLDivElement>(null);\n let tagsRef = useRef<HTMLDivElement | null>(null);\n let {direction} = useLocale();\n let {scale} = useProvider();\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/tag');\n let [isCollapsed, setIsCollapsed] = useState(maxRows != null);\n let state = useListState(props);\n let [tagState, setTagState] = useValueEffect({visibleTagCount: state.collection.size, showCollapseButton: false});\n let keyboardDelegate = useMemo(() => {\n let collection = (isCollapsed\n ? new ListCollection([...state.collection].slice(0, tagState.visibleTagCount))\n : new ListCollection([...state.collection])) as Collection<Node<T>>;\n return new ListKeyboardDelegate({\n collection,\n ref: tagsRef,\n direction,\n orientation: 'horizontal'\n });\n }, [direction, isCollapsed, state.collection, tagState.visibleTagCount, tagsRef]) as ListKeyboardDelegate<T>;\n // Remove onAction from props so it doesn't make it into useGridList.\n delete props.onAction;\n let {gridProps, labelProps, descriptionProps, errorMessageProps} = useTagGroup({...props, keyboardDelegate}, state, tagsRef);\n let actionsId = useId();\n let actionsRef = useRef<HTMLDivElement>(null);\n\n let updateVisibleTagCount = useCallback(() => {\n if (maxRows && maxRows > 0) {\n let computeVisibleTagCount = () => {\n // Refs can be null at runtime.\n let currContainerRef: HTMLDivElement | null = containerRef.current;\n let currTagsRef: HTMLDivElement | null = tagsRef.current;\n let currActionsRef: HTMLDivElement | null = actionsRef.current;\n if (!currContainerRef || !currTagsRef || !currActionsRef || state.collection.size === 0) {\n return {\n visibleTagCount: 0,\n showCollapseButton: false\n };\n }\n\n // Count rows and show tags until we hit the maxRows.\n let tags = [...currTagsRef.children];\n let currY = -Infinity;\n let rowCount = 0;\n let index = 0;\n let tagWidths: number[] = [];\n for (let tag of tags) {\n let {width, y} = tag.getBoundingClientRect();\n\n if (y !== currY) {\n currY = y;\n rowCount++;\n }\n\n if (maxRows && rowCount > maxRows) {\n break;\n }\n tagWidths.push(width);\n index++;\n }\n\n // Remove tags until there is space for the collapse button and action button (if present) on the last row.\n let buttons = [...currActionsRef.children];\n if (maxRows && buttons.length > 0 && rowCount >= maxRows && currContainerRef.parentElement) {\n let buttonsWidth = buttons.reduce((acc, curr) => acc += curr.getBoundingClientRect().width, 0);\n buttonsWidth += TAG_STYLES[scale].margin * 2 * buttons.length;\n let end = direction === 'ltr' ? 'right' : 'left';\n let containerEnd = currContainerRef.parentElement.getBoundingClientRect()[end];\n let lastTagEnd = tags[index - 1]?.getBoundingClientRect()[end];\n lastTagEnd += TAG_STYLES[scale].margin;\n let availableWidth = containerEnd - lastTagEnd;\n\n while (availableWidth < buttonsWidth && index > 0) {\n availableWidth += tagWidths.pop()!;\n index--;\n }\n }\n\n return {\n visibleTagCount: Math.max(index, 1),\n showCollapseButton: index < state.collection.size\n };\n };\n\n setTagState(function *() {\n // Update to show all items.\n yield {visibleTagCount: state.collection.size, showCollapseButton: true};\n\n // Measure, and update to show the items until maxRows is reached.\n yield computeVisibleTagCount();\n });\n }\n }, [maxRows, setTagState, direction, scale, state.collection.size]);\n\n useResizeObserver({ref: containerRef, onResize: updateVisibleTagCount});\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useLayoutEffect(updateVisibleTagCount, [children]);\n\n useEffect(() => {\n // Recalculate visible tags when fonts are loaded.\n document.fonts?.ready.then(() => updateVisibleTagCount());\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n let visibleTags = useMemo(() =>\n [...state.collection].slice(0, isCollapsed ? tagState.visibleTagCount : state.collection.size),\n [isCollapsed, state.collection, tagState.visibleTagCount]\n );\n\n let handlePressCollapse = () => {\n // Prevents button from losing focus if focusedKey got collapsed.\n state.selectionManager.setFocusedKey(null);\n setIsCollapsed(prevCollapsed => !prevCollapsed);\n };\n\n let showActions = tagState.showCollapseButton || (actionLabel && onAction);\n let isEmpty = state.collection.size === 0;\n\n let containerStyle = useMemo(() => {\n if (maxRows == null || !isCollapsed || isEmpty) {\n return undefined;\n }\n let maxHeight = (TAG_STYLES[scale].height + (TAG_STYLES[scale].margin * 2)) * maxRows;\n return {maxHeight, overflow: 'hidden'};\n }, [isCollapsed, maxRows, isEmpty, scale]);\n\n return (\n <FocusScope>\n <Field\n {...props}\n labelProps={labelProps}\n descriptionProps={descriptionProps}\n errorMessageProps={errorMessageProps}\n showErrorIcon\n ref={domRef}\n elementType=\"span\"\n wrapperClassName={\n classNames(\n styles,\n 'spectrum-Tags-fieldWrapper',\n {\n 'spectrum-Tags-fieldWrapper--positionSide': labelPosition === 'side'\n }\n )\n }>\n <div\n ref={containerRef}\n style={containerStyle}\n className={\n classNames(\n styles,\n 'spectrum-Tags-container',\n {\n 'spectrum-Tags-container--empty': isEmpty\n }\n )\n }>\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n ref={tagsRef}\n {...gridProps}\n className={classNames(styles, 'spectrum-Tags')}>\n {visibleTags.map(item => (\n <Tag\n {...item.props}\n key={item.key}\n item={item}\n state={state}>\n {item.rendered}\n </Tag>\n ))}\n {isEmpty && (\n <div className={classNames(styles, 'spectrum-Tags-empty-state')}>\n {renderEmptyState()}\n </div>\n )}\n </div>\n </FocusRing>\n {showActions && !isEmpty &&\n <Provider isDisabled={false}>\n <div\n role=\"group\"\n ref={actionsRef}\n id={actionsId}\n aria-label={stringFormatter.format('actions')}\n aria-labelledby={`${gridProps.id} ${actionsId}`}\n className={classNames(styles, 'spectrum-Tags-actions')}>\n {tagState.showCollapseButton &&\n <ActionButton\n isQuiet\n onPress={handlePressCollapse}\n UNSAFE_className={classNames(styles, 'spectrum-Tags-actionButton')}>\n {isCollapsed ?\n stringFormatter.format('showAllButtonLabel', {tagCount: state.collection.size}) :\n stringFormatter.format('hideButtonLabel')\n }\n </ActionButton>\n }\n {actionLabel && onAction &&\n <ActionButton\n isQuiet\n onPress={() => onAction?.()}\n UNSAFE_className={classNames(styles, 'spectrum-Tags-actionButton')}>\n {actionLabel}\n </ActionButton>\n }\n </div>\n </Provider>\n }\n </div>\n </Field>\n </FocusScope>\n );\n}) as <T>(props: SpectrumTagGroupProps<T> & {ref?: DOMRef<HTMLDivElement>}) => ReactNode;\n"],"names":[],"version":3,"file":"TagGroup.cjs.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;;;;;;;;;;;;AAmCD,MAAM,mCAAa;IACjB,QAAQ;QACN,QAAQ;QACR,QAAQ;IACV;IACA,OAAO;QACL,QAAQ;QACR,QAAQ;IACV;AACF;AAkCO,MAAM,0DAAW,CAAA,GAAA,sCAAI,EAAE,UAAU,CAAC,SAAS,SAChD,KAA+B,EAC/B,GAA2B;IAE3B,QAAQ,CAAA,GAAA,0CAAe,EAAE;IACzB,QAAQ,CAAA,GAAA,sCAAW,EAAE;IACrB,IAAI,WACF,OAAO,YACP,QAAQ,eACR,WAAW,YACX,QAAQ,iBACR,aAAa,oBACb,mBAAmB,IAAM,gBAAgB,MAAM,CAAC,WACjD,GAAG;IACJ,IAAI,SAAS,CAAA,GAAA,mCAAQ,EAAE;IACvB,IAAI,eAAe,CAAA,GAAA,mBAAK,EAAkB;IAC1C,IAAI,UAAU,CAAA,GAAA,mBAAK,EAAyB;IAC5C,IAAI,aAAC,SAAS,EAAC,GAAG,CAAA,GAAA,sCAAQ;IAC1B,IAAI,SAAC,KAAK,EAAC,GAAG,CAAA,GAAA,qCAAU;IACxB,IAAI,kBAAkB,CAAA,GAAA,uEAA0B,EAAE,CAAA,GAAA,mDAAW,GAAG;IAChE,IAAI,CAAC,aAAa,eAAe,GAAG,CAAA,GAAA,qBAAO,EAAE,WAAW;IACxD,IAAI,QAAQ,CAAA,GAAA,4CAAW,EAAE;IACzB,IAAI,CAAC,UAAU,YAAY,GAAG,CAAA,GAAA,yDAAa,EAAE;QAC3C,iBAAiB,MAAM,UAAU,CAAC,IAAI;QACtC,oBAAoB;IACtB;IACA,IAAI,mBAAmB,CAAA,GAAA,oBAAM,EAAE;QAC7B,IAAI,aACF,cACI,IAAI,CAAA,GAAA,2DAAa,EAAE;eAAI,MAAM,UAAU;SAAC,CAAC,KAAK,CAAC,GAAG,SAAS,eAAe,KAC1E,IAAI,CAAA,GAAA,2DAAa,EAAE;eAAI,MAAM,UAAU;SAAC;QAE9C,OAAO,IAAI,CAAA,GAAA,yDAAmB,EAAE;wBAC9B;YACA,KAAK;uBACL;YACA,aAAa;QACf;IACF,GAAG;QACD;QACA;QACA,MAAM,UAAU;QAChB,SAAS,eAAe;QACxB;KACD;IACD,qEAAqE;IACrE,OAAO,MAAM,QAAQ;IACrB,IAAI,aAAC,SAAS,cAAE,UAAU,oBAAE,gBAAgB,qBAAE,iBAAiB,EAAC,GAAG,CAAA,GAAA,uCAAU,EAC3E;QAAC,GAAG,KAAK;0BAAE;IAAgB,GAC3B,OACA;IAEF,IAAI,YAAY,CAAA,GAAA,2BAAI;IACpB,IAAI,aAAa,CAAA,GAAA,mBAAK,EAAkB;IAExC,IAAI,wBAAwB,CAAA,GAAA,wBAAU,EAAE;QACtC,IAAI,WAAW,UAAU,GAAG;YAC1B,IAAI,yBAAyB;gBAC3B,+BAA+B;gBAC/B,IAAI,mBAA0C,aAAa,OAAO;gBAClE,IAAI,cAAqC,QAAQ,OAAO;gBACxD,IAAI,iBAAwC,WAAW,OAAO;gBAC9D,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,kBAAkB,MAAM,UAAU,CAAC,IAAI,KAAK,GACpF,OAAO;oBACL,iBAAiB;oBACjB,oBAAoB;gBACtB;gBAGF,qDAAqD;gBACrD,IAAI,OAAO;uBAAI,YAAY,QAAQ;iBAAC;gBACpC,IAAI,QAAQ,CAAC;gBACb,IAAI,WAAW;gBACf,IAAI,QAAQ;gBACZ,IAAI,YAAsB,EAAE;gBAC5B,KAAK,IAAI,OAAO,KAAM;oBACpB,IAAI,SAAC,KAAK,KAAE,CAAC,EAAC,GAAG,IAAI,qBAAqB;oBAE1C,IAAI,MAAM,OAAO;wBACf,QAAQ;wBACR;oBACF;oBAEA,IAAI,WAAW,WAAW,SACxB;oBAEF,UAAU,IAAI,CAAC;oBACf;gBACF;gBAEA,2GAA2G;gBAC3G,IAAI,UAAU;uBAAI,eAAe,QAAQ;iBAAC;gBAC1C,IACE,WACA,QAAQ,MAAM,GAAG,KACjB,YAAY,WACZ,iBAAiB,aAAa,EAC9B;oBACA,IAAI,eAAe,QAAQ,MAAM,CAC/B,CAAC,KAAK,OAAU,OAAO,KAAK,qBAAqB,GAAG,KAAK,EACzD;oBAEF,gBAAgB,gCAAU,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,QAAQ,MAAM;oBAC7D,IAAI,MAAM,cAAc,QAAQ,UAAU;oBAC1C,IAAI,eAAe,iBAAiB,aAAa,CAAC,qBAAqB,EAAE,CAAC,IAAI;oBAC9E,IAAI,aAAa,IAAI,CAAC,QAAQ,EAAE,EAAE,uBAAuB,CAAC,IAAI;oBAC9D,cAAc,gCAAU,CAAC,MAAM,CAAC,MAAM;oBACtC,IAAI,iBAAiB,eAAe;oBAEpC,MAAO,iBAAiB,gBAAgB,QAAQ,EAAG;wBACjD,kBAAkB,UAAU,GAAG;wBAC/B;oBACF;gBACF;gBAEA,OAAO;oBACL,iBAAiB,KAAK,GAAG,CAAC,OAAO;oBACjC,oBAAoB,QAAQ,MAAM,UAAU,CAAC,IAAI;gBACnD;YACF;YAEA,YAAY;gBACV,4BAA4B;gBAC5B,MAAM;oBAAC,iBAAiB,MAAM,UAAU,CAAC,IAAI;oBAAE,oBAAoB;gBAAI;gBAEvE,kEAAkE;gBAClE,MAAM;YACR;QACF;IACF,GAAG;QAAC;QAAS;QAAa;QAAW;QAAO,MAAM,UAAU,CAAC,IAAI;KAAC;IAElE,CAAA,GAAA,+DAAgB,EAAE;QAAC,KAAK;QAAc,UAAU;IAAqB;IACrE,uDAAuD;IACvD,CAAA,GAAA,2DAAc,EAAE,uBAAuB;QAAC;KAAS;IAEjD,CAAA,GAAA,sBAAQ,EAAE;QACR,kDAAkD;QAClD,SAAS,KAAK,EAAE,MAAM,KAAK,IAAM;IACjC,uDAAuD;IACzD,GAAG,EAAE;IAEL,IAAI,cAAc,CAAA,GAAA,oBAAM,EACtB,IACE;eAAI,MAAM,UAAU;SAAC,CAAC,KAAK,CACzB,GACA,cAAc,SAAS,eAAe,GAAG,MAAM,UAAU,CAAC,IAAI,GAElE;QAAC;QAAa,MAAM,UAAU;QAAE,SAAS,eAAe;KAAC;IAG3D,IAAI,sBAAsB;QACxB,iEAAiE;QACjE,MAAM,gBAAgB,CAAC,aAAa,CAAC;QACrC,eAAe,CAAA,gBAAiB,CAAC;IACnC;IAEA,IAAI,cAAc,SAAS,kBAAkB,IAAK,eAAe;IACjE,IAAI,UAAU,MAAM,UAAU,CAAC,IAAI,KAAK;IAExC,IAAI,iBAAiB,CAAA,GAAA,oBAAM,EAAE;QAC3B,IAAI,WAAW,QAAQ,CAAC,eAAe,SACrC,OAAO;QAET,IAAI,YAAY,AAAC,CAAA,gCAAU,CAAC,MAAM,CAAC,MAAM,GAAG,gCAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAA,IAAK;QAC5E,OAAO;uBAAC;YAAW,UAAU;QAAQ;IACvC,GAAG;QAAC;QAAa;QAAS;QAAS;KAAM;IAEzC,qBACE,0DAAC,CAAA,GAAA,qCAAS,uBACR,0DAAC,CAAA,GAAA,+BAAI;QACF,GAAG,KAAK;QACT,YAAY;QACZ,kBAAkB;QAClB,mBAAmB;QACnB,eAAA;QACA,KAAK;QACL,aAAY;QACZ,kBAAkB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG,8BAA8B;YACjE,4CAA4C,kBAAkB;QAChE;qBACA,0DAAC;QACC,KAAK;QACL,OAAO;QACP,WAAW,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG,2BAA2B;YACvD,kCAAkC;QACpC;qBACA,0DAAC,CAAA,GAAA,mCAAQ;QAAE,gBAAgB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;qBAC5C,0DAAC;QAAI,KAAK;QAAU,GAAG,SAAS;QAAE,WAAW,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;OAC7D,YAAY,GAAG,CAAC,CAAA,qBACf,0DAAC,CAAA,GAAA,6BAAE;YAAG,GAAG,KAAK,KAAK;YAAE,KAAK,KAAK,GAAG;YAAE,MAAM;YAAM,OAAO;WACpD,KAAK,QAAQ,IAGjB,yBACC,0DAAC;QAAI,WAAW,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;OAChC,uBAKR,eAAe,CAAC,yBACf,0DAAC,CAAA,GAAA,kCAAO;QAAE,YAAY;qBACpB,0DAAC;QACC,MAAK;QACL,KAAK;QACL,IAAI;QACJ,cAAY,gBAAgB,MAAM,CAAC;QACnC,mBAAiB,GAAG,UAAU,EAAE,CAAC,CAAC,EAAE,WAAW;QAC/C,WAAW,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;OAC7B,SAAS,kBAAkB,kBAC1B,0DAAC,CAAA,GAAA,sCAAW;QACV,SAAA;QACA,SAAS;QACT,kBAAkB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;OACpC,cACG,gBAAgB,MAAM,CAAC,sBAAsB;QAC3C,UAAU,MAAM,UAAU,CAAC,IAAI;IACjC,KACA,gBAAgB,MAAM,CAAC,qBAG9B,eAAe,0BACd,0DAAC,CAAA,GAAA,sCAAW;QACV,SAAA;QACA,SAAS,IAAM;QACf,kBAAkB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;OACpC;AAUrB","sources":["packages/@adobe/react-spectrum/src/tag/TagGroup.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 {ActionButton} from '../button/ActionButton';\n\nimport {AriaTagGroupProps, useTagGroup} from 'react-aria/useTagGroup';\nimport {classNames} from '../utils/classNames';\nimport {\n Collection,\n DOMRef,\n Node,\n SpectrumLabelableProps,\n StyleProps,\n Validation\n} from '@react-types/shared';\nimport {Field} from '../label/Field';\nimport {FocusRing} from 'react-aria/FocusRing';\nimport {FocusScope} from 'react-aria/FocusScope';\nimport intlMessages from '../../intl/tag/*.json';\n// @ts-ignore\nimport {ListCollection} from 'react-stately/private/list/ListCollection';\nimport {ListKeyboardDelegate} from 'react-aria/ListKeyboardDelegate';\nimport {Provider, useProvider, useProviderProps} from '../provider/Provider';\nimport React, {JSX, ReactNode, useCallback, useEffect, useMemo, useRef, useState} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/tags/vars.css';\nimport {Tag} from './Tag';\nimport {useDOMRef} from '../utils/useDOMRef';\nimport {useFormProps} from '../form/Form';\nimport {useId} from 'react-aria/useId';\nimport {useLayoutEffect} from 'react-aria/private/utils/useLayoutEffect';\nimport {useListState} from 'react-stately/useListState';\nimport {useLocale} from 'react-aria/I18nProvider';\nimport {useLocalizedStringFormatter} from 'react-aria/useLocalizedStringFormatter';\nimport {useResizeObserver} from 'react-aria/private/utils/useResizeObserver';\nimport {useValueEffect} from 'react-aria/private/utils/useValueEffect';\n\nconst TAG_STYLES = {\n medium: {\n height: 24,\n margin: 4\n },\n large: {\n height: 30,\n margin: 5\n }\n};\n\nexport interface SpectrumTagGroupProps<T>\n extends\n Omit<\n AriaTagGroupProps<T>,\n | 'selectionMode'\n | 'disallowEmptySelection'\n | 'selectedKeys'\n | 'defaultSelectedKeys'\n | 'onSelectionChange'\n | 'selectionBehavior'\n | 'disabledKeys'\n >,\n StyleProps,\n Omit<SpectrumLabelableProps, 'isRequired' | 'necessityIndicator'>,\n Pick<Validation<any>, 'isInvalid' | 'validationState'> {\n /** The label to display on the action button. */\n actionLabel?: string;\n /** Handler that is called when the action button is pressed. */\n onAction?: () => void;\n /** Sets what the TagGroup should render when there are no tags to display. */\n renderEmptyState?: () => JSX.Element;\n /**\n * Limit the number of rows initially shown. This will render a button that allows the user to\n * expand to show all tags.\n */\n maxRows?: number;\n}\n\n/**\n * Tags allow users to categorize content. They can represent keywords or people, and are grouped to\n * describe an item or a search request.\n */\nexport const TagGroup = React.forwardRef(function TagGroup<T extends object>(\n props: SpectrumTagGroupProps<T>,\n ref: DOMRef<HTMLDivElement>\n) {\n props = useProviderProps(props);\n props = useFormProps(props);\n let {\n maxRows,\n children,\n actionLabel,\n onAction,\n labelPosition,\n renderEmptyState = () => stringFormatter.format('noTags')\n } = props;\n let domRef = useDOMRef(ref);\n let containerRef = useRef<HTMLDivElement>(null);\n let tagsRef = useRef<HTMLDivElement | null>(null);\n let {direction} = useLocale();\n let {scale} = useProvider();\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/tag');\n let [isCollapsed, setIsCollapsed] = useState(maxRows != null);\n let state = useListState(props);\n let [tagState, setTagState] = useValueEffect({\n visibleTagCount: state.collection.size,\n showCollapseButton: false\n });\n let keyboardDelegate = useMemo(() => {\n let collection = (\n isCollapsed\n ? new ListCollection([...state.collection].slice(0, tagState.visibleTagCount))\n : new ListCollection([...state.collection])\n ) as Collection<Node<T>>;\n return new ListKeyboardDelegate({\n collection,\n ref: tagsRef,\n direction,\n orientation: 'horizontal'\n });\n }, [\n direction,\n isCollapsed,\n state.collection,\n tagState.visibleTagCount,\n tagsRef\n ]) as ListKeyboardDelegate<T>;\n // Remove onAction from props so it doesn't make it into useGridList.\n delete props.onAction;\n let {gridProps, labelProps, descriptionProps, errorMessageProps} = useTagGroup(\n {...props, keyboardDelegate},\n state,\n tagsRef\n );\n let actionsId = useId();\n let actionsRef = useRef<HTMLDivElement>(null);\n\n let updateVisibleTagCount = useCallback(() => {\n if (maxRows && maxRows > 0) {\n let computeVisibleTagCount = () => {\n // Refs can be null at runtime.\n let currContainerRef: HTMLDivElement | null = containerRef.current;\n let currTagsRef: HTMLDivElement | null = tagsRef.current;\n let currActionsRef: HTMLDivElement | null = actionsRef.current;\n if (!currContainerRef || !currTagsRef || !currActionsRef || state.collection.size === 0) {\n return {\n visibleTagCount: 0,\n showCollapseButton: false\n };\n }\n\n // Count rows and show tags until we hit the maxRows.\n let tags = [...currTagsRef.children];\n let currY = -Infinity;\n let rowCount = 0;\n let index = 0;\n let tagWidths: number[] = [];\n for (let tag of tags) {\n let {width, y} = tag.getBoundingClientRect();\n\n if (y !== currY) {\n currY = y;\n rowCount++;\n }\n\n if (maxRows && rowCount > maxRows) {\n break;\n }\n tagWidths.push(width);\n index++;\n }\n\n // Remove tags until there is space for the collapse button and action button (if present) on the last row.\n let buttons = [...currActionsRef.children];\n if (\n maxRows &&\n buttons.length > 0 &&\n rowCount >= maxRows &&\n currContainerRef.parentElement\n ) {\n let buttonsWidth = buttons.reduce(\n (acc, curr) => (acc += curr.getBoundingClientRect().width),\n 0\n );\n buttonsWidth += TAG_STYLES[scale].margin * 2 * buttons.length;\n let end = direction === 'ltr' ? 'right' : 'left';\n let containerEnd = currContainerRef.parentElement.getBoundingClientRect()[end];\n let lastTagEnd = tags[index - 1]?.getBoundingClientRect()[end];\n lastTagEnd += TAG_STYLES[scale].margin;\n let availableWidth = containerEnd - lastTagEnd;\n\n while (availableWidth < buttonsWidth && index > 0) {\n availableWidth += tagWidths.pop()!;\n index--;\n }\n }\n\n return {\n visibleTagCount: Math.max(index, 1),\n showCollapseButton: index < state.collection.size\n };\n };\n\n setTagState(function* () {\n // Update to show all items.\n yield {visibleTagCount: state.collection.size, showCollapseButton: true};\n\n // Measure, and update to show the items until maxRows is reached.\n yield computeVisibleTagCount();\n });\n }\n }, [maxRows, setTagState, direction, scale, state.collection.size]);\n\n useResizeObserver({ref: containerRef, onResize: updateVisibleTagCount});\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useLayoutEffect(updateVisibleTagCount, [children]);\n\n useEffect(() => {\n // Recalculate visible tags when fonts are loaded.\n document.fonts?.ready.then(() => updateVisibleTagCount());\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n let visibleTags = useMemo(\n () =>\n [...state.collection].slice(\n 0,\n isCollapsed ? tagState.visibleTagCount : state.collection.size\n ),\n [isCollapsed, state.collection, tagState.visibleTagCount]\n );\n\n let handlePressCollapse = () => {\n // Prevents button from losing focus if focusedKey got collapsed.\n state.selectionManager.setFocusedKey(null);\n setIsCollapsed(prevCollapsed => !prevCollapsed);\n };\n\n let showActions = tagState.showCollapseButton || (actionLabel && onAction);\n let isEmpty = state.collection.size === 0;\n\n let containerStyle = useMemo(() => {\n if (maxRows == null || !isCollapsed || isEmpty) {\n return undefined;\n }\n let maxHeight = (TAG_STYLES[scale].height + TAG_STYLES[scale].margin * 2) * maxRows;\n return {maxHeight, overflow: 'hidden'};\n }, [isCollapsed, maxRows, isEmpty, scale]);\n\n return (\n <FocusScope>\n <Field\n {...props}\n labelProps={labelProps}\n descriptionProps={descriptionProps}\n errorMessageProps={errorMessageProps}\n showErrorIcon\n ref={domRef}\n elementType=\"span\"\n wrapperClassName={classNames(styles, 'spectrum-Tags-fieldWrapper', {\n 'spectrum-Tags-fieldWrapper--positionSide': labelPosition === 'side'\n })}>\n <div\n ref={containerRef}\n style={containerStyle}\n className={classNames(styles, 'spectrum-Tags-container', {\n 'spectrum-Tags-container--empty': isEmpty\n })}>\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div ref={tagsRef} {...gridProps} className={classNames(styles, 'spectrum-Tags')}>\n {visibleTags.map(item => (\n <Tag {...item.props} key={item.key} item={item} state={state}>\n {item.rendered}\n </Tag>\n ))}\n {isEmpty && (\n <div className={classNames(styles, 'spectrum-Tags-empty-state')}>\n {renderEmptyState()}\n </div>\n )}\n </div>\n </FocusRing>\n {showActions && !isEmpty && (\n <Provider isDisabled={false}>\n <div\n role=\"group\"\n ref={actionsRef}\n id={actionsId}\n aria-label={stringFormatter.format('actions')}\n aria-labelledby={`${gridProps.id} ${actionsId}`}\n className={classNames(styles, 'spectrum-Tags-actions')}>\n {tagState.showCollapseButton && (\n <ActionButton\n isQuiet\n onPress={handlePressCollapse}\n UNSAFE_className={classNames(styles, 'spectrum-Tags-actionButton')}>\n {isCollapsed\n ? stringFormatter.format('showAllButtonLabel', {\n tagCount: state.collection.size\n })\n : stringFormatter.format('hideButtonLabel')}\n </ActionButton>\n )}\n {actionLabel && onAction && (\n <ActionButton\n isQuiet\n onPress={() => onAction?.()}\n UNSAFE_className={classNames(styles, 'spectrum-Tags-actionButton')}>\n {actionLabel}\n </ActionButton>\n )}\n </div>\n </Provider>\n )}\n </div>\n </Field>\n </FocusScope>\n );\n}) as <T>(props: SpectrumTagGroupProps<T> & {ref?: DOMRef<HTMLDivElement>}) => ReactNode;\n"],"names":[],"version":3,"file":"TagGroup.cjs.map"}
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@adobe/react-spectrum/src/tag/TagGroup.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 {ActionButton} from '../button/ActionButton';\n\nimport {AriaTagGroupProps, useTagGroup} from 'react-aria/useTagGroup';\nimport {classNames} from '../utils/classNames';\nimport {Collection, DOMRef, Node, SpectrumLabelableProps, StyleProps, Validation} from '@react-types/shared';\nimport {Field} from '../label/Field';\nimport {FocusRing} from 'react-aria/FocusRing';\nimport {FocusScope} from 'react-aria/FocusScope';\nimport intlMessages from '../../intl/tag/*.json';\n// @ts-ignore\nimport {ListCollection} from 'react-stately/private/list/ListCollection';\nimport {ListKeyboardDelegate} from 'react-aria/ListKeyboardDelegate';\nimport {Provider, useProvider, useProviderProps} from '../provider/Provider';\nimport React, {JSX, ReactNode, useCallback, useEffect, useMemo, useRef, useState} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/tags/vars.css';\nimport {Tag} from './Tag';\nimport {useDOMRef} from '../utils/useDOMRef';\nimport {useFormProps} from '../form/Form';\nimport {useId} from 'react-aria/useId';\nimport {useLayoutEffect} from 'react-aria/private/utils/useLayoutEffect';\nimport {useListState} from 'react-stately/useListState';\nimport {useLocale} from 'react-aria/I18nProvider';\nimport {useLocalizedStringFormatter} from 'react-aria/useLocalizedStringFormatter';\nimport {useResizeObserver} from 'react-aria/private/utils/useResizeObserver';\nimport {useValueEffect} from 'react-aria/private/utils/useValueEffect';\n\nconst TAG_STYLES = {\n medium: {\n height: 24,\n margin: 4\n },\n large: {\n height: 30,\n margin: 5\n }\n};\n\nexport interface SpectrumTagGroupProps<T> extends Omit<AriaTagGroupProps<T>, 'selectionMode' | 'disallowEmptySelection' | 'selectedKeys' | 'defaultSelectedKeys' | 'onSelectionChange' | 'selectionBehavior' | 'disabledKeys'>, StyleProps, Omit<SpectrumLabelableProps, 'isRequired' | 'necessityIndicator'>, Pick<Validation<any>, 'isInvalid' | 'validationState'> {\n /** The label to display on the action button. */\n actionLabel?: string,\n /** Handler that is called when the action button is pressed. */\n onAction?: () => void,\n /** Sets what the TagGroup should render when there are no tags to display. */\n renderEmptyState?: () => JSX.Element,\n /** Limit the number of rows initially shown. This will render a button that allows the user to expand to show all tags. */\n maxRows?: number\n}\n\n/** Tags allow users to categorize content. They can represent keywords or people, and are grouped to describe an item or a search request. */\nexport const TagGroup = React.forwardRef(function TagGroup<T extends object>(props: SpectrumTagGroupProps<T>, ref: DOMRef<HTMLDivElement>) {\n props = useProviderProps(props);\n props = useFormProps(props);\n let {\n maxRows,\n children,\n actionLabel,\n onAction,\n labelPosition,\n renderEmptyState = () => stringFormatter.format('noTags')\n } = props;\n let domRef = useDOMRef(ref);\n let containerRef = useRef<HTMLDivElement>(null);\n let tagsRef = useRef<HTMLDivElement | null>(null);\n let {direction} = useLocale();\n let {scale} = useProvider();\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/tag');\n let [isCollapsed, setIsCollapsed] = useState(maxRows != null);\n let state = useListState(props);\n let [tagState, setTagState] = useValueEffect({visibleTagCount: state.collection.size, showCollapseButton: false});\n let keyboardDelegate = useMemo(() => {\n let collection = (isCollapsed\n ? new ListCollection([...state.collection].slice(0, tagState.visibleTagCount))\n : new ListCollection([...state.collection])) as Collection<Node<T>>;\n return new ListKeyboardDelegate({\n collection,\n ref: tagsRef,\n direction,\n orientation: 'horizontal'\n });\n }, [direction, isCollapsed, state.collection, tagState.visibleTagCount, tagsRef]) as ListKeyboardDelegate<T>;\n // Remove onAction from props so it doesn't make it into useGridList.\n delete props.onAction;\n let {gridProps, labelProps, descriptionProps, errorMessageProps} = useTagGroup({...props, keyboardDelegate}, state, tagsRef);\n let actionsId = useId();\n let actionsRef = useRef<HTMLDivElement>(null);\n\n let updateVisibleTagCount = useCallback(() => {\n if (maxRows && maxRows > 0) {\n let computeVisibleTagCount = () => {\n // Refs can be null at runtime.\n let currContainerRef: HTMLDivElement | null = containerRef.current;\n let currTagsRef: HTMLDivElement | null = tagsRef.current;\n let currActionsRef: HTMLDivElement | null = actionsRef.current;\n if (!currContainerRef || !currTagsRef || !currActionsRef || state.collection.size === 0) {\n return {\n visibleTagCount: 0,\n showCollapseButton: false\n };\n }\n\n // Count rows and show tags until we hit the maxRows.\n let tags = [...currTagsRef.children];\n let currY = -Infinity;\n let rowCount = 0;\n let index = 0;\n let tagWidths: number[] = [];\n for (let tag of tags) {\n let {width, y} = tag.getBoundingClientRect();\n\n if (y !== currY) {\n currY = y;\n rowCount++;\n }\n\n if (maxRows && rowCount > maxRows) {\n break;\n }\n tagWidths.push(width);\n index++;\n }\n\n // Remove tags until there is space for the collapse button and action button (if present) on the last row.\n let buttons = [...currActionsRef.children];\n if (maxRows && buttons.length > 0 && rowCount >= maxRows && currContainerRef.parentElement) {\n let buttonsWidth = buttons.reduce((acc, curr) => acc += curr.getBoundingClientRect().width, 0);\n buttonsWidth += TAG_STYLES[scale].margin * 2 * buttons.length;\n let end = direction === 'ltr' ? 'right' : 'left';\n let containerEnd = currContainerRef.parentElement.getBoundingClientRect()[end];\n let lastTagEnd = tags[index - 1]?.getBoundingClientRect()[end];\n lastTagEnd += TAG_STYLES[scale].margin;\n let availableWidth = containerEnd - lastTagEnd;\n\n while (availableWidth < buttonsWidth && index > 0) {\n availableWidth += tagWidths.pop()!;\n index--;\n }\n }\n\n return {\n visibleTagCount: Math.max(index, 1),\n showCollapseButton: index < state.collection.size\n };\n };\n\n setTagState(function *() {\n // Update to show all items.\n yield {visibleTagCount: state.collection.size, showCollapseButton: true};\n\n // Measure, and update to show the items until maxRows is reached.\n yield computeVisibleTagCount();\n });\n }\n }, [maxRows, setTagState, direction, scale, state.collection.size]);\n\n useResizeObserver({ref: containerRef, onResize: updateVisibleTagCount});\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useLayoutEffect(updateVisibleTagCount, [children]);\n\n useEffect(() => {\n // Recalculate visible tags when fonts are loaded.\n document.fonts?.ready.then(() => updateVisibleTagCount());\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n let visibleTags = useMemo(() =>\n [...state.collection].slice(0, isCollapsed ? tagState.visibleTagCount : state.collection.size),\n [isCollapsed, state.collection, tagState.visibleTagCount]\n );\n\n let handlePressCollapse = () => {\n // Prevents button from losing focus if focusedKey got collapsed.\n state.selectionManager.setFocusedKey(null);\n setIsCollapsed(prevCollapsed => !prevCollapsed);\n };\n\n let showActions = tagState.showCollapseButton || (actionLabel && onAction);\n let isEmpty = state.collection.size === 0;\n\n let containerStyle = useMemo(() => {\n if (maxRows == null || !isCollapsed || isEmpty) {\n return undefined;\n }\n let maxHeight = (TAG_STYLES[scale].height + (TAG_STYLES[scale].margin * 2)) * maxRows;\n return {maxHeight, overflow: 'hidden'};\n }, [isCollapsed, maxRows, isEmpty, scale]);\n\n return (\n <FocusScope>\n <Field\n {...props}\n labelProps={labelProps}\n descriptionProps={descriptionProps}\n errorMessageProps={errorMessageProps}\n showErrorIcon\n ref={domRef}\n elementType=\"span\"\n wrapperClassName={\n classNames(\n styles,\n 'spectrum-Tags-fieldWrapper',\n {\n 'spectrum-Tags-fieldWrapper--positionSide': labelPosition === 'side'\n }\n )\n }>\n <div\n ref={containerRef}\n style={containerStyle}\n className={\n classNames(\n styles,\n 'spectrum-Tags-container',\n {\n 'spectrum-Tags-container--empty': isEmpty\n }\n )\n }>\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n ref={tagsRef}\n {...gridProps}\n className={classNames(styles, 'spectrum-Tags')}>\n {visibleTags.map(item => (\n <Tag\n {...item.props}\n key={item.key}\n item={item}\n state={state}>\n {item.rendered}\n </Tag>\n ))}\n {isEmpty && (\n <div className={classNames(styles, 'spectrum-Tags-empty-state')}>\n {renderEmptyState()}\n </div>\n )}\n </div>\n </FocusRing>\n {showActions && !isEmpty &&\n <Provider isDisabled={false}>\n <div\n role=\"group\"\n ref={actionsRef}\n id={actionsId}\n aria-label={stringFormatter.format('actions')}\n aria-labelledby={`${gridProps.id} ${actionsId}`}\n className={classNames(styles, 'spectrum-Tags-actions')}>\n {tagState.showCollapseButton &&\n <ActionButton\n isQuiet\n onPress={handlePressCollapse}\n UNSAFE_className={classNames(styles, 'spectrum-Tags-actionButton')}>\n {isCollapsed ?\n stringFormatter.format('showAllButtonLabel', {tagCount: state.collection.size}) :\n stringFormatter.format('hideButtonLabel')\n }\n </ActionButton>\n }\n {actionLabel && onAction &&\n <ActionButton\n isQuiet\n onPress={() => onAction?.()}\n UNSAFE_className={classNames(styles, 'spectrum-Tags-actionButton')}>\n {actionLabel}\n </ActionButton>\n }\n </div>\n </Provider>\n }\n </div>\n </Field>\n </FocusScope>\n );\n}) as <T>(props: SpectrumTagGroupProps<T> & {ref?: DOMRef<HTMLDivElement>}) => ReactNode;\n"],"names":[],"version":3,"file":"TagGroup.js.map"}
1
+ {"mappings":"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","sources":["packages/@adobe/react-spectrum/src/tag/TagGroup.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 {ActionButton} from '../button/ActionButton';\n\nimport {AriaTagGroupProps, useTagGroup} from 'react-aria/useTagGroup';\nimport {classNames} from '../utils/classNames';\nimport {\n Collection,\n DOMRef,\n Node,\n SpectrumLabelableProps,\n StyleProps,\n Validation\n} from '@react-types/shared';\nimport {Field} from '../label/Field';\nimport {FocusRing} from 'react-aria/FocusRing';\nimport {FocusScope} from 'react-aria/FocusScope';\nimport intlMessages from '../../intl/tag/*.json';\n// @ts-ignore\nimport {ListCollection} from 'react-stately/private/list/ListCollection';\nimport {ListKeyboardDelegate} from 'react-aria/ListKeyboardDelegate';\nimport {Provider, useProvider, useProviderProps} from '../provider/Provider';\nimport React, {JSX, ReactNode, useCallback, useEffect, useMemo, useRef, useState} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/tags/vars.css';\nimport {Tag} from './Tag';\nimport {useDOMRef} from '../utils/useDOMRef';\nimport {useFormProps} from '../form/Form';\nimport {useId} from 'react-aria/useId';\nimport {useLayoutEffect} from 'react-aria/private/utils/useLayoutEffect';\nimport {useListState} from 'react-stately/useListState';\nimport {useLocale} from 'react-aria/I18nProvider';\nimport {useLocalizedStringFormatter} from 'react-aria/useLocalizedStringFormatter';\nimport {useResizeObserver} from 'react-aria/private/utils/useResizeObserver';\nimport {useValueEffect} from 'react-aria/private/utils/useValueEffect';\n\nconst TAG_STYLES = {\n medium: {\n height: 24,\n margin: 4\n },\n large: {\n height: 30,\n margin: 5\n }\n};\n\nexport interface SpectrumTagGroupProps<T>\n extends\n Omit<\n AriaTagGroupProps<T>,\n | 'selectionMode'\n | 'disallowEmptySelection'\n | 'selectedKeys'\n | 'defaultSelectedKeys'\n | 'onSelectionChange'\n | 'selectionBehavior'\n | 'disabledKeys'\n >,\n StyleProps,\n Omit<SpectrumLabelableProps, 'isRequired' | 'necessityIndicator'>,\n Pick<Validation<any>, 'isInvalid' | 'validationState'> {\n /** The label to display on the action button. */\n actionLabel?: string;\n /** Handler that is called when the action button is pressed. */\n onAction?: () => void;\n /** Sets what the TagGroup should render when there are no tags to display. */\n renderEmptyState?: () => JSX.Element;\n /**\n * Limit the number of rows initially shown. This will render a button that allows the user to\n * expand to show all tags.\n */\n maxRows?: number;\n}\n\n/**\n * Tags allow users to categorize content. They can represent keywords or people, and are grouped to\n * describe an item or a search request.\n */\nexport const TagGroup = React.forwardRef(function TagGroup<T extends object>(\n props: SpectrumTagGroupProps<T>,\n ref: DOMRef<HTMLDivElement>\n) {\n props = useProviderProps(props);\n props = useFormProps(props);\n let {\n maxRows,\n children,\n actionLabel,\n onAction,\n labelPosition,\n renderEmptyState = () => stringFormatter.format('noTags')\n } = props;\n let domRef = useDOMRef(ref);\n let containerRef = useRef<HTMLDivElement>(null);\n let tagsRef = useRef<HTMLDivElement | null>(null);\n let {direction} = useLocale();\n let {scale} = useProvider();\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/tag');\n let [isCollapsed, setIsCollapsed] = useState(maxRows != null);\n let state = useListState(props);\n let [tagState, setTagState] = useValueEffect({\n visibleTagCount: state.collection.size,\n showCollapseButton: false\n });\n let keyboardDelegate = useMemo(() => {\n let collection = (\n isCollapsed\n ? new ListCollection([...state.collection].slice(0, tagState.visibleTagCount))\n : new ListCollection([...state.collection])\n ) as Collection<Node<T>>;\n return new ListKeyboardDelegate({\n collection,\n ref: tagsRef,\n direction,\n orientation: 'horizontal'\n });\n }, [\n direction,\n isCollapsed,\n state.collection,\n tagState.visibleTagCount,\n tagsRef\n ]) as ListKeyboardDelegate<T>;\n // Remove onAction from props so it doesn't make it into useGridList.\n delete props.onAction;\n let {gridProps, labelProps, descriptionProps, errorMessageProps} = useTagGroup(\n {...props, keyboardDelegate},\n state,\n tagsRef\n );\n let actionsId = useId();\n let actionsRef = useRef<HTMLDivElement>(null);\n\n let updateVisibleTagCount = useCallback(() => {\n if (maxRows && maxRows > 0) {\n let computeVisibleTagCount = () => {\n // Refs can be null at runtime.\n let currContainerRef: HTMLDivElement | null = containerRef.current;\n let currTagsRef: HTMLDivElement | null = tagsRef.current;\n let currActionsRef: HTMLDivElement | null = actionsRef.current;\n if (!currContainerRef || !currTagsRef || !currActionsRef || state.collection.size === 0) {\n return {\n visibleTagCount: 0,\n showCollapseButton: false\n };\n }\n\n // Count rows and show tags until we hit the maxRows.\n let tags = [...currTagsRef.children];\n let currY = -Infinity;\n let rowCount = 0;\n let index = 0;\n let tagWidths: number[] = [];\n for (let tag of tags) {\n let {width, y} = tag.getBoundingClientRect();\n\n if (y !== currY) {\n currY = y;\n rowCount++;\n }\n\n if (maxRows && rowCount > maxRows) {\n break;\n }\n tagWidths.push(width);\n index++;\n }\n\n // Remove tags until there is space for the collapse button and action button (if present) on the last row.\n let buttons = [...currActionsRef.children];\n if (\n maxRows &&\n buttons.length > 0 &&\n rowCount >= maxRows &&\n currContainerRef.parentElement\n ) {\n let buttonsWidth = buttons.reduce(\n (acc, curr) => (acc += curr.getBoundingClientRect().width),\n 0\n );\n buttonsWidth += TAG_STYLES[scale].margin * 2 * buttons.length;\n let end = direction === 'ltr' ? 'right' : 'left';\n let containerEnd = currContainerRef.parentElement.getBoundingClientRect()[end];\n let lastTagEnd = tags[index - 1]?.getBoundingClientRect()[end];\n lastTagEnd += TAG_STYLES[scale].margin;\n let availableWidth = containerEnd - lastTagEnd;\n\n while (availableWidth < buttonsWidth && index > 0) {\n availableWidth += tagWidths.pop()!;\n index--;\n }\n }\n\n return {\n visibleTagCount: Math.max(index, 1),\n showCollapseButton: index < state.collection.size\n };\n };\n\n setTagState(function* () {\n // Update to show all items.\n yield {visibleTagCount: state.collection.size, showCollapseButton: true};\n\n // Measure, and update to show the items until maxRows is reached.\n yield computeVisibleTagCount();\n });\n }\n }, [maxRows, setTagState, direction, scale, state.collection.size]);\n\n useResizeObserver({ref: containerRef, onResize: updateVisibleTagCount});\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useLayoutEffect(updateVisibleTagCount, [children]);\n\n useEffect(() => {\n // Recalculate visible tags when fonts are loaded.\n document.fonts?.ready.then(() => updateVisibleTagCount());\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n let visibleTags = useMemo(\n () =>\n [...state.collection].slice(\n 0,\n isCollapsed ? tagState.visibleTagCount : state.collection.size\n ),\n [isCollapsed, state.collection, tagState.visibleTagCount]\n );\n\n let handlePressCollapse = () => {\n // Prevents button from losing focus if focusedKey got collapsed.\n state.selectionManager.setFocusedKey(null);\n setIsCollapsed(prevCollapsed => !prevCollapsed);\n };\n\n let showActions = tagState.showCollapseButton || (actionLabel && onAction);\n let isEmpty = state.collection.size === 0;\n\n let containerStyle = useMemo(() => {\n if (maxRows == null || !isCollapsed || isEmpty) {\n return undefined;\n }\n let maxHeight = (TAG_STYLES[scale].height + TAG_STYLES[scale].margin * 2) * maxRows;\n return {maxHeight, overflow: 'hidden'};\n }, [isCollapsed, maxRows, isEmpty, scale]);\n\n return (\n <FocusScope>\n <Field\n {...props}\n labelProps={labelProps}\n descriptionProps={descriptionProps}\n errorMessageProps={errorMessageProps}\n showErrorIcon\n ref={domRef}\n elementType=\"span\"\n wrapperClassName={classNames(styles, 'spectrum-Tags-fieldWrapper', {\n 'spectrum-Tags-fieldWrapper--positionSide': labelPosition === 'side'\n })}>\n <div\n ref={containerRef}\n style={containerStyle}\n className={classNames(styles, 'spectrum-Tags-container', {\n 'spectrum-Tags-container--empty': isEmpty\n })}>\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div ref={tagsRef} {...gridProps} className={classNames(styles, 'spectrum-Tags')}>\n {visibleTags.map(item => (\n <Tag {...item.props} key={item.key} item={item} state={state}>\n {item.rendered}\n </Tag>\n ))}\n {isEmpty && (\n <div className={classNames(styles, 'spectrum-Tags-empty-state')}>\n {renderEmptyState()}\n </div>\n )}\n </div>\n </FocusRing>\n {showActions && !isEmpty && (\n <Provider isDisabled={false}>\n <div\n role=\"group\"\n ref={actionsRef}\n id={actionsId}\n aria-label={stringFormatter.format('actions')}\n aria-labelledby={`${gridProps.id} ${actionsId}`}\n className={classNames(styles, 'spectrum-Tags-actions')}>\n {tagState.showCollapseButton && (\n <ActionButton\n isQuiet\n onPress={handlePressCollapse}\n UNSAFE_className={classNames(styles, 'spectrum-Tags-actionButton')}>\n {isCollapsed\n ? stringFormatter.format('showAllButtonLabel', {\n tagCount: state.collection.size\n })\n : stringFormatter.format('hideButtonLabel')}\n </ActionButton>\n )}\n {actionLabel && onAction && (\n <ActionButton\n isQuiet\n onPress={() => onAction?.()}\n UNSAFE_className={classNames(styles, 'spectrum-Tags-actionButton')}>\n {actionLabel}\n </ActionButton>\n )}\n </div>\n </Provider>\n )}\n </div>\n </Field>\n </FocusScope>\n );\n}) as <T>(props: SpectrumTagGroupProps<T> & {ref?: DOMRef<HTMLDivElement>}) => ReactNode;\n"],"names":[],"version":3,"file":"TagGroup.js.map"}
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@adobe/react-spectrum/src/tag/TagGroup.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 {ActionButton} from '../button/ActionButton';\n\nimport {AriaTagGroupProps, useTagGroup} from 'react-aria/useTagGroup';\nimport {classNames} from '../utils/classNames';\nimport {Collection, DOMRef, Node, SpectrumLabelableProps, StyleProps, Validation} from '@react-types/shared';\nimport {Field} from '../label/Field';\nimport {FocusRing} from 'react-aria/FocusRing';\nimport {FocusScope} from 'react-aria/FocusScope';\nimport intlMessages from '../../intl/tag/*.json';\n// @ts-ignore\nimport {ListCollection} from 'react-stately/private/list/ListCollection';\nimport {ListKeyboardDelegate} from 'react-aria/ListKeyboardDelegate';\nimport {Provider, useProvider, useProviderProps} from '../provider/Provider';\nimport React, {JSX, ReactNode, useCallback, useEffect, useMemo, useRef, useState} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/tags/vars.css';\nimport {Tag} from './Tag';\nimport {useDOMRef} from '../utils/useDOMRef';\nimport {useFormProps} from '../form/Form';\nimport {useId} from 'react-aria/useId';\nimport {useLayoutEffect} from 'react-aria/private/utils/useLayoutEffect';\nimport {useListState} from 'react-stately/useListState';\nimport {useLocale} from 'react-aria/I18nProvider';\nimport {useLocalizedStringFormatter} from 'react-aria/useLocalizedStringFormatter';\nimport {useResizeObserver} from 'react-aria/private/utils/useResizeObserver';\nimport {useValueEffect} from 'react-aria/private/utils/useValueEffect';\n\nconst TAG_STYLES = {\n medium: {\n height: 24,\n margin: 4\n },\n large: {\n height: 30,\n margin: 5\n }\n};\n\nexport interface SpectrumTagGroupProps<T> extends Omit<AriaTagGroupProps<T>, 'selectionMode' | 'disallowEmptySelection' | 'selectedKeys' | 'defaultSelectedKeys' | 'onSelectionChange' | 'selectionBehavior' | 'disabledKeys'>, StyleProps, Omit<SpectrumLabelableProps, 'isRequired' | 'necessityIndicator'>, Pick<Validation<any>, 'isInvalid' | 'validationState'> {\n /** The label to display on the action button. */\n actionLabel?: string,\n /** Handler that is called when the action button is pressed. */\n onAction?: () => void,\n /** Sets what the TagGroup should render when there are no tags to display. */\n renderEmptyState?: () => JSX.Element,\n /** Limit the number of rows initially shown. This will render a button that allows the user to expand to show all tags. */\n maxRows?: number\n}\n\n/** Tags allow users to categorize content. They can represent keywords or people, and are grouped to describe an item or a search request. */\nexport const TagGroup = React.forwardRef(function TagGroup<T extends object>(props: SpectrumTagGroupProps<T>, ref: DOMRef<HTMLDivElement>) {\n props = useProviderProps(props);\n props = useFormProps(props);\n let {\n maxRows,\n children,\n actionLabel,\n onAction,\n labelPosition,\n renderEmptyState = () => stringFormatter.format('noTags')\n } = props;\n let domRef = useDOMRef(ref);\n let containerRef = useRef<HTMLDivElement>(null);\n let tagsRef = useRef<HTMLDivElement | null>(null);\n let {direction} = useLocale();\n let {scale} = useProvider();\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/tag');\n let [isCollapsed, setIsCollapsed] = useState(maxRows != null);\n let state = useListState(props);\n let [tagState, setTagState] = useValueEffect({visibleTagCount: state.collection.size, showCollapseButton: false});\n let keyboardDelegate = useMemo(() => {\n let collection = (isCollapsed\n ? new ListCollection([...state.collection].slice(0, tagState.visibleTagCount))\n : new ListCollection([...state.collection])) as Collection<Node<T>>;\n return new ListKeyboardDelegate({\n collection,\n ref: tagsRef,\n direction,\n orientation: 'horizontal'\n });\n }, [direction, isCollapsed, state.collection, tagState.visibleTagCount, tagsRef]) as ListKeyboardDelegate<T>;\n // Remove onAction from props so it doesn't make it into useGridList.\n delete props.onAction;\n let {gridProps, labelProps, descriptionProps, errorMessageProps} = useTagGroup({...props, keyboardDelegate}, state, tagsRef);\n let actionsId = useId();\n let actionsRef = useRef<HTMLDivElement>(null);\n\n let updateVisibleTagCount = useCallback(() => {\n if (maxRows && maxRows > 0) {\n let computeVisibleTagCount = () => {\n // Refs can be null at runtime.\n let currContainerRef: HTMLDivElement | null = containerRef.current;\n let currTagsRef: HTMLDivElement | null = tagsRef.current;\n let currActionsRef: HTMLDivElement | null = actionsRef.current;\n if (!currContainerRef || !currTagsRef || !currActionsRef || state.collection.size === 0) {\n return {\n visibleTagCount: 0,\n showCollapseButton: false\n };\n }\n\n // Count rows and show tags until we hit the maxRows.\n let tags = [...currTagsRef.children];\n let currY = -Infinity;\n let rowCount = 0;\n let index = 0;\n let tagWidths: number[] = [];\n for (let tag of tags) {\n let {width, y} = tag.getBoundingClientRect();\n\n if (y !== currY) {\n currY = y;\n rowCount++;\n }\n\n if (maxRows && rowCount > maxRows) {\n break;\n }\n tagWidths.push(width);\n index++;\n }\n\n // Remove tags until there is space for the collapse button and action button (if present) on the last row.\n let buttons = [...currActionsRef.children];\n if (maxRows && buttons.length > 0 && rowCount >= maxRows && currContainerRef.parentElement) {\n let buttonsWidth = buttons.reduce((acc, curr) => acc += curr.getBoundingClientRect().width, 0);\n buttonsWidth += TAG_STYLES[scale].margin * 2 * buttons.length;\n let end = direction === 'ltr' ? 'right' : 'left';\n let containerEnd = currContainerRef.parentElement.getBoundingClientRect()[end];\n let lastTagEnd = tags[index - 1]?.getBoundingClientRect()[end];\n lastTagEnd += TAG_STYLES[scale].margin;\n let availableWidth = containerEnd - lastTagEnd;\n\n while (availableWidth < buttonsWidth && index > 0) {\n availableWidth += tagWidths.pop()!;\n index--;\n }\n }\n\n return {\n visibleTagCount: Math.max(index, 1),\n showCollapseButton: index < state.collection.size\n };\n };\n\n setTagState(function *() {\n // Update to show all items.\n yield {visibleTagCount: state.collection.size, showCollapseButton: true};\n\n // Measure, and update to show the items until maxRows is reached.\n yield computeVisibleTagCount();\n });\n }\n }, [maxRows, setTagState, direction, scale, state.collection.size]);\n\n useResizeObserver({ref: containerRef, onResize: updateVisibleTagCount});\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useLayoutEffect(updateVisibleTagCount, [children]);\n\n useEffect(() => {\n // Recalculate visible tags when fonts are loaded.\n document.fonts?.ready.then(() => updateVisibleTagCount());\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n let visibleTags = useMemo(() =>\n [...state.collection].slice(0, isCollapsed ? tagState.visibleTagCount : state.collection.size),\n [isCollapsed, state.collection, tagState.visibleTagCount]\n );\n\n let handlePressCollapse = () => {\n // Prevents button from losing focus if focusedKey got collapsed.\n state.selectionManager.setFocusedKey(null);\n setIsCollapsed(prevCollapsed => !prevCollapsed);\n };\n\n let showActions = tagState.showCollapseButton || (actionLabel && onAction);\n let isEmpty = state.collection.size === 0;\n\n let containerStyle = useMemo(() => {\n if (maxRows == null || !isCollapsed || isEmpty) {\n return undefined;\n }\n let maxHeight = (TAG_STYLES[scale].height + (TAG_STYLES[scale].margin * 2)) * maxRows;\n return {maxHeight, overflow: 'hidden'};\n }, [isCollapsed, maxRows, isEmpty, scale]);\n\n return (\n <FocusScope>\n <Field\n {...props}\n labelProps={labelProps}\n descriptionProps={descriptionProps}\n errorMessageProps={errorMessageProps}\n showErrorIcon\n ref={domRef}\n elementType=\"span\"\n wrapperClassName={\n classNames(\n styles,\n 'spectrum-Tags-fieldWrapper',\n {\n 'spectrum-Tags-fieldWrapper--positionSide': labelPosition === 'side'\n }\n )\n }>\n <div\n ref={containerRef}\n style={containerStyle}\n className={\n classNames(\n styles,\n 'spectrum-Tags-container',\n {\n 'spectrum-Tags-container--empty': isEmpty\n }\n )\n }>\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n ref={tagsRef}\n {...gridProps}\n className={classNames(styles, 'spectrum-Tags')}>\n {visibleTags.map(item => (\n <Tag\n {...item.props}\n key={item.key}\n item={item}\n state={state}>\n {item.rendered}\n </Tag>\n ))}\n {isEmpty && (\n <div className={classNames(styles, 'spectrum-Tags-empty-state')}>\n {renderEmptyState()}\n </div>\n )}\n </div>\n </FocusRing>\n {showActions && !isEmpty &&\n <Provider isDisabled={false}>\n <div\n role=\"group\"\n ref={actionsRef}\n id={actionsId}\n aria-label={stringFormatter.format('actions')}\n aria-labelledby={`${gridProps.id} ${actionsId}`}\n className={classNames(styles, 'spectrum-Tags-actions')}>\n {tagState.showCollapseButton &&\n <ActionButton\n isQuiet\n onPress={handlePressCollapse}\n UNSAFE_className={classNames(styles, 'spectrum-Tags-actionButton')}>\n {isCollapsed ?\n stringFormatter.format('showAllButtonLabel', {tagCount: state.collection.size}) :\n stringFormatter.format('hideButtonLabel')\n }\n </ActionButton>\n }\n {actionLabel && onAction &&\n <ActionButton\n isQuiet\n onPress={() => onAction?.()}\n UNSAFE_className={classNames(styles, 'spectrum-Tags-actionButton')}>\n {actionLabel}\n </ActionButton>\n }\n </div>\n </Provider>\n }\n </div>\n </Field>\n </FocusScope>\n );\n}) as <T>(props: SpectrumTagGroupProps<T> & {ref?: DOMRef<HTMLDivElement>}) => ReactNode;\n"],"names":[],"version":3,"file":"TagGroup.mjs.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;;;;;;;;;;;;AAmCD,MAAM,mCAAa;IACjB,QAAQ;QACN,QAAQ;QACR,QAAQ;IACV;IACA,OAAO;QACL,QAAQ;QACR,QAAQ;IACV;AACF;AAkCO,MAAM,0DAAW,CAAA,GAAA,YAAI,EAAE,UAAU,CAAC,SAAS,SAChD,KAA+B,EAC/B,GAA2B;IAE3B,QAAQ,CAAA,GAAA,yCAAe,EAAE;IACzB,QAAQ,CAAA,GAAA,yCAAW,EAAE;IACrB,IAAI,WACF,OAAO,YACP,QAAQ,eACR,WAAW,YACX,QAAQ,iBACR,aAAa,oBACb,mBAAmB,IAAM,gBAAgB,MAAM,CAAC,WACjD,GAAG;IACJ,IAAI,SAAS,CAAA,GAAA,yCAAQ,EAAE;IACvB,IAAI,eAAe,CAAA,GAAA,aAAK,EAAkB;IAC1C,IAAI,UAAU,CAAA,GAAA,aAAK,EAAyB;IAC5C,IAAI,aAAC,SAAS,EAAC,GAAG,CAAA,GAAA,gBAAQ;IAC1B,IAAI,SAAC,KAAK,EAAC,GAAG,CAAA,GAAA,yCAAU;IACxB,IAAI,kBAAkB,CAAA,GAAA,kCAA0B,EAAE,CAAA,GAAA,+CAAW,GAAG;IAChE,IAAI,CAAC,aAAa,eAAe,GAAG,CAAA,GAAA,eAAO,EAAE,WAAW;IACxD,IAAI,QAAQ,CAAA,GAAA,mBAAW,EAAE;IACzB,IAAI,CAAC,UAAU,YAAY,GAAG,CAAA,GAAA,qBAAa,EAAE;QAC3C,iBAAiB,MAAM,UAAU,CAAC,IAAI;QACtC,oBAAoB;IACtB;IACA,IAAI,mBAAmB,CAAA,GAAA,cAAM,EAAE;QAC7B,IAAI,aACF,cACI,IAAI,CAAA,GAAA,qBAAa,EAAE;eAAI,MAAM,UAAU;SAAC,CAAC,KAAK,CAAC,GAAG,SAAS,eAAe,KAC1E,IAAI,CAAA,GAAA,qBAAa,EAAE;eAAI,MAAM,UAAU;SAAC;QAE9C,OAAO,IAAI,CAAA,GAAA,2BAAmB,EAAE;wBAC9B;YACA,KAAK;uBACL;YACA,aAAa;QACf;IACF,GAAG;QACD;QACA;QACA,MAAM,UAAU;QAChB,SAAS,eAAe;QACxB;KACD;IACD,qEAAqE;IACrE,OAAO,MAAM,QAAQ;IACrB,IAAI,aAAC,SAAS,cAAE,UAAU,oBAAE,gBAAgB,qBAAE,iBAAiB,EAAC,GAAG,CAAA,GAAA,kBAAU,EAC3E;QAAC,GAAG,KAAK;0BAAE;IAAgB,GAC3B,OACA;IAEF,IAAI,YAAY,CAAA,GAAA,YAAI;IACpB,IAAI,aAAa,CAAA,GAAA,aAAK,EAAkB;IAExC,IAAI,wBAAwB,CAAA,GAAA,kBAAU,EAAE;QACtC,IAAI,WAAW,UAAU,GAAG;YAC1B,IAAI,yBAAyB;gBAC3B,+BAA+B;gBAC/B,IAAI,mBAA0C,aAAa,OAAO;gBAClE,IAAI,cAAqC,QAAQ,OAAO;gBACxD,IAAI,iBAAwC,WAAW,OAAO;gBAC9D,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,kBAAkB,MAAM,UAAU,CAAC,IAAI,KAAK,GACpF,OAAO;oBACL,iBAAiB;oBACjB,oBAAoB;gBACtB;gBAGF,qDAAqD;gBACrD,IAAI,OAAO;uBAAI,YAAY,QAAQ;iBAAC;gBACpC,IAAI,QAAQ,CAAC;gBACb,IAAI,WAAW;gBACf,IAAI,QAAQ;gBACZ,IAAI,YAAsB,EAAE;gBAC5B,KAAK,IAAI,OAAO,KAAM;oBACpB,IAAI,SAAC,KAAK,KAAE,CAAC,EAAC,GAAG,IAAI,qBAAqB;oBAE1C,IAAI,MAAM,OAAO;wBACf,QAAQ;wBACR;oBACF;oBAEA,IAAI,WAAW,WAAW,SACxB;oBAEF,UAAU,IAAI,CAAC;oBACf;gBACF;gBAEA,2GAA2G;gBAC3G,IAAI,UAAU;uBAAI,eAAe,QAAQ;iBAAC;gBAC1C,IACE,WACA,QAAQ,MAAM,GAAG,KACjB,YAAY,WACZ,iBAAiB,aAAa,EAC9B;oBACA,IAAI,eAAe,QAAQ,MAAM,CAC/B,CAAC,KAAK,OAAU,OAAO,KAAK,qBAAqB,GAAG,KAAK,EACzD;oBAEF,gBAAgB,gCAAU,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,QAAQ,MAAM;oBAC7D,IAAI,MAAM,cAAc,QAAQ,UAAU;oBAC1C,IAAI,eAAe,iBAAiB,aAAa,CAAC,qBAAqB,EAAE,CAAC,IAAI;oBAC9E,IAAI,aAAa,IAAI,CAAC,QAAQ,EAAE,EAAE,uBAAuB,CAAC,IAAI;oBAC9D,cAAc,gCAAU,CAAC,MAAM,CAAC,MAAM;oBACtC,IAAI,iBAAiB,eAAe;oBAEpC,MAAO,iBAAiB,gBAAgB,QAAQ,EAAG;wBACjD,kBAAkB,UAAU,GAAG;wBAC/B;oBACF;gBACF;gBAEA,OAAO;oBACL,iBAAiB,KAAK,GAAG,CAAC,OAAO;oBACjC,oBAAoB,QAAQ,MAAM,UAAU,CAAC,IAAI;gBACnD;YACF;YAEA,YAAY;gBACV,4BAA4B;gBAC5B,MAAM;oBAAC,iBAAiB,MAAM,UAAU,CAAC,IAAI;oBAAE,oBAAoB;gBAAI;gBAEvE,kEAAkE;gBAClE,MAAM;YACR;QACF;IACF,GAAG;QAAC;QAAS;QAAa;QAAW;QAAO,MAAM,UAAU,CAAC,IAAI;KAAC;IAElE,CAAA,GAAA,wBAAgB,EAAE;QAAC,KAAK;QAAc,UAAU;IAAqB;IACrE,uDAAuD;IACvD,CAAA,GAAA,sBAAc,EAAE,uBAAuB;QAAC;KAAS;IAEjD,CAAA,GAAA,gBAAQ,EAAE;QACR,kDAAkD;QAClD,SAAS,KAAK,EAAE,MAAM,KAAK,IAAM;IACjC,uDAAuD;IACzD,GAAG,EAAE;IAEL,IAAI,cAAc,CAAA,GAAA,cAAM,EACtB,IACE;eAAI,MAAM,UAAU;SAAC,CAAC,KAAK,CACzB,GACA,cAAc,SAAS,eAAe,GAAG,MAAM,UAAU,CAAC,IAAI,GAElE;QAAC;QAAa,MAAM,UAAU;QAAE,SAAS,eAAe;KAAC;IAG3D,IAAI,sBAAsB;QACxB,iEAAiE;QACjE,MAAM,gBAAgB,CAAC,aAAa,CAAC;QACrC,eAAe,CAAA,gBAAiB,CAAC;IACnC;IAEA,IAAI,cAAc,SAAS,kBAAkB,IAAK,eAAe;IACjE,IAAI,UAAU,MAAM,UAAU,CAAC,IAAI,KAAK;IAExC,IAAI,iBAAiB,CAAA,GAAA,cAAM,EAAE;QAC3B,IAAI,WAAW,QAAQ,CAAC,eAAe,SACrC,OAAO;QAET,IAAI,YAAY,AAAC,CAAA,gCAAU,CAAC,MAAM,CAAC,MAAM,GAAG,gCAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAA,IAAK;QAC5E,OAAO;uBAAC;YAAW,UAAU;QAAQ;IACvC,GAAG;QAAC;QAAa;QAAS;QAAS;KAAM;IAEzC,qBACE,gCAAC,CAAA,GAAA,iBAAS,uBACR,gCAAC,CAAA,GAAA,yCAAI;QACF,GAAG,KAAK;QACT,YAAY;QACZ,kBAAkB;QAClB,mBAAmB;QACnB,eAAA;QACA,KAAK;QACL,aAAY;QACZ,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG,8BAA8B;YACjE,4CAA4C,kBAAkB;QAChE;qBACA,gCAAC;QACC,KAAK;QACL,OAAO;QACP,WAAW,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG,2BAA2B;YACvD,kCAAkC;QACpC;qBACA,gCAAC,CAAA,GAAA,gBAAQ;QAAE,gBAAgB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;qBAC5C,gCAAC;QAAI,KAAK;QAAU,GAAG,SAAS;QAAE,WAAW,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;OAC7D,YAAY,GAAG,CAAC,CAAA,qBACf,gCAAC,CAAA,GAAA,yCAAE;YAAG,GAAG,KAAK,KAAK;YAAE,KAAK,KAAK,GAAG;YAAE,MAAM;YAAM,OAAO;WACpD,KAAK,QAAQ,IAGjB,yBACC,gCAAC;QAAI,WAAW,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;OAChC,uBAKR,eAAe,CAAC,yBACf,gCAAC,CAAA,GAAA,yCAAO;QAAE,YAAY;qBACpB,gCAAC;QACC,MAAK;QACL,KAAK;QACL,IAAI;QACJ,cAAY,gBAAgB,MAAM,CAAC;QACnC,mBAAiB,GAAG,UAAU,EAAE,CAAC,CAAC,EAAE,WAAW;QAC/C,WAAW,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;OAC7B,SAAS,kBAAkB,kBAC1B,gCAAC,CAAA,GAAA,yCAAW;QACV,SAAA;QACA,SAAS;QACT,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;OACpC,cACG,gBAAgB,MAAM,CAAC,sBAAsB;QAC3C,UAAU,MAAM,UAAU,CAAC,IAAI;IACjC,KACA,gBAAgB,MAAM,CAAC,qBAG9B,eAAe,0BACd,gCAAC,CAAA,GAAA,yCAAW;QACV,SAAA;QACA,SAAS,IAAM;QACf,kBAAkB,CAAA,GAAA,yCAAS,EAAE,CAAA,GAAA,iDAAK,GAAG;OACpC;AAUrB","sources":["packages/@adobe/react-spectrum/src/tag/TagGroup.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 {ActionButton} from '../button/ActionButton';\n\nimport {AriaTagGroupProps, useTagGroup} from 'react-aria/useTagGroup';\nimport {classNames} from '../utils/classNames';\nimport {\n Collection,\n DOMRef,\n Node,\n SpectrumLabelableProps,\n StyleProps,\n Validation\n} from '@react-types/shared';\nimport {Field} from '../label/Field';\nimport {FocusRing} from 'react-aria/FocusRing';\nimport {FocusScope} from 'react-aria/FocusScope';\nimport intlMessages from '../../intl/tag/*.json';\n// @ts-ignore\nimport {ListCollection} from 'react-stately/private/list/ListCollection';\nimport {ListKeyboardDelegate} from 'react-aria/ListKeyboardDelegate';\nimport {Provider, useProvider, useProviderProps} from '../provider/Provider';\nimport React, {JSX, ReactNode, useCallback, useEffect, useMemo, useRef, useState} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/tags/vars.css';\nimport {Tag} from './Tag';\nimport {useDOMRef} from '../utils/useDOMRef';\nimport {useFormProps} from '../form/Form';\nimport {useId} from 'react-aria/useId';\nimport {useLayoutEffect} from 'react-aria/private/utils/useLayoutEffect';\nimport {useListState} from 'react-stately/useListState';\nimport {useLocale} from 'react-aria/I18nProvider';\nimport {useLocalizedStringFormatter} from 'react-aria/useLocalizedStringFormatter';\nimport {useResizeObserver} from 'react-aria/private/utils/useResizeObserver';\nimport {useValueEffect} from 'react-aria/private/utils/useValueEffect';\n\nconst TAG_STYLES = {\n medium: {\n height: 24,\n margin: 4\n },\n large: {\n height: 30,\n margin: 5\n }\n};\n\nexport interface SpectrumTagGroupProps<T>\n extends\n Omit<\n AriaTagGroupProps<T>,\n | 'selectionMode'\n | 'disallowEmptySelection'\n | 'selectedKeys'\n | 'defaultSelectedKeys'\n | 'onSelectionChange'\n | 'selectionBehavior'\n | 'disabledKeys'\n >,\n StyleProps,\n Omit<SpectrumLabelableProps, 'isRequired' | 'necessityIndicator'>,\n Pick<Validation<any>, 'isInvalid' | 'validationState'> {\n /** The label to display on the action button. */\n actionLabel?: string;\n /** Handler that is called when the action button is pressed. */\n onAction?: () => void;\n /** Sets what the TagGroup should render when there are no tags to display. */\n renderEmptyState?: () => JSX.Element;\n /**\n * Limit the number of rows initially shown. This will render a button that allows the user to\n * expand to show all tags.\n */\n maxRows?: number;\n}\n\n/**\n * Tags allow users to categorize content. They can represent keywords or people, and are grouped to\n * describe an item or a search request.\n */\nexport const TagGroup = React.forwardRef(function TagGroup<T extends object>(\n props: SpectrumTagGroupProps<T>,\n ref: DOMRef<HTMLDivElement>\n) {\n props = useProviderProps(props);\n props = useFormProps(props);\n let {\n maxRows,\n children,\n actionLabel,\n onAction,\n labelPosition,\n renderEmptyState = () => stringFormatter.format('noTags')\n } = props;\n let domRef = useDOMRef(ref);\n let containerRef = useRef<HTMLDivElement>(null);\n let tagsRef = useRef<HTMLDivElement | null>(null);\n let {direction} = useLocale();\n let {scale} = useProvider();\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/tag');\n let [isCollapsed, setIsCollapsed] = useState(maxRows != null);\n let state = useListState(props);\n let [tagState, setTagState] = useValueEffect({\n visibleTagCount: state.collection.size,\n showCollapseButton: false\n });\n let keyboardDelegate = useMemo(() => {\n let collection = (\n isCollapsed\n ? new ListCollection([...state.collection].slice(0, tagState.visibleTagCount))\n : new ListCollection([...state.collection])\n ) as Collection<Node<T>>;\n return new ListKeyboardDelegate({\n collection,\n ref: tagsRef,\n direction,\n orientation: 'horizontal'\n });\n }, [\n direction,\n isCollapsed,\n state.collection,\n tagState.visibleTagCount,\n tagsRef\n ]) as ListKeyboardDelegate<T>;\n // Remove onAction from props so it doesn't make it into useGridList.\n delete props.onAction;\n let {gridProps, labelProps, descriptionProps, errorMessageProps} = useTagGroup(\n {...props, keyboardDelegate},\n state,\n tagsRef\n );\n let actionsId = useId();\n let actionsRef = useRef<HTMLDivElement>(null);\n\n let updateVisibleTagCount = useCallback(() => {\n if (maxRows && maxRows > 0) {\n let computeVisibleTagCount = () => {\n // Refs can be null at runtime.\n let currContainerRef: HTMLDivElement | null = containerRef.current;\n let currTagsRef: HTMLDivElement | null = tagsRef.current;\n let currActionsRef: HTMLDivElement | null = actionsRef.current;\n if (!currContainerRef || !currTagsRef || !currActionsRef || state.collection.size === 0) {\n return {\n visibleTagCount: 0,\n showCollapseButton: false\n };\n }\n\n // Count rows and show tags until we hit the maxRows.\n let tags = [...currTagsRef.children];\n let currY = -Infinity;\n let rowCount = 0;\n let index = 0;\n let tagWidths: number[] = [];\n for (let tag of tags) {\n let {width, y} = tag.getBoundingClientRect();\n\n if (y !== currY) {\n currY = y;\n rowCount++;\n }\n\n if (maxRows && rowCount > maxRows) {\n break;\n }\n tagWidths.push(width);\n index++;\n }\n\n // Remove tags until there is space for the collapse button and action button (if present) on the last row.\n let buttons = [...currActionsRef.children];\n if (\n maxRows &&\n buttons.length > 0 &&\n rowCount >= maxRows &&\n currContainerRef.parentElement\n ) {\n let buttonsWidth = buttons.reduce(\n (acc, curr) => (acc += curr.getBoundingClientRect().width),\n 0\n );\n buttonsWidth += TAG_STYLES[scale].margin * 2 * buttons.length;\n let end = direction === 'ltr' ? 'right' : 'left';\n let containerEnd = currContainerRef.parentElement.getBoundingClientRect()[end];\n let lastTagEnd = tags[index - 1]?.getBoundingClientRect()[end];\n lastTagEnd += TAG_STYLES[scale].margin;\n let availableWidth = containerEnd - lastTagEnd;\n\n while (availableWidth < buttonsWidth && index > 0) {\n availableWidth += tagWidths.pop()!;\n index--;\n }\n }\n\n return {\n visibleTagCount: Math.max(index, 1),\n showCollapseButton: index < state.collection.size\n };\n };\n\n setTagState(function* () {\n // Update to show all items.\n yield {visibleTagCount: state.collection.size, showCollapseButton: true};\n\n // Measure, and update to show the items until maxRows is reached.\n yield computeVisibleTagCount();\n });\n }\n }, [maxRows, setTagState, direction, scale, state.collection.size]);\n\n useResizeObserver({ref: containerRef, onResize: updateVisibleTagCount});\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useLayoutEffect(updateVisibleTagCount, [children]);\n\n useEffect(() => {\n // Recalculate visible tags when fonts are loaded.\n document.fonts?.ready.then(() => updateVisibleTagCount());\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n let visibleTags = useMemo(\n () =>\n [...state.collection].slice(\n 0,\n isCollapsed ? tagState.visibleTagCount : state.collection.size\n ),\n [isCollapsed, state.collection, tagState.visibleTagCount]\n );\n\n let handlePressCollapse = () => {\n // Prevents button from losing focus if focusedKey got collapsed.\n state.selectionManager.setFocusedKey(null);\n setIsCollapsed(prevCollapsed => !prevCollapsed);\n };\n\n let showActions = tagState.showCollapseButton || (actionLabel && onAction);\n let isEmpty = state.collection.size === 0;\n\n let containerStyle = useMemo(() => {\n if (maxRows == null || !isCollapsed || isEmpty) {\n return undefined;\n }\n let maxHeight = (TAG_STYLES[scale].height + TAG_STYLES[scale].margin * 2) * maxRows;\n return {maxHeight, overflow: 'hidden'};\n }, [isCollapsed, maxRows, isEmpty, scale]);\n\n return (\n <FocusScope>\n <Field\n {...props}\n labelProps={labelProps}\n descriptionProps={descriptionProps}\n errorMessageProps={errorMessageProps}\n showErrorIcon\n ref={domRef}\n elementType=\"span\"\n wrapperClassName={classNames(styles, 'spectrum-Tags-fieldWrapper', {\n 'spectrum-Tags-fieldWrapper--positionSide': labelPosition === 'side'\n })}>\n <div\n ref={containerRef}\n style={containerStyle}\n className={classNames(styles, 'spectrum-Tags-container', {\n 'spectrum-Tags-container--empty': isEmpty\n })}>\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div ref={tagsRef} {...gridProps} className={classNames(styles, 'spectrum-Tags')}>\n {visibleTags.map(item => (\n <Tag {...item.props} key={item.key} item={item} state={state}>\n {item.rendered}\n </Tag>\n ))}\n {isEmpty && (\n <div className={classNames(styles, 'spectrum-Tags-empty-state')}>\n {renderEmptyState()}\n </div>\n )}\n </div>\n </FocusRing>\n {showActions && !isEmpty && (\n <Provider isDisabled={false}>\n <div\n role=\"group\"\n ref={actionsRef}\n id={actionsId}\n aria-label={stringFormatter.format('actions')}\n aria-labelledby={`${gridProps.id} ${actionsId}`}\n className={classNames(styles, 'spectrum-Tags-actions')}>\n {tagState.showCollapseButton && (\n <ActionButton\n isQuiet\n onPress={handlePressCollapse}\n UNSAFE_className={classNames(styles, 'spectrum-Tags-actionButton')}>\n {isCollapsed\n ? stringFormatter.format('showAllButtonLabel', {\n tagCount: state.collection.size\n })\n : stringFormatter.format('hideButtonLabel')}\n </ActionButton>\n )}\n {actionLabel && onAction && (\n <ActionButton\n isQuiet\n onPress={() => onAction?.()}\n UNSAFE_className={classNames(styles, 'spectrum-Tags-actionButton')}>\n {actionLabel}\n </ActionButton>\n )}\n </div>\n </Provider>\n )}\n </div>\n </Field>\n </FocusScope>\n );\n}) as <T>(props: SpectrumTagGroupProps<T> & {ref?: DOMRef<HTMLDivElement>}) => ReactNode;\n"],"names":[],"version":3,"file":"TagGroup.mjs.map"}