lightning-base-components 1.21.9-alpha → 1.22.2-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 (122) hide show
  1. package/metadata/raptor.json +9 -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 +18 -10
  5. package/src/lightning/baseCombobox/dropdown.slds.css +7 -7
  6. package/src/lightning/baseCombobox/input-text.slds.css +7 -6
  7. package/src/lightning/baseComboboxFormattedText/baseComboboxFormattedText.js-meta.xml +1 -1
  8. package/src/lightning/button/button.slds.css +18 -10
  9. package/src/lightning/buttonIcon/button-icon.slds.css +23 -15
  10. package/src/lightning/buttonIcon/buttonIcon.js +29 -26
  11. package/src/lightning/buttonIconStateful/button-icon.slds.css +23 -15
  12. package/src/lightning/buttonIconStateful/button.slds.css +18 -10
  13. package/src/lightning/buttonMenu/button-icon.slds.css +23 -15
  14. package/src/lightning/buttonMenu/button.slds.css +18 -10
  15. package/src/lightning/buttonMenu/dropdown.slds.css +7 -7
  16. package/src/lightning/buttonStateful/button-stateful.slds.css +23 -0
  17. package/src/lightning/buttonStateful/button.slds.css +18 -10
  18. package/src/lightning/buttonStateful/buttonStateful.js-meta.xml +3 -0
  19. package/src/lightning/calendar/calendar.lbc.native.css +1 -0
  20. package/src/lightning/calendar/calendar.slds.css +13 -10
  21. package/src/lightning/calendar/dropdown.slds.css +7 -7
  22. package/src/lightning/calendar/keyboard.js +11 -3
  23. package/src/lightning/colorPickerCustom/input-text.slds.css +7 -6
  24. package/src/lightning/colorPickerPanel/colorPickerPanel.js +1 -11
  25. package/src/lightning/combobox/combobox.html +1 -1
  26. package/src/lightning/combobox/combobox.js +5 -13
  27. package/src/lightning/combobox/form-element.slds.css +1 -1
  28. package/src/lightning/datatable/__examples__/withVirtualization/withVirtualization.js +0 -1
  29. package/src/lightning/datatable/autoWidthStrategy.js +32 -44
  30. package/src/lightning/datatable/columns.js +4 -1
  31. package/src/lightning/datatable/datatable.js +15 -34
  32. package/src/lightning/datatable/keyboard.js +13 -12
  33. package/src/lightning/datatable/renderManager.js +1 -3
  34. package/src/lightning/datatable/rows.js +17 -9
  35. package/src/lightning/datatable/state.js +0 -1
  36. package/src/lightning/datatable/virtualization.js +11 -14
  37. package/src/lightning/datepicker/form-element.slds.css +1 -1
  38. package/src/lightning/datepicker/input-text.slds.css +7 -6
  39. package/src/lightning/datetimepicker/form-element.slds.css +1 -1
  40. package/src/lightning/datetimepicker/input-text.slds.css +7 -6
  41. package/src/lightning/dualListbox/form-element.slds.css +1 -1
  42. package/src/lightning/formattedAddress/formattedAddress.js +3 -2
  43. package/src/lightning/formattedDateTime/formattedDateTime.js +3 -2
  44. package/src/lightning/formattedDateTime/formattedDateTime.js-meta.xml +1 -1
  45. package/src/lightning/formattedLocation/formattedLocation.js +3 -2
  46. package/src/lightning/formattedPhone/formattedPhone.js +3 -2
  47. package/src/lightning/formattedTime/formattedTime.js +3 -2
  48. package/src/lightning/formattedUrl/formattedUrl.js +3 -2
  49. package/src/lightning/groupedCombobox/form-element.slds.css +1 -1
  50. package/src/lightning/groupedCombobox/groupedCombobox.js +21 -28
  51. package/src/lightning/groupedCombobox/input-text.slds.css +7 -6
  52. package/src/lightning/helptext/button-icon.slds.css +23 -15
  53. package/src/lightning/helptext/form-element.slds.css +1 -1
  54. package/src/lightning/helptext/helptext.html +2 -1
  55. package/src/lightning/helptext/helptext.js +0 -12
  56. package/src/lightning/helptext/helptext.js-meta.xml +3 -0
  57. package/src/lightning/input/form-element.slds.css +1 -1
  58. package/src/lightning/inputAddress/__docs__/inputAddress.md +44 -3
  59. package/src/lightning/inputAddress/form-element.slds.css +1 -1
  60. package/src/lightning/inputAddress/input-text.slds.css +7 -6
  61. package/src/lightning/inputAddress/inputAddress.js +8 -6
  62. package/src/lightning/inputLocation/form-element.slds.css +1 -1
  63. package/src/lightning/inputLocation/input-text.slds.css +7 -6
  64. package/src/lightning/inputName/form-element.slds.css +1 -1
  65. package/src/lightning/inputName/input-text.slds.css +7 -6
  66. package/src/lightning/inputName/inputName.js-meta.xml +3 -0
  67. package/src/lightning/interactiveDialogBase/button.slds.css +515 -0
  68. package/src/lightning/interactiveDialogBase/interactive-dialog-base.slds.css +45 -17
  69. package/src/lightning/interactiveDialogBase/interactiveDialogBase.lbc.native.css +6 -1
  70. package/src/lightning/interactiveDialogBase/modal-base.slds.css +242 -0
  71. package/src/lightning/interactiveDialogBase/modal-body.slds.css +60 -0
  72. package/src/lightning/interactiveDialogBase/modal-footer.slds.css +79 -0
  73. package/src/lightning/interactiveDialogBase/modal-header.slds.css +76 -0
  74. package/src/lightning/lookupAddress/form-element.slds.css +1 -1
  75. package/src/lightning/lookupAddress/lookupAddress.js-meta.xml +3 -0
  76. package/src/lightning/menuDivider/menuDivider.js-meta.xml +3 -0
  77. package/src/lightning/menuSubheader/menuSubheader.js-meta.xml +3 -0
  78. package/src/lightning/modal/modal.js-meta.xml +3 -0
  79. package/src/lightning/modalBase/modalBase.js +7 -5
  80. package/src/lightning/modalBody/modalBody.js-meta.xml +3 -0
  81. package/src/lightning/modalFooter/modalFooter.js-meta.xml +3 -0
  82. package/src/lightning/modalHeader/modalHeader.js-meta.xml +3 -0
  83. package/src/lightning/picklist/picklist.js +3 -2
  84. package/src/lightning/pill/pill.js +1 -1
  85. package/src/lightning/pillContainer/button.slds.css +18 -10
  86. package/src/lightning/primitiveBubble/primitiveBubble.js +9 -4
  87. package/src/lightning/primitiveColorpickerButton/color-picker-button.slds.css +1 -1
  88. package/src/lightning/primitiveDatatableTooltipBubble/primitiveDatatableTooltipBubble.html +1 -1
  89. package/src/lightning/primitiveFileDroppableZone/primitiveFileDroppableZone.js +3 -2
  90. package/src/lightning/primitiveHeaderActions/primitiveHeaderActions.html +1 -0
  91. package/src/lightning/primitiveInputCheckbox/form-element.slds.css +1 -1
  92. package/src/lightning/primitiveInputCheckboxButton/form-element.slds.css +1 -1
  93. package/src/lightning/primitiveInputColor/form-element.slds.css +1 -1
  94. package/src/lightning/primitiveInputColor/input-text.slds.css +7 -6
  95. package/src/lightning/primitiveInputFile/button.slds.css +18 -10
  96. package/src/lightning/primitiveInputFile/form-element.slds.css +1 -1
  97. package/src/lightning/primitiveInputFile/input-file.slds.css +3 -2
  98. package/src/lightning/primitiveInputSimple/form-element.slds.css +1 -1
  99. package/src/lightning/primitiveInputSimple/input-text.slds.css +7 -6
  100. package/src/lightning/primitiveInputToggle/form-element.slds.css +1 -1
  101. package/src/lightning/primitiveInputToggle/input-toggle.slds.css +13 -7
  102. package/src/lightning/progressBar/progressBar.js-meta.xml +3 -0
  103. package/src/lightning/progressRing/progressRing.js-meta.xml +3 -0
  104. package/src/lightning/prompt/form-element.slds.css +319 -0
  105. package/src/lightning/prompt/input-text.slds.css +507 -0
  106. package/src/lightning/prompt/prompt.lbc.native.css +2 -0
  107. package/src/lightning/purifyLib/purify.js +838 -586
  108. package/src/lightning/radioGroup/form-element.slds.css +1 -1
  109. package/src/lightning/radioGroup/radioGroup.js-meta.xml +3 -0
  110. package/src/lightning/select/form-element.slds.css +1 -1
  111. package/src/lightning/select/select.slds.css +1 -1
  112. package/src/lightning/sldsUtilsThemes/sldsUtilsThemes.css +6 -4
  113. package/src/lightning/tabBar/tab-bar.slds.css +17 -3
  114. package/src/lightning/textarea/form-element.slds.css +1 -1
  115. package/src/lightning/textarea/textarea.js-meta.xml +3 -0
  116. package/src/lightning/timepicker/form-element.slds.css +1 -1
  117. package/src/lightning/toast/button-icon.slds.css +23 -15
  118. package/src/lightning/toast/toast.js-meta.xml +3 -0
  119. package/src/lightning/toastContainer/toastContainer.js-meta.xml +3 -0
  120. package/src/lightning/tooltipLibrary/tooltipLibrary.js +15 -4
  121. package/src/lightning/utilsPrivate/utilsPrivate.js +4 -4
  122. package/src/lightning/verticalNavigationOverflow/button.slds.css +18 -10
