@siemens/element-ng 48.0.0-next.2 → 48.0.0-next.3
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/card/index.d.ts +0 -1
- package/content-action-bar/index.d.ts +3 -4
- package/fesm2022/siemens-element-ng-about.mjs +4 -4
- package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-accordion.mjs +4 -4
- package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-action-modal.mjs +9 -9
- package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-application-header.mjs +29 -29
- package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-avatar.mjs +4 -4
- package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-badge.mjs +5 -5
- package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +2 -2
- package/fesm2022/siemens-element-ng-breadcrumb-router.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb.mjs +4 -4
- package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-card.mjs +0 -1
- package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-circle-status.mjs +3 -3
- package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-color-picker.mjs +4 -4
- package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +7 -7
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-content-action-bar.mjs +9 -14
- package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-dashboard.mjs +14 -14
- package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-date-range-filter.mjs +4 -4
- package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datepicker.mjs +12 -12
- package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs +3 -3
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-empty-state.mjs +3 -3
- package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-file-uploader.mjs +6 -6
- package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filtered-search.mjs +7 -7
- package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-formly.mjs +5 -5
- package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-help-button.mjs +6 -6
- package/fesm2022/siemens-element-ng-help-button.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-icon-status.mjs +3 -3
- package/fesm2022/siemens-element-ng-icon-status.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-icon.mjs +207 -171
- package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-info-page.mjs +3 -3
- package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-menu.mjs +10 -10
- package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-number-input.mjs +4 -4
- package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-pagination.mjs +3 -3
- package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-password-toggle.mjs +4 -4
- package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-phone-number.mjs +4 -4
- package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-photo-upload.mjs +4 -4
- package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-pills-input.mjs +4 -4
- package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-popover-next.mjs +4 -4
- package/fesm2022/siemens-element-ng-popover-next.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-popover.mjs +3 -3
- package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-result-details-list.mjs +3 -3
- package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-search-bar.mjs +4 -4
- package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-select.mjs +13 -18
- package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-side-panel.mjs +4 -4
- package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-slider.mjs +4 -4
- package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-sort-bar.mjs +3 -3
- package/fesm2022/siemens-element-ng-sort-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-split.mjs +4 -4
- package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-bar.mjs +7 -7
- package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-toggle.mjs +4 -4
- package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-summary-chip.mjs +3 -3
- package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-summary-widget.mjs +3 -3
- package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs-next.mjs +7 -7
- package/fesm2022/siemens-element-ng-tabs-next.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs.mjs +3 -3
- package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-threshold.mjs +10 -18
- package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-toast-notification.mjs +5 -9
- package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tour.mjs +4 -4
- package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-typeahead.mjs +4 -4
- package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-unauthorized-page.mjs +3 -3
- package/fesm2022/siemens-element-ng-unauthorized-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-wizard.mjs +4 -10
- package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
- package/formly/index.d.ts +1 -1
- package/icon/index.d.ts +108 -72
- package/package.json +7 -7
|
@@ -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 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n input,\n output,\n signal\n} from '@angular/core';\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('');\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 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgClass, 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 { WebComponentContentChildren } from '@siemens/element-ng/common';\nimport {\n addIcons,\n elementCancel,\n elementChecked,\n elementCheckedFilled,\n elementLeft4,\n elementNotChecked,\n elementRadioChecked,\n elementRight4,\n elementWarningFilled,\n SiIconNextComponent\n} 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: [\n NgClass,\n SiIconNextComponent,\n SiResizeObserverDirective,\n SiTranslatePipe,\n NgTemplateOutlet\n ],\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-next class=\"completion-icon-size text-success\" [icon]=\"icons.elementChecked\" />\n <p class=\"si-title-1\"> {{ 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\"\n [class.dashed]=\"$first && item.index > 0\"\n [class.vertical]=\"verticalLayout()\"\n [class.spacer]=\"$first && item.index === 0\"\n [ngClass]=\"getStateClass(item.index)\"\n ></div>\n <a\n class=\"focus-none\"\n [ngClass]=\"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-title-2 px-2\" [class.completed-color]=\"item.index < index\">\n {{ item.index + 1 }}\n </span>\n </div>\n </div>\n } @else {\n <si-icon-next\n class=\"icon step-icon\"\n [class.status-warning]=\"item.step.failed()\"\n [icon]=\"getState(item.step!, item.index)\"\n />\n }\n <div\n class=\"title si-title-2\"\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\"\n [class.vertical]=\"verticalLayout()\"\n [ngClass]=\"getStateClass(item.index + 1)\"\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-sm btn-circle btn-secondary mt-2 mb-4\"\n [attr.aria-label]=\"cancelText() | translate\"\n >\n <si-icon-next [icon]=\"icons.elementCancel\" />\n </button>\n <div class=\"si-title-2 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 [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-next class=\"flip-rtl\" [icon]=\"icons.elementLeft4\" />\n </button>\n <div class=\"si-title-2 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-next class=\"flip-rtl\" [icon]=\"icons.elementRight4\" />\n </button>\n <div\n class=\"si-title-2 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 - 2025\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 - 2025\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 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n input,\n output,\n signal\n} from '@angular/core';\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('');\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 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgClass, 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 { WebComponentContentChildren } from '@siemens/element-ng/common';\nimport {\n addIcons,\n elementCancel,\n elementChecked,\n elementCheckedFilled,\n elementLeft4,\n elementNotChecked,\n elementRadioChecked,\n elementRight4,\n elementWarningFilled,\n SiIconComponent\n} 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: [NgClass, 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-title-1\"> {{ 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\"\n [class.dashed]=\"$first && item.index > 0\"\n [class.vertical]=\"verticalLayout()\"\n [class.spacer]=\"$first && item.index === 0\"\n [ngClass]=\"getStateClass(item.index)\"\n ></div>\n <a\n class=\"focus-none\"\n [ngClass]=\"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-title-2 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 step-icon\"\n [class.status-warning]=\"item.step.failed()\"\n [icon]=\"getState(item.step!, item.index)\"\n />\n }\n <div\n class=\"title si-title-2\"\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\"\n [class.vertical]=\"verticalLayout()\"\n [ngClass]=\"getStateClass(item.index + 1)\"\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-sm 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-title-2 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 [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-title-2 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-title-2 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 - 2025\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 - 2025\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/formly/index.d.ts
CHANGED
|
@@ -163,7 +163,7 @@ declare class SiFormlyObjectPlainComponent extends FieldType {
|
|
|
163
163
|
}
|
|
164
164
|
|
|
165
165
|
declare class SiFormlyObjectTabsetComponent extends FieldType {
|
|
166
|
-
protected tabIndexChange(selectedTab: number): void;
|
|
166
|
+
protected tabIndexChange(isActive: boolean, selectedTab: number): void;
|
|
167
167
|
static ɵfac: i0.ɵɵFactoryDeclaration<SiFormlyObjectTabsetComponent, never>;
|
|
168
168
|
static ɵcmp: i0.ɵɵComponentDeclaration<SiFormlyObjectTabsetComponent, "si-formly-object-tabset", never, {}, {}, never, never, true, never>;
|
|
169
169
|
}
|
package/icon/index.d.ts
CHANGED
|
@@ -1,30 +1,71 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
2
|
+
import { Provider, InjectionToken } from '@angular/core';
|
|
3
|
+
import * as _angular_platform_browser from '@angular/platform-browser';
|
|
4
4
|
import * as _siemens_element_ng_common from '@siemens/element-ng/common';
|
|
5
5
|
import { StatusIcon, EntityStatusType } from '@siemens/element-ng/common';
|
|
6
|
-
import
|
|
6
|
+
import { TranslatableString } from '@siemens/element-translate-ng/translate';
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* Global configuration for icons.
|
|
10
|
+
*
|
|
11
|
+
* @experimental
|
|
12
|
+
*/
|
|
13
|
+
interface IconConfig {
|
|
14
|
+
/**
|
|
15
|
+
* If true, the si-icon component will always render the icon font instead of the svg.
|
|
16
|
+
*
|
|
17
|
+
* @defaultValue true
|
|
18
|
+
*/
|
|
19
|
+
disableSvgIcons?: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Configure how Element handles icons. Provide only once in your global configuration.
|
|
23
|
+
*
|
|
24
|
+
* @experimental
|
|
25
|
+
*/
|
|
26
|
+
declare const provideIconConfig: (config: IconConfig) => Provider;
|
|
27
|
+
/**
|
|
28
|
+
* Component to render a font or SVG icon depending on the configuration.
|
|
29
|
+
* If no SVG icon is found, the component will fall back to render the icon-font.
|
|
30
|
+
* In that case, an application must ensure that the icon font is loaded.
|
|
31
|
+
* This component will only attach the respective class.
|
|
32
|
+
*
|
|
33
|
+
* The content of this component is hidden in the a11y tree.
|
|
34
|
+
* If needed, the consumer must set proper labels.
|
|
35
|
+
*
|
|
36
|
+
* @experimental
|
|
37
|
+
*/
|
|
8
38
|
declare class SiIconComponent {
|
|
9
|
-
/** Icon token, see {@link https://element.siemens.io/icons/element} */
|
|
10
|
-
readonly icon: _angular_core.InputSignal<string | undefined>;
|
|
11
|
-
/** Color class, see {@link https://element.siemens.io/fundamentals/typography/#color-variants-classes} */
|
|
12
|
-
readonly color: _angular_core.InputSignal<string | undefined>;
|
|
13
|
-
/** Icon token, see {@link https://element.siemens.io/fundamentals/icons/} */
|
|
14
|
-
readonly stackedIcon: _angular_core.InputSignal<string | undefined>;
|
|
15
|
-
/** Color class, see {@link https://element.siemens.io/fundamentals/icons/} */
|
|
16
|
-
readonly stackedColor: _angular_core.InputSignal<string | undefined>;
|
|
17
|
-
/** Alternative name or translation key for icon. Used for A11y. */
|
|
18
|
-
readonly alt: _angular_core.InputSignal<TranslatableString | undefined>;
|
|
19
39
|
/**
|
|
20
|
-
*
|
|
40
|
+
* Define which icon should be rendered.
|
|
41
|
+
* Provide using:
|
|
42
|
+
* - value of the icon map provided by `addIcons`
|
|
43
|
+
* - (not recommended): plain string in kebab-case or camelCase
|
|
21
44
|
*
|
|
22
|
-
* @
|
|
45
|
+
* @example
|
|
46
|
+
* ```ts
|
|
47
|
+
* import { elementUser } from '@simpl/element-icons/ionic';
|
|
48
|
+
*
|
|
49
|
+
* @Component({template: `
|
|
50
|
+
* <si-icon [icon]="icons.elementUser" />
|
|
51
|
+
* <si-icon icon="element-user" />
|
|
52
|
+
* <si-icon icon="elementUser" />
|
|
53
|
+
*
|
|
54
|
+
* `})
|
|
55
|
+
* class MyComponent {
|
|
56
|
+
* icons = addIcons(elementUser);
|
|
57
|
+
* }
|
|
58
|
+
* ```
|
|
23
59
|
*/
|
|
24
|
-
readonly
|
|
25
|
-
|
|
60
|
+
readonly icon: _angular_core.InputSignal<string>;
|
|
61
|
+
private readonly config;
|
|
62
|
+
private readonly iconService;
|
|
63
|
+
protected readonly svgIcon: _angular_core.Signal<_angular_platform_browser.SafeHtml | undefined>;
|
|
64
|
+
/** Icon class, which is ensured to be kebab-case. */
|
|
65
|
+
protected readonly fontIcon: _angular_core.Signal<string | undefined>;
|
|
66
|
+
private camelToKebabCase;
|
|
26
67
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiIconComponent, never>;
|
|
27
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiIconComponent, "si-icon", never, { "icon": { "alias": "icon"; "required":
|
|
68
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiIconComponent, "si-icon", never, { "icon": { "alias": "icon"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
28
69
|
}
|
|
29
70
|
|
|
30
71
|
declare class SiIconModule {
|
|
@@ -70,7 +111,7 @@ declare const STATUS_ICON_CONFIG: InjectionToken<{
|
|
|
70
111
|
* import { elementIcon } from '@simpl/element-icons/ionic';
|
|
71
112
|
* import { addIcons } from '@siemens/element-ng/icon'
|
|
72
113
|
*
|
|
73
|
-
* @Component({`<si-icon
|
|
114
|
+
* @Component({`<si-icon [icon]="icons.elementIcon"`})
|
|
74
115
|
* class MyComponent {
|
|
75
116
|
* icons = addIcons({ elementIcon })
|
|
76
117
|
* }
|
|
@@ -79,66 +120,61 @@ declare const STATUS_ICON_CONFIG: InjectionToken<{
|
|
|
79
120
|
declare const addIcons: <T extends string>(icons: Record<T, string>) => Record<T, string>;
|
|
80
121
|
|
|
81
122
|
/**
|
|
82
|
-
*
|
|
123
|
+
* @deprecated This component should no longer be used.
|
|
124
|
+
* Use the {@link SiIconComponent} instead.
|
|
125
|
+
* Existing usages can be replaced as follows:
|
|
83
126
|
*
|
|
84
|
-
*
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
* @defaultValue true
|
|
91
|
-
*/
|
|
92
|
-
disableSvgIcons?: boolean;
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Configure how Element handles icons. Provide only once in your global configuration.
|
|
127
|
+
* ```html
|
|
128
|
+
* <!-- before -->
|
|
129
|
+
* <si-icon icon="element-user" color="text-danger" />
|
|
130
|
+
* <!-- after -->
|
|
131
|
+
* <si-icon icon="element-user" class="icon text-danger" />
|
|
132
|
+
* ```
|
|
96
133
|
*
|
|
97
|
-
*
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* Component to render a font or SVG icon depending on the configuration.
|
|
102
|
-
* If no SVG icon is found, the component will fall back to render the icon-font.
|
|
103
|
-
* In that case, an application must ensure that the icon font is loaded.
|
|
104
|
-
* This component will only attach the respective class.
|
|
134
|
+
* **Important:** Previously, the class `icon` was automatically applied. Unless not needed,
|
|
135
|
+
* it must now be applied manually.
|
|
136
|
+
* The icon class scales up the icon compared to its surrounding text.
|
|
105
137
|
*
|
|
106
|
-
*
|
|
107
|
-
* If
|
|
138
|
+
* Stacked icons need to be constructed in HTML directly.
|
|
139
|
+
* If applicable, the `si-status-icon` component should be used instead.
|
|
108
140
|
*
|
|
109
|
-
*
|
|
141
|
+
* ```html
|
|
142
|
+
* <!-- before -->
|
|
143
|
+
* <si-icon
|
|
144
|
+
* icon="element-circle-filled"
|
|
145
|
+
* color="status-success"
|
|
146
|
+
* stackedIcon="element-state-tick"
|
|
147
|
+
* stackedColor="status-success-contrast"
|
|
148
|
+
* alt="Success"
|
|
149
|
+
* />
|
|
150
|
+
*
|
|
151
|
+
* <!-- after -->
|
|
152
|
+
* <div class="icon-stack icon" aria-label="Success">
|
|
153
|
+
* <si-icon icon="element-circle-filled" class="status-success" />
|
|
154
|
+
* <si-icon icon="element-state-tick" class="status-success-contrast" />
|
|
155
|
+
* </div>
|
|
156
|
+
* ```
|
|
110
157
|
*/
|
|
111
|
-
declare class
|
|
158
|
+
declare class SiIconLegacyComponent {
|
|
159
|
+
/** Icon token, see {@link https://element.siemens.io/icons/element} */
|
|
160
|
+
readonly icon: _angular_core.InputSignal<string | undefined>;
|
|
161
|
+
/** Color class, see {@link https://element.siemens.io/fundamentals/typography/#color-variants-classes} */
|
|
162
|
+
readonly color: _angular_core.InputSignal<string | undefined>;
|
|
163
|
+
/** Icon token, see {@link https://element.siemens.io/fundamentals/icons/} */
|
|
164
|
+
readonly stackedIcon: _angular_core.InputSignal<string | undefined>;
|
|
165
|
+
/** Color class, see {@link https://element.siemens.io/fundamentals/icons/} */
|
|
166
|
+
readonly stackedColor: _angular_core.InputSignal<string | undefined>;
|
|
167
|
+
/** Alternative name or translation key for icon. Used for A11y. */
|
|
168
|
+
readonly alt: _angular_core.InputSignal<TranslatableString | undefined>;
|
|
112
169
|
/**
|
|
113
|
-
*
|
|
114
|
-
* Provide using:
|
|
115
|
-
* - value of the icon map provided by `addIcons`
|
|
116
|
-
* - (not recommended): plain string in kebab-case or camelCase
|
|
117
|
-
*
|
|
118
|
-
* @example
|
|
119
|
-
* ```ts
|
|
120
|
-
* import { elementUser } from '@simpl/element-icons/ionic';
|
|
121
|
-
*
|
|
122
|
-
* @Component({template: `
|
|
123
|
-
* <si-icon-next [icon]="icons.elementUser" />
|
|
124
|
-
* <si-icon-next icon="element-user" />
|
|
125
|
-
* <si-icon-next icon="elementUser" />
|
|
170
|
+
* Text-size class for icon size, see {@link https://element.siemens.io/fundamentals/typography/#type-styles-classes}
|
|
126
171
|
*
|
|
127
|
-
*
|
|
128
|
-
* class MyComponent {
|
|
129
|
-
* icons = addIcons(elementUser);
|
|
130
|
-
* }
|
|
131
|
-
* ```
|
|
172
|
+
* @defaultValue 'icon'
|
|
132
173
|
*/
|
|
133
|
-
readonly
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
/** Icon class, which is ensured to be kebab-case. */
|
|
138
|
-
protected readonly fontIcon: _angular_core.Signal<string | undefined>;
|
|
139
|
-
private camelToKebabCase;
|
|
140
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiIconNextComponent, never>;
|
|
141
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiIconNextComponent, "si-icon-next", never, { "icon": { "alias": "icon"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
174
|
+
readonly size: _angular_core.InputSignal<string>;
|
|
175
|
+
protected readonly altText: _angular_core.Signal<string>;
|
|
176
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiIconLegacyComponent, never>;
|
|
177
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiIconLegacyComponent, "si-icon-legacy", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "stackedIcon": { "alias": "stackedIcon"; "required": false; "isSignal": true; }; "stackedColor": { "alias": "stackedColor"; "required": false; "isSignal": true; }; "alt": { "alias": "alt"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
142
178
|
}
|
|
143
179
|
|
|
144
180
|
declare class SiStatusIconComponent {
|
|
@@ -210,5 +246,5 @@ declare const elementAlarmTick = "data:image/svg+xml;utf8,<svg xmlns='http://www
|
|
|
210
246
|
declare const elementUser = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M256 252a76 76 0 1 0-76-76 76.08 76.08 0 0 0 76 76Zm0-128a52 52 0 1 1-52 52 52.06 52.06 0 0 1 52-52ZM124 360.14a12 12 0 0 0 6.71-2.06c.61-.41 61.54-41.08 126.14-41.08 75.3 0 122.86 39.84 123.3 40.23a12 12 0 0 0 15.68-18.18c-2.19-1.88-54.39-46.05-139-46.05C185 293 120 336.35 117.28 338.19a12 12 0 0 0 6.72 21.95Z'/></svg>";
|
|
211
247
|
declare const elementHelp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M256 64C150.13 64 64 150.13 64 256s86.13 192 192 192 192-86.13 192-192S361.87 64 256 64Zm0 360c-92.64 0-168-75.36-168-168S163.36 88 256 88s168 75.36 168 168-75.36 168-168 168Z'/><path d='M256 305a12 12 0 0 1-12-12v-29.22a12 12 0 0 1 6.51-10.67 11.63 11.63 0 0 1 1.67-.71c1.14-.4 38.54-14.05 38.54-36.4a36 36 0 0 0-70-12 12 12 0 1 1-22.64-8 60 60 0 0 1 116.6 20c0 31-31.39 48.92-46.72 55.84V293A12 12 0 0 1 256 305ZM256.11 360h-.22a16 16 0 0 1 0-32h.22a16 16 0 0 1 0 32Z'/></svg>";
|
|
212
248
|
|
|
213
|
-
export { STATUS_ICON_CONFIG, SiIconComponent,
|
|
249
|
+
export { STATUS_ICON_CONFIG, SiIconComponent, SiIconLegacyComponent, SiIconModule, SiStatusIconComponent, addIcons, element2dEditor, elementAlarmFilled, elementAlarmTick, elementBreadcrumbRoot, elementCalendar, elementCancel, elementChecked, elementCheckedFilled, elementCircleFilled, elementDelete, elementDocument, elementDoubleLeft, elementDoubleRight, elementDown2, elementExport, elementFavorites, elementFavoritesFilled, elementHelp, elementHide, elementLeft2, elementLeft3, elementLeft4, elementLock, elementMenu, elementMinus, elementNotChecked, elementOctagonFilled, elementOk, elementOptionsVertical, elementOutOfService, elementPlus, elementRadioChecked, elementRecordFilled, elementRedo, elementRight2, elementRight3, elementRight4, elementSearch, elementShow, elementSortDown, elementSortUp, elementSoundMute, elementSoundOn, elementSquare45Filled, elementSquareFilled, elementStateExclamationMark, elementStateInfo, elementStatePause, elementStateProgress, elementStateQuestionMark, elementStateTick, elementThumbnails, elementTriangleFilled, elementUpload, elementUser, elementWarningFilled, provideIconConfig };
|
|
214
250
|
export type { IconConfig };
|
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": "48.0.0-next.
|
|
4
|
+
"version": "48.0.0-next.3",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
"@angular/router": "20",
|
|
27
27
|
"@ngx-formly/bootstrap": "^6.2.2",
|
|
28
28
|
"@ngx-formly/core": "^6.2.2",
|
|
29
|
-
"@siemens/element-translate-ng": "48.0.0-next.
|
|
30
|
-
"@siemens/element-theme": "48.0.0-next.
|
|
29
|
+
"@siemens/element-translate-ng": "48.0.0-next.3",
|
|
30
|
+
"@siemens/element-theme": "48.0.0-next.3",
|
|
31
31
|
"@siemens/ngx-datatable": "22 - 24",
|
|
32
32
|
"flag-icons": "^7.3.2",
|
|
33
33
|
"google-libphonenumber": "^3.2.40",
|
|
@@ -63,14 +63,14 @@
|
|
|
63
63
|
"types": "./index.d.ts",
|
|
64
64
|
"default": "./fesm2022/siemens-element-ng.mjs"
|
|
65
65
|
},
|
|
66
|
-
"./accordion": {
|
|
67
|
-
"types": "./accordion/index.d.ts",
|
|
68
|
-
"default": "./fesm2022/siemens-element-ng-accordion.mjs"
|
|
69
|
-
},
|
|
70
66
|
"./about": {
|
|
71
67
|
"types": "./about/index.d.ts",
|
|
72
68
|
"default": "./fesm2022/siemens-element-ng-about.mjs"
|
|
73
69
|
},
|
|
70
|
+
"./accordion": {
|
|
71
|
+
"types": "./accordion/index.d.ts",
|
|
72
|
+
"default": "./fesm2022/siemens-element-ng-accordion.mjs"
|
|
73
|
+
},
|
|
74
74
|
"./action-modal": {
|
|
75
75
|
"types": "./action-modal/index.d.ts",
|
|
76
76
|
"default": "./fesm2022/siemens-element-ng-action-modal.mjs"
|