@react-spectrum/s2 0.11.2 → 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 (573) 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.cjs.map +1 -1
  510. package/icons/Skeleton.css +6 -6
  511. package/icons/Skeleton.mjs +2 -2
  512. package/icons/Skeleton.mjs.map +1 -1
  513. package/package.json +20 -20
  514. package/page.css +7 -7
  515. package/src/ActionBar.tsx +5 -3
  516. package/src/ActionButton.tsx +112 -32
  517. package/src/Avatar.tsx +4 -1
  518. package/src/Button.tsx +27 -28
  519. package/src/Calendar.tsx +3 -0
  520. package/src/Card.tsx +22 -7
  521. package/src/CardView.tsx +9 -1
  522. package/src/ColorArea.tsx +10 -2
  523. package/src/ColorField.tsx +3 -2
  524. package/src/ColorSlider.tsx +3 -2
  525. package/src/ComboBox.tsx +69 -44
  526. package/src/ContextualHelp.tsx +36 -32
  527. package/src/CustomDialog.tsx +1 -1
  528. package/src/DateField.tsx +4 -0
  529. package/src/DatePicker.tsx +28 -20
  530. package/src/DateRangePicker.tsx +5 -1
  531. package/src/Dialog.tsx +6 -3
  532. package/src/Disclosure.tsx +20 -16
  533. package/src/DropZone.tsx +5 -2
  534. package/src/Field.tsx +4 -1
  535. package/src/FullscreenDialog.tsx +1 -1
  536. package/src/Image.tsx +30 -8
  537. package/src/InlineAlert.tsx +10 -27
  538. package/src/Menu.tsx +57 -45
  539. package/src/Modal.tsx +99 -74
  540. package/src/NumberField.tsx +3 -2
  541. package/src/Picker.tsx +114 -51
  542. package/src/Popover.tsx +57 -35
  543. package/src/Provider.tsx +1 -1
  544. package/src/RangeCalendar.tsx +3 -0
  545. package/src/RangeSlider.tsx +3 -0
  546. package/src/SearchField.tsx +2 -1
  547. package/src/SegmentedControl.tsx +16 -44
  548. package/src/SelectBoxGroup.tsx +21 -23
  549. package/src/TableView.tsx +7 -6
  550. package/src/Tabs.tsx +34 -70
  551. package/src/TabsPicker.tsx +35 -26
  552. package/src/TagGroup.tsx +44 -36
  553. package/src/TextField.tsx +11 -6
  554. package/src/TimeField.tsx +4 -0
  555. package/src/Tooltip.tsx +3 -0
  556. package/src/TreeView.tsx +2 -2
  557. package/src/index.ts +3 -2
  558. package/src/page.macro.ts +2 -2
  559. package/src/style-utils.ts +4 -3
  560. package/style/__tests__/style-macro.test.js +56 -56
  561. package/style/dist/main.cjs +24 -24
  562. package/style/dist/module.mjs +13 -13
  563. package/style/dist/properties.mjs +3 -3
  564. package/style/dist/spectrum-theme.cjs +255 -225
  565. package/style/dist/spectrum-theme.cjs.map +1 -1
  566. package/style/dist/spectrum-theme.mjs +246 -216
  567. package/style/dist/spectrum-theme.mjs.map +1 -1
  568. package/style/dist/style-macro.cjs +80 -80
  569. package/style/dist/style-macro.mjs +75 -75
  570. package/style/dist/types.d.ts +1 -0
  571. package/style/dist/types.d.ts.map +1 -1
  572. package/style/spectrum-theme.ts +10 -8
  573. package/style/tokens.ts +10 -0
package/src/Modal.tsx CHANGED
@@ -24,18 +24,18 @@ interface ModalProps extends ModalOverlayProps {
24
24
  *
25
25
  * @default 'M'
26
26
  */
27
- size?: 'S' | 'M' | 'L' | 'fullscreen' | 'fullscreenTakeover'
27
+ size?: 'S' | 'M' | 'L' | 'XL' | 'fullscreen' | 'fullscreenTakeover'
28
28
  }
29
29
 
