lightning-base-components 1.18.7-alpha → 1.18.8-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 (113) hide show
  1. package/metadata/raptor.json +32 -9
  2. package/package.json +1 -1
  3. package/src/lightning/accordion/accordion.slds.css +26 -20
  4. package/src/lightning/accordionSection/accordion-section.slds.css +20 -14
  5. package/src/lightning/avatar/avatar.slds.css +10 -10
  6. package/src/lightning/baseCombobox/base-combobox.slds.css +23 -23
  7. package/src/lightning/baseCombobox/baseCombobox.css +1 -2
  8. package/src/lightning/baseCombobox/baseCombobox.html +7 -11
  9. package/src/lightning/baseCombobox/baseCombobox.js +84 -36
  10. package/src/lightning/breadcrumb/breadcrumb.js +4 -2
  11. package/src/lightning/breadcrumb/breadcrumb.slds.css +3 -3
  12. package/src/lightning/breadcrumbs/breadcrumbs.slds.css +5 -5
  13. package/src/lightning/button/button.slds.css +8 -2
  14. package/src/lightning/buttonGroup/button-group.slds.css +5 -5
  15. package/src/lightning/buttonIcon/button-icon.slds.css +9 -3
  16. package/src/lightning/buttonIconStateful/button-icon-stateful.slds.css +15 -9
  17. package/src/lightning/buttonMenu/button-menu.slds.css +13 -7
  18. package/src/lightning/buttonStateful/button-stateful.slds.css +11 -5
  19. package/src/lightning/calendar/calendar.js +15 -23
  20. package/src/lightning/calendar/calendar.slds.css +29 -23
  21. package/src/lightning/card/card.slds.css +68 -68
  22. package/src/lightning/combobox/combobox.slds.css +1 -1
  23. package/src/lightning/combobox/form-element.slds.css +8 -0
  24. package/src/lightning/datatable/datatable.js +4 -0
  25. package/src/lightning/datatable/keyboard.js +8 -4
  26. package/src/lightning/datatable/sort.js +1 -1
  27. package/src/lightning/datepicker/datepicker.js +1 -1
  28. package/src/lightning/datepicker/form-element.slds.css +8 -0
  29. package/src/lightning/datepicker/input-text.slds.css +23 -23
  30. package/src/lightning/datetimepicker/form-element.slds.css +8 -0
  31. package/src/lightning/datetimepicker/input-text.slds.css +23 -23
  32. package/src/lightning/dualListbox/form-element.slds.css +8 -0
  33. package/src/lightning/f6Controller/f6Controller.js +31 -22
  34. package/src/lightning/formattedDateTime/formattedDateTime.js +1 -1
  35. package/src/lightning/groupedCombobox/groupedCombobox.html +4 -0
  36. package/src/lightning/groupedCombobox/groupedCombobox.js +3 -2
  37. package/src/lightning/helptext/form-element.slds.css +8 -0
  38. package/src/lightning/helptext/help-text.slds.css +10 -4
  39. package/src/lightning/icon/icon.js +5 -1
  40. package/src/lightning/icon/icon.slds.css +3 -3
  41. package/src/lightning/input/__examples__/checkboxbutton/checkboxbutton.css +6 -0
  42. package/src/lightning/input/__examples__/checkboxbutton/checkboxbutton.html +2 -1
  43. package/src/lightning/input/__examples__/checkboxbutton/checkboxbutton.js +1 -1
  44. package/src/lightning/input/__examples__/number/number.html +0 -5
  45. package/src/lightning/input/form-element.slds.css +8 -0
  46. package/src/lightning/input/input.css +0 -2
  47. package/src/lightning/input/input.html +149 -239
  48. package/src/lightning/input/input.js +221 -539
  49. package/src/lightning/inputUtils/inputUtils.js +15 -20
  50. package/src/lightning/inputUtils/normalize.js +7 -0
  51. package/src/lightning/{input/numberUtil.js → inputUtils/number.js} +1 -1
  52. package/src/lightning/inputUtils/utils.js +18 -0
  53. package/src/lightning/layout/layout.js +1 -0
  54. package/src/lightning/layoutItem/layoutItem.js +1 -0
  55. package/src/lightning/modal/__docs__/modal.md +102 -3
  56. package/src/lightning/pill/avatar.slds.css +10 -10
  57. package/src/lightning/primitiveColorpickerButton/color-picker-button.slds.css +9 -9
  58. package/src/lightning/primitiveIcon/icon.slds.css +3 -3
  59. package/src/lightning/primitiveInputCheckbox/form-element.slds.css +289 -0
  60. package/src/lightning/{input → primitiveInputCheckbox}/input-checkbox.slds.css +18 -18
  61. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.css +3 -0
  62. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.html +48 -0
  63. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.js +139 -0
  64. package/src/lightning/primitiveInputCheckboxButton/form-element.slds.css +289 -0
  65. package/src/lightning/primitiveInputCheckboxButton/input-checkbox-button.slds.css +126 -0
  66. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.css +6 -0
  67. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.html +24 -0
  68. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.js +176 -0
  69. package/src/lightning/primitiveInputColor/form-element.slds.css +289 -0
  70. package/src/lightning/primitiveInputColor/input-color.slds.css +35 -0
  71. package/src/lightning/{input → primitiveInputColor}/input-text.slds.css +23 -23
  72. package/src/lightning/primitiveInputColor/primitiveInputColor.css +4 -0
  73. package/src/lightning/primitiveInputColor/primitiveInputColor.html +50 -0
  74. package/src/lightning/primitiveInputColor/primitiveInputColor.js +184 -0
  75. package/src/lightning/primitiveInputFile/button.slds.css +533 -0
  76. package/src/lightning/primitiveInputFile/form-element.slds.css +289 -0
  77. package/src/lightning/primitiveInputFile/input-file.slds.css +62 -0
  78. package/src/lightning/primitiveInputFile/primitiveInputFile.css +5 -0
  79. package/src/lightning/primitiveInputFile/primitiveInputFile.html +45 -0
  80. package/src/lightning/primitiveInputFile/primitiveInputFile.js +111 -0
  81. package/src/lightning/primitiveInputRadio/primitiveInputRadio.html +24 -0
  82. package/src/lightning/primitiveInputRadio/primitiveInputRadio.js +103 -0
  83. package/src/lightning/primitiveInputSimple/form-element.slds.css +289 -0
  84. package/src/lightning/primitiveInputSimple/input-text.slds.css +398 -0
  85. package/src/lightning/primitiveInputSimple/primitiveInputSimple.css +9 -0
  86. package/src/lightning/primitiveInputSimple/primitiveInputSimple.html +65 -0
  87. package/src/lightning/primitiveInputSimple/primitiveInputSimple.js +585 -0
  88. package/src/lightning/primitiveInputToggle/form-element.slds.css +289 -0
  89. package/src/lightning/primitiveInputToggle/input-toggle.slds.css +170 -0
  90. package/src/lightning/primitiveInputToggle/primitiveInputToggle.css +3 -0
  91. package/src/lightning/primitiveInputToggle/primitiveInputToggle.html +34 -0
  92. package/src/lightning/primitiveInputToggle/primitiveInputToggle.js +164 -0
  93. package/src/lightning/radioGroup/input-radio-group.slds.css +57 -57
  94. package/src/lightning/select/form-element.slds.css +8 -0
  95. package/src/lightning/select/select.js +1 -0
  96. package/src/lightning/select/select.slds.css +30 -22
  97. package/src/lightning/sldsCommon/sldsCommon.css +21 -0
  98. package/src/lightning/spinner/spinner.js +8 -4
  99. package/src/lightning/spinner/spinner.slds.css +34 -34
  100. package/src/lightning/tab/tab.css +2 -0
  101. package/src/lightning/tab/tab.js +37 -14
  102. package/src/lightning/tab/tab.slds.css +47 -0
  103. package/src/lightning/tabBar/tab-bar.slds.css +5 -5
  104. package/src/lightning/tabset/tabset.css +10 -0
  105. package/src/lightning/tabset/tabset.js +31 -7
  106. package/src/lightning/timepicker/form-element.slds.css +8 -0
  107. package/src/lightning/toast/button-icon.slds.css +9 -3
  108. package/src/lightning/toast/icon.slds.css +3 -3
  109. package/src/lightning/verticalNavigation/vertical-navigation.slds.css +1 -1
  110. package/src/lightning/baseCombobox/spinner.slds.css +0 -438
  111. /package/src/lightning/{input/emailUtil.js → inputUtils/email.js} +0 -0
  112. /package/src/lightning/{input → primitiveInputSimple}/normalize.js +0 -0
  113. /package/src/lightning/{input → primitiveInputSimple}/selection.js +0 -0
