@salesforcedevs/dx-components 1.3.241-ux-alpha1 → 1.3.242-alpha2

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 (29) hide show
  1. package/lwc.config.json +0 -1
  2. package/package.json +1 -1
  3. package/src/assets/icons/salesforcebrand-sprite/svg/symbols.svg +2 -2
  4. package/src/modules/dx/codeBlock/codeBlock.html +1 -1
  5. package/src/modules/dx/codeBlock/codeBlock.ts +60 -6
  6. package/src/modules/dx/dropdownOption/dropdownOption.css +3 -5
  7. package/src/modules/dx/popover/popover.css +2 -2
  8. package/src/modules/dx/searchResults/coveo.css +1 -1
  9. package/src/modules/dx/sidebar/sidebar.css +5 -8
  10. package/src/modules/dx/sidebar/sidebar.html +3 -28
  11. package/src/modules/dx/sidebar/sidebar.ts +42 -2
  12. package/src/modules/dx/sidebarOld/sidebarOld.css +0 -1
  13. package/src/modules/dx/sidebarOld/sidebarOld.html +2 -22
  14. package/src/modules/dx/sidebarOld/sidebarOld.ts +38 -0
  15. package/src/modules/dx/sidebarSearchResult/sidebarSearchResult.css +4 -26
  16. package/src/modules/dx/tab/tab.css +20 -15
  17. package/src/modules/dx/treeItem/treeItem.css +2 -2
  18. package/src/modules/dx/treeTile/treeTile.css +28 -37
  19. package/src/modules/dx/treeTile/treeTile.html +6 -6
  20. package/src/modules/dx/treeTile/treeTile.ts +1 -2
  21. package/src/modules/dxBaseElements/headerBase/headerBase.ts +1 -1
  22. package/src/modules/dxBaseElements/sidebarBase/sidebarBase.ts +1 -96
  23. package/src/modules/dxConstants/brands/brands.ts +1 -1
  24. package/src/modules/dxHelpers/commonHeader/commonHeader.css +1 -2
  25. package/src/modules/dxHelpers/commonSidebar/commonSidebar.css +13 -36
  26. package/src/modules/dxHelpers/commonTreeItem/commonTreeItem.css +3 -22
  27. package/src/modules/dx/sidebarFooterNav/sidebarFooterNav.css +0 -52
  28. package/src/modules/dx/sidebarFooterNav/sidebarFooterNav.html +0 -55
  29. package/src/modules/dx/sidebarFooterNav/sidebarFooterNav.ts +0 -106
@@ -23,23 +23,21 @@
23
23
  --tile-height: 20px;
24
24
 
25
25
  font-family: var(--dx-g-font-sans);
26
- font-size: 14px;
26
+ font-size: 13px;
27
27
  line-height: var(--tile-height);
28
- font-weight: var(--dx-g-font-normal);
29
28
  }
30
29
 
31
30
  .tile-root {
32
- font-family: var(--dx-g-font-sans);
31
+ font-family: var(--dx-g-font-display);
33
32
  font-size: var(--dx-g-text-sm);
34
- font-weight: var(--dx-g-font-bold);
35
- color: var(--dx-g-blue-vibrant-20);
33
+ font-weight: var(--dx-g-font-demi);
34
+ color: var(--dx-g-blue-vibrant-30);
36
35
  display: block;
37
36
  }
38
37
 
39
38
  .tile-icon {
40
39
  align-items: center;
41
40
  height: var(--tile-height);
42
- padding-right: calc(var(--dx-g-spacing-xs) + 2px);
43
41
  }
44
42
 
