@react-spectrum/s2 1.1.0 → 1.2.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 (427) hide show
  1. package/dist/Accordion.cjs +2 -2
  2. package/dist/Accordion.css +2 -2
  3. package/dist/Accordion.mjs +2 -2
  4. package/dist/ActionBar.cjs +59 -59
  5. package/dist/ActionBar.css +58 -58
  6. package/dist/ActionBar.mjs +59 -59
  7. package/dist/ActionButton.cjs +233 -233
  8. package/dist/ActionButton.css +160 -160
  9. package/dist/ActionButton.mjs +233 -233
  10. package/dist/ActionButtonGroup.cjs +15 -15
  11. package/dist/ActionButtonGroup.css +9 -9
  12. package/dist/ActionButtonGroup.mjs +15 -15
  13. package/dist/Add.cjs +10 -10
  14. package/dist/Add.css +6 -6
  15. package/dist/Add.mjs +10 -10
  16. package/dist/AlertDialog.cjs +3 -3
  17. package/dist/AlertDialog.css +3 -3
  18. package/dist/AlertDialog.mjs +3 -3
  19. package/dist/Asterisk.cjs +6 -6
  20. package/dist/Asterisk.css +4 -4
  21. package/dist/Asterisk.mjs +6 -6
  22. package/dist/Avatar.cjs +16 -16
  23. package/dist/Avatar.css +16 -16
  24. package/dist/Avatar.mjs +16 -16
  25. package/dist/AvatarGroup.cjs +120 -120
  26. package/dist/AvatarGroup.css +31 -31
  27. package/dist/AvatarGroup.mjs +120 -120
  28. package/dist/Badge.cjs +196 -196
  29. package/dist/Badge.css +125 -125
  30. package/dist/Badge.mjs +196 -196
  31. package/dist/Breadcrumbs.cjs +234 -234
  32. package/dist/Breadcrumbs.css +100 -100
  33. package/dist/Breadcrumbs.mjs +234 -234
  34. package/dist/Button.cjs +332 -332
  35. package/dist/Button.css +174 -174
  36. package/dist/Button.mjs +332 -332
  37. package/dist/ButtonGroup.cjs +20 -20
  38. package/dist/ButtonGroup.css +15 -15
  39. package/dist/ButtonGroup.mjs +20 -20
  40. package/dist/Calendar.cjs +168 -168
  41. package/dist/Calendar.css +134 -134
  42. package/dist/Calendar.mjs +168 -168
  43. package/dist/Card.cjs +309 -309
  44. package/dist/Card.css +206 -206
  45. package/dist/Card.mjs +309 -309
  46. package/dist/CardView.cjs +17 -17
  47. package/dist/CardView.css +17 -17
  48. package/dist/CardView.mjs +17 -17
  49. package/dist/CenterBaseline.cjs +1 -1
  50. package/dist/CenterBaseline.css +2 -2
  51. package/dist/CenterBaseline.mjs +1 -1
  52. package/dist/Checkbox.cjs +161 -161
  53. package/dist/Checkbox.css +92 -92
  54. package/dist/Checkbox.mjs +161 -161
  55. package/dist/CheckboxGroup.cjs +43 -43
  56. package/dist/CheckboxGroup.css +37 -37
  57. package/dist/CheckboxGroup.mjs +43 -43
  58. package/dist/Checkmark.cjs +12 -12
  59. package/dist/Checkmark.css +8 -8
  60. package/dist/Checkmark.mjs +12 -12
  61. package/dist/Chevron.cjs +12 -12
  62. package/dist/Chevron.css +10 -10
  63. package/dist/Chevron.mjs +12 -12
  64. package/dist/ClearButton.cjs +30 -30
  65. package/dist/ClearButton.css +30 -30
  66. package/dist/ClearButton.mjs +30 -30
  67. package/dist/CloseButton.cjs +55 -55
  68. package/dist/CloseButton.css +47 -47
  69. package/dist/CloseButton.mjs +55 -55
  70. package/dist/ColorArea.cjs +16 -16
  71. package/dist/ColorArea.css +16 -16
  72. package/dist/ColorArea.mjs +16 -16
  73. package/dist/ColorField.cjs +31 -31
  74. package/dist/ColorField.css +27 -27
  75. package/dist/ColorField.mjs +31 -31
  76. package/dist/ColorHandle.cjs +27 -27
  77. package/dist/ColorHandle.css +42 -42
  78. package/dist/ColorHandle.mjs +27 -27
  79. package/dist/ColorSlider.cjs +108 -108
  80. package/dist/ColorSlider.css +52 -52
  81. package/dist/ColorSlider.mjs +108 -108
  82. package/dist/ColorSwatch.cjs +29 -29
  83. package/dist/ColorSwatch.css +29 -29
  84. package/dist/ColorSwatch.mjs +29 -29
  85. package/dist/ColorSwatchPicker.cjs +29 -29
  86. package/dist/ColorSwatchPicker.css +48 -48
  87. package/dist/ColorSwatchPicker.mjs +29 -29
  88. package/dist/ColorWheel.cjs +26 -26
  89. package/dist/ColorWheel.css +17 -17
  90. package/dist/ColorWheel.mjs +26 -26
  91. package/dist/ComboBox.cjs +381 -381
  92. package/dist/ComboBox.cjs.map +1 -1
  93. package/dist/ComboBox.css +187 -187
  94. package/dist/ComboBox.css.map +1 -1
  95. package/dist/ComboBox.mjs +381 -381
  96. package/dist/ComboBox.mjs.map +1 -1
  97. package/dist/ContextualHelp.cjs +70 -41
  98. package/dist/ContextualHelp.cjs.map +1 -1
  99. package/dist/ContextualHelp.css +71 -71
  100. package/dist/ContextualHelp.css.map +1 -1
  101. package/dist/ContextualHelp.mjs +74 -46
  102. package/dist/ContextualHelp.mjs.map +1 -1
  103. package/dist/Cross.cjs +14 -14
  104. package/dist/Cross.css +10 -10
  105. package/dist/Cross.mjs +14 -14
  106. package/dist/CustomDialog.cjs +25 -25
  107. package/dist/CustomDialog.css +25 -25
  108. package/dist/CustomDialog.mjs +25 -25
  109. package/dist/Dash.cjs +10 -10
  110. package/dist/Dash.css +6 -6
  111. package/dist/Dash.mjs +10 -10
  112. package/dist/DateField.cjs +73 -73
  113. package/dist/DateField.css +77 -77
  114. package/dist/DateField.mjs +73 -73
  115. package/dist/DatePicker.cjs +172 -172
  116. package/dist/DatePicker.css +128 -128
  117. package/dist/DatePicker.mjs +172 -172
  118. package/dist/DateRangePicker.cjs +55 -55
  119. package/dist/DateRangePicker.css +59 -59
  120. package/dist/DateRangePicker.mjs +55 -55
  121. package/dist/Dialog.cjs +17 -17
  122. package/dist/Dialog.css +70 -70
  123. package/dist/Dialog.mjs +17 -17
  124. package/dist/Disclosure.cjs +119 -119
  125. package/dist/Disclosure.css +112 -112
  126. package/dist/Disclosure.mjs +119 -119
  127. package/dist/Divider.cjs +25 -25
  128. package/dist/Divider.css +25 -25
  129. package/dist/Divider.mjs +25 -25
  130. package/dist/DropZone.cjs +61 -61
  131. package/dist/DropZone.css +57 -57
  132. package/dist/DropZone.mjs +61 -61
  133. package/dist/Field.cjs +351 -351
  134. package/dist/Field.cjs.map +1 -1
  135. package/dist/Field.css +147 -147
  136. package/dist/Field.css.map +1 -1
  137. package/dist/Field.mjs +351 -351
  138. package/dist/Field.mjs.map +1 -1
  139. package/dist/Form.cjs +9 -9
  140. package/dist/Form.css +9 -9
  141. package/dist/Form.mjs +9 -9
  142. package/dist/FullscreenDialog.cjs +5 -5
  143. package/dist/FullscreenDialog.css +78 -78
  144. package/dist/FullscreenDialog.mjs +5 -5
  145. package/dist/IllustratedMessage.cjs +228 -228
  146. package/dist/IllustratedMessage.css +72 -72
  147. package/dist/IllustratedMessage.mjs +228 -228
  148. package/dist/Image.cjs +14 -14
  149. package/dist/Image.css +14 -14
  150. package/dist/Image.mjs +14 -14
  151. package/dist/InlineAlert.cjs +100 -100
  152. package/dist/InlineAlert.css +76 -76
  153. package/dist/InlineAlert.mjs +100 -100
  154. package/dist/Link.cjs +49 -49
  155. package/dist/Link.css +41 -41
  156. package/dist/Link.mjs +49 -49
  157. package/dist/LinkOut.cjs +8 -8
  158. package/dist/LinkOut.css +8 -8
  159. package/dist/LinkOut.mjs +8 -8
  160. package/dist/ListView.cjs +777 -0
  161. package/dist/ListView.cjs.map +1 -0
  162. package/dist/ListView.css +740 -0
  163. package/dist/ListView.css.map +1 -0
  164. package/dist/ListView.mjs +770 -0
  165. package/dist/ListView.mjs.map +1 -0
  166. package/dist/Menu.cjs +529 -437
  167. package/dist/Menu.cjs.map +1 -1
  168. package/dist/Menu.css +234 -190
  169. package/dist/Menu.css.map +1 -1
  170. package/dist/Menu.mjs +530 -439
  171. package/dist/Menu.mjs.map +1 -1
  172. package/dist/Meter.cjs +153 -153
  173. package/dist/Meter.css +91 -91
  174. package/dist/Meter.mjs +153 -153
  175. package/dist/Modal.cjs +66 -66
  176. package/dist/Modal.css +54 -54
  177. package/dist/Modal.mjs +66 -66
  178. package/dist/NotificationBadge.cjs +56 -56
  179. package/dist/NotificationBadge.css +49 -49
  180. package/dist/NotificationBadge.mjs +56 -56
  181. package/dist/NumberField.cjs +114 -114
  182. package/dist/NumberField.css +99 -99
  183. package/dist/NumberField.mjs +114 -114
  184. package/dist/Picker.cjs +336 -284
  185. package/dist/Picker.cjs.map +1 -1
  186. package/dist/Picker.css +173 -173
  187. package/dist/Picker.css.map +1 -1
  188. package/dist/Picker.mjs +338 -286
  189. package/dist/Picker.mjs.map +1 -1
  190. package/dist/Popover.cjs +87 -87
  191. package/dist/Popover.css +70 -70
  192. package/dist/Popover.mjs +87 -87
  193. package/dist/ProgressBar.cjs +163 -163
  194. package/dist/ProgressBar.css +99 -99
  195. package/dist/ProgressBar.mjs +163 -163
  196. package/dist/ProgressCircle.cjs +31 -31
  197. package/dist/ProgressCircle.css +24 -24
  198. package/dist/ProgressCircle.mjs +31 -31
  199. package/dist/Provider.cjs +11 -11
  200. package/dist/Provider.css +10 -10
  201. package/dist/Provider.mjs +11 -11
  202. package/dist/Radio.cjs +145 -145
  203. package/dist/Radio.css +78 -78
  204. package/dist/Radio.mjs +145 -145
  205. package/dist/RadioGroup.cjs +41 -41
  206. package/dist/RadioGroup.css +37 -37
  207. package/dist/RadioGroup.mjs +41 -41
  208. package/dist/RangeCalendar.cjs +7 -7
  209. package/dist/RangeCalendar.css +10 -10
  210. package/dist/RangeCalendar.mjs +7 -7
  211. package/dist/SearchField.cjs +41 -41
  212. package/dist/SearchField.css +45 -45
  213. package/dist/SearchField.mjs +41 -41
  214. package/dist/SegmentedControl.cjs +178 -178
  215. package/dist/SegmentedControl.css +123 -123
  216. package/dist/SegmentedControl.mjs +178 -178
  217. package/dist/SelectBoxGroup.cjs +142 -142
  218. package/dist/SelectBoxGroup.css +120 -120
  219. package/dist/SelectBoxGroup.mjs +142 -142
  220. package/dist/Slider.cjs +294 -294
  221. package/dist/Slider.css +154 -154
  222. package/dist/Slider.mjs +294 -294
  223. package/dist/StatusLight.cjs +115 -115
  224. package/dist/StatusLight.css +59 -59
  225. package/dist/StatusLight.mjs +115 -115
  226. package/dist/Switch.cjs +154 -154
  227. package/dist/Switch.css +74 -74
  228. package/dist/Switch.mjs +154 -154
  229. package/dist/TableView.cjs +444 -420
  230. package/dist/TableView.cjs.map +1 -1
  231. package/dist/TableView.css +232 -204
  232. package/dist/TableView.css.map +1 -1
  233. package/dist/TableView.mjs +446 -422
  234. package/dist/TableView.mjs.map +1 -1
  235. package/dist/Tabs.cjs +123 -123
  236. package/dist/Tabs.css +105 -105
  237. package/dist/Tabs.mjs +123 -123
  238. package/dist/TabsPicker.cjs +127 -127
  239. package/dist/TabsPicker.css +108 -108
  240. package/dist/TabsPicker.mjs +127 -127
  241. package/dist/TagGroup.cjs +203 -203
  242. package/dist/TagGroup.css +146 -146
  243. package/dist/TagGroup.mjs +203 -203
  244. package/dist/TextField.cjs +58 -58
  245. package/dist/TextField.css +54 -54
  246. package/dist/TextField.mjs +58 -58
  247. package/dist/TimeField.cjs +51 -51
  248. package/dist/TimeField.css +47 -47
  249. package/dist/TimeField.mjs +51 -51
  250. package/dist/Toast.cjs +121 -121
  251. package/dist/Toast.cjs.map +1 -1
  252. package/dist/Toast.css +110 -110
  253. package/dist/Toast.css.map +1 -1
  254. package/dist/Toast.mjs +122 -122
  255. package/dist/Toast.mjs.map +1 -1
  256. package/dist/ToggleButton.cjs +3 -3
  257. package/dist/ToggleButton.css +12 -12
  258. package/dist/ToggleButton.mjs +3 -3
  259. package/dist/Tooltip.cjs +78 -78
  260. package/dist/Tooltip.css +65 -65
  261. package/dist/Tooltip.mjs +78 -78
  262. package/dist/TreeView.cjs +179 -145
  263. package/dist/TreeView.cjs.map +1 -1
  264. package/dist/TreeView.css +140 -128
  265. package/dist/TreeView.css.map +1 -1
  266. package/dist/TreeView.mjs +179 -145
  267. package/dist/TreeView.mjs.map +1 -1
  268. package/dist/ar-AE.cjs +1 -0
  269. package/dist/ar-AE.cjs.map +1 -1
  270. package/dist/ar-AE.mjs +1 -0
  271. package/dist/ar-AE.mjs.map +1 -1
  272. package/dist/bg-BG.cjs +1 -0
  273. package/dist/bg-BG.cjs.map +1 -1
  274. package/dist/bg-BG.mjs +1 -0
  275. package/dist/bg-BG.mjs.map +1 -1
  276. package/dist/cs-CZ.cjs +1 -0
  277. package/dist/cs-CZ.cjs.map +1 -1
  278. package/dist/cs-CZ.mjs +1 -0
  279. package/dist/cs-CZ.mjs.map +1 -1
  280. package/dist/da-DK.cjs +1 -0
  281. package/dist/da-DK.cjs.map +1 -1
  282. package/dist/da-DK.mjs +1 -0
  283. package/dist/da-DK.mjs.map +1 -1
  284. package/dist/de-DE.cjs +1 -0
  285. package/dist/de-DE.cjs.map +1 -1
  286. package/dist/de-DE.mjs +1 -0
  287. package/dist/de-DE.mjs.map +1 -1
  288. package/dist/el-GR.cjs +1 -0
  289. package/dist/el-GR.cjs.map +1 -1
  290. package/dist/el-GR.mjs +1 -0
  291. package/dist/el-GR.mjs.map +1 -1
  292. package/dist/en-US.cjs +1 -0
  293. package/dist/en-US.cjs.map +1 -1
  294. package/dist/en-US.mjs +1 -0
  295. package/dist/en-US.mjs.map +1 -1
  296. package/dist/es-ES.cjs +1 -0
  297. package/dist/es-ES.cjs.map +1 -1
  298. package/dist/es-ES.mjs +1 -0
  299. package/dist/es-ES.mjs.map +1 -1
  300. package/dist/et-EE.cjs +1 -0
  301. package/dist/et-EE.cjs.map +1 -1
  302. package/dist/et-EE.mjs +1 -0
  303. package/dist/et-EE.mjs.map +1 -1
  304. package/dist/fi-FI.cjs +1 -0
  305. package/dist/fi-FI.cjs.map +1 -1
  306. package/dist/fi-FI.mjs +1 -0
  307. package/dist/fi-FI.mjs.map +1 -1
  308. package/dist/fr-FR.cjs +1 -0
  309. package/dist/fr-FR.cjs.map +1 -1
  310. package/dist/fr-FR.mjs +1 -0
  311. package/dist/fr-FR.mjs.map +1 -1
  312. package/dist/he-IL.cjs +1 -0
  313. package/dist/he-IL.cjs.map +1 -1
  314. package/dist/he-IL.mjs +1 -0
  315. package/dist/he-IL.mjs.map +1 -1
  316. package/dist/hr-HR.cjs +1 -0
  317. package/dist/hr-HR.cjs.map +1 -1
  318. package/dist/hr-HR.mjs +1 -0
  319. package/dist/hr-HR.mjs.map +1 -1
  320. package/dist/hu-HU.cjs +1 -0
  321. package/dist/hu-HU.cjs.map +1 -1
  322. package/dist/hu-HU.mjs +1 -0
  323. package/dist/hu-HU.mjs.map +1 -1
  324. package/dist/it-IT.cjs +1 -0
  325. package/dist/it-IT.cjs.map +1 -1
  326. package/dist/it-IT.mjs +1 -0
  327. package/dist/it-IT.mjs.map +1 -1
  328. package/dist/ja-JP.cjs +1 -0
  329. package/dist/ja-JP.cjs.map +1 -1
  330. package/dist/ja-JP.mjs +1 -0
  331. package/dist/ja-JP.mjs.map +1 -1
  332. package/dist/ko-KR.cjs +1 -0
  333. package/dist/ko-KR.cjs.map +1 -1
  334. package/dist/ko-KR.mjs +1 -0
  335. package/dist/ko-KR.mjs.map +1 -1
  336. package/dist/lt-LT.cjs +1 -0
  337. package/dist/lt-LT.cjs.map +1 -1
  338. package/dist/lt-LT.mjs +1 -0
  339. package/dist/lt-LT.mjs.map +1 -1
  340. package/dist/lv-LV.cjs +1 -0
  341. package/dist/lv-LV.cjs.map +1 -1
  342. package/dist/lv-LV.mjs +1 -0
  343. package/dist/lv-LV.mjs.map +1 -1
  344. package/dist/main.cjs +7 -0
  345. package/dist/main.cjs.map +1 -1
  346. package/dist/module.mjs +5 -3
  347. package/dist/module.mjs.map +1 -1
  348. package/dist/nb-NO.cjs +1 -0
  349. package/dist/nb-NO.cjs.map +1 -1
  350. package/dist/nb-NO.mjs +1 -0
  351. package/dist/nb-NO.mjs.map +1 -1
  352. package/dist/nl-NL.cjs +1 -0
  353. package/dist/nl-NL.cjs.map +1 -1
  354. package/dist/nl-NL.mjs +1 -0
  355. package/dist/nl-NL.mjs.map +1 -1
  356. package/dist/pl-PL.cjs +1 -0
  357. package/dist/pl-PL.cjs.map +1 -1
  358. package/dist/pl-PL.mjs +1 -0
  359. package/dist/pl-PL.mjs.map +1 -1
  360. package/dist/pt-BR.cjs +1 -0
  361. package/dist/pt-BR.cjs.map +1 -1
  362. package/dist/pt-BR.mjs +1 -0
  363. package/dist/pt-BR.mjs.map +1 -1
  364. package/dist/pt-PT.cjs +1 -0
  365. package/dist/pt-PT.cjs.map +1 -1
  366. package/dist/pt-PT.mjs +1 -0
  367. package/dist/pt-PT.mjs.map +1 -1
  368. package/dist/ro-RO.cjs +1 -0
  369. package/dist/ro-RO.cjs.map +1 -1
  370. package/dist/ro-RO.mjs +1 -0
  371. package/dist/ro-RO.mjs.map +1 -1
  372. package/dist/ru-RU.cjs +1 -0
  373. package/dist/ru-RU.cjs.map +1 -1
  374. package/dist/ru-RU.mjs +1 -0
  375. package/dist/ru-RU.mjs.map +1 -1
  376. package/dist/sk-SK.cjs +1 -0
  377. package/dist/sk-SK.cjs.map +1 -1
  378. package/dist/sk-SK.mjs +1 -0
  379. package/dist/sk-SK.mjs.map +1 -1
  380. package/dist/sl-SI.cjs +1 -0
  381. package/dist/sl-SI.cjs.map +1 -1
  382. package/dist/sl-SI.mjs +1 -0
  383. package/dist/sl-SI.mjs.map +1 -1
  384. package/dist/sr-SP.cjs +1 -0
  385. package/dist/sr-SP.cjs.map +1 -1
  386. package/dist/sr-SP.mjs +1 -0
  387. package/dist/sr-SP.mjs.map +1 -1
  388. package/dist/sv-SE.cjs +1 -0
  389. package/dist/sv-SE.cjs.map +1 -1
  390. package/dist/sv-SE.mjs +1 -0
  391. package/dist/sv-SE.mjs.map +1 -1
  392. package/dist/tr-TR.cjs +1 -0
  393. package/dist/tr-TR.cjs.map +1 -1
  394. package/dist/tr-TR.mjs +1 -0
  395. package/dist/tr-TR.mjs.map +1 -1
  396. package/dist/types.d.ts +77 -6
  397. package/dist/types.d.ts.map +1 -1
  398. package/dist/uk-UA.cjs +1 -0
  399. package/dist/uk-UA.cjs.map +1 -1
  400. package/dist/uk-UA.mjs +1 -0
  401. package/dist/uk-UA.mjs.map +1 -1
  402. package/dist/zh-CN.cjs +1 -0
  403. package/dist/zh-CN.cjs.map +1 -1
  404. package/dist/zh-CN.mjs +1 -0
  405. package/dist/zh-CN.mjs.map +1 -1
  406. package/dist/zh-TW.cjs +1 -0
  407. package/dist/zh-TW.cjs.map +1 -1
  408. package/dist/zh-TW.mjs +1 -0
  409. package/dist/zh-TW.mjs.map +1 -1
  410. package/icons/Icon.cjs +10 -10
  411. package/icons/Icon.css +9 -9
  412. package/icons/Icon.mjs +10 -10
  413. package/icons/Skeleton.cjs +2 -2
  414. package/icons/Skeleton.css +6 -6
  415. package/icons/Skeleton.mjs +2 -2
  416. package/package.json +21 -21
  417. package/src/ComboBox.tsx +4 -3
  418. package/src/ContextualHelp.tsx +81 -43
  419. package/src/Field.tsx +3 -3
  420. package/src/ListView.tsx +782 -0
  421. package/src/Menu.tsx +100 -16
  422. package/src/Picker.tsx +72 -11
  423. package/src/TableView.tsx +30 -12
  424. package/src/Toast.tsx +2 -2
  425. package/src/TreeView.tsx +43 -6
  426. package/src/index.ts +6 -3
  427. package/style/__tests__/style-macro.test.js +69 -69
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["packages/@react-spectrum/s2/src/ListView.tsx"],"sourcesContent":["/*\n * Copyright 2026 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 {ActionButtonGroupContext} from './ActionButtonGroup';\nimport {ActionMenuContext} from './ActionMenu';\nimport {baseColor, colorMix, focusRing, fontRelative, space, style} from '../style' with {type: 'macro'};\nimport {centerBaseline} from './CenterBaseline';\nimport {Checkbox} from './Checkbox';\nimport {\n CheckboxContext,\n Collection,\n CollectionRendererContext,\n ContextValue,\n DEFAULT_SLOT,\n DefaultCollectionRenderer,\n GridList,\n GridListItem,\n GridListItemProps,\n GridListItemRenderProps,\n GridListLoadMoreItem,\n GridListProps,\n GridListRenderProps,\n Key,\n ListLayout,\n ListState,\n Provider,\n SlotProps,\n useSlottedContext,\n Virtualizer\n} from 'react-aria-components';\nimport Chevron from '../ui-icons/Chevron';\nimport {controlFont, getAllowedOverrides, StylesPropWithHeight, UnsafeStyles} from './style-utils' with {type: 'macro'};\nimport {createContext, forwardRef, ReactElement, ReactNode, useContext, useRef} from 'react';\nimport {DOMProps, DOMRef, DOMRefValue, forwardRefType, GlobalDOMAttributes, LoadingState} from '@react-types/shared';\nimport {edgeToText} from '../style/spectrum-theme' with {type: 'macro'};\nimport {IconContext} from './Icon';\nimport {ImageContext} from './Image';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport LinkOutIcon from '../ui-icons/LinkOut';\nimport {ProgressCircle} from './ProgressCircle';\nimport {Text, TextContext} from './Content';\nimport {useActionBarContainer} from './ActionBar';\nimport {useDOMRef} from '@react-spectrum/utils';\nimport {useLocale, useLocalizedStringFormatter} from 'react-aria';\nimport {useScale} from './utils';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\nexport interface ListViewProps<T> extends Omit<GridListProps<T>, 'className' | 'style' | 'children' | 'selectionBehavior' | 'dragAndDropHooks' | 'layout' | 'render' | 'keyboardNavigationBehavior' | keyof GlobalDOMAttributes>, DOMProps, UnsafeStyles, ListViewStylesProps, SlotProps {\n /** Spectrum-defined styles, returned by the `style()` macro. */\n styles?: StylesPropWithHeight,\n /** The current loading state of the ListView. */\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 /** The children of the ListView. */\n children: ReactNode | ((item: T) => ReactNode),\n /** Provides the ActionBar to display when items are selected in the ListView. */\n renderActionBar?: (selectedKeys: 'all' | Set<Key>) => ReactElement,\n /** Hides the default link out icons on items that open links in a new tab. */\n hideLinkOutIcon?: boolean\n}\n\ninterface ListViewStylesProps {\n /** Whether the ListView should be displayed with a quiet style. */\n isQuiet?: boolean,\n /**\n * How selection should be displayed.\n * @default 'checkbox'\n */\n selectionStyle?: 'highlight' | 'checkbox',\n /**\n * Sets the overflow behavior for item contents.\n * @default 'truncate'\n */\n overflowMode?: 'wrap' | 'truncate'\n}\n\nexport interface ListViewItemProps extends Omit<GridListItemProps, 'children' | 'className' | 'style' | 'render' | 'onClick' | keyof GlobalDOMAttributes> {\n /**\n * The contents of the item.\n */\n children: ReactNode,\n /** Whether the item has child items (renders a chevron indicator). */\n hasChildItems?: boolean\n}\n\nexport const ListViewContext = createContext<ContextValue<Partial<ListViewProps<any>>, DOMRefValue<HTMLDivElement>>>(null);\n\nlet InternalListViewContext = createContext<{isQuiet?: boolean, selectionStyle?: 'highlight' | 'checkbox', overflowMode?: 'wrap' | 'truncate', scale?: 'medium' | 'large', hideLinkOutIcon?: boolean}>({});\n\nconst listViewWrapper = style({\n minHeight: 0,\n minWidth: 0,\n display: 'flex',\n isolation: 'isolate',\n disableTapHighlight: true,\n position: 'relative',\n // Clip ActionBar animation.\n overflow: 'clip'\n}, getAllowedOverrides({height: true}));\n\n// When any row has a trailing icon, reserve space so actions align.\nconst hasTrailingIconRows = ':has([data-has-trailing-icon]) [role=\"row\"]';\n\nconst listView = style<GridListRenderProps & {isQuiet?: boolean}>({\n ...focusRing(),\n outlineOffset: {\n default: -2,\n isQuiet: -1\n },\n userSelect: 'none',\n minHeight: 0,\n minWidth: 0,\n width: 'full',\n height: 'full',\n boxSizing: 'border-box',\n overflow: 'auto',\n fontSize: controlFont(),\n backgroundColor: {\n default: 'gray-25',\n isQuiet: 'transparent',\n forcedColors: 'Background'\n },\n borderRadius: {\n default: 'default',\n isQuiet: 'none'\n },\n borderColor: 'gray-300',\n borderWidth: {\n default: 1,\n isQuiet: 0\n },\n borderStyle: 'solid',\n '--trailing-icon-width': {\n type: 'width',\n value: {\n default: 'auto',\n [hasTrailingIconRows]: fontRelative(20)\n }\n }\n});\n\n/**\n * A ListView displays a list of interactive items, and allows a user to navigate, select, or perform an action.\n */\nexport const ListView = /*#__PURE__*/ (forwardRef as forwardRefType)(function ListView<T extends object>(\n props: ListViewProps<T>,\n ref: DOMRef<HTMLDivElement>\n) {\n [props, ref] = useSpectrumContextProps(props, ref, ListViewContext);\n let {children, isQuiet, selectionStyle = 'checkbox', overflowMode = 'truncate', loadingState, onLoadMore, renderEmptyState: userRenderEmptyState, hideLinkOutIcon = false, ...otherProps} = props;\n let scale = useScale();\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');\n let rowHeight = scale === 'large' ? 50 : 40;\n\n let domRef = useDOMRef(ref);\n let scrollRef = useRef<HTMLElement | null>(null);\n\n let isLoading = loadingState === 'loading' || loadingState === 'loadingMore';\n let renderEmptyState: ListViewProps<T>['renderEmptyState'] | undefined;\n if (userRenderEmptyState != null && !isLoading) {\n renderEmptyState = (renderProps) => (\n <div className={emptyStateWrapper}>\n <CollectionRendererContext.Provider value={DefaultCollectionRenderer}>\n {userRenderEmptyState!(renderProps)}\n </CollectionRendererContext.Provider>\n </div>\n );\n } else if (loadingState === 'loading') {\n renderEmptyState = () => (\n <div className={centeredWrapper}>\n <div className={loadingSpinnerWrapper}>\n <ProgressCircle\n isIndeterminate\n aria-label={stringFormatter.format('table.loading')} />\n </div>\n </div>\n );\n }\n\n let loadMoreSpinner = onLoadMore ? (\n <GridListLoadMoreItem isLoading={loadingState === 'loadingMore'} onLoadMore={onLoadMore} className={style({height: 'full', width: 'full', paddingY: 8})}>\n <div className={centeredWrapper}>\n <div className={loadingSpinnerWrapper}>\n <ProgressCircle\n isIndeterminate\n aria-label={stringFormatter.format('table.loadingMore')} />\n </div>\n </div>\n </GridListLoadMoreItem>\n ) : null;\n\n let wrappedChildren: ReactNode;\n let gridListProps = otherProps;\n if (typeof children === 'function' && otherProps.items) {\n let {items, dependencies = [], ...rest} = otherProps;\n gridListProps = rest;\n wrappedChildren = (\n <>\n <Collection items={items} dependencies={dependencies}>\n {children}\n </Collection>\n {loadMoreSpinner}\n </>\n );\n } else {\n wrappedChildren = (\n <>\n {children}\n {loadMoreSpinner}\n </>\n );\n }\n\n let {selectedKeys, onSelectionChange, actionBar, actionBarHeight} = useActionBarContainer({...props, scrollRef});\n\n return (\n <div\n ref={domRef}\n className={(props.UNSAFE_className || '') + listViewWrapper(null, props.styles)}\n style={props.UNSAFE_style}>\n <Virtualizer\n layout={ListLayout}\n layoutOptions={{\n estimatedRowHeight: rowHeight,\n loaderHeight: 60\n }}>\n <InternalListViewContext.Provider value={{isQuiet, selectionStyle, overflowMode, scale, hideLinkOutIcon}}>\n <GridList\n ref={scrollRef as any}\n {...gridListProps}\n selectionBehavior={selectionStyle === 'highlight' ? 'replace' : 'toggle'}\n selectionMode={gridListProps.selectionMode}\n renderEmptyState={renderEmptyState}\n style={{\n paddingBottom: actionBarHeight > 0 ? actionBarHeight + 8 : 0,\n scrollPaddingBottom: actionBarHeight > 0 ? actionBarHeight + 8 : 0\n }}\n className={(renderProps) => listView({\n ...renderProps,\n isQuiet\n })}\n selectedKeys={selectedKeys}\n defaultSelectedKeys={undefined}\n onSelectionChange={onSelectionChange}>\n {wrappedChildren}\n </GridList>\n </InternalListViewContext.Provider>\n </Virtualizer>\n {actionBar}\n </div>\n );\n});\n\nconst selectedBackground = colorMix('gray-25', 'gray-900', 7);\nconst selectedActiveBackground = colorMix('gray-25', 'gray-900', 10);\n\nconst listitem = style<GridListItemRenderProps & {\n isFocused: boolean,\n isLink?: boolean,\n isQuiet?: boolean,\n isFirstItem?: boolean,\n isLastItem?: boolean,\n isSelected?: boolean,\n isDisabled?: boolean,\n isNextSelected?: boolean,\n isPrevSelected?: boolean,\n isPrevNotSelected?: boolean,\n isNextNotSelected?: boolean,\n selectionStyle?: 'highlight' | 'checkbox',\n scale?: 'medium' | 'large'\n}>({\n outlineStyle: 'none',\n boxSizing: 'border-box',\n columnGap: 0,\n paddingX: 0,\n paddingY: 8,\n backgroundColor: 'transparent',\n color: {\n default: baseColor('neutral-subdued'),\n isSelected: baseColor('neutral'),\n isDisabled: {\n default: 'disabled',\n forcedColors: 'GrayText'\n }\n },\n position: 'relative',\n gridColumnStart: 1,\n gridColumnEnd: -1,\n display: 'grid',\n gridTemplateAreas: [\n '. checkmark icon label actions actionmenu trailing-icon .',\n '. . . description actions actionmenu trailing-icon .'\n ],\n gridTemplateColumns: [edgeToText(40), 'auto', 'auto', 'minmax(0, 1fr)', 'auto', 'auto', 'var(--trailing-icon-width)', edgeToText(40)],\n gridTemplateRows: '1fr auto',\n rowGap: {\n ':has([slot=description])': space(1)\n },\n alignItems: 'baseline',\n minHeight: {\n default: 40,\n scale: {\n large: 50\n }\n },\n textDecoration: 'none',\n cursor: {\n default: 'default',\n isLink: 'pointer'\n },\n '--borderColor': {\n type: 'borderColor',\n value: {\n default: 'gray-300',\n isSelected: {\n selectionStyle: {\n highlight: 'blue-900',\n checkbox: 'gray-300'\n }\n },\n forcedColors: 'ButtonBorder'\n }\n },\n borderTopWidth: 0,\n borderBottomWidth: {\n default: 1,\n isLastItem: {\n default: 1,\n isQuiet: 0\n }\n },\n borderStartWidth: 0,\n borderEndWidth: 0,\n borderStyle: 'solid',\n borderColor: {\n default: '--borderColor',\n isNextSelected: 'transparent',\n isSelected: 'transparent'\n }\n});\n\nconst listRowBackground = style<GridListItemRenderProps & {\n isFirstItem?: boolean,\n isLastItem?: boolean,\n isQuiet?: boolean,\n isPrevSelected?: boolean,\n isNextSelected?: boolean,\n isPrevNotSelected?: boolean,\n isNextNotSelected?: boolean,\n selectionStyle?: 'highlight' | 'checkbox'\n}>({\n ...focusRing(),\n outlineOffset: -2,\n position: 'absolute',\n zIndex: -1,\n top: {\n default: 0,\n isSelected: '[-1px]',\n // Don't overlap focus ring of row above.\n isPrevSelected: 0,\n isFirstItem: 0\n },\n left: 0,\n right: 0,\n bottom: {\n default: 0,\n isSelected: '[-1px]'\n },\n backgroundColor: {\n default: '--rowBackgroundColor',\n isHovered: {\n default: 'gray-900/5',\n selectionStyle: {\n checkbox: selectedBackground\n }\n },\n isPressed: {\n default: 'gray-900/10',\n selectionStyle: {\n checkbox: selectedActiveBackground\n }\n },\n isSelected: {\n selectionStyle: {\n checkbox: {\n default: selectedBackground,\n isHovered: selectedActiveBackground,\n isPressed: selectedActiveBackground,\n isFocusVisible: selectedActiveBackground\n },\n highlight: {\n // Use solid colors rather than transparent because the rows overlap.\n default: colorMix('gray-25', 'blue-900', 10),\n isHovered: colorMix('gray-25', 'blue-900', 15),\n isPressed: colorMix('gray-25', 'blue-900', 15)\n }\n }\n },\n forcedColors: {\n default: 'Background'\n }\n },\n borderTopStartRadius: {\n isFirstItem: {\n isSelected: {\n selectionStyle: {\n checkbox: 'none',\n highlight: 'default'\n }\n },\n isQuiet: 'default',\n isFocusVisible: 'default'\n }\n },\n borderTopEndRadius: {\n isFirstItem: {\n isSelected: {\n selectionStyle: {\n checkbox: 'none',\n highlight: 'default'\n }\n },\n isQuiet: 'default',\n isFocusVisible: 'default'\n }\n },\n borderBottomStartRadius: {\n isLastItem: {\n isSelected: {\n selectionStyle: {\n checkbox: 'none',\n highlight: 'default'\n }\n },\n isQuiet: 'default',\n isFocusVisible: 'default'\n }\n },\n borderBottomEndRadius: {\n isLastItem: {\n isSelected: {\n selectionStyle: {\n checkbox: 'none',\n highlight: 'default'\n }\n },\n isQuiet: 'default',\n isFocusVisible: 'default'\n }\n },\n borderTopWidth: {\n default: {\n selectionStyle: {\n checkbox: 0,\n highlight: 1\n }\n },\n isPrevSelected: 0\n },\n borderBottomWidth: {\n default: {\n selectionStyle: {\n checkbox: 0,\n highlight: 1\n }\n },\n isNextSelected: 0\n },\n borderStartWidth: {\n default: {\n selectionStyle: {\n checkbox: 0,\n highlight: 1\n }\n }\n },\n borderEndWidth: {\n default: {\n selectionStyle: {\n checkbox: 0,\n highlight: 1\n }\n }\n },\n borderStyle: 'solid',\n borderColor: {\n default: 'transparent',\n isSelected: {\n selectionStyle: {\n checkbox: 'transparent',\n highlight: '--borderColor'\n }\n }\n }\n});\n\nexport let label = style({\n gridArea: 'label',\n alignSelf: 'center',\n font: controlFont(),\n color: 'inherit',\n truncate: true,\n whiteSpace: {\n default: 'nowrap',\n overflowMode: {\n wrap: 'normal'\n }\n }\n});\n\nexport let description = style({\n gridArea: 'description',\n alignSelf: 'center',\n truncate: true,\n whiteSpace: {\n default: 'nowrap',\n overflowMode: {\n wrap: 'normal'\n }\n },\n font: 'ui-sm',\n color: {\n default: baseColor('neutral-subdued'),\n isDisabled: 'disabled'\n },\n transition: 'default'\n});\n\nexport let iconCenterWrapper = style({\n display: 'flex',\n gridArea: 'icon',\n gridRowEnd: 'span 2',\n alignSelf: 'center',\n alignItems: 'center'\n});\n\nexport let icon = style({\n display: 'block',\n size: fontRelative(20),\n // too small default icon size is wrong, it's like the icons are 1 tshirt size bigger than the rest of the component? check again after typography changes\n // reminder, size of WF is applied via font size\n marginEnd: 'text-to-visual',\n '--iconPrimary': {\n type: 'fill',\n value: 'currentColor'\n }\n});\n\nlet image = style({\n gridArea: 'icon',\n gridRowEnd: 'span 2',\n marginEnd: 'text-to-visual',\n alignSelf: 'center',\n borderRadius: 'sm',\n width: 32,\n aspectRatio: 'square',\n objectFit: 'cover'\n});\n\nlet actionButtonGroup = style({\n gridArea: 'actions',\n gridRowEnd: 'span 2',\n alignSelf: 'center',\n justifySelf: 'end',\n marginStart: 'text-to-visual'\n});\n\nlet listActionMenu = style({\n gridArea: 'actionmenu',\n gridRowEnd: 'span 2',\n alignSelf: 'center'\n});\n\nconst listCheckbox = style({\n gridArea: 'checkmark',\n gridRowEnd: 'span 2',\n alignSelf: 'center',\n marginEnd: 8,\n visibility: {\n default: 'visible',\n isDisabled: 'hidden'\n }\n});\n\nconst listTrailingIcon = style({\n gridArea: 'trailing-icon',\n gridRowEnd: 'span 2',\n alignSelf: 'center',\n display: 'flex',\n alignItems: 'center',\n marginStart: 'text-to-visual'\n});\n\nconst centeredWrapper = style({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 'full',\n height: 'full'\n});\n\nconst loadingSpinnerWrapper = style({\n padding: space(4)\n});\n\nconst emptyStateWrapper = style({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 'full',\n height: 'full',\n boxSizing: 'border-box',\n padding: 16\n});\n\nfunction ListSelectionCheckbox({isDisabled}: {isDisabled: boolean}) {\n let selectionContext = useSlottedContext(CheckboxContext, 'selection');\n let isSelectionDisabled = isDisabled || !!selectionContext?.isDisabled;\n return (\n <div className={listCheckbox({isDisabled: isSelectionDisabled})}>\n <Checkbox slot=\"selection\" />\n </div>\n );\n}\n\nfunction isNextSelected(id: Key | undefined, state: ListState<unknown>) {\n if (id == null || !state) {\n return false;\n }\n let keyAfter = state.collection.getKeyAfter(id);\n return keyAfter != null && state.selectionManager.isSelected(keyAfter);\n}\nfunction isPrevSelected(id: Key | undefined, state: ListState<unknown>) {\n if (id == null || !state) {\n return false;\n }\n let keyBefore = state.collection.getKeyBefore(id);\n return keyBefore != null && state.selectionManager.isSelected(keyBefore);\n}\n\nfunction isFirstItem(id: Key | undefined, state: ListState<unknown>) {\n if (id == null || !state) {\n return false;\n }\n return state.collection.getFirstKey() === id;\n}\nfunction isLastItem(id: Key | undefined, state: ListState<unknown>) {\n if (id == null || !state) {\n return false;\n }\n return state.collection.getLastKey() === id;\n}\n\nexport function ListViewItem(props: ListViewItemProps): ReactNode {\n let ref = useRef(null);\n let {hasChildItems, ...otherProps} = props;\n let isLink = props.href != null;\n let isLinkOut = isLink && props.target === '_blank';\n let {isQuiet, selectionStyle, overflowMode, scale, hideLinkOutIcon = false} = useContext(InternalListViewContext);\n let textValue = props.textValue || (typeof props.children === 'string' ? props.children : undefined);\n let {direction} = useLocale();\n let hasTrailingIcon = hasChildItems || (isLinkOut && !hideLinkOutIcon);\n\n return (\n <GridListItem\n {...otherProps}\n textValue={textValue}\n ref={ref}\n {...(hasTrailingIcon ? {'data-has-trailing-icon': ''} : {})}\n className={renderProps => listitem({\n ...renderProps,\n isLink,\n isQuiet,\n scale,\n selectionStyle,\n isPrevNotSelected: !isPrevSelected(renderProps.id, renderProps.state),\n isNextSelected: isNextSelected(renderProps.id, renderProps.state),\n isNextNotSelected: !isNextSelected(renderProps.id, renderProps.state),\n isFirstItem: isFirstItem(renderProps.id, renderProps.state),\n isLastItem: isLastItem(renderProps.id, renderProps.state)\n })}>\n {(renderProps) => {\n let {children} = props;\n let {selectionMode, selectionBehavior, isDisabled, id, state} = renderProps;\n return (\n <Provider\n values={[\n [TextContext, {\n slots: {\n [DEFAULT_SLOT]: {styles: label({...renderProps, overflowMode})},\n label: {styles: label({...renderProps, overflowMode})},\n description: {styles: description({...renderProps, overflowMode})}\n }\n }],\n [IconContext, {\n slots: {\n icon: {render: centerBaseline({slot: 'icon', styles: iconCenterWrapper}), styles: icon}\n }\n }],\n [ImageContext, {styles: image}],\n [ActionButtonGroupContext, {\n styles: actionButtonGroup,\n size: 'S',\n isQuiet: true\n }],\n [ActionMenuContext, {\n styles: listActionMenu,\n isQuiet: true,\n size: 'S',\n isDisabled\n }]\n ]}>\n <div\n className={\n listRowBackground({\n ...renderProps,\n selectionStyle,\n isQuiet,\n isPrevSelected: isPrevSelected(id, state),\n isNextSelected: isNextSelected(id, state),\n isPrevNotSelected: !isPrevSelected(id, state),\n isNextNotSelected: !isNextSelected(id, state),\n isFirstItem: isFirstItem(id, state),\n isLastItem: isLastItem(id, state)\n })\n } />\n {selectionMode !== 'none' && selectionBehavior === 'toggle' && (\n <ListSelectionCheckbox isDisabled={isDisabled} />\n )}\n {typeof children === 'string' ? <Text slot=\"label\">{children}</Text> : children}\n {isLinkOut && !hideLinkOutIcon && (\n <div className={listTrailingIcon}>\n <LinkOutIcon\n size=\"M\"\n className={style({\n scaleX: {\n direction: {\n rtl: -1\n }\n },\n '--iconPrimary': {\n type: 'fill',\n value: 'currentColor'\n }\n })({direction})} />\n </div>\n )}\n {hasChildItems && !isLinkOut && (\n <div className={listTrailingIcon}>\n <Chevron\n className={style({\n scale: {\n direction: {\n ltr: '1',\n rtl: '-1'\n }\n },\n '--iconPrimary': {\n type: 'fill',\n value: 'currentColor'\n }\n })({direction})} />\n </div>\n )}\n </Provider>\n );\n }}\n </GridListItem>\n );\n}\n\n"],"names":[],"version":3,"file":"ListView.cjs.map"}