{"version":3,"file":"ngx-mui-kit-components-muk-input.mjs","sources":["../../../projects/ngx-mui-kit/components/muk-input/enums/input-type.enum.ts","../../../projects/ngx-mui-kit/components/muk-input/src/muk-input.component.ts","../../../projects/ngx-mui-kit/components/muk-input/src/muk-input.component.html","../../../projects/ngx-mui-kit/components/muk-input/ngx-mui-kit-components-muk-input.ts"],"sourcesContent":["export enum inputType {\r\n  password = \"password\",\r\n  text = \"text\",\r\n  number = \"number\",\r\n  phoneNumber = \"phoneNumber\",\r\n  email = \"email\",\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { inputType } from '../enums/input-type.enum';\r\nimport {\r\n  CountryISO,\r\n  NgxIntlTelInputModule,\r\n  SearchCountryField,\r\n} from 'ngx-intl-tel-input';\r\nimport { Country } from 'ngx-intl-tel-input/lib/model/country.model';\r\nimport { Observable, map, startWith } from 'rxjs';\r\n\r\n@Component({\r\n  selector: 'lib-muk-input',\r\n  standalone: true,\r\n  imports: [\r\n    CommonModule,\r\n    MatInputModule,\r\n    ReactiveFormsModule,\r\n    MatButtonModule,\r\n    MatIconModule,\r\n    NgxIntlTelInputModule,\r\n  ],\r\n  templateUrl: './muk-input.component.html',\r\n  styleUrls: ['./muk-input.component.scss'],\r\n})\r\nexport class MukInputComponent {\r\n  @Input() controller!: FormControl<unknown>;\r\n  @Input() label!: string;\r\n  @Input({ required: true }) type!: inputType;\r\n  @Input() placeholder: string = '';\r\n  @Input() isAutocomplete: boolean = false;\r\n  @Input() isAutofocus: boolean = false;\r\n  @Input() isRequired: boolean = false;\r\n  @Input() isDisabled: boolean = false;\r\n  @Input() isDisplayIconSearch: boolean = false;\r\n  @Input() options: any[] = [];\r\n  @Input() isWhiteMode: boolean = false;\r\n  @Input() min: number | string = 0;\r\n  @Input() max: number | string = 100;\r\n  public hide: boolean = true;\r\n  protected readonly inputType = inputType;\r\n  @Output() onChange = new EventEmitter();\r\n  @Output() onSelectionChange = new EventEmitter();\r\n\r\n  protected readonly SearchCountryField = SearchCountryField;\r\n  protected readonly CountryISO = CountryISO;\r\n\r\n  filteredOptions!: Observable<any[]>;\r\n  typeOfArray: string = 'string';\r\n  ngOnInit() {\r\n    if (this.isAutocomplete) {\r\n      this.getFilteredOptions();\r\n    }\r\n  }\r\n\r\n  getFilteredOptions() {\r\n    this.typeOfArray = typeof this.options[0];\r\n    this.filteredOptions = this.controller.valueChanges.pipe(\r\n      startWith(''),\r\n      map((value) => this.filter(value || ''))\r\n    );\r\n  }\r\n  private filter(value: unknown): any[] {\r\n    const filterValue = value;\r\n    const optionValue =\r\n      this.typeOfArray === 'object'\r\n        ? this.options.filter((option) =>\r\n            option?.value.toLowerCase().includes(filterValue)\r\n          )\r\n        : this.options.filter((option) =>\r\n            option?.toLowerCase().includes(filterValue)\r\n          );\r\n    return optionValue;\r\n  }\r\n  onCountryChange($event: Country) {}\r\n}\r\n","<div class=\"stc-muk-tele-input\">\r\n  <mat-label class=\"stc-muk-tele-input__label\">{{ label }}</mat-label>\r\n  <ng-container [ngSwitch]=\"type\">\r\n    <mat-form-field\r\n      *ngSwitchCase=\"inputType.password\"\r\n      class=\"stc-input w-100 my-2\"\r\n      [ngClass]=\"isWhiteMode ? 'stc-bg-white' : 'stc-bg-gray'\"\r\n    >\r\n      <input\r\n        [autocomplete]=\"isAutocomplete\"\r\n        [autofocus]=\"isAutofocus\"\r\n        [formControl]=\"controller\"\r\n        [placeholder]=\"placeholder\"\r\n        [type]=\"hide ? 'password' : 'text'\"\r\n        matInput\r\n      />\r\n      <button\r\n        (click)=\"hide = !hide\"\r\n        *ngIf=\"type === 'password'\"\r\n        [attr.aria-label]=\"'hidePassword'\"\r\n        [attr.aria-pressed]=\"hide\"\r\n        mat-icon-button\r\n        matSuffix\r\n        type=\"button\"\r\n      >\r\n        <mat-icon>{{ hide ? \"visibility_off\" : \"visibility\" }}</mat-icon>\r\n      </button>\r\n    </mat-form-field>\r\n    <ngx-intl-tel-input\r\n      *ngSwitchCase=\"inputType.phoneNumber\"\r\n      [cssClass]=\"'stc-input-phone'\"\r\n      [preferredCountries]=\"[\r\n        CountryISO.SaudiArabia,\r\n        CountryISO.Egypt,\r\n        CountryISO.UnitedArabEmirates\r\n      ]\"\r\n      [enableAutoCountrySelect]=\"true\"\r\n      [enablePlaceholder]=\"true\"\r\n      [searchCountryFlag]=\"true\"\r\n      [searchCountryField]=\"[SearchCountryField.All]\"\r\n      (change)=\"onChange.emit($event)\"\r\n      [separateDialCode]=\"true\"\r\n      [selectFirstCountry]=\"false\"\r\n      [selectedCountryISO]=\"CountryISO.SaudiArabia\"\r\n      [maxLength]=\"15\"\r\n      [formControl]=\"controller\"\r\n      [phoneValidation]=\"false\"\r\n      (countryChange)=\"onCountryChange($event)\"\r\n    ></ngx-intl-tel-input>\r\n    <mat-form-field\r\n      *ngSwitchDefault\r\n      class=\"stc-input w-100 my-2\"\r\n      [ngClass]=\"isWhiteMode ? 'stc-bg-white' : 'stc-bg-gray'\"\r\n    >\r\n      <input\r\n        [autofocus]=\"isAutofocus\"\r\n        [formControl]=\"controller\"\r\n        [placeholder]=\"placeholder\"\r\n        [type]=\"type\"\r\n        (change)=\"onChange.emit($event)\"\r\n        [required]=\"isRequired\"\r\n        [attr.disabled]=\"isDisabled\"\r\n        matInput\r\n        [min]=\"min\"\r\n        [max]=\"max\"\r\n      />\r\n      <!--  [matAutocomplete]=\"auto\" <mat-autocomplete #auto=\"matAutocomplete\">\r\n        <ng-container *ngIf=\"typeOfArray === 'string' && isAutocomplete\">\r\n          <mat-option\r\n            *ngFor=\"let option of filteredOptions | async\"\r\n            [value]=\"option\"\r\n            (onSelectionChange)=\"onSelectionChange.emit(option)\"\r\n          >\r\n            {{ option }}\r\n          </mat-option>\r\n        </ng-container>\r\n        <ng-container *ngIf=\"typeOfArray === 'object' && isAutocomplete\">\r\n          <mat-option\r\n            *ngFor=\"let option of filteredOptions | async\"\r\n            [value]=\"option.value\"\r\n            (onSelectionChange)=\"onSelectionChange.emit(option)\"\r\n          >\r\n            {{ option.value }}\r\n          </mat-option>\r\n        </ng-container>\r\n      </mat-autocomplete> -->\r\n      <button\r\n        type=\"button\"\r\n        mat-icon-button\r\n        matSuffix\r\n        *ngIf=\"isDisplayIconSearch\"\r\n      >\r\n        <mat-icon>search</mat-icon>\r\n      </button>\r\n    </mat-form-field>\r\n  </ng-container>\r\n\r\n  <ng-template #password> </ng-template>\r\n</div>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}