@react-spectrum/s2 3.0.0-nightly-4b8b33a02-250211 → 3.0.0-nightly-260eb700f-250213

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 (422) hide show
  1. package/dist/Accordion.cjs +3 -3
  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 +3 -3
  6. package/dist/Accordion.mjs.map +1 -1
  7. package/dist/ActionBar.cjs +47 -47
  8. package/dist/ActionBar.css +51 -51
  9. package/dist/ActionBar.mjs +47 -47
  10. package/dist/ActionButton.cjs +97 -97
  11. package/dist/ActionButton.cjs.map +1 -1
  12. package/dist/ActionButton.css +96 -96
  13. package/dist/ActionButton.css.map +1 -1
  14. package/dist/ActionButton.mjs +97 -97
  15. package/dist/ActionButton.mjs.map +1 -1
  16. package/dist/ActionButtonGroup.cjs +11 -11
  17. package/dist/ActionButtonGroup.css +9 -9
  18. package/dist/ActionButtonGroup.mjs +11 -11
  19. package/dist/ActionMenu.cjs.map +1 -1
  20. package/dist/ActionMenu.mjs.map +1 -1
  21. package/dist/AlertDialog.cjs +3 -3
  22. package/dist/AlertDialog.css +3 -3
  23. package/dist/AlertDialog.mjs +3 -3
  24. package/dist/Avatar.cjs +17 -17
  25. package/dist/Avatar.cjs.map +1 -1
  26. package/dist/Avatar.css +14 -14
  27. package/dist/Avatar.css.map +1 -1
  28. package/dist/Avatar.mjs +17 -17
  29. package/dist/Avatar.mjs.map +1 -1
  30. package/dist/AvatarGroup.cjs +100 -100
  31. package/dist/AvatarGroup.cjs.map +1 -1
  32. package/dist/AvatarGroup.css +34 -34
  33. package/dist/AvatarGroup.css.map +1 -1
  34. package/dist/AvatarGroup.mjs +100 -100
  35. package/dist/AvatarGroup.mjs.map +1 -1
  36. package/dist/Badge.cjs +68 -92
  37. package/dist/Badge.cjs.map +1 -1
  38. package/dist/Badge.css +92 -164
  39. package/dist/Badge.css.map +1 -1
  40. package/dist/Badge.mjs +68 -92
  41. package/dist/Badge.mjs.map +1 -1
  42. package/dist/Breadcrumbs.cjs +115 -115
  43. package/dist/Breadcrumbs.cjs.map +1 -1
  44. package/dist/Breadcrumbs.css +89 -89
  45. package/dist/Breadcrumbs.css.map +1 -1
  46. package/dist/Breadcrumbs.mjs +115 -115
  47. package/dist/Breadcrumbs.mjs.map +1 -1
  48. package/dist/Button.cjs +152 -236
  49. package/dist/Button.cjs.map +1 -1
  50. package/dist/Button.css +165 -309
  51. package/dist/Button.css.map +1 -1
  52. package/dist/Button.mjs +152 -236
  53. package/dist/Button.mjs.map +1 -1
  54. package/dist/ButtonGroup.cjs +19 -19
  55. package/dist/ButtonGroup.cjs.map +1 -1
  56. package/dist/ButtonGroup.css +15 -15
  57. package/dist/ButtonGroup.css.map +1 -1
  58. package/dist/ButtonGroup.mjs +19 -19
  59. package/dist/ButtonGroup.mjs.map +1 -1
  60. package/dist/Card.cjs +261 -264
  61. package/dist/Card.cjs.map +1 -1
  62. package/dist/Card.css +198 -210
  63. package/dist/Card.css.map +1 -1
  64. package/dist/Card.mjs +261 -264
  65. package/dist/Card.mjs.map +1 -1
  66. package/dist/CardView.cjs +15 -15
  67. package/dist/CardView.cjs.map +1 -1
  68. package/dist/CardView.css +18 -18
  69. package/dist/CardView.css.map +1 -1
  70. package/dist/CardView.mjs +15 -15
  71. package/dist/CardView.mjs.map +1 -1
  72. package/dist/CenterBaseline.cjs +1 -1
  73. package/dist/CenterBaseline.css +2 -2
  74. package/dist/CenterBaseline.mjs +1 -1
  75. package/dist/Checkbox.cjs +73 -124
  76. package/dist/Checkbox.cjs.map +1 -1
  77. package/dist/Checkbox.css +81 -201
  78. package/dist/Checkbox.css.map +1 -1
  79. package/dist/Checkbox.mjs +73 -124
  80. package/dist/Checkbox.mjs.map +1 -1
  81. package/dist/CheckboxGroup.cjs +49 -49
  82. package/dist/CheckboxGroup.cjs.map +1 -1
  83. package/dist/CheckboxGroup.css +41 -41
  84. package/dist/CheckboxGroup.css.map +1 -1
  85. package/dist/CheckboxGroup.mjs +49 -49
  86. package/dist/CheckboxGroup.mjs.map +1 -1
  87. package/dist/ClearButton.cjs +15 -15
  88. package/dist/ClearButton.css +17 -17
  89. package/dist/ClearButton.mjs +15 -15
  90. package/dist/CloseButton.cjs +35 -35
  91. package/dist/CloseButton.cjs.map +1 -1
  92. package/dist/CloseButton.css +33 -33
  93. package/dist/CloseButton.css.map +1 -1
  94. package/dist/CloseButton.mjs +35 -35
  95. package/dist/CloseButton.mjs.map +1 -1
  96. package/dist/ColorArea.cjs +22 -22
  97. package/dist/ColorArea.cjs.map +1 -1
  98. package/dist/ColorArea.css +15 -15
  99. package/dist/ColorArea.css.map +1 -1
  100. package/dist/ColorArea.mjs +22 -22
  101. package/dist/ColorArea.mjs.map +1 -1
  102. package/dist/ColorField.cjs +38 -38
  103. package/dist/ColorField.cjs.map +1 -1
  104. package/dist/ColorField.css +32 -32
  105. package/dist/ColorField.css.map +1 -1
  106. package/dist/ColorField.mjs +38 -38
  107. package/dist/ColorField.mjs.map +1 -1
  108. package/dist/ColorHandle.cjs +21 -27
  109. package/dist/ColorHandle.cjs.map +1 -1
  110. package/dist/ColorHandle.css +45 -93
  111. package/dist/ColorHandle.css.map +1 -1
  112. package/dist/ColorHandle.mjs +21 -27
  113. package/dist/ColorHandle.mjs.map +1 -1
  114. package/dist/ColorSlider.cjs +52 -52
  115. package/dist/ColorSlider.cjs.map +1 -1
  116. package/dist/ColorSlider.css +51 -51
  117. package/dist/ColorSlider.css.map +1 -1
  118. package/dist/ColorSlider.mjs +52 -52
  119. package/dist/ColorSlider.mjs.map +1 -1
  120. package/dist/ColorSwatch.cjs +24 -27
  121. package/dist/ColorSwatch.cjs.map +1 -1
  122. package/dist/ColorSwatch.css +29 -41
  123. package/dist/ColorSwatch.css.map +1 -1
  124. package/dist/ColorSwatch.mjs +24 -27
  125. package/dist/ColorSwatch.mjs.map +1 -1
  126. package/dist/ColorSwatchPicker.cjs +23 -23
  127. package/dist/ColorSwatchPicker.css +48 -60
  128. package/dist/ColorSwatchPicker.css.map +1 -1
  129. package/dist/ColorSwatchPicker.mjs +23 -23
  130. package/dist/ColorWheel.cjs +22 -22
  131. package/dist/ColorWheel.cjs.map +1 -1
  132. package/dist/ColorWheel.css +16 -16
  133. package/dist/ColorWheel.css.map +1 -1
  134. package/dist/ColorWheel.mjs +22 -22
  135. package/dist/ColorWheel.mjs.map +1 -1
  136. package/dist/ComboBox.cjs +80 -80
  137. package/dist/ComboBox.css +88 -88
  138. package/dist/ComboBox.mjs +80 -80
  139. package/dist/Content.cjs.map +1 -1
  140. package/dist/Content.mjs.map +1 -1
  141. package/dist/ContextualHelp.cjs +5 -5
  142. package/dist/ContextualHelp.cjs.map +1 -1
  143. package/dist/ContextualHelp.css +38 -38
  144. package/dist/ContextualHelp.css.map +1 -1
  145. package/dist/ContextualHelp.mjs +5 -5
  146. package/dist/ContextualHelp.mjs.map +1 -1
  147. package/dist/CustomDialog.cjs +31 -31
  148. package/dist/CustomDialog.css +25 -25
  149. package/dist/CustomDialog.mjs +31 -31
  150. package/dist/Dialog.cjs +17 -17
  151. package/dist/Dialog.css +64 -64
  152. package/dist/Dialog.mjs +17 -17
  153. package/dist/Disclosure.cjs +108 -111
  154. package/dist/Disclosure.cjs.map +1 -1
  155. package/dist/Disclosure.css +112 -124
  156. package/dist/Disclosure.css.map +1 -1
  157. package/dist/Disclosure.mjs +108 -111
  158. package/dist/Disclosure.mjs.map +1 -1
  159. package/dist/Divider.cjs +26 -26
  160. package/dist/Divider.cjs.map +1 -1
  161. package/dist/Divider.css +16 -16
  162. package/dist/Divider.css.map +1 -1
  163. package/dist/Divider.mjs +26 -26
  164. package/dist/Divider.mjs.map +1 -1
  165. package/dist/DropZone.cjs +47 -56
  166. package/dist/DropZone.cjs.map +1 -1
  167. package/dist/DropZone.css +56 -80
  168. package/dist/DropZone.css.map +1 -1
  169. package/dist/DropZone.mjs +47 -56
  170. package/dist/DropZone.mjs.map +1 -1
  171. package/dist/Field.cjs +150 -204
  172. package/dist/Field.cjs.map +1 -1
  173. package/dist/Field.css +150 -246
  174. package/dist/Field.css.map +1 -1
  175. package/dist/Field.mjs +150 -204
  176. package/dist/Field.mjs.map +1 -1
  177. package/dist/Form.cjs +10 -10
  178. package/dist/Form.cjs.map +1 -1
  179. package/dist/Form.css +9 -9
  180. package/dist/Form.css.map +1 -1
  181. package/dist/Form.mjs +10 -10
  182. package/dist/Form.mjs.map +1 -1
  183. package/dist/FullscreenDialog.cjs +5 -5
  184. package/dist/FullscreenDialog.css +72 -72
  185. package/dist/FullscreenDialog.mjs +5 -5
  186. package/dist/IllustratedMessage.cjs +134 -134
  187. package/dist/IllustratedMessage.cjs.map +1 -1
  188. package/dist/IllustratedMessage.css +69 -69
  189. package/dist/IllustratedMessage.css.map +1 -1
  190. package/dist/IllustratedMessage.mjs +134 -134
  191. package/dist/IllustratedMessage.mjs.map +1 -1
  192. package/dist/Image.cjs +12 -12
  193. package/dist/Image.cjs.map +1 -1
  194. package/dist/Image.css +13 -13
  195. package/dist/Image.css.map +1 -1
  196. package/dist/Image.mjs +12 -12
  197. package/dist/Image.mjs.map +1 -1
  198. package/dist/InlineAlert.cjs +77 -104
  199. package/dist/InlineAlert.cjs.map +1 -1
  200. package/dist/InlineAlert.css +77 -149
  201. package/dist/InlineAlert.css.map +1 -1
  202. package/dist/InlineAlert.mjs +77 -104
  203. package/dist/InlineAlert.mjs.map +1 -1
  204. package/dist/Link.cjs +31 -31
  205. package/dist/Link.cjs.map +1 -1
  206. package/dist/Link.css +30 -30
  207. package/dist/Link.css.map +1 -1
  208. package/dist/Link.mjs +31 -31
  209. package/dist/Link.mjs.map +1 -1
  210. package/dist/Menu.cjs +269 -268
  211. package/dist/Menu.cjs.map +1 -1
  212. package/dist/Menu.css +158 -154
  213. package/dist/Menu.css.map +1 -1
  214. package/dist/Menu.mjs +269 -268
  215. package/dist/Menu.mjs.map +1 -1
  216. package/dist/Meter.cjs +85 -85
  217. package/dist/Meter.cjs.map +1 -1
  218. package/dist/Meter.css +81 -81
  219. package/dist/Meter.css.map +1 -1
  220. package/dist/Meter.mjs +85 -85
  221. package/dist/Meter.mjs.map +1 -1
  222. package/dist/Modal.cjs +48 -48
  223. package/dist/Modal.css +46 -46
  224. package/dist/Modal.mjs +48 -48
  225. package/dist/NumberField.cjs +115 -115
  226. package/dist/NumberField.cjs.map +1 -1
  227. package/dist/NumberField.css +114 -114
  228. package/dist/NumberField.css.map +1 -1
  229. package/dist/NumberField.mjs +115 -115
  230. package/dist/NumberField.mjs.map +1 -1
  231. package/dist/Picker.cjs +177 -194
  232. package/dist/Picker.cjs.map +1 -1
  233. package/dist/Picker.css +167 -223
  234. package/dist/Picker.css.map +1 -1
  235. package/dist/Picker.mjs +177 -194
  236. package/dist/Picker.mjs.map +1 -1
  237. package/dist/Popover.cjs +79 -85
  238. package/dist/Popover.cjs.map +1 -1
  239. package/dist/Popover.css +65 -89
  240. package/dist/Popover.css.map +1 -1
  241. package/dist/Popover.mjs +79 -85
  242. package/dist/Popover.mjs.map +1 -1
  243. package/dist/ProgressBar.cjs +98 -98
  244. package/dist/ProgressBar.cjs.map +1 -1
  245. package/dist/ProgressBar.css +92 -92
  246. package/dist/ProgressBar.css.map +1 -1
  247. package/dist/ProgressBar.mjs +98 -98
  248. package/dist/ProgressBar.mjs.map +1 -1
  249. package/dist/ProgressCircle.cjs +17 -17
  250. package/dist/ProgressCircle.cjs.map +1 -1
  251. package/dist/ProgressCircle.css +15 -15
  252. package/dist/ProgressCircle.css.map +1 -1
  253. package/dist/ProgressCircle.mjs +17 -17
  254. package/dist/ProgressCircle.mjs.map +1 -1
  255. package/dist/Provider.cjs +4 -4
  256. package/dist/Provider.css +5 -5
  257. package/dist/Provider.mjs +4 -4
  258. package/dist/Radio.cjs +80 -152
  259. package/dist/Radio.cjs.map +1 -1
  260. package/dist/Radio.css +96 -240
  261. package/dist/Radio.css.map +1 -1
  262. package/dist/Radio.mjs +80 -152
  263. package/dist/Radio.mjs.map +1 -1
  264. package/dist/RadioGroup.cjs +47 -47
  265. package/dist/RadioGroup.cjs.map +1 -1
  266. package/dist/RadioGroup.css +41 -41
  267. package/dist/RadioGroup.css.map +1 -1
  268. package/dist/RadioGroup.mjs +47 -47
  269. package/dist/RadioGroup.mjs.map +1 -1
  270. package/dist/RangeSlider.cjs.map +1 -1
  271. package/dist/RangeSlider.mjs.map +1 -1
  272. package/dist/SearchField.cjs +42 -42
  273. package/dist/SearchField.cjs.map +1 -1
  274. package/dist/SearchField.css +47 -47
  275. package/dist/SearchField.css.map +1 -1
  276. package/dist/SearchField.mjs +42 -42
  277. package/dist/SearchField.mjs.map +1 -1
  278. package/dist/SegmentedControl.cjs +89 -101
  279. package/dist/SegmentedControl.cjs.map +1 -1
  280. package/dist/SegmentedControl.css +92 -140
  281. package/dist/SegmentedControl.css.map +1 -1
  282. package/dist/SegmentedControl.mjs +89 -101
  283. package/dist/SegmentedControl.mjs.map +1 -1
  284. package/dist/Slider.cjs +196 -229
  285. package/dist/Slider.cjs.map +1 -1
  286. package/dist/Slider.css +149 -221
  287. package/dist/Slider.css.map +1 -1
  288. package/dist/Slider.mjs +196 -229
  289. package/dist/Slider.mjs.map +1 -1
  290. package/dist/StatusLight.cjs +56 -56
  291. package/dist/StatusLight.cjs.map +1 -1
  292. package/dist/StatusLight.css +59 -59
  293. package/dist/StatusLight.css.map +1 -1
  294. package/dist/StatusLight.mjs +56 -56
  295. package/dist/StatusLight.mjs.map +1 -1
  296. package/dist/Switch.cjs +74 -107
  297. package/dist/Switch.cjs.map +1 -1
  298. package/dist/Switch.css +69 -141
  299. package/dist/Switch.css.map +1 -1
  300. package/dist/Switch.mjs +74 -107
  301. package/dist/Switch.mjs.map +1 -1
  302. package/dist/TableView.cjs +253 -280
  303. package/dist/TableView.cjs.map +1 -1
  304. package/dist/TableView.css +163 -199
  305. package/dist/TableView.css.map +1 -1
  306. package/dist/TableView.mjs +253 -280
  307. package/dist/TableView.mjs.map +1 -1
  308. package/dist/Tabs.cjs +112 -124
  309. package/dist/Tabs.cjs.map +1 -1
  310. package/dist/Tabs.css +84 -108
  311. package/dist/Tabs.css.map +1 -1
  312. package/dist/Tabs.mjs +112 -124
  313. package/dist/Tabs.mjs.map +1 -1
  314. package/dist/TabsPicker.cjs +105 -105
  315. package/dist/TabsPicker.css +111 -111
  316. package/dist/TabsPicker.mjs +105 -105
  317. package/dist/TagGroup.cjs +148 -148
  318. package/dist/TagGroup.cjs.map +1 -1
  319. package/dist/TagGroup.css +134 -134
  320. package/dist/TagGroup.css.map +1 -1
  321. package/dist/TagGroup.mjs +148 -148
  322. package/dist/TagGroup.mjs.map +1 -1
  323. package/dist/TextField.cjs +59 -59
  324. package/dist/TextField.cjs.map +1 -1
  325. package/dist/TextField.css +62 -62
  326. package/dist/TextField.css.map +1 -1
  327. package/dist/TextField.mjs +59 -59
  328. package/dist/TextField.mjs.map +1 -1
  329. package/dist/ToggleButton.cjs +3 -3
  330. package/dist/ToggleButton.cjs.map +1 -1
  331. package/dist/ToggleButton.css +12 -12
  332. package/dist/ToggleButton.css.map +1 -1
  333. package/dist/ToggleButton.mjs +3 -3
  334. package/dist/ToggleButton.mjs.map +1 -1
  335. package/dist/ToggleButtonGroup.cjs.map +1 -1
  336. package/dist/ToggleButtonGroup.mjs.map +1 -1
  337. package/dist/Tooltip.cjs +57 -60
  338. package/dist/Tooltip.cjs.map +1 -1
  339. package/dist/Tooltip.css +71 -83
  340. package/dist/Tooltip.css.map +1 -1
  341. package/dist/Tooltip.mjs +57 -60
  342. package/dist/Tooltip.mjs.map +1 -1
  343. package/dist/TreeView.cjs +217 -244
  344. package/dist/TreeView.cjs.map +1 -1
  345. package/dist/TreeView.css +166 -190
  346. package/dist/TreeView.css.map +1 -1
  347. package/dist/TreeView.mjs +220 -244
  348. package/dist/TreeView.mjs.map +1 -1
  349. package/dist/main.cjs +1 -0
  350. package/dist/main.cjs.map +1 -1
  351. package/dist/module.mjs +2 -2
  352. package/dist/module.mjs.map +1 -1
  353. package/dist/types.d.ts +77 -72
  354. package/dist/types.d.ts.map +1 -1
  355. package/icons/Icon.cjs.map +1 -1
  356. package/icons/Icon.mjs.map +1 -1
  357. package/icons/Skeleton.cjs +2 -2
  358. package/icons/Skeleton.cjs.map +1 -1
  359. package/icons/Skeleton.css +5 -5
  360. package/icons/Skeleton.css.map +1 -1
  361. package/icons/Skeleton.mjs +2 -2
  362. package/icons/Skeleton.mjs.map +1 -1
  363. package/package.json +21 -21
  364. package/src/Accordion.tsx +1 -1
  365. package/src/ActionButton.tsx +2 -2
  366. package/src/ActionMenu.tsx +1 -1
  367. package/src/Avatar.tsx +1 -1
  368. package/src/AvatarGroup.tsx +1 -1
  369. package/src/Breadcrumbs.tsx +4 -4
  370. package/src/Button.tsx +4 -4
  371. package/src/ButtonGroup.tsx +1 -1
  372. package/src/CardView.tsx +1 -1
  373. package/src/Checkbox.tsx +1 -1
  374. package/src/CheckboxGroup.tsx +2 -2
  375. package/src/CloseButton.tsx +1 -1
  376. package/src/ColorArea.tsx +1 -1
  377. package/src/ColorField.tsx +1 -1
  378. package/src/ColorSlider.tsx +1 -1
  379. package/src/ColorSwatch.tsx +1 -1
  380. package/src/ColorWheel.tsx +1 -1
  381. package/src/Content.tsx +7 -7
  382. package/src/ContextualHelp.tsx +2 -2
  383. package/src/Disclosure.tsx +1 -1
  384. package/src/Divider.tsx +1 -1
  385. package/src/DropZone.tsx +2 -2
  386. package/src/Field.tsx +1 -1
  387. package/src/Form.tsx +2 -2
  388. package/src/Icon.tsx +2 -2
  389. package/src/IllustratedMessage.tsx +1 -1
  390. package/src/Image.tsx +1 -1
  391. package/src/Link.tsx +2 -2
  392. package/src/Menu.tsx +4 -3
  393. package/src/Meter.tsx +1 -1
  394. package/src/NumberField.tsx +1 -1
  395. package/src/Picker.tsx +2 -1
  396. package/src/ProgressBar.tsx +1 -1
  397. package/src/ProgressCircle.tsx +1 -1
  398. package/src/RadioGroup.tsx +2 -2
  399. package/src/RangeSlider.tsx +1 -1
  400. package/src/SearchField.tsx +1 -1
  401. package/src/SegmentedControl.tsx +2 -2
  402. package/src/Skeleton.tsx +1 -1
  403. package/src/Slider.tsx +1 -1
  404. package/src/StatusLight.tsx +2 -2
  405. package/src/Switch.tsx +1 -1
  406. package/src/TableView.tsx +1 -1
  407. package/src/Tabs.tsx +16 -16
  408. package/src/TagGroup.tsx +2 -2
  409. package/src/TextField.tsx +2 -2
  410. package/src/ToggleButton.tsx +2 -2
  411. package/src/ToggleButtonGroup.tsx +1 -1
  412. package/src/Tooltip.tsx +3 -3
  413. package/src/TreeView.tsx +97 -144
  414. package/src/index.ts +1 -1
  415. package/style/__tests__/style-macro.test.js +18 -18
  416. package/style/dist/spectrum-theme.cjs +10 -20
  417. package/style/dist/spectrum-theme.cjs.map +1 -1
  418. package/style/dist/spectrum-theme.mjs +10 -20
  419. package/style/dist/spectrum-theme.mjs.map +1 -1
  420. package/style/dist/types.d.ts +0 -4
  421. package/style/dist/types.d.ts.map +1 -1
  422. package/style/spectrum-theme.ts +11 -19
