@react-spectrum/s2 0.9.0 → 0.9.1

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 (262) hide show
  1. package/dist/Accordion.cjs +2 -2
  2. package/dist/Accordion.css +2 -2
  3. package/dist/Accordion.mjs +2 -2
  4. package/dist/ActionBar.cjs +60 -60
  5. package/dist/ActionBar.css +59 -59
  6. package/dist/ActionBar.mjs +60 -60
  7. package/dist/ActionButton.cjs +187 -187
  8. package/dist/ActionButton.cjs.map +1 -1
  9. package/dist/ActionButton.css +134 -134
  10. package/dist/ActionButton.css.map +1 -1
  11. package/dist/ActionButton.mjs +187 -187
  12. package/dist/ActionButton.mjs.map +1 -1
  13. package/dist/ActionButtonGroup.cjs +15 -15
  14. package/dist/ActionButtonGroup.css +9 -9
  15. package/dist/ActionButtonGroup.mjs +15 -15
  16. package/dist/Add.cjs +10 -10
  17. package/dist/Add.css +6 -6
  18. package/dist/Add.mjs +10 -10
  19. package/dist/AlertDialog.cjs +3 -3
  20. package/dist/AlertDialog.css +3 -3
  21. package/dist/AlertDialog.mjs +3 -3
  22. package/dist/Asterisk.cjs +6 -6
  23. package/dist/Asterisk.css +4 -4
  24. package/dist/Asterisk.mjs +6 -6
  25. package/dist/Avatar.cjs +14 -14
  26. package/dist/Avatar.css +14 -14
  27. package/dist/Avatar.mjs +14 -14
  28. package/dist/AvatarGroup.cjs +120 -120
  29. package/dist/AvatarGroup.css +37 -37
  30. package/dist/AvatarGroup.mjs +120 -120
  31. package/dist/Badge.cjs +196 -196
  32. package/dist/Badge.css +129 -129
  33. package/dist/Badge.mjs +196 -196
  34. package/dist/Breadcrumbs.cjs +231 -231
  35. package/dist/Breadcrumbs.css +102 -102
  36. package/dist/Breadcrumbs.mjs +231 -231
  37. package/dist/Button.cjs +328 -328
  38. package/dist/Button.cjs.map +1 -1
  39. package/dist/Button.css +176 -176
  40. package/dist/Button.css.map +1 -1
  41. package/dist/Button.mjs +328 -328
  42. package/dist/Button.mjs.map +1 -1
  43. package/dist/ButtonGroup.cjs +20 -20
  44. package/dist/ButtonGroup.css +15 -15
  45. package/dist/ButtonGroup.mjs +20 -20
  46. package/dist/Card.cjs +294 -294
  47. package/dist/Card.css +205 -205
  48. package/dist/Card.mjs +294 -294
  49. package/dist/CardView.cjs +17 -17
  50. package/dist/CardView.css +17 -17
  51. package/dist/CardView.mjs +17 -17
  52. package/dist/CenterBaseline.cjs +1 -1
  53. package/dist/CenterBaseline.css +2 -2
  54. package/dist/CenterBaseline.mjs +1 -1
  55. package/dist/Checkbox.cjs +160 -160
  56. package/dist/Checkbox.css +94 -94
  57. package/dist/Checkbox.mjs +160 -160
  58. package/dist/CheckboxGroup.cjs +43 -43
  59. package/dist/CheckboxGroup.css +41 -41
  60. package/dist/CheckboxGroup.mjs +43 -43
  61. package/dist/Checkmark.cjs +12 -12
  62. package/dist/Checkmark.css +8 -8
  63. package/dist/Checkmark.mjs +12 -12
  64. package/dist/Chevron.cjs +12 -12
  65. package/dist/Chevron.css +10 -10
  66. package/dist/Chevron.mjs +12 -12
  67. package/dist/ClearButton.cjs +29 -29
  68. package/dist/ClearButton.css +29 -29
  69. package/dist/ClearButton.mjs +29 -29
  70. package/dist/CloseButton.cjs +54 -54
  71. package/dist/CloseButton.css +46 -46
  72. package/dist/CloseButton.mjs +54 -54
  73. package/dist/ColorArea.cjs +16 -16
  74. package/dist/ColorArea.css +16 -16
  75. package/dist/ColorArea.mjs +16 -16
  76. package/dist/ColorField.cjs +31 -31
  77. package/dist/ColorField.css +31 -31
  78. package/dist/ColorField.mjs +31 -31
  79. package/dist/ColorHandle.cjs +27 -27
  80. package/dist/ColorHandle.css +42 -42
  81. package/dist/ColorHandle.mjs +27 -27
  82. package/dist/ColorSlider.cjs +108 -108
  83. package/dist/ColorSlider.css +56 -56
  84. package/dist/ColorSlider.mjs +108 -108
  85. package/dist/ColorSwatch.cjs +29 -29
  86. package/dist/ColorSwatch.css +29 -29
  87. package/dist/ColorSwatch.mjs +29 -29
  88. package/dist/ColorSwatchPicker.cjs +27 -27
  89. package/dist/ColorSwatchPicker.css +46 -46
  90. package/dist/ColorSwatchPicker.mjs +27 -27
  91. package/dist/ColorWheel.cjs +26 -26
  92. package/dist/ColorWheel.css +17 -17
  93. package/dist/ColorWheel.mjs +26 -26
  94. package/dist/ComboBox.cjs +378 -376
  95. package/dist/ComboBox.cjs.map +1 -1
  96. package/dist/ComboBox.css +179 -179
  97. package/dist/ComboBox.css.map +1 -1
  98. package/dist/ComboBox.mjs +378 -376
  99. package/dist/ComboBox.mjs.map +1 -1
  100. package/dist/ContextualHelp.cjs +5 -5
  101. package/dist/ContextualHelp.cjs.map +1 -1
  102. package/dist/ContextualHelp.css +49 -49
  103. package/dist/ContextualHelp.css.map +1 -1
  104. package/dist/ContextualHelp.mjs +5 -5
  105. package/dist/ContextualHelp.mjs.map +1 -1
  106. package/dist/Cross.cjs +14 -14
  107. package/dist/Cross.css +10 -10
  108. package/dist/Cross.mjs +14 -14
  109. package/dist/CustomDialog.cjs +25 -25
  110. package/dist/CustomDialog.css +25 -25
  111. package/dist/CustomDialog.mjs +25 -25
  112. package/dist/Dash.cjs +10 -10
  113. package/dist/Dash.css +6 -6
  114. package/dist/Dash.mjs +10 -10
  115. package/dist/Dialog.cjs +17 -17
  116. package/dist/Dialog.css +70 -70
  117. package/dist/Dialog.mjs +17 -17
  118. package/dist/Disclosure.cjs +129 -129
  119. package/dist/Disclosure.css +104 -104
  120. package/dist/Disclosure.mjs +129 -129
  121. package/dist/Divider.cjs +25 -25
  122. package/dist/Divider.css +25 -25
  123. package/dist/Divider.mjs +25 -25
  124. package/dist/DropZone.cjs +58 -58
  125. package/dist/DropZone.css +54 -54
  126. package/dist/DropZone.mjs +58 -58
  127. package/dist/Field.cjs +340 -340
  128. package/dist/Field.cjs.map +1 -1
  129. package/dist/Field.css +144 -144
  130. package/dist/Field.mjs +340 -340
  131. package/dist/Field.mjs.map +1 -1
  132. package/dist/Form.cjs +9 -9
  133. package/dist/Form.css +9 -9
  134. package/dist/Form.mjs +9 -9
  135. package/dist/FullscreenDialog.cjs +5 -5
  136. package/dist/FullscreenDialog.css +79 -79
  137. package/dist/FullscreenDialog.mjs +5 -5
  138. package/dist/IllustratedMessage.cjs +219 -219
  139. package/dist/IllustratedMessage.css +74 -74
  140. package/dist/IllustratedMessage.mjs +219 -219
  141. package/dist/Image.cjs +13 -13
  142. package/dist/Image.css +14 -14
  143. package/dist/Image.mjs +13 -13
  144. package/dist/InlineAlert.cjs +108 -108
  145. package/dist/InlineAlert.css +90 -90
  146. package/dist/InlineAlert.mjs +108 -108
  147. package/dist/Link.cjs +49 -49
  148. package/dist/Link.css +41 -41
  149. package/dist/Link.mjs +49 -49
  150. package/dist/LinkOut.cjs +8 -8
  151. package/dist/LinkOut.css +8 -8
  152. package/dist/LinkOut.mjs +8 -8
  153. package/dist/Menu.cjs +422 -422
  154. package/dist/Menu.css +180 -180
  155. package/dist/Menu.mjs +422 -422
  156. package/dist/Meter.cjs +153 -153
  157. package/dist/Meter.css +95 -95
  158. package/dist/Meter.mjs +153 -153
  159. package/dist/Modal.cjs +58 -58
  160. package/dist/Modal.css +50 -50
  161. package/dist/Modal.mjs +58 -58
  162. package/dist/NotificationBadge.cjs +56 -56
  163. package/dist/NotificationBadge.css +51 -51
  164. package/dist/NotificationBadge.mjs +56 -56
  165. package/dist/NumberField.cjs +114 -114
  166. package/dist/NumberField.css +103 -103
  167. package/dist/NumberField.mjs +114 -114
  168. package/dist/Picker.cjs +273 -271
  169. package/dist/Picker.cjs.map +1 -1
  170. package/dist/Picker.css +169 -169
  171. package/dist/Picker.css.map +1 -1
  172. package/dist/Picker.mjs +273 -271
  173. package/dist/Picker.mjs.map +1 -1
  174. package/dist/Popover.cjs +85 -85
  175. package/dist/Popover.css +66 -66
  176. package/dist/Popover.mjs +85 -85
  177. package/dist/ProgressBar.cjs +163 -163
  178. package/dist/ProgressBar.css +103 -103
  179. package/dist/ProgressBar.mjs +163 -163
  180. package/dist/ProgressCircle.cjs +17 -17
  181. package/dist/ProgressCircle.css +17 -17
  182. package/dist/ProgressCircle.mjs +17 -17
  183. package/dist/Provider.cjs +10 -10
  184. package/dist/Provider.css +9 -9
  185. package/dist/Provider.mjs +10 -10
  186. package/dist/Radio.cjs +144 -144
  187. package/dist/Radio.css +81 -81
  188. package/dist/Radio.mjs +144 -144
  189. package/dist/RadioGroup.cjs +41 -41
  190. package/dist/RadioGroup.css +41 -41
  191. package/dist/RadioGroup.mjs +41 -41
  192. package/dist/SearchField.cjs +41 -41
  193. package/dist/SearchField.css +49 -49
  194. package/dist/SearchField.mjs +41 -41
  195. package/dist/SegmentedControl.cjs +171 -171
  196. package/dist/SegmentedControl.css +120 -120
  197. package/dist/SegmentedControl.mjs +171 -171
  198. package/dist/Slider.cjs +288 -288
  199. package/dist/Slider.css +152 -152
  200. package/dist/Slider.mjs +288 -288
  201. package/dist/StatusLight.cjs +115 -115
  202. package/dist/StatusLight.css +63 -63
  203. package/dist/StatusLight.mjs +115 -115
  204. package/dist/Switch.cjs +152 -152
  205. package/dist/Switch.css +76 -76
  206. package/dist/Switch.mjs +152 -152
  207. package/dist/TableView.cjs +310 -310
  208. package/dist/TableView.css +172 -172
  209. package/dist/TableView.mjs +310 -310
  210. package/dist/Tabs.cjs +113 -110
  211. package/dist/Tabs.cjs.map +1 -1
  212. package/dist/Tabs.css +92 -92
  213. package/dist/Tabs.css.map +1 -1
  214. package/dist/Tabs.mjs +113 -110
  215. package/dist/Tabs.mjs.map +1 -1
  216. package/dist/TabsPicker.cjs +123 -123
  217. package/dist/TabsPicker.css +112 -112
  218. package/dist/TabsPicker.mjs +123 -123
  219. package/dist/TagGroup.cjs +202 -202
  220. package/dist/TagGroup.cjs.map +1 -1
  221. package/dist/TagGroup.css +147 -147
  222. package/dist/TagGroup.css.map +1 -1
  223. package/dist/TagGroup.mjs +202 -202
  224. package/dist/TagGroup.mjs.map +1 -1
  225. package/dist/TextField.cjs +57 -57
  226. package/dist/TextField.css +57 -57
  227. package/dist/TextField.mjs +57 -57
  228. package/dist/Toast.cjs +118 -118
  229. package/dist/Toast.css +105 -105
  230. package/dist/Toast.mjs +118 -118
  231. package/dist/ToggleButton.cjs +3 -3
  232. package/dist/ToggleButton.css +12 -12
  233. package/dist/ToggleButton.mjs +3 -3
  234. package/dist/Tooltip.cjs +81 -81
  235. package/dist/Tooltip.css +68 -68
  236. package/dist/Tooltip.mjs +81 -81
  237. package/dist/TreeView.cjs +143 -149
  238. package/dist/TreeView.cjs.map +1 -1
  239. package/dist/TreeView.css +143 -143
  240. package/dist/TreeView.css.map +1 -1
  241. package/dist/TreeView.mjs +143 -149
  242. package/dist/TreeView.mjs.map +1 -1
  243. package/dist/types.d.ts +2 -2
  244. package/dist/types.d.ts.map +1 -1
  245. package/icons/Icon.cjs +10 -10
  246. package/icons/Icon.css +9 -9
  247. package/icons/Icon.mjs +10 -10
  248. package/icons/Skeleton.cjs +2 -2
  249. package/icons/Skeleton.cjs.map +1 -1
  250. package/icons/Skeleton.css +6 -6
  251. package/icons/Skeleton.mjs +2 -2
  252. package/icons/Skeleton.mjs.map +1 -1
  253. package/package.json +45 -26
  254. package/src/ActionButton.tsx +1 -1
  255. package/src/Button.tsx +3 -3
  256. package/src/ComboBox.tsx +3 -2
  257. package/src/ContextualHelp.tsx +2 -2
  258. package/src/Picker.tsx +3 -2
  259. package/src/Tabs.tsx +7 -5
  260. package/src/TagGroup.tsx +1 -1
  261. package/src/TreeView.tsx +1 -6
  262. package/style/__tests__/style-macro.test.js +56 -56
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-spectrum/s2",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
4
4
  "description": "Spectrum 2 UI components in React",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -17,26 +17,45 @@
