@react-spectrum/s2 3.0.0-nightly-4b8b33a02-250211 → 3.0.0-nightly-260eb700f-250213

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 (422) hide show
  1. package/dist/Accordion.cjs +3 -3
  2. package/dist/Accordion.cjs.map +1 -1
  3. package/dist/Accordion.css +2 -2
  4. package/dist/Accordion.css.map +1 -1
  5. package/dist/Accordion.mjs +3 -3
  6. package/dist/Accordion.mjs.map +1 -1
  7. package/dist/ActionBar.cjs +47 -47
  8. package/dist/ActionBar.css +51 -51
  9. package/dist/ActionBar.mjs +47 -47
  10. package/dist/ActionButton.cjs +97 -97
  11. package/dist/ActionButton.cjs.map +1 -1
  12. package/dist/ActionButton.css +96 -96
  13. package/dist/ActionButton.css.map +1 -1
  14. package/dist/ActionButton.mjs +97 -97
  15. package/dist/ActionButton.mjs.map +1 -1
  16. package/dist/ActionButtonGroup.cjs +11 -11
  17. package/dist/ActionButtonGroup.css +9 -9
  18. package/dist/ActionButtonGroup.mjs +11 -11
  19. package/dist/ActionMenu.cjs.map +1 -1
  20. package/dist/ActionMenu.mjs.map +1 -1
  21. package/dist/AlertDialog.cjs +3 -3
  22. package/dist/AlertDialog.css +3 -3
  23. package/dist/AlertDialog.mjs +3 -3
  24. package/dist/Avatar.cjs +17 -17
  25. package/dist/Avatar.cjs.map +1 -1
  26. package/dist/Avatar.css +14 -14
  27. package/dist/Avatar.css.map +1 -1
  28. package/dist/Avatar.mjs +17 -17
  29. package/dist/Avatar.mjs.map +1 -1
  30. package/dist/AvatarGroup.cjs +100 -100
  31. package/dist/AvatarGroup.cjs.map +1 -1
  32. package/dist/AvatarGroup.css +34 -34
  33. package/dist/AvatarGroup.css.map +1 -1
  34. package/dist/AvatarGroup.mjs +100 -100
  35. package/dist/AvatarGroup.mjs.map +1 -1
  36. package/dist/Badge.cjs +68 -92
  37. package/dist/Badge.cjs.map +1 -1
  38. package/dist/Badge.css +92 -164
  39. package/dist/Badge.css.map +1 -1
  40. package/dist/Badge.mjs +68 -92
  41. package/dist/Badge.mjs.map +1 -1
  42. package/dist/Breadcrumbs.cjs +115 -115
  43. package/dist/Breadcrumbs.cjs.map +1 -1
  44. package/dist/Breadcrumbs.css +89 -89
  45. package/dist/Breadcrumbs.css.map +1 -1
  46. package/dist/Breadcrumbs.mjs +115 -115
  47. package/dist/Breadcrumbs.mjs.map +1 -1
  48. package/dist/Button.cjs +152 -236
  49. package/dist/Button.cjs.map +1 -1
  50. package/dist/Button.css +165 -309
  51. package/dist/Button.css.map +1 -1
  52. package/dist/Button.mjs +152 -236
  53. package/dist/Button.mjs.map +1 -1
  54. package/dist/ButtonGroup.cjs +19 -19
  55. package/dist/ButtonGroup.cjs.map +1 -1
  56. package/dist/ButtonGroup.css +15 -15
  57. package/dist/ButtonGroup.css.map +1 -1
  58. package/dist/ButtonGroup.mjs +19 -19
  59. package/dist/ButtonGroup.mjs.map +1 -1
  60. package/dist/Card.cjs +261 -264
  61. package/dist/Card.cjs.map +1 -1
  62. package/dist/Card.css +198 -210
  63. package/dist/Card.css.map +1 -1
  64. package/dist/Card.mjs +261 -264
  65. package/dist/Card.mjs.map +1 -1
  66. package/dist/CardView.cjs +15 -15
  67. package/dist/CardView.cjs.map +1 -1
  68. package/dist/CardView.css +18 -18
  69. package/dist/CardView.css.map +1 -1
  70. package/dist/CardView.mjs +15 -15
  71. package/dist/CardView.mjs.map +1 -1
  72. package/dist/CenterBaseline.cjs +1 -1
  73. package/dist/CenterBaseline.css +2 -2
  74. package/dist/CenterBaseline.mjs +1 -1
  75. package/dist/Checkbox.cjs +73 -124
  76. package/dist/Checkbox.cjs.map +1 -1
  77. package/dist/Checkbox.css +81 -201
  78. package/dist/Checkbox.css.map +1 -1
  79. package/dist/Checkbox.mjs +73 -124
  80. package/dist/Checkbox.mjs.map +1 -1
  81. package/dist/CheckboxGroup.cjs +49 -49
  82. package/dist/CheckboxGroup.cjs.map +1 -1
  83. package/dist/CheckboxGroup.css +41 -41
  84. package/dist/CheckboxGroup.css.map +1 -1
  85. package/dist/CheckboxGroup.mjs +49 -49
  86. package/dist/CheckboxGroup.mjs.map +1 -1
  87. package/dist/ClearButton.cjs +15 -15
  88. package/dist/ClearButton.css +17 -17
  89. package/dist/ClearButton.mjs +15 -15
  90. package/dist/CloseButton.cjs +35 -35
  91. package/dist/CloseButton.cjs.map +1 -1
  92. package/dist/CloseButton.css +33 -33
  93. package/dist/CloseButton.css.map +1 -1
  94. package/dist/CloseButton.mjs +35 -35
  95. package/dist/CloseButton.mjs.map +1 -1
  96. package/dist/ColorArea.cjs +22 -22
  97. package/dist/ColorArea.cjs.map +1 -1
  98. package/dist/ColorArea.css +15 -15
  99. package/dist/ColorArea.css.map +1 -1
  100. package/dist/ColorArea.mjs +22 -22
  101. package/dist/ColorArea.mjs.map +1 -1
  102. package/dist/ColorField.cjs +38 -38
  103. package/dist/ColorField.cjs.map +1 -1
  104. package/dist/ColorField.css +32 -32
  105. package/dist/ColorField.css.map +1 -1
  106. package/dist/ColorField.mjs +38 -38
  107. package/dist/ColorField.mjs.map +1 -1
  108. package/dist/ColorHandle.cjs +21 -27
  109. package/dist/ColorHandle.cjs.map +1 -1
  110. package/dist/ColorHandle.css +45 -93
  111. package/dist/ColorHandle.css.map +1 -1
  112. package/dist/ColorHandle.mjs +21 -27
  113. package/dist/ColorHandle.mjs.map +1 -1
  114. package/dist/ColorSlider.cjs +52 -52
  115. package/dist/ColorSlider.cjs.map +1 -1
  116. package/dist/ColorSlider.css +51 -51
  117. package/dist/ColorSlider.css.map +1 -1
  118. package/dist/ColorSlider.mjs +52 -52
  119. package/dist/ColorSlider.mjs.map +1 -1
  120. package/dist/ColorSwatch.cjs +24 -27
  121. package/dist/ColorSwatch.cjs.map +1 -1
  122. package/dist/ColorSwatch.css +29 -41
  123. package/dist/ColorSwatch.css.map +1 -1
  124. package/dist/ColorSwatch.mjs +24 -27
  125. package/dist/ColorSwatch.mjs.map +1 -1
  126. package/dist/ColorSwatchPicker.cjs +23 -23
  127. package/dist/ColorSwatchPicker.css +48 -60
  128. package/dist/ColorSwatchPicker.css.map +1 -1
  129. package/dist/ColorSwatchPicker.mjs +23 -23
  130. package/dist/ColorWheel.cjs +22 -22
  131. package/dist/ColorWheel.cjs.map +1 -1
  132. package/dist/ColorWheel.css +16 -16
  133. package/dist/ColorWheel.css.map +1 -1
  134. package/dist/ColorWheel.mjs +22 -22
  135. package/dist/ColorWheel.mjs.map +1 -1
  136. package/dist/ComboBox.cjs +80 -80
  137. package/dist/ComboBox.css +88 -88
  138. package/dist/ComboBox.mjs +80 -80
  139. package/dist/Content.cjs.map +1 -1
  140. package/dist/Content.mjs.map +1 -1
  141. package/dist/ContextualHelp.cjs +5 -5
  142. package/dist/ContextualHelp.cjs.map +1 -1
  143. package/dist/ContextualHelp.css +38 -38
  144. package/dist/ContextualHelp.css.map +1 -1
  145. package/dist/ContextualHelp.mjs +5 -5
  146. package/dist/ContextualHelp.mjs.map +1 -1
  147. package/dist/CustomDialog.cjs +31 -31
  148. package/dist/CustomDialog.css +25 -25
  149. package/dist/CustomDialog.mjs +31 -31
  150. package/dist/Dialog.cjs +17 -17
  151. package/dist/Dialog.css +64 -64
  152. package/dist/Dialog.mjs +17 -17
  153. package/dist/Disclosure.cjs +108 -111
  154. package/dist/Disclosure.cjs.map +1 -1
  155. package/dist/Disclosure.css +112 -124
  156. package/dist/Disclosure.css.map +1 -1
  157. package/dist/Disclosure.mjs +108 -111
  158. package/dist/Disclosure.mjs.map +1 -1
  159. package/dist/Divider.cjs +26 -26
  160. package/dist/Divider.cjs.map +1 -1
  161. package/dist/Divider.css +16 -16
  162. package/dist/Divider.css.map +1 -1
  163. package/dist/Divider.mjs +26 -26
  164. package/dist/Divider.mjs.map +1 -1
  165. package/dist/DropZone.cjs +47 -56
  166. package/dist/DropZone.cjs.map +1 -1
  167. package/dist/DropZone.css +56 -80
  168. package/dist/DropZone.css.map +1 -1
  169. package/dist/DropZone.mjs +47 -56
  170. package/dist/DropZone.mjs.map +1 -1
  171. package/dist/Field.cjs +150 -204
  172. package/dist/Field.cjs.map +1 -1
  173. package/dist/Field.css +150 -246
  174. package/dist/Field.css.map +1 -1
  175. package/dist/Field.mjs +150 -204
  176. package/dist/Field.mjs.map +1 -1
  177. package/dist/Form.cjs +10 -10
  178. package/dist/Form.cjs.map +1 -1
  179. package/dist/Form.css +9 -9
  180. package/dist/Form.css.map +1 -1
  181. package/dist/Form.mjs +10 -10
  182. package/dist/Form.mjs.map +1 -1
  183. package/dist/FullscreenDialog.cjs +5 -5
  184. package/dist/FullscreenDialog.css +72 -72
  185. package/dist/FullscreenDialog.mjs +5 -5
  186. package/dist/IllustratedMessage.cjs +134 -134
  187. package/dist/IllustratedMessage.cjs.map +1 -1
  188. package/dist/IllustratedMessage.css +69 -69
  189. package/dist/IllustratedMessage.css.map +1 -1
  190. package/dist/IllustratedMessage.mjs +134 -134
  191. package/dist/IllustratedMessage.mjs.map +1 -1
  192. package/dist/Image.cjs +12 -12
  193. package/dist/Image.cjs.map +1 -1
  194. package/dist/Image.css +13 -13
  195. package/dist/Image.css.map +1 -1
  196. package/dist/Image.mjs +12 -12
  197. package/dist/Image.mjs.map +1 -1
  198. package/dist/InlineAlert.cjs +77 -104
  199. package/dist/InlineAlert.cjs.map +1 -1
  200. package/dist/InlineAlert.css +77 -149
  201. package/dist/InlineAlert.css.map +1 -1
  202. package/dist/InlineAlert.mjs +77 -104
  203. package/dist/InlineAlert.mjs.map +1 -1
  204. package/dist/Link.cjs +31 -31
  205. package/dist/Link.cjs.map +1 -1
  206. package/dist/Link.css +30 -30
  207. package/dist/Link.css.map +1 -1
  208. package/dist/Link.mjs +31 -31
  209. package/dist/Link.mjs.map +1 -1
  210. package/dist/Menu.cjs +269 -268
  211. package/dist/Menu.cjs.map +1 -1
  212. package/dist/Menu.css +158 -154
  213. package/dist/Menu.css.map +1 -1
  214. package/dist/Menu.mjs +269 -268
  215. package/dist/Menu.mjs.map +1 -1
  216. package/dist/Meter.cjs +85 -85
  217. package/dist/Meter.cjs.map +1 -1
  218. package/dist/Meter.css +81 -81
  219. package/dist/Meter.css.map +1 -1
  220. package/dist/Meter.mjs +85 -85
  221. package/dist/Meter.mjs.map +1 -1
  222. package/dist/Modal.cjs +48 -48
  223. package/dist/Modal.css +46 -46
  224. package/dist/Modal.mjs +48 -48
  225. package/dist/NumberField.cjs +115 -115
  226. package/dist/NumberField.cjs.map +1 -1
  227. package/dist/NumberField.css +114 -114
  228. package/dist/NumberField.css.map +1 -1
  229. package/dist/NumberField.mjs +115 -115
  230. package/dist/NumberField.mjs.map +1 -1
  231. package/dist/Picker.cjs +177 -194
  232. package/dist/Picker.cjs.map +1 -1
  233. package/dist/Picker.css +167 -223
  234. package/dist/Picker.css.map +1 -1
  235. package/dist/Picker.mjs +177 -194
  236. package/dist/Picker.mjs.map +1 -1
  237. package/dist/Popover.cjs +79 -85
  238. package/dist/Popover.cjs.map +1 -1
  239. package/dist/Popover.css +65 -89
  240. package/dist/Popover.css.map +1 -1
  241. package/dist/Popover.mjs +79 -85
  242. package/dist/Popover.mjs.map +1 -1
  243. package/dist/ProgressBar.cjs +98 -98
  244. package/dist/ProgressBar.cjs.map +1 -1
  245. package/dist/ProgressBar.css +92 -92
  246. package/dist/ProgressBar.css.map +1 -1
  247. package/dist/ProgressBar.mjs +98 -98
  248. package/dist/ProgressBar.mjs.map +1 -1
  249. package/dist/ProgressCircle.cjs +17 -17
  250. package/dist/ProgressCircle.cjs.map +1 -1
  251. package/dist/ProgressCircle.css +15 -15
  252. package/dist/ProgressCircle.css.map +1 -1
  253. package/dist/ProgressCircle.mjs +17 -17
  254. package/dist/ProgressCircle.mjs.map +1 -1
  255. package/dist/Provider.cjs +4 -4
  256. package/dist/Provider.css +5 -5
  257. package/dist/Provider.mjs +4 -4
  258. package/dist/Radio.cjs +80 -152
  259. package/dist/Radio.cjs.map +1 -1
  260. package/dist/Radio.css +96 -240
  261. package/dist/Radio.css.map +1 -1
  262. package/dist/Radio.mjs +80 -152
  263. package/dist/Radio.mjs.map +1 -1
  264. package/dist/RadioGroup.cjs +47 -47
  265. package/dist/RadioGroup.cjs.map +1 -1
  266. package/dist/RadioGroup.css +41 -41
  267. package/dist/RadioGroup.css.map +1 -1
  268. package/dist/RadioGroup.mjs +47 -47
  269. package/dist/RadioGroup.mjs.map +1 -1
  270. package/dist/RangeSlider.cjs.map +1 -1
  271. package/dist/RangeSlider.mjs.map +1 -1
  272. package/dist/SearchField.cjs +42 -42
  273. package/dist/SearchField.cjs.map +1 -1
  274. package/dist/SearchField.css +47 -47
  275. package/dist/SearchField.css.map +1 -1
  276. package/dist/SearchField.mjs +42 -42
  277. package/dist/SearchField.mjs.map +1 -1
  278. package/dist/SegmentedControl.cjs +89 -101
  279. package/dist/SegmentedControl.cjs.map +1 -1
  280. package/dist/SegmentedControl.css +92 -140
  281. package/dist/SegmentedControl.css.map +1 -1
  282. package/dist/SegmentedControl.mjs +89 -101
  283. package/dist/SegmentedControl.mjs.map +1 -1
  284. package/dist/Slider.cjs +196 -229
  285. package/dist/Slider.cjs.map +1 -1
  286. package/dist/Slider.css +149 -221
  287. package/dist/Slider.css.map +1 -1
  288. package/dist/Slider.mjs +196 -229
  289. package/dist/Slider.mjs.map +1 -1
  290. package/dist/StatusLight.cjs +56 -56
  291. package/dist/StatusLight.cjs.map +1 -1
  292. package/dist/StatusLight.css +59 -59
  293. package/dist/StatusLight.css.map +1 -1
  294. package/dist/StatusLight.mjs +56 -56
  295. package/dist/StatusLight.mjs.map +1 -1
  296. package/dist/Switch.cjs +74 -107
  297. package/dist/Switch.cjs.map +1 -1
  298. package/dist/Switch.css +69 -141
  299. package/dist/Switch.css.map +1 -1
  300. package/dist/Switch.mjs +74 -107
  301. package/dist/Switch.mjs.map +1 -1
  302. package/dist/TableView.cjs +253 -280
  303. package/dist/TableView.cjs.map +1 -1
  304. package/dist/TableView.css +163 -199
  305. package/dist/TableView.css.map +1 -1
  306. package/dist/TableView.mjs +253 -280
  307. package/dist/TableView.mjs.map +1 -1
  308. package/dist/Tabs.cjs +112 -124
  309. package/dist/Tabs.cjs.map +1 -1
  310. package/dist/Tabs.css +84 -108
  311. package/dist/Tabs.css.map +1 -1
  312. package/dist/Tabs.mjs +112 -124
  313. package/dist/Tabs.mjs.map +1 -1
  314. package/dist/TabsPicker.cjs +105 -105
  315. package/dist/TabsPicker.css +111 -111
  316. package/dist/TabsPicker.mjs +105 -105
  317. package/dist/TagGroup.cjs +148 -148
  318. package/dist/TagGroup.cjs.map +1 -1
  319. package/dist/TagGroup.css +134 -134
  320. package/dist/TagGroup.css.map +1 -1
  321. package/dist/TagGroup.mjs +148 -148
  322. package/dist/TagGroup.mjs.map +1 -1
  323. package/dist/TextField.cjs +59 -59
  324. package/dist/TextField.cjs.map +1 -1
  325. package/dist/TextField.css +62 -62
  326. package/dist/TextField.css.map +1 -1
  327. package/dist/TextField.mjs +59 -59
  328. package/dist/TextField.mjs.map +1 -1
  329. package/dist/ToggleButton.cjs +3 -3
  330. package/dist/ToggleButton.cjs.map +1 -1
  331. package/dist/ToggleButton.css +12 -12
  332. package/dist/ToggleButton.css.map +1 -1
  333. package/dist/ToggleButton.mjs +3 -3
  334. package/dist/ToggleButton.mjs.map +1 -1
  335. package/dist/ToggleButtonGroup.cjs.map +1 -1
  336. package/dist/ToggleButtonGroup.mjs.map +1 -1
  337. package/dist/Tooltip.cjs +57 -60
  338. package/dist/Tooltip.cjs.map +1 -1
  339. package/dist/Tooltip.css +71 -83
  340. package/dist/Tooltip.css.map +1 -1
  341. package/dist/Tooltip.mjs +57 -60
  342. package/dist/Tooltip.mjs.map +1 -1
  343. package/dist/TreeView.cjs +217 -244
  344. package/dist/TreeView.cjs.map +1 -1
  345. package/dist/TreeView.css +166 -190
  346. package/dist/TreeView.css.map +1 -1
  347. package/dist/TreeView.mjs +220 -244
  348. package/dist/TreeView.mjs.map +1 -1
  349. package/dist/main.cjs +1 -0
  350. package/dist/main.cjs.map +1 -1
  351. package/dist/module.mjs +2 -2
  352. package/dist/module.mjs.map +1 -1
  353. package/dist/types.d.ts +77 -72
  354. package/dist/types.d.ts.map +1 -1
  355. package/icons/Icon.cjs.map +1 -1
  356. package/icons/Icon.mjs.map +1 -1
  357. package/icons/Skeleton.cjs +2 -2
  358. package/icons/Skeleton.cjs.map +1 -1
  359. package/icons/Skeleton.css +5 -5
  360. package/icons/Skeleton.css.map +1 -1
  361. package/icons/Skeleton.mjs +2 -2
  362. package/icons/Skeleton.mjs.map +1 -1
  363. package/package.json +21 -21
  364. package/src/Accordion.tsx +1 -1
  365. package/src/ActionButton.tsx +2 -2
  366. package/src/ActionMenu.tsx +1 -1
  367. package/src/Avatar.tsx +1 -1
  368. package/src/AvatarGroup.tsx +1 -1
  369. package/src/Breadcrumbs.tsx +4 -4
  370. package/src/Button.tsx +4 -4
  371. package/src/ButtonGroup.tsx +1 -1
  372. package/src/CardView.tsx +1 -1
  373. package/src/Checkbox.tsx +1 -1
  374. package/src/CheckboxGroup.tsx +2 -2
  375. package/src/CloseButton.tsx +1 -1
  376. package/src/ColorArea.tsx +1 -1
  377. package/src/ColorField.tsx +1 -1
  378. package/src/ColorSlider.tsx +1 -1
  379. package/src/ColorSwatch.tsx +1 -1
  380. package/src/ColorWheel.tsx +1 -1
  381. package/src/Content.tsx +7 -7
  382. package/src/ContextualHelp.tsx +2 -2
  383. package/src/Disclosure.tsx +1 -1
  384. package/src/Divider.tsx +1 -1
  385. package/src/DropZone.tsx +2 -2
  386. package/src/Field.tsx +1 -1
  387. package/src/Form.tsx +2 -2
  388. package/src/Icon.tsx +2 -2
  389. package/src/IllustratedMessage.tsx +1 -1
  390. package/src/Image.tsx +1 -1
  391. package/src/Link.tsx +2 -2
  392. package/src/Menu.tsx +4 -3
  393. package/src/Meter.tsx +1 -1
  394. package/src/NumberField.tsx +1 -1
  395. package/src/Picker.tsx +2 -1
  396. package/src/ProgressBar.tsx +1 -1
  397. package/src/ProgressCircle.tsx +1 -1
  398. package/src/RadioGroup.tsx +2 -2
  399. package/src/RangeSlider.tsx +1 -1
  400. package/src/SearchField.tsx +1 -1
  401. package/src/SegmentedControl.tsx +2 -2
  402. package/src/Skeleton.tsx +1 -1
  403. package/src/Slider.tsx +1 -1
  404. package/src/StatusLight.tsx +2 -2
  405. package/src/Switch.tsx +1 -1
  406. package/src/TableView.tsx +1 -1
  407. package/src/Tabs.tsx +16 -16
  408. package/src/TagGroup.tsx +2 -2
  409. package/src/TextField.tsx +2 -2
  410. package/src/ToggleButton.tsx +2 -2
  411. package/src/ToggleButtonGroup.tsx +1 -1
  412. package/src/Tooltip.tsx +3 -3
  413. package/src/TreeView.tsx +97 -144
  414. package/src/index.ts +1 -1
  415. package/style/__tests__/style-macro.test.js +18 -18
  416. package/style/dist/spectrum-theme.cjs +10 -20
  417. package/style/dist/spectrum-theme.cjs.map +1 -1
  418. package/style/dist/spectrum-theme.mjs +10 -20
  419. package/style/dist/spectrum-theme.mjs.map +1 -1
  420. package/style/dist/types.d.ts +0 -4
  421. package/style/dist/types.d.ts.map +1 -1
  422. package/style/spectrum-theme.ts +11 -19
