@ui5/webcomponents-fiori 1.21.0 → 1.22.0-rc.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 +11 -0
- package/dist/Bar.d.ts +6 -27
- package/dist/Bar.js +3 -14
- package/dist/Bar.js.map +1 -1
- package/dist/BarcodeScannerDialog.d.ts +2 -13
- package/dist/BarcodeScannerDialog.js +10 -12
- package/dist/BarcodeScannerDialog.js.map +1 -1
- package/dist/DynamicSideContent.d.ts +9 -35
- package/dist/DynamicSideContent.js +15 -7
- package/dist/DynamicSideContent.js.map +1 -1
- package/dist/FilterItem.d.ts +3 -14
- package/dist/FilterItem.js +1 -5
- package/dist/FilterItem.js.map +1 -1
- package/dist/FilterItemOption.d.ts +3 -11
- package/dist/FilterItemOption.js +1 -5
- package/dist/FilterItemOption.js.map +1 -1
- package/dist/FlexibleColumnLayout.d.ts +13 -51
- package/dist/FlexibleColumnLayout.js +28 -26
- package/dist/FlexibleColumnLayout.js.map +1 -1
- package/dist/IllustratedMessage.d.ts +9 -35
- package/dist/IllustratedMessage.js +1 -4
- package/dist/IllustratedMessage.js.map +1 -1
- package/dist/Interfaces.d.ts +28 -88
- package/dist/Interfaces.js +2 -113
- package/dist/Interfaces.js.map +1 -1
- package/dist/MediaGallery.d.ts +9 -26
- package/dist/MediaGallery.js +4 -8
- package/dist/MediaGallery.js.map +1 -1
- package/dist/MediaGalleryItem.d.ts +7 -22
- package/dist/MediaGalleryItem.js +2 -5
- package/dist/MediaGalleryItem.js.map +1 -1
- package/dist/NotificationAction.d.ts +7 -20
- package/dist/NotificationAction.js +3 -9
- package/dist/NotificationAction.js.map +1 -1
- package/dist/NotificationListGroupItem.d.ts +5 -27
- package/dist/NotificationListGroupItem.js +1 -16
- package/dist/NotificationListGroupItem.js.map +1 -1
- package/dist/NotificationListItem.d.ts +3 -27
- package/dist/NotificationListItem.js +2 -15
- package/dist/NotificationListItem.js.map +1 -1
- package/dist/NotificationListItemBase.d.ts +7 -32
- package/dist/NotificationListItemBase.js +15 -15
- package/dist/NotificationListItemBase.js.map +1 -1
- package/dist/Page.d.ts +7 -35
- package/dist/Page.js +2 -13
- package/dist/Page.js.map +1 -1
- package/dist/ProductSwitch.d.ts +3 -10
- package/dist/ProductSwitch.js +1 -5
- package/dist/ProductSwitch.js.map +1 -1
- package/dist/ProductSwitchItem.d.ts +9 -22
- package/dist/ProductSwitchItem.js +2 -7
- package/dist/ProductSwitchItem.js.map +1 -1
- package/dist/ShellBar.d.ts +30 -90
- package/dist/ShellBar.js +28 -41
- package/dist/ShellBar.js.map +1 -1
- package/dist/ShellBarItem.d.ts +9 -14
- package/dist/ShellBarItem.js +6 -6
- package/dist/ShellBarItem.js.map +1 -1
- package/dist/SideNavigation.d.ts +29 -17
- package/dist/SideNavigation.js +155 -9
- package/dist/SideNavigation.js.map +1 -1
- package/dist/SideNavigationItem.d.ts +4 -17
- package/dist/SideNavigationItem.js +1 -5
- package/dist/SideNavigationItem.js.map +1 -1
- package/dist/SideNavigationItemBase.d.ts +7 -36
- package/dist/SideNavigationItemBase.js +20 -12
- package/dist/SideNavigationItemBase.js.map +1 -1
- package/dist/SideNavigationSubItem.d.ts +1 -5
- package/dist/SideNavigationSubItem.js +1 -5
- package/dist/SideNavigationSubItem.js.map +1 -1
- package/dist/SortItem.d.ts +3 -11
- package/dist/SortItem.js +1 -5
- package/dist/SortItem.js.map +1 -1
- package/dist/Timeline.d.ts +5 -16
- package/dist/Timeline.js +1 -5
- package/dist/Timeline.js.map +1 -1
- package/dist/TimelineItem.d.ts +11 -34
- package/dist/TimelineItem.js +3 -15
- package/dist/TimelineItem.js.map +1 -1
- package/dist/UploadCollection.d.ts +11 -32
- package/dist/UploadCollection.js +7 -9
- package/dist/UploadCollection.js.map +1 -1
- package/dist/UploadCollectionItem.d.ts +16 -47
- package/dist/UploadCollectionItem.js +3 -10
- package/dist/UploadCollectionItem.js.map +1 -1
- package/dist/ViewSettingsDialog.d.ts +5 -28
- package/dist/ViewSettingsDialog.js +34 -18
- package/dist/ViewSettingsDialog.js.map +1 -1
- package/dist/Wizard.d.ts +15 -39
- package/dist/Wizard.js +23 -33
- package/dist/Wizard.js.map +1 -1
- package/dist/WizardStep.d.ts +8 -31
- package/dist/WizardStep.js +2 -5
- package/dist/WizardStep.js.map +1 -1
- package/dist/WizardTab.d.ts +20 -24
- package/dist/WizardTab.js +1 -5
- package/dist/WizardTab.js.map +1 -1
- package/dist/css/themes/Bar.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/NotificationOverflowActionsPopover.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/SideNavigationPopover.css +1 -1
- package/dist/css/themes/Timeline.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_belize/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_belize_hcw/parameters-bundle.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 +6682 -0
- package/dist/custom-elements.json +4098 -1
- package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -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 +2 -1
- package/dist/generated/i18n/i18n-defaults.js +2 -1
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/templates/SideNavigationPopoverTemplate.lit.js +6 -2
- package/dist/generated/templates/SideNavigationPopoverTemplate.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/themes/Bar.css.js +1 -1
- package/dist/generated/themes/Bar.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/NotificationOverflowActionsPopover.css.js +1 -1
- package/dist/generated/themes/NotificationOverflowActionsPopover.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/SideNavigationPopover.css.js +1 -1
- package/dist/generated/themes/SideNavigationPopover.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/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_belize/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.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/types/BarDesign.d.ts +0 -8
- package/dist/types/BarDesign.js +0 -8
- package/dist/types/BarDesign.js.map +1 -1
- package/dist/types/FCLLayout.d.ts +0 -13
- package/dist/types/FCLLayout.js +0 -13
- package/dist/types/FCLLayout.js.map +1 -1
- package/dist/types/IllustrationMessageSize.d.ts +0 -9
- package/dist/types/IllustrationMessageSize.js +0 -9
- package/dist/types/IllustrationMessageSize.js.map +1 -1
- package/dist/types/IllustrationMessageType.d.ts +0 -107
- package/dist/types/IllustrationMessageType.js +0 -107
- package/dist/types/IllustrationMessageType.js.map +1 -1
- package/dist/types/MediaGalleryItemLayout.d.ts +0 -6
- package/dist/types/MediaGalleryItemLayout.js +0 -6
- package/dist/types/MediaGalleryItemLayout.js.map +1 -1
- package/dist/types/MediaGalleryLayout.d.ts +0 -7
- package/dist/types/MediaGalleryLayout.js +0 -7
- package/dist/types/MediaGalleryLayout.js.map +1 -1
- package/dist/types/MediaGalleryMenuHorizontalAlign.d.ts +0 -6
- package/dist/types/MediaGalleryMenuHorizontalAlign.js +0 -6
- package/dist/types/MediaGalleryMenuHorizontalAlign.js.map +1 -1
- package/dist/types/MediaGalleryMenuVerticalAlign.d.ts +0 -6
- package/dist/types/MediaGalleryMenuVerticalAlign.js +0 -6
- package/dist/types/MediaGalleryMenuVerticalAlign.js.map +1 -1
- package/dist/types/PageBackgroundDesign.d.ts +0 -7
- package/dist/types/PageBackgroundDesign.js +0 -7
- package/dist/types/PageBackgroundDesign.js.map +1 -1
- package/dist/types/SideContentFallDown.d.ts +0 -8
- package/dist/types/SideContentFallDown.js +0 -8
- package/dist/types/SideContentFallDown.js.map +1 -1
- package/dist/types/SideContentPosition.d.ts +0 -6
- package/dist/types/SideContentPosition.js +0 -6
- package/dist/types/SideContentPosition.js.map +1 -1
- package/dist/types/SideContentVisibility.d.ts +0 -9
- package/dist/types/SideContentVisibility.js +0 -9
- package/dist/types/SideContentVisibility.js.map +1 -1
- package/dist/types/TimelineLayout.d.ts +0 -6
- package/dist/types/TimelineLayout.js +0 -6
- package/dist/types/TimelineLayout.js.map +1 -1
- package/dist/types/UploadCollectionDnDMode.d.ts +0 -7
- package/dist/types/UploadCollectionDnDMode.js +0 -7
- package/dist/types/UploadCollectionDnDMode.js.map +1 -1
- package/dist/types/UploadState.d.ts +0 -8
- package/dist/types/UploadState.js +0 -8
- package/dist/types/UploadState.js.map +1 -1
- package/dist/types/ViewSettingsDialogMode.d.ts +0 -6
- package/dist/types/ViewSettingsDialogMode.js +0 -6
- package/dist/types/ViewSettingsDialogMode.js.map +1 -1
- package/dist/types/WizardContentLayout.d.ts +0 -6
- package/dist/types/WizardContentLayout.js +0 -6
- package/dist/types/WizardContentLayout.js.map +1 -1
- package/package.json +7 -7
- package/src/SideNavigation.hbs +21 -0
- package/src/SideNavigationPopover.hbs +61 -28
- package/src/i18n/messagebundle.properties +3 -0
- package/src/themes/SideNavigation.css +11 -1
- package/dist/api.json +0 -1
package/dist/Wizard.js
CHANGED
|
@@ -74,16 +74,6 @@ const RESPONSIVE_BREAKPOINTS = {
|
|
|
74
74
|
* <br>
|
|
75
75
|
* <b>Note:</b> If multiple selected steps are defined, the last step will be selected.
|
|
76
76
|
*
|
|
77
|
-
* <h3>CSS Shadow Parts</h3>
|
|
78
|
-
*
|
|
79
|
-
* <ui5-link target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/CSS/::part">CSS Shadow Parts</ui5-link> allow developers to style elements inside the Shadow DOM.
|
|
80
|
-
* <br>
|
|
81
|
-
* The <code>ui5-wizard</code> exposes the following CSS Shadow Parts:
|
|
82
|
-
* <ul>
|
|
83
|
-
* <li>navigator - Used to style the progress navigator of the <code>ui5-wizard</code>.</li>
|
|
84
|
-
* <li>step-content - Used to style a <code>ui5-wizard-step</code> container.</li>
|
|
85
|
-
* </ul>
|
|
86
|
-
*
|
|
87
77
|
* <h3>Keyboard Handling</h3>
|
|
88
78
|
* The user can navigate using the following keyboard shortcuts:
|
|
89
79
|
* <br>
|
|
@@ -145,13 +135,11 @@ const RESPONSIVE_BREAKPOINTS = {
|
|
|
145
135
|
* <code>import "@ui5/webcomponents-fiori/dist/Wizard.js";</code> (includes <ui5-wizard-step/>)
|
|
146
136
|
*
|
|
147
137
|
* @constructor
|
|
148
|
-
* @
|
|
149
|
-
* @alias sap.ui.webc.fiori.Wizard
|
|
150
|
-
* @extends sap.ui.webc.base.UI5Element
|
|
151
|
-
* @tagname ui5-wizard
|
|
138
|
+
* @extends UI5Element
|
|
152
139
|
* @since 1.0.0-rc.10
|
|
153
|
-
* @appenddocs sap.ui.webc.fiori.WizardStep
|
|
154
140
|
* @public
|
|
141
|
+
* @csspart navigator - Used to style the progress navigator of the <code>ui5-wizard</code>.</li>
|
|
142
|
+
* @csspart step-content - Used to style a <code>ui5-wizard-step</code> container.</li>
|
|
155
143
|
*/
|
|
156
144
|
let Wizard = Wizard_1 = class Wizard extends UI5Element {
|
|
157
145
|
constructor() {
|
|
@@ -288,7 +276,6 @@ let Wizard = Wizard_1 = class Wizard extends UI5Element {
|
|
|
288
276
|
/**
|
|
289
277
|
* Handles user click on steps' tabs within the header.
|
|
290
278
|
* <b>Note:</b> the handler is bound in the template.
|
|
291
|
-
* @param {MouseEvent} e
|
|
292
279
|
* @private
|
|
293
280
|
*/
|
|
294
281
|
onSelectionChangeRequested(e) {
|
|
@@ -298,7 +285,6 @@ let Wizard = Wizard_1 = class Wizard extends UI5Element {
|
|
|
298
285
|
/**
|
|
299
286
|
* Handles user scrolling with debouncing.
|
|
300
287
|
* <b>Note:</b> the handler is bound in the template.
|
|
301
|
-
* @param {MouseEvent} e
|
|
302
288
|
* @private
|
|
303
289
|
*/
|
|
304
290
|
onScroll(e) {
|
|
@@ -311,7 +297,6 @@ let Wizard = Wizard_1 = class Wizard extends UI5Element {
|
|
|
311
297
|
/**
|
|
312
298
|
* Handles when a step in the header is focused in order to update the <code>ItemNavigation</code>.
|
|
313
299
|
* <b>Note:</b> the handler is bound in the template.
|
|
314
|
-
* @param {FocusEvent} e
|
|
315
300
|
* @private
|
|
316
301
|
*/
|
|
317
302
|
onStepInHeaderFocused(e) {
|
|
@@ -470,7 +455,7 @@ let Wizard = Wizard_1 = class Wizard extends UI5Element {
|
|
|
470
455
|
/**
|
|
471
456
|
* Called upon <code>onScroll</code>.
|
|
472
457
|
* Selects the closest step, based on the user scroll position.
|
|
473
|
-
* @param
|
|
458
|
+
* @param scrollPos the current scroll position
|
|
474
459
|
* @private
|
|
475
460
|
*/
|
|
476
461
|
changeSelectionByScroll(scrollPos) {
|
|
@@ -491,7 +476,7 @@ let Wizard = Wizard_1 = class Wizard extends UI5Element {
|
|
|
491
476
|
* Called upon <code>onSelectionChangeRequested</code>.
|
|
492
477
|
* Selects the external step (ui5-wizard-step),
|
|
493
478
|
* based on the clicked or activated via keyboard step in the header (ui5-wizard-tab).
|
|
494
|
-
* @param
|
|
479
|
+
* @param stepInHeader the step equivalent in the header
|
|
495
480
|
* @private
|
|
496
481
|
*/
|
|
497
482
|
async changeSelectionByStepAction(stepInHeader) {
|
|
@@ -617,7 +602,6 @@ let Wizard = Wizard_1 = class Wizard extends UI5Element {
|
|
|
617
602
|
/**
|
|
618
603
|
* Returns an array of data objects, based on the user defined steps
|
|
619
604
|
* to later build the steps (tabs) within the header.
|
|
620
|
-
* @returns {Array<StepInfo>}
|
|
621
605
|
* @private
|
|
622
606
|
*/
|
|
623
607
|
getStepsInfo() {
|
|
@@ -663,7 +647,6 @@ let Wizard = Wizard_1 = class Wizard extends UI5Element {
|
|
|
663
647
|
}
|
|
664
648
|
/**
|
|
665
649
|
* Returns the index of the selected step.
|
|
666
|
-
* @returns {Integer}
|
|
667
650
|
* @private
|
|
668
651
|
*/
|
|
669
652
|
getSelectedStepIndex() {
|
|
@@ -674,7 +657,6 @@ let Wizard = Wizard_1 = class Wizard extends UI5Element {
|
|
|
674
657
|
}
|
|
675
658
|
/**
|
|
676
659
|
* Returns the index of the last enabled step.
|
|
677
|
-
* @returns {Integer}
|
|
678
660
|
* @private
|
|
679
661
|
*/
|
|
680
662
|
getLastEnabledStepIndex() {
|
|
@@ -710,7 +692,7 @@ let Wizard = Wizard_1 = class Wizard extends UI5Element {
|
|
|
710
692
|
* by given step index.
|
|
711
693
|
*
|
|
712
694
|
* @private
|
|
713
|
-
* @param
|
|
695
|
+
* @param stepIndex the index of a step
|
|
714
696
|
*/
|
|
715
697
|
scrollToContentItem(stepIndex) {
|
|
716
698
|
this.contentDOM.scrollTop = this.getClosestScrollPosByStepIndex(stepIndex);
|
|
@@ -719,7 +701,7 @@ let Wizard = Wizard_1 = class Wizard extends UI5Element {
|
|
|
719
701
|
* Returns to closest scroll position for the given step index.
|
|
720
702
|
*
|
|
721
703
|
* @private
|
|
722
|
-
* @param
|
|
704
|
+
* @param stepIndex the index of a step
|
|
723
705
|
*/
|
|
724
706
|
getClosestScrollPosByStepIndex(stepIndex) {
|
|
725
707
|
if (stepIndex === 0) {
|
|
@@ -738,7 +720,7 @@ let Wizard = Wizard_1 = class Wizard extends UI5Element {
|
|
|
738
720
|
/**
|
|
739
721
|
* Returns the closest step index by given scroll position.
|
|
740
722
|
* @private
|
|
741
|
-
* @param
|
|
723
|
+
* @param scrollPos the scroll position
|
|
742
724
|
*/
|
|
743
725
|
getClosestStepIndexByScrollPos(scrollPos) {
|
|
744
726
|
for (let closestStepIndex = 0; closestStepIndex <= this.stepScrollOffsets.length - 1; closestStepIndex++) {
|
|
@@ -757,10 +739,10 @@ let Wizard = Wizard_1 = class Wizard extends UI5Element {
|
|
|
757
739
|
/**
|
|
758
740
|
* Switches the selection from the old step to the newly selected step.
|
|
759
741
|
*
|
|
760
|
-
* @param
|
|
761
|
-
* @param
|
|
762
|
-
* @param
|
|
763
|
-
* @param
|
|
742
|
+
* @param selectedStep the old step
|
|
743
|
+
* @param stepToSelect the step to be selected
|
|
744
|
+
* @param stepToSelectIndex the index of the newly selected step
|
|
745
|
+
* @param changeWithClick the selection changed due to user click in the step navigation
|
|
764
746
|
* @private
|
|
765
747
|
*/
|
|
766
748
|
switchSelectionFromOldToNewStep(selectedStep, stepToSelect, stepToSelectIndex, changeWithClick) {
|
|
@@ -842,17 +824,25 @@ Wizard = Wizard_1 = __decorate([
|
|
|
842
824
|
* Fired when the step is changed by user interaction - either with scrolling,
|
|
843
825
|
* or by clicking on the steps within the component header.
|
|
844
826
|
*
|
|
845
|
-
* @
|
|
846
|
-
* @param {
|
|
847
|
-
* @param {sap.ui.webc.fiori.IWizardStep} previousStep The previous step.
|
|
827
|
+
* @param {WizardStep} step The new step.
|
|
828
|
+
* @param {WizardStep} previousStep The previous step.
|
|
848
829
|
* @param {boolean} changeWithClick The step change occurs due to user's click or 'Enter'/'Space' key press on step within the navigation.
|
|
849
830
|
* @public
|
|
850
831
|
*/
|
|
851
832
|
,
|
|
852
833
|
event("step-change", {
|
|
853
834
|
detail: {
|
|
835
|
+
/**
|
|
836
|
+
* @public
|
|
837
|
+
*/
|
|
854
838
|
step: { type: HTMLElement },
|
|
839
|
+
/**
|
|
840
|
+
* @public
|
|
841
|
+
*/
|
|
855
842
|
previousStep: { type: HTMLElement },
|
|
843
|
+
/**
|
|
844
|
+
* @public
|
|
845
|
+
*/
|
|
856
846
|
changeWithClick: { Boolean },
|
|
857
847
|
},
|
|
858
848
|
})
|
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 Float from \"@ui5/webcomponents-base/dist/types/Float.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 browserScrollbarCSS from \"@ui5/webcomponents/dist/generated/themes/BrowserScrollbar.css.js\";\nimport 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 WizardPopoverTemplate from \"./generated/templates/WizardPopoverTemplate.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\tchangeWithClick: 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\ttabIndex: string,\n\tstyles: object,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>ui5-wizard</code> 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 * <h3>Structure</h3>\n * <h4>Navigation area</h4>\n * The top most area of the <code>ui5-wizard</code> 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 * <ul>\n * <li> Steps can have different visual representations - numbers or icons.</li>\n * <li> Steps might have labels for better readability - titleText and subTitleText.</li>\n * <li> Steps are defined by using the <code>ui5-wizard-step</code> as slotted element within the <code>ui5-wizard</code>.</li>\n * </ul>\n *\n * <b>Note:</b> If no selected step is defined, the first step will be auto selected.\n * <br>\n * <b>Note:</b> If multiple selected steps are defined, the last step will be selected.\n *\n * <h3>CSS Shadow Parts</h3>\n *\n * <ui5-link target=\"_blank\" href=\"https://developer.mozilla.org/en-US/docs/Web/CSS/::part\">CSS Shadow Parts</ui5-link> allow developers to style elements inside the Shadow DOM.\n * <br>\n * The <code>ui5-wizard</code> exposes the following CSS Shadow Parts:\n * <ul>\n * <li>navigator - Used to style the progress navigator of the <code>ui5-wizard</code>.</li>\n * <li>step-content - Used to style a <code>ui5-wizard-step</code> container.</li>\n * </ul>\n *\n * <h3>Keyboard Handling</h3>\n * The user can navigate using the following keyboard shortcuts:\n * <br>\n *\n * <h4>Wizard Progress Navigation</h4>\n * <ul>\n * \t<li>[LEFT], [DOWN] - Focus moves backward to the WizardProgressNavAnchors.</li>\n * \t<li>[UP], [RIGHT] - Focus moves forward to the WizardProgressNavAnchor.</li>\n * \t<li>[SPACE] or [ENTER], [RETURN] - Selects an active step</li>\n * \t<li>[HOME] or [PAGE UP] - Focus goes to the first step</li>\n * \t<li>[END] or [PAGE DOWN] - Focus goes to the last step</li>\n * </ul>\n *\n * <h4>Fast Navigation</h4>\n * This component provides a build in fast navigation group which can be used via <code>F6 / Shift + F6</code> or <code> Ctrl + Alt(Option) + Down / Ctrl + Alt(Option) + Up</code>.\n * In order to use this functionality, you need to import the following module:\n * <code>import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"</code>\n *\n * <h4>Content</h4>\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 <code>ui5-wizard-step</code> as slotted element within the <code>ui5-wizard</code>.\n *\n * <h3>Scrolling</h3>\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 * <br><br>\n *\n * <b>Important:</b> 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 * <br><br>\n * <b>For example:</b>\n * <br><br>\n * <code><ui5-dialog style=\"height: 80%\"><br></code>\n * <code>	<ui5-wizard></ui5-wizard><br></code>\n * <code></ui5-dialog></code>\n *\n * <h4>Moving to next step</h4>\n * The <code>ui5-wizard-step</code> 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 <code>selected</code> property (and remove the <code>disabled</code> one if set) to <code>true</code>.\n * The <code>ui5-wizard</code> will automatically scroll to the content of the newly selected step.\n * <br><br>\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 <code>ui5-wizard-step</code>,\n * and show/hide it when certain fields are filled or user defined criteria is met.\n *\n * <h3>Usage</h3>\n * <h4>When to use:</h4>\n * When the user has to accomplish a long or unfamiliar task.\n *\n * <h4>When not to use:</h4>\n * When the task has less than 3 steps.\n *\n * <h3>Responsive Behavior</h3>\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 * <h3>ES6 Module Import</h3>\n * <code>import \"@ui5/webcomponents-fiori/dist/Wizard.js\";</code> (includes <ui5-wizard-step/>)\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.fiori.Wizard\n * @extends sap.ui.webc.base.UI5Element\n * @tagname ui5-wizard\n * @since 1.0.0-rc.10\n * @appenddocs sap.ui.webc.fiori.WizardStep\n * @public\n */\n@customElement({\n\ttag: \"ui5-wizard\",\n\tlanguageAware: true,\n\tfastNavigation: true,\n\trenderer: litRender,\n\tstyles: [\n\t\tbrowserScrollbarCSS,\n\t\tWizardCss,\n\t],\n\tstaticAreaStyles: WizardPopoverCss,\n\ttemplate: WizardTemplate,\n\tstaticAreaTemplate: WizardPopoverTemplate,\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 *\n * @event sap.ui.webc.fiori.Wizard#step-change\n * @param {sap.ui.webc.fiori.IWizardStep} step The new step.\n * @param {sap.ui.webc.fiori.IWizardStep} previousStep The previous step.\n * @param {boolean} changeWithClick The step change occurs due to user's click or 'Enter'/'Space' key press on step within the navigation.\n * @public\n */\n@event(\"step-change\", {\n\tdetail: {\n\t\tstep: { type: HTMLElement },\n\t\tpreviousStep: { type: HTMLElement },\n\t\tchangeWithClick: { Boolean },\n\t},\n})\n\nclass Wizard extends UI5Element {\n\t/**\n\t * Defines how the content of the <code>ui5-wizard</code> would be visualized.\n\t * @public\n\t * @type {sap.ui.webc.fiori.types.WizardContentLayout}\n\t * @since 1.14.0\n\t * @name sap.ui.webc.fiori.Wizard.prototype.contentLayout\n\t * @defaultvalue \"MultipleSteps\"\n\t */\n\t@property({ type: WizardContentLayout, defaultValue: WizardContentLayout.MultipleSteps })\n\tcontentLayout?: WizardContentLayout\n\n\t/**\n\t * Defines the width of the <code>ui5-wizard</code>.\n\t * @private\n\t */\n\t@property({ validator: Float })\n\twidth?: number\n\n\t/**\n\t * Defines the threshold to switch between steps upon user scrolling.\n\t * <br><br>\n\t *\n\t * <b>For Example:</b>\n\t * <br>\n\t * (1) To switch to the next step, when half of the step is scrolled out - set <code>step-switch-threshold=\"0.5\"</code>.\n\t * (2) To switch to the next step, when the entire current step is scrolled out - set <code>step-switch-threshold=\"1\"</code>.\n\t *\n\t * <br><br>\n\t * <b>Note:</b> 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 * @type {sap.ui.webc.base.types.Float}\n\t * @defaultvalue 0.7\n\t * @since 1.0.0-rc.13\n\t */\n\t@property({ validator: Float, defaultValue: STEP_SWITCH_THRESHOLDS.DEFAULT })\n\tstepSwitchThreshold!: number;\n\n\t/**\n\t * Defines the height of the <code>ui5-wizard</code> content.\n\t * @private\n\t */\n\t@property({ validator: Float })\n\tcontentHeight?: number;\n\n\t@property({ type: Object, multiple: true })\n\t_groupedTabs!: Array<WizardTab>\n\n\t@property()\n\t_breakpoint!: string\n\n\t/**\n\t * Defines the steps.\n\t * <br><br>\n\t * <b>Note:</b> Use the available <code>ui5-wizard-step</code> component.\n\t *\n\t * @type {sap.ui.webc.fiori.IWizardStep[]}\n\t * @name sap.ui.webc.fiori.Wizard.prototype.default\n\t * @public\n\t * @slot steps\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// Stores references to the grouped steps.\n\t\tthis._groupedTabs = [];\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\t\"ui5-content-native-scrollbars\": getEffectiveScrollbarStyle(),\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\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 * <b>Note:</b> 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 * <b>Note:</b> the handler is bound in the template.\n\t * @param {MouseEvent} e\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 * <b>Note:</b> the handler is bound in the template.\n\t * @param {MouseEvent} e\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\tdebounce(this.changeSelectionByScroll.bind(this, (e.target as HTMLElement).scrollTop), Wizard.SCROLL_DEBOUNCE_RATE);\n\t}\n\n\t/**\n\t * Handles when a step in the header is focused in order to update the <code>ItemNavigation</code>.\n\t * <b>Note:</b> the handler is bound in the template.\n\t * @param {FocusEvent} e\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\tasync _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 = await this._respPopover();\n\t\tresponsivePopover.showAt(oDomTarget);\n\t}\n\n\tasync _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, true);\n\t\tthis._closeRespPopover();\n\t\ttabs[newlySelectedIndex].focus();\n\t}\n\n\tasync _closeRespPopover() {\n\t\tconst responsivePopover = await this._respPopover();\n\t\tresponsivePopover && responsivePopover.close();\n\t}\n\n\tasync _respPopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<ResponsivePopover>(`.ui5-wizard-responsive-popover`)!;\n\t}\n\n\t/**\n\t * Called upon <code>onScroll</code>.\n\t * Selects the closest step, based on the user scroll position.\n\t * @param {Integer} 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, false);\n\t\t\tthis.selectionRequestedByScroll = true;\n\t\t}\n\t}\n\n\t/**\n\t * Called upon <code>onSelectionChangeRequested</code>.\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 {WizardTab} 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, true);\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;\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 * @returns {Array<StepInfo>}\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\ttabIndex: this.selectedStepIndex === idx ? \"0\" : \"-1\",\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 * @returns {Integer}\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 * @returns {Integer}\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 <code>onAfterRendering</cod>.\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 <code>ui5-wizard</code> shadowDOM\n\t * by given step index.\n\t *\n\t * @private\n\t * @param {Integer} 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 *\n\t * @private\n\t * @param {Integer} 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 {Integer} 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 *\n\t * @param {WizardStep} selectedStep the old step\n\t * @param {WizardStep} stepToSelect the step to be selected\n\t * @param {Integer} stepToSelectIndex the index of the newly selected step\n\t * @param {boolean} changeWithClick the selection changed due to user click in the step navigation\n\t * @private\n\t */\n\tswitchSelectionFromOldToNewStep(selectedStep: WizardStep | null, stepToSelect: WizardStep, stepToSelectIndex: number, changeWithClick: 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\tchangeWithClick,\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 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 Float from \"@ui5/webcomponents-base/dist/types/Float.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 browserScrollbarCSS from \"@ui5/webcomponents/dist/generated/themes/BrowserScrollbar.css.js\";\nimport 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 WizardPopoverTemplate from \"./generated/templates/WizardPopoverTemplate.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\tchangeWithClick: 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\ttabIndex: string,\n\tstyles: object,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>ui5-wizard</code> 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 * <h3>Structure</h3>\n * <h4>Navigation area</h4>\n * The top most area of the <code>ui5-wizard</code> 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 * <ul>\n * <li> Steps can have different visual representations - numbers or icons.</li>\n * <li> Steps might have labels for better readability - titleText and subTitleText.</li>\n * <li> Steps are defined by using the <code>ui5-wizard-step</code> as slotted element within the <code>ui5-wizard</code>.</li>\n * </ul>\n *\n * <b>Note:</b> If no selected step is defined, the first step will be auto selected.\n * <br>\n * <b>Note:</b> If multiple selected steps are defined, the last step will be selected.\n *\n * <h3>Keyboard Handling</h3>\n * The user can navigate using the following keyboard shortcuts:\n * <br>\n *\n * <h4>Wizard Progress Navigation</h4>\n * <ul>\n * \t<li>[LEFT], [DOWN] - Focus moves backward to the WizardProgressNavAnchors.</li>\n * \t<li>[UP], [RIGHT] - Focus moves forward to the WizardProgressNavAnchor.</li>\n * \t<li>[SPACE] or [ENTER], [RETURN] - Selects an active step</li>\n * \t<li>[HOME] or [PAGE UP] - Focus goes to the first step</li>\n * \t<li>[END] or [PAGE DOWN] - Focus goes to the last step</li>\n * </ul>\n *\n * <h4>Fast Navigation</h4>\n * This component provides a build in fast navigation group which can be used via <code>F6 / Shift + F6</code> or <code> Ctrl + Alt(Option) + Down / Ctrl + Alt(Option) + Up</code>.\n * In order to use this functionality, you need to import the following module:\n * <code>import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"</code>\n *\n * <h4>Content</h4>\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 <code>ui5-wizard-step</code> as slotted element within the <code>ui5-wizard</code>.\n *\n * <h3>Scrolling</h3>\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 * <br><br>\n *\n * <b>Important:</b> 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 * <br><br>\n * <b>For example:</b>\n * <br><br>\n * <code><ui5-dialog style=\"height: 80%\"><br></code>\n * <code>	<ui5-wizard></ui5-wizard><br></code>\n * <code></ui5-dialog></code>\n *\n * <h4>Moving to next step</h4>\n * The <code>ui5-wizard-step</code> 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 <code>selected</code> property (and remove the <code>disabled</code> one if set) to <code>true</code>.\n * The <code>ui5-wizard</code> will automatically scroll to the content of the newly selected step.\n * <br><br>\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 <code>ui5-wizard-step</code>,\n * and show/hide it when certain fields are filled or user defined criteria is met.\n *\n * <h3>Usage</h3>\n * <h4>When to use:</h4>\n * When the user has to accomplish a long or unfamiliar task.\n *\n * <h4>When not to use:</h4>\n * When the task has less than 3 steps.\n *\n * <h3>Responsive Behavior</h3>\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 * <h3>ES6 Module Import</h3>\n * <code>import \"@ui5/webcomponents-fiori/dist/Wizard.js\";</code> (includes <ui5-wizard-step/>)\n *\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 <code>ui5-wizard</code>.</li>\n * @csspart step-content - Used to style a <code>ui5-wizard-step</code> container.</li>\n */\n@customElement({\n\ttag: \"ui5-wizard\",\n\tlanguageAware: true,\n\tfastNavigation: true,\n\trenderer: litRender,\n\tstyles: [\n\t\tbrowserScrollbarCSS,\n\t\tWizardCss,\n\t],\n\tstaticAreaStyles: WizardPopoverCss,\n\ttemplate: WizardTemplate,\n\tstaticAreaTemplate: WizardPopoverTemplate,\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 *\n * @param {WizardStep} step The new step.\n * @param {WizardStep} previousStep The previous step.\n * @param {boolean} changeWithClick The step change occurs due to user's click or 'Enter'/'Space' key press on step within the navigation.\n * @public\n */\n@event(\"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\tchangeWithClick: { Boolean },\n\t},\n})\n\nclass Wizard extends UI5Element {\n\t/**\n\t * Defines how the content of the <code>ui5-wizard</code> would be visualized.\n\t * @public\n\t * @since 1.14.0\n\t * @default \"MultipleSteps\"\n\t */\n\t@property({ type: WizardContentLayout, defaultValue: WizardContentLayout.MultipleSteps })\n\tcontentLayout!: WizardContentLayout\n\n\t/**\n\t * Defines the width of the <code>ui5-wizard</code>.\n\t * @private\n\t */\n\t@property({ validator: Float })\n\twidth?: number\n\n\t/**\n\t * Defines the threshold to switch between steps upon user scrolling.\n\t * <br><br>\n\t *\n\t * <b>For Example:</b>\n\t * <br>\n\t * (1) To switch to the next step, when half of the step is scrolled out - set <code>step-switch-threshold=\"0.5\"</code>.\n\t * (2) To switch to the next step, when the entire current step is scrolled out - set <code>step-switch-threshold=\"1\"</code>.\n\t *\n\t * <br><br>\n\t * <b>Note:</b> 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({ validator: Float, defaultValue: STEP_SWITCH_THRESHOLDS.DEFAULT })\n\tstepSwitchThreshold!: number;\n\n\t/**\n\t * Defines the height of the <code>ui5-wizard</code> content.\n\t * @private\n\t */\n\t@property({ validator: Float })\n\tcontentHeight?: number;\n\n\t@property({ type: Object, multiple: true })\n\t_groupedTabs!: Array<WizardTab>\n\n\t@property()\n\t_breakpoint!: string\n\n\t/**\n\t * Defines the steps.\n\t * <br><br>\n\t * <b>Note:</b> Use the available <code>ui5-wizard-step</code> component.\n\t *\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// Stores references to the grouped steps.\n\t\tthis._groupedTabs = [];\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\t\"ui5-content-native-scrollbars\": getEffectiveScrollbarStyle(),\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\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 * <b>Note:</b> 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 * <b>Note:</b> 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 * <b>Note:</b> 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\tdebounce(this.changeSelectionByScroll.bind(this, (e.target as HTMLElement).scrollTop), Wizard.SCROLL_DEBOUNCE_RATE);\n\t}\n\n\t/**\n\t * Handles when a step in the header is focused in order to update the <code>ItemNavigation</code>.\n\t * <b>Note:</b> 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\tasync _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 = await this._respPopover();\n\t\tresponsivePopover.showAt(oDomTarget);\n\t}\n\n\tasync _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, true);\n\t\tthis._closeRespPopover();\n\t\ttabs[newlySelectedIndex].focus();\n\t}\n\n\tasync _closeRespPopover() {\n\t\tconst responsivePopover = await this._respPopover();\n\t\tresponsivePopover && responsivePopover.close();\n\t}\n\n\tasync _respPopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<ResponsivePopover>(`.ui5-wizard-responsive-popover`)!;\n\t}\n\n\t/**\n\t * Called upon <code>onScroll</code>.\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, false);\n\t\t\tthis.selectionRequestedByScroll = true;\n\t\t}\n\t}\n\n\t/**\n\t * Called upon <code>onSelectionChangeRequested</code>.\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, true);\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;\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\ttabIndex: this.selectedStepIndex === idx ? \"0\" : \"-1\",\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 <code>onAfterRendering</cod>.\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 <code>ui5-wizard</code> shadowDOM\n\t * by given step index.\n\t *\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 *\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 *\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 changeWithClick the selection changed due to user click in the step navigation\n\t * @private\n\t */\n\tswitchSelectionFromOldToNewStep(selectedStep: WizardStep | null, stepToSelect: WizardStep, stepToSelectIndex: number, changeWithClick: 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\tchangeWithClick,\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/WizardStep.d.ts
CHANGED
|
@@ -20,14 +20,11 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
|
20
20
|
* and should not be used standalone.
|
|
21
21
|
*
|
|
22
22
|
* @constructor
|
|
23
|
-
* @
|
|
24
|
-
* @alias sap.ui.webc.fiori.WizardStep
|
|
25
|
-
* @extends sap.ui.webc.base.UI5Element
|
|
23
|
+
* @extends UI5Element
|
|
26
24
|
* @abstract
|
|
27
|
-
* @tagname ui5-wizard-step
|
|
28
25
|
* @since 1.0.0-rc.10
|
|
29
|
-
* @implements sap.ui.webc.fiori.IWizardStep
|
|
30
26
|
* @public
|
|
27
|
+
* @slot {Node[]} default - Defines the step content.
|
|
31
28
|
*/
|
|
32
29
|
declare class WizardStep extends UI5Element {
|
|
33
30
|
/**
|
|
@@ -36,9 +33,7 @@ declare class WizardStep extends UI5Element {
|
|
|
36
33
|
*
|
|
37
34
|
* <b>Note:</b> The text is displayed in the <code>ui5-wizard</code> navigation header.
|
|
38
35
|
*
|
|
39
|
-
* @
|
|
40
|
-
* @name sap.ui.webc.fiori.WizardStep.prototype.titleText
|
|
41
|
-
* @defaultvalue ""
|
|
36
|
+
* @default ""
|
|
42
37
|
* @public
|
|
43
38
|
* @since 1.0.0-rc.15
|
|
44
39
|
*/
|
|
@@ -49,9 +44,7 @@ declare class WizardStep extends UI5Element {
|
|
|
49
44
|
*
|
|
50
45
|
* <b>Note:</b> the text is displayed in the <code>ui5-wizard</code> navigation header.
|
|
51
46
|
*
|
|
52
|
-
* @
|
|
53
|
-
* @name sap.ui.webc.fiori.WizardStep.prototype.subtitleText
|
|
54
|
-
* @defaultvalue ""
|
|
47
|
+
* @default ""
|
|
55
48
|
* @public
|
|
56
49
|
* @since 1.0.0-rc.15
|
|
57
50
|
*/
|
|
@@ -65,9 +58,7 @@ declare class WizardStep extends UI5Element {
|
|
|
65
58
|
*
|
|
66
59
|
* The SAP-icons font provides numerous options.
|
|
67
60
|
* See all the available icons in the <ui5-link target="_blank" href="https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html">Icon Explorer</ui5-link>.
|
|
68
|
-
* @
|
|
69
|
-
* @name sap.ui.webc.fiori.WizardStep.prototype.icon
|
|
70
|
-
* @defaultvalue ""
|
|
61
|
+
* @default ""
|
|
71
62
|
* @public
|
|
72
63
|
*/
|
|
73
64
|
icon: string;
|
|
@@ -79,9 +70,7 @@ declare class WizardStep extends UI5Element {
|
|
|
79
70
|
* <b>Note:</b> Step can't be <code>selected</code> and <code>disabled</code> at the same time.
|
|
80
71
|
* In this case the <code>selected</code> property would take precedence.
|
|
81
72
|
*
|
|
82
|
-
* @
|
|
83
|
-
* @name sap.ui.webc.fiori.WizardStep.prototype.disabled
|
|
84
|
-
* @defaultvalue false
|
|
73
|
+
* @default false
|
|
85
74
|
* @public
|
|
86
75
|
*/
|
|
87
76
|
disabled: boolean;
|
|
@@ -92,9 +81,7 @@ declare class WizardStep extends UI5Element {
|
|
|
92
81
|
* <b>Note:</b> Step can't be <code>selected</code> and <code>disabled</code> at the same time.
|
|
93
82
|
* In this case the <code>selected</code> property would take precedence.
|
|
94
83
|
*
|
|
95
|
-
* @
|
|
96
|
-
* @name sap.ui.webc.fiori.WizardStep.prototype.selected
|
|
97
|
-
* @defaultvalue false
|
|
84
|
+
* @default false
|
|
98
85
|
* @public
|
|
99
86
|
*/
|
|
100
87
|
selected: boolean;
|
|
@@ -106,20 +93,10 @@ declare class WizardStep extends UI5Element {
|
|
|
106
93
|
* <b>Note:</b> It is recommended to use <code>branching</code> on the last known step
|
|
107
94
|
* and later add new steps when it becomes clear how the wizard flow should continue.
|
|
108
95
|
*
|
|
109
|
-
* @
|
|
110
|
-
* @name sap.ui.webc.fiori.WizardStep.prototype.branching
|
|
111
|
-
|
|
112
|
-
* @defaultvalue false
|
|
96
|
+
* @default false
|
|
113
97
|
* @public
|
|
114
98
|
*/
|
|
115
99
|
branching: boolean;
|
|
116
|
-
/**
|
|
117
|
-
* Defines the step content.
|
|
118
|
-
* @type {Node[]}
|
|
119
|
-
* @name sap.ui.webc.fiori.WizardStep.prototype.default
|
|
120
|
-
* @slot
|
|
121
|
-
* @public
|
|
122
|
-
*/
|
|
123
100
|
stretch?: boolean;
|
|
124
101
|
stepContentAriaLabel?: string;
|
|
125
102
|
}
|
package/dist/WizardStep.js
CHANGED
|
@@ -28,14 +28,11 @@ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
|
28
28
|
* and should not be used standalone.
|
|
29
29
|
*
|
|
30
30
|
* @constructor
|
|
31
|
-
* @
|
|
32
|
-
* @alias sap.ui.webc.fiori.WizardStep
|
|
33
|
-
* @extends sap.ui.webc.base.UI5Element
|
|
31
|
+
* @extends UI5Element
|
|
34
32
|
* @abstract
|
|
35
|
-
* @tagname ui5-wizard-step
|
|
36
33
|
* @since 1.0.0-rc.10
|
|
37
|
-
* @implements sap.ui.webc.fiori.IWizardStep
|
|
38
34
|
* @public
|
|
35
|
+
* @slot {Node[]} default - Defines the step content.
|
|
39
36
|
*/
|
|
40
37
|
let WizardStep = class WizardStep extends UI5Element {
|
|
41
38
|
};
|
package/dist/WizardStep.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WizardStep.js","sourceRoot":"","sources":["../src/WizardStep.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E
|
|
1
|
+
{"version":3,"file":"WizardStep.js","sourceRoot":"","sources":["../src/WizardStep.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,UAAU;CAqFlC,CAAA;AAzEA;IADC,QAAQ,EAAE;6CACO;AAalB;IADC,QAAQ,EAAE;gDACU;AAerB;IADC,QAAQ,EAAE;wCACE;AAcb;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;4CACV;AAalB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;4CACV;AAclB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CACT;AAjFd,UAAU;IADf,aAAa,CAAC,iBAAiB,CAAC;GAC3B,UAAU,CAqFf;AAED,UAAU,CAAC,MAAM,EAAE,CAAC;AAEpB,eAAe,UAAU,CAAC","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\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * A component that represents a logical step as part of the <code>ui5-wizard</code>.\n * It is meant to aggregate arbitrary HTML elements that form the content of a single step.\n *\n * <h3>Structure</h3>\n * <ul>\n * <li>Each wizard step has arbitrary content.</li>\n * <li>Each wizard step might have texts - defined by the <code>titleText</code> and <code>subtitleText</code> properties.</li>\n * <li>Each wizard step might have an icon - defined by the <code>icon</code> property.</li>\n * <li>Each wizard step might display a number in place of the <code>icon</code>, when it's missing.</li>\n * </ul>\n *\n * <h3>Usage</h3>\n * The <code>ui5-wizard-step</code> component should be used only as slot of the <code>ui5-wizard</code> component\n * and should not be used standalone.\n *\n * @constructor\n * @extends UI5Element\n * @abstract\n * @since 1.0.0-rc.10\n * @public\n * @slot {Node[]} default - Defines the step content.\n */\n\n@customElement(\"ui5-wizard-step\")\nclass WizardStep extends UI5Element {\n\t/**\n\t * Defines the <code>titleText</code> of the step.\n\t * <br><br>\n\t *\n\t * <b>Note:</b> The text is displayed in the <code>ui5-wizard</code> navigation header.\n\t *\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\ttitleText!: string\n\n\t/**\n\t * Defines the <code>subtitleText</code> of the step.\n\t * <br><br>\n\t *\n\t * <b>Note:</b> the text is displayed in the <code>ui5-wizard</code> navigation header.\n\t *\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\tsubtitleText!: string\n\n\t/**\n\t * Defines the <code>icon</code> of the step.\n\t * <br><br>\n\t *\n\t * <b>Note:</b> The icon is displayed in the <code>ui5-wizard</code> navigation header.\n\t * <br><br>\n\t *\n\t * The SAP-icons font provides numerous options.\n\t * See all the available icons in the <ui5-link target=\"_blank\" href=\"https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html\">Icon Explorer</ui5-link>.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ticon!: string\n\n\t/**\n\t * Defines if the step is <code>disabled</code>. When disabled the step is displayed,\n\t * but the user can't select the step by clicking or navigate to it with scrolling.\n\t * <br><br>\n\t *\n\t * <b>Note:</b> Step can't be <code>selected</code> and <code>disabled</code> at the same time.\n\t * In this case the <code>selected</code> property would take precedence.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean\n\n\t/**\n\t * Defines the step's <code>selected</code> state - the step that is currently active.\n\t * <br><br>\n\t *\n\t * <b>Note:</b> Step can't be <code>selected</code> and <code>disabled</code> at the same time.\n\t * In this case the <code>selected</code> property would take precedence.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tselected!: boolean\n\n\t/**\n\t * When <code>branching</code> is enabled a dashed line would be displayed after the step,\n\t * meant to indicate that the next step is not yet known and depends on user choice in the current step.\n\t * <br><br>\n\t *\n\t * <b>Note:</b> It is recommended to use <code>branching</code> on the last known step\n\t * and later add new steps when it becomes clear how the wizard flow should continue.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tbranching!: boolean\n\n\tstretch?: boolean;\n\tstepContentAriaLabel?: string;\n}\n\nWizardStep.define();\n\nexport default WizardStep;\n"]}
|