lightning-base-components 1.18.1-alpha → 1.18.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 +9 -0
- package/package.json +57 -1
- package/src/lightning/accordion/__docs__/accordion.md +2 -2
- package/src/lightning/accordion/accordion.css +12 -0
- package/src/lightning/accordion/accordion.html +3 -1
- package/src/lightning/accordion/accordion.js +4 -2
- package/src/lightning/accordion/accordion.slds.css +671 -0
- package/src/lightning/accordionSection/accordion-section.slds.css +647 -0
- package/src/lightning/accordionSection/accordionSection.css +14 -0
- package/src/lightning/accordionSection/accordionSection.html +23 -19
- package/src/lightning/accordionSection/accordionSection.js +29 -2
- package/src/lightning/ariaObserver/__docs__/ariaObserver.md +21 -9
- package/src/lightning/ariaObserver/ariaObserver.js +185 -154
- package/src/lightning/ariaObserver/polyfill.js +639 -0
- package/src/lightning/avatar/__docs__/avatar.md +7 -7
- package/src/lightning/avatar/avatar.css +2 -0
- package/src/lightning/avatar/avatar.html +2 -0
- package/src/lightning/avatar/avatar.js +18 -15
- package/src/lightning/avatar/avatar.slds.css +272 -0
- package/src/lightning/badge/__docs__/badge.md +2 -2
- package/src/lightning/baseCombobox/base-combobox.slds.css +1585 -0
- package/src/lightning/baseCombobox/baseCombobox.css +11 -1
- package/src/lightning/baseCombobox/baseCombobox.html +154 -146
- package/src/lightning/baseCombobox/baseCombobox.js +122 -46
- package/src/lightning/baseCombobox/spinner.slds.css +438 -0
- package/src/lightning/baseComboboxItem/baseComboboxItem.js +4 -2
- package/src/lightning/baseComboboxItem/inline.css +2 -0
- package/src/lightning/breadcrumb/breadcrumb.css +2 -2
- package/src/lightning/breadcrumb/breadcrumb.js +4 -2
- package/src/lightning/breadcrumb/breadcrumb.slds.css +2 -7
- package/src/lightning/breadcrumbs/__docs__/breadcrumbs.md +3 -3
- package/src/lightning/breadcrumbs/breadcrumbs.css +2 -2
- package/src/lightning/breadcrumbs/breadcrumbs.js +3 -2
- package/src/lightning/breadcrumbs/breadcrumbs.slds.css +7 -1
- package/src/lightning/button/__docs__/button.md +15 -15
- package/src/lightning/button/__examples__/inverse/inverse.css +8 -0
- package/src/lightning/button/__examples__/inverse/inverse.html +3 -2
- package/src/lightning/button/button.css +2 -0
- package/src/lightning/button/button.html +4 -2
- package/src/lightning/button/button.js +21 -0
- package/src/lightning/button/button.slds.css +527 -0
- package/src/lightning/buttonGroup/buttonGroup.css +2 -2
- package/src/lightning/buttonGroup/buttonGroup.js +3 -2
- package/src/lightning/buttonIcon/__docs__/buttonIcon.md +9 -9
- package/src/lightning/buttonIcon/button-icon.slds.css +215 -453
- package/src/lightning/buttonIcon/buttonIcon.css +2 -2
- package/src/lightning/buttonIcon/buttonIcon.js +4 -0
- package/src/lightning/buttonIconStateful/__docs__/buttonIconStateful.md +9 -9
- package/src/lightning/buttonIconStateful/button-icon-stateful.slds.css +215 -453
- package/src/lightning/buttonIconStateful/buttonIconStateful.css +2 -2
- package/src/lightning/buttonMenu/__docs__/buttonMenu.md +8 -8
- package/src/lightning/buttonMenu/{dropdown.slds.css → button-menu.slds.css} +853 -217
- package/src/lightning/buttonMenu/buttonMenu.css +2 -2
- package/src/lightning/buttonMenu/buttonMenu.html +2 -2
- package/src/lightning/buttonMenu/buttonMenu.js +10 -14
- package/src/lightning/buttonStateful/__docs__/buttonStateful.md +12 -12
- package/src/lightning/buttonStateful/button-stateful.slds.css +225 -457
- package/src/lightning/buttonStateful/buttonStateful.css +2 -2
- package/src/lightning/buttonStateful/buttonStateful.js +3 -2
- package/src/lightning/calendar/__examples__/basic/basic.html +7 -0
- package/src/lightning/calendar/__examples__/basic/basic.js +3 -0
- package/src/lightning/calendar/calendar.css +3 -0
- package/src/lightning/calendar/calendar.html +12 -9
- package/src/lightning/calendar/calendar.js +18 -2
- package/src/lightning/calendar/calendar.slds.css +2048 -0
- package/src/lightning/card/__docs__/card.md +3 -3
- package/src/lightning/card/card.css +2 -2
- package/src/lightning/card/card.js +3 -2
- package/src/lightning/card/card.slds.css +141 -88
- package/src/lightning/checkboxGroup/__docs__/checkboxGroup.md +2 -2
- package/src/lightning/colorPickerCustom/colorPickerCustom.css +2 -2
- package/src/lightning/colorPickerCustom/colorPickerCustom.js +3 -2
- package/src/lightning/colorPickerPanel/color-picker-panel.slds.css +11 -38
- package/src/lightning/colorPickerPanel/colorPickerPanel.css +3 -2
- package/src/lightning/colorPickerPanel/colorPickerPanel.js +4 -2
- package/src/lightning/colorPickerPanel/popover.slds.css +121 -0
- package/src/lightning/combobox/combobox.css +4 -0
- package/src/lightning/combobox/combobox.html +31 -29
- package/src/lightning/combobox/combobox.js +21 -4
- package/src/lightning/combobox/combobox.slds.css +13 -0
- package/src/lightning/combobox/form-element.slds.css +281 -0
- package/src/lightning/configProvider/defaultConfig.js +2 -1
- package/src/lightning/datatable/__docs__/datatable.md +45 -35
- package/src/lightning/datatable/autoWidthStrategy.js +3 -0
- package/src/lightning/datatable/columnWidthManager.js +1 -1
- package/src/lightning/datatable/datatable.js +8 -7
- package/src/lightning/datatable/rowSelection.js +7 -4
- package/src/lightning/datatable/templates/table/table.html +1 -0
- package/src/lightning/datepicker/datepicker.css +3 -0
- package/src/lightning/datepicker/datepicker.html +7 -4
- package/src/lightning/datepicker/datepicker.js +76 -20
- package/src/lightning/datepicker/form-element.slds.css +281 -0
- package/src/lightning/datepicker/input-text.slds.css +398 -0
- package/src/lightning/datetimepicker/datetimepicker.css +3 -0
- package/src/lightning/datetimepicker/datetimepicker.html +9 -3
- package/src/lightning/datetimepicker/datetimepicker.js +42 -36
- package/src/lightning/datetimepicker/form-element.slds.css +281 -0
- package/src/lightning/datetimepicker/input-text.slds.css +398 -0
- package/src/lightning/dualListbox/dualListbox.css +2 -2
- package/src/lightning/dualListbox/dualListbox.html +3 -3
- package/src/lightning/dualListbox/dualListbox.js +47 -13
- package/src/lightning/dualListbox/form-element.slds.css +83 -34
- package/src/lightning/dualListbox/keyboard.js +20 -1
- package/src/lightning/dynamicIcon/dynamicIcon.js +3 -2
- package/src/lightning/dynamicIcon/ellie.css +1 -1
- package/src/lightning/dynamicIcon/eq.css +1 -1
- package/src/lightning/dynamicIcon/score.css +1 -1
- package/src/lightning/dynamicIcon/strength.css +1 -1
- package/src/lightning/dynamicIcon/trend.css +1 -1
- package/src/lightning/dynamicIcon/waffle.css +1 -1
- package/src/lightning/formattedRichText/formatted-rich-text.slds.css +230 -0
- package/src/lightning/formattedRichText/formattedRichText.css +2 -0
- package/src/lightning/formattedRichText/formattedRichText.js +4 -2
- package/src/lightning/formattedRichText/linkify.js +2 -2
- package/src/lightning/formattedText/formattedText.css +1 -0
- package/src/lightning/formattedText/formattedText.js +3 -2
- package/src/lightning/helptext/__docs__/helptext.md +2 -2
- package/src/lightning/helptext/form-element.slds.css +83 -34
- package/src/lightning/helptext/help-text.slds.css +215 -453
- package/src/lightning/helptext/helptext.css +2 -2
- package/src/lightning/helptext/helptext.js +3 -2
- package/src/lightning/i18nCldrOptions/README.md +5 -0
- package/src/lightning/i18nService/README.md +5 -0
- package/src/lightning/icon/__docs__/icon.md +5 -5
- package/src/lightning/icon/icon.css +2 -2
- package/src/lightning/icon/icon.js +21 -2
- package/src/lightning/icon/icon.slds.css +29 -17
- package/src/lightning/icon/iconColors.js +1 -0
- package/src/lightning/iconUtils/iconUtils.js +0 -12
- package/src/lightning/iconUtils/polyfill.js +5 -90
- package/src/lightning/input/__docs__/input.md +7 -7
- package/src/lightning/input/__examples__/checkboxbutton/checkboxbutton.css +6 -0
- package/src/lightning/input/__examples__/checkboxbutton/checkboxbutton.html +2 -1
- package/src/lightning/input/__examples__/checkboxbutton/checkboxbutton.js +1 -1
- package/src/lightning/input/__examples__/number/number.html +0 -5
- package/src/lightning/input/__examples__/text/text.html +0 -1
- package/src/lightning/input/form-element.slds.css +281 -0
- package/src/lightning/input/input.css +2 -3
- package/src/lightning/input/input.html +154 -244
- package/src/lightning/input/input.js +306 -595
- package/src/lightning/inputAddress/__docs__/inputAddress.md +3 -3
- package/src/lightning/inputUtils/inputUtils.js +15 -20
- package/src/lightning/inputUtils/normalize.js +7 -0
- package/src/lightning/{input/numberUtil.js → inputUtils/number.js} +1 -1
- package/src/lightning/inputUtils/utils.js +18 -0
- package/src/lightning/internationalizationLibrary/README.md +24 -0
- package/src/lightning/internationalizationLibrary/utils.js +4 -1
- package/src/lightning/layout/__docs__/layout.md +1 -1
- package/src/lightning/layout/__examples__/simple/simple.css +1 -1
- package/src/lightning/layout/layout.css +5 -1
- package/src/lightning/layout/layout.js +4 -2
- package/src/lightning/layoutItem/__examples__/alignmentBump/alignmentBump.css +1 -1
- package/src/lightning/layoutItem/__examples__/sizePerDevice/sizePerDevice.css +0 -1
- package/src/lightning/layoutItem/layoutItem.css +5 -0
- package/src/lightning/layoutItem/layoutItem.js +4 -2
- package/src/lightning/menuDivider/menu-divider.slds.css +15 -0
- package/src/lightning/menuDivider/menuDivider.css +3 -0
- package/src/lightning/menuDivider/menuDivider.html +1 -1
- package/src/lightning/menuDivider/menuDivider.js +4 -2
- package/src/lightning/menuItem/menu-item.slds.css +140 -0
- package/src/lightning/menuItem/menuItem.css +3 -0
- package/src/lightning/menuItem/menuItem.html +43 -41
- package/src/lightning/menuItem/menuItem.js +4 -4
- package/src/lightning/menuSubheader/menu-subheader.slds.css +22 -0
- package/src/lightning/menuSubheader/menuSubheader.css +3 -0
- package/src/lightning/menuSubheader/menuSubheader.html +3 -1
- package/src/lightning/menuSubheader/menuSubheader.js +4 -6
- package/src/lightning/modal/__docs__/modal.md +3 -1
- package/src/lightning/modal/__modalUtils__/modalContainerTestConstants.js +267 -0
- package/src/lightning/modal/__modalUtils__/modalContainerTestMethods.js +1165 -0
- package/src/lightning/modal/__modalUtils__/modalContainerTestMockData.js +131 -0
- package/src/lightning/modal/modal.js +1 -1
- package/src/lightning/modalBody/__docs__/modalBody.md +9 -9
- package/src/lightning/modalFooter/__docs__/modalFooter.md +9 -9
- package/src/lightning/modalHeader/__docs__/modalHeader.md +9 -9
- package/src/lightning/overlayContainer/overlayContainer.js +4 -2
- package/src/lightning/pill/__docs__/pill.md +3 -3
- package/src/lightning/pill/avatar.slds.css +272 -0
- package/src/lightning/pill/link.css +3 -0
- package/src/lightning/pill/link.html +1 -1
- package/src/lightning/pill/pill.js +29 -9
- package/src/lightning/pill/pill.slds.css +168 -0
- package/src/lightning/pill/plain.css +3 -0
- package/src/lightning/pill/plain.html +1 -1
- package/src/lightning/pill/plainLink.css +3 -0
- package/src/lightning/pill/plainLink.html +1 -1
- package/src/lightning/pillContainer/__docs__/pillContainer.md +14 -14
- package/src/lightning/pillContainer/barePillContainer.css +3 -0
- package/src/lightning/pillContainer/barePillContainer.html +1 -2
- package/src/lightning/pillContainer/listbox.slds.css +267 -0
- package/src/lightning/pillContainer/pill-container.slds.css +22 -0
- package/src/lightning/pillContainer/pill.slds.css +168 -0
- package/src/lightning/pillContainer/pillContainer.js +7 -3
- package/src/lightning/pillContainer/standardPillContainer.css +4 -0
- package/src/lightning/pillContainer/standardPillContainer.html +2 -2
- package/src/lightning/popup/popover.slds.css +119 -119
- package/src/lightning/popup/popup.css +1 -2
- package/src/lightning/popup/popup.js +3 -2
- package/src/lightning/positionLibrary/elementProxy.js +7 -2
- package/src/lightning/positionLibrary/util.js +8 -0
- package/src/lightning/primitiveBubble/primitiveBubble.css +2 -2
- package/src/lightning/primitiveBubble/primitiveBubble.js +4 -2
- package/src/lightning/primitiveButton/primitiveButton.js +5 -4
- package/src/lightning/primitiveCellFactory/cellWithStandardLayout.html +29 -21
- package/src/lightning/primitiveCellFactory/primitiveCellFactory.js +4 -0
- package/src/lightning/primitiveColorpickerButton/color-picker-button.slds.css +31 -19
- package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.css +2 -2
- package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.js +5 -3
- package/src/lightning/primitiveIcon/icon.slds.css +209 -0
- package/src/lightning/primitiveIcon/primitiveIcon.css +2 -1
- package/src/lightning/primitiveIcon/primitiveIcon.html +1 -1
- package/src/lightning/primitiveIcon/primitiveIcon.js +26 -16
- package/src/lightning/progressStep/progressStep.js +10 -13
- package/src/lightning/radioGroup/__docs__/radioGroup.md +4 -4
- package/src/lightning/radioGroup/radioGroup.css +2 -1
- package/src/lightning/radioGroup/radioGroup.js +4 -2
- package/src/lightning/select/__docs__/select.md +2 -2
- package/src/lightning/select/form-element.slds.css +83 -34
- package/src/lightning/select/select.css +2 -2
- package/src/lightning/select/select.js +4 -2
- package/src/lightning/select/select.slds.css +86 -34
- package/src/lightning/shadowBaseClassPrivate/shadowBaseClassPrivate.js +1 -1
- package/src/lightning/sldsCommon/sldsCommon.css +251 -89
- package/src/lightning/sldsUtilsAlignment/sldsUtilsAlignment.css +10 -0
- package/src/lightning/sldsUtilsAlignment/sldsUtilsAlignment.js-meta.xml +4 -0
- package/src/lightning/sldsUtilsBorders/sldsUtilsBorders.css +18 -0
- package/src/lightning/sldsUtilsBorders/sldsUtilsBorders.js-meta.xml +4 -0
- package/src/lightning/sldsUtilsBox/sldsUtilsBox.css +24 -0
- package/src/lightning/sldsUtilsBox/sldsUtilsBox.js-meta.xml +4 -0
- package/src/lightning/sldsUtilsFloats/sldsUtilsFloats.css +20 -0
- package/src/lightning/sldsUtilsFloats/sldsUtilsFloats.js-meta.xml +4 -0
- package/src/lightning/sldsUtilsGrid/sldsUtilsGrid.css +259 -0
- package/src/lightning/sldsUtilsGrid/sldsUtilsGrid.js-meta.xml +4 -0
- package/src/lightning/sldsUtilsHyphenation/sldsUtilsHyphenation.css +8 -0
- package/src/lightning/sldsUtilsHyphenation/sldsUtilsHyphenation.js-meta.xml +4 -0
- package/src/lightning/sldsUtilsLineClamp/sldsUtilsLineClamp.css +57 -0
- package/src/lightning/sldsUtilsLineClamp/sldsUtilsLineClamp.js-meta.xml +4 -0
- package/src/lightning/sldsUtilsMargin/sldsUtilsMargin.css +313 -0
- package/src/lightning/sldsUtilsMargin/sldsUtilsMargin.js-meta.xml +4 -0
- package/src/lightning/sldsUtilsPadding/sldsUtilsPadding.css +308 -0
- package/src/lightning/sldsUtilsPadding/sldsUtilsPadding.js-meta.xml +4 -0
- package/src/lightning/sldsUtilsPosition/sldsUtilsPosition.css +18 -0
- package/src/lightning/sldsUtilsPosition/sldsUtilsPosition.js-meta.xml +4 -0
- package/src/lightning/sldsUtilsSizing/sldsUtilsSizing.css +1408 -0
- package/src/lightning/sldsUtilsSizing/sldsUtilsSizing.js-meta.xml +4 -0
- package/src/lightning/sldsUtilsThemes/sldsUtilsThemes.css +295 -0
- package/src/lightning/sldsUtilsThemes/sldsUtilsThemes.js-meta.xml +4 -0
- package/src/lightning/sldsUtilsTruncation/sldsUtilsTruncation.css +14 -0
- package/src/lightning/sldsUtilsTruncation/sldsUtilsTruncation.js-meta.xml +4 -0
- package/src/lightning/slider/__docs__/slider.md +2 -2
- package/src/lightning/spinner/spinner.css +2 -2
- package/src/lightning/spinner/spinner.js +4 -2
- package/src/lightning/tabBar/tab-bar.slds.css +334 -0
- package/src/lightning/tabBar/tabBar.css +2 -0
- package/src/lightning/tabBar/tabBar.html +4 -3
- package/src/lightning/tabBar/tabBar.js +30 -3
- package/src/lightning/tabset/__docs__/tabset.md +2 -2
- package/src/lightning/tabset/tabset.html +5 -4
- package/src/lightning/tabset/tabset.js +29 -11
- package/src/lightning/textarea/__docs__/textarea.md +2 -2
- package/src/lightning/timepicker/form-element.slds.css +281 -0
- package/src/lightning/timepicker/timepicker.css +3 -0
- package/src/lightning/timepicker/timepicker.html +5 -1
- package/src/lightning/timepicker/timepicker.js +22 -17
- package/src/lightning/timepicker/timepicker.slds.css +18 -0
- package/src/lightning/toast/toast.js-meta.xml +2 -0
- package/src/lightning/toastContainer/__docs__/toastContainer.md +14 -34
- package/src/lightning/toastContainer/toastContainer.js +10 -15
- package/src/lightning/tooltipLibrary/tooltipLibrary.js +32 -23
- package/src/lightning/utilsPrivate/browser.js +5 -3
- package/src/lightning/utilsPrivate/os.js +6 -4
- package/src/lightning/utilsPrivate/ssr.js +4 -0
- package/src/lightning/utilsPrivate/utilsPrivate.js +2 -0
- package/src/lightning/verticalNavigation/verticalNavigation.css +2 -1
- package/src/lightning/verticalNavigation/verticalNavigation.js +3 -2
- package/src/lightning/verticalNavigationSection/verticalNavigationSection.css +2 -1
- package/src/lightning/verticalNavigationSection/verticalNavigationSection.js +3 -2
- package/src/lightning/accordion/__perf__DISABLED/accordion-perf-utils.js +0 -76
- package/src/lightning/accordion/__perf__DISABLED/accordion10Multiple25SectionEach.perf.js +0 -57
- package/src/lightning/accordion/__perf__DISABLED/accordion10Simple25SectionEach.perf.js +0 -37
- package/src/lightning/accordion/__perf__DISABLED/accordionMultiple50Section.perf.js +0 -45
- package/src/lightning/accordion/__perf__DISABLED/accordionSimple50Section.perf.js +0 -35
- package/src/lightning/accordion/__perf__DISABLED/container/container.html +0 -15
- package/src/lightning/accordion/__perf__DISABLED/container/container.js +0 -7
- package/src/lightning/iconUtils/isIframeInEdge.js +0 -7
- package/src/lightning/iconUtils/supportsSvg.js +0 -16
- package/src/lightning/input/input-checkbox.slds.css +0 -404
- package/src/lightning/input/input-text.slds.css +0 -287
- package/src/lightning/input/normalize.js +0 -6
- package/src/lightning/input/selection.js +0 -131
- package/src/lightning/positionLibrary/__component__/positionLibraryBounding.spec.js +0 -319
- package/src/lightning/positionLibrary/__component__/x/bounding/bounding.css +0 -16
- package/src/lightning/positionLibrary/__component__/x/bounding/bounding.html +0 -36
- package/src/lightning/positionLibrary/__component__/x/bounding/bounding.js +0 -122
- /package/src/lightning/{baseCombobox → baseComboboxItem}/listbox.slds.css +0 -0
- /package/src/lightning/formattedRichText/{__examples__disabled → __examples__}/basic/basic.html +0 -0
- /package/src/lightning/formattedRichText/{__examples__disabled → __examples__}/basic/basic.js +0 -0
- /package/src/lightning/{input/emailUtil.js → inputUtils/email.js} +0 -0
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export const
|
|
1
|
+
import { isCSR } from './ssr';
|
|
2
|
+
|
|
3
|
+
export const isIE11 = isCSR && isIE11Test(navigator);
|
|
4
|
+
export const isChrome = isCSR && isChromeTest(navigator);
|
|
5
|
+
export const isSafari = isCSR && isSafariTest(navigator);
|
|
4
6
|
|
|
5
7
|
// The following functions are for tests only
|
|
6
8
|
export function isIE11Test(navigator) {
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { isCSR } from './ssr';
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* Verify if user is using MAC OS or not
|
|
3
5
|
* @returns {boolean} - true if Mac OS
|
|
@@ -30,7 +32,7 @@ export const isAndroidOSTest = ({ userAgent }) => {
|
|
|
30
32
|
return /android/i.test(userAgent);
|
|
31
33
|
};
|
|
32
34
|
|
|
33
|
-
export const isMacOS = isMacOSTest(navigator);
|
|
34
|
-
export const isWindowsOS = isWindowsOSTest(navigator);
|
|
35
|
-
export const isiOS = isiOSTest(navigator);
|
|
36
|
-
export const isAndroidOS = isAndroidOSTest(navigator);
|
|
35
|
+
export const isMacOS = isCSR && isMacOSTest(navigator);
|
|
36
|
+
export const isWindowsOS = isCSR && isWindowsOSTest(navigator);
|
|
37
|
+
export const isiOS = isCSR && isiOSTest(navigator);
|
|
38
|
+
export const isAndroidOS = isCSR && isAndroidOSTest(navigator);
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
@import 'lightning/sldsCommon';
|
|
2
|
+
@import './vertical-navigation.slds.css';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { api, track } from 'lwc';
|
|
2
|
+
import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
|
|
2
3
|
import { classSet } from 'lightning/utils';
|
|
3
4
|
import {
|
|
4
5
|
assert,
|
|
@@ -17,7 +18,7 @@ const ALLOWED_CHILDREN = [
|
|
|
17
18
|
* A vertical list of links that either take the user to another page or parts of the page the user is in.
|
|
18
19
|
* @slot default Placeholder for lightning-vertical-navigation-section and lightning-vertical-navigation-overflow.
|
|
19
20
|
*/
|
|
20
|
-
export default class LightningVerticalNavigation extends
|
|
21
|
+
export default class LightningVerticalNavigation extends LightningShadowBaseClass {
|
|
21
22
|
@track _compact;
|
|
22
23
|
@track _shaded;
|
|
23
24
|
@track _selectedItem;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { api, track } from 'lwc';
|
|
2
|
+
import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
|
|
2
3
|
import { guid, isHeadingLevelValid } from 'lightning/utilsPrivate';
|
|
3
4
|
|
|
4
|
-
export default class LightningVerticalNavigationSection extends
|
|
5
|
+
export default class LightningVerticalNavigationSection extends LightningShadowBaseClass {
|
|
5
6
|
headingId = guid();
|
|
6
7
|
|
|
7
8
|
@track _label;
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generates N Sections belonging to the ownerAccordionId.
|
|
3
|
-
*
|
|
4
|
-
* @param {Integer} n - The number of sections to generate
|
|
5
|
-
* @param {String} ownerAccordionId - The owner accordion of these sections (the section name will be prefixed with it)
|
|
6
|
-
* @return {Array} The generated sections.
|
|
7
|
-
*/
|
|
8
|
-
export function generateSections(n, ownerAccordionId) {
|
|
9
|
-
const result = [];
|
|
10
|
-
|
|
11
|
-
for (let i = 0; i < n; i++) {
|
|
12
|
-
result.push({
|
|
13
|
-
name: `${ownerAccordionId}-section-${i}`,
|
|
14
|
-
label: `${ownerAccordionId}-label-for-section-${i}`,
|
|
15
|
-
content: `${ownerAccordionId}-content-${i} Content paragraph`,
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
return result;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Gets an array of section names belonging to ownerAccordionId accordion.
|
|
24
|
-
*
|
|
25
|
-
* @param {String} ownerAccordionId - the owner accordion id.
|
|
26
|
-
* @param {Integer} firstSectionId - Start getting names from $firstSectionId section.
|
|
27
|
-
* @param {Integer} sectionIdIncrement - The gap between sections (sectionIdIncrement - 1)
|
|
28
|
-
* @param {Integer} maxSectionId - The max sectionId that is allowed to be returned
|
|
29
|
-
* @return {Array} The sections names satisfying the above constrains.
|
|
30
|
-
*/
|
|
31
|
-
export function getSectionNames({
|
|
32
|
-
ownerAccordionId,
|
|
33
|
-
firstSectionId,
|
|
34
|
-
sectionIdIncrement,
|
|
35
|
-
maxSectionId,
|
|
36
|
-
}) {
|
|
37
|
-
const result = [];
|
|
38
|
-
|
|
39
|
-
for (let i = firstSectionId; i < maxSectionId; i += sectionIdIncrement) {
|
|
40
|
-
result.push(`${ownerAccordionId}-section-${i}`);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return result;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Generates N accordions data. Each one with the following:
|
|
48
|
-
* - activeSectionName: For accordion i, the open section is i. Ex: acc-2 has open the section 2 (acc-2-section-2)
|
|
49
|
-
* - sections: An array of sections containing nSections.
|
|
50
|
-
* - allowMultipleSectionsOpen: true or false according allowMultipleSectionsOpen.
|
|
51
|
-
*
|
|
52
|
-
* @param {Integer} numberOfAccordions - number of accordions to generate (0..N-1)
|
|
53
|
-
* @param {Integer} numberOfSectionsPerAccordion - number of sections to generate for each accordion.
|
|
54
|
-
* @param {Boolean} [allowMultipleSectionsOpen=false] - whether or not the accordions allow multiple sections open at one time.
|
|
55
|
-
* @return {Array} - The generated accordions.
|
|
56
|
-
*/
|
|
57
|
-
export function generateAccordions({
|
|
58
|
-
numberOfAccordions,
|
|
59
|
-
numberOfSectionsPerAccordion,
|
|
60
|
-
allowMultipleSectionsOpen = false,
|
|
61
|
-
}) {
|
|
62
|
-
const results = [];
|
|
63
|
-
|
|
64
|
-
for (let i = 0; i < numberOfAccordions; i++) {
|
|
65
|
-
results.push({
|
|
66
|
-
activeSectionName: `acc-${i}-section-${i}`,
|
|
67
|
-
allowMultipleSectionsOpen,
|
|
68
|
-
sections: generateSections(
|
|
69
|
-
numberOfSectionsPerAccordion,
|
|
70
|
-
'acc-' + i
|
|
71
|
-
),
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
return results;
|
|
76
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { measure, main } from '../../../perf';
|
|
2
|
-
import { createElement } from 'lwc';
|
|
3
|
-
import PerfAccordionContainer from './container/container';
|
|
4
|
-
import { generateAccordions, getSectionNames } from './accordion-perf-utils';
|
|
5
|
-
|
|
6
|
-
const measureName = 'accordion-10-multiple-25-sections-each';
|
|
7
|
-
|
|
8
|
-
// eslint-disable-next-line no-undef
|
|
9
|
-
measure(measureName, 10, benchmark, run, (tag, run) => {
|
|
10
|
-
const elements = [];
|
|
11
|
-
const accordions = generateAccordions({
|
|
12
|
-
numberOfAccordions: 10,
|
|
13
|
-
numberOfSectionsPerAccordion: 25,
|
|
14
|
-
allowMultipleSectionsOpen: true,
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
// we need to rewrite the open sections
|
|
18
|
-
for (let i = 0, n = accordions.length; i < n; i++) {
|
|
19
|
-
accordions[i].activeSectionName = getSectionNames({
|
|
20
|
-
ownerAccordionId: 'acc-' + i,
|
|
21
|
-
firstSectionId: 0,
|
|
22
|
-
sectionIdIncrement: 2,
|
|
23
|
-
maxSectionId: 25,
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
// lets store the new values for sections in the update
|
|
28
|
-
const openUpdates = [];
|
|
29
|
-
|
|
30
|
-
for (let i = 0, n = accordions.length; i < n; i++) {
|
|
31
|
-
openUpdates[i] = getSectionNames({
|
|
32
|
-
ownerAccordionId: 'acc-' + i,
|
|
33
|
-
firstSectionId: 1,
|
|
34
|
-
sectionIdIncrement: 2,
|
|
35
|
-
maxSectionId: 25,
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
run('create', (i) => {
|
|
40
|
-
const element = createElement(tag, { is: PerfAccordionContainer });
|
|
41
|
-
Object.assign(element, accordions[i]);
|
|
42
|
-
|
|
43
|
-
elements[i] = element;
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
run('append', (i) => {
|
|
47
|
-
main.appendChild(elements[i]);
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
run('update - open a section', (i) => {
|
|
51
|
-
elements[i].activeSectionName = openUpdates[i];
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
run('remove', (i) => {
|
|
55
|
-
main.removeChild(elements[i]);
|
|
56
|
-
});
|
|
57
|
-
});
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { measure, main } from '../../../perf';
|
|
2
|
-
import { createElement } from 'lwc';
|
|
3
|
-
import PerfAccordionContainer from './container/container';
|
|
4
|
-
import { generateAccordions } from './accordion-perf-utils';
|
|
5
|
-
|
|
6
|
-
const measureName = 'accordion-10-single-25-sections-each';
|
|
7
|
-
|
|
8
|
-
// eslint-disable-next-line no-undef
|
|
9
|
-
measure(measureName, 10, benchmark, run, (tag, run) => {
|
|
10
|
-
const elements = [];
|
|
11
|
-
const accordions = generateAccordions({
|
|
12
|
-
numberOfAccordions: 10,
|
|
13
|
-
numberOfSectionsPerAccordion: 25,
|
|
14
|
-
allowMultipleSectionsOpen: false,
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
run('create', (i) => {
|
|
18
|
-
const element = createElement(tag, { is: PerfAccordionContainer });
|
|
19
|
-
Object.assign(element, accordions[i]);
|
|
20
|
-
|
|
21
|
-
elements[i] = element;
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
run('append', (i) => {
|
|
25
|
-
main.appendChild(elements[i]);
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
run('update - open a section', (i) => {
|
|
29
|
-
// section 20 is always closed given that in the accordion i the open section is i,
|
|
30
|
-
// and we only have 10 accordions with 25 sections each
|
|
31
|
-
elements[i].activeSectionName = 'acc-' + i + '-section-20';
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
run('remove', (i) => {
|
|
35
|
-
main.removeChild(elements[i]);
|
|
36
|
-
});
|
|
37
|
-
});
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { measure, main } from '../../../perf';
|
|
2
|
-
import { createElement } from 'lwc';
|
|
3
|
-
import PerfAccordionContainer from './container/container';
|
|
4
|
-
import { generateSections, getSectionNames } from './accordion-perf-utils';
|
|
5
|
-
|
|
6
|
-
const measureName = 'accordion-1-multipleSection-50-sections';
|
|
7
|
-
|
|
8
|
-
// eslint-disable-next-line no-undef
|
|
9
|
-
measure(measureName, 1, benchmark, run, (tag, run) => {
|
|
10
|
-
const elements = [];
|
|
11
|
-
const accordion = {
|
|
12
|
-
activeSectionName: getSectionNames({
|
|
13
|
-
ownerAccordionId: 'acc-1',
|
|
14
|
-
firstSectionId: 0,
|
|
15
|
-
sectionIdIncrement: 2,
|
|
16
|
-
maxSectionId: 50,
|
|
17
|
-
}),
|
|
18
|
-
allowMultipleSectionsOpen: true,
|
|
19
|
-
sections: generateSections(50, 'acc-1'),
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
run('create', (i) => {
|
|
23
|
-
const element = createElement(tag, { is: PerfAccordionContainer });
|
|
24
|
-
Object.assign(element, accordion);
|
|
25
|
-
|
|
26
|
-
elements[i] = element;
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
run('append', (i) => {
|
|
30
|
-
main.appendChild(elements[i]);
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
run('update - open/close a section', (i) => {
|
|
34
|
-
elements[i].activeSectionName = getSectionNames({
|
|
35
|
-
ownerAccordionId: 'acc-1',
|
|
36
|
-
firstSectionId: 1,
|
|
37
|
-
sectionIdIncrement: 2,
|
|
38
|
-
maxSectionId: 50,
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
run('remove', (i) => {
|
|
43
|
-
main.removeChild(elements[i]);
|
|
44
|
-
});
|
|
45
|
-
});
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { measure, main } from '../../../perf';
|
|
2
|
-
import { createElement } from 'lwc';
|
|
3
|
-
import PerfAccordionContainer from './container/container';
|
|
4
|
-
import { generateSections } from './accordion-perf-utils';
|
|
5
|
-
|
|
6
|
-
const measureName = 'accordion-1-singleSection-50-sections';
|
|
7
|
-
|
|
8
|
-
// eslint-disable-next-line no-undef
|
|
9
|
-
measure(measureName, 1, benchmark, run, (tag, run) => {
|
|
10
|
-
const elements = [];
|
|
11
|
-
const accordion = {
|
|
12
|
-
activeSectionName: 'acc-1-section-10', // section 10 is open
|
|
13
|
-
allowMultipleSectionsOpen: false,
|
|
14
|
-
sections: generateSections(50, 'acc-1'),
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
run('create', (i) => {
|
|
18
|
-
const element = createElement(tag, { is: PerfAccordionContainer });
|
|
19
|
-
Object.assign(element, accordion);
|
|
20
|
-
|
|
21
|
-
elements[i] = element;
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
run('append', (i) => {
|
|
25
|
-
main.appendChild(elements[i]);
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
run('update - open a section', (i) => {
|
|
29
|
-
elements[i].activeSectionName = 'acc-1-section-30';
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
run('remove', (i) => {
|
|
33
|
-
main.removeChild(elements[i]);
|
|
34
|
-
});
|
|
35
|
-
});
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<lightning-accordion
|
|
3
|
-
active-section-name={activeSectionName}
|
|
4
|
-
allow-multiple-sections-open={allowMultipleSectionsOpen}
|
|
5
|
-
>
|
|
6
|
-
<template for:each={sections} for:item="section">
|
|
7
|
-
<lightning-accordion-section
|
|
8
|
-
key={section.name}
|
|
9
|
-
name={section.name}
|
|
10
|
-
label={section.label}>
|
|
11
|
-
<p>{section.content}</p>
|
|
12
|
-
</lightning-accordion-section>
|
|
13
|
-
</template>
|
|
14
|
-
</lightning-accordion>
|
|
15
|
-
</template>
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
// Taken from https://github.com/jonathantneal/svg4everybody/pull/139
|
|
2
|
-
// Remove this iframe-in-edge check once the following is resolved https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/8323875/
|
|
3
|
-
const isEdgeUA = /\bEdge\/.(\d+)\b/.test(navigator.userAgent);
|
|
4
|
-
const inIframe = window.top !== window.self;
|
|
5
|
-
const isIframeInEdge = isEdgeUA && inIframe;
|
|
6
|
-
|
|
7
|
-
export default isIframeInEdge;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import isIframeInEdge from './isIframeInEdge';
|
|
2
|
-
|
|
3
|
-
// Taken from https://git.soma.salesforce.com/aura/lightning-global/blob/999dc35f948246181510df6e56f45ad4955032c2/src/main/components/lightning/SVGLibrary/stamper.js#L89-L98
|
|
4
|
-
// Which looks like it was inspired by https://github.com/jonathantneal/svg4everybody/blob/377d27208fcad3671ed466e9511556cb9c8b5bd8/lib/svg4everybody.js#L92-L107
|
|
5
|
-
// Modify at your own risk!
|
|
6
|
-
const newerIEUA = /\bTrident\/[567]\b|\bMSIE (?:9|10)\.0\b/;
|
|
7
|
-
const webkitUA = /\bAppleWebKit\/(\d+)\b/;
|
|
8
|
-
const olderEdgeUA = /\bEdge\/12\.(\d+)\b/;
|
|
9
|
-
const isIE =
|
|
10
|
-
newerIEUA.test(navigator.userAgent) ||
|
|
11
|
-
(navigator.userAgent.match(olderEdgeUA) || [])[1] < 10547 ||
|
|
12
|
-
(navigator.userAgent.match(webkitUA) || [])[1] < 537;
|
|
13
|
-
|
|
14
|
-
const supportsSvg = !isIE && !isIframeInEdge;
|
|
15
|
-
|
|
16
|
-
export default supportsSvg;
|