@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
@@ -10,13 +10,41 @@
10
10
  * governing permissions and limitations under the License.
11
11
  */
12
12
 
13
- import {ArbitraryProperty, Color, createTheme, ExpandedProperty, MappedProperty, parseArbitraryValue, PercentageProperty, SizingProperty} from './style-macro';
14
- import {ArbitraryValue, CSSProperties, CSSValue, PropertyValueDefinition, PropertyValueMap, Value} from './types';
15
- import {autoStaticColor, ColorRef, colorScale, ColorToken, colorToken, fontSizeToken, generateOverlayColorScale, getToken, shadowToken, simpleColorScale, weirdColorToken} from './tokens' with {type: 'macro'};
13
+ import {
14
+ ArbitraryProperty,
15
+ Color,
16
+ createTheme,
17
+ ExpandedProperty,
18
+ MappedProperty,
19
+ parseArbitraryValue,
20
+ PercentageProperty,
21
+ SizingProperty
22
+ } from './style-macro';
23
+ import {
24
+ ArbitraryValue,
25
+ CSSProperties,
26
+ CSSValue,
27
+ PropertyValueDefinition,
28
+ PropertyValueMap,
29
+ Value
30
+ } from './types';
31
+ import {
32
+ autoStaticColor,
33
+ ColorRef,
34
+ colorScale,
35
+ ColorToken,
36
+ colorToken,
37
+ fontSizeToken,
38
+ generateOverlayColorScale,
39
+ getToken,
40
+ shadowToken,
41
+ simpleColorScale,
42
+ weirdColorToken
43
+ } from './tokens' with {type: 'macro'};
16
44
  import type * as CSS from 'csstype';
17
45
 
18
46
  interface MacroContext {
19
- addAsset(asset: {type: string, content: string}): void
47
+ addAsset(asset: {type: string; content: string}): void;
20
48
  }
21
49
 
