@snack-uikit/tree 0.8.15 → 0.8.16
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/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## 0.8.16 (2024-12-27)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **PDS-1315:** tree radio selected element parents ([fae6416](https://github.com/cloud-ru-tech/snack-uikit/commit/fae64165834b2eaa32c66eccad01178ab321436e))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## 0.8.15 (2024-12-26)
|
|
7
18
|
|
|
8
19
|
|
|
@@ -216,7 +216,7 @@ function TreeNode(_a) {
|
|
|
216
216
|
}), (0, jsx_runtime_1.jsxs)("div", {
|
|
217
217
|
role: 'treeitem',
|
|
218
218
|
"aria-expanded": isExpanded,
|
|
219
|
-
"aria-selected": isSelectable ? isSelected : undefined,
|
|
219
|
+
"aria-selected": isSelectable ? isSelected || (nestedNodesSelection === null || nestedNodesSelection === void 0 ? void 0 : nestedNodesSelection.someSelected) && !isExpanded && !isMultiSelect : undefined,
|
|
220
220
|
"aria-disabled": disabled,
|
|
221
221
|
"data-multiselect": isMultiSelect || undefined,
|
|
222
222
|
"data-droplist-active": isDroplistOpen || isDroplistTriggerFocused || undefined,
|
|
@@ -242,7 +242,7 @@ function TreeNode(_a) {
|
|
|
242
242
|
}), showToggle && (0, jsx_runtime_1.jsx)(toggles_1.Radio, {
|
|
243
243
|
size: 's',
|
|
244
244
|
checked: isSelected,
|
|
245
|
-
disabled: disabled
|
|
245
|
+
disabled: disabled,
|
|
246
246
|
"data-test-id": constants_1.TEST_IDS.radio,
|
|
247
247
|
tabIndex: -1
|
|
248
248
|
})]
|
|
@@ -139,7 +139,7 @@ export function TreeNode(_a) {
|
|
|
139
139
|
}
|
|
140
140
|
};
|
|
141
141
|
const getNodeActions = nested ? parentActions : nodeActions;
|
|
142
|
-
return (_jsxs("div", Object.assign({ role: 'presentation', className: cn(styles.treeNode, className) }, extractSupportProps(rest), { "data-node-id": id, children: [parentNode && (_jsx(TreeLine, { halfWidth: Boolean(nested), horizontal: true, visible: showLines, "data-test-id": TEST_IDS.line })), !parentNode && !nested && _jsx(TreeLine, { visible: false }), isExpandable && (_jsx(ButtonFunction, { size: 'xs', icon: _jsx(ChevronRightSVG, {}), loading: isLoading, onClick: onChevronClick, "data-expanded": isExpanded || undefined, className: styles.treeNodeExpandButton, tabIndex: -1, "data-test-id": TEST_IDS.chevron })), _jsxs("div", { role: 'treeitem', "aria-expanded": isExpanded, "aria-selected": isSelectable ? isSelected : undefined, "aria-disabled": disabled, "data-multiselect": isMultiSelect || undefined, "data-droplist-active": isDroplistOpen || isDroplistTriggerFocused || undefined, onClick: handleClick, onKeyDown: handleKeyDown, onFocus: handleFocus, onBlur: resetFocusPosition, tabIndex: tabIndexAvailable ? 0 : -1, className: styles.treeNodeContent, "data-test-id": TEST_IDS.item, ref: ref, children: [(isMultiSelect || showToggle) && (_jsxs("div", { className: styles.treeNodeCheckboxWrap, children: [isMultiSelect && (_jsx(Checkbox, { size: 's', disabled: disabled, checked: isSelected, indeterminate: !isSelected && (nestedNodesSelection === null || nestedNodesSelection === void 0 ? void 0 : nestedNodesSelection.someSelected), onChange: handleSelect, onClick: stopPropagationClick, "data-test-id": TEST_IDS.checkbox, tabIndex: -1 })), showToggle && (_jsx(Radio, { size: 's', checked: isSelected, disabled: disabled
|
|
142
|
+
return (_jsxs("div", Object.assign({ role: 'presentation', className: cn(styles.treeNode, className) }, extractSupportProps(rest), { "data-node-id": id, children: [parentNode && (_jsx(TreeLine, { halfWidth: Boolean(nested), horizontal: true, visible: showLines, "data-test-id": TEST_IDS.line })), !parentNode && !nested && _jsx(TreeLine, { visible: false }), isExpandable && (_jsx(ButtonFunction, { size: 'xs', icon: _jsx(ChevronRightSVG, {}), loading: isLoading, onClick: onChevronClick, "data-expanded": isExpanded || undefined, className: styles.treeNodeExpandButton, tabIndex: -1, "data-test-id": TEST_IDS.chevron })), _jsxs("div", { role: 'treeitem', "aria-expanded": isExpanded, "aria-selected": isSelectable ? isSelected || ((nestedNodesSelection === null || nestedNodesSelection === void 0 ? void 0 : nestedNodesSelection.someSelected) && !isExpanded && !isMultiSelect) : undefined, "aria-disabled": disabled, "data-multiselect": isMultiSelect || undefined, "data-droplist-active": isDroplistOpen || isDroplistTriggerFocused || undefined, onClick: handleClick, onKeyDown: handleKeyDown, onFocus: handleFocus, onBlur: resetFocusPosition, tabIndex: tabIndexAvailable ? 0 : -1, className: styles.treeNodeContent, "data-test-id": TEST_IDS.item, ref: ref, children: [(isMultiSelect || showToggle) && (_jsxs("div", { className: styles.treeNodeCheckboxWrap, children: [isMultiSelect && (_jsx(Checkbox, { size: 's', disabled: disabled, checked: isSelected, indeterminate: !isSelected && (nestedNodesSelection === null || nestedNodesSelection === void 0 ? void 0 : nestedNodesSelection.someSelected), onChange: handleSelect, onClick: stopPropagationClick, "data-test-id": TEST_IDS.checkbox, tabIndex: -1 })), showToggle && (_jsx(Radio, { size: 's', checked: isSelected, disabled: disabled, "data-test-id": TEST_IDS.radio, tabIndex: -1 }))] })), treeNodeIcon && (_jsx("div", { className: styles.treeNodeIcon, "data-test-id": TEST_IDS.icon, children: treeNodeIcon })), _jsxs(Typography.SansBodyM, { tag: 'div', className: styles.treeNodeTitle, children: [typeof title === 'string' && _jsx(TruncateString, { text: title, "data-test-id": TEST_IDS.title }), typeof title !== 'string' && title({ id, disabled, nested })] }), getNodeActions && (_jsx(TreeNodeActions, { getNodeActions: getNodeActions, node: {
|
|
143
143
|
id,
|
|
144
144
|
title,
|
|
145
145
|
disabled,
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"title": "Tree",
|
|
7
|
-
"version": "0.8.
|
|
7
|
+
"version": "0.8.16",
|
|
8
8
|
"sideEffects": [
|
|
9
9
|
"*.css",
|
|
10
10
|
"*.woff",
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"react-transition-state": "2.1.1",
|
|
48
48
|
"uncontrollable": "8.0.4"
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "9e7b0296b1a89a61bedfd095f7e40159c6b5f53a"
|
|
51
51
|
}
|
|
@@ -234,7 +234,9 @@ export function TreeNode({
|
|
|
234
234
|
<div
|
|
235
235
|
role='treeitem'
|
|
236
236
|
aria-expanded={isExpanded}
|
|
237
|
-
aria-selected={
|
|
237
|
+
aria-selected={
|
|
238
|
+
isSelectable ? isSelected || (nestedNodesSelection?.someSelected && !isExpanded && !isMultiSelect) : undefined
|
|
239
|
+
}
|
|
238
240
|
aria-disabled={disabled}
|
|
239
241
|
data-multiselect={isMultiSelect || undefined}
|
|
240
242
|
data-droplist-active={isDroplistOpen || isDroplistTriggerFocused || undefined}
|
|
@@ -262,13 +264,7 @@ export function TreeNode({
|
|
|
262
264
|
/>
|
|
263
265
|
)}
|
|
264
266
|
{showToggle && (
|
|
265
|
-
<Radio
|
|
266
|
-
size='s'
|
|
267
|
-
checked={isSelected}
|
|
268
|
-
disabled={disabled || (!isSelected && nestedNodesSelection?.someSelected)}
|
|
269
|
-
data-test-id={TEST_IDS.radio}
|
|
270
|
-
tabIndex={-1}
|
|
271
|
-
/>
|
|
267
|
+
<Radio size='s' checked={isSelected} disabled={disabled} data-test-id={TEST_IDS.radio} tabIndex={-1} />
|
|
272
268
|
)}
|
|
273
269
|
</div>
|
|
274
270
|
)}
|