@salesforcedevs/dx-components 1.3.384-alpha → 1.3.384-alpha4

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-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@salesforcedevs/dx-components",
3
- "version": "1.3.377",
3
+ "version": "1.3.384-alpha2",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@salesforcedevs/dx-components",
9
- "version": "1.3.377",
9
+ "version": "1.3.384-alpha2",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "@coveo/headless": "2.32.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforcedevs/dx-components",
3
- "version": "1.3.384-alpha",
3
+ "version": "1.3.384-alpha4",
4
4
  "description": "DX Lightning web components",
5
5
  "license": "MIT",
6
6
  "engines": {
@@ -6,6 +6,11 @@
6
6
  --dx-c-track-thumb-size: 10px;
7
7
  --dx-c-threedot-menu-item-padding: 14px;
8
8
  --dx-c-audio-player-padding: 6px 13px 13px;
9
+ --dx-c-audio-background-color: var(--dx-g-audio-background-color, #e0e5f8);
10
+ --dx-c-audio-inner-div-background-color: var(
11
+ --dx-g-audio-inner-div-background-color,
12
+ #e0e5f8
13
+ );
9
14
  }
10
15
 
11
16
  dx-icon {
@@ -14,7 +19,7 @@ dx-icon {
14
19
 
15
20
  /* Outermost container/border */
16
21
  .custom-audio-player {
17
- background-color: var(--dx-g-audio-background-color, #e0e5f8);
22
+ background-color: var(--dx-c-audio-background-color);
18
23
  border-radius: 12px;
19
24
  padding: var(--dx-c-audio-player-padding);
20
25
  }
@@ -45,7 +50,7 @@ dx-icon {
45
50
  --dx-c-popover-padding: 0;
46
51
 
47
52
  align-items: center;
48
- background-color: var(--dx-g-audio-inner-div-background-color, #fff);
53
+ background-color: var(--dx-c-audio-inner-div-background-color, #fff);
49
54
  border-radius: 5px;
50
55
  display: flex;
51
56
  margin-top: 8px;
@@ -31,6 +31,11 @@ pre {
31
31
  background-color: var(--dx-g-gray-90);
32
32
  }
33
33
 
34
+ div.dx-theme-dark {
35
+ border: var(--dx-g-dark-mode-toggle-button-border);
36
+ border-radius: var(--dx-code-block-toolbar-border-radius, 0.3em);
37
+ }
38
+
34
39
  .dx-theme-dark .toolbar {
35
40
  background-color: var(--dx-g-blue-natural-20);
36
41
  }
@@ -65,7 +70,8 @@ pre {
65
70
  }
66
71
 
67
72
  .toolbar-item {
68
- display: inline-block;
73
+ display: flex;
74
+ align-items: center;
69
75
  }
70
76
 
71
77
  .toolbar-item:first-child {
@@ -127,3 +133,7 @@ pre[class*="language-"].line-numbers {
127
133
  display: none;
128
134
  }
129
135
  }
136
+
137
+ dx-button {
138
+ --dx-g-button-icon-color: var(--dx-g-cloud-blue-vibrant-50);
139
+ }
@@ -4,13 +4,6 @@ import cx from "classnames";
4
4
  import { track as gtmTrack } from "dxUtils/analytics";
5
5
  import prism from "dxUtils/prismjs";
6
6
  import { ampscript, sqlDocsTemplate } from "./customLanguages";
7
- import {
8
- DARK_MODE_THEMES,
9
- DARKMODE_TOGGLE_EVENT_NAME,
10
- dispatchDarkModeToggleEvent,
11
- getLocalStorageDarkModeSetting,
12
- setLocalStorageDarkModeSetting
13
- } from "dx/darkModeManager";
14
7
 
15
8
  /*
16
9
  Here we create custom syntax highlighting rules for proprietary languages
@@ -44,6 +37,8 @@ const preTagRegexp: RegExp = /^<pre.*?>(.*)<\/pre>$/is;
44
37
 
45
38
  export const LIGHT = "light";
46
39
  export const DARK = "dark";
40
+ export const EVENT_NAME = "dx-codeblock-theme";
41
+ const THEMES = [LIGHT, DARK];
47
42
 
48
43
  export default class CodeBlock extends LightningElement {
49
44
  @api defaultTheme: CodeBlockTheme = LIGHT;
@@ -99,18 +94,18 @@ export default class CodeBlock extends LightningElement {
99
94
  ];
100
95
 
101
96
  private initializeDarkMode() {
102
- window.addEventListener(DARKMODE_TOGGLE_EVENT_NAME, this.toggleTheme);
103
- const darkModeSetting =
104
- getLocalStorageDarkModeSetting() as CodeBlockTheme;
105
- if (DARK_MODE_THEMES.includes(darkModeSetting)) {
97
+ window.addEventListener(EVENT_NAME, this.toggleTheme);
98
+ const darkModeSetting = localStorage.getItem(
99
+ EVENT_NAME
100
+ ) as CodeBlockTheme;
101
+ if (THEMES.includes(darkModeSetting)) {
106
102
  this.theme = darkModeSetting;
103
+ } else {
104
+ this.theme = this.defaultTheme;
107
105
  }
108
106
  }
109
107
 
110
108
  connectedCallback() {
111
- if (!this.theme) {
112
- this.theme = this.defaultTheme;
113
- }
114
109
  this.initializeDarkMode();
115
110
  }
116
111
 
@@ -278,12 +273,12 @@ export default class CodeBlock extends LightningElement {
278
273
  element_title: this.updateThemeBtnText,
279
274
  content_category: "code block"
280
275
  });
281
- dispatchDarkModeToggleEvent();
276
+ window.dispatchEvent(new Event(EVENT_NAME));
282
277
  }
283
278
 
284
279
  private toggleTheme = () => {
285
280
  this.theme = this.theme === DARK ? LIGHT : DARK;
286
- setLocalStorageDarkModeSetting(this.theme);
281
+ localStorage.setItem(EVENT_NAME, this.theme);
287
282
  };
288
283
 
289
284
  renderedCallback() {
@@ -301,9 +296,6 @@ export default class CodeBlock extends LightningElement {
301
296
  }
302
297
 
303
298
  disconnectedCallback(): void {
304
- window.removeEventListener(
305
- DARKMODE_TOGGLE_EVENT_NAME,
306
- this.toggleTheme
307
- );
299
+ window.removeEventListener(EVENT_NAME, this.toggleTheme);
308
300
  }
309
301
  }
@@ -3,8 +3,7 @@ import optimizelySdk from "@optimizely/optimizely-sdk";
3
3
 
4
4
  // This is needed to specify user context (such as logged in, admin, ...etc).
5
5
  // leave this as hard-coded for now until we create audiences in Optimizely.
6
- const userId = "salesforce-sf";
7
- const LOCAL_ENVIRONMENT_SDK_KEY = "Nnshyv1nTg7DWexu5rEeT";
6
+ const userId = "user123";
8
7
 
9
8
  export default class FeatureFlag extends LightningElement {
10
9
  @api flag!: string;
@@ -16,19 +15,8 @@ export default class FeatureFlag extends LightningElement {
16
15
  }
17
16
 
18
17
  connectedCallback(): void {
19
- const sdkKey = process.env.OPTIMIZELY_SDK_KEY;
20
- const datafileAccessToken =
21
- process.env.OPTIMIZELY_DATAFILE_ACCESS_TOKEN;
22
- const datafileOptions =
23
- sdkKey && datafileAccessToken
24
- ? {
25
- urlTemplate: `https://config.optimizely.com/datafiles/auth/${sdkKey}.json`,
26
- datafileAccessToken: datafileAccessToken
27
- }
28
- : undefined;
29
18
  this.optimizelyInstance = optimizelySdk.createInstance({
30
- sdkKey: process.env.OPTIMIZELY_SDK_KEY || LOCAL_ENVIRONMENT_SDK_KEY,
31
- datafileOptions
19
+ sdkKey: process.env.OPTIMIZELY_SDK_KEY
32
20
  });
33
21
  }
34
22
 
@@ -46,7 +46,7 @@
46
46
 
47
47
  @media screen and (max-width: 500px) {
48
48
  .title-bar {
49
- padding: 0 40px;
49
+ padding: 0 30px;
50
50
  height: 125px;
51
51
  display: block;
52
52
  align-items: center;
@@ -13,14 +13,14 @@
13
13
  <div>
14
14
  <slot name="language-selector"></slot>
15
15
  </div>
16
- <dx-feature-flag flag="dark-mode">
16
+ <template lwc:if={isDarkModeEnabled}>
17
17
  <div
18
18
  class="dark-mode-button"
19
19
  onclick={onDarkModeButtonClick}
20
20
  >
21
21
  <div class="dark-mode-icon"></div>
22
22
  </div>
23
- </dx-feature-flag>
23
+ </template>
24
24
  </div>
25
25
  </div>
26
26
  <div class="container-layout">