30
30
  const modalOverlayStyles = style({
31
31
  ...colorScheme(),
32
- position: 'fixed',
33
- inset: 0,
32
+ position: 'absolute',
33
+ top: 0,
34
+ left: 0,
35
+ width: 'full',
36
+ height: '--page-height',
34
37
  isolation: 'isolate',
35
38
  backgroundColor: 'transparent-black-500',
36
- display: 'flex',
37
- alignItems: 'center',
38
- justifyContent: 'center',
39
39
  opacity: {
40
40
  isEntering: 0,
41
41
  isExiting: 0
@@ -47,6 +47,22 @@ const modalOverlayStyles = style({
47
47
  }
48
48
  });
49
49
 
50
+ const modalWrapper = style({
51
+ position: 'sticky',
52
+ top: 0,
53
+ left: 0,
54
+ width: 'full',
55
+ height: '--visual-viewport-height',
56
+ display: 'flex',
57
+ alignItems: {
58
+ default: 'center',
59
+ size: {
60
+ fullscreenTakeover: 'start'
61
+ }
62
+ },
63
+ justifyContent: 'center'
64
+ });
65
+
50
66
  /**
51
67
  * A modal is an overlay element which blocks interaction with elements outside it.
52
68
  */
@@ -68,74 +84,83 @@ export const Modal = forwardRef(function Modal(props: ModalProps, ref: DOMRef<HT
68
84
  <ModalOverlay
69
85
  {...props}
70
86
  className={renderProps => modalOverlayStyles({...renderProps, colorScheme})}>
71
- <RACModal
72
- {...props}
73
- ref={modalRef}
74
- className={renderProps => style({
75
- display: 'flex',
76
- flexDirection: 'column',
77
- borderRadius: {
78
- default: 'xl',
79
- size: {
80
- fullscreenTakeover: 'none'
81
- }
82
- },
83
- width: {
84
- size: {
85
- // Copied from designs, not sure if correct.
86
- S: 400,
87
- M: 480,
88
- L: 640,
89
- fullscreen: 'calc(100% - 40px)',
90
- fullscreenTakeover: 'full'
91
- }
92
- },
93
- height: {
94
- size: {
95
- fullscreen: 'calc(100% - 40px)',
96
- fullscreenTakeover: 'full'
97
- }
98
- },
99
- maxWidth: {
100
- default: '90vw',
101
- size: {
102
- fullscreen: 'none',
103
- fullscreenTakeover: 'none'
104
- }
105
- },
106
- maxHeight: {
107
- default: '90vh',
108
- size: {
109
- fullscreen: 'none',
110
- fullscreenTakeover: 'none'
111
- }
112
- },
113
- '--s2-container-bg': {
114
- type: 'backgroundColor',
115
- value: 'layer-2'
116
- },
117
- backgroundColor: '--s2-container-bg',
118
- opacity: {
119
- isEntering: 0,
120
- isExiting: 0
121
- },
122
- translateY: {
123
- isEntering: 20
124
- },
125
- transition: '[opacity, translate]',
126
- transitionDuration: {
127
- default: 250,
128
- isExiting: 130
129
- },
130
- transitionDelay: {
131
- default: 160,
132
- isExiting: 0
133
- },
134
- // Transparent outline for WHCM.
135
- outlineStyle: 'solid',
136
- outlineWidth: 1,
137
- outlineColor: 'transparent'
138
- })({...renderProps, size: props.size})} />
87
+ <div className={modalWrapper({size: props.size})} style={{containerType: 'size'} as any}>
88
+ <RACModal
89
+ {...props}
90
+ ref={modalRef}
91
+ className={renderProps => style({
92
+ display: 'flex',
93
+ flexDirection: 'column',
94
+ borderRadius: {
95
+ default: 'xl',
96
+ size: {
97
+ fullscreenTakeover: 'none'
98
+ }
99
+ },
100
+ width: {
101
+ size: {
102
+ // Copied from designs, not sure if correct.
103
+ S: 400,
104
+ M: 480,
105
+ L: 640,
106
+ XL: 960,
107
+ fullscreen: 'calc(100% - 40px)',
108
+ fullscreenTakeover: 'full'
109
+ }
110
+ },
111
+ height: {
112
+ size: {
113
+ fullscreen: 'calc(100% - 40px)',
114
+ fullscreenTakeover: 'full'
115
+ }
116
+ },
117
+ maxWidth: {
118
+ default: '90vw',
119
+ size: {
120
+ fullscreen: 'none',
121
+ fullscreenTakeover: 'none'
122
+ }
123
+ },
124
+ maxHeight: {
125
+ default: '90%',
126
+ size: {
127
+ fullscreen: 'none',
128
+ fullscreenTakeover: 'none'
129
+ }
130
+ },
131
+ paddingBottom: {
132
+ size: {
133
+ // Extend background behind the iOS Safari toolbar and keyboard.
134
+ fullscreenTakeover: '[100vh]'
135
+ }
136
+ },
137
+ '--s2-container-bg': {
138
+ type: 'backgroundColor',
139
+ value: 'layer-2'
140
+ },
141
+ backgroundColor: '--s2-container-bg',
142
+ opacity: {
143
+ isEntering: 0,
144
+ isExiting: 0
145
+ },
146
+ translateY: {
147
+ isEntering: 20
148
+ },
149
+ transition: '[opacity, translate]',
150
+ transitionDuration: {
151
+ default: 250,
152
+ isExiting: 130
153
+ },
154
+ transitionDelay: {
155
+ default: 160,
156
+ isExiting: 0
157
+ },
158
+ // Transparent outline for WHCM.
159
+ outlineStyle: 'solid',
160
+ outlineWidth: 1,
161
+ outlineColor: 'transparent'
162
+ })({...renderProps, size: props.size})} />
163
+ </div>
139
164
  </ModalOverlay>
140
165
  );
141
166
  });
@@ -19,6 +19,7 @@ import {
19
19
  ButtonRenderProps,
20
20
  ContextValue,
21
21
  InputContext,
22
+ InputProps,
22
23
  useContextProps
23
24
  } from 'react-aria-components';
24
25
  import {baseColor, space, style} from '../style' with {type: 'macro'};
@@ -40,7 +41,8 @@ export interface NumberFieldProps extends
40
41
  Omit<AriaNumberFieldProps, 'children' | 'className' | 'style' | keyof GlobalDOMAttributes>,
41
42
  StyleProps,
42
43
  SpectrumLabelableProps,
43
- HelpTextProps {
44
+ HelpTextProps,
45
+ Pick<InputProps, 'placeholder'> {
44
46
  /**
45
47
  * Whether to hide the increment and decrement buttons.
46
48
  * @default false
@@ -173,7 +175,6 @@ export const NumberField = forwardRef(function NumberField(props: NumberFieldPro
173
175
  }
174
176
  }));
175
177
 
176
-
177
178
  return (
178
179
  <AriaNumberField
179
180
  ref={domRef}
package/src/Picker.tsx CHANGED
@@ -20,6 +20,7 @@ import {
20
20
  ButtonRenderProps,
21
21
  Collection,
22
22
  ContextValue,
23
+ DEFAULT_SLOT,
23
24
  ListBox,
24
25
  ListBoxItem,
25
26
  ListBoxItemProps,
@@ -32,9 +33,12 @@ import {
32
33
  Virtualizer
33
34
  } from 'react-aria-components';
34
35
  import {AsyncLoadable, FocusableRef, FocusableRefValue, GlobalDOMAttributes, HelpTextProps, LoadingState, PressEvent, RefObject, SpectrumLabelableProps} from '@react-types/shared';
36
+ import {AvatarContext} from './Avatar';
35
37
  import {baseColor, edgeToText, focusRing, style} from '../style' with {type: 'macro'};
38
+ import {box, iconStyles as checkboxIconStyles} from './Checkbox';
36
39
  import {centerBaseline} from './CenterBaseline';
37
40
  import {
41
+ checkbox,
38
42
  checkmark,
39
43
  description,
40
44
  icon,
@@ -64,8 +68,9 @@ import {HeaderContext, HeadingContext, Text, TextContext} from './Content';
64
68
  import {IconContext} from './Icon';
65
69
  // @ts-ignore
66
70
  import intlMessages from '../intl/*.json';
71
+ import {mergeStyles} from '../style/runtime';
67
72
  import {Placement} from 'react-aria';
68
- import {PopoverBase} from './Popover';
73
+ import {Popover} from './Popover';
69
74
  import {PressResponder} from '@react-aria/interactions';
70
75
  import {pressScale} from './pressScale';
71
76
  import {ProgressCircle} from './ProgressCircle';
@@ -73,7 +78,7 @@ import {raw} from '../style/style-macro' with {type: 'macro'};
73
78
  import React, {createContext, forwardRef, ReactNode, useContext, useMemo, useRef, useState} from 'react';
74
79
  import {useFocusableRef} from '@react-spectrum/utils';
75
80
  import {useGlobalListeners, useSlotId} from '@react-aria/utils';
76
- import {useLocalizedStringFormatter} from '@react-aria/i18n';
81
+ import {useLocale, useLocalizedStringFormatter} from '@react-aria/i18n';
77
82
  import {useScale} from './utils';
78
83
  import {useSpectrumContextProps} from './useSpectrumContextProps';
79
84
 
@@ -91,8 +96,9 @@ export interface PickerStyleProps {
91
96
  isQuiet?: boolean
92
97
  }
93
98
 
94
- export interface PickerProps<T extends object> extends
95
- Omit<AriaSelectProps<T>, 'children' | 'style' | 'className' | keyof GlobalDOMAttributes>,
99
+ type SelectionMode = 'single' | 'multiple';
100
+ export interface PickerProps<T extends object, M extends SelectionMode = 'single'> extends
101
+ Omit<AriaSelectProps<T, M>, 'children' | 'style' | 'className' | keyof GlobalDOMAttributes>,
96
102
  PickerStyleProps,
97
103
  StyleProps,
98
104
  SpectrumLabelableProps,
@@ -236,6 +242,11 @@ const iconStyles = style({
236
242
  }
237
243
  });
238
244
 
245
+ const avatar = style({
246
+ gridArea: 'icon',
247
+ marginEnd: 'text-to-visual'
248
+ });
249
+
239
250
  const loadingWrapperStyles = style({
240
251
  gridColumnStart: '1',
241
252
  gridColumnEnd: '-1',
@@ -262,7 +273,7 @@ let InsideSelectValueContext = createContext(false);
262
273
  /**
263
274
  * Pickers allow users to choose a single option from a collapsible list of options when space is limited.
264
275
  */
265
- export const Picker = /*#__PURE__*/ (forwardRef as forwardRefType)(function Picker<T extends object>(props: PickerProps<T>, ref: FocusableRef<HTMLButtonElement>) {
276
+ export const Picker = /*#__PURE__*/ (forwardRef as forwardRefType)(function Picker<T extends object, M extends SelectionMode = 'single'>(props: PickerProps<T, M>, ref: FocusableRef<HTMLButtonElement>) {
266
277
  let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');
267
278
  [props, ref] = useSpectrumContextProps(props, ref, PickerContext);
268
279
  let domRef = useFocusableRef(ref);
@@ -334,6 +345,8 @@ export const Picker = /*#__PURE__*/ (forwardRef as forwardRefType)(function Pick
334
345
  );
335
346
  }
336
347
  let scale = useScale();
348
+ let {direction: dir} = useLocale();
349
+ let RTLFlipOffset = dir === 'rtl' ? -1 : 1;
337
350
 
338
351
  return (
339
352
  <AriaSelect
@@ -389,49 +402,54 @@ export const Picker = /*#__PURE__*/ (forwardRef as forwardRefType)(function Pick
389
402
  estimatedHeadingHeight: 50,
390
403
  padding: 8,
391
404
  loaderHeight: LOADER_ROW_HEIGHTS[size][scale]}}>
392
- <PopoverBase
405
+ <Popover
393
406
  hideArrow
407
+ padding="none"
394
408
  offset={menuOffset}
409
+ crossOffset={isQuiet ? RTLFlipOffset * -12 : undefined}
395
410
  placement={`${direction} ${align}` as Placement}
396
411
  shouldFlip={shouldFlip}
397
412
  UNSAFE_style={{
398
413
  width: menuWidth && !isQuiet ? `${menuWidth}px` : undefined
399
414
  }}
400
415
  styles={style({
401
- marginStart: {
402
- isQuiet: -12
403
- },
404
416
  minWidth: {
405
- default: '[var(--trigger-width)]',
417
+ default: '--trigger-width',
406
418
  isQuiet: 192
407
419
  },
408
420
  width: {
409
- default: '[var(--trigger-width)]',
410
- isQuiet: '[calc(var(--trigger-width) + (-2 * self(marginStart)))]'
421
+ default: '--trigger-width',
422
+ isQuiet: '[calc(var(--trigger-width) - 24)]'
411
423
  }
412
424
  })(props)}>
413
- <Provider
414
- values={[
415
- [HeaderContext, {styles: listboxHeader({size})}],
416
- [HeadingContext, {
417
- // @ts-ignore
418
- role: 'presentation',
419
- styles: sectionHeading
420
- }],
421
- [TextContext, {
422
- slots: {
423
- description: {styles: description({size})}
424
- }
425
- }]
426
- ]}>
427
- <ListBox
428
- dependencies={props.dependencies}
429
- items={items}
430
- className={listbox({size})}>
431
- {renderer}
432
- </ListBox>
433
- </Provider>
434
- </PopoverBase>
425
+ <div
426
+ className={style({
427
+ display: 'flex',
428
+ size: 'full'
429
+ })}>
430
+ <Provider
431
+ values={[
432
+ [HeaderContext, {styles: listboxHeader({size})}],
433
+ [HeadingContext, {
434
+ // @ts-ignore
435
+ role: 'presentation',
436
+ styles: sectionHeading
437
+ }],
438
+ [TextContext, {
439
+ slots: {
440
+ description: {styles: description({size})}
441
+ }
442
+ }]
443
+ ]}>
444
+ <ListBox
445
+ dependencies={props.dependencies}
446
+ items={items}
447
+ className={listbox({size})}>
448
+ {renderer}
449
+ </ListBox>
450
+ </Provider>
451
+ </div>
452
+ </Popover>
435
453
  </Virtualizer>
436
454
  </InternalPickerContext.Provider>
437
455
  </>
@@ -456,6 +474,13 @@ function PickerProgressCircle(props) {
456
474
  );
457
475
  }
458
476
 
477
+ const avatarSize = {
478
+ S: 16,
479
+ M: 20,
480
+ L: 22,
481
+ XL: 26
482
+ } as const;
483
+
459
484
  interface PickerButtonInnerProps<T extends object> extends PickerStyleProps, Omit<AriaSelectRenderProps, 'isRequired' | 'isFocused'>, Pick<PickerProps<T>, 'loadingState'> {
460
485
  loadingCircle: ReactNode,
461
486
  buttonRef: RefObject<HTMLButtonElement | null>
@@ -474,6 +499,7 @@ const PickerButton = createHideableComponent(function PickerButton<T extends obj
474
499
  loadingCircle,
475
500
  buttonRef
476
501
  } = props;
502
+ let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');
477
503
 
478
504
  // For mouse interactions, pickers open on press start. When the popover underlay appears
479
505
  // it covers the trigger button, causing onPressEnd to fire immediately and no press scaling
@@ -506,8 +532,8 @@ const PickerButton = createHideableComponent(function PickerButton<T extends obj
506
532
  })}>
507
533
  {(renderProps) => (
508
534
  <>
509
- <SelectValue className={valueStyles({isQuiet}) + ' ' + raw('&> * {display: none;}')}>
510
- {({defaultChildren}) => {
535
+ <SelectValue className={valueStyles({isQuiet}) + ' ' + raw('&> :not([slot=icon], [slot=avatar], [slot=label], [data-slot=label]) {display: none;}')}>
536
+ {({selectedItems, defaultChildren}) => {
511
537
  return (
512
538
  <Provider
513
539
  values={[
@@ -519,19 +545,43 @@ const PickerButton = createHideableComponent(function PickerButton<T extends obj
519
545
  }
520
546
  }
521
547
  }],
548
+ [AvatarContext, {
549
+ slots: {
550
+ avatar: {
551
+ size: avatarSize[size ?? 'M'],
552
+ styles: avatar
553
+ }
554
+ }
555
+ }],
522
556
  [TextContext, {
523
557
  slots: {
524
558
  description: {},
525
- label: {styles: style({
526
- display: 'block',
527
- flexGrow: 1,
528
- truncate: true
529
- })}
559
+ [DEFAULT_SLOT]: {
560
+ styles: style({
561
+ display: 'block',
562
+ flexGrow: 1,
563
+ truncate: true
564
+ }),
565
+ // @ts-ignore
566
+ 'data-slot': 'label'
567
+ },
568
+ label: {
569
+ styles: style({
570
+ display: 'block',
571
+ flexGrow: 1,
572
+ truncate: true
573
+ }),
574
+ // @ts-ignore not technically necessary, but good for consistency
575
+ 'data-slot': 'label'
576
+ }
530
577
  }
531
578
  }],
532
579
  [InsideSelectValueContext, true]
533
580
  ]}>
534
- {defaultChildren}
581
+ {selectedItems.length <= 1
582
+ ? defaultChildren
583
+ : <Text slot="label">{stringFormatter.format('picker.selectedCount', {count: selectedItems.length})}</Text>
584
+ }
535
585
  </Provider>
536
586
  );
537
587
  }}
@@ -577,6 +627,7 @@ export function PickerItem(props: PickerItemProps): ReactNode {
577
627
  className={renderProps => (props.UNSAFE_className || '') + listboxItem({...renderProps, size, isLink}, props.styles)}>
578
628
  {(renderProps) => {
579
629
  let {children} = props;
630
+ let checkboxRenderProps = {...renderProps, size, isFocused: false, isFocusVisible: false, isIndeterminate: false, isReadOnly: false, isInvalid: false, isRequired: false};
580
631
  return (
581
632
  <DefaultProvider
582
633
  context={IconContext}
@@ -584,15 +635,27 @@ export function PickerItem(props: PickerItemProps): ReactNode {
584
635
  icon: {render: centerBaseline({slot: 'icon', styles: iconCenterWrapper}), styles: icon}
585
636
  }}}>
586
637
  <DefaultProvider
587
- context={TextContext}
588
- value={{
589
- slots: {
590
- label: {styles: label({size})},
591
- description: {styles: description({...renderProps, size})}
592
- }
593
- }}>
594
- {!isLink && <CheckmarkIcon size={checkmarkIconSize[size]} className={checkmark({...renderProps, size})} />}
595
- {typeof children === 'string' ? <Text slot="label">{children}</Text> : children}
638
+ context={AvatarContext}
639
+ value={{slots: {
640
+ avatar: {size: avatarSize[size], styles: avatar}
641
+ }}}>
642
+ <DefaultProvider
643
+ context={TextContext}
644
+ value={{
645
+ slots: {
646
+ [DEFAULT_SLOT]: {styles: label({size})},
647
+ label: {styles: label({size})},
648
+ description: {styles: description({...renderProps, size})}
649
+ }
650
+ }}>
651
+ {renderProps.selectionMode === 'single' && !isLink && <CheckmarkIcon size={checkmarkIconSize[size]} className={checkmark({...renderProps, size})} />}
652
+ {renderProps.selectionMode === 'multiple' && !isLink && (
653
+ <div className={mergeStyles(checkbox, box(checkboxRenderProps))}>
654
+ <CheckmarkIcon size={size} className={checkboxIconStyles} />
655
+ </div>
656
+ )}
657
+ {typeof children === 'string' ? <Text slot="label">{children}</Text> : children}
658
+ </DefaultProvider>
596
659
  </DefaultProvider>
597
660
  </DefaultProvider>
598
661
  );