{"version":3,"file":"store.js","mappings":"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","sources":["webpack://build/../animavinum/assets/javascripts/store.js"],"sourcesContent":["var $window = $(window);\r\nvar $body = $('body');\r\nvar $header = $('#header');\r\nvar $wrapper = $('#wrapper');\r\nvar spaceToHeaderFixed;\r\nvar language = $('html').attr('lang');\r\nvar timeTransitionDefault = 350;\r\nvar texts = [];\r\n\r\nwindow.page = $body.data('page');\r\n\r\ntexts['pt-BR'] = {\r\n quantity: 'quantidade',\r\n price: 'preço',\r\n cart_empty: 'O seu carrinho está vazio',\r\n go_product: 'Ir para a página do produto',\r\n btn_edit_cart: 'Editar pedido',\r\n btn_checkout: 'Finalizar pedido',\r\n btn_success: 'Adicionado!',\r\n errorsTxt: {\r\n withoutSku: 'Selecione um atributo para o produto'\r\n }\r\n};\r\n\r\ntexts['en'] = {\r\n quantity: 'quantity',\r\n price: 'price',\r\n cart_empty: 'Your cart is empty',\r\n go_product: 'Go to the product page',\r\n btn_edit_cart: 'Edit order',\r\n btn_checkout: 'Checkout',\r\n btn_success: 'Added!',\r\n errorsTxt: {\r\n withoutSku: 'Select an attribute.'\r\n }\r\n};\r\n\r\ntexts['es'] = {\r\n quantity: 'cantidad',\r\n price: 'precio',\r\n cart_empty: 'Su carrito esta vacio',\r\n go_product: 'Ir a la página del producto',\r\n btn_edit_cart: 'Editar orden',\r\n btn_checkout: 'Pagar',\r\n btn_success: 'Agregado',\r\n errorsTxt: {\r\n withoutSku: 'Selecciona un atributo'\r\n }\r\n};\r\n\r\nfunction getText(key, subKey) {\r\n if (typeof subKey == 'undefined') {\r\n return texts[language][key];\r\n } else {\r\n return texts[language][key][subKey];\r\n }\r\n}\r\n\r\nwindow.store = {\r\n config: {\r\n // Seletor do botão de comprar\r\n selectorBtnBuy: '[data-action=\"add-cart\"]',\r\n // Seletor do elemento que engloba um produto\r\n selectorWrapperProduct: '[data-box-produto]',\r\n selectorFormProduct: '[data-form-product]',\r\n // Se a store tem versão internacional ou não\r\n hasInternacionalVersion: false,\r\n errorsTxt: {\r\n withoutSku: getText('errorsTxt', 'withoutSku'),\r\n },\r\n // configuração de comportamento ao add um produto\r\n addToCartOpenCartpopup: true,\r\n addToCartOpenCartpopupMobile: true,\r\n cartCount: {\r\n selector: '[data-cart-count]',\r\n attr: '[data-cart-count-attr]',\r\n text: '[data-cart-item-text]'\r\n },\r\n priceProds: {\r\n selector: '[data-update-price]',\r\n attr: 'update-price',\r\n }\r\n },\r\n formatMoney: function (value) {\r\n // FORMATA UM VALOR\r\n return \"R$ \" + value.toFixed(2).replace('.', ',').replace(/(\\d)(?=(\\d{3})+\\,)/g, \"$1.\");\r\n },\r\n validateQuantity: function (_val) {\r\n // VALIDA SE A QUANTIDADE INFORMADA É UM NÚMERO\r\n if (!isNaN(_val)) {\r\n if (parseInt(_val) > 0) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n },\r\n getClearNumber: function (_val) {\r\n // RETORNA UM NÚMERO LIMPO COMO INT\r\n if (!isNaN(_val)) {\r\n clearNumber = parseInt(_val);\r\n\r\n return clearNumber;\r\n }\r\n\r\n return false;\r\n },\r\n validateFormProduct: function (_$form) {\r\n // VALIDA O FORM DE PRODUTO PARA VER SE O PRODUTO PODE SER ADICIONADO\r\n var $parent = _$form.closest('[data-box-produto]');\r\n var $btnComprar = _$form.find('[data-action=\"add-cart\"]');\r\n var validated = true;\r\n var errorsTxt = [];\r\n\r\n if ($btnComprar.data('available') == 'false') {\r\n validated = false;\r\n errorsTxt.push('');\r\n } else {\r\n // verifica se o sku foi selecionado\r\n if (_$form.find('[name=\"sku\"]').val() == '') {\r\n validated = false;\r\n errorsTxt.push('Selecione um atributo para o produto');\r\n }\r\n\r\n // verifica se a quantidade é válida\r\n //console.log(_$form.find('input[name=\"quantity\"]').val());\r\n if (_$form.find('input[name=\"quantity\"]').val() <= 0) {\r\n //console.log(\"qtd invalida\");\r\n validated = false;\r\n errorsTxt.push('Quantidade indisponível');\r\n }\r\n }\r\n\r\n return { validated: validated, errors: errorsTxt };\r\n },\r\n setRespValidateProduct: function (_resp, _$form, _$boxResponse) {\r\n // var $boxResult = _$form.find('.resp-validate');\r\n var $boxResult = _$boxResponse;\r\n var htmlErrors = '';\r\n\r\n if (_resp.validated) {\r\n $boxResult.empty();\r\n\r\n } else {\r\n for (var i = _resp.errors.length - 1; i >= 0; i--) {\r\n htmlErrors += '' + _resp.errors[i] + '';\r\n }\r\n\r\n $boxResult.html(htmlErrors);\r\n }\r\n },\r\n addItemResultDefault: function (_$form, _typeResult, _result, _$boxResponse) {\r\n var _this = this;\r\n if (_typeResult == 'produto-adicionado') {\r\n var $btnComprar = _$form.find(_this.config.selectorBtnBuy);\r\n\r\n $btnComprar.addClass('success').html('Produto adicionado!');\r\n\r\n setTimeout(function () {\r\n // _$form.find('.msg-response').slideUp(350);\r\n $btnComprar.removeClass('success').html($btnComprar.data('text-available'));\r\n }, 3500);\r\n\r\n setTimeout(function () {\r\n window.location.href = urlCart;\r\n }, 150);\r\n\r\n } else if (_typeResult == 'erro-adicionar') {\r\n var errorText = JSON.parse(_result.responseText);\r\n\r\n if (typeof (_$boxResponse) != 'undefined' && _$boxResponse.length > 0) {\r\n //console.info(errorText);\r\n\r\n _$boxResponse.addClass('error');\r\n _$boxResponse.removeClass('success');\r\n\r\n _$boxResponse.find('span').html(errorText.error);\r\n _$boxResponse.slideDown(350);\r\n\r\n setTimeout(function () {\r\n _$boxResponse.slideUp(350);\r\n }, 3500);\r\n }\r\n }\r\n },\r\n addItemResultDefaultAssinatura: function (_$form, _typeResult, _result, _$boxResponse) {\r\n var _this = this;\r\n if (_typeResult == 'produto-adicionado') {\r\n var $btnComprar = _$form.find(_this.config.selectorBtnBuyAssinatura);\r\n\r\n $btnComprar.addClass('success').html('Adicionado!');\r\n\r\n setTimeout(function () {\r\n // _$form.find('.msg-response').slideUp(350);\r\n $btnComprar.removeClass('success').html($btnComprar.data('text-available'));\r\n }, 3500);\r\n\r\n setTimeout(function () {\r\n window.location.href = urlAssinaturaCart;\r\n }, 150);\r\n\r\n } else if (_typeResult == 'erro-adicionar') {\r\n if (typeof _result == 'object') {\r\n var errorText = _result;\r\n } else {\r\n var errorText = JSON.parse(_result);\r\n }\r\n\r\n if (typeof (_$boxResponse) != 'undefined' && _$boxResponse.length > 0) {\r\n //console.info(errorText);\r\n\r\n _$boxResponse.addClass('error');\r\n _$boxResponse.removeClass('success');\r\n\r\n _$boxResponse.find('span').html(errorText.error);\r\n _$boxResponse.slideDown(350);\r\n }\r\n }\r\n },\r\n addItem: function (_$form, _$parent, addItemResult) {\r\n var _this = this;\r\n var $btnComprar = _$parent.find('[data-action=\"add-cart\"]');\r\n var urlAdd = '/carrinho/adicionar';\r\n var urlUpdate = '/carrinho';\r\n var url = urlAdd;\r\n var form = _$form.serialize();\r\n var $boxResponse = _$parent.find('[data-form-product] .msg-response:not(.resp-validate)');\r\n\r\n //console.info('addItem');\r\n //console.info('addItem', _$form.serializeArray());\r\n\r\n if (!$btnComprar.hasClass('adding')) {\r\n $.ajax({\r\n url: url,\r\n type: 'POST',\r\n dataType: 'json',\r\n data: form,\r\n beforeSend: function () {\r\n $btnComprar.addClass('adding');\r\n }\r\n })\r\n .done(function (resp) {\r\n //console.log(\"success\");\r\n //console.info(resp);\r\n\r\n if (typeof template_store.addItemResult == 'function') {\r\n template_store.addItemResult(_$form, 'produto-adicionado', resp, $boxResponse);\r\n } else {\r\n template_store.addItemResultDefault(_$form, 'produto-adicionado', resp, $boxResponse);\r\n }\r\n })\r\n .fail(function (resp) {\r\n //console.log(\"error\");\r\n //console.error(resp);\r\n //console.error(resp.responseText);\r\n //console.error(resp.responseText.error);\r\n\r\n if (typeof template_store.addItemResult == 'function') {\r\n template_store.addItemResult(_$form, 'erro-adicionar', resp, $boxResponse);\r\n } else {\r\n template_store.addItemResultDefault(_$form, 'erro-adicionar', resp, $boxResponse);\r\n }\r\n })\r\n .always(function () {\r\n //console.log(\"complete\");\r\n $btnComprar.removeClass('adding');\r\n });\r\n }\r\n },\r\n addItemAssinatura: function (_$form, _$parent, addItemResult) {\r\n var _this = this;\r\n var $btnComprar = _$parent.find(store.config.selectorBtnBuyAssinatura);\r\n var url = urlAssinaturaCartAdd;\r\n var form = _$form.serialize();\r\n var $boxResponse = _$parent.find(store.config.selectorFormProductAssinatura + ' .msg-response:not(.resp-validate)');\r\n var data = {};\r\n\r\n data.subscription_item = {\r\n quantity: _$form.find('[name=\"quantity\"]').val(),\r\n sku: _$form.find('[name=\"sku\"]').val(),\r\n extra: {\r\n vindi_plan_id: _$form.find('[name=\"extra[vindi_plan_id]\"]').val()\r\n }\r\n }\r\n\r\n //console.info('addItemAssinatura');\r\n //console.info('addItemAssinatura', data);\r\n //console.info('addItemAssinatura', JSON.stringify(data));\r\n\r\n if (!$btnComprar.hasClass('adding')) {\r\n $.ajax({\r\n url: url,\r\n type: 'POST',\r\n // dataType: 'json',\r\n contentType: 'application/json',\r\n data: JSON.stringify(data),\r\n xhrFields: { withCredentials: true },\r\n beforeSend: function () {\r\n $btnComprar.addClass('adding');\r\n }\r\n })\r\n .done(function (resp) {\r\n //console.log(\"success\");\r\n //console.info(resp);\r\n\r\n if (typeof template_store.addItemResult == 'function') {\r\n template_store.addItemResult(_$form, 'produto-adicionado', resp, $boxResponse);\r\n } else {\r\n template_store.addItemResultDefaultAssinatura(_$form, 'produto-adicionado', resp, $boxResponse);\r\n }\r\n })\r\n .fail(function (xhr, status, error) {\r\n //console.log(\"error\");\r\n //console.error(xhr);\r\n //console.error(status);\r\n //console.error(error);\r\n\r\n var resp = {\r\n error: 'Houve um problema ao adicionar. Tente mais tarde ou entre em contato.',\r\n }\r\n\r\n if (typeof template_store.addItemResult == 'function') {\r\n template_store.addItemResult(_$form, 'erro-adicionar', resp, $boxResponse);\r\n } else {\r\n template_store.addItemResultDefaultAssinatura(_$form, 'erro-adicionar', resp, $boxResponse);\r\n }\r\n })\r\n .always(function () {\r\n //console.log(\"complete\");\r\n $btnComprar.removeClass('adding');\r\n });\r\n }\r\n },\r\n deleteItem: function (_itemId, _$item, removeItemResult) {\r\n var _this = this;\r\n\r\n if (!_$item.hasClass('removing')) {\r\n $.ajax({\r\n url: '/carrinho',\r\n type: 'POST',\r\n dataType: 'json',\r\n data: {\r\n '_method': 'delete',\r\n 'item_id': _itemId\r\n },\r\n beforeSend: function () {\r\n _$item.addClass('removing');\r\n }\r\n })\r\n .done(function (_cart) {\r\n //console.log(\"success\");\r\n\r\n if ($body.width() > 768) {\r\n if (store.config.addToCartOpenCartpopup) {\r\n template_store.headerCart.loadCart(_cart);\r\n template_store.headerCart.hide();\r\n }\r\n } else {\r\n if (store.config.addToCartOpenCartpopupMobile) {\r\n template_store.headerCart.loadCart(_cart);\r\n template_store.headerCart.hide();\r\n }\r\n }\r\n\r\n if (typeof removeItemResult == 'function') {\r\n removeItemResult(_$item, _cart);\r\n }\r\n })\r\n .fail(function (error) {\r\n //console.log(\"erro ao remover\", error.responseText);\r\n })\r\n .always(function () {\r\n _$item.removeClass('removing');\r\n });\r\n }\r\n },\r\n setMsgResponse: function (_msg, _type, _$parent) {\r\n /*\r\n O tipo pode conter um dos 3 valores: success, warning, error ou CLEAR.\r\n O type CLEAR limpa as mensagens e faz sumir a mensagem\r\n */\r\n\r\n // Verifica se não há mais de uma mensagem\r\n // caso tenha, gera um html para cada mensagem\r\n if (Array.isArray(_msg)) {\r\n var msgArr = _msg;\r\n _msg = '';\r\n for (var i = msgArr.length - 1; i >= 0; i--) {\r\n _msg += '' + msgArr[i] + '';\r\n }\r\n }\r\n\r\n _$parent\r\n .find('[data-msg-retorno]')\r\n .removeClass('success')\r\n .removeClass('warning')\r\n .removeClass('error');\r\n\r\n _$parent.find('[data-msg-retorno] [data-msg]').empty();\r\n\r\n if (_type != 'clear') {\r\n _$parent.find('[data-msg-retorno]').addClass(_type);\r\n _$parent.find('[data-msg-retorno] [data-msg]').html(_msg);\r\n }\r\n },\r\n updateCartCount: function (_itemsCount) {\r\n var _this = this;\r\n\r\n // $(_this.cartCount.selector).empty().text(_itemsCount);\r\n\r\n $(_this.config.cartCount.attr).data('cart-count-attr', _itemsCount);\r\n $(_this.config.cartCount.attr).attr('data-cart-count-attr', _itemsCount);\r\n\r\n $(_this.config.cartCount.attr).html(_itemsCount);\r\n $(_this.config.cartCount.text).html(_itemsCount);\r\n $(_this.config.cartCount.textLabel).html(_itemsCount > 1 ? 'itens' : 'item');\r\n\r\n if (_itemsCount > 0) {\r\n $('[data-cart-body]').parent().addClass('active');\r\n } else {\r\n $('[data-cart-body]').parent().removeClass('active');\r\n }\r\n\r\n },\r\n getCartCount: function () {\r\n async function getCartItens() {\r\n let itens;\r\n\r\n try {\r\n itens = await $.ajax({\r\n url: '/carrinho/itens',\r\n type: 'GET',\r\n dataType: 'text'\r\n });\r\n\r\n return itens;\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }\r\n\r\n if ($(store.config.cartCount.selector).length > 0) {\r\n getCartItens().then((total) => {\r\n var itens = Number.isInteger(parseInt(total));\r\n if (itens) {\r\n $(store.config.cartCount.attr).attr('data-cart-count-attr', total);\r\n $(store.config.cartCount.selector).html(total);\r\n\r\n var $boxCart = $('[data-cart-body]');\r\n\r\n if ($boxCart.length > 0) {\r\n if (total > 0) {\r\n template_store.headerCart.loadCart();\r\n } else {\r\n $boxCart.html('

Seu carrinho está vazio...

');\r\n }\r\n }\r\n }\r\n });\r\n };\r\n },\r\n submitForm: function (_$form) {\r\n\r\n _$form.find('[name=\"reply_to\"]').val(_$form.find('[name=\"email\"]').val());\r\n\r\n if (!_$form.hasClass('sending')) {\r\n $.ajax({\r\n url: '/webform',\r\n type: 'POST',\r\n data: _$form.serialize(),\r\n beforeSend: function () {\r\n _$form.addClass('sending');\r\n }\r\n })\r\n .done(function () {\r\n // console.info('foi');\r\n // store.setMsgResponse('Mensagem enviada com sucesso!', 'success', _$form);\r\n _$form.find('[data-msg-retorno] [data-msg-success]').addClass('visible');\r\n _$form.find('[data-msg-retorno] [data-msg-error]').removeClass('visible');\r\n _$form.find(\"button[type=submit]\").text('Enviado');\r\n\r\n setTimeout(function () {\r\n _$form.find(\"button[type=submit]\").text('Enviar');\r\n }, 3500);\r\n _$form[0].reset();\r\n })\r\n .fail(function () {\r\n // console.info('foi, mas deu ruim');\r\n _$form.find('[data-msg-retorno] [data-msg-success]').removeClass('visible');\r\n _$form.find('[data-msg-retorno] [data-msg-error]').addClass('visible');\r\n _$form.find(\"button[type=submit]\").text('Falha ao enviar');\r\n setTimeout(function () {\r\n _$form.find(\"button[type=submit]\").text('Enviar');\r\n }, 3500);\r\n // store.setMsgResponse('Houve um problema ao enviar sua mensagem, tente novamente! Ou entre em contato conosco pelo telefone (21) 99644-6925 ', 'error', $form);\r\n })\r\n .always(function () {\r\n //console.log(\"complete\");\r\n _$form.removeClass('sending');\r\n });\r\n }\r\n },\r\n getPriceProd: function () {\r\n var selector = store.config.priceProds.selector;\r\n var attr = store.config.priceProds.attr;\r\n\r\n if ($(selector).length > 0) {\r\n $(selector).each(function (index, value) {\r\n var $this = $(this);\r\n var prodId = $(this).data(attr);\r\n var url = '/produto/preco/' + prodId;\r\n\r\n if (prodId != '' && prodId != null) {\r\n $.ajax({\r\n url: url,\r\n type: 'GET',\r\n })\r\n .done(function (resp) {\r\n // console.info(resp);\r\n $this.html(resp);\r\n })\r\n .fail(function (resp) {\r\n console.error(resp);\r\n });\r\n }\r\n });\r\n }\r\n },\r\n login: {\r\n validateLogin: function (_$form) {\r\n var validated = true;\r\n var errorsTxt = [];\r\n\r\n if (_$form.find('[name=\"email\"]').val() == '') {\r\n validated = false;\r\n errorsTxt.push('Informe seu email!');\r\n }\r\n\r\n if (_$form.find('[name=\"password\"]').val() == '') {\r\n validated = false;\r\n errorsTxt.push('Informe a senha!');\r\n }\r\n\r\n return { validated: validated, errors: errorsTxt };\r\n },\r\n validateRegister: function (_$form) {\r\n var validated = true;\r\n var errorsTxt = [];\r\n\r\n if (_$form.find('[name=\"email\"]').val() == '') {\r\n validated = false;\r\n errorsTxt.push('Informe seu email!');\r\n }\r\n\r\n if (_$form.find('[name=\"password\"]').val() == '') {\r\n validated = false;\r\n errorsTxt.push('Informe uma senha!');\r\n }\r\n\r\n if (_$form.find('[name=\"password\"]').val() != '') {\r\n var pass = _$form.find('[name=\"password\"]').val();\r\n var confirmationPass = _$form.find('[name=\"password_confirmation\"]').val();\r\n\r\n if (pass != confirmationPass) {\r\n validated = false;\r\n errorsTxt.push('Senha e confirmação são diferentes!');\r\n }\r\n }\r\n\r\n return { validated: validated, errors: errorsTxt };\r\n },\r\n validateRecover: function (_$form) {\r\n var validated = true;\r\n var errorsTxt = [];\r\n\r\n if (_$form.find('[name=\"email\"]').val() == '') {\r\n validated = false;\r\n errorsTxt.push('Informe seu email!');\r\n }\r\n\r\n return { validated: validated, errors: errorsTxt };\r\n },\r\n logar: function (_$form) {\r\n if (!_$form.hasClass('sending')) {\r\n $.ajax({\r\n url: '/entrar',\r\n type: 'POST',\r\n dataType: \"json\",\r\n data: _$form.serialize(),\r\n beforeSend: function () {\r\n _$form.addClass('sending');\r\n }\r\n })\r\n .done(function (resp) {\r\n //console.log(\"success\", resp);\r\n\r\n if (resp.error) {\r\n store.setMsgResponse(resp.error, 'error', _$form);\r\n }\r\n\r\n if (resp.client) {\r\n window.location.href = resp.redirect_to;\r\n }\r\n })\r\n .fail(function (resp) {\r\n //console.error(\"error\", error.responseText);\r\n })\r\n .always(function () {\r\n //console.log(\"complete\");\r\n _$form.removeClass('sending');\r\n });\r\n }\r\n },\r\n recoverPassord: function (_$form) {\r\n if (!_$form.hasClass('sending')) {\r\n $.ajax({\r\n url: '/recuperar_senha',\r\n type: 'POST',\r\n dataType: \"json\",\r\n data: _$form.serialize(),\r\n beforeSend: function () {\r\n _$form.addClass('sending');\r\n }\r\n })\r\n .done(function (resp) {\r\n //console.log(\"success\", resp);\r\n\r\n if (resp.error) {\r\n store.setMsgResponse(resp.error, 'error', _$form);\r\n }\r\n\r\n if (resp.ok) {\r\n store.setMsgResponse(resp.ok, 'success', _$form);\r\n }\r\n\r\n /*if (resp.client) {\r\n window.location.href = resp.redirect_to;\r\n }*/\r\n })\r\n .fail(function (resp) {\r\n //console.error(\"error\", error.responseText);\r\n })\r\n .always(function () {\r\n //console.log(\"complete\");\r\n _$form.removeClass('sending');\r\n });\r\n }\r\n },\r\n },\r\n}\r\n\r\nwindow.template_store = {\r\n setMenuMobile: function () {\r\n $(\"#menu-mobile\").mmenu(\r\n {\r\n slidingSubmenus: true,\r\n extensions: [\r\n // \"pagedim-black\",\r\n \"icon-panels\"\r\n ],\r\n navbar: {\r\n add: true\r\n }\r\n },\r\n {\r\n // configuration\r\n offCanvas: {\r\n pageSelector: \"#wrapper\"\r\n }\r\n });\r\n\r\n mmenu = $(\"#menu-mobile\").data('mmenu');\r\n\r\n $('[data-action=\"open-menu-mobile\"]').on('click', function (event) {\r\n event.preventDefault();\r\n\r\n if ($(\"#menu-mobile\").hasClass('mm-opened')) {\r\n mmenu.close();\r\n } else {\r\n mmenu.open();\r\n }\r\n });\r\n },\r\n\r\n setAgePopup: function () {\r\n var agePopup = $('[data-age-popup]');\r\n var confirmButton = $('[data-age-popup] [data-button-confirm]');\r\n var cancelButton = $('[data-age-popup] [data-button-cancel]');\r\n var bodyTag = $('body');\r\n var date = Date.now();\r\n\r\n //exibe popup caso cookie não existe\r\n if (localStorage.getItem('agePopup') == null || localStorage.getItem('popupNewsletterCookieName') > date) {\r\n //exibe popup\r\n agePopup.addClass('visible');\r\n } else {\r\n //esconde popup e libera navegação\r\n bodyTag.removeClass('no-scroll');\r\n agePopup.removeClass('visible');\r\n }\r\n confirmButton.on('click', function () {\r\n //cria cookie\r\n localStorage.setItem('agePopup', date);\r\n //esconde popup e libera navegação\r\n bodyTag.removeClass('no-scroll');\r\n agePopup.removeClass('visible');\r\n })\r\n cancelButton.on('click', function () {\r\n window.history.back();\r\n })\r\n },\r\n\r\n setPopupNewsletter: function () {\r\n var newsletterPopup = $('[data-newsletter-popup]');\r\n var confirmButton = $('[data-newsletter-popup] [data-button-confirm]');\r\n var date = Date.now();\r\n\r\n //exibe popup caso cookie não existe\r\n if (localStorage.getItem('newsletterPopup') == null || localStorage.getItem('popupNewsletterCookieName') > date) {\r\n //exibe popup\r\n newsletterPopup.addClass('visible');\r\n } else {\r\n //esconde popup e libera navegação\r\n newsletterPopup.removeClass('visible');\r\n }\r\n confirmButton.on('click', function () {\r\n //cria cookie\r\n localStorage.setItem('newsletterPopup', date);\r\n //esconde popup e libera navegação\r\n newsletterPopup.removeClass('visible');\r\n })\r\n },\r\n /*\r\n Manda um ajax para o form de avise-me e também para um form da plataforma para o cliente receber um email\r\n */\r\n submitFormNotify: function (_$form) {\r\n var formData = _$form.serialize();\r\n\r\n if (!_$form.hasClass('sending')) {\r\n $.ajax({\r\n url: _$form.attr('action'),\r\n type: 'post',\r\n dataType: 'json',\r\n data: formData,\r\n beforeSend: function () {\r\n _$form.addClass('sending');\r\n }\r\n })\r\n .done(function (resp) {\r\n //console.log(\"success\");\r\n //console.info(resp);\r\n\r\n var msgSuccess = 'Você receberá um e-mail quando o produto estiver disponível';\r\n\r\n // Envia um email para o cliente saber que o usuário solicitou o avise-me\r\n $.ajax({\r\n url: '/webform',\r\n type: 'POST',\r\n data: {\r\n key: _$form.find('[name=\"key\"]').val(),\r\n reply_to: _$form.find('[name=\"email\"]').val(),\r\n email: _$form.find('[name=\"email\"]').val(),\r\n product_name: _$form.find('[name=\"nome\"]').val(),\r\n referencia: _$form.find('[name=\"referencia\"]').val(),\r\n sku: _$form.find('[name=\"sku\"]').val(),\r\n },\r\n })\r\n .done(function (resp) {\r\n _$form.find(\"button[type=submit]\").text(\"Enviado\");\r\n setTimeout(function () {\r\n _$form.find(\"button[type=submit]\").text(\"Enviar\");\r\n }, 3500);\r\n _$form[0].reset();\r\n })\r\n .fail(function (error) {\r\n _$form.find(\"button[type=submit]\").text(\"Falha ao enviar\");\r\n setTimeout(function () {\r\n _$form.find(\"button[type=submit]\").text(\"Enviar\");\r\n }, 3500);\r\n })\r\n .always(function () {\r\n })\r\n\r\n if (resp.error) {\r\n _$form.find('.msg-response').removeClass('happy').addClass('error');\r\n _$form.find('.msg-response span').html(resp.error);\r\n _$form.find('.msg-response').slideDown(350);\r\n\r\n setTimeout(function () {\r\n _$form.find('.msg-response').removeClass('happy').removeClass('error');\r\n _$form.find('.msg-response span').empty();\r\n }, 3500);\r\n\r\n } else {\r\n _$form.find('.msg-response').addClass('happy').removeClass('error');\r\n _$form.find('.msg-response span').html(msgSuccess);\r\n\r\n setTimeout(function () {\r\n _$form.find('.msg-response').removeClass('happy').removeClass('error');\r\n _$form.find('.msg-response span').empty();\r\n }, 3500);\r\n\r\n }\r\n })\r\n .fail(function (resp) {\r\n //console.log(\"error\");\r\n //console.error(resp);\r\n //console.error(resp.responseText);\r\n //console.error(resp.responseText.error);\r\n\r\n var errorText = JSON.parse(resp.responseText);\r\n //console.info(errorText);\r\n\r\n _$form.find('.msg-response').removeClass('happy');\r\n _$form.find('.msg-response span').html(errorText.error);\r\n _$form.find('.msg-response').slideDown(350);\r\n\r\n setTimeout(function () {\r\n _$form.find('.msg-response').slideUp(350);\r\n }, 3500);\r\n })\r\n .always(function () {\r\n _$form.removeClass('sending');\r\n });\r\n }\r\n },\r\n /*\r\n Função que executa o comportamento de quando o produto é adicionado no carrinho\r\n */\r\n addItemResult: function (_$form, _typeResult, _result, _$boxResponse) {\r\n var _this;\r\n\r\n if (_typeResult == 'produto-adicionado') {\r\n var $btnComprar = _$form.find(store.config.selectorBtnBuy);\r\n\r\n $btnComprar.addClass('success').html(getText(language));\r\n\r\n setTimeout(function () {\r\n // _$form.find('.msg-response').slideUp(350);\r\n $btnComprar.removeClass('success').html($btnComprar.data('text-available'));\r\n }, 3500);\r\n\r\n if ($body.width() > 768) {\r\n if (store.config.addToCartOpenCartpopup) {\r\n template_store.headerCart.loadCart(_result);\r\n template_store.headerCart.show();\r\n } else {\r\n setTimeout(function () {\r\n window.location.href = urlCart;\r\n }, 150);\r\n }\r\n } else {\r\n if (store.config.addToCartOpenCartpopupMobile) {\r\n template_store.headerCart.loadCart(_result);\r\n template_store.headerCart.show();\r\n } else {\r\n setTimeout(function () {\r\n window.location.href = urlCart;\r\n }, 150);\r\n }\r\n }\r\n\r\n } else if (_typeResult == 'erro-adicionar') {\r\n var errorText = JSON.parse(_result.responseText);\r\n\r\n if (typeof (_$boxResponse) != 'undefined' && _$boxResponse.length > 0) {\r\n $('html,body').animate({\r\n scrollTop: _$boxResponse.offset().top\r\n }, '250');\r\n\r\n //console.info(errorText);\r\n\r\n _$boxResponse.addClass('error');\r\n _$boxResponse.removeClass('success');\r\n\r\n _$boxResponse.find('span').html(errorText.error);\r\n _$boxResponse.slideDown(350);\r\n\r\n setTimeout(function () {\r\n _$boxResponse.slideUp(350);\r\n }, 3500);\r\n }\r\n }\r\n },\r\n /*\r\n Abre busca\r\n */\r\n toggleSearch: function () {\r\n $openSearch = $('.open-search');\r\n $closeSearch = $('#close-search');\r\n $searchContainer = $('.search-container');\r\n\r\n\r\n $openSearch.click(function (e) {\r\n e.preventDefault();\r\n\r\n $searchContainer.addClass('active');\r\n })\r\n\r\n $closeSearch.click(function (e) {\r\n e.preventDefault();\r\n\r\n $searchContainer.removeClass('active');\r\n })\r\n\r\n },\r\n headerCart: {\r\n loadCart: function (total) {\r\n store.updateCartCount(total.items_count);\r\n window.componentCartDrawer.open();\r\n },\r\n\r\n show: function () {\r\n window.componentCartDrawer.open();\r\n },\r\n },\r\n home: {\r\n init: function () {\r\n\r\n $('.category-tabs .links a').on('click', function (e) {\r\n e.preventDefault();\r\n $('.category-tabs .links a').removeClass('active');\r\n $(this).addClass('active');\r\n var tag = $(this).attr('href');\r\n $('.category-tabs .item').removeClass('active');\r\n $('[data-link=\"' + tag + '\"]').addClass('active');\r\n })\r\n\r\n /* Sliders */\r\n\r\n var postsSwiper = new Swiper(\".postSwiper\", {\r\n slidesPerView: 1,\r\n spaceBetween: 30,\r\n navigation: {\r\n nextEl: \".next\",\r\n prevEl: \".prev\",\r\n },\r\n breakpoints: {\r\n 640: {\r\n slidesPerView: 2,\r\n spaceBetween: 20,\r\n },\r\n 768: {\r\n slidesPerView: 3,\r\n spaceBetween: 30,\r\n }\r\n },\r\n });\r\n\r\n var fullbannerSwiper = new Swiper(\"#fullbanner-swiper\", {\r\n slidesPerView: 1,\r\n speed: 0,\r\n followFinger: false,\r\n allowTouchMove: false,\r\n watchOverflow: true,\r\n autoplay: {\r\n delay: 4000,\r\n disableOnInteraction: false,\r\n },\r\n pagination: {\r\n el: '.swiper-pagination',\r\n type: 'bullets',\r\n clickable: true,\r\n }\r\n })\r\n\r\n var fullbannerSwiperMobile = new Swiper(\"#fullbanner-swiper-mobile\", {\r\n slidesPerView: 1,\r\n speed: 0,\r\n followFinger: false,\r\n allowTouchMove: false,\r\n watchOverflow: true,\r\n autoplay: {\r\n delay: 4000,\r\n disableOnInteraction: false,\r\n },\r\n pagination: {\r\n el: '.swiper-pagination',\r\n type: 'bullets',\r\n clickable: true,\r\n }\r\n })\r\n\r\n var sliderSectionHome = new Swiper('[data-products-carousel] .swiper', {\r\n loop: false,\r\n slidesPerView: 1.7,\r\n spaceBetween: 15,\r\n watchOverflow: true,\r\n navigation: {\r\n nextEl: \".swiper-button-next\",\r\n prevEl: \".swiper-button-prev\",\r\n },\r\n pagination: {\r\n el: '.swiper-pagination-section',\r\n type: 'bullets',\r\n clickable: true,\r\n renderBullet: function (index, className) {\r\n return '';\r\n }\r\n },\r\n breakpoints: {\r\n 640: {\r\n slidesPerView: 1.7,\r\n spaceBetween: 15,\r\n },\r\n 768: {\r\n slidesPerView: 1.7,\r\n spaceBetween: 30,\r\n },\r\n 1024: {\r\n slidesPerView: 4,\r\n spaceBetween: 40,\r\n },\r\n }\r\n })\r\n\r\n var swiperProduct = new Swiper(\"#banner-product\", {\r\n slidesPerView: 1,\r\n spaceBetween: 30,\r\n loop: true,\r\n navigation: {\r\n nextEl: \"#next-product\",\r\n },\r\n });\r\n\r\n /* Masonry grid */\r\n\r\n // var $grid = $('.grid').masonry({\r\n // // options\r\n // itemSelector: '.grid-item',\r\n // //columnWidth: '.grid-item',\r\n // percentPosition: true\r\n // });\r\n\r\n // $grid.imagesLoaded().progress( function() {\r\n // $grid.masonry('layout');\r\n // });\r\n }\r\n },\r\n product: {\r\n $sectionProduct: $('[data-section-product]'),\r\n $wrapperImages: $('[data-section-product]').find('[data-product-images]'),\r\n $sliderProduct: $('[data-section-product]').find('[data-product-images] [data-main-slider]'),\r\n $thumbsProduct: $('[data-section-product]').find('[data-product-images] [data-slider-thumbs]'),\r\n sliderProduct: [],\r\n /*\r\n Exibe as primeiras imagens do produto\r\n ** Importante para quando houver imagem por sku **\r\n */\r\n showFirstImages: function () {\r\n var _this = this;\r\n var variants = vnda.variants.all();\r\n var $imagesWithoutSkus = _this.$sliderProduct.find('.image-without-sku');\r\n var $thumbsWithoutSkus = _this.$thumbsProduct.find('.image-without-sku');\r\n\r\n if ($imagesWithoutSkus.length > 0) {\r\n\r\n /*\r\n Todas as imagens sem skus são exibidas sempre\r\n */\r\n\r\n $imagesWithoutSkus\r\n .removeClass('inactive')\r\n .addClass('active');\r\n\r\n $thumbsWithoutSkus\r\n .removeClass('inactive')\r\n .addClass('active');\r\n } else {\r\n /*\r\n Percorre todas as variantes\r\n */\r\n for (var i = 0; i < variants.length; i++) {\r\n if (variants[i].main) {\r\n //console.info(variants[i]);\r\n\r\n // Procura a imagem que contém o sku e a exibe\r\n _this.$sliderProduct.find('[data-image][data-skus-image*=\"' + variants[i].sku + '\"]')\r\n .addClass('active')\r\n .removeClass('inactive');\r\n\r\n _this.$thumbsProduct.find('[data-image-thumb][data-skus-image*=\"' + variants[i].sku + '\"]')\r\n .addClass('active')\r\n .removeClass('inactive');\r\n }\r\n }\r\n }\r\n },\r\n setGallery: function () {\r\n var _this = this;\r\n\r\n var gallery = new Swiper(_this.$sliderProduct, {\r\n slidesPerView: 1,\r\n spaceBetween: 0,\r\n watchOverflow: true,\r\n simulateTouch: false,\r\n autoHeight: true,\r\n navigation: {\r\n nextEl: _this.$sliderProduct.parent().find('.button-next'),\r\n prevEl: _this.$sliderProduct.parent().find('.button-prev'),\r\n },\r\n });\r\n\r\n var galleryThumbs = new Swiper(_this.$thumbsProduct, {\r\n spaceBetween: 11,\r\n slidesPerView: 5,\r\n freeMode: true,\r\n watchSlidesVisibility: true,\r\n watchSlidesProgress: true,\r\n simulateTouch: true,\r\n watchOverflow: true,\r\n direction: 'vertical',\r\n navigation: {\r\n nextEl: _this.$thumbsProduct.parent().find('.button-next'),\r\n prevEl: _this.$thumbsProduct.parent().find('.button-prev'),\r\n },\r\n })\r\n\r\n this.sliderProduct.push(gallery);\r\n this.sliderProduct.push(galleryThumbs);\r\n\r\n $('[data-image-thumb]').on('click', function () {\r\n //console.log('oie');\r\n //console.log($(this).data('index'));\r\n gallery.slideTo($(this).data('index'));\r\n });\r\n },\r\n submitNotify: function () {\r\n $(document).on('submit', '[data-form-notify]', function (event) {\r\n event.preventDefault();\r\n template_store.submitFormNotify($(this));\r\n });\r\n },\r\n detailsPopup: function () {\r\n const togglers = document.querySelectorAll(\"[data-toggle-details]\");\r\n const fullDesc = document.querySelector(\"[data-details]\");\r\n if (togglers.length > 0 && fullDesc != null) {\r\n togglers.forEach((toggle) => {\r\n toggle.addEventListener(\"click\", () => {\r\n fullDesc.classList.toggle(\"-visible\");\r\n if ($body.width() < 768)\r\n document.querySelector(\"body\").classList.toggle(\"-no-scroll\");\r\n });\r\n });\r\n }\r\n },\r\n init: function () {\r\n var _this = this;\r\n\r\n _this.showFirstImages();\r\n _this.setGallery();\r\n _this.submitNotify();\r\n _this.detailsPopup();\r\n\r\n var galleryRelated = new Swiper('.produtos-relacionados .swiper-container', {\r\n slidesPerView: 2,\r\n spaceBetween: 20,\r\n watchOverflow: true,\r\n navigation: {\r\n nextEl: $('.produtos-relacionados').find('.swiper-button-next'),\r\n prevEl: $('.produtos-relacionados').find('.swiper-button-prev'),\r\n },\r\n breakpoints: {\r\n 400: {\r\n slidesPerView: 2\r\n },\r\n 640: {\r\n slidesPerView: 2\r\n },\r\n 768: {\r\n slidesPerView: 3\r\n },\r\n 1024: {\r\n slidesPerView: 4\r\n },\r\n }\r\n })\r\n\r\n\r\n $('.tabs .titulo').on('click', function () {\r\n var id = $(this).data('content');\r\n\r\n $('.tabs .titulo').removeClass('active');\r\n $(this).addClass('active');\r\n\r\n $('.contents .content').removeClass('active');\r\n $(id).addClass('active')\r\n })\r\n\r\n $('.infos-compra .minus').on('click', function (e) {\r\n e.preventDefault();\r\n if ($('.infos-compra [name=\"quantity\"]').val() > 1) {\r\n $('.infos-compra [name=\"quantity\"]').val(parseInt($('.infos-compra [name=\"quantity\"]').val(), 10) - 1)\r\n }\r\n });\r\n\r\n $('.infos-compra .plus').on('click', function (e) {\r\n e.preventDefault();\r\n $('.infos-compra [name=\"quantity\"]').val(parseInt($('.infos-compra [name=\"quantity\"]').val(), 10) + 1)\r\n });\r\n }\r\n },\r\n tag: {\r\n openFilters: function () {\r\n const openFilter = document.querySelectorAll(\".open-filter\");\r\n const filtersList = document.querySelectorAll(\".filtros-list\");\r\n \r\n if (openFilter.length !== filtersList.length) {\r\n console.error(\"O número de botões de filtro e listas de filtros não corresponde.\");\r\n return;\r\n }\r\n \r\n openFilter.forEach((el, i) => {\r\n el.addEventListener(\"click\", () => {\r\n filtersList.forEach((list, j) => {\r\n if (i !== j) {\r\n list.classList.remove(\"-open\");\r\n }\r\n });\r\n \r\n // Alterna a abertura do filtro selecionado\r\n filtersList[i].classList.toggle(\"-open\");\r\n \r\n // // Seleciona todas as
  • dentro da lista atual\r\n // const listItems = filtersList[i].querySelectorAll(\"li\");\r\n \r\n // // Converte NodeList em array para poder usar sort()\r\n // const sortedItems = Array.from(listItems).sort((a, b) => {\r\n // const inputA = a.querySelector(\"input\").value.toLowerCase();\r\n // const inputB = b.querySelector(\"input\").value.toLowerCase();\r\n // return inputA.localeCompare(inputB, 'pt', { numeric: true });\r\n // });\r\n \r\n // // Remove as
  • atuais e reinsere ordenadas\r\n // sortedItems.forEach(item => filtersList[i].appendChild(item));\r\n });\r\n });\r\n },\r\n\r\n init: function () {\r\n var _this = this;\r\n\r\n _this.openFilters();\r\n\r\n }\r\n },\r\n login: {\r\n init: function () {\r\n $('[data-content-login]').each(function (index, el) {\r\n // Animação\r\n $(el).on('click', '[data-forget-password]', function (event) {\r\n event.preventDefault();\r\n $(el).find('.wrapper-form-login').animate({ height: 'toggle' }, 500);\r\n $(el).find('.wrapper-form-recover').animate({ height: 'toggle' }, 500);\r\n });\r\n\r\n $(el).on('click', '[data-forget-password-back]', function (event) {\r\n event.preventDefault();\r\n $(el).find('.wrapper-form-login').animate({ height: 'toggle' }, 500);\r\n $(el).find('.wrapper-form-recover').animate({ height: 'toggle' }, 500);\r\n });\r\n\r\n $(el).on('submit', '[data-form-login]', function (event) {\r\n event.preventDefault();\r\n\r\n var $form = $(this);\r\n var respValidated = store.login.validateLogin($form);\r\n\r\n if (respValidated.validated) {\r\n store.login.logar($form);\r\n } else {\r\n store.setMsgResponse(respValidated.errors, 'error', $(this));\r\n }\r\n });\r\n\r\n $(el).on('submit', '[data-form-register]', function (event) {\r\n event.preventDefault();\r\n\r\n var $form = $(this);\r\n var respValidated = store.login.validateRegister($form);\r\n\r\n if (respValidated.validated) {\r\n store.login.logar($form);\r\n } else {\r\n store.setMsgResponse(respValidated.errors, 'error', $(this));\r\n }\r\n });\r\n\r\n $(el).on('submit', '[data-form-recover]', function (event) {\r\n event.preventDefault();\r\n\r\n var $form = $(this);\r\n var respValidated = store.login.validateRecover($form);\r\n\r\n if (respValidated.validated) {\r\n store.login.recoverPassord($form);\r\n } else {\r\n store.setMsgResponse(respValidated.errors, 'error', $(this));\r\n }\r\n });\r\n });\r\n }\r\n },\r\n popup: {\r\n closePopup: function (_popup) {\r\n $('[data-popup=\"' + _popup + '\"]').removeClass('active');\r\n },\r\n togglePopup: function (_popup) {\r\n $('.active[data-popup]').removeClass('active');\r\n\r\n if (_popup != '') {\r\n if ($('.active[data-popup]').length > 0) {\r\n setTimeout(function () {\r\n $('[data-popup=\"' + _popup + '\"]').addClass('active');\r\n }, 350);\r\n } else {\r\n $('[data-popup=\"' + _popup + '\"]').addClass('active');\r\n }\r\n }\r\n },\r\n init: function () {\r\n var _this = this;\r\n $(document).on('click', '[data-action=\"open-popup\"]', function (event) {\r\n event.preventDefault();\r\n //console.info('event open-opopup');\r\n var popup = $(this).data('popup');\r\n _this.togglePopup(popup);\r\n });\r\n\r\n\r\n $(document).on('click', '[data-action=\"close-popup\"]', function (event) {\r\n event.preventDefault();\r\n //console.info('event close-opopup');\r\n var popup = $(this).data('popup');\r\n _this.closePopup(popup);\r\n });\r\n }\r\n },\r\n page: {\r\n init: function () {\r\n $(document).ready(function () {\r\n if (location.hash != null && location.hash != \"\") {\r\n var $id = location.hash;\r\n\r\n $('[data-tab]').removeClass('active');\r\n $('[href=\"' + $id + '\"]').addClass('active');\r\n\r\n $('.conteudo').removeClass('active');\r\n $($id).addClass('active');\r\n }\r\n\r\n $(\"[data-tab]\").on(\"click\", function (event) {\r\n event.preventDefault();\r\n\r\n var $id = $(this).attr('href');\r\n\r\n $('[data-tab]').removeClass('active');\r\n $(this).addClass('active');\r\n\r\n $('.conteudo').removeClass('active');\r\n $($id).addClass('active');\r\n })\r\n });\r\n }\r\n },\r\n\r\n init: function () {\r\n var _this = this;\r\n\r\n _this.setMenuMobile();\r\n _this.setAgePopup();\r\n _this.setPopupNewsletter();\r\n store.getCartCount();\r\n store.getPriceProd();\r\n _this.popup.init();\r\n\r\n // ENVIO DE FORMULÁRIOS\r\n $('[data-webform]').on('submit', function (event) {\r\n event.preventDefault();\r\n var $form = $(this);\r\n\r\n var honeyPot = $(this).find('[name=\"vnda\"]');\r\n\r\n if (honeyPot.length > 0) {\r\n if (honeyPot.val() != '') {\r\n //console.info('ROBOT DETECTED');\r\n return false;\r\n }\r\n }\r\n\r\n store.submitForm($(this));\r\n });\r\n\r\n $(document).on('submit', store.config.selectorFormProduct, function (event) {\r\n event.preventDefault();\r\n\r\n var $form = $(this);\r\n var $parent = $form.closest(store.config.selectorWrapperProduct);\r\n\r\n var $btnComprar = $parent.find(store.config.selectorBtnBuy);\r\n\r\n var respValidated = store.validateFormProduct($form);\r\n var $boxResponse = $parent.find('.resp-validate');\r\n\r\n if (respValidated.validated) {\r\n store.addItem($form, $parent);\r\n } else {\r\n store.setRespValidateProduct(respValidated, $form, $boxResponse);\r\n }\r\n });\r\n\r\n this.toggleSearch();\r\n }\r\n}\r\n$(function () {\r\n template_store.init();\r\n AOS.init();\r\n\r\n if (page == 'home') {\r\n template_store.home.init();\r\n }\r\n\r\n if (page == 'product') {\r\n template_store.product.init();\r\n }\r\n\r\n if (page == 'tag') {\r\n template_store.tag.init();\r\n }\r\n\r\n if (page == 'login') {\r\n template_store.login.init();\r\n }\r\n\r\n if (page == 'page') {\r\n template_store.page.init();\r\n }\r\n});\r\n\r\n\r\nconsole.log('%cVnda - Tecnologia em Ecommerce', 'color: #f88d5b; font-size: 15px; font-family: \"Verdana\", sans-serif; font-weight: bold;');\r\n"],"names":["$","window","$body","language","attr","texts","getText","key","subKey","page","data","quantity","price","cart_empty","go_product","btn_edit_cart","btn_checkout","btn_success","errorsTxt","withoutSku","store","config","selectorBtnBuy","selectorWrapperProduct","selectorFormProduct","hasInternacionalVersion","addToCartOpenCartpopup","addToCartOpenCartpopupMobile","cartCount","selector","text","priceProds","formatMoney","value","toFixed","replace","validateQuantity","_val","isNaN","parseInt","getClearNumber","clearNumber","validateFormProduct","_$form","closest","validated","find","push","val","errors","setRespValidateProduct","_resp","_$boxResponse","$boxResult","htmlErrors","empty","i","length","html","addItemResultDefault","_typeResult","_result","$btnComprar","this","addClass","setTimeout","removeClass","location","href","urlCart","errorText","JSON","parse","responseText","error","slideDown","slideUp","addItemResultDefaultAssinatura","selectorBtnBuyAssinatura","urlAssinaturaCart","addItem","_$parent","addItemResult","form","serialize","$boxResponse","hasClass","ajax","url","type","dataType","beforeSend","done","resp","template_store","fail","always","addItemAssinatura","urlAssinaturaCartAdd","selectorFormProductAssinatura","subscription_item","sku","extra","vindi_plan_id","contentType","stringify","xhrFields","withCredentials","xhr","status","deleteItem","_itemId","_$item","removeItemResult","_cart","width","headerCart","loadCart","hide","setMsgResponse","_msg","_type","Array","isArray","msgArr","updateCartCount","_itemsCount","textLabel","parent","getCartCount","async","itens","console","getCartItens","then","total","Number","isInteger","$boxCart","submitForm","reset","getPriceProd","each","index","$this","prodId","login","validateLogin","validateRegister","validateRecover","logar","client","redirect_to","recoverPassord","ok","setMenuMobile","mmenu","slidingSubmenus","extensions","navbar","add","offCanvas","pageSelector","on","event","preventDefault","close","open","setAgePopup","agePopup","confirmButton","cancelButton","bodyTag","date","Date","now","localStorage","getItem","setItem","history","back","setPopupNewsletter","newsletterPopup","submitFormNotify","formData","reply_to","email","product_name","referencia","show","animate","scrollTop","offset","top","toggleSearch","$openSearch","$closeSearch","$searchContainer","click","e","items_count","componentCartDrawer","home","init","tag","Swiper","slidesPerView","spaceBetween","navigation","nextEl","prevEl","breakpoints","speed","followFinger","allowTouchMove","watchOverflow","autoplay","delay","disableOnInteraction","pagination","el","clickable","loop","renderBullet","className","product","$sectionProduct","$wrapperImages","$sliderProduct","$thumbsProduct","sliderProduct","showFirstImages","variants","vnda","all","$imagesWithoutSkus","$thumbsWithoutSkus","main","setGallery","gallery","simulateTouch","autoHeight","galleryThumbs","freeMode","watchSlidesVisibility","watchSlidesProgress","direction","slideTo","submitNotify","document","detailsPopup","togglers","querySelectorAll","fullDesc","querySelector","forEach","toggle","addEventListener","classList","id","openFilters","openFilter","filtersList","list","j","remove","height","$form","respValidated","popup","closePopup","_popup","togglePopup","_this","ready","hash","$id","honeyPot","$parent","AOS","log"],"sourceRoot":""}