@siemens/element-ng 51.0.0 → 51.0.1

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 (129) hide show
  1. package/fesm2022/siemens-element-ng-accordion.mjs +2 -2
  2. package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
  3. package/fesm2022/siemens-element-ng-ag-grid.mjs +125 -125
  4. package/fesm2022/siemens-element-ng-ag-grid.mjs.map +1 -1
  5. package/fesm2022/siemens-element-ng-application-header.mjs +4 -4
  6. package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
  7. package/fesm2022/siemens-element-ng-avatar.mjs +5 -5
  8. package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
  9. package/fesm2022/siemens-element-ng-breadcrumb.mjs +2 -2
  10. package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
  11. package/fesm2022/siemens-element-ng-card.mjs +2 -2
  12. package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
  13. package/fesm2022/siemens-element-ng-carousel.mjs +2 -2
  14. package/fesm2022/siemens-element-ng-carousel.mjs.map +1 -1
  15. package/fesm2022/siemens-element-ng-chat-messages.mjs +18 -18
  16. package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
  17. package/fesm2022/siemens-element-ng-circle-status.mjs +2 -2
  18. package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
  19. package/fesm2022/siemens-element-ng-color-picker.mjs +18 -18
  20. package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
  21. package/fesm2022/siemens-element-ng-connection-strength.mjs +2 -2
  22. package/fesm2022/siemens-element-ng-connection-strength.mjs.map +1 -1
  23. package/fesm2022/siemens-element-ng-content-action-bar.mjs +2 -2
  24. package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
  25. package/fesm2022/siemens-element-ng-dashboard.mjs +8 -8
  26. package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
  27. package/fesm2022/siemens-element-ng-date-range-filter.mjs +2 -2
  28. package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
  29. package/fesm2022/siemens-element-ng-datepicker.mjs +8 -8
  30. package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
  31. package/fesm2022/siemens-element-ng-electron-titlebar.mjs +2 -2
  32. package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
  33. package/fesm2022/siemens-element-ng-empty-state.mjs +2 -2
  34. package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
  35. package/fesm2022/siemens-element-ng-file-uploader.mjs +2 -2
  36. package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
  37. package/fesm2022/siemens-element-ng-filter-bar.mjs +4 -4
  38. package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
  39. package/fesm2022/siemens-element-ng-filtered-search.mjs +4 -4
  40. package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
  41. package/fesm2022/siemens-element-ng-footer.mjs +2 -2
  42. package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
  43. package/fesm2022/siemens-element-ng-help-button.mjs +2 -2
  44. package/fesm2022/siemens-element-ng-help-button.mjs.map +1 -1
  45. package/fesm2022/siemens-element-ng-landing-page.mjs +2 -2
  46. package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
  47. package/fesm2022/siemens-element-ng-language-switcher.mjs +2 -2
  48. package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
  49. package/fesm2022/siemens-element-ng-list-details.mjs +2 -2
  50. package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
  51. package/fesm2022/siemens-element-ng-loading-spinner.mjs +4 -4
  52. package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
  53. package/fesm2022/siemens-element-ng-maplibre.mjs +21 -21
  54. package/fesm2022/siemens-element-ng-maplibre.mjs.map +1 -1
  55. package/fesm2022/siemens-element-ng-markdown-extensions-katex.mjs +2 -2
  56. package/fesm2022/siemens-element-ng-markdown-extensions-katex.mjs.map +1 -1
  57. package/fesm2022/siemens-element-ng-markdown-hightlighter-highlightjs.mjs +2 -2
  58. package/fesm2022/siemens-element-ng-markdown-hightlighter-highlightjs.mjs.map +1 -1
  59. package/fesm2022/siemens-element-ng-menu.mjs +6 -6
  60. package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
  61. package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs +6 -6
  62. package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs.map +1 -1
  63. package/fesm2022/siemens-element-ng-navbar-vertical.mjs +6 -6
  64. package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
  65. package/fesm2022/siemens-element-ng-notification-item.mjs +2 -4
  66. package/fesm2022/siemens-element-ng-notification-item.mjs.map +1 -1
  67. package/fesm2022/siemens-element-ng-number-input.mjs +2 -2
  68. package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
  69. package/fesm2022/siemens-element-ng-password-strength.mjs +2 -2
  70. package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
  71. package/fesm2022/siemens-element-ng-phone-number.mjs +2 -2
  72. package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
  73. package/fesm2022/siemens-element-ng-photo-upload.mjs +4 -4
  74. package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
  75. package/fesm2022/siemens-element-ng-pills-input.mjs +2 -2
  76. package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
  77. package/fesm2022/siemens-element-ng-result-details-list.mjs +2 -2
  78. package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
  79. package/fesm2022/siemens-element-ng-search-bar.mjs +2 -2
  80. package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
  81. package/fesm2022/siemens-element-ng-select.mjs +4 -4
  82. package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
  83. package/fesm2022/siemens-element-ng-side-panel.mjs +6 -6
  84. package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
  85. package/fesm2022/siemens-element-ng-skip-links.mjs +2 -2
  86. package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
  87. package/fesm2022/siemens-element-ng-slider.mjs +2 -2
  88. package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
  89. package/fesm2022/siemens-element-ng-source-chip.mjs +2 -2
  90. package/fesm2022/siemens-element-ng-source-chip.mjs.map +1 -1
  91. package/fesm2022/siemens-element-ng-split.mjs +4 -4
  92. package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
  93. package/fesm2022/siemens-element-ng-status-bar.mjs +4 -4
  94. package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
  95. package/fesm2022/siemens-element-ng-status-counter.mjs +2 -2
  96. package/fesm2022/siemens-element-ng-status-counter.mjs.map +1 -1
  97. package/fesm2022/siemens-element-ng-status-toggle.mjs +2 -2
  98. package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
  99. package/fesm2022/siemens-element-ng-summary-chip.mjs +2 -2
  100. package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
  101. package/fesm2022/siemens-element-ng-summary-widget.mjs +2 -2
  102. package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
  103. package/fesm2022/siemens-element-ng-system-banner.mjs +2 -2
  104. package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
  105. package/fesm2022/siemens-element-ng-tabs-legacy.mjs +2 -2
  106. package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
  107. package/fesm2022/siemens-element-ng-tabs.mjs +2 -2
  108. package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
  109. package/fesm2022/siemens-element-ng-threshold.mjs +2 -2
  110. package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
  111. package/fesm2022/siemens-element-ng-toast-notification.mjs +2 -2
  112. package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
  113. package/fesm2022/siemens-element-ng-tour.mjs +4 -4
  114. package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
  115. package/fesm2022/siemens-element-ng-tree-view.mjs +4 -4
  116. package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
  117. package/fesm2022/siemens-element-ng-wizard.mjs +2 -2
  118. package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
  119. package/maplibre/styles/maplibre-gl.scss +22 -22
  120. package/package.json +4 -4
  121. package/schematics/migration.json +5 -0
  122. package/schematics/migrations/data/css-custom-properties.js +204 -12
  123. package/schematics/migrations/data/element-migration-data.js +13 -1
  124. package/schematics/migrations/data/index.js +1 -1
  125. package/schematics/ng-update/index.js +1 -0
  126. package/schematics/ng-update/migrate-to-v51-0-1.js +12 -0
  127. package/schematics/utils/testing.js +13 -1
  128. package/types/siemens-element-ng-avatar.d.ts +1 -1
  129. package/types/siemens-element-ng-notification-item.d.ts +0 -12
@@ -497,7 +497,7 @@ class SiWizardComponent {
497
497
  }
498
498
  }