package/src/Tabs.tsx CHANGED
@@ -31,11 +31,11 @@ import {createContext, forwardRef, ReactNode, useCallback, useContext, useEffect
31
31
  import {focusRing, size, style} from '../style' with {type: 'macro'};
32
32
  import {getAllowedOverrides, StyleProps, StylesPropWithHeight, UnsafeStyles} from './style-utils' with {type: 'macro'};
33
33
  import {IconContext} from './Icon';
34
+ import {inertValue, useEffectEvent, useId, useLabels, useLayoutEffect, useResizeObserver} from '@react-aria/utils';
34
35
  import {Picker, PickerItem} from './TabsPicker';
35
36
  import {Text, TextContext} from './Content';
36
37
  import {useControlledState} from '@react-stately/utils';
37
38
  import {useDOMRef} from '@react-spectrum/utils';
38
- import {useEffectEvent, useId, useLabels, useLayoutEffect, useResizeObserver} from '@react-aria/utils';
39
39
  import {useHasTabbableChild} from '@react-aria/focus';
40
40
  import {useLocale} from '@react-aria/i18n';
41
41
  import {useSpectrumContextProps} from './useSpectrumContextProps';
@@ -44,7 +44,7 @@ export interface TabsProps extends Omit<AriaTabsProps, 'className' | 'style' | '
44
44
  /** Spectrum-defined styles, returned by the `style()` macro. */
45
45
  styles?: StylesPropWithHeight,
46
46
  /** The content to display in the tabs. */
47
- children?: ReactNode,
47
+ children: ReactNode,
48
48
  /**
49
49
  * The amount of space between the tabs.
50
50
  * @default 'regular'
@@ -63,17 +63,20 @@ export interface TabProps extends Omit<AriaTabProps, 'children' | 'style' | 'cla
63
63
  children: ReactNode
64
64
  }
65
65
 
66
- export interface TabListProps<T> extends Omit<AriaTabListProps<T>, 'style' | 'className' | 'aria-label' | 'aria-labelledby'>, StyleProps {}
66
+ export interface TabListProps<T> extends Omit<AriaTabListProps<T>, 'style' | 'className' | 'aria-label' | 'aria-labelledby'>, StyleProps {
67
+ /** The content to display in the tablist. */
68
+ children: ReactNode | ((item: T) => ReactNode)
69
+ }
67
70
 
