@biit-solutions/wizardry-theme 1.22.21 → 1.22.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"biit-solutions-wizardry-theme-inputs.mjs","sources":["../../../projects/wizardry-theme/inputs/src/biit-input-text/biit-input-text.component.ts","../../../projects/wizardry-theme/inputs/src/biit-input-text/biit-input-text.component.html","../../../projects/wizardry-theme/inputs/src/biit-input-text/biit-input-text.module.ts","../../../projects/wizardry-theme/inputs/src/biit-dropdown/biit-dropdown.component.ts","../../../projects/wizardry-theme/inputs/src/biit-dropdown/biit-dropdown.component.html","../../../projects/wizardry-theme/inputs/src/biit-dropdown/biit-dropdown.module.ts","../../../projects/wizardry-theme/inputs/src/biit-checkbox/biit-checkbox.component.ts","../../../projects/wizardry-theme/inputs/src/biit-checkbox/biit-checkbox.component.html","../../../projects/wizardry-theme/inputs/src/biit-multiselect/biit-multiselect.component.ts","../../../projects/wizardry-theme/inputs/src/biit-multiselect/biit-multiselect.component.html","../../../projects/wizardry-theme/inputs/src/biit-checkbox/biit-checkbox.module.ts","../../../projects/wizardry-theme/inputs/src/biit-multiselect/biit-multiselect.module.ts","../../../projects/wizardry-theme/inputs/src/biit-toggle/biit-toggle.component.ts","../../../projects/wizardry-theme/inputs/src/biit-toggle/biit-toggle.component.html","../../../projects/wizardry-theme/inputs/src/biit-toggle/biit-toggle.module.ts","../../../projects/wizardry-theme/inputs/src/biit-ternary-togle/biit-ternary-toggle.component.ts","../../../projects/wizardry-theme/inputs/src/biit-ternary-togle/biit-ternary-toggle.component.html","../../../projects/wizardry-theme/inputs/src/biit-ternary-togle/biit-ternary-toggle.module.ts","../../../projects/wizardry-theme/inputs/src/biit-toggle-group/biit-toggle-button.component.ts","../../../projects/wizardry-theme/inputs/src/biit-toggle-group/biit-toggle-group.component.ts","../../../projects/wizardry-theme/inputs/src/biit-toggle-group/biit-toggle-group.component.html","../../../projects/wizardry-theme/inputs/src/biit-toggle-group/biit-toggle-group.module.ts","../../../projects/wizardry-theme/inputs/src/biit-radio-button/biit-radio-button.component.ts","../../../projects/wizardry-theme/inputs/src/biit-radio-button/biit-radio-button.component.html","../../../projects/wizardry-theme/inputs/src/biit-radio-button/biit-radio-button.module.ts","../../../projects/wizardry-theme/inputs/src/biit-textarea/biit-textarea.component.ts","../../../projects/wizardry-theme/inputs/src/biit-textarea/biit-textarea.component.html","../../../projects/wizardry-theme/inputs/src/biit-textarea/biit-textarea.module.ts","../../../projects/wizardry-theme/inputs/src/biit-datepicker/pipes/calendar-date-pipe.ts","../../../projects/wizardry-theme/inputs/src/biit-datepicker/pipes/out-of-month-pipe.ts","../../../projects/wizardry-theme/inputs/src/biit-datepicker/pipes/is-today-pipe.ts","../../../projects/wizardry-theme/inputs/src/biit-datepicker/pipes/is-same-day-pipe.ts","../../../projects/wizardry-theme/inputs/src/biit-datepicker/pipes/is-disabled-pipe.ts","../../../projects/wizardry-theme/inputs/src/biit-datepicker/biit-datepicker.component.ts","../../../projects/wizardry-theme/inputs/src/biit-datepicker/biit-datepicker.component.html","../../../projects/wizardry-theme/inputs/src/biit-datepicker/pipes/month-selector-label-pipe.ts","../../../projects/wizardry-theme/inputs/src/biit-datepicker/biit-datepicker.module.ts","../../../projects/wizardry-theme/inputs/src/biit-datepicker/models/view.ts","../../../projects/wizardry-theme/inputs/src/biit-slider/biit-slider.component.ts","../../../projects/wizardry-theme/inputs/src/biit-slider/biit-slider.component.html","../../../projects/wizardry-theme/inputs/src/biit-slider/biit-slider.module.ts","../../../projects/wizardry-theme/inputs/src/biit-slider-range/biit-slider-range.component.ts","../../../projects/wizardry-theme/inputs/src/biit-slider-range/biit-slider-range.component.html","../../../projects/wizardry-theme/inputs/src/biit-slider-range/biit-slider-range.module.ts","../../../projects/wizardry-theme/inputs/src/biit-slider-option/biit-slider-option.component.ts","../../../projects/wizardry-theme/inputs/src/biit-slider-option/biit-slider-option.component.html","../../../projects/wizardry-theme/inputs/src/biit-slider-option/biit-slider-option.module.ts","../../../projects/wizardry-theme/inputs/src/biit-slider-option-vertical/biit-slider-option-vertical.component.ts","../../../projects/wizardry-theme/inputs/src/biit-slider-option-vertical/biit-slider-option-vertical.component.html","../../../projects/wizardry-theme/inputs/src/biit-slider-option-vertical/biit-slider-option-vertical.module.ts","../../../projects/wizardry-theme/inputs/src/biit-group/biit-group.component.ts","../../../projects/wizardry-theme/inputs/src/biit-group/biit-group.component.html","../../../projects/wizardry-theme/inputs/src/biit-group/biit-group.module.ts","../../../projects/wizardry-theme/inputs/src/public-api.ts","../../../projects/wizardry-theme/inputs/src/biit-solutions-wizardry-theme-inputs.ts"],"sourcesContent":["import {Component, EventEmitter, forwardRef, Input, OnInit, Output, ChangeDetectorRef} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\nimport {biitIcon} from '@biit-solutions/biit-icons-collection';\nimport {TRANSLOCO_SCOPE} from \"@ngneat/transloco\";\nimport {coerceBooleanProperty} from \"@angular/cdk/coercion\";\n\n@Component({\n selector: 'biit-input-text',\n templateUrl: './biit-input-text.component.html',\n styleUrls: ['./biit-input-text.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitInputTextComponent),\n multi: true\n },\n {\n provide: TRANSLOCO_SCOPE,\n useValue: {scope: 'wizardry-theme/inputs', alias: \"inputs\"}\n }\n ]\n})\nexport class BiitInputTextComponent implements ControlValueAccessor, OnInit {\n\n @Input() set placeholder(placeholder: string) {\n this._placeholder = placeholder;\n }\n protected _placeholder = '';\n @Input() error: string | undefined;\n @Input() description: string;\n @Input() info: string;\n @Input() type: Type;\n @Input() icon: biitIcon;\n @Input() fieldName: string;\n @Input() disabled;\n @Input() required;\n @Input() readonly;\n @Input() min: number;\n @Input() max: number;\n @Input() minLength: number;\n @Input() maxLength: number;\n @Input() regEx: RegExp;\n @Output() onActionPerformed: EventEmitter<string> = new EventEmitter<string>();\n\n reveal: boolean = false;\n value: string;\n minLengthError: boolean = false;\n regExError: boolean = false;\n protected readonly Type = Type;\n\n ngOnInit() {\n this.disabled = coerceBooleanProperty(this.disabled);\n this.required = coerceBooleanProperty(this.required);\n this.readonly = coerceBooleanProperty(this.readonly);\n\n if (this.type == Type.EMAIL) {\n this.regEx = new RegExp(\"(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\\\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\\\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\\\])\");\n }\n }\n\n validateInput() {\n if (this.value !== undefined) {\n if (this.regEx) {\n this.regExError = !this.regEx.test(this.value);\n }\n if (this.minLength) {\n this.minLengthError = this.value.length < this.minLength;\n }\n } else {\n this.regExError = false;\n this.minLengthError = false;\n }\n }\n\n onChange = (_: any) => {};\n onTouch = () => {};\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n writeValue(value: string): void {\n this.value = value;\n }\n\n protected checkValue(event: KeyboardEvent) {\n if (this.type === Type.NUMBER) {\n const input = event.target as HTMLInputElement;\n const cursorPos = input.selectionStart ?? 0;\n const value = input.value;\n\n // Allow digits and control keys\n if (/[0-9]/.test(event.key) || ['Backspace', 'Tab', 'ArrowLeft', 'ArrowRight', 'Delete'].includes(event.key)) {\n return;\n }\n // Allow '-' only at the start and if not already present\n if (event.key === '-' && cursorPos === 0 && !value.startsWith('-')) {\n return;\n }\n // Allow '.' or ',' only if neither is present\n if ((event.key === '.' || event.key === ',') && !value.includes('.') && !value.includes(',')) {\n return;\n }\n event.preventDefault();\n }\n }\n}\n\nexport enum Type {\n TEXT = 'TEXT',\n NUMBER = 'NUMBER',\n EMAIL = 'EMAIL',\n PASSWORD = 'PASSWORD'\n}\n","<div class=\"biit-input\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\" *transloco=\"let t\">\n <div class=\"input-container\">\n <biit-tooltip-icon *ngIf=\"info\"\n class=\"tooltip-icon\"\n [text]=\"info\"></biit-tooltip-icon>\n <input\n class=\"input-object\"\n (keydown)=\"checkValue($event)\"\n [(ngModel)]=\"value\"\n (input)=\"value\"\n (ngModelChange)=\"onChange($event); validateInput();\"\n (keydown.enter)=\"onActionPerformed.emit(value)\"\n [type]=\"reveal ? Type.TEXT : type\" required\n [min]=\"min\"\n [max]=\"max\"\n [minlength]=\"minLength\"\n [maxlength]=\"maxLength ? maxLength : 100\"\n [attr.name]=\"fieldName\"\n [class.error]=\"error || regExError || minLengthError\"\n [class.reveal]=\"reveal\"\n >\n <div *ngIf=\"type === Type.PASSWORD || icon\" class=\"input-show-icon-container\"\n (click)=\"reveal = (type === Type.PASSWORD ? !reveal : false); onActionPerformed.emit(value)\"\n (keydown.enter)=\"reveal = (type === Type.PASSWORD ? !reveal : false); onActionPerformed.emit(value)\"\n tabindex=\"0\">\n <biit-icon [name]=\"type === Type.PASSWORD ? 'show' : icon\"\n class=\"input-show-icon\"\n [pathStyle]=\"{fill: reveal ? 'var(--main-color)' : 'var(--component-color)'}\"\n ></biit-icon>\n </div>\n <div class=\"input-placeholder\" [class.input-filled]=\"this.value?.toString().length\">\n {{ _placeholder }}\n <a *ngIf=\"required\"\n [style.color]=\"value ? null : 'red'\">*</a>\n </div>\n <biit-icon *ngIf=\"error || regExError || minLengthError\" id=\"exclamation\" name=\"exclamation\"\n class=\"input-error-icon\" [pathStyle]=\"{fill:'#A1093F'}\"></biit-icon>\n <div class=\"bottom-line\"\n [class.disabled]=\"disabled\"\n [class.readonly]=\"readonly\"\n ></div>\n <div *ngIf=\"error\" class=\"input-error-msg\" id=\"error-message\">\n <a id=\"message\">\n {{ error }}\n </a>\n </div>\n <div *ngIf=\"regExError && !error\" id=\"regex-error-message\" class=\"input-error-msg\">\n <a id=\"regex-message\">\n {{ t('inputs.regex-error') }}\n </a>\n </div>\n <div *ngIf=\"minLengthError && !error && !regExError\" id=\"length-error-message\" class=\"input-error-msg\">\n <a id=\"length-message\">\n {{ t('inputs.minlength-error') }}\n </a>\n </div>\n <span *ngIf=\"description\" id=\"description\" class=\"input-description\">\n {{ description }}\n </span>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BiitInputTextComponent } from './biit-input-text.component';\nimport {BiitIconModule} from \"@biit-solutions/wizardry-theme/icon\";\nimport {FormsModule} from \"@angular/forms\";\nimport {TranslocoRootModule} from \"@biit-solutions/wizardry-theme/i18n\";\nimport {BiitTooltipIconModule} from \"@biit-solutions/wizardry-theme/info\";\n\n@NgModule({\n declarations: [\n BiitInputTextComponent\n ],\n imports: [\n CommonModule,\n BiitIconModule,\n FormsModule,\n TranslocoRootModule,\n BiitTooltipIconModule\n ],\n exports: [\n BiitInputTextComponent\n ]\n})\nexport class BiitInputTextModule { }\n","import {\n Component,\n DoCheck,\n ElementRef,\n forwardRef,\n Input,\n IterableDiffer,\n IterableDiffers,\n OnInit\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {coerceBooleanProperty} from \"@angular/cdk/coercion\";\nimport {biitIcon} from '@biit-solutions/biit-icons-collection';\nimport {BiitMultiselectType} from \"../biit-multiselect/biit-multiselect.component\";\n\n@Component({\n selector: 'biit-dropdown',\n templateUrl: './biit-dropdown.component.html',\n styleUrls: ['./biit-dropdown.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitDropdownComponent),\n multi: true\n }\n ],\n host: {\n '(document:pointerdown)': 'handleMouseEvents($event)'\n }\n})\nexport class BiitDropdownComponent implements ControlValueAccessor, OnInit, DoCheck {\n\n @Input() title: string;\n @Input() label: string = '';\n @Input() value: string = '';\n @Input() descriptionLabel: string = '';\n @Input() description: string = '';\n @Input() data: any[] = [];\n protected isPrimitive: boolean;\n @Input() set primitive(primitive: any) {\n this.isPrimitive = coerceBooleanProperty(primitive);\n };\n protected isCompact: boolean;\n @Input() set compact(compact: any) {\n this.isCompact = coerceBooleanProperty(compact);\n };\n protected isDisabled: boolean;\n @Input() set disabled(disabled: any) {\n this.isDisabled = coerceBooleanProperty(disabled);\n };\n protected isRequired: boolean;\n @Input() set required(required: any) {\n this.isRequired = coerceBooleanProperty(required);\n };\n protected isSortAsc: boolean;\n @Input('sort-asc') set sortAsc(sortAsc: any) {\n this.isSortAsc = coerceBooleanProperty(sortAsc);\n };\n protected isSortDesc: boolean;\n @Input('sort-desc') set sortDesc(sortDesc: any) {\n this.isSortDesc = coerceBooleanProperty(sortDesc);\n };\n @Input() icon: biitIcon;\n\n public currentValue;\n public filterText: string = '';\n public filteredData: any[];\n public dropdownOpen: boolean = false;\n public get dropdownElement(): HTMLElement {return this.elem.nativeElement.querySelector('.dropdown-list')}\n public get inputElement(): HTMLElement {return this.elem.nativeElement.querySelector('.input-object')}\n\n private differ: IterableDiffer<string>;\n\n constructor(\n private elem: ElementRef,\n iDiff: IterableDiffers\n ) {\n this.differ = iDiff.find(this.data).create();\n }\n\n ngOnInit() {\n this.handleFilter();\n }\n\n ngDoCheck() {\n if (this.differ.diff(this.data)) {\n this.handleFilter();\n }\n }\n\n onChange = (value: any) => {};\n onTouched = () => {};\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n writeValue(value: any): void {\n this.currentValue = this.isPrimitive ? this.data.find(i => i[this.value] === value) : value;\n }\n\n onModelChange(value: any) {\n this.currentValue = value;\n this.closeDropdown();\n this.onChange(this.isPrimitive ? value[this.value] : value);\n }\n\n handleMouseEvents($event: PointerEvent) {\n if (this.dropdownOpen && !this.elem.nativeElement.contains($event.target)) {\n this.closeDropdown();\n }\n }\n\n handleKeyboardEvents($event: KeyboardEvent) {\n switch ($event.key) {\n case 'ArrowUp':\n if (this.dropdownOpen){\n if (document.activeElement.tagName == \"BUTTON\" && document.activeElement.previousElementSibling) {\n (document.activeElement.previousElementSibling as HTMLElement)?.focus();\n } else if (document.activeElement !== this.inputElement) {\n this.inputElement.focus();\n }\n } else if (this.data.findIndex(i => i == this.currentValue) > 0) {\n this.onModelChange(this.data[this.data.findIndex(i => i == this.currentValue) - 1]);\n }\n break;\n\n case 'ArrowDown':\n if (this.dropdownOpen){\n if (document.activeElement === this.inputElement && this.filteredData.length) {\n (this.dropdownElement.firstChild as HTMLElement).focus();\n } else {\n (document.activeElement.nextElementSibling as HTMLElement)?.focus();\n }\n } else if (this.data.findIndex(i => i == this.currentValue) < this.data.length -1) {\n this.onModelChange(this.data[this.data.findIndex(i => i == this.currentValue) + 1]);\n }\n break;\n\n case 'Escape':\n if (document.activeElement.tagName == \"BUTTON\") {\n this.inputElement.focus();\n } else {\n this.closeDropdown();\n }\n break;\n\n default:\n break;\n }\n $event.stopPropagation();\n }\n\n handleFilter() {\n if (this.data) {\n this.sortData();\n if (this.filterText) {\n if (this.isPrimitive) {\n this.filteredData = this.data.filter(item =>\n item.toString().toLowerCase().includes(\n this.filterText.normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\").toLowerCase()));\n } else {\n this.filteredData = this.data.filter(item =>\n item[this.label].toLowerCase().includes(\n this.filterText.normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\").toLowerCase()));\n }\n } else {\n this.filteredData = this.data;\n }\n } else {\n this.filteredData = [];\n }\n }\n\n clearFilter() {\n this.filterText = '';\n this.handleFilter();\n }\n\n sortData() {\n if (this.isPrimitive) {\n if (this.isSortAsc || this.isSortDesc) {\n this.data.sort(\n (a,b) => this.isSortAsc ? (a>b ? 1 : (b>a ? -1 : 0)) : (a>b ? -1 : (b>a ? 1 : 0))\n );\n }\n } else {\n if (this.isSortAsc || this.isSortDesc) {\n this.data.sort((a,b) => {\n if ( a[this.label] < b[this.label] ){\n return this.isSortAsc ? -1 : 1;\n } else if ( a[this.label] > b[this.label] ){\n return this.isSortAsc ? 1 : -1;\n } else {\n return 0;\n }\n });\n }\n }\n }\n\n openDropdown() {\n this.setTooltipComponentProperties();\n if (!this.icon) {\n (this.inputElement as HTMLInputElement).focus();\n }\n\n // Setting a timeout because it doesn't load upwards/downwards css classes on execution time\n setTimeout(() => {\n this.dropdownOpen = true;\n this.dropdownElement.setAttribute('aria-expanded', \"true\");\n }, 100);\n }\n\n closeDropdown() {\n this.dropdownOpen = false;\n this.dropdownElement.setAttribute('aria-expanded', \"false\");\n setTimeout(() => { this.clearFilter(); }, 1000);\n }\n\n private setTooltipComponentProperties() {\n let button;\n let dropdown = this.dropdownElement;\n dropdown.style.display = 'block';\n\n if (!this.icon) {\n button = this.inputElement;\n } else {\n button = this.elem.nativeElement.querySelector(\"button\");\n }\n\n // Checking available screen space\n const fitsBottom = bottomCheck();\n const fitsRight = rightCheck();\n const fitsLeft = leftCheck();\n\n if (!fitsRight && fitsLeft) {\n dropdown.style.marginLeft = button.offsetWidth - dropdown.offsetWidth + 'px';\n } else {\n dropdown.style.marginLeft = null;\n }\n\n dropdown.classList.remove('onwards');\n dropdown.classList.remove('downwards');\n\n if (!fitsBottom) {\n dropdown.classList.add('onwards');\n dropdown.style.marginTop = -(dropdown.offsetHeight + button.offsetHeight) + 'px';\n } else {\n dropdown.classList.add('downwards');\n dropdown.style.marginTop = null;\n }\n\n // Support inner functions\n function bottomCheck(): boolean {\n return button.getBoundingClientRect().bottom + dropdown.offsetHeight <= window.innerHeight ||\n button.getBoundingClientRect().top - dropdown.offsetHeight <= 0;\n }\n\n function rightCheck(): boolean {\n return button.getBoundingClientRect().right + dropdown.offsetWidth <= window.innerWidth;\n }\n\n function leftCheck(): boolean {\n return button.getBoundingClientRect().right - dropdown.offsetWidth >= 0;\n }\n }\n}\n","<div class=\"biit-input\" aria-haspopup=\"listbox\"\n *ngIf=\"!icon\"\n [class.compact]=\"isCompact\"\n [class.disabled]=\"isDisabled\"\n (keydown)=\"!isDisabled && handleKeyboardEvents($event)\"\n (keydown.enter)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n>\n <div class=\"input-container\" #input>\n <input [ngModel]=\"dropdownOpen ? filterText :\n currentValue && !label ? currentValue :\n currentValue && currentValue[label] ? currentValue[label] : ''\"\n (ngModelChange)=\"filterText = $event; handleFilter()\"\n (click)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n [placeholder]=\"dropdownOpen && currentValue && !label ? currentValue :\n dropdownOpen && currentValue && currentValue[label] ? currentValue[label] : ''\"\n tabindex=\"0\"\n class=\"input-object\"\n [class.grey-bg]=\"dropdownOpen\"\n [class.default-cursor]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n [readonly]=\"!dropdownOpen\"/>\n <div class=\"input-show-icon-container\"\n [class.passthrough]=\"!dropdownOpen\"\n [class.rotate-90]=\"dropdownOpen\"\n (click)=\"dropdownOpen && closeDropdown()\">\n <biit-icon [name]=\"'right_arrow'\"\n class=\"input-show-icon\"\n [pathStyle]=\"{fill: isDisabled ? '#D9D9D9' : dropdownOpen ? 'var(--main-color)' : 'var(--component-color)'}\"\n ></biit-icon>\n </div>\n <div id=\"dropdown-label\"\n class=\"input-placeholder\"\n [class.disabled]=\"isDisabled\"\n [class.compact]=\"dropdownOpen || currentValue\">\n {{ title }}\n <a *ngIf=\"isRequired\"\n [style.color]=\"currentValue ? null : 'red'\">*</a>\n </div>\n <div class=\"bottom-line\"\n [class.disabled]=\"isDisabled\"\n ></div>\n <span class=\"description\">{{ description }}</span>\n </div>\n</div>\n<button biit-icon\n *ngIf=\"icon\"\n [icon]=\"icon\"\n (click)=\"!dropdownOpen ? openDropdown() : closeDropdown()\"\n [checked]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n></button>\n<div style=\"position: relative; height: 0; width: 100%\">\n <div #dropdown id=\"dropdown\"\n [class.disabled]=\"isDisabled\"\n [style.overflow]=\"dropdownOpen ? undefined : 'hidden'\"\n class=\"dropdown-list\"\n role=\"listbox\"\n aria-expanded=\"false\"\n aria-labelledby=\"dropdown-label\"\n [class.dropdown-open]=\"dropdownOpen\"\n [class.compact]=\"isCompact\"\n (keydown)=\"handleKeyboardEvents($event)\"\n >\n <button\n *ngFor=\"let item of filteredData; index as i\"\n (click)=\"onModelChange(item)\"\n [class.selected]=\"currentValue === item\"\n class=\"dropdown-item\"\n role=\"option\"\n aria-selected=\"false\"\n [id]=\"i\"\n [tabindex]=\"!dropdownOpen || isDisabled ? -1 : 0\"\n [disabled]=\"!dropdownOpen || isDisabled\"\n >\n <div id=\"content\">\n <a>{{ label ? item[label] : item }}</a>\n <span *ngIf=\"descriptionLabel && item[descriptionLabel]\" class=\"description\">{{ item[descriptionLabel] }}</span>\n </div>\n </button>\n <button *ngIf=\"!filteredData.length\"\n class=\"dropdown-item no-results\"\n disabled\n >\n <a>No results found</a>\n </button>\n </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {BiitDropdownComponent} from './biit-dropdown.component';\nimport {FormsModule} from '@angular/forms';\nimport {CommonModule} from '@angular/common';\nimport {BiitIconModule} from '@biit-solutions/wizardry-theme/icon';\nimport {BiitIconButtonModule} from \"@biit-solutions/wizardry-theme/button\";\n\n@NgModule({\n declarations: [\n BiitDropdownComponent\n ],\n imports: [\n FormsModule,\n CommonModule,\n BiitIconModule,\n BiitIconButtonModule\n ],\n exports: [\n BiitDropdownComponent\n ]\n})\nexport class BiitDropdownModule { }\n","import {Component, EventEmitter, forwardRef, Input, Output} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\n@Component({\n selector: 'biit-checkbox',\n templateUrl: 'biit-checkbox.component.html',\n styleUrls: ['biit-checkbox.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitCheckboxComponent),\n multi: true\n }\n ]\n})\nexport class BiitCheckboxComponent implements ControlValueAccessor {\n @Input() disabled = false;\n @Input() description: string;\n @Input() showAlwaysDescription = false;\n @Output() onValueChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n checked: any;\n\n onChange = (value: any) => {\n };\n onTouched = () => {\n };\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n writeValue(checked: boolean): void {\n this.checked = checked;\n }\n\n onModelChange(event: boolean) {\n this.checked = event;\n this.onChange(event);\n this.onValueChange.emit(this.checked);\n }\n}\n","<label [class.disabled]=\"disabled\" id=\"biit-checkbox\" class=\"biit-checkbox\">\n <input [attr.id]=\"checked?'checked':'unchecked'\"\n type=\"checkbox\"\n class=\"checkbox-box\"\n [ngModel]=\"checked\"\n (ngModelChange)=\"onModelChange($event)\"\n [disabled]=\"disabled\"/>\n <div>\n <div>\n <a>\n <ng-content></ng-content>\n </a>\n <biit-tooltip-icon *ngIf=\"description && !showAlwaysDescription\" inline [text]=\"description\"/>\n </div>\n <span class=\"description\" *ngIf=\"description && showAlwaysDescription\">{{ description }}</span>\n </div>\n</label>\n","import {\n AfterViewInit,\n Component,\n DoCheck,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n IterableDiffer,\n IterableDiffers,\n OnInit,\n Output\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {biitIcon} from '@biit-solutions/biit-icons-collection';\nimport {coerceBooleanProperty} from \"@angular/cdk/coercion\";\n\nexport enum BiitMultiselectType {\n DEFAULT = 'default',\n ICON = 'icon',\n CHIPS = 'chips'\n}\n\n@Component({\n selector: 'biit-multiselect',\n templateUrl: './biit-multiselect.component.html',\n styleUrls: ['./biit-multiselect.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitMultiselectComponent),\n multi: true\n }\n ],\n host: {\n '(document:pointerdown)': 'handleMouseEvents($event)'\n }\n})\n\nexport class BiitMultiselectComponent implements ControlValueAccessor, OnInit, AfterViewInit, DoCheck {\n\n @Input() title: string;\n @Input() type: BiitMultiselectType = BiitMultiselectType.DEFAULT;\n @Input() icon: biitIcon = 'column_selection';\n @Input() label: string = '';\n @Input() value: string = '';\n @Input() descriptionField: string = '';\n @Input() description: string = '';\n @Input() data: any[] = [];\n protected isPrimitive: boolean;\n\n @Input() set primitive(primitive: any) {\n this.isPrimitive = coerceBooleanProperty(primitive);\n };\n\n protected isCompact: boolean;\n\n @Input() set compact(compact: any) {\n this.isCompact = coerceBooleanProperty(compact);\n };\n\n protected isDisabled: boolean;\n\n @Input() set disabled(disabled: any) {\n this.isDisabled = coerceBooleanProperty(disabled);\n };\n\n protected isRequired: boolean;\n\n @Input() set required(required: any) {\n this.isRequired = coerceBooleanProperty(required);\n };\n\n protected isSortAsc: boolean;\n\n @Input('sort-asc') set sortAsc(sortAsc: any) {\n this.isSortAsc = coerceBooleanProperty(sortAsc);\n };\n\n protected isSortDesc: boolean;\n\n @Input('sort-desc') set sortDesc(sortDesc: any) {\n this.isSortDesc = coerceBooleanProperty(sortDesc);\n };\n\n @Output() onCreate: EventEmitter<string> = new EventEmitter<string>();\n\n public currentValues: any[] = [];\n public filterText: string = '';\n public filteredData: any[] = [];\n public dropdownOpen: boolean = false;\n\n public get dropdownElement(): HTMLElement {\n return this.elem.nativeElement.querySelector('.dropdown-list')\n };\n\n public get inputElement(): HTMLElement {\n return this.elem.nativeElement.querySelector('.input-object')\n };\n\n public hover = new MouseEvent('pointerover', {'bubbles': true});\n\n private differ: IterableDiffer<string>;\n\n constructor(\n private elem: ElementRef,\n iDiff: IterableDiffers\n ) {\n this.differ = iDiff.find(this.data).create();\n }\n\n ngOnInit() {\n this.handleFilter();\n }\n\n ngDoCheck() {\n if (this.differ.diff(this.data)) {\n this.handleFilter();\n }\n }\n\n checkBooleanInput(value) {\n switch (value) {\n case undefined:\n return false;\n case false:\n return false;\n default:\n return true;\n }\n }\n\n ngAfterViewInit() {\n this.dropdownElement?.querySelectorAll('.disabled').forEach(i => {\n i.classList.remove('disabled');\n });\n }\n\n onChange = (values: any[]) => {\n };\n onTouched = () => {\n };\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n writeValue(values: any[]): void {\n if (values) {\n this.currentValues = values;\n } else {\n this.currentValues = [];\n }\n }\n\n onModelChange(value: any) {\n if (this.currentValues) {\n if (!this.currentValues.includes(value)) {\n this.currentValues.push(value);\n } else {\n this.currentValues.splice(this.currentValues.indexOf(value), 1);\n }\n }\n this.onChange(this.currentValues);\n }\n\n handleMouseEvents($event: PointerEvent) {\n if (!this.elem.nativeElement.contains($event.target)) {\n this.closeDropdown();\n }\n }\n\n handleKeyboardEvents($event: KeyboardEvent) {\n switch ($event.key) {\n case 'ArrowUp':\n if (document.activeElement.tagName == \"BIIT-CHECKBOX\") {\n (document.activeElement.previousElementSibling as HTMLElement)?.focus();\n }\n break;\n\n case 'ArrowDown':\n if (document.activeElement.tagName == \"BIIT-CHECKBOX\") {\n (document.activeElement.nextElementSibling as HTMLElement)?.focus();\n }\n break;\n\n case 'Escape':\n if (document.activeElement.tagName == \"BIIT-CHECKBOX\" && this.type == BiitMultiselectType.DEFAULT) {\n this.inputElement.focus();\n } else {\n this.closeDropdown();\n }\n break;\n\n default:\n break;\n }\n }\n\n handleFilter() {\n if (this.data) {\n this.sortData();\n if (this.filterText) {\n if (this.isPrimitive) {\n this.filteredData = this.data.filter(item =>\n item.toString().toLowerCase().includes(\n this.filterText.normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\").toLowerCase()));\n } else {\n this.filteredData = this.data.filter(item =>\n item[this.label].toLowerCase().includes(\n this.filterText.normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\").toLowerCase()));\n }\n } else {\n this.filteredData = this.data;\n }\n } else {\n this.filteredData = [];\n }\n }\n\n clearFilter() {\n this.filterText = '';\n this.handleFilter();\n }\n\n sortData() {\n if (this.isPrimitive) {\n if (this.isSortAsc || this.isSortDesc) {\n this.data.sort(\n (a, b) => this.isSortAsc ? (a > b ? 1 : (b > a ? -1 : 0)) : (a > b ? -1 : (b > a ? 1 : 0))\n );\n }\n } else {\n if (this.isSortAsc || this.isSortDesc) {\n this.data.sort((a, b) => {\n if (this.currentValues.includes(a) && !this.currentValues.includes(b)) return -1;\n if (!this.currentValues.includes(a) && this.currentValues.includes(b)) return 1;\n if (a[this.label] < b[this.label]) {\n return this.isSortAsc ? -1 : 1;\n } else if (a[this.label] > b[this.label]) {\n return this.isSortAsc ? 1 : -1;\n } else {\n return 0;\n }\n });\n } else {\n this.data.sort((a, b) => {\n if (this.currentValues) {\n if (this.currentValues.includes(a) && !this.currentValues.includes(b)) return -1;\n if (!this.currentValues.includes(a) && this.currentValues.includes(b)) return 1;\n }\n return 0;\n })\n }\n }\n }\n\n openDropdown() {\n this.setTooltipComponentProperties();\n if (this.type !== BiitMultiselectType.ICON) {\n (this.inputElement as HTMLInputElement).focus();\n }\n\n // Setting a timeout because it doesn't load upwards/downwards css classes on execution time\n setTimeout(() => {\n this.dropdownOpen = true;\n this.dropdownElement.setAttribute('aria-expanded', \"true\");\n }, 100);\n }\n\n closeDropdown() {\n this.dropdownOpen = false;\n this.dropdownElement.setAttribute('aria-expanded', \"false\");\n setTimeout(() => {\n this.clearFilter();\n }, 100);\n }\n\n private setTooltipComponentProperties() {\n let button;\n let dropdown = this.dropdownElement;\n dropdown.style.display = 'block';\n\n if (this.type !== BiitMultiselectType.ICON) {\n button = this.inputElement;\n } else {\n button = this.elem.nativeElement.querySelector(\"button\");\n }\n\n // Checking available screen space\n const fitsBottom = bottomCheck();\n const fitsRight = rightCheck();\n const fitsLeft = leftCheck();\n\n if (!fitsRight && fitsLeft) {\n dropdown.style.marginLeft = button.offsetWidth - dropdown.offsetWidth + 'px';\n } else {\n dropdown.style.marginLeft = null;\n }\n\n dropdown.classList.remove('onwards');\n dropdown.classList.remove('downwards');\n\n if (!fitsBottom) {\n dropdown.classList.add('onwards');\n dropdown.style.marginTop = -(dropdown.offsetHeight + button.offsetHeight) + 'px';\n } else {\n dropdown.classList.add('downwards');\n dropdown.style.marginTop = null;\n }\n\n // Support inner functions\n function bottomCheck(): boolean {\n return button.getBoundingClientRect().bottom + dropdown.offsetHeight <= window.innerHeight ||\n button.getBoundingClientRect().top - dropdown.offsetHeight <= 0;\n }\n\n function rightCheck(): boolean {\n return button.getBoundingClientRect().right + dropdown.offsetWidth <= window.innerWidth;\n }\n\n function leftCheck(): boolean {\n return button.getBoundingClientRect().right - dropdown.offsetWidth >= 0;\n }\n }\n\n protected readonly BiitMultiselectType = BiitMultiselectType;\n}\n","<!-- DEFAULT MODE -->\n<div *ngIf=\"type != 'icon'\"\n class=\"biit-input\" aria-haspopup=\"listbox\"\n [class.compact]=\"isCompact\"\n [class.disabled]=\"isDisabled\"\n (keydown)=\"!isDisabled && handleKeyboardEvents($event)\"\n (keydown.enter)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n (keydown.space)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n>\n <div class=\"input-container\" #input>\n <input [ngModel]=\"dropdownOpen ? filterText :\n currentValues && currentValues.length ? currentValues.length + ' selected' : ''\"\n (ngModelChange)=\"filterText = $event; handleFilter()\"\n (click)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n (keydown.enter)=\"filterText.length ? onCreate.emit(filterText) : false; clearFilter();\"\n [placeholder]=\"dropdownOpen && currentValues && currentValues.length ? currentValues.length + ' selected' : ''\"\n tabindex=\"0\"\n class=\"input-object\"\n [class.grey-bg]=\"dropdownOpen\"\n [class.default-cursor]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n [readonly]=\"!dropdownOpen\"/>\n <div class=\"input-show-icon-container\" id=\"arrow\"\n [class.passthrough]=\"!dropdownOpen\"\n [class.rotate-90]=\"dropdownOpen\"\n (click)=\"dropdownOpen && closeDropdown()\">\n <biit-icon [name]=\"'right_arrow'\"\n class=\"input-show-icon\"\n [pathStyle]=\"{fill: isDisabled ? '#D9D9D9' : dropdownOpen ? 'var(--main-color)' : 'var(--component-color)'}\"\n ></biit-icon>\n </div>\n <div id=\"dropdown-label\"\n class=\"input-placeholder\"\n [class.disabled]=\"isDisabled\"\n [class.compact]=\"dropdownOpen || (currentValues?.length)\">\n {{ title }}\n <a *ngIf=\"isRequired\"\n [style.color]=\"currentValues.length ? null : 'red'\">*</a>\n </div>\n <div class=\"bottom-line\"\n [class.disabled]=\"isDisabled\"\n ></div>\n <span class=\"description\">{{ description }}</span>\n </div>\n</div>\n\n<!-- ICON MODE -->\n<button biit-icon *ngIf=\"type == 'icon'\"\n [icon]=\"icon\"\n (click)=\"!dropdownOpen ? openDropdown() : closeDropdown()\"\n [checked]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n></button>\n\n<!-- DROPDOWN -->\n<div style=\"position: relative; height: 0; width: 100%\">\n <div #dropdown id=\"options\"\n [class.disabled]=\"isDisabled\"\n class=\"dropdown-list\"\n role=\"listbox\"\n aria-expanded=\"false\"\n aria-labelledby=\"dropdown-label\"\n [class.dropdown-open]=\"dropdownOpen\"\n [class.compact]=\"isCompact\"\n (keydown)=\"dropdownOpen && handleKeyboardEvents($event)\"\n >\n <biit-checkbox *ngFor=\"let item of filteredData; index as i\"\n [attr.id]=\"'option-' + (isPrimitive ? item : item[label])\"\n class=\"dropdown-item\"\n [class.selected]=\"currentValues && currentValues.includes(item)\"\n [ngModel]=\"currentValues && currentValues.includes(item)\"\n [description]=\"descriptionField && item[descriptionField]\"\n (click)=\"onModelChange(item); $event.stopPropagation(); $event.preventDefault();\"\n (keydown.enter)=\"onModelChange(item)\"\n (keydown.space)=\"onModelChange(item)\"\n [tabindex]=\"!dropdownOpen || isDisabled ? -1 : 0\"\n role=\"option\"\n aria-selected=\"false\"\n [disabled]=\"false\">\n {{ isPrimitive ? item : item[label] }}\n </biit-checkbox>\n <button *ngIf=\"!filteredData?.length\"\n class=\"dropdown-item no-results\"\n disabled\n >\n <a>No results found</a>\n </button>\n </div>\n</div>\n\n<div *ngIf=\"type == 'chips'\"\n class=\"chips\">\n <span\n *ngFor=\"let item of currentValues\"\n (click)=\"onModelChange(item)\"\n class=\"chips-item\"\n >\n {{ item[label] }}\n <biit-icon\n [name]=\"'cross_wide'\"\n [pathStyle]=\"{fill: '#ffffff'}\"\n ></biit-icon>\n </span>\n</div>\n","import {NgModule} from '@angular/core';\nimport {BiitCheckboxComponent} from './biit-checkbox.component';\nimport {FormsModule} from '@angular/forms';\nimport {CommonModule} from '@angular/common';\nimport {BiitTooltipIconModule} from \"@biit-solutions/wizardry-theme/info\";\n\n@NgModule({\n declarations: [\n BiitCheckboxComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n BiitTooltipIconModule,\n ],\n exports: [\n BiitCheckboxComponent\n ]\n})\nexport class BiitCheckboxModule { }\n","import {NgModule} from '@angular/core';\nimport {BiitMultiselectComponent} from './biit-multiselect.component';\nimport {FormsModule} from '@angular/forms';\nimport {CommonModule} from '@angular/common';\nimport {BiitIconModule} from '@biit-solutions/wizardry-theme/icon';\nimport {BiitCheckboxModule} from '../biit-checkbox/biit-checkbox.module';\nimport {BiitIconButtonModule} from '@biit-solutions/wizardry-theme/button';\n\n@NgModule({\n declarations: [\n BiitMultiselectComponent\n ],\n imports: [\n FormsModule,\n CommonModule,\n BiitIconModule,\n BiitCheckboxModule,\n BiitIconButtonModule\n ],\n exports: [\n BiitMultiselectComponent\n ]\n})\nexport class BiitMultiselectModule { }\n","import {Component, Input, forwardRef} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\n@Component({\n selector: 'biit-toggle',\n templateUrl: 'biit-toggle.component.html',\n styleUrls: ['biit-toggle.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitToggleComponent),\n multi: true\n }\n ]\n})\nexport class BiitToggleComponent implements ControlValueAccessor {\n @Input() disabled = false;\n @Input() description: string;\n checked: boolean;\n\n onChange = (value: any) => {};\n onTouched = () => {};\n\n onToggle(item: boolean) {\n this.checked = item;\n this.onChange(this.checked);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n writeValue(obj: boolean): void {\n this.checked = obj;\n }\n}\n","<label class=\"toggle-base\">\n <input type=\"checkbox\" id=\"checkbox\"\n [ngModel]=\"checked\"\n (ngModelChange)=\"onToggle($event)\"\n [disabled]=\"disabled\"/>\n <div class=\"toggle-switch\" id=\"switch\">\n <div class=\"toggle-trail\"></div>\n <div class=\"toggle-box\"></div>\n </div>\n <a class=\"toggle-label\">\n <ng-content></ng-content>\n </a>\n <span *ngIf=\"description\" id=\"description\" class=\"toggle-description\">\n {{ description }}\n </span>\n</label>\n","import {NgModule} from '@angular/core';\nimport {BiitToggleComponent} from './biit-toggle.component';\nimport {FormsModule} from '@angular/forms';\nimport {CommonModule} from '@angular/common';\n\n@NgModule({\n declarations: [\n BiitToggleComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ],\n exports: [\n BiitToggleComponent\n ]\n})\nexport class BiitToggleModule { }\n","import {Component, forwardRef, Input} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\n\n@Component({\n selector: 'biit-ternary-togle',\n templateUrl: './biit-ternary-toggle.component.html',\n styleUrls: ['./biit-ternary-toggle.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitTernaryToggleComponent),\n multi: true\n }\n ]\n})\nexport class BiitTernaryToggleComponent implements ControlValueAccessor{\n @Input() disabled = false;\n checked: boolean | undefined;\n private clickTimer: NodeJS.Timeout | undefined;\n\n onChange = (value: any) => {};\n onTouched = () => {};\n\n onToggle() {\n if (this.disabled) {\n return;\n }\n switch (this.checked) {\n case true:\n this.checked = false;\n break;\n case false:\n this.checked = undefined;\n break;\n case undefined:\n this.checked = true;\n break;\n }\n if (this.clickTimer) {\n clearTimeout(this.clickTimer);\n this.clickTimer = undefined;\n }\n this.clickTimer = setTimeout(() => {\n this.onChange(this.checked);\n clearTimeout(this.clickTimer);\n this.clickTimer = undefined;\n }, 1000);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n writeValue(obj: boolean | undefined): void {\n this.checked = obj;\n }\n}\n","<div class=\"ternary-toggle-container\">\n <label><ng-content select=\"[appended-text]\"></ng-content></label>\n <label class=\"toggle-base\">\n <div class=\"toggle-switch\" (click)=\"onToggle()\">\n <div class=\"toggle-trail\" [class.checked]=\"checked\" [class.unchecked]=\"checked === false\"></div>\n <div class=\"toggle-box\" [class.checked]=\"checked\" [class.unchecked]=\"checked === false\"></div>\n <div class=\"toggle-trail\" [class.checked]=\"checked\" [class.unchecked]=\"checked === false\"></div>\n </div>\n <a class=\"toggle-label\">\n <ng-content></ng-content>\n </a>\n </label>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BiitTernaryToggleComponent } from './biit-ternary-toggle.component';\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\n\n\n\n@NgModule({\n declarations: [\n BiitTernaryToggleComponent\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule\n ],\n exports: [\n BiitTernaryToggleComponent\n ]\n})\nexport class BiitTernaryToggleModule { }\n","import {Component, Input, OnInit} from '@angular/core';\nimport {biitIcon} from '@biit-solutions/biit-icons-collection';\nimport {coerceBooleanProperty} from \"@angular/cdk/coercion\";\n\n@Component({\n selector: 'biit-toggle-button',\n template: '',\n styleUrls: ['biit-toggle-button.component.scss']\n})\n\nexport class BiitToggleButtonComponent implements OnInit {\n @Input() text: string;\n @Input() icon: biitIcon;\n @Input() value: any;\n @Input() disabled;\n\n ngOnInit() {\n this.disabled = coerceBooleanProperty(this.disabled);\n }\n}\n","import {\n Component,\n Input,\n forwardRef,\n ContentChildren,\n QueryList,\n OnInit\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {BiitToggleButtonComponent} from \"./biit-toggle-button.component\";\nimport {coerceBooleanProperty} from \"@angular/cdk/coercion\";\n\n@Component({\n selector: 'biit-toggle-group',\n templateUrl: 'biit-toggle-group.component.html',\n styleUrls: ['biit-toggle-group.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitToggleGroupComponent),\n multi: true\n }\n ]\n})\nexport class BiitToggleGroupComponent implements OnInit, ControlValueAccessor {\n @ContentChildren(BiitToggleButtonComponent) buttons: QueryList<BiitToggleButtonComponent>\n @Input() disabled;\n @Input() multiple;\n value: any | any[];\n\n onChange = (value: any) => {};\n onTouched = () => {};\n\n ngOnInit() {\n this.disabled = coerceBooleanProperty(this.disabled);\n this.multiple = coerceBooleanProperty(this.multiple);\n }\n\n onToggle(value: any) {\n if (this.multiple && !this.value) {\n this.value = [];\n }\n\n if (this.multiple) {\n if (this.value.indexOf(value) === -1) {\n this.value = [...this.value, value];\n } else {\n this.value = this.value.filter(item => value != item);\n }\n } else {\n this.value = value;\n }\n\n this.onChange(this.value);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n}\n","<div class=\"toggle-group\">\n <button\n *ngFor=\"let button of buttons\"\n [class.active]=\"multiple ? value && value.includes(button.value) : value == button.value\"\n [disabled]=\"disabled || button.disabled\"\n (click)=\"onToggle(button.value)\"\n >\n <biit-icon\n *ngIf=\"button.icon\"\n [name]=\"button.icon\"\n [pathStyle]=\"{fill: 'var(--component-color)'}\"\n style=\"display: block; height: 1em; width: 1em;\"\n ></biit-icon>\n <span\n *ngIf=\"button.text\"\n style=\"display: block\"\n >\n {{button.text}}\n </span>\n </button>\n</div>\n","import {NgModule} from '@angular/core';\nimport {BiitToggleGroupComponent} from './biit-toggle-group.component';\nimport {FormsModule} from '@angular/forms';\nimport {CommonModule} from '@angular/common';\nimport {BiitIconModule} from \"@biit-solutions/wizardry-theme/icon\";\nimport {BiitToggleButtonComponent} from \"./biit-toggle-button.component\";\n\n@NgModule({\n declarations: [\n BiitToggleGroupComponent,\n BiitToggleButtonComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n BiitIconModule,\n ],\n exports: [\n BiitToggleGroupComponent,\n BiitToggleButtonComponent\n ]\n})\nexport class BiitToggleGroupModule { }\n","import {Component, Input, forwardRef, OnInit} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\n@Component({\n selector: 'biit-radio-button',\n templateUrl: 'biit-radio-button.component.html',\n styleUrls: ['biit-radio-button.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitRadioButtonComponent),\n multi: true\n }\n ]\n})\nexport class BiitRadioButtonComponent implements ControlValueAccessor, OnInit {\n @Input() id: string;\n @Input() name: string;\n @Input() value: string;\n @Input() description: string;\n @Input() showAlwaysDescription = false;\n @Input() disabled;\n selected: any;\n hover = false;\n\n ngOnInit() {\n this.disabled = !!this.disabled;\n }\n\n onChange = (value: any) => {};\n onTouched = () => {};\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n writeValue(selected: any): void {\n this.selected = selected;\n }\n\n onModelChange(selected: any) {\n this.selected = selected;\n this.onChange(selected);\n }\n}\n","<label [class.disabled]=\"disabled\" (mouseenter)=\"hover=true\" (mouseleave)=\"hover=false\">\n <input type=\"radio\"\n [ngModel]=\"selected\"\n (ngModelChange)=\"onModelChange($event)\"\n [id]=\"id\"\n [name]=\"name\"\n [value]=\"value\"\n [class.disabled]=\"disabled\"/>\n <biit-icon [name]=\"value == selected ? 'radio_button_filled' : 'radio_button_empty'\"\n [pathStyle]=\"{fill: disabled ? '#D9D9D9' : hover || (value == selected) ? 'var(--main-color)' : 'var(--component-color)'}\"\n class=\"biit-radio\"\n [class.checked]=\"value == selected\"\n [class.disabled]=\"disabled\"\n ></biit-icon>\n <div>\n <div>\n <a><ng-content></ng-content></a>\n <biit-tooltip-icon *ngIf=\"description && !showAlwaysDescription\" inline [text]=\"description\"/>\n </div>\n <span class=\"description\" *ngIf=\"description && showAlwaysDescription\">{{ description }}</span>\n </div>\n</label>\n","import {NgModule} from '@angular/core';\nimport {BiitRadioButtonComponent} from './biit-radio-button.component';\nimport {FormsModule} from '@angular/forms';\nimport {CommonModule} from '@angular/common';\nimport {BiitIconModule} from '@biit-solutions/wizardry-theme/icon';\nimport {BiitTooltipIconModule} from \"@biit-solutions/wizardry-theme/info\";\n\n@NgModule({\n declarations: [\n BiitRadioButtonComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n BiitIconModule,\n BiitTooltipIconModule\n ],\n exports: [\n BiitRadioButtonComponent\n ]\n})\nexport class BiitRadioButtonModule { }\n","import {Component, EventEmitter, forwardRef, Input, OnInit, Output} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\nimport {biitIcon} from '@biit-solutions/biit-icons-collection';\n\n@Component({\n selector: 'biit-textarea',\n templateUrl: './biit-textarea.component.html',\n styleUrls: ['./biit-textarea.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitTextareaComponent),\n multi: true\n }\n ]\n})\nexport class BiitTextareaComponent implements ControlValueAccessor, OnInit {\n\n @Input() placeholder: string = '';\n @Input() error: string | undefined;\n @Input() description: string;\n @Input() info: string;\n @Input() icon: biitIcon;\n @Input() fieldName: string;\n @Input() maxLength: number;\n @Input() readonly: boolean;\n @Input('resize-x') resizeX: boolean;\n @Input('resize-y') resizeY: boolean;\n @Input() disabled: boolean;\n @Input() required: boolean;\n @Output() onActionPerformed: EventEmitter<string> = new EventEmitter<string>();\n\n reveal: boolean = false;\n resize: string = 'none';\n value: string;\n\n ngOnInit() {\n this.readonly = this.checkBooleanInput(this.readonly);\n this.resizeX = this.checkBooleanInput(this.resizeX);\n this.resizeY = this.checkBooleanInput(this.resizeX);\n this.disabled = this.checkBooleanInput(this.disabled);\n this.required = this.checkBooleanInput(this.required);\n\n if (this.resizeX && this.resizeY) {\n this.resize = 'both'\n } else if (this.resizeX) {\n this.resize = 'horizontal';\n } else if (this.resizeY) {\n this.resize = 'vertical';\n }\n }\n\n checkBooleanInput(value) {\n switch (value) {\n case undefined:\n return false;\n case false:\n return false;\n default:\n return true;\n }\n }\n\n onChange = (_: any) => {};\n onTouch = () => {};\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n writeValue(value: string): void {\n this.value = value;\n }\n}\n","<div class=\"biit-input\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\">\n <div class=\"input-container\">\n <biit-tooltip-icon *ngIf=\"info\"\n class=\"tooltip-icon\"\n [text]=\"info\"></biit-tooltip-icon>\n <textarea\n class=\"input-object\" required\n [(ngModel)]=\"value\"\n (ngModelChange)=\"this.onChange($event);\"\n (keydown.enter)=\"onActionPerformed.emit(value)\"\n [attr.name]=\"fieldName\"\n [attr.maxlength]=\"maxLength\"\n [class.error]=\"error\"\n [class.reveal]=\"reveal\"\n [style.resize]=\"resize\"\n ></textarea>\n <div class=\"input-placeholder\">\n {{ placeholder }}\n <a *ngIf=\"required\"\n [style.color]=\"value ? null : 'red'\">*</a>\n </div>\n <biit-icon *ngIf=\"error\" id=\"exclamation\" name=\"exclamation\" class=\"input-error-icon\"\n [pathStyle]=\"{fill:'#A1093F'}\"></biit-icon>\n <div *ngIf=\"error\" class=\"input-error-msg\" id=\"error-message\">\n <a id=\"message\">\n {{ error }}\n </a>\n </div>\n <span *ngIf=\"description\" id=\"description\" class=\"input-description\">\n {{ description }}\n </span>\n </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {\n BiitTextareaComponent,\n} from './biit-textarea.component';\nimport {CommonModule} from \"@angular/common\";\nimport {FormsModule} from '@angular/forms';\nimport {BiitIconModule} from '@biit-solutions/wizardry-theme/icon';\nimport {BiitTooltipIconModule} from \"@biit-solutions/wizardry-theme/info\";\n\n@NgModule({\n declarations: [\n BiitTextareaComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n BiitIconModule,\n BiitTooltipIconModule\n ],\n exports: [\n BiitTextareaComponent,\n ]\n})\nexport class BiitTextareaModule { }\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'calendarDate'\n})\n\nexport class CalendarDatePipe implements PipeTransform {\n\n constructor() {\n }\n transform(date: Date): number {\n return date.getDate();\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {isSameMonth} from \"date-fns\";\n\n@Pipe({\n name: 'outOfMonth'\n})\n\nexport class OutOfMonthPipe implements PipeTransform {\n\n constructor() {\n }\n transform(date: Date, viewerDate: Date): any {\n return !isSameMonth(date, viewerDate);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {isToday} from \"date-fns\";\n\n@Pipe({\n name: 'isToday'\n})\n\nexport class IsTodayPipe implements PipeTransform {\n\n constructor() {\n }\n transform(date: Date): boolean {\n return isToday(date);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {isSameDay} from \"date-fns\";\n\n@Pipe({\n name: 'isSameDay'\n})\n\nexport class IsSameDayPipe implements PipeTransform {\n\n constructor() {\n }\n transform(date1: Date, date2: Date): boolean {\n return isSameDay(date1, date2);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {isSameDay, isWeekend} from \"date-fns\";\n\n@Pipe({\n name: 'isDisabled'\n})\n\nexport class IsDisabledPipe implements PipeTransform {\n\n constructor() {\n }\n transform(date: Date, disabledDates: Date[], disableWeekdays: boolean, disableWeekends: boolean, min: Date, max: Date): boolean {\n let disabled = false;\n\n disabledDates.forEach(target => {\n if (isSameDay(date, target)) {\n disabled = true;\n }\n });\n\n if (disableWeekdays && !isWeekend(date)) {\n disabled = true;\n }\n if (disableWeekends && isWeekend(date)) {\n disabled = true;\n }\n\n if (min && date?.getTime() < min?.getTime()) disabled = true;\n if (max && date?.getTime() > max?.getTime()) disabled = true;\n\n return disabled;\n }\n}\n","import {Component, Input, forwardRef, OnInit, ElementRef, HostListener} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {eachDayOfInterval, add, setDate, startOfWeek, sub, setDefaultOptions, Locale, parseISO} from 'date-fns'\nimport {TRANSLOCO_SCOPE, TranslocoService} from \"@ngneat/transloco\";\nimport {enGB, es, nl} from \"date-fns/locale\";\nimport {coerceBooleanProperty} from \"@angular/cdk/coercion\";\n\n@Component({\n selector: 'biit-datepicker',\n templateUrl: 'biit-datepicker.component.html',\n styleUrls: ['biit-datepicker.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitDatePickerComponent),\n multi: true\n },\n {\n provide: TRANSLOCO_SCOPE,\n useValue: {scope: 'wizardry-theme/inputs', alias: \"inputs\"}\n }\n ],\n host: {\n '(document:pointerdown)': 'handleMouseEvents($event)'\n }\n})\nexport class BiitDatePickerComponent implements ControlValueAccessor, OnInit {\n @Input() disabled: boolean;\n @Input() readonly: boolean;\n @Input() required: boolean;\n @Input('calendar-mode') set isCalendarMode(value: any) {\n this.calendarMode = coerceBooleanProperty(value);\n }\n protected calendarMode: boolean = false;\n @Input() disabledDays: Date[] = [];\n @Input() disableWeekdays: boolean;\n @Input() disableWeekends: boolean;\n @Input() timePicker: boolean;\n @Input() min: Date;\n @Input() max: Date;\n @Input() set placeholder(placeholder: string) {\n this._placeholder = placeholder;\n }\n protected _placeholder = '';\n @Input() error: string | undefined = \"\";\n @Input() description: string;\n\n protected value: Date;\n protected dropdownOpen: boolean = false;\n protected monthSelector: boolean = false;\n protected days: Date[] = [];\n protected headers = [\"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\", \"Su\"];\n protected viewerDate = new Date();\n protected locale: Locale;\n\n protected get inputElement(): HTMLElement {return this.elem.nativeElement.querySelector('.input-object')}\n protected get dropdownElement(): HTMLElement {return this.elem.nativeElement.querySelector('.popup')}\n\n protected readonly add = add;\n protected readonly sub = sub;\n protected readonly parseISO = parseISO;\n\n @HostListener('keydown.esc', ['$event'])\n onKeyDown(e) {\n this.closeDropdown();\n }\n\n constructor(\n private elem: ElementRef,\n private transloco: TranslocoService\n ) { }\n\n checkBooleanInput(value) {\n switch (value) {\n case undefined:\n return false;\n case false:\n return false;\n default:\n return true;\n }\n }\n\n onChange = (value: Date) => {};\n onTouched = () => {};\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n writeValue(value: Date): void {\n if (this.calendarMode && !value) {\n this.value = new Date();\n } else {\n this.value = value;\n }\n }\n\n onModelChange(value: Date) {\n if (value) {\n if (this.min && new Date(value).getTime() <= (new Date(this.min).getTime())) value = add(this.min, {minutes: 1});\n if (this.max && new Date(value).getTime() > new Date(this.max).getTime()) value = sub(this.max, {minutes: 1});\n\n this.value = new Date(value);\n this.viewerDate = new Date(value);\n this.onChange(value);\n }\n }\n\n ngOnInit(): void {\n this.initLocalization();\n\n this.disabled = this.checkBooleanInput(this.disabled);\n this.readonly = this.checkBooleanInput(this.readonly);\n this.required = this.checkBooleanInput(this.required);\n this.disableWeekdays = this.checkBooleanInput(this.disableWeekdays);\n this.disableWeekends = this.checkBooleanInput(this.disableWeekends);\n this.timePicker = this.checkBooleanInput(this.timePicker);\n\n this.drawCalendar();\n }\n\n private initLocalization() {\n switch (this.transloco.getActiveLang()) {\n case 'es':\n this.locale = es;\n break;\n case 'nl':\n this.locale = nl;\n break;\n default:\n this.locale = enGB;\n }\n\n setDefaultOptions({locale: this.locale});\n }\n\n handleMouseEvents($event: PointerEvent) {\n if (this.dropdownOpen && !this.elem.nativeElement.contains($event.target)) {\n this.closeDropdown();\n }\n }\n\n changeView() {\n this.monthSelector = !this.monthSelector;\n this.setPopupComponentProperties();\n }\n\n openDropdown() {\n if (!this.value) this.onModelChange(new Date());\n\n this.viewerDate = this.value;\n this.monthSelector = false;\n this.drawCalendar();\n this.setPopupComponentProperties();\n (this.inputElement as HTMLInputElement).focus();\n\n // Setting a timeout because it doesn't load upwards/downwards css classes on execution time\n setTimeout(() => {\n this.dropdownOpen = true;\n this.dropdownElement.setAttribute('aria-expanded', \"true\");\n }, 100);\n }\n\n closeDropdown() {\n this.dropdownOpen = false;\n this.dropdownElement.setAttribute('aria-expanded', \"false\");\n this.inputElement.focus();\n }\n\n private setPopupComponentProperties() {\n let dropdown = this.dropdownElement;\n dropdown.style.display = 'block';\n\n let input = this.inputElement;\n\n // Checking available screen space\n const fitsBottom = bottomCheck();\n const fitsRight = rightCheck();\n const fitsLeft = leftCheck();\n\n if (!fitsRight && fitsLeft) {\n dropdown.style.marginLeft = input.offsetWidth - dropdown.offsetWidth + 'px';\n } else {\n dropdown.style.marginLeft = null;\n }\n\n dropdown.classList.remove('onwards');\n dropdown.classList.remove('downwards');\n\n if (!fitsBottom) {\n dropdown.classList.add('onwards');\n dropdown.style.marginTop = -(dropdown.offsetHeight + input.offsetHeight) + 'px';\n } else {\n dropdown.classList.add('downwards');\n dropdown.style.marginTop = null;\n }\n\n // Support inner functions\n function bottomCheck(): boolean {\n return input.getBoundingClientRect().bottom + dropdown.offsetHeight <= window.innerHeight ||\n input.getBoundingClientRect().top - dropdown.offsetHeight <= 0;\n }\n\n function rightCheck(): boolean {\n return input.getBoundingClientRect().right + dropdown.offsetWidth <= window.innerWidth;\n }\n\n function leftCheck(): boolean {\n return input.getBoundingClientRect().right - dropdown.offsetWidth >= 0;\n }\n }\n\n drawCalendar(): void {\n const firstDay = startOfWeek(setDate(this.viewerDate, 1));\n const lastDay = add(firstDay, {days:41});\n\n this.days = eachDayOfInterval({start:firstDay, end:lastDay});\n }\n\n prevMonth(): void {\n this.viewerDate = sub(this.viewerDate, {months:1})\n this.drawCalendar();\n }\n\n nextMonth(): void {\n this.viewerDate = add(this.viewerDate, {months:1});\n this.drawCalendar();\n }\n\n setToday(): void {\n this.viewerDate = new Date();\n this.drawCalendar();\n this.onModelChange(new Date());\n }\n\n log(value) {\n console.debug('DEVELOPMENT LOG: ', value);\n }\n}\n\n\n","<ng-container *ngIf=\"calendarMode; then calendarModeTemplate else datePickerTemplate\"></ng-container>\n\n<ng-template #datePickerTemplate>\n <div class=\"biit-input\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\" >\n <div class=\"input-container\">\n <input class=\"input-object\"\n [ngModel]=\"value && !timePicker ? (value | date: 'yyyy-MM-dd') :\n value && timePicker ? (value | date: 'yyyy-MM-dd\\THH:mm') :\n undefined\"\n (ngModelChange)=\"onModelChange(parseISO($event))\"\n [type]=\"timePicker ? 'datetime-local' : 'date'\" required\n [style.background]=\"dropdownOpen ? '#D9D9D9' : null\"\n [min]=\"min ? (min | date: 'yyyy-MM-dd') : undefined\"\n [max]=\"max ? (max | date: 'yyyy-MM-dd') : undefined\"\n [disabled]=\"disabled\"\n >\n <div class=\"input-show-icon-container\"\n [style.background]=\"dropdownOpen ? '#D9D9D9' : null\"\n (click)=\"dropdownOpen ? closeDropdown(): openDropdown()\"\n (keydown.enter)=\"dropdownOpen ? closeDropdown(): openDropdown()\"\n tabindex=\"0\">\n <biit-icon [name]=\"'calendar'\"\n class=\"input-show-icon\"\n [pathStyle]=\"{fill: dropdownOpen ? 'var(--main-color)' : 'var(--chart-component-color)'}\"\n ></biit-icon>\n </div>\n <div class=\"input-placeholder input-filled\">\n {{_placeholder}}\n <a *ngIf=\"required\"\n [style.color]=\"value ? null : 'red'\">*</a>\n </div>\n <biit-icon *ngIf=\"error || (value | isDisabled: disabledDays: disableWeekdays: disableWeekends: min: max)\"\n name=\"exclamation\"\n class=\"input-error-icon\"\n [pathStyle]=\"{fill:'#A1093F'}\"\n ></biit-icon>\n <div *ngIf=\"description\" class=\"input-description\">\n <a>\n {{description}}\n </a>\n </div>\n\n <div style=\"position: relative; height: 0;\">\n <div class=\"popup\"\n [class.dropdown-open]=\"dropdownOpen\"\n [style.height]=\"!monthSelector && timePicker ? '29.1em + 3px)' : null\">\n <div *ngIf=\"!monthSelector\"\n class=\"month-view\">\n <div class=\"month-selector\">\n <button biit-icon\n [icon]=\"'right_arrow'\"\n style=\"rotate: 180deg\"\n (click)=\"prevMonth()\"\n ></button>\n <button biit-button tertiary\n class=\"month-label\"\n (click)=\"changeView()\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </button>\n <button biit-icon\n [icon]=\"'right_arrow'\"\n (click)=\"nextMonth()\"\n ></button>\n </div>\n\n <div class=\"grid\">\n <div *ngFor=\"let day of days | slice:0:7\"\n class=\"grid-element header\">\n {{(day | translocoDate: {weekday: 'short'}).substring(0,2) }}\n </div>\n <button *ngFor=\"let day of days\"\n class=\"grid-element day\"\n [class.outer-day]=\"day | outOfMonth: viewerDate\"\n [class.is-today]=\"day | isToday\"\n [class.selected]=\"day | isSameDay: value\"\n [class.disabled]=\"day | isDisabled: disabledDays: disableWeekdays: disableWeekends: sub(min, {days: 1}): add(max, {days: 1})\"\n (click)=\"onModelChange(day)\"\n tabindex=\"0\"\n >\n {{day | calendarDate}}\n </button>\n </div>\n\n <div class=\"buttons\">\n <button biit-button tertiary\n class=\"today-btn\"\n (click)=\"setToday()\">\n {{'inputs.today' | transloco}}\n </button>\n <button biit-button tertiary\n (click)=\"closeDropdown()\">\n {{'inputs.done' | transloco}}\n </button>\n </div>\n\n <div class=\"time-picker\" *ngIf=\"!monthSelector && timePicker\">\n <div class=\"selector\">\n <div class=\"column\"\n style=\"min-width: 2em;\">\n <div class=\"item arrow\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n {{ value ? (sub(value, {hours: 1}) | date: 'H') : '' }}\n </div>\n <div class=\"item primary\">\n {{ value ? (value | date: 'H') : '' }}\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n {{ value ? (add(value, {hours: 1}) | date: 'H') : '' }}\n </div>\n <div class=\"item arrow\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n <div class=\"column\"\n style=\"min-width: 2em;\">\n <div class=\"item arrow\"\n (click)=\"onModelChange(sub(value, {minutes: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(sub(value, {minutes: 1}))\">\n {{ value ? (sub(value, {minutes: 1}) | date: 'mm') : '' }}\n </div>\n <div class=\"item primary\">\n {{ value ? (value | date: 'mm') : '' }}\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(add(value, {minutes: 1}))\">\n {{ value ? (add(value, {minutes: 1}) | date: 'mm') : '' }}\n </div>\n <div class=\"item arrow\"\n (click)=\"onModelChange(add(value, {minutes: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"year-view\" *ngIf=\"monthSelector\">\n <div class=\"month-selector\">\n <button biit-button tertiary\n class=\"month-label\"\n (click)=\"changeView()\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </button>\n </div>\n\n <div class=\"selector\">\n <div class=\"column\"\n style=\"min-width: 8em;\">\n <div class=\"item arrow\"\n (click)=\"prevMonth()\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = sub(viewerDate, {months: 2})\">\n {{sub(viewerDate, {months: 2}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"prevMonth()\">\n {{sub(viewerDate, {months: 1}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item primary\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"nextMonth()\">\n {{add(viewerDate, {months: 1}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = add(viewerDate, {months: 2})\">\n {{add(viewerDate, {months: 2}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item arrow\"\n (click)=\"nextMonth()\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n\n <div class=\"column\"\n style=\"min-width: 5em;\">\n <div class=\"item arrow\"\n (click)=\"viewerDate = sub(viewerDate, {years: 1})\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = sub(viewerDate, {years: 2})\">\n {{sub(viewerDate, {years: 2}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"viewerDate = sub(viewerDate, {years: 1})\">\n {{sub(viewerDate, {years: 1}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item primary\">\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"viewerDate = add(viewerDate, {years: 1})\">\n {{add(viewerDate, {years: 1}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = add(viewerDate, {years: 2})\">\n {{add(viewerDate, {years: 2}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item arrow\"\n (click)=\"viewerDate = add(viewerDate, {years: 1})\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n </div>\n\n <div class=\"buttons\">\n <button biit-button tertiary\n (click)=\"drawCalendar(); changeView()\">\n {{'inputs.back' | transloco}}\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"bottom-line\"></div>\n <div *ngIf=\"error\" class=\"input-error-msg\">\n <a>\n {{error}}\n </a>\n </div>\n <div *ngIf=\"value | isDisabled: disabledDays: disableWeekdays: disableWeekends: min: max\" class=\"input-error-msg\">\n <a>\n {{'inputs.date-error' | transloco}}\n </a>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #calendarModeTemplate>\n <div class=\"popup calendar-mode\"\n [style.height]=\"!monthSelector && timePicker ? 'calc(29.1em + 3px)' : null\">\n <div *ngIf=\"!monthSelector\"\n class=\"month-view\">\n <div class=\"month-selector\">\n <button biit-icon\n [icon]=\"'right_arrow'\"\n style=\"rotate: 180deg\"\n (click)=\"prevMonth()\"\n ></button>\n <button biit-button tertiary\n class=\"month-label\"\n (click)=\"changeView()\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </button>\n <button biit-icon\n [icon]=\"'right_arrow'\"\n (click)=\"nextMonth()\"\n ></button>\n </div>\n\n <div class=\"grid\">\n <div *ngFor=\"let day of days | slice:0:7\"\n class=\"grid-element header\">\n {{(day | translocoDate: {weekday: 'short'}).substring(0,2) }}\n </div>\n <button *ngFor=\"let day of days\"\n class=\"grid-element day\"\n [class.outer-day]=\"day | outOfMonth: viewerDate\"\n [class.is-today]=\"day | isToday\"\n [class.selected]=\"day | isSameDay: value\"\n [class.disabled]=\"day | isDisabled: disabledDays: disableWeekdays: disableWeekends: sub(min, {days: 1}): add(max, {days: 1})\"\n (click)=\"onModelChange(day)\"\n tabindex=\"0\"\n >\n {{day | calendarDate}}\n </button>\n </div>\n\n <div class=\"buttons\">\n <button biit-button tertiary\n class=\"today-btn\"\n (click)=\"setToday()\">\n {{'inputs.today' | transloco}}\n </button>\n </div>\n </div>\n\n <div class=\"time-picker\" *ngIf=\"!monthSelector && timePicker\">\n <div class=\"selector\">\n <div class=\"column\"\n style=\"min-width: 2em;\">\n <div class=\"item arrow\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n {{ value ? (sub(value, {hours: 1}) | date: 'H') : '' }}\n </div>\n <div class=\"item primary\">\n {{ value ? (value | date: 'H') : '' }}\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n {{ value ? (add(value, {hours: 1}) | date: 'H') : '' }}\n </div>\n <div class=\"item arrow\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n <div class=\"column\"\n style=\"min-width: 2em;\">\n <div class=\"item arrow\"\n (click)=\"onModelChange(sub(value, {minutes: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n {{ value ? (sub(value, {minutes: 1}) | date: 'mm') : '' }}\n </div>\n <div class=\"item primary\">\n {{ value ? (value | date: 'mm') : '' }}\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n {{ value ? (add(value, {minutes: 1}) | date: 'mm') : '' }}\n </div>\n <div class=\"item arrow\"\n (click)=\"onModelChange(add(value, {minutes: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"year-view\" *ngIf=\"monthSelector\">\n <div class=\"month-selector\">\n <button biit-button tertiary\n class=\"month-label\"\n (click)=\"changeView()\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </button>\n </div>\n\n <div class=\"selector\">\n <div class=\"column\"\n style=\"min-width: 8em;\">\n <div class=\"item arrow\"\n (click)=\"prevMonth()\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = sub(viewerDate, {months: 2})\">\n {{sub(viewerDate, {months: 2}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"prevMonth()\">\n {{sub(viewerDate, {months: 1}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item primary\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"nextMonth()\">\n {{add(viewerDate, {months: 1}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = add(viewerDate, {months: 2})\">\n {{add(viewerDate, {months: 2}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item arrow\"\n (click)=\"nextMonth()\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n\n <div class=\"column\"\n style=\"min-width: 5em;\">\n <div class=\"item arrow\"\n (click)=\"viewerDate = sub(viewerDate, {years: 1})\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = sub(viewerDate, {years: 2})\">\n {{sub(viewerDate, {years: 2}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"viewerDate = sub(viewerDate, {years: 1})\">\n {{sub(viewerDate, {years: 1}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item primary\">\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"viewerDate = add(viewerDate, {years: 1})\">\n {{add(viewerDate, {years: 1}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = add(viewerDate, {years: 2})\">\n {{add(viewerDate, {years: 2}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item arrow\"\n (click)=\"viewerDate = add(viewerDate, {years: 1})\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n </div>\n\n <div class=\"buttons\">\n <button biit-button tertiary\n (click)=\"drawCalendar(); changeView()\">\n {{'inputs.back' | transloco}}\n </button>\n </div>\n </div>\n </div>\n</ng-template>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {TranslocoService} from \"@ngneat/transloco\";\nimport {Observable} from \"rxjs\";\n\n@Pipe({\n name: 'monthSelectorLabel',\n pure: false\n})\n\nexport class MonthSelectorLabelPipe implements PipeTransform {\n\n constructor(private transloco: TranslocoService) {\n }\n transform(date: Date): Observable<string> {\n let month = 'inputs.month-' + (date.getMonth()+1);\n return this.transloco.selectTranslate(month);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {CommonModule} from '@angular/common';\nimport {BiitDatePickerComponent} from \"./biit-datepicker.component\";\nimport {BiitButtonModule, BiitIconButtonModule} from \"@biit-solutions/wizardry-theme/button\";\nimport {MonthSelectorLabelPipe} from \"./pipes/month-selector-label-pipe\";\nimport {IsTodayPipe} from \"./pipes/is-today-pipe\";\nimport {OutOfMonthPipe} from \"./pipes/out-of-month-pipe\";\nimport {CalendarDatePipe} from \"./pipes/calendar-date-pipe\";\nimport {IsSameDayPipe} from \"./pipes/is-same-day-pipe\";\nimport {IsDisabledPipe} from \"./pipes/is-disabled-pipe\";\nimport {TranslocoRootModule} from \"@biit-solutions/wizardry-theme/i18n\";\nimport {LocalizedDatePipeModule} from \"@biit-solutions/wizardry-theme/utils\";\nimport {TranslocoDatePipe} from \"@ngneat/transloco-locale\";\nimport {BiitIconModule} from \"@biit-solutions/wizardry-theme/icon\";\n\n@NgModule({\n declarations: [\n BiitDatePickerComponent,\n MonthSelectorLabelPipe,\n CalendarDatePipe,\n OutOfMonthPipe,\n IsTodayPipe,\n IsSameDayPipe,\n IsDisabledPipe\n ],\n imports: [\n CommonModule,\n FormsModule,\n BiitIconButtonModule,\n BiitButtonModule,\n TranslocoRootModule,\n LocalizedDatePipeModule,\n TranslocoDatePipe,\n BiitIconModule\n ],\n exports: [\n BiitDatePickerComponent\n ]\n})\nexport class BiitDatePickerModule { }\n","export enum View {\n MONTH = 'MONTH',\n YEAR = 'YEAR'\n}\n","import {AfterViewChecked, Component, ElementRef, forwardRef, Input, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\n\n@Component({\n selector: 'biit-slider',\n templateUrl: './biit-slider.component.html',\n styleUrls: ['./biit-slider.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitSliderComponent),\n multi: true\n }\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class BiitSliderComponent implements ControlValueAccessor, AfterViewChecked {\n @Input() min: number;\n @Input() max: number;\n @Input() step: number;\n @Input() ticks: number;\n @Input() labels: string[] = [];\n @Input() showTooltip: boolean = true;\n\n protected value: number;\n protected disabled: boolean = false;\n protected tooltipBoxVisible: boolean = false;\n\n @ViewChild('ranger') slider: ElementRef;\n @ViewChild('tooltip') tooltip: ElementRef;\n\n onChange = (_: any) => {\n };\n onTouch = () => {\n };\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n }\n\n writeValue(value: number): void {\n this.value = value;\n }\n\n ngAfterViewChecked() {\n this.progressScript();\n }\n\n progressScript() {\n const slider = this.slider.nativeElement;\n const tooltip = this.tooltip.nativeElement;\n const progress = ((slider.value - slider.min) * 100) / (slider.max - slider.min);\n\n // Set slider bar background colors according to progress\n this.slider.nativeElement.style.background = `linear-gradient(to right, var(--main-color) ${progress}%, #D7D7D7 ${progress}%)`;\n\n // Set slider tooltip position\n const tooltipPosition = (parseFloat(getComputedStyle(document.documentElement).fontSize) * 0.15) - (progress * 0.2);\n tooltip.innerHTML = `<span>${slider.value}</span>`;\n tooltip.style.left = `calc(${progress}% + (${tooltipPosition}px))`;\n }\n\n updateValue(index: number) {\n const result = this.min + ((this.max - this.min) / (this.ticks - 1) * index);\n this.writeValue(result);\n this.onChange(this.value);\n }\n}\n","<div class=\"slider\">\n <input #ranger type=\"range\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange(ranger.value);\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n (input)=\"progressScript()\"\n (pointerdown)=\"tooltipBoxVisible = true\"\n (pointerup)=\"tooltipBoxVisible = false\"\n >\n <div #tooltip class=\"tooltip\" [style.opacity]=\"tooltipBoxVisible && showTooltip ? '100%' : '0%'\"></div>\n <div class=\"ticks\">\n <span *ngFor=\"let tick of [].constructor(ticks); index as i\"\n [class.no-labels]=\"!labels.length\"\n (click)=\"updateValue(i)\">\n {{labels[i]}}\n </span>\n </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from \"@angular/common\";\nimport {FormsModule} from '@angular/forms';\nimport {BiitIconModule} from '@biit-solutions/wizardry-theme/icon';\nimport {BiitSliderComponent} from \"./biit-slider.component\";\n\n@NgModule({\n declarations: [\n BiitSliderComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n BiitIconModule\n ],\n exports: [\n BiitSliderComponent,\n ]\n})\nexport class BiitSliderModule { }\n","import {AfterViewChecked, Component, ElementRef, forwardRef, Input, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\n\n@Component({\n selector: 'biit-slider-range',\n templateUrl: './biit-slider-range.component.html',\n styleUrls: ['./biit-slider-range.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitSliderRangeComponent),\n multi: true\n }\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class BiitSliderRangeComponent implements ControlValueAccessor, AfterViewChecked {\n @Input() min: number;\n @Input() max: number;\n @Input() step: number = 1;\n @Input() separator: number = 1;\n @Input() ticks: number;\n @Input() labels: string[] = [];\n\n protected value: number[];\n protected disabled: boolean = false;\n protected showTooltip: boolean = false;\n\n @ViewChild('ranger1') slider1: ElementRef;\n @ViewChild('ranger2') slider2: ElementRef;\n @ViewChild('tooltip') tooltip: ElementRef;\n\n onChange = (_: any) => {};\n onTouch = () => {};\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n }\n\n writeValue(value: number[]): void {\n this.value = value;\n }\n\n ngAfterViewChecked() {\n this.progressScript();\n }\n\n checkValues(activeSlider?: string) {\n const slider1 = this.slider1.nativeElement;\n const slider2 = this.slider2.nativeElement;\n const slider1steps = (slider1.value - this.min) / this.step;\n const slider2steps = (slider2.value - this.min) / this.step;\n const separatorSteps = Math.ceil(this.separator / this.step);\n\n if (activeSlider == 'ranger1' &&\n slider1.value > this.min + (slider2steps - separatorSteps) * this.step) {\n slider1.value = this.min + (slider2steps - separatorSteps) * this.step;\n this.value[0] = this.min + (slider2steps - separatorSteps) * this.step;\n }\n\n if (activeSlider == 'ranger2' &&\n slider2.value < this.min + (slider1steps + separatorSteps) * this.step) {\n slider2.value = this.min + (slider1steps + separatorSteps) * this.step;\n this.value[1] = this.min + (slider1steps + separatorSteps) * this.step;\n }\n }\n\n progressScript(activeSlider?: string) {\n const slider1 = this.slider1.nativeElement;\n const slider2 = this.slider2.nativeElement;\n const tooltip = this.tooltip.nativeElement;\n\n const progress1 = ((slider1.value - this.min) * 100) / (this.max - this.min);\n const progress2 = ((slider2.value - this.min) * 100) / (this.max - this.min);\n\n // Set slider bar background colors according to progress\n this.slider1.nativeElement.style.background = `linear-gradient(to right, #D7D7D7 ${progress1}%, var(--main-color) ${progress1}%, var(--main-color) ${progress2}%, #D7D7D7 ${progress2}%)`;\n\n // Set slider tooltip position\n if (activeSlider == 'ranger1') {\n const tooltipPosition = (parseFloat(getComputedStyle(document.documentElement).fontSize) * 0.15) - (progress1 * 0.2);\n tooltip.innerHTML = `<span>${slider1.value}</span>`;\n tooltip.style.left = `calc(${progress1}% + (${tooltipPosition}px))`;\n } else if (activeSlider == 'ranger2') {\n const tooltipPosition = (parseFloat(getComputedStyle(document.documentElement).fontSize) * 0.15) - (progress2 * 0.2);\n tooltip.innerHTML = `<span>${slider2.value}</span>`;\n tooltip.style.left = `calc(${progress2}% + (${tooltipPosition}px))`;\n }\n }\n}\n","<div class=\"slider\">\n <input #ranger1 type=\"range\"\n [(ngModel)]=\"value[0]\"\n (ngModelChange)=\"onChange(value);\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n (input)=\"checkValues('ranger1'); progressScript('ranger1')\"\n (pointerdown)=\"progressScript('ranger1'); showTooltip = true\"\n (pointerup)=\"showTooltip = false\"\n >\n <input #ranger2 type=\"range\"\n [(ngModel)]=\"value[1]\"\n (ngModelChange)=\"onChange(value);\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n (input)=\"checkValues('ranger2'); progressScript('ranger2')\"\n (pointerdown)=\"progressScript('ranger2'); showTooltip = true\"\n (pointerup)=\"showTooltip = false\"\n >\n <div #tooltip class=\"tooltip\" [style.opacity]=\"showTooltip ? '100%' : '0%'\"></div>\n <div class=\"ticks\">\n <span *ngFor=\"let tick of [].constructor(ticks); index as i\"\n [class.no-labels]=\"!labels.length\">\n {{labels[i]}}\n </span>\n </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from \"@angular/common\";\nimport {FormsModule} from '@angular/forms';\nimport {BiitIconModule} from '@biit-solutions/wizardry-theme/icon';\nimport {BiitSliderRangeComponent} from \"./biit-slider-range.component\";\n\n@NgModule({\n declarations: [\n BiitSliderRangeComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n BiitIconModule\n ],\n exports: [\n BiitSliderRangeComponent,\n ]\n})\nexport class BiitSliderRangeModule { }\n","import {\n AfterViewChecked,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Input,\n OnInit,\n ViewChild\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\n\n@Component({\n selector: 'biit-slider-option',\n templateUrl: './biit-slider-option.component.html',\n styleUrls: ['./biit-slider-option.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitSliderOptionComponent),\n multi: true\n }\n ]\n})\nexport class BiitSliderOptionComponent implements ControlValueAccessor, AfterViewChecked, OnInit {\n @Input() data: { value: string | number, label: string, description: string }[];\n @Input() inverted = false;\n @Input() showTooltip: boolean = true;\n\n @HostBinding('style.--label-percent') labelPercent;\n\n get index() {\n return this.data.findIndex(i => i.value == this.value);\n }\n\n protected value: string | number;\n protected disabled: boolean = false;\n protected tooltipBoxVisible: boolean = false;\n\n @ViewChild('rangerHor') slider: ElementRef;\n @ViewChild('tooltip') tooltip: ElementRef;\n\n constructor(private cdRef: ChangeDetectorRef) {\n }\n\n onChange = (_: any) => {\n };\n onTouch = () => {\n };\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n }\n\n writeValue(value: string | number): void {\n this.value = value;\n }\n\n ngOnInit() {\n this.labelPercent = (100 / this.data.filter(d => d.label).length) - 5 + '%';\n }\n\n ngAfterViewChecked() {\n this.progressScript();\n this.cdRef.detectChanges();\n }\n\n progressScript() {\n const slider = this.slider.nativeElement;\n const tooltip = this.tooltip.nativeElement;\n\n const progress = ((slider.value - slider.min) * 100) / (slider.max - slider.min);\n\n // Set slider bar background colors according to progress\n if (!this.inverted) {\n this.slider.nativeElement.style.background = `linear-gradient(to right, var(--main-color) ${progress}%, #D7D7D7 ${progress}%)`;\n } else {\n this.slider.nativeElement.style.background = `linear-gradient(to left, var(--main-color) ${progress}%, #D7D7D7 ${progress}%)`;\n }\n\n // Set tooltip text\n tooltip.innerHTML = `<span>${this.data[slider.value].value}</span>`;\n\n // Set slider tooltip position\n const tooltipPosition = (parseFloat(getComputedStyle(document.documentElement).fontSize) * 0.5) - (progress * 0.16);\n\n if (!this.inverted) {\n tooltip.firstChild.style.left = '-50%';\n tooltip.style.left = `calc(${progress}% + (${tooltipPosition}px))`;\n } else {\n tooltip.firstChild.style.left = '50%';\n tooltip.style.right = `calc(${progress}% + (${tooltipPosition}px))`;\n }\n }\n}\n","<div class=\"slider-option\">\n <input #rangerHor type=\"range\"\n orient=\"horizontal\"\n [class.inverted]=\"inverted\"\n [ngModel]=\"index\"\n (ngModelChange)=\"onChange(this.data[rangerHor.value].value);\"\n [min]=\"0\"\n [max]=\"data.length - 1\"\n [step]=\"1\"\n (input)=\"progressScript()\"\n (pointerdown)=\"tooltipBoxVisible = true\"\n (pointerup)=\"tooltipBoxVisible = false\"\n >\n\n <div class=\"ticks\">\n <div #tooltip class=\"tooltip-slider\" [style.opacity]=\"tooltipBoxVisible && showTooltip ? '100%' : '0%'\"></div>\n <span *ngFor=\"let tick of $any(data); index as i; count as c\"\n [class.hide-tick]=\"!(!inverted ? data[i] : data[c-i-1]).label\">\n <span (click)=\"value = (!inverted ? data[i] : data[c-i-1]).value; onChange((!inverted ? data[i] : data[c-i-1]).value)\">\n <span>\n {{(!inverted ? data[i] : data[c-i-1]).label}}\n </span>\n <biit-tooltip-icon *ngIf=\"(!inverted ? data[i] : data[c-i-1]).description\"\n [text]=\"(!inverted ? data[i] : data[c-i-1]).description\"\n ></biit-tooltip-icon>\n </span>\n </span>\n </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from \"@angular/common\";\nimport {FormsModule} from '@angular/forms';\nimport {BiitIconModule} from '@biit-solutions/wizardry-theme/icon';\nimport {BiitSliderOptionComponent} from \"./biit-slider-option.component\";\nimport {BiitTooltipIconModule} from \"@biit-solutions/wizardry-theme/info\";\n\n@NgModule({\n declarations: [\n BiitSliderOptionComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n BiitIconModule,\n BiitTooltipIconModule\n ],\n exports: [\n BiitSliderOptionComponent,\n ]\n})\nexport class BiitSliderOptionModule { }\n","import {\n AfterViewChecked,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n Input,\n OnInit,\n ViewChild\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\n\n@Component({\n selector: 'biit-slider-option-vertical',\n templateUrl: './biit-slider-option-vertical.component.html',\n styleUrls: ['./biit-slider-option-vertical.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitSliderOptionVerticalComponent),\n multi: true\n }\n ]\n})\nexport class BiitSliderOptionVerticalComponent implements ControlValueAccessor, AfterViewChecked, OnInit {\n @Input() data: { value: string | number, label: string, description: string }[];\n @Input() inverted = false;\n @Input() showDescription = true;\n @Input() showTooltip: boolean = true;\n\n get index() {\n return this.data.findIndex(i => i.value == this.value);\n }\n\n protected value: string | number;\n protected disabled: boolean = false;\n protected tooltipBoxVisible: boolean = false;\n\n @ViewChild('rangerVer') slider: ElementRef;\n @ViewChild('tooltip') tooltip: ElementRef;\n\n constructor(private cdRef: ChangeDetectorRef) {\n }\n\n onChange = (_: any) => {\n };\n onTouch = () => {\n };\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n }\n\n writeValue(value: string | number): void {\n this.value = value;\n }\n\n ngOnInit() {\n }\n\n ngAfterViewChecked() {\n this.progressScript();\n this.cdRef.detectChanges();\n }\n\n progressScript() {\n const slider = this.slider.nativeElement;\n const tooltip = this.tooltip.nativeElement;\n\n const progress = ((slider.value - slider.min) * 100) / (slider.max - slider.min);\n\n // Set slider bar background colors according to progress\n if (!this.inverted) {\n this.slider.nativeElement.style.background = `linear-gradient(to top, var(--main-color) ${progress}%, #D7D7D7 ${progress}%)`;\n } else {\n this.slider.nativeElement.style.background = `linear-gradient(to bottom, var(--main-color) ${progress}%, #D7D7D7 ${progress}%)`;\n }\n\n // Set tooltip text\n tooltip.innerHTML = `<span>${this.data[slider.value].value}</span>`;\n\n // Set slider tooltip position\n const tooltipPosition = (-parseFloat(getComputedStyle(document.documentElement).fontSize) * 0.5) - (progress * 0.16);\n tooltip.firstChild.style.left = 'calc(-6px + -50%)';\n\n if (!this.inverted) {\n tooltip.style.bottom = `calc(${progress}% + (${tooltipPosition}px) + 2rem)`;\n } else {\n tooltip.style.top = `calc(${progress}% + (${tooltipPosition}px) - 1.5rem)`;\n }\n }\n}\n","<div class=\"slider-vertical\">\n <input #rangerVer type=\"range\"\n orient=\"vertical\"\n class=\"vertical\"\n [class.inverted]=\"inverted\"\n [ngModel]=\"index\"\n (ngModelChange)=\"onChange(this.data[rangerVer.value].value);\"\n [min]=\"0\"\n [max]=\"data.length - 1\"\n [step]=\"1\"\n (input)=\"progressScript()\"\n (pointerdown)=\"tooltipBoxVisible = true\"\n (pointerup)=\"tooltipBoxVisible = false\"\n >\n\n <div class=\"ticks vertical\">\n <div #tooltip class=\"tooltip-slider\" [style.opacity]=\"tooltipBoxVisible && showTooltip ? '100%' : '0%'\"></div>\n <div *ngFor=\"let tick of $any(data); index as i; count as c\"\n class=\"tick\"\n [class.hide-tick]=\"!(!inverted ? data[i] : data[c-i-1]).label\"\n >\n <span></span>\n <div class=\"label\" [class.show-desc]=\"showDescription\"\n (click)=\"value = (!inverted ? data[i] : data[c-i-1]).value; onChange((!inverted ? data[i] : data[c-i-1]).value)\">\n <span>\n {{(!inverted ? data[i] : data[c-i-1]).label}}\n </span>\n <span class=\"description\" *ngIf=\"showDescription\">\n {{(!inverted ? data[i] : data[c-i-1]).description}}\n </span>\n <biit-tooltip-icon *ngIf=\"(!inverted ? data[i] : data[c-i-1]).description && !showDescription\"\n [text]=\"(!inverted ? data[i] : data[c-i-1]).description\"\n ></biit-tooltip-icon>\n </div>\n </div>\n </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from \"@angular/common\";\nimport {FormsModule} from '@angular/forms';\nimport {BiitIconModule} from '@biit-solutions/wizardry-theme/icon';\nimport {BiitSliderOptionVerticalComponent} from \"./biit-slider-option-vertical.component\";\nimport {BiitTooltipIconModule} from \"@biit-solutions/wizardry-theme/info\";\n\n@NgModule({\n declarations: [\n BiitSliderOptionVerticalComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n BiitIconModule,\n BiitTooltipIconModule\n ],\n exports: [\n BiitSliderOptionVerticalComponent,\n ]\n})\nexport class BiitSliderOptionVerticalModule { }\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {coerceBooleanProperty} from \"@angular/cdk/coercion\";\n\n@Component({\n selector: 'biit-group',\n templateUrl: './biit-group.component.html',\n styleUrls: ['./biit-group.component.scss']\n})\nexport class BiitGroupComponent {\n @Input() legend: string;\n @Input() description: string;\n protected isEnabledPlus: boolean;\n @Input() set enablePlus(enabled: any) {\n this.isEnabledPlus = coerceBooleanProperty(enabled);\n };\n protected isEnabledMinus: boolean;\n @Input() set enableMinus(enabled: any) {\n this.isEnabledMinus = coerceBooleanProperty(enabled);\n };\n @Output() onPlusClick: EventEmitter<void> = new EventEmitter<void>();\n @Output() onMinusClick: EventEmitter<void> = new EventEmitter<void>();\n}\n","<fieldset>\n <legend *ngIf=\"legend\">\n {{ legend }}\n </legend>\n\n <div class=\"grp-buttons\">\n <button biit-icon\n icon=\"plus\"\n *ngIf=\"isEnabledPlus\"\n (click)=\"onPlusClick.emit()\"\n ></button>\n <button biit-icon\n icon=\"minus\"\n *ngIf=\"isEnabledMinus\"\n (click)=\"onMinusClick.emit()\"\n ></button>\n </div>\n\n <ng-content></ng-content>\n</fieldset>\n<span *ngIf=\"description\"\n class=\"grp-description\">\n {{description}}\n</span>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from \"@angular/common\";\nimport {BiitGroupComponent} from \"./biit-group.component\";\nimport {FormsModule} from \"@angular/forms\";\nimport {BiitIconButtonModule} from \"@biit-solutions/wizardry-theme/button\";\n\n@NgModule({\n declarations: [\n BiitGroupComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n BiitIconButtonModule\n ],\n exports: [\n BiitGroupComponent\n ]\n})\nexport class BiitGroupModule { }\n","/*\n * Public API Surface of wizardry-theme/inputs\n */\n\nexport * from \"./biit-input-text/biit-input-text.module\"\nexport * from \"./biit-input-text/biit-input-text.component\"\nexport * from './biit-dropdown/biit-dropdown.module';\nexport * from './biit-dropdown/biit-dropdown.component';\nexport * from './biit-multiselect/biit-multiselect.module';\nexport * from './biit-multiselect/biit-multiselect.component';\nexport * from './biit-toggle/biit-toggle.module';\nexport * from './biit-toggle/biit-toggle.component';\nexport * from './biit-ternary-togle/biit-ternary-toggle.module';\nexport * from './biit-ternary-togle/biit-ternary-toggle.component';\nexport * from './biit-toggle-group/biit-toggle-group.module';\nexport * from './biit-toggle-group/biit-toggle-group.component';\nexport * from './biit-toggle-group/biit-toggle-button.component';\nexport * from './biit-checkbox/biit-checkbox.module';\nexport * from './biit-checkbox/biit-checkbox.component';\nexport * from './biit-radio-button/biit-radio-button.module';\nexport * from './biit-radio-button/biit-radio-button.component';\nexport * from './biit-textarea/biit-textarea.module';\nexport * from './biit-textarea/biit-textarea.component';\nexport * from './biit-datepicker/biit-datepicker.module';\nexport * from './biit-datepicker/biit-datepicker.component';\nexport * from './biit-datepicker/models/view'\nexport * from './biit-slider/biit-slider.module';\nexport * from './biit-slider/biit-slider.component';\nexport * from './biit-slider-range/biit-slider-range.module';\nexport * from './biit-slider-range/biit-slider-range.component';\nexport * from './biit-slider-option/biit-slider-option.module';\nexport * from './biit-slider-option/biit-slider-option.component';\nexport * from './biit-slider-option-vertical/biit-slider-option-vertical.module';\nexport * from './biit-slider-option-vertical/biit-slider-option-vertical.component';\nexport * from './biit-group/biit-group.module';\nexport * from './biit-group/biit-group.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i4","i5","i1","i4.BiitCheckboxComponent","i7.CalendarDatePipe","i8.OutOfMonthPipe","i9.IsTodayPipe","i10.IsSameDayPipe","i11.IsDisabledPipe"],"mappings":"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"}
1
+ {"version":3,"file":"biit-solutions-wizardry-theme-inputs.mjs","sources":["../../../projects/wizardry-theme/inputs/src/biit-input-text/biit-input-text.component.ts","../../../projects/wizardry-theme/inputs/src/biit-input-text/biit-input-text.component.html","../../../projects/wizardry-theme/inputs/src/biit-input-text/biit-input-text.module.ts","../../../projects/wizardry-theme/inputs/src/biit-dropdown/biit-dropdown.component.ts","../../../projects/wizardry-theme/inputs/src/biit-dropdown/biit-dropdown.component.html","../../../projects/wizardry-theme/inputs/src/biit-dropdown/biit-dropdown.module.ts","../../../projects/wizardry-theme/inputs/src/biit-checkbox/biit-checkbox.component.ts","../../../projects/wizardry-theme/inputs/src/biit-checkbox/biit-checkbox.component.html","../../../projects/wizardry-theme/inputs/src/biit-multiselect/biit-multiselect.component.ts","../../../projects/wizardry-theme/inputs/src/biit-multiselect/biit-multiselect.component.html","../../../projects/wizardry-theme/inputs/src/biit-checkbox/biit-checkbox.module.ts","../../../projects/wizardry-theme/inputs/src/biit-multiselect/biit-multiselect.module.ts","../../../projects/wizardry-theme/inputs/src/biit-toggle/biit-toggle.component.ts","../../../projects/wizardry-theme/inputs/src/biit-toggle/biit-toggle.component.html","../../../projects/wizardry-theme/inputs/src/biit-toggle/biit-toggle.module.ts","../../../projects/wizardry-theme/inputs/src/biit-ternary-togle/biit-ternary-toggle.component.ts","../../../projects/wizardry-theme/inputs/src/biit-ternary-togle/biit-ternary-toggle.component.html","../../../projects/wizardry-theme/inputs/src/biit-ternary-togle/biit-ternary-toggle.module.ts","../../../projects/wizardry-theme/inputs/src/biit-toggle-group/biit-toggle-button.component.ts","../../../projects/wizardry-theme/inputs/src/biit-toggle-group/biit-toggle-group.component.ts","../../../projects/wizardry-theme/inputs/src/biit-toggle-group/biit-toggle-group.component.html","../../../projects/wizardry-theme/inputs/src/biit-toggle-group/biit-toggle-group.module.ts","../../../projects/wizardry-theme/inputs/src/biit-radio-button/biit-radio-button.component.ts","../../../projects/wizardry-theme/inputs/src/biit-radio-button/biit-radio-button.component.html","../../../projects/wizardry-theme/inputs/src/biit-radio-button/biit-radio-button.module.ts","../../../projects/wizardry-theme/inputs/src/biit-textarea/biit-textarea.component.ts","../../../projects/wizardry-theme/inputs/src/biit-textarea/biit-textarea.component.html","../../../projects/wizardry-theme/inputs/src/biit-textarea/biit-textarea.module.ts","../../../projects/wizardry-theme/inputs/src/biit-datepicker/pipes/calendar-date-pipe.ts","../../../projects/wizardry-theme/inputs/src/biit-datepicker/pipes/out-of-month-pipe.ts","../../../projects/wizardry-theme/inputs/src/biit-datepicker/pipes/is-today-pipe.ts","../../../projects/wizardry-theme/inputs/src/biit-datepicker/pipes/is-same-day-pipe.ts","../../../projects/wizardry-theme/inputs/src/biit-datepicker/pipes/is-disabled-pipe.ts","../../../projects/wizardry-theme/inputs/src/biit-datepicker/biit-datepicker.component.ts","../../../projects/wizardry-theme/inputs/src/biit-datepicker/biit-datepicker.component.html","../../../projects/wizardry-theme/inputs/src/biit-datepicker/pipes/month-selector-label-pipe.ts","../../../projects/wizardry-theme/inputs/src/biit-datepicker/biit-datepicker.module.ts","../../../projects/wizardry-theme/inputs/src/biit-datepicker/models/view.ts","../../../projects/wizardry-theme/inputs/src/biit-slider/biit-slider.component.ts","../../../projects/wizardry-theme/inputs/src/biit-slider/biit-slider.component.html","../../../projects/wizardry-theme/inputs/src/biit-slider/biit-slider.module.ts","../../../projects/wizardry-theme/inputs/src/biit-slider-range/biit-slider-range.component.ts","../../../projects/wizardry-theme/inputs/src/biit-slider-range/biit-slider-range.component.html","../../../projects/wizardry-theme/inputs/src/biit-slider-range/biit-slider-range.module.ts","../../../projects/wizardry-theme/inputs/src/biit-slider-option/biit-slider-option.component.ts","../../../projects/wizardry-theme/inputs/src/biit-slider-option/biit-slider-option.component.html","../../../projects/wizardry-theme/inputs/src/biit-slider-option/biit-slider-option.module.ts","../../../projects/wizardry-theme/inputs/src/biit-slider-option-vertical/biit-slider-option-vertical.component.ts","../../../projects/wizardry-theme/inputs/src/biit-slider-option-vertical/biit-slider-option-vertical.component.html","../../../projects/wizardry-theme/inputs/src/biit-slider-option-vertical/biit-slider-option-vertical.module.ts","../../../projects/wizardry-theme/inputs/src/biit-group/biit-group.component.ts","../../../projects/wizardry-theme/inputs/src/biit-group/biit-group.component.html","../../../projects/wizardry-theme/inputs/src/biit-group/biit-group.module.ts","../../../projects/wizardry-theme/inputs/src/public-api.ts","../../../projects/wizardry-theme/inputs/src/biit-solutions-wizardry-theme-inputs.ts"],"sourcesContent":["import {Component, EventEmitter, forwardRef, Input, OnInit, Output, ChangeDetectorRef} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\nimport {biitIcon} from '@biit-solutions/biit-icons-collection';\nimport {TRANSLOCO_SCOPE} from \"@ngneat/transloco\";\nimport {coerceBooleanProperty} from \"@angular/cdk/coercion\";\n\n@Component({\n selector: 'biit-input-text',\n templateUrl: './biit-input-text.component.html',\n styleUrls: ['./biit-input-text.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitInputTextComponent),\n multi: true\n },\n {\n provide: TRANSLOCO_SCOPE,\n useValue: {scope: 'wizardry-theme/inputs', alias: \"inputs\"}\n }\n ]\n})\nexport class BiitInputTextComponent implements ControlValueAccessor, OnInit {\n\n @Input() set placeholder(placeholder: string) {\n this._placeholder = placeholder;\n }\n protected _placeholder = '';\n @Input() error: string | undefined;\n @Input() description: string;\n @Input() info: string;\n @Input() type: Type;\n @Input() icon: biitIcon;\n @Input() fieldName: string;\n @Input() disabled;\n @Input() required;\n @Input() readonly;\n @Input() min: number;\n @Input() max: number;\n @Input() minLength: number;\n @Input() maxLength: number;\n @Input() regEx: RegExp;\n @Output() onActionPerformed: EventEmitter<string> = new EventEmitter<string>();\n\n reveal: boolean = false;\n value: string;\n minLengthError: boolean = false;\n regExError: boolean = false;\n protected readonly Type = Type;\n\n ngOnInit() {\n this.disabled = coerceBooleanProperty(this.disabled);\n this.required = coerceBooleanProperty(this.required);\n this.readonly = coerceBooleanProperty(this.readonly);\n\n if (this.type == Type.EMAIL) {\n this.regEx = new RegExp(\"(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\\\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\\\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\\\])\");\n }\n }\n\n validateInput() {\n if (this.value !== undefined) {\n if (this.regEx) {\n this.regExError = !this.regEx.test(this.value);\n }\n if (this.minLength) {\n this.minLengthError = this.value.length < this.minLength;\n }\n } else {\n this.regExError = false;\n this.minLengthError = false;\n }\n }\n\n onChange = (_: any) => {};\n onTouch = () => {};\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n writeValue(value: string): void {\n this.value = value;\n }\n\n protected checkValue(event: KeyboardEvent) {\n if (this.type === Type.NUMBER) {\n const input = event.target as HTMLInputElement;\n const cursorPos = input.selectionStart ?? 0;\n const value = input.value;\n\n // Allow digits and control keys\n if (/[0-9]/.test(event.key) || ['Backspace', 'Tab', 'ArrowLeft', 'ArrowRight', 'Delete'].includes(event.key)) {\n return;\n }\n // Allow '-' only at the start and if not already present\n if (event.key === '-' && cursorPos === 0 && !value.startsWith('-')) {\n return;\n }\n // Allow '.' or ',' only if neither is present\n if ((event.key === '.' || event.key === ',') && !value.includes('.') && !value.includes(',')) {\n return;\n }\n event.preventDefault();\n }\n }\n}\n\nexport enum Type {\n TEXT = 'TEXT',\n NUMBER = 'NUMBER',\n EMAIL = 'EMAIL',\n PASSWORD = 'PASSWORD'\n}\n","<div class=\"biit-input\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\" *transloco=\"let t\">\n <div class=\"input-container\">\n <biit-tooltip-icon *ngIf=\"info\"\n class=\"tooltip-icon\"\n [text]=\"info\"></biit-tooltip-icon>\n <input\n class=\"input-object\"\n (keydown)=\"checkValue($event)\"\n [(ngModel)]=\"value\"\n (input)=\"value\"\n (ngModelChange)=\"onChange($event); validateInput();\"\n (keydown.enter)=\"onActionPerformed.emit(value)\"\n [type]=\"reveal ? Type.TEXT : type\" required\n [min]=\"min\"\n [max]=\"max\"\n [minlength]=\"minLength\"\n [maxlength]=\"maxLength ? maxLength : 100\"\n [attr.name]=\"fieldName\"\n [class.error]=\"error || regExError || minLengthError\"\n [class.reveal]=\"reveal\"\n >\n <div *ngIf=\"type === Type.PASSWORD || icon\" class=\"input-show-icon-container\"\n (click)=\"reveal = (type === Type.PASSWORD ? !reveal : false); onActionPerformed.emit(value)\"\n (keydown.enter)=\"reveal = (type === Type.PASSWORD ? !reveal : false); onActionPerformed.emit(value)\"\n tabindex=\"0\">\n <biit-icon [name]=\"type === Type.PASSWORD ? 'show' : icon\"\n class=\"input-show-icon\"\n [pathStyle]=\"{fill: reveal ? 'var(--main-color)' : 'var(--component-color)'}\"\n ></biit-icon>\n </div>\n <div class=\"input-placeholder\" [class.input-filled]=\"this.value?.toString().length\">\n {{ _placeholder }}\n <a *ngIf=\"required\"\n [style.color]=\"value ? null : 'red'\">*</a>\n </div>\n <biit-icon *ngIf=\"error || regExError || minLengthError\" id=\"exclamation\" name=\"exclamation\"\n class=\"input-error-icon\" [pathStyle]=\"{fill:'#A1093F'}\"></biit-icon>\n <div class=\"bottom-line\"\n [class.disabled]=\"disabled\"\n [class.readonly]=\"readonly\"\n ></div>\n <div *ngIf=\"error\" class=\"input-error-msg\" id=\"error-message\">\n <a id=\"message\">\n {{ error }}\n </a>\n </div>\n <div *ngIf=\"regExError && !error\" id=\"regex-error-message\" class=\"input-error-msg\">\n <a id=\"regex-message\">\n {{ t('inputs.regex-error') }}\n </a>\n </div>\n <div *ngIf=\"minLengthError && !error && !regExError\" id=\"length-error-message\" class=\"input-error-msg\">\n <a id=\"length-message\">\n {{ t('inputs.minlength-error') }}\n </a>\n </div>\n <span *ngIf=\"description\" id=\"description\" class=\"input-description\">\n {{ description }}\n </span>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BiitInputTextComponent } from './biit-input-text.component';\nimport {BiitIconModule} from \"@biit-solutions/wizardry-theme/icon\";\nimport {FormsModule} from \"@angular/forms\";\nimport {TranslocoRootModule} from \"@biit-solutions/wizardry-theme/i18n\";\nimport {BiitTooltipIconModule} from \"@biit-solutions/wizardry-theme/info\";\n\n@NgModule({\n declarations: [\n BiitInputTextComponent\n ],\n imports: [\n CommonModule,\n BiitIconModule,\n FormsModule,\n TranslocoRootModule,\n BiitTooltipIconModule\n ],\n exports: [\n BiitInputTextComponent\n ]\n})\nexport class BiitInputTextModule { }\n","import {\n Component,\n DoCheck,\n ElementRef,\n forwardRef,\n Input,\n IterableDiffer,\n IterableDiffers,\n OnInit\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {coerceBooleanProperty} from \"@angular/cdk/coercion\";\nimport {biitIcon} from '@biit-solutions/biit-icons-collection';\nimport {BiitMultiselectType} from \"../biit-multiselect/biit-multiselect.component\";\n\n@Component({\n selector: 'biit-dropdown',\n templateUrl: './biit-dropdown.component.html',\n styleUrls: ['./biit-dropdown.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitDropdownComponent),\n multi: true\n }\n ],\n host: {\n '(document:pointerdown)': 'handleMouseEvents($event)'\n }\n})\nexport class BiitDropdownComponent implements ControlValueAccessor, OnInit, DoCheck {\n\n @Input() title: string;\n @Input() label: string = '';\n @Input() value: string = '';\n @Input() descriptionLabel: string = '';\n @Input() description: string = '';\n @Input() data: any[] = [];\n protected isPrimitive: boolean;\n @Input() set primitive(primitive: any) {\n this.isPrimitive = coerceBooleanProperty(primitive);\n };\n protected isCompact: boolean;\n @Input() set compact(compact: any) {\n this.isCompact = coerceBooleanProperty(compact);\n };\n protected isDisabled: boolean;\n @Input() set disabled(disabled: any) {\n this.isDisabled = coerceBooleanProperty(disabled);\n };\n protected isRequired: boolean;\n @Input() set required(required: any) {\n this.isRequired = coerceBooleanProperty(required);\n };\n protected isSortAsc: boolean;\n @Input('sort-asc') set sortAsc(sortAsc: any) {\n this.isSortAsc = coerceBooleanProperty(sortAsc);\n };\n protected isSortDesc: boolean;\n @Input('sort-desc') set sortDesc(sortDesc: any) {\n this.isSortDesc = coerceBooleanProperty(sortDesc);\n };\n @Input() icon: biitIcon;\n\n public currentValue;\n public filterText: string = '';\n public filteredData: any[];\n public dropdownOpen: boolean = false;\n public get dropdownElement(): HTMLElement {return this.elem.nativeElement.querySelector('.dropdown-list')}\n public get inputElement(): HTMLElement {return this.elem.nativeElement.querySelector('.input-object')}\n\n private differ: IterableDiffer<string>;\n\n constructor(\n private elem: ElementRef,\n iDiff: IterableDiffers\n ) {\n this.differ = iDiff.find(this.data).create();\n }\n\n ngOnInit() {\n this.handleFilter();\n }\n\n ngDoCheck() {\n if (this.differ.diff(this.data)) {\n this.handleFilter();\n }\n }\n\n onChange = (value: any) => {};\n onTouched = () => {};\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n writeValue(value: any): void {\n this.currentValue = this.isPrimitive ? this.data.find(i => i[this.value] === value) : value;\n }\n\n onModelChange(value: any) {\n this.currentValue = value;\n this.closeDropdown();\n this.onChange(this.isPrimitive ? value[this.value] : value);\n }\n\n handleMouseEvents($event: PointerEvent) {\n if (this.dropdownOpen && !this.elem.nativeElement.contains($event.target)) {\n this.closeDropdown();\n }\n }\n\n handleKeyboardEvents($event: KeyboardEvent) {\n switch ($event.key) {\n case 'ArrowUp':\n if (this.dropdownOpen){\n if (document.activeElement.tagName == \"BUTTON\" && document.activeElement.previousElementSibling) {\n (document.activeElement.previousElementSibling as HTMLElement)?.focus();\n } else if (document.activeElement !== this.inputElement) {\n this.inputElement.focus();\n }\n } else if (this.data.findIndex(i => i == this.currentValue) > 0) {\n this.onModelChange(this.data[this.data.findIndex(i => i == this.currentValue) - 1]);\n }\n break;\n\n case 'ArrowDown':\n if (this.dropdownOpen){\n if (document.activeElement === this.inputElement && this.filteredData.length) {\n (this.dropdownElement.firstChild as HTMLElement).focus();\n } else {\n (document.activeElement.nextElementSibling as HTMLElement)?.focus();\n }\n } else if (this.data.findIndex(i => i == this.currentValue) < this.data.length -1) {\n this.onModelChange(this.data[this.data.findIndex(i => i == this.currentValue) + 1]);\n }\n break;\n\n case 'Escape':\n if (document.activeElement.tagName == \"BUTTON\") {\n this.inputElement.focus();\n } else {\n this.closeDropdown();\n }\n break;\n\n default:\n break;\n }\n $event.stopPropagation();\n }\n\n handleFilter() {\n if (this.data) {\n this.sortData();\n if (this.filterText) {\n if (this.isPrimitive) {\n this.filteredData = this.data.filter(item =>\n item.toString().toLowerCase().includes(\n this.filterText.normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\").toLowerCase()));\n } else {\n this.filteredData = this.data.filter(item =>\n item[this.label].toLowerCase().includes(\n this.filterText.normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\").toLowerCase()));\n }\n } else {\n this.filteredData = this.data;\n }\n } else {\n this.filteredData = [];\n }\n }\n\n clearFilter() {\n this.filterText = '';\n this.handleFilter();\n }\n\n sortData() {\n if (this.isPrimitive) {\n if (this.isSortAsc || this.isSortDesc) {\n this.data.sort(\n (a,b) => this.isSortAsc ? (a>b ? 1 : (b>a ? -1 : 0)) : (a>b ? -1 : (b>a ? 1 : 0))\n );\n }\n } else {\n if (this.isSortAsc || this.isSortDesc) {\n this.data.sort((a,b) => {\n if ( a[this.label] < b[this.label] ){\n return this.isSortAsc ? -1 : 1;\n } else if ( a[this.label] > b[this.label] ){\n return this.isSortAsc ? 1 : -1;\n } else {\n return 0;\n }\n });\n }\n }\n }\n\n openDropdown() {\n this.setTooltipComponentProperties();\n if (!this.icon) {\n (this.inputElement as HTMLInputElement).focus();\n }\n\n // Setting a timeout because it doesn't load upwards/downwards css classes on execution time\n setTimeout(() => {\n this.dropdownOpen = true;\n this.dropdownElement.setAttribute('aria-expanded', \"true\");\n }, 100);\n }\n\n closeDropdown() {\n this.dropdownOpen = false;\n this.dropdownElement.setAttribute('aria-expanded', \"false\");\n setTimeout(() => { this.clearFilter(); }, 1000);\n }\n\n private setTooltipComponentProperties() {\n let button;\n let dropdown = this.dropdownElement;\n dropdown.style.display = 'block';\n\n if (!this.icon) {\n button = this.inputElement;\n } else {\n button = this.elem.nativeElement.querySelector(\"button\");\n }\n\n // Checking available screen space\n const fitsBottom = bottomCheck();\n const fitsRight = rightCheck();\n const fitsLeft = leftCheck();\n\n if (!fitsRight && fitsLeft) {\n dropdown.style.marginLeft = button.offsetWidth - dropdown.offsetWidth + 'px';\n } else {\n dropdown.style.marginLeft = null;\n }\n\n dropdown.classList.remove('onwards');\n dropdown.classList.remove('downwards');\n\n if (!fitsBottom) {\n dropdown.classList.add('onwards');\n dropdown.style.marginTop = -(dropdown.offsetHeight + button.offsetHeight) + 'px';\n } else {\n dropdown.classList.add('downwards');\n dropdown.style.marginTop = null;\n }\n\n // Support inner functions\n function bottomCheck(): boolean {\n return button.getBoundingClientRect().bottom + dropdown.offsetHeight <= window.innerHeight ||\n button.getBoundingClientRect().top - dropdown.offsetHeight <= 0;\n }\n\n function rightCheck(): boolean {\n return button.getBoundingClientRect().right + dropdown.offsetWidth <= window.innerWidth;\n }\n\n function leftCheck(): boolean {\n return button.getBoundingClientRect().right - dropdown.offsetWidth >= 0;\n }\n }\n}\n","<div class=\"biit-input\" aria-haspopup=\"listbox\"\n *ngIf=\"!icon\"\n [class.compact]=\"isCompact\"\n [class.disabled]=\"isDisabled\"\n (keydown)=\"!isDisabled && handleKeyboardEvents($event)\"\n (keydown.enter)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n>\n <div class=\"input-container\" #input>\n <input [ngModel]=\"dropdownOpen ? filterText :\n currentValue && !label ? currentValue :\n currentValue && currentValue[label] ? currentValue[label] : ''\"\n (ngModelChange)=\"filterText = $event; handleFilter()\"\n (click)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n [placeholder]=\"dropdownOpen && currentValue && !label ? currentValue :\n dropdownOpen && currentValue && currentValue[label] ? currentValue[label] : ''\"\n tabindex=\"0\"\n class=\"input-object\"\n [class.grey-bg]=\"dropdownOpen\"\n [class.default-cursor]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n [readonly]=\"!dropdownOpen\"/>\n <div class=\"input-show-icon-container\"\n [class.passthrough]=\"!dropdownOpen\"\n [class.rotate-90]=\"dropdownOpen\"\n (click)=\"dropdownOpen && closeDropdown()\">\n <biit-icon [name]=\"'right_arrow'\"\n class=\"input-show-icon\"\n [pathStyle]=\"{fill: isDisabled ? '#D9D9D9' : dropdownOpen ? 'var(--main-color)' : 'var(--component-color)'}\"\n ></biit-icon>\n </div>\n <div id=\"dropdown-label\"\n class=\"input-placeholder\"\n [class.disabled]=\"isDisabled\"\n [class.compact]=\"dropdownOpen || currentValue\">\n {{ title }}\n <a *ngIf=\"isRequired\"\n [style.color]=\"currentValue ? null : 'red'\">*</a>\n </div>\n <div class=\"bottom-line\"\n [class.disabled]=\"isDisabled\"\n ></div>\n <span class=\"description\">{{ description }}</span>\n </div>\n</div>\n<button biit-icon\n *ngIf=\"icon\"\n [icon]=\"icon\"\n (click)=\"!dropdownOpen ? openDropdown() : closeDropdown()\"\n [checked]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n></button>\n<div style=\"position: relative; height: 0; width: 100%\">\n <div #dropdown id=\"dropdown\"\n [class.disabled]=\"isDisabled\"\n [style.overflow]=\"dropdownOpen ? undefined : 'hidden'\"\n class=\"dropdown-list\"\n role=\"listbox\"\n aria-expanded=\"false\"\n aria-labelledby=\"dropdown-label\"\n [class.dropdown-open]=\"dropdownOpen\"\n [class.compact]=\"isCompact\"\n (keydown)=\"handleKeyboardEvents($event)\"\n >\n <button\n *ngFor=\"let item of filteredData; index as i\"\n (click)=\"onModelChange(item)\"\n [class.selected]=\"currentValue === item\"\n class=\"dropdown-item\"\n role=\"option\"\n aria-selected=\"false\"\n [id]=\"i\"\n [tabindex]=\"!dropdownOpen || isDisabled ? -1 : 0\"\n [disabled]=\"!dropdownOpen || isDisabled\"\n >\n <div id=\"content\">\n <a>{{ label ? item[label] : item }}</a>\n <span *ngIf=\"descriptionLabel && item[descriptionLabel]\" class=\"description\">{{ item[descriptionLabel] }}</span>\n </div>\n </button>\n <button *ngIf=\"!filteredData.length\"\n class=\"dropdown-item no-results\"\n disabled\n >\n <a>No results found</a>\n </button>\n </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {BiitDropdownComponent} from './biit-dropdown.component';\nimport {FormsModule} from '@angular/forms';\nimport {CommonModule} from '@angular/common';\nimport {BiitIconModule} from '@biit-solutions/wizardry-theme/icon';\nimport {BiitIconButtonModule} from \"@biit-solutions/wizardry-theme/button\";\n\n@NgModule({\n declarations: [\n BiitDropdownComponent\n ],\n imports: [\n FormsModule,\n CommonModule,\n BiitIconModule,\n BiitIconButtonModule\n ],\n exports: [\n BiitDropdownComponent\n ]\n})\nexport class BiitDropdownModule { }\n","import {Component, EventEmitter, forwardRef, Input, Output} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\n@Component({\n selector: 'biit-checkbox',\n templateUrl: 'biit-checkbox.component.html',\n styleUrls: ['biit-checkbox.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitCheckboxComponent),\n multi: true\n }\n ]\n})\nexport class BiitCheckboxComponent implements ControlValueAccessor {\n @Input() disabled = false;\n @Input() description: string;\n @Input() showAlwaysDescription = false;\n @Output() onValueChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n checked: any;\n\n onChange = (value: any) => {\n };\n onTouched = () => {\n };\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n writeValue(checked: boolean): void {\n this.checked = checked;\n }\n\n onModelChange(event: boolean) {\n this.checked = event;\n this.onChange(event);\n this.onValueChange.emit(this.checked);\n }\n}\n","<label [class.disabled]=\"disabled\" id=\"biit-checkbox\" class=\"biit-checkbox\">\n <input [attr.id]=\"checked?'checked':'unchecked'\"\n type=\"checkbox\"\n class=\"checkbox-box\"\n [ngModel]=\"checked\"\n (ngModelChange)=\"onModelChange($event)\"\n [disabled]=\"disabled\"/>\n <div>\n <div>\n <a>\n <ng-content></ng-content>\n </a>\n <biit-tooltip-icon *ngIf=\"description && !showAlwaysDescription\" inline [text]=\"description\"/>\n </div>\n <span class=\"description\" *ngIf=\"description && showAlwaysDescription\">{{ description }}</span>\n </div>\n</label>\n","import {\n AfterViewInit,\n Component,\n DoCheck,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n IterableDiffer,\n IterableDiffers,\n OnInit,\n Output\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {biitIcon} from '@biit-solutions/biit-icons-collection';\nimport {coerceBooleanProperty} from \"@angular/cdk/coercion\";\n\nexport enum BiitMultiselectType {\n DEFAULT = 'default',\n ICON = 'icon',\n CHIPS = 'chips'\n}\n\n@Component({\n selector: 'biit-multiselect',\n templateUrl: './biit-multiselect.component.html',\n styleUrls: ['./biit-multiselect.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitMultiselectComponent),\n multi: true\n }\n ],\n host: {\n '(document:pointerdown)': 'handleMouseEvents($event)'\n }\n})\n\nexport class BiitMultiselectComponent implements ControlValueAccessor, OnInit, AfterViewInit, DoCheck {\n\n @Input() title: string;\n @Input() type: BiitMultiselectType = BiitMultiselectType.DEFAULT;\n @Input() icon: biitIcon = 'column_selection';\n @Input() label: string = '';\n @Input() value: string = '';\n @Input() descriptionField: string = '';\n @Input() description: string = '';\n @Input() data: any[] = [];\n protected isPrimitive: boolean;\n\n @Input() set primitive(primitive: any) {\n this.isPrimitive = coerceBooleanProperty(primitive);\n };\n\n protected isCompact: boolean;\n\n @Input() set compact(compact: any) {\n this.isCompact = coerceBooleanProperty(compact);\n };\n\n protected isDisabled: boolean;\n\n @Input() set disabled(disabled: any) {\n this.isDisabled = coerceBooleanProperty(disabled);\n };\n\n protected isRequired: boolean;\n\n @Input() set required(required: any) {\n this.isRequired = coerceBooleanProperty(required);\n };\n\n protected isSortAsc: boolean;\n\n @Input('sort-asc') set sortAsc(sortAsc: any) {\n this.isSortAsc = coerceBooleanProperty(sortAsc);\n };\n\n protected isSortDesc: boolean;\n\n @Input('sort-desc') set sortDesc(sortDesc: any) {\n this.isSortDesc = coerceBooleanProperty(sortDesc);\n };\n\n @Output() onCreate: EventEmitter<string> = new EventEmitter<string>();\n\n public currentValues: any[] = [];\n public filterText: string = '';\n public filteredData: any[] = [];\n public dropdownOpen: boolean = false;\n\n public get dropdownElement(): HTMLElement {\n return this.elem.nativeElement.querySelector('.dropdown-list')\n };\n\n public get inputElement(): HTMLElement {\n return this.elem.nativeElement.querySelector('.input-object')\n };\n\n public hover = new MouseEvent('pointerover', {'bubbles': true});\n\n private differ: IterableDiffer<string>;\n\n constructor(\n private elem: ElementRef,\n iDiff: IterableDiffers\n ) {\n this.differ = iDiff.find(this.data).create();\n }\n\n ngOnInit() {\n this.handleFilter();\n }\n\n ngDoCheck() {\n if (this.differ.diff(this.data)) {\n this.handleFilter();\n }\n }\n\n checkBooleanInput(value) {\n switch (value) {\n case undefined:\n return false;\n case false:\n return false;\n default:\n return true;\n }\n }\n\n ngAfterViewInit() {\n this.dropdownElement?.querySelectorAll('.disabled').forEach(i => {\n i.classList.remove('disabled');\n });\n }\n\n onChange = (values: any[]) => {\n };\n onTouched = () => {\n };\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n writeValue(values: any[]): void {\n if (values) {\n this.currentValues = values;\n } else {\n this.currentValues = [];\n }\n }\n\n onModelChange(value: any) {\n if (this.currentValues) {\n if (!this.currentValues.includes(value)) {\n this.currentValues.push(value);\n } else {\n this.currentValues.splice(this.currentValues.indexOf(value), 1);\n }\n }\n this.onChange(this.currentValues);\n }\n\n handleMouseEvents($event: PointerEvent) {\n if (!this.elem.nativeElement.contains($event.target)) {\n this.closeDropdown();\n }\n }\n\n handleKeyboardEvents($event: KeyboardEvent) {\n switch ($event.key) {\n case 'ArrowUp':\n if (document.activeElement.tagName == \"BIIT-CHECKBOX\") {\n (document.activeElement.previousElementSibling as HTMLElement)?.focus();\n }\n break;\n\n case 'ArrowDown':\n if (document.activeElement.tagName == \"BIIT-CHECKBOX\") {\n (document.activeElement.nextElementSibling as HTMLElement)?.focus();\n }\n break;\n\n case 'Escape':\n if (document.activeElement.tagName == \"BIIT-CHECKBOX\" && this.type == BiitMultiselectType.DEFAULT) {\n this.inputElement.focus();\n } else {\n this.closeDropdown();\n }\n break;\n\n default:\n break;\n }\n }\n\n handleFilter() {\n if (this.data) {\n this.sortData();\n if (this.filterText) {\n if (this.isPrimitive) {\n this.filteredData = this.data.filter(item =>\n item.toString().toLowerCase().includes(\n this.filterText.normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\").toLowerCase()));\n } else {\n this.filteredData = this.data.filter(item =>\n item[this.label].toLowerCase().includes(\n this.filterText.normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\").toLowerCase()));\n }\n } else {\n this.filteredData = this.data;\n }\n } else {\n this.filteredData = [];\n }\n }\n\n clearFilter() {\n this.filterText = '';\n this.handleFilter();\n }\n\n sortData() {\n if (this.isPrimitive) {\n if (this.isSortAsc || this.isSortDesc) {\n this.data.sort(\n (a, b) => this.isSortAsc ? (a > b ? 1 : (b > a ? -1 : 0)) : (a > b ? -1 : (b > a ? 1 : 0))\n );\n }\n } else {\n if (this.isSortAsc || this.isSortDesc) {\n this.data.sort((a, b) => {\n if (this.currentValues.includes(a) && !this.currentValues.includes(b)) return -1;\n if (!this.currentValues.includes(a) && this.currentValues.includes(b)) return 1;\n if (a[this.label] < b[this.label]) {\n return this.isSortAsc ? -1 : 1;\n } else if (a[this.label] > b[this.label]) {\n return this.isSortAsc ? 1 : -1;\n } else {\n return 0;\n }\n });\n } else {\n this.data.sort((a, b) => {\n if (this.currentValues) {\n if (this.currentValues.includes(a) && !this.currentValues.includes(b)) return -1;\n if (!this.currentValues.includes(a) && this.currentValues.includes(b)) return 1;\n }\n return 0;\n })\n }\n }\n }\n\n openDropdown() {\n this.setTooltipComponentProperties();\n if (this.type !== BiitMultiselectType.ICON) {\n (this.inputElement as HTMLInputElement).focus();\n }\n\n // Setting a timeout because it doesn't load upwards/downwards css classes on execution time\n setTimeout(() => {\n this.dropdownOpen = true;\n this.dropdownElement.setAttribute('aria-expanded', \"true\");\n }, 100);\n }\n\n closeDropdown() {\n this.dropdownOpen = false;\n this.dropdownElement.setAttribute('aria-expanded', \"false\");\n setTimeout(() => {\n this.clearFilter();\n }, 100);\n }\n\n private setTooltipComponentProperties() {\n let button;\n let dropdown = this.dropdownElement;\n dropdown.style.display = 'block';\n\n if (this.type !== BiitMultiselectType.ICON) {\n button = this.inputElement;\n } else {\n button = this.elem.nativeElement.querySelector(\"button\");\n }\n\n // Checking available screen space\n const fitsBottom = bottomCheck();\n const fitsRight = rightCheck();\n const fitsLeft = leftCheck();\n\n if (!fitsRight && fitsLeft) {\n dropdown.style.marginLeft = button.offsetWidth - dropdown.offsetWidth + 'px';\n } else {\n dropdown.style.marginLeft = null;\n }\n\n dropdown.classList.remove('onwards');\n dropdown.classList.remove('downwards');\n\n if (!fitsBottom) {\n dropdown.classList.add('onwards');\n dropdown.style.marginTop = -(dropdown.offsetHeight + button.offsetHeight) + 'px';\n } else {\n dropdown.classList.add('downwards');\n dropdown.style.marginTop = null;\n }\n\n // Support inner functions\n function bottomCheck(): boolean {\n return button.getBoundingClientRect().bottom + dropdown.offsetHeight <= window.innerHeight ||\n button.getBoundingClientRect().top - dropdown.offsetHeight <= 0;\n }\n\n function rightCheck(): boolean {\n return button.getBoundingClientRect().right + dropdown.offsetWidth <= window.innerWidth;\n }\n\n function leftCheck(): boolean {\n return button.getBoundingClientRect().right - dropdown.offsetWidth >= 0;\n }\n }\n\n protected readonly BiitMultiselectType = BiitMultiselectType;\n}\n","<!-- DEFAULT MODE -->\n<div *ngIf=\"type != 'icon'\"\n class=\"biit-input\" aria-haspopup=\"listbox\"\n [class.compact]=\"isCompact\"\n [class.disabled]=\"isDisabled\"\n (keydown)=\"!isDisabled && handleKeyboardEvents($event)\"\n (keydown.enter)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n (keydown.space)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n>\n <div class=\"input-container\" #input>\n <input [ngModel]=\"dropdownOpen ? filterText :\n currentValues && currentValues.length ? currentValues.length + ' selected' : ''\"\n (ngModelChange)=\"filterText = $event; handleFilter()\"\n (click)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n (keydown.enter)=\"filterText.length ? onCreate.emit(filterText) : false; clearFilter();\"\n [placeholder]=\"dropdownOpen && currentValues && currentValues.length ? currentValues.length + ' selected' : ''\"\n tabindex=\"0\"\n class=\"input-object\"\n [class.grey-bg]=\"dropdownOpen\"\n [class.default-cursor]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n [readonly]=\"!dropdownOpen\"/>\n <div class=\"input-show-icon-container\" id=\"arrow\"\n [class.passthrough]=\"!dropdownOpen\"\n [class.rotate-90]=\"dropdownOpen\"\n (click)=\"dropdownOpen && closeDropdown()\">\n <biit-icon [name]=\"'right_arrow'\"\n class=\"input-show-icon\"\n [pathStyle]=\"{fill: isDisabled ? '#D9D9D9' : dropdownOpen ? 'var(--main-color)' : 'var(--component-color)'}\"\n ></biit-icon>\n </div>\n <div id=\"dropdown-label\"\n class=\"input-placeholder\"\n [class.disabled]=\"isDisabled\"\n [class.compact]=\"dropdownOpen || (currentValues?.length)\">\n {{ title }}\n <a *ngIf=\"isRequired\"\n [style.color]=\"currentValues.length ? null : 'red'\">*</a>\n </div>\n <div class=\"bottom-line\"\n [class.disabled]=\"isDisabled\"\n ></div>\n <span class=\"description\">{{ description }}</span>\n </div>\n</div>\n\n<!-- ICON MODE -->\n<button biit-icon *ngIf=\"type == 'icon'\"\n [icon]=\"icon\"\n (click)=\"!dropdownOpen ? openDropdown() : closeDropdown()\"\n [checked]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n></button>\n\n<!-- DROPDOWN -->\n<div style=\"position: relative; height: 0; width: 100%\">\n <div #dropdown id=\"options\"\n [class.disabled]=\"isDisabled\"\n class=\"dropdown-list\"\n role=\"listbox\"\n aria-expanded=\"false\"\n aria-labelledby=\"dropdown-label\"\n [class.dropdown-open]=\"dropdownOpen\"\n [class.compact]=\"isCompact\"\n (keydown)=\"dropdownOpen && handleKeyboardEvents($event)\"\n >\n <biit-checkbox *ngFor=\"let item of filteredData; index as i\"\n [attr.id]=\"'option-' + (isPrimitive ? item : item[label])\"\n class=\"dropdown-item\"\n [class.selected]=\"currentValues && currentValues.includes(item)\"\n [ngModel]=\"currentValues && currentValues.includes(item)\"\n [description]=\"descriptionField && item[descriptionField]\"\n (click)=\"onModelChange(item); $event.stopPropagation(); $event.preventDefault();\"\n (keydown.enter)=\"onModelChange(item)\"\n (keydown.space)=\"onModelChange(item)\"\n [tabindex]=\"!dropdownOpen || isDisabled ? -1 : 0\"\n role=\"option\"\n aria-selected=\"false\"\n [disabled]=\"false\">\n {{ isPrimitive ? item : item[label] }}\n </biit-checkbox>\n <button *ngIf=\"!filteredData?.length\"\n class=\"dropdown-item no-results\"\n disabled\n >\n <a>No results found</a>\n </button>\n </div>\n</div>\n\n<div *ngIf=\"type == 'chips'\"\n class=\"chips\">\n <span\n *ngFor=\"let item of currentValues\"\n (click)=\"onModelChange(item)\"\n class=\"chips-item\"\n >\n {{ item[label] }}\n <biit-icon\n [name]=\"'cross_wide'\"\n [pathStyle]=\"{fill: '#ffffff'}\"\n ></biit-icon>\n </span>\n</div>\n","import {NgModule} from '@angular/core';\nimport {BiitCheckboxComponent} from './biit-checkbox.component';\nimport {FormsModule} from '@angular/forms';\nimport {CommonModule} from '@angular/common';\nimport {BiitTooltipIconModule} from \"@biit-solutions/wizardry-theme/info\";\n\n@NgModule({\n declarations: [\n BiitCheckboxComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n BiitTooltipIconModule,\n ],\n exports: [\n BiitCheckboxComponent\n ]\n})\nexport class BiitCheckboxModule { }\n","import {NgModule} from '@angular/core';\nimport {BiitMultiselectComponent} from './biit-multiselect.component';\nimport {FormsModule} from '@angular/forms';\nimport {CommonModule} from '@angular/common';\nimport {BiitIconModule} from '@biit-solutions/wizardry-theme/icon';\nimport {BiitCheckboxModule} from '../biit-checkbox/biit-checkbox.module';\nimport {BiitIconButtonModule} from '@biit-solutions/wizardry-theme/button';\n\n@NgModule({\n declarations: [\n BiitMultiselectComponent\n ],\n imports: [\n FormsModule,\n CommonModule,\n BiitIconModule,\n BiitCheckboxModule,\n BiitIconButtonModule\n ],\n exports: [\n BiitMultiselectComponent\n ]\n})\nexport class BiitMultiselectModule { }\n","import {Component, Input, forwardRef} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\n@Component({\n selector: 'biit-toggle',\n templateUrl: 'biit-toggle.component.html',\n styleUrls: ['biit-toggle.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitToggleComponent),\n multi: true\n }\n ]\n})\nexport class BiitToggleComponent implements ControlValueAccessor {\n @Input() disabled = false;\n @Input() description: string;\n checked: boolean;\n\n onChange = (value: any) => {};\n onTouched = () => {};\n\n onToggle(item: boolean) {\n this.checked = item;\n this.onChange(this.checked);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n writeValue(obj: boolean): void {\n this.checked = obj;\n }\n}\n","<label class=\"toggle-base\">\n <input type=\"checkbox\" id=\"checkbox\"\n [ngModel]=\"checked\"\n (ngModelChange)=\"onToggle($event)\"\n [disabled]=\"disabled\"/>\n <div class=\"toggle-switch\" id=\"switch\">\n <div class=\"toggle-trail\"></div>\n <div class=\"toggle-box\"></div>\n </div>\n <a class=\"toggle-label\">\n <ng-content></ng-content>\n </a>\n <span *ngIf=\"description\" id=\"description\" class=\"toggle-description\">\n {{ description }}\n </span>\n</label>\n","import {NgModule} from '@angular/core';\nimport {BiitToggleComponent} from './biit-toggle.component';\nimport {FormsModule} from '@angular/forms';\nimport {CommonModule} from '@angular/common';\n\n@NgModule({\n declarations: [\n BiitToggleComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ],\n exports: [\n BiitToggleComponent\n ]\n})\nexport class BiitToggleModule { }\n","import {Component, forwardRef, Input} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\n\n@Component({\n selector: 'biit-ternary-togle',\n templateUrl: './biit-ternary-toggle.component.html',\n styleUrls: ['./biit-ternary-toggle.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitTernaryToggleComponent),\n multi: true\n }\n ]\n})\nexport class BiitTernaryToggleComponent implements ControlValueAccessor{\n @Input() disabled = false;\n checked: boolean | undefined;\n private clickTimer: NodeJS.Timeout | undefined;\n\n onChange = (value: any) => {};\n onTouched = () => {};\n\n onToggle() {\n if (this.disabled) {\n return;\n }\n switch (this.checked) {\n case true:\n this.checked = false;\n break;\n case false:\n this.checked = undefined;\n break;\n case undefined:\n this.checked = true;\n break;\n }\n if (this.clickTimer) {\n clearTimeout(this.clickTimer);\n this.clickTimer = undefined;\n }\n this.clickTimer = setTimeout(() => {\n this.onChange(this.checked);\n clearTimeout(this.clickTimer);\n this.clickTimer = undefined;\n }, 1000);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n writeValue(obj: boolean | undefined): void {\n this.checked = obj;\n }\n}\n","<div class=\"ternary-toggle-container\">\n <label><ng-content select=\"[appended-text]\"></ng-content></label>\n <label class=\"toggle-base\">\n <div class=\"toggle-switch\" (click)=\"onToggle()\">\n <div class=\"toggle-trail\" [class.checked]=\"checked\" [class.unchecked]=\"checked === false\"></div>\n <div class=\"toggle-box\" [class.checked]=\"checked\" [class.unchecked]=\"checked === false\"></div>\n <div class=\"toggle-trail\" [class.checked]=\"checked\" [class.unchecked]=\"checked === false\"></div>\n </div>\n <a class=\"toggle-label\">\n <ng-content></ng-content>\n </a>\n </label>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BiitTernaryToggleComponent } from './biit-ternary-toggle.component';\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\n\n\n\n@NgModule({\n declarations: [\n BiitTernaryToggleComponent\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule\n ],\n exports: [\n BiitTernaryToggleComponent\n ]\n})\nexport class BiitTernaryToggleModule { }\n","import {Component, Input, OnInit} from '@angular/core';\nimport {biitIcon} from '@biit-solutions/biit-icons-collection';\nimport {coerceBooleanProperty} from \"@angular/cdk/coercion\";\n\n@Component({\n selector: 'biit-toggle-button',\n template: '',\n styleUrls: ['biit-toggle-button.component.scss']\n})\n\nexport class BiitToggleButtonComponent implements OnInit {\n @Input() text: string;\n @Input() icon: biitIcon;\n @Input() value: any;\n @Input() disabled;\n\n ngOnInit() {\n this.disabled = coerceBooleanProperty(this.disabled);\n }\n}\n","import {\n Component,\n Input,\n forwardRef,\n ContentChildren,\n QueryList,\n OnInit\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {BiitToggleButtonComponent} from \"./biit-toggle-button.component\";\nimport {coerceBooleanProperty} from \"@angular/cdk/coercion\";\n\n@Component({\n selector: 'biit-toggle-group',\n templateUrl: 'biit-toggle-group.component.html',\n styleUrls: ['biit-toggle-group.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitToggleGroupComponent),\n multi: true\n }\n ]\n})\nexport class BiitToggleGroupComponent implements OnInit, ControlValueAccessor {\n @ContentChildren(BiitToggleButtonComponent) buttons: QueryList<BiitToggleButtonComponent>\n @Input() disabled;\n @Input() multiple;\n value: any | any[];\n\n onChange = (value: any) => {};\n onTouched = () => {};\n\n ngOnInit() {\n this.disabled = coerceBooleanProperty(this.disabled);\n this.multiple = coerceBooleanProperty(this.multiple);\n }\n\n onToggle(value: any) {\n if (this.multiple && !this.value) {\n this.value = [];\n }\n\n if (this.multiple) {\n if (this.value.indexOf(value) === -1) {\n this.value = [...this.value, value];\n } else {\n this.value = this.value.filter(item => value != item);\n }\n } else {\n this.value = value;\n }\n\n this.onChange(this.value);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n}\n","<div class=\"toggle-group\">\n <button\n *ngFor=\"let button of buttons\"\n [class.active]=\"multiple ? value && value.includes(button.value) : value == button.value\"\n [disabled]=\"disabled || button.disabled\"\n (click)=\"onToggle(button.value)\"\n >\n <biit-icon\n *ngIf=\"button.icon\"\n [name]=\"button.icon\"\n [pathStyle]=\"{fill: 'var(--component-color)'}\"\n style=\"display: block; height: 1em; width: 1em;\"\n ></biit-icon>\n <span\n *ngIf=\"button.text\"\n style=\"display: block\"\n >\n {{button.text}}\n </span>\n </button>\n</div>\n","import {NgModule} from '@angular/core';\nimport {BiitToggleGroupComponent} from './biit-toggle-group.component';\nimport {FormsModule} from '@angular/forms';\nimport {CommonModule} from '@angular/common';\nimport {BiitIconModule} from \"@biit-solutions/wizardry-theme/icon\";\nimport {BiitToggleButtonComponent} from \"./biit-toggle-button.component\";\n\n@NgModule({\n declarations: [\n BiitToggleGroupComponent,\n BiitToggleButtonComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n BiitIconModule,\n ],\n exports: [\n BiitToggleGroupComponent,\n BiitToggleButtonComponent\n ]\n})\nexport class BiitToggleGroupModule { }\n","import {Component, Input, forwardRef, OnInit} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\n@Component({\n selector: 'biit-radio-button',\n templateUrl: 'biit-radio-button.component.html',\n styleUrls: ['biit-radio-button.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitRadioButtonComponent),\n multi: true\n }\n ]\n})\nexport class BiitRadioButtonComponent implements ControlValueAccessor, OnInit {\n @Input() id: string;\n @Input() name: string;\n @Input() value: string;\n @Input() description: string;\n @Input() showAlwaysDescription = false;\n @Input() disabled;\n selected: any;\n hover = false;\n\n ngOnInit() {\n this.disabled = !!this.disabled;\n }\n\n onChange = (value: any) => {};\n onTouched = () => {};\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n writeValue(selected: any): void {\n this.selected = selected;\n }\n\n onModelChange(selected: any) {\n this.selected = selected;\n this.onChange(selected);\n }\n}\n","<label [class.disabled]=\"disabled\" (mouseenter)=\"hover=true\" (mouseleave)=\"hover=false\">\n <input type=\"radio\"\n [ngModel]=\"selected\"\n (ngModelChange)=\"onModelChange($event)\"\n [id]=\"id\"\n [name]=\"name\"\n [value]=\"value\"\n [class.disabled]=\"disabled\"/>\n <biit-icon [name]=\"value == selected ? 'radio_button_filled' : 'radio_button_empty'\"\n [pathStyle]=\"{fill: disabled ? '#D9D9D9' : hover || (value == selected) ? 'var(--main-color)' : 'var(--component-color)'}\"\n class=\"biit-radio\"\n [class.checked]=\"value == selected\"\n [class.disabled]=\"disabled\"\n ></biit-icon>\n <div>\n <div>\n <a><ng-content></ng-content></a>\n <biit-tooltip-icon *ngIf=\"description && !showAlwaysDescription\" inline [text]=\"description\"/>\n </div>\n <span class=\"description\" *ngIf=\"description && showAlwaysDescription\">{{ description }}</span>\n </div>\n</label>\n","import {NgModule} from '@angular/core';\nimport {BiitRadioButtonComponent} from './biit-radio-button.component';\nimport {FormsModule} from '@angular/forms';\nimport {CommonModule} from '@angular/common';\nimport {BiitIconModule} from '@biit-solutions/wizardry-theme/icon';\nimport {BiitTooltipIconModule} from \"@biit-solutions/wizardry-theme/info\";\n\n@NgModule({\n declarations: [\n BiitRadioButtonComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n BiitIconModule,\n BiitTooltipIconModule\n ],\n exports: [\n BiitRadioButtonComponent\n ]\n})\nexport class BiitRadioButtonModule { }\n","import {Component, EventEmitter, forwardRef, Input, OnInit, Output} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\nimport {biitIcon} from '@biit-solutions/biit-icons-collection';\n\n@Component({\n selector: 'biit-textarea',\n templateUrl: './biit-textarea.component.html',\n styleUrls: ['./biit-textarea.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitTextareaComponent),\n multi: true\n }\n ]\n})\nexport class BiitTextareaComponent implements ControlValueAccessor, OnInit {\n\n @Input() placeholder: string = '';\n @Input() error: string | undefined;\n @Input() description: string;\n @Input() info: string;\n @Input() icon: biitIcon;\n @Input() fieldName: string;\n @Input() maxLength: number;\n @Input() readonly: boolean;\n @Input('resize-x') resizeX: boolean;\n @Input('resize-y') resizeY: boolean;\n @Input() disabled: boolean;\n @Input() required: boolean;\n @Output() onActionPerformed: EventEmitter<string> = new EventEmitter<string>();\n\n reveal: boolean = false;\n resize: string = 'none';\n value: string;\n\n ngOnInit() {\n this.readonly = this.checkBooleanInput(this.readonly);\n this.resizeX = this.checkBooleanInput(this.resizeX);\n this.resizeY = this.checkBooleanInput(this.resizeX);\n this.disabled = this.checkBooleanInput(this.disabled);\n this.required = this.checkBooleanInput(this.required);\n\n if (this.resizeX && this.resizeY) {\n this.resize = 'both'\n } else if (this.resizeX) {\n this.resize = 'horizontal';\n } else if (this.resizeY) {\n this.resize = 'vertical';\n }\n }\n\n checkBooleanInput(value) {\n switch (value) {\n case undefined:\n return false;\n case false:\n return false;\n default:\n return true;\n }\n }\n\n onChange = (_: any) => {};\n onTouch = () => {};\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n writeValue(value: string): void {\n this.value = value;\n }\n}\n","<div class=\"biit-input\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\">\n <div class=\"input-container\">\n <biit-tooltip-icon *ngIf=\"info\"\n class=\"tooltip-icon\"\n [text]=\"info\"></biit-tooltip-icon>\n <textarea\n class=\"input-object\" required\n [(ngModel)]=\"value\"\n (ngModelChange)=\"this.onChange($event);\"\n (keydown.enter)=\"onActionPerformed.emit(value)\"\n [attr.name]=\"fieldName\"\n [attr.maxlength]=\"maxLength\"\n [class.error]=\"error\"\n [class.reveal]=\"reveal\"\n [style.resize]=\"resize\"\n ></textarea>\n <div class=\"input-placeholder\">\n {{ placeholder }}\n <a *ngIf=\"required\"\n [style.color]=\"value ? null : 'red'\">*</a>\n </div>\n <biit-icon *ngIf=\"error\" id=\"exclamation\" name=\"exclamation\" class=\"input-error-icon\"\n [pathStyle]=\"{fill:'#A1093F'}\"></biit-icon>\n <div *ngIf=\"error\" class=\"input-error-msg\" id=\"error-message\">\n <a id=\"message\">\n {{ error }}\n </a>\n </div>\n <span *ngIf=\"description\" id=\"description\" class=\"input-description\">\n {{ description }}\n </span>\n </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {\n BiitTextareaComponent,\n} from './biit-textarea.component';\nimport {CommonModule} from \"@angular/common\";\nimport {FormsModule} from '@angular/forms';\nimport {BiitIconModule} from '@biit-solutions/wizardry-theme/icon';\nimport {BiitTooltipIconModule} from \"@biit-solutions/wizardry-theme/info\";\n\n@NgModule({\n declarations: [\n BiitTextareaComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n BiitIconModule,\n BiitTooltipIconModule\n ],\n exports: [\n BiitTextareaComponent,\n ]\n})\nexport class BiitTextareaModule { }\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'calendarDate'\n})\n\nexport class CalendarDatePipe implements PipeTransform {\n\n constructor() {\n }\n transform(date: Date): number {\n return date.getDate();\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {isSameMonth} from \"date-fns\";\n\n@Pipe({\n name: 'outOfMonth'\n})\n\nexport class OutOfMonthPipe implements PipeTransform {\n\n constructor() {\n }\n transform(date: Date, viewerDate: Date): any {\n return !isSameMonth(date, viewerDate);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {isToday} from \"date-fns\";\n\n@Pipe({\n name: 'isToday'\n})\n\nexport class IsTodayPipe implements PipeTransform {\n\n constructor() {\n }\n transform(date: Date): boolean {\n return isToday(date);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {isSameDay} from \"date-fns\";\n\n@Pipe({\n name: 'isSameDay'\n})\n\nexport class IsSameDayPipe implements PipeTransform {\n\n constructor() {\n }\n transform(date1: Date, date2: Date): boolean {\n return isSameDay(date1, date2);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {isSameDay, isWeekend} from \"date-fns\";\n\n@Pipe({\n name: 'isDisabled'\n})\n\nexport class IsDisabledPipe implements PipeTransform {\n\n constructor() {\n }\n transform(date: Date, disabledDates: Date[], disableWeekdays: boolean, disableWeekends: boolean, min: Date, max: Date): boolean {\n let disabled = false;\n\n disabledDates.forEach(target => {\n if (isSameDay(date, target)) {\n disabled = true;\n }\n });\n\n if (disableWeekdays && !isWeekend(date)) {\n disabled = true;\n }\n if (disableWeekends && isWeekend(date)) {\n disabled = true;\n }\n\n if (min && date?.getTime() < min?.getTime()) disabled = true;\n if (max && date?.getTime() > max?.getTime()) disabled = true;\n\n return disabled;\n }\n}\n","import {Component, Input, forwardRef, OnInit, ElementRef, HostListener} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {eachDayOfInterval, add, setDate, startOfWeek, sub, setDefaultOptions, Locale, parseISO} from 'date-fns'\nimport {TRANSLOCO_SCOPE, TranslocoService} from \"@ngneat/transloco\";\nimport {enGB, es, nl} from \"date-fns/locale\";\nimport {coerceBooleanProperty} from \"@angular/cdk/coercion\";\n\n@Component({\n selector: 'biit-datepicker',\n templateUrl: 'biit-datepicker.component.html',\n styleUrls: ['biit-datepicker.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitDatePickerComponent),\n multi: true\n },\n {\n provide: TRANSLOCO_SCOPE,\n useValue: {scope: 'wizardry-theme/inputs', alias: \"inputs\"}\n }\n ],\n host: {\n '(document:pointerdown)': 'handleMouseEvents($event)'\n }\n})\nexport class BiitDatePickerComponent implements ControlValueAccessor, OnInit {\n @Input() disabled: boolean;\n @Input() readonly: boolean;\n @Input() required: boolean;\n @Input('calendar-mode') set isCalendarMode(value: any) {\n this.calendarMode = coerceBooleanProperty(value);\n }\n protected calendarMode: boolean = false;\n @Input() disabledDays: Date[] = [];\n @Input() disableWeekdays: boolean;\n @Input() disableWeekends: boolean;\n @Input() timePicker: boolean;\n @Input() min: Date;\n @Input() max: Date;\n @Input() set placeholder(placeholder: string) {\n this._placeholder = placeholder;\n }\n protected _placeholder = '';\n @Input() error: string | undefined = \"\";\n @Input() description: string;\n\n protected value: Date;\n protected dropdownOpen: boolean = false;\n protected monthSelector: boolean = false;\n protected days: Date[] = [];\n protected headers = [\"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\", \"Su\"];\n protected viewerDate = new Date();\n protected locale: Locale;\n\n protected get inputElement(): HTMLElement {return this.elem.nativeElement.querySelector('.input-object')}\n protected get dropdownElement(): HTMLElement {return this.elem.nativeElement.querySelector('.popup')}\n\n protected readonly add = add;\n protected readonly sub = sub;\n protected readonly parseISO = parseISO;\n\n @HostListener('keydown.esc', ['$event'])\n onKeyDown(e) {\n this.closeDropdown();\n }\n\n constructor(\n private elem: ElementRef,\n private transloco: TranslocoService\n ) { }\n\n checkBooleanInput(value) {\n switch (value) {\n case undefined:\n return false;\n case false:\n return false;\n default:\n return true;\n }\n }\n\n onChange = (value: Date) => {};\n onTouched = () => {};\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n writeValue(value: Date): void {\n if (this.calendarMode && !value) {\n this.value = new Date();\n } else {\n this.value = value;\n }\n }\n\n onModelChange(value: Date) {\n if (value) {\n if (this.min && new Date(value).getTime() <= (new Date(this.min).getTime())) value = add(this.min, {minutes: 1});\n if (this.max && new Date(value).getTime() > new Date(this.max).getTime()) value = sub(this.max, {minutes: 1});\n\n this.value = new Date(value);\n this.viewerDate = new Date(value);\n this.onChange(value);\n }\n }\n\n ngOnInit(): void {\n this.initLocalization();\n\n this.disabled = this.checkBooleanInput(this.disabled);\n this.readonly = this.checkBooleanInput(this.readonly);\n this.required = this.checkBooleanInput(this.required);\n this.disableWeekdays = this.checkBooleanInput(this.disableWeekdays);\n this.disableWeekends = this.checkBooleanInput(this.disableWeekends);\n this.timePicker = this.checkBooleanInput(this.timePicker);\n\n this.drawCalendar();\n }\n\n private initLocalization() {\n switch (this.transloco.getActiveLang()) {\n case 'es':\n this.locale = es;\n break;\n case 'nl':\n this.locale = nl;\n break;\n default:\n this.locale = enGB;\n }\n\n setDefaultOptions({locale: this.locale});\n }\n\n handleMouseEvents($event: PointerEvent) {\n if (this.dropdownOpen && !this.elem.nativeElement.contains($event.target)) {\n this.closeDropdown();\n }\n }\n\n changeView() {\n this.monthSelector = !this.monthSelector;\n this.setPopupComponentProperties();\n }\n\n openDropdown() {\n if (!this.value) this.onModelChange(new Date());\n\n this.viewerDate = this.value;\n this.monthSelector = false;\n this.drawCalendar();\n this.setPopupComponentProperties();\n (this.inputElement as HTMLInputElement).focus();\n\n // Setting a timeout because it doesn't load upwards/downwards css classes on execution time\n setTimeout(() => {\n this.dropdownOpen = true;\n this.dropdownElement.setAttribute('aria-expanded', \"true\");\n }, 100);\n }\n\n closeDropdown() {\n this.dropdownOpen = false;\n this.dropdownElement.setAttribute('aria-expanded', \"false\");\n this.inputElement.focus();\n }\n\n private setPopupComponentProperties() {\n let dropdown = this.dropdownElement;\n dropdown.style.display = 'block';\n\n let input = this.inputElement;\n\n // Checking available screen space\n const fitsBottom = bottomCheck();\n const fitsRight = rightCheck();\n const fitsLeft = leftCheck();\n\n if (!fitsRight && fitsLeft) {\n dropdown.style.marginLeft = input.offsetWidth - dropdown.offsetWidth + 'px';\n } else {\n dropdown.style.marginLeft = null;\n }\n\n dropdown.classList.remove('onwards');\n dropdown.classList.remove('downwards');\n\n if (!fitsBottom) {\n dropdown.classList.add('onwards');\n dropdown.style.marginTop = -(dropdown.offsetHeight + input.offsetHeight) + 'px';\n } else {\n dropdown.classList.add('downwards');\n dropdown.style.marginTop = null;\n }\n\n // Support inner functions\n function bottomCheck(): boolean {\n return input.getBoundingClientRect().bottom + dropdown.offsetHeight <= window.innerHeight ||\n input.getBoundingClientRect().top - dropdown.offsetHeight <= 0;\n }\n\n function rightCheck(): boolean {\n return input.getBoundingClientRect().right + dropdown.offsetWidth <= window.innerWidth;\n }\n\n function leftCheck(): boolean {\n return input.getBoundingClientRect().right - dropdown.offsetWidth >= 0;\n }\n }\n\n drawCalendar(): void {\n const firstDay = startOfWeek(setDate(this.viewerDate, 1));\n const lastDay = add(firstDay, {days:41});\n\n this.days = eachDayOfInterval({start:firstDay, end:lastDay});\n }\n\n prevMonth(): void {\n this.viewerDate = sub(this.viewerDate, {months:1})\n this.drawCalendar();\n }\n\n nextMonth(): void {\n this.viewerDate = add(this.viewerDate, {months:1});\n this.drawCalendar();\n }\n\n setToday(): void {\n this.viewerDate = new Date();\n this.drawCalendar();\n this.onModelChange(new Date());\n }\n\n log(value) {\n console.debug('DEVELOPMENT LOG: ', value);\n }\n}\n\n\n","<ng-container *ngIf=\"calendarMode; then calendarModeTemplate else datePickerTemplate\"></ng-container>\n\n<ng-template #datePickerTemplate>\n <div class=\"biit-input\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\" >\n <div class=\"input-container\">\n <input class=\"input-object\"\n [ngModel]=\"value && !timePicker ? (value | date: 'yyyy-MM-dd') :\n value && timePicker ? (value | date: 'yyyy-MM-dd\\THH:mm') :\n undefined\"\n (ngModelChange)=\"onModelChange(parseISO($event))\"\n [type]=\"timePicker ? 'datetime-local' : 'date'\" required\n [style.background]=\"dropdownOpen ? '#D9D9D9' : null\"\n [min]=\"min ? (min | date: 'yyyy-MM-dd') : undefined\"\n [max]=\"max ? (max | date: 'yyyy-MM-dd') : undefined\"\n [disabled]=\"disabled\"\n >\n <div class=\"input-show-icon-container\"\n [style.background]=\"dropdownOpen ? '#D9D9D9' : null\"\n (click)=\"dropdownOpen ? closeDropdown(): openDropdown()\"\n (keydown.enter)=\"dropdownOpen ? closeDropdown(): openDropdown()\"\n tabindex=\"0\">\n <biit-icon [name]=\"'calendar'\"\n class=\"input-show-icon\"\n [pathStyle]=\"{fill: dropdownOpen ? 'var(--main-color)' : 'var(--chart-component-color)'}\"\n ></biit-icon>\n </div>\n <div class=\"input-placeholder input-filled\">\n {{_placeholder}}\n <a *ngIf=\"required\"\n [style.color]=\"value ? null : 'red'\">*</a>\n </div>\n <biit-icon *ngIf=\"error || (value | isDisabled: disabledDays: disableWeekdays: disableWeekends: min: max)\"\n name=\"exclamation\"\n class=\"input-error-icon\"\n [pathStyle]=\"{fill:'#A1093F'}\"\n ></biit-icon>\n <div *ngIf=\"description\" class=\"input-description\">\n <a>\n {{description}}\n </a>\n </div>\n\n <div style=\"position: relative; height: 0;\">\n <div class=\"popup\"\n [class.dropdown-open]=\"dropdownOpen\"\n [style.height]=\"!monthSelector && timePicker ? '29.1em + 3px)' : null\">\n <div *ngIf=\"!monthSelector\"\n class=\"month-view\">\n <div class=\"month-selector\">\n <button biit-icon\n [icon]=\"'right_arrow'\"\n style=\"rotate: 180deg\"\n (click)=\"prevMonth()\"\n ></button>\n <button biit-button tertiary\n class=\"month-label\"\n (click)=\"changeView()\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </button>\n <button biit-icon\n [icon]=\"'right_arrow'\"\n (click)=\"nextMonth()\"\n ></button>\n </div>\n\n <div class=\"grid\">\n <div *ngFor=\"let day of days | slice:0:7\"\n class=\"grid-element header\">\n {{(day | translocoDate: {weekday: 'short'}).substring(0,2) }}\n </div>\n <button *ngFor=\"let day of days\"\n class=\"grid-element day\"\n [class.outer-day]=\"day | outOfMonth: viewerDate\"\n [class.is-today]=\"day | isToday\"\n [class.selected]=\"day | isSameDay: value\"\n [class.disabled]=\"day | isDisabled: disabledDays: disableWeekdays: disableWeekends: sub(min, {days: 1}): add(max, {days: 1})\"\n (click)=\"onModelChange(day)\"\n tabindex=\"0\"\n >\n {{day | calendarDate}}\n </button>\n </div>\n\n <div class=\"buttons\">\n <button biit-button tertiary\n class=\"today-btn\"\n (click)=\"setToday()\">\n {{'inputs.today' | transloco}}\n </button>\n <button biit-button tertiary\n (click)=\"closeDropdown()\">\n {{'inputs.done' | transloco}}\n </button>\n </div>\n\n <div class=\"time-picker\" *ngIf=\"!monthSelector && timePicker\">\n <div class=\"selector\">\n <div class=\"column\"\n style=\"min-width: 2em;\">\n <div class=\"item arrow\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n {{ value ? (sub(value, {hours: 1}) | date: 'H') : '' }}\n </div>\n <div class=\"item primary\">\n {{ value ? (value | date: 'H') : '' }}\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n {{ value ? (add(value, {hours: 1}) | date: 'H') : '' }}\n </div>\n <div class=\"item arrow\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n <div class=\"column\"\n style=\"min-width: 2em;\">\n <div class=\"item arrow\"\n (click)=\"onModelChange(sub(value, {minutes: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(sub(value, {minutes: 1}))\">\n {{ value ? (sub(value, {minutes: 1}) | date: 'mm') : '' }}\n </div>\n <div class=\"item primary\">\n {{ value ? (value | date: 'mm') : '' }}\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(add(value, {minutes: 1}))\">\n {{ value ? (add(value, {minutes: 1}) | date: 'mm') : '' }}\n </div>\n <div class=\"item arrow\"\n (click)=\"onModelChange(add(value, {minutes: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"year-view\" *ngIf=\"monthSelector\">\n <div class=\"month-selector\">\n <button biit-button tertiary\n class=\"month-label\"\n (click)=\"changeView()\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </button>\n </div>\n\n <div class=\"selector\">\n <div class=\"column\"\n style=\"min-width: 8em;\">\n <div class=\"item arrow\"\n (click)=\"prevMonth()\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = sub(viewerDate, {months: 2})\">\n {{sub(viewerDate, {months: 2}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"prevMonth()\">\n {{sub(viewerDate, {months: 1}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item primary\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"nextMonth()\">\n {{add(viewerDate, {months: 1}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = add(viewerDate, {months: 2})\">\n {{add(viewerDate, {months: 2}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item arrow\"\n (click)=\"nextMonth()\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n\n <div class=\"column\"\n style=\"min-width: 5em;\">\n <div class=\"item arrow\"\n (click)=\"viewerDate = sub(viewerDate, {years: 1})\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = sub(viewerDate, {years: 2})\">\n {{sub(viewerDate, {years: 2}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"viewerDate = sub(viewerDate, {years: 1})\">\n {{sub(viewerDate, {years: 1}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item primary\">\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"viewerDate = add(viewerDate, {years: 1})\">\n {{add(viewerDate, {years: 1}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = add(viewerDate, {years: 2})\">\n {{add(viewerDate, {years: 2}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item arrow\"\n (click)=\"viewerDate = add(viewerDate, {years: 1})\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n </div>\n\n <div class=\"buttons\">\n <button biit-button tertiary\n (click)=\"drawCalendar(); changeView()\">\n {{'inputs.back' | transloco}}\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"bottom-line\"></div>\n <div *ngIf=\"error\" class=\"input-error-msg\">\n <a>\n {{error}}\n </a>\n </div>\n <div *ngIf=\"value | isDisabled: disabledDays: disableWeekdays: disableWeekends: min: max\" class=\"input-error-msg\">\n <a>\n {{'inputs.date-error' | transloco}}\n </a>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #calendarModeTemplate>\n <div class=\"popup calendar-mode\"\n [style.height]=\"!monthSelector && timePicker ? 'calc(29.1em + 3px)' : null\">\n <div *ngIf=\"!monthSelector\"\n class=\"month-view\">\n <div class=\"month-selector\">\n <button biit-icon\n [icon]=\"'right_arrow'\"\n style=\"rotate: 180deg\"\n (click)=\"prevMonth()\"\n ></button>\n <button biit-button tertiary\n class=\"month-label\"\n (click)=\"changeView()\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </button>\n <button biit-icon\n [icon]=\"'right_arrow'\"\n (click)=\"nextMonth()\"\n ></button>\n </div>\n\n <div class=\"grid\">\n <div *ngFor=\"let day of days | slice:0:7\"\n class=\"grid-element header\">\n {{(day | translocoDate: {weekday: 'short'}).substring(0,2) }}\n </div>\n <button *ngFor=\"let day of days\"\n class=\"grid-element day\"\n [class.outer-day]=\"day | outOfMonth: viewerDate\"\n [class.is-today]=\"day | isToday\"\n [class.selected]=\"day | isSameDay: value\"\n [class.disabled]=\"day | isDisabled: disabledDays: disableWeekdays: disableWeekends: sub(min, {days: 1}): add(max, {days: 1})\"\n (click)=\"onModelChange(day)\"\n tabindex=\"0\"\n >\n {{day | calendarDate}}\n </button>\n </div>\n\n <div class=\"buttons\">\n <button biit-button tertiary\n class=\"today-btn\"\n (click)=\"setToday()\">\n {{'inputs.today' | transloco}}\n </button>\n </div>\n </div>\n\n <div class=\"time-picker\" *ngIf=\"!monthSelector && timePicker\">\n <div class=\"selector\">\n <div class=\"column\"\n style=\"min-width: 2em;\">\n <div class=\"item arrow\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n {{ value ? (sub(value, {hours: 1}) | date: 'H') : '' }}\n </div>\n <div class=\"item primary\">\n {{ value ? (value | date: 'H') : '' }}\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n {{ value ? (add(value, {hours: 1}) | date: 'H') : '' }}\n </div>\n <div class=\"item arrow\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n <div class=\"column\"\n style=\"min-width: 2em;\">\n <div class=\"item arrow\"\n (click)=\"onModelChange(sub(value, {minutes: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n {{ value ? (sub(value, {minutes: 1}) | date: 'mm') : '' }}\n </div>\n <div class=\"item primary\">\n {{ value ? (value | date: 'mm') : '' }}\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n {{ value ? (add(value, {minutes: 1}) | date: 'mm') : '' }}\n </div>\n <div class=\"item arrow\"\n (click)=\"onModelChange(add(value, {minutes: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"year-view\" *ngIf=\"monthSelector\">\n <div class=\"month-selector\">\n <button biit-button tertiary\n class=\"month-label\"\n (click)=\"changeView()\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </button>\n </div>\n\n <div class=\"selector\">\n <div class=\"column\"\n style=\"min-width: 8em;\">\n <div class=\"item arrow\"\n (click)=\"prevMonth()\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = sub(viewerDate, {months: 2})\">\n {{sub(viewerDate, {months: 2}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"prevMonth()\">\n {{sub(viewerDate, {months: 1}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item primary\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"nextMonth()\">\n {{add(viewerDate, {months: 1}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = add(viewerDate, {months: 2})\">\n {{add(viewerDate, {months: 2}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item arrow\"\n (click)=\"nextMonth()\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n\n <div class=\"column\"\n style=\"min-width: 5em;\">\n <div class=\"item arrow\"\n (click)=\"viewerDate = sub(viewerDate, {years: 1})\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = sub(viewerDate, {years: 2})\">\n {{sub(viewerDate, {years: 2}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"viewerDate = sub(viewerDate, {years: 1})\">\n {{sub(viewerDate, {years: 1}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item primary\">\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"viewerDate = add(viewerDate, {years: 1})\">\n {{add(viewerDate, {years: 1}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = add(viewerDate, {years: 2})\">\n {{add(viewerDate, {years: 2}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item arrow\"\n (click)=\"viewerDate = add(viewerDate, {years: 1})\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: 'var(--chart-component-color)'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n </div>\n\n <div class=\"buttons\">\n <button biit-button tertiary\n (click)=\"drawCalendar(); changeView()\">\n {{'inputs.back' | transloco}}\n </button>\n </div>\n </div>\n </div>\n</ng-template>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {TranslocoService} from \"@ngneat/transloco\";\nimport {Observable} from \"rxjs\";\n\n@Pipe({\n name: 'monthSelectorLabel',\n pure: false\n})\n\nexport class MonthSelectorLabelPipe implements PipeTransform {\n\n constructor(private transloco: TranslocoService) {\n }\n transform(date: Date): Observable<string> {\n let month = 'inputs.month-' + (date.getMonth()+1);\n return this.transloco.selectTranslate(month);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {CommonModule} from '@angular/common';\nimport {BiitDatePickerComponent} from \"./biit-datepicker.component\";\nimport {BiitButtonModule, BiitIconButtonModule} from \"@biit-solutions/wizardry-theme/button\";\nimport {MonthSelectorLabelPipe} from \"./pipes/month-selector-label-pipe\";\nimport {IsTodayPipe} from \"./pipes/is-today-pipe\";\nimport {OutOfMonthPipe} from \"./pipes/out-of-month-pipe\";\nimport {CalendarDatePipe} from \"./pipes/calendar-date-pipe\";\nimport {IsSameDayPipe} from \"./pipes/is-same-day-pipe\";\nimport {IsDisabledPipe} from \"./pipes/is-disabled-pipe\";\nimport {TranslocoRootModule} from \"@biit-solutions/wizardry-theme/i18n\";\nimport {LocalizedDatePipeModule} from \"@biit-solutions/wizardry-theme/utils\";\nimport {TranslocoDatePipe} from \"@ngneat/transloco-locale\";\nimport {BiitIconModule} from \"@biit-solutions/wizardry-theme/icon\";\n\n@NgModule({\n declarations: [\n BiitDatePickerComponent,\n MonthSelectorLabelPipe,\n CalendarDatePipe,\n OutOfMonthPipe,\n IsTodayPipe,\n IsSameDayPipe,\n IsDisabledPipe\n ],\n imports: [\n CommonModule,\n FormsModule,\n BiitIconButtonModule,\n BiitButtonModule,\n TranslocoRootModule,\n LocalizedDatePipeModule,\n TranslocoDatePipe,\n BiitIconModule\n ],\n exports: [\n BiitDatePickerComponent\n ]\n})\nexport class BiitDatePickerModule { }\n","export enum View {\n MONTH = 'MONTH',\n YEAR = 'YEAR'\n}\n","import {AfterViewChecked, Component, ElementRef, forwardRef, Input, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\n\n@Component({\n selector: 'biit-slider',\n templateUrl: './biit-slider.component.html',\n styleUrls: ['./biit-slider.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitSliderComponent),\n multi: true\n }\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class BiitSliderComponent implements ControlValueAccessor, AfterViewChecked {\n @Input() min: number;\n @Input() max: number;\n @Input() step: number;\n @Input() ticks: number;\n @Input() labels: string[] = [];\n @Input() showTooltip: boolean = true;\n\n protected value: number;\n protected disabled: boolean = false;\n protected tooltipBoxVisible: boolean = false;\n\n @ViewChild('ranger') slider: ElementRef;\n @ViewChild('tooltip') tooltip: ElementRef;\n\n onChange = (_: any) => {\n };\n onTouch = () => {\n };\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n }\n\n writeValue(value: number): void {\n this.value = value;\n }\n\n ngAfterViewChecked() {\n this.progressScript();\n }\n\n progressScript() {\n const slider = this.slider.nativeElement;\n const tooltip = this.tooltip.nativeElement;\n const progress = ((slider.value - slider.min) * 100) / (slider.max - slider.min);\n\n // Set slider bar background colors according to progress\n this.slider.nativeElement.style.background = `linear-gradient(to right, var(--main-color) ${progress}%, #D7D7D7 ${progress}%)`;\n\n // Set slider tooltip position\n const tooltipPosition = (parseFloat(getComputedStyle(document.documentElement).fontSize) * 0.15) - (progress * 0.2);\n tooltip.innerHTML = `<span>${slider.value}</span>`;\n tooltip.style.left = `calc(${progress}% + (${tooltipPosition}px))`;\n }\n\n updateValue(index: number) {\n const result = this.min + ((this.max - this.min) / (this.ticks - 1) * index);\n this.writeValue(result);\n this.onChange(this.value);\n }\n}\n","<div class=\"slider\">\n <input #ranger type=\"range\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange(ranger.value);\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n (input)=\"progressScript()\"\n (pointerdown)=\"tooltipBoxVisible = true\"\n (pointerup)=\"tooltipBoxVisible = false\"\n >\n <div #tooltip class=\"tooltip\" [style.opacity]=\"tooltipBoxVisible && showTooltip ? '100%' : '0%'\"></div>\n <div class=\"ticks\">\n <span *ngFor=\"let tick of [].constructor(ticks); index as i\"\n [class.no-labels]=\"!labels.length\"\n (click)=\"updateValue(i)\">\n {{labels[i]}}\n </span>\n </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from \"@angular/common\";\nimport {FormsModule} from '@angular/forms';\nimport {BiitIconModule} from '@biit-solutions/wizardry-theme/icon';\nimport {BiitSliderComponent} from \"./biit-slider.component\";\n\n@NgModule({\n declarations: [\n BiitSliderComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n BiitIconModule\n ],\n exports: [\n BiitSliderComponent,\n ]\n})\nexport class BiitSliderModule { }\n","import {AfterViewChecked, Component, ElementRef, forwardRef, Input, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\n\n@Component({\n selector: 'biit-slider-range',\n templateUrl: './biit-slider-range.component.html',\n styleUrls: ['./biit-slider-range.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitSliderRangeComponent),\n multi: true\n }\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class BiitSliderRangeComponent implements ControlValueAccessor, AfterViewChecked {\n @Input() min: number;\n @Input() max: number;\n @Input() step: number = 1;\n @Input() separator: number = 1;\n @Input() ticks: number;\n @Input() labels: string[] = [];\n\n protected value: number[];\n protected disabled: boolean = false;\n protected showTooltip: boolean = false;\n\n @ViewChild('ranger1') slider1: ElementRef;\n @ViewChild('ranger2') slider2: ElementRef;\n @ViewChild('tooltip') tooltip: ElementRef;\n\n onChange = (_: any) => {};\n onTouch = () => {};\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n }\n\n writeValue(value: number[]): void {\n this.value = value;\n }\n\n ngAfterViewChecked() {\n this.progressScript();\n }\n\n checkValues(activeSlider?: string) {\n const slider1 = this.slider1.nativeElement;\n const slider2 = this.slider2.nativeElement;\n const slider1steps = (slider1.value - this.min) / this.step;\n const slider2steps = (slider2.value - this.min) / this.step;\n const separatorSteps = Math.ceil(this.separator / this.step);\n\n if (activeSlider == 'ranger1' &&\n slider1.value > this.min + (slider2steps - separatorSteps) * this.step) {\n slider1.value = this.min + (slider2steps - separatorSteps) * this.step;\n this.value[0] = this.min + (slider2steps - separatorSteps) * this.step;\n }\n\n if (activeSlider == 'ranger2' &&\n slider2.value < this.min + (slider1steps + separatorSteps) * this.step) {\n slider2.value = this.min + (slider1steps + separatorSteps) * this.step;\n this.value[1] = this.min + (slider1steps + separatorSteps) * this.step;\n }\n }\n\n progressScript(activeSlider?: string) {\n const slider1 = this.slider1.nativeElement;\n const slider2 = this.slider2.nativeElement;\n const tooltip = this.tooltip.nativeElement;\n\n const progress1 = ((slider1.value - this.min) * 100) / (this.max - this.min);\n const progress2 = ((slider2.value - this.min) * 100) / (this.max - this.min);\n\n // Set slider bar background colors according to progress\n this.slider1.nativeElement.style.background = `linear-gradient(to right, #D7D7D7 ${progress1}%, var(--main-color) ${progress1}%, var(--main-color) ${progress2}%, #D7D7D7 ${progress2}%)`;\n\n // Set slider tooltip position\n if (activeSlider == 'ranger1') {\n const tooltipPosition = (parseFloat(getComputedStyle(document.documentElement).fontSize) * 0.15) - (progress1 * 0.2);\n tooltip.innerHTML = `<span>${slider1.value}</span>`;\n tooltip.style.left = `calc(${progress1}% + (${tooltipPosition}px))`;\n } else if (activeSlider == 'ranger2') {\n const tooltipPosition = (parseFloat(getComputedStyle(document.documentElement).fontSize) * 0.15) - (progress2 * 0.2);\n tooltip.innerHTML = `<span>${slider2.value}</span>`;\n tooltip.style.left = `calc(${progress2}% + (${tooltipPosition}px))`;\n }\n }\n}\n","<div class=\"slider\">\n <input #ranger1 type=\"range\"\n [(ngModel)]=\"value[0]\"\n (ngModelChange)=\"onChange(value);\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n (input)=\"checkValues('ranger1'); progressScript('ranger1')\"\n (pointerdown)=\"progressScript('ranger1'); showTooltip = true\"\n (pointerup)=\"showTooltip = false\"\n >\n <input #ranger2 type=\"range\"\n [(ngModel)]=\"value[1]\"\n (ngModelChange)=\"onChange(value);\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n (input)=\"checkValues('ranger2'); progressScript('ranger2')\"\n (pointerdown)=\"progressScript('ranger2'); showTooltip = true\"\n (pointerup)=\"showTooltip = false\"\n >\n <div #tooltip class=\"tooltip\" [style.opacity]=\"showTooltip ? '100%' : '0%'\"></div>\n <div class=\"ticks\">\n <span *ngFor=\"let tick of [].constructor(ticks); index as i\"\n [class.no-labels]=\"!labels.length\">\n {{labels[i]}}\n </span>\n </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from \"@angular/common\";\nimport {FormsModule} from '@angular/forms';\nimport {BiitIconModule} from '@biit-solutions/wizardry-theme/icon';\nimport {BiitSliderRangeComponent} from \"./biit-slider-range.component\";\n\n@NgModule({\n declarations: [\n BiitSliderRangeComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n BiitIconModule\n ],\n exports: [\n BiitSliderRangeComponent,\n ]\n})\nexport class BiitSliderRangeModule { }\n","import {\n AfterViewChecked,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Input,\n OnInit,\n ViewChild\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\n\n@Component({\n selector: 'biit-slider-option',\n templateUrl: './biit-slider-option.component.html',\n styleUrls: ['./biit-slider-option.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitSliderOptionComponent),\n multi: true\n }\n ]\n})\nexport class BiitSliderOptionComponent implements ControlValueAccessor, AfterViewChecked, OnInit {\n @Input() data: { value: string | number, label: string, description: string }[];\n @Input() inverted = false;\n @Input() showTooltip: boolean = true;\n\n @HostBinding('style.--label-percent') labelPercent;\n\n get index() {\n return this.data.findIndex(i => i.value == this.value);\n }\n\n protected value: string | number;\n protected disabled: boolean = false;\n protected tooltipBoxVisible: boolean = false;\n\n @ViewChild('rangerHor') slider: ElementRef;\n @ViewChild('tooltip') tooltip: ElementRef;\n\n constructor(private cdRef: ChangeDetectorRef) {\n }\n\n onChange = (_: any) => {\n };\n onTouch = () => {\n };\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n }\n\n writeValue(value: string | number): void {\n this.value = value;\n }\n\n ngOnInit() {\n this.labelPercent = (100 / this.data.filter(d => d.label).length) - 5 + '%';\n }\n\n ngAfterViewChecked() {\n this.progressScript();\n this.cdRef.detectChanges();\n }\n\n progressScript() {\n const slider = this.slider.nativeElement;\n const tooltip = this.tooltip.nativeElement;\n\n const progress = ((slider.value - slider.min) * 100) / (slider.max - slider.min);\n\n // Set slider bar background colors according to progress\n if (!this.inverted) {\n this.slider.nativeElement.style.background = `linear-gradient(to right, var(--main-color) ${progress}%, #D7D7D7 ${progress}%)`;\n } else {\n this.slider.nativeElement.style.background = `linear-gradient(to left, var(--main-color) ${progress}%, #D7D7D7 ${progress}%)`;\n }\n\n // Set tooltip text\n tooltip.innerHTML = `<span>${this.data[slider.value].value}</span>`;\n\n // Set slider tooltip position\n const tooltipPosition = (parseFloat(getComputedStyle(document.documentElement).fontSize) * 0.5) - (progress * 0.16);\n\n if (!this.inverted) {\n tooltip.firstChild.style.left = '-50%';\n tooltip.style.left = `calc(${progress}% + (${tooltipPosition}px))`;\n } else {\n tooltip.firstChild.style.left = '50%';\n tooltip.style.right = `calc(${progress}% + (${tooltipPosition}px))`;\n }\n }\n}\n","<div class=\"slider-option\">\n <input #rangerHor type=\"range\"\n orient=\"horizontal\"\n [class.inverted]=\"inverted\"\n [ngModel]=\"index\"\n (ngModelChange)=\"onChange(this.data[rangerHor.value].value);\"\n [min]=\"0\"\n [max]=\"data.length - 1\"\n [step]=\"1\"\n (input)=\"progressScript()\"\n (pointerdown)=\"tooltipBoxVisible = true\"\n (pointerup)=\"tooltipBoxVisible = false\"\n >\n\n <div class=\"ticks\">\n <div #tooltip class=\"tooltip-slider\" [style.opacity]=\"tooltipBoxVisible && showTooltip ? '100%' : '0%'\"></div>\n <span *ngFor=\"let tick of $any(data); index as i; count as c\"\n [class.hide-tick]=\"!(!inverted ? data[i] : data[c-i-1]).label\">\n <span (click)=\"value = (!inverted ? data[i] : data[c-i-1]).value; onChange((!inverted ? data[i] : data[c-i-1]).value)\">\n <span>\n {{(!inverted ? data[i] : data[c-i-1]).label}}\n </span>\n <biit-tooltip-icon *ngIf=\"(!inverted ? data[i] : data[c-i-1]).description\"\n [text]=\"(!inverted ? data[i] : data[c-i-1]).description\"\n ></biit-tooltip-icon>\n </span>\n </span>\n </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from \"@angular/common\";\nimport {FormsModule} from '@angular/forms';\nimport {BiitIconModule} from '@biit-solutions/wizardry-theme/icon';\nimport {BiitSliderOptionComponent} from \"./biit-slider-option.component\";\nimport {BiitTooltipIconModule} from \"@biit-solutions/wizardry-theme/info\";\n\n@NgModule({\n declarations: [\n BiitSliderOptionComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n BiitIconModule,\n BiitTooltipIconModule\n ],\n exports: [\n BiitSliderOptionComponent,\n ]\n})\nexport class BiitSliderOptionModule { }\n","import {\n AfterViewChecked,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n Input,\n OnInit,\n ViewChild\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\n\n@Component({\n selector: 'biit-slider-option-vertical',\n templateUrl: './biit-slider-option-vertical.component.html',\n styleUrls: ['./biit-slider-option-vertical.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BiitSliderOptionVerticalComponent),\n multi: true\n }\n ]\n})\nexport class BiitSliderOptionVerticalComponent implements ControlValueAccessor, AfterViewChecked, OnInit {\n @Input() data: { value: string | number, label: string, description: string }[];\n @Input() inverted = false;\n @Input() showDescription = true;\n @Input() showTooltip: boolean = true;\n\n get index() {\n return this.data.findIndex(i => i.value == this.value);\n }\n\n protected value: string | number;\n protected disabled: boolean = false;\n protected tooltipBoxVisible: boolean = false;\n\n @ViewChild('rangerVer') slider: ElementRef;\n @ViewChild('tooltip') tooltip: ElementRef;\n\n constructor(private cdRef: ChangeDetectorRef) {\n }\n\n onChange = (_: any) => {\n };\n onTouch = () => {\n };\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n }\n\n writeValue(value: string | number): void {\n this.value = value;\n }\n\n ngOnInit() {\n }\n\n ngAfterViewChecked() {\n this.progressScript();\n this.cdRef.detectChanges();\n }\n\n progressScript() {\n const slider = this.slider.nativeElement;\n const tooltip = this.tooltip.nativeElement;\n\n const progress = ((slider.value - slider.min) * 100) / (slider.max - slider.min);\n\n // Set slider bar background colors according to progress\n if (!this.inverted) {\n this.slider.nativeElement.style.background = `linear-gradient(to top, var(--main-color) ${progress}%, #D7D7D7 ${progress}%)`;\n } else {\n this.slider.nativeElement.style.background = `linear-gradient(to bottom, var(--main-color) ${progress}%, #D7D7D7 ${progress}%)`;\n }\n\n // Set tooltip text\n tooltip.innerHTML = `<span>${this.data[slider.value].value}</span>`;\n\n // Set slider tooltip position\n const tooltipPosition = (-parseFloat(getComputedStyle(document.documentElement).fontSize) * 0.5) - (progress * 0.16);\n tooltip.firstChild.style.left = 'calc(-6px + -50%)';\n\n if (!this.inverted) {\n tooltip.style.bottom = `calc(${progress}% + (${tooltipPosition}px) + 2rem)`;\n } else {\n tooltip.style.top = `calc(${progress}% + (${tooltipPosition}px) - 1.5rem)`;\n }\n }\n}\n","<div class=\"slider-vertical\">\n <input #rangerVer type=\"range\"\n orient=\"vertical\"\n class=\"vertical\"\n [class.inverted]=\"inverted\"\n [ngModel]=\"index\"\n (ngModelChange)=\"onChange(this.data[rangerVer.value].value);\"\n [min]=\"0\"\n [max]=\"data.length - 1\"\n [step]=\"1\"\n (input)=\"progressScript()\"\n (pointerdown)=\"tooltipBoxVisible = true\"\n (pointerup)=\"tooltipBoxVisible = false\"\n >\n\n <div class=\"ticks vertical\">\n <div #tooltip class=\"tooltip-slider\" [style.opacity]=\"tooltipBoxVisible && showTooltip ? '100%' : '0%'\"></div>\n <div *ngFor=\"let tick of $any(data); index as i; count as c\"\n class=\"tick\"\n [class.hide-tick]=\"!(!inverted ? data[i] : data[c-i-1]).label\"\n >\n <span></span>\n <div class=\"label\" [class.show-desc]=\"showDescription\"\n (click)=\"value = (!inverted ? data[i] : data[c-i-1]).value; onChange((!inverted ? data[i] : data[c-i-1]).value)\">\n <span>\n {{(!inverted ? data[i] : data[c-i-1]).label}}\n </span>\n <span class=\"description\" *ngIf=\"showDescription\">\n {{(!inverted ? data[i] : data[c-i-1]).description}}\n </span>\n <biit-tooltip-icon *ngIf=\"(!inverted ? data[i] : data[c-i-1]).description && !showDescription\"\n [text]=\"(!inverted ? data[i] : data[c-i-1]).description\"\n ></biit-tooltip-icon>\n </div>\n </div>\n </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from \"@angular/common\";\nimport {FormsModule} from '@angular/forms';\nimport {BiitIconModule} from '@biit-solutions/wizardry-theme/icon';\nimport {BiitSliderOptionVerticalComponent} from \"./biit-slider-option-vertical.component\";\nimport {BiitTooltipIconModule} from \"@biit-solutions/wizardry-theme/info\";\n\n@NgModule({\n declarations: [\n BiitSliderOptionVerticalComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n BiitIconModule,\n BiitTooltipIconModule\n ],\n exports: [\n BiitSliderOptionVerticalComponent,\n ]\n})\nexport class BiitSliderOptionVerticalModule { }\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {coerceBooleanProperty} from \"@angular/cdk/coercion\";\n\n@Component({\n selector: 'biit-group',\n templateUrl: './biit-group.component.html',\n styleUrls: ['./biit-group.component.scss']\n})\nexport class BiitGroupComponent {\n @Input() legend: string;\n @Input() description: string;\n protected isEnabledPlus: boolean;\n @Input() set enablePlus(enabled: any) {\n this.isEnabledPlus = coerceBooleanProperty(enabled);\n };\n protected isEnabledMinus: boolean;\n @Input() set enableMinus(enabled: any) {\n this.isEnabledMinus = coerceBooleanProperty(enabled);\n };\n @Output() onPlusClick: EventEmitter<void> = new EventEmitter<void>();\n @Output() onMinusClick: EventEmitter<void> = new EventEmitter<void>();\n}\n","<fieldset>\n <legend *ngIf=\"legend\">\n {{ legend }}\n </legend>\n\n <div class=\"grp-buttons\">\n <button biit-icon\n icon=\"plus\"\n *ngIf=\"isEnabledPlus\"\n (click)=\"onPlusClick.emit()\"\n ></button>\n <button biit-icon\n icon=\"minus\"\n *ngIf=\"isEnabledMinus\"\n (click)=\"onMinusClick.emit()\"\n ></button>\n </div>\n\n <ng-content></ng-content>\n</fieldset>\n<span *ngIf=\"description\"\n class=\"grp-description\">\n {{description}}\n</span>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from \"@angular/common\";\nimport {BiitGroupComponent} from \"./biit-group.component\";\nimport {FormsModule} from \"@angular/forms\";\nimport {BiitIconButtonModule} from \"@biit-solutions/wizardry-theme/button\";\n\n@NgModule({\n declarations: [\n BiitGroupComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n BiitIconButtonModule\n ],\n exports: [\n BiitGroupComponent\n ]\n})\nexport class BiitGroupModule { }\n","/*\n * Public API Surface of wizardry-theme/inputs\n */\n\nexport * from \"./biit-input-text/biit-input-text.module\"\nexport * from \"./biit-input-text/biit-input-text.component\"\nexport * from './biit-dropdown/biit-dropdown.module';\nexport * from './biit-dropdown/biit-dropdown.component';\nexport * from './biit-multiselect/biit-multiselect.module';\nexport * from './biit-multiselect/biit-multiselect.component';\nexport * from './biit-toggle/biit-toggle.module';\nexport * from './biit-toggle/biit-toggle.component';\nexport * from './biit-ternary-togle/biit-ternary-toggle.module';\nexport * from './biit-ternary-togle/biit-ternary-toggle.component';\nexport * from './biit-toggle-group/biit-toggle-group.module';\nexport * from './biit-toggle-group/biit-toggle-group.component';\nexport * from './biit-toggle-group/biit-toggle-button.component';\nexport * from './biit-checkbox/biit-checkbox.module';\nexport * from './biit-checkbox/biit-checkbox.component';\nexport * from './biit-radio-button/biit-radio-button.module';\nexport * from './biit-radio-button/biit-radio-button.component';\nexport * from './biit-textarea/biit-textarea.module';\nexport * from './biit-textarea/biit-textarea.component';\nexport * from './biit-datepicker/biit-datepicker.module';\nexport * from './biit-datepicker/biit-datepicker.component';\nexport * from './biit-datepicker/models/view'\nexport * from './biit-slider/biit-slider.module';\nexport * from './biit-slider/biit-slider.component';\nexport * from './biit-slider-range/biit-slider-range.module';\nexport * from './biit-slider-range/biit-slider-range.component';\nexport * from './biit-slider-option/biit-slider-option.module';\nexport * from './biit-slider-option/biit-slider-option.component';\nexport * from './biit-slider-option-vertical/biit-slider-option-vertical.module';\nexport * from './biit-slider-option-vertical/biit-slider-option-vertical.component';\nexport * from './biit-group/biit-group.module';\nexport * from './biit-group/biit-group.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i4","i5","i1","i4.BiitCheckboxComponent","i7.CalendarDatePipe","i8.OutOfMonthPipe","i9.IsTodayPipe","i10.IsSameDayPipe","i11.IsDisabledPipe"],"mappings":"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"}