@siemens/element-ng 47.4.0 → 47.5.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/common/models/status-type.model.d.ts +2 -0
- package/datatable/index.d.ts +42 -0
- package/datatable/package.json +3 -0
- package/datatable/si-datatable-interaction.directive.d.ts +34 -0
- package/datatable/si-datatable.module.d.ts +7 -0
- package/fesm2022/siemens-element-ng-common.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datatable.mjs +173 -0
- package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-filtered-search.mjs +1139 -0
- package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-formly.mjs +935 -0
- package/fesm2022/siemens-element-ng-formly.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-icon.mjs +42 -14
- package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-list-details.mjs +390 -0
- package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-loading-spinner.mjs +15 -12
- package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-modal.mjs +4 -1
- package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-password-strength.mjs +22 -16
- package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-phone-number.mjs +426 -0
- package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-result-details-list.mjs +74 -0
- package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-shadow-root.mjs +70 -0
- package/fesm2022/siemens-element-ng-shadow-root.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-side-panel.mjs +554 -0
- package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-status-bar.mjs +348 -0
- package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-tabs-next.mjs +491 -0
- package/fesm2022/siemens-element-ng-tabs-next.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tree-view.mjs +2936 -0
- package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-wizard.mjs +2 -2
- package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
- package/filtered-search/index.d.ts +7 -0
- package/filtered-search/package.json +3 -0
- package/filtered-search/si-filtered-search-helper.d.ts +22 -0
- package/filtered-search/si-filtered-search-value.component.d.ts +53 -0
- package/filtered-search/si-filtered-search.component.d.ts +329 -0
- package/filtered-search/si-filtered-search.model.d.ts +139 -0
- package/filtered-search/si-filtered-search.module.d.ts +7 -0
- package/filtered-search/values/date-value/si-filtered-search-date-value.component.d.ts +57 -0
- package/filtered-search/values/si-filtered-search-value.base.d.ts +27 -0
- package/filtered-search/values/typeahead/si-filtered-search-typeahead.component.d.ts +45 -0
- package/formly/fields/button/si-formly-button.component.d.ts +7 -0
- package/formly/fields/date-range/si-formly-date-range.component.d.ts +6 -0
- package/formly/fields/datetime/si-formly-datetime.component.d.ts +13 -0
- package/formly/fields/email/si-formly-email.component.d.ts +6 -0
- package/formly/fields/ip-input/si-formly-ip-input.component.d.ts +6 -0
- package/formly/fields/number/si-formly-number.component.d.ts +6 -0
- package/formly/fields/password/si-formly-password.component.d.ts +6 -0
- package/formly/fields/select/si-formly-select.component.d.ts +6 -0
- package/formly/fields/text/si-formly-text-display.component.d.ts +7 -0
- package/formly/fields/textarea/si-formly-textarea.component.d.ts +18 -0
- package/formly/fields/time/si-formly-time.component.d.ts +13 -0
- package/formly/index.d.ts +6 -0
- package/formly/package.json +3 -0
- package/formly/si-formly-translate.extension.d.ts +11 -0
- package/formly/si-formly.component.d.ts +62 -0
- package/formly/si-formly.module.d.ts +35 -0
- package/formly/structural/si-formly-accordion/si-formly-accordion.component.d.ts +13 -0
- package/formly/structural/si-formly-array/si-formly-array.component.d.ts +6 -0
- package/formly/structural/si-formly-object/si-formly-object.component.d.ts +6 -0
- package/formly/structural/si-formly-object-grid/si-formly-object-grid.component.d.ts +22 -0
- package/formly/structural/si-formly-object-grid/si-formly-object-grid.model.d.ts +21 -0
- package/formly/structural/si-formly-object-plain/si-formly-object-plain.component.d.ts +6 -0
- package/formly/structural/si-formly-tabset/si-formly-object-tabset.component.d.ts +7 -0
- package/formly/utils.d.ts +6 -0
- package/formly/wrapper/si-formly-fieldset.component.d.ts +8 -0
- package/formly/wrapper/si-formly-form-field-provider.directive.d.ts +19 -0
- package/formly/wrapper/si-formly-horizontal-wrapper.component.d.ts +6 -0
- package/formly/wrapper/si-formly-icon-wrapper.component.d.ts +6 -0
- package/formly/wrapper/si-formly-wrapper.component.d.ts +8 -0
- package/icon/element-icons.d.ts +5 -0
- package/icon/si-status-icon.component.d.ts +6 -1
- package/list-details/index.d.ts +12 -0
- package/list-details/package.json +3 -0
- package/list-details/si-details-pane/si-details-pane.component.d.ts +8 -0
- package/list-details/si-details-pane-body/si-details-pane-body.component.d.ts +6 -0
- package/list-details/si-details-pane-footer/si-details-pane-footer.component.d.ts +6 -0
- package/list-details/si-details-pane-header/si-details-pane-header.component.d.ts +38 -0
- package/list-details/si-list-details.component.d.ts +100 -0
- package/list-details/si-list-pane/si-list-pane.component.d.ts +10 -0
- package/list-details/si-list-pane-body/si-list-pane-body.component.d.ts +6 -0
- package/list-details/si-list-pane-header/si-list-pane-header.component.d.ts +6 -0
- package/loading-spinner/si-loading-spinner.directive.d.ts +3 -2
- package/package.json +73 -9
- package/password-strength/si-password-strength.directive.d.ts +11 -0
- package/phone-number/index.d.ts +7 -0
- package/phone-number/package.json +3 -0
- package/phone-number/si-phone-number-input-select.directive.d.ts +10 -0
- package/phone-number/si-phone-number-input.component.d.ts +137 -0
- package/phone-number/si-phone-number-input.models.d.ts +48 -0
- package/phone-number/si-phone-number-input.module.d.ts +7 -0
- package/result-details-list/index.d.ts +7 -0
- package/result-details-list/package.json +3 -0
- package/result-details-list/si-result-details-list.component.d.ts +14 -0
- package/result-details-list/si-result-details-list.datamodel.d.ts +48 -0
- package/result-details-list/si-result-details-list.module.d.ts +7 -0
- package/shadow-root/index.d.ts +5 -0
- package/shadow-root/package.json +3 -0
- package/shadow-root/si-shadow-root.directive.d.ts +39 -0
- package/side-panel/index.d.ts +9 -0
- package/side-panel/package.json +3 -0
- package/side-panel/si-side-panel-content.component.d.ts +105 -0
- package/side-panel/si-side-panel.component.d.ts +108 -0
- package/side-panel/si-side-panel.module.d.ts +8 -0
- package/side-panel/si-side-panel.service.d.ts +45 -0
- package/side-panel/side-panel.model.d.ts +16 -0
- package/status-bar/index.d.ts +7 -0
- package/status-bar/package.json +3 -0
- package/status-bar/si-status-bar-item/index.d.ts +6 -0
- package/status-bar/si-status-bar-item/si-status-bar-item.component.d.ts +22 -0
- package/status-bar/si-status-bar-item/si-status-bar-item.model.d.ts +33 -0
- package/status-bar/si-status-bar.component.d.ts +116 -0
- package/status-bar/si-status-bar.module.d.ts +7 -0
- package/tabs-next/index.d.ts +7 -0
- package/tabs-next/package.json +3 -0
- package/tabs-next/si-tab-next-base.directive.d.ts +66 -0
- package/tabs-next/si-tab-next-link.component.d.ts +18 -0
- package/tabs-next/si-tab-next.component.d.ts +16 -0
- package/tabs-next/si-tabs-tokens.d.ts +7 -0
- package/tabs-next/si-tabset-next.component.d.ts +72 -0
- package/template-i18n.json +29 -0
- package/translate/si-translatable-keys.interface.d.ts +29 -0
- package/tree-view/drag-drop.util.d.ts +32 -0
- package/tree-view/index.d.ts +12 -0
- package/tree-view/package.json +3 -0
- package/tree-view/si-tree-view-converter.service.d.ts +41 -0
- package/tree-view/si-tree-view-item/si-tree-view-item.component.d.ts +105 -0
- package/tree-view/si-tree-view-item/si-tree-view-item.directive.d.ts +24 -0
- package/tree-view/si-tree-view-item-context.d.ts +11 -0
- package/tree-view/si-tree-view-item-height.service.d.ts +49 -0
- package/tree-view/si-tree-view-item-template.directive.d.ts +18 -0
- package/tree-view/si-tree-view-virtualization.service.d.ts +150 -0
- package/tree-view/si-tree-view.component.d.ts +466 -0
- package/tree-view/si-tree-view.model.d.ts +146 -0
- package/tree-view/si-tree-view.module.d.ts +10 -0
- package/tree-view/si-tree-view.service.d.ts +55 -0
- package/tree-view/si-tree-view.utils.d.ts +46 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"siemens-element-ng-formly.mjs","sources":["../../../../projects/element-ng/formly/si-formly.component.ts","../../../../projects/element-ng/formly/si-formly.component.html","../../../../projects/element-ng/formly/fields/button/si-formly-button.component.ts","../../../../projects/element-ng/formly/fields/button/si-formly-button.component.html","../../../../projects/element-ng/formly/fields/date-range/si-formly-date-range.component.ts","../../../../projects/element-ng/formly/fields/date-range/si-formly-date-range.component.html","../../../../projects/element-ng/formly/fields/datetime/si-formly-datetime.component.ts","../../../../projects/element-ng/formly/fields/datetime/si-formly-datetime.component.html","../../../../projects/element-ng/formly/fields/email/si-formly-email.component.ts","../../../../projects/element-ng/formly/fields/email/si-formly-email.component.html","../../../../projects/element-ng/formly/fields/ip-input/si-formly-ip-input.component.ts","../../../../projects/element-ng/formly/fields/ip-input/si-formly-ip-input.component.html","../../../../projects/element-ng/formly/fields/number/si-formly-number.component.ts","../../../../projects/element-ng/formly/fields/number/si-formly-number.component.html","../../../../projects/element-ng/formly/fields/password/si-formly-password.component.ts","../../../../projects/element-ng/formly/fields/password/si-formly-password.component.html","../../../../projects/element-ng/formly/fields/select/si-formly-select.component.ts","../../../../projects/element-ng/formly/fields/select/si-formly-select.component.html","../../../../projects/element-ng/formly/utils.ts","../../../../projects/element-ng/formly/fields/text/si-formly-text-display.component.ts","../../../../projects/element-ng/formly/fields/text/si-formly-text-display.component.html","../../../../projects/element-ng/formly/fields/textarea/si-formly-textarea.component.ts","../../../../projects/element-ng/formly/fields/textarea/si-formly-textarea.component.html","../../../../projects/element-ng/formly/fields/time/si-formly-time.component.ts","../../../../projects/element-ng/formly/si-formly-translate.extension.ts","../../../../projects/element-ng/formly/structural/si-formly-accordion/si-formly-accordion.component.ts","../../../../projects/element-ng/formly/structural/si-formly-accordion/si-formly-accordion.component.html","../../../../projects/element-ng/formly/structural/si-formly-array/si-formly-array.component.ts","../../../../projects/element-ng/formly/structural/si-formly-array/si-formly-array.component.html","../../../../projects/element-ng/formly/structural/si-formly-object-grid/si-formly-object-grid.component.ts","../../../../projects/element-ng/formly/structural/si-formly-object-grid/si-formly-object-grid.component.html","../../../../projects/element-ng/formly/structural/si-formly-object-plain/si-formly-object-plain.component.ts","../../../../projects/element-ng/formly/structural/si-formly-object-plain/si-formly-object-plain.component.html","../../../../projects/element-ng/formly/structural/si-formly-object/si-formly-object.component.ts","../../../../projects/element-ng/formly/structural/si-formly-object/si-formly-object.component.html","../../../../projects/element-ng/formly/structural/si-formly-tabset/si-formly-object-tabset.component.ts","../../../../projects/element-ng/formly/structural/si-formly-tabset/si-formly-object-tabset.component.html","../../../../projects/element-ng/formly/wrapper/si-formly-fieldset.component.ts","../../../../projects/element-ng/formly/wrapper/si-formly-fieldset.component.html","../../../../projects/element-ng/formly/wrapper/si-formly-horizontal-wrapper.component.ts","../../../../projects/element-ng/formly/wrapper/si-formly-horizontal-wrapper.component.html","../../../../projects/element-ng/formly/wrapper/si-formly-icon-wrapper.component.ts","../../../../projects/element-ng/formly/wrapper/si-formly-icon-wrapper.component.html","../../../../projects/element-ng/formly/wrapper/si-formly-form-field-provider.directive.ts","../../../../projects/element-ng/formly/wrapper/si-formly-wrapper.component.ts","../../../../projects/element-ng/formly/wrapper/si-formly-wrapper.component.html","../../../../projects/element-ng/formly/si-formly.module.ts","../../../../projects/element-ng/formly/index.ts","../../../../projects/element-ng/formly/siemens-element-ng-formly.ts"],"sourcesContent":["/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport {\n Component,\n computed,\n inject,\n input,\n model,\n OnInit,\n output,\n viewChild\n} from '@angular/core';\nimport { AbstractControl, FormGroup } from '@angular/forms';\nimport { FormlyFieldConfig, FormlyForm, FormlyFormOptions } from '@ngx-formly/core';\nimport { FormlyJsonschema } from '@ngx-formly/core/json-schema';\nimport { JSONSchema7 } from 'json-schema';\n\n@Component({\n selector: 'si-formly',\n templateUrl: './si-formly.component.html',\n // eslint-disable-next-line @angular-eslint/prefer-standalone\n standalone: false\n})\nexport class SiFormlyComponent<TControl extends { [K in keyof TControl]: AbstractControl }>\n implements OnInit\n{\n /**\n * Formly main container to provide modelChange subscriptions.\n */\n readonly formlyForm = viewChild(FormlyForm);\n\n readonly form = model<FormGroup<TControl>>();\n /**\n * Mapping of field name and its value.\n *\n * @defaultValue\n * ```\n * {}\n * ```\n */\n readonly model = model({});\n /**\n * Define FormlyFormOptions.\n *\n * @defaultValue\n * ```\n * {}\n * ```\n */\n readonly options = input<FormlyFormOptions>({});\n\n /**\n * JSONSchema7 can be used instead of FormlyFieldConfig array for defining form fields.\n * */\n readonly schema = model<JSONSchema7>();\n\n /**\n * Define all form fields with FormlyFieldConfig array.\n *\n * @defaultValue []\n */\n readonly fields = input<FormlyFieldConfig[]>([]);\n\n readonly fieldsChange = output<FormlyFieldConfig[]>();\n\n /** Define width for field labels in pixel */\n readonly labelWidth = input<number | undefined>();\n\n protected readonly fieldConfig = computed<FormlyFieldConfig[]>(() => {\n let formlyFieldConfig!: FormlyFieldConfig[];\n const schema = this.schema();\n const labelWidth = this.labelWidth();\n const opts = {\n map: (field: FormlyFieldConfig, s: JSONSchema7): FormlyFieldConfig => {\n if (labelWidth) {\n field.props ??= {};\n field.props.labelWidth = labelWidth;\n }\n return field;\n }\n };\n if (schema) {\n formlyFieldConfig = [this.formlyJsonschema.toFieldConfig(schema, opts)];\n } else {\n formlyFieldConfig = this.fields();\n }\n if (formlyFieldConfig && formlyFieldConfig.length > 0) {\n this.applyLabelWidth(formlyFieldConfig);\n }\n this.fieldsChange.emit(formlyFieldConfig);\n return formlyFieldConfig;\n });\n\n protected ownForm = false;\n private readonly formlyJsonschema = inject(FormlyJsonschema);\n\n ngOnInit(): void {\n if (!this.form()) {\n this.ownForm = true;\n this.form.set(new FormGroup<TControl>({} as TControl));\n }\n }\n\n private applyLabelWidth(formlyFieldConfig: FormlyFieldConfig[]): void {\n const apply = (cfg: FormlyFieldConfig[]): void => {\n cfg.forEach(field => {\n field.props ??= {};\n field.props.labelWidth = this.labelWidth();\n if (Array.isArray(field.fieldGroup)) {\n apply(field.fieldGroup);\n }\n if (typeof field.fieldArray !== 'function') {\n if (Array.isArray(field.fieldArray?.fieldGroup)) {\n apply(field.fieldArray!.fieldGroup);\n }\n }\n });\n };\n apply(formlyFieldConfig);\n }\n}\n","@let formlyForm = form();\n@let formlyFieldConfig = fieldConfig();\n@let formlyFormOptions = options();\n@if (formlyForm && formlyFieldConfig) {\n @if (ownForm) {\n <form [formGroup]=\"formlyForm\">\n <si-form-container [form]=\"formlyForm\">\n <div si-form-container-content>\n <ng-container *ngTemplateOutlet=\"formlytmpl\" />\n </div>\n </si-form-container>\n </form>\n } @else {\n <ng-container *ngTemplateOutlet=\"formlytmpl\" />\n }\n\n <ng-template #formlytmpl>\n <formly-form\n [fields]=\"formlyFieldConfig\"\n [options]=\"formlyFormOptions\"\n [form]=\"formlyForm\"\n [(model)]=\"model\"\n />\n </ng-template>\n}\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { NgClass } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { FieldType, FormlyModule } from '@ngx-formly/core';\nimport { SiTranslateModule } from '@siemens/element-translate-ng/translate';\n\n@Component({\n selector: 'si-formly-button',\n templateUrl: './si-formly-button.component.html',\n imports: [NgClass, SiTranslateModule, FormlyModule]\n})\nexport class SiFormlyButtonComponent extends FieldType {\n protected click(): void {\n const listener = this.props.clickListener;\n let args = this.props.clickArgs ?? [];\n if (args && !Array.isArray(args)) {\n args = [args];\n }\n if (!listener) {\n return;\n }\n\n if (typeof listener === 'string') {\n try {\n /* eslint-disable */\n const getFn = Function('formState', 'model', 'field', `return ${listener};`);\n const fn = getFn.apply(this, [this.formState, this.model, this.field]);\n if (typeof fn === 'function') {\n fn.apply(this, args);\n } else {\n console.warn(`The dyn ui button ${this.key} has no valid click listener`);\n }\n } catch (error) {\n console.warn(`Error while executing dyn ui button \"${this.key}\" click listener.`, error);\n }\n /* eslint-enable */\n return;\n }\n\n if (typeof listener === 'function') {\n try {\n listener.apply(this, args);\n } catch (error) {\n console.warn(\n `Error while executing dyn ui button \"${this.key}\" direct click listener.`,\n error\n );\n }\n }\n }\n}\n","<button\n type=\"button\"\n class=\"btn\"\n [id]=\"id\"\n [ngClass]=\"{\n 'btn-secondary': !props.btnType || props.btnType === 'secondary',\n 'btn-primary': props.btnType === 'primary',\n 'btn-tertiary': props.btnType === 'tertiary',\n 'btn-warning': props.btnType === 'warning',\n 'btn-danger': props.btnType === 'danger'\n }\"\n [formlyAttributes]=\"field\"\n [hidden]=\"props.hidden\"\n (click)=\"click()\"\n >{{ props.label | translate }}</button\n>\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { Component } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FieldType, FieldTypeConfig, FormlyModule } from '@ngx-formly/core';\nimport { SiDateRangeComponent } from '@siemens/element-ng/datepicker';\n\n@Component({\n selector: 'si-formly-date-range',\n imports: [ReactiveFormsModule, FormlyModule, SiDateRangeComponent],\n templateUrl: './si-formly-date-range.component.html'\n})\nexport class SiFormlyDateRangeComponent extends FieldType<FieldTypeConfig> {}\n","<si-date-range\n #dateRange\n [id]=\"id\"\n [formlyAttributes]=\"field\"\n [formControl]=\"formControl\"\n [siDatepickerConfig]=\"props.siDatepickerConfig\"\n [startDatePlaceholder]=\"props.startDatePlaceholder ?? dateRange.startDatePlaceholder()\"\n [endDatePlaceholder]=\"props.endDatePlaceholder ?? dateRange.endDatePlaceholder()\"\n [ariaLabelCalendarButton]=\"props.ariaLabelCalendarButton ?? dateRange.ariaLabelCalendarButton()\"\n [startTimeLabel]=\"props.startTimeLabel ?? dateRange.startTimeLabel()\"\n [endTimeLabel]=\"props.endTimeLabel ?? dateRange.endTimeLabel()\"\n [debounceTime]=\"props.debounceTime ?? dateRange.debounceTime()\"\n [required]=\"props.required ?? false\"\n [readonly]=\"props.readonly ?? dateRange.readonly()\"\n [autoClose]=\"props.autoClose ?? dateRange.autoClose()\"\n/>\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { Component, OnInit } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { FieldType, FieldTypeConfig } from '@ngx-formly/core';\nimport { SiCalendarButtonComponent, SiDatepickerDirective } from '@siemens/element-ng/datepicker';\n\n@Component({\n selector: 'si-formly-datetime',\n templateUrl: './si-formly-datetime.component.html',\n imports: [FormsModule, ReactiveFormsModule, SiCalendarButtonComponent, SiDatepickerDirective]\n})\nexport class SiFormlyDateTimeComponent extends FieldType<FieldTypeConfig> implements OnInit {\n ngOnInit(): void {\n // if the date value is in string then first convert it into date\n this.convertValidStringToDate();\n this.formControl.registerOnChange(() => this.convertValidStringToDate());\n }\n\n private convertValidStringToDate(): void {\n if (this.formControl && !(this.formControl.value && this.formControl.value instanceof Date)) {\n const dateVal = new Date(this.formControl.value);\n if (!isNaN(dateVal.valueOf())) {\n this.formControl.setValue(dateVal);\n } else if (this.formControl.value !== '') {\n this.formControl.setValue('');\n }\n }\n }\n}\n","<si-calendar-button class=\"w-100\">\n <input\n type=\"text\"\n class=\"form-control\"\n siDatepicker\n [id]=\"id\"\n [autoClose]=\"props.autoClose\"\n [placeholder]=\"props.placeholder\"\n [formControl]=\"formControl\"\n [siDatepickerConfig]=\"props.dateConfig\"\n [readonly]=\"props.readonly || false\"\n />\n</si-calendar-button>\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { Component } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { FieldType, FieldTypeConfig, FormlyModule } from '@ngx-formly/core';\n\n@Component({\n selector: 'si-formly-email',\n templateUrl: './si-formly-email.component.html',\n imports: [FormsModule, ReactiveFormsModule, FormlyModule]\n})\nexport class SiFormlyEmailComponent extends FieldType<FieldTypeConfig> {\n // Patterns are not recommended to validate email addresses.\n // See https://tools.ietf.org/html/rfc2822 to get a feeling of possible email address formats\n // This pattern is from https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/email#validation\n // public readonly pattern =\n // /^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/\n}\n","<input\n type=\"email\"\n class=\"form-control\"\n [id]=\"id\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n/>\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { Component } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FieldType, FieldTypeConfig, FormlyModule } from '@ngx-formly/core';\nimport { SiIp4InputDirective, SiIp6InputDirective } from '@siemens/element-ng/ip-input';\n\n@Component({\n selector: 'si-formly-ip-address',\n templateUrl: './si-formly-ip-input.component.html',\n imports: [ReactiveFormsModule, FormlyModule, SiIp4InputDirective, SiIp6InputDirective]\n})\nexport class SiFormlyIpInputComponent extends FieldType<FieldTypeConfig> {}\n","@if (field.type === 'ipv6') {\n <input\n type=\"text\"\n class=\"form-control\"\n siIpV6\n [cidr]=\"props.cidr\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [id]=\"id\"\n />\n} @else {\n <input\n type=\"text\"\n class=\"form-control\"\n siIpV4\n [cidr]=\"props.cidr\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [id]=\"id\"\n />\n}\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FieldType, FieldTypeConfig, FormlyModule } from '@ngx-formly/core';\nimport { SiNumberInputComponent } from '@siemens/element-ng/number-input';\n\n@Component({\n selector: 'si-formly-number',\n templateUrl: './si-formly-number.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ReactiveFormsModule, FormlyModule, SiNumberInputComponent]\n})\nexport class SiFormlyNumberComponent extends FieldType<FieldTypeConfig> {}\n","<si-number-input\n class=\"form-control\"\n [inputId]=\"id\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [min]=\"props.min\"\n [max]=\"props.max\"\n [placeholder]=\"props.placeholder\"\n [showButtons]=\"props.showButtons ?? true\"\n [step]=\"props.numberStep ?? 1\"\n [unit]=\"props.unit\"\n/>\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { FieldType, FieldTypeConfig, FormlyModule } from '@ngx-formly/core';\nimport {\n SiPasswordStrengthComponent,\n SiPasswordStrengthDirective\n} from '@siemens/element-ng/password-strength';\n\n@Component({\n selector: 'si-formly-password',\n templateUrl: './si-formly-password.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n FormsModule,\n ReactiveFormsModule,\n FormlyModule,\n SiPasswordStrengthComponent,\n SiPasswordStrengthDirective\n ]\n})\nexport class SiFormlyPasswordComponent extends FieldType<FieldTypeConfig> {\n /*\n Sample config:\n \"password.field\": {\n \"type\": \"string\",\n \"title\": \"Password\",\n \"widget\": {\n \"formlyConfig\": {\n \"type\": \"password\",\n \"props\": {\n \"minLength\": 5,\n \"upperCase\": true,\n \"loweCase\": true,\n \"digits\": true,\n \"special\": true\n }\n }\n }\n }\n */\n}\n","<si-password-strength>\n <input\n type=\"password\"\n name=\"password\"\n class=\"form-control\"\n [id]=\"id\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [siPasswordStrength]=\"{\n minLength: props.minLength && props.minLength > 0 ? props.minLength : 8,\n uppercase: props.upperCase !== false,\n lowercase: props.lowerCase !== false,\n digits: props.digits !== false,\n special: props.special !== false\n }\"\n />\n</si-password-strength>\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { Component } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { FieldType, FieldTypeConfig, FormlyModule } from '@ngx-formly/core';\nimport {\n SiSelectComponent,\n SiSelectMultiValueDirective,\n SiSelectSimpleOptionsDirective,\n SiSelectSingleValueDirective\n} from '@siemens/element-ng/select';\n\n@Component({\n selector: 'si-formly-select',\n templateUrl: './si-formly-select.component.html',\n imports: [\n FormsModule,\n ReactiveFormsModule,\n FormlyModule,\n SiSelectComponent,\n SiSelectSimpleOptionsDirective,\n SiSelectMultiValueDirective,\n SiSelectSingleValueDirective\n ]\n})\nexport class SiFormlySelectComponent extends FieldType<FieldTypeConfig> {}\n","@if (props.multi) {\n <si-select\n class=\"form-control\"\n multi\n [id]=\"id\"\n [options]=\"props.optionsList\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [readonly]=\"props.readonly || false\"\n />\n} @else {\n <si-select\n class=\"form-control\"\n [id]=\"id\"\n [options]=\"props.optionsList\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [readonly]=\"props.readonly || false\"\n />\n}\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nexport const getFieldValue = (model: any, path: string[]): any => {\n for (const p of path) {\n if (!model) {\n return model;\n }\n model = model[p];\n }\n return model;\n};\n\n// Got this from @ngx-formly/core/lib/utils\nexport const getKeyPath = (key?: any): string[] => {\n if (!key) {\n return [];\n }\n let path: string[] = [];\n if (typeof key === 'string') {\n const k = !key.includes('[') ? key : key.replace(/\\[(\\w+)\\]/g, '.$1');\n path = k.includes('.') ? k.split('.') : [k];\n } else if (Array.isArray(key)) {\n path = key.slice(0);\n } else {\n path = [`${key}`];\n }\n return path.slice(0);\n};\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { Component } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FieldType, FieldTypeConfig, FormlyModule } from '@ngx-formly/core';\nimport { SiTranslateModule } from '@siemens/element-translate-ng/translate';\n\nimport { getFieldValue, getKeyPath } from '../../utils';\n\n@Component({\n selector: 'si-formly-text-display',\n templateUrl: './si-formly-text-display.component.html',\n imports: [FormlyModule, ReactiveFormsModule, SiTranslateModule]\n})\nexport class SiFormlyTextDisplayComponent extends FieldType<FieldTypeConfig> {\n protected get value(): any {\n if (!this.props.key) {\n return this.formControl.value;\n }\n\n let sourceModel = this.model;\n if (Array.isArray(this.model)) {\n // The model is the arry itself when using this field as item into an array type...\n sourceModel = this.formControl.value;\n }\n if (this.props.key.indexOf('.') === -1) {\n // Special case for Array types:\n return sourceModel[this.props.key];\n }\n const path = getKeyPath(this.props.key);\n return getFieldValue(sourceModel, path);\n }\n}\n","<input type=\"hidden\" [id]=\"id\" [formControl]=\"formControl\" [formlyAttributes]=\"field\" />\n<div>\n @if (props.prefix) {\n {{ props.prefix | translate }}\n }\n {{ value }}\n @if (props.suffix) {\n {{ props.suffix | translate }}\n }\n</div>\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { AfterViewInit, Component, ElementRef, OnInit, viewChild } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { FieldType, FieldTypeConfig, FormlyModule } from '@ngx-formly/core';\n\n@Component({\n selector: 'si-formly-textarea',\n styleUrl: './si-formly-textarea.component.scss',\n templateUrl: './si-formly-textarea.component.html',\n imports: [FormsModule, ReactiveFormsModule, FormlyModule]\n})\nexport class SiFormlyTextareaComponent\n extends FieldType<FieldTypeConfig>\n implements OnInit, AfterViewInit\n{\n private readonly textArea = viewChild.required<ElementRef>('textArea');\n\n protected contentGrowTextarea(): string {\n return this.props.autoGrow ? `attr(data-replicated-value) ' '` : 'none';\n }\n\n protected resizeConfiguration(): string {\n return this.props.resizable ? 'vertical' : 'none';\n }\n\n protected maxHeightConfiguration(): string {\n return this.props.maxHeight ?? 'auto';\n }\n\n ngOnInit(): void {\n this.formControl.valueChanges.subscribe(() => {\n this.assignValueToParent();\n });\n }\n\n ngAfterViewInit(): void {\n this.assignValueToParent();\n }\n\n private assignValueToParent(): void {\n this.model.i = (this.model.i ?? 0) + 1;\n this.textArea().nativeElement.parentNode.dataset.replicatedValue =\n this.textArea().nativeElement.value;\n }\n}\n","<div\n class=\"textarea-grow-wrap text-break\"\n [style.--content-grow]=\"contentGrowTextarea()\"\n [style.max-height]=\"maxHeightConfiguration()\"\n>\n <textarea\n #textArea\n class=\"form-control\"\n [id]=\"id\"\n [rows]=\"props.rows ?? 1\"\n [cols]=\"props.cols ?? 1\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [style.resize]=\"resizeConfiguration()\"\n [style.max-height]=\"maxHeightConfiguration()\"\n >\n </textarea>\n</div>\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { Component, OnInit } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FieldType, FieldTypeConfig } from '@ngx-formly/core';\nimport { SiTimepickerComponent } from '@siemens/element-ng/datepicker';\n\n@Component({\n selector: 'si-formly-time',\n template: `<si-timepicker\n [id]=\"id\"\n [hideLabels]=\"props.timeConfig?.hideLabels ?? true\"\n [showMinutes]=\"props.timeConfig?.showMinutes ?? true\"\n [showSeconds]=\"props.timeConfig?.showSeconds ?? false\"\n [showMilliseconds]=\"props.timeConfig?.showMilliseconds ?? false\"\n [showMeridian]=\"props.timeConfig?.showMeridian\"\n [formControl]=\"formControl\"\n [readonly]=\"props.readonly || false\"\n />`,\n imports: [SiTimepickerComponent, ReactiveFormsModule]\n})\nexport class SiFormlyTimeComponent extends FieldType<FieldTypeConfig> implements OnInit {\n ngOnInit(): void {\n // if the date value is in string then first convert it into date\n this.convertValidStringToDate();\n this.formControl.registerOnChange(() => this.convertValidStringToDate());\n }\n\n private convertValidStringToDate(): void {\n if (this.formControl && !(this.formControl.value && this.formControl.value instanceof Date)) {\n const dateVal = new Date(this.formControl.value);\n if (!isNaN(dateVal.valueOf())) {\n this.formControl.setValue(dateVal);\n } else if (this.formControl.value !== '') {\n this.formControl.setValue('');\n }\n }\n }\n}\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { FormlyFieldConfig } from '@ngx-formly/core';\nimport { SiTranslateService } from '@siemens/element-translate-ng/translate';\n\nexport class SiFormlyTranslateExtension {\n constructor(private translate: SiTranslateService) {}\n prePopulate(field: FormlyFieldConfig): void {\n const to = field.props ?? {};\n if (to.translate === false || to._translated) {\n return;\n }\n\n field.expressions ??= {};\n\n to._translated = true;\n if (to.label) {\n field.expressions['props.label'] = this.translate.translateAsync(to.label);\n }\n\n if (to.options) {\n // e.g. a select\n let i = -1;\n to.options.forEach((val: any) => {\n i++;\n if (field.expressions) {\n field.expressions[`props.options.${i}.label`] = this.translate.translateAsync(val.label);\n }\n });\n }\n\n if (to.placeholder) {\n field.expressions['props.placeholder'] = this.translate.translateAsync(to.placeholder);\n }\n\n if (to.description) {\n field.expressions['props.description'] = this.translate.translateAsync(to.description);\n }\n\n if (field.validation?.messages) {\n const msgs = field.validation.messages;\n for (const msg in msgs) {\n if (typeof msgs[msg] === 'string') {\n // This unfortunately blocks any opportunity to create context specific messages\n // Specific messages could be done via the \"map\" function when the schema itself is parsed\n field.expressions[`validation.messages.${msg}`] = this.translate.translateAsync(\n msgs[msg] + ''\n );\n }\n }\n }\n\n // Trigger a change\n field.expressions = { ...(field.expressions ?? {}) };\n }\n}\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { AfterViewInit, Component } from '@angular/core';\nimport { FieldType, FormlyFieldConfig, FormlyModule } from '@ngx-formly/core';\nimport { SiAccordionComponent, SiCollapsiblePanelComponent } from '@siemens/element-ng/accordion';\n\n@Component({\n selector: 'si-formly-accordion',\n templateUrl: './si-formly-accordion.component.html',\n imports: [SiCollapsiblePanelComponent, FormlyModule, SiAccordionComponent]\n})\nexport class SiFormlyAccordionComponent extends FieldType implements AfterViewInit {\n protected panelToggle(toggle: boolean, fieldGroup: FormlyFieldConfig): void {\n if (this.field.fieldGroup) {\n const openPanelField = this.field.fieldGroup?.find(f => f.props?.opened);\n if (openPanelField?.props) {\n openPanelField.props.opened = false;\n }\n }\n if (fieldGroup.props) {\n fieldGroup.props.opened = toggle;\n }\n }\n\n ngAfterViewInit(): void {\n if (this.props?.expandFirstPanel !== false) {\n if (this.field.fieldGroup?.[0].props) {\n this.field.fieldGroup[0].props.opened = true;\n }\n }\n }\n}\n","<si-accordion\n #accordion\n [expandFirstPanel]=\"props.expandFirstPanel ?? accordion.expandFirstPanel()\"\n [fullHeight]=\"props.fullHeight ?? accordion.fullHeight()\"\n [hcollapsed]=\"props.hcollapsed ?? accordion.collapsed()\"\n [colorVariant]=\"props.colorVariant\"\n>\n @for (f of field.fieldGroup; track $index) {\n <si-collapsible-panel\n #panel\n [heading]=\"f.props?.label\"\n [contentCssClasses]=\"f.props?.cssClasses ?? 'p-5'\"\n [headerCssClasses]=\"f.props?.headerCssClasses ?? panel.headerCssClasses()\"\n [contentBgClasses]=\"f.props?.contentBgClasses ?? panel.contentBgClasses()\"\n [badge]=\"f.props?.badge ?? panel.badge()\"\n [badgeColor]=\"f.props?.badgeColor ?? panel.badgeColor()\"\n [icon]=\"f.props?.icon ?? panel.icon()\"\n [opened]=\"f.props?.opened ?? panel.opened()\"\n [disabled]=\"f.props?.disabled ?? panel.disabled()\"\n [colorVariant]=\"f.props?.colorVariant ?? panel.colorVariant()\"\n (panelToggle)=\"panelToggle($event, f)\"\n >\n <formly-field [field]=\"f\" [formlyAttributes]=\"field\" />\n </si-collapsible-panel>\n }\n</si-accordion>\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { Component } from '@angular/core';\nimport { FieldArrayType, FormlyModule } from '@ngx-formly/core';\nimport { SiTranslateModule } from '@siemens/element-translate-ng/translate';\n\n@Component({\n selector: 'si-formly-array',\n templateUrl: './si-formly-array.component.html',\n imports: [FormlyModule, SiTranslateModule]\n})\nexport class SiFormlyArrayComponent extends FieldArrayType {}\n","<div class=\"mb-3\">\n @if (props.label) {\n <b>{{ props.label }}</b>\n }\n @if (props.description) {\n <p>{{ props.description }}</p>\n }\n @if (showError && formControl.errors) {\n <div class=\"alert alert-danger\" role=\"alert\">\n <formly-validation-message [field]=\"field\" />\n </div>\n }\n @for (field of field.fieldGroup; track $index) {\n <div class=\"row\">\n <formly-field class=\"col-10\" [field]=\"field\" />\n @if (!props.readonly && !props.disabled && !props.noRemove) {\n <div class=\"col-1 text-end\">\n @if (props.removeText) {\n <button class=\"btn btn-danger\" type=\"button\" (click)=\"remove($index)\">\n {{ props.removeText | translate }}\n </button>\n }\n @if (!props.removeText) {\n <button class=\"btn btn-danger\" type=\"button\" (click)=\"remove($index)\"> - </button>\n }\n </div>\n }\n </div>\n }\n @if (!props.readonly && !props.disabled && !props.noAdd) {\n <div class=\"d-flex flex-row-reverse\">\n @if (props.addText) {\n <button class=\"btn btn-primary\" type=\"button\" (click)=\"add()\">\n {{ props.addText | translate }}\n </button>\n }\n @if (!props.addText) {\n <button class=\"btn btn-primary\" type=\"button\" (click)=\"add()\"> + </button>\n }\n </div>\n }\n</div>\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { Component, OnInit } from '@angular/core';\nimport { FieldType, FormlyModule } from '@ngx-formly/core';\nimport { SiFormContainerComponent } from '@siemens/element-ng/form';\n\nimport { GridColumnConfig, GridRow, ToGridRowConfig } from './si-formly-object-grid.model';\n\n@Component({\n selector: 'si-formly-object-grid',\n templateUrl: './si-formly-object-grid.component.html',\n imports: [FormlyModule, SiFormContainerComponent]\n})\nexport class SiFormlyObjectGridComponent extends FieldType implements OnInit {\n protected rows: GridRow[] = [];\n\n /**\n * Template option to suppress displaying error messages that relate\n * to the formControl of this grid (see formControl.errors).\n */\n private suppressFormErrorDisplay = false;\n\n protected get containerClass(): string | string[] {\n if (Array.isArray(this.props.containerClass) && this.props.containerClass.length > 0) {\n return this.props.containerClass;\n }\n return typeof this.props.containerClass === 'string' ? this.props.containerClass : 'container';\n }\n\n ngOnInit(): void {\n this.setRows();\n this.suppressFormErrorDisplay = this.props.suppressFormErrorDisplay === true;\n }\n\n protected get displayErrorMessages(): boolean {\n return this.showError && !!this.formControl.errors && !this.suppressFormErrorDisplay;\n }\n\n private setRows(): void {\n this.rows.length = 0;\n\n if (!Array.isArray(this.props.gridConfig) || this.props.gridConfig.length === 0) {\n this.rows = [\n {\n classes: ['row'],\n columns: [{ classes: ['col-sm'], fields: this.field.fieldGroup }]\n }\n ];\n }\n\n const gridConfig = this.props.gridConfig as ToGridRowConfig[];\n const fieldGroup = [...(this.field.fieldGroup ?? [])];\n gridConfig.forEach(rowConfig => {\n const columns: GridColumnConfig[] = [];\n\n rowConfig.columns.forEach(config => {\n const fields = fieldGroup.splice(\n 0,\n config.fieldCount < 0 ? fieldGroup.length : config.fieldCount\n );\n const colClasses = config.classes ?? [];\n if (colClasses.length === 0) {\n colClasses.push('col');\n }\n columns.push({ fields, classes: colClasses });\n });\n const rowClasses = rowConfig.classes ?? [];\n if (rowClasses.length === 0) {\n rowClasses.push('row');\n }\n\n this.rows.push({ classes: rowClasses, columns });\n });\n }\n}\n","@if (props.hidden !== true) {\n <div>\n @if (props.label && props.plain !== true) {\n <b>{{ props.label }}</b>\n }\n @if (props.description && props.plain !== true) {\n <p>{{ props.description }}</p>\n }\n @if (displayErrorMessages) {\n <div class=\"alert alert-danger\" role=\"alert\">\n <formly-validation-message [field]=\"field\" />\n </div>\n }\n <div [class]=\"containerClass\">\n @for (row of rows; track $index) {\n <div [class]=\"row.classes\">\n @for (column of row.columns; track $index) {\n <div [class]=\"column.classes\">\n <si-form-container>\n <div si-form-container-content>\n @for (f of column.fields; track $index) {\n <formly-field class=\"d-block\" [field]=\"f\" />\n }\n </div>\n </si-form-container>\n </div>\n }\n </div>\n }\n </div>\n </div>\n}\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { Component } from '@angular/core';\nimport { FieldType, FormlyModule } from '@ngx-formly/core';\n\n@Component({\n selector: 'si-formly-object-plain',\n templateUrl: './si-formly-object-plain.component.html',\n imports: [FormlyModule]\n})\nexport class SiFormlyObjectPlainComponent extends FieldType {}\n","<div>\n @if (props.description) {\n <p>{{ props.description }}</p>\n }\n @for (f of field.fieldGroup; track $index) {\n <formly-field [field]=\"f\" />\n }\n</div>\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { Component } from '@angular/core';\nimport { FieldType, FormlyModule } from '@ngx-formly/core';\n\n@Component({\n selector: 'si-formly-object',\n templateUrl: './si-formly-object.component.html',\n imports: [FormlyModule]\n})\nexport class SiFormlyObjectComponent extends FieldType {}\n","@if (props.hidden !== true) {\n <div class=\"mb-3\">\n @if (props.label) {\n <b>{{ props.label }}</b>\n }\n @if (props.description) {\n <p>{{ props.description }}</p>\n }\n @if (showError && formControl.errors) {\n <div class=\"alert alert-danger\" role=\"alert\">\n <formly-validation-message [field]=\"field\" />\n </div>\n }\n @for (f of field.fieldGroup; track $index) {\n <formly-field [field]=\"f\" />\n }\n </div>\n}\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { Component } from '@angular/core';\nimport { FieldType, FormlyModule } from '@ngx-formly/core';\nimport { SiTabComponent, SiTabsetComponent } from '@siemens/element-ng/tabs';\n\n@Component({\n selector: 'si-formly-object-tabset',\n templateUrl: './si-formly-object-tabset.component.html',\n imports: [SiTabsetComponent, SiTabComponent, FormlyModule]\n})\nexport class SiFormlyObjectTabsetComponent extends FieldType {\n protected tabIndexChange(selectedTab: number): void {\n if (this.options?.formState) {\n this.options.formState.selectedTabIndex = selectedTab;\n }\n }\n}\n","<si-tabset\n class=\"d-flex si-layout-fixed-height\"\n [selectedTabIndex]=\"options.formState?.selectedTabIndex ?? 0\"\n (selectedTabIndexChange)=\"tabIndexChange($event)\"\n>\n @for (f of field.fieldGroup; track $index) {\n @if (!(f.props?.hidden === true)) {\n <si-tab class=\"overflow-auto pt-8\" [heading]=\"f.props?.label || ''\">\n <formly-field [field]=\"f\" [formlyAttributes]=\"field\" />\n </si-tab>\n }\n }\n</si-tabset>\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { Component } from '@angular/core';\nimport { FieldWrapper, FormlyModule } from '@ngx-formly/core';\nimport { SiFormFieldsetComponent } from '@siemens/element-ng/form';\n\n@Component({\n selector: 'si-formly-fieldset',\n imports: [FormlyModule, SiFormFieldsetComponent],\n templateUrl: './si-formly-fieldset.component.html'\n})\nexport class SiFormlyFieldsetComponent extends FieldWrapper {\n protected get label(): string | undefined {\n return this.props.label && this.props.hideLabel !== true ? this.props.label : undefined;\n }\n\n protected get labelWidth(): string | undefined {\n return this.props.labelWidth ? this.props.labelWidth + 'px' : undefined;\n }\n}\n","<si-form-fieldset [label]=\"label!\" [labelWidth]=\"labelWidth\" [required]=\"props.required\">\n <ng-template #fieldComponent />\n <div class=\"invalid-feedback\" [class.d-block]=\"showError\">\n <formly-validation-message [field]=\"field\" />\n </div>\n</si-form-fieldset>\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { Component } from '@angular/core';\nimport { FieldWrapper, FormlyModule } from '@ngx-formly/core';\n\n@Component({\n selector: 'si-formly-horizontal-wrapper',\n templateUrl: './si-formly-horizontal-wrapper.component.html',\n imports: [FormlyModule]\n})\nexport class SiFormlyHorizontalWrapperComponent extends FieldWrapper {}\n","<div class=\"mb-6 row\">\n @if (props.label) {\n <label class=\"col-sm-2 col-form-label\" [attr.for]=\"id\">\n {{ props.label }}\n @if (props.required && props.hideRequiredMarker !== true) {\n *\n }\n </label>\n }\n <div class=\"col-sm-10\">\n <ng-template #fieldComponent />\n </div>\n\n @if (showError) {\n <div class=\"col-sm-3 invalid-feedback d-block\">\n <formly-validation-message [field]=\"field\" />\n </div>\n }\n</div>\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { Component } from '@angular/core';\nimport { FieldWrapper } from '@ngx-formly/core';\nimport { SiTooltipDirective } from '@siemens/element-ng/tooltip';\nimport { SiTranslateModule } from '@siemens/element-translate-ng/translate';\n\n@Component({\n selector: 'si-formly-icon-wrapper',\n styleUrl: './si-formly-icon-wrapper.component.scss',\n templateUrl: './si-formly-icon-wrapper.component.html',\n imports: [SiTooltipDirective, SiTranslateModule]\n})\nexport class SiFormlyIconWrapperComponent extends FieldWrapper {}\n","<div class=\"d-flex\">\n <div class=\"flex-1 me-2\">\n <ng-template #fieldComponent />\n </div>\n @if (props.icon) {\n <div\n class=\"wrapper-icon\"\n [style]=\"'font-size: ' + (props.iconSize ? props.iconSize : 24) + 'px'\"\n [siTooltip]=\"props.iconTooltip | translate\"\n >\n <i [class]=\"props.icon\"></i>\n </div>\n }\n</div>\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { Directive, OnChanges, computed, input } from '@angular/core';\nimport { FormlyFieldConfig } from '@ngx-formly/core';\nimport { SI_FORM_ITEM_CONTROL, SiFormItemControl } from '@siemens/element-ng/form';\n\n@Directive({\n selector: '[siFormlyFormFieldProvider]',\n providers: [{ provide: SI_FORM_ITEM_CONTROL, useExisting: SiFormlyFormFieldProviderDirective }]\n})\nexport class SiFormlyFormFieldProviderDirective implements SiFormItemControl, OnChanges {\n readonly field = input.required<FormlyFieldConfig>();\n\n readonly id = computed(() => this.field().id);\n isFormCheck?: boolean;\n readonly labelledby = computed(() => {\n const fieldValue = this.field();\n if (fieldValue.props?.useAriaLabel) {\n return fieldValue.id + '-label';\n } else {\n return undefined;\n }\n });\n\n ngOnChanges(): void {\n this.isFormCheck = this.field().type === 'checkbox' || this.field().type === 'boolean';\n }\n}\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { Component } from '@angular/core';\nimport { FieldWrapper, FormlyModule } from '@ngx-formly/core';\nimport { SiFormItemComponent } from '@siemens/element-ng/form';\n\nimport { SiFormlyFormFieldProviderDirective } from './si-formly-form-field-provider.directive';\n\n@Component({\n selector: 'si-formly-wrapper',\n templateUrl: './si-formly-wrapper.component.html',\n imports: [SiFormItemComponent, FormlyModule, SiFormlyFormFieldProviderDirective]\n})\nexport class SiFormlyWrapperComponent extends FieldWrapper {\n protected get label(): string | undefined {\n return this.props.label && this.props.hideLabel !== true ? this.props.label : undefined;\n }\n\n protected get labelWidth(): number | undefined {\n return this.props.labelWidth;\n }\n}\n","<si-form-item [label]=\"label\" [labelWidth]=\"labelWidth\" [required]=\"props.required\">\n <div class=\"w-100\" siFormlyFormFieldProvider [field]=\"field\">\n <ng-template #fieldComponent />\n <div class=\"invalid-feedback\" [class.d-block]=\"showError\">\n <formly-validation-message [field]=\"field\" />\n </div>\n </div>\n</si-form-item>\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { CommonModule } from '@angular/common';\nimport { inject, ModuleWithProviders, NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormlyBootstrapModule } from '@ngx-formly/bootstrap';\nimport { FormlyFieldMultiCheckbox } from '@ngx-formly/bootstrap/multicheckbox';\nimport { FormlyFieldRadio } from '@ngx-formly/bootstrap/radio';\nimport {\n ConfigOption,\n FORMLY_CONFIG,\n FormlyConfig,\n FormlyFormBuilder,\n FormlyModule\n} from '@ngx-formly/core';\nimport { SiFormModule } from '@siemens/element-ng/form';\nimport { SiTranslateService } from '@siemens/element-translate-ng/translate';\n\nimport { SiFormlyButtonComponent } from './fields/button/si-formly-button.component';\nimport { SiFormlyDateRangeComponent } from './fields/date-range/si-formly-date-range.component';\nimport { SiFormlyDateTimeComponent } from './fields/datetime/si-formly-datetime.component';\nimport { SiFormlyEmailComponent } from './fields/email/si-formly-email.component';\nimport { SiFormlyIpInputComponent } from './fields/ip-input/si-formly-ip-input.component';\nimport { SiFormlyNumberComponent } from './fields/number/si-formly-number.component';\nimport { SiFormlyPasswordComponent } from './fields/password/si-formly-password.component';\nimport { SiFormlySelectComponent } from './fields/select/si-formly-select.component';\nimport { SiFormlyTextDisplayComponent } from './fields/text/si-formly-text-display.component';\nimport { SiFormlyTextareaComponent } from './fields/textarea/si-formly-textarea.component';\nimport { SiFormlyTimeComponent } from './fields/time/si-formly-time.component';\nimport { SiFormlyTranslateExtension } from './si-formly-translate.extension';\nimport { SiFormlyComponent } from './si-formly.component';\nimport { SiFormlyAccordionComponent } from './structural/si-formly-accordion/si-formly-accordion.component';\nimport { SiFormlyArrayComponent } from './structural/si-formly-array/si-formly-array.component';\nimport { SiFormlyObjectGridComponent } from './structural/si-formly-object-grid/si-formly-object-grid.component';\nimport { SiFormlyObjectPlainComponent } from './structural/si-formly-object-plain/si-formly-object-plain.component';\nimport { SiFormlyObjectComponent } from './structural/si-formly-object/si-formly-object.component';\nimport { SiFormlyObjectTabsetComponent } from './structural/si-formly-tabset/si-formly-object-tabset.component';\nimport { SiFormlyFieldsetComponent } from './wrapper/si-formly-fieldset.component';\nimport { SiFormlyHorizontalWrapperComponent } from './wrapper/si-formly-horizontal-wrapper.component';\nimport { SiFormlyIconWrapperComponent } from './wrapper/si-formly-icon-wrapper.component';\nimport { SiFormlyWrapperComponent } from './wrapper/si-formly-wrapper.component';\n\nconst dynamicUiConfig = (translate: SiTranslateService): ConfigOption => {\n return {\n types: [\n { name: 'string', extends: 'input' },\n {\n name: 'integer',\n extends: 'input',\n defaultOptions: {\n props: {\n type: 'number'\n }\n }\n },\n {\n name: 'checkbox',\n defaultOptions: {\n props: {\n formCheck: 'form-check'\n }\n }\n },\n { name: 'boolean', extends: 'checkbox' },\n { name: 'multicheckbox', component: FormlyFieldMultiCheckbox, wrappers: ['form-fieldset'] },\n { name: 'radio', component: FormlyFieldRadio, wrappers: ['form-fieldset'] },\n { name: 'enum', extends: 'select' },\n { name: 'array', component: SiFormlyArrayComponent },\n { name: 'object', component: SiFormlyObjectComponent },\n { name: 'object-plain', component: SiFormlyObjectPlainComponent },\n { name: 'object-grid', component: SiFormlyObjectGridComponent },\n { name: 'tabset', component: SiFormlyObjectTabsetComponent },\n { name: 'accordion', component: SiFormlyAccordionComponent },\n { name: 'textdisplay', component: SiFormlyTextDisplayComponent },\n { name: 'email', component: SiFormlyEmailComponent, wrappers: ['form-field'] },\n { name: 'date', component: SiFormlyDateTimeComponent, wrappers: ['form-field'] },\n { name: 'datetime', extends: 'date' },\n { name: 'ipv4', component: SiFormlyIpInputComponent, wrappers: ['form-field'] },\n {\n name: 'ipv6',\n extends: 'ipv4'\n },\n { name: 'date-range', component: SiFormlyDateRangeComponent, wrappers: ['form-field'] },\n { name: 'password', component: SiFormlyPasswordComponent, wrappers: ['form-field'] },\n { name: 'number', component: SiFormlyNumberComponent, wrappers: ['form-field'] },\n { name: 'textarea', component: SiFormlyTextareaComponent, wrappers: ['form-field'] },\n { name: 'button', component: SiFormlyButtonComponent },\n {\n name: 'si-select',\n component: SiFormlySelectComponent,\n wrappers: ['form-field'],\n defaultOptions: { props: { useAriaLabel: true } }\n },\n {\n name: 'time',\n component: SiFormlyTimeComponent,\n wrappers: ['form-field'],\n defaultOptions: { props: { useAriaLabel: true } }\n }\n ],\n wrappers: [\n // { name: 'form-field-original', component: FormlyWrapperFormField }, // Overrides the default\n { name: 'form-field', component: SiFormlyWrapperComponent }, // Overrides the default\n { name: 'form-fieldset', component: SiFormlyFieldsetComponent },\n { name: 'form-field-no-icon', component: SiFormlyWrapperComponent },\n { name: 'form-field-horizontal', component: SiFormlyHorizontalWrapperComponent },\n { name: 'icon-wrapper', component: SiFormlyIconWrapperComponent }\n ],\n extensions: [\n {\n name: 'translate',\n extension: new SiFormlyTranslateExtension(translate)\n }\n ]\n };\n};\n\n@NgModule({\n declarations: [SiFormlyComponent],\n exports: [SiFormlyComponent],\n imports: [\n CommonModule,\n FormlyBootstrapModule,\n FormlyModule,\n ReactiveFormsModule,\n SiFormlyIpInputComponent,\n SiFormlyAccordionComponent,\n SiFormlyArrayComponent,\n SiFormlyButtonComponent,\n SiFormlyDateTimeComponent,\n SiFormlyEmailComponent,\n SiFormlyHorizontalWrapperComponent,\n SiFormlyIconWrapperComponent,\n SiFormlyObjectComponent,\n SiFormlyObjectGridComponent,\n SiFormlyObjectPlainComponent,\n SiFormlyObjectTabsetComponent,\n SiFormlyPasswordComponent,\n SiFormlySelectComponent,\n SiFormlyTextareaComponent,\n SiFormlyTextDisplayComponent,\n SiFormlyWrapperComponent,\n SiFormModule\n ],\n providers: [\n {\n provide: FORMLY_CONFIG,\n multi: true,\n useFactory: dynamicUiConfig,\n deps: [SiTranslateService]\n }\n ]\n})\nexport class SiFormlyModule {\n private config = inject(FormlyConfig);\n private configs = inject(FORMLY_CONFIG, { optional: true });\n\n static forRoot(formlyConfig: ConfigOption = {}): ModuleWithProviders<SiFormlyModule> {\n return {\n ngModule: SiFormlyModule,\n providers: [\n { provide: FORMLY_CONFIG, useValue: formlyConfig, multi: true },\n FormlyConfig,\n FormlyFormBuilder\n ]\n };\n }\n\n constructor() {\n if (!this.configs) {\n return;\n }\n\n this.configs.forEach(configuration => {\n this.config.addConfig(configuration);\n });\n }\n}\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-formly.component';\nexport * from './si-formly.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i3","i1"],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { input, computed, ChangeDetectionStrategy, Component, NgModule, inject, DestroyRef, Injectable, InjectionToken } from '@angular/core';
|
|
2
|
+
import { input, computed, ChangeDetectionStrategy, Component, NgModule, inject, DestroyRef, Injectable, InjectionToken, signal } from '@angular/core';
|
|
3
3
|
import { NgClass } from '@angular/common';
|
|
4
4
|
import * as i1 from '@siemens/element-translate-ng/translate';
|
|
5
|
-
import { SiTranslateModule } from '@siemens/element-translate-ng/translate';
|
|
5
|
+
import { SiTranslateModule, SiTranslateService } from '@siemens/element-translate-ng/translate';
|
|
6
6
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
7
7
|
import { SiThemeService } from '@siemens/element-ng/theme';
|
|
8
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* Copyright Siemens 2016 - 2025.
|
|
@@ -71,6 +72,8 @@ const elementMinus = "data:image/svg+xml;utf8, <svg xmlns='http://www.w3.org/200
|
|
|
71
72
|
const elementCircleFilled = "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 64Z'/></svg>";
|
|
72
73
|
const elementOctagonFilled = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M320.2 77H191.8a24 24 0 0 0-17 7L84 174.83a24 24 0 0 0-7 17V320.2a24 24 0 0 0 7 17l90.8 90.8a24 24 0 0 0 17 7h128.4a24 24 0 0 0 17-7l90.8-90.8a24 24 0 0 0 7-17V191.8a24 24 0 0 0-7-17L337.17 84a24 24 0 0 0-16.97-7Z'/></svg>";
|
|
73
74
|
const elementPlus = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M356 244h-88v-88a12 12 0 0 0-24 0v88h-88a12 12 0 0 0 0 24h88v88a12 12 0 0 0 24 0v-88h88a12 12 0 0 0 0-24Z'/></svg>";
|
|
75
|
+
const elementSoundMute = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='m393 256 39.52-39.51a12 12 0 0 0-17-17L376 239l-39.51-39.52a12 12 0 0 0-17 17L359 256l-39.52 39.51a12 12 0 0 0 17 17L376 273l39.51 39.52a12 12 0 0 0 17-17ZM238 394a12 12 0 0 1-7.5-2.63L143.8 322H76a12 12 0 0 1-12-12V202a12 12 0 0 1 12-12h67.8l86.72-69.37A12 12 0 0 1 250 130v252a12 12 0 0 1-12 12ZM88 298h60a11.93 11.93 0 0 1 7.49 2.63L226 357.05V155l-70.5 56.36A11.93 11.93 0 0 1 148 214H88Z' /></svg>";
|
|
76
|
+
const elementSoundOn = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M238 394a12 12 0 0 1-7.5-2.63L143.8 322H76a12 12 0 0 1-12-12V202a12 12 0 0 1 12-12h67.8l86.72-69.37A12 12 0 0 1 250 130v252a12 12 0 0 1-12 12ZM88 298h60a11.93 11.93 0 0 1 7.49 2.63L226 357.05V155l-70.5 56.36A11.93 11.93 0 0 1 148 214H88ZM383.29 395.27a12 12 0 0 1-8.48-20.48c65.48-65.5 65.48-172.08 0-237.58a12 12 0 1 1 17-17c74.83 74.86 74.83 196.66 0 271.52a12 12 0 0 1-8.52 3.54Zm-63.54-63.72a12 12 0 0 1-8.49-20.49 78.1 78.1 0 0 0 0-110.3 12 12 0 1 1 17-17 102.12 102.12 0 0 1 0 144.24 12 12 0 0 1-8.51 3.55Z' /></svg>";
|
|
74
77
|
const elementSquare45Filled = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><rect x='113.17' y='113.17' width='285.65' height='285.65' rx='24' transform='rotate(-45 256 256.002)'/></svg>";
|
|
75
78
|
const elementSquareFilled = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><rect x='88' y='88' width='336' height='336' rx='48'/></svg>";
|
|
76
79
|
const elementStateExclamationMark = "data:image/svg+xml;utf8,<svg id='Icon' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><defs><style>.cls-1{stroke-width:0}</style></defs><path class='cls-1' d='M256 279.12c-11.05 0-20-8.95-20-20v-89.8c0-11.05 8.95-20 20-20s20 8.95 20 20v89.8c0 11.05-8.95 20-20 20ZM256.17 359.03h-.34c-13.16 0-23.83-10.75-23.83-24s10.67-24 23.83-24h.34c13.16 0 23.83 10.75 23.83 24s-10.67 24-23.83 24Z'/></svg>";
|
|
@@ -83,6 +86,7 @@ const elementTriangleFilled = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3
|
|
|
83
86
|
const elementRight2 = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M203.21 159.21a12.45 12.45 0 0 1 15.86-1.44l1.72 1.44 88 88a12.45 12.45 0 0 1 1.44 15.86l-1.44 1.72-88 88a12.43 12.43 0 0 1-19-15.86l1.44-1.72L282.42 256l-79.21-79.21a12.45 12.45 0 0 1-1.44-15.86Z' data-name='Arrow/Right-3'/></svg>";
|
|
84
87
|
const elementRecordFilled = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M256 408c-41.88 0-78.06-14.95-107.55-44.44S104 297.87 104 256s15-78 44.45-107.55S214.13 104 256 104s78 15 107.54 44.45S408 214.15 408 256s-15 78.05-44.45 107.55S297.87 408 256 408Z'/></svg>";
|
|
85
88
|
const elementOk = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='m379.51 156.76-173 173-74-74a12 12 0 1 0-17 17l82.5 82.5a12 12 0 0 0 17 0l181.5-181.5a12 12 0 0 0-17-17Z'/></svg>";
|
|
89
|
+
const elementOutOfService = "data:image/svg+xml;utf8, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M256 436a179.4 179.4 0 0 0 126.28-51.86 12.27 12.27 0 0 0 1.86-1.86A179.4 179.4 0 0 0 436 256c0-99.25-80.75-180-180-180a179.4 179.4 0 0 0-126.28 51.86 12.27 12.27 0 0 0-1.86 1.86A179.4 179.4 0 0 0 76 256c0 99.25 80.75 180 180 180ZM100 256a155.29 155.29 0 0 1 37.59-101.44l219.85 219.85A155.29 155.29 0 0 1 256 412c-86 0-156-70-156-156Zm312 0a155.29 155.29 0 0 1-37.59 101.44L154.56 137.59A155.29 155.29 0 0 1 256 100c86 0 156 70 156 156Z' /></svg>";
|
|
86
90
|
const elementLeft3 = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M319.39 106.22a11.1 11.1 0 0 1-2.09 6.51L219.49 256l97.82 143.29a11.05 11.05 0 0 1 2.08 6.49 11.24 11.24 0 0 1-4.7 9.13 11.12 11.12 0 0 1-6.51 2.09 11.24 11.24 0 0 1-9.13-4.69L192.61 256 299 99.71a11.24 11.24 0 0 1 9.18-4.71 11.12 11.12 0 0 1 6.51 2.09 11.24 11.24 0 0 1 4.7 9.13Z'/></svg>";
|
|
87
91
|
const elementRight3 = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M192.61 106.22a11.1 11.1 0 0 0 2.09 6.51L292.51 256l-97.82 143.29a11.05 11.05 0 0 0-2.08 6.49 11.24 11.24 0 0 0 4.7 9.13 11.12 11.12 0 0 0 6.51 2.09 11.24 11.24 0 0 0 9.13-4.69L319.39 256 213 99.71a11.24 11.24 0 0 0-9.18-4.71 11.12 11.12 0 0 0-6.51 2.09 11.24 11.24 0 0 0-4.7 9.13Z'/></svg>";
|
|
88
92
|
const elementHide = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M254.85 173.58c42.57 0 84.25 14.94 123.9 44.4a278.05 278.05 0 0 1 41.59 38 278.05 278.05 0 0 1-41.59 38 260.79 260.79 0 0 1-25.17 16.59l17.48 17.48q11.49-7 22.63-15.27c32.57-24.34 51.1-48.55 51.87-49.57a12 12 0 0 0 0-14.5c-.77-1-19.3-25.23-51.87-49.57-43.43-32.45-91.44-49.6-138.84-49.6a204.56 204.56 0 0 0-54.72 7.58L220 177a180.12 180.12 0 0 1 34.85-3.42ZM436.49 427.51 349 340l-18-18-28.36-28.36-17.12-17.12-50.09-50.09-17.12-17.12-25-25-18.47-18.47-90.35-90.33a12 12 0 0 0-17 17l84.29 84.28a267.53 267.53 0 0 0-34.72 22.47c-32 24.38-50 48.64-50.75 49.66a12 12 0 0 0 0 14.2c.75 1 18.72 25.28 50.75 49.66 42.69 32.49 90.33 49.66 137.77 49.66a210.29 210.29 0 0 0 70.2-12.4l94.46 94.47a12 12 0 0 0 17-17Zm-215.15-181.2 44.35 44.35a36 36 0 0 1-44.35-44.35Zm33.51 92.11c-42.52 0-83.79-14.91-122.65-44.32A268.8 268.8 0 0 1 91.46 256a268.29 268.29 0 0 1 40.74-38.1 242.38 242.38 0 0 1 37.32-23.41L203 228a59.95 59.95 0 0 0 81 81l22 22.05a183.47 183.47 0 0 1-51.15 7.37Z'/><path d='m291.13 248.16 22.94 22.94a60 60 0 0 0-73.17-73.17l22.94 22.94a36.1 36.1 0 0 1 27.29 27.29Z'/></svg>";
|
|
@@ -105,6 +109,8 @@ const elementDelete = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/200
|
|
|
105
109
|
const elementRedo = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M411.91 112.2a12 12 0 0 0-12 12v45.09A167.89 167.89 0 0 0 256 88c-92.64 0-168 75.36-168 168s75.36 168 168 168a168 168 0 0 0 166.06-142.43 12 12 0 0 0-23.72-3.63A144 144 0 0 1 256 400c-79.4 0-144-64.6-144-144s64.6-144 144-144a144.55 144.55 0 0 1 124.83 72.2h-40.92a12 12 0 0 0 0 24h72a12 12 0 0 0 12-12v-72a12 12 0 0 0-12-12Z' /></svg>";
|
|
106
110
|
const elementDocument = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M162.4 424h187.2a43.25 43.25 0 0 0 43.2-43.2V209.2q0-.6-.06-1.2c0-.29-.08-.58-.13-.86 0-.1 0-.2-.05-.3a8.28 8.28 0 0 0-.25-1v-.13c-.1-.34-.23-.67-.36-1a.49.49 0 0 0 0-.11 9.3 9.3 0 0 0-.43-.9.77.77 0 0 0-.07-.16c-.15-.27-.31-.53-.47-.79l-.14-.22c-.16-.24-.33-.46-.51-.69l-.19-.26a10.41 10.41 0 0 0-.71-.78l-.07-.09-109.27-109.2-.09-.07a10.41 10.41 0 0 0-.78-.71l-.25-.19c-.23-.18-.46-.35-.7-.51l-.22-.14c-.26-.16-.52-.32-.79-.47l-.15-.07c-.3-.16-.6-.3-.91-.43h-.09c-.33-.13-.67-.25-1-.36H275a9.09 9.09 0 0 0-1-.25h-.29c-.29 0-.58-.1-.87-.13S272 88 271.6 88H162.4a43.25 43.25 0 0 0-43.2 43.2v249.6a43.25 43.25 0 0 0 43.2 43.2Zm121.2-295 68.23 68.23H283.6Zm-140.4 2.2a19.22 19.22 0 0 1 19.2-19.2h97.2v97.2a12 12 0 0 0 12 12h97.2v159.6a19.22 19.22 0 0 1-19.2 19.2H162.4a19.22 19.22 0 0 1-19.2-19.2Z' /></svg>";
|
|
107
111
|
const elementLock = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M280 305.5a24 24 0 1 0-36 20.78V363a12 12 0 0 0 24 0v-36.72a24 24 0 0 0 12-20.78Z' /><path d='M358.67 224H348v-52a92 92 0 0 0-184 0v52h-10.67c-22.79 0-41.33 19.74-41.33 44v112c0 24.26 18.54 44 41.33 44h205.34c22.79 0 41.33-19.74 41.33-44V268c0-24.26-18.54-44-41.33-44ZM188 172a68 68 0 0 1 136 0v52H188Zm188 208c0 11-7.78 20-17.33 20H153.33c-9.55 0-17.33-9-17.33-20V268c0-11 7.78-20 17.33-20h205.34c9.55 0 17.33 9 17.33 20Z'/></svg>";
|
|
112
|
+
const elementDoubleLeft = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='m234.77 248.93 1.44-1.72 110-110a12.43 12.43 0 0 1 19 15.86l-1.44 1.72L262.59 256l101.2 101.21a12.45 12.45 0 0 1 1.44 15.86l-1.44 1.72a12.45 12.45 0 0 1-15.86 1.44l-1.72-1.44-110-110a12.45 12.45 0 0 1-1.44-15.86Z'/><path d='m146.77 248.93 1.44-1.72 88-88a12.43 12.43 0 0 1 19 15.86l-1.44 1.72L174.59 256l79.2 79.21a12.45 12.45 0 0 1 1.44 15.86l-1.44 1.72a12.45 12.45 0 0 1-15.86 1.44l-1.72-1.44-88-88a12.45 12.45 0 0 1-1.44-15.86Z'/></svg>";
|
|
113
|
+
const elementDoubleRight = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='m277.23 263.07-1.44 1.72-110 110a12.43 12.43 0 0 1-19-15.86l1.44-1.72L249.41 256l-101.2-101.21a12.45 12.45 0 0 1-1.44-15.86l1.44-1.72a12.45 12.45 0 0 1 15.86-1.44l1.72 1.44 110 110a12.45 12.45 0 0 1 1.44 15.86Z'/><path d='m365.23 263.07-1.44 1.72-88 88a12.43 12.43 0 0 1-19-15.86l1.44-1.72L337.41 256l-79.2-79.21a12.45 12.45 0 0 1-1.44-15.86l1.44-1.72a12.45 12.45 0 0 1 15.86-1.44l1.72 1.44 88 88a12.45 12.45 0 0 1 1.44 15.86Z'/></svg>";
|
|
108
114
|
|
|
109
115
|
/**
|
|
110
116
|
* Copyright Siemens 2016 - 2025.
|
|
@@ -218,7 +224,8 @@ const STATUS_ICON_CONFIG = new InjectionToken('STATUS_ICON_CONFIG', {
|
|
|
218
224
|
stacked: 'elementStateTick',
|
|
219
225
|
stackedColor: 'status-success-contrast',
|
|
220
226
|
background: 'bg-base-success',
|
|
221
|
-
severity: 5
|
|
227
|
+
severity: 5,
|
|
228
|
+
ariaLabel: $localize `:@@SI_ICON_STATUS.SUCCESS:Success`
|
|
222
229
|
},
|
|
223
230
|
info: {
|
|
224
231
|
icon: 'elementSquareFilled',
|
|
@@ -226,7 +233,8 @@ const STATUS_ICON_CONFIG = new InjectionToken('STATUS_ICON_CONFIG', {
|
|
|
226
233
|
stacked: 'elementStateInfo',
|
|
227
234
|
stackedColor: 'status-info-contrast',
|
|
228
235
|
background: 'bg-base-info',
|
|
229
|
-
severity: 4
|
|
236
|
+
severity: 4,
|
|
237
|
+
ariaLabel: $localize `:@@SI_ICON_STATUS.INFO:Info`
|
|
230
238
|
},
|
|
231
239
|
caution: {
|
|
232
240
|
icon: 'elementSquare45Filled',
|
|
@@ -234,7 +242,8 @@ const STATUS_ICON_CONFIG = new InjectionToken('STATUS_ICON_CONFIG', {
|
|
|
234
242
|
stacked: 'elementStateExclamationMark',
|
|
235
243
|
stackedColor: 'status-caution-contrast',
|
|
236
244
|
background: 'bg-base-caution',
|
|
237
|
-
severity: 3
|
|
245
|
+
severity: 3,
|
|
246
|
+
ariaLabel: $localize `:@@SI_ICON_STATUS.CAUTION:Caution`
|
|
238
247
|
},
|
|
239
248
|
warning: {
|
|
240
249
|
icon: 'elementTriangleFilled',
|
|
@@ -242,7 +251,8 @@ const STATUS_ICON_CONFIG = new InjectionToken('STATUS_ICON_CONFIG', {
|
|
|
242
251
|
stacked: 'elementStateExclamationMark',
|
|
243
252
|
stackedColor: 'status-warning-contrast',
|
|
244
253
|
background: 'bg-base-warning',
|
|
245
|
-
severity: 2
|
|
254
|
+
severity: 2,
|
|
255
|
+
ariaLabel: $localize `:@@SI_ICON_STATUS.WARNING:Warning`
|
|
246
256
|
},
|
|
247
257
|
danger: {
|
|
248
258
|
icon: 'elementCircleFilled',
|
|
@@ -250,7 +260,8 @@ const STATUS_ICON_CONFIG = new InjectionToken('STATUS_ICON_CONFIG', {
|
|
|
250
260
|
stacked: 'elementStateExclamationMark',
|
|
251
261
|
stackedColor: 'status-danger-contrast',
|
|
252
262
|
background: 'bg-base-danger',
|
|
253
|
-
severity: 1
|
|
263
|
+
severity: 1,
|
|
264
|
+
ariaLabel: $localize `:@@SI_ICON_STATUS.DANGER:Danger`
|
|
254
265
|
},
|
|
255
266
|
critical: {
|
|
256
267
|
icon: 'elementOctagonFilled',
|
|
@@ -258,7 +269,8 @@ const STATUS_ICON_CONFIG = new InjectionToken('STATUS_ICON_CONFIG', {
|
|
|
258
269
|
stacked: 'elementStateExclamationMark',
|
|
259
270
|
stackedColor: 'status-critical-contrast',
|
|
260
271
|
background: 'bg-base-critical',
|
|
261
|
-
severity: 0
|
|
272
|
+
severity: 0,
|
|
273
|
+
ariaLabel: $localize `:@@SI_ICON_STATUS.CRITICAL:Critical`
|
|
262
274
|
},
|
|
263
275
|
progress: {
|
|
264
276
|
icon: 'elementCircleFilled',
|
|
@@ -266,7 +278,8 @@ const STATUS_ICON_CONFIG = new InjectionToken('STATUS_ICON_CONFIG', {
|
|
|
266
278
|
stacked: 'elementStateProgress',
|
|
267
279
|
stackedColor: 'status-info-contrast',
|
|
268
280
|
background: 'bg-base-info',
|
|
269
|
-
severity: 7
|
|
281
|
+
severity: 7,
|
|
282
|
+
ariaLabel: $localize `:@@SI_ICON_STATUS.PROGRESS:Progress`
|
|
270
283
|
},
|
|
271
284
|
pending: {
|
|
272
285
|
icon: 'elementCircleFilled',
|
|
@@ -274,7 +287,8 @@ const STATUS_ICON_CONFIG = new InjectionToken('STATUS_ICON_CONFIG', {
|
|
|
274
287
|
stacked: 'elementStatePause',
|
|
275
288
|
stackedColor: 'status-caution-contrast',
|
|
276
289
|
background: 'bg-base-caution',
|
|
277
|
-
severity: 6
|
|
290
|
+
severity: 6,
|
|
291
|
+
ariaLabel: $localize `:@@SI_ICON_STATUS.PENDING:Pending`
|
|
278
292
|
},
|
|
279
293
|
unknown: {
|
|
280
294
|
icon: 'elementCircleFilled',
|
|
@@ -282,7 +296,8 @@ const STATUS_ICON_CONFIG = new InjectionToken('STATUS_ICON_CONFIG', {
|
|
|
282
296
|
stacked: 'elementStateQuestionMark',
|
|
283
297
|
stackedColor: 'text-body',
|
|
284
298
|
background: 'bg-base-0',
|
|
285
|
-
severity: 8
|
|
299
|
+
severity: 8,
|
|
300
|
+
ariaLabel: $localize `:@@SI_ICON_STATUS.UNKNOWN:Unknown`
|
|
286
301
|
}
|
|
287
302
|
};
|
|
288
303
|
}
|
|
@@ -374,10 +389,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
|
|
|
374
389
|
*/
|
|
375
390
|
class SiStatusIconComponent {
|
|
376
391
|
statusIcons = inject(STATUS_ICON_CONFIG);
|
|
392
|
+
translate = inject(SiTranslateService);
|
|
393
|
+
destroyRef = inject(DestroyRef);
|
|
377
394
|
status = input.required();
|
|
378
395
|
statusIcon = computed(() => this.statusIcons[this.status()]);
|
|
396
|
+
ariaLabel = signal(null);
|
|
397
|
+
ngOnChanges() {
|
|
398
|
+
const ariaLabel = this.statusIcon()?.ariaLabel;
|
|
399
|
+
if (ariaLabel) {
|
|
400
|
+
this.translate
|
|
401
|
+
.translateAsync(ariaLabel)
|
|
402
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
403
|
+
.subscribe(label => this.ariaLabel.set(label));
|
|
404
|
+
}
|
|
405
|
+
}
|
|
379
406
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiStatusIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
380
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.6", type: SiStatusIconComponent, isStandalone: true, selector: "si-status-icon", inputs: { status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "icon-stack" }, ngImport: i0, template: `
|
|
407
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.6", type: SiStatusIconComponent, isStandalone: true, selector: "si-status-icon", inputs: { status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "attr.aria-label": "ariaLabel()" }, classAttribute: "icon-stack" }, usesOnChanges: true, ngImport: i0, template: `
|
|
381
408
|
@let iconValue = statusIcon();
|
|
382
409
|
@if (iconValue) {
|
|
383
410
|
<si-icon-next [ngClass]="iconValue.color" [icon]="iconValue.icon" />
|
|
@@ -399,7 +426,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
|
|
|
399
426
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
400
427
|
imports: [NgClass, SiIconNextComponent],
|
|
401
428
|
host: {
|
|
402
|
-
class: 'icon-stack'
|
|
429
|
+
class: 'icon-stack',
|
|
430
|
+
'[attr.aria-label]': 'ariaLabel()'
|
|
403
431
|
}
|
|
404
432
|
}]
|
|
405
433
|
}] });
|
|
@@ -413,5 +441,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
|
|
|
413
441
|
* Generated bundle index. Do not edit.
|
|
414
442
|
*/
|
|
415
443
|
|
|
416
|
-
export { STATUS_ICON_CONFIG, SiIconComponent, SiIconModule, SiIconNextComponent, SiStatusIconComponent, addIcons, elementBreadcrumbRoot, elementCalendar, elementCancel, elementChecked, elementCheckedFilled, elementCircleFilled, elementDelete, elementDocument, elementDown2, elementExport, elementFavorites, elementFavoritesFilled, elementHide, elementLeft2, elementLeft3, elementLeft4, elementLock, elementMenu, elementMinus, elementNotChecked, elementOctagonFilled, elementOk, elementOptionsVertical, elementPlus, elementRadioChecked, elementRecordFilled, elementRedo, elementRight2, elementRight3, elementRight4, elementSearch, elementShow, elementSortDown, elementSortUp, elementSquare45Filled, elementSquareFilled, elementStateExclamationMark, elementStateInfo, elementStatePause, elementStateProgress, elementStateQuestionMark, elementStateTick, elementThumbnails, elementTriangleFilled, elementUpload, elementWarningFilled, provideIconConfig };
|
|
444
|
+
export { STATUS_ICON_CONFIG, SiIconComponent, SiIconModule, SiIconNextComponent, SiStatusIconComponent, addIcons, elementBreadcrumbRoot, elementCalendar, elementCancel, elementChecked, elementCheckedFilled, elementCircleFilled, elementDelete, elementDocument, elementDoubleLeft, elementDoubleRight, elementDown2, elementExport, elementFavorites, elementFavoritesFilled, 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, elementWarningFilled, provideIconConfig };
|
|
417
445
|
//# sourceMappingURL=siemens-element-ng-icon.mjs.map
|