@salesforcedevs/dx-components 1.3.194-langpicker3-alpha → 1.3.194-langpicker8-alpha

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforcedevs/dx-components",
3
- "version": "1.3.194-langpicker3-alpha",
3
+ "version": "1.3.194-langpicker8-alpha",
4
4
  "description": "DX Lightning web components",
5
5
  "license": "MIT",
6
6
  "engines": {
@@ -38,7 +38,7 @@
38
38
  }
39
39
 
40
40
  .option:active {
41
- background: var(--dx-g-blue-vibrant-95) !important;
41
+ background: var(--dx-g-cloud-blue-vibrant-95) !important;
42
42
  }
43
43
 
44
44
  .option:not(.option-active):hover {
@@ -46,7 +46,7 @@
46
46
  }
47
47
 
48
48
  .option-active {
49
- background: var(--dx-g-blue-vibrant-95);
49
+ background: var(--dx-g-cloud-blue-vibrant-95);
50
50
  }
51
51
 
52
52
  .option_details {
@@ -79,6 +79,22 @@
79
79
  -webkit-box-orient: vertical;
80
80
  }
81
81
 
82
+ .option-docoption {
83
+ align-items: center;
84
+ flex-direction: row;
85
+ justify-content: center;
86
+ }
87
+
88
+ .option-docoption .option_label {
89
+ color: var(--dx-g-gray-10);
90
+ font-weight: normal !important;
91
+ }
92
+
93
+ .option-docoption.option-active .option_label {
94
+ color: var(--dx-c-dropdown-option-label-color, var(--dx-g-blue-vibrant-50));
95
+ font-weight: var(--dx-g-font-bold);
96
+ }
97
+
82
98
  .option_label > *:last-child {
83
99
  margin-left: var(--dx-g-spacing-sm);
84
100
  }
@@ -96,7 +96,7 @@
96
96
  <div if:false={mobile} class="footer-nav">
97
97
  <dx-dropdown
98
98
  if:true={hasLanguages}
99
- class="header_lang-dropdown"
99
+ class="footer_lang-dropdown"
100
100
  options={languages}
101
101
  small
102
102
  value-path={langValuePath}
@@ -69,25 +69,16 @@
69
69
  ></dx-empty-state>
70
70
  </template>
71
71
 
72
- <div if:false={mobile} class="footer-nav">
73
- <dx-dropdown
74
- if:true={hasLanguages}
75
- class="header_lang-dropdown"
76
- options={languages}
77
- small
78
- value-path={langValuePath}
79
- value={language}
80
- onchange={onLangChange}
81
- >
82
- <dx-button
83
- aria-label="Select Language"
84
- variant="inline"
85
- icon-size="small"
86
- icon-symbol="world"
87
- >
88
- {languageLabel}
89
- </dx-button>
90
- </dx-dropdown>
91
- </div>
72
+ <template if:true={hasSidebarFooter}>
73
+ <div if:false={mobile} class="footer-nav">
74
+ <doc-footer-nav
75
+ lang-value-path={langValuePath}
76
+ language={language}
77
+ languages={languages}
78
+ bail-href={bailHref}
79
+ bail-label={bailLabel}
80
+ ></doc-footer-nav>
81
+ </div>
82
+ </template>
92
83
  </div>
93
84
  </template>
@@ -5,7 +5,6 @@ import { TreeNode } from "typings/custom";
5
5
  import { toJson } from "dxUtils/normalizers";
6
6
  import { SidebarBase } from "dxBaseElements/sidebarBase";
7
7
  import type { OptionWithLink } from "typings/custom";
8
- import get from "lodash.get";
9
8
 
10
9
  const WAIT_TIME = 500;
11
10
  const MOBILE_SIZE_MATCH = "768px";
