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
@@ -0,0 +1,507 @@
1
+ /*******************************************
2
+ * Imported dependency from @salesforce-ux/sds-primitives/src/sds/inputText/inputText.css
3
+ *******************************************/
4
+ /**
5
+ * Input container
6
+ * ---
7
+ * The Input Control Container holds the `start` and `end` slot contents, as well as the input control itself
8
+ */
9
+ :host([data-render-mode="shadow"]) [part~='input-container'] {
10
+ display: flex;
11
+ align-items: center;
12
+ gap: var(--sds-c-inputtext-spacing-gap, var(--sds-s-input-spacing-gap));
13
+ min-height: var(--sds-c-inputtext-sizing-height, var(--sds-s-input-sizing-height));
14
+ padding-inline-start: var(
15
+ --sds-c-inputtext-spacing-inlinestart,
16
+ var(--sds-c-inputtext-spacing-inline, var(--sds-s-input-spacing))
17
+ );
18
+ padding-inline-end: var(
19
+ --sds-c-inputtext-spacing-inlineend,
20
+ var(--sds-c-inputtext-spacing-inline, var(--sds-s-input-spacing))
21
+ );
22
+ padding-block-start: var(
23
+ --sds-c-inputtext-spacing-blockstart,
24
+ var(--sds-c-inputtext-spacing-block, var(--sds-s-input-spacing))
25
+ );
26
+ padding-block-end: var(
27
+ --sds-c-inputtext-spacing-blockend,
28
+ var(--sds-c-inputtext-spacing-block, var(--sds-s-input-spacing))
29
+ );
30
+ background: var(--sds-c-inputtext-color-background, var(--sds-s-input-color-background));
31
+ border-block-start: var(
32
+ --sds-c-inputtext-sizing-border-blockstart,
33
+ var(--sds-c-inputtext-sizing-border, var(--sds-g-sizing-border-1, 1px))
34
+ )
35
+ solid
36
+ var(
37
+ --sds-c-inputtext-color-border-blockstart,
38
+ var(--sds-c-inputtext-color-border, var(--sds-s-input-color-border, currentColor))
39
+ );
40
+ border-inline-start: var(
41
+ --sds-c-inputtext-sizing-border-inlinestart,
42
+ var(--sds-c-inputtext-sizing-border, var(--sds-g-sizing-border-1, 1px))
43
+ )
44
+ solid
45
+ var(
46
+ --sds-c-inputtext-color-border-inlinestart,
47
+ var(--sds-c-inputtext-color-border, var(--sds-s-input-color-border, currentColor))
48
+ );
49
+ border-inline-end: var(
50
+ --sds-c-inputtext-sizing-border-inlineend,
51
+ var(--sds-c-inputtext-sizing-border, var(--sds-g-sizing-border-1, 1px))
52
+ )
53
+ solid
54
+ var(
55
+ --sds-c-inputtext-color-border-inlineend,
56
+ var(--sds-c-inputtext-color-border, var(--sds-s-input-color-border, currentColor))
57
+ );
58
+ border-block-end: var(
59
+ --sds-c-inputtext-sizing-border-blockend,
60
+ var(--sds-c-inputtext-sizing-border, var(--sds-g-sizing-border-1, 1px))
61
+ )
62
+ solid
63
+ var(
64
+ --sds-c-inputtext-color-border-blockend,
65
+ var(--sds-c-inputtext-color-border, var(--sds-s-input-color-border, currentColor))
66
+ );
67
+ border-radius: var(--sds-c-inputtext-radius-border, var(--sds-s-input-radius-border));
68
+ box-shadow: var(--sds-c-inputtext-shadow, var(--sds-s-input-shadow));
69
+ }
70
+ /**
71
+ * Input Control
72
+ * ---
73
+ * The input control is the actual input element
74
+ * We normalize the input since styles are being hoisted to the input-container element
75
+ */
76
+ :host([data-render-mode="shadow"]) [part~='input'] {
77
+ width: 100%;
78
+ height: 100%;
79
+ padding: 0;
80
+ font-size: var(--sds-c-inputtext-font-size, var(--sds-s-input-font-size));
81
+ color: var(--sds-c-inputtext-text-color, var(--sds-s-input-text-color));
82
+ line-height: 1;
83
+ border: none;
84
+ background: transparent;
85
+ }
86
+ /**
87
+ * Actively typing in text input
88
+ * ---
89
+ * The active attribute gets applied the oninput event to inidicate the user inputting text
90
+ * This is a workaround for the lack of a :active-within selector in CSS
91
+ */
92
+ :host([data-render-mode="shadow"][active]) [part~='input-container'] {
93
+ --sds-c-inputtext-color-background: var(
94
+ --sds-c-inputtext-color-background-active,
95
+ var(--sds-s-input-color-background-active)
96
+ );
97
+ --sds-c-inputtext-color-border: var(
98
+ --sds-c-inputtext-color-border-active,
99
+ var(--sds-s-input-color-border-active)
100
+ );
101
+ --sds-c-inputtext-shadow: var(--sds-c-inputtext-shadow-active, var(--sds-s-input-shadow-active));
102
+ }
103
+ /**
104
+ * Placeholder text
105
+ */
106
+ :host([data-render-mode="shadow"]) [part~='input']::placeholder {
107
+ color: var(--sds-c-inputtext-text-color-placeholder, var(--sds-s-input-text-color-placeholder));
108
+ font-style: var(--sds-c-inputtext-font-style-placeholder, var(--sds-s-input-font-style-placeholder));
109
+ }
110
+ /**
111
+ * Input container when it receives focus-within
112
+ * ---
113
+ * Fallback order: focus > base
114
+ */
115
+ :host([data-render-mode="shadow"]) [part~='input-container']:focus-within {
116
+ --sds-c-inputtext-color-border: var(
117
+ --sds-c-inputtext-color-border-focus,
118
+ var(--sds-s-input-color-border-focus, revert)
119
+ );
120
+ --sds-c-inputtext-shadow: var(--sds-c-inputtext-shadow-focus, var(--sds-s-input-shadow-focus));
121
+ --sds-c-inputtext-color-background: var(
122
+ --sds-c-inputtext-color-background-focus,
123
+ var(--sds-s-input-color-background-focus, revert)
124
+ );
125
+ --sds-c-inputtext-text-color: var(
126
+ --sds-c-inputtext-text-color-focus,
127
+ var(--sds-s-input-text-color-focus, revert)
128
+ );
129
+ }
130
+ /**
131
+ * Remove the default focus outline since we are hoisting those styles to the input-container using focus-within
132
+ */
133
+ :host([data-render-mode="shadow"]) [part~='input']:focus {
134
+ outline: none;
135
+ }
136
+ /**
137
+ * Label Container
138
+ * ---
139
+ * The container for the label and its adjacent slots, label-start and label-end
140
+ */
141
+ :host([data-render-mode="shadow"]) [part='label-container'] {
142
+ display: inline-flex;
143
+ align-items: center;
144
+
145
+ /* Need to tweak stylelint to merge new shared groups into existing set, label is not available */
146
+ gap: var(--sds-c-inputtext-label-spacing-gap, var(--sds-s-label-spacing-gap));
147
+ padding-inline-start: var(
148
+ --sds-c-inputtext-label-spacing-inlinestart,
149
+ var(--sds-c-inputtext-label-spacing-inline, var(--sds-s-label-spacing))
150
+ );
151
+ padding-inline-end: var(
152
+ --sds-c-inputtext-label-spacing-inlineend,
153
+ var(--sds-c-inputtext-label-spacing-inline, var(--sds-s-label-spacing))
154
+ );
155
+ padding-block-start: var(
156
+ --sds-c-inputtext-label-spacing-blockstart,
157
+ var(--sds-c-inputtext-label-spacing-block, var(--sds-s-label-spacing))
158
+ );
159
+ padding-block-end: var(
160
+ --sds-c-inputtext-label-spacing-blockend,
161
+ var(--sds-c-inputtext-label-spacing-block, var(--sds-s-label-spacing))
162
+ );
163
+ color: var(--sds-c-inputtext-label-color, var(--sds-s-label-color));
164
+ }
165
+ :host([data-render-mode="shadow"]) [part='label'] {
166
+ font-size: var(--sds-c-inputtext-label-font-size, var(--sds-s-label-font-size));
167
+ font-weight: var(--sds-c-inputtext-label-font-weight, var(--sds-s-label-font-weight));
168
+ }
169
+ /**
170
+ * Help text
171
+ * ---
172
+ * "visible" gets added when the slotchange confirms there are children
173
+ * This prevents box-model customizations from being applied, in the case of no children
174
+ */
175
+ :host([data-render-mode="shadow"]) [part='help-text visible'] {
176
+ /* Need to tweak stylelint to merge new shared groups into existing set, helptext is not available */
177
+ font-size: var(--sds-c-inputtext-helptext-font-size, var(--sds-s-helptext-font-size));
178
+ color: var(--sds-c-inputtext-helptext-text-color, var(--sds-s-helptext-text-color));
179
+ padding-inline-start: var(
180
+ --sds-c-inputtext-helptext-spacing-inlinestart,
181
+ var(--sds-c-inputtext-helptext-spacing-inline, var(--sds-s-helptext-spacing))
182
+ );
183
+ padding-inline-end: var(
184
+ --sds-c-inputtext-helptext-spacing-inlineend,
185
+ var(--sds-c-inputtext-helptext-spacing-inline, var(--sds-s-helptext-spacing))
186
+ );
187
+ padding-block-start: var(
188
+ --sds-c-inputtext-helptext-spacing-blockstart,
189
+ var(--sds-c-inputtext-helptext-spacing-block, var(--sds-s-helptext-spacing))
190
+ );
191
+ padding-block-end: var(
192
+ --sds-c-inputtext-helptext-spacing-blockend,
193
+ var(--sds-c-inputtext-helptext-spacing-block, var(--sds-s-helptext-spacing))
194
+ );
195
+ }
196
+ /**
197
+ * Disabled state
198
+ */
199
+ :host([data-render-mode="shadow"][disabled]) {
200
+ --sds-c-inputtext-color-background: var(
201
+ --sds-c-inputtext-color-background-disabled,
202
+ var(--sds-s-input-color-background-disabled)
203
+ );
204
+ --sds-c-inputtext-color-border: var(
205
+ --sds-c-inputtext-color-border-disabled,
206
+ var(--sds-s-input-color-border-disabled)
207
+ );
208
+ }
209
+ /**
210
+ * If told, the label will be hidden from view
211
+ */
212
+ :host([data-render-mode="shadow"][label-hidden]) [part='label-container'] {
213
+ position: absolute !important;
214
+ margin: -1px !important;
215
+ border: 0 !important;
216
+ padding: 0 !important;
217
+ width: 1px !important;
218
+ height: 1px !important;
219
+ overflow: hidden !important;
220
+ clip: rect(0 0 0 0) !important;
221
+ text-transform: none !important;
222
+ white-space: nowrap !important;
223
+ }
224
+ /**
225
+ * Input Text
226
+ */
227
+ :host([data-render-mode="shadow"]) [part='input-text'] {
228
+ /* Host reassignments to composed slds-icon */
229
+ --slds-c-icon-color-foreground: var(
230
+ --slds-c-inputtext-icon-color-foreground,
231
+ var(--slds-g-color-on-surface-1)
232
+ );
233
+ --slds-c-icon-sizing: var(--slds-c-inputtext-icon-sizing, 14px);
234
+ --sds-c-inputtext-sizing-height: var(
235
+ --slds-c-inputtext-sizing-height,
236
+ var(--slds-g-sizing-9)
237
+ );
238
+ --sds-c-inputtext-color-background: var(
239
+ --slds-c-inputtext-color-background,
240
+ var(--slds-g-color-surface-container-1)
241
+ );
242
+ --sds-c-inputtext-color-background-focus: var(
243
+ --slds-c-inputtext-color-background-focus,
244
+ var(--slds-g-color-surface-container-1)
245
+ );
246
+ --sds-c-inputtext-text-color: var(--slds-c-inputtext-text-color);
247
+ --sds-c-inputtext-font-size: var(
248
+ --slds-c-inputtext-font-size,
249
+ var(--slds-g-font-size-base)
250
+ );
251
+ --sds-c-inputtext-text-color-placeholder: var(
252
+ --slds-c-inputtext-text-color-placeholder,
253
+ var(--slds-g-color-on-surface-1)
254
+ );
255
+ --sds-c-inputtext-color-border: var(
256
+ --slds-c-inputtext-color-border,
257
+ var(--slds-g-color-border-2)
258
+ );
259
+ --sds-c-inputtext-sizing-border: var(--slds-c-inputtext-sizing-border);
260
+ --sds-c-inputtext-radius-border: var(
261
+ --slds-c-inputtext-radius-border,
262
+ var(--slds-g-radius-border-2)
263
+ );
264
+
265
+ display: flex;
266
+ flex-wrap: wrap;
267
+ flex-direction: column;
268
+ }
269
+ /**
270
+ * Input Container
271
+ */
272
+ :host([data-render-mode="shadow"]) [part='input-container'] {
273
+ flex: 1 0 100%;
274
+ align-items: stretch;
275
+ }
276
+ :host([data-render-mode="shadow"]) [part='input-container'][type='range'] {
277
+ border: none;
278
+ display: inline-block;
279
+ }
280
+ :host([data-render-mode="shadow"]) [part='input-container'] .slds-input__icon:not(button) {
281
+ pointer-events: none;
282
+ }
283
+ :host([data-render-mode="shadow"]) [part='input'][type='range'] {
284
+ min-height: calc(1.875rem + (1px * 2));
285
+ margin: 0;
286
+ }
287
+ :host([data-render-mode="shadow"]) [part='input-container'][type='range']:focus-within,:host([data-render-mode="shadow"])
288
+ [part='input-container'][type='range']:active {
289
+ --sds-c-inputtext-color-border: var(--slds-g-color-border-accent-1);
290
+ --sds-c-inputtext-shadow: 0 0 3px var(--slds-g-color-accent-2);
291
+ --sds-c-inputtext-color-background: var(--slds-g-color-surface-container-1);
292
+
293
+ outline: 0;
294
+ border-width: var(--sds-c-inputtext-sizing-border, var(--slds-g-sizing-border-1));
295
+ border-color: var(--sds-c-inputtext-color-border, var(--slds-g-color-border-2));
296
+ }
297
+ /**
298
+ * Input
299
+ */
300
+ :host([data-render-mode="shadow"]) [part='input'] {
301
+ padding-inline-start: var(
302
+ --slds-c-inputtext-spacing-inlinestart,
303
+ var(--slds-g-spacing-3));
304
+ padding-inline-end: var(
305
+ --slds-c-inputtext-spacing-inlineend,
306
+ var(--slds-g-spacing-4));
307
+ height: unset;
308
+ font-family: var(--slds-g-font-family);
309
+ }
310
+ /**
311
+ * Focus / active State
312
+ */
313
+ :host(:not([disabled])) [part="input-container"]:focus-within,
314
+ :host(:not([disabled])) [part="input-container"]:active {
315
+ --sds-c-inputtext-color-border: var(--slds-g-color-border-accent-1);
316
+ --sds-c-inputtext-shadow: 0 0 var(--slds-g-sizing-border-3) var(--slds-g-color-accent-2);
317
+ --sds-c-inputtext-color-background: var(--slds-g-color-surface-container-1);
318
+
319
+ outline: 0;
320
+ }
321
+ /**
322
+ * Read Only State
323
+ */
324
+ :host([data-render-mode="shadow"][readonly]) [part='input-text'] {
325
+ --sds-c-inputtext-spacing-inline-start-readonly: 0;
326
+ --sds-c-inputtext-color-border-focus: transparent;
327
+ --slds-c-inputtext-color-border: transparent;
328
+ --slds-c-inputtext-color-background: transparent;
329
+ --slds-c-inputtext-color-background-focus: transparent;
330
+ }
331
+ :host([data-render-mode="shadow"][readonly]) [part="input-container"]:focus-within,:host([data-render-mode="shadow"][readonly]) [part="input-container"]:active {
332
+ --sds-c-inputtext-color-border: var(--slds-g-color-disabled-container-2);
333
+ --sds-c-inputtext-shadow: 0 0 var(--slds-g-sizing-border-3) var(--slds-g-color-accent-2);
334
+ --sds-c-inputtext-color-background: transparent;
335
+
336
+ outline: 0;
337
+ }
338
+ /**
339
+ * Invalid State
340
+ *
341
+ * Does not use --sds-c-inputtext-color-border-invalid due to this hook being
342
+ * tied to :host([aria-invalid]) which this subsystem does not use. Instead, it
343
+ * uses :host([invalid]).
344
+ */
345
+ :host([data-render-mode="shadow"][invalid]) [part='input-text'] {
346
+ --sds-c-inputtext-shadow: 0 0 0 var(--slds-g-sizing-border-1) inset
347
+ var(--slds-g-color-error-1);
348
+ --slds-c-inputtext-color-border: var(--slds-g-color-border-error-1);
349
+ --slds-c-icon-color-foreground: var(--slds-g-color-error-1);
350
+ }
351
+ /**
352
+ * Invalid State - Focus
353
+ *
354
+ * The following styling hooks are included in SDS and need to be reassigned
355
+ * here to prevent a bug with the focus state border and box-shadow
356
+ */
357
+ :host([data-render-mode="shadow"][invalid]) [part='input-container']:focus-within {
358
+ --sds-c-inputtext-shadow:
359
+ var(--slds-g-color-error-base-50) 0 0 0 var(--slds-g-sizing-border-1) inset,
360
+ 0 0 var(--slds-g-sizing-border-3) var(--slds-g-color-border-error-1);
361
+ --sds-c-inputtext-color-border: var(--slds-g-color-error-1);
362
+ }
363
+ /**
364
+ * Disabled State
365
+ *
366
+ * Both parts form the visible form control.
367
+ */
368
+ :host([data-render-mode="shadow"][disabled]) [part='input-container'],:host([data-render-mode="shadow"][disabled]) [part='input'] {
369
+ cursor: not-allowed;
370
+ --sds-c-inputtext-color-background: var(--slds-s-input-color-background-disabled, var(--slds-g-color-disabled-container-1));
371
+ --sds-c-inputtext-color-border: var(--slds-g-color-border-disabled-1);
372
+ --sds-c-inputtext-text-color: var(--slds-g-color-on-disabled-2);
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
+ }
378
+ /**
379
+ * Label
380
+ *
381
+ * Add [part='input-text'] to increase specificity and
382
+ * avoid collisions with other components using [part='label'] (e.g. slds-input-checkbox)
383
+ */
384
+ :host([data-render-mode="shadow"]) [part='input-text'] [part='label'] {
385
+ padding-block-start: var(--slds-g-spacing-1);
386
+ padding-inline-end: var(--slds-g-spacing-2);
387
+ color: var(
388
+ --slds-c-inputtext-label-color,
389
+ var(--slds-g-color-on-surface-2)
390
+ );
391
+ font-size: var(--slds-s-label-font-size, var(--slds-g-font-scale-neg-2));
392
+ margin-block-end: var(--slds-g-sizing-1);
393
+
394
+ /* We inline flex to control the spacing between elements and not have to rely on whitespace characters */
395
+ display: inline-flex;
396
+ }
397
+ /**
398
+ * Start
399
+ *
400
+ * Only expects an SLDS icon. We assign the SLDS Icon Styling Hook here
401
+ * so we don't add spacing to other icons composed in the component, e.g.,
402
+ * the icon in the inline help text.
403
+ */
404
+ :host([data-render-mode="shadow"]) [part='start'] {
405
+ --slds-c-icon-spacing-inlineend: var(--slds-g-spacing-2);
406
+ }
407
+ /**
408
+ * Label Inline Variant
409
+ *
410
+ * Note: all the 33% values you see are remnants of legacy SLDS. We need to
411
+ * keep this implementation intact so visual output is the same when used
412
+ * in a form that has non-shadow components. Attempting to refactor to a
413
+ * modern solution like flex is proving tricky due to the presence of the
414
+ * optional inline-help and the input needing to have exactly 33% of spacing
415
+ * from the inline-start.
416
+ *
417
+ * Ref: https://github.com/salesforce-ux/design-system-internal/blob/240-winter-23/ui/components/form-element/horizontal/_index.scss#L63
418
+ */
419
+ @media (width >= 48em) {
420
+ :host([data-render-mode="shadow"][variant='label-inline']) [part='input-text'] {
421
+ display: block;
422
+ }
423
+
424
+ :host([data-render-mode="shadow"][variant='label-inline']) [part='label'] {
425
+ float: left;
426
+
427
+ /* TODO: Get rid of these magic numbers */
428
+ max-width: calc(33% - 1.125rem);
429
+ padding-block-start: var(--slds-g-spacing-1);
430
+ }
431
+
432
+ :host([data-render-mode="shadow"][variant='label-inline']) [part='input-container'] {
433
+ margin-inline-start: 33%;
434
+ }
435
+
436
+ :host([data-render-mode="shadow"][variant='label-inline']) [part='inline-help'] {
437
+ float: left;
438
+ padding-block-start: var(--slds-g-spacing-1);
439
+ }
440
+ }
441
+ :host([data-render-mode="shadow"]) input[type="search"] + lightning-primitive-icon::part(icon) {
442
+ left: var(--slds-g-spacing-3);
443
+ fill: var(--slds-g-color-on-surface-1);
444
+ }
445
+ :host([data-render-mode="shadow"]) .slds-input-has-icon .slds-button_icon {
446
+ background-color: transparent;
447
+ }
448
+ :host([data-render-mode="shadow"]) .slds-input-has-icon .slds-button_icon:focus,:host([data-render-mode="shadow"])
449
+ .slds-input-has-icon .slds-button_icon:hover {
450
+ --slds-c-icon-color-foreground: var(--slds-g-color-accent-4);
451
+ }
452
+ :host([data-render-mode="shadow"]) .slds-input-has-icon .slds-input__icon {
453
+ width: 0.875rem;
454
+ height: 0.875rem;
455
+ position: absolute;
456
+ top: 50%;
457
+ margin-top: -0.4375rem;
458
+ line-height: 1;
459
+ border: 0;
460
+ z-index: 2;
461
+ }
462
+ /**
463
+ * Has Icon Left
464
+ */
465
+ :host([data-render-mode="shadow"]) .slds-input-has-icon_left {
466
+ --slds-c-inputtext-spacing-inlinestart: var(--slds-g-spacing-6);
467
+ }
468
+ :host([data-render-mode="shadow"]) .slds-input-has-icon_left .slds-input__icon,:host([data-render-mode="shadow"])
469
+ .slds-input-has-icon_left-right .slds-input__icon_left {
470
+ inset-inline-start: var(--slds-g-spacing-3);
471
+ }
472
+ /**
473
+ * Has Icon Right
474
+ */
475
+ :host([data-render-mode="shadow"]) .slds-input-has-icon_right {
476
+ --slds-c-inputtext-spacing-inlineend: var(--slds-g-spacing-6);
477
+ }
478
+ :host([data-render-mode="shadow"]) .slds-input-has-icon_right .slds-input__icon,:host([data-render-mode="shadow"])
479
+ .slds-input-has-icon_left-right .slds-input__icon_right {
480
+ inset-inline-end: var(--slds-g-spacing-3);
481
+ }
482
+ /**
483
+ * Has Icon Left & Right
484
+ */
485
+ :host([data-render-mode="shadow"]) .slds-input-has-icon_left-right {
486
+ --slds-c-inputtext-spacing-inlinestart: var(--slds-g-spacing-6);
487
+ --slds-c-inputtext-spacing-inlineend: var(--slds-g-spacing-6);
488
+ }
489
+ /**
490
+ * A temporarily baked-in utility class until SLDS gets a proper utility package.
491
+ *
492
+ * This is a hybrid patch between synthetic and native shadow. The ideal final
493
+ * outcome is the removal of this class and replacing the class with the SLDS
494
+ * utility package solution.
495
+ */
496
+ :host([data-render-mode="shadow"]) .slds-assistive-text {
497
+ position: absolute !important;
498
+ margin: -1px !important;
499
+ border: 0 !important;
500
+ padding: 0 !important;
501
+ width: 1px !important;
502
+ height: 1px !important;
503
+ overflow: hidden !important;
504
+ clip: rect(0 0 0 0) !important;
505
+ text-transform: none !important;
506
+ white-space: nowrap !important;
507
+ }
@@ -1,2 +1,4 @@
1
1
  @import 'lightning/sldsCommon';
2
+ @import './form-element.slds.css';
3
+ @import './input-text.slds.css';
2
4
  @import './prompt.slds.css';