diff --git a/dist/main.js b/dist/main.js index 59ec8172a..a4b158d61 100644 --- a/dist/main.js +++ b/dist/main.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("prop-types"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["prop-types","react","react-dom"],t):"object"==typeof exports?exports.IntlTelInput=t(require("prop-types"),require("react"),require("react-dom")):e.IntlTelInput=t(e.PropTypes,e.React,e.ReactDOM)}(this,function(e,t,o){return function(e){function t(i){if(o[i])return o[i].exports;var n=o[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var o={};return t.m=e,t.c=o,t.i=function(e){return e},t.d=function(e,o,i){t.o(e,o)||Object.defineProperty(e,o,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var o=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(o,"a",o),o},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=14)}([function(t,o){t.exports=e},function(e,o){e.exports=t},function(e,t,o){var i,n;!function(){"use strict";function o(){for(var e=[],t=0;t=0},retrieveLiIndex:function(e){if(!e)return-1;for(var t=e.parentNode.childNodes,o=0,i=0,n=t.length;i (/Users/vlad/salemove/react-intl-tel-input/node_modules/node-sass/lib/index.js:14:35)\n at Module._compile (internal/modules/cjs/loader.js:999:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n at Module.load (internal/modules/cjs/loader.js:863:32)\n at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n at Module.require (internal/modules/cjs/loader.js:887:19)\n at require (internal/modules/cjs/helpers.js:74:18)\n at Object. (/Users/vlad/salemove/react-intl-tel-input/node_modules/sass-loader/index.js:4:12)\n at Module._compile (internal/modules/cjs/loader.js:999:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n at Module.load (internal/modules/cjs/loader.js:863:32)\n at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n at Module.require (internal/modules/cjs/loader.js:887:19)\n at require (internal/modules/cjs/helpers.js:74:18)\n at loadLoader (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/loadLoader.js:13:17)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:165:10)\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:173:18\n at loadLoader (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/loadLoader.js:36:3)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at runLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:362:2)\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModule.js:141:35\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:364:11\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:170:18\n at loadLoader (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/loadLoader.js:27:11)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:165:10)\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:173:18\n at loadLoader (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/loadLoader.js:36:3)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at runLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:362:2)\n at NormalModule.doBuild (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModule.js:129:2)\n at NormalModule.build (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModule.js:180:15)\n at Compilation.buildModule (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/Compilation.js:127:10)\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/Compilation.js:404:9\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModuleFactory.js:242:4\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModuleFactory.js:93:13\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/tapable/lib/Tapable.js:204:11\n at NormalModuleFactory. (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/CompatibilityPlugin.js:51:4)\n at NormalModuleFactory.applyPluginsAsyncWaterfall (/Users/vlad/salemove/react-intl-tel-input/node_modules/tapable/lib/Tapable.js:208:13)\n at onDoneResolving (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModuleFactory.js:68:11)\n at onDoneResolving (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModuleFactory.js:189:6)\n at processTicksAndRejections (internal/process/task_queues.js:79:11)")},function(e,t,o){var i=o(13),n=o(0);e.exports=function(e,t,o){var n=e[t];if(n){var r=[];if(Object.keys(n).forEach(function(e){i.indexOf(e)===-1&&r.push(e)}),r.length)throw new Error("Prop "+t+" passed to "+o+". Has invalid keys "+r.join(", "))}},e.exports.isRequired=function(t,o,i){if(!t[o])throw new Error("Prop "+o+" passed to "+i+" is required");return e.exports(t,o,i)},e.exports.supportingArrays=n.oneOfType([n.arrayOf(e.exports),e.exports])},function(e,t){!function(t){function o(e){var t=b[e]={};return c(e.split(/\s+/),function(e){t[e]=!0}),t}var i={},n=Array.prototype,r=Object.prototype,a=r.hasOwnProperty,l=r.toString,s=n.forEach,d=n.indexOf,u=n.slice,c=function(e,t,o){var n,r,l;if(e)if(s&&e.forEach===s)e.forEach(t,o);else if(e.length===+e.length){for(r=0,l=e.length;r-1;)s.splice(t,1),n&&(t<=a&&a--,t<=l&&l--)}),this},has:function(e){return m(e,s)>-1},empty:function(){return s=[],this},disable:function(){return s=d=t=void 0,this},disabled:function(){return!s},lock:function(){return d=void 0,t||p.disable(),this},locked:function(){return!d},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!s||i&&!d||(n?d.push(t):u(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},f.Deferred=function(e){var t=[["resolve","done",f.Callbacks("once memory"),"resolved"],["reject","fail",f.Callbacks("once memory"),"rejected"],["notify","progress",f.Callbacks("memory")]],o="pending",i={state:function(){return o},always:function(){return n.done(arguments).fail(arguments),this},then:function(){var e=arguments;return f.Deferred(function(o){c(t,function(t,i){var r=t[0],a=e[i];n[t[1]](p(a)?function(){var e;try{e=a.apply(this,arguments)}catch(e){return void o.reject(e)}e&&p(e.promise)?e.promise().done(o.resolve).fail(o.reject).progress(o.notify):o["notify"!==r?"resolveWith":r+"With"](this===n?o:this,[e])}:o[r])}),e=null}).promise()},promise:function(e){return null!=e?h(e,i):i}},n={};return i.pipe=i.then,c(t,function(e,r){var a=e[2],l=e[3];i[e[1]]=a.add,l&&a.add(function(){o=l},t[1^r][2].disable,t[2][2].lock),n[e[0]]=a.fire,n[e[0]+"With"]=a.fireWith}),i.promise(n),e&&e.call(n,n),n},f.when=function(e){var t,o,i,n=0,r="array"===M(e)&&1===arguments.length?e:u.call(arguments),a=r.length,l=1!==a||e&&p(e.promise)?a:0,s=1===l?e:f.Deferred(),d=function(e,o,i){return function(n){o[e]=this,i[e]=arguments.length>1?u.call(arguments):n,i===t?s.notifyWith(o,i):--l||s.resolveWith(o,i)}};if(a>1)for(t=new Array(a),o=new Array(a),i=new Array(a);n1?t-1:0),i=1;it,l=!r&&a?"-"+(n-1)+"px":"";this.listElement.style.top=l,this.listElement.setAttribute("class","country-list")}},{key:"setFlag",value:function(e){this.props.setFlag(e)}},{key:"appendListItem",value:function(e){var t=this,o=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.props.preferredCountries.length;return e.map(function(e,n){var r=o?n:n+i,l={country:!0,highlight:t.props.highlightedCountry===r,preferred:o},d=c()(l),u=o?"pref-":"";return s.a.createElement("li",{key:""+u+e.iso2,className:d,"data-dial-code":e.dialCode,"data-country-code":e.iso2,onMouseOver:t.props.isMobile?null:t.handleMouseOver,onClick:a(t.setFlag,e.iso2)},s.a.createElement("div",{ref:function(e){t.selectedFlag=e},className:"flag-box"},s.a.createElement("div",{ref:function(e){t.selectedFlagInner=e},className:"iti-flag "+e.iso2})),s.a.createElement("span",{className:"country-name"},e.name),s.a.createElement("span",{className:"dial-code"},"+",e.dialCode))})}},{key:"handleMouseOver",value:function(e){if(e.currentTarget.getAttribute("class").indexOf("country")>-1){var t=p.a.retrieveLiIndex(e.currentTarget);this.props.changeHighlightCountry(!0,t)}}},{key:"render",value:function(){var e=this,t="",o=this.props.preferredCountries,i=null,n=this.props.countries,r=c()({"country-list":!0,hide:!this.props.showDropdown}),a=null;return o.length&&(i=this.appendListItem(o,!0),a=s.a.createElement("div",{className:"divider"})),t=this.appendListItem(n),s.a.createElement("ul",{ref:function(t){e.listElement=t},className:r},i,a,t)}}]),t}(l.Component);t.a=m},function(e,t,o){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=o(1),l=o.n(a),s=o(0),d=(o.n(s),o(5)),u=o.n(d),c=function(){function e(e,t){for(var o=0;o=4},o.wrapperClass={},o.autoCountry="",o.tempCountry="",o.startedLoadingAutoCountry=!1,o.deferreds=[],o.autoCountryDeferred=new p.a.Deferred,o.utilsScriptDeferred=new p.a.Deferred,o.isOpening=!1,o.isMobile="undefined"!=typeof navigator&&k.test(navigator.userAgent),o.preferredCountries=[],o.countries=[],o.countryCodes={},o.windowLoaded=!1,o.keys={UP:38,DOWN:40,ENTER:13,ESC:27,PLUS:43,A:65,Z:90,SPACE:32,TAB:9},o.query="",o.state={showDropdown:!1,highlightedCountry:0,value:e.value||e.defaultValue,disabled:e.disabled,readonly:!1,offsetTop:0,outerHeight:0,placeholder:"",title:"",countryCode:"us",dialCode:""},o.selectedCountryData={},o.addCountryCode=o.addCountryCode.bind(o),o.autoCountryLoaded=o.autoCountryLoaded.bind(o),o.getDialCode=o.getDialCode.bind(o),o.handleOnBlur=o.handleOnBlur.bind(o),o.handleSelectedFlagKeydown=o.handleSelectedFlagKeydown.bind(o),o.setInitialState=o.setInitialState.bind(o),o.setNumber=o.setNumber.bind(o),o.scrollTo=o.scrollTo.bind(o),o.updateDialCode=o.updateDialCode.bind(o),o.notifyPhoneNumberChange=o.notifyPhoneNumberChange.bind(o),o.isValidNumber=o.isValidNumber.bind(o),o.isUnknownNanp=o.isUnknownNanp.bind(o),o.initRequests=o.initRequests.bind(o),o.updateFlagFromNumber=o.updateFlagFromNumber.bind(o),o.updatePlaceholder=o.updatePlaceholder.bind(o),o.loadAutoCountry=o.loadAutoCountry.bind(o),o.loadUtils=o.loadUtils.bind(o),o.processCountryData=o.processCountryData.bind(o),o.getNumber=o.getNumber.bind(o),o.setFlag=o.setFlag.bind(o),o.clickSelectedFlag=o.clickSelectedFlag.bind(o),o.updateValFromNumber=o.updateValFromNumber.bind(o),o.handleWindowScroll=o.handleWindowScroll.bind(o),o.handleDocumentKeyDown=o.handleDocumentKeyDown.bind(o),o.handleDocumentClick=o.handleDocumentClick.bind(o),o.bindDocumentClick=o.bindDocumentClick.bind(o),o.unbindDocumentClick=o.unbindDocumentClick.bind(o),o.searchForCountry=o.searchForCountry.bind(o),o.handleEnterKey=o.handleEnterKey.bind(o),o.toggleDropdown=o.toggleDropdown.bind(o),o.handleUpDownKey=o.handleUpDownKey.bind(o),o.handleInputChange=o.handleInputChange.bind(o),o.changeHighlightCountry=o.changeHighlightCountry.bind(o),o.formatNumber=o.formatNumber.bind(o),o}return r(t,e),S(t,[{key:"componentDidMount",value:function(){var e=this;this.autoHideDialCode=this.props.autoHideDialCode,this.allowDropdown=this.props.allowDropdown,this.nationalMode=this.props.nationalMode,this.dropdownContainer="",this.nationalMode&&(this.autoHideDialCode=!1),this.props.separateDialCode&&(this.autoHideDialCode=!1,this.nationalMode=!1,this.allowDropdown=!0),this.processCountryData.call(this),this.tempCountry=this.getTempCountry(this.props.defaultCountry),"complete"===document.readyState?this.windowLoaded=!0:window.addEventListener("load",function(){e.windowLoaded=!0}),this.generateMarkup(),this.setInitialState(),this.initRequests(),this.deferreds.push(this.autoCountryDeferred.promise()),this.deferreds.push(this.utilsScriptDeferred.promise()),p.a.when(this.deferreds).done(function(){e.setInitialState()}),document.addEventListener("keydown",this.handleDocumentKeyDown)}},{key:"componentWillReceiveProps",value:function(e){this.props.value!==e.value&&this.setState({value:e.value}),this.props.disabled!==e.disabled&&this.setState({disabled:e.disabled}),"function"==typeof e.customPlaceholder&&this.props.customPlaceholder!==e.customPlaceholder&&this.updatePlaceholder(e)}},{key:"componentWillUpdate",value:function(e,t){t.showDropdown?(document.addEventListener("keydown",this.handleDocumentKeyDown),this.bindDocumentClick()):(document.removeEventListener("keydown",this.handleDocumentKeyDown),this.unbindDocumentClick())}},{key:"componentDidUpdate",value:function(e){this.props.value!==e.value&&this.updateFlagFromNumber(this.props.value)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleDocumentKeyDown),window.removeEventListener("scroll",this.handleWindowScroll),this.unbindDocumentClick()}},{key:"getTempCountry",value:function(e){if("auto"===e)return"auto";var t=f.a.getCountryData(this.countries,e);return t.iso2||(t=this.props.preferredCountries.length>0?f.a.getCountryData(this.countries,this.props.preferredCountries[0]):m.a.getCountries()[0]),t.iso2}},{key:"setNumber",value:function(e,t){this.updateFlagFromNumber(e),this.updateValFromNumber(e,!t)}},{key:"setFlag",value:function(e,t){var o=this,i=this.selectedCountryData&&this.selectedCountryData.iso2?this.selectedCountryData:{};this.selectedCountryData=e?f.a.getCountryData(this.countries,e,!1,!1,this.props.noCountryDataHandler):{},this.selectedCountryData.iso2&&(this.defaultCountry=this.selectedCountryData.iso2);var n=e?this.selectedCountryData.name+": +"+this.selectedCountryData.dialCode:"Unknown",r=this.state.dialCode;this.props.separateDialCode&&(r=this.selectedCountryData.dialCode?"+"+this.selectedCountryData.dialCode:"",i.dialCode&&delete this.wrapperClass["iti-sdc-"+(i.dialCode.length+1)],r&&(this.wrapperClass["iti-sdc-"+r.length]=!0));var a=0;e&&"auto"!==e&&(a=f.a.findIndex(this.preferredCountries,function(t){return t.iso2===e}),a===-1&&(a=f.a.findIndex(this.countries,function(t){return t.iso2===e}),a===-1&&(a=0),a+=this.preferredCountries.length)),this.tel&&this.state.showDropdown&&this.tel.focus();var l=this.updateDialCode(this.selectedCountryData.dialCode,!t);this.setState({value:l,showDropdown:!1,highlightedCountry:a,countryCode:e,title:n,dialCode:r},function(){if(o.updatePlaceholder(o.props),o.wrapperClass.active=!1,!t&&i.iso2!==e&&"function"==typeof o.props.onSelectFlag){var n=o.state.value;o.props.onSelectFlag(n,o.selectedCountryData)}})}},{key:"getExtension",value:function(e){return window.intlTelInputUtils?window.intlTelInputUtils.getExtension(this.getFullNumber(e),this.selectedCountryData.iso2):""}},{key:"getNumber",value:function(e,t){return window.intlTelInputUtils?window.intlTelInputUtils.formatNumber(this.getFullNumber(e),this.selectedCountryData.iso2,t):""}},{key:"getFullNumber",value:function(e){var t=this.props.separateDialCode?"+"+this.selectedCountryData.dialCode:"";return t+e}},{key:"getDialCode",value:function(e){var t="";if("+"===e.charAt(0))for(var o="",i=0,n=e.length;it?e.substr(0,t):e}},{key:"removeEmptyDialCode",value:function(){var e=this.state.value,t="+"===e.charAt(0);if(t){var o=f.a.getNumeric(e);o&&this.selectedCountryData.dialCode!==o||this.setState({value:""})}}},{key:"handleUpDownKey",value:function(e){var t=this.flagDropDown.querySelectorAll(".highlight")[0],o=t?t.previousElementSibling:void 0,i=t?t.nextElementSibling:void 0,n=e===this.keys.UP?o:i;if(n){n.getAttribute("class").indexOf("divider")>-1&&(n=e===this.keys.UP?n.previousElementSibling:n.nextElementSibling),this.scrollTo(n);var r=f.a.retrieveLiIndex(n);this.setState({showDropdown:!0,highlightedCountry:r})}}},{key:"handleEnterKey",value:function(){var e=this,t=this.flagDropDown.querySelectorAll(".highlight")[0];if(t){var o=f.a.retrieveLiIndex(t),i=t.getAttribute("data-country-code");this.setState({showDropdown:!1,highlightedCountry:o,countryCode:i},function(){e.setFlag(e.state.countryCode),e.unbindDocumentClick()})}}},{key:"searchForCountry",value:function(e){for(var t=0,o=this.countries.length;t2&&void 0!==arguments[2]&&arguments[2];if(t&&window.intlTelInputUtils&&this.selectedCountryData){var n=this.props.separateDialCode||!this.nationalMode&&"+"===e.charAt(0)?window.intlTelInputUtils.numberFormat.INTERNATIONAL:window.intlTelInputUtils.numberFormat.NATIONAL;e=window.intlTelInputUtils.formatNumber(e,this.selectedCountryData.iso2,n)}e=this.beforeSetNumber(e),this.setState({showDropdown:!1,value:e},function(){i&&o.notifyPhoneNumberChange(o.state.value),o.unbindDocumentClick()})}},{key:"updateFlagFromNumber",value:function(e,t){e&&this.nationalMode&&this.selectedCountryData&&"1"===this.selectedCountryData.dialCode&&"+"!==e.charAt(0)&&("1"!==e.charAt(0)&&(e="1"+e),e="+"+e);var o=this.getDialCode(e),i=null;if(o){var n=this.countryCodes[f.a.getNumeric(o)],r=this.selectedCountryData&&n.indexOf(this.selectedCountryData.iso2)!==-1;if(!r||this.isUnknownNanp(e,o))for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:this.props;if(window.intlTelInputUtils&&e.autoPlaceholder&&this.selectedCountryData){var t=window.intlTelInputUtils.numberType[e.numberType],o=this.selectedCountryData.iso2?window.intlTelInputUtils.getExampleNumber(this.selectedCountryData.iso2,this.nationalMode,t):"";o=this.beforeSetNumber(o,e),"function"==typeof e.customPlaceholder&&(o=e.customPlaceholder(o,this.selectedCountryData)),this.setState({placeholder:o})}}},{key:"toggleDropdown",value:function(e){var t=this;this.setState({showDropdown:!!e},function(){t.state.showDropdown||t.unbindDocumentClick()})}},{key:"scrollTo",value:function(e,t){try{var o=this.flagDropDown.querySelector(".country-list"),i=parseFloat(window.getComputedStyle(o).getPropertyValue("height"),10),n=f.a.offset(o).top,r=n+i,a=f.a.getOuterHeight(e),l=f.a.offset(e).top,s=l+a,d=i/2-a/2,u=l-n+o.scrollTop;if(lr){t&&(u+=d);var c=i-a;o.scrollTop=u-c}}catch(e){}}},{key:"updateDialCode",value:function(e,t){var o=this.state.value;if(!e)return o;var i=o;if(e="+"+e,"+"===o.charAt(0)){var n=this.getDialCode(o);i=n?o.replace(n,e):e}else this.nationalMode||this.props.separateDialCode||(o?i=e+o:!t&&this.autoHideDialCode||(i=e));return i!==o&&this.notifyPhoneNumberChange(i),i}},{key:"generateMarkup",value:function(){this.wrapperClass["allow-dropdown"]=this.allowDropdown,this.wrapperClass["separate-dial-code"]=this.props.separateDialCode,this.isMobile&&this.props.useMobileFullscreenDropdown&&(f.a.addClass(document.querySelector("body"),"iti-mobile"),this.dropdownContainer="body",window.addEventListener("scroll",this.handleWindowScroll))}},{key:"handleSelectedFlagKeydown",value:function(e){this.state.showDropdown||e.which!==this.keys.UP&&e.which!==this.keys.DOWN&&e.which!==this.keys.SPACE&&e.which!==this.keys.ENTER||(e.preventDefault(),e.stopPropagation(),this.toggleDropdown(!0)),e.which===this.keys.TAB&&this.toggleDropdown(!1)}},{key:"isValidNumber",value:function(e){var t=f.a.trim(e),o=this.nationalMode||this.props.separateDialCode?this.selectedCountryData.iso2:"";return!!window.intlTelInputUtils&&window.intlTelInputUtils.isValidNumber(t,o)}},{key:"formatFullNumber",value:function(e){return window.intlTelInputUtils?this.getNumber(e,window.intlTelInputUtils.numberFormat.INTERNATIONAL):e}},{key:"notifyPhoneNumberChange",value:function(e){if("function"==typeof this.props.onPhoneNumberChange){var t=this.formatFullNumber(e),o=this.isValidNumber(t);this.props.onPhoneNumberChange(o,e,this.selectedCountryData,t,this.getExtension(e))}}},{key:"beforeSetNumber",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.props;if(t.separateDialCode){var o=this.getDialCode(e);if(o){null!==this.selectedCountryData.areaCodes&&(o="+"+this.selectedCountryData.dialCode);var i=" "===e[o.length]||"-"===e[o.length]?o.length+1:o.length;e=e.substr(i)}}return this.cap(e)}},{key:"handleWindowScroll",value:function(){var e=this;this.setState({showDropdown:!1},function(){window.removeEventListener("scroll",e.handleWindowScroll)})}},{key:"handleDocumentKeyDown",value:function(e){var t=this,o=void 0;e.preventDefault(),e.which===this.keys.UP||e.which===this.keys.DOWN?this.handleUpDownKey(e.which):e.which===this.keys.ENTER?this.handleEnterKey():e.which===this.keys.ESC?this.setState({showDropdown:!1}):(e.which>=this.keys.A&&e.which<=this.keys.Z||e.which===this.keys.SPACE)&&(o&&clearTimeout(o),this.query||(this.query=""),this.query+=String.fromCharCode(e.which),this.searchForCountry(this.query),o=setTimeout(function(){t.query=""},1e3))}},{key:"handleDocumentClick",value:function(e){(null===e.target.getAttribute("class")||e.target.getAttribute("class")&&e.target.getAttribute("class").indexOf("country")===-1)&&(this.isOpening=!1),this.isOpening||this.toggleDropdown(!1),this.isOpening=!1}},{key:"handleInputChange",value:function(e){var t=this,o=this.props.format?this.formatNumber(e.target.value):e.target.value;void 0!==this.props.value?(this.updateFlagFromNumber(o),this.notifyPhoneNumberChange(o)):this.setState({value:o},function(){t.updateFlagFromNumber(o),t.notifyPhoneNumberChange(o)})}},{key:"changeHighlightCountry",value:function(e,t){this.setState({showDropdown:e,highlightedCountry:t})}},{key:"loadUtils",value:function(){var e=this;if(window.intlTelInputUtils)return void this.utilsScriptDeferred.resolve();var t=new XMLHttpRequest;t.open("GET",this.props.utilsScript,!0),t.onload=function(){if(t.status>=200&&t.status<400){var o=t.responseText;if(o&&!document.getElementById("intlTelInputUtils")){var i=document.getElementsByTagName("body")[0],n=document.createElement("script");n.id="intlTelInputUtils",n.text=o,i.appendChild(n)}e.utilsScriptDeferred.resolve()}},t.send()}},{key:"autoCountryLoaded",value:function(){"auto"===this.tempCountry&&(this.tempCountry=this.autoCountry,this.autoCountryDeferred.resolve())}},{key:"render",value:function(){this.wrapperClass[this.props.css[0]]=!0;var e=this.props.css[1],t=Object.assign({},this.props.style||{});this.wrapperClass.expanded=this.state.showDropdown;var o=u()(this.wrapperClass),i=this.selectedCountryData?this.selectedCountryData.name+": +"+this.selectedCountryData.dialCode:"Unknown",n=void 0!==this.props.value?this.props.value:this.state.value;return l.a.createElement("div",{className:o,style:t},l.a.createElement(g.a,{refCallback:this.setFlagDropdownRef,allowDropdown:this.allowDropdown,dropdownContainer:this.dropdownContainer,separateDialCode:this.props.separateDialCode,dialCode:this.state.dialCode,clickSelectedFlag:this.clickSelectedFlag,setFlag:this.setFlag,countryCode:this.state.countryCode,isMobile:this.isMobile,handleSelectedFlagKeydown:this.handleSelectedFlagKeydown,changeHighlightCountry:this.changeHighlightCountry,countries:this.countries,showDropdown:this.state.showDropdown,inputTop:this.state.offsetTop,inputOuterHeight:this.state.outerHeight,preferredCountries:this.preferredCountries,highlightedCountry:this.state.highlightedCountry,titleTip:i}),l.a.createElement(M.a,{refCallback:this.setTelRef,handleInputChange:this.handleInputChange,handleOnBlur:this.handleOnBlur,className:e,disabled:this.state.disabled,readonly:this.state.readonly,fieldName:this.props.fieldName,fieldId:this.props.fieldId,value:n,placeholder:void 0!==this.props.placeholder?this.props.placeholder:this.state.placeholder,autoFocus:this.props.autoFocus,autoComplete:this.props.autoComplete,inputProps:this.props.telInputProps}))}}]),t}(a.Component);y.defaultProps={css:["intl-tel-input",""],fieldName:"",fieldId:"",defaultValue:"",countriesData:null,allowDropdown:!0,autoHideDialCode:!0,autoPlaceholder:!0,customPlaceholder:null,excludeCountries:[],formatOnInit:!0,separateDialCode:!1,defaultCountry:"",geoIpLookup:null,nationalMode:!0,numberType:"MOBILE",noCountryDataHandler:null,onlyCountries:[],preferredCountries:["us","gb"],utilsScript:"",onPhoneNumberChange:null,onPhoneNumberBlur:null,onSelectFlag:null,disabled:!1,autoFocus:!1,useMobileFullscreenDropdown:!0,autoComplete:"off",telInputProps:{},format:!1},t.default=y}])}); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("prop-types"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["prop-types","react","react-dom"],t):"object"==typeof exports?exports.IntlTelInput=t(require("prop-types"),require("react"),require("react-dom")):e.IntlTelInput=t(e.PropTypes,e.React,e.ReactDOM)}(this,function(e,t,o){return function(e){function t(i){if(o[i])return o[i].exports;var n=o[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var o={};return t.m=e,t.c=o,t.i=function(e){return e},t.d=function(e,o,i){t.o(e,o)||Object.defineProperty(e,o,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var o=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(o,"a",o),o},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=14)}([function(t,o){t.exports=e},function(e,o){e.exports=t},function(e,t,o){var i,n;!function(){"use strict";function o(){for(var e=[],t=0;t=0},retrieveLiIndex:function(e){if(!e)return-1;for(var t=e.parentNode.childNodes,o=0,i=0,n=t.length;i (/Users/vlad/salemove/react-intl-tel-input/node_modules/node-sass/lib/index.js:14:35)\n at Module._compile (internal/modules/cjs/loader.js:999:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n at Module.load (internal/modules/cjs/loader.js:863:32)\n at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n at Module.require (internal/modules/cjs/loader.js:887:19)\n at require (internal/modules/cjs/helpers.js:74:18)\n at Object. (/Users/vlad/salemove/react-intl-tel-input/node_modules/sass-loader/index.js:4:12)\n at Module._compile (internal/modules/cjs/loader.js:999:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n at Module.load (internal/modules/cjs/loader.js:863:32)\n at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n at Module.require (internal/modules/cjs/loader.js:887:19)\n at require (internal/modules/cjs/helpers.js:74:18)\n at loadLoader (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/loadLoader.js:13:17)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:165:10)\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:173:18\n at loadLoader (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/loadLoader.js:36:3)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at runLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:362:2)\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModule.js:141:35\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:364:11\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:170:18\n at loadLoader (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/loadLoader.js:27:11)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:165:10)\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:173:18\n at loadLoader (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/loadLoader.js:36:3)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at runLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:362:2)\n at NormalModule.doBuild (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModule.js:129:2)\n at NormalModule.build (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModule.js:180:15)\n at Compilation.buildModule (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/Compilation.js:127:10)\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/Compilation.js:404:9\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModuleFactory.js:242:4\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModuleFactory.js:93:13\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/tapable/lib/Tapable.js:204:11\n at NormalModuleFactory. (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/CompatibilityPlugin.js:51:4)\n at NormalModuleFactory.applyPluginsAsyncWaterfall (/Users/vlad/salemove/react-intl-tel-input/node_modules/tapable/lib/Tapable.js:208:13)\n at onDoneResolving (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModuleFactory.js:68:11)\n at onDoneResolving (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModuleFactory.js:189:6)\n at processTicksAndRejections (internal/process/task_queues.js:79:11)")},function(e,t,o){var i=o(13),n=o(0);e.exports=function(e,t,o){var n=e[t];if(n){var r=[];if(Object.keys(n).forEach(function(e){i.indexOf(e)===-1&&r.push(e)}),r.length)throw new Error("Prop "+t+" passed to "+o+". Has invalid keys "+r.join(", "))}},e.exports.isRequired=function(t,o,i){if(!t[o])throw new Error("Prop "+o+" passed to "+i+" is required");return e.exports(t,o,i)},e.exports.supportingArrays=n.oneOfType([n.arrayOf(e.exports),e.exports])},function(e,t){!function(t){function o(e){var t=b[e]={};return c(e.split(/\s+/),function(e){t[e]=!0}),t}var i={},n=Array.prototype,r=Object.prototype,a=r.hasOwnProperty,l=r.toString,s=n.forEach,d=n.indexOf,u=n.slice,c=function(e,t,o){var n,r,l;if(e)if(s&&e.forEach===s)e.forEach(t,o);else if(e.length===+e.length){for(r=0,l=e.length;r-1;)s.splice(t,1),n&&(t<=a&&a--,t<=l&&l--)}),this},has:function(e){return m(e,s)>-1},empty:function(){return s=[],this},disable:function(){return s=d=t=void 0,this},disabled:function(){return!s},lock:function(){return d=void 0,t||p.disable(),this},locked:function(){return!d},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!s||i&&!d||(n?d.push(t):u(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},M.Deferred=function(e){var t=[["resolve","done",M.Callbacks("once memory"),"resolved"],["reject","fail",M.Callbacks("once memory"),"rejected"],["notify","progress",M.Callbacks("memory")]],o="pending",i={state:function(){return o},always:function(){return n.done(arguments).fail(arguments),this},then:function(){var e=arguments;return M.Deferred(function(o){c(t,function(t,i){var r=t[0],a=e[i];n[t[1]](p(a)?function(){var e;try{e=a.apply(this,arguments)}catch(e){return void o.reject(e)}e&&p(e.promise)?e.promise().done(o.resolve).fail(o.reject).progress(o.notify):o["notify"!==r?"resolveWith":r+"With"](this===n?o:this,[e])}:o[r])}),e=null}).promise()},promise:function(e){return null!=e?h(e,i):i}},n={};return i.pipe=i.then,c(t,function(e,r){var a=e[2],l=e[3];i[e[1]]=a.add,l&&a.add(function(){o=l},t[1^r][2].disable,t[2][2].lock),n[e[0]]=a.fire,n[e[0]+"With"]=a.fireWith}),i.promise(n),e&&e.call(n,n),n},M.when=function(e){var t,o,i,n=0,r="array"===f(e)&&1===arguments.length?e:u.call(arguments),a=r.length,l=1!==a||e&&p(e.promise)?a:0,s=1===l?e:M.Deferred(),d=function(e,o,i){return function(n){o[e]=this,i[e]=arguments.length>1?u.call(arguments):n,i===t?s.notifyWith(o,i):--l||s.resolveWith(o,i)}};if(a>1)for(t=new Array(a),o=new Array(a),i=new Array(a);n1?t-1:0),i=1;it,l=!r&&a?"-"+(n-1)+"px":"";this.listElement.style.top=l,this.listElement.setAttribute("class","country-list")}},{key:"setFlag",value:function(e){this.props.setFlag(e)}},{key:"appendListItem",value:function(e){var t=this,o=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.props.preferredCountries.length;return e.map(function(e,n){var r=o?n:n+i,l={country:!0,highlight:t.props.highlightedCountry===r,preferred:o},d=c()(l),u=o?"pref-":"",p=t.props.selectedCountryCode===e.iso2;return s.a.createElement("li",{key:""+u+e.iso2,className:d,"data-dial-code":e.dialCode,"data-country-code":e.iso2,onMouseOver:t.props.isMobile?null:t.handleMouseOver,onClick:a(t.setFlag,e.iso2),role:"option","aria-selected":p,id:t.props.getItemId(r),tabIndex:"-1"},s.a.createElement("div",{ref:function(e){t.selectedFlag=e},className:"flag-box"},s.a.createElement("div",{ref:function(e){t.selectedFlagInner=e},className:"iti-flag "+e.iso2})),s.a.createElement("span",{className:"country-name"},e.name),s.a.createElement("span",{className:"dial-code"},"+",e.dialCode))})}},{key:"handleMouseOver",value:function(e){if(e.currentTarget.getAttribute("class").indexOf("country")>-1){var t=p.a.retrieveLiIndex(e.currentTarget);this.props.changeHighlightCountry(!0,t)}}},{key:"render",value:function(){var e=this,t="",o=this.props.preferredCountries,i=null,n=this.props.countries,r=c()({"country-list":!0,hide:!this.props.showDropdown}),a=null;return o.length&&(i=this.appendListItem(o,!0),a=s.a.createElement("div",{className:"divider"})),t=this.appendListItem(n),s.a.createElement("ul",{ref:function(t){e.listElement=t},className:r,id:this.props.countryListId,role:"listbox"},i,a,t)}}]),t}(l.Component);t.a=m},function(e,t,o){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=o(1),l=o.n(a),s=o(0),d=(o.n(s),o(5)),u=o.n(d),c=function(){function e(e,t){for(var o=0;o=4},o.wrapperClass={},o.autoCountry="",o.tempCountry="",o.startedLoadingAutoCountry=!1,o.deferreds=[],o.autoCountryDeferred=new p.a.Deferred,o.utilsScriptDeferred=new p.a.Deferred,o.isOpening=!1,o.isMobile="undefined"!=typeof navigator&&k.test(navigator.userAgent),o.preferredCountries=[],o.countries=[],o.countryCodes={},o.windowLoaded=!1,o.keys={UP:38,DOWN:40,ENTER:13,ESC:27,PLUS:43,A:65,Z:90,SPACE:32,TAB:9},o.query="",o.state={showDropdown:!1,highlightedCountry:0,value:e.value||e.defaultValue,disabled:e.disabled,readonly:!1,offsetTop:0,outerHeight:0,placeholder:"",title:"",countryCode:"us",dialCode:""},o.selectedCountryData={},o.addCountryCode=o.addCountryCode.bind(o),o.autoCountryLoaded=o.autoCountryLoaded.bind(o),o.getDialCode=o.getDialCode.bind(o),o.handleOnBlur=o.handleOnBlur.bind(o),o.handleSelectedFlagKeydown=o.handleSelectedFlagKeydown.bind(o),o.setInitialState=o.setInitialState.bind(o),o.setNumber=o.setNumber.bind(o),o.scrollTo=o.scrollTo.bind(o),o.updateDialCode=o.updateDialCode.bind(o),o.notifyPhoneNumberChange=o.notifyPhoneNumberChange.bind(o),o.isValidNumber=o.isValidNumber.bind(o),o.isUnknownNanp=o.isUnknownNanp.bind(o),o.initRequests=o.initRequests.bind(o),o.updateFlagFromNumber=o.updateFlagFromNumber.bind(o),o.updatePlaceholder=o.updatePlaceholder.bind(o),o.loadAutoCountry=o.loadAutoCountry.bind(o),o.loadUtils=o.loadUtils.bind(o),o.processCountryData=o.processCountryData.bind(o),o.getNumber=o.getNumber.bind(o),o.setFlag=o.setFlag.bind(o),o.clickSelectedFlag=o.clickSelectedFlag.bind(o),o.updateValFromNumber=o.updateValFromNumber.bind(o),o.handleWindowScroll=o.handleWindowScroll.bind(o),o.handleDocumentKeyDown=o.handleDocumentKeyDown.bind(o),o.handleDocumentClick=o.handleDocumentClick.bind(o),o.bindDocumentClick=o.bindDocumentClick.bind(o),o.unbindDocumentClick=o.unbindDocumentClick.bind(o),o.searchForCountry=o.searchForCountry.bind(o),o.handleEnterKey=o.handleEnterKey.bind(o),o.toggleDropdown=o.toggleDropdown.bind(o),o.handleUpDownKey=o.handleUpDownKey.bind(o),o.handleInputChange=o.handleInputChange.bind(o),o.changeHighlightCountry=o.changeHighlightCountry.bind(o),o.formatNumber=o.formatNumber.bind(o),o.uniqueId=Math.random().toString(36).substring(2),o}return r(t,e),S(t,[{key:"componentDidMount",value:function(){var e=this;this.autoHideDialCode=this.props.autoHideDialCode,this.allowDropdown=this.props.allowDropdown,this.nationalMode=this.props.nationalMode,this.dropdownContainer="",this.nationalMode&&(this.autoHideDialCode=!1),this.props.separateDialCode&&(this.autoHideDialCode=!1,this.nationalMode=!1,this.allowDropdown=!0),this.processCountryData.call(this),this.tempCountry=this.getTempCountry(this.props.defaultCountry),"complete"===document.readyState?this.windowLoaded=!0:window.addEventListener("load",function(){e.windowLoaded=!0}),this.generateMarkup(),this.setInitialState(),this.initRequests(),this.deferreds.push(this.autoCountryDeferred.promise()),this.deferreds.push(this.utilsScriptDeferred.promise()),p.a.when(this.deferreds).done(function(){e.setInitialState()}),document.addEventListener("keydown",this.handleDocumentKeyDown)}},{key:"componentWillReceiveProps",value:function(e){this.props.value!==e.value&&this.setState({value:e.value}),this.props.disabled!==e.disabled&&this.setState({disabled:e.disabled}),"function"==typeof e.customPlaceholder&&this.props.customPlaceholder!==e.customPlaceholder&&this.updatePlaceholder(e)}},{key:"componentWillUpdate",value:function(e,t){t.showDropdown?(document.addEventListener("keydown",this.handleDocumentKeyDown),this.bindDocumentClick()):(document.removeEventListener("keydown",this.handleDocumentKeyDown),this.unbindDocumentClick())}},{key:"componentDidUpdate",value:function(e){this.props.value!==e.value&&this.updateFlagFromNumber(this.props.value)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleDocumentKeyDown),window.removeEventListener("scroll",this.handleWindowScroll),this.unbindDocumentClick()}},{key:"getTempCountry",value:function(e){if("auto"===e)return"auto";var t=M.a.getCountryData(this.countries,e);return t.iso2||(t=this.props.preferredCountries.length>0?M.a.getCountryData(this.countries,this.props.preferredCountries[0]):m.a.getCountries()[0]),t.iso2}},{key:"setNumber",value:function(e,t){this.updateFlagFromNumber(e),this.updateValFromNumber(e,!t)}},{key:"setFlag",value:function(e,t){var o=this,i=this.selectedCountryData&&this.selectedCountryData.iso2?this.selectedCountryData:{};this.selectedCountryData=e?M.a.getCountryData(this.countries,e,!1,!1,this.props.noCountryDataHandler):{},this.selectedCountryData.iso2&&(this.defaultCountry=this.selectedCountryData.iso2);var n=e?this.selectedCountryData.name+": +"+this.selectedCountryData.dialCode:"Unknown",r=this.state.dialCode;this.props.separateDialCode&&(r=this.selectedCountryData.dialCode?"+"+this.selectedCountryData.dialCode:"",i.dialCode&&delete this.wrapperClass["iti-sdc-"+(i.dialCode.length+1)],r&&(this.wrapperClass["iti-sdc-"+r.length]=!0));var a=0;e&&"auto"!==e&&(a=M.a.findIndex(this.preferredCountries,function(t){return t.iso2===e}),a===-1&&(a=M.a.findIndex(this.countries,function(t){return t.iso2===e}),a===-1&&(a=0),a+=this.preferredCountries.length)),this.tel&&this.state.showDropdown&&this.tel.focus();var l=this.updateDialCode(this.selectedCountryData.dialCode,!t);this.setState({value:l,showDropdown:!1,highlightedCountry:a,countryCode:e,title:n,dialCode:r},function(){if(o.updatePlaceholder(o.props),o.wrapperClass.active=!1,!t&&i.iso2!==e&&"function"==typeof o.props.onSelectFlag){var n=o.state.value;o.props.onSelectFlag(n,o.selectedCountryData)}})}},{key:"getExtension",value:function(e){return window.intlTelInputUtils?window.intlTelInputUtils.getExtension(this.getFullNumber(e),this.selectedCountryData.iso2):""}},{key:"getNumber",value:function(e,t){return window.intlTelInputUtils?window.intlTelInputUtils.formatNumber(this.getFullNumber(e),this.selectedCountryData.iso2,t):""}},{key:"getFullNumber",value:function(e){var t=this.props.separateDialCode?"+"+this.selectedCountryData.dialCode:"";return t+e}},{key:"getDialCode",value:function(e){var t="";if("+"===e.charAt(0))for(var o="",i=0,n=e.length;it?e.substr(0,t):e}},{key:"removeEmptyDialCode",value:function(){var e=this.state.value,t="+"===e.charAt(0);if(t){var o=M.a.getNumeric(e);o&&this.selectedCountryData.dialCode!==o||this.setState({value:""})}}},{key:"handleUpDownKey",value:function(e){var t=this.flagDropDown.querySelectorAll(".highlight")[0],o=t?t.previousElementSibling:void 0,i=t?t.nextElementSibling:void 0,n=e===this.keys.UP?o:i;if(n){n.getAttribute("class").indexOf("divider")>-1&&(n=e===this.keys.UP?n.previousElementSibling:n.nextElementSibling),this.scrollTo(n);var r=M.a.retrieveLiIndex(n);this.setState({showDropdown:!0,highlightedCountry:r})}}},{key:"handleEnterKey",value:function(){var e=this,t=this.flagDropDown.querySelectorAll(".highlight")[0];if(t){var o=M.a.retrieveLiIndex(t),i=t.getAttribute("data-country-code");this.setState({showDropdown:!1,highlightedCountry:o,countryCode:i},function(){e.setFlag(e.state.countryCode),e.unbindDocumentClick()})}}},{key:"searchForCountry",value:function(e){for(var t=0,o=this.countries.length;t2&&void 0!==arguments[2]&&arguments[2];if(t&&window.intlTelInputUtils&&this.selectedCountryData){var n=this.props.separateDialCode||!this.nationalMode&&"+"===e.charAt(0)?window.intlTelInputUtils.numberFormat.INTERNATIONAL:window.intlTelInputUtils.numberFormat.NATIONAL;e=window.intlTelInputUtils.formatNumber(e,this.selectedCountryData.iso2,n)}e=this.beforeSetNumber(e),this.setState({showDropdown:!1,value:e},function(){i&&o.notifyPhoneNumberChange(o.state.value),o.unbindDocumentClick()})}},{key:"updateFlagFromNumber",value:function(e,t){e&&this.nationalMode&&this.selectedCountryData&&"1"===this.selectedCountryData.dialCode&&"+"!==e.charAt(0)&&("1"!==e.charAt(0)&&(e="1"+e),e="+"+e);var o=this.getDialCode(e),i=null;if(o){var n=this.countryCodes[M.a.getNumeric(o)],r=this.selectedCountryData&&n.indexOf(this.selectedCountryData.iso2)!==-1;if(!r||this.isUnknownNanp(e,o))for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:this.props;if(window.intlTelInputUtils&&e.autoPlaceholder&&this.selectedCountryData){var t=window.intlTelInputUtils.numberType[e.numberType],o=this.selectedCountryData.iso2?window.intlTelInputUtils.getExampleNumber(this.selectedCountryData.iso2,this.nationalMode,t):"";o=this.beforeSetNumber(o,e),"function"==typeof e.customPlaceholder&&(o=e.customPlaceholder(o,this.selectedCountryData)),this.setState({placeholder:o})}}},{key:"toggleDropdown",value:function(e){var t=this;this.setState({showDropdown:!!e},function(){t.state.showDropdown||t.unbindDocumentClick()})}},{key:"scrollTo",value:function(e,t){try{var o=this.flagDropDown.querySelector(".country-list"),i=parseFloat(window.getComputedStyle(o).getPropertyValue("height"),10),n=M.a.offset(o).top,r=n+i,a=M.a.getOuterHeight(e),l=M.a.offset(e).top,s=l+a,d=i/2-a/2,u=l-n+o.scrollTop;if(lr){t&&(u+=d);var c=i-a;o.scrollTop=u-c}}catch(e){}}},{key:"updateDialCode",value:function(e,t){var o=this.state.value;if(!e)return o;var i=o;if(e="+"+e,"+"===o.charAt(0)){var n=this.getDialCode(o);i=n?o.replace(n,e):e}else this.nationalMode||this.props.separateDialCode||(o?i=e+o:!t&&this.autoHideDialCode||(i=e));return i!==o&&this.notifyPhoneNumberChange(i),i}},{key:"generateMarkup",value:function(){this.wrapperClass["allow-dropdown"]=this.allowDropdown,this.wrapperClass["separate-dial-code"]=this.props.separateDialCode,this.isMobile&&this.props.useMobileFullscreenDropdown&&(M.a.addClass(document.querySelector("body"),"iti-mobile"),this.dropdownContainer="body",window.addEventListener("scroll",this.handleWindowScroll))}},{key:"handleSelectedFlagKeydown",value:function(e){this.state.showDropdown||e.which!==this.keys.UP&&e.which!==this.keys.DOWN&&e.which!==this.keys.SPACE&&e.which!==this.keys.ENTER||(e.preventDefault(),e.stopPropagation(),this.toggleDropdown(!0)),e.which===this.keys.TAB&&this.toggleDropdown(!1)}},{key:"isValidNumber",value:function(e){var t=M.a.trim(e),o=this.nationalMode||this.props.separateDialCode?this.selectedCountryData.iso2:"";return!!window.intlTelInputUtils&&window.intlTelInputUtils.isValidNumber(t,o)}},{key:"formatFullNumber",value:function(e){return window.intlTelInputUtils?this.getNumber(e,window.intlTelInputUtils.numberFormat.INTERNATIONAL):e}},{key:"notifyPhoneNumberChange",value:function(e){if("function"==typeof this.props.onPhoneNumberChange){var t=this.formatFullNumber(e),o=this.isValidNumber(t);this.props.onPhoneNumberChange(o,e,this.selectedCountryData,t,this.getExtension(e))}}},{key:"beforeSetNumber",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.props;if(t.separateDialCode){var o=this.getDialCode(e);if(o){null!==this.selectedCountryData.areaCodes&&(o="+"+this.selectedCountryData.dialCode);var i=" "===e[o.length]||"-"===e[o.length]?o.length+1:o.length;e=e.substr(i)}}return this.cap(e)}},{key:"handleWindowScroll",value:function(){var e=this;this.setState({showDropdown:!1},function(){window.removeEventListener("scroll",e.handleWindowScroll)})}},{key:"handleDocumentKeyDown",value:function(e){var t=this,o=void 0;e.preventDefault(),e.which===this.keys.UP||e.which===this.keys.DOWN?this.handleUpDownKey(e.which):e.which===this.keys.ENTER?this.handleEnterKey():e.which===this.keys.ESC?this.setState({showDropdown:!1}):(e.which>=this.keys.A&&e.which<=this.keys.Z||e.which===this.keys.SPACE)&&(o&&clearTimeout(o),this.query||(this.query=""),this.query+=String.fromCharCode(e.which),this.searchForCountry(this.query),o=setTimeout(function(){t.query=""},1e3))}},{key:"handleDocumentClick",value:function(e){(null===e.target.getAttribute("class")||e.target.getAttribute("class")&&e.target.getAttribute("class").indexOf("country")===-1)&&(this.isOpening=!1),this.isOpening||this.toggleDropdown(!1),this.isOpening=!1}},{key:"handleInputChange",value:function(e){var t=this,o=this.props.format?this.formatNumber(e.target.value):e.target.value;void 0!==this.props.value?(this.updateFlagFromNumber(o),this.notifyPhoneNumberChange(o)):this.setState({value:o},function(){t.updateFlagFromNumber(o),t.notifyPhoneNumberChange(o)})}},{key:"changeHighlightCountry",value:function(e,t){this.setState({showDropdown:e,highlightedCountry:t})}},{key:"loadUtils",value:function(){var e=this;if(window.intlTelInputUtils)return void this.utilsScriptDeferred.resolve();var t=new XMLHttpRequest;t.open("GET",this.props.utilsScript,!0),t.onload=function(){if(t.status>=200&&t.status<400){var o=t.responseText;if(o&&!document.getElementById("intlTelInputUtils")){var i=document.getElementsByTagName("body")[0],n=document.createElement("script");n.id="intlTelInputUtils",n.text=o,i.appendChild(n)}e.utilsScriptDeferred.resolve()}},t.send()}},{key:"autoCountryLoaded",value:function(){"auto"===this.tempCountry&&(this.tempCountry=this.autoCountry,this.autoCountryDeferred.resolve())}},{key:"render",value:function(){this.wrapperClass[this.props.css[0]]=!0;var e=this.props.css[1],t=Object.assign({},this.props.style||{});this.wrapperClass.expanded=this.state.showDropdown;var o=u()(this.wrapperClass),i=this.selectedCountryData?this.selectedCountryData.name+": +"+this.selectedCountryData.dialCode:"Unknown",n=void 0!==this.props.value?this.props.value:this.state.value;return l.a.createElement("div",{className:o,style:t},l.a.createElement(g.a,{refCallback:this.setFlagDropdownRef,allowDropdown:this.allowDropdown,dropdownContainer:this.dropdownContainer,separateDialCode:this.props.separateDialCode,dialCode:this.state.dialCode,clickSelectedFlag:this.clickSelectedFlag,setFlag:this.setFlag,countryCode:this.state.countryCode,isMobile:this.isMobile,handleSelectedFlagKeydown:this.handleSelectedFlagKeydown,changeHighlightCountry:this.changeHighlightCountry,countries:this.countries,showDropdown:this.state.showDropdown,inputTop:this.state.offsetTop,inputOuterHeight:this.state.outerHeight,preferredCountries:this.preferredCountries,highlightedCountry:this.state.highlightedCountry,titleTip:i,flagDropdownProps:this.props.flagDropdownProps,uniqueId:this.uniqueId}),l.a.createElement(f.a,{refCallback:this.setTelRef,handleInputChange:this.handleInputChange,handleOnBlur:this.handleOnBlur,className:e,disabled:this.state.disabled,readonly:this.state.readonly,fieldName:this.props.fieldName,fieldId:this.props.fieldId,value:n,placeholder:void 0!==this.props.placeholder?this.props.placeholder:this.state.placeholder,autoFocus:this.props.autoFocus,autoComplete:this.props.autoComplete,inputProps:this.props.telInputProps}))}}]),t}(a.Component);y.defaultProps={css:["intl-tel-input",""],fieldName:"",fieldId:"",defaultValue:"",countriesData:null,allowDropdown:!0,autoHideDialCode:!0,autoPlaceholder:!0,customPlaceholder:null,excludeCountries:[],formatOnInit:!0,separateDialCode:!1,defaultCountry:"",geoIpLookup:null,nationalMode:!0,numberType:"MOBILE",noCountryDataHandler:null,onlyCountries:[],preferredCountries:["us","gb"],utilsScript:"",onPhoneNumberChange:null,onPhoneNumberBlur:null,onSelectFlag:null,disabled:!1,autoFocus:!1,useMobileFullscreenDropdown:!0,autoComplete:"off",telInputProps:{},flagDropdownProps:{},format:!1},t.default=y}])}); \ No newline at end of file diff --git a/example/example.js b/example/example.js index 7bf933321..086e61c95 100644 --- a/example/example.js +++ b/example/example.js @@ -1,3 +1,3 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("prop-types"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["prop-types","react","react-dom"],t):"object"==typeof exports?exports.IntlTelInput=t(require("prop-types"),require("react"),require("react-dom")):e.IntlTelInput=t(e.PropTypes,e.React,e.ReactDOM)}(this,function(e,t,o){return function(e){function t(n){if(o[n])return o[n].exports;var i=o[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var o={};return t.m=e,t.c=o,t.i=function(e){return e},t.d=function(e,o,n){t.o(e,o)||Object.defineProperty(e,o,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var o=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(o,"a",o),o},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=28)}([function(t,o){t.exports=e},function(e,o){e.exports=t},function(e,t,o){var n,i;!function(){"use strict";function o(){for(var e=[],t=0;t=0},retrieveLiIndex:function(e){if(!e)return-1;for(var t=e.parentNode.childNodes,o=0,n=0,i=t.length;n (/Users/vlad/salemove/react-intl-tel-input/node_modules/node-sass/lib/index.js:14:35)\n at Module._compile (internal/modules/cjs/loader.js:999:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n at Module.load (internal/modules/cjs/loader.js:863:32)\n at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n at Module.require (internal/modules/cjs/loader.js:887:19)\n at require (internal/modules/cjs/helpers.js:74:18)\n at Object. (/Users/vlad/salemove/react-intl-tel-input/node_modules/sass-loader/index.js:4:12)\n at Module._compile (internal/modules/cjs/loader.js:999:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n at Module.load (internal/modules/cjs/loader.js:863:32)\n at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n at Module.require (internal/modules/cjs/loader.js:887:19)\n at require (internal/modules/cjs/helpers.js:74:18)\n at loadLoader (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/loadLoader.js:13:17)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:165:10)\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:173:18\n at loadLoader (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/loadLoader.js:36:3)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at runLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:362:2)\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModule.js:141:35\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:364:11\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:170:18\n at loadLoader (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/loadLoader.js:27:11)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:165:10)\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:173:18\n at loadLoader (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/loadLoader.js:36:3)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at runLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:362:2)\n at NormalModule.doBuild (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModule.js:129:2)\n at NormalModule.build (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModule.js:180:15)\n at Compilation.buildModule (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/Compilation.js:127:10)\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/Compilation.js:404:9\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModuleFactory.js:242:4\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModuleFactory.js:93:13\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/tapable/lib/Tapable.js:204:11\n at NormalModuleFactory. (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/CompatibilityPlugin.js:51:4)\n at NormalModuleFactory.applyPluginsAsyncWaterfall (/Users/vlad/salemove/react-intl-tel-input/node_modules/tapable/lib/Tapable.js:208:13)\n at onDoneResolving (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModuleFactory.js:68:11)\n at onDoneResolving (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModuleFactory.js:189:6)\n at processTicksAndRejections (internal/process/task_queues.js:79:11)")},function(e,t,o){var n=o(13),i=o(0);e.exports=function(e,t,o){var i=e[t];if(i){var r=[];if(Object.keys(i).forEach(function(e){n.indexOf(e)===-1&&r.push(e)}),r.length)throw new Error("Prop "+t+" passed to "+o+". Has invalid keys "+r.join(", "))}},e.exports.isRequired=function(t,o,n){if(!t[o])throw new Error("Prop "+o+" passed to "+n+" is required");return e.exports(t,o,n)},e.exports.supportingArrays=i.oneOfType([i.arrayOf(e.exports),e.exports])},function(e,t){!function(t){function o(e){var t=y[e]={};return c(e.split(/\s+/),function(e){t[e]=!0}),t}var n={},i=Array.prototype,r=Object.prototype,a=r.hasOwnProperty,l=r.toString,s=i.forEach,u=i.indexOf,d=i.slice,c=function(e,t,o){var i,r,l;if(e)if(s&&e.forEach===s)e.forEach(t,o);else if(e.length===+e.length){for(r=0,l=e.length;r-1;)s.splice(t,1),i&&(t<=a&&a--,t<=l&&l--)}),this},has:function(e){return f(e,s)>-1},empty:function(){return s=[],this},disable:function(){return s=u=t=void 0,this},disabled:function(){return!s},lock:function(){return u=void 0,t||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!s||n&&!u||(i?u.push(t):d(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!n}};return p},g.Deferred=function(e){var t=[["resolve","done",g.Callbacks("once memory"),"resolved"],["reject","fail",g.Callbacks("once memory"),"rejected"],["notify","progress",g.Callbacks("memory")]],o="pending",n={state:function(){return o},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return g.Deferred(function(o){c(t,function(t,n){var r=t[0],a=e[n];i[t[1]](p(a)?function(){var e;try{e=a.apply(this,arguments)}catch(e){return void o.reject(e)}e&&p(e.promise)?e.promise().done(o.resolve).fail(o.reject).progress(o.notify):o["notify"!==r?"resolveWith":r+"With"](this===i?o:this,[e])}:o[r])}),e=null}).promise()},promise:function(e){return null!=e?h(e,n):n}},i={};return n.pipe=n.then,c(t,function(e,r){var a=e[2],l=e[3];n[e[1]]=a.add,l&&a.add(function(){o=l},t[1^r][2].disable,t[2][2].lock),i[e[0]]=a.fire,i[e[0]+"With"]=a.fireWith}),n.promise(i),e&&e.call(i,i),i},g.when=function(e){var t,o,n,i=0,r="array"===b(e)&&1===arguments.length?e:d.call(arguments),a=r.length,l=1!==a||e&&p(e.promise)?a:0,s=1===l?e:g.Deferred(),u=function(e,o,n){return function(i){o[e]=this,n[e]=arguments.length>1?d.call(arguments):i,n===t?s.notifyWith(o,n):--l||s.resolveWith(o,n)}};if(a>1)for(t=new Array(a),o=new Array(a),n=new Array(a);i1?t-1:0),n=1;nt,l=!r&&a?"-"+(i-1)+"px":"";this.listElement.style.top=l,this.listElement.setAttribute("class","country-list")}},{key:"setFlag",value:function(e){this.props.setFlag(e)}},{key:"appendListItem",value:function(e){var t=this,o=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.props.preferredCountries.length;return e.map(function(e,i){var r=o?i:i+n,l={country:!0,highlight:t.props.highlightedCountry===r,preferred:o},u=c()(l),d=o?"pref-":"";return s.a.createElement("li",{key:""+d+e.iso2,className:u,"data-dial-code":e.dialCode,"data-country-code":e.iso2,onMouseOver:t.props.isMobile?null:t.handleMouseOver,onClick:a(t.setFlag,e.iso2)},s.a.createElement("div",{ref:function(e){t.selectedFlag=e},className:"flag-box"},s.a.createElement("div",{ref:function(e){t.selectedFlagInner=e},className:"iti-flag "+e.iso2})),s.a.createElement("span",{className:"country-name"},e.name),s.a.createElement("span",{className:"dial-code"},"+",e.dialCode))})}},{key:"handleMouseOver",value:function(e){if(e.currentTarget.getAttribute("class").indexOf("country")>-1){var t=p.a.retrieveLiIndex(e.currentTarget);this.props.changeHighlightCountry(!0,t)}}},{key:"render",value:function(){var e=this,t="",o=this.props.preferredCountries,n=null,i=this.props.countries,r=c()({"country-list":!0,hide:!this.props.showDropdown}),a=null;return o.length&&(n=this.appendListItem(o,!0),a=s.a.createElement("div",{className:"divider"})),t=this.appendListItem(i),s.a.createElement("ul",{ref:function(t){e.listElement=t},className:r},n,a,t)}}]),t}(l.Component);t.a=f},function(e,t,o){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=o(1),l=o.n(a),s=o(0),u=(o.n(s),o(5)),d=o.n(u),c=function(){function e(e,t){for(var o=0;o=4},o.wrapperClass={},o.autoCountry="",o.tempCountry="",o.startedLoadingAutoCountry=!1,o.deferreds=[],o.autoCountryDeferred=new p.a.Deferred,o.utilsScriptDeferred=new p.a.Deferred,o.isOpening=!1,o.isMobile="undefined"!=typeof navigator&&S.test(navigator.userAgent),o.preferredCountries=[],o.countries=[],o.countryCodes={},o.windowLoaded=!1,o.keys={UP:38,DOWN:40,ENTER:13,ESC:27,PLUS:43,A:65,Z:90,SPACE:32,TAB:9},o.query="",o.state={showDropdown:!1,highlightedCountry:0,value:e.value||e.defaultValue,disabled:e.disabled,readonly:!1,offsetTop:0,outerHeight:0,placeholder:"",title:"",countryCode:"us",dialCode:""},o.selectedCountryData={},o.addCountryCode=o.addCountryCode.bind(o),o.autoCountryLoaded=o.autoCountryLoaded.bind(o),o.getDialCode=o.getDialCode.bind(o),o.handleOnBlur=o.handleOnBlur.bind(o),o.handleSelectedFlagKeydown=o.handleSelectedFlagKeydown.bind(o),o.setInitialState=o.setInitialState.bind(o),o.setNumber=o.setNumber.bind(o),o.scrollTo=o.scrollTo.bind(o),o.updateDialCode=o.updateDialCode.bind(o),o.notifyPhoneNumberChange=o.notifyPhoneNumberChange.bind(o),o.isValidNumber=o.isValidNumber.bind(o),o.isUnknownNanp=o.isUnknownNanp.bind(o),o.initRequests=o.initRequests.bind(o),o.updateFlagFromNumber=o.updateFlagFromNumber.bind(o),o.updatePlaceholder=o.updatePlaceholder.bind(o),o.loadAutoCountry=o.loadAutoCountry.bind(o),o.loadUtils=o.loadUtils.bind(o),o.processCountryData=o.processCountryData.bind(o),o.getNumber=o.getNumber.bind(o),o.setFlag=o.setFlag.bind(o),o.clickSelectedFlag=o.clickSelectedFlag.bind(o),o.updateValFromNumber=o.updateValFromNumber.bind(o),o.handleWindowScroll=o.handleWindowScroll.bind(o),o.handleDocumentKeyDown=o.handleDocumentKeyDown.bind(o),o.handleDocumentClick=o.handleDocumentClick.bind(o),o.bindDocumentClick=o.bindDocumentClick.bind(o),o.unbindDocumentClick=o.unbindDocumentClick.bind(o),o.searchForCountry=o.searchForCountry.bind(o),o.handleEnterKey=o.handleEnterKey.bind(o),o.toggleDropdown=o.toggleDropdown.bind(o),o.handleUpDownKey=o.handleUpDownKey.bind(o),o.handleInputChange=o.handleInputChange.bind(o),o.changeHighlightCountry=o.changeHighlightCountry.bind(o),o.formatNumber=o.formatNumber.bind(o),o}return r(t,e),M(t,[{key:"componentDidMount",value:function(){var e=this;this.autoHideDialCode=this.props.autoHideDialCode,this.allowDropdown=this.props.allowDropdown,this.nationalMode=this.props.nationalMode,this.dropdownContainer="",this.nationalMode&&(this.autoHideDialCode=!1),this.props.separateDialCode&&(this.autoHideDialCode=!1,this.nationalMode=!1,this.allowDropdown=!0),this.processCountryData.call(this),this.tempCountry=this.getTempCountry(this.props.defaultCountry),"complete"===document.readyState?this.windowLoaded=!0:window.addEventListener("load",function(){e.windowLoaded=!0}),this.generateMarkup(),this.setInitialState(),this.initRequests(),this.deferreds.push(this.autoCountryDeferred.promise()),this.deferreds.push(this.utilsScriptDeferred.promise()),p.a.when(this.deferreds).done(function(){e.setInitialState()}),document.addEventListener("keydown",this.handleDocumentKeyDown)}},{key:"componentWillReceiveProps",value:function(e){this.props.value!==e.value&&this.setState({value:e.value}),this.props.disabled!==e.disabled&&this.setState({disabled:e.disabled}),"function"==typeof e.customPlaceholder&&this.props.customPlaceholder!==e.customPlaceholder&&this.updatePlaceholder(e)}},{key:"componentWillUpdate",value:function(e,t){t.showDropdown?(document.addEventListener("keydown",this.handleDocumentKeyDown),this.bindDocumentClick()):(document.removeEventListener("keydown",this.handleDocumentKeyDown),this.unbindDocumentClick())}},{key:"componentDidUpdate",value:function(e){this.props.value!==e.value&&this.updateFlagFromNumber(this.props.value)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleDocumentKeyDown),window.removeEventListener("scroll",this.handleWindowScroll),this.unbindDocumentClick()}},{key:"getTempCountry",value:function(e){if("auto"===e)return"auto";var t=g.a.getCountryData(this.countries,e);return t.iso2||(t=this.props.preferredCountries.length>0?g.a.getCountryData(this.countries,this.props.preferredCountries[0]):f.a.getCountries()[0]),t.iso2}},{key:"setNumber",value:function(e,t){this.updateFlagFromNumber(e),this.updateValFromNumber(e,!t)}},{key:"setFlag",value:function(e,t){var o=this,n=this.selectedCountryData&&this.selectedCountryData.iso2?this.selectedCountryData:{};this.selectedCountryData=e?g.a.getCountryData(this.countries,e,!1,!1,this.props.noCountryDataHandler):{},this.selectedCountryData.iso2&&(this.defaultCountry=this.selectedCountryData.iso2);var i=e?this.selectedCountryData.name+": +"+this.selectedCountryData.dialCode:"Unknown",r=this.state.dialCode;this.props.separateDialCode&&(r=this.selectedCountryData.dialCode?"+"+this.selectedCountryData.dialCode:"",n.dialCode&&delete this.wrapperClass["iti-sdc-"+(n.dialCode.length+1)],r&&(this.wrapperClass["iti-sdc-"+r.length]=!0));var a=0;e&&"auto"!==e&&(a=g.a.findIndex(this.preferredCountries,function(t){return t.iso2===e}),a===-1&&(a=g.a.findIndex(this.countries,function(t){return t.iso2===e}),a===-1&&(a=0),a+=this.preferredCountries.length)),this.tel&&this.state.showDropdown&&this.tel.focus();var l=this.updateDialCode(this.selectedCountryData.dialCode,!t);this.setState({value:l,showDropdown:!1,highlightedCountry:a,countryCode:e,title:i,dialCode:r},function(){if(o.updatePlaceholder(o.props),o.wrapperClass.active=!1,!t&&n.iso2!==e&&"function"==typeof o.props.onSelectFlag){var i=o.state.value;o.props.onSelectFlag(i,o.selectedCountryData)}})}},{key:"getExtension",value:function(e){return window.intlTelInputUtils?window.intlTelInputUtils.getExtension(this.getFullNumber(e),this.selectedCountryData.iso2):""}},{key:"getNumber",value:function(e,t){return window.intlTelInputUtils?window.intlTelInputUtils.formatNumber(this.getFullNumber(e),this.selectedCountryData.iso2,t):""}},{key:"getFullNumber",value:function(e){var t=this.props.separateDialCode?"+"+this.selectedCountryData.dialCode:"";return t+e}},{key:"getDialCode",value:function(e){var t="";if("+"===e.charAt(0))for(var o="",n=0,i=e.length;nt?e.substr(0,t):e}},{key:"removeEmptyDialCode",value:function(){var e=this.state.value,t="+"===e.charAt(0);if(t){var o=g.a.getNumeric(e);o&&this.selectedCountryData.dialCode!==o||this.setState({value:""})}}},{key:"handleUpDownKey",value:function(e){var t=this.flagDropDown.querySelectorAll(".highlight")[0],o=t?t.previousElementSibling:void 0,n=t?t.nextElementSibling:void 0,i=e===this.keys.UP?o:n;if(i){i.getAttribute("class").indexOf("divider")>-1&&(i=e===this.keys.UP?i.previousElementSibling:i.nextElementSibling),this.scrollTo(i);var r=g.a.retrieveLiIndex(i);this.setState({showDropdown:!0,highlightedCountry:r})}}},{key:"handleEnterKey",value:function(){var e=this,t=this.flagDropDown.querySelectorAll(".highlight")[0];if(t){var o=g.a.retrieveLiIndex(t),n=t.getAttribute("data-country-code");this.setState({showDropdown:!1,highlightedCountry:o,countryCode:n},function(){e.setFlag(e.state.countryCode),e.unbindDocumentClick()})}}},{key:"searchForCountry",value:function(e){for(var t=0,o=this.countries.length;t2&&void 0!==arguments[2]&&arguments[2];if(t&&window.intlTelInputUtils&&this.selectedCountryData){var i=this.props.separateDialCode||!this.nationalMode&&"+"===e.charAt(0)?window.intlTelInputUtils.numberFormat.INTERNATIONAL:window.intlTelInputUtils.numberFormat.NATIONAL;e=window.intlTelInputUtils.formatNumber(e,this.selectedCountryData.iso2,i)}e=this.beforeSetNumber(e),this.setState({showDropdown:!1,value:e},function(){n&&o.notifyPhoneNumberChange(o.state.value),o.unbindDocumentClick()})}},{key:"updateFlagFromNumber",value:function(e,t){e&&this.nationalMode&&this.selectedCountryData&&"1"===this.selectedCountryData.dialCode&&"+"!==e.charAt(0)&&("1"!==e.charAt(0)&&(e="1"+e),e="+"+e);var o=this.getDialCode(e),n=null;if(o){var i=this.countryCodes[g.a.getNumeric(o)],r=this.selectedCountryData&&i.indexOf(this.selectedCountryData.iso2)!==-1;if(!r||this.isUnknownNanp(e,o))for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:this.props;if(window.intlTelInputUtils&&e.autoPlaceholder&&this.selectedCountryData){var t=window.intlTelInputUtils.numberType[e.numberType],o=this.selectedCountryData.iso2?window.intlTelInputUtils.getExampleNumber(this.selectedCountryData.iso2,this.nationalMode,t):"";o=this.beforeSetNumber(o,e),"function"==typeof e.customPlaceholder&&(o=e.customPlaceholder(o,this.selectedCountryData)),this.setState({placeholder:o})}}},{key:"toggleDropdown",value:function(e){var t=this;this.setState({showDropdown:!!e},function(){t.state.showDropdown||t.unbindDocumentClick()})}},{key:"scrollTo",value:function(e,t){try{var o=this.flagDropDown.querySelector(".country-list"),n=parseFloat(window.getComputedStyle(o).getPropertyValue("height"),10),i=g.a.offset(o).top,r=i+n,a=g.a.getOuterHeight(e),l=g.a.offset(e).top,s=l+a,u=n/2-a/2,d=l-i+o.scrollTop;if(lr){t&&(d+=u);var c=n-a;o.scrollTop=d-c}}catch(e){}}},{key:"updateDialCode",value:function(e,t){var o=this.state.value;if(!e)return o;var n=o;if(e="+"+e,"+"===o.charAt(0)){var i=this.getDialCode(o);n=i?o.replace(i,e):e}else this.nationalMode||this.props.separateDialCode||(o?n=e+o:!t&&this.autoHideDialCode||(n=e));return n!==o&&this.notifyPhoneNumberChange(n),n}},{key:"generateMarkup",value:function(){this.wrapperClass["allow-dropdown"]=this.allowDropdown,this.wrapperClass["separate-dial-code"]=this.props.separateDialCode,this.isMobile&&this.props.useMobileFullscreenDropdown&&(g.a.addClass(document.querySelector("body"),"iti-mobile"),this.dropdownContainer="body",window.addEventListener("scroll",this.handleWindowScroll))}},{key:"handleSelectedFlagKeydown",value:function(e){this.state.showDropdown||e.which!==this.keys.UP&&e.which!==this.keys.DOWN&&e.which!==this.keys.SPACE&&e.which!==this.keys.ENTER||(e.preventDefault(),e.stopPropagation(),this.toggleDropdown(!0)),e.which===this.keys.TAB&&this.toggleDropdown(!1)}},{key:"isValidNumber",value:function(e){var t=g.a.trim(e),o=this.nationalMode||this.props.separateDialCode?this.selectedCountryData.iso2:"";return!!window.intlTelInputUtils&&window.intlTelInputUtils.isValidNumber(t,o)}},{key:"formatFullNumber",value:function(e){return window.intlTelInputUtils?this.getNumber(e,window.intlTelInputUtils.numberFormat.INTERNATIONAL):e}},{key:"notifyPhoneNumberChange",value:function(e){if("function"==typeof this.props.onPhoneNumberChange){var t=this.formatFullNumber(e),o=this.isValidNumber(t);this.props.onPhoneNumberChange(o,e,this.selectedCountryData,t,this.getExtension(e))}}},{key:"beforeSetNumber",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.props;if(t.separateDialCode){var o=this.getDialCode(e);if(o){null!==this.selectedCountryData.areaCodes&&(o="+"+this.selectedCountryData.dialCode);var n=" "===e[o.length]||"-"===e[o.length]?o.length+1:o.length;e=e.substr(n)}}return this.cap(e)}},{key:"handleWindowScroll",value:function(){var e=this;this.setState({showDropdown:!1},function(){window.removeEventListener("scroll",e.handleWindowScroll)})}},{key:"handleDocumentKeyDown",value:function(e){var t=this,o=void 0;e.preventDefault(),e.which===this.keys.UP||e.which===this.keys.DOWN?this.handleUpDownKey(e.which):e.which===this.keys.ENTER?this.handleEnterKey():e.which===this.keys.ESC?this.setState({showDropdown:!1}):(e.which>=this.keys.A&&e.which<=this.keys.Z||e.which===this.keys.SPACE)&&(o&&clearTimeout(o),this.query||(this.query=""),this.query+=String.fromCharCode(e.which),this.searchForCountry(this.query),o=setTimeout(function(){t.query=""},1e3))}},{key:"handleDocumentClick",value:function(e){(null===e.target.getAttribute("class")||e.target.getAttribute("class")&&e.target.getAttribute("class").indexOf("country")===-1)&&(this.isOpening=!1),this.isOpening||this.toggleDropdown(!1),this.isOpening=!1}},{key:"handleInputChange",value:function(e){var t=this,o=this.props.format?this.formatNumber(e.target.value):e.target.value;void 0!==this.props.value?(this.updateFlagFromNumber(o),this.notifyPhoneNumberChange(o)):this.setState({value:o},function(){t.updateFlagFromNumber(o),t.notifyPhoneNumberChange(o)})}},{key:"changeHighlightCountry",value:function(e,t){this.setState({showDropdown:e,highlightedCountry:t})}},{key:"loadUtils",value:function(){var e=this;if(window.intlTelInputUtils)return void this.utilsScriptDeferred.resolve();var t=new XMLHttpRequest;t.open("GET",this.props.utilsScript,!0),t.onload=function(){if(t.status>=200&&t.status<400){var o=t.responseText;if(o&&!document.getElementById("intlTelInputUtils")){var n=document.getElementsByTagName("body")[0],i=document.createElement("script");i.id="intlTelInputUtils",i.text=o,n.appendChild(i)}e.utilsScriptDeferred.resolve()}},t.send()}},{key:"autoCountryLoaded",value:function(){"auto"===this.tempCountry&&(this.tempCountry=this.autoCountry,this.autoCountryDeferred.resolve())}},{key:"render",value:function(){this.wrapperClass[this.props.css[0]]=!0;var e=this.props.css[1],t=Object.assign({},this.props.style||{});this.wrapperClass.expanded=this.state.showDropdown;var o=d()(this.wrapperClass),n=this.selectedCountryData?this.selectedCountryData.name+": +"+this.selectedCountryData.dialCode:"Unknown",i=void 0!==this.props.value?this.props.value:this.state.value;return l.a.createElement("div",{className:o,style:t},l.a.createElement(m.a,{refCallback:this.setFlagDropdownRef,allowDropdown:this.allowDropdown,dropdownContainer:this.dropdownContainer,separateDialCode:this.props.separateDialCode,dialCode:this.state.dialCode,clickSelectedFlag:this.clickSelectedFlag,setFlag:this.setFlag,countryCode:this.state.countryCode,isMobile:this.isMobile,handleSelectedFlagKeydown:this.handleSelectedFlagKeydown,changeHighlightCountry:this.changeHighlightCountry,countries:this.countries,showDropdown:this.state.showDropdown,inputTop:this.state.offsetTop,inputOuterHeight:this.state.outerHeight,preferredCountries:this.preferredCountries,highlightedCountry:this.state.highlightedCountry,titleTip:n}),l.a.createElement(b.a,{refCallback:this.setTelRef,handleInputChange:this.handleInputChange,handleOnBlur:this.handleOnBlur,className:e,disabled:this.state.disabled,readonly:this.state.readonly,fieldName:this.props.fieldName,fieldId:this.props.fieldId,value:i,placeholder:void 0!==this.props.placeholder?this.props.placeholder:this.state.placeholder,autoFocus:this.props.autoFocus,autoComplete:this.props.autoComplete,inputProps:this.props.telInputProps}))}}]),t}(a.Component);k.defaultProps={css:["intl-tel-input",""],fieldName:"",fieldId:"",defaultValue:"",countriesData:null,allowDropdown:!0,autoHideDialCode:!0,autoPlaceholder:!0,customPlaceholder:null,excludeCountries:[],formatOnInit:!0,separateDialCode:!1,defaultCountry:"",geoIpLookup:null,nationalMode:!0,numberType:"MOBILE",noCountryDataHandler:null,onlyCountries:[],preferredCountries:["us","gb"],utilsScript:"",onPhoneNumberChange:null,onPhoneNumberBlur:null,onSelectFlag:null,disabled:!1,autoFocus:!1,useMobileFullscreenDropdown:!0,autoComplete:"off",telInputProps:{},format:!1},t.default=k},function(e,t,o){"use strict";function n(){}function i(e){try{return e.then}catch(e){return g=e,y}}function r(e,t){try{return e(t)}catch(e){return g=e,y}}function a(e,t,o){try{e(t,o)}catch(e){return g=e,y}}function l(e){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._45=0,this._81=0,this._65=null,this._54=null,e!==n&&m(e,this)}function s(e,t,o){return new e.constructor(function(i,r){var a=new l(n);a.then(i,r),u(e,new f(t,o,a))})}function u(e,t){for(;3===e._81;)e=e._65;return l._10&&l._10(e),0===e._81?0===e._45?(e._45=1,void(e._54=t)):1===e._45?(e._45=2,void(e._54=[e._54,t])):void e._54.push(t):void d(e,t)}function d(e,t){b(function(){var o=1===e._81?t.onFulfilled:t.onRejected;if(null===o)return void(1===e._81?c(t.promise,e._65):p(t.promise,e._65));var n=r(o,e._65);n===y?p(t.promise,g):c(t.promise,n)})}function c(e,t){if(t===e)return p(e,new TypeError("A promise cannot be resolved with itself."));if(t&&("object"==typeof t||"function"==typeof t)){var o=i(t);if(o===y)return p(e,g);if(o===e.then&&t instanceof l)return e._81=3,e._65=t,void h(e);if("function"==typeof o)return void m(o.bind(t),e)}e._81=1,e._65=t,h(e)}function p(e,t){e._81=2,e._65=t,l._97&&l._97(e,t),h(e)}function h(e){if(1===e._45&&(u(e,e._54),e._54=null),2===e._45){for(var t=0;td){for(var t=0,o=l.length-u;t1)for(var o=1;o-1?t:e}function h(e,t){t=t||{};var o=t.body;if(e instanceof h){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new i(e.headers)),this.method=e.method,this.mode=e.mode,o||null==e._bodyInit||(o=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"omit",!t.headers&&this.headers||(this.headers=new i(t.headers)),this.method=p(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function f(e){var t=new FormData;return e.trim().split("&").forEach(function(e){if(e){var o=e.split("="),n=o.shift().replace(/\+/g," "),i=o.join("=").replace(/\+/g," ");t.append(decodeURIComponent(n),decodeURIComponent(i))}}),t}function m(e){var t=new i;return e.split(/\r?\n/).forEach(function(e){var o=e.split(":"),n=o.shift().trim();if(n){var i=o.join(":").trim();t.append(n,i)}}),t}function b(e,t){t||(t={}),this.type="default",this.status="status"in t?t.status:200,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new i(t.headers),this.url=t.url||"",this._initBody(e)}if(!e.fetch){var g={searchParams:"URLSearchParams"in e,iterable:"Symbol"in e&&"iterator"in Symbol,blob:"FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in e,arrayBuffer:"ArrayBuffer"in e};if(g.arrayBuffer)var y=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],M=function(e){return e&&DataView.prototype.isPrototypeOf(e)},S=ArrayBuffer.isView||function(e){return e&&y.indexOf(Object.prototype.toString.call(e))>-1};i.prototype.append=function(e,n){e=t(e),n=o(n);var i=this.map[e];this.map[e]=i?i+","+n:n},i.prototype.delete=function(e){delete this.map[t(e)]},i.prototype.get=function(e){return e=t(e),this.has(e)?this.map[e]:null},i.prototype.has=function(e){return this.map.hasOwnProperty(t(e))},i.prototype.set=function(e,n){this.map[t(e)]=o(n)},i.prototype.forEach=function(e,t){for(var o in this.map)this.map.hasOwnProperty(o)&&e.call(t,this.map[o],o,this)},i.prototype.keys=function(){var e=[];return this.forEach(function(t,o){e.push(o)}),n(e)},i.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),n(e)},i.prototype.entries=function(){var e=[];return this.forEach(function(t,o){e.push([o,t])}),n(e)},g.iterable&&(i.prototype[Symbol.iterator]=i.prototype.entries);var k=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];h.prototype.clone=function(){return new h(this,{body:this._bodyInit})},c.call(h.prototype),c.call(b.prototype),b.prototype.clone=function(){return new b(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new i(this.headers),url:this.url})},b.error=function(){var e=new b(null,{status:0,statusText:""});return e.type="error",e};var C=[301,302,303,307,308];b.redirect=function(e,t){if(C.indexOf(t)===-1)throw new RangeError("Invalid status code");return new b(null,{status:t,headers:{location:e}})},e.Headers=i,e.Request=h,e.Response=b,e.fetch=function(e,t){return new Promise(function(o,n){var i=new h(e,t),r=new XMLHttpRequest;r.onload=function(){var e={status:r.status,statusText:r.statusText,headers:m(r.getAllResponseHeaders()||"")};e.url="responseURL"in r?r.responseURL:e.headers.get("X-Request-URL");var t="response"in r?r.response:r.responseText;o(new b(t,e))},r.onerror=function(){n(new TypeError("Network request failed"))},r.ontimeout=function(){n(new TypeError("Network request failed"))},r.open(i.method,i.url,!0),"include"===i.credentials&&(r.withCredentials=!0),"responseType"in r&&g.blob&&(r.responseType="blob"),i.headers.forEach(function(e,t){r.setRequestHeader(t,e)}),r.send("undefined"==typeof i._bodyInit?null:i._bodyInit)})},e.fetch.polyfill=!0}}("undefined"!=typeof self?self:this)},function(e,t,o){o(17),e.exports=o(18)}])}); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("prop-types"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["prop-types","react","react-dom"],t):"object"==typeof exports?exports.IntlTelInput=t(require("prop-types"),require("react"),require("react-dom")):e.IntlTelInput=t(e.PropTypes,e.React,e.ReactDOM)}(this,function(e,t,o){return function(e){function t(n){if(o[n])return o[n].exports;var i=o[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var o={};return t.m=e,t.c=o,t.i=function(e){return e},t.d=function(e,o,n){t.o(e,o)||Object.defineProperty(e,o,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var o=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(o,"a",o),o},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=28)}([function(t,o){t.exports=e},function(e,o){e.exports=t},function(e,t,o){var n,i;!function(){"use strict";function o(){for(var e=[],t=0;t=0},retrieveLiIndex:function(e){if(!e)return-1;for(var t=e.parentNode.childNodes,o=0,n=0,i=t.length;n (/Users/vlad/salemove/react-intl-tel-input/node_modules/node-sass/lib/index.js:14:35)\n at Module._compile (internal/modules/cjs/loader.js:999:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n at Module.load (internal/modules/cjs/loader.js:863:32)\n at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n at Module.require (internal/modules/cjs/loader.js:887:19)\n at require (internal/modules/cjs/helpers.js:74:18)\n at Object. (/Users/vlad/salemove/react-intl-tel-input/node_modules/sass-loader/index.js:4:12)\n at Module._compile (internal/modules/cjs/loader.js:999:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n at Module.load (internal/modules/cjs/loader.js:863:32)\n at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n at Module.require (internal/modules/cjs/loader.js:887:19)\n at require (internal/modules/cjs/helpers.js:74:18)\n at loadLoader (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/loadLoader.js:13:17)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:165:10)\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:173:18\n at loadLoader (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/loadLoader.js:36:3)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at runLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:362:2)\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModule.js:141:35\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:364:11\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:170:18\n at loadLoader (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/loadLoader.js:27:11)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:165:10)\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:173:18\n at loadLoader (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/loadLoader.js:36:3)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at runLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:362:2)\n at NormalModule.doBuild (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModule.js:129:2)\n at NormalModule.build (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModule.js:180:15)\n at Compilation.buildModule (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/Compilation.js:127:10)\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/Compilation.js:404:9\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModuleFactory.js:242:4\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModuleFactory.js:93:13\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/tapable/lib/Tapable.js:204:11\n at NormalModuleFactory. (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/CompatibilityPlugin.js:51:4)\n at NormalModuleFactory.applyPluginsAsyncWaterfall (/Users/vlad/salemove/react-intl-tel-input/node_modules/tapable/lib/Tapable.js:208:13)\n at onDoneResolving (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModuleFactory.js:68:11)\n at onDoneResolving (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModuleFactory.js:189:6)\n at processTicksAndRejections (internal/process/task_queues.js:79:11)")},function(e,t,o){var n=o(13),i=o(0);e.exports=function(e,t,o){var i=e[t];if(i){var r=[];if(Object.keys(i).forEach(function(e){n.indexOf(e)===-1&&r.push(e)}),r.length)throw new Error("Prop "+t+" passed to "+o+". Has invalid keys "+r.join(", "))}},e.exports.isRequired=function(t,o,n){if(!t[o])throw new Error("Prop "+o+" passed to "+n+" is required");return e.exports(t,o,n)},e.exports.supportingArrays=i.oneOfType([i.arrayOf(e.exports),e.exports])},function(e,t){!function(t){function o(e){var t=y[e]={};return c(e.split(/\s+/),function(e){t[e]=!0}),t}var n={},i=Array.prototype,r=Object.prototype,a=r.hasOwnProperty,l=r.toString,s=i.forEach,u=i.indexOf,d=i.slice,c=function(e,t,o){var i,r,l;if(e)if(s&&e.forEach===s)e.forEach(t,o);else if(e.length===+e.length){for(r=0,l=e.length;r-1;)s.splice(t,1),i&&(t<=a&&a--,t<=l&&l--)}),this},has:function(e){return f(e,s)>-1},empty:function(){return s=[],this},disable:function(){return s=u=t=void 0,this},disabled:function(){return!s},lock:function(){return u=void 0,t||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!s||n&&!u||(i?u.push(t):d(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!n}};return p},g.Deferred=function(e){var t=[["resolve","done",g.Callbacks("once memory"),"resolved"],["reject","fail",g.Callbacks("once memory"),"rejected"],["notify","progress",g.Callbacks("memory")]],o="pending",n={state:function(){return o},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return g.Deferred(function(o){c(t,function(t,n){var r=t[0],a=e[n];i[t[1]](p(a)?function(){var e;try{e=a.apply(this,arguments)}catch(e){return void o.reject(e)}e&&p(e.promise)?e.promise().done(o.resolve).fail(o.reject).progress(o.notify):o["notify"!==r?"resolveWith":r+"With"](this===i?o:this,[e])}:o[r])}),e=null}).promise()},promise:function(e){return null!=e?h(e,n):n}},i={};return n.pipe=n.then,c(t,function(e,r){var a=e[2],l=e[3];n[e[1]]=a.add,l&&a.add(function(){o=l},t[1^r][2].disable,t[2][2].lock),i[e[0]]=a.fire,i[e[0]+"With"]=a.fireWith}),n.promise(i),e&&e.call(i,i),i},g.when=function(e){var t,o,n,i=0,r="array"===b(e)&&1===arguments.length?e:d.call(arguments),a=r.length,l=1!==a||e&&p(e.promise)?a:0,s=1===l?e:g.Deferred(),u=function(e,o,n){return function(i){o[e]=this,n[e]=arguments.length>1?d.call(arguments):i,n===t?s.notifyWith(o,n):--l||s.resolveWith(o,n)}};if(a>1)for(t=new Array(a),o=new Array(a),n=new Array(a);i1?t-1:0),n=1;nt,l=!r&&a?"-"+(i-1)+"px":"";this.listElement.style.top=l,this.listElement.setAttribute("class","country-list")}},{key:"setFlag",value:function(e){this.props.setFlag(e)}},{key:"appendListItem",value:function(e){var t=this,o=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.props.preferredCountries.length;return e.map(function(e,i){var r=o?i:i+n,l={country:!0,highlight:t.props.highlightedCountry===r,preferred:o},u=c()(l),d=o?"pref-":"",p=t.props.selectedCountryCode===e.iso2;return s.a.createElement("li",{key:""+d+e.iso2,className:u,"data-dial-code":e.dialCode,"data-country-code":e.iso2,onMouseOver:t.props.isMobile?null:t.handleMouseOver,onClick:a(t.setFlag,e.iso2),role:"option","aria-selected":p,id:t.props.getItemId(r),tabIndex:"-1"},s.a.createElement("div",{ref:function(e){t.selectedFlag=e},className:"flag-box"},s.a.createElement("div",{ref:function(e){t.selectedFlagInner=e},className:"iti-flag "+e.iso2})),s.a.createElement("span",{className:"country-name"},e.name),s.a.createElement("span",{className:"dial-code"},"+",e.dialCode))})}},{key:"handleMouseOver",value:function(e){if(e.currentTarget.getAttribute("class").indexOf("country")>-1){var t=p.a.retrieveLiIndex(e.currentTarget);this.props.changeHighlightCountry(!0,t)}}},{key:"render",value:function(){var e=this,t="",o=this.props.preferredCountries,n=null,i=this.props.countries,r=c()({"country-list":!0,hide:!this.props.showDropdown}),a=null;return o.length&&(n=this.appendListItem(o,!0),a=s.a.createElement("div",{className:"divider"})),t=this.appendListItem(i),s.a.createElement("ul",{ref:function(t){e.listElement=t},className:r,id:this.props.countryListId,role:"listbox"},n,a,t)}}]),t}(l.Component);t.a=f},function(e,t,o){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=o(1),l=o.n(a),s=o(0),u=(o.n(s),o(5)),d=o.n(u),c=function(){function e(e,t){for(var o=0;o=4},o.wrapperClass={},o.autoCountry="",o.tempCountry="",o.startedLoadingAutoCountry=!1,o.deferreds=[],o.autoCountryDeferred=new p.a.Deferred,o.utilsScriptDeferred=new p.a.Deferred,o.isOpening=!1,o.isMobile="undefined"!=typeof navigator&&S.test(navigator.userAgent),o.preferredCountries=[],o.countries=[],o.countryCodes={},o.windowLoaded=!1,o.keys={UP:38,DOWN:40,ENTER:13,ESC:27,PLUS:43,A:65,Z:90,SPACE:32,TAB:9},o.query="",o.state={showDropdown:!1,highlightedCountry:0,value:e.value||e.defaultValue,disabled:e.disabled,readonly:!1,offsetTop:0,outerHeight:0,placeholder:"",title:"",countryCode:"us",dialCode:""},o.selectedCountryData={},o.addCountryCode=o.addCountryCode.bind(o),o.autoCountryLoaded=o.autoCountryLoaded.bind(o),o.getDialCode=o.getDialCode.bind(o),o.handleOnBlur=o.handleOnBlur.bind(o),o.handleSelectedFlagKeydown=o.handleSelectedFlagKeydown.bind(o),o.setInitialState=o.setInitialState.bind(o),o.setNumber=o.setNumber.bind(o),o.scrollTo=o.scrollTo.bind(o),o.updateDialCode=o.updateDialCode.bind(o),o.notifyPhoneNumberChange=o.notifyPhoneNumberChange.bind(o),o.isValidNumber=o.isValidNumber.bind(o),o.isUnknownNanp=o.isUnknownNanp.bind(o),o.initRequests=o.initRequests.bind(o),o.updateFlagFromNumber=o.updateFlagFromNumber.bind(o),o.updatePlaceholder=o.updatePlaceholder.bind(o),o.loadAutoCountry=o.loadAutoCountry.bind(o),o.loadUtils=o.loadUtils.bind(o),o.processCountryData=o.processCountryData.bind(o),o.getNumber=o.getNumber.bind(o),o.setFlag=o.setFlag.bind(o),o.clickSelectedFlag=o.clickSelectedFlag.bind(o),o.updateValFromNumber=o.updateValFromNumber.bind(o),o.handleWindowScroll=o.handleWindowScroll.bind(o),o.handleDocumentKeyDown=o.handleDocumentKeyDown.bind(o),o.handleDocumentClick=o.handleDocumentClick.bind(o),o.bindDocumentClick=o.bindDocumentClick.bind(o),o.unbindDocumentClick=o.unbindDocumentClick.bind(o),o.searchForCountry=o.searchForCountry.bind(o),o.handleEnterKey=o.handleEnterKey.bind(o),o.toggleDropdown=o.toggleDropdown.bind(o),o.handleUpDownKey=o.handleUpDownKey.bind(o),o.handleInputChange=o.handleInputChange.bind(o),o.changeHighlightCountry=o.changeHighlightCountry.bind(o),o.formatNumber=o.formatNumber.bind(o),o.uniqueId=Math.random().toString(36).substring(2),o}return r(t,e),M(t,[{key:"componentDidMount",value:function(){var e=this;this.autoHideDialCode=this.props.autoHideDialCode,this.allowDropdown=this.props.allowDropdown,this.nationalMode=this.props.nationalMode,this.dropdownContainer="",this.nationalMode&&(this.autoHideDialCode=!1),this.props.separateDialCode&&(this.autoHideDialCode=!1,this.nationalMode=!1,this.allowDropdown=!0),this.processCountryData.call(this),this.tempCountry=this.getTempCountry(this.props.defaultCountry),"complete"===document.readyState?this.windowLoaded=!0:window.addEventListener("load",function(){e.windowLoaded=!0}),this.generateMarkup(),this.setInitialState(),this.initRequests(),this.deferreds.push(this.autoCountryDeferred.promise()),this.deferreds.push(this.utilsScriptDeferred.promise()),p.a.when(this.deferreds).done(function(){e.setInitialState()}),document.addEventListener("keydown",this.handleDocumentKeyDown)}},{key:"componentWillReceiveProps",value:function(e){this.props.value!==e.value&&this.setState({value:e.value}),this.props.disabled!==e.disabled&&this.setState({disabled:e.disabled}),"function"==typeof e.customPlaceholder&&this.props.customPlaceholder!==e.customPlaceholder&&this.updatePlaceholder(e)}},{key:"componentWillUpdate",value:function(e,t){t.showDropdown?(document.addEventListener("keydown",this.handleDocumentKeyDown),this.bindDocumentClick()):(document.removeEventListener("keydown",this.handleDocumentKeyDown),this.unbindDocumentClick())}},{key:"componentDidUpdate",value:function(e){this.props.value!==e.value&&this.updateFlagFromNumber(this.props.value)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleDocumentKeyDown),window.removeEventListener("scroll",this.handleWindowScroll),this.unbindDocumentClick()}},{key:"getTempCountry",value:function(e){if("auto"===e)return"auto";var t=g.a.getCountryData(this.countries,e);return t.iso2||(t=this.props.preferredCountries.length>0?g.a.getCountryData(this.countries,this.props.preferredCountries[0]):f.a.getCountries()[0]),t.iso2}},{key:"setNumber",value:function(e,t){this.updateFlagFromNumber(e),this.updateValFromNumber(e,!t)}},{key:"setFlag",value:function(e,t){var o=this,n=this.selectedCountryData&&this.selectedCountryData.iso2?this.selectedCountryData:{};this.selectedCountryData=e?g.a.getCountryData(this.countries,e,!1,!1,this.props.noCountryDataHandler):{},this.selectedCountryData.iso2&&(this.defaultCountry=this.selectedCountryData.iso2);var i=e?this.selectedCountryData.name+": +"+this.selectedCountryData.dialCode:"Unknown",r=this.state.dialCode;this.props.separateDialCode&&(r=this.selectedCountryData.dialCode?"+"+this.selectedCountryData.dialCode:"",n.dialCode&&delete this.wrapperClass["iti-sdc-"+(n.dialCode.length+1)],r&&(this.wrapperClass["iti-sdc-"+r.length]=!0));var a=0;e&&"auto"!==e&&(a=g.a.findIndex(this.preferredCountries,function(t){return t.iso2===e}),a===-1&&(a=g.a.findIndex(this.countries,function(t){return t.iso2===e}),a===-1&&(a=0),a+=this.preferredCountries.length)),this.tel&&this.state.showDropdown&&this.tel.focus();var l=this.updateDialCode(this.selectedCountryData.dialCode,!t);this.setState({value:l,showDropdown:!1,highlightedCountry:a,countryCode:e,title:i,dialCode:r},function(){if(o.updatePlaceholder(o.props),o.wrapperClass.active=!1,!t&&n.iso2!==e&&"function"==typeof o.props.onSelectFlag){var i=o.state.value;o.props.onSelectFlag(i,o.selectedCountryData)}})}},{key:"getExtension",value:function(e){return window.intlTelInputUtils?window.intlTelInputUtils.getExtension(this.getFullNumber(e),this.selectedCountryData.iso2):""}},{key:"getNumber",value:function(e,t){return window.intlTelInputUtils?window.intlTelInputUtils.formatNumber(this.getFullNumber(e),this.selectedCountryData.iso2,t):""}},{key:"getFullNumber",value:function(e){var t=this.props.separateDialCode?"+"+this.selectedCountryData.dialCode:"";return t+e}},{key:"getDialCode",value:function(e){var t="";if("+"===e.charAt(0))for(var o="",n=0,i=e.length;nt?e.substr(0,t):e}},{key:"removeEmptyDialCode",value:function(){var e=this.state.value,t="+"===e.charAt(0);if(t){var o=g.a.getNumeric(e);o&&this.selectedCountryData.dialCode!==o||this.setState({value:""})}}},{key:"handleUpDownKey",value:function(e){var t=this.flagDropDown.querySelectorAll(".highlight")[0],o=t?t.previousElementSibling:void 0,n=t?t.nextElementSibling:void 0,i=e===this.keys.UP?o:n;if(i){i.getAttribute("class").indexOf("divider")>-1&&(i=e===this.keys.UP?i.previousElementSibling:i.nextElementSibling),this.scrollTo(i);var r=g.a.retrieveLiIndex(i);this.setState({showDropdown:!0,highlightedCountry:r})}}},{key:"handleEnterKey",value:function(){var e=this,t=this.flagDropDown.querySelectorAll(".highlight")[0];if(t){var o=g.a.retrieveLiIndex(t),n=t.getAttribute("data-country-code");this.setState({showDropdown:!1,highlightedCountry:o,countryCode:n},function(){e.setFlag(e.state.countryCode),e.unbindDocumentClick()})}}},{key:"searchForCountry",value:function(e){for(var t=0,o=this.countries.length;t2&&void 0!==arguments[2]&&arguments[2];if(t&&window.intlTelInputUtils&&this.selectedCountryData){var i=this.props.separateDialCode||!this.nationalMode&&"+"===e.charAt(0)?window.intlTelInputUtils.numberFormat.INTERNATIONAL:window.intlTelInputUtils.numberFormat.NATIONAL;e=window.intlTelInputUtils.formatNumber(e,this.selectedCountryData.iso2,i)}e=this.beforeSetNumber(e),this.setState({showDropdown:!1,value:e},function(){n&&o.notifyPhoneNumberChange(o.state.value),o.unbindDocumentClick()})}},{key:"updateFlagFromNumber",value:function(e,t){e&&this.nationalMode&&this.selectedCountryData&&"1"===this.selectedCountryData.dialCode&&"+"!==e.charAt(0)&&("1"!==e.charAt(0)&&(e="1"+e),e="+"+e);var o=this.getDialCode(e),n=null;if(o){var i=this.countryCodes[g.a.getNumeric(o)],r=this.selectedCountryData&&i.indexOf(this.selectedCountryData.iso2)!==-1;if(!r||this.isUnknownNanp(e,o))for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:this.props;if(window.intlTelInputUtils&&e.autoPlaceholder&&this.selectedCountryData){var t=window.intlTelInputUtils.numberType[e.numberType],o=this.selectedCountryData.iso2?window.intlTelInputUtils.getExampleNumber(this.selectedCountryData.iso2,this.nationalMode,t):"";o=this.beforeSetNumber(o,e),"function"==typeof e.customPlaceholder&&(o=e.customPlaceholder(o,this.selectedCountryData)),this.setState({placeholder:o})}}},{key:"toggleDropdown",value:function(e){var t=this;this.setState({showDropdown:!!e},function(){t.state.showDropdown||t.unbindDocumentClick()})}},{key:"scrollTo",value:function(e,t){try{var o=this.flagDropDown.querySelector(".country-list"),n=parseFloat(window.getComputedStyle(o).getPropertyValue("height"),10),i=g.a.offset(o).top,r=i+n,a=g.a.getOuterHeight(e),l=g.a.offset(e).top,s=l+a,u=n/2-a/2,d=l-i+o.scrollTop;if(lr){t&&(d+=u);var c=n-a;o.scrollTop=d-c}}catch(e){}}},{key:"updateDialCode",value:function(e,t){var o=this.state.value;if(!e)return o;var n=o;if(e="+"+e,"+"===o.charAt(0)){var i=this.getDialCode(o);n=i?o.replace(i,e):e}else this.nationalMode||this.props.separateDialCode||(o?n=e+o:!t&&this.autoHideDialCode||(n=e));return n!==o&&this.notifyPhoneNumberChange(n),n}},{key:"generateMarkup",value:function(){this.wrapperClass["allow-dropdown"]=this.allowDropdown,this.wrapperClass["separate-dial-code"]=this.props.separateDialCode,this.isMobile&&this.props.useMobileFullscreenDropdown&&(g.a.addClass(document.querySelector("body"),"iti-mobile"),this.dropdownContainer="body",window.addEventListener("scroll",this.handleWindowScroll))}},{key:"handleSelectedFlagKeydown",value:function(e){this.state.showDropdown||e.which!==this.keys.UP&&e.which!==this.keys.DOWN&&e.which!==this.keys.SPACE&&e.which!==this.keys.ENTER||(e.preventDefault(),e.stopPropagation(),this.toggleDropdown(!0)),e.which===this.keys.TAB&&this.toggleDropdown(!1)}},{key:"isValidNumber",value:function(e){var t=g.a.trim(e),o=this.nationalMode||this.props.separateDialCode?this.selectedCountryData.iso2:"";return!!window.intlTelInputUtils&&window.intlTelInputUtils.isValidNumber(t,o)}},{key:"formatFullNumber",value:function(e){return window.intlTelInputUtils?this.getNumber(e,window.intlTelInputUtils.numberFormat.INTERNATIONAL):e}},{key:"notifyPhoneNumberChange",value:function(e){if("function"==typeof this.props.onPhoneNumberChange){var t=this.formatFullNumber(e),o=this.isValidNumber(t);this.props.onPhoneNumberChange(o,e,this.selectedCountryData,t,this.getExtension(e))}}},{key:"beforeSetNumber",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.props;if(t.separateDialCode){var o=this.getDialCode(e);if(o){null!==this.selectedCountryData.areaCodes&&(o="+"+this.selectedCountryData.dialCode);var n=" "===e[o.length]||"-"===e[o.length]?o.length+1:o.length;e=e.substr(n)}}return this.cap(e)}},{key:"handleWindowScroll",value:function(){var e=this;this.setState({showDropdown:!1},function(){window.removeEventListener("scroll",e.handleWindowScroll)})}},{key:"handleDocumentKeyDown",value:function(e){var t=this,o=void 0;e.preventDefault(),e.which===this.keys.UP||e.which===this.keys.DOWN?this.handleUpDownKey(e.which):e.which===this.keys.ENTER?this.handleEnterKey():e.which===this.keys.ESC?this.setState({showDropdown:!1}):(e.which>=this.keys.A&&e.which<=this.keys.Z||e.which===this.keys.SPACE)&&(o&&clearTimeout(o),this.query||(this.query=""),this.query+=String.fromCharCode(e.which),this.searchForCountry(this.query),o=setTimeout(function(){t.query=""},1e3))}},{key:"handleDocumentClick",value:function(e){(null===e.target.getAttribute("class")||e.target.getAttribute("class")&&e.target.getAttribute("class").indexOf("country")===-1)&&(this.isOpening=!1),this.isOpening||this.toggleDropdown(!1),this.isOpening=!1}},{key:"handleInputChange",value:function(e){var t=this,o=this.props.format?this.formatNumber(e.target.value):e.target.value;void 0!==this.props.value?(this.updateFlagFromNumber(o),this.notifyPhoneNumberChange(o)):this.setState({value:o},function(){t.updateFlagFromNumber(o),t.notifyPhoneNumberChange(o)})}},{key:"changeHighlightCountry",value:function(e,t){this.setState({showDropdown:e,highlightedCountry:t})}},{key:"loadUtils",value:function(){var e=this;if(window.intlTelInputUtils)return void this.utilsScriptDeferred.resolve();var t=new XMLHttpRequest;t.open("GET",this.props.utilsScript,!0),t.onload=function(){if(t.status>=200&&t.status<400){var o=t.responseText;if(o&&!document.getElementById("intlTelInputUtils")){var n=document.getElementsByTagName("body")[0],i=document.createElement("script");i.id="intlTelInputUtils",i.text=o,n.appendChild(i)}e.utilsScriptDeferred.resolve()}},t.send()}},{key:"autoCountryLoaded",value:function(){"auto"===this.tempCountry&&(this.tempCountry=this.autoCountry,this.autoCountryDeferred.resolve())}},{key:"render",value:function(){this.wrapperClass[this.props.css[0]]=!0;var e=this.props.css[1],t=Object.assign({},this.props.style||{});this.wrapperClass.expanded=this.state.showDropdown;var o=d()(this.wrapperClass),n=this.selectedCountryData?this.selectedCountryData.name+": +"+this.selectedCountryData.dialCode:"Unknown",i=void 0!==this.props.value?this.props.value:this.state.value;return l.a.createElement("div",{className:o,style:t},l.a.createElement(m.a,{refCallback:this.setFlagDropdownRef,allowDropdown:this.allowDropdown,dropdownContainer:this.dropdownContainer,separateDialCode:this.props.separateDialCode,dialCode:this.state.dialCode,clickSelectedFlag:this.clickSelectedFlag,setFlag:this.setFlag,countryCode:this.state.countryCode,isMobile:this.isMobile,handleSelectedFlagKeydown:this.handleSelectedFlagKeydown,changeHighlightCountry:this.changeHighlightCountry,countries:this.countries,showDropdown:this.state.showDropdown,inputTop:this.state.offsetTop,inputOuterHeight:this.state.outerHeight,preferredCountries:this.preferredCountries,highlightedCountry:this.state.highlightedCountry,titleTip:n,flagDropdownProps:this.props.flagDropdownProps,uniqueId:this.uniqueId}),l.a.createElement(b.a,{refCallback:this.setTelRef,handleInputChange:this.handleInputChange,handleOnBlur:this.handleOnBlur,className:e,disabled:this.state.disabled,readonly:this.state.readonly,fieldName:this.props.fieldName,fieldId:this.props.fieldId,value:i,placeholder:void 0!==this.props.placeholder?this.props.placeholder:this.state.placeholder,autoFocus:this.props.autoFocus,autoComplete:this.props.autoComplete,inputProps:this.props.telInputProps}))}}]),t}(a.Component);k.defaultProps={css:["intl-tel-input",""],fieldName:"",fieldId:"",defaultValue:"",countriesData:null,allowDropdown:!0,autoHideDialCode:!0,autoPlaceholder:!0,customPlaceholder:null,excludeCountries:[],formatOnInit:!0,separateDialCode:!1,defaultCountry:"",geoIpLookup:null,nationalMode:!0,numberType:"MOBILE",noCountryDataHandler:null,onlyCountries:[],preferredCountries:["us","gb"],utilsScript:"",onPhoneNumberChange:null,onPhoneNumberBlur:null,onSelectFlag:null,disabled:!1,autoFocus:!1,useMobileFullscreenDropdown:!0,autoComplete:"off",telInputProps:{},flagDropdownProps:{},format:!1},t.default=k},function(e,t,o){"use strict";function n(){}function i(e){try{return e.then}catch(e){return g=e,y}}function r(e,t){try{return e(t)}catch(e){return g=e,y}}function a(e,t,o){try{e(t,o)}catch(e){return g=e,y}}function l(e){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._45=0,this._81=0,this._65=null,this._54=null,e!==n&&m(e,this)}function s(e,t,o){return new e.constructor(function(i,r){var a=new l(n);a.then(i,r),u(e,new f(t,o,a))})}function u(e,t){for(;3===e._81;)e=e._65;return l._10&&l._10(e),0===e._81?0===e._45?(e._45=1,void(e._54=t)):1===e._45?(e._45=2,void(e._54=[e._54,t])):void e._54.push(t):void d(e,t)}function d(e,t){b(function(){var o=1===e._81?t.onFulfilled:t.onRejected;if(null===o)return void(1===e._81?c(t.promise,e._65):p(t.promise,e._65));var n=r(o,e._65);n===y?p(t.promise,g):c(t.promise,n)})}function c(e,t){if(t===e)return p(e,new TypeError("A promise cannot be resolved with itself."));if(t&&("object"==typeof t||"function"==typeof t)){var o=i(t);if(o===y)return p(e,g);if(o===e.then&&t instanceof l)return e._81=3,e._65=t,void h(e);if("function"==typeof o)return void m(o.bind(t),e)}e._81=1,e._65=t,h(e)}function p(e,t){e._81=2,e._65=t,l._97&&l._97(e,t),h(e)}function h(e){if(1===e._45&&(u(e,e._54),e._54=null),2===e._45){for(var t=0;td){for(var t=0,o=l.length-u;t1)for(var o=1;o-1?t:e}function h(e,t){t=t||{};var o=t.body;if(e instanceof h){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new i(e.headers)),this.method=e.method,this.mode=e.mode,o||null==e._bodyInit||(o=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"omit",!t.headers&&this.headers||(this.headers=new i(t.headers)),this.method=p(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function f(e){var t=new FormData;return e.trim().split("&").forEach(function(e){if(e){var o=e.split("="),n=o.shift().replace(/\+/g," "),i=o.join("=").replace(/\+/g," ");t.append(decodeURIComponent(n),decodeURIComponent(i))}}),t}function m(e){var t=new i;return e.split(/\r?\n/).forEach(function(e){var o=e.split(":"),n=o.shift().trim();if(n){var i=o.join(":").trim();t.append(n,i)}}),t}function b(e,t){t||(t={}),this.type="default",this.status="status"in t?t.status:200,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new i(t.headers),this.url=t.url||"",this._initBody(e)}if(!e.fetch){var g={searchParams:"URLSearchParams"in e,iterable:"Symbol"in e&&"iterator"in Symbol,blob:"FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in e,arrayBuffer:"ArrayBuffer"in e};if(g.arrayBuffer)var y=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],M=function(e){return e&&DataView.prototype.isPrototypeOf(e)},S=ArrayBuffer.isView||function(e){return e&&y.indexOf(Object.prototype.toString.call(e))>-1};i.prototype.append=function(e,n){e=t(e),n=o(n);var i=this.map[e];this.map[e]=i?i+","+n:n},i.prototype.delete=function(e){delete this.map[t(e)]},i.prototype.get=function(e){return e=t(e),this.has(e)?this.map[e]:null},i.prototype.has=function(e){return this.map.hasOwnProperty(t(e))},i.prototype.set=function(e,n){this.map[t(e)]=o(n)},i.prototype.forEach=function(e,t){for(var o in this.map)this.map.hasOwnProperty(o)&&e.call(t,this.map[o],o,this)},i.prototype.keys=function(){var e=[];return this.forEach(function(t,o){e.push(o)}),n(e)},i.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),n(e)},i.prototype.entries=function(){var e=[];return this.forEach(function(t,o){e.push([o,t])}),n(e)},g.iterable&&(i.prototype[Symbol.iterator]=i.prototype.entries);var k=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];h.prototype.clone=function(){return new h(this,{body:this._bodyInit})},c.call(h.prototype),c.call(b.prototype),b.prototype.clone=function(){return new b(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new i(this.headers),url:this.url})},b.error=function(){var e=new b(null,{status:0,statusText:""});return e.type="error",e};var C=[301,302,303,307,308];b.redirect=function(e,t){if(C.indexOf(t)===-1)throw new RangeError("Invalid status code");return new b(null,{status:t,headers:{location:e}})},e.Headers=i,e.Request=h,e.Response=b,e.fetch=function(e,t){return new Promise(function(o,n){var i=new h(e,t),r=new XMLHttpRequest;r.onload=function(){var e={status:r.status,statusText:r.statusText,headers:m(r.getAllResponseHeaders()||"")};e.url="responseURL"in r?r.responseURL:e.headers.get("X-Request-URL");var t="response"in r?r.response:r.responseText;o(new b(t,e))},r.onerror=function(){n(new TypeError("Network request failed"))},r.ontimeout=function(){n(new TypeError("Network request failed"))},r.open(i.method,i.url,!0),"include"===i.credentials&&(r.withCredentials=!0),"responseType"in r&&g.blob&&(r.responseType="blob"),i.headers.forEach(function(e,t){r.setRequestHeader(t,e)}),r.send("undefined"==typeof i._bodyInit?null:i._bodyInit)})},e.fetch.polyfill=!0}}("undefined"!=typeof self?self:this)},function(e,t,o){o(17),e.exports=o(18)}])}); \ No newline at end of file diff --git a/example/main.js b/example/main.js index 59ec8172a..a4b158d61 100644 --- a/example/main.js +++ b/example/main.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("prop-types"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["prop-types","react","react-dom"],t):"object"==typeof exports?exports.IntlTelInput=t(require("prop-types"),require("react"),require("react-dom")):e.IntlTelInput=t(e.PropTypes,e.React,e.ReactDOM)}(this,function(e,t,o){return function(e){function t(i){if(o[i])return o[i].exports;var n=o[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var o={};return t.m=e,t.c=o,t.i=function(e){return e},t.d=function(e,o,i){t.o(e,o)||Object.defineProperty(e,o,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var o=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(o,"a",o),o},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=14)}([function(t,o){t.exports=e},function(e,o){e.exports=t},function(e,t,o){var i,n;!function(){"use strict";function o(){for(var e=[],t=0;t=0},retrieveLiIndex:function(e){if(!e)return-1;for(var t=e.parentNode.childNodes,o=0,i=0,n=t.length;i (/Users/vlad/salemove/react-intl-tel-input/node_modules/node-sass/lib/index.js:14:35)\n at Module._compile (internal/modules/cjs/loader.js:999:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n at Module.load (internal/modules/cjs/loader.js:863:32)\n at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n at Module.require (internal/modules/cjs/loader.js:887:19)\n at require (internal/modules/cjs/helpers.js:74:18)\n at Object. (/Users/vlad/salemove/react-intl-tel-input/node_modules/sass-loader/index.js:4:12)\n at Module._compile (internal/modules/cjs/loader.js:999:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n at Module.load (internal/modules/cjs/loader.js:863:32)\n at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n at Module.require (internal/modules/cjs/loader.js:887:19)\n at require (internal/modules/cjs/helpers.js:74:18)\n at loadLoader (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/loadLoader.js:13:17)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:165:10)\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:173:18\n at loadLoader (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/loadLoader.js:36:3)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at runLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:362:2)\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModule.js:141:35\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:364:11\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:170:18\n at loadLoader (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/loadLoader.js:27:11)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:165:10)\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:173:18\n at loadLoader (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/loadLoader.js:36:3)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at runLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:362:2)\n at NormalModule.doBuild (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModule.js:129:2)\n at NormalModule.build (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModule.js:180:15)\n at Compilation.buildModule (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/Compilation.js:127:10)\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/Compilation.js:404:9\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModuleFactory.js:242:4\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModuleFactory.js:93:13\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/tapable/lib/Tapable.js:204:11\n at NormalModuleFactory. (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/CompatibilityPlugin.js:51:4)\n at NormalModuleFactory.applyPluginsAsyncWaterfall (/Users/vlad/salemove/react-intl-tel-input/node_modules/tapable/lib/Tapable.js:208:13)\n at onDoneResolving (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModuleFactory.js:68:11)\n at onDoneResolving (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModuleFactory.js:189:6)\n at processTicksAndRejections (internal/process/task_queues.js:79:11)")},function(e,t,o){var i=o(13),n=o(0);e.exports=function(e,t,o){var n=e[t];if(n){var r=[];if(Object.keys(n).forEach(function(e){i.indexOf(e)===-1&&r.push(e)}),r.length)throw new Error("Prop "+t+" passed to "+o+". Has invalid keys "+r.join(", "))}},e.exports.isRequired=function(t,o,i){if(!t[o])throw new Error("Prop "+o+" passed to "+i+" is required");return e.exports(t,o,i)},e.exports.supportingArrays=n.oneOfType([n.arrayOf(e.exports),e.exports])},function(e,t){!function(t){function o(e){var t=b[e]={};return c(e.split(/\s+/),function(e){t[e]=!0}),t}var i={},n=Array.prototype,r=Object.prototype,a=r.hasOwnProperty,l=r.toString,s=n.forEach,d=n.indexOf,u=n.slice,c=function(e,t,o){var n,r,l;if(e)if(s&&e.forEach===s)e.forEach(t,o);else if(e.length===+e.length){for(r=0,l=e.length;r-1;)s.splice(t,1),n&&(t<=a&&a--,t<=l&&l--)}),this},has:function(e){return m(e,s)>-1},empty:function(){return s=[],this},disable:function(){return s=d=t=void 0,this},disabled:function(){return!s},lock:function(){return d=void 0,t||p.disable(),this},locked:function(){return!d},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!s||i&&!d||(n?d.push(t):u(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},f.Deferred=function(e){var t=[["resolve","done",f.Callbacks("once memory"),"resolved"],["reject","fail",f.Callbacks("once memory"),"rejected"],["notify","progress",f.Callbacks("memory")]],o="pending",i={state:function(){return o},always:function(){return n.done(arguments).fail(arguments),this},then:function(){var e=arguments;return f.Deferred(function(o){c(t,function(t,i){var r=t[0],a=e[i];n[t[1]](p(a)?function(){var e;try{e=a.apply(this,arguments)}catch(e){return void o.reject(e)}e&&p(e.promise)?e.promise().done(o.resolve).fail(o.reject).progress(o.notify):o["notify"!==r?"resolveWith":r+"With"](this===n?o:this,[e])}:o[r])}),e=null}).promise()},promise:function(e){return null!=e?h(e,i):i}},n={};return i.pipe=i.then,c(t,function(e,r){var a=e[2],l=e[3];i[e[1]]=a.add,l&&a.add(function(){o=l},t[1^r][2].disable,t[2][2].lock),n[e[0]]=a.fire,n[e[0]+"With"]=a.fireWith}),i.promise(n),e&&e.call(n,n),n},f.when=function(e){var t,o,i,n=0,r="array"===M(e)&&1===arguments.length?e:u.call(arguments),a=r.length,l=1!==a||e&&p(e.promise)?a:0,s=1===l?e:f.Deferred(),d=function(e,o,i){return function(n){o[e]=this,i[e]=arguments.length>1?u.call(arguments):n,i===t?s.notifyWith(o,i):--l||s.resolveWith(o,i)}};if(a>1)for(t=new Array(a),o=new Array(a),i=new Array(a);n1?t-1:0),i=1;it,l=!r&&a?"-"+(n-1)+"px":"";this.listElement.style.top=l,this.listElement.setAttribute("class","country-list")}},{key:"setFlag",value:function(e){this.props.setFlag(e)}},{key:"appendListItem",value:function(e){var t=this,o=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.props.preferredCountries.length;return e.map(function(e,n){var r=o?n:n+i,l={country:!0,highlight:t.props.highlightedCountry===r,preferred:o},d=c()(l),u=o?"pref-":"";return s.a.createElement("li",{key:""+u+e.iso2,className:d,"data-dial-code":e.dialCode,"data-country-code":e.iso2,onMouseOver:t.props.isMobile?null:t.handleMouseOver,onClick:a(t.setFlag,e.iso2)},s.a.createElement("div",{ref:function(e){t.selectedFlag=e},className:"flag-box"},s.a.createElement("div",{ref:function(e){t.selectedFlagInner=e},className:"iti-flag "+e.iso2})),s.a.createElement("span",{className:"country-name"},e.name),s.a.createElement("span",{className:"dial-code"},"+",e.dialCode))})}},{key:"handleMouseOver",value:function(e){if(e.currentTarget.getAttribute("class").indexOf("country")>-1){var t=p.a.retrieveLiIndex(e.currentTarget);this.props.changeHighlightCountry(!0,t)}}},{key:"render",value:function(){var e=this,t="",o=this.props.preferredCountries,i=null,n=this.props.countries,r=c()({"country-list":!0,hide:!this.props.showDropdown}),a=null;return o.length&&(i=this.appendListItem(o,!0),a=s.a.createElement("div",{className:"divider"})),t=this.appendListItem(n),s.a.createElement("ul",{ref:function(t){e.listElement=t},className:r},i,a,t)}}]),t}(l.Component);t.a=m},function(e,t,o){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=o(1),l=o.n(a),s=o(0),d=(o.n(s),o(5)),u=o.n(d),c=function(){function e(e,t){for(var o=0;o=4},o.wrapperClass={},o.autoCountry="",o.tempCountry="",o.startedLoadingAutoCountry=!1,o.deferreds=[],o.autoCountryDeferred=new p.a.Deferred,o.utilsScriptDeferred=new p.a.Deferred,o.isOpening=!1,o.isMobile="undefined"!=typeof navigator&&k.test(navigator.userAgent),o.preferredCountries=[],o.countries=[],o.countryCodes={},o.windowLoaded=!1,o.keys={UP:38,DOWN:40,ENTER:13,ESC:27,PLUS:43,A:65,Z:90,SPACE:32,TAB:9},o.query="",o.state={showDropdown:!1,highlightedCountry:0,value:e.value||e.defaultValue,disabled:e.disabled,readonly:!1,offsetTop:0,outerHeight:0,placeholder:"",title:"",countryCode:"us",dialCode:""},o.selectedCountryData={},o.addCountryCode=o.addCountryCode.bind(o),o.autoCountryLoaded=o.autoCountryLoaded.bind(o),o.getDialCode=o.getDialCode.bind(o),o.handleOnBlur=o.handleOnBlur.bind(o),o.handleSelectedFlagKeydown=o.handleSelectedFlagKeydown.bind(o),o.setInitialState=o.setInitialState.bind(o),o.setNumber=o.setNumber.bind(o),o.scrollTo=o.scrollTo.bind(o),o.updateDialCode=o.updateDialCode.bind(o),o.notifyPhoneNumberChange=o.notifyPhoneNumberChange.bind(o),o.isValidNumber=o.isValidNumber.bind(o),o.isUnknownNanp=o.isUnknownNanp.bind(o),o.initRequests=o.initRequests.bind(o),o.updateFlagFromNumber=o.updateFlagFromNumber.bind(o),o.updatePlaceholder=o.updatePlaceholder.bind(o),o.loadAutoCountry=o.loadAutoCountry.bind(o),o.loadUtils=o.loadUtils.bind(o),o.processCountryData=o.processCountryData.bind(o),o.getNumber=o.getNumber.bind(o),o.setFlag=o.setFlag.bind(o),o.clickSelectedFlag=o.clickSelectedFlag.bind(o),o.updateValFromNumber=o.updateValFromNumber.bind(o),o.handleWindowScroll=o.handleWindowScroll.bind(o),o.handleDocumentKeyDown=o.handleDocumentKeyDown.bind(o),o.handleDocumentClick=o.handleDocumentClick.bind(o),o.bindDocumentClick=o.bindDocumentClick.bind(o),o.unbindDocumentClick=o.unbindDocumentClick.bind(o),o.searchForCountry=o.searchForCountry.bind(o),o.handleEnterKey=o.handleEnterKey.bind(o),o.toggleDropdown=o.toggleDropdown.bind(o),o.handleUpDownKey=o.handleUpDownKey.bind(o),o.handleInputChange=o.handleInputChange.bind(o),o.changeHighlightCountry=o.changeHighlightCountry.bind(o),o.formatNumber=o.formatNumber.bind(o),o}return r(t,e),S(t,[{key:"componentDidMount",value:function(){var e=this;this.autoHideDialCode=this.props.autoHideDialCode,this.allowDropdown=this.props.allowDropdown,this.nationalMode=this.props.nationalMode,this.dropdownContainer="",this.nationalMode&&(this.autoHideDialCode=!1),this.props.separateDialCode&&(this.autoHideDialCode=!1,this.nationalMode=!1,this.allowDropdown=!0),this.processCountryData.call(this),this.tempCountry=this.getTempCountry(this.props.defaultCountry),"complete"===document.readyState?this.windowLoaded=!0:window.addEventListener("load",function(){e.windowLoaded=!0}),this.generateMarkup(),this.setInitialState(),this.initRequests(),this.deferreds.push(this.autoCountryDeferred.promise()),this.deferreds.push(this.utilsScriptDeferred.promise()),p.a.when(this.deferreds).done(function(){e.setInitialState()}),document.addEventListener("keydown",this.handleDocumentKeyDown)}},{key:"componentWillReceiveProps",value:function(e){this.props.value!==e.value&&this.setState({value:e.value}),this.props.disabled!==e.disabled&&this.setState({disabled:e.disabled}),"function"==typeof e.customPlaceholder&&this.props.customPlaceholder!==e.customPlaceholder&&this.updatePlaceholder(e)}},{key:"componentWillUpdate",value:function(e,t){t.showDropdown?(document.addEventListener("keydown",this.handleDocumentKeyDown),this.bindDocumentClick()):(document.removeEventListener("keydown",this.handleDocumentKeyDown),this.unbindDocumentClick())}},{key:"componentDidUpdate",value:function(e){this.props.value!==e.value&&this.updateFlagFromNumber(this.props.value)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleDocumentKeyDown),window.removeEventListener("scroll",this.handleWindowScroll),this.unbindDocumentClick()}},{key:"getTempCountry",value:function(e){if("auto"===e)return"auto";var t=f.a.getCountryData(this.countries,e);return t.iso2||(t=this.props.preferredCountries.length>0?f.a.getCountryData(this.countries,this.props.preferredCountries[0]):m.a.getCountries()[0]),t.iso2}},{key:"setNumber",value:function(e,t){this.updateFlagFromNumber(e),this.updateValFromNumber(e,!t)}},{key:"setFlag",value:function(e,t){var o=this,i=this.selectedCountryData&&this.selectedCountryData.iso2?this.selectedCountryData:{};this.selectedCountryData=e?f.a.getCountryData(this.countries,e,!1,!1,this.props.noCountryDataHandler):{},this.selectedCountryData.iso2&&(this.defaultCountry=this.selectedCountryData.iso2);var n=e?this.selectedCountryData.name+": +"+this.selectedCountryData.dialCode:"Unknown",r=this.state.dialCode;this.props.separateDialCode&&(r=this.selectedCountryData.dialCode?"+"+this.selectedCountryData.dialCode:"",i.dialCode&&delete this.wrapperClass["iti-sdc-"+(i.dialCode.length+1)],r&&(this.wrapperClass["iti-sdc-"+r.length]=!0));var a=0;e&&"auto"!==e&&(a=f.a.findIndex(this.preferredCountries,function(t){return t.iso2===e}),a===-1&&(a=f.a.findIndex(this.countries,function(t){return t.iso2===e}),a===-1&&(a=0),a+=this.preferredCountries.length)),this.tel&&this.state.showDropdown&&this.tel.focus();var l=this.updateDialCode(this.selectedCountryData.dialCode,!t);this.setState({value:l,showDropdown:!1,highlightedCountry:a,countryCode:e,title:n,dialCode:r},function(){if(o.updatePlaceholder(o.props),o.wrapperClass.active=!1,!t&&i.iso2!==e&&"function"==typeof o.props.onSelectFlag){var n=o.state.value;o.props.onSelectFlag(n,o.selectedCountryData)}})}},{key:"getExtension",value:function(e){return window.intlTelInputUtils?window.intlTelInputUtils.getExtension(this.getFullNumber(e),this.selectedCountryData.iso2):""}},{key:"getNumber",value:function(e,t){return window.intlTelInputUtils?window.intlTelInputUtils.formatNumber(this.getFullNumber(e),this.selectedCountryData.iso2,t):""}},{key:"getFullNumber",value:function(e){var t=this.props.separateDialCode?"+"+this.selectedCountryData.dialCode:"";return t+e}},{key:"getDialCode",value:function(e){var t="";if("+"===e.charAt(0))for(var o="",i=0,n=e.length;it?e.substr(0,t):e}},{key:"removeEmptyDialCode",value:function(){var e=this.state.value,t="+"===e.charAt(0);if(t){var o=f.a.getNumeric(e);o&&this.selectedCountryData.dialCode!==o||this.setState({value:""})}}},{key:"handleUpDownKey",value:function(e){var t=this.flagDropDown.querySelectorAll(".highlight")[0],o=t?t.previousElementSibling:void 0,i=t?t.nextElementSibling:void 0,n=e===this.keys.UP?o:i;if(n){n.getAttribute("class").indexOf("divider")>-1&&(n=e===this.keys.UP?n.previousElementSibling:n.nextElementSibling),this.scrollTo(n);var r=f.a.retrieveLiIndex(n);this.setState({showDropdown:!0,highlightedCountry:r})}}},{key:"handleEnterKey",value:function(){var e=this,t=this.flagDropDown.querySelectorAll(".highlight")[0];if(t){var o=f.a.retrieveLiIndex(t),i=t.getAttribute("data-country-code");this.setState({showDropdown:!1,highlightedCountry:o,countryCode:i},function(){e.setFlag(e.state.countryCode),e.unbindDocumentClick()})}}},{key:"searchForCountry",value:function(e){for(var t=0,o=this.countries.length;t2&&void 0!==arguments[2]&&arguments[2];if(t&&window.intlTelInputUtils&&this.selectedCountryData){var n=this.props.separateDialCode||!this.nationalMode&&"+"===e.charAt(0)?window.intlTelInputUtils.numberFormat.INTERNATIONAL:window.intlTelInputUtils.numberFormat.NATIONAL;e=window.intlTelInputUtils.formatNumber(e,this.selectedCountryData.iso2,n)}e=this.beforeSetNumber(e),this.setState({showDropdown:!1,value:e},function(){i&&o.notifyPhoneNumberChange(o.state.value),o.unbindDocumentClick()})}},{key:"updateFlagFromNumber",value:function(e,t){e&&this.nationalMode&&this.selectedCountryData&&"1"===this.selectedCountryData.dialCode&&"+"!==e.charAt(0)&&("1"!==e.charAt(0)&&(e="1"+e),e="+"+e);var o=this.getDialCode(e),i=null;if(o){var n=this.countryCodes[f.a.getNumeric(o)],r=this.selectedCountryData&&n.indexOf(this.selectedCountryData.iso2)!==-1;if(!r||this.isUnknownNanp(e,o))for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:this.props;if(window.intlTelInputUtils&&e.autoPlaceholder&&this.selectedCountryData){var t=window.intlTelInputUtils.numberType[e.numberType],o=this.selectedCountryData.iso2?window.intlTelInputUtils.getExampleNumber(this.selectedCountryData.iso2,this.nationalMode,t):"";o=this.beforeSetNumber(o,e),"function"==typeof e.customPlaceholder&&(o=e.customPlaceholder(o,this.selectedCountryData)),this.setState({placeholder:o})}}},{key:"toggleDropdown",value:function(e){var t=this;this.setState({showDropdown:!!e},function(){t.state.showDropdown||t.unbindDocumentClick()})}},{key:"scrollTo",value:function(e,t){try{var o=this.flagDropDown.querySelector(".country-list"),i=parseFloat(window.getComputedStyle(o).getPropertyValue("height"),10),n=f.a.offset(o).top,r=n+i,a=f.a.getOuterHeight(e),l=f.a.offset(e).top,s=l+a,d=i/2-a/2,u=l-n+o.scrollTop;if(lr){t&&(u+=d);var c=i-a;o.scrollTop=u-c}}catch(e){}}},{key:"updateDialCode",value:function(e,t){var o=this.state.value;if(!e)return o;var i=o;if(e="+"+e,"+"===o.charAt(0)){var n=this.getDialCode(o);i=n?o.replace(n,e):e}else this.nationalMode||this.props.separateDialCode||(o?i=e+o:!t&&this.autoHideDialCode||(i=e));return i!==o&&this.notifyPhoneNumberChange(i),i}},{key:"generateMarkup",value:function(){this.wrapperClass["allow-dropdown"]=this.allowDropdown,this.wrapperClass["separate-dial-code"]=this.props.separateDialCode,this.isMobile&&this.props.useMobileFullscreenDropdown&&(f.a.addClass(document.querySelector("body"),"iti-mobile"),this.dropdownContainer="body",window.addEventListener("scroll",this.handleWindowScroll))}},{key:"handleSelectedFlagKeydown",value:function(e){this.state.showDropdown||e.which!==this.keys.UP&&e.which!==this.keys.DOWN&&e.which!==this.keys.SPACE&&e.which!==this.keys.ENTER||(e.preventDefault(),e.stopPropagation(),this.toggleDropdown(!0)),e.which===this.keys.TAB&&this.toggleDropdown(!1)}},{key:"isValidNumber",value:function(e){var t=f.a.trim(e),o=this.nationalMode||this.props.separateDialCode?this.selectedCountryData.iso2:"";return!!window.intlTelInputUtils&&window.intlTelInputUtils.isValidNumber(t,o)}},{key:"formatFullNumber",value:function(e){return window.intlTelInputUtils?this.getNumber(e,window.intlTelInputUtils.numberFormat.INTERNATIONAL):e}},{key:"notifyPhoneNumberChange",value:function(e){if("function"==typeof this.props.onPhoneNumberChange){var t=this.formatFullNumber(e),o=this.isValidNumber(t);this.props.onPhoneNumberChange(o,e,this.selectedCountryData,t,this.getExtension(e))}}},{key:"beforeSetNumber",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.props;if(t.separateDialCode){var o=this.getDialCode(e);if(o){null!==this.selectedCountryData.areaCodes&&(o="+"+this.selectedCountryData.dialCode);var i=" "===e[o.length]||"-"===e[o.length]?o.length+1:o.length;e=e.substr(i)}}return this.cap(e)}},{key:"handleWindowScroll",value:function(){var e=this;this.setState({showDropdown:!1},function(){window.removeEventListener("scroll",e.handleWindowScroll)})}},{key:"handleDocumentKeyDown",value:function(e){var t=this,o=void 0;e.preventDefault(),e.which===this.keys.UP||e.which===this.keys.DOWN?this.handleUpDownKey(e.which):e.which===this.keys.ENTER?this.handleEnterKey():e.which===this.keys.ESC?this.setState({showDropdown:!1}):(e.which>=this.keys.A&&e.which<=this.keys.Z||e.which===this.keys.SPACE)&&(o&&clearTimeout(o),this.query||(this.query=""),this.query+=String.fromCharCode(e.which),this.searchForCountry(this.query),o=setTimeout(function(){t.query=""},1e3))}},{key:"handleDocumentClick",value:function(e){(null===e.target.getAttribute("class")||e.target.getAttribute("class")&&e.target.getAttribute("class").indexOf("country")===-1)&&(this.isOpening=!1),this.isOpening||this.toggleDropdown(!1),this.isOpening=!1}},{key:"handleInputChange",value:function(e){var t=this,o=this.props.format?this.formatNumber(e.target.value):e.target.value;void 0!==this.props.value?(this.updateFlagFromNumber(o),this.notifyPhoneNumberChange(o)):this.setState({value:o},function(){t.updateFlagFromNumber(o),t.notifyPhoneNumberChange(o)})}},{key:"changeHighlightCountry",value:function(e,t){this.setState({showDropdown:e,highlightedCountry:t})}},{key:"loadUtils",value:function(){var e=this;if(window.intlTelInputUtils)return void this.utilsScriptDeferred.resolve();var t=new XMLHttpRequest;t.open("GET",this.props.utilsScript,!0),t.onload=function(){if(t.status>=200&&t.status<400){var o=t.responseText;if(o&&!document.getElementById("intlTelInputUtils")){var i=document.getElementsByTagName("body")[0],n=document.createElement("script");n.id="intlTelInputUtils",n.text=o,i.appendChild(n)}e.utilsScriptDeferred.resolve()}},t.send()}},{key:"autoCountryLoaded",value:function(){"auto"===this.tempCountry&&(this.tempCountry=this.autoCountry,this.autoCountryDeferred.resolve())}},{key:"render",value:function(){this.wrapperClass[this.props.css[0]]=!0;var e=this.props.css[1],t=Object.assign({},this.props.style||{});this.wrapperClass.expanded=this.state.showDropdown;var o=u()(this.wrapperClass),i=this.selectedCountryData?this.selectedCountryData.name+": +"+this.selectedCountryData.dialCode:"Unknown",n=void 0!==this.props.value?this.props.value:this.state.value;return l.a.createElement("div",{className:o,style:t},l.a.createElement(g.a,{refCallback:this.setFlagDropdownRef,allowDropdown:this.allowDropdown,dropdownContainer:this.dropdownContainer,separateDialCode:this.props.separateDialCode,dialCode:this.state.dialCode,clickSelectedFlag:this.clickSelectedFlag,setFlag:this.setFlag,countryCode:this.state.countryCode,isMobile:this.isMobile,handleSelectedFlagKeydown:this.handleSelectedFlagKeydown,changeHighlightCountry:this.changeHighlightCountry,countries:this.countries,showDropdown:this.state.showDropdown,inputTop:this.state.offsetTop,inputOuterHeight:this.state.outerHeight,preferredCountries:this.preferredCountries,highlightedCountry:this.state.highlightedCountry,titleTip:i}),l.a.createElement(M.a,{refCallback:this.setTelRef,handleInputChange:this.handleInputChange,handleOnBlur:this.handleOnBlur,className:e,disabled:this.state.disabled,readonly:this.state.readonly,fieldName:this.props.fieldName,fieldId:this.props.fieldId,value:n,placeholder:void 0!==this.props.placeholder?this.props.placeholder:this.state.placeholder,autoFocus:this.props.autoFocus,autoComplete:this.props.autoComplete,inputProps:this.props.telInputProps}))}}]),t}(a.Component);y.defaultProps={css:["intl-tel-input",""],fieldName:"",fieldId:"",defaultValue:"",countriesData:null,allowDropdown:!0,autoHideDialCode:!0,autoPlaceholder:!0,customPlaceholder:null,excludeCountries:[],formatOnInit:!0,separateDialCode:!1,defaultCountry:"",geoIpLookup:null,nationalMode:!0,numberType:"MOBILE",noCountryDataHandler:null,onlyCountries:[],preferredCountries:["us","gb"],utilsScript:"",onPhoneNumberChange:null,onPhoneNumberBlur:null,onSelectFlag:null,disabled:!1,autoFocus:!1,useMobileFullscreenDropdown:!0,autoComplete:"off",telInputProps:{},format:!1},t.default=y}])}); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("prop-types"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["prop-types","react","react-dom"],t):"object"==typeof exports?exports.IntlTelInput=t(require("prop-types"),require("react"),require("react-dom")):e.IntlTelInput=t(e.PropTypes,e.React,e.ReactDOM)}(this,function(e,t,o){return function(e){function t(i){if(o[i])return o[i].exports;var n=o[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var o={};return t.m=e,t.c=o,t.i=function(e){return e},t.d=function(e,o,i){t.o(e,o)||Object.defineProperty(e,o,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var o=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(o,"a",o),o},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=14)}([function(t,o){t.exports=e},function(e,o){e.exports=t},function(e,t,o){var i,n;!function(){"use strict";function o(){for(var e=[],t=0;t=0},retrieveLiIndex:function(e){if(!e)return-1;for(var t=e.parentNode.childNodes,o=0,i=0,n=t.length;i (/Users/vlad/salemove/react-intl-tel-input/node_modules/node-sass/lib/index.js:14:35)\n at Module._compile (internal/modules/cjs/loader.js:999:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n at Module.load (internal/modules/cjs/loader.js:863:32)\n at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n at Module.require (internal/modules/cjs/loader.js:887:19)\n at require (internal/modules/cjs/helpers.js:74:18)\n at Object. (/Users/vlad/salemove/react-intl-tel-input/node_modules/sass-loader/index.js:4:12)\n at Module._compile (internal/modules/cjs/loader.js:999:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)\n at Module.load (internal/modules/cjs/loader.js:863:32)\n at Function.Module._load (internal/modules/cjs/loader.js:708:14)\n at Module.require (internal/modules/cjs/loader.js:887:19)\n at require (internal/modules/cjs/helpers.js:74:18)\n at loadLoader (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/loadLoader.js:13:17)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:165:10)\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:173:18\n at loadLoader (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/loadLoader.js:36:3)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at runLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:362:2)\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModule.js:141:35\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:364:11\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:170:18\n at loadLoader (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/loadLoader.js:27:11)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:165:10)\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:173:18\n at loadLoader (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/loadLoader.js:36:3)\n at iteratePitchingLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at runLoaders (/Users/vlad/salemove/react-intl-tel-input/node_modules/loader-runner/lib/LoaderRunner.js:362:2)\n at NormalModule.doBuild (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModule.js:129:2)\n at NormalModule.build (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModule.js:180:15)\n at Compilation.buildModule (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/Compilation.js:127:10)\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/Compilation.js:404:9\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModuleFactory.js:242:4\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModuleFactory.js:93:13\n at /Users/vlad/salemove/react-intl-tel-input/node_modules/tapable/lib/Tapable.js:204:11\n at NormalModuleFactory. (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/CompatibilityPlugin.js:51:4)\n at NormalModuleFactory.applyPluginsAsyncWaterfall (/Users/vlad/salemove/react-intl-tel-input/node_modules/tapable/lib/Tapable.js:208:13)\n at onDoneResolving (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModuleFactory.js:68:11)\n at onDoneResolving (/Users/vlad/salemove/react-intl-tel-input/node_modules/webpack/lib/NormalModuleFactory.js:189:6)\n at processTicksAndRejections (internal/process/task_queues.js:79:11)")},function(e,t,o){var i=o(13),n=o(0);e.exports=function(e,t,o){var n=e[t];if(n){var r=[];if(Object.keys(n).forEach(function(e){i.indexOf(e)===-1&&r.push(e)}),r.length)throw new Error("Prop "+t+" passed to "+o+". Has invalid keys "+r.join(", "))}},e.exports.isRequired=function(t,o,i){if(!t[o])throw new Error("Prop "+o+" passed to "+i+" is required");return e.exports(t,o,i)},e.exports.supportingArrays=n.oneOfType([n.arrayOf(e.exports),e.exports])},function(e,t){!function(t){function o(e){var t=b[e]={};return c(e.split(/\s+/),function(e){t[e]=!0}),t}var i={},n=Array.prototype,r=Object.prototype,a=r.hasOwnProperty,l=r.toString,s=n.forEach,d=n.indexOf,u=n.slice,c=function(e,t,o){var n,r,l;if(e)if(s&&e.forEach===s)e.forEach(t,o);else if(e.length===+e.length){for(r=0,l=e.length;r-1;)s.splice(t,1),n&&(t<=a&&a--,t<=l&&l--)}),this},has:function(e){return m(e,s)>-1},empty:function(){return s=[],this},disable:function(){return s=d=t=void 0,this},disabled:function(){return!s},lock:function(){return d=void 0,t||p.disable(),this},locked:function(){return!d},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!s||i&&!d||(n?d.push(t):u(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},M.Deferred=function(e){var t=[["resolve","done",M.Callbacks("once memory"),"resolved"],["reject","fail",M.Callbacks("once memory"),"rejected"],["notify","progress",M.Callbacks("memory")]],o="pending",i={state:function(){return o},always:function(){return n.done(arguments).fail(arguments),this},then:function(){var e=arguments;return M.Deferred(function(o){c(t,function(t,i){var r=t[0],a=e[i];n[t[1]](p(a)?function(){var e;try{e=a.apply(this,arguments)}catch(e){return void o.reject(e)}e&&p(e.promise)?e.promise().done(o.resolve).fail(o.reject).progress(o.notify):o["notify"!==r?"resolveWith":r+"With"](this===n?o:this,[e])}:o[r])}),e=null}).promise()},promise:function(e){return null!=e?h(e,i):i}},n={};return i.pipe=i.then,c(t,function(e,r){var a=e[2],l=e[3];i[e[1]]=a.add,l&&a.add(function(){o=l},t[1^r][2].disable,t[2][2].lock),n[e[0]]=a.fire,n[e[0]+"With"]=a.fireWith}),i.promise(n),e&&e.call(n,n),n},M.when=function(e){var t,o,i,n=0,r="array"===f(e)&&1===arguments.length?e:u.call(arguments),a=r.length,l=1!==a||e&&p(e.promise)?a:0,s=1===l?e:M.Deferred(),d=function(e,o,i){return function(n){o[e]=this,i[e]=arguments.length>1?u.call(arguments):n,i===t?s.notifyWith(o,i):--l||s.resolveWith(o,i)}};if(a>1)for(t=new Array(a),o=new Array(a),i=new Array(a);n1?t-1:0),i=1;it,l=!r&&a?"-"+(n-1)+"px":"";this.listElement.style.top=l,this.listElement.setAttribute("class","country-list")}},{key:"setFlag",value:function(e){this.props.setFlag(e)}},{key:"appendListItem",value:function(e){var t=this,o=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.props.preferredCountries.length;return e.map(function(e,n){var r=o?n:n+i,l={country:!0,highlight:t.props.highlightedCountry===r,preferred:o},d=c()(l),u=o?"pref-":"",p=t.props.selectedCountryCode===e.iso2;return s.a.createElement("li",{key:""+u+e.iso2,className:d,"data-dial-code":e.dialCode,"data-country-code":e.iso2,onMouseOver:t.props.isMobile?null:t.handleMouseOver,onClick:a(t.setFlag,e.iso2),role:"option","aria-selected":p,id:t.props.getItemId(r),tabIndex:"-1"},s.a.createElement("div",{ref:function(e){t.selectedFlag=e},className:"flag-box"},s.a.createElement("div",{ref:function(e){t.selectedFlagInner=e},className:"iti-flag "+e.iso2})),s.a.createElement("span",{className:"country-name"},e.name),s.a.createElement("span",{className:"dial-code"},"+",e.dialCode))})}},{key:"handleMouseOver",value:function(e){if(e.currentTarget.getAttribute("class").indexOf("country")>-1){var t=p.a.retrieveLiIndex(e.currentTarget);this.props.changeHighlightCountry(!0,t)}}},{key:"render",value:function(){var e=this,t="",o=this.props.preferredCountries,i=null,n=this.props.countries,r=c()({"country-list":!0,hide:!this.props.showDropdown}),a=null;return o.length&&(i=this.appendListItem(o,!0),a=s.a.createElement("div",{className:"divider"})),t=this.appendListItem(n),s.a.createElement("ul",{ref:function(t){e.listElement=t},className:r,id:this.props.countryListId,role:"listbox"},i,a,t)}}]),t}(l.Component);t.a=m},function(e,t,o){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=o(1),l=o.n(a),s=o(0),d=(o.n(s),o(5)),u=o.n(d),c=function(){function e(e,t){for(var o=0;o=4},o.wrapperClass={},o.autoCountry="",o.tempCountry="",o.startedLoadingAutoCountry=!1,o.deferreds=[],o.autoCountryDeferred=new p.a.Deferred,o.utilsScriptDeferred=new p.a.Deferred,o.isOpening=!1,o.isMobile="undefined"!=typeof navigator&&k.test(navigator.userAgent),o.preferredCountries=[],o.countries=[],o.countryCodes={},o.windowLoaded=!1,o.keys={UP:38,DOWN:40,ENTER:13,ESC:27,PLUS:43,A:65,Z:90,SPACE:32,TAB:9},o.query="",o.state={showDropdown:!1,highlightedCountry:0,value:e.value||e.defaultValue,disabled:e.disabled,readonly:!1,offsetTop:0,outerHeight:0,placeholder:"",title:"",countryCode:"us",dialCode:""},o.selectedCountryData={},o.addCountryCode=o.addCountryCode.bind(o),o.autoCountryLoaded=o.autoCountryLoaded.bind(o),o.getDialCode=o.getDialCode.bind(o),o.handleOnBlur=o.handleOnBlur.bind(o),o.handleSelectedFlagKeydown=o.handleSelectedFlagKeydown.bind(o),o.setInitialState=o.setInitialState.bind(o),o.setNumber=o.setNumber.bind(o),o.scrollTo=o.scrollTo.bind(o),o.updateDialCode=o.updateDialCode.bind(o),o.notifyPhoneNumberChange=o.notifyPhoneNumberChange.bind(o),o.isValidNumber=o.isValidNumber.bind(o),o.isUnknownNanp=o.isUnknownNanp.bind(o),o.initRequests=o.initRequests.bind(o),o.updateFlagFromNumber=o.updateFlagFromNumber.bind(o),o.updatePlaceholder=o.updatePlaceholder.bind(o),o.loadAutoCountry=o.loadAutoCountry.bind(o),o.loadUtils=o.loadUtils.bind(o),o.processCountryData=o.processCountryData.bind(o),o.getNumber=o.getNumber.bind(o),o.setFlag=o.setFlag.bind(o),o.clickSelectedFlag=o.clickSelectedFlag.bind(o),o.updateValFromNumber=o.updateValFromNumber.bind(o),o.handleWindowScroll=o.handleWindowScroll.bind(o),o.handleDocumentKeyDown=o.handleDocumentKeyDown.bind(o),o.handleDocumentClick=o.handleDocumentClick.bind(o),o.bindDocumentClick=o.bindDocumentClick.bind(o),o.unbindDocumentClick=o.unbindDocumentClick.bind(o),o.searchForCountry=o.searchForCountry.bind(o),o.handleEnterKey=o.handleEnterKey.bind(o),o.toggleDropdown=o.toggleDropdown.bind(o),o.handleUpDownKey=o.handleUpDownKey.bind(o),o.handleInputChange=o.handleInputChange.bind(o),o.changeHighlightCountry=o.changeHighlightCountry.bind(o),o.formatNumber=o.formatNumber.bind(o),o.uniqueId=Math.random().toString(36).substring(2),o}return r(t,e),S(t,[{key:"componentDidMount",value:function(){var e=this;this.autoHideDialCode=this.props.autoHideDialCode,this.allowDropdown=this.props.allowDropdown,this.nationalMode=this.props.nationalMode,this.dropdownContainer="",this.nationalMode&&(this.autoHideDialCode=!1),this.props.separateDialCode&&(this.autoHideDialCode=!1,this.nationalMode=!1,this.allowDropdown=!0),this.processCountryData.call(this),this.tempCountry=this.getTempCountry(this.props.defaultCountry),"complete"===document.readyState?this.windowLoaded=!0:window.addEventListener("load",function(){e.windowLoaded=!0}),this.generateMarkup(),this.setInitialState(),this.initRequests(),this.deferreds.push(this.autoCountryDeferred.promise()),this.deferreds.push(this.utilsScriptDeferred.promise()),p.a.when(this.deferreds).done(function(){e.setInitialState()}),document.addEventListener("keydown",this.handleDocumentKeyDown)}},{key:"componentWillReceiveProps",value:function(e){this.props.value!==e.value&&this.setState({value:e.value}),this.props.disabled!==e.disabled&&this.setState({disabled:e.disabled}),"function"==typeof e.customPlaceholder&&this.props.customPlaceholder!==e.customPlaceholder&&this.updatePlaceholder(e)}},{key:"componentWillUpdate",value:function(e,t){t.showDropdown?(document.addEventListener("keydown",this.handleDocumentKeyDown),this.bindDocumentClick()):(document.removeEventListener("keydown",this.handleDocumentKeyDown),this.unbindDocumentClick())}},{key:"componentDidUpdate",value:function(e){this.props.value!==e.value&&this.updateFlagFromNumber(this.props.value)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleDocumentKeyDown),window.removeEventListener("scroll",this.handleWindowScroll),this.unbindDocumentClick()}},{key:"getTempCountry",value:function(e){if("auto"===e)return"auto";var t=M.a.getCountryData(this.countries,e);return t.iso2||(t=this.props.preferredCountries.length>0?M.a.getCountryData(this.countries,this.props.preferredCountries[0]):m.a.getCountries()[0]),t.iso2}},{key:"setNumber",value:function(e,t){this.updateFlagFromNumber(e),this.updateValFromNumber(e,!t)}},{key:"setFlag",value:function(e,t){var o=this,i=this.selectedCountryData&&this.selectedCountryData.iso2?this.selectedCountryData:{};this.selectedCountryData=e?M.a.getCountryData(this.countries,e,!1,!1,this.props.noCountryDataHandler):{},this.selectedCountryData.iso2&&(this.defaultCountry=this.selectedCountryData.iso2);var n=e?this.selectedCountryData.name+": +"+this.selectedCountryData.dialCode:"Unknown",r=this.state.dialCode;this.props.separateDialCode&&(r=this.selectedCountryData.dialCode?"+"+this.selectedCountryData.dialCode:"",i.dialCode&&delete this.wrapperClass["iti-sdc-"+(i.dialCode.length+1)],r&&(this.wrapperClass["iti-sdc-"+r.length]=!0));var a=0;e&&"auto"!==e&&(a=M.a.findIndex(this.preferredCountries,function(t){return t.iso2===e}),a===-1&&(a=M.a.findIndex(this.countries,function(t){return t.iso2===e}),a===-1&&(a=0),a+=this.preferredCountries.length)),this.tel&&this.state.showDropdown&&this.tel.focus();var l=this.updateDialCode(this.selectedCountryData.dialCode,!t);this.setState({value:l,showDropdown:!1,highlightedCountry:a,countryCode:e,title:n,dialCode:r},function(){if(o.updatePlaceholder(o.props),o.wrapperClass.active=!1,!t&&i.iso2!==e&&"function"==typeof o.props.onSelectFlag){var n=o.state.value;o.props.onSelectFlag(n,o.selectedCountryData)}})}},{key:"getExtension",value:function(e){return window.intlTelInputUtils?window.intlTelInputUtils.getExtension(this.getFullNumber(e),this.selectedCountryData.iso2):""}},{key:"getNumber",value:function(e,t){return window.intlTelInputUtils?window.intlTelInputUtils.formatNumber(this.getFullNumber(e),this.selectedCountryData.iso2,t):""}},{key:"getFullNumber",value:function(e){var t=this.props.separateDialCode?"+"+this.selectedCountryData.dialCode:"";return t+e}},{key:"getDialCode",value:function(e){var t="";if("+"===e.charAt(0))for(var o="",i=0,n=e.length;it?e.substr(0,t):e}},{key:"removeEmptyDialCode",value:function(){var e=this.state.value,t="+"===e.charAt(0);if(t){var o=M.a.getNumeric(e);o&&this.selectedCountryData.dialCode!==o||this.setState({value:""})}}},{key:"handleUpDownKey",value:function(e){var t=this.flagDropDown.querySelectorAll(".highlight")[0],o=t?t.previousElementSibling:void 0,i=t?t.nextElementSibling:void 0,n=e===this.keys.UP?o:i;if(n){n.getAttribute("class").indexOf("divider")>-1&&(n=e===this.keys.UP?n.previousElementSibling:n.nextElementSibling),this.scrollTo(n);var r=M.a.retrieveLiIndex(n);this.setState({showDropdown:!0,highlightedCountry:r})}}},{key:"handleEnterKey",value:function(){var e=this,t=this.flagDropDown.querySelectorAll(".highlight")[0];if(t){var o=M.a.retrieveLiIndex(t),i=t.getAttribute("data-country-code");this.setState({showDropdown:!1,highlightedCountry:o,countryCode:i},function(){e.setFlag(e.state.countryCode),e.unbindDocumentClick()})}}},{key:"searchForCountry",value:function(e){for(var t=0,o=this.countries.length;t2&&void 0!==arguments[2]&&arguments[2];if(t&&window.intlTelInputUtils&&this.selectedCountryData){var n=this.props.separateDialCode||!this.nationalMode&&"+"===e.charAt(0)?window.intlTelInputUtils.numberFormat.INTERNATIONAL:window.intlTelInputUtils.numberFormat.NATIONAL;e=window.intlTelInputUtils.formatNumber(e,this.selectedCountryData.iso2,n)}e=this.beforeSetNumber(e),this.setState({showDropdown:!1,value:e},function(){i&&o.notifyPhoneNumberChange(o.state.value),o.unbindDocumentClick()})}},{key:"updateFlagFromNumber",value:function(e,t){e&&this.nationalMode&&this.selectedCountryData&&"1"===this.selectedCountryData.dialCode&&"+"!==e.charAt(0)&&("1"!==e.charAt(0)&&(e="1"+e),e="+"+e);var o=this.getDialCode(e),i=null;if(o){var n=this.countryCodes[M.a.getNumeric(o)],r=this.selectedCountryData&&n.indexOf(this.selectedCountryData.iso2)!==-1;if(!r||this.isUnknownNanp(e,o))for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:this.props;if(window.intlTelInputUtils&&e.autoPlaceholder&&this.selectedCountryData){var t=window.intlTelInputUtils.numberType[e.numberType],o=this.selectedCountryData.iso2?window.intlTelInputUtils.getExampleNumber(this.selectedCountryData.iso2,this.nationalMode,t):"";o=this.beforeSetNumber(o,e),"function"==typeof e.customPlaceholder&&(o=e.customPlaceholder(o,this.selectedCountryData)),this.setState({placeholder:o})}}},{key:"toggleDropdown",value:function(e){var t=this;this.setState({showDropdown:!!e},function(){t.state.showDropdown||t.unbindDocumentClick()})}},{key:"scrollTo",value:function(e,t){try{var o=this.flagDropDown.querySelector(".country-list"),i=parseFloat(window.getComputedStyle(o).getPropertyValue("height"),10),n=M.a.offset(o).top,r=n+i,a=M.a.getOuterHeight(e),l=M.a.offset(e).top,s=l+a,d=i/2-a/2,u=l-n+o.scrollTop;if(lr){t&&(u+=d);var c=i-a;o.scrollTop=u-c}}catch(e){}}},{key:"updateDialCode",value:function(e,t){var o=this.state.value;if(!e)return o;var i=o;if(e="+"+e,"+"===o.charAt(0)){var n=this.getDialCode(o);i=n?o.replace(n,e):e}else this.nationalMode||this.props.separateDialCode||(o?i=e+o:!t&&this.autoHideDialCode||(i=e));return i!==o&&this.notifyPhoneNumberChange(i),i}},{key:"generateMarkup",value:function(){this.wrapperClass["allow-dropdown"]=this.allowDropdown,this.wrapperClass["separate-dial-code"]=this.props.separateDialCode,this.isMobile&&this.props.useMobileFullscreenDropdown&&(M.a.addClass(document.querySelector("body"),"iti-mobile"),this.dropdownContainer="body",window.addEventListener("scroll",this.handleWindowScroll))}},{key:"handleSelectedFlagKeydown",value:function(e){this.state.showDropdown||e.which!==this.keys.UP&&e.which!==this.keys.DOWN&&e.which!==this.keys.SPACE&&e.which!==this.keys.ENTER||(e.preventDefault(),e.stopPropagation(),this.toggleDropdown(!0)),e.which===this.keys.TAB&&this.toggleDropdown(!1)}},{key:"isValidNumber",value:function(e){var t=M.a.trim(e),o=this.nationalMode||this.props.separateDialCode?this.selectedCountryData.iso2:"";return!!window.intlTelInputUtils&&window.intlTelInputUtils.isValidNumber(t,o)}},{key:"formatFullNumber",value:function(e){return window.intlTelInputUtils?this.getNumber(e,window.intlTelInputUtils.numberFormat.INTERNATIONAL):e}},{key:"notifyPhoneNumberChange",value:function(e){if("function"==typeof this.props.onPhoneNumberChange){var t=this.formatFullNumber(e),o=this.isValidNumber(t);this.props.onPhoneNumberChange(o,e,this.selectedCountryData,t,this.getExtension(e))}}},{key:"beforeSetNumber",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.props;if(t.separateDialCode){var o=this.getDialCode(e);if(o){null!==this.selectedCountryData.areaCodes&&(o="+"+this.selectedCountryData.dialCode);var i=" "===e[o.length]||"-"===e[o.length]?o.length+1:o.length;e=e.substr(i)}}return this.cap(e)}},{key:"handleWindowScroll",value:function(){var e=this;this.setState({showDropdown:!1},function(){window.removeEventListener("scroll",e.handleWindowScroll)})}},{key:"handleDocumentKeyDown",value:function(e){var t=this,o=void 0;e.preventDefault(),e.which===this.keys.UP||e.which===this.keys.DOWN?this.handleUpDownKey(e.which):e.which===this.keys.ENTER?this.handleEnterKey():e.which===this.keys.ESC?this.setState({showDropdown:!1}):(e.which>=this.keys.A&&e.which<=this.keys.Z||e.which===this.keys.SPACE)&&(o&&clearTimeout(o),this.query||(this.query=""),this.query+=String.fromCharCode(e.which),this.searchForCountry(this.query),o=setTimeout(function(){t.query=""},1e3))}},{key:"handleDocumentClick",value:function(e){(null===e.target.getAttribute("class")||e.target.getAttribute("class")&&e.target.getAttribute("class").indexOf("country")===-1)&&(this.isOpening=!1),this.isOpening||this.toggleDropdown(!1),this.isOpening=!1}},{key:"handleInputChange",value:function(e){var t=this,o=this.props.format?this.formatNumber(e.target.value):e.target.value;void 0!==this.props.value?(this.updateFlagFromNumber(o),this.notifyPhoneNumberChange(o)):this.setState({value:o},function(){t.updateFlagFromNumber(o),t.notifyPhoneNumberChange(o)})}},{key:"changeHighlightCountry",value:function(e,t){this.setState({showDropdown:e,highlightedCountry:t})}},{key:"loadUtils",value:function(){var e=this;if(window.intlTelInputUtils)return void this.utilsScriptDeferred.resolve();var t=new XMLHttpRequest;t.open("GET",this.props.utilsScript,!0),t.onload=function(){if(t.status>=200&&t.status<400){var o=t.responseText;if(o&&!document.getElementById("intlTelInputUtils")){var i=document.getElementsByTagName("body")[0],n=document.createElement("script");n.id="intlTelInputUtils",n.text=o,i.appendChild(n)}e.utilsScriptDeferred.resolve()}},t.send()}},{key:"autoCountryLoaded",value:function(){"auto"===this.tempCountry&&(this.tempCountry=this.autoCountry,this.autoCountryDeferred.resolve())}},{key:"render",value:function(){this.wrapperClass[this.props.css[0]]=!0;var e=this.props.css[1],t=Object.assign({},this.props.style||{});this.wrapperClass.expanded=this.state.showDropdown;var o=u()(this.wrapperClass),i=this.selectedCountryData?this.selectedCountryData.name+": +"+this.selectedCountryData.dialCode:"Unknown",n=void 0!==this.props.value?this.props.value:this.state.value;return l.a.createElement("div",{className:o,style:t},l.a.createElement(g.a,{refCallback:this.setFlagDropdownRef,allowDropdown:this.allowDropdown,dropdownContainer:this.dropdownContainer,separateDialCode:this.props.separateDialCode,dialCode:this.state.dialCode,clickSelectedFlag:this.clickSelectedFlag,setFlag:this.setFlag,countryCode:this.state.countryCode,isMobile:this.isMobile,handleSelectedFlagKeydown:this.handleSelectedFlagKeydown,changeHighlightCountry:this.changeHighlightCountry,countries:this.countries,showDropdown:this.state.showDropdown,inputTop:this.state.offsetTop,inputOuterHeight:this.state.outerHeight,preferredCountries:this.preferredCountries,highlightedCountry:this.state.highlightedCountry,titleTip:i,flagDropdownProps:this.props.flagDropdownProps,uniqueId:this.uniqueId}),l.a.createElement(f.a,{refCallback:this.setTelRef,handleInputChange:this.handleInputChange,handleOnBlur:this.handleOnBlur,className:e,disabled:this.state.disabled,readonly:this.state.readonly,fieldName:this.props.fieldName,fieldId:this.props.fieldId,value:n,placeholder:void 0!==this.props.placeholder?this.props.placeholder:this.state.placeholder,autoFocus:this.props.autoFocus,autoComplete:this.props.autoComplete,inputProps:this.props.telInputProps}))}}]),t}(a.Component);y.defaultProps={css:["intl-tel-input",""],fieldName:"",fieldId:"",defaultValue:"",countriesData:null,allowDropdown:!0,autoHideDialCode:!0,autoPlaceholder:!0,customPlaceholder:null,excludeCountries:[],formatOnInit:!0,separateDialCode:!1,defaultCountry:"",geoIpLookup:null,nationalMode:!0,numberType:"MOBILE",noCountryDataHandler:null,onlyCountries:[],preferredCountries:["us","gb"],utilsScript:"",onPhoneNumberChange:null,onPhoneNumberBlur:null,onSelectFlag:null,disabled:!1,autoFocus:!1,useMobileFullscreenDropdown:!0,autoComplete:"off",telInputProps:{},flagDropdownProps:{},format:!1},t.default=y}])}); \ No newline at end of file diff --git a/src/components/CountryList.js b/src/components/CountryList.js index c0cab7d63..8d93f143b 100644 --- a/src/components/CountryList.js +++ b/src/components/CountryList.js @@ -66,6 +66,7 @@ class CountryList extends Component { }; const countryClass = classNames(countryClassObj); const keyPrefix = isPreferred ? 'pref-' : ''; + const isSelected = this.props.selectedCountryCode === country.iso2; return (
  • { this.selectedFlag = selectedFlag; } } @@ -125,6 +130,8 @@ class CountryList extends Component {
      { this.listElement = listElement; } } className={ className } + id={ this.props.countryListId } + role="listbox" > { preferredOptions } { divider } @@ -144,6 +151,9 @@ CountryList.propTypes = { changeHighlightCountry: PropTypes.func, showDropdown: PropTypes.bool, isMobile: PropTypes.bool, + selectedCountryCode: PropTypes.string.isRequired, + countryListId: PropTypes.string.isRequired, + getItemId: PropTypes.func.isRequired, }; export default CountryList; diff --git a/src/components/FlagDropDown.js b/src/components/FlagDropDown.js index 16ec53d83..ba738a004 100644 --- a/src/components/FlagDropDown.js +++ b/src/components/FlagDropDown.js @@ -5,6 +5,8 @@ import CountryList from './CountryList'; import RootModal from './RootModal'; class FlagDropDown extends Component { + getItemId = (id) => `intl-tel-item-${this.props.uniqueId}-${id}` + render() { const flagClassObj = { 'iti-flag': true, @@ -35,6 +37,8 @@ class FlagDropDown extends Component { let genCountryList = () => ''; + const countryListId = `intl-tel-countries-list-${this.props.uniqueId}`; + if (this.props.dropdownContainer) { if (this.props.showDropdown) { genCountryList = () => @@ -51,6 +55,9 @@ class FlagDropDown extends Component { preferredCountries={ this.props.preferredCountries } highlightedCountry={ this.props.highlightedCountry } changeHighlightCountry={ this.props.changeHighlightCountry } + selectedCountryCode={ this.props.countryCode } + countryListId={ countryListId } + getItemId={ this.getItemId } /> ; } @@ -68,6 +75,9 @@ class FlagDropDown extends Component { preferredCountries={ this.props.preferredCountries } highlightedCountry={ this.props.highlightedCountry } changeHighlightCountry={ this.props.changeHighlightCountry } + selectedCountryCode={ this.props.countryCode } + countryListId={ countryListId } + getItemId={ this.getItemId } />; } @@ -77,11 +87,17 @@ class FlagDropDown extends Component { className="flag-container" >
      { genSelectedDialCode() } @@ -112,6 +128,8 @@ FlagDropDown.propTypes = { changeHighlightCountry: PropTypes.func, titleTip: PropTypes.string, refCallback: PropTypes.func.isRequired, + uniqueId: PropTypes.string.isRequired, + flagDropdownProps: PropTypes.object, // eslint-disable-line react/forbid-prop-types }; export default FlagDropDown; diff --git a/src/components/IntlTelInputApp.js b/src/components/IntlTelInputApp.js index ad0e893f3..5b8781ffb 100644 --- a/src/components/IntlTelInputApp.js +++ b/src/components/IntlTelInputApp.js @@ -100,6 +100,8 @@ class IntlTelInputApp extends Component { this.handleInputChange = this.handleInputChange.bind(this); this.changeHighlightCountry = this.changeHighlightCountry.bind(this); this.formatNumber = this.formatNumber.bind(this); + // using a unique Id not to interfere with other instances of the tel input + this.uniqueId = Math.random().toString(36).substring(2); } componentDidMount() { @@ -1151,6 +1153,8 @@ class IntlTelInputApp extends Component { preferredCountries={ this.preferredCountries } highlightedCountry={ this.state.highlightedCountry } titleTip={ titleTip } + flagDropdownProps={ this.props.flagDropdownProps } + uniqueId={ this.uniqueId } />