@@ -13,6 +12,10 @@ const MOBILE_SIZE_MATCH = "768px";
13
12
  export default class Sidebar extends SidebarBase {
14
13
  @api header: string = "";
15
14
  @api langValuePath: string = "id";
15
+ @api languages!: OptionWithLink[];
16
+ @api language!: string;
17
+ @api bailHref!: string;
18
+ @api bailLabel!: string;
16
19
 
17
20
  @api
18
21
  get value() {
@@ -40,26 +43,6 @@ export default class Sidebar extends SidebarBase {
40
43
  this.assignFilteredTrees();
41
44
  }
42
45
 
43
- @api
44
- get languages() {
45
- return this._languages;
46
- }
47
-
48
- set languages(value) {
49
- this._languages = toJson(value);
50
- }
51
-
52
- @api
53
- get language() {
54
- return this._language;
55
- }
56
-
57
- set language(value) {
58
- if (this._language !== value) {
59
- this._language = value;
60
- }
61
- }
62
-
63
46
  private expanded: boolean = true;
64
47
  private _searchTimeout?: number;
65
48
  private _value?: string = undefined;
@@ -71,9 +54,6 @@ export default class Sidebar extends SidebarBase {
71
54
  private matchMedia!: MediaQueryList;
72
55
  private valueToLabel: { [key: string]: string } = {};
73
56
 
74
- private _languages!: OptionWithLink[];
75
- private _language: string | null = null;
76
-
77
57
  private get anyResultMatch() {
78
58
  return this.filteredTrees.length > 0;
79
59
  }
@@ -217,24 +197,10 @@ export default class Sidebar extends SidebarBase {
217
197
  }
218
198
  }
219
199
 
220
- private get hasLanguages(): boolean {
221
- return !!(this.languages && this.languages.length);
222
- }
223
-
224
- private get languageLabel(): string {
225
- return (
226
- (this.language &&
227
- this.languages.find(
228
- (lang) => get(lang, this.langValuePath) === this.language
229
- )?.label) ||
230
- this.languages[0].label
200
+ private get hasSidebarFooter(): boolean {
201
+ return !!(
202
+ (this.languages && toJson(this.languages).length > 1) ||
203
+ Boolean(this.bailHref)
231
204
  );
232
205
  }
233
-
234
- private onLangChange(event: CustomEvent<string>): void {
235
- const { detail } = event;
236
- this._language = detail;
237
-
238
- this.dispatchEvent(new CustomEvent("langchange", { detail }));
239
- }
240
206
  }
@@ -13,16 +13,13 @@
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
-
20
16
  dx-tree {
21
17
  border-top: 1px solid var(--dx-g-gray-90);
22
18
  }
23
19
 
24
20
  dx-tree:last-child {
25
21
  border-bottom: 1px solid var(--dx-g-gray-90);
22
+ margin-bottom: var(--dx-g-spacing-sm);
26
23
  }
27
24
 
28
25
  .header {
@@ -77,8 +74,7 @@ dx-tree:last-child {
77
74
  border-right: 1px solid var(--dx-g-gray-90);
78
75
  box-shadow: 2px 0 0 0 var(--border-color);
79
76
  min-height: var(--dx-c-sidebar-min-height);
80
- padding: var(--dx-c-sidebar-vertical-padding) 0
81
- var(--dx-c-sidebar-vertical-padding) var(--left-spacing);
77
+ padding: var(--dx-c-sidebar-vertical-padding) 0 var(--dx-g-spacing-2xs) 0;
82
78
  position: relative;
83
79
  }
84
80
 
@@ -146,7 +142,7 @@ dx-tree:last-child {
146
142
  background: white;
147
143
  border-top: 1px solid var(--dx-g-gray-90);
148
144
  border-right: 1px solid var(--dx-g-gray-90);
149
- line-height: var(--dx-g-spacing-xl);
145
+ height: var(--dx-g-spacing-xl);
150
146
  }
151
147
 
152
148
  @media screen and (max-width: 768px) {
@@ -154,4 +150,12 @@ dx-tree:last-child {
154
150
  padding-left: var(--dx-g-spacing-lg);
155
151
  padding-right: var(--dx-g-spacing-md);
156
152
  }
153
+
154
+ .header_l2_group-title .header_lang-dropdown {
155
+ margin-left: auto;
156
+ }
157
+
158
+ .header_lang-dropdown > dx-button {
159
+ padding: var(--dx-g-spacing-2xs) 0;
160
+ }
157
161
  }