@@ -46,7 +46,7 @@
46
46
  hyphens: auto;
47
47
  display: inline-block;
48
48
  color: var(--slds-g-color-on-surface-2);
49
- font-size: var(--slds-g-font-scale-neg-3);
49
+ font-size: var(--slds-s-label-font-size, var(--slds-g-font-scale-neg-2));
50
50
  padding-inline-end: var(--slds-g-spacing-2);
51
51
  padding-block-start: var(--slds-g-spacing-1);
52
52
  margin-block-end: calc(var(--slds-g-spacing-1) / 2);
@@ -246,7 +246,7 @@
246
246
  --sds-c-inputtext-text-color: var(--slds-c-inputtext-text-color);
247
247
  --sds-c-inputtext-font-size: var(
248
248
  --slds-c-inputtext-font-size,
249
- var(--slds-g-font-scale-neg-2)
249
+ var(--slds-g-font-size-base)
250
250
  );
251
251
  --sds-c-inputtext-text-color-placeholder: var(
252
252
  --slds-c-inputtext-text-color-placeholder,
@@ -264,7 +264,7 @@
264
264
 
265
265
  display: flex;
266
266
  flex-wrap: wrap;
267
- align-items: center;
267
+ flex-direction: column;
268
268
  }
269
269
  /**
270
270
  * Input Container
@@ -371,6 +371,10 @@
371
371
  --sds-c-inputtext-color-border: var(--slds-g-color-border-disabled-1);
372
372
  --sds-c-inputtext-text-color: var(--slds-g-color-on-disabled-2);
373
373
  }
374
+ :host([data-render-mode="shadow"][disabled]) [part='input-text'] {
375
+ --sds-c-inputtext-text-color-placeholder:
376
+ var(--slds-g-color-on-disabled-2);
377
+ }
374
378
  /**
375
379
  * Label
376
380
  *
@@ -384,10 +388,7 @@
384
388
  --slds-c-inputtext-label-color,
385
389
  var(--slds-g-color-on-surface-2)
386
390
  );
387
- font-size: var(
388
- --slds-c-inputtext-label-font-size,
389
- var(--slds-g-font-scale-neg-3)
390
- );
391
+ font-size: var(--slds-s-label-font-size, var(--slds-g-font-scale-neg-2));
391
392
  margin-block-end: var(--slds-g-sizing-1);
392
393
 
393
394
  /* We inline flex to control the spacing between elements and not have to rely on whitespace characters */