499
499
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiWizardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
500
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiWizardComponent, isStandalone: true, selector: "si-wizard", inputs: { backText: { classPropertyName: "backText", publicName: "backText", isSignal: true, isRequired: false, transformFunction: null }, nextText: { classPropertyName: "nextText", publicName: "nextText", isSignal: true, isRequired: false, transformFunction: null }, hideNavigation: { classPropertyName: "hideNavigation", publicName: "hideNavigation", isSignal: true, isRequired: false, transformFunction: null }, saveText: { classPropertyName: "saveText", publicName: "saveText", isSignal: true, isRequired: false, transformFunction: null }, hideSave: { classPropertyName: "hideSave", publicName: "hideSave", isSignal: true, isRequired: false, transformFunction: null }, completionText: { classPropertyName: "completionText", publicName: "completionText", isSignal: true, isRequired: false, transformFunction: null }, cancelText: { classPropertyName: "cancelText", publicName: "cancelText", isSignal: true, isRequired: false, transformFunction: null }, hasCancel: { classPropertyName: "hasCancel", publicName: "hasCancel", isSignal: true, isRequired: false, transformFunction: null }, enableCompletionPage: { classPropertyName: "enableCompletionPage", publicName: "enableCompletionPage", isSignal: true, isRequired: false, transformFunction: null }, completionPageVisibleTime: { classPropertyName: "completionPageVisibleTime", publicName: "completionPageVisibleTime", isSignal: true, isRequired: false, transformFunction: null }, stepIcon: { classPropertyName: "stepIcon", publicName: "stepIcon", isSignal: true, isRequired: false, transformFunction: null }, stepActiveIcon: { classPropertyName: "stepActiveIcon", publicName: "stepActiveIcon", isSignal: true, isRequired: false, transformFunction: null }, stepCompletedIcon: { classPropertyName: "stepCompletedIcon", publicName: "stepCompletedIcon", isSignal: true, isRequired: false, transformFunction: null }, stepFailedIcon: { classPropertyName: "stepFailedIcon", publicName: "stepFailedIcon", isSignal: true, isRequired: false, transformFunction: null }, verticalLayout: { classPropertyName: "verticalLayout", publicName: "verticalLayout", isSignal: true, isRequired: false, transformFunction: null }, inlineNavigation: { classPropertyName: "inlineNavigation", publicName: "inlineNavigation", isSignal: true, isRequired: false, transformFunction: null }, showStepNumbers: { classPropertyName: "showStepNumbers", publicName: "showStepNumbers", isSignal: true, isRequired: false, transformFunction: null }, showVerticalDivider: { classPropertyName: "showVerticalDivider", publicName: "showVerticalDivider", isSignal: true, isRequired: false, transformFunction: null }, verticalMinSize: { classPropertyName: "verticalMinSize", publicName: "verticalMinSize", isSignal: true, isRequired: false, transformFunction: null }, verticalMaxSize: { classPropertyName: "verticalMaxSize", publicName: "verticalMaxSize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { completionAction: "completionAction", wizardCancel: "wizardCancel" }, host: { properties: { "class.vertical": "verticalLayout()", "style.--wizard-vertical-min-size": "verticalMinSize()", "style.--wizard-vertical-max-size": "verticalMaxSize()" }, classAttribute: "py-6 px-8 d-flex flex-column" }, queries: [{ propertyName: "steps", predicate: SiWizardStepComponent, isSignal: true }], viewQueries: [{ propertyName: "containerSteps", first: true, predicate: ["containerSteps"], descendants: true, isSignal: true }, { propertyName: "nextButton", first: true, predicate: ["nextButton"], descendants: true, isSignal: true }, { propertyName: "saveButton", first: true, predicate: ["saveButton"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (!showCompletionPage()) {\n @if (!verticalLayout()) {\n <div class=\"container-wizard\" [class.justify-content-center]=\"!inlineNavigation()\">\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"cancelBtnHorizontal\" />\n <ng-container *ngTemplateOutlet=\"backBtnHorizontal\" />\n }\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"nextBtnHorizontal\" />\n }\n </div>\n\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"saveBtn\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"footer\" />\n }\n } @else {\n @if (showVerticalDivider()) {\n <div class=\"container-wizard vertical\">\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n <div class=\"vertical-divider\"></div>\n <div class=\"d-flex flex-column w-100\">\n <div class=\"steps-content\">\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n </div>\n <ng-container *ngTemplateOutlet=\"footer\" />\n </div>\n </div>\n } @else {\n <div class=\"container-wizard vertical\">\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n <div class=\"steps-content\">\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"footer\" />\n }\n }\n} @else {\n <div class=\"text-center\">\n <si-icon class=\"completion-icon-size text-success\" [icon]=\"icons.elementChecked\" />\n <p class=\"si-h4\"> {{ completionText() | translate }}</p>\n </div>\n}\n\n<ng-template #stepsTemplate>\n <div\n #containerSteps\n class=\"container-steps\"\n [class.vertical]=\"verticalLayout()\"\n [class.mx-4]=\"inlineNavigation()\"\n [class.mt-4]=\"!verticalLayout() && inlineNavigation()\"\n (siResizeObserver)=\"updateVisibleSteps()\"\n >\n @for (item of activeSteps(); track item.index) {\n @let meta = stepsMetadata()[item.index];\n <div class=\"step\">\n <div\n [class]=\"['line', 'previous', meta.stateClass]\"\n [class.dashed]=\"$first && item.index > 0\"\n [class.vertical]=\"verticalLayout()\"\n [class.spacer]=\"$first && item.index === 0\"\n ></div>\n <a\n [class]=\"['focus-none', meta.stateClass]\"\n [attr.aria-current]=\"meta.ariaCurrent\"\n [attr.href]=\"!meta.canActivate || !currentStep?.isNextNavigable() ? null : '#'\"\n (click)=\"activateStep($event, item.index)\"\n >\n @if (showStepNumbers() && !item.step.failed()) {\n <div\n class=\"step-icon number-step d-flex justify-content-center align-items-center px-1\"\n >\n <div class=\"circle\" [class.status-warning]=\"item.step.failed()\">\n <span class=\"si-h5 px-2\" [class.completed-color]=\"item.index < index\">\n {{ item.index + 1 }}\n </span>\n </div>\n </div>\n } @else {\n <si-icon\n class=\"icon-lg step-icon\"\n [class.status-warning]=\"item.step.failed()\"\n [icon]=\"meta.icon\"\n />\n }\n <div\n class=\"title si-h5\"\n [class.text-center]=\"!verticalLayout()\"\n [class.px-6]=\"!verticalLayout()\"\n [attr.aria-disabled]=\"meta.ariaDisabled\"\n >{{ item.step.heading() | translate }}</div\n >\n </a>\n @if (item.index + 1 < stepCount) {\n <div\n [class]=\"['line', stepsMetadata()[item.index + 1].stateClass]\"\n [class.vertical]=\"verticalLayout()\"\n [class.dashed]=\"$last\"\n ></div>\n }\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #stepContent>\n <div [class.flex-grow-1]=\"!verticalLayout()\" [class.h-100]=\"verticalLayout()\">\n <ng-content />\n </div>\n</ng-template>\n\n<ng-template #cancelBtnHorizontal>\n @if (hasCancel()) {\n <div class=\"me-7\">\n <div class=\"wizard-btn-container\" (click)=\"wizardCancel.emit()\">\n <button\n type=\"button\"\n class=\"btn btn-circle btn-secondary mt-2 mb-4\"\n [attr.aria-label]=\"cancelText() | translate\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n <div class=\"si-h5 text-accent\">{{ cancelText() | translate }}</div>\n </div>\n </div>\n }\n</ng-template>\n\n<ng-template #footer>\n <div class=\"wizard-footer pt-6\">\n <div class=\"wizard-footer-inner\" [class.ms-6]=\"showVerticalDivider()\">\n @if (hasCancel()) {\n <button\n type=\"button\"\n class=\"btn btn-tertiary\"\n [attr.aria-label]=\"cancelText() | translate\"\n (click)=\"wizardCancel.emit()\"\n >\n {{ cancelText() | translate }}\n </button>\n }\n @if (!hideNavigation()) {\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n [class.d-none]=\"index === 0\"\n [class.end]=\"index !== 0\"\n [attr.aria-label]=\"backText() | translate\"\n (click)=\"back(1)\"\n >\n {{ backText() | translate }}\n </button>\n\n <button\n #nextButton\n type=\"button\"\n class=\"btn btn-primary\"\n [attr.aria-label]=\"nextText() | translate\"\n [disabled]=\"!currentStep?.isValid()\"\n [class.d-none]=\"index === steps().length - 1\"\n [class.end]=\"index === 0\"\n (click)=\"next(1)\"\n >\n {{ nextText() | translate }}\n </button>\n }\n\n @if (!hideSave()) {\n @if (index === steps().length - 1) {\n <button\n #saveButton\n type=\"button\"\n class=\"btn btn-primary save\"\n [class.end]=\"hideNavigation()\"\n [disabled]=\"!currentStep?.isValid() || !currentStep?.isNextNavigable()\"\n (click)=\"save()\"\n >{{ saveText() | translate }}</button\n >\n }\n }\n </div>\n </div>\n</ng-template>\n\n<ng-template #backBtnHorizontal>\n <div class=\"wizard-btn-container\">\n @if (!hideNavigation()) {\n <div class=\"back\" [class.invisible]=\"index === 0\" (click)=\"back(1)\">\n <button\n type=\"button\"\n class=\"btn btn-secondary btn-circle mb-2\"\n [attr.aria-label]=\"backText() | translate\"\n >\n <si-icon class=\"flip-rtl\" [icon]=\"icons.elementLeft4\" />\n </button>\n <div class=\"si-h5 text-accent\">{{ backText() | translate }}</div>\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #nextBtnHorizontal>\n <div class=\"wizard-btn-container\" [class.wizard-text-deactivate]=\"!currentStep?.isValid()\">\n @if (!hideNavigation()) {\n <div class=\"next\" [class.invisible]=\"index === steps().length - 1\" (click)=\"next(1)\">\n <button\n #nextButton\n type=\"button\"\n class=\"btn btn-primary btn-circle mb-2\"\n [disabled]=\"!currentStep?.isValid()\"\n [attr.aria-label]=\"nextText() | translate\"\n >\n <si-icon class=\"flip-rtl\" [icon]=\"icons.elementRight4\" />\n </button>\n <div\n class=\"si-h5 text-accent\"\n [class.text-disabled]=\"!currentStep?.isValid()\"\n [attr.aria-disabled]=\"!currentStep?.isValid()\"\n >{{ nextText() | translate }}</div\n >\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #saveBtn>\n @if (!hideSave()) {\n <div [class.center-save]=\"!verticalLayout() && inlineNavigation()\">\n @if (index === steps().length - 1) {\n <button\n #saveButton\n type=\"button\"\n class=\"btn btn-primary save\"\n [disabled]=\"!currentStep?.isValid() || !currentStep?.isNextNavigable()\"\n (click)=\"save()\"\n >{{ saveText() | translate }}</button\n >\n }\n </div>\n }\n</ng-template>\n", styles: [":host.vertical{display:flex;flex-direction:column;block-size:100%}.container-steps{display:flex}.container-steps .step{display:grid}.container-steps:not(.vertical){inline-size:100%;justify-content:center;align-items:flex-start;padding-block:0}.container-steps:not(.vertical) .step{grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto}.container-steps:not(.vertical) .step .step-icon{grid-row:1/2;grid-column:2/3;justify-self:center}.container-steps:not(.vertical) .step .title{margin-block-start:var(--si-sys-sizing-spacing-y-50)}.container-steps.vertical{flex-direction:column;block-size:100%;padding-block-start:var(--si-sys-sizing-spacing-y-90);min-inline-size:var(--wizard-vertical-min-size, 180px);max-inline-size:var(--wizard-vertical-max-size, initial)}.container-steps.vertical .step{grid-template-columns:1.5rem 1fr;grid-template-rows:auto auto auto;align-items:center;flex:0 1 auto}.container-steps.vertical .step .step-icon{grid-row:2/3;grid-column:1/2;justify-self:center}.container-steps.vertical .step .title{grid-row:2/3;grid-column:2/3;padding-inline-start:var(--si-sys-sizing-spacing-x-40)}.container-steps .completed-color{color:var(--si-sys-text-on-accent)}.line{grid-row:1;justify-self:stretch}.line.vertical{grid-column:1/2;align-self:stretch;justify-self:center;border-inline-start-color:var(--si-sys-border-2);border-inline-start-width:2px;border-inline-start-style:solid;min-block-size:var(--si-sys-sizing-spacing-y-50)}.line.vertical.dashed{border-inline-start-style:dashed}.line.vertical.spacer{block-size:var(--si-sys-sizing-spacing-y-50);border:0}.line.vertical:not(.previous){grid-row:3}.line:not(.vertical){grid-column:3/4;border-block-start-width:2px;border-block-start-style:solid;border-block-start-color:var(--si-sys-border-2);align-self:center}.line:not(.vertical).previous{grid-column:1/2}.line:not(.vertical).dashed{inline-size:var(--si-sys-sizing-spacing-x-90);border-block-start-style:dashed}.line:not(.vertical).spacer{display:none}.line:not(.vertical).dashed.previous{justify-self:end}.line.active,.line.completed{border-color:var(--si-sys-text-accent)}.line.dashed.vertical{min-block-size:var(--si-sys-sizing-spacing-y-50);inline-size:auto}.step{inline-size:100%;flex-shrink:1}.step a{display:grid;grid-template-columns:subgrid;grid-template-rows:subgrid;grid-row:1/-1;grid-column:1/-1;align-items:center;justify-self:center;color:var(--si-sys-border-2)}.step a:hover{text-decoration:none}.step a:focus-visible .step-icon{outline:var(--element-button-focus-width) solid var(--si-sys-effects-focus);outline-offset:calc(-1 * var(--element-button-focus-width));border-radius:.75rem}.step a:focus-visible .step-icon.number-step{outline:none}.step a:focus-visible .step-icon.number-step .circle{outline:var(--element-button-focus-width) solid var(--si-sys-effects-focus);outline-offset:var(--element-button-focus-overlay-width)}.step .title{grid-row:2/3;grid-column:1/-1;color:var(--si-sys-text-secondary);display:-webkit-box;overflow:hidden;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical}.step .active,.step .active .title{color:var(--si-sys-text-accent);cursor:default}.step .disabled,.step .disabled:hover,.step a.disabled>*{cursor:default}.step .disabled .title,.step .disabled:hover .title,.step a.disabled>* .title{color:var(--si-sys-text-disabled)}.step .disabled .step-icon,.step .disabled:hover .step-icon,.step a.disabled>* .step-icon{color:var(--si-sys-text-disabled)}.step a:not(.disabled):hover,.step a:not(.disabled):hover .step-icon,.step a:not(.disabled):hover .title{color:var(--si-sys-text-accent-hover)!important}.step .completed .title{color:var(--si-sys-text-primary)}.step .completed .step-icon{color:var(--si-sys-text-accent)}.step .completed .circle{background-color:currentColor}.container-wizard{inline-size:100%;display:flex;flex-wrap:nowrap}.container-wizard:not(.vertical){justify-content:center;padding-block-end:var(--si-sys-sizing-spacing-y-60)}.container-wizard.vertical{justify-content:start;block-size:100%}.container-wizard.vertical .steps-content{flex:100%;padding-inline-start:var(--si-sys-sizing-spacing-x-60)}.container-wizard .vertical-divider{border-inline-end:1px solid var(--si-sys-border-4);margin-block:0}.center-save{display:flex;justify-content:center;padding-block-start:var(--si-sys-sizing-spacing-y-60)}.wizard-btn-container{min-inline-size:8ch;flex-shrink:1;text-align:center;cursor:pointer}.wizard-btn-container.wizard-text-deactivate:hover{cursor:default}.wizard-btn-container:not(.wizard-text-deactivate):hover .text-accent{color:var(--si-sys-text-accent-hover)!important}.completion-icon-size{font-size:96px}.circle{min-inline-size:1.125rem;min-block-size:1.125rem;border-radius:.75rem;border-width:1px;border-style:solid;border-color:currentColor;color:currentColor}.number-step{min-inline-size:1.5rem;min-block-size:1.5rem;text-align:center}.wizard-footer{container-type:inline-size}.wizard-footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:start;gap:var(--si-sys-sizing-spacing-y-60) var(--si-sys-sizing-spacing-x-60)}.wizard-footer-inner>.end{margin-inline-start:auto}@container (max-width: 25em){.wizard-footer-inner{flex-direction:column;align-items:stretch}.wizard-footer-inner>.end{margin-inline-start:unset}}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "directive", type: SiResizeObserverDirective, selector: "[siResizeObserver]", inputs: ["resizeThrottle", "emitInitial"], outputs: ["siResizeObserver"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
500
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiWizardComponent, isStandalone: true, selector: "si-wizard", inputs: { backText: { classPropertyName: "backText", publicName: "backText", isSignal: true, isRequired: false, transformFunction: null }, nextText: { classPropertyName: "nextText", publicName: "nextText", isSignal: true, isRequired: false, transformFunction: null }, hideNavigation: { classPropertyName: "hideNavigation", publicName: "hideNavigation", isSignal: true, isRequired: false, transformFunction: null }, saveText: { classPropertyName: "saveText", publicName: "saveText", isSignal: true, isRequired: false, transformFunction: null }, hideSave: { classPropertyName: "hideSave", publicName: "hideSave", isSignal: true, isRequired: false, transformFunction: null }, completionText: { classPropertyName: "completionText", publicName: "completionText", isSignal: true, isRequired: false, transformFunction: null }, cancelText: { classPropertyName: "cancelText", publicName: "cancelText", isSignal: true, isRequired: false, transformFunction: null }, hasCancel: { classPropertyName: "hasCancel", publicName: "hasCancel", isSignal: true, isRequired: false, transformFunction: null }, enableCompletionPage: { classPropertyName: "enableCompletionPage", publicName: "enableCompletionPage", isSignal: true, isRequired: false, transformFunction: null }, completionPageVisibleTime: { classPropertyName: "completionPageVisibleTime", publicName: "completionPageVisibleTime", isSignal: true, isRequired: false, transformFunction: null }, stepIcon: { classPropertyName: "stepIcon", publicName: "stepIcon", isSignal: true, isRequired: false, transformFunction: null }, stepActiveIcon: { classPropertyName: "stepActiveIcon", publicName: "stepActiveIcon", isSignal: true, isRequired: false, transformFunction: null }, stepCompletedIcon: { classPropertyName: "stepCompletedIcon", publicName: "stepCompletedIcon", isSignal: true, isRequired: false, transformFunction: null }, stepFailedIcon: { classPropertyName: "stepFailedIcon", publicName: "stepFailedIcon", isSignal: true, isRequired: false, transformFunction: null }, verticalLayout: { classPropertyName: "verticalLayout", publicName: "verticalLayout", isSignal: true, isRequired: false, transformFunction: null }, inlineNavigation: { classPropertyName: "inlineNavigation", publicName: "inlineNavigation", isSignal: true, isRequired: false, transformFunction: null }, showStepNumbers: { classPropertyName: "showStepNumbers", publicName: "showStepNumbers", isSignal: true, isRequired: false, transformFunction: null }, showVerticalDivider: { classPropertyName: "showVerticalDivider", publicName: "showVerticalDivider", isSignal: true, isRequired: false, transformFunction: null }, verticalMinSize: { classPropertyName: "verticalMinSize", publicName: "verticalMinSize", isSignal: true, isRequired: false, transformFunction: null }, verticalMaxSize: { classPropertyName: "verticalMaxSize", publicName: "verticalMaxSize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { completionAction: "completionAction", wizardCancel: "wizardCancel" }, host: { properties: { "class.vertical": "verticalLayout()", "style.--wizard-vertical-min-size": "verticalMinSize()", "style.--wizard-vertical-max-size": "verticalMaxSize()" }, classAttribute: "py-6 px-8 d-flex flex-column" }, queries: [{ propertyName: "steps", predicate: SiWizardStepComponent, isSignal: true }], viewQueries: [{ propertyName: "containerSteps", first: true, predicate: ["containerSteps"], descendants: true, isSignal: true }, { propertyName: "nextButton", first: true, predicate: ["nextButton"], descendants: true, isSignal: true }, { propertyName: "saveButton", first: true, predicate: ["saveButton"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (!showCompletionPage()) {\n @if (!verticalLayout()) {\n <div class=\"container-wizard\" [class.justify-content-center]=\"!inlineNavigation()\">\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"cancelBtnHorizontal\" />\n <ng-container *ngTemplateOutlet=\"backBtnHorizontal\" />\n }\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"nextBtnHorizontal\" />\n }\n </div>\n\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"saveBtn\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"footer\" />\n }\n } @else {\n @if (showVerticalDivider()) {\n <div class=\"container-wizard vertical\">\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n <div class=\"vertical-divider\"></div>\n <div class=\"d-flex flex-column w-100\">\n <div class=\"steps-content\">\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n </div>\n <ng-container *ngTemplateOutlet=\"footer\" />\n </div>\n </div>\n } @else {\n <div class=\"container-wizard vertical\">\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n <div class=\"steps-content\">\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"footer\" />\n }\n }\n} @else {\n <div class=\"text-center\">\n <si-icon class=\"completion-icon-size text-success\" [icon]=\"icons.elementChecked\" />\n <p class=\"si-h4\"> {{ completionText() | translate }}</p>\n </div>\n}\n\n<ng-template #stepsTemplate>\n <div\n #containerSteps\n class=\"container-steps\"\n [class.vertical]=\"verticalLayout()\"\n [class.mx-4]=\"inlineNavigation()\"\n [class.mt-4]=\"!verticalLayout() && inlineNavigation()\"\n (siResizeObserver)=\"updateVisibleSteps()\"\n >\n @for (item of activeSteps(); track item.index) {\n @let meta = stepsMetadata()[item.index];\n <div class=\"step\">\n <div\n [class]=\"['line', 'previous', meta.stateClass]\"\n [class.dashed]=\"$first && item.index > 0\"\n [class.vertical]=\"verticalLayout()\"\n [class.spacer]=\"$first && item.index === 0\"\n ></div>\n <a\n [class]=\"['focus-none', meta.stateClass]\"\n [attr.aria-current]=\"meta.ariaCurrent\"\n [attr.href]=\"!meta.canActivate || !currentStep?.isNextNavigable() ? null : '#'\"\n (click)=\"activateStep($event, item.index)\"\n >\n @if (showStepNumbers() && !item.step.failed()) {\n <div\n class=\"step-icon number-step d-flex justify-content-center align-items-center px-1\"\n >\n <div class=\"circle\" [class.status-warning]=\"item.step.failed()\">\n <span class=\"si-h5 px-2\" [class.completed-color]=\"item.index < index\">\n {{ item.index + 1 }}\n </span>\n </div>\n </div>\n } @else {\n <si-icon\n class=\"icon-lg step-icon\"\n [class.status-warning]=\"item.step.failed()\"\n [icon]=\"meta.icon\"\n />\n }\n <div\n class=\"title si-h5\"\n [class.text-center]=\"!verticalLayout()\"\n [class.px-6]=\"!verticalLayout()\"\n [attr.aria-disabled]=\"meta.ariaDisabled\"\n >{{ item.step.heading() | translate }}</div\n >\n </a>\n @if (item.index + 1 < stepCount) {\n <div\n [class]=\"['line', stepsMetadata()[item.index + 1].stateClass]\"\n [class.vertical]=\"verticalLayout()\"\n [class.dashed]=\"$last\"\n ></div>\n }\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #stepContent>\n <div [class.flex-grow-1]=\"!verticalLayout()\" [class.h-100]=\"verticalLayout()\">\n <ng-content />\n </div>\n</ng-template>\n\n<ng-template #cancelBtnHorizontal>\n @if (hasCancel()) {\n <div class=\"me-7\">\n <div class=\"wizard-btn-container\" (click)=\"wizardCancel.emit()\">\n <button\n type=\"button\"\n class=\"btn btn-circle btn-secondary mt-2 mb-4\"\n [attr.aria-label]=\"cancelText() | translate\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n <div class=\"si-h5 text-accent\">{{ cancelText() | translate }}</div>\n </div>\n </div>\n }\n</ng-template>\n\n<ng-template #footer>\n <div class=\"wizard-footer pt-6\">\n <div class=\"wizard-footer-inner\" [class.ms-6]=\"showVerticalDivider()\">\n @if (hasCancel()) {\n <button\n type=\"button\"\n class=\"btn btn-tertiary\"\n [attr.aria-label]=\"cancelText() | translate\"\n (click)=\"wizardCancel.emit()\"\n >\n {{ cancelText() | translate }}\n </button>\n }\n @if (!hideNavigation()) {\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n [class.d-none]=\"index === 0\"\n [class.end]=\"index !== 0\"\n [attr.aria-label]=\"backText() | translate\"\n (click)=\"back(1)\"\n >\n {{ backText() | translate }}\n </button>\n\n <button\n #nextButton\n type=\"button\"\n class=\"btn btn-primary\"\n [attr.aria-label]=\"nextText() | translate\"\n [disabled]=\"!currentStep?.isValid()\"\n [class.d-none]=\"index === steps().length - 1\"\n [class.end]=\"index === 0\"\n (click)=\"next(1)\"\n >\n {{ nextText() | translate }}\n </button>\n }\n\n @if (!hideSave()) {\n @if (index === steps().length - 1) {\n <button\n #saveButton\n type=\"button\"\n class=\"btn btn-primary save\"\n [class.end]=\"hideNavigation()\"\n [disabled]=\"!currentStep?.isValid() || !currentStep?.isNextNavigable()\"\n (click)=\"save()\"\n >{{ saveText() | translate }}</button\n >\n }\n }\n </div>\n </div>\n</ng-template>\n\n<ng-template #backBtnHorizontal>\n <div class=\"wizard-btn-container\">\n @if (!hideNavigation()) {\n <div class=\"back\" [class.invisible]=\"index === 0\" (click)=\"back(1)\">\n <button\n type=\"button\"\n class=\"btn btn-secondary btn-circle mb-2\"\n [attr.aria-label]=\"backText() | translate\"\n >\n <si-icon class=\"flip-rtl\" [icon]=\"icons.elementLeft4\" />\n </button>\n <div class=\"si-h5 text-accent\">{{ backText() | translate }}</div>\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #nextBtnHorizontal>\n <div class=\"wizard-btn-container\" [class.wizard-text-deactivate]=\"!currentStep?.isValid()\">\n @if (!hideNavigation()) {\n <div class=\"next\" [class.invisible]=\"index === steps().length - 1\" (click)=\"next(1)\">\n <button\n #nextButton\n type=\"button\"\n class=\"btn btn-primary btn-circle mb-2\"\n [disabled]=\"!currentStep?.isValid()\"\n [attr.aria-label]=\"nextText() | translate\"\n >\n <si-icon class=\"flip-rtl\" [icon]=\"icons.elementRight4\" />\n </button>\n <div\n class=\"si-h5 text-accent\"\n [class.text-disabled]=\"!currentStep?.isValid()\"\n [attr.aria-disabled]=\"!currentStep?.isValid()\"\n >{{ nextText() | translate }}</div\n >\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #saveBtn>\n @if (!hideSave()) {\n <div [class.center-save]=\"!verticalLayout() && inlineNavigation()\">\n @if (index === steps().length - 1) {\n <button\n #saveButton\n type=\"button\"\n class=\"btn btn-primary save\"\n [disabled]=\"!currentStep?.isValid() || !currentStep?.isNextNavigable()\"\n (click)=\"save()\"\n >{{ saveText() | translate }}</button\n >\n }\n </div>\n }\n</ng-template>\n", styles: [":host.vertical{display:flex;flex-direction:column;block-size:100%}.container-steps{display:flex}.container-steps .step{display:grid}.container-steps:not(.vertical){inline-size:100%;justify-content:center;align-items:flex-start;padding-block:0}.container-steps:not(.vertical) .step{grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto}.container-steps:not(.vertical) .step .step-icon{grid-row:1/2;grid-column:2/3;justify-self:center}.container-steps:not(.vertical) .step .title{margin-block-start:var(--si-sys-sizing-spacing-y-50)}.container-steps.vertical{flex-direction:column;block-size:100%;padding-block-start:var(--si-sys-sizing-spacing-y-90);min-inline-size:var(--wizard-vertical-min-size, 180px);max-inline-size:var(--wizard-vertical-max-size, initial)}.container-steps.vertical .step{grid-template-columns:1.5rem 1fr;grid-template-rows:auto auto auto;align-items:center;flex:0 1 auto}.container-steps.vertical .step .step-icon{grid-row:2/3;grid-column:1/2;justify-self:center}.container-steps.vertical .step .title{grid-row:2/3;grid-column:2/3;padding-inline-start:var(--si-sys-sizing-spacing-x-40)}.container-steps .completed-color{color:var(--si-sys-color-text-on-accent)}.line{grid-row:1;justify-self:stretch}.line.vertical{grid-column:1/2;align-self:stretch;justify-self:center;border-inline-start-color:var(--si-sys-color-border-2);border-inline-start-width:2px;border-inline-start-style:solid;min-block-size:var(--si-sys-sizing-spacing-y-50)}.line.vertical.dashed{border-inline-start-style:dashed}.line.vertical.spacer{block-size:var(--si-sys-sizing-spacing-y-50);border:0}.line.vertical:not(.previous){grid-row:3}.line:not(.vertical){grid-column:3/4;border-block-start-width:2px;border-block-start-style:solid;border-block-start-color:var(--si-sys-color-border-2);align-self:center}.line:not(.vertical).previous{grid-column:1/2}.line:not(.vertical).dashed{inline-size:var(--si-sys-sizing-spacing-x-90);border-block-start-style:dashed}.line:not(.vertical).spacer{display:none}.line:not(.vertical).dashed.previous{justify-self:end}.line.active,.line.completed{border-color:var(--si-sys-color-text-accent)}.line.dashed.vertical{min-block-size:var(--si-sys-sizing-spacing-y-50);inline-size:auto}.step{inline-size:100%;flex-shrink:1}.step a{display:grid;grid-template-columns:subgrid;grid-template-rows:subgrid;grid-row:1/-1;grid-column:1/-1;align-items:center;justify-self:center;color:var(--si-sys-color-border-2)}.step a:hover{text-decoration:none}.step a:focus-visible .step-icon{outline:var(--element-button-focus-width) solid var(--si-sys-color-effects-focus);outline-offset:calc(-1 * var(--element-button-focus-width));border-radius:.75rem}.step a:focus-visible .step-icon.number-step{outline:none}.step a:focus-visible .step-icon.number-step .circle{outline:var(--element-button-focus-width) solid var(--si-sys-color-effects-focus);outline-offset:var(--element-button-focus-overlay-width)}.step .title{grid-row:2/3;grid-column:1/-1;color:var(--si-sys-color-text-secondary);display:-webkit-box;overflow:hidden;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical}.step .active,.step .active .title{color:var(--si-sys-color-text-accent);cursor:default}.step .disabled,.step .disabled:hover,.step a.disabled>*{cursor:default}.step .disabled .title,.step .disabled:hover .title,.step a.disabled>* .title{color:var(--si-sys-color-text-disabled)}.step .disabled .step-icon,.step .disabled:hover .step-icon,.step a.disabled>* .step-icon{color:var(--si-sys-color-text-disabled)}.step a:not(.disabled):hover,.step a:not(.disabled):hover .step-icon,.step a:not(.disabled):hover .title{color:var(--si-sys-color-text-accent-hover)!important}.step .completed .title{color:var(--si-sys-color-text-primary)}.step .completed .step-icon{color:var(--si-sys-color-text-accent)}.step .completed .circle{background-color:currentColor}.container-wizard{inline-size:100%;display:flex;flex-wrap:nowrap}.container-wizard:not(.vertical){justify-content:center;padding-block-end:var(--si-sys-sizing-spacing-y-60)}.container-wizard.vertical{justify-content:start;block-size:100%}.container-wizard.vertical .steps-content{flex:100%;padding-inline-start:var(--si-sys-sizing-spacing-x-60)}.container-wizard .vertical-divider{border-inline-end:1px solid var(--si-sys-color-border-4);margin-block:0}.center-save{display:flex;justify-content:center;padding-block-start:var(--si-sys-sizing-spacing-y-60)}.wizard-btn-container{min-inline-size:8ch;flex-shrink:1;text-align:center;cursor:pointer}.wizard-btn-container.wizard-text-deactivate:hover{cursor:default}.wizard-btn-container:not(.wizard-text-deactivate):hover .text-accent{color:var(--si-sys-color-text-accent-hover)!important}.completion-icon-size{font-size:96px}.circle{min-inline-size:1.125rem;min-block-size:1.125rem;border-radius:.75rem;border-width:1px;border-style:solid;border-color:currentColor;color:currentColor}.number-step{min-inline-size:1.5rem;min-block-size:1.5rem;text-align:center}.wizard-footer{container-type:inline-size}.wizard-footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:start;gap:var(--si-sys-sizing-spacing-y-60) var(--si-sys-sizing-spacing-x-60)}.wizard-footer-inner>.end{margin-inline-start:auto}@container (max-width: 25em){.wizard-footer-inner{flex-direction:column;align-items:stretch}.wizard-footer-inner>.end{margin-inline-start:unset}}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "directive", type: SiResizeObserverDirective, selector: "[siResizeObserver]", inputs: ["resizeThrottle", "emitInitial"], outputs: ["siResizeObserver"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
501
501
  }
502
502
  __decorate([
503
503
  WebComponentContentChildren(SiWizardStepComponent)
@@ -509,7 +509,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
509
509
  '[class.vertical]': 'verticalLayout()',
510
510
  '[style.--wizard-vertical-min-size]': 'verticalMinSize()',
511
511
  '[style.--wizard-vertical-max-size]': 'verticalMaxSize()'
512
- }, template: "@if (!showCompletionPage()) {\n @if (!verticalLayout()) {\n <div class=\"container-wizard\" [class.justify-content-center]=\"!inlineNavigation()\">\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"cancelBtnHorizontal\" />\n <ng-container *ngTemplateOutlet=\"backBtnHorizontal\" />\n }\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"nextBtnHorizontal\" />\n }\n </div>\n\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"saveBtn\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"footer\" />\n }\n } @else {\n @if (showVerticalDivider()) {\n <div class=\"container-wizard vertical\">\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n <div class=\"vertical-divider\"></div>\n <div class=\"d-flex flex-column w-100\">\n <div class=\"steps-content\">\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n </div>\n <ng-container *ngTemplateOutlet=\"footer\" />\n </div>\n </div>\n } @else {\n <div class=\"container-wizard vertical\">\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n <div class=\"steps-content\">\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"footer\" />\n }\n }\n} @else {\n <div class=\"text-center\">\n <si-icon class=\"completion-icon-size text-success\" [icon]=\"icons.elementChecked\" />\n <p class=\"si-h4\"> {{ completionText() | translate }}</p>\n </div>\n}\n\n<ng-template #stepsTemplate>\n <div\n #containerSteps\n class=\"container-steps\"\n [class.vertical]=\"verticalLayout()\"\n [class.mx-4]=\"inlineNavigation()\"\n [class.mt-4]=\"!verticalLayout() && inlineNavigation()\"\n (siResizeObserver)=\"updateVisibleSteps()\"\n >\n @for (item of activeSteps(); track item.index) {\n @let meta = stepsMetadata()[item.index];\n <div class=\"step\">\n <div\n [class]=\"['line', 'previous', meta.stateClass]\"\n [class.dashed]=\"$first && item.index > 0\"\n [class.vertical]=\"verticalLayout()\"\n [class.spacer]=\"$first && item.index === 0\"\n ></div>\n <a\n [class]=\"['focus-none', meta.stateClass]\"\n [attr.aria-current]=\"meta.ariaCurrent\"\n [attr.href]=\"!meta.canActivate || !currentStep?.isNextNavigable() ? null : '#'\"\n (click)=\"activateStep($event, item.index)\"\n >\n @if (showStepNumbers() && !item.step.failed()) {\n <div\n class=\"step-icon number-step d-flex justify-content-center align-items-center px-1\"\n >\n <div class=\"circle\" [class.status-warning]=\"item.step.failed()\">\n <span class=\"si-h5 px-2\" [class.completed-color]=\"item.index < index\">\n {{ item.index + 1 }}\n </span>\n </div>\n </div>\n } @else {\n <si-icon\n class=\"icon-lg step-icon\"\n [class.status-warning]=\"item.step.failed()\"\n [icon]=\"meta.icon\"\n />\n }\n <div\n class=\"title si-h5\"\n [class.text-center]=\"!verticalLayout()\"\n [class.px-6]=\"!verticalLayout()\"\n [attr.aria-disabled]=\"meta.ariaDisabled\"\n >{{ item.step.heading() | translate }}</div\n >\n </a>\n @if (item.index + 1 < stepCount) {\n <div\n [class]=\"['line', stepsMetadata()[item.index + 1].stateClass]\"\n [class.vertical]=\"verticalLayout()\"\n [class.dashed]=\"$last\"\n ></div>\n }\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #stepContent>\n <div [class.flex-grow-1]=\"!verticalLayout()\" [class.h-100]=\"verticalLayout()\">\n <ng-content />\n </div>\n</ng-template>\n\n<ng-template #cancelBtnHorizontal>\n @if (hasCancel()) {\n <div class=\"me-7\">\n <div class=\"wizard-btn-container\" (click)=\"wizardCancel.emit()\">\n <button\n type=\"button\"\n class=\"btn btn-circle btn-secondary mt-2 mb-4\"\n [attr.aria-label]=\"cancelText() | translate\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n <div class=\"si-h5 text-accent\">{{ cancelText() | translate }}</div>\n </div>\n </div>\n }\n</ng-template>\n\n<ng-template #footer>\n <div class=\"wizard-footer pt-6\">\n <div class=\"wizard-footer-inner\" [class.ms-6]=\"showVerticalDivider()\">\n @if (hasCancel()) {\n <button\n type=\"button\"\n class=\"btn btn-tertiary\"\n [attr.aria-label]=\"cancelText() | translate\"\n (click)=\"wizardCancel.emit()\"\n >\n {{ cancelText() | translate }}\n </button>\n }\n @if (!hideNavigation()) {\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n [class.d-none]=\"index === 0\"\n [class.end]=\"index !== 0\"\n [attr.aria-label]=\"backText() | translate\"\n (click)=\"back(1)\"\n >\n {{ backText() | translate }}\n </button>\n\n <button\n #nextButton\n type=\"button\"\n class=\"btn btn-primary\"\n [attr.aria-label]=\"nextText() | translate\"\n [disabled]=\"!currentStep?.isValid()\"\n [class.d-none]=\"index === steps().length - 1\"\n [class.end]=\"index === 0\"\n (click)=\"next(1)\"\n >\n {{ nextText() | translate }}\n </button>\n }\n\n @if (!hideSave()) {\n @if (index === steps().length - 1) {\n <button\n #saveButton\n type=\"button\"\n class=\"btn btn-primary save\"\n [class.end]=\"hideNavigation()\"\n [disabled]=\"!currentStep?.isValid() || !currentStep?.isNextNavigable()\"\n (click)=\"save()\"\n >{{ saveText() | translate }}</button\n >\n }\n }\n </div>\n </div>\n</ng-template>\n\n<ng-template #backBtnHorizontal>\n <div class=\"wizard-btn-container\">\n @if (!hideNavigation()) {\n <div class=\"back\" [class.invisible]=\"index === 0\" (click)=\"back(1)\">\n <button\n type=\"button\"\n class=\"btn btn-secondary btn-circle mb-2\"\n [attr.aria-label]=\"backText() | translate\"\n >\n <si-icon class=\"flip-rtl\" [icon]=\"icons.elementLeft4\" />\n </button>\n <div class=\"si-h5 text-accent\">{{ backText() | translate }}</div>\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #nextBtnHorizontal>\n <div class=\"wizard-btn-container\" [class.wizard-text-deactivate]=\"!currentStep?.isValid()\">\n @if (!hideNavigation()) {\n <div class=\"next\" [class.invisible]=\"index === steps().length - 1\" (click)=\"next(1)\">\n <button\n #nextButton\n type=\"button\"\n class=\"btn btn-primary btn-circle mb-2\"\n [disabled]=\"!currentStep?.isValid()\"\n [attr.aria-label]=\"nextText() | translate\"\n >\n <si-icon class=\"flip-rtl\" [icon]=\"icons.elementRight4\" />\n </button>\n <div\n class=\"si-h5 text-accent\"\n [class.text-disabled]=\"!currentStep?.isValid()\"\n [attr.aria-disabled]=\"!currentStep?.isValid()\"\n >{{ nextText() | translate }}</div\n >\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #saveBtn>\n @if (!hideSave()) {\n <div [class.center-save]=\"!verticalLayout() && inlineNavigation()\">\n @if (index === steps().length - 1) {\n <button\n #saveButton\n type=\"button\"\n class=\"btn btn-primary save\"\n [disabled]=\"!currentStep?.isValid() || !currentStep?.isNextNavigable()\"\n (click)=\"save()\"\n >{{ saveText() | translate }}</button\n >\n }\n </div>\n }\n</ng-template>\n", styles: [":host.vertical{display:flex;flex-direction:column;block-size:100%}.container-steps{display:flex}.container-steps .step{display:grid}.container-steps:not(.vertical){inline-size:100%;justify-content:center;align-items:flex-start;padding-block:0}.container-steps:not(.vertical) .step{grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto}.container-steps:not(.vertical) .step .step-icon{grid-row:1/2;grid-column:2/3;justify-self:center}.container-steps:not(.vertical) .step .title{margin-block-start:var(--si-sys-sizing-spacing-y-50)}.container-steps.vertical{flex-direction:column;block-size:100%;padding-block-start:var(--si-sys-sizing-spacing-y-90);min-inline-size:var(--wizard-vertical-min-size, 180px);max-inline-size:var(--wizard-vertical-max-size, initial)}.container-steps.vertical .step{grid-template-columns:1.5rem 1fr;grid-template-rows:auto auto auto;align-items:center;flex:0 1 auto}.container-steps.vertical .step .step-icon{grid-row:2/3;grid-column:1/2;justify-self:center}.container-steps.vertical .step .title{grid-row:2/3;grid-column:2/3;padding-inline-start:var(--si-sys-sizing-spacing-x-40)}.container-steps .completed-color{color:var(--si-sys-text-on-accent)}.line{grid-row:1;justify-self:stretch}.line.vertical{grid-column:1/2;align-self:stretch;justify-self:center;border-inline-start-color:var(--si-sys-border-2);border-inline-start-width:2px;border-inline-start-style:solid;min-block-size:var(--si-sys-sizing-spacing-y-50)}.line.vertical.dashed{border-inline-start-style:dashed}.line.vertical.spacer{block-size:var(--si-sys-sizing-spacing-y-50);border:0}.line.vertical:not(.previous){grid-row:3}.line:not(.vertical){grid-column:3/4;border-block-start-width:2px;border-block-start-style:solid;border-block-start-color:var(--si-sys-border-2);align-self:center}.line:not(.vertical).previous{grid-column:1/2}.line:not(.vertical).dashed{inline-size:var(--si-sys-sizing-spacing-x-90);border-block-start-style:dashed}.line:not(.vertical).spacer{display:none}.line:not(.vertical).dashed.previous{justify-self:end}.line.active,.line.completed{border-color:var(--si-sys-text-accent)}.line.dashed.vertical{min-block-size:var(--si-sys-sizing-spacing-y-50);inline-size:auto}.step{inline-size:100%;flex-shrink:1}.step a{display:grid;grid-template-columns:subgrid;grid-template-rows:subgrid;grid-row:1/-1;grid-column:1/-1;align-items:center;justify-self:center;color:var(--si-sys-border-2)}.step a:hover{text-decoration:none}.step a:focus-visible .step-icon{outline:var(--element-button-focus-width) solid var(--si-sys-effects-focus);outline-offset:calc(-1 * var(--element-button-focus-width));border-radius:.75rem}.step a:focus-visible .step-icon.number-step{outline:none}.step a:focus-visible .step-icon.number-step .circle{outline:var(--element-button-focus-width) solid var(--si-sys-effects-focus);outline-offset:var(--element-button-focus-overlay-width)}.step .title{grid-row:2/3;grid-column:1/-1;color:var(--si-sys-text-secondary);display:-webkit-box;overflow:hidden;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical}.step .active,.step .active .title{color:var(--si-sys-text-accent);cursor:default}.step .disabled,.step .disabled:hover,.step a.disabled>*{cursor:default}.step .disabled .title,.step .disabled:hover .title,.step a.disabled>* .title{color:var(--si-sys-text-disabled)}.step .disabled .step-icon,.step .disabled:hover .step-icon,.step a.disabled>* .step-icon{color:var(--si-sys-text-disabled)}.step a:not(.disabled):hover,.step a:not(.disabled):hover .step-icon,.step a:not(.disabled):hover .title{color:var(--si-sys-text-accent-hover)!important}.step .completed .title{color:var(--si-sys-text-primary)}.step .completed .step-icon{color:var(--si-sys-text-accent)}.step .completed .circle{background-color:currentColor}.container-wizard{inline-size:100%;display:flex;flex-wrap:nowrap}.container-wizard:not(.vertical){justify-content:center;padding-block-end:var(--si-sys-sizing-spacing-y-60)}.container-wizard.vertical{justify-content:start;block-size:100%}.container-wizard.vertical .steps-content{flex:100%;padding-inline-start:var(--si-sys-sizing-spacing-x-60)}.container-wizard .vertical-divider{border-inline-end:1px solid var(--si-sys-border-4);margin-block:0}.center-save{display:flex;justify-content:center;padding-block-start:var(--si-sys-sizing-spacing-y-60)}.wizard-btn-container{min-inline-size:8ch;flex-shrink:1;text-align:center;cursor:pointer}.wizard-btn-container.wizard-text-deactivate:hover{cursor:default}.wizard-btn-container:not(.wizard-text-deactivate):hover .text-accent{color:var(--si-sys-text-accent-hover)!important}.completion-icon-size{font-size:96px}.circle{min-inline-size:1.125rem;min-block-size:1.125rem;border-radius:.75rem;border-width:1px;border-style:solid;border-color:currentColor;color:currentColor}.number-step{min-inline-size:1.5rem;min-block-size:1.5rem;text-align:center}.wizard-footer{container-type:inline-size}.wizard-footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:start;gap:var(--si-sys-sizing-spacing-y-60) var(--si-sys-sizing-spacing-x-60)}.wizard-footer-inner>.end{margin-inline-start:auto}@container (max-width: 25em){.wizard-footer-inner{flex-direction:column;align-items:stretch}.wizard-footer-inner>.end{margin-inline-start:unset}}\n"] }]
512
+ }, template: "@if (!showCompletionPage()) {\n @if (!verticalLayout()) {\n <div class=\"container-wizard\" [class.justify-content-center]=\"!inlineNavigation()\">\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"cancelBtnHorizontal\" />\n <ng-container *ngTemplateOutlet=\"backBtnHorizontal\" />\n }\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"nextBtnHorizontal\" />\n }\n </div>\n\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"saveBtn\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"footer\" />\n }\n } @else {\n @if (showVerticalDivider()) {\n <div class=\"container-wizard vertical\">\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n <div class=\"vertical-divider\"></div>\n <div class=\"d-flex flex-column w-100\">\n <div class=\"steps-content\">\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n </div>\n <ng-container *ngTemplateOutlet=\"footer\" />\n </div>\n </div>\n } @else {\n <div class=\"container-wizard vertical\">\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n <div class=\"steps-content\">\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"footer\" />\n }\n }\n} @else {\n <div class=\"text-center\">\n <si-icon class=\"completion-icon-size text-success\" [icon]=\"icons.elementChecked\" />\n <p class=\"si-h4\"> {{ completionText() | translate }}</p>\n </div>\n}\n\n<ng-template #stepsTemplate>\n <div\n #containerSteps\n class=\"container-steps\"\n [class.vertical]=\"verticalLayout()\"\n [class.mx-4]=\"inlineNavigation()\"\n [class.mt-4]=\"!verticalLayout() && inlineNavigation()\"\n (siResizeObserver)=\"updateVisibleSteps()\"\n >\n @for (item of activeSteps(); track item.index) {\n @let meta = stepsMetadata()[item.index];\n <div class=\"step\">\n <div\n [class]=\"['line', 'previous', meta.stateClass]\"\n [class.dashed]=\"$first && item.index > 0\"\n [class.vertical]=\"verticalLayout()\"\n [class.spacer]=\"$first && item.index === 0\"\n ></div>\n <a\n [class]=\"['focus-none', meta.stateClass]\"\n [attr.aria-current]=\"meta.ariaCurrent\"\n [attr.href]=\"!meta.canActivate || !currentStep?.isNextNavigable() ? null : '#'\"\n (click)=\"activateStep($event, item.index)\"\n >\n @if (showStepNumbers() && !item.step.failed()) {\n <div\n class=\"step-icon number-step d-flex justify-content-center align-items-center px-1\"\n >\n <div class=\"circle\" [class.status-warning]=\"item.step.failed()\">\n <span class=\"si-h5 px-2\" [class.completed-color]=\"item.index < index\">\n {{ item.index + 1 }}\n </span>\n </div>\n </div>\n } @else {\n <si-icon\n class=\"icon-lg step-icon\"\n [class.status-warning]=\"item.step.failed()\"\n [icon]=\"meta.icon\"\n />\n }\n <div\n class=\"title si-h5\"\n [class.text-center]=\"!verticalLayout()\"\n [class.px-6]=\"!verticalLayout()\"\n [attr.aria-disabled]=\"meta.ariaDisabled\"\n >{{ item.step.heading() | translate }}</div\n >\n </a>\n @if (item.index + 1 < stepCount) {\n <div\n [class]=\"['line', stepsMetadata()[item.index + 1].stateClass]\"\n [class.vertical]=\"verticalLayout()\"\n [class.dashed]=\"$last\"\n ></div>\n }\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #stepContent>\n <div [class.flex-grow-1]=\"!verticalLayout()\" [class.h-100]=\"verticalLayout()\">\n <ng-content />\n </div>\n</ng-template>\n\n<ng-template #cancelBtnHorizontal>\n @if (hasCancel()) {\n <div class=\"me-7\">\n <div class=\"wizard-btn-container\" (click)=\"wizardCancel.emit()\">\n <button\n type=\"button\"\n class=\"btn btn-circle btn-secondary mt-2 mb-4\"\n [attr.aria-label]=\"cancelText() | translate\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n <div class=\"si-h5 text-accent\">{{ cancelText() | translate }}</div>\n </div>\n </div>\n }\n</ng-template>\n\n<ng-template #footer>\n <div class=\"wizard-footer pt-6\">\n <div class=\"wizard-footer-inner\" [class.ms-6]=\"showVerticalDivider()\">\n @if (hasCancel()) {\n <button\n type=\"button\"\n class=\"btn btn-tertiary\"\n [attr.aria-label]=\"cancelText() | translate\"\n (click)=\"wizardCancel.emit()\"\n >\n {{ cancelText() | translate }}\n </button>\n }\n @if (!hideNavigation()) {\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n [class.d-none]=\"index === 0\"\n [class.end]=\"index !== 0\"\n [attr.aria-label]=\"backText() | translate\"\n (click)=\"back(1)\"\n >\n {{ backText() | translate }}\n </button>\n\n <button\n #nextButton\n type=\"button\"\n class=\"btn btn-primary\"\n [attr.aria-label]=\"nextText() | translate\"\n [disabled]=\"!currentStep?.isValid()\"\n [class.d-none]=\"index === steps().length - 1\"\n [class.end]=\"index === 0\"\n (click)=\"next(1)\"\n >\n {{ nextText() | translate }}\n </button>\n }\n\n @if (!hideSave()) {\n @if (index === steps().length - 1) {\n <button\n #saveButton\n type=\"button\"\n class=\"btn btn-primary save\"\n [class.end]=\"hideNavigation()\"\n [disabled]=\"!currentStep?.isValid() || !currentStep?.isNextNavigable()\"\n (click)=\"save()\"\n >{{ saveText() | translate }}</button\n >\n }\n }\n </div>\n </div>\n</ng-template>\n\n<ng-template #backBtnHorizontal>\n <div class=\"wizard-btn-container\">\n @if (!hideNavigation()) {\n <div class=\"back\" [class.invisible]=\"index === 0\" (click)=\"back(1)\">\n <button\n type=\"button\"\n class=\"btn btn-secondary btn-circle mb-2\"\n [attr.aria-label]=\"backText() | translate\"\n >\n <si-icon class=\"flip-rtl\" [icon]=\"icons.elementLeft4\" />\n </button>\n <div class=\"si-h5 text-accent\">{{ backText() | translate }}</div>\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #nextBtnHorizontal>\n <div class=\"wizard-btn-container\" [class.wizard-text-deactivate]=\"!currentStep?.isValid()\">\n @if (!hideNavigation()) {\n <div class=\"next\" [class.invisible]=\"index === steps().length - 1\" (click)=\"next(1)\">\n <button\n #nextButton\n type=\"button\"\n class=\"btn btn-primary btn-circle mb-2\"\n [disabled]=\"!currentStep?.isValid()\"\n [attr.aria-label]=\"nextText() | translate\"\n >\n <si-icon class=\"flip-rtl\" [icon]=\"icons.elementRight4\" />\n </button>\n <div\n class=\"si-h5 text-accent\"\n [class.text-disabled]=\"!currentStep?.isValid()\"\n [attr.aria-disabled]=\"!currentStep?.isValid()\"\n >{{ nextText() | translate }}</div\n >\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #saveBtn>\n @if (!hideSave()) {\n <div [class.center-save]=\"!verticalLayout() && inlineNavigation()\">\n @if (index === steps().length - 1) {\n <button\n #saveButton\n type=\"button\"\n class=\"btn btn-primary save\"\n [disabled]=\"!currentStep?.isValid() || !currentStep?.isNextNavigable()\"\n (click)=\"save()\"\n >{{ saveText() | translate }}</button\n >\n }\n </div>\n }\n</ng-template>\n", styles: [":host.vertical{display:flex;flex-direction:column;block-size:100%}.container-steps{display:flex}.container-steps .step{display:grid}.container-steps:not(.vertical){inline-size:100%;justify-content:center;align-items:flex-start;padding-block:0}.container-steps:not(.vertical) .step{grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto}.container-steps:not(.vertical) .step .step-icon{grid-row:1/2;grid-column:2/3;justify-self:center}.container-steps:not(.vertical) .step .title{margin-block-start:var(--si-sys-sizing-spacing-y-50)}.container-steps.vertical{flex-direction:column;block-size:100%;padding-block-start:var(--si-sys-sizing-spacing-y-90);min-inline-size:var(--wizard-vertical-min-size, 180px);max-inline-size:var(--wizard-vertical-max-size, initial)}.container-steps.vertical .step{grid-template-columns:1.5rem 1fr;grid-template-rows:auto auto auto;align-items:center;flex:0 1 auto}.container-steps.vertical .step .step-icon{grid-row:2/3;grid-column:1/2;justify-self:center}.container-steps.vertical .step .title{grid-row:2/3;grid-column:2/3;padding-inline-start:var(--si-sys-sizing-spacing-x-40)}.container-steps .completed-color{color:var(--si-sys-color-text-on-accent)}.line{grid-row:1;justify-self:stretch}.line.vertical{grid-column:1/2;align-self:stretch;justify-self:center;border-inline-start-color:var(--si-sys-color-border-2);border-inline-start-width:2px;border-inline-start-style:solid;min-block-size:var(--si-sys-sizing-spacing-y-50)}.line.vertical.dashed{border-inline-start-style:dashed}.line.vertical.spacer{block-size:var(--si-sys-sizing-spacing-y-50);border:0}.line.vertical:not(.previous){grid-row:3}.line:not(.vertical){grid-column:3/4;border-block-start-width:2px;border-block-start-style:solid;border-block-start-color:var(--si-sys-color-border-2);align-self:center}.line:not(.vertical).previous{grid-column:1/2}.line:not(.vertical).dashed{inline-size:var(--si-sys-sizing-spacing-x-90);border-block-start-style:dashed}.line:not(.vertical).spacer{display:none}.line:not(.vertical).dashed.previous{justify-self:end}.line.active,.line.completed{border-color:var(--si-sys-color-text-accent)}.line.dashed.vertical{min-block-size:var(--si-sys-sizing-spacing-y-50);inline-size:auto}.step{inline-size:100%;flex-shrink:1}.step a{display:grid;grid-template-columns:subgrid;grid-template-rows:subgrid;grid-row:1/-1;grid-column:1/-1;align-items:center;justify-self:center;color:var(--si-sys-color-border-2)}.step a:hover{text-decoration:none}.step a:focus-visible .step-icon{outline:var(--element-button-focus-width) solid var(--si-sys-color-effects-focus);outline-offset:calc(-1 * var(--element-button-focus-width));border-radius:.75rem}.step a:focus-visible .step-icon.number-step{outline:none}.step a:focus-visible .step-icon.number-step .circle{outline:var(--element-button-focus-width) solid var(--si-sys-color-effects-focus);outline-offset:var(--element-button-focus-overlay-width)}.step .title{grid-row:2/3;grid-column:1/-1;color:var(--si-sys-color-text-secondary);display:-webkit-box;overflow:hidden;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical}.step .active,.step .active .title{color:var(--si-sys-color-text-accent);cursor:default}.step .disabled,.step .disabled:hover,.step a.disabled>*{cursor:default}.step .disabled .title,.step .disabled:hover .title,.step a.disabled>* .title{color:var(--si-sys-color-text-disabled)}.step .disabled .step-icon,.step .disabled:hover .step-icon,.step a.disabled>* .step-icon{color:var(--si-sys-color-text-disabled)}.step a:not(.disabled):hover,.step a:not(.disabled):hover .step-icon,.step a:not(.disabled):hover .title{color:var(--si-sys-color-text-accent-hover)!important}.step .completed .title{color:var(--si-sys-color-text-primary)}.step .completed .step-icon{color:var(--si-sys-color-text-accent)}.step .completed .circle{background-color:currentColor}.container-wizard{inline-size:100%;display:flex;flex-wrap:nowrap}.container-wizard:not(.vertical){justify-content:center;padding-block-end:var(--si-sys-sizing-spacing-y-60)}.container-wizard.vertical{justify-content:start;block-size:100%}.container-wizard.vertical .steps-content{flex:100%;padding-inline-start:var(--si-sys-sizing-spacing-x-60)}.container-wizard .vertical-divider{border-inline-end:1px solid var(--si-sys-color-border-4);margin-block:0}.center-save{display:flex;justify-content:center;padding-block-start:var(--si-sys-sizing-spacing-y-60)}.wizard-btn-container{min-inline-size:8ch;flex-shrink:1;text-align:center;cursor:pointer}.wizard-btn-container.wizard-text-deactivate:hover{cursor:default}.wizard-btn-container:not(.wizard-text-deactivate):hover .text-accent{color:var(--si-sys-color-text-accent-hover)!important}.completion-icon-size{font-size:96px}.circle{min-inline-size:1.125rem;min-block-size:1.125rem;border-radius:.75rem;border-width:1px;border-style:solid;border-color:currentColor;color:currentColor}.number-step{min-inline-size:1.5rem;min-block-size:1.5rem;text-align:center}.wizard-footer{container-type:inline-size}.wizard-footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:start;gap:var(--si-sys-sizing-spacing-y-60) var(--si-sys-sizing-spacing-x-60)}.wizard-footer-inner>.end{margin-inline-start:auto}@container (max-width: 25em){.wizard-footer-inner{flex-direction:column;align-items:stretch}.wizard-footer-inner>.end{margin-inline-start:unset}}\n"] }]
513
513
  }], ctorParameters: () => [], propDecorators: { containerSteps: [{ type: i0.ViewChild, args: ['containerSteps', { isSignal: true }] }], nextButton: [{ type: i0.ViewChild, args: ['nextButton', { isSignal: true }] }], saveButton: [{ type: i0.ViewChild, args: ['saveButton', { isSignal: true }] }], backText: [{ type: i0.Input, args: [{ isSignal: true, alias: "backText", required: false }] }], nextText: [{ type: i0.Input, args: [{ isSignal: true, alias: "nextText", required: false }] }], hideNavigation: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideNavigation", required: false }] }], saveText: [{ type: i0.Input, args: [{ isSignal: true, alias: "saveText", required: false }] }], hideSave: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideSave", required: false }] }], completionText: [{ type: i0.Input, args: [{ isSignal: true, alias: "completionText", required: false }] }], cancelText: [{ type: i0.Input, args: [{ isSignal: true, alias: "cancelText", required: false }] }], hasCancel: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasCancel", required: false }] }], enableCompletionPage: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableCompletionPage", required: false }] }], completionPageVisibleTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "completionPageVisibleTime", required: false }] }], stepIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "stepIcon", required: false }] }], stepActiveIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "stepActiveIcon", required: false }] }], stepCompletedIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "stepCompletedIcon", required: false }] }], stepFailedIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "stepFailedIcon", required: false }] }], verticalLayout: [{ type: i0.Input, args: [{ isSignal: true, alias: "verticalLayout", required: false }] }], inlineNavigation: [{ type: i0.Input, args: [{ isSignal: true, alias: "inlineNavigation", required: false }] }], showStepNumbers: [{ type: i0.Input, args: [{ isSignal: true, alias: "showStepNumbers", required: false }] }], showVerticalDivider: [{ type: i0.Input, args: [{ isSignal: true, alias: "showVerticalDivider", required: false }] }], verticalMinSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "verticalMinSize", required: false }] }], verticalMaxSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "verticalMaxSize", required: false }] }], completionAction: [{ type: i0.Output, args: ["completionAction"] }], wizardCancel: [{ type: i0.Output, args: ["wizardCancel"] }], steps: [] } });