17
17
  "source": "src/index.ts",
18
18
  "exports": {
19
19
  ".": {
20
- "types": "./dist/types.d.ts",
20
+ "source": "./src/index.ts",
21
+ "types": [
22
+ "./dist/types.d.ts",
23
+ "./src/index.ts"
24
+ ],
21
25
  "module": "./dist/module.mjs",
22
26
  "import": "./dist/module.mjs",
23
27
  "require": "./dist/main.cjs"
24
28
  },
25
- "./page.css": "./page.css",
29
+ "./page.css": {
30
+ "source": "./src/page.ts",
31
+ "default": "./page.css"
32
+ },
26
33
  "./style": {
27
- "types": "./style/dist/types.d.ts",
34
+ "source": "./style/index.ts",
35
+ "types": [
36
+ "./style/dist/types.d.ts",
37
+ "./style/index.ts"
38
+ ],
28
39
  "module": "./style/dist/module.mjs",
29
40
  "import": "./style/dist/module.mjs",
30
41
  "require": "./style/dist/main.cjs"
31
42
  },
32
43
  "./icons/*": {
33
- "types": "./icons/*.d.ts",
44
+ "source": "./s2wf-icons/S2_Icon_*_20_N.svg",
45
+ "types": [
46
+ "./icons/*.d.ts",
47
+ "./icon.d.ts"
48
+ ],
34
49
  "module": "./icons/*.mjs",
35
50
  "import": "./icons/*.mjs",
36
51
  "require": "./icons/*.cjs"
37
52
  },
38
53
  "./illustrations/*": {
39
- "types": "./illustrations/*.d.ts",
54
+ "source": "./spectrum-illustrations/*.tsx",
55
+ "types": [
56
+ "./illustrations/*.d.ts",
57
+ "./icon.d.ts"
58
+ ],
40
59
  "module": "./illustrations/*.mjs",
41
60
  "import": "./illustrations/*.mjs",
42
61
  "require": "./illustrations/*.cjs"
@@ -57,26 +76,26 @@
57
76
  "src"
58
77
  ],
59
78
  "dependencies": {
60
- "@internationalized/number": "^3.6.2",
61
- "@react-aria/collections": "3.0.0-rc.1",
62
- "@react-aria/focus": "^3.20.3",
63
- "@react-aria/i18n": "^3.12.9",
64
- "@react-aria/interactions": "^3.25.1",
65
- "@react-aria/live-announcer": "^3.4.2",
66
- "@react-aria/utils": "^3.29.0",
67
- "@react-spectrum/utils": "^3.12.5",
68
- "@react-stately/layout": "^4.3.0",
69
- "@react-stately/utils": "^3.10.6",
70
- "@react-types/dialog": "^3.5.18",
71
- "@react-types/grid": "^3.3.2",
72
- "@react-types/provider": "^3.8.9",
73
- "@react-types/shared": "^3.29.1",
74
- "@react-types/table": "^3.13.0",
75
- "@react-types/textfield": "^3.12.2",
79
+ "@internationalized/number": "^3.6.3",
80
+ "@react-aria/collections": "3.0.0-rc.2",
81
+ "@react-aria/focus": "^3.20.4",
82
+ "@react-aria/i18n": "^3.12.10",
83
+ "@react-aria/interactions": "^3.25.2",
84
+ "@react-aria/live-announcer": "^3.4.3",
85
+ "@react-aria/utils": "^3.29.1",
86
+ "@react-spectrum/utils": "^3.12.6",
87
+ "@react-stately/layout": "^4.3.1",
88
+ "@react-stately/utils": "^3.10.7",
89
+ "@react-types/dialog": "^3.5.19",
90
+ "@react-types/grid": "^3.3.3",
91
+ "@react-types/provider": "^3.8.10",
92
+ "@react-types/shared": "^3.30.0",
93
+ "@react-types/table": "^3.13.1",
94
+ "@react-types/textfield": "^3.12.3",
76
95
  "csstype": "^3.0.2",
77
- "react-aria": "^3.40.0",
78
- "react-aria-components": "^1.9.0",
79
- "react-stately": "^3.38.0"
96
+ "react-aria": "^3.41.0",
97
+ "react-aria-components": "^1.10.0",
98
+ "react-stately": "^3.39.0"
80
99
  },
81
100
  "peerDependencies": {
82
101
  "react": "^18.0.0 || ^19.0.0-rc.1",
@@ -85,5 +104,5 @@
85
104
  "publishConfig": {
86
105
  "access": "public"
87
106
  },
88
- "gitHead": "9c77d4e8267ed39469c65f65da94ece7be509874"
107
+ "gitHead": "265b4d7f107905ee1c6e87a8af1613ab440a6849"
89
108
  }
@@ -95,7 +95,7 @@ export const btnStyles = style<ButtonRenderProps & ActionButtonStyleProps & Togg
95
95
  default: lightDark('accent-900', 'accent-700'),
96
96
  isHovered: lightDark('accent-1000', 'accent-600'),
97
97
  isPressed: lightDark('accent-1000', 'accent-600'),
98
- isFocused: lightDark('accent-1000', 'accent-600')
98
+ isFocusVisible: lightDark('accent-1000', 'accent-600')
99
99
  },
