lightning-base-components 1.21.8-alpha → 1.22.1-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 (76) hide show
  1. package/metadata/raptor.json +3 -0
  2. package/package.json +3 -5
  3. package/scopedImports/@salesforce-internal-core.appVersion.js +1 -1
  4. package/src/lightning/accordionSection/button.slds.css +16 -13
  5. package/src/lightning/baseComboboxFormattedText/baseComboboxFormattedText.js-meta.xml +1 -1
  6. package/src/lightning/button/button.slds.css +16 -13
  7. package/src/lightning/buttonIcon/button-icon.slds.css +16 -13
  8. package/src/lightning/buttonIconStateful/button-icon.slds.css +16 -13
  9. package/src/lightning/buttonIconStateful/button.slds.css +16 -13
  10. package/src/lightning/buttonMenu/button-icon.slds.css +16 -13
  11. package/src/lightning/buttonMenu/button.slds.css +16 -13
  12. package/src/lightning/buttonMenu/buttonMenu.js +5 -3
  13. package/src/lightning/buttonStateful/button-stateful.slds.css +23 -0
  14. package/src/lightning/buttonStateful/button.slds.css +16 -13
  15. package/src/lightning/buttonStateful/buttonStateful.js-meta.xml +3 -0
  16. package/src/lightning/calendar/keyboard.js +11 -3
  17. package/src/lightning/combobox/combobox.js +5 -13
  18. package/src/lightning/datatable/__examples__/withVirtualization/withVirtualization.js +0 -1
  19. package/src/lightning/datatable/datatable.js +35 -39
  20. package/src/lightning/datatable/keyboard.js +11 -10
  21. package/src/lightning/datatable/renderManager.js +1 -3
  22. package/src/lightning/datatable/rows.js +16 -9
  23. package/src/lightning/datatable/state.js +0 -1
  24. package/src/lightning/datatable/templates/div/div.html +8 -8
  25. package/src/lightning/datatable/templates/div/div.lbc.synthetic.css +7 -0
  26. package/src/lightning/datatable/virtualization.js +11 -14
  27. package/src/lightning/formattedAddress/formattedAddress.js +3 -2
  28. package/src/lightning/formattedDateTime/formattedDateTime.js +3 -2
  29. package/src/lightning/formattedDateTime/formattedDateTime.js-meta.xml +1 -1
  30. package/src/lightning/formattedLocation/formattedLocation.js +3 -2
  31. package/src/lightning/formattedPhone/formattedPhone.js +3 -2
  32. package/src/lightning/formattedTime/formattedTime.js +3 -2
  33. package/src/lightning/formattedUrl/formattedUrl.js +3 -2
  34. package/src/lightning/helptext/button-icon.slds.css +16 -13
  35. package/src/lightning/helptext/helptext.js-meta.xml +3 -0
  36. package/src/lightning/inputAddress/__docs__/inputAddress.md +44 -3
  37. package/src/lightning/inputAddress/inputAddress.js +8 -6
  38. package/src/lightning/inputName/inputName.js-meta.xml +3 -0
  39. package/src/lightning/interactiveDialogBase/button.slds.css +507 -0
  40. package/src/lightning/interactiveDialogBase/interactive-dialog-base.slds.css +45 -17
  41. package/src/lightning/interactiveDialogBase/interactiveDialogBase.lbc.native.css +6 -1
  42. package/src/lightning/interactiveDialogBase/modal-base.slds.css +242 -0
  43. package/src/lightning/interactiveDialogBase/modal-body.slds.css +60 -0
  44. package/src/lightning/interactiveDialogBase/modal-footer.slds.css +79 -0
  45. package/src/lightning/interactiveDialogBase/modal-header.slds.css +76 -0
  46. package/src/lightning/lookupAddress/lookupAddress.js-meta.xml +3 -0
  47. package/src/lightning/menuDivider/menuDivider.js-meta.xml +3 -0
  48. package/src/lightning/menuItem/menuItem.js +19 -3
  49. package/src/lightning/menuSubheader/menuSubheader.js-meta.xml +3 -0
  50. package/src/lightning/modal/modal.js-meta.xml +3 -0
  51. package/src/lightning/modalBase/modalBase.js +7 -5
  52. package/src/lightning/modalBody/modalBody.js-meta.xml +3 -0
  53. package/src/lightning/modalFooter/modalFooter.js-meta.xml +3 -0
  54. package/src/lightning/modalHeader/modalHeader.js-meta.xml +3 -0
  55. package/src/lightning/picklist/picklist.js +3 -2
  56. package/src/lightning/pill/pill.js +1 -1
  57. package/src/lightning/pillContainer/button.slds.css +16 -13
  58. package/src/lightning/primitiveDatatableTooltip/primitiveDatatableTooltip.js +11 -7
  59. package/src/lightning/primitiveDatatableTooltipBubble/primitiveDatatableTooltipBubble.html +1 -1
  60. package/src/lightning/primitiveFileDroppableZone/primitiveFileDroppableZone.js +3 -2
  61. package/src/lightning/primitiveInputCheckbox/input-checkbox.slds.css +1 -1
  62. package/src/lightning/primitiveInputFile/button.slds.css +16 -13
  63. package/src/lightning/primitiveInputFile/input-file.slds.css +3 -2
  64. package/src/lightning/primitiveInputToggle/input-toggle.slds.css +13 -7
  65. package/src/lightning/progressBar/progressBar.js-meta.xml +3 -0
  66. package/src/lightning/progressRing/progressRing.js-meta.xml +3 -0
  67. package/src/lightning/prompt/form-element.slds.css +319 -0
  68. package/src/lightning/prompt/input-text.slds.css +506 -0
  69. package/src/lightning/prompt/prompt.lbc.native.css +2 -0
  70. package/src/lightning/purifyLib/purify.js +838 -586
  71. package/src/lightning/radioGroup/radioGroup.js-meta.xml +3 -0
  72. package/src/lightning/textarea/textarea.js-meta.xml +3 -0
  73. package/src/lightning/toast/button-icon.slds.css +16 -13
  74. package/src/lightning/toast/toast.js-meta.xml +3 -0
  75. package/src/lightning/toastContainer/toastContainer.js-meta.xml +3 -0
  76. package/src/lightning/verticalNavigationOverflow/button.slds.css +16 -13
