lightning-base-components 1.21.2-alpha → 1.21.3-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.
- package/metadata/raptor.json +28 -1
- package/package.json +28 -2
- package/scopedImports/@salesforce-label-LightningRichTextEditor.colorPicker.js +1 -0
- package/src/lightning/accordion/accordion-section.slds.css +3 -3
- package/src/lightning/accordion/accordion.slds.css +1 -2
- package/src/lightning/accordionSection/accordion-section.slds.css +3 -3
- package/src/lightning/accordionSection/accordionSection.js +3 -1
- package/src/lightning/accordionSection/button.slds.css +1 -1
- package/src/lightning/badge/badge.js +1 -0
- package/src/lightning/badge/badge.js-meta.xml +3 -0
- package/src/lightning/baseCombobox/base-combobox.slds.css +11 -6
- package/src/lightning/baseCombobox/baseCombobox.html +1 -1
- package/src/lightning/baseCombobox/baseCombobox.js +2 -2
- package/src/lightning/baseCombobox/baseCombobox.js-meta.xml +6 -0
- package/src/lightning/baseCombobox/input-text.slds.css +41 -68
- package/src/lightning/baseCombobox/keyboard.js +12 -4
- package/src/lightning/baseCombobox/listbox.slds.css +51 -99
- package/src/lightning/baseCombobox/spinner.slds.css +62 -62
- package/src/lightning/baseComboboxFormattedText/baseComboboxFormattedText.js-meta.xml +6 -0
- package/src/lightning/baseComboboxItem/baseComboboxItem.js +10 -6
- package/src/lightning/baseComboboxItem/baseComboboxItem.js-meta.xml +6 -0
- package/src/lightning/baseComboboxItem/listbox.slds.css +51 -99
- package/src/lightning/baseFormattedText/baseFormattedText.js +2 -2
- package/src/lightning/button/button.js +2 -1
- package/src/lightning/button/button.slds.css +1 -1
- package/src/lightning/buttonIcon/button-icon.slds.css +1 -1
- package/src/lightning/buttonIconStateful/button-icon-stateful.slds.css +4 -2
- package/src/lightning/buttonIconStateful/button-icon.slds.css +1 -1
- package/src/lightning/buttonIconStateful/button.slds.css +1 -1
- package/src/lightning/buttonMenu/button-icon.slds.css +1 -1
- package/src/lightning/buttonMenu/button-menu.slds.css +8 -2
- package/src/lightning/buttonMenu/button.slds.css +1 -1
- package/src/lightning/buttonStateful/button-stateful.slds.css +6 -2
- package/src/lightning/buttonStateful/button.slds.css +1 -1
- package/src/lightning/buttonStateful/buttonStateful.js +4 -1
- package/src/lightning/calendar/calendar.js-meta.xml +6 -0
- package/src/lightning/calendar/calendar.slds.css +9 -2
- package/src/lightning/colorPickerCustom/color-picker-custom.slds.css +22 -23
- package/src/lightning/colorPickerCustom/input-text.slds.css +41 -68
- package/src/lightning/colorPickerPanel/color-picker-panel.slds.css +9 -10
- package/src/lightning/colorPickerPanel/popover.slds.css +0 -2
- package/src/lightning/combobox/combobox.slds.css +1 -2
- package/src/lightning/combobox/form-element.slds.css +54 -54
- package/src/lightning/datatable/__examples__/customDatatableWrapper/customDatatableWrapper.js +0 -69
- package/src/lightning/datatable/__examples__/customDatatypeDeleteRowBtn/customDatatypeDeleteRowBtn.html +1 -1
- package/src/lightning/datatable/__examples__/customDatatypeDeleteRowBtn/customDatatypeDeleteRowBtn.js +1 -16
- package/src/lightning/datatable/__examples__/customDatatypeLink/customDatatypeLink.html +3 -3
- package/src/lightning/datatable/__examples__/customDatatypeRowOrderingBtn/customDatatypeRowOrderingBtn.html +1 -8
- package/src/lightning/datatable/__examples__/customDatatypeRowOrderingBtn/customDatatypeRowOrderingBtn.js +2 -39
- package/src/lightning/datatable/__examples__/customDatatypeTable/customNumber.html +1 -1
- package/src/lightning/datatable/__examples__/customDatatypeTable/customNumberEdit.html +2 -0
- package/src/lightning/datatable/__examples__/customDatatypeTable/deleteRow.html +3 -2
- package/src/lightning/datatable/__examples__/customDatatypeTable/iconPill.html +1 -1
- package/src/lightning/datatable/__examples__/customNestedComponent/customNestedComponent.html +10 -0
- package/src/lightning/datatable/__examples__/customNestedComponent/customNestedComponent.js +12 -0
- package/src/lightning/datatable/autoWidthStrategy.js +147 -191
- package/src/lightning/datatable/columnResizer.js +35 -35
- package/src/lightning/datatable/columnWidthManager.js +118 -177
- package/src/lightning/datatable/columns.js +90 -59
- package/src/lightning/datatable/datagrid.slds.css +187 -0
- package/src/lightning/datatable/datatable.js +248 -229
- package/src/lightning/datatable/errors.js +3 -0
- package/src/lightning/datatable/fixedWidthStrategy.js +22 -29
- package/src/lightning/datatable/headerActions.js +7 -9
- package/src/lightning/datatable/infiniteLoading.js +15 -15
- package/src/lightning/datatable/inlineEdit.js +255 -235
- package/src/lightning/datatable/keyboard.js +318 -282
- package/src/lightning/datatable/renderManager.js +10 -7
- package/src/lightning/datatable/resizeObserver.js +11 -59
- package/src/lightning/datatable/rowLevelActions.js +6 -5
- package/src/lightning/datatable/rowNumber.js +23 -23
- package/src/lightning/datatable/rowSelection.js +173 -145
- package/src/lightning/datatable/rowSelectionShared.js +13 -6
- package/src/lightning/datatable/rows.js +231 -196
- package/src/lightning/datatable/sort.js +26 -22
- package/src/lightning/datatable/templates/div/div.css +2 -57
- package/src/lightning/datatable/templates/div/div.html +13 -6
- package/src/lightning/datatable/templates/div/div.lbc.native.css +3 -0
- package/src/lightning/datatable/templates/div/div.lbc.synthetic.css +86 -0
- package/src/lightning/datatable/templates/table/table.html +1 -0
- package/src/lightning/datatable/utils.js +5 -5
- package/src/lightning/datatable/widthManagerShared.js +24 -21
- package/src/lightning/datatable/wrapText.js +25 -26
- package/src/lightning/datepicker/datepicker.js +32 -9
- package/src/lightning/datepicker/datepicker.js-meta.xml +6 -0
- package/src/lightning/datepicker/form-element.slds.css +54 -54
- package/src/lightning/datepicker/input-text.slds.css +41 -68
- package/src/lightning/datetimepicker/datetimepicker.js-meta.xml +6 -0
- package/src/lightning/datetimepicker/form-element.slds.css +54 -54
- package/src/lightning/datetimepicker/input-text.slds.css +41 -68
- package/src/lightning/dualListbox/dual-listbox.slds.css +7 -2
- package/src/lightning/dualListbox/form-element.slds.css +54 -54
- package/src/lightning/dualListbox/listbox.slds.css +51 -99
- package/src/lightning/dynamicIcon/dynamic-icon-strength.slds.css +1 -2
- package/src/lightning/dynamicIcon/dynamic-icon-trend.slds.css +1 -2
- package/src/lightning/formattedDateTime/formattedDateTime.js +7 -62
- package/src/lightning/formattedDateTime/formattedDateTime.js-meta.xml +3 -0
- package/src/lightning/formattedLocation/formattedLocation.html +1 -3
- package/src/lightning/formattedLocation/formattedLocation.js +3 -25
- package/src/lightning/formattedLookup/events.js +2 -4
- package/src/lightning/formattedNumber/formattedNumber.js +2 -49
- package/src/lightning/formattedRichText/formattedRichText.js +5 -5
- package/src/lightning/formattedRichText/linkTextNodes.js +58 -0
- package/src/lightning/groupedCombobox/form-element.slds.css +54 -54
- package/src/lightning/groupedCombobox/grouped-combobox.slds.css +0 -2
- package/src/lightning/groupedCombobox/groupedCombobox.js-meta.xml +1 -1
- package/src/lightning/groupedCombobox/input-text.slds.css +41 -68
- package/src/lightning/helptext/button-icon.slds.css +1 -1
- package/src/lightning/helptext/form-element.slds.css +54 -54
- package/src/lightning/icon/icon.slds.css +12 -25
- package/src/lightning/input/form-element.slds.css +54 -54
- package/src/lightning/inputAddress/form-element.slds.css +54 -54
- package/src/lightning/inputAddress/input-address.slds.css +1 -2
- package/src/lightning/inputAddress/input-text.slds.css +41 -68
- package/src/lightning/inputAddress/inputAddress.js +1 -0
- package/src/lightning/inputAddress/inputAddress.js-meta.xml +3 -0
- package/src/lightning/inputLocation/form-element.slds.css +54 -54
- package/src/lightning/inputLocation/input-location.slds.css +1 -2
- package/src/lightning/inputLocation/input-text.slds.css +41 -68
- package/src/lightning/inputName/form-element.slds.css +54 -54
- package/src/lightning/inputName/input-text.slds.css +41 -68
- package/src/lightning/interactiveDialogBase/interactive-dialog-base.slds.css +0 -3
- package/src/lightning/interactiveDialogBase/interactiveDialogBase.js-meta.xml +6 -0
- package/src/lightning/lookupAddress/form-element.slds.css +54 -54
- package/src/lightning/lookupAddress/listbox.slds.css +51 -99
- package/src/lightning/lookupAddress/location.js +2 -0
- package/src/lightning/lookupAddress/lookup-address.slds.css +0 -2
- package/src/lightning/lookupAddress/lookupAddress.js +15 -10
- package/src/lightning/menuDivider/menu-divider.slds.css +0 -2
- package/src/lightning/menuItem/menu-item.slds.css +8 -2
- package/src/lightning/menuSubheader/menu-subheader.slds.css +1 -2
- package/src/lightning/modalBase/modal-base.slds.css +3 -3
- package/src/lightning/modalBase/modalBase.js +0 -8
- package/src/lightning/modalBase/modalBase.js-meta.xml +6 -0
- package/src/lightning/modalBody/modal-body.slds.css +1 -2
- package/src/lightning/modalFooter/modal-footer.slds.css +2 -2
- package/src/lightning/modalFooter/modalFooter.js +0 -21
- package/src/lightning/modalHeader/modal-header.slds.css +1 -2
- package/src/lightning/modalHeader/modalHeader.js +0 -22
- package/src/lightning/overlay/overlay.js-meta.xml +6 -0
- package/src/lightning/pill/pill.slds.css +32 -58
- package/src/lightning/pillContainer/button.slds.css +1 -1
- package/src/lightning/pillContainer/listbox.slds.css +51 -99
- package/src/lightning/pillContainer/pill-container.slds.css +6 -10
- package/src/lightning/pillContainer/pill.slds.css +32 -58
- package/src/lightning/popup/popover.slds.css +0 -2
- package/src/lightning/primitiveBubble/primitiveBubble.js-meta.xml +6 -0
- package/src/lightning/primitiveButton/primitiveButoon.js-meta.xml +6 -0
- package/src/lightning/primitiveCellCheckbox/checkbox.css +2 -0
- package/src/lightning/primitiveColorpickerButton/color-picker-button.slds.css +16 -38
- package/src/lightning/primitiveCustomCell/primitiveCustomCell.js +26 -1
- package/src/lightning/primitiveHeaderFactory/nonsortableHeader.css +1 -0
- package/src/lightning/primitiveHeaderFactory/selectableHeader.css +2 -0
- package/src/lightning/primitiveIcon/icon.slds.css +12 -25
- package/src/lightning/primitiveIcon/primitiveIcon.js-meta.xml +6 -0
- package/src/lightning/primitiveIframe/primitiveIframe.js +3 -1
- package/src/lightning/primitiveInputCheckbox/form-element.slds.css +54 -54
- package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.js +5 -2
- package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.js-meta.xml +6 -0
- package/src/lightning/primitiveInputCheckboxButton/form-element.slds.css +54 -54
- package/src/lightning/primitiveInputCheckboxButton/input-checkbox-button.slds.css +6 -4
- package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.js +5 -2
- package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.js-meta.xml +6 -0
- package/src/lightning/primitiveInputColor/form-element.slds.css +54 -54
- package/src/lightning/primitiveInputColor/input-color.slds.css +2 -3
- package/src/lightning/primitiveInputColor/input-text.slds.css +41 -68
- package/src/lightning/primitiveInputColor/primitiveInputColor.js +5 -2
- package/src/lightning/primitiveInputColor/primitiveInputColor.js-meta.xml +6 -0
- package/src/lightning/primitiveInputFile/button.slds.css +1 -1
- package/src/lightning/primitiveInputFile/form-element.slds.css +54 -54
- package/src/lightning/primitiveInputFile/input-file.slds.css +1 -4
- package/src/lightning/primitiveInputFile/primitiveInputFile.js +4 -2
- package/src/lightning/primitiveInputFile/primitiveInputFile.js-meta.xml +6 -0
- package/src/lightning/primitiveInputRadio/primitiveInputRadio.js +4 -2
- package/src/lightning/primitiveInputSimple/form-element.slds.css +54 -54
- package/src/lightning/primitiveInputSimple/input-text.slds.css +41 -68
- package/src/lightning/primitiveInputSimple/primitiveInputSimple.js-meta.xml +6 -0
- package/src/lightning/primitiveInputToggle/form-element.slds.css +54 -54
- package/src/lightning/primitiveInputToggle/input-toggle.slds.css +50 -27
- package/src/lightning/primitiveInputToggle/primitiveInputToggle.js +5 -2
- package/src/lightning/primitiveInputToggle/primitiveInputToggle.js-meta.xml +6 -0
- package/src/lightning/progressBar/progress-bar.slds.css +8 -10
- package/src/lightning/progressRing/progress-ring.slds.css +0 -23
- package/src/lightning/progressStep/progressStep.js +1 -14
- package/src/lightning/radioGroup/form-element.slds.css +54 -54
- package/src/lightning/radioGroup/radioGroup.html +1 -2
- package/src/lightning/radioGroup/radioGroup.js +1 -0
- package/src/lightning/routingService/routingService.js +31 -5
- package/src/lightning/select/form-element.slds.css +54 -54
- package/src/lightning/select/select.slds.css +4 -2
- package/src/lightning/sldsUtilsVisibility/sldsUtilsVisibility.css +4 -0
- package/src/lightning/spinner/spinner.slds.css +62 -62
- package/src/lightning/tab/tab.js +4 -2
- package/src/lightning/tab/tab.slds.css +14 -7
- package/src/lightning/tabBar/tab-bar.slds.css +16 -6
- package/src/lightning/tabset/__docs__/tabset.md +24 -1
- package/src/lightning/tabset/tabset.js +25 -38
- package/src/lightning/tabset/tabset.slds.css +0 -2
- package/src/lightning/textarea/form-element.slds.css +54 -54
- package/src/lightning/textarea/textarea.js +5 -1
- package/src/lightning/textarea/textarea.slds.css +22 -9
- package/src/lightning/timepicker/form-element.slds.css +54 -54
- package/src/lightning/timepicker/timepicker.js-meta.xml +6 -0
- package/src/lightning/timepicker/timepicker.slds.css +2 -2
- package/src/lightning/toast/__docs__/toast.md +20 -22
- package/src/lightning/toast/button-icon.slds.css +1 -1
- package/src/lightning/toast/icon.slds.css +12 -25
- package/src/lightning/toast/toast.js +15 -12
- package/src/lightning/toast/toast.slds.css +6 -18
- package/src/lightning/toastContainer/toast.slds.css +6 -18
- package/src/lightning/toastContainer/toastContainer.js +25 -17
- package/src/lightning/tooltipLibrary/tooltipLibrary.js +12 -9
- package/src/lightning/tree/tree.js +2 -0
- package/src/lightning/utils/classSet.js +9 -3
- package/src/lightning/utilsPrivate/formatUtils.js +158 -0
- package/src/lightning/utilsPrivate/textUtils.js +16 -0
- package/src/lightning/utilsPrivate/utilsPrivate.js +56 -15
- package/src/lightning/utilsPrivate/validationUtils.js +59 -0
- package/src/lightning/verticalNavigationSection/vertical-navigation-section.slds.css +0 -2
- package/src/lightning/datatable/resizeSensor.js +0 -244
- package/src/lightning/formattedRichText/linkify.js +0 -43
- package/src/lightning/utilsPrivate/smartSetAttribute.js +0 -19
|
@@ -28,6 +28,8 @@ export default class LightningTabset extends LightningShadowBaseClass {
|
|
|
28
28
|
_headingLabel = null;
|
|
29
29
|
_headingVisible = false;
|
|
30
30
|
_headingLevel = 2;
|
|
31
|
+
// these headingLabel private variables are used to identify if this component
|
|
32
|
+
// requires a rerender based on a null headingLabel value change
|
|
31
33
|
_headingLabelRerender = false;
|
|
32
34
|
_headingLabelRemove = false;
|
|
33
35
|
_headingLabelAdd = false;
|
|
@@ -44,7 +46,10 @@ export default class LightningTabset extends LightningShadowBaseClass {
|
|
|
44
46
|
@api title;
|
|
45
47
|
|
|
46
48
|
/**
|
|
47
|
-
*
|
|
49
|
+
* Specifies text to use as custom assistive text for the tabset heading.
|
|
50
|
+
* The text is placed in a div element with role="heading" and aria-level="2".
|
|
51
|
+
* When heading-label isn't specified, the default assistive text is "Tabs" in
|
|
52
|
+
* a div element with aria-level="2".
|
|
48
53
|
* @type {string|null} - the value to set for the tabset heading
|
|
49
54
|
*/
|
|
50
55
|
@api
|
|
@@ -55,37 +60,23 @@ export default class LightningTabset extends LightningShadowBaseClass {
|
|
|
55
60
|
set headingLabel(value) {
|
|
56
61
|
const labelIsPopulated = value && value.trim().length > 0;
|
|
57
62
|
const currentValue = this._headingLabel;
|
|
58
|
-
// unset the value, if conditions for valid label not met
|
|
59
63
|
const nextValue = labelIsPopulated ? value : null;
|
|
60
64
|
this._headingLabel = nextValue;
|
|
61
|
-
|
|
62
|
-
//
|
|
63
|
-
//
|
|
64
|
-
// ex: 'My Title' -> 'My Turtles' (fixed:W-14578712)
|
|
65
|
-
// (b) label was unset, and now has a value. (TODO: W-14708987)
|
|
66
|
-
// ex: null -> 'My title'
|
|
67
|
-
// (c) label values was set, and now has value set null (TODO: W-14708987)
|
|
68
|
-
// ex: 'My Title' -> null
|
|
69
|
-
// the issues with B and C occur due to how the template lwc:if / lwc:else
|
|
70
|
-
// is structured
|
|
71
|
-
// if the value is changing from: 'My Title' to 'My Bigger Title' (A above),
|
|
72
|
-
// no rerender is required, because the template logic is the same
|
|
73
|
-
// need to rerender the tabs, because the template logic IF / ELSE
|
|
74
|
-
// is triggered by transitioning between null and a populated value
|
|
65
|
+
|
|
66
|
+
// special case for when headingLabel is programatically set to null or a null
|
|
67
|
+
// headingLabel is set to a non-null value. See W-14708987 for more info.
|
|
75
68
|
if (!this._firstRender) {
|
|
76
|
-
this._headingLabelRemove = currentValue && nextValue === null;
|
|
77
|
-
this._headingLabelAdd = currentValue === null && nextValue;
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
this._headingLabelRerender = true;
|
|
81
|
-
this._firstRender = true;
|
|
82
|
-
}
|
|
69
|
+
this._headingLabelRemove = currentValue && nextValue === null; // label to null
|
|
70
|
+
this._headingLabelAdd = currentValue === null && nextValue; // null to label
|
|
71
|
+
this._headingLabelRerender =
|
|
72
|
+
this._headingLabelRemove || this._headingLabelAdd;
|
|
83
73
|
}
|
|
84
74
|
}
|
|
85
75
|
|
|
86
76
|
/**
|
|
87
|
-
* Determines
|
|
88
|
-
*
|
|
77
|
+
* Determines whether the text that’s passed with the heading-label attribute
|
|
78
|
+
* is visible above the tabset. This attribute isn't present by default so the
|
|
79
|
+
* assistive text is only read by screen readers.
|
|
89
80
|
* @type {boolean} - the boolean value to set for heading visibility
|
|
90
81
|
* @returns {boolean} - the boolean value set for heading visibility
|
|
91
82
|
*/
|
|
@@ -99,7 +90,8 @@ export default class LightningTabset extends LightningShadowBaseClass {
|
|
|
99
90
|
}
|
|
100
91
|
|
|
101
92
|
/**
|
|
102
|
-
*
|
|
93
|
+
* Specifies the value to pass through to aria-level when you specify heading-label.
|
|
94
|
+
* Accepts values from 1 to 6. The default value is 2.
|
|
103
95
|
* @type {number} - the value to set for the heading's aria-level
|
|
104
96
|
* @returns {number} - the value for setting the heading's aria-level
|
|
105
97
|
*/
|
|
@@ -214,12 +206,7 @@ export default class LightningTabset extends LightningShadowBaseClass {
|
|
|
214
206
|
renderedCallback() {
|
|
215
207
|
// always update the cached this._tabBarElem at the start of the render cycle
|
|
216
208
|
this._cacheTabBarElem();
|
|
217
|
-
if (this.nativeShadowAndRerender) {
|
|
218
|
-
this._rerender = false;
|
|
219
|
-
this._updateTabBarHeaders(this._tabHeaders);
|
|
220
|
-
this._selectTab(this._activeTabValue);
|
|
221
|
-
}
|
|
222
|
-
if (this.headingLabelChangeRerender) {
|
|
209
|
+
if (this.nativeShadowAndRerender || this._headingLabelRerender) {
|
|
223
210
|
this._rerender = false;
|
|
224
211
|
this._headingLabelRerender = false;
|
|
225
212
|
this._updateTabBarHeaders(this._tabHeaders);
|
|
@@ -421,16 +408,12 @@ export default class LightningTabset extends LightningShadowBaseClass {
|
|
|
421
408
|
return this._rerender && !this.template.synthetic;
|
|
422
409
|
}
|
|
423
410
|
|
|
424
|
-
get headingLabelChangeRerender() {
|
|
425
|
-
return !this._firstRender && this._headingLabelRerender;
|
|
426
|
-
}
|
|
427
|
-
|
|
428
411
|
/* cache tabBar element when first accessed, or isCSR and not set */
|
|
429
412
|
get tabBarElem() {
|
|
430
413
|
if (isCSR) {
|
|
431
414
|
if (
|
|
432
|
-
this._headingLabelRerender ||
|
|
433
415
|
this.nativeShadowAndRerender ||
|
|
416
|
+
this._headingLabelRerender ||
|
|
434
417
|
!this._tabBarElem
|
|
435
418
|
) {
|
|
436
419
|
this._cacheTabBarElem();
|
|
@@ -450,7 +433,11 @@ export default class LightningTabset extends LightningShadowBaseClass {
|
|
|
450
433
|
// udpdate tabBar element, force to update elem if NS && Rerender
|
|
451
434
|
// or always if it doesn't exist
|
|
452
435
|
// order of IF checking is important
|
|
453
|
-
if (
|
|
436
|
+
if (
|
|
437
|
+
this.nativeShadowAndRerender ||
|
|
438
|
+
this._headingLabelRerender ||
|
|
439
|
+
!this._tabBarElem
|
|
440
|
+
) {
|
|
454
441
|
this._tabBarElem =
|
|
455
442
|
this.template.querySelector('lightning-tab-bar');
|
|
456
443
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
@supports (--styling-hooks: '') {
|
|
3
2
|
:host([data-render-mode="shadow"]) .slds-vertical-tabs {
|
|
4
3
|
display: flex;
|
|
5
4
|
overflow: hidden;
|
|
@@ -12,4 +11,3 @@
|
|
|
12
11
|
:host([data-render-mode="shadow"]) .slds-tabs_default .slds-tabs_default__header:not(.slds-assistive-text) {
|
|
13
12
|
font-size: var(--sds-g-font-scale-neg-2, calc(var(--slds-g-font-scale-neg-1) / var(--slds-g-font-scale-ratio)));
|
|
14
13
|
}
|
|
15
|
-
}
|
|
@@ -25,21 +25,22 @@
|
|
|
25
25
|
* for any needed updates to keep these files in sync
|
|
26
26
|
*/
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
/* TODO: Swap with utility classes */
|
|
29
|
+
|
|
30
|
+
:host([data-render-mode="shadow"]) fieldset {
|
|
31
31
|
border: 0;
|
|
32
32
|
margin: 0;
|
|
33
33
|
padding: 0;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
/* FORM ELEMENT: BASE */
|
|
37
|
+
|
|
38
|
+
:host([data-render-mode="shadow"]) .slds-form-element {
|
|
38
39
|
position: relative;
|
|
39
40
|
min-width: 0;
|
|
40
41
|
}
|
|
41
42
|
|
|
42
|
-
|
|
43
|
+
:host([data-render-mode="shadow"]) .slds-form-element__label {
|
|
43
44
|
overflow-wrap: break-word;
|
|
44
45
|
word-wrap: break-word;
|
|
45
46
|
hyphens: auto;
|
|
@@ -51,20 +52,20 @@
|
|
|
51
52
|
margin-block-end: calc(var(--slds-g-spacing-1) / 2);
|
|
52
53
|
}
|
|
53
54
|
|
|
54
|
-
|
|
55
|
+
:host([data-render-mode="shadow"]) .slds-form-element__label:empty {
|
|
55
56
|
margin: 0;
|
|
56
57
|
}
|
|
57
58
|
|
|
58
|
-
|
|
59
|
+
:host([data-render-mode="shadow"]) .slds-form-element__control {
|
|
59
60
|
clear: left; /* NOTE: Ideally we want left to be inline-start but browser support is not ready for that value. We need to figure out better RTL support */
|
|
60
61
|
position: relative;
|
|
61
62
|
}
|
|
62
63
|
|
|
63
|
-
|
|
64
|
+
:host([data-render-mode="shadow"]) .slds-form-element__control .slds-radio {
|
|
64
65
|
display: block;
|
|
65
66
|
}
|
|
66
67
|
|
|
67
|
-
|
|
68
|
+
:host([data-render-mode="shadow"]) .slds-form-element__icon {
|
|
68
69
|
display: inline-block;
|
|
69
70
|
position: relative;
|
|
70
71
|
padding-block-start: var(--slds-g-spacing-1);
|
|
@@ -73,42 +74,42 @@
|
|
|
73
74
|
z-index: 1;
|
|
74
75
|
}
|
|
75
76
|
|
|
76
|
-
|
|
77
|
+
:host([data-render-mode="shadow"]) .slds-form-element__icon .slds-button_icon {
|
|
77
78
|
position: relative;
|
|
78
79
|
}
|
|
79
80
|
|
|
80
|
-
|
|
81
|
+
:host([data-render-mode="shadow"]) .slds-form-element__help,:host([data-render-mode="shadow"])
|
|
81
82
|
.slds-form-element__helper {
|
|
82
83
|
font-size: var(--slds-g-font-scale-neg-3);
|
|
83
84
|
margin-block-start: calc(var(--slds-g-spacing-1) / 2);
|
|
84
85
|
display: block;
|
|
85
86
|
}
|
|
86
87
|
|
|
87
|
-
|
|
88
|
+
:host([data-render-mode="shadow"]) .slds-form-element_edit .slds-form-element__static {
|
|
88
89
|
width: calc(100% - var(--slds-g-sizing-7));
|
|
89
90
|
}
|
|
90
91
|
|
|
91
|
-
|
|
92
|
+
:host([data-render-mode="shadow"]) .slds-form-element_readonly {
|
|
92
93
|
flex-basis: 0%;
|
|
93
94
|
border-bottom: var(--slds-g-sizing-border-1) solid var(--slds-g-color-border-1);
|
|
94
95
|
margin-block-end: 0;
|
|
95
96
|
}
|
|
96
97
|
|
|
97
|
-
|
|
98
|
+
:host([data-render-mode="shadow"]) .slds-form-element_readonly .slds-form-element__control {
|
|
98
99
|
padding-block-start: calc(var(--slds-g-spacing-1) / 2);
|
|
99
100
|
padding-block-end: calc(var(--slds-g-spacing-1) / 2);
|
|
100
101
|
}
|
|
101
102
|
|
|
102
|
-
|
|
103
|
+
:host([data-render-mode="shadow"]) .slds-form-element_readonly .slds-form-element__label {
|
|
103
104
|
margin-block-end: 0;
|
|
104
105
|
}
|
|
105
106
|
|
|
106
|
-
|
|
107
|
+
:host([data-render-mode="shadow"]) .slds-form-element__legend {
|
|
107
108
|
font-weight: var(--slds-g-font-weight-7);
|
|
108
109
|
float: left;
|
|
109
110
|
}
|
|
110
111
|
|
|
111
|
-
|
|
112
|
+
:host([data-render-mode="shadow"]) .slds-form-element__addon {
|
|
112
113
|
display: inline-block;
|
|
113
114
|
margin-block-start: 0;
|
|
114
115
|
margin-block-end: 0;
|
|
@@ -117,7 +118,7 @@
|
|
|
117
118
|
align-self: center;
|
|
118
119
|
}
|
|
119
120
|
|
|
120
|
-
|
|
121
|
+
:host([data-render-mode="shadow"]) .slds-form-element__static {
|
|
121
122
|
overflow-wrap: break-word;
|
|
122
123
|
word-wrap: break-word;
|
|
123
124
|
word-break: break-word;
|
|
@@ -128,20 +129,20 @@
|
|
|
128
129
|
width: 100%;
|
|
129
130
|
}
|
|
130
131
|
|
|
131
|
-
|
|
132
|
+
:host([data-render-mode="shadow"]) .slds-form-element__static.slds-text-longform *:last-child {
|
|
132
133
|
margin-block-end: 0;
|
|
133
134
|
}
|
|
134
135
|
|
|
135
|
-
|
|
136
|
+
:host([data-render-mode="shadow"]) .slds-form-element__static:empty {
|
|
136
137
|
min-height: calc(var(--slds-g-sizing-6) + 1px);
|
|
137
138
|
vertical-align: bottom;
|
|
138
139
|
}
|
|
139
140
|
|
|
140
|
-
|
|
141
|
+
:host([data-render-mode="shadow"]) .slds-form-element__static--edit {
|
|
141
142
|
width: calc(100% - var(--slds-g-sizing-7));
|
|
142
143
|
}
|
|
143
144
|
|
|
144
|
-
|
|
145
|
+
:host([data-render-mode="shadow"]) .slds-required {
|
|
145
146
|
color: var(--slds-g-color-error-base-50);
|
|
146
147
|
margin-block-start: 0;
|
|
147
148
|
margin-block-end: 0;
|
|
@@ -149,25 +150,25 @@
|
|
|
149
150
|
margin-inline-end: calc(var(--slds-g-spacing-1) / 2);
|
|
150
151
|
}
|
|
151
152
|
|
|
152
|
-
|
|
153
|
+
:host([data-render-mode="shadow"]) .slds-has-error .slds-form-element__help {
|
|
153
154
|
color: var(--slds-g-color-error-1);
|
|
154
155
|
}
|
|
155
156
|
|
|
156
|
-
|
|
157
|
+
:host([data-render-mode="shadow"][invalid]) .slds-form-element__help {
|
|
157
158
|
color: var(--slds-g-color-error-1);
|
|
158
159
|
}
|
|
159
160
|
|
|
160
|
-
|
|
161
|
+
/* --------------------------------------- */
|
|
161
162
|
|
|
162
|
-
|
|
163
|
+
/* FORM ELEMENT: STACKED */
|
|
163
164
|
|
|
164
|
-
|
|
165
|
+
:host([data-render-mode="shadow"][variant='label-stacked']) {
|
|
165
166
|
display: block;
|
|
166
167
|
}
|
|
167
168
|
|
|
168
|
-
|
|
169
|
+
/* TODO: Using `:not` is currently not working, and it could break the build because of issues with the dist script */
|
|
169
170
|
|
|
170
|
-
|
|
171
|
+
/* :host([variant='label-stacked']):not(.slds-form-element_readonly) {
|
|
171
172
|
margin-block-end: var(--slds-g-spacing-2);
|
|
172
173
|
}
|
|
173
174
|
|
|
@@ -175,54 +176,54 @@
|
|
|
175
176
|
padding: 0 var(--slds-g-spacing-1);
|
|
176
177
|
} */
|
|
177
178
|
|
|
178
|
-
|
|
179
|
+
/* :host([variant='label-stacked']):not([class*="slds-size"]) {
|
|
179
180
|
width: 100%;
|
|
180
181
|
flex-basis: 100%;
|
|
181
182
|
} */
|
|
182
183
|
|
|
183
|
-
|
|
184
|
+
:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element {
|
|
184
185
|
padding: 0;
|
|
185
186
|
margin-block-end: 0;
|
|
186
187
|
}
|
|
187
188
|
|
|
188
|
-
|
|
189
|
+
:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__label,:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__control {
|
|
189
190
|
border-bottom: 0; /* Remove border when using legacy version of slds-form-element */
|
|
190
191
|
padding-inline-start: 0;
|
|
191
192
|
}
|
|
192
193
|
|
|
193
|
-
|
|
194
|
+
:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__control {
|
|
194
195
|
width: 100%;
|
|
195
196
|
flex-basis: 100%;
|
|
196
197
|
clear: left;
|
|
197
198
|
}
|
|
198
199
|
|
|
199
|
-
|
|
200
|
+
:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__icon {
|
|
200
201
|
float: none;
|
|
201
202
|
padding-block-start: var(--slds-g-spacing-1);
|
|
202
203
|
}
|
|
203
204
|
|
|
204
|
-
|
|
205
|
+
/* --------------------------------------- */
|
|
205
206
|
|
|
206
|
-
|
|
207
|
+
/* FORM ELEMENT: INLINE */
|
|
207
208
|
|
|
208
|
-
|
|
209
|
+
:host([data-render-mode="shadow"][variant='label-inline']) {
|
|
209
210
|
display: block;
|
|
210
211
|
}
|
|
211
212
|
|
|
212
|
-
|
|
213
|
+
/*
|
|
213
214
|
we have to combine with slds class here to avoid duplication
|
|
214
215
|
of this rule in child elements who import this stylesheet
|
|
215
216
|
in lighting-input this slds class is synonymous with the variant
|
|
216
217
|
*/
|
|
217
218
|
|
|
218
|
-
|
|
219
|
+
:host([data-render-mode="shadow"][variant='label-inline'].slds-form-element_horizontal) {
|
|
219
220
|
padding: var(--slds-g-spacing-1);
|
|
220
221
|
margin-block-end: var(--slds-g-spacing-2);
|
|
221
222
|
}
|
|
222
223
|
|
|
223
|
-
|
|
224
|
+
/* TODO: Using `:not` is currently not working, and it could break the build because of issues with the dist script */
|
|
224
225
|
|
|
225
|
-
|
|
226
|
+
/* :host([variant='label-inline']):not(.slds-form-element_readonly) {
|
|
226
227
|
margin-block-end: var(--slds-g-spacing-2);
|
|
227
228
|
}
|
|
228
229
|
|
|
@@ -235,11 +236,11 @@
|
|
|
235
236
|
padding: var(--slds-g-spacing-1);
|
|
236
237
|
} */
|
|
237
238
|
|
|
238
|
-
|
|
239
|
+
:host([data-render-mode="shadow"][variant='label-inline']).slds-is-edited {
|
|
239
240
|
padding-block-start: var(--slds-g-sizing-6)
|
|
240
241
|
}
|
|
241
242
|
|
|
242
|
-
|
|
243
|
+
@media (width >= 48em) {
|
|
243
244
|
:host([data-render-mode="shadow"][variant='label-inline']) .slds-form-element__label {
|
|
244
245
|
max-width: calc(33% - var(--slds-g-sizing-6)); /* Removing icon width for when the help-text icon is present */
|
|
245
246
|
flex-basis: calc(33% - var(--slds-g-sizing-6)); /* Some form element controls are set to display:flex */
|
|
@@ -281,35 +282,34 @@
|
|
|
281
282
|
}
|
|
282
283
|
}
|
|
283
284
|
|
|
284
|
-
|
|
285
|
+
/* --------------------------------------- */
|
|
285
286
|
|
|
286
|
-
|
|
287
|
+
/* FORM ELEMENT: COMPOUND */
|
|
287
288
|
|
|
288
|
-
|
|
289
|
+
:host([data-render-mode="shadow"]) .slds-form-element_compound .slds-form-element__row {
|
|
289
290
|
display: flex;
|
|
290
291
|
margin-bottom: var(--slds-g-spacing-1);
|
|
291
292
|
margin-left: calc(var(--slds-g-spacing-1) * -1);
|
|
292
293
|
margin-right: calc(var(--slds-g-spacing-1) * -1);
|
|
293
294
|
}
|
|
294
295
|
|
|
295
|
-
|
|
296
|
+
:host([data-render-mode="shadow"]) .slds-form-element_compound .slds-form-element__row .slds-form-element__label {
|
|
296
297
|
padding-top: 0;
|
|
297
298
|
}
|
|
298
299
|
|
|
299
|
-
|
|
300
|
+
:host([data-render-mode="shadow"]) .slds-form-element_compound .slds-form-element {
|
|
300
301
|
padding-left: var(--slds-g-spacing-1);
|
|
301
302
|
padding-right: var(--slds-g-spacing-1);
|
|
302
303
|
}
|
|
303
304
|
|
|
304
|
-
|
|
305
|
+
:host([data-render-mode="shadow"]) .slds-form-element_address .slds-form-element__row {
|
|
305
306
|
align-items: flex-end;
|
|
306
307
|
}
|
|
307
308
|
|
|
308
|
-
|
|
309
|
+
/* --------------------------------------- */
|
|
309
310
|
|
|
310
|
-
|
|
311
|
+
/* FORM ELEMENT: HIDDEN */
|
|
311
312
|
|
|
312
|
-
|
|
313
|
+
:host([data-render-mode="shadow"][variant='label-hidden']) .slds-form-element__label {
|
|
313
314
|
display: none
|
|
314
315
|
}
|
|
315
|
-
}
|
|
@@ -51,6 +51,8 @@ export default class LightningTextarea extends LightningShadowBaseClass {
|
|
|
51
51
|
_helpMessageChanged = false;
|
|
52
52
|
ariaObserver = null;
|
|
53
53
|
|
|
54
|
+
static validationOptOut = ['class'];
|
|
55
|
+
|
|
54
56
|
/************************* PUBLIC PROPERTIES *************************/
|
|
55
57
|
|
|
56
58
|
/**
|
|
@@ -366,7 +368,9 @@ export default class LightningTextarea extends LightningShadowBaseClass {
|
|
|
366
368
|
if (this._inputElement) {
|
|
367
369
|
return this._inputElement;
|
|
368
370
|
}
|
|
369
|
-
this._inputElement =
|
|
371
|
+
this._inputElement = isCSR
|
|
372
|
+
? this.template.querySelector('textarea')
|
|
373
|
+
: null;
|
|
370
374
|
decorateInputForDragon(this._inputElement);
|
|
371
375
|
return this._inputElement;
|
|
372
376
|
}
|
|
@@ -1,10 +1,24 @@
|
|
|
1
1
|
|
|
2
|
-
|
|
2
|
+
:host([data-render-mode="shadow"]) {
|
|
3
|
+
/**
|
|
4
|
+
* Remap to SLDS blueprint hooks for parity
|
|
5
|
+
* https://www.lightningdesignsystem.com/components/modals/#Styling-Hooks-Overview
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/* stylelint-disable */
|
|
9
|
+
--slds-c-textarea-spacing-blockstart: var(--slds-c-textarea-spacing-block-start);
|
|
10
|
+
--slds-c-textarea-spacing-blockend: var(--slds-c-textarea-spacing-block-end);
|
|
11
|
+
--slds-c-textarea-spacing-inlinestart: var(--slds-c-textarea-spacing-inline-start);
|
|
12
|
+
--slds-c-textarea-spacing-inlineend: var(--slds-c-textarea-spacing-inline-end);
|
|
13
|
+
/* stylelint-enable */
|
|
14
|
+
}
|
|
15
|
+
|
|
3
16
|
/* sldsCommon.css file comments indicate intentionally
|
|
4
17
|
not adding textarea selector to that file due to
|
|
5
18
|
style leaks in synthetic shadow mode.
|
|
6
19
|
adding here instead
|
|
7
20
|
*/
|
|
21
|
+
|
|
8
22
|
:host([data-render-mode="shadow"]) textarea {
|
|
9
23
|
color: inherit;
|
|
10
24
|
font: inherit;
|
|
@@ -12,16 +26,14 @@
|
|
|
12
26
|
}
|
|
13
27
|
|
|
14
28
|
:host([data-render-mode="shadow"]) .slds-textarea {
|
|
15
|
-
/* stylelint-disable sds-stylelint-plugin/styling-hooks-deprecated */
|
|
16
|
-
|
|
17
29
|
/* stylelint-disable sds-stylelint-plugin/styling-hooks-pattern */
|
|
18
30
|
appearance: none;
|
|
19
31
|
min-height: var(--slds-c-textarea-sizing-min-height);
|
|
20
32
|
width: 100%;
|
|
21
|
-
padding-block-start: var(--slds-c-textarea-spacing-
|
|
22
|
-
padding-inline-end: var(--slds-c-textarea-spacing-
|
|
23
|
-
padding-block-end: var(--slds-c-textarea-spacing-
|
|
24
|
-
padding-inline-start: var(--slds-c-textarea-spacing-
|
|
33
|
+
padding-block-start: var(--slds-c-textarea-spacing-blockstart, var(--slds-g-spacing-2));
|
|
34
|
+
padding-inline-end: var(--slds-c-textarea-spacing-inlineend, var(--slds-g-spacing-3));
|
|
35
|
+
padding-block-end: var(--slds-c-textarea-spacing-blockend, var(--slds-g-spacing-2));
|
|
36
|
+
padding-inline-start: var(--slds-c-textarea-spacing-inlinestart, var(--slds-g-spacing-3));
|
|
25
37
|
background-color: var(--slds-c-textarea-color-background, var(--slds-g-color-neutral-base-100, var(--slds-g-color-neutral-base-100)));
|
|
26
38
|
color: var(--slds-c-textarea-text-color);
|
|
27
39
|
border: var(--slds-g-sizing-border-1) solid var(--slds-c-textarea-color-border, var(--slds-g-color-border-base-4, var(--slds-g-color-border-base-1)));
|
|
@@ -29,7 +41,6 @@
|
|
|
29
41
|
box-shadow: var(--slds-c-textarea-shadow);
|
|
30
42
|
resize: vertical;
|
|
31
43
|
transition: border 0.1s linear, background-color 0.1s linear;
|
|
32
|
-
/* stylelint-enable sds-stylelint-plugin/styling-hooks-deprecated */
|
|
33
44
|
|
|
34
45
|
/* stylelint-enable sds-stylelint-plugin/styling-hooks-pattern */
|
|
35
46
|
}
|
|
@@ -64,6 +75,7 @@
|
|
|
64
75
|
}
|
|
65
76
|
|
|
66
77
|
/* replace .slds-has-error with invalid */
|
|
78
|
+
|
|
67
79
|
:host([data-render-mode="shadow"][invalid]) .slds-textarea {
|
|
68
80
|
--slds-c-textarea-color-background: var(--slds-g-color-neutral-base-100, var(--slds-g-color-neutral-base-100));
|
|
69
81
|
--slds-c-textarea-color-border: var(--slds-g-color-error-base-40, var(--slds-g-color-error-base-50));
|
|
@@ -73,6 +85,7 @@
|
|
|
73
85
|
}
|
|
74
86
|
|
|
75
87
|
/* replace .slds-has-error with invalid */
|
|
88
|
+
|
|
76
89
|
:host([data-render-mode="shadow"][invalid]) .slds-textarea:focus,:host([data-render-mode="shadow"][invalid]) .slds-textarea:active {
|
|
77
90
|
--slds-c-textarea-text-color-focus: var(--slds-c-textarea-text-color-error-focus);
|
|
78
91
|
--slds-c-textarea-color-background-focus: var(--slds-c-textarea-color-background-error-focus, var(--slds-g-color-neutral-base-100, var(--slds-g-color-neutral-base-100)));
|
|
@@ -80,6 +93,7 @@
|
|
|
80
93
|
}
|
|
81
94
|
|
|
82
95
|
/* TODO W-12674349: remove after name-value-list utils are added */
|
|
96
|
+
|
|
83
97
|
:host([data-render-mode="shadow"]) .slds-assistive-text {
|
|
84
98
|
position: absolute !important;
|
|
85
99
|
margin: -1px !important;
|
|
@@ -92,4 +106,3 @@
|
|
|
92
106
|
text-transform: none !important;
|
|
93
107
|
white-space: nowrap !important;
|
|
94
108
|
}
|
|
95
|
-
}
|