@ui5/webcomponents-fiori 2.3.0-rc.2 → 2.3.0
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/CHANGELOG.md +30 -0
- package/cypress/specs/FCL.cy.ts +42 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/BarcodeScannerDialog.d.ts +0 -1
- package/dist/BarcodeScannerDialog.js +8 -6
- package/dist/BarcodeScannerDialog.js.map +1 -1
- package/dist/DynamicPage.d.ts +1 -1
- package/dist/DynamicPage.js +12 -4
- package/dist/DynamicPage.js.map +1 -1
- package/dist/DynamicPageHeaderActions.d.ts +0 -1
- package/dist/DynamicPageHeaderActions.js +4 -4
- package/dist/DynamicPageHeaderActions.js.map +1 -1
- package/dist/DynamicPageTitle.d.ts +20 -1
- package/dist/DynamicPageTitle.js +22 -7
- package/dist/DynamicPageTitle.js.map +1 -1
- package/dist/DynamicSideContent.d.ts +0 -1
- package/dist/DynamicSideContent.js +4 -4
- package/dist/DynamicSideContent.js.map +1 -1
- package/dist/FlexibleColumnLayout.d.ts +7 -2
- package/dist/FlexibleColumnLayout.js +16 -5
- package/dist/FlexibleColumnLayout.js.map +1 -1
- package/dist/IllustratedMessage.d.ts +0 -1
- package/dist/IllustratedMessage.js +4 -4
- package/dist/IllustratedMessage.js.map +1 -1
- package/dist/MediaGallery.js.map +1 -1
- package/dist/MediaGalleryItem.js.map +1 -1
- package/dist/NotificationList.d.ts +0 -1
- package/dist/NotificationList.js +4 -4
- package/dist/NotificationList.js.map +1 -1
- package/dist/NotificationListGroupItem.js.map +1 -1
- package/dist/NotificationListGroupList.d.ts +1 -1
- package/dist/NotificationListGroupList.js.map +1 -1
- package/dist/NotificationListInternal.js.map +1 -1
- package/dist/NotificationListItem.js.map +1 -1
- package/dist/NotificationListItemBase.d.ts +0 -1
- package/dist/NotificationListItemBase.js +4 -4
- package/dist/NotificationListItemBase.js.map +1 -1
- package/dist/Page.d.ts +2 -1
- package/dist/Page.js +6 -2
- package/dist/Page.js.map +1 -1
- package/dist/ProductSwitch.d.ts +0 -1
- package/dist/ProductSwitch.js +4 -4
- package/dist/ProductSwitch.js.map +1 -1
- package/dist/ProductSwitchItem.js.map +1 -1
- package/dist/ShellBar.d.ts +0 -1
- package/dist/ShellBar.js +4 -4
- package/dist/ShellBar.js.map +1 -1
- package/dist/SideNavigation.d.ts +0 -1
- package/dist/SideNavigation.js +6 -11
- package/dist/SideNavigation.js.map +1 -1
- package/dist/SideNavigationGroup.d.ts +0 -1
- package/dist/SideNavigationGroup.js +4 -7
- package/dist/SideNavigationGroup.js.map +1 -1
- package/dist/SideNavigationItem.js.map +1 -1
- package/dist/SideNavigationItemBase.js.map +1 -1
- package/dist/SideNavigationSelectableItemBase.js.map +1 -1
- package/dist/Timeline.d.ts +0 -1
- package/dist/Timeline.js +4 -4
- package/dist/Timeline.js.map +1 -1
- package/dist/TimelineGroupItem.js.map +1 -1
- package/dist/UploadCollection.d.ts +0 -1
- package/dist/UploadCollection.js +4 -4
- package/dist/UploadCollection.js.map +1 -1
- package/dist/UploadCollectionItem.d.ts +0 -1
- package/dist/UploadCollectionItem.js +4 -7
- package/dist/UploadCollectionItem.js.map +1 -1
- package/dist/ViewSettingsDialog.d.ts +1 -2
- package/dist/ViewSettingsDialog.js +4 -4
- package/dist/ViewSettingsDialog.js.map +1 -1
- package/dist/Wizard.d.ts +0 -1
- package/dist/Wizard.js +4 -4
- package/dist/Wizard.js.map +1 -1
- package/dist/WizardTab.js.map +1 -1
- package/dist/bundle.esm.js +29 -29
- package/dist/bundle.esm.js.map +1 -1
- package/dist/css/themes/DynamicPage.css +1 -1
- package/dist/css/themes/DynamicPageHeader.css +1 -1
- package/dist/css/themes/DynamicPageHeaderActions.css +1 -1
- package/dist/css/themes/DynamicPageTitle.css +1 -1
- package/dist/css/themes/FlexibleColumnLayout.css +1 -1
- package/dist/css/themes/MediaGallery.css +1 -1
- package/dist/css/themes/MediaGalleryItem.css +1 -1
- package/dist/css/themes/NotificationListGroupItem.css +1 -1
- package/dist/css/themes/NotificationListItem.css +1 -1
- package/dist/css/themes/NotificationListItemBase.css +1 -1
- package/dist/css/themes/NotificationStateIcon.css +1 -1
- package/dist/css/themes/Page.css +1 -1
- package/dist/css/themes/ProductSwitchItem.css +1 -1
- package/dist/css/themes/ShellBar.css +1 -1
- package/dist/css/themes/SideNavigation.css +1 -1
- package/dist/css/themes/SideNavigationGroup.css +1 -1
- package/dist/css/themes/SideNavigationItem.css +1 -1
- package/dist/css/themes/SideNavigationItemBase.css +1 -1
- package/dist/css/themes/SideNavigationPopover.css +1 -1
- package/dist/css/themes/SideNavigationSubItem.css +1 -1
- package/dist/css/themes/Timeline.css +1 -1
- package/dist/css/themes/TimelineGroupItem.css +1 -1
- package/dist/css/themes/TimelineItem.css +1 -1
- package/dist/css/themes/UploadCollection.css +1 -1
- package/dist/css/themes/UploadCollectionItem.css +1 -1
- package/dist/css/themes/ViewSettingsDialog.css +1 -1
- package/dist/css/themes/Wizard.css +1 -1
- package/dist/css/themes/WizardTab.css +1 -1
- package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
- package/dist/custom-elements-internal.json +47 -1
- package/dist/custom-elements.json +35 -1
- package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +1 -1
- package/dist/generated/i18n/i18n-defaults.js +0 -1
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/js-imports/Illustrations.js.map +1 -1
- package/dist/generated/js-imports/IllustrationsTNT.js.map +1 -1
- package/dist/generated/js-imports/IllustrationsV5TNT.js.map +1 -1
- package/dist/generated/js-imports/IllustrationsV5TNTHC.js.map +1 -1
- package/dist/generated/json-imports/Themes-fetch.js.map +1 -1
- package/dist/generated/json-imports/Themes.js.map +1 -1
- package/dist/generated/json-imports/i18n-fetch.js.map +1 -1
- package/dist/generated/json-imports/i18n.js.map +1 -1
- package/dist/generated/templates/BarcodeScannerDialogTemplate.lit.js +1 -1
- package/dist/generated/templates/BarcodeScannerDialogTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DynamicPageHeaderActionsTemplate.lit.js +3 -3
- package/dist/generated/templates/DynamicPageHeaderActionsTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DynamicPageHeaderTemplate.lit.js +1 -1
- package/dist/generated/templates/DynamicPageHeaderTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DynamicPageTemplate.lit.js +10 -8
- package/dist/generated/templates/DynamicPageTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DynamicPageTitleTemplate.lit.js +8 -6
- package/dist/generated/templates/DynamicPageTitleTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DynamicSideContentTemplate.lit.js +1 -1
- package/dist/generated/templates/DynamicSideContentTemplate.lit.js.map +1 -1
- package/dist/generated/templates/FlexibleColumnLayoutTemplate.lit.js +1 -1
- package/dist/generated/templates/FlexibleColumnLayoutTemplate.lit.js.map +1 -1
- package/dist/generated/templates/IllustratedMessageTemplate.lit.js +1 -1
- package/dist/generated/templates/IllustratedMessageTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MediaGalleryItemTemplate.lit.js +1 -1
- package/dist/generated/templates/MediaGalleryItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MediaGalleryTemplate.lit.js +1 -1
- package/dist/generated/templates/MediaGalleryTemplate.lit.js.map +1 -1
- package/dist/generated/templates/NotificationListGroupItemTemplate.lit.js +1 -1
- package/dist/generated/templates/NotificationListGroupItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/NotificationListItemTemplate.lit.js +1 -1
- package/dist/generated/templates/NotificationListItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/NotificationListTemplate.lit.js +1 -1
- package/dist/generated/templates/NotificationListTemplate.lit.js.map +1 -1
- package/dist/generated/templates/PageTemplate.lit.js +1 -1
- package/dist/generated/templates/PageTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ProductSwitchItemTemplate.lit.js +1 -1
- package/dist/generated/templates/ProductSwitchItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ProductSwitchTemplate.lit.js +1 -1
- package/dist/generated/templates/ProductSwitchTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ShellBarPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/ShellBarPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ShellBarTemplate.lit.js +1 -1
- package/dist/generated/templates/ShellBarTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SideNavigationGroupTemplate.lit.js +1 -1
- package/dist/generated/templates/SideNavigationGroupTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SideNavigationItemTemplate.lit.js +1 -1
- package/dist/generated/templates/SideNavigationItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SideNavigationPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/SideNavigationPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SideNavigationSubItemTemplate.lit.js +1 -1
- package/dist/generated/templates/SideNavigationSubItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SideNavigationTemplate.lit.js +1 -1
- package/dist/generated/templates/SideNavigationTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TimelineGroupItemTemplate.lit.js +1 -1
- package/dist/generated/templates/TimelineGroupItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TimelineItemTemplate.lit.js +1 -1
- package/dist/generated/templates/TimelineItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TimelineTemplate.lit.js +1 -1
- package/dist/generated/templates/TimelineTemplate.lit.js.map +1 -1
- package/dist/generated/templates/UploadCollectionItemTemplate.lit.js +1 -1
- package/dist/generated/templates/UploadCollectionItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/UploadCollectionTemplate.lit.js +1 -1
- package/dist/generated/templates/UploadCollectionTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ViewSettingsDialogTemplate.lit.js +1 -1
- package/dist/generated/templates/ViewSettingsDialogTemplate.lit.js.map +1 -1
- package/dist/generated/templates/WizardPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/WizardPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/WizardTabTemplate.lit.js +1 -1
- package/dist/generated/templates/WizardTabTemplate.lit.js.map +1 -1
- package/dist/generated/templates/WizardTemplate.lit.js +1 -1
- package/dist/generated/templates/WizardTemplate.lit.js.map +1 -1
- package/dist/generated/themes/DynamicPage.css.js +1 -1
- package/dist/generated/themes/DynamicPage.css.js.map +1 -1
- package/dist/generated/themes/DynamicPageHeader.css.js +1 -1
- package/dist/generated/themes/DynamicPageHeader.css.js.map +1 -1
- package/dist/generated/themes/DynamicPageHeaderActions.css.js +1 -1
- package/dist/generated/themes/DynamicPageHeaderActions.css.js.map +1 -1
- package/dist/generated/themes/DynamicPageTitle.css.js +1 -1
- package/dist/generated/themes/DynamicPageTitle.css.js.map +1 -1
- package/dist/generated/themes/FlexibleColumnLayout.css.js +1 -1
- package/dist/generated/themes/FlexibleColumnLayout.css.js.map +1 -1
- package/dist/generated/themes/MediaGallery.css.js +1 -1
- package/dist/generated/themes/MediaGallery.css.js.map +1 -1
- package/dist/generated/themes/MediaGalleryItem.css.js +1 -1
- package/dist/generated/themes/MediaGalleryItem.css.js.map +1 -1
- package/dist/generated/themes/NotificationListGroupItem.css.js +1 -1
- package/dist/generated/themes/NotificationListGroupItem.css.js.map +1 -1
- package/dist/generated/themes/NotificationListItem.css.js +1 -1
- package/dist/generated/themes/NotificationListItem.css.js.map +1 -1
- package/dist/generated/themes/NotificationListItemBase.css.js +1 -1
- package/dist/generated/themes/NotificationListItemBase.css.js.map +1 -1
- package/dist/generated/themes/NotificationStateIcon.css.js +1 -1
- package/dist/generated/themes/NotificationStateIcon.css.js.map +1 -1
- package/dist/generated/themes/Page.css.js +1 -1
- package/dist/generated/themes/Page.css.js.map +1 -1
- package/dist/generated/themes/ProductSwitchItem.css.js +1 -1
- package/dist/generated/themes/ProductSwitchItem.css.js.map +1 -1
- package/dist/generated/themes/ShellBar.css.js +1 -1
- package/dist/generated/themes/ShellBar.css.js.map +1 -1
- package/dist/generated/themes/SideNavigation.css.js +1 -1
- package/dist/generated/themes/SideNavigation.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationGroup.css.js +1 -1
- package/dist/generated/themes/SideNavigationGroup.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationItem.css.js +1 -1
- package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationItemBase.css.js +1 -1
- package/dist/generated/themes/SideNavigationItemBase.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationPopover.css.js +1 -1
- package/dist/generated/themes/SideNavigationPopover.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationSubItem.css.js +1 -1
- package/dist/generated/themes/SideNavigationSubItem.css.js.map +1 -1
- package/dist/generated/themes/Timeline.css.js +1 -1
- package/dist/generated/themes/Timeline.css.js.map +1 -1
- package/dist/generated/themes/TimelineGroupItem.css.js +1 -1
- package/dist/generated/themes/TimelineGroupItem.css.js.map +1 -1
- package/dist/generated/themes/TimelineItem.css.js +1 -1
- package/dist/generated/themes/TimelineItem.css.js.map +1 -1
- package/dist/generated/themes/UploadCollection.css.js +1 -1
- package/dist/generated/themes/UploadCollection.css.js.map +1 -1
- package/dist/generated/themes/UploadCollectionItem.css.js +1 -1
- package/dist/generated/themes/UploadCollectionItem.css.js.map +1 -1
- package/dist/generated/themes/ViewSettingsDialog.css.js +1 -1
- package/dist/generated/themes/ViewSettingsDialog.css.js.map +1 -1
- package/dist/generated/themes/Wizard.css.js +1 -1
- package/dist/generated/themes/Wizard.css.js.map +1 -1
- package/dist/generated/themes/WizardTab.css.js +1 -1
- package/dist/generated/themes/WizardTab.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
- package/dist/ssr-zxing-shim.d.ts +2 -0
- package/dist/ssr-zxing-shim.js +3 -0
- package/dist/ssr-zxing-shim.js.map +1 -0
- package/dist/ssr-zxing.d.ts +2 -0
- package/dist/ssr-zxing.js +3 -0
- package/dist/ssr-zxing.js.map +1 -0
- package/dist/types/IllustrationMessageType.d.ts +3 -3
- package/dist/upload-utils/UploadCollectionBodyDnD.js.map +1 -1
- package/dist/vscode.html-custom-data.json +2 -2
- package/dist/web-types.json +7 -3
- package/package.json +13 -8
- package/src/DynamicPage.hbs +16 -14
- package/src/DynamicPageHeaderActions.hbs +2 -2
- package/src/DynamicPageTitle.hbs +35 -26
- package/src/themes/DynamicPage.css +7 -0
- package/src/themes/DynamicPageTitle.css +19 -4
- package/src/themes/FlexibleColumnLayout.css +6 -0
- package/src/themes/Page.css +23 -2
- package/src/themes/base/DynamicPageTitle-parameters.css +2 -0
- package/tsconfig.json +2 -5
|
@@ -9,7 +9,7 @@ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
|
9
9
|
import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
|
|
10
10
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
11
11
|
import event from "@ui5/webcomponents-base/dist/decorators/event.js";
|
|
12
|
-
import
|
|
12
|
+
import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
13
13
|
import { isPhone } from "@ui5/webcomponents-base/dist/Device.js";
|
|
14
14
|
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
15
15
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
@@ -131,9 +131,6 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
|
|
|
131
131
|
filter.additionalText = !selectedCount ? "" : `${selectedCount}`;
|
|
132
132
|
});
|
|
133
133
|
}
|
|
134
|
-
static async onDefine() {
|
|
135
|
-
ViewSettingsDialog_1.i18nBundle = await getI18nBundle("@ui5/webcomponents-fiori");
|
|
136
|
-
}
|
|
137
134
|
get _selectedFilter() {
|
|
138
135
|
for (let i = 0; i < this._currentSettings.filters.length; i++) {
|
|
139
136
|
if (this._currentSettings.filters[i].selected) {
|
|
@@ -527,6 +524,9 @@ __decorate([
|
|
|
527
524
|
__decorate([
|
|
528
525
|
slot()
|
|
529
526
|
], ViewSettingsDialog.prototype, "filterItems", void 0);
|
|
527
|
+
__decorate([
|
|
528
|
+
i18n("@ui5/webcomponents-fiori")
|
|
529
|
+
], ViewSettingsDialog, "i18nBundle", void 0);
|
|
530
530
|
ViewSettingsDialog = ViewSettingsDialog_1 = __decorate([
|
|
531
531
|
customElement({
|
|
532
532
|
tag: "ui5-view-settings-dialog",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewSettingsDialog.js","sourceRoot":"","sources":["../src/ViewSettingsDialog.ts"],"names":[],"mappings":"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","sourcesContent":["import property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { ChangeInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport Dialog from \"@ui5/webcomponents/dist/Dialog.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport Label from \"@ui5/webcomponents/dist/Label.js\";\nimport ListItemGroup from \"@ui5/webcomponents/dist/ListItemGroup.js\";\nimport List from \"@ui5/webcomponents/dist/List.js\";\nimport type { ListItemClickEventDetail } from \"@ui5/webcomponents/dist/List.js\";\nimport ListItemStandard from \"@ui5/webcomponents/dist/ListItemStandard.js\";\nimport Title from \"@ui5/webcomponents/dist/Title.js\";\nimport SegmentedButton from \"@ui5/webcomponents/dist/SegmentedButton.js\";\nimport SegmentedButtonItem from \"@ui5/webcomponents/dist/SegmentedButtonItem.js\";\n\nimport ViewSettingsDialogMode from \"./types/ViewSettingsDialogMode.js\";\nimport \"@ui5/webcomponents-icons/dist/sort.js\";\nimport \"@ui5/webcomponents-icons/dist/filter.js\";\nimport \"@ui5/webcomponents-icons/dist/nav-back.js\";\nimport type SortItem from \"./SortItem.js\";\nimport type FilterItem from \"./FilterItem.js\";\n\nimport {\n\tVSD_DIALOG_TITLE_SORT,\n\tVSD_SUBMIT_BUTTON,\n\tVSD_CANCEL_BUTTON,\n\tVSD_RESET_BUTTON,\n\tVSD_SORT_ORDER,\n\tVSD_SORT_BY,\n\tVSD_ORDER_ASCENDING,\n\tVSD_ORDER_DESCENDING,\n\tVSD_FILTER_BY,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport ViewSettingsDialogTemplate from \"./generated/templates/ViewSettingsDialogTemplate.lit.js\";\n\n// Styles\nimport viewSettingsDialogCSS from \"./generated/themes/ViewSettingsDialog.css.js\";\n\ntype VSDFilter = Record<string, Array<string>> // {\"Filter 1\": [\"Filter 5\", \"Filter 6\"]}\ntype VSDFilters = Array<VSDFilter> // [{\"Filter 1\": [\"Filter 5\", \"Filter 6\"]}, {\"Filter 3\": [\"Filter 8\"]}]\n\n// The data, passed to the public method + part of the events' detail\ntype VSDSettings = {\n\tsortOrder: string,\n\tsortBy: string,\n\tfilters: VSDFilters,\n}\n\n// Events' detail\ntype ViewSettingsDialogConfirmEventDetail = VSDSettings & {\n\tsortByItem: SortItem,\n\tsortDescending: boolean,\n}\n\ntype ViewSettingsDialogCancelEventDetail = VSDSettings & {\n\tsortByItem: SortItem,\n\tsortDescending: boolean,\n}\n\n// Common properties for several VSDInternalSettings fields\ntype VSDItem = {text?: string, selected: boolean}\n\n// Used for the private properties _initialSettings, _confirmedSettings and _currentSettings\ntype VSDInternalSettings = {\n\tsortOrder: Array<VSDItem>,\n\tsortBy: Array<VSDItem & {index: number}>,\n\tfilters: Array<VSDItem & {filterOptions: Array<VSDItem>}>,\n}\n\n/**\n * @class\n * ### Overview\n * The `ui5-view-settings-dialog` component helps the user to sort data within a list or a table.\n * It consists of several lists like `Sort order` which is built-in and `Sort By` and `Filter By` lists,\n * for which you must be provide items(`ui5-sort-item` & `ui5-filter-item` respectively)\n * These options can be used to create sorters for a table.\n *\n * The `ui5-view-settings-dialog` interrupts the current application processing as it is the only focused UI element and\n * the main screen is dimmed/blocked.\n * The `ui5-view-settings-dialog` is modal, which means that user action is required before returning to the parent window is possible.\n *\n * ### Structure\n * A `ui5-view-settings-dialog` consists of a header, content, and a footer for action buttons.\n * The `ui5-view-settings-dialog` is usually displayed at the center of the screen.\n *\n * ### Responsive Behavior\n * `ui5-view-settings-dialog` stretches on full screen on phones.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/ViewSettingsDialog.js\";`\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.16\n * @public\n */\n@customElement({\n\ttag: \"ui5-view-settings-dialog\",\n\trenderer: litRender,\n\tstyles: viewSettingsDialogCSS,\n\ttemplate: ViewSettingsDialogTemplate,\n\tdependencies: [\n\t\tButton,\n\t\tTitle,\n\t\tDialog,\n\t\tLabel,\n\t\tList,\n\t\tListItemStandard,\n\t\tListItemGroup,\n\t\tSegmentedButton,\n\t\tSegmentedButtonItem,\n\t],\n})\n\n/**\n * Fired when confirmation button is activated.\n * @param {String} sortOrder The current sort order selected.\n * @param {String} sortBy The currently selected `ui5-sort-item` text attribute.\n * @param {HTMLElement} sortByItem The currently selected `ui5-sort-item`.\n * @param {Boolean} sortDescending The selected sort order (true = descending, false = ascending).\n * @param {Array} filters The selected filters items.\n * @public\n */\n@event<ViewSettingsDialogConfirmEventDetail>(\"confirm\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tsortOrder: { type: String },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tsortBy: { type: String },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tsortByItem: { type: HTMLElement },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tsortDescending: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tfilters: { type: Array },\n\t},\n})\n\n/**\n * Fired when cancel button is activated.\n * @param {String} sortOrder The current sort order selected.\n * @param {String} sortBy The currently selected `ui5-sort-item` text attribute.\n * @param {HTMLElement} sortByItem The currently selected `ui5-sort-item`.\n * @param {Boolean} sortDescending The selected sort order (true = descending, false = ascending).\n * @param {Array} filters The selected filters items.\n * @public\n */\n@event<ViewSettingsDialogCancelEventDetail>(\"cancel\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tsortOrder: { type: String },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tsortBy: { type: String },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tsortByItem: { type: HTMLElement },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tsortDescending: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tfilters: { type: Array },\n\t},\n})\n\n/**\n * Fired before the component is opened. **This event does not bubble.**\n * @public\n */\n@event(\"before-open\")\n/**\n * Fired after the dialog is opened.\n * @since 2.0.0\n * @public\n */\n@event(\"open\")\n/**\n * Fired after the dialog is closed.\n * @since 2.0.0\n * @public\n */\n@event(\"close\")\nclass ViewSettingsDialog extends UI5Element {\n\t/**\n\t * Defines the initial sort order.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tsortDescending = false;\n\n\t/**\n\t * Indicates if the dialog is open.\n\t * @public\n\t * @default false\n\t * @since 2.0.0\n\t */\n\t@property({ type: Boolean })\n\topen = false;\n\n\t/**\n\t * Keeps recently focused list in order to focus it on next dialog open.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_recentlyFocused?: List;\n\n\t/**\n\t * Stores current settings of the dialog.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_currentSettings: VSDInternalSettings = {\n\t\tsortOrder: [],\n\t\tsortBy: [],\n\t\tfilters: [],\n\t};\n\n\t/**\n\t * Stores settings of the dialog before the initial open.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_initialSettings: VSDInternalSettings = this._currentSettings;\n\n\t/**\n\t * Stores settings of the dialog after confirmation.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_confirmedSettings: VSDInternalSettings = this._currentSettings;\n\n\t/**\n\t * Defnies the current mode of the component.\n\t * @since 1.0.0-rc.16\n\t * @private\n\t */\n\t@property()\n\t_currentMode: `${ViewSettingsDialogMode}` = \"Sort\";\n\n\t/**\n\t * When in Filter By mode, defines whether we need to show the list of keys, or the list with values.\n\t * @since 1.0.0-rc.16\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_filterStepTwo = false;\n\n\t/**\n\t * Defines the list of items against which the user could sort data.\n\t *\n\t * **Note:** If you want to use this slot, you need to import used item: `import \"@ui5/webcomponents-fiori/dist/SortItem.js\";`\n\t * @public\n\t */\n\t@slot()\n\tsortItems!: Array<SortItem>\n\n\t/**\n\t * Defines the `filterItems` list.\n\t *\n\t * **Note:** If you want to use this slot, you need to import used item: `import \"@ui5/webcomponents-fiori/dist/FilterItem.js\";`\n\t * @public\n\t */\n\t@slot()\n\tfilterItems!: Array<FilterItem>;\n\n\t_dialog?: Dialog;\n\t_sortOrder?: List;\n\t_sortBy?: List;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tonBeforeRendering() {\n\t\tif (this._currentSettings.filters && this._currentSettings.filters.length) {\n\t\t\tthis._setAdditionalTexts();\n\t\t}\n\n\t\tif (!this.shouldBuildSort && this.shouldBuildFilter) {\n\t\t\tthis._currentMode = ViewSettingsDialogMode.Filter;\n\t\t}\n\t}\n\n\tonInvalidation(changeInfo: ChangeInfo) {\n\t\tif (changeInfo.type === \"slot\") {\n\t\t\tthis._confirmedSettings = this._settings;\n\t\t}\n\t}\n\n\t_setAdditionalTexts() {\n\t\t// Add the additional text to the filter options\n\t\tthis.filterItems.forEach((filter, index) => {\n\t\t\tlet selectedCount = 0;\n\t\t\tfor (let i = 0; i < filter.values.length; i++) {\n\t\t\t\tif (this._currentSettings.filters[index].filterOptions[i].selected) {\n\t\t\t\t\tselectedCount++;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfilter.additionalText = !selectedCount ? \"\" : `${selectedCount}`;\n\t\t});\n\t}\n\n\tstatic async onDefine() {\n\t\tViewSettingsDialog.i18nBundle = await getI18nBundle(\"@ui5/webcomponents-fiori\");\n\t}\n\n\tget _selectedFilter() {\n\t\tfor (let i = 0; i < this._currentSettings.filters.length; i++) {\n\t\t\tif (this._currentSettings.filters[i].selected) {\n\t\t\t\treturn this._currentSettings.filters[i];\n\t\t\t}\n\t\t}\n\t}\n\n\tget shouldBuildSort() {\n\t\treturn !!this.sortItems.length;\n\t}\n\n\tget shouldBuildFilter() {\n\t\treturn !!this.filterItems.length;\n\t}\n\n\tget hasPagination() {\n\t\treturn this.shouldBuildSort && this.shouldBuildFilter;\n\t}\n\n\tget _filterByTitle() {\n\t\tconst selectedFilterText = this._selectedFilter ? this._selectedFilter.text : \"\";\n\t\treturn `${ViewSettingsDialog.i18nBundle.getText(VSD_FILTER_BY)}: ${selectedFilterText}`;\n\t}\n\n\tget _dialogTitle() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_DIALOG_TITLE_SORT);\n\t}\n\n\tget _okButtonLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SUBMIT_BUTTON);\n\t}\n\n\tget _cancelButtonLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_CANCEL_BUTTON);\n\t}\n\n\tget _resetButtonLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_RESET_BUTTON);\n\t}\n\n\tget _ascendingLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_ORDER_ASCENDING);\n\t}\n\n\tget _descendingLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_ORDER_DESCENDING);\n\t}\n\n\tget _sortOrderLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SORT_ORDER);\n\t}\n\n\tget _filterByLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_FILTER_BY);\n\t}\n\n\tget _sortByLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SORT_BY);\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget _sortAscending() {\n\t\treturn !this.sortDescending;\n\t}\n\n\tget _title() {\n\t\treturn this.showBackButton\n\t\t\t? this._filterByTitle\n\t\t\t: this._dialogTitle;\n\t}\n\n\t/**\n\t * Determines disabled state of the `Reset` button.\n\t */\n\tget _disableResetButton() {\n\t\treturn this._dialog && this._sortSetttingsAreInitial && this._filteresAreInitial;\n\t}\n\n\tget _sortSetttingsAreInitial() {\n\t\tlet settingsAreInitial = true;\n\t\t[\"sortBy\", \"sortOrder\"].forEach(sortList => {\n\t\t\tthis._currentSettings[sortList as keyof VSDInternalSettings].forEach((item, index) => {\n\t\t\t\tif (item.selected !== this._initialSettings[sortList as keyof VSDInternalSettings][index].selected) {\n\t\t\t\t\tsettingsAreInitial = false;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\treturn settingsAreInitial;\n\t}\n\n\tget _filteresAreInitial() {\n\t\tlet filtersAreInitial = true;\n\t\tthis._currentSettings.filters.forEach((filter, index) => {\n\t\t\tfor (let i = 0; i < filter.filterOptions.length; i++) {\n\t\t\t\tif (filter.filterOptions[i].selected !== this._initialSettings.filters[index].filterOptions[i].selected) {\n\t\t\t\t\tfiltersAreInitial = false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treturn filtersAreInitial;\n\t}\n\n\t/**\n\t * Returns the current settings (current state of all lists).\n\t */\n\tget _settings(): VSDInternalSettings {\n\t\treturn {\n\t\t\tsortOrder: JSON.parse(JSON.stringify(this.initSortOrderItems)),\n\t\t\tsortBy: JSON.parse(JSON.stringify(this.initSortByItems)),\n\t\t\tfilters: this.filterItems.map(item => {\n\t\t\t\treturn {\n\t\t\t\t\ttext: item.text || \"\",\n\t\t\t\t\tselected: false,\n\t\t\t\t\tfilterOptions: item.values.map(optionValue => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttext: optionValue.text || \"\",\n\t\t\t\t\t\t\tselected: optionValue.selected,\n\t\t\t\t\t\t};\n\t\t\t\t\t}),\n\t\t\t\t};\n\t\t\t}),\n\t\t};\n\t}\n\n\tget initSortByItems() {\n\t\treturn this.sortItems.map((item, index) => {\n\t\t\treturn {\n\t\t\t\ttext: item.text,\n\t\t\t\tselected: item.selected,\n\t\t\t\tindex,\n\t\t\t};\n\t\t});\n\t}\n\n\tget initSortOrderItems() {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttext: this._ascendingLabel,\n\t\t\t\tselected: !this.sortDescending,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: this._descendingLabel,\n\t\t\t\tselected: this.sortDescending,\n\t\t\t},\n\t\t];\n\t}\n\n\tget expandContent() {\n\t\treturn this._filterStepTwo || !this.hasPagination;\n\t}\n\n\tget isModeSort() {\n\t\treturn this._currentMode === ViewSettingsDialogMode.Sort;\n\t}\n\n\tget isModeFilter() {\n\t\treturn this._currentMode === ViewSettingsDialogMode.Filter;\n\t}\n\n\tget showBackButton() {\n\t\treturn this.isModeFilter && this._filterStepTwo;\n\t}\n\n\tget _sortOrderListDomRef() {\n\t\treturn this.shadowRoot!.querySelector<List>(\"[ui5-list][sort-order]\")!;\n\t}\n\n\tget _sortByList() {\n\t\treturn this.shadowRoot!.querySelector<List>(\"[ui5-list][sort-by]\")!;\n\t}\n\n\tget _dialogDomRef() {\n\t\treturn this.shadowRoot!.querySelector<Dialog>(\"[ui5-dialog]\")!;\n\t}\n\n\t/**\n\t * Shows the dialog.\n\t */\n\tbeforeDialogOpen(): void {\n\t\tif (!this._dialog) {\n\t\t\tthis._sortOrder = this._sortOrderListDomRef;\n\t\t\tthis._sortBy = this._sortByList;\n\n\t\t\t// Sorting\n\t\t\tthis._initialSettings = this._settings;\n\t\t\tthis._currentSettings = this._settings;\n\t\t\tthis._confirmedSettings = this._settings;\n\n\t\t\tthis._dialog = this._dialogDomRef;\n\t\t} else {\n\t\t\tthis._restoreSettings(this._confirmedSettings);\n\t\t}\n\n\t\tthis.fireEvent(\"before-open\", {}, true, false);\n\t}\n\n\tafterDialogOpen(): void {\n\t\tthis._dialog?.querySelector<List>(\"[ui5-list]\")?.focusFirstItem();\n\n\t\tthis._focusRecentlyUsedControl();\n\n\t\tthis.fireEvent(\"open\");\n\t}\n\n\tafterDialogClose(): void {\n\t\tthis.fireEvent(\"close\");\n\t}\n\n\t_handleModeChange(e: CustomEvent) { // use SegmentedButton event when done\n\t\tconst mode: ViewSettingsDialogMode = e.detail.selectedItems[0].getAttribute(\"mode\");\n\t\tthis._currentMode = ViewSettingsDialogMode[mode];\n\t}\n\n\t_handleFilterValueItemClick(e: CustomEvent<ListItemClickEventDetail>) {\n\t\t// Update the component state\n\t\tthis._currentSettings.filters = this._currentSettings.filters.map(filter => {\n\t\t\tif (filter.selected) {\n\t\t\t\tfilter.filterOptions.forEach(option => {\n\t\t\t\t\tif (option.text === e.detail.item.innerText) {\n\t\t\t\t\t\toption.selected = !option.selected;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn filter;\n\t\t});\n\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t_navigateToFilters() {\n\t\tthis._filterStepTwo = false;\n\t}\n\n\t_changeCurrentFilter(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tthis._filterStepTwo = true;\n\t\tthis._currentSettings.filters = this._currentSettings.filters.map(filter => {\n\t\t\tfilter.selected = filter.text === e.detail.item.innerText;\n\t\t\treturn filter;\n\t\t});\n\t}\n\n\t/**\n\t * Sets focus on recently used control within the dialog.\n\t */\n\t_focusRecentlyUsedControl() {\n\t\tif (!this._recentlyFocused || !Object.keys(this._recentlyFocused).length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst recentlyFocusedSelectedItems = this._recentlyFocused.getSelectedItems();\n\t\tif (recentlyFocusedSelectedItems.length) {\n\t\t\trecentlyFocusedSelectedItems[0].focus();\n\t\t}\n\t}\n\n\t/**\n\t * Stores current settings as confirmed and fires `confirm` event.\n\t */\n\t_confirmSettings() {\n\t\tthis.open = false;\n\t\tthis._confirmedSettings = this._currentSettings;\n\n\t\tthis.fireEvent<ViewSettingsDialogConfirmEventDetail>(\"confirm\", this.eventsParams);\n\t}\n\n\t/**\n\t * Sets current settings to recently confirmed ones and fires `cancel` event.\n\t */\n\t_cancelSettings() {\n\t\tthis._restoreSettings(this._confirmedSettings);\n\n\t\tthis.fireEvent<ViewSettingsDialogCancelEventDetail>(\"cancel\", this.eventsParams);\n\t\tthis.open = false;\n\t}\n\n\tget eventsParams() {\n\t\tconst _currentSortOrderSelected = this._currentSettings.sortOrder.filter(item => item.selected)[0],\n\t\t\t_currentSortBySelected = this._currentSettings.sortBy.filter(item => item.selected)[0],\n\t\t\tsortOrder = _currentSortOrderSelected && (_currentSortOrderSelected.text || \"\"),\n\t\t\tsortDescending = !this._currentSettings.sortOrder[0].selected,\n\t\t\tsortBy = _currentSortBySelected && (_currentSortBySelected.text || \"\"),\n\t\t\tsortByElementIndex = _currentSortBySelected && _currentSortBySelected.index,\n\t\t\tsortByItem = this.sortItems[sortByElementIndex];\n\t\treturn {\n\t\t\tsortOrder,\n\t\t\tsortDescending,\n\t\t\tsortBy,\n\t\t\tsortByItem,\n\t\t\tfilters: this.selectedFilters,\n\t\t};\n\t}\n\n\tget selectedFilters() {\n\t\tconst result: VSDFilters = [];\n\n\t\tthis._currentSettings.filters.forEach(filter => {\n\t\t\tconst selectedOptions: Array<string> = [];\n\n\t\t\tfilter.filterOptions.forEach(option => {\n\t\t\t\tif (option.selected) {\n\t\t\t\t\tselectedOptions.push(option.text || \"\");\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (selectedOptions.length) {\n\t\t\t\tresult.push({});\n\t\t\t\tresult[result.length - 1][filter.text || \"\"] = selectedOptions;\n\t\t\t}\n\t\t});\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * If the dialog is closed by [Escape] key, do the same as if the `Cancel` button is pressed.\n\t * @param evt\n\t */\n\t_restoreConfirmedOnEscape(evt: CustomEvent) { // Dialog#before-close\n\t\tif (evt.detail.escPressed) {\n\t\t\tthis._cancelSettings();\n\t\t\tthis._currentMode = ViewSettingsDialogMode.Sort;\n\t\t\tthis._filterStepTwo = false;\n\t\t}\n\t}\n\n\t/**\n\t * Resets the control settings to their initial state.\n\t */\n\t _resetSettings() {\n\t\tthis._restoreSettings(this._initialSettings);\n\t\tthis._recentlyFocused = this._sortOrder!;\n\t\tthis._focusRecentlyUsedControl();\n\t}\n\n\t/**\n\t * Sets current settings to ones passed as `settings` argument.\n\t * @param settings\n\t */\n\t_restoreSettings(settings: VSDInternalSettings) {\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(settings));\n\t\tthis._currentMode = ViewSettingsDialogMode.Sort;\n\t\tthis._filterStepTwo = false;\n\t}\n\n\t/**\n\t * Stores `Sort Order` list as recently used control and its selected item in current state.\n\t */\n\t_onSortOrderChange(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tthis._recentlyFocused = this._sortOrder!;\n\t\tthis._currentSettings.sortOrder = this.initSortOrderItems.map(item => {\n\t\t\titem.selected = item.text === e.detail.item.innerText;\n\t\t\treturn item;\n\t\t});\n\n\t\t// Invalidate\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t/**\n\t * Stores `Sort By` list as recently used control and its selected item in current state.\n\t */\n\t _onSortByChange(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst selectedItemIndex = Number(e.detail.item.getAttribute(\"data-ui5-external-action-item-index\"));\n\t\tthis._recentlyFocused = this._sortBy!;\n\t\tthis._currentSettings.sortBy = this.initSortByItems.map((item, index) => {\n\t\t\titem.selected = index === selectedItemIndex;\n\t\t\treturn item;\n\t\t});\n\t\t// Invalidate\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t/**\n\t * Sets a JavaScript object, as settings to the `ui5-view-settings-dialog`.\n\t * This method can be used after the dialog is initially open, as the dialog needs\n\t * to set its initial settings.\n\t * The `ui5-view-settings-dialog` throws an event called \"before-open\",\n\t * which can be used as a trigger point.\n\t * The object should have the following format:\n\t * @param settings - predefined settings.\n\t * @public\n\t */\n\tsetConfirmedSettings(settings: VSDSettings): void {\n\t\tif (settings && this._dialog && !this._dialog.open) {\n\t\t\tconst tempSettings: VSDInternalSettings = JSON.parse(JSON.stringify(this._confirmedSettings));\n\t\t\tif (settings.sortOrder) {\n\t\t\t\tfor (let i = 0; i < tempSettings.sortOrder.length; i++) {\n\t\t\t\t\tif (tempSettings.sortOrder[i].text === settings.sortOrder) {\n\t\t\t\t\t\ttempSettings.sortOrder[i].selected = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttempSettings.sortOrder[i].selected = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (settings.sortBy) {\n\t\t\t\tfor (let i = 0; i < tempSettings.sortBy.length; i++) {\n\t\t\t\t\tif (tempSettings.sortBy[i].text === settings.sortBy) {\n\t\t\t\t\t\ttempSettings.sortBy[i].selected = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttempSettings.sortBy[i].selected = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (settings.filters) {\n\t\t\t\tconst inputFilters: VSDFilter = {};\n\t\t\t\tfor (let i = 0; i < settings.filters.length; i++) {\n\t\t\t\t\tinputFilters[Object.keys(settings.filters[i])[0]] = settings.filters[i][Object.keys(settings.filters[i])[0]];\n\t\t\t\t}\n\n\t\t\t\tfor (let i = 0; i < tempSettings.filters.length; i++) {\n\t\t\t\t\tfor (let j = 0; j < tempSettings.filters[i].filterOptions.length; j++) {\n\t\t\t\t\t\tif (inputFilters[tempSettings.filters[i].text || \"\"] && inputFilters[tempSettings.filters[i].text || \"\"].indexOf(tempSettings.filters[i].filterOptions[j].text || \"\") > -1) {\n\t\t\t\t\t\t\ttempSettings.filters[i].filterOptions[j].selected = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttempSettings.filters[i].filterOptions[j].selected = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._confirmedSettings = JSON.parse(JSON.stringify(tempSettings));\n\t\t}\n\t}\n}\n\nViewSettingsDialog.define();\n\nexport default ViewSettingsDialog;\nexport type {\n\tViewSettingsDialogConfirmEventDetail,\n\tViewSettingsDialogCancelEventDetail,\n\tVSDSettings,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"ViewSettingsDialog.js","sourceRoot":"","sources":["../src/ViewSettingsDialog.ts"],"names":[],"mappings":"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","sourcesContent":["import property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { ChangeInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport Dialog from \"@ui5/webcomponents/dist/Dialog.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport Label from \"@ui5/webcomponents/dist/Label.js\";\nimport ListItemGroup from \"@ui5/webcomponents/dist/ListItemGroup.js\";\nimport List from \"@ui5/webcomponents/dist/List.js\";\nimport type { ListItemClickEventDetail } from \"@ui5/webcomponents/dist/List.js\";\nimport ListItemStandard from \"@ui5/webcomponents/dist/ListItemStandard.js\";\nimport Title from \"@ui5/webcomponents/dist/Title.js\";\nimport SegmentedButton from \"@ui5/webcomponents/dist/SegmentedButton.js\";\nimport SegmentedButtonItem from \"@ui5/webcomponents/dist/SegmentedButtonItem.js\";\n\nimport ViewSettingsDialogMode from \"./types/ViewSettingsDialogMode.js\";\nimport \"@ui5/webcomponents-icons/dist/sort.js\";\nimport \"@ui5/webcomponents-icons/dist/filter.js\";\nimport \"@ui5/webcomponents-icons/dist/nav-back.js\";\nimport type SortItem from \"./SortItem.js\";\nimport type FilterItem from \"./FilterItem.js\";\n\nimport {\n\tVSD_DIALOG_TITLE_SORT,\n\tVSD_SUBMIT_BUTTON,\n\tVSD_CANCEL_BUTTON,\n\tVSD_RESET_BUTTON,\n\tVSD_SORT_ORDER,\n\tVSD_SORT_BY,\n\tVSD_ORDER_ASCENDING,\n\tVSD_ORDER_DESCENDING,\n\tVSD_FILTER_BY,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport ViewSettingsDialogTemplate from \"./generated/templates/ViewSettingsDialogTemplate.lit.js\";\n\n// Styles\nimport viewSettingsDialogCSS from \"./generated/themes/ViewSettingsDialog.css.js\";\n\ntype VSDFilter = Record<string, Array<string>> // {\"Filter 1\": [\"Filter 5\", \"Filter 6\"]}\ntype VSDFilters = Array<VSDFilter> // [{\"Filter 1\": [\"Filter 5\", \"Filter 6\"]}, {\"Filter 3\": [\"Filter 8\"]}]\n\n// The data, passed to the public method + part of the events' detail\ntype VSDSettings = {\n\tsortOrder: string,\n\tsortBy: string,\n\tfilters: VSDFilters,\n}\n\n// Events' detail\ntype ViewSettingsDialogConfirmEventDetail = VSDSettings & {\n\tsortByItem: SortItem,\n\tsortDescending: boolean,\n}\n\ntype ViewSettingsDialogCancelEventDetail = VSDSettings & {\n\tsortByItem: SortItem,\n\tsortDescending: boolean,\n}\n\n// Common properties for several VSDInternalSettings fields\ntype VSDItem = {text?: string, selected: boolean}\n\n// Used for the private properties _initialSettings, _confirmedSettings and _currentSettings\ntype VSDInternalSettings = {\n\tsortOrder: Array<VSDItem>,\n\tsortBy: Array<VSDItem & {index: number}>,\n\tfilters: Array<VSDItem & {filterOptions: Array<VSDItem>}>,\n}\n\n/**\n * @class\n * ### Overview\n * The `ui5-view-settings-dialog` component helps the user to sort data within a list or a table.\n * It consists of several lists like `Sort order` which is built-in and `Sort By` and `Filter By` lists,\n * for which you must be provide items(`ui5-sort-item` & `ui5-filter-item` respectively)\n * These options can be used to create sorters for a table.\n *\n * The `ui5-view-settings-dialog` interrupts the current application processing as it is the only focused UI element and\n * the main screen is dimmed/blocked.\n * The `ui5-view-settings-dialog` is modal, which means that user action is required before returning to the parent window is possible.\n *\n * ### Structure\n * A `ui5-view-settings-dialog` consists of a header, content, and a footer for action buttons.\n * The `ui5-view-settings-dialog` is usually displayed at the center of the screen.\n *\n * ### Responsive Behavior\n * `ui5-view-settings-dialog` stretches on full screen on phones.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/ViewSettingsDialog.js\";`\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.16\n * @public\n */\n@customElement({\n\ttag: \"ui5-view-settings-dialog\",\n\trenderer: litRender,\n\tstyles: viewSettingsDialogCSS,\n\ttemplate: ViewSettingsDialogTemplate,\n\tdependencies: [\n\t\tButton,\n\t\tTitle,\n\t\tDialog,\n\t\tLabel,\n\t\tList,\n\t\tListItemStandard,\n\t\tListItemGroup,\n\t\tSegmentedButton,\n\t\tSegmentedButtonItem,\n\t],\n})\n\n/**\n * Fired when confirmation button is activated.\n * @param {String} sortOrder The current sort order selected.\n * @param {String} sortBy The currently selected `ui5-sort-item` text attribute.\n * @param {HTMLElement} sortByItem The currently selected `ui5-sort-item`.\n * @param {Boolean} sortDescending The selected sort order (true = descending, false = ascending).\n * @param {Array} filters The selected filters items.\n * @public\n */\n@event<ViewSettingsDialogConfirmEventDetail>(\"confirm\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tsortOrder: { type: String },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tsortBy: { type: String },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tsortByItem: { type: HTMLElement },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tsortDescending: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tfilters: { type: Array },\n\t},\n})\n\n/**\n * Fired when cancel button is activated.\n * @param {String} sortOrder The current sort order selected.\n * @param {String} sortBy The currently selected `ui5-sort-item` text attribute.\n * @param {HTMLElement} sortByItem The currently selected `ui5-sort-item`.\n * @param {Boolean} sortDescending The selected sort order (true = descending, false = ascending).\n * @param {Array} filters The selected filters items.\n * @public\n */\n@event<ViewSettingsDialogCancelEventDetail>(\"cancel\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tsortOrder: { type: String },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tsortBy: { type: String },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tsortByItem: { type: HTMLElement },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tsortDescending: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tfilters: { type: Array },\n\t},\n})\n\n/**\n * Fired before the component is opened. **This event does not bubble.**\n * @public\n */\n@event(\"before-open\")\n/**\n * Fired after the dialog is opened.\n * @since 2.0.0\n * @public\n */\n@event(\"open\")\n/**\n * Fired after the dialog is closed.\n * @since 2.0.0\n * @public\n */\n@event(\"close\")\nclass ViewSettingsDialog extends UI5Element {\n\t/**\n\t * Defines the initial sort order.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tsortDescending = false;\n\n\t/**\n\t * Indicates if the dialog is open.\n\t * @public\n\t * @default false\n\t * @since 2.0.0\n\t */\n\t@property({ type: Boolean })\n\topen = false;\n\n\t/**\n\t * Keeps recently focused list in order to focus it on next dialog open.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_recentlyFocused?: List;\n\n\t/**\n\t * Stores current settings of the dialog.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_currentSettings: VSDInternalSettings = {\n\t\tsortOrder: [],\n\t\tsortBy: [],\n\t\tfilters: [],\n\t};\n\n\t/**\n\t * Stores settings of the dialog before the initial open.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_initialSettings: VSDInternalSettings = this._currentSettings;\n\n\t/**\n\t * Stores settings of the dialog after confirmation.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_confirmedSettings: VSDInternalSettings = this._currentSettings;\n\n\t/**\n\t * Defnies the current mode of the component.\n\t * @since 1.0.0-rc.16\n\t * @private\n\t */\n\t@property()\n\t_currentMode: `${ViewSettingsDialogMode}` = \"Sort\";\n\n\t/**\n\t * When in Filter By mode, defines whether we need to show the list of keys, or the list with values.\n\t * @since 1.0.0-rc.16\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_filterStepTwo = false;\n\n\t/**\n\t * Defines the list of items against which the user could sort data.\n\t *\n\t * **Note:** If you want to use this slot, you need to import used item: `import \"@ui5/webcomponents-fiori/dist/SortItem.js\";`\n\t * @public\n\t */\n\t@slot()\n\tsortItems!: Array<SortItem>\n\n\t/**\n\t * Defines the `filterItems` list.\n\t *\n\t * **Note:** If you want to use this slot, you need to import used item: `import \"@ui5/webcomponents-fiori/dist/FilterItem.js\";`\n\t * @public\n\t */\n\t@slot()\n\tfilterItems!: Array<FilterItem>;\n\n\t_dialog?: Dialog;\n\t_sortOrder?: List;\n\t_sortBy?: List;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\tonBeforeRendering() {\n\t\tif (this._currentSettings.filters && this._currentSettings.filters.length) {\n\t\t\tthis._setAdditionalTexts();\n\t\t}\n\n\t\tif (!this.shouldBuildSort && this.shouldBuildFilter) {\n\t\t\tthis._currentMode = ViewSettingsDialogMode.Filter;\n\t\t}\n\t}\n\n\tonInvalidation(changeInfo: ChangeInfo) {\n\t\tif (changeInfo.type === \"slot\") {\n\t\t\tthis._confirmedSettings = this._settings;\n\t\t}\n\t}\n\n\t_setAdditionalTexts() {\n\t\t// Add the additional text to the filter options\n\t\tthis.filterItems.forEach((filter, index) => {\n\t\t\tlet selectedCount = 0;\n\t\t\tfor (let i = 0; i < filter.values.length; i++) {\n\t\t\t\tif (this._currentSettings.filters[index].filterOptions[i].selected) {\n\t\t\t\t\tselectedCount++;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfilter.additionalText = !selectedCount ? \"\" : `${selectedCount}`;\n\t\t});\n\t}\n\n\tget _selectedFilter() {\n\t\tfor (let i = 0; i < this._currentSettings.filters.length; i++) {\n\t\t\tif (this._currentSettings.filters[i].selected) {\n\t\t\t\treturn this._currentSettings.filters[i];\n\t\t\t}\n\t\t}\n\t}\n\n\tget shouldBuildSort() {\n\t\treturn !!this.sortItems.length;\n\t}\n\n\tget shouldBuildFilter() {\n\t\treturn !!this.filterItems.length;\n\t}\n\n\tget hasPagination() {\n\t\treturn this.shouldBuildSort && this.shouldBuildFilter;\n\t}\n\n\tget _filterByTitle() {\n\t\tconst selectedFilterText = this._selectedFilter ? this._selectedFilter.text : \"\";\n\t\treturn `${ViewSettingsDialog.i18nBundle.getText(VSD_FILTER_BY)}: ${selectedFilterText}`;\n\t}\n\n\tget _dialogTitle() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_DIALOG_TITLE_SORT);\n\t}\n\n\tget _okButtonLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SUBMIT_BUTTON);\n\t}\n\n\tget _cancelButtonLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_CANCEL_BUTTON);\n\t}\n\n\tget _resetButtonLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_RESET_BUTTON);\n\t}\n\n\tget _ascendingLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_ORDER_ASCENDING);\n\t}\n\n\tget _descendingLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_ORDER_DESCENDING);\n\t}\n\n\tget _sortOrderLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SORT_ORDER);\n\t}\n\n\tget _filterByLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_FILTER_BY);\n\t}\n\n\tget _sortByLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SORT_BY);\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget _sortAscending() {\n\t\treturn !this.sortDescending;\n\t}\n\n\tget _title() {\n\t\treturn this.showBackButton\n\t\t\t? this._filterByTitle\n\t\t\t: this._dialogTitle;\n\t}\n\n\t/**\n\t * Determines disabled state of the `Reset` button.\n\t */\n\tget _disableResetButton() {\n\t\treturn this._dialog && this._sortSetttingsAreInitial && this._filteresAreInitial;\n\t}\n\n\tget _sortSetttingsAreInitial() {\n\t\tlet settingsAreInitial = true;\n\t\t[\"sortBy\", \"sortOrder\"].forEach(sortList => {\n\t\t\tthis._currentSettings[sortList as keyof VSDInternalSettings].forEach((item, index) => {\n\t\t\t\tif (item.selected !== this._initialSettings[sortList as keyof VSDInternalSettings][index].selected) {\n\t\t\t\t\tsettingsAreInitial = false;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\treturn settingsAreInitial;\n\t}\n\n\tget _filteresAreInitial() {\n\t\tlet filtersAreInitial = true;\n\t\tthis._currentSettings.filters.forEach((filter, index) => {\n\t\t\tfor (let i = 0; i < filter.filterOptions.length; i++) {\n\t\t\t\tif (filter.filterOptions[i].selected !== this._initialSettings.filters[index].filterOptions[i].selected) {\n\t\t\t\t\tfiltersAreInitial = false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treturn filtersAreInitial;\n\t}\n\n\t/**\n\t * Returns the current settings (current state of all lists).\n\t */\n\tget _settings(): VSDInternalSettings {\n\t\treturn {\n\t\t\tsortOrder: JSON.parse(JSON.stringify(this.initSortOrderItems)),\n\t\t\tsortBy: JSON.parse(JSON.stringify(this.initSortByItems)),\n\t\t\tfilters: this.filterItems.map(item => {\n\t\t\t\treturn {\n\t\t\t\t\ttext: item.text || \"\",\n\t\t\t\t\tselected: false,\n\t\t\t\t\tfilterOptions: item.values.map(optionValue => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttext: optionValue.text || \"\",\n\t\t\t\t\t\t\tselected: optionValue.selected,\n\t\t\t\t\t\t};\n\t\t\t\t\t}),\n\t\t\t\t};\n\t\t\t}),\n\t\t};\n\t}\n\n\tget initSortByItems() {\n\t\treturn this.sortItems.map((item, index) => {\n\t\t\treturn {\n\t\t\t\ttext: item.text,\n\t\t\t\tselected: item.selected,\n\t\t\t\tindex,\n\t\t\t};\n\t\t});\n\t}\n\n\tget initSortOrderItems() {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttext: this._ascendingLabel,\n\t\t\t\tselected: !this.sortDescending,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: this._descendingLabel,\n\t\t\t\tselected: this.sortDescending,\n\t\t\t},\n\t\t];\n\t}\n\n\tget expandContent() {\n\t\treturn this._filterStepTwo || !this.hasPagination;\n\t}\n\n\tget isModeSort() {\n\t\treturn this._currentMode === ViewSettingsDialogMode.Sort;\n\t}\n\n\tget isModeFilter() {\n\t\treturn this._currentMode === ViewSettingsDialogMode.Filter;\n\t}\n\n\tget showBackButton() {\n\t\treturn this.isModeFilter && this._filterStepTwo;\n\t}\n\n\tget _sortOrderListDomRef() {\n\t\treturn this.shadowRoot!.querySelector<List>(\"[ui5-list][sort-order]\")!;\n\t}\n\n\tget _sortByList() {\n\t\treturn this.shadowRoot!.querySelector<List>(\"[ui5-list][sort-by]\")!;\n\t}\n\n\tget _dialogDomRef() {\n\t\treturn this.shadowRoot!.querySelector<Dialog>(\"[ui5-dialog]\")!;\n\t}\n\n\t/**\n\t * Shows the dialog.\n\t */\n\tbeforeDialogOpen(): void {\n\t\tif (!this._dialog) {\n\t\t\tthis._sortOrder = this._sortOrderListDomRef;\n\t\t\tthis._sortBy = this._sortByList;\n\n\t\t\t// Sorting\n\t\t\tthis._initialSettings = this._settings;\n\t\t\tthis._currentSettings = this._settings;\n\t\t\tthis._confirmedSettings = this._settings;\n\n\t\t\tthis._dialog = this._dialogDomRef;\n\t\t} else {\n\t\t\tthis._restoreSettings(this._confirmedSettings);\n\t\t}\n\n\t\tthis.fireEvent(\"before-open\", {}, true, false);\n\t}\n\n\tafterDialogOpen(): void {\n\t\tthis._dialog?.querySelector<List>(\"[ui5-list]\")?.focusFirstItem();\n\n\t\tthis._focusRecentlyUsedControl();\n\n\t\tthis.fireEvent(\"open\");\n\t}\n\n\tafterDialogClose(): void {\n\t\tthis.fireEvent(\"close\");\n\t}\n\n\t_handleModeChange(e: CustomEvent) { // use SegmentedButton event when done\n\t\tconst mode: ViewSettingsDialogMode = e.detail.selectedItems[0].getAttribute(\"mode\");\n\t\tthis._currentMode = ViewSettingsDialogMode[mode];\n\t}\n\n\t_handleFilterValueItemClick(e: CustomEvent<ListItemClickEventDetail>) {\n\t\t// Update the component state\n\t\tthis._currentSettings.filters = this._currentSettings.filters.map(filter => {\n\t\t\tif (filter.selected) {\n\t\t\t\tfilter.filterOptions.forEach(option => {\n\t\t\t\t\tif (option.text === e.detail.item.innerText) {\n\t\t\t\t\t\toption.selected = !option.selected;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn filter;\n\t\t});\n\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t_navigateToFilters() {\n\t\tthis._filterStepTwo = false;\n\t}\n\n\t_changeCurrentFilter(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tthis._filterStepTwo = true;\n\t\tthis._currentSettings.filters = this._currentSettings.filters.map(filter => {\n\t\t\tfilter.selected = filter.text === e.detail.item.innerText;\n\t\t\treturn filter;\n\t\t});\n\t}\n\n\t/**\n\t * Sets focus on recently used control within the dialog.\n\t */\n\t_focusRecentlyUsedControl() {\n\t\tif (!this._recentlyFocused || !Object.keys(this._recentlyFocused).length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst recentlyFocusedSelectedItems = this._recentlyFocused.getSelectedItems();\n\t\tif (recentlyFocusedSelectedItems.length) {\n\t\t\trecentlyFocusedSelectedItems[0].focus();\n\t\t}\n\t}\n\n\t/**\n\t * Stores current settings as confirmed and fires `confirm` event.\n\t */\n\t_confirmSettings() {\n\t\tthis.open = false;\n\t\tthis._confirmedSettings = this._currentSettings;\n\n\t\tthis.fireEvent<ViewSettingsDialogConfirmEventDetail>(\"confirm\", this.eventsParams);\n\t}\n\n\t/**\n\t * Sets current settings to recently confirmed ones and fires `cancel` event.\n\t */\n\t_cancelSettings() {\n\t\tthis._restoreSettings(this._confirmedSettings);\n\n\t\tthis.fireEvent<ViewSettingsDialogCancelEventDetail>(\"cancel\", this.eventsParams);\n\t\tthis.open = false;\n\t}\n\n\tget eventsParams() {\n\t\tconst _currentSortOrderSelected = this._currentSettings.sortOrder.filter(item => item.selected)[0],\n\t\t\t_currentSortBySelected = this._currentSettings.sortBy.filter(item => item.selected)[0],\n\t\t\tsortOrder = _currentSortOrderSelected && (_currentSortOrderSelected.text || \"\"),\n\t\t\tsortDescending = !this._currentSettings.sortOrder[0].selected,\n\t\t\tsortBy = _currentSortBySelected && (_currentSortBySelected.text || \"\"),\n\t\t\tsortByElementIndex = _currentSortBySelected && _currentSortBySelected.index,\n\t\t\tsortByItem = this.sortItems[sortByElementIndex];\n\t\treturn {\n\t\t\tsortOrder,\n\t\t\tsortDescending,\n\t\t\tsortBy,\n\t\t\tsortByItem,\n\t\t\tfilters: this.selectedFilters,\n\t\t};\n\t}\n\n\tget selectedFilters() {\n\t\tconst result: VSDFilters = [];\n\n\t\tthis._currentSettings.filters.forEach(filter => {\n\t\t\tconst selectedOptions: Array<string> = [];\n\n\t\t\tfilter.filterOptions.forEach(option => {\n\t\t\t\tif (option.selected) {\n\t\t\t\t\tselectedOptions.push(option.text || \"\");\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (selectedOptions.length) {\n\t\t\t\tresult.push({});\n\t\t\t\tresult[result.length - 1][filter.text || \"\"] = selectedOptions;\n\t\t\t}\n\t\t});\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * If the dialog is closed by [Escape] key, do the same as if the `Cancel` button is pressed.\n\t * @param evt\n\t */\n\t_restoreConfirmedOnEscape(evt: CustomEvent) { // Dialog#before-close\n\t\tif (evt.detail.escPressed) {\n\t\t\tthis._cancelSettings();\n\t\t\tthis._currentMode = ViewSettingsDialogMode.Sort;\n\t\t\tthis._filterStepTwo = false;\n\t\t}\n\t}\n\n\t/**\n\t * Resets the control settings to their initial state.\n\t */\n\t _resetSettings() {\n\t\tthis._restoreSettings(this._initialSettings);\n\t\tthis._recentlyFocused = this._sortOrder!;\n\t\tthis._focusRecentlyUsedControl();\n\t}\n\n\t/**\n\t * Sets current settings to ones passed as `settings` argument.\n\t * @param settings\n\t */\n\t_restoreSettings(settings: VSDInternalSettings) {\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(settings));\n\t\tthis._currentMode = ViewSettingsDialogMode.Sort;\n\t\tthis._filterStepTwo = false;\n\t}\n\n\t/**\n\t * Stores `Sort Order` list as recently used control and its selected item in current state.\n\t */\n\t_onSortOrderChange(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tthis._recentlyFocused = this._sortOrder!;\n\t\tthis._currentSettings.sortOrder = this.initSortOrderItems.map(item => {\n\t\t\titem.selected = item.text === e.detail.item.innerText;\n\t\t\treturn item;\n\t\t});\n\n\t\t// Invalidate\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t/**\n\t * Stores `Sort By` list as recently used control and its selected item in current state.\n\t */\n\t _onSortByChange(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst selectedItemIndex = Number(e.detail.item.getAttribute(\"data-ui5-external-action-item-index\"));\n\t\tthis._recentlyFocused = this._sortBy!;\n\t\tthis._currentSettings.sortBy = this.initSortByItems.map((item, index) => {\n\t\t\titem.selected = index === selectedItemIndex;\n\t\t\treturn item;\n\t\t});\n\t\t// Invalidate\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t/**\n\t * Sets a JavaScript object, as settings to the `ui5-view-settings-dialog`.\n\t * This method can be used after the dialog is initially open, as the dialog needs\n\t * to set its initial settings.\n\t * The `ui5-view-settings-dialog` throws an event called \"before-open\",\n\t * which can be used as a trigger point.\n\t * The object should have the following format:\n\t * @param settings - predefined settings.\n\t * @public\n\t */\n\tsetConfirmedSettings(settings: VSDSettings): void {\n\t\tif (settings && this._dialog && !this._dialog.open) {\n\t\t\tconst tempSettings: VSDInternalSettings = JSON.parse(JSON.stringify(this._confirmedSettings));\n\t\t\tif (settings.sortOrder) {\n\t\t\t\tfor (let i = 0; i < tempSettings.sortOrder.length; i++) {\n\t\t\t\t\tif (tempSettings.sortOrder[i].text === settings.sortOrder) {\n\t\t\t\t\t\ttempSettings.sortOrder[i].selected = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttempSettings.sortOrder[i].selected = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (settings.sortBy) {\n\t\t\t\tfor (let i = 0; i < tempSettings.sortBy.length; i++) {\n\t\t\t\t\tif (tempSettings.sortBy[i].text === settings.sortBy) {\n\t\t\t\t\t\ttempSettings.sortBy[i].selected = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttempSettings.sortBy[i].selected = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (settings.filters) {\n\t\t\t\tconst inputFilters: VSDFilter = {};\n\t\t\t\tfor (let i = 0; i < settings.filters.length; i++) {\n\t\t\t\t\tinputFilters[Object.keys(settings.filters[i])[0]] = settings.filters[i][Object.keys(settings.filters[i])[0]];\n\t\t\t\t}\n\n\t\t\t\tfor (let i = 0; i < tempSettings.filters.length; i++) {\n\t\t\t\t\tfor (let j = 0; j < tempSettings.filters[i].filterOptions.length; j++) {\n\t\t\t\t\t\tif (inputFilters[tempSettings.filters[i].text || \"\"] && inputFilters[tempSettings.filters[i].text || \"\"].indexOf(tempSettings.filters[i].filterOptions[j].text || \"\") > -1) {\n\t\t\t\t\t\t\ttempSettings.filters[i].filterOptions[j].selected = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttempSettings.filters[i].filterOptions[j].selected = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._confirmedSettings = JSON.parse(JSON.stringify(tempSettings));\n\t\t}\n\t}\n}\n\nViewSettingsDialog.define();\n\nexport default ViewSettingsDialog;\nexport type {\n\tViewSettingsDialogConfirmEventDetail,\n\tViewSettingsDialogCancelEventDetail,\n\tVSDSettings,\n};\n"]}
|
package/dist/Wizard.d.ts
CHANGED
package/dist/Wizard.js
CHANGED
|
@@ -10,8 +10,8 @@ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
|
10
10
|
import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
|
|
11
11
|
import event from "@ui5/webcomponents-base/dist/decorators/event.js";
|
|
12
12
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
13
|
+
import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
13
14
|
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
14
|
-
import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
15
15
|
import getEffectiveScrollbarStyle from "@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js";
|
|
16
16
|
import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
|
|
17
17
|
import NavigationMode from "@ui5/webcomponents-base/dist/types/NavigationMode.js";
|
|
@@ -198,9 +198,6 @@ let Wizard = Wizard_1 = class Wizard extends UI5Element {
|
|
|
198
198
|
},
|
|
199
199
|
};
|
|
200
200
|
}
|
|
201
|
-
static async onDefine() {
|
|
202
|
-
Wizard_1.i18nBundle = await getI18nBundle("@ui5/webcomponents-fiori");
|
|
203
|
-
}
|
|
204
201
|
static get SCROLL_DEBOUNCE_RATE() {
|
|
205
202
|
return 25;
|
|
206
203
|
}
|
|
@@ -824,6 +821,9 @@ __decorate([
|
|
|
824
821
|
invalidateOnChildChange: true,
|
|
825
822
|
})
|
|
826
823
|
], Wizard.prototype, "steps", void 0);
|
|
824
|
+
__decorate([
|
|
825
|
+
i18n("@ui5/webcomponents-fiori")
|
|
826
|
+
], Wizard, "i18nBundle", void 0);
|
|
827
827
|
Wizard = Wizard_1 = __decorate([
|
|
828
828
|
customElement({
|
|
829
829
|
tag: "ui5-wizard",
|
package/dist/Wizard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wizard.js","sourceRoot":"","sources":["../src/Wizard.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport debounce from \"@ui5/webcomponents-base/dist/util/debounce.js\";\nimport { getFirstFocusableElement } from \"@ui5/webcomponents-base/dist/util/FocusableElements.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport ResponsivePopover from \"@ui5/webcomponents/dist/ResponsivePopover.js\";\nimport type WizardContentLayout from \"./types/WizardContentLayout.js\";\n\n// Texts\nimport {\n\tWIZARD_NAV_STEP_DEFAULT_HEADING,\n\tWIZARD_NAV_ARIA_ROLE_DESCRIPTION,\n\tWIZARD_NAV_ARIA_LABEL,\n\tWIZARD_LIST_ARIA_LABEL,\n\tWIZARD_LIST_ARIA_DESCRIBEDBY,\n\tWIZARD_ACTIONSHEET_STEPS_ARIA_LABEL,\n\tWIZARD_OPTIONAL_STEP_ARIA_LABEL,\n\tWIZARD_STEP_ARIA_LABEL,\n\tWIZARD_STEP_ACTIVE,\n\tWIZARD_STEP_INACTIVE,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Step in header and content\nimport WizardTab from \"./WizardTab.js\";\nimport WizardStep from \"./WizardStep.js\";\n\n// Template and Styles\nimport WizardTemplate from \"./generated/templates/WizardTemplate.lit.js\";\nimport WizardCss from \"./generated/themes/Wizard.css.js\";\nimport WizardPopoverCss from \"./generated/themes/WizardPopover.css.js\";\n\nconst MIN_STEP_WIDTH_NO_TITLE = 64;\nconst MIN_STEP_WIDTH_WITH_TITLE = 200;\n\nconst EXPANDED_STEP = \"data-ui5-wizard-expanded-tab\";\nconst AFTER_EXPANDED_STEP = \"data-ui5-wizard-expanded-tab-next\";\nconst AFTER_CURRENT_STEP = \"data-ui5-wizard-after-current-tab\";\nconst BEFORE_EXPANDED_STEP = \"data-ui5-wizard-expanded-tab-prev\";\n\nconst STEP_SWITCH_THRESHOLDS = {\n\tMIN: 0.5,\n\tDEFAULT: 0.7,\n\tMAX: 1,\n};\n\ntype ResponsiveBreakpoints = {\n\t[key: string]: string,\n}\n\ntype WizardStepChangeEventDetail = {\n\tstep: WizardStep,\n\tpreviousStep: WizardStep,\n\twithScroll: boolean,\n}\n\nconst RESPONSIVE_BREAKPOINTS: ResponsiveBreakpoints = {\n\t\"0\": \"S\",\n\t\"599\": \"M\",\n\t\"1023\": \"L\",\n\t\"1439\": \"XL\",\n};\n\ntype AccessibilityInformation = {\n\tariaSetsize: number,\n\tariaPosinset: number,\n\tariaLabel: string,\n}\n\ntype StepInfo = {\n\ticon?: string,\n\ttitleText?: string,\n\tsubtitleText?: string,\n\tnumber: number,\n\tselected: boolean,\n\tdisabled: boolean,\n\thideSeparator: boolean,\n\tactiveSeparator: boolean,\n\tbranchingSeparator: boolean,\n\tpos: number,\n\taccInfo: AccessibilityInformation,\n\trefStepId: string,\n\tstyles: object,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-wizard` helps users to complete a complex task by dividing it into sections and guiding them through it.\n * It has two main areas - a navigation area at the top showing the step sequence and a content area below it.\n *\n * ### Structure\n * #### Navigation area\n * The top most area of the `ui5-wizard` is occupied by the navigation area.\n * It shows the sequence of steps, where the recommended number of steps is between 3 and 8 steps.\n *\n * - Steps can have different visual representations - numbers or icons.\n * - Steps might have labels for better readability - titleText and subTitleText.\n * - Steps are defined by using the `ui5-wizard-step` as slotted element within the `ui5-wizard`.\n *\n * **Note:** If no selected step is defined, the first step will be auto selected.\n *\n * **Note:** If multiple selected steps are defined, the last step will be selected.\n *\n * ### Keyboard Handling\n * The user can navigate using the following keyboard shortcuts:\n *\n * #### Wizard Progress Navigation\n *\n * \t- [Left] or [Down] - Focus moves backward to the WizardProgressNavAnchors.\n * \t- [Up] or [Right] - Focus moves forward to the WizardProgressNavAnchor.\n * \t- [Space] / [Enter] or [Return] - Selects an active step\n * \t- [Home] or [PAGE UP] - Focus goes to the first step\n * \t- [End] or [PAGE DOWN] - Focus goes to the last step\n *\n * #### Fast Navigation\n * This component provides a build in fast navigation group which can be used via [F6] / [Shift] + [F6] / [Ctrl] + [Alt/Option] / [Down] or [Ctrl] + [Alt/Option] + [Up].\n * In order to use this functionality, you need to import the following module:\n * `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n * #### Content\n * The content occupies the main part of the page. It can hold any type of HTML elements.\n * It's defined by using the `ui5-wizard-step` as slotted element within the `ui5-wizard`.\n *\n * ### Scrolling\n * The component handles user scrolling by selecting the closest step, based on the current scroll position\n * and scrolls to particular place, when the user clicks on the step within the navigation area.\n *\n * **Important:** In order the component's scrolling behaviour to work, it has to be limited from the outside parent element in terms of height.\n * The component or its parent has to be given percentage or absolute height. Otherwise, the component will be scrolled out with the entire page.\n *\n * **For example:**\n *\n * ```html\n * <ui5-dialog style=\"height: 80%\">\n * \t<ui5-wizard></ui5-wizard>\n * </ui5-dialog>\n * ```\n *\n * #### Moving to next step\n * The `ui5-wizard-step` provides the necessary API and it's up to the user of the component to use it to move to the next step.\n * You have to set its `selected` property (and remove the `disabled` one if set) to `true`.\n * The `ui5-wizard` will automatically scroll to the content of the newly selected step.\n *\n * The Fiori 3 guidelines recommends having a \"nextStep\" button in the content area.\n * You can place a button, or any other type of element to trigger step change, inside the `ui5-wizard-step`,\n * and show/hide it when certain fields are filled or user defined criteria is met.\n *\n * ### Usage\n * #### When to use:\n * When the user has to accomplish a long or unfamiliar task.\n *\n * #### When not to use:\n * When the task has less than 3 steps.\n *\n * ### Responsive Behavior\n * On small widths the step's titleText, subtitleText and separators in the navigation area shrink and from particular point the steps are grouped together and overlap.\n * Tapping on them will show a popover to select the step to navigate to. On mobile device, the grouped steps are presented within a dialog.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents-fiori/dist/Wizard.js\";` (includes <ui5-wizard-step/>)\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.10\n * @public\n * @csspart navigator - Used to style the progress navigator of the `ui5-wizard`.\n * @csspart step-content - Used to style a `ui5-wizard-step` container.\n */\n@customElement({\n\ttag: \"ui5-wizard\",\n\tlanguageAware: true,\n\tfastNavigation: true,\n\trenderer: litRender,\n\tstyles: [\n\t\tWizardCss,\n\t\tWizardPopoverCss,\n\t\tgetEffectiveScrollbarStyle(),\n\t],\n\ttemplate: WizardTemplate,\n\tdependencies: [\n\t\tWizardTab,\n\t\tWizardStep,\n\t\tResponsivePopover,\n\t\tButton,\n\t],\n})\n\n/**\n * Fired when the step is changed by user interaction - either with scrolling,\n * or by clicking on the steps within the component header.\n * @param {WizardStep} step The new step.\n * @param {WizardStep} previousStep The previous step.\n * @param {boolean} withScroll true when the event occurs due to user scrolling.\n * @public\n */\n@event<WizardStepChangeEventDetail>(\"step-change\", {\n\tdetail: {\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\tstep: { type: HTMLElement },\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\tpreviousStep: { type: HTMLElement },\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\twithScroll: { type: Boolean },\n\t},\n})\n\nclass Wizard extends UI5Element {\n\t/**\n\t * Defines how the content of the `ui5-wizard` would be visualized.\n\t * @public\n\t * @since 1.14.0\n\t * @default \"MultipleSteps\"\n\t */\n\t@property()\n\tcontentLayout: `${WizardContentLayout}` = \"MultipleSteps\";\n\n\t/**\n\t * Defines the width of the `ui5-wizard`.\n\t * @private\n\t */\n\t@property({ type: Number })\n\twidth?: number\n\n\t/**\n\t * Defines the threshold to switch between steps upon user scrolling.\n\t *\n\t * **For Example:**\n\t *\n\t * (1) To switch to the next step, when half of the step is scrolled out - set `step-switch-threshold=\"0.5\"`.\n\t * (2) To switch to the next step, when the entire current step is scrolled out - set `step-switch-threshold=\"1\"`.\n\t *\n\t * **Note:** Supported values are between 0.5 and 1\n\t * and values out of the range will be normalized to 0.5 and 1 respectively.\n\t * @private\n\t * @default 0.7\n\t * @since 1.0.0-rc.13\n\t */\n\t@property({ type: Number })\n\tstepSwitchThreshold = STEP_SWITCH_THRESHOLDS.DEFAULT;\n\n\t/**\n\t * Defines the height of the `ui5-wizard` content.\n\t * @private\n\t */\n\t@property({ type: Number })\n\tcontentHeight?: number;\n\n\t/**\n\t * Stores references to the grouped steps.\n\t * @private\n\t */\n\t@property({ type: Array })\n\t_groupedTabs: Array<WizardTab> = [];\n\n\t@property()\n\t_breakpoint?: string\n\n\t/**\n\t * Defines the steps.\n\t *\n\t * **Note:** Use the available `ui5-wizard-step` component.\n\t * @public\n\t */\n\t@slot({\n\t\t\"default\": true,\n\t\ttype: HTMLElement,\n\t\t\"individualSlots\": true,\n\t\tinvalidateOnChildChange: true,\n\t})\n\tsteps!: Array<WizardStep>\n\n\tstatic i18nBundle: I18nBundle;\n\n\tstepScrollOffsets: Array<number>;\n\tselectedStepIndex: number;\n\tpreviouslySelectedStepIndex: number;\n\tselectionRequestedByClick: boolean;\n\tselectionRequestedByScroll: boolean;\n\n\t_prevWidth: number;\n\t_prevContentHeight: number;\n\t_itemNavigation: ItemNavigation;\n\t_onStepResize: ResizeObserverCallback;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\t// Stores the scroll offsets of the steps,\n\t\t// e.g. the steps' starting point.\n\t\tthis.stepScrollOffsets = [];\n\n\t\t// Keeps track of the currently selected step index.\n\t\tthis.selectedStepIndex = 0;\n\n\t\t// Keeps track of the previously selected step index.\n\t\tthis.previouslySelectedStepIndex = 0;\n\n\t\t// Indicates that selection will be changed\n\t\t// due to user click.\n\t\tthis.selectionRequestedByClick = false;\n\n\t\t// Stores the previous width\n\t\tthis._prevWidth = 0;\n\n\t\t// Stores the previous height\n\t\tthis._prevContentHeight = 0;\n\n\t\t// Indicates that selection will be changed\n\t\t// due to user scroll.\n\t\tthis.selectionRequestedByScroll = false;\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tnavigationMode: NavigationMode.Auto,\n\t\t\tgetItemsCallback: () => this.enabledStepsInHeaderDOM,\n\t\t});\n\n\t\tthis._onStepResize = this.onStepResize.bind(this);\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-wiz-root\": true,\n\t\t\t},\n\t\t\tpopover: {\n\t\t\t\t\"ui5-wizard-responsive-popover\": true,\n\t\t\t\t\"ui5-wizard-popover\": !isPhone(),\n\t\t\t\t\"ui5-wizard-dialog\": isPhone(),\n\t\t\t},\n\t\t};\n\t}\n\n\tstatic async onDefine() {\n\t\tWizard.i18nBundle = await getI18nBundle(\"@ui5/webcomponents-fiori\");\n\t}\n\n\tstatic get SCROLL_DEBOUNCE_RATE() {\n\t\treturn 25;\n\t}\n\n\tonExitDOM() {\n\t\tthis.detachStepsResizeObserver();\n\t}\n\n\tonBeforeRendering() {\n\t\tthis.syncSelection();\n\t}\n\n\tonAfterRendering() {\n\t\tthis.storeStepScrollOffsets();\n\n\t\tif (this.previouslySelectedStepIndex !== this.selectedStepIndex) {\n\t\t\tthis.scrollToSelectedStep();\n\t\t}\n\n\t\tthis.attachStepsResizeObserver();\n\t\tthis.previouslySelectedStepIndex = this.selectedStepIndex;\n\t}\n\n\t/**\n\t * Normalizes the step selection as follows:\n\t * (1) If there is no selected step - the first step is going to be selected.\n\t * (2) If the selected steps are more than one - the last step is going to be selected.\n\t * (3) If the selected step is also disabled - log a warning.\n\t * @private\n\t */\n\tsyncSelection() {\n\t\tif (this.stepsCount === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If no selected steps -> select the first step.\n\t\tif (this.selectedStepsCount === 0) {\n\t\t\tthis.selectFirstStep();\n\t\t\tconsole.warn(\"Selecting the first step: no selected step is defined.\"); // eslint-disable-line\n\t\t}\n\n\t\t// If there are multiple selected steps -> keep the last selected one.\n\t\tif (this.selectedStepsCount > 1) {\n\t\t\tthis.selectLastSelectedStep();\n\t\t\tconsole.warn(`Selecting the last step defined as selected: multiple selected steps are defined.`); // eslint-disable-line\n\t\t}\n\n\t\t// If the selected step is defined as disabled - log warning.\n\t\tif (this.selectedStep && this.selectedStep.disabled) {\n\t\t\tconsole.warn(\"The selected step is disabled: you need to enable it in order to interact with the step.\"); // eslint-disable-line\n\t\t}\n\n\t\t// Place for improvement: If the selected step is not the first, enable all the prior steps\n\t\tthis.selectedStepIndex = this.getSelectedStepIndex();\n\n\t\tif (this.selectedStep && this.stepsInHeaderDOM.length) {\n\t\t\tif (this._itemNavigation._getItems().includes(this.stepsInHeaderDOM[this.selectedStepIndex])) {\n\t\t\t\tthis._itemNavigation.setCurrentItem(this.stepsInHeaderDOM[this.selectedStepIndex]);\n\t\t\t} else {\n\t\t\t\tthis._itemNavigation.setCurrentItem(this.stepsInHeaderDOM.find(el => el.selected) as WizardTab);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Selects the first step.\n\t * @private\n\t */\n\tselectFirstStep() {\n\t\tthis.deselectAll();\n\t\tthis.slottedSteps[0].selected = true;\n\t\tthis.slottedSteps[0].disabled = false;\n\t}\n\n\t/**\n\t * Selects the last step from multiple selected ones.\n\t * @private\n\t */\n\tselectLastSelectedStep() {\n\t\tconst lastSelectedStep = this.lastSelectedStep;\n\n\t\tif (lastSelectedStep) {\n\t\t\tthis.deselectAll();\n\t\t\tlastSelectedStep.selected = true;\n\t\t\tlastSelectedStep.disabled = false;\n\t\t}\n\t}\n\n\t/**\n\t * Deselects all steps.\n\t * @private\n\t */\n\tdeselectAll() {\n\t\tthis.slottedSteps.forEach(step => {\n\t\t\tstep.selected = false;\n\t\t});\n\t}\n\n\t/**\n\t * Stores the scroll offsets of the steps,\n\t * e.g. the steps' starting point.\n\t *\n\t * **Note:** the disabled ones has negative offsets.\n\t * @private\n\t */\n\tstoreStepScrollOffsets() {\n\t\tthis.stepScrollOffsets = this.slottedSteps.map(step => {\n\t\t\tconst contentItem = this.getStepWrapperByRefId(step._id);\n\t\t\treturn contentItem.offsetTop + contentItem.offsetHeight;\n\t\t});\n\t}\n\n\t/**\n\t * Handles user click on steps' tabs within the header.\n\t * **Note:** the handler is bound in the template.\n\t * @private\n\t */\n\tonSelectionChangeRequested(e: MouseEvent) {\n\t\tthis.selectionRequestedByClick = true;\n\t\tthis.changeSelectionByStepAction(e.target as WizardTab);\n\t}\n\n\t/**\n\t * Handles user scrolling with debouncing.\n\t * **Note:** the handler is bound in the template.\n\t * @private\n\t */\n\tonScroll(e: MouseEvent) {\n\t\tif (this.selectionRequestedByClick) {\n\t\t\tthis.selectionRequestedByClick = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.contentLayout !== \"SingleStep\") {\n\t\t\tdebounce(this.changeSelectionByScroll.bind(this, (e.target as HTMLElement).scrollTop), Wizard.SCROLL_DEBOUNCE_RATE);\n\t\t}\n\t}\n\n\t/**\n\t * Handles when a step in the header is focused in order to update the `ItemNavigation`.\n\t * **Note:** the handler is bound in the template.\n\t * @private\n\t */\n\tonStepInHeaderFocused(e: FocusEvent) {\n\t\tthis._itemNavigation.setCurrentItem(e.target as WizardTab);\n\t}\n\n\t/**\n\t * Handles resize in order to:\n\t * (1) sync steps' scroll offset and selection\n\t * (2) adapt navition step header\n\t * @private\n\t */\n\tonStepResize() {\n\t\tthis.width = this.getBoundingClientRect().width;\n\t\tthis.contentHeight = this.getContentHeight();\n\n\t\tif (this._prevWidth !== this.width || this.contentHeight !== this._prevContentHeight) {\n\t\t\tthis._closeRespPopover();\n\t\t}\n\n\t\tthis._prevWidth = this.width;\n\t\tthis._prevContentHeight = this.contentHeight;\n\n\t\tthis._calcCurrentBreakpoint();\n\t}\n\n\tattachStepsResizeObserver() {\n\t\tthis.stepsDOM.forEach(stepDOM => {\n\t\t\tResizeHandler.deregister(stepDOM, this._onStepResize);\n\t\t\tResizeHandler.register(stepDOM, this._onStepResize);\n\t\t});\n\t}\n\n\tdetachStepsResizeObserver() {\n\t\tthis.stepsDOM.forEach(stepDOM => {\n\t\t\tResizeHandler.deregister(stepDOM, this._onStepResize);\n\t\t});\n\t}\n\n\t_calcCurrentBreakpoint() {\n\t\tconst breakpointDimensions = Object.keys(RESPONSIVE_BREAKPOINTS).reverse();\n\t\tconst breakpoint = breakpointDimensions.find((size: string) => Number(size) < this.width!);\n\t\tthis._breakpoint = breakpoint ? RESPONSIVE_BREAKPOINTS[breakpoint] : RESPONSIVE_BREAKPOINTS[\"0\"];\n\t}\n\n\t/**\n\t * Updates the expanded attribute for each ui5-wizard-tab based on the ui5-wizard width\n\t * @private\n\t */\n\t_adjustHeaderOverflow() {\n\t\tlet counter = 0;\n\t\tlet isForward = true;\n\t\tconst tabs = this.stepsInHeaderDOM;\n\n\t\tif (!tabs.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst iWidth = this.progressNavigatorListDOM.getBoundingClientRect().width;\n\t\tconst iCurrStep = this.getSelectedStepIndex();\n\t\tconst iStepsToShow = this.steps.length ? Math.floor(iWidth / MIN_STEP_WIDTH_WITH_TITLE) : Math.floor(iWidth / MIN_STEP_WIDTH_NO_TITLE);\n\n\t\t[...tabs].forEach((step, index) => {\n\t\t\tstep.setAttribute(EXPANDED_STEP, \"false\");\n\t\t\tstep.setAttribute(BEFORE_EXPANDED_STEP, \"false\");\n\t\t\tstep.setAttribute(AFTER_EXPANDED_STEP, \"false\");\n\n\t\t\t// Add \"data-ui5-wizard-after-current-tab\" to all tabs after the current one\n\t\t\tif (index > iCurrStep) {\n\t\t\t\ttabs[index].setAttribute(AFTER_CURRENT_STEP, \"true\");\n\t\t\t} else {\n\t\t\t\ttabs[index].removeAttribute(AFTER_CURRENT_STEP);\n\t\t\t}\n\t\t});\n\n\t\t// Add \"data-ui5-wizard-expanded-tab\" to the current step\n\t\tif (tabs[iCurrStep]) {\n\t\t\ttabs[iCurrStep].setAttribute(EXPANDED_STEP, \"true\");\n\t\t}\n\n\t\t// Set the \"data-ui5-wizard-expanded-tab\" to the steps that are expanded\n\t\t// The algorithm is as follows:\n\t\t// 1. A step towards the end is expanded\n\t\t// \t1.2. If there are no available steps towards the end a step towards the beginning is expanded\n\t\t// 2. A step towards the beginning is expanded\n\t\t// \t2.2. If there are no available steps towards the beginning a step towards the end is expanded\n\t\tfor (let i = 1; i < iStepsToShow; i++) {\n\t\t\tif (isForward) {\n\t\t\t\tcounter += 1;\n\t\t\t}\n\n\t\t\tif (isForward && tabs[iCurrStep + counter]) {\n\t\t\t\ttabs[iCurrStep + counter].setAttribute(EXPANDED_STEP, \"true\");\n\t\t\t\tisForward = !isForward;\n\t\t\t} else if (!isForward && tabs[iCurrStep - counter]) {\n\t\t\t\ttabs[iCurrStep - counter].setAttribute(EXPANDED_STEP, \"true\");\n\t\t\t\tisForward = !isForward;\n\t\t\t} else if (tabs[iCurrStep + counter + 1]) {\n\t\t\t\tcounter += 1;\n\t\t\t\ttabs[iCurrStep + counter].setAttribute(EXPANDED_STEP, \"true\");\n\t\t\t\tisForward = true;\n\t\t\t} else if (tabs[iCurrStep - counter]) {\n\t\t\t\ttabs[iCurrStep - counter].setAttribute(EXPANDED_STEP, \"true\");\n\t\t\t\tcounter += 1;\n\t\t\t\tisForward = false;\n\t\t\t}\n\t\t}\n\n\t\t// mark the topmost steps of both groups (in the beginning and the end),\n\t\t// using the \"data-ui5-wizard-after-current-tab\" and \"data-ui5-wizard-expanded-tab-prev\" attributes\n\t\tfor (let i = 0; i < tabs.length; i++) {\n\t\t\tif (tabs[i].getAttribute(EXPANDED_STEP) === \"true\" && tabs[i - 1] && tabs[i - 1].getAttribute(EXPANDED_STEP) === \"false\") {\n\t\t\t\ttabs[i - 1].setAttribute(BEFORE_EXPANDED_STEP, \"true\");\n\t\t\t}\n\n\t\t\tif (tabs[i].getAttribute(EXPANDED_STEP) === \"false\" && tabs[i - 1] && tabs[i - 1].getAttribute(EXPANDED_STEP) === \"true\") {\n\t\t\t\ttabs[i].setAttribute(AFTER_EXPANDED_STEP, \"true\");\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t_isGroupAtStart(selectedStep: WizardTab) {\n\t\tconst iStepNumber = this.stepsInHeaderDOM.indexOf(selectedStep);\n\t\treturn selectedStep.getAttribute(EXPANDED_STEP) === \"false\" && selectedStep.getAttribute(BEFORE_EXPANDED_STEP) === \"true\" && iStepNumber > 0;\n\t}\n\n\t_isGroupAtEnd(selectedStep: WizardTab) {\n\t\tconst iStepNumber = this.stepsInHeaderDOM.indexOf(selectedStep);\n\t\treturn selectedStep.getAttribute(EXPANDED_STEP) === \"false\" && selectedStep.getAttribute(AFTER_EXPANDED_STEP) === \"true\" && (iStepNumber + 1 < this.steps.length);\n\t}\n\n\t_showPopover(oDomTarget: WizardTab, isAtStart: boolean) {\n\t\tconst tabs = Array.from(this.stepsInHeaderDOM);\n\t\tthis._groupedTabs = [];\n\n\t\tconst iFromStep = isAtStart ? 0 : this.stepsInHeaderDOM.indexOf(oDomTarget);\n\t\tconst iToStep = isAtStart ? this.stepsInHeaderDOM.indexOf(oDomTarget) : tabs.length - 1;\n\n\t\tfor (let i = iFromStep; i <= iToStep; i++) {\n\t\t\tthis._groupedTabs.push(tabs[i]);\n\t\t}\n\n\t\tconst responsivePopover = this._respPopover();\n\t\tresponsivePopover.opener = oDomTarget;\n\t\tresponsivePopover.open = true;\n\t}\n\n\t_onGroupedTabClick(e: MouseEvent) {\n\t\tconst eTarget = e.target as WizardTab;\n\n\t\tif (this._isGroupAtStart(eTarget)) {\n\t\t\treturn this._showPopover(eTarget, true);\n\t\t}\n\n\t\tif (this._isGroupAtEnd(eTarget)) {\n\t\t\treturn this._showPopover(eTarget, false);\n\t\t}\n\t}\n\n\t_onOverflowStepButtonClick(e: MouseEvent) {\n\t\tconst tabs = Array.from(this.stepsInHeaderDOM);\n\t\tconst eTarget = e.target as HTMLElement;\n\t\tconst stepRefId = eTarget.getAttribute(\"data-ui5-header-tab-ref-id\");\n\t\tconst stepToSelect = this.slottedSteps[Number(stepRefId) - 1];\n\t\tconst selectedStep = this.selectedStep;\n\t\tconst newlySelectedIndex = this.slottedSteps.indexOf(stepToSelect);\n\n\t\tthis.switchSelectionFromOldToNewStep(selectedStep, stepToSelect, newlySelectedIndex, false);\n\t\tthis._closeRespPopover();\n\t\ttabs[newlySelectedIndex].focus();\n\t}\n\n\t_closeRespPopover() {\n\t\tconst responsivePopover = this._respPopover();\n\t\tif (responsivePopover) {\n\t\t\tresponsivePopover.open = false;\n\t\t}\n\t}\n\n\t_respPopover() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(`.ui5-wizard-responsive-popover`)!;\n\t}\n\n\t/**\n\t * Called upon `onScroll`.\n\t * Selects the closest step, based on the user scroll position.\n\t * @param scrollPos the current scroll position\n\t * @private\n\t */\n\tchangeSelectionByScroll(scrollPos: number) {\n\t\tconst newlySelectedIndex = this.getClosestStepIndexByScrollPos(scrollPos);\n\t\tconst stepToSelect = this.slottedSteps[newlySelectedIndex];\n\n\t\t// Skip if already selected - stop.\n\t\tif (this.selectedStepIndex === newlySelectedIndex) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If the calculated index is in range,\n\t\t// change selection and fire \"step-change\".\n\t\tif (!stepToSelect.disabled && newlySelectedIndex >= 0 && newlySelectedIndex <= this.stepsCount - 1) {\n\t\t\tthis.switchSelectionFromOldToNewStep(this.selectedStep, stepToSelect, newlySelectedIndex, true);\n\t\t\tthis.selectionRequestedByScroll = true;\n\t\t}\n\t}\n\n\t/**\n\t * Called upon `onSelectionChangeRequested`.\n\t * Selects the external step (ui5-wizard-step),\n\t * based on the clicked or activated via keyboard step in the header (ui5-wizard-tab).\n\t * @param stepInHeader the step equivalent in the header\n\t * @private\n\t */\n\tasync changeSelectionByStepAction(stepInHeader: WizardTab) {\n\t\tconst stepRefId = stepInHeader.getAttribute(\"data-ui5-content-ref-id\")!;\n\t\tconst selectedStep = this.selectedStep;\n\t\tconst stepToSelect = this.getStepByRefId(stepRefId);\n\t\tconst bExpanded = stepInHeader.getAttribute(EXPANDED_STEP) === \"true\";\n\t\tconst newlySelectedIndex = this.slottedSteps.indexOf(stepToSelect);\n\t\tconst firstElementChild = stepToSelect.firstElementChild as HTMLElement;\n\t\tconst firstFocusableElement = await getFirstFocusableElement(firstElementChild);\n\n\t\tif (firstFocusableElement) {\n\t\t\t// Focus the first focusable element within the step content corresponding to the currently focused tab\n\t\t\tfirstFocusableElement.focus();\n\t\t}\n\n\t\t// If the currently selected (active) step is clicked,\n\t\t// just scroll to its starting point and stop.\n\t\tif (selectedStep === stepToSelect) {\n\t\t\tthis.scrollToContentItem(this.selectedStepIndex);\n\t\t\treturn;\n\t\t}\n\n\t\tif (bExpanded || (!bExpanded && (newlySelectedIndex === 0 || newlySelectedIndex === this.steps.length - 1))) {\n\t\t\t// Change selection and fire \"step-change\".\n\t\t\tthis.switchSelectionFromOldToNewStep(selectedStep, stepToSelect, newlySelectedIndex, false);\n\t\t}\n\t}\n\n\tgetContentHeight() {\n\t\tlet contentHeight = 0;\n\n\t\tthis.stepsDOM.forEach(step => {\n\t\t\tcontentHeight += step.getBoundingClientRect().height;\n\t\t});\n\n\t\treturn contentHeight;\n\t}\n\n\tgetStepAriaLabelText(step: WizardStep, ariaLabel: string) {\n\t\treturn Wizard.i18nBundle.getText(WIZARD_STEP_ARIA_LABEL, ariaLabel);\n\t}\n\n\tget stepsDOM() {\n\t\treturn Array.from(this.shadowRoot!.querySelectorAll<HTMLElement>(\".ui5-wiz-content-item\"));\n\t}\n\n\tget progressNavigatorListDOM() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-wiz-nav-list\")!;\n\t}\n\n\tget _stepsInHeader() {\n\t\treturn this.getStepsInfo();\n\t}\n\n\tget _steps() {\n\t\tconst lastEnabledStepIndex = this.getLastEnabledStepIndex();\n\t\tconst stepsInfo = this.getStepsInfo();\n\n\t\treturn this.steps.map((step, idx) => {\n\t\t\tstep.stretch = idx === lastEnabledStepIndex;\n\t\t\tstep.stepContentAriaLabel = `${this.navStepDefaultHeading} ${stepsInfo[idx].number} ${stepsInfo[idx].titleText}`;\n\t\t\treturn step;\n\t\t});\n\t}\n\n\tget stepsCount() {\n\t\treturn this.slottedSteps.length;\n\t}\n\n\tget selectedStep() {\n\t\tif (this.selectedStepsCount) {\n\t\t\treturn this.selectedSteps[0];\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tget lastSelectedStep() {\n\t\tif (this.selectedStepsCount) {\n\t\t\treturn this.selectedSteps[this.selectedStepsCount - 1];\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tget selectedSteps() {\n\t\treturn this.slottedSteps.filter(step => step.selected);\n\t}\n\n\tget enabledSteps() {\n\t\treturn this.slottedSteps.filter(step => !step.disabled);\n\t}\n\n\tget selectedStepsCount() {\n\t\treturn this.selectedSteps.length;\n\t}\n\n\tget slottedSteps() {\n\t\treturn this.getSlottedNodes<WizardStep>(\"steps\");\n\t}\n\n\tget contentDOM() {\n\t\treturn this.shadowRoot!.querySelector(`.ui5-wiz-content`)!;\n\t}\n\n\tget stepsInHeaderDOM() {\n\t\treturn Array.from(this.shadowRoot!.querySelectorAll<WizardTab>(\"[ui5-wizard-tab]\"));\n\t}\n\n\tget enabledStepsInHeaderDOM() {\n\t\treturn this.stepsInHeaderDOM.filter(step => !step.disabled);\n\t}\n\n\tget navAriaRoleDescription() {\n\t\treturn Wizard.i18nBundle.getText(WIZARD_NAV_ARIA_ROLE_DESCRIPTION);\n\t}\n\n\tget navAriaLabelText() {\n\t\treturn Wizard.i18nBundle.getText(WIZARD_NAV_ARIA_LABEL);\n\t}\n\n\tget navAriaDescribedbyText() {\n\t\treturn Wizard.i18nBundle.getText(WIZARD_LIST_ARIA_DESCRIBEDBY);\n\t}\n\n\tget listAriaLabelText() {\n\t\treturn Wizard.i18nBundle.getText(WIZARD_LIST_ARIA_LABEL);\n\t}\n\n\tget actionSheetStepsText() {\n\t\treturn Wizard.i18nBundle.getText(WIZARD_ACTIONSHEET_STEPS_ARIA_LABEL);\n\t}\n\n\tget navStepDefaultHeading() {\n\t\treturn Wizard.i18nBundle.getText(WIZARD_NAV_STEP_DEFAULT_HEADING);\n\t}\n\n\tget optionalStepText() {\n\t\treturn Wizard.i18nBundle.getText(WIZARD_OPTIONAL_STEP_ARIA_LABEL);\n\t}\n\n\tget activeStepText() {\n\t\treturn Wizard.i18nBundle.getText(WIZARD_STEP_ACTIVE);\n\t}\n\n\tget inactiveStepText() {\n\t\treturn Wizard.i18nBundle.getText(WIZARD_STEP_INACTIVE);\n\t}\n\n\tget ariaLabelText() {\n\t\treturn Wizard.i18nBundle.getText(WIZARD_NAV_ARIA_ROLE_DESCRIPTION);\n\t}\n\n\tget effectiveStepSwitchThreshold() {\n\t\treturn clamp(this.stepSwitchThreshold, STEP_SWITCH_THRESHOLDS.MIN, STEP_SWITCH_THRESHOLDS.MAX);\n\t}\n\n\t/**\n\t * Returns an array of data objects, based on the user defined steps\n\t * to later build the steps (tabs) within the header.\n\t * @private\n\t */\n\tgetStepsInfo() {\n\t\tconst lastEnabledStepIndex = this.getLastEnabledStepIndex();\n\t\tconst stepsCount = this.stepsCount;\n\t\tconst selectedStepIndex = this.getSelectedStepIndex();\n\t\tlet inintialZIndex = this.steps.length + 10;\n\t\tlet accInfo;\n\n\t\tthis._adjustHeaderOverflow();\n\n\t\treturn this.steps.map((step, idx) => {\n\t\t\tconst pos = idx + 1;\n\n\t\t\t// Hide separator if it's the last step and it's not a branching one\n\t\t\tconst hideSeparator = (idx === stepsCount - 1) && !step.branching;\n\n\t\t\tconst isOptional = step.subtitleText ? this.optionalStepText : \"\";\n\t\t\tconst stepStateText = step.disabled ? this.inactiveStepText : this.activeStepText;\n\t\t\tconst ariaLabel = (step.titleText ? `${pos} ${step.titleText} ${stepStateText} ${isOptional}` : `${this.navStepDefaultHeading} ${pos} ${stepStateText} ${isOptional}`).trim();\n\t\t\tconst isAfterCurrent = (idx > selectedStepIndex);\n\n\t\t\taccInfo = {\n\t\t\t\t\"ariaSetsize\": stepsCount,\n\t\t\t\t\"ariaPosinset\": pos,\n\t\t\t\t\"ariaLabel\": this.getStepAriaLabelText(step, ariaLabel),\n\t\t\t};\n\n\t\t\tconst stepInfo: StepInfo = {\n\t\t\t\ticon: step.icon,\n\t\t\t\ttitleText: step.titleText,\n\t\t\t\tsubtitleText: step.subtitleText,\n\t\t\t\tnumber: pos,\n\t\t\t\tselected: step.selected,\n\t\t\t\tdisabled: step.disabled,\n\t\t\t\thideSeparator,\n\t\t\t\tactiveSeparator: (idx < lastEnabledStepIndex) && !step.disabled,\n\t\t\t\tbranchingSeparator: step.branching,\n\t\t\t\tpos,\n\t\t\t\taccInfo,\n\t\t\t\trefStepId: step._id,\n\t\t\t\tstyles: {\n\t\t\t\t\tzIndex: isAfterCurrent ? --inintialZIndex : 1,\n\t\t\t\t},\n\t\t\t};\n\n\t\t\treturn stepInfo;\n\t\t});\n\t}\n\n\t/**\n\t * Returns the index of the selected step.\n\t * @private\n\t */\n\tgetSelectedStepIndex() {\n\t\tif (this.selectedStep) {\n\t\t\treturn this.slottedSteps.indexOf(this.selectedStep);\n\t\t}\n\t\treturn 0;\n\t}\n\n\t/**\n\t * Returns the index of the last enabled step.\n\t * @private\n\t */\n\tgetLastEnabledStepIndex() {\n\t\tlet lastEnabledStepIndex = 0;\n\n\t\tthis.slottedSteps.forEach((step, idx) => {\n\t\t\tif (!step.disabled) {\n\t\t\t\tlastEnabledStepIndex = idx;\n\t\t\t}\n\t\t});\n\n\t\treturn lastEnabledStepIndex;\n\t}\n\n\tgetStepByRefId(refId: string) {\n\t\treturn this.slottedSteps.find(step => step._id === refId)!;\n\t}\n\n\tgetStepWrapperByRefId(refId: string) {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`[data-ui5-content-item-ref-id=${refId}]`)!;\n\t}\n\n\tgetStepWrapperByIdx(idx: number) {\n\t\treturn this.getStepWrapperByRefId(this.steps[idx]._id);\n\t}\n\n\t/**\n\t * Scrolls to the content of the selected step, used in `onAfterRendering`.\n\t * @private\n\t */\n\tscrollToSelectedStep() {\n\t\tif (!this.selectionRequestedByScroll) {\n\t\t\tthis.scrollToContentItem(this.selectedStepIndex);\n\t\t}\n\t\tthis.selectionRequestedByScroll = false;\n\t}\n\n\t/**\n\t * Scrolls to the content item within the `ui5-wizard` shadowDOM\n\t * by given step index.\n\t * @private\n\t * @param stepIndex the index of a step\n\t */\n\tscrollToContentItem(stepIndex: number) {\n\t\tthis.contentDOM.scrollTop = this.getClosestScrollPosByStepIndex(stepIndex);\n\t}\n\n\t/**\n\t * Returns to closest scroll position for the given step index.\n\t * @private\n\t * @param stepIndex the index of a step\n\t */\n\tgetClosestScrollPosByStepIndex(stepIndex: number) {\n\t\tif (stepIndex === 0) {\n\t\t\treturn 0;\n\t\t}\n\n\t\t// It's possible to have [enabled - 0, disabled - 1, enabled - 2, disabled - 3] step definition and similar.\n\t\t// Consider selection of the third step at index 2, the wizard should scroll where the previous step ends,\n\t\t// but in this case the 2nd step is disabled, so we have to fallback to the first possible step.\n\t\tfor (let closestStepIndex = stepIndex - 1; closestStepIndex >= 0; closestStepIndex--) {\n\t\t\tif (this.stepScrollOffsets[closestStepIndex] > 0) {\n\t\t\t\treturn this.stepScrollOffsets[closestStepIndex];\n\t\t\t}\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\t/**\n\t * Returns the closest step index by given scroll position.\n\t * @private\n\t * @param scrollPos the scroll position\n\t */\n\tgetClosestStepIndexByScrollPos(scrollPos: number) {\n\t\tfor (let closestStepIndex = 0; closestStepIndex <= this.stepScrollOffsets.length - 1; closestStepIndex++) {\n\t\t\tconst stepScrollOffset = this.stepScrollOffsets[closestStepIndex];\n\t\t\tconst step = this.getStepWrapperByIdx(closestStepIndex);\n\t\t\tconst switchStepBoundary = step.offsetTop + (step.offsetHeight * this.effectiveStepSwitchThreshold);\n\n\t\t\tif (stepScrollOffset > 0 && scrollPos < stepScrollOffset) {\n\t\t\t\tif (scrollPos > switchStepBoundary) {\n\t\t\t\t\treturn closestStepIndex + 1;\n\t\t\t\t}\n\n\t\t\t\treturn closestStepIndex;\n\t\t\t}\n\t\t}\n\n\t\treturn this.selectedStepIndex;\n\t}\n\n\t/**\n\t * Switches the selection from the old step to the newly selected step.\n\t * @param selectedStep the old step\n\t * @param stepToSelect the step to be selected\n\t * @param stepToSelectIndex the index of the newly selected step\n\t * @param withScroll the selection changed due to user scrolling\n\t * @private\n\t */\n\tswitchSelectionFromOldToNewStep(selectedStep: WizardStep | null, stepToSelect: WizardStep, stepToSelectIndex: number, withScroll: boolean) {\n\t\tif (selectedStep && stepToSelect) {\n\t\t\t// keep the selection if next step is disabled\n\t\t\tif (!stepToSelect.disabled) {\n\t\t\t\tselectedStep.selected = false;\n\t\t\t\tstepToSelect.selected = true;\n\t\t\t}\n\n\t\t\tthis.fireEvent<WizardStepChangeEventDetail>(\"step-change\", {\n\t\t\t\tstep: stepToSelect,\n\t\t\t\tpreviousStep: selectedStep,\n\t\t\t\twithScroll,\n\t\t\t});\n\n\t\t\tthis.selectedStepIndex = stepToSelectIndex;\n\t\t}\n\t}\n\n\t/**\n\t * Sorter method for sorting an array in ascending order.\n\t * @private\n\t */\n\tsortAscending(a: number, b: number) {\n\t\tif (a < b) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (a > b) {\n\t\t\treturn 1;\n\t\t}\n\t\treturn 0;\n\t}\n}\n\nWizard.define();\n\nexport type {\n\tWizardStepChangeEventDetail,\n};\n\nexport default Wizard;\n"]}
|
|
1
|
+
{"version":3,"file":"Wizard.js","sourceRoot":"","sources":["../src/Wizard.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport debounce from \"@ui5/webcomponents-base/dist/util/debounce.js\";\nimport { getFirstFocusableElement } from \"@ui5/webcomponents-base/dist/util/FocusableElements.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport ResponsivePopover from \"@ui5/webcomponents/dist/ResponsivePopover.js\";\nimport type WizardContentLayout from \"./types/WizardContentLayout.js\";\n\n// Texts\nimport {\n\tWIZARD_NAV_STEP_DEFAULT_HEADING,\n\tWIZARD_NAV_ARIA_ROLE_DESCRIPTION,\n\tWIZARD_NAV_ARIA_LABEL,\n\tWIZARD_LIST_ARIA_LABEL,\n\tWIZARD_LIST_ARIA_DESCRIBEDBY,\n\tWIZARD_ACTIONSHEET_STEPS_ARIA_LABEL,\n\tWIZARD_OPTIONAL_STEP_ARIA_LABEL,\n\tWIZARD_STEP_ARIA_LABEL,\n\tWIZARD_STEP_ACTIVE,\n\tWIZARD_STEP_INACTIVE,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Step in header and content\nimport WizardTab from \"./WizardTab.js\";\nimport WizardStep from \"./WizardStep.js\";\n\n// Template and Styles\nimport WizardTemplate from \"./generated/templates/WizardTemplate.lit.js\";\nimport WizardCss from \"./generated/themes/Wizard.css.js\";\nimport WizardPopoverCss from \"./generated/themes/WizardPopover.css.js\";\n\nconst MIN_STEP_WIDTH_NO_TITLE = 64;\nconst MIN_STEP_WIDTH_WITH_TITLE = 200;\n\nconst EXPANDED_STEP = \"data-ui5-wizard-expanded-tab\";\nconst AFTER_EXPANDED_STEP = \"data-ui5-wizard-expanded-tab-next\";\nconst AFTER_CURRENT_STEP = \"data-ui5-wizard-after-current-tab\";\nconst BEFORE_EXPANDED_STEP = \"data-ui5-wizard-expanded-tab-prev\";\n\nconst STEP_SWITCH_THRESHOLDS = {\n\tMIN: 0.5,\n\tDEFAULT: 0.7,\n\tMAX: 1,\n};\n\ntype ResponsiveBreakpoints = {\n\t[key: string]: string,\n}\n\ntype WizardStepChangeEventDetail = {\n\tstep: WizardStep,\n\tpreviousStep: WizardStep,\n\twithScroll: boolean,\n}\n\nconst RESPONSIVE_BREAKPOINTS: ResponsiveBreakpoints = {\n\t\"0\": \"S\",\n\t\"599\": \"M\",\n\t\"1023\": \"L\",\n\t\"1439\": \"XL\",\n};\n\ntype AccessibilityInformation = {\n\tariaSetsize: number,\n\tariaPosinset: number,\n\tariaLabel: string,\n}\n\ntype StepInfo = {\n\ticon?: string,\n\ttitleText?: string,\n\tsubtitleText?: string,\n\tnumber: number,\n\tselected: boolean,\n\tdisabled: boolean,\n\thideSeparator: boolean,\n\tactiveSeparator: boolean,\n\tbranchingSeparator: boolean,\n\tpos: number,\n\taccInfo: AccessibilityInformation,\n\trefStepId: string,\n\tstyles: object,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-wizard` helps users to complete a complex task by dividing it into sections and guiding them through it.\n * It has two main areas - a navigation area at the top showing the step sequence and a content area below it.\n *\n * ### Structure\n * #### Navigation area\n * The top most area of the `ui5-wizard` is occupied by the navigation area.\n * It shows the sequence of steps, where the recommended number of steps is between 3 and 8 steps.\n *\n * - Steps can have different visual representations - numbers or icons.\n * - Steps might have labels for better readability - titleText and subTitleText.\n * - Steps are defined by using the `ui5-wizard-step` as slotted element within the `ui5-wizard`.\n *\n * **Note:** If no selected step is defined, the first step will be auto selected.\n *\n * **Note:** If multiple selected steps are defined, the last step will be selected.\n *\n * ### Keyboard Handling\n * The user can navigate using the following keyboard shortcuts:\n *\n * #### Wizard Progress Navigation\n *\n * \t- [Left] or [Down] - Focus moves backward to the WizardProgressNavAnchors.\n * \t- [Up] or [Right] - Focus moves forward to the WizardProgressNavAnchor.\n * \t- [Space] / [Enter] or [Return] - Selects an active step\n * \t- [Home] or [PAGE UP] - Focus goes to the first step\n * \t- [End] or [PAGE DOWN] - Focus goes to the last step\n *\n * #### Fast Navigation\n * This component provides a build in fast navigation group which can be used via [F6] / [Shift] + [F6] / [Ctrl] + [Alt/Option] / [Down] or [Ctrl] + [Alt/Option] + [Up].\n * In order to use this functionality, you need to import the following module:\n * `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n * #### Content\n * The content occupies the main part of the page. It can hold any type of HTML elements.\n * It's defined by using the `ui5-wizard-step` as slotted element within the `ui5-wizard`.\n *\n * ### Scrolling\n * The component handles user scrolling by selecting the closest step, based on the current scroll position\n * and scrolls to particular place, when the user clicks on the step within the navigation area.\n *\n * **Important:** In order the component's scrolling behaviour to work, it has to be limited from the outside parent element in terms of height.\n * The component or its parent has to be given percentage or absolute height. Otherwise, the component will be scrolled out with the entire page.\n *\n * **For example:**\n *\n * ```html\n * <ui5-dialog style=\"height: 80%\">\n * \t<ui5-wizard></ui5-wizard>\n * </ui5-dialog>\n * ```\n *\n * #### Moving to next step\n * The `ui5-wizard-step` provides the necessary API and it's up to the user of the component to use it to move to the next step.\n * You have to set its `selected` property (and remove the `disabled` one if set) to `true`.\n * The `ui5-wizard` will automatically scroll to the content of the newly selected step.\n *\n * The Fiori 3 guidelines recommends having a \"nextStep\" button in the content area.\n * You can place a button, or any other type of element to trigger step change, inside the `ui5-wizard-step`,\n * and show/hide it when certain fields are filled or user defined criteria is met.\n *\n * ### Usage\n * #### When to use:\n * When the user has to accomplish a long or unfamiliar task.\n *\n * #### When not to use:\n * When the task has less than 3 steps.\n *\n * ### Responsive Behavior\n * On small widths the step's titleText, subtitleText and separators in the navigation area shrink and from particular point the steps are grouped together and overlap.\n * Tapping on them will show a popover to select the step to navigate to. On mobile device, the grouped steps are presented within a dialog.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents-fiori/dist/Wizard.js\";` (includes <ui5-wizard-step/>)\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.10\n * @public\n * @csspart navigator - Used to style the progress navigator of the `ui5-wizard`.\n * @csspart step-content - Used to style a `ui5-wizard-step` container.\n */\n@customElement({\n\ttag: \"ui5-wizard\",\n\tlanguageAware: true,\n\tfastNavigation: true,\n\trenderer: litRender,\n\tstyles: [\n\t\tWizardCss,\n\t\tWizardPopoverCss,\n\t\tgetEffectiveScrollbarStyle(),\n\t],\n\ttemplate: WizardTemplate,\n\tdependencies: [\n\t\tWizardTab,\n\t\tWizardStep,\n\t\tResponsivePopover,\n\t\tButton,\n\t],\n})\n\n/**\n * Fired when the step is changed by user interaction - either with scrolling,\n * or by clicking on the steps within the component header.\n * @param {WizardStep} step The new step.\n * @param {WizardStep} previousStep The previous step.\n * @param {boolean} withScroll true when the event occurs due to user scrolling.\n * @public\n */\n@event<WizardStepChangeEventDetail>(\"step-change\", {\n\tdetail: {\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\tstep: { type: HTMLElement },\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\tpreviousStep: { type: HTMLElement },\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\twithScroll: { type: Boolean },\n\t},\n})\n\nclass Wizard extends UI5Element {\n\t/**\n\t * Defines how the content of the `ui5-wizard` would be visualized.\n\t * @public\n\t * @since 1.14.0\n\t * @default \"MultipleSteps\"\n\t */\n\t@property()\n\tcontentLayout: `${WizardContentLayout}` = \"MultipleSteps\";\n\n\t/**\n\t * Defines the width of the `ui5-wizard`.\n\t * @private\n\t */\n\t@property({ type: Number })\n\twidth?: number\n\n\t/**\n\t * Defines the threshold to switch between steps upon user scrolling.\n\t *\n\t * **For Example:**\n\t *\n\t * (1) To switch to the next step, when half of the step is scrolled out - set `step-switch-threshold=\"0.5\"`.\n\t * (2) To switch to the next step, when the entire current step is scrolled out - set `step-switch-threshold=\"1\"`.\n\t *\n\t * **Note:** Supported values are between 0.5 and 1\n\t * and values out of the range will be normalized to 0.5 and 1 respectively.\n\t * @private\n\t * @default 0.7\n\t * @since 1.0.0-rc.13\n\t */\n\t@property({ type: Number })\n\tstepSwitchThreshold = STEP_SWITCH_THRESHOLDS.DEFAULT;\n\n\t/**\n\t * Defines the height of the `ui5-wizard` content.\n\t * @private\n\t */\n\t@property({ type: Number })\n\tcontentHeight?: number;\n\n\t/**\n\t * Stores references to the grouped steps.\n\t * @private\n\t */\n\t@property({ type: Array })\n\t_groupedTabs: Array<WizardTab> = [];\n\n\t@property()\n\t_breakpoint?: string\n\n\t/**\n\t * Defines the steps.\n\t *\n\t * **Note:** Use the available `ui5-wizard-step` component.\n\t * @public\n\t */\n\t@slot({\n\t\t\"default\": true,\n\t\ttype: HTMLElement,\n\t\t\"individualSlots\": true,\n\t\tinvalidateOnChildChange: true,\n\t})\n\tsteps!: Array<WizardStep>\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\tstepScrollOffsets: Array<number>;\n\tselectedStepIndex: number;\n\tpreviouslySelectedStepIndex: number;\n\tselectionRequestedByClick: boolean;\n\tselectionRequestedByScroll: boolean;\n\n\t_prevWidth: number;\n\t_prevContentHeight: number;\n\t_itemNavigation: ItemNavigation;\n\t_onStepResize: ResizeObserverCallback;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\t// Stores the scroll offsets of the steps,\n\t\t// e.g. the steps' starting point.\n\t\tthis.stepScrollOffsets = [];\n\n\t\t// Keeps track of the currently selected step index.\n\t\tthis.selectedStepIndex = 0;\n\n\t\t// Keeps track of the previously selected step index.\n\t\tthis.previouslySelectedStepIndex = 0;\n\n\t\t// Indicates that selection will be changed\n\t\t// due to user click.\n\t\tthis.selectionRequestedByClick = false;\n\n\t\t// Stores the previous width\n\t\tthis._prevWidth = 0;\n\n\t\t// Stores the previous height\n\t\tthis._prevContentHeight = 0;\n\n\t\t// Indicates that selection will be changed\n\t\t// due to user scroll.\n\t\tthis.selectionRequestedByScroll = false;\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tnavigationMode: NavigationMode.Auto,\n\t\t\tgetItemsCallback: () => this.enabledStepsInHeaderDOM,\n\t\t});\n\n\t\tthis._onStepResize = this.onStepResize.bind(this);\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-wiz-root\": true,\n\t\t\t},\n\t\t\tpopover: {\n\t\t\t\t\"ui5-wizard-responsive-popover\": true,\n\t\t\t\t\"ui5-wizard-popover\": !isPhone(),\n\t\t\t\t\"ui5-wizard-dialog\": isPhone(),\n\t\t\t},\n\t\t};\n\t}\n\n\tstatic get SCROLL_DEBOUNCE_RATE() {\n\t\treturn 25;\n\t}\n\n\tonExitDOM() {\n\t\tthis.detachStepsResizeObserver();\n\t}\n\n\tonBeforeRendering() {\n\t\tthis.syncSelection();\n\t}\n\n\tonAfterRendering() {\n\t\tthis.storeStepScrollOffsets();\n\n\t\tif (this.previouslySelectedStepIndex !== this.selectedStepIndex) {\n\t\t\tthis.scrollToSelectedStep();\n\t\t}\n\n\t\tthis.attachStepsResizeObserver();\n\t\tthis.previouslySelectedStepIndex = this.selectedStepIndex;\n\t}\n\n\t/**\n\t * Normalizes the step selection as follows:\n\t * (1) If there is no selected step - the first step is going to be selected.\n\t * (2) If the selected steps are more than one - the last step is going to be selected.\n\t * (3) If the selected step is also disabled - log a warning.\n\t * @private\n\t */\n\tsyncSelection() {\n\t\tif (this.stepsCount === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If no selected steps -> select the first step.\n\t\tif (this.selectedStepsCount === 0) {\n\t\t\tthis.selectFirstStep();\n\t\t\tconsole.warn(\"Selecting the first step: no selected step is defined.\"); // eslint-disable-line\n\t\t}\n\n\t\t// If there are multiple selected steps -> keep the last selected one.\n\t\tif (this.selectedStepsCount > 1) {\n\t\t\tthis.selectLastSelectedStep();\n\t\t\tconsole.warn(`Selecting the last step defined as selected: multiple selected steps are defined.`); // eslint-disable-line\n\t\t}\n\n\t\t// If the selected step is defined as disabled - log warning.\n\t\tif (this.selectedStep && this.selectedStep.disabled) {\n\t\t\tconsole.warn(\"The selected step is disabled: you need to enable it in order to interact with the step.\"); // eslint-disable-line\n\t\t}\n\n\t\t// Place for improvement: If the selected step is not the first, enable all the prior steps\n\t\tthis.selectedStepIndex = this.getSelectedStepIndex();\n\n\t\tif (this.selectedStep && this.stepsInHeaderDOM.length) {\n\t\t\tif (this._itemNavigation._getItems().includes(this.stepsInHeaderDOM[this.selectedStepIndex])) {\n\t\t\t\tthis._itemNavigation.setCurrentItem(this.stepsInHeaderDOM[this.selectedStepIndex]);\n\t\t\t} else {\n\t\t\t\tthis._itemNavigation.setCurrentItem(this.stepsInHeaderDOM.find(el => el.selected) as WizardTab);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Selects the first step.\n\t * @private\n\t */\n\tselectFirstStep() {\n\t\tthis.deselectAll();\n\t\tthis.slottedSteps[0].selected = true;\n\t\tthis.slottedSteps[0].disabled = false;\n\t}\n\n\t/**\n\t * Selects the last step from multiple selected ones.\n\t * @private\n\t */\n\tselectLastSelectedStep() {\n\t\tconst lastSelectedStep = this.lastSelectedStep;\n\n\t\tif (lastSelectedStep) {\n\t\t\tthis.deselectAll();\n\t\t\tlastSelectedStep.selected = true;\n\t\t\tlastSelectedStep.disabled = false;\n\t\t}\n\t}\n\n\t/**\n\t * Deselects all steps.\n\t * @private\n\t */\n\tdeselectAll() {\n\t\tthis.slottedSteps.forEach(step => {\n\t\t\tstep.selected = false;\n\t\t});\n\t}\n\n\t/**\n\t * Stores the scroll offsets of the steps,\n\t * e.g. the steps' starting point.\n\t *\n\t * **Note:** the disabled ones has negative offsets.\n\t * @private\n\t */\n\tstoreStepScrollOffsets() {\n\t\tthis.stepScrollOffsets = this.slottedSteps.map(step => {\n\t\t\tconst contentItem = this.getStepWrapperByRefId(step._id);\n\t\t\treturn contentItem.offsetTop + contentItem.offsetHeight;\n\t\t});\n\t}\n\n\t/**\n\t * Handles user click on steps' tabs within the header.\n\t * **Note:** the handler is bound in the template.\n\t * @private\n\t */\n\tonSelectionChangeRequested(e: MouseEvent) {\n\t\tthis.selectionRequestedByClick = true;\n\t\tthis.changeSelectionByStepAction(e.target as WizardTab);\n\t}\n\n\t/**\n\t * Handles user scrolling with debouncing.\n\t * **Note:** the handler is bound in the template.\n\t * @private\n\t */\n\tonScroll(e: MouseEvent) {\n\t\tif (this.selectionRequestedByClick) {\n\t\t\tthis.selectionRequestedByClick = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.contentLayout !== \"SingleStep\") {\n\t\t\tdebounce(this.changeSelectionByScroll.bind(this, (e.target as HTMLElement).scrollTop), Wizard.SCROLL_DEBOUNCE_RATE);\n\t\t}\n\t}\n\n\t/**\n\t * Handles when a step in the header is focused in order to update the `ItemNavigation`.\n\t * **Note:** the handler is bound in the template.\n\t * @private\n\t */\n\tonStepInHeaderFocused(e: FocusEvent) {\n\t\tthis._itemNavigation.setCurrentItem(e.target as WizardTab);\n\t}\n\n\t/**\n\t * Handles resize in order to:\n\t * (1) sync steps' scroll offset and selection\n\t * (2) adapt navition step header\n\t * @private\n\t */\n\tonStepResize() {\n\t\tthis.width = this.getBoundingClientRect().width;\n\t\tthis.contentHeight = this.getContentHeight();\n\n\t\tif (this._prevWidth !== this.width || this.contentHeight !== this._prevContentHeight) {\n\t\t\tthis._closeRespPopover();\n\t\t}\n\n\t\tthis._prevWidth = this.width;\n\t\tthis._prevContentHeight = this.contentHeight;\n\n\t\tthis._calcCurrentBreakpoint();\n\t}\n\n\tattachStepsResizeObserver() {\n\t\tthis.stepsDOM.forEach(stepDOM => {\n\t\t\tResizeHandler.deregister(stepDOM, this._onStepResize);\n\t\t\tResizeHandler.register(stepDOM, this._onStepResize);\n\t\t});\n\t}\n\n\tdetachStepsResizeObserver() {\n\t\tthis.stepsDOM.forEach(stepDOM => {\n\t\t\tResizeHandler.deregister(stepDOM, this._onStepResize);\n\t\t});\n\t}\n\n\t_calcCurrentBreakpoint() {\n\t\tconst breakpointDimensions = Object.keys(RESPONSIVE_BREAKPOINTS).reverse();\n\t\tconst breakpoint = breakpointDimensions.find((size: string) => Number(size) < this.width!);\n\t\tthis._breakpoint = breakpoint ? RESPONSIVE_BREAKPOINTS[breakpoint] : RESPONSIVE_BREAKPOINTS[\"0\"];\n\t}\n\n\t/**\n\t * Updates the expanded attribute for each ui5-wizard-tab based on the ui5-wizard width\n\t * @private\n\t */\n\t_adjustHeaderOverflow() {\n\t\tlet counter = 0;\n\t\tlet isForward = true;\n\t\tconst tabs = this.stepsInHeaderDOM;\n\n\t\tif (!tabs.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst iWidth = this.progressNavigatorListDOM.getBoundingClientRect().width;\n\t\tconst iCurrStep = this.getSelectedStepIndex();\n\t\tconst iStepsToShow = this.steps.length ? Math.floor(iWidth / MIN_STEP_WIDTH_WITH_TITLE) : Math.floor(iWidth / MIN_STEP_WIDTH_NO_TITLE);\n\n\t\t[...tabs].forEach((step, index) => {\n\t\t\tstep.setAttribute(EXPANDED_STEP, \"false\");\n\t\t\tstep.setAttribute(BEFORE_EXPANDED_STEP, \"false\");\n\t\t\tstep.setAttribute(AFTER_EXPANDED_STEP, \"false\");\n\n\t\t\t// Add \"data-ui5-wizard-after-current-tab\" to all tabs after the current one\n\t\t\tif (index > iCurrStep) {\n\t\t\t\ttabs[index].setAttribute(AFTER_CURRENT_STEP, \"true\");\n\t\t\t} else {\n\t\t\t\ttabs[index].removeAttribute(AFTER_CURRENT_STEP);\n\t\t\t}\n\t\t});\n\n\t\t// Add \"data-ui5-wizard-expanded-tab\" to the current step\n\t\tif (tabs[iCurrStep]) {\n\t\t\ttabs[iCurrStep].setAttribute(EXPANDED_STEP, \"true\");\n\t\t}\n\n\t\t// Set the \"data-ui5-wizard-expanded-tab\" to the steps that are expanded\n\t\t// The algorithm is as follows:\n\t\t// 1. A step towards the end is expanded\n\t\t// \t1.2. If there are no available steps towards the end a step towards the beginning is expanded\n\t\t// 2. A step towards the beginning is expanded\n\t\t// \t2.2. If there are no available steps towards the beginning a step towards the end is expanded\n\t\tfor (let i = 1; i < iStepsToShow; i++) {\n\t\t\tif (isForward) {\n\t\t\t\tcounter += 1;\n\t\t\t}\n\n\t\t\tif (isForward && tabs[iCurrStep + counter]) {\n\t\t\t\ttabs[iCurrStep + counter].setAttribute(EXPANDED_STEP, \"true\");\n\t\t\t\tisForward = !isForward;\n\t\t\t} else if (!isForward && tabs[iCurrStep - counter]) {\n\t\t\t\ttabs[iCurrStep - counter].setAttribute(EXPANDED_STEP, \"true\");\n\t\t\t\tisForward = !isForward;\n\t\t\t} else if (tabs[iCurrStep + counter + 1]) {\n\t\t\t\tcounter += 1;\n\t\t\t\ttabs[iCurrStep + counter].setAttribute(EXPANDED_STEP, \"true\");\n\t\t\t\tisForward = true;\n\t\t\t} else if (tabs[iCurrStep - counter]) {\n\t\t\t\ttabs[iCurrStep - counter].setAttribute(EXPANDED_STEP, \"true\");\n\t\t\t\tcounter += 1;\n\t\t\t\tisForward = false;\n\t\t\t}\n\t\t}\n\n\t\t// mark the topmost steps of both groups (in the beginning and the end),\n\t\t// using the \"data-ui5-wizard-after-current-tab\" and \"data-ui5-wizard-expanded-tab-prev\" attributes\n\t\tfor (let i = 0; i < tabs.length; i++) {\n\t\t\tif (tabs[i].getAttribute(EXPANDED_STEP) === \"true\" && tabs[i - 1] && tabs[i - 1].getAttribute(EXPANDED_STEP) === \"false\") {\n\t\t\t\ttabs[i - 1].setAttribute(BEFORE_EXPANDED_STEP, \"true\");\n\t\t\t}\n\n\t\t\tif (tabs[i].getAttribute(EXPANDED_STEP) === \"false\" && tabs[i - 1] && tabs[i - 1].getAttribute(EXPANDED_STEP) === \"true\") {\n\t\t\t\ttabs[i].setAttribute(AFTER_EXPANDED_STEP, \"true\");\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t_isGroupAtStart(selectedStep: WizardTab) {\n\t\tconst iStepNumber = this.stepsInHeaderDOM.indexOf(selectedStep);\n\t\treturn selectedStep.getAttribute(EXPANDED_STEP) === \"false\" && selectedStep.getAttribute(BEFORE_EXPANDED_STEP) === \"true\" && iStepNumber > 0;\n\t}\n\n\t_isGroupAtEnd(selectedStep: WizardTab) {\n\t\tconst iStepNumber = this.stepsInHeaderDOM.indexOf(selectedStep);\n\t\treturn selectedStep.getAttribute(EXPANDED_STEP) === \"false\" && selectedStep.getAttribute(AFTER_EXPANDED_STEP) === \"true\" && (iStepNumber + 1 < this.steps.length);\n\t}\n\n\t_showPopover(oDomTarget: WizardTab, isAtStart: boolean) {\n\t\tconst tabs = Array.from(this.stepsInHeaderDOM);\n\t\tthis._groupedTabs = [];\n\n\t\tconst iFromStep = isAtStart ? 0 : this.stepsInHeaderDOM.indexOf(oDomTarget);\n\t\tconst iToStep = isAtStart ? this.stepsInHeaderDOM.indexOf(oDomTarget) : tabs.length - 1;\n\n\t\tfor (let i = iFromStep; i <= iToStep; i++) {\n\t\t\tthis._groupedTabs.push(tabs[i]);\n\t\t}\n\n\t\tconst responsivePopover = this._respPopover();\n\t\tresponsivePopover.opener = oDomTarget;\n\t\tresponsivePopover.open = true;\n\t}\n\n\t_onGroupedTabClick(e: MouseEvent) {\n\t\tconst eTarget = e.target as WizardTab;\n\n\t\tif (this._isGroupAtStart(eTarget)) {\n\t\t\treturn this._showPopover(eTarget, true);\n\t\t}\n\n\t\tif (this._isGroupAtEnd(eTarget)) {\n\t\t\treturn this._showPopover(eTarget, false);\n\t\t}\n\t}\n\n\t_onOverflowStepButtonClick(e: MouseEvent) {\n\t\tconst tabs = Array.from(this.stepsInHeaderDOM);\n\t\tconst eTarget = e.target as HTMLElement;\n\t\tconst stepRefId = eTarget.getAttribute(\"data-ui5-header-tab-ref-id\");\n\t\tconst stepToSelect = this.slottedSteps[Number(stepRefId) - 1];\n\t\tconst selectedStep = this.selectedStep;\n\t\tconst newlySelectedIndex = this.slottedSteps.indexOf(stepToSelect);\n\n\t\tthis.switchSelectionFromOldToNewStep(selectedStep, stepToSelect, newlySelectedIndex, false);\n\t\tthis._closeRespPopover();\n\t\ttabs[newlySelectedIndex].focus();\n\t}\n\n\t_closeRespPopover() {\n\t\tconst responsivePopover = this._respPopover();\n\t\tif (responsivePopover) {\n\t\t\tresponsivePopover.open = false;\n\t\t}\n\t}\n\n\t_respPopover() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(`.ui5-wizard-responsive-popover`)!;\n\t}\n\n\t/**\n\t * Called upon `onScroll`.\n\t * Selects the closest step, based on the user scroll position.\n\t * @param scrollPos the current scroll position\n\t * @private\n\t */\n\tchangeSelectionByScroll(scrollPos: number) {\n\t\tconst newlySelectedIndex = this.getClosestStepIndexByScrollPos(scrollPos);\n\t\tconst stepToSelect = this.slottedSteps[newlySelectedIndex];\n\n\t\t// Skip if already selected - stop.\n\t\tif (this.selectedStepIndex === newlySelectedIndex) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If the calculated index is in range,\n\t\t// change selection and fire \"step-change\".\n\t\tif (!stepToSelect.disabled && newlySelectedIndex >= 0 && newlySelectedIndex <= this.stepsCount - 1) {\n\t\t\tthis.switchSelectionFromOldToNewStep(this.selectedStep, stepToSelect, newlySelectedIndex, true);\n\t\t\tthis.selectionRequestedByScroll = true;\n\t\t}\n\t}\n\n\t/**\n\t * Called upon `onSelectionChangeRequested`.\n\t * Selects the external step (ui5-wizard-step),\n\t * based on the clicked or activated via keyboard step in the header (ui5-wizard-tab).\n\t * @param stepInHeader the step equivalent in the header\n\t * @private\n\t */\n\tasync changeSelectionByStepAction(stepInHeader: WizardTab) {\n\t\tconst stepRefId = stepInHeader.getAttribute(\"data-ui5-content-ref-id\")!;\n\t\tconst selectedStep = this.selectedStep;\n\t\tconst stepToSelect = this.getStepByRefId(stepRefId);\n\t\tconst bExpanded = stepInHeader.getAttribute(EXPANDED_STEP) === \"true\";\n\t\tconst newlySelectedIndex = this.slottedSteps.indexOf(stepToSelect);\n\t\tconst firstElementChild = stepToSelect.firstElementChild as HTMLElement;\n\t\tconst firstFocusableElement = await getFirstFocusableElement(firstElementChild);\n\n\t\tif (firstFocusableElement) {\n\t\t\t// Focus the first focusable element within the step content corresponding to the currently focused tab\n\t\t\tfirstFocusableElement.focus();\n\t\t}\n\n\t\t// If the currently selected (active) step is clicked,\n\t\t// just scroll to its starting point and stop.\n\t\tif (selectedStep === stepToSelect) {\n\t\t\tthis.scrollToContentItem(this.selectedStepIndex);\n\t\t\treturn;\n\t\t}\n\n\t\tif (bExpanded || (!bExpanded && (newlySelectedIndex === 0 || newlySelectedIndex === this.steps.length - 1))) {\n\t\t\t// Change selection and fire \"step-change\".\n\t\t\tthis.switchSelectionFromOldToNewStep(selectedStep, stepToSelect, newlySelectedIndex, false);\n\t\t}\n\t}\n\n\tgetContentHeight() {\n\t\tlet contentHeight = 0;\n\n\t\tthis.stepsDOM.forEach(step => {\n\t\t\tcontentHeight += step.getBoundingClientRect().height;\n\t\t});\n\n\t\treturn contentHeight;\n\t}\n\n\tgetStepAriaLabelText(step: WizardStep, ariaLabel: string) {\n\t\treturn Wizard.i18nBundle.getText(WIZARD_STEP_ARIA_LABEL, ariaLabel);\n\t}\n\n\tget stepsDOM() {\n\t\treturn Array.from(this.shadowRoot!.querySelectorAll<HTMLElement>(\".ui5-wiz-content-item\"));\n\t}\n\n\tget progressNavigatorListDOM() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-wiz-nav-list\")!;\n\t}\n\n\tget _stepsInHeader() {\n\t\treturn this.getStepsInfo();\n\t}\n\n\tget _steps() {\n\t\tconst lastEnabledStepIndex = this.getLastEnabledStepIndex();\n\t\tconst stepsInfo = this.getStepsInfo();\n\n\t\treturn this.steps.map((step, idx) => {\n\t\t\tstep.stretch = idx === lastEnabledStepIndex;\n\t\t\tstep.stepContentAriaLabel = `${this.navStepDefaultHeading} ${stepsInfo[idx].number} ${stepsInfo[idx].titleText}`;\n\t\t\treturn step;\n\t\t});\n\t}\n\n\tget stepsCount() {\n\t\treturn this.slottedSteps.length;\n\t}\n\n\tget selectedStep() {\n\t\tif (this.selectedStepsCount) {\n\t\t\treturn this.selectedSteps[0];\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tget lastSelectedStep() {\n\t\tif (this.selectedStepsCount) {\n\t\t\treturn this.selectedSteps[this.selectedStepsCount - 1];\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tget selectedSteps() {\n\t\treturn this.slottedSteps.filter(step => step.selected);\n\t}\n\n\tget enabledSteps() {\n\t\treturn this.slottedSteps.filter(step => !step.disabled);\n\t}\n\n\tget selectedStepsCount() {\n\t\treturn this.selectedSteps.length;\n\t}\n\n\tget slottedSteps() {\n\t\treturn this.getSlottedNodes<WizardStep>(\"steps\");\n\t}\n\n\tget contentDOM() {\n\t\treturn this.shadowRoot!.querySelector(`.ui5-wiz-content`)!;\n\t}\n\n\tget stepsInHeaderDOM() {\n\t\treturn Array.from(this.shadowRoot!.querySelectorAll<WizardTab>(\"[ui5-wizard-tab]\"));\n\t}\n\n\tget enabledStepsInHeaderDOM() {\n\t\treturn this.stepsInHeaderDOM.filter(step => !step.disabled);\n\t}\n\n\tget navAriaRoleDescription() {\n\t\treturn Wizard.i18nBundle.getText(WIZARD_NAV_ARIA_ROLE_DESCRIPTION);\n\t}\n\n\tget navAriaLabelText() {\n\t\treturn Wizard.i18nBundle.getText(WIZARD_NAV_ARIA_LABEL);\n\t}\n\n\tget navAriaDescribedbyText() {\n\t\treturn Wizard.i18nBundle.getText(WIZARD_LIST_ARIA_DESCRIBEDBY);\n\t}\n\n\tget listAriaLabelText() {\n\t\treturn Wizard.i18nBundle.getText(WIZARD_LIST_ARIA_LABEL);\n\t}\n\n\tget actionSheetStepsText() {\n\t\treturn Wizard.i18nBundle.getText(WIZARD_ACTIONSHEET_STEPS_ARIA_LABEL);\n\t}\n\n\tget navStepDefaultHeading() {\n\t\treturn Wizard.i18nBundle.getText(WIZARD_NAV_STEP_DEFAULT_HEADING);\n\t}\n\n\tget optionalStepText() {\n\t\treturn Wizard.i18nBundle.getText(WIZARD_OPTIONAL_STEP_ARIA_LABEL);\n\t}\n\n\tget activeStepText() {\n\t\treturn Wizard.i18nBundle.getText(WIZARD_STEP_ACTIVE);\n\t}\n\n\tget inactiveStepText() {\n\t\treturn Wizard.i18nBundle.getText(WIZARD_STEP_INACTIVE);\n\t}\n\n\tget ariaLabelText() {\n\t\treturn Wizard.i18nBundle.getText(WIZARD_NAV_ARIA_ROLE_DESCRIPTION);\n\t}\n\n\tget effectiveStepSwitchThreshold() {\n\t\treturn clamp(this.stepSwitchThreshold, STEP_SWITCH_THRESHOLDS.MIN, STEP_SWITCH_THRESHOLDS.MAX);\n\t}\n\n\t/**\n\t * Returns an array of data objects, based on the user defined steps\n\t * to later build the steps (tabs) within the header.\n\t * @private\n\t */\n\tgetStepsInfo() {\n\t\tconst lastEnabledStepIndex = this.getLastEnabledStepIndex();\n\t\tconst stepsCount = this.stepsCount;\n\t\tconst selectedStepIndex = this.getSelectedStepIndex();\n\t\tlet inintialZIndex = this.steps.length + 10;\n\t\tlet accInfo;\n\n\t\tthis._adjustHeaderOverflow();\n\n\t\treturn this.steps.map((step, idx) => {\n\t\t\tconst pos = idx + 1;\n\n\t\t\t// Hide separator if it's the last step and it's not a branching one\n\t\t\tconst hideSeparator = (idx === stepsCount - 1) && !step.branching;\n\n\t\t\tconst isOptional = step.subtitleText ? this.optionalStepText : \"\";\n\t\t\tconst stepStateText = step.disabled ? this.inactiveStepText : this.activeStepText;\n\t\t\tconst ariaLabel = (step.titleText ? `${pos} ${step.titleText} ${stepStateText} ${isOptional}` : `${this.navStepDefaultHeading} ${pos} ${stepStateText} ${isOptional}`).trim();\n\t\t\tconst isAfterCurrent = (idx > selectedStepIndex);\n\n\t\t\taccInfo = {\n\t\t\t\t\"ariaSetsize\": stepsCount,\n\t\t\t\t\"ariaPosinset\": pos,\n\t\t\t\t\"ariaLabel\": this.getStepAriaLabelText(step, ariaLabel),\n\t\t\t};\n\n\t\t\tconst stepInfo: StepInfo = {\n\t\t\t\ticon: step.icon,\n\t\t\t\ttitleText: step.titleText,\n\t\t\t\tsubtitleText: step.subtitleText,\n\t\t\t\tnumber: pos,\n\t\t\t\tselected: step.selected,\n\t\t\t\tdisabled: step.disabled,\n\t\t\t\thideSeparator,\n\t\t\t\tactiveSeparator: (idx < lastEnabledStepIndex) && !step.disabled,\n\t\t\t\tbranchingSeparator: step.branching,\n\t\t\t\tpos,\n\t\t\t\taccInfo,\n\t\t\t\trefStepId: step._id,\n\t\t\t\tstyles: {\n\t\t\t\t\tzIndex: isAfterCurrent ? --inintialZIndex : 1,\n\t\t\t\t},\n\t\t\t};\n\n\t\t\treturn stepInfo;\n\t\t});\n\t}\n\n\t/**\n\t * Returns the index of the selected step.\n\t * @private\n\t */\n\tgetSelectedStepIndex() {\n\t\tif (this.selectedStep) {\n\t\t\treturn this.slottedSteps.indexOf(this.selectedStep);\n\t\t}\n\t\treturn 0;\n\t}\n\n\t/**\n\t * Returns the index of the last enabled step.\n\t * @private\n\t */\n\tgetLastEnabledStepIndex() {\n\t\tlet lastEnabledStepIndex = 0;\n\n\t\tthis.slottedSteps.forEach((step, idx) => {\n\t\t\tif (!step.disabled) {\n\t\t\t\tlastEnabledStepIndex = idx;\n\t\t\t}\n\t\t});\n\n\t\treturn lastEnabledStepIndex;\n\t}\n\n\tgetStepByRefId(refId: string) {\n\t\treturn this.slottedSteps.find(step => step._id === refId)!;\n\t}\n\n\tgetStepWrapperByRefId(refId: string) {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`[data-ui5-content-item-ref-id=${refId}]`)!;\n\t}\n\n\tgetStepWrapperByIdx(idx: number) {\n\t\treturn this.getStepWrapperByRefId(this.steps[idx]._id);\n\t}\n\n\t/**\n\t * Scrolls to the content of the selected step, used in `onAfterRendering`.\n\t * @private\n\t */\n\tscrollToSelectedStep() {\n\t\tif (!this.selectionRequestedByScroll) {\n\t\t\tthis.scrollToContentItem(this.selectedStepIndex);\n\t\t}\n\t\tthis.selectionRequestedByScroll = false;\n\t}\n\n\t/**\n\t * Scrolls to the content item within the `ui5-wizard` shadowDOM\n\t * by given step index.\n\t * @private\n\t * @param stepIndex the index of a step\n\t */\n\tscrollToContentItem(stepIndex: number) {\n\t\tthis.contentDOM.scrollTop = this.getClosestScrollPosByStepIndex(stepIndex);\n\t}\n\n\t/**\n\t * Returns to closest scroll position for the given step index.\n\t * @private\n\t * @param stepIndex the index of a step\n\t */\n\tgetClosestScrollPosByStepIndex(stepIndex: number) {\n\t\tif (stepIndex === 0) {\n\t\t\treturn 0;\n\t\t}\n\n\t\t// It's possible to have [enabled - 0, disabled - 1, enabled - 2, disabled - 3] step definition and similar.\n\t\t// Consider selection of the third step at index 2, the wizard should scroll where the previous step ends,\n\t\t// but in this case the 2nd step is disabled, so we have to fallback to the first possible step.\n\t\tfor (let closestStepIndex = stepIndex - 1; closestStepIndex >= 0; closestStepIndex--) {\n\t\t\tif (this.stepScrollOffsets[closestStepIndex] > 0) {\n\t\t\t\treturn this.stepScrollOffsets[closestStepIndex];\n\t\t\t}\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\t/**\n\t * Returns the closest step index by given scroll position.\n\t * @private\n\t * @param scrollPos the scroll position\n\t */\n\tgetClosestStepIndexByScrollPos(scrollPos: number) {\n\t\tfor (let closestStepIndex = 0; closestStepIndex <= this.stepScrollOffsets.length - 1; closestStepIndex++) {\n\t\t\tconst stepScrollOffset = this.stepScrollOffsets[closestStepIndex];\n\t\t\tconst step = this.getStepWrapperByIdx(closestStepIndex);\n\t\t\tconst switchStepBoundary = step.offsetTop + (step.offsetHeight * this.effectiveStepSwitchThreshold);\n\n\t\t\tif (stepScrollOffset > 0 && scrollPos < stepScrollOffset) {\n\t\t\t\tif (scrollPos > switchStepBoundary) {\n\t\t\t\t\treturn closestStepIndex + 1;\n\t\t\t\t}\n\n\t\t\t\treturn closestStepIndex;\n\t\t\t}\n\t\t}\n\n\t\treturn this.selectedStepIndex;\n\t}\n\n\t/**\n\t * Switches the selection from the old step to the newly selected step.\n\t * @param selectedStep the old step\n\t * @param stepToSelect the step to be selected\n\t * @param stepToSelectIndex the index of the newly selected step\n\t * @param withScroll the selection changed due to user scrolling\n\t * @private\n\t */\n\tswitchSelectionFromOldToNewStep(selectedStep: WizardStep | null, stepToSelect: WizardStep, stepToSelectIndex: number, withScroll: boolean) {\n\t\tif (selectedStep && stepToSelect) {\n\t\t\t// keep the selection if next step is disabled\n\t\t\tif (!stepToSelect.disabled) {\n\t\t\t\tselectedStep.selected = false;\n\t\t\t\tstepToSelect.selected = true;\n\t\t\t}\n\n\t\t\tthis.fireEvent<WizardStepChangeEventDetail>(\"step-change\", {\n\t\t\t\tstep: stepToSelect,\n\t\t\t\tpreviousStep: selectedStep,\n\t\t\t\twithScroll,\n\t\t\t});\n\n\t\t\tthis.selectedStepIndex = stepToSelectIndex;\n\t\t}\n\t}\n\n\t/**\n\t * Sorter method for sorting an array in ascending order.\n\t * @private\n\t */\n\tsortAscending(a: number, b: number) {\n\t\tif (a < b) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (a > b) {\n\t\t\treturn 1;\n\t\t}\n\t\treturn 0;\n\t}\n}\n\nWizard.define();\n\nexport type {\n\tWizardStepChangeEventDetail,\n};\n\nexport default Wizard;\n"]}
|
package/dist/WizardTab.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WizardTab.js","sourceRoot":"","sources":["../src/WizardTab.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEtF,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,iBAAiB,MAAM,gDAAgD,CAAC;AAC/E,OAAO,YAAY,MAAM,qCAAqC,CAAC;AAM/D;;;;;;;;;;;;;;;GAeG;AAgBH,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,UAAU;IAAlC;;QAmCC;;;;WAIG;QAEF,aAAQ,GAAG,KAAK,CAAC;QAElB;;;;WAIG;QAEH,aAAQ,GAAG,KAAK,CAAC;QAEjB;;;;WAIG;QAEH,kBAAa,GAAG,KAAK,CAAC;QAEtB;;;;WAIG;QAEH,oBAAe,GAAG,KAAK,CAAC;QAExB;;;;WAIG;QAEH,uBAAkB,GAAG,KAAK,CAAC;IAyD5B,CAAC;IA7CA,QAAQ;QACP,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"WizardTab.js","sourceRoot":"","sources":["../src/WizardTab.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { isSpace, isEnter, isSpaceShift } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport WizardTabTemplate from \"./generated/templates/WizardTabTemplate.lit.js\";\nimport WizardTabCss from \"./generated/themes/WizardTab.css.js\";\n\ntype WizardTabInfo = {\n\t[key: string]: string,\n}\n\n/**\n * @class\n *\n * ### Overview\n * Private component, used internally by the `ui5-wizard`\n * to represent a \"step\" in the navigation header of the `ui5-wizard`.\n *\n * ### Usage\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/WizardTab.js\";` (imported with <ui5-wizard>)\n * @constructor\n * @extends UI5Element\n * @private\n */\n\n@customElement({\n\ttag: \"ui5-wizard-tab\",\n\trenderer: litRender,\n\tstyles: WizardTabCss,\n\ttemplate: WizardTabTemplate,\n\tdependencies: [Icon],\n})\n\n/**\n * Fired when clicking on none disabled step.\n * @private\n */\n@event(\"selection-change-requested\")\n\nclass WizardTab extends UI5Element implements ITabbable {\n\t/**\n\t * Defines the `icon` of the step.\n\t * @default undefined\n\t * @private\n\t */\n\t@property()\n\ticon?: string\n\n\t/**\n\t * Defines the `titleText` of the step.\n\t * @default undefined\n\t * @private\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\ttitleText?: string\n\n\t/**\n\t * Defines the `subtitleText` of the step.\n\t * @default undefined\n\t * @private\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\tsubtitleText?: string\n\n\t/**\n\t * Defines the number that will be displayed in place of the `icon`, when it's missing.\n\t * @default undefined\n\t * @private\n\t */\n\t@property()\n\tnumber?: string\n\n\t/**\n\t * Defines if the step is `disabled` - the step is not responding to user interaction.\n\t * @default false\n\t * @private\n\t */\n\t @property({ type: Boolean })\n\t disabled = false;\n\n\t/**\n\t * Defines if the step is `selected`.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tselected = false;\n\n\t/**\n\t * Defines if the step's separator is hidden or not.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\thideSeparator = false;\n\n\t/**\n\t * Defines if the step's separator is active or not.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tactiveSeparator = false;\n\n\t/**\n\t * Defines if the step's separator is dashed or not.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tbranchingSeparator = false;\n\n\t/**\n\t * Defines the tabindex of the step.\n\t * @default \"-1\"\n\t * @private\n\t */\n\t@property()\n\tforcedTabIndex?: string\n\n\t_wizardTabAccInfo? : WizardTabInfo\n\n\t_onclick() {\n\t\tif (!this.disabled) {\n\t\t\tthis.fireEvent(\"selection-change-requested\");\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ((isSpace(e) || isEnter(e)) && !isSpaceShift(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.fireEvent(\"selection-change-requested\");\n\t\t}\n\t}\n\n\tget effectiveTabIndex() {\n\t\tif (this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.selected || this.forcedTabIndex === \"0\") {\n\t\t\treturn \"0\";\n\t\t}\n\n\t\treturn \"-1\";\n\t}\n\n\t_onfocusin() {\n\t\tthis.fireEvent(\"focused\");\n\t}\n\n\tget hasTexts() {\n\t\treturn this.titleText || this.subtitleText;\n\t}\n\n\tget accInfo() {\n\t\treturn {\n\t\t\t\"ariaSetsize\": this._wizardTabAccInfo && this._wizardTabAccInfo.ariaSetsize,\n\t\t\t\"ariaPosinset\": this._wizardTabAccInfo && this._wizardTabAccInfo.ariaPosinset,\n\t\t\t\"ariaLabel\": this._wizardTabAccInfo && this._wizardTabAccInfo.ariaLabel,\n\t\t\t\"ariaCurrent\": this.selected ? \"true\" : undefined,\n\t\t};\n\t}\n}\n\nWizardTab.define();\n\nexport default WizardTab;\n"]}
|