@siemens/element-ng 49.5.0 → 49.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/siemens-element-ng-about.mjs +2 -2
- package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-application-header.mjs +5 -5
- package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-avatar.mjs +2 -2
- package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb.mjs +2 -2
- package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-circle-status.mjs +2 -2
- package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-color-picker.mjs +2 -2
- package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-dashboard.mjs +28 -10
- package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-date-range-filter.mjs +16 -4
- package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datepicker.mjs +13 -9
- package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs +2 -2
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filter-bar.mjs +4 -4
- package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-header-dropdown.mjs +3 -3
- package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-loading-spinner.mjs +19 -11
- package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-modal.mjs +25 -26
- package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs +324 -354
- package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs +4 -4
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-pagination.mjs +5 -2
- package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-pills-input.mjs +2 -2
- package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-side-panel.mjs +8 -5
- package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-bar.mjs +26 -11
- package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs-legacy.mjs +2 -2
- package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs.mjs +10 -10
- package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-toast-notification.mjs +48 -57
- package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-wizard.mjs +88 -53
- package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
- package/package.json +4 -4
- package/schematics/migrations/data/class-member-replacement.js +5 -0
- package/schematics/migrations/data/migration-test-data.js +5 -0
- package/schematics/migrations/utilities/class-member-replacement.migration.js +29 -1
- package/template-i18n.json +1 -0
- package/types/siemens-element-ng-dashboard.d.ts +4 -1
- package/types/siemens-element-ng-date-range-filter.d.ts +10 -1
- package/types/siemens-element-ng-loading-spinner.d.ts +4 -2
- package/types/siemens-element-ng-navbar-vertical-next.d.ts +163 -171
- package/types/siemens-element-ng-side-panel.d.ts +2 -0
- package/types/siemens-element-ng-status-bar.d.ts +8 -5
- package/types/siemens-element-ng-toast-notification.d.ts +4 -8
- package/types/siemens-element-ng-translate.d.ts +1 -0
- package/types/siemens-element-ng-wizard.d.ts +23 -5
|
@@ -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 ChangeDetectionStrategy,\n Component,\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 changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiWizardStepComponent {\n /** @defaultValue '' */\n readonly heading = input<TranslatableString>('');\n /** @defaultValue true */\n readonly isValid = input(true, { transform: booleanAttribute });\n /** @defaultValue true */\n readonly isNextNavigable = input(true, { transform: booleanAttribute });\n /** @defaultValue false */\n readonly failed = input(false, { transform: booleanAttribute });\n\n readonly next = output();\n readonly back = output();\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 { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChildren,\n ElementRef,\n input,\n linkedSignal,\n output,\n signal,\n untracked,\n viewChild\n} from '@angular/core';\nimport {\n elementCancel,\n elementChecked,\n elementCheckedFilled,\n elementLeft4,\n elementNotChecked,\n elementRadioChecked,\n elementRight4,\n elementWarningFilled\n} from '@siemens/element-icons';\nimport { WebComponentContentChildren } from '@siemens/element-ng/common';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiResizeObserverDirective } from '@siemens/element-ng/resize-observer';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\n\nimport { SiWizardStepComponent } from './si-wizard-step.component';\n\ninterface StepItem {\n index: number;\n step: SiWizardStepComponent;\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 changeDetection: ChangeDetectionStrategy.OnPush,\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 protected readonly containerSteps = viewChild<ElementRef<HTMLDivElement>>('containerSteps');\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\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 canActivate(stepIndex: number): boolean {\n if (stepIndex < 0) {\n return false;\n }\n // Can always activate previous steps\n if (stepIndex < this.index) {\n return true;\n }\n // We are already in the step. Nothing to activate.\n if (stepIndex === this.index) {\n return false;\n }\n // Fast-forward: check all steps if they are valid\n for (let i = this.index; i < stepIndex; i++) {\n const theStep = this.steps()[i];\n if (!theStep.isValid()) {\n return false;\n }\n }\n return true;\n }\n\n protected activateStep(event: Event, stepIndex: number): void {\n event.preventDefault();\n if (this.canActivate(stepIndex)) {\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 protected getStateClass(stepIndex: number): string {\n if (stepIndex === this.index) {\n return 'active';\n }\n if (!this.canActivate(stepIndex)) {\n return 'disabled';\n }\n if (stepIndex < this.index) {\n return 'completed';\n }\n return '';\n }\n\n protected getAriaDisabled(stepIndex: number): string {\n if (!this.canActivate(stepIndex)) {\n return 'true';\n }\n return 'false';\n }\n\n protected getAriaCurrent(stepIndex: number): string {\n if (stepIndex === this.index) {\n return 'step';\n }\n return 'false';\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 if (this.index === steps.length - 1) {\n return;\n }\n const stepIndex = this.index + delta;\n const nextStep = steps[stepIndex];\n if (this.canActivate(stepIndex)) {\n this.currentStep?.next.emit();\n if (this.currentStep?.isNextNavigable()) {\n this.activate(nextStep);\n }\n }\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 protected 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 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 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 return Math.max(Math.floor(clientHeight / 48), 1);\n } else {\n const clientWidth = containerSteps.nativeElement.clientWidth;\n return Math.max(Math.floor(clientWidth / 150), 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 <div class=\"step\">\n <div\n [class]=\"['line', 'previous', getStateClass(item.index)]\"\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', getStateClass(item.index)]\"\n [attr.aria-current]=\"getAriaCurrent(item.index)\"\n [attr.href]=\"!canActivate(item.index) || !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]=\"getState(item.step!, item.index)\"\n />\n }\n <div\n class=\"title si-h5\"\n [class.text-center]=\"!verticalLayout()\"\n [class.px-6]=\"!verticalLayout()\"\n [attr.aria-disabled]=\"getAriaDisabled(item.index)\"\n >{{ item.step.heading() | translate }}</div\n >\n </a>\n @if (item.index + 1 < stepCount) {\n <div\n [class]=\"['line', getStateClass(item.index + 1)]\"\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-primary\">{{ 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 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 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-primary\">{{ 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 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-primary\"\n [class.text-muted]=\"!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 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 ChangeDetectionStrategy,\n Component,\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 changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiWizardStepComponent {\n /** @defaultValue '' */\n readonly heading = input<TranslatableString>('');\n /** @defaultValue true */\n readonly isValid = input(true, { transform: booleanAttribute });\n /** @defaultValue true */\n readonly isNextNavigable = input(true, { transform: booleanAttribute });\n /** @defaultValue false */\n readonly failed = input(false, { transform: booleanAttribute });\n\n readonly next = output();\n readonly back = output();\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 { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChildren,\n ElementRef,\n inject,\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 changeDetection: ChangeDetectionStrategy.OnPush,\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\n protected readonly containerSteps = viewChild<ElementRef<HTMLDivElement>>('containerSteps');\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 }\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 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-primary\">{{ 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 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 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-primary\">{{ 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 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-primary\"\n [class.text-muted]=\"!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 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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"}
|
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": "49.
|
|
4
|
+
"version": "49.7.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -43,10 +43,10 @@
|
|
|
43
43
|
"@ngx-formly/bootstrap": "^6.2.2",
|
|
44
44
|
"@ngx-formly/core": "^6.2.2",
|
|
45
45
|
"@siemens/element-icons": "1",
|
|
46
|
-
"@siemens/element-translate-ng": "49.
|
|
47
|
-
"@siemens/element-theme": "49.
|
|
46
|
+
"@siemens/element-translate-ng": "49.7.0",
|
|
47
|
+
"@siemens/element-theme": "49.7.0",
|
|
48
48
|
"@siemens/ngx-datatable": "22 - 26",
|
|
49
|
-
"ag-grid-community": "^34.3.1",
|
|
49
|
+
"ag-grid-community": "^34.3.1 || ^35.0.0",
|
|
50
50
|
"flag-icons": "^7.3.2",
|
|
51
51
|
"google-libphonenumber": "^3.2.40",
|
|
52
52
|
"ngx-image-cropper": "^9.0.0"
|
|
@@ -14,5 +14,10 @@ export const CLASS_MEMBER_REPLACEMENTS_MIGRATION = [
|
|
|
14
14
|
{ property: 'isXl', replacement: '${expression}.xl()' },
|
|
15
15
|
{ property: 'isXxl', replacement: '${expression}.xxl()' }
|
|
16
16
|
]
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
module: /@(siemens|simpl)\/element-ng(\/modal)?/,
|
|
20
|
+
typeNames: ['ModalOptions'],
|
|
21
|
+
propertyReplacements: [{ property: 'initialState', replacement: '${expression}.inputValues' }]
|
|
17
22
|
}
|
|
18
23
|
];
|
|
@@ -210,6 +210,11 @@ const CLASS_MEMBER_REPLACEMENTS_MIGRATION = [
|
|
|
210
210
|
{ property: 'isXl', replacement: '${expression}.xl()' },
|
|
211
211
|
{ property: 'isXxl', replacement: '${expression}.xxl()' }
|
|
212
212
|
]
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
module: /@(siemens|simpl)\/element-ng(\/modal)?/,
|
|
216
|
+
typeNames: ['ModalOptions'],
|
|
217
|
+
propertyReplacements: [{ property: 'initialState', replacement: '${expression}.inputValues' }]
|
|
213
218
|
}
|
|
214
219
|
];
|
|
215
220
|
const ELEMENT_CLASS_CHANGES_MIGRATION = [
|
|
@@ -36,7 +36,7 @@ const classMemberReplacements = ({ recorder, sourceFile, instruction, typeChecke
|
|
|
36
36
|
return;
|
|
37
37
|
}
|
|
38
38
|
const replacementsToMake = [];
|
|
39
|
-
// Visit all nodes to find property access expressions
|
|
39
|
+
// Visit all nodes to find property access expressions and property assignments
|
|
40
40
|
const visit = (node) => {
|
|
41
41
|
if (ts.isPropertyAccessExpression(node) && ts.isIdentifier(node.name)) {
|
|
42
42
|
try {
|
|
@@ -63,6 +63,34 @@ const classMemberReplacements = ({ recorder, sourceFile, instruction, typeChecke
|
|
|
63
63
|
// Ignore type checking errors
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
|
+
// Handle property assignments in object literals (e.g. { initialState: value })
|
|
67
|
+
if (ts.isPropertyAssignment(node) &&
|
|
68
|
+
ts.isIdentifier(node.name) &&
|
|
69
|
+
ts.isObjectLiteralExpression(node.parent)) {
|
|
70
|
+
try {
|
|
71
|
+
const contextualType = typeChecker.getContextualType(node.parent);
|
|
72
|
+
const typeName = contextualType?.symbol?.name;
|
|
73
|
+
if (typeName && instruction.typeNames.includes(typeName)) {
|
|
74
|
+
const propertyName = node.name.text;
|
|
75
|
+
const replacement = instruction.propertyReplacements.find(r => r.property === propertyName);
|
|
76
|
+
if (replacement) {
|
|
77
|
+
// Extract the new property name from the replacement template.
|
|
78
|
+
// Only apply for simple renames (e.g. '${expression}.inputValues' -> 'inputValues').
|
|
79
|
+
const match = replacement.replacement.match(/^\$\{expression\}\.(\w+)$/);
|
|
80
|
+
if (match) {
|
|
81
|
+
replacementsToMake.push({
|
|
82
|
+
start: node.name.getStart(sourceFile),
|
|
83
|
+
end: node.name.getEnd(),
|
|
84
|
+
text: match[1]
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
// Ignore type checking errors
|
|
92
|
+
}
|
|
93
|
+
}
|
|
66
94
|
ts.forEachChild(node, visit);
|
|
67
95
|
};
|
|
68
96
|
visit(sourceFile);
|
package/template-i18n.json
CHANGED
|
@@ -67,6 +67,7 @@
|
|
|
67
67
|
"SI_DATE_RANGE_FILTER.RANGE": "Range",
|
|
68
68
|
"SI_DATE_RANGE_FILTER.REF_POINT": "Reference point",
|
|
69
69
|
"SI_DATE_RANGE_FILTER.SEARCH": "Search",
|
|
70
|
+
"SI_DATE_RANGE_FILTER.SELECT_RANGE_END": "Select end date",
|
|
70
71
|
"SI_DATE_RANGE_FILTER.TO": "To",
|
|
71
72
|
"SI_DATE_RANGE_FILTER.TODAY": "Today",
|
|
72
73
|
"SI_DATE_RANGE_FILTER.UNIT": "Unit",
|
|
@@ -292,6 +292,7 @@ type SortOrder = 'ASC' | 'DSC';
|
|
|
292
292
|
* used for composition within other components.
|
|
293
293
|
*/
|
|
294
294
|
declare class SiListWidgetBodyComponent extends SiWidgetBaseDirective<SiListWidgetItem[]> implements OnChanges {
|
|
295
|
+
private readonly translateService;
|
|
295
296
|
/** Optional footer link for the list widget */
|
|
296
297
|
readonly link: _angular_core.InputSignal<Link | undefined>;
|
|
297
298
|
/**
|
|
@@ -302,7 +303,7 @@ declare class SiListWidgetBodyComponent extends SiWidgetBaseDirective<SiListWidg
|
|
|
302
303
|
* t(() => $localize`:@@SI_LIST_WIDGET.SEARCH_PLACEHOLDER:Search...`)
|
|
303
304
|
* ```
|
|
304
305
|
*/
|
|
305
|
-
readonly searchPlaceholderLabel: _angular_core.InputSignal<
|
|
306
|
+
readonly searchPlaceholderLabel: _angular_core.InputSignal<TranslatableString>;
|
|
306
307
|
/**
|
|
307
308
|
* Enable ascending and descending SiListWidgetItem sorting. If enabled,
|
|
308
309
|
* items are initially ascending sorted.
|
|
@@ -368,6 +369,8 @@ declare class SiListWidgetBodyComponent extends SiWidgetBaseDirective<SiListWidg
|
|
|
368
369
|
readonly numberOfLinks: _angular_core.InputSignal<number>;
|
|
369
370
|
/** Used to display the defined number of ghost items */
|
|
370
371
|
protected readonly ghosts: _angular_core.Signal<any[]>;
|
|
372
|
+
/** Replica of value with pre-translated labels, recomputed when value or language changes. */
|
|
373
|
+
private readonly translatedItems;
|
|
371
374
|
/** Holds the list items that are displayed. May be filtered and sorted. */
|
|
372
375
|
protected readonly filteredListWidgetItems: _angular_core.Signal<SiListWidgetItem[] | undefined>;
|
|
373
376
|
protected readonly searchText: _angular_core.ModelSignal<string>;
|
|
@@ -257,6 +257,15 @@ declare class SiDateRangeFilterComponent implements OnChanges {
|
|
|
257
257
|
* ```
|
|
258
258
|
*/
|
|
259
259
|
readonly applyLabel: _angular_core.InputSignal<_siemens_element_translate_ng_translate.TranslatableString>;
|
|
260
|
+
/**
|
|
261
|
+
* label for the "select end date" in preview
|
|
262
|
+
*
|
|
263
|
+
* @defaultValue
|
|
264
|
+
* ```
|
|
265
|
+
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.SELECT_RANGE_END:Select end date`)
|
|
266
|
+
* ```
|
|
267
|
+
*/
|
|
268
|
+
readonly rangeEndDateMissingLabel: _angular_core.InputSignal<_siemens_element_translate_ng_translate.TranslatableString>;
|
|
260
269
|
/** Event fired when the apply button has been clicked */
|
|
261
270
|
readonly applyClicked: _angular_core.OutputEmitterRef<void>;
|
|
262
271
|
/** Base configuration on how the dates should be displayed, parts of it may be overwritten internally. */
|
|
@@ -293,7 +302,7 @@ declare class SiDateRangeFilterComponent implements OnChanges {
|
|
|
293
302
|
protected point2Changed(): void;
|
|
294
303
|
protected selectPresetItem(event: Event, item: DateRangePreset): void;
|
|
295
304
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiDateRangeFilterComponent, never>;
|
|
296
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiDateRangeFilterComponent, "si-date-range-filter", never, { "range": { "alias": "range"; "required": true; "isSignal": true; }; "presetList": { "alias": "presetList"; "required": false; "isSignal": true; }; "presetSearch": { "alias": "presetSearch"; "required": false; "isSignal": true; }; "enableTimeSelection": { "alias": "enableTimeSelection"; "required": false; "isSignal": true; }; "basicMode": { "alias": "basicMode"; "required": false; "isSignal": true; }; "reverseInputFields": { "alias": "reverseInputFields"; "required": false; "isSignal": true; }; "showApplyButton": { "alias": "showApplyButton"; "required": false; "isSignal": true; }; "hideAdvancedMode": { "alias": "hideAdvancedMode"; "required": false; "isSignal": true; }; "refLabel": { "alias": "refLabel"; "required": false; "isSignal": true; }; "fromLabel": { "alias": "fromLabel"; "required": false; "isSignal": true; }; "toLabel": { "alias": "toLabel"; "required": false; "isSignal": true; }; "rangeLabel": { "alias": "rangeLabel"; "required": false; "isSignal": true; }; "todayLabel": { "alias": "todayLabel"; "required": false; "isSignal": true; }; "nowLabel": { "alias": "nowLabel"; "required": false; "isSignal": true; }; "dateLabel": { "alias": "dateLabel"; "required": false; "isSignal": true; }; "previewLabel": { "alias": "previewLabel"; "required": false; "isSignal": true; }; "datePlaceholder": { "alias": "datePlaceholder"; "required": false; "isSignal": true; }; "beforeLabel": { "alias": "beforeLabel"; "required": false; "isSignal": true; }; "afterLabel": { "alias": "afterLabel"; "required": false; "isSignal": true; }; "withinLabel": { "alias": "withinLabel"; "required": false; "isSignal": true; }; "valueLabel": { "alias": "valueLabel"; "required": false; "isSignal": true; }; "unitLabel": { "alias": "unitLabel"; "required": false; "isSignal": true; }; "searchLabel": { "alias": "searchLabel"; "required": false; "isSignal": true; }; "presetLabel": { "alias": "presetLabel"; "required": false; "isSignal": true; }; "advancedLabel": { "alias": "advancedLabel"; "required": false; "isSignal": true; }; "applyLabel": { "alias": "applyLabel"; "required": false; "isSignal": true; }; "datepickerConfig": { "alias": "datepickerConfig"; "required": false; "isSignal": true; }; }, { "range": "rangeChange"; "applyClicked": "applyClicked"; }, never, never, true, never>;
|
|
305
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiDateRangeFilterComponent, "si-date-range-filter", never, { "range": { "alias": "range"; "required": true; "isSignal": true; }; "presetList": { "alias": "presetList"; "required": false; "isSignal": true; }; "presetSearch": { "alias": "presetSearch"; "required": false; "isSignal": true; }; "enableTimeSelection": { "alias": "enableTimeSelection"; "required": false; "isSignal": true; }; "basicMode": { "alias": "basicMode"; "required": false; "isSignal": true; }; "reverseInputFields": { "alias": "reverseInputFields"; "required": false; "isSignal": true; }; "showApplyButton": { "alias": "showApplyButton"; "required": false; "isSignal": true; }; "hideAdvancedMode": { "alias": "hideAdvancedMode"; "required": false; "isSignal": true; }; "refLabel": { "alias": "refLabel"; "required": false; "isSignal": true; }; "fromLabel": { "alias": "fromLabel"; "required": false; "isSignal": true; }; "toLabel": { "alias": "toLabel"; "required": false; "isSignal": true; }; "rangeLabel": { "alias": "rangeLabel"; "required": false; "isSignal": true; }; "todayLabel": { "alias": "todayLabel"; "required": false; "isSignal": true; }; "nowLabel": { "alias": "nowLabel"; "required": false; "isSignal": true; }; "dateLabel": { "alias": "dateLabel"; "required": false; "isSignal": true; }; "previewLabel": { "alias": "previewLabel"; "required": false; "isSignal": true; }; "datePlaceholder": { "alias": "datePlaceholder"; "required": false; "isSignal": true; }; "beforeLabel": { "alias": "beforeLabel"; "required": false; "isSignal": true; }; "afterLabel": { "alias": "afterLabel"; "required": false; "isSignal": true; }; "withinLabel": { "alias": "withinLabel"; "required": false; "isSignal": true; }; "valueLabel": { "alias": "valueLabel"; "required": false; "isSignal": true; }; "unitLabel": { "alias": "unitLabel"; "required": false; "isSignal": true; }; "searchLabel": { "alias": "searchLabel"; "required": false; "isSignal": true; }; "presetLabel": { "alias": "presetLabel"; "required": false; "isSignal": true; }; "advancedLabel": { "alias": "advancedLabel"; "required": false; "isSignal": true; }; "applyLabel": { "alias": "applyLabel"; "required": false; "isSignal": true; }; "rangeEndDateMissingLabel": { "alias": "rangeEndDateMissingLabel"; "required": false; "isSignal": true; }; "datepickerConfig": { "alias": "datepickerConfig"; "required": false; "isSignal": true; }; }, { "range": "rangeChange"; "applyClicked": "applyClicked"; }, never, never, true, never>;
|
|
297
306
|
}
|
|
298
307
|
|
|
299
308
|
declare class SiDateRangeFilterModule {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { InjectionToken, OnInit, OnChanges, OnDestroy } from '@angular/core';
|
|
2
|
+
import { InjectionToken, OnInit, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
|
|
3
3
|
import * as _siemens_element_translate_ng_translate from '@siemens/element-translate-ng/translate';
|
|
4
4
|
import { TranslatableString } from '@siemens/element-translate-ng/translate';
|
|
5
5
|
import * as rxjs from 'rxjs';
|
|
@@ -93,11 +93,13 @@ declare class SiLoadingSpinnerDirective implements OnInit, OnChanges, OnDestroy
|
|
|
93
93
|
private minSpinTime;
|
|
94
94
|
private portalOutlet?;
|
|
95
95
|
private readonly compPortal;
|
|
96
|
+
private compPortalRef;
|
|
96
97
|
protected readonly spinner$: rxjs.Observable<boolean>;
|
|
97
98
|
private createPortal;
|
|
98
99
|
ngOnInit(): void;
|
|
99
|
-
ngOnChanges(): void;
|
|
100
|
+
ngOnChanges(changes: SimpleChanges<this>): void;
|
|
100
101
|
ngOnDestroy(): void;
|
|
102
|
+
private createPortalInjector;
|
|
101
103
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiLoadingSpinnerDirective, never>;
|
|
102
104
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SiLoadingSpinnerDirective, "[siLoading]", never, { "siLoading": { "alias": "siLoading"; "required": true; "isSignal": true; }; "blocking": { "alias": "blocking"; "required": false; "isSignal": true; }; "initialDelay": { "alias": "initialDelay"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
103
105
|
}
|