@salutejs/plasma-new-hope 0.330.0-canary.2085.16321271145.0 → 0.330.0-canary.2091.16388455946.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Tree/Tree.css +6 -6
- package/cjs/components/Tree/Tree.js +22 -6
- package/cjs/components/Tree/Tree.js.map +1 -1
- package/cjs/components/Tree/Tree.styles.js +1 -1
- package/cjs/components/Tree/Tree.styles.js.map +1 -1
- package/cjs/components/Tree/{Tree.styles_2v5lpb.css → Tree.styles_1d34sho.css} +1 -1
- package/cjs/components/Tree/Tree.tokens.js +6 -2
- package/cjs/components/Tree/Tree.tokens.js.map +1 -1
- package/cjs/components/Tree/utils/traverseTree.js +64 -0
- package/cjs/components/Tree/utils/traverseTree.js.map +1 -0
- package/cjs/index.css +6 -6
- package/emotion/cjs/components/Tree/Tree.js +66 -6
- package/emotion/cjs/components/Tree/Tree.styles.js +13 -13
- package/emotion/cjs/components/Tree/Tree.tokens.js +6 -2
- package/emotion/cjs/components/Tree/utils/index.js +12 -3
- package/emotion/cjs/components/Tree/utils/traverseTree.js +131 -0
- package/emotion/cjs/examples/components/Combobox/Combobox.js +0 -15
- package/emotion/cjs/examples/components/Tree/Tree.config.js +5 -5
- package/emotion/es/components/Tree/Tree.js +68 -8
- package/emotion/es/components/Tree/Tree.styles.js +13 -13
- package/emotion/es/components/Tree/Tree.tokens.js +6 -2
- package/emotion/es/components/Tree/utils/index.js +1 -0
- package/emotion/es/components/Tree/utils/traverseTree.js +116 -0
- package/emotion/es/examples/components/Combobox/Combobox.js +7 -0
- package/emotion/es/examples/components/Tree/Tree.config.js +5 -5
- package/es/components/Tree/Tree.css +6 -6
- package/es/components/Tree/Tree.js +24 -8
- package/es/components/Tree/Tree.js.map +1 -1
- package/es/components/Tree/Tree.styles.js +1 -1
- package/es/components/Tree/Tree.styles.js.map +1 -1
- package/es/components/Tree/{Tree.styles_2v5lpb.css → Tree.styles_1d34sho.css} +1 -1
- package/es/components/Tree/Tree.tokens.js +6 -2
- package/es/components/Tree/Tree.tokens.js.map +1 -1
- package/es/components/Tree/utils/traverseTree.js +56 -0
- package/es/components/Tree/utils/traverseTree.js.map +1 -0
- package/es/index.css +6 -6
- package/package.json +2 -2
- package/styled-components/cjs/components/Tree/Tree.js +66 -6
- package/styled-components/cjs/components/Tree/Tree.styles.js +16 -10
- package/styled-components/cjs/components/Tree/Tree.tokens.js +6 -2
- package/styled-components/cjs/components/Tree/utils/index.js +12 -3
- package/styled-components/cjs/components/Tree/utils/traverseTree.js +131 -0
- package/styled-components/cjs/examples/components/Tree/Tree.config.js +3 -1
- package/styled-components/es/components/Tree/Tree.js +68 -8
- package/styled-components/es/components/Tree/Tree.styles.js +16 -10
- package/styled-components/es/components/Tree/Tree.tokens.js +6 -2
- package/styled-components/es/components/Tree/utils/index.js +1 -0
- package/styled-components/es/components/Tree/utils/traverseTree.js +116 -0
- package/styled-components/es/examples/components/Combobox/Combobox.js +0 -7
- package/styled-components/es/examples/components/Tree/Tree.config.js +3 -1
- package/types/components/Tree/Tree.d.ts.map +1 -1
- package/types/components/Tree/Tree.styles.d.ts.map +1 -1
- package/types/components/Tree/Tree.tokens.d.ts +5 -1
- package/types/components/Tree/Tree.tokens.d.ts.map +1 -1
- package/types/components/Tree/Tree.types.d.ts +14 -12
- package/types/components/Tree/Tree.types.d.ts.map +1 -1
- package/types/components/Tree/utils/index.d.ts +1 -0
- package/types/components/Tree/utils/index.d.ts.map +1 -1
- package/types/components/Tree/utils/traverseTree.d.ts +4 -0
- package/types/components/Tree/utils/traverseTree.d.ts.map +1 -0
@@ -78,7 +78,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
78
78
|
}
|
79
79
|
var IconArrowWrapper = _styledcomponents.default.div.withConfig({
|
80
80
|
displayName: "Tree.styles__IconArrowWrapper",
|
81
|
-
componentId: "sc-
|
81
|
+
componentId: "sc-b94b5aad-0"
|
82
82
|
})([
|
83
83
|
"line-height:0;color:var(",
|
84
84
|
");&:hover{color:var(",
|
@@ -87,19 +87,19 @@ var IconArrowWrapper = _styledcomponents.default.div.withConfig({
|
|
87
87
|
], _Treetokens.treeTokens.arrowColor, _Treetokens.treeTokens.arrowColorHover, _Treetokens.treeTokens.arrowColorActive);
|
88
88
|
var StyledArrow = (0, _styledcomponents.default)(_Icon.IconDisclosureRightCentered).withConfig({
|
89
89
|
displayName: "Tree.styles__StyledArrow",
|
90
|
-
componentId: "sc-
|
90
|
+
componentId: "sc-b94b5aad-1"
|
91
91
|
})([
|
92
92
|
"transition:color 0.3s ease-in,transform 0.15s ease-in;pointer-events:none;user-select:none;"
|
93
93
|
]);
|
94
94
|
var StyledFolder = (0, _styledcomponents.default)(_Icon.IconFolder).withConfig({
|
95
95
|
displayName: "Tree.styles__StyledFolder",
|
96
|
-
componentId: "sc-
|
96
|
+
componentId: "sc-b94b5aad-2"
|
97
97
|
})([
|
98
98
|
""
|
99
99
|
]);
|
100
100
|
var TitleWrapper = _styledcomponents.default.div.withConfig({
|
101
101
|
displayName: "Tree.styles__TitleWrapper",
|
102
|
-
componentId: "sc-
|
102
|
+
componentId: "sc-b94b5aad-3"
|
103
103
|
})([
|
104
104
|
"display:flex;align-items:center;justify-content:space-between;margin:",
|
105
105
|
";",
|
@@ -110,7 +110,7 @@ var TitleWrapper = _styledcomponents.default.div.withConfig({
|
|
110
110
|
}, (0, _mixins.applyEllipsis)());
|
111
111
|
var Title = _styledcomponents.default.span.withConfig({
|
112
112
|
displayName: "Tree.styles__Title",
|
113
|
-
componentId: "sc-
|
113
|
+
componentId: "sc-b94b5aad-4"
|
114
114
|
})([
|
115
115
|
"margin:var(",
|
116
116
|
");",
|
@@ -118,7 +118,7 @@ var Title = _styledcomponents.default.span.withConfig({
|
|
118
118
|
], _Treetokens.treeTokens.iconFolderMargin, (0, _mixins.applyEllipsis)());
|
119
119
|
var ContentRight = _styledcomponents.default.div.withConfig({
|
120
120
|
displayName: "Tree.styles__ContentRight",
|
121
|
-
componentId: "sc-
|
121
|
+
componentId: "sc-b94b5aad-5"
|
122
122
|
})([
|
123
123
|
"line-height:0;"
|
124
124
|
]);
|
@@ -139,8 +139,12 @@ var base = (0, _styledcomponents.css)([
|
|
139
139
|
");right:0;background:transparent;border-radius:var(",
|
140
140
|
");}.rc-tree .rc-tree-treenode.rc-tree-treenode-disabled{opacity:var(",
|
141
141
|
");}.rc-tree.",
|
142
|
-
" .rc-tree-treenode::before{inset:0;border-radius:0;}.rc-tree .rc-tree-treenode.
|
143
|
-
"
|
142
|
+
" .rc-tree-treenode::before{inset:0;border-radius:0;}.rc-tree .rc-tree-treenode.",
|
143
|
+
"::before{background:var(",
|
144
|
+
");}.rc-tree .rc-tree-treenode.",
|
145
|
+
"::before{background:var(",
|
146
|
+
");}.rc-tree .rc-tree-treenode.rc-tree-treenode-selected::before{background:var(",
|
147
|
+
");}.rc-tree .rc-tree-treenode:not(.rc-tree-treenode-disabled):hover::before{background:var(",
|
144
148
|
");}.rc-tree .rc-tree-treenode:not(.rc-tree-treenode-disabled):active::before{background:var(",
|
145
149
|
");}.rc-tree .rc-tree-treenode .rc-tree-node-content-wrapper{display:flex;align-items:center;align-self:stretch;height:auto;flex:1;min-width:max-content;}.rc-tree .rc-tree-treenode span.rc-tree-switcher{width:var(",
|
146
150
|
");height:var(",
|
@@ -168,10 +172,12 @@ var base = (0, _styledcomponents.css)([
|
|
168
172
|
");font-weight:var(",
|
169
173
|
");letter-spacing:var(",
|
170
174
|
");line-height:var(",
|
171
|
-
");}.rc-tree.
|
175
|
+
");}.rc-tree.",
|
176
|
+
" .rc-tree-treenode span.rc-tree-switcher{order:1;}.rc-tree.",
|
177
|
+
" .rc-tree-treenode::before{left:0;}.rc-tree-node-selected{opacity:1;box-shadow:none;background:none;}.rc-tree-node-selected .rc-tree-title{color:var(",
|
172
178
|
");}.rc-tree .rc-tree-treenode.rc-tree-treenode-disabled .rc-tree-title{color:var(",
|
173
179
|
");}.rc-tree-node-selected .rc-tree-icon__customize{color:var(",
|
174
180
|
");}.rc-tree .rc-tree-treenode.rc-tree-treenode-disabled .rc-tree-icon__customize{color:var(",
|
175
181
|
");;}.rc-tree-indent-unit{width:var(",
|
176
182
|
");}"
|
177
|
-
], _Treetokens.treeTokens.color, _Treetokens.classes.treeInverted, _Treetokens.treeTokens.iconFolderColor, _Treetokens.treeTokens.iconFolderMargin, _Treetokens.treeTokens.itemHeight, _Treetokens.classes.treeItemFilled, _Treetokens.treeTokens.itemPadding, _Treetokens.classes.treeInverted, _Treetokens.classes.treeItemFilled, _Treetokens.treeTokens.itemPaddingTight, _Treetokens.treeTokens.itemTop, _Treetokens.treeTokens.itemBottom, _Treetokens.treeTokens.switcherSize, _Treetokens.treeTokens.itemBorderRadius, _Treetokens.treeTokens.itemDisabledOpacity, _Treetokens.classes.treeItemFilled, _Treetokens.treeTokens.
|
183
|
+
], _Treetokens.treeTokens.color, _Treetokens.classes.treeInverted, _Treetokens.treeTokens.iconFolderColor, _Treetokens.treeTokens.iconFolderMargin, _Treetokens.treeTokens.itemHeight, _Treetokens.classes.treeItemFilled, _Treetokens.treeTokens.itemPadding, _Treetokens.classes.treeInverted, _Treetokens.classes.treeItemFilled, _Treetokens.treeTokens.itemPaddingTight, _Treetokens.treeTokens.itemTop, _Treetokens.treeTokens.itemBottom, _Treetokens.treeTokens.switcherSize, _Treetokens.treeTokens.itemBorderRadius, _Treetokens.treeTokens.itemDisabledOpacity, _Treetokens.classes.treeItemFilled, _Treetokens.classes.closestParentHasSelectedChildren, _Treetokens.treeTokens.itemBackgroundColorClosestParentHasSelectedChildren, _Treetokens.classes.parentHasSelectedChildren, _Treetokens.treeTokens.itemBackgroundColorParentHasSelectedChildren, _Treetokens.treeTokens.itemBackgroundColorSelected, _Treetokens.treeTokens.itemBackgroundColorHover, _Treetokens.treeTokens.itemBackgroundColorActive, _Treetokens.treeTokens.switcherSize, _Treetokens.treeTokens.switcherSize, _Treetokens.treeTokens.switcherMargin, _Treetokens.classes.treeInverted, _Treetokens.treeTokens.switcherMarginInverted, _Treetokens.classes.treeInverted, _Treetokens.classes.treeInverted, _Treetokens.treeTokens.checkboxSize, _Treetokens.treeTokens.checkboxSize, _Treetokens.treeTokens.checkboxMargin, _Treetokens.treeTokens.checkboxInnerSize, _Treetokens.treeTokens.checkboxInnerSize, _Treetokens.treeTokens.checkboxBorderColor, _Treetokens.treeTokens.checkboxBorderRadius, _Treetokens.treeTokens.itemDisabledBorderColor, _Treetokens.treeTokens.checkboxBackgroundColor, _Treetokens.treeTokens.checkboxBackgroundColor, _Treetokens.treeTokens.checkboxBackgroundColor, _Treetokens.treeTokens.checkboxBackgroundColor, _Treetokens.treeTokens.color, _Treetokens.treeTokens.fontFamily, _Treetokens.treeTokens.fontSize, _Treetokens.treeTokens.fontStyle, _Treetokens.treeTokens.fontWeight, _Treetokens.treeTokens.letterSpacing, _Treetokens.treeTokens.lineHeight, _Treetokens.classes.treeInverted, _Treetokens.classes.treeInverted, _Treetokens.treeTokens.colorSelected, _Treetokens.treeTokens.itemDisabledColor, _Treetokens.treeTokens.colorSelected, _Treetokens.treeTokens.itemDisabledColor, _Treetokens.treeTokens.itemIndent);
|
@@ -18,7 +18,9 @@ _export(exports, {
|
|
18
18
|
});
|
19
19
|
var classes = {
|
20
20
|
treeInverted: 'tree-inverted',
|
21
|
-
treeItemFilled: 'tree-item-filled'
|
21
|
+
treeItemFilled: 'tree-item-filled',
|
22
|
+
parentHasSelectedChildren: 'tree-parent-has-selected-children',
|
23
|
+
closestParentHasSelectedChildren: 'tree-closest-parent-has-selected-children'
|
22
24
|
};
|
23
25
|
var treeTokens = {
|
24
26
|
arrowColor: '--plasma-tree-arrow-color',
|
@@ -50,7 +52,9 @@ var treeTokens = {
|
|
50
52
|
checkboxMargin: '--plasma-tree-checkbox-margin',
|
51
53
|
checkboxBorderColor: '--plasma-tree-checkbox-border-color',
|
52
54
|
checkboxBackgroundColor: '--plasma-tree-checkbox-background-color',
|
53
|
-
|
55
|
+
itemBackgroundColorSelected: '--plasma-tree-item-background-color-selected',
|
56
|
+
itemBackgroundColorParentHasSelectedChildren: '--plasma-tree-item-background-color-parent-has-selected-children',
|
57
|
+
itemBackgroundColorClosestParentHasSelectedChildren: '--plasma-tree-item-background-color-closest-parent-has-selected-children',
|
54
58
|
itemBackgroundColorHover: '--plasma-tree-item-background-color-hover',
|
55
59
|
itemBackgroundColorActive: '--plasma-tree-item-background-color-active',
|
56
60
|
itemDisabledOpacity: '--plasma-tree-item-disabled-opacity',
|
@@ -2,10 +2,19 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
3
3
|
value: true
|
4
4
|
});
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
function _export(target, all) {
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
7
|
+
enumerable: true,
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
9
|
+
});
|
10
|
+
}
|
11
|
+
_export(exports, {
|
12
|
+
get sizeToIconSize () {
|
8
13
|
return _sizeToIconSize.sizeToIconSize;
|
14
|
+
},
|
15
|
+
get traverseTree () {
|
16
|
+
return _traverseTree.traverseTree;
|
9
17
|
}
|
10
18
|
});
|
11
19
|
var _sizeToIconSize = require("./sizeToIconSize");
|
20
|
+
var _traverseTree = require("./traverseTree");
|
@@ -0,0 +1,131 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "traverseTree", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return traverseTree;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
var _dedupe = /*#__PURE__*/ _interop_require_default(require("classnames/dedupe"));
|
12
|
+
var _Treetokens = require("../Tree.tokens");
|
13
|
+
function _array_like_to_array(arr, len) {
|
14
|
+
if (len == null || len > arr.length) len = arr.length;
|
15
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
16
|
+
return arr2;
|
17
|
+
}
|
18
|
+
function _array_with_holes(arr) {
|
19
|
+
if (Array.isArray(arr)) return arr;
|
20
|
+
}
|
21
|
+
function _array_without_holes(arr) {
|
22
|
+
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
23
|
+
}
|
24
|
+
function _interop_require_default(obj) {
|
25
|
+
return obj && obj.__esModule ? obj : {
|
26
|
+
default: obj
|
27
|
+
};
|
28
|
+
}
|
29
|
+
function _iterable_to_array(iter) {
|
30
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
31
|
+
}
|
32
|
+
function _iterable_to_array_limit(arr, i) {
|
33
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
34
|
+
if (_i == null) return;
|
35
|
+
var _arr = [];
|
36
|
+
var _n = true;
|
37
|
+
var _d = false;
|
38
|
+
var _s, _e;
|
39
|
+
try {
|
40
|
+
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
41
|
+
_arr.push(_s.value);
|
42
|
+
if (i && _arr.length === i) break;
|
43
|
+
}
|
44
|
+
} catch (err) {
|
45
|
+
_d = true;
|
46
|
+
_e = err;
|
47
|
+
} finally{
|
48
|
+
try {
|
49
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
50
|
+
} finally{
|
51
|
+
if (_d) throw _e;
|
52
|
+
}
|
53
|
+
}
|
54
|
+
return _arr;
|
55
|
+
}
|
56
|
+
function _non_iterable_rest() {
|
57
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
58
|
+
}
|
59
|
+
function _non_iterable_spread() {
|
60
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
61
|
+
}
|
62
|
+
function _sliced_to_array(arr, i) {
|
63
|
+
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
64
|
+
}
|
65
|
+
function _to_consumable_array(arr) {
|
66
|
+
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
67
|
+
}
|
68
|
+
function _type_of(obj) {
|
69
|
+
"@swc/helpers - typeof";
|
70
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
71
|
+
}
|
72
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
73
|
+
if (!o) return;
|
74
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
75
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
76
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
77
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
78
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
79
|
+
}
|
80
|
+
// Blazing-fast хелпер для глубокого копирования объектов.
|
81
|
+
// Ссылки на функции (React-компоненты) сохраняются.
|
82
|
+
var deepCopy = function(obj) {
|
83
|
+
if (obj === null || (typeof obj === "undefined" ? "undefined" : _type_of(obj)) !== 'object') {
|
84
|
+
return obj;
|
85
|
+
}
|
86
|
+
if (Array.isArray(obj)) {
|
87
|
+
return obj.map(function(item) {
|
88
|
+
return deepCopy(item);
|
89
|
+
});
|
90
|
+
}
|
91
|
+
if (obj.type && (typeof obj.type === 'function' || typeof obj.type === 'string')) {
|
92
|
+
return obj;
|
93
|
+
}
|
94
|
+
return Object.fromEntries(Object.entries(obj).map(function(param) {
|
95
|
+
var _param = _sliced_to_array(param, 2), key = _param[0], value = _param[1];
|
96
|
+
return [
|
97
|
+
key,
|
98
|
+
deepCopy(value)
|
99
|
+
];
|
100
|
+
}));
|
101
|
+
};
|
102
|
+
var dfs = function(node, selectedKeys, parents) {
|
103
|
+
var selected = selectedKeys.has(node.key);
|
104
|
+
if (node.children) {
|
105
|
+
node.children = node.children.map(function(childNode) {
|
106
|
+
return dfs(childNode, selectedKeys, _to_consumable_array(parents).concat([
|
107
|
+
node
|
108
|
+
]));
|
109
|
+
});
|
110
|
+
}
|
111
|
+
if (selected && parents.length > 0) {
|
112
|
+
var _parents_at_children, _parents_at;
|
113
|
+
parents.forEach(function(parent) {
|
114
|
+
parent.className = (0, _dedupe.default)(parent.className, _Treetokens.classes.parentHasSelectedChildren);
|
115
|
+
});
|
116
|
+
(_parents_at = parents.at(-1)) === null || _parents_at === void 0 ? void 0 : (_parents_at_children = _parents_at.children) === null || _parents_at_children === void 0 ? void 0 : _parents_at_children.forEach(function(childNode) {
|
117
|
+
childNode.className = (0, _dedupe.default)(childNode.className, _Treetokens.classes.closestParentHasSelectedChildren);
|
118
|
+
});
|
119
|
+
}
|
120
|
+
return node;
|
121
|
+
};
|
122
|
+
var traverseTree = function(items, selectedKeys) {
|
123
|
+
if (!selectedKeys || selectedKeys.length === 0) {
|
124
|
+
return items;
|
125
|
+
}
|
126
|
+
var copyItems = deepCopy(items);
|
127
|
+
return dfs({
|
128
|
+
key: 'root',
|
129
|
+
children: copyItems
|
130
|
+
}, new Set(selectedKeys), []).children;
|
131
|
+
};
|
@@ -25,7 +25,9 @@ var config = {
|
|
25
25
|
":var(--text-secondary-active);",
|
26
26
|
":var(--text-secondary);",
|
27
27
|
":var(--text-primary);",
|
28
|
+
":var(--surface-transparent-tertiary);",
|
28
29
|
":var(--surface-transparent-secondary);",
|
30
|
+
":var(--surface-transparent-primary);",
|
29
31
|
":var(--surface-transparent-secondary-hover);",
|
30
32
|
":var(--surface-transparent-secondary-active);",
|
31
33
|
":var(--text-secondary);",
|
@@ -33,7 +35,7 @@ var config = {
|
|
33
35
|
":0.4;",
|
34
36
|
":var(--text-secondary);",
|
35
37
|
":var(--text-secondary);"
|
36
|
-
], _Treetokens.treeTokens.iconFolderColor, _Treetokens.treeTokens.arrowColor, _Treetokens.treeTokens.arrowColorHover, _Treetokens.treeTokens.arrowColorActive, _Treetokens.treeTokens.color, _Treetokens.treeTokens.colorSelected, _Treetokens.treeTokens.
|
38
|
+
], _Treetokens.treeTokens.iconFolderColor, _Treetokens.treeTokens.arrowColor, _Treetokens.treeTokens.arrowColorHover, _Treetokens.treeTokens.arrowColorActive, _Treetokens.treeTokens.color, _Treetokens.treeTokens.colorSelected, _Treetokens.treeTokens.itemBackgroundColorSelected, _Treetokens.treeTokens.itemBackgroundColorParentHasSelectedChildren, _Treetokens.treeTokens.itemBackgroundColorClosestParentHasSelectedChildren, _Treetokens.treeTokens.itemBackgroundColorHover, _Treetokens.treeTokens.itemBackgroundColorActive, _Treetokens.treeTokens.checkboxBorderColor, _Treetokens.treeTokens.checkboxBackgroundColor, _Treetokens.treeTokens.itemDisabledOpacity, _Treetokens.treeTokens.itemDisabledBorderColor, _Treetokens.treeTokens.itemDisabledColor)
|
37
39
|
},
|
38
40
|
size: {
|
39
41
|
l: (0, _styledcomponents.css)([
|
@@ -1,3 +1,11 @@
|
|
1
|
+
function _array_like_to_array(arr, len) {
|
2
|
+
if (len == null || len > arr.length) len = arr.length;
|
3
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
4
|
+
return arr2;
|
5
|
+
}
|
6
|
+
function _array_with_holes(arr) {
|
7
|
+
if (Array.isArray(arr)) return arr;
|
8
|
+
}
|
1
9
|
function _define_property(obj, key, value) {
|
2
10
|
if (key in obj) {
|
3
11
|
Object.defineProperty(obj, key, {
|
@@ -11,6 +19,33 @@ function _define_property(obj, key, value) {
|
|
11
19
|
}
|
12
20
|
return obj;
|
13
21
|
}
|
22
|
+
function _iterable_to_array_limit(arr, i) {
|
23
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
24
|
+
if (_i == null) return;
|
25
|
+
var _arr = [];
|
26
|
+
var _n = true;
|
27
|
+
var _d = false;
|
28
|
+
var _s, _e;
|
29
|
+
try {
|
30
|
+
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
31
|
+
_arr.push(_s.value);
|
32
|
+
if (i && _arr.length === i) break;
|
33
|
+
}
|
34
|
+
} catch (err) {
|
35
|
+
_d = true;
|
36
|
+
_e = err;
|
37
|
+
} finally{
|
38
|
+
try {
|
39
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
40
|
+
} finally{
|
41
|
+
if (_d) throw _e;
|
42
|
+
}
|
43
|
+
}
|
44
|
+
return _arr;
|
45
|
+
}
|
46
|
+
function _non_iterable_rest() {
|
47
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
48
|
+
}
|
14
49
|
function _object_spread(target) {
|
15
50
|
for(var i = 1; i < arguments.length; i++){
|
16
51
|
var source = arguments[i] != null ? arguments[i] : {};
|
@@ -50,19 +85,46 @@ function _object_spread_props(target, source) {
|
|
50
85
|
}
|
51
86
|
return target;
|
52
87
|
}
|
53
|
-
|
88
|
+
function _sliced_to_array(arr, i) {
|
89
|
+
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
90
|
+
}
|
91
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
92
|
+
if (!o) return;
|
93
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
94
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
95
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
96
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
97
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
98
|
+
}
|
99
|
+
import React, { forwardRef, useMemo, useState } from "react";
|
54
100
|
import Tree from "rc-tree";
|
55
101
|
import { cx } from "../../utils";
|
56
102
|
import { IconArrowWrapper, StyledArrow, base, StyledFolder, TitleWrapper, Title, ContentRight } from "./Tree.styles";
|
57
|
-
import { sizeToIconSize } from "./utils";
|
103
|
+
import { sizeToIconSize, traverseTree } from "./utils";
|
58
104
|
import { classes } from "./Tree.tokens";
|
59
105
|
/**
|
60
106
|
* Многоуровневый раскрывающийся список в виде дерева.
|
61
107
|
*/ export var treeRoot = function(Root) {
|
62
108
|
return /*#__PURE__*/ forwardRef(function(param, ref) {
|
63
|
-
var items = param.items, _param_arrowPlacement = param.arrowPlacement, arrowPlacement = _param_arrowPlacement === void 0 ? 'left' : _param_arrowPlacement, _param_virtual = param.virtual, virtual = _param_virtual === void 0 ? true : _param_virtual, height = param.height, itemHeight = param.itemHeight, size = param.size, view = param.view, _param_fullWidthItemSelection = param.fullWidthItemSelection, fullWidthItemSelection = _param_fullWidthItemSelection === void 0 ? false : _param_fullWidthItemSelection, _param_multiple = param.multiple, multiple = _param_multiple === void 0 ? false : _param_multiple, _param_defaultExpandAll = param.defaultExpandAll, defaultExpandAll = _param_defaultExpandAll === void 0 ? false : _param_defaultExpandAll, _param_checkable = param.checkable, checkable = _param_checkable === void 0 ? false : _param_checkable,
|
109
|
+
var items = param.items, _param_arrowPlacement = param.arrowPlacement, arrowPlacement = _param_arrowPlacement === void 0 ? 'left' : _param_arrowPlacement, _param_virtual = param.virtual, virtual = _param_virtual === void 0 ? true : _param_virtual, height = param.height, itemHeight = param.itemHeight, size = param.size, view = param.view, _param_fullWidthItemSelection = param.fullWidthItemSelection, fullWidthItemSelection = _param_fullWidthItemSelection === void 0 ? false : _param_fullWidthItemSelection, _param_multiple = param.multiple, multiple = _param_multiple === void 0 ? false : _param_multiple, _param_defaultExpandAll = param.defaultExpandAll, defaultExpandAll = _param_defaultExpandAll === void 0 ? false : _param_defaultExpandAll, _param_checkable = param.checkable, checkable = _param_checkable === void 0 ? false : _param_checkable, outerSelectedKeys = param.selectedKeys, checkedKeys = param.checkedKeys, expandedKeys = param.expandedKeys, defaultCheckedKeys = param.defaultCheckedKeys, defaultExpandedKeys = param.defaultExpandedKeys, defaultSelectedKeys = param.defaultSelectedKeys, className = param.className, onTreeSelect = param.onTreeSelect, onTreeCheck = param.onTreeCheck, onTreeExpand = param.onTreeExpand, _param_hasIcon = param.hasIcon, hasIcon = _param_hasIcon === void 0 ? false : _param_hasIcon, icon = param.icon, renderTitle = param.renderTitle;
|
110
|
+
var _useState = _sliced_to_array(useState(defaultSelectedKeys || []), 2), selected = _useState[0], setSelected = _useState[1];
|
111
|
+
var selectedKeys = outerSelectedKeys !== null && outerSelectedKeys !== void 0 ? outerSelectedKeys : selected;
|
112
|
+
var handleSelect = function(updatedSelectedKeys, info) {
|
113
|
+
setSelected(updatedSelectedKeys);
|
114
|
+
if (onTreeSelect) {
|
115
|
+
onTreeSelect(updatedSelectedKeys, info);
|
116
|
+
}
|
117
|
+
};
|
64
118
|
var invertedClass = arrowPlacement === 'right' ? classes.treeInverted : undefined;
|
65
119
|
var itemFilledClass = fullWidthItemSelection ? classes.treeItemFilled : undefined;
|
120
|
+
// Проходимся по дереву и устанавливаем соответствующие классы для узлов дерева,
|
121
|
+
// чтобы соблюсти иерархию вложенности в UI.
|
122
|
+
var treeData = useMemo(function() {
|
123
|
+
return traverseTree(items, selectedKeys);
|
124
|
+
}, [
|
125
|
+
items,
|
126
|
+
selectedKeys
|
127
|
+
]);
|
66
128
|
return /*#__PURE__*/ React.createElement(Root, {
|
67
129
|
view: view,
|
68
130
|
size: size,
|
@@ -79,18 +141,16 @@ import { classes } from "./Tree.tokens";
|
|
79
141
|
style: {
|
80
142
|
border: '1px solid #000'
|
81
143
|
},
|
82
|
-
treeData:
|
144
|
+
treeData: treeData,
|
145
|
+
selectedKeys: selectedKeys
|
83
146
|
}, checkedKeys !== undefined ? {
|
84
147
|
checkedKeys: checkedKeys
|
85
148
|
} : {}, expandedKeys !== undefined ? {
|
86
149
|
expandedKeys: expandedKeys
|
87
|
-
} : {}, selectedKeys !== undefined ? {
|
88
|
-
selectedKeys: selectedKeys
|
89
150
|
} : {}), {
|
90
151
|
defaultCheckedKeys: defaultCheckedKeys,
|
91
152
|
defaultExpandedKeys: defaultExpandedKeys,
|
92
|
-
|
93
|
-
onSelect: onTreeSelect,
|
153
|
+
onSelect: handleSelect,
|
94
154
|
// Тайп кастинг для упрощения API
|
95
155
|
onCheck: onTreeCheck,
|
96
156
|
onExpand: onTreeExpand,
|
@@ -5,7 +5,7 @@ import { IconDisclosureRightCentered, IconFolder } from "../_Icon";
|
|
5
5
|
import { treeTokens as tokens, classes } from "./Tree.tokens";
|
6
6
|
export var IconArrowWrapper = styled.div.withConfig({
|
7
7
|
displayName: "Tree.styles__IconArrowWrapper",
|
8
|
-
componentId: "sc-
|
8
|
+
componentId: "sc-b94b5aad-0"
|
9
9
|
})([
|
10
10
|
"line-height:0;color:var(",
|
11
11
|
");&:hover{color:var(",
|
@@ -14,19 +14,19 @@ export var IconArrowWrapper = styled.div.withConfig({
|
|
14
14
|
], tokens.arrowColor, tokens.arrowColorHover, tokens.arrowColorActive);
|
15
15
|
export var StyledArrow = styled(IconDisclosureRightCentered).withConfig({
|
16
16
|
displayName: "Tree.styles__StyledArrow",
|
17
|
-
componentId: "sc-
|
17
|
+
componentId: "sc-b94b5aad-1"
|
18
18
|
})([
|
19
19
|
"transition:color 0.3s ease-in,transform 0.15s ease-in;pointer-events:none;user-select:none;"
|
20
20
|
]);
|
21
21
|
export var StyledFolder = styled(IconFolder).withConfig({
|
22
22
|
displayName: "Tree.styles__StyledFolder",
|
23
|
-
componentId: "sc-
|
23
|
+
componentId: "sc-b94b5aad-2"
|
24
24
|
})([
|
25
25
|
""
|
26
26
|
]);
|
27
27
|
export var TitleWrapper = styled.div.withConfig({
|
28
28
|
displayName: "Tree.styles__TitleWrapper",
|
29
|
-
componentId: "sc-
|
29
|
+
componentId: "sc-b94b5aad-3"
|
30
30
|
})([
|
31
31
|
"display:flex;align-items:center;justify-content:space-between;margin:",
|
32
32
|
";",
|
@@ -37,7 +37,7 @@ export var TitleWrapper = styled.div.withConfig({
|
|
37
37
|
}, applyEllipsis());
|
38
38
|
export var Title = styled.span.withConfig({
|
39
39
|
displayName: "Tree.styles__Title",
|
40
|
-
componentId: "sc-
|
40
|
+
componentId: "sc-b94b5aad-4"
|
41
41
|
})([
|
42
42
|
"margin:var(",
|
43
43
|
");",
|
@@ -45,7 +45,7 @@ export var Title = styled.span.withConfig({
|
|
45
45
|
], tokens.iconFolderMargin, applyEllipsis());
|
46
46
|
export var ContentRight = styled.div.withConfig({
|
47
47
|
displayName: "Tree.styles__ContentRight",
|
48
|
-
componentId: "sc-
|
48
|
+
componentId: "sc-b94b5aad-5"
|
49
49
|
})([
|
50
50
|
"line-height:0;"
|
51
51
|
]);
|
@@ -66,8 +66,12 @@ export var base = css([
|
|
66
66
|
");right:0;background:transparent;border-radius:var(",
|
67
67
|
");}.rc-tree .rc-tree-treenode.rc-tree-treenode-disabled{opacity:var(",
|
68
68
|
");}.rc-tree.",
|
69
|
-
" .rc-tree-treenode::before{inset:0;border-radius:0;}.rc-tree .rc-tree-treenode.
|
70
|
-
"
|
69
|
+
" .rc-tree-treenode::before{inset:0;border-radius:0;}.rc-tree .rc-tree-treenode.",
|
70
|
+
"::before{background:var(",
|
71
|
+
");}.rc-tree .rc-tree-treenode.",
|
72
|
+
"::before{background:var(",
|
73
|
+
");}.rc-tree .rc-tree-treenode.rc-tree-treenode-selected::before{background:var(",
|
74
|
+
");}.rc-tree .rc-tree-treenode:not(.rc-tree-treenode-disabled):hover::before{background:var(",
|
71
75
|
");}.rc-tree .rc-tree-treenode:not(.rc-tree-treenode-disabled):active::before{background:var(",
|
72
76
|
");}.rc-tree .rc-tree-treenode .rc-tree-node-content-wrapper{display:flex;align-items:center;align-self:stretch;height:auto;flex:1;min-width:max-content;}.rc-tree .rc-tree-treenode span.rc-tree-switcher{width:var(",
|
73
77
|
");height:var(",
|
@@ -95,10 +99,12 @@ export var base = css([
|
|
95
99
|
");font-weight:var(",
|
96
100
|
");letter-spacing:var(",
|
97
101
|
");line-height:var(",
|
98
|
-
");}.rc-tree.
|
102
|
+
");}.rc-tree.",
|
103
|
+
" .rc-tree-treenode span.rc-tree-switcher{order:1;}.rc-tree.",
|
104
|
+
" .rc-tree-treenode::before{left:0;}.rc-tree-node-selected{opacity:1;box-shadow:none;background:none;}.rc-tree-node-selected .rc-tree-title{color:var(",
|
99
105
|
");}.rc-tree .rc-tree-treenode.rc-tree-treenode-disabled .rc-tree-title{color:var(",
|
100
106
|
");}.rc-tree-node-selected .rc-tree-icon__customize{color:var(",
|
101
107
|
");}.rc-tree .rc-tree-treenode.rc-tree-treenode-disabled .rc-tree-icon__customize{color:var(",
|
102
108
|
");;}.rc-tree-indent-unit{width:var(",
|
103
109
|
");}"
|
104
|
-
], tokens.color, classes.treeInverted, tokens.iconFolderColor, tokens.iconFolderMargin, tokens.itemHeight, classes.treeItemFilled, tokens.itemPadding, classes.treeInverted, classes.treeItemFilled, tokens.itemPaddingTight, tokens.itemTop, tokens.itemBottom, tokens.switcherSize, tokens.itemBorderRadius, tokens.itemDisabledOpacity, classes.treeItemFilled, tokens.
|
110
|
+
], tokens.color, classes.treeInverted, tokens.iconFolderColor, tokens.iconFolderMargin, tokens.itemHeight, classes.treeItemFilled, tokens.itemPadding, classes.treeInverted, classes.treeItemFilled, tokens.itemPaddingTight, tokens.itemTop, tokens.itemBottom, tokens.switcherSize, tokens.itemBorderRadius, tokens.itemDisabledOpacity, classes.treeItemFilled, classes.closestParentHasSelectedChildren, tokens.itemBackgroundColorClosestParentHasSelectedChildren, classes.parentHasSelectedChildren, tokens.itemBackgroundColorParentHasSelectedChildren, tokens.itemBackgroundColorSelected, tokens.itemBackgroundColorHover, tokens.itemBackgroundColorActive, tokens.switcherSize, tokens.switcherSize, tokens.switcherMargin, classes.treeInverted, tokens.switcherMarginInverted, classes.treeInverted, classes.treeInverted, tokens.checkboxSize, tokens.checkboxSize, tokens.checkboxMargin, tokens.checkboxInnerSize, tokens.checkboxInnerSize, tokens.checkboxBorderColor, tokens.checkboxBorderRadius, tokens.itemDisabledBorderColor, tokens.checkboxBackgroundColor, tokens.checkboxBackgroundColor, tokens.checkboxBackgroundColor, tokens.checkboxBackgroundColor, tokens.color, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, classes.treeInverted, classes.treeInverted, tokens.colorSelected, tokens.itemDisabledColor, tokens.colorSelected, tokens.itemDisabledColor, tokens.itemIndent);
|
@@ -1,6 +1,8 @@
|
|
1
1
|
export var classes = {
|
2
2
|
treeInverted: 'tree-inverted',
|
3
|
-
treeItemFilled: 'tree-item-filled'
|
3
|
+
treeItemFilled: 'tree-item-filled',
|
4
|
+
parentHasSelectedChildren: 'tree-parent-has-selected-children',
|
5
|
+
closestParentHasSelectedChildren: 'tree-closest-parent-has-selected-children'
|
4
6
|
};
|
5
7
|
export var treeTokens = {
|
6
8
|
arrowColor: '--plasma-tree-arrow-color',
|
@@ -32,7 +34,9 @@ export var treeTokens = {
|
|
32
34
|
checkboxMargin: '--plasma-tree-checkbox-margin',
|
33
35
|
checkboxBorderColor: '--plasma-tree-checkbox-border-color',
|
34
36
|
checkboxBackgroundColor: '--plasma-tree-checkbox-background-color',
|
35
|
-
|
37
|
+
itemBackgroundColorSelected: '--plasma-tree-item-background-color-selected',
|
38
|
+
itemBackgroundColorParentHasSelectedChildren: '--plasma-tree-item-background-color-parent-has-selected-children',
|
39
|
+
itemBackgroundColorClosestParentHasSelectedChildren: '--plasma-tree-item-background-color-closest-parent-has-selected-children',
|
36
40
|
itemBackgroundColorHover: '--plasma-tree-item-background-color-hover',
|
37
41
|
itemBackgroundColorActive: '--plasma-tree-item-background-color-active',
|
38
42
|
itemDisabledOpacity: '--plasma-tree-item-disabled-opacity',
|
@@ -0,0 +1,116 @@
|
|
1
|
+
function _array_like_to_array(arr, len) {
|
2
|
+
if (len == null || len > arr.length) len = arr.length;
|
3
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
4
|
+
return arr2;
|
5
|
+
}
|
6
|
+
function _array_with_holes(arr) {
|
7
|
+
if (Array.isArray(arr)) return arr;
|
8
|
+
}
|
9
|
+
function _array_without_holes(arr) {
|
10
|
+
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
11
|
+
}
|
12
|
+
function _iterable_to_array(iter) {
|
13
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
14
|
+
}
|
15
|
+
function _iterable_to_array_limit(arr, i) {
|
16
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
17
|
+
if (_i == null) return;
|
18
|
+
var _arr = [];
|
19
|
+
var _n = true;
|
20
|
+
var _d = false;
|
21
|
+
var _s, _e;
|
22
|
+
try {
|
23
|
+
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
24
|
+
_arr.push(_s.value);
|
25
|
+
if (i && _arr.length === i) break;
|
26
|
+
}
|
27
|
+
} catch (err) {
|
28
|
+
_d = true;
|
29
|
+
_e = err;
|
30
|
+
} finally{
|
31
|
+
try {
|
32
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
33
|
+
} finally{
|
34
|
+
if (_d) throw _e;
|
35
|
+
}
|
36
|
+
}
|
37
|
+
return _arr;
|
38
|
+
}
|
39
|
+
function _non_iterable_rest() {
|
40
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
41
|
+
}
|
42
|
+
function _non_iterable_spread() {
|
43
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
44
|
+
}
|
45
|
+
function _sliced_to_array(arr, i) {
|
46
|
+
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
47
|
+
}
|
48
|
+
function _to_consumable_array(arr) {
|
49
|
+
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
50
|
+
}
|
51
|
+
function _type_of(obj) {
|
52
|
+
"@swc/helpers - typeof";
|
53
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
54
|
+
}
|
55
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
56
|
+
if (!o) return;
|
57
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
58
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
59
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
60
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
61
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
62
|
+
}
|
63
|
+
import cls from "classnames/dedupe";
|
64
|
+
import { classes } from "../Tree.tokens";
|
65
|
+
// Blazing-fast хелпер для глубокого копирования объектов.
|
66
|
+
// Ссылки на функции (React-компоненты) сохраняются.
|
67
|
+
var deepCopy = function(obj) {
|
68
|
+
if (obj === null || (typeof obj === "undefined" ? "undefined" : _type_of(obj)) !== 'object') {
|
69
|
+
return obj;
|
70
|
+
}
|
71
|
+
if (Array.isArray(obj)) {
|
72
|
+
return obj.map(function(item) {
|
73
|
+
return deepCopy(item);
|
74
|
+
});
|
75
|
+
}
|
76
|
+
if (obj.type && (typeof obj.type === 'function' || typeof obj.type === 'string')) {
|
77
|
+
return obj;
|
78
|
+
}
|
79
|
+
return Object.fromEntries(Object.entries(obj).map(function(param) {
|
80
|
+
var _param = _sliced_to_array(param, 2), key = _param[0], value = _param[1];
|
81
|
+
return [
|
82
|
+
key,
|
83
|
+
deepCopy(value)
|
84
|
+
];
|
85
|
+
}));
|
86
|
+
};
|
87
|
+
var dfs = function(node, selectedKeys, parents) {
|
88
|
+
var selected = selectedKeys.has(node.key);
|
89
|
+
if (node.children) {
|
90
|
+
node.children = node.children.map(function(childNode) {
|
91
|
+
return dfs(childNode, selectedKeys, _to_consumable_array(parents).concat([
|
92
|
+
node
|
93
|
+
]));
|
94
|
+
});
|
95
|
+
}
|
96
|
+
if (selected && parents.length > 0) {
|
97
|
+
var _parents_at_children, _parents_at;
|
98
|
+
parents.forEach(function(parent) {
|
99
|
+
parent.className = cls(parent.className, classes.parentHasSelectedChildren);
|
100
|
+
});
|
101
|
+
(_parents_at = parents.at(-1)) === null || _parents_at === void 0 ? void 0 : (_parents_at_children = _parents_at.children) === null || _parents_at_children === void 0 ? void 0 : _parents_at_children.forEach(function(childNode) {
|
102
|
+
childNode.className = cls(childNode.className, classes.closestParentHasSelectedChildren);
|
103
|
+
});
|
104
|
+
}
|
105
|
+
return node;
|
106
|
+
};
|
107
|
+
export var traverseTree = function(items, selectedKeys) {
|
108
|
+
if (!selectedKeys || selectedKeys.length === 0) {
|
109
|
+
return items;
|
110
|
+
}
|
111
|
+
var copyItems = deepCopy(items);
|
112
|
+
return dfs({
|
113
|
+
key: 'root',
|
114
|
+
children: copyItems
|
115
|
+
}, new Set(selectedKeys), []).children;
|
116
|
+
};
|
@@ -1,7 +0,0 @@
|
|
1
|
-
import { component, mergeConfig } from "../../../engines";
|
2
|
-
import { comboboxNewConfig } from "../../../../es";
|
3
|
-
import { config } from "./Combobox.config";
|
4
|
-
var mergedConfig = mergeConfig(comboboxNewConfig, config);
|
5
|
-
var ComboboxComponent = component(mergedConfig);
|
6
|
-
var Combobox = ComboboxComponent;
|
7
|
-
export { Combobox };
|