@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
package/src/ListView.tsx CHANGED
@@ -12,18 +12,50 @@
12
12
 
13
13
  import {ActionButtonGroupContext} from './ActionButtonGroup';
14
14
  import {ActionMenuContext} from './ActionMenu';
15
- import {baseColor, colorMix, focusRing, fontRelative, space, style} from '../style' with {type: 'macro'};
15
+ import {
16
+ baseColor,
17
+ color,
18
+ colorMix,
19
+ focusRing,
20
+ fontRelative,
21
+ space,
22
+ style
23
+ } from '../style' with {type: 'macro'};
16
24
  import {centerBaseline} from './CenterBaseline';
17
25
  import {Checkbox} from './Checkbox';
18
26
  import {CheckboxContext} from 'react-aria-components/Checkbox';
19
27
  import Chevron from '../ui-icons/Chevron';
20
28
  import {Collection} from 'react-aria/Collection';
21
- import {CollectionRendererContext, DefaultCollectionRenderer} from 'react-aria-components/CollectionBuilder';
22
- import {ContextValue, DEFAULT_SLOT, Provider, SlotProps, useSlottedContext} from 'react-aria-components/slots';
23
- import {controlFont, getAllowedOverrides, StylesPropWithHeight, UnsafeStyles} from './style-utils' with {type: 'macro'};
29
+ import {
30
+ CollectionRendererContext,
31
+ DefaultCollectionRenderer
32
+ } from 'react-aria-components/CollectionBuilder';
33
+ import {
34
+ ContextValue,
35
+ DEFAULT_SLOT,
36
+ Provider,
37
+ SlotProps,
38
+ useSlottedContext
39
+ } from 'react-aria-components/slots';
40
+ import {
41
+ controlFont,
42
+ getAllowedOverrides,
43
+ StylesPropWithHeight,
44
+ UnsafeStyles
45
+ } from './style-utils' with {type: 'macro'};
24
46
  import {createContext, forwardRef, ReactElement, ReactNode, useContext, useRef} from 'react';
