lightning-base-components 1.21.2-alpha → 1.21.4-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 +77 -1
- package/package.json +108 -15
- package/scopedImports/@salesforce-label-LightningDatatable.showActions.js +1 -1
- package/scopedImports/@salesforce-label-LightningForm.controllerFieldsMessage.js +1 -0
- package/scopedImports/@salesforce-label-LightningForm.dependentFieldsHeader.js +1 -0
- package/scopedImports/@salesforce-label-LightningForm.dependentFieldsListHeading.js +1 -0
- package/scopedImports/@salesforce-label-LightningForm.generalDependentFieldsMessage.js +1 -0
- package/scopedImports/@salesforce-label-LightningForm.learnMore.js +1 -0
- package/scopedImports/@salesforce-label-LightningForm.okButton.js +1 -0
- package/scopedImports/@salesforce-label-LightningLookup.modalCancel.js +1 -0
- package/scopedImports/@salesforce-label-LightningLookup.modalSelect.js +1 -0
- package/scopedImports/@salesforce-label-LightningProgressIndicator.currentStage.js +1 -1
- package/scopedImports/@salesforce-label-LightningProgressIndicator.errorStage.js +1 -0
- package/scopedImports/@salesforce-label-LightningProgressIndicator.stageComplete.js +1 -1
- package/scopedImports/@salesforce-label-LightningProgressIndicator.stageNotStarted.js +1 -1
- 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/avatar/avatar.html +1 -0
- package/src/lightning/badge/badge.html +3 -3
- 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 +5 -2
- package/src/lightning/baseCombobox/baseCombobox.js +5 -18
- 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/__docs__/button.md +2 -1
- package/src/lightning/button/button.js +5 -5
- package/src/lightning/button/button.slds.css +1 -1
- package/src/lightning/buttonIcon/__docs__/buttonIcon.md +1 -0
- package/src/lightning/buttonIcon/button-icon.slds.css +1 -1
- package/src/lightning/buttonIcon/buttonIcon.html +1 -1
- package/src/lightning/buttonIcon/buttonIcon.js +18 -17
- 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/buttonMenu/buttonMenu.css +5 -0
- package/src/lightning/buttonMenu/buttonMenu.js +2 -0
- 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/colorPickerCustom.js +12 -0
- 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/colorPickerPanel.js +11 -1
- package/src/lightning/colorPickerPanel/popover.slds.css +0 -2
- package/src/lightning/combobox/combobox.html +1 -0
- package/src/lightning/combobox/combobox.slds.css +1 -2
- package/src/lightning/combobox/form-element.slds.css +54 -54
- package/src/lightning/datatable/__examples__disabled/customComponentWrapper/customComponentWrapper.html +11 -0
- package/src/lightning/datatable/__examples__disabled/customComponentWrapper/customComponentWrapper.js +25 -0
- package/src/lightning/datatable/__examples__disabled/customComponentWrapper/generateData.js +15 -0
- package/src/lightning/datatable/__examples__disabled/customDatatableWrapper/customDatatableWrapper.js +89 -0
- package/src/lightning/datatable/__examples__disabled/customDatatypeDeleteRowBtn/customDatatypeDeleteRowBtn.html +6 -0
- package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeDeleteRowBtn/customDatatypeDeleteRowBtn.js +1 -16
- package/src/lightning/datatable/__examples__disabled/customDatatypeLink/customDatatypeLink.html +9 -0
- package/src/lightning/datatable/__examples__disabled/customDatatypeRowOrderingBtn/customDatatypeRowOrderingBtn.html +3 -0
- package/src/lightning/datatable/__examples__disabled/customDatatypeRowOrderingBtn/customDatatypeRowOrderingBtn.js +3 -0
- package/src/lightning/datatable/__examples__disabled/customDatatypeTable/customNumber.html +3 -0
- package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeTable/customNumberEdit.html +2 -0
- package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeTable/deleteRow.html +3 -2
- package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeTable/iconPill.html +1 -1
- package/src/lightning/datatable/{__examples__/customDatatypeRowOrderingBtn/customDatatypeRowOrderingBtn.html → __examples__disabled/customNestedComponent/customNestedComponent.html} +2 -2
- package/src/lightning/datatable/__examples__disabled/customNestedComponent/customNestedComponent.js +12 -0
- package/src/lightning/datatable/__examples__disabled/myCustomTypeDatatable/customInput.html +4 -0
- package/src/lightning/datatable/__examples__disabled/myCustomTypeDatatable/myCustomTypeDatatable.js +17 -0
- package/src/lightning/datatable/__examples__disabled/myCustomTypeDatatable/nestedSimpleComponentParent.html +7 -0
- package/src/lightning/datatable/__examples__disabled/simpleComponentNested/simpleComponentNested.html +9 -0
- package/src/lightning/datatable/__examples__disabled/simpleComponentNested/simpleComponentNested.js +6 -0
- package/src/lightning/datatable/autoWidthStrategy.js +145 -217
- package/src/lightning/datatable/columnResizer.js +80 -190
- package/src/lightning/datatable/columnWidthManager.js +128 -243
- package/src/lightning/datatable/columns.js +192 -283
- package/src/lightning/datatable/datagrid.slds.css +187 -0
- package/src/lightning/datatable/datatable.js +647 -614
- package/src/lightning/datatable/errors.js +19 -28
- package/src/lightning/datatable/fixedWidthStrategy.js +27 -49
- package/src/lightning/datatable/headerActions.js +10 -42
- package/src/lightning/datatable/indexes.js +42 -0
- package/src/lightning/datatable/infiniteLoading.js +27 -46
- package/src/lightning/datatable/inlineEdit.js +311 -322
- package/src/lightning/datatable/keyboard.js +490 -510
- package/src/lightning/datatable/renderManager.js +10 -11
- package/src/lightning/datatable/resizeObserver.js +10 -67
- package/src/lightning/datatable/rowLevelActions.js +7 -6
- package/src/lightning/datatable/rowNumber.js +41 -79
- package/src/lightning/datatable/rowSelection.js +236 -291
- package/src/lightning/datatable/rowSelectionShared.js +26 -33
- package/src/lightning/datatable/rows.js +264 -476
- package/src/lightning/datatable/sort.js +27 -82
- package/src/lightning/datatable/templates/div/div.css +2 -57
- package/src/lightning/datatable/templates/div/div.html +25 -10
- package/src/lightning/datatable/templates/div/div.lbc.native.css +3 -0
- package/src/lightning/datatable/templates/div/div.lbc.synthetic.css +80 -0
- package/src/lightning/datatable/templates/table/table.html +16 -5
- package/src/lightning/datatable/tree.js +17 -35
- package/src/lightning/datatable/types.js +10 -31
- package/src/lightning/datatable/utils.js +54 -29
- package/src/lightning/datatable/virtualization.js +2 -5
- package/src/lightning/datatable/widthManagerShared.js +24 -41
- package/src/lightning/datatable/wrapText.js +45 -77
- 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/dualListbox.js +7 -8
- 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/formattedName/formattedName.js +3 -2
- package/src/lightning/formattedName/formattedName.js-meta.xml +3 -0
- package/src/lightning/formattedNumber/formattedNumber.js +5 -51
- package/src/lightning/formattedNumber/formattedNumber.js-meta.xml +3 -0
- package/src/lightning/formattedRichText/formattedRichText.js +5 -5
- package/src/lightning/formattedRichText/linkTextNodes.js +58 -0
- package/src/lightning/formattedRichText/richTextConfig.js +1 -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/helptext/helptext.css +7 -0
- package/src/lightning/helptext/helptext.js +3 -4
- package/src/lightning/icon/icon.html +1 -1
- package/src/lightning/icon/icon.slds.css +12 -25
- package/src/lightning/input/form-element.slds.css +54 -54
- package/src/lightning/input/input.html +5 -0
- package/src/lightning/inputAddress/addressFormat.js +31 -4
- package/src/lightning/inputAddress/fieldsLayout.js +6 -0
- 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.html +19 -1
- package/src/lightning/inputAddress/inputAddress.js +75 -3
- 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/internationalizationLibrary/address/AddressFormat.js +553 -610
- 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.html +6 -1
- package/src/lightning/lookupAddress/lookupAddress.js +40 -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/modal/__docs__/modal.md +10 -1
- package/src/lightning/modal/__modalUtils__/modalContainerTestConstants.js +3 -7
- package/src/lightning/modal/__modalUtils__/modalContainerTestMethods.js +39 -133
- package/src/lightning/modal/__modalUtils__/modalContainerTestMockData.js +1 -1
- package/src/lightning/modal/modal.js +1 -1
- package/src/lightning/modalBase/modal-base.slds.css +3 -3
- package/src/lightning/modalBase/modalBase.html +15 -10
- package/src/lightning/modalBase/modalBase.js +131 -154
- package/src/lightning/modalBase/modalBase.js-meta.xml +6 -0
- package/src/lightning/modalBody/modal-body.slds.css +1 -2
- package/src/lightning/modalBody/modalBody.css +6 -0
- 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.html +16 -4
- package/src/lightning/modalHeader/modalHeader.js +61 -36
- package/src/lightning/overlay/overlay.js-meta.xml +6 -0
- package/src/lightning/pill/link.html +1 -0
- package/src/lightning/pill/pill.slds.css +32 -58
- package/src/lightning/pill/plain.html +1 -0
- package/src/lightning/pill/plainLink.html +1 -0
- 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 +42 -0
- 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/primitiveDatatableCell/primitiveDatatableCell.js +1 -1
- package/src/lightning/primitiveHeaderActions/primitiveHeaderActions.html +1 -1
- package/src/lightning/primitiveHeaderActions/primitiveHeaderActions.js +13 -0
- package/src/lightning/primitiveHeaderFactory/nonsortableHeader.css +1 -0
- package/src/lightning/primitiveHeaderFactory/nonsortableHeader.html +19 -6
- package/src/lightning/primitiveHeaderFactory/selectableHeader.css +2 -0
- package/src/lightning/primitiveHeaderFactory/sortableHeader.html +3 -1
- 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/primitiveResizeHandler/primitiveResizeHandler.css +11 -0
- package/src/lightning/primitiveResizeHandler/primitiveResizeHandler.html +2 -1
- package/src/lightning/primitiveResizeHandler/primitiveResizeHandler.js +1 -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/base.html +5 -6
- package/src/lightning/progressStep/progressStep.js +15 -23
- package/src/lightning/prompt/__docs__/prompt.md +1 -1
- 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/shadowBaseClassPrivate/shadowBaseClassPrivate.js +0 -2
- package/src/lightning/sldsCommon/sldsCommon.css +134 -98
- package/src/lightning/sldsUtilsAlignment/sldsUtilsAlignment.css +1 -1
- package/src/lightning/sldsUtilsBox/sldsUtilsBox.css +14 -13
- package/src/lightning/sldsUtilsGrid/sldsUtilsGrid.css +95 -92
- package/src/lightning/sldsUtilsHyphenation/sldsUtilsHyphenation.css +1 -1
- package/src/lightning/sldsUtilsMargin/sldsUtilsMargin.css +77 -75
- package/src/lightning/sldsUtilsPadding/sldsUtilsPadding.css +73 -73
- package/src/lightning/sldsUtilsSizing/sldsUtilsSizing.css +552 -558
- package/src/lightning/sldsUtilsVisibility/sldsUtilsVisibility.css +5 -1
- package/src/lightning/spinner/spinner.slds.css +62 -62
- package/src/lightning/staticMap/staticMap.js +3 -2
- package/src/lightning/tab/tab.js +10 -5
- package/src/lightning/tab/tab.js-meta.xml +3 -0
- package/src/lightning/tab/tab.slds.css +14 -7
- package/src/lightning/tabBar/tab-bar.slds.css +16 -6
- package/src/lightning/tabBar/tabBar.js +10 -5
- package/src/lightning/tabset/__docs__/tabset.md +24 -1
- package/src/lightning/tabset/tabset.html +2 -0
- package/src/lightning/tabset/tabset.js +25 -38
- package/src/lightning/tabset/tabset.js-meta.xml +3 -0
- 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 +11 -2
- 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/__docs__/toastContainer.md +3 -2
- package/src/lightning/toastContainer/toast.slds.css +6 -18
- package/src/lightning/toastContainer/toastContainer.js +25 -17
- package/src/lightning/tooltipLibrary/tooltipLibrary.js +36 -24
- 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/verticalNavigation/vertical-navigation.slds.css +14 -0
- package/src/lightning/verticalNavigation/verticalNavigation.css +1 -1
- package/src/lightning/verticalNavigation/verticalNavigation.html +1 -1
- package/src/lightning/verticalNavigation/verticalNavigation.js +66 -28
- package/src/lightning/verticalNavigation/verticalNavigation.js-meta.xml +3 -0
- package/src/lightning/verticalNavigationItem/vertical-navigation-item.slds.css +63 -0
- package/src/lightning/verticalNavigationItem/verticalNavigationItem.css +2 -3
- package/src/lightning/verticalNavigationItem/verticalNavigationItem.js +29 -15
- package/src/lightning/verticalNavigationItem/verticalNavigationItem.js-meta.xml +3 -0
- package/src/lightning/verticalNavigationItem/verticalNavigationItem.lbc.native.css +2 -0
- package/src/lightning/verticalNavigationItem/verticalNavigationItem.lbc.synthetic.css +3 -0
- package/src/lightning/verticalNavigationItemBadge/badge.slds.css +76 -0
- package/src/lightning/verticalNavigationItemBadge/vertical-navigation-item.slds.css +63 -0
- package/src/lightning/verticalNavigationItemBadge/verticalNavigationItemBadge.css +2 -3
- package/src/lightning/verticalNavigationItemBadge/verticalNavigationItemBadge.html +1 -1
- package/src/lightning/verticalNavigationItemBadge/verticalNavigationItemBadge.js +28 -15
- package/src/lightning/verticalNavigationItemBadge/verticalNavigationItemBadge.js-meta.xml +3 -0
- package/src/lightning/verticalNavigationItemBadge/verticalNavigationItemBadge.lbc.native.css +5 -0
- package/src/lightning/verticalNavigationItemBadge/verticalNavigationItemBadge.lbc.synthetic.css +3 -0
- package/src/lightning/verticalNavigationItemIcon/vertical-navigation-item.slds.css +63 -0
- package/src/lightning/verticalNavigationItemIcon/verticalNavigationItemIcon.css +2 -3
- package/src/lightning/verticalNavigationItemIcon/verticalNavigationItemIcon.js +29 -15
- package/src/lightning/verticalNavigationItemIcon/verticalNavigationItemIcon.js-meta.xml +3 -0
- package/src/lightning/verticalNavigationItemIcon/verticalNavigationItemIcon.lbc.native.css +3 -0
- package/src/lightning/verticalNavigationItemIcon/verticalNavigationItemIcon.lbc.synthetic.css +3 -0
- package/src/lightning/verticalNavigationOverflow/button.slds.css +503 -0
- package/src/lightning/verticalNavigationOverflow/vertical-navigation-item.slds.css +63 -0
- package/src/lightning/verticalNavigationOverflow/vertical-navigation-section.slds.css +17 -0
- package/src/lightning/verticalNavigationOverflow/verticalNavigationOverflow.css +2 -1
- package/src/lightning/verticalNavigationOverflow/verticalNavigationOverflow.html +2 -0
- package/src/lightning/verticalNavigationOverflow/verticalNavigationOverflow.js +18 -13
- package/src/lightning/verticalNavigationOverflow/verticalNavigationOverflow.js-meta.xml +3 -0
- package/src/lightning/verticalNavigationOverflow/verticalNavigationOverflow.lbc.native.css +5 -0
- package/src/lightning/verticalNavigationSection/vertical-navigation-section.slds.css +13 -15
- package/src/lightning/verticalNavigationSection/verticalNavigationSection.js-meta.xml +3 -0
- package/src/lightning/datatable/__examples__/customDatatableWrapper/customDatatableWrapper.js +0 -158
- package/src/lightning/datatable/__examples__/customDatatypeDeleteRowBtn/customDatatypeDeleteRowBtn.html +0 -6
- package/src/lightning/datatable/__examples__/customDatatypeLink/customDatatypeLink.html +0 -9
- package/src/lightning/datatable/__examples__/customDatatypeRowOrderingBtn/customDatatypeRowOrderingBtn.js +0 -40
- package/src/lightning/datatable/__examples__/customDatatypeTable/customNumber.html +0 -3
- package/src/lightning/datatable/inlineEditShared.js +0 -26
- package/src/lightning/datatable/resizeSensor.js +0 -244
- package/src/lightning/formattedRichText/linkify.js +0 -43
- package/src/lightning/utilsPrivate/smartSetAttribute.js +0 -19
- /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatableWrapper/customDatatableWrapper.html +0 -0
- /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeLink/customDatatypeLink.js +0 -0
- /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeNumber/customDatatypeNumber.html +0 -0
- /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeNumber/customDatatypeNumber.js +0 -0
- /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeTable/customDatatypeTable.js +0 -0
- /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeTable/customLink.html +0 -0
- /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeTable/customName.html +0 -0
- /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeTable/orderingButtons.html +0 -0
|
@@ -147,7 +147,7 @@ To understand how we implemented SLDS in `lightning-tabset`, see the **Source Co
|
|
|
147
147
|
|
|
148
148
|
#### Usage Considerations
|
|
149
149
|
|
|
150
|
-
When a tabset contains more tabs than
|
|
150
|
+
When a tabset contains more tabs than can fit in the viewport, the tabs that don't fit are moved into a dropdown menu (also known as an overflow) next to the last tab that fits. Note that the active tab always shows and is never moved into the overflow. Truncating the tab label is not supported. When the tab label has more characters than can fit the viewport, the extra characters are not truncated but are hidden from view.
|
|
151
151
|
|
|
152
152
|
You can nest `lightning-tab` within other elements such as `<div>` or `<template>`, for example to render tabs conditionally using `if:true` and `if:false`. Otherwise, you must nest
|
|
153
153
|
`lightning-tab` directly within `lightning-tabset` tags.
|
|
@@ -157,6 +157,29 @@ active tabs content is queryable. In the example, the text `Content of Tab Two`
|
|
|
157
157
|
|
|
158
158
|
This component has usage differences from its Aura counterpart. See [Base Components: Aura Vs Lightning Web Components](https://developer.salesforce.com/docs/platform/lwc/guide/migrate-map-aura-lwc-components) in the Lightning Web Components Developer Guide.
|
|
159
159
|
|
|
160
|
+
#### Accessibility
|
|
161
|
+
|
|
162
|
+
Use the Tab or arrow keys to navigate to the More menu that’s created when the viewport is too narrow to show all the tabs.
|
|
163
|
+
|
|
164
|
+
Several attributes enable accessibility features for a tabset heading.
|
|
165
|
+
|
|
166
|
+
Use `heading-label` to specify custom assistive text for a tabset heading. The value of `heading-label` is rendered as the text content of a `div` element with `role="heading"` and `aria-level="2"`. If you don't specify `heading-label` the default assistive text is "Tabs" in a `div` element with `aria-level="2"`.
|
|
167
|
+
|
|
168
|
+
Use `heading-level` to pass a value between 1 and 6 to the rendered `aria-level` attribute. The default value is 2. This attribute requires you to also specify `heading-label`.
|
|
169
|
+
|
|
170
|
+
Specify `heading-visible` to display the assistive text above the tabset when you specify `heading-label`. By default, this attribute is not present so the assistive text is read by screen readers but isn't displayed. When `heading-visible` is present, the assistive text is read by screen readers and displayed.
|
|
171
|
+
|
|
172
|
+
This example sets custom assistive text for a heading, specifies `heading-level` to change the rendered `aria-level`, and makes the heading visible.
|
|
173
|
+
|
|
174
|
+
```html
|
|
175
|
+
<template>
|
|
176
|
+
<lightning-tabset heading-label="Example tabset" heading-level="3" heading-visible>
|
|
177
|
+
<lightning-tab label="Item One"> One Content! </lightning-tab>
|
|
178
|
+
<lightning-tab label="Item Two"> Two Content! </lightning-tab>
|
|
179
|
+
</lightning-tabset>
|
|
180
|
+
</template>
|
|
181
|
+
```
|
|
182
|
+
|
|
160
183
|
#### Source Code
|
|
161
184
|
|
|
162
185
|
`lightning-tabset` is available in the [Base Components Recipes GitHub repository](https://github.com/salesforce/base-components-recipes#documentation). It's transpiled into the `c` namespace so that you can use it in your own projects.
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
onprivatetablinkregister={handleTabLinkRegister}
|
|
10
10
|
>{headingLabel}</div>
|
|
11
11
|
<lightning-tab-bar
|
|
12
|
+
exportparts="tab-bar, tab-item"
|
|
12
13
|
variant={variant}
|
|
13
14
|
onselect={handleTabSelected}
|
|
14
15
|
aria-labelledby="tabset-heading"
|
|
@@ -17,6 +18,7 @@
|
|
|
17
18
|
</template>
|
|
18
19
|
<template lwc:else>
|
|
19
20
|
<lightning-tab-bar
|
|
21
|
+
exportparts="tab-bar, tab-item"
|
|
20
22
|
variant={variant}
|
|
21
23
|
onselect={handleTabSelected}
|
|
22
24
|
aria-label={defaultAriaLabel}
|
|
@@ -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
|
}
|
|
@@ -420,6 +424,9 @@ export default class LightningTextarea extends LightningShadowBaseClass {
|
|
|
420
424
|
|
|
421
425
|
connectedCallback() {
|
|
422
426
|
super.connectedCallback();
|
|
427
|
+
if (!this.ariaObserver) {
|
|
428
|
+
this.ariaObserver = new AriaObserver(this);
|
|
429
|
+
}
|
|
423
430
|
this.updateHostClassList();
|
|
424
431
|
this._connected = true;
|
|
425
432
|
this.interactingState = new InteractingState();
|
|
@@ -427,7 +434,9 @@ export default class LightningTextarea extends LightningShadowBaseClass {
|
|
|
427
434
|
}
|
|
428
435
|
|
|
429
436
|
renderedCallback() {
|
|
430
|
-
|
|
437
|
+
if (this.isConnected) {
|
|
438
|
+
this.ariaObserver.sync(this._isNativeShadow);
|
|
439
|
+
}
|
|
431
440
|
// IE11: This is needed to work-around IE11 issue where it would append default value to the place holder,
|
|
432
441
|
// instead of actually setting the value on the textarea element.
|
|
433
442
|
if (!this._rendered) {
|
|
@@ -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
|
-
}
|