UNPKG

ngx-mask-2

Version:
2 lines 15.1 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@angular/forms")):"function"==typeof define&&define.amd?define("ngx-mask-2",["exports","@angular/core","@angular/common","@angular/forms"],t):t(e["ngx-mask-2"]={},e.ng.core,e.ng.common,e.ng.forms)}(this,function(e,r,t,i){"use strict";var n=new r.InjectionToken("config"),s=new r.InjectionToken("NEW_CONFIG"),a=new r.InjectionToken("INITIAL_CONFIG"),o={sufix:"",prefix:"",clearIfNotMatch:!1,showTemplate:!1,showMaskTyped:!1,dropSpecialCharacters:!0,specialCharacters:["/","(",")",".",":","-"," ","+",",","@","[","]",'"',"'"],appendPrefixToModel:!1,patterns:{0:{pattern:new RegExp("\\d")},9:{pattern:new RegExp("\\d"),optional:!0},A:{pattern:new RegExp("[a-zA-Z0-9]")},S:{pattern:new RegExp("[a-zA-Z]")},d:{pattern:new RegExp("\\d")},m:{pattern:new RegExp("\\d")}}},p=function(e,t){return(p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};var c=function(){return(c=Object.assign||function(e){for(var t,r=1,i=arguments.length;r<i;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)};function h(i,n){var s,a,o,e,p={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return e={next:t(0),"throw":t(1),"return":t(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function r(e){if(s)throw new TypeError("Generator is already executing.");for(;p;)try{if(s=1,a&&(o=2&e[0]?a["return"]:e[0]?a["throw"]||((o=a["return"])&&o.call(a),0):a.next)&&!(o=o.call(a,e[1])).done)return o;switch(a=0,o&&(e=[2&e[0],o.value]),e[0]){case 0:case 1:o=e;break;case 4:return p.label++,{value:e[1],done:!1};case 5:p.label++,a=e[1],e=[0];continue;case 7:e=p.ops.pop(),p.trys.pop();continue;default:if(!(o=0<(o=p.trys).length&&o[o.length-1])&&(6===e[0]||2===e[0])){p=0;continue}if(3===e[0]&&(!o||e[1]>o[0]&&e[1]<o[3])){p.label=e[1];break}if(6===e[0]&&p.label<o[1]){p.label=o[1],o=e;break}if(o&&p.label<o[2]){p.label=o[2],p.ops.push(e);break}o[2]&&p.ops.pop(),p.trys.pop();continue}e=n.call(i,p)}catch(t){e=[6,t],a=0}finally{s=o=0}if(5&e[0])throw e[1];return{value:e[0]?e[1]:void 0,done:!0}}([t,e])}}}function l(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var i,n,s=r.call(e),a=[];try{for(;(void 0===t||0<t--)&&!(i=s.next()).done;)a.push(i.value)}catch(o){n={error:o}}finally{try{i&&!i.done&&(r=s["return"])&&r.call(s)}finally{if(n)throw n.error}}return a}var u=function(){function e(e){this._config=e,this.maskExpression="",this._shift=new Set,this.maskSpecialCharacters=this._config.specialCharacters,this.maskAvailablePatterns=this._config.patterns,this.clearIfNotMatch=this._config.clearIfNotMatch,this.dropSpecialCharacters=this._config.dropSpecialCharacters,this.maskSpecialCharacters=this._config.specialCharacters,this.maskAvailablePatterns=this._config.patterns,this.prefix=this._config.prefix,this.sufix=this._config.sufix,this.appendPrefixToModel=this._config.appendPrefixToModel}return e.prototype.applyMaskWithPattern=function(e,t){var r=l(t,2),i=r[0],n=r[1];return this.customPattern=n,this.applyMask(e,i)},e.prototype.applyMask=function(e,t,r,i){if(void 0===r&&(r=0),void 0===i&&(i=function(){}),e===undefined||null===e||t===undefined)return"";var n=0,s="",a=!1;e.slice(0,this.prefix.length)===this.prefix&&(e=e.slice(this.prefix.length,e.length));for(var o=e.toString().split(""),p=0,c=o[0];p<o.length&&n!==t.length;c=o[++p])if(this._checkSymbolMask(c,t[n])&&"?"===t[n+1])s+=c,n+=2;else if("*"===t[n+1]&&a&&this._checkSymbolMask(c,t[n+2]))s+=c,n+=3,a=!1;else if(this._checkSymbolMask(c,t[n])&&"*"===t[n+1])s+=c,a=!0;else if("?"===t[n+1]&&this._checkSymbolMask(c,t[n+2]))s+=c,n+=3;else if(this._checkSymbolMask(c,t[n])){if("d"===t[n]&&3<Number(c)){s+=0,n+=1;var h=/\*|\?/g.test(t.slice(0,n))?o.length:n;this._shift.add(h+this.prefix.length||0),p--;continue}if("d"===t[n-1]&&31<Number(e.slice(n-1,n+1)))continue;if("m"===t[n]&&1<Number(c)){s+=0,n+=1;h=/\*|\?/g.test(t.slice(0,n))?o.length:n;this._shift.add(h+this.prefix.length||0),p--;continue}if("m"===t[n-1]&&12<Number(e.slice(n-1,n+1)))continue;s+=c,n++}else if(-1!==this.maskSpecialCharacters.indexOf(t[n])){s+=t[n],n++;h=/\*|\?/g.test(t.slice(0,n))?o.length:n;this._shift.add(h+this.prefix.length||0),p--}else-1<this.maskSpecialCharacters.indexOf(c)&&this.maskAvailablePatterns[t[n]]&&this.maskAvailablePatterns[t[n]].optional?(n++,p--):"*"===this.maskExpression[n+1]&&this._findSpecialChar(this.maskExpression[n+2])&&this._findSpecialChar(c)===this.maskExpression[n+2]&&(n+=3,s+=c);s.length+1===t.length&&-1!==this.maskSpecialCharacters.indexOf(t[t.length-1])&&(s+=t[t.length-1]);for(var l=1,u=r+1;this._shift.has(u);)l++,u++;i(this._shift.has(r)?l:0);this.prefix;return this.sufix&&n===t.length?""+this.prefix+s+this.sufix:""+this.prefix+s},e.prototype._findSpecialChar=function(t){return this.maskSpecialCharacters.find(function(e){return e===t})},e.prototype._checkSymbolMask=function(e,t){return this.maskAvailablePatterns=this.customPattern?this.customPattern:this.maskAvailablePatterns,this.maskAvailablePatterns[t]&&this.maskAvailablePatterns[t].pattern&&this.maskAvailablePatterns[t].pattern.test(e)},e.decorators=[{type:r.Injectable}],e.ctorParameters=function(){return[{type:undefined,decorators:[{type:r.Inject,args:[n]}]}]},e}(),f=function(o){function e(e,t,r,i){var n=o.call(this,t)||this;return n.document=e,n._config=t,n._elementRef=r,n._renderer=i,n.maskExpression="",n.isNumberValue=!1,n.showMaskTyped=!1,n.maskIsShown="",n.onChange=function(e){},n.onTouch=function(){},n._formElement=n._elementRef.nativeElement,n}return function i(e,t){function r(){this.constructor=e}p(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}(e,o),e.prototype.applyMask=function(e,t,r,i){if(void 0===r&&(r=0),void 0===i&&(i=function(){}),this.maskIsShown=this.showMaskTyped?this.maskExpression.replace(/[0-9]/g,"_"):"",!e&&this.showMaskTyped)return this.prefix+this.maskIsShown;var n=o.prototype.applyMask.call(this,e,t,r,i),s=Array.isArray(this.dropSpecialCharacters)?this._removeMask(this._removeSufix(this.appendPrefixToModel?n:this._removePrefix(n)),this.dropSpecialCharacters):!0===this.dropSpecialCharacters?this.isNumberValue?Number(this._removeMask(this._removeSufix(this.appendPrefixToModel?n:this._removePrefix(n)),this.maskSpecialCharacters)):this._removeMask(this._removeSufix(this.appendPrefixToModel?n:this._removePrefix(n)),this.maskSpecialCharacters):this._removeSufix(this.appendPrefixToModel?n:this._removePrefix(n));this.prefix!==s&&this.prefix.replace(" ","")!==s&&this._removeMask(this.prefix,this.maskSpecialCharacters)!==s||(s=""),this.onChange(s);if(!this.showMaskTyped)return n;var a=n.length;return n+(this.prefix+this.maskIsShown).slice(a)},e.prototype.applyValueChanges=function(e,t){void 0===e&&(e=0),void 0===t&&(t=function(){});var r=this.applyMask(this._formElement.value,this.maskExpression,e,t);this._formElement.value=r,this._formElement!==this.document.activeElement&&this.clearIfNotMatchFn()},e.prototype.showMaskInInput=function(){this.showMaskTyped&&(this.maskIsShown=this.maskExpression.replace(/[0-9]/g,"_"))},e.prototype.clearIfNotMatchFn=function(){!0===this.clearIfNotMatch&&this.maskExpression.length!==this._formElement.value.length&&(this.formElementProperty=["value",""],this.applyMask(this._formElement.value,this.maskExpression))},Object.defineProperty(e.prototype,"formElementProperty",{set:function(e){var t=l(e,2),r=t[0],i=t[1];this._renderer.setProperty(this._formElement,r,i)},enumerable:!0,configurable:!0}),e.prototype._removeMask=function(e,t){return e?e.replace(this._regExpForRemove(t),""):e},e.prototype._removePrefix=function(e){return this.prefix&&e?e.replace(this.prefix,""):e},e.prototype._removeSufix=function(e){return this.sufix&&e?e.replace(this.sufix,""):e},e.prototype._regExpForRemove=function(e){return new RegExp(e.map(function(e){return"\\"+e}).join("|"),"gi")},e.decorators=[{type:r.Injectable}],e.ctorParameters=function(){return[{type:undefined,decorators:[{type:r.Inject,args:[t.DOCUMENT]}]},{type:undefined,decorators:[{type:r.Inject,args:[n]}]},{type:r.ElementRef},{type:r.Renderer2}]},e}(u),m=function(){function e(e,t){this.document=e,this._maskService=t,this._position=null,this.onChange=function(e){},this.onTouch=function(){}}return Object.defineProperty(e.prototype,"maskExpression",{set:function(e){this._maskValue=e||"",this._maskValue&&(this._maskService.maskExpression=this._repeatPatternSymbols(this._maskValue),this._maskService.formElementProperty=["value",this._maskService.applyMask(this._inputValue,this._maskService.maskExpression)])},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"specialCharacters",{set:function(e){e&&Array.isArray(e)&&(!Array.isArray(e)||e.length)&&(this._maskService.maskSpecialCharacters=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"patterns",{set:function(e){e&&(this._maskService.maskAvailablePatterns=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"prefix",{set:function(e){e&&(this._maskService.prefix=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"sufix",{set:function(e){e&&(this._maskService.sufix=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dropSpecialCharacters",{set:function(e){this._maskService.dropSpecialCharacters=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"showMaskTyped",{set:function(e){e&&(this._maskService.showMaskTyped=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"showTemplate",{set:function(e){this._maskService.showTemplate=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"clearIfNotMatch",{set:function(e){this._maskService.clearIfNotMatch=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"appendPrefixToModel",{set:function(e){this._maskService.appendPrefixToModel=e},enumerable:!0,configurable:!0}),e.prototype.onInput=function(e){var t=e.target;if(this._inputValue=t.value,this._maskValue){var r=1===t.selectionStart?t.selectionStart+this._maskService.prefix.length:t.selectionStart,i=0;this._maskService.applyValueChanges(r,function(e){return i=e}),this.document.activeElement===t&&(t.selectionStart=t.selectionEnd=null!==this._position?this._position:r+("deleteContentBackward"===e.inputType?0:i),this._position=null)}else this.onChange(t.value)},e.prototype.onBlur=function(){this._maskService.clearIfNotMatchFn(),this.onTouch()},e.prototype.onFocus=function(e){var t=e.target;null!==t&&null!==t.selectionStart&&t.selectionStart===t.selectionEnd&&t.selectionStart>this._maskService.prefix.length&&38!==e.keyCode||(this._maskService.showMaskTyped&&(this._maskService.maskIsShown=this._maskService.maskExpression.replace(/[0-9]/g,"_")),t.value=t.value&&t.value!==this._maskService.prefix?t.value:this._maskService.prefix+this._maskService.maskIsShown,(t.selectionStart||t.selectionEnd)<=this._maskService.prefix.length&&(t.selectionStart=this._maskService.prefix.length))},e.prototype.a=function(e){var t=e.target;38===e.keyCode&&e.preventDefault(),37!==e.keyCode&&8!==e.keyCode||(t.selectionStart<=this._maskService.prefix.length&&t.selectionEnd<=this._maskService.prefix.length&&e.preventDefault(),this.onFocus(e),8===e.keyCode&&0===t.selectionStart&&t.selectionEnd===t.value.length&&(t.value=this._maskService.prefix,this._position=this._maskService.prefix?this._maskService.prefix.length:1,this.onInput(e)))},e.prototype.onPaste=function(){this._position=Number.MAX_SAFE_INTEGER},e.prototype.writeValue=function(t){return function e(t,a,o,p){return new(o||(o=Promise))(function(e,r){function i(e){try{s(p.next(e))}catch(t){r(t)}}function n(e){try{s(p["throw"](e))}catch(t){r(t)}}function s(t){t.done?e(t.value):new o(function(e){e(t.value)}).then(i,n)}s((p=p.apply(t,a||[])).next())})}(this,void 0,void 0,function(){return h(this,function(e){return t===undefined&&(t=""),t&&0===t.indexOf(this._maskService.prefix)&&(t=t.replace(this._maskService.prefix,"")),t&&0===t.indexOf(this._maskService.prefix.replace(" ",""))&&(t=t.replace(this._maskService.prefix.replace(" ",""),"")),"number"==typeof t&&(t=String(t),this._maskService.isNumberValue=!0),t&&this._maskService.maskExpression||this._maskService.maskExpression&&(this._maskService.prefix||this._maskService.showMaskTyped)?this._maskService.formElementProperty=["value",this._maskService.applyMask(t,this._maskService.maskExpression)]:this._maskService.formElementProperty=["value",t],this._inputValue=t,[2]})})},e.prototype.registerOnChange=function(e){this.onChange=e,this._maskService.onChange=this.onChange},e.prototype.registerOnTouched=function(e){this.onTouch=e},e.prototype.setDisabledState=function(e){this._maskService.formElementProperty=["disabled",e]},e.prototype._repeatPatternSymbols=function(n){var s=this;return n.match(/{[0-9a-zA-Z]}/)&&n.split("").reduce(function(e,t,r){if(s._start="{"===t?r:s._start,"}"!==t)return s._maskService._findSpecialChar(t)?e+t:e;s._end=r;var i=Number(n.slice(s._start+1,s._end));return e+new Array(i+1).join(n[s._start-1])},"")||n},e.decorators=[{type:r.Directive,args:[{selector:"[mask]",providers:[{provide:i.NG_VALUE_ACCESSOR,useExisting:r.forwardRef(function(){return e}),multi:!0},f]}]}],e.ctorParameters=function(){return[{type:undefined,decorators:[{type:r.Inject,args:[t.DOCUMENT]}]},{type:f}]},e.propDecorators={maskExpression:[{type:r.Input,args:["mask"]}],specialCharacters:[{type:r.Input}],patterns:[{type:r.Input}],prefix:[{type:r.Input}],sufix:[{type:r.Input}],dropSpecialCharacters:[{type:r.Input}],showMaskTyped:[{type:r.Input}],showTemplate:[{type:r.Input}],clearIfNotMatch:[{type:r.Input}],appendPrefixToModel:[{type:r.Input}],onInput:[{type:r.HostListener,args:["input",["$event"]]}],onBlur:[{type:r.HostListener,args:["blur"]}],onFocus:[{type:r.HostListener,args:["click",["$event"]]}],a:[{type:r.HostListener,args:["keydown",["$event"]]}],onPaste:[{type:r.HostListener,args:["paste"]}]},e}(),y=function(){function e(e){this._maskService=e}return e.prototype.transform=function(e,t){return e?"string"==typeof t?this._maskService.applyMask(""+e,t):this._maskService.applyMaskWithPattern(""+e,t):""},e.decorators=[{type:r.Pipe,args:[{name:"mask",pure:!0}]}],e.ctorParameters=function(){return[{type:u}]},e}(),d=function(){function t(){}return t.forRoot=function(e){return{ngModule:t,providers:[{provide:s,useValue:e},{provide:a,useValue:o},{provide:n,useFactory:k,deps:[a,s]}]}},t.forChild=function(e){return{ngModule:t}},t.decorators=[{type:r.NgModule,args:[{providers:[u],exports:[m,y],declarations:[m,y]}]}],t}();function k(e,t){return"function"==typeof t?t():c({},e,t)}e.config=n,e.NEW_CONFIG=s,e.INITIAL_CONFIG=a,e.initialConfig=o,e.MaskDirective=m,e.MaskService=f,e._configFactory=k,e.NgxMaskModule=d,e.MaskPipe=y,e.ɵa=u,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=ngx-mask-2.umd.min.js.map