@salesforcedevs/dx-components 1.3.9 → 1.3.51-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/lwc.config.json +1 -0
- package/package.json +3 -4
- package/src/modules/dx/banner/banner.css +46 -0
- package/src/modules/dx/banner/banner.html +13 -0
- package/src/modules/dx/banner/banner.ts +12 -0
- package/src/modules/dx/featuredContentHeader/featuredContentHeader.css +10 -18
- package/src/modules/dx/featuredContentHeader/featuredContentHeader.html +107 -109
- package/src/modules/dx/featuredContentHeader/featuredContentHeader.ts +8 -16
- package/src/modules/dx/header/header.html +4 -0
- package/src/modules/dx/headerSearch/headerSearch.html +2 -0
- package/src/modules/dx/headerSearch/headerSearch.ts +1 -0
- package/src/modules/dx/input/input.ts +2 -0
- package/src/modules/dx/sidebarSearch/sidebarSearch.html +1 -0
- package/src/modules/dx/sidebarSearch/sidebarSearch.ts +1 -0
- package/src/modules/dx/tbidAvatarButton/tbidAvatarButton.ts +2 -3
- package/src/modules/dx/typeBadge/typeBadge.ts +2 -2
- package/src/modules/dxBaseElements/headerBase/headerBase.ts +2 -0
- package/src/modules/dxHelpers/table/table.css +4 -0
- package/LICENSE +0 -12
package/lwc.config.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforcedevs/dx-components",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.51-alpha",
|
|
4
4
|
"description": "DX Lightning web components",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"engines": {
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@coveo/headless": "^1.32.0",
|
|
14
|
-
"@floating-ui/dom": "^
|
|
14
|
+
"@floating-ui/dom": "^0.5.3",
|
|
15
15
|
"@sfdocs-internal/wires": "^0.6.3",
|
|
16
16
|
"@vimeo/player": "^2.16.4",
|
|
17
17
|
"classnames": "^2.2.6",
|
|
@@ -35,6 +35,5 @@
|
|
|
35
35
|
"@types/uuid": "^8.3.4",
|
|
36
36
|
"@types/vimeo__player": "^2.16.2",
|
|
37
37
|
"eventsourcemock": "^2.0.0"
|
|
38
|
-
}
|
|
39
|
-
"gitHead": "4776acb3e3d37d421f444fd7ac628d5a89655aec"
|
|
38
|
+
}
|
|
40
39
|
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
@import "dxHelpers/reset";
|
|
2
|
+
@import "dxHelpers/text";
|
|
3
|
+
|
|
4
|
+
.container {
|
|
5
|
+
--primary-color: var(--dx-g-cloud-blue-vibrant-50);
|
|
6
|
+
--secondary-color: var(--dx-g-cloud-blue-vibrant-40);
|
|
7
|
+
|
|
8
|
+
width: 100%;
|
|
9
|
+
display: flex;
|
|
10
|
+
flex-direction: row;
|
|
11
|
+
align-items: center;
|
|
12
|
+
justify-content: center;
|
|
13
|
+
min-height: 24px;
|
|
14
|
+
padding: 0 var(--dx-g-page-padding-horizontal);
|
|
15
|
+
background: repeating-linear-gradient(
|
|
16
|
+
45deg,
|
|
17
|
+
var(--primary-color),
|
|
18
|
+
var(--primary-color) 20px,
|
|
19
|
+
var(--secondary-color) 20px,
|
|
20
|
+
var(--secondary-color) 40px
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.container_inner {
|
|
25
|
+
height: 100%;
|
|
26
|
+
display: flex;
|
|
27
|
+
background: var(--primary-color);
|
|
28
|
+
padding: var(--dx-g-spacing-xs) var(--dx-g-spacing-sm);
|
|
29
|
+
color: white;
|
|
30
|
+
font-weight: bold;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.container a {
|
|
34
|
+
text-decoration: underline;
|
|
35
|
+
transition: var(--dx-g-transition-hue-1x);
|
|
36
|
+
margin-right: 4px;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.container a:hover {
|
|
40
|
+
opacity: 0.8;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.container dx-icon {
|
|
44
|
+
margin-right: var(--dx-g-spacing-sm);
|
|
45
|
+
margin-top: var(--dx-g-spacing-2xs);
|
|
46
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="container">
|
|
3
|
+
<div class="container_inner dx-text-body-4">
|
|
4
|
+
<dx-icon symbol="announcement"></dx-icon>
|
|
5
|
+
<!--
|
|
6
|
+
NOTE: Here we are rendering mark up using lwc:dom & innerHTML
|
|
7
|
+
option instead of slots because the html markup will come as a
|
|
8
|
+
property to the component from a configuration
|
|
9
|
+
-->
|
|
10
|
+
<div lwc:dom="manual" class="info-container"></div>
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
13
|
+
</template>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { LightningElement, api } from "lwc";
|
|
2
|
+
import { setContainerInnerHtml } from "dxUtils/lwc";
|
|
3
|
+
|
|
4
|
+
export default class Banner extends LightningElement {
|
|
5
|
+
@api bannerMarkup =
|
|
6
|
+
'Thank you for visiting the Salesforce Developers website! <span><a href="https://forms.gle/oWYTbH9RvGyt9uxx7" target="blank">We value your feedback</a></span>';
|
|
7
|
+
|
|
8
|
+
renderedCallback() {
|
|
9
|
+
const container = this.template.querySelector(".info-container");
|
|
10
|
+
setContainerInnerHtml(container, this.bannerMarkup);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -36,34 +36,26 @@
|
|
|
36
36
|
--swoop-height: var(--dx-c-featured-content-header-swoop-height);
|
|
37
37
|
--swoop-inset: calc(2.5 * var(--vertical-padding));
|
|
38
38
|
--swoop-z-index: 11;
|
|
39
|
-
--label-color: var(--dx-g-indigo-vibrant-40);
|
|
40
39
|
|
|
41
40
|
position: relative;
|
|
41
|
+
padding: var(--dx-c-featured-content-header-padding-vertical)
|
|
42
|
+
var(--dx-c-featured-content-header-padding-horizontal);
|
|
42
43
|
background: var(
|
|
43
44
|
--dx-c-featured-content-header-background-color,
|
|
44
45
|
var(--dx-g-indigo-vibrant-90)
|
|
45
46
|
);
|
|
46
47
|
}
|
|
47
48
|
|
|
48
|
-
.container-layout {
|
|
49
|
-
padding: var(--dx-c-featured-content-header-padding-vertical)
|
|
50
|
-
var(--dx-c-featured-content-header-padding-horizontal);
|
|
51
|
-
background-image: var(--background-image);
|
|
52
|
-
background-repeat: no-repeat;
|
|
53
|
-
background-position: top right;
|
|
54
|
-
background-size: contain;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
49
|
/* LAYOUTS */
|
|
58
50
|
|
|
59
|
-
.img-placement_inline
|
|
51
|
+
.img-placement_inline {
|
|
60
52
|
display: grid;
|
|
61
53
|
grid-template-areas: "label label" "main image";
|
|
62
54
|
grid-template-columns: 50% auto;
|
|
63
55
|
grid-gap: 0 80px;
|
|
64
56
|
}
|
|
65
57
|
|
|
66
|
-
.img-placement_below
|
|
58
|
+
.img-placement_below {
|
|
67
59
|
--swoop-inset: calc(80px + 38vw);
|
|
68
60
|
|
|
69
61
|
margin-bottom: calc(var(--dx-c-bottom-image-height) / 2);
|
|
@@ -286,7 +278,6 @@
|
|
|
286
278
|
left: unset;
|
|
287
279
|
width: 126px;
|
|
288
280
|
height: 126px;
|
|
289
|
-
z-index: 1;
|
|
290
281
|
}
|
|
291
282
|
|
|
292
283
|
@media screen and (max-width: 1230px) {
|
|
@@ -365,7 +356,7 @@ a.image-container > img {
|
|
|
365
356
|
|
|
366
357
|
.label {
|
|
367
358
|
grid-area: label;
|
|
368
|
-
color: var(--dx-
|
|
359
|
+
color: var(--dx-g-indigo-vibrant-40);
|
|
369
360
|
padding-bottom: var(--dx-g-spacing-lg);
|
|
370
361
|
}
|
|
371
362
|
|
|
@@ -389,10 +380,7 @@ dx-image-and-label {
|
|
|
389
380
|
}
|
|
390
381
|
|
|
391
382
|
/* DARK VARIANT */
|
|
392
|
-
|
|
393
383
|
.variant_dark {
|
|
394
|
-
--label-color: rgb(190, 199, 246);
|
|
395
|
-
|
|
396
384
|
background: var(
|
|
397
385
|
--dx-c-featured-content-header-background-color,
|
|
398
386
|
linear-gradient(-180deg, rgb(40, 23, 153) 0%, rgb(46, 43, 182) 100%)
|
|
@@ -403,6 +391,10 @@ dx-image-and-label {
|
|
|
403
391
|
--dx-c-image-and-label-text-color: white;
|
|
404
392
|
}
|
|
405
393
|
|
|
394
|
+
.variant_dark .label {
|
|
395
|
+
color: rgb(190, 199, 246);
|
|
396
|
+
}
|
|
397
|
+
|
|
406
398
|
.variant_dark .title,
|
|
407
399
|
.variant_dark .body {
|
|
408
400
|
color: white;
|
|
@@ -465,7 +457,7 @@ dx-image-and-label {
|
|
|
465
457
|
--swoop-inset: 64px;
|
|
466
458
|
}
|
|
467
459
|
|
|
468
|
-
.img-placement_inline
|
|
460
|
+
.img-placement_inline {
|
|
469
461
|
display: grid;
|
|
470
462
|
grid-template-areas: "label" "image" "main";
|
|
471
463
|
grid-template-columns: 100%;
|
|
@@ -1,119 +1,117 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class={classname} part="container"
|
|
3
|
-
<
|
|
4
|
-
<
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
<div class={classname} part="container">
|
|
3
|
+
<template if:true={labelAsPrimaryHeading}>
|
|
4
|
+
<h1 if:true={label} class="label dx-text-heading-4">{label}</h1>
|
|
5
|
+
</template>
|
|
6
|
+
<template if:false={labelAsPrimaryHeading}>
|
|
7
|
+
<p if:true={label} class="label dx-text-heading-4">{label}</p>
|
|
8
|
+
</template>
|
|
9
|
+
<div class="featured-content-main-content">
|
|
7
10
|
<template if:false={labelAsPrimaryHeading}>
|
|
8
|
-
<
|
|
11
|
+
<h1 class="title dx-text-heading-2">
|
|
12
|
+
<a
|
|
13
|
+
class="title-link"
|
|
14
|
+
if:true={href}
|
|
15
|
+
href={href}
|
|
16
|
+
target={target}
|
|
17
|
+
onmouseenter={setLinkHovered}
|
|
18
|
+
onmouseleave={setLinkInactive}
|
|
19
|
+
>
|
|
20
|
+
{title}
|
|
21
|
+
</a>
|
|
22
|
+
<template if:false={href}>{title}</template>
|
|
23
|
+
</h1>
|
|
9
24
|
</template>
|
|
10
|
-
<
|
|
11
|
-
<
|
|
12
|
-
<
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
<template
|
|
27
|
-
<
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
onmouseleave={setLinkInactive}
|
|
35
|
-
>
|
|
36
|
-
{title}
|
|
37
|
-
</a>
|
|
38
|
-
<template if:false={href}>{title}</template>
|
|
39
|
-
</h2>
|
|
25
|
+
<template if:true={labelAsPrimaryHeading}>
|
|
26
|
+
<h2 class="title dx-text-heading-2">
|
|
27
|
+
<a
|
|
28
|
+
class="title-link"
|
|
29
|
+
if:true={href}
|
|
30
|
+
href={href}
|
|
31
|
+
target={target}
|
|
32
|
+
onmouseenter={setLinkHovered}
|
|
33
|
+
onmouseleave={setLinkInactive}
|
|
34
|
+
>
|
|
35
|
+
{title}
|
|
36
|
+
</a>
|
|
37
|
+
<template if:false={href}>{title}</template>
|
|
38
|
+
</h2>
|
|
39
|
+
</template>
|
|
40
|
+
<div class="authors" if:true={authors}>
|
|
41
|
+
<template for:each={authors} for:item="author">
|
|
42
|
+
<dx-image-and-label
|
|
43
|
+
key={author.key}
|
|
44
|
+
img-src={author.imgSrc}
|
|
45
|
+
img-size={author.imgSize}
|
|
46
|
+
label={author.name}
|
|
47
|
+
href={author.href}
|
|
48
|
+
></dx-image-and-label>
|
|
40
49
|
</template>
|
|
41
|
-
<div class="authors" if:true={authors}>
|
|
42
|
-
<template for:each={authors} for:item="author">
|
|
43
|
-
<dx-image-and-label
|
|
44
|
-
key={author.key}
|
|
45
|
-
img-src={author.imgSrc}
|
|
46
|
-
img-size={author.imgSize}
|
|
47
|
-
label={author.name}
|
|
48
|
-
href={author.href}
|
|
49
|
-
></dx-image-and-label>
|
|
50
|
-
</template>
|
|
51
|
-
</div>
|
|
52
|
-
<span class="body dx-text-body-1">{body}</span>
|
|
53
|
-
<div class="slot-container">
|
|
54
|
-
<slot onslotchange={onSlotChange}></slot>
|
|
55
|
-
</div>
|
|
56
|
-
<div
|
|
57
|
-
class={backgroundImageClass}
|
|
58
|
-
if:true={hasBackgroundImage}
|
|
59
|
-
lwc:dom="manual"
|
|
60
|
-
></div>
|
|
61
50
|
</div>
|
|
62
|
-
<
|
|
63
|
-
|
|
51
|
+
<span class="body dx-text-body-1">{body}</span>
|
|
52
|
+
<div class="slot-container">
|
|
53
|
+
<slot onslotchange={onSlotChange}></slot>
|
|
64
54
|
</div>
|
|
65
|
-
<
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
onmouseenter={setLinkHovered}
|
|
71
|
-
onmouseleave={setLinkInactive}
|
|
72
|
-
>
|
|
73
|
-
<img src={imgSrc} alt={imgAlt} />
|
|
74
|
-
</a>
|
|
75
|
-
<template if:false={noSwoop}>
|
|
76
|
-
<svg
|
|
77
|
-
class="swoop-silhouette"
|
|
78
|
-
width="1920px"
|
|
79
|
-
height="331px"
|
|
80
|
-
viewBox="0 0 1920 331"
|
|
81
|
-
version="1.1"
|
|
82
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
83
|
-
preserveAspectRatio="none"
|
|
84
|
-
>
|
|
85
|
-
<defs>
|
|
86
|
-
<path
|
|
87
|
-
d="M1920,330 L76.7313881,330.008182 C51.2800917,330.255837 25.7029624,330.372286 0,330.357528 L0,330 L76.7313881,330.008182 C789.975765,323.067922 1404.39864,213.086385 1920,0.0635708029 L1920,0.0635708029 L1920,330 Z"
|
|
88
|
-
id="path-1"
|
|
89
|
-
></path>
|
|
90
|
-
</defs>
|
|
91
|
-
<g
|
|
92
|
-
id="Documentation-landing-page"
|
|
93
|
-
stroke="none"
|
|
94
|
-
stroke-width="1"
|
|
95
|
-
fill="none"
|
|
96
|
-
fill-rule="evenodd"
|
|
97
|
-
>
|
|
98
|
-
<mask id="mask-2" fill="white">
|
|
99
|
-
<use xlink:href="#path-1"></use>
|
|
100
|
-
</mask>
|
|
101
|
-
<use
|
|
102
|
-
id="Combined-Shape"
|
|
103
|
-
fill="#FFFFFF"
|
|
104
|
-
xlink:href="#path-1"
|
|
105
|
-
></use>
|
|
106
|
-
</g>
|
|
107
|
-
</svg>
|
|
108
|
-
</template>
|
|
55
|
+
<div
|
|
56
|
+
class={backgroundImageClass}
|
|
57
|
+
if:true={hasBackgroundImage}
|
|
58
|
+
lwc:dom="manual"
|
|
59
|
+
></div>
|
|
109
60
|
</div>
|
|
110
|
-
<div
|
|
111
|
-
<
|
|
112
|
-
class="icon"
|
|
113
|
-
size="2xlarge"
|
|
114
|
-
symbol={icon}
|
|
115
|
-
sprite="salesforcebrand"
|
|
116
|
-
></dx-icon>
|
|
61
|
+
<div if:true={hasPlainImage} class="image-container">
|
|
62
|
+
<img src={imgSrc} alt={imgAlt} />
|
|
117
63
|
</div>
|
|
64
|
+
<a
|
|
65
|
+
if:true={hasLinkedImage}
|
|
66
|
+
href={href}
|
|
67
|
+
target={target}
|
|
68
|
+
class="image-container"
|
|
69
|
+
onmouseenter={setLinkHovered}
|
|
70
|
+
onmouseleave={setLinkInactive}
|
|
71
|
+
>
|
|
72
|
+
<img src={imgSrc} alt={imgAlt} />
|
|
73
|
+
</a>
|
|
74
|
+
<template if:false={noSwoop}>
|
|
75
|
+
<svg
|
|
76
|
+
class="swoop-silhouette"
|
|
77
|
+
width="1920px"
|
|
78
|
+
height="331px"
|
|
79
|
+
viewBox="0 0 1920 331"
|
|
80
|
+
version="1.1"
|
|
81
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
82
|
+
preserveAspectRatio="none"
|
|
83
|
+
>
|
|
84
|
+
<defs>
|
|
85
|
+
<path
|
|
86
|
+
d="M1920,330 L76.7313881,330.008182 C51.2800917,330.255837 25.7029624,330.372286 0,330.357528 L0,330 L76.7313881,330.008182 C789.975765,323.067922 1404.39864,213.086385 1920,0.0635708029 L1920,0.0635708029 L1920,330 Z"
|
|
87
|
+
id="path-1"
|
|
88
|
+
></path>
|
|
89
|
+
</defs>
|
|
90
|
+
<g
|
|
91
|
+
id="Documentation-landing-page"
|
|
92
|
+
stroke="none"
|
|
93
|
+
stroke-width="1"
|
|
94
|
+
fill="none"
|
|
95
|
+
fill-rule="evenodd"
|
|
96
|
+
>
|
|
97
|
+
<mask id="mask-2" fill="white">
|
|
98
|
+
<use xlink:href="#path-1"></use>
|
|
99
|
+
</mask>
|
|
100
|
+
<use
|
|
101
|
+
id="Combined-Shape"
|
|
102
|
+
fill="#FFFFFF"
|
|
103
|
+
xlink:href="#path-1"
|
|
104
|
+
></use>
|
|
105
|
+
</g>
|
|
106
|
+
</svg>
|
|
107
|
+
</template>
|
|
108
|
+
</div>
|
|
109
|
+
<div class="blue-circle" if:true={hasIcon}>
|
|
110
|
+
<dx-icon
|
|
111
|
+
class="icon"
|
|
112
|
+
size="2xlarge"
|
|
113
|
+
symbol={icon}
|
|
114
|
+
sprite="salesforcebrand"
|
|
115
|
+
></dx-icon>
|
|
118
116
|
</div>
|
|
119
117
|
</template>
|
|
@@ -17,8 +17,7 @@ export default class FeaturedContentHeader extends LightningElement {
|
|
|
17
17
|
@api href?: string;
|
|
18
18
|
@api target?: string | null = null;
|
|
19
19
|
@api title!: string;
|
|
20
|
-
@api backgroundImg?:
|
|
21
|
-
@api backgroundImgId?:
|
|
20
|
+
@api backgroundImg?:
|
|
22
21
|
| "trees"
|
|
23
22
|
| "codey"
|
|
24
23
|
| "blog"
|
|
@@ -59,14 +58,7 @@ export default class FeaturedContentHeader extends LightningElement {
|
|
|
59
58
|
this.dark && "variant_dark",
|
|
60
59
|
this.isLinkHovered && "link-hovered",
|
|
61
60
|
!this.isSlotEmpty && "has-slotted",
|
|
62
|
-
this.
|
|
63
|
-
);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
private get style() {
|
|
67
|
-
return cx(
|
|
68
|
-
this.backgroundImg &&
|
|
69
|
-
`--background-image: url(${this.backgroundImg});`
|
|
61
|
+
this.backgroundImg && `custom-bg-${this.backgroundImg}`
|
|
70
62
|
);
|
|
71
63
|
}
|
|
72
64
|
|
|
@@ -79,17 +71,17 @@ export default class FeaturedContentHeader extends LightningElement {
|
|
|
79
71
|
}
|
|
80
72
|
|
|
81
73
|
private get hasBackgroundImage() {
|
|
82
|
-
return this.
|
|
74
|
+
return this.backgroundImg !== null;
|
|
83
75
|
}
|
|
84
76
|
|
|
85
77
|
private get hasIcon(): boolean {
|
|
86
|
-
return this.icon !== "" && this.
|
|
78
|
+
return this.icon !== "" && this.backgroundImg === "big-moon";
|
|
87
79
|
}
|
|
88
80
|
|
|
89
81
|
private get backgroundImageClass() {
|
|
90
82
|
return cx(
|
|
91
83
|
"bg-image-container",
|
|
92
|
-
this.
|
|
84
|
+
this.backgroundImg && `bg-${this.backgroundImg}`
|
|
93
85
|
);
|
|
94
86
|
}
|
|
95
87
|
|
|
@@ -108,13 +100,13 @@ export default class FeaturedContentHeader extends LightningElement {
|
|
|
108
100
|
renderedCallback(): void {
|
|
109
101
|
// Setting the svgs with innerHTML prevents their IDs from being rewritten
|
|
110
102
|
// which is necessary to preserve the svg masking and other effects
|
|
111
|
-
if (this.
|
|
103
|
+
if (this.backgroundImg && svgs[this.backgroundImg]) {
|
|
112
104
|
const bgSvg = this.template.querySelector(".bg-image-container");
|
|
113
105
|
if (bgSvg) {
|
|
114
106
|
// eslint-disable-next-line @lwc/lwc/no-inner-html
|
|
115
107
|
bgSvg.innerHTML = `
|
|
116
|
-
${svgs[this.
|
|
117
|
-
${svgs[this.
|
|
108
|
+
${svgs[this.backgroundImg].desktop}
|
|
109
|
+
${svgs[this.backgroundImg].mobile}
|
|
118
110
|
`;
|
|
119
111
|
}
|
|
120
112
|
}
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
<dx-brand-theme-provider brand={brand}>
|
|
3
3
|
<header class={className}>
|
|
4
4
|
<dx-skip-nav-link></dx-skip-nav-link>
|
|
5
|
+
<dx-banner
|
|
6
|
+
if:true={bannerMarkup}
|
|
7
|
+
banner-markup={bannerMarkup}
|
|
8
|
+
></dx-banner>
|
|
5
9
|
<div class="header_l1">
|
|
6
10
|
<dx-logo label={title}></dx-logo>
|
|
7
11
|
<div class="header-cta-container">
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
onclear={onInputEscape}
|
|
21
21
|
onsubmit={onInputSubmit}
|
|
22
22
|
onfocus={openDropdown}
|
|
23
|
+
onblur={onDropdownRequestClose}
|
|
23
24
|
placeholder="Search"
|
|
24
25
|
size="override"
|
|
25
26
|
type="search"
|
|
@@ -51,6 +52,7 @@
|
|
|
51
52
|
onclear={onInputEscape}
|
|
52
53
|
onsubmit={onInputSubmit}
|
|
53
54
|
onfocus={openDropdown}
|
|
55
|
+
onblur={onDropdownRequestClose}
|
|
54
56
|
placeholder="Search"
|
|
55
57
|
shortcut-key="k"
|
|
56
58
|
size="small"
|
|
@@ -422,6 +422,7 @@ export default class SidebarSearch extends LightningElement {
|
|
|
422
422
|
switch (e.detail as PopoverRequestCloseType) {
|
|
423
423
|
case "interact-outside":
|
|
424
424
|
case "keypress-escape":
|
|
425
|
+
case "input-blur":
|
|
425
426
|
this.dropdownRequestedOpen = false;
|
|
426
427
|
break;
|
|
427
428
|
default:
|
|
@@ -49,7 +49,7 @@ export default class TbidAvatarButton extends LightningElement {
|
|
|
49
49
|
@api tbidApiBaseUrl = "";
|
|
50
50
|
|
|
51
51
|
@api login = (event: Event) => this.handleComponentLogin(event);
|
|
52
|
-
@api logout = (
|
|
52
|
+
@api logout = () => this.handleComponentLogout();
|
|
53
53
|
|
|
54
54
|
private userInfo: UserInfo = {};
|
|
55
55
|
private isLoading = false;
|
|
@@ -242,8 +242,7 @@ export default class TbidAvatarButton extends LightningElement {
|
|
|
242
242
|
private handleSsoLogout = this.handleLogout.bind(this, true);
|
|
243
243
|
|
|
244
244
|
// This handles logout from _within_ this component ("Logout" click), rather than from SSO via the SFIDWidget.
|
|
245
|
-
private handleComponentLogout = (
|
|
246
|
-
event?.preventDefault();
|
|
245
|
+
private handleComponentLogout = () => {
|
|
247
246
|
this.handleLogout(false);
|
|
248
247
|
};
|
|
249
248
|
|
|
@@ -149,8 +149,8 @@ export default class TypeBadge extends LightningElement {
|
|
|
149
149
|
private get style(): string {
|
|
150
150
|
if (this.dark) {
|
|
151
151
|
return buildStyleColorVariables({
|
|
152
|
-
background:
|
|
153
|
-
color:
|
|
152
|
+
background: `--dx-g-${this.variantColorScope}-${this.variant}-color`,
|
|
153
|
+
color: `--dx-g-brand-default-color-background`
|
|
154
154
|
});
|
|
155
155
|
}
|
|
156
156
|
if (this.variantColorScope) {
|
|
@@ -41,6 +41,8 @@ export abstract class HeaderBase extends LightningElement {
|
|
|
41
41
|
@api subtitle!: string;
|
|
42
42
|
@api title: string = "Salesforce";
|
|
43
43
|
@api version?: string | null = null;
|
|
44
|
+
@api bannerMarkup =
|
|
45
|
+
'Thank you for visiting the Salesforce Developers website! <span><a href="https://forms.gle/oWYTbH9RvGyt9uxx7" target="blank">We value your feedback</a></span>';
|
|
44
46
|
|
|
45
47
|
@api
|
|
46
48
|
get navItems() {
|
|
@@ -96,6 +96,10 @@ td :is(.li, p, .p, dd) {
|
|
|
96
96
|
font-size: var(--table-cell-text-base);
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
+
td :is(ul) {
|
|
100
|
+
font-size: var(--table-cell-text-base); margin-left: 0px;
|
|
101
|
+
}
|
|
102
|
+
|
|
99
103
|
td doc-content-callout :is(.li, p, .p, dd) {
|
|
100
104
|
/* Override/reset for callouts -- see https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07EE0000081MGTYA2/view */
|
|
101
105
|
font-size: var(--dx-g-text-base);
|
package/LICENSE
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
Copyright (c) 2020, Salesforce.com, Inc.
|
|
2
|
-
All rights reserved.
|
|
3
|
-
|
|
4
|
-
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
5
|
-
|
|
6
|
-
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
7
|
-
|
|
8
|
-
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
|
9
|
-
|
|
10
|
-
* Neither the name of Salesforce.com nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
|
11
|
-
|
|
12
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|