514
514
 
515
515
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-wizard.mjs","sources":["../../../../projects/element-ng/wizard/si-wizard-step.component.ts","../../../../projects/element-ng/wizard/si-wizard-step.component.html","../../../../projects/element-ng/wizard/si-wizard.component.ts","../../../../projects/element-ng/wizard/si-wizard.component.html","../../../../projects/element-ng/wizard/si-wizard.module.ts","../../../../projects/element-ng/wizard/index.ts","../../../../projects/element-ng/wizard/siemens-element-ng-wizard.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n Component,\n ElementRef,\n inject,\n input,\n output,\n signal\n} from '@angular/core';\nimport { TranslatableString } from '@siemens/element-translate-ng/translate';\n\n@Component({\n selector: 'si-wizard-step',\n templateUrl: './si-wizard-step.component.html'\n})\nexport class SiWizardStepComponent {\n /** @internal */\n readonly elementRef = inject(ElementRef<HTMLElement>);\n /**\n * Heading displayed for the wizard step.\n *\n * @defaultValue ''\n */\n readonly heading = input<TranslatableString>('');\n /**\n * Whether the step is valid and allows navigation to subsequent steps.\n *\n * @defaultValue true\n */\n readonly isValid = input(true, { transform: booleanAttribute });\n /**\n * Whether the wizard navigates to the next step after emitting `next`.\n *\n * @defaultValue true\n */\n readonly isNextNavigable = input(true, { transform: booleanAttribute });\n /**\n * Whether the step is shown as failed in the wizard navigation.\n *\n * @defaultValue false\n */\n readonly failed = input(false, { transform: booleanAttribute });\n\n /** Emits when the user navigates forward from this step. */\n readonly next = output();\n /** Emits when the user navigates back from this step. */\n readonly back = output();\n /** Emits when the user completes the wizard from this step. */\n readonly save = output();\n\n /**\n * Whether this step is currently active or not.\n * @defaultValue false\n */\n readonly isActive = signal(false);\n}\n","@if (isActive()) {\n <div class=\"h-100\">\n <ng-content />\n </div>\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { FocusTrapFactory } from '@angular/cdk/a11y';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n afterNextRender,\n booleanAttribute,\n Component,\n computed,\n contentChildren,\n ElementRef,\n inject,\n Injector,\n input,\n linkedSignal,\n output,\n signal,\n untracked,\n viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport {\n elementCancel,\n elementChecked,\n elementCheckedFilled,\n elementLeft4,\n elementNotChecked,\n elementRadioChecked,\n elementRight4,\n elementWarningFilled\n} from '@siemens/element-icons';\nimport { TextMeasureService, WebComponentContentChildren } from '@siemens/element-ng/common';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiResizeObserverDirective } from '@siemens/element-ng/resize-observer';\nimport {\n injectSiTranslateService,\n SiTranslatePipe,\n t\n} from '@siemens/element-translate-ng/translate';\nimport { switchMap } from 'rxjs';\n\nimport { SiWizardStepComponent } from './si-wizard-step.component';\n\ninterface StepItem {\n index: number;\n step: SiWizardStepComponent;\n}\n\ninterface StepMetadata {\n canActivate: boolean;\n stateClass: string;\n ariaDisabled: 'true' | 'false';\n ariaCurrent: 'step' | 'false';\n icon: string;\n}\n\n@Component({\n selector: 'si-wizard',\n imports: [SiIconComponent, SiResizeObserverDirective, SiTranslatePipe, NgTemplateOutlet],\n templateUrl: './si-wizard.component.html',\n styleUrl: './si-wizard.component.scss',\n host: {\n class: 'py-6 px-8 d-flex flex-column',\n '[class.vertical]': 'verticalLayout()',\n '[style.--wizard-vertical-min-size]': 'verticalMinSize()',\n '[style.--wizard-vertical-max-size]': 'verticalMaxSize()'\n }\n})\nexport class SiWizardComponent {\n /** em-based multipliers relative to the step title font-size. */\n private static readonly minStepWidthEm = 6;\n private static readonly maxStepWidthEm = 14;\n private static readonly defaultStepWidthEm = 11;\n private static readonly fallbackFontSize = 14;\n /** Fixed horizontal padding of the step title (px-6 = 2 × 16px). */\n private static readonly stepPadding = 32;\n private readonly translateService = injectSiTranslateService();\n private readonly textMeasureService = inject(TextMeasureService);\n private readonly focusTrapFactory = inject(FocusTrapFactory);\n private readonly injector = inject(Injector);\n\n protected readonly containerSteps = viewChild<ElementRef<HTMLDivElement>>('containerSteps');\n protected readonly nextButton = viewChild<ElementRef<HTMLButtonElement>>('nextButton');\n protected readonly saveButton = viewChild<ElementRef<HTMLButtonElement>>('saveButton');\n\n /**\n * Description of back button.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_WIZARD.BACK:Back`)\n * ```\n */\n readonly backText = input(t(() => $localize`:@@SI_WIZARD.BACK:Back`));\n /**\n * Description of next button.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_WIZARD.NEXT:Next`)\n * ```\n */\n readonly nextText = input(t(() => $localize`:@@SI_WIZARD.NEXT:Next`));\n\n /**\n * Hide the navigation buttons previous/next.\n *\n * @defaultValue false\n */\n readonly hideNavigation = input(false, { transform: booleanAttribute });\n /**\n * Description of save button.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_WIZARD.SAVE:Save`)\n * ```\n */\n readonly saveText = input(t(() => $localize`:@@SI_WIZARD.SAVE:Save`));\n /**\n * Hide the save button.\n *\n * @defaultValue false\n */\n readonly hideSave = input(false, { transform: booleanAttribute });\n /**\n * Text shown if you complete the wizard.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_WIZARD.COMPLETED:Wizard completed!`)\n * ```\n */\n readonly completionText = input(t(() => $localize`:@@SI_WIZARD.COMPLETED:Wizard completed!`));\n /**\n * Description of cancel button.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_WIZARD.CANCEL:Cancel`)\n * ```\n */\n readonly cancelText = input(t(() => $localize`:@@SI_WIZARD.CANCEL:Cancel`));\n /**\n * Show the cancel button\n *\n * @defaultValue false\n */\n readonly hasCancel = input(false, { transform: booleanAttribute });\n /**\n * Display a predefined page by the end of the wizard.\n *\n * @defaultValue false\n */\n readonly enableCompletionPage = input(false, { transform: booleanAttribute });\n /**\n * Define how many milliseconds the completion page is visible.\n *\n * @defaultValue 3000\n */\n readonly completionPageVisibleTime = input(3000);\n /**\n * Class name of icon shown for current and upcoming steps.\n *\n * @defaultValue 'elementNotChecked'\n */\n readonly stepIcon = input('elementNotChecked');\n /**\n * Class name of icon shown for the active step.\n *\n * @defaultValue 'elementRadioChecked'\n */\n readonly stepActiveIcon = input('elementRadioChecked');\n /**\n * Class name of icon shown when a step was completed.\n *\n * @defaultValue 'elementCheckedFilled'\n */\n readonly stepCompletedIcon = input('elementCheckedFilled');\n /**\n * Class name of icon shown when a step had an error.\n *\n * @defaultValue 'elementWarningFilled'\n */\n readonly stepFailedIcon = input('elementWarningFilled');\n /**\n * Set the orientation of the wizard to vertical.\n *\n * @defaultValue false\n */\n readonly verticalLayout = input(false, { transform: booleanAttribute });\n /**\n * Set false to show navigation buttons in footer instead of inline.\n *\n * @defaultValue false\n */\n readonly inlineNavigation = input(false, { transform: booleanAttribute });\n /**\n * Use number representation for steps.\n *\n * @defaultValue false\n */\n readonly showStepNumbers = input(false, { transform: booleanAttribute });\n /**\n * Set to true to display a divider between the steps and the content in the vertical\n *\n * @defaultValue false\n */\n readonly showVerticalDivider = input(false, { transform: booleanAttribute });\n /** Set the wizard step container min size in vertical layout. */\n readonly verticalMinSize = input<string>();\n /** Set the wizard step container max size in vertical layout. */\n readonly verticalMaxSize = input<string>();\n\n /** Callback function triggered after the wizard has been completed. */\n readonly completionAction = output();\n\n /** Callback function triggered if the wizard has been canceled. */\n readonly wizardCancel = output();\n\n /** Get the current step wizard step index. */\n get index(): number {\n return this._index();\n }\n\n /** Get number of wizard steps. */\n get stepCount(): number {\n return this.steps().length;\n }\n\n /** Get current visible wizard step. */\n get currentStep(): SiWizardStepComponent | undefined {\n return this._currentStep();\n }\n\n @WebComponentContentChildren(SiWizardStepComponent)\n protected readonly steps = contentChildren(SiWizardStepComponent);\n protected readonly visibleSteps = linkedSignal(() => this.calculateVisibleStepCount());\n protected readonly showCompletionPage = signal(false);\n /** The list of visible steps. */\n protected readonly activeSteps = computed(() => this.computeVisibleSteps());\n private readonly headingKeys = computed(() => this.steps().map(s => s.heading()));\n private readonly maxStepWidth = signal(\n SiWizardComponent.defaultStepWidthEm * SiWizardComponent.fallbackFontSize\n );\n private readonly _index = linkedSignal(() => {\n const currentStep = this._currentStep();\n const currentStepIndex = currentStep ? this.steps().indexOf(currentStep) : 0;\n return currentStepIndex < 0 ? 0 : currentStepIndex;\n });\n private readonly _currentStep = linkedSignal(() => {\n const steps = this.steps();\n const currentActive = steps.find(step => step.isActive());\n if (currentActive) {\n return currentActive;\n } else if (steps.length) {\n untracked(() => steps[0].isActive.set(true));\n return steps[0];\n } else {\n return undefined;\n }\n });\n protected readonly icons = addIcons({\n elementCancel,\n elementChecked,\n elementCheckedFilled,\n elementLeft4,\n elementNotChecked,\n elementRight4,\n elementRadioChecked,\n elementWarningFilled\n });\n\n protected readonly stepsMetadata = computed((): StepMetadata[] => {\n const index = this._index();\n const steps = this.steps();\n\n // O(N) pre-calculation: find the first invalid step from the current index\n let firstInvalidIndex = steps.length;\n for (let i = index; i < steps.length; i++) {\n if (!steps[i].isValid()) {\n firstInvalidIndex = i;\n break;\n }\n }\n\n return steps.map((step, stepIndex) => {\n // canActivate: O(1) per step using pre-calculated firstInvalidIndex\n let canActivate: boolean;\n if (stepIndex < index) {\n canActivate = true;\n } else if (stepIndex === index) {\n canActivate = false;\n } else {\n canActivate = firstInvalidIndex >= stepIndex;\n }\n\n // stateClass\n const stateClass = this.getStateClass(stepIndex, canActivate);\n\n // ariaDisabled\n const ariaDisabled = !canActivate ? 'true' : 'false';\n\n // ariaCurrent\n const ariaCurrent = stepIndex === index ? 'step' : 'false';\n\n // icon\n const icon = this.getState(step, stepIndex);\n\n return { canActivate, stateClass, ariaDisabled, ariaCurrent, icon };\n });\n });\n\n constructor() {\n toObservable(this.headingKeys)\n .pipe(\n switchMap(keys => this.translateService.translateAsync(keys)),\n takeUntilDestroyed()\n )\n .subscribe(translations =>\n this.maxStepWidth.set(this.measureMaxTextWidth(Object.values(translations)))\n );\n }\n\n protected activateStep(event: Event, stepIndex: number): void {\n event.preventDefault();\n if (this.stepsMetadata()[stepIndex].canActivate) {\n if (stepIndex > this.index) {\n this.next(stepIndex - this.index);\n }\n if (stepIndex < this.index) {\n this.back(this.index - stepIndex);\n }\n }\n }\n\n private getStateClass(stepIndex: number, canActivate: boolean): string {\n if (stepIndex === this.index) {\n return 'active';\n }\n if (!canActivate) {\n return 'disabled';\n }\n if (stepIndex < this.index) {\n return 'completed';\n }\n return '';\n }\n\n /**\n * Go to the next wizard step.\n * @param delta - optional number of steps to move forward.\n */\n next(delta: number = 1): void {\n const steps = this.steps();\n const stepIndex = this.index + delta;\n if (stepIndex < steps.length && this.stepsMetadata()[stepIndex].canActivate) {\n const nextStep = steps[stepIndex];\n this.currentStep?.next.emit();\n if (this.currentStep?.isNextNavigable()) {\n this.activate(nextStep);\n this.focusStepContent();\n }\n }\n }\n\n private getState(step: SiWizardStepComponent, stepIndex: number): string {\n if (step.failed() === true) {\n return this.stepFailedIcon();\n }\n const txtStyle = step.isActive() ? this.stepActiveIcon() : this.stepIcon();\n return stepIndex >= this.index ? txtStyle : this.stepCompletedIcon();\n }\n\n /**\n * Go to the previous wizard step.\n * @param delta - optional number of steps to move backwards.\n */\n back(delta: number = 1): void {\n if (this.index === 0) {\n return;\n }\n this.currentStep?.back.emit();\n this.activate(this.steps()[this.index - delta]);\n }\n\n /** Triggers the save action to complete the wizard. */\n save(): void {\n this.currentStep?.save.emit();\n\n if (this.enableCompletionPage() && this.completionPageVisibleTime() > 0) {\n this.showCompletionPage.set(true);\n setTimeout(() => {\n this.showCompletionPage.set(false);\n this.completionAction.emit();\n }, this.completionPageVisibleTime());\n } else {\n this.completionAction.emit();\n }\n }\n\n private activate(step: SiWizardStepComponent): void {\n if (this.currentStep) {\n this.currentStep.isActive.set(false);\n }\n\n step.isActive.set(true);\n this._currentStep.set(step);\n this._index.set(this.steps().indexOf(step));\n }\n\n private focusStepContent(): void {\n afterNextRender(\n async () => {\n const stepElement = this.currentStep?.elementRef.nativeElement as HTMLElement | undefined;\n if (!stepElement) {\n this.focusNavigationButton();\n return;\n }\n\n // A little abuse, we only use the focus trap to focus the first tabable element.\n const focusTrap = this.focusTrapFactory.create(stepElement);\n try {\n const focused = await focusTrap.focusFirstTabbableElementWhenReady();\n if (!focused) {\n this.focusNavigationButton();\n }\n } finally {\n focusTrap.destroy();\n }\n },\n { injector: this.injector }\n );\n }\n\n private focusNavigationButton(): void {\n if (this.index === this.steps().length - 1) {\n this.saveButton()?.nativeElement.focus();\n } else {\n this.nextButton()?.nativeElement.focus();\n }\n }\n\n private measureMaxTextWidth(texts: string[]): number {\n const titleEl =\n this.containerSteps()?.nativeElement.querySelector<HTMLElement>('.title') ?? undefined;\n const fontSize = titleEl\n ? parseFloat(getComputedStyle(titleEl).fontSize)\n : SiWizardComponent.fallbackFontSize;\n const defaultWidth = SiWizardComponent.defaultStepWidthEm * fontSize;\n\n if (texts.length === 0) {\n return defaultWidth;\n }\n\n const minWidth = SiWizardComponent.minStepWidthEm * fontSize;\n const maxWidth = SiWizardComponent.maxStepWidthEm * fontSize;\n\n // Only take texts into account which aren't much shorter than the longest text.\n const maxCharLength = Math.max(...texts.map(text => text.length));\n const candidates = texts.filter(text => text.length >= maxCharLength * 0.8);\n const maxTextWidth = Math.max(\n ...candidates.map(text => this.textMeasureService.measureText(text, titleEl))\n );\n return Math.min(Math.max(maxTextWidth + SiWizardComponent.stepPadding, minWidth), maxWidth);\n }\n\n protected updateVisibleSteps(): void {\n const newVisibleSteps = this.calculateVisibleStepCount();\n if (newVisibleSteps !== this.visibleSteps()) {\n this.visibleSteps.set(newVisibleSteps);\n }\n }\n\n private calculateVisibleStepCount(): number {\n const containerSteps = this.containerSteps();\n if (!containerSteps) {\n return 0;\n }\n if (this.verticalLayout()) {\n const computedStyle = getComputedStyle(containerSteps.nativeElement);\n const clientHeight =\n containerSteps.nativeElement.clientHeight -\n parseInt(computedStyle.paddingBlockStart) -\n parseInt(computedStyle.paddingBlockEnd);\n const stepEl = containerSteps.nativeElement.querySelector('.step');\n const stepHeight = stepEl?.getBoundingClientRect().height ?? 48;\n return Math.max(Math.floor(clientHeight / stepHeight), 1);\n } else {\n const clientWidth = containerSteps.nativeElement.clientWidth;\n return Math.max(Math.floor(clientWidth / this.maxStepWidth()), 1);\n }\n }\n\n private computeVisibleSteps(): StepItem[] {\n const create = (index: number): StepItem => ({ index, step: this.steps()[index] });\n if (this.steps().length === 0) {\n return [];\n } else if (this.visibleSteps() <= 1) {\n return [create(this.index)];\n } else if (this.stepCount <= this.visibleSteps()) {\n return this.steps().map((_, i) => create(i));\n } else {\n const steps = [this.index];\n for (\n let i = 1, left = this.index - 1, right = this.index + 1;\n i < this.visibleSteps();\n right++, left--\n ) {\n // Iterate in both directions to check current step is in visible range.\n if (right < this.stepCount) {\n steps.push(right);\n i++;\n }\n if (left >= 0 && i < this.visibleSteps()) {\n steps.push(left);\n i++;\n }\n }\n\n return steps.sort((l, r) => l - r).map(i => create(i));\n }\n }\n}\n","@if (!showCompletionPage()) {\n @if (!verticalLayout()) {\n <div class=\"container-wizard\" [class.justify-content-center]=\"!inlineNavigation()\">\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"cancelBtnHorizontal\" />\n <ng-container *ngTemplateOutlet=\"backBtnHorizontal\" />\n }\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"nextBtnHorizontal\" />\n }\n </div>\n\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"saveBtn\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"footer\" />\n }\n } @else {\n @if (showVerticalDivider()) {\n <div class=\"container-wizard vertical\">\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n <div class=\"vertical-divider\"></div>\n <div class=\"d-flex flex-column w-100\">\n <div class=\"steps-content\">\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n </div>\n <ng-container *ngTemplateOutlet=\"footer\" />\n </div>\n </div>\n } @else {\n <div class=\"container-wizard vertical\">\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n <div class=\"steps-content\">\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"footer\" />\n }\n }\n} @else {\n <div class=\"text-center\">\n <si-icon class=\"completion-icon-size text-success\" [icon]=\"icons.elementChecked\" />\n <p class=\"si-h4\"> {{ completionText() | translate }}</p>\n </div>\n}\n\n<ng-template #stepsTemplate>\n <div\n #containerSteps\n class=\"container-steps\"\n [class.vertical]=\"verticalLayout()\"\n [class.mx-4]=\"inlineNavigation()\"\n [class.mt-4]=\"!verticalLayout() && inlineNavigation()\"\n (siResizeObserver)=\"updateVisibleSteps()\"\n >\n @for (item of activeSteps(); track item.index) {\n @let meta = stepsMetadata()[item.index];\n <div class=\"step\">\n <div\n [class]=\"['line', 'previous', meta.stateClass]\"\n [class.dashed]=\"$first && item.index > 0\"\n [class.vertical]=\"verticalLayout()\"\n [class.spacer]=\"$first && item.index === 0\"\n ></div>\n <a\n [class]=\"['focus-none', meta.stateClass]\"\n [attr.aria-current]=\"meta.ariaCurrent\"\n [attr.href]=\"!meta.canActivate || !currentStep?.isNextNavigable() ? null : '#'\"\n (click)=\"activateStep($event, item.index)\"\n >\n @if (showStepNumbers() && !item.step.failed()) {\n <div\n class=\"step-icon number-step d-flex justify-content-center align-items-center px-1\"\n >\n <div class=\"circle\" [class.status-warning]=\"item.step.failed()\">\n <span class=\"si-h5 px-2\" [class.completed-color]=\"item.index < index\">\n {{ item.index + 1 }}\n </span>\n </div>\n </div>\n } @else {\n <si-icon\n class=\"icon-lg step-icon\"\n [class.status-warning]=\"item.step.failed()\"\n [icon]=\"meta.icon\"\n />\n }\n <div\n class=\"title si-h5\"\n [class.text-center]=\"!verticalLayout()\"\n [class.px-6]=\"!verticalLayout()\"\n [attr.aria-disabled]=\"meta.ariaDisabled\"\n >{{ item.step.heading() | translate }}</div\n >\n </a>\n @if (item.index + 1 < stepCount) {\n <div\n [class]=\"['line', stepsMetadata()[item.index + 1].stateClass]\"\n [class.vertical]=\"verticalLayout()\"\n [class.dashed]=\"$last\"\n ></div>\n }\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #stepContent>\n <div [class.flex-grow-1]=\"!verticalLayout()\" [class.h-100]=\"verticalLayout()\">\n <ng-content />\n </div>\n</ng-template>\n\n<ng-template #cancelBtnHorizontal>\n @if (hasCancel()) {\n <div class=\"me-7\">\n <div class=\"wizard-btn-container\" (click)=\"wizardCancel.emit()\">\n <button\n type=\"button\"\n class=\"btn btn-circle btn-secondary mt-2 mb-4\"\n [attr.aria-label]=\"cancelText() | translate\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n <div class=\"si-h5 text-accent\">{{ cancelText() | translate }}</div>\n </div>\n </div>\n }\n</ng-template>\n\n<ng-template #footer>\n <div class=\"wizard-footer pt-6\">\n <div class=\"wizard-footer-inner\" [class.ms-6]=\"showVerticalDivider()\">\n @if (hasCancel()) {\n <button\n type=\"button\"\n class=\"btn btn-tertiary\"\n [attr.aria-label]=\"cancelText() | translate\"\n (click)=\"wizardCancel.emit()\"\n >\n {{ cancelText() | translate }}\n </button>\n }\n @if (!hideNavigation()) {\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n [class.d-none]=\"index === 0\"\n [class.end]=\"index !== 0\"\n [attr.aria-label]=\"backText() | translate\"\n (click)=\"back(1)\"\n >\n {{ backText() | translate }}\n </button>\n\n <button\n #nextButton\n type=\"button\"\n class=\"btn btn-primary\"\n [attr.aria-label]=\"nextText() | translate\"\n [disabled]=\"!currentStep?.isValid()\"\n [class.d-none]=\"index === steps().length - 1\"\n [class.end]=\"index === 0\"\n (click)=\"next(1)\"\n >\n {{ nextText() | translate }}\n </button>\n }\n\n @if (!hideSave()) {\n @if (index === steps().length - 1) {\n <button\n #saveButton\n type=\"button\"\n class=\"btn btn-primary save\"\n [class.end]=\"hideNavigation()\"\n [disabled]=\"!currentStep?.isValid() || !currentStep?.isNextNavigable()\"\n (click)=\"save()\"\n >{{ saveText() | translate }}</button\n >\n }\n }\n </div>\n </div>\n</ng-template>\n\n<ng-template #backBtnHorizontal>\n <div class=\"wizard-btn-container\">\n @if (!hideNavigation()) {\n <div class=\"back\" [class.invisible]=\"index === 0\" (click)=\"back(1)\">\n <button\n type=\"button\"\n class=\"btn btn-secondary btn-circle mb-2\"\n [attr.aria-label]=\"backText() | translate\"\n >\n <si-icon class=\"flip-rtl\" [icon]=\"icons.elementLeft4\" />\n </button>\n <div class=\"si-h5 text-accent\">{{ backText() | translate }}</div>\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #nextBtnHorizontal>\n <div class=\"wizard-btn-container\" [class.wizard-text-deactivate]=\"!currentStep?.isValid()\">\n @if (!hideNavigation()) {\n <div class=\"next\" [class.invisible]=\"index === steps().length - 1\" (click)=\"next(1)\">\n <button\n #nextButton\n type=\"button\"\n class=\"btn btn-primary btn-circle mb-2\"\n [disabled]=\"!currentStep?.isValid()\"\n [attr.aria-label]=\"nextText() | translate\"\n >\n <si-icon class=\"flip-rtl\" [icon]=\"icons.elementRight4\" />\n </button>\n <div\n class=\"si-h5 text-accent\"\n [class.text-disabled]=\"!currentStep?.isValid()\"\n [attr.aria-disabled]=\"!currentStep?.isValid()\"\n >{{ nextText() | translate }}</div\n >\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #saveBtn>\n @if (!hideSave()) {\n <div [class.center-save]=\"!verticalLayout() && inlineNavigation()\">\n @if (index === steps().length - 1) {\n <button\n #saveButton\n type=\"button\"\n class=\"btn btn-primary save\"\n [disabled]=\"!currentStep?.isValid() || !currentStep?.isNextNavigable()\"\n (click)=\"save()\"\n >{{ saveText() | translate }}</button\n >\n }\n </div>\n }\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiWizardStepComponent } from './si-wizard-step.component';\nimport { SiWizardComponent } from './si-wizard.component';\n\n@NgModule({\n imports: [SiWizardComponent, SiWizardStepComponent],\n exports: [SiWizardComponent, SiWizardStepComponent]\n})\nexport class SiWizardModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-wizard-step.component';\nexport * from './si-wizard.component';\nexport * from './si-wizard.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"siemens-element-ng-wizard.mjs","sources":["../../../../projects/element-ng/wizard/si-wizard-step.component.ts","../../../../projects/element-ng/wizard/si-wizard-step.component.html","../../../../projects/element-ng/wizard/si-wizard.component.ts","../../../../projects/element-ng/wizard/si-wizard.component.html","../../../../projects/element-ng/wizard/si-wizard.module.ts","../../../../projects/element-ng/wizard/index.ts","../../../../projects/element-ng/wizard/siemens-element-ng-wizard.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n Component,\n ElementRef,\n inject,\n input,\n output,\n signal\n} from '@angular/core';\nimport { TranslatableString } from '@siemens/element-translate-ng/translate';\n\n@Component({\n selector: 'si-wizard-step',\n templateUrl: './si-wizard-step.component.html'\n})\nexport class SiWizardStepComponent {\n /** @internal */\n readonly elementRef = inject(ElementRef<HTMLElement>);\n /**\n * Heading displayed for the wizard step.\n *\n * @defaultValue ''\n */\n readonly heading = input<TranslatableString>('');\n /**\n * Whether the step is valid and allows navigation to subsequent steps.\n *\n * @defaultValue true\n */\n readonly isValid = input(true, { transform: booleanAttribute });\n /**\n * Whether the wizard navigates to the next step after emitting `next`.\n *\n * @defaultValue true\n */\n readonly isNextNavigable = input(true, { transform: booleanAttribute });\n /**\n * Whether the step is shown as failed in the wizard navigation.\n *\n * @defaultValue false\n */\n readonly failed = input(false, { transform: booleanAttribute });\n\n /** Emits when the user navigates forward from this step. */\n readonly next = output();\n /** Emits when the user navigates back from this step. */\n readonly back = output();\n /** Emits when the user completes the wizard from this step. */\n readonly save = output();\n\n /**\n * Whether this step is currently active or not.\n * @defaultValue false\n */\n readonly isActive = signal(false);\n}\n","@if (isActive()) {\n <div class=\"h-100\">\n <ng-content />\n </div>\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { FocusTrapFactory } from '@angular/cdk/a11y';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n afterNextRender,\n booleanAttribute,\n Component,\n computed,\n contentChildren,\n ElementRef,\n inject,\n Injector,\n input,\n linkedSignal,\n output,\n signal,\n untracked,\n viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport {\n elementCancel,\n elementChecked,\n elementCheckedFilled,\n elementLeft4,\n elementNotChecked,\n elementRadioChecked,\n elementRight4,\n elementWarningFilled\n} from '@siemens/element-icons';\nimport { TextMeasureService, WebComponentContentChildren } from '@siemens/element-ng/common';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiResizeObserverDirective } from '@siemens/element-ng/resize-observer';\nimport {\n injectSiTranslateService,\n SiTranslatePipe,\n t\n} from '@siemens/element-translate-ng/translate';\nimport { switchMap } from 'rxjs';\n\nimport { SiWizardStepComponent } from './si-wizard-step.component';\n\ninterface StepItem {\n index: number;\n step: SiWizardStepComponent;\n}\n\ninterface StepMetadata {\n canActivate: boolean;\n stateClass: string;\n ariaDisabled: 'true' | 'false';\n ariaCurrent: 'step' | 'false';\n icon: string;\n}\n\n@Component({\n selector: 'si-wizard',\n imports: [SiIconComponent, SiResizeObserverDirective, SiTranslatePipe, NgTemplateOutlet],\n templateUrl: './si-wizard.component.html',\n styleUrl: './si-wizard.component.scss',\n host: {\n class: 'py-6 px-8 d-flex flex-column',\n '[class.vertical]': 'verticalLayout()',\n '[style.--wizard-vertical-min-size]': 'verticalMinSize()',\n '[style.--wizard-vertical-max-size]': 'verticalMaxSize()'\n }\n})\nexport class SiWizardComponent {\n /** em-based multipliers relative to the step title font-size. */\n private static readonly minStepWidthEm = 6;\n private static readonly maxStepWidthEm = 14;\n private static readonly defaultStepWidthEm = 11;\n private static readonly fallbackFontSize = 14;\n /** Fixed horizontal padding of the step title (px-6 = 2 × 16px). */\n private static readonly stepPadding = 32;\n private readonly translateService = injectSiTranslateService();\n private readonly textMeasureService = inject(TextMeasureService);\n private readonly focusTrapFactory = inject(FocusTrapFactory);\n private readonly injector = inject(Injector);\n\n protected readonly containerSteps = viewChild<ElementRef<HTMLDivElement>>('containerSteps');\n protected readonly nextButton = viewChild<ElementRef<HTMLButtonElement>>('nextButton');\n protected readonly saveButton = viewChild<ElementRef<HTMLButtonElement>>('saveButton');\n\n /**\n * Description of back button.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_WIZARD.BACK:Back`)\n * ```\n */\n readonly backText = input(t(() => $localize`:@@SI_WIZARD.BACK:Back`));\n /**\n * Description of next button.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_WIZARD.NEXT:Next`)\n * ```\n */\n readonly nextText = input(t(() => $localize`:@@SI_WIZARD.NEXT:Next`));\n\n /**\n * Hide the navigation buttons previous/next.\n *\n * @defaultValue false\n */\n readonly hideNavigation = input(false, { transform: booleanAttribute });\n /**\n * Description of save button.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_WIZARD.SAVE:Save`)\n * ```\n */\n readonly saveText = input(t(() => $localize`:@@SI_WIZARD.SAVE:Save`));\n /**\n * Hide the save button.\n *\n * @defaultValue false\n */\n readonly hideSave = input(false, { transform: booleanAttribute });\n /**\n * Text shown if you complete the wizard.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_WIZARD.COMPLETED:Wizard completed!`)\n * ```\n */\n readonly completionText = input(t(() => $localize`:@@SI_WIZARD.COMPLETED:Wizard completed!`));\n /**\n * Description of cancel button.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_WIZARD.CANCEL:Cancel`)\n * ```\n */\n readonly cancelText = input(t(() => $localize`:@@SI_WIZARD.CANCEL:Cancel`));\n /**\n * Show the cancel button\n *\n * @defaultValue false\n */\n readonly hasCancel = input(false, { transform: booleanAttribute });\n /**\n * Display a predefined page by the end of the wizard.\n *\n * @defaultValue false\n */\n readonly enableCompletionPage = input(false, { transform: booleanAttribute });\n /**\n * Define how many milliseconds the completion page is visible.\n *\n * @defaultValue 3000\n */\n readonly completionPageVisibleTime = input(3000);\n /**\n * Class name of icon shown for current and upcoming steps.\n *\n * @defaultValue 'elementNotChecked'\n */\n readonly stepIcon = input('elementNotChecked');\n /**\n * Class name of icon shown for the active step.\n *\n * @defaultValue 'elementRadioChecked'\n */\n readonly stepActiveIcon = input('elementRadioChecked');\n /**\n * Class name of icon shown when a step was completed.\n *\n * @defaultValue 'elementCheckedFilled'\n */\n readonly stepCompletedIcon = input('elementCheckedFilled');\n /**\n * Class name of icon shown when a step had an error.\n *\n * @defaultValue 'elementWarningFilled'\n */\n readonly stepFailedIcon = input('elementWarningFilled');\n /**\n * Set the orientation of the wizard to vertical.\n *\n * @defaultValue false\n */\n readonly verticalLayout = input(false, { transform: booleanAttribute });\n /**\n * Set false to show navigation buttons in footer instead of inline.\n *\n * @defaultValue false\n */\n readonly inlineNavigation = input(false, { transform: booleanAttribute });\n /**\n * Use number representation for steps.\n *\n * @defaultValue false\n */\n readonly showStepNumbers = input(false, { transform: booleanAttribute });\n /**\n * Set to true to display a divider between the steps and the content in the vertical\n *\n * @defaultValue false\n */\n readonly showVerticalDivider = input(false, { transform: booleanAttribute });\n /** Set the wizard step container min size in vertical layout. */\n readonly verticalMinSize = input<string>();\n /** Set the wizard step container max size in vertical layout. */\n readonly verticalMaxSize = input<string>();\n\n /** Callback function triggered after the wizard has been completed. */\n readonly completionAction = output();\n\n /** Callback function triggered if the wizard has been canceled. */\n readonly wizardCancel = output();\n\n /** Get the current step wizard step index. */\n get index(): number {\n return this._index();\n }\n\n /** Get number of wizard steps. */\n get stepCount(): number {\n return this.steps().length;\n }\n\n /** Get current visible wizard step. */\n get currentStep(): SiWizardStepComponent | undefined {\n return this._currentStep();\n }\n\n @WebComponentContentChildren(SiWizardStepComponent)\n protected readonly steps = contentChildren(SiWizardStepComponent);\n protected readonly visibleSteps = linkedSignal(() => this.calculateVisibleStepCount());\n protected readonly showCompletionPage = signal(false);\n /** The list of visible steps. */\n protected readonly activeSteps = computed(() => this.computeVisibleSteps());\n private readonly headingKeys = computed(() => this.steps().map(s => s.heading()));\n private readonly maxStepWidth = signal(\n SiWizardComponent.defaultStepWidthEm * SiWizardComponent.fallbackFontSize\n );\n private readonly _index = linkedSignal(() => {\n const currentStep = this._currentStep();\n const currentStepIndex = currentStep ? this.steps().indexOf(currentStep) : 0;\n return currentStepIndex < 0 ? 0 : currentStepIndex;\n });\n private readonly _currentStep = linkedSignal(() => {\n const steps = this.steps();\n const currentActive = steps.find(step => step.isActive());\n if (currentActive) {\n return currentActive;\n } else if (steps.length) {\n untracked(() => steps[0].isActive.set(true));\n return steps[0];\n } else {\n return undefined;\n }\n });\n protected readonly icons = addIcons({\n elementCancel,\n elementChecked,\n elementCheckedFilled,\n elementLeft4,\n elementNotChecked,\n elementRight4,\n elementRadioChecked,\n elementWarningFilled\n });\n\n protected readonly stepsMetadata = computed((): StepMetadata[] => {\n const index = this._index();\n const steps = this.steps();\n\n // O(N) pre-calculation: find the first invalid step from the current index\n let firstInvalidIndex = steps.length;\n for (let i = index; i < steps.length; i++) {\n if (!steps[i].isValid()) {\n firstInvalidIndex = i;\n break;\n }\n }\n\n return steps.map((step, stepIndex) => {\n // canActivate: O(1) per step using pre-calculated firstInvalidIndex\n let canActivate: boolean;\n if (stepIndex < index) {\n canActivate = true;\n } else if (stepIndex === index) {\n canActivate = false;\n } else {\n canActivate = firstInvalidIndex >= stepIndex;\n }\n\n // stateClass\n const stateClass = this.getStateClass(stepIndex, canActivate);\n\n // ariaDisabled\n const ariaDisabled = !canActivate ? 'true' : 'false';\n\n // ariaCurrent\n const ariaCurrent = stepIndex === index ? 'step' : 'false';\n\n // icon\n const icon = this.getState(step, stepIndex);\n\n return { canActivate, stateClass, ariaDisabled, ariaCurrent, icon };\n });\n });\n\n constructor() {\n toObservable(this.headingKeys)\n .pipe(\n switchMap(keys => this.translateService.translateAsync(keys)),\n takeUntilDestroyed()\n )\n .subscribe(translations =>\n this.maxStepWidth.set(this.measureMaxTextWidth(Object.values(translations)))\n );\n }\n\n protected activateStep(event: Event, stepIndex: number): void {\n event.preventDefault();\n if (this.stepsMetadata()[stepIndex].canActivate) {\n if (stepIndex > this.index) {\n this.next(stepIndex - this.index);\n }\n if (stepIndex < this.index) {\n this.back(this.index - stepIndex);\n }\n }\n }\n\n private getStateClass(stepIndex: number, canActivate: boolean): string {\n if (stepIndex === this.index) {\n return 'active';\n }\n if (!canActivate) {\n return 'disabled';\n }\n if (stepIndex < this.index) {\n return 'completed';\n }\n return '';\n }\n\n /**\n * Go to the next wizard step.\n * @param delta - optional number of steps to move forward.\n */\n next(delta: number = 1): void {\n const steps = this.steps();\n const stepIndex = this.index + delta;\n if (stepIndex < steps.length && this.stepsMetadata()[stepIndex].canActivate) {\n const nextStep = steps[stepIndex];\n this.currentStep?.next.emit();\n if (this.currentStep?.isNextNavigable()) {\n this.activate(nextStep);\n this.focusStepContent();\n }\n }\n }\n\n private getState(step: SiWizardStepComponent, stepIndex: number): string {\n if (step.failed() === true) {\n return this.stepFailedIcon();\n }\n const txtStyle = step.isActive() ? this.stepActiveIcon() : this.stepIcon();\n return stepIndex >= this.index ? txtStyle : this.stepCompletedIcon();\n }\n\n /**\n * Go to the previous wizard step.\n * @param delta - optional number of steps to move backwards.\n */\n back(delta: number = 1): void {\n if (this.index === 0) {\n return;\n }\n this.currentStep?.back.emit();\n this.activate(this.steps()[this.index - delta]);\n }\n\n /** Triggers the save action to complete the wizard. */\n save(): void {\n this.currentStep?.save.emit();\n\n if (this.enableCompletionPage() && this.completionPageVisibleTime() > 0) {\n this.showCompletionPage.set(true);\n setTimeout(() => {\n this.showCompletionPage.set(false);\n this.completionAction.emit();\n }, this.completionPageVisibleTime());\n } else {\n this.completionAction.emit();\n }\n }\n\n private activate(step: SiWizardStepComponent): void {\n if (this.currentStep) {\n this.currentStep.isActive.set(false);\n }\n\n step.isActive.set(true);\n this._currentStep.set(step);\n this._index.set(this.steps().indexOf(step));\n }\n\n private focusStepContent(): void {\n afterNextRender(\n async () => {\n const stepElement = this.currentStep?.elementRef.nativeElement as HTMLElement | undefined;\n if (!stepElement) {\n this.focusNavigationButton();\n return;\n }\n\n // A little abuse, we only use the focus trap to focus the first tabable element.\n const focusTrap = this.focusTrapFactory.create(stepElement);\n try {\n const focused = await focusTrap.focusFirstTabbableElementWhenReady();\n if (!focused) {\n this.focusNavigationButton();\n }\n } finally {\n focusTrap.destroy();\n }\n },\n { injector: this.injector }\n );\n }\n\n private focusNavigationButton(): void {\n if (this.index === this.steps().length - 1) {\n this.saveButton()?.nativeElement.focus();\n } else {\n this.nextButton()?.nativeElement.focus();\n }\n }\n\n private measureMaxTextWidth(texts: string[]): number {\n const titleEl =\n this.containerSteps()?.nativeElement.querySelector<HTMLElement>('.title') ?? undefined;\n const fontSize = titleEl\n ? parseFloat(getComputedStyle(titleEl).fontSize)\n : SiWizardComponent.fallbackFontSize;\n const defaultWidth = SiWizardComponent.defaultStepWidthEm * fontSize;\n\n if (texts.length === 0) {\n return defaultWidth;\n }\n\n const minWidth = SiWizardComponent.minStepWidthEm * fontSize;\n const maxWidth = SiWizardComponent.maxStepWidthEm * fontSize;\n\n // Only take texts into account which aren't much shorter than the longest text.\n const maxCharLength = Math.max(...texts.map(text => text.length));\n const candidates = texts.filter(text => text.length >= maxCharLength * 0.8);\n const maxTextWidth = Math.max(\n ...candidates.map(text => this.textMeasureService.measureText(text, titleEl))\n );\n return Math.min(Math.max(maxTextWidth + SiWizardComponent.stepPadding, minWidth), maxWidth);\n }\n\n protected updateVisibleSteps(): void {\n const newVisibleSteps = this.calculateVisibleStepCount();\n if (newVisibleSteps !== this.visibleSteps()) {\n this.visibleSteps.set(newVisibleSteps);\n }\n }\n\n private calculateVisibleStepCount(): number {\n const containerSteps = this.containerSteps();\n if (!containerSteps) {\n return 0;\n }\n if (this.verticalLayout()) {\n const computedStyle = getComputedStyle(containerSteps.nativeElement);\n const clientHeight =\n containerSteps.nativeElement.clientHeight -\n parseInt(computedStyle.paddingBlockStart) -\n parseInt(computedStyle.paddingBlockEnd);\n const stepEl = containerSteps.nativeElement.querySelector('.step');\n const stepHeight = stepEl?.getBoundingClientRect().height ?? 48;\n return Math.max(Math.floor(clientHeight / stepHeight), 1);\n } else {\n const clientWidth = containerSteps.nativeElement.clientWidth;\n return Math.max(Math.floor(clientWidth / this.maxStepWidth()), 1);\n }\n }\n\n private computeVisibleSteps(): StepItem[] {\n const create = (index: number): StepItem => ({ index, step: this.steps()[index] });\n if (this.steps().length === 0) {\n return [];\n } else if (this.visibleSteps() <= 1) {\n return [create(this.index)];\n } else if (this.stepCount <= this.visibleSteps()) {\n return this.steps().map((_, i) => create(i));\n } else {\n const steps = [this.index];\n for (\n let i = 1, left = this.index - 1, right = this.index + 1;\n i < this.visibleSteps();\n right++, left--\n ) {\n // Iterate in both directions to check current step is in visible range.\n if (right < this.stepCount) {\n steps.push(right);\n i++;\n }\n if (left >= 0 && i < this.visibleSteps()) {\n steps.push(left);\n i++;\n }\n }\n\n return steps.sort((l, r) => l - r).map(i => create(i));\n }\n }\n}\n","@if (!showCompletionPage()) {\n @if (!verticalLayout()) {\n <div class=\"container-wizard\" [class.justify-content-center]=\"!inlineNavigation()\">\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"cancelBtnHorizontal\" />\n <ng-container *ngTemplateOutlet=\"backBtnHorizontal\" />\n }\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"nextBtnHorizontal\" />\n }\n </div>\n\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"saveBtn\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"footer\" />\n }\n } @else {\n @if (showVerticalDivider()) {\n <div class=\"container-wizard vertical\">\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n <div class=\"vertical-divider\"></div>\n <div class=\"d-flex flex-column w-100\">\n <div class=\"steps-content\">\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n </div>\n <ng-container *ngTemplateOutlet=\"footer\" />\n </div>\n </div>\n } @else {\n <div class=\"container-wizard vertical\">\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n <div class=\"steps-content\">\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"footer\" />\n }\n }\n} @else {\n <div class=\"text-center\">\n <si-icon class=\"completion-icon-size text-success\" [icon]=\"icons.elementChecked\" />\n <p class=\"si-h4\"> {{ completionText() | translate }}</p>\n </div>\n}\n\n<ng-template #stepsTemplate>\n <div\n #containerSteps\n class=\"container-steps\"\n [class.vertical]=\"verticalLayout()\"\n [class.mx-4]=\"inlineNavigation()\"\n [class.mt-4]=\"!verticalLayout() && inlineNavigation()\"\n (siResizeObserver)=\"updateVisibleSteps()\"\n >\n @for (item of activeSteps(); track item.index) {\n @let meta = stepsMetadata()[item.index];\n <div class=\"step\">\n <div\n [class]=\"['line', 'previous', meta.stateClass]\"\n [class.dashed]=\"$first && item.index > 0\"\n [class.vertical]=\"verticalLayout()\"\n [class.spacer]=\"$first && item.index === 0\"\n ></div>\n <a\n [class]=\"['focus-none', meta.stateClass]\"\n [attr.aria-current]=\"meta.ariaCurrent\"\n [attr.href]=\"!meta.canActivate || !currentStep?.isNextNavigable() ? null : '#'\"\n (click)=\"activateStep($event, item.index)\"\n >\n @if (showStepNumbers() && !item.step.failed()) {\n <div\n class=\"step-icon number-step d-flex justify-content-center align-items-center px-1\"\n >\n <div class=\"circle\" [class.status-warning]=\"item.step.failed()\">\n <span class=\"si-h5 px-2\" [class.completed-color]=\"item.index < index\">\n {{ item.index + 1 }}\n </span>\n </div>\n </div>\n } @else {\n <si-icon\n class=\"icon-lg step-icon\"\n [class.status-warning]=\"item.step.failed()\"\n [icon]=\"meta.icon\"\n />\n }\n <div\n class=\"title si-h5\"\n [class.text-center]=\"!verticalLayout()\"\n [class.px-6]=\"!verticalLayout()\"\n [attr.aria-disabled]=\"meta.ariaDisabled\"\n >{{ item.step.heading() | translate }}</div\n >\n </a>\n @if (item.index + 1 < stepCount) {\n <div\n [class]=\"['line', stepsMetadata()[item.index + 1].stateClass]\"\n [class.vertical]=\"verticalLayout()\"\n [class.dashed]=\"$last\"\n ></div>\n }\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #stepContent>\n <div [class.flex-grow-1]=\"!verticalLayout()\" [class.h-100]=\"verticalLayout()\">\n <ng-content />\n </div>\n</ng-template>\n\n<ng-template #cancelBtnHorizontal>\n @if (hasCancel()) {\n <div class=\"me-7\">\n <div class=\"wizard-btn-container\" (click)=\"wizardCancel.emit()\">\n <button\n type=\"button\"\n class=\"btn btn-circle btn-secondary mt-2 mb-4\"\n [attr.aria-label]=\"cancelText() | translate\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n <div class=\"si-h5 text-accent\">{{ cancelText() | translate }}</div>\n </div>\n </div>\n }\n</ng-template>\n\n<ng-template #footer>\n <div class=\"wizard-footer pt-6\">\n <div class=\"wizard-footer-inner\" [class.ms-6]=\"showVerticalDivider()\">\n @if (hasCancel()) {\n <button\n type=\"button\"\n class=\"btn btn-tertiary\"\n [attr.aria-label]=\"cancelText() | translate\"\n (click)=\"wizardCancel.emit()\"\n >\n {{ cancelText() | translate }}\n </button>\n }\n @if (!hideNavigation()) {\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n [class.d-none]=\"index === 0\"\n [class.end]=\"index !== 0\"\n [attr.aria-label]=\"backText() | translate\"\n (click)=\"back(1)\"\n >\n {{ backText() | translate }}\n </button>\n\n <button\n #nextButton\n type=\"button\"\n class=\"btn btn-primary\"\n [attr.aria-label]=\"nextText() | translate\"\n [disabled]=\"!currentStep?.isValid()\"\n [class.d-none]=\"index === steps().length - 1\"\n [class.end]=\"index === 0\"\n (click)=\"next(1)\"\n >\n {{ nextText() | translate }}\n </button>\n }\n\n @if (!hideSave()) {\n @if (index === steps().length - 1) {\n <button\n #saveButton\n type=\"button\"\n class=\"btn btn-primary save\"\n [class.end]=\"hideNavigation()\"\n [disabled]=\"!currentStep?.isValid() || !currentStep?.isNextNavigable()\"\n (click)=\"save()\"\n >{{ saveText() | translate }}</button\n >\n }\n }\n </div>\n </div>\n</ng-template>\n\n<ng-template #backBtnHorizontal>\n <div class=\"wizard-btn-container\">\n @if (!hideNavigation()) {\n <div class=\"back\" [class.invisible]=\"index === 0\" (click)=\"back(1)\">\n <button\n type=\"button\"\n class=\"btn btn-secondary btn-circle mb-2\"\n [attr.aria-label]=\"backText() | translate\"\n >\n <si-icon class=\"flip-rtl\" [icon]=\"icons.elementLeft4\" />\n </button>\n <div class=\"si-h5 text-accent\">{{ backText() | translate }}</div>\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #nextBtnHorizontal>\n <div class=\"wizard-btn-container\" [class.wizard-text-deactivate]=\"!currentStep?.isValid()\">\n @if (!hideNavigation()) {\n <div class=\"next\" [class.invisible]=\"index === steps().length - 1\" (click)=\"next(1)\">\n <button\n #nextButton\n type=\"button\"\n class=\"btn btn-primary btn-circle mb-2\"\n [disabled]=\"!currentStep?.isValid()\"\n [attr.aria-label]=\"nextText() | translate\"\n >\n <si-icon class=\"flip-rtl\" [icon]=\"icons.elementRight4\" />\n </button>\n <div\n class=\"si-h5 text-accent\"\n [class.text-disabled]=\"!currentStep?.isValid()\"\n [attr.aria-disabled]=\"!currentStep?.isValid()\"\n >{{ nextText() | translate }}</div\n >\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #saveBtn>\n @if (!hideSave()) {\n <div [class.center-save]=\"!verticalLayout() && inlineNavigation()\">\n @if (index === steps().length - 1) {\n <button\n #saveButton\n type=\"button\"\n class=\"btn btn-primary save\"\n [disabled]=\"!currentStep?.isValid() || !currentStep?.isNextNavigable()\"\n (click)=\"save()\"\n >{{ saveText() | translate }}</button\n >\n }\n </div>\n }\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiWizardStepComponent } from './si-wizard-step.component';\nimport { SiWizardComponent } from './si-wizard.component';\n\n@NgModule({\n imports: [SiWizardComponent, SiWizardStepComponent],\n exports: [SiWizardComponent, SiWizardStepComponent]\n})\nexport class SiWizardModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-wizard-step.component';\nexport * from './si-wizard.component';\nexport * from './si-wizard.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ $icon-locate: url('@siemens/element-icons/icons/element-locate.svg');
24
24
  $icon-terrain: url('@siemens/element-icons/icons/element-waters.svg');
25
25
 
26
26
  %base-control {
27
- background: variables.$si-sys-background-3;
27
+ background: variables.$si-sys-color-background-3;
28
28
  }
29
29
 
30
30
  .maplibregl-map {
@@ -231,7 +231,7 @@ $icon-terrain: url('@siemens/element-icons/icons/element-waters.svg');
231
231
  }
232
232
 
233
233
  .maplibregl-ctrl-icon {
234
- background-color: variables.$si-sys-text-accent;
234
+ background-color: variables.$si-sys-color-text-accent;
235
235
  mask-image: $icon-compass;
236
236
  }
237
237
  }
