{"version":3,"file":"szorba-form-controls.mjs","sources":["../../../projects/form-controls/src/lib/directives/style/sz-form-controls-indigo.directive.ts","../../../projects/form-controls/src/lib/directives/sz-accepted-chars.directive.ts","../../../projects/form-controls/src/lib/directives/directives.module.ts","../../../projects/form-controls/src/lib/sz-html-controls/model/SzHtmlLabelDisplay.ts","../../../projects/form-controls/src/lib/sz-controls/inputs/sz-checked-input/sz-checked-input-abstract.component.ts","../../../projects/form-controls/src/lib/sz-controls/inputs/sz-checked-input/sz-checked-input.module.ts","../../../projects/form-controls/src/lib/szorba-types.ts","../../../projects/form-controls/src/lib/utils/disabled.util.ts","../../../projects/form-controls/src/lib/utils/readonly.util.ts","../../../projects/form-controls/src/lib/sz-html-controls/sz-html-label/sz-html-label.component.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input/sz-html-input.component.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input/sz-html-input.component.html","../../../projects/form-controls/src/lib/sz-controls/inputs/sz-input/sz-input.component.ts","../../../projects/form-controls/src/lib/sz-controls/inputs/sz-input/sz-input.component.html","../../../projects/form-controls/src/lib/sz-html-controls/sz-html-label/sz-html-label.module.ts","../../../projects/form-controls/src/lib/sz-controls/inputs/sz-input/sz-input.module.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-checked-input/sz-html-checked-input-abstract.component.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-checkbox/sz-html-input-checkbox.component.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-checkbox/sz-html-input-checkbox.component.html","../../../projects/form-controls/src/lib/sz-controls/inputs/sz-input-checkbox/sz-input-checkbox.component.ts","../../../projects/form-controls/src/lib/sz-controls/inputs/sz-input-checkbox/sz-input-checkbox.component.html","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-checked-input/sz-html-checked-input.module.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input/sz-html-input.module.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-checkbox/sz-html-input-checkbox.module.ts","../../../projects/form-controls/src/lib/sz-controls/inputs/sz-input-checkbox/sz-input-checkbox.module.ts","../../../projects/form-controls/src/lib/utils/input-number.util.ts","../../../projects/form-controls/src/lib/sz-controls/inputs/sz-input-number/sz-input-number.component.ts","../../../projects/form-controls/src/lib/sz-controls/inputs/sz-input-number/sz-input-number.component.html","../../../projects/form-controls/src/lib/sz-controls/inputs/sz-input-number/sz-input-number.module.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-radio/sz-html-input-radio.component.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-radio/sz-html-input-radio.component.html","../../../projects/form-controls/src/lib/sz-controls/inputs/sz-input-radio/sz-input-radio.component.ts","../../../projects/form-controls/src/lib/sz-controls/inputs/sz-input-radio/sz-input-radio.component.html","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-radio/sz-html-input-radio.module.ts","../../../projects/form-controls/src/lib/sz-controls/inputs/sz-input-radio/sz-input-radio.module.ts","../../../projects/form-controls/src/lib/sz-controls/inputs/sz-input-text/sz-input-text.component.ts","../../../projects/form-controls/src/lib/sz-controls/inputs/sz-input-text/sz-input-text.module.ts","../../../projects/form-controls/src/lib/sz-controls/inputs/sz-input-text-clear/sz-input-text-clear.component.ts","../../../projects/form-controls/src/lib/sz-controls/inputs/sz-input-text-clear/sz-input-text-clear.component.html","../../../projects/form-controls/src/lib/sz-controls/inputs/sz-input-text-clear/sz-input-text-clear.module.ts","../../../projects/form-controls/src/lib/sz-controls/inputs/sz-input-text-filter/sz-input-text-filter.component.ts","../../../projects/form-controls/src/lib/sz-controls/inputs/sz-input-text-filter/sz-input-text-filter.component.html","../../../projects/form-controls/src/lib/sz-controls/inputs/sz-input-text-filter/sz-input-text-filter.module.ts","../../../projects/form-controls/src/lib/sz-controls/sz-selectable-item/sz-selectable-item.component.ts","../../../projects/form-controls/src/lib/sz-controls/sz-list/sz-list.component.ts","../../../projects/form-controls/src/lib/sz-controls/sz-list/sz-list.component.html","../../../projects/form-controls/src/lib/sz-controls/sz-autocomplete/sz-autocomplete.component.ts","../../../projects/form-controls/src/lib/sz-controls/sz-autocomplete/sz-autocomplete.component.html","../../../projects/form-controls/src/lib/sz-controls/sz-selectable-item/sz-selectable-item.module.ts","../../../projects/form-controls/src/lib/sz-controls/sz-list/sz-list.module.ts","../../../projects/form-controls/src/lib/sz-controls/sz-autocomplete/sz-autocomplete.module.ts","../../../projects/form-controls/src/lib/sz-controls/sz-radio-group/sz-radio-group.component.ts","../../../projects/form-controls/src/lib/sz-controls/sz-radio-group/sz-radio-group.component.html","../../../projects/form-controls/src/lib/sz-controls/sz-radio-group/sz-radio-group.module.ts","../../../projects/form-controls/src/lib/sz-controls/sz-select/sz-select.component.ts","../../../projects/form-controls/src/lib/sz-controls/sz-select/sz-select.component.html","../../../projects/form-controls/src/lib/sz-controls/sz-select/sz-select.module.ts","../../../projects/form-controls/src/lib/sz-controls/sz-controls.module.ts","../../../projects/form-controls/src/lib/sz-form-errors/sz-form-errors.util.ts","../../../projects/form-controls/src/lib/sz-form-errors/model/SzFormErrorDefaultMessage.ts","../../../projects/form-controls/src/lib/sz-form-errors/model/SzFormErrorName.ts","../../../projects/form-controls/src/lib/validators/utils/szorba-validators.util.ts","../../../projects/form-controls/src/lib/validators/utils/optional-validator.util.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/sz-html-form-label/sz-html-form-label.component.ts","../../../projects/form-controls/src/lib/utils/form-errors.util.ts","../../../projects/form-controls/src/lib/sz-form-errors/sz-form-errors.component.ts","../../../projects/form-controls/src/lib/sz-form-controls/inputs/sz-form-input/sz-form-input.component.ts","../../../projects/form-controls/src/lib/sz-form-controls/inputs/sz-form-input/sz-form-input.component.html","../../../projects/form-controls/src/lib/sz-form-errors/sz-form-errors.module.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/sz-html-form-label/sz-html-form-label.module.ts","../../../projects/form-controls/src/lib/sz-form-controls/inputs/sz-form-input/sz-form-input.module.ts","../../../projects/form-controls/src/lib/validators/utils/min-max-validator.util.ts","../../../projects/form-controls/src/lib/sz-form-controls/inputs/sz-form-input-number/sz-form-input-number.component.ts","../../../projects/form-controls/src/lib/sz-form-controls/inputs/sz-form-input-number/sz-form-input-number.component.html","../../../projects/form-controls/src/lib/sz-form-controls/inputs/sz-form-input-number/sz-form-input-number.module.ts","../../../projects/form-controls/src/lib/validators/utils/min-max-length-validator.util.ts","../../../projects/form-controls/src/lib/sz-form-controls/inputs/sz-form-input-text/sz-form-input-text.component.ts","../../../projects/form-controls/src/lib/sz-form-controls/inputs/sz-form-input-text/sz-form-input-text.module.ts","../../../projects/form-controls/src/lib/sz-form-controls/sz-form-select/sz-form-select.component.ts","../../../projects/form-controls/src/lib/sz-form-controls/sz-form-select/sz-form-select.component.html","../../../projects/form-controls/src/lib/sz-form-controls/sz-form-select/sz-form-select.module.ts","../../../projects/form-controls/src/lib/sz-form-controls/sz-form-controls.module.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-color/sz-html-input-color.component.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-color/sz-html-input-color.module.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-date/sz-html-input-date.component.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-date/sz-html-input-date.module.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-datetime-local/sz-html-input-datetime-local.component.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-datetime-local/sz-html-input-datetime-local.module.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-email/sz-html-input-email.component.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-email/sz-html-input-email.module.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-month/sz-html-input-month.component.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-month/sz-html-input-month.module.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-number/sz-html-input-number.component.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-number/sz-html-input-number.component.html","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-number/sz-html-input-number.module.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-password/sz-html-input-password.component.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-password/sz-html-input-password.module.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-search/sz-html-input-search.component.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-search/sz-html-input-search.module.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-tel/sz-html-input-tel.component.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-tel/sz-html-input-tel.module.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-text/sz-html-input-text.component.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-text/sz-html-input-text.module.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-url/sz-html-input-url.component.ts","../../../projects/form-controls/src/lib/sz-html-controls/inputs/sz-html-input-url/sz-html-input-url.module.ts","../../../projects/form-controls/src/lib/sz-html-controls/sz-html-radio-group/sz-html-radio-group.component.ts","../../../projects/form-controls/src/lib/sz-html-controls/sz-html-radio-group/sz-html-radio-group.component.html","../../../projects/form-controls/src/lib/sz-html-controls/sz-html-radio-group/sz-html-radio-group.module.ts","../../../projects/form-controls/src/lib/sz-html-controls/sz-html-select/sz-html-select.component.ts","../../../projects/form-controls/src/lib/sz-html-controls/sz-html-select/sz-html-select.component.html","../../../projects/form-controls/src/lib/sz-html-controls/sz-html-select/sz-html-select.module.ts","../../../projects/form-controls/src/lib/sz-html-controls/sz-html-textarea/sz-html-textarea.component.ts","../../../projects/form-controls/src/lib/sz-html-controls/sz-html-textarea/sz-html-textarea.component.html","../../../projects/form-controls/src/lib/sz-html-controls/sz-html-textarea/sz-html-textarea.module.ts","../../../projects/form-controls/src/lib/sz-html-controls/sz-html-controls.module.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/inputs/sz-html-form-input/sz-html-form-input.component.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/inputs/sz-html-form-input/sz-html-form-input.component.html","../../../projects/form-controls/src/lib/sz-html-form-controls/inputs/sz-html-form-input/sz-html-form-input.module.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/inputs/sz-html-form-input-color/sz-html-form-input-color.component.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/inputs/sz-html-form-input-color/sz-html-form-input-color.module.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/inputs/sz-html-form-input-date/sz-html-form-input-date.component.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/inputs/sz-html-form-input-date/sz-html-form-input-date.module.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/inputs/sz-html-form-input-datetime-local/sz-html-form-input-datetime-local.component.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/inputs/sz-html-form-input-datetime-local/sz-html-form-input-datetime-local.module.ts","../../../projects/form-controls/src/lib/validators/szorba-validator.ts","../../../projects/form-controls/src/lib/validators/utils/email-validator.util.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/inputs/sz-html-form-input-email/sz-html-form-input-email.component.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/inputs/sz-html-form-input-email/sz-html-form-input-email.module.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/inputs/sz-html-form-input-month/sz-html-form-input-month.component.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/inputs/sz-html-form-input-month/sz-html-form-input-month.module.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/inputs/sz-html-form-input-number/sz-html-form-input-number.component.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/inputs/sz-html-form-input-number/sz-html-form-input-number.component.html","../../../projects/form-controls/src/lib/sz-html-form-controls/inputs/sz-html-form-input-number/sz-html-form-input-number.module.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/inputs/sz-html-form-input-password/sz-html-form-input-password.component.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/inputs/sz-html-form-input-password/sz-html-form-input-password.module.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/inputs/sz-html-form-input-search/sz-html-form-input-search.component.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/inputs/sz-html-form-input-search/sz-html-form-input-search.module.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/inputs/sz-html-form-input-tel/sz-html-form-input-tel.component.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/inputs/sz-html-form-input-tel/sz-html-form-input-tel.module.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/inputs/sz-html-form-input-text/sz-html-form-input-text.component.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/inputs/sz-html-form-input-text/sz-html-form-input-text.module.ts","../../../projects/form-controls/src/lib/validators/utils/pattern-validator.util.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/inputs/sz-html-form-input-url/sz-html-form-input-url.component.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/inputs/sz-html-form-input-url/sz-html-form-input-url.module.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/sz-html-form-select/sz-html-form-select.component.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/sz-html-form-select/sz-html-form-select.component.html","../../../projects/form-controls/src/lib/sz-html-form-controls/sz-html-form-select/sz-html-form-select.module.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/sz-html-form-textarea/sz-html-form-textarea.component.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/sz-html-form-textarea/sz-html-form-textarea.component.html","../../../projects/form-controls/src/lib/sz-html-form-controls/sz-html-form-textarea/sz-html-form-textarea.module.ts","../../../projects/form-controls/src/lib/sz-html-form-controls/sz-html-form-controls.module.ts","../../../projects/form-controls/src/lib/szorba-form-controls.module.ts","../../../projects/form-controls/src/public-api.ts","../../../projects/form-controls/src/szorba-form-controls.ts"],"sourcesContent":["import { Directive, HostBinding, Input, OnInit } from '@angular/core';\r\n\r\n@Directive({ selector: '[sz-form-controls-indigo]' })\r\nexport class SzFormControlsIndigoDirective implements OnInit {\r\n\r\n    @Input('sz-form-controls-indigo') @HostBinding('class.sz-form-controls-indigo') classSzFormControlsIndigo = true;\r\n\r\n    ngOnInit(): void {\r\n        // úgy is működjön, ha csak rádobom a direktívát bemeneti paraméter és bind nélkül,\r\n        // mint: natúrban sz-form-controls-indigo, nem kell: [sz-form-controls-indigo]=\"true\"\r\n        if (String(this.classSzFormControlsIndigo) === '') {\r\n            this.classSzFormControlsIndigo = true;\r\n        }\r\n    }\r\n}\r\n","import { Directive, HostListener, Input } from '@angular/core';\r\n\r\n@Directive({ selector: '[sz-accepted-chars]' })\r\nexport class SzAcceptedCharsDirective {\r\n    @Input('sz-accepted-chars') chars = '^[a-zA-Z0-9_]*$';\r\n\r\n    @HostListener('keypress', ['$event']) onKeyPress(e: KeyboardEvent): boolean {\r\n        return new RegExp(this.chars).test(e.key);\r\n    }\r\n\r\n    @HostListener('paste', ['$event']) onPaste(e: ClipboardEvent): boolean {\r\n        return new RegExp(this.chars).test(e.clipboardData.getData('Text'));\r\n    }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { SzFormControlsIndigoDirective } from './style/sz-form-controls-indigo.directive';\r\nimport { SzAcceptedCharsDirective } from './sz-accepted-chars.directive';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzAcceptedCharsDirective,\r\n\r\n        SzFormControlsIndigoDirective,\r\n    ],\r\n    imports: [\r\n        CommonModule,\r\n    ],\r\n    exports: [\r\n        SzAcceptedCharsDirective,\r\n\r\n        SzFormControlsIndigoDirective,\r\n    ]\r\n})\r\nexport class DirectivesModule {\r\n}\r\n","export enum SzHtmlLabelDisplay {\r\n    Column = 'fd-column',\r\n    Row = 'fd-row',\r\n}\r\n","import { Component, ElementRef, EventEmitter, HostBinding, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { SzHtmlCheckedInputAbstractComponent } from '../../../sz-html-controls/inputs/sz-html-checked-input/sz-html-checked-input-abstract.component';\r\nimport { SzHtmlInputEvent } from '../../../sz-html-controls/model/SzHtmlInputEvent';\r\nimport { SzHtmlLabelDisplay } from '../../../sz-html-controls/model/SzHtmlLabelDisplay';\r\nimport { SzHtmlLabelClickEvent } from '../../../sz-html-controls/sz-html-label/model/SzHtmlLabelClickEvent';\r\nimport { SzCheckedInputEvent } from '../../model/SzCheckedInputEvent';\r\nimport { SzCheckedInputConfig } from './model/SzCheckedInputConfig';\r\n\r\n@Component({\r\n    // tslint:disable-next-line:component-selector\r\n    selector: '',\r\n    template: ''\r\n})\r\nexport class SzCheckedInputAbstractComponent implements SzCheckedInputConfig, OnInit {\r\n\r\n    focus = false;\r\n\r\n    @Input() label: string;\r\n    @Input() labelDisplay = SzHtmlLabelDisplay.Row;\r\n    @Input() idInput = '';\r\n    @Input() disabled = false;\r\n\r\n    @Output() clickOnLabel = new EventEmitter<SzHtmlLabelClickEvent>();\r\n    @Output() clickOnElement = new EventEmitter<MouseEvent>();\r\n    @Output() valueChanges = new EventEmitter<any>();\r\n    @Output() checkedChanges = new EventEmitter<boolean>();\r\n    @Output() inputNative = new EventEmitter<SzCheckedInputEvent>();\r\n\r\n    @HostBinding('class.sz-checked-input') classSzCheckedInput = true;\r\n\r\n    @ViewChild('divElementRef', { static: true }) divElementRef: ElementRef;\r\n    @ViewChild('checkedInput', { static: true }) checkedInput: SzHtmlCheckedInputAbstractComponent;\r\n\r\n    @Input()\r\n    get value(): any {\r\n        return this.checkedInput.getValue();\r\n    }\r\n\r\n    set value(value: any) {\r\n        if (this.value === value) {\r\n            return;\r\n        }\r\n        this.checkedInput.setValue(value);\r\n        this.valueChanges.emit(this.checkedInput.getValue());\r\n    }\r\n\r\n    @Input()\r\n    get checked(): boolean {\r\n        return this.checkedInput.checked;\r\n    }\r\n\r\n    set checked(checked: boolean) {\r\n        if (this.checked === checked) {\r\n            return;\r\n        }\r\n        this.checkedInput.checked = checked;\r\n        // console.log('checkedChanges', checked);\r\n    }\r\n\r\n    ngOnInit(): void {\r\n        // console.log('ngOnInit', this.checked);\r\n        this.checked = Boolean(this.checked);\r\n    }\r\n\r\n    setValue(value: any): void {\r\n        this.value = value;\r\n    }\r\n\r\n    getValue(): any {\r\n        return this.value;\r\n    }\r\n\r\n    onClickOnLabel(e: SzHtmlLabelClickEvent): void {\r\n        // console.log('2onClickOnLabel', e);\r\n        this.clickOnLabel.emit(e);\r\n    }\r\n\r\n    onNativeClick(e: MouseEvent): void {\r\n        // console.log('onNativeClick', e);\r\n        e.stopPropagation();\r\n    }\r\n\r\n    onNativeFocusIn(e: FocusEvent): void {\r\n        // console.log('onNativeFocusIn', e);\r\n        e.stopPropagation();\r\n        this.focus = true;\r\n    }\r\n\r\n    onNativeFocusOut(e: FocusEvent): void {\r\n        // console.log('onNativeFocusOut', e);\r\n        e.stopPropagation();\r\n        this.focus = false;\r\n    }\r\n\r\n    onCheckedChanges(e: boolean): void {\r\n        // console.log('onCheckedChanges', e);\r\n        this.checkedChanges.emit(e);\r\n    }\r\n\r\n    onClickOnElement(e: MouseEvent): void {\r\n        // console.log('onClickOnElement', e, this.htmlCheckedElement.checked);\r\n        this.checkedInput.click();\r\n        this.clickOnElement.emit(e);\r\n    }\r\n\r\n    onInputNative(e: SzHtmlInputEvent): void {\r\n        // console.log('onInput', e);\r\n        e.event.stopPropagation();\r\n        this.inputNative.emit({ event: e, component: this });\r\n    }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { SzCheckedInputAbstractComponent } from './sz-checked-input-abstract.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzCheckedInputAbstractComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule,\r\n\r\n        // --- My own imports ---\r\n    ],\r\n    exports: [\r\n        SzCheckedInputAbstractComponent,\r\n    ]\r\n})\r\nexport class SzCheckedInputModule {\r\n}\r\n","export type NumOrUnlimited = number | 'unlimited';\r\nexport type SoN = string | number; // as Enum possible values: string, number\r\n\r\nexport enum InputType {\r\n    Checkbox = 'checkbox',\r\n    Color = 'color',\r\n    Date = 'date',\r\n    DateTimeLocal = 'datetime-local',\r\n    Email = 'email',\r\n    Month = 'month',\r\n    Number = 'number',\r\n    Password = 'password',\r\n    Radio = 'radio',\r\n    Search = 'search',\r\n    Tel = 'tel',\r\n    Text = 'text',\r\n    Time = 'time',\r\n    Url = 'url',\r\n    Week = 'week'\r\n}\r\n\r\nexport interface TypeInputInterface {\r\n    type: InputType;\r\n}\r\n","import { SzFormErrorsInterface } from '../sz-form-errors/model/SzFormErrorsInterface';\r\nimport { SzorbaValidatorsInterface } from '../validators/model/SzorbaValidatorsInterface';\r\n\r\nexport interface DisabledInterface {\r\n    disabled: boolean;\r\n    classDisabled?: boolean;\r\n    elementRef?: {\r\n        nativeElement: {\r\n            disabled: boolean;\r\n        }\r\n    };\r\n}\r\n\r\nexport interface DisabledFormInterface extends DisabledInterface, SzorbaValidatorsInterface, SzFormErrorsInterface {\r\n}\r\n\r\nexport class DisabledUtil {\r\n    static setupProperty(disabled: boolean, component: DisabledInterface): void {\r\n        component.classDisabled = disabled;\r\n        const elementRef = component.elementRef;\r\n        if (elementRef) {\r\n            elementRef.nativeElement.disabled = disabled;\r\n        }\r\n    }\r\n\r\n    static setupPropertyForm(disabled: boolean, formComponent: DisabledFormInterface): void {\r\n        DisabledUtil.setupProperty(disabled, formComponent);\r\n        if (formComponent.disabled) {\r\n            formComponent.fControl.disable();\r\n        } else {\r\n            formComponent.fControl.enable();\r\n        }\r\n    }\r\n}\r\n","export interface ReadOnlyInterface {\r\n    readOnly: boolean;\r\n    elementRef: {\r\n        nativeElement: {\r\n            readOnly: boolean;\r\n        }\r\n    };\r\n}\r\n\r\nexport class ReadOnlyUtil {\r\n    static setupProperty(readOnly: boolean, component: ReadOnlyInterface): void {\r\n        component.elementRef.nativeElement.readOnly = readOnly;\r\n    }\r\n}\r\n","import {\r\n    AfterViewInit,\r\n    Component,\r\n    ElementRef,\r\n    EventEmitter,\r\n    HostBinding,\r\n    Input,\r\n    OnChanges,\r\n    OnInit,\r\n    Output,\r\n    SimpleChanges,\r\n    ViewChild\r\n} from '@angular/core';\r\nimport { DisabledInterface, DisabledUtil } from '../../utils/disabled.util';\r\nimport { SzHtmlLabelClickEvent } from './model/SzHtmlLabelClickEvent';\r\n\r\n@Component({\r\n    selector: 'sz-html-label',\r\n    template: `\r\n        <label\r\n            #labelRef\r\n            [for]=\"forLabel\"\r\n            (click)=\"onClick($event)\"\r\n            [ngClass]=\"{\r\n                'label-native': true\r\n            }\"\r\n        >\r\n            {{ text }}\r\n            <ng-content></ng-content>\r\n        </label>\r\n    `,\r\n})\r\nexport class SzHtmlLabelComponent implements DisabledInterface, OnInit, AfterViewInit, OnChanges {\r\n\r\n    @Input() text = '';\r\n    @Input() forLabel = '';\r\n    @Input() disabled = false;\r\n    @Output() clickOnLabel = new EventEmitter<SzHtmlLabelClickEvent>();\r\n\r\n    @HostBinding('class.sz-html-label') classSzHtmlLabel = true;\r\n    @HostBinding('class.sz-html-disabled') classDisabled = false;\r\n\r\n    @ViewChild('labelRef', { static: true }) labelRef: ElementRef;\r\n\r\n    ngOnInit(): void {\r\n        DisabledUtil.setupProperty(this.disabled, this);\r\n    }\r\n\r\n    ngAfterViewInit(): void {\r\n        if (!this.forLabel) {\r\n            const labelNative: HTMLLabelElement = this.labelRef.nativeElement;\r\n            labelNative.removeAttribute('for');\r\n        }\r\n    }\r\n\r\n    ngOnChanges(changes: SimpleChanges): void {\r\n        if (changes.disabled) {\r\n            DisabledUtil.setupProperty(this.disabled, this);\r\n        }\r\n    }\r\n\r\n    onClick(e: MouseEvent): void {\r\n        // console.log('onClick', e, this);\r\n        this.clickOnLabel.emit({ event: e, component: this });\r\n    }\r\n}\r\n","import {\r\n    AfterViewInit,\r\n    Component,\r\n    ElementRef,\r\n    EventEmitter,\r\n    HostBinding,\r\n    Input,\r\n    OnChanges,\r\n    OnInit,\r\n    Output,\r\n    SimpleChanges,\r\n    ViewChild\r\n} from '@angular/core';\r\nimport { InputType, TypeInputInterface } from '../../../szorba-types';\r\nimport { DisabledInterface, DisabledUtil } from '../../../utils/disabled.util';\r\nimport { ReadOnlyInterface, ReadOnlyUtil } from '../../../utils/readonly.util';\r\nimport { SzHtmlInputEvent } from '../../model/SzHtmlInputEvent';\r\nimport { SzHtmlLabelDisplay } from '../../model/SzHtmlLabelDisplay';\r\nimport { SzHtmlLabelClickEvent } from '../../sz-html-label/model/SzHtmlLabelClickEvent';\r\nimport { SzHtmlLabelComponent } from '../../sz-html-label/sz-html-label.component';\r\nimport { SzHtmlInputConfig } from './model/SzHtmlInputConfig';\r\n\r\n@Component({\r\n    selector: 'sz-html-input',\r\n    templateUrl: './sz-html-input.component.html'\r\n})\r\nexport class SzHtmlInputComponent implements SzHtmlInputConfig, DisabledInterface, ReadOnlyInterface, TypeInputInterface,\r\n    OnInit, AfterViewInit, OnChanges {\r\n\r\n    type: InputType;\r\n\r\n    @Input() label: string;\r\n    @Input() labelDisplay = SzHtmlLabelDisplay.Column;\r\n    @Input() placeholder = 'Placeholder';\r\n    @Input() idInput = '';\r\n    @Input() widthInput: string;\r\n    @Input() maxWidthInput: string;\r\n\r\n    @Output() clickOnLabel = new EventEmitter<SzHtmlLabelClickEvent>();\r\n    @Output() inputNative = new EventEmitter<SzHtmlInputEvent>();\r\n    @Output() mouseDownNative = new EventEmitter<MouseEvent>();\r\n    @Output() clickNative = new EventEmitter<MouseEvent>();\r\n    @Output() keyDownNative = new EventEmitter<KeyboardEvent>();\r\n    @Output() keyUpNative = new EventEmitter<KeyboardEvent>();\r\n    @Output() valueChange = new EventEmitter<any>(); // two-way binding for value\r\n\r\n    @HostBinding('class.sz-html-input') classSzHtmlInput = true;\r\n    @ViewChild(SzHtmlLabelComponent, { static: false }) labelComponent: SzHtmlLabelComponent;\r\n    @ViewChild('elementRef', { static: true }) elementRef: ElementRef;\r\n\r\n    constructor(\r\n        protected elRefHost: ElementRef<HTMLElement>) {\r\n    }\r\n\r\n    get maxWidth(): string {\r\n        return this.elRefHost.nativeElement.style.maxWidth;\r\n    }\r\n\r\n    @Input()\r\n    set maxWidth(value: string) {\r\n        // console.log(this.el, value);\r\n        // this.elRefHost.nativeElement.setAttribute('style', `max-width: ${ value }`);\r\n        this.elRefHost.nativeElement.style.maxWidth = value;\r\n    }\r\n\r\n    protected _value: any = null;\r\n\r\n    get value(): any {\r\n        return this._value;\r\n    }\r\n\r\n    @Input()\r\n    set value(val: any) {\r\n        if (this._value === val) {\r\n            return;\r\n        }\r\n        this._value = val;\r\n        this.valueChange.emit(val);\r\n    }\r\n\r\n    protected _disabled = false;\r\n    get disabled(): boolean {\r\n        return this._disabled;\r\n    }\r\n\r\n    @Input()\r\n    set disabled(disabled: boolean) {\r\n        if (this._disabled === disabled) {\r\n            return;\r\n        }\r\n        this._disabled = disabled;\r\n        this.setupDisabled();\r\n    }\r\n\r\n    protected _readOnly = false;\r\n    get readOnly(): boolean {\r\n        return this._readOnly;\r\n    }\r\n\r\n    @Input()\r\n    set readOnly(readOnly: boolean) {\r\n        if (this._readOnly === readOnly) {\r\n            return;\r\n        }\r\n        this._readOnly = readOnly;\r\n        this.setupReadOnly();\r\n    }\r\n\r\n    ngOnInit(): void {\r\n        if (!this.type) {\r\n            console.error(`Type value is: ${ this.type }! Must be a type value!`);\r\n        }\r\n        this.getNativeInputElement().required = false;\r\n        this.setupReadOnly();\r\n    }\r\n\r\n    ngAfterViewInit(): void {\r\n        // --- for valid HTML document ---\r\n        const nativeInputElement: HTMLInputElement = this.elementRef.nativeElement;\r\n        if (!this.idInput) {\r\n            nativeInputElement.removeAttribute('id');\r\n        }\r\n        if (this.type === InputType.Checkbox || this.type === InputType.Color\r\n            || this.type === InputType.Date || this.type === InputType.DateTimeLocal || this.type === InputType.Month\r\n            || this.type === InputType.Radio || this.type === InputType.Time) {\r\n            nativeInputElement.removeAttribute('placeholder');\r\n        }\r\n        // --- for valid HTML document END ---\r\n    }\r\n\r\n    ngOnChanges(changes: SimpleChanges): void {\r\n        // console.log('ngOnChanges', changes);\r\n        if (changes.disabled) {\r\n            this.setupDisabled();\r\n        }\r\n        if (changes.readOnly) {\r\n            this.setupReadOnly();\r\n        }\r\n    }\r\n\r\n    focus(options?: FocusOptions): void {\r\n        this.getNativeInputElement().focus(options);\r\n    }\r\n\r\n    click(): void {\r\n        const nativeInput = this.getNativeInputElement();\r\n        nativeInput.click();\r\n        nativeInput.focus();\r\n    }\r\n\r\n    getNativeInputElement(): HTMLInputElement {\r\n        if (!this.elementRef) {\r\n            return;\r\n        }\r\n        return this.elementRef.nativeElement as HTMLInputElement;\r\n    }\r\n\r\n    onClickOnLabel(e: SzHtmlLabelClickEvent): void {\r\n        // console.log('1onClickOnLabel:', e, this);\r\n        this.clickOnLabel.emit(e);\r\n    }\r\n\r\n    onInputNative(e: Event): void {\r\n        // console.log('onInput:', e);\r\n        this.inputEvent(e);\r\n        this.inputNative.emit({ event: e, component: this });\r\n    }\r\n\r\n    onMouseDownNative(e: MouseEvent): void {\r\n        // console.log('onMouseDownNative:', e);\r\n        this.mouseDownNative.emit(e);\r\n    }\r\n\r\n    onClickNative(e: MouseEvent): void {\r\n        // console.log('onClickNative:', e);\r\n        this.clickNative.emit(e);\r\n    }\r\n\r\n    onKeyDownNative(e: KeyboardEvent): void {\r\n        // console.log('onKeyDownNative', e);\r\n        this.keyDownNative.emit(e);\r\n    }\r\n\r\n    onKeyUpNative(e: KeyboardEvent): void {\r\n        // console.log('onKeyUpNative', e);\r\n        this.keyUpNative.emit(e);\r\n        if (!e.defaultPrevented) {\r\n            if (e.key === 'Enter' && !e.ctrlKey && !e.shiftKey && !e.altKey) {\r\n                this.getNativeInputElement().blur();\r\n            }\r\n        }\r\n    }\r\n\r\n    protected inputEvent(e: Event): void {\r\n        // console.log('inputEvent', this, e);\r\n        this.value = (e.target as HTMLInputElement).value;\r\n    }\r\n\r\n    protected setupReadOnly(): void {\r\n        ReadOnlyUtil.setupProperty(this.readOnly, this);\r\n    }\r\n\r\n    protected setupDisabled(): void {\r\n        DisabledUtil.setupProperty(this.disabled, this);\r\n    }\r\n}\r\n","<div [ngClass]=\"[\r\n    'label-with-element-container',\r\n    labelDisplay\r\n  ]\"\r\n>\r\n  <sz-html-label\r\n    *ngIf=\"label\"\r\n    [text]=\"label\"\r\n    [forLabel]=\"idInput\"\r\n    [disabled]=\"disabled\"\r\n\r\n    (clickOnLabel)=\"onClickOnLabel($event)\"\r\n  ></sz-html-label>\r\n  <input\r\n    #elementRef\r\n    [id]=\"idInput\"\r\n    [type]=\"type\"\r\n    [placeholder]=\"placeholder\"\r\n    [value]=\"value\"\r\n    (input)=\"onInputNative($event)\"\r\n    (click)=\"onClickNative($event)\"\r\n    (keydown)=\"onKeyDownNative($event)\"\r\n    (keyup)=\"onKeyUpNative($event)\"\r\n\r\n    [ngClass]=\"{\r\n      'input-native': true\r\n    }\"\r\n    [style.width]=\"widthInput ? widthInput : ''\"\r\n    [style.max-width]=\"maxWidthInput ? maxWidthInput : ''\"\r\n  >\r\n</div>\r\n","import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';\r\nimport { SzHtmlInputComponent } from '../../../sz-html-controls/inputs/sz-html-input/sz-html-input.component';\r\nimport { SzInputFocusNativeEvent } from './model/SzInputFocusNativeEvent';\r\n\r\n@Component({\r\n    selector: 'sz-input',\r\n    templateUrl: './sz-input.component.html',\r\n})\r\nexport class SzInputComponent extends SzHtmlInputComponent {\r\n\r\n    _focus = false;\r\n\r\n    @Output() focusInNative = new EventEmitter<SzInputFocusNativeEvent>();\r\n    @Output() focusOutNative = new EventEmitter<SzInputFocusNativeEvent>();\r\n\r\n    @HostBinding('class.sz-input') classSzInput = true;\r\n\r\n    @ViewChild('nativeContainerDivRef') nativeContainerDivRef: ElementRef<HTMLDivElement>;\r\n    @ViewChild('labelWithElementContainer') labelWithElementContainer: ElementRef<HTMLDivElement>;\r\n\r\n    constructor(protected elRefHost: ElementRef<HTMLElement>) {\r\n        super(elRefHost);\r\n    }\r\n\r\n    _focusStyleActive = false;\r\n    get focusStyleActive(): boolean {\r\n        return this._focusStyleActive;\r\n    }\r\n\r\n    @Input()\r\n    set focusStyleActive(active: boolean) {\r\n        this._focusStyleActive = active;\r\n    }\r\n\r\n    // TODO: sz-select-hez még kellhet, ha a label feature belekerülne\r\n    getInputBoundingClientRectLeft(): number {\r\n        // console.log(this, this.nativeContainerDivRef.nativeElement.getClientRects());\r\n        const labelWithElementContainerRect = this.labelWithElementContainer.nativeElement.getBoundingClientRect();\r\n        const nativeContainerDivRect = this.nativeContainerDivRef.nativeElement.getBoundingClientRect();\r\n        return nativeContainerDivRect.left - labelWithElementContainerRect.left;\r\n    }\r\n\r\n    getBoundingClientRectTop(): number {\r\n        return this.elRefHost.nativeElement.getBoundingClientRect().top;\r\n    }\r\n\r\n    getClientRectHeight(): number {\r\n        return this.elRefHost.nativeElement.getClientRects()[0].height;\r\n    }\r\n\r\n    getInputClientHeight(): number {\r\n        return this.nativeContainerDivRef.nativeElement.getClientRects()[0].height;\r\n    }\r\n\r\n    onFocusInNative(e: FocusEvent): void {\r\n        // console.log('onNativeFocusIn', e);\r\n        e.stopPropagation();\r\n        this._focus = true;\r\n        this.focusInNative.emit({ event: e, component: this });\r\n    }\r\n\r\n    onFocusOutNative(e: FocusEvent): void {\r\n        // console.log('onNativeFocusOut', e);\r\n        e.stopPropagation();\r\n        this._focus = false;\r\n        this.focusOutNative.emit({ event: e, component: this });\r\n    }\r\n}\r\n","<div\r\n  #labelWithElementContainer\r\n  [ngClass]=\"[\r\n    'label-with-element-container',\r\n    labelDisplay ? labelDisplay : ''\r\n  ]\"\r\n>\r\n  <sz-html-label\r\n    *ngIf=\"label\"\r\n    [text]=\"label\"\r\n    [forLabel]=\"idInput\"\r\n    [disabled]=\"disabled\"\r\n\r\n    (clickOnLabel)=\"onClickOnLabel($event)\"\r\n  ></sz-html-label>\r\n  <div\r\n    #nativeContainerDivRef\r\n    (mousedown)=\"onMouseDownNative($event)\"\r\n    (click)=\"onClickNative($event)\"\r\n    [ngClass]=\"{\r\n      'input-native-container': true,\r\n      'sz-focus': (_focus || focusStyleActive),\r\n      'sz-disabled': disabled\r\n    }\"\r\n    [style.width]=\"widthInput ? widthInput : ''\"\r\n    [style.max-width]=\"maxWidthInput ? maxWidthInput : ''\"\r\n  >\r\n    <ng-content select=\"[before-input]\"></ng-content>\r\n    <input\r\n      #elementRef\r\n      [id]=\"idInput\"\r\n      [type]=\"type\"\r\n      [placeholder]=\"placeholder\"\r\n      (input)=\"onInputNative($event)\"\r\n      [value]=\"value\"\r\n      (keydown)=\"onKeyDownNative($event)\"\r\n      (keyup)=\"onKeyUpNative($event)\"\r\n      (focusin)=\"onFocusInNative($event)\"\r\n      (focusout)=\"onFocusOutNative($event)\"\r\n\r\n      [ngClass]=\"{\r\n        'input-native': true\r\n      }\"\r\n    >\r\n    <ng-content select=\"[after-input]\"></ng-content>\r\n  </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { DirectivesModule } from '../../directives/directives.module';\r\nimport { SzHtmlLabelComponent } from './sz-html-label.component';\r\n\r\n@NgModule({ // --- @angular/core ---\r\n    declarations: [\r\n        SzHtmlLabelComponent\r\n    ],\r\n    imports: [\r\n        // --- @angular/common ---\r\n        CommonModule,\r\n\r\n    ],\r\n    exports: [\r\n        SzHtmlLabelComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzHtmlLabelModule {\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { SzHtmlLabelModule } from '../../../sz-html-controls/sz-html-label/sz-html-label.module';\r\nimport { SzInputComponent } from './sz-input.component';\r\n\r\n@NgModule({ // @angular/core\r\n    declarations: [\r\n        SzInputComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule, // --- @angular/common ---\r\n\r\n        // --- My own imports ---\r\n        SzHtmlLabelModule,\r\n    ],\r\n    exports: [\r\n        SzInputComponent,\r\n    ]\r\n})\r\nexport class SzInputModule {\r\n}\r\n","import { Component, EventEmitter, HostBinding, Input, OnInit, Output } from '@angular/core';\r\nimport { SzHtmlLabelDisplay } from '../../model/SzHtmlLabelDisplay';\r\nimport { SzHtmlInputComponent } from '../sz-html-input/sz-html-input.component';\r\nimport { SzHtmlCheckedInputConfig } from './model/SzHtmlCheckedInputConfig';\r\n\r\n@Component({\r\n    // tslint:disable-next-line:component-selector\r\n    selector: '',\r\n    template: ''\r\n})\r\nexport class SzHtmlCheckedInputAbstractComponent extends SzHtmlInputComponent implements SzHtmlCheckedInputConfig, OnInit {\r\n\r\n    @Input() labelDisplay = SzHtmlLabelDisplay.Row;\r\n\r\n    @Output() focusInNative = new EventEmitter<FocusEvent>();\r\n    @Output() focusOutNative = new EventEmitter<FocusEvent>();\r\n    @Output() checkedChanges = new EventEmitter<boolean>();\r\n\r\n    @HostBinding('class.sz-html-checked-input') classSzHtmlCheckedInput = true;\r\n\r\n    @Input()\r\n    get checked(): boolean {\r\n        // console.log('getChecked', this.label, (this.elementRef.nativeElement as HTMLInputElement).checked);\r\n        return (this.elementRef.nativeElement as HTMLInputElement).checked;\r\n    }\r\n\r\n    set checked(checked: boolean) {\r\n        // console.log('1checked', checked, this.checked);\r\n        if (this.checked === checked) {\r\n            return;\r\n        }\r\n        (this.elementRef.nativeElement as HTMLInputElement).checked = checked;\r\n        // console.log('checkedChanges', checked, this.checked);\r\n        this.checkedChanges.emit(this.checked);\r\n    }\r\n\r\n    ngOnInit(): void {\r\n        super.ngOnInit();\r\n        this.setValue(this.value);\r\n    }\r\n\r\n    setValue(value: any): void {\r\n        this.value = value;\r\n        (this.elementRef.nativeElement as HTMLInputElement).value = value;\r\n    }\r\n\r\n    getValue(): any {\r\n        return this.value;\r\n    }\r\n\r\n    onFocusInNative(e: FocusEvent): void {\r\n        // console.log('onFocusIn', e, this);\r\n        this.focusInNative.emit(e);\r\n    }\r\n\r\n    onFocusOutNative(e: FocusEvent): void {\r\n        // console.log('onFocusOut', e, this);\r\n        this.focusOutNative.emit(e);\r\n    }\r\n\r\n    protected inputEvent(e: Event): void {\r\n        // console.log('inputEvent', e, this.checked);\r\n        this.checkedChanges.emit(this.checked);\r\n    }\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { SzHtmlCheckedInputAbstractComponent } from '../sz-html-checked-input/sz-html-checked-input-abstract.component';\r\n\r\n@Component({\r\n    selector: 'sz-html-input-checkbox',\r\n    templateUrl: './sz-html-input-checkbox.component.html',\r\n})\r\nexport class SzHtmlInputCheckboxComponent extends SzHtmlCheckedInputAbstractComponent {\r\n\r\n    type = InputType.Checkbox;\r\n\r\n    @HostBinding('class.sz-html-input-checkbox') classSzHtmlInputCheckbox = true;\r\n\r\n}\r\n","<div [ngClass]=\"[\r\n    'label-with-element-container',\r\n    labelDisplay\r\n  ]\"\r\n>\r\n<sz-html-label\r\n    *ngIf=\"label\"\r\n    [text]=\"label\"\r\n    [forLabel]=\"idInput\"\r\n    [disabled]=\"disabled\"\r\n\r\n    (clickOnLabel)=\"onClickOnLabel($event)\"\r\n  ></sz-html-label>\r\n  <input\r\n    #elementRef\r\n    [id]=\"idInput\"\r\n    [type]=\"type\"\r\n    [placeholder]=\"placeholder\"\r\n\r\n    (input)=\"onInputNative($event)\"\r\n    (click)=\"onClickNative($event)\"\r\n    (focusin)=\"onFocusInNative($event)\"\r\n    (focusout)=\"onFocusOutNative($event)\"\r\n    (keyup)=\"onKeyUpNative($event)\"\r\n\r\n    [ngClass]=\"{\r\n      'checked-native': true,\r\n      'sz-html-checkbox': true\r\n    }\"\r\n  >\r\n  <ng-content></ng-content>\r\n</div>\r\n","import { Component, HostBinding, OnInit } from '@angular/core';\r\nimport { SzCheckedInputAbstractComponent } from '../sz-checked-input/sz-checked-input-abstract.component';\r\n\r\n@Component({\r\n    selector: 'sz-input-checkbox',\r\n    templateUrl: './sz-input-checkbox.component.html',\r\n})\r\nexport class SzInputCheckboxComponent extends SzCheckedInputAbstractComponent implements OnInit {\r\n\r\n    @HostBinding('class.sz-input-checkbox') classSzInputCheckbox = true;\r\n\r\n}\r\n","<sz-html-input-checkbox\r\n  #checkedInput\r\n  placeholder=\"\"\r\n  [idInput]=\"idInput\"\r\n  [label]=\"label\"\r\n  [labelDisplay]=\"labelDisplay\"\r\n  [value]=\"value\"\r\n  [disabled]=\"disabled\"\r\n  (clickOnLabel)=\"onClickOnLabel($event)\"\r\n  (clickNative)=\"onNativeClick($event)\"\r\n  (focusInNative)=\"onNativeFocusIn($event)\"\r\n  (focusOutNative)=\"onNativeFocusOut($event)\"\r\n  (checkedChanges)=\"onCheckedChanges($event)\"\r\n  (inputNative)=\"onInputNative($event)\"\r\n>\r\n  <div\r\n    #divElementRef\r\n    [ngClass]=\"{\r\n      'sz-checkbox': true,\r\n      'sz-focus': focus,\r\n      'sz-checked': checked,\r\n      'sz-disabled': disabled\r\n    }\"\r\n    (click)=\"onClickOnElement($event)\"\r\n  >\r\n    <svg *ngIf=\"checked\" viewBox=\"0 0 24 24\">\r\n      <path d=\"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\"/>\r\n    </svg>\r\n  </div>\r\n</sz-html-input-checkbox>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { SzHtmlCheckedInputAbstractComponent } from './sz-html-checked-input-abstract.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlCheckedInputAbstractComponent\r\n    ],\r\n    imports: [\r\n        CommonModule, // --- @angular/common ---\r\n\r\n        // --- My own imports ---\r\n    ],\r\n    exports: [\r\n        SzHtmlCheckedInputAbstractComponent\r\n    ]\r\n})\r\nexport class SzHtmlCheckedInputModule {\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzHtmlLabelModule } from '../../sz-html-label/sz-html-label.module';\r\nimport { SzHtmlInputComponent } from './sz-html-input.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlInputComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule, // --- @angular/common ---\r\n\r\n        // --- My own imports ---\r\n        SzHtmlLabelModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlInputComponent,\r\n\r\n        SzHtmlLabelModule,\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzHtmlInputModule {\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzHtmlCheckedInputModule } from '../sz-html-checked-input/sz-html-checked-input.module';\r\nimport { SzHtmlInputModule } from '../sz-html-input/sz-html-input.module';\r\nimport { SzHtmlInputCheckboxComponent } from './sz-html-input-checkbox.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlInputCheckboxComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule, // --- @angular/common ---\r\n\r\n        // --- My own imports ---\r\n        SzHtmlInputModule,\r\n        SzHtmlCheckedInputModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlInputCheckboxComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzHtmlInputCheckboxModule {\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { SzHtmlInputCheckboxModule } from '../../../sz-html-controls/inputs/sz-html-input-checkbox/sz-html-input-checkbox.module';\r\nimport { SzCheckedInputModule } from '../sz-checked-input/sz-checked-input.module';\r\nimport { SzInputCheckboxComponent } from './sz-input-checkbox.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzInputCheckboxComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule,\r\n\r\n        // --- My own imports ---\r\n        SzHtmlInputCheckboxModule,\r\n        SzCheckedInputModule,\r\n    ],\r\n    exports: [\r\n        SzInputCheckboxComponent,\r\n    ]\r\n})\r\nexport class SzInputCheckboxModule {\r\n}\r\n","export interface NumberInterface {\r\n    value: number;\r\n    min: number;\r\n    max: number;\r\n    step: number;\r\n    elementRef: {\r\n        nativeElement: HTMLInputElement\r\n    };\r\n}\r\n\r\nexport class InputNumberUtil {\r\n    private static readonly TIMEOUT_TIME = 500;\r\n    private static readonly INTERVAL_TIME = 50;\r\n\r\n    static getValueAfterCheckMinMax(value: number, numberComponent: NumberInterface): number {\r\n        if ((numberComponent.min || numberComponent.min === 0) && value < numberComponent.min) {\r\n            return numberComponent.min;\r\n        } else if (numberComponent.max && value > numberComponent.max) {\r\n            return numberComponent.max;\r\n        } else {\r\n            return value;\r\n        }\r\n    }\r\n\r\n    static getNativeValueAndSetValueFromInputEvent(e: InputEvent, numberComponent: NumberInterface): string {\r\n        const val = (e.target as HTMLInputElement).value; // if it is not a valid Number then val = '' !!!!!\r\n        if (val === '') {\r\n            numberComponent.value = null;\r\n            return val;\r\n        }\r\n        numberComponent.value = Number(val);\r\n        return undefined;\r\n    }\r\n\r\n    // only a check method\r\n    static checkAndConvertTypeByNumberProp(property: number, propertyName: string): void {\r\n        if (typeof property === 'string') {\r\n            console.warn(`Input() ${ propertyName } is a String, i try to convert to Number!`, property, ' : ', this);\r\n            const numProp = Number(property);\r\n            if (numProp || numProp === 0) {\r\n                property = numProp;\r\n                console.warn(`Converted to Number!`, property, ' : ', this);\r\n            } else {\r\n                console.error(`Cannot convert to Number!`, property, ' : ', this);\r\n            }\r\n        } else {\r\n            if ((property && (typeof property !== 'number'))) { // there is init Input value\r\n                console.error(`Wrong ${ propertyName } Input! Its not a Number!`, property, ' : ', this);\r\n            }\r\n        }\r\n    }\r\n}\r\n","import { AfterViewInit, Component, EventEmitter, HostBinding, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { SzHtmlInputNumberConfig } from '../../../sz-html-controls/inputs/sz-html-input-number/model/SzHtmlInputNumberConfig';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { InputNumberUtil, NumberInterface } from '../../../utils/input-number.util';\r\nimport { SzInputComponent } from '../sz-input/sz-input.component';\r\n// @ts-ignore\r\nimport Timeout = NodeJS.Timeout;\r\n\r\n@Component({\r\n    selector: 'sz-input-number',\r\n    templateUrl: './sz-input-number.component.html',\r\n})\r\nexport class SzInputNumberComponent extends SzInputComponent implements SzHtmlInputNumberConfig, NumberInterface, OnInit, AfterViewInit, OnChanges {\r\n    private static readonly TIMEOUT_TIME = 500;\r\n    private static readonly INTERVAL_TIME = 50;\r\n\r\n    type = InputType.Number;\r\n\r\n    @Input() step = 1;\r\n\r\n    @Output() valueChange = new EventEmitter<number>();\r\n\r\n    @HostBinding('class.sz-input-number') isClassSzInputNumber = true;\r\n\r\n    private timeout: Timeout;\r\n    private interval: Timeout;\r\n\r\n    private _min: number;\r\n    get min(): number {\r\n        return this._min;\r\n    }\r\n\r\n    @Input()\r\n    set min(value: number) {\r\n        this._min = value;\r\n        this.value = this.value;\r\n    }\r\n\r\n    private _max: number;\r\n    get max(): number {\r\n        return this._max;\r\n    }\r\n\r\n    @Input()\r\n    set max(value: number) {\r\n        this._max = value;\r\n        this.value = this.value;\r\n    }\r\n\r\n    protected _value: number = null;\r\n    get value(): number {\r\n        return this._value;\r\n    }\r\n\r\n    @Input()\r\n    set value(val: number) {\r\n        // console.log('val', val);\r\n        const prevValue = this._value;\r\n        if (val === null) {\r\n            this._value = null;\r\n            // this.getNativeInputElement().value = null; // kikommentezve, hogy be lehessen írni 'e' stb. karaktert is\r\n            if (prevValue !== this._value) {\r\n                this.valueChange.emit(null);\r\n            }\r\n            return;\r\n        } else if (val === undefined) { // így lehet reszetelni az inputot\r\n            this._value = null;\r\n            this.getNativeInputElement().value = null;\r\n            if (prevValue !== this._value) {\r\n                this.valueChange.emit(undefined);\r\n            }\r\n            return;\r\n        }\r\n        this._value = InputNumberUtil.getValueAfterCheckMinMax(val, this);\r\n        this.getNativeInputElement().value = this._value.toString(); // i need to bind manually !!!\r\n        // console.log('value', prevValue, this._value, this.getNativeInputElement().value);\r\n        if (prevValue !== this._value) {\r\n            this.valueChange.emit(this._value);\r\n        }\r\n    }\r\n\r\n    ngOnInit(): void {\r\n        InputNumberUtil.checkAndConvertTypeByNumberProp(this.value, 'value');\r\n        InputNumberUtil.checkAndConvertTypeByNumberProp(this._min, 'min');\r\n        InputNumberUtil.checkAndConvertTypeByNumberProp(this._max, 'max');\r\n        super.ngOnInit();\r\n    }\r\n\r\n    ngAfterViewInit(): void {\r\n        super.ngAfterViewInit();\r\n        // csak itt hívom meg! prog futás közben, ha módosítom az értéket, akkor nem tudom kitörölni a removeAttribute()-al! null marad az értéke\r\n        this.setupMin();\r\n        this.setupMax();\r\n    }\r\n\r\n    ngOnChanges(changes: SimpleChanges): void {\r\n        super.ngOnChanges(changes);\r\n        // console.log('0ngOnChanges', changes);\r\n        if (changes.min && !changes.min.firstChange) {\r\n            this.value = this.value;\r\n        }\r\n        if (changes.max && !changes.max.firstChange) {\r\n            this.value = this.value;\r\n        }\r\n    }\r\n\r\n    onIconArrowUpMouseDown(e: MouseEvent): void {\r\n        // console.log('onIconArrowUpMouseDown', e);\r\n        this.startValueIncrementByArrow(true);\r\n    }\r\n\r\n    onIconArrowDownMouseDown(e: MouseEvent): void {\r\n        // console.log('onIconArrowDownMouseDown', e);\r\n        this.startValueIncrementByArrow(false);\r\n    }\r\n\r\n    onIconArrowMouseUp(e: MouseEvent): void {\r\n        // console.log('onIconArrowUpMouseUp', e);\r\n        clearTimeout(this.timeout);\r\n        clearInterval(this.interval);\r\n        this.focus();\r\n    }\r\n\r\n    protected inputEvent(e: InputEvent): void {\r\n        // console.log('inputEvent', e, (e.target as HTMLInputElement).value, this.getNativeInputElement().value);\r\n        InputNumberUtil.getNativeValueAndSetValueFromInputEvent(e, this);\r\n    }\r\n\r\n    private startValueIncrementByArrow(increment: boolean): void {\r\n        this.value = increment ? this.value + this.step : this.value - this.step;\r\n        this.timeout = setTimeout(() => {\r\n            this.interval = setInterval(() => {\r\n                this.value = increment ? this.value + this.step : this.value - this.step;\r\n            }, SzInputNumberComponent.INTERVAL_TIME);\r\n        }, SzInputNumberComponent.TIMEOUT_TIME);\r\n    }\r\n\r\n    private setupMin(): void {\r\n        // --- for valid HTML document ---\r\n        if (this.min === undefined || this.min === null) {\r\n            this.elementRef.nativeElement.removeAttribute('min');\r\n        }\r\n    }\r\n\r\n    private setupMax(): void {\r\n        // --- for valid HTML document ---\r\n        if (this.max === undefined || this.max === null) {\r\n            this.elementRef.nativeElement.removeAttribute('max');\r\n        }\r\n    }\r\n}\r\n","<div [ngClass]=\"[\r\n    'label-with-element-container',\r\n    labelDisplay ? labelDisplay : ''\r\n  ]\"\r\n>\r\n  <sz-html-label\r\n    *ngIf=\"label\"\r\n    [text]=\"label\"\r\n    [forLabel]=\"idInput\"\r\n    [disabled]=\"disabled\"\r\n\r\n    (clickOnLabel)=\"onClickOnLabel($event)\"\r\n  ></sz-html-label>\r\n  <div\r\n    [ngClass]=\"{\r\n      'input-native-container': true,\r\n      'sz-focus': _focus\r\n    }\"\r\n    [style.width]=\"widthInput ? widthInput : ''\"\r\n    [style.max-width]=\"maxWidthInput ? maxWidthInput : ''\"\r\n  >\r\n    <input\r\n      #elementRef\r\n      [id]=\"idInput\"\r\n      [type]=\"type\"\r\n      [placeholder]=\"placeholder\"\r\n      [min]=\"min\"\r\n      [max]=\"max\"\r\n      [step]=\"step\"\r\n      (input)=\"onInputNative($event)\"\r\n      (click)=\"onClickNative($event)\"\r\n      (keyup)=\"onKeyUpNative($event)\"\r\n      (focusin)=\"onFocusInNative($event)\"\r\n      (focusout)=\"onFocusOutNative($event)\"\r\n\r\n      [ngClass]=\"{\r\n        'input-native': true\r\n      }\"\r\n    >\r\n    <div *ngIf=\"!readOnly && !disabled\" [ngClass]=\"'input-icon-container'\">\r\n      <div [ngClass]=\"'input-arrow-container'\" (mousedown)=\"onIconArrowUpMouseDown($event)\" (mouseup)=\"onIconArrowMouseUp($event)\">\r\n        <svg height=\"5\" width=\"10\">\r\n          <polygon points=\"0,5 5,0 10,5\"/>\r\n        </svg>\r\n      </div>\r\n      <div [ngClass]=\"'input-arrow-container'\" (mousedown)=\"onIconArrowDownMouseDown($event)\" (mouseup)=\"onIconArrowMouseUp($event)\">\r\n        <svg height=\"5\" width=\"10\">\r\n          <polygon points=\"0,0 10,0 5,5\"/>\r\n        </svg>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { SzIconModule } from '@szorba/icons';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzHtmlLabelModule } from '../../../sz-html-controls/sz-html-label/sz-html-label.module';\r\nimport { SzInputNumberComponent } from './sz-input-number.component';\r\n\r\n@NgModule({ // @angular/core\r\n    declarations: [\r\n        SzInputNumberComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule, // --- @angular/common ---\r\n\r\n        // --- My own imports ---\r\n        SzHtmlLabelModule,\r\n        SzIconModule, // @szorba/icons\r\n    ],\r\n    exports: [\r\n        SzInputNumberComponent,\r\n        DirectivesModule,\r\n    ],\r\n})\r\nexport class SzInputNumberModule {\r\n}\r\n","import { Component, HostBinding, Input, OnInit } from '@angular/core';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { SzHtmlCheckedInputAbstractComponent } from '../sz-html-checked-input/sz-html-checked-input-abstract.component';\r\n\r\n@Component({\r\n    selector: 'sz-html-input-radio',\r\n    templateUrl: './sz-html-input-radio.component.html',\r\n})\r\nexport class SzHtmlInputRadioComponent extends SzHtmlCheckedInputAbstractComponent implements OnInit {\r\n\r\n    type = InputType.Radio;\r\n\r\n    @Input() name = '';\r\n\r\n    @HostBinding('class.sz-html-input-radio') classSzHtmlInputRadio = true;\r\n\r\n    ngOnInit(): void {\r\n        super.ngOnInit();\r\n        if (!this.name) {\r\n            console.warn('Please enter a name! (for group)', this.name, ':', this);\r\n        }\r\n    }\r\n}\r\n","<div [ngClass]=\"[\r\n    'label-with-element-container',\r\n    labelDisplay\r\n  ]\"\r\n>\r\n  <sz-html-label\r\n    *ngIf=\"label\"\r\n    [text]=\"label\"\r\n    [forLabel]=\"idInput\"\r\n    [disabled]=\"disabled\"\r\n\r\n    (clickOnLabel)=\"onClickOnLabel($event)\"\r\n  ></sz-html-label>\r\n  <input\r\n    #elementRef\r\n    [id]=\"idInput\"\r\n    [type]=\"type\"\r\n    [placeholder]=\"placeholder\"\r\n    [name]=\"name\"\r\n\r\n    (input)=\"onInputNative($event)\"\r\n    (click)=\"onClickNative($event)\"\r\n    (focusin)=\"onFocusInNative($event)\"\r\n    (focusout)=\"onFocusOutNative($event)\"\r\n    (keyup)=\"onKeyUpNative($event)\"\r\n\r\n    [ngClass]=\"{\r\n      'checked-native': true,\r\n      'sz-html-radio': true\r\n    }\"\r\n  >\r\n  <ng-content></ng-content>\r\n</div>\r\n","import { Component, HostBinding, Input, OnInit } from '@angular/core';\r\nimport { SzCheckedInputAbstractComponent } from '../sz-checked-input/sz-checked-input-abstract.component';\r\n\r\n@Component({\r\n    selector: 'sz-input-radio',\r\n    templateUrl: './sz-input-radio.component.html',\r\n})\r\nexport class SzInputRadioComponent extends SzCheckedInputAbstractComponent implements OnInit {\r\n\r\n    @Input() name: string;\r\n\r\n    // @HostBinding('class.sz-checked-input') isClassCheckedInput = true; // because the 'SzCheckedInput' class is not a Component\r\n    @HostBinding('class.sz-input-radio') classSzInputRadio = true;\r\n\r\n}\r\n","<sz-html-input-radio\r\n  #checkedInput\r\n  placeholder=\"\"\r\n  [idInput]=\"idInput\"\r\n  [label]=\"label\"\r\n  [labelDisplay]=\"labelDisplay\"\r\n  [name]=\"name\"\r\n  [value]=\"value\"\r\n  [disabled]=\"disabled\"\r\n  (clickOnLabel)=\"onClickOnLabel($event)\"\r\n  (clickNative)=\"onNativeClick($event)\"\r\n  (focusInNative)=\"onNativeFocusIn($event)\"\r\n  (focusOutNative)=\"onNativeFocusOut($event)\"\r\n  (checkedChanges)=\"onCheckedChanges($event)\"\r\n  (inputNative)=\"onInputNative($event)\"\r\n>\r\n  <div\r\n    #divElementRef\r\n    [ngClass]=\"{\r\n      'sz-radio': true,\r\n      'sz-focus': focus,\r\n      'sz-checked': checked\r\n    }\"\r\n    (click)=\"onClickOnElement($event)\"\r\n  >\r\n    <div *ngIf=\"checked\"></div>\r\n  </div>\r\n</sz-html-input-radio>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzHtmlCheckedInputModule } from '../sz-html-checked-input/sz-html-checked-input.module';\r\nimport { SzHtmlInputModule } from '../sz-html-input/sz-html-input.module';\r\nimport { SzHtmlInputRadioComponent } from './sz-html-input-radio.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlInputRadioComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule, // --- @angular/common ---\r\n\r\n        // --- My own imports ---\r\n        SzHtmlInputModule,\r\n        SzHtmlCheckedInputModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlInputRadioComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzHtmlInputRadioModule {\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { SzHtmlInputRadioModule } from '../../../sz-html-controls/inputs/sz-html-input-radio/sz-html-input-radio.module';\r\nimport { SzCheckedInputModule } from '../sz-checked-input/sz-checked-input.module';\r\nimport { SzInputRadioComponent } from './sz-input-radio.component';\r\n\r\n@NgModule({ // @angular/core\r\n    declarations: [\r\n        SzInputRadioComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule, // --- @angular/common ---\r\n\r\n        // --- My own imports ---\r\n        SzHtmlInputRadioModule,\r\n        SzCheckedInputModule,\r\n    ],\r\n    exports: [\r\n        SzInputRadioComponent,\r\n    ]\r\n})\r\nexport class SzInputRadioModule {\r\n}\r\n","import { Component, EventEmitter, Output } from '@angular/core';\r\nimport { SzHtmlInputConfig } from '../../../sz-html-controls/inputs/sz-html-input/model/SzHtmlInputConfig';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { SzInputComponent } from '../sz-input/sz-input.component';\r\n\r\n@Component({\r\n    selector: 'sz-input-text',\r\n    templateUrl: '../sz-input/sz-input.component.html',\r\n})\r\nexport class SzInputTextComponent extends SzInputComponent implements SzHtmlInputConfig {\r\n\r\n    type = InputType.Text;\r\n\r\n    @Output() valueChange = new EventEmitter<string>();\r\n\r\n    protected _value = '';\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzHtmlLabelModule } from '../../../sz-html-controls/sz-html-label/sz-html-label.module';\r\nimport { SzInputTextComponent } from './sz-input-text.component';\r\n\r\n@NgModule({ // @angular/core\r\n    declarations: [\r\n        SzInputTextComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule, // --- @angular/common ---\r\n\r\n        // --- My own imports ---\r\n        SzHtmlLabelModule,\r\n    ],\r\n    exports: [\r\n        SzInputTextComponent,\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzInputTextModule {\r\n}\r\n","import { Component, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';\r\nimport { IconTimesIcon } from '@szorba/icons';\r\nimport { SzHtmlInputEvent } from '../../../sz-html-controls/model/SzHtmlInputEvent';\r\nimport { SzInputTextComponent } from '../sz-input-text/sz-input-text.component';\r\nimport { SzInputTextClearEvent } from './model/SzInputTextClearEvent';\r\n\r\n@Component({\r\n    selector: 'sz-input-text-clear',\r\n    templateUrl: './sz-input-text-clear.component.html',\r\n})\r\nexport class SzInputTextClearComponent {\r\n\r\n    iconClear = IconTimesIcon;\r\n\r\n    @Input() value = '';\r\n    @Output() valueChange = new EventEmitter<string>();\r\n\r\n    @Input() placeholder = 'Placeholder';\r\n    @Input() label: string;\r\n    @Input() widthInput: string;\r\n\r\n    @Input() maxWidthInput: string;\r\n    @Output() clearClick = new EventEmitter<SzInputTextClearEvent>();\r\n\r\n    @HostBinding('class.sz-input-text-clear') classSzInputTextClear = true;\r\n\r\n    @ViewChild(SzInputTextComponent, { static: true }) inputComponent: SzInputTextComponent;\r\n\r\n    onIconClick(e: MouseEvent): void {\r\n        // console.log('onIconClick', e);\r\n        this.inputComponent.focus();\r\n        this.value = '';\r\n        this.clearClick.emit({ event: e, component: this });\r\n    }\r\n\r\n    onInputOnSzInputText(e: SzHtmlInputEvent): void {\r\n        // console.log('onInputOnSzInputText', e);\r\n        e.event.stopPropagation();\r\n    }\r\n\r\n    onKeyUpOnNative(e: KeyboardEvent): void {\r\n        // console.log('onKeyUpOnNative', e);\r\n        // empty\r\n    }\r\n\r\n    onValueChange(e: string): void {\r\n        // console.log('onValueChanges', e, this.value);\r\n        this.valueChange.emit(e);\r\n    }\r\n}\r\n","<sz-input-text\r\n  [placeholder]=\"placeholder\"\r\n  [label]=\"label\"\r\n  [(value)]=\"value\"\r\n  (inputNative)=\"onInputOnSzInputText($event)\"\r\n  (keyUpNative)=\"onKeyUpOnNative($event)\"\r\n  (valueChange)=\"onValueChange($event)\"\r\n  [widthInput]=\"widthInput\"\r\n  [maxWidthInput]=\"maxWidthInput\"\r\n  [ngClass]=\"{\r\n    'clear-icon': value\r\n  }\"\r\n>\r\n  <sz-icon after-input *ngIf=\"value\" [type]=\"iconClear\" (click)=\"onIconClick($event)\" [ngClass]=\"['sz-icon-clear', 'sz-html-clickable']\"></sz-icon>\r\n</sz-input-text>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { SzIconModule } from '@szorba/icons';\r\nimport { SzInputTextModule } from '../sz-input-text/sz-input-text.module';\r\nimport { SzInputTextClearComponent } from './sz-input-text-clear.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzInputTextClearComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule,\r\n\r\n        // --- My own imports ---\r\n        SzInputTextModule,\r\n        SzIconModule, // @szorba/icons\r\n    ],\r\n    exports: [\r\n        SzInputTextClearComponent,\r\n    ]\r\n})\r\nexport class SzInputTextClearModule {\r\n}\r\n","import { Component, EventEmitter, HostBinding, Output } from '@angular/core';\r\nimport { IconSearch } from '@szorba/icons';\r\nimport { SzInputTextClearComponent } from '../sz-input-text-clear/sz-input-text-clear.component';\r\n\r\n@Component({\r\n    selector: 'sz-input-text-filter',\r\n    templateUrl: './sz-input-text-filter.component.html',\r\n})\r\nexport class SzInputTextFilterComponent extends SzInputTextClearComponent {\r\n\r\n    iconSearch = IconSearch;\r\n\r\n    @Output() filterChanges = new EventEmitter<string>();\r\n\r\n    @HostBinding('class.sz-input-text-filter') classSzInputTextFilter = true;\r\n\r\n    private prevValue: string;\r\n\r\n    onIconClick(e: MouseEvent): void {\r\n        super.onIconClick(e);\r\n        this.filterChanges.emit(this.value);\r\n    }\r\n\r\n    onKeyDownOnNative(): void {\r\n        // console.log('onKeyDownOnNative', e, this.value);\r\n        this.prevValue = this.value;\r\n    }\r\n\r\n    onKeyUpOnNative(): void {\r\n        // console.log('onKeyUpOnNative', this.value);\r\n        if (this.prevValue === this.value) {\r\n            return;\r\n        }\r\n        this.prevValue = this.value;\r\n        this.filterChanges.emit(this.value);\r\n    }\r\n}\r\n","<sz-input-text\r\n  [placeholder]=\"placeholder\"\r\n  [label]=\"label\"\r\n  [(value)]=\"value\"\r\n  (inputNative)=\"onInputOnSzInputText($event)\"\r\n  (keyDownNative)=\"onKeyDownOnNative()\"\r\n  (keyUpNative)=\"onKeyUpOnNative()\"\r\n  (valueChange)=\"onValueChange($event)\"\r\n  [widthInput]=\"widthInput\"\r\n  [maxWidthInput]=\"maxWidthInput\"\r\n  [ngClass]=\"{\r\n    'clear-icon': value\r\n  }\"\r\n>\r\n  <sz-icon before-input [type]=\"iconSearch\" [ngClass]=\"'search-icon'\"></sz-icon>\r\n  <sz-icon after-input *ngIf=\"value\" [type]=\"iconClear\" (click)=\"onIconClick($event)\" [ngClass]=\"['sz-icon-clear', 'sz-html-clickable']\"></sz-icon>\r\n</sz-input-text>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { SzIconModule } from '@szorba/icons';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzInputTextModule } from '../sz-input-text/sz-input-text.module';\r\nimport { SzInputTextFilterComponent } from './sz-input-text-filter.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzInputTextFilterComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule,\r\n\r\n        // --- My own imports ---\r\n        SzInputTextModule,\r\n        SzIconModule, // @szorba/icons\r\n    ],\r\n    exports: [\r\n        SzInputTextFilterComponent,\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzInputTextFilterModule {\r\n}\r\n","import { Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\r\nimport { SzIconConfig } from '@szorba/icons';\r\nimport { SzSelectable } from './model/SzSelectable';\r\nimport { SzSelectableItemConfig } from './model/SzSelectableItemConfig';\r\n\r\n@Component({\r\n    selector: 'sz-selectable-item',\r\n    template: `\r\n        <sz-icon-text\r\n            [text]=\"label\"\r\n            [icon]=\"icon\"\r\n            [ellipsis]=\"true\"\r\n        ></sz-icon-text>\r\n    `\r\n})\r\nexport class SzSelectableItemComponent implements SzSelectableItemConfig, SzSelectable {\r\n\r\n    @Input() label: string;\r\n    @Input() icon: SzIconConfig;\r\n    @Input() value: any;\r\n    @Input() index: number = null;\r\n\r\n    @Output() selectIn = new EventEmitter<SzSelectableItemComponent>();\r\n    @Output() selectOut = new EventEmitter<SzSelectableItemComponent>();\r\n    @Output() hoverIn = new EventEmitter<SzSelectableItemComponent>();\r\n    @Output() hoverOut = new EventEmitter<SzSelectableItemComponent>();\r\n\r\n    @HostBinding('class.sz-selectable-item') classSzSelectableItem = true;\r\n    @HostBinding('class.sz-hover') classSzHover = false;\r\n    @HostBinding('class.sz-selected') classSzSelected = false;\r\n\r\n    private isHostMouseEnabled = true;\r\n\r\n    constructor(private el: ElementRef) {\r\n    }\r\n\r\n    get selected(): boolean {\r\n        return this.classSzSelected;\r\n    }\r\n\r\n    @Input('selected')\r\n    set selected(selected: boolean) {\r\n        this.classSzSelected = selected;\r\n        if (selected) {\r\n            this.selectIn.emit(this);\r\n        } else {\r\n            this.selectOut.emit(this);\r\n        }\r\n    }\r\n\r\n    get hover(): boolean {\r\n        return this.classSzHover;\r\n    }\r\n\r\n    @Input('hover')\r\n    set hover(hover: boolean) {\r\n        // console.log('hover', hover, this);\r\n        if (hover === this.hover) {\r\n            return;\r\n        }\r\n        this.classSzHover = hover;\r\n        if (hover) {\r\n            this.hoverIn.emit(this);\r\n        } else {\r\n            this.hoverOut.emit(this);\r\n        }\r\n    }\r\n\r\n    @HostListener('mouseover', ['$event']) onHostMouseOver(e: MouseEvent): void {\r\n        // console.log('onHostMouseOver', this, e);\r\n        if (!this.isHostMouseEnabled) {\r\n            return;\r\n        }\r\n        this.hover = true;\r\n    }\r\n\r\n    @HostListener('mouseout', ['$event']) onHostMouseOut(e: MouseEvent): void {\r\n        // console.log('onHostMouseOut', this);\r\n        if (!this.isHostMouseEnabled) {\r\n            return;\r\n        }\r\n        this.hover = false;\r\n    }\r\n\r\n    setHostMouseEnable(enable: boolean): void {\r\n        this.isHostMouseEnabled = enable;\r\n    }\r\n\r\n    getHostMouseEnable(): boolean {\r\n        return this.isHostMouseEnabled;\r\n    }\r\n\r\n    getHostElement(): HTMLElement {\r\n        return this.el.nativeElement;\r\n    }\r\n\r\n    getValue(): any {\r\n        return this.value;\r\n    }\r\n}\r\n","import {\r\n    Component,\r\n    ElementRef,\r\n    EventEmitter,\r\n    HostBinding,\r\n    HostListener,\r\n    Input,\r\n    OnChanges,\r\n    OnInit,\r\n    Output,\r\n    QueryList,\r\n    SimpleChanges,\r\n    ViewChild,\r\n    ViewChildren\r\n} from '@angular/core';\r\nimport { NumOrUnlimited } from '../../szorba-types';\r\nimport { SzSelectableItemConfig } from '../sz-selectable-item/model/SzSelectableItemConfig';\r\nimport { SzSelectableItemComponent } from '../sz-selectable-item/sz-selectable-item.component';\r\nimport { SzListClickEvent } from './model/SzListClickEvent';\r\nimport { SzListConfig } from './model/SzListConfig';\r\nimport { SzListSelectEvent } from './model/SzListSelectEvent';\r\n\r\n@Component({\r\n    selector: 'sz-list',\r\n    templateUrl: './sz-list.component.html'\r\n})\r\nexport class SzListComponent implements SzListConfig, OnInit, OnChanges {\r\n\r\n    filteredList: SzSelectableItemConfig[];\r\n\r\n    @Input() list: SzSelectableItemConfig[] = [];\r\n    @Input() numOfSelectableItems: NumOrUnlimited = 1;\r\n    @Input() noPossibleDeselectItem = false;\r\n    @Input() divider = false;\r\n    @Input() maxHeight: string;\r\n\r\n    @Output() itemClick = new EventEmitter<SzListClickEvent>();\r\n    @Output() itemSelect = new EventEmitter<SzListSelectEvent>();\r\n\r\n    @HostBinding('class.sz-list') classSzList = true;\r\n\r\n    @ViewChild('ulRef', { static: true }) ulRef: ElementRef<HTMLUListElement>;\r\n\r\n    private items: QueryList<SzSelectableItemComponent>;\r\n    private listUI: SzSelectableItemConfig[] = [];\r\n    private filteredSelectedList: SzSelectableItemConfig[] = [];\r\n    private permanentSelectedList: SzSelectableItemConfig[] = [];\r\n    private hoveredItem: SzSelectableItemComponent;\r\n    private filter = '';\r\n    private _focus = false;\r\n\r\n    constructor(private elRef: ElementRef<HTMLElement>) {\r\n    }\r\n\r\n    @ViewChildren(SzSelectableItemComponent) set showItems(items: QueryList<SzSelectableItemComponent>) {\r\n        // console.log('showItems', items);\r\n        this.items = items;\r\n    }\r\n\r\n    static copyListAsNewList(list: SzSelectableItemConfig[], maxSelectableItems: NumOrUnlimited = 1): SzSelectableItemConfig[] {\r\n        const newList: SzSelectableItemConfig[] = [];\r\n        let selectableItemsIdx = 0;\r\n        for (let i = 0; i < list.length; i++) {\r\n            newList[i] = {\r\n                label: list[i].label,\r\n                icon: list[i].icon,\r\n                value: list[i].value,\r\n            };\r\n            if (list[i].selected) {\r\n                if (selectableItemsIdx < maxSelectableItems || maxSelectableItems === 'unlimited') {\r\n                    newList[i].selected = true;\r\n                    selectableItemsIdx++;\r\n                } else {\r\n                    newList[i].selected = false;\r\n                }\r\n            } else {\r\n                newList[i].selected = false;\r\n            }\r\n        }\r\n        return newList;\r\n    }\r\n\r\n    static getFieldFromListByField(list: SzSelectableItemConfig[], item: SzSelectableItemConfig): SzSelectableItemConfig {\r\n        for (const element of list) {\r\n            if (SzListComponent.isCompareTwoFields(element, item)) {\r\n                return element;\r\n            }\r\n        }\r\n    }\r\n\r\n    static removeFromListByField(list: SzSelectableItemConfig[], item: SzSelectableItemConfig): void {\r\n        for (let i = 0; i < list.length; i++) {\r\n            if (SzListComponent.isCompareTwoFields(list[i], item)) {\r\n                list.splice(i, 1);\r\n                return;\r\n            }\r\n        }\r\n    }\r\n\r\n    private static isCompareTwoFields(first: SzSelectableItemConfig, second: SzSelectableItemConfig): boolean {\r\n        return first.label === second.label && first.value === second.value;\r\n    }\r\n\r\n    @HostListener('mousemove', ['$event']) onHostMouseMove(e: MouseEvent): void {\r\n        // console.log('onHostMouseMove', this);\r\n        this.setEnableAllItemsMouseOverOut(true);\r\n    }\r\n\r\n    ngOnInit(): void {\r\n        this.listUI = SzListComponent.copyListAsNewList(this.list, this.numOfSelectableItems);\r\n        this.filteredList = [...this.listUI];\r\n    }\r\n\r\n    ngOnChanges(changes: SimpleChanges): void {\r\n        // console.log('ngOnChanges', changes);\r\n        if (changes.list) {\r\n            this.refreshList();\r\n        }\r\n        if (changes.numOfSelectableItems) {\r\n            if (this.numOfSelectableItems !== 'unlimited' && this.permanentSelectedList.length > this.numOfSelectableItems) {\r\n                const subtract = this.permanentSelectedList.length - this.numOfSelectableItems;\r\n                for (let i = 0; i < subtract; i++) {\r\n                    this.deselectItem(this.getSelectedItems()[0]);\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n    getClientRectHeight(): number {\r\n        return this.elRef.nativeElement.getClientRects()[0].height;\r\n    }\r\n\r\n    getUlElement(): HTMLUListElement {\r\n        return this.ulRef.nativeElement as HTMLUListElement;\r\n    }\r\n\r\n    getSelectedFields(): SzSelectableItemConfig[] {\r\n        return this.permanentSelectedList;\r\n    }\r\n\r\n    getSelectedItems(): SzSelectableItemComponent[] {\r\n        const items = [];\r\n        this.items.forEach(item => {\r\n            if (item.selected) {\r\n                items.push(item);\r\n            }\r\n        });\r\n        return items;\r\n    }\r\n\r\n    getValues(): any[] {\r\n        const values = [];\r\n        this.permanentSelectedList.forEach(item => values.push(item.value));\r\n        return values;\r\n    }\r\n\r\n    deselectAllItems(): void {\r\n        this.permanentSelectedList = [];\r\n        this.listUI.forEach(item => item.selected = false);\r\n        this.filterByLabel(this.filter);\r\n        this.items.map((item => item.selected = false));\r\n    }\r\n\r\n    selectItem(item: SzSelectableItemComponent): void {\r\n        if (!item || item.selected || Number(this.numOfSelectableItems) <= 0) {\r\n            return;\r\n        }\r\n        item.selected = true;\r\n        this.scrollIntoViewToItem(item);\r\n    }\r\n\r\n    deselectItem(item: SzSelectableItemComponent): void {\r\n        if (!item || !item.selected || this.noPossibleDeselectItem) {\r\n            return;\r\n        }\r\n        item.selected = false;\r\n    }\r\n\r\n    selectItemByIndex(index: number): SzSelectableItemComponent {\r\n        const item = this.items.toArray()[index];\r\n        if (!item) {\r\n            return;\r\n        }\r\n        this.selectItem(item);\r\n        return item;\r\n    }\r\n\r\n    deselectItemByIndex(index: number): SzSelectableItemComponent {\r\n        const item = this.items.toArray()[index];\r\n        if (!item) {\r\n            return;\r\n        }\r\n        if (!item.selected) {\r\n            return;\r\n        }\r\n        this.deselectItem(item);\r\n        return item;\r\n    }\r\n\r\n    // TODO: option (toLowerCase, etc...)\r\n    selectItemByLabel(label: string): SzSelectableItemComponent {\r\n        const foundItem = this.items.toArray().find((item: SzSelectableItemComponent) => item.label.toLowerCase() === label.toLowerCase());\r\n        if (foundItem) {\r\n            this.selectItem(foundItem);\r\n        }\r\n        return foundItem;\r\n    }\r\n\r\n    selectItemByValue(value: any): SzSelectableItemComponent {\r\n        const foundItem = this.items.toArray().find((item: SzSelectableItemComponent) => item.value === value);\r\n        if (foundItem) {\r\n            this.selectItem(foundItem);\r\n        }\r\n        return foundItem;\r\n    }\r\n\r\n    // TODO: option (toLowerCase, etc...)\r\n    selectItemByLabelAndValue(label: string, value: any): SzSelectableItemComponent {\r\n        const foundItem = this.items.toArray().find(\r\n            (item: SzSelectableItemComponent) => (item.label.toLowerCase() === label.toLowerCase() && item.value === value)\r\n        );\r\n        if (foundItem) {\r\n            this.selectItem(foundItem);\r\n        }\r\n        return foundItem;\r\n    }\r\n\r\n    scrollIntoViewToItem(item: SzSelectableItemComponent, scrollBehavior: ScrollBehavior = 'auto',\r\n                         scrollLogicalPosition: ScrollLogicalPosition = 'nearest'): void {\r\n        if (!item) {\r\n            return;\r\n        }\r\n        item.getHostElement().scrollIntoView({ behavior: scrollBehavior, block: scrollLogicalPosition });\r\n    }\r\n\r\n    scrollIntoViewToItemByField(item: SzSelectableItemConfig, scrollBehavior: ScrollBehavior = 'auto',\r\n                                scrollLogicalPosition: ScrollLogicalPosition = 'nearest'): void {\r\n        if (!item) {\r\n            return;\r\n        }\r\n        this.getItemByField(item).getHostElement().scrollIntoView({ behavior: scrollBehavior, block: scrollLogicalPosition });\r\n    }\r\n\r\n    // TODO: option (toLowerCase, etc...)\r\n    filterByLabel(filter: string): SzSelectableItemConfig[] {\r\n        // console.log('*filterByLabel0*', this.filteredSelectedList, this.permanentSelectedList);\r\n        if (!filter) {\r\n            this.filter = '';\r\n        } else {\r\n            this.filter = filter;\r\n        }\r\n        this.filteredList = [...this.listUI].filter(item => {\r\n            return (item.label.toLowerCase().indexOf(this.filter.toLowerCase()) > -1);\r\n        });\r\n        this.refillFilteredSelectedListFromPermanent();\r\n        return this.filteredList;\r\n    }\r\n\r\n    getFocus(): boolean {\r\n        return this._focus;\r\n    }\r\n\r\n    focus(): void {\r\n        this.ulRef.nativeElement.focus();\r\n    }\r\n\r\n    blur(): void {\r\n        this.ulRef.nativeElement.blur();\r\n    }\r\n\r\n    onItemClick(e: MouseEvent, item: SzSelectableItemComponent): void {\r\n        // console.log('onItemClick', e, item);\r\n        this.selectingItem(item);\r\n        this.itemSelect.emit({ event: e, selectedItem: item, component: this });\r\n        this.itemClick.emit({ event: e, clickedItem: item, component: this });\r\n    }\r\n\r\n    onFocusIn(e: FocusEvent): void {\r\n        // console.log('onFocusIn', e);\r\n        this._focus = true;\r\n    }\r\n\r\n    onFocusOut(e: FocusEvent): void {\r\n        // console.log('onFocusOut', e);\r\n        this._focus = false;\r\n        this.hoverItem(null);\r\n    }\r\n\r\n    onKeyDown(e: KeyboardEvent): void {\r\n        // console.log('onKeyDown', e, this.hoveredItem);\r\n        if (e.key === 'ArrowDown' || e.key === 'ArrowUp') {\r\n            e.preventDefault();\r\n            let hoverItem: SzSelectableItemComponent;\r\n            if (e.key === 'ArrowDown') {\r\n                if (!this.hoveredItem) {\r\n                    if (this.filteredSelectedList.length > 0) {\r\n                        // tslint:disable-next-line:max-line-length\r\n                        hoverItem = this.items.toArray()[this.getItemByField(this.filteredSelectedList[this.filteredSelectedList.length - 1]).index + 1];\r\n                        if (!hoverItem) {\r\n                            hoverItem = this.items.last;\r\n                        }\r\n                    } else {\r\n                        hoverItem = this.items.first;\r\n                    }\r\n                    this.hoverItem(hoverItem);\r\n                    this.scrollIntoViewToItem(hoverItem);\r\n                    return;\r\n                }\r\n                if (this.hoveredItem.index === this.items.toArray().length - 1) {\r\n                    return;\r\n                }\r\n                hoverItem = this.items.toArray()[this.hoveredItem.index + 1];\r\n            } else if (e.key === 'ArrowUp') {\r\n                if (!this.hoveredItem) {\r\n                    if (this.filteredSelectedList.length > 0) {\r\n                        // tslint:disable-next-line:max-line-length\r\n                        hoverItem = this.items.toArray()[this.getItemByField(this.filteredSelectedList[this.filteredSelectedList.length - 1]).index - 1];\r\n                        if (!hoverItem) {\r\n                            hoverItem = this.items.first;\r\n                        }\r\n                    } else {\r\n                        hoverItem = this.items.last;\r\n                    }\r\n                    this.hoverItem(hoverItem);\r\n                    this.scrollIntoViewToItem(hoverItem);\r\n                    return;\r\n                }\r\n                if (this.hoveredItem.index === 0) {\r\n                    return;\r\n                }\r\n                hoverItem = this.items.toArray()[this.hoveredItem.index - 1];\r\n            }\r\n            this.setEnableAllItemsMouseOverOut(false);\r\n            this.hoverItem(hoverItem);\r\n            this.scrollIntoViewToItem(hoverItem);\r\n        }\r\n    }\r\n\r\n    onKeyUpEnter(e: KeyboardEvent): void {\r\n        // console.log('onKeyUp', e);\r\n        if (!this.hoveredItem) {\r\n            return;\r\n        }\r\n        this.selectingItem(this.hoveredItem);\r\n        this.itemSelect.emit({ event: e, selectedItem: this.hoveredItem, component: this });\r\n    }\r\n\r\n    onKeyUpEscape(e: KeyboardEvent): void {\r\n        // console.log('onKeyUpEscape', e);\r\n        this.blur();\r\n    }\r\n\r\n    onItemSelectIn(item: SzSelectableItemComponent): void {\r\n        // console.log('onItemSelectIn', item);\r\n        for (const element of this.filteredSelectedList) {\r\n            if (SzListComponent.isCompareTwoFields(element, item)) {\r\n                return;\r\n            }\r\n        }\r\n        if (this.filteredSelectedList.length >= Number(this.numOfSelectableItems)) {\r\n            const getItem = this.getItemByField(this.filteredSelectedList[0]);\r\n            if (getItem) {\r\n                getItem.selected = false;\r\n            } else {\r\n                this.deselectItemByField(this.filteredSelectedList[0]);\r\n            }\r\n        }\r\n        SzListComponent.getFieldFromListByField(this.listUI, item).selected = true;\r\n        this.filteredSelectedList.push({ label: item.label, value: item.value });\r\n        this.permanentSelectedList.push({ label: item.label, value: item.value });\r\n        if (this.permanentSelectedList.length > Number(this.numOfSelectableItems)) {\r\n            this.deselectItemByField(this.getFirstNotVisibleSelectedPermanentField());\r\n        }\r\n    }\r\n\r\n    onItemSelectOut(item: SzSelectableItemComponent): void {\r\n        // console.log('onItemSelectOut', item);\r\n        this.deselectItemByField(item);\r\n    }\r\n\r\n    onItemHoverIn(e: SzSelectableItemComponent): void {\r\n        // console.log('onItemHoverIn', e);\r\n        this.hoverItem(e);\r\n    }\r\n\r\n    onItemHoverOut(e: SzSelectableItemComponent): void {\r\n        // console.log('onItemHoverOut', e);\r\n        this.hoverItem(null);\r\n    }\r\n\r\n    private hoverItem(item: SzSelectableItemComponent): void {\r\n        // console.log('1hoverItem', this.hoveredItem, item);\r\n        if (this.hoveredItem === item) {\r\n            return;\r\n        }\r\n        if (this.hoveredItem) {\r\n            this.hoveredItem.hover = false;\r\n        }\r\n        this.hoveredItem = item;\r\n        if (this.hoveredItem) {\r\n            this.hoveredItem.hover = true;\r\n        }\r\n    }\r\n\r\n    private selectingItem(item: SzSelectableItemComponent): void {\r\n        // console.log('selectingItem', item);\r\n        if (item.selected) {\r\n            this.deselectItem(item);\r\n        } else {\r\n            this.selectItem(item);\r\n        }\r\n    }\r\n\r\n    private setEnableAllItemsMouseOverOut(enable: boolean): void {\r\n        if (this.items.length === 0) {\r\n            return;\r\n        }\r\n        if (this.items.first.getHostMouseEnable() === enable) {\r\n            return;\r\n        }\r\n        this.items.map((item: SzSelectableItemComponent) => {\r\n            item.setHostMouseEnable(enable);\r\n        });\r\n    }\r\n\r\n    private deselectItemByField(item: SzSelectableItemConfig): void {\r\n        SzListComponent.getFieldFromListByField(this.listUI, item).selected = false;\r\n        SzListComponent.removeFromListByField(this.filteredSelectedList, item);\r\n        SzListComponent.removeFromListByField(this.permanentSelectedList, item);\r\n    }\r\n\r\n    private getItemByField(item: SzSelectableItemConfig): SzSelectableItemComponent {\r\n        const items = this.items.toArray();\r\n        for (const element of items) {\r\n            if (SzListComponent.isCompareTwoFields(element, item)) {\r\n                return element;\r\n            }\r\n        }\r\n    }\r\n\r\n    private getFirstNotVisibleSelectedPermanentField(): SzSelectableItemConfig {\r\n        const items = this.items.toArray();\r\n        let needContinue;\r\n        for (const permanentElement of this.permanentSelectedList) {\r\n            needContinue = false;\r\n            for (const itemsElement of items) {\r\n                if (SzListComponent.isCompareTwoFields(permanentElement, itemsElement)) {\r\n                    needContinue = true;\r\n                    break;\r\n                }\r\n            }\r\n            if (!needContinue) {\r\n                return permanentElement;\r\n            }\r\n        }\r\n        return this.permanentSelectedList[0];\r\n    }\r\n\r\n    private refillPermanentSelectedListFromList(list: SzSelectableItemConfig[]): void {\r\n        this.permanentSelectedList = [];\r\n        list.forEach(item => {\r\n            if (item.selected) {\r\n                this.permanentSelectedList.push(item);\r\n            }\r\n        });\r\n    }\r\n\r\n    private refillFilteredSelectedListFromPermanent(): void {\r\n        this.filteredSelectedList = [];\r\n        for (const permanentElement of this.permanentSelectedList) {\r\n            for (const filteredElement of this.filteredList) {\r\n                if (SzListComponent.isCompareTwoFields(permanentElement, filteredElement)) {\r\n                    this.filteredSelectedList.push(permanentElement);\r\n                    break;\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n    private refreshList(): void {\r\n        // console.log('refreshList', this.list);\r\n        this.hoveredItem = undefined;\r\n        this.listUI = SzListComponent.copyListAsNewList(this.list, this.numOfSelectableItems);\r\n        this.refillPermanentSelectedListFromList(this.listUI);\r\n        this.filterByLabel(this.filter);\r\n    }\r\n}\r\n","<ul\r\n  #ulRef\r\n  [ngClass]=\"{\r\n    'sz-list-ul': true\r\n  }\"\r\n  [style.max-height]=\"maxHeight ? maxHeight : ''\"\r\n  tabindex=\"0\"\r\n  (focusin)=\"onFocusIn($event)\"\r\n  (focusout)=\"onFocusOut($event)\"\r\n  (keydown)=\"onKeyDown($event)\"\r\n  (keyup.enter)=\"onKeyUpEnter($event)\"\r\n  (keyup.escape)=\"onKeyUpEscape($event)\"\r\n>\r\n  <ng-template ngFor let-item let-idx=index [ngForOf]=\"filteredList\" let-last=\"last\">\r\n    <li>\r\n      <sz-icon-text\r\n        *ngIf=\"numOfSelectableItems <= 0; else selectable\"\r\n        [text]=\"item.label\"\r\n        [icon]=\"item.icon\"\r\n        [ngClass]=\"'sz-list-icon-text'\"\r\n      ></sz-icon-text>\r\n      <sz-divider *ngIf=\"divider && !last\"></sz-divider>\r\n      <ng-template #selectable>\r\n        <sz-selectable-item\r\n          #itemComponent\r\n          [label]=\"item.label\"\r\n          [icon]=\"item.icon\"\r\n          [value]=\"item.value\"\r\n          [selected]=\"item.selected\"\r\n          [index]=\"idx\"\r\n\r\n          (click)=\"onItemClick($event, itemComponent)\"\r\n          (selectIn)=\"onItemSelectIn($event)\"\r\n          (selectOut)=\"onItemSelectOut($event)\"\r\n          (hoverIn)=\"onItemHoverIn($event)\"\r\n          (hoverOut)=\"onItemHoverOut($event)\"\r\n        ></sz-selectable-item>\r\n      </ng-template>\r\n    </li>\r\n  </ng-template>\r\n</ul>\r\n","import { Component, HostBinding, Input, OnChanges, OnInit, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { IconCaretDown, IconCaretUp } from '@szorba/icons';\r\nimport { SzInputTextComponent } from '../inputs/sz-input-text/sz-input-text.component';\r\nimport { SzInputFocusNativeEvent } from '../inputs/sz-input/model/SzInputFocusNativeEvent';\r\nimport { SzListConfig } from '../sz-list/model/SzListConfig';\r\nimport { SzListSelectEvent } from '../sz-list/model/SzListSelectEvent';\r\nimport { SzListComponent } from '../sz-list/sz-list.component';\r\nimport { SzSelectableItemConfig } from '../sz-selectable-item/model/SzSelectableItemConfig';\r\n\r\n@Component({\r\n    selector: 'sz-autocomplete',\r\n    templateUrl: './sz-autocomplete.component.html',\r\n})\r\nexport class SzAutocompleteComponent implements OnInit, OnChanges {\r\n\r\n    iconDown = IconCaretDown;\r\n    iconUp = IconCaretUp;\r\n    filteredList: SzSelectableItemConfig[];\r\n    selectedField: SzSelectableItemConfig;\r\n    showListComponent = false;\r\n\r\n    @Input() placeholder = 'Placeholder';\r\n    @Input() label: string;\r\n    @Input() value: any = null;\r\n    @Input() configList: SzListConfig = {\r\n        list: [\r\n            { label: 'Label01', value: 'Value01' },\r\n            { label: 'Label02', value: 'Value02' },\r\n            { label: 'Label03', value: 'Value03' },\r\n            { label: 'Label030', value: 'Value030' },\r\n        ],\r\n        numOfSelectableItems: 1\r\n    };\r\n    // @Output() clearClick = new EventEmitter<SzInputTextClearEvent>();\r\n    @HostBinding('class.sz-autocomplete') isClassSzAutocomplete = true;\r\n    @ViewChild('inputComponent', { static: true }) inputComponent: SzInputTextComponent;\r\n    private listUI: SzSelectableItemConfig[] = [];\r\n    private _listComponent: SzListComponent;\r\n\r\n    @ViewChild(SzListComponent, { static: false }) set listComponent(listComponent: SzListComponent) {\r\n        // console.log('listComponent', listComponent);\r\n        this._listComponent = listComponent;\r\n    }\r\n\r\n    ngOnInit(): void {\r\n        // console.log('ngOnInit', this, this.value);\r\n        this.listUI = SzListComponent.copyListAsNewList(this.configList.list);\r\n        this.filteredList = [...this.listUI];\r\n    }\r\n\r\n    ngOnChanges(changes: SimpleChanges): void {\r\n        // console.log('ngOnChanges', changes);\r\n        // TODO\r\n    }\r\n\r\n    onInputFocusIn(e: SzInputFocusNativeEvent): void {\r\n        // console.log('onInputFocusIn', e, this._listComponent);\r\n    }\r\n\r\n    onInputFocusOut(e: SzInputFocusNativeEvent): void {\r\n        // console.log('onInputFocusOut', e, this._listComponent, this.selectedField);\r\n        if (this._listComponent) {\r\n            if (e.event.relatedTarget === this._listComponent.getUlElement()) {\r\n                return;\r\n            }\r\n        }\r\n        this.inputComponent.value = this.selectedField ? this.selectedField.label : '';\r\n        this.showListComponent = false;\r\n    }\r\n\r\n    onInputKeyUp(e: KeyboardEvent): void {\r\n        // console.log('onInputKeyUp', this.selectedField);\r\n        e.preventDefault();\r\n        if (this.inputComponent.value) { // TODO: feature: show up from how many characters\r\n            this.filteredList = [...this.listUI].filter((option: SzSelectableItemConfig) => {\r\n                return (option.label.toLowerCase().indexOf(this.inputComponent.value.toLowerCase()) > -1);\r\n            });\r\n        } else {\r\n            this.filteredList = [];\r\n        }\r\n        this.showListComponent = true;\r\n    }\r\n\r\n    onItemSelect(e: SzListSelectEvent): void {\r\n        // console.log('onItemSelect', e);\r\n        e.event.stopPropagation();\r\n        this.selectItemByField(e.selectedItem);\r\n        this.inputComponent.focus();\r\n    }\r\n\r\n    onListFocusOut(e: FocusEvent): void {\r\n        // console.log('onListFocusOut', e);\r\n        e.stopPropagation();\r\n        this.showListComponent = false;\r\n        this.inputComponent.value = this.selectedField ? this.selectedField.label : '';\r\n    }\r\n\r\n    onArrowUpMouseDown(e: MouseEvent): void {\r\n        // console.log('onArrowUpMouseDown', e, this.inputComponent);\r\n        this.showListComponent = false;\r\n    }\r\n\r\n    onArrowDownClick(e: MouseEvent): void {\r\n        // console.log('onArrowDownClick', e, this.value);\r\n        if (this.selectedField) {\r\n            this.filteredList = [...this.listUI].filter((option: SzSelectableItemConfig) => {\r\n                return (option.label.toLowerCase().indexOf(this.selectedField.label.toLowerCase()) > -1);\r\n            });\r\n            this.showListComponent = true;\r\n        }\r\n    }\r\n\r\n    onArrowDownMouseUp(e: MouseEvent): void {\r\n        // console.log('onArrowDownMouseUp', e);\r\n        this.inputComponent.focus();\r\n    }\r\n\r\n    private selectItemByField(field: SzSelectableItemConfig): void {\r\n        if (this.selectedField) {\r\n            SzListComponent.getFieldFromListByField(this.listUI, this.selectedField).selected = false;\r\n        }\r\n        if (!field) {\r\n            this.selectedField = undefined;\r\n            if (this._listComponent) {\r\n                this._listComponent.deselectAllItems();\r\n            }\r\n            return;\r\n        }\r\n        this.selectedField = {\r\n            label: field.label,\r\n            value: field.value\r\n        };\r\n        SzListComponent.getFieldFromListByField(this.listUI, this.selectedField).selected = true;\r\n        if (this._listComponent) {\r\n            this._listComponent.selectItemByLabelAndValue(this.selectedField.label, this.selectedField.value);\r\n        }\r\n    }\r\n}\r\n","<div [ngClass]=\"'select-div-container'\">\r\n  <sz-input-text\r\n    #inputComponent\r\n    [placeholder]=\"placeholder\"\r\n    [label]=\"label\"\r\n    [value]=\"selectedField ? selectedField.label : inputComponent.value\"\r\n\r\n    (focusInNative)=\"onInputFocusIn($event)\"\r\n    (focusOutNative)=\"onInputFocusOut($event)\"\r\n    (keyUpNative)=\"onInputKeyUp($event)\"\r\n  >\r\n    <sz-icon\r\n      *ngIf=\"showListComponent; else showListTemplate\"\r\n      [type]=\"iconUp\"\r\n      (mousedown)=\"onArrowUpMouseDown($event)\"\r\n      [ngClass]=\"{\r\n        'szhtml-clickable': true,\r\n        'sz-icon-placeholder': !selectedField\r\n      }\"\r\n    ></sz-icon>\r\n    <ng-template #showListTemplate>\r\n      <sz-icon\r\n        [type]=\"iconDown\"\r\n        (click)=\"onArrowDownClick($event)\"\r\n        (mouseup)=\"onArrowDownMouseUp($event)\"\r\n        [ngClass]=\"{\r\n          'szhtml-clickable': true,\r\n          'sz-icon-placeholder': !selectedField\r\n        }\"\r\n      ></sz-icon>\r\n    </ng-template>\r\n  </sz-input-text>\r\n  <sz-list\r\n    *ngIf=\"filteredList.length > 0 && showListComponent\"\r\n    [list]=\"filteredList\"\r\n    [numOfSelectableItems]=\"configList.numOfSelectableItems\"\r\n    (itemSelect)=\"onItemSelect($event)\"\r\n\r\n    (focusout)=\"onListFocusOut($event)\"\r\n  ></sz-list>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { SzIconTextModule } from '@szorba/icons';\r\nimport { SzSelectableItemComponent } from './sz-selectable-item.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzSelectableItemComponent,\r\n    ],\r\n    imports: [\r\n        // --- @angular/common ---\r\n        CommonModule,\r\n\r\n        // --- My own imports ---\r\n        SzIconTextModule,\r\n    ],\r\n    exports: [\r\n        SzSelectableItemComponent,\r\n    ]\r\n})\r\nexport class SzSelectableItemModule {\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { SzDividerModule } from '@szorba/decorations';\r\nimport { SzIconTextModule } from '@szorba/icons';\r\nimport { SzSelectableItemModule } from '../sz-selectable-item/sz-selectable-item.module';\r\nimport { SzListComponent } from './sz-list.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzListComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule,\r\n\r\n        // --- My own imports ---\r\n        SzSelectableItemModule,\r\n        SzIconTextModule,\r\n        SzDividerModule,\r\n    ],\r\n    exports: [\r\n        SzListComponent,\r\n    ]\r\n})\r\nexport class SzListModule {\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { SzIconModule } from '@szorba/icons';\r\nimport { SzInputTextModule } from '../inputs/sz-input-text/sz-input-text.module';\r\nimport { SzListModule } from '../sz-list/sz-list.module';\r\nimport { SzAutocompleteComponent } from './sz-autocomplete.component';\r\n\r\n@NgModule({ // @angular/core\r\n    declarations: [\r\n        SzAutocompleteComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule, // --- @angular/common ---\r\n\r\n        // --- My own imports ---\r\n        SzInputTextModule,\r\n        SzListModule,\r\n        SzIconModule, // @szorba/icons\r\n    ],\r\n    exports: [\r\n        SzAutocompleteComponent,\r\n    ]\r\n})\r\nexport class SzAutocompleteModule {\r\n}\r\n","import { Component, HostBinding, Input, QueryList, ViewChildren } from '@angular/core';\r\nimport { SzHtmlLabelDisplay } from '../../sz-html-controls/model/SzHtmlLabelDisplay';\r\nimport { SzInputRadioComponent } from '../inputs/sz-input-radio/sz-input-radio.component';\r\nimport { SzCheckedInputEvent } from '../model/SzCheckedInputEvent';\r\nimport { SzRadioGroupConfig } from './model/SzRadioGroupConfig';\r\nimport { SzRadioListFieldDef } from './model/SzRadioListFieldDef';\r\n\r\n@Component({\r\n    selector: 'sz-radio-group',\r\n    templateUrl: './sz-radio-group.component.html',\r\n})\r\nexport class SzRadioGroupComponent implements SzRadioGroupConfig {\r\n\r\n    @Input() list: SzRadioListFieldDef[] = [];\r\n    @Input() radiosName: string;\r\n    @Input() label: string;\r\n    @Input() labelDisplay = SzHtmlLabelDisplay.Column;\r\n\r\n    @HostBinding('class.sz-radio-group') isClassRadioGroup = true;\r\n\r\n    @ViewChildren(SzInputRadioComponent) radios: QueryList<SzInputRadioComponent>;\r\n\r\n    private selectedRadio: SzInputRadioComponent;\r\n\r\n    onInput(e: SzCheckedInputEvent): void {\r\n        // console.log('onInput', e);\r\n        e.event.event.stopPropagation();\r\n        const inputOnRadio: SzInputRadioComponent = e.component as SzInputRadioComponent;\r\n        this.radios.forEach((radio: SzInputRadioComponent) => {\r\n            if (inputOnRadio !== radio) {\r\n                radio.checked = false;\r\n            }\r\n        });\r\n        this.selectedRadio = inputOnRadio;\r\n    }\r\n\r\n    getValue(): any {\r\n        if (this.selectedRadio) {\r\n            return this.selectedRadio.getValue();\r\n        }\r\n    }\r\n}\r\n","<div\r\n  [ngClass]=\"[\r\n    'radio-group-container',\r\n    labelDisplay\r\n  ]\"\r\n>\r\n  <sz-html-label\r\n    *ngIf=\"label\"\r\n    [text]=\"label\"\r\n  ></sz-html-label>\r\n  <div [ngClass]=\"'radios-container'\">\r\n    <sz-input-radio\r\n      *ngFor=\"let radio of list; let idx = index\"\r\n      [label]=\"radio.label\"\r\n      [idInput]=\"radio.label ? radiosName + '_' + idx : ''\"\r\n      [name]=\"radiosName\"\r\n      [value]=\"radio.value\"\r\n\r\n      (inputNative)=\"onInput($event)\"\r\n    ></sz-input-radio>\r\n  </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { SzHtmlLabelModule } from '../../sz-html-controls/sz-html-label/sz-html-label.module';\r\nimport { DirectivesModule } from '../../directives/directives.module';\r\nimport { SzInputRadioModule } from '../inputs/sz-input-radio/sz-input-radio.module';\r\nimport { SzRadioGroupComponent } from './sz-radio-group.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzRadioGroupComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule,\r\n        ReactiveFormsModule,\r\n\r\n        // --- My own imports ---\r\n        SzHtmlLabelModule,\r\n        SzInputRadioModule,\r\n    ],\r\n    exports: [\r\n        SzRadioGroupComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzRadioGroupModule {\r\n}\r\n","import {\r\n    AfterViewInit,\r\n    ChangeDetectorRef,\r\n    Component,\r\n    EventEmitter,\r\n    HostBinding,\r\n    Input,\r\n    OnChanges,\r\n    OnInit,\r\n    Output,\r\n    SimpleChanges,\r\n    ViewChild\r\n} from '@angular/core';\r\nimport { IconCaretDown, IconCaretUp } from '@szorba/icons';\r\nimport { SzHtmlLabelClickEvent } from '../../sz-html-controls/sz-html-label/model/SzHtmlLabelClickEvent';\r\nimport { SzInputTextComponent } from '../inputs/sz-input-text/sz-input-text.component';\r\nimport { SzInputComponent } from '../inputs/sz-input/sz-input.component';\r\nimport { SzListSelectEvent } from '../sz-list/model/SzListSelectEvent';\r\nimport { SzListComponent } from '../sz-list/sz-list.component';\r\nimport { SzSelectableItemConfig } from '../sz-selectable-item/model/SzSelectableItemConfig';\r\nimport { SzSelectableItemComponent } from '../sz-selectable-item/sz-selectable-item.component';\r\nimport { SzSelectChangesEvent } from './model/SzSelectChangesEvent';\r\nimport { SzSelectConfig } from './model/SzSelectConfig';\r\nimport { SzSelectListItemSelectEvent } from './model/SzSelectListItemSelectEvent';\r\n\r\nenum Condition {\r\n    Label,\r\n    Value,\r\n    LabelAndValue\r\n}\r\n\r\n@Component({\r\n    selector: 'sz-select',\r\n    templateUrl: './sz-select.component.html',\r\n})\r\nexport class SzSelectComponent implements SzSelectConfig, OnInit, AfterViewInit, OnChanges {\r\n\r\n    iconDown = IconCaretDown;\r\n    iconUp = IconCaretUp;\r\n    selectedField: SzSelectableItemConfig;\r\n    showListComponent = true;\r\n    listStyleTop = '100%';\r\n\r\n    @Input() list: SzSelectableItemConfig[] = [];\r\n    @Output() listChange = new EventEmitter<SzSelectableItemConfig[]>();\r\n\r\n    @Input() placeholder = 'Placeholder';\r\n    @Input() label: string;\r\n    @Input() idInput: string;\r\n    @Input() disabled = false;\r\n\r\n    @Output() listItemSelect = new EventEmitter<SzSelectListItemSelectEvent>();\r\n    @Output() selectChanges = new EventEmitter<SzSelectChangesEvent>();\r\n\r\n    @HostBinding('class.sz-select') classSzSelect = true;\r\n\r\n    // @ViewChild(SzInputTextComponent, { static: true }) inputComponent: SzInputTextComponent;\r\n    @ViewChild(SzInputTextComponent, { static: true }) inputComponent: SzInputComponent;\r\n\r\n    protected _listComp: SzListComponent;\r\n    private listComponentHeight: number;\r\n\r\n    constructor(protected cdr: ChangeDetectorRef) {\r\n    }\r\n\r\n    private _value: any = null;\r\n    get value(): any {\r\n        return this._value;\r\n    }\r\n\r\n    @ViewChild(SzListComponent, { static: false }) set listComponent(list: SzListComponent) {\r\n        // console.log('*', list);\r\n        this._listComp = list;\r\n        if (!list) {\r\n            return;\r\n        }\r\n        list.scrollIntoViewToItemByField(this.selectedField);\r\n        list.focus();\r\n    }\r\n\r\n    private static isCompareItemsByCondition(item: SzSelectableItemConfig, otherItem: SzSelectableItemConfig, condition: Condition): boolean {\r\n        switch (condition) {\r\n            case Condition.Label:\r\n                return item.label === otherItem.label;\r\n            case Condition.Value:\r\n                return item.value === otherItem.value;\r\n            case Condition.LabelAndValue:\r\n                return item.label === otherItem.label && item.value === otherItem.value;\r\n        }\r\n    }\r\n\r\n    ngOnInit(): void {\r\n        // console.log('ngOnInit', this.labelDisplay);\r\n    }\r\n\r\n    ngAfterViewInit(): void {\r\n        this.selectedField = this.getFirstSelectedField();\r\n        if (this.selectedField) {\r\n            this._value = this.selectedField.value ? this.selectedField.value : this.selectedField.label;\r\n        }\r\n        this.listComponentHeight = this._listComp.getClientRectHeight();\r\n        // console.log('00ngAfterViewInit', this);\r\n        this.showListComponent = false;\r\n        this.cdr.detectChanges();\r\n    }\r\n\r\n    ngOnChanges(changes: SimpleChanges): void {\r\n        // console.log('ngOnChanges', changes);\r\n        if (changes.list) {\r\n            this.selectedField = this.getFirstSelectedField();\r\n            if (this.selectedField) {\r\n                this._value = this.selectedField.value ? this.selectedField.value : this.selectedField.label;\r\n                // Logic: ide nem szabad rakni selectChanges.emit()-et, mivel ez folyamatosan frissül !\r\n            }\r\n        }\r\n    }\r\n\r\n    selectItemByValue(value: any): SzSelectableItemConfig | undefined {\r\n        const foundItem = this.selectItemThroughListByValue(value);\r\n        if (!foundItem) {\r\n            this._value = this.selectedField = null;\r\n        }\r\n        return foundItem;\r\n    }\r\n\r\n    onClickOnInputNative(e: MouseEvent): void {\r\n        // console.log('onClickOnInputNative', e, this.showListComponent);\r\n        e.stopPropagation();\r\n        this.setShowListComponent(!this.showListComponent);\r\n    }\r\n\r\n    onClickOnLabel(e: SzHtmlLabelClickEvent): void {\r\n        // console.log('onClickOnLabel', e);\r\n        e.event.stopPropagation();\r\n        this.setShowListComponent(true);\r\n    }\r\n\r\n    onListItemSelect(e: SzListSelectEvent): void {\r\n        // console.log('onItemClick', e);\r\n        e.event.stopPropagation();\r\n        const listItemSelectEvent = { event: e.event, selectedItem: e.selectedItem, component: this };\r\n        this.selectItem(e.selectedItem, listItemSelectEvent);\r\n        this.listItemSelect.emit(listItemSelectEvent);\r\n    }\r\n\r\n    onKeyDownOnInputNative(e: KeyboardEvent): void {\r\n        // console.log('onKeyDownOnInputNative', e);\r\n        if (e.key === 'ArrowDown' || e.key === 'ArrowUp') {\r\n            e.preventDefault();\r\n            this.setShowListComponent(true);\r\n        }\r\n    }\r\n\r\n    onKeyUpOnInputNative(e: KeyboardEvent): void {\r\n        // console.log('onKeyUpOnInputNative', e);\r\n        e.preventDefault();\r\n        if (e.key === 'Enter' && !e.ctrlKey && !e.shiftKey && !e.altKey) {\r\n            this.setShowListComponent(true);\r\n        }\r\n    }\r\n\r\n    onListFocusOut(e: FocusEvent): void {\r\n        // console.log('onListFocusOut', e);\r\n        e.stopPropagation();\r\n        this.setShowListComponent(false);\r\n    }\r\n\r\n    onArrowDownMouseUp(e: MouseEvent): void {\r\n        // console.log('onArrowDownMouseUp', e, this.showListComponent);\r\n        e.stopPropagation();\r\n        this.inputComponent.focus();\r\n    }\r\n\r\n    onListKeyDownEscape(e: KeyboardEvent): void {\r\n        // console.log('onListKeyDownEscape', e);\r\n        this.setShowListComponent(false);\r\n        this.inputComponent.focus();\r\n    }\r\n\r\n    protected setShowListComponent(show: boolean): void {\r\n        // console.log('setShowListComponent', this.list);\r\n        this.showListComponent = show;\r\n        this.inputComponent.focusStyleActive = show;\r\n        this.calculateShowListWhichSide();\r\n    }\r\n\r\n    private selectItem(item: SzSelectableItemComponent, event: SzSelectListItemSelectEvent): void {\r\n        // console.log('*selectItem*', this.list);\r\n        this.setShowListComponent(false);\r\n        this.inputComponent.focus();\r\n        if (this.selectedField && this.selectedField.label === item.label && this.selectedField.value === item.value) {\r\n            return;\r\n        }\r\n        this.selectItemThroughListByItem(item);\r\n        this.selectChanges.emit({ event, selectedField: this.selectedField });\r\n    }\r\n\r\n    private selectItemThroughListByItem(item: SzSelectableItemConfig): SzSelectableItemConfig | undefined {\r\n        return this.selectItemThroughListByCondition(item, Condition.LabelAndValue);\r\n    }\r\n\r\n    private selectItemThroughListByValue(value: any): SzSelectableItemConfig | undefined {\r\n        return this.selectItemThroughListByCondition({ label: '', value }, Condition.Value);\r\n    }\r\n\r\n    private selectItemThroughListByCondition(item: SzSelectableItemConfig, condition: Condition): SzSelectableItemConfig | undefined {\r\n        let foundItem: SzSelectableItemConfig;\r\n        const newList: SzSelectableItemConfig[] = [];\r\n        this.list.forEach(listItem => {\r\n            const newItem = { ...listItem };\r\n            if (SzSelectComponent.isCompareItemsByCondition(newItem, item, condition)) { // TODO: több ugyanolyan egyezés esetén lekezelni!\r\n                newItem.selected = true;\r\n                foundItem = this.selectedField = { ...newItem };\r\n                this._value = newItem.value;\r\n            } else {\r\n                newItem.selected = false;\r\n            }\r\n            newList.push(newItem);\r\n        });\r\n        this.list = newList;\r\n        this.listChange.emit(this.list);\r\n        return foundItem;\r\n    }\r\n\r\n    private getFirstSelectedField(): SzSelectableItemConfig {\r\n        for (const item of this.list) {\r\n            if (item.selected) {\r\n                return item;\r\n            }\r\n        }\r\n    }\r\n\r\n    private calculateShowListWhichSide(): void {\r\n        // tslint:disable-next-line:max-line-length\r\n        if (Math.ceil(this.inputComponent.getBoundingClientRectTop() + this.inputComponent.getClientRectHeight() + this.listComponentHeight) > window.innerHeight) {\r\n            const sub = this.listComponentHeight + this.inputComponent.getInputClientHeight();\r\n            this.listStyleTop = `calc(100% - ${ sub }px)`;\r\n        } else {\r\n            this.listStyleTop = '100%';\r\n        }\r\n    }\r\n}\r\n","<div [ngClass]=\"'select-div-container'\">\r\n  <sz-input-text\r\n    [placeholder]=\"placeholder\"\r\n    [label]=\"label\"\r\n    [idInput]=\"idInput\"\r\n    [value]=\"selectedField ? selectedField.label : null\"\r\n    [readOnly]=\"true\"\r\n    [disabled]=\"disabled\"\r\n\r\n    (clickNative)=\"!disabled ? onClickOnInputNative($event) : undefined\"\r\n    (clickOnLabel)=\"idInput && !disabled ? onClickOnLabel($event) : undefined\"\r\n    (keyDownNative)=\"!disabled ? onKeyDownOnInputNative($event) : undefined\"\r\n    (keyUpNative)=\"!disabled ? onKeyUpOnInputNative($event) : undefined\"\r\n  >\r\n    <sz-icon\r\n      after-input\r\n      *ngIf=\"showListComponent; else showListTemplate\"\r\n      [type]=\"iconUp\"\r\n      [ngClass]=\"{\r\n        'sz-html-clickable': true,\r\n        'sz-icon-placeholder': !selectedField\r\n      }\"\r\n    ></sz-icon>\r\n    <ng-template #showListTemplate>\r\n      <sz-icon\r\n        [type]=\"iconDown\"\r\n        (mouseup)=\"onArrowDownMouseUp($event)\"\r\n        [ngClass]=\"{\r\n          'sz-html-clickable': true,\r\n          'sz-icon-placeholder': !selectedField\r\n        }\"\r\n      ></sz-icon>\r\n    </ng-template>\r\n  </sz-input-text>\r\n  <sz-list\r\n    *ngIf=\"showListComponent\"\r\n    [list]=\"list\"\r\n    [numOfSelectableItems]=\"1\"\r\n    (itemSelect)=\"onListItemSelect($event)\"\r\n    (focusout)=\"onListFocusOut($event)\"\r\n    (keydown.escape)=\"onListKeyDownEscape($event)\"\r\n\r\n    [style.top]=\"listStyleTop\"\r\n  ></sz-list>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { SzIconModule } from '@szorba/icons';\r\nimport { SzInputTextModule } from '../inputs/sz-input-text/sz-input-text.module';\r\nimport { SzListModule } from '../sz-list/sz-list.module';\r\nimport { SzSelectComponent } from './sz-select.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzSelectComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule,\r\n\r\n        // --- My own imports ---\r\n        SzInputTextModule,\r\n        SzListModule,\r\n        SzIconModule, // @szorba/icons\r\n    ],\r\n    exports: [\r\n        SzSelectComponent,\r\n    ]\r\n})\r\nexport class SzSelectModule {\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { SzInputCheckboxModule } from './inputs/sz-input-checkbox/sz-input-checkbox.module';\r\nimport { SzInputNumberModule } from './inputs/sz-input-number/sz-input-number.module';\r\nimport { SzInputRadioModule } from './inputs/sz-input-radio/sz-input-radio.module';\r\nimport { SzInputTextClearModule } from './inputs/sz-input-text-clear/sz-input-text-clear.module';\r\nimport { SzInputTextFilterModule } from './inputs/sz-input-text-filter/sz-input-text-filter.module';\r\nimport { SzInputTextModule } from './inputs/sz-input-text/sz-input-text.module';\r\nimport { SzInputModule } from './inputs/sz-input/sz-input.module';\r\nimport { SzAutocompleteModule } from './sz-autocomplete/sz-autocomplete.module';\r\nimport { SzListModule } from './sz-list/sz-list.module';\r\nimport { SzRadioGroupModule } from './sz-radio-group/sz-radio-group.module';\r\nimport { SzSelectModule } from './sz-select/sz-select.module';\r\nimport { SzSelectableItemModule } from './sz-selectable-item/sz-selectable-item.module';\r\n\r\n@NgModule({\r\n    declarations: [],\r\n    imports: [\r\n        CommonModule,\r\n    ],\r\n    exports: [\r\n        // --- inputs ---\r\n        SzAutocompleteModule,\r\n        SzInputModule,\r\n        SzInputTextModule,\r\n        SzInputNumberModule,\r\n        SzInputTextClearModule,\r\n        SzInputTextFilterModule,\r\n        SzInputCheckboxModule,\r\n        SzInputRadioModule,\r\n        SzListModule,\r\n        SzRadioGroupModule,\r\n        SzSelectModule,\r\n        SzSelectableItemModule,\r\n        // --- inputs END ---\r\n    ]\r\n})\r\nexport class SzControlsModule {\r\n}\r\n","import { SzFormError } from './model/SzFormError';\r\nimport { SzFormErrorName } from './model/SzFormErrorName';\r\nimport { SzFormErrorsInterface } from './model/SzFormErrorsInterface';\r\n\r\nexport class SzFormErrorsUtil {\r\n    static addError(error: SzFormError, formComponent: SzFormErrorsInterface): void {\r\n        if (formComponent.getErrorByName(error.name)) {\r\n            console.error('There is same Error yet!', formComponent.errors, error, this);\r\n        } else {\r\n            formComponent.errors.push(error);\r\n        }\r\n    }\r\n\r\n    static getErrorByName(name: SzFormErrorName, formComponent: SzFormErrorsInterface): SzFormError {\r\n        for (let i = 0; i < formComponent.errors.length; i++) {\r\n            if (formComponent.errors[i].name === name) {\r\n                return formComponent.errors[i];\r\n            }\r\n        }\r\n        return undefined;\r\n    }\r\n\r\n    static removeError(error: SzFormError, formComponent: SzFormErrorsInterface): void {\r\n        for (let i = 0; i < formComponent.errors.length; i++) {\r\n            if (formComponent.errors[i] === error) {\r\n                formComponent.errors.splice(i, 1);\r\n                return;\r\n            }\r\n        }\r\n        console.error('I did not find this Error!', formComponent.errors, error, formComponent);\r\n    }\r\n\r\n    static removeErrorByName(name: SzFormErrorName, formComponent: SzFormErrorsInterface): void {\r\n        const foundedError = formComponent.getErrorByName(name);\r\n        if (foundedError) {\r\n            formComponent.removeError(foundedError);\r\n        } else {\r\n            console.error('I did not find this named Error!', formComponent.errors, name, formComponent);\r\n        }\r\n    }\r\n\r\n    static changeErrorMessageByName(name: SzFormErrorName, message: string, formComponent: SzFormErrorsInterface): void {\r\n        for (let i = 0; i < formComponent.errors.length; i++) {\r\n            if (formComponent.errors[i].name === name) {\r\n                formComponent.errors[i].message = message;\r\n                return;\r\n            }\r\n        }\r\n        console.error('No error with that name!', name, formComponent);\r\n    }\r\n}\r\n","export enum SzFormErrorDefaultMessage {\r\n    // Required = 'A mező kitöltése kötelező!',\r\n    Required = 'Field is required!',\r\n    // Min = 'Adjon meg nagyobb értéket!',\r\n    Min = 'Enter a higher value!',\r\n    // Max = 'Adjon meg kisebb értéket!',\r\n    Max = 'Enter a smaller value!',\r\n    // MinLength = 'Túl rövid!',\r\n    MinLength = 'Too short!',\r\n    // MaxLength = 'Túl hosszú!',\r\n    MaxLength = 'Too long!',\r\n    // Pattern = 'Nem megfelelő URL!',\r\n    Pattern = 'Invalid url!',\r\n    // Email = 'Nem megfelelő Email cím!',\r\n    Email = 'Invalid e-mail!',\r\n    VerifiedEmail = 'Not verified e-mail!',\r\n    VerifiedPassword = 'Not verified password!',\r\n    FilterMatches = 'Nincs szűrt találat!',\r\n    ValueMatch = 'Kérem válasszon a listából!',\r\n}\r\n","export enum SzFormErrorName {\r\n    Required = 'required',\r\n    Min = 'min',\r\n    Max = 'max',\r\n    MinLength = 'minlength',\r\n    MaxLength = 'maxlength',\r\n    Pattern = 'pattern',\r\n    Email = 'email',\r\n    VerifiedEmail = 'verifiedEmail',\r\n    VerifiedPassword = 'verifiedPassword',\r\n    EachOther = 'eachOther', // TODO: rename ?\r\n    filterMinCharLength = 'filterMinCharLength', // TODO: csak az ionic-os cuccban van(ionic-input-auto) => kiszedni\r\n    FilterMatches = 'filterMatches',\r\n    ValueMatch = 'valueMatch',\r\n}\r\n","import { ValidatorFn } from '@angular/forms';\r\nimport { SzorbaValidatorsInterface } from '../model/SzorbaValidatorsInterface';\r\n\r\nexport class SzorbaValidatorsUtil {\r\n    static setValidators(newValidator: ValidatorFn | ValidatorFn[], formComponent: SzorbaValidatorsInterface): void {\r\n        formComponent.fControl.setValidators(newValidator);\r\n    }\r\n\r\n    static isValidatorFn(validatorFn: ValidatorFn, formComponent: SzorbaValidatorsInterface): boolean {\r\n        // tslint:disable-next-line:prefer-for-of\r\n        for (let i = 0; i < formComponent.validatorFns.length; i++) {\r\n            if (formComponent.validatorFns[i].toString() === validatorFn.toString()) {\r\n                return true;\r\n            }\r\n        }\r\n        return false;\r\n    }\r\n\r\n    static removeValidatorFn(removeValidatorFn: ValidatorFn, formComponent: SzorbaValidatorsInterface): void {\r\n        for (let i = 0; i < formComponent.validatorFns.length; i++) {\r\n            if (formComponent.validatorFns[i].toString() === removeValidatorFn.toString()) {\r\n                formComponent.validatorFns.splice(i, 1);\r\n                SzorbaValidatorsUtil.setValidators(formComponent.validatorFns, formComponent);\r\n                return;\r\n            }\r\n        }\r\n        console.error('There is no ValidatorFn!', formComponent.validatorFns, removeValidatorFn, formComponent);\r\n    }\r\n\r\n    static initControl(formComponent: SzorbaValidatorsInterface): void {\r\n        if (formComponent.fGroup.controls[formComponent.fControlName]) {\r\n            console.error('There is same fControlName FormControl yet! Use another name!', formComponent.fControlName);\r\n        } else {\r\n            formComponent.fGroup.addControl(formComponent.fControlName, formComponent.fControl);\r\n        }\r\n    }\r\n}\r\n","import { Validators } from '@angular/forms';\r\nimport { SzFormErrorDefaultMessage } from '../../sz-form-errors/model/SzFormErrorDefaultMessage';\r\nimport { SzFormErrorName } from '../../sz-form-errors/model/SzFormErrorName';\r\nimport { SzFormErrorsInterface } from '../../sz-form-errors/model/SzFormErrorsInterface';\r\nimport { SzorbaValidatorsInterface } from '../model/SzorbaValidatorsInterface';\r\nimport { SzorbaValidatorsUtil } from './szorba-validators.util';\r\n\r\nexport interface OptionalInterface {\r\n    optional: boolean;\r\n}\r\n\r\nexport interface OptionalFormInterface extends OptionalInterface, SzorbaValidatorsInterface, SzFormErrorsInterface {\r\n    elementRef: {\r\n        nativeElement: {\r\n            required: boolean;\r\n        }\r\n    };\r\n\r\n    setOptional(optional: boolean): void;\r\n}\r\n\r\nexport class OptionalValidatorUtil {\r\n    static setupProperty(optional: boolean, formComponent: OptionalFormInterface): void {\r\n        formComponent.optional = optional;\r\n        if (formComponent.optional) {\r\n            formComponent.elementRef.nativeElement.required = false;\r\n            if (formComponent.getErrorByName(SzFormErrorName.Required)) {\r\n                formComponent.removeErrorByName(SzFormErrorName.Required);\r\n            }\r\n            if (SzorbaValidatorsUtil.isValidatorFn(Validators.required, formComponent)) {\r\n                SzorbaValidatorsUtil.removeValidatorFn(Validators.required, formComponent);\r\n            }\r\n        } else {\r\n            formComponent.elementRef.nativeElement.required = true;\r\n            if (!formComponent.getErrorByName(SzFormErrorName.Required)) {\r\n                formComponent.addError({ name: SzFormErrorName.Required, message: SzFormErrorDefaultMessage.Required });\r\n            }\r\n            if (!SzorbaValidatorsUtil.isValidatorFn(Validators.required, formComponent)) {\r\n                formComponent.validatorFns.push(Validators.required);\r\n            }\r\n        }\r\n    }\r\n}\r\n","import { AfterContentInit, AfterViewInit, Component, HostBinding, Input, OnInit } from '@angular/core';\r\nimport { SzHtmlLabelClickEvent } from '../../sz-html-controls/sz-html-label/model/SzHtmlLabelClickEvent';\r\nimport { SzHtmlLabelComponent } from '../../sz-html-controls/sz-html-label/sz-html-label.component';\r\nimport { DisabledInterface } from '../../utils/disabled.util';\r\nimport { OptionalInterface } from '../../validators/utils/optional-validator.util';\r\n\r\n@Component({\r\n    selector: 'sz-html-form-label',\r\n    template: `\r\n        <sz-html-label\r\n            [text]=\"text\"\r\n            [forLabel]=\"forLabel\"\r\n            (clickOnLabel)=\"!disabled ? onClickOnLabel($event) : undefined\"\r\n        >\r\n            <span *ngIf=\"!optional && !disabled\" [ngClass]=\"'sz-html-required'\">*</span>\r\n        </sz-html-label>\r\n    `,\r\n})\r\nexport class SzHtmlFormLabelComponent extends SzHtmlLabelComponent\r\n    implements DisabledInterface, OptionalInterface, OnInit, AfterContentInit, AfterViewInit {\r\n\r\n    classSzHtmlLabel = false;\r\n\r\n    @Input() optional = false;\r\n    @Input() disabled = false;\r\n\r\n    @HostBinding('class.sz-html-form-label') classSzHtmlFormLabel = true;\r\n\r\n    ngOnInit(): void {\r\n        super.ngOnInit();\r\n        // console.log('ngOnInit', this.disabled, this.disabledDirective, this.optional, this.optionalDirective, this);\r\n    }\r\n\r\n    ngAfterContentInit(): void {\r\n        // console.log('ngAfterContentInit', this.disabled, this.disabledDirective, this.optional, this.optionalDirective, this);\r\n    }\r\n\r\n    ngAfterViewInit(): void {\r\n        // console.log('ngAfterViewInit', this.disabled, this.disabledDirective, this.optional, this.optionalDirective, this);\r\n    }\r\n\r\n    onClickOnLabel(e: SzHtmlLabelClickEvent): void {\r\n        this.clickOnLabel.emit(e);\r\n    }\r\n}\r\n","import { FormControl } from '@angular/forms';\r\nimport { SzFormError } from '../sz-form-errors/model/SzFormError';\r\n\r\nexport class FormErrorsUtil {\r\n    static getSzFormErrors(fControl: FormControl, errors: SzFormError[], showErrorsNum: number): SzFormError[] {\r\n        if (!fControl.errors) {\r\n            return [];\r\n        }\r\n        const fControlErrors = Object.keys(fControl.errors);\r\n        if (showErrorsNum > fControlErrors.length) {\r\n            showErrorsNum = fControlErrors.length;\r\n        }\r\n        const formErrors: SzFormError[] = [];\r\n        for (let i = 0; i < showErrorsNum; i++) {\r\n            for (const error of errors) {\r\n                if (fControlErrors[i] === error.name) {\r\n                    formErrors.push(error);\r\n                }\r\n            }\r\n        }\r\n        return formErrors;\r\n    }\r\n}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { FormErrorsUtil } from '../utils/form-errors.util';\r\nimport { SzFormError } from './model/SzFormError';\r\n\r\n@Component({\r\n    selector: 'sz-form-errors',\r\n    template: `\r\n        <div [ngClass]=\"'sz-form-errors-container'\" *ngIf=\"fControl.touched && isShowErrors()\">\r\n            <ul [ngClass]=\"'sz-form-errors-ul'\">\r\n                <li [ngClass]=\"'sz-form-errors-li'\" *ngFor=\"let error of showSzFormErrors\">{{ error.message }}</li>\r\n            </ul>\r\n        </div>\r\n    `,\r\n})\r\nexport class SzFormErrorsComponent {\r\n\r\n    showSzFormErrors: SzFormError[];\r\n\r\n    @Input() fControl: FormControl;\r\n    @Input() errors: SzFormError[];\r\n    @Input() showErrorsNum = 1;\r\n\r\n    @HostBinding('class.sz-form-errors') classSzFormErrors = true;\r\n\r\n    isShowErrors(): boolean {\r\n        this.showSzFormErrors = FormErrorsUtil.getSzFormErrors(this.fControl, this.errors, this.showErrorsNum);\r\n        return this.showSzFormErrors.length > 0;\r\n    }\r\n}\r\n","import { Component, HostBinding, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, ValidatorFn } from '@angular/forms';\r\nimport { RandomUtil } from '@szorba/utils';\r\nimport { SzInputComponent } from '../../../sz-controls/inputs/sz-input/sz-input.component';\r\nimport { SzFormError } from '../../../sz-form-errors/model/SzFormError';\r\nimport { SzFormErrorName } from '../../../sz-form-errors/model/SzFormErrorName';\r\nimport { SzFormErrorsUtil } from '../../../sz-form-errors/sz-form-errors.util';\r\nimport { DisabledUtil } from '../../../utils/disabled.util';\r\nimport { OptionalFormInterface, OptionalValidatorUtil } from '../../../validators/utils/optional-validator.util';\r\nimport { SzorbaValidatorsUtil } from '../../../validators/utils/szorba-validators.util';\r\n\r\n@Component({\r\n    selector: 'sz-form-input',\r\n    templateUrl: './sz-form-input.component.html'\r\n})\r\nexport class SzFormInputComponent extends SzInputComponent implements OptionalFormInterface, OnInit, OnDestroy {\r\n\r\n    fControlName: string; // automatically generated from idInput\r\n\r\n    // 'form' helyett 'f' használata, hogy ne ugyanaz a property név legyen(formGroup, formControl), mert ez már Angular foglalt(feature) ->\r\n    // -> és ha egyezés van, akkor BUG-os !\r\n    @Input() fGroup = new FormGroup({});\r\n    @Input() fControl = new FormControl();\r\n    @Input() errors: SzFormError[] = [];\r\n    @Input() showErrorsNum = 1;\r\n    @Input() hideErrors = false;\r\n    @Input() validatorFns: ValidatorFn[] = [];\r\n    @Input() optional = false;\r\n\r\n    @HostBinding('class.sz-form-input') classSzFormInput = true;\r\n\r\n    get value(): any {\r\n        return this.fControl.value;\r\n    }\r\n\r\n    @Input()\r\n    set value(val: any) {\r\n        this.setValueThroughFormControl(val);\r\n    }\r\n\r\n    ngOnInit(): void {\r\n        // console.log('ngOnInit', this);\r\n        if (this.idInput) {\r\n            this.fControlName = this.idInput + 'ControlName';\r\n        } else if (!this.disabled) {\r\n            console.warn('There is no idInput, so no formControlName! Please enter the idInput! but I made a random one to works properly! ', this);\r\n            const possibleRandomChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\r\n            this.fControlName = RandomUtil.getText(possibleRandomChars, 25);\r\n        }\r\n        super.ngOnInit();\r\n        SzorbaValidatorsUtil.initControl(this);\r\n        this.setOptional(this.optional);\r\n        this.setupValidators();\r\n        this.fControl.valueChanges.subscribe(value => {\r\n            this.valueChange.emit(value);\r\n        });\r\n        this.fControl.setValue(this._value);\r\n    }\r\n\r\n    ngOnDestroy(): void {\r\n        this.fGroup.removeControl(this.fControlName);\r\n    }\r\n\r\n    setOptional(optional: boolean): void {\r\n        OptionalValidatorUtil.setupProperty(optional, this);\r\n    }\r\n\r\n    setFormGroup(formGroup: FormGroup): void {\r\n        this.fGroup = formGroup;\r\n        SzorbaValidatorsUtil.initControl(this);\r\n    }\r\n\r\n    updateValueAndValidity(): void {\r\n        this.fControl.updateValueAndValidity();\r\n    }\r\n\r\n    addError(error: SzFormError): void {\r\n        SzFormErrorsUtil.addError(error, this);\r\n    }\r\n\r\n    getErrorByName(name: SzFormErrorName): SzFormError {\r\n        return SzFormErrorsUtil.getErrorByName(name, this);\r\n    }\r\n\r\n    removeError(error: SzFormError): void {\r\n        SzFormErrorsUtil.removeError(error, this);\r\n    }\r\n\r\n    removeErrorByName(name: SzFormErrorName): void {\r\n        SzFormErrorsUtil.removeErrorByName(name, this);\r\n    }\r\n\r\n    changeErrorMessageByName(name: SzFormErrorName, message: string): void {\r\n        SzFormErrorsUtil.changeErrorMessageByName(name, message, this);\r\n    }\r\n\r\n    markAsUntouched(): void {\r\n        this.fControl.markAsUntouched();\r\n    }\r\n\r\n    protected inputEvent(e: Event): void { // override\r\n        // console.log(e, ' ::: ', (e.event.target as any).value);\r\n        this.setValueThroughFormControl((e.target as HTMLInputElement).value);\r\n    }\r\n\r\n    protected setupValidators(): void {\r\n        this.validatorFns = this.getAndSetupAllValidatorFns();\r\n        SzorbaValidatorsUtil.setValidators(this.validatorFns, this);\r\n    }\r\n\r\n    protected getAndSetupAllValidatorFns(): ValidatorFn[] {\r\n        // const validatorFns: ValidatorFn[] = [];\r\n        return this.validatorFns;\r\n    }\r\n\r\n    protected setValueThroughFormControl(value: any): void {\r\n        this._value = value;\r\n        this.fControl.setValue(value);\r\n    }\r\n\r\n    protected setupDisabled(): void { // override\r\n        DisabledUtil.setupPropertyForm(this.disabled, this);\r\n    }\r\n}\r\n\r\n\r\n","<div\r\n  [formGroup]=\"fGroup\"\r\n  [ngClass]=\"[\r\n    'label-with-element-container',\r\n    labelDisplay ? labelDisplay : ''\r\n  ]\"\r\n>\r\n  <sz-html-form-label\r\n    *ngIf=\"label\"\r\n    [text]=\"label\"\r\n    [forLabel]=\"idInput\"\r\n    [disabled]=\"disabled\"\r\n    [optional]=\"optional\"\r\n\r\n    (clickOnLabel)=\"onClickOnLabel($event)\"\r\n  ></sz-html-form-label>\r\n  <div\r\n    #nativeContainerDivRef\r\n    (mousedown)=\"onMouseDownNative($event)\"\r\n    (click)=\"onClickNative($event)\"\r\n    [ngClass]=\"{\r\n      'input-native-container': true,\r\n      'sz-focus': (_focus || _focusStyleActive),\r\n      'sz-disabled': disabled,\r\n      'sz-html-invalid': (fControl.touched && fControl.invalid),\r\n      'sz-html-valid': (fControl.touched && fControl.valid)\r\n    }\"\r\n  >\r\n    <input\r\n      #elementRef\r\n      [id]=\"idInput\"\r\n      [type]=\"type\"\r\n      [placeholder]=\"placeholder\"\r\n      [formControlName]=\"fControlName\"\r\n      (input)=\"onInputNative($event)\"\r\n      (keydown)=\"onKeyDownNative($event)\"\r\n      (keyup)=\"onKeyUpNative($event)\"\r\n      (focusin)=\"onFocusInNative($event)\"\r\n      (focusout)=\"onFocusOutNative($event)\"\r\n\r\n      [ngClass]=\"{\r\n        'input-native': true\r\n      }\"\r\n    >\r\n    <ng-content></ng-content>\r\n  </div>\r\n  <sz-form-errors\r\n    *ngIf=\"!hideErrors && fControl.invalid\"\r\n    [fControl]=\"fControl\"\r\n    [errors]=\"errors\"\r\n    [showErrorsNum]=\"showErrorsNum\"\r\n  ></sz-form-errors>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { SzFormErrorsComponent } from './sz-form-errors.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzFormErrorsComponent,\r\n    ],\r\n    imports: [\r\n        // --- Angular Base imports ---\r\n        CommonModule,\r\n        ReactiveFormsModule,\r\n\r\n    ],\r\n    exports: [\r\n        SzFormErrorsComponent,\r\n    ]\r\n})\r\nexport class SzFormErrorsModule {\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { SzHtmlLabelModule } from '../../sz-html-controls/sz-html-label/sz-html-label.module';\r\nimport { DirectivesModule } from '../../directives/directives.module';\r\nimport { SzHtmlFormLabelComponent } from './sz-html-form-label.component';\r\n\r\n@NgModule({ // --- @angular/core ---\r\n    declarations: [\r\n        SzHtmlFormLabelComponent\r\n    ],\r\n    imports: [\r\n        // --- @angular/common ---\r\n        CommonModule,\r\n        SzHtmlLabelModule,\r\n\r\n    ],\r\n    exports: [\r\n        SzHtmlFormLabelComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzHtmlFormLabelModule {\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzFormErrorsModule } from '../../../sz-form-errors/sz-form-errors.module';\r\nimport { SzHtmlFormLabelModule } from '../../../sz-html-form-controls/sz-html-form-label/sz-html-form-label.module';\r\nimport { SzFormInputComponent } from './sz-form-input.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzFormInputComponent\r\n    ],\r\n    imports: [\r\n        CommonModule,\r\n        ReactiveFormsModule,\r\n\r\n        // --- My own imports ---\r\n        SzHtmlFormLabelModule,\r\n        SzFormErrorsModule,\r\n    ],\r\n    exports: [\r\n        SzFormInputComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzFormInputModule {\r\n}\r\n","import { Validators } from '@angular/forms';\r\nimport { SzFormErrorDefaultMessage } from '../../sz-form-errors/model/SzFormErrorDefaultMessage';\r\nimport { SzFormErrorName } from '../../sz-form-errors/model/SzFormErrorName';\r\nimport { SzFormErrorsInterface } from '../../sz-form-errors/model/SzFormErrorsInterface';\r\nimport { SzorbaValidatorsInterface } from '../model/SzorbaValidatorsInterface';\r\nimport { SzorbaValidatorsUtil } from './szorba-validators.util';\r\n\r\nexport interface MinMaxFormInterface extends SzorbaValidatorsInterface, SzFormErrorsInterface {\r\n    minValidator: number;\r\n    maxValidator: number;\r\n}\r\n\r\nexport class MinMaxValidatorUtil {\r\n    static setValidators(formComponent: MinMaxFormInterface): void {\r\n        if (formComponent.minValidator || formComponent.minValidator === 0) {\r\n            if (!formComponent.getErrorByName(SzFormErrorName.Min)) {\r\n                formComponent.addError({ name: SzFormErrorName.Min, message: SzFormErrorDefaultMessage.Min });\r\n            }\r\n            if (!SzorbaValidatorsUtil.isValidatorFn(Validators.min(formComponent.minValidator), formComponent)) {\r\n                formComponent.validatorFns.push(Validators.min(formComponent.minValidator));\r\n            }\r\n        }\r\n        if (formComponent.maxValidator || formComponent.maxValidator === 0) {\r\n            if (!formComponent.getErrorByName(SzFormErrorName.Max)) {\r\n                formComponent.addError({ name: SzFormErrorName.Max, message: SzFormErrorDefaultMessage.Max });\r\n            }\r\n            if (!SzorbaValidatorsUtil.isValidatorFn(Validators.max(formComponent.maxValidator), formComponent)) {\r\n                formComponent.validatorFns.push(Validators.max(formComponent.maxValidator));\r\n            }\r\n        }\r\n    }\r\n}\r\n","import { AfterViewInit, Component, HostBinding, Input, OnInit } from '@angular/core';\r\nimport { ValidatorFn } from '@angular/forms';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { InputNumberUtil, NumberInterface } from '../../../utils/input-number.util';\r\nimport { MinMaxValidatorUtil } from '../../../validators/utils/min-max-validator.util';\r\nimport { SzFormInputComponent } from '../sz-form-input/sz-form-input.component';\r\n// @ts-ignore\r\nimport Timeout = NodeJS.Timeout;\r\n\r\n@Component({\r\n    selector: 'sz-form-input-number',\r\n    templateUrl: './sz-form-input-number.component.html',\r\n})\r\nexport class SzFormInputNumberComponent extends SzFormInputComponent implements NumberInterface, OnInit, AfterViewInit {\r\n\r\n    private static readonly TIMEOUT_TIME = 500;\r\n    private static readonly INTERVAL_TIME = 50;\r\n\r\n    type = InputType.Number;\r\n\r\n    @Input() min: number;\r\n    @Input() max: number;\r\n    @Input() step = 1;\r\n\r\n    @HostBinding('class.sz-input-number') classSzInputNumber = true; // from SzInputNumberComponent because extends from SzFormInputComponent!\r\n\r\n    @Input() minValidator: number = null;\r\n    @Input() maxValidator: number = null;\r\n\r\n    private timeout: Timeout;\r\n    private interval: Timeout;\r\n    protected _value: number = null;\r\n\r\n    get value(): number {\r\n        return this.fControl.value;\r\n    }\r\n\r\n    @Input()\r\n    set value(val: number) {\r\n        this.setValueThroughFormControl(val);\r\n    }\r\n\r\n    ngOnInit(): void {\r\n        InputNumberUtil.checkAndConvertTypeByNumberProp(this.value, 'value');\r\n        InputNumberUtil.checkAndConvertTypeByNumberProp(this.min, 'min');\r\n        InputNumberUtil.checkAndConvertTypeByNumberProp(this.max, 'max');\r\n        super.ngOnInit();\r\n    }\r\n\r\n    ngAfterViewInit(): void {\r\n        super.ngAfterViewInit();\r\n        // --- for valid HTML document ---\r\n        const nativeInputElement: HTMLInputElement = this.elementRef.nativeElement;\r\n        if (this.min === undefined || this.min === null) {\r\n            nativeInputElement.removeAttribute('min');\r\n        }\r\n        if (this.max === undefined || this.max === null) {\r\n            nativeInputElement.removeAttribute('max');\r\n        }\r\n        // --- for valid HTML document END ---\r\n    }\r\n\r\n    onIconArrowUpMouseDown(e: MouseEvent): void {\r\n        // console.log('onIconArrowUpMouseDown', e);\r\n        this.startValueIncrementByArrow(true);\r\n    }\r\n\r\n    onIconArrowDownMouseDown(e: MouseEvent): void {\r\n        // console.log('onIconArrowDownMouseDown', e);\r\n        this.startValueIncrementByArrow(false);\r\n    }\r\n\r\n    onIconArrowMouseUp(e: MouseEvent): void {\r\n        // console.log('onIconArrowUpMouseUp', e);\r\n        clearTimeout(this.timeout);\r\n        clearInterval(this.interval);\r\n        this.focus();\r\n    }\r\n\r\n    protected setValueThroughFormControl(val: number): void {\r\n        // console.log('val', val);\r\n        if (val === null) {\r\n            this._value = null;\r\n            // this.fControl.setValue(null); // kikommentezve, hogy be lehessen írni 'e' stb. karaktert is\r\n            this.valueChange.emit(null);\r\n            return;\r\n        } else if (val === undefined) { // így lehet reszetelni az inputot\r\n            this._value = null;\r\n            this.fControl.setValue(null);\r\n            this.valueChange.emit(undefined);\r\n            return;\r\n        }\r\n        this._value = InputNumberUtil.getValueAfterCheckMinMax(val, this);\r\n        this.fControl.setValue(this._value);\r\n        this.valueChange.emit(val);\r\n    }\r\n\r\n    protected getAndSetupAllValidatorFns(): ValidatorFn[] {\r\n        const validatorFns: ValidatorFn[] = super.getAndSetupAllValidatorFns();\r\n        MinMaxValidatorUtil.setValidators(this);\r\n        return validatorFns;\r\n    }\r\n\r\n    protected inputEvent(e: InputEvent): void {\r\n        // console.log('inputEvent', e, (e.target as HTMLInputElement).value, this.getNativeInputElement().value);\r\n        InputNumberUtil.getNativeValueAndSetValueFromInputEvent(e, this);\r\n    }\r\n\r\n    private startValueIncrementByArrow(increment: boolean): void {\r\n        this.value = increment ? Number(this.value) + this.step : Number(this.value) - this.step;\r\n        this.timeout = setTimeout(() => {\r\n            this.interval = setInterval(() => {\r\n                this.value = increment ? Number(this.value) + this.step : Number(this.value) - this.step;\r\n            }, SzFormInputNumberComponent.INTERVAL_TIME);\r\n        }, SzFormInputNumberComponent.TIMEOUT_TIME);\r\n    }\r\n}\r\n","<div\r\n  [formGroup]=\"fGroup\"\r\n  [ngClass]=\"[\r\n    'label-with-element-container',\r\n    labelDisplay ? labelDisplay : ''\r\n  ]\"\r\n>\r\n  <sz-html-form-label\r\n    *ngIf=\"label\"\r\n    [text]=\"label\"\r\n    [forLabel]=\"idInput\"\r\n    [disabled]=\"disabled\"\r\n    [optional]=\"optional\"\r\n\r\n    (clickOnLabel)=\"onClickOnLabel($event)\"\r\n  ></sz-html-form-label>\r\n  <div [ngClass]=\"{\r\n    'input-native-container': true,\r\n    'sz-focus': _focus,\r\n    'sz-disabled': disabled,\r\n    'sz-html-invalid': (fControl.touched && fControl.invalid),\r\n    'sz-html-valid': (fControl.touched && fControl.valid)\r\n  }\">\r\n    <input\r\n      #elementRef\r\n      [id]=\"idInput\"\r\n      [type]=\"type\"\r\n      [placeholder]=\"placeholder\"\r\n      [min]=\"min\"\r\n      [max]=\"max\"\r\n      [step]=\"step\"\r\n      [formControlName]=\"fControlName\"\r\n      (input)=\"onInputNative($event)\"\r\n      (click)=\"onClickNative($event)\"\r\n      (keyup)=\"onKeyUpNative($event)\"\r\n      (focusin)=\"onFocusInNative($event)\"\r\n      (focusout)=\"onFocusOutNative($event)\"\r\n\r\n      [ngClass]=\"{\r\n        'input-native': true\r\n      }\"\r\n    >\r\n    <div *ngIf=\"!readOnly && !disabled\" [ngClass]=\"'input-icon-container'\">\r\n      <div [ngClass]=\"'input-arrow-container'\" (mousedown)=\"onIconArrowUpMouseDown($event)\" (mouseup)=\"onIconArrowMouseUp($event)\">\r\n        <svg height=\"5\" width=\"10\">\r\n          <polygon points=\"0,5 5,0 10,5\"/>\r\n        </svg>\r\n      </div>\r\n      <div [ngClass]=\"'input-arrow-container'\" (mousedown)=\"onIconArrowDownMouseDown($event)\" (mouseup)=\"onIconArrowMouseUp($event)\">\r\n        <svg height=\"5\" width=\"10\">\r\n          <polygon points=\"0,0 10,0 5,5\"/>\r\n        </svg>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <sz-form-errors\r\n    *ngIf=\"!hideErrors && fControl.invalid\"\r\n    [fControl]=\"fControl\"\r\n    [errors]=\"errors\"\r\n    [showErrorsNum]=\"showErrorsNum\"\r\n  ></sz-form-errors>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzFormErrorsModule } from '../../../sz-form-errors/sz-form-errors.module';\r\nimport { SzHtmlFormLabelModule } from '../../../sz-html-form-controls/sz-html-form-label/sz-html-form-label.module';\r\nimport { SzFormInputNumberComponent } from './sz-form-input-number.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzFormInputNumberComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule,\r\n        ReactiveFormsModule,\r\n\r\n        // --- My own imports ---\r\n        SzHtmlFormLabelModule,\r\n        SzFormErrorsModule,\r\n    ],\r\n    exports: [\r\n        SzFormInputNumberComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzFormInputNumberModule {\r\n}\r\n","import { Validators } from '@angular/forms';\r\nimport { SzFormErrorDefaultMessage } from '../../sz-form-errors/model/SzFormErrorDefaultMessage';\r\nimport { SzFormErrorName } from '../../sz-form-errors/model/SzFormErrorName';\r\nimport { SzFormErrorsInterface } from '../../sz-form-errors/model/SzFormErrorsInterface';\r\nimport { SzorbaValidatorsInterface } from '../model/SzorbaValidatorsInterface';\r\nimport { SzorbaValidatorsUtil } from './szorba-validators.util';\r\n\r\nexport interface MinMaxLengthFormInterface extends SzorbaValidatorsInterface, SzFormErrorsInterface {\r\n    minLengthValidator: number;\r\n    maxLengthValidator: number;\r\n}\r\n\r\nexport class MinMaxLengthValidatorUtil {\r\n    static setValidators(formComponent: MinMaxLengthFormInterface): void {\r\n        if (formComponent.minLengthValidator) {\r\n            if (!formComponent.getErrorByName(SzFormErrorName.MinLength)) {\r\n                formComponent.addError({ name: SzFormErrorName.MinLength, message: SzFormErrorDefaultMessage.MinLength });\r\n            }\r\n            if (!SzorbaValidatorsUtil.isValidatorFn(Validators.minLength(formComponent.minLengthValidator), formComponent)) {\r\n                formComponent.validatorFns.push(Validators.minLength(formComponent.minLengthValidator));\r\n            }\r\n        }\r\n        if (formComponent.maxLengthValidator) {\r\n            if (!formComponent.getErrorByName(SzFormErrorName.MaxLength)) {\r\n                formComponent.addError({ name: SzFormErrorName.MaxLength, message: SzFormErrorDefaultMessage.MaxLength });\r\n            }\r\n            if (!SzorbaValidatorsUtil.isValidatorFn(Validators.maxLength(formComponent.minLengthValidator), formComponent)) {\r\n                formComponent.validatorFns.push(Validators.maxLength(formComponent.maxLengthValidator));\r\n            }\r\n        }\r\n    }\r\n}\r\n","import { AfterViewInit, Component, EventEmitter, HostBinding, Input, OnInit, Output } from '@angular/core';\r\nimport { ValidatorFn } from '@angular/forms';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { MinMaxLengthValidatorUtil } from '../../../validators/utils/min-max-length-validator.util';\r\nimport { SzFormInputComponent } from '../sz-form-input/sz-form-input.component';\r\n\r\n@Component({\r\n    selector: 'sz-form-input-text',\r\n    templateUrl: '../sz-form-input/sz-form-input.component.html',\r\n})\r\nexport class SzFormInputTextComponent extends SzFormInputComponent implements OnInit, AfterViewInit {\r\n\r\n    type = InputType.Text;\r\n\r\n    @Input() minLengthValidator: number = null;\r\n    @Input() maxLengthValidator: number = null;\r\n\r\n    @HostBinding('class.sz-form-input-text') classSzFormInputText = true;\r\n\r\n    @Output() valueChange = new EventEmitter<string>();\r\n\r\n    protected _value = '';\r\n\r\n    get value(): string {\r\n        return this.fControl.value;\r\n    }\r\n\r\n    @Input()\r\n    set value(val: string) {\r\n        // console.log('V', this.value, val);\r\n        this.setValueThroughFormControl(val);\r\n    }\r\n\r\n    ngOnInit(): void {\r\n        super.ngOnInit();\r\n        // console.log('ngOnInit', this);\r\n    }\r\n\r\n    ngAfterViewInit(): void {\r\n        super.ngAfterViewInit();\r\n        // console.log('ngAfterViewInit', this);\r\n    }\r\n\r\n    protected getAndSetupAllValidatorFns(): ValidatorFn[] {\r\n        const validatorFns: ValidatorFn[] = super.getAndSetupAllValidatorFns();\r\n        MinMaxLengthValidatorUtil.setValidators(this);\r\n        return validatorFns;\r\n    }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzFormErrorsModule } from '../../../sz-form-errors/sz-form-errors.module';\r\nimport { SzHtmlFormLabelModule } from '../../../sz-html-form-controls/sz-html-form-label/sz-html-form-label.module';\r\nimport { SzFormInputTextComponent } from './sz-form-input-text.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzFormInputTextComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule,\r\n        ReactiveFormsModule,\r\n\r\n        // --- My own imports ---\r\n        SzHtmlFormLabelModule,\r\n        SzFormErrorsModule,\r\n    ],\r\n    exports: [\r\n        SzFormInputTextComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzFormInputTextModule {\r\n}\r\n","import { AfterViewInit, ChangeDetectorRef, Component, HostBinding, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup, ValidatorFn } from '@angular/forms';\r\nimport { SzListComponent } from '../../sz-controls/sz-list/sz-list.component';\r\nimport { SzSelectComponent } from '../../sz-controls/sz-select/sz-select.component';\r\nimport { SzFormError } from '../../sz-form-errors/model/SzFormError';\r\nimport { SzFormErrorName } from '../../sz-form-errors/model/SzFormErrorName';\r\nimport { SzFormErrorsInterface } from '../../sz-form-errors/model/SzFormErrorsInterface';\r\nimport { OptionalInterface } from '../../validators/utils/optional-validator.util';\r\nimport { SzFormInputTextComponent } from '../inputs/sz-form-input-text/sz-form-input-text.component';\r\n\r\n@Component({\r\n    selector: 'sz-form-select',\r\n    templateUrl: './sz-form-select.component.html',\r\n})\r\nexport class SzFormSelectComponent extends SzSelectComponent implements OptionalInterface, SzFormErrorsInterface, OnInit, AfterViewInit {\r\n\r\n    @Input() fGroup = new FormGroup({});\r\n    // @Input() fControl = new FormControl();\r\n    @Input() validatorFns: ValidatorFn[] = [];\r\n    @Input() optional = false;\r\n    @Input() errors: SzFormError[] = [];\r\n    @Input() showErrorsNum = 1;\r\n    @Input() hideErrors = false;\r\n\r\n    @HostBinding('class.sz-form-select') classSzFormSelect = true;\r\n\r\n    @ViewChild(SzFormInputTextComponent, { static: true }) inputComponent: SzFormInputTextComponent;\r\n\r\n    constructor(protected cdr: ChangeDetectorRef) {\r\n        super(cdr);\r\n    }\r\n\r\n    @ViewChild(SzListComponent, { static: false }) set listComponent(list: SzListComponent) {\r\n        // console.log('*', list);\r\n        if (!list) {\r\n            return;\r\n        }\r\n        this.inputComponent.hideErrors = true;\r\n        super.listComponent = list;\r\n    }\r\n\r\n    ngOnInit(): void {\r\n        // console.log('ngOnInit', this);\r\n        super.ngOnInit();\r\n        this.cdr.detectChanges();\r\n    }\r\n\r\n    ngAfterViewInit(): void {\r\n        super.ngAfterViewInit();\r\n    }\r\n\r\n    setOptional(optional: boolean): void {\r\n        this.inputComponent.setOptional(optional);\r\n    }\r\n\r\n    addError(error: SzFormError): void {\r\n        this.inputComponent.addError(error);\r\n    }\r\n\r\n    getErrorByName(name: SzFormErrorName): SzFormError {\r\n        return this.inputComponent.getErrorByName(name);\r\n    }\r\n\r\n    removeError(error: SzFormError): void {\r\n        this.inputComponent.removeError(error);\r\n    }\r\n\r\n    removeErrorByName(name: SzFormErrorName): void {\r\n        this.inputComponent.removeErrorByName(name);\r\n    }\r\n\r\n    changeErrorMessageByName(name: SzFormErrorName, message: string): void {\r\n        this.inputComponent.changeErrorMessageByName(name, message);\r\n    }\r\n\r\n    onFocusOutOnInputNative(): void {\r\n        // console.log('onFocusOutOnInputNative', this.inputComponent.fControl);\r\n        this.inputComponent.hideErrors = false;\r\n    }\r\n\r\n    protected setShowListComponent(show: boolean): void {\r\n        // console.log('setShowListComponent', this._listComp, show);\r\n        super.setShowListComponent(show);\r\n        if (this.inputComponent.fControl.untouched || this._listComp) {\r\n            this.cdr.detectChanges();\r\n        }\r\n        if (!show) {\r\n            this.inputComponent.hideErrors = false;\r\n        }\r\n    }\r\n}\r\n","<div [formGroup]=\"fGroup\" [ngClass]=\"'select-div-container'\">\r\n  <sz-form-input-text\r\n    [placeholder]=\"placeholder\"\r\n    [label]=\"label\"\r\n    [idInput]=\"idInput\"\r\n    [value]=\"selectedField ? selectedField.label : null\"\r\n    [readOnly]=\"true\"\r\n    [disabled]=\"disabled\"\r\n    [fGroup]=\"fGroup\"\r\n\r\n    [validatorFns]=\"validatorFns\"\r\n    [optional]=\"optional\"\r\n    [errors]=\"errors\"\r\n    [showErrorsNum]=\"showErrorsNum\"\r\n    [hideErrors]=\"hideErrors\"\r\n\r\n    (focusOutNative)=\"onFocusOutOnInputNative()\"\r\n    (clickNative)=\"!disabled ? onClickOnInputNative($event) : undefined\"\r\n    (clickOnLabel)=\"idInput && !disabled ? onClickOnLabel($event) : undefined\"\r\n    (keyDownNative)=\"!disabled ? onKeyDownOnInputNative($event) : undefined\"\r\n    (keyUpNative)=\"!disabled ? onKeyUpOnInputNative($event) : undefined\"\r\n  >\r\n    <sz-icon\r\n      *ngIf=\"showListComponent; else showListTemplate\"\r\n      [type]=\"iconUp\"\r\n      [ngClass]=\"{\r\n        'sz-html-clickable': true,\r\n        'sz-icon-placeholder': !selectedField\r\n      }\"\r\n    ></sz-icon>\r\n    <ng-template #showListTemplate>\r\n      <sz-icon\r\n        [type]=\"iconDown\"\r\n        (mouseup)=\"onArrowDownMouseUp($event)\"\r\n        [ngClass]=\"{\r\n          'sz-html-clickable': true,\r\n          'sz-icon-placeholder': !selectedField\r\n        }\"\r\n      ></sz-icon>\r\n    </ng-template>\r\n  </sz-form-input-text>\r\n  <sz-list\r\n    *ngIf=\"showListComponent\"\r\n    [list]=\"list\"\r\n    [numOfSelectableItems]=\"1\"\r\n    (itemSelect)=\"onListItemSelect($event)\"\r\n    (focusout)=\"onListFocusOut($event)\"\r\n    (keydown.escape)=\"onListKeyDownEscape($event)\"\r\n\r\n    [style.top]=\"listStyleTop\"\r\n  ></sz-list>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { SzIconModule } from '@szorba/icons';\r\nimport { SzListModule } from '../../sz-controls/sz-list/sz-list.module';\r\nimport { SzFormInputTextModule } from '../inputs/sz-form-input-text/sz-form-input-text.module';\r\nimport { SzFormSelectComponent } from './sz-form-select.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzFormSelectComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule,\r\n        ReactiveFormsModule,\r\n\r\n        // --- My own imports ---\r\n        SzFormInputTextModule,\r\n        SzIconModule,\r\n        SzListModule,\r\n    ],\r\n    exports: [\r\n        SzFormSelectComponent,\r\n    ]\r\n})\r\nexport class SzFormSelectModule {\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { SzFormInputNumberModule } from './inputs/sz-form-input-number/sz-form-input-number.module';\r\nimport { SzFormInputTextModule } from './inputs/sz-form-input-text/sz-form-input-text.module';\r\nimport { SzFormInputModule } from './inputs/sz-form-input/sz-form-input.module';\r\nimport { SzFormSelectModule } from './sz-form-select/sz-form-select.module';\r\n\r\n@NgModule({\r\n    declarations: [],\r\n    imports: [\r\n        CommonModule,\r\n    ],\r\n    exports: [\r\n        // --- inputs ---\r\n        SzFormInputModule,\r\n        SzFormInputTextModule,\r\n        SzFormInputNumberModule,\r\n        SzFormSelectModule,\r\n        // --- inputs END ---\r\n    ]\r\n})\r\nexport class SzFormControlsModule {\r\n}\r\n","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { SzHtmlInputComponent } from '../sz-html-input/sz-html-input.component';\r\n\r\n@Component({\r\n    selector: 'sz-html-input-color',\r\n    templateUrl: '../sz-html-input/sz-html-input.component.html',\r\n})\r\nexport class SzHtmlInputColorComponent extends SzHtmlInputComponent {\r\n\r\n    type = InputType.Color;\r\n\r\n    @Output() valueChange = new EventEmitter<string>();\r\n\r\n    @HostBinding('class.sz-html-input-color') classSzHtmlInputColor = true;\r\n\r\n    get value(): string {\r\n        return super.value;\r\n    }\r\n\r\n    @Input()\r\n    set value(val: string) {\r\n        super.value = val;\r\n    }\r\n\r\n    onClickNative(e: MouseEvent): void { // readOnly feature works properly\r\n        if (this.readOnly) {\r\n            e.preventDefault();\r\n        } else {\r\n            super.onClickNative(e);\r\n        }\r\n    }\r\n\r\n    // TODO:\r\n    // setValueByColor(value: Color): void { // TODO: Color type\r\n    // }\r\n    //\r\n    // getValueAsColor(): Color {\r\n    //     return..\r\n    // }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzHtmlInputModule } from '../sz-html-input/sz-html-input.module';\r\nimport { SzHtmlInputColorComponent } from './sz-html-input-color.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlInputColorComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule, // --- @angular/common ---\r\n\r\n        // --- My own imports ---\r\n        SzHtmlInputModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlInputColorComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzHtmlInputColorModule {\r\n}\r\n","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { SzHtmlInputComponent } from '../sz-html-input/sz-html-input.component';\r\n\r\n@Component({\r\n    selector: 'sz-html-input-date',\r\n    templateUrl: '../sz-html-input/sz-html-input.component.html',\r\n})\r\nexport class SzHtmlInputDateComponent extends SzHtmlInputComponent {\r\n\r\n    type = InputType.Date;\r\n\r\n    @Output() valueChange = new EventEmitter<string>();\r\n\r\n    @HostBinding('class.sz-html-input-date') classSzHtmlInputDate = true;\r\n\r\n    get value(): string {\r\n        return super.value;\r\n    }\r\n\r\n    @Input()\r\n    set value(val: string) {\r\n        super.value = val;\r\n    }\r\n\r\n    setValueByDate(date: Date): void {\r\n        // console.log('setValueByDate', date, date.toString());\r\n        // console.log('setValueByDate2', date.getDate(), date.getMonth(), date.getFullYear());\r\n        this.value = date.getFullYear() + '-' + (date.getMonth() + 1).toString().padStart(2, '0') + '-' + date.getDate();\r\n    }\r\n\r\n    getValueAsDate(): Date {\r\n        return new Date(this.value);\r\n    }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzHtmlInputModule } from '../sz-html-input/sz-html-input.module';\r\nimport { SzHtmlInputDateComponent } from './sz-html-input-date.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlInputDateComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule, // --- @angular/common ---\r\n\r\n        // --- My own imports ---\r\n        SzHtmlInputModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlInputDateComponent,\r\n\r\n        DirectivesModule,\r\n    ],\r\n    providers: [\r\n        // { provide: LOCALE_ID, useValue: 'en-US' }, // replace \"en-US\" with your locale\r\n    ]\r\n})\r\nexport class SzHtmlInputDateModule {\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { SzHtmlInputDateComponent } from '../sz-html-input-date/sz-html-input-date.component';\r\n\r\n@Component({\r\n    selector: 'sz-html-input-datetime-local',\r\n    templateUrl: '../sz-html-input/sz-html-input.component.html',\r\n})\r\nexport class SzHtmlInputDatetimeLocalComponent extends SzHtmlInputDateComponent {\r\n\r\n    type = InputType.DateTimeLocal;\r\n    classSzHtmlInputDate = false;\r\n\r\n    @HostBinding('class.sz-html-input-datetime-local') classSzHtmlInputDatetimeLocal = true;\r\n\r\n    protected getFormat(): string { // override\r\n        return 'yyyy-MM-ddTHH:mm';\r\n    }\r\n}\r\n","import { CommonModule, DatePipe } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzHtmlInputModule } from '../sz-html-input/sz-html-input.module';\r\nimport { SzHtmlInputDatetimeLocalComponent } from './sz-html-input-datetime-local.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlInputDatetimeLocalComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule, // --- @angular/common ---\r\n\r\n        // --- My own imports ---\r\n        SzHtmlInputModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlInputDatetimeLocalComponent,\r\n\r\n        DirectivesModule,\r\n    ],\r\n    providers: [DatePipe]\r\n})\r\nexport class SzHtmlInputDatetimeLocalModule {\r\n}\r\n","import { Component, HostBinding, Input, OnInit } from '@angular/core';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { SzHtmlInputComponent } from '../sz-html-input/sz-html-input.component';\r\n\r\n@Component({\r\n    selector: 'sz-html-input-email',\r\n    templateUrl: '../sz-html-input/sz-html-input.component.html',\r\n})\r\nexport class SzHtmlInputEmailComponent extends SzHtmlInputComponent implements OnInit {\r\n\r\n    type = InputType.Email;\r\n\r\n    @HostBinding('class.sz-html-input-email') classSzHtmlInputEmail = true;\r\n\r\n    ngOnInit() {\r\n        // TODO: check value as valid email format\r\n        super.ngOnInit();\r\n    }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzHtmlInputModule } from '../sz-html-input/sz-html-input.module';\r\nimport { SzHtmlInputEmailComponent } from './sz-html-input-email.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlInputEmailComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule, // --- @angular/common ---\r\n\r\n        // --- My own imports ---\r\n        SzHtmlInputModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlInputEmailComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzHtmlInputEmailModule {\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { SzHtmlInputDateComponent } from '../sz-html-input-date/sz-html-input-date.component';\r\n\r\n@Component({\r\n    selector: 'sz-html-input-month',\r\n    templateUrl: '../sz-html-input/sz-html-input.component.html',\r\n})\r\nexport class SzHtmlInputMonthComponent extends SzHtmlInputDateComponent {\r\n\r\n    type = InputType.Month;\r\n    classSzHtmlInputDate = false;\r\n\r\n    @HostBinding('class.sz-html-input-month') classSzHtmlInputMonth = true;\r\n\r\n    protected getFormat(): string { // override\r\n        return 'yyyy-MM';\r\n    }\r\n}\r\n","import { CommonModule, DatePipe } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzHtmlInputModule } from '../sz-html-input/sz-html-input.module';\r\nimport { SzHtmlInputMonthComponent } from './sz-html-input-month.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlInputMonthComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule, // --- @angular/common ---\r\n\r\n        // --- My own imports ---\r\n        SzHtmlInputModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlInputMonthComponent,\r\n\r\n        DirectivesModule,\r\n    ],\r\n    providers: [DatePipe]\r\n})\r\nexport class SzHtmlInputMonthModule {\r\n}\r\n","import { AfterViewInit, Component, EventEmitter, HostBinding, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { InputNumberUtil } from '../../../utils/input-number.util';\r\nimport { SzHtmlInputComponent } from '../sz-html-input/sz-html-input.component';\r\nimport { SzHtmlInputNumberConfig } from './model/SzHtmlInputNumberConfig';\r\n\r\n@Component({\r\n    selector: 'sz-html-input-number',\r\n    templateUrl: './sz-html-input-number.component.html',\r\n})\r\nexport class SzHtmlInputNumberComponent extends SzHtmlInputComponent implements SzHtmlInputNumberConfig, OnInit, AfterViewInit, OnChanges {\r\n\r\n    type = InputType.Number;\r\n\r\n    @Input() step = 1;\r\n\r\n    @Output() valueChange = new EventEmitter<number>();\r\n\r\n    @HostBinding('class.sz-html-input-number') classSzhtmlInputNumber = true;\r\n\r\n    private _min: number;\r\n    get min(): number {\r\n        return this._min;\r\n    }\r\n\r\n    @Input()\r\n    set min(value: number) {\r\n        this._min = value;\r\n        this.value = this.value;\r\n    }\r\n\r\n    private _max: number;\r\n    get max(): number {\r\n        return this._max;\r\n    }\r\n\r\n    @Input()\r\n    set max(value: number) {\r\n        this._max = value;\r\n        this.value = this.value;\r\n    }\r\n\r\n    protected _value: number = null;\r\n    get value(): number {\r\n        return this._value;\r\n    }\r\n\r\n    @Input()\r\n    set value(val: number) {\r\n        // console.log('val', val);\r\n        const prevValue = this._value;\r\n        if (val === null) {\r\n            this._value = null;\r\n            // this.getNativeInputElement().value = null; // kikommentezve, hogy be lehessen írni 'e' stb. karaktert is\r\n            if (prevValue !== this._value) {\r\n                this.valueChange.emit(null);\r\n            }\r\n            return;\r\n        } else if (val === undefined) { // így lehet reszetelni az inputot\r\n            this._value = null;\r\n            this.getNativeInputElement().value = null;\r\n            if (prevValue !== this._value) {\r\n                this.valueChange.emit(undefined);\r\n            }\r\n            return;\r\n        }\r\n        this._value = InputNumberUtil.getValueAfterCheckMinMax(val, this);\r\n        this.getNativeInputElement().value = this._value.toString(); // i need to bind manually !!!\r\n        if (prevValue !== this._value) {\r\n            this.valueChange.emit(this._value);\r\n        }\r\n    }\r\n\r\n    ngOnInit(): void {\r\n        // console.log('ngOnInit', this);\r\n        InputNumberUtil.checkAndConvertTypeByNumberProp(this.value, 'value');\r\n        InputNumberUtil.checkAndConvertTypeByNumberProp(this.min, 'min');\r\n        InputNumberUtil.checkAndConvertTypeByNumberProp(this.max, 'max');\r\n        super.ngOnInit();\r\n    }\r\n\r\n    ngAfterViewInit(): void {\r\n        super.ngAfterViewInit();\r\n        // csak itt hívom meg! prog futás közben, ha módosítom az értéket, akkor nem tudom kitörölni a removeAttribute()-al! null marad az értéke\r\n        this.setupMin();\r\n        this.setupMax();\r\n    }\r\n\r\n    ngOnChanges(changes: SimpleChanges): void {\r\n        super.ngOnChanges(changes);\r\n        if (changes.min && !changes.min.firstChange) {\r\n            this.value = this.value;\r\n        }\r\n        if (changes.max && !changes.max.firstChange) {\r\n            this.value = this.value;\r\n        }\r\n    }\r\n\r\n    protected inputEvent(e: InputEvent): void {\r\n        // console.log('inputEvent', e, (e.target as HTMLInputElement).value, this.getNativeInputElement().value);\r\n        InputNumberUtil.getNativeValueAndSetValueFromInputEvent(e, this);\r\n    }\r\n\r\n    private setupMin(): void {\r\n        // --- for valid HTML document ---\r\n        if (this.min === undefined || this.min === null) {\r\n            this.elementRef.nativeElement.removeAttribute('min');\r\n        }\r\n    }\r\n\r\n    private setupMax(): void {\r\n        // --- for valid HTML document ---\r\n        if (this.max === undefined || this.max === null) {\r\n            this.elementRef.nativeElement.removeAttribute('max');\r\n        }\r\n    }\r\n}\r\n","<!-- all the same as sz-html-input.component.html except the 'min', 'max', 'step' Input() added AND the value is not bind here(in .ts manually) -->\r\n<div [ngClass]=\"[\r\n    'label-with-element-container',\r\n    labelDisplay\r\n  ]\"\r\n>\r\n  <sz-html-label\r\n    *ngIf=\"label\"\r\n    [text]=\"label\"\r\n    [forLabel]=\"idInput\"\r\n    [disabled]=\"disabled\"\r\n\r\n    (clickOnLabel)=\"onClickOnLabel($event)\"\r\n  ></sz-html-label>\r\n  <input\r\n    #elementRef\r\n    [id]=\"idInput\"\r\n    [type]=\"type\"\r\n    [placeholder]=\"placeholder\"\r\n    [min]=\"min\"\r\n    [max]=\"max\"\r\n    [step]=\"step\"\r\n    (input)=\"onInputNative($event)\"\r\n    (click)=\"onClickNative($event)\"\r\n    (keyup)=\"onKeyUpNative($event)\"\r\n\r\n    [ngClass]=\"{\r\n      'input-native': true\r\n    }\"\r\n    [style.width]=\"widthInput ? widthInput : ''\"\r\n    [style.max-width]=\"maxWidthInput ? maxWidthInput : ''\"\r\n  >\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzHtmlInputModule } from '../sz-html-input/sz-html-input.module';\r\nimport { SzHtmlInputNumberComponent } from './sz-html-input-number.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlInputNumberComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule, // --- @angular/common ---\r\n\r\n        // --- My own imports ---\r\n        SzHtmlInputModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlInputNumberComponent,\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzHtmlInputNumberModule {\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { SzHtmlInputComponent } from '../sz-html-input/sz-html-input.component';\r\n\r\n@Component({\r\n    selector: 'sz-html-input-password',\r\n    templateUrl: '../sz-html-input/sz-html-input.component.html',\r\n})\r\nexport class SzHtmlInputPasswordComponent extends SzHtmlInputComponent {\r\n\r\n    type = InputType.Password;\r\n\r\n    @HostBinding('class.sz-html-input-password') classSzHtmlInputPassword = true;\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzHtmlInputModule } from '../sz-html-input/sz-html-input.module';\r\nimport { SzHtmlInputPasswordComponent } from './sz-html-input-password.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlInputPasswordComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule, // --- @angular/common ---\r\n\r\n        // --- My own imports ---\r\n        SzHtmlInputModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlInputPasswordComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzHtmlInputPasswordModule {\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { SzHtmlInputComponent } from '../sz-html-input/sz-html-input.component';\r\n\r\n@Component({\r\n    selector: 'sz-html-input-search',\r\n    templateUrl: '../sz-html-input/sz-html-input.component.html',\r\n})\r\nexport class SzHtmlInputSearchComponent extends SzHtmlInputComponent {\r\n\r\n    type = InputType.Search;\r\n\r\n    @HostBinding('class.sz-html-input-search') classSzHtmlInputSearch = true;\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzHtmlInputModule } from '../sz-html-input/sz-html-input.module';\r\nimport { SzHtmlInputSearchComponent } from './sz-html-input-search.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlInputSearchComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule, // --- @angular/common ---\r\n\r\n        // --- My own imports ---\r\n        SzHtmlInputModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlInputSearchComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzHtmlInputSearchModule {\r\n\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { SzHtmlInputComponent } from '../sz-html-input/sz-html-input.component';\r\n\r\n@Component({\r\n    selector: 'sz-html-input-tel',\r\n    templateUrl: '../sz-html-input/sz-html-input.component.html',\r\n})\r\nexport class SzHtmlInputTelComponent extends SzHtmlInputComponent {\r\n\r\n    type = InputType.Tel;\r\n\r\n    @HostBinding('class.sz-html-input-tel') classSzHtmlInputTel = true;\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzHtmlInputModule } from '../sz-html-input/sz-html-input.module';\r\nimport { SzHtmlInputTelComponent } from './sz-html-input-tel.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlInputTelComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule, // --- @angular/common ---\r\n\r\n        // --- My own imports ---\r\n        SzHtmlInputModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlInputTelComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzHtmlInputTelModule {\r\n}\r\n","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { SzHtmlInputComponent } from '../sz-html-input/sz-html-input.component';\r\n\r\n@Component({\r\n    selector: 'sz-html-input-text',\r\n    templateUrl: '../sz-html-input/sz-html-input.component.html',\r\n})\r\nexport class SzHtmlInputTextComponent extends SzHtmlInputComponent {\r\n\r\n    type = InputType.Text;\r\n\r\n    @Output() valueChange = new EventEmitter<string>();\r\n\r\n    @HostBinding('class.sz-html-input-text') classSzHtmlInputText = true;\r\n\r\n    get value(): string {\r\n        return super.value;\r\n    }\r\n\r\n    @Input()\r\n    set value(val: string) {\r\n        super.value = val;\r\n    }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzHtmlInputModule } from '../sz-html-input/sz-html-input.module';\r\nimport { SzHtmlInputTextComponent } from './sz-html-input-text.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlInputTextComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule, // --- @angular/common ---\r\n\r\n        // --- My own imports ---\r\n        SzHtmlInputModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlInputTextComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzHtmlInputTextModule {\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { SzHtmlInputComponent } from '../sz-html-input/sz-html-input.component';\r\n\r\n@Component({\r\n    selector: 'sz-html-input-url',\r\n    templateUrl: '../sz-html-input/sz-html-input.component.html',\r\n})\r\nexport class SzHtmlInputUrlComponent extends SzHtmlInputComponent {\r\n\r\n    type = InputType.Url;\r\n\r\n    @HostBinding('class.sz-html-input-url') classSzHtmlInputUrl = true;\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzHtmlInputModule } from '../sz-html-input/sz-html-input.module';\r\nimport { SzHtmlInputUrlComponent } from './sz-html-input-url.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlInputUrlComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule, // --- @angular/common ---\r\n\r\n        // --- My own imports ---\r\n        SzHtmlInputModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlInputUrlComponent,\r\n\r\n        DirectivesModule\r\n    ]\r\n})\r\nexport class SzHtmlInputUrlModule {\r\n}\r\n","import { Component, HostBinding, Input, QueryList, ViewChildren } from '@angular/core';\r\nimport { SzHtmlInputEvent } from '../model/SzHtmlInputEvent';\r\nimport { SzHtmlLabelDisplay } from '../model/SzHtmlLabelDisplay';\r\nimport { SzHtmlRadioGroupConfig } from './model/SzHtmlRadioGroupConfig';\r\nimport { SzHtmlRadioListFieldDef } from './model/SzHtmlRadioListFieldDef';\r\nimport { SzHtmlInputRadioComponent } from '../inputs/sz-html-input-radio/sz-html-input-radio.component';\r\n\r\n@Component({\r\n    selector: 'sz-html-radio-group',\r\n    templateUrl: './sz-html-radio-group.component.html',\r\n})\r\nexport class SzHtmlRadioGroupComponent implements SzHtmlRadioGroupConfig {\r\n\r\n    @Input() list: SzHtmlRadioListFieldDef[] = [];\r\n    @Input() radiosName: string;\r\n    @Input() label: string;\r\n    @Input() labelDisplay = SzHtmlLabelDisplay.Column;\r\n\r\n    @HostBinding('class.sz-html-radio-group') classSzHtmlRadioGroup = true;\r\n\r\n    @ViewChildren(SzHtmlInputRadioComponent) radios: QueryList<SzHtmlInputRadioComponent>;\r\n\r\n    private selectedRadio: SzHtmlInputRadioComponent;\r\n\r\n    onInput(e: SzHtmlInputEvent): void {\r\n        // console.log('onInput', e);\r\n        e.event.stopPropagation();\r\n        const inputOnRadio: SzHtmlInputRadioComponent = e.component as SzHtmlInputRadioComponent;\r\n        this.radios.forEach((radio: SzHtmlInputRadioComponent) => {\r\n            if (inputOnRadio !== radio) {\r\n                radio.checked = false;\r\n            }\r\n        });\r\n        this.selectedRadio = inputOnRadio;\r\n    }\r\n\r\n    getValue(): any {\r\n        if (this.selectedRadio) {\r\n            return this.selectedRadio.getValue();\r\n        }\r\n    }\r\n}\r\n","<div\r\n  [ngClass]=\"[\r\n    'radio-group-container',\r\n    labelDisplay\r\n  ]\"\r\n>\r\n  <sz-html-label\r\n    *ngIf=\"label\"\r\n    [text]=\"label\"\r\n  ></sz-html-label>\r\n  <div [ngClass]=\"'radios-container'\">\r\n    <sz-html-input-radio\r\n      *ngFor=\"let radio of list; let idx = index\"\r\n      [label]=\"radio.label\"\r\n      [idInput]=\"radio.label ? radiosName + '_' + idx : ''\"\r\n      [name]=\"radiosName\"\r\n      [value]=\"radio.value\"\r\n\r\n      (inputNative)=\"onInput($event)\"\r\n    ></sz-html-input-radio>\r\n  </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { DirectivesModule } from '../../directives/directives.module';\r\nimport { SzHtmlInputRadioModule } from '../inputs/sz-html-input-radio/sz-html-input-radio.module';\r\nimport { SzHtmlLabelModule } from '../sz-html-label/sz-html-label.module';\r\nimport { SzHtmlRadioGroupComponent } from './sz-html-radio-group.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlRadioGroupComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule,\r\n\r\n        // --- My own imports ---\r\n        SzHtmlInputRadioModule,\r\n        SzHtmlLabelModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlRadioGroupComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzHtmlRadioGroupModule {\r\n}\r\n","import { AfterViewInit, Component, ElementRef, EventEmitter, HostBinding, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { DisabledInterface, DisabledUtil } from '../../utils/disabled.util';\r\nimport { SzHtmlLabelDisplay } from '../model/SzHtmlLabelDisplay';\r\nimport { SzHtmlLabelClickEvent } from '../sz-html-label/model/SzHtmlLabelClickEvent';\r\nimport { SzHtmlSelectConfig } from './model/SzHtmlSelectConfig';\r\nimport { SzHtmlSelectListFieldDef } from './model/SzHtmlSelectListFieldDef';\r\n\r\n@Component({\r\n    selector: 'sz-html-select',\r\n    templateUrl: './sz-html-select.component.html',\r\n})\r\nexport class SzHtmlSelectComponent implements SzHtmlSelectConfig, DisabledInterface, OnInit, AfterViewInit {\r\n\r\n    @Input() list: SzHtmlSelectListFieldDef[] = [];\r\n    @Input() placeholder = 'Placeholder';\r\n    @Input() label: string;\r\n    @Input() labelDisplay = SzHtmlLabelDisplay.Column;\r\n    @Input() idSelect = '';\r\n    @Input() defaultValueByIndex: number;\r\n    @Input() disabled = false;\r\n\r\n    @Output() clickOnLabel = new EventEmitter<SzHtmlLabelClickEvent>();\r\n    @Output() changeOnSelect: EventEmitter<Event> = new EventEmitter();\r\n\r\n    @HostBinding('class.sz-html-select') classSzHtmlSelect = true;\r\n\r\n    @ViewChild('placeholderRef', { static: true }) placeholderRef: ElementRef;\r\n    @ViewChild('elementRef', { static: true }) elementRef: ElementRef;\r\n\r\n    protected _value: string | SzHtmlSelectListFieldDef = ''; // string -> placeholder {\r\n    get value(): string | SzHtmlSelectListFieldDef {\r\n        return this._value;\r\n    }\r\n\r\n    @Input()\r\n    set value(val: string | SzHtmlSelectListFieldDef) {\r\n        this._value = val;\r\n    }\r\n\r\n    ngOnInit(): void {\r\n        this.initDisabled();\r\n        if (this.defaultValueByIndex >= 0) {\r\n            this.value = this.list[this.defaultValueByIndex];\r\n        }\r\n    }\r\n\r\n    ngAfterViewInit(): void {\r\n        if (!this.idSelect) {\r\n            const nativeSelectElement: HTMLSelectElement = this.elementRef.nativeElement;\r\n            nativeSelectElement.removeAttribute('id');\r\n        }\r\n    }\r\n\r\n    onChangeOnSelect(e: Event): void {\r\n        // console.log('onChange:', this.getValue());\r\n        this.changeOnSelect.emit(e);\r\n    }\r\n\r\n    onClickOnLabel(e: SzHtmlLabelClickEvent): void {\r\n        // console.log('onClickOnLabel:', e, this);\r\n        this.clickOnLabel.emit(e);\r\n    }\r\n\r\n    protected initDisabled(): void {\r\n        DisabledUtil.setupProperty(this.disabled, this);\r\n    }\r\n}\r\n","<div\r\n  [ngClass]=\"[\r\n    'label-with-element-container',\r\n    labelDisplay\r\n  ]\"\r\n>\r\n  <sz-html-label\r\n    *ngIf=\"label\"\r\n    [text]=\"label\"\r\n    [forLabel]=\"idSelect\"\r\n    [disabled]=\"disabled\"\r\n\r\n    (clickOnLabel)=\"onClickOnLabel($event)\"\r\n  ></sz-html-label>\r\n  <select\r\n    #elementRef\r\n    [id]=\"idSelect\"\r\n\r\n    [(ngModel)]=\"value\"\r\n    (change)=\"onChangeOnSelect($event)\"\r\n\r\n    [ngClass]=\"{\r\n      'select-native': true,\r\n      'select-no-value': !value\r\n    }\"\r\n  >\r\n    <option #placeholderRef value=\"\" disabled selected [ngClass]=\"'select-option-placeholder'\">{{ placeholder }}</option>\r\n    <ng-container *ngFor=\"let listElem of list\">\r\n      <option [ngValue]=\"listElem\" [ngClass]=\"'select-option'\">\r\n        {{ listElem.label }}\r\n      </option>\r\n    </ng-container>\r\n  </select>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { DirectivesModule } from '../../directives/directives.module';\r\nimport { SzHtmlLabelModule } from '../sz-html-label/sz-html-label.module';\r\nimport { SzHtmlSelectComponent } from './sz-html-select.component';\r\n\r\n@NgModule({ // @angular/core\r\n    declarations: [\r\n        SzHtmlSelectComponent\r\n    ],\r\n    imports: [\r\n        CommonModule, // --- @angular/common ---\r\n        FormsModule, // --- @angular/forms --- (to [(ngModel)] and [ngValue] in the template)\r\n\r\n        // --- My own imports ---\r\n        SzHtmlLabelModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlSelectComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzHtmlSelectModule {\r\n}\r\n","import { AfterViewInit, Component, ElementRef, EventEmitter, HostBinding, Input, OnChanges, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { DisabledInterface, DisabledUtil } from '../../utils/disabled.util';\r\nimport { ReadOnlyInterface, ReadOnlyUtil } from '../../utils/readonly.util';\r\nimport { SzHtmlLabelDisplay } from '../model/SzHtmlLabelDisplay';\r\nimport { SzHtmlLabelClickEvent } from '../sz-html-label/model/SzHtmlLabelClickEvent';\r\nimport { SzHtmlTextareaConfig } from './model/SzHtmlTextareaConfig';\r\nimport { SzHtmlTextareaInputEvent } from './model/SzHtmlTextareaInputEvent';\r\n\r\n@Component({\r\n    selector: 'sz-html-textarea',\r\n    templateUrl: './sz-html-textarea.component.html',\r\n})\r\nexport class SzHtmlTextareaComponent implements SzHtmlTextareaConfig, DisabledInterface, ReadOnlyInterface, AfterViewInit, OnChanges {\r\n\r\n    @Input() idTextarea = '';\r\n    @Input() placeholder = 'Placeholder';\r\n    @Input() label: string;\r\n    @Input() labelDisplay = SzHtmlLabelDisplay.Column;\r\n    @Input() rows = 2;\r\n    @Input() widthTextarea: string;\r\n\r\n    @Output() clickOnLabel = new EventEmitter<SzHtmlLabelClickEvent>();\r\n    @Output() inputNative = new EventEmitter<SzHtmlTextareaInputEvent>();\r\n    @Output() clickNative = new EventEmitter<MouseEvent>();\r\n\r\n    @HostBinding('class.sz-html-textarea') classSzHtmlTextarea = true;\r\n    @HostBinding('class.sz-html-textarea-resize') classSzHtmlTextareaResize = false;\r\n\r\n    @ViewChild('elementRef', { static: true }) elementRef: ElementRef;\r\n\r\n    protected _value = '';\r\n    get value(): string {\r\n        return this._value;\r\n    }\r\n\r\n    @Input()\r\n    set value(val: string) {\r\n        if (this._value === val) {\r\n            return;\r\n        }\r\n        this._value = val;\r\n    }\r\n\r\n    get resize(): boolean {\r\n        return this.classSzHtmlTextareaResize;\r\n    }\r\n\r\n    @Input()\r\n    set resize(resize: boolean) {\r\n        this.classSzHtmlTextareaResize = resize;\r\n    }\r\n\r\n    protected _disabled = false;\r\n    get disabled(): boolean {\r\n        return this._disabled;\r\n    }\r\n\r\n    @Input()\r\n    set disabled(disabled: boolean) {\r\n        // console.log('disabled', this);\r\n        if (this._disabled === disabled) {\r\n            return;\r\n        }\r\n        this._disabled = disabled;\r\n        this.setupDisabled();\r\n    }\r\n\r\n    protected _readOnly = false;\r\n    get readOnly(): boolean {\r\n        return this._readOnly;\r\n    }\r\n\r\n    @Input()\r\n    set readOnly(readOnly: boolean) {\r\n        // console.log('readOnly', this);\r\n        if (this._readOnly === readOnly) {\r\n            return;\r\n        }\r\n        this._readOnly = readOnly;\r\n        this.setupReadOnly();\r\n    }\r\n\r\n    ngAfterViewInit(): void {\r\n        if (!this.idTextarea) {\r\n            const nativeTextareaElement: HTMLTextAreaElement = this.elementRef.nativeElement;\r\n            nativeTextareaElement.removeAttribute('id');\r\n        }\r\n    }\r\n\r\n    ngOnChanges(changes: SimpleChanges): void {\r\n        // console.log('ngOnChanges', changes);\r\n        if (changes.disabled) {\r\n            this.setupDisabled();\r\n        }\r\n        if (changes.readOnly) {\r\n            this.setupReadOnly();\r\n        }\r\n    }\r\n\r\n    onClickOnLabel(e: SzHtmlLabelClickEvent): void {\r\n        // console.log('onClickOnLabel:', e, this);\r\n        this.clickOnLabel.emit(e);\r\n    }\r\n\r\n    onInputNative(e: Event): void { // Event because in the template is bugging\r\n        // console.log('onInput:', e);\r\n        this.inputEvent(e as InputEvent);\r\n        this.inputNative.emit({ event: e, component: this });\r\n    }\r\n\r\n    onClickNative(e: MouseEvent): void {\r\n        this.clickNative.emit(e);\r\n    }\r\n\r\n    protected inputEvent(e: InputEvent): void {\r\n        // console.log(e, ' ::: ', (e.target as HTMLTextAreaElement));\r\n        this.value = (e.target as HTMLTextAreaElement).value;\r\n    }\r\n\r\n    protected setupReadOnly(): void {\r\n        ReadOnlyUtil.setupProperty(this.readOnly, this);\r\n    }\r\n\r\n    protected setupDisabled(): void {\r\n        DisabledUtil.setupProperty(this.disabled, this);\r\n    }\r\n}\r\n","<div\r\n  [ngClass]=\"[\r\n    'label-with-element-container',\r\n    labelDisplay\r\n  ]\"\r\n>\r\n  <sz-html-label\r\n    *ngIf=\"label\"\r\n    [text]=\"label\"\r\n    [forLabel]=\"idTextarea\"\r\n    [disabled]=\"disabled\"\r\n\r\n    (clickOnLabel)=\"onClickOnLabel($event)\"\r\n  ></sz-html-label>\r\n  <textarea\r\n    #elementRef\r\n    [id]=\"idTextarea\"\r\n    [placeholder]=\"placeholder\"\r\n    [value]=\"value\"\r\n    [rows]=\"rows\"\r\n    (input)=\"onInputNative($event)\"\r\n    (click)=\"onClickNative($event)\"\r\n\r\n    [ngClass]=\"{\r\n      'textarea-native': true\r\n    }\"\r\n    [style.width]=\"widthTextarea ? widthTextarea : ''\"\r\n  ></textarea>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { DirectivesModule } from '../../directives/directives.module';\r\nimport { SzHtmlLabelModule } from '../sz-html-label/sz-html-label.module';\r\nimport { SzHtmlTextareaComponent } from './sz-html-textarea.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlTextareaComponent\r\n    ],\r\n    imports: [\r\n        CommonModule,\r\n\r\n        // --- My own imports ---\r\n        SzHtmlLabelModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlTextareaComponent,\r\n\r\n        DirectivesModule\r\n    ]\r\n})\r\nexport class SzHtmlTextareaModule {\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { SzHtmlInputCheckboxModule } from './inputs/sz-html-input-checkbox/sz-html-input-checkbox.module';\r\nimport { SzHtmlInputColorModule } from './inputs/sz-html-input-color/sz-html-input-color.module';\r\nimport { SzHtmlInputDateModule } from './inputs/sz-html-input-date/sz-html-input-date.module';\r\nimport { SzHtmlInputDatetimeLocalModule } from './inputs/sz-html-input-datetime-local/sz-html-input-datetime-local.module';\r\nimport { SzHtmlInputEmailModule } from './inputs/sz-html-input-email/sz-html-input-email.module';\r\nimport { SzHtmlInputMonthModule } from './inputs/sz-html-input-month/sz-html-input-month.module';\r\nimport { SzHtmlInputNumberModule } from './inputs/sz-html-input-number/sz-html-input-number.module';\r\nimport { SzHtmlInputPasswordModule } from './inputs/sz-html-input-password/sz-html-input-password.module';\r\nimport { SzHtmlInputRadioModule } from './inputs/sz-html-input-radio/sz-html-input-radio.module';\r\nimport { SzHtmlInputSearchModule } from './inputs/sz-html-input-search/sz-html-input-search.module';\r\nimport { SzHtmlInputTelModule } from './inputs/sz-html-input-tel/sz-html-input-tel.module';\r\nimport { SzHtmlInputTextModule } from './inputs/sz-html-input-text/sz-html-input-text.module';\r\nimport { SzHtmlInputUrlModule } from './inputs/sz-html-input-url/sz-html-input-url.module';\r\nimport { SzHtmlLabelModule } from './sz-html-label/sz-html-label.module';\r\nimport { SzHtmlRadioGroupModule } from './sz-html-radio-group/sz-html-radio-group.module';\r\nimport { SzHtmlSelectModule } from './sz-html-select/sz-html-select.module';\r\nimport { SzHtmlTextareaModule } from './sz-html-textarea/sz-html-textarea.module';\r\n\r\n@NgModule({ // --- @angular/core ---\r\n    declarations: [],\r\n    imports: [\r\n        CommonModule, // --- @angular/common ---\r\n\r\n        SzHtmlLabelModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlLabelModule,\r\n\r\n        SzHtmlInputCheckboxModule,\r\n        SzHtmlInputColorModule,\r\n        SzHtmlInputDateModule,\r\n        SzHtmlInputDatetimeLocalModule,\r\n        SzHtmlInputEmailModule,\r\n        SzHtmlInputMonthModule,\r\n        SzHtmlInputNumberModule,\r\n        SzHtmlInputPasswordModule,\r\n        SzHtmlInputRadioModule,\r\n        SzHtmlInputSearchModule,\r\n        SzHtmlInputTelModule,\r\n        SzHtmlInputTextModule,\r\n        SzHtmlInputUrlModule,\r\n        SzHtmlRadioGroupModule,\r\n        SzHtmlSelectModule,\r\n        SzHtmlTextareaModule,\r\n    ]\r\n})\r\nexport class SzHtmlControlsModule {\r\n}\r\n","import { Component, HostBinding, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, ValidatorFn } from '@angular/forms';\r\nimport { RandomUtil } from '@szorba/utils';\r\nimport { SzFormError } from '../../../sz-form-errors/model/SzFormError';\r\nimport { SzFormErrorName } from '../../../sz-form-errors/model/SzFormErrorName';\r\nimport { SzFormErrorsUtil } from '../../../sz-form-errors/sz-form-errors.util';\r\nimport { SzHtmlInputComponent } from '../../../sz-html-controls/inputs/sz-html-input/sz-html-input.component';\r\nimport { DisabledFormInterface, DisabledUtil } from '../../../utils/disabled.util';\r\nimport { OptionalFormInterface, OptionalValidatorUtil } from '../../../validators/utils/optional-validator.util';\r\nimport { SzorbaValidatorsUtil } from '../../../validators/utils/szorba-validators.util';\r\nimport { SzHtmlFormInputConfig } from './model/SzHtmlFormInputConfig';\r\n\r\n@Component({\r\n    selector: 'sz-html-form-input',\r\n    templateUrl: './sz-html-form-input.component.html'\r\n})\r\nexport class SzHtmlFormInputComponent extends SzHtmlInputComponent implements SzHtmlFormInputConfig, DisabledFormInterface, OptionalFormInterface,\r\n    OnInit, OnDestroy {\r\n\r\n    fControlName: string; // automatically generated from idInput\r\n\r\n    // 'form' helyett 'f' használata, hogy ne ugyanaz a property név legyen(formGroup, formControl), mert ez már Angular foglalt(feature) ->\r\n    // -> és ha egyezés van, akkor BUG-os !\r\n    @Input() fGroup = new FormGroup({});\r\n    @Input() fControl = new FormControl();\r\n    @Input() errors: SzFormError[] = [];\r\n    @Input() showErrorsNum = 1;\r\n    @Input() hideErrors = false;\r\n    @Input() validatorFns: ValidatorFn[] = [];\r\n    @Input() optional = false;\r\n\r\n    @HostBinding('class.sz-html-form-input') classSzHtmlFormInput = true;\r\n\r\n    get value(): any {\r\n        return this.fControl.value;\r\n    }\r\n\r\n    @Input()\r\n    set value(val: any) {\r\n        this.setValueThroughFormControl(val);\r\n    }\r\n\r\n    ngOnInit(): void {\r\n        // console.log('ngOnInit', this);\r\n        if (this.idInput) {\r\n            this.fControlName = this.idInput + 'ControlName';\r\n        } else if (!this.disabled) {\r\n            console.warn('There is no idInput, so no formControlName! Please enter the idInput! but I made a random one to works properly! ', this);\r\n            const possibleRandomChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\r\n            this.fControlName = RandomUtil.getText(possibleRandomChars, 25);\r\n        }\r\n        super.ngOnInit();\r\n        SzorbaValidatorsUtil.initControl(this);\r\n        this.setupValidators();\r\n        this.fControl.valueChanges.subscribe(value => {\r\n            this.valueChange.emit(value);\r\n        });\r\n        this.fControl.setValue(this._value);\r\n    }\r\n\r\n    ngOnDestroy(): void {\r\n        this.fGroup.removeControl(this.fControlName);\r\n    }\r\n\r\n    setOptional(optional: boolean): void {\r\n        OptionalValidatorUtil.setupProperty(optional, this);\r\n    }\r\n\r\n    setFormGroup(fGroup: FormGroup): void {\r\n        this.fGroup = fGroup;\r\n        SzorbaValidatorsUtil.initControl(this);\r\n    }\r\n\r\n    clearValidators(): void {\r\n        this.fControl.clearValidators();\r\n        this.validatorFns = [];\r\n    }\r\n\r\n    updateValueAndValidity(): void {\r\n        this.fControl.updateValueAndValidity();\r\n    }\r\n\r\n    addError(error: SzFormError): void {\r\n        SzFormErrorsUtil.addError(error, this);\r\n    }\r\n\r\n    getErrorByName(name: SzFormErrorName): SzFormError {\r\n        return SzFormErrorsUtil.getErrorByName(name, this);\r\n    }\r\n\r\n    removeError(error: SzFormError): void {\r\n        SzFormErrorsUtil.removeError(error, this);\r\n    }\r\n\r\n    removeErrorByName(name: SzFormErrorName): void {\r\n        SzFormErrorsUtil.removeErrorByName(name, this);\r\n    }\r\n\r\n    changeErrorMessageByName(name: SzFormErrorName, message: string): void {\r\n        SzFormErrorsUtil.changeErrorMessageByName(name, message, this);\r\n    }\r\n\r\n    markAsUntouched(): void {\r\n        this.fControl.markAsUntouched();\r\n    }\r\n\r\n    protected inputEvent(e: InputEvent): void {\r\n        // console.log(e, ' ::: ', (e.event.target as any).value);\r\n        this.setValueThroughFormControl((e.target as HTMLInputElement).value);\r\n    }\r\n\r\n    protected setupValidators(): void {\r\n        this.validatorFns = this.getAndSetupAllValidatorFns();\r\n        SzorbaValidatorsUtil.setValidators(this.validatorFns, this);\r\n    }\r\n\r\n    protected getAndSetupAllValidatorFns(): ValidatorFn[] {\r\n        this.setOptional(this.optional);\r\n        return this.validatorFns;\r\n    }\r\n\r\n    protected setValueThroughFormControl(value: any): void {\r\n        this._value = value;\r\n        this.fControl.setValue(value);\r\n    }\r\n\r\n    protected setupDisabled(): void {\r\n        DisabledUtil.setupPropertyForm(this.disabled, this);\r\n    }\r\n}\r\n","<div\r\n  [formGroup]=\"fGroup\"\r\n  [ngClass]=\"[\r\n    'label-with-element-container',\r\n    labelDisplay ? labelDisplay : ''\r\n  ]\"\r\n>\r\n  <sz-html-form-label\r\n    *ngIf=\"label\"\r\n    [text]=\"label\"\r\n    [forLabel]=\"idInput\"\r\n    [disabled]=\"disabled\"\r\n    [optional]=\"optional\"\r\n\r\n    (clickOnLabel)=\"onClickOnLabel($event)\"\r\n  ></sz-html-form-label>\r\n  <input\r\n    #elementRef\r\n    [id]=\"idInput\"\r\n    [type]=\"type\"\r\n    [placeholder]=\"placeholder\"\r\n    [formControlName]=\"fControlName\"\r\n    (input)=\"onInputNative($event)\"\r\n    (click)=\"onClickNative($event)\"\r\n    (keyup)=\"onKeyUpNative($event)\"\r\n\r\n    [ngClass]=\"{\r\n      'input-native': true,\r\n      'sz-html-invalid': (fControl.touched && fControl.invalid),\r\n      'sz-html-valid': (fControl.touched && fControl.valid)\r\n    }\"\r\n    [style.width]=\"widthInput ? widthInput : ''\"\r\n  >\r\n  <sz-form-errors\r\n    *ngIf=\"!hideErrors && fControl.invalid\"\r\n    [fControl]=\"fControl\"\r\n    [errors]=\"errors\"\r\n    [showErrorsNum]=\"showErrorsNum\"\r\n  ></sz-form-errors>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzFormErrorsModule } from '../../../sz-form-errors/sz-form-errors.module';\r\nimport { SzHtmlFormLabelModule } from '../../sz-html-form-label/sz-html-form-label.module';\r\nimport { SzHtmlFormInputComponent } from './sz-html-form-input.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlFormInputComponent,\r\n    ],\r\n    imports: [\r\n        CommonModule,\r\n        ReactiveFormsModule,\r\n\r\n        // --- My own imports ---\r\n        SzHtmlFormLabelModule,\r\n        SzFormErrorsModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlFormInputComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzHtmlFormInputModule {\r\n}\r\n","import { Component, HostBinding, OnInit } from '@angular/core';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { SzHtmlFormInputComponent } from '../sz-html-form-input/sz-html-form-input.component';\r\n\r\n@Component({\r\n    selector: 'sz-html-form-input-color',\r\n    templateUrl: '../sz-html-form-input/sz-html-form-input.component.html',\r\n})\r\nexport class SzHtmlFormInputColorComponent extends SzHtmlFormInputComponent implements OnInit {\r\n\r\n    type = InputType.Color;\r\n\r\n    @HostBinding('class.sz-html-form-input-color') classSzHtmlFormInputColor = true;\r\n\r\n    ngOnInit() {\r\n        super.ngOnInit();\r\n        this.setValue('#000'); // default value(formControl touched)\r\n    }\r\n\r\n    setValue(value: string): void {\r\n        this.setValueThroughFormControl(value);\r\n    }\r\n\r\n    getValue(): string {\r\n        return this.fControl.value;\r\n    }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzFormErrorsModule } from '../../../sz-form-errors/sz-form-errors.module';\r\nimport { SzHtmlFormLabelModule } from '../../sz-html-form-label/sz-html-form-label.module';\r\nimport { SzHtmlFormInputColorComponent } from './sz-html-form-input-color.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlFormInputColorComponent,\r\n    ],\r\n    imports: [\r\n        // --- Angular Base imports ---\r\n        CommonModule,\r\n        ReactiveFormsModule,\r\n\r\n        // --- My own imports ---\r\n        // SzhtmlFormElemControllerModule,\r\n        SzHtmlFormLabelModule,\r\n        SzFormErrorsModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlFormInputColorComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzHtmlFormInputColorModule {\r\n\r\n}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { SzHtmlFormInputComponent } from '../sz-html-form-input/sz-html-form-input.component';\r\n\r\n@Component({\r\n    selector: 'sz-html-form-input-date',\r\n    templateUrl: '../sz-html-form-input/sz-html-form-input.component.html',\r\n})\r\nexport class SzHtmlFormInputDateComponent extends SzHtmlFormInputComponent {\r\n\r\n    type = InputType.Date;\r\n\r\n    @HostBinding('class.sz-html-form-input-date') classSzHtmlFormInputDate = true;\r\n\r\n    get value(): string {\r\n        return super.value;\r\n    }\r\n\r\n    @Input()\r\n    set value(val: string) {\r\n        super.value = val;\r\n    }\r\n\r\n    setValueByDate(date: Date): void {\r\n        this.value = date.getFullYear() + '-' + (date.getMonth() + 1).toString().padStart(2, '0') + '-' + date.getDate();\r\n    }\r\n\r\n    getValueAsDate(): Date {\r\n        return new Date(this.value);\r\n    }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzFormErrorsModule } from '../../../sz-form-errors/sz-form-errors.module';\r\nimport { SzHtmlFormLabelModule } from '../../sz-html-form-label/sz-html-form-label.module';\r\nimport { SzHtmlFormInputDateComponent } from './sz-html-form-input-date.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlFormInputDateComponent,\r\n    ],\r\n    imports: [\r\n        // --- Angular Base imports ---\r\n        CommonModule,\r\n        ReactiveFormsModule,\r\n\r\n        // --- My own imports ---\r\n        SzHtmlFormLabelModule,\r\n        SzFormErrorsModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlFormInputDateComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzHtmlFormInputDateModule {\r\n\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { SzHtmlFormInputComponent } from '../sz-html-form-input/sz-html-form-input.component';\r\n\r\n@Component({\r\n    selector: 'sz-html-form-input-datetime-local',\r\n    templateUrl: '../sz-html-form-input/sz-html-form-input.component.html',\r\n})\r\nexport class SzHtmlFormInputDatetimeLocalComponent extends SzHtmlFormInputComponent {\r\n\r\n    type = InputType.DateTimeLocal;\r\n\r\n    @HostBinding('class.sz-html-form-input-datetime-local') classSzHtmlFormInputDatetimeLocal = true;\r\n\r\n    setValue(value: any): void { // TODO: type\r\n        this.setValueThroughFormControl(value);\r\n    }\r\n\r\n    getValue(): any {\r\n        return this.fControl.value;\r\n    }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzFormErrorsModule } from '../../../sz-form-errors/sz-form-errors.module';\r\nimport { SzHtmlFormLabelModule } from '../../sz-html-form-label/sz-html-form-label.module';\r\nimport { SzHtmlFormInputDatetimeLocalComponent } from './sz-html-form-input-datetime-local.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlFormInputDatetimeLocalComponent,\r\n    ],\r\n    imports: [\r\n        // --- Angular Base imports ---\r\n        CommonModule,\r\n        ReactiveFormsModule,\r\n\r\n        // --- My own imports ---\r\n        SzHtmlFormLabelModule,\r\n        SzFormErrorsModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlFormInputDatetimeLocalComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzHtmlFormInputDatetimeLocalModule {\r\n\r\n}\r\n","import { FormControl, ValidatorFn } from '@angular/forms';\r\nimport { SzFormErrorName } from '../sz-form-errors/model/SzFormErrorName';\r\n\r\n// @dynamic -> to node_module package\r\nexport class SzorbaValidator {\r\n    static emailVerified(verifiedEmail = ''): ValidatorFn {\r\n        return (control: FormControl) => {\r\n            if (verifiedEmail && verifiedEmail !== control.value) {\r\n                return { [SzFormErrorName.VerifiedEmail]: { value: control.value } };\r\n            }\r\n            return null;\r\n        };\r\n    }\r\n\r\n    static passwordVerified(verifiedPassword = ''): ValidatorFn {\r\n        return (control: FormControl) => {\r\n            if (verifiedPassword && verifiedPassword !== control.value) {\r\n                return { [SzFormErrorName.VerifiedPassword]: { value: control.value } };\r\n            }\r\n            return null;\r\n        };\r\n    }\r\n}\r\n","import { ValidatorFn, Validators } from '@angular/forms';\r\nimport { SzFormErrorDefaultMessage } from '../../sz-form-errors/model/SzFormErrorDefaultMessage';\r\nimport { SzFormErrorName } from '../../sz-form-errors/model/SzFormErrorName';\r\nimport { SzHtmlFormInputComponent } from '../../sz-html-form-controls/inputs/sz-html-form-input/sz-html-form-input.component';\r\nimport { InputType, TypeInputInterface } from '../../szorba-types';\r\nimport { SzorbaValidator } from '../szorba-validator';\r\n\r\nexport type ComponentForEmailVerified = SzHtmlFormInputComponent & TypeInputInterface;\r\n\r\n// @dynamic -> to node_module package\r\nexport class EmailValidatorUtil {\r\n    static setValidators(formComponent: ComponentForEmailVerified, validatorFns: ValidatorFn[], verifiedEmail: string): void {\r\n        if (formComponent.type !== InputType.Email) {\r\n            console.error(`Wrong type!('${ formComponent.type }') This is not '${ InputType.Email }' Component! `, formComponent);\r\n        }\r\n\r\n        validatorFns.push(Validators.email);\r\n        if (!formComponent.getErrorByName(SzFormErrorName.Email)) { // there is errorMessage yet -> no need default\r\n            formComponent.addError({ name: SzFormErrorName.Email, message: SzFormErrorDefaultMessage.Email });\r\n        }\r\n\r\n        validatorFns.push(SzorbaValidator.emailVerified(verifiedEmail));\r\n        if (!formComponent.getErrorByName(SzFormErrorName.VerifiedEmail)) { // there is errorMessage yet -> no need default\r\n            formComponent.addError({ name: SzFormErrorName.VerifiedEmail, message: SzFormErrorDefaultMessage.VerifiedEmail });\r\n        }\r\n    }\r\n}\r\n","import { Component, HostBinding, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { ValidatorFn } from '@angular/forms';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { EmailValidatorUtil } from '../../../validators/utils/email-validator.util';\r\nimport { SzHtmlFormInputComponent } from '../sz-html-form-input/sz-html-form-input.component';\r\n\r\n@Component({\r\n    selector: 'sz-html-form-input-email',\r\n    templateUrl: '../sz-html-form-input/sz-html-form-input.component.html',\r\n})\r\nexport class SzHtmlFormInputEmailComponent extends SzHtmlFormInputComponent implements OnInit, OnChanges {\r\n\r\n    type = InputType.Email;\r\n\r\n    @Input() verifiedEmail = '';\r\n\r\n    @HostBinding('class.sz-html-form-input-email') classSzHtmlFormInputEmail = true;\r\n\r\n    ngOnInit(): void {\r\n        // TODO: check value as valid email format\r\n        super.ngOnInit();\r\n    }\r\n\r\n    ngOnChanges(changes: SimpleChanges): void {\r\n        super.ngOnChanges(changes);\r\n        // console.log('ngOnChanges', changes);\r\n        if (changes.verifiedEmail && !changes.verifiedEmail.firstChange) {\r\n            this.clearValidators();\r\n            this.setupValidators();\r\n            this.updateValueAndValidity();\r\n        }\r\n    }\r\n\r\n    protected getAndSetupAllValidatorFns(): ValidatorFn[] {\r\n        const validatorFns: ValidatorFn[] = super.getAndSetupAllValidatorFns();\r\n        EmailValidatorUtil.setValidators(this, validatorFns, this.verifiedEmail);\r\n        return validatorFns;\r\n    }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzFormErrorsModule } from '../../../sz-form-errors/sz-form-errors.module';\r\nimport { SzHtmlFormLabelModule } from '../../sz-html-form-label/sz-html-form-label.module';\r\nimport { SzHtmlFormInputEmailComponent } from './sz-html-form-input-email.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlFormInputEmailComponent,\r\n    ],\r\n    imports: [\r\n        // --- Angular Base imports ---\r\n        CommonModule,\r\n        ReactiveFormsModule,\r\n\r\n        // --- My own imports ---\r\n        SzHtmlFormLabelModule,\r\n        SzFormErrorsModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlFormInputEmailComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzHtmlFormInputEmailModule {\r\n\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { SzHtmlFormInputComponent } from '../sz-html-form-input/sz-html-form-input.component';\r\n\r\n@Component({\r\n    selector: 'sz-html-form-input-month',\r\n    templateUrl: '../sz-html-form-input/sz-html-form-input.component.html',\r\n})\r\nexport class SzHtmlFormInputMonthComponent extends SzHtmlFormInputComponent {\r\n\r\n    type = InputType.Month;\r\n\r\n    @HostBinding('class.sz-html-form-input-month') classSzHtmlFormInputMonth = true;\r\n\r\n    setValue(value: any): void { // TODO: type\r\n        this.setValueThroughFormControl(value);\r\n    }\r\n\r\n    getValue(): any {\r\n        return this.fControl.value;\r\n    }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzFormErrorsModule } from '../../../sz-form-errors/sz-form-errors.module';\r\nimport { SzHtmlFormLabelModule } from '../../sz-html-form-label/sz-html-form-label.module';\r\nimport { SzHtmlFormInputMonthComponent } from './sz-html-form-input-month.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlFormInputMonthComponent,\r\n    ],\r\n    imports: [\r\n        // --- Angular Base imports ---\r\n        CommonModule,\r\n        ReactiveFormsModule,\r\n\r\n        // --- My own imports ---\r\n        SzHtmlFormLabelModule,\r\n        SzFormErrorsModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlFormInputMonthComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzHtmlFormInputMonthModule {\r\n\r\n}\r\n","import { AfterViewInit, Component, HostBinding, Input, OnInit } from '@angular/core';\r\nimport { ValidatorFn } from '@angular/forms';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { InputNumberUtil } from '../../../utils/input-number.util';\r\nimport { MinMaxFormInterface, MinMaxValidatorUtil } from '../../../validators/utils/min-max-validator.util';\r\nimport { SzHtmlFormInputComponent } from '../sz-html-form-input/sz-html-form-input.component';\r\n\r\n@Component({\r\n    selector: 'sz-html-form-input-number',\r\n    templateUrl: './sz-html-form-input-number.component.html',\r\n})\r\nexport class SzHtmlFormInputNumberComponent extends SzHtmlFormInputComponent implements MinMaxFormInterface, OnInit, AfterViewInit {\r\n\r\n    type = InputType.Number;\r\n\r\n    @Input() min: number;\r\n    @Input() max: number;\r\n    @Input() step = 1;\r\n\r\n    @HostBinding('class.sz-html-form-input-number') classSzHtmlFormInputNumber = true;\r\n\r\n    @Input() minValidator: number = null;\r\n    @Input() maxValidator: number = null;\r\n\r\n    protected _value: number = null;\r\n\r\n    get value(): number {\r\n        return this._value;\r\n    }\r\n\r\n    @Input()\r\n    set value(val: number) {\r\n        // console.log('val', val);\r\n        this.setValueThroughFormControl(val);\r\n    }\r\n\r\n    ngOnInit(): void {\r\n        InputNumberUtil.checkAndConvertTypeByNumberProp(this.value, 'value');\r\n        InputNumberUtil.checkAndConvertTypeByNumberProp(this.min, 'min');\r\n        InputNumberUtil.checkAndConvertTypeByNumberProp(this.max, 'max');\r\n        super.ngOnInit();\r\n        console.log(this);\r\n    }\r\n\r\n    ngAfterViewInit(): void {\r\n        super.ngAfterViewInit();\r\n        // --- for valid HTML document ---\r\n        const nativeInputElement: HTMLInputElement = this.elementRef.nativeElement;\r\n        if (this.min === undefined || this.min === null) {\r\n            nativeInputElement.removeAttribute('min');\r\n        }\r\n        if (this.max === undefined || this.max === null) {\r\n            nativeInputElement.removeAttribute('max');\r\n        }\r\n        // --- for valid HTML document END ---\r\n    }\r\n\r\n    protected setValueThroughFormControl(val: number): void {\r\n        // console.log('val', val);\r\n        if (val === null) {\r\n            this._value = null;\r\n            // this.fControl.setValue(null); // kikommentezve, hogy be lehessen írni 'e' stb. karaktert is\r\n            this.valueChange.emit(null);\r\n            return;\r\n        } else if (val === undefined) { // így lehet reszetelni az inputot\r\n            this._value = null;\r\n            this.fControl.setValue(null);\r\n            this.valueChange.emit(undefined);\r\n            return;\r\n        }\r\n        this._value = InputNumberUtil.getValueAfterCheckMinMax(val, this);\r\n        this.fControl.setValue(this._value);\r\n        this.valueChange.emit(val);\r\n    }\r\n\r\n    protected getAndSetupAllValidatorFns(): ValidatorFn[] {\r\n        const validatorFns: ValidatorFn[] = super.getAndSetupAllValidatorFns();\r\n        MinMaxValidatorUtil.setValidators(this);\r\n        return validatorFns;\r\n    }\r\n\r\n    protected inputEvent(e: InputEvent): void {\r\n        // console.log('inputEvent', e, (e.target as HTMLInputElement).value, this.getNativeInputElement().value);\r\n        InputNumberUtil.getNativeValueAndSetValueFromInputEvent(e, this);\r\n    }\r\n}\r\n","<div\r\n  [formGroup]=\"fGroup\"\r\n  [ngClass]=\"[\r\n    'label-with-element-container',\r\n    labelDisplay ? labelDisplay : ''\r\n  ]\"\r\n>\r\n  <sz-html-form-label\r\n    *ngIf=\"label\"\r\n    [text]=\"label\"\r\n    [forLabel]=\"idInput\"\r\n    [disabled]=\"disabled\"\r\n    [optional]=\"optional\"\r\n\r\n    (clickOnLabel)=\"onClickOnLabel($event)\"\r\n  ></sz-html-form-label>\r\n  <input\r\n    #elementRef\r\n    [id]=\"idInput\"\r\n    [type]=\"type\"\r\n    [placeholder]=\"placeholder\"\r\n    [formControlName]=\"fControlName\"\r\n    [min]=\"min\"\r\n    [max]=\"max\"\r\n    [step]=\"step\"\r\n    (input)=\"onInputNative($event)\"\r\n    (click)=\"onClickNative($event)\"\r\n    (keyup)=\"onKeyUpNative($event)\"\r\n\r\n    [ngClass]=\"{\r\n      'input-native': true,\r\n      'sz-html-invalid': (fControl.touched && fControl.invalid),\r\n      'sz-html-valid': (fControl.touched && fControl.valid)\r\n    }\"\r\n    [style.width]=\"widthInput ? widthInput : ''\"\r\n  >\r\n  <sz-form-errors\r\n    *ngIf=\"!hideErrors && fControl.invalid\"\r\n    [fControl]=\"fControl\"\r\n    [errors]=\"errors\"\r\n    [showErrorsNum]=\"showErrorsNum\"\r\n  ></sz-form-errors>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzFormErrorsModule } from '../../../sz-form-errors/sz-form-errors.module';\r\nimport { SzHtmlFormLabelModule } from '../../sz-html-form-label/sz-html-form-label.module';\r\nimport { SzHtmlFormInputNumberComponent } from './sz-html-form-input-number.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlFormInputNumberComponent,\r\n    ],\r\n    imports: [\r\n        // --- Angular Base imports ---\r\n        CommonModule,\r\n        ReactiveFormsModule,\r\n\r\n        // --- My own imports ---\r\n        // SzhtmlFormElemControllerModule,\r\n        SzHtmlFormLabelModule,\r\n        SzFormErrorsModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlFormInputNumberComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzHtmlFormInputNumberModule {\r\n\r\n}\r\n","import { Component, HostBinding, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { ValidatorFn } from '@angular/forms';\r\nimport { SzFormError } from '../../../sz-form-errors/model/SzFormError';\r\nimport { SzFormErrorDefaultMessage } from '../../../sz-form-errors/model/SzFormErrorDefaultMessage';\r\nimport { SzFormErrorName } from '../../../sz-form-errors/model/SzFormErrorName';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { SzorbaValidator } from '../../../validators/szorba-validator';\r\nimport { MinMaxLengthFormInterface, MinMaxLengthValidatorUtil, } from '../../../validators/utils/min-max-length-validator.util';\r\nimport { SzHtmlFormInputComponent } from '../sz-html-form-input/sz-html-form-input.component';\r\n\r\n@Component({\r\n    selector: 'sz-html-form-input-password',\r\n    templateUrl: '../sz-html-form-input/sz-html-form-input.component.html',\r\n})\r\nexport class SzHtmlFormInputPasswordComponent extends SzHtmlFormInputComponent implements OnChanges, MinMaxLengthFormInterface {\r\n\r\n    type = InputType.Password;\r\n\r\n    @Input() minLengthValidator = 6;\r\n    @Input() maxLengthValidator: number = null;\r\n    @Input() verifiedPassword = '';\r\n    @Input() errors: SzFormError[] = [\r\n        { name: SzFormErrorName.MinLength, message: `Required min. ${ this.minLengthValidator } characters!` }\r\n    ];\r\n\r\n    @HostBinding('class.sz-html-form-input-password') classSzHtmlFormInputPassword = true;\r\n\r\n    ngOnChanges(changes: SimpleChanges): void {\r\n        super.ngOnChanges(changes);\r\n        // console.log('ngOnChanges', changes);\r\n        if (changes.verifiedPassword && !changes.verifiedPassword.firstChange) {\r\n            this.clearValidators();\r\n            this.setupValidators();\r\n            this.updateValueAndValidity();\r\n        }\r\n    }\r\n\r\n    protected getAndSetupAllValidatorFns(): ValidatorFn[] {\r\n        const validatorFns: ValidatorFn[] = super.getAndSetupAllValidatorFns();\r\n        MinMaxLengthValidatorUtil.setValidators(this);\r\n\r\n        validatorFns.push(SzorbaValidator.passwordVerified(this.verifiedPassword));\r\n        if (!this.getErrorByName(SzFormErrorName.VerifiedPassword)) { // there is errorMessage yet -> no need default\r\n            this.addError({ name: SzFormErrorName.VerifiedPassword, message: SzFormErrorDefaultMessage.VerifiedPassword });\r\n        }\r\n\r\n        return validatorFns;\r\n    }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzFormErrorsModule } from '../../../sz-form-errors/sz-form-errors.module';\r\nimport { SzHtmlFormLabelModule } from '../../sz-html-form-label/sz-html-form-label.module';\r\nimport { SzHtmlFormInputPasswordComponent } from './sz-html-form-input-password.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlFormInputPasswordComponent,\r\n    ],\r\n    imports: [\r\n        // --- Angular Base imports ---\r\n        CommonModule,\r\n        ReactiveFormsModule,\r\n\r\n        // --- My own imports ---\r\n        SzHtmlFormLabelModule,\r\n        SzFormErrorsModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlFormInputPasswordComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzHtmlFormInputPasswordModule {\r\n\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { SzHtmlFormInputComponent } from '../sz-html-form-input/sz-html-form-input.component';\r\n\r\n@Component({\r\n    selector: 'sz-html-form-input-search',\r\n    templateUrl: '../sz-html-form-input/sz-html-form-input.component.html',\r\n})\r\nexport class SzHtmlFormInputSearchComponent extends SzHtmlFormInputComponent {\r\n\r\n    type = InputType.Search;\r\n\r\n    @HostBinding('class.sz-html-form-input-search') classSzHtmlFormInputSearch = true;\r\n\r\n    setValue(value: any): void { // TODO: type\r\n        this.setValueThroughFormControl(value);\r\n    }\r\n\r\n    getValue(): any {\r\n        return this.fControl.value;\r\n    }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzFormErrorsModule } from '../../../sz-form-errors/sz-form-errors.module';\r\nimport { SzHtmlFormLabelModule } from '../../sz-html-form-label/sz-html-form-label.module';\r\nimport { SzHtmlFormInputSearchComponent } from './sz-html-form-input-search.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlFormInputSearchComponent,\r\n    ],\r\n    imports: [\r\n        // --- Angular Base imports ---\r\n        CommonModule,\r\n        ReactiveFormsModule,\r\n\r\n        // --- My own imports ---\r\n        SzHtmlFormLabelModule,\r\n        SzFormErrorsModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlFormInputSearchComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzHtmlFormInputSearchModule {\r\n\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { SzHtmlFormInputComponent } from '../sz-html-form-input/sz-html-form-input.component';\r\n\r\n@Component({\r\n    selector: 'sz-html-form-input-tel',\r\n    templateUrl: '../sz-html-form-input/sz-html-form-input.component.html',\r\n})\r\nexport class SzHtmlFormInputTelComponent extends SzHtmlFormInputComponent {\r\n\r\n    type = InputType.Tel;\r\n\r\n    @HostBinding('class.sz-html-form-input-tel') classSzHtmlFormInputTel = true;\r\n\r\n    setValue(value: any): void { // TODO: type\r\n        this.setValueThroughFormControl(value);\r\n    }\r\n\r\n    getValue(): any {\r\n        return this.fControl.value;\r\n    }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzFormErrorsModule } from '../../../sz-form-errors/sz-form-errors.module';\r\nimport { SzHtmlFormLabelModule } from '../../sz-html-form-label/sz-html-form-label.module';\r\nimport { SzHtmlFormInputTelComponent } from './sz-html-form-input-tel.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlFormInputTelComponent,\r\n    ],\r\n    imports: [\r\n        // --- Angular Base imports ---\r\n        CommonModule,\r\n        ReactiveFormsModule,\r\n\r\n        // --- My own imports ---\r\n        SzHtmlFormLabelModule,\r\n        SzFormErrorsModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlFormInputTelComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzHtmlFormInputTelModule {\r\n\r\n}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\nimport { ValidatorFn } from '@angular/forms';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { MinMaxLengthFormInterface, MinMaxLengthValidatorUtil, } from '../../../validators/utils/min-max-length-validator.util';\r\nimport { SzHtmlFormInputComponent } from '../sz-html-form-input/sz-html-form-input.component';\r\n\r\n@Component({\r\n    selector: 'sz-html-form-input-text',\r\n    templateUrl: '../sz-html-form-input/sz-html-form-input.component.html',\r\n})\r\nexport class SzHtmlFormInputTextComponent extends SzHtmlFormInputComponent implements MinMaxLengthFormInterface {\r\n\r\n    type = InputType.Text;\r\n\r\n    @Input() minLengthValidator: number = null;\r\n    @Input() maxLengthValidator: number = null;\r\n\r\n    @HostBinding('class.sz-html-form-input-text') classSzHtmlFormInputText = true;\r\n\r\n    protected _value = '';\r\n\r\n    get value(): string {\r\n        return this.fControl.value;\r\n    }\r\n\r\n    @Input()\r\n    set value(val: string) {\r\n        this.setValueThroughFormControl(val);\r\n    }\r\n\r\n    protected getAndSetupAllValidatorFns(): ValidatorFn[] {\r\n        const validatorFns: ValidatorFn[] = super.getAndSetupAllValidatorFns();\r\n        MinMaxLengthValidatorUtil.setValidators(this);\r\n        return validatorFns;\r\n    }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzFormErrorsModule } from '../../../sz-form-errors/sz-form-errors.module';\r\nimport { SzHtmlFormLabelModule } from '../../sz-html-form-label/sz-html-form-label.module';\r\nimport { SzHtmlFormInputTextComponent } from './sz-html-form-input-text.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlFormInputTextComponent,\r\n    ],\r\n    imports: [\r\n        // --- Angular Base imports ---\r\n        CommonModule,\r\n        ReactiveFormsModule,\r\n\r\n        // --- My own imports ---\r\n        SzHtmlFormLabelModule,\r\n        SzFormErrorsModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlFormInputTextComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzHtmlFormInputTextModule {\r\n\r\n}\r\n","import { Validators } from '@angular/forms';\r\nimport { SzFormErrorDefaultMessage } from '../../sz-form-errors/model/SzFormErrorDefaultMessage';\r\nimport { SzFormErrorName } from '../../sz-form-errors/model/SzFormErrorName';\r\nimport { SzFormErrorsInterface } from '../../sz-form-errors/model/SzFormErrorsInterface';\r\nimport { SzorbaValidatorsInterface } from '../model/SzorbaValidatorsInterface';\r\nimport { SzorbaValidatorsUtil } from './szorba-validators.util';\r\n\r\nexport interface PatternFormInterface extends SzorbaValidatorsInterface, SzFormErrorsInterface {\r\n    patternValidator: string;\r\n}\r\n\r\nexport class PatternValidatorUtil {\r\n    static setValidator(formComponent: PatternFormInterface): void {\r\n        if (formComponent.patternValidator) {\r\n            if (!formComponent.getErrorByName(SzFormErrorName.Pattern)) {\r\n                formComponent.addError({ name: SzFormErrorName.Pattern, message: SzFormErrorDefaultMessage.Pattern });\r\n            }\r\n            if (!SzorbaValidatorsUtil.isValidatorFn(Validators.pattern(formComponent.patternValidator), formComponent)) {\r\n                formComponent.validatorFns.push(Validators.pattern(formComponent.patternValidator));\r\n            }\r\n            formComponent.validatorFns.push(Validators.pattern(formComponent.patternValidator));\r\n        }\r\n    }\r\n}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\nimport { ValidatorFn } from '@angular/forms';\r\nimport { PatternFormInterface, PatternValidatorUtil } from '../../../validators/utils/pattern-validator.util';\r\nimport { InputType } from '../../../szorba-types';\r\nimport { SzHtmlFormInputComponent } from '../sz-html-form-input/sz-html-form-input.component';\r\n\r\n@Component({\r\n    selector: 'sz-html-form-input-url',\r\n    templateUrl: '../sz-html-form-input/sz-html-form-input.component.html',\r\n})\r\nexport class SzHtmlFormInputUrlComponent extends SzHtmlFormInputComponent implements PatternFormInterface {\r\n\r\n    type = InputType.Url;\r\n\r\n    @Input() patternValidator = 'http?://.+|https?://.+'; // TODO -> the values put into Model\r\n\r\n    @HostBinding('class.sz-html-form-input-url') classSzHtmlFormInputUrl = true;\r\n\r\n    setValue(value: string): void {\r\n        // TODO: check valid Url\r\n        this.setValueThroughFormControl(value);\r\n    }\r\n\r\n    getValue(): string {\r\n        return this.fControl.value;\r\n    }\r\n\r\n    protected getAndSetupAllValidatorFns(): ValidatorFn[] {\r\n        const validatorFns: ValidatorFn[] = super.getAndSetupAllValidatorFns();\r\n        PatternValidatorUtil.setValidator(this);\r\n        return validatorFns;\r\n    }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { DirectivesModule } from '../../../directives/directives.module';\r\nimport { SzFormErrorsModule } from '../../../sz-form-errors/sz-form-errors.module';\r\nimport { SzHtmlFormLabelModule } from '../../sz-html-form-label/sz-html-form-label.module';\r\nimport { SzHtmlFormInputUrlComponent } from './sz-html-form-input-url.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlFormInputUrlComponent,\r\n    ],\r\n    imports: [\r\n        // --- Angular Base imports ---\r\n        CommonModule,\r\n        ReactiveFormsModule,\r\n\r\n        // --- My own imports ---\r\n        SzHtmlFormLabelModule,\r\n        SzFormErrorsModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlFormInputUrlComponent,\r\n\r\n        DirectivesModule\r\n    ]\r\n})\r\nexport class SzHtmlFormInputUrlModule {\r\n}\r\n","import { Component, HostBinding, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, ValidatorFn } from '@angular/forms';\r\nimport { SzFormError } from '../../sz-form-errors/model/SzFormError';\r\nimport { SzFormErrorName } from '../../sz-form-errors/model/SzFormErrorName';\r\nimport { SzFormErrorsUtil } from '../../sz-form-errors/sz-form-errors.util';\r\nimport { SzHtmlSelectListFieldDef } from '../../sz-html-controls/sz-html-select/model/SzHtmlSelectListFieldDef';\r\nimport { SzHtmlSelectComponent } from '../../sz-html-controls/sz-html-select/sz-html-select.component';\r\nimport { DisabledFormInterface, DisabledUtil } from '../../utils/disabled.util';\r\nimport { OptionalFormInterface, OptionalValidatorUtil } from '../../validators/utils/optional-validator.util';\r\nimport { SzorbaValidatorsUtil } from '../../validators/utils/szorba-validators.util';\r\n\r\n@Component({\r\n    selector: 'sz-html-form-select',\r\n    templateUrl: './sz-html-form-select.component.html',\r\n})\r\nexport class SzHtmlFormSelectComponent extends SzHtmlSelectComponent\r\n    implements OptionalFormInterface, DisabledFormInterface, OnInit, OnDestroy {\r\n\r\n    fControlName: string; // automatically generated from idInput\r\n\r\n    @Input() fGroup = new FormGroup({});\r\n    @Input() fControl = new FormControl();\r\n\r\n    @Input() errors: SzFormError[] = [];\r\n    @Input() showErrorsNum = 1;\r\n    @Input() hideErrors = false;\r\n    @Input() validatorFns: ValidatorFn[] = [];\r\n    @Input() optional = false;\r\n\r\n    @HostBinding('class.sz-html-form-select') classSzHtmlFormSelect = true;\r\n\r\n    get value(): string | SzHtmlSelectListFieldDef {\r\n        return this.fControl.value;\r\n    }\r\n\r\n    @Input()\r\n    set value(val: string | SzHtmlSelectListFieldDef) {\r\n        this.setValueThroughFormControl(val);\r\n    }\r\n\r\n    ngOnInit(): void {\r\n        this.fControlName = this.idSelect + 'ControlName';\r\n        SzorbaValidatorsUtil.initControl(this);\r\n        this.setOptional(this.optional);\r\n        this.setupValidators();\r\n        super.ngOnInit();\r\n        this.fControl.setValue(this._value);\r\n    }\r\n\r\n    ngOnDestroy(): void {\r\n        this.fGroup.removeControl(this.fControlName);\r\n    }\r\n\r\n    setOptional(optional: boolean): void {\r\n        OptionalValidatorUtil.setupProperty(optional, this);\r\n    }\r\n\r\n    addError(error: SzFormError): void {\r\n        SzFormErrorsUtil.addError(error, this);\r\n    }\r\n\r\n    getErrorByName(name: SzFormErrorName): SzFormError {\r\n        return SzFormErrorsUtil.getErrorByName(name, this);\r\n    }\r\n\r\n    removeError(error: SzFormError): void {\r\n        SzFormErrorsUtil.removeError(error, this);\r\n    }\r\n\r\n    removeErrorByName(name: SzFormErrorName): void {\r\n        SzFormErrorsUtil.removeErrorByName(name, this);\r\n    }\r\n\r\n    changeErrorMessageByName(name: SzFormErrorName, message: string): void {\r\n        SzFormErrorsUtil.changeErrorMessageByName(name, message, this);\r\n    }\r\n\r\n    protected setupValidators(): void {\r\n        this.validatorFns = this.getAndSetupAllValidatorFns();\r\n        SzorbaValidatorsUtil.setValidators(this.validatorFns, this);\r\n    }\r\n\r\n    protected getAndSetupAllValidatorFns(): ValidatorFn[] {\r\n        // const validatorFns: ValidatorFn[] = [];\r\n        return this.validatorFns;\r\n    }\r\n\r\n    protected setValueThroughFormControl(val: string | SzHtmlSelectListFieldDef): void {\r\n        this._value = val;\r\n        this.fControl.setValue('');\r\n    }\r\n\r\n    protected initDisabled(): void { // override\r\n        DisabledUtil.setupPropertyForm(this.disabled, this);\r\n    }\r\n}\r\n","<div\r\n  [formGroup]=\"fGroup\"\r\n  [ngClass]=\"[\r\n    'label-with-element-container',\r\n    labelDisplay\r\n  ]\"\r\n>\r\n  <sz-html-form-label\r\n    *ngIf=\"label\"\r\n    [text]=\"label\"\r\n    [forLabel]=\"idSelect\"\r\n    [disabled]=\"disabled\"\r\n    [optional]=\"optional\"\r\n\r\n    (clickOnLabel)=\"onClickOnLabel($event)\"\r\n  ></sz-html-form-label>\r\n  <select\r\n    #elementRef\r\n    [id]=\"idSelect\"\r\n    [formControlName]=\"fControlName\"\r\n\r\n    (change)=\"onChangeOnSelect($event)\"\r\n\r\n    [ngClass]=\"{\r\n      'select-native': true,\r\n      'select-no-value': !value,\r\n      'sz-html-invalid': (fControl.touched && fControl.invalid),\r\n      'sz-html-valid': (fControl.touched && fControl.valid)\r\n    }\"\r\n  >\r\n    <option #placeholderRef value=\"\" disabled selected [ngClass]=\"'select-option-placeholder'\">{{ placeholder }}</option>\r\n    <ng-container *ngFor=\"let listElem of list\">\r\n      <option [ngValue]=\"listElem\" [ngClass]=\"'select-option'\">\r\n        {{ listElem.label }}\r\n      </option>\r\n    </ng-container>\r\n  </select>\r\n  <sz-form-errors\r\n    *ngIf=\"!hideErrors && fControl.invalid\"\r\n    [fControl]=\"fControl\"\r\n    [errors]=\"errors\"\r\n    [showErrorsNum]=\"showErrorsNum\"\r\n  ></sz-form-errors>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { DirectivesModule } from '../../directives/directives.module';\r\nimport { SzFormErrorsModule } from '../../sz-form-errors/sz-form-errors.module';\r\nimport { SzHtmlFormLabelModule } from '../sz-html-form-label/sz-html-form-label.module';\r\nimport { SzHtmlFormSelectComponent } from './sz-html-form-select.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlFormSelectComponent\r\n    ],\r\n    imports: [\r\n        CommonModule, // --- @angular/core ---\r\n        ReactiveFormsModule, // --- @angular/forms ---\r\n\r\n        // --- My own imports ---\r\n        SzHtmlFormLabelModule,\r\n        SzFormErrorsModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlFormSelectComponent,\r\n\r\n        DirectivesModule,\r\n    ]\r\n})\r\nexport class SzHtmlFormSelectModule {\r\n}\r\n","import { Component, HostBinding, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, ValidatorFn } from '@angular/forms';\r\nimport { SzFormError } from '../../sz-form-errors/model/SzFormError';\r\nimport { SzFormErrorName } from '../../sz-form-errors/model/SzFormErrorName';\r\nimport { SzFormErrorsUtil } from '../../sz-form-errors/sz-form-errors.util';\r\nimport { SzHtmlTextareaComponent } from '../../sz-html-controls/sz-html-textarea/sz-html-textarea.component';\r\nimport { DisabledFormInterface, DisabledUtil } from '../../utils/disabled.util';\r\nimport { MinMaxLengthFormInterface, MinMaxLengthValidatorUtil, } from '../../validators/utils/min-max-length-validator.util';\r\nimport { OptionalFormInterface, OptionalValidatorUtil } from '../../validators/utils/optional-validator.util';\r\nimport { SzorbaValidatorsUtil } from '../../validators/utils/szorba-validators.util';\r\n\r\n@Component({\r\n    selector: 'sz-html-form-textarea',\r\n    templateUrl: './sz-html-form-textarea.component.html',\r\n})\r\nexport class SzHtmlFormTextareaComponent extends SzHtmlTextareaComponent\r\n    implements OptionalFormInterface, DisabledFormInterface, MinMaxLengthFormInterface, OnInit, OnDestroy {\r\n\r\n    fControlName: string; // automatically generated from idInput\r\n\r\n    @Input() fGroup = new FormGroup({});\r\n    @Input() fControl = new FormControl();\r\n\r\n    @Input() errors: SzFormError[] = [];\r\n    @Input() showErrorsNum = 1;\r\n    @Input() hideErrors = false;\r\n    @Input() validatorFns: ValidatorFn[] = [];\r\n    @Input() optional = false;\r\n\r\n    @HostBinding('class.sz-html-form-textarea') classSzHtmlFormTextarea = true;\r\n\r\n    @Input() minLengthValidator: number = null;\r\n    @Input() maxLengthValidator: number = null;\r\n\r\n    get value(): string {\r\n        return this.fControl.value;\r\n    }\r\n\r\n    @Input()\r\n    set value(val: string) {\r\n        this.setValueThroughFormControl(val);\r\n    }\r\n\r\n    ngOnInit(): void {\r\n        this.fControlName = this.idTextarea + 'ControlName';\r\n        SzorbaValidatorsUtil.initControl(this);\r\n        this.setOptional(this.optional);\r\n        this.setupValidators();\r\n        this.fControl.setValue(this._value);\r\n    }\r\n\r\n    ngOnDestroy(): void {\r\n        this.fGroup.removeControl(this.fControlName);\r\n    }\r\n\r\n    setOptional(optional: boolean): void {\r\n        OptionalValidatorUtil.setupProperty(optional, this);\r\n    }\r\n\r\n    addError(error: SzFormError): void {\r\n        SzFormErrorsUtil.addError(error, this);\r\n    }\r\n\r\n    getErrorByName(name: SzFormErrorName): SzFormError {\r\n        return SzFormErrorsUtil.getErrorByName(name, this);\r\n    }\r\n\r\n    removeError(error: SzFormError): void {\r\n        SzFormErrorsUtil.removeError(error, this);\r\n    }\r\n\r\n    removeErrorByName(name: SzFormErrorName): void {\r\n        SzFormErrorsUtil.removeErrorByName(name, this);\r\n    }\r\n\r\n    changeErrorMessageByName(name: SzFormErrorName, message: string): void {\r\n        SzFormErrorsUtil.changeErrorMessageByName(name, message, this);\r\n    }\r\n\r\n    protected setupValidators(): void {\r\n        this.validatorFns = this.getAndSetupAllValidatorFns();\r\n        SzorbaValidatorsUtil.setValidators(this.validatorFns, this);\r\n    }\r\n\r\n    protected getAndSetupAllValidatorFns(): ValidatorFn[] {\r\n        const validatorFns: ValidatorFn[] = this.validatorFns;\r\n        MinMaxLengthValidatorUtil.setValidators(this);\r\n        return validatorFns;\r\n    }\r\n\r\n    protected inputEvent(e: InputEvent): void {\r\n        // console.log(e, ' ::: ', (e.event.target as any).value);\r\n        this.setValueThroughFormControl((e.target as HTMLTextAreaElement).value);\r\n    }\r\n\r\n    protected setValueThroughFormControl(value: string): void {\r\n        this._value = value;\r\n        this.fControl.setValue(value);\r\n    }\r\n\r\n    protected setupDisabled(): void {\r\n        DisabledUtil.setupPropertyForm(this.disabled, this);\r\n    }\r\n}\r\n","<div [formGroup]=\"fGroup\" [ngClass]=\"'label-with-element-container'\">\r\n  <sz-html-form-label\r\n    *ngIf=\"label\"\r\n    [text]=\"label\"\r\n    [forLabel]=\"idTextarea\"\r\n    [disabled]=\"disabled\"\r\n    [optional]=\"optional\"\r\n\r\n    (clickOnLabel)=\"onClickOnLabel($event)\"\r\n  ></sz-html-form-label>\r\n  <textarea\r\n    #elementRef\r\n    [id]=\"idTextarea\"\r\n    [placeholder]=\"placeholder\"\r\n    [formControlName]=\"fControlName\"\r\n    [rows]=\"rows\"\r\n    (input)=\"onInputNative($event)\"\r\n    (click)=\"onClickNative($event)\"\r\n\r\n    [ngClass]=\"{\r\n      'textarea-native': true,\r\n      'sz-html-invalid': (fControl.touched && fControl.invalid),\r\n      'sz-html-valid': (fControl.touched && fControl.valid)\r\n    }\"\r\n  ></textarea>\r\n  <sz-form-errors\r\n    *ngIf=\"!hideErrors && fControl.invalid\"\r\n    [fControl]=\"fControl\"\r\n    [errors]=\"errors\"\r\n    [showErrorsNum]=\"showErrorsNum\"\r\n  ></sz-form-errors>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { DirectivesModule } from '../../directives/directives.module';\r\nimport { SzFormErrorsModule } from '../../sz-form-errors/sz-form-errors.module';\r\nimport { SzHtmlFormLabelModule } from '../sz-html-form-label/sz-html-form-label.module';\r\nimport { SzHtmlFormTextareaComponent } from './sz-html-form-textarea.component';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        SzHtmlFormTextareaComponent\r\n    ],\r\n    imports: [\r\n        CommonModule,\r\n        ReactiveFormsModule,\r\n\r\n        // --- My own imports ---\r\n        SzHtmlFormLabelModule,\r\n        SzFormErrorsModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlFormTextareaComponent,\r\n\r\n        DirectivesModule\r\n    ]\r\n})\r\nexport class SzHtmlFormTextareaModule {\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { SzHtmlFormInputColorModule } from './inputs/sz-html-form-input-color/sz-html-form-input-color.module';\r\nimport { SzHtmlFormInputDateModule } from './inputs/sz-html-form-input-date/sz-html-form-input-date.module';\r\nimport { SzHtmlFormInputDatetimeLocalModule } from './inputs/sz-html-form-input-datetime-local/sz-html-form-input-datetime-local.module';\r\nimport { SzHtmlFormInputEmailModule } from './inputs/sz-html-form-input-email/sz-html-form-input-email.module';\r\nimport { SzHtmlFormInputMonthModule } from './inputs/sz-html-form-input-month/sz-html-form-input-month.module';\r\nimport { SzHtmlFormInputNumberModule } from './inputs/sz-html-form-input-number/sz-html-form-input-number.module';\r\nimport { SzHtmlFormInputPasswordModule } from './inputs/sz-html-form-input-password/sz-html-form-input-password.module';\r\nimport { SzHtmlFormInputSearchModule } from './inputs/sz-html-form-input-search/sz-html-form-input-search.module';\r\nimport { SzHtmlFormInputTelModule } from './inputs/sz-html-form-input-tel/sz-html-form-input-tel.module';\r\nimport { SzHtmlFormInputTextModule } from './inputs/sz-html-form-input-text/sz-html-form-input-text.module';\r\nimport { SzHtmlFormInputUrlModule } from './inputs/sz-html-form-input-url/sz-html-form-input-url.module';\r\nimport { SzHtmlFormInputModule } from './inputs/sz-html-form-input/sz-html-form-input.module';\r\nimport { SzHtmlFormLabelModule } from './sz-html-form-label/sz-html-form-label.module';\r\nimport { SzHtmlFormSelectModule } from './sz-html-form-select/sz-html-form-select.module';\r\nimport { SzHtmlFormTextareaModule } from './sz-html-form-textarea/sz-html-form-textarea.module';\r\n\r\n@NgModule({\r\n    declarations: [],\r\n    imports: [\r\n        CommonModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlFormLabelModule,\r\n        // --- inputs ---\r\n        SzHtmlFormInputModule,\r\n        SzHtmlFormInputColorModule,\r\n        SzHtmlFormInputDateModule,\r\n        SzHtmlFormInputDatetimeLocalModule,\r\n        SzHtmlFormInputEmailModule,\r\n        SzHtmlFormInputMonthModule,\r\n        SzHtmlFormInputNumberModule,\r\n        SzHtmlFormInputPasswordModule,\r\n        SzHtmlFormInputSearchModule,\r\n        SzHtmlFormInputTelModule,\r\n        SzHtmlFormInputTextModule,\r\n        SzHtmlFormInputUrlModule,\r\n        // --- inputs END ---\r\n        SzHtmlFormTextareaModule,\r\n        SzHtmlFormSelectModule,\r\n    ]\r\n})\r\nexport class SzHtmlFormControlsModule {\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { SzHtmlControlsModule } from './sz-html-controls/sz-html-controls.module';\r\nimport { SzHtmlFormControlsModule } from './sz-html-form-controls/sz-html-form-controls.module';\r\nimport { SzControlsModule } from './sz-controls/sz-controls.module';\r\nimport { SzFormControlsModule } from './sz-form-controls/sz-form-controls.module';\r\n\r\n@NgModule({\r\n    declarations: [],\r\n    imports: [\r\n        CommonModule,\r\n    ],\r\n    exports: [\r\n        SzHtmlControlsModule,\r\n        SzHtmlFormControlsModule,\r\n        SzControlsModule,\r\n        SzFormControlsModule,\r\n    ]\r\n})\r\nexport class SzorbaFormControlsModule {\r\n}\r\n","/*\r\n * Public API Surface of form-controls\r\n */\r\n\r\nexport * from './lib/directives/style/sz-form-controls-indigo.directive';\r\nexport * from './lib/directives/directives.module';\r\nexport * from './lib/directives/sz-accepted-chars.directive';\r\n\r\n// --- SZ-CONTROLS ---\r\n// --- INPUTS ---\r\nexport * from './lib/sz-controls/inputs/sz-checked-input/model/SzCheckedInputConfig';\r\nexport * from './lib/sz-controls/inputs/sz-checked-input/sz-checked-input-abstract.component';\r\nexport * from './lib/sz-controls/inputs/sz-checked-input/sz-checked-input.module';\r\n\r\nexport * from './lib/sz-controls/inputs/sz-input/model/SzInputFocusNativeEvent';\r\nexport * from './lib/sz-controls/inputs/sz-input/sz-input.component';\r\nexport * from './lib/sz-controls/inputs/sz-input/sz-input.module';\r\n\r\nexport * from './lib/sz-controls/inputs/sz-input-checkbox/sz-input-checkbox.component';\r\nexport * from './lib/sz-controls/inputs/sz-input-checkbox/sz-input-checkbox.module';\r\n\r\nexport * from './lib/sz-controls/inputs/sz-input-number/sz-input-number.component';\r\nexport * from './lib/sz-controls/inputs/sz-input-number/sz-input-number.module';\r\n\r\nexport * from './lib/sz-controls/inputs/sz-input-radio/sz-input-radio.component';\r\nexport * from './lib/sz-controls/inputs/sz-input-radio/sz-input-radio.module';\r\n\r\nexport * from './lib/sz-controls/inputs/sz-input-text/sz-input-text.component';\r\nexport * from './lib/sz-controls/inputs/sz-input-text/sz-input-text.module';\r\n\r\nexport * from './lib/sz-controls/inputs/sz-input-text-clear/model/SzInputTextClearEvent';\r\nexport * from './lib/sz-controls/inputs/sz-input-text-clear/sz-input-text-clear.component';\r\nexport * from './lib/sz-controls/inputs/sz-input-text-clear/sz-input-text-clear.module';\r\n\r\nexport * from './lib/sz-controls/inputs/sz-input-text-filter/sz-input-text-filter.component';\r\nexport * from './lib/sz-controls/inputs/sz-input-text-filter/sz-input-text-filter.module';\r\n\r\n// --- MODEL ---\r\nexport * from './lib/sz-controls/model/SzCheckedInputEvent';\r\n\r\n// --- SZ-AUTOCOMPLETE ---\r\nexport * from './lib/sz-controls/sz-autocomplete/sz-autocomplete.component';\r\nexport * from './lib/sz-controls/sz-autocomplete/sz-autocomplete.module';\r\n\r\n// --- SZ-LIST ---\r\nexport * from './lib/sz-controls/sz-list/model/SzListSelectEvent';\r\nexport * from './lib/sz-controls/sz-list/model/SzListConfig';\r\nexport * from './lib/sz-controls/sz-list/model/SzListClickEvent';\r\n\r\nexport * from './lib/sz-controls/sz-list/sz-list.component';\r\nexport * from './lib/sz-controls/sz-list/sz-list.module';\r\n\r\n// --- SZ-RADIO-GROUP ---\r\nexport * from './lib/sz-controls/sz-radio-group/model/SzRadioGroupConfig';\r\nexport * from './lib/sz-controls/sz-radio-group/model/SzRadioListFieldDef';\r\n\r\nexport * from './lib/sz-controls/sz-radio-group/sz-radio-group.component';\r\nexport * from './lib/sz-controls/sz-radio-group/sz-radio-group.module';\r\n\r\n// --- SZ-SELECT ---\r\nexport * from './lib/sz-controls/sz-select/model/SzSelectChangesEvent';\r\nexport * from './lib/sz-controls/sz-select/model/SzSelectConfig';\r\nexport * from './lib/sz-controls/sz-select/model/SzSelectListItemSelectEvent';\r\nexport * from './lib/sz-controls/sz-select/sz-select.component';\r\nexport * from './lib/sz-controls/sz-select/sz-select.module';\r\n\r\n// --- SZ-SELECTABLE-ITEM ---\r\nexport * from './lib/sz-controls/sz-selectable-item/model/SzSelectable';\r\nexport * from './lib/sz-controls/sz-selectable-item/model/SzSelectableItemConfig';\r\n\r\nexport * from './lib/sz-controls/sz-selectable-item/sz-selectable-item.component';\r\nexport * from './lib/sz-controls/sz-selectable-item/sz-selectable-item.module';\r\n\r\nexport * from './lib/sz-controls/sz-controls.module';\r\n\r\n// --- SZ-FORM-CONTROLS ---\r\nexport * from './lib/sz-form-controls/inputs/sz-form-input/sz-form-input.component';\r\nexport * from './lib/sz-form-controls/inputs/sz-form-input/sz-form-input.module';\r\n\r\nexport * from './lib/sz-form-controls/inputs/sz-form-input-number/sz-form-input-number.component';\r\nexport * from './lib/sz-form-controls/inputs/sz-form-input-number/sz-form-input-number.module';\r\n\r\nexport * from './lib/sz-form-controls/inputs/sz-form-input-text/sz-form-input-text.component';\r\nexport * from './lib/sz-form-controls/inputs/sz-form-input-text/sz-form-input-text.module';\r\n\r\nexport * from './lib/sz-form-controls/sz-form-select/sz-form-select.component';\r\nexport * from './lib/sz-form-controls/sz-form-select/sz-form-select.module';\r\n\r\nexport * from './lib/sz-form-controls/sz-form-controls.module';\r\n// --- SZ-FORM-ERRORS ---\r\nexport * from './lib/sz-form-errors/model/SzFormError';\r\nexport * from './lib/sz-form-errors/model/SzFormErrorDefaultMessage';\r\nexport * from './lib/sz-form-errors/model/SzFormErrorName';\r\nexport * from './lib/sz-form-errors/model/SzFormErrorsInterface';\r\n\r\nexport * from './lib/sz-form-errors/sz-form-errors.component';\r\nexport * from './lib/sz-form-errors/sz-form-errors.module';\r\n\r\n// --- SZ-HTML-CONTROLS ---\r\n// --- INPUTS ---\r\nexport * from './lib/sz-html-controls/inputs/sz-html-checked-input/model/SzHtmlCheckedInputConfig';\r\nexport * from './lib/sz-html-controls/inputs/sz-html-checked-input/sz-html-checked-input-abstract.component';\r\nexport * from './lib/sz-html-controls/inputs/sz-html-checked-input/sz-html-checked-input.module';\r\n\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input/model/SzHtmlInputConfig';\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input/sz-html-input.component';\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input/sz-html-input.module';\r\n\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-checkbox/sz-html-input-checkbox.component';\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-checkbox/sz-html-input-checkbox.module';\r\n\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-color/sz-html-input-color.component';\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-color/sz-html-input-color.module';\r\n\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-date/sz-html-input-date.component';\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-date/sz-html-input-date.module';\r\n\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-datetime-local/sz-html-input-datetime-local.component';\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-datetime-local/sz-html-input-datetime-local.module';\r\n\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-email/sz-html-input-email.component';\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-email/sz-html-input-email.module';\r\n\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-month/sz-html-input-month.component';\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-month/sz-html-input-month.module';\r\n\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-number/model/SzHtmlInputNumberConfig';\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-number/sz-html-input-number.component';\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-number/sz-html-input-number.module';\r\n\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-password/sz-html-input-password.component';\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-password/sz-html-input-password.module';\r\n\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-radio/sz-html-input-radio.component';\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-radio/sz-html-input-radio.module';\r\n\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-search/sz-html-input-search.component';\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-search/sz-html-input-search.module';\r\n\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-tel/sz-html-input-tel.component';\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-tel/sz-html-input-tel.module';\r\n\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-text/sz-html-input-text.component';\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-text/sz-html-input-text.module';\r\n\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-url/sz-html-input-url.component';\r\nexport * from './lib/sz-html-controls/inputs/sz-html-input-url/sz-html-input-url.module';\r\n\r\n// --- MODEL ---\r\nexport * from './lib/sz-html-controls/model/SzHtmlInputEvent';\r\nexport * from './lib/sz-html-controls/model/SzHtmlLabelDisplay';\r\n\r\n// --- SZ-HTML-LABEL ---\r\nexport * from './lib/sz-html-controls/sz-html-label/model/SzHtmlLabelClickEvent';\r\nexport * from './lib/sz-html-controls/sz-html-label/sz-html-label.component';\r\nexport * from './lib/sz-html-controls/sz-html-label/sz-html-label.module';\r\n\r\n// --- SZ-HTML-RADIO-GROUP ---\r\nexport * from './lib/sz-html-controls/sz-html-radio-group/model/SzHtmlRadioGroupConfig';\r\nexport * from './lib/sz-html-controls/sz-html-radio-group/model/SzHtmlRadioListFieldDef';\r\nexport * from './lib/sz-html-controls/sz-html-radio-group/sz-html-radio-group.component';\r\nexport * from './lib/sz-html-controls/sz-html-radio-group/sz-html-radio-group.module';\r\n\r\n// --- SZ-HTML-SELECT ---\r\nexport * from './lib/sz-html-controls/sz-html-select/model/SzHtmlSelectConfig';\r\nexport * from './lib/sz-html-controls/sz-html-select/model/SzHtmlSelectListFieldDef';\r\nexport * from './lib/sz-html-controls/sz-html-select/sz-html-select.component';\r\nexport * from './lib/sz-html-controls/sz-html-select/sz-html-select.module';\r\n\r\n// --- SZ-HTML-TEXTAREA ---\r\nexport * from './lib/sz-html-controls/sz-html-textarea/model/SzHtmlTextareaConfig';\r\nexport * from './lib/sz-html-controls/sz-html-textarea/model/SzHtmlTextareaInputEvent';\r\nexport * from './lib/sz-html-controls/sz-html-textarea/sz-html-textarea.component';\r\nexport * from './lib/sz-html-controls/sz-html-textarea/sz-html-textarea.module';\r\n\r\nexport * from './lib/sz-html-controls/sz-html-controls.module';\r\n// --- HTML-CONTROLS END ---\r\n\r\n// --- SZ-HTML-FORM-CONTROLS ---\r\n// --- INPUTS ---\r\nexport * from './lib/sz-html-form-controls/inputs/sz-html-form-input/model/SzHtmlFormInputConfig';\r\nexport * from './lib/sz-html-form-controls/inputs/sz-html-form-input/sz-html-form-input.component';\r\nexport * from './lib/sz-html-form-controls/inputs/sz-html-form-input/sz-html-form-input.module';\r\n\r\nexport * from './lib/sz-html-form-controls/inputs/sz-html-form-input-color/sz-html-form-input-color.component';\r\nexport * from './lib/sz-html-form-controls/inputs/sz-html-form-input-color/sz-html-form-input-color.module';\r\n\r\nexport * from './lib/sz-html-form-controls/inputs/sz-html-form-input-date/sz-html-form-input-date.component';\r\nexport * from './lib/sz-html-form-controls/inputs/sz-html-form-input-date/sz-html-form-input-date.module';\r\n\r\nexport * from './lib/sz-html-form-controls/inputs/sz-html-form-input-datetime-local/sz-html-form-input-datetime-local.component';\r\nexport * from './lib/sz-html-form-controls/inputs/sz-html-form-input-datetime-local/sz-html-form-input-datetime-local.module';\r\n\r\nexport * from './lib/sz-html-form-controls/inputs/sz-html-form-input-email/sz-html-form-input-email.component';\r\nexport * from './lib/sz-html-form-controls/inputs/sz-html-form-input-email/sz-html-form-input-email.module';\r\n\r\nexport * from './lib/sz-html-form-controls/inputs/sz-html-form-input-month/sz-html-form-input-month.component';\r\nexport * from './lib/sz-html-form-controls/inputs/sz-html-form-input-month/sz-html-form-input-month.module';\r\n\r\nexport * from './lib/sz-html-form-controls/inputs/sz-html-form-input-number/sz-html-form-input-number.component';\r\nexport * from './lib/sz-html-form-controls/inputs/sz-html-form-input-number/sz-html-form-input-number.module';\r\n\r\nexport * from './lib/sz-html-form-controls/inputs/sz-html-form-input-password/sz-html-form-input-password.component';\r\nexport * from './lib/sz-html-form-controls/inputs/sz-html-form-input-password/sz-html-form-input-password.module';\r\n\r\nexport * from './lib/sz-html-form-controls/inputs/sz-html-form-input-search/sz-html-form-input-search.component';\r\nexport * from './lib/sz-html-form-controls/inputs/sz-html-form-input-search/sz-html-form-input-search.module';\r\n\r\nexport * from './lib/sz-html-form-controls/inputs/sz-html-form-input-tel/sz-html-form-input-tel.component';\r\nexport * from './lib/sz-html-form-controls/inputs/sz-html-form-input-tel/sz-html-form-input-tel.module';\r\n\r\nexport * from './lib/sz-html-form-controls/inputs/sz-html-form-input-text/sz-html-form-input-text.component';\r\nexport * from './lib/sz-html-form-controls/inputs/sz-html-form-input-text/sz-html-form-input-text.module';\r\n\r\nexport * from './lib/sz-html-form-controls/inputs/sz-html-form-input-url/sz-html-form-input-url.component';\r\nexport * from './lib/sz-html-form-controls/inputs/sz-html-form-input-url/sz-html-form-input-url.module';\r\n\r\n// --- SZ-HTML-FORM-LABEL ---\r\nexport * from './lib/sz-html-form-controls/sz-html-form-label/sz-html-form-label.component';\r\nexport * from './lib/sz-html-form-controls/sz-html-form-label/sz-html-form-label.module';\r\n\r\n// --- SZ-HTML-FORM-SELECT ---\r\nexport * from './lib/sz-html-form-controls/sz-html-form-select/sz-html-form-select.component';\r\nexport * from './lib/sz-html-form-controls/sz-html-form-select/sz-html-form-select.module';\r\n\r\n// --- SZ-HTML-FORM-TEXTAREA ---\r\nexport * from './lib/sz-html-form-controls/sz-html-form-textarea/sz-html-form-textarea.component';\r\nexport * from './lib/sz-html-form-controls/sz-html-form-textarea/sz-html-form-textarea.module';\r\n\r\nexport * from './lib/sz-html-form-controls/sz-html-form-controls.module';\r\n// --- SZ-HTML-FORM-CONTROLS END ---\r\n\r\n// --- VALIDATORS ---\r\nexport * from './lib/validators/model/SzorbaValidatorsInterface';\r\n\r\nexport * from './lib/szorba-form-controls.module';\r\nexport * from './lib/szorba-types';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}