@react-spectrum/s2 0.11.1 → 0.12.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 (566) hide show
  1. package/dist/Accordion.cjs +3 -3
  2. package/dist/Accordion.css +2 -2
  3. package/dist/Accordion.mjs +3 -3
  4. package/dist/ActionBar.cjs +61 -62
  5. package/dist/ActionBar.cjs.map +1 -1
  6. package/dist/ActionBar.css +62 -66
  7. package/dist/ActionBar.css.map +1 -1
  8. package/dist/ActionBar.mjs +61 -62
  9. package/dist/ActionBar.mjs.map +1 -1
  10. package/dist/ActionButton.cjs +356 -250
  11. package/dist/ActionButton.cjs.map +1 -1
  12. package/dist/ActionButton.css +208 -144
  13. package/dist/ActionButton.css.map +1 -1
  14. package/dist/ActionButton.mjs +357 -251
  15. package/dist/ActionButton.mjs.map +1 -1
  16. package/dist/ActionButtonGroup.cjs +16 -16
  17. package/dist/ActionButtonGroup.css +9 -9
  18. package/dist/ActionButtonGroup.mjs +16 -16
  19. package/dist/Add.cjs +10 -10
  20. package/dist/Add.css +6 -6
  21. package/dist/Add.mjs +10 -10
  22. package/dist/AlertDialog.cjs +3 -3
  23. package/dist/AlertDialog.css +3 -3
  24. package/dist/AlertDialog.mjs +3 -3
  25. package/dist/Asterisk.cjs +6 -6
  26. package/dist/Asterisk.css +4 -4
  27. package/dist/Asterisk.mjs +6 -6
  28. package/dist/Avatar.cjs +20 -16
  29. package/dist/Avatar.cjs.map +1 -1
  30. package/dist/Avatar.css +22 -14
  31. package/dist/Avatar.css.map +1 -1
  32. package/dist/Avatar.mjs +20 -16
  33. package/dist/Avatar.mjs.map +1 -1
  34. package/dist/AvatarGroup.cjs +135 -135
  35. package/dist/AvatarGroup.css +33 -33
  36. package/dist/AvatarGroup.mjs +135 -135
  37. package/dist/Badge.cjs +207 -207
  38. package/dist/Badge.css +127 -127
  39. package/dist/Badge.mjs +207 -207
  40. package/dist/Breadcrumbs.cjs +255 -255
  41. package/dist/Breadcrumbs.css +109 -109
  42. package/dist/Breadcrumbs.mjs +255 -255
  43. package/dist/Button.cjs +356 -354
  44. package/dist/Button.cjs.map +1 -1
  45. package/dist/Button.css +179 -179
  46. package/dist/Button.css.map +1 -1
  47. package/dist/Button.mjs +357 -356
  48. package/dist/Button.mjs.map +1 -1
  49. package/dist/ButtonGroup.cjs +21 -21
  50. package/dist/ButtonGroup.css +15 -15
  51. package/dist/ButtonGroup.mjs +21 -21
  52. package/dist/Calendar.cjs +127 -127
  53. package/dist/Calendar.cjs.map +1 -1
  54. package/dist/Calendar.css +134 -134
  55. package/dist/Calendar.css.map +1 -1
  56. package/dist/Calendar.mjs +127 -127
  57. package/dist/Calendar.mjs.map +1 -1
  58. package/dist/Card.cjs +335 -311
  59. package/dist/Card.cjs.map +1 -1
  60. package/dist/Card.css +213 -213
  61. package/dist/Card.css.map +1 -1
  62. package/dist/Card.mjs +335 -311
  63. package/dist/Card.mjs.map +1 -1
  64. package/dist/CardView.cjs +25 -19
  65. package/dist/CardView.cjs.map +1 -1
  66. package/dist/CardView.css +16 -16
  67. package/dist/CardView.css.map +1 -1
  68. package/dist/CardView.mjs +26 -20
  69. package/dist/CardView.mjs.map +1 -1
  70. package/dist/CenterBaseline.cjs +1 -1
  71. package/dist/CenterBaseline.css +2 -2
  72. package/dist/CenterBaseline.mjs +1 -1
  73. package/dist/Checkbox.cjs +171 -171
  74. package/dist/Checkbox.css +92 -92
  75. package/dist/Checkbox.mjs +171 -171
  76. package/dist/CheckboxGroup.cjs +46 -46
  77. package/dist/CheckboxGroup.css +38 -38
  78. package/dist/CheckboxGroup.mjs +46 -46
  79. package/dist/Checkmark.cjs +12 -12
  80. package/dist/Checkmark.css +8 -8
  81. package/dist/Checkmark.mjs +12 -12
  82. package/dist/Chevron.cjs +12 -12
  83. package/dist/Chevron.css +10 -10
  84. package/dist/Chevron.mjs +12 -12
  85. package/dist/ClearButton.cjs +29 -29
  86. package/dist/ClearButton.css +29 -29
  87. package/dist/ClearButton.mjs +29 -29
  88. package/dist/CloseButton.cjs +55 -55
  89. package/dist/CloseButton.css +46 -46
  90. package/dist/CloseButton.mjs +55 -55
  91. package/dist/ColorArea.cjs +25 -18
  92. package/dist/ColorArea.cjs.map +1 -1
  93. package/dist/ColorArea.css +16 -16
  94. package/dist/ColorArea.css.map +1 -1
  95. package/dist/ColorArea.mjs +26 -19
  96. package/dist/ColorArea.mjs.map +1 -1
  97. package/dist/ColorField.cjs +33 -33
  98. package/dist/ColorField.cjs.map +1 -1
  99. package/dist/ColorField.css +28 -28
  100. package/dist/ColorField.css.map +1 -1
  101. package/dist/ColorField.mjs +33 -33
  102. package/dist/ColorField.mjs.map +1 -1
  103. package/dist/ColorHandle.cjs +27 -27
  104. package/dist/ColorHandle.css +43 -43
  105. package/dist/ColorHandle.mjs +27 -27
  106. package/dist/ColorSlider.cjs +122 -121
  107. package/dist/ColorSlider.cjs.map +1 -1
  108. package/dist/ColorSlider.css +54 -54
  109. package/dist/ColorSlider.css.map +1 -1
  110. package/dist/ColorSlider.mjs +122 -121
  111. package/dist/ColorSlider.mjs.map +1 -1
  112. package/dist/ColorSwatch.cjs +30 -30
  113. package/dist/ColorSwatch.css +29 -29
  114. package/dist/ColorSwatch.mjs +30 -30
  115. package/dist/ColorSwatchPicker.cjs +28 -28
  116. package/dist/ColorSwatchPicker.css +46 -46
  117. package/dist/ColorSwatchPicker.mjs +28 -28
  118. package/dist/ColorWheel.cjs +26 -26
  119. package/dist/ColorWheel.css +17 -17
  120. package/dist/ColorWheel.mjs +26 -26
  121. package/dist/ComboBox.cjs +474 -452
  122. package/dist/ComboBox.cjs.map +1 -1
  123. package/dist/ComboBox.css +213 -185
  124. package/dist/ComboBox.css.map +1 -1
  125. package/dist/ComboBox.mjs +475 -453
  126. package/dist/ComboBox.mjs.map +1 -1
  127. package/dist/ContextualHelp.cjs +36 -33
  128. package/dist/ContextualHelp.cjs.map +1 -1
  129. package/dist/ContextualHelp.css +68 -60
  130. package/dist/ContextualHelp.css.map +1 -1
  131. package/dist/ContextualHelp.mjs +37 -34
  132. package/dist/ContextualHelp.mjs.map +1 -1
  133. package/dist/Cross.cjs +14 -14
  134. package/dist/Cross.css +10 -10
  135. package/dist/Cross.mjs +14 -14
  136. package/dist/CustomDialog.cjs +26 -26
  137. package/dist/CustomDialog.cjs.map +1 -1
  138. package/dist/CustomDialog.css +25 -25
  139. package/dist/CustomDialog.css.map +1 -1
  140. package/dist/CustomDialog.mjs +26 -26
  141. package/dist/CustomDialog.mjs.map +1 -1
  142. package/dist/Dash.cjs +10 -10
  143. package/dist/Dash.css +6 -6
  144. package/dist/Dash.mjs +10 -10
  145. package/dist/DateField.cjs +74 -74
  146. package/dist/DateField.cjs.map +1 -1
  147. package/dist/DateField.css +77 -77
  148. package/dist/DateField.css.map +1 -1
  149. package/dist/DateField.mjs +74 -74
  150. package/dist/DateField.mjs.map +1 -1
  151. package/dist/DatePicker.cjs +194 -191
  152. package/dist/DatePicker.cjs.map +1 -1
  153. package/dist/DatePicker.css +138 -126
  154. package/dist/DatePicker.css.map +1 -1
  155. package/dist/DatePicker.mjs +195 -192
  156. package/dist/DatePicker.mjs.map +1 -1
  157. package/dist/DateRangePicker.cjs +57 -57
  158. package/dist/DateRangePicker.cjs.map +1 -1
  159. package/dist/DateRangePicker.css +60 -60
  160. package/dist/DateRangePicker.css.map +1 -1
  161. package/dist/DateRangePicker.mjs +57 -57
  162. package/dist/DateRangePicker.mjs.map +1 -1
  163. package/dist/Dialog.cjs +17 -17
  164. package/dist/Dialog.cjs.map +1 -1
  165. package/dist/Dialog.css +88 -84
  166. package/dist/Dialog.css.map +1 -1
  167. package/dist/Dialog.mjs +17 -17
  168. package/dist/Dialog.mjs.map +1 -1
  169. package/dist/Disclosure.cjs +128 -147
  170. package/dist/Disclosure.cjs.map +1 -1
  171. package/dist/Disclosure.css +144 -112
  172. package/dist/Disclosure.css.map +1 -1
  173. package/dist/Disclosure.mjs +128 -147
  174. package/dist/Disclosure.mjs.map +1 -1
  175. package/dist/Divider.cjs +26 -26
  176. package/dist/Divider.css +25 -25
  177. package/dist/Divider.mjs +26 -26
  178. package/dist/DropZone.cjs +63 -63
  179. package/dist/DropZone.cjs.map +1 -1
  180. package/dist/DropZone.css +58 -58
  181. package/dist/DropZone.css.map +1 -1
  182. package/dist/DropZone.mjs +63 -63
  183. package/dist/DropZone.mjs.map +1 -1
  184. package/dist/Field.cjs +370 -370
  185. package/dist/Field.cjs.map +1 -1
  186. package/dist/Field.css +146 -142
  187. package/dist/Field.css.map +1 -1
  188. package/dist/Field.mjs +370 -370
  189. package/dist/Field.mjs.map +1 -1
  190. package/dist/Form.cjs +10 -10
  191. package/dist/Form.css +9 -9
  192. package/dist/Form.mjs +10 -10
  193. package/dist/FullscreenDialog.cjs +5 -5
  194. package/dist/FullscreenDialog.cjs.map +1 -1
  195. package/dist/FullscreenDialog.css +93 -93
  196. package/dist/FullscreenDialog.css.map +1 -1
  197. package/dist/FullscreenDialog.mjs +5 -5
  198. package/dist/FullscreenDialog.mjs.map +1 -1
  199. package/dist/IllustratedMessage.cjs +257 -257
  200. package/dist/IllustratedMessage.css +78 -78
  201. package/dist/IllustratedMessage.mjs +257 -257
  202. package/dist/Image.cjs +25 -17
  203. package/dist/Image.cjs.map +1 -1
  204. package/dist/Image.css +14 -14
  205. package/dist/Image.css.map +1 -1
  206. package/dist/Image.mjs +25 -17
  207. package/dist/Image.mjs.map +1 -1
  208. package/dist/InlineAlert.cjs +138 -153
  209. package/dist/InlineAlert.cjs.map +1 -1
  210. package/dist/InlineAlert.css +82 -151
  211. package/dist/InlineAlert.css.map +1 -1
  212. package/dist/InlineAlert.mjs +138 -153
  213. package/dist/InlineAlert.mjs.map +1 -1
  214. package/dist/Link.cjs +55 -55
  215. package/dist/Link.css +46 -46
  216. package/dist/Link.mjs +55 -55
  217. package/dist/LinkOut.cjs +8 -8
  218. package/dist/LinkOut.css +8 -8
  219. package/dist/LinkOut.mjs +8 -8
  220. package/dist/Menu.cjs +529 -501
  221. package/dist/Menu.cjs.map +1 -1
  222. package/dist/Menu.css +195 -191
  223. package/dist/Menu.css.map +1 -1
  224. package/dist/Menu.mjs +529 -502
  225. package/dist/Menu.mjs.map +1 -1
  226. package/dist/Meter.cjs +164 -164
  227. package/dist/Meter.css +93 -93
  228. package/dist/Meter.mjs +164 -164
  229. package/dist/Modal.cjs +90 -70
  230. package/dist/Modal.cjs.map +1 -1
  231. package/dist/Modal.css +76 -60
  232. package/dist/Modal.css.map +1 -1
  233. package/dist/Modal.mjs +90 -70
  234. package/dist/Modal.mjs.map +1 -1
  235. package/dist/NotificationBadge.cjs +59 -59
  236. package/dist/NotificationBadge.css +51 -51
  237. package/dist/NotificationBadge.mjs +59 -59
  238. package/dist/NumberField.cjs +116 -116
  239. package/dist/NumberField.cjs.map +1 -1
  240. package/dist/NumberField.css +100 -100
  241. package/dist/NumberField.css.map +1 -1
  242. package/dist/NumberField.mjs +116 -116
  243. package/dist/NumberField.mjs.map +1 -1
  244. package/dist/Picker.cjs +424 -349
  245. package/dist/Picker.cjs.map +1 -1
  246. package/dist/Picker.css +200 -180
  247. package/dist/Picker.css.map +1 -1
  248. package/dist/Picker.mjs +428 -353
  249. package/dist/Picker.mjs.map +1 -1
  250. package/dist/Popover.cjs +120 -116
  251. package/dist/Popover.cjs.map +1 -1
  252. package/dist/Popover.css +86 -82
  253. package/dist/Popover.css.map +1 -1
  254. package/dist/Popover.mjs +121 -118
  255. package/dist/Popover.mjs.map +1 -1
  256. package/dist/ProgressBar.cjs +174 -174
  257. package/dist/ProgressBar.css +101 -101
  258. package/dist/ProgressBar.mjs +174 -174
  259. package/dist/ProgressCircle.cjs +32 -32
  260. package/dist/ProgressCircle.css +24 -24
  261. package/dist/ProgressCircle.mjs +32 -32
  262. package/dist/Provider.cjs +11 -11
  263. package/dist/Provider.cjs.map +1 -1
  264. package/dist/Provider.css +13 -13
  265. package/dist/Provider.css.map +1 -1
  266. package/dist/Provider.mjs +11 -11
  267. package/dist/Provider.mjs.map +1 -1
  268. package/dist/Radio.cjs +155 -155
  269. package/dist/Radio.css +79 -79
  270. package/dist/Radio.mjs +155 -155
  271. package/dist/RadioGroup.cjs +43 -43
  272. package/dist/RadioGroup.css +38 -38
  273. package/dist/RadioGroup.mjs +43 -43
  274. package/dist/RangeCalendar.cjs +8 -8
  275. package/dist/RangeCalendar.cjs.map +1 -1
  276. package/dist/RangeCalendar.css +10 -10
  277. package/dist/RangeCalendar.css.map +1 -1
  278. package/dist/RangeCalendar.mjs +8 -8
  279. package/dist/RangeCalendar.mjs.map +1 -1
  280. package/dist/RangeSlider.cjs.map +1 -1
  281. package/dist/RangeSlider.mjs.map +1 -1
  282. package/dist/SearchField.cjs +43 -43
  283. package/dist/SearchField.cjs.map +1 -1
  284. package/dist/SearchField.css +46 -46
  285. package/dist/SearchField.css.map +1 -1
  286. package/dist/SearchField.mjs +43 -43
  287. package/dist/SearchField.mjs.map +1 -1
  288. package/dist/SegmentedControl.cjs +193 -224
  289. package/dist/SegmentedControl.cjs.map +1 -1
  290. package/dist/SegmentedControl.css +146 -118
  291. package/dist/SegmentedControl.css.map +1 -1
  292. package/dist/SegmentedControl.mjs +196 -227
  293. package/dist/SegmentedControl.mjs.map +1 -1
  294. package/dist/SelectBoxGroup.cjs +161 -159
  295. package/dist/SelectBoxGroup.cjs.map +1 -1
  296. package/dist/SelectBoxGroup.css +123 -123
  297. package/dist/SelectBoxGroup.css.map +1 -1
  298. package/dist/SelectBoxGroup.mjs +161 -159
  299. package/dist/SelectBoxGroup.mjs.map +1 -1
  300. package/dist/Slider.cjs +300 -300
  301. package/dist/Slider.css +151 -151
  302. package/dist/Slider.mjs +300 -300
  303. package/dist/StatusLight.cjs +126 -126
  304. package/dist/StatusLight.css +61 -61
  305. package/dist/StatusLight.mjs +126 -126
  306. package/dist/Switch.cjs +163 -163
  307. package/dist/Switch.css +74 -74
  308. package/dist/Switch.mjs +163 -163
  309. package/dist/TableView.cjs +340 -328
  310. package/dist/TableView.cjs.map +1 -1
  311. package/dist/TableView.css +176 -172
  312. package/dist/TableView.css.map +1 -1
  313. package/dist/TableView.mjs +340 -328
  314. package/dist/TableView.mjs.map +1 -1
  315. package/dist/Tabs.cjs +150 -190
  316. package/dist/Tabs.cjs.map +1 -1
  317. package/dist/Tabs.css +128 -100
  318. package/dist/Tabs.css.map +1 -1
  319. package/dist/Tabs.mjs +153 -193
  320. package/dist/Tabs.mjs.map +1 -1
  321. package/dist/TabsPicker.cjs +169 -161
  322. package/dist/TabsPicker.cjs.map +1 -1
  323. package/dist/TabsPicker.css +116 -124
  324. package/dist/TabsPicker.css.map +1 -1
  325. package/dist/TabsPicker.mjs +170 -162
  326. package/dist/TabsPicker.mjs.map +1 -1
  327. package/dist/TagGroup.cjs +226 -218
  328. package/dist/TagGroup.cjs.map +1 -1
  329. package/dist/TagGroup.css +147 -147
  330. package/dist/TagGroup.css.map +1 -1
  331. package/dist/TagGroup.mjs +226 -218
  332. package/dist/TagGroup.mjs.map +1 -1
  333. package/dist/TextField.cjs +65 -63
  334. package/dist/TextField.cjs.map +1 -1
  335. package/dist/TextField.css +58 -54
  336. package/dist/TextField.css.map +1 -1
  337. package/dist/TextField.mjs +65 -63
  338. package/dist/TextField.mjs.map +1 -1
  339. package/dist/TimeField.cjs +53 -53
  340. package/dist/TimeField.cjs.map +1 -1
  341. package/dist/TimeField.css +48 -48
  342. package/dist/TimeField.css.map +1 -1
  343. package/dist/TimeField.mjs +53 -53
  344. package/dist/TimeField.mjs.map +1 -1
  345. package/dist/Toast.cjs +120 -120
  346. package/dist/Toast.css +108 -108
  347. package/dist/Toast.mjs +120 -120
  348. package/dist/ToggleButton.cjs +3 -3
  349. package/dist/ToggleButton.css +12 -12
  350. package/dist/ToggleButton.mjs +3 -3
  351. package/dist/Tooltip.cjs +84 -83
  352. package/dist/Tooltip.cjs.map +1 -1
  353. package/dist/Tooltip.css +74 -70
  354. package/dist/Tooltip.css.map +1 -1
  355. package/dist/Tooltip.mjs +84 -83
  356. package/dist/Tooltip.mjs.map +1 -1
  357. package/dist/TreeView.cjs +150 -148
  358. package/dist/TreeView.cjs.map +1 -1
  359. package/dist/TreeView.css +147 -147
  360. package/dist/TreeView.css.map +1 -1
  361. package/dist/TreeView.mjs +151 -149
  362. package/dist/TreeView.mjs.map +1 -1
  363. package/dist/ar-AE.cjs +5 -0
  364. package/dist/ar-AE.cjs.map +1 -1
  365. package/dist/ar-AE.mjs +5 -0
  366. package/dist/ar-AE.mjs.map +1 -1
  367. package/dist/bg-BG.cjs +5 -0
  368. package/dist/bg-BG.cjs.map +1 -1
  369. package/dist/bg-BG.mjs +5 -0
  370. package/dist/bg-BG.mjs.map +1 -1
  371. package/dist/cs-CZ.cjs +5 -0
  372. package/dist/cs-CZ.cjs.map +1 -1
  373. package/dist/cs-CZ.mjs +5 -0
  374. package/dist/cs-CZ.mjs.map +1 -1
  375. package/dist/da-DK.cjs +5 -0
  376. package/dist/da-DK.cjs.map +1 -1
  377. package/dist/da-DK.mjs +5 -0
  378. package/dist/da-DK.mjs.map +1 -1
  379. package/dist/de-DE.cjs +5 -0
  380. package/dist/de-DE.cjs.map +1 -1
  381. package/dist/de-DE.mjs +5 -0
  382. package/dist/de-DE.mjs.map +1 -1
  383. package/dist/el-GR.cjs +5 -0
  384. package/dist/el-GR.cjs.map +1 -1
  385. package/dist/el-GR.mjs +5 -0
  386. package/dist/el-GR.mjs.map +1 -1
  387. package/dist/en-US.cjs +21 -16
  388. package/dist/en-US.cjs.map +1 -1
  389. package/dist/en-US.mjs +21 -16
  390. package/dist/en-US.mjs.map +1 -1
  391. package/dist/es-ES.cjs +5 -0
  392. package/dist/es-ES.cjs.map +1 -1
  393. package/dist/es-ES.mjs +5 -0
  394. package/dist/es-ES.mjs.map +1 -1
  395. package/dist/et-EE.cjs +5 -0
  396. package/dist/et-EE.cjs.map +1 -1
  397. package/dist/et-EE.mjs +5 -0
  398. package/dist/et-EE.mjs.map +1 -1
  399. package/dist/fi-FI.cjs +5 -0
  400. package/dist/fi-FI.cjs.map +1 -1
  401. package/dist/fi-FI.mjs +5 -0
  402. package/dist/fi-FI.mjs.map +1 -1
  403. package/dist/fr-FR.cjs +5 -0
  404. package/dist/fr-FR.cjs.map +1 -1
  405. package/dist/fr-FR.mjs +5 -0
  406. package/dist/fr-FR.mjs.map +1 -1
  407. package/dist/he-IL.cjs +5 -0
  408. package/dist/he-IL.cjs.map +1 -1
  409. package/dist/he-IL.mjs +5 -0
  410. package/dist/he-IL.mjs.map +1 -1
  411. package/dist/hr-HR.cjs +5 -0
  412. package/dist/hr-HR.cjs.map +1 -1
  413. package/dist/hr-HR.mjs +5 -0
  414. package/dist/hr-HR.mjs.map +1 -1
  415. package/dist/hu-HU.cjs +5 -0
  416. package/dist/hu-HU.cjs.map +1 -1
  417. package/dist/hu-HU.mjs +5 -0
  418. package/dist/hu-HU.mjs.map +1 -1
  419. package/dist/it-IT.cjs +5 -0
  420. package/dist/it-IT.cjs.map +1 -1
  421. package/dist/it-IT.mjs +5 -0
  422. package/dist/it-IT.mjs.map +1 -1
  423. package/dist/ja-JP.cjs +5 -0
  424. package/dist/ja-JP.cjs.map +1 -1
  425. package/dist/ja-JP.mjs +5 -0
  426. package/dist/ja-JP.mjs.map +1 -1
  427. package/dist/ko-KR.cjs +5 -0
  428. package/dist/ko-KR.cjs.map +1 -1
  429. package/dist/ko-KR.mjs +5 -0
  430. package/dist/ko-KR.mjs.map +1 -1
  431. package/dist/lt-LT.cjs +5 -0
  432. package/dist/lt-LT.cjs.map +1 -1
  433. package/dist/lt-LT.mjs +5 -0
  434. package/dist/lt-LT.mjs.map +1 -1
  435. package/dist/lv-LV.cjs +5 -0
  436. package/dist/lv-LV.cjs.map +1 -1
  437. package/dist/lv-LV.mjs +5 -0
  438. package/dist/lv-LV.mjs.map +1 -1
  439. package/dist/main.cjs +2 -0
  440. package/dist/main.cjs.map +1 -1
  441. package/dist/module.mjs +3 -3
  442. package/dist/module.mjs.map +1 -1
  443. package/dist/nb-NO.cjs +5 -0
  444. package/dist/nb-NO.cjs.map +1 -1
  445. package/dist/nb-NO.mjs +5 -0
  446. package/dist/nb-NO.mjs.map +1 -1
  447. package/dist/nl-NL.cjs +5 -0
  448. package/dist/nl-NL.cjs.map +1 -1
  449. package/dist/nl-NL.mjs +5 -0
  450. package/dist/nl-NL.mjs.map +1 -1
  451. package/dist/pl-PL.cjs +5 -0
  452. package/dist/pl-PL.cjs.map +1 -1
  453. package/dist/pl-PL.mjs +5 -0
  454. package/dist/pl-PL.mjs.map +1 -1
  455. package/dist/pt-BR.cjs +5 -0
  456. package/dist/pt-BR.cjs.map +1 -1
  457. package/dist/pt-BR.mjs +5 -0
  458. package/dist/pt-BR.mjs.map +1 -1
  459. package/dist/pt-PT.cjs +5 -0
  460. package/dist/pt-PT.cjs.map +1 -1
  461. package/dist/pt-PT.mjs +5 -0
  462. package/dist/pt-PT.mjs.map +1 -1
  463. package/dist/ro-RO.cjs +5 -0
  464. package/dist/ro-RO.cjs.map +1 -1
  465. package/dist/ro-RO.mjs +5 -0
  466. package/dist/ro-RO.mjs.map +1 -1
  467. package/dist/ru-RU.cjs +5 -0
  468. package/dist/ru-RU.cjs.map +1 -1
  469. package/dist/ru-RU.mjs +5 -0
  470. package/dist/ru-RU.mjs.map +1 -1
  471. package/dist/sk-SK.cjs +5 -0
  472. package/dist/sk-SK.cjs.map +1 -1
  473. package/dist/sk-SK.mjs +5 -0
  474. package/dist/sk-SK.mjs.map +1 -1
  475. package/dist/sl-SI.cjs +5 -0
  476. package/dist/sl-SI.cjs.map +1 -1
  477. package/dist/sl-SI.mjs +5 -0
  478. package/dist/sl-SI.mjs.map +1 -1
  479. package/dist/sr-SP.cjs +5 -0
  480. package/dist/sr-SP.cjs.map +1 -1
  481. package/dist/sr-SP.mjs +5 -0
  482. package/dist/sr-SP.mjs.map +1 -1
  483. package/dist/sv-SE.cjs +5 -0
  484. package/dist/sv-SE.cjs.map +1 -1
  485. package/dist/sv-SE.mjs +5 -0
  486. package/dist/sv-SE.mjs.map +1 -1
  487. package/dist/tr-TR.cjs +5 -0
  488. package/dist/tr-TR.cjs.map +1 -1
  489. package/dist/tr-TR.mjs +5 -0
  490. package/dist/tr-TR.mjs.map +1 -1
  491. package/dist/types.d.ts +147 -87
  492. package/dist/types.d.ts.map +1 -1
  493. package/dist/uk-UA.cjs +5 -0
  494. package/dist/uk-UA.cjs.map +1 -1
  495. package/dist/uk-UA.mjs +5 -0
  496. package/dist/uk-UA.mjs.map +1 -1
  497. package/dist/zh-CN.cjs +5 -0
  498. package/dist/zh-CN.cjs.map +1 -1
  499. package/dist/zh-CN.mjs +5 -0
  500. package/dist/zh-CN.mjs.map +1 -1
  501. package/dist/zh-TW.cjs +5 -0
  502. package/dist/zh-TW.cjs.map +1 -1
  503. package/dist/zh-TW.mjs +5 -0
  504. package/dist/zh-TW.mjs.map +1 -1
  505. package/icons/Icon.cjs +10 -10
  506. package/icons/Icon.css +9 -9
  507. package/icons/Icon.mjs +10 -10
  508. package/icons/Skeleton.cjs +2 -2
  509. package/icons/Skeleton.css +6 -6
  510. package/icons/Skeleton.mjs +2 -2
  511. package/package.json +20 -20
  512. package/page.css +7 -7
  513. package/src/ActionBar.tsx +5 -3
  514. package/src/ActionButton.tsx +112 -32
  515. package/src/Avatar.tsx +4 -1
  516. package/src/Button.tsx +27 -28
  517. package/src/Calendar.tsx +3 -0
  518. package/src/Card.tsx +22 -7
  519. package/src/CardView.tsx +9 -1
  520. package/src/ColorArea.tsx +10 -2
  521. package/src/ColorField.tsx +3 -2
  522. package/src/ColorSlider.tsx +3 -2
  523. package/src/ComboBox.tsx +69 -44
  524. package/src/ContextualHelp.tsx +36 -32
  525. package/src/CustomDialog.tsx +1 -1
  526. package/src/DateField.tsx +4 -0
  527. package/src/DatePicker.tsx +28 -20
  528. package/src/DateRangePicker.tsx +5 -1
  529. package/src/Dialog.tsx +6 -3
  530. package/src/Disclosure.tsx +20 -16
  531. package/src/DropZone.tsx +5 -2
  532. package/src/Field.tsx +4 -1
  533. package/src/FullscreenDialog.tsx +1 -1
  534. package/src/Image.tsx +30 -8
  535. package/src/InlineAlert.tsx +10 -27
  536. package/src/Menu.tsx +57 -45
  537. package/src/Modal.tsx +99 -74
  538. package/src/NumberField.tsx +3 -2
  539. package/src/Picker.tsx +114 -51
  540. package/src/Popover.tsx +57 -35
  541. package/src/Provider.tsx +1 -1
  542. package/src/RangeCalendar.tsx +3 -0
  543. package/src/RangeSlider.tsx +3 -0
  544. package/src/SearchField.tsx +2 -1
  545. package/src/SegmentedControl.tsx +16 -44
  546. package/src/SelectBoxGroup.tsx +21 -23
  547. package/src/TableView.tsx +7 -6
  548. package/src/Tabs.tsx +34 -70
  549. package/src/TabsPicker.tsx +35 -26
  550. package/src/TagGroup.tsx +44 -36
  551. package/src/TextField.tsx +11 -6
  552. package/src/TimeField.tsx +4 -0
  553. package/src/Tooltip.tsx +3 -0
  554. package/src/TreeView.tsx +2 -2
  555. package/src/index.ts +3 -2
  556. package/src/page.macro.ts +2 -2
  557. package/src/style-utils.ts +4 -3
  558. package/style/__tests__/style-macro.test.js +56 -56
  559. package/style/dist/spectrum-theme.cjs +36 -6
  560. package/style/dist/spectrum-theme.cjs.map +1 -1
  561. package/style/dist/spectrum-theme.mjs +36 -6
  562. package/style/dist/spectrum-theme.mjs.map +1 -1
  563. package/style/dist/types.d.ts +1 -0
  564. package/style/dist/types.d.ts.map +1 -1
  565. package/style/spectrum-theme.ts +10 -8
  566. package/style/tokens.ts +10 -0