100
100
  isDisabled: {
101
101
  default: 'gray-100',
package/src/Button.tsx CHANGED
@@ -116,13 +116,13 @@ const button = style<ButtonRenderProps & ButtonStyleProps & {isStaticColor: bool
116
116
  default: lightDark('accent-900', 'accent-700'),
117
117
  isHovered: lightDark('accent-1000', 'accent-600'),
118
118
  isPressed: lightDark('accent-1000', 'accent-600'),
119
- isFocused: lightDark('accent-1000', 'accent-600')
119
+ isFocusVisible: lightDark('accent-1000', 'accent-600')
120
120
  },
121
121
  negative: {
122
122
  default: lightDark('negative-900', 'negative-700'),
123
123
  isHovered: lightDark('negative-1000', 'negative-600'),
124
124
  isPressed: lightDark('negative-1000', 'negative-600'),
125
- isFocused: lightDark('negative-1000', 'negative-600')
125
+ isFocusVisible: lightDark('negative-1000', 'negative-600')
126
126
  },
127
127
  premium: 'gray-100',
128
128
  genai: 'gray-100'
@@ -347,7 +347,7 @@ export const Button = forwardRef(function Button(props: ButtonProps, ref: Focusa
347
347
  isStaticColor: !!staticColor
348
348
  }, props.styles)}>
