@sapudex/web-components 0.226.1 → 0.227.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.
Files changed (144) hide show
  1. package/dist/Breadcrumbs.js +3 -2
  2. package/dist/Breadcrumbs.js.map +1 -1
  3. package/dist/Button.d.ts +7 -0
  4. package/dist/Button.js +3 -0
  5. package/dist/Button.js.map +1 -1
  6. package/dist/ListItem.d.ts +3 -2
  7. package/dist/ListItem.js +2 -2
  8. package/dist/ListItem.js.map +1 -1
  9. package/dist/MastheadItem.js +1 -1
  10. package/dist/MastheadItem.js.map +1 -1
  11. package/dist/MastheadShell.d.ts +4 -1
  12. package/dist/MastheadShell.js +21 -5
  13. package/dist/MastheadShell.js.map +1 -1
  14. package/dist/Pagination.d.ts +18 -2
  15. package/dist/Pagination.js +35 -11
  16. package/dist/Pagination.js.map +1 -1
  17. package/dist/PhoneNumberField.d.ts +5 -5
  18. package/dist/PhoneNumberField.js +1 -1
  19. package/dist/PhoneNumberField.js.map +1 -1
  20. package/dist/Search.js +1 -2
  21. package/dist/Search.js.map +1 -1
  22. package/dist/SearchableListBase.d.ts +9 -0
  23. package/dist/SearchableListBase.js +10 -2
  24. package/dist/SearchableListBase.js.map +1 -1
  25. package/dist/SecondaryNavigation.d.ts +4 -1
  26. package/dist/SecondaryNavigation.js +37 -10
  27. package/dist/SecondaryNavigation.js.map +1 -1
  28. package/dist/SecondaryNavigationItem.d.ts +10 -0
  29. package/dist/SecondaryNavigationItem.js +19 -0
  30. package/dist/SecondaryNavigationItem.js.map +1 -1
  31. package/dist/SecondaryNavigationItemBase.d.ts +1 -0
  32. package/dist/SecondaryNavigationItemBase.js +3 -0
  33. package/dist/SecondaryNavigationItemBase.js.map +1 -1
  34. package/dist/SecondaryNavigationSubItem.d.ts +0 -1
  35. package/dist/SecondaryNavigationSubItem.js +0 -3
  36. package/dist/SecondaryNavigationSubItem.js.map +1 -1
  37. package/dist/Wizard.d.ts +20 -0
  38. package/dist/Wizard.js +21 -6
  39. package/dist/Wizard.js.map +1 -1
  40. package/dist/assets/{bundle.esm-a49b6527.js → bundle.esm-8018708a.js} +182 -182
  41. package/dist/css/themes/Breadcrumbs.css +1 -1
  42. package/dist/css/themes/Button.css +1 -1
  43. package/dist/css/themes/ListItem.css +1 -1
  44. package/dist/css/themes/MastheadCountrySelector.css +1 -1
  45. package/dist/css/themes/MastheadItem.css +1 -1
  46. package/dist/css/themes/MastheadShell.css +1 -1
  47. package/dist/css/themes/Modal.css +1 -1
  48. package/dist/css/themes/Pagination.css +1 -1
  49. package/dist/css/themes/RatingIndicator.css +1 -1
  50. package/dist/css/themes/Search.css +1 -1
  51. package/dist/css/themes/Slider.css +1 -1
  52. package/dist/custom-elements-internal.json +202 -66
  53. package/dist/custom-elements.json +181 -64
  54. package/dist/data/CountryListISO3166.d.ts +13 -4
  55. package/dist/data/CountryListISO3166.js +8 -0
  56. package/dist/data/CountryListISO3166.js.map +1 -1
  57. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +1 -1
  58. package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +1 -1
  59. package/dist/generated/templates/PaginationTemplate.lit.js +3 -3
  60. package/dist/generated/templates/PaginationTemplate.lit.js.map +1 -1
  61. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +2 -2
  62. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +1 -1
  63. package/dist/generated/templates/SearchTemplate.lit.js +3 -3
  64. package/dist/generated/templates/SearchTemplate.lit.js.map +1 -1
  65. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js +2 -2
  66. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js.map +1 -1
  67. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +1 -1
  68. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
  69. package/dist/generated/templates/WizardTemplate.lit.js +5 -3
  70. package/dist/generated/templates/WizardTemplate.lit.js.map +1 -1
  71. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  72. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  73. package/dist/generated/themes/Button.css.js +1 -1
  74. package/dist/generated/themes/Button.css.js.map +1 -1
  75. package/dist/generated/themes/ListItem.css.js +1 -1
  76. package/dist/generated/themes/ListItem.css.js.map +1 -1
  77. package/dist/generated/themes/MastheadCountrySelector.css.js +1 -1
  78. package/dist/generated/themes/MastheadCountrySelector.css.js.map +1 -1
  79. package/dist/generated/themes/MastheadItem.css.js +1 -1
  80. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  81. package/dist/generated/themes/MastheadShell.css.js +1 -1
  82. package/dist/generated/themes/MastheadShell.css.js.map +1 -1
  83. package/dist/generated/themes/Modal.css.js +1 -1
  84. package/dist/generated/themes/Modal.css.js.map +1 -1
  85. package/dist/generated/themes/Pagination.css.js +1 -1
  86. package/dist/generated/themes/Pagination.css.js.map +1 -1
  87. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  88. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  89. package/dist/generated/themes/Search.css.js +1 -1
  90. package/dist/generated/themes/Search.css.js.map +1 -1
  91. package/dist/generated/themes/Slider.css.js +1 -1
  92. package/dist/generated/themes/Slider.css.js.map +1 -1
  93. package/dist/vscode.html-custom-data.json +25 -0
  94. package/dist/web-types.json +41 -1
  95. package/package.json +1 -1
  96. package/src/Breadcrumbs.hbs +10 -12
  97. package/src/Breadcrumbs.ts +3 -2
  98. package/src/Button.ts +9 -0
  99. package/src/ListItem.ts +4 -4
  100. package/src/MastheadItem.ts +1 -1
  101. package/src/MastheadShell.ts +25 -5
  102. package/src/Pagination.hbs +11 -5
  103. package/src/Pagination.ts +51 -8
  104. package/src/PhoneNumberField.hbs +1 -1
  105. package/src/PhoneNumberField.ts +8 -3
  106. package/src/Search.hbs +3 -2
  107. package/src/Search.ts +1 -2
  108. package/src/SearchableListBase.ts +18 -2
  109. package/src/SecondaryNavigation.hbs +1 -0
  110. package/src/SecondaryNavigation.ts +41 -12
  111. package/src/SecondaryNavigationItem.hbs +2 -1
  112. package/src/SecondaryNavigationItem.ts +31 -0
  113. package/src/SecondaryNavigationItemBase.ts +3 -0
  114. package/src/SecondaryNavigationSubItem.ts +0 -3
  115. package/src/Wizard.hbs +9 -1
  116. package/src/Wizard.ts +39 -7
  117. package/src/data/CountryListISO3166.ts +10 -2
  118. package/src/generated/templates/BreadcrumbsTemplate.lit.ts +1 -1
  119. package/src/generated/templates/PaginationTemplate.lit.ts +3 -3
  120. package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +1 -1
  121. package/src/generated/templates/SearchTemplate.lit.ts +3 -3
  122. package/src/generated/templates/SecondaryNavigationItemTemplate.lit.ts +2 -2
  123. package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +1 -1
  124. package/src/generated/templates/WizardTemplate.lit.ts +5 -3
  125. package/src/generated/themes/Breadcrumbs.css.ts +1 -1
  126. package/src/generated/themes/Button.css.ts +1 -1
  127. package/src/generated/themes/ListItem.css.ts +1 -1
  128. package/src/generated/themes/MastheadCountrySelector.css.ts +1 -1
  129. package/src/generated/themes/MastheadItem.css.ts +1 -1
  130. package/src/generated/themes/MastheadShell.css.ts +1 -1
  131. package/src/generated/themes/Modal.css.ts +1 -1
  132. package/src/generated/themes/Pagination.css.ts +1 -1
  133. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  134. package/src/generated/themes/Search.css.ts +1 -1
  135. package/src/generated/themes/Slider.css.ts +1 -1
  136. package/src/themes/Breadcrumbs.css +3 -0
  137. package/src/themes/Button.css +84 -29
  138. package/src/themes/ListItem.css +5 -1
  139. package/src/themes/MastheadCountrySelector.css +8 -5
  140. package/src/themes/MastheadItem.css +12 -4
  141. package/src/themes/MastheadShell.css +5 -2
  142. package/src/themes/Modal.css +6 -1
  143. package/src/themes/Pagination.css +19 -0
  144. package/src/themes/Search.css +8 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SecondaryNavigationItemBase.js","sourceRoot":"","sources":["../src/SecondaryNavigationItemBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport ResizeHandler, { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { Target } from \"./types/common.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\n\nexport type NavItem = {\n path?: string;\n mobileLinkTitle: string;\n target?: Target;\n title: string;\n active?: boolean;\n isBack?: boolean;\n items?: Array<NavItem>;\n}\n\n/**\n * @class\n *\n * A class to serve as a foundation\n * for the <code>UDExSecondaryNavigationItem</code> and <code>UDExSecondaryNavigationSubItem</code> classes.\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @public\n */\n\n@customElement({\n renderer: litRender,\n})\n\nclass UDExSecondaryNavigationItemBase extends UI5Element {\n /**\n * Defines an aria label for item\n *\n * @public\n */\n @property({ type: String })\n mobileLinkTitle!: string;\n\n /**\n * Defines active state for the item\n *\n * @public\n */\n @property({ type: Boolean })\n active!: boolean;\n\n /**\n * Defines path for the item\n *\n * @public\n */\n @property({ type: String })\n path!: string;\n\n /**\n * Defines target for the item\n *\n * @public\n */\n @property({ type: Target, defaultValue: Target._self })\n target!: Target;\n\n /**\n * Defines subTitle for the item\n *\n * @public\n */\n @property({ type: String })\n subTitle!: string;\n\n /**\n * Defines label for the item\n *\n * @public\n */\n @property({ type: String })\n label!: string;\n\n /**\n * Defines the index for the item.\n *\n * @public\n */\n @property({ validator: Integer })\n index!: number;\n\n @property({ type: Boolean })\n _isMobileView!: boolean;\n\n _handleResizeBound: ResizeObserverCallback;\n\n constructor() {\n super();\n this._isMobileView = this.isMobile;\n this._handleResizeBound = this._handleResize.bind(this);\n }\n\n _handleResize(): void {\n this._isMobileView = this.isMobile;\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n getActiveSubItem(data: Array<NavItem>): NavItem | undefined {\n let activeItem;\n const findActiveItem = (array: Array<NavItem>) => {\n array.forEach(item => {\n if (item.active === true) {\n activeItem = item;\n return;\n }\n if (item.items) {\n findActiveItem(item.items);\n }\n });\n };\n\n findActiveItem(data);\n return activeItem;\n }\n\n get itemLabel(): string {\n return this._isMobileView ? (this.mobileLinkTitle || this.label) : this.label;\n }\n\n get isMobile(): boolean {\n return BreakpointUtils.isAtMost(\"S\");\n }\n\n get ariaCurrent(): string | null {\n return this.active ? \"page\" : null;\n }\n}\n\nexport default UDExSecondaryNavigationItemBase;\n"]}
