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
|
@@ -15,8 +15,7 @@
|
|
|
15
15
|
white-space: nowrap !important;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
:host([data-render-mode="shadow"]) [part='backdrop'] {
|
|
18
|
+
:host([data-render-mode="shadow"]) [part='backdrop'] {
|
|
20
19
|
position: absolute;
|
|
21
20
|
inset: 0;
|
|
22
21
|
z-index: 9050;
|
|
@@ -27,86 +26,86 @@
|
|
|
27
26
|
transition-delay: 0s, 0.3s;
|
|
28
27
|
}
|
|
29
28
|
|
|
30
|
-
|
|
29
|
+
/* brand */
|
|
31
30
|
|
|
32
|
-
|
|
31
|
+
:host([data-render-mode="shadow"][variant='brand']) [part='spinner'] {
|
|
33
32
|
--_slds-c-spinner-color-background: var(---slds-g-color-accent-1);
|
|
34
33
|
}
|
|
35
34
|
|
|
36
|
-
|
|
35
|
+
/* inverse */
|
|
37
36
|
|
|
38
|
-
|
|
37
|
+
:host([data-render-mode="shadow"][variant='inverse']) [part='spinner'] {
|
|
39
38
|
--_slds-c-spinner-color-background: var(--slds-g-color-neutral-base-100);
|
|
40
39
|
}
|
|
41
40
|
|
|
42
|
-
|
|
41
|
+
/* large */
|
|
43
42
|
|
|
44
|
-
|
|
43
|
+
:host([data-render-mode="shadow"][size='large']) [part='spinner'] {
|
|
45
44
|
width: 2.75rem;
|
|
46
45
|
}
|
|
47
46
|
|
|
48
|
-
|
|
47
|
+
:host([data-render-mode="shadow"][size='large']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='large']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='large']) [part='dot-b']::before,:host([data-render-mode="shadow"][size='large']) [part='dot-b']::after,:host([data-render-mode="shadow"][size='large']) [part='spinner']::before,:host([data-render-mode="shadow"][size='large']) [part='spinner']::after {
|
|
49
48
|
width: 0.625rem;
|
|
50
49
|
height: 0.625rem;
|
|
51
50
|
}
|
|
52
51
|
|
|
53
|
-
|
|
52
|
+
:host([data-render-mode="shadow"][size='large']) [part='spinner']::before,:host([data-render-mode="shadow"][size='large']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='large']) [part='dot-b']::before {
|
|
54
53
|
top: -0.3125rem;
|
|
55
54
|
left: -0.3125rem;
|
|
56
55
|
animation-name: dotsBounceBefore-medium;
|
|
57
56
|
}
|
|
58
57
|
|
|
59
|
-
|
|
58
|
+
:host([data-render-mode="shadow"][size='large']) [part='spinner']::after,:host([data-render-mode="shadow"][size='large']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='large']) [part='dot-b']::after {
|
|
60
59
|
top: -0.3125rem;
|
|
61
60
|
right: -0.3125rem;
|
|
62
61
|
animation-name: dotsBounceAfter-medium;
|
|
63
62
|
}
|
|
64
63
|
|
|
65
|
-
|
|
64
|
+
/* end size large */
|
|
66
65
|
|
|
67
|
-
|
|
66
|
+
/* medium */
|
|
68
67
|
|
|
69
|
-
|
|
68
|
+
:host([data-render-mode="shadow"][size='medium']) [part='spinner'] {
|
|
70
69
|
width: 2rem;
|
|
71
70
|
}
|
|
72
71
|
|
|
73
|
-
|
|
72
|
+
:host([data-render-mode="shadow"][size='medium']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='medium']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='medium']) [part='dot-b']::before,:host([data-render-mode="shadow"][size='medium']) [part='dot-b']::after,:host([data-render-mode="shadow"][size='medium']) [part='spinner']::before,:host([data-render-mode="shadow"][size='medium']) [part='spinner']::after {
|
|
74
73
|
width: 0.5rem;
|
|
75
74
|
height: 0.5rem;
|
|
76
75
|
}
|
|
77
76
|
|
|
78
|
-
|
|
77
|
+
:host([data-render-mode="shadow"][size='medium']) [part='spinner']::before,:host([data-render-mode="shadow"][size='medium']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='medium']) [part='dot-b']::before {
|
|
79
78
|
top: -0.25rem;
|
|
80
79
|
left: -0.25rem;
|
|
81
80
|
animation-name: dotsBounceBefore-medium;
|
|
82
81
|
}
|
|
83
82
|
|
|
84
|
-
|
|
83
|
+
:host([data-render-mode="shadow"][size='medium']) [part='spinner']::after,:host([data-render-mode="shadow"][size='medium']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='medium']) [part='dot-b']::after {
|
|
85
84
|
top: -0.25rem;
|
|
86
85
|
right: -0.25rem;
|
|
87
86
|
animation-name: dotsBounceAfter-medium;
|
|
88
87
|
}
|
|
89
88
|
|
|
90
|
-
|
|
89
|
+
/* end size medium */
|
|
91
90
|
|
|
92
|
-
|
|
91
|
+
/* small */
|
|
93
92
|
|
|
94
|
-
|
|
93
|
+
:host([data-render-mode="shadow"][size='small']) [part='spinner'] {
|
|
95
94
|
width: 1.25rem;
|
|
96
95
|
}
|
|
97
96
|
|
|
98
|
-
|
|
97
|
+
:host([data-render-mode="shadow"][size='small']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='small']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='small']) [part='dot-b']::before,:host([data-render-mode="shadow"][size='small']) [part='dot-b']::after,:host([data-render-mode="shadow"][size='small']) [part='spinner']::before,:host([data-render-mode="shadow"][size='small']) [part='spinner']::after {
|
|
99
98
|
width: 0.25rem;
|
|
100
99
|
height: 0.25rem;
|
|
101
100
|
}
|
|
102
101
|
|
|
103
|
-
|
|
102
|
+
:host([data-render-mode="shadow"][size='small']) [part='spinner']::before,:host([data-render-mode="shadow"][size='small']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='small']) [part='dot-b']::before {
|
|
104
103
|
top: -0.125rem;
|
|
105
104
|
left: -0.125rem;
|
|
106
105
|
animation-name: dotsBounceBefore-small;
|
|
107
106
|
}
|
|
108
107
|
|
|
109
|
-
|
|
108
|
+
:host([data-render-mode="shadow"][size='small']) [part='spinner']::after,:host([data-render-mode="shadow"][size='small']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='small']) [part='dot-b']::after {
|
|
110
109
|
width: 0.25rem;
|
|
111
110
|
height: 0.25rem;
|
|
112
111
|
top: -0.125rem;
|
|
@@ -114,7 +113,7 @@
|
|
|
114
113
|
animation-name: dotsBounceAfter-small;
|
|
115
114
|
}
|
|
116
115
|
|
|
117
|
-
|
|
116
|
+
@keyframes dotsBounceBefore-small {
|
|
118
117
|
0% {
|
|
119
118
|
transform: translate3d(0, 0, 0);
|
|
120
119
|
}
|
|
@@ -134,7 +133,7 @@
|
|
|
134
133
|
}
|
|
135
134
|
}
|
|
136
135
|
|
|
137
|
-
|
|
136
|
+
@keyframes dotsBounceAfter-small {
|
|
138
137
|
0% {
|
|
139
138
|
transform: translate3d(0, 0, 0);
|
|
140
139
|
}
|
|
@@ -154,32 +153,32 @@
|
|
|
154
153
|
}
|
|
155
154
|
}
|
|
156
155
|
|
|
157
|
-
|
|
156
|
+
/* end size small */
|
|
158
157
|
|
|
159
|
-
|
|
158
|
+
/* x-small */
|
|
160
159
|
|
|
161
|
-
|
|
160
|
+
:host([data-render-mode="shadow"][size='x-small']) [part='spinner'] {
|
|
162
161
|
width: 1rem;
|
|
163
162
|
}
|
|
164
163
|
|
|
165
|
-
|
|
164
|
+
:host([data-render-mode="shadow"][size='x-small']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='x-small']) [part='dot-b']::before,:host([data-render-mode="shadow"][size='x-small']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='x-small']) [part='dot-b']::after,:host([data-render-mode="shadow"][size='x-small']) [part='spinner']::before,:host([data-render-mode="shadow"][size='x-small']) [part='spinner']::after {
|
|
166
165
|
width: 0.25rem;
|
|
167
166
|
height: 0.25rem;
|
|
168
167
|
}
|
|
169
168
|
|
|
170
|
-
|
|
169
|
+
:host([data-render-mode="shadow"][size='x-small']) [part='spinner']::before,:host([data-render-mode="shadow"][size='x-small']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='x-small']) [part='dot-b']::before {
|
|
171
170
|
top: -0.125rem;
|
|
172
171
|
left: -0.125rem;
|
|
173
172
|
animation-name: dotsBounceBefore-extraSmall;
|
|
174
173
|
}
|
|
175
174
|
|
|
176
|
-
|
|
175
|
+
:host([data-render-mode="shadow"][size='x-small']) [part='spinner']::after,:host([data-render-mode="shadow"][size='x-small']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='x-small']) [part='dot-b']::after {
|
|
177
176
|
top: -0.125rem;
|
|
178
177
|
right: -0.125rem;
|
|
179
178
|
animation-name: dotsBounceAfter-extraSmall;
|
|
180
179
|
}
|
|
181
180
|
|
|
182
|
-
|
|
181
|
+
@keyframes dotsBounceBefore-extraSmall {
|
|
183
182
|
0% {
|
|
184
183
|
transform: translate3d(0, 0, 0);
|
|
185
184
|
}
|
|
@@ -199,7 +198,7 @@
|
|
|
199
198
|
}
|
|
200
199
|
}
|
|
201
200
|
|
|
202
|
-
|
|
201
|
+
@keyframes dotsBounceAfter-extraSmall {
|
|
203
202
|
0% {
|
|
204
203
|
transform: translate3d(0, 0, 0);
|
|
205
204
|
}
|
|
@@ -219,32 +218,32 @@
|
|
|
219
218
|
}
|
|
220
219
|
}
|
|
221
220
|
|
|
222
|
-
|
|
221
|
+
/* end size x-small */
|
|
223
222
|
|
|
224
|
-
|
|
223
|
+
/* xx-small */
|
|
225
224
|
|
|
226
|
-
|
|
225
|
+
:host([data-render-mode="shadow"][size='xx-small']) [part='spinner'] {
|
|
227
226
|
width: 0.5rem;
|
|
228
227
|
}
|
|
229
228
|
|
|
230
|
-
|
|
229
|
+
:host([data-render-mode="shadow"][size='xx-small']) [part='spinner']::before,:host([data-render-mode="shadow"][size='xx-small']) [part='spinner']::after,:host([data-render-mode="shadow"][size='xx-small']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='xx-small']) [part='dot-b']::before,:host([data-render-mode="shadow"][size='xx-small']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='xx-small']) [part='dot-b']::after {
|
|
231
230
|
width: 0.125rem;
|
|
232
231
|
height: 0.125rem;
|
|
233
232
|
}
|
|
234
233
|
|
|
235
|
-
|
|
234
|
+
:host([data-render-mode="shadow"][size='xx-small']) [part='spinner']::before,:host([data-render-mode="shadow"][size='xx-small']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='xx-small']) [part='dot-b']::before {
|
|
236
235
|
top: -0.0625rem;
|
|
237
236
|
left: -0.0625rem;
|
|
238
237
|
animation-name: dotsBounceBefore-extraExtraSmall;
|
|
239
238
|
}
|
|
240
239
|
|
|
241
|
-
|
|
240
|
+
:host([data-render-mode="shadow"][size='xx-small']) [part='spinner']::after,:host([data-render-mode="shadow"][size='xx-small']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='xx-small']) [part='dot-b']::after {
|
|
242
241
|
top: -0.0625rem;
|
|
243
242
|
right: -0.0625rem;
|
|
244
243
|
animation-name: dotsBounceAfter-extraExtraSmall;
|
|
245
244
|
}
|
|
246
245
|
|
|
247
|
-
|
|
246
|
+
@keyframes dotsBounceBefore-extraExtraSmall {
|
|
248
247
|
0% {
|
|
249
248
|
transform: translate3d(0, 0, 0);
|
|
250
249
|
}
|
|
@@ -264,7 +263,7 @@
|
|
|
264
263
|
}
|
|
265
264
|
}
|
|
266
265
|
|
|
267
|
-
|
|
266
|
+
@keyframes dotsBounceAfter-extraExtraSmall {
|
|
268
267
|
0% {
|
|
269
268
|
transform: translate3d(0, 0, 0);
|
|
270
269
|
}
|
|
@@ -284,9 +283,9 @@
|
|
|
284
283
|
}
|
|
285
284
|
}
|
|
286
285
|
|
|
287
|
-
|
|
286
|
+
/* end size xx-small */
|
|
288
287
|
|
|
289
|
-
|
|
288
|
+
:host([data-render-mode="shadow"]) [part='spinner'] {
|
|
290
289
|
position: absolute;
|
|
291
290
|
top: 50%;
|
|
292
291
|
width: 2rem;
|
|
@@ -297,15 +296,16 @@
|
|
|
297
296
|
transform: translate(-50%, -50%) rotate(90deg);
|
|
298
297
|
}
|
|
299
298
|
|
|
300
|
-
|
|
299
|
+
:host([data-render-mode="shadow"]) [part='spinner'],:host([data-render-mode="shadow"])
|
|
301
300
|
[part='dot-a'],:host([data-render-mode="shadow"])
|
|
302
301
|
[part='dot-b'] {
|
|
303
302
|
transform-origin: 50% 50%;
|
|
304
303
|
will-change: transform;
|
|
305
304
|
}
|
|
306
305
|
|
|
307
|
-
|
|
308
|
-
|
|
306
|
+
/* creates the circles */
|
|
307
|
+
|
|
308
|
+
:host([data-render-mode="shadow"]) [part='dot-a'],:host([data-render-mode="shadow"])
|
|
309
309
|
[part='dot-b'] {
|
|
310
310
|
position: absolute;
|
|
311
311
|
top: 0;
|
|
@@ -313,8 +313,9 @@
|
|
|
313
313
|
width: 100%;
|
|
314
314
|
}
|
|
315
315
|
|
|
316
|
-
|
|
317
|
-
|
|
316
|
+
/* stylelint-disable no-duplicate-selectors */
|
|
317
|
+
|
|
318
|
+
:host([data-render-mode="shadow"]) [part='spinner']::before,:host([data-render-mode="shadow"])
|
|
318
319
|
[part='spinner']::after,:host([data-render-mode="shadow"])
|
|
319
320
|
[part='dot-a']::before,:host([data-render-mode="shadow"])
|
|
320
321
|
[part='dot-b']::before,:host([data-render-mode="shadow"])
|
|
@@ -329,39 +330,39 @@
|
|
|
329
330
|
transform: translate3d(0, 0, 0);
|
|
330
331
|
}
|
|
331
332
|
|
|
332
|
-
|
|
333
|
+
:host([data-render-mode="shadow"]) [part='dot-a'] {
|
|
333
334
|
transform: rotate(60deg);
|
|
334
335
|
}
|
|
335
336
|
|
|
336
|
-
|
|
337
|
+
:host([data-render-mode="shadow"]) [part='dot-b'] {
|
|
337
338
|
transform: rotate(120deg);
|
|
338
339
|
}
|
|
339
340
|
|
|
340
|
-
|
|
341
|
+
:host([data-render-mode="shadow"]) [part='spinner']::before {
|
|
341
342
|
animation-delay: -83.3333ms;
|
|
342
343
|
}
|
|
343
344
|
|
|
344
|
-
|
|
345
|
+
:host([data-render-mode="shadow"]) [part='dot-a']::before {
|
|
345
346
|
animation-delay: 83.3333ms;
|
|
346
347
|
}
|
|
347
348
|
|
|
348
|
-
|
|
349
|
+
:host([data-render-mode="shadow"]) [part='dot-b']::before {
|
|
349
350
|
animation-delay: 250ms;
|
|
350
351
|
}
|
|
351
352
|
|
|
352
|
-
|
|
353
|
+
:host([data-render-mode="shadow"]) [part='spinner']::after {
|
|
353
354
|
animation-delay: 416.6667ms;
|
|
354
355
|
}
|
|
355
356
|
|
|
356
|
-
|
|
357
|
+
:host([data-render-mode="shadow"]) [part='dot-a']::after {
|
|
357
358
|
animation-delay: 583.3333ms;
|
|
358
359
|
}
|
|
359
360
|
|
|
360
|
-
|
|
361
|
+
:host([data-render-mode="shadow"]) [part='dot-b']::after {
|
|
361
362
|
animation-delay: 750ms;
|
|
362
363
|
}
|
|
363
364
|
|
|
364
|
-
|
|
365
|
+
:host([data-render-mode="shadow"]) [part='spinner']::after,:host([data-render-mode="shadow"])
|
|
365
366
|
[part='spinner']::before,:host([data-render-mode="shadow"])
|
|
366
367
|
[part='dot-a']::after,:host([data-render-mode="shadow"])
|
|
367
368
|
[part='dot-a']::before,:host([data-render-mode="shadow"])
|
|
@@ -371,7 +372,7 @@
|
|
|
371
372
|
height: 0.5rem;
|
|
372
373
|
}
|
|
373
374
|
|
|
374
|
-
|
|
375
|
+
:host([data-render-mode="shadow"]) [part='spinner']::before,:host([data-render-mode="shadow"])
|
|
375
376
|
[part='dot-a']::before,:host([data-render-mode="shadow"])
|
|
376
377
|
[part='dot-b']::before {
|
|
377
378
|
animation-name: dotsBounceBefore-medium;
|
|
@@ -379,7 +380,7 @@
|
|
|
379
380
|
left: -0.25rem;
|
|
380
381
|
}
|
|
381
382
|
|
|
382
|
-
|
|
383
|
+
:host([data-render-mode="shadow"]) [part='spinner']::after,:host([data-render-mode="shadow"])
|
|
383
384
|
[part='dot-a']::after,:host([data-render-mode="shadow"])
|
|
384
385
|
[part='dot-b']::after {
|
|
385
386
|
animation-name: dotsBounceAfter-medium;
|
|
@@ -387,7 +388,7 @@
|
|
|
387
388
|
right: -0.25rem;
|
|
388
389
|
}
|
|
389
390
|
|
|
390
|
-
|
|
391
|
+
@keyframes dotsBounceBefore-medium {
|
|
391
392
|
0% {
|
|
392
393
|
transform: translate3d(0, 0, 0);
|
|
393
394
|
}
|
|
@@ -407,7 +408,7 @@
|
|
|
407
408
|
}
|
|
408
409
|
}
|
|
409
410
|
|
|
410
|
-
|
|
411
|
+
@keyframes dotsBounceAfter-medium {
|
|
411
412
|
0% {
|
|
412
413
|
transform: translate3d(0, 0, 0);
|
|
413
414
|
}
|
|
@@ -426,4 +427,3 @@
|
|
|
426
427
|
transform: translateX(0);
|
|
427
428
|
}
|
|
428
429
|
}
|
|
429
|
-
}
|
package/src/lightning/tab/tab.js
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { api, track } from 'lwc';
|
|
2
2
|
import { normalizeBoolean } from 'lightning/utilsPrivate';
|
|
3
|
+
import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
|
|
3
4
|
/**
|
|
4
5
|
* A single tab in a tabset component.
|
|
5
6
|
* @slot default Placeholder for your content in lightning-tab.
|
|
6
7
|
*/
|
|
7
|
-
export default class LightningTab extends
|
|
8
|
+
export default class LightningTab extends LightningShadowBaseClass {
|
|
8
9
|
@track _loadContent = false;
|
|
9
10
|
_registered = false;
|
|
10
11
|
|
|
11
12
|
connectedCallback() {
|
|
13
|
+
super.connectedCallback();
|
|
12
14
|
this._connected = true;
|
|
13
15
|
if (this.template.synthetic) {
|
|
14
16
|
this.dispatchEvent(
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
|
|
2
|
-
@supports (--styling-hooks: '') {
|
|
3
2
|
/* Reassignments for parity with SLDS blueprint
|
|
4
3
|
https://www.lightningdesignsystem.com/components/tabs/#Styling-Hooks-Overview */
|
|
5
4
|
|
|
6
5
|
|
|
7
6
|
:host([data-render-mode="shadow"].slds-tabs_default__content) {
|
|
8
|
-
|
|
9
|
-
--slds-c-tabs-panel-spacing-
|
|
10
|
-
--slds-c-tabs-panel-spacing-
|
|
11
|
-
--slds-c-tabs-panel-spacing-
|
|
7
|
+
/* stylelint-disable */
|
|
8
|
+
--slds-c-tabs-panel-spacing-blockstart: var(--slds-c-tab-panel-spacing-block-start);
|
|
9
|
+
--slds-c-tabs-panel-spacing-blockend: var(--slds-c-tab-panel-spacing-block-end);
|
|
10
|
+
--slds-c-tabs-panel-spacing-inlineend: var(--slds-c-tab-panel-spacing-inline-end);
|
|
11
|
+
--slds-c-tabs-panel-spacing-inlinestart: var(--slds-c-tab-panel-spacing-inline-start);
|
|
12
|
+
/* stylelint-enable */
|
|
12
13
|
|
|
13
14
|
position: relative;
|
|
14
15
|
padding-block-start: var(--slds-c-tab-panel-spacing-blockstart, var(--slds-g-spacing-3));
|
|
@@ -17,6 +18,7 @@
|
|
|
17
18
|
padding-inline-start: var(--slds-c-tab-panel-spacing-inlinestart, 0);
|
|
18
19
|
}
|
|
19
20
|
|
|
21
|
+
|
|
20
22
|
:host([data-render-mode="shadow"].slds-tabs_scoped__content) {
|
|
21
23
|
background-color: var(--slds-g-color-surface-container-1);
|
|
22
24
|
border: var(--slds-g-sizing-border-1) solid var(--slds-g-color-border-base-4, var(--slds-g-color-border-1));
|
|
@@ -28,20 +30,25 @@
|
|
|
28
30
|
padding: var(--slds-g-spacing-4);
|
|
29
31
|
}
|
|
30
32
|
|
|
33
|
+
|
|
31
34
|
:host([data-render-mode="shadow"].slds-vertical-tabs__content) {
|
|
32
35
|
flex: 1;
|
|
33
36
|
padding: var(--slds-g-spacing-4);
|
|
34
37
|
background: var(--slds-g-color-neutral-base-100, var(--slds-g-color-surface-container-1));
|
|
35
38
|
}
|
|
36
39
|
|
|
40
|
+
|
|
37
41
|
/* TODO W-12674349: Replace with Visibility Utility Classes when available */
|
|
42
|
+
|
|
43
|
+
|
|
38
44
|
:host([data-render-mode="shadow"].slds-show) {
|
|
39
45
|
display: block;
|
|
40
46
|
}
|
|
41
47
|
|
|
48
|
+
|
|
42
49
|
/* TODO W-12674349: Replace with Visibility Utility Classes when available */
|
|
50
|
+
|
|
51
|
+
|
|
43
52
|
:host([data-render-mode="shadow"].slds-hide) {
|
|
44
53
|
display: none !important
|
|
45
54
|
}
|
|
46
|
-
|
|
47
|
-
}
|
|
@@ -2,19 +2,22 @@
|
|
|
2
2
|
/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved
|
|
3
3
|
Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
|
|
4
4
|
|
|
5
|
-
@supports (--styling-hooks: '') {
|
|
6
5
|
/* re-assign current slds hooks using deprecated naming conventions */
|
|
6
|
+
|
|
7
7
|
:host([data-render-mode="shadow"]) {
|
|
8
|
-
|
|
9
|
-
--slds-c-tabs-item-spacing-
|
|
10
|
-
--slds-c-tabs-item-spacing-
|
|
11
|
-
--slds-c-tabs-item-spacing-
|
|
8
|
+
/* stylelint-disable */
|
|
9
|
+
--slds-c-tabs-item-spacing-blockend: var(--slds-c-tabbar-standard-spacing-block-end);
|
|
10
|
+
--slds-c-tabs-item-spacing-blockstart: var(--slds-c-tabbar-standard-spacing-block-start);
|
|
11
|
+
--slds-c-tabs-item-spacing-inlineend: var(--slds-c-tabbar-standard-spacing-inline-end);
|
|
12
|
+
--slds-c-tabs-item-spacing-inlinestart: var(--slds-c-tabbar-standard-spacing-inline-start);
|
|
13
|
+
/* stylelint-enable */
|
|
12
14
|
}
|
|
13
15
|
|
|
14
16
|
/* SHARED TAB BAR STYLING */
|
|
15
17
|
|
|
16
18
|
/* Host reassignments to composed tabs for parity with SLDS blueprint
|
|
17
19
|
https://www.lightningdesignsystem.com/components/tabs/#Styling-Hooks-Overview */
|
|
20
|
+
|
|
18
21
|
:host([data-render-mode="shadow"]) [part='tab-bar'] {
|
|
19
22
|
/* stylelint-disable sds-stylelint-plugin/styling-hooks-pattern */
|
|
20
23
|
--_slds-c-tabbar-standard-font-lineheight: 2.5rem;
|
|
@@ -71,6 +74,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
|
|
|
71
74
|
}
|
|
72
75
|
|
|
73
76
|
/* Overflow styles for horizontal tab variants */
|
|
77
|
+
|
|
74
78
|
:host([data-render-mode="shadow"][variant='standard']) [role='tab'],:host([data-render-mode="shadow"][variant='scoped']) [role='tab'] {
|
|
75
79
|
max-width: 100%;
|
|
76
80
|
overflow: hidden;
|
|
@@ -106,6 +110,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
|
|
|
106
110
|
/* STANDARD TAB BAR STYLING */
|
|
107
111
|
|
|
108
112
|
/* Line under standard tabs */
|
|
113
|
+
|
|
109
114
|
:host([data-render-mode="shadow"][variant='standard']) [part='tab-bar'] {
|
|
110
115
|
border-block-end-width: var(--slds-c-tabbar-standard-sizing-border, var(--slds-g-sizing-border-1));
|
|
111
116
|
border-block-end-style: solid;
|
|
@@ -142,12 +147,14 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
|
|
|
142
147
|
}
|
|
143
148
|
|
|
144
149
|
/* Blue line under active tab */
|
|
150
|
+
|
|
145
151
|
:host([data-render-mode="shadow"][variant='standard']) [part~='tab-item'].slds-is-active::after {
|
|
146
152
|
background-color: var(--slds-c-tabbar-standard-color-border-active, var(--slds-g-color-accent-1));
|
|
147
153
|
height: calc(var(--slds-c-tabbar-standard-sizing-border, var(--slds-g-sizing-border-1)) + 2px);
|
|
148
154
|
}
|
|
149
155
|
|
|
150
156
|
/* Blue line under tab when hovering */
|
|
157
|
+
|
|
151
158
|
:host([data-render-mode="shadow"][variant='standard']) [part~='tab-item']:hover::after,:host([data-render-mode="shadow"][variant='standard']) [part~='tab-item'].slds-is-active:hover::after {
|
|
152
159
|
height: calc(var(--slds-c-tabbar-standard-sizing-border, var(--slds-g-sizing-border-1)) + 1px);
|
|
153
160
|
background-color: var(--slds-c-tabbar-standard-color-border-hover, var(--slds-g-color-accent-1));
|
|
@@ -203,6 +210,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
|
|
|
203
210
|
/* SCOPED TAB HEADER STYLING */
|
|
204
211
|
|
|
205
212
|
/* Covers border under active tab, since background is not transparent */
|
|
213
|
+
|
|
206
214
|
:host([data-render-mode="shadow"][variant='scoped']) [part~='tab-item'] {
|
|
207
215
|
margin-block-end: calc(var(--slds-g-sizing-border-1) * -1);
|
|
208
216
|
color: var(--slds-c-tabbar-scoped-text-color, var(--slds-g-color-on-surface-2));
|
|
@@ -213,6 +221,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
|
|
|
213
221
|
}
|
|
214
222
|
|
|
215
223
|
/* Ensures that borders for tabs overlap */
|
|
224
|
+
|
|
216
225
|
:host([data-render-mode="shadow"][variant='scoped']) [part~='tab-item'] + [part~='tab-item'] {
|
|
217
226
|
margin-inline-start: calc(var(--slds-g-sizing-border-1) * -1);
|
|
218
227
|
}
|
|
@@ -297,6 +306,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
|
|
|
297
306
|
}
|
|
298
307
|
|
|
299
308
|
/* Covers border next to active tab, since background is not transparent */
|
|
309
|
+
|
|
300
310
|
:host([data-render-mode="shadow"][variant='vertical']) [part='tab-item'].slds-is-active {
|
|
301
311
|
margin-inline-end: calc(var(--slds-g-sizing-border-1) * -1);
|
|
302
312
|
background: var(--slds-c-tabbar-vertical-color-background-active, var(--slds-g-color-surface-container-1));
|
|
@@ -323,8 +333,8 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
|
|
|
323
333
|
}
|
|
324
334
|
|
|
325
335
|
/* Active tab should still use active colors on hover */
|
|
336
|
+
|
|
326
337
|
:host([data-render-mode="shadow"][variant='vertical']) .slds-is-active [role='tab']:hover {
|
|
327
338
|
background: var(--slds-c-tabbar-vertical-color-background-active, var(--slds-g-color-surface-container-1));
|
|
328
339
|
color: currentcolor;
|
|
329
340
|
}
|
|
330
|
-
}
|
|
@@ -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.
|