@siemens/element-ng 48.5.1 → 48.6.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.
@@ -1 +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/utils.ts","../../../../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/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 (c) 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 // eslint-disable-next-line @angular-eslint/prefer-standalone\n standalone: false,\n templateUrl: './si-formly.component.html'\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 (c) 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 { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\n@Component({\n selector: 'si-formly-button',\n imports: [NgClass, SiTranslatePipe, FormlyModule],\n templateUrl: './si-formly-button.component.html'\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 (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Pipe, PipeTransform } from '@angular/core';\n\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@Pipe({ name: 'siValidationErrorId' })\nexport class SiValidationErrorIdPipe implements PipeTransform {\n transform(value: string, ...args: any[]): string {\n return `${value}-formly-validation-error`;\n }\n}\n","/**\n * Copyright (c) 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\nimport { SiValidationErrorIdPipe } from '../../utils';\n\n@Component({\n selector: 'si-formly-date-range',\n imports: [ReactiveFormsModule, FormlyModule, SiDateRangeComponent, SiValidationErrorIdPipe],\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 [required]=\"props.required ?? false\"\n [readonly]=\"props.readonly ?? dateRange.readonly()\"\n [autoClose]=\"props.autoClose ?? dateRange.autoClose()\"\n [errormessageId]=\"id | siValidationErrorId\"\n/>\n","/**\n * Copyright (c) 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\nimport { SiValidationErrorIdPipe } from '../../utils';\n\n@Component({\n selector: 'si-formly-datetime',\n imports: [\n FormsModule,\n ReactiveFormsModule,\n SiCalendarButtonComponent,\n SiDatepickerDirective,\n SiValidationErrorIdPipe\n ],\n templateUrl: './si-formly-datetime.component.html'\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 [errormessageId]=\"id | siValidationErrorId\"\n />\n</si-calendar-button>\n","/**\n * Copyright (c) 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\nimport { SiValidationErrorIdPipe } from '../../utils';\n\n@Component({\n selector: 'si-formly-email',\n imports: [FormsModule, ReactiveFormsModule, FormlyModule, SiValidationErrorIdPipe],\n templateUrl: './si-formly-email.component.html'\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 [attr.aria-describedby]=\"id | siValidationErrorId\"\n/>\n","/**\n * Copyright (c) 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\nimport { SiValidationErrorIdPipe } from '../../utils';\n\n@Component({\n selector: 'si-formly-ip-address',\n imports: [\n ReactiveFormsModule,\n FormlyModule,\n SiIp4InputDirective,\n SiIp6InputDirective,\n SiValidationErrorIdPipe\n ],\n templateUrl: './si-formly-ip-input.component.html'\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 [attr.aria-describedby]=\"id | siValidationErrorId\"\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 [attr.aria-describedby]=\"id | siValidationErrorId\"\n />\n}\n","/**\n * Copyright (c) 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\nimport { SiValidationErrorIdPipe } from '../../utils';\n\n@Component({\n selector: 'si-formly-number',\n imports: [ReactiveFormsModule, FormlyModule, SiNumberInputComponent, SiValidationErrorIdPipe],\n templateUrl: './si-formly-number.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\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 [errormessageId]=\"id | siValidationErrorId\"\n/>\n","/**\n * Copyright (c) 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\nimport { SiValidationErrorIdPipe } from '../../utils';\n\n@Component({\n selector: 'si-formly-password',\n imports: [\n FormsModule,\n ReactiveFormsModule,\n FormlyModule,\n SiPasswordStrengthComponent,\n SiPasswordStrengthDirective,\n SiValidationErrorIdPipe\n ],\n templateUrl: './si-formly-password.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\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 [attr.aria-describedby]=\"id | siValidationErrorId\"\n />\n</si-password-strength>\n","/**\n * Copyright (c) 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\nimport { SiValidationErrorIdPipe } from '../../utils';\n\n@Component({\n selector: 'si-formly-select',\n imports: [\n FormsModule,\n ReactiveFormsModule,\n FormlyModule,\n SiSelectComponent,\n SiSelectSimpleOptionsDirective,\n SiSelectMultiValueDirective,\n SiSelectSingleValueDirective,\n SiValidationErrorIdPipe\n ],\n templateUrl: './si-formly-select.component.html'\n})\nexport class SiFormlySelectComponent extends FieldType<FieldTypeConfig> {}\n","@if (props.multi) {\n <si-select\n #select\n class=\"form-control\"\n multi\n [id]=\"id\"\n [options]=\"props.optionsList\"\n [hasFilter]=\"props.hasFilter ?? select.hasFilter()\"\n [filterPlaceholder]=\"props.filterPlaceholder ?? select.filterPlaceholder()\"\n [placeholder]=\"props.placeholder ?? select.placeholder()\"\n [ariaLabel]=\"props.ariaLabel ?? select.ariaLabel()\"\n [noResultsFoundLabel]=\"props.noResultsFoundLabel ?? select.noResultsFoundLabel()\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [readonly]=\"props.readonly || false\"\n [errormessageId]=\"id | siValidationErrorId\"\n />\n} @else {\n <si-select\n #select\n class=\"form-control\"\n [id]=\"id\"\n [options]=\"props.optionsList\"\n [hasFilter]=\"props.hasFilter ?? select.hasFilter()\"\n [filterPlaceholder]=\"props.filterPlaceholder ?? select.filterPlaceholder()\"\n [placeholder]=\"props.placeholder ?? select.placeholder()\"\n [ariaLabel]=\"props.ariaLabel ?? select.ariaLabel()\"\n [noResultsFoundLabel]=\"props.noResultsFoundLabel ?? select.noResultsFoundLabel()\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [readonly]=\"props.readonly || false\"\n [errormessageId]=\"id | siValidationErrorId\"\n />\n}\n","/**\n * Copyright (c) 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 { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { getFieldValue, getKeyPath } from '../../utils';\n\n@Component({\n selector: 'si-formly-text-display',\n imports: [FormlyModule, ReactiveFormsModule, SiTranslatePipe],\n templateUrl: './si-formly-text-display.component.html'\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 class=\"py-4\">\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 (c) 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\nimport { SiValidationErrorIdPipe } from '../../utils';\n\n@Component({\n selector: 'si-formly-textarea',\n imports: [FormsModule, ReactiveFormsModule, FormlyModule, SiValidationErrorIdPipe],\n templateUrl: './si-formly-textarea.component.html',\n styleUrl: './si-formly-textarea.component.scss'\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 [attr.aria-describedby]=\"id | siValidationErrorId\"\n >\n </textarea>\n</div>\n","/**\n * Copyright (c) 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\nimport { SiValidationErrorIdPipe } from '../../utils';\n\n@Component({\n selector: 'si-formly-time',\n imports: [SiTimepickerComponent, ReactiveFormsModule, SiValidationErrorIdPipe],\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 [errormessageId]=\"id | siValidationErrorId\"\n />`\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 (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { FormlyFieldConfig } from '@ngx-formly/core';\nimport { injectSiTranslateService } from '@siemens/element-translate-ng/translate';\n\nexport class SiFormlyTranslateExtension {\n private translate = injectSiTranslateService();\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 (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { AfterViewInit, ChangeDetectionStrategy, 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 imports: [SiCollapsiblePanelComponent, FormlyModule, SiAccordionComponent],\n templateUrl: './si-formly-accordion.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\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>\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 (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FieldArrayType, FormlyModule } from '@ngx-formly/core';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\n@Component({\n selector: 'si-formly-array',\n imports: [FormlyModule, SiTranslatePipe],\n templateUrl: './si-formly-array.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\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 } @else {\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 } @else {\n <button class=\"btn btn-primary\" type=\"button\" (click)=\"add()\"> + </button>\n }\n </div>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, 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 imports: [FormlyModule, SiFormContainerComponent],\n templateUrl: './si-formly-object-grid.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\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 (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FieldType, FormlyModule } from '@ngx-formly/core';\n\n@Component({\n selector: 'si-formly-object-plain',\n imports: [FormlyModule],\n templateUrl: './si-formly-object-plain.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\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 (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FieldType, FormlyModule } from '@ngx-formly/core';\n\n@Component({\n selector: 'si-formly-object',\n imports: [FormlyModule],\n templateUrl: './si-formly-object.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\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 (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, 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 imports: [SiTabsetComponent, SiTabComponent, FormlyModule],\n templateUrl: './si-formly-object-tabset.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiFormlyObjectTabsetComponent extends FieldType {\n protected tabIndexChange(isActive: boolean, selectedTab: number): void {\n if (this.options?.formState && isActive) {\n this.options.formState.selectedTabIndex = selectedTab;\n }\n }\n}\n","<si-tabset class=\"d-flex si-layout-fixed-height\">\n @for (f of field.fieldGroup; track $index) {\n @let isTabActive = options.formState.selectedTabIndex === $index;\n @if (!(f.props?.hidden === true)) {\n <si-tab\n [heading]=\"f.props?.label || ''\"\n [active]=\"isTabActive\"\n (activeChange)=\"tabIndexChange($event, $index)\"\n >\n <div class=\"pt-8\">\n <formly-field [field]=\"f\" [formlyAttributes]=\"field\" />\n </div>\n </si-tab>\n }\n }\n</si-tabset>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, 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 changeDetection: ChangeDetectionStrategy.OnPush\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 (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FieldWrapper, FormlyModule } from '@ngx-formly/core';\n\n@Component({\n selector: 'si-formly-horizontal-wrapper',\n imports: [FormlyModule],\n templateUrl: './si-formly-horizontal-wrapper.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\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 (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FieldWrapper } from '@ngx-formly/core';\nimport { SiTooltipDirective } from '@siemens/element-ng/tooltip';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\n@Component({\n selector: 'si-formly-icon-wrapper',\n imports: [SiTooltipDirective, SiTranslatePipe],\n templateUrl: './si-formly-icon-wrapper.component.html',\n styleUrl: './si-formly-icon-wrapper.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\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 (c) 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 (c) 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 { SiValidationErrorIdPipe } from '../utils';\nimport { SiFormlyFormFieldProviderDirective } from './si-formly-form-field-provider.directive';\n\n@Component({\n selector: 'si-formly-wrapper',\n imports: [\n SiFormItemComponent,\n FormlyModule,\n SiFormlyFormFieldProviderDirective,\n SiValidationErrorIdPipe\n ],\n templateUrl: './si-formly-wrapper.component.html'\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\n [class.ms-n8]=\"field.type === 'checkbox'\"\n [label]=\"label\"\n [labelWidth]=\"labelWidth\"\n [required]=\"props.required\"\n>\n <div class=\"w-100\" siFormlyFormFieldProvider [field]=\"field\">\n <ng-template #fieldComponent />\n <div class=\"invalid-feedback\" [class.d-block]=\"showError\">\n <!-- This string is hard-coded in the bootstrap fields. -->\n <!-- See https://github.com/ngx-formly/ngx-formly/blob/main/src/ui/bootstrap/input/src/input.type.ts -->\n <!-- We should get rid of the bootstrap package, to make it rely on our si-form-item code. -->\n <formly-validation-message [field]=\"field\" [id]=\"id | siValidationErrorId\" />\n </div>\n </div>\n</si-form-item>\n","/**\n * Copyright (c) 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';\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 = (): 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 },\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()\n }\n ]\n };\n};\n\n@NgModule({\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 declarations: [SiFormlyComponent],\n providers: [\n {\n provide: FORMLY_CONFIG,\n multi: true,\n useFactory: dynamicUiConfig\n }\n ],\n exports: [SiFormlyComponent]\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 (c) 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
+ {"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/utils.ts","../../../../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/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 (c) 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 // eslint-disable-next-line @angular-eslint/prefer-standalone\n standalone: false,\n templateUrl: './si-formly.component.html'\n})\nexport class SiFormlyComponent<\n TControl extends { [K in keyof TControl]: AbstractControl }\n> implements OnInit {\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 (c) 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 { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\n@Component({\n selector: 'si-formly-button',\n imports: [NgClass, SiTranslatePipe, FormlyModule],\n templateUrl: './si-formly-button.component.html'\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 (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Pipe, PipeTransform } from '@angular/core';\n\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@Pipe({ name: 'siValidationErrorId' })\nexport class SiValidationErrorIdPipe implements PipeTransform {\n transform(value: string, ...args: any[]): string {\n return `${value}-formly-validation-error`;\n }\n}\n","/**\n * Copyright (c) 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\nimport { SiValidationErrorIdPipe } from '../../utils';\n\n@Component({\n selector: 'si-formly-date-range',\n imports: [ReactiveFormsModule, FormlyModule, SiDateRangeComponent, SiValidationErrorIdPipe],\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 [required]=\"props.required ?? false\"\n [readonly]=\"props.readonly ?? dateRange.readonly()\"\n [autoClose]=\"props.autoClose ?? dateRange.autoClose()\"\n [errormessageId]=\"id | siValidationErrorId\"\n/>\n","/**\n * Copyright (c) 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\nimport { SiValidationErrorIdPipe } from '../../utils';\n\n@Component({\n selector: 'si-formly-datetime',\n imports: [\n FormsModule,\n ReactiveFormsModule,\n SiCalendarButtonComponent,\n SiDatepickerDirective,\n SiValidationErrorIdPipe\n ],\n templateUrl: './si-formly-datetime.component.html'\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 [errormessageId]=\"id | siValidationErrorId\"\n />\n</si-calendar-button>\n","/**\n * Copyright (c) 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\nimport { SiValidationErrorIdPipe } from '../../utils';\n\n@Component({\n selector: 'si-formly-email',\n imports: [FormsModule, ReactiveFormsModule, FormlyModule, SiValidationErrorIdPipe],\n templateUrl: './si-formly-email.component.html'\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 [attr.aria-describedby]=\"id | siValidationErrorId\"\n/>\n","/**\n * Copyright (c) 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\nimport { SiValidationErrorIdPipe } from '../../utils';\n\n@Component({\n selector: 'si-formly-ip-address',\n imports: [\n ReactiveFormsModule,\n FormlyModule,\n SiIp4InputDirective,\n SiIp6InputDirective,\n SiValidationErrorIdPipe\n ],\n templateUrl: './si-formly-ip-input.component.html'\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 [attr.aria-describedby]=\"id | siValidationErrorId\"\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 [attr.aria-describedby]=\"id | siValidationErrorId\"\n />\n}\n","/**\n * Copyright (c) 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\nimport { SiValidationErrorIdPipe } from '../../utils';\n\n@Component({\n selector: 'si-formly-number',\n imports: [ReactiveFormsModule, FormlyModule, SiNumberInputComponent, SiValidationErrorIdPipe],\n templateUrl: './si-formly-number.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\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 [errormessageId]=\"id | siValidationErrorId\"\n/>\n","/**\n * Copyright (c) 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\nimport { SiValidationErrorIdPipe } from '../../utils';\n\n@Component({\n selector: 'si-formly-password',\n imports: [\n FormsModule,\n ReactiveFormsModule,\n FormlyModule,\n SiPasswordStrengthComponent,\n SiPasswordStrengthDirective,\n SiValidationErrorIdPipe\n ],\n templateUrl: './si-formly-password.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\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 [attr.aria-describedby]=\"id | siValidationErrorId\"\n />\n</si-password-strength>\n","/**\n * Copyright (c) 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\nimport { SiValidationErrorIdPipe } from '../../utils';\n\n@Component({\n selector: 'si-formly-select',\n imports: [\n FormsModule,\n ReactiveFormsModule,\n FormlyModule,\n SiSelectComponent,\n SiSelectSimpleOptionsDirective,\n SiSelectMultiValueDirective,\n SiSelectSingleValueDirective,\n SiValidationErrorIdPipe\n ],\n templateUrl: './si-formly-select.component.html'\n})\nexport class SiFormlySelectComponent extends FieldType<FieldTypeConfig> {}\n","@if (props.multi) {\n <si-select\n #select\n class=\"form-control\"\n multi\n [id]=\"id\"\n [options]=\"props.optionsList\"\n [hasFilter]=\"props.hasFilter ?? select.hasFilter()\"\n [filterPlaceholder]=\"props.filterPlaceholder ?? select.filterPlaceholder()\"\n [placeholder]=\"props.placeholder ?? select.placeholder()\"\n [ariaLabel]=\"props.ariaLabel ?? select.ariaLabel()\"\n [noResultsFoundLabel]=\"props.noResultsFoundLabel ?? select.noResultsFoundLabel()\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [readonly]=\"props.readonly || false\"\n [errormessageId]=\"id | siValidationErrorId\"\n />\n} @else {\n <si-select\n #select\n class=\"form-control\"\n [id]=\"id\"\n [options]=\"props.optionsList\"\n [hasFilter]=\"props.hasFilter ?? select.hasFilter()\"\n [filterPlaceholder]=\"props.filterPlaceholder ?? select.filterPlaceholder()\"\n [placeholder]=\"props.placeholder ?? select.placeholder()\"\n [ariaLabel]=\"props.ariaLabel ?? select.ariaLabel()\"\n [noResultsFoundLabel]=\"props.noResultsFoundLabel ?? select.noResultsFoundLabel()\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [readonly]=\"props.readonly || false\"\n [errormessageId]=\"id | siValidationErrorId\"\n />\n}\n","/**\n * Copyright (c) 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 { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { getFieldValue, getKeyPath } from '../../utils';\n\n@Component({\n selector: 'si-formly-text-display',\n imports: [FormlyModule, ReactiveFormsModule, SiTranslatePipe],\n templateUrl: './si-formly-text-display.component.html'\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 class=\"py-4\">\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 (c) 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\nimport { SiValidationErrorIdPipe } from '../../utils';\n\n@Component({\n selector: 'si-formly-textarea',\n imports: [FormsModule, ReactiveFormsModule, FormlyModule, SiValidationErrorIdPipe],\n templateUrl: './si-formly-textarea.component.html',\n styleUrl: './si-formly-textarea.component.scss'\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 [attr.aria-describedby]=\"id | siValidationErrorId\"\n >\n </textarea>\n</div>\n","/**\n * Copyright (c) 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\nimport { SiValidationErrorIdPipe } from '../../utils';\n\n@Component({\n selector: 'si-formly-time',\n imports: [SiTimepickerComponent, ReactiveFormsModule, SiValidationErrorIdPipe],\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 [errormessageId]=\"id | siValidationErrorId\"\n />`\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 (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { FormlyFieldConfig } from '@ngx-formly/core';\nimport { injectSiTranslateService } from '@siemens/element-translate-ng/translate';\n\nexport class SiFormlyTranslateExtension {\n private translate = injectSiTranslateService();\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 (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { AfterViewInit, ChangeDetectionStrategy, 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 imports: [SiCollapsiblePanelComponent, FormlyModule, SiAccordionComponent],\n templateUrl: './si-formly-accordion.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\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>\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 (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FieldArrayType, FormlyModule } from '@ngx-formly/core';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\n@Component({\n selector: 'si-formly-array',\n imports: [FormlyModule, SiTranslatePipe],\n templateUrl: './si-formly-array.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\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 } @else {\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 } @else {\n <button class=\"btn btn-primary\" type=\"button\" (click)=\"add()\"> + </button>\n }\n </div>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, 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 imports: [FormlyModule, SiFormContainerComponent],\n templateUrl: './si-formly-object-grid.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\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 (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FieldType, FormlyModule } from '@ngx-formly/core';\n\n@Component({\n selector: 'si-formly-object-plain',\n imports: [FormlyModule],\n templateUrl: './si-formly-object-plain.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\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 (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FieldType, FormlyModule } from '@ngx-formly/core';\n\n@Component({\n selector: 'si-formly-object',\n imports: [FormlyModule],\n templateUrl: './si-formly-object.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\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 (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, 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 imports: [SiTabsetComponent, SiTabComponent, FormlyModule],\n templateUrl: './si-formly-object-tabset.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiFormlyObjectTabsetComponent extends FieldType {\n protected tabIndexChange(isActive: boolean, selectedTab: number): void {\n if (this.options?.formState && isActive) {\n this.options.formState.selectedTabIndex = selectedTab;\n }\n }\n}\n","<si-tabset class=\"d-flex si-layout-fixed-height\">\n @for (f of field.fieldGroup; track $index) {\n @let isTabActive = options.formState.selectedTabIndex === $index;\n @if (!(f.props?.hidden === true)) {\n <si-tab\n [heading]=\"f.props?.label || ''\"\n [active]=\"isTabActive\"\n (activeChange)=\"tabIndexChange($event, $index)\"\n >\n <div class=\"pt-8\">\n <formly-field [field]=\"f\" [formlyAttributes]=\"field\" />\n </div>\n </si-tab>\n }\n }\n</si-tabset>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, 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 changeDetection: ChangeDetectionStrategy.OnPush\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 (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FieldWrapper, FormlyModule } from '@ngx-formly/core';\n\n@Component({\n selector: 'si-formly-horizontal-wrapper',\n imports: [FormlyModule],\n templateUrl: './si-formly-horizontal-wrapper.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\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 (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FieldWrapper } from '@ngx-formly/core';\nimport { SiTooltipDirective } from '@siemens/element-ng/tooltip';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\n@Component({\n selector: 'si-formly-icon-wrapper',\n imports: [SiTooltipDirective, SiTranslatePipe],\n templateUrl: './si-formly-icon-wrapper.component.html',\n styleUrl: './si-formly-icon-wrapper.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\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 (c) 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 (c) 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 { SiValidationErrorIdPipe } from '../utils';\nimport { SiFormlyFormFieldProviderDirective } from './si-formly-form-field-provider.directive';\n\n@Component({\n selector: 'si-formly-wrapper',\n imports: [\n SiFormItemComponent,\n FormlyModule,\n SiFormlyFormFieldProviderDirective,\n SiValidationErrorIdPipe\n ],\n templateUrl: './si-formly-wrapper.component.html'\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\n [class.ms-n8]=\"field.type === 'checkbox'\"\n [label]=\"label\"\n [labelWidth]=\"labelWidth\"\n [required]=\"props.required\"\n>\n <div class=\"w-100\" siFormlyFormFieldProvider [field]=\"field\">\n <ng-template #fieldComponent />\n <div class=\"invalid-feedback\" [class.d-block]=\"showError\">\n <!-- This string is hard-coded in the bootstrap fields. -->\n <!-- See https://github.com/ngx-formly/ngx-formly/blob/main/src/ui/bootstrap/input/src/input.type.ts -->\n <!-- We should get rid of the bootstrap package, to make it rely on our si-form-item code. -->\n <formly-validation-message [field]=\"field\" [id]=\"id | siValidationErrorId\" />\n </div>\n </div>\n</si-form-item>\n","/**\n * Copyright (c) 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';\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 = (): 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 },\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()\n }\n ]\n };\n};\n\n@NgModule({\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 declarations: [SiFormlyComponent],\n providers: [\n {\n provide: FORMLY_CONFIG,\n multi: true,\n useFactory: dynamicUiConfig\n }\n ],\n exports: [SiFormlyComponent]\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 (c) 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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"}
@@ -271,11 +271,11 @@ const elementSoundMute = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/
271
271
  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>";