68
71
  export interface TabPanelProps extends Omit<AriaTabPanelProps, 'children' | 'style' | 'className'>, UnsafeStyles {
69
72
  /** Spectrum-defined styles, returned by the `style()` macro. */
70
73
  styles?: StylesPropWithHeight,
71
74
  /** The content to display in the tab panels. */
72
- children?: ReactNode
75
+ children: ReactNode
73
76
  }
74
77
 
75
- export const TabsContext = createContext<ContextValue<TabsProps, DOMRefValue<HTMLDivElement>>>(null);
76
- const InternalTabsContext = createContext<TabsProps>({});
78
+ export const TabsContext = createContext<ContextValue<Partial<TabsProps>, DOMRefValue<HTMLDivElement>>>(null);
79
+ const InternalTabsContext = createContext<Partial<TabsProps>>({});
77
80
  const CollapseContext = createContext({
78
81
  showTabs: true,
79
82
  menuId: '',
@@ -346,7 +349,8 @@ const tab = style({
346
349
  labelBehavior: {
347
350
  hide: size(6)
348
351
  }
349
- }
352
+ },
353
+ disableTapHighlight: true
350
354
  }, getAllowedOverrides());
351
355
 
352
356
  const icon = style({
@@ -409,17 +413,12 @@ export function Tab(props: TabProps) {
409
413
 
410
414
  const tabPanel = style({
411
415
  ...focusRing(),
412
- display: 'flex',
413
416
  marginTop: 4,
414
- marginX: -4,
415
- paddingX: 4,
416
417
  color: 'gray-800',
417
418
  flexGrow: 1,
418
- flexShrink: 1,
419
419
  flexBasis: '[0%]',
420
420
  minHeight: 0,
421
- minWidth: 0,
422
- overflow: 'auto'
421
+ minWidth: 0
423
422
  }, getAllowedOverrides({height: true}));
424
423
 
425
424
  export function TabPanel(props: TabPanelProps) {
@@ -489,7 +488,7 @@ let HiddenTabs = function (props: {
489
488
  return (
490
489
  <div
491
490
  // @ts-ignore
492
- inert="true"
491
+ inert={inertValue(true)}
493
492
  ref={listRef}
494
493
  className={style({
495
494
  display: '[inherit]',
@@ -518,7 +517,7 @@ let HiddenTabs = function (props: {
518
517
  );
519
518
  };
520
519
 
521
- let TabsMenu = (props: {valueId: string, items: Array<Node<any>>, onSelectionChange: TabsProps['onSelectionChange']} & TabsProps) => {
520
+ let TabsMenu = (props: {valueId: string, items: Array<Node<any>>, onSelectionChange: TabsProps['onSelectionChange']} & Omit<TabsProps, 'children'>) => {
522
521
  let {id, items, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, valueId} = props;
523
522
  let {density, onSelectionChange, selectedKey, isDisabled, disabledKeys, labelBehavior} = useContext(InternalTabsContext);
524
523
  let state = useContext(TabListStateContext);
@@ -613,7 +612,8 @@ let CollapsingTabs = ({collection, containerRef, ...props}: {collection: Collect
613
612
  }
614
613
  }, [collection.size, updateOverflow]);
615
614
 
616
- let prevOrientation = useRef(orientation);
615
+ // start with null so that the first render won't have a flicker
616
+ let prevOrientation = useRef<Orientation | null>(null);
617
617
  useLayoutEffect(() => {
618
618
  if (collection.size > 0 && prevOrientation.current !== orientation) {
619
619
  updateOverflow();
package/src/TagGroup.tsx CHANGED
@@ -52,7 +52,7 @@ import {useSpectrumContextProps} from './useSpectrumContextProps';
52
52
  // Get types from RSP and extend those?
53
53
  export interface TagProps extends Omit<AriaTagProps, 'children' | 'style' | 'className'> {
54
54
  /** The children of the tag. */
55
- children?: ReactNode
55
+ children: ReactNode
56
56
  }
57
57
 
58
58
  export interface TagGroupProps<T> extends Omit<AriaTagGroupProps, 'children' | 'style' | 'className'>, Pick<TagListProps<T>, 'items' | 'children' | 'renderEmptyState'>, Omit<SpectrumLabelableProps, 'isRequired' | 'necessityIndicator'>, StyleProps, Omit<HelpTextProps, 'errorMessage'> {
@@ -80,7 +80,7 @@ export interface TagGroupProps<T> extends Omit<AriaTagGroupProps, 'children' | '
80
80
  onGroupAction?: () => void
81
81
  }
82
82
 
83
- export const TagGroupContext = createContext<ContextValue<TagGroupProps<any>, DOMRefValue<HTMLDivElement>>>(null);
83
+ export const TagGroupContext = createContext<ContextValue<Partial<TagGroupProps<any>>, DOMRefValue<HTMLDivElement>>>(null);
84
84
 
85
85
  const helpTextStyles = style({
86
86
  gridArea: 'helptext',
package/src/TextField.tsx CHANGED
@@ -41,7 +41,7 @@ export interface TextFieldProps extends Omit<AriaTextFieldProps, 'children' | 'c
41
41
  size?: 'S' | 'M' | 'L' | 'XL'
42
42
  }
43
43
 
44
- export const TextFieldContext = createContext<ContextValue<TextFieldProps, TextFieldRef>>(null);
44
+ export const TextFieldContext = createContext<ContextValue<Partial<TextFieldProps>, TextFieldRef>>(null);
45
45
 
46
46
  /**
47
47
  * TextFields are text inputs that allow users to input custom text entries
@@ -61,7 +61,7 @@ export const TextField = forwardRef(function TextField(props: TextFieldProps, re
61
61
 
62
62
  export interface TextAreaProps extends Omit<TextFieldProps, 'type' | 'pattern'> {}
63
63
 
64
- export const TextAreaContext = createContext<ContextValue<TextAreaProps, TextFieldRef<HTMLTextAreaElement>>>(null);
64
+ export const TextAreaContext = createContext<ContextValue<Partial<TextAreaProps>, TextFieldRef<HTMLTextAreaElement>>>(null);
65
65
 
66
66
  /**
67
67
  * TextAreas are multiline text inputs, useful for cases where users have
@@ -28,12 +28,12 @@ import {useSpectrumContextProps} from './useSpectrumContextProps';
28
28
 
29
29
  export interface ToggleButtonProps extends Omit<RACToggleButtonProps, 'className' | 'style' | 'children' | 'onHover' | 'onHoverStart' | 'onHoverEnd' | 'onHoverChange'>, StyleProps, ActionButtonStyleProps {
30
30
  /** The content to display in the button. */
31
- children?: ReactNode,
31
+ children: ReactNode,
32
32
  /** Whether the button should be displayed with an [emphasized style](https://spectrum.adobe.com/page/action-button/#Emphasis). */
33
33
  isEmphasized?: boolean
34
34
  }
35
35
 
36
- export const ToggleButtonContext = createContext<ContextValue<ToggleButtonProps, FocusableRefValue<HTMLButtonElement>>>(null);
36
+ export const ToggleButtonContext = createContext<ContextValue<Partial<ToggleButtonProps>, FocusableRefValue<HTMLButtonElement>>>(null);
37
37
 
38
38
  /**
39
39
  * ToggleButtons allow users to toggle a selection on or off, for example
@@ -20,7 +20,7 @@ export interface ToggleButtonGroupProps extends ActionButtonGroupProps, Omit<RAC
20
20
  isEmphasized?: boolean
21
21
  }
22
22
 
23
- export const ToggleButtonGroupContext = createContext<ContextValue<ToggleButtonGroupProps, HTMLDivElement>>(null);
23
+ export const ToggleButtonGroupContext = createContext<ContextValue<Partial<ToggleButtonGroupProps>, HTMLDivElement>>(null);
24
24
 
25
25
  /**
26
26
  * A ToggleButtonGroup is a grouping of related ToggleButtons, with single or multiple selection.
package/src/Tooltip.tsx CHANGED
@@ -29,7 +29,7 @@ import {useDOMRef} from '@react-spectrum/utils';
29
29
 
30
30
  export interface TooltipTriggerProps extends Omit<AriaTooltipTriggerComponentProps, 'children' | 'closeDelay'>, Pick<AriaTooltipProps, 'shouldFlip' | 'containerPadding' | 'offset' | 'crossOffset'> {
31
31
  /** The content of the tooltip. */
32
- children?: ReactNode,
32
+ children: ReactNode,
33
33
  /**
34
34
  * The placement of the element with respect to its anchor element.
35
35
  *
@@ -40,7 +40,7 @@ export interface TooltipTriggerProps extends Omit<AriaTooltipTriggerComponentPro
40
40
 
41
41
  export interface TooltipProps extends Omit<AriaTooltipProps, 'children' | 'className' | 'style' | 'triggerRef' | 'UNSTABLE_portalContainer' | 'isEntering' | 'isExiting' | 'placement' | 'containerPadding' | 'offset' | 'crossOffset' | 'shouldFlip' | 'arrowBoundaryOffset' | 'isOpen' | 'defaultOpen' | 'onOpenChange'>, UnsafeStyles {
42
42
  /** The content of the tooltip. */
43
- children?: ReactNode
43
+ children: ReactNode
44
44
  }
45
45
 
46
46
  const tooltip = style<TooltipRenderProps & {colorScheme: ColorScheme | 'light dark' | null}>({
@@ -123,7 +123,7 @@ const arrowStyles = style<TooltipRenderProps>({
123
123
  }
124
124
  });
125
125
 
126
- let InternalTooltipTriggerContext = createContext<TooltipTriggerProps>({});
126
+ let InternalTooltipTriggerContext = createContext<Partial<TooltipTriggerProps>>({});
127
127
 
128
128
  /**
129
129
  * Display container for Tooltip content. Has a directional arrow dependent on its placement.
package/src/TreeView.tsx CHANGED
@@ -15,10 +15,10 @@ import {ActionMenuContext} from './ActionMenu';
15
15
  import {
16
16
  Button,
17
17
  ButtonContext,
18
- Collection,
19
18
  Provider,
20
19
  TreeItemProps as RACTreeItemProps,
21
20
  TreeProps as RACTreeProps,
21
+ TreeItemContentProps,
22
22
  UNSTABLE_ListLayout,
23
23
  UNSTABLE_Tree,
24
24
  UNSTABLE_TreeItem,
@@ -35,10 +35,11 @@ import {getAllowedOverrides, StylesPropWithHeight, UnsafeStyles} from './style-u
35
35
  import {IconContext} from './Icon';
36
36
  import {isAndroid} from '@react-aria/utils';
37
37
  import {raw} from '../style/style-macro' with {type: 'macro'};
38
- import React, {createContext, forwardRef, isValidElement, JSXElementConstructor, ReactElement, useContext, useMemo, useRef} from 'react';
39
- import {Text, TextContext} from './Content';
38
+ import React, {createContext, forwardRef, JSXElementConstructor, ReactElement, ReactNode, useContext, useMemo, useRef} from 'react';
39
+ import {TextContext} from './Content';
40
40
  import {useDOMRef} from '@react-spectrum/utils';
41
41
  import {useLocale} from 'react-aria';
42
+ import {useScale} from './utils';
42
43
 
43
44
  interface S2TreeProps {
44
45
  // Only detatched is supported right now with the current styles from Spectrum
@@ -65,10 +66,6 @@ interface TreeRendererContextValue {
65
66
  }
66
67
  const TreeRendererContext = createContext<TreeRendererContextValue>({});
67
68
 
68
- function useTreeRendererContext(): TreeRendererContextValue {
69
- return useContext(TreeRendererContext)!;
70
- }
71
-
72
69
 
73
70
  let InternalTreeContext = createContext<{isDetached?: boolean, isEmphasized?: boolean}>({});
74
71
 
@@ -99,6 +96,7 @@ const tree = style({
99
96
 
100
97
  function TreeView(props: TreeViewProps, ref: DOMRef<HTMLDivElement>) {
101
98
  let {children, isDetached, isEmphasized} = props;
99
+ let scale = useScale();
102
100
 
103
101
  let renderer;
104
102
  if (typeof children === 'function') {
@@ -107,11 +105,15 @@ function TreeView(props: TreeViewProps, ref: DOMRef<HTMLDivElement>) {
107
105
 
108
106
  let domRef = useDOMRef(ref);
109
107
 
108
+ let rowHeight = isDetached ? 44 : 40;
109
+ if (scale === 'large') {
110
+ rowHeight = isDetached ? 54 : 50;
111
+ }
110
112
  let layout = useMemo(() => {
111
113
  return new UNSTABLE_ListLayout({
112
- rowHeight: isDetached ? 42 : 40
114
+ rowHeight
113
115
  });
114
- }, [isDetached]);
116
+ }, [rowHeight]);
115
117
 
116
118
  return (
117
119
  <UNSTABLE_Virtualizer layout={layout}>
@@ -189,9 +191,10 @@ const treeRow = style({
189
191
  const treeCellGrid = style({
190
192
  display: 'grid',
191
193
  width: 'full',
194
+ height: 'full',
192
195
  alignContent: 'center',
193
196
  alignItems: 'center',
194
- gridTemplateColumns: ['minmax(0, auto)', 'minmax(0, auto)', 'minmax(0, auto)', 40, 'minmax(0, auto)', '1fr', 'minmax(0, auto)', 'auto'],
197
+ gridTemplateColumns: ['auto', 'auto', 'auto', 'auto', 'auto', '1fr', 'minmax(0, auto)', 'auto'],
195
198
  gridTemplateRows: '1fr',
196
199
  gridTemplateAreas: [
197
200
  'drag-handle checkbox level-padding expand-button icon content actions actionmenu'
@@ -219,66 +222,21 @@ const treeCellGrid = style({
219
222
  forcedColors: 'Highlight'
220
223
  }
221
224
  },
222
- borderTopColor: {
223
- default: 'transparent',
224
- isSelected: {
225
- isFirst: 'transparent'
226
- },
227
- isDetached: {
228
- default: 'transparent',
229
- isSelected: '--rowSelectedBorderColor'
230
- }
231
- },
232
- borderInlineEndColor: {
233
- default: 'transparent',
234
- isSelected: 'transparent',
235
- isDetached: {
236
- default: 'transparent',
237
- isSelected: '--rowSelectedBorderColor'
238
- }
239
- },
240
- borderBottomColor: {
241
- default: 'transparent',
242
- isSelected: 'transparent',
243
- isNextSelected: 'transparent',
244
- isNextFocused: 'transparent',
245
- isDetached: {
246
- default: 'transparent',
247
- isSelected: '--rowSelectedBorderColor'
248
- }
249
- },
250
- borderInlineStartColor: {
251
- default: 'transparent',
252
- isSelected: 'transparent',
225
+ borderColor: {
253
226
  isDetached: {
254
227
  default: 'transparent',
255
228
  isSelected: '--rowSelectedBorderColor'
256
229
  }
257
230
  },
258
- borderTopWidth: {
259
- default: 0,
260
- isFirst: {
261
- default: 1,
262
- forcedColors: 0
263
- },
264
- isDetached: 1
265
- },
266
- borderBottomWidth: {
267
- default: 0,
268
- isDetached: 1
269
- },
270
- borderStartWidth: {
271
- default: 0,
272
- isDetached: 1
273
- },
274
- borderEndWidth: {
275
- default: 0,
231
+ borderWidth: {
276
232
  isDetached: 1
277
233
  },
278
234
  borderRadius: {
279
235
  isDetached: 'default'
280
236
  },
281
- borderStyle: 'solid'
237
+ borderStyle: {
238
+ isDetached: 'solid'
239
+ }
282
240
  });
283
241
 
284
242
  const treeCheckbox = style({
@@ -306,8 +264,6 @@ const treeContent = style({
306
264
 
307
265
  const treeActions = style({
308
266
  gridArea: 'actions',
309
- flexGrow: 0,
310
- flexShrink: 0,
311
267
  /* TODO: I made this one up, confirm desired behavior. These paddings are to make sure the action group has enough padding for the focus ring */
312
268
  marginStart: 2,
313
269
  marginEnd: 4
@@ -343,104 +299,95 @@ const treeRowFocusIndicator = raw(`
343
299
  }`
344
300
  );
345
301
 
346
-
347
302
  export const TreeViewItem = <T extends object>(props: TreeViewItemProps<T>) => {
348
303
  let {
349
- children,
350
- childItems,
351
- hasChildItems,
352
304
  href
353
305
  } = props;
354
-
355
- let content;
356
- let nestedRows;
357
- let {renderer} = useTreeRendererContext();
358
306
  let {isDetached, isEmphasized} = useContext(InternalTreeContext);
359
307
 
360
- if (typeof children === 'string') {
361
- content = <Text>{children}</Text>;
362
- } else {
363
- content = [];
364
- nestedRows = [];
365
- React.Children.forEach(children, node => {
366
- if (isValidElement(node) && node.type === TreeViewItem) {
367
- nestedRows.push(node);
368
- } else {
369
- content.push(node);
370
- }
371
- });
372
- }
373
-
374
- if (childItems != null && renderer) {
375
- nestedRows = (
376
- <Collection items={childItems}>
377
- {renderer}
378
- </Collection>
379
- );
380
- }
381
-
382
308
  return (
383
309
  <UNSTABLE_TreeItem
384
310
  {...props}
385
- className={(renderProps) => treeRow({...renderProps, isLink: !!href, isEmphasized}) + (renderProps.isFocusVisible && !isDetached ? ' ' + treeRowFocusIndicator : '')}>
386
- <UNSTABLE_TreeItemContent>
387
- {({isExpanded, hasChildRows, selectionMode, selectionBehavior, isDisabled, isFocusVisible, isSelected, id, state}) => {
388
- let isNextSelected = false;
389
- let isNextFocused = false;
390
- let keyAfter = state.collection.getKeyAfter(id);
391
- if (keyAfter != null) {
392
- isNextSelected = state.selectionManager.isSelected(keyAfter);
393
- }
394
- let isFirst = state.collection.getFirstKey() === id;
395
- return (
396
- <div className={treeCellGrid({isDisabled, isNextSelected, isSelected, isFirst, isNextFocused, isDetached})}>
397
- {selectionMode !== 'none' && selectionBehavior === 'toggle' && (
398
- // TODO: add transition?
399
- <div className={treeCheckbox}>
400
- <Checkbox
401
- isEmphasized={isEmphasized}
402
- slot="selection" />
403
- </div>
404
- )}
405
- <div
406
- className={style({
407
- gridArea: 'level-padding',
408
- width: '[calc(calc(var(--tree-item-level, 0) - 1) * var(--indent))]'
409
- })} />
410
- {/* TODO: revisit when we do async loading, at the moment hasChildItems will only cause the chevron to be rendered, no aria/data attributes indicating the row's expandability are added */}
411
- {(hasChildRows || hasChildItems) && <ExpandableRowChevron isDisabled={isDisabled} isExpanded={isExpanded} />}
412
- <Provider
413
- values={[
414
- [TextContext, {styles: treeContent}],
415
- [IconContext, {
416
- render: centerBaseline({slot: 'icon', styles: treeIcon}),
417
- styles: style({size: fontRelative(20), flexShrink: 0})
418
- }],
419
- [ActionButtonGroupContext, {styles: treeActions}],
420
- [ActionMenuContext, {styles: treeActionMenu, isQuiet: true}]
421
- ]}>
422
- {content}
423
- </Provider>
424
- {isFocusVisible && isDetached && <div role="presentation" className={style({...cellFocus, position: 'absolute', inset: 0})({isFocusVisible: true})} />}
425
- </div>
426
- );
427
- }}
428
- </UNSTABLE_TreeItemContent>
429
- {nestedRows}
430
- </UNSTABLE_TreeItem>
311
+ className={(renderProps) => treeRow({
312
+ ...renderProps,
313
+ isLink: !!href, isEmphasized
314
+ }) + (renderProps.isFocusVisible && !isDetached ? ' ' + treeRowFocusIndicator : '')} />
315
+ );
316
+ };
317
+
318
+ export const TreeItemContent = (props: Omit<TreeItemContentProps, 'children'> & {children: ReactNode}) => {
319
+ let {
320
+ children
321
+ } = props;
322
+ let {isDetached, isEmphasized} = useContext(InternalTreeContext);
323
+ let scale = useScale();
324
+
325
+ return (
326
+ <UNSTABLE_TreeItemContent>
327
+ {({isExpanded, hasChildItems, selectionMode, selectionBehavior, isDisabled, isFocusVisible, isSelected, id, state}) => {
328
+ let isNextSelected = false;
329
+ let isNextFocused = false;
330
+ let keyAfter = state.collection.getKeyAfter(id);
331
+ if (keyAfter != null) {
332
+ isNextSelected = state.selectionManager.isSelected(keyAfter);
333
+ }
334
+ let isFirst = state.collection.getFirstKey() === id;
335
+ return (
336
+ <div className={treeCellGrid({isDisabled, isNextSelected, isSelected, isFirst, isNextFocused, isDetached})}>
337
+ {selectionMode !== 'none' && selectionBehavior === 'toggle' && (
338
+ // TODO: add transition?
339
+ <div className={treeCheckbox}>
340
+ <Checkbox
341
+ isEmphasized={isEmphasized}
342
+ slot="selection" />
343
+ </div>
344
+ )}
345
+ <div
346
+ className={style({
347
+ gridArea: 'level-padding',
348
+ width: '[calc(calc(var(--tree-item-level, 0) - 1) * var(--indent))]'
349
+ })} />
350
+ {/* TODO: revisit when we do async loading, at the moment hasChildItems will only cause the chevron to be rendered, no aria/data attributes indicating the row's expandability are added */}
351
+ <ExpandableRowChevron isDisabled={isDisabled} isExpanded={isExpanded} scale={scale} isHidden={!(hasChildItems)} />
352
+ <Provider
353
+ values={[
354
+ [TextContext, {styles: treeContent}],
355
+ [IconContext, {
356
+ render: centerBaseline({slot: 'icon', styles: treeIcon}),
357
+ styles: style({size: fontRelative(20), flexShrink: 0})
358
+ }],
359
+ [ActionButtonGroupContext, {styles: treeActions}],
360
+ [ActionMenuContext, {styles: treeActionMenu, isQuiet: true}]
361
+ ]}>
362
+ {children}
363
+ </Provider>
364
+ {isFocusVisible && isDetached && <div role="presentation" className={style({...cellFocus, position: 'absolute', inset: 0})({isFocusVisible: true})} />}
365
+ </div>
366
+ );
367
+ }}
368
+ </UNSTABLE_TreeItemContent>
431
369
  );
432
370
  };
433
371
 
434
372
  interface ExpandableRowChevronProps {
435
373
  isExpanded?: boolean,
436
374
  isDisabled?: boolean,
437
- isRTL?: boolean
375
+ isRTL?: boolean,
376
+ scale: 'medium' | 'large',
377
+ isHidden?: boolean
438
378
  }
439
379
 
440
380
  const expandButton = style<ExpandableRowChevronProps>({
441
381
  gridArea: 'expand-button',
442
- height: 'full',
443
- aspectRatio: 'square',
382
+ color: {
383
+ default: '[inherit]',
384
+ isDisabled: {
385
+ default: 'disabled',
386
+ forcedColors: 'GrayText'
387
+ }
388
+ },
389
+ height: 40,
390
+ width: 40,
444
391
  display: 'flex',
445
392
  flexWrap: 'wrap',
446
393
  alignContent: 'center',
@@ -453,16 +400,22 @@ const expandButton = style<ExpandableRowChevronProps>({
453
400
  isRTL: 'rotate(-90deg)'
454
401
  }
455
402
  },
403
+ padding: 0,
456
404
  transition: 'default',
457
405
  backgroundColor: 'transparent',
458
- borderStyle: 'none'
406
+ borderStyle: 'none',
407
+ disableTapHighlight: true,
408
+ visibility: {
409
+ isHidden: 'hidden'
410
+ }
459
411
  });
460
412
 
461
413
  function ExpandableRowChevron(props: ExpandableRowChevronProps) {
462
414
  let expandButtonRef = useRef<HTMLButtonElement>(null);
463
415
  let [fullProps, ref] = useContextProps({...props, slot: 'chevron'}, expandButtonRef, ButtonContext);
464
- let {isExpanded, isDisabled} = fullProps;
416
+ let {isExpanded, isDisabled, scale, isHidden} = fullProps;
465
417
  let {direction} = useLocale();
418
+ isDisabled = isDisabled || isHidden;
466
419
 
467
420
  return (
468
421
  <Button
@@ -472,7 +425,7 @@ function ExpandableRowChevron(props: ExpandableRowChevronProps) {
472
425
  // Override tabindex so that grid keyboard nav skips over it. Needs -1 so android talkback can actually "focus" it
473
426
  excludeFromTabOrder={isAndroid() && !isDisabled}
474
427
  preventFocusOnPress
475
- className={renderProps => expandButton({...renderProps, isExpanded, isRTL: direction === 'rtl'})}>
428
+ className={renderProps => expandButton({...renderProps, isExpanded, isRTL: direction === 'rtl', scale, isHidden})}>
476
429
  <Chevron
477
430
  className={style({
478
431
  scale: {
package/src/index.ts CHANGED
@@ -76,7 +76,7 @@ export {TextArea, TextField, TextAreaContext, TextFieldContext} from './TextFiel
76
76
  export {ToggleButton, ToggleButtonContext} from './ToggleButton';
77
77
  export {ToggleButtonGroup, ToggleButtonGroupContext} from './ToggleButtonGroup';
78
78
  export {Tooltip, TooltipTrigger} from './Tooltip';
79
- export {TreeView, TreeViewItem} from './TreeView';
79
+ export {TreeView, TreeViewItem, TreeItemContent} from './TreeView';
80
80
 
81
81
  export {pressScale} from './pressScale';
82
82
 
@@ -40,7 +40,7 @@ describe('style-macro', () => {
40
40
  "@layer _.a, _.b, _.c;
41
41
 
42
42
  @layer _.b {
43
- .D-13alit4c {
43
+ .A-13alit4c {
44
44
  &:first-child {
45
45
  margin-top: 0.25rem;
46
46
  }
@@ -49,7 +49,7 @@ describe('style-macro', () => {
49
49
 
50
50
  @layer _.c.e {
51
51
  @media (min-width: 1024px) {
52
- .D-13alit4ed {
52
+ .A-13alit4ed {
53
53
  &:first-child {
54
54
  margin-top: 0.5rem;
55
55
  }
@@ -59,7 +59,7 @@ describe('style-macro', () => {
59
59
 
60
60
  "
61
61
  `);
62
- expect(js).toMatchInlineSnapshot('" D-13alit4c D-13alit4ed"');
62
+ expect(js).toMatchInlineSnapshot('" A-13alit4c A-13alit4ed"');
63
63
  });
64
64
 
65
65
  it('should support self references', () => {
@@ -73,48 +73,48 @@ describe('style-macro', () => {
73
73
  "@layer _.a, _.b;
74
74
 
75
75
  @layer _.a {
76
- .tc {
76
+ .uc {
77
77
  border-top-width: 2px;
78
78
  }
79
79
 
80
80
 
81
- .uc {
81
+ .vc {
82
82
  border-bottom-width: 2px;
83
83
  }
84
84
 
85
85
 
86
- .r-375tox {
87
- border-inline-start-width: var(--r);
86
+ .s-375toy {
87
+ border-inline-start-width: var(--s);
88
88
  }
89
89
 
90
90
 
91
- .sc {
91
+ .tc {
92
92
  border-inline-end-width: 2px;
93
93
  }
94
94
 
95
95
 
96
- .F-375tnp {
97
- padding-inline-start: var(--F);
96
+ .C-375tnm {
97
+ padding-inline-start: var(--C);
98
98
  }
99
99
 
100
100
 
101
- .GI {
102
- padding-inline-end: calc(var(--j, var(--n)) * 3 / 8);
101
+ .DI {
102
+ padding-inline-end: calc(var(--k, var(--o)) * 3 / 8);
103
103
  }
104
104
 
105
105
 
106
- .k-4s570k {
107
- width: calc(200px - var(--r) - var(--F));
106
+ .l-4s570k {
107
+ width: calc(200px - var(--s) - var(--C));
108
108
  }
109
109
 
110
110
 
111
- .-_375tox_r-c {
112
- --r: 2px;
111
+ .-_375toy_s-c {
112
+ --s: 2px;
113
113
  }
114
114
 
115
115
 
116
- .-_375tnp_F-I {
117
- --F: calc(var(--j, var(--n)) * 3 / 8);
116
+ .-_375tnm_C-I {
117
+ --C: calc(var(--k, var(--o)) * 3 / 8);
118
118
  }
119
119
  }
120
120