45
43
  .tile-label {
@@ -56,102 +54,95 @@
56
54
 
57
55
  .tile-with-children .tile-expand-icon {
58
56
  order: 1;
57
+ padding-right: var(--dx-g-spacing-xs);
59
58
  }
60
59
 
61
60
  .indentation {
62
- padding-left: calc(var(--indentation) + var(--dx-g-spacing-2xs));
61
+ padding-left: var(--indentation);
63
62
  }
64
63
 
65
64
  .tile-with-children .indentation {
66
65
  padding-left: calc(var(--indentation) - var(--base-indentation));
67
66
  }
68
67
 
69
- .tile-root-with-child .indentation {
70
- padding-left: 0;
71
- }
72
-
73
- [aria-level="2"] {
74
- --indentation: var(--dx-g-spacing-md);
75
- }
76
-
77
68
  [aria-level="3"] {
78
- --indentation: calc(2 * var(--base-indentation));
69
+ --indentation: var(--base-indentation);
79
70
  }
80
71
 
81
72
  [aria-level="4"] {
82
- --indentation: calc(3 * var(--base-indentation));
73
+ --indentation: calc(2 * var(--base-indentation));
83
74
  }
84
75
 
85
76
  [aria-level="5"] {
86
- --indentation: calc(4 * var(--base-indentation));
77
+ --indentation: calc(3 * var(--base-indentation));
87
78
  }
88
79
 
89
80
  [aria-level="6"] {
90
- --indentation: calc(5 * var(--base-indentation));
81
+ --indentation: calc(4 * var(--base-indentation));
91
82
  }
92
83
 
93
84
  [aria-level="7"] {
94
- --indentation: calc(6 * var(--base-indentation));
85
+ --indentation: calc(5 * var(--base-indentation));
95
86
  }
96
87
 
97
88
  [aria-level="8"] {
98
- --indentation: calc(7 * var(--base-indentation));
89
+ --indentation: calc(6 * var(--base-indentation));
99
90
  }
100
91
 
101
92
  [aria-level="9"] {
102
- --indentation: calc(8 * var(--base-indentation));
93
+ --indentation: calc(7 * var(--base-indentation));
103
94
  }
104
95
 
105
96
  [aria-level="10"] {
106
- --indentation: calc(9 * var(--base-indentation));
97
+ --indentation: calc(8 * var(--base-indentation));
107
98
  }
108
99
 
109
100
  [aria-level="11"] {
110
- --indentation: calc(10 * var(--base-indentation));
101
+ --indentation: calc(9 * var(--base-indentation));
111
102
  }
112
103
 
113
104
  [aria-level="12"] {
114
- --indentation: calc(11 * var(--base-indentation));
105
+ --indentation: calc(10 * var(--base-indentation));
115
106
  }
116
107
 
117
108
  [aria-level="13"] {
118
- --indentation: calc(12 * var(--base-indentation));
109
+ --indentation: calc(11 * var(--base-indentation));
119
110
  }
120
111
 
121
112
  [aria-level="14"] {
122
- --indentation: calc(13 * var(--base-indentation));
113
+ --indentation: calc(12 * var(--base-indentation));
123
114
  }
124
115
 
125
116
  [aria-level="15"] {
126
- --indentation: calc(14 * var(--base-indentation));
117
+ --indentation: calc(13 * var(--base-indentation));
127
118
  }
128
119
 
129
120
  [aria-level="16"] {
130
- --indentation: calc(15 * var(--base-indentation));
121
+ --indentation: calc(14 * var(--base-indentation));
131
122
  }
132
123
 
133
124
  [aria-level="17"] {
134
- --indentation: calc(16 * var(--base-indentation));
125
+ --indentation: calc(15 * var(--base-indentation));
135
126
  }
136
127
 
137
128
  [aria-level="18"] {
138
- --indentation: calc(17 * var(--base-indentation));
129
+ --indentation: calc(16 * var(--base-indentation));
139
130
  }
140
131
 
141
132
  [aria-level="19"] {
142
- --indentation: calc(18 * var(--base-indentation));
133
+ --indentation: calc(17 * var(--base-indentation));
143
134
  }
144
135
 
145
136
  [aria-level="20"] {
146
- --indentation: calc(19 * var(--base-indentation));
137
+ --indentation: calc(18 * var(--base-indentation));
147
138
  }
148
139
 
149
140
  [aria-level="21"] {
150
- --indentation: calc(20 * var(--base-indentation));
141
+ --indentation: calc(19 * var(--base-indentation));
151
142
  }
152
143
 
153
144
  [aria-level="22"] {
154
- --indentation: calc(21 * var(--base-indentation));
145
+ --indentation: calc(20 * var(--base-indentation));
155
146
  }
156
147
 
157
148
  dx-metadata-badge {
@@ -190,10 +181,10 @@ a {
190
181
 
191
182
  a:link,
192
183
  a:visited {
193
- color: var(--dx-g-blue-vibrant-20);
184
+ color: var(--dx-g-gray-10);
194
185
  }
195
186
 
196
187
  a:visited.tile-root,
197
188
  a:link.tile-root {
198
- color: var(--dx-g-blue-vibrant-20);
189
+ color: var(--dx-g-blue-vibrant-30);
199
190
  }
@@ -1,6 +1,12 @@
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>
4
10
  <div class="flex tile-expand-icon tile-icon" if:true={showArrow}>
5
11
  <dx-icon
6
12
  aria-expanded={isExpanded}
@@ -10,12 +16,6 @@
10
16
  onclick={onClickIcon}
11
17
  ></dx-icon>
12
18
  </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 "xsmall";
40
+ return this.isRoot ? "small" : "xsmall";
41
41
  }
42
42
 
43
43
  private get metadataBadgeColor(): string | undefined {
@@ -62,7 +62,6 @@ 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,
66
65
  "sidebar-item-selected": this.isSelected
67
66
  });
68
67
  }
