{"version":3,"sources":["webpack:///./node_modules/di-vue-mask/dist/vue-mask.esm.js"],"names":["window","global","self","createCommonjsModule","fn","module","exports","stringMask","root","factory","commonjsGlobal","tokens","pattern","_default","optional","recursive","transform","c","toLocaleUpperCase","toLocaleLowerCase","escape","isEscaped","pos","count","i","token","charAt","calcOptionalNumbersToUse","value","numbersInP","replace","length","numbersInV","concatChar","text","character","options","reverse","hasMoreTokens","inc","pc","hasMoreRecursiveTokens","insertChar","char","position","t","split","splice","join","StringMask","opt","this","usedefaults","prototype","process","this$1","result","valid","pattern2","formatted","valuePos","patternPos","optionalNumbersToUse","escapeNext","inRecursiveMode","steps","start","end","continueCondition","shift","push","vc","test","apply","validate","getInputElement","el","vnode","tag","querySelector","filterNumbers","v","filterLetters","filterAlphanumeric","getCleaner","clearValue","createHandler","ref","clean","format","formatter","target","type","isTrusted","dataset","dispatchEvent","Event","defaultFormat","trim","maskFactory","bind","binding","mask","handler","addEventListener","update","_Vue","nextTick","previousValue","patterns","us","br","date","arg","modifiers","key","Object","keys","formatters","phone","phone9","phone0800","indexOf","config","thousand","decimal","conf","Number","number","cpf","cnpj","cep","cc","model","expression","expressionParts","updateModelValue","val","obj","context","parts","slice","oldValue","install","Vue","installed","directive","index","use"],"mappings":"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","file":"js/chunk-vendors~a6822d20-legacy.ee275e63.js","sourcesContent":["/**\n * di-vue-mask v1.1.0\n * (c) 2017 Sergio Rodrigues\n * @license MIT\n */\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\n\n\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar stringMask = createCommonjsModule(function (module, exports) {\n(function(root, factory) {\n /* istanbul ignore next */\n if (typeof undefined === 'function' && undefined.amd) {\n // AMD. Register as an anonymous module.\n undefined([], factory);\n } else {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory();\n }\n}(commonjsGlobal, function() {\n var tokens = {\n '0': {pattern: /\\d/, _default: '0'},\n '9': {pattern: /\\d/, optional: true},\n '#': {pattern: /\\d/, optional: true, recursive: true},\n 'A': {pattern: /[a-zA-Z0-9]/},\n 'S': {pattern: /[a-zA-Z]/},\n 'U': {pattern: /[a-zA-Z]/, transform: function(c) { return c.toLocaleUpperCase(); }},\n 'L': {pattern: /[a-zA-Z]/, transform: function(c) { return c.toLocaleLowerCase(); }},\n '$': {escape: true}\n };\n\n function isEscaped(pattern, pos) {\n var count = 0;\n var i = pos - 1;\n var token = {escape: true};\n while (i >= 0 && token && token.escape) {\n token = tokens[pattern.charAt(i)];\n count += token && token.escape ? 1 : 0;\n i--;\n }\n return count > 0 && count % 2 === 1;\n }\n\n function calcOptionalNumbersToUse(pattern, value) {\n var numbersInP = pattern.replace(/[^0]/g,'').length;\n var numbersInV = value.replace(/[^\\d]/g,'').length;\n return numbersInV - numbersInP;\n }\n\n function concatChar(text, character, options, token) {\n if (token && typeof token.transform === 'function') {\n character = token.transform(character);\n }\n if (options.reverse) {\n return character + text;\n }\n return text + character;\n }\n\n function hasMoreTokens(pattern, pos, inc) {\n var pc = pattern.charAt(pos);\n var token = tokens[pc];\n if (pc === '') {\n return false;\n }\n return token && !token.escape ? true : hasMoreTokens(pattern, pos + inc, inc);\n }\n\n function hasMoreRecursiveTokens(pattern, pos, inc) {\n var pc = pattern.charAt(pos);\n var token = tokens[pc];\n if (pc === '') {\n return false;\n }\n return token && token.recursive ? true : hasMoreRecursiveTokens(pattern, pos + inc, inc);\n }\n\n function insertChar(text, char, position) {\n var t = text.split('');\n t.splice(position, 0, char);\n return t.join('');\n }\n\n function StringMask(pattern, opt) {\n this.options = opt || {};\n this.options = {\n reverse: this.options.reverse || false,\n usedefaults: this.options.usedefaults || this.options.reverse\n };\n this.pattern = pattern;\n }\n\n StringMask.prototype.process = function proccess(value) {\n var this$1 = this;\n\n if (!value) {\n return {result: '', valid: false};\n }\n value = value + '';\n var pattern2 = this.pattern;\n var valid = true;\n var formatted = '';\n var valuePos = this.options.reverse ? value.length - 1 : 0;\n var patternPos = 0;\n var optionalNumbersToUse = calcOptionalNumbersToUse(pattern2, value);\n var escapeNext = false;\n var recursive = [];\n var inRecursiveMode = false;\n\n var steps = {\n start: this.options.reverse ? pattern2.length - 1 : 0,\n end: this.options.reverse ? -1 : pattern2.length,\n inc: this.options.reverse ? -1 : 1\n };\n\n function continueCondition(options) {\n if (!inRecursiveMode && !recursive.length && hasMoreTokens(pattern2, patternPos, steps.inc)) {\n // continue in the normal iteration\n return true;\n } else if (!inRecursiveMode && recursive.length &&\n hasMoreRecursiveTokens(pattern2, patternPos, steps.inc)) {\n // continue looking for the recursive tokens\n // Note: all chars in the patterns after the recursive portion will be handled as static string\n return true;\n } else if (!inRecursiveMode) {\n // start to handle the recursive portion of the pattern\n inRecursiveMode = recursive.length > 0;\n }\n\n if (inRecursiveMode) {\n var pc = recursive.shift();\n recursive.push(pc);\n if (options.reverse && valuePos >= 0) {\n patternPos++;\n pattern2 = insertChar(pattern2, pc, patternPos);\n return true;\n } else if (!options.reverse && valuePos < value.length) {\n pattern2 = insertChar(pattern2, pc, patternPos);\n return true;\n }\n }\n return patternPos < pattern2.length && patternPos >= 0;\n }\n\n /**\n * Iterate over the pattern's chars parsing/matching the input value chars\n * until the end of the pattern. If the pattern ends with recursive chars\n * the iteration will continue until the end of the input value.\n *\n * Note: The iteration must stop if an invalid char is found.\n */\n for (patternPos = steps.start; continueCondition(this.options); patternPos = patternPos + steps.inc) {\n // Value char\n var vc = value.charAt(valuePos);\n // Pattern char to match with the value char\n var pc = pattern2.charAt(patternPos);\n\n var token = tokens[pc];\n if (recursive.length && token && !token.recursive) {\n // In the recursive portion of the pattern: tokens not recursive must be seen as static chars\n token = null;\n }\n\n // 1. Handle escape tokens in pattern\n // go to next iteration: if the pattern char is a escape char or was escaped\n if (!inRecursiveMode || vc) {\n if (this$1.options.reverse && isEscaped(pattern2, patternPos)) {\n // pattern char is escaped, just add it and move on\n formatted = concatChar(formatted, pc, this$1.options, token);\n // skip escape token\n patternPos = patternPos + steps.inc;\n continue;\n } else if (!this$1.options.reverse && escapeNext) {\n // pattern char is escaped, just add it and move on\n formatted = concatChar(formatted, pc, this$1.options, token);\n escapeNext = false;\n continue;\n } else if (!this$1.options.reverse && token && token.escape) {\n // mark to escape the next pattern char\n escapeNext = true;\n continue;\n }\n }\n\n // 2. Handle recursive tokens in pattern\n // go to next iteration: if the value str is finished or\n // if there is a normal token in the recursive portion of the pattern\n if (!inRecursiveMode && token && token.recursive) {\n // save it to repeat in the end of the pattern and handle the value char now\n recursive.push(pc);\n } else if (inRecursiveMode && !vc) {\n // in recursive mode but value is finished. Add the pattern char if it is not a recursive token\n formatted = concatChar(formatted, pc, this$1.options, token);\n continue;\n } else if (!inRecursiveMode && recursive.length > 0 && !vc) {\n // recursiveMode not started but already in the recursive portion of the pattern\n continue;\n }\n\n // 3. Handle the value\n // break iterations: if value is invalid for the given pattern\n if (!token) {\n // add char of the pattern\n formatted = concatChar(formatted, pc, this$1.options, token);\n if (!inRecursiveMode && recursive.length) {\n // save it to repeat in the end of the pattern\n recursive.push(pc);\n }\n } else if (token.optional) {\n // if token is optional, only add the value char if it matchs the token pattern\n // if not, move on to the next pattern char\n if (token.pattern.test(vc) && optionalNumbersToUse) {\n formatted = concatChar(formatted, vc, this$1.options, token);\n valuePos = valuePos + steps.inc;\n optionalNumbersToUse--;\n } else if (recursive.length > 0 && vc) {\n valid = false;\n break;\n }\n } else if (token.pattern.test(vc)) {\n // if token isn't optional the value char must match the token pattern\n formatted = concatChar(formatted, vc, this$1.options, token);\n valuePos = valuePos + steps.inc;\n } else if (!vc && token._default && this$1.options.usedefaults) {\n // if the token isn't optional and has a default value, use it if the value is finished\n formatted = concatChar(formatted, token._default, this$1.options, token);\n } else {\n // the string value don't match the given pattern\n valid = false;\n break;\n }\n }\n\n return {result: formatted, valid: valid};\n };\n\n StringMask.prototype.apply = function(value) {\n return this.process(value).result;\n };\n\n StringMask.prototype.validate = function(value) {\n return this.process(value).valid;\n };\n\n StringMask.process = function(value, pattern, options) {\n return new StringMask(pattern, options).process(value);\n };\n\n StringMask.apply = function(value, pattern, options) {\n return new StringMask(pattern, options).apply(value);\n };\n\n StringMask.validate = function(value, pattern, options) {\n return new StringMask(pattern, options).validate(value);\n };\n\n return StringMask;\n}));\n});\n\nvar getInputElement = function (el, vnode) {\n return vnode.tag === 'input' ? el : el.querySelector('input:not([readonly])');\n};\n\nvar filterNumbers = function (v) { return v.replace(/\\D/g, ''); };\n\nvar filterLetters = function (v) { return v.replace(/[^a-zA-Z]/g, ''); };\n\nvar filterAlphanumeric = function (v) { return v.replace(/[^a-zA-Z0-9]/g, ''); };\n\nvar getCleaner = function (clearValue) {\n if (typeof clearValue === 'function') {\n return clearValue;\n }\n\n switch (clearValue) {\n case 'number':\n return filterNumbers;\n break;\n case 'letter':\n return filterLetters;\n break;\n default:\n return filterAlphanumeric;\n }\n};\n\nfunction createHandler(ref) {\n var clean = ref.clean;\n var format = ref.format;\n var formatter = ref.formatter;\n\n return function (ref) {\n var target = ref.target;\n var type = ref.type;\n var isTrusted = ref.isTrusted;\n\n if (type === 'paste') {\n target.value = '';\n }\n\n var value = clean(target.value);\n target.value = format({value: value, formatter: formatter});\n target.dataset.value = target.value;\n\n if (type === 'mask' || isTrusted) {\n target.dispatchEvent(new Event('input'));\n }\n }\n}\n\nfunction defaultFormat(ref) {\n var value = ref.value;\n var formatter = ref.formatter;\n\n value = formatter.apply(value);\n return value.trim().replace(/[^0-9]$/, '');\n}\n\nfunction maskFactory(bind) {\n return {\n bind: function bind$1(el, binding, vnode) {\n var mask = bind(el, binding, vnode);\n\n var clean = getCleaner(mask.clearValue);\n var format = mask.format || defaultFormat;\n var formatter = mask.pattern ? new stringMask(mask.pattern, mask.options || {}) : null;\n var handler = createHandler({clean: clean, format: format, formatter: formatter});\n\n el = getInputElement(el, vnode);\n\n el.addEventListener('input', handler, false);\n el.addEventListener('paste', handler, false);\n el.addEventListener('blur', handler, false);\n el.addEventListener('mask', handler, false);\n\n handler({target: el, type: 'mask'});\n },\n update: function update (el, ref, vnode) {\n el = getInputElement(el, vnode);\n _Vue.nextTick(function () {\n var previousValue = el.dataset.value || '';\n if (previousValue !== el.value) {\n el.dispatchEvent(new Event('mask'));\n }\n });\n }\n }\n}\n\nvar mask = maskFactory(function (el, ref) {\n var value = ref.value;\n\n return {\n pattern: value,\n format: function format(ref) {\n var value = ref.value;\n var formatter = ref.formatter;\n\n value = formatter.apply(value);\n return value.trim().replace(/[^a-zA-Z0-9]$/, '');\n }\n }\n});\n\nvar patterns = {\n us: '0000-00-00',\n br: '00/00/0000'\n};\n\nvar date = maskFactory(function (el, ref) {\n var arg = ref.arg;\n var modifiers = ref.modifiers;\n\n var key = arg || Object.keys(modifiers)[0] || 'us';\n var pattern = patterns[key];\n\n return {\n pattern: pattern,\n clearValue: 'number'\n }\n});\n\nvar formatters = {\n get us() {\n var phone = new stringMask('(000) 000-0000');\n\n return {\n format: function format(value) {\n return phone.apply(value);\n }\n }\n },\n get br() {\n var phone = new stringMask('(00) 0000-0000');\n var phone9 = new stringMask('(00) 9 0000-0000');\n var phone0800 = new stringMask('0000-000-0000');\n\n return {\n format: function format(value) {\n if (value.indexOf('0800') === 0) {\n value = phone0800.apply(value);\n } else if (value.length <= 10) {\n value = phone.apply(value);\n } else {\n value = phone9.apply(value);\n }\n return value;\n }\n }\n }\n};\n\nvar phone = maskFactory(function (el, ref) {\n var arg = ref.arg;\n var modifiers = ref.modifiers;\n\n var key = arg || Object.keys(modifiers)[0] || 'us';\n var formatter = formatters[key];\n\n return {\n clearValue: 'number',\n format: function format(ref) {\n var value = ref.value;\n\n value = formatter.format(value);\n return value.trim().replace(/[^0-9]$/, '');\n }\n }\n});\n\nvar config = {\n us: {thousand: ',', decimal: '.'},\n br: {thousand: '.', decimal: ','}\n};\n\nvar decimal = maskFactory(function (el, ref) {\n var value = ref.value;\n var arg = ref.arg;\n var modifiers = ref.modifiers;\n\n var key = arg || Object.keys(modifiers)[0] || 'us';\n var conf = config[key];\n\n var pattern = \"#\" + (conf.thousand) + \"##0\";\n\n if (value && value > 0) {\n pattern += conf.decimal;\n while (value > 0) {\n pattern += '0';\n value--;\n }\n }\n\n return {\n pattern: pattern,\n options: {reverse: true},\n clearValue: 'number',\n format: function format(ref) {\n var value = ref.value;\n var formatter = ref.formatter;\n\n return formatter.apply(Number(value));\n }\n }\n});\n\nvar number = maskFactory(function () {\n return {\n pattern: '#0',\n options: {reverse: true},\n clearValue: 'number'\n }\n});\n\nvar cpf = maskFactory(function () {\n return {\n pattern: '000.000.000-00',\n clearValue: 'number'\n }\n});\n\nvar cnpj = maskFactory(function () {\n return {\n pattern: '00.000.000/0000-00',\n clearValue: 'number'\n }\n});\n\nvar cep = maskFactory(function () {\n return {\n pattern: '00.000-000',\n clearValue: 'number'\n }\n});\n\nvar cc = maskFactory(function () {\n return {\n pattern: '0000 0000 0000 0000',\n clearValue: 'number'\n }\n});\n\nvar model = {\n bind: function bind(el, ref, vnode) {\n var value = ref.value;\n var expression = ref.expression;\n\n el = getInputElement(el, vnode);\n\n var expressionParts = expression.replace(/\\[(\\d+)]/, '.$1').split('.');\n\n var updateModelValue = function (val) {\n var obj = vnode.context;\n var parts = expressionParts.slice(0);\n while (parts.length > 1) {\n obj = obj[parts.shift()];\n }\n return obj[parts.shift()] = val;\n };\n\n el.addEventListener('input', function (ref) {\n var target = ref.target;\n\n return updateModelValue(target.value);\n }, false);\n\n el.value = value;\n },\n update: function update(el, ref, vnode) {\n var value = ref.value;\n var oldValue = ref.oldValue;\n\n if (value !== oldValue) {\n el = getInputElement(el, vnode);\n el.value = value;\n }\n }\n};\n\nvar _Vue;\n\nfunction install(Vue) {\n if (install.installed) {\n return;\n }\n\n _Vue = Vue;\n\n Vue.directive('mask', mask);\n Vue.directive('maskDate', date);\n Vue.directive('maskPhone', phone);\n Vue.directive('maskDecimal', decimal);\n Vue.directive('maskNumber', number);\n Vue.directive('maskCpf', cpf);\n Vue.directive('maskCnpj', cnpj);\n Vue.directive('maskCep', cep);\n Vue.directive('maskCc', cc);\n Vue.directive('maskModel', model);\n\n install.installed = true;\n}\n\nvar index = {install: install};\n\nif (typeof window !== 'undefined' && window.Vue) {\n window.Vue.use({install: install});\n}\n\nexport default index;\n"],"sourceRoot":""}