lightning-base-components 1.18.3-alpha → 1.18.4-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.
Files changed (37) hide show
  1. package/package.json +1 -1
  2. package/src/lightning/primitiveInputCheckbox/form-element.slds.css +281 -0
  3. package/src/lightning/primitiveInputCheckbox/input-checkbox.slds.css +395 -0
  4. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.css +3 -0
  5. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.html +48 -0
  6. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.js +139 -0
  7. package/src/lightning/primitiveInputCheckboxButton/form-element.slds.css +281 -0
  8. package/src/lightning/primitiveInputCheckboxButton/input-checkbox-button.slds.css +126 -0
  9. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.css +6 -0
  10. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.html +24 -0
  11. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.js +176 -0
  12. package/src/lightning/primitiveInputColor/form-element.slds.css +281 -0
  13. package/src/lightning/primitiveInputColor/input-color.slds.css +35 -0
  14. package/src/lightning/primitiveInputColor/input-text.slds.css +398 -0
  15. package/src/lightning/primitiveInputColor/primitiveInputColor.css +4 -0
  16. package/src/lightning/primitiveInputColor/primitiveInputColor.html +50 -0
  17. package/src/lightning/primitiveInputColor/primitiveInputColor.js +184 -0
  18. package/src/lightning/primitiveInputFile/button.slds.css +527 -0
  19. package/src/lightning/primitiveInputFile/form-element.slds.css +281 -0
  20. package/src/lightning/primitiveInputFile/input-file.slds.css +62 -0
  21. package/src/lightning/primitiveInputFile/primitiveInputFile.css +5 -0
  22. package/src/lightning/primitiveInputFile/primitiveInputFile.html +45 -0
  23. package/src/lightning/primitiveInputFile/primitiveInputFile.js +111 -0
  24. package/src/lightning/primitiveInputRadio/primitiveInputRadio.html +24 -0
  25. package/src/lightning/primitiveInputRadio/primitiveInputRadio.js +103 -0
  26. package/src/lightning/primitiveInputSimple/form-element.slds.css +281 -0
  27. package/src/lightning/primitiveInputSimple/input-text.slds.css +398 -0
  28. package/src/lightning/primitiveInputSimple/normalize.js +6 -0
  29. package/src/lightning/primitiveInputSimple/primitiveInputSimple.css +9 -0
  30. package/src/lightning/primitiveInputSimple/primitiveInputSimple.html +65 -0
  31. package/src/lightning/primitiveInputSimple/primitiveInputSimple.js +585 -0
  32. package/src/lightning/primitiveInputSimple/selection.js +131 -0
  33. package/src/lightning/primitiveInputToggle/form-element.slds.css +281 -0
  34. package/src/lightning/primitiveInputToggle/input-toggle.slds.css +170 -0
  35. package/src/lightning/primitiveInputToggle/primitiveInputToggle.css +3 -0
  36. package/src/lightning/primitiveInputToggle/primitiveInputToggle.html +34 -0
  37. package/src/lightning/primitiveInputToggle/primitiveInputToggle.js +164 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lightning-base-components",
