2
0
mirror of https://github.com/tenrok/maska.git synced 2026-06-02 16:04:05 +03:00
Files
maska/dist/maska.js
T
2019-10-15 19:09:16 +03:00

1 line
5.5 KiB
JavaScript

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("Maska",[],t):"object"==typeof exports?exports.Maska=t():e.Maska=t()}(window,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";function r(e,t,n){for(var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=0,u=0,i="",c="";a<t.length&&u<e.length;){var s=t[a],l=e[u],f=n[s];if(f&&f.pattern)f.pattern.test(l)&&(i+=o(l,f),a++),u++;else if(f&&f.repeat){var p=n[t[a-1]];f&&f.repeat&&p&&!p.pattern.test(l)?a++:a--}else f&&f.escape&&(s=t[++a]),r&&(i+=s),l===s&&u++,a++}for(;r&&a<t.length;){var d=t[a];if(n[d]&&!n[d].repeat){c="";break}n[d]||(c+=d),a++}return i+c}function o(e,t){return t.uppercase?e.toLocaleUpperCase():t.lowercase?e.toLocaleLowerCase():e}n.r(t);var a={"#":{pattern:/[0-9]/},X:{pattern:/[0-9a-zA-Z]/},S:{pattern:/[a-zA-Z]/},A:{pattern:/[a-zA-Z]/,uppercase:!0},a:{pattern:/[a-zA-Z]/,lowercase:!0},"!":{escape:!0},"*":{repeat:!0}};function u(e){return e instanceof HTMLInputElement?e:e.querySelector("input")||e}function i(e){return"[object String]"===Object.prototype.toString.call(e)}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(n,!0).forEach((function(t){l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var p=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),!t)throw new Error("Maska: no element for mask");if(n.tokens)for(var r in n.tokens)n.tokens[r]=s({},n.tokens[r]),n.tokens[r].pattern&&i(n.tokens[r].pattern)&&(n.tokens[r].pattern=new RegExp(n.tokens[r].pattern));this._opts={mask:n.mask,tokens:s({},a,{},n.tokens)},this._el=i(t)?document.querySelectorAll(t):t.length?t:[t],this.init()}var t,n,o;return t=e,(n=[{key:"init",value:function(){for(var e=this,t=0;t<this._el.length;t++){var n=u(this._el[t]);!n.dataset.mask&&this._opts.mask&&(n.dataset.mask=this._opts.mask),this.updateValue(n),n.addEventListener("input",(function(t){return e.updateValue(t.target)}))}}},{key:"destroy",value:function(){for(var e=this,t=0;t<this._el.length;t++){var n=u(this._el[t]);n.removeEventListener("input",(function(t){return e.updateValue(t.target)})),delete n.dataset.mask}}},{key:"updateValue",value:function(e){if(e.value&&e.dataset.mask){var t,n,o=e.selectionEnd,a=e.value,u=a[o-1];e.value=r(e.value,e.dataset.mask,this._opts.tokens),function(e,t,n){for(;t<e.value.length&&e.value.charAt(t-1)!==n;)t++;e===document.activeElement&&(e.setSelectionRange(t,t),setTimeout((function(){e.setSelectionRange(t,t)}),0))}(e,o,u),e.value!==a&&e.dispatchEvent((t="input",(n=document.createEvent("Event")).initEvent(t,!0,!0),n))}}}])&&f(t.prototype,n),o&&f(t,o),e}();function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function v(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function b(e){var t={};return i(e)?t.mask=e:e.mask&&(t.mask=e.mask,t.tokens=e.tokens?function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?d(n,!0).forEach((function(t){v(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},e.tokens):{}),t}function y(e,t){if(t.value)return t.value&&function(e){return(!i(e.value)||!i(e.oldValue)||e.value!==e.oldValue)&&(!e.value||!e.oldValue||e.value.mask!==e.oldValue.mask)}(t)?new p(e,b(t.value)):void 0}function m(e){e.directive("maska",y)}function k(e,t){return new p(e,t)}n.d(t,"create",(function(){return k})),n.d(t,"mask",(function(){return r})),n.d(t,"maska",(function(){return y})),n.d(t,"tokens",(function(){return a})),"undefined"!=typeof window&&window.Vue&&window.Vue.use(m);t.default=m}])}));