@@ -8,7 +8,7 @@ const VALID_BRANDS = [
8
8
  "analytics",
9
9
  "commerce",
10
10
  "employees",
11
- "data-cloud",
11
+ "data",
12
12
  "industries",
13
13
  "integration",
14
14
  "learning",
@@ -1,6 +1,4 @@
1
- import { LightningElement, api } from "lwc";
2
- import type { OptionWithLink } from "typings/custom";
3
- import { toJson } from "dxUtils/normalizers";
1
+ import { LightningElement } from "lwc";
4
2
 
5
3
  export const HEIGHT_OF_SIDEBAR_ITEM = 32;
6
4
  export const WAIT_TIME_BEFORE_SCROLL_IN_MS = 500;
@@ -10,35 +8,6 @@ export class SidebarBase extends LightningElement {
10
8
 
11
9
  selectedElement: HTMLElement | null = null;
12
10
  timerId: ReturnType<typeof setTimeout> | null = null;
13
- _languages!: OptionWithLink[];
14
- mobile: boolean = true;
15
- expanded: boolean = true;
16
- _value?: string = undefined;
17
- showBoxShadow: boolean = false;
18
- private scrolling: boolean = false;
19
-
20
- @api langValuePath: string = "id";
21
- @api language!: string;
22
- @api bailHref!: string;
23
- @api bailLabel!: string;
24
-
25
- @api
26
- get languages() {
27
- return this._languages;
28
- }
29
-
30
- set languages(value) {
31
- this._languages = toJson(value);
32
- }
33
-
34
- @api
35
- get value() {
36
- return this._value;
37
- }
38
-
39
- set value(value) {
40
- this._value = value;
41
- }
42
11
 
43
12
  get sidebarContent() {
44
13
  if (!this._sidebarContent) {
@@ -49,29 +18,6 @@ export class SidebarBase extends LightningElement {
49
18
  return this._sidebarContent;
50
19
  }
51
20
 
52
- /**
53
- * This method is to handle the scroll event for LNB and show box shadow
54
- * @param scrollEvent
55
- */
56
- handleScroll(scrollEvent: any) {
57
- const lnb = scrollEvent.target;
58
-
59
- if (!this.scrolling) {
60
- this.scrolling = true;
61
- // Set a timeout to handle scroll event after a delay
62
- setTimeout(() => {
63
- // Check if lnb is scrolled
64
- if (lnb.scrollTop > 0 && lnb.scrollHeight > lnb.clientHeight) {
65
- this.showBoxShadow = true;
66
- } else {
67
- this.showBoxShadow = false;
68
- }
69
- // Reset scrolling back to false after handling the scroll
70
- this.scrolling = false;
71
- }, 200);
72
- }
73
- }
74
-
75
21
  renderedCallback(): void {
76
22
  /**
77
23
  * Implementing debouncing kind of logic here to scroll to selected element once tree rendering is done
@@ -116,45 +62,4 @@ export class SidebarBase extends LightningElement {
116
62
  this.selectedElement = null;
117
63
  }
118
64
  }
119
-
120
- onMediaChange = (event: MediaQueryListEvent | MediaQueryList) => {
121
- this.mobile = event.matches;
122
- this.expanded = !this.mobile;
123
- };
124
-
125
- onSelect(event: CustomEvent) {
126
- this._value = event.detail.name;
127
-
128
- if (this.mobile) {
129
- this.onToggleClick();
130
- }
131
- }
132
-
133
- onToggleClick() {
134
- this.expanded = !this.expanded;
135
- this.dispatchEvent(
136
- new CustomEvent("togglesidebar", {
137
- detail: {
138
- open: this.expanded,
139
- bubbles: true,
140
- composed: true
141
- }
142
- })
143
- );
144
- }
145
-
146
- private get hasMobileSidebarFooter(): boolean {
147
- return this.mobile && this.languages?.length > 1 && this.expanded;
148
- }
149
-
150
- private get hasSidebarFooter(): boolean {
151
- return this.languages?.length > 1 || Boolean(this.bailHref);
152
- }
153
-
154
- private get sidebarContentClass(): string {
155
- const sidebarConterCss = "sidebar-content sidebar-content-tree";
156
- return this.hasSidebarFooter || this.hasMobileSidebarFooter
157
- ? sidebarConterCss + " sidebar-content-hasfooter"
158
- : sidebarConterCss;
159
- }
160
65
  }
@@ -2,7 +2,7 @@ import { Brand } from "typings/custom";
2
2
 
3
3
  export const BRANDS = [
4
4
  "employees",
5
- "data-cloud",
5
+ "data",
6
6
  "marketing",
7
7
  "partners",
8
8
  "commerce",
@@ -58,7 +58,7 @@ header.state-show-mobile-nav .header_l2_group-nav_overflow {
58
58
  /* Second row */
59
59
 
60
60
  .header_l2 {
61
- background: white;
61
+ background: var(--dx-g-brand-current-color-background);
62
62
  padding: var(--dx-g-spacing-lg) var(--dx-g-global-header-padding-horizontal);
63
63
  }
64
64
 
@@ -70,7 +70,6 @@ header.state-show-mobile-nav .header_l2_group-nav_overflow {
70
70
 
71
71
  .header_l2_group-title {
72
72
  flex-shrink: 0;
73
- padding-right: var(--dx-g-spacing-xl);
74
73
  }
75
74
 
76
75
  .header_l2_group-title
@@ -2,7 +2,7 @@
2
2
  @import "dxHelpers/text";
3
3
 
4
4
  :host {
5
- --dx-c-sidebar-width: 337px;
5
+ --dx-c-sidebar-width: 275px;
6
6
  --dx-c-sidebar-button-color: var(--dx-g-blue-vibrant-50);
7
7
  --dx-c-sidebar-button-background: white;
8
8
  --dx-c-sidebar-button-border: white;
@@ -13,6 +13,10 @@
13
13
  --dx-c-sidebar-vertical-padding: var(--dx-g-spacing-md);
14
14
  }
15
15
 
16
+ dx-tree:not(:last-child) {
17
+ margin-bottom: var(--dx-g-spacing-sm);
18
+ }
19
+
16
20
  .header {
17
21
  box-sizing: content-box;
18
22
  display: flex;
@@ -27,11 +31,8 @@
27
31
  }
28
32
 
29
33
  .padding-horizontal {
30
- padding: 0 var(--dx-g-spacing-lg) 0 var(--dx-g-spacing-2xl);
31
- }
32
-
33
- .padding-horizontal[show-shadow="true"] {
34
- box-shadow: 0 4px 4px -2px var(--dx-g-gray-90);
34
+ padding-left: var(--dx-g-spacing-md);
35
+ padding-right: var(--dx-g-spacing-md);
35
36
  }
36
37
 
37
38
  .header-title {
@@ -52,7 +53,7 @@
52
53
  }
53
54
 
54
55
  .container {
55
- background-color: white;
56
+ background-color: var(--dx-g-gray-95);
56
57
  display: flex;
57
58
  flex-direction: column;
58
59
  height: var(--dx-c-sidebar-height);
@@ -65,10 +66,10 @@
65
66
  var(--dx-c-sidebar-left-padding) - var(--dx-g-spacing-md)
66
67
  );
67
68
 
68
- border-right: 1px solid var(--dx-g-gray-90);
69
69
  box-shadow: 2px 0 0 0 var(--border-color);
70
70
  min-height: var(--dx-c-sidebar-min-height);
71
- padding: var(--dx-c-sidebar-vertical-padding) 0 var(--dx-g-spacing-2xs) 0;
71
+ padding: var(--dx-c-sidebar-vertical-padding) 0
72
+ var(--dx-c-sidebar-vertical-padding) var(--left-spacing);
72
73
  position: relative;
73
74
  }
74
75
 
@@ -113,7 +114,7 @@
113
114
  }
114
115
 
115
116
  .search {
116
- padding-bottom: var(--dx-g-spacing-smd);
117
+ padding-bottom: var(--dx-g-spacing-md);
117
118
  }
118
119
 
119
120
  .search-box {
@@ -126,33 +127,9 @@
126
127
  white-space: nowrap;
127
128
  }
128
129
 
129
- .footer-nav {
130
- display: flex;
131
- padding: var(--dx-g-spacing-xs) var(--dx-g-spacing-sm)
132
- var(--dx-g-spacing-xs) var(--dx-g-spacing-xl);
133
- position: fixed;
134
- bottom: 0;
135
- left: 0;
136
- width: inherit;
137
- background: white;
138
- border-top: 1px solid var(--dx-g-gray-90);
139
- border-right: 1px solid var(--dx-g-gray-90);
140
- height: var(--dx-g-spacing-2xl);
141
- align-items: center;
142
- }
143
-
144
- .sidebar-content-hasfooter {
145
- margin-bottom: var(--dx-g-spacing-2xl);
146
- }
147
-
148
- @media screen and (max-width: 1279px) {
149
- .padding-horizontal {
150
- padding-left: var(--dx-g-spacing-xl);
151
- }
152
- }
153
-
154
- @media screen and (max-width: 767px) {
130
+ @media screen and (max-width: 768px) {
155
131
  .padding-horizontal {
156
132
  padding-left: var(--dx-g-spacing-lg);
133
+ padding-right: var(--dx-g-spacing-md);
157
134
  }
158
135
  }
@@ -8,33 +8,14 @@
8
8
 
9
9
  .sidebar-item-selected {
10
10
  background: var(--dx-g-cloud-blue-vibrant-95);
11
- box-shadow: inset var(--dx-g-spacing-xs) 0 0 0 var(--dx-g-blue-vibrant-40);
11
+ box-shadow: inset var(--dx-g-spacing-xs) 0 0 0 var(--dx-g-blue-vibrant-60);
12
12
  border-radius: 0;
13
- color: var(--dx-g-blue-vibrant-40) !important;
14
13
  }
15
14
 
16
15
  .sidebar-item {
17
- padding: 6px var(--dx-g-spacing-lg) 6px var(--dx-g-spacing-2xl);
18
- }
19
-
20
- .sidebar-item:focus-visible {
21
- margin: 0 calc(var(--dx-g-spacing-2xs) + 1px);
22
- outline: 2px solid var(--dx-g-blue-vibrant-40);
23
- border-radius: 2px;
16
+ padding: 6px var(--dx-g-spacing-md);
24
17
  }
25
18
 
26
19
  .sidebar-item:not(.sidebar-item-selected):hover {
27
- color: var(--dx-g-blue-vibrant-50);
28
- }
29
-
30
- @media (max-width: 1279px) {
31
- .sidebar-item {
32
- padding: 6px var(--dx-g-spacing-lg) 6px var(--dx-g-spacing-xl);
33
- }
34
- }
35
-
36
- @media (max-width: 767px) {
37
- .sidebar-item {
38
- padding: 6px var(--dx-g-spacing-lg) 6px var(--dx-g-spacing-lg);
39
- }
20
+ background-color: var(--dx-g-gray-90);
40
21
  }
@@ -1,52 +0,0 @@
1
- @import "dxHelpers/reset";
2
-
3
- :host {
4
- --button-primary-color: var(--dx-g-blue-vibrant-50);
5
- --button-primary-color-hover: var(--dx-g-cloud-blue-vibrant-95);
6
- --popover-container-open-transform: translateX(-4px) translateY(-8px);
7
- --popover-transition: none;
8
- --dx-c-dropdown-option-font-weight: normal;
9
- --dx-c-dropdown-option-label-color: var(--dx-g-gray-10);
10
- }
11
-
12
- .footer-display {
13
- display: flex;
14
- }
15
-
16
- .footer_lang-dropdown {
17
- --dx-c-button-primary-color: var(--button-primary-color);
18
- --border-color: var(--button-primary-color);
19
-
20
- display: flex;
21
- padding: 0 var(--dx-g-spacing-md);
22
- height: var(--dx-g-spacing-xl);
23
- border-radius: var(--dx-g-spacing-xs);
24
- align-items: center;
25
- }
26
-
27
- .footer_lang-dropdown[aria-expanded="true"] {
28
- background-color: var(--dx-g-cloud-blue-vibrant-95);
29
-
30
- --border-color: var(--dx-g-cloud-blue-vibrant-95);
31
- }
32
-
33
- .footer_lang-dropdown:hover,
34
- .footer_lang-dropdown:active,
35
- .footer_lang-dropdown:focus,
36
- .pdf_bail-link:hover {
37
- background-color: var(--button-primary-color-hover);
38
-
39
- --border-color: var(--button-primary-color-hover);
40
- }
41
-
42
- .pdf_bail-link {
43
- --dx-c-button-horizontal-spacing: var(--dx-g-spacing-sm);
44
- --dx-c-button-priamry-color-hover: var(--dx-g-cloud-blue-vibrant-95);
45
-
46
- padding: 0 var(--dx-g-spacing-md);
47
- border-radius: var(--dx-g-spacing-xs);
48
- margin-right: var(--dx-g-spacing-sm);
49
- display: flex;
50
- height: var(--dx-g-spacing-xl);
51
- align-items: center;
52
- }
@@ -1,55 +0,0 @@
1
- <template>
2
- <div if:false={mobile} class="footer-display">
3
- <dx-button
4
- if:true={hasBailLink}
5
- aria-label={bailLabel}
6
- class="pdf_bail-link"
7
- href={bailHref}
8
- onclick={handleBailClick}
9
- variant="inline"
10
- icon-size="medium"
11
- icon-symbol="new_window"
12
- target="_blank"
13
- >
14
- {bailLabel}
15
- </dx-button>
16
- <dx-dropdown
17
- if:true={hasLanguages}
18
- options={languages}
19
- small
20
- value-path={langValuePath}
21
- value={language}
22
- onchange={onLangChange}
23
- >
24
- <dx-button
25
- class="footer_lang-dropdown"
26
- aria-label="Select Language"
27
- variant="inline"
28
- icon-size="medium"
29
- icon-symbol="world"
30
- >
31
- {languageLabel}
32
- </dx-button>
33
- </dx-dropdown>
34
- </div>
35
- <div if:true={mobile} class="footer-display">
36
- <dx-dropdown
37
- if:true={hasLanguages}
38
- options={languages}
39
- small
40
- value-path={langValuePath}
41
- value={language}
42
- onchange={onLangChange}
43
- >
44
- <dx-button
45
- class="footer_lang-dropdown"
46
- aria-label="Select Language"
47
- variant="inline"
48
- icon-size="small"
49
- icon-symbol="world"
50
- >
51
- {languageLabel}
52
- </dx-button>
53
- </dx-dropdown>
54
- </div>
55
- </template>