272
272
  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>";
273
273
  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>";
274
- 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>";
275
- const elementStateInfo = "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 356c-11.05 0-20-8.95-20-20v-80c0-11.05 8.95-20 20-20s20 8.95 20 20v80c0 11.05-8.95 20-20 20ZM256.17 156.32h-.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>";
276
- const elementStatePause = "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='M222 349.5c-11.05 0-20-8.95-20-20v-147c0-11.05 8.95-20 20-20s20 8.95 20 20v147c0 11.05-8.95 20-20 20ZM290 349.5c-11.05 0-20-8.95-20-20v-147c0-11.05 8.95-20 20-20s20 8.95 20 20v147c0 11.05-8.95 20-20 20Z'/></svg>";
274
+ const elementStateExclamationMark = "data:image/svg+xml;utf8,<svg 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>";
275
+ const elementStateInfo = "data:image/svg+xml;utf8,<svg 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 356c-11.05 0-20-8.95-20-20v-80c0-11.05 8.95-20 20-20s20 8.95 20 20v80c0 11.05-8.95 20-20 20ZM256.17 156.32h-.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>";
276
+ const elementStatePause = "data:image/svg+xml;utf8,<svg 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='M222 349.5c-11.05 0-20-8.95-20-20v-147c0-11.05 8.95-20 20-20s20 8.95 20 20v147c0 11.05-8.95 20-20 20ZM290 349.5c-11.05 0-20-8.95-20-20v-147c0-11.05 8.95-20 20-20s20 8.95 20 20v147c0 11.05-8.95 20-20 20Z'/></svg>";
277
277
  const elementStateProgress = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M270.43 253.68V114.43c69.75 0 127.15 62.86 127.15 139.26 0 38.04-14.23 74.47-39.36 100.74l-87.79-100.74Z'/></svg>";