1
+ {"version":3,"file":"SecondaryNavigationItemBase.js","sourceRoot":"","sources":["../src/SecondaryNavigationItemBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport ResizeHandler, { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { Target } from \"./types/common.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\n\nexport type NavItem = {\n path?: string;\n mobileLinkTitle: string;\n target?: Target;\n title: string;\n active?: boolean;\n isBack?: boolean;\n items?: Array<NavItem>;\n}\n\n/**\n * @class\n *\n * A class to serve as a foundation\n * for the <code>UDExSecondaryNavigationItem</code> and <code>UDExSecondaryNavigationSubItem</code> classes.\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @public\n */\n\n@customElement({\n renderer: litRender,\n})\n\nclass UDExSecondaryNavigationItemBase extends UI5Element {\n /**\n * Defines an aria label for item\n *\n * @public\n */\n @property({ type: String })\n mobileLinkTitle!: string;\n\n /**\n * Defines active state for the item\n *\n * @public\n */\n @property({ type: Boolean })\n active!: boolean;\n\n /**\n * Defines path for the item\n *\n * @public\n */\n @property({ type: String })\n path!: string;\n\n /**\n * Defines target for the item\n *\n * @public\n */\n @property({ type: Target, defaultValue: Target._self })\n target!: Target;\n\n /**\n * Defines subTitle for the item\n *\n * @public\n */\n @property({ type: String })\n subTitle!: string;\n\n /**\n * Defines label for the item\n *\n * @public\n */\n @property({ type: String })\n label!: string;\n\n /**\n * Defines the index for the item.\n *\n * @public\n */\n @property({ validator: Integer })\n index!: number;\n\n @property({ type: Boolean })\n _isMobileView!: boolean;\n\n @property({ type: String, defaultValue: \"-1\" })\n _tabIndex!: string;\n\n _handleResizeBound: ResizeObserverCallback;\n\n constructor() {\n super();\n this._isMobileView = this.isMobile;\n this._handleResizeBound = this._handleResize.bind(this);\n }\n\n _handleResize(): void {\n this._isMobileView = this.isMobile;\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n getActiveSubItem(data: Array<NavItem>): NavItem | undefined {\n let activeItem;\n const findActiveItem = (array: Array<NavItem>) => {\n array.forEach(item => {\n if (item.active === true) {\n activeItem = item;\n return;\n }\n if (item.items) {\n findActiveItem(item.items);\n }\n });\n };\n\n findActiveItem(data);\n return activeItem;\n }\n\n get itemLabel(): string {\n return this._isMobileView ? (this.mobileLinkTitle || this.label) : this.label;\n }\n\n get isMobile(): boolean {\n return BreakpointUtils.isAtMost(\"S\");\n }\n\n get ariaCurrent(): string | null {\n return this.active ? \"page\" : null;\n }\n}\n\nexport default UDExSecondaryNavigationItemBase;\n"]}
@@ -34,7 +34,6 @@ declare class UDExSecondaryNavigationSubItem extends UDExSecondaryNavigationItem
34
34
  * @public
