@salesforcedevs/docs-components 1.34.0-tlv-alpha → 1.34.1-proj-ver-picker-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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforcedevs/docs-components",
|
|
3
|
-
"version": "1.34.
|
|
3
|
+
"version": "1.34.1-proj-ver-picker-1",
|
|
4
4
|
"description": "Docs Lightning web components for DSC",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "index.js",
|
|
@@ -25,5 +25,6 @@
|
|
|
25
25
|
"@types/lodash.orderby": "4.6.9",
|
|
26
26
|
"@types/lodash.uniqby": "4.7.9"
|
|
27
27
|
},
|
|
28
|
-
"gitHead": "4629fdd9ca18a13480044ad43515b91945d16aad"
|
|
28
|
+
"gitHead": "4629fdd9ca18a13480044ad43515b91945d16aad",
|
|
29
|
+
"stableVersion": "1.34.0"
|
|
29
30
|
}
|
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
:host {
|
|
5
5
|
--dx-c-dropdown-option-font-weight: normal;
|
|
6
6
|
--dx-c-dropdown-option-label-color: var(--dx-g-gray-10);
|
|
7
|
+
--dx-c-dropdown-option-padding: var(--dx-g-spacing-sm)
|
|
8
|
+
var(--dx-g-spacing-lg);
|
|
9
|
+
--dx-c-popover-padding: var(--dx-g-spacing-sm) 0;
|
|
7
10
|
--popover-container-open-transform: translateY(4px);
|
|
8
11
|
}
|
|
9
12
|
|
|
@@ -17,13 +20,15 @@
|
|
|
17
20
|
.version-picker-button {
|
|
18
21
|
display: flex;
|
|
19
22
|
width: var(--doc-version-picker-width, 296px);
|
|
23
|
+
|
|
24
|
+
--dx-c-button-horizontal-spacing: var(--dx-g-spacing-sm);
|
|
25
|
+
--dx-g-button-icon-color: var(--dx-g-gray-50);
|
|
20
26
|
}
|
|
21
27
|
|
|
22
28
|
.version-picker-button:hover,
|
|
23
|
-
.version-picker-button:
|
|
24
|
-
.version-picker-button
|
|
25
|
-
--dx-
|
|
26
|
-
--dx-c-button-primary-color: var(--dx-g-blue-vibrant-40);
|
|
29
|
+
.version-picker-button:focus-within,
|
|
30
|
+
.version-picker-button[aria-expanded="true"] {
|
|
31
|
+
--dx-g-button-icon-color: var(--dx-g-blue-vibrant-20);
|
|
27
32
|
}
|
|
28
33
|
|
|
29
34
|
/**
|
|
@@ -35,6 +40,27 @@ dx-button::part(content) {
|
|
|
35
40
|
overflow: hidden;
|
|
36
41
|
}
|
|
37
42
|
|
|
43
|
+
/* The border is an inset box-shadow so thickening it on hover/focus doesn't
|
|
44
|
+
resize the small variant's fit-content box. */
|
|
45
|
+
.version-picker-button::part(container) {
|
|
46
|
+
background: white;
|
|
47
|
+
box-shadow: inset 0 0 0 1px var(--dx-g-gray-50);
|
|
48
|
+
color: var(--dx-g-gray-10);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.version-picker-button::part(container):hover {
|
|
52
|
+
background: var(--dx-g-blue-vibrant-95);
|
|
53
|
+
box-shadow: inset 0 0 0 2px var(--dx-g-blue-vibrant-20);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/* aria-expanded keeps the focus ring while the menu is open. */
|
|
57
|
+
.version-picker-button:focus-within::part(container),
|
|
58
|
+
.version-picker-button[aria-expanded="true"]::part(container) {
|
|
59
|
+
background: var(--dx-g-blue-vibrant-95);
|
|
60
|
+
box-shadow: inset 0 0 0 2px var(--dx-g-blue-vibrant-20), 0 0 0 2px white,
|
|
61
|
+
0 0 0 4px var(--dx-g-blue-vibrant-60);
|
|
62
|
+
}
|
|
63
|
+
|
|
38
64
|
.selected-version {
|
|
39
65
|
display: flex;
|
|
40
66
|
flex-direction: row;
|
|
@@ -49,17 +75,8 @@ dx-button::part(content) {
|
|
|
49
75
|
white-space: nowrap;
|
|
50
76
|
}
|
|
51
77
|
|
|
52
|
-
dx-type-badge.latest-badge
|
|
53
|
-
--dx-c-type-badge-color: var(--dx-g-green-vibrant-40);
|
|
54
|
-
--dx-c-type-badge-background: var(--dx-g-green-vibrant-95);
|
|
55
|
-
|
|
56
|
-
margin-left: var(--dx-g-spacing-sm);
|
|
57
|
-
}
|
|
58
|
-
|
|
78
|
+
dx-type-badge.latest-badge,
|
|
59
79
|
dx-type-badge.not-latest-badge {
|
|
60
|
-
--dx-c-type-badge-color: var(--dx-g-red-vibrant-40);
|
|
61
|
-
--dx-c-type-badge-background: var(--dx-g-red-vibrant-95);
|
|
62
|
-
|
|
63
80
|
margin-left: var(--dx-g-spacing-sm);
|
|
64
81
|
}
|
|
65
82
|
|
|
@@ -67,26 +84,23 @@ dx-type-badge.not-latest-badge {
|
|
|
67
84
|
* Small "dot" variant (opt-in via `small`). Additive
|
|
68
85
|
* ------------------------------------------------------------------ */
|
|
69
86
|
|
|
70
|
-
/*
|
|
87
|
+
/* Option padding is sm both axes: the small menu tracks the ~104px trigger, so
|
|
88
|
+
the default 24px horizontal would crowd the labels. */
|
|
71
89
|
.version-picker-dropdown-small {
|
|
72
90
|
--dx-c-dropdown-option-font-size: var(--dx-g-text-xs);
|
|
73
91
|
--dx-c-dropdown-option-padding: var(--dx-g-spacing-sm)
|
|
74
|
-
var(--dx-g-spacing-
|
|
92
|
+
var(--dx-g-spacing-sm);
|
|
75
93
|
--dx-c-dropdown-option-border-radius: 0;
|
|
76
94
|
--dx-c-popover-border: none;
|
|
77
|
-
--dx-c-popover-padding: var(--dx-g-spacing-sm) 0;
|
|
78
95
|
}
|
|
79
96
|
|
|
80
97
|
.version-picker-button-small {
|
|
81
|
-
display: flex;
|
|
82
98
|
width: fit-content;
|
|
83
99
|
max-width: 104px;
|
|
84
|
-
border-radius: var(--dx-g-spacing-xs);
|
|
85
100
|
|
|
86
101
|
--dx-c-button-font-size: var(--dx-g-text-xs);
|
|
87
102
|
--dx-c-button-font-weight: var(--dx-g-font-normal);
|
|
88
|
-
--dx-c-button-line-height:
|
|
89
|
-
--dx-g-button-icon-color: var(--dx-g-gray-50);
|
|
103
|
+
--dx-c-button-line-height: var(--dx-g-spacing-lg);
|
|
90
104
|
--dx-c-button-icon-gap: var(--dx-g-spacing-2xs);
|
|
91
105
|
}
|
|
92
106
|
|
|
@@ -101,43 +115,12 @@ dx-type-badge.not-latest-badge {
|
|
|
101
115
|
overflow: hidden;
|
|
102
116
|
}
|
|
103
117
|
|
|
104
|
-
|
|
105
|
-
.
|
|
106
|
-
box-sizing: border-box;
|
|
107
|
-
height: var(--dx-g-spacing-lg);
|
|
108
|
-
padding: 0 var(--dx-g-spacing-xs);
|
|
109
|
-
border-radius: var(--dx-g-spacing-xs);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/* Border is an inset box-shadow, not a real border, so thickening it on
|
|
113
|
-
hover/focus doesn't widen the fit-content box (no horizontal shift). */
|
|
118
|
+
/* width:100% re-ties to the 104px-capped host (container is width:inherit,
|
|
119
|
+
which copies width but not max-width). Border/bg/states are shared above. */
|
|
114
120
|
.version-picker-button-small::part(container) {
|
|
115
|
-
/* width:100% re-ties to the 104px-capped host (container is width:inherit,
|
|
116
|
-
which copies width but not max-width). */
|
|
117
121
|
width: 100%;
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
color: var(--dx-g-gray-10);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
.version-picker-button-small::part(container):hover {
|
|
124
|
-
background: var(--dx-g-blue-vibrant-95);
|
|
125
|
-
box-shadow: inset 0 0 0 2px var(--dx-g-blue-vibrant-20);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
.version-picker-button-small:hover,
|
|
129
|
-
.version-picker-button-small:focus-within,
|
|
130
|
-
.version-picker-button-small[aria-expanded="true"] {
|
|
131
|
-
--dx-g-button-icon-color: var(--dx-g-blue-vibrant-20);
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/* Also matches aria-expanded so the ring stays while the menu is open (opening
|
|
135
|
-
moves focus into the menu, which would otherwise drop :focus-within). */
|
|
136
|
-
.version-picker-button-small:focus-within::part(container),
|
|
137
|
-
.version-picker-button-small[aria-expanded="true"]::part(container) {
|
|
138
|
-
background: var(--dx-g-blue-vibrant-95);
|
|
139
|
-
box-shadow: inset 0 0 0 2px var(--dx-g-blue-vibrant-20), 0 0 0 2px white,
|
|
140
|
-
0 0 0 4px var(--dx-g-blue-vibrant-60);
|
|
122
|
+
height: var(--dx-g-spacing-lg);
|
|
123
|
+
padding: 0 var(--dx-g-spacing-xs);
|
|
141
124
|
}
|
|
142
125
|
|
|
143
126
|
.selected-version-small {
|
|
@@ -161,16 +144,31 @@ dx-type-badge.not-latest-badge {
|
|
|
161
144
|
background: var(--dx-g-yellow-vibrant-80);
|
|
162
145
|
}
|
|
163
146
|
|
|
164
|
-
|
|
147
|
+
/* inline-block (not flex) so the label can truncate; line-height centers it. */
|
|
148
|
+
.version-picker-readonly {
|
|
149
|
+
box-sizing: border-box;
|
|
165
150
|
display: inline-block;
|
|
166
|
-
width:
|
|
167
|
-
|
|
151
|
+
width: var(--doc-version-picker-width, 296px);
|
|
152
|
+
height: var(--dx-g-spacing-xl);
|
|
168
153
|
margin: 0;
|
|
154
|
+
padding: 0 var(--dx-g-spacing-sm);
|
|
169
155
|
border: 1px solid var(--dx-g-gray-80);
|
|
156
|
+
border-radius: var(--dx-g-spacing-xs);
|
|
170
157
|
overflow: hidden;
|
|
171
158
|
color: var(--dx-g-gray-10);
|
|
172
159
|
text-overflow: ellipsis;
|
|
173
160
|
white-space: nowrap;
|
|
174
|
-
font: var(--dx-g-font-normal) var(--dx-g-text-
|
|
175
|
-
|
|
161
|
+
font: var(--dx-g-font-normal) var(--dx-g-text-sm) / var(--dx-g-spacing-xl)
|
|
162
|
+
var(--dx-g-font-sans),
|
|
163
|
+
sans-serif;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.version-picker-readonly-small {
|
|
167
|
+
width: fit-content;
|
|
168
|
+
max-width: 104px;
|
|
169
|
+
height: var(--dx-g-spacing-lg);
|
|
170
|
+
padding: 0 var(--dx-g-spacing-xs);
|
|
171
|
+
font: var(--dx-g-font-normal) var(--dx-g-text-xs) / var(--dx-g-spacing-lg)
|
|
172
|
+
var(--dx-g-font-sans),
|
|
173
|
+
sans-serif;
|
|
176
174
|
}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div lwc:if={showVersionPicker} class="version-picker-container">
|
|
3
3
|
<!-- Small read-only: plain value, no dropdown -->
|
|
4
|
-
<p
|
|
4
|
+
<p
|
|
5
|
+
lwc:if={readOnly}
|
|
6
|
+
class={readOnlyClass}
|
|
7
|
+
title={selectedVersion.label}
|
|
8
|
+
>
|
|
5
9
|
{selectedVersion.label}
|
|
6
10
|
</p>
|
|
7
11
|
|
|
@@ -12,14 +16,14 @@
|
|
|
12
16
|
analytics-event="custEv_docVersionSelect"
|
|
13
17
|
analytics-payload={analyticsPayload}
|
|
14
18
|
value={selectedVersion.id}
|
|
15
|
-
width=
|
|
19
|
+
full-width="true"
|
|
16
20
|
onchange={onVersionChange}
|
|
17
21
|
>
|
|
18
22
|
<dx-button
|
|
19
23
|
class={triggerClass}
|
|
20
24
|
variant="tertiary"
|
|
21
25
|
size="small"
|
|
22
|
-
font=
|
|
26
|
+
font="sans"
|
|
23
27
|
icon-symbol="chevrondown"
|
|
24
28
|
icon-size={triggerIconSize}
|
|
25
29
|
aria-label={triggerAriaLabel}
|
|
@@ -30,25 +34,33 @@
|
|
|
30
34
|
<template lwc:if={showLatestTag}>
|
|
31
35
|
<span class={dotClass} aria-hidden="true"></span>
|
|
32
36
|
</template>
|
|
33
|
-
<p
|
|
37
|
+
<p
|
|
38
|
+
class="selected-version-label"
|
|
39
|
+
title={selectedVersion.label}
|
|
40
|
+
>
|
|
34
41
|
{selectedVersion.label}
|
|
35
42
|
</p>
|
|
36
43
|
</template>
|
|
37
44
|
<!-- Default: trailing Latest/Not-Latest badge -->
|
|
38
45
|
<template lwc:else>
|
|
39
|
-
<p
|
|
46
|
+
<p
|
|
47
|
+
class="selected-version-label"
|
|
48
|
+
title={selectedVersion.label}
|
|
49
|
+
>
|
|
40
50
|
{selectedVersion.label}
|
|
41
51
|
</p>
|
|
42
52
|
<template lwc:if={showLatestTag}>
|
|
43
53
|
<dx-type-badge
|
|
44
54
|
class="latest-badge"
|
|
45
55
|
lwc:if={latestVersion}
|
|
56
|
+
variant="status-success"
|
|
46
57
|
value="Latest"
|
|
47
58
|
size="small"
|
|
48
59
|
></dx-type-badge>
|
|
49
60
|
<dx-type-badge
|
|
50
61
|
class="not-latest-badge"
|
|
51
62
|
lwc:else
|
|
63
|
+
variant="status-warning"
|
|
52
64
|
value="Not Latest"
|
|
53
65
|
size="small"
|
|
54
66
|
></dx-type-badge>
|
|
@@ -83,9 +83,11 @@ export default class VersionPicker extends LightningElement {
|
|
|
83
83
|
return !this.hideBadge;
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
-
// Read-only currently only has a small-variant style.
|
|
87
86
|
private get readOnlyClass(): string {
|
|
88
|
-
return
|
|
87
|
+
return cx(
|
|
88
|
+
"version-picker-readonly",
|
|
89
|
+
this.small && "version-picker-readonly-small"
|
|
90
|
+
);
|
|
89
91
|
}
|
|
90
92
|
|
|
91
93
|
private get dotClass(): string {
|
|
@@ -108,9 +110,7 @@ export default class VersionPicker extends LightningElement {
|
|
|
108
110
|
}
|
|
109
111
|
|
|
110
112
|
// --- Per-variant values for the shared dropdown/button markup below. The
|
|
111
|
-
// small variant opts into extra classes and a compact chevron
|
|
112
|
-
// returns undefined so those attributes are omitted (keeps default output
|
|
113
|
-
// unchanged for xmlContent/amfReference).
|
|
113
|
+
// small variant opts into extra classes and a compact chevron.
|
|
114
114
|
|
|
115
115
|
// Not cx(): the default must have NO class attribute (cx returns "", which
|
|
116
116
|
// would render class="" and break the frozen consumer snapshots).
|
|
@@ -118,10 +118,6 @@ export default class VersionPicker extends LightningElement {
|
|
|
118
118
|
return this.small ? "version-picker-dropdown-small" : undefined;
|
|
119
119
|
}
|
|
120
120
|
|
|
121
|
-
private get dropdownWidth(): string | undefined {
|
|
122
|
-
return this.small ? undefined : "var(--doc-version-picker-width)";
|
|
123
|
-
}
|
|
124
|
-
|
|
125
121
|
private get triggerClass(): string {
|
|
126
122
|
return cx(
|
|
127
123
|
"version-picker-button",
|
|
@@ -129,10 +125,6 @@ export default class VersionPicker extends LightningElement {
|
|
|
129
125
|
);
|
|
130
126
|
}
|
|
131
127
|
|
|
132
|
-
private get triggerFont(): string {
|
|
133
|
-
return this.small ? "sans" : "display";
|
|
134
|
-
}
|
|
135
|
-
|
|
136
128
|
private get triggerIconSize(): string {
|
|
137
129
|
return this.small ? "xsmall" : "medium";
|
|
138
130
|
}
|
|
@@ -144,10 +136,7 @@ export default class VersionPicker extends LightningElement {
|
|
|
144
136
|
}
|
|
145
137
|
|
|
146
138
|
private get selectedVersionClass(): string {
|
|
147
|
-
return cx(
|
|
148
|
-
"selected-version",
|
|
149
|
-
this.small && "selected-version-small"
|
|
150
|
-
);
|
|
139
|
+
return cx("selected-version", this.small && "selected-version-small");
|
|
151
140
|
}
|
|
152
141
|
|
|
153
142
|
private onVersionChange(e: CustomEvent) {
|