package/dist/TagGroup.cjs CHANGED
@@ -67,43 +67,43 @@ $parcel$export(module.exports, "Tag", () => $2e3ddd7543f4a901$export$3288d34c523
67
67
  const $2e3ddd7543f4a901$export$5b07b5dd2cbd96e3 = /*#__PURE__*/ (0, $chbGa$react.createContext)(null);
68
68
  const $2e3ddd7543f4a901$var$helpTextStyles = function anonymous(props) {
69
69
  let rules = " .";
70
+ rules += ' __b-1le9d6f';
71
+ rules += ' __c-1le9d6f';
72
+ rules += ' __d-1le9d6f';
70
73
  rules += ' __e-1le9d6f';
71
- rules += ' __f-1le9d6f';
72
- rules += ' __g-1le9d6f';
73
- rules += ' __h-1le9d6f';
74
- rules += ' _3d';
75
- rules += ' _5d';
76
- rules += ' hbH';
77
- rules += ' hG';
74
+ rules += ' _0d';
75
+ rules += ' _2d';
78
76
  rules += ' ibH';
79
77
  rules += ' iG';
80
- rules += ' _g-bc1l9oh';
81
- rules += ' _g-1uotwbwg';
82
- rules += ' _g-eo0c6sf';
83
- rules += ' _g-enzzrge';
84
- rules += ' _g-enzykdd';
85
- rules += ' _g-enzwzjc';
86
- rules += ' _g-enzrfpb';
87
- rules += ' _ga';
78
+ rules += ' jbH';
79
+ rules += ' jG';
80
+ rules += ' _d-bc1l9oh';
81
+ rules += ' _d-1uotwbwg';
82
+ rules += ' _d-eo0c6sf';
83
+ rules += ' _d-enzzrge';
84
+ rules += ' _d-enzykdd';
85
+ rules += ' _d-enzwzjc';
86
+ rules += ' _d-enzrfpb';
87
+ rules += ' _da';
88
88
  if (props.size === "XL") {
89
- rules += ' _hbj';
90
- rules += ' _hi';
89
+ rules += ' _ebj';
90
+ rules += ' _ei';
91
91
  } else if (props.size === "L") {
92
- rules += ' _hbh';
93
- rules += ' _hg';
92
+ rules += ' _ebh';
93
+ rules += ' _eg';
94
94
  } else if (props.size === "S") {
95
- rules += ' _hbd';
96
- rules += ' _hc';
95
+ rules += ' _ebd';
96
+ rules += ' _ec';
97
97
  } else if (props.size === "XS") {
98
- rules += ' _hbb';
99
- rules += ' _ha';
98
+ rules += ' _ebb';
99
+ rules += ' _ea';
100
100
  } else {
101
- rules += ' _hbf';
102
- rules += ' _he';
101
+ rules += ' _ebf';
102
+ rules += ' _ee';
103
103
  }
104
- rules += ' _ib';
105
- rules += ' _j-1x99dlob';
106
- rules += ' _ja';
104
+ rules += ' _fb';
105
+ rules += ' _g-1x99dlob';
106
+ rules += ' _ga';
107
107
  if (props.isInvalid) {
108
108
  if (props.isPressed) rules += ' aP';
109
109
  else if (props.isFocusVisible) rules += ' aP';
@@ -115,10 +115,10 @@ const $2e3ddd7543f4a901$var$helpTextStyles = function anonymous(props) {
115
115
  else if (props.isHovered) rules += ' an';
116
116
  else rules += ' am';
117
117
  }
118
- rules += ' -rwx0fg_d-b';
119
- rules += ' __qe';
120
- rules += ' H-1inj1bc';
121
- rules += ' __Le';
118
+ rules += ' -rwx0fg_e-b';
119
+ rules += ' __ne';
120
+ rules += ' E-1inj1bc';
121
+ rules += ' __Ie';
122
122
  return rules;
123
123
  };
124
124
  const $2e3ddd7543f4a901$var$InternalTagGroupContext = /*#__PURE__*/ (0, $chbGa$react.createContext)({});
@@ -279,59 +279,59 @@ function $2e3ddd7543f4a901$var$TagGroupInner({ props: { label: label, descriptio
279
279
  style: UNSAFE_style,
280
280
  className: UNSAFE_className + function anonymous(props, overrides) {
281
281
  let rules = " .";
282
- let matches = (overrides || '').match(/(?:^|\s)(?:B|C|D|E|__d|__c|g|_9|_8|__E|__g|__h|__e|__f|Y|__U|_b|_d|Z|_a|k|p|q)[^\s]+/g) || [];
282
+ let matches = (overrides || '').match(/(?:^|\s)(?:y|z|A|B|__a|_9|h|_6|_5|__B|__d|__e|__b|__c|V|__R|Y|_a|W|X|l|q|r)[^\s]+/g) || [];
283
283
  rules += matches.join('');
284
- let $__e = false;
285
- let $__f = false;
284
+ let $__b = false;
285
+ let $__c = false;
286
286
  for (let p of matches){
287
- if (/^\s*__e/.test(p)) $__e = true;
288
- if (/^\s*__f/.test(p)) $__f = true;
287
+ if (/^\s*__b/.test(p)) $__b = true;
288
+ if (/^\s*__c/.test(p)) $__c = true;
289
289
  }
290
- rules += ' _3f';
291
- if (!$__e) {
292
- if (props.isInForm) rules += ' __e-3t1y';
290
+ rules += ' _0f';
291
+ if (!$__b) {
292
+ if (props.isInForm) rules += ' __b-3t1y';
293
293
  }
294
- if (!$__f) {
294
+ if (!$__c) {
295
295
  if (props.isInForm) {
296
- if (props.labelPosition === "side") rules += ' __f-yqnebx';
296
+ if (props.labelPosition === "side") rules += ' __c-yqnebx';
297
297
  }
298
298
  }
299
- if (props.isInForm) rules += ' __l-1a97rzt';
299
+ if (props.isInForm) rules += ' __i-1a97rzt';
300
300
  else {
301
- if (props.labelPosition === "side") rules += ' __l-ar5vcf';
302
- else if (props.labelPosition === "top") rules += ' __l-2wzs0i';
301
+ if (props.labelPosition === "side") rules += ' __i-ar5vcf';
302
+ else if (props.labelPosition === "top") rules += ' __i-2wzs0i';
303
303
  }
304
- if (props.labelPosition === "side") rules += ' __m-ar5vcf';
305
- else if (props.labelPosition === "top") rules += ' __m-1a6w430';
306
- if (props.labelPosition === "side") rules += ' __n-18h2yqz';
307
- else if (props.labelPosition === "top") rules += ' __n-1srn173';
304
+ if (props.labelPosition === "side") rules += ' __j-ar5vcf';
305
+ else if (props.labelPosition === "top") rules += ' __j-1a6w430';
306
+ if (props.labelPosition === "side") rules += ' __k-18h2yqz';
307
+ else if (props.labelPosition === "top") rules += ' __k-1srn173';
308
308
  if (props.size === "XL") {
309
- rules += ' _hbj';
310
- rules += ' _hi';
309
+ rules += ' _ebj';
310
+ rules += ' _ei';
311
311
  } else if (props.size === "L") {
312
- rules += ' _hbh';
313
- rules += ' _hg';
312
+ rules += ' _ebh';
313
+ rules += ' _eg';
314
314
  } else if (props.size === "S") {
315
- rules += ' _hbd';
316
- rules += ' _hc';
315
+ rules += ' _ebd';
316
+ rules += ' _ec';
317
317
  } else if (props.size === "XS") {
318
- rules += ' _hbb';
319
- rules += ' _ha';
318
+ rules += ' _ebb';
319
+ rules += ' _ea';
320
320
  } else {
321
- rules += ' _hbf';
322
- rules += ' _he';
321
+ rules += ' _ebf';
322
+ rules += ' _ee';
323
323
  }
324
- rules += ' _5d';
325
- rules += ' _j-1x99dlob';
326
- rules += ' _ja';
327
- if (props.size === "XL") rules += ' -aqrvqh_j-j';
328
- else if (props.size === "L") rules += ' -aqrvqh_j-i';
329
- else if (props.size === "S") rules += ' -aqrvqh_j-h';
330
- else if (props.size === "XS") rules += ' -aqrvqh_j-g';
331
- else rules += ' -aqrvqh_j-f';
332
- rules += ' -_1inj1bc_h--prjw07';
333
- rules += ' ie';
334
- rules += ' __V-yksgrp';
324
+ rules += ' _2d';
325
+ rules += ' _g-1x99dlob';
326
+ rules += ' _ga';
327
+ if (props.size === "XL") rules += ' -aqrvqh_k-j';
328
+ else if (props.size === "L") rules += ' -aqrvqh_k-i';
329
+ else if (props.size === "S") rules += ' -aqrvqh_k-h';
330
+ else if (props.size === "XS") rules += ' -aqrvqh_k-g';
331
+ else rules += ' -aqrvqh_k-f';
332
+ rules += ' -_1inj1bc_i--prjw07';
333
+ rules += ' je';
334
+ rules += ' __S-yksgrp';
335
335
  return rules;
336
336
  }({
337
337
  size: size,
@@ -350,16 +350,16 @@ function $2e3ddd7543f4a901$var$TagGroupInner({ props: { label: label, descriptio
350
350
  ref: containerRef,
351
351
  className: function anonymous(props) {
352
352
  let rules = " .";
353
+ rules += ' __b-g2ozi1';
354
+ rules += ' __c-g2ozi1';
355
+ rules += ' __d-g2ozi1';
353
356
  rules += ' __e-g2ozi1';
354
- rules += ' __f-g2ozi1';
355
- rules += ' __g-g2ozi1';
356
- rules += ' __h-g2ozi1';
357
- rules += ' pb';
358
- if (props.isEmpty) rules += ' Ba';
359
- else rules += ' BK';
360
- if (props.isEmpty) rules += ' Ca';
361
- else rules += ' Cc';
362
- rules += ' Yc';
357
+ rules += ' qb';
358
+ if (props.isEmpty) rules += ' ya';
359
+ else rules += ' yK';
360
+ if (props.isEmpty) rules += ' za';
361
+ else rules += ' zc';
362
+ rules += ' Vc';
363
363
  return rules;
364
364
  }({
365
365
  isEmpty: isEmpty
@@ -388,7 +388,7 @@ function $2e3ddd7543f4a901$var$TagGroupInner({ props: { label: label, descriptio
388
388
  // @ts-ignore
389
389
  inert: (0, $chbGa$reactariautils.inertValue)(true),
390
390
  ref: hiddenTagsRef,
391
- className: " _3c __ba _ga _g-enzrfpb _g-enzwzjc _g-enzykdd _g-enzzrge _g-eo0c6sf _g-1uotwbwg _g-bc1l9oh Ya _ba _da __Ib __zb __Ab _O-3t1x",
391
+ className: " _0c _8a _da _d-enzrfpb _d-enzwzjc _d-enzykdd _d-enzzrge _d-eo0c6sf _d-1uotwbwg _d-bc1l9oh Va Ya _aa __Fb __wb __xb _L-3t1x",
392
392
  children: allItems.map((item)=>{
393
393
  // pull off individual props as an allow list, don't want refs or other props getting through
394
394
  return /*#__PURE__*/ (0, $chbGa$reactjsxruntime.jsx)("div", {
@@ -409,7 +409,7 @@ function $2e3ddd7543f4a901$var$TagGroupInner({ props: { label: label, descriptio
409
409
  ref: tagsRef,
410
410
  items: items,
411
411
  renderEmptyState: renderEmptyState,
412
- className: " _3c pb _ga _g-enzrfpb _g-enzwzjc _g-enzykdd _g-enzzrge _g-eo0c6sf _g-1uotwbwg _g-bc1l9oh _he _hbf _ib _ja _j-1x99dlob an",
412
+ className: " _0c qb _da _d-enzrfpb _d-enzwzjc _d-enzykdd _d-enzzrge _d-eo0c6sf _d-1uotwbwg _d-bc1l9oh _ee _ebf _fb _ga _g-1x99dlob an",
413
413
  children: (item)=>/*#__PURE__*/ (0, $chbGa$reactjsxruntime.jsx)($2e3ddd7543f4a901$export$3288d34c523a1192, {
414
414
  ...item.props,
415
415
  id: item.key,
@@ -451,12 +451,12 @@ function $2e3ddd7543f4a901$var$ActionGroup(props) {
451
451
  id: actionsId,
452
452
  "aria-label": ariaLabel ? `${ariaLabel} ${actionGroupLabel}` : actionGroupLabel,
453
453
  "aria-labelledby": ariaLabelledBy ? ariaLabelledBy : undefined,
454
- className: " _3c",
454
+ className: " _0c",
455
455
  children: [
456
456
  tagState.showCollapseButton && /*#__PURE__*/ (0, $chbGa$reactjsxruntime.jsx)((0, $6e265ff388155b91$exports.ActionButton), {
457
457
  isQuiet: true,
458
458
  size: size,
459
- styles: " Dc Ec Bc Cc",
459
+ styles: " Ac Bc yc zc",
460
460
  UNSAFE_style: {
461
461
  display: 'inline-flex'
462
462
  },
@@ -468,7 +468,7 @@ function $2e3ddd7543f4a901$var$ActionGroup(props) {
468
468
  groupActionLabel && onGroupAction && /*#__PURE__*/ (0, $chbGa$reactjsxruntime.jsx)((0, $6e265ff388155b91$exports.ActionButton), {
469
469
  isQuiet: true,
470
470
  size: size,
471
- styles: " Dc Ec Bc Cc",
471
+ styles: " Ac Bc yc zc",
472
472
  UNSAFE_style: {
473
473
  display: 'inline-flex'
474
474
  },
@@ -480,45 +480,45 @@ function $2e3ddd7543f4a901$var$ActionGroup(props) {
480
480
  }
481
481
  const $2e3ddd7543f4a901$var$tagStyles = function anonymous(props) {
482
482
  let rules = " .";
483
- if (props.isFocusVisible) rules += ' _Pb';
484
- else rules += ' _Pa';
485
- rules += ' ca_____M';
486
- rules += ' cx';
487
- rules += ' _Rc';
488
- rules += ' _Q-3t1z';
489
- rules += ' _3e';
490
- rules += ' __ra';
491
- rules += ' qb';
492
- rules += ' _oc';
493
- rules += ' _5c';
494
- rules += ' _6d';
495
- rules += ' _g-bc1l9oh';
496
- rules += ' _g-1uotwbwg';
497
- rules += ' _g-eo0c6sf';
498
- rules += ' _g-enzzrge';
499
- rules += ' _g-enzykdd';
500
- rules += ' _g-enzwzjc';
501
- rules += ' _g-enzrfpb';
502
- rules += ' _ga';
483
+ if (props.isFocusVisible) rules += ' _Mb';
484
+ else rules += ' _Ma';
485
+ rules += ' da_____M';
486
+ rules += ' dx';
487
+ rules += ' _Oc';
488
+ rules += ' _N-3t1z';
489
+ rules += ' _0e';
490
+ rules += ' __oa';
491
+ rules += ' rb';
492
+ rules += ' _lc';
493
+ rules += ' _2c';
494
+ rules += ' _3d';
495
+ rules += ' _d-bc1l9oh';
496
+ rules += ' _d-1uotwbwg';
497
+ rules += ' _d-eo0c6sf';
498
+ rules += ' _d-enzzrge';
499
+ rules += ' _d-enzykdd';
500
+ rules += ' _d-enzwzjc';
501
+ rules += ' _d-enzrfpb';
502
+ rules += ' _da';
503
503
  if (props.size === "XL") {
504
- rules += ' _hbj';
505
- rules += ' _hi';
504
+ rules += ' _ebj';
505
+ rules += ' _ei';
506
506
  } else if (props.size === "L") {
507
- rules += ' _hbh';
508
- rules += ' _hg';
507
+ rules += ' _ebh';
508
+ rules += ' _eg';
509
509
  } else if (props.size === "S") {
510
- rules += ' _hbd';
511
- rules += ' _hc';
510
+ rules += ' _ebd';
511
+ rules += ' _ec';
512
512
  } else if (props.size === "XS") {
513
- rules += ' _hbb';
514
- rules += ' _ha';
513
+ rules += ' _ebb';
514
+ rules += ' _ea';
515
515
  } else {
516
- rules += ' _hbf';
517
- rules += ' _he';
516
+ rules += ' _ebf';
517
+ rules += ' _ee';
518
518
  }
519
- rules += ' _ib';
520
- rules += ' _j-1x99dlob';
521
- rules += ' _ja';
519
+ rules += ' _fb';
520
+ rules += ' _g-1x99dlob';
521
+ rules += ' _ga';
522
522
  if (props.isDisabled) rules += ' aa_____O';
523
523
  else if (props.isSelected) rules += ' aa_____N';
524
524
  else rules += ' aa_____K';
@@ -532,11 +532,11 @@ const $2e3ddd7543f4a901$var$tagStyles = function anonymous(props) {
532
532
  else if (props.isHovered) rules += ' ao';
533
533
  else rules += ' an';
534
534
  }
535
- rules += ' j-375top';
535
+ rules += ' k-375toq';
536
+ rules += ' _Pa';
537
+ rules += ' _R-375x7f';
536
538
  rules += ' _Sa';
537
- rules += ' _U-375x7f';
538
- rules += ' _Va';
539
- rules += ' po';
539
+ rules += ' qo';
540
540
  if (props.isSelected) rules += ' ba_____M';
541
541
  else rules += ' ba_____J';
542
542
  if (props.isDisabled) rules += ' bg';
@@ -555,29 +555,29 @@ const $2e3ddd7543f4a901$var$tagStyles = function anonymous(props) {
555
555
  } else if (props.isFocusVisible) rules += ' bh';
556
556
  else if (props.isHovered) rules += ' bh';
557
557
  else rules += ' bg';
558
- rules += ' zf';
559
- rules += ' FI';
560
- if (props.allowsRemoving) rules += ' Ga';
561
- else rules += ' GI';
562
- rules += ' Ha';
563
- rules += ' Ia';
564
- rules += ' Dc';
565
- rules += ' Ec';
558
+ rules += ' wf';
559
+ rules += ' CI';
560
+ if (props.allowsRemoving) rules += ' Da';
561
+ else rules += ' DI';
562
+ rules += ' Ea';
563
+ rules += ' Fa';
564
+ rules += ' Ac';
566
565
  rules += ' Bc';
567
- rules += ' Cc';
566
+ rules += ' yc';
567
+ rules += ' zc';
568
+ rules += ' _wh';
569
+ rules += ' _xh';
570
+ rules += ' _yh';
568
571
  rules += ' _zh';
569
- rules += ' _Ah';
570
- rules += ' _Bh';
571
- rules += ' _Ch';
572
- if (props.isLink) rules += ' __Lc';
573
- else rules += ' __Lb';
574
- rules += ' -oelgqu_D--177861o';
575
- rules += ' -rwx0fg_d-b';
576
- if (props.size === "XL") rules += ' -_375top_j-j';
577
- else if (props.size === "L") rules += ' -_375top_j-i';
578
- else if (props.size === "S") rules += ' -_375top_j-h';
579
- else if (props.size === "XS") rules += ' -_375top_j-g';
580
- else rules += ' -_375top_j-f';
572
+ if (props.isLink) rules += ' __Ic';
573
+ else rules += ' __Ib';
574
+ rules += ' -oelgqu_A--177861o';
575
+ rules += ' -rwx0fg_e-b';
576
+ if (props.size === "XL") rules += ' -_375toq_k-j';
577
+ else if (props.size === "L") rules += ' -_375toq_k-i';
578
+ else if (props.size === "S") rules += ' -_375toq_k-h';
579
+ else if (props.size === "XS") rules += ' -_375toq_k-g';
580
+ else rules += ' -_375toq_k-f';
581
581
  return rules;
582
582
  };
583
583
  const $2e3ddd7543f4a901$var$avatarSize = {
@@ -619,13 +619,13 @@ function $2e3ddd7543f4a901$var$TagWrapper({ children: children, isDisabled: isDi
619
619
  return /*#__PURE__*/ (0, $chbGa$reactjsxruntime.jsxs)((0, $chbGa$reactjsxruntime.Fragment), {
620
620
  children: [
621
621
  isInRealDOM && /*#__PURE__*/ (0, $chbGa$reactjsxruntime.jsx)("div", {
622
- className: " _3d po _5c hG hbH iG ibH _Db ba",
622
+ className: " _0d qo _2c iG ibH jG jbH _Ab ba",
623
623
  children: /*#__PURE__*/ (0, $chbGa$reactjsxruntime.jsx)((0, $chbGa$reactariacomponents.Provider), {
624
624
  values: [
625
625
  [
626
626
  (0, $6367bc87eb7d24ad$exports.TextContext),
627
627
  {
628
- styles: " __E-3t1y __zb __Ab _qa _tb"
628
+ styles: " __B-3t1y __wb __xb _na _qb"
629
629
  }
630
630
  ],
631
631
  [
@@ -633,22 +633,22 @@ function $2e3ddd7543f4a901$var$TagWrapper({ children: children, isDisabled: isDi
633
633
  {
634
634
  render: (0, $e991cbcdf82ced71$exports.centerBaseline)({
635
635
  slot: 'icon',
636
- styles: " __E-3t1x"
636
+ styles: " __B-3t1x"
637
637
  }),
638
- styles: " k-1sthc3k j-1sthc3k B-oelgqu __c-3t1x"
638
+ styles: " l-1sthc3k k-1sthc3k y-oelgqu _9-3t1x"
639
639
  }
640
640
  ],
641
641
  [
642
642
  (0, $38071d9ce246d4cf$exports.AvatarContext),
643
643
  {
644
644
  size: $2e3ddd7543f4a901$var$avatarSize[size],
645
- styles: " __E-3t1x"
645
+ styles: " __B-3t1x"
646
646
  }
647
647
  ],
648
648
  [
649
649
  (0, $053b76ed3d29e13b$exports.ImageContext),
650
650
  {
651
- styles: " k-1sthc3k j-1sthc3k __c-3t1x __E-3t1x _fb __Ra _zb _Ab _Bb _Cb"
651
+ styles: " l-1sthc3k k-1sthc3k _9-3t1x __B-3t1x _cb __Oa _wb _xb _yb _zb"
652
652
  }
653
653
  ]
654
654
  ],
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@react-spectrum/s2/src/TagGroup.tsx"],"sourcesContent":["/*\n * Copyright 2024 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 './ActionButton';\nimport AlertIcon from '../s2wf-icons/S2_Icon_AlertTriangle_20_N.svg';\nimport {\n Tag as AriaTag,\n TagGroup as AriaTagGroup,\n TagGroupProps as AriaTagGroupProps,\n TagProps as AriaTagProps,\n composeRenderProps,\n ContextValue,\n Provider,\n TextContext as RACTextContext,\n TagList,\n TagListProps,\n useLocale,\n useSlottedContext\n} from 'react-aria-components';\nimport {AvatarContext} from './Avatar';\nimport {CenterBaseline, centerBaseline} from './CenterBaseline';\nimport {ClearButton} from './ClearButton';\nimport {Collection, CollectionBuilder} from '@react-aria/collections';\nimport {createContext, forwardRef, ReactNode, useContext, useEffect, useMemo, useRef, useState} from 'react';\nimport {DOMRef, DOMRefValue, HelpTextProps, Node, SpectrumLabelableProps} from '@react-types/shared';\nimport {field, getAllowedOverrides, StyleProps} from './style-utils' with {type: 'macro'};\nimport {FieldLabel} from './Field';\nimport {flushSync} from 'react-dom';\nimport {focusRing, fontRelative, style} from '../style' with { type: 'macro' };\nimport {FormContext, useFormProps} from './Form';\nimport {forwardRefType} from './types';\nimport {IconContext} from './Icon';\nimport {ImageContext} from './Image';\nimport {inertValue, useEffectEvent, useId, useLayoutEffect, useResizeObserver} from '@react-aria/utils';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {pressScale} from './pressScale';\nimport {Text, TextContext} from './Content';\nimport {useDOMRef} from '@react-spectrum/utils';\nimport {useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\n// Get types from RSP and extend those?\nexport interface TagProps extends Omit<AriaTagProps, 'children' | 'style' | 'className'> {\n /** The children of the tag. */\n children?: ReactNode\n}\n\nexport interface TagGroupProps<T> extends Omit<AriaTagGroupProps, 'children' | 'style' | 'className'>, Pick<TagListProps<T>, 'items' | 'children' | 'renderEmptyState'>, Omit<SpectrumLabelableProps, 'isRequired' | 'necessityIndicator'>, StyleProps, Omit<HelpTextProps, 'errorMessage'> {\n /** A description for the tag group. */\n description?: ReactNode,\n /**\n * The size of the tag group.\n *\n * @default 'M'\n */\n size?: 'S' | 'M' | 'L',\n /** Whether the tags are displayed in an emphasized style. */\n isEmphasized?: boolean,\n /** Provides content to display when there are no items in the tag group. */\n renderEmptyState?: () => ReactNode,\n /** Whether the tags are displayed in a error state. */\n isInvalid?: boolean,\n /** An error message for the field. */\n errorMessage?: ReactNode,\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 /** The label to display on the action button. */\n groupActionLabel?: string,\n /** Handler that is called when the action button is pressed. */\n onGroupAction?: () => void\n}\n\nexport const TagGroupContext = createContext<ContextValue<TagGroupProps<any>, DOMRefValue<HTMLDivElement>>>(null);\n\nconst helpTextStyles = style({\n gridArea: 'helptext',\n display: 'flex',\n alignItems: 'baseline',\n gap: 'text-to-visual',\n font: 'control',\n color: {\n default: 'neutral-subdued',\n isInvalid: 'negative'\n },\n '--iconPrimary': {\n type: 'fill',\n value: 'currentColor'\n },\n contain: 'inline-size',\n paddingTop: '--field-gap',\n cursor: 'text'\n});\n\nconst InternalTagGroupContext = createContext<TagGroupProps<any>>({});\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 = /*#__PURE__*/ (forwardRef as forwardRefType)(function TagGroup<T extends object>(props: TagGroupProps<T>, ref: DOMRef<HTMLDivElement>) {\n [props, ref] = useSpectrumContextProps(props, ref, TagGroupContext);\n props = useFormProps(props);\n let {onRemove} = props;\n return (\n <InternalTagGroupContext.Provider value={{onRemove}}>\n <CollectionBuilder content={<Collection {...props} />}>\n {collection => <TagGroupInner props={props} forwardedRef={ref} collection={collection} />}\n </CollectionBuilder>\n </InternalTagGroupContext.Provider>\n );\n});\n\nfunction TagGroupInner<T>({\n props: {\n label,\n description,\n labelPosition = 'top',\n labelAlign = 'start',\n isEmphasized,\n isInvalid,\n errorMessage,\n UNSAFE_className = '',\n UNSAFE_style,\n size = 'M',\n ...props\n },\n forwardedRef: ref,\n collection\n}: {props: TagGroupProps<T>, forwardedRef: DOMRef<HTMLDivElement>, collection: any}) {\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');\n let {\n maxRows,\n groupActionLabel,\n onGroupAction,\n renderEmptyState = () => stringFormatter.format('tag.noTags'),\n ...otherProps\n } = props;\n let {direction} = useLocale();\n let containerRef = useRef(null);\n let tagsRef = useRef<HTMLDivElement | null>(null);\n let actionsRef = useRef<HTMLDivElement | null>(null);\n let hiddenTagsRef = useRef<HTMLDivElement | null>(null);\n let [tagState, setTagState] = useState({visibleTagCount: collection.size, showCollapseButton: false});\n let [isCollapsed, setIsCollapsed] = useState(maxRows != null);\n let {onRemove} = useContext(InternalTagGroupContext);\n let isEmpty = collection.size === 0;\n let showCollapseToggleButton = tagState.showCollapseButton || tagState.visibleTagCount < collection.size;\n let formContext = useContext(FormContext);\n let domRef = useDOMRef(ref);\n\n let allItems = useMemo(\n () => Array.from(collection) as Array<Node<T>>,\n [collection]\n );\n let items = useMemo(\n () => Array.from(collection).slice(0, !isCollapsed ? collection.size : tagState.visibleTagCount) as Array<Node<T>>,\n [collection, tagState.visibleTagCount, isCollapsed]\n );\n\n let updateVisibleTagCount = useEffectEvent(() => {\n if (maxRows == null) {\n setTagState({visibleTagCount: collection.size, showCollapseButton: false});\n }\n\n if (maxRows != null && maxRows > 0) {\n let computeVisibleTagCount = () => {\n let currContainerRef: HTMLDivElement | null = hiddenTagsRef.current;\n let currTagsRef: HTMLDivElement | null = hiddenTagsRef.current;\n let currActionsRef: HTMLDivElement | null = actionsRef.current;\n if (!currContainerRef || !currTagsRef || collection.size === 0 || currContainerRef.parentElement == null) {\n return {\n visibleTagCount: 0,\n showCollapseButton: false\n };\n }\n\n // Count rows and show tags until we hit the maxRows.\n // I think this is still a safe assumption, and we don't need to queryAll for role=tag\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 (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 ? [...currActionsRef.children] : [];\n if (buttons.length > 0 && rowCount >= maxRows) {\n let buttonsWidth = buttons.reduce((acc, curr) => acc += curr.getBoundingClientRect().width, 0);\n let margins = parseFloat(getComputedStyle(buttons[0]).marginInlineStart);\n buttonsWidth += margins * 2;\n let end = direction === 'ltr' ? 'right' : 'left';\n let containerEnd = currContainerRef.parentElement?.getBoundingClientRect()[end] - margins;\n let lastTagEnd = tags[index - 1]?.getBoundingClientRect()[end];\n lastTagEnd += margins;\n let availableWidth = containerEnd - lastTagEnd;\n\n while (availableWidth <= buttonsWidth && index > 0) {\n let tagWidth = tagWidths.pop();\n if (tagWidth != null) {\n availableWidth += tagWidth;\n }\n index--;\n }\n }\n\n return {\n visibleTagCount: Math.max(index, 1),\n showCollapseButton: index < collection.size\n };\n };\n let result = computeVisibleTagCount();\n flushSync(() => {\n setTagState(result);\n });\n }\n });\n\n useResizeObserver({ref: maxRows != null ? containerRef : undefined, onResize: updateVisibleTagCount});\n\n useLayoutEffect(() => {\n if (collection.size > 0 && (maxRows != null && maxRows > 0)) {\n queueMicrotask(updateVisibleTagCount);\n }\n }, [collection.size, updateVisibleTagCount, maxRows]);\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 handlePressCollapse = () => {\n setIsCollapsed(prevCollapsed => !prevCollapsed);\n };\n\n let helpText: ReactNode = null;\n if (!isInvalid && description) {\n helpText = (\n <Text\n slot=\"description\"\n styles={helpTextStyles({size})}>\n {description}\n </Text>\n );\n } else if (isInvalid) {\n helpText = (\n <div\n className={helpTextStyles({size, isInvalid})}>\n <CenterBaseline>\n <AlertIcon />\n </CenterBaseline>\n <Text slot=\"errorMessage\">\n {errorMessage}\n </Text>\n </div>\n );\n }\n\n return (\n <AriaTagGroup\n {...otherProps}\n ref={domRef}\n style={UNSAFE_style}\n className={UNSAFE_className + style(field(), getAllowedOverrides())({\n size,\n labelPosition: labelPosition,\n isInForm: !!formContext\n }, props.styles)}>\n <FieldLabel\n size={size}\n labelPosition={labelPosition}\n labelAlign={labelAlign}\n contextualHelp={props.contextualHelp}>\n {label}\n </FieldLabel>\n <div\n ref={containerRef}\n className={style({\n gridArea: 'input',\n minWidth: 'full',\n marginStart: {\n default: -4,\n isEmpty: 0\n },\n marginEnd: {\n default: 4,\n isEmpty: 0\n },\n position: 'relative'\n })({isEmpty})}>\n <FormContext.Provider value={{...formContext, size}}>\n <Provider\n values={[\n [RACTextContext, undefined],\n [TagGroupContext, {size, isEmphasized}]\n ]}>\n {/* invisible collection for measuring */}\n {maxRows != null && (\n <div\n // @ts-ignore\n inert={inertValue(true)}\n ref={hiddenTagsRef}\n className={style({\n display: 'inline',\n flexWrap: 'wrap',\n fontFamily: 'sans',\n position: 'absolute',\n top: 0,\n bottom: 0,\n start: -4,\n end: 4,\n visibility: 'hidden',\n overflow: 'hidden',\n opacity: 0\n })}>\n {allItems.map(item => {\n // pull off individual props as an allow list, don't want refs or other props getting through\n return (\n <div\n style={item.props.UNSAFE_style}\n key={item.key}\n className={item.props.className({size, allowsRemoving: Boolean(onRemove)})}>\n {item.props.children({size, allowsRemoving: Boolean(onRemove), isInCtx: true})}\n </div>\n );\n })}\n </div>\n )}\n {/* real tag list */}\n <TagList\n ref={tagsRef}\n items={items}\n renderEmptyState={renderEmptyState}\n className={style({\n display: 'inline',\n minWidth: 'full',\n font: 'ui'\n })}>\n {item => <Tag {...item.props} id={item.key} textValue={item.textValue} />}\n </TagList>\n {!isEmpty && (showCollapseToggleButton || groupActionLabel) &&\n <ActionGroup\n collection={collection}\n aria-label={props['aria-label']}\n aria-labelledby={props['aria-labelledby']}\n actionsRef={actionsRef}\n tagState={tagState}\n size={size}\n isCollapsed={isCollapsed}\n handlePressCollapse={handlePressCollapse}\n onGroupAction={onGroupAction}\n groupActionLabel={groupActionLabel} />\n }\n </Provider>\n </FormContext.Provider>\n </div>\n {helpText}\n </AriaTagGroup>\n );\n}\n\nfunction ActionGroup(props) {\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');\n let {\n actionsRef,\n tagState,\n size,\n isCollapsed,\n handlePressCollapse,\n onGroupAction,\n groupActionLabel,\n collection,\n // directly use aria-labelling from the TagGroup because we can't use the id from the TagList\n // and we can't supply an id to the TagList because it'll cause an issue where all the tag ids flip back\n // and forth with their prefix in an infinite loop\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy\n } = props;\n\n let actionsId = useId();\n // might need to localize the aria-label which concatenates with this label\n let actionGroupLabel = stringFormatter.format('tag.actions');\n return (\n <div\n role=\"group\"\n ref={actionsRef}\n id={actionsId}\n aria-label={ariaLabel ? `${ariaLabel} ${actionGroupLabel}` : actionGroupLabel}\n aria-labelledby={ariaLabelledBy ? ariaLabelledBy : undefined}\n className={style({\n display: 'inline'\n })}>\n {tagState.showCollapseButton &&\n <ActionButton\n isQuiet\n size={size}\n styles={style({margin: 4})}\n UNSAFE_style={{display: 'inline-flex'}}\n onPress={handlePressCollapse}>\n {isCollapsed ?\n stringFormatter.format('tag.showAllButtonLabel', {tagCount: collection.size}) :\n stringFormatter.format('tag.hideButtonLabel')}\n </ActionButton>\n }\n {groupActionLabel && onGroupAction &&\n <ActionButton\n isQuiet\n size={size}\n styles={style({margin: 4})}\n UNSAFE_style={{display: 'inline-flex'}}\n onPress={() => onGroupAction?.()}>\n {groupActionLabel}\n </ActionButton>\n }\n </div>\n );\n}\n\nconst tagStyles = style({\n ...focusRing(),\n display: 'inline-flex',\n boxSizing: 'border-box',\n maxWidth: 'full',\n verticalAlign: 'middle',\n alignItems: 'center',\n justifyContent: 'center',\n font: 'control',\n height: 'control',\n transition: 'default',\n minWidth: 0,\n // maxWidth: '[calc(self(height) * 7)]', // s2 designs show a max width on tags but we pushed back on this in v3\n backgroundColor: {\n default: 'gray-100',\n isHovered: {\n default: 'gray-200'\n },\n isFocusVisible: {\n default: 'gray-200'\n },\n isSelected: {\n default: 'neutral',\n isEmphasized: {\n default: 'accent'\n }\n },\n isDisabled: 'disabled',\n forcedColors: {\n default: 'ButtonFace',\n isSelected: 'Highlight'\n }\n },\n color: {\n default: 'neutral',\n isSelected: {\n default: 'gray-25',\n isEmphasized: 'white'\n },\n isDisabled: 'disabled',\n forcedColors: {\n default: 'ButtonText',\n isSelected: 'HighlightText',\n isDisabled: 'GrayText'\n }\n },\n borderStyle: 'none',\n paddingStart: {\n default: 'edge-to-text'\n },\n paddingEnd: {\n default: 'edge-to-text',\n allowsRemoving: 0\n },\n paddingY: 0,\n margin: 4,\n borderRadius: 'control',\n cursor: {\n default: 'default',\n isLink: 'pointer'\n },\n '--iconMargin': {\n type: 'marginTop',\n value: {\n default: fontRelative(-2)\n }\n },\n '--iconPrimary': {\n type: 'fill',\n value: 'currentColor'\n }\n});\n\nconst avatarSize = {\n S: 16,\n M: 20,\n L: 24\n} as const;\n\n/** An individual Tag for TagGroups. */\nexport const Tag = /*#__PURE__*/ (forwardRef as forwardRefType)(function Tag({children, textValue, ...props}: TagProps, ref: DOMRef<HTMLDivElement>) {\n textValue ||= typeof children === 'string' ? children : undefined;\n let ctx = useSlottedContext(TagGroupContext);\n let isInRealDOM = Boolean(ctx?.size);\n let {size, isEmphasized} = ctx ?? {};\n let domRef = useDOMRef(ref);\n\n let backupRef = useRef(null);\n domRef = domRef || backupRef;\n let isLink = props.href != null;\n return (\n <AriaTag\n textValue={textValue}\n {...props}\n ref={domRef}\n style={pressScale(domRef)}\n className={renderProps => tagStyles({size, isEmphasized, isLink, ...renderProps})} >\n {composeRenderProps(children, (children, renderProps) => (\n <TagWrapper isInRealDOM={isInRealDOM} {...renderProps}>{typeof children === 'string' ? <Text>{children}</Text> : children}</TagWrapper>\n ))}\n </AriaTag>\n );\n});\n\nfunction TagWrapper({children, isDisabled, allowsRemoving, isInRealDOM}) {\n let {size = 'M'} = useSlottedContext(TagGroupContext) ?? {};\n return (\n <>\n {isInRealDOM && (\n <div\n className={style({\n display: 'flex',\n minWidth: 0,\n alignItems: 'center',\n gap: 'text-to-visual',\n forcedColorAdjust: 'none',\n backgroundColor: 'transparent'\n })}>\n <Provider\n values={[\n [TextContext, {styles: style({order: 1, truncate: true})}],\n [IconContext, {\n render: centerBaseline({slot: 'icon', styles: style({order: 0})}),\n styles: style({size: fontRelative(20), marginStart: '--iconMargin', flexShrink: 0})\n }],\n [AvatarContext, {\n size: avatarSize[size],\n styles: style({order: 0})\n }],\n [ImageContext, {\n styles: style({\n size: fontRelative(20),\n flexShrink: 0,\n order: 0,\n aspectRatio: 'square',\n objectFit: 'contain',\n borderRadius: 'sm'\n })\n }]\n ]}>\n {children}\n </Provider>\n </div>\n )}\n {!isInRealDOM && children}\n {allowsRemoving && isInRealDOM && (\n <ClearButton\n slot=\"remove\"\n size={size}\n isDisabled={isDisabled} />\n )}\n </>\n );\n}\n"],"names":[],"version":3,"file":"TagGroup.cjs.map"}
1
+ {"mappings":"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","sources":["packages/@react-spectrum/s2/src/TagGroup.tsx"],"sourcesContent":["/*\n * Copyright 2024 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 './ActionButton';\nimport AlertIcon from '../s2wf-icons/S2_Icon_AlertTriangle_20_N.svg';\nimport {\n Tag as AriaTag,\n TagGroup as AriaTagGroup,\n TagGroupProps as AriaTagGroupProps,\n TagProps as AriaTagProps,\n composeRenderProps,\n ContextValue,\n Provider,\n TextContext as RACTextContext,\n TagList,\n TagListProps,\n useLocale,\n useSlottedContext\n} from 'react-aria-components';\nimport {AvatarContext} from './Avatar';\nimport {CenterBaseline, centerBaseline} from './CenterBaseline';\nimport {ClearButton} from './ClearButton';\nimport {Collection, CollectionBuilder} from '@react-aria/collections';\nimport {createContext, forwardRef, ReactNode, useContext, useEffect, useMemo, useRef, useState} from 'react';\nimport {DOMRef, DOMRefValue, HelpTextProps, Node, SpectrumLabelableProps} from '@react-types/shared';\nimport {field, getAllowedOverrides, StyleProps} from './style-utils' with {type: 'macro'};\nimport {FieldLabel} from './Field';\nimport {flushSync} from 'react-dom';\nimport {focusRing, fontRelative, style} from '../style' with { type: 'macro' };\nimport {FormContext, useFormProps} from './Form';\nimport {forwardRefType} from './types';\nimport {IconContext} from './Icon';\nimport {ImageContext} from './Image';\nimport {inertValue, useEffectEvent, useId, useLayoutEffect, useResizeObserver} from '@react-aria/utils';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {pressScale} from './pressScale';\nimport {Text, TextContext} from './Content';\nimport {useDOMRef} from '@react-spectrum/utils';\nimport {useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\n// Get types from RSP and extend those?\nexport interface TagProps extends Omit<AriaTagProps, 'children' | 'style' | 'className'> {\n /** The children of the tag. */\n children: ReactNode\n}\n\nexport interface TagGroupProps<T> extends Omit<AriaTagGroupProps, 'children' | 'style' | 'className'>, Pick<TagListProps<T>, 'items' | 'children' | 'renderEmptyState'>, Omit<SpectrumLabelableProps, 'isRequired' | 'necessityIndicator'>, StyleProps, Omit<HelpTextProps, 'errorMessage'> {\n /** A description for the tag group. */\n description?: ReactNode,\n /**\n * The size of the tag group.\n *\n * @default 'M'\n */\n size?: 'S' | 'M' | 'L',\n /** Whether the tags are displayed in an emphasized style. */\n isEmphasized?: boolean,\n /** Provides content to display when there are no items in the tag group. */\n renderEmptyState?: () => ReactNode,\n /** Whether the tags are displayed in a error state. */\n isInvalid?: boolean,\n /** An error message for the field. */\n errorMessage?: ReactNode,\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 /** The label to display on the action button. */\n groupActionLabel?: string,\n /** Handler that is called when the action button is pressed. */\n onGroupAction?: () => void\n}\n\nexport const TagGroupContext = createContext<ContextValue<Partial<TagGroupProps<any>>, DOMRefValue<HTMLDivElement>>>(null);\n\nconst helpTextStyles = style({\n gridArea: 'helptext',\n display: 'flex',\n alignItems: 'baseline',\n gap: 'text-to-visual',\n font: 'control',\n color: {\n default: 'neutral-subdued',\n isInvalid: 'negative'\n },\n '--iconPrimary': {\n type: 'fill',\n value: 'currentColor'\n },\n contain: 'inline-size',\n paddingTop: '--field-gap',\n cursor: 'text'\n});\n\nconst InternalTagGroupContext = createContext<TagGroupProps<any>>({});\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 = /*#__PURE__*/ (forwardRef as forwardRefType)(function TagGroup<T extends object>(props: TagGroupProps<T>, ref: DOMRef<HTMLDivElement>) {\n [props, ref] = useSpectrumContextProps(props, ref, TagGroupContext);\n props = useFormProps(props);\n let {onRemove} = props;\n return (\n <InternalTagGroupContext.Provider value={{onRemove}}>\n <CollectionBuilder content={<Collection {...props} />}>\n {collection => <TagGroupInner props={props} forwardedRef={ref} collection={collection} />}\n </CollectionBuilder>\n </InternalTagGroupContext.Provider>\n );\n});\n\nfunction TagGroupInner<T>({\n props: {\n label,\n description,\n labelPosition = 'top',\n labelAlign = 'start',\n isEmphasized,\n isInvalid,\n errorMessage,\n UNSAFE_className = '',\n UNSAFE_style,\n size = 'M',\n ...props\n },\n forwardedRef: ref,\n collection\n}: {props: TagGroupProps<T>, forwardedRef: DOMRef<HTMLDivElement>, collection: any}) {\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');\n let {\n maxRows,\n groupActionLabel,\n onGroupAction,\n renderEmptyState = () => stringFormatter.format('tag.noTags'),\n ...otherProps\n } = props;\n let {direction} = useLocale();\n let containerRef = useRef(null);\n let tagsRef = useRef<HTMLDivElement | null>(null);\n let actionsRef = useRef<HTMLDivElement | null>(null);\n let hiddenTagsRef = useRef<HTMLDivElement | null>(null);\n let [tagState, setTagState] = useState({visibleTagCount: collection.size, showCollapseButton: false});\n let [isCollapsed, setIsCollapsed] = useState(maxRows != null);\n let {onRemove} = useContext(InternalTagGroupContext);\n let isEmpty = collection.size === 0;\n let showCollapseToggleButton = tagState.showCollapseButton || tagState.visibleTagCount < collection.size;\n let formContext = useContext(FormContext);\n let domRef = useDOMRef(ref);\n\n let allItems = useMemo(\n () => Array.from(collection) as Array<Node<T>>,\n [collection]\n );\n let items = useMemo(\n () => Array.from(collection).slice(0, !isCollapsed ? collection.size : tagState.visibleTagCount) as Array<Node<T>>,\n [collection, tagState.visibleTagCount, isCollapsed]\n );\n\n let updateVisibleTagCount = useEffectEvent(() => {\n if (maxRows == null) {\n setTagState({visibleTagCount: collection.size, showCollapseButton: false});\n }\n\n if (maxRows != null && maxRows > 0) {\n let computeVisibleTagCount = () => {\n let currContainerRef: HTMLDivElement | null = hiddenTagsRef.current;\n let currTagsRef: HTMLDivElement | null = hiddenTagsRef.current;\n let currActionsRef: HTMLDivElement | null = actionsRef.current;\n if (!currContainerRef || !currTagsRef || collection.size === 0 || currContainerRef.parentElement == null) {\n return {\n visibleTagCount: 0,\n showCollapseButton: false\n };\n }\n\n // Count rows and show tags until we hit the maxRows.\n // I think this is still a safe assumption, and we don't need to queryAll for role=tag\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 (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 ? [...currActionsRef.children] : [];\n if (buttons.length > 0 && rowCount >= maxRows) {\n let buttonsWidth = buttons.reduce((acc, curr) => acc += curr.getBoundingClientRect().width, 0);\n let margins = parseFloat(getComputedStyle(buttons[0]).marginInlineStart);\n buttonsWidth += margins * 2;\n let end = direction === 'ltr' ? 'right' : 'left';\n let containerEnd = currContainerRef.parentElement?.getBoundingClientRect()[end] - margins;\n let lastTagEnd = tags[index - 1]?.getBoundingClientRect()[end];\n lastTagEnd += margins;\n let availableWidth = containerEnd - lastTagEnd;\n\n while (availableWidth <= buttonsWidth && index > 0) {\n let tagWidth = tagWidths.pop();\n if (tagWidth != null) {\n availableWidth += tagWidth;\n }\n index--;\n }\n }\n\n return {\n visibleTagCount: Math.max(index, 1),\n showCollapseButton: index < collection.size\n };\n };\n let result = computeVisibleTagCount();\n flushSync(() => {\n setTagState(result);\n });\n }\n });\n\n useResizeObserver({ref: maxRows != null ? containerRef : undefined, onResize: updateVisibleTagCount});\n\n useLayoutEffect(() => {\n if (collection.size > 0 && (maxRows != null && maxRows > 0)) {\n queueMicrotask(updateVisibleTagCount);\n }\n }, [collection.size, updateVisibleTagCount, maxRows]);\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 handlePressCollapse = () => {\n setIsCollapsed(prevCollapsed => !prevCollapsed);\n };\n\n let helpText: ReactNode = null;\n if (!isInvalid && description) {\n helpText = (\n <Text\n slot=\"description\"\n styles={helpTextStyles({size})}>\n {description}\n </Text>\n );\n } else if (isInvalid) {\n helpText = (\n <div\n className={helpTextStyles({size, isInvalid})}>\n <CenterBaseline>\n <AlertIcon />\n </CenterBaseline>\n <Text slot=\"errorMessage\">\n {errorMessage}\n </Text>\n </div>\n );\n }\n\n return (\n <AriaTagGroup\n {...otherProps}\n ref={domRef}\n style={UNSAFE_style}\n className={UNSAFE_className + style(field(), getAllowedOverrides())({\n size,\n labelPosition: labelPosition,\n isInForm: !!formContext\n }, props.styles)}>\n <FieldLabel\n size={size}\n labelPosition={labelPosition}\n labelAlign={labelAlign}\n contextualHelp={props.contextualHelp}>\n {label}\n </FieldLabel>\n <div\n ref={containerRef}\n className={style({\n gridArea: 'input',\n minWidth: 'full',\n marginStart: {\n default: -4,\n isEmpty: 0\n },\n marginEnd: {\n default: 4,\n isEmpty: 0\n },\n position: 'relative'\n })({isEmpty})}>\n <FormContext.Provider value={{...formContext, size}}>\n <Provider\n values={[\n [RACTextContext, undefined],\n [TagGroupContext, {size, isEmphasized}]\n ]}>\n {/* invisible collection for measuring */}\n {maxRows != null && (\n <div\n // @ts-ignore\n inert={inertValue(true)}\n ref={hiddenTagsRef}\n className={style({\n display: 'inline',\n flexWrap: 'wrap',\n fontFamily: 'sans',\n position: 'absolute',\n top: 0,\n bottom: 0,\n start: -4,\n end: 4,\n visibility: 'hidden',\n overflow: 'hidden',\n opacity: 0\n })}>\n {allItems.map(item => {\n // pull off individual props as an allow list, don't want refs or other props getting through\n return (\n <div\n style={item.props.UNSAFE_style}\n key={item.key}\n className={item.props.className({size, allowsRemoving: Boolean(onRemove)})}>\n {item.props.children({size, allowsRemoving: Boolean(onRemove), isInCtx: true})}\n </div>\n );\n })}\n </div>\n )}\n {/* real tag list */}\n <TagList\n ref={tagsRef}\n items={items}\n renderEmptyState={renderEmptyState}\n className={style({\n display: 'inline',\n minWidth: 'full',\n font: 'ui'\n })}>\n {item => <Tag {...item.props} id={item.key} textValue={item.textValue} />}\n </TagList>\n {!isEmpty && (showCollapseToggleButton || groupActionLabel) &&\n <ActionGroup\n collection={collection}\n aria-label={props['aria-label']}\n aria-labelledby={props['aria-labelledby']}\n actionsRef={actionsRef}\n tagState={tagState}\n size={size}\n isCollapsed={isCollapsed}\n handlePressCollapse={handlePressCollapse}\n onGroupAction={onGroupAction}\n groupActionLabel={groupActionLabel} />\n }\n </Provider>\n </FormContext.Provider>\n </div>\n {helpText}\n </AriaTagGroup>\n );\n}\n\nfunction ActionGroup(props) {\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');\n let {\n actionsRef,\n tagState,\n size,\n isCollapsed,\n handlePressCollapse,\n onGroupAction,\n groupActionLabel,\n collection,\n // directly use aria-labelling from the TagGroup because we can't use the id from the TagList\n // and we can't supply an id to the TagList because it'll cause an issue where all the tag ids flip back\n // and forth with their prefix in an infinite loop\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy\n } = props;\n\n let actionsId = useId();\n // might need to localize the aria-label which concatenates with this label\n let actionGroupLabel = stringFormatter.format('tag.actions');\n return (\n <div\n role=\"group\"\n ref={actionsRef}\n id={actionsId}\n aria-label={ariaLabel ? `${ariaLabel} ${actionGroupLabel}` : actionGroupLabel}\n aria-labelledby={ariaLabelledBy ? ariaLabelledBy : undefined}\n className={style({\n display: 'inline'\n })}>\n {tagState.showCollapseButton &&\n <ActionButton\n isQuiet\n size={size}\n styles={style({margin: 4})}\n UNSAFE_style={{display: 'inline-flex'}}\n onPress={handlePressCollapse}>\n {isCollapsed ?\n stringFormatter.format('tag.showAllButtonLabel', {tagCount: collection.size}) :\n stringFormatter.format('tag.hideButtonLabel')}\n </ActionButton>\n }\n {groupActionLabel && onGroupAction &&\n <ActionButton\n isQuiet\n size={size}\n styles={style({margin: 4})}\n UNSAFE_style={{display: 'inline-flex'}}\n onPress={() => onGroupAction?.()}>\n {groupActionLabel}\n </ActionButton>\n }\n </div>\n );\n}\n\nconst tagStyles = style({\n ...focusRing(),\n display: 'inline-flex',\n boxSizing: 'border-box',\n maxWidth: 'full',\n verticalAlign: 'middle',\n alignItems: 'center',\n justifyContent: 'center',\n font: 'control',\n height: 'control',\n transition: 'default',\n minWidth: 0,\n // maxWidth: '[calc(self(height) * 7)]', // s2 designs show a max width on tags but we pushed back on this in v3\n backgroundColor: {\n default: 'gray-100',\n isHovered: {\n default: 'gray-200'\n },\n isFocusVisible: {\n default: 'gray-200'\n },\n isSelected: {\n default: 'neutral',\n isEmphasized: {\n default: 'accent'\n }\n },\n isDisabled: 'disabled',\n forcedColors: {\n default: 'ButtonFace',\n isSelected: 'Highlight'\n }\n },\n color: {\n default: 'neutral',\n isSelected: {\n default: 'gray-25',\n isEmphasized: 'white'\n },\n isDisabled: 'disabled',\n forcedColors: {\n default: 'ButtonText',\n isSelected: 'HighlightText',\n isDisabled: 'GrayText'\n }\n },\n borderStyle: 'none',\n paddingStart: {\n default: 'edge-to-text'\n },\n paddingEnd: {\n default: 'edge-to-text',\n allowsRemoving: 0\n },\n paddingY: 0,\n margin: 4,\n borderRadius: 'control',\n cursor: {\n default: 'default',\n isLink: 'pointer'\n },\n '--iconMargin': {\n type: 'marginTop',\n value: {\n default: fontRelative(-2)\n }\n },\n '--iconPrimary': {\n type: 'fill',\n value: 'currentColor'\n }\n});\n\nconst avatarSize = {\n S: 16,\n M: 20,\n L: 24\n} as const;\n\n/** An individual Tag for TagGroups. */\nexport const Tag = /*#__PURE__*/ (forwardRef as forwardRefType)(function Tag({children, textValue, ...props}: TagProps, ref: DOMRef<HTMLDivElement>) {\n textValue ||= typeof children === 'string' ? children : undefined;\n let ctx = useSlottedContext(TagGroupContext);\n let isInRealDOM = Boolean(ctx?.size);\n let {size, isEmphasized} = ctx ?? {};\n let domRef = useDOMRef(ref);\n\n let backupRef = useRef(null);\n domRef = domRef || backupRef;\n let isLink = props.href != null;\n return (\n <AriaTag\n textValue={textValue}\n {...props}\n ref={domRef}\n style={pressScale(domRef)}\n className={renderProps => tagStyles({size, isEmphasized, isLink, ...renderProps})} >\n {composeRenderProps(children, (children, renderProps) => (\n <TagWrapper isInRealDOM={isInRealDOM} {...renderProps}>{typeof children === 'string' ? <Text>{children}</Text> : children}</TagWrapper>\n ))}\n </AriaTag>\n );\n});\n\nfunction TagWrapper({children, isDisabled, allowsRemoving, isInRealDOM}) {\n let {size = 'M'} = useSlottedContext(TagGroupContext) ?? {};\n return (\n <>\n {isInRealDOM && (\n <div\n className={style({\n display: 'flex',\n minWidth: 0,\n alignItems: 'center',\n gap: 'text-to-visual',\n forcedColorAdjust: 'none',\n backgroundColor: 'transparent'\n })}>\n <Provider\n values={[\n [TextContext, {styles: style({order: 1, truncate: true})}],\n [IconContext, {\n render: centerBaseline({slot: 'icon', styles: style({order: 0})}),\n styles: style({size: fontRelative(20), marginStart: '--iconMargin', flexShrink: 0})\n }],\n [AvatarContext, {\n size: avatarSize[size],\n styles: style({order: 0})\n }],\n [ImageContext, {\n styles: style({\n size: fontRelative(20),\n flexShrink: 0,\n order: 0,\n aspectRatio: 'square',\n objectFit: 'contain',\n borderRadius: 'sm'\n })\n }]\n ]}>\n {children}\n </Provider>\n </div>\n )}\n {!isInRealDOM && children}\n {allowsRemoving && isInRealDOM && (\n <ClearButton\n slot=\"remove\"\n size={size}\n isDisabled={isDisabled} />\n )}\n </>\n );\n}\n"],"names":[],"version":3,"file":"TagGroup.cjs.map"}