!function(n,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Cleave=t():n.Cleave=t()}(this,function(){return function(n){function t(r){if(i[r])return i[r].exports;var u=i[r]={exports:{},id:r,loaded:!1};return n[r].call(u.exports,u,u.exports,t),u.loaded=!0,u.exports}var i={};return t.m=n,t.c=i,t.p="",t(0)}([function(n,t,i){(function(t){"use strict";var r=function(n,t){var i=this;if(i.element="string"==typeof n?document.querySelector(n):"undefined"!=typeof n.length&&n.length>0?n[0]:n,!i.element)throw new Error("[cleave.js] Please check the element");t.initValue=i.element.value;i.properties=r.DefaultProperties.assign({},t);i.init()};r.prototype={init:function(){var n=this,t=n.properties;(t.numeral||t.phone||t.creditCard||t.date||0!==t.blocksLength||t.prefix)&&(t.maxLength=r.Util.getMaxLength(t.blocks),n.onChangeListener=n.onChange.bind(n),n.onKeyDownListener=n.onKeyDown.bind(n),n.onCutListener=n.onCut.bind(n),n.onCopyListener=n.onCopy.bind(n),n.element.addEventListener("input",n.onChangeListener),n.element.addEventListener("keydown",n.onKeyDownListener),n.element.addEventListener("cut",n.onCutListener),n.element.addEventListener("copy",n.onCopyListener),n.initPhoneFormatter(),n.initDateFormatter(),n.initNumeralFormatter(),n.onInput(t.initValue))},initNumeralFormatter:function(){var t=this,n=t.properties;n.numeral&&(n.numeralFormatter=new r.NumeralFormatter(n.numeralDecimalMark,n.numeralDecimalScale,n.numeralThousandsGroupStyle,n.numeralPositiveOnly,n.delimiter))},initDateFormatter:function(){var t=this,n=t.properties;n.date&&(n.dateFormatter=new r.DateFormatter(n.datePattern),n.blocks=n.dateFormatter.getBlocks(),n.blocksLength=n.blocks.length,n.maxLength=r.Util.getMaxLength(n.blocks))},initPhoneFormatter:function(){var t=this,n=t.properties;if(n.phone)try{n.phoneFormatter=new r.PhoneFormatter(new n.root.Cleave.AsYouTypeFormatter(n.phoneRegionCode),n.delimiter)}catch(i){throw new Error("[cleave.js] Please include phone-type-formatter.{country}.js lib");}},onKeyDown:function(n){var i=this,t=i.properties,u=n.which||n.keyCode;return 8===u&&r.Util.isDelimiter(i.element.value.slice(-1),t.delimiter,t.delimiters)?void(t.backspace=!0):void(t.backspace=!1)},onChange:function(){this.onInput(this.element.value)},onCut:function(n){this.copyClipboardData(n);this.onInput("")},onCopy:function(n){this.copyClipboardData(n)},copyClipboardData:function(n){var i=this,t=i.properties,e=r.Util,u=i.element.value,f=t.copyDelimiter?u:e.stripDelimiters(u,t.delimiter,t.delimiters);try{n.clipboardData?n.clipboardData.setData("Text",f):window.clipboardData.setData("Text",f);n.preventDefault()}catch(o){}},onInput:function(n){var u=this,t=u.properties,f=n,i=r.Util;return t.numeral||!t.backspace||i.isDelimiter(n.slice(-1),t.delimiter,t.delimiters)||(n=i.headStr(n,n.length-1)),t.phone?(t.result=t.phoneFormatter.format(n),void u.updateValueState()):t.numeral?(t.result=t.prefix+t.numeralFormatter.format(n),void u.updateValueState()):(t.date&&(n=t.dateFormatter.getValidatedDate(n)),n=i.stripDelimiters(n,t.delimiter,t.delimiters),n=i.getPrefixStrippedValue(n,t.prefix,t.prefixLength),n=t.numericOnly?i.strip(n,/[^\d]/g):n,n=t.uppercase?n.toUpperCase():n,n=t.lowercase?n.toLowerCase():n,t.prefix&&(n=t.prefix+n,0===t.blocksLength)?(t.result=n,void u.updateValueState()):(t.creditCard&&u.updateCreditCardPropsByValue(n),n=i.headStr(n,t.maxLength),t.result=i.getFormattedValue(n,t.blocks,t.blocksLength,t.delimiter,t.delimiters),void(f===t.result&&f!==t.prefix||u.updateValueState())))},updateCreditCardPropsByValue:function(n){var i,f=this,t=f.properties,u=r.Util;u.headStr(t.result,4)!==u.headStr(n,4)&&(i=r.CreditCardDetector.getInfo(n,t.creditCardStrictMode),t.blocks=i.blocks,t.blocksLength=t.blocks.length,t.maxLength=u.getMaxLength(t.blocks),t.creditCardType!==i.type&&(t.creditCardType=i.type,t.onCreditCardTypeChanged.call(f,t.creditCardType)))},updateValueState:function(){var n=this;n.element.value=n.properties.result},setPhoneRegionCode:function(n){var t=this,i=t.properties;i.phoneRegionCode=n;t.initPhoneFormatter();t.onChange()},setRawValue:function(n){var t=this,i=t.properties;n=void 0!==n?n.toString():"";i.numeral&&(n=n.replace(".",i.numeralDecimalMark));t.element.value=n;t.onInput(n)},getRawValue:function(){var i=this,n=i.properties,u=r.Util,t=i.element.value;return n.rawValueTrimPrefix&&(t=u.getPrefixStrippedValue(t,n.prefix,n.prefixLength)),t=n.numeral?n.numeralFormatter.getRawValue(t):u.stripDelimiters(t,n.delimiter,n.delimiters)},getFormattedValue:function(){return this.element.value},destroy:function(){var n=this;n.element.removeEventListener("input",n.onChangeListener);n.element.removeEventListener("keydown",n.onKeyDownListener);n.element.removeEventListener("cut",n.onCutListener);n.element.removeEventListener("copy",n.onCopyListener)},toString:function(){return"[Cleave Object]"}};r.NumeralFormatter=i(1);r.DateFormatter=i(2);r.PhoneFormatter=i(3);r.CreditCardDetector=i(4);r.Util=i(5);r.DefaultProperties=i(6);("object"==typeof t&&t?t:window).Cleave=r;n.exports=r}).call(t,function(){return this}())},function(n){"use strict";var t=function(n,i,r,u,f){var e=this;e.numeralDecimalMark=n||".";e.numeralDecimalScale=i>=0?i:2;e.numeralThousandsGroupStyle=r||t.groupStyle.thousand;e.numeralPositiveOnly=!!u;e.delimiter=f||""===f?f:",";e.delimiterRE=f?new RegExp("\\"+f,"g"):""};t.groupStyle={thousand:"thousand",lakh:"lakh",wan:"wan"};t.prototype={getRawValue:function(n){return n.replace(this.delimiterRE,"").replace(this.numeralDecimalMark,".")},format:function(n){var u,r,i=this,f="";switch(n=n.replace(/[A-Za-z]/g,"").replace(i.numeralDecimalMark,"M").replace(/[^\dM-]/g,"").replace(/^\-/,"N").replace(/\-/g,"").replace("N",i.numeralPositiveOnly?"":"-").replace("M",i.numeralDecimalMark).replace(/^(-)?0+(?=\d)/,"$1"),r=n,n.indexOf(i.numeralDecimalMark)>=0&&(u=n.split(i.numeralDecimalMark),r=u[0],f=i.numeralDecimalMark+u[1].slice(0,i.numeralDecimalScale)),i.numeralThousandsGroupStyle){case t.groupStyle.lakh:r=r.replace(/(\d)(?=(\d\d)+\d$)/g,"$1"+i.delimiter);break;case t.groupStyle.wan:r=r.replace(/(\d)(?=(\d{4})+$)/g,"$1"+i.delimiter);break;default:r=r.replace(/(\d)(?=(\d{3})+$)/g,"$1"+i.delimiter)}return r.toString()+(i.numeralDecimalScale>0?f.toString():"")}};n.exports=t},function(n){"use strict";var t=function(n){var t=this;t.blocks=[];t.datePattern=n;t.initBlocks()};t.prototype={initBlocks:function(){var n=this;n.datePattern.forEach(function(t){"Y"===t?n.blocks.push(4):n.blocks.push(2)})},getBlocks:function(){return this.blocks},getValidatedDate:function(n){var t=this,i="";return n=n.replace(/[^\d]/g,""),t.blocks.forEach(function(r,u){if(n.length>0){var f=n.slice(0,r),e=f.slice(0,1),o=n.slice(r);switch(t.datePattern[u]){case"d":"00"===f?f="01":parseInt(e,10)>3?f="0"+e:parseInt(f,10)>31&&(f="31");break;case"m":"00"===f?f="01":parseInt(e,10)>1?f="0"+e:parseInt(f,10)>12&&(f="12")}i+=f;n=o}}),i}};n.exports=t},function(n){"use strict";var t=function(n,t){var i=this;i.delimiter=t||""===t?t:" ";i.delimiterRE=t?new RegExp("\\"+t,"g"):"";i.formatter=n};t.prototype={setFormatter:function(n){this.formatter=n},format:function(n){var i=this;i.formatter.clear();n=n.replace(/[^\d+]/g,"");n=n.replace(i.delimiterRE,"");for(var r,t="",f=!1,u=0,e=n.length;e>u;u++)r=i.formatter.inputDigit(n.charAt(u)),/[\s()-]/g.test(r)?(t=r,f=!0):f||(t=r);return t=t.replace(/[()]/g,""),t=t.replace(/[\s-]/g,i.delimiter)}};n.exports=t},function(n){"use strict";var t={blocks:{uatp:[4,5,6],amex:[4,6,5],diners:[4,6,4],discover:[4,4,4,4],mastercard:[4,4,4,4],dankort:[4,4,4,4],instapayment:[4,4,4,4],jcb:[4,4,4,4],maestro:[4,4,4,4],visa:[4,4,4,4],general:[4,4,4,4],generalStrict:[4,4,4,7]},re:{uatp:/^(?!1800)1\d{0,14}/,amex:/^3[47]\d{0,13}/,discover:/^(?:6011|65\d{0,2}|64[4-9]\d?)\d{0,12}/,diners:/^3(?:0([0-5]|9)|[689]\d?)\d{0,11}/,mastercard:/^(5[1-5]|2[2-7])\d{0,14}/,dankort:/^(5019|4175|4571)\d{0,12}/,instapayment:/^63[7-9]\d{0,13}/,jcb:/^(?:2131|1800|35\d{0,2})\d{0,12}/,maestro:/^(?:5[0678]\d{0,2}|6304|67\d{0,2})\d{0,12}/,visa:/^4\d{0,15}/},getInfo:function(n,i){var r=t.blocks,u=t.re;return i=!!i,u.amex.test(n)?{type:"amex",blocks:r.amex}:u.uatp.test(n)?{type:"uatp",blocks:r.uatp}:u.diners.test(n)?{type:"diners",blocks:r.diners}:u.discover.test(n)?{type:"discover",blocks:r.discover}:u.mastercard.test(n)?{type:"mastercard",blocks:r.mastercard}:u.dankort.test(n)?{type:"dankort",blocks:r.dankort}:u.instapayment.test(n)?{type:"instapayment",blocks:r.instapayment}:u.jcb.test(n)?{type:"jcb",blocks:r.jcb}:u.maestro.test(n)?{type:"maestro",blocks:r.maestro}:u.visa.test(n)?{type:"visa",blocks:i?r.generalStrict:r.visa}:{type:"unknown",blocks:r.general}}};n.exports=t},function(n){"use strict";var t={noop:function(){},strip:function(n,t){return n.replace(t,"")},isDelimiter:function(n,t,i){return 0===i.length?n===t:i.some(function(t){if(n===t)return!0})},stripDelimiters:function(n,t,i){if(0===i.length){var r=t?new RegExp("\\"+t,"g"):"";return n.replace(r,"")}return i.forEach(function(t){n=n.replace(new RegExp("\\"+t,"g"),"")}),n},headStr:function(n,t){return n.slice(0,t)},getMaxLength:function(n){return n.reduce(function(n,t){return n+t},0)},getPrefixStrippedValue:function(n,t,i){if(n.slice(0,i)!==t){var r=this.getFirstDiffIndex(t,n.slice(0,i));n=t+n.slice(r,r+1)+n.slice(i+1)}return n.slice(i)},getFirstDiffIndex:function(n,t){for(var i=0;n.charAt(i)===t.charAt(i);)if(""===n.charAt(i++))return-1;return i},getFormattedValue:function(n,t,i,r,u){var f,e="",o=u.length>0;return 0===i?n:(t.forEach(function(t,s){if(n.length>0){var h=n.slice(0,t),c=n.slice(t);e+=h;f=o?u[s]||f:r;h.length===t&&i-1>s&&(e+=f);n=c}}),e)}};n.exports=t},function(n,t){(function(t){"use strict";var i={assign:function(n,i){return n=n||{},i=i||{},n.creditCard=!!i.creditCard,n.creditCardStrictMode=!!i.creditCardStrictMode,n.creditCardType="",n.onCreditCardTypeChanged=i.onCreditCardTypeChanged||function(){},n.phone=!!i.phone,n.phoneRegionCode=i.phoneRegionCode||"AU",n.phoneFormatter={},n.date=!!i.date,n.datePattern=i.datePattern||["d","m","Y"],n.dateFormatter={},n.numeral=!!i.numeral,n.numeralDecimalScale=i.numeralDecimalScale>=0?i.numeralDecimalScale:2,n.numeralDecimalMark=i.numeralDecimalMark||".",n.numeralThousandsGroupStyle=i.numeralThousandsGroupStyle||"thousand",n.numeralPositiveOnly=!!i.numeralPositiveOnly,n.numericOnly=n.creditCard||n.date||!!i.numericOnly,n.uppercase=!!i.uppercase,n.lowercase=!!i.lowercase,n.prefix=n.creditCard||n.phone||n.date?"":i.prefix||"",n.prefixLength=n.prefix.length,n.rawValueTrimPrefix=!!i.rawValueTrimPrefix,n.copyDelimiter=!!i.copyDelimiter,n.initValue=void 0===i.initValue?"":i.initValue.toString(),n.delimiter=i.delimiter||""===i.delimiter?i.delimiter:i.date?"/":i.numeral?",":(i.phone," "),n.delimiters=i.delimiters||[],n.blocks=i.blocks||[],n.blocksLength=n.blocks.length,n.root="object"==typeof t&&t?t:window,n.maxLength=0,n.backspace=!1,n.result="",n}};n.exports=i}).call(t,function(){return this}())}])})