@covalent/dynamic-forms 9.1.3 → 10.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/fesm2022/covalent-dynamic-forms.mjs +473 -239
  2. package/fesm2022/covalent-dynamic-forms.mjs.map +1 -1
  3. package/lib/dynamic-element.component.d.ts +3 -3
  4. package/lib/dynamic-elements/dynamic-checkbox/dynamic-checkbox.component.d.ts +1 -1
  5. package/lib/dynamic-elements/dynamic-datepicker/dynamic-datepicker.component.d.ts +1 -1
  6. package/lib/dynamic-elements/dynamic-file-input/dynamic-file-input.component.d.ts +1 -1
  7. package/lib/dynamic-elements/dynamic-input/dynamic-input.component.d.ts +1 -1
  8. package/lib/dynamic-elements/dynamic-select/dynamic-select.component.d.ts +1 -1
  9. package/lib/dynamic-elements/dynamic-slide-toggle/dynamic-slide-toggle.component.d.ts +1 -1
  10. package/lib/dynamic-elements/dynamic-slider/dynamic-slider.component.d.ts +1 -1
  11. package/lib/dynamic-elements/dynamic-textarea/dynamic-textarea.component.d.ts +1 -1
  12. package/lib/dynamic-forms.component.d.ts +1 -1
  13. package/lib/dynamic-forms.module.d.ts +1 -13
  14. package/package.json +9 -8
  15. package/esm2022/covalent-dynamic-forms.mjs +0 -5
  16. package/esm2022/lib/dynamic-element.component.mjs +0 -229
  17. package/esm2022/lib/dynamic-elements/dynamic-checkbox/dynamic-checkbox.component.mjs +0 -18
  18. package/esm2022/lib/dynamic-elements/dynamic-datepicker/dynamic-datepicker.component.mjs +0 -26
  19. package/esm2022/lib/dynamic-elements/dynamic-file-input/dynamic-file-input.component.mjs +0 -28
  20. package/esm2022/lib/dynamic-elements/dynamic-input/dynamic-input.component.mjs +0 -27
  21. package/esm2022/lib/dynamic-elements/dynamic-select/dynamic-select.component.mjs +0 -25
  22. package/esm2022/lib/dynamic-elements/dynamic-slide-toggle/dynamic-slide-toggle.component.mjs +0 -18
  23. package/esm2022/lib/dynamic-elements/dynamic-slider/dynamic-slider.component.mjs +0 -30
  24. package/esm2022/lib/dynamic-elements/dynamic-textarea/dynamic-textarea.component.mjs +0 -22
  25. package/esm2022/lib/dynamic-forms.component.mjs +0 -191
  26. package/esm2022/lib/dynamic-forms.module.mjs +0 -125
  27. package/esm2022/lib/services/dynamic-forms.service.mjs +0 -140
  28. package/esm2022/public_api.mjs +0 -13
