@salesforcedevs/dx-components 1.3.251 → 1.3.253

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.
Files changed (30) hide show
  1. package/lwc.config.json +1 -0
  2. package/package.json +2 -2
  3. package/src/modules/dx/button/button.html +2 -2
  4. package/src/modules/dx/button/button.ts +1 -1
  5. package/src/modules/dx/dropdownOption/dropdownOption.css +5 -3
  6. package/src/modules/dx/headerNav/headerNav.css +9 -0
  7. package/src/modules/dx/popover/popover.css +2 -2
  8. package/src/modules/dx/searchResults/searchResults.css +5 -0
  9. package/src/modules/dx/searchResults/searchResults.ts +65 -1
  10. package/src/modules/dx/sidebar/sidebar.css +9 -5
  11. package/src/modules/dx/sidebar/sidebar.html +32 -16
  12. package/src/modules/dx/sidebar/sidebar.ts +2 -42
  13. package/src/modules/dx/sidebarFooterNav/sidebarFooterNav.css +49 -0
  14. package/src/modules/dx/sidebarFooterNav/sidebarFooterNav.html +55 -0
  15. package/src/modules/dx/sidebarFooterNav/sidebarFooterNav.ts +106 -0
  16. package/src/modules/dx/sidebarOld/sidebarOld.css +1 -0
  17. package/src/modules/dx/sidebarOld/sidebarOld.html +31 -14
  18. package/src/modules/dx/sidebarOld/sidebarOld.ts +4 -38
  19. package/src/modules/dx/sidebarSearchResult/sidebarSearchResult.css +35 -4
  20. package/src/modules/dx/sidebarSearchResult/sidebarSearchResult.html +16 -10
  21. package/src/modules/dx/tab/tab.css +48 -19
  22. package/src/modules/dx/treeItem/treeItem.css +2 -2
  23. package/src/modules/dx/treeTile/treeTile.css +39 -28
  24. package/src/modules/dx/treeTile/treeTile.html +6 -6
  25. package/src/modules/dx/treeTile/treeTile.ts +2 -1
  26. package/src/modules/dxBaseElements/sidebarBase/sidebarBase.ts +100 -1
  27. package/src/modules/dxConstants/contentTypes/contentTypes.ts +8 -2
  28. package/src/modules/dxHelpers/commonHeader/commonHeader.css +4 -2
  29. package/src/modules/dxHelpers/commonSidebar/commonSidebar.css +38 -16
  30. package/src/modules/dxHelpers/commonTreeItem/commonTreeItem.css +26 -3
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div class={containerClass}>
3
3
  <div
4
- if:true={mobile}
4
+ lwc:if={mobile}
5
5
  class="header padding-horizontal"
6
6
  onclick={onToggleClick}
7
7
  >
@@ -16,23 +16,19 @@
16
16
  <dx-icon
17
17
  sprite="utility"
18
18
  symbol={menuSymbol}
19
- color="blue-vibrant-20"
19
+ color="blue-vibrant-50"
20
+ size="medium"
20
21
  ></dx-icon>
21
22
  </dx-button>
22
23
  </div>
23
24
  </div>
24
25
 
25
- <template if:true={expanded}>
26
- <div class="padding-horizontal">
27
- <div class="header" if:false={mobile}>
26
+ <template lwc:if={expanded}>
27
+ <div class="sidebar-header" show-shadow={showBoxShadow}>
28
+ <div class="header padding-horizontal" lwc:if={isDesktop}>
28
29
  <h2 class="dx-text-display-6 header-title">{header}</h2>
29
- <slot name="header"></slot>
30
30
  </div>
31
- <div class="mobile-header" if:true={mobile}>
32
- <h2 class="dx-text-display-6">{header}</h2>
33
- <slot name="header"></slot>
34
- </div>
35
- <div class="search">
31
+ <div class="search padding-horizontal">
36
32
  <dx-input
37
33
  class="search-box"
38
34
  type="search"
@@ -46,10 +42,12 @@
46
42
  shortcut-key="j"
47
43
  ></dx-input>
48
44
  </div>
45
+ <slot name="version-picker"></slot>
49
46
  </div>
50
47
  <div
