@react-spectrum/s2 0.5.0 → 0.6.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 (598) hide show
  1. package/dist/Accordion.cjs +5 -8
  2. package/dist/Accordion.cjs.map +1 -1
  3. package/dist/Accordion.css +2 -2
  4. package/dist/Accordion.css.map +1 -1
  5. package/dist/Accordion.mjs +5 -8
  6. package/dist/Accordion.mjs.map +1 -1
  7. package/dist/ActionBar.cjs +264 -0
  8. package/dist/ActionBar.cjs.map +1 -0
  9. package/dist/ActionBar.css +267 -0
  10. package/dist/ActionBar.css.map +1 -0
  11. package/dist/ActionBar.mjs +257 -0
  12. package/dist/ActionBar.mjs.map +1 -0
  13. package/dist/ActionButton.cjs +121 -147
  14. package/dist/ActionButton.cjs.map +1 -1
  15. package/dist/ActionButton.css +133 -153
  16. package/dist/ActionButton.css.map +1 -1
  17. package/dist/ActionButton.mjs +122 -148
  18. package/dist/ActionButton.mjs.map +1 -1
  19. package/dist/ActionButtonGroup.cjs +6 -9
  20. package/dist/ActionButtonGroup.cjs.map +1 -1
  21. package/dist/ActionButtonGroup.css +3 -3
  22. package/dist/ActionButtonGroup.css.map +1 -1
  23. package/dist/ActionButtonGroup.mjs +6 -9
  24. package/dist/ActionButtonGroup.mjs.map +1 -1
  25. package/dist/ActionMenu.cjs +2 -5
  26. package/dist/ActionMenu.cjs.map +1 -1
  27. package/dist/ActionMenu.mjs +2 -5
  28. package/dist/ActionMenu.mjs.map +1 -1
  29. package/dist/AlertDialog.cjs +2 -5
  30. package/dist/AlertDialog.cjs.map +1 -1
  31. package/dist/AlertDialog.css.map +1 -1
  32. package/dist/AlertDialog.mjs +2 -5
  33. package/dist/AlertDialog.mjs.map +1 -1
  34. package/dist/Avatar.cjs +12 -15
  35. package/dist/Avatar.cjs.map +1 -1
  36. package/dist/Avatar.css +11 -11
  37. package/dist/Avatar.css.map +1 -1
  38. package/dist/Avatar.mjs +12 -15
  39. package/dist/Avatar.mjs.map +1 -1
  40. package/dist/AvatarGroup.cjs +99 -102
  41. package/dist/AvatarGroup.cjs.map +1 -1
  42. package/dist/AvatarGroup.css +31 -31
  43. package/dist/AvatarGroup.css.map +1 -1
  44. package/dist/AvatarGroup.mjs +99 -102
  45. package/dist/AvatarGroup.mjs.map +1 -1
  46. package/dist/Badge.cjs +99 -102
  47. package/dist/Badge.cjs.map +1 -1
  48. package/dist/Badge.css +76 -76
  49. package/dist/Badge.css.map +1 -1
  50. package/dist/Badge.mjs +99 -102
  51. package/dist/Badge.mjs.map +1 -1
  52. package/dist/Breadcrumbs.cjs +93 -94
  53. package/dist/Breadcrumbs.cjs.map +1 -1
  54. package/dist/Breadcrumbs.css +70 -64
  55. package/dist/Breadcrumbs.css.map +1 -1
  56. package/dist/Breadcrumbs.mjs +94 -95
  57. package/dist/Breadcrumbs.mjs.map +1 -1
  58. package/dist/Button.cjs +305 -278
  59. package/dist/Button.cjs.map +1 -1
  60. package/dist/Button.css +255 -182
  61. package/dist/Button.css.map +1 -1
  62. package/dist/Button.mjs +307 -280
  63. package/dist/Button.mjs.map +1 -1
  64. package/dist/ButtonGroup.cjs +17 -20
  65. package/dist/ButtonGroup.cjs.map +1 -1
  66. package/dist/ButtonGroup.css +11 -11
  67. package/dist/ButtonGroup.css.map +1 -1
  68. package/dist/ButtonGroup.mjs +18 -21
  69. package/dist/ButtonGroup.mjs.map +1 -1
  70. package/dist/Card.cjs +167 -167
  71. package/dist/Card.css +121 -121
  72. package/dist/Card.mjs +167 -167
  73. package/dist/CardView.cjs +47 -21
  74. package/dist/CardView.cjs.map +1 -1
  75. package/dist/CardView.css +39 -15
  76. package/dist/CardView.css.map +1 -1
  77. package/dist/CardView.mjs +49 -23
  78. package/dist/CardView.mjs.map +1 -1
  79. package/dist/CenterBaseline.cjs +1 -1
  80. package/dist/CenterBaseline.css +2 -2
  81. package/dist/CenterBaseline.mjs +1 -1
  82. package/dist/Checkbox.cjs +58 -62
  83. package/dist/Checkbox.cjs.map +1 -1
  84. package/dist/Checkbox.css +54 -54
  85. package/dist/Checkbox.css.map +1 -1
  86. package/dist/Checkbox.mjs +59 -63
  87. package/dist/Checkbox.mjs.map +1 -1
  88. package/dist/CheckboxGroup.cjs +43 -45
  89. package/dist/CheckboxGroup.cjs.map +1 -1
  90. package/dist/CheckboxGroup.css +32 -32
  91. package/dist/CheckboxGroup.css.map +1 -1
  92. package/dist/CheckboxGroup.mjs +44 -46
  93. package/dist/CheckboxGroup.mjs.map +1 -1
  94. package/dist/ClearButton.cjs +7 -8
  95. package/dist/ClearButton.cjs.map +1 -1
  96. package/dist/ClearButton.css +5 -5
  97. package/dist/ClearButton.css.map +1 -1
  98. package/dist/ClearButton.mjs +7 -8
  99. package/dist/ClearButton.mjs.map +1 -1
  100. package/dist/CloseButton.cjs +40 -53
  101. package/dist/CloseButton.cjs.map +1 -1
  102. package/dist/CloseButton.css +45 -49
  103. package/dist/CloseButton.css.map +1 -1
  104. package/dist/CloseButton.mjs +40 -53
  105. package/dist/CloseButton.mjs.map +1 -1
  106. package/dist/ColorArea.cjs +12 -15
  107. package/dist/ColorArea.cjs.map +1 -1
  108. package/dist/ColorArea.css +10 -10
  109. package/dist/ColorArea.css.map +1 -1
  110. package/dist/ColorArea.mjs +12 -15
  111. package/dist/ColorArea.mjs.map +1 -1
  112. package/dist/ColorField.cjs +31 -34
  113. package/dist/ColorField.cjs.map +1 -1
  114. package/dist/ColorField.css +24 -24
  115. package/dist/ColorField.css.map +1 -1
  116. package/dist/ColorField.mjs +32 -35
  117. package/dist/ColorField.mjs.map +1 -1
  118. package/dist/ColorHandle.cjs +11 -11
  119. package/dist/ColorHandle.css +19 -19
  120. package/dist/ColorHandle.mjs +11 -11
  121. package/dist/ColorSlider.cjs +43 -46
  122. package/dist/ColorSlider.cjs.map +1 -1
  123. package/dist/ColorSlider.css +43 -43
  124. package/dist/ColorSlider.css.map +1 -1
  125. package/dist/ColorSlider.mjs +44 -47
  126. package/dist/ColorSlider.mjs.map +1 -1
  127. package/dist/ColorSwatch.cjs +8 -11
  128. package/dist/ColorSwatch.cjs.map +1 -1
  129. package/dist/ColorSwatch.css +14 -14
  130. package/dist/ColorSwatch.css.map +1 -1
  131. package/dist/ColorSwatch.mjs +9 -12
  132. package/dist/ColorSwatch.mjs.map +1 -1
  133. package/dist/ColorSwatchPicker.cjs +15 -18
  134. package/dist/ColorSwatchPicker.cjs.map +1 -1
  135. package/dist/ColorSwatchPicker.css +33 -33
  136. package/dist/ColorSwatchPicker.css.map +1 -1
  137. package/dist/ColorSwatchPicker.mjs +15 -18
  138. package/dist/ColorSwatchPicker.mjs.map +1 -1
  139. package/dist/ColorWheel.cjs +18 -21
  140. package/dist/ColorWheel.cjs.map +1 -1
  141. package/dist/ColorWheel.css +15 -15
  142. package/dist/ColorWheel.css.map +1 -1
  143. package/dist/ColorWheel.mjs +18 -21
  144. package/dist/ColorWheel.mjs.map +1 -1
  145. package/dist/ComboBox.cjs +61 -61
  146. package/dist/ComboBox.cjs.map +1 -1
  147. package/dist/ComboBox.css +52 -52
  148. package/dist/ComboBox.css.map +1 -1
  149. package/dist/ComboBox.mjs +62 -62
  150. package/dist/ComboBox.mjs.map +1 -1
  151. package/dist/Content.cjs +12 -19
  152. package/dist/Content.cjs.map +1 -1
  153. package/dist/Content.mjs +12 -19
  154. package/dist/Content.mjs.map +1 -1
  155. package/dist/ContextualHelp.cjs +7 -10
  156. package/dist/ContextualHelp.cjs.map +1 -1
  157. package/dist/ContextualHelp.css +23 -23
  158. package/dist/ContextualHelp.css.map +1 -1
  159. package/dist/ContextualHelp.mjs +7 -10
  160. package/dist/ContextualHelp.mjs.map +1 -1
  161. package/dist/CustomDialog.cjs +10 -13
  162. package/dist/CustomDialog.cjs.map +1 -1
  163. package/dist/CustomDialog.css +9 -9
  164. package/dist/CustomDialog.css.map +1 -1
  165. package/dist/CustomDialog.mjs +10 -13
  166. package/dist/CustomDialog.mjs.map +1 -1
  167. package/dist/Dialog.cjs +12 -16
  168. package/dist/Dialog.cjs.map +1 -1
  169. package/dist/Dialog.css +39 -39
  170. package/dist/Dialog.css.map +1 -1
  171. package/dist/Dialog.mjs +12 -16
  172. package/dist/Dialog.mjs.map +1 -1
  173. package/dist/Disclosure.cjs +60 -69
  174. package/dist/Disclosure.cjs.map +1 -1
  175. package/dist/Disclosure.css +49 -49
  176. package/dist/Disclosure.css.map +1 -1
  177. package/dist/Disclosure.mjs +61 -70
  178. package/dist/Disclosure.mjs.map +1 -1
  179. package/dist/Divider.cjs +15 -19
  180. package/dist/Divider.cjs.map +1 -1
  181. package/dist/Divider.css +18 -18
  182. package/dist/Divider.css.map +1 -1
  183. package/dist/Divider.mjs +15 -19
  184. package/dist/Divider.mjs.map +1 -1
  185. package/dist/DropZone.cjs +30 -33
  186. package/dist/DropZone.cjs.map +1 -1
  187. package/dist/DropZone.css +26 -26
  188. package/dist/DropZone.css.map +1 -1
  189. package/dist/DropZone.mjs +30 -33
  190. package/dist/DropZone.mjs.map +1 -1
  191. package/dist/Field.cjs +133 -131
  192. package/dist/Field.cjs.map +1 -1
  193. package/dist/Field.css +76 -84
  194. package/dist/Field.css.map +1 -1
  195. package/dist/Field.mjs +133 -131
  196. package/dist/Field.mjs.map +1 -1
  197. package/dist/Form.cjs +6 -9
  198. package/dist/Form.cjs.map +1 -1
  199. package/dist/Form.css +3 -3
  200. package/dist/Form.css.map +1 -1
  201. package/dist/Form.mjs +6 -9
  202. package/dist/Form.mjs.map +1 -1
  203. package/dist/FullscreenDialog.cjs +7 -10
  204. package/dist/FullscreenDialog.cjs.map +1 -1
  205. package/dist/FullscreenDialog.css +54 -54
  206. package/dist/FullscreenDialog.css.map +1 -1
  207. package/dist/FullscreenDialog.mjs +7 -10
  208. package/dist/FullscreenDialog.mjs.map +1 -1
  209. package/dist/IllustratedMessage.cjs +128 -132
  210. package/dist/IllustratedMessage.cjs.map +1 -1
  211. package/dist/IllustratedMessage.css +58 -58
  212. package/dist/IllustratedMessage.css.map +1 -1
  213. package/dist/IllustratedMessage.mjs +128 -132
  214. package/dist/IllustratedMessage.mjs.map +1 -1
  215. package/dist/Image.cjs +12 -13
  216. package/dist/Image.cjs.map +1 -1
  217. package/dist/Image.css +11 -11
  218. package/dist/Image.css.map +1 -1
  219. package/dist/Image.mjs +13 -14
  220. package/dist/Image.mjs.map +1 -1
  221. package/dist/InlineAlert.cjs +75 -84
  222. package/dist/InlineAlert.cjs.map +1 -1
  223. package/dist/InlineAlert.css +59 -63
  224. package/dist/InlineAlert.css.map +1 -1
  225. package/dist/InlineAlert.mjs +76 -85
  226. package/dist/InlineAlert.mjs.map +1 -1
  227. package/dist/Link.cjs +36 -39
  228. package/dist/Link.cjs.map +1 -1
  229. package/dist/Link.css +42 -42
  230. package/dist/Link.css.map +1 -1
  231. package/dist/Link.mjs +37 -40
  232. package/dist/Link.mjs.map +1 -1
  233. package/dist/Menu.cjs +322 -234
  234. package/dist/Menu.cjs.map +1 -1
  235. package/dist/Menu.css +118 -116
  236. package/dist/Menu.css.map +1 -1
  237. package/dist/Menu.mjs +323 -235
  238. package/dist/Menu.mjs.map +1 -1
  239. package/dist/Meter.cjs +66 -70
  240. package/dist/Meter.cjs.map +1 -1
  241. package/dist/Meter.css +69 -73
  242. package/dist/Meter.css.map +1 -1
  243. package/dist/Meter.mjs +66 -70
  244. package/dist/Meter.mjs.map +1 -1
  245. package/dist/Modal.cjs +36 -45
  246. package/dist/Modal.cjs.map +1 -1
  247. package/dist/Modal.css +48 -72
  248. package/dist/Modal.css.map +1 -1
  249. package/dist/Modal.mjs +37 -46
  250. package/dist/Modal.mjs.map +1 -1
  251. package/dist/NumberField.cjs +66 -69
  252. package/dist/NumberField.cjs.map +1 -1
  253. package/dist/NumberField.css +70 -70
  254. package/dist/NumberField.css.map +1 -1
  255. package/dist/NumberField.mjs +67 -70
  256. package/dist/NumberField.mjs.map +1 -1
  257. package/dist/Picker.cjs +122 -122
  258. package/dist/Picker.cjs.map +1 -1
  259. package/dist/Picker.css +84 -84
  260. package/dist/Picker.css.map +1 -1
  261. package/dist/Picker.mjs +123 -123
  262. package/dist/Picker.mjs.map +1 -1
  263. package/dist/Popover.cjs +47 -69
  264. package/dist/Popover.cjs.map +1 -1
  265. package/dist/Popover.css +55 -126
  266. package/dist/Popover.css.map +1 -1
  267. package/dist/Popover.mjs +48 -70
  268. package/dist/Popover.mjs.map +1 -1
  269. package/dist/ProgressBar.cjs +85 -87
  270. package/dist/ProgressBar.cjs.map +1 -1
  271. package/dist/ProgressBar.css +81 -85
  272. package/dist/ProgressBar.css.map +1 -1
  273. package/dist/ProgressBar.mjs +85 -87
  274. package/dist/ProgressBar.mjs.map +1 -1
  275. package/dist/ProgressCircle.cjs +16 -18
  276. package/dist/ProgressCircle.cjs.map +1 -1
  277. package/dist/ProgressCircle.css +16 -16
  278. package/dist/ProgressCircle.css.map +1 -1
  279. package/dist/ProgressCircle.mjs +16 -18
  280. package/dist/ProgressCircle.mjs.map +1 -1
  281. package/dist/Provider.cjs +5 -5
  282. package/dist/Provider.css +6 -6
  283. package/dist/Provider.mjs +5 -5
  284. package/dist/Radio.cjs +54 -58
  285. package/dist/Radio.cjs.map +1 -1
  286. package/dist/Radio.css +50 -50
  287. package/dist/Radio.css.map +1 -1
  288. package/dist/Radio.mjs +55 -59
  289. package/dist/Radio.mjs.map +1 -1
  290. package/dist/RadioGroup.cjs +39 -43
  291. package/dist/RadioGroup.cjs.map +1 -1
  292. package/dist/RadioGroup.css +32 -32
  293. package/dist/RadioGroup.css.map +1 -1
  294. package/dist/RadioGroup.mjs +40 -44
  295. package/dist/RadioGroup.mjs.map +1 -1
  296. package/dist/RangeSlider.cjs +2 -3
  297. package/dist/RangeSlider.cjs.map +1 -1
  298. package/dist/RangeSlider.mjs +3 -4
  299. package/dist/RangeSlider.mjs.map +1 -1
  300. package/dist/SearchField.cjs +34 -37
  301. package/dist/SearchField.cjs.map +1 -1
  302. package/dist/SearchField.css +30 -30
  303. package/dist/SearchField.css.map +1 -1
  304. package/dist/SearchField.mjs +35 -38
  305. package/dist/SearchField.mjs.map +1 -1
  306. package/dist/SegmentedControl.cjs +67 -73
  307. package/dist/SegmentedControl.cjs.map +1 -1
  308. package/dist/SegmentedControl.css +63 -63
  309. package/dist/SegmentedControl.css.map +1 -1
  310. package/dist/SegmentedControl.mjs +68 -74
  311. package/dist/SegmentedControl.mjs.map +1 -1
  312. package/dist/Slider.cjs +111 -112
  313. package/dist/Slider.cjs.map +1 -1
  314. package/dist/Slider.css +87 -87
  315. package/dist/Slider.css.map +1 -1
  316. package/dist/Slider.mjs +112 -113
  317. package/dist/Slider.mjs.map +1 -1
  318. package/dist/StatusLight.cjs +28 -32
  319. package/dist/StatusLight.cjs.map +1 -1
  320. package/dist/StatusLight.css +26 -26
  321. package/dist/StatusLight.css.map +1 -1
  322. package/dist/StatusLight.mjs +28 -32
  323. package/dist/StatusLight.mjs.map +1 -1
  324. package/dist/Switch.cjs +56 -60
  325. package/dist/Switch.cjs.map +1 -1
  326. package/dist/Switch.css +48 -48
  327. package/dist/Switch.css.map +1 -1
  328. package/dist/Switch.mjs +57 -61
  329. package/dist/Switch.mjs.map +1 -1
  330. package/dist/TableView.cjs +209 -196
  331. package/dist/TableView.cjs.map +1 -1
  332. package/dist/TableView.css +95 -95
  333. package/dist/TableView.css.map +1 -1
  334. package/dist/TableView.mjs +211 -198
  335. package/dist/TableView.mjs.map +1 -1
  336. package/dist/Tabs.cjs +59 -62
  337. package/dist/Tabs.cjs.map +1 -1
  338. package/dist/Tabs.css +42 -42
  339. package/dist/Tabs.css.map +1 -1
  340. package/dist/Tabs.mjs +59 -62
  341. package/dist/Tabs.mjs.map +1 -1
  342. package/dist/TagGroup.cjs +122 -124
  343. package/dist/TagGroup.cjs.map +1 -1
  344. package/dist/TagGroup.css +93 -93
  345. package/dist/TagGroup.css.map +1 -1
  346. package/dist/TagGroup.mjs +122 -124
  347. package/dist/TagGroup.mjs.map +1 -1
  348. package/dist/TextField.cjs +44 -55
  349. package/dist/TextField.cjs.map +1 -1
  350. package/dist/TextField.css +33 -33
  351. package/dist/TextField.css.map +1 -1
  352. package/dist/TextField.mjs +45 -56
  353. package/dist/TextField.mjs.map +1 -1
  354. package/dist/ToggleButton.cjs +6 -9
  355. package/dist/ToggleButton.cjs.map +1 -1
  356. package/dist/ToggleButton.css +7 -7
  357. package/dist/ToggleButton.css.map +1 -1
  358. package/dist/ToggleButton.mjs +6 -9
  359. package/dist/ToggleButton.mjs.map +1 -1
  360. package/dist/ToggleButtonGroup.cjs +2 -5
  361. package/dist/ToggleButtonGroup.cjs.map +1 -1
  362. package/dist/ToggleButtonGroup.mjs +2 -5
  363. package/dist/ToggleButtonGroup.mjs.map +1 -1
  364. package/dist/Tooltip.cjs +48 -48
  365. package/dist/Tooltip.cjs.map +1 -1
  366. package/dist/Tooltip.css +55 -70
  367. package/dist/Tooltip.css.map +1 -1
  368. package/dist/Tooltip.mjs +49 -49
  369. package/dist/Tooltip.mjs.map +1 -1
  370. package/dist/ar-AE.cjs +10 -2
  371. package/dist/ar-AE.cjs.map +1 -1
  372. package/dist/ar-AE.mjs +10 -2
  373. package/dist/ar-AE.mjs.map +1 -1
  374. package/dist/bg-BG.cjs +11 -2
  375. package/dist/bg-BG.cjs.map +1 -1
  376. package/dist/bg-BG.mjs +11 -2
  377. package/dist/bg-BG.mjs.map +1 -1
  378. package/dist/cs-CZ.cjs +7 -2
  379. package/dist/cs-CZ.cjs.map +1 -1
  380. package/dist/cs-CZ.mjs +7 -2
  381. package/dist/cs-CZ.mjs.map +1 -1
  382. package/dist/da-DK.cjs +12 -4
  383. package/dist/da-DK.cjs.map +1 -1
  384. package/dist/da-DK.mjs +12 -4
  385. package/dist/da-DK.mjs.map +1 -1
  386. package/dist/de-DE.cjs +11 -2
  387. package/dist/de-DE.cjs.map +1 -1
  388. package/dist/de-DE.mjs +11 -2
  389. package/dist/de-DE.mjs.map +1 -1
  390. package/dist/el-GR.cjs +11 -2
  391. package/dist/el-GR.cjs.map +1 -1
  392. package/dist/el-GR.mjs +11 -2
  393. package/dist/el-GR.mjs.map +1 -1
  394. package/dist/en-US.cjs +8 -0
  395. package/dist/en-US.cjs.map +1 -1
  396. package/dist/en-US.mjs +8 -0
  397. package/dist/en-US.mjs.map +1 -1
  398. package/dist/es-ES.cjs +11 -2
  399. package/dist/es-ES.cjs.map +1 -1
  400. package/dist/es-ES.mjs +11 -2
  401. package/dist/es-ES.mjs.map +1 -1
  402. package/dist/et-EE.cjs +10 -2
  403. package/dist/et-EE.cjs.map +1 -1
  404. package/dist/et-EE.mjs +10 -2
  405. package/dist/et-EE.mjs.map +1 -1
  406. package/dist/fi-FI.cjs +10 -2
  407. package/dist/fi-FI.cjs.map +1 -1
  408. package/dist/fi-FI.mjs +10 -2
  409. package/dist/fi-FI.mjs.map +1 -1
  410. package/dist/fr-FR.cjs +11 -2
  411. package/dist/fr-FR.cjs.map +1 -1
  412. package/dist/fr-FR.mjs +11 -2
  413. package/dist/fr-FR.mjs.map +1 -1
  414. package/dist/he-IL.cjs +11 -2
  415. package/dist/he-IL.cjs.map +1 -1
  416. package/dist/he-IL.mjs +11 -2
  417. package/dist/he-IL.mjs.map +1 -1
  418. package/dist/hr-HR.cjs +7 -2
  419. package/dist/hr-HR.cjs.map +1 -1
  420. package/dist/hr-HR.mjs +7 -2
  421. package/dist/hr-HR.mjs.map +1 -1
  422. package/dist/hu-HU.cjs +10 -2
  423. package/dist/hu-HU.cjs.map +1 -1
  424. package/dist/hu-HU.mjs +10 -2
  425. package/dist/hu-HU.mjs.map +1 -1
  426. package/dist/it-IT.cjs +11 -2
  427. package/dist/it-IT.cjs.map +1 -1
  428. package/dist/it-IT.mjs +11 -2
  429. package/dist/it-IT.mjs.map +1 -1
  430. package/dist/ja-JP.cjs +10 -2
  431. package/dist/ja-JP.cjs.map +1 -1
  432. package/dist/ja-JP.mjs +10 -2
  433. package/dist/ja-JP.mjs.map +1 -1
  434. package/dist/ko-KR.cjs +12 -4
  435. package/dist/ko-KR.cjs.map +1 -1
  436. package/dist/ko-KR.mjs +12 -4
  437. package/dist/ko-KR.mjs.map +1 -1
  438. package/dist/lt-LT.cjs +9 -4
  439. package/dist/lt-LT.cjs.map +1 -1
  440. package/dist/lt-LT.mjs +9 -4
  441. package/dist/lt-LT.mjs.map +1 -1
  442. package/dist/lv-LV.cjs +11 -3
  443. package/dist/lv-LV.cjs.map +1 -1
  444. package/dist/lv-LV.mjs +11 -3
  445. package/dist/lv-LV.mjs.map +1 -1
  446. package/dist/main.cjs +4 -0
  447. package/dist/main.cjs.map +1 -1
  448. package/dist/module.mjs +3 -1
  449. package/dist/module.mjs.map +1 -1
  450. package/dist/nb-NO.cjs +9 -4
  451. package/dist/nb-NO.cjs.map +1 -1
  452. package/dist/nb-NO.mjs +9 -4
  453. package/dist/nb-NO.mjs.map +1 -1
  454. package/dist/nl-NL.cjs +10 -2
  455. package/dist/nl-NL.cjs.map +1 -1
  456. package/dist/nl-NL.mjs +10 -2
  457. package/dist/nl-NL.mjs.map +1 -1
  458. package/dist/pl-PL.cjs +8 -3
  459. package/dist/pl-PL.cjs.map +1 -1
  460. package/dist/pl-PL.mjs +8 -3
  461. package/dist/pl-PL.mjs.map +1 -1
  462. package/dist/pt-BR.cjs +11 -2
  463. package/dist/pt-BR.cjs.map +1 -1
  464. package/dist/pt-BR.mjs +11 -2
  465. package/dist/pt-BR.mjs.map +1 -1
  466. package/dist/pt-PT.cjs +11 -2
  467. package/dist/pt-PT.cjs.map +1 -1
  468. package/dist/pt-PT.mjs +11 -2
  469. package/dist/pt-PT.mjs.map +1 -1
  470. package/dist/ro-RO.cjs +12 -3
  471. package/dist/ro-RO.cjs.map +1 -1
  472. package/dist/ro-RO.mjs +12 -3
  473. package/dist/ro-RO.mjs.map +1 -1
  474. package/dist/ru-RU.cjs +7 -2
  475. package/dist/ru-RU.cjs.map +1 -1
  476. package/dist/ru-RU.mjs +7 -2
  477. package/dist/ru-RU.mjs.map +1 -1
  478. package/dist/sk-SK.cjs +7 -2
  479. package/dist/sk-SK.cjs.map +1 -1
  480. package/dist/sk-SK.mjs +7 -2
  481. package/dist/sk-SK.mjs.map +1 -1
  482. package/dist/sl-SI.cjs +7 -2
  483. package/dist/sl-SI.cjs.map +1 -1
  484. package/dist/sl-SI.mjs +7 -2
  485. package/dist/sl-SI.mjs.map +1 -1
  486. package/dist/sr-SP.cjs +7 -2
  487. package/dist/sr-SP.cjs.map +1 -1
  488. package/dist/sr-SP.mjs +7 -2
  489. package/dist/sr-SP.mjs.map +1 -1
  490. package/dist/sv-SE.cjs +11 -2
  491. package/dist/sv-SE.cjs.map +1 -1
  492. package/dist/sv-SE.mjs +11 -2
  493. package/dist/sv-SE.mjs.map +1 -1
  494. package/dist/tr-TR.cjs +10 -2
  495. package/dist/tr-TR.cjs.map +1 -1
  496. package/dist/tr-TR.mjs +10 -2
  497. package/dist/tr-TR.mjs.map +1 -1
  498. package/dist/types.d.ts +109 -89
  499. package/dist/types.d.ts.map +1 -1
  500. package/dist/uk-UA.cjs +7 -2
  501. package/dist/uk-UA.cjs.map +1 -1
  502. package/dist/uk-UA.mjs +7 -2
  503. package/dist/uk-UA.mjs.map +1 -1
  504. package/dist/zh-CN.cjs +10 -2
  505. package/dist/zh-CN.cjs.map +1 -1
  506. package/dist/zh-CN.mjs +10 -2
  507. package/dist/zh-CN.mjs.map +1 -1
  508. package/dist/zh-TW.cjs +10 -2
  509. package/dist/zh-TW.cjs.map +1 -1
  510. package/dist/zh-TW.mjs +10 -2
  511. package/dist/zh-TW.mjs.map +1 -1
  512. package/icons/Skeleton.cjs +2 -2
  513. package/icons/Skeleton.css +5 -5
  514. package/icons/Skeleton.mjs +2 -2
  515. package/package.json +20 -21
  516. package/src/Accordion.tsx +5 -8
  517. package/src/ActionBar.tsx +229 -0
  518. package/src/ActionButton.tsx +25 -52
  519. package/src/ActionButtonGroup.tsx +9 -11
  520. package/src/ActionMenu.tsx +5 -8
  521. package/src/AlertDialog.tsx +5 -8
  522. package/src/Avatar.tsx +5 -8
  523. package/src/AvatarGroup.tsx +5 -8
  524. package/src/Badge.tsx +5 -8
  525. package/src/Breadcrumbs.tsx +6 -12
  526. package/src/Button.tsx +197 -154
  527. package/src/ButtonGroup.tsx +5 -8
  528. package/src/CardView.tsx +37 -12
  529. package/src/Checkbox.tsx +6 -9
  530. package/src/CheckboxGroup.tsx +6 -9
  531. package/src/ClearButton.tsx +2 -5
  532. package/src/CloseButton.tsx +21 -31
  533. package/src/ColorArea.tsx +5 -8
  534. package/src/ColorField.tsx +5 -8
  535. package/src/ColorSlider.tsx +5 -8
  536. package/src/ColorSwatch.tsx +5 -8
  537. package/src/ColorSwatchPicker.tsx +5 -8
  538. package/src/ColorWheel.tsx +5 -8
  539. package/src/ComboBox.tsx +7 -9
  540. package/src/Content.tsx +12 -30
  541. package/src/ContextualHelp.tsx +5 -8
  542. package/src/CustomDialog.tsx +5 -8
  543. package/src/Dialog.tsx +6 -9
  544. package/src/Disclosure.tsx +15 -24
  545. package/src/Divider.tsx +16 -25
  546. package/src/DropZone.tsx +5 -8
  547. package/src/Field.tsx +25 -32
  548. package/src/Form.tsx +5 -8
  549. package/src/FullscreenDialog.tsx +5 -8
  550. package/src/IllustratedMessage.tsx +6 -9
  551. package/src/Image.tsx +3 -6
  552. package/src/InlineAlert.tsx +6 -10
  553. package/src/Link.tsx +13 -21
  554. package/src/Menu.tsx +69 -33
  555. package/src/Meter.tsx +13 -23
  556. package/src/Modal.tsx +22 -52
  557. package/src/NumberField.tsx +5 -8
  558. package/src/Picker.tsx +7 -9
  559. package/src/Popover.tsx +30 -104
  560. package/src/ProgressBar.tsx +14 -24
  561. package/src/ProgressCircle.tsx +18 -24
  562. package/src/Radio.tsx +6 -9
  563. package/src/RadioGroup.tsx +6 -9
  564. package/src/RangeSlider.tsx +2 -5
  565. package/src/SearchField.tsx +5 -8
  566. package/src/SegmentedControl.tsx +10 -16
  567. package/src/Slider.tsx +2 -5
  568. package/src/StatusLight.tsx +6 -9
  569. package/src/Switch.tsx +6 -9
  570. package/src/TableView.tsx +53 -50
  571. package/src/Tabs.tsx +5 -8
  572. package/src/TagGroup.tsx +7 -14
  573. package/src/TextField.tsx +20 -28
  574. package/src/ToggleButton.tsx +7 -9
  575. package/src/ToggleButtonGroup.tsx +5 -8
  576. package/src/Tooltip.tsx +30 -51
  577. package/src/bar-utils.ts +3 -10
  578. package/src/index.ts +2 -0
  579. package/src/style-utils.ts +15 -8
  580. package/style/dist/main.cjs +1 -0
  581. package/style/dist/main.cjs.map +1 -1
  582. package/style/dist/module.mjs +2 -2
  583. package/style/dist/module.mjs.map +1 -1
  584. package/style/dist/spectrum-theme.cjs +72 -5
  585. package/style/dist/spectrum-theme.cjs.map +1 -1
  586. package/style/dist/spectrum-theme.mjs +72 -6
  587. package/style/dist/spectrum-theme.mjs.map +1 -1
  588. package/style/dist/style-macro.cjs +13 -1
  589. package/style/dist/style-macro.cjs.map +1 -1
  590. package/style/dist/style-macro.mjs +13 -1
  591. package/style/dist/style-macro.mjs.map +1 -1
  592. package/style/dist/types.d.ts +50 -29
  593. package/style/dist/types.d.ts.map +1 -1
  594. package/style/index.ts +1 -1
  595. package/style/spectrum-theme.ts +72 -7
  596. package/style/style-macro.ts +20 -4
  597. package/style/tokens.ts +30 -0
  598. package/style/types.ts +1 -1