278
- const elementStateQuestionMark = "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 311c-11.05 0-20-8.95-20-20v-29.22a19.994 19.994 0 0 1 13.63-18.96c10.43-3.62 33.09-15.84 33.09-28.82.02-11.91-7.5-22.54-18.71-26.49-14.56-5.12-30.58 2.56-35.7 17.12-3.67 10.42-15.08 15.9-25.5 12.23s-15.9-15.08-12.23-25.5c12.44-35.37 51.34-54.02 86.71-41.58 27.22 9.58 45.48 35.4 45.44 64.25 0 13.92-5.57 34.34-32.11 52.4-5.12 3.49-10.2 6.31-14.61 8.5V291c0 11.05-8.95 20-20 20ZM256.16 375h-.32c-13.17 0-23.84-10.75-23.84-24s10.67-24 23.84-24h.32c13.17 0 23.84 10.75 23.84 24s-10.67 24-23.84 24Z'/></svg>";
278
+ const elementStateQuestionMark = "data:image/svg+xml;utf8,<svg 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 311c-11.05 0-20-8.95-20-20v-29.22a19.994 19.994 0 0 1 13.63-18.96c10.43-3.62 33.09-15.84 33.09-28.82.02-11.91-7.5-22.54-18.71-26.49-14.56-5.12-30.58 2.56-35.7 17.12-3.67 10.42-15.08 15.9-25.5 12.23s-15.9-15.08-12.23-25.5c12.44-35.37 51.34-54.02 86.71-41.58 27.22 9.58 45.48 35.4 45.44 64.25 0 13.92-5.57 34.34-32.11 52.4-5.12 3.49-10.2 6.31-14.61 8.5V291c0 11.05-8.95 20-20 20ZM256.16 375h-.32c-13.17 0-23.84-10.75-23.84-24s10.67-24 23.84-24h.32c13.17 0 23.84 10.75 23.84 24s-10.67 24-23.84 24Z'/></svg>";
279
279
  const elementStateTick = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M222.25 345.88c-5.12 0-10.24-1.95-14.14-5.86l-56.25-56.25c-7.81-7.81-7.81-20.47 0-28.29s20.47-7.81 28.28 0l42.11 42.11 109.61-109.61c7.81-7.81 20.47-7.81 28.28 0s7.81 20.47 0 28.29L236.39 340.02a19.92 19.92 0 0 1-14.14 5.86Z' style='stroke-width:0'/></svg>";
280
280
  const elementTriangleFilled = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='m441.77 338.25-.1-.17L295.72 94.42a46.45 46.45 0 0 0-79.44 0 .21.21 0 0 0 0 .06L70.32 338.08l-.1.17a46.45 46.45 0 0 0 39.72 69.68h292.11a46.46 46.46 0 0 0 39.72-69.68Z'/></svg>";
281
281
  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>";