51
- class="sidebar-content sidebar-content-tree"
52
- if:true={anyResultMatch}
48
+ class={sidebarContentClass}
49
+ lwc:if={anyResultMatch}
50
+ onscroll={handleScroll}
53
51
  >
54
52
  <dx-tree
55
53
  for:each={filteredTrees}
@@ -68,8 +66,27 @@
68
66
  title="No Results"
69
67
  body={emptyStateBody}
70
68
  suggestions={emptyStateSuggestions}
71
- if:false={anyResultMatch}
69
+ lwc:else
72
70
  ></dx-empty-state>
71
+ <div lwc:if={hasMobileSidebarFooter} class="footer-nav">
72
+ <dx-sidebar-footer-nav
73
+ lang-value-path={langValuePath}
74
+ language={language}
75
+ languages={languages}
76
+ ></dx-sidebar-footer-nav>
77
+ </div>
78
+ </template>
79
+
80
+ <template lwc:if={isDesktop}>
81
+ <div lwc:if={hasSidebarFooter} class="footer-nav">
82
+ <dx-sidebar-footer-nav
83
+ lang-value-path={langValuePath}
84
+ language={language}
85
+ languages={languages}
86
+ bail-href={bailHref}
87
+ bail-label={bailLabel}
88
+ ></dx-sidebar-footer-nav>
89
+ </div>
73
90
  </template>
74
91
  </div>
75
92
  </template>
@@ -11,15 +11,6 @@ const MOBILE_SIZE_MATCH = "768px";
11
11
  export default class Sidebar extends SidebarBase {
12
12
  @api header: string = "";
13
13
 
14
- @api
15
- get value() {
16
- return this._value;
17
- }
18
-
19
- set value(value) {
20
- this._value = value;
21
- }
22
-
23
14
  @api
24
15
  get trees() {
25
16
  return this._trees;
@@ -37,13 +28,10 @@ export default class Sidebar extends SidebarBase {
37
28
  this.assignFilteredTrees();
38
29
  }
39
30
 
40
- private expanded: boolean = true;
41
31
  private _searchTimeout?: number;
42
- private _value?: string = undefined;
43
32
  private _trees!: Array<TreeNode>;
44
33
 
45
34
  private filteredTrees: Array<{ key: string; tree: TreeNode }> = [];
46
- private mobile: boolean = true;
47
35
  private searchText: string = "";
48
36
  private matchMedia!: MediaQueryList;
49
37
  private valueToLabel: { [key: string]: string } = {};
@@ -82,6 +70,10 @@ export default class Sidebar extends SidebarBase {
82
70
  ]);
83
71
  }
84
72
 
