mis-crystal-design-system 4.0.46-sukhad-test → 4.0.46-sukhad-test-2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/mis-crystal-design-system-phone-input.umd.js +1 -1
- package/bundles/mis-crystal-design-system-phone-input.umd.js.map +1 -1
- package/bundles/mis-crystal-design-system-phone-input.umd.min.js +1 -1
- package/bundles/mis-crystal-design-system-phone-input.umd.min.js.map +1 -1
- package/esm2015/phone-input/phone-input.component.js +2 -2
- package/fesm2015/mis-crystal-design-system-phone-input.js +1 -1
- package/fesm2015/mis-crystal-design-system-phone-input.js.map +1 -1
- package/package.json +1 -1
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
this.onDropdownSelection.emit(item.countryCode);
|
|
50
50
|
this.selectedCountryName = item.label;
|
|
51
51
|
this.validatePhoneNumber(this.inputFormControl.value, this.dropdownSelectedItem.countryCode);
|
|
52
|
-
this.inputFormControl.patchValue({ countryCode: item.
|
|
52
|
+
this.inputFormControl.patchValue({ countryCode: item.value }, { emitEvent: false });
|
|
53
53
|
};
|
|
54
54
|
PhoneInputComponent.prototype.loadCountryCodes = function () {
|
|
55
55
|
var countries = libphonenumberJs.getCountries();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mis-crystal-design-system-phone-input.umd.js","sources":["../../../projects/mis-components/phone-input/phone-input.component.ts","../../../projects/mis-components/phone-input/phone-input.module.ts","../../../projects/mis-components/phone-input/mis-crystal-design-system-phone-input.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { PhoneNumberUtil } from 'google-libphonenumber';\nimport { getCountries, getCountryCallingCode, CountryCode } from 'libphonenumber-js';\nimport { DropdownItem } from 'mis-crystal-design-system/dropdown';\n\ninterface CustomDropdownItem extends DropdownItem {\n countryCode: string;\n}\n\n@Component({\n selector: \"mis-phone-input\",\n templateUrl: \"./phone-input.component.html\",\n styleUrls: [\"./phone-input.component.scss\"]\n})\nexport class PhoneInputComponent implements OnInit {\n @Input() dropdownHeight?: string = '';\n @Input() dropdownWidth?: string = '';\n @Input() inputHeight?;\n @Input() dropdownData: CustomDropdownItem[] = [];\n @Input() dropdownSelectedItem: CustomDropdownItem = { value: '', label: '', countryCode: '' };\n @Input() label: string;\n @Input() inputPlaceholder: string = 'Enter';\n @Input() inputFormControl: FormControl = new FormControl();\n @Output() onDropdownSelection = new EventEmitter<string>();\n @Output() onInvalidPhoneNumber = new EventEmitter<string>();\n @Input() dropdownListWidth = '';\n @Input() dropdownListHeight = '';\n @Input() searchEnabled: boolean = true;\n @Input() inputType: string = 'number';\n @Input() searchLabel: string = 'Search Keyword';\n @Input() defaultCountry: string = 'IN';\n @Input() phoneValidator? = true;\n\n countryCodes: CustomDropdownItem[] = [{ label: '', value: '', countryCode: '' }];\n selectedCountryName: string = '';\n validationMessage: string = '';\n private phoneUtil: PhoneNumberUtil;\n private inputTouched: boolean = false;\n\n constructor() {\n this.phoneUtil = PhoneNumberUtil.getInstance();\n }\n\n ngOnInit() {\n if (this.phoneValidator) {\n this.loadCountryCodes();\n this.dropdownData = this.countryCodes;\n const countryCodeToSelect = this.defaultCountry;\n const def = this.countryCodes.find(item => item.countryCode === countryCodeToSelect);\n if (def) {\n this.dropdownSelectedItem = def;\n this.selectedCountryName = def.label;\n }\n this.validatePhoneNumber(this.inputFormControl.value, this.dropdownSelectedItem.countryCode);\n }\n\n this.inputFormControl.valueChanges.subscribe((value) => {\n this.validatePhoneNumber(value, this.dropdownSelectedItem.countryCode);\n });\n }\n\n handleDropdownSelection(item: CustomDropdownItem) {\n this.dropdownSelectedItem = item;\n this.onDropdownSelection.emit(item.countryCode);\n this.selectedCountryName = item.label;\n this.validatePhoneNumber(this.inputFormControl.value, this.dropdownSelectedItem.countryCode);\n this.inputFormControl.patchValue({ countryCode: item.
|
|
1
|
+
{"version":3,"file":"mis-crystal-design-system-phone-input.umd.js","sources":["../../../projects/mis-components/phone-input/phone-input.component.ts","../../../projects/mis-components/phone-input/phone-input.module.ts","../../../projects/mis-components/phone-input/mis-crystal-design-system-phone-input.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { PhoneNumberUtil } from 'google-libphonenumber';\nimport { getCountries, getCountryCallingCode, CountryCode } from 'libphonenumber-js';\nimport { DropdownItem } from 'mis-crystal-design-system/dropdown';\n\ninterface CustomDropdownItem extends DropdownItem {\n countryCode: string;\n}\n\n@Component({\n selector: \"mis-phone-input\",\n templateUrl: \"./phone-input.component.html\",\n styleUrls: [\"./phone-input.component.scss\"]\n})\nexport class PhoneInputComponent implements OnInit {\n @Input() dropdownHeight?: string = '';\n @Input() dropdownWidth?: string = '';\n @Input() inputHeight?;\n @Input() dropdownData: CustomDropdownItem[] = [];\n @Input() dropdownSelectedItem: CustomDropdownItem = { value: '', label: '', countryCode: '' };\n @Input() label: string;\n @Input() inputPlaceholder: string = 'Enter';\n @Input() inputFormControl: FormControl = new FormControl();\n @Output() onDropdownSelection = new EventEmitter<string>();\n @Output() onInvalidPhoneNumber = new EventEmitter<string>();\n @Input() dropdownListWidth = '';\n @Input() dropdownListHeight = '';\n @Input() searchEnabled: boolean = true;\n @Input() inputType: string = 'number';\n @Input() searchLabel: string = 'Search Keyword';\n @Input() defaultCountry: string = 'IN';\n @Input() phoneValidator? = true;\n\n countryCodes: CustomDropdownItem[] = [{ label: '', value: '', countryCode: '' }];\n selectedCountryName: string = '';\n validationMessage: string = '';\n private phoneUtil: PhoneNumberUtil;\n private inputTouched: boolean = false;\n\n constructor() {\n this.phoneUtil = PhoneNumberUtil.getInstance();\n }\n\n ngOnInit() {\n if (this.phoneValidator) {\n this.loadCountryCodes();\n this.dropdownData = this.countryCodes;\n const countryCodeToSelect = this.defaultCountry;\n const def = this.countryCodes.find(item => item.countryCode === countryCodeToSelect);\n if (def) {\n this.dropdownSelectedItem = def;\n this.selectedCountryName = def.label;\n }\n this.validatePhoneNumber(this.inputFormControl.value, this.dropdownSelectedItem.countryCode);\n }\n\n this.inputFormControl.valueChanges.subscribe((value) => {\n this.validatePhoneNumber(value, this.dropdownSelectedItem.countryCode);\n });\n }\n\n handleDropdownSelection(item: CustomDropdownItem) {\n this.dropdownSelectedItem = item;\n this.onDropdownSelection.emit(item.countryCode);\n this.selectedCountryName = item.label;\n this.validatePhoneNumber(this.inputFormControl.value, this.dropdownSelectedItem.countryCode);\n this.inputFormControl.patchValue({ countryCode: item.value }, { emitEvent: false });\n }\n\n loadCountryCodes() {\n const countries = getCountries();\n this.countryCodes = countries.map((countryCode) => ({\n value: getCountryCallingCode(countryCode).toString(),\n label: `${countryCode} (+${getCountryCallingCode(countryCode)})`,\n countryCode: countryCode,\n }));\n }\n\n public validatePhoneNumber(value: any, countryCode: string) {\n const phoneNumber = value?.phoneNumber || value;\n if (phoneNumber && countryCode) {\n try {\n const number = this.phoneUtil.parseAndKeepRawInput(phoneNumber, countryCode);\n const isValid = this.phoneUtil.isValidNumberForRegion(number, countryCode);\n if (isValid) {\n this.validationMessage = null;\n this.onInvalidPhoneNumber.emit('');\n } else {\n this.validationMessage = `Phone number invalid for country code: +${this.dropdownSelectedItem.value}(${this.dropdownSelectedItem.countryCode})`;\n this.onInvalidPhoneNumber.emit(this.validationMessage);\n }\n } catch (error) {\n this.validationMessage = 'Invalid input';\n this.onInvalidPhoneNumber.emit(this.validationMessage);\n }\n }\n }\n\n onBlur() {\n this.inputTouched = true;\n this.validatePhoneNumber(this.inputFormControl.value, this.dropdownSelectedItem.countryCode);\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { PhoneInputComponent } from \"./phone-input.component\";\nimport { OverlayModule } from \"@angular/cdk/overlay\";\nimport { ScrollingModule } from \"@angular/cdk-experimental/scrolling\";\nimport { DropdownModule } from \"mis-crystal-design-system/dropdown\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\n\n\n@NgModule({\n declarations: [PhoneInputComponent],\n imports: [CommonModule,ReactiveFormsModule, FormsModule, OverlayModule, ScrollingModule, DropdownModule],\n exports: [PhoneInputComponent]\n})\nexport class PhoneInputModule {\n static forRoot(): ModuleWithProviders<PhoneInputModule> {\n return { ngModule: PhoneInputModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["FormControl","EventEmitter","PhoneNumberUtil","getCountries","getCountryCallingCode","Component","Input","Output","NgModule","CommonModule","ReactiveFormsModule","FormsModule","OverlayModule","ScrollingModule","DropdownModule"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/forms"),require("google-libphonenumber"),require("libphonenumber-js"),require("@angular/common"),require("@angular/cdk/overlay"),require("@angular/cdk-experimental/scrolling"),require("mis-crystal-design-system/dropdown")):"function"==typeof define&&define.amd?define("mis-crystal-design-system/phone-input",["exports","@angular/core","@angular/forms","google-libphonenumber","libphonenumber-js","@angular/common","@angular/cdk/overlay","@angular/cdk-experimental/scrolling","mis-crystal-design-system/dropdown"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self)["mis-crystal-design-system"]=e["mis-crystal-design-system"]||{},e["mis-crystal-design-system"]["phone-input"]={}),e.ng.core,e.ng.forms,e.googleLibphonenumber,e.libphonenumberJs,e.ng.common,e.ng.cdk.overlay,e.ng.cdkExperimental.scrolling,e["mis-crystal-design-system"].dropdown)}(this,(function(e,t,n,o,i,r,d,l,a){"use strict";var s=function(){function e(){this.dropdownHeight="",this.dropdownWidth="",this.dropdownData=[],this.dropdownSelectedItem={value:"",label:"",countryCode:""},this.inputPlaceholder="Enter",this.inputFormControl=new n.FormControl,this.onDropdownSelection=new t.EventEmitter,this.onInvalidPhoneNumber=new t.EventEmitter,this.dropdownListWidth="",this.dropdownListHeight="",this.searchEnabled=!0,this.inputType="number",this.searchLabel="Search Keyword",this.defaultCountry="IN",this.phoneValidator=!0,this.countryCodes=[{label:"",value:"",countryCode:""}],this.selectedCountryName="",this.validationMessage="",this.inputTouched=!1,this.phoneUtil=o.PhoneNumberUtil.getInstance()}return e.prototype.ngOnInit=function(){var e=this;if(this.phoneValidator){this.loadCountryCodes(),this.dropdownData=this.countryCodes;var t=this.defaultCountry,n=this.countryCodes.find((function(e){return e.countryCode===t}));n&&(this.dropdownSelectedItem=n,this.selectedCountryName=n.label),this.validatePhoneNumber(this.inputFormControl.value,this.dropdownSelectedItem.countryCode)}this.inputFormControl.valueChanges.subscribe((function(t){e.validatePhoneNumber(t,e.dropdownSelectedItem.countryCode)}))},e.prototype.handleDropdownSelection=function(e){this.dropdownSelectedItem=e,this.onDropdownSelection.emit(e.countryCode),this.selectedCountryName=e.label,this.validatePhoneNumber(this.inputFormControl.value,this.dropdownSelectedItem.countryCode),this.inputFormControl.patchValue({countryCode:e.
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/forms"),require("google-libphonenumber"),require("libphonenumber-js"),require("@angular/common"),require("@angular/cdk/overlay"),require("@angular/cdk-experimental/scrolling"),require("mis-crystal-design-system/dropdown")):"function"==typeof define&&define.amd?define("mis-crystal-design-system/phone-input",["exports","@angular/core","@angular/forms","google-libphonenumber","libphonenumber-js","@angular/common","@angular/cdk/overlay","@angular/cdk-experimental/scrolling","mis-crystal-design-system/dropdown"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self)["mis-crystal-design-system"]=e["mis-crystal-design-system"]||{},e["mis-crystal-design-system"]["phone-input"]={}),e.ng.core,e.ng.forms,e.googleLibphonenumber,e.libphonenumberJs,e.ng.common,e.ng.cdk.overlay,e.ng.cdkExperimental.scrolling,e["mis-crystal-design-system"].dropdown)}(this,(function(e,t,n,o,i,r,d,l,a){"use strict";var s=function(){function e(){this.dropdownHeight="",this.dropdownWidth="",this.dropdownData=[],this.dropdownSelectedItem={value:"",label:"",countryCode:""},this.inputPlaceholder="Enter",this.inputFormControl=new n.FormControl,this.onDropdownSelection=new t.EventEmitter,this.onInvalidPhoneNumber=new t.EventEmitter,this.dropdownListWidth="",this.dropdownListHeight="",this.searchEnabled=!0,this.inputType="number",this.searchLabel="Search Keyword",this.defaultCountry="IN",this.phoneValidator=!0,this.countryCodes=[{label:"",value:"",countryCode:""}],this.selectedCountryName="",this.validationMessage="",this.inputTouched=!1,this.phoneUtil=o.PhoneNumberUtil.getInstance()}return e.prototype.ngOnInit=function(){var e=this;if(this.phoneValidator){this.loadCountryCodes(),this.dropdownData=this.countryCodes;var t=this.defaultCountry,n=this.countryCodes.find((function(e){return e.countryCode===t}));n&&(this.dropdownSelectedItem=n,this.selectedCountryName=n.label),this.validatePhoneNumber(this.inputFormControl.value,this.dropdownSelectedItem.countryCode)}this.inputFormControl.valueChanges.subscribe((function(t){e.validatePhoneNumber(t,e.dropdownSelectedItem.countryCode)}))},e.prototype.handleDropdownSelection=function(e){this.dropdownSelectedItem=e,this.onDropdownSelection.emit(e.countryCode),this.selectedCountryName=e.label,this.validatePhoneNumber(this.inputFormControl.value,this.dropdownSelectedItem.countryCode),this.inputFormControl.patchValue({countryCode:e.value},{emitEvent:!1})},e.prototype.loadCountryCodes=function(){var e=i.getCountries();this.countryCodes=e.map((function(e){return{value:i.getCountryCallingCode(e).toString(),label:e+" (+"+i.getCountryCallingCode(e)+")",countryCode:e}}))},e.prototype.validatePhoneNumber=function(e,t){var n=(null==e?void 0:e.phoneNumber)||e;if(n&&t)try{var o=this.phoneUtil.parseAndKeepRawInput(n,t);this.phoneUtil.isValidNumberForRegion(o,t)?(this.validationMessage=null,this.onInvalidPhoneNumber.emit("")):(this.validationMessage="Phone number invalid for country code: +"+this.dropdownSelectedItem.value+"("+this.dropdownSelectedItem.countryCode+")",this.onInvalidPhoneNumber.emit(this.validationMessage))}catch(e){this.validationMessage="Invalid input",this.onInvalidPhoneNumber.emit(this.validationMessage)}},e.prototype.onBlur=function(){this.inputTouched=!0,this.validatePhoneNumber(this.inputFormControl.value,this.dropdownSelectedItem.countryCode)},e}();s.decorators=[{type:t.Component,args:[{selector:"mis-phone-input",template:'<div class="main-container-phone">\n <mis-dropdown \n [height]="dropdownHeight" \n [dropdownListWidth]="dropdownListWidth"\n [dropdownListHeight]="dropdownListHeight" \n [width]="dropdownWidth" \n [data]="dropdownData"\n [selectedItem]="dropdownSelectedItem" \n [label]="label" \n [searchEnabled]="searchEnabled" \n [multiLine]="false"\n (onChange)="handleDropdownSelection($event)" \n [searchLabel]="searchLabel">\n </mis-dropdown>\n <div class="details-field">\n <div class="input-box">\n <input\n [ngStyle]="{\'height\': inputHeight }"\n class="black-text" \n [placeholder]="inputPlaceholder"\n [formControl]="inputFormControl" \n [type]="inputType"\n (blur)="onBlur()"\n />\n </div>\n </div>\n</div>\n',styles:[".main-container-phone{display:flex;border:1px solid #e0e0e0;border-radius:6px}.details-field label{display:inline-block;min-width:224px;margin-right:24px}.details-field .input-box{width:100%}.details-field .input-box input{width:100%;height:32px}input{padding:10px 16px;border:none;outline:none;width:100%;height:auto;border-radius:6px}.black-text,input{color:#181f33;line-height:24px;font-size:16px}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.main-container-phone ::ng-deep .item{padding:8px!important}.main-container-phone ::ng-deep .dropdown{border:unset!important}"]}]}],s.ctorParameters=function(){return[]},s.propDecorators={dropdownHeight:[{type:t.Input}],dropdownWidth:[{type:t.Input}],inputHeight:[{type:t.Input}],dropdownData:[{type:t.Input}],dropdownSelectedItem:[{type:t.Input}],label:[{type:t.Input}],inputPlaceholder:[{type:t.Input}],inputFormControl:[{type:t.Input}],onDropdownSelection:[{type:t.Output}],onInvalidPhoneNumber:[{type:t.Output}],dropdownListWidth:[{type:t.Input}],dropdownListHeight:[{type:t.Input}],searchEnabled:[{type:t.Input}],inputType:[{type:t.Input}],searchLabel:[{type:t.Input}],defaultCountry:[{type:t.Input}],phoneValidator:[{type:t.Input}]};var p=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[]}},e}();p.decorators=[{type:t.NgModule,args:[{declarations:[s],imports:[r.CommonModule,n.ReactiveFormsModule,n.FormsModule,d.OverlayModule,l.ScrollingModule,a.DropdownModule],exports:[s]}]}],e.PhoneInputComponent=s,e.PhoneInputModule=p,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
2
|
//# sourceMappingURL=mis-crystal-design-system-phone-input.umd.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../projects/mis-components/phone-input/phone-input.component.ts","../../../projects/mis-components/phone-input/phone-input.module.ts"],"names":["PhoneInputComponent","this","dropdownHeight","dropdownWidth","dropdownData","dropdownSelectedItem","value","label","countryCode","inputPlaceholder","inputFormControl","FormControl","onDropdownSelection","EventEmitter","onInvalidPhoneNumber","dropdownListWidth","dropdownListHeight","searchEnabled","inputType","searchLabel","defaultCountry","phoneValidator","countryCodes","selectedCountryName","validationMessage","inputTouched","phoneUtil","PhoneNumberUtil","getInstance","prototype","ngOnInit","_this","loadCountryCodes","countryCodeToSelect_1","def","find","item","validatePhoneNumber","valueChanges","subscribe","handleDropdownSelection","emit","patchValue","emitEvent","countries","getCountries","map","getCountryCallingCode","toString","phoneNumber","number","parseAndKeepRawInput","isValidNumberForRegion","error","onBlur","Component","args","selector","template","Input","Output","PhoneInputModule","forRoot","ngModule","providers","NgModule","declarations","imports","CommonModule","ReactiveFormsModule","FormsModule","OverlayModule","ScrollingModule","DropdownModule","exports"],"mappings":"6gCAwCE,SAAAA,IAxBSC,KAAAC,eAA0B,GAC1BD,KAAAE,cAAyB,GAEzBF,KAAAG,aAAqC,GACrCH,KAAAI,qBAA2C,CAAEC,MAAO,GAAIC,MAAO,GAAIC,YAAa,IAEhFP,KAAAQ,iBAA2B,QAC3BR,KAAAS,iBAAgC,IAAIC,EAAAA,YACnCV,KAAAW,oBAAsB,IAAIC,EAAAA,aAC1BZ,KAAAa,qBAAuB,IAAID,EAAAA,aAC5BZ,KAAAc,kBAAoB,GACpBd,KAAAe,mBAAqB,GACrBf,KAAAgB,eAAyB,EACzBhB,KAAAiB,UAAoB,SACpBjB,KAAAkB,YAAsB,iBACtBlB,KAAAmB,eAAyB,KACzBnB,KAAAoB,gBAAkB,EAE3BpB,KAAAqB,aAAqC,CAAC,CAAEf,MAAO,GAAID,MAAO,GAAIE,YAAa,KAC3EP,KAAAsB,oBAA8B,GAC9BtB,KAAAuB,kBAA4B,GAEpBvB,KAAAwB,cAAwB,EAG9BxB,KAAKyB,UAAYC,EAAAA,gBAAgBC,qBAGnC5B,EAAA6B,UAAAC,SAAA,WAAA,IAAAC,EAAA9B,KACE,GAAIA,KAAKoB,eAAgB,CACvBpB,KAAK+B,mBACL/B,KAAKG,aAAeH,KAAKqB,aACzB,IAAMW,EAAsBhC,KAAKmB,eAC3Bc,EAAMjC,KAAKqB,aAAaa,MAAK,SAAAC,GAAQ,OAAAA,EAAK5B,cAAgByB,KAC5DC,IACFjC,KAAKI,qBAAuB6B,EAC5BjC,KAAKsB,oBAAsBW,EAAI3B,OAEjCN,KAAKoC,oBAAoBpC,KAAKS,iBAAiBJ,MAAOL,KAAKI,qBAAqBG,aAGlFP,KAAKS,iBAAiB4B,aAAaC,WAAU,SAACjC,GAC5CyB,EAAKM,oBAAoB/B,EAAOyB,EAAK1B,qBAAqBG,iBAI9DR,EAAA6B,UAAAW,wBAAA,SAAwBJ,GACtBnC,KAAKI,qBAAuB+B,EAC5BnC,KAAKW,oBAAoB6B,KAAKL,EAAK5B,aACnCP,KAAKsB,oBAAsBa,EAAK7B,MAChCN,KAAKoC,oBAAoBpC,KAAKS,iBAAiBJ,MAAOL,KAAKI,qBAAqBG,aAChFP,KAAKS,iBAAiBgC,WAAW,CAAElC,YAAa4B,
|
|
1
|
+
{"version":3,"sources":["../../../projects/mis-components/phone-input/phone-input.component.ts","../../../projects/mis-components/phone-input/phone-input.module.ts"],"names":["PhoneInputComponent","this","dropdownHeight","dropdownWidth","dropdownData","dropdownSelectedItem","value","label","countryCode","inputPlaceholder","inputFormControl","FormControl","onDropdownSelection","EventEmitter","onInvalidPhoneNumber","dropdownListWidth","dropdownListHeight","searchEnabled","inputType","searchLabel","defaultCountry","phoneValidator","countryCodes","selectedCountryName","validationMessage","inputTouched","phoneUtil","PhoneNumberUtil","getInstance","prototype","ngOnInit","_this","loadCountryCodes","countryCodeToSelect_1","def","find","item","validatePhoneNumber","valueChanges","subscribe","handleDropdownSelection","emit","patchValue","emitEvent","countries","getCountries","map","getCountryCallingCode","toString","phoneNumber","number","parseAndKeepRawInput","isValidNumberForRegion","error","onBlur","Component","args","selector","template","Input","Output","PhoneInputModule","forRoot","ngModule","providers","NgModule","declarations","imports","CommonModule","ReactiveFormsModule","FormsModule","OverlayModule","ScrollingModule","DropdownModule","exports"],"mappings":"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","sourcesContent":["import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { PhoneNumberUtil } from 'google-libphonenumber';\nimport { getCountries, getCountryCallingCode, CountryCode } from 'libphonenumber-js';\nimport { DropdownItem } from 'mis-crystal-design-system/dropdown';\n\ninterface CustomDropdownItem extends DropdownItem {\n countryCode: string;\n}\n\n@Component({\n selector: \"mis-phone-input\",\n templateUrl: \"./phone-input.component.html\",\n styleUrls: [\"./phone-input.component.scss\"]\n})\nexport class PhoneInputComponent implements OnInit {\n @Input() dropdownHeight?: string = '';\n @Input() dropdownWidth?: string = '';\n @Input() inputHeight?;\n @Input() dropdownData: CustomDropdownItem[] = [];\n @Input() dropdownSelectedItem: CustomDropdownItem = { value: '', label: '', countryCode: '' };\n @Input() label: string;\n @Input() inputPlaceholder: string = 'Enter';\n @Input() inputFormControl: FormControl = new FormControl();\n @Output() onDropdownSelection = new EventEmitter<string>();\n @Output() onInvalidPhoneNumber = new EventEmitter<string>();\n @Input() dropdownListWidth = '';\n @Input() dropdownListHeight = '';\n @Input() searchEnabled: boolean = true;\n @Input() inputType: string = 'number';\n @Input() searchLabel: string = 'Search Keyword';\n @Input() defaultCountry: string = 'IN';\n @Input() phoneValidator? = true;\n\n countryCodes: CustomDropdownItem[] = [{ label: '', value: '', countryCode: '' }];\n selectedCountryName: string = '';\n validationMessage: string = '';\n private phoneUtil: PhoneNumberUtil;\n private inputTouched: boolean = false;\n\n constructor() {\n this.phoneUtil = PhoneNumberUtil.getInstance();\n }\n\n ngOnInit() {\n if (this.phoneValidator) {\n this.loadCountryCodes();\n this.dropdownData = this.countryCodes;\n const countryCodeToSelect = this.defaultCountry;\n const def = this.countryCodes.find(item => item.countryCode === countryCodeToSelect);\n if (def) {\n this.dropdownSelectedItem = def;\n this.selectedCountryName = def.label;\n }\n this.validatePhoneNumber(this.inputFormControl.value, this.dropdownSelectedItem.countryCode);\n }\n\n this.inputFormControl.valueChanges.subscribe((value) => {\n this.validatePhoneNumber(value, this.dropdownSelectedItem.countryCode);\n });\n }\n\n handleDropdownSelection(item: CustomDropdownItem) {\n this.dropdownSelectedItem = item;\n this.onDropdownSelection.emit(item.countryCode);\n this.selectedCountryName = item.label;\n this.validatePhoneNumber(this.inputFormControl.value, this.dropdownSelectedItem.countryCode);\n this.inputFormControl.patchValue({ countryCode: item.value }, { emitEvent: false });\n }\n\n loadCountryCodes() {\n const countries = getCountries();\n this.countryCodes = countries.map((countryCode) => ({\n value: getCountryCallingCode(countryCode).toString(),\n label: `${countryCode} (+${getCountryCallingCode(countryCode)})`,\n countryCode: countryCode,\n }));\n }\n\n public validatePhoneNumber(value: any, countryCode: string) {\n const phoneNumber = value?.phoneNumber || value;\n if (phoneNumber && countryCode) {\n try {\n const number = this.phoneUtil.parseAndKeepRawInput(phoneNumber, countryCode);\n const isValid = this.phoneUtil.isValidNumberForRegion(number, countryCode);\n if (isValid) {\n this.validationMessage = null;\n this.onInvalidPhoneNumber.emit('');\n } else {\n this.validationMessage = `Phone number invalid for country code: +${this.dropdownSelectedItem.value}(${this.dropdownSelectedItem.countryCode})`;\n this.onInvalidPhoneNumber.emit(this.validationMessage);\n }\n } catch (error) {\n this.validationMessage = 'Invalid input';\n this.onInvalidPhoneNumber.emit(this.validationMessage);\n }\n }\n }\n\n onBlur() {\n this.inputTouched = true;\n this.validatePhoneNumber(this.inputFormControl.value, this.dropdownSelectedItem.countryCode);\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { PhoneInputComponent } from \"./phone-input.component\";\nimport { OverlayModule } from \"@angular/cdk/overlay\";\nimport { ScrollingModule } from \"@angular/cdk-experimental/scrolling\";\nimport { DropdownModule } from \"mis-crystal-design-system/dropdown\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\n\n\n@NgModule({\n declarations: [PhoneInputComponent],\n imports: [CommonModule,ReactiveFormsModule, FormsModule, OverlayModule, ScrollingModule, DropdownModule],\n exports: [PhoneInputComponent]\n})\nexport class PhoneInputModule {\n static forRoot(): ModuleWithProviders<PhoneInputModule> {\n return { ngModule: PhoneInputModule, providers: [] };\n }\n}\n"]}
|
|
@@ -46,7 +46,7 @@ export class PhoneInputComponent {
|
|
|
46
46
|
this.onDropdownSelection.emit(item.countryCode);
|
|
47
47
|
this.selectedCountryName = item.label;
|
|
48
48
|
this.validatePhoneNumber(this.inputFormControl.value, this.dropdownSelectedItem.countryCode);
|
|
49
|
-
this.inputFormControl.patchValue({ countryCode: item.
|
|
49
|
+
this.inputFormControl.patchValue({ countryCode: item.value }, { emitEvent: false });
|
|
50
50
|
}
|
|
51
51
|
loadCountryCodes() {
|
|
52
52
|
const countries = getCountries();
|
|
@@ -109,4 +109,4 @@ PhoneInputComponent.propDecorators = {
|
|
|
109
109
|
defaultCountry: [{ type: Input }],
|
|
110
110
|
phoneValidator: [{ type: Input }]
|
|
111
111
|
};
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvcGhvbmUtaW5wdXQvcGhvbmUtaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLHFCQUFxQixFQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFZckYsTUFBTSxPQUFPLG1CQUFtQjtJQXlCOUI7UUF4QlMsbUJBQWMsR0FBWSxFQUFFLENBQUM7UUFDN0Isa0JBQWEsR0FBWSxFQUFFLENBQUM7UUFFNUIsaUJBQVksR0FBeUIsRUFBRSxDQUFDO1FBQ3hDLHlCQUFvQixHQUF1QixFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFFckYscUJBQWdCLEdBQVcsT0FBTyxDQUFDO1FBQ25DLHFCQUFnQixHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2pELHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDakQseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNuRCxzQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFDdkIsdUJBQWtCLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLGtCQUFhLEdBQVksSUFBSSxDQUFDO1FBQzlCLGNBQVMsR0FBVyxRQUFRLENBQUM7UUFDN0IsZ0JBQVcsR0FBVyxnQkFBZ0IsQ0FBQztRQUN2QyxtQkFBYyxHQUFXLElBQUksQ0FBQztRQUM5QixtQkFBYyxHQUFJLElBQUksQ0FBQztRQUVoQyxpQkFBWSxHQUF5QixDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pGLHdCQUFtQixHQUFXLEVBQUUsQ0FBQztRQUNqQyxzQkFBaUIsR0FBVyxFQUFFLENBQUM7UUFFdkIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFHcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQ3RDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUNoRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEtBQUssbUJBQW1CLENBQUMsQ0FBQztZQUNyRixJQUFJLEdBQUcsRUFBRTtnQkFDUCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsR0FBRyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQzthQUN0QztZQUNELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUM5RjtRQUVELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDckQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsdUJBQXVCLENBQUMsSUFBd0I7UUFDOUMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztRQUNqQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsTUFBTSxTQUFTLEdBQUcsWUFBWSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2xELEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLEVBQUU7WUFDcEQsS0FBSyxFQUFFLEdBQUcsV0FBVyxNQUFNLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxHQUFHO1lBQ2hFLFdBQVcsRUFBRSxXQUFXO1NBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVNLG1CQUFtQixDQUFDLEtBQVUsRUFBRSxXQUFtQjtRQUN4RCxNQUFNLFdBQVcsR0FBRyxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxXQUFXLEtBQUksS0FBSyxDQUFDO1FBQ2hELElBQUksV0FBVyxJQUFJLFdBQVcsRUFBRTtZQUM5QixJQUFJO2dCQUNGLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2dCQUM3RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztnQkFDM0UsSUFBSSxPQUFPLEVBQUU7b0JBQ1gsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztvQkFDOUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDcEM7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLGlCQUFpQixHQUFHLDJDQUEyQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEdBQUcsQ0FBQztvQkFDaEosSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztpQkFDeEQ7YUFDRjtZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNkLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxlQUFlLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7YUFDeEQ7U0FDRjtJQUNILENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9GLENBQUM7OztZQTVGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsbTFCQUEyQzs7YUFFNUM7Ozs7NkJBRUUsS0FBSzs0QkFDTCxLQUFLOzBCQUNMLEtBQUs7MkJBQ0wsS0FBSzttQ0FDTCxLQUFLO29CQUNMLEtBQUs7K0JBQ0wsS0FBSzsrQkFDTCxLQUFLO2tDQUNMLE1BQU07bUNBQ04sTUFBTTtnQ0FDTixLQUFLO2lDQUNMLEtBQUs7NEJBQ0wsS0FBSzt3QkFDTCxLQUFLOzBCQUNMLEtBQUs7NkJBQ0wsS0FBSzs2QkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQaG9uZU51bWJlclV0aWwgfSBmcm9tICdnb29nbGUtbGlicGhvbmVudW1iZXInO1xuaW1wb3J0IHsgZ2V0Q291bnRyaWVzLCBnZXRDb3VudHJ5Q2FsbGluZ0NvZGUsIENvdW50cnlDb2RlIH0gZnJvbSAnbGlicGhvbmVudW1iZXItanMnO1xuaW1wb3J0IHsgRHJvcGRvd25JdGVtIH0gZnJvbSAnbWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS9kcm9wZG93bic7XG5cbmludGVyZmFjZSBDdXN0b21Ecm9wZG93bkl0ZW0gZXh0ZW5kcyBEcm9wZG93bkl0ZW0ge1xuICBjb3VudHJ5Q29kZTogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWlzLXBob25lLWlucHV0XCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vcGhvbmUtaW5wdXQuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3Bob25lLWlucHV0LmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIFBob25lSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBkcm9wZG93bkhlaWdodD86IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBkcm9wZG93bldpZHRoPzogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGlucHV0SGVpZ2h0PztcbiAgQElucHV0KCkgZHJvcGRvd25EYXRhOiBDdXN0b21Ecm9wZG93bkl0ZW1bXSA9IFtdO1xuICBASW5wdXQoKSBkcm9wZG93blNlbGVjdGVkSXRlbTogQ3VzdG9tRHJvcGRvd25JdGVtID0geyB2YWx1ZTogJycsIGxhYmVsOiAnJywgY291bnRyeUNvZGU6ICcnIH07XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlucHV0UGxhY2Vob2xkZXI6IHN0cmluZyA9ICdFbnRlcic7XG4gIEBJbnB1dCgpIGlucHV0Rm9ybUNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG4gIEBPdXRwdXQoKSBvbkRyb3Bkb3duU2VsZWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBvbkludmFsaWRQaG9uZU51bWJlciA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBASW5wdXQoKSBkcm9wZG93bkxpc3RXaWR0aCA9ICcnO1xuICBASW5wdXQoKSBkcm9wZG93bkxpc3RIZWlnaHQgPSAnJztcbiAgQElucHV0KCkgc2VhcmNoRW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGlucHV0VHlwZTogc3RyaW5nID0gJ251bWJlcic7XG4gIEBJbnB1dCgpIHNlYXJjaExhYmVsOiBzdHJpbmcgPSAnU2VhcmNoIEtleXdvcmQnO1xuICBASW5wdXQoKSBkZWZhdWx0Q291bnRyeTogc3RyaW5nID0gJ0lOJztcbiAgQElucHV0KCkgcGhvbmVWYWxpZGF0b3I/ID0gdHJ1ZTtcblxuICBjb3VudHJ5Q29kZXM6IEN1c3RvbURyb3Bkb3duSXRlbVtdID0gW3sgbGFiZWw6ICcnLCB2YWx1ZTogJycsIGNvdW50cnlDb2RlOiAnJyB9XTtcbiAgc2VsZWN0ZWRDb3VudHJ5TmFtZTogc3RyaW5nID0gJyc7XG4gIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcgPSAnJztcbiAgcHJpdmF0ZSBwaG9uZVV0aWw6IFBob25lTnVtYmVyVXRpbDtcbiAgcHJpdmF0ZSBpbnB1dFRvdWNoZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnBob25lVXRpbCA9IFBob25lTnVtYmVyVXRpbC5nZXRJbnN0YW5jZSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMucGhvbmVWYWxpZGF0b3IpIHtcbiAgICAgIHRoaXMubG9hZENvdW50cnlDb2RlcygpO1xuICAgICAgdGhpcy5kcm9wZG93bkRhdGEgPSB0aGlzLmNvdW50cnlDb2RlcztcbiAgICAgIGNvbnN0IGNvdW50cnlDb2RlVG9TZWxlY3QgPSB0aGlzLmRlZmF1bHRDb3VudHJ5O1xuICAgICAgY29uc3QgZGVmID0gdGhpcy5jb3VudHJ5Q29kZXMuZmluZChpdGVtID0+IGl0ZW0uY291bnRyeUNvZGUgPT09IGNvdW50cnlDb2RlVG9TZWxlY3QpO1xuICAgICAgaWYgKGRlZikge1xuICAgICAgICB0aGlzLmRyb3Bkb3duU2VsZWN0ZWRJdGVtID0gZGVmO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeU5hbWUgPSBkZWYubGFiZWw7XG4gICAgICB9XG4gICAgICB0aGlzLnZhbGlkYXRlUGhvbmVOdW1iZXIodGhpcy5pbnB1dEZvcm1Db250cm9sLnZhbHVlLCB0aGlzLmRyb3Bkb3duU2VsZWN0ZWRJdGVtLmNvdW50cnlDb2RlKTtcbiAgICB9XG5cbiAgICB0aGlzLmlucHV0Rm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgIHRoaXMudmFsaWRhdGVQaG9uZU51bWJlcih2YWx1ZSwgdGhpcy5kcm9wZG93blNlbGVjdGVkSXRlbS5jb3VudHJ5Q29kZSk7XG4gICAgfSk7XG4gIH1cblxuICBoYW5kbGVEcm9wZG93blNlbGVjdGlvbihpdGVtOiBDdXN0b21Ecm9wZG93bkl0ZW0pIHtcbiAgICB0aGlzLmRyb3Bkb3duU2VsZWN0ZWRJdGVtID0gaXRlbTtcbiAgICB0aGlzLm9uRHJvcGRvd25TZWxlY3Rpb24uZW1pdChpdGVtLmNvdW50cnlDb2RlKTtcbiAgICB0aGlzLnNlbGVjdGVkQ291bnRyeU5hbWUgPSBpdGVtLmxhYmVsO1xuICAgIHRoaXMudmFsaWRhdGVQaG9uZU51bWJlcih0aGlzLmlucHV0Rm9ybUNvbnRyb2wudmFsdWUsIHRoaXMuZHJvcGRvd25TZWxlY3RlZEl0ZW0uY291bnRyeUNvZGUpO1xuICAgIHRoaXMuaW5wdXRGb3JtQ29udHJvbC5wYXRjaFZhbHVlKHsgY291bnRyeUNvZGU6IGl0ZW0uY291bnRyeUNvZGUgfSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICB9XG5cbiAgbG9hZENvdW50cnlDb2RlcygpIHtcbiAgICBjb25zdCBjb3VudHJpZXMgPSBnZXRDb3VudHJpZXMoKTtcbiAgICB0aGlzLmNvdW50cnlDb2RlcyA9IGNvdW50cmllcy5tYXAoKGNvdW50cnlDb2RlKSA9PiAoe1xuICAgICAgdmFsdWU6IGdldENvdW50cnlDYWxsaW5nQ29kZShjb3VudHJ5Q29kZSkudG9TdHJpbmcoKSxcbiAgICAgIGxhYmVsOiBgJHtjb3VudHJ5Q29kZX0gKCske2dldENvdW50cnlDYWxsaW5nQ29kZShjb3VudHJ5Q29kZSl9KWAsXG4gICAgICBjb3VudHJ5Q29kZTogY291bnRyeUNvZGUsXG4gICAgfSkpO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlUGhvbmVOdW1iZXIodmFsdWU6IGFueSwgY291bnRyeUNvZGU6IHN0cmluZykge1xuICAgIGNvbnN0IHBob25lTnVtYmVyID0gdmFsdWU/LnBob25lTnVtYmVyIHx8IHZhbHVlO1xuICAgIGlmIChwaG9uZU51bWJlciAmJiBjb3VudHJ5Q29kZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgbnVtYmVyID0gdGhpcy5waG9uZVV0aWwucGFyc2VBbmRLZWVwUmF3SW5wdXQocGhvbmVOdW1iZXIsIGNvdW50cnlDb2RlKTtcbiAgICAgICAgY29uc3QgaXNWYWxpZCA9IHRoaXMucGhvbmVVdGlsLmlzVmFsaWROdW1iZXJGb3JSZWdpb24obnVtYmVyLCBjb3VudHJ5Q29kZSk7XG4gICAgICAgIGlmIChpc1ZhbGlkKSB7XG4gICAgICAgICAgdGhpcy52YWxpZGF0aW9uTWVzc2FnZSA9IG51bGw7XG4gICAgICAgICAgdGhpcy5vbkludmFsaWRQaG9uZU51bWJlci5lbWl0KCcnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnZhbGlkYXRpb25NZXNzYWdlID0gYFBob25lIG51bWJlciBpbnZhbGlkIGZvciBjb3VudHJ5IGNvZGU6ICske3RoaXMuZHJvcGRvd25TZWxlY3RlZEl0ZW0udmFsdWV9KCR7dGhpcy5kcm9wZG93blNlbGVjdGVkSXRlbS5jb3VudHJ5Q29kZX0pYDtcbiAgICAgICAgICB0aGlzLm9uSW52YWxpZFBob25lTnVtYmVyLmVtaXQodGhpcy52YWxpZGF0aW9uTWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRoaXMudmFsaWRhdGlvbk1lc3NhZ2UgPSAnSW52YWxpZCBpbnB1dCc7XG4gICAgICAgIHRoaXMub25JbnZhbGlkUGhvbmVOdW1iZXIuZW1pdCh0aGlzLnZhbGlkYXRpb25NZXNzYWdlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbkJsdXIoKSB7XG4gICAgdGhpcy5pbnB1dFRvdWNoZWQgPSB0cnVlO1xuICAgIHRoaXMudmFsaWRhdGVQaG9uZU51bWJlcih0aGlzLmlucHV0Rm9ybUNvbnRyb2wudmFsdWUsIHRoaXMuZHJvcGRvd25TZWxlY3RlZEl0ZW0uY291bnRyeUNvZGUpO1xuICB9XG59XG4iXX0=
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvcGhvbmUtaW5wdXQvcGhvbmUtaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLHFCQUFxQixFQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFZckYsTUFBTSxPQUFPLG1CQUFtQjtJQXlCOUI7UUF4QlMsbUJBQWMsR0FBWSxFQUFFLENBQUM7UUFDN0Isa0JBQWEsR0FBWSxFQUFFLENBQUM7UUFFNUIsaUJBQVksR0FBeUIsRUFBRSxDQUFDO1FBQ3hDLHlCQUFvQixHQUF1QixFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFFckYscUJBQWdCLEdBQVcsT0FBTyxDQUFDO1FBQ25DLHFCQUFnQixHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2pELHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDakQseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNuRCxzQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFDdkIsdUJBQWtCLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLGtCQUFhLEdBQVksSUFBSSxDQUFDO1FBQzlCLGNBQVMsR0FBVyxRQUFRLENBQUM7UUFDN0IsZ0JBQVcsR0FBVyxnQkFBZ0IsQ0FBQztRQUN2QyxtQkFBYyxHQUFXLElBQUksQ0FBQztRQUM5Qixt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QUFLO2lDQUNMLEtBQUs7NEJBQ0wsS0FBSzt3QkFDTCxLQUFLOzBCQUNMLEtBQUs7NkJBQ0wsS0FBSzs2QkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQaG9uZU51bWJlclV0aWwgfSBmcm9tICdnb29nbGUtbGlicGhvbmVudW1iZXInO1xuaW1wb3J0IHsgZ2V0Q291bnRyaWVzLCBnZXRDb3VudHJ5Q2FsbGluZ0NvZGUsIENvdW50cnlDb2RlIH0gZnJvbSAnbGlicGhvbmVudW1iZXItanMnO1xuaW1wb3J0IHsgRHJvcGRvd25JdGVtIH0gZnJvbSAnbWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS9kcm9wZG93bic7XG5cbmludGVyZmFjZSBDdXN0b21Ecm9wZG93bkl0ZW0gZXh0ZW5kcyBEcm9wZG93bkl0ZW0ge1xuICBjb3VudHJ5Q29kZTogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWlzLXBob25lLWlucHV0XCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vcGhvbmUtaW5wdXQuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3Bob25lLWlucHV0LmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIFBob25lSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBkcm9wZG93bkhlaWdodD86IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBkcm9wZG93bldpZHRoPzogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGlucHV0SGVpZ2h0PztcbiAgQElucHV0KCkgZHJvcGRvd25EYXRhOiBDdXN0b21Ecm9wZG93bkl0ZW1bXSA9IFtdO1xuICBASW5wdXQoKSBkcm9wZG93blNlbGVjdGVkSXRlbTogQ3VzdG9tRHJvcGRvd25JdGVtID0geyB2YWx1ZTogJycsIGxhYmVsOiAnJywgY291bnRyeUNvZGU6ICcnIH07XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlucHV0UGxhY2Vob2xkZXI6IHN0cmluZyA9ICdFbnRlcic7XG4gIEBJbnB1dCgpIGlucHV0Rm9ybUNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG4gIEBPdXRwdXQoKSBvbkRyb3Bkb3duU2VsZWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBvbkludmFsaWRQaG9uZU51bWJlciA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBASW5wdXQoKSBkcm9wZG93bkxpc3RXaWR0aCA9ICcnO1xuICBASW5wdXQoKSBkcm9wZG93bkxpc3RIZWlnaHQgPSAnJztcbiAgQElucHV0KCkgc2VhcmNoRW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGlucHV0VHlwZTogc3RyaW5nID0gJ251bWJlcic7XG4gIEBJbnB1dCgpIHNlYXJjaExhYmVsOiBzdHJpbmcgPSAnU2VhcmNoIEtleXdvcmQnO1xuICBASW5wdXQoKSBkZWZhdWx0Q291bnRyeTogc3RyaW5nID0gJ0lOJztcbiAgQElucHV0KCkgcGhvbmVWYWxpZGF0b3I/ID0gdHJ1ZTtcblxuICBjb3VudHJ5Q29kZXM6IEN1c3RvbURyb3Bkb3duSXRlbVtdID0gW3sgbGFiZWw6ICcnLCB2YWx1ZTogJycsIGNvdW50cnlDb2RlOiAnJyB9XTtcbiAgc2VsZWN0ZWRDb3VudHJ5TmFtZTogc3RyaW5nID0gJyc7XG4gIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcgPSAnJztcbiAgcHJpdmF0ZSBwaG9uZVV0aWw6IFBob25lTnVtYmVyVXRpbDtcbiAgcHJpdmF0ZSBpbnB1dFRvdWNoZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnBob25lVXRpbCA9IFBob25lTnVtYmVyVXRpbC5nZXRJbnN0YW5jZSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMucGhvbmVWYWxpZGF0b3IpIHtcbiAgICAgIHRoaXMubG9hZENvdW50cnlDb2RlcygpO1xuICAgICAgdGhpcy5kcm9wZG93bkRhdGEgPSB0aGlzLmNvdW50cnlDb2RlcztcbiAgICAgIGNvbnN0IGNvdW50cnlDb2RlVG9TZWxlY3QgPSB0aGlzLmRlZmF1bHRDb3VudHJ5O1xuICAgICAgY29uc3QgZGVmID0gdGhpcy5jb3VudHJ5Q29kZXMuZmluZChpdGVtID0+IGl0ZW0uY291bnRyeUNvZGUgPT09IGNvdW50cnlDb2RlVG9TZWxlY3QpO1xuICAgICAgaWYgKGRlZikge1xuICAgICAgICB0aGlzLmRyb3Bkb3duU2VsZWN0ZWRJdGVtID0gZGVmO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeU5hbWUgPSBkZWYubGFiZWw7XG4gICAgICB9XG4gICAgICB0aGlzLnZhbGlkYXRlUGhvbmVOdW1iZXIodGhpcy5pbnB1dEZvcm1Db250cm9sLnZhbHVlLCB0aGlzLmRyb3Bkb3duU2VsZWN0ZWRJdGVtLmNvdW50cnlDb2RlKTtcbiAgICB9XG5cbiAgICB0aGlzLmlucHV0Rm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgIHRoaXMudmFsaWRhdGVQaG9uZU51bWJlcih2YWx1ZSwgdGhpcy5kcm9wZG93blNlbGVjdGVkSXRlbS5jb3VudHJ5Q29kZSk7XG4gICAgfSk7XG4gIH1cblxuICBoYW5kbGVEcm9wZG93blNlbGVjdGlvbihpdGVtOiBDdXN0b21Ecm9wZG93bkl0ZW0pIHtcbiAgICB0aGlzLmRyb3Bkb3duU2VsZWN0ZWRJdGVtID0gaXRlbTtcbiAgICB0aGlzLm9uRHJvcGRvd25TZWxlY3Rpb24uZW1pdChpdGVtLmNvdW50cnlDb2RlKTtcbiAgICB0aGlzLnNlbGVjdGVkQ291bnRyeU5hbWUgPSBpdGVtLmxhYmVsO1xuICAgIHRoaXMudmFsaWRhdGVQaG9uZU51bWJlcih0aGlzLmlucHV0Rm9ybUNvbnRyb2wudmFsdWUsIHRoaXMuZHJvcGRvd25TZWxlY3RlZEl0ZW0uY291bnRyeUNvZGUpO1xuICAgIHRoaXMuaW5wdXRGb3JtQ29udHJvbC5wYXRjaFZhbHVlKHsgY291bnRyeUNvZGU6IGl0ZW0udmFsdWUgfSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICB9XG5cbiAgbG9hZENvdW50cnlDb2RlcygpIHtcbiAgICBjb25zdCBjb3VudHJpZXMgPSBnZXRDb3VudHJpZXMoKTtcbiAgICB0aGlzLmNvdW50cnlDb2RlcyA9IGNvdW50cmllcy5tYXAoKGNvdW50cnlDb2RlKSA9PiAoe1xuICAgICAgdmFsdWU6IGdldENvdW50cnlDYWxsaW5nQ29kZShjb3VudHJ5Q29kZSkudG9TdHJpbmcoKSxcbiAgICAgIGxhYmVsOiBgJHtjb3VudHJ5Q29kZX0gKCske2dldENvdW50cnlDYWxsaW5nQ29kZShjb3VudHJ5Q29kZSl9KWAsXG4gICAgICBjb3VudHJ5Q29kZTogY291bnRyeUNvZGUsXG4gICAgfSkpO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlUGhvbmVOdW1iZXIodmFsdWU6IGFueSwgY291bnRyeUNvZGU6IHN0cmluZykge1xuICAgIGNvbnN0IHBob25lTnVtYmVyID0gdmFsdWU/LnBob25lTnVtYmVyIHx8IHZhbHVlO1xuICAgIGlmIChwaG9uZU51bWJlciAmJiBjb3VudHJ5Q29kZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgbnVtYmVyID0gdGhpcy5waG9uZVV0aWwucGFyc2VBbmRLZWVwUmF3SW5wdXQocGhvbmVOdW1iZXIsIGNvdW50cnlDb2RlKTtcbiAgICAgICAgY29uc3QgaXNWYWxpZCA9IHRoaXMucGhvbmVVdGlsLmlzVmFsaWROdW1iZXJGb3JSZWdpb24obnVtYmVyLCBjb3VudHJ5Q29kZSk7XG4gICAgICAgIGlmIChpc1ZhbGlkKSB7XG4gICAgICAgICAgdGhpcy52YWxpZGF0aW9uTWVzc2FnZSA9IG51bGw7XG4gICAgICAgICAgdGhpcy5vbkludmFsaWRQaG9uZU51bWJlci5lbWl0KCcnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnZhbGlkYXRpb25NZXNzYWdlID0gYFBob25lIG51bWJlciBpbnZhbGlkIGZvciBjb3VudHJ5IGNvZGU6ICske3RoaXMuZHJvcGRvd25TZWxlY3RlZEl0ZW0udmFsdWV9KCR7dGhpcy5kcm9wZG93blNlbGVjdGVkSXRlbS5jb3VudHJ5Q29kZX0pYDtcbiAgICAgICAgICB0aGlzLm9uSW52YWxpZFBob25lTnVtYmVyLmVtaXQodGhpcy52YWxpZGF0aW9uTWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRoaXMudmFsaWRhdGlvbk1lc3NhZ2UgPSAnSW52YWxpZCBpbnB1dCc7XG4gICAgICAgIHRoaXMub25JbnZhbGlkUGhvbmVOdW1iZXIuZW1pdCh0aGlzLnZhbGlkYXRpb25NZXNzYWdlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbkJsdXIoKSB7XG4gICAgdGhpcy5pbnB1dFRvdWNoZWQgPSB0cnVlO1xuICAgIHRoaXMudmFsaWRhdGVQaG9uZU51bWJlcih0aGlzLmlucHV0Rm9ybUNvbnRyb2wudmFsdWUsIHRoaXMuZHJvcGRvd25TZWxlY3RlZEl0ZW0uY291bnRyeUNvZGUpO1xuICB9XG59XG4iXX0=
|
|
@@ -51,7 +51,7 @@ class PhoneInputComponent {
|
|
|
51
51
|
this.onDropdownSelection.emit(item.countryCode);
|
|
52
52
|
this.selectedCountryName = item.label;
|
|
53
53
|
this.validatePhoneNumber(this.inputFormControl.value, this.dropdownSelectedItem.countryCode);
|
|
54
|
-
this.inputFormControl.patchValue({ countryCode: item.
|
|
54
|
+
this.inputFormControl.patchValue({ countryCode: item.value }, { emitEvent: false });
|
|
55
55
|
}
|
|
56
56
|
loadCountryCodes() {
|
|
57
57
|
const countries = getCountries();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mis-crystal-design-system-phone-input.js","sources":["../../../projects/mis-components/phone-input/phone-input.component.ts","../../../projects/mis-components/phone-input/phone-input.module.ts","../../../projects/mis-components/phone-input/mis-crystal-design-system-phone-input.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { PhoneNumberUtil } from 'google-libphonenumber';\nimport { getCountries, getCountryCallingCode, CountryCode } from 'libphonenumber-js';\nimport { DropdownItem } from 'mis-crystal-design-system/dropdown';\n\ninterface CustomDropdownItem extends DropdownItem {\n countryCode: string;\n}\n\n@Component({\n selector: \"mis-phone-input\",\n templateUrl: \"./phone-input.component.html\",\n styleUrls: [\"./phone-input.component.scss\"]\n})\nexport class PhoneInputComponent implements OnInit {\n @Input() dropdownHeight?: string = '';\n @Input() dropdownWidth?: string = '';\n @Input() inputHeight?;\n @Input() dropdownData: CustomDropdownItem[] = [];\n @Input() dropdownSelectedItem: CustomDropdownItem = { value: '', label: '', countryCode: '' };\n @Input() label: string;\n @Input() inputPlaceholder: string = 'Enter';\n @Input() inputFormControl: FormControl = new FormControl();\n @Output() onDropdownSelection = new EventEmitter<string>();\n @Output() onInvalidPhoneNumber = new EventEmitter<string>();\n @Input() dropdownListWidth = '';\n @Input() dropdownListHeight = '';\n @Input() searchEnabled: boolean = true;\n @Input() inputType: string = 'number';\n @Input() searchLabel: string = 'Search Keyword';\n @Input() defaultCountry: string = 'IN';\n @Input() phoneValidator? = true;\n\n countryCodes: CustomDropdownItem[] = [{ label: '', value: '', countryCode: '' }];\n selectedCountryName: string = '';\n validationMessage: string = '';\n private phoneUtil: PhoneNumberUtil;\n private inputTouched: boolean = false;\n\n constructor() {\n this.phoneUtil = PhoneNumberUtil.getInstance();\n }\n\n ngOnInit() {\n if (this.phoneValidator) {\n this.loadCountryCodes();\n this.dropdownData = this.countryCodes;\n const countryCodeToSelect = this.defaultCountry;\n const def = this.countryCodes.find(item => item.countryCode === countryCodeToSelect);\n if (def) {\n this.dropdownSelectedItem = def;\n this.selectedCountryName = def.label;\n }\n this.validatePhoneNumber(this.inputFormControl.value, this.dropdownSelectedItem.countryCode);\n }\n\n this.inputFormControl.valueChanges.subscribe((value) => {\n this.validatePhoneNumber(value, this.dropdownSelectedItem.countryCode);\n });\n }\n\n handleDropdownSelection(item: CustomDropdownItem) {\n this.dropdownSelectedItem = item;\n this.onDropdownSelection.emit(item.countryCode);\n this.selectedCountryName = item.label;\n this.validatePhoneNumber(this.inputFormControl.value, this.dropdownSelectedItem.countryCode);\n this.inputFormControl.patchValue({ countryCode: item.
|
|
1
|
+
{"version":3,"file":"mis-crystal-design-system-phone-input.js","sources":["../../../projects/mis-components/phone-input/phone-input.component.ts","../../../projects/mis-components/phone-input/phone-input.module.ts","../../../projects/mis-components/phone-input/mis-crystal-design-system-phone-input.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { PhoneNumberUtil } from 'google-libphonenumber';\nimport { getCountries, getCountryCallingCode, CountryCode } from 'libphonenumber-js';\nimport { DropdownItem } from 'mis-crystal-design-system/dropdown';\n\ninterface CustomDropdownItem extends DropdownItem {\n countryCode: string;\n}\n\n@Component({\n selector: \"mis-phone-input\",\n templateUrl: \"./phone-input.component.html\",\n styleUrls: [\"./phone-input.component.scss\"]\n})\nexport class PhoneInputComponent implements OnInit {\n @Input() dropdownHeight?: string = '';\n @Input() dropdownWidth?: string = '';\n @Input() inputHeight?;\n @Input() dropdownData: CustomDropdownItem[] = [];\n @Input() dropdownSelectedItem: CustomDropdownItem = { value: '', label: '', countryCode: '' };\n @Input() label: string;\n @Input() inputPlaceholder: string = 'Enter';\n @Input() inputFormControl: FormControl = new FormControl();\n @Output() onDropdownSelection = new EventEmitter<string>();\n @Output() onInvalidPhoneNumber = new EventEmitter<string>();\n @Input() dropdownListWidth = '';\n @Input() dropdownListHeight = '';\n @Input() searchEnabled: boolean = true;\n @Input() inputType: string = 'number';\n @Input() searchLabel: string = 'Search Keyword';\n @Input() defaultCountry: string = 'IN';\n @Input() phoneValidator? = true;\n\n countryCodes: CustomDropdownItem[] = [{ label: '', value: '', countryCode: '' }];\n selectedCountryName: string = '';\n validationMessage: string = '';\n private phoneUtil: PhoneNumberUtil;\n private inputTouched: boolean = false;\n\n constructor() {\n this.phoneUtil = PhoneNumberUtil.getInstance();\n }\n\n ngOnInit() {\n if (this.phoneValidator) {\n this.loadCountryCodes();\n this.dropdownData = this.countryCodes;\n const countryCodeToSelect = this.defaultCountry;\n const def = this.countryCodes.find(item => item.countryCode === countryCodeToSelect);\n if (def) {\n this.dropdownSelectedItem = def;\n this.selectedCountryName = def.label;\n }\n this.validatePhoneNumber(this.inputFormControl.value, this.dropdownSelectedItem.countryCode);\n }\n\n this.inputFormControl.valueChanges.subscribe((value) => {\n this.validatePhoneNumber(value, this.dropdownSelectedItem.countryCode);\n });\n }\n\n handleDropdownSelection(item: CustomDropdownItem) {\n this.dropdownSelectedItem = item;\n this.onDropdownSelection.emit(item.countryCode);\n this.selectedCountryName = item.label;\n this.validatePhoneNumber(this.inputFormControl.value, this.dropdownSelectedItem.countryCode);\n this.inputFormControl.patchValue({ countryCode: item.value }, { emitEvent: false });\n }\n\n loadCountryCodes() {\n const countries = getCountries();\n this.countryCodes = countries.map((countryCode) => ({\n value: getCountryCallingCode(countryCode).toString(),\n label: `${countryCode} (+${getCountryCallingCode(countryCode)})`,\n countryCode: countryCode,\n }));\n }\n\n public validatePhoneNumber(value: any, countryCode: string) {\n const phoneNumber = value?.phoneNumber || value;\n if (phoneNumber && countryCode) {\n try {\n const number = this.phoneUtil.parseAndKeepRawInput(phoneNumber, countryCode);\n const isValid = this.phoneUtil.isValidNumberForRegion(number, countryCode);\n if (isValid) {\n this.validationMessage = null;\n this.onInvalidPhoneNumber.emit('');\n } else {\n this.validationMessage = `Phone number invalid for country code: +${this.dropdownSelectedItem.value}(${this.dropdownSelectedItem.countryCode})`;\n this.onInvalidPhoneNumber.emit(this.validationMessage);\n }\n } catch (error) {\n this.validationMessage = 'Invalid input';\n this.onInvalidPhoneNumber.emit(this.validationMessage);\n }\n }\n }\n\n onBlur() {\n this.inputTouched = true;\n this.validatePhoneNumber(this.inputFormControl.value, this.dropdownSelectedItem.countryCode);\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { PhoneInputComponent } from \"./phone-input.component\";\nimport { OverlayModule } from \"@angular/cdk/overlay\";\nimport { ScrollingModule } from \"@angular/cdk-experimental/scrolling\";\nimport { DropdownModule } from \"mis-crystal-design-system/dropdown\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\n\n\n@NgModule({\n declarations: [PhoneInputComponent],\n imports: [CommonModule,ReactiveFormsModule, FormsModule, OverlayModule, ScrollingModule, DropdownModule],\n exports: [PhoneInputComponent]\n})\nexport class PhoneInputModule {\n static forRoot(): ModuleWithProviders<PhoneInputModule> {\n return { ngModule: PhoneInputModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|