@@ -26,6 +26,7 @@ import {IllustrationContext} from '../src/Icon';
26
26
  import {pressScale} from './pressScale';
27
27
  import React, {createContext, forwardRef, ReactNode, useContext, useMemo, useRef} from 'react';
28
28
  import {TextContext} from './Content';
29
+ import {useFocusVisible} from 'react-aria';
29
30
  import {useSpectrumContextProps} from './useSpectrumContextProps';
30
31
 
31
32
  export interface SelectBoxGroupProps<T> extends StyleProps, Omit<ListBoxProps<T>, keyof GlobalDOMAttributes | 'layout' | 'dragAndDropHooks' | 'dependencies' | 'renderEmptyState' | 'children' | 'onAction' | 'shouldFocusOnHover' | 'selectionBehavior' | 'shouldSelectOnPressUp' | 'shouldFocusWrap' | 'style' | 'className'> {
@@ -293,7 +294,7 @@ const gridStyles = style<{orientation?: Orientation}>({
293
294
  */
294
295
  export function SelectBox(props: SelectBoxProps): ReactNode {
295
296
  let {children, isDisabled: individualDisabled = false, UNSAFE_style, UNSAFE_className, styles, ...otherProps} = props;
296
-
297
+
297
298
  let {
298
299
  orientation = 'vertical',
299
300
  isDisabled: groupDisabled = false
@@ -301,6 +302,7 @@ export function SelectBox(props: SelectBoxProps): ReactNode {
301
302
 
302
303
  const isDisabled = individualDisabled || groupDisabled;
303
304
  const ref = useRef<HTMLDivElement>(null);
305
+ let {isFocusVisible} = useFocusVisible();
304
306
 
305
307
  return (
306
308
  <ListBoxItem
@@ -308,6 +310,7 @@ export function SelectBox(props: SelectBoxProps): ReactNode {
308
310
  ref={ref}
309
311
  className={renderProps => (UNSAFE_className || '') + selectBoxStyles({
310
312
  ...renderProps,
313
+ isFocusVisible: isFocusVisible && renderProps.isFocused,
311
314
  orientation
312
315
  }, styles)}
313
316
  style={pressScale(ref, UNSAFE_style)}
@@ -315,7 +318,7 @@ export function SelectBox(props: SelectBoxProps): ReactNode {
315
318
  {({isSelected, isDisabled, isHovered}) => {
316
319
  return (
317
320
  <>
318
- <div
321
+ <div
319
322
  className={style({
320
323
  position: 'absolute',
321
324
  top: 8,
@@ -330,8 +333,8 @@ export function SelectBox(props: SelectBoxProps): ReactNode {
330
333
  isDisabled,
331
334
  size: 'M'
332
335
  } as any)}>
333
- <Checkmark
334
- size="S"
336
+ <Checkmark
337
+ size="S"
335
338
  className={iconStyles} />
336
339
  </div>
337
340
  )}
@@ -382,27 +385,22 @@ export const SelectBoxGroup = /*#__PURE__*/ forwardRef(function SelectBoxGroup<T
382
385
  ...otherProps
383
386
  } = props;
384
387
 
385
- const selectBoxContextValue = useMemo(
386
- () => {
387
- const contextValue = {
388
- orientation,
389
- isDisabled
390
- };
391
- return contextValue;
392
- },
393
- [orientation, isDisabled]
394
- );
388
+ const selectBoxContextValue = useMemo(() => ({
389
+ orientation,
390
+ isDisabled
391
+ }), [orientation, isDisabled]);
395
392
 
396
393
  return (
397
- <ListBox
398
- selectionMode={selectionMode}
399
- layout="grid"
400
- className={(UNSAFE_className || '') + gridStyles({orientation}, styles)}
401
- style={UNSAFE_style}
402
- {...otherProps}>
403
- <SelectBoxContext.Provider value={selectBoxContextValue}>
394
+ <SelectBoxContext.Provider value={selectBoxContextValue}>
395
+ <ListBox
396
+ selectionMode={selectionMode}
397
+ layout="grid"
398
+ orientation={orientation}
399
+ className={(UNSAFE_className || '') + gridStyles({orientation}, styles)}
400
+ style={UNSAFE_style}
401
+ {...otherProps}>
404
402
  {children}
405
- </SelectBoxContext.Provider>
406
- </ListBox>
403
+ </ListBox>
404
+ </SelectBoxContext.Provider>
407
405
  );
408
406
  });
package/src/TableView.tsx CHANGED
@@ -55,7 +55,6 @@ import {IconContext} from './Icon';
55
55
  import intlMessages from '../intl/*.json';
56
56
  import {LayoutNode} from '@react-stately/layout';
57
57
  import {Menu, MenuItem, MenuSection, MenuTrigger} from './Menu';
58
- import {mergeStyles} from '../style/runtime';
59
58
  import Nubbin from '../ui-icons/S2_MoveHorizontalTableWidget.svg';
60
59
  import {ProgressCircle} from './ProgressCircle';
61
60
  import {raw} from '../style/style-macro' with {type: 'macro'};
@@ -125,10 +124,12 @@ const tableWrapper = style({
125
124
  position: 'relative',
126
125
  // Clip ActionBar animation.
127
126
  overflow: 'clip'
128
- });
127
+ }, getAllowedOverrides({height: true}));
129
128
 
130
129
  const table = style<TableRenderProps & S2TableProps & {isCheckboxSelection?: boolean}>({
131
130
  width: 'full',
131
+ height: 'full',
132
+ boxSizing: 'border-box',
132
133
  userSelect: 'none',
133
134
  minHeight: 0,
134
135
  minWidth: 0,
@@ -163,7 +164,7 @@ const table = style<TableRenderProps & S2TableProps & {isCheckboxSelection?: boo
163
164
  scrollPaddingStart: {
164
165
  isCheckboxSelection: 40
165
166
  }
166
- }, getAllowedOverrides({height: true}));
167
+ });
167
168
 
168
169
  // component-height-100
169
170
  const DEFAULT_HEADER_HEIGHT = {
@@ -320,7 +321,7 @@ export const TableView = forwardRef(function TableView(props: TableViewProps, re
320
321
  onResize={propsOnResize}
321
322
  onResizeEnd={onResizeEnd}
322
323
  onResizeStart={onResizeStart}
323
- className={(UNSAFE_className || '') + mergeStyles(tableWrapper, styles)}
324
+ className={(UNSAFE_className || '') + tableWrapper(null, styles)}
324
325
  style={UNSAFE_style}>
325
326
  <Virtualizer
326
327
  layout={S2TableLayout}
@@ -461,7 +462,7 @@ const cellFocus = {
461
462
  } as const;
462
463
 
463
464
  function CellFocusRing() {
464
- return <div role="presentation" className={style({...cellFocus, position: 'absolute', inset: 0})({isFocusVisible: true})} />;
465
+ return <div role="presentation" className={style({...cellFocus, position: 'absolute', inset: 0, pointerEvents: 'none'})({isFocusVisible: true})} />;
465
466
  }
466
467
 
467
468
  const columnStyles = style({
@@ -1035,8 +1036,8 @@ export const Cell = forwardRef(function Cell(props: CellProps, ref: DOMRef<HTMLD
1035
1036
  {...otherProps}>
1036
1037
  {({isFocusVisible}) => (
1037
1038
  <>
1038
- {isFocusVisible && <CellFocusRing />}
1039
1039
  <span className={cellContent({...tableVisualOptions, isSticky, align: align || 'start'})}>{children}</span>
1040
+ {isFocusVisible && <CellFocusRing />}
1040
1041
  </>
1041
1042
  )}
1042
1043
  </RACCell>
package/src/Tabs.tsx CHANGED
@@ -22,6 +22,7 @@ import {
22
22
  Tab as RACTab,
23
23
  TabList as RACTabList,
24
24
  Tabs as RACTabs,
25
+ SelectionIndicator,
25
26
  TabListStateContext,
26
27
  TabRenderProps
27
28
  } from 'react-aria-components';
@@ -36,7 +37,7 @@ import {inertValue, useEffectEvent, useId, useLabels, useLayoutEffect, useResize
36
37
  import {Picker, PickerItem} from './TabsPicker';
37
38
  import {Text, TextContext} from './Content';
38
39
  import {useControlledState} from '@react-stately/utils';
39
- import {useDOMRef, useMediaQuery} from '@react-spectrum/utils';
40
+ import {useDOMRef} from '@react-spectrum/utils';
40
41
  import {useHasTabbableChild} from '@react-aria/focus';
41
42
  import {useLocale} from '@react-aria/i18n';
42
43
  import {useSpectrumContextProps} from './useSpectrumContextProps';
@@ -79,7 +80,6 @@ export interface TabPanelProps extends Omit<AriaTabPanelProps, 'children' | 'sty
79
80
  export const TabsContext = createContext<ContextValue<Partial<TabsProps>, DOMRefValue<HTMLDivElement>>>(null);
80
81
  const InternalTabsContext = createContext<Partial<TabsProps> & {
81
82
  tablistRef?: RefObject<HTMLDivElement | null>,
82
- prevRef?: RefObject<DOMRect | null>,
83
83
  selectedKey?: Key | null
84
84
  }>({});
85
85
 
@@ -133,14 +133,6 @@ export const Tabs = forwardRef(function Tabs(props: TabsProps, ref: DOMRef<HTMLD
133
133
  }
134
134
 
135
135
  let tablistRef = useRef<HTMLDivElement | null>(null);
136
- let prevRef = useRef<DOMRect | null>(null);
137
-
138
- let onChange = useEffectEvent((val: Key) => {
139
- if (tablistRef.current) {
140
- prevRef.current = tablistRef.current.querySelector('[role=tab][data-selected=true]')?.getBoundingClientRect() ?? null;
141
- }
142
- setValue(val);
143
- });
144
136
 
145
137
  return (
146
138
  <Provider
@@ -152,8 +144,7 @@ export const Tabs = forwardRef(function Tabs(props: TabsProps, ref: DOMRef<HTMLD
152
144
  disabledKeys,
153
145
  selectedKey: value,
154
146
  tablistRef,
155
- prevRef,
156
- onSelectionChange: onChange,
147
+ onSelectionChange: setValue,
157
148
  labelBehavior,
158
149
  'aria-label': props['aria-label'],
159
150
  'aria-labelledby': props['aria-labelledby']
@@ -164,7 +155,7 @@ export const Tabs = forwardRef(function Tabs(props: TabsProps, ref: DOMRef<HTMLD
164
155
  <CollapsingTabs
165
156
  {...props}
166
157
  selectedKey={value}
167
- onSelectionChange={onChange}
158
+ onSelectionChange={setValue}
168
159
  collection={collection}
169
160
  containerRef={domRef} />
170
161
  )}
@@ -294,6 +285,13 @@ const selectedIndicator = style<{isDisabled: boolean, orientation?: Orientation}
294
285
  vertical: '[2px]'
295
286
  }
296
287
  },
288
+ contain: 'strict',
289
+ transition: {
290
+ default: '[translate,width,height]',
291
+ '@media (prefers-reduced-motion: reduce)': 'none'
292
+ },
293
+ transitionDuration: 200,
294
+ transitionTimingFunction: 'out',
297
295
  bottom: {
298
296
  default: 0
299
297
  },
@@ -353,6 +351,7 @@ const tab = style<TabRenderProps & {density?: 'compact' | 'regular', labelBehavi
353
351
  alignItems: 'center',
354
352
  position: 'relative',
355
353
  cursor: 'default',
354
+ textDecoration: 'none',
356
355
  flexShrink: 0,
357
356
  transition: 'default',
358
357
  paddingX: {
@@ -373,7 +372,7 @@ const icon = style({
373
372
  });
374
373
 
375
374
  export function Tab(props: TabProps): ReactNode {
376
- let {density, orientation, labelBehavior, prevRef} = useContext(InternalTabsContext) ?? {};
375
+ let {density, orientation, labelBehavior} = useContext(InternalTabsContext) ?? {};
377
376
 
378
377
  let contentId = useId();
379
378
  let ariaLabelledBy = props['aria-labelledby'] || '';
@@ -389,7 +388,6 @@ export function Tab(props: TabProps): ReactNode {
389
388
  {({
390
389
  // @ts-ignore
391
390
  isMenu,
392
- isSelected,
393
391
  isDisabled
394
392
  }) => {
395
393
  if (isMenu) {
@@ -416,10 +414,8 @@ export function Tab(props: TabProps): ReactNode {
416
414
  }]
417
415
  ]}>
418
416
  <TabInner
419
- isSelected={isSelected}
420
417
  orientation={orientation!}
421
- isDisabled={isDisabled}
422
- prevRef={prevRef}>
418
+ isDisabled={isDisabled}>
423
419
  {typeof props.children === 'string' ? <Text>{props.children}</Text> : props.children}
424
420
  </TabInner>
425
421
  </Provider>
@@ -430,53 +426,17 @@ export function Tab(props: TabProps): ReactNode {
430
426
  );
431
427
  }
432
428
 
433
- function TabInner({isSelected, isDisabled, orientation, children, prevRef}: {
434
- isSelected: boolean,
429
+ function TabInner({isDisabled, orientation, children}: {
435
430
  isDisabled: boolean,
436
431
  orientation: Orientation,
437
- children: ReactNode,
438
- prevRef?: RefObject<DOMRect | null>
432
+ children: ReactNode
439
433
  }) {
440
- let reduceMotion = useMediaQuery('(prefers-reduced-motion: reduce)');
441
434
  let ref = useRef<HTMLDivElement | null>(null);
442
-
443
- useLayoutEffect(() => {
444
- if (isSelected && prevRef?.current && ref?.current && !reduceMotion) {
445
- let currentItem = ref?.current.getBoundingClientRect();
446
-
447
- if (orientation === 'horizontal') {
448
- let deltaX = prevRef.current.left - currentItem.left;
449
- ref.current.animate(
450
- [
451
- {transform: `translateX(${deltaX}px)`, width: `${prevRef.current.width}px`},
452
- {transform: 'translateX(0px)', width: '100%'}
453
- ],
454
- {
455
- duration: 200,
456
- easing: 'ease-out'
457
- }
458
- );
459
- } else {
460
- let deltaY = prevRef.current.top - currentItem.top;
461
- ref.current.animate(
462
- [
463
- {transform: `translateY(${deltaY}px)`, height: `${prevRef.current.height}px`},
464
- {transform: 'translateY(0px)', height: '100%'}
465
- ],
466
- {
467
- duration: 200,
468
- easing: 'ease-out'
469
- }
470
- );
471
- }
472
-
473
- prevRef.current = null;
474
- }
475
- }, [isSelected, reduceMotion, prevRef, orientation]);
435
+ let isHidden = useContext(HiddenTabsContext);
476
436
 
477
437
  return (
478
438
  <>
479
- {isSelected && <div ref={ref} className={selectedIndicator({isDisabled, orientation})} />}
439
+ {!isHidden && <SelectionIndicator ref={ref} className={selectedIndicator({isDisabled, orientation})} />}
480
440
  {children}
481
441
  </>
482
442
  );
@@ -548,6 +508,8 @@ function isEveryTabDisabled<T>(collection: Collection<Node<T>> | undefined, disa
548
508
  return false;
549
509
  }
550
510
 
511
+ const HiddenTabsContext = createContext(false);
512
+
551
513
  let HiddenTabs = function (props: {
552
514
  listRef: RefObject<HTMLDivElement | null>,
553
515
  items: Array<Node<any>>,
@@ -572,18 +534,20 @@ let HiddenTabs = function (props: {
572
534
  overflow: 'hidden',
573
535
  opacity: 0
574
536
  })}>
575
- {items.map((item) => {
576
- // pull off individual props as an allow list, don't want refs or other props getting through
577
- return (
578
- <div
579
- data-hidden-tab
580
- style={item.props.UNSAFE_style}
581
- key={item.key}
582
- className={item.props.className({size, density})}>
583
- {item.props.children({size, density})}
584
- </div>
585
- );
586
- })}
537
+ <HiddenTabsContext.Provider value>
538
+ {items.map((item) => {
539
+ // pull off individual props as an allow list, don't want refs or other props getting through
540
+ return (
541
+ <div
542
+ data-hidden-tab
543
+ style={item.props.UNSAFE_style}
544
+ key={item.key}
545
+ className={item.props.className({size, density})}>
546
+ {item.props.children({size, density})}
547
+ </div>
548
+ );
549
+ })}
550
+ </HiddenTabsContext.Provider>
587
551
  </div>
588
552
  );
589
553
  };
@@ -44,8 +44,8 @@ import {FocusableRef, FocusableRefValue, SpectrumLabelableProps} from '@react-ty
44
44
  import {forwardRefType} from './types';
45
45
  import {HeaderContext, HeadingContext, Text, TextContext} from './Content';
46
46
  import {IconContext} from './Icon';
47
- import {Placement} from 'react-aria';
48
- import {PopoverBase} from './Popover';
47
+ import {Placement, useLocale} from 'react-aria';
48
+ import {Popover} from './Popover';
49
49
  import {pressScale} from './pressScale';
50
50
  import {raw} from '../style/style-macro' with {type: 'macro'};
51
51
  import React, {createContext, forwardRef, ReactNode, useContext, useRef} from 'react';
@@ -178,6 +178,9 @@ function Picker<T extends object>(props: PickerProps<T>, ref: FocusableRef<HTMLB
178
178
  const menuOffset: number = 6;
179
179
  const size = 'M';
180
180
  let ariaLabelledby = props['aria-labelledby'] ?? '';
181
+ let {direction: dir} = useLocale();
182
+ let RTLFlipOffset = dir === 'rtl' ? -1 : 1;
183
+
181
184
  return (
182
185
  <div>
183
186
  <AriaSelect
@@ -241,37 +244,43 @@ function Picker<T extends object>(props: PickerProps<T>, ref: FocusableRef<HTMLB
241
244
  size={size}
242
245
  className={iconStyles} />
243
246
  </Button>
244
- <PopoverBase
247
+ <Popover
245
248
  hideArrow
246
249
  offset={menuOffset}
250
+ crossOffset={RTLFlipOffset * -12}
247
251
  placement={`${direction} ${align}` as Placement}
248
252
  shouldFlip={shouldFlip}
249
253
  styles={style({
250
- marginStart: -12,
251
254
  minWidth: 192,
252
- width: 'calc(var(--trigger-width) + (-2 * self(marginStart)))'
255
+ width: 'calc(var(--trigger-width) - 24)'
253
256
  })}>
254
- <Provider
255
- values={[
256
- [HeaderContext, {styles: sectionHeader({size})}],
257
- [HeadingContext, {
258
- // @ts-ignore
259
- role: 'presentation',
260
- styles: sectionHeading
261
- }],
262
- [TextContext, {
263
- slots: {
264
- description: {styles: description({size})}
265
- }
266
- }]
267
- ]}>
268
- <ListBox
269
- items={items}
270
- className={menu}>
271
- {children}
272
- </ListBox>
273
- </Provider>
274
- </PopoverBase>
257
+ <div
258
+ className={style({
259
+ display: 'flex',
260
+ size: 'full'
261
+ })}>
262
+ <Provider
263
+ values={[
264
+ [HeaderContext, {styles: sectionHeader({size})}],
265
+ [HeadingContext, {
266
+ // @ts-ignore
267
+ role: 'presentation',
268
+ styles: sectionHeading
269
+ }],
270
+ [TextContext, {
271
+ slots: {
272
+ description: {styles: description({size})}
273
+ }
274
+ }]
275
+ ]}>
276
+ <ListBox
277
+ items={items}
278
+ className={menu}>
279
+ {children}
280
+ </ListBox>
281
+ </Provider>
282
+ </div>
283
+ </Popover>
275
284
  </>
276
285
  )}
277
286
  </AriaSelect>
package/src/TagGroup.tsx CHANGED
@@ -323,7 +323,15 @@ function TagGroupInner<T>({
323
323
  style={item.props.UNSAFE_style}
324
324
  key={item.key}
325
325
  className={item.props.className({size, allowsRemoving: Boolean(onRemove)})}>
326
- {item.props.children({size, allowsRemoving: Boolean(onRemove), isInCtx: true})}
326
+ <TagWrapper
327
+ key={item.key}
328
+ id={item.key}
329
+ textValue={item.textValue}
330
+ isInRealDOM
331
+ size={size}
332
+ allowsRemoving={!!onRemove}
333
+ {...item.props}
334
+ children={item.props.children({size, allowsRemoving: Boolean(onRemove), isInCtx: true})} />
327
335
  </div>
328
336
  );
329
337
  })}
@@ -516,41 +524,41 @@ function TagWrapper({children, isDisabled, allowsRemoving, isInRealDOM, isEmphas
516
524
  return (
517
525
  <>
518
526
  {isInRealDOM && (
519
- <div
520
- className={style({
521
- display: 'flex',
522
- minWidth: 0,
523
- alignItems: 'center',
524
- gap: 'text-to-visual',
525
- forcedColorAdjust: 'none',
526
- backgroundColor: 'transparent'
527
- })}>
528
- <Provider
529
- values={[
530
- [TextContext, {styles: style({order: 1, truncate: true})}],
531
- [IconContext, {
532
- render: centerBaseline({slot: 'icon', styles: style({order: 0})}),
533
- styles: style({size: fontRelative(20), marginStart: '--iconMargin', flexShrink: 0})
534
- }],
535
- [AvatarContext, {
536
- size: avatarSize[size],
537
- styles: style({order: 0})
538
- }],
539
- [ImageContext, {
540
- styles: style({
541
- size: fontRelative(20),
542
- flexShrink: 0,
543
- order: 0,
544
- aspectRatio: 'square',
545
- objectFit: 'contain',
546
- borderRadius: 'sm'
547
- })
548
- }]
549
- ]}>
550
- {children}
551
- </Provider>
552
- </div>
553
- )}
527
+ <div
528
+ className={style({
529
+ display: 'flex',
530
+ minWidth: 0,
531
+ alignItems: 'center',
532
+ gap: 'text-to-visual',
533
+ forcedColorAdjust: 'none',
534
+ backgroundColor: 'transparent'
535
+ })}>
536
+ <Provider
537
+ values={[
538
+ [TextContext, {styles: style({order: 1, truncate: true})}],
539
+ [IconContext, {
540
+ render: centerBaseline({slot: 'icon', styles: style({order: 0})}),
541
+ styles: style({size: fontRelative(20), marginStart: '--iconMargin', flexShrink: 0})
542
+ }],
543
+ [AvatarContext, {
544
+ size: avatarSize[size],
545
+ styles: style({order: 0})
546
+ }],
547
+ [ImageContext, {
548
+ styles: style({
549
+ size: fontRelative(20),
550
+ flexShrink: 0,
551
+ order: 0,
552
+ aspectRatio: 'square',
553
+ objectFit: 'contain',
554
+ borderRadius: 'sm'
555
+ })
556
+ }]
557
+ ]}>
558
+ {children}
559
+ </Provider>
560
+ </div>
561
+ )}
554
562
  {!isInRealDOM && children}
555
563
  {allowsRemoving && isInRealDOM && (
556
564
  <ClearButton
package/src/TextField.tsx CHANGED
@@ -18,6 +18,7 @@ import {
18
18
  composeRenderProps,
19
19
  ContextValue,
20
20
  InputContext,
21
+ InputProps,
21
22
  useSlottedContext
22
23
  } from 'react-aria-components';
23
24
  import {centerPadding, controlSize, field, getAllowedOverrides, StyleProps} from './style-utils' with {type: 'macro'};
@@ -25,14 +26,14 @@ import {createContext, forwardRef, ReactNode, Ref, useContext, useImperativeHand
25
26
  import {createFocusableRef} from '@react-spectrum/utils';
26
27
  import {FieldErrorIcon, FieldGroup, FieldLabel, HelpText, Input} from './Field';
27
28
  import {FormContext, useFormProps} from './Form';
28
- import {GlobalDOMAttributes, HelpTextProps, SpectrumLabelableProps} from '@react-types/shared';
29
+ import {GlobalDOMAttributes, HelpTextProps, RefObject, SpectrumLabelableProps} from '@react-types/shared';
29
30
  import {mergeRefs} from '@react-aria/utils';
30
31
  import {style} from '../style' with {type: 'macro'};
31
32
  import {StyleString} from '../style/types';
32
33
  import {TextFieldRef} from '@react-types/textfield';
33
34
  import {useSpectrumContextProps} from './useSpectrumContextProps';
34
35
 
35
- export interface TextFieldProps extends Omit<AriaTextFieldProps, 'children' | 'className' | 'style' | keyof GlobalDOMAttributes>, StyleProps, SpectrumLabelableProps, HelpTextProps {
36
+ export interface TextFieldProps extends Omit<AriaTextFieldProps, 'children' | 'className' | 'style' | keyof GlobalDOMAttributes>, StyleProps, SpectrumLabelableProps, HelpTextProps, Pick<InputProps, 'placeholder'> {
36
37
  /**
37
38
  * The size of the text field.
38
39
  *
@@ -159,7 +160,7 @@ export const TextFieldBase = forwardRef(function TextFieldBase(props: TextFieldP
159
160
 
160
161
  function TextAreaInput() {
161
162
  // Force re-render when value changes so we update the height.
162
- useSlottedContext(AriaTextAreaContext) ?? {};
163
+ let {placeholder} = useSlottedContext(AriaTextAreaContext) ?? {};
163
164
  let onHeightChange = (input: HTMLTextAreaElement) => {
164
165
  // TODO: only do this if an explicit height is not given?
165
166
  if (input) {
@@ -180,20 +181,24 @@ function TextAreaInput() {
180
181
  input.style.alignSelf = prevAlignment;
181
182
  }
182
183
  };
184
+ let {ref} = useSlottedContext(InputContext) ?? {};
183
185
 
184
186
  return (
185
187
  <AriaTextArea
186
- ref={onHeightChange}
188
+ ref={mergeRefs(onHeightChange, ref as RefObject<HTMLTextAreaElement | null>)}
187
189
  // Workaround for baseline alignment bug in Safari.
188
190
  // https://bugs.webkit.org/show_bug.cgi?id=142968
189
- placeholder=" "
191
+ placeholder={placeholder ?? ' '}
190
192
  className={style({
191
193
  paddingX: 0,
192
194
  paddingY: centerPadding(),
193
195
  minHeight: controlSize(),
194
196
  boxSizing: 'border-box',
195
197
  backgroundColor: 'transparent',
196
- color: 'inherit',
198
+ color: {
199
+ default: 'inherit',
200
+ '::placeholder': 'gray-600'
201
+ },
197
202
  fontFamily: 'inherit',
198
203
  fontSize: 'inherit',
199
204
  fontWeight: 'inherit',
package/src/TimeField.tsx CHANGED
@@ -41,6 +41,10 @@ export interface TimeFieldProps<T extends TimeValue> extends
41
41
 
42
42
  export const TimeFieldContext = createContext<ContextValue<Partial<TimeFieldProps<any>>, HTMLDivElement>>(null);
43
43
 
44
+ /**
45
+ * TimeFields allow users to enter and edit time values using a keyboard.
46
+ * Each part of the time is displayed in an individually editable segment.
47
+ */
44
48
  export const TimeField = /*#__PURE__*/ (forwardRef as forwardRefType)(function TimeField<T extends TimeValue>(
45
49
  props: TimeFieldProps<T>, ref: Ref<HTMLDivElement>
46
50
  ): ReactElement {
package/src/Tooltip.tsx CHANGED
@@ -101,6 +101,9 @@ const tooltip = style<TooltipRenderProps & {colorScheme: ColorScheme | 'light da
101
101
  opacity: {
102
102
  isEntering: 0,
103
103
  isExiting: 0
104
+ },
105
+ overflowWrap: {
106
+ default: 'break-word'
104
107
  }
105
108
  });
106
109
 
package/src/TreeView.tsx CHANGED
@@ -40,7 +40,7 @@ import intlMessages from '../intl/*.json';
40
40
  import {ProgressCircle} from './ProgressCircle';
41
41
  import {raw} from '../style/style-macro' with {type: 'macro'};
42
42
  import React, {createContext, forwardRef, JSXElementConstructor, ReactElement, ReactNode, useContext, useRef} from 'react';
43
- import {TextContext} from './Content';
43
+ import {Text, TextContext} from './Content';
44
44
  import {useDOMRef} from '@react-spectrum/utils';
45
45
  import {useLocale, useLocalizedStringFormatter} from 'react-aria';
46
46
  import {useScale} from './utils';
@@ -372,7 +372,7 @@ export const TreeViewItemContent = (props: TreeViewItemContentProps): ReactNode
372
372
  [ActionButtonGroupContext, {styles: treeActions}],
373
373
  [ActionMenuContext, {styles: treeActionMenu, isQuiet: true}]
374
374
  ]}>
375
- {children}
375
+ {typeof children === 'string' ? <Text>{children}</Text> : children}
376
376
  </Provider>
377
377
  {isFocusVisible && isDetached && <div role="presentation" className={style({...cellFocus, position: 'absolute', inset: 0})({isFocusVisible: true})} />}
378
378
  </div>
package/src/index.ts CHANGED
@@ -65,7 +65,7 @@ export {Picker, PickerItem, PickerSection, PickerContext} from './Picker';
65
65
  export {Popover} from './Popover';
66
66
  export {ProgressBar, ProgressBarContext} from './ProgressBar';
67
67
  export {ProgressCircle, ProgressCircleContext} from './ProgressCircle';
68
- export {Provider} from './Provider';
68
+ export {Provider, ColorSchemeContext} from './Provider';
69
69
  export {Radio} from './Radio';
70
70
  export {RadioGroup, RadioGroupContext} from './RadioGroup';
71
71
  export {RangeCalendar, RangeCalendarContext} from './RangeCalendar';
@@ -94,6 +94,7 @@ export {pressScale} from './pressScale';
94
94
  export {Autocomplete} from 'react-aria-components';
95
95
  export {Collection} from 'react-aria-components';
96
96
  export {FileTrigger} from 'react-aria-components';
97
+ export {parseColor} from 'react-aria-components';
97
98
 
98
99
  export type {AccordionProps} from './Accordion';
99
100
  export type {ActionBarProps} from './ActionBar';
@@ -167,4 +168,4 @@ export type {ToggleButtonProps} from './ToggleButton';
167
168
  export type {ToggleButtonGroupProps} from './ToggleButtonGroup';
168
169
  export type {TooltipProps} from './Tooltip';
169
170
  export type {TreeViewProps, TreeViewItemProps, TreeViewItemContentProps, TreeViewLoadMoreItemProps} from './TreeView';
170
- export type {AutocompleteProps, FileTriggerProps, TooltipTriggerComponentProps as TooltipTriggerProps, SortDescriptor} from 'react-aria-components';
171
+ export type {AutocompleteProps, FileTriggerProps, TooltipTriggerComponentProps as TooltipTriggerProps, SortDescriptor, Color, Key, Selection} from 'react-aria-components';