@@ -269,13 +269,13 @@ $icon-terrain: url('@siemens/element-icons/icons/element-waters.svg');
269
269
 
270
270
  &:not(:disabled) {
271
271
  &:hover {
272
- background: variables.$si-sys-background-accent-secondary-hover;
273
- color: variables.$si-sys-text-on-accent-secondary-hover;
272
+ background: variables.$si-sys-color-background-accent-secondary-hover;
273
+ color: variables.$si-sys-color-text-on-accent-secondary-hover;
274
274
  }
275
275
 
276
276
  &:active {
277
- background-color: variables.$si-sys-background-accent-secondary-active;
278
- color: variables.$si-sys-text-on-accent-secondary-active;
277
+ background-color: variables.$si-sys-color-background-accent-secondary-active;
278
+ color: variables.$si-sys-color-text-on-accent-secondary-active;
279
279
  }
280
280
  }
281
281
  }
@@ -283,7 +283,7 @@ $icon-terrain: url('@siemens/element-icons/icons/element-waters.svg');
283
283
 
284
284
  .maplibregl-ctrl button {
285
285
  .maplibregl-ctrl-icon {
286
- background-color: variables.$si-sys-text-accent;
286
+ background-color: variables.$si-sys-color-text-accent;
287
287
  }
288
288
 
289
289
  &.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon {
@@ -326,13 +326,13 @@ $icon-terrain: url('@siemens/element-icons/icons/element-waters.svg');
326
326
  @extend %base-control;
327
327
  padding-block: 0;
328
328
  padding-inline: map.get(variables.$spacers-inline, 3);
329
- color: variables.$si-sys-text-accent;
329
+ color: variables.$si-sys-color-text-accent;
330
330
  margin: 0;
331
331
  }
332
332
 
333
333
  .maplibregl-ctrl-attrib {
334
334
  a {
335
- color: variables.$si-sys-text-accent;
335
+ color: variables.$si-sys-color-text-accent;
336
336
  text-decoration: none;
337
337
 
338
338
  &:hover {
@@ -344,7 +344,7 @@ $icon-terrain: url('@siemens/element-icons/icons/element-waters.svg');
344
344
  @media screen {
345
345
  // Compact more when canvas size <= = 640px forced compact mode
346
346
  &.maplibregl-compact {
347
- background: variables.$si-sys-background-3;
347
+ background: variables.$si-sys-color-background-3;
348
348
 
349
349
  min-block-size: 20px;
350
350
  padding-block: map.get(variables.$spacers-block, 1);
@@ -401,7 +401,7 @@ $icon-terrain: url('@siemens/element-icons/icons/element-waters.svg');
401
401
  display: block;
402
402
  inline-size: 100%;
403
403
  block-size: 100%;
404
- background-color: variables.$si-sys-text-accent;
404
+ background-color: variables.$si-sys-color-text-accent;
405
405
  mask-image: $icon-attribution;
406
406
  mask-repeat: no-repeat;
407
407
  mask-position: center;
@@ -435,10 +435,10 @@ $icon-terrain: url('@siemens/element-icons/icons/element-waters.svg');
435
435
  white-space: nowrap;
436
436
  border-width: medium map.get(variables.$spacers-block, 1) map.get(variables.$spacers-block, 1);
437
437
  border-style: none solid solid;
438
- border-color: variables.$si-sys-border-accent;
438
+ border-color: variables.$si-sys-color-border-accent;
439
439
  padding-block: 0;
440
440
  padding-inline: map.get(variables.$spacers-inline, 2);
441
- color: variables.$si-sys-text-accent;
441
+ color: variables.$si-sys-color-text-accent;
442
442
  box-sizing: border-box;
443
443
  }
444
444
 
@@ -480,53 +480,53 @@ $icon-terrain: url('@siemens/element-icons/icons/element-waters.svg');
480
480
  .maplibregl-popup-anchor-top & {
481
481
  align-self: center;
482
482
  border-block-start: none;
483
- border-block-end-color: variables.$si-sys-background-3;
483
+ border-block-end-color: variables.$si-sys-color-background-3;
484
484
  }
485
485
 
486
486
  .maplibregl-popup-anchor-top-left & {
487
487
  align-self: flex-start;
488
488
  border-block-start: none;
489
489
  border-inline-start: none;
490
- border-block-end-color: variables.$si-sys-background-3;
490
+ border-block-end-color: variables.$si-sys-color-background-3;
491
491
  }
492
492
 
493
493
  .maplibregl-popup-anchor-top-right & {
494
494
  align-self: flex-end;
495
495
  border-block-start: none;
496
496
  border-inline-end: none;
497
- border-block-end-color: variables.$si-sys-background-3;
497
+ border-block-end-color: variables.$si-sys-color-background-3;
498
498
  }
499
499
 
500
500
  .maplibregl-popup-anchor-bottom & {
501
501
  align-self: center;
502
502
  border-block-end: none;
503
- border-block-start-color: variables.$si-sys-background-3;
503
+ border-block-start-color: variables.$si-sys-color-background-3;
504
504
  }
505
505
 
506
506
  .maplibregl-popup-anchor-bottom-left & {
507
507
  align-self: flex-start;
508
508
  border-block-end: none;
509
509
  border-inline-start: none;
510
- border-block-start-color: variables.$si-sys-background-3;
510
+ border-block-start-color: variables.$si-sys-color-background-3;
511
511
  }
512
512
 
513
513
  .maplibregl-popup-anchor-bottom-right & {
514
514
  align-self: flex-end;
515
515
  border-block-end: none;
516
516
  border-inline-end: none;
517
- border-block-start-color: variables.$si-sys-background-3;
517
+ border-block-start-color: variables.$si-sys-color-background-3;
518
518
  }
519
519
 
520
520
  .maplibregl-popup-anchor-left & {
521
521
  align-self: center;
522
522
  border-inline-start: none;
523
- border-inline-end-color: variables.$si-sys-background-3;
523
+ border-inline-end-color: variables.$si-sys-color-background-3;
524
524
  }
525
525
 
526
526
  .maplibregl-popup-anchor-right & {
527
527
  align-self: center;
528
528
  border-inline-end: none;
529
- border-inline-start-color: variables.$si-sys-background-3;
529
+ border-inline-start-color: variables.$si-sys-color-background-3;
530
530
  }
531
531
  }
532
532
 
@@ -543,7 +543,7 @@ $icon-terrain: url('@siemens/element-icons/icons/element-waters.svg');
543
543
  background-color: transparent;
544
544
 
545
545
  &:hover {
546
- background-color: variables.$si-sys-background-accent-secondary-hover;
546
+ background-color: variables.$si-sys-color-background-accent-secondary-hover;
547
547
  }
548
548
  }
549
549
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@siemens/element-ng",
3
3
  "description": "Element Angular component library, implementing the Siemens Design Language",
4
- "version": "51.0.0",
4
+ "version": "51.0.1",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
@@ -47,9 +47,9 @@
47
47
  "@maplibre/ngx-maplibre-gl": "21 - 22",
48
48
  "maplibre-gl": "5 - 6",
49
49
  "@siemens/element-icons": "1",
50
- "@siemens/element-theme": "51.0.0",
51
- "@siemens/element-translate-ng": "51.0.0",
52
- "@siemens/map-styles": "51.0.0",
50
+ "@siemens/element-theme": "51.0.1",
51
+ "@siemens/element-translate-ng": "51.0.1",
52
+ "@siemens/map-styles": "51.0.1",
53
53
  "@siemens/ngx-datatable": "26 - 27",
54
54
  "ag-grid-community": "^34.3.1 || ^35.0.0 || ^36.0.0",
55
55
  "flag-icons": "^7.3.2",