@@ -0,0 +1,507 @@
1
+ /*******************************************
2
+ * Imported dependency from @salesforce-ux/sds-primitives/src/sds/button/button.css
3
+ *******************************************/
4
+ /* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved
5
+ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
6
+ /**
7
+ * Normalize box-sizing
8
+ */
9
+ *,
10
+ *::before,
11
+ *::after {
12
+ box-sizing: border-box;
13
+ }
14
+ /**
15
+ * Base button styles
16
+ */
17
+ :host([data-render-mode="shadow"]) [part~='button'] {
18
+ display: inline-flex;
19
+ gap: var(--sds-c-button-spacing-gap, var(--sds-s-button-spacing-gap));
20
+ background: var(--sds-c-button-color-background, var(--sds-s-button-color-background));
21
+ color: var(--sds-c-button-text-color, var(--sds-s-button-color));
22
+ font-weight: var(--sds-c-button-font-weight, var(--sds-s-button-font-weight));
23
+ font-size: var(--sds-c-button-font-size, var(--sds-s-button-font-size, inherit));
24
+ line-height: var(--sds-c-button-font-lineheight);
25
+ height: var(--sds-c-button-sizing-height);
26
+ width: var(--sds-c-button-sizing-width);
27
+ padding-inline-start: var(
28
+ --sds-c-button-spacing-inlinestart,
29
+ var(
30
+ --sds-c-button-spacing-inline,
31
+ var(--sds-c-button-spacing, var(--sds-s-button-spacing-inline, var(--sds-s-button-spacing)))
32
+ )
33
+ );
34
+ padding-inline-end: var(
35
+ --sds-c-button-spacing-inlineend,
36
+ var(
37
+ --sds-c-button-spacing-inline,
38
+ var(--sds-c-button-spacing, var(--sds-s-button-spacing-inline, var(--sds-s-button-spacing)))
39
+ )
40
+ );
41
+ padding-block-start: var(
42
+ --sds-c-button-spacing-blockstart,
43
+ var(
44
+ --sds-c-button-spacing-block,
45
+ var(--sds-c-button-spacing, var(--sds-s-button-spacing-block, var(--sds-s-button-spacing)))
46
+ )
47
+ );
48
+ padding-block-end: var(
49
+ --sds-c-button-spacing-blockend,
50
+ var(
51
+ --sds-c-button-spacing-block,
52
+ var(--sds-c-button-spacing, var(--sds-s-button-spacing-block, var(--sds-s-button-spacing)))
53
+ )
54
+ );
55
+ border-width: var(--sds-c-button-sizing-border, var(--sds-s-button-sizing-border, 1px));
56
+ border-style: solid;
57
+ border-color: var(--sds-c-button-color-border, var(--sds-s-button-color-border, currentColor));
58
+ border-start-start-radius: var(
59
+ --sds-c-button-radius-border-startstart,
60
+ var(
61
+ --sds-c-button-radius-border,
62
+ var(--sds-s-button-radius-border-startstart, var(--sds-s-button-radius-border))
63
+ )
64
+ );
65
+ border-start-end-radius: var(
66
+ --sds-c-button-radius-border-startend,
67
+ var(
68
+ --sds-c-button-radius-border,
69
+ var(--sds-s-button-radius-border-startend, var(--sds-s-button-radius-border))
70
+ )
71
+ );
72
+ border-end-start-radius: var(
73
+ --sds-c-button-radius-border-endstart,
74
+ var(
75
+ --sds-c-button-radius-border,
76
+ var(--sds-s-button-radius-border-endstart, var(--sds-s-button-radius-border))
77
+ )
78
+ );
79
+ border-end-end-radius: var(
80
+ --sds-c-button-radius-border-endend,
81
+ var(
82
+ --sds-c-button-radius-border,
83
+ var(--sds-s-button-radius-border-endend, var(--sds-s-button-radius-border))
84
+ )
85
+ );
86
+ box-shadow: var(--sds-c-button-shadow, var(--sds-s-button-shadow));
87
+ text-decoration: var(--sds-c-button-font-decoration);
88
+ white-space: normal;
89
+ user-select: none;
90
+ align-items: center;
91
+ justify-content: center;
92
+ appearance: none;
93
+ }
94
+ /**
95
+ * Hover button styles
96
+ *
97
+ * Fallback order: Hover > Base
98
+ */
99
+ :host([data-render-mode="shadow"]) [part~='button']:hover {
100
+ --sds-c-button-text-color: var(--sds-c-button-text-color-hover, var(--sds-s-button-color-hover, revert));
101
+ --sds-c-button-color-background: var(
102
+ --sds-c-button-color-background-hover,
103
+ var(--sds-s-button-color-background-hover, revert)
104
+ );
105
+ --sds-c-button-color-border: var(
106
+ --sds-c-button-color-border-hover,
107
+ var(--sds-s-button-color-border-hover, revert)
108
+ );
109
+ --sds-c-button-shadow: var(--sds-c-button-shadow-hover, var(--sds-s-button-shadow-hover, revert));
110
+
111
+ cursor: pointer;
112
+ }
113
+ /**
114
+ * Focus button styles
115
+ *
116
+ * Fallback order: Focus > Hover > Base
117
+ */
118
+ :host([data-render-mode="shadow"]) [part~='button']:focus {
119
+ --sds-c-button-color-background: var(
120
+ --sds-c-button-color-background-focus,
121
+ var(--sds-s-button-color-background-focus, revert)
122
+ );
123
+ --sds-c-button-color-border: var(
124
+ --sds-c-button-color-border-focus,
125
+ var(--sds-s-button-color-border-focus, revert)
126
+ );
127
+ --sds-c-button-text-color: var(--sds-c-button-text-color-focus, var(--sds-s-button-color-focus, revert));
128
+ --sds-c-button-shadow: var(--sds-c-button-shadow-focus, var(--sds-s-button-shadow-focus, revert));
129
+
130
+ outline: 0;
131
+ }
132
+ /**
133
+ * Active button styles
134
+ *
135
+ * Fallback order: Active > Focus > Base
136
+ *
137
+ * @TODO: keep this order (no hover) so active has feedback or go all out?
138
+ */
139
+ :host([data-render-mode="shadow"]) [part~='button']:active {
140
+ --sds-c-button-text-color: var(--sds-c-button-text-color-active, var(--sds-s-button-color-active, revert));
141
+ --sds-c-button-color-background: var(
142
+ --sds-c-button-color-background-active,
143
+ var(--sds-s-button-color-background-active, revert)
144
+ );
145
+ --sds-c-button-color-border: var(
146
+ --sds-c-button-color-border-active,
147
+ var(--sds-s-button-color-border-active, revert)
148
+ );
149
+ --sds-c-button-shadow: var(--sds-c-button-shadow-active, var(--sds-s-button-shadow-active, revert));
150
+ }
151
+ /**
152
+ * Disabled button styles
153
+ */
154
+ :host([data-render-mode="shadow"]) [part~='button']:disabled {
155
+ --sds-c-button-text-color: var(--sds-c-button-text-color-disabled);
156
+ --sds-c-button-color-background: var(--sds-c-button-color-background-disabled);
157
+ --sds-c-button-color-border: var(--sds-c-button-color-border-disabled);
158
+ --sds-c-button-shadow: var(--sds-c-button-shadow-disabled);
159
+
160
+ pointer-events: none;
161
+ }
162
+ :host([data-render-mode="shadow"]) [part~='button']:disabled * {
163
+ pointer-events: none;
164
+ }
165
+ :host([data-render-mode="shadow"]) [part='button'][aria-pressed='true'] {
166
+ --sds-c-button-color-background: var(--sds-c-button-color-background-pressed, revert);
167
+ --sds-c-button-color-border: var(--sds-c-button-color-border-pressed, revert);
168
+ --sds-c-button-text-color: var(--sds-c-button-text-color-pressed, revert);
169
+ --sds-c-button-shadow: var(--sds-c-button-shadow-pressed, revert);
170
+ }
171
+ /**
172
+ * LBC default is the 'neutral' variant.
173
+ *
174
+ * We retain the 'neutral' variant in the hook names for interoperability
175
+ * with SLDS light DOM blueprints which do explicitly define a 'neutral'
176
+ * variant which is not the default.
177
+ *
178
+ * See 'base' variant below.
179
+ *
180
+ */
181
+ :host([data-render-mode="shadow"]) [part~='button'] {
182
+ /* Element spacing, display flex set by SDS button */
183
+ gap: var(--slds-g-spacing-2);
184
+
185
+ /* slds-icon mapping */
186
+ --slds-c-icon-sizing-border: 0;
187
+ --slds-c-icon-sizing: 0.875rem;
188
+ --slds-c-icon-color-foreground: currentcolor;
189
+
190
+
191
+ --sds-c-button-font-lineheight: var(
192
+ --slds-c-button-neutral-font-lineheight,
193
+ var(--slds-s-button-font-lineheight, 1.875rem)
194
+ );
195
+ --sds-c-button-spacing-inline: var(
196
+ --slds-c-button-neutral-spacing-inline,
197
+ var(--slds-s-button-spacing-inline, var(--slds-g-spacing-4));
198
+ );
199
+ --sds-c-button-spacing-block: var(--slds-c-button-neutral-spacing-block);
200
+
201
+ /**
202
+ * A note about fallbacks on the default variant:
203
+ *
204
+ * We cannot use --sds-c-button-* as fallbacks because the sds-button's state
205
+ * hooks are tied to a selector with higher specificity. In the default variant,
206
+ * attempting to use the previous state's hook as a fallback will fail because
207
+ * it picks up on sds-button's state hooks instead and creates an infinite loop
208
+ * which ultimately breaks styling.
209
+ *
210
+ * This is another use-case for removing the opinion of state selectors in SDS.
211
+ *
212
+ * So in the default variant below, you'll see many repeated fallback values.
213
+ *
214
+ * In all other variants, it is ok to use the previous state as a fallback value.
215
+ */
216
+
217
+
218
+ /* Border radius - shared */
219
+ --sds-c-button-radius-border-startstart: var(
220
+ --slds-c-button-radius-border-startstart,
221
+ var(
222
+ --slds-c-button-radius-border,
223
+ var(--slds-s-button-radius-border-startstart, var(--slds-s-button-radius-border))
224
+ )
225
+ );
226
+
227
+ --sds-c-button-radius-border-endstart: var(
228
+ --slds-c-button-radius-border-endstart,
229
+ var(
230
+ --slds-c-button-radius-border,
231
+ var(--slds-s-button-radius-border-endstart, var(--slds-s-button-radius-border))
232
+ )
233
+ );
234
+
235
+ --sds-c-button-radius-border-startend: var(
236
+ --slds-c-button-radius-border-startend,
237
+ var(
238
+ --slds-c-button-radius-border,
239
+ var(--slds-s-button-radius-border-startend, var(--slds-s-button-radius-border))
240
+ )
241
+ );
242
+
243
+ --sds-c-button-radius-border-endend: var(
244
+ --slds-c-button-radius-border-endend,
245
+ var(
246
+ --slds-c-button-radius-border,
247
+ var(--slds-s-button-radius-border-endend, var(--slds-s-button-radius-border))
248
+ )
249
+ );
250
+
251
+ /* Background color */
252
+ --sds-c-button-color-background: var(
253
+ --slds-c-button-neutral-color-background,
254
+ var(--slds-g-color-surface-container-1)
255
+ );
256
+ --sds-c-button-color-background-hover: var(
257
+ --slds-c-button-neutral-color-background-hover,
258
+ var(--slds-g-color-surface-container-2)
259
+ );
260
+ --sds-c-button-color-background-focus: var(--slds-c-button-neutral-color-background-focus, var(--slds-g-color-surface-container-2));
261
+ --sds-c-button-color-background-active: var(
262
+ --slds-c-button-neutral-color-background-active,
263
+ var(--slds-g-color-surface-container-2)
264
+ );
265
+
266
+ /* Border color */
267
+ --sds-c-button-color-border: var(--slds-c-button-neutral-color-border, var(--slds-g-color-border-2));
268
+ --sds-c-button-color-border-hover: var(
269
+ --slds-c-button-neutral-color-border-hover,
270
+ var(--slds-g-color-border-2)
271
+ );
272
+ --sds-c-button-color-border-focus: var(
273
+ --slds-c-button-neutral-color-border-focus,
274
+ var(--slds-g-color-border-2)
275
+ );
276
+ --sds-c-button-color-border-active: var(
277
+ --slds-c-button-neutral-color-border-active,
278
+ var(--slds-g-color-border-2)
279
+ );
280
+
281
+ /* Text color */
282
+ --sds-c-button-text-color: var(--slds-c-button-neutral-text-color, var(--slds-g-color-accent-2));
283
+ --sds-c-button-text-color-hover: var(--slds-c-button-neutral-text-color-hover, var(--slds-s-button-color-hover, var(--slds-g-color-accent-3)));
284
+ --sds-c-button-text-color-focus: var(--slds-c-button-neutral-text-color-focus, var(--slds-g-color-accent-3));
285
+ --sds-c-button-text-color-active: var(
286
+ --slds-c-button-neutral-text-color-active,
287
+ var(--slds-g-color-accent-3)
288
+ );
289
+
290
+ /* Shadow */
291
+ --sds-c-button-shadow: var(--slds-c-button-neutral-shadow);
292
+ --sds-c-button-shadow-focus: var(--slds-c-button-neutral-shadow-focus);
293
+ }
294
+ /* Overriding primitiveBaseButton */
295
+ :host([data-render-mode="shadow"]) [part~='button']:disabled {
296
+ --sds-c-button-color-border-disabled: var(--slds-g-color-border-disabled-1);
297
+ --sds-c-button-text-color-disabled: var(--slds-g-color-on-disabled-1);
298
+ --sds-c-button-color-background-disabled: var(--slds-g-color-disabled-container-1);
299
+ }
300
+ /**
301
+ * A note about fallbacks on the default variant:
302
+ *
303
+ * We cannot use --sds-c-button-* as fallbacks because the sds-button's state
304
+ * hooks are tied to a selector with higher specificity. In the default variant,
305
+ * attempting to use the previous state's hook as a fallback will fail because
306
+ * it picks up on sds-button's state hooks instead and creates an infinite loop
307
+ * which ultimately breaks styling.
308
+ *
309
+ * This is another use-case for removing the opinion of state selectors in SDS.
310
+ *
311
+ * So in the default variant below, you'll see many repeated fallback values.
312
+ *
313
+ * In all other variants, it is ok to use the previous state as a fallback value.
314
+ */
315
+ :host([data-render-mode="shadow"][variant='brand']) [part~='button'] {
316
+ --slds-c-button-neutral-color-background: var(
317
+ --slds-c-button-brand-color-background,
318
+ var(--slds-g-color-accent-container-1)
319
+ );
320
+ --slds-c-button-neutral-color-background-hover: var(
321
+ --slds-c-button-brand-color-background-hover,
322
+ var(--slds-g-color-accent-container-2)
323
+ );
324
+ --slds-c-button-neutral-color-background-focus: var(
325
+ --slds-c-button-brand-color-background-focus,
326
+ var(--slds-g-color-accent-container-2)
327
+ );
328
+ --slds-c-button-neutral-color-background-active: var(
329
+ --slds-c-button-brand-color-background-active,
330
+ var(--slds-g-color-accent-container-2)
331
+ );
332
+
333
+ --slds-c-button-neutral-color-border: var(
334
+ --slds-c-button-brand-color-border,
335
+ var(--slds-g-color-border-accent-1)
336
+ );
337
+ --slds-c-button-neutral-color-border-hover: var(
338
+ --slds-c-button-brand-color-border-hover,
339
+ var(--slds-g-color-border-accent-2)
340
+ );
341
+ --slds-c-button-neutral-color-border-focus: var(
342
+ --slds-c-button-brand-color-border-focus,
343
+ var(--slds-g-color-border-accent-2)
344
+ );
345
+ --slds-c-button-neutral-color-border-active: var(
346
+ --slds-c-button-brand-color-border-active,
347
+ var(--slds-g-color-border-accent-2)
348
+ );
349
+
350
+ /* Since the text color is white for all states, bypassing inheritence and setting the color value from SDS */
351
+ --sds-c-button-text-color: var(--slds-c-button-brand-text-color, var(--slds-g-color-on-accent-1));
352
+ }
353
+ :host([data-render-mode="shadow"][variant='brand-outline']) [part~='button'] {
354
+ --slds-c-button-neutral-color-border: var(--slds-g-color-border-accent-2);
355
+ --slds-c-button-neutral-color-border-hover: var(--slds-g-color-border-accent-2);
356
+ --slds-c-button-neutral-color-border-focus: var(--slds-g-color-border-accent-2);
357
+ --slds-c-button-neutral-color-border-active: var(--slds-g-color-border-accent-2);
358
+ }
359
+ :host([data-render-mode="shadow"][variant='inverse']) [part~='button'] {
360
+ --slds-c-button-neutral-color-background: transparent;
361
+ --slds-c-button-neutral-color-background-hover: var(--slds-g-color-surface-container-2);
362
+ --slds-c-button-neutral-color-background-focus: var(--slds-g-color-surface-container-2);
363
+ --slds-c-button-neutral-color-background-active: var(--slds-g-color-surface-container-2);
364
+ --slds-c-button-neutral-color-border: var(--slds-g-color-neutral-base-100);
365
+ --slds-c-button-neutral-color-border-hover: var(--slds-g-color-neutral-base-100);
366
+ --slds-c-button-neutral-color-border-focus: var(--slds-g-color-neutral-base-100);
367
+ --slds-c-button-neutral-color-border-active: var(--slds-g-color-neutral-base-100);
368
+ --slds-c-button-neutral-text-color: var(--slds-g-color-on-accent-1);
369
+ --slds-c-button-neutral-text-color-hover: var(--slds-g-color-accent-2);
370
+ --slds-c-button-neutral-text-color-active: var(--slds-g-color-accent-2);
371
+ }
372
+ :host([data-render-mode="shadow"][variant='inverse']) [part~='button']:disabled {
373
+ --sds-c-button-color-background: transparent;
374
+ --sds-c-button-color-border: var(--slds-g-color-border-disabled-2);
375
+ --sds-c-button-text-color: var(--slds-g-color-disabled-2);
376
+ }
377
+ :host([data-render-mode="shadow"][variant='destructive']) [part~='button'] {
378
+ --slds-c-button-neutral-color-background: var(--slds-g-color-error-container-1);
379
+ --slds-c-button-neutral-color-background-hover: var(--slds-g-color-error-container-2);
380
+ --slds-c-button-neutral-color-background-focus: var(--slds-g-color-error-container-2);
381
+ --slds-c-button-neutral-color-background-active: var(--slds-g-color-error-container-2);
382
+ --slds-c-button-neutral-color-border: var(--slds-g-color-border-error-1);
383
+ --slds-c-button-neutral-color-border-hover: var(--slds-g-color-border-error-2);
384
+ --slds-c-button-neutral-color-border-focus: var(--slds-g-color-border-error-2);
385
+ --slds-c-button-neutral-color-border-active: var(--slds-g-color-border-error-2);
386
+
387
+ /* Since the text color is white for all states, bypassing inheritence and setting the color value from SDS */
388
+ --sds-c-button-text-color: var(--slds-g-color-on-error-1);
389
+ }
390
+ :host([data-render-mode="shadow"][variant='success']) [part~='button'] {
391
+ --slds-c-button-neutral-color-background: var(--slds-g-color-success-container-1);
392
+ --slds-c-button-neutral-color-background-hover: var(--slds-g-color-success-container-2);
393
+ --slds-c-button-neutral-color-background-focus: var(--slds-g-color-success-container-2);
394
+ --slds-c-button-neutral-color-background-active: var(--slds-g-color-success-container-2);
395
+ --slds-c-button-neutral-color-border: var(--slds-g-color-border-success-1);
396
+ --slds-c-button-neutral-color-border-hover: var(--slds-g-color-border-success-2);
397
+ --slds-c-button-neutral-color-border-focus: var(--slds-g-color-border-success-2);
398
+ --slds-c-button-neutral-color-border-active: var(--slds-g-color-border-success-2);
399
+ --slds-c-button-neutral-text-color: var(--slds-g-color-on-success-1);
400
+ --slds-c-button-neutral-text-color-hover: var(--slds-g-color-on-success-1);
401
+ --slds-c-button-neutral-text-color-focus: var(--slds-g-color-on-success-1);
402
+ --slds-c-button-neutral-text-color-active: var(--slds-g-color-on-success-1);
403
+ }
404
+ :host([data-render-mode="shadow"][variant='destructive-text']) [part~='button'] {
405
+ --slds-c-button-neutral-text-color: var(--slds-g-color-error-1);
406
+ --slds-c-button-neutral-text-color-hover: var(--slds-g-color-error-1);
407
+ --slds-c-button-neutral-text-color-focus: var(--slds-g-color-error-1);
408
+ --slds-c-button-neutral-text-color-active: var(--slds-g-color-error-1);
409
+ --slds-c-button-neutral-color-border-hover: var(--slds-c-button-neutral-color-border, var(--slds-g-color-border-1));
410
+ --slds-c-button-neutral-color-border-focus: var(--slds-c-button-neutral-color-border, var(--slds-g-color-border-1));
411
+ --slds-c-button-neutral-color-border-active: var(--slds-c-button-neutral-color-border, var(--slds-g-color-border-1));
412
+ }
413
+ :host([data-render-mode="shadow"][variant='brand']) [part~='button']:disabled,:host([data-render-mode="shadow"][variant='success']) [part~='button']:disabled,:host([data-render-mode="shadow"][variant='destructive']) [part~='button']:disabled {
414
+ --sds-c-button-color-background: var(--slds-g-color-disabled-container-2);
415
+ --sds-c-button-color-border: var(--slds-g-color-border-disabled-1);
416
+ --sds-c-button-text-color: var(--slds-g-color-on-disabled-2);
417
+ }
418
+ /**
419
+ * 'base' variant is not the default in LBC. It is the default in the light
420
+ * DOM version of SLDS.
421
+ *
422
+ * So even though this is a non-default variant in this context, the hooks
423
+ * for this variant are written as the default for interoperability with
424
+ * SLDS light DOM.
425
+ *
426
+ * E.g. --slds-c-button-color-background
427
+ */
428
+ /**
429
+ * text variant is for button-stateful
430
+ */
431
+ :host([data-render-mode="shadow"][variant='base']) [part~='button'],:host([data-render-mode="shadow"][variant='text']) [part~='button']{
432
+ --sds-c-button-spacing-inline: 0;
433
+ --slds-c-button-neutral-text-color: var(--slds-g-color-accent-2);
434
+ --slds-c-button-neutral-color-border: transparent;
435
+ --slds-c-button-neutral-color-border-hover: transparent;
436
+ --slds-c-button-neutral-color-border-focus: transparent;
437
+ --slds-c-button-neutral-color-border-active: var(--slds-g-color-border-accent-2);
438
+ --slds-c-button-neutral-color-background: transparent;
439
+ --slds-c-button-neutral-color-background-hover: transparent;
440
+ --slds-c-button-neutral-color-background-focus: transparent;
441
+ --slds-c-button-neutral-color-background-active: transparent;
442
+ }
443
+ :host([data-render-mode="shadow"][variant='base']) [part~='button']:disabled,:host([data-render-mode="shadow"][variant='text']) [part~='button']:disabled {
444
+ --sds-c-button-color-background: transparent;
445
+ --sds-c-button-color-border: transparent;
446
+ }
447
+ :host([data-render-mode="shadow"][stretch]) [part~='button'] {
448
+ --sds-c-button-sizing-width: 100%;
449
+
450
+ justify-content: center;
451
+ }
452
+ /**
453
+ * Center button on all variants except 'base', and 'text'
454
+ *
455
+ * This addresses the issue of customers relying on preexisting x-axis centering
456
+ * when they arbitrarily change the width of the button without the stretch variant.
457
+ *
458
+ * Ref
459
+ * - https://github.com/salesforce-ux/design-system-internal/pull/4344
460
+ * - https://github.com/salesforce-ux/design-system-internal/pull/4949
461
+ */
462
+ :host([data-render-mode="shadow"][variant='brand']) [part~='button'],:host([data-render-mode="shadow"][variant='brand-outline']) [part~='button'],:host([data-render-mode="shadow"][variant='inverse']) [part~='button'],:host([data-render-mode="shadow"][variant='success']) [part~='button'],:host([data-render-mode="shadow"][variant='destructive']) [part~='button'],:host([data-render-mode="shadow"][variant='destructive-text']) [part~='button'] {
463
+ justify-content: center;
464
+ }
465
+ /**
466
+ * Represents inner spacing around icon for icon-position="left", when present
467
+ */
468
+ :host([data-render-mode="shadow"]) [part~='start'] {
469
+ display: inline-flex;
470
+ padding-inline-end: 0;
471
+ }
472
+ /**
473
+ * Represents inner spacing around icon for icon-position="right", when present
474
+ */
475
+ :host([data-render-mode="shadow"]) [part~='end'] {
476
+ display: inline-flex;
477
+ padding-inline-start: 0;
478
+
479
+ }
480
+ /**
481
+ * A temporarily baked-in utility class until SLDS gets a proper utility package.
482
+ *
483
+ * This is a hybrid patch between synthetic and native shadow. The ideal final
484
+ * outcome is the removal of this class and replacing the class with the SLDS
485
+ * utility package solution.
486
+ */
487
+ :host([data-render-mode="shadow"]) .slds-assistive-text {
488
+ position: absolute !important;
489
+ margin: -1px !important;
490
+ border: 0 !important;
491
+ padding: 0 !important;
492
+ width: 1px !important;
493
+ height: 1px !important;
494
+ overflow: hidden !important;
495
+ clip: rect(0 0 0 0) !important;
496
+ text-transform: none !important;
497
+ white-space: nowrap !important;
498
+ }
499
+ :host([data-render-mode="shadow"]) .slds-button_reset {
500
+ font-size: inherit;
501
+ color: inherit;
502
+ line-height: inherit;
503
+ padding: 0;
504
+ background: transparent;
505
+ border: 0;
506
+ text-align: inherit;
507
+ }
@@ -2,20 +2,48 @@
2
2
  /* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved
3
3
  Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
4
4
 
5
- .slds-modal_prompt {
6
- --slds-c-modalheader-sizing-border: 0;
7
- --slds-c-modalfooter-sizing-border: 0;
8
- }
9
-
10
- .slds-modal_prompt .slds-modal__close {
11
- display: none;
12
- }
13
-
14
- .slds-modal_prompt .slds-modal__content {
15
- padding-block: var(--slds-g-spacing-4);
16
- padding-inline: var(--slds-g-spacing-6);
17
- }
18
-
19
- .slds-modal_prompt .slds-modal__footer {
20
- text-align: center;
21
- }
5
+ .slds-modal_prompt {
6
+ --slds-c-modalheader-sizing-border: 0;
7
+ --slds-c-modalfooter-sizing-border: 0;
8
+ }
9
+
10
+ .slds-modal_prompt .slds-modal__close {
11
+ display: none;
12
+ }
13
+
14
+ .slds-modal_prompt .slds-modal__content {
15
+ padding-block: var(--slds-g-spacing-4);
16
+ padding-inline: var(--slds-g-spacing-6);
17
+ }
18
+
19
+ .slds-modal_prompt .slds-modal__footer {
20
+ text-align: center;
21
+ }
22
+
23
+ [part='button'].slds-button_brand {
24
+ --slds-c-button-neutral-color-background:
25
+ var(--slds-g-color-accent-container-1);
26
+ --slds-c-button-neutral-color-background-hover:
27
+ var(--slds-g-color-accent-container-2);
28
+ --slds-c-button-neutral-color-background-focus:
29
+ var(--slds-g-color-accent-container-2);
30
+ --slds-c-button-neutral-color-background-active:
31
+ var(--slds-g-color-accent-container-2);
32
+
33
+ --slds-c-button-neutral-color-border:
34
+ var(--slds-g-color-border-accent-1);
35
+ --slds-c-button-neutral-color-border-hover:
36
+ var(--slds-g-color-border-accent-2);
37
+ --slds-c-button-neutral-color-border-focus:
38
+ var(--slds-g-color-border-accent-2);
39
+ --slds-c-button-neutral-color-border-active:
40
+ var(--slds-g-color-border-accent-2);
41
+
42
+ /* Important is required due to css
43
+ * specificity.
44
+ * This will always fall lose specificity to * button.css as it doesn't have
45
+ * [data-render-mode]
46
+ *
47
+ */
48
+ --sds-c-button-text-color: var(--slds-g-color-on-accent-1) !important;
49
+ }
@@ -1,3 +1,8 @@
1
1
  @import 'lightning/sldsCommon';
2
+ @import './button.slds.css';
3
+ @import './modal-base.slds.css';
4
+ @import './modal-header.slds.css';
5
+ @import './modal-body.slds.css';
6
+ @import './modal-footer.slds.css';
2
7
  @import './interactive-dialog-base.slds.css';
3
- @import 'lightning/sldsUtilsThemes';
8
+ @import 'lightning/sldsUtilsThemes';