@react-spectrum/s2 1.3.0 → 1.4.0

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 (1030) hide show
  1. package/dist/exports/Accordion.cjs.map +1 -1
  2. package/dist/exports/Accordion.mjs.map +1 -1
  3. package/dist/exports/ActionMenu.cjs.map +1 -1
  4. package/dist/exports/ActionMenu.mjs.map +1 -1
  5. package/dist/exports/Card.cjs.map +1 -1
  6. package/dist/exports/Card.mjs.map +1 -1
  7. package/dist/exports/CardView.cjs.map +1 -1
  8. package/dist/exports/CardView.mjs.map +1 -1
  9. package/dist/exports/ColorArea.cjs.map +1 -1
  10. package/dist/exports/ColorArea.mjs.map +1 -1
  11. package/dist/exports/ColorField.cjs.map +1 -1
  12. package/dist/exports/ColorField.mjs.map +1 -1
  13. package/dist/exports/ColorSlider.cjs.map +1 -1
  14. package/dist/exports/ColorSlider.mjs.map +1 -1
  15. package/dist/exports/ColorSwatch.cjs.map +1 -1
  16. package/dist/exports/ColorSwatch.mjs.map +1 -1
  17. package/dist/exports/ColorSwatchPicker.cjs.map +1 -1
  18. package/dist/exports/ColorSwatchPicker.mjs.map +1 -1
  19. package/dist/exports/ColorWheel.cjs.map +1 -1
  20. package/dist/exports/ColorWheel.mjs.map +1 -1
  21. package/dist/exports/ContextualHelp.cjs.map +1 -1
  22. package/dist/exports/ContextualHelp.mjs.map +1 -1
  23. package/dist/exports/Disclosure.cjs.map +1 -1
  24. package/dist/exports/Disclosure.mjs.map +1 -1
  25. package/dist/exports/DragPreview.cjs +12 -0
  26. package/dist/exports/DragPreview.cjs.map +1 -0
  27. package/dist/exports/DragPreview.mjs +7 -0
  28. package/dist/exports/DragPreview.mjs.map +1 -0
  29. package/dist/exports/Icon.cjs.map +1 -1
  30. package/dist/exports/Icon.mjs.map +1 -1
  31. package/dist/exports/LabeledValue.cjs +13 -0
  32. package/dist/exports/LabeledValue.cjs.map +1 -0
  33. package/dist/exports/LabeledValue.mjs +7 -0
  34. package/dist/exports/LabeledValue.mjs.map +1 -0
  35. package/dist/exports/Menu.cjs.map +1 -1
  36. package/dist/exports/Menu.mjs.map +1 -1
  37. package/dist/exports/SegmentedControl.cjs.map +1 -1
  38. package/dist/exports/SegmentedControl.mjs.map +1 -1
  39. package/dist/exports/TableView.cjs +1 -0
  40. package/dist/exports/TableView.cjs.map +1 -1
  41. package/dist/exports/TableView.mjs +2 -2
  42. package/dist/exports/TableView.mjs.map +1 -1
  43. package/dist/exports/TreeView.cjs.map +1 -1
  44. package/dist/exports/TreeView.mjs.map +1 -1
  45. package/dist/exports/index.cjs +17 -0
  46. package/dist/exports/index.cjs.map +1 -1
  47. package/dist/exports/index.mjs +10 -2
  48. package/dist/exports/index.mjs.map +1 -1
  49. package/dist/exports/useAsyncList.cjs.map +1 -1
  50. package/dist/exports/useAsyncList.mjs.map +1 -1
  51. package/dist/exports/useDragAndDrop.cjs +21 -0
  52. package/dist/exports/useDragAndDrop.cjs.map +1 -0
  53. package/dist/exports/useDragAndDrop.mjs +11 -0
  54. package/dist/exports/useDragAndDrop.mjs.map +1 -0
  55. package/dist/private/Accordion.cjs +2 -2
  56. package/dist/private/Accordion.cjs.map +1 -1
  57. package/dist/private/Accordion.css +2 -2
  58. package/dist/private/Accordion.css.map +1 -1
  59. package/dist/private/Accordion.mjs +2 -2
  60. package/dist/private/Accordion.mjs.map +1 -1
  61. package/dist/private/ActionBar.cjs +61 -61
  62. package/dist/private/ActionBar.cjs.map +1 -1
  63. package/dist/private/ActionBar.css +58 -58
  64. package/dist/private/ActionBar.css.map +1 -1
  65. package/dist/private/ActionBar.mjs +61 -61
  66. package/dist/private/ActionBar.mjs.map +1 -1
  67. package/dist/private/ActionButton.cjs +350 -323
  68. package/dist/private/ActionButton.cjs.map +1 -1
  69. package/dist/private/ActionButton.css +203 -167
  70. package/dist/private/ActionButton.css.map +1 -1
  71. package/dist/private/ActionButton.mjs +351 -324
  72. package/dist/private/ActionButton.mjs.map +1 -1
  73. package/dist/private/ActionButtonGroup.cjs +15 -15
  74. package/dist/private/ActionButtonGroup.cjs.map +1 -1
  75. package/dist/private/ActionButtonGroup.css +9 -9
  76. package/dist/private/ActionButtonGroup.css.map +1 -1
  77. package/dist/private/ActionButtonGroup.mjs +15 -15
  78. package/dist/private/ActionButtonGroup.mjs.map +1 -1
  79. package/dist/private/ActionMenu.cjs.map +1 -1
  80. package/dist/private/ActionMenu.mjs.map +1 -1
  81. package/dist/private/Add.cjs +10 -10
  82. package/dist/private/Add.cjs.map +1 -1
  83. package/dist/private/Add.css +6 -6
  84. package/dist/private/Add.css.map +1 -1
  85. package/dist/private/Add.mjs +10 -10
  86. package/dist/private/Add.mjs.map +1 -1
  87. package/dist/private/AlertDialog.cjs +3 -3
  88. package/dist/private/AlertDialog.cjs.map +1 -1
  89. package/dist/private/AlertDialog.css +3 -3
  90. package/dist/private/AlertDialog.css.map +1 -1
  91. package/dist/private/AlertDialog.mjs +3 -3
  92. package/dist/private/AlertDialog.mjs.map +1 -1
  93. package/dist/private/Asterisk.cjs +6 -6
  94. package/dist/private/Asterisk.cjs.map +1 -1
  95. package/dist/private/Asterisk.css +4 -4
  96. package/dist/private/Asterisk.css.map +1 -1
  97. package/dist/private/Asterisk.mjs +6 -6
  98. package/dist/private/Asterisk.mjs.map +1 -1
  99. package/dist/private/Avatar.cjs +16 -16
  100. package/dist/private/Avatar.cjs.map +1 -1
  101. package/dist/private/Avatar.css +16 -16
  102. package/dist/private/Avatar.css.map +1 -1
  103. package/dist/private/Avatar.mjs +16 -16
  104. package/dist/private/Avatar.mjs.map +1 -1
  105. package/dist/private/AvatarGroup.cjs +120 -120
  106. package/dist/private/AvatarGroup.cjs.map +1 -1
  107. package/dist/private/AvatarGroup.css +31 -31
  108. package/dist/private/AvatarGroup.css.map +1 -1
  109. package/dist/private/AvatarGroup.mjs +120 -120
  110. package/dist/private/AvatarGroup.mjs.map +1 -1
  111. package/dist/private/Badge.cjs +197 -197
  112. package/dist/private/Badge.cjs.map +1 -1
  113. package/dist/private/Badge.css +125 -125
  114. package/dist/private/Badge.css.map +1 -1
  115. package/dist/private/Badge.mjs +197 -197
  116. package/dist/private/Badge.mjs.map +1 -1
  117. package/dist/private/Breadcrumbs.cjs +234 -234
  118. package/dist/private/Breadcrumbs.cjs.map +1 -1
  119. package/dist/private/Breadcrumbs.css +100 -100
  120. package/dist/private/Breadcrumbs.css.map +1 -1
  121. package/dist/private/Breadcrumbs.mjs +234 -234
  122. package/dist/private/Breadcrumbs.mjs.map +1 -1
  123. package/dist/private/Button.cjs +326 -335
  124. package/dist/private/Button.cjs.map +1 -1
  125. package/dist/private/Button.css +172 -180
  126. package/dist/private/Button.css.map +1 -1
  127. package/dist/private/Button.mjs +326 -335
  128. package/dist/private/Button.mjs.map +1 -1
  129. package/dist/private/ButtonGroup.cjs +20 -20
  130. package/dist/private/ButtonGroup.cjs.map +1 -1
  131. package/dist/private/ButtonGroup.css +15 -15
  132. package/dist/private/ButtonGroup.css.map +1 -1
  133. package/dist/private/ButtonGroup.mjs +20 -20
  134. package/dist/private/ButtonGroup.mjs.map +1 -1
  135. package/dist/private/Calendar.cjs +263 -312
  136. package/dist/private/Calendar.cjs.map +1 -1
  137. package/dist/private/Calendar.css +155 -167
  138. package/dist/private/Calendar.css.map +1 -1
  139. package/dist/private/Calendar.mjs +266 -315
  140. package/dist/private/Calendar.mjs.map +1 -1
  141. package/dist/private/Card.cjs +309 -309
  142. package/dist/private/Card.cjs.map +1 -1
  143. package/dist/private/Card.css +206 -206
  144. package/dist/private/Card.css.map +1 -1
  145. package/dist/private/Card.mjs +309 -309
  146. package/dist/private/Card.mjs.map +1 -1
  147. package/dist/private/CardView.cjs +17 -17
  148. package/dist/private/CardView.cjs.map +1 -1
  149. package/dist/private/CardView.css +17 -17
  150. package/dist/private/CardView.css.map +1 -1
  151. package/dist/private/CardView.mjs +17 -17
  152. package/dist/private/CardView.mjs.map +1 -1
  153. package/dist/private/CenterBaseline.cjs +5 -1
  154. package/dist/private/CenterBaseline.cjs.map +1 -1
  155. package/dist/private/CenterBaseline.css +2 -2
  156. package/dist/private/CenterBaseline.css.map +1 -1
  157. package/dist/private/CenterBaseline.mjs +5 -1
  158. package/dist/private/CenterBaseline.mjs.map +1 -1
  159. package/dist/private/Checkbox.cjs +268 -208
  160. package/dist/private/Checkbox.cjs.map +1 -1
  161. package/dist/private/Checkbox.css +170 -98
  162. package/dist/private/Checkbox.css.map +1 -1
  163. package/dist/private/Checkbox.mjs +269 -209
  164. package/dist/private/Checkbox.mjs.map +1 -1
  165. package/dist/private/CheckboxGroup.cjs +44 -43
  166. package/dist/private/CheckboxGroup.cjs.map +1 -1
  167. package/dist/private/CheckboxGroup.css +37 -37
  168. package/dist/private/CheckboxGroup.css.map +1 -1
  169. package/dist/private/CheckboxGroup.mjs +44 -43
  170. package/dist/private/CheckboxGroup.mjs.map +1 -1
  171. package/dist/private/Checkmark.cjs +12 -12
  172. package/dist/private/Checkmark.cjs.map +1 -1
  173. package/dist/private/Checkmark.css +8 -8
  174. package/dist/private/Checkmark.css.map +1 -1
  175. package/dist/private/Checkmark.mjs +12 -12
  176. package/dist/private/Checkmark.mjs.map +1 -1
  177. package/dist/private/Chevron.cjs +12 -12
  178. package/dist/private/Chevron.cjs.map +1 -1
  179. package/dist/private/Chevron.css +10 -10
  180. package/dist/private/Chevron.css.map +1 -1
  181. package/dist/private/Chevron.mjs +12 -12
  182. package/dist/private/Chevron.mjs.map +1 -1
  183. package/dist/private/ClearButton.cjs +30 -30
  184. package/dist/private/ClearButton.cjs.map +1 -1
  185. package/dist/private/ClearButton.css +30 -30
  186. package/dist/private/ClearButton.css.map +1 -1
  187. package/dist/private/ClearButton.mjs +30 -30
  188. package/dist/private/ClearButton.mjs.map +1 -1
  189. package/dist/private/CloseButton.cjs +52 -57
  190. package/dist/private/CloseButton.cjs.map +1 -1
  191. package/dist/private/CloseButton.css +47 -51
  192. package/dist/private/CloseButton.css.map +1 -1
  193. package/dist/private/CloseButton.mjs +52 -57
  194. package/dist/private/CloseButton.mjs.map +1 -1
  195. package/dist/private/ColorArea.cjs +16 -16
  196. package/dist/private/ColorArea.cjs.map +1 -1
  197. package/dist/private/ColorArea.css +16 -16
  198. package/dist/private/ColorArea.css.map +1 -1
  199. package/dist/private/ColorArea.mjs +16 -16
  200. package/dist/private/ColorArea.mjs.map +1 -1
  201. package/dist/private/ColorField.cjs +44 -33
  202. package/dist/private/ColorField.cjs.map +1 -1
  203. package/dist/private/ColorField.css +27 -27
  204. package/dist/private/ColorField.css.map +1 -1
  205. package/dist/private/ColorField.mjs +44 -33
  206. package/dist/private/ColorField.mjs.map +1 -1
  207. package/dist/private/ColorHandle.cjs +27 -27
  208. package/dist/private/ColorHandle.cjs.map +1 -1
  209. package/dist/private/ColorHandle.css +42 -42
  210. package/dist/private/ColorHandle.css.map +1 -1
  211. package/dist/private/ColorHandle.mjs +27 -27
  212. package/dist/private/ColorHandle.mjs.map +1 -1
  213. package/dist/private/ColorSlider.cjs +113 -109
  214. package/dist/private/ColorSlider.cjs.map +1 -1
  215. package/dist/private/ColorSlider.css +52 -52
  216. package/dist/private/ColorSlider.css.map +1 -1
  217. package/dist/private/ColorSlider.mjs +113 -109
  218. package/dist/private/ColorSlider.mjs.map +1 -1
  219. package/dist/private/ColorSwatch.cjs +29 -29
  220. package/dist/private/ColorSwatch.cjs.map +1 -1
  221. package/dist/private/ColorSwatch.css +29 -29
  222. package/dist/private/ColorSwatch.css.map +1 -1
  223. package/dist/private/ColorSwatch.mjs +29 -29
  224. package/dist/private/ColorSwatch.mjs.map +1 -1
  225. package/dist/private/ColorSwatchPicker.cjs +29 -29
  226. package/dist/private/ColorSwatchPicker.cjs.map +1 -1
  227. package/dist/private/ColorSwatchPicker.css +48 -48
  228. package/dist/private/ColorSwatchPicker.css.map +1 -1
  229. package/dist/private/ColorSwatchPicker.mjs +29 -29
  230. package/dist/private/ColorSwatchPicker.mjs.map +1 -1
  231. package/dist/private/ColorWheel.cjs +26 -26
  232. package/dist/private/ColorWheel.cjs.map +1 -1
  233. package/dist/private/ColorWheel.css +17 -17
  234. package/dist/private/ColorWheel.css.map +1 -1
  235. package/dist/private/ColorWheel.mjs +26 -26
  236. package/dist/private/ColorWheel.mjs.map +1 -1
  237. package/dist/private/ComboBox.cjs +384 -405
  238. package/dist/private/ComboBox.cjs.map +1 -1
  239. package/dist/private/ComboBox.css +192 -188
  240. package/dist/private/ComboBox.css.map +1 -1
  241. package/dist/private/ComboBox.mjs +385 -406
  242. package/dist/private/ComboBox.mjs.map +1 -1
  243. package/dist/private/Content.cjs +2 -1
  244. package/dist/private/Content.cjs.map +1 -1
  245. package/dist/private/Content.mjs +2 -1
  246. package/dist/private/Content.mjs.map +1 -1
  247. package/dist/private/ContextualHelp.cjs +5 -5
  248. package/dist/private/ContextualHelp.cjs.map +1 -1
  249. package/dist/private/ContextualHelp.css +50 -50
  250. package/dist/private/ContextualHelp.css.map +1 -1
  251. package/dist/private/ContextualHelp.mjs +5 -5
  252. package/dist/private/ContextualHelp.mjs.map +1 -1
  253. package/dist/private/CornerTriangle.cjs +76 -0
  254. package/dist/private/CornerTriangle.cjs.map +1 -0
  255. package/dist/private/CornerTriangle.css +26 -0
  256. package/dist/private/CornerTriangle.css.map +1 -0
  257. package/dist/private/CornerTriangle.mjs +71 -0
  258. package/dist/private/CornerTriangle.mjs.map +1 -0
  259. package/dist/private/Cross.cjs +14 -14
  260. package/dist/private/Cross.cjs.map +1 -1
  261. package/dist/private/Cross.css +10 -10
  262. package/dist/private/Cross.css.map +1 -1
  263. package/dist/private/Cross.mjs +14 -14
  264. package/dist/private/Cross.mjs.map +1 -1
  265. package/dist/private/CustomDialog.cjs +27 -26
  266. package/dist/private/CustomDialog.cjs.map +1 -1
  267. package/dist/private/CustomDialog.css +25 -25
  268. package/dist/private/CustomDialog.css.map +1 -1
  269. package/dist/private/CustomDialog.mjs +27 -26
  270. package/dist/private/CustomDialog.mjs.map +1 -1
  271. package/dist/private/Dash.cjs +10 -10
  272. package/dist/private/Dash.cjs.map +1 -1
  273. package/dist/private/Dash.css +6 -6
  274. package/dist/private/Dash.css.map +1 -1
  275. package/dist/private/Dash.mjs +10 -10
  276. package/dist/private/Dash.mjs.map +1 -1
  277. package/dist/private/DateField.cjs +73 -73
  278. package/dist/private/DateField.cjs.map +1 -1
  279. package/dist/private/DateField.css +77 -77
  280. package/dist/private/DateField.css.map +1 -1
  281. package/dist/private/DateField.mjs +73 -73
  282. package/dist/private/DateField.mjs.map +1 -1
  283. package/dist/private/DatePicker.cjs +172 -172
  284. package/dist/private/DatePicker.cjs.map +1 -1
  285. package/dist/private/DatePicker.css +128 -128
  286. package/dist/private/DatePicker.css.map +1 -1
  287. package/dist/private/DatePicker.mjs +172 -172
  288. package/dist/private/DatePicker.mjs.map +1 -1
  289. package/dist/private/DateRangePicker.cjs +55 -55
  290. package/dist/private/DateRangePicker.cjs.map +1 -1
  291. package/dist/private/DateRangePicker.css +59 -59
  292. package/dist/private/DateRangePicker.css.map +1 -1
  293. package/dist/private/DateRangePicker.mjs +55 -55
  294. package/dist/private/DateRangePicker.mjs.map +1 -1
  295. package/dist/private/Dialog.cjs +21 -18
  296. package/dist/private/Dialog.cjs.map +1 -1
  297. package/dist/private/Dialog.css +70 -70
  298. package/dist/private/Dialog.css.map +1 -1
  299. package/dist/private/Dialog.mjs +21 -18
  300. package/dist/private/Dialog.mjs.map +1 -1
  301. package/dist/private/DialogContainer.cjs.map +1 -1
  302. package/dist/private/DialogContainer.mjs.map +1 -1
  303. package/dist/private/DialogTrigger.cjs.map +1 -1
  304. package/dist/private/DialogTrigger.mjs.map +1 -1
  305. package/dist/private/Disclosure.cjs +119 -119
  306. package/dist/private/Disclosure.cjs.map +1 -1
  307. package/dist/private/Disclosure.css +112 -112
  308. package/dist/private/Disclosure.css.map +1 -1
  309. package/dist/private/Disclosure.mjs +119 -119
  310. package/dist/private/Disclosure.mjs.map +1 -1
  311. package/dist/private/Divider.cjs +25 -25
  312. package/dist/private/Divider.cjs.map +1 -1
  313. package/dist/private/Divider.css +25 -25
  314. package/dist/private/Divider.css.map +1 -1
  315. package/dist/private/Divider.mjs +25 -25
  316. package/dist/private/Divider.mjs.map +1 -1
  317. package/dist/private/DragHandle.cjs +76 -0
  318. package/dist/private/DragHandle.cjs.map +1 -0
  319. package/dist/private/DragHandle.css +26 -0
  320. package/dist/private/DragHandle.css.map +1 -0
  321. package/dist/private/DragHandle.mjs +71 -0
  322. package/dist/private/DragHandle.mjs.map +1 -0
  323. package/dist/private/DragPreview.cjs +297 -0
  324. package/dist/private/DragPreview.cjs.map +1 -0
  325. package/dist/private/DragPreview.css +459 -0
  326. package/dist/private/DragPreview.css.map +1 -0
  327. package/dist/private/DragPreview.mjs +288 -0
  328. package/dist/private/DragPreview.mjs.map +1 -0
  329. package/dist/private/DropZone.cjs +61 -61
  330. package/dist/private/DropZone.cjs.map +1 -1
  331. package/dist/private/DropZone.css +57 -57
  332. package/dist/private/DropZone.css.map +1 -1
  333. package/dist/private/DropZone.mjs +61 -61
  334. package/dist/private/DropZone.mjs.map +1 -1
  335. package/dist/private/Field.cjs +421 -372
  336. package/dist/private/Field.cjs.map +1 -1
  337. package/dist/private/Field.css +206 -154
  338. package/dist/private/Field.css.map +1 -1
  339. package/dist/private/Field.mjs +422 -373
  340. package/dist/private/Field.mjs.map +1 -1
  341. package/dist/private/Fonts.cjs.map +1 -1
  342. package/dist/private/Fonts.mjs.map +1 -1
  343. package/dist/private/Form.cjs +9 -9
  344. package/dist/private/Form.cjs.map +1 -1
  345. package/dist/private/Form.css +9 -9
  346. package/dist/private/Form.css.map +1 -1
  347. package/dist/private/Form.mjs +9 -9
  348. package/dist/private/Form.mjs.map +1 -1
  349. package/dist/private/FullscreenDialog.cjs +7 -6
  350. package/dist/private/FullscreenDialog.cjs.map +1 -1
  351. package/dist/private/FullscreenDialog.css +78 -78
  352. package/dist/private/FullscreenDialog.css.map +1 -1
  353. package/dist/private/FullscreenDialog.mjs +7 -6
  354. package/dist/private/FullscreenDialog.mjs.map +1 -1
  355. package/dist/private/IllustratedMessage.cjs +228 -228
  356. package/dist/private/IllustratedMessage.cjs.map +1 -1
  357. package/dist/private/IllustratedMessage.css +72 -72
  358. package/dist/private/IllustratedMessage.css.map +1 -1
  359. package/dist/private/IllustratedMessage.mjs +228 -228
  360. package/dist/private/IllustratedMessage.mjs.map +1 -1
  361. package/dist/private/Image.cjs +16 -16
  362. package/dist/private/Image.cjs.map +1 -1
  363. package/dist/private/Image.css +14 -14
  364. package/dist/private/Image.css.map +1 -1
  365. package/dist/private/Image.mjs +16 -16
  366. package/dist/private/Image.mjs.map +1 -1
  367. package/dist/private/ImageCoordinator.cjs.map +1 -1
  368. package/dist/private/ImageCoordinator.mjs.map +1 -1
  369. package/dist/private/InlineAlert.cjs +100 -100
  370. package/dist/private/InlineAlert.cjs.map +1 -1
  371. package/dist/private/InlineAlert.css +76 -76
  372. package/dist/private/InlineAlert.css.map +1 -1
  373. package/dist/private/InlineAlert.mjs +100 -100
  374. package/dist/private/InlineAlert.mjs.map +1 -1
  375. package/dist/private/LabeledValue.cjs +359 -0
  376. package/dist/private/LabeledValue.cjs.map +1 -0
  377. package/dist/private/LabeledValue.css +285 -0
  378. package/dist/private/LabeledValue.css.map +1 -0
  379. package/dist/private/LabeledValue.mjs +353 -0
  380. package/dist/private/LabeledValue.mjs.map +1 -0
  381. package/dist/private/Link.cjs +49 -49
  382. package/dist/private/Link.cjs.map +1 -1
  383. package/dist/private/Link.css +41 -41
  384. package/dist/private/Link.css.map +1 -1
  385. package/dist/private/Link.mjs +49 -49
  386. package/dist/private/Link.mjs.map +1 -1
  387. package/dist/private/LinkOut.cjs +8 -8
  388. package/dist/private/LinkOut.cjs.map +1 -1
  389. package/dist/private/LinkOut.css +8 -8
  390. package/dist/private/LinkOut.css.map +1 -1
  391. package/dist/private/LinkOut.mjs +8 -8
  392. package/dist/private/LinkOut.mjs.map +1 -1
  393. package/dist/private/ListView.cjs +422 -489
  394. package/dist/private/ListView.cjs.map +1 -1
  395. package/dist/private/ListView.css +276 -348
  396. package/dist/private/ListView.css.map +1 -1
  397. package/dist/private/ListView.mjs +422 -488
  398. package/dist/private/ListView.mjs.map +1 -1
  399. package/dist/private/Menu.cjs +489 -471
  400. package/dist/private/Menu.cjs.map +1 -1
  401. package/dist/private/Menu.css +205 -205
  402. package/dist/private/Menu.css.map +1 -1
  403. package/dist/private/Menu.mjs +489 -471
  404. package/dist/private/Menu.mjs.map +1 -1
  405. package/dist/private/Meter.cjs +153 -153
  406. package/dist/private/Meter.cjs.map +1 -1
  407. package/dist/private/Meter.css +91 -91
  408. package/dist/private/Meter.css.map +1 -1
  409. package/dist/private/Meter.mjs +153 -153
  410. package/dist/private/Meter.mjs.map +1 -1
  411. package/dist/private/Modal.cjs +78 -66
  412. package/dist/private/Modal.cjs.map +1 -1
  413. package/dist/private/Modal.css +83 -53
  414. package/dist/private/Modal.css.map +1 -1
  415. package/dist/private/Modal.mjs +78 -66
  416. package/dist/private/Modal.mjs.map +1 -1
  417. package/dist/private/NotificationBadge.cjs +56 -56
  418. package/dist/private/NotificationBadge.cjs.map +1 -1
  419. package/dist/private/NotificationBadge.css +49 -49
  420. package/dist/private/NotificationBadge.css.map +1 -1
  421. package/dist/private/NotificationBadge.mjs +56 -56
  422. package/dist/private/NotificationBadge.mjs.map +1 -1
  423. package/dist/private/NumberField.cjs +115 -114
  424. package/dist/private/NumberField.cjs.map +1 -1
  425. package/dist/private/NumberField.css +99 -99
  426. package/dist/private/NumberField.css.map +1 -1
  427. package/dist/private/NumberField.mjs +115 -114
  428. package/dist/private/NumberField.mjs.map +1 -1
  429. package/dist/private/Picker.cjs +277 -277
  430. package/dist/private/Picker.cjs.map +1 -1
  431. package/dist/private/Picker.css +173 -173
  432. package/dist/private/Picker.css.map +1 -1
  433. package/dist/private/Picker.mjs +277 -277
  434. package/dist/private/Picker.mjs.map +1 -1
  435. package/dist/private/Popover.cjs +99 -87
  436. package/dist/private/Popover.cjs.map +1 -1
  437. package/dist/private/Popover.css +97 -69
  438. package/dist/private/Popover.css.map +1 -1
  439. package/dist/private/Popover.mjs +99 -87
  440. package/dist/private/Popover.mjs.map +1 -1
  441. package/dist/private/ProgressBar.cjs +163 -163
  442. package/dist/private/ProgressBar.cjs.map +1 -1
  443. package/dist/private/ProgressBar.css +99 -99
  444. package/dist/private/ProgressBar.css.map +1 -1
  445. package/dist/private/ProgressBar.mjs +163 -163
  446. package/dist/private/ProgressBar.mjs.map +1 -1
  447. package/dist/private/ProgressCircle.cjs +31 -31
  448. package/dist/private/ProgressCircle.cjs.map +1 -1
  449. package/dist/private/ProgressCircle.css +24 -24
  450. package/dist/private/ProgressCircle.css.map +1 -1
  451. package/dist/private/ProgressCircle.mjs +31 -31
  452. package/dist/private/ProgressCircle.mjs.map +1 -1
  453. package/dist/private/Provider.cjs +23 -11
  454. package/dist/private/Provider.cjs.map +1 -1
  455. package/dist/private/Provider.css +46 -9
  456. package/dist/private/Provider.css.map +1 -1
  457. package/dist/private/Provider.mjs +23 -11
  458. package/dist/private/Provider.mjs.map +1 -1
  459. package/dist/private/RadioGroup.cjs +251 -203
  460. package/dist/private/RadioGroup.cjs.map +1 -1
  461. package/dist/private/RadioGroup.css +167 -135
  462. package/dist/private/RadioGroup.css.map +1 -1
  463. package/dist/private/RadioGroup.mjs +252 -204
  464. package/dist/private/RadioGroup.mjs.map +1 -1
  465. package/dist/private/RangeCalendar.cjs +19 -17
  466. package/dist/private/RangeCalendar.cjs.map +1 -1
  467. package/dist/private/RangeCalendar.css +17 -17
  468. package/dist/private/RangeCalendar.css.map +1 -1
  469. package/dist/private/RangeCalendar.mjs +19 -17
  470. package/dist/private/RangeCalendar.mjs.map +1 -1
  471. package/dist/private/RangeSlider.cjs +7 -15
  472. package/dist/private/RangeSlider.cjs.map +1 -1
  473. package/dist/private/RangeSlider.mjs +8 -16
  474. package/dist/private/RangeSlider.mjs.map +1 -1
  475. package/dist/private/S2_CornerTriangleSize100.cjs +26 -0
  476. package/dist/private/S2_CornerTriangleSize100.cjs.map +1 -0
  477. package/dist/private/S2_CornerTriangleSize100.mjs +21 -0
  478. package/dist/private/S2_CornerTriangleSize100.mjs.map +1 -0
  479. package/dist/private/S2_CornerTriangleSize200.cjs +26 -0
  480. package/dist/private/S2_CornerTriangleSize200.cjs.map +1 -0
  481. package/dist/private/S2_CornerTriangleSize200.mjs +21 -0
  482. package/dist/private/S2_CornerTriangleSize200.mjs.map +1 -0
  483. package/dist/private/S2_CornerTriangleSize300.cjs +26 -0
  484. package/dist/private/S2_CornerTriangleSize300.cjs.map +1 -0
  485. package/dist/private/S2_CornerTriangleSize300.mjs +21 -0
  486. package/dist/private/S2_CornerTriangleSize300.mjs.map +1 -0
  487. package/dist/private/S2_CornerTriangleSize75.cjs +26 -0
  488. package/dist/private/S2_CornerTriangleSize75.cjs.map +1 -0
  489. package/dist/private/S2_CornerTriangleSize75.mjs +21 -0
  490. package/dist/private/S2_CornerTriangleSize75.mjs.map +1 -0
  491. package/dist/private/S2_DragHandleSize100.cjs +60 -0
  492. package/dist/private/S2_DragHandleSize100.cjs.map +1 -0
  493. package/dist/private/S2_DragHandleSize100.mjs +55 -0
  494. package/dist/private/S2_DragHandleSize100.mjs.map +1 -0
  495. package/dist/private/S2_DragHandleSize200.cjs +60 -0
  496. package/dist/private/S2_DragHandleSize200.cjs.map +1 -0
  497. package/dist/private/S2_DragHandleSize200.mjs +55 -0
  498. package/dist/private/S2_DragHandleSize200.mjs.map +1 -0
  499. package/dist/private/S2_DragHandleSize300.cjs +60 -0
  500. package/dist/private/S2_DragHandleSize300.cjs.map +1 -0
  501. package/dist/private/S2_DragHandleSize300.mjs +55 -0
  502. package/dist/private/S2_DragHandleSize300.mjs.map +1 -0
  503. package/dist/private/S2_DragHandleSize75.cjs +60 -0
  504. package/dist/private/S2_DragHandleSize75.cjs.map +1 -0
  505. package/dist/private/S2_DragHandleSize75.mjs +55 -0
  506. package/dist/private/S2_DragHandleSize75.mjs.map +1 -0
  507. package/dist/private/SearchField.cjs +41 -41
  508. package/dist/private/SearchField.cjs.map +1 -1
  509. package/dist/private/SearchField.css +45 -45
  510. package/dist/private/SearchField.css.map +1 -1
  511. package/dist/private/SearchField.mjs +41 -41
  512. package/dist/private/SearchField.mjs.map +1 -1
  513. package/dist/private/SegmentedControl.cjs +178 -178
  514. package/dist/private/SegmentedControl.cjs.map +1 -1
  515. package/dist/private/SegmentedControl.css +123 -123
  516. package/dist/private/SegmentedControl.css.map +1 -1
  517. package/dist/private/SegmentedControl.mjs +178 -178
  518. package/dist/private/SegmentedControl.mjs.map +1 -1
  519. package/dist/private/SelectBoxGroup.cjs +142 -142
  520. package/dist/private/SelectBoxGroup.cjs.map +1 -1
  521. package/dist/private/SelectBoxGroup.css +120 -120
  522. package/dist/private/SelectBoxGroup.css.map +1 -1
  523. package/dist/private/SelectBoxGroup.mjs +142 -142
  524. package/dist/private/SelectBoxGroup.mjs.map +1 -1
  525. package/dist/private/SkeletonCollection.cjs.map +1 -1
  526. package/dist/private/SkeletonCollection.mjs.map +1 -1
  527. package/dist/private/Slider.cjs +318 -332
  528. package/dist/private/Slider.cjs.map +1 -1
  529. package/dist/private/Slider.css +177 -157
  530. package/dist/private/Slider.css.map +1 -1
  531. package/dist/private/Slider.mjs +319 -333
  532. package/dist/private/Slider.mjs.map +1 -1
  533. package/dist/private/StatusLight.cjs +115 -115
  534. package/dist/private/StatusLight.cjs.map +1 -1
  535. package/dist/private/StatusLight.css +59 -59
  536. package/dist/private/StatusLight.css.map +1 -1
  537. package/dist/private/StatusLight.mjs +115 -115
  538. package/dist/private/StatusLight.mjs.map +1 -1
  539. package/dist/private/Switch.cjs +219 -176
  540. package/dist/private/Switch.cjs.map +1 -1
  541. package/dist/private/Switch.css +128 -84
  542. package/dist/private/Switch.css.map +1 -1
  543. package/dist/private/Switch.mjs +219 -176
  544. package/dist/private/Switch.mjs.map +1 -1
  545. package/dist/private/TableView.cjs +739 -510
  546. package/dist/private/TableView.cjs.map +1 -1
  547. package/dist/private/TableView.css +550 -302
  548. package/dist/private/TableView.css.map +1 -1
  549. package/dist/private/TableView.mjs +741 -513
  550. package/dist/private/TableView.mjs.map +1 -1
  551. package/dist/private/Tabs.cjs +123 -123
  552. package/dist/private/Tabs.cjs.map +1 -1
  553. package/dist/private/Tabs.css +105 -105
  554. package/dist/private/Tabs.css.map +1 -1
  555. package/dist/private/Tabs.mjs +123 -123
  556. package/dist/private/Tabs.mjs.map +1 -1
  557. package/dist/private/TabsPicker.cjs +130 -129
  558. package/dist/private/TabsPicker.cjs.map +1 -1
  559. package/dist/private/TabsPicker.css +108 -108
  560. package/dist/private/TabsPicker.css.map +1 -1
  561. package/dist/private/TabsPicker.mjs +130 -129
  562. package/dist/private/TabsPicker.mjs.map +1 -1
  563. package/dist/private/TagGroup.cjs +203 -203
  564. package/dist/private/TagGroup.cjs.map +1 -1
  565. package/dist/private/TagGroup.css +146 -146
  566. package/dist/private/TagGroup.css.map +1 -1
  567. package/dist/private/TagGroup.mjs +203 -203
  568. package/dist/private/TagGroup.mjs.map +1 -1
  569. package/dist/private/TextField.cjs +84 -73
  570. package/dist/private/TextField.cjs.map +1 -1
  571. package/dist/private/TextField.css +54 -54
  572. package/dist/private/TextField.css.map +1 -1
  573. package/dist/private/TextField.mjs +85 -74
  574. package/dist/private/TextField.mjs.map +1 -1
  575. package/dist/private/TimeField.cjs +51 -51
  576. package/dist/private/TimeField.cjs.map +1 -1
  577. package/dist/private/TimeField.css +47 -47
  578. package/dist/private/TimeField.css.map +1 -1
  579. package/dist/private/TimeField.mjs +51 -51
  580. package/dist/private/TimeField.mjs.map +1 -1
  581. package/dist/private/Toast.cjs +122 -121
  582. package/dist/private/Toast.cjs.map +1 -1
  583. package/dist/private/Toast.css +110 -110
  584. package/dist/private/Toast.css.map +1 -1
  585. package/dist/private/Toast.mjs +122 -121
  586. package/dist/private/Toast.mjs.map +1 -1
  587. package/dist/private/Toast.module_css.cjs +21 -21
  588. package/dist/private/Toast.module_css.cjs.map +1 -1
  589. package/dist/private/Toast.module_css.mjs +21 -21
  590. package/dist/private/Toast.module_css.mjs.map +1 -1
  591. package/dist/private/Toast_module.css +44 -44
  592. package/dist/private/Toast_module.css.map +1 -1
  593. package/dist/private/ToggleButton.cjs +59 -26
  594. package/dist/private/ToggleButton.cjs.map +1 -1
  595. package/dist/private/ToggleButton.css +56 -12
  596. package/dist/private/ToggleButton.css.map +1 -1
  597. package/dist/private/ToggleButton.mjs +60 -27
  598. package/dist/private/ToggleButton.mjs.map +1 -1
  599. package/dist/private/ToggleButtonGroup.cjs.map +1 -1
  600. package/dist/private/ToggleButtonGroup.mjs.map +1 -1
  601. package/dist/private/Tooltip.cjs +90 -78
  602. package/dist/private/Tooltip.cjs.map +1 -1
  603. package/dist/private/Tooltip.css +92 -64
  604. package/dist/private/Tooltip.css.map +1 -1
  605. package/dist/private/Tooltip.mjs +90 -78
  606. package/dist/private/Tooltip.mjs.map +1 -1
  607. package/dist/private/TreeView.cjs +300 -233
  608. package/dist/private/TreeView.cjs.map +1 -1
  609. package/dist/private/TreeView.css +243 -181
  610. package/dist/private/TreeView.css.map +1 -1
  611. package/dist/private/TreeView.mjs +301 -234
  612. package/dist/private/TreeView.mjs.map +1 -1
  613. package/dist/private/dnd-utils.cjs +149 -0
  614. package/dist/private/dnd-utils.cjs.map +1 -0
  615. package/dist/private/dnd-utils.css +164 -0
  616. package/dist/private/dnd-utils.css.map +1 -0
  617. package/dist/private/dnd-utils.mjs +143 -0
  618. package/dist/private/dnd-utils.mjs.map +1 -0
  619. package/dist/private/font-faces.css.map +1 -1
  620. package/dist/private/intl/ar-AE.cjs +1 -0
  621. package/dist/private/intl/ar-AE.cjs.map +1 -1
  622. package/dist/private/intl/ar-AE.mjs +1 -0
  623. package/dist/private/intl/ar-AE.mjs.map +1 -1
  624. package/dist/private/intl/bg-BG.cjs +1 -0
  625. package/dist/private/intl/bg-BG.cjs.map +1 -1
  626. package/dist/private/intl/bg-BG.mjs +1 -0
  627. package/dist/private/intl/bg-BG.mjs.map +1 -1
  628. package/dist/private/intl/cs-CZ.cjs +1 -0
  629. package/dist/private/intl/cs-CZ.cjs.map +1 -1
  630. package/dist/private/intl/cs-CZ.mjs +1 -0
  631. package/dist/private/intl/cs-CZ.mjs.map +1 -1
  632. package/dist/private/intl/da-DK.cjs +1 -0
  633. package/dist/private/intl/da-DK.cjs.map +1 -1
  634. package/dist/private/intl/da-DK.mjs +1 -0
  635. package/dist/private/intl/da-DK.mjs.map +1 -1
  636. package/dist/private/intl/de-DE.cjs +1 -0
  637. package/dist/private/intl/de-DE.cjs.map +1 -1
  638. package/dist/private/intl/de-DE.mjs +1 -0
  639. package/dist/private/intl/de-DE.mjs.map +1 -1
  640. package/dist/private/intl/el-GR.cjs +1 -0
  641. package/dist/private/intl/el-GR.cjs.map +1 -1
  642. package/dist/private/intl/el-GR.mjs +1 -0
  643. package/dist/private/intl/el-GR.mjs.map +1 -1
  644. package/dist/private/intl/en-US.cjs +1 -0
  645. package/dist/private/intl/en-US.cjs.map +1 -1
  646. package/dist/private/intl/en-US.mjs +1 -0
  647. package/dist/private/intl/en-US.mjs.map +1 -1
  648. package/dist/private/intl/es-ES.cjs +1 -0
  649. package/dist/private/intl/es-ES.cjs.map +1 -1
  650. package/dist/private/intl/es-ES.mjs +1 -0
  651. package/dist/private/intl/es-ES.mjs.map +1 -1
  652. package/dist/private/intl/et-EE.cjs +1 -0
  653. package/dist/private/intl/et-EE.cjs.map +1 -1
  654. package/dist/private/intl/et-EE.mjs +1 -0
  655. package/dist/private/intl/et-EE.mjs.map +1 -1
  656. package/dist/private/intl/fi-FI.cjs +1 -0
  657. package/dist/private/intl/fi-FI.cjs.map +1 -1
  658. package/dist/private/intl/fi-FI.mjs +1 -0
  659. package/dist/private/intl/fi-FI.mjs.map +1 -1
  660. package/dist/private/intl/fr-FR.cjs +1 -0
  661. package/dist/private/intl/fr-FR.cjs.map +1 -1
  662. package/dist/private/intl/fr-FR.mjs +1 -0
  663. package/dist/private/intl/fr-FR.mjs.map +1 -1
  664. package/dist/private/intl/he-IL.cjs +1 -0
  665. package/dist/private/intl/he-IL.cjs.map +1 -1
  666. package/dist/private/intl/he-IL.mjs +1 -0
  667. package/dist/private/intl/he-IL.mjs.map +1 -1
  668. package/dist/private/intl/hr-HR.cjs +1 -0
  669. package/dist/private/intl/hr-HR.cjs.map +1 -1
  670. package/dist/private/intl/hr-HR.mjs +1 -0
  671. package/dist/private/intl/hr-HR.mjs.map +1 -1
  672. package/dist/private/intl/hu-HU.cjs +1 -0
  673. package/dist/private/intl/hu-HU.cjs.map +1 -1
  674. package/dist/private/intl/hu-HU.mjs +1 -0
  675. package/dist/private/intl/hu-HU.mjs.map +1 -1
  676. package/dist/private/intl/it-IT.cjs +1 -0
  677. package/dist/private/intl/it-IT.cjs.map +1 -1
  678. package/dist/private/intl/it-IT.mjs +1 -0
  679. package/dist/private/intl/it-IT.mjs.map +1 -1
  680. package/dist/private/intl/ja-JP.cjs +1 -0
  681. package/dist/private/intl/ja-JP.cjs.map +1 -1
  682. package/dist/private/intl/ja-JP.mjs +1 -0
  683. package/dist/private/intl/ja-JP.mjs.map +1 -1
  684. package/dist/private/intl/ko-KR.cjs +1 -0
  685. package/dist/private/intl/ko-KR.cjs.map +1 -1
  686. package/dist/private/intl/ko-KR.mjs +1 -0
  687. package/dist/private/intl/ko-KR.mjs.map +1 -1
  688. package/dist/private/intl/lt-LT.cjs +1 -0
  689. package/dist/private/intl/lt-LT.cjs.map +1 -1
  690. package/dist/private/intl/lt-LT.mjs +1 -0
  691. package/dist/private/intl/lt-LT.mjs.map +1 -1
  692. package/dist/private/intl/lv-LV.cjs +1 -0
  693. package/dist/private/intl/lv-LV.cjs.map +1 -1
  694. package/dist/private/intl/lv-LV.mjs +1 -0
  695. package/dist/private/intl/lv-LV.mjs.map +1 -1
  696. package/dist/private/intl/nb-NO.cjs +1 -0
  697. package/dist/private/intl/nb-NO.cjs.map +1 -1
  698. package/dist/private/intl/nb-NO.mjs +1 -0
  699. package/dist/private/intl/nb-NO.mjs.map +1 -1
  700. package/dist/private/intl/nl-NL.cjs +1 -0
  701. package/dist/private/intl/nl-NL.cjs.map +1 -1
  702. package/dist/private/intl/nl-NL.mjs +1 -0
  703. package/dist/private/intl/nl-NL.mjs.map +1 -1
  704. package/dist/private/intl/pl-PL.cjs +1 -0
  705. package/dist/private/intl/pl-PL.cjs.map +1 -1
  706. package/dist/private/intl/pl-PL.mjs +1 -0
  707. package/dist/private/intl/pl-PL.mjs.map +1 -1
  708. package/dist/private/intl/pt-BR.cjs +1 -0
  709. package/dist/private/intl/pt-BR.cjs.map +1 -1
  710. package/dist/private/intl/pt-BR.mjs +1 -0
  711. package/dist/private/intl/pt-BR.mjs.map +1 -1
  712. package/dist/private/intl/pt-PT.cjs +1 -0
  713. package/dist/private/intl/pt-PT.cjs.map +1 -1
  714. package/dist/private/intl/pt-PT.mjs +1 -0
  715. package/dist/private/intl/pt-PT.mjs.map +1 -1
  716. package/dist/private/intl/ro-RO.cjs +1 -0
  717. package/dist/private/intl/ro-RO.cjs.map +1 -1
  718. package/dist/private/intl/ro-RO.mjs +1 -0
  719. package/dist/private/intl/ro-RO.mjs.map +1 -1
  720. package/dist/private/intl/ru-RU.cjs +1 -0
  721. package/dist/private/intl/ru-RU.cjs.map +1 -1
  722. package/dist/private/intl/ru-RU.mjs +1 -0
  723. package/dist/private/intl/ru-RU.mjs.map +1 -1
  724. package/dist/private/intl/sk-SK.cjs +1 -0
  725. package/dist/private/intl/sk-SK.cjs.map +1 -1
  726. package/dist/private/intl/sk-SK.mjs +1 -0
  727. package/dist/private/intl/sk-SK.mjs.map +1 -1
  728. package/dist/private/intl/sl-SI.cjs +1 -0
  729. package/dist/private/intl/sl-SI.cjs.map +1 -1
  730. package/dist/private/intl/sl-SI.mjs +1 -0
  731. package/dist/private/intl/sl-SI.mjs.map +1 -1
  732. package/dist/private/intl/sr-SP.cjs +1 -0
  733. package/dist/private/intl/sr-SP.cjs.map +1 -1
  734. package/dist/private/intl/sr-SP.mjs +1 -0
  735. package/dist/private/intl/sr-SP.mjs.map +1 -1
  736. package/dist/private/intl/sv-SE.cjs +1 -0
  737. package/dist/private/intl/sv-SE.cjs.map +1 -1
  738. package/dist/private/intl/sv-SE.mjs +1 -0
  739. package/dist/private/intl/sv-SE.mjs.map +1 -1
  740. package/dist/private/intl/tr-TR.cjs +1 -0
  741. package/dist/private/intl/tr-TR.cjs.map +1 -1
  742. package/dist/private/intl/tr-TR.mjs +1 -0
  743. package/dist/private/intl/tr-TR.mjs.map +1 -1
  744. package/dist/private/intl/uk-UA.cjs +1 -0
  745. package/dist/private/intl/uk-UA.cjs.map +1 -1
  746. package/dist/private/intl/uk-UA.mjs +1 -0
  747. package/dist/private/intl/uk-UA.mjs.map +1 -1
  748. package/dist/private/intl/zh-CN.cjs +1 -0
  749. package/dist/private/intl/zh-CN.cjs.map +1 -1
  750. package/dist/private/intl/zh-CN.mjs +1 -0
  751. package/dist/private/intl/zh-CN.mjs.map +1 -1
  752. package/dist/private/intl/zh-TW.cjs +1 -0
  753. package/dist/private/intl/zh-TW.cjs.map +1 -1
  754. package/dist/private/intl/zh-TW.mjs +1 -0
  755. package/dist/private/intl/zh-TW.mjs.map +1 -1
  756. package/dist/private/pressScale.cjs.map +1 -1
  757. package/dist/private/pressScale.mjs.map +1 -1
  758. package/dist/private/useDOMRef.cjs +3 -2
  759. package/dist/private/useDOMRef.cjs.map +1 -1
  760. package/dist/private/useDOMRef.mjs +3 -2
  761. package/dist/private/useDOMRef.mjs.map +1 -1
  762. package/dist/private/useDragAndDrop.cjs +25 -0
  763. package/dist/private/useDragAndDrop.cjs.map +1 -0
  764. package/dist/private/useDragAndDrop.mjs +20 -0
  765. package/dist/private/useDragAndDrop.mjs.map +1 -0
  766. package/dist/types/exports/DragPreview.d.ts +2 -0
  767. package/dist/types/exports/LabeledValue.d.ts +2 -0
  768. package/dist/types/exports/TableView.d.ts +2 -2
  769. package/dist/types/exports/index.d.ts +11 -2
  770. package/dist/types/exports/useDragAndDrop.d.ts +8 -0
  771. package/dist/types/src/Accordion.d.ts +22 -6
  772. package/dist/types/src/ActionBar.d.ts +6 -2
  773. package/dist/types/src/ActionButton.d.ts +15 -5
  774. package/dist/types/src/ActionButtonGroup.d.ts +13 -4
  775. package/dist/types/src/ActionMenu.d.ts +1 -1
  776. package/dist/types/src/AlertDialog.d.ts +3 -1
  777. package/dist/types/src/Avatar.d.ts +1 -0
  778. package/dist/types/src/AvatarGroup.d.ts +1 -0
  779. package/dist/types/src/Badge.d.ts +6 -2
  780. package/dist/types/src/Breadcrumbs.d.ts +1 -1
  781. package/dist/types/src/Button.d.ts +2 -1
  782. package/dist/types/src/Calendar.d.ts +8 -5
  783. package/dist/types/src/Card.d.ts +4 -1
  784. package/dist/types/src/CardView.d.ts +6 -1
  785. package/dist/types/src/CenterBaseline.d.ts +2 -1
  786. package/dist/types/src/Checkbox.d.ts +5 -5
  787. package/dist/types/src/CoachMark.d.ts +3 -3
  788. package/dist/types/src/ColorArea.d.ts +2 -1
  789. package/dist/types/src/ColorField.d.ts +6 -0
  790. package/dist/types/src/ColorSwatch.d.ts +2 -0
  791. package/dist/types/src/ColorSwatchPicker.d.ts +3 -0
  792. package/dist/types/src/ComboBox.d.ts +18 -7
  793. package/dist/types/src/ContextualHelp.d.ts +5 -2
  794. package/dist/types/src/CustomDialog.d.ts +1 -0
  795. package/dist/types/src/DatePicker.d.ts +5 -2
  796. package/dist/types/src/DateRangePicker.d.ts +3 -1
  797. package/dist/types/src/Dialog.d.ts +3 -2
  798. package/dist/types/src/DialogTrigger.d.ts +3 -3
  799. package/dist/types/src/Disclosure.d.ts +10 -4
  800. package/dist/types/src/Divider.d.ts +2 -0
  801. package/dist/types/src/DragPreview.d.ts +42 -0
  802. package/dist/types/src/DropZone.d.ts +1 -0
  803. package/dist/types/src/Field.d.ts +5 -3
  804. package/dist/types/src/Form.d.ts +3 -1
  805. package/dist/types/src/FullscreenDialog.d.ts +4 -2
  806. package/dist/types/src/Image.d.ts +6 -5
  807. package/dist/types/src/ImageCoordinator.d.ts +3 -1
  808. package/dist/types/src/InlineAlert.d.ts +4 -2
  809. package/dist/types/src/LabeledValue.d.ts +61 -0
  810. package/dist/types/src/Link.d.ts +1 -0
  811. package/dist/types/src/ListBox.d.ts +1 -1
  812. package/dist/types/src/ListView.d.ts +12 -24
  813. package/dist/types/src/Menu.d.ts +8 -6
  814. package/dist/types/src/Meter.d.ts +4 -1
  815. package/dist/types/src/NumberField.d.ts +9 -1
  816. package/dist/types/src/Picker.d.ts +12 -7
  817. package/dist/types/src/Popover.d.ts +2 -1
  818. package/dist/types/src/ProgressBar.d.ts +3 -2
  819. package/dist/types/src/ProgressCircle.d.ts +2 -2
  820. package/dist/types/src/Provider.d.ts +6 -3
  821. package/dist/types/src/RadioGroup.d.ts +2 -2
  822. package/dist/types/src/RangeCalendar.d.ts +4 -2
  823. package/dist/types/src/RangeSlider.d.ts +6 -3
  824. package/dist/types/src/SelectBoxGroup.d.ts +3 -1
  825. package/dist/types/src/SkeletonCollection.d.ts +2 -1
  826. package/dist/types/src/Slider.d.ts +2 -1
  827. package/dist/types/src/Switch.d.ts +5 -5
  828. package/dist/types/src/TableView.d.ts +29 -9
  829. package/dist/types/src/Tabs.d.ts +5 -2
  830. package/dist/types/src/TabsPicker.d.ts +9 -4
  831. package/dist/types/src/TagGroup.d.ts +10 -4
  832. package/dist/types/src/TextField.d.ts +5 -0
  833. package/dist/types/src/Toast.d.ts +2 -1
  834. package/dist/types/src/ToggleButton.d.ts +9 -2
  835. package/dist/types/src/ToggleButtonGroup.d.ts +4 -1
  836. package/dist/types/src/TreeView.d.ts +6 -3
  837. package/dist/types/src/dnd-utils.d.ts +8 -0
  838. package/dist/types/src/pressScale.d.ts +20 -0
  839. package/dist/types/src/style-utils.d.ts +56 -26
  840. package/dist/types/src/useDOMRef.d.ts +3 -3
  841. package/dist/types/src/useDragAndDrop.d.ts +9 -0
  842. package/dist/types/style/index.d.ts +27 -33
  843. package/dist/types/style/runtime.d.ts +6 -8
  844. package/dist/types/style/spectrum-theme.d.ts +42 -50
  845. package/dist/types/style/style-macro.d.ts +7 -9
  846. package/dist/types/style/tokens.d.ts +2 -2
  847. package/dist/types/ui-icons/CornerTriangle.d.ts +4 -0
  848. package/dist/types/ui-icons/DragHandle.d.ts +4 -0
  849. package/exports/Accordion.ts +17 -2
  850. package/exports/ActionMenu.ts +14 -2
  851. package/exports/Card.ts +16 -2
  852. package/exports/CardView.ts +16 -2
  853. package/exports/ColorArea.ts +8 -1
  854. package/exports/ColorField.ts +8 -1
  855. package/exports/ColorSlider.ts +8 -1
  856. package/exports/ColorSwatch.ts +8 -1
  857. package/exports/ColorSwatchPicker.ts +8 -1
  858. package/exports/ColorWheel.ts +8 -1
  859. package/exports/ContextualHelp.ts +5 -1
  860. package/exports/Disclosure.ts +7 -1
  861. package/exports/DragPreview.ts +2 -0
  862. package/exports/Icon.ts +6 -1
  863. package/exports/LabeledValue.ts +2 -0
  864. package/exports/Menu.ts +17 -2
  865. package/exports/SegmentedControl.ts +5 -1
  866. package/exports/TableView.ts +27 -3
  867. package/exports/TreeView.ts +6 -1
  868. package/exports/index.ts +174 -17
  869. package/exports/useAsyncList.ts +7 -1
  870. package/exports/useDragAndDrop.ts +36 -0
  871. package/icons/Icon.cjs +10 -10
  872. package/icons/Icon.cjs.map +1 -1
  873. package/icons/Icon.css +9 -9
  874. package/icons/Icon.css.map +1 -1
  875. package/icons/Icon.mjs +10 -10
  876. package/icons/Icon.mjs.map +1 -1
  877. package/icons/Skeleton.cjs +2 -2
  878. package/icons/Skeleton.cjs.map +1 -1
  879. package/icons/Skeleton.css +6 -6
  880. package/icons/Skeleton.css.map +1 -1
  881. package/icons/Skeleton.mjs +2 -2
  882. package/icons/Skeleton.mjs.map +1 -1
  883. package/icons/runtime.cjs.map +1 -1
  884. package/icons/runtime.mjs.map +1 -1
  885. package/icons/useMediaQuery.cjs.map +1 -1
  886. package/icons/useMediaQuery.mjs.map +1 -1
  887. package/icons/useSpectrumContextProps.cjs.map +1 -1
  888. package/icons/useSpectrumContextProps.mjs.map +1 -1
  889. package/illustrations/gradient/generic1/Conversationbubbles.cjs.map +1 -1
  890. package/illustrations/gradient/generic1/Conversationbubbles.mjs.map +1 -1
  891. package/illustrations/gradient/generic2/Conversationbubbles.cjs.map +1 -1
  892. package/illustrations/gradient/generic2/Conversationbubbles.mjs.map +1 -1
  893. package/illustrations/linear/BrowserNotCompatible.cjs.map +1 -1
  894. package/illustrations/linear/BrowserNotCompatible.mjs.map +1 -1
  895. package/illustrations/linear/CloudStateDisconnected.cjs.map +1 -1
  896. package/illustrations/linear/CloudStateDisconnected.mjs.map +1 -1
  897. package/illustrations/linear/ConfettiCelebration.cjs.map +1 -1
  898. package/illustrations/linear/ConfettiCelebration.mjs.map +1 -1
  899. package/illustrations/linear/Conversationbubbles.cjs.map +1 -1
  900. package/illustrations/linear/Conversationbubbles.mjs.map +1 -1
  901. package/illustrations/linear/MegaphonePromoteExpressive.cjs.map +1 -1
  902. package/illustrations/linear/MegaphonePromoteExpressive.mjs.map +1 -1
  903. package/illustrations/linear/NoInternetConnection.cjs.map +1 -1
  904. package/illustrations/linear/NoInternetConnection.mjs.map +1 -1
  905. package/package.json +31 -30
  906. package/page.css +11 -0
  907. package/page.css.map +1 -1
  908. package/src/Accordion.tsx +97 -59
  909. package/src/ActionBar.tsx +102 -44
  910. package/src/ActionButton.tsx +359 -252
  911. package/src/ActionButtonGroup.tsx +59 -38
  912. package/src/ActionMenu.tsx +21 -9
  913. package/src/AlertDialog.tsx +28 -25
  914. package/src/Avatar.tsx +41 -28
  915. package/src/AvatarGroup.tsx +34 -16
  916. package/src/Badge.tsx +167 -129
  917. package/src/Breadcrumbs.tsx +173 -96
  918. package/src/Button.tsx +390 -288
  919. package/src/ButtonGroup.tsx +70 -52
  920. package/src/Calendar.tsx +230 -173
  921. package/src/Card.tsx +395 -303
  922. package/src/CardView.tsx +126 -61
  923. package/src/CenterBaseline.tsx +15 -7
  924. package/src/Checkbox.tsx +152 -57
  925. package/src/CheckboxGroup.tsx +96 -63
  926. package/src/ClearButton.tsx +6 -3
  927. package/src/CloseButton.tsx +71 -44
  928. package/src/CoachMark.tsx +204 -192
  929. package/src/ColorArea.tsx +49 -28
  930. package/src/ColorField.tsx +83 -36
  931. package/src/ColorHandle.tsx +36 -25
  932. package/src/ColorSlider.tsx +123 -90
  933. package/src/ColorSwatch.tsx +71 -43
  934. package/src/ColorSwatchPicker.tsx +71 -52
  935. package/src/ColorWheel.tsx +75 -54
  936. package/src/ComboBox.tsx +311 -187
  937. package/src/Content.tsx +59 -38
  938. package/src/ContextualHelp.tsx +82 -49
  939. package/src/CustomDialog.tsx +41 -33
  940. package/src/DateField.tsx +57 -27
  941. package/src/DatePicker.tsx +117 -65
  942. package/src/DateRangePicker.tsx +209 -157
  943. package/src/Dialog.tsx +24 -16
  944. package/src/DialogContainer.tsx +4 -7
  945. package/src/DialogTrigger.tsx +4 -6
  946. package/src/Disclosure.tsx +102 -80
  947. package/src/Divider.tsx +71 -49
  948. package/src/DragPreview.tsx +193 -0
  949. package/src/DropZone.tsx +71 -40
  950. package/src/Field.tsx +239 -107
  951. package/src/Fonts.tsx +18 -11
  952. package/src/Form.tsx +42 -27
  953. package/src/FullscreenDialog.tsx +24 -39
  954. package/src/Icon.tsx +70 -33
  955. package/src/IllustratedMessage.tsx +98 -69
  956. package/src/Image.tsx +105 -49
  957. package/src/ImageCoordinator.tsx +39 -24
  958. package/src/InlineAlert.tsx +90 -80
  959. package/src/LabeledValue.tsx +344 -0
  960. package/src/Link.tsx +99 -45
  961. package/src/ListBox.tsx +2 -9
  962. package/src/ListView.tsx +486 -280
  963. package/src/Menu.tsx +313 -180
  964. package/src/Meter.tsx +51 -21
  965. package/src/Modal.tsx +90 -81
  966. package/src/NotificationBadge.tsx +98 -73
  967. package/src/NumberField.tsx +160 -90
  968. package/src/Picker.tsx +311 -171
  969. package/src/Popover.tsx +195 -149
  970. package/src/ProgressBar.tsx +81 -56
  971. package/src/ProgressCircle.tsx +70 -48
  972. package/src/Provider.tsx +16 -16
  973. package/src/RadioGroup.tsx +164 -55
  974. package/src/RangeCalendar.tsx +63 -41
  975. package/src/RangeSlider.tsx +48 -35
  976. package/src/SearchField.tsx +110 -75
  977. package/src/SegmentedControl.tsx +101 -76
  978. package/src/SelectBoxGroup.tsx +231 -191
  979. package/src/Skeleton.tsx +75 -49
  980. package/src/SkeletonCollection.tsx +16 -16
  981. package/src/Slider.tsx +135 -83
  982. package/src/StatusLight.tsx +61 -22
  983. package/src/Switch.tsx +122 -38
  984. package/src/TableView.tsx +1002 -356
  985. package/src/Tabs.tsx +327 -183
  986. package/src/TabsPicker.tsx +152 -107
  987. package/src/TagGroup.tsx +175 -80
  988. package/src/TextField.tsx +120 -54
  989. package/src/TimeField.tsx +48 -23
  990. package/src/Toast.module.css +11 -5
  991. package/src/Toast.tsx +119 -84
  992. package/src/ToggleButton.tsx +99 -25
  993. package/src/ToggleButtonGroup.tsx +22 -6
  994. package/src/Toolbar.tsx +0 -1
  995. package/src/Tooltip.tsx +64 -26
  996. package/src/TreeView.tsx +346 -91
  997. package/src/bar-utils.ts +65 -68
  998. package/src/dnd-utils.tsx +127 -0
  999. package/src/font-faces.css +129 -33
  1000. package/src/page.macro.ts +28 -2
  1001. package/src/pressScale.ts +24 -1
  1002. package/src/progress-utils.tsx +1 -1
  1003. package/src/style-utils.ts +216 -185
  1004. package/src/useDOMRef.ts +26 -11
  1005. package/src/useDragAndDrop.ts +32 -0
  1006. package/src/useMediaQuery.ts +2 -4
  1007. package/src/useSpectrumContextProps.ts +5 -1
  1008. package/style/__tests__/mergeStyles.test.ts +15 -4
  1009. package/style/__tests__/style-macro.test.js +81 -71
  1010. package/style/dist/main.cjs.map +1 -1
  1011. package/style/dist/module.mjs.map +1 -1
  1012. package/style/dist/spectrum-theme.cjs +4 -5
  1013. package/style/dist/spectrum-theme.cjs.map +1 -1
  1014. package/style/dist/spectrum-theme.mjs +4 -5
  1015. package/style/dist/spectrum-theme.mjs.map +1 -1
  1016. package/style/dist/style-macro.cjs +2 -1
  1017. package/style/dist/style-macro.cjs.map +1 -1
  1018. package/style/dist/style-macro.mjs +2 -1
  1019. package/style/dist/style-macro.mjs.map +1 -1
  1020. package/style/dist/style-utils.cjs +30 -1
  1021. package/style/dist/style-utils.cjs.map +1 -1
  1022. package/style/dist/style-utils.mjs +30 -1
  1023. package/style/dist/style-utils.mjs.map +1 -1
  1024. package/style/index.ts +105 -74
  1025. package/style/package.json +2 -2
  1026. package/style/runtime.ts +6 -8
  1027. package/style/spectrum-theme.ts +482 -194
  1028. package/style/style-macro.ts +310 -121
  1029. package/style/tokens.ts +79 -41
  1030. package/style/types.ts +146 -70
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@react-spectrum/s2/src/Card.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 {ActionMenuContext} from './ActionMenu';\nimport {AvatarContext} from './Avatar';\nimport {ButtonContext, LinkButtonContext} from './Button';\nimport {Checkbox} from './Checkbox';\nimport {color, focusRing, lightDark, space, style} from '../style' with {type: 'macro'};\nimport {composeRenderProps} from 'react-aria-components/composeRenderProps';\nimport {ContentContext, FooterContext, TextContext} from './Content';\nimport {ContextValue, DEFAULT_SLOT, Provider} from 'react-aria-components/slots';\nimport {createContext, CSSProperties, forwardRef, ReactNode, useContext} from 'react';\nimport {DividerContext} from './Divider';\nimport {DOMProps, DOMRef, DOMRefValue, GlobalDOMAttributes} from '@react-types/shared';\nimport {filterDOMProps} from 'react-aria/filterDOMProps';\nimport {getAllowedOverrides, StyleProps, UnsafeStyles} from './style-utils' with {type: 'macro'};\nimport {GridListItem, GridListItemProps} from 'react-aria-components/GridList';\nimport {IllustrationContext} from './Icon';\nimport {ImageContext} from './Image';\nimport {ImageCoordinator} from './ImageCoordinator';\nimport {inertValue} from 'react-aria/private/utils/inertValue';\nimport {Link} from 'react-aria-components/Link';\nimport {mergeStyles} from '../style/runtime';\nimport {pressScale} from './pressScale';\nimport {SkeletonContext, SkeletonWrapper, useIsSkeleton} from './Skeleton';\nimport {useDOMRef} from './useDOMRef';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\ninterface CardRenderProps {\n /** The size of the Card. */\n size: 'XS' | 'S' | 'M' | 'L' | 'XL'\n}\n\nexport interface CardProps extends Omit<GridListItemProps, 'className' | 'style' | 'render' | 'children' | 'onHoverChange' | 'onHoverStart' | 'onHoverEnd' | 'onClick' | keyof GlobalDOMAttributes>, StyleProps {\n /** The children of the Card. */\n children: ReactNode | ((renderProps: CardRenderProps) => ReactNode),\n /**\n * The size of the Card.\n * @default 'M'\n */\n size?: 'XS' | 'S' | 'M' | 'L' | 'XL',\n /**\n * The amount of internal padding within the Card.\n * @default 'regular'\n */\n density?: 'compact' | 'regular' | 'spacious',\n /**\n * The visual style of the Card.\n * @default 'primary'\n */\n variant?: 'primary' | 'secondary' | 'tertiary' | 'quiet'\n}\n\nconst borderRadius = {\n default: 'lg',\n size: {\n XS: 'default',\n S: 'default'\n }\n} as const;\n\nlet card = style({\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n borderRadius,\n '--s2-container-bg': {\n type: 'backgroundColor',\n value: {\n variant: {\n primary: 'elevated',\n secondary: 'layer-1'\n },\n forcedColors: 'ButtonFace'\n }\n },\n backgroundColor: {\n default: '--s2-container-bg',\n variant: {\n tertiary: 'transparent',\n quiet: 'transparent'\n }\n },\n boxShadow: {\n default: 'emphasized',\n isHovered: 'elevated',\n isFocusVisible: 'elevated',\n isSelected: 'elevated',\n forcedColors: '[0 0 0 1px var(--hcm-buttonborder, ButtonBorder)]',\n variant: {\n tertiary: {\n // Render border with box-shadow to avoid affecting layout.\n default: `[0 0 0 2px ${color('gray-100')}]`,\n isHovered: `[0 0 0 2px ${color('gray-200')}]`,\n isFocusVisible: `[0 0 0 2px ${color('gray-200')}]`,\n isSelected: 'none',\n forcedColors: '[0 0 0 2px var(--hcm-buttonborder, ButtonBorder)]'\n },\n quiet: 'none'\n }\n },\n forcedColorAdjust: 'none',\n transition: 'default',\n fontFamily: 'sans',\n textDecoration: 'none',\n overflow: {\n default: 'clip',\n variant: {\n quiet: 'visible'\n }\n },\n contain: 'layout',\n disableTapHighlight: true,\n userSelect: {\n isCardView: 'none'\n },\n cursor: {\n isLink: 'pointer'\n },\n width: {\n size: {\n XS: 112,\n S: 192,\n M: 240,\n L: 320,\n XL: 400\n },\n isCardView: 'full'\n },\n height: 'full',\n '--card-spacing': {\n type: 'paddingTop',\n value: {\n density: {\n compact: {\n size: {\n XS: '[6px]',\n S: 8,\n M: 12,\n L: 16,\n XL: 20\n }\n },\n regular: {\n size: {\n XS: 8,\n S: 12,\n M: 16,\n L: 20,\n XL: 24\n }\n },\n spacious: {\n size: {\n XS: 12,\n S: 16,\n M: 20,\n L: 24,\n XL: 28\n }\n }\n }\n }\n },\n '--card-padding-y': {\n type: 'paddingTop',\n value: {\n default: '--card-spacing',\n variant: {\n quiet: 0\n }\n }\n },\n '--card-padding-x': {\n type: 'paddingStart',\n value: {\n default: '--card-spacing',\n variant: {\n quiet: 0\n }\n }\n },\n paddingY: '--card-padding-y',\n paddingX: '--card-padding-x',\n boxSizing: 'border-box',\n ...focusRing(),\n outlineStyle: {\n default: 'none',\n isFocusVisible: 'solid',\n // Focus ring moves to preview when quiet.\n variant: {\n quiet: 'none'\n }\n }\n}, getAllowedOverrides());\n\nlet selectionIndicator = style({\n position: 'absolute',\n inset: 0,\n zIndex: 2,\n borderRadius,\n pointerEvents: 'none',\n borderWidth: 2,\n borderStyle: 'solid',\n borderColor: 'gray-1000',\n transition: 'default',\n opacity: {\n default: 0,\n isSelected: 1\n },\n // Quiet cards with no checkbox have an extra inner stroke\n // to distinguish the selection indicator from the preview.\n outlineColor: lightDark('transparent-white-600', 'transparent-black-600'),\n outlineOffset: -4,\n outlineStyle: {\n default: 'none',\n isStrokeInner: 'solid'\n },\n outlineWidth: 2\n});\n\nlet preview = style({\n position: 'relative',\n transition: 'default',\n overflow: 'clip',\n marginX: 'calc(var(--card-padding-x) * -1)',\n marginTop: 'calc(var(--card-padding-y) * -1)',\n marginBottom: {\n ':last-child': 'calc(var(--card-padding-y) * -1)'\n },\n borderRadius: {\n isQuiet: borderRadius\n },\n boxShadow: {\n isQuiet: {\n isHovered: 'elevated',\n isFocusVisible: 'elevated',\n isSelected: 'elevated'\n }\n },\n ...focusRing(),\n outlineStyle: {\n default: 'none',\n isQuiet: {\n isFocusVisible: 'solid'\n }\n }\n});\n\nconst image = style({\n width: 'full',\n aspectRatio: {\n layout: {\n grid: '3/2'\n }\n },\n objectFit: 'cover',\n userSelect: 'none',\n pointerEvents: 'none'\n});\n\nlet title = style({\n font: 'title',\n fontSize: {\n size: {\n XS: 'title-xs',\n S: 'title-xs',\n M: 'title-sm',\n L: 'title',\n XL: 'title-lg'\n }\n },\n lineClamp: 3,\n gridArea: 'title'\n});\n\nlet description = style({\n font: 'body',\n fontSize: {\n size: {\n XS: 'body-2xs',\n S: 'body-2xs',\n M: 'body-xs',\n L: 'body-sm',\n XL: 'body'\n }\n },\n lineClamp: 3,\n gridArea: 'description'\n});\n\nlet content = style({\n display: 'grid',\n // By default, all elements are displayed in a stack.\n // If an action menu is present, place it next to the title.\n gridTemplateColumns: {\n default: ['1fr'],\n ':has([data-slot=menu])': ['minmax(0, 1fr)', 'auto']\n },\n gridTemplateAreas: {\n default: [\n 'title',\n 'description'\n ],\n ':has([data-slot=menu])': [\n 'title menu',\n 'description description'\n ]\n },\n columnGap: 4,\n flexGrow: 1,\n alignItems: 'baseline',\n alignContent: 'space-between',\n rowGap: {\n size: {\n XS: 4,\n S: 4,\n M: space(6),\n L: space(6),\n XL: 8\n }\n },\n paddingTop: {\n default: '--card-spacing',\n ':first-child': 0\n },\n paddingBottom: {\n default: 'calc(var(--card-spacing) * 1.5 / 2)',\n ':last-child': 0\n }\n});\n\nlet actionMenu = style({\n gridArea: 'menu',\n // Don't cause the row to expand, preserve gap between title and description text.\n // Would use -100% here but it doesn't work in Firefox.\n marginY: 'calc(-1 * self(height))'\n});\n\nlet footer = style({\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'end',\n justifyContent: 'space-between',\n gap: 8,\n paddingTop: 'calc(var(--card-spacing) * 1.5 / 2)'\n});\n\nexport const InternalCardViewContext = createContext({\n ElementType: 'div' as 'div' | typeof GridListItem,\n layout: 'grid' as 'grid' | 'waterfall'\n});\nexport const CardContext = createContext<ContextValue<Partial<CardProps>, DOMRefValue<HTMLDivElement>>>(null);\n\ninterface InternalCardContextValue {\n isQuiet: boolean,\n size: 'XS' | 'S' | 'M' | 'L' | 'XL',\n isSelected: boolean,\n isHovered: boolean,\n isFocusVisible: boolean,\n isPressed: boolean,\n isCheckboxSelection: boolean\n}\n\nconst InternalCardContext = createContext<InternalCardContextValue>({\n isQuiet: false,\n size: 'M',\n isSelected: false,\n isHovered: false,\n isFocusVisible: false,\n isPressed: false,\n isCheckboxSelection: true\n});\n\nconst actionButtonSize = {\n XS: 'XS',\n S: 'XS',\n M: 'S',\n L: 'M',\n XL: 'L'\n} as const;\n\n/**\n * A Card summarizes an object that a user can select or navigate to.\n */\nexport const Card = forwardRef(function Card(props: CardProps, ref: DOMRef<HTMLDivElement>) {\n [props] = useSpectrumContextProps(props, ref, CardContext);\n let {ElementType, layout} = useContext(InternalCardViewContext);\n let domRef = useDOMRef(ref);\n let {density = 'regular', size = 'M', variant = 'primary', UNSAFE_className = '', UNSAFE_style, styles, id, ...otherProps} = props;\n let isQuiet = variant === 'quiet';\n let isSkeleton = useIsSkeleton();\n let children = (\n <Provider\n values={[\n [ImageContext, {alt: '', styles: image({layout})}],\n [TextContext, {\n slots: {\n [DEFAULT_SLOT]: {},\n title: {styles: title({size})},\n description: {styles: description({size})}\n }\n }],\n [ContentContext, {styles: content({size})}],\n [DividerContext, {size: 'S'}],\n [FooterContext, {styles: footer}],\n [ActionMenuContext, {\n isQuiet: true,\n size: actionButtonSize[size],\n isDisabled: isSkeleton,\n // @ts-ignore\n 'data-slot': 'menu',\n styles: actionMenu\n }],\n [SkeletonContext, isSkeleton]\n ]}>\n <ImageCoordinator>\n {typeof props.children === 'function' ? props.children({size}) : props.children}\n </ImageCoordinator>\n </Provider>\n );\n\n let press = pressScale(domRef, UNSAFE_style);\n if (ElementType === 'div' && !isSkeleton && props.href) {\n // Standalone Card that has an href should be rendered as a Link.\n // NOTE: In this case, the card must not contain interactive elements.\n return (\n <Link\n {...filterDOMProps(otherProps, {isLink: true})}\n ref={domRef as any}\n className={renderProps => UNSAFE_className + card({...renderProps, size, density, variant, isCardView: false, isLink: true}, styles)}\n style={renderProps =>\n // Only the preview in quiet cards scales down on press\n variant === 'quiet' ? UNSAFE_style : press(renderProps)\n }>\n {(renderProps) => (\n <InternalCardContext.Provider value={{size, isQuiet, isCheckboxSelection: false, isSelected: false, ...renderProps}}>\n {children}\n </InternalCardContext.Provider>\n )}\n </Link>\n );\n }\n\n if (ElementType === 'div' || isSkeleton) {\n return (\n <div\n {...filterDOMProps(otherProps)}\n id={id != null ? String(id) : undefined}\n // @ts-ignore - React < 19 compat\n inert={inertValue(isSkeleton)}\n ref={domRef}\n className={UNSAFE_className + card({size, density, variant, isCardView: ElementType !== 'div'}, styles)}\n style={UNSAFE_style}>\n <InternalCardContext.Provider value={{size, isQuiet, isCheckboxSelection: false, isHovered: false, isFocusVisible: false, isSelected: false, isPressed: false}}>\n {children}\n </InternalCardContext.Provider>\n </div>\n );\n }\n\n return (\n <ElementType\n {...props}\n ref={domRef}\n className={renderProps => UNSAFE_className + card({...renderProps, isCardView: true, isLink: !!props.href, size, density, variant}, styles)}\n style={renderProps =>\n // Only the preview in quiet cards scales down on press\n variant === 'quiet' ? UNSAFE_style : press(renderProps)\n }>\n {({selectionMode, selectionBehavior, isHovered, isFocusVisible, isSelected, isPressed}) => (\n <InternalCardContext.Provider value={{size, isQuiet, isCheckboxSelection: selectionMode !== 'none' && selectionBehavior === 'toggle', isHovered, isFocusVisible, isSelected, isPressed}}>\n {/* Selection indicator and checkbox move inside the preview for quiet cards */}\n {!isQuiet && <SelectionIndicator />}\n {!isQuiet && selectionMode !== 'none' && selectionBehavior === 'toggle' &&\n <CardCheckbox />\n }\n {/* this makes the :first-child selector work even with the checkbox */}\n <div className={style({display: 'contents'})}>\n {children}\n </div>\n </InternalCardContext.Provider>\n )}\n </ElementType>\n );\n});\n\nfunction SelectionIndicator() {\n let {size, isSelected, isQuiet, isCheckboxSelection} = useContext(InternalCardContext);\n return (\n <div\n className={selectionIndicator({\n size,\n isSelected,\n // Add an inner stroke only for quiet cards with no checkbox to\n // help distinguish the selected state from the preview.\n isStrokeInner: isQuiet && !isCheckboxSelection\n })} />\n );\n}\n\nfunction CardCheckbox() {\n let {size} = useContext(InternalCardContext);\n return (\n <div\n className={style({\n position: 'absolute',\n top: '--card-spacing',\n insetStart: '--card-spacing',\n zIndex: 2,\n padding: 4,\n backgroundColor: lightDark('transparent-white-600', 'transparent-black-600'),\n borderRadius: 'default',\n boxShadow: 'emphasized'\n })}>\n <Checkbox\n slot=\"selection\"\n excludeFromTabOrder\n size={size === 'XS' ? 'S' : size} />\n </div>\n );\n}\n\nexport interface CardPreviewProps extends UnsafeStyles, DOMProps {\n children: ReactNode\n}\n\nexport const CardPreview = forwardRef(function CardPreview(props: CardPreviewProps, ref: DOMRef<HTMLDivElement>) {\n let {size, isQuiet, isHovered, isFocusVisible, isSelected, isPressed, isCheckboxSelection} = useContext(InternalCardContext);\n let {UNSAFE_className = '', UNSAFE_style} = props;\n let domRef = useDOMRef(ref);\n return (\n <div\n {...filterDOMProps(props)}\n slot=\"preview\"\n ref={domRef}\n className={UNSAFE_className + preview({size, isQuiet, isHovered, isFocusVisible, isSelected})}\n style={isQuiet ? pressScale(domRef)({isPressed}) : UNSAFE_style}>\n {isQuiet && <SelectionIndicator />}\n {isQuiet && isCheckboxSelection && <CardCheckbox />}\n <div className={style({borderRadius: 'inherit', overflow: 'clip'})}>\n {props.children}\n </div>\n </div>\n );\n});\n\nconst collection = style({\n display: 'grid',\n gridTemplateColumns: 'repeat(3, 1fr)',\n gap: {\n default: 4,\n size: {\n XS: 2,\n S: 2\n }\n }\n});\n\nconst collectionImage = style({\n width: 'full',\n aspectRatio: {\n default: 'square',\n ':nth-last-child(4):first-child': '3/2'\n },\n gridColumnEnd: {\n ':nth-last-child(4):first-child': 'span 3'\n },\n objectFit: 'cover',\n pointerEvents: 'none',\n userSelect: 'none'\n});\n\nexport const CollectionCardPreview = forwardRef(function CollectionCardPreview(props: CardPreviewProps, ref: DOMRef<HTMLDivElement>) {\n let {size} = useContext(InternalCardContext)!;\n return (\n <CardPreview {...props} ref={ref}>\n <div className={collection({size})}>\n <ImageContext.Provider value={{styles: collectionImage}}>\n {props.children}\n </ImageContext.Provider>\n </div>\n </CardPreview>\n );\n});\n\nexport interface AssetCardProps extends Omit<CardProps, 'density'> {}\n\nexport const AssetCard = forwardRef(function AssetCard(props: AssetCardProps, ref: DOMRef<HTMLDivElement>) {\n let {layout} = useContext(InternalCardViewContext);\n return (\n <Card {...props} ref={ref} density=\"regular\">\n {composeRenderProps(props.children, children => (\n <Provider\n values={[\n [ImageContext, {\n alt: '',\n styles: style({\n width: 'full',\n aspectRatio: {\n layout: {\n grid: 'square'\n }\n },\n objectFit: 'contain',\n pointerEvents: 'none',\n userSelect: 'none'\n })({layout})\n }],\n [IllustrationContext, {\n render(icon) {\n return (\n <SkeletonWrapper>\n <div\n className={style({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: 'gray-100',\n aspectRatio: 'square'\n })}>\n {icon}\n </div>\n </SkeletonWrapper>\n );\n },\n styles: style({\n height: 'auto',\n maxSize: 160,\n // TODO: this is made up.\n width: '50%'\n })\n }]\n ]}>\n {children}\n </Provider>\n ))}\n </Card>\n );\n});\n\nconst avatarSize = {\n XS: 24,\n S: 48,\n M: 64,\n L: 64,\n XL: 80\n} as const;\n\nexport interface UserCardProps extends Omit<CardProps, 'density' | 'variant'> {\n // Quiet is not supported due to lack of indent between preview and avatar.\n /** The visual style of the Card. */\n variant?: 'primary' | 'secondary' | 'tertiary'\n}\n\nexport const UserCard = forwardRef(function UserCard(props: UserCardProps, ref: DOMRef<HTMLDivElement>) {\n let {size = 'M'} = props;\n return (\n <Card {...props} ref={ref} density=\"spacious\">\n {composeRenderProps(props.children, children => (\n <Provider\n values={[\n [ImageContext, {\n alt: '',\n styles: style({\n width: 'full',\n aspectRatio: '3/1',\n objectFit: 'cover',\n pointerEvents: 'none',\n userSelect: 'none'\n })\n }],\n [AvatarContext, {\n size: avatarSize[size],\n UNSAFE_style: {\n '--size': (avatarSize[size] / 16) + 'rem'\n } as CSSProperties,\n styles: style({\n position: 'relative',\n marginTop: {\n default: 0,\n ':is([slot=preview] + *)': 'calc(var(--size) / -2)'\n }\n }),\n isOverBackground: true\n }]\n ]}>\n {children}\n </Provider>\n ))}\n </Card>\n );\n});\n\nconst buttonSize = {\n XS: 'S',\n S: 'S',\n M: 'M',\n L: 'L',\n XL: 'XL'\n} as const;\n\nexport interface ProductCardProps extends Omit<CardProps, 'density' | 'variant'> {\n // Quiet is not supported due to lack of indent between preview and thumbnail.\n /** The visual style of the Card. */\n variant?: 'primary' | 'secondary' | 'tertiary'\n}\n\nexport const ProductCard = forwardRef(function ProductCard(props: ProductCardProps, ref: DOMRef<HTMLDivElement>) {\n let {size = 'M'} = props;\n return (\n <Card {...props} ref={ref} density=\"spacious\">\n {composeRenderProps(props.children, children => (\n <Provider\n values={[\n [ImageContext, {\n slots: {\n preview: {\n alt: '',\n styles: style({\n width: 'full',\n aspectRatio: '5/1',\n objectFit: 'cover',\n pointerEvents: 'none',\n userSelect: 'none'\n })\n },\n thumbnail: {\n alt: '',\n styles: style({\n position: 'relative',\n pointerEvents: 'none',\n userSelect: 'none',\n size: {\n size: {\n XS: 24,\n S: 36,\n M: 40,\n L: 44,\n XL: 56\n }\n },\n borderRadius: {\n default: 'default',\n size: {\n XS: 'sm',\n S: 'sm'\n }\n },\n objectFit: 'cover',\n marginTop: {\n default: 0,\n ':is([slot=preview] + *)': 'calc(self(height) / -2)'\n },\n outlineStyle: 'solid',\n outlineWidth: {\n default: 2,\n size: {\n XS: 1\n }\n },\n outlineColor: '--s2-container-bg'\n })({size})\n }\n }\n }],\n [FooterContext, {\n styles: mergeStyles(footer, style({\n justifyContent: 'end'\n }))\n }],\n [ButtonContext, {size: buttonSize[size]}],\n [LinkButtonContext, {size: buttonSize[size]}]\n ]}>\n {children}\n </Provider>\n ))}\n </Card>\n );\n});\n"],"names":[],"version":3,"file":"Card.mjs.map"}
1
+ {"mappings":"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","sources":["packages/@react-spectrum/s2/src/Card.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 {ActionMenuContext} from './ActionMenu';\nimport {AvatarContext} from './Avatar';\nimport {ButtonContext, LinkButtonContext} from './Button';\nimport {Checkbox} from './Checkbox';\nimport {color, focusRing, lightDark, space, style} from '../style' with {type: 'macro'};\nimport {composeRenderProps} from 'react-aria-components/composeRenderProps';\nimport {ContentContext, FooterContext, TextContext} from './Content';\nimport {ContextValue, DEFAULT_SLOT, Provider} from 'react-aria-components/slots';\nimport {createContext, CSSProperties, forwardRef, ReactNode, useContext} from 'react';\nimport {DividerContext} from './Divider';\nimport {DOMProps, DOMRef, DOMRefValue, GlobalDOMAttributes} from '@react-types/shared';\nimport {filterDOMProps} from 'react-aria/filterDOMProps';\nimport {getAllowedOverrides, StyleProps, UnsafeStyles} from './style-utils' with {type: 'macro'};\nimport {GridListItem, GridListItemProps} from 'react-aria-components/GridList';\nimport {IllustrationContext} from './Icon';\nimport {ImageContext} from './Image';\nimport {ImageCoordinator} from './ImageCoordinator';\nimport {inertValue} from 'react-aria/private/utils/inertValue';\nimport {Link} from 'react-aria-components/Link';\nimport {mergeStyles} from '../style/runtime';\nimport {pressScale} from './pressScale';\nimport {SkeletonContext, SkeletonWrapper, useIsSkeleton} from './Skeleton';\nimport {useDOMRef} from './useDOMRef';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\ninterface CardRenderProps {\n /** The size of the Card. */\n size: 'XS' | 'S' | 'M' | 'L' | 'XL';\n}\n\nexport interface CardProps\n extends\n Omit<\n GridListItemProps,\n | 'className'\n | 'style'\n | 'render'\n | 'children'\n | 'onHoverChange'\n | 'onHoverStart'\n | 'onHoverEnd'\n | 'onClick'\n | keyof GlobalDOMAttributes\n >,\n StyleProps {\n /** The children of the Card. */\n children: ReactNode | ((renderProps: CardRenderProps) => ReactNode);\n /**\n * The size of the Card.\n *\n * @default 'M'\n */\n size?: 'XS' | 'S' | 'M' | 'L' | 'XL';\n /**\n * The amount of internal padding within the Card.\n *\n * @default 'regular'\n */\n density?: 'compact' | 'regular' | 'spacious';\n /**\n * The visual style of the Card.\n *\n * @default 'primary'\n */\n variant?: 'primary' | 'secondary' | 'tertiary' | 'quiet';\n}\n\nconst borderRadius = {\n default: 'lg',\n size: {\n XS: 'default',\n S: 'default'\n }\n} as const;\n\nlet card = style(\n {\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n borderRadius,\n '--s2-container-bg': {\n type: 'backgroundColor',\n value: {\n variant: {\n primary: 'elevated',\n secondary: 'layer-1'\n },\n forcedColors: 'ButtonFace'\n }\n },\n backgroundColor: {\n default: '--s2-container-bg',\n variant: {\n tertiary: 'transparent',\n quiet: 'transparent'\n }\n },\n boxShadow: {\n default: 'emphasized',\n isHovered: 'elevated',\n isFocusVisible: 'elevated',\n isSelected: 'elevated',\n forcedColors: '[0 0 0 1px var(--hcm-buttonborder, ButtonBorder)]',\n variant: {\n tertiary: {\n // Render border with box-shadow to avoid affecting layout.\n default: `[0 0 0 2px ${color('gray-100')}]`,\n isHovered: `[0 0 0 2px ${color('gray-200')}]`,\n isFocusVisible: `[0 0 0 2px ${color('gray-200')}]`,\n isSelected: 'none',\n forcedColors: '[0 0 0 2px var(--hcm-buttonborder, ButtonBorder)]'\n },\n quiet: 'none'\n }\n },\n forcedColorAdjust: 'none',\n transition: 'default',\n fontFamily: 'sans',\n textDecoration: 'none',\n overflow: {\n default: 'clip',\n variant: {\n quiet: 'visible'\n }\n },\n contain: 'layout',\n disableTapHighlight: true,\n userSelect: {\n isCardView: 'none'\n },\n cursor: {\n isLink: 'pointer'\n },\n width: {\n size: {\n XS: 112,\n S: 192,\n M: 240,\n L: 320,\n XL: 400\n },\n isCardView: 'full'\n },\n height: 'full',\n '--card-spacing': {\n type: 'paddingTop',\n value: {\n density: {\n compact: {\n size: {\n XS: '[6px]',\n S: 8,\n M: 12,\n L: 16,\n XL: 20\n }\n },\n regular: {\n size: {\n XS: 8,\n S: 12,\n M: 16,\n L: 20,\n XL: 24\n }\n },\n spacious: {\n size: {\n XS: 12,\n S: 16,\n M: 20,\n L: 24,\n XL: 28\n }\n }\n }\n }\n },\n '--card-padding-y': {\n type: 'paddingTop',\n value: {\n default: '--card-spacing',\n variant: {\n quiet: 0\n }\n }\n },\n '--card-padding-x': {\n type: 'paddingStart',\n value: {\n default: '--card-spacing',\n variant: {\n quiet: 0\n }\n }\n },\n paddingY: '--card-padding-y',\n paddingX: '--card-padding-x',\n boxSizing: 'border-box',\n ...focusRing(),\n outlineStyle: {\n default: 'none',\n isFocusVisible: 'solid',\n // Focus ring moves to preview when quiet.\n variant: {\n quiet: 'none'\n }\n }\n },\n getAllowedOverrides()\n);\n\nlet selectionIndicator = style({\n position: 'absolute',\n inset: 0,\n zIndex: 2,\n borderRadius,\n pointerEvents: 'none',\n borderWidth: 2,\n borderStyle: 'solid',\n borderColor: 'gray-1000',\n transition: 'default',\n opacity: {\n default: 0,\n isSelected: 1\n },\n // Quiet cards with no checkbox have an extra inner stroke\n // to distinguish the selection indicator from the preview.\n outlineColor: lightDark('transparent-white-600', 'transparent-black-600'),\n outlineOffset: -4,\n outlineStyle: {\n default: 'none',\n isStrokeInner: 'solid'\n },\n outlineWidth: 2\n});\n\nlet preview = style({\n position: 'relative',\n transition: 'default',\n overflow: 'clip',\n marginX: 'calc(var(--card-padding-x) * -1)',\n marginTop: 'calc(var(--card-padding-y) * -1)',\n marginBottom: {\n ':last-child': 'calc(var(--card-padding-y) * -1)'\n },\n borderRadius: {\n isQuiet: borderRadius\n },\n boxShadow: {\n isQuiet: {\n isHovered: 'elevated',\n isFocusVisible: 'elevated',\n isSelected: 'elevated'\n }\n },\n ...focusRing(),\n outlineStyle: {\n default: 'none',\n isQuiet: {\n isFocusVisible: 'solid'\n }\n }\n});\n\nconst image = style({\n width: 'full',\n aspectRatio: {\n layout: {\n grid: '3/2'\n }\n },\n objectFit: 'cover',\n userSelect: 'none',\n pointerEvents: 'none'\n});\n\nlet title = style({\n font: 'title',\n fontSize: {\n size: {\n XS: 'title-xs',\n S: 'title-xs',\n M: 'title-sm',\n L: 'title',\n XL: 'title-lg'\n }\n },\n lineClamp: 3,\n gridArea: 'title'\n});\n\nlet description = style({\n font: 'body',\n fontSize: {\n size: {\n XS: 'body-2xs',\n S: 'body-2xs',\n M: 'body-xs',\n L: 'body-sm',\n XL: 'body'\n }\n },\n lineClamp: 3,\n gridArea: 'description'\n});\n\nlet content = style({\n display: 'grid',\n // By default, all elements are displayed in a stack.\n // If an action menu is present, place it next to the title.\n gridTemplateColumns: {\n default: ['1fr'],\n ':has([data-slot=menu])': ['minmax(0, 1fr)', 'auto']\n },\n gridTemplateAreas: {\n default: ['title', 'description'],\n ':has([data-slot=menu])': ['title menu', 'description description']\n },\n columnGap: 4,\n flexGrow: 1,\n alignItems: 'baseline',\n alignContent: 'space-between',\n rowGap: {\n size: {\n XS: 4,\n S: 4,\n M: space(6),\n L: space(6),\n XL: 8\n }\n },\n paddingTop: {\n default: '--card-spacing',\n ':first-child': 0\n },\n paddingBottom: {\n default: 'calc(var(--card-spacing) * 1.5 / 2)',\n ':last-child': 0\n }\n});\n\nlet actionMenu = style({\n gridArea: 'menu',\n // Don't cause the row to expand, preserve gap between title and description text.\n // Would use -100% here but it doesn't work in Firefox.\n marginY: 'calc(-1 * self(height))'\n});\n\nlet footer = style({\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'end',\n justifyContent: 'space-between',\n gap: 8,\n paddingTop: 'calc(var(--card-spacing) * 1.5 / 2)'\n});\n\nexport const InternalCardViewContext = createContext({\n ElementType: 'div' as 'div' | typeof GridListItem,\n layout: 'grid' as 'grid' | 'waterfall'\n});\nexport const CardContext =\n createContext<ContextValue<Partial<CardProps>, DOMRefValue<HTMLDivElement>>>(null);\n\ninterface InternalCardContextValue {\n isQuiet: boolean;\n size: 'XS' | 'S' | 'M' | 'L' | 'XL';\n isSelected: boolean;\n isHovered: boolean;\n isFocusVisible: boolean;\n isPressed: boolean;\n isCheckboxSelection: boolean;\n}\n\nconst InternalCardContext = createContext<InternalCardContextValue>({\n isQuiet: false,\n size: 'M',\n isSelected: false,\n isHovered: false,\n isFocusVisible: false,\n isPressed: false,\n isCheckboxSelection: true\n});\n\nconst actionButtonSize = {\n XS: 'XS',\n S: 'XS',\n M: 'S',\n L: 'M',\n XL: 'L'\n} as const;\n\n/**\n * A Card summarizes an object that a user can select or navigate to.\n */\nexport const Card = forwardRef(function Card(props: CardProps, ref: DOMRef<HTMLDivElement>) {\n [props] = useSpectrumContextProps(props, ref, CardContext);\n let {ElementType, layout} = useContext(InternalCardViewContext);\n let domRef = useDOMRef(ref);\n let {\n density = 'regular',\n size = 'M',\n variant = 'primary',\n UNSAFE_className = '',\n UNSAFE_style,\n styles,\n id,\n ...otherProps\n } = props;\n let isQuiet = variant === 'quiet';\n let isSkeleton = useIsSkeleton();\n let children = (\n <Provider\n values={[\n [ImageContext, {alt: '', styles: image({layout})}],\n [\n TextContext,\n {\n slots: {\n [DEFAULT_SLOT]: {},\n title: {styles: title({size})},\n description: {styles: description({size})}\n }\n }\n ],\n [ContentContext, {styles: content({size})}],\n [DividerContext, {size: 'S'}],\n [FooterContext, {styles: footer}],\n [\n ActionMenuContext,\n {\n isQuiet: true,\n size: actionButtonSize[size],\n isDisabled: isSkeleton,\n // @ts-ignore\n 'data-slot': 'menu',\n styles: actionMenu\n }\n ],\n [SkeletonContext, isSkeleton]\n ]}>\n <ImageCoordinator>\n {typeof props.children === 'function' ? props.children({size}) : props.children}\n </ImageCoordinator>\n </Provider>\n );\n\n let press = pressScale(domRef, UNSAFE_style);\n if (ElementType === 'div' && !isSkeleton && props.href) {\n // Standalone Card that has an href should be rendered as a Link.\n // NOTE: In this case, the card must not contain interactive elements.\n return (\n <Link\n {...filterDOMProps(otherProps, {isLink: true})}\n ref={domRef as any}\n className={renderProps =>\n UNSAFE_className +\n card({...renderProps, size, density, variant, isCardView: false, isLink: true}, styles)\n }\n style={renderProps =>\n // Only the preview in quiet cards scales down on press\n variant === 'quiet' ? UNSAFE_style : press(renderProps)\n }>\n {renderProps => (\n <InternalCardContext.Provider\n value={{size, isQuiet, isCheckboxSelection: false, isSelected: false, ...renderProps}}>\n {children}\n </InternalCardContext.Provider>\n )}\n </Link>\n );\n }\n\n if (ElementType === 'div' || isSkeleton) {\n return (\n <div\n {...filterDOMProps(otherProps)}\n id={id != null ? String(id) : undefined}\n // @ts-ignore - React < 19 compat\n inert={inertValue(isSkeleton)}\n ref={domRef}\n className={\n UNSAFE_className +\n card({size, density, variant, isCardView: ElementType !== 'div'}, styles)\n }\n style={UNSAFE_style}>\n <InternalCardContext.Provider\n value={{\n size,\n isQuiet,\n isCheckboxSelection: false,\n isHovered: false,\n isFocusVisible: false,\n isSelected: false,\n isPressed: false\n }}>\n {children}\n </InternalCardContext.Provider>\n </div>\n );\n }\n\n return (\n <ElementType\n {...props}\n ref={domRef}\n className={renderProps =>\n UNSAFE_className +\n card(\n {...renderProps, isCardView: true, isLink: !!props.href, size, density, variant},\n styles\n )\n }\n style={renderProps =>\n // Only the preview in quiet cards scales down on press\n variant === 'quiet' ? UNSAFE_style : press(renderProps)\n }>\n {({selectionMode, selectionBehavior, isHovered, isFocusVisible, isSelected, isPressed}) => (\n <InternalCardContext.Provider\n value={{\n size,\n isQuiet,\n isCheckboxSelection: selectionMode !== 'none' && selectionBehavior === 'toggle',\n isHovered,\n isFocusVisible,\n isSelected,\n isPressed\n }}>\n {/* Selection indicator and checkbox move inside the preview for quiet cards */}\n {!isQuiet && <SelectionIndicator />}\n {!isQuiet && selectionMode !== 'none' && selectionBehavior === 'toggle' && (\n <CardCheckbox />\n )}\n {/* this makes the :first-child selector work even with the checkbox */}\n <div className={style({display: 'contents'})}>{children}</div>\n </InternalCardContext.Provider>\n )}\n </ElementType>\n );\n});\n\nfunction SelectionIndicator() {\n let {size, isSelected, isQuiet, isCheckboxSelection} = useContext(InternalCardContext);\n return (\n <div\n className={selectionIndicator({\n size,\n isSelected,\n // Add an inner stroke only for quiet cards with no checkbox to\n // help distinguish the selected state from the preview.\n isStrokeInner: isQuiet && !isCheckboxSelection\n })}\n />\n );\n}\n\nfunction CardCheckbox() {\n let {size} = useContext(InternalCardContext);\n return (\n <div\n className={style({\n position: 'absolute',\n top: '--card-spacing',\n insetStart: '--card-spacing',\n zIndex: 2,\n padding: 4,\n backgroundColor: lightDark('transparent-white-600', 'transparent-black-600'),\n borderRadius: 'default',\n boxShadow: 'emphasized'\n })}>\n <Checkbox slot=\"selection\" excludeFromTabOrder size={size === 'XS' ? 'S' : size} />\n </div>\n );\n}\n\nexport interface CardPreviewProps extends UnsafeStyles, DOMProps {\n children: ReactNode;\n}\n\nexport const CardPreview = forwardRef(function CardPreview(\n props: CardPreviewProps,\n ref: DOMRef<HTMLDivElement>\n) {\n let {size, isQuiet, isHovered, isFocusVisible, isSelected, isPressed, isCheckboxSelection} =\n useContext(InternalCardContext);\n let {UNSAFE_className = '', UNSAFE_style} = props;\n let domRef = useDOMRef(ref);\n return (\n <div\n {...filterDOMProps(props)}\n slot=\"preview\"\n ref={domRef}\n className={UNSAFE_className + preview({size, isQuiet, isHovered, isFocusVisible, isSelected})}\n style={isQuiet ? pressScale(domRef)({isPressed}) : UNSAFE_style}>\n {isQuiet && <SelectionIndicator />}\n {isQuiet && isCheckboxSelection && <CardCheckbox />}\n <div className={style({borderRadius: 'inherit', overflow: 'clip'})}>{props.children}</div>\n </div>\n );\n});\n\nconst collection = style({\n display: 'grid',\n gridTemplateColumns: 'repeat(3, 1fr)',\n gap: {\n default: 4,\n size: {\n XS: 2,\n S: 2\n }\n }\n});\n\nconst collectionImage = style({\n width: 'full',\n aspectRatio: {\n default: 'square',\n ':nth-last-child(4):first-child': '3/2'\n },\n gridColumnEnd: {\n ':nth-last-child(4):first-child': 'span 3'\n },\n objectFit: 'cover',\n pointerEvents: 'none',\n userSelect: 'none'\n});\n\nexport const CollectionCardPreview = forwardRef(function CollectionCardPreview(\n props: CardPreviewProps,\n ref: DOMRef<HTMLDivElement>\n) {\n let {size} = useContext(InternalCardContext)!;\n return (\n <CardPreview {...props} ref={ref}>\n <div className={collection({size})}>\n <ImageContext.Provider value={{styles: collectionImage}}>\n {props.children}\n </ImageContext.Provider>\n </div>\n </CardPreview>\n );\n});\n\nexport interface AssetCardProps extends Omit<CardProps, 'density'> {}\n\nexport const AssetCard = forwardRef(function AssetCard(\n props: AssetCardProps,\n ref: DOMRef<HTMLDivElement>\n) {\n let {layout} = useContext(InternalCardViewContext);\n return (\n <Card {...props} ref={ref} density=\"regular\">\n {composeRenderProps(props.children, children => (\n <Provider\n values={[\n [\n ImageContext,\n {\n alt: '',\n styles: style({\n width: 'full',\n aspectRatio: {\n layout: {\n grid: 'square'\n }\n },\n objectFit: 'contain',\n pointerEvents: 'none',\n userSelect: 'none'\n })({layout})\n }\n ],\n [\n IllustrationContext,\n {\n render(icon) {\n return (\n <SkeletonWrapper>\n <div\n className={style({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: 'gray-100',\n aspectRatio: 'square'\n })}>\n {icon}\n </div>\n </SkeletonWrapper>\n );\n },\n styles: style({\n height: 'auto',\n maxSize: 160,\n // TODO: this is made up.\n width: '50%'\n })\n }\n ]\n ]}>\n {children}\n </Provider>\n ))}\n </Card>\n );\n});\n\nconst avatarSize = {\n XS: 24,\n S: 48,\n M: 64,\n L: 64,\n XL: 80\n} as const;\n\nexport interface UserCardProps extends Omit<CardProps, 'density' | 'variant'> {\n // Quiet is not supported due to lack of indent between preview and avatar.\n /** The visual style of the Card. */\n variant?: 'primary' | 'secondary' | 'tertiary';\n}\n\nexport const UserCard = forwardRef(function UserCard(\n props: UserCardProps,\n ref: DOMRef<HTMLDivElement>\n) {\n let {size = 'M'} = props;\n return (\n <Card {...props} ref={ref} density=\"spacious\">\n {composeRenderProps(props.children, children => (\n <Provider\n values={[\n [\n ImageContext,\n {\n alt: '',\n styles: style({\n width: 'full',\n aspectRatio: '3/1',\n objectFit: 'cover',\n pointerEvents: 'none',\n userSelect: 'none'\n })\n }\n ],\n [\n AvatarContext,\n {\n size: avatarSize[size],\n UNSAFE_style: {\n '--size': avatarSize[size] / 16 + 'rem'\n } as CSSProperties,\n styles: style({\n position: 'relative',\n marginTop: {\n default: 0,\n ':is([slot=preview] + *)': 'calc(var(--size) / -2)'\n }\n }),\n isOverBackground: true\n }\n ]\n ]}>\n {children}\n </Provider>\n ))}\n </Card>\n );\n});\n\nconst buttonSize = {\n XS: 'S',\n S: 'S',\n M: 'M',\n L: 'L',\n XL: 'XL'\n} as const;\n\nexport interface ProductCardProps extends Omit<CardProps, 'density' | 'variant'> {\n // Quiet is not supported due to lack of indent between preview and thumbnail.\n /** The visual style of the Card. */\n variant?: 'primary' | 'secondary' | 'tertiary';\n}\n\nexport const ProductCard = forwardRef(function ProductCard(\n props: ProductCardProps,\n ref: DOMRef<HTMLDivElement>\n) {\n let {size = 'M'} = props;\n return (\n <Card {...props} ref={ref} density=\"spacious\">\n {composeRenderProps(props.children, children => (\n <Provider\n values={[\n [\n ImageContext,\n {\n slots: {\n preview: {\n alt: '',\n styles: style({\n width: 'full',\n aspectRatio: '5/1',\n objectFit: 'cover',\n pointerEvents: 'none',\n userSelect: 'none'\n })\n },\n thumbnail: {\n alt: '',\n styles: style({\n position: 'relative',\n pointerEvents: 'none',\n userSelect: 'none',\n size: {\n size: {\n XS: 24,\n S: 36,\n M: 40,\n L: 44,\n XL: 56\n }\n },\n borderRadius: {\n default: 'default',\n size: {\n XS: 'sm',\n S: 'sm'\n }\n },\n objectFit: 'cover',\n marginTop: {\n default: 0,\n ':is([slot=preview] + *)': 'calc(self(height) / -2)'\n },\n outlineStyle: 'solid',\n outlineWidth: {\n default: 2,\n size: {\n XS: 1\n }\n },\n outlineColor: '--s2-container-bg'\n })({size})\n }\n }\n }\n ],\n [\n FooterContext,\n {\n styles: mergeStyles(\n footer,\n style({\n justifyContent: 'end'\n })\n )\n }\n ],\n [ButtonContext, {size: buttonSize[size]}],\n [LinkButtonContext, {size: buttonSize[size]}]\n ]}>\n {children}\n </Provider>\n ))}\n </Card>\n );\n});\n"],"names":[],"version":3,"file":"Card.mjs.map"}
@@ -145,22 +145,22 @@ const $1aaf8931044a97bd$var$cardViewStyles = function anonymous(props, overrides
145
145
  if (p[1] === "F") height = true;
146
146
  rules += p[0];
147
147
  }
148
- if (props.isLoading) rules += ' Pc13';
149
- else rules += ' Pa13';
150
- if (props.isEmpty) rules += ' sd13';
151
- rules += ' _oa13';
152
- rules += ' _ta13';
153
- rules += ' eb13';
154
- rules += ' _Ca13';
148
+ if (props.isLoading) rules += ' Pc131';
149
+ else rules += ' Pa131';
150
+ if (props.isEmpty) rules += ' sd131';
151
+ rules += ' _oa131';
152
+ rules += ' _ta131';
153
+ rules += ' eb131';
154
+ rules += ' _Ca131';
155
155
  if (props.isEmpty) {
156
- if (props.isFocusVisible) rules += ' _Lf13';
157
- } else rules += ' _Le13';
158
- rules += ' Oh13';
159
- rules += ' Olc13';
160
- rules += ' _Mc13';
161
- rules += ' _Kb13';
156
+ if (props.isFocusVisible) rules += ' _Lf131';
157
+ } else rules += ' _Le131';
158
+ rules += ' Oh131';
159
+ rules += ' Olc131';
160
+ rules += ' _Mc131';
161
+ rules += ' _Kb131';
162
162
  if (props.isActionBar) {
163
- if (!height) rules += ' Fb13';
163
+ if (!height) rules += ' Fb131';
164
164
  }
165
165
  return rules;
166
166
  };
@@ -172,9 +172,9 @@ const $1aaf8931044a97bd$var$wrapperStyles = function anonymous(props, overrides)
172
172
  if (p[1] === "_P") position = true;
173
173
  rules += p[0];
174
174
  }
175
- if (!position) rules += ' _Pc13';
176
- rules += ' _Nb13';
177
- rules += ' Pb13';
175
+ if (!position) rules += ' _Pc131';
176
+ rules += ' _Nb131';
177
+ rules += ' Pb131';
178
178
  return rules;
179
179
  };
180
180
  const $1aaf8931044a97bd$export$64992ac69f286e5c = /*#__PURE__*/ (0, $gDulG$react.createContext)(null);
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@react-spectrum/s2/src/CardView.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 {\n GridList as AriaGridList,\n GridListItem,\n GridListLoadMoreItem,\n GridListProps,\n GridListRenderProps\n} from 'react-aria-components/GridList';\n\nimport {CardContext, InternalCardViewContext} from './Card';\nimport {Collection} from 'react-aria/Collection';\nimport {ContextValue} from 'react-aria-components/slots';\nimport {createContext, forwardRef, ReactElement, useCallback, useMemo, useRef, useState} from 'react';\nimport {DOMRef, DOMRefValue, forwardRefType, GlobalDOMAttributes, Key, LoadingState} from '@react-types/shared';\nimport {focusRing, style} from '../style' with {type: 'macro'};\nimport {getAllowedOverrides, StylesPropWithHeight, UnsafeStyles} from './style-utils' with {type: 'macro'};\nimport {GridLayout, Size, Virtualizer, WaterfallLayout} from 'react-aria-components/Virtualizer';\nimport {ImageCoordinator} from './ImageCoordinator';\nimport {useActionBarContainer} from './ActionBar';\nimport {useDOMRef} from './useDOMRef';\nimport {useEffectEvent} from 'react-aria/private/utils/useEffectEvent';\nimport {useLayoutEffect} from 'react-aria/private/utils/useLayoutEffect';\nimport {useResizeObserver} from 'react-aria/private/utils/useResizeObserver';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\nexport interface CardViewProps<T> extends Omit<GridListProps<T>, 'layout' | 'keyboardNavigationBehavior' | 'selectionBehavior' | 'className' | 'style' | 'render' | 'isLoading' | keyof GlobalDOMAttributes>, UnsafeStyles {\n /**\n * The layout of the cards.\n * @default 'grid'\n */\n layout?: 'grid' | 'waterfall',\n /**\n * The size of the cards.\n * @default 'M'\n */\n size?: 'XS' | 'S' | 'M' | 'L' | 'XL',\n /**\n * The amount of space between the cards.\n * @default 'regular'\n */\n density?: 'compact' | 'regular' | 'spacious',\n /**\n * The visual style of the cards.\n * @default 'primary'\n */\n variant?: 'primary' | 'secondary' | 'tertiary' | 'quiet',\n /**\n * How selection should be displayed.\n * @default 'checkbox'\n */\n selectionStyle?: 'checkbox' | 'highlight',\n /** The loading state of the CardView. */\n loadingState?: LoadingState,\n /** Handler that is called when more items should be loaded, e.g. while scrolling near the bottom. */\n onLoadMore?: () => void,\n /** Spectrum-defined styles, returned by the `style()` macro. */\n styles?: StylesPropWithHeight,\n /** Provides the ActionBar to render when cards are selected in the CardView. */\n renderActionBar?: (selectedKeys: 'all' | Set<Key>) => ReactElement\n}\n\nconst layoutOptions = {\n XS: {\n compact: {\n minSpace: new Size(6, 6),\n minItemSize: new Size(100, 100),\n maxItemSize: new Size(140, 140)\n },\n regular: {\n minSpace: new Size(8, 8),\n minItemSize: new Size(100, 100),\n maxItemSize: new Size(140, 140)\n },\n spacious: {\n minSpace: new Size(12, 12),\n minItemSize: new Size(100, 100),\n maxItemSize: new Size(140, 140)\n }\n },\n S: {\n compact: {\n minSpace: new Size(8, 8),\n minItemSize: new Size(150, 150),\n maxItemSize: new Size(210, 210)\n },\n regular: {\n minSpace: new Size(12, 12),\n minItemSize: new Size(150, 150),\n maxItemSize: new Size(210, 210)\n },\n spacious: {\n minSpace: new Size(16, 16),\n minItemSize: new Size(150, 150),\n maxItemSize: new Size(210, 210)\n }\n },\n M: {\n compact: {\n minSpace: new Size(12, 12),\n minItemSize: new Size(200, 200),\n maxItemSize: new Size(280, 280)\n },\n regular: {\n minSpace: new Size(16, 16),\n minItemSize: new Size(200, 200),\n maxItemSize: new Size(280, 280)\n },\n spacious: {\n minSpace: new Size(20, 20),\n minItemSize: new Size(200, 200),\n maxItemSize: new Size(280, 280)\n }\n },\n L: {\n compact: {\n minSpace: new Size(16, 16),\n minItemSize: new Size(270, 270),\n maxItemSize: new Size(370, 370)\n },\n regular: {\n minSpace: new Size(20, 20),\n minItemSize: new Size(270, 270),\n maxItemSize: new Size(370, 370)\n },\n spacious: {\n minSpace: new Size(24, 24),\n minItemSize: new Size(270, 270),\n maxItemSize: new Size(370, 370)\n }\n },\n XL: {\n compact: {\n minSpace: new Size(20, 20),\n minItemSize: new Size(340, 340),\n maxItemSize: new Size(460, 460)\n },\n regular: {\n minSpace: new Size(24, 24),\n minItemSize: new Size(340, 340),\n maxItemSize: new Size(460, 460)\n },\n spacious: {\n minSpace: new Size(28, 28),\n minItemSize: new Size(340, 340),\n maxItemSize: new Size(460, 460)\n }\n }\n};\n\nconst SIZES = ['XS', 'S', 'M', 'L', 'XL'] as const;\n\nconst cardViewStyles = style({\n overflowY: {\n default: 'auto',\n isLoading: 'hidden'\n },\n display: {\n isEmpty: 'flex'\n },\n boxSizing: 'border-box',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n ...focusRing(),\n outlineStyle: {\n default: 'none',\n isEmpty: {\n isFocusVisible: 'solid'\n }\n },\n outlineOffset: -2,\n height: {\n isActionBar: 'full'\n }\n}, getAllowedOverrides({height: true}));\n\nconst wrapperStyles = style({\n position: 'relative',\n overflow: 'clip'\n}, getAllowedOverrides({height: true}));\n\nexport const CardViewContext = createContext<ContextValue<Partial<CardViewProps<any>>, DOMRefValue<HTMLDivElement>>>(null);\n\n/**\n * A CardView displays a group of related objects, with support for selection and bulk actions.\n */\nexport const CardView = /*#__PURE__*/ (forwardRef as forwardRefType)(function CardView<T extends object>(props: CardViewProps<T>, ref: DOMRef<HTMLDivElement>) {\n [props, ref] = useSpectrumContextProps(props, ref, CardViewContext);\n let {\n children,\n layout: layoutName = 'grid',\n size: sizeProp = 'M',\n density = 'regular',\n variant = 'primary',\n selectionStyle = 'checkbox',\n UNSAFE_className = '',\n UNSAFE_style,\n styles,\n loadingState,\n onLoadMore,\n items,\n renderEmptyState: renderEmptyStateProp,\n ...otherProps} = props;\n let domRef = useDOMRef(ref);\n let innerRef = useRef(null);\n let scrollRef = props.renderActionBar ? innerRef : domRef;\n\n // This calculates the maximum t-shirt size where at least two columns fit in the available width.\n let [maxSizeIndex, setMaxSizeIndex] = useState(SIZES.length - 1);\n let updateSize = useCallback(() => {\n let w = scrollRef.current?.clientWidth ?? 0;\n let i = SIZES.length - 1;\n while (i > 0) {\n let opts = layoutOptions[SIZES[i]][density];\n if (w >= opts.minItemSize.width * 2 + opts.minSpace.width * 3) {\n break;\n }\n i--;\n }\n setMaxSizeIndex(i);\n }, [scrollRef, density]);\n let updateSizeEvent = useEffectEvent(updateSize);\n\n useResizeObserver({\n ref: scrollRef,\n box: 'border-box',\n onResize: updateSize\n });\n\n useLayoutEffect(() => {\n updateSizeEvent();\n }, []);\n\n // The actual rendered t-shirt size is the minimum between the size prop and the maximum possible size.\n let size = SIZES[Math.min(maxSizeIndex, SIZES.indexOf(sizeProp))];\n let layout = layoutName === 'waterfall' ? WaterfallLayout : GridLayout;\n let options = layoutOptions[size][density];\n\n let ctx = useMemo(() => ({size, variant}), [size, variant]);\n\n let {selectedKeys, onSelectionChange, actionBar, actionBarHeight} = useActionBarContainer({...props, scrollRef});\n\n let isLoading = loadingState === 'loading' || loadingState === 'loadingMore';\n let renderer;\n let cardLoadingSentinel = (\n <GridListLoadMoreItem\n isLoading={isLoading}\n onLoadMore={onLoadMore} />\n );\n\n if (typeof children === 'function' && items) {\n renderer = (\n <>\n <Collection items={items} dependencies={props.dependencies}>\n {children}\n </Collection>\n {cardLoadingSentinel}\n </>\n );\n } else {\n renderer = (\n <>\n {children}\n {cardLoadingSentinel}\n </>\n );\n }\n\n // Wrap the renderEmptyState function so that it is not called when there is a skeleton loader.\n let renderEmptyState = renderEmptyStateProp ? (renderProps: GridListRenderProps) => {\n let collection = renderProps.state.collection;\n let firstKey = collection.getFirstKey();\n if (firstKey == null || collection.getItem(firstKey)?.type !== 'skeleton') {\n return renderEmptyStateProp(renderProps);\n }\n } : undefined;\n\n let cardViewCtx = useMemo(() => ({\n layout: layoutName,\n ElementType: GridListItem\n }), [layoutName]);\n\n let cardView = (\n <Virtualizer layout={layout} layoutOptions={options}>\n <InternalCardViewContext.Provider value={cardViewCtx}>\n <CardContext.Provider value={ctx}>\n <ImageCoordinator>\n <AriaGridList\n ref={scrollRef}\n {...otherProps}\n renderEmptyState={renderEmptyState}\n items={items}\n layout=\"grid\"\n selectionBehavior={selectionStyle === 'highlight' ? 'replace' : 'toggle'}\n selectedKeys={selectedKeys}\n defaultSelectedKeys={undefined}\n onSelectionChange={onSelectionChange}\n style={{\n ...(!props.renderActionBar ? UNSAFE_style : {}),\n // Add padding at the bottom when the action bar is visible so users can scroll to the last items.\n // Also add scroll padding so keyboard navigating preserves the padding.\n paddingBottom: actionBarHeight > 0 ? actionBarHeight + options.minSpace.height : 0,\n scrollPadding: options.minSpace.height,\n scrollPaddingBottom: actionBarHeight + options.minSpace.height\n }}\n className={renderProps => (!props.renderActionBar ? UNSAFE_className : '') + cardViewStyles({...renderProps, isLoading: props.loadingState === 'loading', isActionBar: !!props.renderActionBar}, !props.renderActionBar ? styles : undefined)}>\n {renderer}\n </AriaGridList>\n </ImageCoordinator>\n </CardContext.Provider>\n </InternalCardViewContext.Provider>\n </Virtualizer>\n );\n\n // Add extra wrapper if there is an action bar so we can position relative to it.\n // ActionBar cannot be inside the GridList due to ARIA and focus management requirements.\n if (props.renderActionBar) {\n return (\n <div ref={domRef} className={UNSAFE_className + wrapperStyles(null, styles)} style={UNSAFE_style}>\n {cardView}\n {actionBar}\n </div>\n );\n }\n\n return cardView;\n});\n"],"names":[],"version":3,"file":"CardView.cjs.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;;;AAmGD,MAAM,sCAAgB;IACpB,IAAI;QACF,SAAS;YACP,UAAU,IAAI,CAAA,GAAA,0CAAG,EAAE,GAAG;YACtB,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;YAC3B,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;QAC7B;QACA,SAAS;YACP,UAAU,IAAI,CAAA,GAAA,0CAAG,EAAE,GAAG;YACtB,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;YAC3B,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;QAC7B;QACA,UAAU;YACR,UAAU,IAAI,CAAA,GAAA,0CAAG,EAAE,IAAI;YACvB,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;YAC3B,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;QAC7B;IACF;IACA,GAAG;QACD,SAAS;YACP,UAAU,IAAI,CAAA,GAAA,0CAAG,EAAE,GAAG;YACtB,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;YAC3B,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;QAC7B;QACA,SAAS;YACP,UAAU,IAAI,CAAA,GAAA,0CAAG,EAAE,IAAI;YACvB,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;YAC3B,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;QAC7B;QACA,UAAU;YACR,UAAU,IAAI,CAAA,GAAA,0CAAG,EAAE,IAAI;YACvB,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;YAC3B,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;QAC7B;IACF;IACA,GAAG;QACD,SAAS;YACP,UAAU,IAAI,CAAA,GAAA,0CAAG,EAAE,IAAI;YACvB,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;YAC3B,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;QAC7B;QACA,SAAS;YACP,UAAU,IAAI,CAAA,GAAA,0CAAG,EAAE,IAAI;YACvB,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;YAC3B,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;QAC7B;QACA,UAAU;YACR,UAAU,IAAI,CAAA,GAAA,0CAAG,EAAE,IAAI;YACvB,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;YAC3B,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;QAC7B;IACF;IACA,GAAG;QACD,SAAS;YACP,UAAU,IAAI,CAAA,GAAA,0CAAG,EAAE,IAAI;YACvB,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;YAC3B,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;QAC7B;QACA,SAAS;YACP,UAAU,IAAI,CAAA,GAAA,0CAAG,EAAE,IAAI;YACvB,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;YAC3B,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;QAC7B;QACA,UAAU;YACR,UAAU,IAAI,CAAA,GAAA,0CAAG,EAAE,IAAI;YACvB,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;YAC3B,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;QAC7B;IACF;IACA,IAAI;QACF,SAAS;YACP,UAAU,IAAI,CAAA,GAAA,0CAAG,EAAE,IAAI;YACvB,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;YAC3B,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;QAC7B;QACA,SAAS;YACP,UAAU,IAAI,CAAA,GAAA,0CAAG,EAAE,IAAI;YACvB,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;YAC3B,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;QAC7B;QACA,UAAU;YACR,UAAU,IAAI,CAAA,GAAA,0CAAG,EAAE,IAAI;YACvB,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;YAC3B,aAAa,IAAI,CAAA,GAAA,0CAAG,EAAE,KAAK;QAC7B;IACF;AACF;AAEA,MAAM,8BAAQ;IAAC;IAAM;IAAK;IAAK;IAAK;CAAK;AAEzC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BN,MAAM;;;;;;;;;;;;;AAQC,MAAM,0DACX,CAAA,GAAA,0BAAY,EAA0E;AAKjF,MAAM,4CAAyB,AAAd,WAAW,GAAI,CAAA,GAAA,uBAAS,EAAqB,SAAS,SAC5E,KAAuB,EACvB,GAA2B;IAE3B,CAAC,OAAO,IAAI,GAAG,CAAA,GAAA,iDAAsB,EAAE,OAAO,KAAK;IACnD,IAAI,YACF,QAAQ,EACR,QAAQ,aAAa,MAAM,EAC3B,MAAM,WAAW,GAAG,WACpB,UAAU,oBACV,UAAU,2BACV,iBAAiB,8BACjB,mBAAmB,kBACnB,YAAY,UACZ,MAAM,gBACN,YAAY,cACZ,UAAU,SACV,KAAK,EACL,kBAAkB,oBAAoB,EACtC,GAAG,YACJ,GAAG;IACJ,IAAI,SAAS,CAAA,GAAA,mCAAQ,EAAE;IACvB,IAAI,WAAW,CAAA,GAAA,mBAAK,EAAE;IACtB,IAAI,YAAY,MAAM,eAAe,GAAG,WAAW;IAEnD,kGAAkG;IAClG,IAAI,CAAC,cAAc,gBAAgB,GAAG,CAAA,GAAA,qBAAO,EAAE,4BAAM,MAAM,GAAG;IAC9D,IAAI,aAAa,CAAA,GAAA,wBAAU,EAAE;QAC3B,IAAI,IAAI,UAAU,OAAO,EAAE,eAAe;QAC1C,IAAI,IAAI,4BAAM,MAAM,GAAG;QACvB,MAAO,IAAI,EAAG;YACZ,IAAI,OAAO,mCAAa,CAAC,2BAAK,CAAC,EAAE,CAAC,CAAC,QAAQ;YAC3C,IAAI,KAAK,KAAK,WAAW,CAAC,KAAK,GAAG,IAAI,KAAK,QAAQ,CAAC,KAAK,GAAG,GAC1D;YAEF;QACF;QACA,gBAAgB;IAClB,GAAG;QAAC;QAAW;KAAQ;IACvB,IAAI,kBAAkB,CAAA,GAAA,yDAAa,EAAE;IAErC,CAAA,GAAA,+DAAgB,EAAE;QAChB,KAAK;QACL,KAAK;QACL,UAAU;IACZ;IAEA,CAAA,GAAA,2DAAc,EAAE;QACd;IACF,GAAG,EAAE;IAEL,uGAAuG;IACvG,IAAI,OAAO,2BAAK,CAAC,KAAK,GAAG,CAAC,cAAc,4BAAM,OAAO,CAAC,WAAW;IACjE,IAAI,SAAS,eAAe,cAAc,CAAA,GAAA,qDAAc,IAAI,CAAA,GAAA,gDAAS;IACrE,IAAI,UAAU,mCAAa,CAAC,KAAK,CAAC,QAAQ;IAE1C,IAAI,MAAM,CAAA,GAAA,oBAAM,EAAE,IAAO,CAAA;kBAAC;qBAAM;QAAO,CAAA,GAAI;QAAC;QAAM;KAAQ;IAE1D,IAAI,gBAAC,YAAY,qBAAE,iBAAiB,aAAE,SAAS,mBAAE,eAAe,EAAC,GAAG,CAAA,GAAA,+CAAoB,EAAE;QACxF,GAAG,KAAK;mBACR;IACF;IAEA,IAAI,YAAY,iBAAiB,aAAa,iBAAiB;IAC/D,IAAI;IACJ,IAAI,oCAAsB,gCAAC,CAAA,GAAA,uDAAmB;QAAE,WAAW;QAAW,YAAY;;IAElF,IAAI,OAAO,aAAa,cAAc,OACpC,yBACE;;0BACE,gCAAC,CAAA,GAAA,qCAAS;gBAAE,OAAO;gBAAO,cAAc,MAAM,YAAY;0BACvD;;YAEF;;;SAIL,yBACE;;YACG;YACA;;;IAKP,+FAA+F;IAC/F,IAAI,mBAAmB,uBACnB,CAAC;QACC,IAAI,aAAa,YAAY,KAAK,CAAC,UAAU;QAC7C,IAAI,WAAW,WAAW,WAAW;QACrC,IAAI,YAAY,QAAQ,WAAW,OAAO,CAAC,WAAW,SAAS,YAC7D,OAAO,qBAAqB;IAEhC,IACA;IAEJ,IAAI,cAAc,CAAA,GAAA,oBAAM,EACtB,IAAO,CAAA;YACL,QAAQ;YACR,aAAa,CAAA,GAAA,+CAAW;QAC1B,CAAA,GACA;QAAC;KAAW;IAGd,IAAI,yBACF,gCAAC,CAAA,GAAA,iDAAU;QAAE,QAAQ;QAAQ,eAAe;kBAC1C,cAAA,gCAAC,CAAA,GAAA,iDAAsB,EAAE,QAAQ;YAAC,OAAO;sBACvC,cAAA,gCAAC,CAAA,GAAA,qCAAU,EAAE,QAAQ;gBAAC,OAAO;0BAC3B,cAAA,gCAAC,CAAA,GAAA,0CAAe;8BACd,cAAA,gCAAC,CAAA,GAAA,2CAAW;wBACV,KAAK;wBACJ,GAAG,UAAU;wBACd,kBAAkB;wBAClB,OAAO;wBACP,QAAO;wBACP,mBAAmB,mBAAmB,cAAc,YAAY;wBAChE,cAAc;wBACd,qBAAqB;wBACrB,mBAAmB;wBACnB,OAAO;4BACL,GAAI,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC,CAAC;4BAC9C,kGAAkG;4BAClG,wEAAwE;4BACxE,eAAe,kBAAkB,IAAI,kBAAkB,QAAQ,QAAQ,CAAC,MAAM,GAAG;4BACjF,eAAe,QAAQ,QAAQ,CAAC,MAAM;4BACtC,qBAAqB,kBAAkB,QAAQ,QAAQ,CAAC,MAAM;wBAChE;wBACA,WAAW,CAAA,cACT,AAAC,CAAA,CAAC,MAAM,eAAe,GAAG,mBAAmB,EAAC,IAC9C,qCACE;gCACE,GAAG,WAAW;gCACd,WAAW,MAAM,YAAY,KAAK;gCAClC,aAAa,CAAC,CAAC,MAAM,eAAe;4BACtC,GACA,CAAC,MAAM,eAAe,GAAG,SAAS;kCAGrC;;;;;;IAQb,iFAAiF;IACjF,yFAAyF;IACzF,IAAI,MAAM,eAAe,EACvB,qBACE,iCAAC;QACC,KAAK;QACL,WAAW,mBAAmB,oCAAc,MAAM;QAClD,OAAO;;YACN;YACA;;;IAKP,OAAO;AACT","sources":["packages/@react-spectrum/s2/src/CardView.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 {\n GridList as AriaGridList,\n GridListItem,\n GridListLoadMoreItem,\n GridListProps,\n GridListRenderProps\n} from 'react-aria-components/GridList';\n\nimport {CardContext, InternalCardViewContext} from './Card';\nimport {Collection} from 'react-aria/Collection';\nimport {ContextValue} from 'react-aria-components/slots';\nimport {\n createContext,\n forwardRef,\n ReactElement,\n useCallback,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport {\n DOMRef,\n DOMRefValue,\n forwardRefType,\n GlobalDOMAttributes,\n Key,\n LoadingState\n} from '@react-types/shared';\nimport {focusRing, style} from '../style' with {type: 'macro'};\nimport {\n getAllowedOverrides,\n StylesPropWithHeight,\n UnsafeStyles\n} from './style-utils' with {type: 'macro'};\nimport {GridLayout, Size, Virtualizer, WaterfallLayout} from 'react-aria-components/Virtualizer';\nimport {ImageCoordinator} from './ImageCoordinator';\nimport {useActionBarContainer} from './ActionBar';\nimport {useDOMRef} from './useDOMRef';\nimport {useEffectEvent} from 'react-aria/private/utils/useEffectEvent';\nimport {useLayoutEffect} from 'react-aria/private/utils/useLayoutEffect';\nimport {useResizeObserver} from 'react-aria/private/utils/useResizeObserver';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\nexport interface CardViewProps<T>\n extends\n Omit<\n GridListProps<T>,\n | 'layout'\n | 'keyboardNavigationBehavior'\n | 'selectionBehavior'\n | 'className'\n | 'style'\n | 'render'\n | 'isLoading'\n | keyof GlobalDOMAttributes\n >,\n UnsafeStyles {\n /**\n * The layout of the cards.\n *\n * @default 'grid'\n */\n layout?: 'grid' | 'waterfall';\n /**\n * The size of the cards.\n *\n * @default 'M'\n */\n size?: 'XS' | 'S' | 'M' | 'L' | 'XL';\n /**\n * The amount of space between the cards.\n *\n * @default 'regular'\n */\n density?: 'compact' | 'regular' | 'spacious';\n /**\n * The visual style of the cards.\n *\n * @default 'primary'\n */\n variant?: 'primary' | 'secondary' | 'tertiary' | 'quiet';\n /**\n * How selection should be displayed.\n *\n * @default 'checkbox'\n */\n selectionStyle?: 'checkbox' | 'highlight';\n /** The loading state of the CardView. */\n loadingState?: LoadingState;\n /** Handler that is called when more items should be loaded, e.g. while scrolling near the bottom. */\n onLoadMore?: () => void;\n /** Spectrum-defined styles, returned by the `style()` macro. */\n styles?: StylesPropWithHeight;\n /** Provides the ActionBar to render when cards are selected in the CardView. */\n renderActionBar?: (selectedKeys: 'all' | Set<Key>) => ReactElement;\n}\n\nconst layoutOptions = {\n XS: {\n compact: {\n minSpace: new Size(6, 6),\n minItemSize: new Size(100, 100),\n maxItemSize: new Size(140, 140)\n },\n regular: {\n minSpace: new Size(8, 8),\n minItemSize: new Size(100, 100),\n maxItemSize: new Size(140, 140)\n },\n spacious: {\n minSpace: new Size(12, 12),\n minItemSize: new Size(100, 100),\n maxItemSize: new Size(140, 140)\n }\n },\n S: {\n compact: {\n minSpace: new Size(8, 8),\n minItemSize: new Size(150, 150),\n maxItemSize: new Size(210, 210)\n },\n regular: {\n minSpace: new Size(12, 12),\n minItemSize: new Size(150, 150),\n maxItemSize: new Size(210, 210)\n },\n spacious: {\n minSpace: new Size(16, 16),\n minItemSize: new Size(150, 150),\n maxItemSize: new Size(210, 210)\n }\n },\n M: {\n compact: {\n minSpace: new Size(12, 12),\n minItemSize: new Size(200, 200),\n maxItemSize: new Size(280, 280)\n },\n regular: {\n minSpace: new Size(16, 16),\n minItemSize: new Size(200, 200),\n maxItemSize: new Size(280, 280)\n },\n spacious: {\n minSpace: new Size(20, 20),\n minItemSize: new Size(200, 200),\n maxItemSize: new Size(280, 280)\n }\n },\n L: {\n compact: {\n minSpace: new Size(16, 16),\n minItemSize: new Size(270, 270),\n maxItemSize: new Size(370, 370)\n },\n regular: {\n minSpace: new Size(20, 20),\n minItemSize: new Size(270, 270),\n maxItemSize: new Size(370, 370)\n },\n spacious: {\n minSpace: new Size(24, 24),\n minItemSize: new Size(270, 270),\n maxItemSize: new Size(370, 370)\n }\n },\n XL: {\n compact: {\n minSpace: new Size(20, 20),\n minItemSize: new Size(340, 340),\n maxItemSize: new Size(460, 460)\n },\n regular: {\n minSpace: new Size(24, 24),\n minItemSize: new Size(340, 340),\n maxItemSize: new Size(460, 460)\n },\n spacious: {\n minSpace: new Size(28, 28),\n minItemSize: new Size(340, 340),\n maxItemSize: new Size(460, 460)\n }\n }\n};\n\nconst SIZES = ['XS', 'S', 'M', 'L', 'XL'] as const;\n\nconst cardViewStyles = style(\n {\n overflowY: {\n default: 'auto',\n isLoading: 'hidden'\n },\n display: {\n isEmpty: 'flex'\n },\n boxSizing: 'border-box',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n ...focusRing(),\n outlineStyle: {\n default: 'none',\n isEmpty: {\n isFocusVisible: 'solid'\n }\n },\n outlineOffset: -2,\n height: {\n isActionBar: 'full'\n }\n },\n getAllowedOverrides({height: true})\n);\n\nconst wrapperStyles = style(\n {\n position: 'relative',\n overflow: 'clip'\n },\n getAllowedOverrides({height: true})\n);\n\nexport const CardViewContext =\n createContext<ContextValue<Partial<CardViewProps<any>>, DOMRefValue<HTMLDivElement>>>(null);\n\n/**\n * A CardView displays a group of related objects, with support for selection and bulk actions.\n */\nexport const CardView = /*#__PURE__*/ (forwardRef as forwardRefType)(function CardView<T>(\n props: CardViewProps<T>,\n ref: DOMRef<HTMLDivElement>\n) {\n [props, ref] = useSpectrumContextProps(props, ref, CardViewContext);\n let {\n children,\n layout: layoutName = 'grid',\n size: sizeProp = 'M',\n density = 'regular',\n variant = 'primary',\n selectionStyle = 'checkbox',\n UNSAFE_className = '',\n UNSAFE_style,\n styles,\n loadingState,\n onLoadMore,\n items,\n renderEmptyState: renderEmptyStateProp,\n ...otherProps\n } = props;\n let domRef = useDOMRef(ref);\n let innerRef = useRef(null);\n let scrollRef = props.renderActionBar ? innerRef : domRef;\n\n // This calculates the maximum t-shirt size where at least two columns fit in the available width.\n let [maxSizeIndex, setMaxSizeIndex] = useState(SIZES.length - 1);\n let updateSize = useCallback(() => {\n let w = scrollRef.current?.clientWidth ?? 0;\n let i = SIZES.length - 1;\n while (i > 0) {\n let opts = layoutOptions[SIZES[i]][density];\n if (w >= opts.minItemSize.width * 2 + opts.minSpace.width * 3) {\n break;\n }\n i--;\n }\n setMaxSizeIndex(i);\n }, [scrollRef, density]);\n let updateSizeEvent = useEffectEvent(updateSize);\n\n useResizeObserver({\n ref: scrollRef,\n box: 'border-box',\n onResize: updateSize\n });\n\n useLayoutEffect(() => {\n updateSizeEvent();\n }, []);\n\n // The actual rendered t-shirt size is the minimum between the size prop and the maximum possible size.\n let size = SIZES[Math.min(maxSizeIndex, SIZES.indexOf(sizeProp))];\n let layout = layoutName === 'waterfall' ? WaterfallLayout : GridLayout;\n let options = layoutOptions[size][density];\n\n let ctx = useMemo(() => ({size, variant}), [size, variant]);\n\n let {selectedKeys, onSelectionChange, actionBar, actionBarHeight} = useActionBarContainer({\n ...props,\n scrollRef\n });\n\n let isLoading = loadingState === 'loading' || loadingState === 'loadingMore';\n let renderer;\n let cardLoadingSentinel = <GridListLoadMoreItem isLoading={isLoading} onLoadMore={onLoadMore} />;\n\n if (typeof children === 'function' && items) {\n renderer = (\n <>\n <Collection items={items} dependencies={props.dependencies}>\n {children}\n </Collection>\n {cardLoadingSentinel}\n </>\n );\n } else {\n renderer = (\n <>\n {children}\n {cardLoadingSentinel}\n </>\n );\n }\n\n // Wrap the renderEmptyState function so that it is not called when there is a skeleton loader.\n let renderEmptyState = renderEmptyStateProp\n ? (renderProps: GridListRenderProps) => {\n let collection = renderProps.state.collection;\n let firstKey = collection.getFirstKey();\n if (firstKey == null || collection.getItem(firstKey)?.type !== 'skeleton') {\n return renderEmptyStateProp(renderProps);\n }\n }\n : undefined;\n\n let cardViewCtx = useMemo(\n () => ({\n layout: layoutName,\n ElementType: GridListItem\n }),\n [layoutName]\n );\n\n let cardView = (\n <Virtualizer layout={layout} layoutOptions={options}>\n <InternalCardViewContext.Provider value={cardViewCtx}>\n <CardContext.Provider value={ctx}>\n <ImageCoordinator>\n <AriaGridList\n ref={scrollRef}\n {...otherProps}\n renderEmptyState={renderEmptyState}\n items={items}\n layout=\"grid\"\n selectionBehavior={selectionStyle === 'highlight' ? 'replace' : 'toggle'}\n selectedKeys={selectedKeys}\n defaultSelectedKeys={undefined}\n onSelectionChange={onSelectionChange}\n style={{\n ...(!props.renderActionBar ? UNSAFE_style : {}),\n // Add padding at the bottom when the action bar is visible so users can scroll to the last items.\n // Also add scroll padding so keyboard navigating preserves the padding.\n paddingBottom: actionBarHeight > 0 ? actionBarHeight + options.minSpace.height : 0,\n scrollPadding: options.minSpace.height,\n scrollPaddingBottom: actionBarHeight + options.minSpace.height\n }}\n className={renderProps =>\n (!props.renderActionBar ? UNSAFE_className : '') +\n cardViewStyles(\n {\n ...renderProps,\n isLoading: props.loadingState === 'loading',\n isActionBar: !!props.renderActionBar\n },\n !props.renderActionBar ? styles : undefined\n )\n }>\n {renderer}\n </AriaGridList>\n </ImageCoordinator>\n </CardContext.Provider>\n </InternalCardViewContext.Provider>\n </Virtualizer>\n );\n\n // Add extra wrapper if there is an action bar so we can position relative to it.\n // ActionBar cannot be inside the GridList due to ARIA and focus management requirements.\n if (props.renderActionBar) {\n return (\n <div\n ref={domRef}\n className={UNSAFE_className + wrapperStyles(null, styles)}\n style={UNSAFE_style}>\n {cardView}\n {actionBar}\n </div>\n );\n }\n\n return cardView;\n});\n"],"names":[],"version":3,"file":"CardView.cjs.map"}
@@ -1,65 +1,65 @@
1
1
  @layer _.a {
2
- .Pa13 {
2
+ .Pa131 {
3
3
  overflow-y: auto;
4
4
  }
5
5
 
6
- .Pc13 {
6
+ .Pc131 {
7
7
  overflow-y: hidden;
8
8
  }
9
9
 
10
- .sd13 {
10
+ .sd131 {
11
11
  display: flex;
12
12
  }
13
13
 
14
- ._oa13 {
14
+ ._oa131 {
15
15
  box-sizing: border-box;
16
16
  }
17
17
 
18
- ._ta13 {
18
+ ._ta131 {
19
19
  flex-direction: column;
20
20
  }
21
21
 
22
- .eb13 {
22
+ .eb131 {
23
23
  align-items: center;
24
24
  }
25
25
 
26
- ._Ca13 {
26
+ ._Ca131 {
27
27
  justify-content: center;
28
28
  }
29
29
 
30
- ._Le13 {
30
+ ._Le131 {
31
31
  outline-style: none;
32
32
  }
33
33
 
34
- ._Lf13 {
34
+ ._Lf131 {
35
35
  outline-style: solid;
36
36
  }
37
37
 
38
- .Oh13 {
38
+ .Oh131 {
39
39
  outline-color: light-dark(#4b75ff, #4069fd);
40
40
  }
41
41
 
42
- ._Mc13 {
42
+ ._Mc131 {
43
43
  outline-width: 2px;
44
44
  }
45
45
 
46
- ._Kb13 {
46
+ ._Kb131 {
47
47
  outline-offset: -2px;
48
48
  }
49
49
 
50
- .Fb13 {
50
+ .Fb131 {
51
51
  height: 100%;
52
52
  }
53
53
 
54
- ._Pc13 {
54
+ ._Pc131 {
55
55
  position: relative;
56
56
  }
57
57
 
58
- ._Nb13 {
58
+ ._Nb131 {
59
59
  overflow-x: clip;
60
60
  }
61
61
 
62
- .Pb13 {
62
+ .Pb131 {
63
63
  overflow-y: clip;
64
64
  }
65
65
  }
@@ -68,7 +68,7 @@
68
68
 
69
69
  @layer _.b.l {
70
70
  @media (forced-colors: active) {
71
- .Olc13 {
71
+ .Olc131 {
72
72
  outline-color: highlight;
73
73
  }
74
74
  }
@@ -1 +1 @@
1
- {"mappings":"ACkKuB;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAyBD;;;;EAAA;;;;EAAA;;;;;AAzBC;;AAAA;EAAA;IAAA","sources":["bcfa03266ec99ed3","packages/@react-spectrum/s2/src/CardView.tsx"],"sourcesContent":["@import \"b9a56ec855293cb6\";\n@import \"879fd470e85635cf\";\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 {\n GridList as AriaGridList,\n GridListItem,\n GridListLoadMoreItem,\n GridListProps,\n GridListRenderProps\n} from 'react-aria-components/GridList';\n\nimport {CardContext, InternalCardViewContext} from './Card';\nimport {Collection} from 'react-aria/Collection';\nimport {ContextValue} from 'react-aria-components/slots';\nimport {createContext, forwardRef, ReactElement, useCallback, useMemo, useRef, useState} from 'react';\nimport {DOMRef, DOMRefValue, forwardRefType, GlobalDOMAttributes, Key, LoadingState} from '@react-types/shared';\nimport {focusRing, style} from '../style' with {type: 'macro'};\nimport {getAllowedOverrides, StylesPropWithHeight, UnsafeStyles} from './style-utils' with {type: 'macro'};\nimport {GridLayout, Size, Virtualizer, WaterfallLayout} from 'react-aria-components/Virtualizer';\nimport {ImageCoordinator} from './ImageCoordinator';\nimport {useActionBarContainer} from './ActionBar';\nimport {useDOMRef} from './useDOMRef';\nimport {useEffectEvent} from 'react-aria/private/utils/useEffectEvent';\nimport {useLayoutEffect} from 'react-aria/private/utils/useLayoutEffect';\nimport {useResizeObserver} from 'react-aria/private/utils/useResizeObserver';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\nexport interface CardViewProps<T> extends Omit<GridListProps<T>, 'layout' | 'keyboardNavigationBehavior' | 'selectionBehavior' | 'className' | 'style' | 'render' | 'isLoading' | keyof GlobalDOMAttributes>, UnsafeStyles {\n /**\n * The layout of the cards.\n * @default 'grid'\n */\n layout?: 'grid' | 'waterfall',\n /**\n * The size of the cards.\n * @default 'M'\n */\n size?: 'XS' | 'S' | 'M' | 'L' | 'XL',\n /**\n * The amount of space between the cards.\n * @default 'regular'\n */\n density?: 'compact' | 'regular' | 'spacious',\n /**\n * The visual style of the cards.\n * @default 'primary'\n */\n variant?: 'primary' | 'secondary' | 'tertiary' | 'quiet',\n /**\n * How selection should be displayed.\n * @default 'checkbox'\n */\n selectionStyle?: 'checkbox' | 'highlight',\n /** The loading state of the CardView. */\n loadingState?: LoadingState,\n /** Handler that is called when more items should be loaded, e.g. while scrolling near the bottom. */\n onLoadMore?: () => void,\n /** Spectrum-defined styles, returned by the `style()` macro. */\n styles?: StylesPropWithHeight,\n /** Provides the ActionBar to render when cards are selected in the CardView. */\n renderActionBar?: (selectedKeys: 'all' | Set<Key>) => ReactElement\n}\n\nconst layoutOptions = {\n XS: {\n compact: {\n minSpace: new Size(6, 6),\n minItemSize: new Size(100, 100),\n maxItemSize: new Size(140, 140)\n },\n regular: {\n minSpace: new Size(8, 8),\n minItemSize: new Size(100, 100),\n maxItemSize: new Size(140, 140)\n },\n spacious: {\n minSpace: new Size(12, 12),\n minItemSize: new Size(100, 100),\n maxItemSize: new Size(140, 140)\n }\n },\n S: {\n compact: {\n minSpace: new Size(8, 8),\n minItemSize: new Size(150, 150),\n maxItemSize: new Size(210, 210)\n },\n regular: {\n minSpace: new Size(12, 12),\n minItemSize: new Size(150, 150),\n maxItemSize: new Size(210, 210)\n },\n spacious: {\n minSpace: new Size(16, 16),\n minItemSize: new Size(150, 150),\n maxItemSize: new Size(210, 210)\n }\n },\n M: {\n compact: {\n minSpace: new Size(12, 12),\n minItemSize: new Size(200, 200),\n maxItemSize: new Size(280, 280)\n },\n regular: {\n minSpace: new Size(16, 16),\n minItemSize: new Size(200, 200),\n maxItemSize: new Size(280, 280)\n },\n spacious: {\n minSpace: new Size(20, 20),\n minItemSize: new Size(200, 200),\n maxItemSize: new Size(280, 280)\n }\n },\n L: {\n compact: {\n minSpace: new Size(16, 16),\n minItemSize: new Size(270, 270),\n maxItemSize: new Size(370, 370)\n },\n regular: {\n minSpace: new Size(20, 20),\n minItemSize: new Size(270, 270),\n maxItemSize: new Size(370, 370)\n },\n spacious: {\n minSpace: new Size(24, 24),\n minItemSize: new Size(270, 270),\n maxItemSize: new Size(370, 370)\n }\n },\n XL: {\n compact: {\n minSpace: new Size(20, 20),\n minItemSize: new Size(340, 340),\n maxItemSize: new Size(460, 460)\n },\n regular: {\n minSpace: new Size(24, 24),\n minItemSize: new Size(340, 340),\n maxItemSize: new Size(460, 460)\n },\n spacious: {\n minSpace: new Size(28, 28),\n minItemSize: new Size(340, 340),\n maxItemSize: new Size(460, 460)\n }\n }\n};\n\nconst SIZES = ['XS', 'S', 'M', 'L', 'XL'] as const;\n\nconst cardViewStyles = style({\n overflowY: {\n default: 'auto',\n isLoading: 'hidden'\n },\n display: {\n isEmpty: 'flex'\n },\n boxSizing: 'border-box',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n ...focusRing(),\n outlineStyle: {\n default: 'none',\n isEmpty: {\n isFocusVisible: 'solid'\n }\n },\n outlineOffset: -2,\n height: {\n isActionBar: 'full'\n }\n}, getAllowedOverrides({height: true}));\n\nconst wrapperStyles = style({\n position: 'relative',\n overflow: 'clip'\n}, getAllowedOverrides({height: true}));\n\nexport const CardViewContext = createContext<ContextValue<Partial<CardViewProps<any>>, DOMRefValue<HTMLDivElement>>>(null);\n\n/**\n * A CardView displays a group of related objects, with support for selection and bulk actions.\n */\nexport const CardView = /*#__PURE__*/ (forwardRef as forwardRefType)(function CardView<T extends object>(props: CardViewProps<T>, ref: DOMRef<HTMLDivElement>) {\n [props, ref] = useSpectrumContextProps(props, ref, CardViewContext);\n let {\n children,\n layout: layoutName = 'grid',\n size: sizeProp = 'M',\n density = 'regular',\n variant = 'primary',\n selectionStyle = 'checkbox',\n UNSAFE_className = '',\n UNSAFE_style,\n styles,\n loadingState,\n onLoadMore,\n items,\n renderEmptyState: renderEmptyStateProp,\n ...otherProps} = props;\n let domRef = useDOMRef(ref);\n let innerRef = useRef(null);\n let scrollRef = props.renderActionBar ? innerRef : domRef;\n\n // This calculates the maximum t-shirt size where at least two columns fit in the available width.\n let [maxSizeIndex, setMaxSizeIndex] = useState(SIZES.length - 1);\n let updateSize = useCallback(() => {\n let w = scrollRef.current?.clientWidth ?? 0;\n let i = SIZES.length - 1;\n while (i > 0) {\n let opts = layoutOptions[SIZES[i]][density];\n if (w >= opts.minItemSize.width * 2 + opts.minSpace.width * 3) {\n break;\n }\n i--;\n }\n setMaxSizeIndex(i);\n }, [scrollRef, density]);\n let updateSizeEvent = useEffectEvent(updateSize);\n\n useResizeObserver({\n ref: scrollRef,\n box: 'border-box',\n onResize: updateSize\n });\n\n useLayoutEffect(() => {\n updateSizeEvent();\n }, []);\n\n // The actual rendered t-shirt size is the minimum between the size prop and the maximum possible size.\n let size = SIZES[Math.min(maxSizeIndex, SIZES.indexOf(sizeProp))];\n let layout = layoutName === 'waterfall' ? WaterfallLayout : GridLayout;\n let options = layoutOptions[size][density];\n\n let ctx = useMemo(() => ({size, variant}), [size, variant]);\n\n let {selectedKeys, onSelectionChange, actionBar, actionBarHeight} = useActionBarContainer({...props, scrollRef});\n\n let isLoading = loadingState === 'loading' || loadingState === 'loadingMore';\n let renderer;\n let cardLoadingSentinel = (\n <GridListLoadMoreItem\n isLoading={isLoading}\n onLoadMore={onLoadMore} />\n );\n\n if (typeof children === 'function' && items) {\n renderer = (\n <>\n <Collection items={items} dependencies={props.dependencies}>\n {children}\n </Collection>\n {cardLoadingSentinel}\n </>\n );\n } else {\n renderer = (\n <>\n {children}\n {cardLoadingSentinel}\n </>\n );\n }\n\n // Wrap the renderEmptyState function so that it is not called when there is a skeleton loader.\n let renderEmptyState = renderEmptyStateProp ? (renderProps: GridListRenderProps) => {\n let collection = renderProps.state.collection;\n let firstKey = collection.getFirstKey();\n if (firstKey == null || collection.getItem(firstKey)?.type !== 'skeleton') {\n return renderEmptyStateProp(renderProps);\n }\n } : undefined;\n\n let cardViewCtx = useMemo(() => ({\n layout: layoutName,\n ElementType: GridListItem\n }), [layoutName]);\n\n let cardView = (\n <Virtualizer layout={layout} layoutOptions={options}>\n <InternalCardViewContext.Provider value={cardViewCtx}>\n <CardContext.Provider value={ctx}>\n <ImageCoordinator>\n <AriaGridList\n ref={scrollRef}\n {...otherProps}\n renderEmptyState={renderEmptyState}\n items={items}\n layout=\"grid\"\n selectionBehavior={selectionStyle === 'highlight' ? 'replace' : 'toggle'}\n selectedKeys={selectedKeys}\n defaultSelectedKeys={undefined}\n onSelectionChange={onSelectionChange}\n style={{\n ...(!props.renderActionBar ? UNSAFE_style : {}),\n // Add padding at the bottom when the action bar is visible so users can scroll to the last items.\n // Also add scroll padding so keyboard navigating preserves the padding.\n paddingBottom: actionBarHeight > 0 ? actionBarHeight + options.minSpace.height : 0,\n scrollPadding: options.minSpace.height,\n scrollPaddingBottom: actionBarHeight + options.minSpace.height\n }}\n className={renderProps => (!props.renderActionBar ? UNSAFE_className : '') + cardViewStyles({...renderProps, isLoading: props.loadingState === 'loading', isActionBar: !!props.renderActionBar}, !props.renderActionBar ? styles : undefined)}>\n {renderer}\n </AriaGridList>\n </ImageCoordinator>\n </CardContext.Provider>\n </InternalCardViewContext.Provider>\n </Virtualizer>\n );\n\n // Add extra wrapper if there is an action bar so we can position relative to it.\n // ActionBar cannot be inside the GridList due to ARIA and focus management requirements.\n if (props.renderActionBar) {\n return (\n <div ref={domRef} className={UNSAFE_className + wrapperStyles(null, styles)} style={UNSAFE_style}>\n {cardView}\n {actionBar}\n </div>\n );\n }\n\n return cardView;\n});\n"],"names":[],"version":3,"file":"CardView.css.map"}
1
+ {"mappings":"ACuMuB;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EA4BD;;;;EAAA;;;;EAAA;;;;;AA5BC;;AAAA;EAAA;IAAA","sources":["bcfa03266ec99ed3","packages/@react-spectrum/s2/src/CardView.tsx"],"sourcesContent":["@import \"b9a56ec855293cb6\";\n@import \"879fd470e85635cf\";\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 {\n GridList as AriaGridList,\n GridListItem,\n GridListLoadMoreItem,\n GridListProps,\n GridListRenderProps\n} from 'react-aria-components/GridList';\n\nimport {CardContext, InternalCardViewContext} from './Card';\nimport {Collection} from 'react-aria/Collection';\nimport {ContextValue} from 'react-aria-components/slots';\nimport {\n createContext,\n forwardRef,\n ReactElement,\n useCallback,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport {\n DOMRef,\n DOMRefValue,\n forwardRefType,\n GlobalDOMAttributes,\n Key,\n LoadingState\n} from '@react-types/shared';\nimport {focusRing, style} from '../style' with {type: 'macro'};\nimport {\n getAllowedOverrides,\n StylesPropWithHeight,\n UnsafeStyles\n} from './style-utils' with {type: 'macro'};\nimport {GridLayout, Size, Virtualizer, WaterfallLayout} from 'react-aria-components/Virtualizer';\nimport {ImageCoordinator} from './ImageCoordinator';\nimport {useActionBarContainer} from './ActionBar';\nimport {useDOMRef} from './useDOMRef';\nimport {useEffectEvent} from 'react-aria/private/utils/useEffectEvent';\nimport {useLayoutEffect} from 'react-aria/private/utils/useLayoutEffect';\nimport {useResizeObserver} from 'react-aria/private/utils/useResizeObserver';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\nexport interface CardViewProps<T>\n extends\n Omit<\n GridListProps<T>,\n | 'layout'\n | 'keyboardNavigationBehavior'\n | 'selectionBehavior'\n | 'className'\n | 'style'\n | 'render'\n | 'isLoading'\n | keyof GlobalDOMAttributes\n >,\n UnsafeStyles {\n /**\n * The layout of the cards.\n *\n * @default 'grid'\n */\n layout?: 'grid' | 'waterfall';\n /**\n * The size of the cards.\n *\n * @default 'M'\n */\n size?: 'XS' | 'S' | 'M' | 'L' | 'XL';\n /**\n * The amount of space between the cards.\n *\n * @default 'regular'\n */\n density?: 'compact' | 'regular' | 'spacious';\n /**\n * The visual style of the cards.\n *\n * @default 'primary'\n */\n variant?: 'primary' | 'secondary' | 'tertiary' | 'quiet';\n /**\n * How selection should be displayed.\n *\n * @default 'checkbox'\n */\n selectionStyle?: 'checkbox' | 'highlight';\n /** The loading state of the CardView. */\n loadingState?: LoadingState;\n /** Handler that is called when more items should be loaded, e.g. while scrolling near the bottom. */\n onLoadMore?: () => void;\n /** Spectrum-defined styles, returned by the `style()` macro. */\n styles?: StylesPropWithHeight;\n /** Provides the ActionBar to render when cards are selected in the CardView. */\n renderActionBar?: (selectedKeys: 'all' | Set<Key>) => ReactElement;\n}\n\nconst layoutOptions = {\n XS: {\n compact: {\n minSpace: new Size(6, 6),\n minItemSize: new Size(100, 100),\n maxItemSize: new Size(140, 140)\n },\n regular: {\n minSpace: new Size(8, 8),\n minItemSize: new Size(100, 100),\n maxItemSize: new Size(140, 140)\n },\n spacious: {\n minSpace: new Size(12, 12),\n minItemSize: new Size(100, 100),\n maxItemSize: new Size(140, 140)\n }\n },\n S: {\n compact: {\n minSpace: new Size(8, 8),\n minItemSize: new Size(150, 150),\n maxItemSize: new Size(210, 210)\n },\n regular: {\n minSpace: new Size(12, 12),\n minItemSize: new Size(150, 150),\n maxItemSize: new Size(210, 210)\n },\n spacious: {\n minSpace: new Size(16, 16),\n minItemSize: new Size(150, 150),\n maxItemSize: new Size(210, 210)\n }\n },\n M: {\n compact: {\n minSpace: new Size(12, 12),\n minItemSize: new Size(200, 200),\n maxItemSize: new Size(280, 280)\n },\n regular: {\n minSpace: new Size(16, 16),\n minItemSize: new Size(200, 200),\n maxItemSize: new Size(280, 280)\n },\n spacious: {\n minSpace: new Size(20, 20),\n minItemSize: new Size(200, 200),\n maxItemSize: new Size(280, 280)\n }\n },\n L: {\n compact: {\n minSpace: new Size(16, 16),\n minItemSize: new Size(270, 270),\n maxItemSize: new Size(370, 370)\n },\n regular: {\n minSpace: new Size(20, 20),\n minItemSize: new Size(270, 270),\n maxItemSize: new Size(370, 370)\n },\n spacious: {\n minSpace: new Size(24, 24),\n minItemSize: new Size(270, 270),\n maxItemSize: new Size(370, 370)\n }\n },\n XL: {\n compact: {\n minSpace: new Size(20, 20),\n minItemSize: new Size(340, 340),\n maxItemSize: new Size(460, 460)\n },\n regular: {\n minSpace: new Size(24, 24),\n minItemSize: new Size(340, 340),\n maxItemSize: new Size(460, 460)\n },\n spacious: {\n minSpace: new Size(28, 28),\n minItemSize: new Size(340, 340),\n maxItemSize: new Size(460, 460)\n }\n }\n};\n\nconst SIZES = ['XS', 'S', 'M', 'L', 'XL'] as const;\n\nconst cardViewStyles = style(\n {\n overflowY: {\n default: 'auto',\n isLoading: 'hidden'\n },\n display: {\n isEmpty: 'flex'\n },\n boxSizing: 'border-box',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n ...focusRing(),\n outlineStyle: {\n default: 'none',\n isEmpty: {\n isFocusVisible: 'solid'\n }\n },\n outlineOffset: -2,\n height: {\n isActionBar: 'full'\n }\n },\n getAllowedOverrides({height: true})\n);\n\nconst wrapperStyles = style(\n {\n position: 'relative',\n overflow: 'clip'\n },\n getAllowedOverrides({height: true})\n);\n\nexport const CardViewContext =\n createContext<ContextValue<Partial<CardViewProps<any>>, DOMRefValue<HTMLDivElement>>>(null);\n\n/**\n * A CardView displays a group of related objects, with support for selection and bulk actions.\n */\nexport const CardView = /*#__PURE__*/ (forwardRef as forwardRefType)(function CardView<T>(\n props: CardViewProps<T>,\n ref: DOMRef<HTMLDivElement>\n) {\n [props, ref] = useSpectrumContextProps(props, ref, CardViewContext);\n let {\n children,\n layout: layoutName = 'grid',\n size: sizeProp = 'M',\n density = 'regular',\n variant = 'primary',\n selectionStyle = 'checkbox',\n UNSAFE_className = '',\n UNSAFE_style,\n styles,\n loadingState,\n onLoadMore,\n items,\n renderEmptyState: renderEmptyStateProp,\n ...otherProps\n } = props;\n let domRef = useDOMRef(ref);\n let innerRef = useRef(null);\n let scrollRef = props.renderActionBar ? innerRef : domRef;\n\n // This calculates the maximum t-shirt size where at least two columns fit in the available width.\n let [maxSizeIndex, setMaxSizeIndex] = useState(SIZES.length - 1);\n let updateSize = useCallback(() => {\n let w = scrollRef.current?.clientWidth ?? 0;\n let i = SIZES.length - 1;\n while (i > 0) {\n let opts = layoutOptions[SIZES[i]][density];\n if (w >= opts.minItemSize.width * 2 + opts.minSpace.width * 3) {\n break;\n }\n i--;\n }\n setMaxSizeIndex(i);\n }, [scrollRef, density]);\n let updateSizeEvent = useEffectEvent(updateSize);\n\n useResizeObserver({\n ref: scrollRef,\n box: 'border-box',\n onResize: updateSize\n });\n\n useLayoutEffect(() => {\n updateSizeEvent();\n }, []);\n\n // The actual rendered t-shirt size is the minimum between the size prop and the maximum possible size.\n let size = SIZES[Math.min(maxSizeIndex, SIZES.indexOf(sizeProp))];\n let layout = layoutName === 'waterfall' ? WaterfallLayout : GridLayout;\n let options = layoutOptions[size][density];\n\n let ctx = useMemo(() => ({size, variant}), [size, variant]);\n\n let {selectedKeys, onSelectionChange, actionBar, actionBarHeight} = useActionBarContainer({\n ...props,\n scrollRef\n });\n\n let isLoading = loadingState === 'loading' || loadingState === 'loadingMore';\n let renderer;\n let cardLoadingSentinel = <GridListLoadMoreItem isLoading={isLoading} onLoadMore={onLoadMore} />;\n\n if (typeof children === 'function' && items) {\n renderer = (\n <>\n <Collection items={items} dependencies={props.dependencies}>\n {children}\n </Collection>\n {cardLoadingSentinel}\n </>\n );\n } else {\n renderer = (\n <>\n {children}\n {cardLoadingSentinel}\n </>\n );\n }\n\n // Wrap the renderEmptyState function so that it is not called when there is a skeleton loader.\n let renderEmptyState = renderEmptyStateProp\n ? (renderProps: GridListRenderProps) => {\n let collection = renderProps.state.collection;\n let firstKey = collection.getFirstKey();\n if (firstKey == null || collection.getItem(firstKey)?.type !== 'skeleton') {\n return renderEmptyStateProp(renderProps);\n }\n }\n : undefined;\n\n let cardViewCtx = useMemo(\n () => ({\n layout: layoutName,\n ElementType: GridListItem\n }),\n [layoutName]\n );\n\n let cardView = (\n <Virtualizer layout={layout} layoutOptions={options}>\n <InternalCardViewContext.Provider value={cardViewCtx}>\n <CardContext.Provider value={ctx}>\n <ImageCoordinator>\n <AriaGridList\n ref={scrollRef}\n {...otherProps}\n renderEmptyState={renderEmptyState}\n items={items}\n layout=\"grid\"\n selectionBehavior={selectionStyle === 'highlight' ? 'replace' : 'toggle'}\n selectedKeys={selectedKeys}\n defaultSelectedKeys={undefined}\n onSelectionChange={onSelectionChange}\n style={{\n ...(!props.renderActionBar ? UNSAFE_style : {}),\n // Add padding at the bottom when the action bar is visible so users can scroll to the last items.\n // Also add scroll padding so keyboard navigating preserves the padding.\n paddingBottom: actionBarHeight > 0 ? actionBarHeight + options.minSpace.height : 0,\n scrollPadding: options.minSpace.height,\n scrollPaddingBottom: actionBarHeight + options.minSpace.height\n }}\n className={renderProps =>\n (!props.renderActionBar ? UNSAFE_className : '') +\n cardViewStyles(\n {\n ...renderProps,\n isLoading: props.loadingState === 'loading',\n isActionBar: !!props.renderActionBar\n },\n !props.renderActionBar ? styles : undefined\n )\n }>\n {renderer}\n </AriaGridList>\n </ImageCoordinator>\n </CardContext.Provider>\n </InternalCardViewContext.Provider>\n </Virtualizer>\n );\n\n // Add extra wrapper if there is an action bar so we can position relative to it.\n // ActionBar cannot be inside the GridList due to ARIA and focus management requirements.\n if (props.renderActionBar) {\n return (\n <div\n ref={domRef}\n className={UNSAFE_className + wrapperStyles(null, styles)}\n style={UNSAFE_style}>\n {cardView}\n {actionBar}\n </div>\n );\n }\n\n return cardView;\n});\n"],"names":[],"version":3,"file":"CardView.css.map"}
@@ -138,22 +138,22 @@ const $bbcff092fe610ff3$var$cardViewStyles = function anonymous(props, overrides
138
138
  if (p[1] === "F") height = true;
139
139
  rules += p[0];
140
140
  }
141
- if (props.isLoading) rules += ' Pc13';
142
- else rules += ' Pa13';
143
- if (props.isEmpty) rules += ' sd13';
144
- rules += ' _oa13';
145
- rules += ' _ta13';
146
- rules += ' eb13';
147
- rules += ' _Ca13';
141
+ if (props.isLoading) rules += ' Pc131';
142
+ else rules += ' Pa131';
143
+ if (props.isEmpty) rules += ' sd131';
144
+ rules += ' _oa131';
145
+ rules += ' _ta131';
146
+ rules += ' eb131';
147
+ rules += ' _Ca131';
148
148
  if (props.isEmpty) {
149
- if (props.isFocusVisible) rules += ' _Lf13';
150
- } else rules += ' _Le13';
151
- rules += ' Oh13';
152
- rules += ' Olc13';
153
- rules += ' _Mc13';
154
- rules += ' _Kb13';
149
+ if (props.isFocusVisible) rules += ' _Lf131';
150
+ } else rules += ' _Le131';
151
+ rules += ' Oh131';
152
+ rules += ' Olc131';
153
+ rules += ' _Mc131';
154
+ rules += ' _Kb131';
155
155
  if (props.isActionBar) {
156
- if (!height) rules += ' Fb13';
156
+ if (!height) rules += ' Fb131';
157
157
  }
158
158
  return rules;
159
159
  };
@@ -165,9 +165,9 @@ const $bbcff092fe610ff3$var$wrapperStyles = function anonymous(props, overrides)
165
165
  if (p[1] === "_P") position = true;
166
166
  rules += p[0];
167
167
  }
168
- if (!position) rules += ' _Pc13';
169
- rules += ' _Nb13';
170
- rules += ' Pb13';
168
+ if (!position) rules += ' _Pc131';
169
+ rules += ' _Nb131';
170
+ rules += ' Pb131';
171
171
  return rules;
172
172
  };
173
173
  const $bbcff092fe610ff3$export$64992ac69f286e5c = /*#__PURE__*/ (0, $aG2ym$createContext)(null);
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@react-spectrum/s2/src/CardView.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 {\n GridList as AriaGridList,\n GridListItem,\n GridListLoadMoreItem,\n GridListProps,\n GridListRenderProps\n} from 'react-aria-components/GridList';\n\nimport {CardContext, InternalCardViewContext} from './Card';\nimport {Collection} from 'react-aria/Collection';\nimport {ContextValue} from 'react-aria-components/slots';\nimport {createContext, forwardRef, ReactElement, useCallback, useMemo, useRef, useState} from 'react';\nimport {DOMRef, DOMRefValue, forwardRefType, GlobalDOMAttributes, Key, LoadingState} from '@react-types/shared';\nimport {focusRing, style} from '../style' with {type: 'macro'};\nimport {getAllowedOverrides, StylesPropWithHeight, UnsafeStyles} from './style-utils' with {type: 'macro'};\nimport {GridLayout, Size, Virtualizer, WaterfallLayout} from 'react-aria-components/Virtualizer';\nimport {ImageCoordinator} from './ImageCoordinator';\nimport {useActionBarContainer} from './ActionBar';\nimport {useDOMRef} from './useDOMRef';\nimport {useEffectEvent} from 'react-aria/private/utils/useEffectEvent';\nimport {useLayoutEffect} from 'react-aria/private/utils/useLayoutEffect';\nimport {useResizeObserver} from 'react-aria/private/utils/useResizeObserver';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\nexport interface CardViewProps<T> extends Omit<GridListProps<T>, 'layout' | 'keyboardNavigationBehavior' | 'selectionBehavior' | 'className' | 'style' | 'render' | 'isLoading' | keyof GlobalDOMAttributes>, UnsafeStyles {\n /**\n * The layout of the cards.\n * @default 'grid'\n */\n layout?: 'grid' | 'waterfall',\n /**\n * The size of the cards.\n * @default 'M'\n */\n size?: 'XS' | 'S' | 'M' | 'L' | 'XL',\n /**\n * The amount of space between the cards.\n * @default 'regular'\n */\n density?: 'compact' | 'regular' | 'spacious',\n /**\n * The visual style of the cards.\n * @default 'primary'\n */\n variant?: 'primary' | 'secondary' | 'tertiary' | 'quiet',\n /**\n * How selection should be displayed.\n * @default 'checkbox'\n */\n selectionStyle?: 'checkbox' | 'highlight',\n /** The loading state of the CardView. */\n loadingState?: LoadingState,\n /** Handler that is called when more items should be loaded, e.g. while scrolling near the bottom. */\n onLoadMore?: () => void,\n /** Spectrum-defined styles, returned by the `style()` macro. */\n styles?: StylesPropWithHeight,\n /** Provides the ActionBar to render when cards are selected in the CardView. */\n renderActionBar?: (selectedKeys: 'all' | Set<Key>) => ReactElement\n}\n\nconst layoutOptions = {\n XS: {\n compact: {\n minSpace: new Size(6, 6),\n minItemSize: new Size(100, 100),\n maxItemSize: new Size(140, 140)\n },\n regular: {\n minSpace: new Size(8, 8),\n minItemSize: new Size(100, 100),\n maxItemSize: new Size(140, 140)\n },\n spacious: {\n minSpace: new Size(12, 12),\n minItemSize: new Size(100, 100),\n maxItemSize: new Size(140, 140)\n }\n },\n S: {\n compact: {\n minSpace: new Size(8, 8),\n minItemSize: new Size(150, 150),\n maxItemSize: new Size(210, 210)\n },\n regular: {\n minSpace: new Size(12, 12),\n minItemSize: new Size(150, 150),\n maxItemSize: new Size(210, 210)\n },\n spacious: {\n minSpace: new Size(16, 16),\n minItemSize: new Size(150, 150),\n maxItemSize: new Size(210, 210)\n }\n },\n M: {\n compact: {\n minSpace: new Size(12, 12),\n minItemSize: new Size(200, 200),\n maxItemSize: new Size(280, 280)\n },\n regular: {\n minSpace: new Size(16, 16),\n minItemSize: new Size(200, 200),\n maxItemSize: new Size(280, 280)\n },\n spacious: {\n minSpace: new Size(20, 20),\n minItemSize: new Size(200, 200),\n maxItemSize: new Size(280, 280)\n }\n },\n L: {\n compact: {\n minSpace: new Size(16, 16),\n minItemSize: new Size(270, 270),\n maxItemSize: new Size(370, 370)\n },\n regular: {\n minSpace: new Size(20, 20),\n minItemSize: new Size(270, 270),\n maxItemSize: new Size(370, 370)\n },\n spacious: {\n minSpace: new Size(24, 24),\n minItemSize: new Size(270, 270),\n maxItemSize: new Size(370, 370)\n }\n },\n XL: {\n compact: {\n minSpace: new Size(20, 20),\n minItemSize: new Size(340, 340),\n maxItemSize: new Size(460, 460)\n },\n regular: {\n minSpace: new Size(24, 24),\n minItemSize: new Size(340, 340),\n maxItemSize: new Size(460, 460)\n },\n spacious: {\n minSpace: new Size(28, 28),\n minItemSize: new Size(340, 340),\n maxItemSize: new Size(460, 460)\n }\n }\n};\n\nconst SIZES = ['XS', 'S', 'M', 'L', 'XL'] as const;\n\nconst cardViewStyles = style({\n overflowY: {\n default: 'auto',\n isLoading: 'hidden'\n },\n display: {\n isEmpty: 'flex'\n },\n boxSizing: 'border-box',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n ...focusRing(),\n outlineStyle: {\n default: 'none',\n isEmpty: {\n isFocusVisible: 'solid'\n }\n },\n outlineOffset: -2,\n height: {\n isActionBar: 'full'\n }\n}, getAllowedOverrides({height: true}));\n\nconst wrapperStyles = style({\n position: 'relative',\n overflow: 'clip'\n}, getAllowedOverrides({height: true}));\n\nexport const CardViewContext = createContext<ContextValue<Partial<CardViewProps<any>>, DOMRefValue<HTMLDivElement>>>(null);\n\n/**\n * A CardView displays a group of related objects, with support for selection and bulk actions.\n */\nexport const CardView = /*#__PURE__*/ (forwardRef as forwardRefType)(function CardView<T extends object>(props: CardViewProps<T>, ref: DOMRef<HTMLDivElement>) {\n [props, ref] = useSpectrumContextProps(props, ref, CardViewContext);\n let {\n children,\n layout: layoutName = 'grid',\n size: sizeProp = 'M',\n density = 'regular',\n variant = 'primary',\n selectionStyle = 'checkbox',\n UNSAFE_className = '',\n UNSAFE_style,\n styles,\n loadingState,\n onLoadMore,\n items,\n renderEmptyState: renderEmptyStateProp,\n ...otherProps} = props;\n let domRef = useDOMRef(ref);\n let innerRef = useRef(null);\n let scrollRef = props.renderActionBar ? innerRef : domRef;\n\n // This calculates the maximum t-shirt size where at least two columns fit in the available width.\n let [maxSizeIndex, setMaxSizeIndex] = useState(SIZES.length - 1);\n let updateSize = useCallback(() => {\n let w = scrollRef.current?.clientWidth ?? 0;\n let i = SIZES.length - 1;\n while (i > 0) {\n let opts = layoutOptions[SIZES[i]][density];\n if (w >= opts.minItemSize.width * 2 + opts.minSpace.width * 3) {\n break;\n }\n i--;\n }\n setMaxSizeIndex(i);\n }, [scrollRef, density]);\n let updateSizeEvent = useEffectEvent(updateSize);\n\n useResizeObserver({\n ref: scrollRef,\n box: 'border-box',\n onResize: updateSize\n });\n\n useLayoutEffect(() => {\n updateSizeEvent();\n }, []);\n\n // The actual rendered t-shirt size is the minimum between the size prop and the maximum possible size.\n let size = SIZES[Math.min(maxSizeIndex, SIZES.indexOf(sizeProp))];\n let layout = layoutName === 'waterfall' ? WaterfallLayout : GridLayout;\n let options = layoutOptions[size][density];\n\n let ctx = useMemo(() => ({size, variant}), [size, variant]);\n\n let {selectedKeys, onSelectionChange, actionBar, actionBarHeight} = useActionBarContainer({...props, scrollRef});\n\n let isLoading = loadingState === 'loading' || loadingState === 'loadingMore';\n let renderer;\n let cardLoadingSentinel = (\n <GridListLoadMoreItem\n isLoading={isLoading}\n onLoadMore={onLoadMore} />\n );\n\n if (typeof children === 'function' && items) {\n renderer = (\n <>\n <Collection items={items} dependencies={props.dependencies}>\n {children}\n </Collection>\n {cardLoadingSentinel}\n </>\n );\n } else {\n renderer = (\n <>\n {children}\n {cardLoadingSentinel}\n </>\n );\n }\n\n // Wrap the renderEmptyState function so that it is not called when there is a skeleton loader.\n let renderEmptyState = renderEmptyStateProp ? (renderProps: GridListRenderProps) => {\n let collection = renderProps.state.collection;\n let firstKey = collection.getFirstKey();\n if (firstKey == null || collection.getItem(firstKey)?.type !== 'skeleton') {\n return renderEmptyStateProp(renderProps);\n }\n } : undefined;\n\n let cardViewCtx = useMemo(() => ({\n layout: layoutName,\n ElementType: GridListItem\n }), [layoutName]);\n\n let cardView = (\n <Virtualizer layout={layout} layoutOptions={options}>\n <InternalCardViewContext.Provider value={cardViewCtx}>\n <CardContext.Provider value={ctx}>\n <ImageCoordinator>\n <AriaGridList\n ref={scrollRef}\n {...otherProps}\n renderEmptyState={renderEmptyState}\n items={items}\n layout=\"grid\"\n selectionBehavior={selectionStyle === 'highlight' ? 'replace' : 'toggle'}\n selectedKeys={selectedKeys}\n defaultSelectedKeys={undefined}\n onSelectionChange={onSelectionChange}\n style={{\n ...(!props.renderActionBar ? UNSAFE_style : {}),\n // Add padding at the bottom when the action bar is visible so users can scroll to the last items.\n // Also add scroll padding so keyboard navigating preserves the padding.\n paddingBottom: actionBarHeight > 0 ? actionBarHeight + options.minSpace.height : 0,\n scrollPadding: options.minSpace.height,\n scrollPaddingBottom: actionBarHeight + options.minSpace.height\n }}\n className={renderProps => (!props.renderActionBar ? UNSAFE_className : '') + cardViewStyles({...renderProps, isLoading: props.loadingState === 'loading', isActionBar: !!props.renderActionBar}, !props.renderActionBar ? styles : undefined)}>\n {renderer}\n </AriaGridList>\n </ImageCoordinator>\n </CardContext.Provider>\n </InternalCardViewContext.Provider>\n </Virtualizer>\n );\n\n // Add extra wrapper if there is an action bar so we can position relative to it.\n // ActionBar cannot be inside the GridList due to ARIA and focus management requirements.\n if (props.renderActionBar) {\n return (\n <div ref={domRef} className={UNSAFE_className + wrapperStyles(null, styles)} style={UNSAFE_style}>\n {cardView}\n {actionBar}\n </div>\n );\n }\n\n return cardView;\n});\n"],"names":[],"version":3,"file":"CardView.mjs.map"}
1
+ {"mappings":"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","sources":["packages/@react-spectrum/s2/src/CardView.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 {\n GridList as AriaGridList,\n GridListItem,\n GridListLoadMoreItem,\n GridListProps,\n GridListRenderProps\n} from 'react-aria-components/GridList';\n\nimport {CardContext, InternalCardViewContext} from './Card';\nimport {Collection} from 'react-aria/Collection';\nimport {ContextValue} from 'react-aria-components/slots';\nimport {\n createContext,\n forwardRef,\n ReactElement,\n useCallback,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport {\n DOMRef,\n DOMRefValue,\n forwardRefType,\n GlobalDOMAttributes,\n Key,\n LoadingState\n} from '@react-types/shared';\nimport {focusRing, style} from '../style' with {type: 'macro'};\nimport {\n getAllowedOverrides,\n StylesPropWithHeight,\n UnsafeStyles\n} from './style-utils' with {type: 'macro'};\nimport {GridLayout, Size, Virtualizer, WaterfallLayout} from 'react-aria-components/Virtualizer';\nimport {ImageCoordinator} from './ImageCoordinator';\nimport {useActionBarContainer} from './ActionBar';\nimport {useDOMRef} from './useDOMRef';\nimport {useEffectEvent} from 'react-aria/private/utils/useEffectEvent';\nimport {useLayoutEffect} from 'react-aria/private/utils/useLayoutEffect';\nimport {useResizeObserver} from 'react-aria/private/utils/useResizeObserver';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\nexport interface CardViewProps<T>\n extends\n Omit<\n GridListProps<T>,\n | 'layout'\n | 'keyboardNavigationBehavior'\n | 'selectionBehavior'\n | 'className'\n | 'style'\n | 'render'\n | 'isLoading'\n | keyof GlobalDOMAttributes\n >,\n UnsafeStyles {\n /**\n * The layout of the cards.\n *\n * @default 'grid'\n */\n layout?: 'grid' | 'waterfall';\n /**\n * The size of the cards.\n *\n * @default 'M'\n */\n size?: 'XS' | 'S' | 'M' | 'L' | 'XL';\n /**\n * The amount of space between the cards.\n *\n * @default 'regular'\n */\n density?: 'compact' | 'regular' | 'spacious';\n /**\n * The visual style of the cards.\n *\n * @default 'primary'\n */\n variant?: 'primary' | 'secondary' | 'tertiary' | 'quiet';\n /**\n * How selection should be displayed.\n *\n * @default 'checkbox'\n */\n selectionStyle?: 'checkbox' | 'highlight';\n /** The loading state of the CardView. */\n loadingState?: LoadingState;\n /** Handler that is called when more items should be loaded, e.g. while scrolling near the bottom. */\n onLoadMore?: () => void;\n /** Spectrum-defined styles, returned by the `style()` macro. */\n styles?: StylesPropWithHeight;\n /** Provides the ActionBar to render when cards are selected in the CardView. */\n renderActionBar?: (selectedKeys: 'all' | Set<Key>) => ReactElement;\n}\n\nconst layoutOptions = {\n XS: {\n compact: {\n minSpace: new Size(6, 6),\n minItemSize: new Size(100, 100),\n maxItemSize: new Size(140, 140)\n },\n regular: {\n minSpace: new Size(8, 8),\n minItemSize: new Size(100, 100),\n maxItemSize: new Size(140, 140)\n },\n spacious: {\n minSpace: new Size(12, 12),\n minItemSize: new Size(100, 100),\n maxItemSize: new Size(140, 140)\n }\n },\n S: {\n compact: {\n minSpace: new Size(8, 8),\n minItemSize: new Size(150, 150),\n maxItemSize: new Size(210, 210)\n },\n regular: {\n minSpace: new Size(12, 12),\n minItemSize: new Size(150, 150),\n maxItemSize: new Size(210, 210)\n },\n spacious: {\n minSpace: new Size(16, 16),\n minItemSize: new Size(150, 150),\n maxItemSize: new Size(210, 210)\n }\n },\n M: {\n compact: {\n minSpace: new Size(12, 12),\n minItemSize: new Size(200, 200),\n maxItemSize: new Size(280, 280)\n },\n regular: {\n minSpace: new Size(16, 16),\n minItemSize: new Size(200, 200),\n maxItemSize: new Size(280, 280)\n },\n spacious: {\n minSpace: new Size(20, 20),\n minItemSize: new Size(200, 200),\n maxItemSize: new Size(280, 280)\n }\n },\n L: {\n compact: {\n minSpace: new Size(16, 16),\n minItemSize: new Size(270, 270),\n maxItemSize: new Size(370, 370)\n },\n regular: {\n minSpace: new Size(20, 20),\n minItemSize: new Size(270, 270),\n maxItemSize: new Size(370, 370)\n },\n spacious: {\n minSpace: new Size(24, 24),\n minItemSize: new Size(270, 270),\n maxItemSize: new Size(370, 370)\n }\n },\n XL: {\n compact: {\n minSpace: new Size(20, 20),\n minItemSize: new Size(340, 340),\n maxItemSize: new Size(460, 460)\n },\n regular: {\n minSpace: new Size(24, 24),\n minItemSize: new Size(340, 340),\n maxItemSize: new Size(460, 460)\n },\n spacious: {\n minSpace: new Size(28, 28),\n minItemSize: new Size(340, 340),\n maxItemSize: new Size(460, 460)\n }\n }\n};\n\nconst SIZES = ['XS', 'S', 'M', 'L', 'XL'] as const;\n\nconst cardViewStyles = style(\n {\n overflowY: {\n default: 'auto',\n isLoading: 'hidden'\n },\n display: {\n isEmpty: 'flex'\n },\n boxSizing: 'border-box',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n ...focusRing(),\n outlineStyle: {\n default: 'none',\n isEmpty: {\n isFocusVisible: 'solid'\n }\n },\n outlineOffset: -2,\n height: {\n isActionBar: 'full'\n }\n },\n getAllowedOverrides({height: true})\n);\n\nconst wrapperStyles = style(\n {\n position: 'relative',\n overflow: 'clip'\n },\n getAllowedOverrides({height: true})\n);\n\nexport const CardViewContext =\n createContext<ContextValue<Partial<CardViewProps<any>>, DOMRefValue<HTMLDivElement>>>(null);\n\n/**\n * A CardView displays a group of related objects, with support for selection and bulk actions.\n */\nexport const CardView = /*#__PURE__*/ (forwardRef as forwardRefType)(function CardView<T>(\n props: CardViewProps<T>,\n ref: DOMRef<HTMLDivElement>\n) {\n [props, ref] = useSpectrumContextProps(props, ref, CardViewContext);\n let {\n children,\n layout: layoutName = 'grid',\n size: sizeProp = 'M',\n density = 'regular',\n variant = 'primary',\n selectionStyle = 'checkbox',\n UNSAFE_className = '',\n UNSAFE_style,\n styles,\n loadingState,\n onLoadMore,\n items,\n renderEmptyState: renderEmptyStateProp,\n ...otherProps\n } = props;\n let domRef = useDOMRef(ref);\n let innerRef = useRef(null);\n let scrollRef = props.renderActionBar ? innerRef : domRef;\n\n // This calculates the maximum t-shirt size where at least two columns fit in the available width.\n let [maxSizeIndex, setMaxSizeIndex] = useState(SIZES.length - 1);\n let updateSize = useCallback(() => {\n let w = scrollRef.current?.clientWidth ?? 0;\n let i = SIZES.length - 1;\n while (i > 0) {\n let opts = layoutOptions[SIZES[i]][density];\n if (w >= opts.minItemSize.width * 2 + opts.minSpace.width * 3) {\n break;\n }\n i--;\n }\n setMaxSizeIndex(i);\n }, [scrollRef, density]);\n let updateSizeEvent = useEffectEvent(updateSize);\n\n useResizeObserver({\n ref: scrollRef,\n box: 'border-box',\n onResize: updateSize\n });\n\n useLayoutEffect(() => {\n updateSizeEvent();\n }, []);\n\n // The actual rendered t-shirt size is the minimum between the size prop and the maximum possible size.\n let size = SIZES[Math.min(maxSizeIndex, SIZES.indexOf(sizeProp))];\n let layout = layoutName === 'waterfall' ? WaterfallLayout : GridLayout;\n let options = layoutOptions[size][density];\n\n let ctx = useMemo(() => ({size, variant}), [size, variant]);\n\n let {selectedKeys, onSelectionChange, actionBar, actionBarHeight} = useActionBarContainer({\n ...props,\n scrollRef\n });\n\n let isLoading = loadingState === 'loading' || loadingState === 'loadingMore';\n let renderer;\n let cardLoadingSentinel = <GridListLoadMoreItem isLoading={isLoading} onLoadMore={onLoadMore} />;\n\n if (typeof children === 'function' && items) {\n renderer = (\n <>\n <Collection items={items} dependencies={props.dependencies}>\n {children}\n </Collection>\n {cardLoadingSentinel}\n </>\n );\n } else {\n renderer = (\n <>\n {children}\n {cardLoadingSentinel}\n </>\n );\n }\n\n // Wrap the renderEmptyState function so that it is not called when there is a skeleton loader.\n let renderEmptyState = renderEmptyStateProp\n ? (renderProps: GridListRenderProps) => {\n let collection = renderProps.state.collection;\n let firstKey = collection.getFirstKey();\n if (firstKey == null || collection.getItem(firstKey)?.type !== 'skeleton') {\n return renderEmptyStateProp(renderProps);\n }\n }\n : undefined;\n\n let cardViewCtx = useMemo(\n () => ({\n layout: layoutName,\n ElementType: GridListItem\n }),\n [layoutName]\n );\n\n let cardView = (\n <Virtualizer layout={layout} layoutOptions={options}>\n <InternalCardViewContext.Provider value={cardViewCtx}>\n <CardContext.Provider value={ctx}>\n <ImageCoordinator>\n <AriaGridList\n ref={scrollRef}\n {...otherProps}\n renderEmptyState={renderEmptyState}\n items={items}\n layout=\"grid\"\n selectionBehavior={selectionStyle === 'highlight' ? 'replace' : 'toggle'}\n selectedKeys={selectedKeys}\n defaultSelectedKeys={undefined}\n onSelectionChange={onSelectionChange}\n style={{\n ...(!props.renderActionBar ? UNSAFE_style : {}),\n // Add padding at the bottom when the action bar is visible so users can scroll to the last items.\n // Also add scroll padding so keyboard navigating preserves the padding.\n paddingBottom: actionBarHeight > 0 ? actionBarHeight + options.minSpace.height : 0,\n scrollPadding: options.minSpace.height,\n scrollPaddingBottom: actionBarHeight + options.minSpace.height\n }}\n className={renderProps =>\n (!props.renderActionBar ? UNSAFE_className : '') +\n cardViewStyles(\n {\n ...renderProps,\n isLoading: props.loadingState === 'loading',\n isActionBar: !!props.renderActionBar\n },\n !props.renderActionBar ? styles : undefined\n )\n }>\n {renderer}\n </AriaGridList>\n </ImageCoordinator>\n </CardContext.Provider>\n </InternalCardViewContext.Provider>\n </Virtualizer>\n );\n\n // Add extra wrapper if there is an action bar so we can position relative to it.\n // ActionBar cannot be inside the GridList due to ARIA and focus management requirements.\n if (props.renderActionBar) {\n return (\n <div\n ref={domRef}\n className={UNSAFE_className + wrapperStyles(null, styles)}\n style={UNSAFE_style}>\n {cardView}\n {actionBar}\n </div>\n );\n }\n\n return cardView;\n});\n"],"names":[],"version":3,"file":"CardView.mjs.map"}
@@ -1,6 +1,7 @@
1
1
  require("./CenterBaseline.css");
2
2
  var $308b180f49d82d28$exports = require("../../icons/runtime.cjs");
3
3
  var $5B7cg$reactjsxruntime = require("react/jsx-runtime");
4
+ var $5B7cg$reactariafilterDOMProps = require("react-aria/filterDOMProps");
4
5
 
5
6
 
6
7
  function $parcel$export(e, n, v, s) {
@@ -22,9 +23,12 @@ $parcel$export(module.exports, "centerBaseline", () => $e991cbcdf82ced71$export$
22
23
  * governing permissions and limitations under the License.
23
24
  */
24
25
 
25
- const $e991cbcdf82ced71$var$styles = " sd13 eb13";
26
+
27
+ const $e991cbcdf82ced71$var$styles = " sd131 eb131";
26
28
  function $e991cbcdf82ced71$export$768dac55bb57081d(props) {
29
+ let domProps = (0, $5B7cg$reactariafilterDOMProps.filterDOMProps)(props);
27
30
  return /*#__PURE__*/ (0, $5B7cg$reactjsxruntime.jsx)("div", {
31
+ ...domProps,
28
32
  slot: props.slot,
29
33
  style: props.style,
30
34
  className: (0, $308b180f49d82d28$exports.mergeStyles)($e991cbcdf82ced71$var$styles, props.styles) + ' ' + $e991cbcdf82ced71$export$179e9489a09b14ac,