73
+ private get isDesktop(): boolean {
74
+ return !this.mobile;
75
+ }
76
+
85
77
  connectedCallback() {
86
78
  this.matchMedia = window.matchMedia(
87
79
  `(max-width: ${MOBILE_SIZE_MATCH})`
@@ -101,32 +93,6 @@ export default class Sidebar extends SidebarBase {
101
93
  this.matchMedia.removeEventListener("change", this.onMediaChange);
102
94
  }
103
95
 
104
- private onMediaChange = (event: MediaQueryListEvent | MediaQueryList) => {
105
- this.mobile = event.matches;
106
- this.expanded = !this.mobile;
107
- };
108
-
109
- private onSelect(event: CustomEvent) {
110
- this._value = event.detail.name;
111
-
112
- if (this.mobile) {
113
- this.onToggleClick();
114
- }
115
- }
116
-
117
- private onToggleClick() {
118
- this.expanded = !this.expanded;
119
- this.dispatchEvent(
120
- new CustomEvent("togglesidebar", {
121
- detail: {
122
- open: this.expanded,
123
- bubbles: true,
124
- composed: true
125
- }
126
- })
127
- );
128
- }
129
-
130
96
  /*
131
97
  * Debouncing this method: Do not apply searchText filter as long as this
132
98
  * function is being called to avoid running the recursivity logic very often.
@@ -8,29 +8,60 @@ a {
8
8
  }
9
9
 
10
10
  .sidebar-item {
11
- padding: var(--dx-g-spacing-smd) var(--dx-g-spacing-md);
11
+ padding: var(--dx-g-spacing-smd) var(--dx-g-spacing-lg)
12
+ var(--dx-g-spacing-smd) var(--dx-g-global-header-padding-horizontal);
13
+ }
14
+
15
+ .sidebar-item:not(.sidebar-item-selected):focus-visible {
16
+ padding: var(--dx-g-spacing-smd) 0;
17
+ margin: 0 var(--dx-g-spacing-lg) 0
18
+ var(--dx-g-global-header-padding-horizontal);
19
+ outline: var(--dx-g-spacing-2xs) solid var(--dx-g-blue-vibrant-40);
20
+ border-radius: var(--dx-g-spacing-2xs);
21
+ }
22
+
23
+ .sidebar-item-selected:focus-visible {
24
+ padding: 0 var(--dx-g-spacing-lg) 0
25
+ var(--dx-g-global-header-padding-horizontal);
26
+ outline: none;
27
+
28
+ .search-result {
29
+ outline: var(--dx-g-spacing-2xs) solid var(--dx-g-blue-vibrant-40);
30
+ border-radius: var(--dx-g-spacing-2xs);
31
+ padding: var(--dx-g-spacing-smd) 0;
32
+ }
12
33
  }
13
34
 
14
35
  .search-text {
15
- font-size: var(--dx-g-text-xs);
36
+ font-size: var(--dx-g-text-sm);
16
37
  font-family: var(--dx-g-font-sans);
17
- line-height: 18px;
38
+ line-height: var(--dx-g-text-lg);
39
+ font-weight: var(--dx-g-font-bold);
18
40
  overflow-wrap: break-word;
19
41
  }
20
42
 
21
43
  .description {
22
44
  -webkit-line-clamp: 3;
23
45
  overflow-wrap: break-word;
46
+
47
+ --dx-g-text-body-color: var(--dx-g-blue-vibrant-20);
48
+
49
+ font-weight: var(--dx-g-font-normal);
50
+ display: block;
24
51
  }
25
52
 
26
53
  .title {
27
54
  color: var(--dx-g-text-heading-color);
28
55
  }
29
56
 
57
+ .title:hover {
58
+ color: var(--dx-g-blue-vibrant-50);
59
+ }
60
+
30
61
  .bold {
31
62
  font-weight: 700;
32
63
  }
33
64
 
34
65
  a > *:not(:last-child) {
35
- margin-bottom: 2px;
66
+ margin-bottom: var(--dx-g-spacing-xs);
36
67
  }
@@ -1,14 +1,20 @@
1
1
  <template>
2
2
  <a class={className} href={href} onclick={onClick}>
3
- <span class="title search-text">
4
- <template for:each={titleChunks} for:item="chunk">
5
- <span class={chunk.class} key={chunk.id}>{chunk.value}</span>
6
- </template>
7
- </span>
8
- <span class="description dx-text-body-3 sidebar-item-truncate-text">
9
- <template for:each={descriptionChunks} for:item="chunk">
10
- <span class={chunk.class} key={chunk.id}>{chunk.value}</span>
11
- </template>
12
- </span>
3
+ <div class="search-result">
4
+ <span class="title search-text">
5
+ <template for:each={titleChunks} for:item="chunk">
6
+ <span class={chunk.class} key={chunk.id}>
7
+ {chunk.value}
8
+ </span>
9
+ </template>
10
+ </span>
11
+ <span class="description dx-text-body-3 sidebar-item-truncate-text">
12
+ <template for:each={descriptionChunks} for:item="chunk">
13
+ <span class={chunk.class} key={chunk.id}>
14
+ {chunk.value}
15
+ </span>
16
+ </template>
17
+ </span>
18
+ </div>
13
19
  </a>
14
20
  </template>
@@ -11,22 +11,31 @@ a {
11
11
  );
12
12
 
13
13
  position: relative;
14
+ height: var(--dx-g-spacing-3xl);
15
+ border-radius: var(--dx-g-spacing-sm) var(--dx-g-spacing-sm) 0 0;
16
+ }
17
+
18
+ .nav-list-item_default {
19
+ padding: var(--dx-g-spacing-smd) var(--dx-g-spacing-lg);
20
+ justify-content: center;
14
21
  display: flex;
15
- align-items: center;
16
- height: var(--dx-g-spacing-xl);
17
- font-family: var(--dx-g-font-display);
18
- white-space: nowrap;
22
+ font-family: var(--dx-g-font-sans);
23
+ font-size: var(--dx-g-text-base);
24
+ line-height: var(--dx-g-spacing-lg);
25
+ font-weight: var(--dx-g-font-normal);
26
+ }
27
+
28
+ .nav-list-item_default:hover {
29
+ border-radius: var(--dx-g-spacing-sm) var(--dx-g-spacing-sm) 0 0;
30
+ background: var(--dx-g-cloud-blue-vibrant-95);
19
31
  color: var(--dx-g-blue-vibrant-20);
20
- transition: var(--dx-g-transition-hue-1x);
21
- cursor: pointer;
22
- outline-offset: -1px;
23
32
  }
24
33
 
25
- .nav-list-item_default {
26
- border: 0;
27
- border-radius: var(--dx-g-spacing-md);
28
- font-size: var(--dx-g-text-sm);
29
- padding: 0 var(--horizontal-spacing);
34
+ .nav-list-item_default:focus-visible {
35
+ border-radius: var(--dx-g-spacing-sm) var(--dx-g-spacing-sm) 0 0;
36
+ background: var(--dx-g-cloud-blue-vibrant-95);
37
+ color: var(--dx-g-blue-vibrant-20);
38
+ outline: 2px solid var(--dx-g-blue-vibrant-60);
30
39
  }
31
40
 
32
41
  .nav-list-item_small {
@@ -46,8 +55,6 @@ button.nav-list-item_small > dx-icon {
46
55
  margin-left: var(--dx-g-spacing-xs);
47
56
  }
48
57
 
49
- .nav-list-item_default:hover,
50
- .nav-list-item_default:active,
51
58
  :host([aria-expanded="true"]) button.nav-list-item_default {
52
59
  background: var(
53
60
  --dx-g-brand-current-button-color-background-inactive,
@@ -76,11 +83,26 @@ button.nav-list-item:active > dx-icon,
76
83
  }
77
84
 
78
85
  .nav-list-item_default.state-active {
79
- background: var(
80
- --dx-g-brand-current-button-color-background-active,
81
- var(--dx-g-brand-default-button-color-background-active)
82
- );
83
- color: var(--dx-g-brand-current-color, var(--dx-g-brand-default-color));
86
+ color: var(--dx-g-blue-vibrant-50);
87
+ font-weight: var(--dx-g-font-bold);
88
+ padding: var(--dx-g-spacing-smd) var(--dx-g-spacing-lg)
89
+ var(--dx-g-spacing-sm) var(--dx-g-spacing-lg);
90
+ border-bottom: var(--dx-g-spacing-xs) solid var(--dx-g-blue-vibrant-50);
91
+ }
92
+
93
+ .nav-list-item_default.state-active:hover {
94
+ border-radius: var(--dx-g-spacing-sm) var(--dx-g-spacing-sm) 0 0;
95
+ background: var(--dx-g-cloud-blue-vibrant-95);
96
+ border-bottom: var(--dx-g-spacing-xs) solid var(--dx-g-blue-vibrant-20);
97
+ color: var(--dx-g-blue-vibrant-20);
98
+ }
99
+
100
+ .nav-list-item_default.state-active:focus-visible {
101
+ border-radius: var(--dx-g-spacing-sm) var(--dx-g-spacing-sm) 0 0;
102
+ background: var(--dx-g-cloud-blue-vibrant-95);
103
+ border-bottom: var(--dx-g-spacing-xs) solid var(--dx-g-blue-vibrant-20);
104
+ outline: 2px solid var(--dx-g-blue-vibrant-60);
105
+ color: var(--dx-g-blue-vibrant-20);
84
106
  }
85
107
 
86
108
  @media (max-width: 1160px) {
@@ -100,3 +122,10 @@ button.nav-list-item:active > dx-icon,
100
122
  );
101
123
  }
102
124
  }
125
+
126
+ @media (max-width: 768px) {
127
+ .nav-list-item {
128
+ height: var(--dx-g-spacing-3xl);
129
+ display: flex;
130
+ }
131
+ }
@@ -14,8 +14,8 @@ button:focus {
14
14
  }
15
15
 
16
16
  .tree-children-loading {
17
- margin: var(--dx-g-spacing-sm) var(--dx-g-spacing-md) var(--dx-g-spacing-md)
18
- var(--dx-g-spacing-md);
17
+ margin: var(--dx-g-spacing-sm) var(--dx-g-spacing-lg) var(--dx-g-spacing-md)
18
+ var(--dx-g-global-header-padding-horizontal);
19
19
  }
20
20
 
21
21
  @media (max-width: 768px) {
@@ -23,21 +23,25 @@
23
23
  --tile-height: 20px;
24
24
 
25
25
  font-family: var(--dx-g-font-sans);
26
- font-size: 13px;
26
+ font-size: 14px;
27
27
  line-height: var(--tile-height);
28
+ font-weight: var(--dx-g-font-normal);
28
29
  }
29
30
 
30
31
  .tile-root {
31
- font-family: var(--dx-g-font-display);
32
+ font-family: var(--dx-g-font-sans);
32
33
  font-size: var(--dx-g-text-sm);
33
- font-weight: var(--dx-g-font-demi);
34
- color: var(--dx-g-blue-vibrant-30);
34
+ font-weight: var(--dx-g-font-bold);
35
+ color: var(--dx-g-blue-vibrant-20);
35
36
  display: block;
36
37
  }
37
38
 
38
39
  .tile-icon {
39
40
  align-items: center;
40
41
  height: var(--tile-height);
42
+ padding: calc(var(--dx-g-spacing-sm) + var(--dx-g-spacing-2xs))
43
+ calc(var(--dx-g-spacing-xs) + 2px)
44
+ calc(var(--dx-g-spacing-sm) + var(--dx-g-spacing-2xs)) 0;
41
45
  }
42
46
 
43
47
  .tile-label {
@@ -54,95 +58,102 @@
54
58
 
55
59
  .tile-with-children .tile-expand-icon {
56
60
  order: 1;
57
- padding-right: var(--dx-g-spacing-xs);
58
61
  }
59
62
 
60
63
  .indentation {
61
- padding-left: var(--indentation);
64
+ padding-left: calc(var(--indentation) + var(--dx-g-spacing-2xs));
62
65
  }
63
66
 
64
67
  .tile-with-children .indentation {
65
68
  padding-left: calc(var(--indentation) - var(--base-indentation));
66
69
  }
67
70
 
71
+ .tile-root-with-child .indentation {
72
+ padding-left: 0;
73
+ }
74
+
75
+ [aria-level="2"] {
76
+ --indentation: var(--dx-g-spacing-md);
77
+ }
78
+
68
79
  [aria-level="3"] {
69
- --indentation: var(--base-indentation);
80
+ --indentation: calc(2 * var(--base-indentation));
70
81
  }
71
82
 
72
83
  [aria-level="4"] {
73
- --indentation: calc(2 * var(--base-indentation));
84
+ --indentation: calc(3 * var(--base-indentation));
74
85
  }
75
86
 
76
87
  [aria-level="5"] {
77
- --indentation: calc(3 * var(--base-indentation));
88
+ --indentation: calc(4 * var(--base-indentation));
78
89
  }
79
90
 
80
91
  [aria-level="6"] {
81
- --indentation: calc(4 * var(--base-indentation));
92
+ --indentation: calc(5 * var(--base-indentation));
82
93
  }
83
94
 
84
95
  [aria-level="7"] {
85
- --indentation: calc(5 * var(--base-indentation));
96
+ --indentation: calc(6 * var(--base-indentation));
86
97
  }
87
98
 
88
99
  [aria-level="8"] {
89
- --indentation: calc(6 * var(--base-indentation));
100
+ --indentation: calc(7 * var(--base-indentation));
90
101
  }
91
102
 
92
103
  [aria-level="9"] {
93
- --indentation: calc(7 * var(--base-indentation));
104
+ --indentation: calc(8 * var(--base-indentation));
94
105
  }
95
106
 
96
107
  [aria-level="10"] {
97
- --indentation: calc(8 * var(--base-indentation));
108
+ --indentation: calc(9 * var(--base-indentation));
98
109
  }
99
110
 
100
111
  [aria-level="11"] {
101
- --indentation: calc(9 * var(--base-indentation));
112
+ --indentation: calc(10 * var(--base-indentation));
102
113
  }
103
114
 
104
115
  [aria-level="12"] {
105
- --indentation: calc(10 * var(--base-indentation));
116
+ --indentation: calc(11 * var(--base-indentation));
106
117
  }
107
118
 
108
119
  [aria-level="13"] {
109
- --indentation: calc(11 * var(--base-indentation));
120
+ --indentation: calc(12 * var(--base-indentation));
110
121
  }
111
122
 
112
123
  [aria-level="14"] {
113
- --indentation: calc(12 * var(--base-indentation));
124
+ --indentation: calc(13 * var(--base-indentation));
114
125
  }
115
126
 
116
127
  [aria-level="15"] {
117
- --indentation: calc(13 * var(--base-indentation));
128
+ --indentation: calc(14 * var(--base-indentation));
118
129
  }
119
130
 
120
131
  [aria-level="16"] {
121
- --indentation: calc(14 * var(--base-indentation));
132
+ --indentation: calc(15 * var(--base-indentation));
122
133
  }
123
134
 
124
135
  [aria-level="17"] {
125
- --indentation: calc(15 * var(--base-indentation));
136
+ --indentation: calc(16 * var(--base-indentation));
126
137
  }
127
138
 
128
139
  [aria-level="18"] {
129
- --indentation: calc(16 * var(--base-indentation));
140
+ --indentation: calc(17 * var(--base-indentation));
130
141
  }
131
142
 
132
143
  [aria-level="19"] {
133
- --indentation: calc(17 * var(--base-indentation));
144
+ --indentation: calc(18 * var(--base-indentation));
134
145
  }
135
146
 
136
147
  [aria-level="20"] {
137
- --indentation: calc(18 * var(--base-indentation));
148
+ --indentation: calc(19 * var(--base-indentation));
138
149
  }
139
150
 
140
151
  [aria-level="21"] {
141
- --indentation: calc(19 * var(--base-indentation));
152
+ --indentation: calc(20 * var(--base-indentation));
142
153
  }
143
154
 
144
155
  [aria-level="22"] {
145
- --indentation: calc(20 * var(--base-indentation));
156
+ --indentation: calc(21 * var(--base-indentation));
146
157
  }
147
158
 
148
159
  dx-metadata-badge {
@@ -181,10 +192,10 @@ a {
181
192
 
182
193
  a:link,
183
194
  a:visited {
184
- color: var(--dx-g-gray-10);
195
+ color: var(--dx-g-blue-vibrant-20);
185
196
  }
186
197
 
187
198
  a:visited.tile-root,
188
199
  a:link.tile-root {
189
- color: var(--dx-g-blue-vibrant-30);
200
+ color: var(--dx-g-blue-vibrant-20);
190
201
  }
@@ -1,12 +1,6 @@
1
1
  <template>
2
2
  <a href={href} class={tileClass} target={target}>
3
3
  <div class="flex indentation" role="heading" aria-level={tileAriaLevel}>
4
- <span
5
- class="tile-label sidebar-item-truncate-text"
6
- title={treeNode.label}
7
- >
8
- {treeNode.label}
9
- </span>
10
4
  <div class="flex tile-expand-icon tile-icon" if:true={showArrow}>
11
5
  <dx-icon
12
6
  aria-expanded={isExpanded}
@@ -16,6 +10,12 @@
16
10
  onclick={onClickIcon}
17
11
  ></dx-icon>
18
12
  </div>
13
+ <span
14
+ class="tile-label sidebar-item-truncate-text"
15
+ title={treeNode.label}
16
+ >
17
+ {treeNode.label}
18
+ </span>
19
19
  <dx-metadata-badge
20
20
  if:true={showMethod}
21
21
  class="flex tile-icon"
@@ -37,7 +37,7 @@ export default class TreeTile extends LightningElement {
37
37
  }
38
38
 
39
39
  private get iconSize() {
40
- return this.isRoot ? "small" : "xsmall";
40
+ return "xsmall";
41
41
  }
42
42
 
43
43
  private get metadataBadgeColor(): string | undefined {
@@ -62,6 +62,7 @@ export default class TreeTile extends LightningElement {
62
62
  return cx("tile", "sidebar-item", {
63
63
  "tile-root": this.isRoot,
64
64
  "tile-with-children": !this.isRoot && this.hasChildren,
65
+ "tile-root-with-child": this.isRoot && this.showArrow,
65
66
  "sidebar-item-selected": this.isSelected
66
67
  });
67
68
  }