Skip to content

Commit 96fee28

Browse files
authored
fix(tree): correct node toggle icon color in disabled states (#DS-390) (#1669)
Co-authored-by: lskramarov <9027254+lskramarov@users.noreply.github.com>
1 parent 6c3e55a commit 96fee28

9 files changed

Lines changed: 31 additions & 34 deletions

File tree

packages/components-dev/tree/styles.scss

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,3 @@ kbq-tree-selection {
22
overflow-y: scroll;
33
height: 328px;
44
}
5-
6-
.dev-highlight-content {
7-
display: inline-block;
8-
width: 100%;
9-
white-space: nowrap;
10-
overflow: hidden;
11-
text-overflow: ellipsis;
12-
}

packages/components-dev/tree/template.html

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,6 @@
9393
<i kbq-icon="kbq-circle-info_16"></i>
9494
<span
9595
#kbqTitleText
96-
class="dev-highlight-content"
9796
[innerHTML]="treeControl.getViewValue(node) | mcHighlight: treeControl.filterValue.value"
9897
></span>
9998
</kbq-tree-option>
@@ -107,10 +106,7 @@
107106

108107
<kbq-tree-node-toggle [node]="node" />
109108

110-
<span
111-
class="dev-highlight-content"
112-
[innerHTML]="treeControl.getViewValue(node) | mcHighlight: treeControl.filterValue.value"
113-
></span>
109+
<span [innerHTML]="treeControl.getViewValue(node) | mcHighlight: treeControl.filterValue.value"></span>
114110

115111
<kbq-option-action
116112
[kbqDropdownTriggerFor]="dropdown"
22 KB
Loading
21.6 KB
Loading

packages/components/tree/_tree-theme.scss

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,6 @@
1111
color: var(--kbq-tree-#{$state-name}-text-color);
1212
}
1313

14-
.kbq-tree-node-toggle .kbq-icon.kbq-empty,
15-
.kbq-icon.kbq-empty.kbq-tree-node-toggle {
16-
color: var(--kbq-tree-#{$state-name}-tree-toggle-color);
17-
}
18-
1914
.kbq-option-action .kbq-icon.kbq-empty {
2015
color: var(--kbq-tree-#{$state-name}-action-button-color);
2116
}
@@ -69,7 +64,7 @@
6964
&.kbq-disabled {
7065
@include kbq-tree-option(states-disabled);
7166

72-
& .kbq-icon.kbq-empty {
67+
& .kbq-icon.kbq-empty:not(.kbq-tree-node-toggle .kbq-icon) {
7368
color: var(--kbq-states-icon-disabled);
7469
}
7570
}

packages/components/tree/e2e.ts

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,12 @@ const DATA_OBJECT = {
3636
Focused: '',
3737
Disabled: ''
3838
},
39+
DisabledParent: {
40+
child: ''
41+
},
42+
DisabledToggle: {
43+
child: ''
44+
},
3945
Documents: {
4046
angular: {
4147
src: {
@@ -98,8 +104,14 @@ function buildFileTree(value: any, level: number): FileNode[] {
98104
<span [innerHTML]="treeControl.getViewValue(node)"></span>
99105
</kbq-tree-option>
100106
101-
<kbq-tree-option *kbqTreeNodeDef="let node; when: hasChild" kbqTreeNodePadding [checkboxThirdState]="true">
102-
<kbq-tree-node-toggle [node]="node" />
107+
<kbq-tree-option
108+
*kbqTreeNodeDef="let node; when: hasChild"
109+
kbqTreeNodePadding
110+
[checkboxThirdState]="true"
111+
[disabled]="node.name === 'DisabledParent'"
112+
>
113+
<i kbq-icon="kbq-circle-info_16"></i>
114+
<kbq-tree-node-toggle [node]="node" [disabled]="node.name === 'DisabledToggle'" />
103115
<span [innerHTML]="treeControl.getViewValue(node)"></span>
104116
</kbq-tree-option>
105117
</kbq-tree-selection>
@@ -125,8 +137,14 @@ function buildFileTree(value: any, level: number): FileNode[] {
125137
<kbq-option-action [kbqTooltip]="'Tooltip text'" />
126138
</kbq-tree-option>
127139
128-
<kbq-tree-option *kbqTreeNodeDef="let node; when: hasChild" kbqTreeNodePadding [checkboxThirdState]="true">
129-
<kbq-tree-node-toggle [node]="node" />
140+
<kbq-tree-option
141+
*kbqTreeNodeDef="let node; when: hasChild"
142+
kbqTreeNodePadding
143+
[checkboxThirdState]="true"
144+
[disabled]="node.name === 'DisabledParent'"
145+
>
146+
<i kbq-icon="kbq-circle-info_16"></i>
147+
<kbq-tree-node-toggle [node]="node" [disabled]="node.name === 'DisabledToggle'" />
130148
<span [innerHTML]="treeControl.getViewValue(node)"></span>
131149
</kbq-tree-option>
132150
</kbq-tree-selection>

packages/components/tree/toggle.scss

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@
2828

2929
&[disabled] {
3030
cursor: default;
31+
32+
& .kbq-icon {
33+
color: var(--kbq-tree-states-disabled-tree-toggle-color);
34+
}
3135
}
3236
}
3337

packages/components/tree/toggle.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,7 @@ export class KbqTreeNodeToggleBaseDirective<T> {
5757
}
5858

5959
toggle(event: Event): void {
60-
if (this.disabled) {
61-
return;
62-
}
60+
if (this.disabled) return;
6361

6462
if (this.recursive) {
6563
this.tree.treeControl.toggleDescendants(this.treeNode.data);
@@ -73,12 +71,10 @@ export class KbqTreeNodeToggleBaseDirective<T> {
7371

7472
@Component({
7573
selector: 'kbq-tree-node-toggle',
76-
imports: [
77-
KbqIcon
78-
],
74+
imports: [KbqIcon],
7975
template: `
8076
<ng-content>
81-
<i kbq-icon="kbq-chevron-down-s_16"></i>
77+
<i kbq-icon="kbq-chevron-down-s_16" [color]="'contrast-fade'"></i>
8278
</ng-content>
8379
`,
8480
styleUrls: ['./toggle.scss', './tree-tokens.scss'],

packages/components/tree/tree-option.scss

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,6 @@
7070
outline: none;
7171
}
7272

73-
&.kbq-disabled .kbq-icon {
74-
cursor: default;
75-
}
76-
7773
&:not(.kbq-disabled) {
7874
cursor: pointer;
7975

0 commit comments

Comments
 (0)