25
- import {DOMProps, DOMRef, DOMRefValue, forwardRefType, GlobalDOMAttributes, LoadingState} from '@react-types/shared';
26
- import {edgeToText} from '../style/spectrum-theme' with {type: 'macro'};
47
+ import {css} from '../style/style-macro' with {type: 'macro'};
48
+ import {description, DragPreview, icon, iconCenterWrapper, label} from './DragPreview';
49
+ import {
50
+ DOMProps,
51
+ DOMRef,
52
+ DOMRefValue,
53
+ forwardRefType,
54
+ GlobalDOMAttributes,
55
+ ItemDropTarget,
56
+ LoadingState
57
+ } from '@react-types/shared';
58
+ import {DragHandleButton, InsertionIndicator} from './dnd-utils';
27
59
  import {
28
60
  GridList,
29
61
  GridListItem,
@@ -35,12 +67,13 @@ import {
35
67
  } from 'react-aria-components/GridList';
36
68
  import {IconContext} from './Icon';
37
69
  import {ImageContext} from './Image';
70
+ // @ts-ignore
38
71
  import intlMessages from '../intl/*.json';
39
72
  import {Key} from '@react-types/shared';
73
+ import {LayoutInfo, Virtualizer} from 'react-aria-components/Virtualizer';
40
74
  import LinkOutIcon from '../ui-icons/LinkOut';
41
75
  import {ListLayout} from 'react-stately/useVirtualizerState';
42
- // @ts-ignore
43
- import {ListState} from 'react-stately/useListState';
76
+ import type {ListState} from 'react-stately/useListState';
44
77
  import {ProgressCircle} from './ProgressCircle';
45
78
  import {Text, TextContext} from './Content';
46
79
  import {useActionBarContainer} from './ActionBar';
@@ -49,66 +82,122 @@ import {useLocale} from 'react-aria/I18nProvider';
49
82
  import {useLocalizedStringFormatter} from 'react-aria/useLocalizedStringFormatter';
50
83
  import {useScale} from './utils';
51
84
  import {useSpectrumContextProps} from './useSpectrumContextProps';
52
- import {Virtualizer} from 'react-aria-components/Virtualizer';
53
85
 
54
- export interface ListViewProps<T> extends Omit<GridListProps<T>, 'className' | 'style' | 'children' | 'selectionBehavior' | 'dragAndDropHooks' | 'layout' | 'render' | 'keyboardNavigationBehavior' | 'orientation' | keyof GlobalDOMAttributes>, DOMProps, UnsafeStyles, ListViewStylesProps, SlotProps {
86
+ export interface ListViewProps<T>
87
+ extends
88
+ Omit<
89
+ GridListProps<T>,
90
+ | 'className'
91
+ | 'style'
92
+ | 'children'
93
+ | 'selectionBehavior'
94
+ | 'layout'
95
+ | 'render'
96
+ | 'keyboardNavigationBehavior'
97
+ | 'orientation'
98
+ | keyof GlobalDOMAttributes
99
+ >,
100
+ DOMProps,
101
+ UnsafeStyles,
102
+ ListViewStylesProps,
103
+ SlotProps {
55
104
  /** Spectrum-defined styles, returned by the `style()` macro. */
56
- styles?: StylesPropWithHeight,
105
+ styles?: StylesPropWithHeight;
57
106
  /** The current loading state of the ListView. */
58
- loadingState?: LoadingState,
107
+ loadingState?: LoadingState;
59
108
  /** Handler that is called when more items should be loaded, e.g. while scrolling near the bottom. */
60
- onLoadMore?: () => void,
109
+ onLoadMore?: () => void;
61
110
  /** The children of the ListView. */
62
- children: ReactNode | ((item: T) => ReactNode),
111
+ children: ReactNode | ((item: T) => ReactNode);
63
112
  /** Provides the ActionBar to display when items are selected in the ListView. */
64
- renderActionBar?: (selectedKeys: 'all' | Set<Key>) => ReactElement,
113
+ renderActionBar?: (selectedKeys: 'all' | Set<Key>) => ReactElement;
65
114
  /** Hides the default link out icons on items that open links in a new tab. */
66
- hideLinkOutIcon?: boolean
115
+ hideLinkOutIcon?: boolean;
67
116
  }
68
117
 
69
118
  interface ListViewStylesProps {
70
119
  /** Whether the ListView should be displayed with a quiet style. */
71
- isQuiet?: boolean,
120
+ isQuiet?: boolean;
72
121
  /**
73
122
  * How selection should be displayed.
123
+ *
74
124
  * @default 'checkbox'
75
125
  */
76
- selectionStyle?: 'highlight' | 'checkbox',
126
+ selectionStyle?: 'highlight' | 'checkbox';
77
127
  /**
78
128
  * Sets the overflow behavior for item contents.
129
+ *
79
130
  * @default 'truncate'
80
131
  */
81
- overflowMode?: 'wrap' | 'truncate'
132
+ overflowMode?: 'wrap' | 'truncate';
82
133
  }
83
134
 
84
- export interface ListViewItemProps extends Omit<GridListItemProps, 'children' | 'className' | 'style' | 'render' | 'onClick' | keyof GlobalDOMAttributes> {
135
+ export interface ListViewItemProps extends Omit<
136
+ GridListItemProps,
137
+ 'children' | 'className' | 'style' | 'render' | 'onClick' | keyof GlobalDOMAttributes
138
+ > {
85
139
  /**
86
140
  * The contents of the item.
87
141
  */
88
- children: ReactNode,
142
+ children: ReactNode;
89
143
  /** Whether the item has child items (renders a chevron indicator). */
90
- hasChildItems?: boolean
144
+ hasChildItems?: boolean;
91
145
  }
92
146
 
93
- export const ListViewContext = createContext<ContextValue<Partial<ListViewProps<any>>, DOMRefValue<HTMLDivElement>>>(null);
147
+ export const ListViewContext =
148
+ createContext<ContextValue<Partial<ListViewProps<any>>, DOMRefValue<HTMLDivElement>>>(null);
94
149
 
95
- let InternalListViewContext = createContext<{isQuiet?: boolean, selectionStyle?: 'highlight' | 'checkbox', overflowMode?: 'wrap' | 'truncate', scale?: 'medium' | 'large', hideLinkOutIcon?: boolean}>({});
150
+ let InternalListViewContext = createContext<{
151
+ isQuiet?: boolean;
152
+ selectionStyle?: 'highlight' | 'checkbox';
153
+ overflowMode?: 'wrap' | 'truncate';
154
+ scale?: 'medium' | 'large';
155
+ hideLinkOutIcon?: boolean;
156
+ }>({});
96
157
 
97
- const listViewWrapper = style({
98
- minHeight: 0,
99
- minWidth: 200,
100
- display: 'flex',
101
- isolation: 'isolate',
102
- disableTapHighlight: true,
103
- position: 'relative',
104
- // Clip ActionBar animation.
105
- overflow: 'clip'
106
- }, getAllowedOverrides({height: true}));
158
+ const listViewWrapper = style(
159
+ {
160
+ minHeight: 0,
161
+ minWidth: 200,
162
+ display: 'flex',
163
+ isolation: 'isolate',
164
+ disableTapHighlight: true,
165
+ position: 'relative',
166
+ // Clip ActionBar animation.
167
+ overflow: 'clip',
168
+ '--root-drop-radius': {
169
+ type: 'borderTopStartRadius',
170
+ value: 'default'
171
+ }
172
+ },
173
+ getAllowedOverrides({height: true})
174
+ );
175
+
176
+ // similar to tableview, use this approach so we can actually have a 2px outline when root dropping.
177
+ // cant do a external box shadow due to the clipping that is applied on the wrapper element...
178
+ // an inset box shadow runs into problems with the item background clipping the box shadow...
179
+ const rootDropOutline = css(`
180
+ &:has([role="grid"][data-drop-target])::after {
181
+ content: "";
182
+ position: absolute;
183
+ inset: 0;
184
+ pointer-events: none;
185
+ border: 2px solid ${color('blue-800')};
186
+ border-radius: var(--root-drop-radius);
187
+ z-index: 2;
188
+ }
189
+ @media (forced-colors: active) {
190
+ &:has([role="grid"][data-drop-target])::after {
191
+ border-color: Highlight;
192
+ }
193
+ }
194
+ `);
107
195
 
108
196
  // When any row has a trailing icon, reserve space so actions align.
109
197
  const hasTrailingIconRows = ':has([data-has-trailing-icon]) [role="row"]';
110
198
 
111
- const listView = style<GridListRenderProps & {isQuiet?: boolean}>({
199
+ const dropTargetBackground = colorMix('gray-25', 'blue-900', 10);
200
+ const listView = style<GridListRenderProps & {isQuiet?: boolean; isDropTarget?: boolean}>({
112
201
  ...focusRing(),
113
202
  outlineOffset: {
114
203
  default: -2,
@@ -125,18 +214,25 @@ const listView = style<GridListRenderProps & {isQuiet?: boolean}>({
125
214
  backgroundColor: {
126
215
  default: 'gray-25',
127
216
  isQuiet: 'transparent',
128
- forcedColors: 'Background'
217
+ isDropTarget: {
218
+ default: dropTargetBackground,
219
+ forcedColors: 'Background'
220
+ }
129
221
  },
130
222
  borderRadius: {
131
223
  default: 'default',
132
224
  isQuiet: 'none'
133
225
  },
134
- borderColor: 'gray-300',
226
+ borderColor: {
227
+ default: 'gray-300',
228
+ forcedColors: 'ButtonBorder'
229
+ },
135
230
  borderWidth: {
136
231
  default: 1,
137
232
  isQuiet: 0
138
233
  },
139
234
  borderStyle: 'solid',
235
+ forcedColorAdjust: 'none',
140
236
  '--trailing-icon-width': {
141
237
  type: 'width',
142
238
  value: {
@@ -146,16 +242,50 @@ const listView = style<GridListRenderProps & {isQuiet?: boolean}>({
146
242
  }
147
243
  });
148
244
 
245
+ export class S2ListLayout<T> extends ListLayout<T> {
246
+ getDropTargetLayoutInfo(target: ItemDropTarget): LayoutInfo {
247
+ let layoutInfo = super.getDropTargetLayoutInfo(target);
248
+ layoutInfo.zIndex = 1;
249
+ layoutInfo.allowOverflow = true;
250
+ return layoutInfo;
251
+ }
252
+ }
253
+
149
254
  /**
150
- * A ListView displays a list of interactive items, and allows a user to navigate, select, or perform an action.
255
+ * A ListView displays a list of interactive items, and allows a user to navigate, select, or
256
+ * perform an action.
151
257
  */
152
- export const ListView = /*#__PURE__*/ (forwardRef as forwardRefType)(function ListView<T extends object>(
258
+ export const ListView = /*#__PURE__*/ (forwardRef as forwardRefType)(function ListView<T>(
153
259
  props: ListViewProps<T>,
154
260
  ref: DOMRef<HTMLDivElement>
155
261
  ) {
156
262
  [props, ref] = useSpectrumContextProps(props, ref, ListViewContext);
157
- let {children, isQuiet, selectionStyle = 'checkbox', overflowMode = 'truncate', loadingState, onLoadMore, renderEmptyState: userRenderEmptyState, hideLinkOutIcon = false, ...otherProps} = props;
263
+ let {
264
+ children,
265
+ isQuiet,
266
+ selectionStyle = 'checkbox',
267
+ overflowMode = 'truncate',
268
+ loadingState,
269
+ onLoadMore,
270
+ renderEmptyState: userRenderEmptyState,
271
+ hideLinkOutIcon = false,
272
+ dragAndDropHooks,
273
+ ...otherProps
274
+ } = props;
158
275
  let scale = useScale();
276
+
277
+ if (dragAndDropHooks && dragAndDropHooks.renderDragPreview == null) {
278
+ dragAndDropHooks.renderDragPreview = items => (
279
+ <DragPreview items={items} overflowMode={overflowMode} />
280
+ );
281
+ }
282
+
283
+ if (dragAndDropHooks) {
284
+ dragAndDropHooks.renderDropIndicator = target => (
285
+ <InsertionIndicator target={target as ItemDropTarget} />
286
+ );
287
+ }
288
+
159
289
  let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');
160
290
  let rowHeight = scale === 'large' ? 50 : 40;
161
291
 
@@ -165,7 +295,7 @@ export const ListView = /*#__PURE__*/ (forwardRef as forwardRefType)(function Li
165
295
  let isLoading = loadingState === 'loading' || loadingState === 'loadingMore';
166
296
  let renderEmptyState: ListViewProps<T>['renderEmptyState'] | undefined;
167
297
  if (userRenderEmptyState != null && !isLoading) {
168
- renderEmptyState = (renderProps) => (
298
+ renderEmptyState = renderProps => (
169
299
  <div className={emptyStateWrapper}>
170
300
  <CollectionRendererContext.Provider value={DefaultCollectionRenderer}>
171
301
  {userRenderEmptyState!(renderProps)}
@@ -176,21 +306,23 @@ export const ListView = /*#__PURE__*/ (forwardRef as forwardRefType)(function Li
176
306
  renderEmptyState = () => (
177
307
  <div className={centeredWrapper}>
178
308
  <div className={loadingSpinnerWrapper}>
179
- <ProgressCircle
180
- isIndeterminate
181
- aria-label={stringFormatter.format('table.loading')} />
309
+ <ProgressCircle isIndeterminate aria-label={stringFormatter.format('table.loading')} />
182
310
  </div>
183
311
  </div>
184
312
  );
185
313
  }
186
314
 
187
315
  let loadMoreSpinner = onLoadMore ? (
188
- <GridListLoadMoreItem isLoading={loadingState === 'loadingMore'} onLoadMore={onLoadMore} className={style({height: 'full', width: 'full', paddingY: 8})}>
316
+ <GridListLoadMoreItem
317
+ isLoading={loadingState === 'loadingMore'}
318
+ onLoadMore={onLoadMore}
319
+ className={style({height: 'full', width: 'full', paddingY: 8})}>
189
320
  <div className={centeredWrapper}>
190
321
  <div className={loadingSpinnerWrapper}>
191
322
  <ProgressCircle
192
323
  isIndeterminate
193
- aria-label={stringFormatter.format('table.loadingMore')} />
324
+ aria-label={stringFormatter.format('table.loadingMore')}
325
+ />
194
326
  </div>
195
327
  </div>
196
328
  </GridListLoadMoreItem>
@@ -218,23 +350,31 @@ export const ListView = /*#__PURE__*/ (forwardRef as forwardRefType)(function Li
218
350
  );
219
351
  }
220
352
 
221
- let {selectedKeys, onSelectionChange, actionBar, actionBarHeight} = useActionBarContainer({...props, scrollRef});
353
+ let {selectedKeys, onSelectionChange, actionBar, actionBarHeight} = useActionBarContainer({
354
+ ...props,
355
+ scrollRef
356
+ });
222
357
 
223
358
  return (
224
359
  <div
225
360
  ref={domRef}
226
- className={(props.UNSAFE_className || '') + listViewWrapper(null, props.styles)}
361
+ className={
362
+ (props.UNSAFE_className || '') + listViewWrapper(null, props.styles) + ' ' + rootDropOutline
363
+ }
227
364
  style={props.UNSAFE_style}>
228
365
  <Virtualizer
229
- layout={ListLayout}
366
+ layout={S2ListLayout}
230
367
  layoutOptions={{
231
368
  estimatedRowHeight: rowHeight,
232
- loaderHeight: 60
369
+ loaderHeight: 60,
370
+ dropIndicatorThickness: 0
233
371
  }}>
234
- <InternalListViewContext.Provider value={{isQuiet, selectionStyle, overflowMode, scale, hideLinkOutIcon}}>
372
+ <InternalListViewContext.Provider
373
+ value={{isQuiet, selectionStyle, overflowMode, scale, hideLinkOutIcon}}>
235
374
  <GridList
236
375
  ref={scrollRef as any}
237
376
  {...gridListProps}
377
+ dragAndDropHooks={dragAndDropHooks}
238
378
  selectionBehavior={selectionStyle === 'highlight' ? 'replace' : 'toggle'}
239
379
  selectionMode={gridListProps.selectionMode}
240
380
  renderEmptyState={renderEmptyState}
@@ -242,10 +382,13 @@ export const ListView = /*#__PURE__*/ (forwardRef as forwardRefType)(function Li
242
382
  paddingBottom: actionBarHeight > 0 ? actionBarHeight + 8 : 0,
243
383
  scrollPaddingBottom: actionBarHeight > 0 ? actionBarHeight + 8 : 0
244
384
  }}
245
- className={(renderProps) => listView({
246
- ...renderProps,
247
- isQuiet
248
- })}
385
+ className={renderProps =>
386
+ listView({
387
+ ...renderProps,
388
+ isQuiet,
389
+ isDropTarget: renderProps.isDropTarget
390
+ })
391
+ }
249
392
  selectedKeys={selectedKeys}
250
393
  defaultSelectedKeys={undefined}
251
394
  onSelectionChange={onSelectionChange}>
@@ -261,22 +404,29 @@ export const ListView = /*#__PURE__*/ (forwardRef as forwardRefType)(function Li
261
404
  const selectedBackground = colorMix('gray-25', 'gray-900', 7);
262
405
  const selectedActiveBackground = colorMix('gray-25', 'gray-900', 10);
263
406
 
264
- const listitem = style<GridListItemRenderProps & {
265
- isFocused: boolean,
266
- isLink?: boolean,
267
- isQuiet?: boolean,
268
- isFirstItem?: boolean,
269
- isLastItem?: boolean,
270
- isSelected?: boolean,
271
- isDisabled?: boolean,
272
- isNextSelected?: boolean,
273
- isPrevSelected?: boolean,
274
- isPrevNotSelected?: boolean,
275
- isNextNotSelected?: boolean,
276
- selectionStyle?: 'highlight' | 'checkbox',
277
- scale?: 'medium' | 'large'
278
- }>({
279
- outlineStyle: 'none',
407
+ // TODO: removed the background color in HCM for highlight selection since it made it hard to see the focus
408
+ // ring of the drag button, this matches v3 anyways. thoughts?
409
+ const listitem = style<
410
+ GridListItemRenderProps & {
411
+ isFocused: boolean;
412
+ isLink?: boolean;
413
+ isQuiet?: boolean;
414
+ isFirstItem?: boolean;
415
+ isLastItem?: boolean;
416
+ isSelected?: boolean;
417
+ isDisabled?: boolean;
418
+ isNextSelected?: boolean;
419
+ isPrevSelected?: boolean;
420
+ isPrevNotSelected?: boolean;
421
+ isNextNotSelected?: boolean;
422
+ selectionStyle?: 'highlight' | 'checkbox';
423
+ scale?: 'medium' | 'large';
424
+ isDropTarget?: boolean;
425
+ }
426
+ >({
427
+ outlineStyle: {
428
+ default: 'none'
429
+ },
280
430
  boxSizing: 'border-box',
281
431
  columnGap: 0,
282
432
  paddingX: 0,
@@ -288,9 +438,9 @@ const listitem = style<GridListItemRenderProps & {
288
438
  isDisabled: 'disabled',
289
439
  forcedColors: {
290
440
  default: 'ButtonText',
291
- selectionStyle: {
292
- highlight: {
293
- isSelected: 'HighlightText'
441
+ isSelected: {
442
+ selectionStyle: {
443
+ highlight: 'HighlightText'
294
444
  }
295
445
  },
296
446
  isDisabled: 'GrayText'
@@ -301,10 +451,21 @@ const listitem = style<GridListItemRenderProps & {
301
451
  gridColumnEnd: -1,
302
452
  display: 'grid',
303
453
  gridTemplateAreas: [
304
- '. checkmark icon label actions actionmenu trailing-icon .',
305
- '. . . description actions actionmenu trailing-icon .'
454
+ '. dragbutton . checkmark icon label actions actionmenu trailing-icon .',
455
+ '. . . . . description actions actionmenu trailing-icon .'
456
+ ],
457
+ gridTemplateColumns: [
458
+ 4,
459
+ 'auto',
460
+ 8,
461
+ 'auto',
462
+ 'auto',
463
+ 'minmax(0, 1fr)',
464
+ 'auto',
465
+ 'auto',
466
+ 'var(--trailing-icon-width)',
467
+ 6
306
468
  ],
307
- gridTemplateColumns: [edgeToText(40), 'auto', 'auto', 'minmax(0, 1fr)', 'auto', 'auto', 'var(--trailing-icon-width)', edgeToText(40)],
308
469
  gridTemplateRows: '1fr auto',
309
470
  rowGap: {
310
471
  ':has([slot=description])': space(1)
@@ -325,13 +486,16 @@ const listitem = style<GridListItemRenderProps & {
325
486
  type: 'borderColor',
326
487
  value: {
327
488
  default: 'gray-300',
489
+ forcedColors: 'ButtonBorder',
328
490
  isSelected: {
329
491
  selectionStyle: {
330
- highlight: 'blue-900',
492
+ highlight: {
493
+ default: 'blue-900',
494
+ forcedColors: 'Highlight'
495
+ },
331
496
  checkbox: 'gray-300'
332
497
  }
333
- },
334
- forcedColors: 'ButtonBorder'
498
+ }
335
499
  }
336
500
  },
337
501
  borderTopWidth: 0,
@@ -359,17 +523,35 @@ const listitem = style<GridListItemRenderProps & {
359
523
  });
360
524
 
361
525
  const insetBorderRadius = 'calc(var(--radius) - 1px)';
526
+ const rootDropSelectedRowBackground = colorMix('gray-25', 'blue-900', 28);
527
+ const rowDropBackground = colorMix('gray-25', 'blue-900', 10);
528
+ const rootRowDropStyles = {
529
+ // Unlike v3 tableview, v3 listview has the same background color for the listview itself and the rows when
530
+ // dropping on root
531
+ default: dropTargetBackground,
532
+ isSelected: rootDropSelectedRowBackground,
533
+ forcedColors: 'Background'
534
+ } as const;
535
+ const rowDropStyles = {
536
+ // Also unlike v3, dropping on a selected row vs a non selected row doesn't have any difference in background color
537
+ default: rowDropBackground,
538
+ isSelected: rowDropBackground,
539
+ forcedColors: 'Background'
540
+ } as const;
362
541
 
363
- const listRowBackground = style<GridListItemRenderProps & {
364
- isFirstItem?: boolean,
365
- isLastItem?: boolean,
366
- isQuiet?: boolean,
367
- isPrevSelected?: boolean,
368
- isNextSelected?: boolean,
369
- isPrevNotSelected?: boolean,
370
- isNextNotSelected?: boolean,
371
- selectionStyle?: 'highlight' | 'checkbox'
372
- }>({
542
+ const listRowBackground = style<
543
+ GridListItemRenderProps & {
544
+ isFirstItem?: boolean;
545
+ isLastItem?: boolean;
546
+ isQuiet?: boolean;
547
+ isPrevSelected?: boolean;
548
+ isNextSelected?: boolean;
549
+ isPrevNotSelected?: boolean;
550
+ isNextNotSelected?: boolean;
551
+ selectionStyle?: 'highlight' | 'checkbox';
552
+ isDropTarget?: boolean;
553
+ }
554
+ >({
373
555
  position: 'absolute',
374
556
  zIndex: -1,
375
557
  top: {
@@ -417,13 +599,15 @@ const listRowBackground = style<GridListItemRenderProps & {
417
599
  }
418
600
  },
419
601
  forcedColors: {
420
- default: 'Background',
602
+ default: 'transparent',
421
603
  selectionStyle: {
422
604
  highlight: {
423
605
  isSelected: 'Highlight'
424
606
  }
425
607
  }
426
- }
608
+ },
609
+ ':is([role="grid"][data-drop-target] *)': rootRowDropStyles,
610
+ isDropTarget: rowDropStyles
427
611
  },
428
612
  borderTopStartRadius: {
429
613
  isQuiet: 'default',
@@ -436,7 +620,8 @@ const listRowBackground = style<GridListItemRenderProps & {
436
620
  }
437
621
  },
438
622
  isQuiet: 'default'
439
- }
623
+ },
624
+ isDropTarget: insetBorderRadius
440
625
  },
441
626
  borderTopEndRadius: {
442
627
  isQuiet: 'default',
@@ -449,7 +634,8 @@ const listRowBackground = style<GridListItemRenderProps & {
449
634
  }
450
635
  },
451
636
  isQuiet: 'default'
452
- }
637
+ },
638
+ isDropTarget: insetBorderRadius
453
639
  },
454
640
  borderBottomStartRadius: {
455
641
  isQuiet: 'default',
@@ -462,7 +648,8 @@ const listRowBackground = style<GridListItemRenderProps & {
462
648
  }
463
649
  },
464
650
  isQuiet: 'default'
465
- }
651
+ },
652
+ isDropTarget: insetBorderRadius
466
653
  },
467
654
  borderBottomEndRadius: {
468
655
  isQuiet: 'default',
@@ -475,7 +662,8 @@ const listRowBackground = style<GridListItemRenderProps & {
475
662
  }
476
663
  },
477
664
  isQuiet: 'default'
478
- }
665
+ },
666
+ isDropTarget: insetBorderRadius
479
667
  },
480
668
  borderTopWidth: {
481
669
  default: {
@@ -484,7 +672,8 @@ const listRowBackground = style<GridListItemRenderProps & {
484
672
  highlight: 1
485
673
  }
486
674
  },
487
- isPrevSelected: 0
675
+ isPrevSelected: 0,
676
+ isDropTarget: 2
488
677
  },
489
678
  borderBottomWidth: {
490
679
  default: {
@@ -493,7 +682,8 @@ const listRowBackground = style<GridListItemRenderProps & {
493
682
  highlight: 1
494
683
  }
495
684
  },
496
- isNextSelected: 0
685
+ isNextSelected: 0,
686
+ isDropTarget: 2
497
687
  },
498
688
  borderStartWidth: {
499
689
  default: {
@@ -501,7 +691,8 @@ const listRowBackground = style<GridListItemRenderProps & {
501
691
  checkbox: 0,
502
692
  highlight: 1
503
693
  }
504
- }
694
+ },
695
+ isDropTarget: 2
505
696
  },
506
697
  borderEndWidth: {
507
698
  default: {
@@ -509,7 +700,8 @@ const listRowBackground = style<GridListItemRenderProps & {
509
700
  checkbox: 0,
510
701
  highlight: 1
511
702
  }
512
- }
703
+ },
704
+ isDropTarget: 2
513
705
  },
514
706
  borderStyle: 'solid',
515
707
  borderColor: {
@@ -519,20 +711,26 @@ const listRowBackground = style<GridListItemRenderProps & {
519
711
  checkbox: 'transparent',
520
712
  highlight: '--borderColor'
521
713
  }
714
+ },
715
+ isDropTarget: 'blue-800',
716
+ forcedColors: {
717
+ isDropTarget: 'Highlight'
522
718
  }
523
719
  }
524
720
  });
525
721
 
526
- let listRowFocusRing = style<GridListItemRenderProps & {
527
- selectionStyle?: 'highlight' | 'checkbox',
528
- isFirstItem?: boolean,
529
- isPrevSelected?: boolean,
530
- isPrevNotSelected?: boolean,
531
- isNextSelected?: boolean,
532
- isNextNotSelected?: boolean,
533
- isLastItem?: boolean,
534
- isQuiet?: boolean
535
- }>({
722
+ let listRowFocusRing = style<
723
+ GridListItemRenderProps & {
724
+ selectionStyle?: 'highlight' | 'checkbox';
725
+ isFirstItem?: boolean;
726
+ isPrevSelected?: boolean;
727
+ isPrevNotSelected?: boolean;
728
+ isNextSelected?: boolean;
729
+ isNextNotSelected?: boolean;
730
+ isLastItem?: boolean;
731
+ isQuiet?: boolean;
732
+ }
733
+ >({
536
734
  ...focusRing(),
537
735
  outlineOffset: {
538
736
  default: -2,
@@ -575,57 +773,8 @@ let listRowFocusRing = style<GridListItemRenderProps & {
575
773
  pointerEvents: 'none'
576
774
  });
577
775
 
578
- export let label = style({
579
- gridArea: 'label',
580
- alignSelf: 'center',
581
- font: controlFont(),
582
- color: 'inherit',
583
- truncate: true,
584
- whiteSpace: {
585
- default: 'nowrap',
586
- overflowMode: {
587
- wrap: 'normal'
588
- }
589
- }
590
- });
591
-
592
- export let description = style({
593
- gridArea: 'description',
594
- alignSelf: 'center',
595
- truncate: true,
596
- whiteSpace: {
597
- default: 'nowrap',
598
- overflowMode: {
599
- wrap: 'normal'
600
- }
601
- },
602
- font: 'ui-sm',
603
- color: {
604
- default: baseColor('neutral-subdued'),
605
- isDisabled: 'disabled',
606
- forcedColors: 'inherit'
607
- },
608
- transition: 'default'
609
- });
610
-
611
- export let iconCenterWrapper = style({
612
- display: 'flex',
613
- gridArea: 'icon',
614
- gridRowEnd: 'span 2',
615
- alignSelf: 'center',
616
- alignItems: 'center'
617
- });
618
-
619
- export let icon = style({
620
- display: 'block',
621
- size: fontRelative(20),
622
- // 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
623
- // reminder, size of WF is applied via font size
624
- marginEnd: 'text-to-visual',
625
- '--iconPrimary': {
626
- type: 'fill',
627
- value: 'currentColor'
628
- }
776
+ let rowWrapper = style({
777
+ display: 'contents'
629
778
  });
630
779
 
631
780
  let image = style({
@@ -673,6 +822,15 @@ const listTrailingIcon = style({
673
822
  marginStart: 'text-to-visual'
674
823
  });
675
824
 
825
+ let dragButtonContainer = style({
826
+ gridArea: 'dragbutton',
827
+ gridRowEnd: 'span 2',
828
+ alignSelf: 'center',
829
+ display: 'flex',
830
+ alignItems: 'center',
831
+ width: 10
832
+ });
833
+
676
834
  const centeredWrapper = style({
677
835
  display: 'flex',
678
836
  alignItems: 'center',
@@ -705,41 +863,20 @@ function ListSelectionCheckbox({isDisabled}: {isDisabled: boolean}) {
705
863
  );
706
864
  }
707
865
 
708
- function isNextSelected(id: Key | undefined, state: ListState<unknown>) {
709
- if (id == null || !state) {
710
- return false;
711
- }
712
- let keyAfter = state.collection.getKeyAfter(id);
713
- return keyAfter != null && state.selectionManager.isSelected(keyAfter);
714
- }
715
- export function isPrevSelected(id: Key | undefined, state: ListState<unknown>) {
716
- if (id == null || !state) {
717
- return false;
718
- }
719
- let keyBefore = state.collection.getKeyBefore(id);
720
- return keyBefore != null && state.selectionManager.isSelected(keyBefore);
721
- }
722
-
723
- export function isFirstItem(id: Key | undefined, state: ListState<unknown>) {
724
- if (id == null || !state) {
725
- return false;
726
- }
727
- return state.collection.getFirstKey() === id;
728
- }
729
- function isLastItem(id: Key | undefined, state: ListState<unknown>) {
730
- if (id == null || !state) {
731
- return false;
732
- }
733
- return state.collection.getLastKey() === id;
734
- }
735
-
736
866
  export function ListViewItem(props: ListViewItemProps): ReactNode {
737
867
  let ref = useRef(null);
738
868
  let {hasChildItems, ...otherProps} = props;
739
869
  let isLink = props.href != null;
740
870
  let isLinkOut = isLink && props.target === '_blank';
741
- let {isQuiet, selectionStyle, overflowMode, scale, hideLinkOutIcon = false} = useContext(InternalListViewContext);
742
- let textValue = props.textValue || (typeof props.children === 'string' ? props.children : undefined);
871
+ let {
872
+ isQuiet,
873
+ selectionStyle,
874
+ overflowMode,
875
+ scale,
876
+ hideLinkOutIcon = false
877
+ } = useContext(InternalListViewContext);
878
+ let textValue =
879
+ props.textValue || (typeof props.children === 'string' ? props.children : undefined);
743
880
  let {direction} = useLocale();
744
881
  let hasTrailingIcon = hasChildItems || (isLinkOut && !hideLinkOutIcon);
745
882
 
@@ -749,118 +886,187 @@ export function ListViewItem(props: ListViewItemProps): ReactNode {
749
886
  textValue={textValue}
750
887
  ref={ref}
751
888
  {...(hasTrailingIcon ? {'data-has-trailing-icon': ''} : {})}
752
- className={renderProps => listitem({
753
- ...renderProps,
754
- isLink,
755
- isQuiet,
756
- scale,
757
- selectionStyle,
758
- isPrevNotSelected: !isPrevSelected(renderProps.id, renderProps.state),
759
- isNextSelected: isNextSelected(renderProps.id, renderProps.state),
760
- isNextNotSelected: !isNextSelected(renderProps.id, renderProps.state),
761
- isFirstItem: isFirstItem(renderProps.id, renderProps.state),
762
- isLastItem: isLastItem(renderProps.id, renderProps.state)
763
- })}>
764
- {(renderProps) => {
889
+ className={renderProps =>
890
+ listitem({
891
+ ...renderProps,
892
+ isLink,
893
+ isQuiet,
894
+ scale,
895
+ selectionStyle,
896
+ isPrevNotSelected: !isPrevSelected(renderProps.id, renderProps.state),
897
+ isNextSelected: isNextSelected(renderProps.id, renderProps.state),
898
+ isNextNotSelected: !isNextSelected(renderProps.id, renderProps.state),
899
+ isFirstItem: isFirstItem(renderProps.id, renderProps.state),
900
+ isLastItem: isLastItem(renderProps.id, renderProps.state)
901
+ })
902
+ }>
903
+ {renderProps => {
765
904
  let {children} = props;
766
- let {selectionMode, selectionBehavior, isDisabled, id, state} = renderProps;
905
+ let {
906
+ selectionMode,
907
+ selectionBehavior,
908
+ isDisabled,
909
+ id,
910
+ state,
911
+ allowsDragging,
912
+ isFocusVisibleWithin
913
+ } = renderProps;
767
914
  return (
768
915
  <Provider
769
916
  values={[
770
- [TextContext, {
771
- slots: {
772
- [DEFAULT_SLOT]: {styles: label({...renderProps, overflowMode})},
773
- label: {styles: label({...renderProps, overflowMode})},
774
- description: {styles: description({...renderProps, overflowMode})}
917
+ [
918
+ TextContext,
919
+ {
920
+ slots: {
921
+ [DEFAULT_SLOT]: {styles: label({...renderProps, overflowMode})},
922
+ label: {styles: label({...renderProps, overflowMode})},
923
+ description: {styles: description({...renderProps, overflowMode})}
924
+ }
775
925
  }
776
- }],
777
- [IconContext, {
778
- slots: {
779
- icon: {render: centerBaseline({slot: 'icon', styles: iconCenterWrapper}), styles: icon}
926
+ ],
927
+ [
928
+ IconContext,
929
+ {
930
+ slots: {
931
+ icon: {
932
+ render: centerBaseline({slot: 'icon', styles: iconCenterWrapper}),
933
+ styles: icon
934
+ }
935
+ }
780
936
  }
781
- }],
937
+ ],
782
938
  [ImageContext, {styles: image}],
783
- [ActionButtonGroupContext, {
784
- styles: actionButtonGroup,
785
- size: 'S',
786
- isQuiet: true
787
- }],
788
- [ActionMenuContext, {
789
- styles: listActionMenu,
790
- isQuiet: true,
791
- size: 'S',
792
- isDisabled
793
- }]
939
+ [
940
+ ActionButtonGroupContext,
941
+ {
942
+ styles: actionButtonGroup,
943
+ size: 'S',
944
+ isQuiet: true
945
+ }
946
+ ],
947
+ [
948
+ ActionMenuContext,
949
+ {
950
+ styles: listActionMenu,
951
+ isQuiet: true,
952
+ size: 'S',
953
+ isDisabled
954
+ }
955
+ ]
794
956
  ]}>
795
- <div
796
- className={
797
- listRowBackground({
798
- ...renderProps,
799
- selectionStyle,
800
- isQuiet,
801
- isPrevSelected: isPrevSelected(id, state),
802
- isNextSelected: isNextSelected(id, state),
803
- isPrevNotSelected: !isPrevSelected(id, state),
804
- isNextNotSelected: !isNextSelected(id, state),
805
- isFirstItem: isFirstItem(id, state),
806
- isLastItem: isLastItem(id, state)
807
- })
808
- } />
809
- {renderProps.isFocusVisible &&
957
+ <div className={rowWrapper}>
810
958
  <div
811
- className={listRowFocusRing({
959
+ className={listRowBackground({
812
960
  ...renderProps,
813
961
  selectionStyle,
814
962
  isQuiet,
963
+ isDropTarget: renderProps.isDropTarget,
815
964
  isPrevSelected: isPrevSelected(id, state),
816
965
  isNextSelected: isNextSelected(id, state),
817
966
  isPrevNotSelected: !isPrevSelected(id, state),
818
967
  isNextNotSelected: !isNextSelected(id, state),
819
968
  isFirstItem: isFirstItem(id, state),
820
969
  isLastItem: isLastItem(id, state)
821
- })} />
822
- }
823
- {selectionMode !== 'none' && selectionBehavior === 'toggle' && (
824
- <ListSelectionCheckbox isDisabled={isDisabled} />
825
- )}
826
- {typeof children === 'string' ? <Text slot="label">{children}</Text> : children}
827
- {isLinkOut && !hideLinkOutIcon && (
828
- <div className={listTrailingIcon}>
829
- <LinkOutIcon
830
- size="M"
831
- className={style({
832
- scaleX: {
833
- direction: {
834
- rtl: -1
970
+ })}
971
+ />
972
+ {renderProps.isFocusVisible && (
973
+ <div
974
+ className={listRowFocusRing({
975
+ ...renderProps,
976
+ selectionStyle,
977
+ isQuiet,
978
+ isPrevSelected: isPrevSelected(id, state),
979
+ isNextSelected: isNextSelected(id, state),
980
+ isPrevNotSelected: !isPrevSelected(id, state),
981
+ isNextNotSelected: !isNextSelected(id, state),
982
+ isFirstItem: isFirstItem(id, state),
983
+ isLastItem: isLastItem(id, state)
984
+ })}
985
+ />
986
+ )}
987
+ {allowsDragging && (
988
+ <div className={dragButtonContainer}>
989
+ {!isDisabled && <DragHandleButton isFocusVisibleWithin={isFocusVisibleWithin} />}
990
+ </div>
991
+ )}
992
+ {selectionMode !== 'none' && selectionBehavior === 'toggle' && (
993
+ <ListSelectionCheckbox isDisabled={isDisabled} />
994
+ )}
995
+ {typeof children === 'string' ? <Text slot="label">{children}</Text> : children}
996
+ {isLinkOut && !hideLinkOutIcon && (
997
+ <div className={listTrailingIcon}>
998
+ <LinkOutIcon
999
+ size="M"
1000
+ className={style({
1001
+ scaleX: {
1002
+ direction: {
1003
+ rtl: -1
1004
+ }
1005
+ },
1006
+ '--iconPrimary': {
1007
+ type: 'fill',
1008
+ value: 'currentColor'
835
1009
  }
836
- },
837
- '--iconPrimary': {
838
- type: 'fill',
839
- value: 'currentColor'
840
- }
841
- })({direction})} />
842
- </div>
843
- )}
844
- {hasChildItems && !isLinkOut && (
845
- <div className={listTrailingIcon}>
846
- <Chevron
847
- className={style({
848
- scale: {
849
- direction: {
850
- ltr: '1',
851
- rtl: '-1'
1010
+ })({direction})}
1011
+ />
1012
+ </div>
1013
+ )}
1014
+ {hasChildItems && !isLinkOut && (
1015
+ <div className={listTrailingIcon}>
1016
+ <Chevron
1017
+ className={style({
1018
+ scale: {
1019
+ direction: {
1020
+ ltr: '1',
1021
+ rtl: '-1'
1022
+ }
1023
+ },
1024
+ '--iconPrimary': {
1025
+ type: 'fill',
1026
+ value: 'currentColor'
852
1027
  }
853
- },
854
- '--iconPrimary': {
855
- type: 'fill',
856
- value: 'currentColor'
857
- }
858
- })({direction})} />
859
- </div>
860
- )}
1028
+ })({direction})}
1029
+ />
1030
+ </div>
1031
+ )}
1032
+ </div>
861
1033
  </Provider>
862
1034
  );
863
1035
  }}
864
1036
  </GridListItem>
865
1037
  );
866
1038
  }
1039
+
1040
+ function isNextSelected(id: Key | undefined, state: ListState<unknown>) {
1041
+ if (id == null || !state) {
1042
+ return false;
1043
+ }
1044
+ let keyAfter = state.collection.getKeyAfter(id);
1045
+ return keyAfter != null && state.selectionManager.isSelected(keyAfter);
1046
+ }
1047
+
1048
+ function isPrevSelected(id: Key | undefined, state: ListState<unknown>) {
1049
+ if (id == null || !state) {
1050
+ return false;
1051
+ }
1052
+ let keyBefore = state.collection.getKeyBefore(id);
1053
+ return keyBefore != null && state.selectionManager.isSelected(keyBefore);
1054
+ }
1055
+
1056
+ function isFirstItem(id: Key | undefined, state: ListState<unknown>) {
1057
+ if (id == null || !state) {
1058
+ return false;
1059
+ }
1060
+ return state.collection.getFirstKey() === id;
1061
+ }
1062
+
1063
+ function isLastItem(id: Key | undefined, state: ListState<unknown>) {
1064
+ if (id == null || !state) {
1065
+ return false;
1066
+ }
1067
+
1068
+ let key = state.collection.getLastKey();
1069
+ let node = key ? state.collection.getItem(key) : null;
1070
+
1071
+ return node ? node.key === id : false;
1072
+ }