3
- "version": "1.18.3-alpha",
3
+ "version": "1.18.4-alpha",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "external",
@@ -0,0 +1,281 @@
1
+
2
+ /* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved
3
+ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
4
+ @supports (--styling-hooks: '') {
5
+ /* TODO: Swap with utility classes */
6
+ :host([data-render-mode="shadow"]) fieldset {
7
+ border: 0;
8
+ margin: 0;
9
+ padding: 0;
10
+ }
11
+
12
+ /* FORM ELEMENT: BASE */
13
+ :host([data-render-mode="shadow"]) .slds-form-element {
14
+ position: relative;
15
+ min-width: 0;
16
+ }
17
+
18
+ :host([data-render-mode="shadow"]) .slds-form-element__label {
19
+ overflow-wrap: break-word;
20
+ word-wrap: break-word;
21
+ hyphens: auto;
22
+ display: inline-block;
23
+ color: var(--sds-g-color-neutral-base-30, #444444);
24
+ font-size: var(--sds-g-font-scale-neg-3, 0.75rem);
25
+ padding-inline-end: var(--sds-g-spacing-2, 0.5rem);
26
+ padding-block-start: var(--sds-g-spacing-1, 0.25rem);
27
+ margin-block-end: calc(var(--sds-g-spacing-1, 0.25rem) / 2);
28
+ }
29
+
30
+ :host([data-render-mode="shadow"]) .slds-form-element__label:empty {
31
+ margin: 0;
32
+ }
33
+
34
+ :host([data-render-mode="shadow"]) .slds-form-element__control {
35
+ clear: left; /* NOTE: Ideally we want left to be inline-start but browser support is not ready for that value. We need to figure out better RTL support */
36
+ position: relative;
37
+ }
38
+
39
+ :host([data-render-mode="shadow"]) .slds-form-element__icon {
40
+ display: inline-block;
41
+ position: relative;
42
+ padding-block-start: var(--sds-g-spacing-1, 0.25rem);
43
+ vertical-align: top;
44
+ line-height: var(--sds-g-font-lineheight-1, 1);
45
+ z-index: 1;
46
+ }
47
+
48
+ :host([data-render-mode="shadow"]) .slds-form-element__icon .slds-button_icon {
49
+ position: relative;
50
+ }
51
+
52
+ :host([data-render-mode="shadow"]) .slds-form-element__help,:host([data-render-mode="shadow"])
53
+ .slds-form-element__helper {
54
+ font-size: var(--sds-g-font-scale-neg-3, 0.75rem);
55
+ margin-block-start: calc(var(--sds-g-spacing-1, 0.25rem) / 2);
56
+ display: block;
57
+ }
58
+
59
+ :host([data-render-mode="shadow"]) .slds-form-element_edit .slds-form-element__static {
60
+ width: calc(100% - var(--sds-g-sizing-7, 1.5rem));
61
+ }
62
+
63
+ :host([data-render-mode="shadow"]) .slds-form-element_readonly {
64
+ flex-basis: 0%;
65
+ border-bottom: var(--sds-g-sizing-border-1, 1px) solid var(--sds-g-color-neutral-base-90, #e5e5e5);
66
+ margin-block-end: 0;
67
+ }
68
+
69
+ :host([data-render-mode="shadow"]) .slds-form-element_readonly .slds-form-element__control {
70
+ padding-block-start: calc(var(--sds-g-spacing-1, 0.25rem) / 2);
71
+ padding-block-end: calc(var(--sds-g-spacing-1, 0.25rem) / 2);
72
+ }
73
+
74
+ :host([data-render-mode="shadow"]) .slds-form-element_readonly .slds-form-element__label {
75
+ margin-block-end: 0;
76
+ }
77
+
78
+ :host([data-render-mode="shadow"]) .slds-form-element__legend {
79
+ font-weight: var(--sds-g-font-weight-7, 700);
80
+ float: left;
81
+ }
82
+
83
+ :host([data-render-mode="shadow"]) .slds-form-element__addon {
84
+ display: inline-block;
85
+ margin-block-start: 0;
86
+ margin-block-end: 0;
87
+ margin-inline-start: var(--sds-g-spacing-2, 0.5rem);
88
+ margin-inline-end: var(--sds-g-spacing-2, 0.5rem);
89
+ align-self: center;
90
+ }
91
+
92
+ :host([data-render-mode="shadow"]) .slds-form-element__static {
93
+ overflow-wrap: break-word;
94
+ word-wrap: break-word;
95
+ word-break: break-word;
96
+ display: inline-block;
97
+ font-size: var(--sds-g-font-scale-neg-1, 0.875rem);
98
+ font-weight: var(--sds-g-font-weight-4, 400);
99
+ color: var(--sds-g-color-neutral-base-10, #181818);
100
+ width: 100%;
101
+ }
102
+
103
+ :host([data-render-mode="shadow"]) .slds-form-element__static.slds-text-longform *:last-child {
104
+ margin-block-end: 0;
105
+ }
106
+
107
+ :host([data-render-mode="shadow"]) .slds-form-element__static:empty {
108
+ min-height: calc(var(--sds-g-sizing-6, 1.25rem) + 1px);
109
+ vertical-align: bottom;
110
+ }
111
+
112
+ :host([data-render-mode="shadow"]) .slds-form-element__static--edit {
113
+ width: calc(100% - var(--sds-g-sizing-7, 1.5rem));
114
+ }
115
+
116
+ :host([data-render-mode="shadow"]) .slds-required {
117
+ color: var(--sds-g-color-error-base-50, #ea001e);
118
+ margin-block-start: 0;
119
+ margin-block-end: 0;
120
+ margin-inline-start: calc(var(--sds-g-spacing-1, 0.25rem) / 2);
121
+ margin-inline-end: calc(var(--sds-g-spacing-1, 0.25rem) / 2);
122
+ }
123
+
124
+ :host([data-render-mode="shadow"]) .slds-has-error .slds-form-element__help {
125
+ color: var(--sds-g-color-error-base-50, #ea001e);
126
+ }
127
+
128
+ :host([data-render-mode="shadow"][invalid]) .slds-form-element__help {
129
+ color: var(--sds-g-color-error-base-50, #ea001e);
130
+ }
131
+
132
+ /* --------------------------------------- */
133
+
134
+ /* FORM ELEMENT: STACKED */
135
+
136
+ :host([data-render-mode="shadow"][variant~='label-stacked']) {
137
+ display: block;
138
+ }
139
+
140
+ /* TODO: Using `:not` is currently not working, and it could break the build because of issues with the dist script */
141
+
142
+ /* :host([variant~='label-stacked']):not(.slds-form-element_readonly) {
143
+ margin-block-end: var(--sds-g-spacing-2);
144
+ }
145
+
146
+ :host([variant~='label-stacked']):not(.slds-is-editing) {
147
+ padding: 0 var(--sds-g-spacing-1);
148
+ } */
149
+
150
+ /* :host([variant~='label-stacked']):not([class*="slds-size"]) {
151
+ width: 100%;
152
+ flex-basis: 100%;
153
+ } */
154
+
155
+ :host([data-render-mode="shadow"][variant~='label-stacked']) .slds-form-element {
156
+ padding: 0;
157
+ margin-block-end: 0;
158
+ }
159
+
160
+ :host([data-render-mode="shadow"][variant~='label-stacked']) .slds-form-element__label,:host([data-render-mode="shadow"][variant~='label-stacked']) .slds-form-element__control {
161
+ border-bottom: 0; /* Remove border when using legacy version of slds-form-element */
162
+ padding-inline-start: 0;
163
+ }
164
+
165
+ :host([data-render-mode="shadow"][variant~='label-stacked']) .slds-form-element__control {
166
+ width: 100%;
167
+ flex-basis: 100%;
168
+ clear: left;
169
+ }
170
+
171
+ :host([data-render-mode="shadow"][variant~='label-stacked']) .slds-form-element__icon {
172
+ float: none;
173
+ padding-block-start: var(--sds-g-spacing-1, 0.25rem);
174
+ }
175
+
176
+ /* --------------------------------------- */
177
+
178
+ /* FORM ELEMENT: INLINE */
179
+
180
+ :host([data-render-mode="shadow"][variant~='label-inline']) {
181
+ display: block;
182
+ }
183
+
184
+ /*
185
+ we have to combine with slds class here to avoid duplication
186
+ of this rule in child elements who import this stylesheet
187
+ in lighting-input this slds class is synonymous with the variant
188
+ */
189
+
190
+ :host([data-render-mode="shadow"][variant~='label-inline'].slds-form-element_horizontal) {
191
+ padding: var(--sds-g-spacing-1, 0.25rem);
192
+ margin-block-end: var(--sds-g-spacing-2, 0.5rem);
193
+ }
194
+
195
+ /* TODO: Using `:not` is currently not working, and it could break the build because of issues with the dist script */
196
+
197
+ /* :host([variant~='label-inline']):not(.slds-form-element_readonly) {
198
+ margin-block-end: var(--sds-g-spacing-2);
199
+ }
200
+
201
+ :host([variant~='label-inline']):not([class*="slds-size"]) {
202
+ width: 100%;
203
+ flex-basis: 100%;
204
+ }
205
+
206
+ :host([variant~='label-inline']:not(.slds-is-editing)) {
207
+ padding: var(--sds-g-spacing-1);
208
+ } */
209
+
210
+ :host([data-render-mode="shadow"][variant~='label-inline']).slds-is-edited {
211
+ padding-block-start: var(--sds-g-sizing-6, 1.25rem)
212
+ }
213
+
214
+ @media (min-width: 48em) {
215
+ :host([data-render-mode="shadow"][variant~='label-inline']) .slds-form-element__label {
216
+ float: left;
217
+ max-width: calc(33% - var(--sds-g-sizing-6, 1.25rem)); /* Removing icon width for when the help-text icon is present */
218
+ flex-basis: calc(33% - var(--sds-g-sizing-6, 1.25rem)); /* Some form element controls are set to display:flex */
219
+ flex-grow: 1; /* For IE and Safari which didn't auto expand to the available space */
220
+ margin-block-end: 0;
221
+ position: relative;
222
+ z-index: 1;
223
+ }
224
+
225
+ :host([data-render-mode="shadow"][variant~='label-inline']) lightning-helptext {
226
+ float: left;
227
+ }
228
+
229
+ :host([data-render-mode="shadow"][variant~='label-inline']) .slds-form-element__control {
230
+ margin-inline-start: 33%;
231
+ clear: none; /* Reset clear: left when switching to horizontal form layout */
232
+ }
233
+
234
+ :host([data-render-mode="shadow"][variant~='label-inline']) .slds-form-element__control .slds-form-element__control {
235
+ padding-inline-start: 0; /* Remove left padding on nested form controls, due to issues related to lightning-form components */
236
+ }
237
+
238
+ :host([data-render-mode="shadow"][variant~='label-inline']) .slds-dueling-list__column .slds-form-element__label {
239
+ width: auto;
240
+ max-width: 100%;
241
+ -ms-flex-preferred-size: auto;
242
+ flex-basis: auto;
243
+ float: none;
244
+ position: relative;
245
+ padding-inline-start: 0;
246
+ margin-block-end: 0;
247
+ }
248
+
249
+ :host([data-render-mode="shadow"][variant~='label-inline']) .slds-form-element__help {
250
+ margin-inline-start: 33%;
251
+ }
252
+
253
+ :host([data-render-mode="shadow"][variant~='label-inline']) .slds-dueling-list {
254
+ clear: none;
255
+ }
256
+ }
257
+
258
+ /* --------------------------------------- */
259
+
260
+ /* FORM ELEMENT: COMPOUND */
261
+
262
+ :host([data-render-mode="shadow"]) .slds-form-element_compound .slds-form-element__row {
263
+ display: flex;
264
+ margin-bottom: var(--sds-g-spacing-1, 0.25rem);
265
+ margin-left: calc(var(--sds-g-spacing-1, 0.25rem) * -1);
266
+ margin-right: calc(var(--sds-g-spacing-1, 0.25rem) * -1);
267
+ }
268
+
269
+ :host([data-render-mode="shadow"]) .slds-form-element_compound .slds-form-element__row .slds-form-element__label {
270
+ padding-top: 0;
271
+ }
272
+
273
+ :host([data-render-mode="shadow"]) .slds-form-element_compound .slds-form-element {
274
+ padding-left: var(--sds-g-spacing-1, 0.25rem);
275
+ padding-right: var(--sds-g-spacing-1, 0.25rem);
276
+ }
277
+
278
+ :host([data-render-mode="shadow"]) .slds-form-element_address .slds-form-element__row {
279
+ align-items: flex-end;
280
+ }
281
+ }
@@ -0,0 +1,395 @@
1
+ /* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved
2
+ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
3
+
4
+ :host([data-render-mode="shadow"]) {
5
+ /**
6
+ * Host mapping to composed sds-icon
7
+ *
8
+ * Static fallbacks in place for accessibility
9
+ */
10
+ --sds-c-icon-color-background: var(
11
+ --sds-c-inputcheckbox-color-background,
12
+ var(--sds-s-input-color-background, var(--sds-g-color-neutral-base-1))
13
+ );
14
+ --sds-c-icon-color-foreground: var(--sds-c-inputcheckbox-mark-color-foreground, transparent);
15
+ --sds-c-icon-color-border: var(
16
+ --sds-c-inputcheckbox-color-border,
17
+ var(--sds-s-input-color-border, var(--sds-g-color-neutral-base-contrast-4))
18
+ );
19
+ --sds-c-icon-sizing: var(--sds-c-inputcheckbox-sizing, 1rem);
20
+ --sds-c-icon-spacing: var(--sds-c-inputcheckbox-spacing);
21
+ --sds-c-icon-radius-border: var(--sds-c-inputcheckbox-radius-border, var(--sds-s-input-radius-border));
22
+ }
23
+
24
+ :host([data-render-mode="shadow"]:hover) {
25
+ --sds-c-inputcheckbox-mark-color-foreground: var(--sds-c-inputcheckbox-mark-color-foreground-hover);
26
+ --sds-c-inputcheckbox-color-background: var(
27
+ --sds-c-inputcheckbox-color-background-hover,
28
+ var(--sds-s-input-color-background-hover)
29
+ );
30
+ --sds-c-inputcheckbox-color-border: var(
31
+ --sds-c-inputcheckbox-color-border-hover,
32
+ var(--sds-s-input-color-border-hover)
33
+ );
34
+ --sds-c-inputcheckbox-label-color: var(--sds-c-inputcheckbox-label-color-hover);
35
+ }
36
+
37
+ :host([data-render-mode="shadow"][checked]) {
38
+ --sds-c-inputcheckbox-mark-color-foreground: var(
39
+ --sds-c-inputcheckbox-mark-color-foreground-checked,
40
+ var(--sds-g-color-neutral-base-1)
41
+ );
42
+ --sds-c-inputcheckbox-color-background: var(
43
+ --sds-c-inputcheckbox-color-background-checked,
44
+ var(--sds-g-color-neutral-base-contrast-4)
45
+ );
46
+ --sds-c-inputcheckbox-color-border: var(
47
+ --sds-c-inputcheckbox-color-border-checked,
48
+ var(--sds-g-color-neutral-base-contrast-4)
49
+ );
50
+ --sds-c-inputcheckbox-label-color: var(--sds-c-inputcheckbox-label-color-checked);
51
+ }
52
+
53
+ :host([data-render-mode="shadow"][checked]:hover) {
54
+ --sds-c-inputcheckbox-mark-color-foreground-checked: var(
55
+ --sds-c-inputcheckbox-mark-color-foreground-checked-hover
56
+ );
57
+ --sds-c-inputcheckbox-color-background-checked: var(--sds-c-inputcheckbox-color-background-checked-hover);
58
+ --sds-c-inputcheckbox-color-border-checked: var(--sds-c-inputcheckbox-color-border-checked-hover);
59
+ --sds-c-inputcheckbox-label-color-checked: var(
60
+ --sds-c-inputcheckbox-label-color-checked-hover,
61
+ var(--sds-c-inputcheckbox-label-color-hover)
62
+ );
63
+ }
64
+
65
+ :host([data-render-mode="shadow"][indeterminate]) {
66
+ --sds-c-inputcheckbox-mark-color-foreground: var(
67
+ --sds-c-inputcheckbox-mark-color-foreground-indeterminate,
68
+ #fff
69
+ );
70
+ --sds-c-inputcheckbox-color-background: var(
71
+ --sds-c-inputcheckbox-color-background-indeterminate,
72
+ var(--sds-s-input-color-background, #111)
73
+ );
74
+ --sds-c-inputcheckbox-color-border: var(
75
+ --sds-c-inputcheckbox-color-border-indeterminate,
76
+ var(--sds-s-input-color-border, #111)
77
+ );
78
+ --sds-c-inputcheckbox-label-color: var(--sds-c-inputcheckbox-label-color-indeterminate);
79
+ }
80
+
81
+ :host([data-render-mode="shadow"][indeterminate]:hover) {
82
+ --sds-c-inputcheckbox-mark-color-foreground-indeterminate: var(
83
+ --sds-c-inputcheckbox-mark-color-foreground-indeterminate-hover
84
+ );
85
+ --sds-c-inputcheckbox-color-background-indeterminate: var(
86
+ --sds-c-inputcheckbox-color-background-indeterminate-hover
87
+ );
88
+ --sds-c-inputcheckbox-color-border-indeterminate: var(
89
+ --sds-c-inputcheckbox-color-border-indeterminate-hover
90
+ );
91
+ --sds-c-inputcheckbox-label-color-indeterminate: var(
92
+ --sds-c-inputcheckbox-label-color-indeterminate-hover,
93
+ var(--sds-c-inputcheckbox-label-color-hover)
94
+ );
95
+ }
96
+
97
+ :host([data-render-mode="shadow"][focus-visible]) {
98
+ --sds-c-inputcheckbox-shadow: var(
99
+ --sds-c-inputcheckbox-shadow-focus,
100
+ var(--sds-s-input-shadow-focus, 0 0 4px 1px var(--sds-g-color-palette-blue-50, #0176d3))
101
+ );
102
+ }
103
+
104
+ :host([data-render-mode="shadow"][disabled]) {
105
+ --sds-c-inputcheckbox-color-background: var(
106
+ --sds-c-inputcheckbox-color-background-disabled,
107
+ var(--sds-s-input-color-background-disabled, #efefef)
108
+ );
109
+
110
+ /* TODO: Add shared border hook when available: https://github.com/salesforce-ux/salesforce-design-system/issues/272 */
111
+ --sds-c-inputcheckbox-color-border: var(--sds-c-inputcheckbox-color-border-disabled, #666);
112
+ --sds-c-inputcheckbox-label-color: var(--sds-c-inputcheckbox-label-color-disabled);
113
+ }
114
+
115
+ :host([data-render-mode="shadow"][error]) {
116
+ --sds-c-inputcheckbox-mark-color-foreground: var(--sds-c-inputcheckbox-mark-color-foreground-error);
117
+ --sds-c-inputcheckbox-color-background: var(--sds-c-inputcheckbox-color-background-error);
118
+ --sds-c-inputcheckbox-color-border: var(--sds-c-inputcheckbox-color-border-error);
119
+ --sds-c-inputcheckbox-label-color: var(--sds-c-inputcheckbox-label-color-error);
120
+ }
121
+
122
+ :host([data-render-mode="shadow"][disabled][checked]) {
123
+ --sds-c-inputcheckbox-mark-color-foreground: var(
124
+ --sds-c-inputcheckbox-mark-color-foreground-disabled,
125
+ #666
126
+ );
127
+ }
128
+
129
+ :host([data-render-mode="shadow"][error][focus-visible]) {
130
+ --sds-c-inputcheckbox-shadow: var(
131
+ --sds-c-inputcheckbox-shadow-error-focus,
132
+ 0 0 4px 1px var(--sds-g-color-palette-blue-50, #0176d3)
133
+ );
134
+ }
135
+
136
+ :host([data-render-mode="shadow"]) [part~='input-checkbox'] {
137
+ display: inline-flex;
138
+ align-items: center;
139
+ }
140
+
141
+ :host([data-render-mode="shadow"]) [part~='indicator'] {
142
+ display: inline-flex;
143
+ align-items: center;
144
+ box-shadow: var(--sds-c-inputcheckbox-shadow, var(--sds-s-input-shadow));
145
+ }
146
+
147
+ /**
148
+ * Size and position the input on top of our icon for accessibility
149
+ */
150
+
151
+ :host([data-render-mode="shadow"]) [part~='checkbox'] {
152
+ position: absolute;
153
+ height: calc(
154
+ var(--sds-c-inputcheckbox-sizing, 1rem) + (var(--sds-c-inputcheckbox-sizing-border, 1px) * 2) +
155
+ var(--sds-c-inputcheckbox-spacing, 0px)
156
+ );
157
+ width: calc(
158
+ var(--sds-c-inputcheckbox-sizing, 1rem) + (var(--sds-c-inputcheckbox-sizing-border, 1px) * 2) +
159
+ var(--sds-c-inputcheckbox-spacing, 0px)
160
+ );
161
+ opacity: 0.00001;
162
+ }
163
+
164
+ :host([data-render-mode="shadow"]) [part~='label'] {
165
+ padding-inline-start: var(--sds-c-inputcheckbox-label-spacing-inline-start);
166
+ color: var(--sds-c-inputcheckbox-label-color);
167
+ }
168
+
169
+ /* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved
170
+ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
171
+
172
+ @supports (--styling-hooks: '') {
173
+ /**
174
+ * Base
175
+ */
176
+ :host([data-render-mode="shadow"]) [part~='input-checkbox'] {
177
+ /* Label */
178
+ --sds-c-inputcheckbox-label-spacing-inline-start: var(
179
+ --slds-c-inputcheckbox-label-spacing-inline-start,
180
+ var(--sds-g-spacing-2, 0.5rem)
181
+ );
182
+
183
+ /* We need 'flex' instead of SDS's 'inline-flex' for the responsive label-inline variant */
184
+ display: flex;
185
+ }
186
+
187
+ /**
188
+ * Label Container
189
+ */
190
+ :host([data-render-mode="shadow"]) [part~='label-container'] {
191
+ display: inline-flex;
192
+ align-items: center;
193
+
194
+ /* Accounts for help-text in same row as label */
195
+ padding-inline-end: var(--sds-g-spacing-1, 0.25rem);
196
+ }
197
+
198
+ /**
199
+ * Label
200
+ *
201
+ * Add [part~='input-checkbox'] to increase specificity and
202
+ * avoid collisions with other components using [part~='label'] (e.g. slds-input-text)
203
+ */
204
+ :host([data-render-mode="shadow"]) [part~='input-checkbox'] [part~='label'] {
205
+ color: var(--slds-c-inputcheckbox-label-color, var(--sds-g-color-neutral-base-30, #444444));
206
+ font-size: var(--sds-g-font-scale-neg-2, 0.8125rem);
207
+ margin-block-end: 0;
208
+ padding-block-start: calc(var(--sds-g-spacing-1, 0.25rem) / 2);
209
+ }
210
+
211
+ /**
212
+ * Checkbox
213
+ *
214
+ * Hidden from view, see Indicator for visual faux checkbox.
215
+ */
216
+ :host([data-render-mode="shadow"]) [part~='checkbox'] {
217
+ width: 1px;
218
+ height: 1px;
219
+ border: 0;
220
+ clip: rect(0 0 0 0);
221
+ margin: -1px;
222
+ overflow: hidden;
223
+ padding: 0;
224
+ position: absolute;
225
+ pointer-events: auto;
226
+ }
227
+
228
+ /**
229
+ * Checkbox Indicator
230
+ *
231
+ * ┌────────────────────┐ ┌─────────────────────┐
232
+ * │ sds-icon │ │ Faux via <span> │
233
+ * └────────────────────┘ └─────────────────────┘
234
+ * ▲ ▲
235
+ * ┌────────────────────┐ ┌─────────────────────┐
236
+ * │ sds-input-checkbox │ │ slds-input-checkbox │
237
+ * └────────────────────┘ └─────────────────────┘
238
+ *
239
+ * sds-input-checkbox uses sds-icon for its visual checkbox indicator. SLDS
240
+ * + LBC uses a styled <span>. Due to this divergence, we require custom CSS.
241
+ */
242
+ :host([data-render-mode="shadow"]) [part~='indicator'] {
243
+ position: relative;
244
+ width: var(--slds-c-inputcheckbox-sizing, 1rem);
245
+ height: var(--slds-c-inputcheckbox-sizing, 1rem);
246
+ border-radius: var(--slds-c-inputcheckbox-radius-border, var(--sds-g-radius-border-1, 0.125rem));
247
+ border: var(--slds-c-inputcheckbox-sizing-border, var(--sds-g-sizing-border-1, 1px)) solid
248
+ var(--slds-c-inputcheckbox-color-border, var(--sds-g-color-neutral-base-80, #c9c9c9));
249
+ background-color: var(--slds-c-inputcheckbox-color-background, var(--sds-g-color-neutral-base-100, #ffffff));
250
+ box-shadow: var(--slds-c-inputcheckbox-shadow);
251
+ transition: border 0.1s linear, background-color 0.1s linear;
252
+ }
253
+
254
+ /**
255
+ * Checked
256
+ */
257
+ :host([data-render-mode="shadow"][checked]) [part~='indicator']::after {
258
+ content: '';
259
+ height: calc(var(--slds-c-inputcheckbox-sizing, 1rem) / 4);
260
+ width: calc(var(--slds-c-inputcheckbox-sizing, 1rem) / 2);
261
+ position: absolute;
262
+ top: 50%;
263
+ left: 50%;
264
+ transform: translate3d(-50%, -50%, 0) rotate(-45deg);
265
+ border-bottom: 2px solid
266
+ var(--slds-c-inputcheckbox-mark-color-foreground, var(--sds-g-color-brand-base-50, #0176d3));
267
+ border-left: 2px solid var(--slds-c-inputcheckbox-mark-color-foreground, var(--sds-g-color-brand-base-50, #0176d3));
268
+ }
269
+
270
+ :host([data-render-mode="shadow"][checked]) [part~='indicator'] {
271
+ --slds-c-inputcheckbox-color-background: var(--slds-c-inputcheckbox-color-background-checked);
272
+ --slds-c-inputcheckbox-color-border: var(--slds-c-inputcheckbox-color-border-checked);
273
+ }
274
+
275
+ /**
276
+ * Disabled
277
+ */
278
+ :host([data-render-mode="shadow"][disabled]) [part~='indicator'] {
279
+ --slds-c-inputcheckbox-color-background: var(
280
+ --slds-c-inputcheckbox-color-background-disabled,
281
+ var(--sds-g-color-neutral-base-95, #f3f3f3)
282
+ );
283
+ --slds-c-inputcheckbox-color-border: var(--slds-c-inputcheckbox-color-border-disabled);
284
+ --slds-c-inputcheckbox-mark-color-foreground: var(
285
+ --slds-c-inputcheckbox-mark-color-foreground-disabled,
286
+ var(--sds-g-color-neutral-base-60, #939393)
287
+ );
288
+ }
289
+
290
+ /**
291
+ * Focused
292
+ */
293
+ :host([data-render-mode="shadow"]:focus-within) [part~='indicator'] {
294
+ --slds-c-inputcheckbox-color-background: var(--slds-c-inputcheckbox-color-background-focus);
295
+ --slds-c-inputcheckbox-color-border: var(
296
+ --slds-c-inputcheckbox-color-border-focus,
297
+ var(--sds-g-color-brand-base-50, #0176d3)
298
+ );
299
+ --slds-c-inputcheckbox-shadow: var(
300
+ --slds-c-inputcheckbox-shadow-focus,
301
+ 0 0 3px var(--sds-g-color-brand-base-50, #0176d3)
302
+ );
303
+ }
304
+
305
+ /**
306
+ * Invalid
307
+ */
308
+ :host([data-render-mode="shadow"][invalid]) [part~='indicator'] {
309
+ --slds-c-inputcheckbox-color-background: var(--slds-c-inputcheckbox-color-background-invalid);
310
+ --slds-c-inputcheckbox-sizing-border: var(
311
+ --slds-c-inputcheckbox-sizing-border-invalid,
312
+ var(--sds-g-sizing-border-2, 2px)
313
+ );
314
+ --slds-c-inputcheckbox-color-border: var(
315
+ --slds-c-inputcheckbox-color-border-invalid,
316
+ var(--sds-g-color-error-base-50, #ea001e)
317
+ );
318
+ --slds-c-inputcheckbox-mark-color-foreground: var(
319
+ --slds-c-inputcheckbox-mark-color-foreground-invalid,
320
+ var(--sds-g-color-error-base-50, #ea001e)
321
+ );
322
+ }
323
+
324
+ :host([data-render-mode="shadow"][invalid]) [part~='help-text'] {
325
+ color: var(--slds-c-inputcheckbox-helptext-color-invalid, var(--sds-g-color-error-base-50, #ea001e));
326
+ }
327
+
328
+ /**
329
+ * Label Inline Variant
330
+ *
331
+ * @TODO: Remove magic number for MQ
332
+ */
333
+ @media (min-width: 48em) {
334
+ :host([data-render-mode="shadow"][variant~='label-inline']) [part~='label-container'] {
335
+ float: left;
336
+
337
+ /* TODO: Get rid of these magic numbers */
338
+ max-width: calc(33% - 1.125rem);
339
+ padding-block-start: var(--sds-g-spacing-1, 0.25rem);
340
+ padding-inline-start: var(--sds-g-spacing-1, 0.25rem);
341
+ }
342
+
343
+ :host([data-render-mode="shadow"][variant~='label-inline']) [part~='input-checkbox'] {
344
+ display: block;
345
+ margin-inline-start: 33%;
346
+ padding-block: var(--sds-g-spacing-1, 0.25rem);
347
+ margin-block-end: var(--sds-g-spacing-2, 0.5rem);
348
+ }
349
+
350
+ :host([data-render-mode="shadow"][variant~='label-inline']) [part~='inline-help'] {
351
+ float: left;
352
+ padding-block-start: var(--sds-g-spacing-1, 0.25rem);
353
+ }
354
+
355
+ :host([data-render-mode="shadow"][variant~='label-inline']) [part~='indicator'] {
356
+ /* @TODO: add change to SDS, removes line-height from display inline */
357
+ display: block;
358
+ }
359
+ }
360
+
361
+ /**
362
+ * Standalone Checkbox
363
+ *
364
+ * label-inline & label-stacked uses the "standalone" checkbox that lives outside the label
365
+ */
366
+ :host([data-render-mode="shadow"][variant~='label-inline']) [part~='checkbox'],:host([data-render-mode="shadow"][variant~='label-stacked']) [part~='checkbox'] {
367
+ width: 1rem;
368
+ height: 1rem;
369
+ margin: 0;
370
+ clip: auto;
371
+ opacity: 0;
372
+ z-index: 1;
373
+ }
374
+ }
375
+
376
+ /**
377
+ * A temporarily baked-in utility class until SLDS gets a proper utility package.
378
+ *
379
+ * This is a hybrid patch between synthetic and native shadow. The ideal final
380
+ * outcome is the removal of this class and replacing the class with the SLDS
381
+ * utility package solution.
382
+ */
383
+
384
+ :host([data-render-mode="shadow"]) .slds-assistive-text {
385
+ position: absolute !important;
386
+ margin: -1px !important;
387
+ border: 0 !important;
388
+ padding: 0 !important;
389
+ width: 1px !important;
390
+ height: 1px !important;
391
+ overflow: hidden !important;
392
+ clip: rect(0 0 0 0) !important;
393
+ text-transform: none !important;
394
+ white-space: nowrap !important;
395
+ }
@@ -0,0 +1,3 @@
1
+ @import 'lightning/sldsCommon';
2
+ @import './input-checkbox.slds.css';
3
+ @import './form-element.slds.css';