349
349
  {(renderProps) => (<>
350
- {variant === 'genai' || variant === 'premium'
350
+ {variant === 'genai' || variant === 'premium'
351
351
  ? (
352
352
  <span
353
353
  className={gradient({
package/src/ComboBox.tsx CHANGED
@@ -81,7 +81,7 @@ export interface ComboBoxProps<T extends object> extends
81
81
  StyleProps,
82
82
  SpectrumLabelableProps,
83
83
  HelpTextProps,
84
- Pick<ListBoxProps<T>, 'items'>,
84
+ Pick<ListBoxProps<T>, 'items' | 'dependencies'>,
85
85
  Pick<AriaPopoverProps, 'shouldFlip'>,
86
86
  Pick<AsyncLoadable, 'onLoadMore'> {
87
87
  /** The contents of the collection. */
@@ -559,7 +559,7 @@ const ComboboxInner = forwardRef(function ComboboxInner(props: ComboBoxProps<any
559
559
  if (typeof children === 'function') {
560
560
  renderer = (
561
561
  <>
562
- <Collection items={items ?? defaultItems}>
562
+ <Collection items={items ?? defaultItems} dependencies={props.dependencies}>
563
563
  {children}
564
564
  </Collection>
565
565
  {listBoxLoadingCircle}
@@ -681,6 +681,7 @@ const ComboboxInner = forwardRef(function ComboboxInner(props: ComboBoxProps<any
681
681
  loaderHeight: LOADER_ROW_HEIGHTS[size][scale]
682
682
  }}>
683
683
  <ListBox
684
+ dependencies={props.dependencies}
684
685
  renderEmptyState={() => (
685
686
  <span className={emptyStateText({size})}>
686
687
  {loadingState === 'loading' ? stringFormatter.format('table.loading') : stringFormatter.format('combobox.noResults')}
@@ -41,8 +41,8 @@ export interface ContextualHelpProps extends
41
41
 
42
42
  const popover = style({
43
43
  fontFamily: 'sans',
44
- minWidth: 218,
45
- width: 218,
44
+ minWidth: 268,
45
+ width: 268,
46
46
  padding: 24
47
47
  });
48
48
 
package/src/Picker.tsx CHANGED
@@ -97,7 +97,7 @@ export interface PickerProps<T extends object> extends
97
97
  StyleProps,
98
98
  SpectrumLabelableProps,
99
99
  HelpTextProps,
100
- Pick<ListBoxProps<T>, 'items'>,
100
+ Pick<ListBoxProps<T>, 'items' | 'dependencies'>,
101
101
  Pick<AriaPopoverProps, 'shouldFlip'>,
102
102
  Pick<AsyncLoadable, 'onLoadMore'> {
103
103
  /** The contents of the collection. */
@@ -319,7 +319,7 @@ export const Picker = /*#__PURE__*/ (forwardRef as forwardRefType)(function Pick
319
319
  if (typeof children === 'function' && items) {
320
320
  renderer = (
321
321
  <>
322
- <Collection items={items}>
322
+ <Collection items={items} dependencies={props.dependencies}>
323
323
  {children}
324
324
  </Collection>
325
325
  {listBoxLoadingCircle}
@@ -425,6 +425,7 @@ export const Picker = /*#__PURE__*/ (forwardRef as forwardRefType)(function Pick
425
425
  }]
426
426
  ]}>
427
427
  <ListBox
428
+ dependencies={props.dependencies}
428
429
  items={items}
429
430
  className={listbox({size})}>
430
431
  {renderer}
package/src/Tabs.tsx CHANGED
@@ -213,7 +213,7 @@ function TabListInner<T extends object>(props: TabListProps<T>) {
213
213
  style={props.UNSAFE_style}
214
214
  className={(props.UNSAFE_className || '') + style({position: 'relative'}, getAllowedOverrides())(null, props.styles)}>
215
215
  {orientation === 'vertical' &&
216
- <TabLine disabledKeys={disabledKeys} isDisabled={isDisabled} selectedTab={selectedTab} orientation={orientation} density={density} />}
216
+ <TabLine disabledKeys={disabledKeys} isDisabled={isDisabled} selectedTab={selectedTab} orientation={orientation} tabList={props} density={density} />}
217
217
  <RACTabList
218
218
  {...props}
219
219
  aria-label={ariaLabel}
@@ -221,16 +221,17 @@ function TabListInner<T extends object>(props: TabListProps<T>) {
221
221
  ref={tablistRef}
222
222
  className={renderProps => tablist({...renderProps, labelBehavior, density})} />
223
223
  {orientation === 'horizontal' &&
224
- <TabLine disabledKeys={disabledKeys} isDisabled={isDisabled} selectedTab={selectedTab} orientation={orientation} density={density} />}
224
+ <TabLine disabledKeys={disabledKeys} isDisabled={isDisabled} selectedTab={selectedTab} orientation={orientation} tabList={props} density={density} />}
225
225
  </div>
226
226
  );
227
227
  }
228
228
 
229
- interface TabLineProps {
229
+ interface TabLineProps<T extends object> {
230
230
  disabledKeys: Iterable<Key> | undefined,
231
231
  isDisabled: boolean | undefined,
232
232
  selectedTab: HTMLElement | undefined,
233
233
  orientation?: Orientation,
234
+ tabList: TabListProps<T>,
234
235
  density?: 'compact' | 'regular'
235
236
  }
236
237
 
@@ -265,12 +266,13 @@ const selectedIndicator = style<{isDisabled: boolean, orientation?: Orientation}
265
266
  transitionTimingFunction: 'in-out'
266
267
  });
267
268
 
268
- function TabLine(props: TabLineProps) {
269
+ function TabLine<T extends object>(props: TabLineProps<T>) {
269
270
  let {
270
271
  disabledKeys,
271
272
  isDisabled: isTabsDisabled,
272
273
  selectedTab,
273
274
  orientation,
275
+ tabList,
274
276
  density
275
277
  } = props;
276
278
  let {direction} = useLocale();
@@ -314,7 +316,7 @@ function TabLine(props: TabLineProps) {
314
316
 
315
317
  useLayoutEffect(() => {
316
318
  onResize();
317
- }, [onResize, state?.selectedItem?.key, density, direction, orientation]);
319
+ }, [onResize, state?.selectedItem?.key, density, direction, orientation, tabList]);
318
320
 
319
321
  return (
320
322
  <div style={{...style}} className={selectedIndicator({isDisabled, orientation})} />
package/src/TagGroup.tsx CHANGED
@@ -442,7 +442,7 @@ const tagStyles = style<TagRenderProps & {size?: 'S' | 'M' | 'L', isEmphasized?:
442
442
  default: lightDark('accent-900', 'accent-700'),
443
443
  isHovered: lightDark('accent-1000', 'accent-600'),
444
444
  isPressed: lightDark('accent-1000', 'accent-600'),
445
- isFocused: lightDark('accent-1000', 'accent-600')
445
+ isFocusVisible: lightDark('accent-1000', 'accent-600')
446
446
  }
447
447
  },
448
448
  isDisabled: 'disabled',
package/src/TreeView.tsx CHANGED
@@ -33,7 +33,6 @@ import {colorMix, focusRing, fontRelative, lightDark, style} from '../style' wit
33
33
  import {DOMRef, Key} from '@react-types/shared';
34
34
  import {getAllowedOverrides, StylesPropWithHeight, UnsafeStyles} from './style-utils' with {type: 'macro'};
35
35
  import {IconContext} from './Icon';
36
- import {isAndroid} from '@react-aria/utils';
37
36
  import {raw} from '../style/style-macro' with {type: 'macro'};
38
37
  import React, {createContext, forwardRef, JSXElementConstructor, ReactElement, ReactNode, useContext, useRef} from 'react';
39
38
  import {TextContext} from './Content';
@@ -413,18 +412,14 @@ const expandButton = style<ExpandableRowChevronProps>({
413
412
  function ExpandableRowChevron(props: ExpandableRowChevronProps) {
414
413
  let expandButtonRef = useRef<HTMLButtonElement>(null);
415
414
  let [fullProps, ref] = useContextProps({...props, slot: 'chevron'}, expandButtonRef, ButtonContext);
416
- let {isExpanded, isDisabled, scale, isHidden} = fullProps;
415
+ let {isExpanded, scale, isHidden} = fullProps;
417
416
  let {direction} = useLocale();
418
- isDisabled = isDisabled || isHidden;
419
417
 
420
418
  return (
421
419
  <Button
422
420
  {...props}
423
421
  ref={ref}
424
422
  slot="chevron"
425
- // Override tabindex so that grid keyboard nav skips over it. Needs -1 so android talkback can actually "focus" it
426
- excludeFromTabOrder={isAndroid() && !isDisabled}
427
- preventFocusOnPress
428
423
  className={renderProps => expandButton({...renderProps, isExpanded, isRTL: direction === 'rtl', scale, isHidden})}>
429
424
  <Chevron
430
425
  className={style({
@@ -40,14 +40,14 @@ describe('style-macro', () => {
40
40
  "@layer _.a, _.b, _.c;
41
41
 
42
42
  @layer _.b {
43
- .Jbs8:first-child {
43
+ .Jbs91:first-child {
44
44
  margin-top: 0.25rem;
45
45
  }
46
46
  }
47
47
 
48
48
  @layer _.c.p {
49
49
  @media (min-width: 64rem) {
50
- .Jbpv8:first-child {
50
+ .Jbpv91:first-child {
51
51
  margin-top: 0.5rem;
52
52
  }
53
53
  }
@@ -55,7 +55,7 @@ describe('style-macro', () => {
55
55
 
56
56
  "
57
57
  `);
58
- expect(js).toMatchInlineSnapshot('" Jbs8 Jbpv8"');
58
+ expect(js).toMatchInlineSnapshot('" Jbs91 Jbpv91"');
59
59
  });
60
60
 
61
61
  it('should support self references', () => {
@@ -69,47 +69,47 @@ describe('style-macro', () => {
69
69
  "@layer _.a;
70
70
 
71
71
  @layer _.a {
72
- ._kc8 {
72
+ ._kc91 {
73
73
  border-top-width: 2px;
74
74
  }
75
75
 
76
76
 
77
- .hc8 {
77
+ .hc91 {
78
78
  border-bottom-width: 2px;
79
79
  }
80
80
 
81
81
 
82
- .mCPFGYc8 {
82
+ .mCPFGYc91 {
83
83
  border-inline-start-width: var(--m);
84
84
  }
85
85
 
86
86
 
87
- .lc8 {
87
+ .lc91 {
88
88
  border-inline-end-width: 2px;
89
89
  }
90
90
 
91
91
 
92
- .SMBFGYc8 {
92
+ .SMBFGYc91 {
93
93
  padding-inline-start: var(--S);
94
94
  }
95
95
 
96
96
 
97
- .Rv8 {
97
+ .Rv91 {
98
98
  padding-inline-end: calc(var(--F, var(--M)) * 3 / 8);
99
99
  }
100
100
 
101
101
 
102
- .ZjUQgKd8 {
102
+ .ZjUQgKd91 {
103
103
  width: calc(200px - var(--m) - var(--S));
104
104
  }
105
105
 
106
106
 
107
- .-m_-mc8 {
107
+ .-m_-mc91 {
108
108
  --m: 2px;
109
109
  }
110
110
 
111
111
 
112
- .-S_-Sv8 {
112
+ .-S_-Sv91 {
113
113
  --S: calc(var(--F, var(--M)) * 3 / 8);
114
114
  }
115
115
  }
@@ -118,7 +118,7 @@ describe('style-macro', () => {
118
118
  `);
119
119
 
120
120
  expect(js).toMatchInlineSnapshot(
121
- '" _kc8 hc8 mCPFGYc8 lc8 SMBFGYc8 Rv8 ZjUQgKd8 -m_-mc8 -S_-Sv8"'
121
+ '" _kc91 hc91 mCPFGYc91 lc91 SMBFGYc91 Rv91 ZjUQgKd91 -m_-mc91 -S_-Sv91"'
122
122
  );
123
123
  });
124
124
 
@@ -136,9 +136,9 @@ describe('style-macro', () => {
136
136
  color: 'green-400'
137
137
  });
138
138
 
139
- expect(js()).toMatchInlineSnapshot('" gw8 pg8"');
140
- expect(overrides).toMatchInlineSnapshot('" g8tmWqb8 pHJ3AUd8"');
141
- expect(js({}, overrides)).toMatchInlineSnapshot('" g8tmWqb8 pg8"');
139
+ expect(js()).toMatchInlineSnapshot('" gw91 pg91"');
140
+ expect(overrides).toMatchInlineSnapshot('" g8tmWqb91 pHJ3AUd91"');
141
+ expect(js({}, overrides)).toMatchInlineSnapshot('" g8tmWqb91 pg91"');
142
142
  });
143
143
 
144
144
  it('should support allowed overrides for properties that expand into multiple', () => {
@@ -153,9 +153,9 @@ describe('style-macro', () => {
153
153
  translateX: 40
154
154
  });
155
155
 
156
- expect(js()).toMatchInlineSnapshot('" -_7PloMd-B8 __Ya8"');
157
- expect(overrides).toMatchInlineSnapshot('" -_7PloMd-D8 __Ya8"');
158
- expect(js({}, overrides)).toMatchInlineSnapshot('" -_7PloMd-D8 __Ya8"');
156
+ expect(js()).toMatchInlineSnapshot('" -_7PloMd-B91 __Ya91"');
157
+ expect(overrides).toMatchInlineSnapshot('" -_7PloMd-D91 __Ya91"');
158
+ expect(js({}, overrides)).toMatchInlineSnapshot('" -_7PloMd-D91 __Ya91"');
159
159
  });
160
160
 
161
161
  it('should support allowed overrides for shorthands', () => {
@@ -170,9 +170,9 @@ describe('style-macro', () => {
170
170
  padding: 40
171
171
  });
172
172
 
173
- expect(js()).toMatchInlineSnapshot('" Tk8 Qk8 Sk8 Rk8"');
174
- expect(overrides).toMatchInlineSnapshot('" Tm8 Qm8 Sm8 Rm8"');
175
- expect(js({}, overrides)).toMatchInlineSnapshot('" Tm8 Qm8 Sm8 Rm8"');
173
+ expect(js()).toMatchInlineSnapshot('" Tk91 Qk91 Sk91 Rk91"');
174
+ expect(overrides).toMatchInlineSnapshot('" Tm91 Qm91 Sm91 Rm91"');
175
+ expect(js({}, overrides)).toMatchInlineSnapshot('" Tm91 Qm91 Sm91 Rm91"');
176
176
  });
177
177
 
178
178
  it("should support allowed overrides for values that aren't defined", () => {
@@ -187,9 +187,9 @@ describe('style-macro', () => {
187
187
  minWidth: 32
188
188
  });
189
189
 
190
- expect(js()).toMatchInlineSnapshot('" gE8"');
191
- expect(overrides).toMatchInlineSnapshot('" Nk8"');
192
- expect(js({}, overrides)).toMatchInlineSnapshot('" Nk8 gE8"');
190
+ expect(js()).toMatchInlineSnapshot('" gE91"');
191
+ expect(overrides).toMatchInlineSnapshot('" Nk91"');
192
+ expect(js({}, overrides)).toMatchInlineSnapshot('" Nk91 gE91"');
193
193
  });
194
194
 
195
195
  it('should support runtime conditions', () => {
@@ -210,32 +210,32 @@ describe('style-macro', () => {
210
210
  "@layer _.a;
211
211
 
212
212
  @layer _.a {
213
- .gH8 {
213
+ .gH91 {
214
214
  background-color: light-dark(rgb(233, 233, 233), rgb(44, 44, 44));
215
215
  }
216
216
 
217
217
 
218
- .gF8 {
218
+ .gF91 {
219
219
  background-color: light-dark(rgb(225, 225, 225), rgb(50, 50, 50));
220
220
  }
221
221
 
222
222
 
223
- .gE8 {
223
+ .gE91 {
224
224
  background-color: light-dark(rgb(218, 218, 218), rgb(57, 57, 57));
225
225
  }
226
226
 
227
227
 
228
- .pt8 {
228
+ .pt91 {
229
229
  color: light-dark(rgb(41, 41, 41), rgb(219, 219, 219));
230
230
  }
231
231
 
232
232
 
233
- .po8 {
233
+ .po91 {
234
234
  color: light-dark(rgb(19, 19, 19), rgb(242, 242, 242));
235
235
  }
236
236
 
237
237
 
238
- .pm8 {
238
+ .pm91 {
239
239
  color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));
240
240
  }
241
241
  }
@@ -243,9 +243,9 @@ describe('style-macro', () => {
243
243
  "
244
244
  `);
245
245
 
246
- expect(js({})).toMatchInlineSnapshot('" gH8 pt8"');
247
- expect(js({isHovered: true})).toMatchInlineSnapshot('" gF8 po8"');
248
- expect(js({isPressed: true})).toMatchInlineSnapshot('" gE8 pm8"');
246
+ expect(js({})).toMatchInlineSnapshot('" gH91 pt91"');
247
+ expect(js({isHovered: true})).toMatchInlineSnapshot('" gF91 po91"');
248
+ expect(js({isPressed: true})).toMatchInlineSnapshot('" gE91 pm91"');
249
249
  });
250
250
 
251
251
  it('should support nested runtime conditions', () => {
@@ -264,33 +264,33 @@ describe('style-macro', () => {
264
264
  "@layer _.a;
265
265
 
266
266
  @layer _.a {
267
- .gH8 {
267
+ .gH91 {
268
268
  background-color: light-dark(rgb(233, 233, 233), rgb(44, 44, 44));
269
269
  }
270
270
 
271
271
 
272
- .gF8 {
272
+ .gF91 {
273
273
  background-color: light-dark(rgb(225, 225, 225), rgb(50, 50, 50));
274
274
  }
275
275
 
276
276
 
277
- .g_h8 {
277
+ .g_h91 {
278
278
  background-color: light-dark(rgb(75, 117, 255), rgb(64, 105, 253));
279
279
  }
280
280
 
281
281
 
282
- .g38 {
282
+ .g391 {
283
283
  background-color: light-dark(rgb(59, 99, 251), rgb(86, 129, 255));
284
284
  }
285
285
  }
286
286
 
287
287
  "
288
288
  `);
289
- expect(js({})).toMatchInlineSnapshot('" gH8"');
290
- expect(js({isHovered: true})).toMatchInlineSnapshot('" gF8"');
291
- expect(js({isSelected: true})).toMatchInlineSnapshot('" g_h8"');
289
+ expect(js({})).toMatchInlineSnapshot('" gH91"');
290
+ expect(js({isHovered: true})).toMatchInlineSnapshot('" gF91"');
291
+ expect(js({isSelected: true})).toMatchInlineSnapshot('" g_h91"');
292
292
  expect(js({isSelected: true, isHovered: true})).toMatchInlineSnapshot(
293
- '" g38"'
293
+ '" g391"'
294
294
  );
295
295
  });
296
296
 
@@ -305,9 +305,9 @@ describe('style-macro', () => {
305
305
  }
306
306
  });
307
307
 
308
- expect(js({variant: 'accent'})).toMatchInlineSnapshot('" gY8"');
309
- expect(js({variant: 'primary'})).toMatchInlineSnapshot('" gjQquMe8"');
310
- expect(js({variant: 'secondary'})).toMatchInlineSnapshot('" gw8"');
308
+ expect(js({variant: 'accent'})).toMatchInlineSnapshot('" gY91"');
309
+ expect(js({variant: 'primary'})).toMatchInlineSnapshot('" gjQquMe91"');
310
+ expect(js({variant: 'secondary'})).toMatchInlineSnapshot('" gw91"');
311
311
  });
312
312
 
313
313
  it('supports runtime conditions nested inside css conditions', () => {
@@ -325,14 +325,14 @@ describe('style-macro', () => {
325
325
 
326
326
  @layer _.b.l {
327
327
  @media (forced-colors: active) {
328
- .plb8 {
328
+ .plb91 {
329
329
  color: ButtonText;
330
330
  }
331
331
  }
332
332
 
333
333
 
334
334
  @media (forced-colors: active) {
335
- .ple8 {
335
+ .ple91 {
336
336
  color: HighlightText;
337
337
  }
338
338
  }
@@ -341,8 +341,8 @@ describe('style-macro', () => {
341
341
  "
342
342
  `);
343
343
 
344
- expect(js({})).toMatchInlineSnapshot('" plb8"');
345
- expect(js({isSelected: true})).toMatchInlineSnapshot('" ple8"');
344
+ expect(js({})).toMatchInlineSnapshot('" plb91"');
345
+ expect(js({isSelected: true})).toMatchInlineSnapshot('" ple91"');
346
346
  });
347
347
 
348
348
  it('should expand shorthand properties to longhands', () => {
@@ -350,27 +350,27 @@ describe('style-macro', () => {
350
350
  padding: 24
351
351
  });
352
352
 
353
- expect(js).toMatchInlineSnapshot('" Th8 Qh8 Sh8 Rh8"');
353
+ expect(js).toMatchInlineSnapshot('" Th91 Qh91 Sh91 Rh91"');
354
354
  expect(css).toMatchInlineSnapshot(`
355
355
  "@layer _.a;
356
356
 
357
357
  @layer _.a {
358
- .Th8 {
358
+ .Th91 {
359
359
  padding-top: 24px;
360
360
  }
361
361
 
362
362
 
363
- .Qh8 {
363
+ .Qh91 {
364
364
  padding-bottom: 24px;
365
365
  }
366
366
 
367
367
 
368
- .Sh8 {
368
+ .Sh91 {
369
369
  padding-inline-start: 24px;
370
370
  }
371
371
 
372
372
 
373
- .Rh8 {
373
+ .Rh91 {
374
374
  padding-inline-end: 24px;
375
375
  }
376
376
  }
@@ -388,7 +388,7 @@ describe('style-macro', () => {
388
388
  "@layer _.a;
389
389
 
390
390
  @layer _.a {
391
- .gpQzfVb8 {
391
+ .gpQzfVb91 {
392
392
  background-color: rgb(from light-dark(rgb(39, 77, 234), rgb(105, 149, 254)) r g b / 50%);
393
393
  }
394
394
  }
@@ -409,7 +409,7 @@ describe('style-macro', () => {
409
409
  "@layer _.a;
410
410
 
411
411
  @layer _.a {
412
- .-FUeYm-gE8 {
412
+ .-FUeYm-gE91 {
413
413
  --foo: light-dark(rgb(218, 218, 218), rgb(57, 57, 57));
414
414
  }
415
415
  }