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