{"version":3,"file":"gl-ng-error-message-frontend.mjs","sources":["../../../projects/gl-ng-inputs-frontend/src/lib/core/directives/click-outside/core-directives-click-outside.directive.ts","../../../projects/gl-ng-inputs-frontend/src/lib/core/pipes/list-filter/core-pipes-list-filter.pipe.ts","../../../projects/gl-ng-titles-frontend/src/lib/component/label/simple/gl-component-title-label-simple.component.ts","../../../projects/gl-ng-titles-frontend/src/lib/component/label/simple/gl-component-title-label-simple.component.html","../../../projects/gl-ng-inputs-frontend/src/lib/component/autocomplete/simple/gl-component-input-autocomplete-simple.service.ts","../../../projects/gl-ng-inputs-frontend/src/lib/component/autocomplete/simple/gl-component-input-autocomplete-simple.component.ts","../../../projects/gl-ng-inputs-frontend/src/lib/component/autocomplete/simple/gl-component-input-autocomplete-simple.component.html","../../../projects/gl-ng-inputs-frontend/src/lib/component/autocomplete/label/gl-component-input-autocomplete-label.component.ts","../../../projects/gl-ng-inputs-frontend/src/lib/component/autocomplete/label/gl-component-input-autocomplete-label.component.html","../../../projects/gl-ng-inputs-frontend/src/lib/component/button/hyperlink/gl-component-input-button-hyperlink.component.ts","../../../projects/gl-ng-inputs-frontend/src/lib/component/button/hyperlink/gl-component-input-button-hyperlink.component.html","../../../projects/gl-ng-inputs-frontend/src/lib/component/button/simple/gl-component-input-button-simple.component.ts","../../../projects/gl-ng-inputs-frontend/src/lib/component/button/simple/gl-component-input-button-simple.component.html","../../../projects/gl-ng-inputs-frontend/src/lib/component/check-box/simple/gl-component-input-check-box-simple.component.ts","../../../projects/gl-ng-inputs-frontend/src/lib/component/check-box/simple/gl-component-input-check-box-simple.component.html","../../../projects/gl-ng-inputs-frontend/src/lib/component/check-box/label/gl-component-input-check-box-label.component.ts","../../../projects/gl-ng-inputs-frontend/src/lib/component/check-box/label/gl-component-input-check-box-label.component.html","../../../projects/gl-ng-inputs-frontend/src/lib/component/datepicker/simple/month-year/gl-component-input-datepicker-simple-month-year.component.ts","../../../projects/gl-ng-inputs-frontend/src/lib/component/datepicker/simple/month-year/gl-component-input-datepicker-simple-month-year.component.html","../../../projects/gl-ng-inputs-frontend/src/lib/component/datepicker/simple/day-month-year/gl-component-input-datepicker-simple-day-month-year.component.ts","../../../projects/gl-ng-inputs-frontend/src/lib/component/datepicker/simple/day-month-year/gl-component-input-datepicker-simple-day-month-year.component.html","../../../projects/gl-ng-inputs-frontend/src/lib/component/datepicker/label/gl-component-input-datepicker-label.component.ts","../../../projects/gl-ng-inputs-frontend/src/lib/component/datepicker/label/gl-component-input-datepicker-label.component.html","../../../projects/gl-ng-attachments-frontend/src/lib/component/item/gl-component-attachment-item.component.ts","../../../projects/gl-ng-attachments-frontend/src/lib/component/item/gl-component-attachment-item.component.html","../../../projects/gl-ng-inputs-frontend/src/lib/core/directives/drag-and-drop/core-directives-drag-and-drop.directive.ts","../../../projects/gl-ng-inputs-frontend/src/lib/component/switch/gl-component-input-switch.component.ts","../../../projects/gl-ng-inputs-frontend/src/lib/component/switch/gl-component-input-switch.component.html","../../../projects/gl-ng-modals-frontend/src/lib/component/alert/gl-component-modal-alert.service.ts","../../../projects/gl-ng-inputs-frontend/src/lib/component/drag-and-drop/simple/gl-component-input-drag-and-drop-simple.component.ts","../../../projects/gl-ng-inputs-frontend/src/lib/component/drag-and-drop/simple/gl-component-input-drag-and-drop-simple.component.html","../../../projects/gl-ng-inputs-frontend/src/lib/component/option/simple/gl-component-input-option-simple.component.ts","../../../projects/gl-ng-inputs-frontend/src/lib/component/option/simple/gl-component-input-option-simple.component.html","../../../projects/gl-ng-inputs-frontend/src/lib/component/text-area/simple/gl-component-input-text-area-simple.component.ts","../../../projects/gl-ng-inputs-frontend/src/lib/component/text-area/simple/gl-component-input-text-area-simple.component.html","../../../projects/gl-ng-inputs-frontend/src/lib/component/text-area/label/gl-component-input-text-area-label.component.ts","../../../projects/gl-ng-inputs-frontend/src/lib/component/text-area/label/gl-component-input-text-area-label.component.html","../../../projects/gl-ng-inputs-frontend/src/lib/component/text/simple/gl-component-input-text-simple.service.ts","../../../projects/gl-ng-inputs-frontend/src/lib/component/text/simple/gl-component-input-text-simple.component.ts","../../../projects/gl-ng-inputs-frontend/src/lib/component/text/simple/gl-component-input-text-simple.component.html","../../../projects/gl-ng-titles-frontend/src/lib/component/label/button/container/gl-component-title-label-button-container.component.ts","../../../projects/gl-ng-titles-frontend/src/lib/component/label/button/container/gl-component-title-label-button-container.component.html","../../../projects/gl-ng-inputs-frontend/src/lib/component/text/label/button/container/gl-component-input-text-label-button-container.component.ts","../../../projects/gl-ng-inputs-frontend/src/lib/component/text/label/button/container/gl-component-input-text-label-button-container.component.html","../../../projects/gl-ng-inputs-frontend/src/lib/component/text/label/simple/gl-component-input-text-label-simple.component.ts","../../../projects/gl-ng-inputs-frontend/src/lib/component/text/label/simple/gl-component-input-text-label-simple.component.html","../../../projects/gl-ng-buttons-frontend/src/lib/component/image/simple/gl-component-button-image-simple.component.ts","../../../projects/gl-ng-buttons-frontend/src/lib/component/image/simple/gl-component-button-image-simple.component.html","../../../projects/gl-ng-buttons-frontend/src/lib/component/image/tooltip/gl-component-button-image-tooltip.component.ts","../../../projects/gl-ng-buttons-frontend/src/lib/component/image/tooltip/gl-component-button-image-tooltip.component.html","../../../projects/gl-ng-inputs-frontend/src/lib/component/text/simple/with-step/gl-component-input-text-simple-with-step.component.ts","../../../projects/gl-ng-inputs-frontend/src/lib/component/text/simple/with-step/gl-component-input-text-simple-with-step.component.html","../../../projects/gl-ng-inputs-frontend/src/lib/component/text/simple/search/gl-component-input-text-simple-search.component.ts","../../../projects/gl-ng-inputs-frontend/src/lib/component/text/simple/search/gl-component-input-text-simple-search.component.html","../../../projects/gl-ng-inputs-frontend/src/lib/component/dropdown/simple/gl-component-input-dropdown-simple.model.ts","../../../projects/gl-ng-inputs-frontend/src/lib/component/dropdown/simple/gl-component-input-dropdown-simple.component.ts","../../../projects/gl-ng-inputs-frontend/src/lib/component/dropdown/simple/gl-component-input-dropdown-simple.component.html","../../../projects/gl-ng-inputs-frontend/src/lib/component/dropdown/label/gl-component-input-dropdown-label.component.ts","../../../projects/gl-ng-inputs-frontend/src/lib/component/dropdown/label/gl-component-input-dropdown-label.component.html","../../../projects/gl-ng-inputs-frontend/src/lib/component/component.module.ts","../../../projects/gl-ng-inputs-frontend/src/lib/gl-ng-inputs-frontend.module.ts","../../../projects/gl-ng-error-message-frontend/src/lib/component/error-message/gl-component-error-message.component.ts","../../../projects/gl-ng-error-message-frontend/src/lib/component/error-message/gl-component-error-message.component.html","../../../projects/gl-ng-error-message-frontend/src/lib/component/component.module.ts","../../../projects/gl-ng-footer-frontend/src/lib/component/container/gl-component-footer-container.component.ts","../../../projects/gl-ng-footer-frontend/src/lib/component/container/gl-component-footer-container.component.html","../../../projects/gl-ng-logos-frontend/src/lib/component/square/gl-component-logo-square.component.ts","../../../projects/gl-ng-logos-frontend/src/lib/component/square/gl-component-logo-square.component.html","../../../projects/gl-ng-error-message-frontend/src/lib/view/error-message/gl-view-error-message.component.ts","../../../projects/gl-ng-error-message-frontend/src/lib/view/error-message/gl-view-error-message.component.html","../../../projects/gl-ng-error-message-frontend/src/lib/view/view.module.ts","../../../projects/gl-ng-error-message-frontend/src/lib/gl-ng-error-message-frontend.module.ts","../../../projects/wrapper_error_message.ts","../../../projects/gl-ng-error-message-frontend.ts"],"sourcesContent":["import { Directive, ElementRef, EventEmitter, HostListener, Output } from '@angular/core';\r\n\r\n@Directive({\r\n    // tslint:disable-next-line:directive-selector\r\n    selector: '[clickOutside]',\r\n    standalone: true\r\n})\r\nexport class CoreDirectivesClickOutsideDirective {\r\n  @Output() public clickOutside = new EventEmitter<MouseEvent>();\r\n\r\n  constructor(private _elementRef: ElementRef) { }\r\n\r\n  @HostListener('document:click', ['$event', '$event.target'])\r\n  public onClick(event: MouseEvent, targetElement: HTMLElement): void {\r\n    if (!targetElement) {\r\n      return;\r\n    }\r\n\r\n    const clickedInside = this._elementRef.nativeElement.contains(targetElement);\r\n    if (!clickedInside) {\r\n      this.clickOutside.emit(event);\r\n    }\r\n  }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { ListItem } from '../../../component/dropdown/simple/gl-component-input-dropdown-simple.model';\r\n\r\n@Pipe({\r\n    name: 'multiSelectFilter',\r\n    pure: false,\r\n    standalone: true\r\n})\r\nexport class CorePipesListFilterPipe implements PipeTransform {\r\n\r\n  transform(items: ListItem[], filter: ListItem): ListItem[] {\r\n    if (!items || !filter) {\r\n      return items;\r\n    }\r\n    return items.filter((item: ListItem) => this.applyFilter(item, filter));\r\n  }\r\n\r\n  applyFilter(item: ListItem, filter: ListItem): boolean {\r\n    if (typeof item.text === 'string' && typeof filter.text === 'string') {\r\n      return !(filter.text && item.text && item.text.toLowerCase().indexOf(filter.text.toLowerCase()) === -1);\r\n    } else {\r\n      return !(filter.text && item.text && item.text.toString().toLowerCase().indexOf(filter.text.toString().toLowerCase()) === -1);\r\n    }\r\n  }\r\n}\r\n","import { AfterViewInit, Component, ElementRef, Input, ViewChild } from '@angular/core';\r\nimport { THorizontalAlignment, TLabelColor, TLabelTheme } from './gl-component-title-label-simple.interface';\r\nimport { NgOptimizedImage } from '@angular/common';\r\n\r\n@Component({\r\n    selector: 'gl-component-title-label-simple',\r\n    templateUrl: './gl-component-title-label-simple.component.html',\r\n    styleUrls: ['./gl-component-title-label-simple.component.scss'],\r\n    standalone: true,\r\n  imports: [NgOptimizedImage]\r\n})\r\nexport class GlComponentTitleLabelSimpleComponent implements AfterViewInit {\r\n  @ViewChild('label') label: ElementRef<HTMLLabelElement>;\r\n\r\n  @Input() labelValue;\r\n  @Input() id;\r\n  @Input() labelAlignment: THorizontalAlignment;\r\n  @Input() labelColor: TLabelColor = '';\r\n  @Input() customLabelColor: string = '';\r\n  @Input() theme: TLabelTheme = '';\r\n\r\n  @Input() required = false;\r\n  @Input() requiredLabel = 'Required field';\r\n\r\n  constructor() { }\r\n\r\n  ngAfterViewInit(): void {\r\n    const label: HTMLLabelElement = this.label.nativeElement;\r\n    const host = label.parentElement;\r\n\r\n    if (this.theme === 'category-title') {\r\n      host.style.flexGrow = '0';\r\n    }\r\n  }\r\n}\r\n","<!--suppress XmlInvalidId -->\r\n<label\r\n  #label\r\n  class=\"header-data {{ labelAlignment }} {{ theme }} {{ labelColor }}\"\r\n  [style.color]=\"customLabelColor\"\r\n  [attr.for]=\"id\">{{ labelValue }}\r\n</label>\r\n\r\n@if(required) {\r\n  <img\r\n    src=\"../assets/img/icon/label/dot.svg\"\r\n    class=\"required-fill-dot {{ theme }}\"\r\n    [title]=\"requiredLabel\"\r\n    alt=\"Required fill icon\">\r\n}\r\n\r\n","import { Injectable, OnDestroy } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { IResetAutocompleteValue, ISetAutocompleteValue, IUpdateOptionList\r\n} from './gl-component-input-autocomplete-simple.interface';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class GlComponentInputAutocompleteSimpleService implements OnDestroy {\r\n  autocompleteList$: Subject<IUpdateOptionList> = new Subject();\r\n  autocompleteReset$: Subject<IResetAutocompleteValue> = new Subject();\r\n  autocompleteLoaded$: Subject<boolean> = new Subject();\r\n  autocompleteUpdateValue$: Subject<ISetAutocompleteValue> = new Subject();\r\n\r\n  constructor() {}\r\n\r\n  ngOnDestroy(): void {\r\n    this.autocompleteList$.observers.map(x => x.complete());\r\n    this.autocompleteLoaded$.observers.map(x => x.complete());\r\n    this.autocompleteReset$.observers.map(x => x.complete());\r\n    this.autocompleteUpdateValue$.observers.map(x => x.complete());\r\n  }\r\n}\r\n","import { Overlay } from '@angular/cdk/overlay';\r\nimport { AfterViewInit, Component, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { UntypedFormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatAutocomplete, MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { IComboBoxData } from 'gl-w-combobox-frontend';\r\nimport { Observable } from 'rxjs';\r\nimport { map, startWith } from 'rxjs/operators';\r\nimport { THorizontalAlignment, TTheme } from '../../../core/interfaces/alignments.interface';\r\nimport { GlComponentInputAutocompleteSimpleService } from './gl-component-input-autocomplete-simple.service';\r\nimport { MatOptionModule } from '@angular/material/core';\r\nimport { AsyncPipe, NgOptimizedImage } from '@angular/common';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\n\r\n@Component({\r\n    selector: 'gl-component-input-autocomplete-simple',\r\n    templateUrl: './gl-component-input-autocomplete-simple.component.html',\r\n    styleUrls: ['./gl-component-input-autocomplete-simple.component.scss'],\r\n    standalone: true,\r\n  imports: [MatFormFieldModule, MatInputModule, ReactiveFormsModule, MatAutocompleteModule, MatDialogModule, MatOptionModule, AsyncPipe, NgOptimizedImage]\r\n})\r\nexport class GlComponentInputAutocompleteSimpleComponent implements OnInit, OnDestroy, OnChanges, AfterViewInit {\r\n  @ViewChild('input') input: ElementRef<HTMLInputElement>;\r\n\r\n  @Output() currentValue = new EventEmitter<IComboBoxData>();\r\n  @Input() listItems: IComboBoxData[] = [];\r\n\r\n  @Input() disabled: boolean;\r\n  @Input() listName: string;\r\n  @Input() id: string;\r\n  @Input() placeholder: string;\r\n  @Input() itemContentAlignment: THorizontalAlignment | '';\r\n  @Input() theme: TTheme = '';\r\n  @Input() value: string;\r\n  @Input() maxLength = '255';\r\n\r\n  @Input() custom: boolean;\r\n  @Input() baseUrl: string;\r\n\r\n  @Input() valueField: string;\r\n  @Input() textField: string;\r\n\r\n  @Input() labelValue: string;\r\n  @Input() labelAlignment: THorizontalAlignment;\r\n  @Input() required: boolean;\r\n  @Input() requiredField: string;\r\n\r\n  private _loaded = false;\r\n  readonly imageSource = '../assets/img/icon/drop-down/arrow-down.svg';\r\n  readonly clearSource = '../assets/img/icon/drop-down/clear.svg';\r\n  autocompleteInput = new UntypedFormControl();\r\n  filteredOptions: Observable<IComboBoxData[]>;\r\n\r\n  constructor(private _service: GlComponentInputAutocompleteSimpleService, public overlay: Overlay) {\r\n    _service.autocompleteList$.subscribe(update => {\r\n      if (this.listName === update.listName) {\r\n        this.listItems = update.options;\r\n        this.setup();\r\n      }\r\n    });\r\n    _service.autocompleteReset$.subscribe(update => {\r\n      if (this.id === update.comboboxId) {\r\n        this.input.nativeElement.value = '';\r\n        this.validate();\r\n      }\r\n    });\r\n    _service.autocompleteLoaded$.subscribe(loaded => {\r\n      this._loaded = loaded;\r\n      _service.autocompleteLoaded$.observers.map(x => x.complete());\r\n    });\r\n    _service.autocompleteUpdateValue$.subscribe(update => {\r\n      if (this.id === update.comboboxId) {\r\n        this.listItems = update.options;\r\n        const value = update.options.filter(x => x.value === update.value);\r\n        const input = this.input.nativeElement;\r\n\r\n        if (value != null && value.length > 0) {\r\n          input.value = value[0].text;\r\n          this.autocompleteInput.setValue(value[0].text);\r\n          this.value = value[0].value;\r\n          this.setup();\r\n        } else {\r\n          input.value = '';\r\n          this.autocompleteInput.setValue('');\r\n          this.value = '';\r\n          this.setup();\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.setup();\r\n  }\r\n  ngAfterViewInit(): void {\r\n    if (this.theme !== '') {\r\n      document.body.classList.add(this.theme);\r\n    }\r\n  }\r\n\r\n  private setup(): void {\r\n    // @ts-ignore Todo check typescript bug\r\n    this.filteredOptions = this\r\n      .autocompleteInput\r\n      .valueChanges\r\n      // @ts-ignore Todo check typescript bug\r\n      .pipe(startWith(''),\r\n        map(value => this.filter(value))\r\n      );\r\n\r\n    setTimeout(() => { this.validate(); });\r\n  }\r\n  private filter(value: string): IComboBoxData[] {\r\n    if (value == null) { value = ''; }\r\n\r\n    const filterValue = value.toLowerCase();\r\n    return this.listItems.filter(option => option.text?.toLowerCase().includes(filterValue));\r\n  }\r\n\r\n  validate(): void {\r\n    const input: HTMLInputElement = this.input.nativeElement;\r\n    const value: string = input.value;\r\n    const filteredData = this.filter(value);\r\n\r\n    if (value != null && value.trim().length > 0 && filteredData.length > 0) {\r\n      input.value = filteredData[0].text;\r\n      this.autocompleteInput.setValue(filteredData[0].text);\r\n      this.currentValue.emit({\r\n        id: filteredData[0].id,\r\n        text: filteredData[0].text,\r\n        value: filteredData[0].value\r\n      });\r\n    } else {\r\n      input.value = '';\r\n      this.autocompleteInput.setValue('');\r\n      this.currentValue.emit({\r\n        id: null,\r\n        text: null,\r\n        value: null\r\n      });\r\n    }\r\n  }\r\n\r\n  reset(auto: MatAutocomplete, event: Event): void {\r\n    if (auto.options != null) { auto.options.map(option => option.deselect()); }\r\n    (event.currentTarget as HTMLInputElement).select();\r\n  }\r\n\r\n  clearItems(input: HTMLInputElement): void {\r\n    input.value = null;\r\n    this.autocompleteInput.setValue(null);\r\n    this.currentValue.emit({\r\n      id: null,\r\n      text: null,\r\n      value: null\r\n    });\r\n    setTimeout(() => {\r\n      input.click();\r\n    }, 100);\r\n  }\r\n\r\n  arrowClick(): void {\r\n    this.autocompleteInput.reset();\r\n    this.autocompleteInput.setValue('');\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this._service.autocompleteList$.observers.map(x => x.complete());\r\n    this._service.autocompleteReset$.observers.map(x => x.complete());\r\n    this._service.autocompleteLoaded$.observers.map(x => x.complete());\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    const prevList = changes.listItems?.previousValue;\r\n    const currList = changes.listItems?.currentValue;\r\n\r\n    const prevValue = changes.value?.previousValue;\r\n    const currValue = changes.value?.currentValue;\r\n\r\n    // tslint:disable-next-line:triple-equals\r\n    if (prevList != currList) { this.setup(); }\r\n    // tslint:disable-next-line:triple-equals\r\n    if (prevValue != currValue) { this.setup(); }\r\n\r\n    this.overlay.position().global().dispose();\r\n  }\r\n}\r\n","<ng-content></ng-content>\r\n<div class=\"input-container custom-combobox {{ theme }} {{ disabled ? 'read-only' : '' }} {{ listItems.length > 0 ? '' : 'no-data' }}\">\r\n  <mat-form-field\r\n    (focusout)=\"overlay.position().global().dispose()\"\r\n    floatLabel=\"auto\"\r\n    appearance=\"outline\">\r\n    <div class=\"combobox-container {{ listItems.length > 0 ? '' : 'no-data' }} {{ disabled ? 'read-only' : '' }}\">\r\n      <input\r\n        #input\r\n        type=\"text\"\r\n        aria-label=\"Number\"\r\n        class=\"item-content {{ itemContentAlignment }} {{ theme }} {{ listItems.length > 0 ? '' : 'no-data' }} {{ disabled ? 'read-only' : '' }}\"\r\n        matInput\r\n        [readonly]=\"disabled\"\r\n        [id]=\"id\"\r\n        [placeholder]=\"placeholder\"\r\n        [formControl]=\"autocompleteInput\"\r\n        [maxLength]=\"maxLength\"\r\n        [matAutocomplete]=\"auto\"\r\n        (focusin)=\"reset(auto, $event)\"\r\n        (focusout)=\"validate()\">\r\n    </div>\r\n    <mat-autocomplete autoActiveFirstOption=\"true\" #auto=\"matAutocomplete\" (optionSelected)=\"input.blur()\" [mat-dialog-close]=\"overlay.position().global().dispose()\">\r\n\r\n      @for(option of filteredOptions | async; track option.id) {\r\n        <mat-option [value]=\"option.text\">\r\n          {{option.text}}\r\n        </mat-option>\r\n      }\r\n    </mat-autocomplete>\r\n  </mat-form-field>\r\n  <img\r\n    #arrowDown\r\n    (click)=\"clearItems(input)\"\r\n    alt=\"Show items\"\r\n    class=\"arrow-down {{ theme }} {{ disabled ? 'read-only' : '' }}\"\r\n    [src]=\"imageSource\">\r\n</div>\r\n\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { IComboBoxData } from 'gl-w-combobox-frontend';\r\nimport { THorizontalAlignment, TTheme } from '../../../core/interfaces/alignments.interface';\r\nimport { GlComponentTitleLabelSimpleComponent } from '../../../../../../gl-ng-titles-frontend/src/lib/component/label/simple/gl-component-title-label-simple.component';\r\nimport { GlComponentInputAutocompleteSimpleComponent } from '../simple/gl-component-input-autocomplete-simple.component';\r\nimport { TLabelColor, TLabelTheme } from '../../../../../../gl-ng-titles-frontend/src/lib/component/label/simple/gl-component-title-label-simple.interface';\r\n\r\n@Component({\r\n    selector: 'gl-component-input-autocomplete-label',\r\n    templateUrl: './gl-component-input-autocomplete-label.component.html',\r\n    styleUrls: ['./gl-component-input-autocomplete-label.component.scss'],\r\n    standalone: true,\r\n    imports: [GlComponentInputAutocompleteSimpleComponent, GlComponentTitleLabelSimpleComponent]\r\n})\r\nexport class GlComponentInputAutocompleteLabelComponent {\r\n\r\n  @Output() currentValue = new EventEmitter();\r\n  @Input() listItems: IComboBoxData[] = [];\r\n\r\n  @Input() disabled = false;\r\n  @Input() listName: string;\r\n  @Input() id: string;\r\n  @Input() labelValue: string;\r\n  @Input() labelAlignment: THorizontalAlignment;\r\n  @Input() placeholder: string;\r\n  @Input() itemContentAlignment: THorizontalAlignment | '';\r\n  @Input() theme: TTheme = '';\r\n  @Input() value;\r\n  @Input() required: boolean;\r\n  @Input() labelTheme: TLabelTheme = ''\r\n  @Input() labelColor: TLabelColor = '';\r\n  @Input() customLabelColor: string = '';\r\n\r\n  @Input() custom: boolean;\r\n  @Input() baseUrl: string;\r\n\r\n  @Input() valueField: string;\r\n  @Input() textField: string;\r\n  @Input() requiredField = 'Required field';\r\n\r\n  constructor() {}\r\n\r\n  onCurrentValue(value): void { this.currentValue.emit(value); }\r\n}\r\n","<div class=\"item-container {{ labelTheme !== 'simple' ? 'default-label' : '' }}\">\r\n  <gl-component-input-autocomplete-simple\r\n    [theme]=\"theme\"\r\n    [value]=\"value\"\r\n    [listName]=\"listName\"\r\n    (currentValue)=\"onCurrentValue($event)\"\r\n    [id]=\"id\"\r\n    [itemContentAlignment]=\"itemContentAlignment\"\r\n    [placeholder]=\"placeholder\"\r\n    [listItems]=\"listItems\"\r\n    [disabled]=\"disabled\"\r\n\r\n    [custom]=\"custom\"\r\n    [baseUrl]=\"baseUrl\"\r\n    [valueField]=\"valueField\"\r\n    [textField]=\"textField\"\r\n  ><gl-component-title-label-simple\r\n    [id]=\"id\"\r\n    [labelAlignment]=\"labelAlignment\"\r\n    [labelValue]=\"labelValue\"\r\n    [required]=\"required\"\r\n    [requiredLabel]=\"requiredField\"\r\n    [theme]=\"labelTheme\"\r\n    [labelColor]=\"labelColor\"\r\n    [customLabelColor]=\"customLabelColor\"\r\n  ></gl-component-title-label-simple>\r\n  </gl-component-input-autocomplete-simple>\r\n</div>\r\n\r\n","import { Component, Input } from '@angular/core';\r\nimport { NgOptimizedImage } from '@angular/common';\r\n\r\n@Component({\r\n    selector: 'gl-component-input-button-hyperlink',\r\n    templateUrl: './gl-component-input-button-hyperlink.component.html',\r\n    styleUrls: ['./gl-component-input-button-hyperlink.component.scss'],\r\n    standalone: true,\r\n  imports: [NgOptimizedImage]\r\n})\r\nexport class GlComponentInputButtonHyperlinkComponent {\r\n  @Input() imageSrc: string;\r\n  @Input() imageDescription: string;\r\n  @Input() description: string;\r\n  @Input() link: string;\r\n  @Input() readonly = false;\r\n\r\n  constructor() { }\r\n}\r\n","<div class=\"hyperlink-container\">\r\n\r\n  <img\r\n    class=\"logo\"\r\n    [src]=\"imageSrc\"\r\n    [alt]=\"imageDescription\">\r\n\r\n  @if(readonly) {\r\n    <span\r\n      class=\"message\">\r\n    {{ description }}\r\n  </span>\r\n  }\r\n\r\n  @if(!readonly) {\r\n    <a\r\n      class=\"message\"\r\n      target=\"_blank\"\r\n      [href]=\"link\"\r\n    >{{ description }}</a>\r\n  }\r\n\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\nimport { TInputButtonSimpleClass, TInputButtonType } from './gl-component-input-button-simple.interface';\r\n\r\n@Component({\r\n    selector: 'gl-component-input-button-simple',\r\n    templateUrl: './gl-component-input-button-simple.component.html',\r\n    styleUrls: ['./gl-component-input-button-simple.component.scss'],\r\n    standalone: true\r\n})\r\nexport class GlComponentInputButtonSimpleComponent {\r\n  @Input() value: string;\r\n  @Input() theme: TInputButtonSimpleClass = '';\r\n  @Input() innerValue: string;\r\n  @Input() readonly = false;\r\n  @Input() type: TInputButtonType = 'button';\r\n  @Input() disableDragging = false;\r\n  @Input() class: string;\r\n\r\n  constructor() {}\r\n\r\n  preventDragging(): boolean {\r\n    return !this.disableDragging;\r\n  }\r\n}\r\n","<button\r\n  class=\"default-button {{ theme }} {{ class }}\"\r\n  [type]=\"type\"\r\n  [value]=\"value\"\r\n  [disabled]=\"readonly\"\r\n  (dragstart)=\"preventDragging()\"\r\n>{{ innerValue }}</button>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { TCheckboxTheme, TCheckedIcon, TUncheckedIcon } from './gl-component-input-check-box-simple.interface';\r\nimport { NgOptimizedImage } from '@angular/common';\r\n\r\n@Component({\r\n    selector: 'gl-component-input-check-box-simple',\r\n    templateUrl: './gl-component-input-check-box-simple.component.html',\r\n    styleUrls: ['./gl-component-input-check-box-simple.component.scss'],\r\n    standalone: true,\r\n  imports: [NgOptimizedImage]\r\n})\r\nexport class GlComponentInputCheckBoxSimpleComponent {\r\n\r\n  @Input() checked = false;\r\n  @Input() showBackground = true;\r\n  @Input() disabled = false;\r\n\r\n  @Input() theme: TCheckboxTheme = 'dark';\r\n  @Input() checkedIcon: TCheckedIcon = 'checked';\r\n  @Input() uncheckedIcon: TUncheckedIcon = 'unchecked';\r\n\r\n  @Output() checked$: EventEmitter<boolean> = new EventEmitter();\r\n\r\n  constructor() { }\r\n\r\n  onChecked(checked: boolean): void {\r\n    this.checked = checked;\r\n    this.checked$.emit(checked);\r\n  }\r\n}\r\n","<div class=\"check-box-container {{ theme }} {{ showBackground ? '' : 'transparent' }}\">\r\n  @if(!checked) {\r\n    <img\r\n      (click)=\"onChecked(true)\"\r\n      alt=\"Checked\"\r\n      class=\"check-box unchecked\"\r\n      [class.disabled]=\"disabled\"\r\n      [src]=\"'../assets/img/icon/check-box/' + uncheckedIcon + '.svg'\">\r\n  }\r\n\r\n  @if(checked) {\r\n    <img\r\n      (click)=\"onChecked(false)\"\r\n      alt=\"Unchecked\"\r\n      class=\"check-box checked\"\r\n      [class.disabled]=\"disabled\"\r\n      [src]=\"'../assets/img/icon/check-box/' + checkedIcon +'.svg'\">\r\n  }\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { THorizontalAlignment } from '../../../core/interfaces/alignments.interface';\r\nimport { GlComponentInputCheckBoxSimpleComponent } from '../simple/gl-component-input-check-box-simple.component';\r\nimport { GlComponentTitleLabelSimpleComponent } from '../../../../../../gl-ng-titles-frontend/src/lib/component/label/simple/gl-component-title-label-simple.component';\r\nimport { TLabelColor, TLabelTheme } from '../../../../../../gl-ng-titles-frontend/src/lib/component/label/simple/gl-component-title-label-simple.interface';\r\n\r\n@Component({\r\n    selector: 'gl-component-input-check-box-label',\r\n    templateUrl: './gl-component-input-check-box-label.component.html',\r\n    styleUrls: ['./gl-component-input-check-box-label.component.scss'],\r\n    standalone: true,\r\n    imports: [GlComponentTitleLabelSimpleComponent, GlComponentInputCheckBoxSimpleComponent]\r\n})\r\nexport class GlComponentInputCheckBoxLabelComponent {\r\n\r\n  @Input() checked = false;\r\n  @Input() showBackground = true;\r\n\r\n  @Input() labelId: string;\r\n  @Input() labelAlignment: THorizontalAlignment = 'center';\r\n  @Input() required: boolean;\r\n  @Input() labelValue: string;\r\n  @Input() requiredLabelDescription: string;\r\n  @Input() labelTheme: TLabelTheme = ''\r\n  @Input() labelColor: TLabelColor = '';\r\n\r\n  @Output() checked$: EventEmitter<boolean> = new EventEmitter();\r\n\r\n  constructor() { }\r\n}\r\n","<gl-component-title-label-simple\r\n  [labelAlignment]=\"labelAlignment\"\r\n  [required]=\"required\"\r\n  [labelValue]=\"labelValue\"\r\n  [requiredLabel]=\"requiredLabelDescription\"\r\n  [id]=\"labelId\"\r\n  [labelColor]=\"labelColor\"\r\n  [theme]=\"labelTheme\"\r\n></gl-component-title-label-simple>\r\n<gl-component-input-check-box-simple\r\n  [checked]=\"checked\"\r\n  [showBackground]=\"showBackground\"\r\n  (checked$)=\"checked$.emit($event)\"\r\n></gl-component-input-check-box-simple>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter } from '@angular/material-moment-adapter';\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { MatDatepicker, MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { DateGet } from 'gl-w-date-frontend';\r\nimport { THorizontalAlignment, TTheme } from '../../../../core/interfaces/alignments.interface';\r\nimport { IDatePickerMonthYearOutput } from './gl-component-input-datepicker-simple-month-year.interface';\r\nimport { NgOptimizedImage } from '@angular/common';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\n\r\nconst MONTH_YEAR_FORMAT = {\r\n  parse: {\r\n    dateInput: 'MM/YYYY',\r\n  },\r\n  display: {\r\n    dateInput: 'MM/YYYY',\r\n    monthYearLabel: 'MMM YYYY',\r\n    dateA11yLabel: 'LL',\r\n    monthYearA11yLabel: 'MMMM YYYY',\r\n  },\r\n};\r\n\r\n@Component({\r\n    selector: 'gl-component-input-datepicker-simple-month-year',\r\n    templateUrl: './gl-component-input-datepicker-simple-month-year.component.html',\r\n    styleUrls: ['./gl-component-input-datepicker-simple-month-year.component.scss'],\r\n    providers: [\r\n        {\r\n            provide: MAT_DATE_LOCALE,\r\n            useValue: 'pt-BR'\r\n        },\r\n        {\r\n            provide: DateAdapter,\r\n            useClass: MomentDateAdapter,\r\n            deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]\r\n        },\r\n        {\r\n            provide: MAT_DATE_FORMATS,\r\n            useValue: MONTH_YEAR_FORMAT\r\n        }\r\n    ],\r\n    standalone: true,\r\n  imports: [MatFormFieldModule, MatInputModule, MatDatepickerModule, NgOptimizedImage]\r\n})\r\nexport class GlComponentInputDatepickerSimpleMonthYearComponent {\r\n  @Input() disabled = false;\r\n  @Input() id: string;\r\n  @Input() placeholder: string;\r\n  @Input() itemContentAlignment: THorizontalAlignment = 'center';\r\n  @Input() theme: TTheme = '';\r\n  @Input() value: Date = DateGet.currentDate('DD/MM/YYYY');\r\n  @Input() maxLength = 255;\r\n\r\n  @Output() currentValue: EventEmitter<IDatePickerMonthYearOutput> = new EventEmitter();\r\n\r\n  readonly dateFormatString: 'MM/YYYY' = 'MM/YYYY';\r\n  readonly dateFormat = 'DD/MM/YYYY';\r\n  startDate = this.value;\r\n  date: Date = DateGet.customDateNoUTC('DD/MM/YYYY');\r\n\r\n  constructor() {}\r\n\r\n  chosenYearHandler(normalizedYear: any): void {\r\n    const ctrlValue = this.date;\r\n    ctrlValue.setFullYear(normalizedYear.year());\r\n    this.date = ctrlValue;\r\n\r\n    const date = DateGet.customDateNoUTC(ctrlValue, this.dateFormat);\r\n\r\n    const dateString = DateGet.customDateNoUTCString(normalizedYear, this.dateFormatString, this.dateFormatString) as 'MM/YYYY';\r\n\r\n    this.currentValue.emit({ date, dateString });\r\n  }\r\n  chosenMonthHandler(normalizedMonth: any, datepicker: MatDatepicker<any>): void {\r\n    const ctrlValue = this.date;\r\n    ctrlValue.setMonth(normalizedMonth.month());\r\n    this.date = ctrlValue;\r\n\r\n    datepicker.close();\r\n\r\n    const date = DateGet.customDateNoUTC(ctrlValue, this.dateFormat);\r\n    const dateString = DateGet.customDateString(normalizedMonth, this.dateFormatString, this.dateFormatString) as 'MM/YYYY';\r\n\r\n    this.currentValue.emit({ date, dateString });\r\n  }\r\n\r\n  clear(): void {\r\n    this.currentValue.emit({\r\n      date: null,\r\n      dateString: null\r\n    });\r\n  }\r\n  changed(event): void {\r\n    this.currentValue.emit({\r\n      date: DateGet.customDateNoUTC(event.value, this.dateFormat),\r\n      dateString: DateGet.customDateString(event.value, this.dateFormatString, this.dateFormatString) as 'MM/YYYY'\r\n    });\r\n  }\r\n}\r\n","<ng-content></ng-content>\r\n<mat-form-field appearance=\"none\" floatLabel=\"never\">\r\n  <!--  <mat-label>Input disabled</mat-label>-->\r\n  <input\r\n    class=\"item-content {{ itemContentAlignment }} {{ theme }}\"\r\n    matInput\r\n    [id]=\"id\"\r\n    [placeholder]=\"placeholder\"\r\n    [value]=\"value\"\r\n    [matDatepicker]=\"dp3\"\r\n    [attr.maxlength]=\"maxLength\"\r\n    (dateChange)=\"changed($event)\"\r\n    disabled>\r\n\r\n  @if (!disabled) {\r\n    <mat-datepicker-toggle matSuffix (click)=\"clear()\">\r\n      <img\r\n        matDatepickerToggleIcon\r\n        class=\"datepicker-button\"\r\n        alt=\"Date picker icon\"\r\n        src=\"../assets/img/icon/datepicker/clear.svg\">\r\n    </mat-datepicker-toggle>\r\n    <mat-datepicker-toggle matSuffix [for]=\"dp3\">\r\n      <img\r\n        matDatepickerToggleIcon\r\n        class=\"datepicker-button\"\r\n        alt=\"Date picker icon\"\r\n        src=\"../assets/img/icon/datepicker/date.svg\">\r\n    </mat-datepicker-toggle>\r\n  }\r\n\r\n  <mat-datepicker\r\n    #dp3 disabled=\"false\"\r\n    startView=\"multi-year\"\r\n    (yearSelected)=\"chosenYearHandler($event)\"\r\n    (monthSelected)=\"chosenMonthHandler($event, dp3)\"\r\n    panelClass=\"month-picker\">\r\n  ></mat-datepicker>\r\n</mat-form-field>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MAT_MOMENT_DATE_FORMATS, MomentDateAdapter } from '@angular/material-moment-adapter';\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { DateGet } from 'gl-w-date-frontend';\r\nimport { THorizontalAlignment, TTheme } from '../../../../core/interfaces/alignments.interface';\r\nimport { IDatePickerOutput } from './gl-component-input-datepicker-simple-day-month-year.interface';\r\nimport { NgOptimizedImage } from '@angular/common';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\n\r\n@Component({\r\n    selector: 'gl-component-input-datepicker-simple-day-month-year',\r\n    templateUrl: './gl-component-input-datepicker-simple-day-month-year.component.html',\r\n    styleUrls: ['./gl-component-input-datepicker-simple-day-month-year.component.scss'],\r\n    providers: [\r\n        { provide: MAT_DATE_LOCALE, useValue: 'pt-BR' },\r\n        {\r\n            provide: DateAdapter,\r\n            useClass: MomentDateAdapter,\r\n            deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]\r\n        },\r\n        {\r\n            provide: MAT_DATE_FORMATS,\r\n            useValue: MAT_MOMENT_DATE_FORMATS\r\n        },\r\n    ],\r\n    standalone: true,\r\n  imports: [MatFormFieldModule, MatInputModule, MatDatepickerModule, NgOptimizedImage]\r\n})\r\nexport class GlComponentInputDatepickerSimpleDayMonthYearComponent {\r\n  @Input() disabled = false;\r\n  @Input() id: string;\r\n  @Input() placeholder: string;\r\n  @Input() itemContentAlignment: THorizontalAlignment = 'center';\r\n  @Input() theme: TTheme = '';\r\n  @Input() value: Date = null;\r\n  @Input() maxLength = 255;\r\n\r\n  @Output() currentValue: EventEmitter<IDatePickerOutput> = new EventEmitter();\r\n\r\n  readonly dateFormat: 'DD/MM/YYYY' = 'DD/MM/YYYY';\r\n\r\n  constructor() {}\r\n\r\n  clear(input: HTMLInputElement): void {\r\n    this.currentValue.emit({\r\n      date: null,\r\n      dateString: null\r\n    });\r\n\r\n    input.value = null;\r\n  }\r\n\r\n  changed(event): void {\r\n    this.currentValue.emit({\r\n      date: DateGet.customDateNoUTC(event.value, this.dateFormat),\r\n      dateString: DateGet.customDateNoUTCString(event.value, this.dateFormat) as 'DD/MM/YYYY'\r\n    });\r\n  }\r\n}\r\n","<ng-content></ng-content>\r\n<mat-form-field appearance=\"none\" floatLabel=\"never\" id=\"{{ id + '-with-step' }}\">\r\n<!--  <mat-label>Input disabled</mat-label>-->\r\n  <input\r\n    #input\r\n    class=\"item-content {{ itemContentAlignment }} {{ theme }}\"\r\n    [id]=\"id\"\r\n    [placeholder]=\"placeholder\"\r\n    [value]=\"value\"\r\n    [matDatepicker]=\"dp3\"\r\n    [attr.maxlength]=\"maxLength\"\r\n    (dateChange)=\"changed($event)\"\r\n    matInput\r\n    disabled>\r\n\r\n  @if(!disabled) {\r\n    <mat-datepicker-toggle matSuffix (click)=\"clear(input)\">\r\n      <img\r\n        matDatepickerToggleIcon\r\n        class=\"datepicker-button\"\r\n        alt=\"Date picker icon\"\r\n        src=\"../assets/img/icon/datepicker/clear.svg\">\r\n    </mat-datepicker-toggle>\r\n    <mat-datepicker-toggle matSuffix [for]=\"dp3\">\r\n      <img\r\n        matDatepickerToggleIcon\r\n        class=\"datepicker-button\"\r\n        alt=\"Date picker icon\"\r\n        src=\"../assets/img/icon/datepicker/date.svg\">\r\n    </mat-datepicker-toggle>\r\n  }\r\n\r\n  <mat-datepicker #dp3 disabled=\"false\"></mat-datepicker>\r\n</mat-form-field>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { THorizontalAlignment, TTheme } from '../../../core/interfaces/alignments.interface';\r\nimport { IDatePickerOutput } from '../simple/day-month-year/gl-component-input-datepicker-simple-day-month-year.interface';\r\nimport { IDatePickerMonthYearOutput } from '../simple/month-year/gl-component-input-datepicker-simple-month-year.interface';\r\nimport { GlComponentInputDatepickerSimpleMonthYearComponent } from '../simple/month-year/gl-component-input-datepicker-simple-month-year.component';\r\nimport { GlComponentTitleLabelSimpleComponent } from '../../../../../../gl-ng-titles-frontend/src/lib/component/label/simple/gl-component-title-label-simple.component';\r\nimport { GlComponentInputDatepickerSimpleDayMonthYearComponent } from '../simple/day-month-year/gl-component-input-datepicker-simple-day-month-year.component';\r\nimport { TLabelColor, TLabelTheme } from '../../../../../../gl-ng-titles-frontend/src/lib/component/label/simple/gl-component-title-label-simple.interface';\r\n\r\n@Component({\r\n    selector: 'gl-component-input-datepicker-label',\r\n    templateUrl: './gl-component-input-datepicker-label.component.html',\r\n    styleUrls: ['./gl-component-input-datepicker-label.component.scss'],\r\n    standalone: true,\r\n    imports: [GlComponentInputDatepickerSimpleDayMonthYearComponent, GlComponentTitleLabelSimpleComponent, GlComponentInputDatepickerSimpleMonthYearComponent]\r\n})\r\nexport class GlComponentInputDatepickerLabelComponent implements OnInit {\r\n  @Input() disabled = false;\r\n  @Input() id: string;\r\n  @Input() placeholder: string;\r\n  @Input() itemContentAlignment: THorizontalAlignment = 'center';\r\n  @Input() theme: TTheme = '';\r\n  @Input() value: Date = null;\r\n  @Input() dateFormat: 'MM/YYYY' | 'DD/MM/YYYY' = 'DD/MM/YYYY';\r\n\r\n  @Input() labelTheme: TLabelTheme = ''\r\n  @Input() labelColor: TLabelColor = '';\r\n  @Input() customLabelColor: string = '';\r\n\r\n  @Input() maxLength = 255;\r\n  @Input() labelValue: string;\r\n  @Input() labelAlignment: THorizontalAlignment = 'center';\r\n  @Input() required: boolean;\r\n  @Input() requiredField = 'Required field';\r\n\r\n  @Output() currentValue: EventEmitter<IDatePickerOutput | IDatePickerMonthYearOutput> = new EventEmitter();\r\n\r\n  constructor() {}\r\n\r\n  ngOnInit(): void {}\r\n\r\n  onCurrentValue(event: IDatePickerOutput | IDatePickerMonthYearOutput): void {\r\n    this.currentValue.emit(event);\r\n  }\r\n}\r\n","<div class=\"item-container {{ labelTheme !== 'simple' ? 'default-label' : '' }}\">\r\n  @if(dateFormat == 'DD/MM/YYYY') {\r\n    <gl-component-input-datepicker-simple-day-month-year\r\n      [theme]=\"theme\"\r\n      [value]=\"value\"\r\n      (currentValue)=\"onCurrentValue($event)\"\r\n      [id]=\"id\"\r\n      [itemContentAlignment]=\"itemContentAlignment\"\r\n      [placeholder]=\"placeholder\"\r\n      [disabled]=\"disabled\"\r\n      [maxLength]=\"maxLength\"\r\n    ><gl-component-title-label-simple\r\n      [id]=\"id\"\r\n      [labelAlignment]=\"labelAlignment\"\r\n      [labelValue]=\"labelValue\"\r\n      [required]=\"required\"\r\n      [theme]=\"labelTheme\"\r\n      [labelColor]=\"labelColor\"\r\n      [customLabelColor]=\"customLabelColor\"\r\n      [requiredLabel]=\"requiredField\"\r\n    ></gl-component-title-label-simple>\r\n    </gl-component-input-datepicker-simple-day-month-year>\r\n  }\r\n\r\n  @if(dateFormat == 'MM/YYYY') {\r\n    <gl-component-input-datepicker-simple-month-year\r\n      [theme]=\"theme\"\r\n      [value]=\"value\"\r\n      (currentValue)=\"onCurrentValue($event)\"\r\n      [id]=\"id\"\r\n      [itemContentAlignment]=\"itemContentAlignment\"\r\n      [placeholder]=\"placeholder\"\r\n      [disabled]=\"disabled\"\r\n      [maxLength]=\"maxLength\"\r\n    ><gl-component-title-label-simple\r\n      [id]=\"id\"\r\n      [labelAlignment]=\"labelAlignment\"\r\n      [labelValue]=\"labelValue\"\r\n      [required]=\"required\"\r\n      [theme]=\"labelTheme\"\r\n      [labelColor]=\"labelColor\"\r\n      [customLabelColor]=\"customLabelColor\"\r\n      [requiredLabel]=\"requiredField\"\r\n    ></gl-component-title-label-simple>\r\n    </gl-component-input-datepicker-simple-month-year>\r\n  }\r\n</div>\r\n\r\n\r\n\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { TAttachmentItemType } from './gl-component-attachment-item.interface';\r\nimport { NgOptimizedImage } from '@angular/common';\r\n\r\n@Component({\r\n    selector: 'gl-component-attachment-item',\r\n    templateUrl: './gl-component-attachment-item.component.html',\r\n    styleUrls: ['./gl-component-attachment-item.component.scss'],\r\n    standalone: true,\r\n  imports: [NgOptimizedImage]\r\n})\r\nexport class GlComponentAttachmentItemComponent {\r\n  @Input() disabled = false;\r\n  @Input() attachmentUrl: string;\r\n  @Input() fileName: string;\r\n  @Input() fileIcon: string;\r\n  @Input() id: number;\r\n  @Input() type: TAttachmentItemType = 'file';\r\n  @Input() addingSmooth: boolean;\r\n\r\n  @Output() click$: EventEmitter<void> = new EventEmitter();\r\n  @Output() removeCurrentItem$: EventEmitter<{ id: number }> = new EventEmitter();\r\n  @Output() editCurrentItem$: EventEmitter<{ id: number }> = new EventEmitter();\r\n\r\n  constructor() { }\r\n\r\n  removeItem(id: number): void {\r\n    this.removeCurrentItem$.emit({ id });\r\n  }\r\n  editItem(id: number): void {\r\n    this.editCurrentItem$.emit({ id });\r\n  }\r\n\r\n  onButtonClick(e: Event): void {\r\n    e.preventDefault();\r\n    this.click$.emit();\r\n  }\r\n}\r\n","<div class=\"attachment-container {{ addingSmooth ? 'adding-row-animated' : '' }}\">\r\n  <img\r\n    class=\"attachment-icon\"\r\n    [src]=\"fileIcon\"\r\n    alt=\"Ícone anexo\">\r\n  <a\r\n    (click)=\"onButtonClick($event)\"\r\n    [id]=\"id\"\r\n    [href]=\"attachmentUrl\"\r\n    class=\"file\"\r\n  >{{ fileName }}</a>\r\n  @if(!disabled && type === 'link') {\r\n    <img\r\n      (click)=\"editItem(id)\"\r\n      class=\"edit-item\"\r\n      src=\"../assets/img/icon/menu/attachment/edit.svg\"\r\n      alt=\"Editar anexo\"/>\r\n  }\r\n\r\n  @if(!disabled) {\r\n    <img\r\n      (click)=\"removeItem(id)\"\r\n      class=\"remove-item\"\r\n      src=\"../assets/img/icon/menu/attachment/delete.svg\"\r\n      alt=\"Apagar anexo\"/>\r\n  }\r\n</div>\r\n","import { Directive, EventEmitter, HostBinding, HostListener, Output } from '@angular/core';\r\n\r\n@Directive({\r\n    selector: '[glCoreDirectivesDragAndDrop]',\r\n    standalone: true\r\n})\r\nexport class CoreDirectivesDragAndDropDirective {\r\n  @HostBinding('class.file-over') fileOver: boolean;\r\n  @HostBinding('class.file-not-over') fileNotOver: boolean;\r\n  @Output() fileDropped: EventEmitter<any> = new EventEmitter();\r\n\r\n  private static isReadOnly(event): boolean {\r\n    return event.target.classList.contains('readonly');\r\n  }\r\n\r\n  @HostListener('dragover', ['$event']) onDragOver(event: DragEvent): void {\r\n    event.preventDefault();\r\n    event.stopPropagation();\r\n\r\n    const readonly = CoreDirectivesDragAndDropDirective.isReadOnly(event);\r\n\r\n    if (!readonly) {\r\n      this.fileOver = true;\r\n      this.fileNotOver = false;\r\n    } else {\r\n      this.fileOver = false;\r\n      this.fileNotOver = true;\r\n    }\r\n  }\r\n  @HostListener('dragleave', ['$event']) public onDragLeader(event: DragEvent): void {\r\n    event.preventDefault();\r\n    event.stopPropagation();\r\n\r\n    const readonly = CoreDirectivesDragAndDropDirective.isReadOnly(event);\r\n\r\n    if (!readonly) {\r\n      this.fileOver = false;\r\n      this.fileNotOver = true;\r\n    } else {\r\n      this.fileOver = false;\r\n      this.fileNotOver = true;\r\n    }\r\n  }\r\n  @HostListener('drop', ['$event']) public onDrop(event: DragEvent): void {\r\n    event.preventDefault();\r\n    event.stopPropagation();\r\n\r\n    const readonly = CoreDirectivesDragAndDropDirective.isReadOnly(event);\r\n\r\n    if (!readonly) {\r\n      this.fileOver = false;\r\n      this.fileNotOver = true;\r\n      const files = event.dataTransfer.files;\r\n\r\n      if (files.length > 0) {\r\n        // Do some stuff here\r\n        this.fileDropped.emit(files);\r\n        console.log(`You dropped ${files.length} files.`);\r\n      }\r\n    } else {\r\n      this.fileOver = false;\r\n      this.fileNotOver = true;\r\n    }\r\n  }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { NgOptimizedImage } from '@angular/common';\r\n\r\n@Component({\r\n    selector: 'gl-component-input-switch',\r\n    templateUrl: './gl-component-input-switch.component.html',\r\n    styleUrls: ['./gl-component-input-switch.component.scss'],\r\n    standalone: true,\r\n  imports: [NgOptimizedImage]\r\n})\r\nexport class GlComponentInputSwitchComponent {\r\n  @Input() disabled = false;\r\n  @Input() active = false;\r\n  @Input() label: string;\r\n  @Input() labelColor: 'white' | 'black' = 'white';\r\n  @Input() showLabel = true;\r\n  @Input() showAsInputButton = false;\r\n\r\n  @Input() buttonIconSrc: string;\r\n\r\n  @Output() active$: EventEmitter<boolean> = new EventEmitter();\r\n\r\n  constructor() { }\r\n\r\n  activate(): void {\r\n    if (this.disabled) {\r\n      this.active = !this.active;\r\n      this.active$.emit(this.active);\r\n    }\r\n  }\r\n\r\n  onContainerClick(): void {\r\n    if (this.showAsInputButton) {\r\n      this.activate();\r\n    }\r\n  }\r\n}\r\n","<div class=\"switch-main-container {{ disabled ? 'disabled' : '' }} {{ showAsInputButton ? 'show-as-button' : '' }}\"\r\n  (click)=\"onContainerClick()\">\r\n  @if (showAsInputButton && buttonIconSrc?.length > 0) {\r\n    <img\r\n      [src]=\"buttonIconSrc\"\r\n      class=\"switch-button-icon\"\r\n      alt=\"switch-icon\">\r\n  }\r\n\r\n  @if(showLabel) {\r\n    <span\r\n      class=\"switch-label {{ labelColor }} {{ buttonIconSrc?.length > 0 ? 'has-icon' : '' }}\"\r\n    >{{ label }}</span>\r\n  }\r\n\r\n  <div\r\n    (click)=\"activate()\"\r\n    class=\"switch-item-container {{ active ? 'active' : '' }}\">\r\n    <div\r\n      class=\"switch-item {{ active ? 'active' : '' }}\"></div>\r\n  </div>\r\n</div>\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class GlComponentModalAlertService {\r\n  message: string;\r\n  isOK = true;\r\n\r\n  showModal: boolean;\r\n  modalClass: string;\r\n  currentValue: Subject<boolean> = new Subject<boolean>();\r\n  resolvePromise;\r\n\r\n  customYes: string;\r\n  customNo: string;\r\n\r\n  private _okButton: HTMLInputElement;\r\n  private _noButton: HTMLInputElement;\r\n  private _yesButton: HTMLInputElement;\r\n\r\n  constructor() {}\r\n\r\n  show(message): Promise<boolean> {\r\n    return this.modal(true, true, message);\r\n  }\r\n  showYesNo(message, customYes?: string, customNo?: string): Promise<boolean> {\r\n    this.customYes = customYes;\r\n    this.customNo = customNo;\r\n\r\n    return this.modal(true, false, message);\r\n  }\r\n\r\n  hide(): void {\r\n    this.modal(false, this.isOK, this.message);\r\n  }\r\n\r\n  onNo(): void {\r\n    this.currentValue.next(false);\r\n    this.resolvePromise(false);\r\n    this.hide();\r\n  }\r\n  onYes(): void {\r\n    this.currentValue.next(true);\r\n    this.resolvePromise(true);\r\n    this.hide();\r\n  }\r\n  onOk(): void {\r\n    this.currentValue.next(true);\r\n    this.resolvePromise(true);\r\n    this.hide();\r\n  }\r\n\r\n  private modal(show: boolean, isOK: boolean = true, message: string = ''): Promise<boolean> {\r\n    return new Promise(resolve => {\r\n      this.resolvePromise = resolve;\r\n      this.isOK = isOK;\r\n      this.message = message;\r\n\r\n      if (show) {\r\n        this.modalClass = 'hide-modal';\r\n        this.showModal = show;\r\n        this.modalClass = 'show-modal';\r\n\r\n        setTimeout(() => {\r\n          this.setElements();\r\n\r\n          setTimeout(() => {\r\n            if (isOK) {\r\n              this._okButton.focus();\r\n            } else {\r\n              this._yesButton.focus();\r\n            }\r\n          }, 300);\r\n        }, 300);\r\n      } else {\r\n        this.modalClass = 'hide-modal';\r\n        setTimeout(() => {\r\n          this.showModal = false;\r\n          this.message = '';\r\n          this.customYes = null;\r\n          this.customNo = null;\r\n        }, 300);\r\n      }\r\n    });\r\n  }\r\n\r\n  onModalKeyUp(e: KeyboardEvent): void {\r\n    if (e.key === 'Enter') {\r\n      if (this.isOK) { this.onOk(); } else { this.onYes(); }\r\n    } else if (e.key === 'Escape') {\r\n      if (this.isOK) { this.onOk(); } else { this.onNo(); }\r\n    }\r\n  }\r\n\r\n  private setElements(): void {\r\n    const container = document.querySelector('.modal-container .modal-main-content .button-container');\r\n\r\n    this._okButton = container.querySelector('.ok .default-button');\r\n    this._noButton = container.querySelector('.no .default-button');\r\n    this._yesButton = container.querySelector('.yes .default-button');\r\n  }\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { AttachmentIcon, AttachmentValidate, IAttachmentData } from 'gl-w-attachment-frontend';\r\nimport { GlComponentModalAlertService } from '../../../../../../gl-ng-modals-frontend/src/lib/component/alert/gl-component-modal-alert.service';\r\nimport { IDragAndDropAddedResult } from './gl-component-input-drag-and-drop-simple.interface';\r\nimport { GlComponentInputButtonSimpleComponent } from '../../button/simple/gl-component-input-button-simple.component';\r\nimport { GlComponentAttachmentItemComponent } from '../../../../../../gl-ng-attachments-frontend/src/lib/component/item/gl-component-attachment-item.component';\r\nimport { CoreDirectivesDragAndDropDirective } from '../../../core/directives/drag-and-drop/core-directives-drag-and-drop.directive';\r\nimport { GlComponentInputSwitchComponent } from '../../switch/gl-component-input-switch.component';\r\nimport { NgOptimizedImage } from '@angular/common';\r\n\r\n@Component({\r\n    selector: 'gl-component-input-drag-and-drop-simple',\r\n    templateUrl: './gl-component-input-drag-and-drop-simple.component.html',\r\n    styleUrls: ['./gl-component-input-drag-and-drop-simple.component.scss'],\r\n    standalone: true,\r\n  imports: [GlComponentInputSwitchComponent, CoreDirectivesDragAndDropDirective, GlComponentAttachmentItemComponent, GlComponentInputButtonSimpleComponent, NgOptimizedImage]\r\n})\r\nexport class GlComponentInputDragAndDropSimpleComponent {\r\n  @ViewChild('fileAttachment') input: ElementRef<HTMLInputElement>;\r\n\r\n  @Input() showUploadButton = true;\r\n  @Input() showContinueUpload: boolean;\r\n  @Input() continueUpload: boolean;\r\n  @Input() continueUploadLabel = 'Continue previous loading';\r\n\r\n  @Input() uploadButtonValue = 'Upload files';\r\n  @Input() readOnly = false;\r\n  @Input() handleErrorMessage = false;\r\n\r\n  /**\r\n   * In case the button icon source is not passed, the icon will be hidden.\r\n   */\r\n  @Input() resumeButtonIconSrc: string;\r\n  @Input() descriptionDragAndDrop = 'Drag and drop the file';\r\n  @Input() descriptionDragAndDropOr = 'or';\r\n  @Input() descriptionDragAndDropClickHere = 'Click here';\r\n\r\n  @Input() uploadIcon = '../assets/img/icon/upload/upload.svg';\r\n\r\n  /**\r\n   * The message must contain the string $var1$. It'll be replaced during runtime.\r\n   * I.e.: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit: $var1$'\r\n   */\r\n  @Input() invalidExtensionMessageSingular = 'The invalid file has not been added to the attachment list. Accepted file extensions: $var1$';\r\n  /**\r\n   * The message must contain the string $var1$. It'll be replaced during runtime.\r\n   * I.e.: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit: $var1$'\r\n   */\r\n  @Input() invalidExtensionMessagePlural = 'The invalid files have not been added to the attachment list. Accepted file extensions: $var1$';\r\n  /**\r\n   * The message must contain the string $var1$. It'll be replaced during runtime.\r\n   * I.e.: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit: $var1$'\r\n   */\r\n  @Input() duplicatedMessageSingular = 'The duplicated file has not been added to the attachment list. Rejected files: $var1$';\r\n  /**\r\n   * The message must contain the string $var1$. It'll be replaced during runtime.\r\n   * I.e.: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit: $var1$'\r\n   */\r\n  @Input() duplicatedMessagePlural = 'The duplicated files have not been added to the attachment list. Rejected files: $var1$';\r\n  /**\r\n   * The message must contain the string $var1$ and $var2$. It'll be replaced during runtime.\r\n   * I.e.: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit: $var1$'\r\n   */\r\n  @Input() invalidSizeMessageSingular = 'The current file is over $var1$KB and has not been added to the attachment list. Rejected files: $var2$';\r\n  /**\r\n   * The message must contain the string $var1$ and $var2$. It'll be replaced during runtime.\r\n   * I.e.: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit: $var1$'\r\n   */\r\n  @Input() invalidSizeMessagePlural =\r\n    'The files with size over $var1$KB have not been added to the attachment list. Rejected files: $var2$';\r\n\r\n  /**\r\n   * The message must contain the string $var1$. It'll be replaced during runtime.\r\n   * I.e.: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit: $var1$'\r\n   */\r\n  @Input() invalidLengthMessageSingular = 'You can just add one attachment file. Rejected files: $var1$';\r\n  /**\r\n   * The message must contain the string $var1$. It'll be replaced during runtime.\r\n   * I.e.: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit: $var1$'\r\n   */\r\n  @Input() invalidLengthMessagePlural = 'You can just add $var1$ attachment file. Rejected files: $var2$';\r\n\r\n  /**\r\n   * If maxNumberOfFiles value is greater than 1 or equal to -1, multiple files are enabled.\r\n   * Default value = -1.\r\n   */\r\n  @Input() maxNumberOfFiles = -1;\r\n  /**\r\n   * If maxSize value is calculated in KB.\r\n   * Default value = 46080 (45mb).\r\n   */\r\n  @Input() maxSize = 46080;\r\n  /**\r\n   * This field does not require to include the dot extension.\r\n   * Example: [\"psd\", .xlsx\", \"zip\", \".docx\", \".pptx\"]\r\n   */\r\n  @Input() acceptFileType: string[] = [];\r\n  /**\r\n   * Returns the list of valid attachments added.\r\n   */\r\n\r\n  @Input() attachmentItems: IAttachmentData[] = [];\r\n\r\n  @Output() $attachmentItems: EventEmitter<IDragAndDropAddedResult> = new EventEmitter();\r\n  @Output() $removedAttachmentItems: EventEmitter<IAttachmentData[]> = new EventEmitter();\r\n  /**\r\n   * Returns the list of valid attachments added and fires the upload button.\r\n   */\r\n  @Output() $uploadClick: EventEmitter<IAttachmentData[]> = new EventEmitter();\r\n  @Output() $continueUploadActive: EventEmitter<boolean> = new EventEmitter();\r\n  @Output() handleErrorMessageResult$: EventEmitter<string> = new EventEmitter();\r\n\r\n  constructor(private _alert: GlComponentModalAlertService) { }\r\n\r\n  private static fileNameList(list: string[]): string {\r\n    let listName = '\\n';\r\n    for (const [i, item] of list.entries()) {\r\n      const separator = i < (list.length - 1) ? ';\\n' : '.';\r\n      listName += `${i + 1}. ${item}${separator}`;\r\n    }\r\n\r\n    return listName;\r\n  }\r\n\r\n  async onFileDropped(fileList: FileList): Promise<void> {\r\n    const duplicatedList: string[] = [];\r\n    const invalidFileList: string[] = [];\r\n    const invalidSizeList: string[] = [];\r\n    const invalidLengthList: string[] = [];\r\n    const newItems: IAttachmentData[] = [];\r\n\r\n    if (this.maxNumberOfFiles === -1 || this.maxNumberOfFiles > 1) {\r\n      // tslint:disable-next-line:prefer-for-of\r\n      for (let i = 0; i < fileList.length; i++) {\r\n        const file = fileList[i];\r\n        const validFile = this.acceptFileType.length > 0 ? AttachmentValidate.fileArray(file.name, this.acceptFileType) :  true;\r\n        const duplicated = AttachmentValidate.duplicated(file.name, this.attachmentItems);\r\n        const invalidSize = !AttachmentValidate.fileSizeFromArray(this.input.nativeElement, file);\r\n\r\n        if (validFile) {\r\n          if (duplicated) {\r\n            duplicatedList.push(file.name);\r\n          } else if (invalidSize) {\r\n            invalidSizeList.push(file.name);\r\n          } else {\r\n            if (this.maxNumberOfFiles === -1 || this.attachmentItems.length < this.maxNumberOfFiles) {\r\n              newItems.push(this.addItemToArray(file));\r\n            } else {\r\n              invalidLengthList.push(file.name);\r\n            }\r\n          }\r\n        } else {\r\n          invalidFileList.push(file.name);\r\n        }\r\n      }\r\n\r\n      await this.showErrorMessage(invalidFileList, duplicatedList, invalidSizeList, invalidLengthList);\r\n    } else {\r\n      const arrayCopy = [...this.attachmentItems];\r\n      this.attachmentItems = [];\r\n\r\n      // tslint:disable-next-line:prefer-for-of\r\n      for (let i = 0; i < fileList.length; i++) {\r\n        const file = fileList[i];\r\n        const validFile = this.acceptFileType.length > 0 ? AttachmentValidate.fileArray(file.name, this.acceptFileType) :  true;\r\n        const duplicated = AttachmentValidate.duplicated(file.name, this.attachmentItems);\r\n        const invalidSize = !AttachmentValidate.fileSizeFromArray(this.input.nativeElement, file);\r\n\r\n        if (validFile) {\r\n          if (duplicated) {\r\n            duplicatedList.push(file.name);\r\n          } else if (invalidSize) {\r\n            invalidSizeList.push(file.name);\r\n          } else {\r\n            if (this.attachmentItems.length === 0) {\r\n              newItems.push(this.addItemToArray(file));\r\n            } else {\r\n              invalidLengthList.push(file.name);\r\n            }\r\n          }\r\n        } else {\r\n          invalidFileList.push(file.name);\r\n        }\r\n      }\r\n\r\n      if (this.attachmentItems.length === 0) { this.attachmentItems = [...arrayCopy]; }\r\n      await this.showErrorMessage(invalidFileList, duplicatedList, invalidSizeList, invalidLengthList);\r\n    }\r\n\r\n    this.input.nativeElement.value = '';\r\n    this.$attachmentItems.emit({\r\n      merged: this.attachmentItems,\r\n      new: [...newItems]\r\n    });\r\n  }\r\n\r\n  removeAttachment(removed): void {\r\n    const removedItem: IAttachmentData[] = this.attachmentItems.filter(x => x.id === removed.id);\r\n    const tempList = this.attachmentItems.filter(x => x.id !== removed.id);\r\n    const attachments: IAttachmentData[] = [];\r\n\r\n    for (const item of tempList) {\r\n      attachments.push({\r\n        id: item.id,\r\n        name: item.file.name,\r\n        icon: AttachmentIcon.get(item.file.name),\r\n        file: item.file,\r\n        new: item.new,\r\n        remove: true,\r\n        url: item.url,\r\n        type: item.type\r\n      });\r\n    }\r\n\r\n    this.attachmentItems = [...attachments];\r\n    this.$attachmentItems.emit({\r\n      merged: attachments,\r\n      new: []\r\n    });\r\n    this.$removedAttachmentItems.emit(removedItem);\r\n  }\r\n  async fileBrowserHandler(files: EventTarget): Promise<void> {\r\n    const fileList: FileList = (files as HTMLInputElement).files;\r\n    return this.onFileDropped(fileList);\r\n  }\r\n  parsedAcceptList(): string {\r\n    let accept = '\\n';\r\n    for (let i = 0; i < this.acceptFileType.length; i++) {\r\n      const item = this.acceptFileType[i];\r\n      const separator = i < (this.acceptFileType.length - 1) ? ', ' : '';\r\n      let tempExtension: string;\r\n\r\n      if (!item.includes('.', 0)) {\r\n        tempExtension = `.${item}`;\r\n      }\r\n\r\n      accept += `${tempExtension}${separator}`;\r\n\r\n    }\r\n\r\n    return accept;\r\n  }\r\n  click(): void {\r\n    this.input.nativeElement.click();\r\n  }\r\n\r\n  uploadClick(): void {\r\n    this.$uploadClick.emit(this.attachmentItems);\r\n  }\r\n\r\n  onContinueUpload(active: boolean): void {\r\n    this.$continueUploadActive.emit(active);\r\n    this.continueUpload = active;\r\n  }\r\n\r\n  private addItemToArray(file: File): IAttachmentData {\r\n    const item = {\r\n      id: this.attachmentItems.length,\r\n      name: file.name,\r\n      icon: AttachmentIcon.get(file.name),\r\n      file,\r\n      new: true,\r\n      remove: false\r\n    };\r\n\r\n    this.attachmentItems.push(item);\r\n    return item;\r\n  }\r\n  private async showErrorMessage(\r\n    invalidFileList: string[], duplicatedList: string[], invalidSizeList: string[], invalidLengthList: string[] = []): Promise<void> {\r\n    const timeout = 500;\r\n\r\n    if (invalidFileList != null && invalidFileList.length > 0) {\r\n      await this.errorMessage(\r\n        this.acceptFileType,\r\n        this.invalidExtensionMessageSingular,\r\n        this.invalidExtensionMessagePlural\r\n      );\r\n    }\r\n\r\n    if (duplicatedList != null && duplicatedList.length > 0) {\r\n      setTimeout(async () => {\r\n        await this.errorMessage(\r\n          duplicatedList,\r\n          this.duplicatedMessageSingular,\r\n          this.duplicatedMessagePlural\r\n        );\r\n      }, timeout);\r\n    }\r\n\r\n    if (invalidSizeList != null && invalidSizeList.length > 0) {\r\n      setTimeout(async () => {\r\n        await this.errorMessageTwoVariables(\r\n          invalidSizeList,\r\n          this.invalidSizeMessageSingular,\r\n          this.invalidSizeMessagePlural,\r\n          this.maxSize.toString()\r\n        );\r\n      }, timeout);\r\n    }\r\n\r\n    if (invalidLengthList != null && invalidLengthList.length > 0) {\r\n      setTimeout(async () => {\r\n        const plural = this.maxNumberOfFiles > 1 ? this.invalidLengthMessagePlural : this.invalidLengthMessageSingular;\r\n        await this.errorMessageTwoVariables(\r\n          invalidLengthList,\r\n          this.invalidLengthMessageSingular,\r\n          plural,\r\n          this.maxNumberOfFiles.toString(),\r\n          this.maxNumberOfFiles > 1\r\n        );\r\n      }, timeout);\r\n    }\r\n  }\r\n  private async errorMessage(arrayList: string[], singularMessage: string, pluralMessage: string): Promise<void> {\r\n    const fileNames = GlComponentInputDragAndDropSimpleComponent.fileNameList(arrayList);\r\n    const isPlural = arrayList.length > 1;\r\n    const singular = singularMessage.replace('$var1$', fileNames);\r\n    const plural = pluralMessage.replace('$var1$', fileNames);\r\n    const message = isPlural ? plural : singular;\r\n\r\n    if (this.handleErrorMessage) {\r\n      this.handleErrorMessageResult$.emit(message);\r\n    } else {\r\n      await this._alert.show(message);\r\n    }\r\n  }\r\n  private async errorMessageTwoVariables(\r\n    arrayList: string[], singularMessage: string, pluralMessage: string, firstVariable: string,\r\n    isPluralComparator: boolean = null): Promise<void> {\r\n    const fileNames = GlComponentInputDragAndDropSimpleComponent.fileNameList(arrayList);\r\n    const isPlural = isPluralComparator && arrayList.length > 1 || !isPluralComparator && arrayList.length > 1;\r\n    const singular = singularMessage.replace('$var1$', firstVariable).replace('$var2$', fileNames);\r\n    const plural = pluralMessage.replace('$var1$', firstVariable).replace('$var2$', fileNames);\r\n\r\n    const message = isPlural ? plural : singular;\r\n\r\n    if (this.handleErrorMessage) {\r\n      this.handleErrorMessageResult$.emit(message);\r\n    } else {\r\n      await this._alert.show(message);\r\n    }\r\n  }\r\n}\r\n","@if (showContinueUpload) {\r\n  <gl-component-input-switch\r\n    [active]=\"continueUpload\"\r\n    [disabled]=\"!readOnly\"\r\n    [label]=\"continueUploadLabel\"\r\n    (active$)=\"onContinueUpload($event)\"\r\n    class=\"drag-and-drop-continue-switch\"\r\n\r\n    buttonIconSrc=\"../assets/img/icon/upload/resume-upload.svg\"\r\n    labelColor=\"white\"\r\n    [showAsInputButton]=\"true\"\r\n    [showLabel]=\"true\"\r\n  ></gl-component-input-switch>\r\n}\r\n\r\n<div\r\n  class=\"file-attachment-container {{ readOnly ? 'readonly' : '' }}\"\r\n  glCoreDirectivesDragAndDrop\r\n  (fileDropped)=\"onFileDropped($event)\"\r\n  (change)=\"fileBrowserHandler($event.target)\"\r\n  (click)=\"fileAttachment.click()\">\r\n\r\n  <div class=\"description-container {{ readOnly ? 'readonly' : '' }}\">\r\n    <img\r\n      alt=\"Upload icon\"\r\n      class=\"upload-icon {{ readOnly ? 'readonly' : '' }}\"\r\n      [src]=\"uploadIcon\">\r\n\r\n    @if(!readOnly) {\r\n      <span class=\"action-description {{ readOnly ? 'readonly' : '' }}\">{{ descriptionDragAndDrop }}</span>\r\n      <span class=\"action-description {{ readOnly ? 'readonly' : '' }}\">{{ descriptionDragAndDropOr }}</span>\r\n      <span class=\"action-description button {{ readOnly ? 'readonly' : '' }}\">{{ descriptionDragAndDropClickHere }}</span>\r\n    }\r\n  </div>\r\n\r\n  <input\r\n    #fileAttachment\r\n    class=\"file-attachment\"\r\n    id=\"file-attachment\"\r\n    type=\"file\"\r\n    [attr.data-maxsize]=\"maxSize\"\r\n    [accept]=\"parsedAcceptList\"\r\n    [disabled]=\"readOnly\"\r\n    [multiple]=\"(maxNumberOfFiles == -1 && maxNumberOfFiles > 1) || (maxNumberOfFiles == null)\">\r\n</div>\r\n<div class=\"attachment-list\">\r\n  @for(item of attachmentItems; track item.id) {\r\n    <gl-component-attachment-item\r\n      [fileIcon]=\"item.icon\"\r\n      [id]=\"item.id\"\r\n      [fileName]=\"item.name\"\r\n      [disabled]=\"readOnly\"\r\n      [addingSmooth]=\"true\"\r\n\r\n      (removeCurrentItem$)=\"removeAttachment($event);\"\r\n    ></gl-component-attachment-item>\r\n  }\r\n</div>\r\n\r\n@if (attachmentItems.length > 0 && showUploadButton) {\r\n  <div class=\"button-container upload-file\">\r\n    <gl-component-input-button-simple\r\n      #uploadFileButton\r\n      [innerValue]=\"uploadButtonValue\"\r\n      [readonly]=\"readOnly\"\r\n      value=\"upload-file\"\r\n      (click)=\"uploadClick()\"\r\n    ></gl-component-input-button-simple>\r\n  </div>\r\n\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { TTheme } from '../../../core/interfaces/alignments.interface';\r\n\r\n@Component({\r\n    selector: 'gl-component-input-option-simple',\r\n    templateUrl: './gl-component-input-option-simple.component.html',\r\n    styleUrls: ['./gl-component-input-option-simple.component.scss'],\r\n    standalone: true\r\n})\r\nexport class GlComponentInputOptionSimpleComponent {\r\n  @Input() value: string;\r\n  @Input() id: string;\r\n  @Input() label: string;\r\n  @Input() name: string;\r\n  @Input() checked: boolean;\r\n  @Input() theme: TTheme = '';\r\n  @Input() disabled: boolean;\r\n\r\n  @Input() boldLabel = false;\r\n\r\n  @Output() itemSelected: EventEmitter<string> = new EventEmitter();\r\n\r\n  constructor() { }\r\n\r\n  onCheck(value: string, input: HTMLInputElement): void {\r\n    if (!this.disabled) {\r\n      input.checked = true;\r\n      this.itemSelected.emit(value);\r\n    }\r\n  }\r\n}\r\n","<div class=\"input-container {{ theme }}\">\r\n  <!--suppress HtmlFormInputWithoutLabel -->\r\n  <input\r\n    #input\r\n    [checked]=\"checked\"\r\n    class=\"input-radio {{ disabled ? 'disabled' : '' }}\"\r\n    type=\"radio\"\r\n    [value]=\"value\"\r\n    [id]=\"id\"\r\n    [name]=\"name\"\r\n    (click)=\"onCheck(value, input)\">\r\n  <span\r\n    (click)=\"onCheck(value, input)\"\r\n    class=\"check-mark {{ disabled ? 'disabled' : '' }}\"\r\n  ></span>\r\n  <label\r\n    class=\"label {{ boldLabel ? 'bold' : '' }} {{ disabled ? 'disabled' : '' }}\"\r\n    [for]=\"id\"\r\n    (click)=\"onCheck(value, input)\"\r\n  >{{ label }}</label>\r\n</div>\r\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { THorizontalAlignment, TTheme } from '../../../core/interfaces/alignments.interface';\r\nimport { ISimpleTextAreaResult } from './gl-component-input-text-area-simple.interface';\r\n\r\n@Component({\r\n    selector: 'gl-component-input-text-area-simple',\r\n    templateUrl: './gl-component-input-text-area-simple.component.html',\r\n    styleUrls: ['./gl-component-input-text-area-simple.component.scss'],\r\n    standalone: true\r\n})\r\nexport class GlComponentInputTextAreaSimpleComponent {\r\n  @ViewChild('textArea', { read: ElementRef, static: true }) textArea: ElementRef<HTMLTextAreaElement>;\r\n\r\n  @Input() disabled = false;\r\n  @Input() id: string;\r\n  @Input() labelAlignment: THorizontalAlignment;\r\n  @Input() labelValue: string;\r\n  @Input() placeholder: string;\r\n  @Input() itemContentAlignment: THorizontalAlignment;\r\n  @Input() theme: TTheme;\r\n  @Input() autoScroll: boolean = false;\r\n\r\n  @Input() value = '';\r\n  @Input() maxLength: number;\r\n  @Output() currentValue: EventEmitter<ISimpleTextAreaResult> = new EventEmitter();\r\n\r\n  constructor() { }\r\n\r\n  onKeyUp(args): void {\r\n    const value = args.target.value;\r\n\r\n    if (value.trim().length > 0) {\r\n      this.textArea.nativeElement.classList.remove('required-fill');\r\n    }\r\n\r\n    this.currentValue.emit({ value });\r\n  }\r\n}\r\n","<div class=\"item-container\">\r\n  <ng-content></ng-content>\r\n  <!--suppress HtmlFormInputWithoutLabel -->\r\n  <textarea\r\n    #textArea\r\n    class=\"item-content {{ itemContentAlignment }} {{ theme }}\"\r\n    [id]=\"id\"\r\n    [placeholder]=\"placeholder\"\r\n    (keyup)=\"onKeyUp($event)\"\r\n    [value]=\"value\"\r\n    [disabled]=\"disabled\"\r\n    [maxLength]=\"maxLength\"\r\n    [scrollTop]=\"autoScroll ? textArea.scrollHeight : 0\"\r\n  ></textarea>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { THorizontalAlignment, TTheme } from '../../../core/interfaces/alignments.interface';\r\nimport { ISimpleTextAreaResult } from '../simple/gl-component-input-text-area-simple.interface';\r\nimport { GlComponentTitleLabelSimpleComponent } from '../../../../../../gl-ng-titles-frontend/src/lib/component/label/simple/gl-component-title-label-simple.component';\r\nimport { GlComponentInputTextAreaSimpleComponent } from '../simple/gl-component-input-text-area-simple.component';\r\nimport { TLabelColor, TLabelTheme } from '../../../../../../gl-ng-titles-frontend/src/lib/component/label/simple/gl-component-title-label-simple.interface';\r\n\r\n@Component({\r\n    selector: 'gl-component-input-text-area-label',\r\n    templateUrl: './gl-component-input-text-area-label.component.html',\r\n    styleUrls: ['./gl-component-input-text-area-label.component.scss'],\r\n    standalone: true,\r\n    imports: [GlComponentInputTextAreaSimpleComponent, GlComponentTitleLabelSimpleComponent]\r\n})\r\nexport class GlComponentInputTextAreaLabelComponent {\r\n  @Input() disabled = false;\r\n  @Input() id: string;\r\n  @Input() labelAlignment: THorizontalAlignment;\r\n  @Input() labelValue: string;\r\n  @Input() placeholder: string;\r\n  @Input() itemContentAlignment: THorizontalAlignment;\r\n  @Input() theme: TTheme = '';\r\n  @Input() autoScroll: boolean = false;\r\n\r\n  @Input() labelTheme: TLabelTheme = ''\r\n  @Input() labelColor: TLabelColor = '';\r\n  @Input() customLabelColor: string = '';\r\n\r\n  @Input() value = '';\r\n  @Input() maxLength: number;\r\n  @Input() required: boolean;\r\n  @Input() requiredLabel = 'Required label';\r\n\r\n  @Output() currentValue: EventEmitter<ISimpleTextAreaResult> = new EventEmitter();\r\n\r\n  constructor() { }\r\n\r\n  onKeyUp(values): void {\r\n    this.currentValue.emit(values);\r\n  }\r\n}\r\n","<div class=\"item-container {{ labelTheme !== 'simple' ? 'default-label' : '' }}\">\r\n\r\n</div>\r\n<gl-component-input-text-area-simple\r\n  [theme]=\"theme\"\r\n  [id]=\"id\"\r\n  [placeholder]=\"placeholder\"\r\n  [itemContentAlignment]=\"itemContentAlignment\"\r\n  (currentValue)=\"onKeyUp($event)\"\r\n  [value]=\"value\"\r\n  [disabled]=\"disabled\"\r\n  [maxLength]=\"maxLength\"\r\n  [autoScroll]=\"autoScroll\">\r\n  <gl-component-title-label-simple\r\n    [theme]=\"labelTheme\"\r\n    [labelColor]=\"labelColor\"\r\n    [customLabelColor]=\"customLabelColor\"\r\n    [labelAlignment]=\"labelAlignment\"\r\n    [id]=\"id\"\r\n    [labelValue]=\"labelValue\"\r\n\r\n    [required]=\"required\"\r\n    [requiredLabel]=\"requiredLabel\"\r\n  ></gl-component-title-label-simple>\r\n</gl-component-input-text-area-simple>\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class GlComponentInputTextSimpleService {\r\n\r\n  updateInputMask$: Subject<undefined> = new Subject();\r\n\r\n  constructor() { }\r\n\r\n  updateInputMask(): void {\r\n    this.updateInputMask$.next(undefined);\r\n  }\r\n}\r\n","import { AfterViewInit, Component, ElementRef, EventEmitter, Input, OnDestroy, Output, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { InputMask, TCurrencyTypes } from 'gl-w-input-frontend';\r\nimport { NumberParse, TCurrencySymbolTypes, TDecimalSeparators } from 'gl-w-number-frontend';\r\nimport { THorizontalAlignment } from '../../../core/interfaces/alignments.interface';\r\nimport { ISimpleTextResult, TInputTextMask, TInputTextTheme, TInputType } from './gl-component-input-text-simple.interface';\r\nimport { GlComponentInputTextSimpleService } from './gl-component-input-text-simple.service';\r\n\r\n@Component({\r\n    selector: 'gl-component-input-text-simple',\r\n    templateUrl: './gl-component-input-text-simple.component.html',\r\n    styleUrls: ['./gl-component-input-text-simple.component.scss'],\r\n    providers: [\r\n        {\r\n            provide: NG_VALUE_ACCESSOR,\r\n            multi: true,\r\n            useExisting: GlComponentInputTextSimpleComponent\r\n        },\r\n        // {\r\n        //   provide: NG_VALIDATORS,\r\n        //   multi: true,\r\n        //   useExisting: GlComponentInputTextSimpleComponent\r\n        // }\r\n    ],\r\n    standalone: true,\r\n    imports: []\r\n})\r\nexport class GlComponentInputTextSimpleComponent implements AfterViewInit, OnDestroy, ControlValueAccessor {\r\n  @ViewChild('inputElement', { read: ElementRef, static: true }) inputElement: ElementRef<HTMLInputElement>;\r\n\r\n  private _input: HTMLInputElement;\r\n  private _touched: boolean;\r\n\r\n  @Input() disabled = false;\r\n  @Input() autocomplete = false;\r\n  @Input() id: string;\r\n  @Input() placeholder: string;\r\n  @Input() itemContentAlignment: THorizontalAlignment;\r\n  @Input() theme: TInputTextTheme = '';\r\n  @Input() value: string = null;\r\n  @Input() type: TInputType = 'text';\r\n\r\n  @Input() showIcon = false;\r\n  @Input() iconSrc: string = null;\r\n\r\n  @Input() mask: TInputTextMask;\r\n  @Input() decimalSeparator: TDecimalSeparators = ',';\r\n  @Input() decimalPlaces = 2;\r\n  @Input() allowMinus = true;\r\n  @Input() rightAlign = true;\r\n  @Input() step = 5;\r\n\r\n  @Input() maskSymbol: TCurrencySymbolTypes;\r\n  @Input() maxLength = 255;\r\n\r\n  @Output() currentValue: EventEmitter<ISimpleTextResult> = new EventEmitter();\r\n  @Output() onKeyUp(input: HTMLInputElement, event: KeyboardEvent): void {\r\n    const value = input.value;\r\n\r\n    switch (event.key) {\r\n      case 'ArrowLeft': case 'ArrowRight': case 'ArrowUp': case 'ArrowDown': case 'Control': case 'Alt':\r\n      case 'CapsLock': case 'Escape': case 'Meta': case 'F1': case 'F2': case 'F3': case 'F4': case 'F5': case 'F6': case 'F7':\r\n      case 'F8': case 'F9': case 'F10': case 'F11': case 'F12': case 'Insert': case 'Home': case 'End': case 'PageUp':\r\n      case 'PageDown': case 'NumLock':\r\n        break;\r\n      default:\r\n        const pastedValue = event.ctrlKey && event.key === 'v' || event.ctrlKey && event.key === 'V'\r\n        if ((!event.altKey && !event.ctrlKey) || pastedValue) {\r\n          let parsedValue: string = value;\r\n\r\n          if (this.mask != null) {\r\n            // @ts-ignore\r\n            const unmaskedValue = input.inputmask.unmaskedvalue();\r\n\r\n            switch (this.mask) {\r\n              case 'currency': case 'integer': case 'numeric':\r\n                parsedValue = NumberParse.stringCurrencyToNumber(\r\n                  unmaskedValue,\r\n                  this.maskSymbol,\r\n                  this.decimalPlaces\r\n                ).toString();\r\n                break;\r\n\r\n              case 'million-currency':\r\n                parsedValue = unmaskedValue.replace(',', '.');\r\n                break;\r\n\r\n              case 'percentage':\r\n                parsedValue = unmaskedValue.replace(this.decimalSeparator, '.');\r\n                break;\r\n\r\n              default:\r\n                parsedValue = unmaskedValue;\r\n                break;\r\n            }\r\n            // const currentValueParsed =\r\n            // StringConverter.stringCurrencyToNumber(this.value, this.decimalSeparator, this.maskSymbol).toFixed(2);\r\n          }\r\n\r\n          if (value.trim().length > 0) {\r\n            input.classList.remove('required-fill');\r\n          }\r\n\r\n          this.currentValue.emit({\r\n            value,\r\n            // @ts-ignore\r\n            unmaskedValue: parsedValue\r\n          });\r\n\r\n          this.markAsTouched();\r\n          this.onChange({\r\n            value,\r\n            // @ts-ignore\r\n            unmaskedValue: parsedValue\r\n          });\r\n        }\r\n        break;\r\n    }\r\n  }\r\n\r\n  constructor(public service: GlComponentInputTextSimpleService) { }\r\n\r\n  ngAfterViewInit(): void {\r\n    this._input = this.inputElement.nativeElement;\r\n    const host: HTMLElement = this._input.parentElement;\r\n\r\n    this.applyInputMask();\r\n\r\n    this.service.updateInputMask$.subscribe(() => {\r\n      this.applyInputMask();\r\n    });\r\n\r\n    if (this.showIcon && this.iconSrc != null) {\r\n      const iconElement: HTMLSpanElement = host.querySelector('.icon');\r\n      const iconSource = `url(\"${this.iconSrc}\")`;\r\n\r\n      iconElement.style.setProperty('--input-text-image-src', iconSource);\r\n    }\r\n  }\r\n  ngOnDestroy(): void {\r\n    this.service.updateInputMask$.observers.map(x => x.complete);\r\n  }\r\n\r\n  applyInputMask(): void {\r\n    setTimeout(() => {\r\n      if (this.mask != null && this._input != null && this._input.value != null) {\r\n        if (this.mask.includes('currency')) {\r\n          this.inputElement.nativeElement.placeholder = InputMask.currency(\r\n            this.inputElement.nativeElement,\r\n            this.mask as TCurrencyTypes,\r\n            this.maskSymbol\r\n          );\r\n        } else if (this.mask === 'percentage' || this.mask === 'numeric') {\r\n          this.placeholder = InputMask[this.mask](\r\n            this._input,\r\n            this.allowMinus,\r\n            this.decimalSeparator,\r\n            this.rightAlign,\r\n            this.step\r\n          );\r\n        } else if (this.mask === 'integer') {\r\n          this.placeholder = InputMask.integer(\r\n            this._input,\r\n            this.allowMinus,\r\n            this.rightAlign,\r\n            this.step\r\n          );\r\n        } else if (this.mask === 'custom') {\r\n          InputMask.customNumberPhone(\r\n            this.placeholder,\r\n            this._input,\r\n            this.rightAlign\r\n          );\r\n        }\r\n      } else if (this._input != null) {\r\n        InputMask.remove(this._input);\r\n      }\r\n    }, 0);\r\n  }\r\n\r\n  onChange = (value: any) => {};\r\n  onTouched = () => {};\r\n\r\n  writeValue(result: any): void {\r\n    this.value = result;\r\n  }\r\n  registerOnChange(onChange: any): void {\r\n    this.onChange = onChange;\r\n  }\r\n  registerOnTouched(onTouched: any): void {\r\n    this.onTouched = onTouched;\r\n  }\r\n  setDisabledState(isDisabled: boolean): void {\r\n    this.disabled = isDisabled;\r\n  }\r\n  markAsTouched(): void {\r\n    if (!this._touched) {\r\n      this.onTouched();\r\n      this._touched = true;\r\n    }\r\n  }\r\n\r\n  // validate(control: AbstractControl): ValidationErrors | null {\r\n  //   const value = control.value;\r\n  //   if (value == null) {\r\n  //     return {\r\n  //       cannotBeNull: {\r\n  //         value\r\n  //       }\r\n  //     };\r\n  //   }\r\n  // }\r\n}\r\n","<!--suppress HtmlFormInputWithoutLabel -->\r\n@if(showIcon && iconSrc != null) {\r\n  <span\r\n    class=\"icon\"\r\n  ></span>\r\n}\r\n\r\n<input\r\n  #inputElement\r\n  class=\"item-content {{ itemContentAlignment }} {{ theme }} {{ showIcon ? 'show-icon' : '' }}\"\r\n  [type]=\"type\"\r\n  [id]=\"id\"\r\n  [value]=\"value\"\r\n  [placeholder]=\"placeholder\"\r\n  (keyup)=\"onKeyUp(inputElement, $event)\"\r\n  [disabled]=\"disabled\"\r\n  [maxLength]=\"maxLength\">\r\n","import { Component, Input } from '@angular/core';\r\nimport { THorizontalAlignment, TLabelColor, TLabelTheme } from '../../simple/gl-component-title-label-simple.interface';\r\nimport { GlComponentTitleLabelSimpleComponent } from '../../simple/gl-component-title-label-simple.component';\r\n\r\n@Component({\r\n    selector: 'gl-component-title-label-button-container',\r\n    templateUrl: './gl-component-title-label-button-container.component.html',\r\n    styleUrls: ['./gl-component-title-label-button-container.component.scss'],\r\n    standalone: true,\r\n    imports: [GlComponentTitleLabelSimpleComponent]\r\n})\r\nexport class GlComponentTitleLabelButtonContainerComponent {\r\n\r\n  @Input() labelValue;\r\n  @Input() id;\r\n  @Input() labelAlignment: THorizontalAlignment;\r\n  @Input() required = false;\r\n  @Input() theme: TLabelTheme = '';\r\n  @Input() labelColor: TLabelColor = '';\r\n  @Input() requiredFieldDescription = 'Required field';\r\n\r\n  constructor() { }\r\n}\r\n","<div class=\"label-with-button-container {{ theme }} {{ labelColor }}\">\r\n  <gl-component-title-label-simple\r\n    [labelValue]=\"labelValue\"\r\n    [id]=\"id\"\r\n    [labelAlignment]=\"labelAlignment\"\r\n    [required]=\"required\"\r\n    [theme]=\"theme\"\r\n    [requiredLabel]=\"requiredFieldDescription\"\r\n  ></gl-component-title-label-simple>\r\n  <div class=\"label-button-container\">\r\n    <ng-content></ng-content>\r\n  </div>\r\n</div>\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport { TCurrencySymbolTypes, TDecimalSeparators } from 'gl-w-number-frontend';\r\nimport { THorizontalAlignment, TTheme } from '../../../../../core/interfaces/alignments.interface';\r\nimport { TInputTextMask, TInputType } from '../../../simple/gl-component-input-text-simple.interface';\r\nimport { GlComponentInputTextSimpleComponent } from '../../../simple/gl-component-input-text-simple.component';\r\nimport { GlComponentTitleLabelButtonContainerComponent } from '../../../../../../../../gl-ng-titles-frontend/src/lib/component/label/button/container/gl-component-title-label-button-container.component';\r\nimport { TLabelColor, TLabelTheme } from '../../../../../../../../gl-ng-titles-frontend/src/lib/component/label/simple/gl-component-title-label-simple.interface';\r\n\r\n@Component({\r\n    selector: 'gl-component-input-text-label-button-container',\r\n    templateUrl: './gl-component-input-text-label-button-container.component.html',\r\n    styleUrls: ['./gl-component-input-text-label-button-container.component.scss'],\r\n    standalone: true,\r\n    imports: [GlComponentTitleLabelButtonContainerComponent, GlComponentInputTextSimpleComponent]\r\n})\r\nexport class GlComponentInputTextLabelButtonContainerComponent {\r\n  @Input() disabled = false;\r\n  @Input() autocomplete = false;\r\n  @Input() id: string;\r\n  @Input() labelAlignment: THorizontalAlignment;\r\n  @Input() labelValue: string;\r\n  @Input() placeholder: string;\r\n  @Input() itemContentAlignment: THorizontalAlignment;\r\n  @Input() theme: TTheme = '';\r\n  @Input() value: string = null;\r\n  @Input() type: TInputType = 'text';\r\n\r\n  @Input() labelTheme: TLabelTheme = ''\r\n  @Input() labelColor: TLabelColor = '';\r\n\r\n  @Input() mask: TInputTextMask;\r\n  @Input() decimalSeparator: TDecimalSeparators = ',';\r\n  @Input() maskSymbol: TCurrencySymbolTypes;\r\n  @Input() allowMinus = true;\r\n  @Input() rightAlign = true;\r\n  @Input() step = 5;\r\n\r\n  @Input() maxLength = 255;\r\n  @Input() required: boolean;\r\n\r\n  @Input() requiredLabel = 'Required field';\r\n\r\n  @Output() currentValue = new EventEmitter();\r\n\r\n  constructor() { }\r\n\r\n  onKeyUp(values): void {\r\n    this.currentValue.emit(values);\r\n  }\r\n}\r\n","<div class=\"item-container\">\r\n  <gl-component-title-label-button-container\r\n    [labelValue]=\"labelValue\"\r\n    [id]=\"id\"\r\n    [labelAlignment]=\"labelAlignment\"\r\n    [required]=\"required\"\r\n    [theme]=\"labelTheme\"\r\n    [labelColor]=\"labelColor\"\r\n    [requiredFieldDescription]=\"requiredLabel\">\r\n    <div class=\"button-container\">\r\n      <ng-content></ng-content>\r\n    </div>\r\n  </gl-component-title-label-button-container>\r\n  <gl-component-input-text-simple\r\n    [theme]=\"theme\"\r\n    [value]=\"value\"\r\n    [id]=\"id\"\r\n    [type]=\"type\"\r\n    [itemContentAlignment]=\"itemContentAlignment\"\r\n    [placeholder]=\"placeholder\"\r\n    (currentValue)=\"onKeyUp($event)\"\r\n    [disabled]=\"disabled\"\r\n    [autocomplete]=\"autocomplete\"\r\n\r\n    [mask]=\"mask\"\r\n    [maskSymbol]=\"maskSymbol\"\r\n    [allowMinus]=\"allowMinus\"\r\n    [rightAlign]=\"rightAlign\"\r\n    [step]=\"step\"\r\n    [decimalSeparator]=\"decimalSeparator\"\r\n    [maxLength]=\"maxLength\"\r\n  ></gl-component-input-text-simple>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { TCurrencySymbolTypes, TDecimalSeparators } from 'gl-w-number-frontend';\r\nimport { THorizontalAlignment, TTheme } from '../../../../core/interfaces/alignments.interface';\r\nimport { TInputTextMask, TInputType } from '../../simple/gl-component-input-text-simple.interface';\r\nimport { GlComponentInputTextSimpleComponent } from '../../simple/gl-component-input-text-simple.component';\r\nimport { GlComponentTitleLabelSimpleComponent } from '../../../../../../../gl-ng-titles-frontend/src/lib/component/label/simple/gl-component-title-label-simple.component';\r\nimport { TLabelColor, TLabelTheme } from '../../../../../../../gl-ng-titles-frontend/src/lib/component/label/simple/gl-component-title-label-simple.interface';\r\n\r\n@Component({\r\n    selector: 'gl-component-input-text-label-simple',\r\n    templateUrl: './gl-component-input-text-label-simple.component.html',\r\n    styleUrls: ['./gl-component-input-text-label-simple.component.scss'],\r\n    standalone: true,\r\n    imports: [GlComponentTitleLabelSimpleComponent, GlComponentInputTextSimpleComponent]\r\n})\r\nexport class GlComponentInputTextLabelSimpleComponent {\r\n  @Input() disabled = false;\r\n  @Input() autocomplete = false;\r\n  @Input() id: string;\r\n  @Input() labelAlignment: THorizontalAlignment;\r\n  @Input() labelValue: string;\r\n  @Input() placeholder: string;\r\n  @Input() itemContentAlignment: THorizontalAlignment;\r\n  @Input() theme: TTheme = '';\r\n  @Input() value: string = null;\r\n  @Input() type: TInputType = 'text';\r\n  @Input() labelTheme: TLabelTheme = ''\r\n  @Input() labelColor: TLabelColor = '';\r\n  @Input() customLabelColor: string = '';\r\n\r\n  @Input() allowMinus = true;\r\n  @Input() rightAlign = true;\r\n  @Input() step = 5;\r\n\r\n  @Input() mask: TInputTextMask;\r\n  @Input() decimalSeparator: TDecimalSeparators = ',';\r\n  @Input() maskSymbol: TCurrencySymbolTypes;\r\n  @Input() maxLength = 255;\r\n  @Input() required: boolean;\r\n\r\n  @Input() requiredLabel = 'Required field';\r\n\r\n  @Output() currentValue = new EventEmitter();\r\n\r\n  constructor() { }\r\n\r\n  onKeyUp(values): void {\r\n    this.currentValue.emit(values);\r\n  }\r\n}\r\n","<div class=\"item-container {{ labelTheme !== 'simple' ? 'default-label' : '' }}\">\r\n  <gl-component-title-label-simple\r\n    [id]=\"id\"\r\n    [labelValue]=\"labelValue\"\r\n    [labelAlignment]=\"labelAlignment\"\r\n    [required]=\"required\"\r\n    [requiredLabel]=\"requiredLabel\"\r\n    [theme]=\"labelTheme\"\r\n    [labelColor]=\"labelColor\"\r\n    [customLabelColor]=\"customLabelColor\"\r\n  ></gl-component-title-label-simple>\r\n  <gl-component-input-text-simple\r\n    [theme]=\"theme\"\r\n    [value]=\"value\"\r\n    [id]=\"id\"\r\n    [type]=\"type\"\r\n    [itemContentAlignment]=\"itemContentAlignment\"\r\n    [placeholder]=\"placeholder\"\r\n    (currentValue)=\"onKeyUp($event)\"\r\n    [disabled]=\"disabled\"\r\n    [autocomplete]=\"autocomplete\"\r\n    [allowMinus]=\"allowMinus\"\r\n    [rightAlign]=\"rightAlign\"\r\n    [step]=\"step\"\r\n    [decimalSeparator]=\"decimalSeparator\"\r\n\r\n    [mask]=\"mask\"\r\n    [maskSymbol]=\"maskSymbol\"\r\n    [maxLength]=\"maxLength\"\r\n  ></gl-component-input-text-simple>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\nimport { NgOptimizedImage } from '@angular/common';\r\n\r\n@Component({\r\n  selector: 'gl-component-button-image-simple',\r\n  templateUrl: './gl-component-button-image-simple.component.html',\r\n  styleUrls: ['./gl-component-button-image-simple.component.scss'],\r\n  imports: [\r\n    NgOptimizedImage\r\n  ],\r\n  standalone: true\r\n})\r\nexport class GlComponentButtonImageSimpleComponent {\r\n  @Input() id;\r\n  @Input() alt;\r\n  @Input() src;\r\n  @Input() callback: (args?: any[]) => void;\r\n  @Input() disableDragging = false;\r\n\r\n  constructor() { }\r\n\r\n  preventDragging(): boolean {\r\n    return !this.disableDragging;\r\n  }\r\n}\r\n","<img\r\n  class=\"button\"\r\n  [id]=\"id\"\r\n  [src]=\"src\"\r\n  [alt]=\"alt\"\r\n  (click)=\"callback()\"\r\n  (dragstart)=\"preventDragging()\">\r\n","import { Component, Input } from '@angular/core';\r\nimport { TButtonToolTipBorder, TButtonToolTipHorizontalPosition, TButtonToolTipVerticalPosition, TButtonToolTipWidth } from './gl-component-button-image-tooltip.interface';\r\nimport { GlComponentButtonImageSimpleComponent } from '../simple/gl-component-button-image-simple.component';\r\n\r\n@Component({\r\n    selector: 'gl-component-button-image-tooltip',\r\n    templateUrl: './gl-component-button-image-tooltip.component.html',\r\n    styleUrls: ['./gl-component-button-image-tooltip.component.scss'],\r\n    standalone: true,\r\n    imports: [GlComponentButtonImageSimpleComponent]\r\n})\r\nexport class GlComponentButtonImageTooltipComponent {\r\n  @Input() id;\r\n  @Input() alt;\r\n  @Input() src;\r\n  @Input() show = true;\r\n  @Input() callback: (args?: any[]) => void;\r\n\r\n  @Input() verticalPosition: TButtonToolTipVerticalPosition = 'top';\r\n  @Input() horizontalPosition: TButtonToolTipHorizontalPosition = 'center';\r\n  @Input() fullwidth: TButtonToolTipWidth = 'default';\r\n  @Input() borderRadius: TButtonToolTipBorder = 'default';\r\n\r\n  constructor() { }\r\n}\r\n","@if (show) {\r\n  <div\r\n    [class.hidden]=\"!show\"\r\n    [id]=\"id\"\r\n    [attr.tooltip]=\"alt\"\r\n    class=\"tooltip {{ verticalPosition }} {{ horizontalPosition }} {{ fullwidth }} {{ borderRadius }}\">\r\n    <gl-component-button-image-simple\r\n      [src]=\"src\"\r\n      [alt]=\"alt\"\r\n      [id]=\"id\"\r\n      [callback]=\"callback\"\r\n    ></gl-component-button-image-simple>\r\n  </div>\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { NumberParse, TCurrencySymbolTypes, TDecimalSeparators } from 'gl-w-number-frontend';\r\nimport { THorizontalAlignment, TTheme } from '../../../../core/interfaces/alignments.interface';\r\nimport { IInputTextStepButton, TStepType } from './gl-component-input-text-simple-with-step.interface';\r\nimport { TInputTextMask, TInputType } from '../gl-component-input-text-simple.interface';\r\nimport Decimal from 'decimal.js';\nimport { GlComponentButtonImageTooltipComponent } from '../../../../../../../gl-ng-buttons-frontend/src/lib/component/image/tooltip/gl-component-button-image-tooltip.component';\nimport { GlComponentInputTextSimpleComponent } from '../gl-component-input-text-simple.component';\r\n\r\n@Component({\r\n    selector: 'gl-component-input-text-simple-with-step',\r\n    templateUrl: './gl-component-input-text-simple-with-step.component.html',\r\n    styleUrls: ['./gl-component-input-text-simple-with-step.component.scss'],\r\n    standalone: true,\r\n    imports: [GlComponentInputTextSimpleComponent, GlComponentButtonImageTooltipComponent]\r\n})\r\nexport class GlComponentInputTextSimpleWithStepComponent {\r\n  @ViewChild('inputWithStepElement', { read: ElementRef, static: true }) inputElement: ElementRef<HTMLInputElement>;\r\n\r\n  @Input() disabled = false;\r\n  @Input() autocomplete = false;\r\n  @Input() id: string;\r\n  @Input() placeholder: string;\r\n  @Input() itemContentAlignment: THorizontalAlignment;\r\n  @Input() theme: TTheme = '';\r\n  @Input() value = 0;\r\n  @Input() type: TInputType = 'text';\r\n\r\n  @Input() allowMinus = true;\r\n  @Input() rightAlign = true;\r\n  @Input() step = 5;\r\n\r\n  @Input() mask: TInputTextMask;\r\n  @Input() decimalSeparator: TDecimalSeparators = ',';\r\n  @Input() decimalPlaces = 2;\r\n  @Input() maskSymbol: TCurrencySymbolTypes;\r\n  @Input() maxLength = 255;\r\n\r\n  @Output() currentValue: EventEmitter<IInputTextStepButton> = new EventEmitter();\r\n\r\n  callback = () => {};\r\n\r\n  constructor() { }\r\n\r\n  convertValue(value: number): string {\r\n    if (this.mask === 'percentage') {\r\n      return NumberParse.toPercentage(value, false, this.decimalSeparator, this.decimalPlaces);\r\n    } else {\r\n      return this.value.toString();\r\n    }\r\n  }\r\n\r\n  processValue(type: TStepType, value: string): void {\r\n    const input: HTMLInputElement = this.inputElement.nativeElement.querySelector('input.item-content');\r\n    const previousValue: number = this.value == null || Number.isNaN(this.value) ? 0 : this.value;\r\n    const step = this.mask === 'percentage' ? new Decimal(this.step).dividedBy(100).toDecimalPlaces(2).toNumber() : this.step;\r\n    let newValue: number;\r\n\r\n    const symbol = this.mask === 'percentage' ? '%' : '';\r\n    const parsed = new Decimal(this.value).mul(100).toNumber();\r\n    const currentValue = NumberParse.decimalToString(parsed, ',', this.decimalPlaces) + symbol;\r\n\r\n    if (currentValue !== value) {\r\n      if (type === 'increase') {\r\n        newValue = previousValue + step;\r\n        input.value = this.convertValue(this.value);\r\n\r\n        this.currentValue.emit({\r\n          type: 'increase',\r\n          previousValue: this.mask === 'percentage' ? previousValue : previousValue,\r\n          newValue: this.mask === 'percentage' ? newValue : newValue\r\n        });\r\n      } else if (type === 'decrease') {\r\n        newValue = previousValue - step;\r\n        input.value = this.convertValue(this.value);\r\n\r\n        this.currentValue.emit({\r\n          type: 'decrease',\r\n          previousValue: this.mask === 'percentage' ? previousValue : previousValue,\r\n          newValue: this.mask === 'percentage' ? newValue : newValue\r\n        });\r\n      } else {\r\n        const parsedValue: string = value == null || value.length === 0 ? '0.00%' : value;\r\n        newValue = NumberParse.percentageToNumber(parsedValue, this.decimalSeparator, this.decimalPlaces);\r\n        input.value = this.convertValue(this.value);\r\n\r\n        this.currentValue.emit({\r\n          type: 'typing',\r\n          previousValue: this.mask === 'percentage' ? previousValue : previousValue,\r\n          newValue: this.mask === 'percentage' ? newValue : newValue\r\n        });\r\n      }\r\n    }\r\n  }\r\n}\r\n","<div class=\"item-container\">\r\n  <gl-component-input-text-simple\r\n    #inputWithStepElement\r\n    [theme]=\"theme\"\r\n    [value]=\"convertValue(value)\"\r\n    [id]=\"id\"\r\n    [type]=\"type\"\r\n    [itemContentAlignment]=\"itemContentAlignment\"\r\n    [placeholder]=\"placeholder\"\r\n    (currentValue)=\"processValue('typing', $event.value?.trim())\"\r\n    [disabled]=\"disabled\"\r\n    [autocomplete]=\"autocomplete\"\r\n    [allowMinus]=\"allowMinus\"\r\n    [rightAlign]=\"rightAlign\"\r\n    [step]=\"step\"\r\n    [decimalSeparator]=\"decimalSeparator\"\r\n    [decimalPlaces]=\"decimalPlaces\"\r\n\r\n    [mask]=\"mask\"\r\n    [maskSymbol]=\"maskSymbol\"\r\n    [maxLength]=\"maxLength\"\r\n  ></gl-component-input-text-simple>\r\n  <div class=\"step-button-container\">\r\n    <gl-component-button-image-tooltip\r\n      alt=\"Decrease\"\r\n      src=\"../assets/img/icon/list/show-remove.svg\"\r\n      [id]=\"id + '-decrease'\"\r\n      [callback]=\"callback\"\r\n      [show]=\"!disabled\"\r\n      (click)=\"processValue('decrease', null)\"\r\n    ></gl-component-button-image-tooltip>\r\n    <gl-component-button-image-tooltip\r\n      alt=\"Increase\"\r\n      src=\"../assets/img/icon/list/add-line.svg\"\r\n      [id]=\"id + '-increase'\"\r\n      [callback]=\"callback\"\r\n      [show]=\"!disabled\"\r\n      (click)=\"processValue('increase', null)\"\r\n    ></gl-component-button-image-tooltip>\r\n  </div>\r\n</div>\r\n","import { AfterViewInit, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { GlComponentInputTextSimpleComponent } from '../gl-component-input-text-simple.component';\r\nimport { ISearchOutput } from './gl-component-input-text-simple-search.interface';\r\nimport { NgOptimizedImage } from '@angular/common';\r\n\r\n@Component({\r\n    selector: 'gl-component-input-text-simple-search',\r\n    templateUrl: './gl-component-input-text-simple-search.component.html',\r\n    styleUrls: ['./gl-component-input-text-simple-search.component.scss'],\r\n    standalone: true,\r\n  imports: [GlComponentInputTextSimpleComponent, NgOptimizedImage]\r\n})\r\nexport class GlComponentInputTextSimpleSearchComponent implements AfterViewInit{\r\n  @Input() isOnSearch = false;\r\n  @Output() keyDown$: EventEmitter<ISearchOutput> = new EventEmitter();\r\n\r\n  private timeouts: any[] = [];\r\n  search: string = null;\r\n  searchInput: HTMLElement;\r\n\r\n  constructor() { }\r\n\r\n  onSearchFocus(inputComponent: GlComponentInputTextSimpleComponent, backgroundTranslucid: HTMLDivElement): void {\r\n    // backgroundTranslucid.classList.add('highlight');\r\n    const input = inputComponent.inputElement.nativeElement.parentElement.parentElement.parentElement;\r\n\r\n    backgroundTranslucid.classList.remove('remove-highlight');\r\n    input.classList.remove('remove-highlight');\r\n    backgroundTranslucid.classList.add('highlight');\r\n    input.classList.add('highlight');\r\n  }\r\n  onSearchLostFocus(inputComponent: GlComponentInputTextSimpleComponent, backgroundTranslucid: HTMLDivElement): void {\r\n    const input = inputComponent.inputElement.nativeElement.parentElement.parentElement.parentElement;\r\n    const activeItem = document.activeElement.id;\r\n    if (activeItem !== 'search-input' && activeItem !== 'search-button') {\r\n      input.classList.add('remove-highlight');\r\n      backgroundTranslucid.classList.add('remove-highlight');\r\n    }\r\n\r\n    // const activeItem = document.activeElement.id;\r\n    // if (activeItem !== 'search-input' && activeItem !== 'search-button') {\r\n    //\r\n    //   backgroundTranslucid.classList.add('remove-highlight');\r\n    //\r\n    //   this.timeouts.push(\r\n    //     setTimeout(() => {\r\n    //       backgroundTranslucid.classList.remove('remove-highlight');\r\n    //       backgroundTranslucid.classList.remove('highlight');\r\n    //\r\n    //       this.clearTimeouts();\r\n    //     }, 500)\r\n    //   );\r\n    // }\r\n  }\r\n\r\n  onSearchKeyDown(inputComponent: GlComponentInputTextSimpleComponent, event, click: boolean = false): void {\r\n    const input = inputComponent.inputElement.nativeElement;\r\n    const isEnter = !click && event.key?.toLowerCase() === 'enter';\r\n\r\n    if (click || isEnter) {\r\n      this.keyDown$.emit({\r\n        value: input.value?.trim(),\r\n        isOnSearch: this.isOnSearch\r\n      });\r\n    }\r\n  }\r\n\r\n  private clearTimeouts(): void {\r\n    for (const timeout of this.timeouts) {\r\n      clearInterval(timeout);\r\n      clearTimeout(timeout);\r\n\r\n      this.timeouts.shift();\r\n    }\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    this.searchInput = document.querySelector('#search-input');\r\n  }\r\n}\r\n","<div class=\"search-container\">\r\n  <img\r\n    (mouseenter)=\"onSearchFocus(searchInput, backgroundTranslucid)\"\r\n    (focusin)=\"onSearchFocus(searchInput, backgroundTranslucid)\"\r\n    (mouseleave)=\"onSearchLostFocus(searchInput, backgroundTranslucid)\"\r\n    (focusout)=\"onSearchLostFocus(searchInput, backgroundTranslucid)\"\r\n    (click)=\"onSearchKeyDown(searchInput, $event, true)\"\r\n    id=\"search-button\"\r\n    class=\"search-icon\"\r\n    src=\"../assets/img/icon/search/search-icon.svg\"\r\n    alt=\"Search icon\">\r\n  <gl-component-input-text-simple\r\n    #searchInput\r\n    id=\"search-input\"\r\n    maxLength=\"50\"\r\n    type=\"search\"\r\n    placeholder=\"Busque aqui sua requisição de compra...\"\r\n    class=\"search-input\"\r\n    theme=\"light\"\r\n    [value]=\"search\"\r\n    (mouseenter)=\"onSearchFocus(searchInput, backgroundTranslucid)\"\r\n    (focusin)=\"onSearchFocus(searchInput, backgroundTranslucid)\"\r\n    (mouseleave)=\"onSearchLostFocus(searchInput, backgroundTranslucid)\"\r\n    (focusout)=\"onSearchLostFocus(searchInput, backgroundTranslucid)\"\r\n    (keydown)=\"onSearchKeyDown(searchInput, $event)\"\r\n  ></gl-component-input-text-simple>\r\n\r\n  <div #backgroundTranslucid class=\"translucid-background\"></div>\r\n</div>\r\n","export interface IDropdownSettings {\r\n  singleSelection?: boolean;\r\n  idField?: string;\r\n  textField?: string;\r\n  iconField?: string;\r\n  disabledField?: string;\r\n  enableCheckAll?: boolean;\r\n  selectAllText?: string;\r\n  unSelectAllText?: string;\r\n  allowSearchFilter?: boolean;\r\n  clearSearchFilter?: boolean;\r\n  maxHeight?: number;\r\n  itemsShowLimit?: number;\r\n  limitSelection?: number;\r\n  searchPlaceholderText?: string;\r\n  noDataAvailablePlaceholderText?: string;\r\n  closeDropDownOnSelection?: boolean;\r\n  showSelectedItemsAtTop?: boolean;\r\n  defaultOpen?: boolean;\r\n  allowRemoteDataSearch?: boolean;\r\n}\r\n\r\nexport class ListItem {\r\n  id: number;\r\n  value: String | number;\r\n  text: String | number;\r\n  isDisabled?: boolean;\r\n  icon?: string;\r\n\r\n  public constructor(source: any) {\r\n    if (typeof source === 'string' || typeof source === 'number') {\r\n      this.value = this.text = source;\r\n      this.isDisabled = false;\r\n      this.icon = '';\r\n    }\r\n    if (typeof source === 'object') {\r\n      this.value = source.value;\r\n      this.text = source.text;\r\n      this.isDisabled = source.isDisabled;\r\n      this.icon = source.icon;\r\n    }\r\n  }\r\n}\r\n","import { Component, HostListener, forwardRef, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor, ReactiveFormsModule, FormsModule } from '@angular/forms';\r\nimport { CorePipesListFilterPipe } from '../../../core/pipes/list-filter/core-pipes-list-filter.pipe';\r\nimport { IDropdownSettings, ListItem } from './gl-component-input-dropdown-simple.model';\r\nimport { NgClass, NgOptimizedImage } from '@angular/common';\r\nimport { CoreDirectivesClickOutsideDirective } from '../../../core/directives/click-outside/core-directives-click-outside.directive';\r\n\r\nexport const DROPDOWN_CONTROL_VALUE_ACCESSOR: any = {\r\n  provide: NG_VALUE_ACCESSOR,\r\n  useExisting: forwardRef(() => GlComponentInputDropdownSimpleComponent),\r\n  multi: true\r\n};\r\nconst noop = () => {};\r\n\r\n@Component({\r\n    selector: 'gl-component-input-dropdown-simple',\r\n    templateUrl: './gl-component-input-dropdown-simple.component.html',\r\n    styleUrls: ['./gl-component-input-dropdown-simple.component.scss'],\r\n    providers: [DROPDOWN_CONTROL_VALUE_ACCESSOR],\r\n    changeDetection: ChangeDetectionStrategy.OnPush,\r\n    standalone: true,\r\n  imports: [CoreDirectivesClickOutsideDirective, NgClass, ReactiveFormsModule, FormsModule, CorePipesListFilterPipe, NgOptimizedImage]\r\n})\r\nexport class GlComponentInputDropdownSimpleComponent implements ControlValueAccessor {\r\n  readonly imageSource = '../assets/img/icon/drop-down/arrow-down.svg';\r\n  _settings: IDropdownSettings;\r\n  _data: ListItem[] = [];\r\n  isDropdownOpen = true;\r\n  _placeholder = 'Select';\r\n  selectedItems: ListItem[] = [];\r\n\r\n  private _sourceDataType = null; // to keep note of the source data type. could be array of string/number/object\r\n  // tslint:disable-next-line:ban-types\r\n  private _sourceDataFields: String[] = []; // store source data fields names\r\n  filter: ListItem = new ListItem(this.data);\r\n  defaultSettings: IDropdownSettings = {\r\n    singleSelection: true,\r\n    idField: 'value',\r\n    textField: 'text',\r\n    iconField: 'icon',\r\n    disabledField: 'isDisabled',\r\n    enableCheckAll: true,\r\n    selectAllText: 'Select All',\r\n    unSelectAllText: 'UnSelect All',\r\n    allowSearchFilter: true,\r\n    limitSelection: -1,\r\n    clearSearchFilter: true,\r\n    maxHeight: 197,\r\n    itemsShowLimit: 999999999999,\r\n    searchPlaceholderText: 'Search',\r\n    noDataAvailablePlaceholderText: 'No data available',\r\n    closeDropDownOnSelection: true,\r\n    showSelectedItemsAtTop: true,\r\n    defaultOpen: false,\r\n    allowRemoteDataSearch: false\r\n  };\r\n\r\n  private onTouchedCallback: () => void = noop;\r\n  private onChangeCallback: (_: any) => void = noop;\r\n\r\n  @Input()\r\n  public set placeholder(value: string) {\r\n    if (value) {\r\n      this._placeholder = value;\r\n    } else {\r\n      this._placeholder = 'Select';\r\n    }\r\n  }\r\n\r\n  @Input() disabled = false;\r\n  @Input() iconPreview: string;\r\n  @Input() showIcon = false;\r\n\r\n  @Input()\r\n  public set settings(value: IDropdownSettings) {\r\n    if (value) {\r\n      this._settings = Object.assign(this.defaultSettings, value);\r\n    } else {\r\n      this._settings = Object.assign(this.defaultSettings);\r\n    }\r\n  }\r\n\r\n  @Input()\r\n  public set selected(value: ListItem[]) {\r\n    const single = this.defaultSettings.singleSelection || this._settings.singleSelection;\r\n\r\n    if (value == null || value.length === 0) {\r\n      this.selectedItems = [];\r\n    } else {\r\n      if (single) {\r\n        this.selectedItems.push(value[0]);\r\n      } else {\r\n        this.selectedItems = value;\r\n      }\r\n    }\r\n  }\r\n\r\n  @Input()\r\n  public set data(value: ListItem[]) {\r\n    if (!value) {\r\n      this._data = [];\r\n    } else {\r\n      const firstItem = value[0];\r\n      this._sourceDataType = typeof firstItem;\r\n      this._sourceDataFields = this.getFields(firstItem);\r\n      this._data = value.map((item: any) =>\r\n        typeof item === 'string' || typeof item === 'number'\r\n          ? new ListItem(item)\r\n          : new ListItem({\r\n            value: item[this._settings.idField],\r\n            text: item[this._settings.textField],\r\n            isDisabled: item[this._settings.disabledField],\r\n            icon: item[this._settings.iconField]\r\n          })\r\n      );\r\n    }\r\n  }\r\n\r\n  @Output() $filterChange: EventEmitter<ListItem> = new EventEmitter<any>();\r\n  @Output() $dropDownClose: EventEmitter<ListItem> = new EventEmitter<any>();\r\n  @Output() $select: EventEmitter<ListItem> = new EventEmitter<any>();\r\n  @Output() $deselect: EventEmitter<ListItem> = new EventEmitter<any>();\r\n  @Output() $selectAll: EventEmitter<ListItem[]> = new EventEmitter<any[]>();\r\n  @Output() $deselectAll: EventEmitter<ListItem[]> = new EventEmitter<any[]>();\r\n\r\n  constructor(private listFilterPipe: CorePipesListFilterPipe) {}\r\n\r\n  onFilterTextChange($event): void {\r\n    this.$filterChange.emit($event);\r\n  }\r\n\r\n  // region Actions\r\n  onItemClick($event: any, item: ListItem): void | boolean {\r\n    if (this.disabled || item.isDisabled) {\r\n      return false;\r\n    }\r\n\r\n    const found = this.isSelected(item);\r\n    const sameSingleItem = this.isSameSingleItem(item);\r\n    const allowAdd = this._settings.limitSelection === -1 || (this._settings.limitSelection > 0 && this.selectedItems.length < this._settings.limitSelection);\r\n\r\n    if (!found || !sameSingleItem) {\r\n      if (allowAdd) {\r\n        this.addSelected(item);\r\n      }\r\n    } else {\r\n      this.removeSelected(item);\r\n\r\n      if (sameSingleItem) {\r\n        this.selectedItems = [];\r\n        this.$select.emit(this.emittedValue(null));\r\n      }\r\n    }\r\n\r\n    if (this._settings.singleSelection && this._settings.closeDropDownOnSelection) {\r\n      this.closeDropdown();\r\n    }\r\n  }\r\n  toggleDropdown(evt): void | boolean {\r\n    evt.preventDefault();\r\n    if (this.disabled && this._settings.singleSelection) {\r\n      return false;\r\n    }\r\n    this._settings.defaultOpen = !this._settings.defaultOpen;\r\n    if (!this._settings.defaultOpen) {\r\n      this.$dropDownClose.emit();\r\n    }\r\n  }\r\n  closeDropdown(): void {\r\n    this._settings.defaultOpen = false;\r\n    // clear search text\r\n    if (this._settings.clearSearchFilter) {\r\n      this.filter.text = '';\r\n    }\r\n    this.$dropDownClose.emit();\r\n  }\r\n  toggleSelectAll(): void {\r\n    if (this.disabled) {\r\n      return;\r\n    }\r\n    if (!this.isAllItemsSelected()) {\r\n      // filter out disabled item first before slicing\r\n      this.selectedItems = this.listFilterPipe.transform(this._data, this.filter).filter(item => !item.isDisabled).slice();\r\n      this.$selectAll.emit(this.emittedValue(this.selectedItems));\r\n    } else {\r\n      this.selectedItems = [];\r\n      this.$deselectAll.emit(this.emittedValue(this.selectedItems));\r\n    }\r\n    this.onChangeCallback(this.emittedValue(this.selectedItems));\r\n  }\r\n  emittedValue(val: any): any {\r\n    const selected = [];\r\n    if (Array.isArray(val)) {\r\n      val.map(item => {\r\n        selected.push(this.objectify(item));\r\n      });\r\n    } else {\r\n      if (val) {\r\n        return this.objectify(val);\r\n      }\r\n    }\r\n    return selected;\r\n  }\r\n  showButton(): boolean {\r\n    if (!this._settings.singleSelection) {\r\n      if (this._settings.limitSelection > 0) {\r\n        return false;\r\n      }\r\n      // this._settings.enableCheckAll = this._settings.limitSelection === -1 ? true : false;\r\n      return true; // !this._settings.singleSelection && this._settings.enableCheckAll && this._data.length > 0;\r\n    } else {\r\n      // should be disabled in single selection mode\r\n      return false;\r\n    }\r\n  }\r\n  isSameSingleItem(item: ListItem): boolean {\r\n    const singleItem = this._settings.singleSelection;\r\n    const isListItem = typeof item !== 'string' && typeof item !== 'number';\r\n    let isEqual: boolean;\r\n\r\n    if (isListItem) {\r\n      isEqual = this.selectedItems[0] === item;\r\n    } else {\r\n      // @ts-ignore //Todo this is a Typescript bug: https://github.com/microsoft/TypeScript/issues/42999\r\n      isEqual = this.selectedItems[0].value === item.value;\r\n    }\r\n\r\n    return singleItem && isEqual;\r\n  }\r\n\r\n  addSelected(item: ListItem): void {\r\n    if (this._settings.singleSelection) {\r\n      this.selectedItems = [];\r\n      this.selectedItems.push(item);\r\n    } else {\r\n      this.selectedItems.push(item);\r\n    }\r\n    this.onChangeCallback(this.emittedValue(this.selectedItems));\r\n    this.$select.emit(this.emittedValue(item));\r\n  }\r\n  removeSelected(itemSel: ListItem): void {\r\n    this.selectedItems.forEach(item => {\r\n      if (itemSel.value === item.value) {\r\n        this.selectedItems.splice(this.selectedItems.indexOf(item), 1);\r\n      }\r\n    });\r\n    this.onChangeCallback(this.emittedValue(this.selectedItems));\r\n    this.$deselect.emit(this.emittedValue(itemSel));\r\n  }\r\n  // endregion\r\n\r\n  // region ControlValueAccessor\r\n  writeValue(value: any): void {\r\n    if (value !== undefined && value !== null && value.length > 0) {\r\n      if (this._settings.singleSelection) {\r\n        try {\r\n          if (value.length >= 1) {\r\n            const firstItem = value[0];\r\n            this.selectedItems = [\r\n              typeof firstItem === 'string' || typeof firstItem === 'number'\r\n                ? new ListItem(firstItem)\r\n                : new ListItem({\r\n                  value: firstItem[this._settings.idField],\r\n                  text: firstItem[this._settings.textField],\r\n                  isDisabled: firstItem[this._settings.disabledField],\r\n                  icon: firstItem[this._settings.iconField]\r\n                })\r\n            ];\r\n          }\r\n        } catch (e) {\r\n          console.error(e.body.msg);\r\n        }\r\n      } else {\r\n        const _data = value.map((item: any) =>\r\n          typeof item === 'string' || typeof item === 'number'\r\n            ? new ListItem(item)\r\n            : new ListItem({\r\n              value: item[this._settings.idField],\r\n              text: item[this._settings.textField],\r\n              isDisabled: item[this._settings.disabledField],\r\n              icon: item[this._settings.iconField]\r\n            })\r\n        );\r\n        if (this._settings.limitSelection > 0) {\r\n          this.selectedItems = _data.splice(0, this._settings.limitSelection);\r\n        } else {\r\n          this.selectedItems = _data;\r\n        }\r\n      }\r\n    } else {\r\n      this.selectedItems = [];\r\n    }\r\n    this.onChangeCallback(value);\r\n  }\r\n\r\n  // From ControlValueAccessor interface\r\n  registerOnChange(fn: any): void {\r\n    this.onChangeCallback = fn;\r\n  }\r\n\r\n  // From ControlValueAccessor interface\r\n  registerOnTouched(fn: any): void {\r\n    this.onTouchedCallback = fn;\r\n  }\r\n  // endregion\r\n\r\n  // Set touched on blur\r\n  @HostListener('blur')\r\n  onTouched(): void {\r\n    this.closeDropdown();\r\n    this.onTouchedCallback();\r\n  }\r\n\r\n  // region Parse\r\n  showIconPreview(): boolean {\r\n    const showIcon = this.showIcon;\r\n    const single = this._settings?.singleSelection || this.settings?.singleSelection;\r\n    const iconPreview = this.iconPreview != null && this.iconPreview.length > 0;\r\n\r\n    return showIcon && single && iconPreview;\r\n  }\r\n  itemShowRemaining(): number {\r\n    return this.selectedItems.length - this._settings.itemsShowLimit;\r\n  }\r\n  isSelected(clickedItem: ListItem): boolean {\r\n    let found = false;\r\n    this.selectedItems.forEach(item => {\r\n      if (clickedItem.value === item.value) {\r\n        found = true;\r\n      }\r\n    });\r\n    return found;\r\n  }\r\n  isLimitSelectionReached(): boolean {\r\n    return this._settings.limitSelection === this.selectedItems.length;\r\n  }\r\n  isAllItemsSelected(): boolean {\r\n    // get disabled item count\r\n    const filteredItems = this.listFilterPipe.transform(this._data, this.filter);\r\n    const itemDisabledCount = filteredItems.filter(item => item.isDisabled).length;\r\n\r\n    // take disabled items into consideration when checking\r\n    if ((!this.data || this.data.length === 0) && this._settings.allowRemoteDataSearch) {\r\n      return false;\r\n    }\r\n    return filteredItems.length === this.selectedItems.length + itemDisabledCount;\r\n  }\r\n  objectify(val: ListItem): string | number | object {\r\n    if (this._sourceDataType === 'object') {\r\n      const obj = {};\r\n      obj[this._settings.idField] = val.value;\r\n      obj[this._settings.textField] = val.text;\r\n      if (this._sourceDataFields.includes(this._settings.disabledField)) {\r\n        obj[this._settings.disabledField] = val.isDisabled;\r\n      }\r\n      obj[this._settings.iconField] = val.icon;\r\n      return obj;\r\n    }\r\n    if (this._sourceDataType === 'number') {\r\n      return Number(val.value);\r\n    } else {\r\n      return val.text;\r\n    }\r\n  }\r\n  // endregion\r\n\r\n  getFields(inputData): any[] {\r\n    const fields = [];\r\n    if (typeof inputData !== 'object') {\r\n      return fields;\r\n    }\r\n    // tslint:disable-next-line:forin\r\n    for (const prop in inputData) {\r\n      fields.push(prop);\r\n    }\r\n    return fields;\r\n  }\r\n}\r\n","<div class=\"multiselect-dropdown\"\r\n   tabindex=\"0\"\r\n   (blur)=\"onTouched()\"\r\n   (clickOutside)=\"closeDropdown()\">\r\n  <div class=\"multiselect-dropdown-container\" [class.disabled]=\"disabled\">\r\n    <span\r\n      class=\"dropdown-btn {{ selectedItems.length > 0 ? 'has-items' : '' }} {{ _settings.singleSelection ? 'single-item' : 'multiple-item' }}\"\r\n      tabindex=\"-1\"\r\n      (click)=\"toggleDropdown($event)\">\r\n\r\n      @if(selectedItems.length == 0) {\r\n        <span\r\n          class=\"placeholder {{ showIconPreview() ? 'has-icon-preview' : '' }}\"\r\n        >{{_placeholder}}</span>\r\n      }\r\n\r\n\r\n      @for (item of selectedItems; track item.id) {\r\n        <span class=\"selected-item-container {{ _settings.singleSelection ? 'single-item' : 'multiple-item' }}\" >\r\n        <span\r\n          class=\"selected-item\"\r\n          [hidden]=\"item.id  > (this._settings.itemsShowLimit-1)\">\r\n          <span [title]=\"item.text\">{{item.text}}</span>\r\n          @if(!disabled && (!_settings.singleSelection || !defaultSettings.singleSelection)) {\r\n            <img\r\n              alt=\"Remove item\"\r\n              class=\"remove-item\"\r\n              src=\"../assets/img/icon/check-box/checked.svg\"\r\n              (click)=\"onItemClick($event,item)\">\r\n          }\r\n        </span>\r\n      </span>\r\n      }\r\n\r\n      <span class=\"buttons-container\"\r\n        [ngClass]=\"{ 'dropdown-multiselect--active': _settings.defaultOpen }\">\r\n\r\n        @if(itemShowRemaining()>0) {\r\n          <span class=\"items-remaining-container\">\r\n           <span\r\n             class=\"items-remaining\"\r\n           >+{{itemShowRemaining()}}</span>\r\n        </span>\r\n        }\r\n\r\n        @if(showIconPreview()) {\r\n          <img\r\n            alt=\"Icon preview\"\r\n            class=\"icon-preview\"\r\n            [src]=\"iconPreview\">\r\n        }\r\n\r\n        @if(!disabled) {\r\n          <img\r\n            alt=\"Show items\"\r\n            class=\"dropdown-multiselect__caret arrow-down {{ 'theme' }} {{ disabled ? 'read-only' : '' }}\"\r\n            [src]=\"imageSource\">\r\n        }\r\n\r\n      </span>\r\n    </span>\r\n  </div>\r\n\r\n  <div class=\"dropdown-list\" [hidden]=\"!_settings.defaultOpen\">\r\n    <ul class=\"item1\">\r\n      @if((_data.length > 0 || _settings.allowRemoteDataSearch) && !_settings.singleSelection && _settings.enableCheckAll && _settings.limitSelection===-1) {\r\n        <li\r\n          class=\"multiselect-item-checkbox select-all\"\r\n          (click)=\"toggleSelectAll()\">\r\n\r\n          <input\r\n            type=\"checkbox\"\r\n            aria-label=\"multiselect-select-all\"\r\n            [checked]=\"isAllItemsSelected()\"\r\n            [disabled]=\"disabled || isLimitSelectionReached()\"/>\r\n          <div class=\"check-box-inner select-all\">{{!isAllItemsSelected() ? _settings.selectAllText : _settings.unSelectAllText}}</div>\r\n        </li>\r\n      }\r\n\r\n      @if((_data.length>0 || _settings.allowRemoteDataSearch) && _settings.allowSearchFilter) {\r\n        <li class=\"filter-textbox\">\r\n          <input\r\n            type=\"text\"\r\n            aria-label=\"multiselect-search\"\r\n            [readOnly]=\"disabled\"\r\n            [placeholder]=\"_settings.searchPlaceholderText\"\r\n            [(ngModel)]=\"filter.text\"\r\n            (ngModelChange)=\"onFilterTextChange($event)\">\r\n        </li>\r\n      }\r\n    </ul>\r\n    <ul class=\"item2\" [style.maxHeight]=\"_settings.maxHeight+'px'\">\r\n      @for(item of _data | multiSelectFilter:filter; track item.id) {\r\n        <li class=\"multiselect-item-checkbox\"\r\n            (click)=\"onItemClick($event,item)\">\r\n          <input\r\n            type=\"checkbox\"\r\n            [attr.aria-label]=\"item.text\"\r\n            [checked]=\"isSelected(item)\"\r\n            [disabled]=\"disabled || (isLimitSelectionReached() && !isSelected(item)) || item.isDisabled\"/>\r\n          <div class=\"check-box-inner\">{{item.text}}</div>\r\n        </li>\r\n      }\r\n\r\n      @if(_data.length == 0 && !_settings.allowRemoteDataSearch) {\r\n        <li class=\"no-data\">\r\n          <h5>{{_settings.noDataAvailablePlaceholderText}}</h5>\r\n        </li>\r\n      }\r\n\r\n    </ul>\r\n  </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { THorizontalAlignment } from '../../../core/interfaces/alignments.interface';\r\nimport { IDropdownSettings, ListItem } from '../simple/gl-component-input-dropdown-simple.model';\r\nimport { GlComponentInputDropdownSimpleComponent } from '../simple/gl-component-input-dropdown-simple.component';\r\nimport { GlComponentTitleLabelSimpleComponent } from '../../../../../../gl-ng-titles-frontend/src/lib/component/label/simple/gl-component-title-label-simple.component';\r\nimport { TLabelColor, TLabelTheme } from '../../../../../../gl-ng-titles-frontend/src/lib/component/label/simple/gl-component-title-label-simple.interface';\r\n\r\n@Component({\r\n    selector: 'gl-component-input-dropdown-label',\r\n    templateUrl: './gl-component-input-dropdown-label.component.html',\r\n    styleUrls: ['./gl-component-input-dropdown-label.component.scss'],\r\n    standalone: true,\r\n    imports: [GlComponentTitleLabelSimpleComponent, GlComponentInputDropdownSimpleComponent]\r\n})\r\nexport class GlComponentInputDropdownLabelComponent {\r\n  @Input() labelAlignment: THorizontalAlignment;\r\n  @Input() required: boolean;\r\n  @Input() labelValue: string;\r\n  @Input() requiredLabelDescription: string;\r\n  @Input() labelId: string;\r\n\r\n  @Input() placeholder: string;\r\n  @Input() disabled: boolean;\r\n  @Input() settings: IDropdownSettings;\r\n  @Input() selected: ListItem[];\r\n  @Input() data: ListItem[];\r\n\r\n  @Input() labelTheme: TLabelTheme = ''\r\n  @Input() labelColor: TLabelColor = '';\r\n  @Input() customLabelColor: string = '';\r\n\r\n  @Input() iconPreview: string;\r\n  @Input() showIcon = false;\r\n\r\n  @Output() $filterChange: EventEmitter<ListItem> = new EventEmitter<any>();\r\n  @Output() $dropDownClose: EventEmitter<ListItem> = new EventEmitter<any>();\r\n  @Output() $select: EventEmitter<ListItem> = new EventEmitter<any>();\r\n  @Output() $deselect: EventEmitter<ListItem> = new EventEmitter<any>();\r\n  @Output() $selectAll: EventEmitter<ListItem[]> = new EventEmitter<any[]>();\r\n  @Output() $deselectAll: EventEmitter<ListItem[]> = new EventEmitter<any[]>();\r\n\r\n  constructor() { }\r\n}\r\n","<div class=\"item-container {{ labelTheme !== 'simple' ? 'default-label' : '' }}\">\r\n  <gl-component-title-label-simple\r\n    [labelAlignment]=\"labelAlignment\"\r\n    [required]=\"required\"\r\n    [labelValue]=\"labelValue\"\r\n    [requiredLabel]=\"requiredLabelDescription\"\r\n    [id]=\"labelId\"\r\n    [labelColor]=\"labelColor\"\r\n    [customLabelColor]=\"customLabelColor\"\r\n    [theme]=\"labelTheme\"\r\n  ></gl-component-title-label-simple>\r\n\r\n  <gl-component-input-dropdown-simple\r\n    [placeholder]=\"placeholder\"\r\n    [disabled]=\"disabled\"\r\n    [settings]=\"settings\"\r\n    [selected]=\"selected\"\r\n    [data]=\"data\"\r\n    [showIcon]=\"showIcon\"\r\n    [iconPreview]=\"iconPreview\"\r\n    ($filterChange)=\"$filterChange.emit($event)\"\r\n    ($dropDownClose)=\"$dropDownClose.emit($event)\"\r\n    ($select)=\"$select.emit($event)\"\r\n    ($deselect)=\"$deselect.emit($event)\"\r\n    ($selectAll)=\"$selectAll.emit($event)\"\r\n    ($deselectAll)=\"$deselectAll.emit($event)\"\r\n  ></gl-component-input-dropdown-simple>\r\n</div>\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\n\r\n\r\n\r\n\r\nimport { CoreDirectivesClickOutsideDirective } from '../core/directives/click-outside/core-directives-click-outside.directive';\r\nimport { CorePipesListFilterPipe } from '../core/pipes/list-filter/core-pipes-list-filter.pipe';\r\nimport { GlComponentInputAutocompleteLabelComponent } from './autocomplete/label/gl-component-input-autocomplete-label.component';\r\nimport { GlComponentInputAutocompleteSimpleComponent } from './autocomplete/simple/gl-component-input-autocomplete-simple.component';\r\nimport { GlComponentInputButtonHyperlinkComponent } from './button/hyperlink/gl-component-input-button-hyperlink.component';\r\nimport { GlComponentInputButtonSimpleComponent } from './button/simple/gl-component-input-button-simple.component';\r\nimport { GlComponentInputCheckBoxLabelComponent } from './check-box/label/gl-component-input-check-box-label.component';\r\nimport { GlComponentInputCheckBoxSimpleComponent } from './check-box/simple/gl-component-input-check-box-simple.component';\r\nimport { GlComponentInputDatepickerLabelComponent } from './datepicker/label/gl-component-input-datepicker-label.component';\r\nimport { GlComponentInputDatepickerSimpleDayMonthYearComponent } from './datepicker/simple/day-month-year/gl-component-input-datepicker-simple-day-month-year.component';\r\nimport { GlComponentInputDatepickerSimpleMonthYearComponent } from './datepicker/simple/month-year/gl-component-input-datepicker-simple-month-year.component';\r\nimport { GlComponentInputDragAndDropSimpleComponent } from './drag-and-drop/simple/gl-component-input-drag-and-drop-simple.component';\r\nimport { GlComponentInputOptionSimpleComponent } from './option/simple/gl-component-input-option-simple.component';\r\nimport { GlComponentInputSwitchComponent } from './switch/gl-component-input-switch.component';\r\nimport { GlComponentInputTextAreaLabelComponent } from './text-area/label/gl-component-input-text-area-label.component';\r\nimport { GlComponentInputTextAreaSimpleComponent } from './text-area/simple/gl-component-input-text-area-simple.component';\r\nimport { GlComponentInputTextLabelButtonContainerComponent } from './text/label/button/container/gl-component-input-text-label-button-container.component';\r\nimport { GlComponentInputTextLabelSimpleComponent } from './text/label/simple/gl-component-input-text-label-simple.component';\r\nimport { GlComponentInputTextSimpleComponent } from './text/simple/gl-component-input-text-simple.component';\r\nimport { GlComponentInputTextSimpleWithStepComponent } from './text/simple/with-step/gl-component-input-text-simple-with-step.component';\r\nimport { GlComponentInputTextSimpleSearchComponent } from './text/simple/search/gl-component-input-text-simple-search.component';\r\nimport { GlComponentInputDropdownSimpleComponent } from './dropdown/simple/gl-component-input-dropdown-simple.component';\r\nimport { GlComponentInputDropdownLabelComponent } from './dropdown/label/gl-component-input-dropdown-label.component';\r\n\r\n@NgModule({\r\n    imports: [\r\n    CommonModule,\r\n    MatFormFieldModule,\r\n    MatInputModule,\r\n    ReactiveFormsModule,\r\n    MatAutocompleteModule,\r\n    MatDialogModule,\r\n    MatDatepickerModule,\r\n    FormsModule,\r\n    CoreDirectivesClickOutsideDirective,\r\n    GlComponentInputAutocompleteLabelComponent,\r\n    GlComponentInputAutocompleteSimpleComponent,\r\n    GlComponentInputButtonHyperlinkComponent,\r\n    GlComponentInputButtonSimpleComponent,\r\n    GlComponentInputCheckBoxLabelComponent,\r\n    GlComponentInputCheckBoxSimpleComponent,\r\n    GlComponentInputDatepickerLabelComponent,\r\n    GlComponentInputDatepickerSimpleDayMonthYearComponent,\r\n    GlComponentInputDatepickerSimpleMonthYearComponent,\r\n    GlComponentInputDropdownSimpleComponent,\r\n    GlComponentInputOptionSimpleComponent,\r\n    GlComponentInputSwitchComponent,\r\n    GlComponentInputTextLabelButtonContainerComponent,\r\n    GlComponentInputTextLabelSimpleComponent,\r\n    GlComponentInputTextSimpleComponent,\r\n    GlComponentInputTextSimpleWithStepComponent,\r\n    GlComponentInputTextAreaSimpleComponent,\r\n    GlComponentInputTextAreaLabelComponent,\r\n    GlComponentInputDragAndDropSimpleComponent,\r\n    GlComponentInputTextSimpleSearchComponent,\r\n    GlComponentInputDropdownLabelComponent\r\n],\r\n    exports: [\r\n        GlComponentInputAutocompleteLabelComponent,\r\n        GlComponentInputAutocompleteSimpleComponent,\r\n        GlComponentInputButtonHyperlinkComponent,\r\n        GlComponentInputButtonSimpleComponent,\r\n        GlComponentInputCheckBoxLabelComponent,\r\n        GlComponentInputCheckBoxSimpleComponent,\r\n        GlComponentInputDatepickerLabelComponent,\r\n        GlComponentInputDatepickerSimpleDayMonthYearComponent,\r\n        GlComponentInputDatepickerSimpleMonthYearComponent,\r\n        GlComponentInputDropdownSimpleComponent,\r\n        GlComponentInputDropdownLabelComponent,\r\n        GlComponentInputOptionSimpleComponent,\r\n        GlComponentInputSwitchComponent,\r\n        GlComponentInputTextLabelButtonContainerComponent,\r\n        GlComponentInputTextLabelSimpleComponent,\r\n        GlComponentInputTextSimpleComponent,\r\n        GlComponentInputTextSimpleWithStepComponent,\r\n        GlComponentInputTextAreaSimpleComponent,\r\n        GlComponentInputTextAreaLabelComponent,\r\n        GlComponentInputDragAndDropSimpleComponent,\r\n        GlComponentInputTextSimpleSearchComponent\r\n    ],\r\n    providers: [CorePipesListFilterPipe]\r\n})\r\nexport class ComponentModule {\r\n  static forRoot(): ModuleWithProviders<ComponentModule> {\r\n    return {\r\n      ngModule: ComponentModule\r\n    };\r\n  }\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { ComponentModule } from './component/component.module';\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n\r\n  ],\r\n  imports: [\r\n    ReactiveFormsModule\r\n],\r\n  exports: [\r\n    ComponentModule\r\n]\r\n})\r\nexport class GlNgInputsFrontendModule {\r\n  static forRoot(): ModuleWithProviders<GlNgInputsFrontendModule> {\r\n    return {\r\n      ngModule: GlNgInputsFrontendModule\r\n    };\r\n  }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { TErrorMessagePosition } from './gl-component-error-message.component.interface';\nimport { GlComponentInputButtonSimpleComponent } from '../../../../../gl-ng-inputs-frontend/src/lib/component/button/simple/gl-component-input-button-simple.component';\r\n\r\n@Component({\r\n    selector: 'gl-component-error-message',\r\n    templateUrl: './gl-component-error-message.component.html',\r\n    styleUrls: ['./gl-component-error-message.component.scss'],\r\n    standalone: true,\r\n    imports: [GlComponentInputButtonSimpleComponent]\r\n})\r\nexport class GlComponentErrorMessageComponent {\r\n  @Input() position: TErrorMessagePosition = 'left';\r\n  @Input() errorCode: string | number;\r\n  @Input() errorMessage: string;\r\n  @Input() buttonLabel: string;\r\n  @Output() buttonAction$: EventEmitter<void> = new EventEmitter();\r\n\r\n  constructor() { }\r\n\r\n  buttonAction(): void {\r\n    this.buttonAction$.emit();\r\n  }\r\n}\r\n","<div class=\"content-container {{ position === 'right' ? 'right' : 'left' }}\">\r\n  <h1 class=\"main-title\">{{ errorCode }}</h1>\r\n  <h2 class=\"message\">{{ errorMessage }}</h2>\r\n  <gl-component-input-button-simple\r\n    class=\"home-button\"\r\n    [innerValue]=\"buttonLabel\"\r\n    (click)=\"buttonAction()\"\r\n  ></gl-component-input-button-simple>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { GlNgInputsFrontendModule } from '../../../../gl-ng-inputs-frontend/src/lib/gl-ng-inputs-frontend.module';\r\nimport { GlComponentErrorMessageComponent } from './error-message/gl-component-error-message.component';\r\n\r\n@NgModule({\r\n    imports: [\r\n        CommonModule,\r\n        GlNgInputsFrontendModule,\r\n        GlComponentErrorMessageComponent\r\n    ],\r\n    exports: [\r\n        GlComponentErrorMessageComponent\r\n    ]\r\n})\r\nexport class ComponentModule { }\r\n","import { Component, Input } from '@angular/core';\r\nimport { NgOptimizedImage } from '@angular/common';\r\n\r\n@Component({\r\n    selector: 'gl-component-footer-container',\r\n    templateUrl: './gl-component-footer-container.component.html',\r\n    styleUrls: ['./gl-component-footer-container.component.scss'],\r\n    standalone: true,\r\n  imports: [NgOptimizedImage]\r\n})\r\nexport class GlComponentFooterContainerComponent {\r\n  @Input() description: string;\r\n  @Input() imageLogo: string;\r\n  @Input() imageDescription = 'Image logo';\r\n\r\n  constructor() { }\r\n}\r\n","<section class=\"footer-container\">\r\n  <span class=\"description\">{{ description }}</span>\r\n  @if (imageLogo != null) {\r\n    <img\r\n      class=\"image-logo\"\r\n      [alt]=\"imageDescription\"\r\n      [src]=\"imageLogo\">\r\n  }\r\n  <div class=\"user-container\">\r\n    <ng-content></ng-content>\r\n  </div>\r\n</section>\r\n","import { Component, Input } from '@angular/core';\r\nimport { TLogoHorizontalPosition, TLogoVerticalPosition } from './gl-component-logo-square.interface';\r\nimport { NgOptimizedImage } from '@angular/common';\r\n\r\n@Component({\r\n  selector: 'gl-component-logo-square',\r\n  templateUrl: './gl-component-logo-square.component.html',\r\n  styleUrls: ['./gl-component-logo-square.component.scss'],\r\n  imports: [\r\n    NgOptimizedImage\r\n  ],\r\n  standalone: true\r\n})\r\nexport class GlComponentLogoSquareComponent {\r\n  @Input() imageScr: string;\r\n  @Input() imageAlt: string;\r\n  @Input() horizontalPosition: TLogoHorizontalPosition = 'left';\r\n  @Input() verticalPosition: TLogoVerticalPosition = 'top';\r\n\r\n  constructor() { }\r\n}\r\n","<img\r\n  class=\"logo {{ horizontalPosition == 'right' ? 'right' : 'left' }} {{ verticalPosition == 'bottom' ? 'bottom' : 'top' }}\"\r\n  [src]=\"imageScr\"\r\n  [alt]=\"imageAlt\">\r\n","import { AfterViewInit, Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { TErrorMessageErrorPosition, TErrorMessageLogoHorizontalPosition, TErrorMessageLogoVerticalPosition } from './gl-view-error-message.interface';\r\nimport { GlComponentInputButtonHyperlinkComponent } from '../../../../../gl-ng-inputs-frontend/src/lib/component/button/hyperlink/gl-component-input-button-hyperlink.component';\r\nimport { GlComponentFooterContainerComponent } from '../../../../../gl-ng-footer-frontend/src/lib/component/container/gl-component-footer-container.component';\r\nimport { GlComponentErrorMessageComponent } from '../../component/error-message/gl-component-error-message.component';\r\nimport { GlComponentLogoSquareComponent } from '../../../../../gl-ng-logos-frontend/src/lib/component/square/gl-component-logo-square.component';\r\n\r\n@Component({\r\n    selector: 'gl-view-error-message',\r\n    templateUrl: './gl-view-error-message.component.html',\r\n    styleUrls: ['./gl-view-error-message.component.scss'],\r\n    standalone: true,\r\n    imports: [GlComponentLogoSquareComponent, GlComponentErrorMessageComponent, GlComponentFooterContainerComponent, GlComponentInputButtonHyperlinkComponent]\r\n})\r\nexport class GlViewErrorMessageComponent implements AfterViewInit {\r\n  @ViewChild('mainContainer') mainContainer: ElementRef<HTMLDivElement>;\r\n\r\n  @Input() blurBackground: string;\r\n  @Input() background: string;\r\n\r\n  @Input() logoImageScr: string;\r\n  @Input() logoImageAlt: string;\r\n  @Input() logoHorizontalPosition: TErrorMessageLogoHorizontalPosition = 'left';\r\n  @Input() logoVerticalPosition: TErrorMessageLogoVerticalPosition = 'top';\r\n\r\n  @Input() errorPosition: TErrorMessageErrorPosition = 'left';\r\n  @Input() errorCode: string | number;\r\n  @Input() errorMessage: string;\r\n  @Input() errorButtonLabel: string;\r\n  @Output() errorButtonAction$: EventEmitter<void> = new EventEmitter();\r\n\r\n  @Input() footerMainDescription: string;\r\n  @Input() footerShowContainer: boolean;\r\n  @Input() footerDescription: string;\r\n  @Input() footerImageDescription = 'Image logo';\r\n  @Input() footerImageSrc: string;\r\n  @Input() footerLink: string;\r\n\r\n  constructor() { }\r\n\r\n  ngAfterViewInit(): void {\r\n    const mainContainer: HTMLDivElement = this.mainContainer.nativeElement;\r\n    const mainContainerParent: HTMLDivElement = this.mainContainer.nativeElement.parentNode as HTMLDivElement;\r\n\r\n    mainContainer.style.backgroundImage = `url(${this.background})`;\r\n    mainContainerParent.style.backgroundImage = `url(${this.blurBackground})`;\r\n  }\r\n\r\n  errorButtonAction(): void {\r\n    this.errorButtonAction$.emit();\r\n  }\r\n}\r\n","<div #mainContainer class=\"main-container\">\r\n  <gl-component-logo-square\r\n    [horizontalPosition]=\"logoHorizontalPosition\"\r\n    [verticalPosition]=\"logoVerticalPosition\"\r\n    [imageAlt]=\"logoImageAlt\"\r\n    [imageScr]=\"logoImageScr\"\r\n  ></gl-component-logo-square>\r\n  <gl-component-error-message\r\n    [position]=\"errorPosition\"\r\n    [errorCode]=\"errorCode\"\r\n    [errorMessage]=\"errorMessage\"\r\n    [buttonLabel]=\"errorButtonLabel\"\r\n    (buttonAction$)=\"errorButtonAction()\"\r\n  ></gl-component-error-message>\r\n  <gl-component-footer-container [description]=\"footerMainDescription\">\r\n    @if (footerShowContainer) {\r\n      <gl-component-input-button-hyperlink\r\n        [description]=\"footerDescription\"\r\n        [imageDescription]=\"footerImageDescription\"\r\n        [imageSrc]=\"footerImageSrc\"\r\n        [link]=\"footerLink\"\r\n      ></gl-component-input-button-hyperlink>\r\n    }\r\n  </gl-component-footer-container>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { GlNgInputsFrontendModule } from '../../../../gl-ng-inputs-frontend/src/lib/gl-ng-inputs-frontend.module';\r\n\r\nimport { ComponentModule } from '../component/component.module';\r\nimport { GlViewErrorMessageComponent } from './error-message/gl-view-error-message.component';\r\n\r\n@NgModule({\r\n    exports: [\r\n        GlViewErrorMessageComponent\r\n    ],\r\n    imports: [\r\n    CommonModule,\r\n    ComponentModule,\r\n    GlNgInputsFrontendModule,\r\n    GlViewErrorMessageComponent\r\n]\r\n})\r\nexport class ViewModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { ComponentModule } from './component/component.module';\r\nimport { ViewModule } from './view/view.module';\r\n\r\n@NgModule({\r\n  declarations: [\r\n\r\n  ],\r\n  imports: [\r\n    ComponentModule,\r\n    ViewModule,\r\n  ],\r\n  exports: [\r\n    ComponentModule,\r\n    ViewModule\r\n  ]\r\n})\r\nexport class GlNgErrorMessageFrontendModule { }\r\n","/*\r\n * Public API Surface of gl-ng-error-message-frontend\r\n */\r\nexport { ComponentModule as GlNgErrorMessageComponentModule } from './gl-ng-error-message-frontend/src/lib/component/component.module';\r\nexport { ViewModule as GlNgErrorMessageViewModule } from './gl-ng-error-message-frontend/src/lib/view/view.module';\r\nexport { GlNgErrorMessageFrontendModule } from './gl-ng-error-message-frontend/src/lib/gl-ng-error-message-frontend.module';\r\n\r\n// region interfaces\r\nexport { TTheme } from './gl-ng-error-message-frontend/src/lib/interfaces/global.interface';\r\n// endregion\r\n\r\n// region error-message\r\nexport { GlComponentErrorMessageComponent } from './gl-ng-error-message-frontend/src/lib/component/error-message/gl-component-error-message.component';\r\nexport { TErrorMessagePosition } from './gl-ng-error-message-frontend/src/lib/component/error-message/gl-component-error-message.component.interface';\r\n// endregion\r\n\r\n// region view error-message\r\nexport { GlViewErrorMessageComponent } from './gl-ng-error-message-frontend/src/lib/view/error-message/gl-view-error-message.component';\r\n// endregion\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './wrapper_error_message';\n"],"names":["i1.GlComponentInputAutocompleteSimpleService","i4","i1.GlComponentModalAlertService","i1.GlComponentInputTextSimpleService","i1.CorePipesListFilterPipe","i2","ComponentModule"],"mappings":"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"}