package/src/Meter.tsx CHANGED
@@ -40,7 +40,7 @@ interface MeterStyleProps {
40
40
  /**
41
41
  * The static color style to apply. Useful when the button appears over a color background.
42
42
  */
43
- staticColor?: 'white' | 'black',
43
+ staticColor?: 'white' | 'black' | 'auto',
44
44
  /**
45
45
  * The label's overall position relative to the element it is labeling.
46
46
  * @default 'top'
@@ -77,7 +77,7 @@ const trackStyles = style({
77
77
  }
78
78
  });
79
79
 
80
- const fillStyles = style<MeterStyleProps>({
80
+ const fillStyles = style<MeterStyleProps & {isStaticColor: boolean}>({
81
81
  height: 'full',
82
82
  borderStyle: 'none',
83
83
  borderRadius: 'full',
@@ -88,20 +88,16 @@ const fillStyles = style<MeterStyleProps>({
88
88
  notice: lightDark('notice-800', 'notice-900'), // 'notice-visual',
89
89
  negative: lightDark('negative-800', 'negative-900') // 'negative-visual'
90
90
  },
91
- staticColor: {
92
- white: {
93
- default: 'transparent-white-900'
94
- },
95
- // TODO: Is there a black static color in S2?
96
- black: {
97
- default: 'transparent-black-900'
98
- }
99
- },
91
+ isStaticColor: 'transparent-overlay-900',
100
92
  forcedColors: 'ButtonText'
101
93
  }
102
94
  });
103
95
 
104
- function Meter(props: MeterProps, ref: DOMRef<HTMLDivElement>) {
96
+ /**
97
+ * Meters are visual representations of a quantity or an achievement.
98
+ * Their progress is determined by user actions, rather than system actions.
99
+ */
100
+ export const Meter = forwardRef(function Meter(props: MeterProps, ref: DOMRef<HTMLDivElement>) {
105
101
  [props, ref] = useSpectrumContextProps(props, ref, MeterContext);
106
102
  let domRef = useDOMRef(ref);
107
103
 
@@ -116,6 +112,7 @@ function Meter(props: MeterProps, ref: DOMRef<HTMLDivElement>) {
116
112
  labelPosition = 'top',
117
113
  ...groupProps
118
114
  } = props;
115
+ let isStaticColor = !!staticColor;
119
116
 
120
117
  return (
121
118
  <AriaMeter
@@ -131,21 +128,14 @@ function Meter(props: MeterProps, ref: DOMRef<HTMLDivElement>) {
131
128
  {({percentage, valueText}) => (
132
129
  <>
133
130
  {label && <FieldLabel size={size} labelAlign="start" labelPosition={labelPosition} staticColor={staticColor}>{label}</FieldLabel>}
134
- {label && <Text styles={valueStyles({size, labelAlign: 'end', staticColor})}>{valueText}</Text>}
131
+ {label && <Text styles={valueStyles({size, labelAlign: 'end', isStaticColor})}>{valueText}</Text>}
135
132
  <SkeletonWrapper>
136
- <div className={trackStyles({staticColor, size})}>
137
- <div className={fillStyles({staticColor, variant})} style={{width: percentage + '%'}} />
133
+ <div className={trackStyles({isStaticColor, size})}>
134
+ <div className={fillStyles({isStaticColor, variant})} style={{width: percentage + '%'}} />
138
135
  </div>
139
136
  </SkeletonWrapper>
140
137
  </>
141
138
  )}
142
139
  </AriaMeter>
143
140
  );
144
- }
145
-
146
- /**
147
- * Meters are visual representations of a quantity or an achievement.
148
- * Their progress is determined by user actions, rather than system actions.
149
- */
150
- let _Meter = forwardRef(Meter);
151
- export {_Meter as Meter};
141
+ });
package/src/Modal.tsx CHANGED
@@ -14,7 +14,6 @@ import {colorScheme} from './style-utils' with {type: 'macro'};
14
14
  import {ColorSchemeContext} from './Provider';
15
15
  import {DOMRef} from '@react-types/shared';
16
16
  import {forwardRef, MutableRefObject, useCallback, useContext} from 'react';
17
- import {keyframes} from '../style/style-macro' with {type: 'macro'};
18
17
  import {ModalOverlay, ModalOverlayProps, Modal as RACModal, useLocale} from 'react-aria-components';
19
18
  import {style} from '../style' with {type: 'macro'};
20
19
  import {useDOMRef} from '@react-spectrum/utils';
@@ -28,28 +27,6 @@ interface ModalProps extends ModalOverlayProps {
28
27
  size?: 'S' | 'M' | 'L' | 'fullscreen' | 'fullscreenTakeover'
29
28
  }
30
29
 
31
- const fade = keyframes(`
32
- from {
33
- opacity: 0;
34
- }
35
-
36
- to {
37
- opacity: 1;
38
- }
39
- `);
40
-
41
- const fadeAndSlide = keyframes(`
42
- from {
43
- opacity: 0;
44
- transform: translateY(20px);
45
- }
46
-
47
- to {
48
- opacity: 1;
49
- transform: translateY(0);
50
- }
51
- `);
52
-
53
30
  const modalOverlayStyles = style({
54
31
  ...colorScheme(),
55
32
  position: 'fixed',
@@ -59,21 +36,21 @@ const modalOverlayStyles = style({
59
36
  display: 'flex',
60
37
  alignItems: 'center',
61
38
  justifyContent: 'center',
62
- animation: {
63
- isEntering: fade,
64
- isExiting: fade
39
+ opacity: {
40
+ isEntering: 0,
41
+ isExiting: 0
65
42
  },
66
- animationDuration: {
67
- isEntering: 250,
43
+ transition: 'opacity',
44
+ transitionDuration: {
45
+ default: 250,
68
46
  isExiting: 130
69
- },
70
- animationDirection: {
71
- isEntering: 'normal',
72
- isExiting: 'reverse'
73
47
  }
74
48
  });
75
49
 
76
- function Modal(props: ModalProps, ref: DOMRef<HTMLDivElement>) {
50
+ /**
51
+ * A modal is an overlay element which blocks interaction with elements outside it.
52
+ */
53
+ export const Modal = forwardRef(function Modal(props: ModalProps, ref: DOMRef<HTMLDivElement>) {
77
54
  let domRef = useDOMRef(ref);
78
55
  let colorScheme = useContext(ColorSchemeContext);
79
56
  let {locale, direction} = useLocale();
@@ -138,23 +115,22 @@ function Modal(props: ModalProps, ref: DOMRef<HTMLDivElement>) {
138
115
  value: 'layer-2'
139
116
  },
140
117
  backgroundColor: '--s2-container-bg',
141
- animation: {
142
- isEntering: fadeAndSlide,
143
- isExiting: fade
118
+ opacity: {
119
+ isEntering: 0,
120
+ isExiting: 0
121
+ },
122
+ translateY: {
123
+ isEntering: 20
144
124
  },
145
- animationDuration: {
146
- isEntering: 250,
125
+ transition: '[opacity, translate]',
126
+ transitionDuration: {
127
+ default: 250,
147
128
  isExiting: 130
148
129
  },
149
- animationDelay: {
150
- isEntering: 160,
130
+ transitionDelay: {
131
+ default: 160,
151
132
  isExiting: 0
152
133
  },
153
- animationDirection: {
154
- isEntering: 'normal',
155
- isExiting: 'reverse'
156
- },
157
- animationFillMode: 'both',
158
134
  // Transparent outline for WHCM.
159
135
  outlineStyle: 'solid',
160
136
  outlineWidth: 1,
@@ -162,10 +138,4 @@ function Modal(props: ModalProps, ref: DOMRef<HTMLDivElement>) {
162
138
  })({...renderProps, size: props.size})} />
163
139
  </ModalOverlay>
164
140
  );
165
- }
166
-
167
- /**
168
- * A modal is an overlay element which blocks interaction with elements outside it.
169
- */
170
- let _Modal = forwardRef(Modal);
171
- export {_Modal as Modal};
141
+ });
@@ -166,7 +166,10 @@ const stepperContainerStyles = style({
166
166
  }
167
167
  });
168
168
 
169
- function NumberField(props: NumberFieldProps, ref: Ref<TextFieldRef>) {
169
+ /**
170
+ * NumberFields allow users to input number values with a keyboard or increment/decrement with step buttons.
171
+ */
172
+ export const NumberField = forwardRef(function NumberField(props: NumberFieldProps, ref: Ref<TextFieldRef>) {
170
173
  [props, ref] = useSpectrumContextProps(props, ref, NumberFieldContext);
171
174
  let {
172
175
  label,
@@ -287,7 +290,7 @@ function NumberField(props: NumberFieldProps, ref: Ref<TextFieldRef>) {
287
290
  }
288
291
  </AriaNumberField>
289
292
  );
290
- }
293
+ });
291
294
 
292
295
  interface StepButtonProps extends AriaButtonProps {
293
296
  }
@@ -324,12 +327,6 @@ let StepButton = forwardRef((props: StepButtonProps, ref: ForwardedRef<HTMLDivEl
324
327
  );
325
328
  });
326
329
 
327
- /**
328
- * NumberFields allow users to input number values with a keyboard or increment/decrement with step buttons.
329
- */
330
- let _NumberField = forwardRef(NumberField);
331
- export {_NumberField as NumberField};
332
-
333
330
  // replace from RAC
334
331
  function useRenderProps(props: any) {
335
332
  let {
package/src/Picker.tsx CHANGED
@@ -228,7 +228,10 @@ const iconStyles = style({
228
228
  let InternalPickerContext = createContext<{size: 'S' | 'M' | 'L' | 'XL'}>({size: 'M'});
229
229
  let InsideSelectValueContext = createContext(false);
230
230
 
231
- function Picker<T extends object>(props: PickerProps<T>, ref: FocusableRef<HTMLButtonElement>) {
231
+ /**
232
+ * Pickers allow users to choose a single option from a collapsible list of options when space is limited.
233
+ */
234
+ export const Picker = /*#__PURE__*/ (forwardRef as forwardRefType)(function Picker<T extends object>(props: PickerProps<T>, ref: FocusableRef<HTMLButtonElement>) {
232
235
  let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');
233
236
  [props, ref] = useSpectrumContextProps(props, ref, PickerContext);
234
237
  let domRef = useFocusableRef(ref);
@@ -399,13 +402,7 @@ function Picker<T extends object>(props: PickerProps<T>, ref: FocusableRef<HTMLB
399
402
  )}
400
403
  </AriaSelect>
401
404
  );
402
- }
403
-
404
- /**
405
- * Pickers allow users to choose a single option from a collapsible list of options when space is limited.
406
- */
407
- let _Picker = /*#__PURE__*/ (forwardRef as forwardRefType)(Picker);
408
- export {_Picker as Picker};
405
+ });
409
406
 
410
407
  export interface PickerItemProps extends Omit<ListBoxItemProps, 'children' | 'style' | 'className'>, StyleProps {
411
408
  children: ReactNode
@@ -467,11 +464,12 @@ function DefaultProvider({context, value, children}: {context: React.Context<any
467
464
 
468
465
  export interface PickerSectionProps<T extends object> extends SectionProps<T> {}
469
466
  export function PickerSection<T extends object>(props: PickerSectionProps<T>) {
467
+ let {size} = useContext(InternalPickerContext);
470
468
  return (
471
469
  <>
472
470
  <AriaListBoxSection
473
471
  {...props}
474
- className={section}>
472
+ className={section({size})}>
475
473
  {props.children}
476
474
  </AriaListBoxSection>
477
475
  <Divider />
package/src/Popover.tsx CHANGED
@@ -24,7 +24,6 @@ import {colorScheme, getAllowedOverrides, StyleProps, UnsafeStyles} from './styl
24
24
  import {ColorSchemeContext} from './Provider';
25
25
  import {DOMRef} from '@react-types/shared';
26
26
  import {forwardRef, MutableRefObject, useCallback, useContext} from 'react';
27
- import {keyframes} from '../style/style-macro' with {type: 'macro'};
28
27
  import {mergeStyles} from '../style/runtime';
29
28
  import {style} from '../style' with {type: 'macro'};
30
29
  import {StyleString} from '../style/types' with {type: 'macro'};
@@ -46,52 +45,6 @@ export interface PopoverProps extends UnsafeStyles, Omit<AriaPopoverProps, 'arro
46
45
  // mobileType?: 'modal' | 'fullscreen' | 'fullscreenTakeover' // TODO: add tray back in
47
46
  }
48
47
 
49
- const fadeKeyframes = keyframes(`
50
- from {
51
- opacity: 0;
52
- }
53
-
54
- to {
55
- opacity: 1;
56
- }
57
- `);
58
- const slideUpKeyframes = keyframes(`
59
- from {
60
- transform: translateY(-4px);
61
- }
62
-
63
- to {
64
- transform: translateY(0);
65
- }
66
- `);
67
- const slideDownKeyframes = keyframes(`
68
- from {
69
- transform: translateY(4px);
70
- }
71
-
72
- to {
73
- transform: translateY(0);
74
- }
75
- `);
76
- const slideRightKeyframes = keyframes(`
77
- from {
78
- transform: translateX(4px);
79
- }
80
-
81
- to {
82
- transform: translateX(0);
83
- }
84
- `);
85
- const slideLeftKeyframes = keyframes(`
86
- from {
87
- transform: translateX(-4px);
88
- }
89
-
90
- to {
91
- transform: translateX(0);
92
- }
93
- `);
94
-
95
48
  let popover = style({
96
49
  ...colorScheme(),
97
50
  '--s2-container-bg': {
@@ -126,63 +79,41 @@ let popover = style({
126
79
  // Don't be larger than full screen minus 2 * containerPadding
127
80
  maxWidth: '[calc(100vw - 24px)]',
128
81
  boxSizing: 'border-box',
82
+ opacity: {
83
+ isEntering: 0,
84
+ isExiting: 0
85
+ },
129
86
  translateY: {
130
87
  placement: {
131
- bottom: {
132
- isArrowShown: 8 // TODO: not defined yet should this change with font size? need boolean support for 'hideArrow' prop
133
- },
134
88
  top: {
135
- isArrowShown: -8
136
- }
137
- }
138
- },
139
- translateX: {
140
- placement: {
141
- left: {
142
- isArrowShown: -8
89
+ isEntering: 4,
90
+ isExiting: 4
143
91
  },
144
- right: {
145
- isArrowShown: 8
92
+ bottom: {
93
+ isEntering: -4,
94
+ isExiting: -4
146
95
  }
147
- }
96
+ },
97
+ isSubmenu: 0
148
98
  },
149
- animation: {
99
+ translateX: {
150
100
  placement: {
151
- top: {
152
- isEntering: `${slideDownKeyframes}, ${fadeKeyframes}`,
153
- isExiting: `${slideDownKeyframes}, ${fadeKeyframes}`
154
- },
155
- bottom: {
156
- isEntering: `${slideUpKeyframes}, ${fadeKeyframes}`,
157
- isExiting: `${slideUpKeyframes}, ${fadeKeyframes}`
158
- },
159
101
  left: {
160
- isEntering: `${slideRightKeyframes}, ${fadeKeyframes}`,
161
- isExiting: `${slideRightKeyframes}, ${fadeKeyframes}`
102
+ isEntering: 4,
103
+ isExiting: 4
162
104
  },
163
105
  right: {
164
- isEntering: `${slideLeftKeyframes}, ${fadeKeyframes}`,
165
- isExiting: `${slideLeftKeyframes}, ${fadeKeyframes}`
106
+ isEntering: -4,
107
+ isExiting: -4
166
108
  }
167
109
  },
168
- isSubmenu: {
169
- isEntering: fadeKeyframes,
170
- isExiting: fadeKeyframes
171
- }
172
- },
173
- animationDuration: {
174
- isEntering: 200,
175
- isExiting: 200
176
- },
177
- animationDirection: {
178
- isEntering: 'normal',
179
- isExiting: 'reverse'
110
+ isSubmenu: 0
180
111
  },
181
- animationTimingFunction: {
112
+ transition: '[opacity, translate]',
113
+ transitionDuration: 200,
114
+ transitionTimingFunction: {
182
115
  isExiting: 'in'
183
116
  },
184
- transition: '[opacity, transform]',
185
- willChange: '[opacity, transform]',
186
117
  isolation: 'isolate',
187
118
  pointerEvents: {
188
119
  isExiting: 'none'
@@ -215,7 +146,7 @@ let arrow = style({
215
146
  }
216
147
  });
217
148
 
218
- function PopoverBase(props: PopoverProps, ref: DOMRef<HTMLDivElement>) {
149
+ export const PopoverBase = forwardRef(function PopoverBase(props: PopoverProps, ref: DOMRef<HTMLDivElement>) {
219
150
  let {
220
151
  hideArrow = false,
221
152
  UNSAFE_className = '',
@@ -262,6 +193,7 @@ function PopoverBase(props: PopoverProps, ref: DOMRef<HTMLDivElement>) {
262
193
  return (
263
194
  <AriaPopover
264
195
  {...props}
196
+ offset={(props.offset ?? 8) + (hideArrow ? 0 : 8)}
265
197
  ref={popoverRef}
266
198
  style={{
267
199
  ...UNSAFE_style,
@@ -283,10 +215,7 @@ function PopoverBase(props: PopoverProps, ref: DOMRef<HTMLDivElement>) {
283
215
  ))}
284
216
  </AriaPopover>
285
217
  );
286
- }
287
-
288
- let _PopoverBase = forwardRef(PopoverBase);
289
- export {_PopoverBase as PopoverBase};
218
+ });
290
219
 
291
220
  export interface PopoverDialogProps extends Pick<PopoverProps, 'size' | 'hideArrow'| 'placement' | 'shouldFlip' | 'containerPadding' | 'offset' | 'crossOffset'>, Omit<DialogProps, 'className' | 'style'>, StyleProps {}
292
221
 
@@ -301,11 +230,14 @@ const dialogStyle = style({
301
230
  maxSize: '[inherit]'
302
231
  }, getAllowedOverrides({height: true}));
303
232
 
304
- function Popover(props: PopoverDialogProps, ref: DOMRef) {
233
+ /**
234
+ * A popover is an overlay element positioned relative to a trigger.
235
+ */
236
+ export const Popover = forwardRef(function Popover(props: PopoverDialogProps, ref: DOMRef) {
305
237
  let domRef = useDOMRef(ref);
306
238
 
307
239
  return (
308
- <_PopoverBase size={props.size} hideArrow={props.hideArrow} placement={props.placement} shouldFlip={props.shouldFlip} containerPadding={props.containerPadding} offset={props.offset} crossOffset={props.crossOffset}>
240
+ <PopoverBase size={props.size} hideArrow={props.hideArrow} placement={props.placement} shouldFlip={props.shouldFlip} containerPadding={props.containerPadding} offset={props.offset} crossOffset={props.crossOffset}>
309
241
  <Dialog
310
242
  {...props}
311
243
  ref={domRef}
@@ -318,12 +250,6 @@ function Popover(props: PopoverDialogProps, ref: DOMRef) {
318
250
  </OverlayTriggerStateContext.Provider>
319
251
  ))}
320
252
  </Dialog>
321
- </_PopoverBase>
253
+ </PopoverBase>
322
254
  );
323
- }
324
-
325
- /**
326
- * A popover is an overlay element positioned relative to a trigger.
327
- */
328
- let _Popover = forwardRef(Popover);
329
- export {_Popover as Popover};
255
+ });
@@ -41,7 +41,7 @@ interface ProgressBarStyleProps {
41
41
  /**
42
42
  * The static color style to apply. Useful when the button appears over a color background.
43
43
  */
44
- staticColor?: 'white' | 'black',
44
+ staticColor?: 'white' | 'black' | 'auto',
45
45
  /**
46
46
  * The label's overall position relative to the element it is labeling.
47
47
  * @default 'top'
@@ -135,21 +135,13 @@ const trackStyles = style({
135
135
  }
136
136
  });
137
137
 
138
- const fill = style<ProgressBarStyleProps>({
138
+ const fill = style<ProgressBarStyleProps & {isStaticColor: boolean}>({
139
139
  height: 'full',
140
140
  borderStyle: 'none',
141
141
  borderRadius: 'full',
142
142
  backgroundColor: {
143
143
  default: 'accent',
144
- staticColor: {
145
- white: {
146
- default: 'transparent-white-900'
147
- },
148
- // TODO: Is there a black static color in S2?
149
- black: {
150
- default: 'transparent-black-900'
151
- }
152
- },
144
+ isStaticColor: 'transparent-overlay-900',
153
145
  forcedColors: 'ButtonText'
154
146
  },
155
147
  width: {
@@ -174,7 +166,11 @@ const indeterminateAnimation = style({
174
166
  position: 'relative'
175
167
  });
176
168
 
177
- function ProgressBar(props: ProgressBarProps, ref: DOMRef<HTMLDivElement>) {
169
+ /**
170
+ * ProgressBars show the progression of a system operation: downloading, uploading, processing, etc., in a visual way.
171
+ * They can represent either determinate or indeterminate progress.
172
+ */
173
+ export const ProgressBar = /*#__PURE__*/ forwardRef(function ProgressBar(props: ProgressBarProps, ref: DOMRef<HTMLDivElement>) {
178
174
  [props, ref] = useSpectrumContextProps(props, ref, ProgressBarContext);
179
175
  let {
180
176
  label, size = 'M',
@@ -186,32 +182,26 @@ function ProgressBar(props: ProgressBarProps, ref: DOMRef<HTMLDivElement>) {
186
182
  } = props;
187
183
  let domRef = useDOMRef(ref);
188
184
  let {direction} = useLocale();
185
+ let isStaticColor = !!staticColor;
189
186
 
190
187
  return (
191
188
  <AriaProgressBar
192
189
  {...props}
193
190
  ref={domRef}
194
191
  style={UNSAFE_style}
195
- className={UNSAFE_className + wrapper({...props, size, labelPosition}, props.styles)}>
192
+ className={UNSAFE_className + wrapper({...props, size, labelPosition, staticColor}, props.styles)}>
196
193
  {({percentage, valueText}) => (
197
194
  <>
198
195
  {label && <FieldLabel size={size} labelAlign="start" labelPosition={labelPosition} staticColor={staticColor}>{label}</FieldLabel>}
199
- {label && !isIndeterminate && <span className={valueStyles({size, labelAlign: 'end', staticColor})}>{valueText}</span>}
200
- <div className={trackStyles({...props})}>
196
+ {label && !isIndeterminate && <span className={valueStyles({size, labelAlign: 'end', isStaticColor})}>{valueText}</span>}
197
+ <div className={trackStyles({isStaticColor, size})}>
201
198
  <div
202
- className={mergeStyles(fill({...props, staticColor}), (isIndeterminate ? indeterminateAnimation({direction}) : null))}
199
+ className={mergeStyles(fill({...props, isStaticColor}), (isIndeterminate ? indeterminateAnimation({direction}) : null))}
203
200
  style={{width: isIndeterminate ? undefined : percentage + '%'}} />
204
201
  </div>
205
202
  </>
206
203
  )}
207
204
  </AriaProgressBar>
208
205
  );
209
- }
210
-
211
- /**
212
- * ProgressBars show the progression of a system operation: downloading, uploading, processing, etc., in a visual way.
213
- * They can represent either determinate or indeterminate progress.
214
- */
215
- const _ProgressBar = /*#__PURE__*/ forwardRef(ProgressBar);
216
- export {_ProgressBar as ProgressBar};
206
+ });
217
207
 
@@ -13,7 +13,7 @@
13
13
  import {ContextValue, ProgressBar as RACProgressBar, ProgressBarProps as RACProgressBarProps} from 'react-aria-components';
14
14
  import {createContext, forwardRef} from 'react';
15
15
  import {DOMRef, DOMRefValue} from '@react-types/shared';
16
- import {getAllowedOverrides, StylesPropWithHeight, UnsafeStyles} from './style-utils' with {type: 'macro'};
16
+ import {getAllowedOverrides, staticColor, StylesPropWithHeight, UnsafeStyles} from './style-utils' with {type: 'macro'};
17
17
  import {keyframes} from '../style/style-macro' with {type: 'macro'};
18
18
  import {style} from '../style' with {type: 'macro'};
19
19
  import {useDOMRef} from '@react-spectrum/utils';
@@ -27,7 +27,7 @@ export interface ProgressCircleStyleProps {
27
27
  */
28
28
  size?: 'S' | 'M' | 'L',
29
29
  /** The static color style to apply. Useful when the button appears over a color background. */
30
- staticColor?: 'black' | 'white',
30
+ staticColor?: 'black' | 'white' | 'auto',
31
31
  /**
32
32
  * Whether presentation is indeterminate when progress isn't known.
33
33
  */
@@ -38,6 +38,7 @@ export const ProgressCircleContext = createContext<ContextValue<ProgressCirclePr
38
38
 
39
39
  // Double check the types passed to each style, may not need all for each
40
40
  const wrapper = style<ProgressCircleStyleProps>({
41
+ ...staticColor(),
41
42
  size: {
42
43
  default: 32,
43
44
  size: {
@@ -48,24 +49,18 @@ const wrapper = style<ProgressCircleStyleProps>({
48
49
  aspectRatio: 'square'
49
50
  }, getAllowedOverrides({height: true}));
50
51
 
51
- const track = style<ProgressCircleStyleProps>({
52
+ const track = style({
52
53
  stroke: {
53
54
  default: 'gray-300',
54
- staticColor: {
55
- white: 'transparent-white-300',
56
- black: 'transparent-black-300'
57
- },
55
+ isStaticColor: 'transparent-overlay-300',
58
56
  forcedColors: 'Background'
59
57
  }
60
58
  });
61
59
 
62
- const fill = style<ProgressCircleStyleProps>({
60
+ const fill = style({
63
61
  stroke: {
64
62
  default: 'blue-900',
65
- staticColor: {
66
- white: 'transparent-white-900',
67
- black: 'transparent-black-900'
68
- },
63
+ isStaticColor: 'transparent-overlay-900',
69
64
  forcedColors: 'Highlight'
70
65
  },
71
66
  rotate: -90,
@@ -98,7 +93,11 @@ const dashoffsetAnimation = keyframes(`
98
93
  }
99
94
  `);
100
95
 
101
- function ProgressCircle(props: ProgressCircleProps, ref: DOMRef<HTMLDivElement>) {
96
+ /**
97
+ * ProgressCircles show the progression of a system operation such as downloading, uploading, or processing, in a visual way.
98
+ * They can represent determinate or indeterminate progress.
99
+ */
100
+ export const ProgressCircle = /*#__PURE__*/ forwardRef(function ProgressCircle(props: ProgressCircleProps, ref: DOMRef<HTMLDivElement>) {
102
101
  [props, ref] = useSpectrumContextProps(props, ref, ProgressCircleContext);
103
102
  let {
104
103
  size = 'M',
@@ -117,6 +116,7 @@ function ProgressCircle(props: ProgressCircleProps, ref: DOMRef<HTMLDivElement>)
117
116
 
118
117
  // SVG strokes are centered, so subtract half the stroke width from the radius to create an inner stroke.
119
118
  let radius = `calc(50% - ${strokeWidth / 2}px)`;
119
+ let isStaticColor = !!staticColor;
120
120
 
121
121
  return (
122
122
  <RACProgressBar
@@ -125,7 +125,8 @@ function ProgressCircle(props: ProgressCircleProps, ref: DOMRef<HTMLDivElement>)
125
125
  style={UNSAFE_style}
126
126
  className={renderProps => UNSAFE_className + wrapper({
127
127
  ...renderProps,
128
- size
128
+ size,
129
+ staticColor
129
130
  }, props.styles)}>
130
131
  {({percentage, isIndeterminate}) => (
131
132
  <svg
@@ -137,13 +138,13 @@ function ProgressCircle(props: ProgressCircleProps, ref: DOMRef<HTMLDivElement>)
137
138
  cy="50%"
138
139
  r={radius}
139
140
  strokeWidth={strokeWidth}
140
- className={track({staticColor})} />
141
+ className={track({isStaticColor})} />
141
142
  <circle
142
143
  cx="50%"
143
144
  cy="50%"
144
145
  r={radius}
145
146
  strokeWidth={strokeWidth}
146
- className={fill({staticColor})}
147
+ className={fill({isStaticColor})}
147
148
  style={{
148
149
  // These cubic-bezier timing functions were derived from the previous animation keyframes
149
150
  // using a best fit algorithm, and then manually adjusted to approximate the original animation.
@@ -159,11 +160,4 @@ function ProgressCircle(props: ProgressCircleProps, ref: DOMRef<HTMLDivElement>)
159
160
  )}
160
161
  </RACProgressBar>
161
162
  );
162
- }
163
-
164
- /**
165
- * ProgressCircles show the progression of a system operation such as downloading, uploading, or processing, in a visual way.
166
- * They can represent determinate or indeterminate progress.
167
- */
168
- let _ProgressCircle = /*#__PURE__*/ forwardRef(ProgressCircle);
169
- export {_ProgressCircle as ProgressCircle};
163
+ });