From 647920ec5f1db8ad4c658718faaa5743f1c08e57 Mon Sep 17 00:00:00 2001 From: Max Huang Date: Wed, 3 Aug 2016 23:12:24 +1000 Subject: [PATCH] Fix ReactJS value issue --- bower.json | 2 +- dist/cleave-react.js | 2 ++ dist/cleave-react.min.js | 4 ++-- dist/cleave.min.js | 4 ++-- doc/options.md | 2 +- package.json | 2 +- src/Cleave.react.js | 2 ++ 7 files changed, 11 insertions(+), 7 deletions(-) diff --git a/bower.json b/bower.json index 7abdabda..e43ee002 100644 --- a/bower.json +++ b/bower.json @@ -8,7 +8,7 @@ "form", "input" ], - "version": "0.6.1", + "version": "0.6.2", "author": { "name": "Max Huang", "email": "risonhuang@gmail.com", diff --git a/dist/cleave-react.js b/dist/cleave-react.js index 34ebaf69..b4b15d5b 100644 --- a/dist/cleave-react.js +++ b/dist/cleave-react.js @@ -205,6 +205,8 @@ return /******/ (function(modules) { // webpackBootstrap event.target.rawValue = Util.stripDelimiters(pps.result, pps.delimiter, pps.delimiters); } + event.target.value = pps.result; + owner.registeredEvents.onChange(event); }, diff --git a/dist/cleave-react.min.js b/dist/cleave-react.min.js index 3ced8af0..597296c1 100644 --- a/dist/cleave-react.min.js +++ b/dist/cleave-react.min.js @@ -1,8 +1,8 @@ /*! - * cleave.js - 0.6.1 + * cleave.js - 0.6.2 * https://github.com/nosir/cleave.js * Apache License Version 2.0 * * Copyright (C) 2012-2016 Max Huang https://github.com/nosir/ */ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):"object"==typeof exports?exports.Cleave=t(require("react")):e.Cleave=t(e.React)}(this,function(e){return function(e){function t(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}([function(e,t,r){"use strict";function n(e,t){var r={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r}var o=Object.assign||function(e){for(var t=1;t=0?t:2,a.numeralThousandsGroupStyle=r||o.groupStyle.thousand,a.delimiter=n||""===n?n:",",a.delimiterRE=n?new RegExp("\\"+n,"g"):""};n.groupStyle={thousand:"thousand",lakh:"lakh",wan:"wan"},n.prototype={getRawValue:function(e){return e.replace(this.delimiterRE,"").replace(this.numeralDecimalMark,".")},format:function(e){var t,r,o=this,a="";switch(e=e.replace(/[A-Za-z]/g,"").replace(o.numeralDecimalMark,"M").replace(/^\-/,"N").replace(/[^\dMN]/g,"").replace("N","-").replace("M",o.numeralDecimalMark).replace(/^(-)?0+(?=\d)/,"$1"),r=e,e.indexOf(o.numeralDecimalMark)>=0&&(t=e.split(o.numeralDecimalMark),r=t[0],a=o.numeralDecimalMark+t[1].slice(0,o.numeralDecimalScale)),o.numeralThousandsGroupStyle){case n.groupStyle.lakh:r=r.replace(/(\d)(?=(\d\d)+\d$)/g,"$1"+o.delimiter);break;case n.groupStyle.wan:r=r.replace(/(\d)(?=(\d{4})+$)/g,"$1"+o.delimiter);break;default:r=r.replace(/(\d)(?=(\d{3})+$)/g,"$1"+o.delimiter)}return r.toString()+(o.numeralDecimalScale>0?a.toString():"")}},"object"===r(e)&&"object"===r(e.exports)&&(e.exports=t=n)}).call(t,r(3)(e))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children=[],e.webpackPolyfill=1),e}},function(e,t,r){(function(e){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},n=function(e){var t=this;t.blocks=[],t.datePattern=e,t.initBlocks()};n.prototype={initBlocks:function(){var e=this;e.datePattern.forEach(function(t){"Y"===t?e.blocks.push(4):e.blocks.push(2)})},getBlocks:function(){return this.blocks},getValidatedDate:function(e){var t=this,r="";return e=e.replace(/[^\d]/g,""),t.blocks.forEach(function(n,o){if(e.length>0){var a=e.slice(0,n),i=a.slice(0,1),l=e.slice(n);switch(t.datePattern[o]){case"d":"00"===a?a="01":parseInt(i,10)>3?a="0"+i:parseInt(a,10)>31&&(a="31");break;case"m":"00"===a?a="01":parseInt(i,10)>1?a="0"+i:parseInt(a,10)>12&&(a="12")}r+=a,e=l}}),r}},"object"===r(e)&&"object"===r(e.exports)&&(e.exports=t=n)}).call(t,r(3)(e))},function(e,t,r){(function(e){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},n=function(e,t){var r=this;r.delimiter=t||""===t?t:" ",r.delimiterRE=t?new RegExp("\\"+t,"g"):"",r.formatter=e};n.prototype={setFormatter:function(e){this.formatter=e},format:function(e){var t=this;t.formatter.clear(),e=e.replace(/[^\d+]/g,""),e=e.replace(t.delimiterRE,"");for(var r,n="",o=!1,a=0,i=e.length;a0;return t.forEach(function(t,c){if(e.length>0){var s=e.slice(0,t),u=e.slice(t);i+=s,a=l?o[c]||a:n,s.length===t&&c=0?t.numeralDecimalScale:2,e.numeralDecimalMark=t.numeralDecimalMark||".",e.numeralThousandsGroupStyle=t.numeralThousandsGroupStyle||"thousand",e.numericOnly=e.creditCard||e.date||!!t.numericOnly,e.uppercase=!!t.uppercase,e.lowercase=!!t.lowercase,e.prefix=e.creditCard||e.phone||e.date?"":t.prefix||"",e.prefixLength=e.prefix.length,e.initValue=t.initValue||"",e.delimiter=t.delimiter||""===t.delimiter?t.delimiter:t.date?"/":t.numeral?",":(t.phone," "),e.delimiters=t.delimiters||[],e.blocks=t.blocks||[],e.blocksLength=e.blocks.length,e.maxLength=0,e.backspace=!1,e.result="",e}};"object"===r(e)&&"object"===r(e.exports)&&(e.exports=t=n)}).call(t,r(3)(e))}])}); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):"object"==typeof exports?exports.Cleave=t(require("react")):e.Cleave=t(e.React)}(this,function(e){return function(e){function t(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}([function(e,t,r){"use strict";function n(e,t){var r={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r}var o=Object.assign||function(e){for(var t=1;t=0?t:2,a.numeralThousandsGroupStyle=r||o.groupStyle.thousand,a.delimiter=n||""===n?n:",",a.delimiterRE=n?new RegExp("\\"+n,"g"):""};n.groupStyle={thousand:"thousand",lakh:"lakh",wan:"wan"},n.prototype={getRawValue:function(e){return e.replace(this.delimiterRE,"").replace(this.numeralDecimalMark,".")},format:function(e){var t,r,o=this,a="";switch(e=e.replace(/[A-Za-z]/g,"").replace(o.numeralDecimalMark,"M").replace(/^\-/,"N").replace(/[^\dMN]/g,"").replace("N","-").replace("M",o.numeralDecimalMark).replace(/^(-)?0+(?=\d)/,"$1"),r=e,e.indexOf(o.numeralDecimalMark)>=0&&(t=e.split(o.numeralDecimalMark),r=t[0],a=o.numeralDecimalMark+t[1].slice(0,o.numeralDecimalScale)),o.numeralThousandsGroupStyle){case n.groupStyle.lakh:r=r.replace(/(\d)(?=(\d\d)+\d$)/g,"$1"+o.delimiter);break;case n.groupStyle.wan:r=r.replace(/(\d)(?=(\d{4})+$)/g,"$1"+o.delimiter);break;default:r=r.replace(/(\d)(?=(\d{3})+$)/g,"$1"+o.delimiter)}return r.toString()+(o.numeralDecimalScale>0?a.toString():"")}},"object"===r(e)&&"object"===r(e.exports)&&(e.exports=t=n)}).call(t,r(3)(e))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children=[],e.webpackPolyfill=1),e}},function(e,t,r){(function(e){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},n=function(e){var t=this;t.blocks=[],t.datePattern=e,t.initBlocks()};n.prototype={initBlocks:function(){var e=this;e.datePattern.forEach(function(t){"Y"===t?e.blocks.push(4):e.blocks.push(2)})},getBlocks:function(){return this.blocks},getValidatedDate:function(e){var t=this,r="";return e=e.replace(/[^\d]/g,""),t.blocks.forEach(function(n,o){if(e.length>0){var a=e.slice(0,n),i=a.slice(0,1),l=e.slice(n);switch(t.datePattern[o]){case"d":"00"===a?a="01":parseInt(i,10)>3?a="0"+i:parseInt(a,10)>31&&(a="31");break;case"m":"00"===a?a="01":parseInt(i,10)>1?a="0"+i:parseInt(a,10)>12&&(a="12")}r+=a,e=l}}),r}},"object"===r(e)&&"object"===r(e.exports)&&(e.exports=t=n)}).call(t,r(3)(e))},function(e,t,r){(function(e){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},n=function(e,t){var r=this;r.delimiter=t||""===t?t:" ",r.delimiterRE=t?new RegExp("\\"+t,"g"):"",r.formatter=e};n.prototype={setFormatter:function(e){this.formatter=e},format:function(e){var t=this;t.formatter.clear(),e=e.replace(/[^\d+]/g,""),e=e.replace(t.delimiterRE,"");for(var r,n="",o=!1,a=0,i=e.length;i>a;a++)r=t.formatter.inputDigit(e.charAt(a)),/[\s()-]/g.test(r)?(n=r,o=!0):o||(n=r);return n=n.replace(/[()]/g,""),n=n.replace(/[\s-]/g,t.delimiter)}},"object"===r(e)&&"object"===r(e.exports)&&(e.exports=t=n)}).call(t,r(3)(e))},function(e,t,r){(function(e){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},n={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],generalLoose:[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(e,t){var r=n.blocks,o=n.re;return t=!!t,o.amex.test(e)?{type:"amex",blocks:r.amex}:o.uatp.test(e)?{type:"uatp",blocks:r.uatp}:o.diners.test(e)?{type:"diners",blocks:r.diners}:o.discover.test(e)?{type:"discover",blocks:r.discover}:o.mastercard.test(e)?{type:"mastercard",blocks:r.mastercard}:o.dankort.test(e)?{type:"dankort",blocks:r.dankort}:o.instapayment.test(e)?{type:"instapayment",blocks:r.instapayment}:o.jcb.test(e)?{type:"jcb",blocks:r.jcb}:o.maestro.test(e)?{type:"maestro",blocks:r.maestro}:o.visa.test(e)?{type:"visa",blocks:r.visa}:t?{type:"unknown",blocks:r.generalStrict}:{type:"unknown",blocks:r.generalLoose}}};"object"===r(e)&&"object"===r(e.exports)&&(e.exports=t=n)}).call(t,r(3)(e))},function(e,t,r){(function(e){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},n={noop:function(){},strip:function(e,t){return e.replace(t,"")},isDelimiter:function(e,t,r){return 0===r.length?e===t:r.some(function(t){return e===t?!0:void 0})},stripDelimiters:function(e,t,r){if(0===r.length){var n=t?new RegExp("\\"+t,"g"):"";return e.replace(n,"")}return r.forEach(function(t){e=e.replace(new RegExp("\\"+t,"g"),"")}),e},headStr:function(e,t){return e.slice(0,t)},getMaxLength:function(e){return e.reduce(function(e,t){return e+t},0)},getPrefixStrippedValue:function(e,t){return e.slice(t)},getFormattedValue:function(e,t,r,n,o){var a,i="",l=o.length>0;return t.forEach(function(t,c){if(e.length>0){var s=e.slice(0,t),u=e.slice(t);i+=s,a=l?o[c]||a:n,s.length===t&&r-1>c&&(i+=a),e=u}}),i}};"object"===r(e)&&"object"===r(e.exports)&&(e.exports=t=n)}).call(t,r(3)(e))},function(e,t,r){(function(e){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},n={assign:function(e,t){return e=e||{},t=t||{},e.creditCard=!!t.creditCard,e.creditCardStrictMode=!!t.creditCardStrictMode,e.creditCardType="",e.onCreditCardTypeChanged=t.onCreditCardTypeChanged||function(){},e.phone=!!t.phone,e.phoneRegionCode=t.phoneRegionCode||"AU",e.phoneFormatter={},e.date=!!t.date,e.datePattern=t.datePattern||["d","m","Y"],e.dateFormatter={},e.numeral=!!t.numeral,e.numeralDecimalScale=t.numeralDecimalScale>=0?t.numeralDecimalScale:2,e.numeralDecimalMark=t.numeralDecimalMark||".",e.numeralThousandsGroupStyle=t.numeralThousandsGroupStyle||"thousand",e.numericOnly=e.creditCard||e.date||!!t.numericOnly,e.uppercase=!!t.uppercase,e.lowercase=!!t.lowercase,e.prefix=e.creditCard||e.phone||e.date?"":t.prefix||"",e.prefixLength=e.prefix.length,e.initValue=t.initValue||"",e.delimiter=t.delimiter||""===t.delimiter?t.delimiter:t.date?"/":t.numeral?",":(t.phone," "),e.delimiters=t.delimiters||[],e.blocks=t.blocks||[],e.blocksLength=e.blocks.length,e.maxLength=0,e.backspace=!1,e.result="",e}};"object"===r(e)&&"object"===r(e.exports)&&(e.exports=t=n)}).call(t,r(3)(e))}])}); \ No newline at end of file diff --git a/dist/cleave.min.js b/dist/cleave.min.js index 16d407b2..45c5f8bc 100644 --- a/dist/cleave.min.js +++ b/dist/cleave.min.js @@ -1,8 +1,8 @@ /*! - * cleave.js - 0.6.1 + * cleave.js - 0.6.2 * https://github.com/nosir/cleave.js * Apache License Version 2.0 * * Copyright (C) 2012-2016 Max Huang https://github.com/nosir/ */ -!function(e,t,r){"use strict";var a=function(e,r){var o=this;"string"==typeof e?o.element=t.querySelector(e):o.element="undefined"!=typeof e.length&&e.length>0?e[0]:e,r.initValue=o.element.value,o.properties=a.DefaultProperties.assign({},r),o.init()};a.prototype={init:function(){var e=this,t=e.properties;(t.numeral||t.phone||t.creditCard||t.date||0!==t.blocksLength||t.prefix)&&(t.maxLength=a.Util.getMaxLength(t.blocks),e.onChangeListener=e.onChange.bind(e),e.onKeyDownListener=e.onKeyDown.bind(e),e.element.addEventListener("input",e.onChangeListener),e.element.addEventListener("keydown",e.onKeyDownListener),e.initPhoneFormatter(),e.initDateFormatter(),e.initNumeralFormatter(),e.onInput(t.initValue))},initNumeralFormatter:function(){var e=this,t=e.properties;t.numeral&&(t.numeralFormatter=new a.NumeralFormatter(t.numeralDecimalMark,t.numeralDecimalScale,t.numeralThousandsGroupStyle,t.delimiter))},initDateFormatter:function(){var e=this,t=e.properties;t.date&&(t.dateFormatter=new a.DateFormatter(t.datePattern),t.blocks=t.dateFormatter.getBlocks(),t.blocksLength=t.blocks.length,t.maxLength=a.Util.getMaxLength(t.blocks))},initPhoneFormatter:function(){var t=this,r=t.properties;if(r.phone)try{r.phoneFormatter=new a.PhoneFormatter(new e.Cleave.AsYouTypeFormatter(r.phoneRegionCode),r.delimiter)}catch(o){throw new Error("Please include phone-type-formatter.{country}.js lib")}},onKeyDown:function(e){var t=this,r=t.properties,o=e.which||e.keyCode;return 8===o&&a.Util.isDelimiter(t.element.value.slice(-1),r.delimiter,r.delimiters)?void(r.backspace=!0):void(r.backspace=!1)},onChange:function(){this.onInput(this.element.value)},onInput:function(e){var t=this,r=t.properties,o=e,n=a.Util;return r.numeral||!r.backspace||n.isDelimiter(e.slice(-1),r.delimiter,r.delimiters)||(e=n.headStr(e,e.length-1)),r.phone?(r.result=r.phoneFormatter.format(e),void t.updateValueState()):r.numeral?(r.result=r.prefix+r.numeralFormatter.format(e),void t.updateValueState()):(r.date&&(e=r.dateFormatter.getValidatedDate(e)),e=n.stripDelimiters(e,r.delimiter,r.delimiters),e=n.getPrefixStrippedValue(e,r.prefixLength),e=r.numericOnly?n.strip(e,/[^\d]/g):e,e=r.uppercase?e.toUpperCase():e,e=r.lowercase?e.toLowerCase():e,r.prefix&&(e=r.prefix+e,0===r.blocksLength)?(r.result=e,void t.updateValueState()):(r.creditCard&&t.updateCreditCardPropsByValue(e),e=n.headStr(e,r.maxLength),r.result=n.getFormattedValue(e,r.blocks,r.blocksLength,r.delimiter,r.delimiters),void(o===r.result&&o!==r.prefix||t.updateValueState())))},updateCreditCardPropsByValue:function(e){var t,r=this,o=r.properties,n=a.Util;n.headStr(o.result,4)!==n.headStr(e,4)&&(t=a.CreditCardDetector.getInfo(e,o.creditCardStrictMode),o.blocks=t.blocks,o.blocksLength=o.blocks.length,o.maxLength=n.getMaxLength(o.blocks),o.creditCardType!==t.type&&(o.creditCardType=t.type,o.onCreditCardTypeChanged.call(r,o.creditCardType)))},updateValueState:function(){var e=this;e.element.value=e.properties.result},setPhoneRegionCode:function(e){var t=this,r=t.properties;r.phoneRegionCode=e,t.initPhoneFormatter(),t.onChange()},setRawValue:function(e){var t=this;t.element.value=e,t.onInput(e)},getRawValue:function(){var e=this,t=e.properties,r=e.element.value;return t.numeral?t.numeralFormatter.getRawValue(r):a.Util.stripDelimiters(r,t.delimiter,t.delimiters)},getFormattedValue:function(){return this.element.value},destroy:function(){var e=this;e.element.removeEventListener("input",e.onChangeListener),e.element.removeEventListener("keydown",e.onKeyDownListener)},toString:function(){return"[Cleave Object]"}},"object"==typeof module&&"object"==typeof module.exports&&(a.NumeralFormatter=require("./shortcuts/NumeralFormatter"),a.DateFormatter=require("./shortcuts/DateFormatter"),a.PhoneFormatter=require("./shortcuts/PhoneFormatter"),a.CreditCardDetector=require("./shortcuts/CreditCardDetector"),a.Util=require("./utils/Util"),a.DefaultProperties=require("./common/DefaultProperties"),module.exports=exports=a);var o={noop:function(){},strip:function(e,t){return e.replace(t,"")},isDelimiter:function(e,t,r){return 0===r.length?e===t:r.some(function(t){if(e===t)return!0})},stripDelimiters:function(e,t,r){if(0===r.length){var a=t?new RegExp("\\"+t,"g"):"";return e.replace(a,"")}return r.forEach(function(t){e=e.replace(new RegExp("\\"+t,"g"),"")}),e},headStr:function(e,t){return e.slice(0,t)},getMaxLength:function(e){return e.reduce(function(e,t){return e+t},0)},getPrefixStrippedValue:function(e,t){return e.slice(t)},getFormattedValue:function(e,t,r,a,o){var n,i="",l=o.length>0;return t.forEach(function(t,s){if(e.length>0){var c=e.slice(0,t),u=e.slice(t);i+=c,n=l?o[s]||n:a,c.length===t&&s=0?t.numeralDecimalScale:2,e.numeralDecimalMark=t.numeralDecimalMark||".",e.numeralThousandsGroupStyle=t.numeralThousandsGroupStyle||"thousand",e.numericOnly=e.creditCard||e.date||!!t.numericOnly,e.uppercase=!!t.uppercase,e.lowercase=!!t.lowercase,e.prefix=e.creditCard||e.phone||e.date?"":t.prefix||"",e.prefixLength=e.prefix.length,e.initValue=t.initValue||"",e.delimiter=t.delimiter||""===t.delimiter?t.delimiter:t.date?"/":t.numeral?",":(t.phone," "),e.delimiters=t.delimiters||[],e.blocks=t.blocks||[],e.blocksLength=e.blocks.length,e.maxLength=0,e.backspace=!1,e.result="",e}};"object"==typeof module&&"object"==typeof module.exports&&(module.exports=exports=n);var i={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],generalLoose:[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(e,t){var r=i.blocks,a=i.re;return t=!!t,a.amex.test(e)?{type:"amex",blocks:r.amex}:a.uatp.test(e)?{type:"uatp",blocks:r.uatp}:a.diners.test(e)?{type:"diners",blocks:r.diners}:a.discover.test(e)?{type:"discover",blocks:r.discover}:a.mastercard.test(e)?{type:"mastercard",blocks:r.mastercard}:a.dankort.test(e)?{type:"dankort",blocks:r.dankort}:a.instapayment.test(e)?{type:"instapayment",blocks:r.instapayment}:a.jcb.test(e)?{type:"jcb",blocks:r.jcb}:a.maestro.test(e)?{type:"maestro",blocks:r.maestro}:a.visa.test(e)?{type:"visa",blocks:r.visa}:t?{type:"unknown",blocks:r.generalStrict}:{type:"unknown",blocks:r.generalLoose}}};"object"==typeof module&&"object"==typeof module.exports&&(module.exports=exports=i);var l=function(e){var t=this;t.blocks=[],t.datePattern=e,t.initBlocks()};l.prototype={initBlocks:function(){var e=this;e.datePattern.forEach(function(t){"Y"===t?e.blocks.push(4):e.blocks.push(2)})},getBlocks:function(){return this.blocks},getValidatedDate:function(e){var t=this,r="";return e=e.replace(/[^\d]/g,""),t.blocks.forEach(function(a,o){if(e.length>0){var n=e.slice(0,a),i=n.slice(0,1),l=e.slice(a);switch(t.datePattern[o]){case"d":"00"===n?n="01":parseInt(i,10)>3?n="0"+i:parseInt(n,10)>31&&(n="31");break;case"m":"00"===n?n="01":parseInt(i,10)>1?n="0"+i:parseInt(n,10)>12&&(n="12")}r+=n,e=l}}),r}},"object"==typeof module&&"object"==typeof module.exports&&(module.exports=exports=l);var s=function(e,t,r,a){var o=this;o.numeralDecimalMark=e||".",o.numeralDecimalScale=t>=0?t:2,o.numeralThousandsGroupStyle=r||s.groupStyle.thousand,o.delimiter=a||""===a?a:",",o.delimiterRE=a?new RegExp("\\"+a,"g"):""};s.groupStyle={thousand:"thousand",lakh:"lakh",wan:"wan"},s.prototype={getRawValue:function(e){return e.replace(this.delimiterRE,"").replace(this.numeralDecimalMark,".")},format:function(e){var t,r,a=this,o="";switch(e=e.replace(/[A-Za-z]/g,"").replace(a.numeralDecimalMark,"M").replace(/^\-/,"N").replace(/[^\dMN]/g,"").replace("N","-").replace("M",a.numeralDecimalMark).replace(/^(-)?0+(?=\d)/,"$1"),r=e,e.indexOf(a.numeralDecimalMark)>=0&&(t=e.split(a.numeralDecimalMark),r=t[0],o=a.numeralDecimalMark+t[1].slice(0,a.numeralDecimalScale)),a.numeralThousandsGroupStyle){case s.groupStyle.lakh:r=r.replace(/(\d)(?=(\d\d)+\d$)/g,"$1"+a.delimiter);break;case s.groupStyle.wan:r=r.replace(/(\d)(?=(\d{4})+$)/g,"$1"+a.delimiter);break;default:r=r.replace(/(\d)(?=(\d{3})+$)/g,"$1"+a.delimiter)}return r.toString()+(a.numeralDecimalScale>0?o.toString():"")}},"object"==typeof module&&"object"==typeof module.exports&&(module.exports=exports=s);var c=function(e,t){var r=this;r.delimiter=t||""===t?t:" ",r.delimiterRE=t?new RegExp("\\"+t,"g"):"",r.formatter=e};c.prototype={setFormatter:function(e){this.formatter=e},format:function(e){var t=this;t.formatter.clear(),e=e.replace(/[^\d+]/g,""),e=e.replace(t.delimiterRE,"");for(var r,a="",o=!1,n=0,i=e.length;n0?e[0]:e,r.initValue=o.element.value,o.properties=a.DefaultProperties.assign({},r),o.init()};a.prototype={init:function(){var e=this,t=e.properties;(t.numeral||t.phone||t.creditCard||t.date||0!==t.blocksLength||t.prefix)&&(t.maxLength=a.Util.getMaxLength(t.blocks),e.onChangeListener=e.onChange.bind(e),e.onKeyDownListener=e.onKeyDown.bind(e),e.element.addEventListener("input",e.onChangeListener),e.element.addEventListener("keydown",e.onKeyDownListener),e.initPhoneFormatter(),e.initDateFormatter(),e.initNumeralFormatter(),e.onInput(t.initValue))},initNumeralFormatter:function(){var e=this,t=e.properties;t.numeral&&(t.numeralFormatter=new a.NumeralFormatter(t.numeralDecimalMark,t.numeralDecimalScale,t.numeralThousandsGroupStyle,t.delimiter))},initDateFormatter:function(){var e=this,t=e.properties;t.date&&(t.dateFormatter=new a.DateFormatter(t.datePattern),t.blocks=t.dateFormatter.getBlocks(),t.blocksLength=t.blocks.length,t.maxLength=a.Util.getMaxLength(t.blocks))},initPhoneFormatter:function(){var t=this,r=t.properties;if(r.phone)try{r.phoneFormatter=new a.PhoneFormatter(new e.Cleave.AsYouTypeFormatter(r.phoneRegionCode),r.delimiter)}catch(o){throw new Error("Please include phone-type-formatter.{country}.js lib")}},onKeyDown:function(e){var t=this,r=t.properties,o=e.which||e.keyCode;return 8===o&&a.Util.isDelimiter(t.element.value.slice(-1),r.delimiter,r.delimiters)?void(r.backspace=!0):void(r.backspace=!1)},onChange:function(){this.onInput(this.element.value)},onInput:function(e){var t=this,r=t.properties,o=e,n=a.Util;return r.numeral||!r.backspace||n.isDelimiter(e.slice(-1),r.delimiter,r.delimiters)||(e=n.headStr(e,e.length-1)),r.phone?(r.result=r.phoneFormatter.format(e),void t.updateValueState()):r.numeral?(r.result=r.prefix+r.numeralFormatter.format(e),void t.updateValueState()):(r.date&&(e=r.dateFormatter.getValidatedDate(e)),e=n.stripDelimiters(e,r.delimiter,r.delimiters),e=n.getPrefixStrippedValue(e,r.prefixLength),e=r.numericOnly?n.strip(e,/[^\d]/g):e,e=r.uppercase?e.toUpperCase():e,e=r.lowercase?e.toLowerCase():e,r.prefix&&(e=r.prefix+e,0===r.blocksLength)?(r.result=e,void t.updateValueState()):(r.creditCard&&t.updateCreditCardPropsByValue(e),e=n.headStr(e,r.maxLength),r.result=n.getFormattedValue(e,r.blocks,r.blocksLength,r.delimiter,r.delimiters),void(o===r.result&&o!==r.prefix||t.updateValueState())))},updateCreditCardPropsByValue:function(e){var t,r=this,o=r.properties,n=a.Util;n.headStr(o.result,4)!==n.headStr(e,4)&&(t=a.CreditCardDetector.getInfo(e,o.creditCardStrictMode),o.blocks=t.blocks,o.blocksLength=o.blocks.length,o.maxLength=n.getMaxLength(o.blocks),o.creditCardType!==t.type&&(o.creditCardType=t.type,o.onCreditCardTypeChanged.call(r,o.creditCardType)))},updateValueState:function(){var e=this;e.element.value=e.properties.result},setPhoneRegionCode:function(e){var t=this,r=t.properties;r.phoneRegionCode=e,t.initPhoneFormatter(),t.onChange()},setRawValue:function(e){var t=this;t.element.value=e,t.onInput(e)},getRawValue:function(){var e=this,t=e.properties,r=e.element.value;return t.numeral?t.numeralFormatter.getRawValue(r):a.Util.stripDelimiters(r,t.delimiter,t.delimiters)},getFormattedValue:function(){return this.element.value},destroy:function(){var e=this;e.element.removeEventListener("input",e.onChangeListener),e.element.removeEventListener("keydown",e.onKeyDownListener)},toString:function(){return"[Cleave Object]"}},"object"==typeof module&&"object"==typeof module.exports&&(a.NumeralFormatter=require("./shortcuts/NumeralFormatter"),a.DateFormatter=require("./shortcuts/DateFormatter"),a.PhoneFormatter=require("./shortcuts/PhoneFormatter"),a.CreditCardDetector=require("./shortcuts/CreditCardDetector"),a.Util=require("./utils/Util"),a.DefaultProperties=require("./common/DefaultProperties"),module.exports=exports=a);var o={noop:function(){},strip:function(e,t){return e.replace(t,"")},isDelimiter:function(e,t,r){return 0===r.length?e===t:r.some(function(t){return e===t?!0:void 0})},stripDelimiters:function(e,t,r){if(0===r.length){var a=t?new RegExp("\\"+t,"g"):"";return e.replace(a,"")}return r.forEach(function(t){e=e.replace(new RegExp("\\"+t,"g"),"")}),e},headStr:function(e,t){return e.slice(0,t)},getMaxLength:function(e){return e.reduce(function(e,t){return e+t},0)},getPrefixStrippedValue:function(e,t){return e.slice(t)},getFormattedValue:function(e,t,r,a,o){var n,i="",l=o.length>0;return t.forEach(function(t,s){if(e.length>0){var c=e.slice(0,t),u=e.slice(t);i+=c,n=l?o[s]||n:a,c.length===t&&r-1>s&&(i+=n),e=u}}),i}};"object"==typeof module&&"object"==typeof module.exports&&(module.exports=exports=o);var n={assign:function(e,t){return e=e||{},t=t||{},e.creditCard=!!t.creditCard,e.creditCardStrictMode=!!t.creditCardStrictMode,e.creditCardType="",e.onCreditCardTypeChanged=t.onCreditCardTypeChanged||function(){},e.phone=!!t.phone,e.phoneRegionCode=t.phoneRegionCode||"AU",e.phoneFormatter={},e.date=!!t.date,e.datePattern=t.datePattern||["d","m","Y"],e.dateFormatter={},e.numeral=!!t.numeral,e.numeralDecimalScale=t.numeralDecimalScale>=0?t.numeralDecimalScale:2,e.numeralDecimalMark=t.numeralDecimalMark||".",e.numeralThousandsGroupStyle=t.numeralThousandsGroupStyle||"thousand",e.numericOnly=e.creditCard||e.date||!!t.numericOnly,e.uppercase=!!t.uppercase,e.lowercase=!!t.lowercase,e.prefix=e.creditCard||e.phone||e.date?"":t.prefix||"",e.prefixLength=e.prefix.length,e.initValue=t.initValue||"",e.delimiter=t.delimiter||""===t.delimiter?t.delimiter:t.date?"/":t.numeral?",":(t.phone," "),e.delimiters=t.delimiters||[],e.blocks=t.blocks||[],e.blocksLength=e.blocks.length,e.maxLength=0,e.backspace=!1,e.result="",e}};"object"==typeof module&&"object"==typeof module.exports&&(module.exports=exports=n);var i={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],generalLoose:[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(e,t){var r=i.blocks,a=i.re;return t=!!t,a.amex.test(e)?{type:"amex",blocks:r.amex}:a.uatp.test(e)?{type:"uatp",blocks:r.uatp}:a.diners.test(e)?{type:"diners",blocks:r.diners}:a.discover.test(e)?{type:"discover",blocks:r.discover}:a.mastercard.test(e)?{type:"mastercard",blocks:r.mastercard}:a.dankort.test(e)?{type:"dankort",blocks:r.dankort}:a.instapayment.test(e)?{type:"instapayment",blocks:r.instapayment}:a.jcb.test(e)?{type:"jcb",blocks:r.jcb}:a.maestro.test(e)?{type:"maestro",blocks:r.maestro}:a.visa.test(e)?{type:"visa",blocks:r.visa}:t?{type:"unknown",blocks:r.generalStrict}:{type:"unknown",blocks:r.generalLoose}}};"object"==typeof module&&"object"==typeof module.exports&&(module.exports=exports=i);var l=function(e){var t=this;t.blocks=[],t.datePattern=e,t.initBlocks()};l.prototype={initBlocks:function(){var e=this;e.datePattern.forEach(function(t){"Y"===t?e.blocks.push(4):e.blocks.push(2)})},getBlocks:function(){return this.blocks},getValidatedDate:function(e){var t=this,r="";return e=e.replace(/[^\d]/g,""),t.blocks.forEach(function(a,o){if(e.length>0){var n=e.slice(0,a),i=n.slice(0,1),l=e.slice(a);switch(t.datePattern[o]){case"d":"00"===n?n="01":parseInt(i,10)>3?n="0"+i:parseInt(n,10)>31&&(n="31");break;case"m":"00"===n?n="01":parseInt(i,10)>1?n="0"+i:parseInt(n,10)>12&&(n="12")}r+=n,e=l}}),r}},"object"==typeof module&&"object"==typeof module.exports&&(module.exports=exports=l);var s=function(e,t,r,a){var o=this;o.numeralDecimalMark=e||".",o.numeralDecimalScale=t>=0?t:2,o.numeralThousandsGroupStyle=r||s.groupStyle.thousand,o.delimiter=a||""===a?a:",",o.delimiterRE=a?new RegExp("\\"+a,"g"):""};s.groupStyle={thousand:"thousand",lakh:"lakh",wan:"wan"},s.prototype={getRawValue:function(e){return e.replace(this.delimiterRE,"").replace(this.numeralDecimalMark,".")},format:function(e){var t,r,a=this,o="";switch(e=e.replace(/[A-Za-z]/g,"").replace(a.numeralDecimalMark,"M").replace(/^\-/,"N").replace(/[^\dMN]/g,"").replace("N","-").replace("M",a.numeralDecimalMark).replace(/^(-)?0+(?=\d)/,"$1"),r=e,e.indexOf(a.numeralDecimalMark)>=0&&(t=e.split(a.numeralDecimalMark),r=t[0],o=a.numeralDecimalMark+t[1].slice(0,a.numeralDecimalScale)),a.numeralThousandsGroupStyle){case s.groupStyle.lakh:r=r.replace(/(\d)(?=(\d\d)+\d$)/g,"$1"+a.delimiter);break;case s.groupStyle.wan:r=r.replace(/(\d)(?=(\d{4})+$)/g,"$1"+a.delimiter);break;default:r=r.replace(/(\d)(?=(\d{3})+$)/g,"$1"+a.delimiter)}return r.toString()+(a.numeralDecimalScale>0?o.toString():"")}},"object"==typeof module&&"object"==typeof module.exports&&(module.exports=exports=s);var c=function(e,t){var r=this;r.delimiter=t||""===t?t:" ",r.delimiterRE=t?new RegExp("\\"+t,"g"):"",r.formatter=e};c.prototype={setFormatter:function(e){this.formatter=e},format:function(e){var t=this;t.formatter.clear(),e=e.replace(/[^\d+]/g,""),e=e.replace(t.delimiterRE,"");for(var r,a="",o=!1,n=0,i=e.length;i>n;n++)r=t.formatter.inputDigit(e.charAt(n)),/[\s()-]/g.test(r)?(a=r,o=!0):o||(a=r);return a=a.replace(/[()]/g,""),a=a.replace(/[\s-]/g,t.delimiter)}},"object"==typeof module&&"object"==typeof module.exports&&(module.exports=exports=c),a.NumeralFormatter=s,a.DateFormatter=l,a.PhoneFormatter=c,a.CreditCardDetector=i,a.Util=o,a.DefaultProperties=n,"object"==typeof module&&"object"==typeof module.exports?module.exports=exports=a:"function"==typeof define&&define.amd?define(function(){return a}):"object"==typeof e&&(e.Cleave=a)}(window,document); \ No newline at end of file diff --git a/doc/options.md b/doc/options.md index 6f82cd81..264a4747 100644 --- a/doc/options.md +++ b/doc/options.md @@ -263,7 +263,7 @@ When delimiters array is defined, single [delimiter](#delimiter) option is ignor ```js new Cleave('.my-input', { blocks: [3, 3, 3, 2], - delimiter: ['.', '.', '-'] + delimiters: ['.', '.', '-'] }); ``` diff --git a/package.json b/package.json index b53cd61a..3d58ab8f 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "form", "input" ], - "version": "0.6.1", + "version": "0.6.2", "author": { "name": "Max Huang", "url": "http://github.com/nosir", diff --git a/src/Cleave.react.js b/src/Cleave.react.js index c332fe79..62a7620c 100644 --- a/src/Cleave.react.js +++ b/src/Cleave.react.js @@ -144,6 +144,8 @@ var Cleave = React.createClass({ event.target.rawValue = Util.stripDelimiters(pps.result, pps.delimiter, pps.delimiters); } + event.target.value = pps.result; + owner.registeredEvents.onChange(event); },