akeneo-design-system 1.0.2 → 1.0.3
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/lib/components/Tree/Tree.d.ts +2 -1
- package/lib/components/Tree/Tree.js +3 -2
- package/lib/components/Tree/Tree.js.map +1 -1
- package/package.json +1 -1
- package/src/__image_snapshots__/all-visual-tsx-visual-tests-renders-components-tree-default-open-correctly-1-snap.png +0 -0
- package/src/components/Tree/Tree.stories.mdx +34 -4
- package/src/components/Tree/Tree.tsx +4 -1
|
@@ -12,11 +12,12 @@ type TreeProps<T = string> = {
|
|
|
12
12
|
onClose?: (value: T) => void;
|
|
13
13
|
onChange?: (value: T, checked: boolean, event: SyntheticEvent) => void;
|
|
14
14
|
onClick?: (value: T) => void;
|
|
15
|
+
defaultOpen?: boolean;
|
|
15
16
|
_isRoot?: boolean;
|
|
16
17
|
children?: ReactNode;
|
|
17
18
|
};
|
|
18
19
|
declare const Tree: {
|
|
19
|
-
<T>({ label, value, children, isLeaf, selected, isLoading, selectable, readOnly, onChange, onOpen, onClose, onClick, _isRoot, ...rest }: React.PropsWithChildren<TreeProps<T>>): React.JSX.Element;
|
|
20
|
+
<T>({ label, value, children, isLeaf, selected, isLoading, selectable, readOnly, onChange, onOpen, onClose, onClick, defaultOpen, _isRoot, ...rest }: React.PropsWithChildren<TreeProps<T>>): React.JSX.Element;
|
|
20
21
|
displayName: string;
|
|
21
22
|
};
|
|
22
23
|
export { Tree };
|
|
@@ -91,7 +91,7 @@ var TreeIcon = function (_a) {
|
|
|
91
91
|
return selected ? react_1.default.createElement(TreeFolderSelectedIcon, { size: 24 }) : react_1.default.createElement(TreeFolderNotSelectedIcon, { size: 24 });
|
|
92
92
|
};
|
|
93
93
|
var Tree = function (_a) {
|
|
94
|
-
var label = _a.label, value = _a.value, children = _a.children, _b = _a.isLeaf, isLeaf = _b === void 0 ? false : _b, _c = _a.selected, selected = _c === void 0 ? false : _c, _d = _a.isLoading, isLoading = _d === void 0 ? false : _d, _e = _a.selectable, selectable = _e === void 0 ? false : _e, _f = _a.readOnly, readOnly = _f === void 0 ? false : _f, onChange = _a.onChange, onOpen = _a.onOpen, onClose = _a.onClose, onClick = _a.onClick, _g = _a._isRoot, _isRoot =
|
|
94
|
+
var label = _a.label, value = _a.value, children = _a.children, _b = _a.isLeaf, isLeaf = _b === void 0 ? false : _b, _c = _a.selected, selected = _c === void 0 ? false : _c, _d = _a.isLoading, isLoading = _d === void 0 ? false : _d, _e = _a.selectable, selectable = _e === void 0 ? false : _e, _f = _a.readOnly, readOnly = _f === void 0 ? false : _f, onChange = _a.onChange, onOpen = _a.onOpen, onClose = _a.onClose, onClick = _a.onClick, _g = _a.defaultOpen, defaultOpen = _g === void 0 ? false : _g, _h = _a._isRoot, _isRoot = _h === void 0 ? true : _h, rest = __rest(_a, ["label", "value", "children", "isLeaf", "selected", "isLoading", "selectable", "readOnly", "onChange", "onOpen", "onClose", "onClick", "defaultOpen", "_isRoot"]);
|
|
95
95
|
var subTrees = [];
|
|
96
96
|
react_1.default.Children.forEach(children, function (child) {
|
|
97
97
|
if (!(0, react_1.isValidElement)(child)) {
|
|
@@ -108,7 +108,7 @@ var Tree = function (_a) {
|
|
|
108
108
|
selected = 'mixed';
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
|
-
var
|
|
111
|
+
var _j = react_1.default.useState(_isRoot || defaultOpen ? subTrees.length > 0 : false), isOpen = _j[0], setOpen = _j[1];
|
|
112
112
|
var handleOpen = react_1.default.useCallback(function () {
|
|
113
113
|
setOpen(true);
|
|
114
114
|
if (onOpen) {
|
|
@@ -150,6 +150,7 @@ var Tree = function (_a) {
|
|
|
150
150
|
isOpen && !isLeaf && subTrees.length > 0 && (react_1.default.createElement(SubTreesContainer, { role: "group" }, subTrees.map(function (subTree) {
|
|
151
151
|
return react_1.default.cloneElement(subTree, {
|
|
152
152
|
key: JSON.stringify(subTree.props.value),
|
|
153
|
+
defaultOpen: defaultOpen,
|
|
153
154
|
_isRoot: false,
|
|
154
155
|
});
|
|
155
156
|
})))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tree.js","sourceRoot":"","sources":["../../../src/components/Tree/Tree.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Tree.js","sourceRoot":"","sources":["../../../src/components/Tree/Tree.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
Binary file
|
|
@@ -38,6 +38,9 @@ import {Tree} from './Tree.tsx';
|
|
|
38
38
|
onClick:{
|
|
39
39
|
description: 'Triggered when the user clicks on a node. If not specified, a click opens or closes the node.'
|
|
40
40
|
},
|
|
41
|
+
defaultOpen:{
|
|
42
|
+
description: 'Allow to open automatically children when present.'
|
|
43
|
+
},
|
|
41
44
|
_isRoot:{
|
|
42
45
|
table:{
|
|
43
46
|
disable: true
|
|
@@ -171,15 +174,42 @@ The Tree component uses its value to trigger onOpen, onClose and other events. B
|
|
|
171
174
|
return (
|
|
172
175
|
<>
|
|
173
176
|
<Tree {...args} label='Indeterminate' selectable={true}>
|
|
174
|
-
<Tree {...args} label='Child1' selectable={true} selected={true} />
|
|
175
|
-
<Tree {...args} label='Child2' selectable={true} />
|
|
177
|
+
<Tree {...args} label='Child1' isLeaf={true} selectable={true} selected={true} />
|
|
178
|
+
<Tree {...args} label='Child2' isLeaf={true} selectable={true} />
|
|
176
179
|
</Tree>
|
|
177
180
|
<Tree {...args} label='All Checked' selectable={true}>
|
|
178
|
-
<Tree {...args} label='Child1' selectable={true} selected={true} />
|
|
179
|
-
<Tree {...args} label='Child2' selectable={true} selected={true}/>
|
|
181
|
+
<Tree {...args} label='Child1' isLeaf={true} selectable={true} selected={true} />
|
|
182
|
+
<Tree {...args} label='Child2' isLeaf={true} selectable={true} selected={true}/>
|
|
180
183
|
</Tree>
|
|
181
184
|
</>
|
|
182
185
|
);
|
|
183
186
|
}}
|
|
184
187
|
</Story>
|
|
185
188
|
</Canvas>
|
|
189
|
+
|
|
190
|
+
## Variation with open children when present
|
|
191
|
+
|
|
192
|
+
<Canvas>
|
|
193
|
+
<Story name="defaultOpen">
|
|
194
|
+
{args => {
|
|
195
|
+
return (
|
|
196
|
+
<>
|
|
197
|
+
<Tree {...args} label='Parent1' defaultOpen={true}>
|
|
198
|
+
<Tree {...args} label='Child1'>
|
|
199
|
+
<Tree {...args} label='Child1 Sub1' isLeaf={true} />
|
|
200
|
+
<Tree {...args} label='Child1 Sub2' isLeaf={true} />
|
|
201
|
+
</Tree>
|
|
202
|
+
<Tree {...args} label='Child2' isLeaf={true} />
|
|
203
|
+
</Tree>
|
|
204
|
+
<Tree {...args} label='Parent 2' defaultOpen={true}>
|
|
205
|
+
<Tree {...args} label='Child1' isLeaf={true} />
|
|
206
|
+
<Tree {...args} label='Child2'>
|
|
207
|
+
<Tree {...args} label='Child2 Sub1' isLeaf={true} />
|
|
208
|
+
<Tree {...args} label='Child2 Sub2' isLeaf={true} />
|
|
209
|
+
</Tree>
|
|
210
|
+
</Tree>
|
|
211
|
+
</>
|
|
212
|
+
);
|
|
213
|
+
}}
|
|
214
|
+
</Story>
|
|
215
|
+
</Canvas>
|
|
@@ -141,6 +141,7 @@ type TreeProps<T = string> = {
|
|
|
141
141
|
onClose?: (value: T) => void;
|
|
142
142
|
onChange?: (value: T, checked: boolean, event: SyntheticEvent) => void;
|
|
143
143
|
onClick?: (value: T) => void;
|
|
144
|
+
defaultOpen?: boolean;
|
|
144
145
|
_isRoot?: boolean;
|
|
145
146
|
children?: ReactNode;
|
|
146
147
|
};
|
|
@@ -158,6 +159,7 @@ const Tree = <T,>({
|
|
|
158
159
|
onOpen,
|
|
159
160
|
onClose,
|
|
160
161
|
onClick,
|
|
162
|
+
defaultOpen = false,
|
|
161
163
|
_isRoot = true,
|
|
162
164
|
...rest
|
|
163
165
|
}: PropsWithChildren<TreeProps<T>>) => {
|
|
@@ -180,7 +182,7 @@ const Tree = <T,>({
|
|
|
180
182
|
}
|
|
181
183
|
}
|
|
182
184
|
|
|
183
|
-
const [isOpen, setOpen] = React.useState<boolean>(_isRoot ? subTrees.length > 0 : false);
|
|
185
|
+
const [isOpen, setOpen] = React.useState<boolean>(_isRoot || defaultOpen ? subTrees.length > 0 : false);
|
|
184
186
|
|
|
185
187
|
const handleOpen = React.useCallback(() => {
|
|
186
188
|
setOpen(true);
|
|
@@ -241,6 +243,7 @@ const Tree = <T,>({
|
|
|
241
243
|
{subTrees.map(subTree =>
|
|
242
244
|
React.cloneElement(subTree, {
|
|
243
245
|
key: JSON.stringify(subTree.props.value),
|
|
246
|
+
defaultOpen: defaultOpen,
|
|
244
247
|
_isRoot: false,
|
|
245
248
|
})
|
|
246
249
|
)}
|