22
50
  function pxToRem(px: string | number) {
@@ -123,7 +151,8 @@ function resolveColorToken(token: string | ColorToken | ColorRef): ColorToken {
123
151
  }
124
152
 
125
153
  function colorTokenToString(token: ColorToken, opacity?: string | number) {
126
- let result = token.light === token.dark ? token.light : `light-dark(${token.light}, ${token.dark})`;
154
+ let result =
155
+ token.light === token.dark ? token.light : `light-dark(${token.light}, ${token.dark})`;
127
156
  if (opacity) {
128
157
  result = `rgb(from ${result} r g b / ${opacity}%)`;
129
158
  }
@@ -198,19 +227,20 @@ type BaseColor = keyof typeof baseColors;
198
227
  * Returns a set of stateful color token references for the default, hovered, focus-visible,
199
228
  * and pressed states of a component.
200
229
  *
201
- * @param base - A Spectrum base color token name (e.g. `'gray-100'`, `'accent-900'`).
202
- * @returns An object with `default`, `isHovered`, `isFocusVisible`, and `isPressed` color token references.
203
- *
204
230
  * @example
205
- * ```tsx
206
- * import {baseColor, style} from '@react-spectrum/s2/style' with {type: 'macro'};
231
+ * import {baseColor, style} from '@react-spectrum/s2/style' with {type: 'macro'};
232
+ *
233
+ * const styles = style({
234
+ * backgroundColor: baseColor('gray-100')
235
+ * });
207
236
  *
208
- * const styles = style({
209
- * backgroundColor: baseColor('gray-100')
210
- * });
211
- * ```
237
+ * @param base - A Spectrum base color token name (e.g. `'gray-100'`, `'accent-900'`).
238
+ * @returns An object with `default`, `isHovered`, `isFocusVisible`, and `isPressed` color token
239
+ * references.
212
240
  */
213
- export function baseColor<C extends string = BaseColor>(base: BaseColor | C): {default: C, isHovered: C, isFocusVisible: C, isPressed: C} {
241
+ export function baseColor<C extends string = BaseColor>(
242
+ base: BaseColor | C
243
+ ): {default: C; isHovered: C; isFocusVisible: C; isPressed: C} {
214
244
  return {
215
245
  default: base as C,
216
246
  isHovered: `${base}:hovered` as C,
@@ -225,18 +255,17 @@ type SpectrumColor = Color<BaseColor> | ArbitraryValue;
225
255
  * Resolves a Spectrum color token name to a CSS color value string.
226
256
  * Supports opacity modifiers via the `color/opacity` syntax.
227
257
  *
228
- * @param value - A Spectrum color token (e.g. `'gray-800'`, `'accent-900/50'`) or an arbitrary CSS color value.
229
- * @returns A CSS color string.
230
- *
231
258
  * @example
232
- * ```tsx
233
- * import {color, style} from '@react-spectrum/s2/style' with {type: 'macro'};
259
+ * import {color, style} from '@react-spectrum/s2/style' with {type: 'macro'};
234
260
  *
235
- * const styles = style({
236
- * color: color('gray-800'),
237
- * borderColor: color('accent-900/50')
238
- * });
239
- * ```
261
+ * const styles = style({
262
+ * color: color('gray-800'),
263
+ * borderColor: color('accent-900/50')
264
+ * });
265
+ *
266
+ * @param value - A Spectrum color token (e.g. `'gray-800'`, `'accent-900/50'`) or an arbitrary CSS
267
+ * color value.
268
+ * @returns A CSS color string.
240
269
  */
241
270
  export function color(value: SpectrumColor): string {
242
271
  let arbitrary = parseArbitraryValue(value);
@@ -251,18 +280,16 @@ export function color(value: SpectrumColor): string {
251
280
  * Produces a `light-dark()` CSS color value that resolves to different colors
252
281
  * depending on the current color scheme.
253
282
  *
283
+ * @example
284
+ * import {lightDark, style} from '@react-spectrum/s2/style' with {type: 'macro'};
285
+ *
286
+ * const styles = style({
287
+ * backgroundColor: lightDark('gray-25', 'gray-900')
288
+ * });
289
+ *
254
290
  * @param light - The color to use in light mode.
255
291
  * @param dark - The color to use in dark mode.
256
292
  * @returns A CSS `light-dark()` expression wrapped as an arbitrary style value.
257
- *
258
- * @example
259
- * ```tsx
260
- * import {lightDark, style} from '@react-spectrum/s2/style' with {type: 'macro'};
261
- *
262
- * const styles = style({
263
- * backgroundColor: lightDark('gray-25', 'gray-900')
264
- * });
265
- * ```
266
293
  */
267
294
  export function lightDark(light: SpectrumColor, dark: SpectrumColor): `[${string}]` {
268
295
  return `[light-dark(${color(light)}, ${color(dark)})]`;
@@ -271,31 +298,33 @@ export function lightDark(light: SpectrumColor, dark: SpectrumColor): `[${string
271
298
  /**
272
299
  * Mixes two Spectrum colors by a given percentage using CSS `color-mix()` in sRGB color space.
273
300
  *
301
+ * @example
302
+ * import {colorMix, style} from '@react-spectrum/s2/style' with {type: 'macro'};
303
+ *
304
+ * const styles = style({
305
+ * backgroundColor: colorMix('accent-900', 'gray-25', 50)
306
+ * });
307
+ *
274
308
  * @param a - The first color.
275
309
  * @param b - The second color.
276
310
  * @param percent - The percentage of the second color in the mix (0–100).
277
311
  * @returns A CSS `color-mix()` expression wrapped as an arbitrary style value.
278
- *
279
- * @example
280
- * ```tsx
281
- * import {colorMix, style} from '@react-spectrum/s2/style' with {type: 'macro'};
282
- *
283
- * const styles = style({
284
- * backgroundColor: colorMix('accent-900', 'gray-25', 50)
285
- * });
286
- * ```
287
312
  */
288
313
  export function colorMix(a: SpectrumColor, b: SpectrumColor, percent: number): `[${string}]` {
289
314
  return `[color-mix(in srgb, ${color(a)}, ${color(b)} ${percent}%)]`;
290
315
  }
291
316
 
292
317
  interface LinearGradient {
293
- type: 'linear-gradient',
294
- angle: string,
295
- stops: [SpectrumColor, number][]
318
+ type: 'linear-gradient';
319
+ angle: string;
320
+ stops: [SpectrumColor, number][];
296
321
  }
297
322
 
298
- export function linearGradient(this: MacroContext | void, angle: string, ...tokens: [SpectrumColor, number][]): [LinearGradient] {
323
+ export function linearGradient(
324
+ this: MacroContext | void,
325
+ angle: string,
326
+ ...tokens: [SpectrumColor, number][]
327
+ ): [LinearGradient] {
299
328
  // Generate @property rules for each gradient stop color. This allows the gradient to be animated.
300
329
  let propertyDefinitions: string[] = [];
301
330
  for (let i = 0; i < tokens.length; i++) {
@@ -313,15 +342,19 @@ export function linearGradient(this: MacroContext | void, angle: string, ...toke
313
342
  });
314
343
  }
315
344
 
316
- return [{
317
- type: 'linear-gradient',
318
- angle,
319
- stops: tokens
320
- }];
345
+ return [
346
+ {
347
+ type: 'linear-gradient',
348
+ angle,
349
+ stops: tokens
350
+ }
351
+ ];
321
352
  }
322
353
 
323
354
  // Spacing uses rems, padding does not.
324
- function generateSpacing<K extends number[]>(px: K): {spacing: {[P in K[number]]: string}, padding: {[P in K[number]]: string}} {
355
+ function generateSpacing<K extends number[]>(
356
+ px: K
357
+ ): {spacing: {[P in K[number]]: string}; padding: {[P in K[number]]: string}} {
325
358
  let spacing: any = {};
326
359
  let padding: any = {};
327
360
  for (let p of px) {
@@ -381,7 +414,7 @@ export type NegativeSpacing = keyof typeof negativeSpacing;
381
414
  export type Spacing = PositiveSpacing | NegativeSpacing;
382
415
 
383
416
  export function fontRelative(this: MacroContext | void, base: number, baseFontSize = 14): string {
384
- return (base / baseFontSize) + 'em';
417
+ return base / baseFontSize + 'em';
385
418
  }
386
419
 
387
420
  export function edgeToText(this: MacroContext | void, height: keyof typeof baseSpacing): string {
@@ -401,7 +434,7 @@ const relativeSpacing = {
401
434
  },
402
435
  // height relative values
403
436
  'edge-to-text': 'calc(self(height, self(minHeight)) * 3 / 8)',
404
- 'pill': 'calc(self(height, self(minHeight)) / 2)'
437
+ pill: 'calc(self(height, self(minHeight)) / 2)'
405
438
  } as const;
406
439
 
407
440
  const spacing = {
@@ -415,22 +448,20 @@ const padding = {
415
448
  };
416
449
 
417
450
  /**
418
- * Converts a pixel value to a scalable CSS size expression using the Spectrum 2 scale factor.
419
- * The result is a `calc()` expression that multiplies the rem-converted value by the current scale factor.
420
- * The scale factor differs between touch and non-touch devices.
421
- *
422
- * @param px - The size in pixels.
423
- * @returns A CSS `calc()` expression.
451
+ * Converts a pixel value to a scalable CSS size expression using the Spectrum 2 scale factor. The
452
+ * result is a `calc()` expression that multiplies the rem-converted value by the current scale
453
+ * factor. The scale factor differs between touch and non-touch devices.
424
454
  *
425
455
  * @example
426
- * ```tsx
427
- * import {size, style} from '@react-spectrum/s2/style' with {type: 'macro'};
456
+ * import {size, style} from '@react-spectrum/s2/style' with {type: 'macro'};
457
+ *
458
+ * const styles = style({
459
+ * width: size(200),
460
+ * height: size(48)
461
+ * });
428
462
  *
429
- * const styles = style({
430
- * width: size(200),
431
- * height: size(48)
432
- * });
433
- * ```
463
+ * @param px - The size in pixels.
464
+ * @returns A CSS `calc()` expression.
434
465
  */
435
466
  export function size(this: MacroContext | void, px: number): `calc(${string})` {
436
467
  return `calc(${pxToRem(px)} * var(--s2-scale))`;
@@ -454,7 +485,10 @@ const width = {
454
485
  screen: '100vw'
455
486
  };
456
487
 
457
- function createSpectrumSizingProperty<T extends CSSValue>(property: string, values: PropertyValueMap<T>) {
488
+ function createSpectrumSizingProperty<T extends CSSValue>(
489
+ property: string,
490
+ values: PropertyValueMap<T>
491
+ ) {
458
492
  return new SizingProperty(property, values, px => `calc(${pxToRem(px)} * var(--s2-scale))`);
459
493
  }
460
494
 
@@ -497,7 +531,14 @@ const radius = {
497
531
  };
498
532
 
499
533
  type GridTrack = 'none' | 'subgrid' | (string & {}) | readonly GridTrackSize[];
500
- type GridTrackSize = 'auto' | 'min-content' | 'max-content' | `${number}fr` | `minmax(${string}, ${string})` | number | (string & {});
534
+ type GridTrackSize =
535
+ | 'auto'
536
+ | 'min-content'
537
+ | 'max-content'
538
+ | `${number}fr`
539
+ | `minmax(${string}, ${string})`
540
+ | number
541
+ | (string & {});
501
542
 
502
543
  let gridTrack = (value: GridTrack) => {
503
544
  if (typeof value === 'string') {
@@ -513,8 +554,10 @@ let gridTrackSize = (value: GridTrackSize) => {
513
554
  const transitionProperty = {
514
555
  // var(--gp) is generated by the backgroundImage property when setting a gradient.
515
556
  // It includes a list of all of the custom properties used for each color stop.
516
- default: 'color, background-color, var(--gp, color), border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, translate, scale, rotate, filter, backdrop-filter',
517
- colors: 'color, background-color, var(--gp, color), border-color, text-decoration-color, fill, stroke',
557
+ default:
558
+ 'color, background-color, var(--gp, color), border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, translate, scale, rotate, filter, backdrop-filter',
559
+ colors:
560
+ 'color, background-color, var(--gp, color), border-color, text-decoration-color, fill, stroke',
518
561
  opacity: 'opacity',
519
562
  shadow: 'box-shadow',
520
563
  transform: 'transform, translate, scale, rotate',
@@ -531,7 +574,7 @@ const timingFunction = {
531
574
  'in-out': 'cubic-bezier(0.45, 0, 0.4, 1)'
532
575
  };
533
576
 
534
- let durationValue = (value: number | string) => typeof value === 'number' ? value + 'ms' : value;
577
+ let durationValue = (value: number | string) => (typeof value === 'number' ? value + 'ms' : value);
535
578
 
536
579
  const fontWeightBase = {
537
580
  normal: '400',
@@ -552,29 +595,41 @@ const fontWeightBase = {
552
595
  const fontWeight = {
553
596
  ...fontWeightBase,
554
597
  heading: {
555
- default: fontWeightBase[getToken('heading-sans-serif-font-weight') as keyof typeof fontWeightBase],
556
- ':lang(ja, ko, zh, zh-Hant, zh-Hans)': fontWeightBase[getToken('heading-cjk-font-weight') as keyof typeof fontWeightBase]
598
+ default:
599
+ fontWeightBase[getToken('heading-sans-serif-font-weight') as keyof typeof fontWeightBase],
600
+ ':lang(ja, ko, zh, zh-Hant, zh-Hans)':
601
+ fontWeightBase[getToken('heading-cjk-font-weight') as keyof typeof fontWeightBase]
557
602
  },
558
603
  title: {
559
- default: fontWeightBase[getToken('title-sans-serif-font-weight') as keyof typeof fontWeightBase],
560
- ':lang(ja, ko, zh, zh-Hant, zh-Hans)': fontWeightBase[getToken('title-cjk-font-weight') as keyof typeof fontWeightBase]
604
+ default:
605
+ fontWeightBase[getToken('title-sans-serif-font-weight') as keyof typeof fontWeightBase],
606
+ ':lang(ja, ko, zh, zh-Hant, zh-Hans)':
607
+ fontWeightBase[getToken('title-cjk-font-weight') as keyof typeof fontWeightBase]
561
608
  },
562
609
  detail: {
563
- default: fontWeightBase[getToken('detail-sans-serif-font-weight') as keyof typeof fontWeightBase],
564
- ':lang(ja, ko, zh, zh-Hant, zh-Hans)': fontWeightBase[getToken('detail-cjk-font-weight') as keyof typeof fontWeightBase]
610
+ default:
611
+ fontWeightBase[getToken('detail-sans-serif-font-weight') as keyof typeof fontWeightBase],
612
+ ':lang(ja, ko, zh, zh-Hant, zh-Hans)':
613
+ fontWeightBase[getToken('detail-cjk-font-weight') as keyof typeof fontWeightBase]
565
614
  }
566
615
  } as const;
567
616
 
568
617
  const i18nFonts = {
569
618
  ':lang(ar)': 'adobe-clean-arabic, myriad-arabic, ui-sans-serif, system-ui, sans-serif',
570
619
  ':lang(he)': 'adobe-clean-hebrew, myriad-hebrew, ui-sans-serif, system-ui, sans-serif',
571
- ':lang(ja)': "adobe-clean-han-japanese, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Osaka, YuGothic, 'Yu Gothic', 'メイリオ', Meiryo, 'MS Pゴシック', 'MS PGothic', sans-serif",
572
- ':lang(ko)': "adobe-clean-han-korean, source-han-korean, 'Malgun Gothic', 'Apple Gothic', sans-serif",
573
- ':lang(zh)': "adobe-clean-han-traditional, source-han-traditional, 'MingLiu', 'Heiti TC Light', sans-serif",
620
+ ':lang(ja)':
621
+ "adobe-clean-han-japanese, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Osaka, YuGothic, 'Yu Gothic', 'メイリオ', Meiryo, 'MS Pゴシック', 'MS PGothic', sans-serif",
622
+ ':lang(ko)':
623
+ "adobe-clean-han-korean, source-han-korean, 'Malgun Gothic', 'Apple Gothic', sans-serif",
624
+ ':lang(zh)':
625
+ "adobe-clean-han-traditional, source-han-traditional, 'MingLiu', 'Heiti TC Light', sans-serif",
574
626
  // TODO: are these fallbacks supposed to be different than above?
575
- ':lang(zh-hant)': "adobe-clean-han-traditional, source-han-traditional, 'MingLiu', 'Microsoft JhengHei UI', 'Microsoft JhengHei', 'Heiti TC Light', sans-serif",
576
- ':lang(zh-HK)': "adobe-clean-han-hong-kong, source-han-hong-kong, 'MingLiu', 'Microsoft JhengHei UI', 'Microsoft JhengHei', 'Heiti TC Light', sans-serif",
577
- ':lang(zh-Hans, zh-CN, zh-SG)': "adobe-clean-han-simplified-c, source-han-simplified-c, 'SimSun', 'Heiti SC Light', sans-serif"
627
+ ':lang(zh-hant)':
628
+ "adobe-clean-han-traditional, source-han-traditional, 'MingLiu', 'Microsoft JhengHei UI', 'Microsoft JhengHei', 'Heiti TC Light', sans-serif",
629
+ ':lang(zh-HK)':
630
+ "adobe-clean-han-hong-kong, source-han-hong-kong, 'MingLiu', 'Microsoft JhengHei UI', 'Microsoft JhengHei', 'Heiti TC Light', sans-serif",
631
+ ':lang(zh-Hans, zh-CN, zh-SG)':
632
+ "adobe-clean-han-simplified-c, source-han-simplified-c, 'SimSun', 'Heiti SC Light', sans-serif"
578
633
  } as const;
579
634
 
580
635
  const fontSize = {
@@ -773,19 +828,25 @@ export const style = createTheme({
773
828
  containIntrinsicWidth: createSpectrumSizingProperty('containIntrinsicWidth', width),
774
829
  containIntrinsicHeight: createSpectrumSizingProperty('containIntrinsicHeight', height),
775
830
  minHeight: createSpectrumSizingProperty('minHeight', height),
776
- maxHeight: createSpectrumSizingProperty('maxHeight', (() => {
777
- // auto is not a valid value for maxHeight
778
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
779
- const {auto, ...rest} = height;
780
- return {...rest, none: 'none'};
781
- })()),
831
+ maxHeight: createSpectrumSizingProperty(
832
+ 'maxHeight',
833
+ (() => {
834
+ // auto is not a valid value for maxHeight
835
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
836
+ const {auto, ...rest} = height;
837
+ return {...rest, none: 'none'};
838
+ })()
839
+ ),
782
840
  minWidth: createSpectrumSizingProperty('minWidth', width),
783
- maxWidth: createSpectrumSizingProperty('maxWidth', (() => {
784
- // auto is not a valid value for maxWidth
785
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
786
- const {auto, ...rest} = width;
787
- return {...rest, none: 'none'};
788
- })()),
841
+ maxWidth: createSpectrumSizingProperty(
842
+ 'maxWidth',
843
+ (() => {
844
+ // auto is not a valid value for maxWidth
845
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
846
+ const {auto, ...rest} = width;
847
+ return {...rest, none: 'none'};
848
+ })()
849
+ ),
789
850
  borderStartWidth: new MappedProperty('borderInlineStartWidth', borderWidth),
790
851
  borderEndWidth: new MappedProperty('borderInlineEndWidth', borderWidth),
791
852
  borderTopWidth: borderWidth,
@@ -814,15 +875,27 @@ export const style = createTheme({
814
875
  scrollPaddingTop: baseSpacing,
815
876
  scrollPaddingBottom: baseSpacing,
816
877
  textIndent: new PercentageProperty('textIndent', baseSpacing),
817
- translateX: new ExpandedProperty(['--translateX', 'translate'], value => ({
818
- '--translateX': String(value),
819
- translate: 'var(--translateX, 0) var(--translateY, 0)'
820
- }), new PercentageProperty('--translateX', translate)),
821
- translateY: new ExpandedProperty(['--translateY', 'translate'], value => ({
822
- '--translateY': String(value),
823
- translate: 'var(--translateX, 0) var(--translateY, 0)'
824
- }), new PercentageProperty('--translateY', translate)),
825
- rotate: new ArbitraryProperty('rotate', (value: number | `${number}deg` | `${number}rad` | `${number}grad` | `${number}turn`) => typeof value === 'number' ? `${value}deg` : value),
878
+ translateX: new ExpandedProperty(
879
+ ['--translateX', 'translate'],
880
+ value => ({
881
+ '--translateX': String(value),
882
+ translate: 'var(--translateX, 0) var(--translateY, 0)'
883
+ }),
884
+ new PercentageProperty('--translateX', translate)
885
+ ),
886
+ translateY: new ExpandedProperty(
887
+ ['--translateY', 'translate'],
888
+ value => ({
889
+ '--translateY': String(value),
890
+ translate: 'var(--translateX, 0) var(--translateY, 0)'
891
+ }),
892
+ new PercentageProperty('--translateY', translate)
893
+ ),
894
+ rotate: new ArbitraryProperty(
895
+ 'rotate',
896
+ (value: number | `${number}deg` | `${number}rad` | `${number}grad` | `${number}turn`) =>
897
+ typeof value === 'number' ? `${value}deg` : value
898
+ ),
826
899
  scaleX: new ExpandedProperty<number | `${number}%`>(['--scaleX', 'scale'], value => ({
827
900
  '--scaleX': String(value),
828
901
  scale: 'var(--scaleX, 1) var(--scaleY, 1)'
@@ -839,46 +912,59 @@ export const style = createTheme({
839
912
  left: new PercentageProperty('left', inset),
840
913
  bottom: new PercentageProperty('bottom', inset),
841
914
  right: new PercentageProperty('right', inset),
842
- aspectRatio: new ArbitraryProperty<'auto' | 'square' | 'video' | `${number}/${number}`>('aspectRatio', value => {
843
- if (value === 'square') {
844
- return '1/1';
845
- }
846
-
847
- if (value === 'video') {
848
- return '16/9';
915
+ aspectRatio: new ArbitraryProperty<'auto' | 'square' | 'video' | `${number}/${number}`>(
916
+ 'aspectRatio',
917
+ value => {
918
+ if (value === 'square') {
919
+ return '1/1';
920
+ }
921
+
922
+ if (value === 'video') {
923
+ return '16/9';
924
+ }
925
+
926
+ return value;
849
927
  }
850
-
851
- return value;
852
- }),
928
+ ),
853
929
 
854
930
  // text
855
931
  fontFamily: {
856
932
  sans: {
857
- default: 'var(--s2-font-family-sans, adobe-clean-spectrum-vf), adobe-clean-variable, adobe-clean, ui-sans-serif, system-ui, sans-serif',
933
+ default:
934
+ 'var(--s2-font-family-sans, adobe-clean-spectrum-vf), adobe-clean-variable, adobe-clean, ui-sans-serif, system-ui, sans-serif',
858
935
  ...i18nFonts
859
936
  },
860
937
  serif: {
861
- default: 'var(--s2-font-family-serif, adobe-clean-spectrum-srf-vf), adobe-clean-serif, "Source Serif", Georgia, serif',
938
+ default:
939
+ 'var(--s2-font-family-serif, adobe-clean-spectrum-srf-vf), adobe-clean-serif, "Source Serif", Georgia, serif',
862
940
  ...i18nFonts
863
941
  },
864
942
  code: 'source-code-pro, "Source Code Pro", Monaco, monospace'
865
943
  },
866
- fontSize: new ExpandedProperty<keyof typeof fontSize>(['--fs', 'fontSize'], (value) => {
867
- if (typeof value === 'number') {
944
+ fontSize: new ExpandedProperty<keyof typeof fontSize>(
945
+ ['--fs', 'fontSize'],
946
+ value => {
947
+ if (typeof value === 'number') {
948
+ return {
949
+ '--fs': `pow(1.125, ${value})`,
950
+ fontSize: `round(${fontSizeCalc} / 16 * ${process.env.DOCS_ENV ? 'var(--rem, 1rem)' : '1rem'}, 1px)`
951
+ } as CSSProperties;
952
+ }
953
+
954
+ return {fontSize: value};
955
+ },
956
+ fontSize
957
+ ),
958
+ fontWeight: new ExpandedProperty<keyof typeof fontWeight>(
959
+ ['fontWeight', 'fontVariationSettings', 'fontSynthesisWeight'],
960
+ value => {
868
961
  return {
869
- '--fs': `pow(1.125, ${value})`,
870
- fontSize: `round(${fontSizeCalc} / 16 * ${process.env.DOCS_ENV ? 'var(--rem, 1rem)' : '1rem'}, 1px)`
871
- } as CSSProperties;
872
- }
873
-
874
- return {fontSize: value};
875
- }, fontSize),
876
- fontWeight: new ExpandedProperty<keyof typeof fontWeight>(['fontWeight', 'fontVariationSettings', 'fontSynthesisWeight'], (value) => {
877
- return {
878
- fontWeight: value as any,
879
- fontSynthesisWeight: 'none'
880
- };
881
- }, fontWeight),
962
+ fontWeight: value as any,
963
+ fontSynthesisWeight: 'none'
964
+ };
965
+ },
966
+ fontWeight
967
+ ),
882
968
  lineHeight: {
883
969
  // See https://spectrum.corp.adobe.com/page/typography/#Line-height
884
970
  ui: {
@@ -913,18 +999,34 @@ export const style = createTheme({
913
999
  listStylePosition: ['inside', 'outside'] as const,
914
1000
  textTransform: ['uppercase', 'lowercase', 'capitalize', 'none'] as const,
915
1001
  textAlign: ['start', 'center', 'end', 'justify'] as const,
916
- verticalAlign: ['baseline', 'top', 'middle', 'bottom', 'text-top', 'text-bottom', 'sub', 'super'] as const,
917
- textDecoration: new ExpandedProperty<'underline' | 'overline' | 'line-through' | 'none'>(['textDecoration', 'textUnderlineOffset'], (value) => ({
918
- textDecoration: value === 'none' ? 'none' : `${value} ${getToken('text-underline-thickness')}`,
919
- textUnderlineOffset: value === 'underline' ? getToken('text-underline-gap') : undefined
920
- })),
1002
+ verticalAlign: [
1003
+ 'baseline',
1004
+ 'top',
1005
+ 'middle',
1006
+ 'bottom',
1007
+ 'text-top',
1008
+ 'text-bottom',
1009
+ 'sub',
1010
+ 'super'
1011
+ ] as const,
1012
+ textDecoration: new ExpandedProperty<'underline' | 'overline' | 'line-through' | 'none'>(
1013
+ ['textDecoration', 'textUnderlineOffset'],
1014
+ value => ({
1015
+ textDecoration:
1016
+ value === 'none' ? 'none' : `${value} ${getToken('text-underline-thickness')}`,
1017
+ textUnderlineOffset: value === 'underline' ? getToken('text-underline-gap') : undefined
1018
+ })
1019
+ ),
921
1020
  textOverflow: ['ellipsis', 'clip'] as const,
922
- lineClamp: new ExpandedProperty<number>(['overflow', 'display', '-webkit-box-orient', '-webkit-line-clamp'], (value) => ({
923
- overflow: 'hidden',
924
- display: '-webkit-box',
925
- '-webkit-box-orient': 'vertical',
926
- '-webkit-line-clamp': String(value)
927
- })),
1021
+ lineClamp: new ExpandedProperty<number>(
1022
+ ['overflow', 'display', '-webkit-box-orient', '-webkit-line-clamp'],
1023
+ value => ({
1024
+ overflow: 'hidden',
1025
+ display: '-webkit-box',
1026
+ '-webkit-box-orient': 'vertical',
1027
+ '-webkit-line-clamp': String(value)
1028
+ })
1029
+ ),
928
1030
  hyphens: ['none', 'manual', 'auto'] as const,
929
1031
  whiteSpace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces'] as const,
930
1032
  textWrap: ['wrap', 'nowrap', 'balance', 'pretty'] as const,
@@ -941,9 +1043,18 @@ export const style = createTheme({
941
1043
  },
942
1044
  filter: {
943
1045
  // layer order is reversed for filter property. filters are applied in the order they are specified.
944
- emphasized: shadowToken('drop-shadow-emphasized').reverse().map(s => `drop-shadow(${s})`).join(' '),
945
- elevated: shadowToken('drop-shadow-elevated').reverse().map(s => `drop-shadow(${s})`).join(' '),
946
- dragged: shadowToken('drop-shadow-dragged').reverse().map(s => `drop-shadow(${s})`).join(' '),
1046
+ emphasized: shadowToken('drop-shadow-emphasized')
1047
+ .reverse()
1048
+ .map(s => `drop-shadow(${s})`)
1049
+ .join(' '),
1050
+ elevated: shadowToken('drop-shadow-elevated')
1051
+ .reverse()
1052
+ .map(s => `drop-shadow(${s})`)
1053
+ .join(' '),
1054
+ dragged: shadowToken('drop-shadow-dragged')
1055
+ .reverse()
1056
+ .map(s => `drop-shadow(${s})`)
1057
+ .join(' '),
947
1058
  none: 'none'
948
1059
  },
949
1060
  borderTopStartRadius: new MappedProperty('borderStartStartRadius', radius),
@@ -952,38 +1063,87 @@ export const style = createTheme({
952
1063
  borderBottomEndRadius: new MappedProperty('borderEndEndRadius', radius),
953
1064
  forcedColorAdjust: ['auto', 'none'] as const,
954
1065
  colorScheme: ['light', 'dark', 'light dark'] as const,
955
- backgroundImage: new ExpandedProperty<string | [LinearGradient]>(['backgroundImage', '--g0', '--g1', '--g2', '--gp'], (value) => {
956
- if (typeof value === 'string') {
957
- return {backgroundImage: value};
958
- } else if (Array.isArray(value) && value[0]?.type === 'linear-gradient') {
959
- let values: CSSProperties = {
960
- backgroundImage: `linear-gradient(${value[0].angle}, ${value[0].stops.map(([, stop], i) => `var(--g${i}) ${stop}%`)})`
961
- };
962
-
963
- // Create a CSS var for each color stop so the gradient can be transitioned.
964
- // These are registered via @property in the `linearGradient` macro.
965
- let properties: string[] = [];
966
- value[0].stops.forEach(([colorValue], i) => {
967
- properties.push(`--g${i}`);
968
- values[`--g${i}`] = color(colorValue);
969
- });
970
-
971
- // This is used by transition-property so we automatically transition all of the color stops.
972
- values['--gp'] = properties.join(', ');
973
- return values;
974
- } else {
975
- throw new Error('Unexpected backgroundImage value: ' + JSON.stringify(value));
1066
+ backgroundImage: new ExpandedProperty<string | [LinearGradient]>(
1067
+ ['backgroundImage', '--g0', '--g1', '--g2', '--gp'],
1068
+ value => {
1069
+ if (typeof value === 'string') {
1070
+ return {backgroundImage: value};
1071
+ } else if (Array.isArray(value) && value[0]?.type === 'linear-gradient') {
1072
+ let values: CSSProperties = {
1073
+ backgroundImage: `linear-gradient(${value[0].angle}, ${value[0].stops.map(([, stop], i) => `var(--g${i}) ${stop}%`)})`
1074
+ };
1075
+
1076
+ // Create a CSS var for each color stop so the gradient can be transitioned.
1077
+ // These are registered via @property in the `linearGradient` macro.
1078
+ let properties: string[] = [];
1079
+ value[0].stops.forEach(([colorValue], i) => {
1080
+ properties.push(`--g${i}`);
1081
+ values[`--g${i}`] = color(colorValue);
1082
+ });
1083
+
1084
+ // This is used by transition-property so we automatically transition all of the color stops.
1085
+ values['--gp'] = properties.join(', ');
1086
+ return values;
1087
+ } else {
1088
+ throw new Error('Unexpected backgroundImage value: ' + JSON.stringify(value));
1089
+ }
976
1090
  }
977
- }),
1091
+ ),
978
1092
  // TODO: do we need separate x and y properties?
979
- backgroundPosition: ['bottom', 'center', 'left', 'left bottom', 'left top', 'right', 'right bottom', 'right top', 'top'] as const,
1093
+ backgroundPosition: [
1094
+ 'bottom',
1095
+ 'center',
1096
+ 'left',
1097
+ 'left bottom',
1098
+ 'left top',
1099
+ 'right',
1100
+ 'right bottom',
1101
+ 'right top',
1102
+ 'top'
1103
+ ] as const,
980
1104
  backgroundSize: ['auto', 'cover', 'contain'] as const,
981
1105
  backgroundAttachment: ['fixed', 'local', 'scroll'] as const,
982
1106
  backgroundClip: ['border-box', 'padding-box', 'content-box', 'text'] as const,
983
1107
  backgroundRepeat: ['repeat', 'no-repeat', 'repeat-x', 'repeat-y', 'round', 'space'] as const,
984
1108
  backgroundOrigin: ['border-box', 'padding-box', 'content-box'] as const,
985
- backgroundBlendMode: ['normal', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity'] as const,
986
- mixBlendMode: ['normal', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity', 'plus-darker', 'plus-lighter'] as const,
1109
+ backgroundBlendMode: [
1110
+ 'normal',
1111
+ 'multiply',
1112
+ 'screen',
1113
+ 'overlay',
1114
+ 'darken',
1115
+ 'lighten',
1116
+ 'color-dodge',
1117
+ 'color-burn',
1118
+ 'hard-light',
1119
+ 'soft-light',
1120
+ 'difference',
1121
+ 'exclusion',
1122
+ 'hue',
1123
+ 'saturation',
1124
+ 'color',
1125
+ 'luminosity'
1126
+ ] as const,
1127
+ mixBlendMode: [
1128
+ 'normal',
1129
+ 'multiply',
1130
+ 'screen',
1131
+ 'overlay',
1132
+ 'darken',
1133
+ 'lighten',
1134
+ 'color-dodge',
1135
+ 'color-burn',
1136
+ 'hard-light',
1137
+ 'soft-light',
1138
+ 'difference',
1139
+ 'exclusion',
1140
+ 'hue',
1141
+ 'saturation',
1142
+ 'color',
1143
+ 'luminosity',
1144
+ 'plus-darker',
1145
+ 'plus-lighter'
1146
+ ] as const,
987
1147
  opacity: new ArbitraryProperty<number>('opacity'),
988
1148
 
989
1149
  outlineStyle: ['none', 'solid', 'dashed', 'dotted', 'double', 'inset'] as const,
@@ -1004,10 +1164,40 @@ export const style = createTheme({
1004
1164
  animationPlayState: ['paused', 'running'] as const,
1005
1165
 
1006
1166
  // layout
1007
- display: ['block', 'inline-block', 'inline', 'flex', 'inline-flex', 'grid', 'inline-grid', 'contents', 'list-item', 'none'] as const, // tables?
1008
- alignContent: ['normal', 'center', 'start', 'end', 'space-between', 'space-around', 'space-evenly', 'baseline', 'stretch'] as const,
1167
+ display: [
1168
+ 'block',
1169
+ 'inline-block',
1170
+ 'inline',
1171
+ 'flex',
1172
+ 'inline-flex',
1173
+ 'grid',
1174
+ 'inline-grid',
1175
+ 'contents',
1176
+ 'list-item',
1177
+ 'none'
1178
+ ] as const, // tables?
1179
+ alignContent: [
1180
+ 'normal',
1181
+ 'center',
1182
+ 'start',
1183
+ 'end',
1184
+ 'space-between',
1185
+ 'space-around',
1186
+ 'space-evenly',
1187
+ 'baseline',
1188
+ 'stretch'
1189
+ ] as const,
1009
1190
  alignItems: ['start', 'end', 'center', 'baseline', 'stretch'] as const,
1010
- justifyContent: ['normal', 'start', 'end', 'center', 'space-between', 'space-around', 'space-evenly', 'stretch'] as const,
1191
+ justifyContent: [
1192
+ 'normal',
1193
+ 'start',
1194
+ 'end',
1195
+ 'center',
1196
+ 'space-between',
1197
+ 'space-around',
1198
+ 'space-evenly',
1199
+ 'stretch'
1200
+ ] as const,
1011
1201
  justifyItems: ['start', 'end', 'center', 'stretch'] as const,
1012
1202
  alignSelf: ['auto', 'start', 'end', 'center', 'stretch', 'baseline'] as const,
1013
1203
  justifySelf: ['auto', 'start', 'end', 'center', 'stretch'] as const,
@@ -1024,10 +1214,21 @@ export const style = createTheme({
1024
1214
  gridAutoColumns: new ArbitraryProperty('gridAutoColumns', gridTrackSize),
1025
1215
  gridTemplateColumns: new ArbitraryProperty('gridTemplateColumns', gridTrack),
1026
1216
  gridTemplateRows: new ArbitraryProperty('gridTemplateRows', gridTrack),
1027
- gridTemplateAreas: new ArbitraryProperty('gridTemplateAreas', (value: readonly string[]) => value.map(v => `"${v}"`).join('')),
1217
+ gridTemplateAreas: new ArbitraryProperty('gridTemplateAreas', (value: readonly string[]) =>
1218
+ value.map(v => `"${v}"`).join('')
1219
+ ),
1028
1220
  float: ['inline-start', 'inline-end', 'right', 'left', 'none'] as const,
1029
1221
  clear: ['inline-start', 'inline-end', 'left', 'right', 'both', 'none'] as const,
1030
- contain: ['none', 'strict', 'content', 'size', 'inline-size', 'layout', 'style', 'paint'] as const,
1222
+ contain: [
1223
+ 'none',
1224
+ 'strict',
1225
+ 'content',
1226
+ 'size',
1227
+ 'inline-size',
1228
+ 'layout',
1229
+ 'style',
1230
+ 'paint'
1231
+ ] as const,
1031
1232
  containerType: ['normal', 'size', 'inline-size', 'scroll-state'] as const,
1032
1233
  containerName: new ArbitraryProperty<string>('containerName'),
1033
1234
  boxSizing: ['border-box', 'content-box'] as const,
@@ -1050,20 +1251,85 @@ export const style = createTheme({
1050
1251
  userSelect: ['none', 'text', 'all', 'auto'] as const,
1051
1252
  visibility: ['visible', 'hidden', 'collapse'] as const,
1052
1253
  isolation: ['isolate', 'auto'] as const,
1053
- transformOrigin: ['center', 'top', 'top right', 'right', 'bottom right', 'bottom', 'bottom left', 'left', 'top right'] as const,
1054
- cursor: ['auto', 'default', 'pointer', 'wait', 'text', 'move', 'help', 'not-allowed', 'none', 'context-menu', 'progress', 'cell', 'crosshair', 'vertical-text', 'alias', 'copy', 'no-drop', 'grab', 'grabbing', 'all-scroll', 'col-resize', 'row-resize', 'n-resize', 'e-resize', 's-resize', 'w-resize', 'ne-resize', 'nw-resize', 'se-resize', 'ew-resize', 'ns-resize', 'nesw-resize', 'nwse-resize', 'zoom-in', 'zoom-out'] as const,
1254
+ transformOrigin: [
1255
+ 'center',
1256
+ 'top',
1257
+ 'top right',
1258
+ 'right',
1259
+ 'bottom right',
1260
+ 'bottom',
1261
+ 'bottom left',
1262
+ 'left'
1263
+ ] as const,
1264
+ cursor: [
1265
+ 'auto',
1266
+ 'default',
1267
+ 'pointer',
1268
+ 'wait',
1269
+ 'text',
1270
+ 'move',
1271
+ 'help',
1272
+ 'not-allowed',
1273
+ 'none',
1274
+ 'context-menu',
1275
+ 'progress',
1276
+ 'cell',
1277
+ 'crosshair',
1278
+ 'vertical-text',
1279
+ 'alias',
1280
+ 'copy',
1281
+ 'no-drop',
1282
+ 'grab',
1283
+ 'grabbing',
1284
+ 'all-scroll',
1285
+ 'col-resize',
1286
+ 'row-resize',
1287
+ 'n-resize',
1288
+ 'e-resize',
1289
+ 's-resize',
1290
+ 'w-resize',
1291
+ 'ne-resize',
1292
+ 'nw-resize',
1293
+ 'se-resize',
1294
+ 'ew-resize',
1295
+ 'ns-resize',
1296
+ 'nesw-resize',
1297
+ 'nwse-resize',
1298
+ 'zoom-in',
1299
+ 'zoom-out'
1300
+ ] as const,
1055
1301
  resize: ['none', 'vertical', 'horizontal', 'both'] as const,
1056
1302
  scrollSnapType: ['x', 'y', 'both', 'x mandatory', 'y mandatory', 'both mandatory'] as const,
1057
1303
  scrollSnapAlign: ['start', 'end', 'center', 'none'] as const,
1058
1304
  scrollSnapStop: ['normal', 'always'] as const,
1059
1305
  appearance: ['none', 'auto'] as const,
1060
1306
  objectFit: ['contain', 'cover', 'fill', 'none', 'scale-down'] as const,
1061
- objectPosition: ['bottom', 'center', 'left', 'left bottom', 'left top', 'right', 'right bottom', 'right top', 'top'] as const,
1307
+ objectPosition: [
1308
+ 'bottom',
1309
+ 'center',
1310
+ 'left',
1311
+ 'left bottom',
1312
+ 'left top',
1313
+ 'right',
1314
+ 'right bottom',
1315
+ 'right top',
1316
+ 'top'
1317
+ ] as const,
1062
1318
  willChange: ['auto', 'scroll-position', 'contents', 'transform'] as const,
1063
1319
  zIndex: new ArbitraryProperty<number>('zIndex'),
1064
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
1065
- disableTapHighlight: new ArbitraryProperty('-webkit-tap-highlight-color', (_value: true) => 'rgba(0,0,0,0)'),
1066
- unicodeBidi: ['normal', 'embed', 'bidi-override', 'isolate', 'isolate-override', 'plaintext'] as const,
1320
+ disableTapHighlight: new ArbitraryProperty(
1321
+ '-webkit-tap-highlight-color',
1322
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1323
+ (_value: true) => 'rgba(0,0,0,0)'
1324
+ ),
1325
+ unicodeBidi: [
1326
+ 'normal',
1327
+ 'embed',
1328
+ 'bidi-override',
1329
+ 'isolate',
1330
+ 'isolate-override',
1331
+ 'plaintext'
1332
+ ] as const,
1067
1333
  caretColor: ['auto', 'transparent'] as const
1068
1334
  },
1069
1335
  shorthands: {
@@ -1073,16 +1339,36 @@ export const style = createTheme({
1073
1339
  margin: ['marginTop', 'marginBottom', 'marginStart', 'marginEnd'] as const,
1074
1340
  marginX: ['marginStart', 'marginEnd'] as const,
1075
1341
  marginY: ['marginTop', 'marginBottom'] as const,
1076
- scrollPadding: ['scrollPaddingTop', 'scrollPaddingBottom', 'scrollPaddingStart', 'scrollPaddingEnd'] as const,
1342
+ scrollPadding: [
1343
+ 'scrollPaddingTop',
1344
+ 'scrollPaddingBottom',
1345
+ 'scrollPaddingStart',
1346
+ 'scrollPaddingEnd'
1347
+ ] as const,
1077
1348
  scrollPaddingX: ['scrollPaddingStart', 'scrollPaddingEnd'] as const,
1078
1349
  scrollPaddingY: ['scrollPaddingTop', 'scrollPaddingBottom'] as const,
1079
- scrollMargin: ['scrollMarginTop', 'scrollMarginBottom', 'scrollMarginStart', 'scrollMarginEnd'] as const,
1350
+ scrollMargin: [
1351
+ 'scrollMarginTop',
1352
+ 'scrollMarginBottom',
1353
+ 'scrollMarginStart',
1354
+ 'scrollMarginEnd'
1355
+ ] as const,
1080
1356
  scrollMarginX: ['scrollMarginStart', 'scrollMarginEnd'] as const,
1081
1357
  scrollMarginY: ['scrollMarginTop', 'scrollMarginBottom'] as const,
1082
- borderWidth: ['borderTopWidth', 'borderBottomWidth', 'borderStartWidth', 'borderEndWidth'] as const,
1358
+ borderWidth: [
1359
+ 'borderTopWidth',
1360
+ 'borderBottomWidth',
1361
+ 'borderStartWidth',
1362
+ 'borderEndWidth'
1363
+ ] as const,
1083
1364
  borderXWidth: ['borderStartWidth', 'borderEndWidth'] as const,
1084
1365
  borderYWidth: ['borderTopWidth', 'borderBottomWidth'] as const,
1085
- borderRadius: ['borderTopStartRadius', 'borderTopEndRadius', 'borderBottomStartRadius', 'borderBottomEndRadius'] as const,
1366
+ borderRadius: [
1367
+ 'borderTopStartRadius',
1368
+ 'borderTopEndRadius',
1369
+ 'borderBottomStartRadius',
1370
+ 'borderBottomEndRadius'
1371
+ ] as const,
1086
1372
  borderTopRadius: ['borderTopStartRadius', 'borderTopEndRadius'] as const,
1087
1373
  borderBottomRadius: ['borderBottomStartRadius', 'borderBottomEndRadius'] as const,
1088
1374
  borderStartRadius: ['borderTopStartRadius', 'borderBottomStartRadius'] as const,
@@ -1131,7 +1417,9 @@ export const style = createTheme({
1131
1417
  },
1132
1418
  conditions: {
1133
1419
  // In the docs we need to be able to simulate HCM.
1134
- forcedColors: process.env.DOCS_ENV ? ['@media (forced-colors: active)', ':is([data-hcm], [data-hcm] *)'] : '@media (forced-colors: active)',
1420
+ forcedColors: process.env.DOCS_ENV
1421
+ ? ['@media (forced-colors: active)', ':is([data-hcm], [data-hcm] *)']
1422
+ : '@media (forced-colors: active)',
1135
1423
  // This detects touch primary devices as best as we can.
1136
1424
  // Ideally we'd use (pointer: course) but browser/device support is inconsistent.
1137
1425
  // Samsung Android devices claim to be mice at the hardware/OS level: (any-pointer: fine), (any-hover: hover), (hover: hover), and nothing for pointer.
@@ -1141,11 +1429,11 @@ export const style = createTheme({
1141
1429
  // Windows tablet matches the same as iPhone. No difference when a mouse is connected.
1142
1430
  // Windows touch laptop matches same as macOS: (any-pointer: fine), (pointer: fine), (any-hover: hover), (hover: hover).
1143
1431
  touch: '@media not ((hover: hover) and (pointer: fine))',
1144
- xs: `@media (min-width: ${(480 / 16)}rem)`,
1145
- sm: `@media (min-width: ${(640 / 16)}rem)`,
1146
- md: `@media (min-width: ${(768 / 16)}rem)`,
1147
- lg: `@media (min-width: ${(1024 / 16)}rem)`,
1148
- xl: `@media (min-width: ${(1280 / 16)}rem)`,
1149
- '2xl': `@media (min-width: ${(1536 / 16)}rem)`
1432
+ xs: `@media (min-width: ${480 / 16}rem)`,
1433
+ sm: `@media (min-width: ${640 / 16}rem)`,
1434
+ md: `@media (min-width: ${768 / 16}rem)`,
1435
+ lg: `@media (min-width: ${1024 / 16}rem)`,
1436
+ xl: `@media (min-width: ${1280 / 16}rem)`,
1437
+ '2xl': `@media (min-width: ${1536 / 16}rem)`
1150
1438
  }
1151
1439
  });