@@ -3,4 +3,7 @@
3
3
  <isExposed>true</isExposed>
4
4
  <minApiVersion>42.0</minApiVersion>
5
5
  <support>GA</support>
6
+ <capabilities>
7
+ <capability>lightning__ServerRenderableWithHydration</capability>
8
+ </capabilities>
6
9
  </LightningComponentBundle>
@@ -0,0 +1,515 @@
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
+ * Needed to override
302
+ * `pointer-event: none` coming from sds
303
+ * that prevent tooltip from showing
304
+ */
305
+ pointer-events: auto;
306
+ cursor: default;
307
+ }
308
+ /**
309
+ * A note about fallbacks on the default variant:
310
+ *
311
+ * We cannot use --sds-c-button-* as fallbacks because the sds-button's state
312
+ * hooks are tied to a selector with higher specificity. In the default variant,
313
+ * attempting to use the previous state's hook as a fallback will fail because
314
+ * it picks up on sds-button's state hooks instead and creates an infinite loop
315
+ * which ultimately breaks styling.
316
+ *
317
+ * This is another use-case for removing the opinion of state selectors in SDS.
318
+ *
319
+ * So in the default variant below, you'll see many repeated fallback values.
320
+ *
321
+ * In all other variants, it is ok to use the previous state as a fallback value.
322
+ */
323
+ :host([data-render-mode="shadow"][variant='brand']) [part~='button'] {
324
+ --slds-c-button-neutral-color-background: var(
325
+ --slds-c-button-brand-color-background,
326
+ var(--slds-g-color-accent-container-1)
327
+ );
328
+ --slds-c-button-neutral-color-background-hover: var(
329
+ --slds-c-button-brand-color-background-hover,
330
+ var(--slds-g-color-accent-container-2)
331
+ );
332
+ --slds-c-button-neutral-color-background-focus: var(
333
+ --slds-c-button-brand-color-background-focus,
334
+ var(--slds-g-color-accent-container-2)
335
+ );
336
+ --slds-c-button-neutral-color-background-active: var(
337
+ --slds-c-button-brand-color-background-active,
338
+ var(--slds-g-color-accent-container-2)
339
+ );
340
+
341
+ --slds-c-button-neutral-color-border: var(
342
+ --slds-c-button-brand-color-border,
343
+ var(--slds-g-color-border-accent-1)
344
+ );
345
+ --slds-c-button-neutral-color-border-hover: var(
346
+ --slds-c-button-brand-color-border-hover,
347
+ var(--slds-g-color-border-accent-2)
348
+ );
349
+ --slds-c-button-neutral-color-border-focus: var(
350
+ --slds-c-button-brand-color-border-focus,
351
+ var(--slds-g-color-border-accent-2)
352
+ );
353
+ --slds-c-button-neutral-color-border-active: var(
354
+ --slds-c-button-brand-color-border-active,
355
+ var(--slds-g-color-border-accent-2)
356
+ );
357
+
358
+ /* Since the text color is white for all states, bypassing inheritence and setting the color value from SDS */
359
+ --sds-c-button-text-color: var(--slds-c-button-brand-text-color, var(--slds-g-color-on-accent-1));
360
+ }
361
+ :host([data-render-mode="shadow"][variant='brand-outline']) [part~='button'] {
362
+ --slds-c-button-neutral-color-border: var(--slds-g-color-border-accent-2);
363
+ --slds-c-button-neutral-color-border-hover: var(--slds-g-color-border-accent-2);
364
+ --slds-c-button-neutral-color-border-focus: var(--slds-g-color-border-accent-2);
365
+ --slds-c-button-neutral-color-border-active: var(--slds-g-color-border-accent-2);
366
+ }
367
+ :host([data-render-mode="shadow"][variant='inverse']) [part~='button'] {
368
+ --slds-c-button-neutral-color-background: transparent;
369
+ --slds-c-button-neutral-color-background-hover: var(--slds-g-color-surface-container-2);
370
+ --slds-c-button-neutral-color-background-focus: var(--slds-g-color-surface-container-2);
371
+ --slds-c-button-neutral-color-background-active: var(--slds-g-color-surface-container-2);
372
+ --slds-c-button-neutral-color-border: var(--slds-g-color-neutral-base-100);
373
+ --slds-c-button-neutral-color-border-hover: var(--slds-g-color-neutral-base-100);
374
+ --slds-c-button-neutral-color-border-focus: var(--slds-g-color-neutral-base-100);
375
+ --slds-c-button-neutral-color-border-active: var(--slds-g-color-neutral-base-100);
376
+ --slds-c-button-neutral-text-color: var(--slds-g-color-on-accent-1);
377
+ --slds-c-button-neutral-text-color-hover: var(--slds-g-color-accent-2);
378
+ --slds-c-button-neutral-text-color-active: var(--slds-g-color-accent-2);
379
+ }
380
+ :host([data-render-mode="shadow"][variant='inverse']) [part~='button']:disabled {
381
+ --sds-c-button-color-background: transparent;
382
+ --sds-c-button-color-border: var(--slds-g-color-border-disabled-2);
383
+ --sds-c-button-text-color: var(--slds-g-color-disabled-2);
384
+ }
385
+ :host([data-render-mode="shadow"][variant='destructive']) [part~='button'] {
386
+ --slds-c-button-neutral-color-background: var(--slds-g-color-error-container-1);
387
+ --slds-c-button-neutral-color-background-hover: var(--slds-g-color-error-container-2);
388
+ --slds-c-button-neutral-color-background-focus: var(--slds-g-color-error-container-2);
389
+ --slds-c-button-neutral-color-background-active: var(--slds-g-color-error-container-2);
390
+ --slds-c-button-neutral-color-border: var(--slds-g-color-border-error-1);
391
+ --slds-c-button-neutral-color-border-hover: var(--slds-g-color-border-error-2);
392
+ --slds-c-button-neutral-color-border-focus: var(--slds-g-color-border-error-2);
393
+ --slds-c-button-neutral-color-border-active: var(--slds-g-color-border-error-2);
394
+
395
+ /* Since the text color is white for all states, bypassing inheritence and setting the color value from SDS */
396
+ --sds-c-button-text-color: var(--slds-g-color-on-error-1);
397
+ }
398
+ :host([data-render-mode="shadow"][variant='success']) [part~='button'] {
399
+ --slds-c-button-neutral-color-background: var(--slds-g-color-success-container-1);
400
+ --slds-c-button-neutral-color-background-hover: var(--slds-g-color-success-container-2);
401
+ --slds-c-button-neutral-color-background-focus: var(--slds-g-color-success-container-2);
402
+ --slds-c-button-neutral-color-background-active: var(--slds-g-color-success-container-2);
403
+ --slds-c-button-neutral-color-border: var(--slds-g-color-border-success-1);
404
+ --slds-c-button-neutral-color-border-hover: var(--slds-g-color-border-success-2);
405
+ --slds-c-button-neutral-color-border-focus: var(--slds-g-color-border-success-2);
406
+ --slds-c-button-neutral-color-border-active: var(--slds-g-color-border-success-2);
407
+ --slds-c-button-neutral-text-color: var(--slds-g-color-on-success-1);
408
+ --slds-c-button-neutral-text-color-hover: var(--slds-g-color-on-success-1);
409
+ --slds-c-button-neutral-text-color-focus: var(--slds-g-color-on-success-1);
410
+ --slds-c-button-neutral-text-color-active: var(--slds-g-color-on-success-1);
411
+ }
412
+ :host([data-render-mode="shadow"][variant='destructive-text']) [part~='button'] {
413
+ --slds-c-button-neutral-text-color: var(--slds-g-color-error-1);
414
+ --slds-c-button-neutral-text-color-hover: var(--slds-g-color-error-1);
415
+ --slds-c-button-neutral-text-color-focus: var(--slds-g-color-error-1);
416
+ --slds-c-button-neutral-text-color-active: var(--slds-g-color-error-1);
417
+ --slds-c-button-neutral-color-border-hover: var(--slds-c-button-neutral-color-border, var(--slds-g-color-border-1));
418
+ --slds-c-button-neutral-color-border-focus: var(--slds-c-button-neutral-color-border, var(--slds-g-color-border-1));
419
+ --slds-c-button-neutral-color-border-active: var(--slds-c-button-neutral-color-border, var(--slds-g-color-border-1));
420
+ }
421
+ :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 {
422
+ --sds-c-button-color-background: var(--slds-g-color-disabled-container-2);
423
+ --sds-c-button-color-border: var(--slds-g-color-border-disabled-1);
424
+ --sds-c-button-text-color: var(--slds-g-color-on-disabled-2);
425
+ }
426
+ /**
427
+ * 'base' variant is not the default in LBC. It is the default in the light
428
+ * DOM version of SLDS.
429
+ *
430
+ * So even though this is a non-default variant in this context, the hooks
431
+ * for this variant are written as the default for interoperability with
432
+ * SLDS light DOM.
433
+ *
434
+ * E.g. --slds-c-button-color-background
435
+ */
436
+ /**
437
+ * text variant is for button-stateful
438
+ */
439
+ :host([data-render-mode="shadow"][variant='base']) [part~='button'],:host([data-render-mode="shadow"][variant='text']) [part~='button']{
440
+ --sds-c-button-spacing-inline: 0;
441
+ --slds-c-button-neutral-text-color: var(--slds-g-color-accent-2);
442
+ --slds-c-button-neutral-color-border: transparent;
443
+ --slds-c-button-neutral-color-border-hover: transparent;
444
+ --slds-c-button-neutral-color-border-focus: transparent;
445
+ --slds-c-button-neutral-color-border-active: var(--slds-g-color-border-accent-2);
446
+ --slds-c-button-neutral-color-background: transparent;
447
+ --slds-c-button-neutral-color-background-hover: transparent;
448
+ --slds-c-button-neutral-color-background-focus: transparent;
449
+ --slds-c-button-neutral-color-background-active: transparent;
450
+ }
451
+ :host([data-render-mode="shadow"][variant='base']) [part~='button']:disabled,:host([data-render-mode="shadow"][variant='text']) [part~='button']:disabled {
452
+ --sds-c-button-color-background: transparent;
453
+ --sds-c-button-color-border: transparent;
454
+ }
455
+ :host([data-render-mode="shadow"][stretch]) [part~='button'] {
456
+ --sds-c-button-sizing-width: 100%;
457
+
458
+ justify-content: center;
459
+ }
460
+ /**
461
+ * Center button on all variants except 'base', and 'text'
462
+ *
463
+ * This addresses the issue of customers relying on preexisting x-axis centering
464
+ * when they arbitrarily change the width of the button without the stretch variant.
465
+ *
466
+ * Ref
467
+ * - https://github.com/salesforce-ux/design-system-internal/pull/4344
468
+ * - https://github.com/salesforce-ux/design-system-internal/pull/4949
469
+ */
470
+ :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'] {
471
+ justify-content: center;
472
+ }
473
+ /**
474
+ * Represents inner spacing around icon for icon-position="left", when present
475
+ */
476
+ :host([data-render-mode="shadow"]) [part~='start'] {
477
+ display: inline-flex;
478
+ padding-inline-end: 0;
479
+ }
480
+ /**
481
+ * Represents inner spacing around icon for icon-position="right", when present
482
+ */
483
+ :host([data-render-mode="shadow"]) [part~='end'] {
484
+ display: inline-flex;
485
+ padding-inline-start: 0;
486
+
487
+ }
488
+ /**
489
+ * A temporarily baked-in utility class until SLDS gets a proper utility package.
490
+ *
491
+ * This is a hybrid patch between synthetic and native shadow. The ideal final
492
+ * outcome is the removal of this class and replacing the class with the SLDS
493
+ * utility package solution.
494
+ */
495
+ :host([data-render-mode="shadow"]) .slds-assistive-text {
496
+ position: absolute !important;
497
+ margin: -1px !important;
498
+ border: 0 !important;
499
+ padding: 0 !important;
500
+ width: 1px !important;
501
+ height: 1px !important;
502
+ overflow: hidden !important;
503
+ clip: rect(0 0 0 0) !important;
504
+ text-transform: none !important;
505
+ white-space: nowrap !important;
506
+ }
507
+ :host([data-render-mode="shadow"]) .slds-button_reset {
508
+ font-size: inherit;
509
+ color: inherit;
510
+ line-height: inherit;
511
+ padding: 0;
512
+ background: transparent;
513
+ border: 0;
514
+ text-align: inherit;
515
+ }
@@ -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';