@@ -0,0 +1,533 @@
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"]:focus) {
5
+ outline: 0;
6
+ }
7
+
8
+ :host([data-render-mode="shadow"]) [part~='button'] {
9
+ display: inline-flex;
10
+ position: relative;
11
+ background: none;
12
+ background-color: var(--sds-c-button-color-background, var(--sds-s-button-color-background, transparent));
13
+ background-clip: border-box;
14
+ color: var(--sds-c-button-text-color, var(--sds-s-button-text-color, inherit));
15
+ padding-left: var(
16
+ --sds-c-button-spacing-inline-start,
17
+ var(--sds-c-button-spacing-inline, var(--sds-s-button-spacing-inline))
18
+ );
19
+ padding-right: var(
20
+ --sds-c-button-spacing-inline-end,
21
+ var(--sds-c-button-spacing-inline, var(--sds-s-button-spacing-inline))
22
+ );
23
+ padding-top: var(
24
+ --sds-c-button-spacing-block-start,
25
+ var(--sds-c-button-spacing-block, var(--sds-s-button-spacing-block))
26
+ );
27
+ padding-bottom: var(
28
+ --sds-c-button-spacing-block-start,
29
+ var(--sds-c-button-spacing-block, var(--sds-s-button-spacing-block))
30
+ );
31
+ border-width: var(--sds-c-button-sizing-border, var(--sds-s-button-sizing-border, 1px));
32
+ border-style: solid;
33
+ border-color: var(--sds-c-button-color-border, var(--sds-s-button-color-border, transparent));
34
+ border-start-start-radius: var(
35
+ --sds-c-button-radius-border-startstart,
36
+ var(
37
+ --sds-c-button-radius-border,
38
+ var(
39
+ --sds-s-button-radius-border-startstart,
40
+ var(--sds-s-button-radius-border, var(--sds-g-radius-border-2, 0.25rem))
41
+ )
42
+ )
43
+ );
44
+ border-start-end-radius: var(
45
+ --sds-c-button-radius-border-startend,
46
+ var(
47
+ --sds-c-button-radius-border,
48
+ var(
49
+ --sds-s-button-radius-border-startend,
50
+ var(--sds-s-button-radius-border, var(--sds-g-radius-border-2, 0.25rem))
51
+ )
52
+ )
53
+ );
54
+ border-end-start-radius: var(
55
+ --sds-c-button-radius-border-endstart,
56
+ var(
57
+ --sds-c-button-radius-border,
58
+ var(
59
+ --sds-s-button-radius-border-endstart,
60
+ var(--sds-s-button-radius-border, var(--sds-g-radius-border-2, 0.25rem))
61
+ )
62
+ )
63
+ );
64
+ border-end-end-radius: var(
65
+ --sds-c-button-radius-border-endend,
66
+ var(
67
+ --sds-c-button-radius-border,
68
+ var(
69
+ --sds-s-button-radius-border-endend,
70
+ var(--sds-s-button-radius-border, var(--sds-g-radius-border-2, 0.25rem))
71
+ )
72
+ )
73
+ );
74
+ box-shadow: var(--sds-c-button-shadow, var(--sds-s-button-shadow));
75
+ width: var(--sds-c-button-sizing-width);
76
+
77
+ /* this line height hook is incorrect but is used in core - need to get teams to change */
78
+ /* stylelint-disable-next-line sds-stylelint-plugin/styling-hooks-pattern */
79
+ line-height: var(--sds-c-button-line-height);
80
+ white-space: normal;
81
+ user-select: none;
82
+ align-items: center;
83
+ text-decoration: var(--sds-c-button-font-decoration, none);
84
+ appearance: none;
85
+ }
86
+
87
+ :host([data-render-mode="shadow"]) [part~='button']:hover {
88
+ --sds-c-button-text-color: var(
89
+ --sds-c-button-text-color-hover,
90
+ var(--sds-s-button-text-color-hover, #0176d3)
91
+ );
92
+ --sds-c-button-color-background: var(
93
+ --sds-c-button-color-background-hover,
94
+ var(--sds-s-button-color-background-hover)
95
+ );
96
+ --sds-c-button-color-border: var(--sds-c-button-color-border-hover, var(--sds-s-button-color-border-hover));
97
+
98
+ cursor: pointer;
99
+ }
100
+
101
+ :host([data-render-mode="shadow"]) [part~='button']:focus {
102
+ --sds-c-button-color-background: var(
103
+ --sds-c-button-color-background-focus,
104
+ var(--sds-s-button-color-background-focus)
105
+ );
106
+ --sds-c-button-color-border: var(
107
+ --sds-c-button-color-border-focus,
108
+ var(--sds-s-button-color-border-focus, #0176d3)
109
+ );
110
+ --sds-c-button-text-color: var(
111
+ --sds-c-button-text-color-focus,
112
+ var(--sds-s-button-text-color-focus, #0176d3)
113
+ );
114
+ --sds-c-button-shadow: var(--sds-c-button-shadow-focus, var(--sds-s-button-shadow-focus, #0176d3 0 0 3px));
115
+
116
+ outline: 0;
117
+ }
118
+
119
+ :host([data-render-mode="shadow"]) [part~='button']:active {
120
+ --sds-c-button-text-color: var(
121
+ --sds-c-button-text-color-active,
122
+ var(--sds-s-button-text-color-active, currentColor)
123
+ );
124
+ --sds-c-button-color-background: var(
125
+ --sds-c-button-color-background-active,
126
+ var(--sds-s-button-color-background-active)
127
+ );
128
+ --sds-c-button-color-border: var(
129
+ --sds-c-button-color-border-active,
130
+ var(--sds-s-button-color-border-active, #0176d3)
131
+ );
132
+ }
133
+
134
+ :host([data-render-mode="shadow"]) [part~='button']:disabled {
135
+ --sds-c-button-text-color: var(--sds-c-button-text-color-disabled, #939393);
136
+ --sds-c-button-color-background: var(--sds-c-button-color-background-disabled);
137
+ --sds-c-button-color-border: var(--sds-c-button-color-border-disabled);
138
+
139
+ pointer-events: none;
140
+ }
141
+
142
+ :host([data-render-mode="shadow"]) [part~='button']:disabled * {
143
+ pointer-events: none;
144
+ }
145
+
146
+ /* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved
147
+ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
148
+
149
+ @supports (--styling-hooks: '') {
150
+ /**
151
+ * LBC default is the 'neutral' variant.
152
+ *
153
+ * We retain the 'neutral' variant in the hook names for interoperability
154
+ * with SLDS light DOM blueprints which do explicitly define a 'neutral'
155
+ * variant which is not the default.
156
+ *
157
+ * See 'base' variant below.
158
+ *
159
+ */
160
+
161
+ :host([data-render-mode="shadow"]) [part~='button'] {
162
+ /* Element spacing, display flex set by SDS button */
163
+ gap: var(--sds-g-spacing-2, 0.5rem);
164
+
165
+ /* slds-icon mapping */
166
+ --slds-c-icon-sizing-border: 0;
167
+ --slds-c-icon-sizing: 0.875rem;
168
+ --slds-c-icon-color-foreground: var(--slds-c-button-icon-color-foreground, currentColor);
169
+
170
+ --sds-c-button-line-height: var(
171
+ --slds-c-button-neutral-font-lineheight,
172
+ var(--slds-s-button-font-lineheight, 1.875rem)
173
+ );
174
+ --sds-c-button-spacing-inline: var(
175
+ --slds-c-button-neutral-spacing-inline,
176
+ var(--slds-s-button-spacing-inline, var(--sds-g-spacing-4, 1rem))
177
+ );
178
+ --sds-c-button-spacing-block: var(--slds-c-button-neutral-spacing-block);
179
+
180
+ /**
181
+ * A note about fallbacks on the default variant:
182
+ *
183
+ * We cannot use --sds-c-button-* as fallbacks because the sds-button's state
184
+ * hooks are tied to a selector with higher specificity. In the default variant,
185
+ * attempting to use the previous state's hook as a fallback will fail because
186
+ * it picks up on sds-button's state hooks instead and creates an infinite loop
187
+ * which ultimately breaks styling.
188
+ *
189
+ * This is another use-case for removing the opinion of state selectors in SDS.
190
+ *
191
+ * So in the default variant below, you'll see many repeated fallback values.
192
+ *
193
+ * In all other variants, it is ok to use the previous state as a fallback value.
194
+ */
195
+
196
+ /* Border radius - shared */
197
+ --sds-c-button-radius-border-startstart: var(
198
+ --slds-c-button-neutral-radius-border-startstart,
199
+ var(
200
+ --slds-c-button-neutral-radius-border,
201
+ var(--slds-s-button-radius-border-startstart, var(--slds-s-button-radius-border))
202
+ )
203
+ );
204
+ --sds-c-button-radius-border-endstart: var(
205
+ --slds-c-button-radius-border-endstart,
206
+ var(
207
+ --slds-c-button-neutral-radius-border,
208
+ var(--slds-s-button-radius-border-endstart, var(--slds-s-button-radius-border))
209
+ )
210
+ );
211
+ --sds-c-button-radius-border-startend: var(
212
+ --slds-c-button-radius-border-startend,
213
+ var(
214
+ --slds-c-button-neutral-radius-border,
215
+ var(--slds-s-button-radius-border-startend, var(--slds-s-button-radius-border))
216
+ )
217
+ );
218
+ --sds-c-button-radius-border-endend: var(
219
+ --slds-c-button-radius-border-endend,
220
+ var(
221
+ --slds-c-button-neutral-radius-border,
222
+ var(--slds-s-button-radius-border-endend, var(--slds-s-button-radius-border))
223
+ )
224
+ );
225
+
226
+ /* Background color */
227
+ --sds-c-button-color-background: var(
228
+ --slds-c-button-neutral-color-background,
229
+ var(--sds-g-color-neutral-base-100, #ffffff)
230
+ );
231
+ --sds-c-button-color-background-hover: var(
232
+ --slds-c-button-neutral-color-background-hover,
233
+ var(--sds-g-color-neutral-base-95, #f3f3f3)
234
+ );
235
+ --sds-c-button-color-background-focus: var(
236
+ --slds-c-button-neutral-color-background-focus,
237
+ var(--sds-c-button-color-background-hover)
238
+ );
239
+ --sds-c-button-color-background-active: var(
240
+ --slds-c-button-neutral-color-background-active,
241
+ var(--sds-g-color-neutral-base-95, #f3f3f3)
242
+ );
243
+
244
+ /* Border color */
245
+ --sds-c-button-color-border: var(
246
+ --slds-c-button-neutral-color-border,
247
+ var(--sds-g-color-neutral-base-80, #c9c9c9)
248
+ );
249
+ --sds-c-button-color-border-hover: var(
250
+ --slds-c-button-neutral-color-border-hover,
251
+ var(--sds-g-color-neutral-base-80, #c9c9c9)
252
+ );
253
+ --sds-c-button-color-border-focus: var(
254
+ --slds-c-button-neutral-color-border-focus,
255
+ var(--sds-c-button-color-border-hover)
256
+ );
257
+ --sds-c-button-color-border-active: var(
258
+ --slds-c-button-neutral-color-border-active,
259
+ var(--sds-g-color-neutral-base-80, #c9c9c9)
260
+ );
261
+
262
+ /* Text color */
263
+ --sds-c-button-text-color: var(
264
+ --slds-c-button-neutral-text-color,
265
+ var(--sds-g-color-brand-base-50, #0176d3)
266
+ );
267
+ --sds-c-button-text-color-hover: var(
268
+ --slds-c-button-neutral-text-color-hover,
269
+ var(--sds-g-color-brand-base-30, #014486)
270
+ );
271
+ --sds-c-button-text-color-focus: var(
272
+ --slds-c-button-neutral-text-color-focus,
273
+ var(--slds-c-button-neutral-text-color-hover)
274
+
275
+ );
276
+ --sds-c-button-text-color-active: var(
277
+ --slds-c-button-neutral-text-color-active,
278
+ var(--sds-g-color-brand-base-30, #014486)
279
+ );
280
+
281
+ /* Shadow */
282
+ --sds-c-button-shadow: var(--slds-c-button-neutral-shadow);
283
+ --sds-c-button-shadow-focus: var(--slds-c-button-neutral-shadow-focus);
284
+
285
+ /* Disabled */
286
+ --sds-c-button-color-background-disabled: var(
287
+ --slds-c-button-neutral-color-background-disabled,
288
+ var(--sds-g-color-neutral-base-100, #ffffff)
289
+ );
290
+ --sds-c-button-color-border-disabled: var(
291
+ --slds-c-button-neutral-color-border-disabled,
292
+ var(--sds-g-color-neutral-base-80, #c9c9c9)
293
+ );
294
+ --sds-c-button-text-color-disabled: var(
295
+ --slds-c-button-neutral-text-color-disabled,
296
+ var(--sds-g-color-neutral-base-80, #c9c9c9)
297
+ );
298
+ }
299
+
300
+ :host([data-render-mode="shadow"][variant='brand']) [part~='button'] {
301
+ --slds-c-button-neutral-font-lineheight: var(--slds-s-button-font-lineheight, 1.875rem);
302
+ --slds-c-button-neutral-spacing-inline: var(--slds-s-button-spacing-inline, var(--sds-g-spacing-4, 1rem));
303
+ --slds-c-button-neutral-color-background: var(
304
+ --slds-c-button-brand-color-background,
305
+ var(--sds-g-color-brand-base-50, #0176d3)
306
+ );
307
+
308
+ --slds-c-button-neutral-color-border: var(
309
+ --slds-c-button-brand-color-border,
310
+ var(--sds-g-color-brand-base-50, #0176d3)
311
+ );
312
+
313
+ --slds-c-button-neutral-color-border-hover: var(
314
+ --slds-c-button-brand-color-border-hover,
315
+ var(--sds-g-color-brand-base-40, #0b5cab)
316
+ );
317
+ --slds-c-button-neutral-color-border-focus: var(
318
+ --slds-c-button-brand-color-border-focus,
319
+ var(--slds-c-button-brand-color-border-hover)
320
+ );
321
+ --slds-c-button-neutral-color-border-active: var(
322
+ --slds-c-button-brand-color-border-active,
323
+ var(--slds-c-button-brand-color-background-active)
324
+ );
325
+
326
+ --slds-c-button-neutral-text-color: var(
327
+ --slds-c-button-brand-text-color,
328
+ var(--sds-g-color-brand-base-100, #ffffff)
329
+ );
330
+
331
+ --slds-c-button-neutral-color-background-hover: var(
332
+ --slds-c-button-brand-color-background-hover,
333
+ var(--sds-g-color-brand-base-30, #014486)
334
+ );
335
+ --slds-c-button-neutral-color-background-focus: var(
336
+ --slds-c-button-brand-color-background-focus,
337
+ var(--sds-g-color-brand-base-30, #014486)
338
+ );
339
+ --slds-c-button-neutral-color-background-active: var(
340
+ --slds-c-button-brand-color-background-active,
341
+ var(--sds-g-color-brand-base-30, #014486)
342
+ );
343
+ --slds-c-button-neutral-text-color-hover: var(
344
+ --slds-c-button-brand-text-color-hover,
345
+ var(--sds-g-color-brand-base-100, #ffffff)
346
+ );
347
+ --slds-c-button-neutral-text-color-active: var(
348
+ --slds-c-button-brand-text-color-active,
349
+ var(--sds-g-color-brand-base-100, #ffffff)
350
+ );
351
+ --slds-c-button-neutral-text-color-focus: var(
352
+ --slds-c-button-brand-text-color-focus,
353
+ var(--sds-g-color-brand-base-100, #ffffff)
354
+ );
355
+ --slds-c-button-neutral-color-background-disabled: var(--sds-g-color-neutral-base-80, #c9c9c9);
356
+ --slds-c-button-neutral-color-border-disabled: var(--slds-c-button-neutral-color-background-disabled);
357
+ --slds-c-button-neutral-text-color-disabled: var(--sds-g-color-neutral-base-100, #ffffff);
358
+ }
359
+
360
+ :host([data-render-mode="shadow"][variant='brand-outline']) [part~='button'] {
361
+ --slds-c-button-neutral-font-lineheight: var(--slds-s-button-font-lineheight, 1.875rem);
362
+ --slds-c-button-neutral-spacing-inline: var(--slds-s-button-spacing-inline, var(--sds-g-spacing-4, 1rem));
363
+ --slds-c-button-neutral-color-background: var(--sds-g-color-neutral-base-100, #ffffff);
364
+ --slds-c-button-neutral-color-border: var(--sds-g-color-brand-base-50, #0176d3);
365
+ --slds-c-button-neutral-text-color: var(--sds-g-color-brand-base-40, #0b5cab);
366
+ --slds-c-button-neutral-color-border-hover: var(--sds-g-color-brand-base-50, #0176d3);
367
+ --slds-c-button-neutral-color-background-hover: var(--sds-g-color-neutral-base-95, #f3f3f3);
368
+ --slds-c-button-neutral-color-background-focus: var(--sds-g-color-neutral-base-95, #f3f3f3);
369
+ --slds-c-button-neutral-color-background-active: var(--sds-g-color-neutral-base-95, #f3f3f3);
370
+ --slds-c-button-neutral-text-color-hover: var(--sds-g-color-brand-base-30, #014486);
371
+ --slds-c-button-neutral-text-color-focus: var(--sds-g-color-brand-base-30, #014486);
372
+ --slds-c-button-neutral-text-color-active: var(--sds-g-color-brand-base-30, #014486);
373
+ --slds-c-button-neutral-color-border-disabled: var(--sds-g-color-neutral-base-80, #c9c9c9);
374
+ }
375
+
376
+ :host([data-render-mode="shadow"][variant='inverse']) [part~='button'] {
377
+ --slds-c-button-neutral-font-lineheight: var(--slds-s-button-font-lineheight, 1.875rem);
378
+ --slds-c-button-neutral-spacing-inline: var(--slds-s-button-spacing-inline, var(--sds-g-spacing-4, 1rem));
379
+ --slds-c-button-neutral-color-background: transparent;
380
+ --slds-c-button-neutral-color-background-hover: var(--sds-g-color-neutral-base-95, #f3f3f3);
381
+ --slds-c-button-neutral-color-background-focus: var(--sds-g-color-neutral-base-95, #f3f3f3);
382
+ --slds-c-button-neutral-color-background-active: var(--sds-g-color-neutral-base-95, #f3f3f3);
383
+ --slds-c-button-neutral-color-border: var(--sds-g-color-brand-base-100, #ffffff);
384
+ --slds-c-button-neutral-text-color: var(--sds-g-color-brand-base-100, #ffffff);
385
+ --slds-c-button-neutral-text-color-hover: var(--sds-g-color-brand-base-50, #0176d3);
386
+ --slds-c-button-neutral-text-color-active: var(--sds-g-color-brand-base-50, #0176d3);
387
+ --slds-c-button-neutral-color-border-hover: var(--sds-g-color-brand-base-100, #ffffff);
388
+ --slds-c-button-neutral-color-border-disabled: var(--sds-g-color-neutral-base-60, #939393);
389
+ --slds-c-button-neutral-color-background-disabled: transparent;
390
+ }
391
+
392
+ :host([data-render-mode="shadow"][variant='destructive']) [part~='button'] {
393
+ --slds-c-button-neutral-font-lineheight: var(--slds-s-button-font-lineheight, 1.875rem);
394
+ --slds-c-button-neutral-spacing-inline: var(--slds-s-button-spacing-inline, var(--sds-g-spacing-4, 1rem));
395
+ --slds-c-button-neutral-color-background: var(--sds-g-color-error-base-40, #ba0517);
396
+ --slds-c-button-neutral-color-border: var(--sds-g-color-error-base-40, #ba0517);
397
+ --slds-c-button-neutral-color-border-hover: var(--sds-g-color-error-base-40, #ba0517);
398
+ --slds-c-button-neutral-text-color: var(--sds-g-color-error-base-100, #ffffff);
399
+ --slds-c-button-neutral-color-background-hover: var(--sds-g-color-error-base-30, #8e030f);
400
+ --slds-c-button-neutral-color-background-focus: var(--sds-g-color-error-base-30, #8e030f);
401
+ --slds-c-button-neutral-color-background-active: var(--sds-g-color-error-base-30, #8e030f);
402
+ --slds-c-button-neutral-text-color-hover: var(--sds-g-color-error-base-100, #ffffff);
403
+ --slds-c-button-neutral-text-color-focus: var(--sds-g-color-error-base-100, #ffffff);
404
+ --slds-c-button-neutral-text-color-active: var(--sds-g-color-error-base-100, #ffffff);
405
+ --slds-c-button-neutral-color-background-disabled: var(--sds-g-color-neutral-base-80, #c9c9c9);
406
+ --slds-c-button-neutral-color-border-disabled: var(--slds-c-button-neutral-color-background-disabled);
407
+ --slds-c-button-neutral-text-color-disabled: var(--sds-g-color-neutral-base-100, #ffffff);
408
+ }
409
+
410
+ :host([data-render-mode="shadow"][variant='success']) [part~='button'] {
411
+ --slds-c-button-neutral-font-lineheight: var(--slds-s-button-font-lineheight, 1.875rem);
412
+ --slds-c-button-neutral-spacing-inline: var(--slds-s-button-spacing-inline, var(--sds-g-spacing-4, 1rem));
413
+ --slds-c-button-neutral-color-background: var(--sds-g-color-success-base-70, #45c65a);
414
+ --slds-c-button-neutral-color-border: var(--sds-g-color-success-base-80, #91db8b);
415
+ --slds-c-button-neutral-color-border-hover: var(--sds-g-color-success-base-50, #2e844a);
416
+ --slds-c-button-neutral-color-border-active: var(--sds-g-color-success-base-50, #2e844a);
417
+ --slds-c-button-neutral-text-color: var(--sds-g-color-neutral-base-10, #181818);
418
+ --slds-c-button-neutral-color-background-hover: var(--sds-g-color-success-base-50, #2e844a);
419
+ --slds-c-button-neutral-color-background-focus: var(--sds-g-color-success-base-50, #2e844a);
420
+ --slds-c-button-neutral-color-background-active: var(--sds-g-color-success-base-50, #2e844a);
421
+ --slds-c-button-neutral-text-color-hover: var(--sds-g-color-success-base-100, #ffffff);
422
+ --slds-c-button-neutral-text-color-focus: var(--sds-g-color-success-base-100, #ffffff);
423
+ --slds-c-button-neutral-text-color-active: var(--sds-g-color-success-base-100, #ffffff);
424
+ --slds-c-button-neutral-color-background-disabled: var(--sds-g-color-neutral-base-80, #c9c9c9);
425
+ --slds-c-button-neutral-color-border-disabled: var(--slds-c-button-neutral-color-background-disabled);
426
+ --slds-c-button-neutral-text-color-disabled: var(--sds-g-color-neutral-base-100, #ffffff);
427
+ }
428
+
429
+ :host([data-render-mode="shadow"][variant='destructive-text']) [part~='button'] {
430
+ --slds-c-button-neutral-font-lineheight: var(--slds-s-button-font-lineheight, 1.875rem);
431
+ --slds-c-button-neutral-spacing-inline: var(--slds-s-button-spacing-inline, var(--sds-g-spacing-4, 1rem));
432
+ --slds-c-button-neutral-color-background: var(--sds-g-color-neutral-base-100, #ffffff);
433
+ --slds-c-button-neutral-color-border: var(--sds-g-color-neutral-base-80, #c9c9c9);
434
+ --slds-c-button-neutral-text-color: var(--sds-g-color-error-base-50, #ea001e);
435
+ --slds-c-button-neutral-color-border-hover: var(--sds-g-color-neutral-base-80, #c9c9c9);
436
+ --slds-c-button-neutral-color-background-hover: var(--sds-g-color-neutral-base-95, #f3f3f3);
437
+ --slds-c-button-neutral-color-background-focus: var(--sds-g-color-neutral-base-95, #f3f3f3);
438
+ --slds-c-button-neutral-color-background-active: var(--sds-g-color-neutral-base-95, #f3f3f3);
439
+ --slds-c-button-neutral-text-color-hover: var(--sds-g-color-error-base-40, #ba0517);
440
+ --slds-c-button-neutral-text-color-focus: var(--sds-g-color-error-base-40, #ba0517);
441
+ --slds-c-button-neutral-text-color-active: var(--sds-g-color-error-base-40, #ba0517);
442
+ --slds-c-button-neutral-color-border-disabled: var(--sds-g-color-neutral-base-80, #c9c9c9);
443
+ }
444
+
445
+ /**
446
+ * 'base' variant is not the default in LBC. It is the default in the light
447
+ * DOM version of SLDS.
448
+ *
449
+ * So even though this is a non-default variant in this context, the hooks
450
+ * for this variant are written as the default for interoperability with
451
+ * SLDS light DOM.
452
+ *
453
+ * E.g. --slds-c-button-color-background
454
+ */
455
+ :host([data-render-mode="shadow"][variant='base']) [part~='button'],:host([data-render-mode="shadow"][variant='text']) [part~='button'] {
456
+ --slds-c-button-neutral-spacing-inline: var(--sds-g-spacing-1, 0.25rem);
457
+ --slds-c-button-neutral-text-color: var(--sds-g-color-brand-base-40, #0b5cab);
458
+ --slds-c-button-neutral-color-border: transparent;
459
+ --slds-c-button-neutral-color-border-hover: transparent;
460
+ --slds-c-button-neutral-color-border-focus: transparent;
461
+ --slds-c-button-neutral-color-border-active: var(--sds-g-color-neutral-base-30, #444444);
462
+ --slds-c-button-neutral-color-border-disabled: transparent;
463
+ --slds-c-button-neutral-color-background-hover: transparent;
464
+ --slds-c-button-neutral-color-background-active: transparent;
465
+ }
466
+
467
+ :host([data-render-mode="shadow"][stretch]) [part~='button'] {
468
+ --sds-c-button-sizing-width: 100%;
469
+
470
+ justify-content: center;
471
+ }
472
+
473
+ /**
474
+ * Center button on all variants except 'base', and 'text'
475
+ *
476
+ * This addresses the issue of customers relying on preexisting x-axis centering
477
+ * when they arbitrarily change the width of the button without the stretch variant.
478
+ *
479
+ * Ref
480
+ * - https://github.com/salesforce-ux/design-system-internal/pull/4344
481
+ * - https://github.com/salesforce-ux/design-system-internal/pull/4949
482
+ */
483
+ :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'] {
484
+ justify-content: center;
485
+ }
486
+
487
+ /**
488
+ * Represents inner spacing around icon for icon-position="left", when present
489
+ */
490
+ :host([data-render-mode="shadow"]) [part~='start'] {
491
+ display: inline-flex;
492
+ padding-inline-end: 0;
493
+ }
494
+
495
+ /**
496
+ * Represents inner spacing around icon for icon-position="right", when present
497
+ */
498
+ :host([data-render-mode="shadow"]) [part~='end'] {
499
+ display: inline-flex;
500
+ padding-inline-start: 0;
501
+ }
502
+ }
503
+
504
+ /**
505
+ * A temporarily baked-in utility class until SLDS gets a proper utility package.
506
+ *
507
+ * This is a hybrid patch between synthetic and native shadow. The ideal final
508
+ * outcome is the removal of this class and replacing the class with the SLDS
509
+ * utility package solution.
510
+ */
511
+
512
+ :host([data-render-mode="shadow"]) .slds-assistive-text {
513
+ position: absolute !important;
514
+ margin: -1px !important;
515
+ border: 0 !important;
516
+ padding: 0 !important;
517
+ width: 1px !important;
518
+ height: 1px !important;
519
+ overflow: hidden !important;
520
+ clip: rect(0 0 0 0) !important;
521
+ text-transform: none !important;
522
+ white-space: nowrap !important;
523
+ }
524
+
525
+ :host([data-render-mode="shadow"]) .slds-button_reset {
526
+ font-size: inherit;
527
+ color: inherit;
528
+ line-height: inherit;
529
+ padding: 0;
530
+ background: transparent;
531
+ border: 0;
532
+ text-align: inherit;
533
+ }