@react-spectrum/s2 3.0.0-nightly-56da82e3e-250212 → 3.0.0-nightly-3dbdc1e8e-250214
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.
- package/dist/Accordion.cjs +3 -3
- package/dist/Accordion.css +2 -2
- package/dist/Accordion.mjs +3 -3
- package/dist/ActionBar.cjs +47 -47
- package/dist/ActionBar.css +51 -51
- package/dist/ActionBar.mjs +47 -47
- package/dist/ActionButton.cjs +97 -97
- package/dist/ActionButton.css +96 -96
- package/dist/ActionButton.mjs +97 -97
- package/dist/ActionButtonGroup.cjs +11 -11
- package/dist/ActionButtonGroup.css +9 -9
- package/dist/ActionButtonGroup.mjs +11 -11
- package/dist/AlertDialog.cjs +3 -3
- package/dist/AlertDialog.css +3 -3
- package/dist/AlertDialog.mjs +3 -3
- package/dist/Avatar.cjs +17 -17
- package/dist/Avatar.css +14 -14
- package/dist/Avatar.mjs +17 -17
- package/dist/AvatarGroup.cjs +100 -100
- package/dist/AvatarGroup.css +34 -34
- package/dist/AvatarGroup.mjs +100 -100
- package/dist/Badge.cjs +68 -92
- package/dist/Badge.cjs.map +1 -1
- package/dist/Badge.css +92 -164
- package/dist/Badge.css.map +1 -1
- package/dist/Badge.mjs +68 -92
- package/dist/Badge.mjs.map +1 -1
- package/dist/Breadcrumbs.cjs +115 -115
- package/dist/Breadcrumbs.css +89 -89
- package/dist/Breadcrumbs.mjs +115 -115
- package/dist/Button.cjs +152 -236
- package/dist/Button.cjs.map +1 -1
- package/dist/Button.css +165 -309
- package/dist/Button.css.map +1 -1
- package/dist/Button.mjs +152 -236
- package/dist/Button.mjs.map +1 -1
- package/dist/ButtonGroup.cjs +19 -19
- package/dist/ButtonGroup.css +15 -15
- package/dist/ButtonGroup.mjs +19 -19
- package/dist/Card.cjs +261 -264
- package/dist/Card.cjs.map +1 -1
- package/dist/Card.css +198 -210
- package/dist/Card.css.map +1 -1
- package/dist/Card.mjs +261 -264
- package/dist/Card.mjs.map +1 -1
- package/dist/CardView.cjs +15 -15
- package/dist/CardView.css +18 -18
- package/dist/CardView.mjs +15 -15
- package/dist/CenterBaseline.cjs +1 -1
- package/dist/CenterBaseline.css +2 -2
- package/dist/CenterBaseline.mjs +1 -1
- package/dist/Checkbox.cjs +73 -124
- package/dist/Checkbox.cjs.map +1 -1
- package/dist/Checkbox.css +81 -201
- package/dist/Checkbox.css.map +1 -1
- package/dist/Checkbox.mjs +73 -124
- package/dist/Checkbox.mjs.map +1 -1
- package/dist/CheckboxGroup.cjs +49 -49
- package/dist/CheckboxGroup.css +41 -41
- package/dist/CheckboxGroup.mjs +49 -49
- package/dist/ClearButton.cjs +15 -15
- package/dist/ClearButton.css +17 -17
- package/dist/ClearButton.mjs +15 -15
- package/dist/CloseButton.cjs +35 -35
- package/dist/CloseButton.css +33 -33
- package/dist/CloseButton.mjs +35 -35
- package/dist/ColorArea.cjs +22 -22
- package/dist/ColorArea.css +15 -15
- package/dist/ColorArea.mjs +22 -22
- package/dist/ColorField.cjs +38 -38
- package/dist/ColorField.css +32 -32
- package/dist/ColorField.mjs +38 -38
- package/dist/ColorHandle.cjs +21 -27
- package/dist/ColorHandle.cjs.map +1 -1
- package/dist/ColorHandle.css +45 -93
- package/dist/ColorHandle.css.map +1 -1
- package/dist/ColorHandle.mjs +21 -27
- package/dist/ColorHandle.mjs.map +1 -1
- package/dist/ColorSlider.cjs +52 -52
- package/dist/ColorSlider.css +51 -51
- package/dist/ColorSlider.mjs +52 -52
- package/dist/ColorSwatch.cjs +24 -27
- package/dist/ColorSwatch.cjs.map +1 -1
- package/dist/ColorSwatch.css +29 -41
- package/dist/ColorSwatch.css.map +1 -1
- package/dist/ColorSwatch.mjs +24 -27
- package/dist/ColorSwatch.mjs.map +1 -1
- package/dist/ColorSwatchPicker.cjs +23 -23
- package/dist/ColorSwatchPicker.css +48 -60
- package/dist/ColorSwatchPicker.css.map +1 -1
- package/dist/ColorSwatchPicker.mjs +23 -23
- package/dist/ColorWheel.cjs +22 -22
- package/dist/ColorWheel.css +16 -16
- package/dist/ColorWheel.mjs +22 -22
- package/dist/ComboBox.cjs +80 -80
- package/dist/ComboBox.css +88 -88
- package/dist/ComboBox.mjs +80 -80
- package/dist/ContextualHelp.cjs +5 -5
- package/dist/ContextualHelp.css +38 -38
- package/dist/ContextualHelp.mjs +5 -5
- package/dist/CustomDialog.cjs +31 -31
- package/dist/CustomDialog.css +25 -25
- package/dist/CustomDialog.mjs +31 -31
- package/dist/Dialog.cjs +17 -17
- package/dist/Dialog.css +64 -64
- package/dist/Dialog.mjs +17 -17
- package/dist/Disclosure.cjs +108 -111
- package/dist/Disclosure.cjs.map +1 -1
- package/dist/Disclosure.css +112 -124
- package/dist/Disclosure.css.map +1 -1
- package/dist/Disclosure.mjs +108 -111
- package/dist/Disclosure.mjs.map +1 -1
- package/dist/Divider.cjs +26 -26
- package/dist/Divider.css +16 -16
- package/dist/Divider.mjs +26 -26
- package/dist/DropZone.cjs +47 -56
- package/dist/DropZone.cjs.map +1 -1
- package/dist/DropZone.css +56 -80
- package/dist/DropZone.css.map +1 -1
- package/dist/DropZone.mjs +47 -56
- package/dist/DropZone.mjs.map +1 -1
- package/dist/Field.cjs +150 -204
- package/dist/Field.cjs.map +1 -1
- package/dist/Field.css +150 -246
- package/dist/Field.css.map +1 -1
- package/dist/Field.mjs +150 -204
- package/dist/Field.mjs.map +1 -1
- package/dist/Form.cjs +10 -10
- package/dist/Form.css +9 -9
- package/dist/Form.mjs +10 -10
- package/dist/FullscreenDialog.cjs +5 -5
- package/dist/FullscreenDialog.css +72 -72
- package/dist/FullscreenDialog.mjs +5 -5
- package/dist/IllustratedMessage.cjs +134 -134
- package/dist/IllustratedMessage.css +69 -69
- package/dist/IllustratedMessage.mjs +134 -134
- package/dist/Image.cjs +12 -12
- package/dist/Image.css +13 -13
- package/dist/Image.mjs +12 -12
- package/dist/InlineAlert.cjs +77 -104
- package/dist/InlineAlert.cjs.map +1 -1
- package/dist/InlineAlert.css +77 -149
- package/dist/InlineAlert.css.map +1 -1
- package/dist/InlineAlert.mjs +77 -104
- package/dist/InlineAlert.mjs.map +1 -1
- package/dist/Link.cjs +31 -31
- package/dist/Link.css +30 -30
- package/dist/Link.mjs +31 -31
- package/dist/Menu.cjs +269 -269
- package/dist/Menu.css +155 -155
- package/dist/Menu.mjs +269 -269
- package/dist/Meter.cjs +85 -85
- package/dist/Meter.css +81 -81
- package/dist/Meter.mjs +85 -85
- package/dist/Modal.cjs +48 -48
- package/dist/Modal.css +46 -46
- package/dist/Modal.mjs +48 -48
- package/dist/NumberField.cjs +115 -115
- package/dist/NumberField.css +114 -114
- package/dist/NumberField.mjs +115 -115
- package/dist/Picker.cjs +177 -195
- package/dist/Picker.cjs.map +1 -1
- package/dist/Picker.css +164 -224
- package/dist/Picker.css.map +1 -1
- package/dist/Picker.mjs +177 -195
- package/dist/Picker.mjs.map +1 -1
- package/dist/Popover.cjs +79 -85
- package/dist/Popover.cjs.map +1 -1
- package/dist/Popover.css +65 -89
- package/dist/Popover.css.map +1 -1
- package/dist/Popover.mjs +79 -85
- package/dist/Popover.mjs.map +1 -1
- package/dist/ProgressBar.cjs +98 -98
- package/dist/ProgressBar.css +92 -92
- package/dist/ProgressBar.mjs +98 -98
- package/dist/ProgressCircle.cjs +17 -17
- package/dist/ProgressCircle.css +15 -15
- package/dist/ProgressCircle.mjs +17 -17
- package/dist/Provider.cjs +4 -4
- package/dist/Provider.css +5 -5
- package/dist/Provider.mjs +4 -4
- package/dist/Radio.cjs +80 -152
- package/dist/Radio.cjs.map +1 -1
- package/dist/Radio.css +96 -240
- package/dist/Radio.css.map +1 -1
- package/dist/Radio.mjs +80 -152
- package/dist/Radio.mjs.map +1 -1
- package/dist/RadioGroup.cjs +47 -47
- package/dist/RadioGroup.css +41 -41
- package/dist/RadioGroup.mjs +47 -47
- package/dist/SearchField.cjs +42 -42
- package/dist/SearchField.css +47 -47
- package/dist/SearchField.mjs +42 -42
- package/dist/SegmentedControl.cjs +89 -101
- package/dist/SegmentedControl.cjs.map +1 -1
- package/dist/SegmentedControl.css +92 -140
- package/dist/SegmentedControl.css.map +1 -1
- package/dist/SegmentedControl.mjs +89 -101
- package/dist/SegmentedControl.mjs.map +1 -1
- package/dist/Slider.cjs +196 -229
- package/dist/Slider.cjs.map +1 -1
- package/dist/Slider.css +149 -221
- package/dist/Slider.css.map +1 -1
- package/dist/Slider.mjs +196 -229
- package/dist/Slider.mjs.map +1 -1
- package/dist/StatusLight.cjs +56 -56
- package/dist/StatusLight.css +59 -59
- package/dist/StatusLight.mjs +56 -56
- package/dist/Switch.cjs +74 -107
- package/dist/Switch.cjs.map +1 -1
- package/dist/Switch.css +69 -141
- package/dist/Switch.css.map +1 -1
- package/dist/Switch.mjs +74 -107
- package/dist/Switch.mjs.map +1 -1
- package/dist/TableView.cjs +253 -280
- package/dist/TableView.cjs.map +1 -1
- package/dist/TableView.css +163 -199
- package/dist/TableView.css.map +1 -1
- package/dist/TableView.mjs +253 -280
- package/dist/TableView.mjs.map +1 -1
- package/dist/Tabs.cjs +108 -108
- package/dist/Tabs.css +81 -81
- package/dist/Tabs.mjs +108 -108
- package/dist/TabsPicker.cjs +105 -105
- package/dist/TabsPicker.css +111 -111
- package/dist/TabsPicker.mjs +105 -105
- package/dist/TagGroup.cjs +148 -148
- package/dist/TagGroup.css +134 -134
- package/dist/TagGroup.mjs +148 -148
- package/dist/TextField.cjs +59 -59
- package/dist/TextField.css +62 -62
- package/dist/TextField.mjs +59 -59
- package/dist/ToggleButton.cjs +3 -3
- package/dist/ToggleButton.css +12 -12
- package/dist/ToggleButton.mjs +3 -3
- package/dist/Tooltip.cjs +57 -60
- package/dist/Tooltip.cjs.map +1 -1
- package/dist/Tooltip.css +71 -83
- package/dist/Tooltip.css.map +1 -1
- package/dist/Tooltip.mjs +57 -60
- package/dist/Tooltip.mjs.map +1 -1
- package/dist/TreeView.cjs +199 -248
- package/dist/TreeView.cjs.map +1 -1
- package/dist/TreeView.css +131 -175
- package/dist/TreeView.css.map +1 -1
- package/dist/TreeView.mjs +202 -248
- package/dist/TreeView.mjs.map +1 -1
- package/dist/main.cjs +1 -0
- package/dist/main.cjs.map +1 -1
- package/dist/module.mjs +2 -2
- package/dist/module.mjs.map +1 -1
- package/dist/types.d.ts +4 -1
- package/dist/types.d.ts.map +1 -1
- package/icons/Skeleton.cjs +2 -2
- package/icons/Skeleton.css +5 -5
- package/icons/Skeleton.mjs +2 -2
- package/package.json +21 -21
- package/src/TreeView.tsx +66 -134
- package/src/index.ts +1 -1
- package/style/__tests__/style-macro.test.js +18 -18
- package/style/dist/spectrum-theme.cjs +10 -20
- package/style/dist/spectrum-theme.cjs.map +1 -1
- package/style/dist/spectrum-theme.mjs +10 -20
- package/style/dist/spectrum-theme.mjs.map +1 -1
- package/style/dist/types.d.ts +0 -4
- package/style/dist/types.d.ts.map +1 -1
- package/style/spectrum-theme.ts +11 -19
package/icons/Skeleton.css
CHANGED
|
@@ -16,24 +16,24 @@
|
|
|
16
16
|
color: #0000;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
.
|
|
19
|
+
._tb {
|
|
20
20
|
-webkit-box-decoration-break: clone;
|
|
21
21
|
box-decoration-break: clone;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
.
|
|
24
|
+
._wb {
|
|
25
25
|
border-start-start-radius: .25rem;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
.
|
|
28
|
+
._xb {
|
|
29
29
|
border-start-end-radius: .25rem;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
.
|
|
32
|
+
._yb {
|
|
33
33
|
border-end-start-radius: .25rem;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
.
|
|
36
|
+
._zb {
|
|
37
37
|
border-end-end-radius: .25rem;
|
|
38
38
|
}
|
|
39
39
|
}
|
package/icons/Skeleton.mjs
CHANGED
|
@@ -81,7 +81,7 @@ function $5ad421ec19460c48$export$cb6ddd830302c2a8({ children: children }) {
|
|
|
81
81
|
// @ts-ignore - compatibility with React < 19
|
|
82
82
|
inert: (0, $cHM3s$inertValue)(true),
|
|
83
83
|
ref: $5ad421ec19460c48$export$6b288fe07640c94c(true),
|
|
84
|
-
className: $5ad421ec19460c48$export$d2353276f167b21f + " aa _wb
|
|
84
|
+
className: $5ad421ec19460c48$export$d2353276f167b21f + " aa _tb _wb _xb _yb _zb",
|
|
85
85
|
children: children
|
|
86
86
|
});
|
|
87
87
|
}
|
|
@@ -101,7 +101,7 @@ function $5ad421ec19460c48$export$6069cbe61f690103({ children: children }) {
|
|
|
101
101
|
}
|
|
102
102
|
function $5ad421ec19460c48$export$4b7803c08fe9a32b(styles) {
|
|
103
103
|
let isSkeleton = (0, $cHM3s$useContext)($5ad421ec19460c48$export$74e166679b1f49ee);
|
|
104
|
-
if (isSkeleton) return (0, $feb886035e0d4633$export$e618dc39ac9ad607)("
|
|
104
|
+
if (isSkeleton) return (0, $feb886035e0d4633$export$e618dc39ac9ad607)(" _wb _xb _yb _zb", styles);
|
|
105
105
|
return styles || '';
|
|
106
106
|
}
|
|
107
107
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-spectrum/s2",
|
|
3
|
-
"version": "3.0.0-nightly-
|
|
3
|
+
"version": "3.0.0-nightly-3dbdc1e8e-250214",
|
|
4
4
|
"description": "Spectrum 2 UI components in React",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -57,27 +57,27 @@
|
|
|
57
57
|
"src"
|
|
58
58
|
],
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@react-aria/collections": "3.0.0-nightly-
|
|
61
|
-
"@react-aria/focus": "3.0.0-nightly-
|
|
62
|
-
"@react-aria/i18n": "3.0.0-nightly-
|
|
63
|
-
"@react-aria/interactions": "3.0.0-nightly-
|
|
64
|
-
"@react-aria/live-announcer": "3.0.0-nightly-
|
|
65
|
-
"@react-aria/tree": "3.0.0-nightly-
|
|
66
|
-
"@react-aria/utils": "3.0.0-nightly-
|
|
67
|
-
"@react-spectrum/utils": "3.0.0-nightly-
|
|
68
|
-
"@react-stately/layout": "3.0.0-nightly-
|
|
69
|
-
"@react-stately/utils": "3.0.0-nightly-
|
|
70
|
-
"@react-stately/virtualizer": "3.0.0-nightly-
|
|
71
|
-
"@react-types/color": "3.0.0-nightly-
|
|
72
|
-
"@react-types/dialog": "3.0.0-nightly-
|
|
73
|
-
"@react-types/grid": "3.0.0-nightly-
|
|
74
|
-
"@react-types/provider": "3.0.0-nightly-
|
|
75
|
-
"@react-types/shared": "3.0.0-nightly-
|
|
76
|
-
"@react-types/table": "3.0.0-nightly-
|
|
77
|
-
"@react-types/textfield": "3.0.0-nightly-
|
|
60
|
+
"@react-aria/collections": "3.0.0-nightly-3dbdc1e8e-250214",
|
|
61
|
+
"@react-aria/focus": "3.0.0-nightly-3dbdc1e8e-250214",
|
|
62
|
+
"@react-aria/i18n": "3.0.0-nightly-3dbdc1e8e-250214",
|
|
63
|
+
"@react-aria/interactions": "3.0.0-nightly-3dbdc1e8e-250214",
|
|
64
|
+
"@react-aria/live-announcer": "3.0.0-nightly-3dbdc1e8e-250214",
|
|
65
|
+
"@react-aria/tree": "3.0.0-nightly-3dbdc1e8e-250214",
|
|
66
|
+
"@react-aria/utils": "3.0.0-nightly-3dbdc1e8e-250214",
|
|
67
|
+
"@react-spectrum/utils": "3.0.0-nightly-3dbdc1e8e-250214",
|
|
68
|
+
"@react-stately/layout": "3.0.0-nightly-3dbdc1e8e-250214",
|
|
69
|
+
"@react-stately/utils": "3.0.0-nightly-3dbdc1e8e-250214",
|
|
70
|
+
"@react-stately/virtualizer": "3.0.0-nightly-3dbdc1e8e-250214",
|
|
71
|
+
"@react-types/color": "3.0.0-nightly-3dbdc1e8e-250214",
|
|
72
|
+
"@react-types/dialog": "3.0.0-nightly-3dbdc1e8e-250214",
|
|
73
|
+
"@react-types/grid": "3.0.0-nightly-3dbdc1e8e-250214",
|
|
74
|
+
"@react-types/provider": "3.0.0-nightly-3dbdc1e8e-250214",
|
|
75
|
+
"@react-types/shared": "3.0.0-nightly-3dbdc1e8e-250214",
|
|
76
|
+
"@react-types/table": "3.0.0-nightly-3dbdc1e8e-250214",
|
|
77
|
+
"@react-types/textfield": "3.0.0-nightly-3dbdc1e8e-250214",
|
|
78
78
|
"csstype": "^3.0.2",
|
|
79
|
-
"react-aria": "3.0.0-nightly-
|
|
80
|
-
"react-aria-components": "3.0.0-nightly-
|
|
79
|
+
"react-aria": "3.0.0-nightly-3dbdc1e8e-250214",
|
|
80
|
+
"react-aria-components": "3.0.0-nightly-3dbdc1e8e-250214"
|
|
81
81
|
},
|
|
82
82
|
"peerDependencies": {
|
|
83
83
|
"react": "^18.0.0 || ^19.0.0-rc.1",
|
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,8 +35,8 @@ 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,
|
|
39
|
-
import {
|
|
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
42
|
import {useScale} from './utils';
|
|
@@ -66,10 +66,6 @@ interface TreeRendererContextValue {
|
|
|
66
66
|
}
|
|
67
67
|
const TreeRendererContext = createContext<TreeRendererContextValue>({});
|
|
68
68
|
|
|
69
|
-
function useTreeRendererContext(): TreeRendererContextValue {
|
|
70
|
-
return useContext(TreeRendererContext)!;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
69
|
|
|
74
70
|
let InternalTreeContext = createContext<{isDetached?: boolean, isEmphasized?: boolean}>({});
|
|
75
71
|
|
|
@@ -226,66 +222,21 @@ const treeCellGrid = style({
|
|
|
226
222
|
forcedColors: 'Highlight'
|
|
227
223
|
}
|
|
228
224
|
},
|
|
229
|
-
|
|
230
|
-
default: 'transparent',
|
|
231
|
-
isSelected: {
|
|
232
|
-
isFirst: 'transparent'
|
|
233
|
-
},
|
|
234
|
-
isDetached: {
|
|
235
|
-
default: 'transparent',
|
|
236
|
-
isSelected: '--rowSelectedBorderColor'
|
|
237
|
-
}
|
|
238
|
-
},
|
|
239
|
-
borderInlineEndColor: {
|
|
240
|
-
default: 'transparent',
|
|
241
|
-
isSelected: 'transparent',
|
|
242
|
-
isDetached: {
|
|
243
|
-
default: 'transparent',
|
|
244
|
-
isSelected: '--rowSelectedBorderColor'
|
|
245
|
-
}
|
|
246
|
-
},
|
|
247
|
-
borderBottomColor: {
|
|
248
|
-
default: 'transparent',
|
|
249
|
-
isSelected: 'transparent',
|
|
250
|
-
isNextSelected: 'transparent',
|
|
251
|
-
isNextFocused: 'transparent',
|
|
225
|
+
borderColor: {
|
|
252
226
|
isDetached: {
|
|
253
227
|
default: 'transparent',
|
|
254
228
|
isSelected: '--rowSelectedBorderColor'
|
|
255
229
|
}
|
|
256
230
|
},
|
|
257
|
-
|
|
258
|
-
default: 'transparent',
|
|
259
|
-
isSelected: 'transparent',
|
|
260
|
-
isDetached: {
|
|
261
|
-
default: 'transparent',
|
|
262
|
-
isSelected: '--rowSelectedBorderColor'
|
|
263
|
-
}
|
|
264
|
-
},
|
|
265
|
-
borderTopWidth: {
|
|
266
|
-
default: 0,
|
|
267
|
-
isFirst: {
|
|
268
|
-
default: 1,
|
|
269
|
-
forcedColors: 0
|
|
270
|
-
},
|
|
271
|
-
isDetached: 1
|
|
272
|
-
},
|
|
273
|
-
borderBottomWidth: {
|
|
274
|
-
default: 0,
|
|
275
|
-
isDetached: 1
|
|
276
|
-
},
|
|
277
|
-
borderStartWidth: {
|
|
278
|
-
default: 0,
|
|
279
|
-
isDetached: 1
|
|
280
|
-
},
|
|
281
|
-
borderEndWidth: {
|
|
282
|
-
default: 0,
|
|
231
|
+
borderWidth: {
|
|
283
232
|
isDetached: 1
|
|
284
233
|
},
|
|
285
234
|
borderRadius: {
|
|
286
235
|
isDetached: 'default'
|
|
287
236
|
},
|
|
288
|
-
borderStyle:
|
|
237
|
+
borderStyle: {
|
|
238
|
+
isDetached: 'solid'
|
|
239
|
+
}
|
|
289
240
|
});
|
|
290
241
|
|
|
291
242
|
const treeCheckbox = style({
|
|
@@ -348,92 +299,73 @@ const treeRowFocusIndicator = raw(`
|
|
|
348
299
|
}`
|
|
349
300
|
);
|
|
350
301
|
|
|
351
|
-
|
|
352
302
|
export const TreeViewItem = <T extends object>(props: TreeViewItemProps<T>) => {
|
|
353
303
|
let {
|
|
354
|
-
children,
|
|
355
|
-
childItems,
|
|
356
|
-
hasChildItems,
|
|
357
304
|
href
|
|
358
305
|
} = props;
|
|
359
|
-
|
|
360
|
-
let content;
|
|
361
|
-
let nestedRows;
|
|
362
|
-
let {renderer} = useTreeRendererContext();
|
|
363
306
|
let {isDetached, isEmphasized} = useContext(InternalTreeContext);
|
|
364
|
-
let scale = useScale();
|
|
365
|
-
|
|
366
|
-
if (typeof children === 'string') {
|
|
367
|
-
content = <Text>{children}</Text>;
|
|
368
|
-
} else {
|
|
369
|
-
content = [];
|
|
370
|
-
nestedRows = [];
|
|
371
|
-
React.Children.forEach(children, node => {
|
|
372
|
-
if (isValidElement(node) && node.type === TreeViewItem) {
|
|
373
|
-
nestedRows.push(node);
|
|
374
|
-
} else {
|
|
375
|
-
content.push(node);
|
|
376
|
-
}
|
|
377
|
-
});
|
|
378
|
-
}
|
|
379
|
-
|
|
380
|
-
if (childItems != null && renderer) {
|
|
381
|
-
nestedRows = (
|
|
382
|
-
<Collection items={childItems}>
|
|
383
|
-
{renderer}
|
|
384
|
-
</Collection>
|
|
385
|
-
);
|
|
386
|
-
}
|
|
387
307
|
|
|
388
308
|
return (
|
|
389
309
|
<UNSTABLE_TreeItem
|
|
390
310
|
{...props}
|
|
391
|
-
className={(renderProps) => treeRow({
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
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>
|
|
437
369
|
);
|
|
438
370
|
};
|
|
439
371
|
|
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
|
-
.
|
|
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
|
-
.
|
|
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('"
|
|
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
|
-
.
|
|
76
|
+
.uc {
|
|
77
77
|
border-top-width: 2px;
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
|
|
81
|
-
.
|
|
81
|
+
.vc {
|
|
82
82
|
border-bottom-width: 2px;
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
|
|
86
|
-
.
|
|
87
|
-
border-inline-start-width: var(--
|
|
86
|
+
.s-375toy {
|
|
87
|
+
border-inline-start-width: var(--s);
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
|
|
91
|
-
.
|
|
91
|
+
.tc {
|
|
92
92
|
border-inline-end-width: 2px;
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
|
|
96
|
-
.
|
|
97
|
-
padding-inline-start: var(--
|
|
96
|
+
.C-375tnm {
|
|
97
|
+
padding-inline-start: var(--C);
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
|
|
101
|
-
.
|
|
102
|
-
padding-inline-end: calc(var(--
|
|
101
|
+
.DI {
|
|
102
|
+
padding-inline-end: calc(var(--k, var(--o)) * 3 / 8);
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
|
|
106
|
-
.
|
|
107
|
-
width: calc(200px - var(--
|
|
106
|
+
.l-4s570k {
|
|
107
|
+
width: calc(200px - var(--s) - var(--C));
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
|
|
111
|
-
.-
|
|
112
|
-
--
|
|
111
|
+
.-_375toy_s-c {
|
|
112
|
+
--s: 2px;
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
|
|
116
|
-
.-
|
|
117
|
-
--
|
|
116
|
+
.-_375tnm_C-I {
|
|
117
|
+
--C: calc(var(--k, var(--o)) * 3 / 8);
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
|
|
@@ -669,16 +669,6 @@ const $7dddb03c6ef7d79c$var$borderWidth = {
|
|
|
669
669
|
2: "2px",
|
|
670
670
|
4: "4px"
|
|
671
671
|
};
|
|
672
|
-
const $7dddb03c6ef7d79c$var$borderColor = (0, $b3643cb9d2948e30$exports.createColorProperty)({
|
|
673
|
-
...$7dddb03c6ef7d79c$var$color,
|
|
674
|
-
negative: {
|
|
675
|
-
default: "light-dark(rgb(215, 50, 32), rgb(252, 67, 46))",
|
|
676
|
-
isHovered: "light-dark(rgb(183, 40, 24), rgb(255, 103, 86))",
|
|
677
|
-
isFocusVisible: "light-dark(rgb(183, 40, 24), rgb(255, 103, 86))",
|
|
678
|
-
isPressed: "light-dark(rgb(156, 33, 19), rgb(255, 134, 120))"
|
|
679
|
-
},
|
|
680
|
-
disabled: "light-dark(rgb(218, 218, 218), rgb(57, 57, 57))"
|
|
681
|
-
});
|
|
682
672
|
const $7dddb03c6ef7d79c$var$radius = {
|
|
683
673
|
none: "0px",
|
|
684
674
|
sm: $7dddb03c6ef7d79c$var$pxToRem("4px"),
|
|
@@ -1053,6 +1043,16 @@ const $7dddb03c6ef7d79c$export$1d567c320f4763bc = (0, $b3643cb9d2948e30$exports.
|
|
|
1053
1043
|
pasteboard: "light-dark(rgb(233, 233, 233), rgb(17, 17, 17))",
|
|
1054
1044
|
elevated: "light-dark(rgb(255, 255, 255), rgb(34, 34, 34))"
|
|
1055
1045
|
}),
|
|
1046
|
+
borderColor: (0, $b3643cb9d2948e30$exports.createColorProperty)({
|
|
1047
|
+
...$7dddb03c6ef7d79c$var$color,
|
|
1048
|
+
negative: {
|
|
1049
|
+
default: "light-dark(rgb(215, 50, 32), rgb(252, 67, 46))",
|
|
1050
|
+
isHovered: "light-dark(rgb(183, 40, 24), rgb(255, 103, 86))",
|
|
1051
|
+
isFocusVisible: "light-dark(rgb(183, 40, 24), rgb(255, 103, 86))",
|
|
1052
|
+
isPressed: "light-dark(rgb(156, 33, 19), rgb(255, 134, 120))"
|
|
1053
|
+
},
|
|
1054
|
+
disabled: "light-dark(rgb(218, 218, 218), rgb(57, 57, 57))"
|
|
1055
|
+
}),
|
|
1056
1056
|
outlineColor: (0, $b3643cb9d2948e30$exports.createColorProperty)({
|
|
1057
1057
|
...$7dddb03c6ef7d79c$var$color,
|
|
1058
1058
|
'focus-ring': {
|
|
@@ -1125,10 +1125,6 @@ const $7dddb03c6ef7d79c$export$1d567c320f4763bc = (0, $b3643cb9d2948e30$exports.
|
|
|
1125
1125
|
borderEndWidth: (0, $b3643cb9d2948e30$exports.createRenamedProperty)('borderInlineEndWidth', $7dddb03c6ef7d79c$var$borderWidth),
|
|
1126
1126
|
borderTopWidth: $7dddb03c6ef7d79c$var$borderWidth,
|
|
1127
1127
|
borderBottomWidth: $7dddb03c6ef7d79c$var$borderWidth,
|
|
1128
|
-
borderInlineStartColor: $7dddb03c6ef7d79c$var$borderColor,
|
|
1129
|
-
borderInlineEndColor: $7dddb03c6ef7d79c$var$borderColor,
|
|
1130
|
-
borderTopColor: $7dddb03c6ef7d79c$var$borderColor,
|
|
1131
|
-
borderBottomColor: $7dddb03c6ef7d79c$var$borderColor,
|
|
1132
1128
|
borderStyle: [
|
|
1133
1129
|
'solid',
|
|
1134
1130
|
'dashed',
|
|
@@ -1923,12 +1919,6 @@ const $7dddb03c6ef7d79c$export$1d567c320f4763bc = (0, $b3643cb9d2948e30$exports.
|
|
|
1923
1919
|
'borderStartWidth',
|
|
1924
1920
|
'borderEndWidth'
|
|
1925
1921
|
],
|
|
1926
|
-
borderColor: [
|
|
1927
|
-
'borderTopColor',
|
|
1928
|
-
'borderBottomColor',
|
|
1929
|
-
'borderInlineStartColor',
|
|
1930
|
-
'borderInlineEndColor'
|
|
1931
|
-
],
|
|
1932
1922
|
borderXWidth: [
|
|
1933
1923
|
'borderStartWidth',
|
|
1934
1924
|
'borderEndWidth'
|