{"version":3,"sources":["webpack:///./node_modules/core-js/internals/string-pad.js","webpack:///./src/features/forma-pagamento/forma-pagamento-inserir-editar.vue?bde9","webpack:///./src/features/forma-pagamento/forma-pagamento-service.ts","webpack:///./src/features/forma-pagamento/forma-pagamento-inserir-editar.vue?ce48","webpack:///./src/features/forma-pagamento/forma-pagamento-inserir-editar.vue?3c07","webpack:///./src/features/forma-pagamento/forma-pagamento-inserir-editar.vue","webpack:///../../../src/components/VForm/VForm.ts","webpack:///./node_modules/core-js/modules/es.string.pad-start.js","webpack:///./src/utils/utils.ts","webpack:///./node_modules/core-js/internals/string-pad-webkit-bug.js","webpack:///./src/features/forma-pagamento/forma-pagamento-inserir-editar.vue?22a9","webpack:///./src/base/validations.ts"],"names":["toLength","repeat","requireObjectCoercible","ceil","Math","createMethod","IS_END","$this","maxLength","fillString","fillLen","stringFiller","S","String","stringLength","length","fillStr","undefined","intMaxLength","call","slice","module","exports","start","end","render","_vm","this","_h","$createElement","_c","_self","empresaId","staticClass","_v","ref","on","$event","preventDefault","salvar","attrs","rules","cartao","model","value","data","callback","$$v","$set","expression","nome","validade","cvv","cancelar","staticRenderFns","query","configure","getAxios","get","params","then","e","command","post","r","formaPagamento","iugu","window","Iugu","$summary","erroCartaoDeCredito","obterFormaPagamento","numeroCartao","split","join","trim","includes","utils","validateCreditCardNumber","brand","getBrandByCreditCardNumber","validateCVV","validateExpirationString","date","name","lastName","filter","nameCredit","month","year","CreditCard","creditCardIugu","Promise","resolve","createPaymentToken","erro","validarCartaoDeCredito","$snackbars","open","text","color","$action","processSubmit","action","createCreditCardIugu","response","inserirEditar","token","id","voltar","form","$refs","goTo","signOut","returnUrl","location","origin","$confirm","title","message","cancelado","obterEmpresaAtualId","carregarDados","component","VBtn","VCol","VContainer","VForm","VLabel","VRow","VTextField","inheritAttrs","props","lazyValidation","Boolean","inputs","watchers","errorBag","watch","handler","errors","Object","deep","immediate","methods","watchInput","watcher","input","val","_uid","valid","shouldValidate","validate","reset","resetErrorBag","setTimeout","resetValidation","register","unregister","found","find","i","unwatch","h","novalidate","attrs$","submit","$slots","$","$padStart","WEBKIT_BUG","target","proto","forced","padStart","arguments","obterDiaMesAnoFormatado","Date","dia","obterNumeroFormatado","getDate","mes","obterMesNumero","getMonth","ano","getFullYear","obterDiaMesAnoPadraoBR","obterDataFormatada","obterMes","hora","getHours","minuto","getMinutes","meses","numero","toString","isMobile","innerWidth","obterArquivosValidos","files","extensoesAceitas","resultado","file","arquivoValido","validarArquivo","push","extensao","pop","toLowerCase","extensaoExistente","debounce","func","timeout","timer","args","next","clearTimeout","obterSituacaoDescricao","situacao","Common","Domain","ChamadoSituacaoEnum","Aberto","Fechado","EmAndamento","obterSituacaoSistemaDescricao","SituacaoSistemaEnum","Ativo","EmAnalise","Inativo","formatDateIso","toISOString","parts","day","result","configureIugu","setAccountID","accountId","testMode","setTestMode","setup","userAgent","test","getParam","req","Array","isArray","isNaN","getTime","_","required","countDescription","count","max","maxValue","minLength","min","minValue","decimalRegex","decimal"],"mappings":"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","file":"js/chunk-fcfb9a84.09562fcd.js","sourcesContent":["// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('../internals/to-length');\nvar repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar ceil = Math.ceil;\n\n// `String.prototype.{ padStart, padEnd }` methods implementation\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = String(requireObjectCoercible($this));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\n\nmodule.exports = {\n // `String.prototype.padStart` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.padstart\n start: createMethod(false),\n // `String.prototype.padEnd` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.padend\n end: createMethod(true)\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.empresaId != null)?_c('v-container',[_c('span',{staticClass:\"t-pagamento-header t-item-azul\"},[_vm._v(\"Forma de pagamento\")]),_c('div',{staticClass:\"t-pagamento-detalhe\"},[_c('v-form',{ref:\"form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.salvar($event)}}},[_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"6\",\"sm\":\"12\"}},[_c('div',{staticClass:\"t-color-black\"},[_c('v-label',[_vm._v(\"Número do cartão\")])],1),_c('v-text-field',{attrs:{\"type\":\"text\",\"outlined\":\"\",\"flat\":\"\",\"solo\":\"\",\"rules\":_vm.rules.cartao},model:{value:(_vm.data.cartao),callback:function ($$v) {_vm.$set(_vm.data, \"cartao\", $$v)},expression:\"data.cartao\"}})],1),_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"6\",\"sm\":\"12\"}},[_c('div',{staticClass:\"t-color-black\"},[_c('v-label',[_vm._v(\"Título no cartão\")])],1),_c('v-text-field',{attrs:{\"type\":\"text\",\"outlined\":\"\",\"flat\":\"\",\"solo\":\"\",\"rules\":_vm.rules.nome},model:{value:(_vm.data.nome),callback:function ($$v) {_vm.$set(_vm.data, \"nome\", $$v)},expression:\"data.nome\"}})],1),_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"6\",\"sm\":\"12\"}},[_c('div',{staticClass:\"t-color-black\"},[_c('v-label',[_vm._v(\"Validade\")])],1),_c('v-text-field',{attrs:{\"type\":\"text\",\"outlined\":\"\",\"flat\":\"\",\"solo\":\"\",\"rules\":_vm.rules.validade},model:{value:(_vm.data.validade),callback:function ($$v) {_vm.$set(_vm.data, \"validade\", $$v)},expression:\"data.validade\"}})],1),_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"12\",\"md\":\"6\",\"sm\":\"12\"}},[_c('div',{staticClass:\"t-color-black\"},[_c('v-label',[_vm._v(\"CVV\")])],1),_c('v-text-field',{attrs:{\"type\":\"text\",\"outlined\":\"\",\"flat\":\"\",\"solo\":\"\",\"rules\":_vm.rules.cvv},model:{value:(_vm.data.cvv),callback:function ($$v) {_vm.$set(_vm.data, \"cvv\", $$v)},expression:\"data.cvv\"}})],1)],1),_c('v-btn',{staticClass:\"my-7 px-7 py-5\",attrs:{\"type\":\"submit\",\"tile\":\"\",\"color\":\"primary\",\"depressed\":\"\"}},[_vm._v(\" Salvar \")]),_c('v-btn',{staticClass:\"my-7 mx-4 px-7 py-5\",attrs:{\"text\":\"\",\"color\":\"primary\"},on:{\"click\":_vm.cancelar}},[_vm._v(\" Cancelar \")])],1)],1)]):_c('not-select-company')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Api from '../../base/api.typings';\nimport axiosConfiguration from '@/base/axios-configuration';\n\nclass FormaPagamentoService {\n async obterFormaPagamento(query: Api.App.Server.FormaPagamento.ObterFormaPagamento.Query): Promise {\n await axiosConfiguration.configure();\n\n return axiosConfiguration.getAxios()\n .get('/api/formapagamento/obterformapagamento', { params: query })\n .then(e => e.data);\n }\n\n async inserirEditar(command: Api.App.Server.FormaPagamento.InserirEditar.Command): Promise {\n await axiosConfiguration.configure();\n\n return axiosConfiguration.getAxios()\n .post('/api/formapagamento/inserireditar', command)\n .then(r => r.data);\n }\n}\n\nexport default new FormaPagamentoService();","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport Api from '../../base/api.typings';\nimport * as val from '../../base/validations';\nimport Component from 'vue-class-component';\nimport empresaAtualService from '../empresa-atual/empresa-atual-service';\nimport authService from '../../features/api-authorization/authorize-service';\nimport formaPagamentoService from './forma-pagamento-service';\nimport routerService from '@/base/router-service';\nimport { configureIugu } from '../../utils/utils';\n\n@Component\nexport default class ChamadoInserirEditar extends Vue {\n formaPagamento: Api.App.Server.FormaPagamento.ObterFormaPagamento.PaymentMethodDto = null;\n iugu = (window as any).Iugu;\n data = {\n cartao: '',\n nome: '',\n validade: '',\n cvv: '',\n };\n\n empresaId: string = null;\n\n rules = {\n $summary: [] as any[],\n cartao: [val.maxLength(19), val.required],\n nome: [val.required],\n validade: [val.required],\n cvv: [val.maxLength(4), val.required],\n };\n\n erroCartaoDeCredito: string = '';\n\n async obterFormaPagamento() {\n this.formaPagamento = await formaPagamentoService.obterFormaPagamento(\n {\n empresaId: this.empresaId,\n }\n );\n }\n\n private validarCartaoDeCredito() {\n let numeroCartao = this.data.cartao.split(' ').join('');\n\n if (\n !this.data.nome ||\n this.data.nome.length == 0 ||\n !this.data.nome.trim().includes(' ')\n ) {\n return 'Titular Inválido';\n }\n\n if (!this.iugu.utils.validateCreditCardNumber(numeroCartao)) {\n return 'Cartão Inválido';\n }\n\n const brand = this.iugu.utils.getBrandByCreditCardNumber(\n numeroCartao\n );\n if (!this.iugu.utils.validateCVV(this.data.cvv, brand)) {\n return 'CVV Inválido';\n }\n\n if (!this.iugu.utils.validateExpirationString(this.data.validade)) {\n return 'Data Inválida';\n }\n\n return '';\n }\n\n private createCreditCardIugu() {\n const date = this.data.validade.split('/');\n\n const name = this.data.nome.split(' ');\n\n const lastName = name.filter((e) => e != name[0]).join(' ');\n\n const nameCredit: string = name[0];\n\n const month: string = date[0];\n\n const year: string = date[1];\n\n return this.iugu.CreditCard(\n this.data.cartao,\n month,\n year,\n nameCredit,\n lastName,\n this.data.cvv\n );\n }\n\n private createPaymentToken(creditCardIugu): Promise {\n return new Promise((resolve) => {\n this.iugu.createPaymentToken(creditCardIugu, resolve);\n });\n }\n\n async salvar(e) {\n const erro = this.validarCartaoDeCredito();\n if (erro.length > 0) {\n this.$snackbars.open({\n text: erro,\n color: 'error',\n });\n return;\n }\n\n this.$action.processSubmit({\n action: async () => {\n const creditCardIugu = this.createCreditCardIugu();\n\n const response = await this.createPaymentToken(\n creditCardIugu\n );\n\n await formaPagamentoService.inserirEditar({\n token: response.id,\n });\n\n await this.voltar();\n },\n form: this.$refs.form,\n rules: this.rules,\n });\n }\n\n async voltar() {\n await routerService.goTo('plano-configuracao');\n }\n\n async logout() {\n if (this.empresaId == null) {\n await authService.signOut({ returnUrl: location.origin });\n }\n }\n\n carregarDados() {\n this.obterFormaPagamento();\n }\n\n async cancelar() {\n const cancelado = await this.$confirm.open({\n title: 'Cancelar',\n message: 'Deseja realmente cancelar a operação ?',\n });\n\n if (cancelado) {\n this.$snackbars.open({\n text: 'Ação cancelada!',\n color: 'success',\n });\n\n await this.voltar();\n }\n }\n\n async created() {\n this.empresaId = await empresaAtualService.obterEmpresaAtualId();\n if (this.empresaId != null) {\n this.carregarDados();\n }\n configureIugu();\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./forma-pagamento-inserir-editar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./forma-pagamento-inserir-editar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./forma-pagamento-inserir-editar.vue?vue&type=template&id=9c76b896&scoped=true&\"\nimport script from \"./forma-pagamento-inserir-editar.vue?vue&type=script&lang=ts&\"\nexport * from \"./forma-pagamento-inserir-editar.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./forma-pagamento-inserir-editar.vue?vue&type=style&index=0&id=9c76b896&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9c76b896\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VLabel } from 'vuetify/lib/components/VLabel';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCol,VContainer,VForm,VLabel,VRow,VTextField})\n","// Components\nimport VInput from '../VInput/VInput'\n\n// Mixins\nimport mixins from '../../util/mixins'\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Helpers\nimport { VNode } from 'vue'\n\ntype ErrorBag = Record\ntype VInputInstance = InstanceType\ntype Watchers = {\n _uid: number\n valid: () => void\n shouldValidate: () => void\n}\n\n/* @vue/component */\nexport default mixins(\n BindsAttrs,\n RegistrableProvide('form')\n /* @vue/component */\n).extend({\n name: 'v-form',\n\n inheritAttrs: false,\n\n props: {\n lazyValidation: Boolean,\n value: Boolean,\n },\n\n data: () => ({\n inputs: [] as VInputInstance[],\n watchers: [] as Watchers[],\n errorBag: {} as ErrorBag,\n }),\n\n watch: {\n errorBag: {\n handler (val) {\n const errors = Object.values(val).includes(true)\n\n this.$emit('input', !errors)\n },\n deep: true,\n immediate: true,\n },\n },\n\n methods: {\n watchInput (input: any): Watchers {\n const watcher = (input: any): (() => void) => {\n return input.$watch('hasError', (val: boolean) => {\n this.$set(this.errorBag, input._uid, val)\n }, { immediate: true })\n }\n\n const watchers: Watchers = {\n _uid: input._uid,\n valid: () => {},\n shouldValidate: () => {},\n }\n\n if (this.lazyValidation) {\n // Only start watching inputs if we need to\n watchers.shouldValidate = input.$watch('shouldValidate', (val: boolean) => {\n if (!val) return\n\n // Only watch if we're not already doing it\n if (this.errorBag.hasOwnProperty(input._uid)) return\n\n watchers.valid = watcher(input)\n })\n } else {\n watchers.valid = watcher(input)\n }\n\n return watchers\n },\n /** @public */\n validate (): boolean {\n return this.inputs.filter(input => !input.validate(true)).length === 0\n },\n /** @public */\n reset (): void {\n this.inputs.forEach(input => input.reset())\n this.resetErrorBag()\n },\n resetErrorBag () {\n if (this.lazyValidation) {\n // Account for timeout in validatable\n setTimeout(() => {\n this.errorBag = {}\n }, 0)\n }\n },\n /** @public */\n resetValidation () {\n this.inputs.forEach(input => input.resetValidation())\n this.resetErrorBag()\n },\n register (input: VInputInstance) {\n this.inputs.push(input)\n this.watchers.push(this.watchInput(input))\n },\n unregister (input: VInputInstance) {\n const found = this.inputs.find(i => i._uid === input._uid)\n\n if (!found) return\n\n const unwatch = this.watchers.find(i => i._uid === found._uid)\n if (unwatch) {\n unwatch.valid()\n unwatch.shouldValidate()\n }\n\n this.watchers = this.watchers.filter(i => i._uid !== found._uid)\n this.inputs = this.inputs.filter(i => i._uid !== found._uid)\n this.$delete(this.errorBag, found._uid)\n },\n },\n\n render (h): VNode {\n return h('form', {\n staticClass: 'v-form',\n attrs: {\n novalidate: true,\n ...this.attrs$,\n },\n on: {\n submit: (e: Event) => this.$emit('submit', e),\n },\n }, this.$slots.default)\n },\n})\n","'use strict';\nvar $ = require('../internals/export');\nvar $padStart = require('../internals/string-pad').start;\nvar WEBKIT_BUG = require('../internals/string-pad-webkit-bug');\n\n// `String.prototype.padStart` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.padstart\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","import Api from '@/base/api.typings';\nimport env from '@/env/env';\n\nexport function obterDiaMesAnoFormatado(data: string) {\n if (data) {\n let date = new Date(data);\n\n let dia = obterNumeroFormatado(date.getDate());\n let mes = obterMesNumero(date.getMonth());\n let ano = date.getFullYear();\n\n return `${ano}-${mes}-${dia}`;\n }\n return null\n}\n\nexport function obterDiaMesAnoPadraoBR(data: string) {\n if (data) {\n let date = new Date(data);\n\n let dia = obterNumeroFormatado(date.getDate());\n let mes = obterMesNumero(date.getMonth());\n let ano = date.getFullYear();\n\n return `${dia}/${mes}/${ano}`;\n }\n return null\n}\n\nexport function obterDataFormatada(data: string) {\n let date = new Date(data);\n\n let dia = obterNumeroFormatado(date.getDate());\n let mes = obterMes(date.getMonth());\n let ano = date.getFullYear();\n let hora = obterNumeroFormatado(date.getHours());\n let minuto = obterNumeroFormatado(date.getMinutes());\n\n return `${dia} de ${mes} de ${ano} às ${hora}h${minuto}`;\n}\n\nfunction obterMesNumero(mes: number) {\n let meses = [\"01\",\"02\",\"03\",\"04\",\"05\",\"06\",\"07\",\"08\",\"09\",\"10\",\"11\",\"12\"];\n return meses[mes];\n}\n\nfunction obterMes(mes: number) {\n let meses = [\n \"Janeiro\",\n \"Fevereiro\",\n \"Março\",\n \"Abril\",\n \"Maio\",\n \"Junho\",\n \"Julho\",\n \"Agosto\",\n \"Setembro\",\n \"Outubro\",\n \"Novembro\",\n \"Dezembro\"\n ];\n\n return meses[mes];\n}\n\nfunction obterNumeroFormatado(numero: number) {\n if (numero < 10) return `0${numero}`;\n\n return numero.toString();\n}\n\nexport function isMobile() {\n return window.innerWidth <= 768;\n}\n\nexport function obterArquivosValidos(files: File[], extensoesAceitas: string[]) {\n let resultado: File[] = [];\n\n for (let file of files) {\n let arquivoValido = validarArquivo(file, extensoesAceitas);\n\n if (arquivoValido)\n resultado.push(file);\n }\n\n return resultado;\n}\n\nfunction validarArquivo(file: File, extensoesAceitas: string[]) {\n let extensao = '.' + file.name.split('.').pop().toLowerCase();\n\n let extensaoExistente = extensoesAceitas.find(e => e == extensao);\n\n if (extensaoExistente)\n return true;\n\n return false;\n}\n\nexport function debounce(func: Function, timeout?: number) {\n let timer: number | undefined;\n\n return (...args: any[]) => {\n const next = () => func(...args);\n\n if (timer) \n clearTimeout(timer);\n\n timer = setTimeout(next, timeout > 0 ? timeout : 300);\n };\n}\n\nexport function obterSituacaoDescricao(situacao: Api.Common.Domain.ChamadoSituacaoEnum) {\n switch (situacao) {\n case Api.Common.Domain.ChamadoSituacaoEnum.Aberto:\n return \"Aberto\";\n case Api.Common.Domain.ChamadoSituacaoEnum.Fechado:\n return \"Fechado\";\n case Api.Common.Domain.ChamadoSituacaoEnum.EmAndamento:\n return \"Em andamento\";\n default:\n break;\n }\n}\n\nexport function obterSituacaoSistemaDescricao(situacao: Api.Common.Domain.SituacaoSistemaEnum) {\n switch (situacao) {\n case Api.Common.Domain.SituacaoSistemaEnum.Ativo:\n return \"Ativo\";\n case Api.Common.Domain.SituacaoSistemaEnum.EmAnalise:\n return \"Em Análise\";\n case Api.Common.Domain.SituacaoSistemaEnum.Inativo:\n return \"Inativo\";\n default:\n break;\n }\n}\n\nexport function formatDateIso(date) {\n if (!date)\n return null;\n if (typeof date === 'number')\n date = new Date(date);\n if (date.toISOString)\n date = date.toISOString();\n const parts = date.split(/[-|\\s|T]/)\n let day = parts[2].padStart(2, '0');\n let month = parts[1].padStart(2, '0');\n let year = parts[0].toString().padStart(2, '0');\n let result = `${year}-${month}-${day}`;\n return result;\n}\n\nexport function configureIugu() {\n const iugu = (window as any).Iugu;\n \n iugu.setAccountID(env.iugu.accountId);\n \n if (env.iugu.testMode)\n iugu.setTestMode(true);\n \n iugu.setup();\n}\n","// https://github.com/zloirock/core-js/issues/280\nvar userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line unicorn/no-unsafe-regex\nmodule.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./forma-pagamento-inserir-editar.vue?vue&type=style&index=0&id=9c76b896&scoped=true&lang=css&\"","type DynamicParam = () => T;\n\ntype Param = T | DynamicParam;\n\n/**\n * Retorna o valor de um parâmetro. Se o parâmetro for uma função, então ela é executada e seu resultado é retornado.\n * @param params\n */\nfunction getParam(params: Param): T {\n if (typeof params === 'function')\n return (params as any)();\n\n return params;\n}\n\n/**\n * Retorna true se o valor de um campo for considerado como preenchido.\n * @param value\n */\nconst req = (value: any) => {\n if (Array.isArray(value)) return !!value.length\n if (value === undefined || value === null) {\n return false\n }\n\n if (value === false) {\n return true\n }\n\n if (value instanceof Date) {\n // invalid date won't pass\n return !isNaN(value.getTime())\n }\n\n if (typeof value === 'object') {\n for (let _ in value) return true\n return false\n }\n\n return !!String(value).length\n}\n\n/**\n * Obriga o preenchimento do campo.\n * @param value\n */\nexport function required(value: any) {\n if (!req(value))\n return 'Preencha este campo.';\n\n return false;\n}\n\n/**\n * Obriga o preenchimento do campo somente se condition for válida.\n * @param condition Condição em que o campo deve ser preenchido.\n */\nexport function requiredIf(condition: Param) {\n return (value: any) => {\n if (getParam(condition))\n return required(value);\n\n return false;\n }\n}\n\n/**\n * Obriga o preenchimento do campo a não ser que a condição seja válida.\n * @param condition\n */\nexport function requiredUnless(condition: Param) {\n return (value: any) => {\n if (!getParam(condition))\n return required(value);\n\n return false;\n }\n}\n\nfunction countDescription(count: number) {\n return count == 1 ? '1 caracter' : `${count} caracteres`;\n}\n\n/**\n * Obriga um tamanho máximo de texto.\n * @param max Quantidade máxima de caracteres. Pode ser passada uma função para que a quantidade seja dinâmica.\n */\nexport function maxLength(max: Param) {\n return (value: string) => {\n if (!req(value))\n return false;\n\n let maxValue = getParam(max);\n\n if (typeof value === 'string' && value.length > maxValue)\n return `Tamanho máximo de ${countDescription(maxValue)}, você preencheu ${countDescription(value.length)}`;\n\n return false;\n };\n}\n\n/**\n * Obriga um tamanho mínimo de texto.\n * @param min Quantidade mínima de caracteres. Pode ser passada uma função para que a configuração seja dinâmica.\n */\nexport function minLength(min: Param) {\n return (value: string) => {\n if (!req(value))\n return false;\n\n let minValue = getParam(min);\n\n if (!req(value) || typeof value === 'string' && value.length < minValue)\n return `Tamanho mínimo de ${countDescription(minValue)} caracteres, você preencheu ${countDescription(value.length)}.`;\n\n return false;\n };\n}\n\nconst alphaRegex = /^[a-zA-Z]*$/;\n\n/**\n * Obriga somente letras (sem espaço e acentuação).\n * @param value\n */\nexport function alpha(value: string) {\n if (req(value) && !alphaRegex.test(value))\n return 'Informe somente letras.';\n\n return false;\n}\n\nconst alphaNumRegex = /^[a-zA-Z0-9]*$/;\n\n/**\n * Obriga somente letras e números (sem espaço e acentuação).\n * @param value\n */\nexport function alphaNum(value: string) {\n if (req(value) && !alphaNumRegex.test(value))\n return 'Informe somente letras ou números.';\n\n return false;\n}\n\nconst emailRegex = /(^$|^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$)/\n\n/**\n * Obriga que o texto esteja em formato de email.\n * @param value\n */\nexport function email(value: string) {\n if (req(value) && !emailRegex.test(value))\n return 'E-mail inválido.';\n\n return false;\n}\n\n/**\n * Obriga que o valor esteja entre os parâmetros passados.\n * @param min Valor mínimo (>=). Pode ser passada uma função para que a configuração seja dinâmica.\n * @param max Valor máximo (<=). Pode ser passada uma função para que a configuração seja dinâmica.\n */\nexport function between(min: Param, max: Param) {\n return (value: string) => {\n if (!req(value))\n return false;\n\n let minValue = getParam(min);\n let maxValue = getParam(max);\n\n if (+value < +minValue || +value > +maxValue)\n return `Deve estar entre ${minValue} e ${maxValue}.`;\n\n return false;\n };\n}\n\n/**\n * Obriga que o valor seja maior ou igual ao parâmetro.\n * @param min Valor mínimo. Pode ser passada uma função para que a configuração seja dinâmica.\n */\nexport function minValue(min: Param) {\n return (value: string) => {\n if (!req(value))\n return false;\n\n let minValue = getParam(min);\n\n if (+value < +minValue)\n return `Deve ser maior ou igual a ${minValue}.`;\n\n return false;\n };\n}\n\n/**\n * Obriga que o valor seja menor ou igual ao parâmetro.\n * @param max Valor máximo. Pode ser passada uma função para que a configuração seja dinâmica.\n */\nexport function maxValue(max: Param) {\n return (value: string) => {\n if (!req(value))\n return false;\n\n let maxValue = getParam(max);\n\n if (+value > +maxValue)\n return `Deve ser menor ou igual a ${maxValue}.`;\n\n return false;\n };\n}\n\nconst decimalRegex = /^[-]?\\d*(\\.\\d+)?$/;\n\n/**\n * Obriga um decimal válido (formato en-US).\n * @param value\n */\nexport function decimal(value: any) {\n if (req(value) && !decimalRegex.test(value.toString() as any))\n return 'Número decimal inválido.';\n\n return false;\n}\n\nconst decimalPtBrRegex = /^[-]?\\d*(\\,\\d+)?$/;\n\n/**\n * Obriga um decimal válido (formato pt-BR).\n * @param value\n */\nexport function decimalPtBr(value: any) {\n if (req(value) && !decimalPtBrRegex.test(value.toString() as any))\n return 'Número decimal inválido.';\n\n return false;\n}\n\nconst integerRegex = /(^[0-9]*$)|(^-[0-9]+$)/;\n\n/**\n * Obriga um número inteiro (incluindo número negativo)\n * @param value\n */\nexport function integer(value: number) {\n if (req(value) && !integerRegex.test(value as any))\n return 'Número inteiro inválido.';\n\n return false;\n}\n\nconst numericRegex = /^[0-9]*$/;\n\n/**\n * Obriga um número inteiro positivo.\n * @param value\n */\nexport function numeric(value: number) {\n if (req(value) && !numericRegex.test(value as any))\n return 'Número inválido.';\n\n return false;\n}\n\n/**\n * Obriga que o valor esteja de acordo com a expressão regurar\n * @param regex\n */\nexport function match(regex: Param) {\n return (value: string) => {\n let regexValue = getParam(regex);\n\n if (req(value) && !regexValue.test(value as any))\n return 'Formato inválido.';\n\n return false;\n };\n}"],"sourceRoot":""}