{"version":3,"sources":["webpack:///./src/scripts/models/simulator.model.js","webpack:///./src/scripts/helpers/simulation.helper.js","webpack:///src/components/Simulation.vue","webpack:///./src/components/Simulation.vue?684e","webpack:///./src/components/Simulation.vue","webpack:///./src/scripts/services/memberGetMember.service.js","webpack:///src/components/MemberGetMember.vue","webpack:///./src/components/MemberGetMember.vue?88e9","webpack:///./src/components/MemberGetMember.vue"],"names":["Simulator","_createClass","_classCallCheck","this","childrenQuantity","monthlySalary","monthlyProceeds","annualBonus","pension","monthlyEducationExpense","monthlyMedicalExpense","otherDeductions","privatePension","alimony","calculateDonationPotential","percentage","salary","rentalIncoming","bonus","dependents","billsWithEducation","billsWithHealth","previdencePrivacy","annualIncomes","annualDeductions","calculateDependentDeduction","calculateMaxDedutionWithEducation","calculateMaxDeductionWithPrevidencePrivacy","inss","calculateInss","baseCalc","irpf","calculateIrpf","suggestedDonation","type","calculateTypeOfIrpf","insent","maxDeduction","maxDeductionWithDependents","parseInt","ranges","min","max","sum","tax","i","length","range","slice","reduce","acc","toFixed","taxes","range1","limit","range2","range3","range4","maxDiscount","discount","Math","components","InputText","props","landingPageOptions","linkToDonation","campaign","Object","data","dialog","simulator","ShowSimulation","SimulationMessage","SimulationTitle","children","result","suggestedValue","incomeTotal","formatterHelper","testText","showButton","showDonationButton","recalculate","fontListDestaque","watch","value","campaignPhaseId","CampaignPhases","EmAndamento","published","loadFromSessionStorage","mounted","computed","_objectSpread","mapGetters","methods","simulate","simulatorPercentage","income","salarioBruto","aluguel","bonusAnual","expenses","dependentes","educacao","despesasMedicas","outrasDeducoes","previdenciaPrivada","validForm","setResult","title","message","hasPotential","$emit","fillSessionStorage","sessionStorage","setItem","JSON","stringify","getItem","parse","entries","filled","keys","filter","x","gotoDonation","_this$campaign","simulationDrawer","$store","dispatch","cartItems","useLegacyProductFramework","$router","currentRoute","name","Routes","web","CheckoutV2","push","render","_vm","_h","$createElement","_c","_self","attrs","model","callback","$$v","$set","expression","staticClass","on","$event","_v","_s","ref","class","active","$gtag","_f","_e","directives","rawName","undefined","staticRenderFns","__vue_template_functional__","__vue_styles__","__vue_scopeId__","__vue_module_identifier__","Component","MemberGetMemberService","_BaseCrudService","_callSuper","_inherits","key","cpf","getRequest","user","postRequest","phone","email","BaseCrudService","memberGetMemberService","stepper","cpfIsValid","loading","code","indicationLink","regex","RegExp","window","location","href","replace","checkCpf","CommonHelper","validateCPF","nextStep2","_this","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","getMemberGetMember","sent","stop","nextStep3","_this2","_callee2","_context2","createMemberGetMember","clearSteps","copyLink","navigator","clipboard","writeText","commit","isFormValid","step","validateEmail","performClick","$refs","click","share","shareData","text","url","memberGetMemberDrawer","preventDefault","apply","arguments","indexOf","_k","keyCode","staticStyle","domProps"],"mappings":"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","file":"assets/js/chunk-4345f368.js","sourcesContent":["export default class Simulator {\n\tconstructor()\n\t{\n\t\tthis.childrenQuantity = 0;\n\t\tthis.monthlySalary = 0;\n\t\tthis.monthlyProceeds = 0;\n\t\tthis.annualBonus = 0;\n\t\tthis.pension = 0;\n\t\tthis.monthlyEducationExpense = 0;\n\t\tthis.monthlyMedicalExpense = 0;\n\t\tthis.otherDeductions = 0;\n\t\tthis.privatePension = 0;\n\t\tthis.alimony = 0;\n\t}\n}","/**\n * Calcula o potencial de doação do usuário\n * O cálculo é feito levando em consideração o valor devido do imposto de renda anual do doador\n * calculado a porcentagem possÃvel de ser destinado a um projeto incentivado 7% para esporte e 6% para os demais\n * \n * @param {Number} percentage - Porcentagem do imposto de renda que pode ser destinado a um projeto incentivado\n * @param {Number} salary - Salário bruto mensal do doador\n * @param {Number} rendalIncoming - Renda proveniente de aluguéis\n * @param {Number} bonus - Bônus anual do doador\n * @param {Number} dependents - Número de dependentes do doador\n * @param {Number} billsWithEducation - Despesas mensais com Instrução/Educação\n * @param {Number} billsWithHealth - Despesas mensais com Saúde\n * @param {Number} otherDeductions - Outras deduções mensais\n * @param {Number} previdencePrivacy - Previdência privada\n * @returns {Number} - Potencial de doação do usuário\n */\nconst calculateDonationPotential = (percentage, salary, rentalIncoming, bonus, dependents, billsWithEducation, billsWithHealth, otherDeductions, previdencePrivacy) => {\n const annualIncomes = (salary * 12)\n + (rentalIncoming * 12) \n + bonus;\n\n const annualDeductions = calculateDependentDeduction(dependents)\n + calculateMaxDedutionWithEducation(billsWithEducation * 12, dependents)\n + (billsWithHealth * 12)\n + (otherDeductions * 12)\n + calculateMaxDeductionWithPrevidencePrivacy(previdencePrivacy * 12, annualIncomes);\n\n const inss = calculateInss(salary) * 12;\n\n const baseCalc = annualIncomes - annualDeductions - inss;\n\n const irpf = calculateIrpf(baseCalc);\n \n const suggestedDonation = irpf * percentage / 100;//Math.round(irpf * percentage / 100, 2);\n const type = calculateTypeOfIrpf(annualIncomes, annualDeductions, inss);\n const insent = annualIncomes < 30639.90;\n return {\n suggestedDonation,\n type,\n insent,\n annualIncomes,\n annualDeductions,\n inss,\n irpf,\n baseCalc\n };\n}\n\n/**\n * Calcula a dedução máxima possÃvel para os gastos com educação\n */\nconst calculateMaxDedutionWithEducation = (billsWithEducation, dependents) => {\n const maxDeduction = 3561.5;\n const maxDeductionWithDependents = maxDeduction * (parseInt(dependents) + 1);\n return billsWithEducation > maxDeductionWithDependents ? maxDeductionWithDependents : billsWithEducation;\n}\n\n/**\n * Calcula a dedução máxima possÃvel para a previdência privada\n */\nconst calculateMaxDeductionWithPrevidencePrivacy = (previdencePrivacy, annualIncomes) => {\n const maxDeduction = annualIncomes * 12 / 100\n return previdencePrivacy > maxDeduction ? maxDeduction : previdencePrivacy;\n}\n\n/**\n * Cálculo de abatimento por dependente\n */\nconst calculateDependentDeduction = (dependents) => {\n return dependents * 2275.08;\n}\n\n/**\n * Cálculo do INSS progressivo\n */\nconst calculateInss = (salary) => {\n let inss = 0;\n const ranges = [\n { min: 0, max: 1412, sum: 1412 * 7.5 / 100, tax: 7.5},\n { min: 1412.01, max: 2666.68, sum: (2666.68 - 1412.01) * 9 / 100, tax: 9},\n { min: 2666.69, max: 4000.03, sum: (4000.03 - 2666.69) * 12 / 100, tax: 12},\n { min: 4000.04, max: 7786.02, sum: (7786.02 - 4000.04) * 14 / 100, tax: 14}\n ];\n\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n if (salary >= range.min && salary <= range.max) {\n inss = ((salary - range.min) * range.tax / 100) + ranges.slice(0, i).reduce((acc, range) => acc + range.sum, 0);\n } else if (i === ranges.length - 1) {\n inss = ranges.reduce((acc, range) => acc + range.sum, 0);\n } \n }\n\n return inss.toFixed(2);\n}\n\n/**\n * Cálculo do imposto de renda devido no ano\n */\nconst calculateIrpf = (baseCalc) => { \n let tax = 0;\n let taxes = [];\n const range1 = { limit: 2529.20 * 12, sum: 0};\n const range2 = { limit: 2826.65 * 12, sum: (2826.65 * 12) - (2259.20 * 12) * 0.075};\n const range3 = { limit: 3751.05 * 12, sum: (3751.05 * 12) - (2826.65 * 12) * 0.15};\n const range4 = { limit: 4664.68 * 12, sum: (4664.68 * 12) - (3751.05 * 12) * 0.225};\n\n if (baseCalc <= range1.limit) {\n taxes = [0]\n } else if (baseCalc <= range2.limit) {\n taxes = [(baseCalc - range1.limit) * 0.075];\n } else if (baseCalc <= range3.limit) {\n taxes = [\n (baseCalc - range2.limit) * 0.15,\n (range2.limit - range1.limit) * 0.075\n ];\n } else if (baseCalc <= range4.limit) {\n taxes = [\n (baseCalc - range3.limit) * 0.225,\n (range3.limit - range2.limit) * 0.15,\n (range2.limit - range1.limit) * 0.075\n ];\n } else {\n taxes = [\n (baseCalc - range4.limit) * 0.275,\n (range4.limit - range3.limit) * 0.225,\n (range3.limit - range2.limit) * 0.15,\n (range2.limit - range1.limit) * 0.075\n ]\n tax = taxes.reduce((acc, tax) => acc + tax, 0);\n }\n\n if (tax < 0) tax = 0;\n\n return tax;\n}\n\nfunction calcularIR(baseCalculo) {\n let irDevido = 0;\n\n if (baseCalculo <= 2259.20) {\n // Faixa 1: Até R$ 2.259,20 - Isento\n irDevido = 0;\n } else if (baseCalculo <= 2826.65) {\n // Faixa 2: De R$ 2.259,21 até R$ 2.826,65 - 7,5%\n irDevido = (baseCalculo - 2259.20) * 0.075;\n } else if (baseCalculo <= 3751.05) {\n // Faixa 3: De R$ 2.826,66 até R$ 3.751,05 - 15%\n irDevido = (baseCalculo - 2826.65) * 0.15 + (2826.65 - 2259.20) * 0.075;\n } else if (baseCalculo <= 4664.68) {\n // Faixa 4: De R$ 3.751,06 até R$ 4.664,68 - 22,5%\n irDevido = (baseCalculo - 3751.05) * 0.225 + (3751.05 - 2826.65) * 0.15 + (2826.65 - 2259.20) * 0.075;\n } else {\n // Faixa 5: Acima de R$ 4.664,68 - 27,5%\n irDevido = (baseCalculo - 4664.68) * 0.275 + (4664.68 - 3751.05) * 0.225 + (3751.05 - 2826.65) * 0.15 + (2826.65 - 2259.20) * 0.075;\n }\n\n return irDevido;\n}\n\n\n\n/**\n * Calcula a melhor opção Declaração Completa ou Simplificada\n */\nconst calculateTypeOfIrpf = (annualIncomes, annualDeductions, inss) => {\n const maxDiscount = 16754.34;\n let discount = Math.min(annualIncomes * 0.2, maxDiscount);\n\n if (annualIncomes > 30639.9 && discount < annualDeductions + inss) {\n return \"completa\";\n }\n\n return discount < annualDeductions ? \"completa\" : \"simples\";\n}\n\n/**\n * Test calculateDonationPotential\n */\n// const testCalculateDonationPotential = () => {\n// const percentage = 6;\n// const salary = 10000;\n// const rentalIncoming = 0;\n// const bonus = 0;\n// const dependents = 0;\n// const billsWithEducation = 200;\n// const billsWithHealth = 0;\n// const otherDeductions = 0;\n// const previdencePrivacy = 0;\n// return calculateDonationPotential(percentage, salary, rentalIncoming, bonus, dependents, billsWithEducation, billsWithHealth, otherDeductions, previdencePrivacy);\n// }\n\n// console.log(testCalculateDonationPotential());\n\nexport { calculateDonationPotential }\n","<template>\n <v-layout>\n <v-dialog v-model=\"landingPageOptions.simulationDrawer\" scrollable max-width=\"920px\">\n <v-card>\n <v-layout o-hidden>\n <v-layout avatar column>\n <v-flex px-4 py-2 simulation-father>\n <button class=\"close-modal\" @click=\"landingPageOptions.simulationDrawer = false\">\n <i class=\"fal fa-times\"></i>\n </button>\n <v-flex shrink simulation-header>\n <h3 class=\"color-theme-texto\">\n <i class=\"fal fa-calculator-alt mr-3 color-theme-secundaria\"></i>\n Simule sua doação\n </h3>\n <p class=\"color-theme-texto\">\n Utilize o simulador para fazer o cálculo aproximado do seu potencial de doação anual que é referente\n <strong>a {{ campaign ? campaign.simulatorPercentage : '' }}% do seu imposto de renda devido.</strong>\n </p>\n <p class=\"ma-0 color-theme-texto\">\n Para sua segurança, nenhuma informação digitada nesse formulário será armazenada, apenas o valor final.\n </p>\n <p>\n <br />\n <strong>Importante:</strong>\n <br />\n 1 - Não esqueça de preencher todas as informações referentes à s suas despesas dedutÃveis (dependentes, instrução, saúde, previdência etc.). Essas informações são fundamentais para a acuracidade do cálculo.\n <br />\n 2 - Caso tenha tido alguma alteração salarial no ano vigente, o cálculo do salário mensal deverá ser pela média dos salários dos 12 meses (janeiro a dezembro) do ano vigente.\n </p>\n </v-flex>\n <v-flex shrink form-simulation pb-0>\n <h4 class=\"color-theme-secundaria\">Rendimentos Tributáveis</h4>\n <v-layout wrap row space-around>\n <v-flex xs12 sm6 md3 pa-1>\n <InputMoney\n type=\"text\"\n textLabel=\"Salário Bruto Mensal\"\n v-model=\"simulator.monthlySalary\"\n :infoVisible=\"true\"\n :precision=\"2\"\n titleInfo=\"Salário Bruto Mensal\"\n subTitleInfo=\"Informe o valor do seu salário mensal bruto, antes dos descontos.\"\n />\n </v-flex>\n <v-flex xs12 sm6 md4 pa-1 mr-2 ml-2>\n <InputMoney\n type=\"text\"\n textLabel=\"Rendimentos Mensais Aluguel\"\n v-model=\"simulator.monthlyProceeds\"\n ref=\"monthlyProceeds\"\n :precision=\"2\"\n :infoVisible=\"true\"\n titleInfo=\"Rendimentos Mensais Aluguel\"\n subTitleInfo=\"Rendimentos mensais aluguel - (i) Insira o valor de receitas recebidas provenientes de aluguéis de imóveis.\"\n />\n </v-flex>\n <v-flex xs12 sm6 md3 pa-1>\n <InputMoney\n type=\"text\"\n textLabel=\"Bônus Anual (Exceto PLR)\"\n ref=\"annualBonus\"\n :precision=\"2\"\n v-model=\"simulator.annualBonus\"\n :infoVisible=\"true\"\n titleInfo=\"Bônus Anual (Exceto PLR)\"\n subTitleInfo=\"Informe o valor do bônus anual recebido no ano vigente. Não considerar PLR (participação em lucros e resultados), dividendos ou distribuição de lucros. Em caso de dúvida, cheque com seu RH.\"\n />\n </v-flex>\n </v-layout>\n <h4 class=\"color-theme-secundaria\">Despesas DedutÃveis</h4>\n <v-layout wrap row>\n <v-flex xs12 sm6 md6 pa-1>\n <InputSelect\n textLabel=\"Tem dependentes? Quantos?\"\n ref=\"childrenQuantity\"\n :items=\"children\"\n v-model=\"simulator.childrenQuantity\"\n :infoVisible=\"true\"\n titleInfo=\"Tem dependentes? Quantos?\"\n subTitleInfo=\"Quantos dependentes existem.\"\n :autoFocusOnValidationFail=\"false\"\n ></InputSelect>\n </v-flex>\n <v-flex xs12 sm6 md6 pa-1>\n <InputMoney\n type=\"text\"\n textLabel=\"Despesa Mensal com Instrução/Educação\"\n ref=\"monthlyExpense\"\n :precision=\"2\"\n v-model=\"simulator.monthlyEducationExpense\"\n :infoVisible=\"true\"\n titleInfo=\"Despesa Mensal com Instrução/Educação\"\n subTitleInfo=\"Informe o valor de sua despesa mensal com instrução/educação com você e seus dependentes.\"\n />\n </v-flex>\n <v-flex xs12 sm6 md6 pa-1>\n <InputMoney\n type=\"text\"\n textLabel=\"Despesas Médicas mensais (não reembolsadas)\"\n ref=\"monthlyMedicalExpense\"\n :precision=\"2\"\n v-model=\"simulator.monthlyMedicalExpense\"\n :infoVisible=\"true\"\n titleInfo=\"Despesas Médicas mensais (não reembolsadas)\"\n subTitleInfo=\"Informe as despesas médicas mensais realizadas por você com você e seus dependentes que não foram reembolsadas pelo plano de saúde. Ex.: Valor mensal do convênio médico, residual de consultas e procedimentos (cirurgias, fisioterapia etc).\"\n />\n </v-flex>\n <v-flex xs12 sm6 md6 pa-1>\n <InputMoney\n type=\"text\"\n textLabel=\"Outras deduções mensais\"\n :precision=\"2\"\n ref=\"monthlyDeductions\"\n v-model=\"simulator.otherDeductions\"\n :infoVisible=\"true\"\n titleInfo=\"Outras deduções mensais\"\n subTitleInfo=\"Funpresp, FAPI e Parcela isenta de aposentadoria, reserva remunerada, reforma e pensão para declarante com 65 anos ou mais, caso não tenha sido deduzida dos rendimentos. Carne-Leão: Livro Caixa.\"\n />\n </v-flex>\n <v-flex xs12 sm6 md6 pa-1>\n <InputMoney\n type=\"text\"\n textLabel=\"Previdência Privada PGBL (Mensal)\"\n :precision=\"2\"\n ref=\"privatePension\"\n v-model=\"simulator.privatePension\"\n :infoVisible=\"true\"\n titleInfo=\"Previdência Privada PGBL (Mensal)\"\n subTitleInfo=\"Informe o valor que você paga mensalmente de Previdência Privada - PGBL. O valor de dedução é limitado a 12% do valor total dos rendimentos tributáveis. Quem opta pela VGBL não tem deduções pela declaração completa.\"\n />\n </v-flex>\n </v-layout>\n </v-flex>\n </v-flex>\n <v-flex class=\"box-simulation p-relative\" :class=\"{active: ShowSimulation}\">\n <v-flex class=\"header-blue-simulation\">\n <v-btn\n v-if=\"!recalculate\"\n flat\n round\n color=\"white\"\n class=\"btn-primary mx-0 px-2\"\n large\n @click=\"simulate(); $gtag('send', 'event', 'Calcular', 'Simulação', 'Simulação'), showButton=true\"\n >Calcular</v-btn>\n <v-btn\n v-else\n flat\n round\n color=\"white\"\n class=\"btn-primary mx-0 px-2\"\n large\n @click=\"simulate(), showButton=true\"\n >Recalcular</v-btn>\n <div v-if=\"showButton\">\n <div>\n <span>Saldo potencial de doação</span>\n <h4>{{ result | FormatMoney }}</h4>\n </div>\n <a href=\"javascript:;\" @click=\"ShowSimulation = !ShowSimulation \">\n <i class=\"fal fa-chevron-up\"></i>\n </a>\n </div>\n </v-flex>\n <v-flex content-simulation bg-alpha v-show=\"SimulationMessage && ShowSimulation\">\n <h3 v-if=\"SimulationTitle != ''\">\n <strong>{{SimulationTitle}}</strong>\n </h3>\n <h3>{{ SimulationMessage }}</h3>\n <v-btn\n v-show=\"this.linkToDonation != '' && this.linkToDonation != undefined && showDonationButton\"\n flat\n round\n color=\"white\"\n class=\"btn-primary mx-0 px-2\"\n large\n @click=\"gotoDonation()\"\n >Doar</v-btn>\n </v-flex>\n </v-flex>\n </v-layout>\n </v-layout>\n </v-card>\n <v-divider></v-divider>\n </v-dialog>\n </v-layout>\n</template>\n\n<script type=\"plain/text\">\nimport InputText from \"@/components/input/InputText.vue\";\nimport Simulator from \"@/scripts/models/simulator.model.js\";\nimport { CampaignPhases } from \"@/scripts/models/enums/campaignPhases.enum\";\nimport { Routes } from \"@/scripts/models/enums/routes.enum\";\nimport { mapGetters, mapActions } from \"vuex\";\nimport { calculateDonationPotential } from \"@/scripts/helpers/simulation.helper\";\n\nexport default {\n components: {\n InputText\n },\n props: {\n landingPageOptions: false,\n linkToDonation: \"\",\n campaign: Object\n },\n data() {\n return {\n dialog: true,\n simulator: new Simulator(),\n ShowSimulation: false,\n SimulationMessage: \"\",\n SimulationTitle: \"\",\n children: [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"],\n result: 0,\n suggestedValue: 0,\n incomeTotal: 0,\n formatterHelper: null,\n testText: \"\",\n showButton: false,\n showDonationButton: true,\n recalculate: false,\n fontListDestaque: [\n \"Alegreya\",\n \"Eb Garamond\",\n \"Roboto Slab\",\n \"Hepta Slab\",\n \"Zilla Slab\",\n \"Playfair Display\",\n \"Montserrat\",\n \"Raleway\",\n \"Oswald\",\n \"Ubuntu\",\n \"Dosis\",\n \"Red Hat Display\"\n ]\n };\n },\n watch: {\n campaign(value) {\n if (value) {\n this.showDonationButton =\n value.campaignPhaseId == CampaignPhases.EmAndamento &&\n value.published;\n this.loadFromSessionStorage();\n }\n }\n },\n mounted(){\n if(this.campaign)\n this.loadFromSessionStorage();\n },\n computed: {\n ...mapGetters([\n 'incomeTax',\n 'cartItems'\n ]),\n },\n methods: {\n simulate() {\n const percentage = this.campaign.simulatorPercentage\n\n const income = {\n salarioBruto: this.simulator.monthlySalary,\n aluguel: this.simulator.monthlyProceeds,\n bonusAnual: this.simulator.annualBonus\n }\n\n const expenses = {\n dependentes: this.simulator.childrenQuantity,\n educacao: this.simulator.monthlyEducationExpense,\n despesasMedicas: this.simulator.monthlyMedicalExpense,\n outrasDeducoes: this.simulator.otherDeductions,\n previdenciaPrivada: this.simulator.privatePension\n }\n \n if (!this.validForm(income)) {\n this.setResult({ suggestedDonation: 0 }, \"Você precisa inserir, pelo menos, os valores de seus rendimentos tributáveis.\")\n return;\n }\n\n const result = calculateDonationPotential(\n percentage,\n income.salarioBruto,\n income.aluguel,\n income.bonusAnual,\n expenses.dependentes,\n expenses.educacao,\n expenses.despesasMedicas,\n expenses.outrasDeducoes,\n expenses.previdenciaPrivada\n );\n\n if (result.insent) {\n this.setResult(\n result,\n \"Isento de declaração\",\n `Você não poderá abater suas doações no imposto de renda.\n Porém, você pode doar mesmo assim e acompanhar os impactos que ajudou a gerar.`, \n true,\n false\n )\n } else if (result.type === \"completa\" && result.suggestedDonation > 0) {\n this.setResult(\n result,\n null,\n \"Parabéns, este é seu potencial de doação!\",\n false,\n true\n )\n } else {//if (result.type === \"simples\") {\n this.setResult(\n result,\n \"Declaração simples\",\n `Você não poderá abater suas doações no imposto de renda.\n Porém, você pode doar mesmo assim e acompanhar os impactos que ajudou a gerar`,\n true,\n false\n )\n } \n return parseInt(result.suggestedDonation);\n },\n setResult(result, title, message, recalculate, hasPotential) {\n this.SimulationTitle = title;\n this.SimulationMessage = message;\n if (!hasPotential) {\n this.result = 0;\n this.ShowSimulation = true;\n this.showButton = false;\n this.recalculate = recalculate;\n return;\n }\n this.result = result.suggestedDonation;\n this.ShowSimulation = true;\n this.recalculate = recalculate;\n this.showButton = true\n this.$emit(\"calculate\", result.suggestedDonation);\n this.fillSessionStorage(result.suggestedDonation)\n },\n fillSessionStorage(result) {\n sessionStorage.setItem('simulationResult', JSON.stringify({...this.simulator, result}));\n },\n loadFromSessionStorage() {\n const data = sessionStorage.getItem('simulationResult')\n if(data) {\n this.simulator = JSON.parse(data)\n this.simulate() \n }\n },\n validForm(entries) {\n const filled = Object.keys(entries).filter(x => entries[x])\n return filled.length > 0\n },\n gotoDonation() {\n this.landingPageOptions.simulationDrawer = !this.landingPageOptions\n .simulationDrawer;\n this.$emit(\"donate\", this.result);\n this.$store.dispatch(\"setForceValueSimulation\", true)\n \n if(this.cartItems.length > 0 && !this.campaign?.useLegacyProductFramework && this.$router.currentRoute.name !== Routes.web.CheckoutV2)\n this.$router.push({ name: Routes.web.CheckoutV2 });\n }\n }\n};\n</script>","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-layout',[_c('v-dialog',{attrs:{\"scrollable\":\"\",\"max-width\":\"920px\"},model:{value:(_vm.landingPageOptions.simulationDrawer),callback:function ($$v) {_vm.$set(_vm.landingPageOptions, \"simulationDrawer\", $$v)},expression:\"landingPageOptions.simulationDrawer\"}},[_c('v-card',[_c('v-layout',{attrs:{\"o-hidden\":\"\"}},[_c('v-layout',{attrs:{\"avatar\":\"\",\"column\":\"\"}},[_c('v-flex',{attrs:{\"px-4\":\"\",\"py-2\":\"\",\"simulation-father\":\"\"}},[_c('button',{staticClass:\"close-modal\",on:{\"click\":function($event){_vm.landingPageOptions.simulationDrawer = false}}},[_c('i',{staticClass:\"fal fa-times\"})]),_vm._v(\" \"),_c('v-flex',{attrs:{\"shrink\":\"\",\"simulation-header\":\"\"}},[_c('h3',{staticClass:\"color-theme-texto\"},[_c('i',{staticClass:\"fal fa-calculator-alt mr-3 color-theme-secundaria\"}),_vm._v(\"\\n Simule sua doação\\n \")]),_vm._v(\" \"),_c('p',{staticClass:\"color-theme-texto\"},[_vm._v(\"\\n Utilize o simulador para fazer o cálculo aproximado do seu potencial de doação anual que é referente\\n \"),_c('strong',[_vm._v(\"a \"+_vm._s(_vm.campaign ? _vm.campaign.simulatorPercentage : '')+\"% do seu imposto de renda devido.\")])]),_vm._v(\" \"),_c('p',{staticClass:\"ma-0 color-theme-texto\"},[_vm._v(\"\\n Para sua segurança, nenhuma informação digitada nesse formulário será armazenada, apenas o valor final.\\n \")]),_vm._v(\" \"),_c('p',[_c('br'),_vm._v(\" \"),_c('strong',[_vm._v(\"Importante:\")]),_vm._v(\" \"),_c('br'),_vm._v(\"\\n 1 - Não esqueça de preencher todas as informações referentes à s suas despesas dedutÃveis (dependentes, instrução, saúde, previdência etc.). Essas informações são fundamentais para a acuracidade do cálculo.\\n \"),_c('br'),_vm._v(\"\\n 2 - Caso tenha tido alguma alteração salarial no ano vigente, o cálculo do salário mensal deverá ser pela média dos salários dos 12 meses (janeiro a dezembro) do ano vigente.\\n \")])]),_vm._v(\" \"),_c('v-flex',{attrs:{\"shrink\":\"\",\"form-simulation\":\"\",\"pb-0\":\"\"}},[_c('h4',{staticClass:\"color-theme-secundaria\"},[_vm._v(\"Rendimentos Tributáveis\")]),_vm._v(\" \"),_c('v-layout',{attrs:{\"wrap\":\"\",\"row\":\"\",\"space-around\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\",\"md3\":\"\",\"pa-1\":\"\"}},[_c('InputMoney',{attrs:{\"type\":\"text\",\"textLabel\":\"Salário Bruto Mensal\",\"infoVisible\":true,\"precision\":2,\"titleInfo\":\"Salário Bruto Mensal\",\"subTitleInfo\":\"Informe o valor do seu salário mensal bruto, antes dos descontos.\"},model:{value:(_vm.simulator.monthlySalary),callback:function ($$v) {_vm.$set(_vm.simulator, \"monthlySalary\", $$v)},expression:\"simulator.monthlySalary\"}})],1),_vm._v(\" \"),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\",\"md4\":\"\",\"pa-1\":\"\",\"mr-2\":\"\",\"ml-2\":\"\"}},[_c('InputMoney',{ref:\"monthlyProceeds\",attrs:{\"type\":\"text\",\"textLabel\":\"Rendimentos Mensais Aluguel\",\"precision\":2,\"infoVisible\":true,\"titleInfo\":\"Rendimentos Mensais Aluguel\",\"subTitleInfo\":\"Rendimentos mensais aluguel - (i) Insira o valor de receitas recebidas provenientes de aluguéis de imóveis.\"},model:{value:(_vm.simulator.monthlyProceeds),callback:function ($$v) {_vm.$set(_vm.simulator, \"monthlyProceeds\", $$v)},expression:\"simulator.monthlyProceeds\"}})],1),_vm._v(\" \"),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\",\"md3\":\"\",\"pa-1\":\"\"}},[_c('InputMoney',{ref:\"annualBonus\",attrs:{\"type\":\"text\",\"textLabel\":\"Bônus Anual (Exceto PLR)\",\"precision\":2,\"infoVisible\":true,\"titleInfo\":\"Bônus Anual (Exceto PLR)\",\"subTitleInfo\":\"Informe o valor do bônus anual recebido no ano vigente. Não considerar PLR (participação em lucros e resultados), dividendos ou distribuição de lucros. Em caso de dúvida, cheque com seu RH.\"},model:{value:(_vm.simulator.annualBonus),callback:function ($$v) {_vm.$set(_vm.simulator, \"annualBonus\", $$v)},expression:\"simulator.annualBonus\"}})],1)],1),_vm._v(\" \"),_c('h4',{staticClass:\"color-theme-secundaria\"},[_vm._v(\"Despesas DedutÃveis\")]),_vm._v(\" \"),_c('v-layout',{attrs:{\"wrap\":\"\",\"row\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\",\"md6\":\"\",\"pa-1\":\"\"}},[_c('InputSelect',{ref:\"childrenQuantity\",attrs:{\"textLabel\":\"Tem dependentes? Quantos?\",\"items\":_vm.children,\"infoVisible\":true,\"titleInfo\":\"Tem dependentes? Quantos?\",\"subTitleInfo\":\"Quantos dependentes existem.\",\"autoFocusOnValidationFail\":false},model:{value:(_vm.simulator.childrenQuantity),callback:function ($$v) {_vm.$set(_vm.simulator, \"childrenQuantity\", $$v)},expression:\"simulator.childrenQuantity\"}})],1),_vm._v(\" \"),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\",\"md6\":\"\",\"pa-1\":\"\"}},[_c('InputMoney',{ref:\"monthlyExpense\",attrs:{\"type\":\"text\",\"textLabel\":\"Despesa Mensal com Instrução/Educação\",\"precision\":2,\"infoVisible\":true,\"titleInfo\":\"Despesa Mensal com Instrução/Educação\",\"subTitleInfo\":\"Informe o valor de sua despesa mensal com instrução/educação com você e seus dependentes.\"},model:{value:(_vm.simulator.monthlyEducationExpense),callback:function ($$v) {_vm.$set(_vm.simulator, \"monthlyEducationExpense\", $$v)},expression:\"simulator.monthlyEducationExpense\"}})],1),_vm._v(\" \"),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\",\"md6\":\"\",\"pa-1\":\"\"}},[_c('InputMoney',{ref:\"monthlyMedicalExpense\",attrs:{\"type\":\"text\",\"textLabel\":\"Despesas Médicas mensais (não reembolsadas)\",\"precision\":2,\"infoVisible\":true,\"titleInfo\":\"Despesas Médicas mensais (não reembolsadas)\",\"subTitleInfo\":\"Informe as despesas médicas mensais realizadas por você com você e seus dependentes que não foram reembolsadas pelo plano de saúde. Ex.: Valor mensal do convênio médico, residual de consultas e procedimentos (cirurgias, fisioterapia etc).\"},model:{value:(_vm.simulator.monthlyMedicalExpense),callback:function ($$v) {_vm.$set(_vm.simulator, \"monthlyMedicalExpense\", $$v)},expression:\"simulator.monthlyMedicalExpense\"}})],1),_vm._v(\" \"),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\",\"md6\":\"\",\"pa-1\":\"\"}},[_c('InputMoney',{ref:\"monthlyDeductions\",attrs:{\"type\":\"text\",\"textLabel\":\"Outras deduções mensais\",\"precision\":2,\"infoVisible\":true,\"titleInfo\":\"Outras deduções mensais\",\"subTitleInfo\":\"Funpresp, FAPI e Parcela isenta de aposentadoria, reserva remunerada, reforma e pensão para declarante com 65 anos ou mais, caso não tenha sido deduzida dos rendimentos. Carne-Leão: Livro Caixa.\"},model:{value:(_vm.simulator.otherDeductions),callback:function ($$v) {_vm.$set(_vm.simulator, \"otherDeductions\", $$v)},expression:\"simulator.otherDeductions\"}})],1),_vm._v(\" \"),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\",\"md6\":\"\",\"pa-1\":\"\"}},[_c('InputMoney',{ref:\"privatePension\",attrs:{\"type\":\"text\",\"textLabel\":\"Previdência Privada PGBL (Mensal)\",\"precision\":2,\"infoVisible\":true,\"titleInfo\":\"Previdência Privada PGBL (Mensal)\",\"subTitleInfo\":\"Informe o valor que você paga mensalmente de Previdência Privada - PGBL. O valor de dedução é limitado a 12% do valor total dos rendimentos tributáveis. Quem opta pela VGBL não tem deduções pela declaração completa.\"},model:{value:(_vm.simulator.privatePension),callback:function ($$v) {_vm.$set(_vm.simulator, \"privatePension\", $$v)},expression:\"simulator.privatePension\"}})],1)],1)],1)],1),_vm._v(\" \"),_c('v-flex',{staticClass:\"box-simulation p-relative\",class:{active: _vm.ShowSimulation}},[_c('v-flex',{staticClass:\"header-blue-simulation\"},[(!_vm.recalculate)?_c('v-btn',{staticClass:\"btn-primary mx-0 px-2\",attrs:{\"flat\":\"\",\"round\":\"\",\"color\":\"white\",\"large\":\"\"},on:{\"click\":function($event){_vm.simulate(); _vm.$gtag('send', 'event', 'Calcular', 'Simulação', 'Simulação'), _vm.showButton=true}}},[_vm._v(\"Calcular\")]):_c('v-btn',{staticClass:\"btn-primary mx-0 px-2\",attrs:{\"flat\":\"\",\"round\":\"\",\"color\":\"white\",\"large\":\"\"},on:{\"click\":function($event){_vm.simulate(), _vm.showButton=true}}},[_vm._v(\"Recalcular\")]),_vm._v(\" \"),(_vm.showButton)?_c('div',[_c('div',[_c('span',[_vm._v(\"Saldo potencial de doação\")]),_vm._v(\" \"),_c('h4',[_vm._v(_vm._s(_vm._f(\"FormatMoney\")(_vm.result)))])]),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"javascript:;\"},on:{\"click\":function($event){_vm.ShowSimulation = !_vm.ShowSimulation}}},[_c('i',{staticClass:\"fal fa-chevron-up\"})])]):_vm._e()],1),_vm._v(\" \"),_c('v-flex',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.SimulationMessage && _vm.ShowSimulation),expression:\"SimulationMessage && ShowSimulation\"}],attrs:{\"content-simulation\":\"\",\"bg-alpha\":\"\"}},[(_vm.SimulationTitle != '')?_c('h3',[_c('strong',[_vm._v(_vm._s(_vm.SimulationTitle))])]):_vm._e(),_vm._v(\" \"),_c('h3',[_vm._v(_vm._s(_vm.SimulationMessage))]),_vm._v(\" \"),_c('v-btn',{directives:[{name:\"show\",rawName:\"v-show\",value:(this.linkToDonation != '' && this.linkToDonation != undefined && _vm.showDonationButton),expression:\"this.linkToDonation != '' && this.linkToDonation != undefined && showDonationButton\"}],staticClass:\"btn-primary mx-0 px-2\",attrs:{\"flat\":\"\",\"round\":\"\",\"color\":\"white\",\"large\":\"\"},on:{\"click\":function($event){return _vm.gotoDonation()}}},[_vm._v(\"Doar\")])],1)],1)],1)],1)],1),_vm._v(\" \"),_c('v-divider')],1)],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Simulation.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Simulation.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-25cb99b3\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Simulation.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","import BaseCrudService from \"./baseCrud.service\";\n\nexport default class MemberGetMemberService extends BaseCrudService {\n\n\tconstructor() {\n\t\tsuper('MemberGetMember');\n\t}\n\n\tgetMemberGetMember(cpf) {\n\t\treturn this.getRequest('GetMemberGetMember', {cpf: cpf});\n\t}\n\n createMemberGetMember(user) {\n\t\treturn this.postRequest('CreateMemberGetMember', { name: user.name, cpf: user.cpf, phone: user.phone, email: user.email });\n\t}\n}","<template>\n \n <v-layout>\n {{ this.cpf }}\n <v-dialog v-model=\"landingPageOptions.memberGetMemberDrawer\" scrollable max-width=\"920px\">\n <v-card>\n <v-layout o-hidden>\n <v-layout avatar column>\n <v-flex px-4 py-2 simulation-father>\n <button class=\"close-modal\" @click=\"landingPageOptions.memberGetMemberDrawer = false; stepper = 1\">\n <i class=\"fal fa-times\"></i>\n </button>\n <v-flex shrink simulation-header>\n <h3 class=\"color-theme-texto\">\n <i class=\"fal fa-link-alt mr-3 color-theme-secundaria\"></i>\n Indique amigos\n </h3>\n <p class=\"color-theme-texto\">\n Cadastre-se, indique o <strong>{{ campaign.name }}</strong> para os seus amigos e participe\n </p>\n </v-flex>\n <v-flex shrink form-simulation pb-0>\n <v-stepper v-model=\"stepper\">\n <v-stepper-header>\n <v-stepper-step :complete=\"stepper > 1\" step=\"1\">Digite o seu CPF</v-stepper-step>\n\n <v-divider></v-divider>\n\n <v-stepper-step :complete=\"stepper > 2\" step=\"2\">Cadastre-se</v-stepper-step>\n\n <v-divider></v-divider>\n\n <v-stepper-step step=\"3\">Link de Embaixador</v-stepper-step>\n </v-stepper-header>\n\n <v-stepper-items>\n <v-stepper-content step=\"1\">\n <form @submit.prevent=\"nextStep2\"\n @keydown.enter=\"performClick('nextStep2Ref')\">\n <v-card\n class=\"mb-5 d-flex justify-center align-center\"\n height=\"200px\"\n >\n <div class=\"d-flex justify-center align-center\">\n \n <InputText\n textLabel=\"CPF\"\n type=\"text\"\n mask=\"###.###.###-##\"\n v-model=\"cpf\"\n />\n </div>\n </v-card> \n <v-btn\n class=\"btn btn-primary\"\n :disabled=\"!isFormValid(stepper)\"\n :loading=\"loading\"\n ref=\"nextStep2Ref\"\n style=\"color: white\"\n type=\"submit\"\n >\n Próximo\n </v-btn>\n\n <v-btn \n @click=\"landingPageOptions.memberGetMemberDrawer = false; clearSteps()\"\n flat>Cancelar</v-btn>\n </form>\n </v-stepper-content>\n\n <v-stepper-content step=\"2\">\n <form @submit.prevent=\"nextStep3\"\n @keydown.enter=\"performClick('nextStep3Ref')\">\n <v-card\n class=\"mb-5\"\n height=\"300px\"\n >\n <div class=\"d-flex flex-column justify-center align-center\">\n <p>Digite os seus dados para cadastro:</p>\n <InputText\n textLabel=\"Nome Completo\"\n type=\"text\"\n v-model=\"user.name\"\n />\n <InputText\n textLabel=\"Telefone\"\n type=\"text\"\n v-model=\"user.phone\"\n />\n <InputText\n textLabel=\"Email\"\n type=\"email\"\n v-model=\"user.email\"\n />\n </div>\n </v-card>\n <v-btn\n class=\"btn btn-primary\"\n ref=\"nextStep3Ref\"\n :disabled=\"!isFormValid(stepper)\"\n style=\"color: white\"\n type=\"submit\"\n >\n Próximo\n </v-btn>\n\n <v-btn \n @click=\"landingPageOptions.memberGetMemberDrawer = false; clearSteps()\"\n flat>Cancelar</v-btn>\n </form>\n </v-stepper-content>\n\n <v-stepper-content step=\"3\">\n <v-card\n class=\"mb-5\"\n height=\"200px\"\n >\n <div class=\"d-flex flex-column justify-center align-center\">\n <h3>Olá, {{ user.name }}!</h3>\n <p class=\"text-md-center\">Copie o link abaixo e divulgue para seus contatos. As doações realizadas com o seu link serão contabilizadas para você! Muito obrigado.</p>\n <div class=\"code-container\"\n @click=\"copyLink\"\n >\n <p \n class=\"mb-0\"\n style=\"cursor: pointer;\"\n v-text=\"indicationLink\"></p>\n <i class=\"fal fa-copy pl-2\"></i>\n </div>\n <div>\n <v-btn class=\"mt-3 btn btn-primary\"\n style=\"color: white\"\n @click=\"share\"\n >Compartilhar</v-btn>\n </div>\n </div>\n </v-card>\n\n <v-btn \n @click=\"landingPageOptions.memberGetMemberDrawer = false; clearSteps()\"\n flat>Fechar</v-btn>\n </v-stepper-content>\n </v-stepper-items>\n </v-stepper>\n </v-flex>\n </v-flex>\n </v-layout>\n </v-layout>\n </v-card>\n <v-divider></v-divider>\n </v-dialog>\n </v-layout>\n</template>\n\n<script type=\"plain/text\">\n// Services\nimport MemberGetMemberService from \"@/scripts/services/memberGetMember.service.js\"\nimport InputText from \"@/components/input/InputText.vue\";\nimport CommonHelper from \"@/scripts/helpers/common.helper\";\n\nexport default {\n components: {\n InputText\n },\n props: {\n landingPageOptions: false,\n campaign: Object\n },\n data() {\n return {\n memberGetMemberService: new MemberGetMemberService(),\n dialog: true,\n showButton: false,\n cpf: '',\n stepper: 1,\n cpfIsValid: false,\n loading: false,\n user: {\n name: '',\n phone: '',\n email: ''\n },\n code: '',\n };\n },\n computed: {\n indicationLink() {\n const regex = new RegExp(/[^/]*$/)\n return (window.location.href).replace(regex, '') + '?indicador=' + this.code\n },\n \n },\n methods: {\n checkCpf() {\n return CommonHelper.validateCPF(this.cpf)\n },\n async nextStep2() {\n this.loading = true;\n const data = await this.memberGetMemberService.getMemberGetMember(this.cpf)\n this.loading = false;\n if (data) {\n this.code = data.code;\n this.user.name = data.name\n this.stepper = 3;\n }\n else this.stepper = 2\n },\n async nextStep3() {\n this.loading = true\n this.user.cpf = this.cpf\n const data = await this.memberGetMemberService.createMemberGetMember(this.user)\n if (data) {\n this.loading = false;\n this.user = {};\n this.user.name = data.name\n this.code = data.code;\n this.stepper = 3;\n }\n \n },\n clearSteps() {\n this.stepper = 1;\n this.user = {};\n this.cpf = '';\n },\n copyLink() {\n navigator.clipboard.writeText(this.indicationLink);\n this.$store.commit(\"SET_SNACKBAR_SUCCESS_MESSAGE\", 'Link de embaixador copiado com sucesso' || 'Ok');\n },\n isFormValid(step) {\n if (step == 1) {\n return this.checkCpf() && this.cpf\n }\n\n if (step == 2) {\n return (this.user.name !== '') && (this.user.phone !== '') &&\n (this.user.email !== '') && (CommonHelper.validateEmail(this.user.email));\n }\n },\n performClick(ref) {\n this.$refs[ref].click()\n },\n share() {\n const shareData = {\n title: \"Link de Embaixador\",\n text: \"Olá, faça uma doação através do link abaixo.\",\n url: this.indicationLink,\n };\n navigator.share(shareData)\n }\n }\n \n};\n</script>","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-layout',[_vm._v(\"\\n \"+_vm._s(this.cpf)+\"\\n \"),_c('v-dialog',{attrs:{\"scrollable\":\"\",\"max-width\":\"920px\"},model:{value:(_vm.landingPageOptions.memberGetMemberDrawer),callback:function ($$v) {_vm.$set(_vm.landingPageOptions, \"memberGetMemberDrawer\", $$v)},expression:\"landingPageOptions.memberGetMemberDrawer\"}},[_c('v-card',[_c('v-layout',{attrs:{\"o-hidden\":\"\"}},[_c('v-layout',{attrs:{\"avatar\":\"\",\"column\":\"\"}},[_c('v-flex',{attrs:{\"px-4\":\"\",\"py-2\":\"\",\"simulation-father\":\"\"}},[_c('button',{staticClass:\"close-modal\",on:{\"click\":function($event){_vm.landingPageOptions.memberGetMemberDrawer = false; _vm.stepper = 1}}},[_c('i',{staticClass:\"fal fa-times\"})]),_vm._v(\" \"),_c('v-flex',{attrs:{\"shrink\":\"\",\"simulation-header\":\"\"}},[_c('h3',{staticClass:\"color-theme-texto\"},[_c('i',{staticClass:\"fal fa-link-alt mr-3 color-theme-secundaria\"}),_vm._v(\"\\n Indique amigos\\n \")]),_vm._v(\" \"),_c('p',{staticClass:\"color-theme-texto\"},[_vm._v(\"\\n Cadastre-se, indique o \"),_c('strong',[_vm._v(_vm._s(_vm.campaign.name))]),_vm._v(\" para os seus amigos e participe\\n \")])]),_vm._v(\" \"),_c('v-flex',{attrs:{\"shrink\":\"\",\"form-simulation\":\"\",\"pb-0\":\"\"}},[_c('v-stepper',{model:{value:(_vm.stepper),callback:function ($$v) {_vm.stepper=$$v},expression:\"stepper\"}},[_c('v-stepper-header',[_c('v-stepper-step',{attrs:{\"complete\":_vm.stepper > 1,\"step\":\"1\"}},[_vm._v(\"Digite o seu CPF\")]),_vm._v(\" \"),_c('v-divider'),_vm._v(\" \"),_c('v-stepper-step',{attrs:{\"complete\":_vm.stepper > 2,\"step\":\"2\"}},[_vm._v(\"Cadastre-se\")]),_vm._v(\" \"),_c('v-divider'),_vm._v(\" \"),_c('v-stepper-step',{attrs:{\"step\":\"3\"}},[_vm._v(\"Link de Embaixador\")])],1),_vm._v(\" \"),_c('v-stepper-items',[_c('v-stepper-content',{attrs:{\"step\":\"1\"}},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.nextStep2.apply(null, arguments)},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.performClick('nextStep2Ref')}}},[_c('v-card',{staticClass:\"mb-5 d-flex justify-center align-center\",attrs:{\"height\":\"200px\"}},[_c('div',{staticClass:\"d-flex justify-center align-center\"},[_c('InputText',{attrs:{\"textLabel\":\"CPF\",\"type\":\"text\",\"mask\":\"###.###.###-##\"},model:{value:(_vm.cpf),callback:function ($$v) {_vm.cpf=$$v},expression:\"cpf\"}})],1)]),_vm._v(\" \"),_c('v-btn',{ref:\"nextStep2Ref\",staticClass:\"btn btn-primary\",staticStyle:{\"color\":\"white\"},attrs:{\"disabled\":!_vm.isFormValid(_vm.stepper),\"loading\":_vm.loading,\"type\":\"submit\"}},[_vm._v(\"\\n Próximo\\n \")]),_vm._v(\" \"),_c('v-btn',{attrs:{\"flat\":\"\"},on:{\"click\":function($event){_vm.landingPageOptions.memberGetMemberDrawer = false; _vm.clearSteps()}}},[_vm._v(\"Cancelar\")])],1)]),_vm._v(\" \"),_c('v-stepper-content',{attrs:{\"step\":\"2\"}},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.nextStep3.apply(null, arguments)},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.performClick('nextStep3Ref')}}},[_c('v-card',{staticClass:\"mb-5\",attrs:{\"height\":\"300px\"}},[_c('div',{staticClass:\"d-flex flex-column justify-center align-center\"},[_c('p',[_vm._v(\"Digite os seus dados para cadastro:\")]),_vm._v(\" \"),_c('InputText',{attrs:{\"textLabel\":\"Nome Completo\",\"type\":\"text\"},model:{value:(_vm.user.name),callback:function ($$v) {_vm.$set(_vm.user, \"name\", $$v)},expression:\"user.name\"}}),_vm._v(\" \"),_c('InputText',{attrs:{\"textLabel\":\"Telefone\",\"type\":\"text\"},model:{value:(_vm.user.phone),callback:function ($$v) {_vm.$set(_vm.user, \"phone\", $$v)},expression:\"user.phone\"}}),_vm._v(\" \"),_c('InputText',{attrs:{\"textLabel\":\"Email\",\"type\":\"email\"},model:{value:(_vm.user.email),callback:function ($$v) {_vm.$set(_vm.user, \"email\", $$v)},expression:\"user.email\"}})],1)]),_vm._v(\" \"),_c('v-btn',{ref:\"nextStep3Ref\",staticClass:\"btn btn-primary\",staticStyle:{\"color\":\"white\"},attrs:{\"disabled\":!_vm.isFormValid(_vm.stepper),\"type\":\"submit\"}},[_vm._v(\"\\n Próximo\\n \")]),_vm._v(\" \"),_c('v-btn',{attrs:{\"flat\":\"\"},on:{\"click\":function($event){_vm.landingPageOptions.memberGetMemberDrawer = false; _vm.clearSteps()}}},[_vm._v(\"Cancelar\")])],1)]),_vm._v(\" \"),_c('v-stepper-content',{attrs:{\"step\":\"3\"}},[_c('v-card',{staticClass:\"mb-5\",attrs:{\"height\":\"200px\"}},[_c('div',{staticClass:\"d-flex flex-column justify-center align-center\"},[_c('h3',[_vm._v(\"Olá, \"+_vm._s(_vm.user.name)+\"!\")]),_vm._v(\" \"),_c('p',{staticClass:\"text-md-center\"},[_vm._v(\"Copie o link abaixo e divulgue para seus contatos. As doações realizadas com o seu link serão contabilizadas para você! Muito obrigado.\")]),_vm._v(\" \"),_c('div',{staticClass:\"code-container\",on:{\"click\":_vm.copyLink}},[_c('p',{staticClass:\"mb-0\",staticStyle:{\"cursor\":\"pointer\"},domProps:{\"textContent\":_vm._s(_vm.indicationLink)}}),_vm._v(\" \"),_c('i',{staticClass:\"fal fa-copy pl-2\"})]),_vm._v(\" \"),_c('div',[_c('v-btn',{staticClass:\"mt-3 btn btn-primary\",staticStyle:{\"color\":\"white\"},on:{\"click\":_vm.share}},[_vm._v(\"Compartilhar\")])],1)])]),_vm._v(\" \"),_c('v-btn',{attrs:{\"flat\":\"\"},on:{\"click\":function($event){_vm.landingPageOptions.memberGetMemberDrawer = false; _vm.clearSteps()}}},[_vm._v(\"Fechar\")])],1)],1)],1)],1)],1)],1)],1)],1),_vm._v(\" \"),_c('v-divider')],1)],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./MemberGetMember.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./MemberGetMember.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-16fed75c\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./MemberGetMember.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n"],"sourceRoot":""}