35
35
  */
36
36
  nestedItems: Array<NavItem>;
37
- _tabIndex: string;
38
37
  static i18nBundle: any;
39
38
  static onDefine(): Promise<void>;
40
39
  onItemClick(e: PointerEvent): void;
@@ -69,9 +69,6 @@ __decorate([
69
69
  __decorate([
70
70
  property({ type: Object, multiple: true })
71
71
  ], UDExSecondaryNavigationSubItem.prototype, "nestedItems", void 0);
72
- __decorate([
73
- property({ type: String, defaultValue: "-1" })
74
- ], UDExSecondaryNavigationSubItem.prototype, "_tabIndex", void 0);
75
72
  UDExSecondaryNavigationSubItem = UDExSecondaryNavigationSubItem_1 = __decorate([
76
73
  customElement({
77
74
  tag: "udex-secondary-navigation-sub-item",
@@ -1 +1 @@
1
- {"version":3,"file":"SecondaryNavigationSubItem.js","sourceRoot":"","sources":["../src/SecondaryNavigationSubItem.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,OAAO,MAAM,iCAAiC,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,mDAAmD,CAAC;AAC3D,OAAO,kDAAkD,CAAC;AAC1D,OAAO,+BAA4C,MAAM,kCAAkC,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,kCAAkC,MAAM,iEAAiE,CAAC;AAEjH,SAAS;AACT,OAAO,6BAA6B,MAAM,sDAAsD,CAAC;AAEjG;;;;;;;;;;;;;;;;;GAiBG;AA6BH,IAAM,8BAA8B,sCAApC,MAAM,8BAA+B,SAAQ,+BAA+B;IAwB1E,MAAM,CAAC,KAAK,CAAC,QAAQ;QACnB,gCAA8B,CAAC,UAAU,GAAG,MAAM,aAAa,CAAC,yBAAyB,CAAC,CAAC;IAC7F,CAAC;IAED,WAAW,CAAC,CAAe;QACzB,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE;YAC/B,IAAI,EAAE,IAAI;YACV,aAAa,EAAE,CAAC;SACjB,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED,eAAe,CAAC,CAAe;QAC7B,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;IACnC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACrC,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC3D,CAAC;IAED,IAAI,mBAAmB;QACrB,MAAM,KAAK,GAAG,gCAA8B,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAW,CAAC;QAC7F,OAAO,GAAG,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;IACtC,CAAC;CACF,CAAA;AA/CG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8DACT;AASjB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;mEACZ;AAG7B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;iEAC1B;AApBjB,8BAA8B;IA5BnC,aAAa,CAAC;QACb,GAAG,EAAE,oCAAoC;QACzC,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,6BAA6B;QACrC,QAAQ,EAAE,kCAAkC;QAC5C,YAAY,EAAE,CAAC,OAAO,CAAC;KACxB,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,gBAAgB,EAAE;QACvB,MAAM,EAAE;YACN,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SAC5B;KACF,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,iBAAiB,CAAC;GAEnB,8BAA8B,CAuDnC;AAED,8BAA8B,CAAC,MAAM,EAAE,CAAC;AAExC,eAAe,8BAA8B,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-left.js\";\nimport UDExSecondaryNavigationItemBase, { NavItem } from \"./SecondaryNavigationItemBase.js\";\nimport { BACK_BUTTON_LABEL } from \"./generated/i18n/i18n-defaults.js\";\n\nimport SecondaryNavigationSubItemTemplate from \"./generated/templates/SecondaryNavigationSubItemTemplate.lit.js\";\n\n// Styles\nimport SecondaryNavigationSubItemCss from \"./generated/themes/SecondaryNavigationSubItem.css.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-secondary-navigation-sub-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/SecondaryNavigationSubItem.js\";</code>\n *\n * @constructor\n * @extends UDExSecondaryNavigationItemBase\n * @tagname udex-secondary-navigation-sub-item\n * @public\n */\n@customElement({\n tag: \"udex-secondary-navigation-sub-item\",\n renderer: litRender,\n styles: SecondaryNavigationSubItemCss,\n template: SecondaryNavigationSubItemTemplate,\n dependencies: [UI5Icon],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"sub-item-click\", {\n detail: {\n item: { type: HTMLElement },\n },\n})\n\n/**\n * Fires when back item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"back-item-click\")\n\nclass UDExSecondaryNavigationSubItem extends UDExSecondaryNavigationItemBase {\n /**\n * Defines back item.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n isBack!: boolean;\n\n /**\n * List of the nested items\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: Object, multiple: true })\n nestedItems!: Array<NavItem>;\n\n @property({ type: String, defaultValue: \"-1\" })\n _tabIndex!: string;\n\n static i18nBundle: any;\n\n static async onDefine(): Promise<void> {\n UDExSecondaryNavigationSubItem.i18nBundle = await getI18nBundle(\"@sapudex/web-components\");\n }\n\n onItemClick(e: PointerEvent): void {\n this.fireEvent(\"sub-item-click\", {\n item: this,\n originalEvent: e,\n }, true);\n }\n\n onBackItemClick(e: PointerEvent): void {\n this.fireEvent(\"back-item-click\", { originalEvent: e }, true);\n }\n\n get hasItems(): boolean {\n return !!this.nestedItems.length;\n }\n\n get isButton(): boolean {\n return this.hasItems || !this.path;\n }\n\n get isSubItemActive(): boolean {\n return !!this.getActiveSubItem(this.nestedItems)?.active;\n }\n\n get backButtonAriaLabel(): string {\n const label = UDExSecondaryNavigationSubItem.i18nBundle.getText(BACK_BUTTON_LABEL) as string;\n return `${label} ${this.itemLabel}`;\n }\n}\n\nUDExSecondaryNavigationSubItem.define();\n\nexport default UDExSecondaryNavigationSubItem;\n"]}
1
+ {"version":3,"file":"SecondaryNavigationSubItem.js","sourceRoot":"","sources":["../src/SecondaryNavigationSubItem.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,OAAO,MAAM,iCAAiC,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,mDAAmD,CAAC;AAC3D,OAAO,kDAAkD,CAAC;AAC1D,OAAO,+BAA4C,MAAM,kCAAkC,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,kCAAkC,MAAM,iEAAiE,CAAC;AAEjH,SAAS;AACT,OAAO,6BAA6B,MAAM,sDAAsD,CAAC;AAEjG;;;;;;;;;;;;;;;;;GAiBG;AA6BH,IAAM,8BAA8B,sCAApC,MAAM,8BAA+B,SAAQ,+BAA+B;IAqB1E,MAAM,CAAC,KAAK,CAAC,QAAQ;QACnB,gCAA8B,CAAC,UAAU,GAAG,MAAM,aAAa,CAAC,yBAAyB,CAAC,CAAC;IAC7F,CAAC;IAED,WAAW,CAAC,CAAe;QACzB,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE;YAC/B,IAAI,EAAE,IAAI;YACV,aAAa,EAAE,CAAC;SACjB,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED,eAAe,CAAC,CAAe;QAC7B,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;IACnC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACrC,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC3D,CAAC;IAED,IAAI,mBAAmB;QACrB,MAAM,KAAK,GAAG,gCAA8B,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAW,CAAC;QAC7F,OAAO,GAAG,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;IACtC,CAAC;CACF,CAAA;AA5CG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8DACT;AASjB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;mEACZ;AAjB3B,8BAA8B;IA5BnC,aAAa,CAAC;QACb,GAAG,EAAE,oCAAoC;QACzC,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,6BAA6B;QACrC,QAAQ,EAAE,kCAAkC;QAC5C,YAAY,EAAE,CAAC,OAAO,CAAC;KACxB,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,gBAAgB,EAAE;QACvB,MAAM,EAAE;YACN,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SAC5B;KACF,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,iBAAiB,CAAC;GAEnB,8BAA8B,CAoDnC;AAED,8BAA8B,CAAC,MAAM,EAAE,CAAC;AAExC,eAAe,8BAA8B,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-left.js\";\nimport UDExSecondaryNavigationItemBase, { NavItem } from \"./SecondaryNavigationItemBase.js\";\nimport { BACK_BUTTON_LABEL } from \"./generated/i18n/i18n-defaults.js\";\n\nimport SecondaryNavigationSubItemTemplate from \"./generated/templates/SecondaryNavigationSubItemTemplate.lit.js\";\n\n// Styles\nimport SecondaryNavigationSubItemCss from \"./generated/themes/SecondaryNavigationSubItem.css.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-secondary-navigation-sub-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/SecondaryNavigationSubItem.js\";</code>\n *\n * @constructor\n * @extends UDExSecondaryNavigationItemBase\n * @tagname udex-secondary-navigation-sub-item\n * @public\n */\n@customElement({\n tag: \"udex-secondary-navigation-sub-item\",\n renderer: litRender,\n styles: SecondaryNavigationSubItemCss,\n template: SecondaryNavigationSubItemTemplate,\n dependencies: [UI5Icon],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"sub-item-click\", {\n detail: {\n item: { type: HTMLElement },\n },\n})\n\n/**\n * Fires when back item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"back-item-click\")\n\nclass UDExSecondaryNavigationSubItem extends UDExSecondaryNavigationItemBase {\n /**\n * Defines back item.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n isBack!: boolean;\n\n /**\n * List of the nested items\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: Object, multiple: true })\n nestedItems!: Array<NavItem>;\n\n static i18nBundle: any;\n\n static async onDefine(): Promise<void> {\n UDExSecondaryNavigationSubItem.i18nBundle = await getI18nBundle(\"@sapudex/web-components\");\n }\n\n onItemClick(e: PointerEvent): void {\n this.fireEvent(\"sub-item-click\", {\n item: this,\n originalEvent: e,\n }, true);\n }\n\n onBackItemClick(e: PointerEvent): void {\n this.fireEvent(\"back-item-click\", { originalEvent: e }, true);\n }\n\n get hasItems(): boolean {\n return !!this.nestedItems.length;\n }\n\n get isButton(): boolean {\n return this.hasItems || !this.path;\n }\n\n get isSubItemActive(): boolean {\n return !!this.getActiveSubItem(this.nestedItems)?.active;\n }\n\n get backButtonAriaLabel(): string {\n const label = UDExSecondaryNavigationSubItem.i18nBundle.getText(BACK_BUTTON_LABEL) as string;\n return `${label} ${this.itemLabel}`;\n }\n}\n\nUDExSecondaryNavigationSubItem.define();\n\nexport default UDExSecondaryNavigationSubItem;\n"]}
package/dist/Wizard.d.ts CHANGED
@@ -29,8 +29,28 @@ declare class UDExWizard extends Wizard {
29
29
  * @public
30
30
  */
31
31
  indeterminate: boolean;
32
+ /**
33
+ * Defines aria-label of the wizard, read by screen readers with the first step.
34
+ *
35
+ * @public
36
+ */
37
+ accessibleName: string;
38
+ /**
39
+ * Defines the title of the current step.
40
+ *
41
+ * @private
42
+ */
43
+ _currentStepTitle: string;
44
+ /**
45
+ * Defines the subtitle of the current step.
46
+ *
47
+ * @private
48
+ */
49
+ _currentStepSubTitle: string;
32
50
  constructor();
33
51
  onEnterDOM(): void;
52
+ onAfterRendering(): void;
53
+ get effectiveAccessibleName(): string;
34
54
  get slottedSteps(): UDExWizardStep[];
35
55
  get stepsInHeaderDOM(): UDExWizardTab[];
36
56
  get _steps(): UDExWizardStep[];
package/dist/Wizard.js CHANGED
@@ -95,12 +95,9 @@ let UDExWizard = class UDExWizard extends Wizard {
95
95
  return this.steps.map((step, idx) => {
96
96
  const pos = idx + 1;
97
97
  const hideSeparator = idx === stepsCount - 1 && !this.indeterminate;
98
- const stepStateText = step.disabled
99
- ? this.inactiveStepText
100
- : this.activeStepText;
101
- const ariaLabel = (step.titleText
102
- ? `${pos} ${step.titleText} ${stepStateText}`
103
- : `${this.navStepDefaultHeading} ${pos} ${stepStateText}`).trim();
98
+ const ariaLabel = (`${idx === 0 ? this.effectiveAccessibleName : ""} ${step.titleText
99
+ ? `${pos} ${step.titleText}`
100
+ : `${this.navStepDefaultHeading} ${pos}`}`).trim();
104
101
  const isAfterCurrent = idx > selectedStepIndex;
105
102
  accInfo = {
106
103
  ariaSetsize: stepsCount,
@@ -131,6 +128,15 @@ let UDExWizard = class UDExWizard extends Wizard {
131
128
  });
132
129
  };
133
130
  }
131
+ onAfterRendering() {
132
+ this.attachStepsResizeObserver();
133
+ this.previouslySelectedStepIndex = this.selectedStepIndex;
134
+ this._currentStepTitle = this._steps[this.selectedStepIndex].titleText;
135
+ this._currentStepSubTitle = this._steps[this.selectedStepIndex].subtitleText;
136
+ }
137
+ get effectiveAccessibleName() {
138
+ return this.accessibleName || this.ariaLabelText;
139
+ }
134
140
  get slottedSteps() {
135
141
  return this.getSlottedNodes("steps");
136
142
  }
@@ -156,6 +162,15 @@ __decorate([
156
162
  __decorate([
157
163
  property({ type: Boolean })
158
164
  ], UDExWizard.prototype, "indeterminate", void 0);
165
+ __decorate([
166
+ property({ type: String })
167
+ ], UDExWizard.prototype, "accessibleName", void 0);
168
+ __decorate([
169
+ property({ type: String })
170
+ ], UDExWizard.prototype, "_currentStepTitle", void 0);
171
+ __decorate([
172
+ property({ type: String })
173
+ ], UDExWizard.prototype, "_currentStepSubTitle", void 0);
159
174
  UDExWizard = __decorate([
160
175
  customElement({
161
176
  tag: "udex-wizard",
@@ -1 +1 @@
1
- {"version":3,"file":"Wizard.js","sourceRoot":"","sources":["../src/Wizard.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Wizard from \"@ui5/webcomponents-fiori/dist/Wizard.js\";\nimport WizardContentLayout from \"@ui5/webcomponents-fiori/dist/types/WizardContentLayout.js\";\nimport wizardCss from \"@ui5/webcomponents-fiori/dist/generated/themes/Wizard.css.js\";\nimport UDExWizardTab from \"./WizardTab.js\";\nimport UDExWizardStep from \"./WizardStep.js\";\n\nimport WizardTemplate from \"./generated/templates/WizardTemplate.lit.js\";\n\n// Styles\nimport WizardCss from \"./generated/themes/Wizard.css.js\";\n\ntype ResponsiveBreakpoints = {\n [key: string]: string\n}\n\nconst EXPANDED_STEP = \"data-ui5-wizard-expanded-tab\";\nconst RESPONSIVE_BREAKPOINTS: ResponsiveBreakpoints = {\n \"360\": \"S\",\n \"640\": \"M\",\n \"980\": \"L\",\n \"1300\": \"XL\",\n};\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-wizard</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Wizard.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends Wizard\n * @tagname udex-wizard\n * @public\n */\n@customElement({\n tag: \"udex-wizard\",\n renderer: litRender,\n template: WizardTemplate,\n styles: [wizardCss, WizardCss],\n dependencies: [...Wizard.dependencies, UDExWizardTab, UDExWizardStep],\n})\n\nclass UDExWizard extends Wizard {\n @slot({\n \"default\": true,\n type: HTMLElement,\n individualSlots: true,\n invalidateOnChildChange: true,\n })\n steps!: UDExWizardStep[];\n\n /**\n * Defines whether the component has unknown number of steps.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n indeterminate!: boolean;\n\n constructor() {\n super();\n }\n\n onEnterDOM() {\n this.contentLayout = WizardContentLayout.SingleStep;\n\n this._calcCurrentBreakpoint = () => {\n const breakpointDimensions = Object.keys(RESPONSIVE_BREAKPOINTS).reverse();\n const breakpoint = breakpointDimensions.find(size => Number(size) < this.width!);\n this._breakpoint = breakpoint ? RESPONSIVE_BREAKPOINTS[breakpoint] : RESPONSIVE_BREAKPOINTS[\"360\"];\n };\n\n // overriding ui5-wizard behavior for small screens - tabs are not clickable, unless expanded\n this._adjustHeaderOverflow = () => {\n const tabs = this.stepsInHeaderDOM;\n tabs.forEach(step => {\n step.setAttribute(EXPANDED_STEP, \"true\");\n });\n };\n\n this.switchSelectionFromOldToNewStep = (\n selectedStep: UDExWizardStep,\n stepToSelect: UDExWizardStep,\n stepToSelectIndex,\n changeWithClick,\n ) => {\n if (selectedStep && stepToSelect) {\n // keep the selection if next step is disabled\n if (!stepToSelect.disabled) {\n selectedStep.selected = false;\n selectedStep.completed = true;\n stepToSelect.selected = true;\n }\n this.fireEvent(\"step-change\", {\n step: stepToSelect,\n previousStep: selectedStep,\n changeWithClick,\n });\n this.selectedStepIndex = stepToSelectIndex;\n }\n };\n\n this.getLastEnabledStepIndex = () => {\n let lastEnabledStepIndex = 0;\n this.slottedSteps.forEach((step, idx) => {\n if (step.selected || step.completed) {\n lastEnabledStepIndex = idx;\n }\n });\n return lastEnabledStepIndex;\n };\n\n this.getStepsInfo = () => {\n const lastEnabledStepIndex = this.getLastEnabledStepIndex();\n const stepsCount = this.stepsCount;\n const selectedStepIndex = this.getSelectedStepIndex();\n let initialZIndex = this.steps.length + 10;\n let accInfo;\n this._adjustHeaderOverflow();\n return this.steps.map((step, idx) => {\n const pos = idx + 1;\n const hideSeparator = idx === stepsCount - 1 && !this.indeterminate;\n const stepStateText = step.disabled\n ? this.inactiveStepText\n : this.activeStepText;\n const ariaLabel = (\n step.titleText\n ? `${pos} ${step.titleText} ${stepStateText}`\n : `${this.navStepDefaultHeading} ${pos} ${stepStateText}`\n ).trim();\n const isAfterCurrent = idx > selectedStepIndex;\n accInfo = {\n ariaSetsize: stepsCount,\n ariaPosinset: pos,\n ariaLabel: this.getStepAriaLabelText(step, ariaLabel),\n };\n const stepInfo = {\n icon: step.icon,\n titleText: step.titleText,\n subtitleText: step.subtitleText,\n number: pos,\n selected: step.selected,\n disabled: !step.selected && !step.completed,\n completed: step.completed,\n hideSeparator,\n activeSeparator: idx < lastEnabledStepIndex,\n branchingSeparator: step.branching,\n pos,\n accInfo,\n refStepId: step._id,\n tabIndex: this.selectedStepIndex === idx ? \"0\" : \"-1\",\n breakpoint: this._breakpoint,\n styles: {\n zIndex: isAfterCurrent ? --initialZIndex : 1,\n },\n };\n return stepInfo;\n });\n };\n }\n\n get slottedSteps(): UDExWizardStep[] {\n return this.getSlottedNodes(\"steps\");\n }\n\n get stepsInHeaderDOM(): UDExWizardTab[] {\n return Array.from(this.shadowRoot!.querySelectorAll(\"[udex-wizard-tab]\"));\n }\n\n get _steps(): UDExWizardStep[] {\n const stepsInfo = this.getStepsInfo();\n return this.steps.map((step, idx) => {\n step.stepContentAriaLabel = `${this.navStepDefaultHeading} ${stepsInfo[idx].number} ${stepsInfo[idx].titleText}`;\n return step;\n });\n }\n}\n\nUDExWizard.define();\n\nexport default UDExWizard;\n"]}
1
+ {"version":3,"file":"Wizard.js","sourceRoot":"","sources":["../src/Wizard.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Wizard from \"@ui5/webcomponents-fiori/dist/Wizard.js\";\nimport WizardContentLayout from \"@ui5/webcomponents-fiori/dist/types/WizardContentLayout.js\";\nimport wizardCss from \"@ui5/webcomponents-fiori/dist/generated/themes/Wizard.css.js\";\nimport UDExWizardTab from \"./WizardTab.js\";\nimport UDExWizardStep from \"./WizardStep.js\";\n\nimport WizardTemplate from \"./generated/templates/WizardTemplate.lit.js\";\n\n// Styles\nimport WizardCss from \"./generated/themes/Wizard.css.js\";\n\ntype ResponsiveBreakpoints = {\n [key: string]: string\n}\n\nconst EXPANDED_STEP = \"data-ui5-wizard-expanded-tab\";\nconst RESPONSIVE_BREAKPOINTS: ResponsiveBreakpoints = {\n \"360\": \"S\",\n \"640\": \"M\",\n \"980\": \"L\",\n \"1300\": \"XL\",\n};\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-wizard</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Wizard.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends Wizard\n * @tagname udex-wizard\n * @public\n */\n@customElement({\n tag: \"udex-wizard\",\n renderer: litRender,\n template: WizardTemplate,\n styles: [wizardCss, WizardCss],\n dependencies: [...Wizard.dependencies, UDExWizardTab, UDExWizardStep],\n})\n\nclass UDExWizard extends Wizard {\n @slot({\n \"default\": true,\n type: HTMLElement,\n individualSlots: true,\n invalidateOnChildChange: true,\n })\n steps!: UDExWizardStep[];\n\n /**\n * Defines whether the component has unknown number of steps.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n indeterminate!: boolean;\n\n /**\n * Defines aria-label of the wizard, read by screen readers with the first step.\n *\n * @public\n */\n @property({ type: String })\n accessibleName!: string;\n\n /**\n * Defines the title of the current step.\n *\n * @private\n */\n @property({ type: String })\n _currentStepTitle!: string;\n\n /**\n * Defines the subtitle of the current step.\n *\n * @private\n */\n @property({ type: String })\n _currentStepSubTitle!: string;\n\n constructor() {\n super();\n }\n\n onEnterDOM() {\n this.contentLayout = WizardContentLayout.SingleStep;\n\n this._calcCurrentBreakpoint = () => {\n const breakpointDimensions = Object.keys(RESPONSIVE_BREAKPOINTS).reverse();\n const breakpoint = breakpointDimensions.find(size => Number(size) < this.width!);\n this._breakpoint = breakpoint ? RESPONSIVE_BREAKPOINTS[breakpoint] : RESPONSIVE_BREAKPOINTS[\"360\"];\n };\n\n // overriding ui5-wizard behavior for small screens - tabs are not clickable, unless expanded\n this._adjustHeaderOverflow = () => {\n const tabs = this.stepsInHeaderDOM;\n tabs.forEach(step => {\n step.setAttribute(EXPANDED_STEP, \"true\");\n });\n };\n\n this.switchSelectionFromOldToNewStep = (\n selectedStep: UDExWizardStep,\n stepToSelect: UDExWizardStep,\n stepToSelectIndex,\n changeWithClick,\n ) => {\n if (selectedStep && stepToSelect) {\n // keep the selection if next step is disabled\n if (!stepToSelect.disabled) {\n selectedStep.selected = false;\n selectedStep.completed = true;\n stepToSelect.selected = true;\n }\n this.fireEvent(\"step-change\", {\n step: stepToSelect,\n previousStep: selectedStep,\n changeWithClick,\n });\n\n this.selectedStepIndex = stepToSelectIndex;\n }\n };\n\n this.getLastEnabledStepIndex = () => {\n let lastEnabledStepIndex = 0;\n this.slottedSteps.forEach((step, idx) => {\n if (step.selected || step.completed) {\n lastEnabledStepIndex = idx;\n }\n });\n return lastEnabledStepIndex;\n };\n\n this.getStepsInfo = () => {\n const lastEnabledStepIndex = this.getLastEnabledStepIndex();\n const stepsCount = this.stepsCount;\n const selectedStepIndex = this.getSelectedStepIndex();\n let initialZIndex = this.steps.length + 10;\n let accInfo;\n this._adjustHeaderOverflow();\n return this.steps.map((step, idx) => {\n const pos = idx + 1;\n const hideSeparator = idx === stepsCount - 1 && !this.indeterminate;\n const ariaLabel = (`${idx === 0 ? this.effectiveAccessibleName : \"\"} ${step.titleText\n ? `${pos} ${step.titleText}`\n : `${this.navStepDefaultHeading} ${pos}`}`\n ).trim();\n const isAfterCurrent = idx > selectedStepIndex;\n accInfo = {\n ariaSetsize: stepsCount,\n ariaPosinset: pos,\n ariaLabel: this.getStepAriaLabelText(step, ariaLabel),\n };\n const stepInfo = {\n icon: step.icon,\n titleText: step.titleText,\n subtitleText: step.subtitleText,\n number: pos,\n selected: step.selected,\n disabled: !step.selected && !step.completed,\n completed: step.completed,\n hideSeparator,\n activeSeparator: idx < lastEnabledStepIndex,\n branchingSeparator: step.branching,\n pos,\n accInfo,\n refStepId: step._id,\n tabIndex: this.selectedStepIndex === idx ? \"0\" : \"-1\",\n breakpoint: this._breakpoint,\n styles: {\n zIndex: isAfterCurrent ? --initialZIndex : 1,\n },\n };\n return stepInfo;\n });\n };\n }\n\n onAfterRendering(): void {\n this.attachStepsResizeObserver();\n this.previouslySelectedStepIndex = this.selectedStepIndex;\n this._currentStepTitle = this._steps[this.selectedStepIndex].titleText;\n this._currentStepSubTitle = this._steps[this.selectedStepIndex].subtitleText;\n }\n\n get effectiveAccessibleName(): string {\n return this.accessibleName || this.ariaLabelText;\n }\n\n get slottedSteps(): UDExWizardStep[] {\n return this.getSlottedNodes(\"steps\");\n }\n\n get stepsInHeaderDOM(): UDExWizardTab[] {\n return Array.from(this.shadowRoot!.querySelectorAll(\"[udex-wizard-tab]\"));\n }\n\n get _steps(): UDExWizardStep[] {\n const stepsInfo = this.getStepsInfo();\n return this.steps.map((step, idx) => {\n step.stepContentAriaLabel = `${this.navStepDefaultHeading} ${stepsInfo[idx].number} ${stepsInfo[idx].titleText}`;\n return step;\n });\n }\n}\n\nUDExWizard.define();\n\nexport default UDExWizard;\n"]}