@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
@@ -1 +1 @@
1
- {"mappings":"ACoFuB;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAwMa;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;;EAAA;;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAcjB;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAyBQ;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EA+BF;;;;EAwDR;;;;EA6BC;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EA8GC;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAUgB;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAGb;;;;EAOA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;AAreC;EAmWL;;;;EAAA;;;;;AAnWK;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;IA8QE;;;;IAqFP;;;;IAAA;;;;IAAA;;;;IAAA;;;;IA8GC;;;;IAAA;;;;;;AA9GD;EAAA;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;IAAA","sources":["b7ca70995960d034","packages/@react-spectrum/s2/src/TagGroup.tsx"],"sourcesContent":["@import \"53ec8c3f8184f13f\";\n@import \"39511c3f261b5ed5\";\n@import \"0adf7c6cbf3a1f42\";\n@import \"05f90dba9e9f901e\";\n@import \"76f74241f914b430\";\n@import \"0ef2aba34cf241d8\";\n@import \"f86d9fb495210c39\";\n@import \"24a7cd4eab7f1ba0\";\n@import \"ce1f7d95b3ccf3fd\";\n@import \"70bbf6109092559b\";\n@import \"07833edfdb3bfcff\";\n@import \"ffbc1ae1f89af4e1\";\n@import \"c340d154a58b1eb0\";\n@import \"27e38777e711f6a4\";\n@import \"39f1002cc14ab33a\";\n","/*\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.css.map"}
1
+ {"mappings":"ACoFuB;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAwMa;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;;EAAA;;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAcjB;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAyBQ;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EA+BF;;;;EAwDR;;;;EA6BC;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EA8GC;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAUgB;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAGb;;;;EAOA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;AAreC;EAmWL;;;;EAAA;;;;;AAnWK;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;IA8QE;;;;IAqFP;;;;IAAA;;;;IAAA;;;;IAAA;;;;IA8GC;;;;IAAA;;;;;;AA9GD;EAAA;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;IAAA","sources":["b7ca70995960d034","packages/@react-spectrum/s2/src/TagGroup.tsx"],"sourcesContent":["@import \"53ec8c3f8184f13f\";\n@import \"39511c3f261b5ed5\";\n@import \"0adf7c6cbf3a1f42\";\n@import \"05f90dba9e9f901e\";\n@import \"76f74241f914b430\";\n@import \"0ef2aba34cf241d8\";\n@import \"f86d9fb495210c39\";\n@import \"24a7cd4eab7f1ba0\";\n@import \"ce1f7d95b3ccf3fd\";\n@import \"70bbf6109092559b\";\n@import \"07833edfdb3bfcff\";\n@import \"ffbc1ae1f89af4e1\";\n@import \"c340d154a58b1eb0\";\n@import \"27e38777e711f6a4\";\n@import \"39f1002cc14ab33a\";\n","/*\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.css.map"}
package/dist/TagGroup.mjs CHANGED
@@ -59,43 +59,43 @@ function $parcel$interopDefault(a) {
59
59
  const $1d63bfab43d9ffe1$export$5b07b5dd2cbd96e3 = /*#__PURE__*/ (0, $kY5I6$createContext)(null);
60
60
  const $1d63bfab43d9ffe1$var$helpTextStyles = function anonymous(props) {
61
61
  let rules = " .";
62
+ rules += ' __b-1le9d6f';
63
+ rules += ' __c-1le9d6f';
64
+ rules += ' __d-1le9d6f';
62
65
  rules += ' __e-1le9d6f';
63
- rules += ' __f-1le9d6f';
64
- rules += ' __g-1le9d6f';
65
- rules += ' __h-1le9d6f';
66
- rules += ' _3d';
67
- rules += ' _5d';
68
- rules += ' hbH';
69
- rules += ' hG';
66
+ rules += ' _0d';
67
+ rules += ' _2d';
70
68
  rules += ' ibH';
71
69
  rules += ' iG';
72
- rules += ' _g-bc1l9oh';
73
- rules += ' _g-1uotwbwg';
74
- rules += ' _g-eo0c6sf';
75
- rules += ' _g-enzzrge';
76
- rules += ' _g-enzykdd';
77
- rules += ' _g-enzwzjc';
78
- rules += ' _g-enzrfpb';
79
- rules += ' _ga';
70
+ rules += ' jbH';
71
+ rules += ' jG';
72
+ rules += ' _d-bc1l9oh';
73
+ rules += ' _d-1uotwbwg';
74
+ rules += ' _d-eo0c6sf';
75
+ rules += ' _d-enzzrge';
76
+ rules += ' _d-enzykdd';
77
+ rules += ' _d-enzwzjc';
78
+ rules += ' _d-enzrfpb';
79
+ rules += ' _da';
80
80
  if (props.size === "XL") {
81
- rules += ' _hbj';
82
- rules += ' _hi';
81
+ rules += ' _ebj';
82
+ rules += ' _ei';
83
83
  } else if (props.size === "L") {
84
- rules += ' _hbh';
85
- rules += ' _hg';
84
+ rules += ' _ebh';
85
+ rules += ' _eg';
86
86
  } else if (props.size === "S") {
87
- rules += ' _hbd';
88
- rules += ' _hc';
87
+ rules += ' _ebd';
88
+ rules += ' _ec';
89
89
  } else if (props.size === "XS") {
90
- rules += ' _hbb';
91
- rules += ' _ha';
90
+ rules += ' _ebb';
91
+ rules += ' _ea';
92
92
  } else {
93
- rules += ' _hbf';
94
- rules += ' _he';
93
+ rules += ' _ebf';
94
+ rules += ' _ee';
95
95
  }
96
- rules += ' _ib';
97
- rules += ' _j-1x99dlob';
98
- rules += ' _ja';
96
+ rules += ' _fb';
97
+ rules += ' _g-1x99dlob';
98
+ rules += ' _ga';
99
99
  if (props.isInvalid) {
100
100
  if (props.isPressed) rules += ' aP';
101
101
  else if (props.isFocusVisible) rules += ' aP';
@@ -107,10 +107,10 @@ const $1d63bfab43d9ffe1$var$helpTextStyles = function anonymous(props) {
107
107
  else if (props.isHovered) rules += ' an';
108
108
  else rules += ' am';
109
109
  }
110
- rules += ' -rwx0fg_d-b';
111
- rules += ' __qe';
112
- rules += ' H-1inj1bc';
113
- rules += ' __Le';
110
+ rules += ' -rwx0fg_e-b';
111
+ rules += ' __ne';
112
+ rules += ' E-1inj1bc';
113
+ rules += ' __Ie';
114
114
  return rules;
115
115
  };
116
116
  const $1d63bfab43d9ffe1$var$InternalTagGroupContext = /*#__PURE__*/ (0, $kY5I6$createContext)({});
@@ -271,59 +271,59 @@ function $1d63bfab43d9ffe1$var$TagGroupInner({ props: { label: label, descriptio
271
271
  style: UNSAFE_style,
272
272
  className: UNSAFE_className + function anonymous(props, overrides) {
273
273
  let rules = " .";
274
- 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) || [];
274
+ 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) || [];
275
275
  rules += matches.join('');
276
- let $__e = false;
277
- let $__f = false;
276
+ let $__b = false;
277
+ let $__c = false;
278
278
  for (let p of matches){
279
- if (/^\s*__e/.test(p)) $__e = true;
280
- if (/^\s*__f/.test(p)) $__f = true;
279
+ if (/^\s*__b/.test(p)) $__b = true;
280
+ if (/^\s*__c/.test(p)) $__c = true;
281
281
  }
282
- rules += ' _3f';
283
- if (!$__e) {
284
- if (props.isInForm) rules += ' __e-3t1y';
282
+ rules += ' _0f';
283
+ if (!$__b) {
284
+ if (props.isInForm) rules += ' __b-3t1y';
285
285
  }
286
- if (!$__f) {
286
+ if (!$__c) {
287
287
  if (props.isInForm) {
288
- if (props.labelPosition === "side") rules += ' __f-yqnebx';
288
+ if (props.labelPosition === "side") rules += ' __c-yqnebx';
289
289
  }
290
290
  }
291
- if (props.isInForm) rules += ' __l-1a97rzt';
291
+ if (props.isInForm) rules += ' __i-1a97rzt';
292
292
  else {
293
- if (props.labelPosition === "side") rules += ' __l-ar5vcf';
294
- else if (props.labelPosition === "top") rules += ' __l-2wzs0i';
293
+ if (props.labelPosition === "side") rules += ' __i-ar5vcf';
294
+ else if (props.labelPosition === "top") rules += ' __i-2wzs0i';
295
295
  }
296
- if (props.labelPosition === "side") rules += ' __m-ar5vcf';
297
- else if (props.labelPosition === "top") rules += ' __m-1a6w430';
298
- if (props.labelPosition === "side") rules += ' __n-18h2yqz';
299
- else if (props.labelPosition === "top") rules += ' __n-1srn173';
296
+ if (props.labelPosition === "side") rules += ' __j-ar5vcf';
297
+ else if (props.labelPosition === "top") rules += ' __j-1a6w430';
298
+ if (props.labelPosition === "side") rules += ' __k-18h2yqz';
299
+ else if (props.labelPosition === "top") rules += ' __k-1srn173';
300
300
  if (props.size === "XL") {
301
- rules += ' _hbj';
302
- rules += ' _hi';
301
+ rules += ' _ebj';
302
+ rules += ' _ei';
303
303
  } else if (props.size === "L") {
304
- rules += ' _hbh';
305
- rules += ' _hg';
304
+ rules += ' _ebh';
305
+ rules += ' _eg';
306
306
  } else if (props.size === "S") {
307
- rules += ' _hbd';
308
- rules += ' _hc';
307
+ rules += ' _ebd';
308
+ rules += ' _ec';
309
309
  } else if (props.size === "XS") {
310
- rules += ' _hbb';
311
- rules += ' _ha';
310
+ rules += ' _ebb';
311
+ rules += ' _ea';
312
312
  } else {
313
- rules += ' _hbf';
314
- rules += ' _he';
313
+ rules += ' _ebf';
314
+ rules += ' _ee';
315
315
  }
316
- rules += ' _5d';
317
- rules += ' _j-1x99dlob';
318
- rules += ' _ja';
319
- if (props.size === "XL") rules += ' -aqrvqh_j-j';
320
- else if (props.size === "L") rules += ' -aqrvqh_j-i';
321
- else if (props.size === "S") rules += ' -aqrvqh_j-h';
322
- else if (props.size === "XS") rules += ' -aqrvqh_j-g';
323
- else rules += ' -aqrvqh_j-f';
324
- rules += ' -_1inj1bc_h--prjw07';
325
- rules += ' ie';
326
- rules += ' __V-yksgrp';
316
+ rules += ' _2d';
317
+ rules += ' _g-1x99dlob';
318
+ rules += ' _ga';
319
+ if (props.size === "XL") rules += ' -aqrvqh_k-j';
320
+ else if (props.size === "L") rules += ' -aqrvqh_k-i';
321
+ else if (props.size === "S") rules += ' -aqrvqh_k-h';
322
+ else if (props.size === "XS") rules += ' -aqrvqh_k-g';
323
+ else rules += ' -aqrvqh_k-f';
324
+ rules += ' -_1inj1bc_i--prjw07';
325
+ rules += ' je';
326
+ rules += ' __S-yksgrp';
327
327
  return rules;
328
328
  }({
329
329
  size: size,
@@ -342,16 +342,16 @@ function $1d63bfab43d9ffe1$var$TagGroupInner({ props: { label: label, descriptio
342
342
  ref: containerRef,
343
343
  className: function anonymous(props) {
344
344
  let rules = " .";
345
+ rules += ' __b-g2ozi1';
346
+ rules += ' __c-g2ozi1';
347
+ rules += ' __d-g2ozi1';
345
348
  rules += ' __e-g2ozi1';
346
- rules += ' __f-g2ozi1';
347
- rules += ' __g-g2ozi1';
348
- rules += ' __h-g2ozi1';
349
- rules += ' pb';
350
- if (props.isEmpty) rules += ' Ba';
351
- else rules += ' BK';
352
- if (props.isEmpty) rules += ' Ca';
353
- else rules += ' Cc';
354
- rules += ' Yc';
349
+ rules += ' qb';
350
+ if (props.isEmpty) rules += ' ya';
351
+ else rules += ' yK';
352
+ if (props.isEmpty) rules += ' za';
353
+ else rules += ' zc';
354
+ rules += ' Vc';
355
355
  return rules;
356
356
  }({
357
357
  isEmpty: isEmpty
@@ -380,7 +380,7 @@ function $1d63bfab43d9ffe1$var$TagGroupInner({ props: { label: label, descriptio
380
380
  // @ts-ignore
381
381
  inert: (0, $kY5I6$inertValue)(true),
382
382
  ref: hiddenTagsRef,
383
- 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",
383
+ 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",
384
384
  children: allItems.map((item)=>{
385
385
  // pull off individual props as an allow list, don't want refs or other props getting through
386
386
  return /*#__PURE__*/ (0, $kY5I6$jsx)("div", {
@@ -401,7 +401,7 @@ function $1d63bfab43d9ffe1$var$TagGroupInner({ props: { label: label, descriptio
401
401
  ref: tagsRef,
402
402
  items: items,
403
403
  renderEmptyState: renderEmptyState,
404
- 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",
404
+ 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",
405
405
  children: (item)=>/*#__PURE__*/ (0, $kY5I6$jsx)($1d63bfab43d9ffe1$export$3288d34c523a1192, {
406
406
  ...item.props,
407
407
  id: item.key,
@@ -443,12 +443,12 @@ function $1d63bfab43d9ffe1$var$ActionGroup(props) {
443
443
  id: actionsId,
444
444
  "aria-label": ariaLabel ? `${ariaLabel} ${actionGroupLabel}` : actionGroupLabel,
445
445
  "aria-labelledby": ariaLabelledBy ? ariaLabelledBy : undefined,
446
- className: " _3c",
446
+ className: " _0c",
447
447
  children: [
448
448
  tagState.showCollapseButton && /*#__PURE__*/ (0, $kY5I6$jsx)((0, $da878a05ab4a403e$export$cfc7921d29ef7b80), {
449
449
  isQuiet: true,
450
450
  size: size,
451
- styles: " Dc Ec Bc Cc",
451
+ styles: " Ac Bc yc zc",
452
452
  UNSAFE_style: {
453
453
  display: 'inline-flex'
454
454
  },
@@ -460,7 +460,7 @@ function $1d63bfab43d9ffe1$var$ActionGroup(props) {
460
460
  groupActionLabel && onGroupAction && /*#__PURE__*/ (0, $kY5I6$jsx)((0, $da878a05ab4a403e$export$cfc7921d29ef7b80), {
461
461
  isQuiet: true,
462
462
  size: size,
463
- styles: " Dc Ec Bc Cc",
463
+ styles: " Ac Bc yc zc",
464
464
  UNSAFE_style: {
465
465
  display: 'inline-flex'
466
466
  },
@@ -472,45 +472,45 @@ function $1d63bfab43d9ffe1$var$ActionGroup(props) {
472
472
  }
473
473
  const $1d63bfab43d9ffe1$var$tagStyles = function anonymous(props) {
474
474
  let rules = " .";
475
- if (props.isFocusVisible) rules += ' _Pb';
476
- else rules += ' _Pa';
477
- rules += ' ca_____M';
478
- rules += ' cx';
479
- rules += ' _Rc';
480
- rules += ' _Q-3t1z';
481
- rules += ' _3e';
482
- rules += ' __ra';
483
- rules += ' qb';
484
- rules += ' _oc';
485
- rules += ' _5c';
486
- rules += ' _6d';
487
- rules += ' _g-bc1l9oh';
488
- rules += ' _g-1uotwbwg';
489
- rules += ' _g-eo0c6sf';
490
- rules += ' _g-enzzrge';
491
- rules += ' _g-enzykdd';
492
- rules += ' _g-enzwzjc';
493
- rules += ' _g-enzrfpb';
494
- rules += ' _ga';
475
+ if (props.isFocusVisible) rules += ' _Mb';
476
+ else rules += ' _Ma';
477
+ rules += ' da_____M';
478
+ rules += ' dx';
479
+ rules += ' _Oc';
480
+ rules += ' _N-3t1z';
481
+ rules += ' _0e';
482
+ rules += ' __oa';
483
+ rules += ' rb';
484
+ rules += ' _lc';
485
+ rules += ' _2c';
486
+ rules += ' _3d';
487
+ rules += ' _d-bc1l9oh';
488
+ rules += ' _d-1uotwbwg';
489
+ rules += ' _d-eo0c6sf';
490
+ rules += ' _d-enzzrge';
491
+ rules += ' _d-enzykdd';
492
+ rules += ' _d-enzwzjc';
493
+ rules += ' _d-enzrfpb';
494
+ rules += ' _da';
495
495
  if (props.size === "XL") {
496
- rules += ' _hbj';
497
- rules += ' _hi';
496
+ rules += ' _ebj';
497
+ rules += ' _ei';
498
498
  } else if (props.size === "L") {
499
- rules += ' _hbh';
500
- rules += ' _hg';
499
+ rules += ' _ebh';
500
+ rules += ' _eg';
501
501
  } else if (props.size === "S") {
502
- rules += ' _hbd';
503
- rules += ' _hc';
502
+ rules += ' _ebd';
503
+ rules += ' _ec';
504
504
  } else if (props.size === "XS") {
505
- rules += ' _hbb';
506
- rules += ' _ha';
505
+ rules += ' _ebb';
506
+ rules += ' _ea';
507
507
  } else {
508
- rules += ' _hbf';
509
- rules += ' _he';
508
+ rules += ' _ebf';
509
+ rules += ' _ee';
510
510
  }
511
- rules += ' _ib';
512
- rules += ' _j-1x99dlob';
513
- rules += ' _ja';
511
+ rules += ' _fb';
512
+ rules += ' _g-1x99dlob';
513
+ rules += ' _ga';
514
514
  if (props.isDisabled) rules += ' aa_____O';
515
515
  else if (props.isSelected) rules += ' aa_____N';
516
516
  else rules += ' aa_____K';
@@ -524,11 +524,11 @@ const $1d63bfab43d9ffe1$var$tagStyles = function anonymous(props) {
524
524
  else if (props.isHovered) rules += ' ao';
525
525
  else rules += ' an';
526
526
  }
527
- rules += ' j-375top';
527
+ rules += ' k-375toq';
528
+ rules += ' _Pa';
529
+ rules += ' _R-375x7f';
528
530
  rules += ' _Sa';
529
- rules += ' _U-375x7f';
530
- rules += ' _Va';
531
- rules += ' po';
531
+ rules += ' qo';
532
532
  if (props.isSelected) rules += ' ba_____M';
533
533
  else rules += ' ba_____J';
534
534
  if (props.isDisabled) rules += ' bg';
@@ -547,29 +547,29 @@ const $1d63bfab43d9ffe1$var$tagStyles = function anonymous(props) {
547
547
  } else if (props.isFocusVisible) rules += ' bh';
548
548
  else if (props.isHovered) rules += ' bh';
549
549
  else rules += ' bg';
550
- rules += ' zf';
551
- rules += ' FI';
552
- if (props.allowsRemoving) rules += ' Ga';
553
- else rules += ' GI';
554
- rules += ' Ha';
555
- rules += ' Ia';
556
- rules += ' Dc';
557
- rules += ' Ec';
550
+ rules += ' wf';
551
+ rules += ' CI';
552
+ if (props.allowsRemoving) rules += ' Da';
553
+ else rules += ' DI';
554
+ rules += ' Ea';
555
+ rules += ' Fa';
556
+ rules += ' Ac';
558
557
  rules += ' Bc';
559
- rules += ' Cc';
558
+ rules += ' yc';
559
+ rules += ' zc';
560
+ rules += ' _wh';
561
+ rules += ' _xh';
562
+ rules += ' _yh';
560
563
  rules += ' _zh';
561
- rules += ' _Ah';
562
- rules += ' _Bh';
563
- rules += ' _Ch';
564
- if (props.isLink) rules += ' __Lc';
565
- else rules += ' __Lb';
566
- rules += ' -oelgqu_D--177861o';
567
- rules += ' -rwx0fg_d-b';
568
- if (props.size === "XL") rules += ' -_375top_j-j';
569
- else if (props.size === "L") rules += ' -_375top_j-i';
570
- else if (props.size === "S") rules += ' -_375top_j-h';
571
- else if (props.size === "XS") rules += ' -_375top_j-g';
572
- else rules += ' -_375top_j-f';
564
+ if (props.isLink) rules += ' __Ic';
565
+ else rules += ' __Ib';
566
+ rules += ' -oelgqu_A--177861o';
567
+ rules += ' -rwx0fg_e-b';
568
+ if (props.size === "XL") rules += ' -_375toq_k-j';
569
+ else if (props.size === "L") rules += ' -_375toq_k-i';
570
+ else if (props.size === "S") rules += ' -_375toq_k-h';
571
+ else if (props.size === "XS") rules += ' -_375toq_k-g';
572
+ else rules += ' -_375toq_k-f';
573
573
  return rules;
574
574
  };
575
575
  const $1d63bfab43d9ffe1$var$avatarSize = {
@@ -611,13 +611,13 @@ function $1d63bfab43d9ffe1$var$TagWrapper({ children: children, isDisabled: isDi
611
611
  return /*#__PURE__*/ (0, $kY5I6$jsxs)((0, $kY5I6$Fragment), {
612
612
  children: [
613
613
  isInRealDOM && /*#__PURE__*/ (0, $kY5I6$jsx)("div", {
614
- className: " _3d po _5c hG hbH iG ibH _Db ba",
614
+ className: " _0d qo _2c iG ibH jG jbH _Ab ba",
615
615
  children: /*#__PURE__*/ (0, $kY5I6$jsx)((0, $kY5I6$Provider), {
616
616
  values: [
617
617
  [
618
618
  (0, $8e847109a6ab556d$export$9afb8bc826b033ea),
619
619
  {
620
- styles: " __E-3t1y __zb __Ab _qa _tb"
620
+ styles: " __B-3t1y __wb __xb _na _qb"
621
621
  }
622
622
  ],
623
623
  [
@@ -625,22 +625,22 @@ function $1d63bfab43d9ffe1$var$TagWrapper({ children: children, isDisabled: isDi
625
625
  {
626
626
  render: (0, $1f4b04be3f24aae3$export$9d7e2342a7e53afa)({
627
627
  slot: 'icon',
628
- styles: " __E-3t1x"
628
+ styles: " __B-3t1x"
629
629
  }),
630
- styles: " k-1sthc3k j-1sthc3k B-oelgqu __c-3t1x"
630
+ styles: " l-1sthc3k k-1sthc3k y-oelgqu _9-3t1x"
631
631
  }
632
632
  ],
633
633
  [
634
634
  (0, $3ffa2cd930156220$export$a20dad690e1279e2),
635
635
  {
636
636
  size: $1d63bfab43d9ffe1$var$avatarSize[size],
637
- styles: " __E-3t1x"
637
+ styles: " __B-3t1x"
638
638
  }
639
639
  ],
640
640
  [
641
641
  (0, $dbd6f0b2503b938c$export$8151eb379fcf2442),
642
642
  {
643
- styles: " k-1sthc3k j-1sthc3k __c-3t1x __E-3t1x _fb __Ra _zb _Ab _Bb _Cb"
643
+ styles: " l-1sthc3k k-1sthc3k _9-3t1x __B-3t1x _cb __Oa _wb _xb _yb _zb"
644
644
  }
645
645
  ]
646
646
  ],