@salesforcedevs/dx-components 1.28.0 → 1.28.1-banner-1
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/lwc.config.json +5 -1
- package/package.json +2 -2
- package/src/modules/dx/alert/alert.css +0 -1
- package/src/modules/dx/codeBlock/codeBlock.ts +6 -6
- package/src/modules/dx/emptyState/emptyState.html +1 -1
- package/src/modules/dx/emptyState/emptyState.ts +2 -2
- package/src/modules/dx/error/error.css +3 -3
- package/src/modules/dx/errorFallback/errorFallback.html +1 -1
- package/src/modules/dx/feature/feature.css +2 -2
- package/src/modules/dx/feature/feature.html +1 -1
- package/src/modules/dx/featuredContentHeader/featuredContentHeader.css +5 -5
- package/src/modules/dx/featuredContentHeader/svgs.ts +2 -2
- package/src/modules/dx/footer/footer.css +176 -4
- package/src/modules/dx/footer/footer.html +91 -3
- package/src/modules/dx/footer/footer.ts +276 -1
- package/src/modules/dx/footerMfe/footerMfe.ts +2 -0
- package/src/modules/dx/input/input.ts +1 -1
- package/src/modules/dx/logo/logo.ts +1 -1
- package/src/modules/dx/searchResults/resultsTemplate.js +1 -1
- package/src/modules/dx/searchResults/searchResults.css +4 -4
- package/src/modules/dx/sectionBanner/sectionBanner.html +1 -1
- package/src/modules/dx/sidebar/sidebar.html +1 -1
- package/src/modules/dx/toc/toc.css +21 -0
- package/src/modules/dx/toc/toc.ts +2 -0
- package/src/modules/dx/treeItem/treeItem.html +1 -1
- package/src/modules/dxUtils/shiki/__mocks__/shiki.ts +2 -1
- package/src/modules/dxUtils/shiki/__mocks__/shikijs.ts +6 -0
- package/src/modules/dxUtils/shiki/shiki.ts +26 -176
- package/src/modules/dxUtils/shikiCore/shikiCore.ts +188 -0
- package/src/modules/dxUtils/shikiGrammars/shikiGrammars.ts +151 -41
- package/src/modules/dxUtils/shikiStatic/shikiStatic.html +3 -0
- package/src/modules/dxUtils/shikiStatic/shikiStatic.ts +46 -0
package/lwc.config.json
CHANGED
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
"dx/featuresListHeader",
|
|
57
57
|
"dx/filterMenu",
|
|
58
58
|
"dx/footer",
|
|
59
|
+
"dx/footerMfe",
|
|
59
60
|
"dx/formattedDateTime",
|
|
60
61
|
"dx/formattedRichText",
|
|
61
62
|
"dx/grid",
|
|
@@ -139,6 +140,9 @@
|
|
|
139
140
|
"dxUtils/recentSearches",
|
|
140
141
|
"dxUtils/regexps",
|
|
141
142
|
"dxUtils/withTypedRefs",
|
|
142
|
-
"dxUtils/wordpress"
|
|
143
|
+
"dxUtils/wordpress",
|
|
144
|
+
"dxUtils/shiki",
|
|
145
|
+
"dxUtils/shikiStatic",
|
|
146
|
+
"dxUtils/shikiCore"
|
|
143
147
|
]
|
|
144
148
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforcedevs/dx-components",
|
|
3
|
-
"version": "1.28.
|
|
3
|
+
"version": "1.28.1-banner-1",
|
|
4
4
|
"description": "DX Lightning web components",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"engines": {
|
|
@@ -44,5 +44,5 @@
|
|
|
44
44
|
"luxon": "3.4.4",
|
|
45
45
|
"msw": "^2.12.4"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "66d2158d53e1ed5e503f558021b0e1e0b0206d52"
|
|
48
48
|
}
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
:host {
|
|
5
5
|
--dx-c-alert-top: 0;
|
|
6
6
|
--dx-c-alert-container-align-items: flex-start;
|
|
7
|
-
--dx-c-alert-horizontal-padding: var(--dx-g-spacing-lg);
|
|
8
7
|
--dx-c-alert-vertical-padding: var(--dx-g-spacing-md);
|
|
9
8
|
--dx-c-alert-success-color: var(--dx-g-green-vibrant-95);
|
|
10
9
|
--dx-c-alert-warning-color: rgb(254 243 217);
|
|
@@ -34,6 +34,7 @@ export default class CodeBlock extends LightningElement {
|
|
|
34
34
|
private _codeBlockRendered: boolean = false;
|
|
35
35
|
private _showLoadingIndicator: boolean = false;
|
|
36
36
|
private _isCbHeightCalculated: boolean = false;
|
|
37
|
+
private _plainCodeForCopy: string = "";
|
|
37
38
|
private markupLangs = ["visualforce", "html", "xml"];
|
|
38
39
|
private componentLoaded: boolean = false;
|
|
39
40
|
private showLanguageDropdown: boolean = false;
|
|
@@ -290,6 +291,9 @@ export default class CodeBlock extends LightningElement {
|
|
|
290
291
|
);
|
|
291
292
|
}
|
|
292
293
|
}
|
|
294
|
+
// Get the plain code for copy functionality
|
|
295
|
+
const codeElement = this.template.querySelector("code");
|
|
296
|
+
this._plainCodeForCopy = codeElement?.textContent?.trim() ?? "";
|
|
293
297
|
// Add line numbers to each line
|
|
294
298
|
this.addLineNumbers();
|
|
295
299
|
}
|
|
@@ -328,12 +332,8 @@ export default class CodeBlock extends LightningElement {
|
|
|
328
332
|
});
|
|
329
333
|
|
|
330
334
|
try {
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
if (snippetContainer && snippetContainer.textContent) {
|
|
334
|
-
await navigator.clipboard.writeText(
|
|
335
|
-
snippetContainer.textContent
|
|
336
|
-
);
|
|
335
|
+
if (this._plainCodeForCopy) {
|
|
336
|
+
await navigator.clipboard.writeText(this._plainCodeForCopy);
|
|
337
337
|
this.copyBtnText = "Copied!";
|
|
338
338
|
setTimeout(() => {
|
|
339
339
|
this.copyBtnText = "Click to copy";
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<img class={imageClassName} src={imageAssetPath} alt={imageAlt} />
|
|
4
4
|
<img
|
|
5
5
|
class="image-alt-small"
|
|
6
|
-
src="https://
|
|
6
|
+
src="https://developer.salesforce.com/ns-assets/binary-cloud-circle-small.svg"
|
|
7
7
|
alt="Cloud with binary code floating above"
|
|
8
8
|
lwc:if={altVariant}
|
|
9
9
|
/>
|
|
@@ -60,10 +60,10 @@ export default class EmptyState extends LightningElement {
|
|
|
60
60
|
|
|
61
61
|
get imageAssetPath() {
|
|
62
62
|
return this.variant === "base"
|
|
63
|
-
? `https://
|
|
63
|
+
? `https://developer.salesforce.com/ns-assets/docs-empty-state${
|
|
64
64
|
this.size === "small" ? "-small" : ""
|
|
65
65
|
}.svg`
|
|
66
|
-
: `https://
|
|
66
|
+
: `https://developer.salesforce.com/ns-assets/binary-cloud-circle${
|
|
67
67
|
this.size === "small" ? "-small" : ""
|
|
68
68
|
}.svg`;
|
|
69
69
|
}
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
|
|
9
9
|
.error_container {
|
|
10
10
|
background-color: #3a49da;
|
|
11
|
-
background-image: url("https://
|
|
12
|
-
url("https://
|
|
13
|
-
url("https://
|
|
11
|
+
background-image: url("https://developer.salesforce.com/ns-assets/bottom-right.svg"),
|
|
12
|
+
url("https://developer.salesforce.com/ns-assets/lower-left.svg"),
|
|
13
|
+
url("https://developer.salesforce.com/ns-assets/top-right.svg");
|
|
14
14
|
background-position: right bottom, left 90%, right top;
|
|
15
15
|
background-repeat: no-repeat;
|
|
16
16
|
padding: var(--dx-g-spacing-3xl) calc(var(--dx-g-spacing-3xl) + 20px) 130px
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
:host {
|
|
5
5
|
--dx-c-feature-img-box-shadow: 0 6px 30px 0 rgb(0 20 45 / 40%);
|
|
6
|
-
--dx-c-feature-description-left-img-src: url("https://
|
|
6
|
+
--dx-c-feature-description-left-img-src: url("https://developer.salesforce.com/ns-assets/feature-backdrop1.svg");
|
|
7
7
|
--dx-c-feature-description-max-width: 31.75rem;
|
|
8
8
|
--dx-c-feature-img-margin-left: auto;
|
|
9
9
|
--dx-c-feature-img-container-padding: 4rem;
|
|
@@ -83,7 +83,7 @@ section {
|
|
|
83
83
|
|
|
84
84
|
.description-right .image {
|
|
85
85
|
margin-right: auto;
|
|
86
|
-
background-image: url("https://
|
|
86
|
+
background-image: url("https://developer.salesforce.com/ns-assets/feature-backdrop2.svg");
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
.image-display-container {
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
<div if:true={isDisplay} class="image-display-container">
|
|
22
22
|
<img
|
|
23
23
|
class="image-display"
|
|
24
|
-
src="https://
|
|
24
|
+
src="https://developer.salesforce.com/ns-assets/featured-demo-art-blank.svg"
|
|
25
25
|
alt={header}
|
|
26
26
|
/>
|
|
27
27
|
<div class="image-container">
|
|
@@ -221,8 +221,8 @@
|
|
|
221
221
|
|
|
222
222
|
.custom-bg-trial::after {
|
|
223
223
|
content: "";
|
|
224
|
-
background-image: url("https://
|
|
225
|
-
url("https://
|
|
224
|
+
background-image: url("https://developer.salesforce.com/ns-assets/trial-left.svg"),
|
|
225
|
+
url("https://developer.salesforce.com/ns-assets/trial-right.svg");
|
|
226
226
|
background-position: var(--dx-g-page-padding-horizontal) 50px,
|
|
227
227
|
right 15px top;
|
|
228
228
|
background-repeat: no-repeat;
|
|
@@ -235,7 +235,7 @@
|
|
|
235
235
|
|
|
236
236
|
@media screen and (max-width: 1024px) {
|
|
237
237
|
.custom-bg-trial::after {
|
|
238
|
-
background-image: url("https://
|
|
238
|
+
background-image: url("https://developer.salesforce.com/ns-assets/trial-left.svg");
|
|
239
239
|
background-position: 48px 30px;
|
|
240
240
|
background-size: contain;
|
|
241
241
|
}
|
|
@@ -243,7 +243,7 @@
|
|
|
243
243
|
|
|
244
244
|
.custom-bg-big-moon::after {
|
|
245
245
|
content: "";
|
|
246
|
-
background-image: url("https://
|
|
246
|
+
background-image: url("https://developer.salesforce.com/ns-assets/big-moon.svg");
|
|
247
247
|
background-position: top right;
|
|
248
248
|
background-repeat: no-repeat;
|
|
249
249
|
position: absolute;
|
|
@@ -258,7 +258,7 @@
|
|
|
258
258
|
justify-content: center;
|
|
259
259
|
align-items: center;
|
|
260
260
|
position: absolute;
|
|
261
|
-
background-image: url("https://
|
|
261
|
+
background-image: url("https://developer.salesforce.com/ns-assets/blue-circle.svg");
|
|
262
262
|
top: 110px;
|
|
263
263
|
right: 230px;
|
|
264
264
|
left: unset;
|
|
@@ -6,10 +6,10 @@ const treesMobile =
|
|
|
6
6
|
|
|
7
7
|
// These codey-* ones are a bit of a hack for now: we were only given a PNG and limited time, so we're wrapping the PNG in an SVG.
|
|
8
8
|
const codeyDesktop =
|
|
9
|
-
'<svg class="codey-desktop" width="381" height="337" viewBox="0 0 381 337" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><image width="381" height="337" xlink:href="https://
|
|
9
|
+
'<svg class="codey-desktop" width="381" height="337" viewBox="0 0 381 337" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><image width="381" height="337" xlink:href="https://developer.salesforce.com/ns-assets/podcast-bear.png" />';
|
|
10
10
|
|
|
11
11
|
const codeyMobile =
|
|
12
|
-
'<svg class="codey-mobile" width="381" height="337" viewBox="0 0 381 337" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><image width="381" height="337" xlink:href="https://
|
|
12
|
+
'<svg class="codey-mobile" width="381" height="337" viewBox="0 0 381 337" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><image width="381" height="337" xlink:href="https://developer.salesforce.com/ns-assets/podcast-bear.png" />';
|
|
13
13
|
|
|
14
14
|
const moonDesktop =
|
|
15
15
|
'<svg width="1221" height="507" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M745.819 45.482c0 24.567-19.915 44.482-44.482 44.482s-44.483-19.915-44.483-44.482C656.854 20.916 676.77 1 701.337 1c24.567 0 44.482 19.916 44.482 44.482"/><path d="M745.819 45.482c0 24.567-19.915 44.482-44.482 44.482s-44.483-19.915-44.483-44.482C656.854 20.916 676.77 1 701.337 1c24.567 0 44.482 19.916 44.482 44.482Z" stroke="#90D0FE" stroke-width="2"/><path d="M476.154 420.627a4.095 4.095 0 1 1-8.191 0 4.095 4.095 0 1 1 8.19 0ZM99.154 150.627a4.095 4.095 0 1 1-8.191 0 4.095 4.095 0 1 1 8.19 0ZM1210.142 97.587l-1.518 4.1a1.063 1.063 0 0 1-.631.633l-4.102 1.518c-.933.346-.933 1.664 0 2.009l4.102 1.517c.293.109.523.34.63.633l1.519 4.102c.346.93 1.664.93 2.009 0l1.517-4.102c.109-.293.34-.524.633-.633l4.102-1.517c.932-.345.932-1.663 0-2.01l-4.102-1.517a1.068 1.068 0 0 1-.633-.632l-1.517-4.101c-.345-.933-1.663-.933-2.01 0ZM8.142 490.372l-1.518 4.1a1.067 1.067 0 0 1-.632.633l-4.1 1.518c-.934.345-.934 1.664 0 2.009l4.1 1.517c.293.109.524.34.632.633l1.518 4.1c.345.933 1.664.933 2.01 0l1.516-4.1c.11-.293.34-.524.633-.633l4.101-1.517c.932-.345.932-1.664 0-2.01l-4.1-1.517a1.071 1.071 0 0 1-.634-.632l-1.517-4.101c-.345-.933-1.664-.933-2.009 0ZM127.142 115.587l-1.518 4.1a1.064 1.064 0 0 1-.632.633l-4.1 1.518c-.934.346-.934 1.664 0 2.009l4.1 1.517c.293.109.524.34.632.633l1.518 4.102c.345.93 1.664.93 2.01 0l1.516-4.102c.11-.293.34-.524.633-.633l4.101-1.517c.932-.345.932-1.663 0-2.01l-4.1-1.517a1.068 1.068 0 0 1-.634-.632l-1.517-4.101c-.345-.933-1.664-.933-2.009 0ZM909.009 306.108c-5.999-11.612-9.387-24.793-9.387-38.765 0-11.403 2.257-22.279 6.348-32.206M1067.92 255.215c.568 3.96.862 8.01.862 12.129 0 46.713-37.867 84.58-84.58 84.58-28.474 0-53.664-14.071-68.99-35.64M911.555 224.004c14.768-24.701 41.776-41.24 72.647-41.24 38.302 0 70.658 25.459 81.068 60.378M1055.511 147.787l-3.452 9.329a2.439 2.439 0 0 1-1.44 1.44l-9.329 3.452c-2.121.784-2.121 3.784 0 4.569l9.329 3.452a2.436 2.436 0 0 1 1.44 1.44l3.452 9.329c.785 2.12 3.785 2.12 4.569 0l3.452-9.33a2.441 2.441 0 0 1 1.44-1.44l9.329-3.451c2.121-.785 2.121-3.785 0-4.57l-9.329-3.451a2.444 2.444 0 0 1-1.44-1.44l-3.452-9.33c-.784-2.12-3.784-2.12-4.569 0ZM919.251 376.385c0 5.69-4.614 10.304-10.306 10.304-5.69 0-10.305-4.613-10.305-10.305 0-5.692 4.614-10.306 10.305-10.306 5.692 0 10.306 4.615 10.306 10.307Z" stroke="#90D0FE" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M984.116 224.502a5.027 5.027 0 1 1-10.054 0 5.027 5.027 0 0 1 10.054 0" fill="#90D0FE"/><path stroke="#90D0FE" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M1046.716 254.771h29.772M1087.929 254.771h7.089M902.279 225.33h23.242M870.108 225.33h10.053"/><path d="M893.055 225.33a2.01 2.01 0 1 1-4.021 0 2.01 2.01 0 0 1 4.02 0" fill="#90D0FE"/><path stroke="#90D0FE" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M893.425 315.627h31.409"/><path d="M936.898 315.627a2.011 2.011 0 1 1-4.023 0 2.011 2.011 0 0 1 4.023 0" fill="#90D0FE"/><path stroke="#90D0FE" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M1013.52 292.398v-16.036M1021.537 284.382l-16.051.002"/></g></svg>';
|
|
@@ -113,7 +113,7 @@ footer.signup-variant-no-signup {
|
|
|
113
113
|
height: 112px;
|
|
114
114
|
width: 110px;
|
|
115
115
|
margin-right: var(--dx-g-spacing-lg);
|
|
116
|
-
background-image: url("https://
|
|
116
|
+
background-image: url("https://developer.salesforce.com/ns-assets/footer-graphic-trees.svg");
|
|
117
117
|
filter: var(--dx-g-svg-filter);
|
|
118
118
|
}
|
|
119
119
|
|
|
@@ -121,7 +121,7 @@ footer.signup-variant-no-signup {
|
|
|
121
121
|
height: 96px;
|
|
122
122
|
width: 220px;
|
|
123
123
|
margin-right: var(--dx-g-spacing-lg);
|
|
124
|
-
background-image: url("https://
|
|
124
|
+
background-image: url("https://developer.salesforce.com/ns-assets/footer-graphic-mountains-2.svg");
|
|
125
125
|
filter: var(--dx-g-svg-filter);
|
|
126
126
|
}
|
|
127
127
|
|
|
@@ -132,7 +132,7 @@ footer.signup-variant-no-signup {
|
|
|
132
132
|
bottom: 0;
|
|
133
133
|
height: 56px;
|
|
134
134
|
width: 100px;
|
|
135
|
-
background-image: url("https://
|
|
135
|
+
background-image: url("https://developer.salesforce.com/ns-assets/footer-graphic-mountains-small-2.svg");
|
|
136
136
|
filter: var(--dx-g-svg-filter);
|
|
137
137
|
}
|
|
138
138
|
|
|
@@ -140,7 +140,7 @@ footer.signup-variant-no-signup {
|
|
|
140
140
|
height: 66px;
|
|
141
141
|
width: 52px;
|
|
142
142
|
margin-left: var(--dx-g-spacing-lg);
|
|
143
|
-
background-image: url("https://
|
|
143
|
+
background-image: url("https://developer.salesforce.com/ns-assets/footer-graphic-trees-small.svg");
|
|
144
144
|
filter: var(--dx-g-svg-filter);
|
|
145
145
|
}
|
|
146
146
|
|
|
@@ -275,3 +275,175 @@ footer.signup-variant-no-signup {
|
|
|
275
275
|
width: 100%;
|
|
276
276
|
}
|
|
277
277
|
}
|
|
278
|
+
|
|
279
|
+
/*
|
|
280
|
+
================================
|
|
281
|
+
BEGIN OLD FOOTER STYLES -- CAN BE DELETED ONCE FOOTER MFE IS RE-DEPLOYED
|
|
282
|
+
================================
|
|
283
|
+
*/
|
|
284
|
+
.term-icon {
|
|
285
|
+
width: 35px;
|
|
286
|
+
margin: 0 var(--dx-g-spacing-xs);
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
.content-container_middle {
|
|
290
|
+
display: grid;
|
|
291
|
+
grid-gap: var(--dx-g-spacing-xl);
|
|
292
|
+
grid-template:
|
|
293
|
+
"logo general" auto
|
|
294
|
+
"socials general" max-content
|
|
295
|
+
"locales general" max-content / auto max-content;
|
|
296
|
+
background: var(--dx-footer-themed-background-color);
|
|
297
|
+
padding-top: var(--dx-g-spacing-4xl);
|
|
298
|
+
padding-bottom: var(--dx-g-spacing-3xl);
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
.logo {
|
|
302
|
+
grid-area: logo;
|
|
303
|
+
width: max-content;
|
|
304
|
+
height: var(--dx-g-spacing-4xl);
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
.logo > img {
|
|
308
|
+
height: 100%;
|
|
309
|
+
user-select: none;
|
|
310
|
+
-webkit-user-drag: none;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
.general {
|
|
314
|
+
grid-area: general;
|
|
315
|
+
display: grid;
|
|
316
|
+
grid-template-columns: repeat(3, max-content);
|
|
317
|
+
grid-gap: var(--dx-g-spacing-4xl);
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
.locales {
|
|
321
|
+
grid-area: locales;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
.socials {
|
|
325
|
+
grid-area: socials;
|
|
326
|
+
display: grid;
|
|
327
|
+
grid-template-columns: repeat(3, max-content);
|
|
328
|
+
grid-auto-rows: min-content;
|
|
329
|
+
grid-gap: var(--dx-g-spacing-sm);
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
.socials > a {
|
|
333
|
+
border-radius: 50%;
|
|
334
|
+
height: var(--dx-g-spacing-xl);
|
|
335
|
+
width: var(--dx-g-spacing-xl);
|
|
336
|
+
flex-shrink: 0;
|
|
337
|
+
display: flex;
|
|
338
|
+
justify-content: center;
|
|
339
|
+
align-items: center;
|
|
340
|
+
color: var(--dx-g-cloud-blue-vibrant-95);
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
.terms a {
|
|
344
|
+
color: var(--dx-g-blue-vibrant-70);
|
|
345
|
+
text-decoration: underline;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
.terms > span,
|
|
349
|
+
.terms_links > a {
|
|
350
|
+
margin: var(--dx-g-spacing-sm) 0;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
.terms > span > a {
|
|
354
|
+
display: inline;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
.terms a:hover {
|
|
358
|
+
color: var(--dx-g-blue-vibrant-80);
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
.socials > a:hover {
|
|
362
|
+
background: var(--dx-g-blue-vibrant-80);
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
.socials > a > svg {
|
|
366
|
+
fill: var(--dx-footer-themed-svg-icon-color);
|
|
367
|
+
height: 100%;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
/* BOTTOM */
|
|
371
|
+
.content-container_bottom {
|
|
372
|
+
display: flex;
|
|
373
|
+
background: var(--dx-footer-themed-terms-and-conditions-background-color);
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
.content-container_bottom a {
|
|
377
|
+
text-decoration: underline;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
.terms {
|
|
381
|
+
width: 100%;
|
|
382
|
+
display: flex;
|
|
383
|
+
justify-content: center;
|
|
384
|
+
flex-wrap: wrap;
|
|
385
|
+
font-family: var(--dx-g-font-sans);
|
|
386
|
+
font-size: var(--dx-g-text-xs);
|
|
387
|
+
margin: var(--dx-g-spacing-md) 0;
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
.terms > span {
|
|
391
|
+
padding-right: var(--dx-g-spacing-lg);
|
|
392
|
+
color: white;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
.terms > span > img {
|
|
396
|
+
margin-right: var(--dx-g-spacing-xs);
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
.terms_links {
|
|
400
|
+
display: flex;
|
|
401
|
+
flex-wrap: wrap;
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
.terms_links > *:not(:last-child) {
|
|
405
|
+
margin-right: var(--dx-g-spacing-lg);
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
@media screen and (max-width: 1024px) {
|
|
409
|
+
.content-container_middle {
|
|
410
|
+
grid-gap: var(--dx-g-spacing-lg);
|
|
411
|
+
padding-top: var(--dx-g-spacing-2xl);
|
|
412
|
+
padding-bottom: var(--dx-g-spacing-2xl);
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
.logo {
|
|
416
|
+
height: var(--dx-g-spacing-2xl);
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
.socials > a {
|
|
420
|
+
height: var(--dx-g-spacing-lg);
|
|
421
|
+
width: var(--dx-g-spacing-lg);
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
.socials > a > dx-icon {
|
|
425
|
+
--dx-c-icon-size: var(--dx-g-icon-size-xs);
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
.socials > a.github > dx-icon {
|
|
429
|
+
--dx-c-icon-size: var(--dx-g-spacing-lg);
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
@media screen and (max-width: 768px) {
|
|
434
|
+
.content-container_middle {
|
|
435
|
+
display: none;
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
@media screen and (max-width: 640px) {
|
|
440
|
+
.term-icon {
|
|
441
|
+
margin-left: 0;
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
/*
|
|
446
|
+
================================
|
|
447
|
+
END OLD FOOTER STYLES -- CAN BE DELETED ONCE FOOTER MFE IS RE-DEPLOYED
|
|
448
|
+
================================
|
|
449
|
+
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<footer class={className}>
|
|
3
3
|
<div
|
|
4
|
-
if
|
|
4
|
+
lwc:if={showSmallSignup}
|
|
5
5
|
class="content-container content-container_top"
|
|
6
6
|
>
|
|
7
7
|
<div class="graphic graphic-trees" alt=""></div>
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
<div class="graphic graphic-trees-small" alt=""></div>
|
|
15
15
|
</div>
|
|
16
16
|
<div
|
|
17
|
-
if
|
|
17
|
+
lwc:if={showLargeSignup}
|
|
18
18
|
class="content-container content-container_top_large"
|
|
19
19
|
>
|
|
20
20
|
<div class="graphic graphic-large" alt=""></div>
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
</dx-button>
|
|
35
35
|
</div>
|
|
36
36
|
</div>
|
|
37
|
-
<div if
|
|
37
|
+
<div lwc:if={showLargeNoSignup} class={largeNoSignupClassName}>
|
|
38
38
|
<div class="graphic graphic-large" alt=""></div>
|
|
39
39
|
<slot
|
|
40
40
|
class="large-signup-heading"
|
|
@@ -43,8 +43,96 @@
|
|
|
43
43
|
></slot>
|
|
44
44
|
</div>
|
|
45
45
|
<dx-footer-mfe
|
|
46
|
+
lwc:if={useMfe}
|
|
46
47
|
legal-only={showLegalOnly}
|
|
47
48
|
origin={mfeConfigOrigin}
|
|
49
|
+
home-href={mfeHomeHref}
|
|
48
50
|
></dx-footer-mfe>
|
|
51
|
+
<!-- TODO: Probably just remove template below and always render the dx-footer-mfe above once footer MFE supports rendering in non-full-width contexts -->
|
|
52
|
+
<template lwc:else>
|
|
53
|
+
<div
|
|
54
|
+
lwc:if={showContainerMiddle}
|
|
55
|
+
class="content-container content-container_middle"
|
|
56
|
+
>
|
|
57
|
+
<a class="logo" href="/" onclick={handleLogoClick}>
|
|
58
|
+
<img
|
|
59
|
+
src="https://developer.salesforce.com/ns-assets/salesforce-logo-corporate.svg"
|
|
60
|
+
alt="Salesforce logo"
|
|
61
|
+
/>
|
|
62
|
+
</a>
|
|
63
|
+
<div class="socials">
|
|
64
|
+
<template for:each={socialLinks} for:item="link">
|
|
65
|
+
<a
|
|
66
|
+
aria-label={link.label}
|
|
67
|
+
href={link.href}
|
|
68
|
+
key={link.iconSymbol}
|
|
69
|
+
class={link.iconSymbol}
|
|
70
|
+
target="_blank"
|
|
71
|
+
rel="noopener"
|
|
72
|
+
onclick={handleSocialLinkClick}
|
|
73
|
+
>
|
|
74
|
+
<svg
|
|
75
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
76
|
+
part="svg"
|
|
77
|
+
aria-hidden="true"
|
|
78
|
+
>
|
|
79
|
+
<use xlink:href={link.iconURL}></use>
|
|
80
|
+
</svg>
|
|
81
|
+
</a>
|
|
82
|
+
</template>
|
|
83
|
+
</div>
|
|
84
|
+
<div class="general">
|
|
85
|
+
<template for:each={generalLinks} for:item="item">
|
|
86
|
+
<div class="footer-group" key={item.id}>
|
|
87
|
+
<h2 class="subheading">{item.label}</h2>
|
|
88
|
+
<template for:each={item.options} for:item="option">
|
|
89
|
+
<dx-footer-option
|
|
90
|
+
key={option.id}
|
|
91
|
+
general-label={item.label}
|
|
92
|
+
label={option.label}
|
|
93
|
+
href={option.link.href}
|
|
94
|
+
target={option.link.target}
|
|
95
|
+
></dx-footer-option>
|
|
96
|
+
</template>
|
|
97
|
+
</div>
|
|
98
|
+
</template>
|
|
99
|
+
</div>
|
|
100
|
+
</div>
|
|
101
|
+
<div class="content-container content-container_bottom">
|
|
102
|
+
<div class="terms">
|
|
103
|
+
<span class="copyright-notice" lwc:dom="manual"></span>
|
|
104
|
+
<div class="terms_links">
|
|
105
|
+
<template for:each={termsLinks} for:item="term">
|
|
106
|
+
<template lwc:if={term.onclick}>
|
|
107
|
+
<a
|
|
108
|
+
href={term.href}
|
|
109
|
+
key={term.label}
|
|
110
|
+
rel={term.rel}
|
|
111
|
+
onclick={handleCookiePreferencesClick}
|
|
112
|
+
>
|
|
113
|
+
{term.label}
|
|
114
|
+
</a>
|
|
115
|
+
</template>
|
|
116
|
+
<template lwc:else>
|
|
117
|
+
<a
|
|
118
|
+
href={term.href}
|
|
119
|
+
key={term.label}
|
|
120
|
+
rel={term.rel}
|
|
121
|
+
onclick={handleTermsClick}
|
|
122
|
+
>
|
|
123
|
+
<img
|
|
124
|
+
lwc:if={term.img}
|
|
125
|
+
class="term-icon"
|
|
126
|
+
src={term.img}
|
|
127
|
+
alt="Footer Term Icon"
|
|
128
|
+
/>
|
|
129
|
+
{term.label}
|
|
130
|
+
</a>
|
|
131
|
+
</template>
|
|
132
|
+
</template>
|
|
133
|
+
</div>
|
|
134
|
+
</div>
|
|
135
|
+
</div>
|
|
136
|
+
</template>
|
|
49
137
|
</footer>
|
|
50
138
|
</template>
|