@@ -1 +1 @@
1
- {"version":3,"file":"covalent-dynamic-forms.mjs","sources":["../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-input/dynamic-input.component.ts","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-input/dynamic-input.component.html","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-file-input/dynamic-file-input.component.ts","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-file-input/dynamic-file-input.component.html","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-textarea/dynamic-textarea.component.ts","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-textarea/dynamic-textarea.component.html","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-slide-toggle/dynamic-slide-toggle.component.ts","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-slide-toggle/dynamic-slide-toggle.component.html","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-checkbox/dynamic-checkbox.component.ts","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-checkbox/dynamic-checkbox.component.html","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-slider/dynamic-slider.component.ts","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-slider/dynamic-slider.component.html","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-select/dynamic-select.component.ts","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-select/dynamic-select.component.html","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-datepicker/dynamic-datepicker.component.ts","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-datepicker/dynamic-datepicker.component.html","../../../../libs/angular-dynamic-forms/src/lib/services/dynamic-forms.service.ts","../../../../libs/angular-dynamic-forms/src/lib/dynamic-element.component.ts","../../../../libs/angular-dynamic-forms/src/lib/dynamic-forms.component.ts","../../../../libs/angular-dynamic-forms/src/lib/dynamic-forms.component.html","../../../../libs/angular-dynamic-forms/src/lib/dynamic-forms.module.ts","../../../../libs/angular-dynamic-forms/src/covalent-dynamic-forms.ts"],"sourcesContent":["import { Component, TemplateRef } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\n\n@Component({\n selector: 'td-dynamic-input',\n styleUrls: ['./dynamic-input.component.scss'],\n templateUrl: './dynamic-input.component.html',\n})\nexport class TdDynamicInputComponent {\n control!: UntypedFormControl;\n\n label = '';\n\n hint = '';\n\n type!: string;\n\n required = false;\n\n name = '';\n\n min?: number;\n\n max?: number;\n\n minLength?: number;\n\n maxLength?: number;\n\n errorMessageTemplate!: TemplateRef<any>;\n\n placeholder = '';\n}\n","<div class=\"td-dynamic-input-wrapper\">\n <mat-form-field class=\"td-dynamic-input-field\">\n <mat-label>{{ label }}</mat-label>\n <input\n #elementInput\n matInput\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [type]=\"type\"\n [required]=\"required\"\n [name]=\"name\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.minLength]=\"minLength\"\n [attr.maxLength]=\"maxLength\"\n />\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{\n control: control,\n errors: control.errors\n }\"\n ></ng-template>\n </mat-error>\n </mat-form-field>\n</div>\n","import { Component, TemplateRef } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\n\n@Component({\n selector: 'td-dynamic-file-input',\n styleUrls: ['./dynamic-file-input.component.scss'],\n templateUrl: './dynamic-file-input.component.html',\n})\nexport class TdDynamicFileInputComponent {\n control!: UntypedFormControl;\n\n required = false;\n\n label = '';\n\n name = '';\n\n hint = '';\n\n errorMessageTemplate!: TemplateRef<any>;\n\n placeholder = '';\n\n _handlefileDrop(value: any): void {\n this.control?.setValue(value);\n }\n}\n","<div class=\"td-dynamic-file-input-wrapper\">\n <mat-form-field\n tdFileDrop\n class=\"td-dynamic-file-input-field\"\n [disabled]=\"control.disabled\"\n (fileDrop)=\"_handlefileDrop($event)\"\n (click)=\"!control.disabled && fileInput.inputElement.click()\"\n (keyup.enter)=\"!control.disabled && fileInput.inputElement.click()\"\n (keyup.delete)=\"fileInput.clear()\"\n (keyup.backspace)=\"fileInput.clear()\"\n >\n <mat-label>{{ label }}</mat-label>\n <input\n matInput\n [value]=\"control.value?.name\"\n [placeholder]=\"placeholder\"\n [name]=\"name\"\n [disabled]=\"control.disabled\"\n readonly\n />\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{\n control: control,\n errors: control.errors\n }\"\n ></ng-template>\n </mat-error>\n </mat-form-field>\n <button\n mat-icon-button\n *ngIf=\"control.value\"\n (click)=\"fileInput.clear()\"\n (keyup.enter)=\"fileInput.clear()\"\n >\n <mat-icon>cancel</mat-icon>\n </button>\n <td-file-input class=\"td-file-input\" #fileInput [formControl]=\"control\">\n <mat-icon>folder</mat-icon>\n <span>{{ label }}</span>\n </td-file-input>\n</div>\n","import { Component, TemplateRef } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\n\n@Component({\n selector: 'td-dynamic-textarea',\n styleUrls: ['./dynamic-textarea.component.scss'],\n templateUrl: './dynamic-textarea.component.html',\n})\nexport class TdDynamicTextareaComponent {\n control!: UntypedFormControl;\n\n label = '';\n\n hint = '';\n\n name = '';\n\n required = false;\n\n errorMessageTemplate!: TemplateRef<any>;\n\n placeholder = '';\n}\n","<div class=\"td-dynamic-textarea-wrapper\">\n <mat-form-field class=\"td-dynamic-textarea-field\">\n <mat-label>{{ label }}</mat-label>\n <textarea\n #elementInput\n matInput\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [name]=\"name\"\n rows=\"4\"\n ></textarea>\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{\n control: control,\n errors: control.errors\n }\"\n ></ng-template>\n </mat-error>\n </mat-form-field>\n</div>\n","import { Component } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\n\n@Component({\n selector: 'td-dynamic-slide-toggle',\n styleUrls: ['./dynamic-slide-toggle.component.scss'],\n templateUrl: './dynamic-slide-toggle.component.html',\n})\nexport class TdDynamicSlideToggleComponent {\n control!: UntypedFormControl;\n\n label = '';\n\n name = '';\n\n hint = '';\n\n required = false;\n}\n","<div class=\"td-dynamic-slide-toggle-wrapper\">\n <mat-slide-toggle\n [formControl]=\"control\"\n [attr.name]=\"name\"\n [required]=\"required\"\n color=\"primary\"\n >\n {{ label }}\n </mat-slide-toggle>\n <span class=\"mat-hint td-dynamic-element-hint\">{{ hint }}</span>\n</div>\n","import { Component } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\n\n@Component({\n selector: 'td-dynamic-checkbox',\n styleUrls: ['./dynamic-checkbox.component.scss'],\n templateUrl: './dynamic-checkbox.component.html',\n})\nexport class TdDynamicCheckboxComponent {\n control!: UntypedFormControl;\n\n label = '';\n\n name = '';\n\n hint = '';\n\n required = false;\n}\n","<div class=\"td-dynamic-checkbox-wrapper\">\n <mat-checkbox [formControl]=\"control\" [name]=\"name\" [required]=\"required\">\n {{ label }}\n </mat-checkbox>\n <span class=\"mat-hint td-dynamic-element-hint\">{{ hint }}</span>\n</div>\n","import { Component, ChangeDetectorRef } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\n\n@Component({\n selector: 'td-dynamic-slider',\n styleUrls: ['./dynamic-slider.component.scss'],\n templateUrl: './dynamic-slider.component.html',\n})\nexport class TdDynamicSliderComponent {\n control!: UntypedFormControl;\n\n label = '';\n\n required = false;\n\n name = '';\n\n hint = '';\n\n min?: number;\n\n max?: number;\n\n constructor(private _changeDetectorRef: ChangeDetectorRef) {}\n\n _handleBlur(): void {\n setTimeout(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n}\n","<div\n class=\"td-dynamic-slider-wrapper mat-form-field mat-form-field-can-float mat-form-field-should-float\"\n>\n <span class=\"mat-form-field-label-wrapper\">\n <label class=\"mat-form-field-label mat-primary td-slider-label\">\n {{ label }}\n <span\n *ngIf=\"required && !control?.disabled\"\n class=\"mat-form-field-required-marker\"\n >*</span\n >\n </label>\n </span>\n <div class=\"td-dynamic-slider-field\">\n <mat-slider\n #slider\n class=\"td-dynamic-slider\"\n thumbLabel\n tickInterval=\"auto\"\n (blur)=\"_handleBlur()\"\n >\n <input\n [attr.name]=\"name\"\n [min]=\"min\"\n [max]=\"max\"\n [formControl]=\"control\"\n [required]=\"required\"\n matSliderThumb\n />\n </mat-slider>\n </div>\n <span class=\"mat-hint td-dynamic-element-hint\">{{ hint }}</span>\n</div>\n","import { Component, TemplateRef } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\n\n@Component({\n selector: 'td-dynamic-select',\n styleUrls: ['./dynamic-select.component.scss'],\n templateUrl: './dynamic-select.component.html',\n})\nexport class TdDynamicSelectComponent {\n control!: UntypedFormControl;\n\n label = '';\n\n hint = '';\n\n name = '';\n\n required = false;\n\n selections?: any[];\n\n multiple?: boolean;\n\n errorMessageTemplate!: TemplateRef<any>;\n\n placeholder = '';\n}\n","<div class=\"td-dynamic-select-wrapper\">\n <mat-form-field class=\"td-dynamic-select-field\">\n <mat-label>{{ label }}</mat-label>\n <mat-select\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [attr.name]=\"name\"\n [multiple]=\"multiple\"\n >\n <mat-option\n *ngFor=\"let selection of selections\"\n [value]=\"selection.value ?? selection\"\n >\n {{ selection.label || selection }}\n </mat-option>\n </mat-select>\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{\n control: control,\n errors: control.errors\n }\"\n ></ng-template>\n </mat-error>\n </mat-form-field>\n</div>\n","import { Component, TemplateRef } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\n\n@Component({\n selector: 'td-dynamic-datepicker',\n styleUrls: ['./dynamic-datepicker.component.scss'],\n templateUrl: './dynamic-datepicker.component.html',\n})\nexport class TdDynamicDatepickerComponent {\n control!: UntypedFormControl;\n\n label = '';\n\n hint = '';\n\n name = '';\n\n type?: string;\n\n required = false;\n\n min?: number;\n\n max?: number;\n\n errorMessageTemplate!: TemplateRef<any>;\n\n placeholder = '';\n}\n","<div class=\"td-dynamic-datepicker-wrapper\">\n <mat-form-field class=\"td-dynamic-datepicker-field\">\n <mat-label>{{ label }}</mat-label>\n <input\n #elementInput\n matInput\n [matDatepicker]=\"dynamicDatePicker\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [name]=\"name\"\n [min]=\"min\"\n [max]=\"max\"\n />\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{\n control: control,\n errors: control.errors\n }\"\n ></ng-template>\n </mat-error>\n <mat-datepicker-toggle\n matSuffix\n [for]=\"dynamicDatePicker\"\n ></mat-datepicker-toggle>\n <mat-datepicker #dynamicDatePicker></mat-datepicker>\n </mat-form-field>\n</div>\n","import { Injectable, Provider, SkipSelf, Optional, Type } from '@angular/core';\nimport { Validators, ValidatorFn, UntypedFormControl } from '@angular/forms';\n\nimport { TdDynamicInputComponent } from '../dynamic-elements/dynamic-input/dynamic-input.component';\nimport { TdDynamicFileInputComponent } from '../dynamic-elements/dynamic-file-input/dynamic-file-input.component';\nimport { TdDynamicTextareaComponent } from '../dynamic-elements/dynamic-textarea/dynamic-textarea.component';\nimport { TdDynamicSlideToggleComponent } from '../dynamic-elements/dynamic-slide-toggle/dynamic-slide-toggle.component';\nimport { TdDynamicCheckboxComponent } from '../dynamic-elements/dynamic-checkbox/dynamic-checkbox.component';\nimport { TdDynamicSliderComponent } from '../dynamic-elements/dynamic-slider/dynamic-slider.component';\nimport { TdDynamicSelectComponent } from '../dynamic-elements/dynamic-select/dynamic-select.component';\nimport { TdDynamicDatepickerComponent } from '../dynamic-elements/dynamic-datepicker/dynamic-datepicker.component';\n\nexport enum TdDynamicType {\n Text = 'text',\n Boolean = 'boolean',\n Number = 'number',\n Array = 'array',\n Date = 'date',\n}\n\nexport enum TdDynamicElement {\n Input = 'input',\n Datepicker = 'datepicker',\n Password = 'password',\n Textarea = 'textarea',\n Slider = 'slider',\n SlideToggle = 'slide-toggle',\n Checkbox = 'checkbox',\n Select = 'select',\n FileInput = 'file-input',\n}\n\nexport interface ITdDynamicElementValidator {\n validator: ValidatorFn;\n}\n\n// Property values to be set in custom component\nexport interface ITdDynamicElementCustomConfig {\n [name: string]: any;\n}\n\nexport interface ITdDynamicElementConfig {\n label?: string;\n name: string;\n hint?: string;\n type: TdDynamicType | TdDynamicElement | Type<any>;\n required?: boolean;\n disabled?: boolean;\n min?: any;\n max?: any;\n minLength?: any;\n maxLength?: any;\n selections?: string[] | { value: any; label: string }[];\n multiple?: boolean;\n default?: any;\n flex?: number;\n validators?: ITdDynamicElementValidator[];\n customConfig?: ITdDynamicElementCustomConfig;\n placeholder?: string;\n}\n\nexport const DYNAMIC_ELEMENT_NAME_REGEX = /^[^0-9][^@]*$/;\n\n@Injectable()\nexport class TdDynamicFormsService {\n /**\n * Method to validate if the [name] is a proper element name.\n * Throws error if name is not valid.\n */\n validateDynamicElementName(name: string): void {\n if (!DYNAMIC_ELEMENT_NAME_REGEX.test(name)) {\n throw new Error('Dynamic element name: \"${name}\" is not valid.');\n }\n }\n\n /**\n * Gets component to be rendered depending on [TdDynamicElement | TdDynamicType]\n * Throws error if it does not exists or not supported.\n */\n getDynamicElement(\n element: TdDynamicElement | TdDynamicType | Type<any> | undefined\n ): any {\n switch (element) {\n case TdDynamicType.Text:\n case TdDynamicType.Number:\n case TdDynamicElement.Input:\n case TdDynamicElement.Password:\n return TdDynamicInputComponent;\n case TdDynamicElement.Textarea:\n return TdDynamicTextareaComponent;\n case TdDynamicType.Boolean:\n case TdDynamicElement.SlideToggle:\n return TdDynamicSlideToggleComponent;\n case TdDynamicElement.Checkbox:\n return TdDynamicCheckboxComponent;\n case TdDynamicElement.Slider:\n return TdDynamicSliderComponent;\n case TdDynamicType.Array:\n case TdDynamicElement.Select:\n return TdDynamicSelectComponent;\n case TdDynamicElement.FileInput:\n return TdDynamicFileInputComponent;\n case TdDynamicElement.Datepicker:\n case TdDynamicType.Date:\n return TdDynamicDatepickerComponent;\n default:\n throw new Error(\n `Error: type ${element} does not exist or not supported.`\n );\n }\n }\n\n /**\n * Creates form control for element depending [ITdDynamicElementConfig] properties.\n */\n createFormControl(config: ITdDynamicElementConfig): UntypedFormControl {\n const validator = this.createValidators(config);\n return new UntypedFormControl(\n { value: config.default, disabled: config.disabled },\n validator\n );\n }\n\n /**\n * Creates form validationdepending [ITdDynamicElementConfig] properties.\n */\n createValidators(config: ITdDynamicElementConfig): ValidatorFn | null {\n let validator: ValidatorFn | null = null;\n if (config.required) {\n validator = Validators.required;\n }\n if (config.max || config.max === 0) {\n validator = Validators.compose([\n validator,\n Validators.max(parseFloat(config.max)),\n ]);\n }\n if (config.min || config.min === 0) {\n validator = Validators.compose([\n validator,\n Validators.min(parseFloat(config.min)),\n ]);\n }\n if (config.maxLength || config.maxLength === 0) {\n validator = Validators.compose([\n validator,\n Validators.maxLength(parseFloat(config.maxLength)),\n ]);\n }\n if (config.minLength || config.minLength === 0) {\n validator = Validators.compose([\n validator,\n Validators.minLength(parseFloat(config.minLength)),\n ]);\n }\n // Add provided custom validators to the validator function\n if (config.validators) {\n config.validators.forEach(\n (validatorConfig: ITdDynamicElementValidator) => {\n validator = Validators.compose([\n validator,\n validatorConfig.validator,\n ]);\n }\n );\n }\n return validator;\n }\n}\n\nexport function DYNAMIC_FORMS_PROVIDER_FACTORY(\n parent: TdDynamicFormsService\n): TdDynamicFormsService {\n return parent || new TdDynamicFormsService();\n}\n\nexport const DYNAMIC_FORMS_PROVIDER: Provider = {\n // If there is already a service available, use that. Otherwise, provide a new one.\n provide: TdDynamicFormsService,\n deps: [[new Optional(), new SkipSelf(), TdDynamicFormsService]],\n useFactory: DYNAMIC_FORMS_PROVIDER_FACTORY,\n};\n","import {\n Component,\n Directive,\n Input,\n HostBinding,\n OnInit,\n SimpleChanges,\n OnChanges,\n TemplateRef,\n ChangeDetectorRef,\n Type,\n Injector,\n} from '@angular/core';\nimport { ViewChild, ViewContainerRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, AbstractControl } from '@angular/forms';\nimport { CdkPortal } from '@angular/cdk/portal';\n\nimport {\n mixinControlValueAccessor,\n IControlValueAccessor,\n} from '@covalent/core/common';\n\nimport {\n TdDynamicElement,\n TdDynamicType,\n TdDynamicFormsService,\n ITdDynamicElementCustomConfig,\n} from './services/dynamic-forms.service';\n\nexport class TdDynamicElementBase {\n constructor(public _changeDetectorRef: ChangeDetectorRef) {}\n}\n\n/* tslint:disable-next-line */\nexport const _TdDynamicElementMixinBase =\n mixinControlValueAccessor(TdDynamicElementBase);\n\n@Directive({ selector: '[tdDynamicFormsError]ng-template' })\nexport class TdDynamicFormsErrorTemplateDirective extends CdkPortal {\n @Input() tdDynamicFormsError?: string;\n constructor(\n public override templateRef: TemplateRef<any>,\n viewContainerRef: ViewContainerRef\n ) {\n super(templateRef, viewContainerRef);\n }\n}\n\n@Directive({\n selector: '[tdDynamicContainer]',\n})\nexport class TdDynamicElementDirective {\n constructor(public viewContainer: ViewContainerRef) {}\n}\n\n@Component({\n providers: [\n TdDynamicFormsService,\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: TdDynamicElementComponent,\n multi: true,\n },\n ],\n selector: 'td-dynamic-element',\n template: '<div tdDynamicContainer></div>',\n})\nexport class TdDynamicElementComponent\n extends _TdDynamicElementMixinBase\n implements IControlValueAccessor, OnInit, OnChanges\n{\n private _instance: any;\n\n /**\n * Sets form control of the element.\n */\n @Input() dynamicControl!: AbstractControl;\n\n /**\n * Sets label to be displayed.\n */\n @Input() label = '';\n\n /**\n * Sets hint to be displayed.\n */\n @Input() hint? = '';\n\n /**\n * Sets name to be displayed as attribute.\n */\n @Input() name = '';\n\n /**\n * Sets type or element of element to be rendered.\n * Throws error if does not exist or no supported.\n */\n @Input() type?: TdDynamicElement | TdDynamicType | Type<any>;\n\n /**\n * Sets required validation checkup (if supported by element).\n */\n @Input() required?: boolean | string | undefined;\n\n /**\n * Sets min validation checkup (if supported by element).\n */\n @Input() min?: number;\n\n /**\n * Sets max validation checkup (if supported by element).\n */\n @Input() max?: number;\n\n /**\n * Sets minLength validation checkup (if supported by element).\n */\n @Input() minLength?: number;\n\n /**\n * Sets maxLength validation checkup (if supported by element).\n */\n @Input() maxLength?: number;\n\n /**\n * Sets selections for array elements (if supported by element).\n */\n @Input() selections?: any[];\n\n /**\n * Sets multiple property for array elements (if supported by element).\n */\n @Input() multiple?: boolean;\n\n /**\n * Sets any additional properties on custom component.\n */\n @Input() customConfig?: ITdDynamicElementCustomConfig;\n\n /**\n * Sets error message template so it can be injected into dynamic components.\n */\n @Input() errorMessageTemplate!: TemplateRef<any> | undefined;\n\n /**\n * Sets the placeholder message\n */\n @Input() placeholder? = '';\n\n @ViewChild(TdDynamicElementDirective, { static: true })\n childElement!: TdDynamicElementDirective;\n\n @HostBinding('attr.max')\n get maxAttr(): any {\n return this.max;\n }\n\n @HostBinding('attr.min')\n get minAttr(): any {\n return this.min;\n }\n\n constructor(\n private _injector: Injector,\n private _dynamicFormsService: TdDynamicFormsService,\n _changeDetectorRef: ChangeDetectorRef\n ) {\n super(_changeDetectorRef);\n }\n\n ngOnInit(): void {\n const component: any =\n <any>this.type instanceof Type\n ? this.type\n : this._dynamicFormsService.getDynamicElement(this.type);\n const ref = this.childElement.viewContainer.createComponent(component, {\n injector: this._injector,\n });\n this._instance = ref.instance;\n this._instance.control = this.dynamicControl;\n this._instance.label = this.label;\n this._instance.hint = this.hint;\n this._instance.name = this.name;\n this._instance.type = this.type;\n this._instance.value = this.value;\n this._instance.required = this.required;\n this._instance.min = this.min;\n this._instance.max = this.max;\n this._instance.minLength = this.minLength;\n this._instance.maxLength = this.maxLength;\n this._instance.selections = this.selections;\n this._instance.multiple = this.multiple;\n this._instance.errorMessageTemplate = this.errorMessageTemplate;\n this._instance.placeholder = this.placeholder;\n if (this.customConfig) {\n Object.getOwnPropertyNames(this.customConfig).forEach((name: string) => {\n if (this.customConfig) {\n this._instance[name] = this.customConfig[name];\n }\n });\n }\n }\n\n /**\n * Reassign any inputs that have changed\n */\n ngOnChanges(changes: SimpleChanges): void {\n if (this._instance) {\n for (const prop of Object.keys(changes)) {\n this._instance[prop] = changes[prop].currentValue;\n }\n }\n }\n}\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n ContentChildren,\n TemplateRef,\n QueryList,\n AfterContentInit,\n OnDestroy,\n} from '@angular/core';\nimport {\n UntypedFormGroup,\n UntypedFormBuilder,\n AbstractControl,\n} from '@angular/forms';\n\nimport {\n TdDynamicFormsService,\n ITdDynamicElementConfig,\n} from './services/dynamic-forms.service';\nimport { TdDynamicFormsErrorTemplateDirective } from './dynamic-element.component';\n\nimport { timer, Subject, Observable } from 'rxjs';\nimport { takeUntil, filter } from 'rxjs/operators';\n\n@Component({\n selector: 'td-dynamic-forms',\n templateUrl: './dynamic-forms.component.html',\n styleUrls: ['./dynamic-forms.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdDynamicFormsComponent implements AfterContentInit, OnDestroy {\n private _renderedElements: ITdDynamicElementConfig[] = [];\n private _elements!: ITdDynamicElementConfig[];\n private _templateMap: Map<string, TemplateRef<any>> = new Map<\n string,\n TemplateRef<any>\n >();\n private _destroy$: Subject<any> = new Subject();\n private _destroyControl$: Subject<string> = new Subject();\n\n @ContentChildren(TdDynamicFormsErrorTemplateDirective, { descendants: true })\n _errorTemplates!: QueryList<TdDynamicFormsErrorTemplateDirective>;\n dynamicForm!: UntypedFormGroup;\n\n /**\n * elements: ITdDynamicElementConfig[]\n * JS Object that will render the elements depending on its config.\n * [name] property is required.\n */\n @Input()\n set elements(elements: ITdDynamicElementConfig[]) {\n if (elements) {\n this._elements = elements;\n } else {\n this._elements = [];\n }\n this._rerenderElements();\n }\n get elements(): ITdDynamicElementConfig[] {\n return this._renderedElements;\n }\n\n /**\n * Getter property for dynamic [FormGroup].\n */\n get form(): UntypedFormGroup {\n return this.dynamicForm;\n }\n\n /**\n * Getter property for [valid] of dynamic [FormGroup].\n */\n get valid(): boolean {\n if (this.dynamicForm) {\n return this.dynamicForm.valid;\n }\n return false;\n }\n\n /**\n * Getter property for [value] of dynamic [FormGroup].\n */\n get value(): any {\n if (this.dynamicForm) {\n return this.dynamicForm.value;\n }\n return {};\n }\n\n /**\n * Getter property for [errors] of dynamic [FormGroup].\n */\n get errors(): { [name: string]: any } {\n if (this.dynamicForm) {\n const errors: { [name: string]: any } = {};\n for (const name of Object.keys(this.dynamicForm.controls)) {\n errors[name] = this.dynamicForm.controls[name].errors;\n }\n return errors;\n }\n return {};\n }\n\n /**\n * Getter property for [controls] of dynamic [FormGroup].\n */\n get controls(): { [key: string]: AbstractControl } {\n if (this.dynamicForm) {\n return this.dynamicForm.controls;\n }\n return {};\n }\n\n constructor(\n private _formBuilder: UntypedFormBuilder,\n private _dynamicFormsService: TdDynamicFormsService,\n private _changeDetectorRef: ChangeDetectorRef\n ) {\n this.dynamicForm = this._formBuilder.group({});\n }\n\n ngAfterContentInit(): void {\n this._updateErrorTemplates();\n }\n\n ngOnDestroy(): void {\n this._destroy$.next(0);\n this._destroy$.complete();\n this._destroyControl$.complete();\n }\n\n /**\n * Refreshes the form and rerenders all validator/element modifications.\n */\n refresh(): void {\n this._rerenderElements();\n this._updateErrorTemplates();\n }\n\n /**\n * Getter method for error template references\n */\n getErrorTemplateRef(name: string): TemplateRef<any> | undefined {\n return this._templateMap.get(name);\n }\n\n /**\n * Loads error templates and sets them in a map for faster access.\n */\n private _updateErrorTemplates(): void {\n this._templateMap = new Map<string, TemplateRef<any>>();\n for (const errorTemplate of this._errorTemplates.toArray()) {\n this._templateMap.set(\n errorTemplate.tdDynamicFormsError ?? '',\n errorTemplate.templateRef\n );\n }\n }\n\n private _rerenderElements(): void {\n this._clearRemovedElements();\n this._renderedElements = [];\n const duplicates: string[] = [];\n this._elements.forEach((elem: ITdDynamicElementConfig) => {\n this._dynamicFormsService.validateDynamicElementName(elem.name);\n if (duplicates.indexOf(elem.name) > -1) {\n throw new Error(`Dynamic element name: \"${elem.name}\" is duplicated`);\n }\n duplicates.push(elem.name);\n const dynamicElement: AbstractControl | null = this.dynamicForm.get(\n elem.name\n );\n if (!dynamicElement) {\n this.dynamicForm.addControl(\n elem.name,\n this._dynamicFormsService.createFormControl(elem)\n );\n this._subscribeToControlStatusChanges(elem.name);\n } else {\n dynamicElement.setValue(elem.default);\n dynamicElement.markAsPristine();\n dynamicElement.markAsUntouched();\n if (elem.disabled) {\n dynamicElement.disable();\n } else {\n dynamicElement.enable();\n }\n dynamicElement.setValidators(\n this._dynamicFormsService.createValidators(elem)\n );\n }\n // copy objects so they are only changes when calling this method\n this._renderedElements.push(Object.assign({}, elem));\n });\n // call a change detection since the whole form might change\n this._changeDetectorRef.detectChanges();\n timer(0)\n .toPromise()\n .then(() => {\n // call a markForCheck so elements are rendered correctly in OnPush\n this._changeDetectorRef.markForCheck();\n });\n }\n\n private _clearRemovedElements(): void {\n this._renderedElements = this._renderedElements.filter(\n (renderedElement: ITdDynamicElementConfig) =>\n !this._elements.some(\n (element: ITdDynamicElementConfig) =>\n element.name === renderedElement.name\n )\n );\n // remove elements that were removed from the array\n this._renderedElements.forEach((elem: ITdDynamicElementConfig) => {\n this._destroyControl$.next(elem.name);\n this.dynamicForm.removeControl(elem.name);\n });\n }\n\n // Updates component when manually adding errors to controls\n private _subscribeToControlStatusChanges(elementName: string): void {\n const control: AbstractControl = this.controls[elementName];\n\n const controlDestroyed$: Observable<any> = this._destroyControl$.pipe(\n filter(\n (destroyedElementName: string) => destroyedElementName === elementName\n )\n );\n\n control.statusChanges\n .pipe(takeUntil(this._destroy$), takeUntil(controlDestroyed$))\n .subscribe(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n}\n","<form [formGroup]=\"dynamicForm\" novalidate>\n <div class=\"td-dynamic-form-wrapper\">\n <ng-template let-element ngFor [ngForOf]=\"elements\">\n <div\n class=\"td-dynamic-element-wrapper\"\n [style.max-width.%]=\"element.flex ? element.flex : 100\"\n [style.flex]=\"'1 1 ' + (element.flex ? element.flex : 100) + '%'\"\n [style.-ms-flex]=\"'1 1 ' + (element.flex ? element.flex : 100) + '%'\"\n [style.-webkit-box-flex]=\"1\"\n >\n <td-dynamic-element\n #dynamicElement\n *ngIf=\"dynamicForm.controls[element.name]\"\n [formControlName]=\"element.name\"\n [dynamicControl]=\"dynamicForm.controls[element.name]\"\n [id]=\"element.name\"\n [name]=\"element.name\"\n [label]=\"element.label || element.name\"\n [hint]=\"element.hint\"\n [type]=\"element.type\"\n [required]=\"element.required ?? false\"\n [min]=\"element.min\"\n [max]=\"element.max\"\n [minLength]=\"element.minLength\"\n [maxLength]=\"element.maxLength\"\n [selections]=\"element.selections\"\n [multiple]=\"element.multiple\"\n [customConfig]=\"element.customConfig\"\n [errorMessageTemplate]=\"getErrorTemplateRef(element.name)\"\n [placeholder]=\"element.placeholder\"\n ></td-dynamic-element>\n </div>\n </ng-template>\n </div>\n <ng-content></ng-content>\n</form>\n","import { NgModule, Type } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\n\nimport { CovalentFileModule } from '@covalent/core/file';\n\nimport { TdDynamicFormsComponent } from './dynamic-forms.component';\nimport {\n TdDynamicElementComponent,\n TdDynamicElementDirective,\n TdDynamicFormsErrorTemplateDirective,\n} from './dynamic-element.component';\nimport { DYNAMIC_FORMS_PROVIDER } from './services/dynamic-forms.service';\n\nimport { TdDynamicInputComponent } from './dynamic-elements/dynamic-input/dynamic-input.component';\nimport { TdDynamicFileInputComponent } from './dynamic-elements/dynamic-file-input/dynamic-file-input.component';\nimport { TdDynamicTextareaComponent } from './dynamic-elements/dynamic-textarea/dynamic-textarea.component';\nimport { TdDynamicSlideToggleComponent } from './dynamic-elements/dynamic-slide-toggle/dynamic-slide-toggle.component';\nimport { TdDynamicCheckboxComponent } from './dynamic-elements/dynamic-checkbox/dynamic-checkbox.component';\nimport { TdDynamicSliderComponent } from './dynamic-elements/dynamic-slider/dynamic-slider.component';\nimport { TdDynamicSelectComponent } from './dynamic-elements/dynamic-select/dynamic-select.component';\nimport { TdDynamicDatepickerComponent } from './dynamic-elements/dynamic-datepicker/dynamic-datepicker.component';\n\nconst TD_DYNAMIC_FORMS: Type<any>[] = [\n TdDynamicFormsComponent,\n TdDynamicElementComponent,\n TdDynamicElementDirective,\n TdDynamicFormsErrorTemplateDirective,\n];\n\nconst TD_DYNAMIC_FORMS_ENTRY_COMPONENTS: Type<any>[] = [\n TdDynamicInputComponent,\n TdDynamicFileInputComponent,\n TdDynamicTextareaComponent,\n TdDynamicSlideToggleComponent,\n TdDynamicCheckboxComponent,\n TdDynamicSliderComponent,\n TdDynamicSelectComponent,\n TdDynamicDatepickerComponent,\n];\n\n@NgModule({\n declarations: [\n TdDynamicFormsComponent,\n TdDynamicElementComponent,\n TdDynamicElementDirective,\n TdDynamicFormsErrorTemplateDirective,\n TdDynamicInputComponent,\n TdDynamicFileInputComponent,\n TdDynamicTextareaComponent,\n TdDynamicSlideToggleComponent,\n TdDynamicCheckboxComponent,\n TdDynamicSliderComponent,\n TdDynamicSelectComponent,\n TdDynamicDatepickerComponent,\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatSelectModule,\n MatCheckboxModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatIconModule,\n MatButtonModule,\n MatDatepickerModule,\n CovalentFileModule,\n ],\n exports: [...TD_DYNAMIC_FORMS, ...TD_DYNAMIC_FORMS_ENTRY_COMPONENTS],\n providers: [DYNAMIC_FORMS_PROVIDER],\n})\nexport class CovalentDynamicFormsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i3","i4","i5","i1.TdDynamicFormsService","i2.TdDynamicFormsService","i4.TdDynamicElementComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAQa,uBAAuB,CAAA;AAClC,IAAA,OAAO;IAEP,KAAK,GAAG,EAAE;IAEV,IAAI,GAAG,EAAE;AAET,IAAA,IAAI;IAEJ,QAAQ,GAAG,KAAK;IAEhB,IAAI,GAAG,EAAE;AAET,IAAA,GAAG;AAEH,IAAA,GAAG;AAEH,IAAA,SAAS;AAET,IAAA,SAAS;AAET,IAAA,oBAAoB;IAEpB,WAAW,GAAG,EAAE;wGAvBL,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,wDCRpC,6wBA4BA,EAAA,MAAA,EAAA,CAAA,mKAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FDpBa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,6wBAAA,EAAA,MAAA,EAAA,CAAA,mKAAA,CAAA,EAAA;;;MEIjB,2BAA2B,CAAA;AACtC,IAAA,OAAO;IAEP,QAAQ,GAAG,KAAK;IAEhB,KAAK,GAAG,EAAE;IAEV,IAAI,GAAG,EAAE;IAET,IAAI,GAAG,EAAE;AAET,IAAA,oBAAoB;IAEpB,WAAW,GAAG,EAAE;AAEhB,IAAA,eAAe,CAAC,KAAU,EAAA;AACxB,QAAA,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC;;wGAhBpB,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA3B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,6DCRxC,yzCA4CA,EAAA,MAAA,EAAA,CAAA,2PAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,OAAA,EAAA,UAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FDpCa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBALvC,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,yzCAAA,EAAA,MAAA,EAAA,CAAA,2PAAA,CAAA,EAAA;;;MEItB,0BAA0B,CAAA;AACrC,IAAA,OAAO;IAEP,KAAK,GAAG,EAAE;IAEV,IAAI,GAAG,EAAE;IAET,IAAI,GAAG,EAAE;IAET,QAAQ,GAAG,KAAK;AAEhB,IAAA,oBAAoB;IAEpB,WAAW,GAAG,EAAE;wGAbL,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA1B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,2DCRvC,2pBAwBA,EAAA,MAAA,EAAA,CAAA,4KAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FDhBa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;+BACE,qBAAqB,EAAA,QAAA,EAAA,2pBAAA,EAAA,MAAA,EAAA,CAAA,4KAAA,CAAA,EAAA;;;MEIpB,6BAA6B,CAAA;AACxC,IAAA,OAAO;IAEP,KAAK,GAAG,EAAE;IAEV,IAAI,GAAG,EAAE;IAET,IAAI,GAAG,EAAE;IAET,QAAQ,GAAG,KAAK;wGATL,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA7B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,+DCR1C,gTAWA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,eAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,OAAA,EAAA,UAAA,EAAA,eAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FDHa,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBALzC,SAAS;+BACE,yBAAyB,EAAA,QAAA,EAAA,gTAAA,EAAA;;;MEIxB,0BAA0B,CAAA;AACrC,IAAA,OAAO;IAEP,KAAK,GAAG,EAAE;IAEV,IAAI,GAAG,EAAE;IAET,IAAI,GAAG,EAAE;IAET,QAAQ,GAAG,KAAK;wGATL,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA1B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,2DCRvC,qPAMA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,eAAA,EAAA,MAAA,EAAA,OAAA,EAAA,eAAA,EAAA,UAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FDEa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;+BACE,qBAAqB,EAAA,QAAA,EAAA,qPAAA,EAAA;;;MEIpB,wBAAwB,CAAA;AAef,IAAA,kBAAA;AAdpB,IAAA,OAAO;IAEP,KAAK,GAAG,EAAE;IAEV,QAAQ,GAAG,KAAK;IAEhB,IAAI,GAAG,EAAE;IAET,IAAI,GAAG,EAAE;AAET,IAAA,GAAG;AAEH,IAAA,GAAG;AAEH,IAAA,WAAA,CAAoB,kBAAqC,EAAA;QAArC,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB;;IAEtC,WAAW,GAAA;QACT,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;AACxC,SAAC,CAAC;;wGApBO,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAxB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,yDCRrC,s5BAiCA,EAAA,MAAA,EAAA,CAAA,uMAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,eAAA,EAAA,KAAA,EAAA,OAAA,EAAA,eAAA,EAAA,KAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,WAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FDzBa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,mBAAmB,EAAA,QAAA,EAAA,s5BAAA,EAAA,MAAA,EAAA,CAAA,uMAAA,CAAA,EAAA;;;MEIlB,wBAAwB,CAAA;AACnC,IAAA,OAAO;IAEP,KAAK,GAAG,EAAE;IAEV,IAAI,GAAG,EAAE;IAET,IAAI,GAAG,EAAE;IAET,QAAQ,GAAG,KAAK;AAEhB,IAAA,UAAU;AAEV,IAAA,QAAQ;AAER,IAAA,oBAAoB;IAEpB,WAAW,GAAG,EAAE;wGAjBL,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAxB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,yDCRrC,60BA6BA,EAAA,MAAA,EAAA,CAAA,sKAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,eAAA,EAAA,UAAA,EAAA,8BAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,wBAAA,EAAA,aAAA,EAAA,OAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,2BAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FDrBa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,mBAAmB,EAAA,QAAA,EAAA,60BAAA,EAAA,MAAA,EAAA,CAAA,sKAAA,CAAA,EAAA;;;MEIlB,4BAA4B,CAAA;AACvC,IAAA,OAAO;IAEP,KAAK,GAAG,EAAE;IAEV,IAAI,GAAG,EAAE;IAET,IAAI,GAAG,EAAE;AAET,IAAA,IAAI;IAEJ,QAAQ,GAAG,KAAK;AAEhB,IAAA,GAAG;AAEH,IAAA,GAAG;AAEH,IAAA,oBAAoB;IAEpB,WAAW,GAAG,EAAE;wGAnBL,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA5B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,6DCRzC,g4BA+BA,EAAA,MAAA,EAAA,CAAA,kLAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,KAAA,EAAA,KAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FDvBa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,g4BAAA,EAAA,MAAA,EAAA,CAAA,kLAAA,CAAA,EAAA;;;IEQvB;AAAZ,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,aAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACf,CAAC,EANW,aAAa,KAAb,aAAa,GAMxB,EAAA,CAAA,CAAA;IAEW;AAAZ,CAAA,UAAY,gBAAgB,EAAA;AAC1B,IAAA,gBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,gBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AACzB,IAAA,gBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,gBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,gBAAA,CAAA,aAAA,CAAA,GAAA,cAA4B;AAC5B,IAAA,gBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,gBAAA,CAAA,WAAA,CAAA,GAAA,YAAwB;AAC1B,CAAC,EAVW,gBAAgB,KAAhB,gBAAgB,GAU3B,EAAA,CAAA,CAAA;AA+BM,MAAM,0BAA0B,GAAG;MAG7B,qBAAqB,CAAA;AAChC;;;AAGG;AACH,IAAA,0BAA0B,CAAC,IAAY,EAAA;QACrC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC1C,YAAA,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC;;;AAIpE;;;AAGG;AACH,IAAA,iBAAiB,CACf,OAAiE,EAAA;QAEjE,QAAQ,OAAO;YACb,KAAK,aAAa,CAAC,IAAI;YACvB,KAAK,aAAa,CAAC,MAAM;YACzB,KAAK,gBAAgB,CAAC,KAAK;YAC3B,KAAK,gBAAgB,CAAC,QAAQ;AAC5B,gBAAA,OAAO,uBAAuB;YAChC,KAAK,gBAAgB,CAAC,QAAQ;AAC5B,gBAAA,OAAO,0BAA0B;YACnC,KAAK,aAAa,CAAC,OAAO;YAC1B,KAAK,gBAAgB,CAAC,WAAW;AAC/B,gBAAA,OAAO,6BAA6B;YACtC,KAAK,gBAAgB,CAAC,QAAQ;AAC5B,gBAAA,OAAO,0BAA0B;YACnC,KAAK,gBAAgB,CAAC,MAAM;AAC1B,gBAAA,OAAO,wBAAwB;YACjC,KAAK,aAAa,CAAC,KAAK;YACxB,KAAK,gBAAgB,CAAC,MAAM;AAC1B,gBAAA,OAAO,wBAAwB;YACjC,KAAK,gBAAgB,CAAC,SAAS;AAC7B,gBAAA,OAAO,2BAA2B;YACpC,KAAK,gBAAgB,CAAC,UAAU;YAChC,KAAK,aAAa,CAAC,IAAI;AACrB,gBAAA,OAAO,4BAA4B;AACrC,YAAA;AACE,gBAAA,MAAM,IAAI,KAAK,CACb,eAAe,OAAO,CAAA,iCAAA,CAAmC,CAC1D;;;AAIP;;AAEG;AACH,IAAA,iBAAiB,CAAC,MAA+B,EAAA;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;AAC/C,QAAA,OAAO,IAAI,kBAAkB,CAC3B,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EACpD,SAAS,CACV;;AAGH;;AAEG;AACH,IAAA,gBAAgB,CAAC,MAA+B,EAAA;QAC9C,IAAI,SAAS,GAAuB,IAAI;AACxC,QAAA,IAAI,MAAM,CAAC,QAAQ,EAAE;AACnB,YAAA,SAAS,GAAG,UAAU,CAAC,QAAQ;;QAEjC,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE;AAClC,YAAA,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC;gBAC7B,SAAS;gBACT,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACvC,aAAA,CAAC;;QAEJ,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE;AAClC,YAAA,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC;gBAC7B,SAAS;gBACT,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACvC,aAAA,CAAC;;QAEJ,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC,EAAE;AAC9C,YAAA,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC;gBAC7B,SAAS;gBACT,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACnD,aAAA,CAAC;;QAEJ,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC,EAAE;AAC9C,YAAA,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC;gBAC7B,SAAS;gBACT,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACnD,aAAA,CAAC;;;AAGJ,QAAA,IAAI,MAAM,CAAC,UAAU,EAAE;YACrB,MAAM,CAAC,UAAU,CAAC,OAAO,CACvB,CAAC,eAA2C,KAAI;AAC9C,gBAAA,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC;oBAC7B,SAAS;AACT,oBAAA,eAAe,CAAC,SAAS;AAC1B,iBAAA,CAAC;AACJ,aAAC,CACF;;AAEH,QAAA,OAAO,SAAS;;wGAtGP,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;4GAArB,qBAAqB,EAAA,CAAA;;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC;;AA2GK,SAAU,8BAA8B,CAC5C,MAA6B,EAAA;AAE7B,IAAA,OAAO,MAAM,IAAI,IAAI,qBAAqB,EAAE;AAC9C;AAEa,MAAA,sBAAsB,GAAa;;AAE9C,IAAA,OAAO,EAAE,qBAAqB;AAC9B,IAAA,IAAI,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,EAAE,IAAI,QAAQ,EAAE,EAAE,qBAAqB,CAAC,CAAC;AAC/D,IAAA,UAAU,EAAE,8BAA8B;;;MCvJ/B,oBAAoB,CAAA;AACZ,IAAA,kBAAA;AAAnB,IAAA,WAAA,CAAmB,kBAAqC,EAAA;QAArC,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB;;AACtC;AAED;MACa,0BAA0B,GACrC,yBAAyB,CAAC,oBAAoB;AAG1C,MAAO,oCAAqC,SAAQ,SAAS,CAAA;AAG/C,IAAA,WAAA;AAFT,IAAA,mBAAmB;IAC5B,WACkB,CAAA,WAA6B,EAC7C,gBAAkC,EAAA;AAElC,QAAA,KAAK,CAAC,WAAW,EAAE,gBAAgB,CAAC;QAHpB,IAAW,CAAA,WAAA,GAAX,WAAW;;wGAHlB,oCAAoC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAApC,oCAAoC,EAAA,QAAA,EAAA,kCAAA,EAAA,MAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAApC,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBADhD,SAAS;mBAAC,EAAE,QAAQ,EAAE,kCAAkC,EAAE;+GAEhD,mBAAmB,EAAA,CAAA;sBAA3B;;MAYU,yBAAyB,CAAA;AACjB,IAAA,aAAA;AAAnB,IAAA,WAAA,CAAmB,aAA+B,EAAA;QAA/B,IAAa,CAAA,aAAA,GAAb,aAAa;;wGADrB,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAzB,yBAAyB,EAAA,QAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AACjC,iBAAA;;AAiBK,MAAO,yBACX,SAAQ,0BAA0B,CAAA;AA+FxB,IAAA,SAAA;AACA,IAAA,oBAAA;AA7FF,IAAA,SAAS;AAEjB;;AAEG;AACM,IAAA,cAAc;AAEvB;;AAEG;IACM,KAAK,GAAG,EAAE;AAEnB;;AAEG;IACM,IAAI,GAAI,EAAE;AAEnB;;AAEG;IACM,IAAI,GAAG,EAAE;AAElB;;;AAGG;AACM,IAAA,IAAI;AAEb;;AAEG;AACM,IAAA,QAAQ;AAEjB;;AAEG;AACM,IAAA,GAAG;AAEZ;;AAEG;AACM,IAAA,GAAG;AAEZ;;AAEG;AACM,IAAA,SAAS;AAElB;;AAEG;AACM,IAAA,SAAS;AAElB;;AAEG;AACM,IAAA,UAAU;AAEnB;;AAEG;AACM,IAAA,QAAQ;AAEjB;;AAEG;AACM,IAAA,YAAY;AAErB;;AAEG;AACM,IAAA,oBAAoB;AAE7B;;AAEG;IACM,WAAW,GAAI,EAAE;AAG1B,IAAA,YAAY;AAEZ,IAAA,IACI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,GAAG;;AAGjB,IAAA,IACI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,GAAG;;AAGjB,IAAA,WAAA,CACU,SAAmB,EACnB,oBAA2C,EACnD,kBAAqC,EAAA;QAErC,KAAK,CAAC,kBAAkB,CAAC;QAJjB,IAAS,CAAA,SAAA,GAAT,SAAS;QACT,IAAoB,CAAA,oBAAA,GAApB,oBAAoB;;IAM9B,QAAQ,GAAA;AACN,QAAA,MAAM,SAAS,GACR,IAAI,CAAC,IAAI,YAAY;cACtB,IAAI,CAAC;cACL,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,EAAE;YACrE,QAAQ,EAAE,IAAI,CAAC,SAAS;AACzB,SAAA,CAAC;AACF,QAAA,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,QAAQ;QAC7B,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc;QAC5C,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;QACjC,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;QAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;QAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;QAC/B,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;QACjC,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;QACvC,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG;QAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG;QAC7B,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;QACzC,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;QACzC,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;QAC3C,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;QACvC,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB;QAC/D,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW;AAC7C,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,IAAY,KAAI;AACrE,gBAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,oBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;;AAElD,aAAC,CAAC;;;AAIN;;AAEG;AACH,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AACvC,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY;;;;wGA9I5C,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,qBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,EAXzB,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,GAAA,EAAA,KAAA,EAAA,GAAA,EAAA,KAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,EAAA,EAAA,SAAA,EAAA;YACT,qBAAqB;AACrB,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,yBAAyB;AACtC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAsFU,yBAAyB,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EApF1B,gCAAgC,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAd/B,yBAAyB,EAAA,QAAA,EAAA,sBAAA,EAAA,CAAA,EAAA,CAAA;;4FAgBzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAZrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,SAAS,EAAE;wBACT,qBAAqB;AACrB,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAA2B,yBAAA;AACtC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACD,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE,gCAAgC;AAC3C,iBAAA;8IAUU,cAAc,EAAA,CAAA;sBAAtB;gBAKQ,KAAK,EAAA,CAAA;sBAAb;gBAKQ,IAAI,EAAA,CAAA;sBAAZ;gBAKQ,IAAI,EAAA,CAAA;sBAAZ;gBAMQ,IAAI,EAAA,CAAA;sBAAZ;gBAKQ,QAAQ,EAAA,CAAA;sBAAhB;gBAKQ,GAAG,EAAA,CAAA;sBAAX;gBAKQ,GAAG,EAAA,CAAA;sBAAX;gBAKQ,SAAS,EAAA,CAAA;sBAAjB;gBAKQ,SAAS,EAAA,CAAA;sBAAjB;gBAKQ,UAAU,EAAA,CAAA;sBAAlB;gBAKQ,QAAQ,EAAA,CAAA;sBAAhB;gBAKQ,YAAY,EAAA,CAAA;sBAApB;gBAKQ,oBAAoB,EAAA,CAAA;sBAA5B;gBAKQ,WAAW,EAAA,CAAA;sBAAnB;gBAGD,YAAY,EAAA,CAAA;sBADX,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,yBAAyB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBAIlD,OAAO,EAAA,CAAA;sBADV,WAAW;uBAAC,UAAU;gBAMnB,OAAO,EAAA,CAAA;sBADV,WAAW;uBAAC,UAAU;;;MC7HZ,uBAAuB,CAAA;AAoFxB,IAAA,YAAA;AACA,IAAA,oBAAA;AACA,IAAA,kBAAA;IArFF,iBAAiB,GAA8B,EAAE;AACjD,IAAA,SAAS;AACT,IAAA,YAAY,GAAkC,IAAI,GAAG,EAG1D;AACK,IAAA,SAAS,GAAiB,IAAI,OAAO,EAAE;AACvC,IAAA,gBAAgB,GAAoB,IAAI,OAAO,EAAE;AAGzD,IAAA,eAAe;AACf,IAAA,WAAW;AAEX;;;;AAIG;IACH,IACI,QAAQ,CAAC,QAAmC,EAAA;QAC9C,IAAI,QAAQ,EAAE;AACZ,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;;aACpB;AACL,YAAA,IAAI,CAAC,SAAS,GAAG,EAAE;;QAErB,IAAI,CAAC,iBAAiB,EAAE;;AAE1B,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,iBAAiB;;AAG/B;;AAEG;AACH,IAAA,IAAI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,WAAW;;AAGzB;;AAEG;AACH,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK;;AAE/B,QAAA,OAAO,KAAK;;AAGd;;AAEG;AACH,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK;;AAE/B,QAAA,OAAO,EAAE;;AAGX;;AAEG;AACH,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,MAAM,GAA4B,EAAE;AAC1C,YAAA,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;AACzD,gBAAA,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM;;AAEvD,YAAA,OAAO,MAAM;;AAEf,QAAA,OAAO,EAAE;;AAGX;;AAEG;AACH,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ;;AAElC,QAAA,OAAO,EAAE;;AAGX,IAAA,WAAA,CACU,YAAgC,EAChC,oBAA2C,EAC3C,kBAAqC,EAAA;QAFrC,IAAY,CAAA,YAAA,GAAZ,YAAY;QACZ,IAAoB,CAAA,oBAAA,GAApB,oBAAoB;QACpB,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB;QAE1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;;IAGhD,kBAAkB,GAAA;QAChB,IAAI,CAAC,qBAAqB,EAAE;;IAG9B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;AACzB,QAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;;AAGlC;;AAEG;IACH,OAAO,GAAA;QACL,IAAI,CAAC,iBAAiB,EAAE;QACxB,IAAI,CAAC,qBAAqB,EAAE;;AAG9B;;AAEG;AACH,IAAA,mBAAmB,CAAC,IAAY,EAAA;QAC9B,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;;AAGpC;;AAEG;IACK,qBAAqB,GAAA;AAC3B,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,EAA4B;QACvD,KAAK,MAAM,aAAa,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE;AAC1D,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CACnB,aAAa,CAAC,mBAAmB,IAAI,EAAE,EACvC,aAAa,CAAC,WAAW,CAC1B;;;IAIG,iBAAiB,GAAA;QACvB,IAAI,CAAC,qBAAqB,EAAE;AAC5B,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE;QAC3B,MAAM,UAAU,GAAa,EAAE;QAC/B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAA6B,KAAI;YACvD,IAAI,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC;AAC/D,YAAA,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;gBACtC,MAAM,IAAI,KAAK,CAAC,CAAA,uBAAA,EAA0B,IAAI,CAAC,IAAI,CAAiB,eAAA,CAAA,CAAC;;AAEvE,YAAA,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1B,YAAA,MAAM,cAAc,GAA2B,IAAI,CAAC,WAAW,CAAC,GAAG,CACjE,IAAI,CAAC,IAAI,CACV;YACD,IAAI,CAAC,cAAc,EAAE;AACnB,gBAAA,IAAI,CAAC,WAAW,CAAC,UAAU,CACzB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAClD;AACD,gBAAA,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC;;iBAC3C;AACL,gBAAA,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;gBACrC,cAAc,CAAC,cAAc,EAAE;gBAC/B,cAAc,CAAC,eAAe,EAAE;AAChC,gBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACjB,cAAc,CAAC,OAAO,EAAE;;qBACnB;oBACL,cAAc,CAAC,MAAM,EAAE;;AAEzB,gBAAA,cAAc,CAAC,aAAa,CAC1B,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CACjD;;;AAGH,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AACtD,SAAC,CAAC;;AAEF,QAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE;QACvC,KAAK,CAAC,CAAC;AACJ,aAAA,SAAS;aACT,IAAI,CAAC,MAAK;;AAET,YAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;AACxC,SAAC,CAAC;;IAGE,qBAAqB,GAAA;AAC3B,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CACpD,CAAC,eAAwC,KACvC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAClB,CAAC,OAAgC,KAC/B,OAAO,CAAC,IAAI,KAAK,eAAe,CAAC,IAAI,CACxC,CACJ;;QAED,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAA6B,KAAI;YAC/D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACrC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3C,SAAC,CAAC;;;AAII,IAAA,gCAAgC,CAAC,WAAmB,EAAA;QAC1D,MAAM,OAAO,GAAoB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAE3D,MAAM,iBAAiB,GAAoB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CACnE,MAAM,CACJ,CAAC,oBAA4B,KAAK,oBAAoB,KAAK,WAAW,CACvE,CACF;AAED,QAAA,OAAO,CAAC;AACL,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,iBAAiB,CAAC;aAC5D,SAAS,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;AACxC,SAAC,CAAC;;wGA3MK,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAL,EAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAAM,qBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAvB,uBAAuB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,SAAA,EAUjB,oCAAoC,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1CvD,48CAoCA,EAAA,MAAA,EAAA,CAAA,kcAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAO,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,KAAA,EAAA,KAAA,EAAA,WAAA,EAAA,WAAA,EAAA,YAAA,EAAA,UAAA,EAAA,cAAA,EAAA,sBAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FDJa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;+BACE,kBAAkB,EAAA,eAAA,EAGX,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,48CAAA,EAAA,MAAA,EAAA,CAAA,kcAAA,CAAA,EAAA;wJAa/C,eAAe,EAAA,CAAA;sBADd,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,oCAAoC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;gBAUxE,QAAQ,EAAA,CAAA;sBADX;;;AElBH,MAAM,gBAAgB,GAAgB;IACpC,uBAAuB;IACvB,yBAAyB;IACzB,yBAAyB;IACzB,oCAAoC;CACrC;AAED,MAAM,iCAAiC,GAAgB;IACrD,uBAAuB;IACvB,2BAA2B;IAC3B,0BAA0B;IAC1B,6BAA6B;IAC7B,0BAA0B;IAC1B,wBAAwB;IACxB,wBAAwB;IACxB,4BAA4B;CAC7B;MAkCY,0BAA0B,CAAA;wGAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAA1B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,iBA9BnC,uBAAuB;YACvB,yBAAyB;YACzB,yBAAyB;YACzB,oCAAoC;YACpC,uBAAuB;YACvB,2BAA2B;YAC3B,0BAA0B;YAC1B,6BAA6B;YAC7B,0BAA0B;YAC1B,wBAAwB;YACxB,wBAAwB;AACxB,YAAA,4BAA4B,aAG5B,YAAY;YACZ,mBAAmB;YACnB,kBAAkB;YAClB,cAAc;YACd,eAAe;YACf,iBAAiB;YACjB,eAAe;YACf,oBAAoB;YACpB,aAAa;YACb,eAAe;YACf,mBAAmB;AACnB,YAAA,kBAAkB,aA5CpB,uBAAuB;YACvB,yBAAyB;YACzB,yBAAyB;AACzB,YAAA,oCAAoC,EAIpC,uBAAuB;YACvB,2BAA2B;YAC3B,0BAA0B;YAC1B,6BAA6B;YAC7B,0BAA0B;YAC1B,wBAAwB;YACxB,wBAAwB;YACxB,4BAA4B,CAAA,EAAA,CAAA;AAmCjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,EAF1B,SAAA,EAAA,CAAC,sBAAsB,CAAC,YAdjC,YAAY;YACZ,mBAAmB;YACnB,kBAAkB;YAClB,cAAc;YACd,eAAe;YACf,iBAAiB;YACjB,eAAe;YACf,oBAAoB;YACpB,aAAa;YACb,eAAe;YACf,mBAAmB;YACnB,kBAAkB,CAAA,EAAA,CAAA;;4FAKT,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAhCtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,uBAAuB;wBACvB,yBAAyB;wBACzB,yBAAyB;wBACzB,oCAAoC;wBACpC,uBAAuB;wBACvB,2BAA2B;wBAC3B,0BAA0B;wBAC1B,6BAA6B;wBAC7B,0BAA0B;wBAC1B,wBAAwB;wBACxB,wBAAwB;wBACxB,4BAA4B;AAC7B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,mBAAmB;wBACnB,kBAAkB;wBAClB,cAAc;wBACd,eAAe;wBACf,iBAAiB;wBACjB,eAAe;wBACf,oBAAoB;wBACpB,aAAa;wBACb,eAAe;wBACf,mBAAmB;wBACnB,kBAAkB;AACnB,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAC,GAAG,gBAAgB,EAAE,GAAG,iCAAiC,CAAC;oBACpE,SAAS,EAAE,CAAC,sBAAsB,CAAC;AACpC,iBAAA;;;AClFD;;AAEG;;;;"}
1
+ {"version":3,"file":"covalent-dynamic-forms.mjs","sources":["../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-input/dynamic-input.component.ts","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-input/dynamic-input.component.html","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-file-input/dynamic-file-input.component.html","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-file-input/dynamic-file-input.component.ts","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-textarea/dynamic-textarea.component.ts","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-textarea/dynamic-textarea.component.html","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-slide-toggle/dynamic-slide-toggle.component.ts","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-slide-toggle/dynamic-slide-toggle.component.html","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-checkbox/dynamic-checkbox.component.ts","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-checkbox/dynamic-checkbox.component.html","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-slider/dynamic-slider.component.html","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-slider/dynamic-slider.component.ts","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-select/dynamic-select.component.html","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-select/dynamic-select.component.ts","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-datepicker/dynamic-datepicker.component.ts","../../../../libs/angular-dynamic-forms/src/lib/dynamic-elements/dynamic-datepicker/dynamic-datepicker.component.html","../../../../libs/angular-dynamic-forms/src/lib/services/dynamic-forms.service.ts","../../../../libs/angular-dynamic-forms/src/lib/dynamic-element.component.ts","../../../../libs/angular-dynamic-forms/src/lib/dynamic-forms.component.html","../../../../libs/angular-dynamic-forms/src/lib/dynamic-forms.component.ts","../../../../libs/angular-dynamic-forms/src/lib/dynamic-forms.module.ts","../../../../libs/angular-dynamic-forms/src/covalent-dynamic-forms.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { Component, TemplateRef } from '@angular/core';\nimport { ReactiveFormsModule, UntypedFormControl } from '@angular/forms';\nimport { MatError, MatFormField, MatHint, MatLabel } from '@angular/material/form-field';\nimport { MatInput } from '@angular/material/input';\n\n@Component({\n selector: 'td-dynamic-input',\n styleUrls: ['./dynamic-input.component.scss'],\n templateUrl: './dynamic-input.component.html',\n imports: [CommonModule, ReactiveFormsModule, MatFormField, MatInput, MatLabel, MatError, MatHint],\n})\nexport class TdDynamicInputComponent {\n control!: UntypedFormControl;\n\n label = '';\n\n hint = '';\n\n type!: string;\n\n required = false;\n\n name = '';\n\n min?: number;\n\n max?: number;\n\n minLength?: number;\n\n maxLength?: number;\n\n errorMessageTemplate!: TemplateRef<any>;\n\n placeholder = '';\n}\n","<div class=\"td-dynamic-input-wrapper\">\n <mat-form-field class=\"td-dynamic-input-field\">\n <mat-label>{{ label }}</mat-label>\n <input\n #elementInput\n matInput\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [type]=\"type\"\n [required]=\"required\"\n [name]=\"name\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.minLength]=\"minLength\"\n [attr.maxLength]=\"maxLength\"\n />\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{\n control: control,\n errors: control.errors\n }\"\n ></ng-template>\n </mat-error>\n </mat-form-field>\n</div>\n","<div class=\"td-dynamic-file-input-wrapper\">\n <mat-form-field\n tdFileDrop\n class=\"td-dynamic-file-input-field\"\n [disabled]=\"control.disabled\"\n (fileDrop)=\"_handlefileDrop($event)\"\n (click)=\"!control.disabled && fileInput.inputElement.click()\"\n (keyup.enter)=\"!control.disabled && fileInput.inputElement.click()\"\n (keyup.delete)=\"fileInput.clear()\"\n (keyup.backspace)=\"fileInput.clear()\"\n >\n <mat-label>{{ label }}</mat-label>\n <input\n matInput\n [value]=\"control.value?.name\"\n [placeholder]=\"placeholder\"\n [name]=\"name\"\n [disabled]=\"control.disabled\"\n readonly\n />\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{\n control: control,\n errors: control.errors\n }\"\n ></ng-template>\n </mat-error>\n </mat-form-field>\n <button\n mat-icon-button\n *ngIf=\"control.value\"\n (click)=\"fileInput.clear()\"\n (keyup.enter)=\"fileInput.clear()\"\n >\n <mat-icon>cancel</mat-icon>\n </button>\n <td-file-input class=\"td-file-input\" #fileInput [formControl]=\"control\">\n <mat-icon>folder</mat-icon>\n <span>{{ label }}</span>\n </td-file-input>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, TemplateRef } from '@angular/core';\nimport { ReactiveFormsModule, UntypedFormControl } from '@angular/forms';\nimport { MatError, MatFormField, MatHint, MatLabel } from '@angular/material/form-field';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatInput } from '@angular/material/input';\nimport { CovalentFileModule } from '@covalent/core/file';\n\n@Component({\n selector: 'td-dynamic-file-input',\n styleUrls: ['./dynamic-file-input.component.scss'],\n templateUrl: './dynamic-file-input.component.html',\n imports: [CommonModule, ReactiveFormsModule, MatFormField, MatInput, MatLabel, MatError, MatHint, MatIcon, CovalentFileModule],\n})\nexport class TdDynamicFileInputComponent {\n control!: UntypedFormControl;\n\n required = false;\n\n label = '';\n\n name = '';\n\n hint = '';\n\n errorMessageTemplate!: TemplateRef<any>;\n\n placeholder = '';\n\n _handlefileDrop(value: any): void {\n this.control?.setValue(value);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, TemplateRef } from '@angular/core';\nimport { ReactiveFormsModule, UntypedFormControl } from '@angular/forms';\nimport { MatError, MatFormField, MatHint, MatLabel } from '@angular/material/form-field';\nimport { MatInput } from '@angular/material/input';\n\n@Component({\n selector: 'td-dynamic-textarea',\n styleUrls: ['./dynamic-textarea.component.scss'],\n templateUrl: './dynamic-textarea.component.html',\n imports: [CommonModule, ReactiveFormsModule, MatInput, MatLabel, MatError, MatHint, MatFormField],\n})\nexport class TdDynamicTextareaComponent {\n control!: UntypedFormControl;\n\n label = '';\n\n hint = '';\n\n name = '';\n\n required = false;\n\n errorMessageTemplate!: TemplateRef<any>;\n\n placeholder = '';\n}\n","<div class=\"td-dynamic-textarea-wrapper\">\n <mat-form-field class=\"td-dynamic-textarea-field\">\n <mat-label>{{ label }}</mat-label>\n <textarea\n #elementInput\n matInput\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [name]=\"name\"\n rows=\"4\"\n ></textarea>\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{\n control: control,\n errors: control.errors\n }\"\n ></ng-template>\n </mat-error>\n </mat-form-field>\n</div>\n","import { Component } from '@angular/core';\nimport { ReactiveFormsModule, UntypedFormControl } from '@angular/forms';\nimport { MatSlideToggle } from '@angular/material/slide-toggle';\n\n@Component({\n selector: 'td-dynamic-slide-toggle',\n styleUrls: ['./dynamic-slide-toggle.component.scss'],\n templateUrl: './dynamic-slide-toggle.component.html',\n imports: [ReactiveFormsModule, MatSlideToggle],\n})\nexport class TdDynamicSlideToggleComponent {\n control!: UntypedFormControl;\n\n label = '';\n\n name = '';\n\n hint = '';\n\n required = false;\n}\n","<div class=\"td-dynamic-slide-toggle-wrapper\">\n <mat-slide-toggle\n [formControl]=\"control\"\n [attr.name]=\"name\"\n [required]=\"required\"\n color=\"primary\"\n >\n {{ label }}\n </mat-slide-toggle>\n <span class=\"mat-hint td-dynamic-element-hint\">{{ hint }}</span>\n</div>\n","import { Component } from '@angular/core';\nimport { ReactiveFormsModule, UntypedFormControl } from '@angular/forms';\nimport { MatCheckbox } from '@angular/material/checkbox';\n\n@Component({\n selector: 'td-dynamic-checkbox',\n styleUrls: ['./dynamic-checkbox.component.scss'],\n templateUrl: './dynamic-checkbox.component.html',\n imports: [ReactiveFormsModule, MatCheckbox],\n})\nexport class TdDynamicCheckboxComponent {\n control!: UntypedFormControl;\n\n label = '';\n\n name = '';\n\n hint = '';\n\n required = false;\n}\n","<div class=\"td-dynamic-checkbox-wrapper\">\n <mat-checkbox [formControl]=\"control\" [name]=\"name\" [required]=\"required\">\n {{ label }}\n </mat-checkbox>\n <span class=\"mat-hint td-dynamic-element-hint\">{{ hint }}</span>\n</div>\n","<div\n class=\"td-dynamic-slider-wrapper mat-form-field mat-form-field-can-float mat-form-field-should-float\"\n>\n <span class=\"mat-form-field-label-wrapper\">\n <label class=\"mat-form-field-label mat-primary td-slider-label\">\n {{ label }}\n <span\n *ngIf=\"required && !control?.disabled\"\n class=\"mat-form-field-required-marker\"\n >*</span\n >\n </label>\n </span>\n <div class=\"td-dynamic-slider-field\">\n <mat-slider\n #slider\n class=\"td-dynamic-slider\"\n thumbLabel\n tickInterval=\"auto\"\n (blur)=\"_handleBlur()\"\n >\n <input\n [attr.name]=\"name\"\n [min]=\"min\"\n [max]=\"max\"\n [formControl]=\"control\"\n [required]=\"required\"\n matSliderThumb\n />\n </mat-slider>\n </div>\n <span class=\"mat-hint td-dynamic-element-hint\">{{ hint }}</span>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, ChangeDetectorRef } from '@angular/core';\nimport { ReactiveFormsModule, UntypedFormControl } from '@angular/forms';\nimport { MatSlider, MatSliderThumb } from '@angular/material/slider';\n\n@Component({\n selector: 'td-dynamic-slider',\n styleUrls: ['./dynamic-slider.component.scss'],\n templateUrl: './dynamic-slider.component.html',\n imports: [CommonModule, ReactiveFormsModule, MatSlider, MatSliderThumb],\n})\nexport class TdDynamicSliderComponent {\n control!: UntypedFormControl;\n\n label = '';\n\n required = false;\n\n name = '';\n\n hint = '';\n\n min?: number;\n\n max?: number;\n\n constructor(private _changeDetectorRef: ChangeDetectorRef) {}\n\n _handleBlur(): void {\n setTimeout(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n}\n","<div class=\"td-dynamic-select-wrapper\">\n <mat-form-field class=\"td-dynamic-select-field\">\n <mat-label>{{ label }}</mat-label>\n <mat-select\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [attr.name]=\"name\"\n [multiple]=\"multiple\"\n >\n <mat-option\n *ngFor=\"let selection of selections\"\n [value]=\"selection.value ?? selection\"\n >\n {{ selection.label || selection }}\n </mat-option>\n </mat-select>\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{\n control: control,\n errors: control.errors\n }\"\n ></ng-template>\n </mat-error>\n </mat-form-field>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, TemplateRef } from '@angular/core';\nimport { ReactiveFormsModule, UntypedFormControl } from '@angular/forms';\nimport { MatError, MatFormField, MatHint, MatLabel } from '@angular/material/form-field';\nimport { MatOption, MatSelect } from '@angular/material/select';\n\n@Component({\n selector: 'td-dynamic-select',\n styleUrls: ['./dynamic-select.component.scss'],\n templateUrl: './dynamic-select.component.html',\n imports: [CommonModule, ReactiveFormsModule, MatFormField, MatSelect, MatOption, MatLabel, MatError, MatHint],\n})\nexport class TdDynamicSelectComponent {\n control!: UntypedFormControl;\n\n label = '';\n\n hint = '';\n\n name = '';\n\n required = false;\n\n selections?: any[];\n\n multiple?: boolean;\n\n errorMessageTemplate!: TemplateRef<any>;\n\n placeholder = '';\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, TemplateRef } from '@angular/core';\nimport { ReactiveFormsModule, UntypedFormControl } from '@angular/forms';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatError, MatFormField, MatHint, MatLabel } from '@angular/material/form-field';\nimport { MatInput } from '@angular/material/input';\n\n@Component({\n selector: 'td-dynamic-datepicker',\n styleUrls: ['./dynamic-datepicker.component.scss'],\n templateUrl: './dynamic-datepicker.component.html',\n imports: [CommonModule, ReactiveFormsModule, MatFormField, MatInput, MatLabel, MatError, MatHint, MatDatepickerModule],\n})\nexport class TdDynamicDatepickerComponent {\n control!: UntypedFormControl;\n\n label = '';\n\n hint = '';\n\n name = '';\n\n type?: string;\n\n required = false;\n\n min?: number;\n\n max?: number;\n\n errorMessageTemplate!: TemplateRef<any>;\n\n placeholder = '';\n}\n","<div class=\"td-dynamic-datepicker-wrapper\">\n <mat-form-field class=\"td-dynamic-datepicker-field\">\n <mat-label>{{ label }}</mat-label>\n <input\n #elementInput\n matInput\n [matDatepicker]=\"dynamicDatePicker\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [name]=\"name\"\n [min]=\"min\"\n [max]=\"max\"\n />\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{\n control: control,\n errors: control.errors\n }\"\n ></ng-template>\n </mat-error>\n <mat-datepicker-toggle\n matSuffix\n [for]=\"dynamicDatePicker\"\n ></mat-datepicker-toggle>\n <mat-datepicker #dynamicDatePicker></mat-datepicker>\n </mat-form-field>\n</div>\n","import { Injectable, Provider, SkipSelf, Optional, Type } from '@angular/core';\nimport { Validators, ValidatorFn, UntypedFormControl } from '@angular/forms';\n\nimport { TdDynamicInputComponent } from '../dynamic-elements/dynamic-input/dynamic-input.component';\nimport { TdDynamicFileInputComponent } from '../dynamic-elements/dynamic-file-input/dynamic-file-input.component';\nimport { TdDynamicTextareaComponent } from '../dynamic-elements/dynamic-textarea/dynamic-textarea.component';\nimport { TdDynamicSlideToggleComponent } from '../dynamic-elements/dynamic-slide-toggle/dynamic-slide-toggle.component';\nimport { TdDynamicCheckboxComponent } from '../dynamic-elements/dynamic-checkbox/dynamic-checkbox.component';\nimport { TdDynamicSliderComponent } from '../dynamic-elements/dynamic-slider/dynamic-slider.component';\nimport { TdDynamicSelectComponent } from '../dynamic-elements/dynamic-select/dynamic-select.component';\nimport { TdDynamicDatepickerComponent } from '../dynamic-elements/dynamic-datepicker/dynamic-datepicker.component';\n\nexport enum TdDynamicType {\n Text = 'text',\n Boolean = 'boolean',\n Number = 'number',\n Array = 'array',\n Date = 'date',\n}\n\nexport enum TdDynamicElement {\n Input = 'input',\n Datepicker = 'datepicker',\n Password = 'password',\n Textarea = 'textarea',\n Slider = 'slider',\n SlideToggle = 'slide-toggle',\n Checkbox = 'checkbox',\n Select = 'select',\n FileInput = 'file-input',\n}\n\nexport interface ITdDynamicElementValidator {\n validator: ValidatorFn;\n}\n\n// Property values to be set in custom component\nexport interface ITdDynamicElementCustomConfig {\n [name: string]: any;\n}\n\nexport interface ITdDynamicElementConfig {\n label?: string;\n name: string;\n hint?: string;\n type: TdDynamicType | TdDynamicElement | Type<any>;\n required?: boolean;\n disabled?: boolean;\n min?: any;\n max?: any;\n minLength?: any;\n maxLength?: any;\n selections?: string[] | { value: any; label: string }[];\n multiple?: boolean;\n default?: any;\n flex?: number;\n validators?: ITdDynamicElementValidator[];\n customConfig?: ITdDynamicElementCustomConfig;\n placeholder?: string;\n}\n\nexport const DYNAMIC_ELEMENT_NAME_REGEX = /^[^0-9][^@]*$/;\n\n@Injectable()\nexport class TdDynamicFormsService {\n /**\n * Method to validate if the [name] is a proper element name.\n * Throws error if name is not valid.\n */\n validateDynamicElementName(name: string): void {\n if (!DYNAMIC_ELEMENT_NAME_REGEX.test(name)) {\n throw new Error('Dynamic element name: \"${name}\" is not valid.');\n }\n }\n\n /**\n * Gets component to be rendered depending on [TdDynamicElement | TdDynamicType]\n * Throws error if it does not exists or not supported.\n */\n getDynamicElement(\n element: TdDynamicElement | TdDynamicType | Type<any> | undefined\n ): any {\n switch (element) {\n case TdDynamicType.Text:\n case TdDynamicType.Number:\n case TdDynamicElement.Input:\n case TdDynamicElement.Password:\n return TdDynamicInputComponent;\n case TdDynamicElement.Textarea:\n return TdDynamicTextareaComponent;\n case TdDynamicType.Boolean:\n case TdDynamicElement.SlideToggle:\n return TdDynamicSlideToggleComponent;\n case TdDynamicElement.Checkbox:\n return TdDynamicCheckboxComponent;\n case TdDynamicElement.Slider:\n return TdDynamicSliderComponent;\n case TdDynamicType.Array:\n case TdDynamicElement.Select:\n return TdDynamicSelectComponent;\n case TdDynamicElement.FileInput:\n return TdDynamicFileInputComponent;\n case TdDynamicElement.Datepicker:\n case TdDynamicType.Date:\n return TdDynamicDatepickerComponent;\n default:\n throw new Error(\n `Error: type ${element} does not exist or not supported.`\n );\n }\n }\n\n /**\n * Creates form control for element depending [ITdDynamicElementConfig] properties.\n */\n createFormControl(config: ITdDynamicElementConfig): UntypedFormControl {\n const validator = this.createValidators(config);\n return new UntypedFormControl(\n { value: config.default, disabled: config.disabled },\n validator\n );\n }\n\n /**\n * Creates form validationdepending [ITdDynamicElementConfig] properties.\n */\n createValidators(config: ITdDynamicElementConfig): ValidatorFn | null {\n let validator: ValidatorFn | null = null;\n if (config.required) {\n validator = Validators.required;\n }\n if (config.max || config.max === 0) {\n validator = Validators.compose([\n validator,\n Validators.max(parseFloat(config.max)),\n ]);\n }\n if (config.min || config.min === 0) {\n validator = Validators.compose([\n validator,\n Validators.min(parseFloat(config.min)),\n ]);\n }\n if (config.maxLength || config.maxLength === 0) {\n validator = Validators.compose([\n validator,\n Validators.maxLength(parseFloat(config.maxLength)),\n ]);\n }\n if (config.minLength || config.minLength === 0) {\n validator = Validators.compose([\n validator,\n Validators.minLength(parseFloat(config.minLength)),\n ]);\n }\n // Add provided custom validators to the validator function\n if (config.validators) {\n config.validators.forEach(\n (validatorConfig: ITdDynamicElementValidator) => {\n validator = Validators.compose([\n validator,\n validatorConfig.validator,\n ]);\n }\n );\n }\n return validator;\n }\n}\n\nexport function DYNAMIC_FORMS_PROVIDER_FACTORY(\n parent: TdDynamicFormsService\n): TdDynamicFormsService {\n return parent || new TdDynamicFormsService();\n}\n\nexport const DYNAMIC_FORMS_PROVIDER: Provider = {\n // If there is already a service available, use that. Otherwise, provide a new one.\n provide: TdDynamicFormsService,\n deps: [[new Optional(), new SkipSelf(), TdDynamicFormsService]],\n useFactory: DYNAMIC_FORMS_PROVIDER_FACTORY,\n};\n","import {\n Component,\n Directive,\n Input,\n HostBinding,\n OnInit,\n SimpleChanges,\n OnChanges,\n TemplateRef,\n ChangeDetectorRef,\n Type,\n Injector,\n} from '@angular/core';\nimport { ViewChild, ViewContainerRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, AbstractControl } from '@angular/forms';\nimport { CdkPortal } from '@angular/cdk/portal';\n\nimport {\n mixinControlValueAccessor,\n IControlValueAccessor,\n} from '@covalent/core/common';\n\nimport {\n TdDynamicElement,\n TdDynamicType,\n TdDynamicFormsService,\n ITdDynamicElementCustomConfig,\n} from './services/dynamic-forms.service';\n\nexport class TdDynamicElementBase {\n constructor(public _changeDetectorRef: ChangeDetectorRef) {}\n}\n\n/* tslint:disable-next-line */\nexport const _TdDynamicElementMixinBase =\n mixinControlValueAccessor(TdDynamicElementBase);\n\n@Directive({ selector: '[tdDynamicFormsError]ng-template' })\nexport class TdDynamicFormsErrorTemplateDirective extends CdkPortal {\n @Input() tdDynamicFormsError?: string;\n constructor(\n public override templateRef: TemplateRef<any>,\n viewContainerRef: ViewContainerRef\n ) {\n super(templateRef, viewContainerRef);\n }\n}\n\n@Directive({\n selector: '[tdDynamicContainer]',\n})\nexport class TdDynamicElementDirective {\n constructor(public viewContainer: ViewContainerRef) {}\n}\n\n@Component({\n providers: [\n TdDynamicFormsService,\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: TdDynamicElementComponent,\n multi: true,\n },\n ],\n selector: 'td-dynamic-element',\n template: '<div tdDynamicContainer></div>',\n imports: [TdDynamicElementDirective],\n})\nexport class TdDynamicElementComponent\n extends _TdDynamicElementMixinBase\n implements IControlValueAccessor, OnInit, OnChanges\n{\n private _instance: any;\n\n /**\n * Sets form control of the element.\n */\n @Input() dynamicControl!: AbstractControl;\n\n /**\n * Sets label to be displayed.\n */\n @Input() label = '';\n\n /**\n * Sets hint to be displayed.\n */\n @Input() hint? = '';\n\n /**\n * Sets name to be displayed as attribute.\n */\n @Input() name = '';\n\n /**\n * Sets type or element of element to be rendered.\n * Throws error if does not exist or no supported.\n */\n @Input() type?: TdDynamicElement | TdDynamicType | Type<any>;\n\n /**\n * Sets required validation checkup (if supported by element).\n */\n @Input() required?: boolean | string | undefined;\n\n /**\n * Sets min validation checkup (if supported by element).\n */\n @Input() min?: number;\n\n /**\n * Sets max validation checkup (if supported by element).\n */\n @Input() max?: number;\n\n /**\n * Sets minLength validation checkup (if supported by element).\n */\n @Input() minLength?: number;\n\n /**\n * Sets maxLength validation checkup (if supported by element).\n */\n @Input() maxLength?: number;\n\n /**\n * Sets selections for array elements (if supported by element).\n */\n @Input() selections?: any[];\n\n /**\n * Sets multiple property for array elements (if supported by element).\n */\n @Input() multiple?: boolean;\n\n /**\n * Sets any additional properties on custom component.\n */\n @Input() customConfig?: ITdDynamicElementCustomConfig;\n\n /**\n * Sets error message template so it can be injected into dynamic components.\n */\n @Input() errorMessageTemplate!: TemplateRef<any> | undefined;\n\n /**\n * Sets the placeholder message\n */\n @Input() placeholder? = '';\n\n @ViewChild(TdDynamicElementDirective, { static: true })\n childElement!: TdDynamicElementDirective;\n\n @HostBinding('attr.max')\n get maxAttr(): any {\n return this.max;\n }\n\n @HostBinding('attr.min')\n get minAttr(): any {\n return this.min;\n }\n\n constructor(\n private _injector: Injector,\n private _dynamicFormsService: TdDynamicFormsService,\n _changeDetectorRef: ChangeDetectorRef\n ) {\n super(_changeDetectorRef);\n }\n\n ngOnInit(): void {\n const component: any =\n <any>this.type instanceof Type\n ? this.type\n : this._dynamicFormsService.getDynamicElement(this.type);\n const ref = this.childElement.viewContainer.createComponent(component, {\n injector: this._injector,\n });\n this._instance = ref.instance;\n this._instance.control = this.dynamicControl;\n this._instance.label = this.label;\n this._instance.hint = this.hint;\n this._instance.name = this.name;\n this._instance.type = this.type;\n this._instance.value = this.value;\n this._instance.required = this.required;\n this._instance.min = this.min;\n this._instance.max = this.max;\n this._instance.minLength = this.minLength;\n this._instance.maxLength = this.maxLength;\n this._instance.selections = this.selections;\n this._instance.multiple = this.multiple;\n this._instance.errorMessageTemplate = this.errorMessageTemplate;\n this._instance.placeholder = this.placeholder;\n if (this.customConfig) {\n Object.getOwnPropertyNames(this.customConfig).forEach((name: string) => {\n if (this.customConfig) {\n this._instance[name] = this.customConfig[name];\n }\n });\n }\n }\n\n /**\n * Reassign any inputs that have changed\n */\n ngOnChanges(changes: SimpleChanges): void {\n if (this._instance) {\n for (const prop of Object.keys(changes)) {\n this._instance[prop] = changes[prop].currentValue;\n }\n }\n }\n}\n","<form [formGroup]=\"dynamicForm\" novalidate>\n <div class=\"td-dynamic-form-wrapper\">\n <ng-template let-element ngFor [ngForOf]=\"elements\">\n <div\n class=\"td-dynamic-element-wrapper\"\n [style.max-width.%]=\"element.flex ? element.flex : 100\"\n [style.flex]=\"'1 1 ' + (element.flex ? element.flex : 100) + '%'\"\n [style.-ms-flex]=\"'1 1 ' + (element.flex ? element.flex : 100) + '%'\"\n [style.-webkit-box-flex]=\"1\"\n >\n <td-dynamic-element\n #dynamicElement\n *ngIf=\"dynamicForm.controls[element.name]\"\n [formControlName]=\"element.name\"\n [dynamicControl]=\"dynamicForm.controls[element.name]\"\n [id]=\"element.name\"\n [name]=\"element.name\"\n [label]=\"element.label || element.name\"\n [hint]=\"element.hint\"\n [type]=\"element.type\"\n [required]=\"element.required ?? false\"\n [min]=\"element.min\"\n [max]=\"element.max\"\n [minLength]=\"element.minLength\"\n [maxLength]=\"element.maxLength\"\n [selections]=\"element.selections\"\n [multiple]=\"element.multiple\"\n [customConfig]=\"element.customConfig\"\n [errorMessageTemplate]=\"getErrorTemplateRef(element.name)\"\n [placeholder]=\"element.placeholder\"\n ></td-dynamic-element>\n </div>\n </ng-template>\n </div>\n <ng-content></ng-content>\n</form>\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n ContentChildren,\n TemplateRef,\n QueryList,\n AfterContentInit,\n OnDestroy,\n} from '@angular/core';\nimport {\n UntypedFormGroup,\n UntypedFormBuilder,\n AbstractControl,\n ReactiveFormsModule,\n} from '@angular/forms';\n\nimport {\n TdDynamicFormsService,\n ITdDynamicElementConfig,\n} from './services/dynamic-forms.service';\nimport { TdDynamicElementComponent, TdDynamicFormsErrorTemplateDirective } from './dynamic-element.component';\n\nimport { timer, Subject, Observable } from 'rxjs';\nimport { takeUntil, filter } from 'rxjs/operators';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'td-dynamic-forms',\n templateUrl: './dynamic-forms.component.html',\n styleUrls: ['./dynamic-forms.component.scss'],\n imports: [CommonModule, TdDynamicElementComponent, ReactiveFormsModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdDynamicFormsComponent implements AfterContentInit, OnDestroy {\n private _renderedElements: ITdDynamicElementConfig[] = [];\n private _elements!: ITdDynamicElementConfig[];\n private _templateMap: Map<string, TemplateRef<any>> = new Map<\n string,\n TemplateRef<any>\n >();\n private _destroy$: Subject<any> = new Subject();\n private _destroyControl$: Subject<string> = new Subject();\n\n @ContentChildren(TdDynamicFormsErrorTemplateDirective, { descendants: true })\n _errorTemplates!: QueryList<TdDynamicFormsErrorTemplateDirective>;\n dynamicForm!: UntypedFormGroup;\n\n /**\n * elements: ITdDynamicElementConfig[]\n * JS Object that will render the elements depending on its config.\n * [name] property is required.\n */\n @Input()\n set elements(elements: ITdDynamicElementConfig[]) {\n if (elements) {\n this._elements = elements;\n } else {\n this._elements = [];\n }\n this._rerenderElements();\n }\n get elements(): ITdDynamicElementConfig[] {\n return this._renderedElements;\n }\n\n /**\n * Getter property for dynamic [FormGroup].\n */\n get form(): UntypedFormGroup {\n return this.dynamicForm;\n }\n\n /**\n * Getter property for [valid] of dynamic [FormGroup].\n */\n get valid(): boolean {\n if (this.dynamicForm) {\n return this.dynamicForm.valid;\n }\n return false;\n }\n\n /**\n * Getter property for [value] of dynamic [FormGroup].\n */\n get value(): any {\n if (this.dynamicForm) {\n return this.dynamicForm.value;\n }\n return {};\n }\n\n /**\n * Getter property for [errors] of dynamic [FormGroup].\n */\n get errors(): { [name: string]: any } {\n if (this.dynamicForm) {\n const errors: { [name: string]: any } = {};\n for (const name of Object.keys(this.dynamicForm.controls)) {\n errors[name] = this.dynamicForm.controls[name].errors;\n }\n return errors;\n }\n return {};\n }\n\n /**\n * Getter property for [controls] of dynamic [FormGroup].\n */\n get controls(): { [key: string]: AbstractControl } {\n if (this.dynamicForm) {\n return this.dynamicForm.controls;\n }\n return {};\n }\n\n constructor(\n private _formBuilder: UntypedFormBuilder,\n private _dynamicFormsService: TdDynamicFormsService,\n private _changeDetectorRef: ChangeDetectorRef\n ) {\n this.dynamicForm = this._formBuilder.group({});\n }\n\n ngAfterContentInit(): void {\n this._updateErrorTemplates();\n }\n\n ngOnDestroy(): void {\n this._destroy$.next(0);\n this._destroy$.complete();\n this._destroyControl$.complete();\n }\n\n /**\n * Refreshes the form and rerenders all validator/element modifications.\n */\n refresh(): void {\n this._rerenderElements();\n this._updateErrorTemplates();\n }\n\n /**\n * Getter method for error template references\n */\n getErrorTemplateRef(name: string): TemplateRef<any> | undefined {\n return this._templateMap.get(name);\n }\n\n /**\n * Loads error templates and sets them in a map for faster access.\n */\n private _updateErrorTemplates(): void {\n this._templateMap = new Map<string, TemplateRef<any>>();\n for (const errorTemplate of this._errorTemplates.toArray()) {\n this._templateMap.set(\n errorTemplate.tdDynamicFormsError ?? '',\n errorTemplate.templateRef\n );\n }\n }\n\n private _rerenderElements(): void {\n this._clearRemovedElements();\n this._renderedElements = [];\n const duplicates: string[] = [];\n this._elements.forEach((elem: ITdDynamicElementConfig) => {\n this._dynamicFormsService.validateDynamicElementName(elem.name);\n if (duplicates.indexOf(elem.name) > -1) {\n throw new Error(`Dynamic element name: \"${elem.name}\" is duplicated`);\n }\n duplicates.push(elem.name);\n const dynamicElement: AbstractControl | null = this.dynamicForm.get(\n elem.name\n );\n if (!dynamicElement) {\n this.dynamicForm.addControl(\n elem.name,\n this._dynamicFormsService.createFormControl(elem)\n );\n this._subscribeToControlStatusChanges(elem.name);\n } else {\n dynamicElement.setValue(elem.default);\n dynamicElement.markAsPristine();\n dynamicElement.markAsUntouched();\n if (elem.disabled) {\n dynamicElement.disable();\n } else {\n dynamicElement.enable();\n }\n dynamicElement.setValidators(\n this._dynamicFormsService.createValidators(elem)\n );\n }\n // copy objects so they are only changes when calling this method\n this._renderedElements.push(Object.assign({}, elem));\n });\n // call a change detection since the whole form might change\n //this._changeDetectorRef.detectChanges();\n timer(0)\n .toPromise()\n .then(() => {\n // call a markForCheck so elements are rendered correctly in OnPush\n this._changeDetectorRef.markForCheck();\n });\n }\n\n private _clearRemovedElements(): void {\n this._renderedElements = this._renderedElements.filter(\n (renderedElement: ITdDynamicElementConfig) =>\n !this._elements.some(\n (element: ITdDynamicElementConfig) =>\n element.name === renderedElement.name\n )\n );\n // remove elements that were removed from the array\n this._renderedElements.forEach((elem: ITdDynamicElementConfig) => {\n this._destroyControl$.next(elem.name);\n this.dynamicForm.removeControl(elem.name);\n });\n }\n\n // Updates component when manually adding errors to controls\n private _subscribeToControlStatusChanges(elementName: string): void {\n const control: AbstractControl = this.controls[elementName];\n\n const controlDestroyed$: Observable<any> = this._destroyControl$.pipe(\n filter(\n (destroyedElementName: string) => destroyedElementName === elementName\n )\n );\n\n control.statusChanges\n .pipe(takeUntil(this._destroy$), takeUntil(controlDestroyed$))\n .subscribe(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n}\n","import { NgModule, Type } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\n\nimport { CovalentFileModule } from '@covalent/core/file';\n\nimport { TdDynamicFormsComponent } from './dynamic-forms.component';\nimport {\n TdDynamicElementComponent,\n TdDynamicElementDirective,\n TdDynamicFormsErrorTemplateDirective,\n} from './dynamic-element.component';\nimport { DYNAMIC_FORMS_PROVIDER } from './services/dynamic-forms.service';\n\nimport { TdDynamicInputComponent } from './dynamic-elements/dynamic-input/dynamic-input.component';\nimport { TdDynamicFileInputComponent } from './dynamic-elements/dynamic-file-input/dynamic-file-input.component';\nimport { TdDynamicTextareaComponent } from './dynamic-elements/dynamic-textarea/dynamic-textarea.component';\nimport { TdDynamicSlideToggleComponent } from './dynamic-elements/dynamic-slide-toggle/dynamic-slide-toggle.component';\nimport { TdDynamicCheckboxComponent } from './dynamic-elements/dynamic-checkbox/dynamic-checkbox.component';\nimport { TdDynamicSliderComponent } from './dynamic-elements/dynamic-slider/dynamic-slider.component';\nimport { TdDynamicSelectComponent } from './dynamic-elements/dynamic-select/dynamic-select.component';\nimport { TdDynamicDatepickerComponent } from './dynamic-elements/dynamic-datepicker/dynamic-datepicker.component';\n\nconst TD_DYNAMIC_FORMS: Type<any>[] = [\n TdDynamicFormsComponent,\n TdDynamicElementComponent,\n TdDynamicElementDirective,\n TdDynamicFormsErrorTemplateDirective,\n];\n\nconst TD_DYNAMIC_FORMS_ENTRY_COMPONENTS: Type<any>[] = [\n TdDynamicInputComponent,\n TdDynamicFileInputComponent,\n TdDynamicTextareaComponent,\n TdDynamicSlideToggleComponent,\n TdDynamicCheckboxComponent,\n TdDynamicSliderComponent,\n TdDynamicSelectComponent,\n TdDynamicDatepickerComponent,\n];\n\n@NgModule({\n imports: [\n TdDynamicFormsComponent,\n TdDynamicElementComponent,\n TdDynamicElementDirective,\n TdDynamicFormsErrorTemplateDirective,\n TdDynamicInputComponent,\n TdDynamicFileInputComponent,\n TdDynamicTextareaComponent,\n TdDynamicSlideToggleComponent,\n TdDynamicCheckboxComponent,\n TdDynamicSliderComponent,\n TdDynamicSelectComponent,\n TdDynamicDatepickerComponent,\n ],\n exports: [...TD_DYNAMIC_FORMS, ...TD_DYNAMIC_FORMS_ENTRY_COMPONENTS],\n providers: [DYNAMIC_FORMS_PROVIDER],\n})\nexport class CovalentDynamicFormsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_c0","i3","i1.TdDynamicFormsService","i1","i2.TdDynamicFormsService"],"mappings":"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"}
@@ -15,13 +15,13 @@ export declare class TdDynamicFormsErrorTemplateDirective extends CdkPortal {
15
15
  tdDynamicFormsError?: string;
16
16
  constructor(templateRef: TemplateRef<any>, viewContainerRef: ViewContainerRef);
17
17
  static ɵfac: i0.ɵɵFactoryDeclaration<TdDynamicFormsErrorTemplateDirective, never>;
18
- static ɵdir: i0.ɵɵDirectiveDeclaration<TdDynamicFormsErrorTemplateDirective, "[tdDynamicFormsError]ng-template", never, { "tdDynamicFormsError": { "alias": "tdDynamicFormsError"; "required": false; }; }, {}, never, never, false, never>;
18
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TdDynamicFormsErrorTemplateDirective, "[tdDynamicFormsError]ng-template", never, { "tdDynamicFormsError": { "alias": "tdDynamicFormsError"; "required": false; }; }, {}, never, never, true, never>;
19
19
  }
20
20
  export declare class TdDynamicElementDirective {
21
21
  viewContainer: ViewContainerRef;
22
22
  constructor(viewContainer: ViewContainerRef);
23
23
  static ɵfac: i0.ɵɵFactoryDeclaration<TdDynamicElementDirective, never>;
24
- static ɵdir: i0.ɵɵDirectiveDeclaration<TdDynamicElementDirective, "[tdDynamicContainer]", never, {}, {}, never, never, false, never>;
24
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TdDynamicElementDirective, "[tdDynamicContainer]", never, {}, {}, never, never, true, never>;
25
25
  }
26
26
  export declare class TdDynamicElementComponent extends _TdDynamicElementMixinBase implements IControlValueAccessor, OnInit, OnChanges {
27
27
  private _injector;
@@ -98,5 +98,5 @@ export declare class TdDynamicElementComponent extends _TdDynamicElementMixinBas
98
98
  */
99
99
  ngOnChanges(changes: SimpleChanges): void;
100
100
  static ɵfac: i0.ɵɵFactoryDeclaration<TdDynamicElementComponent, never>;
101
- static ɵcmp: i0.ɵɵComponentDeclaration<TdDynamicElementComponent, "td-dynamic-element", never, { "dynamicControl": { "alias": "dynamicControl"; "required": false; }; "label": { "alias": "label"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "name": { "alias": "name"; "required": false; }; "type": { "alias": "type"; "required": false; }; "required": { "alias": "required"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "minLength": { "alias": "minLength"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "selections": { "alias": "selections"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "customConfig": { "alias": "customConfig"; "required": false; }; "errorMessageTemplate": { "alias": "errorMessageTemplate"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; }, {}, never, never, false, never>;
101
+ static ɵcmp: i0.ɵɵComponentDeclaration<TdDynamicElementComponent, "td-dynamic-element", never, { "dynamicControl": { "alias": "dynamicControl"; "required": false; }; "label": { "alias": "label"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "name": { "alias": "name"; "required": false; }; "type": { "alias": "type"; "required": false; }; "required": { "alias": "required"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "minLength": { "alias": "minLength"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "selections": { "alias": "selections"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "customConfig": { "alias": "customConfig"; "required": false; }; "errorMessageTemplate": { "alias": "errorMessageTemplate"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; }, {}, never, never, true, never>;
102
102
  }
@@ -7,5 +7,5 @@ export declare class TdDynamicCheckboxComponent {
7
7
  hint: string;
8
8
  required: boolean;
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<TdDynamicCheckboxComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<TdDynamicCheckboxComponent, "td-dynamic-checkbox", never, {}, {}, never, never, false, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<TdDynamicCheckboxComponent, "td-dynamic-checkbox", never, {}, {}, never, never, true, never>;
11
11
  }
@@ -13,5 +13,5 @@ export declare class TdDynamicDatepickerComponent {
13
13
  errorMessageTemplate: TemplateRef<any>;
14
14
  placeholder: string;
15
15
  static ɵfac: i0.ɵɵFactoryDeclaration<TdDynamicDatepickerComponent, never>;
16
- static ɵcmp: i0.ɵɵComponentDeclaration<TdDynamicDatepickerComponent, "td-dynamic-datepicker", never, {}, {}, never, never, false, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<TdDynamicDatepickerComponent, "td-dynamic-datepicker", never, {}, {}, never, never, true, never>;
17
17
  }
@@ -11,5 +11,5 @@ export declare class TdDynamicFileInputComponent {
11
11
  placeholder: string;
12
12
  _handlefileDrop(value: any): void;
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<TdDynamicFileInputComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<TdDynamicFileInputComponent, "td-dynamic-file-input", never, {}, {}, never, never, false, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<TdDynamicFileInputComponent, "td-dynamic-file-input", never, {}, {}, never, never, true, never>;
15
15
  }
@@ -15,5 +15,5 @@ export declare class TdDynamicInputComponent {
15
15
  errorMessageTemplate: TemplateRef<any>;
16
16
  placeholder: string;
17
17
  static ɵfac: i0.ɵɵFactoryDeclaration<TdDynamicInputComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<TdDynamicInputComponent, "td-dynamic-input", never, {}, {}, never, never, false, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<TdDynamicInputComponent, "td-dynamic-input", never, {}, {}, never, never, true, never>;
19
19
  }
@@ -12,5 +12,5 @@ export declare class TdDynamicSelectComponent {
12
12
  errorMessageTemplate: TemplateRef<any>;
13
13
  placeholder: string;
14
14
  static ɵfac: i0.ɵɵFactoryDeclaration<TdDynamicSelectComponent, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<TdDynamicSelectComponent, "td-dynamic-select", never, {}, {}, never, never, false, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<TdDynamicSelectComponent, "td-dynamic-select", never, {}, {}, never, never, true, never>;
16
16
  }
@@ -7,5 +7,5 @@ export declare class TdDynamicSlideToggleComponent {
7
7
  hint: string;
8
8
  required: boolean;
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<TdDynamicSlideToggleComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<TdDynamicSlideToggleComponent, "td-dynamic-slide-toggle", never, {}, {}, never, never, false, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<TdDynamicSlideToggleComponent, "td-dynamic-slide-toggle", never, {}, {}, never, never, true, never>;
11
11
  }
@@ -13,5 +13,5 @@ export declare class TdDynamicSliderComponent {
13
13
  constructor(_changeDetectorRef: ChangeDetectorRef);
14
14
  _handleBlur(): void;
15
15
  static ɵfac: i0.ɵɵFactoryDeclaration<TdDynamicSliderComponent, never>;
16
- static ɵcmp: i0.ɵɵComponentDeclaration<TdDynamicSliderComponent, "td-dynamic-slider", never, {}, {}, never, never, false, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<TdDynamicSliderComponent, "td-dynamic-slider", never, {}, {}, never, never, true, never>;
17
17
  }
@@ -10,5 +10,5 @@ export declare class TdDynamicTextareaComponent {
10
10
  errorMessageTemplate: TemplateRef<any>;
11
11
  placeholder: string;
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<TdDynamicTextareaComponent, never>;
13
- static ɵcmp: i0.ɵɵComponentDeclaration<TdDynamicTextareaComponent, "td-dynamic-textarea", never, {}, {}, never, never, false, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<TdDynamicTextareaComponent, "td-dynamic-textarea", never, {}, {}, never, never, true, never>;
14
14
  }
@@ -64,5 +64,5 @@ export declare class TdDynamicFormsComponent implements AfterContentInit, OnDest
64
64
  private _clearRemovedElements;
65
65
  private _subscribeToControlStatusChanges;
66
66
  static ɵfac: i0.ɵɵFactoryDeclaration<TdDynamicFormsComponent, never>;
67
- static ɵcmp: i0.ɵɵComponentDeclaration<TdDynamicFormsComponent, "td-dynamic-forms", never, { "elements": { "alias": "elements"; "required": false; }; }, {}, ["_errorTemplates"], ["*"], false, never>;
67
+ static ɵcmp: i0.ɵɵComponentDeclaration<TdDynamicFormsComponent, "td-dynamic-forms", never, { "elements": { "alias": "elements"; "required": false; }; }, {}, ["_errorTemplates"], ["*"], true, never>;
68
68
  }
@@ -9,20 +9,8 @@ import * as i7 from "./dynamic-elements/dynamic-checkbox/dynamic-checkbox.compon
9
9
  import * as i8 from "./dynamic-elements/dynamic-slider/dynamic-slider.component";
10
10
  import * as i9 from "./dynamic-elements/dynamic-select/dynamic-select.component";
11
11
  import * as i10 from "./dynamic-elements/dynamic-datepicker/dynamic-datepicker.component";
12
- import * as i11 from "@angular/common";
13
- import * as i12 from "@angular/forms";
14
- import * as i13 from "@angular/material/form-field";
15
- import * as i14 from "@angular/material/input";
16
- import * as i15 from "@angular/material/select";
17
- import * as i16 from "@angular/material/checkbox";
18
- import * as i17 from "@angular/material/slider";
19
- import * as i18 from "@angular/material/slide-toggle";
20
- import * as i19 from "@angular/material/icon";
21
- import * as i20 from "@angular/material/button";
22
- import * as i21 from "@angular/material/datepicker";
23
- import * as i22 from "@covalent/core/file";
24
12
  export declare class CovalentDynamicFormsModule {
25
13
  static ɵfac: i0.ɵɵFactoryDeclaration<CovalentDynamicFormsModule, never>;
26
- static ɵmod: i0.ɵɵNgModuleDeclaration<CovalentDynamicFormsModule, [typeof i1.TdDynamicFormsComponent, typeof i2.TdDynamicElementComponent, typeof i2.TdDynamicElementDirective, typeof i2.TdDynamicFormsErrorTemplateDirective, typeof i3.TdDynamicInputComponent, typeof i4.TdDynamicFileInputComponent, typeof i5.TdDynamicTextareaComponent, typeof i6.TdDynamicSlideToggleComponent, typeof i7.TdDynamicCheckboxComponent, typeof i8.TdDynamicSliderComponent, typeof i9.TdDynamicSelectComponent, typeof i10.TdDynamicDatepickerComponent], [typeof i11.CommonModule, typeof i12.ReactiveFormsModule, typeof i13.MatFormFieldModule, typeof i14.MatInputModule, typeof i15.MatSelectModule, typeof i16.MatCheckboxModule, typeof i17.MatSliderModule, typeof i18.MatSlideToggleModule, typeof i19.MatIconModule, typeof i20.MatButtonModule, typeof i21.MatDatepickerModule, typeof i22.CovalentFileModule], [typeof i1.TdDynamicFormsComponent, typeof i2.TdDynamicElementComponent, typeof i2.TdDynamicElementDirective, typeof i2.TdDynamicFormsErrorTemplateDirective, typeof i3.TdDynamicInputComponent, typeof i4.TdDynamicFileInputComponent, typeof i5.TdDynamicTextareaComponent, typeof i6.TdDynamicSlideToggleComponent, typeof i7.TdDynamicCheckboxComponent, typeof i8.TdDynamicSliderComponent, typeof i9.TdDynamicSelectComponent, typeof i10.TdDynamicDatepickerComponent]>;
14
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CovalentDynamicFormsModule, never, [typeof i1.TdDynamicFormsComponent, typeof i2.TdDynamicElementComponent, typeof i2.TdDynamicElementDirective, typeof i2.TdDynamicFormsErrorTemplateDirective, typeof i3.TdDynamicInputComponent, typeof i4.TdDynamicFileInputComponent, typeof i5.TdDynamicTextareaComponent, typeof i6.TdDynamicSlideToggleComponent, typeof i7.TdDynamicCheckboxComponent, typeof i8.TdDynamicSliderComponent, typeof i9.TdDynamicSelectComponent, typeof i10.TdDynamicDatepickerComponent], [typeof i1.TdDynamicFormsComponent, typeof i2.TdDynamicElementComponent, typeof i2.TdDynamicElementDirective, typeof i2.TdDynamicFormsErrorTemplateDirective, typeof i3.TdDynamicInputComponent, typeof i4.TdDynamicFileInputComponent, typeof i5.TdDynamicTextareaComponent, typeof i6.TdDynamicSlideToggleComponent, typeof i7.TdDynamicCheckboxComponent, typeof i8.TdDynamicSliderComponent, typeof i9.TdDynamicSelectComponent, typeof i10.TdDynamicDatepickerComponent]>;
27
15
  static ɵinj: i0.ɵɵInjectorDeclaration<CovalentDynamicFormsModule>;
28
16
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@covalent/dynamic-forms",
3
- "version": "9.1.3",
3
+ "version": "10.0.1",
4
4
  "description": "Teradata UI Platform Dynamic Forms Module",
5
5
  "keywords": [
6
6
  "angular",
@@ -19,12 +19,12 @@
19
19
  "license": "MIT",
20
20
  "author": "Teradata UX",
21
21
  "peerDependencies": {
22
- "@angular/common": "18.x.x",
23
- "@angular/core": "18.x.x",
24
- "@covalent/core": "9.1.3"
22
+ "@angular/common": "19.x.x",
23
+ "@angular/core": "19.x.x",
24
+ "@covalent/core": "10.0.1"
25
25
  },
26
26
  "dependencies": {
27
- "tslib": "^2.3.0"
27
+ "tslib": "^2.8.1"
28
28
  },
29
29
  "module": "fesm2022/covalent-dynamic-forms.mjs",
30
30
  "typings": "index.d.ts",
@@ -34,10 +34,11 @@
34
34
  },
35
35
  ".": {
36
36
  "types": "./index.d.ts",
37
- "esm2022": "./esm2022/covalent-dynamic-forms.mjs",
38
- "esm": "./esm2022/covalent-dynamic-forms.mjs",
39
37
  "default": "./fesm2022/covalent-dynamic-forms.mjs"
40
38
  }
41
39
  },
42
- "sideEffects": false
40
+ "sideEffects": false,
41
+ "scripts": {
42
+ "prepublishOnly": "node --eval \"console.error('ERROR: Trying to publish a package that has been compiled by Ivy in full compilation mode. This is not allowed.\\nPlease delete and rebuild the package with Ivy partial compilation mode, before attempting to publish.\\n')\" && exit 1"
43
+ }
43
44
  }
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY292YWxlbnQtZHluYW1pYy1mb3Jtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1keW5hbWljLWZvcm1zL3NyYy9jb3ZhbGVudC1keW5hbWljLWZvcm1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=