{"version":3,"file":"ngx-phone-field.mjs","sources":["../../../projects/ngx-phone-field/src/lib/ngx-phone-field.ts","../../../projects/ngx-phone-field/src/public-api.ts","../../../projects/ngx-phone-field/src/ngx-phone-field.ts"],"sourcesContent":["import { Directive, ElementRef, AfterViewInit, OnDestroy, InputSignal, input, inject } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport intlTelInput, { SomeOptions } from 'intl-tel-input';\n\n@Directive({\n  selector: '[ngxPhoneField]',\n  standalone: true,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: NgxPhoneField,\n      multi: true,\n    },\n  ],\n})\nexport class NgxPhoneField implements AfterViewInit, OnDestroy {\n  public readonly ngxPhoneFieldParams: InputSignal<SomeOptions> = input({});\n\n  private defaultOptions: SomeOptions = {\n    initialCountry: '',\n    allowDropdown: true,\n    autoPlaceholder: 'polite',\n    containerClass: '',\n    countryOrder: [],\n    countrySearch: true,\n    customPlaceholder: null,\n    dropdownContainer: null,\n    excludeCountries: [],\n    fixDropdownWidth: true,\n    formatAsYouType: true,\n    formatOnDisplay: true,\n    geoIpLookup: null,\n    hiddenInput: null,\n    i18n: {},\n    loadUtilsOnInit: '',\n    nationalMode: true,\n    onlyCountries: [],\n    placeholderNumberType: 'MOBILE',\n    showFlags: true,\n    separateDialCode: false,\n    strictMode: false,\n    useFullscreenPopup: /Android.+Mobile|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) || window.innerWidth <= 500 || false,\n    utilsScript: '',\n    validationNumberType: 'MOBILE',\n  };\n  private instance!: { destroy: () => void };\n  private inputListener!: EventListener;\n\n  private onTouched: () => void = () => {};\n  private onChange: (value: any) => void = () => {};\n  \n  private readonly el: ElementRef = inject(ElementRef)\n\n  public ngAfterViewInit(): void {\n    this.instance = intlTelInput(this.el.nativeElement, {\n      ...this.defaultOptions,\n      ...this.ngxPhoneFieldParams(),\n    });\n\n    this.inputListener = () => {\n      this.onChange(this.instance);\n    }\n\n    this.el.nativeElement.addEventListener('input', this.inputListener);\n  }\n\n  public ngOnDestroy(): void {\n    this.el.nativeElement.removeEventListener('input', this.inputListener);\n\n    if (this.instance) {\n      this.instance.destroy();\n    }\n  }\n\n  public writeValue(value: any): void {\n    if (value) {\n      this.el.nativeElement.value = value;\n    }\n  }\n  \n  public registerOnChange(fn: any): void {\n    this.onChange = fn;\n  }\n  \n  public registerOnTouched(fn: any): void {\n    this.onTouched = fn;\n  }\n  \n  public setDisabledState(isDisabled: boolean): void {\n    this.el.nativeElement.disabled = isDisabled;\n  }\n}\n","/*\n * Public API Surface of intl-tel-input\n */\n\nexport * from './lib/ngx-phone-field';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}