@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
@@ -15,11 +15,11 @@
15
15
  width: fit-content;
16
16
  }
17
17
 
18
- ._La {
18
+ ._Ma {
19
19
  outline-style: none;
20
20
  }
21
21
 
22
- ._Lb {
22
+ ._Mb {
23
23
  outline-style: solid;
24
24
  }
25
25
 
@@ -27,53 +27,53 @@
27
27
  outline-color: var(--lightningcss-light, #4b75ff) var(--lightningcss-dark, #4069fd);
28
28
  }
29
29
 
30
- ._Nc {
30
+ ._Oc {
31
31
  outline-width: 2px;
32
32
  }
33
33
 
34
- ._M-3t1z {
34
+ ._N-3t1z {
35
35
  outline-offset: 2px;
36
36
  }
37
37
 
38
- .Uc {
38
+ .Vc {
39
39
  position: relative;
40
40
  }
41
41
 
42
- ._zb {
42
+ ._Ab {
43
43
  forced-color-adjust: none;
44
44
  }
45
45
 
46
- ._ca {
46
+ ._da {
47
47
  font-family: adobe-clean-variable, adobe-clean, ui-sans-serif, system-ui, sans-serif;
48
48
  }
49
49
 
50
- ._de {
50
+ ._ee {
51
51
  font-size: .875rem;
52
52
  }
53
53
 
54
- ._da {
54
+ ._ea {
55
55
  font-size: .6875rem;
56
56
  }
57
57
 
58
- ._dc {
58
+ ._ec {
59
59
  font-size: .75rem;
60
60
  }
61
61
 
62
- ._dg {
62
+ ._eg {
63
63
  font-size: 1rem;
64
64
  }
65
65
 
66
- ._di {
66
+ ._ei {
67
67
  font-size: 1.125rem;
68
68
  }
69
69
 
70
- ._eb {
70
+ ._fb {
71
71
  font-variation-settings: "wght" 400;
72
72
  font-synthesis-weight: none;
73
73
  font-weight: 400;
74
74
  }
75
75
 
76
- ._fa {
76
+ ._ga {
77
77
  line-height: 1.3;
78
78
  }
79
79
 
@@ -105,7 +105,7 @@
105
105
  height: var(--k);
106
106
  }
107
107
 
108
- ._9-3t1y {
108
+ .__a-3t1y {
109
109
  flex-grow: 1;
110
110
  }
111
111
 
@@ -113,15 +113,15 @@
113
113
  flex-basis: 0;
114
114
  }
115
115
 
116
- ._2d {
116
+ ._3d {
117
117
  justify-content: center;
118
118
  }
119
119
 
120
- .__R-yksgrp {
120
+ .__S-yksgrp {
121
121
  -webkit-tap-highlight-color: #0000;
122
122
  }
123
123
 
124
- .__Da {
124
+ .__Ea {
125
125
  -webkit-user-select: none;
126
126
  user-select: none;
127
127
  }
@@ -134,19 +134,19 @@
134
134
  border-style: none;
135
135
  }
136
136
 
137
- ._vc {
137
+ ._wc {
138
138
  border-start-start-radius: .5rem;
139
139
  }
140
140
 
141
- ._wc {
141
+ ._xc {
142
142
  border-start-end-radius: .5rem;
143
143
  }
144
144
 
145
- ._xc {
145
+ ._yc {
146
146
  border-end-start-radius: .5rem;
147
147
  }
148
148
 
149
- ._yc {
149
+ ._zc {
150
150
  border-end-end-radius: .5rem;
151
151
  }
152
152
 
@@ -162,7 +162,7 @@
162
162
  background-color: var(--lightningcss-light, #fff) var(--lightningcss-dark, #111);
163
163
  }
164
164
 
165
- .Ya {
165
+ .Za {
166
166
  left: 0;
167
167
  }
168
168
 
@@ -174,11 +174,11 @@
174
174
  height: 100%;
175
175
  }
176
176
 
177
- .Ua {
177
+ .Va {
178
178
  position: absolute;
179
179
  }
180
180
 
181
- .__na {
181
+ .__oa {
182
182
  box-sizing: border-box;
183
183
  }
184
184
 
@@ -210,51 +210,51 @@
210
210
  border-color: var(--lightningcss-light, #dadada) var(--lightningcss-dark, #393939);
211
211
  }
212
212
 
213
- ._vd {
213
+ ._wd {
214
214
  border-start-start-radius: .625rem;
215
215
  }
216
216
 
217
- ._wd {
217
+ ._xd {
218
218
  border-start-end-radius: .625rem;
219
219
  }
220
220
 
221
- ._xd {
221
+ ._yd {
222
222
  border-end-start-radius: .625rem;
223
223
  }
224
224
 
225
- ._yd {
225
+ ._zd {
226
226
  border-end-end-radius: .625rem;
227
227
  }
228
228
 
229
- .__A-3t1x {
229
+ .__B-3t1x {
230
230
  order: 0;
231
231
  }
232
232
 
233
- ._8-3t1x {
233
+ ._9-3t1x {
234
234
  flex-shrink: 0;
235
235
  }
236
236
 
237
- .__A-3t1y {
237
+ .__B-3t1y {
238
238
  order: 1;
239
239
  }
240
240
 
241
- .__vb {
241
+ .__wb {
242
242
  overflow-x: hidden;
243
243
  }
244
244
 
245
- .__wb {
245
+ .__xb {
246
246
  overflow-y: hidden;
247
247
  }
248
248
 
249
- ._ma {
249
+ ._na {
250
250
  text-overflow: ellipsis;
251
251
  }
252
252
 
253
- ._pb {
253
+ ._qb {
254
254
  white-space: nowrap;
255
255
  }
256
256
 
257
- ._Zd {
257
+ ._0d {
258
258
  display: flex;
259
259
  }
260
260
 
@@ -266,19 +266,19 @@
266
266
  column-gap: .428571em;
267
267
  }
268
268
 
269
- ._Oa {
270
- transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter;
269
+ ._Pa {
270
+ transition-property: color, background-color, var(--gp), border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, translate, scale, rotate, filter, backdrop-filter;
271
271
  }
272
272
 
273
- ._Q-375x7f {
273
+ ._R-375x7f {
274
274
  transition-duration: .15s;
275
275
  }
276
276
 
277
- ._Ra {
277
+ ._Sa {
278
278
  transition-timing-function: cubic-bezier(.45, 0, .4, 1);
279
279
  }
280
280
 
281
- ._1c {
281
+ ._2c {
282
282
  align-items: center;
283
283
  }
284
284
 
@@ -288,11 +288,11 @@
288
288
  }
289
289
 
290
290
  @layer _.b {
291
- ._c-enzrfpb:lang(ar) {
291
+ ._d-enzrfpb:lang(ar) {
292
292
  font-family: myriad-arabic, ui-sans-serif, system-ui, sans-serif;
293
293
  }
294
294
 
295
- ._f-1x99dlob:is(:lang(ja), :lang(ko), :lang(zh), :lang(zh-Hant), :lang(zh-Hans)) {
295
+ ._g-1x99dlob:is(:lang(ja), :lang(ko), :lang(zh), :lang(zh-Hant), :lang(zh-Hans)) {
296
296
  line-height: 1.5;
297
297
  }
298
298
 
@@ -308,72 +308,72 @@
308
308
  @layer UNSAFE_overrides;
309
309
 
310
310
  @layer _.c {
311
- ._c-enzwzjc:lang(he) {
311
+ ._d-enzwzjc:lang(he) {
312
312
  font-family: myriad-hebrew, ui-sans-serif, system-ui, sans-serif;
313
313
  }
314
314
  }
315
315
 
316
316
  @layer _.d {
317
- ._c-enzykdd:lang(ja) {
317
+ ._d-enzykdd:lang(ja) {
318
318
  font-family: adobe-clean-han-japanese, Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN W3, Osaka, YuGothic, Yu Gothic, メイリオ, Meiryo, MS Pゴシック, MS PGothic, sans-serif;
319
319
  }
320
320
  }
321
321
 
322
322
  @layer _.e {
323
- ._c-enzzrge:lang(ko) {
323
+ ._d-enzzrge:lang(ko) {
324
324
  font-family: adobe-clean-han-korean, source-han-korean, Malgun Gothic, Apple Gothic, sans-serif;
325
325
  }
326
326
  }
327
327
 
328
328
  @layer _.f {
329
- ._c-eo0c6sf:lang(zh) {
329
+ ._d-eo0c6sf:lang(zh) {
330
330
  font-family: adobe-clean-han-traditional, source-han-traditional, MingLiu, Heiti TC Light, sans-serif;
331
331
  }
332
332
  }
333
333
 
334
334
  @layer _.g {
335
- ._c-1uotwbwg:lang(zh-hant) {
335
+ ._d-1uotwbwg:lang(zh-hant) {
336
336
  font-family: adobe-clean-han-traditional, source-han-traditional, MingLiu, Microsoft JhengHei UI, Microsoft JhengHei, Heiti TC Light, sans-serif;
337
337
  }
338
338
  }
339
339
 
340
340
  @layer _.h {
341
- ._c-bc1l9oh:is(:lang(zh-Hans), :lang(zh-CN), :lang(zh-SG)) {
341
+ ._d-bc1l9oh:is(:lang(zh-Hans), :lang(zh-CN), :lang(zh-SG)) {
342
342
  font-family: adobe-clean-han-simplified-c, source-han-simplified-c, SimSun, Heiti SC Light, sans-serif;
343
343
  }
344
344
  }
345
345
 
346
346
  @layer _.b.a {
347
347
  @media (forced-colors: active) {
348
- .da_____z {
348
+ .da_____M {
349
349
  outline-color: highlight;
350
350
  }
351
351
 
352
- .aa_____x {
352
+ .aa_____K {
353
353
  color: buttontext;
354
354
  }
355
355
 
356
- .aa_____B {
356
+ .aa_____O {
357
357
  color: graytext;
358
358
  }
359
359
 
360
- .aa_____A {
360
+ .aa_____N {
361
361
  color: highlighttext;
362
362
  }
363
363
 
364
- .ba_____z {
364
+ .ba_____M {
365
365
  background-color: highlight;
366
366
  }
367
367
 
368
- .ba_____B {
368
+ .ba_____O {
369
369
  background-color: graytext;
370
370
  }
371
371
 
372
- .ca_____z {
372
+ .ca_____M {
373
373
  border-color: highlight;
374
374
  }
375
375
 
376
- .ca_____B {
376
+ .ca_____O {
377
377
  border-color: graytext;
378
378
  }
379
379
  }
@@ -381,23 +381,23 @@
381
381
 
382
382
  @layer _.b.b {
383
383
  @media not ((hover: hover) and (pointer: fine)) {
384
- ._dbf {
384
+ ._ebf {
385
385
  font-size: 1.0625rem;
386
386
  }
387
387
 
388
- ._dbb {
388
+ ._ebb {
389
389
  font-size: .8125rem;
390
390
  }
391
391
 
392
- ._dbd {
392
+ ._ebd {
393
393
  font-size: .9375rem;
394
394
  }
395
395
 
396
- ._dbh {
396
+ ._ebh {
397
397
  font-size: 1.1875rem;
398
398
  }
399
399
 
400
- ._dbj {
400
+ ._ebj {
401
401
  font-size: 1.375rem;
402
402
  }
403
403
 
@@ -1 +1 @@
1
- {"mappings":"ACwDyB;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAQL;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EA6CL;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EA4J+C;;;;EAAA;;;;EAGzB;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAE4C;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;AAtNxD;EAQL;;;;EAAA;;;;EAAA;;;;EAAA;;;;;AARK;;AAQL;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;IA6CL;;;;IAAA;;;;IAAA;;;;IAAA;;;;;;AA7CK;EAAA;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;IA8M6D;;;;IAAA;;;;;;AAjKlE","sources":["90909571be522c78","packages/@react-spectrum/s2/src/SegmentedControl.tsx"],"sourcesContent":["@import \"3076f581d900045a\";\n@import \"37c2fdb040131115\";\n@import \"d075b97bae773d34\";\n@import \"6903fca31535b056\";\n@import \"a6b79b4602e6c53c\";\n@import \"c3f3a2eb3541e76f\";\n","/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaLabelingProps, DOMRef, DOMRefValue, FocusableRef, Key} from '@react-types/shared';\nimport {centerBaseline} from './CenterBaseline';\nimport {ContextValue, DEFAULT_SLOT, Provider, TextContext as RACTextContext, SlotProps, ToggleButton, ToggleButtonGroup, ToggleGroupStateContext} from 'react-aria-components';\nimport {createContext, forwardRef, ReactNode, RefObject, useCallback, useContext, useRef} from 'react';\nimport {focusRing, space, style} from '../style' with {type: 'macro'};\nimport {getAllowedOverrides, StyleProps} from './style-utils' with {type: 'macro'};\nimport {IconContext} from './Icon';\nimport {pressScale} from './pressScale';\nimport {Text, TextContext} from './Content';\nimport {useDOMRef, useFocusableRef} from '@react-spectrum/utils';\nimport {useLayoutEffect} from '@react-aria/utils';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\nexport interface SegmentedControlProps extends AriaLabelingProps, StyleProps, SlotProps {\n /**\n * The content to display in the segmented control.\n */\n children: ReactNode,\n /**\n * Whether the segmented control is disabled.\n */\n isDisabled?: boolean,\n /** Whether the items should divide the container width equally. */\n isJustified?: boolean,\n /** The id of the currently selected item (controlled). */\n selectedKey?: Key | null,\n /** The id of the initial selected item (uncontrolled). */\n defaultSelectedKey?: Key,\n /** Handler that is called when the selection changes. */\n onSelectionChange?: (id: Key) => void\n}\nexport interface SegmentedControlItemProps extends AriaLabelingProps, StyleProps {\n /**\n * The content to display in the segmented control item.\n */\n children: ReactNode,\n /** The id of the item, matching the value used in SegmentedControl's `selectedKey` prop. */\n id: Key,\n /** Whether the item is disabled or not. */\n isDisabled?: boolean\n}\n\nexport const SegmentedControlContext = createContext<ContextValue<SegmentedControlProps, DOMRefValue<HTMLDivElement>>>(null);\n\nconst segmentedControl = style({\n display: 'flex',\n gap: 4,\n backgroundColor: 'gray-100',\n borderRadius: 'default',\n width: 'fit'\n}, getAllowedOverrides());\n\nconst controlItem = style({\n ...focusRing(),\n position: 'relative',\n display: 'flex',\n forcedColorAdjust: 'none',\n font: 'control',\n color: {\n default: 'gray-700',\n isHovered: 'neutral-subdued',\n isSelected: 'neutral',\n isDisabled: 'disabled',\n forcedColors: {\n default: 'ButtonText',\n isDisabled: 'GrayText',\n isSelected: 'HighlightText'\n }\n },\n // TODO: update this padding for icon-only items when we introduce the non-track style back\n paddingX: {\n default: 'edge-to-text',\n ':has([slot=icon]):not(:has([data-rsp-slot=text]))': space(6)\n },\n height: 32,\n alignItems: 'center',\n flexGrow: {\n isJustified: 1\n },\n flexBasis: {\n isJustified: 0\n },\n flexShrink: 0,\n minWidth: 0,\n justifyContent: 'center',\n whiteSpace: 'nowrap',\n disableTapHighlight: true,\n userSelect: 'none',\n backgroundColor: 'transparent',\n borderStyle: 'none',\n borderRadius: 'default',\n '--iconPrimary': {\n type: 'fill',\n value: 'currentColor'\n }\n}, getAllowedOverrides());\n\nconst slider = style({\n backgroundColor: {\n default: 'gray-25',\n forcedColors: {\n default: 'Highlight',\n isDisabled: 'GrayText'\n }\n },\n left: 0,\n width: 'full',\n height: 'full',\n position: 'absolute',\n boxSizing: 'border-box',\n borderStyle: 'solid',\n borderWidth: 2,\n borderColor: {\n default: 'gray-900',\n isDisabled: 'disabled',\n forcedColors: {\n default: 'Highlight',\n isDisabled: 'GrayText'\n }\n },\n borderRadius: 'lg'\n});\n\ninterface InternalSegmentedControlContextProps {\n register?: (value: Key, isDisabled?: boolean) => void,\n prevRef?: RefObject<DOMRect | null>,\n currentSelectedRef?: RefObject<HTMLDivElement | null>,\n isJustified?: boolean\n}\n\ninterface DefaultSelectionTrackProps {\n defaultValue?: Key | null,\n value?: Key | null,\n children?: ReactNode,\n prevRef: RefObject<DOMRect | null>,\n currentSelectedRef: RefObject<HTMLDivElement | null>,\n isJustified?: boolean\n}\n\nconst InternalSegmentedControlContext = createContext<InternalSegmentedControlContextProps>({});\n\nfunction SegmentedControl(props: SegmentedControlProps, ref: DOMRef<HTMLDivElement>) {\n [props, ref] = useSpectrumContextProps(props, ref, SegmentedControlContext);\n let {\n defaultSelectedKey,\n selectedKey,\n onSelectionChange\n } = props;\n let domRef = useDOMRef(ref);\n\n let prevRef = useRef<DOMRect>(null);\n let currentSelectedRef = useRef<HTMLDivElement>(null);\n\n let onChange = (values: Set<Key>) => {\n if (currentSelectedRef.current) {\n prevRef.current = currentSelectedRef?.current.getBoundingClientRect();\n }\n \n if (onSelectionChange) {\n onSelectionChange(values.values().next().value);\n }\n };\n\n return (\n <ToggleButtonGroup \n {...props}\n selectedKeys={selectedKey != null ? [selectedKey] : undefined}\n defaultSelectedKeys={defaultSelectedKey != null ? [defaultSelectedKey] : undefined}\n disallowEmptySelection\n ref={domRef}\n orientation=\"horizontal\"\n style={props.UNSAFE_style}\n onSelectionChange={onChange}\n className={(props.UNSAFE_className || '') + segmentedControl(null, props.styles)}\n aria-label={props['aria-label']}>\n <DefaultSelectionTracker defaultValue={defaultSelectedKey} value={selectedKey} prevRef={prevRef} currentSelectedRef={currentSelectedRef} isJustified={props.isJustified}>\n {props.children}\n </DefaultSelectionTracker>\n </ToggleButtonGroup>\n );\n}\n\nfunction DefaultSelectionTracker(props: DefaultSelectionTrackProps) {\n let state = useContext(ToggleGroupStateContext);\n let isRegistered = useRef(!(props.defaultValue == null && props.value == null));\n\n // default select the first available item\n let register = useCallback((value: Key) => {\n if (state && !isRegistered.current) {\n isRegistered.current = true;\n state.toggleKey(value);\n }\n }, []);\n\n return (\n <Provider\n values={[\n [InternalSegmentedControlContext, {register: register, prevRef: props.prevRef, currentSelectedRef: props.currentSelectedRef, isJustified: props.isJustified}]\n ]}> \n {props.children}\n </Provider>\n );\n}\n\nfunction SegmentedControlItem(props: SegmentedControlItemProps, ref: FocusableRef<HTMLButtonElement>) {\n let domRef = useFocusableRef(ref);\n let divRef = useRef<HTMLDivElement>(null);\n let {register, prevRef, currentSelectedRef, isJustified} = useContext(InternalSegmentedControlContext);\n let state = useContext(ToggleGroupStateContext);\n let isSelected = state?.selectedKeys.has(props.id);\n // do not apply animation if a user has the prefers-reduced-motion setting\n let isReduced = false;\n if (window?.matchMedia) {\n isReduced = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n\n useLayoutEffect(() => {\n register?.(props.id);\n }, []);\n\n useLayoutEffect(() => {\n if (isSelected && prevRef?.current && currentSelectedRef?.current && !isReduced) {\n let currentItem = currentSelectedRef?.current.getBoundingClientRect();\n\n let deltaX = prevRef?.current.left - currentItem?.left;\n\n currentSelectedRef.current.animate(\n [\n {transform: `translateX(${deltaX}px)`, width: `${prevRef?.current.width}px`},\n {transform: 'translateX(0px)', width: `${currentItem.width}px`}\n ],\n {\n duration: 200,\n easing: 'ease-out'\n }\n );\n\n prevRef.current = null;\n }\n }, [isSelected]);\n\n return (\n <ToggleButton \n {...props}\n ref={domRef} \n style={props.UNSAFE_style}\n className={renderProps => (props.UNSAFE_className || '') + controlItem({...renderProps, isJustified}, props.styles)} >\n {({isSelected, isPressed, isDisabled}) => (\n <>\n {isSelected && <div className={slider({isDisabled})} ref={currentSelectedRef} />}\n <Provider \n values={[\n [IconContext, {\n render: centerBaseline({slot: 'icon', styles: style({order: 0, flexShrink: 0})})\n }],\n [RACTextContext, {slots: {[DEFAULT_SLOT]: {}}}],\n [TextContext, {styles: style({order: 1, truncate: true})}]\n ]}>\n <div ref={divRef} style={pressScale(divRef)({isPressed})} className={style({display: 'flex', gap: 'text-to-visual', transition: 'default', alignItems: 'center', minWidth: 0})}>\n {typeof props.children === 'string' ? <Text>{props.children}</Text> : props.children}\n </div>\n </Provider>\n </>\n )\n }\n </ToggleButton>\n );\n}\n\n/**\n * A SegmentedControlItem represents an option within a SegmentedControl.\n */\nconst _SegmentedControlItem = /*#__PURE__*/ forwardRef(SegmentedControlItem);\nexport {_SegmentedControlItem as SegmentedControlItem};\n\n/**\n * A SegmentedControl is a mutually exclusive group of buttons used for view switching.\n */\nconst _SegmentedControl = /*#__PURE__*/ forwardRef(SegmentedControl);\nexport {_SegmentedControl as SegmentedControl};\n"],"names":[],"version":3,"file":"SegmentedControl.css.map"}
1
+ {"mappings":"ACwDyB;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAQL;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EA6CL;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAkK+C;;;;EAAA;;;;EAGzB;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAE4C;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;AA5NxD;EAQL;;;;EAAA;;;;EAAA;;;;EAAA;;;;;AARK;;AAQL;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;IA6CL;;;;IAAA;;;;IAAA;;;;IAAA;;;;;;AA7CK;EAAA;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;IAoN6D;;;;IAAA;;;;;;AAvKlE","sources":["90909571be522c78","packages/@react-spectrum/s2/src/SegmentedControl.tsx"],"sourcesContent":["@import \"3076f581d900045a\";\n@import \"37c2fdb040131115\";\n@import \"d075b97bae773d34\";\n@import \"6903fca31535b056\";\n@import \"a6b79b4602e6c53c\";\n@import \"c3f3a2eb3541e76f\";\n","/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaLabelingProps, DOMRef, DOMRefValue, FocusableRef, Key} from '@react-types/shared';\nimport {centerBaseline} from './CenterBaseline';\nimport {ContextValue, DEFAULT_SLOT, Provider, TextContext as RACTextContext, SlotProps, ToggleButton, ToggleButtonGroup, ToggleGroupStateContext} from 'react-aria-components';\nimport {createContext, forwardRef, ReactNode, RefObject, useCallback, useContext, useRef} from 'react';\nimport {focusRing, space, style} from '../style' with {type: 'macro'};\nimport {getAllowedOverrides, StyleProps} from './style-utils' with {type: 'macro'};\nimport {IconContext} from './Icon';\nimport {pressScale} from './pressScale';\nimport {Text, TextContext} from './Content';\nimport {useDOMRef, useFocusableRef} from '@react-spectrum/utils';\nimport {useLayoutEffect} from '@react-aria/utils';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\nexport interface SegmentedControlProps extends AriaLabelingProps, StyleProps, SlotProps {\n /**\n * The content to display in the segmented control.\n */\n children: ReactNode,\n /**\n * Whether the segmented control is disabled.\n */\n isDisabled?: boolean,\n /** Whether the items should divide the container width equally. */\n isJustified?: boolean,\n /** The id of the currently selected item (controlled). */\n selectedKey?: Key | null,\n /** The id of the initial selected item (uncontrolled). */\n defaultSelectedKey?: Key,\n /** Handler that is called when the selection changes. */\n onSelectionChange?: (id: Key) => void\n}\nexport interface SegmentedControlItemProps extends AriaLabelingProps, StyleProps {\n /**\n * The content to display in the segmented control item.\n */\n children: ReactNode,\n /** The id of the item, matching the value used in SegmentedControl's `selectedKey` prop. */\n id: Key,\n /** Whether the item is disabled or not. */\n isDisabled?: boolean\n}\n\nexport const SegmentedControlContext = createContext<ContextValue<SegmentedControlProps, DOMRefValue<HTMLDivElement>>>(null);\n\nconst segmentedControl = style({\n display: 'flex',\n gap: 4,\n backgroundColor: 'gray-100',\n borderRadius: 'default',\n width: 'fit'\n}, getAllowedOverrides());\n\nconst controlItem = style({\n ...focusRing(),\n position: 'relative',\n display: 'flex',\n forcedColorAdjust: 'none',\n font: 'control',\n color: {\n default: 'gray-700',\n isHovered: 'neutral-subdued',\n isSelected: 'neutral',\n isDisabled: 'disabled',\n forcedColors: {\n default: 'ButtonText',\n isDisabled: 'GrayText',\n isSelected: 'HighlightText'\n }\n },\n // TODO: update this padding for icon-only items when we introduce the non-track style back\n paddingX: {\n default: 'edge-to-text',\n ':has([slot=icon]):not(:has([data-rsp-slot=text]))': space(6)\n },\n height: 32,\n alignItems: 'center',\n flexGrow: {\n isJustified: 1\n },\n flexBasis: {\n isJustified: 0\n },\n flexShrink: 0,\n minWidth: 0,\n justifyContent: 'center',\n whiteSpace: 'nowrap',\n disableTapHighlight: true,\n userSelect: 'none',\n backgroundColor: 'transparent',\n borderStyle: 'none',\n borderRadius: 'default',\n '--iconPrimary': {\n type: 'fill',\n value: 'currentColor'\n }\n}, getAllowedOverrides());\n\nconst slider = style({\n backgroundColor: {\n default: 'gray-25',\n forcedColors: {\n default: 'Highlight',\n isDisabled: 'GrayText'\n }\n },\n left: 0,\n width: 'full',\n height: 'full',\n position: 'absolute',\n boxSizing: 'border-box',\n borderStyle: 'solid',\n borderWidth: 2,\n borderColor: {\n default: 'gray-900',\n isDisabled: 'disabled',\n forcedColors: {\n default: 'Highlight',\n isDisabled: 'GrayText'\n }\n },\n borderRadius: 'lg'\n});\n\ninterface InternalSegmentedControlContextProps {\n register?: (value: Key, isDisabled?: boolean) => void,\n prevRef?: RefObject<DOMRect | null>,\n currentSelectedRef?: RefObject<HTMLDivElement | null>,\n isJustified?: boolean\n}\n\ninterface DefaultSelectionTrackProps {\n defaultValue?: Key | null,\n value?: Key | null,\n children?: ReactNode,\n prevRef: RefObject<DOMRect | null>,\n currentSelectedRef: RefObject<HTMLDivElement | null>,\n isJustified?: boolean\n}\n\nconst InternalSegmentedControlContext = createContext<InternalSegmentedControlContextProps>({});\n\n/**\n * A SegmentedControl is a mutually exclusive group of buttons used for view switching.\n */\nexport const SegmentedControl = /*#__PURE__*/ forwardRef(function SegmentedControl(props: SegmentedControlProps, ref: DOMRef<HTMLDivElement>) {\n [props, ref] = useSpectrumContextProps(props, ref, SegmentedControlContext);\n let {\n defaultSelectedKey,\n selectedKey,\n onSelectionChange\n } = props;\n let domRef = useDOMRef(ref);\n\n let prevRef = useRef<DOMRect>(null);\n let currentSelectedRef = useRef<HTMLDivElement>(null);\n\n let onChange = (values: Set<Key>) => {\n if (currentSelectedRef.current) {\n prevRef.current = currentSelectedRef?.current.getBoundingClientRect();\n }\n \n if (onSelectionChange) {\n onSelectionChange(values.values().next().value);\n }\n };\n\n return (\n <ToggleButtonGroup \n {...props}\n selectedKeys={selectedKey != null ? [selectedKey] : undefined}\n defaultSelectedKeys={defaultSelectedKey != null ? [defaultSelectedKey] : undefined}\n disallowEmptySelection\n ref={domRef}\n orientation=\"horizontal\"\n style={props.UNSAFE_style}\n onSelectionChange={onChange}\n className={(props.UNSAFE_className || '') + segmentedControl(null, props.styles)}\n aria-label={props['aria-label']}>\n <DefaultSelectionTracker defaultValue={defaultSelectedKey} value={selectedKey} prevRef={prevRef} currentSelectedRef={currentSelectedRef} isJustified={props.isJustified}>\n {props.children}\n </DefaultSelectionTracker>\n </ToggleButtonGroup>\n );\n});\n\nfunction DefaultSelectionTracker(props: DefaultSelectionTrackProps) {\n let state = useContext(ToggleGroupStateContext);\n let isRegistered = useRef(!(props.defaultValue == null && props.value == null));\n\n // default select the first available item\n let register = useCallback((value: Key) => {\n if (state && !isRegistered.current) {\n isRegistered.current = true;\n state.toggleKey(value);\n }\n }, []);\n\n return (\n <Provider\n values={[\n [InternalSegmentedControlContext, {register: register, prevRef: props.prevRef, currentSelectedRef: props.currentSelectedRef, isJustified: props.isJustified}]\n ]}> \n {props.children}\n </Provider>\n );\n}\n\n/**\n * A SegmentedControlItem represents an option within a SegmentedControl.\n */\nexport const SegmentedControlItem = /*#__PURE__*/ forwardRef(function SegmentedControlItem(props: SegmentedControlItemProps, ref: FocusableRef<HTMLButtonElement>) {\n let domRef = useFocusableRef(ref);\n let divRef = useRef<HTMLDivElement>(null);\n let {register, prevRef, currentSelectedRef, isJustified} = useContext(InternalSegmentedControlContext);\n let state = useContext(ToggleGroupStateContext);\n let isSelected = state?.selectedKeys.has(props.id);\n // do not apply animation if a user has the prefers-reduced-motion setting\n let isReduced = false;\n if (window?.matchMedia) {\n isReduced = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n\n useLayoutEffect(() => {\n register?.(props.id);\n }, []);\n\n useLayoutEffect(() => {\n if (isSelected && prevRef?.current && currentSelectedRef?.current && !isReduced) {\n let currentItem = currentSelectedRef?.current.getBoundingClientRect();\n\n let deltaX = prevRef?.current.left - currentItem?.left;\n\n currentSelectedRef.current.animate(\n [\n {transform: `translateX(${deltaX}px)`, width: `${prevRef?.current.width}px`},\n {transform: 'translateX(0px)', width: `${currentItem.width}px`}\n ],\n {\n duration: 200,\n easing: 'ease-out'\n }\n );\n\n prevRef.current = null;\n }\n }, [isSelected]);\n\n return (\n <ToggleButton \n {...props}\n ref={domRef} \n style={props.UNSAFE_style}\n className={renderProps => (props.UNSAFE_className || '') + controlItem({...renderProps, isJustified}, props.styles)} >\n {({isSelected, isPressed, isDisabled}) => (\n <>\n {isSelected && <div className={slider({isDisabled})} ref={currentSelectedRef} />}\n <Provider \n values={[\n [IconContext, {\n render: centerBaseline({slot: 'icon', styles: style({order: 0, flexShrink: 0})})\n }],\n [RACTextContext, {slots: {[DEFAULT_SLOT]: {}}}],\n [TextContext, {styles: style({order: 1, truncate: true})}]\n ]}>\n <div ref={divRef} style={pressScale(divRef)({isPressed})} className={style({display: 'flex', gap: 'text-to-visual', transition: 'default', alignItems: 'center', minWidth: 0})}>\n {typeof props.children === 'string' ? <Text>{props.children}</Text> : props.children}\n </div>\n </Provider>\n </>\n )\n }\n </ToggleButton>\n );\n});\n"],"names":[],"version":3,"file":"SegmentedControl.css.map"}