{"version":3,"file":"variants.js","mappings":"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","sources":["webpack://build/../animavinum/assets/javascripts/variants.js"],"sourcesContent":["var $attributes = $('[data-product-attributes]');\r\n\r\nvar variants = {\r\n $wrapperProduct: $(store.config.selectorWrapperProduct),\r\n config: {\r\n // pega o elemento que corresponde ao primeiro atributo\r\n $attr1: '',\r\n attr1Name: '',\r\n // pega o elemento que corresponde ao segundo atributo\r\n $attr2: '',\r\n attr2Name: '',\r\n // pega o elemento que corresponde ao terceiro atributo\r\n $attr3: '',\r\n attr3Name: '',\r\n // quantos atributos o produto tem para seleção\r\n qtdAttributes: 0,\r\n hasAttribute1: false,\r\n hasAttribute2: false,\r\n hasAttribute3: false,\r\n },\r\n setConfigDefault: function () {\r\n var _this = this;\r\n\r\n var $attr1 = $attributes.find('[data-attribute=\"1\"]:not(.hidden)');\r\n var $attr2 = $attributes.find('[data-attribute=\"2\"]:not(.hidden)');\r\n var $attr3 = $attributes.find('[data-attribute=\"3\"]:not(.hidden)');\r\n\r\n var itensAttr1 = '';\r\n var itensAttr2 = '';\r\n var itensAttr3 = '';\r\n\r\n if ($attr1.length > 0) {\r\n itensAttr1 = $attr1.data('items');\r\n itensAttr1 = itensAttr1.split(' // ');\r\n }\r\n\r\n if ($attr2.length > 0) {\r\n itensAttr2 = $attr2.data('items');\r\n itensAttr2 = itensAttr2.split(' // ');\r\n }\r\n\r\n if ($attr3.length > 0) {\r\n itensAttr3 = $attr3.data('items');\r\n itensAttr3 = itensAttr3.split(' // ');\r\n }\r\n\r\n $.extend(true, _this.config, {\r\n // pega o elemento que corresponde ao primeiro atributo\r\n $attr1: $attr1,\r\n attr1Name: $attr1.data('attribute-name'),\r\n itemsAttr1: itensAttr1,\r\n // pega o elemento que corresponde ao segundo atributo\r\n $attr2: $attr2,\r\n attr2Name: $attr2.data('attribute-name'),\r\n itemsAttr2: itensAttr2,\r\n // pega o elemento que corresponde ao terceiro atributo\r\n $attr3: $attr3,\r\n attr3Name: $attr3.data('attribute-name'),\r\n itemsAttr3: itensAttr3,\r\n });\r\n },\r\n setQtdAttributes: function () {\r\n // Seta quantos atributos o produto possuí para seleção\r\n\r\n var qtdAttributes = 0;\r\n\r\n var $input = $attributes.find('[data-quantidade-atributos]');\r\n\r\n var $attr1 = this.config.$attr1;\r\n var $attr2 = this.config.$attr2;\r\n var $attr3 = this.config.$attr3;\r\n\r\n // considerando que o tamanho é o primeiro atributo\r\n if ($attr1.length > 0) {\r\n qtdAttributes++;\r\n this.config.hasAttribute1 = true;\r\n }\r\n\r\n // considerando que a cor é o segundo atributo\r\n if ($attr2.length > 0) {\r\n qtdAttributes++;\r\n this.config.hasAttribute2 = true;\r\n }\r\n\r\n // considerando que o custom é o terceiro atributo\r\n if ($attr3.length > 0) {\r\n qtdAttributes++;\r\n this.config.hasAttribute3 = true;\r\n }\r\n\r\n this.config.qtdAttributes = qtdAttributes;\r\n },\r\n setDisponibility: function () {\r\n var _this = this;\r\n //console.info('setDisponibility');\r\n // console.info(_this.config);\r\n\r\n if (_this.config.qtdAttributes > 1) {\r\n // Para quando há o atributo 1 e o atributo 2\r\n if (_this.config.hasAttribute1 && _this.config.hasAttribute2) {\r\n // Itera todas as cores para verificar a disponibilidade\r\n for (var i = 0; i < _this.config.itemsAttr1.length; i++) {\r\n var cor = _this.config.itemsAttr1[i];\r\n var $cor = _this.config.$attr1.find('[data-attribute-value=\"' + cor + '\"]');\r\n var objFind = {}\r\n var corAvailable = false;\r\n objFind[_this.config.attr1Name] = cor;\r\n\r\n // Busca todas as variações que contém a cor\r\n var results = vnda.variants.find(objFind);\r\n\r\n // Percorre todas as variantes com a cor \r\n for (var ii = 0; ii < results.length; ii++) {\r\n // Verifica se alguma variação tem a cor\r\n if (results[ii].available) {\r\n corAvailable = true;\r\n }\r\n }\r\n\r\n $cor.data('available', corAvailable);\r\n $cor.attr('data-available', corAvailable);\r\n\r\n if (corAvailable) {\r\n $cor.removeClass('unavailable');\r\n $cor.addClass('available');\r\n } else {\r\n $cor.removeClass('available');\r\n $cor.addClass('unavailable');\r\n }\r\n }\r\n }\r\n }\r\n },\r\n toggleOptionsStyle: function (_$option) {\r\n /*\r\n Define se o estilo do atributo passado por parametro é input ou dropdown\r\n */\r\n var selecao = _$option.data('selecao');\r\n var styleType = _$option.data('selecao-style');\r\n var $optionList = _$option.find('[data-attribute-value]');\r\n var show = true;\r\n var showStatusList = [];\r\n\r\n // console.info('atributo', selecao, styleType);\r\n\r\n $optionList.each(function (index, el) {\r\n\r\n var value = $(el).data('attribute-value');\r\n\r\n // console.info(value, value.length);\r\n if (selecao != 'cor') {\r\n if (value.length > 4) {\r\n showStatusList[index] = true;\r\n } else {\r\n showStatusList[index] = false;\r\n }\r\n } else {\r\n if (value.indexOf('#') < 0) {\r\n showStatusList[index] = true;\r\n } else {\r\n showStatusList[index] = false;\r\n }\r\n }\r\n });\r\n\r\n if (showStatusList.indexOf(true) >= 0) {\r\n if (styleType == 'input') {\r\n show = false;\r\n } else if (styleType == 'dropdown') {\r\n show = true;\r\n }\r\n } else {\r\n if (styleType == 'input') {\r\n show = true;\r\n } else if (styleType == 'dropdown') {\r\n show = false;\r\n }\r\n }\r\n\r\n if (!show) {\r\n _$option.addClass('hidden');\r\n }\r\n },\r\n setAttributeValue: function (_value, _$attribute) {\r\n\r\n // console.info('setAttributeValue', _value, _$attribute);\r\n\r\n var attrName = _$attribute.data('attribute-name');\r\n var $input = _$attribute.find('input[data-attribute-name=\"' + attrName + '\"]');\r\n\r\n $input.val(_value);\r\n },\r\n setAttributeValueSelected: function (_value, _$attribute) {\r\n\r\n // console.info('setAttributeValueSelected', _value, _$attribute);\r\n\r\n var $selected = _$attribute.find('[data-selected]');\r\n $selected.html(_value);\r\n },\r\n markFirstOption: function () {\r\n\r\n var _this = this;\r\n\r\n var $attr1 = this.config.$attr1;\r\n var $attr2 = this.config.$attr2;\r\n var $attr3 = this.config.$attr3;\r\n\r\n //console.log($attr1.find('[data-attribute-value][data-available=true]').first());\r\n //console.log($attr2.find('[data-attribute-value][data-available=true]').first());\r\n //console.log($attr3.find('[data-attribute-value][data-available=true]').first());\r\n\r\n // atributo com dropdown\r\n if ($attr1.find('[data-attribute-value][data-available=true]').first().length > 0) {\r\n $attr1.find('[data-attribute-value][data-available=true]').first().trigger('click');\r\n } else {\r\n $attr1.find('[data-attribute-value]').first().trigger('click');\r\n }\r\n\r\n if ($attr2.find('[data-attribute-value][data-available=true]').first().length > 0) {\r\n $attr2.find('[data-attribute-value][data-available=true]').first().trigger('click');\r\n } else {\r\n $attr2.find('[data-attribute-value]').first().trigger('click');\r\n }\r\n\r\n /*if ($attr3.find('[data-attribute-value][data-available=true]').first().length > 0) {\r\n $attr3.find('[data-attribute-value][data-available=true]').first().trigger('click');\r\n } else {\r\n $attr3.find('[data-attribute-value]').first().trigger('click');\r\n } */\r\n\r\n },\r\n checkFirstAttribute: function () {\r\n var attributes = variants.config.itemsAttr1;\r\n for (var i = 0; i < attributes.length; i++) {\r\n var attribute = attributes[i];\r\n var attrSize = $('[data-attribute-value=\"' + attribute + '\"]');\r\n var obj = {};\r\n\r\n obj[variants.config.attr1Name] = String(attribute);\r\n var results = vnda.variants.find(obj);\r\n var available = results.some(el => el.available);\r\n\r\n //console.log('resultssssss', results)\r\n //console.log('availableeee', available)\r\n\r\n if (available) {\r\n attrSize.data('available', true);\r\n attrSize.attr('data-available', true);\r\n\r\n attrSize.removeClass('unavailable');\r\n attrSize.addClass('available')\r\n } else {\r\n attrSize.data('available', false);\r\n attrSize.attr('data-available', false);\r\n\r\n attrSize.removeClass('available')\r\n attrSize.addClass('unavailable');\r\n }\r\n }\r\n },\r\n getSkuAttributes: function () {\r\n var _this = this;\r\n var objFindVariant = {};\r\n var objVariant;\r\n\r\n if (_this.config.hasAttribute1) {\r\n var nameAttr1 = _this.config.attr1Name;\r\n var valueAttr1 = _this.config.$attr1.find('input[data-attribute-name=\"' + nameAttr1 + '\"]').val();\r\n objFindVariant[nameAttr1] = valueAttr1;\r\n }\r\n\r\n if (_this.config.hasAttribute2) {\r\n var nameAttr2 = _this.config.attr2Name;\r\n var valueAttr2 = _this.config.$attr2.find('input[data-attribute-name=\"' + nameAttr2 + '\"]').val();\r\n objFindVariant[nameAttr2] = valueAttr2;\r\n }\r\n\r\n if (_this.config.hasAttribute3) {\r\n var nameAttr3 = _this.config.attr3Name;\r\n var valueAttr3 = _this.config.$attr3.find('input[data-attribute-name=\"' + nameAttr3 + '\"]').val();\r\n objFindVariant[nameAttr3] = valueAttr3;\r\n }\r\n\r\n objVariant = vnda.variants.find(objFindVariant);\r\n\r\n //console.info('objFindVariant', objFindVariant);\r\n //console.info('objVariant', objVariant);\r\n\r\n return objVariant;\r\n\r\n },\r\n updatePrice: function (sku) {\r\n // if (sale_price != price) {\r\n // var htmlPrice = '' + store.formatMoney(price) + ' ' +\r\n // '' + store.formatMoney(sale_price) + '';\r\n // } else {\r\n // var htmlPrice = store.formatMoney(price);\r\n // }\r\n // $('[data-section-product] [data-update-price]').html(htmlPrice);\r\n // $('[data-section-product] [data-update-installments]').html(`ou em ${installments.length}x de ${store.formatMoney(installments[installments.length -1].price)}`);\r\n\r\n // console.log('AQUI O QUE EU TO ENVIANDO', ' id: ', $('[data-id-product]').data('id-product'), ' sku: ', sku)\r\n\r\n // window.componentPrice.changePrice(sku)\r\n\r\n componentPrice[$('[data-id-product]').data('id-product')].changePrice(sku);\r\n },\r\n // COMPORTAMENTO DE QUANDO O USUÁRIO SELECIONA UM ATRIBUTO\r\n setResultVariants: function () {\r\n var _this = this;\r\n // busca a variante\r\n var objVariant = _this.getSkuAttributes();\r\n\r\n // console.info('objVariant', objVariant);\r\n\r\n if (objVariant.length > 0) {\r\n\r\n // seta o sku da variante que o usuário selecionou\r\n _this.$wrapperProduct.find('input[name=\"sku\"]').val(objVariant[0].sku);\r\n\r\n // atualiza o preço do produto conforme a variante selecionada\r\n _this.updatePrice(objVariant[0].sku);\r\n\r\n if ($('[data-form-notify]').length > 0) {\r\n $('[data-form-notify] input[name=\"sku\"]').val(objVariant[0].sku);\r\n }\r\n\r\n // verifica se a variante selecionada está disponível ou não\r\n if (!objVariant[0].available) {\r\n _this.setProdutoIndisponivel(objVariant[0]);\r\n } else {\r\n _this.setProdutoDisponivel(objVariant[0]);\r\n }\r\n } else {\r\n _this.setProdutoIndisponivel(objVariant[0]);\r\n }\r\n\r\n if (objVariant.length > 0) {\r\n $attributes.find('[data-variant-selected]').html(objVariant[0].name);\r\n\r\n // PARA AS IMAGENS\r\n _this.setImagesProduct(objVariant[0].sku);\r\n }\r\n },\r\n setProdutoIndisponivel: function (_variant) {\r\n var _this = this;\r\n var $btnComprar = _this.$wrapperProduct.find(store.config.selectorBtnBuy);\r\n var textUnavailable = $btnComprar.data('text-unavailable');\r\n\r\n $btnComprar.data('available', 'false');\r\n $btnComprar.removeClass('available');\r\n $btnComprar.addClass('unavailable');\r\n $btnComprar.html(textUnavailable);\r\n\r\n\r\n // AVISE-ME QUANDO CHEGAR AQUI\r\n if (_variant) {\r\n _this.setFormNotify(_variant);\r\n }\r\n },\r\n setFormNotify: function (_variant) {\r\n var height = $(\"[data-form-notify]\").find('.form-wrapper').outerHeight(true);\r\n\r\n $(\"[data-form-notify]\")\r\n .addClass(\"active\")\r\n .css('height', height);\r\n\r\n setTimeout(function () {\r\n $(document.body).trigger(\"sticky_kit:recalc\");\r\n }, 500);\r\n\r\n if ($('[data-form-notify]').length > 0) {\r\n $('[data-form-notify] input[name=\"sku\"]').val(_variant.sku);\r\n }\r\n },\r\n checkCombinations: function (_value, _attributeName) {\r\n var _this = this;\r\n var obj = {};\r\n obj[_attributeName] = String(_value);\r\n var results = vnda.variants.find(obj);\r\n\r\n //console.info('checkCombinations', _attributeName, _value);\r\n //console.info('results combinations', results);\r\n\r\n // Verifica a disponibilidade dos tamanhos quando uma cor é selecionada\r\n if (_this.config.attr1Name == _attributeName) {\r\n var tamanhos = _this.config.itemsAttr2;\r\n var objFind = {};\r\n objFind[_attributeName] = String(_value);\r\n\r\n for (var i = 0; i < tamanhos.length; i++) {\r\n\r\n objFind[_this.config.attr2Name] = String(tamanhos[i]);\r\n var corTamanhoResults = vnda.variants.find(objFind);\r\n\r\n var tamanho = tamanhos[i];\r\n var $tamanho = $('[data-attribute-value=\"' + tamanho + '\"]');\r\n\r\n //console.info('corTamanhoResults', corTamanhoResults);\r\n\r\n if (corTamanhoResults.length > 0) {\r\n var available = corTamanhoResults.filter(el => el.available);\r\n\r\n $tamanho.removeClass('disable');\r\n\r\n if (available) {\r\n $tamanho.data('available', true);\r\n $tamanho.attr('data-available', true);\r\n\r\n $tamanho.removeClass('unavailable');\r\n $tamanho.addClass('available')\r\n } else {\r\n $tamanho.data('available', false);\r\n $tamanho.attr('data-available', false);\r\n\r\n $tamanho.removeClass('available')\r\n $tamanho.addClass('unavailable');\r\n }\r\n } else {\r\n $tamanho.addClass('disable');\r\n }\r\n }\r\n }\r\n\r\n // verifica a disponibilidade do terceiro atributo quando o segundo é selecionado\r\n else if (_this.config.attr2Name == _attributeName) {\r\n var itemsAttr3 = _this.config.itemsAttr3;\r\n var objFind = {};\r\n objFind[_this.config.attr1Name] = String($(`[name=\"attribute-${ _this.config.attr1Name }\"]:checked`).val());\r\n objFind[_this.config.attr2Name] = String(_value);\r\n\r\n // console.log('objFind', objFind)\r\n\r\n for (var i = 0; i < itemsAttr3.length; i++) {\r\n\r\n objFind[_this.config.attr3Name] = String(itemsAttr3[i]);\r\n var AllAttrResults = vnda.variants.find(objFind);\r\n\r\n var selected = itemsAttr3[i];\r\n var $attr3El = $('[data-attribute-value=\"' + selected + '\"]');\r\n\r\n // console.info('AllAttrResults', AllAttrResults);\r\n\r\n if (AllAttrResults.length > 0) {\r\n var variantResult = AllAttrResults[0];\r\n\r\n $attr3El.removeClass('disable');\r\n\r\n if (variantResult.available) {\r\n $attr3El.data('available', true);\r\n $attr3El.attr('data-available', true);\r\n\r\n $attr3El.removeClass('unavailable');\r\n $attr3El.addClass('available')\r\n } else {\r\n $attr3El.data('available', false);\r\n $attr3El.attr('data-available', false);\r\n\r\n $attr3El.removeClass('available')\r\n $attr3El.addClass('unavailable');\r\n }\r\n } else {\r\n $attr3El.addClass('disable');\r\n }\r\n }\r\n }\r\n },\r\n setProdutoDisponivel: function () {\r\n var _this = this;\r\n var $btnComprar = _this.$wrapperProduct.find(store.config.selectorBtnBuy);\r\n var textAvailable = $btnComprar.data('text-available');\r\n\r\n $btnComprar.data('available', 'true');\r\n $btnComprar.removeClass('unavailable');\r\n $btnComprar.addClass('available');\r\n $btnComprar.html(textAvailable);\r\n\r\n $(\"[data-form-notify]\")\r\n .removeClass(\"active\")\r\n .css('height', 0);\r\n },\r\n /* \r\n Exibe as imagens que contém o sku passado por parâmetro\r\n */\r\n setImagesProduct: function (_sku) {\r\n var $images = template_store.product.$wrapperImages;\r\n var $mainImages = template_store.product.$sliderProduct;\r\n var $thumbsImages = template_store.product.$thumbsProduct;\r\n var slideProduct = template_store.product.sliderProduct[0];\r\n var slideProductThumb = template_store.product.sliderProduct[1];\r\n var qtdImagesSku = $mainImages.find('[data-skus-image*=\"' + _sku + ',\"]').length;\r\n var $imagesWithoutSkus = $mainImages.find('.image-without-sku');\r\n var $thumbsWithoutSkus = $thumbsImages.find('.image-without-sku');\r\n\r\n //console.info($mainImages.find('[data-skus-image*=\"' + _sku + ',\"]'));\r\n //console.info('[data-skus-image*=\"' + _sku + '\"]');\r\n\r\n if (qtdImagesSku > 0) {\r\n // Esconde as imagens que não contém o sku\r\n $mainImages.find('[data-image][data-skus-image]')\r\n .removeClass('active')\r\n .addClass('inactive');\r\n\r\n $thumbsImages.find('[data-image-thumb][data-skus-image]')\r\n .removeClass('active')\r\n .addClass('inactive');\r\n\r\n // Mostra as imagens que contém o sku\r\n $mainImages.find('[data-image][data-skus-image*=\"' + _sku + ',\"]')\r\n .addClass('active')\r\n .removeClass('inactive');\r\n\r\n $thumbsImages.find('[data-image-thumb][data-skus-image*=\"' + _sku + ',\"]')\r\n .addClass('active')\r\n .removeClass('inactive');\r\n\r\n // As imagens sem skus selecionados são exibidas sempre\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\r\n // $(document.body).trigger(\"sticky_kit:recalc\");\r\n //console.log(slideProduct)\r\n slideProductThumb.update();\r\n $('.image-thumb.active').first().trigger('click')\r\n\r\n } else {\r\n\r\n $mainImages.find('[data-image][data-skus-image]')\r\n .removeClass('active')\r\n .addClass('inactive');\r\n\r\n $thumbsImages.find('[data-image-thumb][data-skus-image]')\r\n .removeClass('active')\r\n .addClass('inactive');\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 }\r\n },\r\n execActionAttr: function (_attrName, _valueSelected) {\r\n var _this = this;\r\n\r\n if (_this.config.attr1Name == _attrName) {\r\n if (typeof attr1Action == 'function') {\r\n attr1Action(_valueSelected);\r\n }\r\n } else if (_this.config.attr2Name == _attrName) {\r\n if (typeof attr2Action == 'function') {\r\n attr2Action(_valueSelected);\r\n }\r\n } else if (_this.config.attr3Name == _attrName) {\r\n if (typeof attr3Action == 'function') {\r\n attr3Action(_valueSelected);\r\n }\r\n }\r\n },\r\n init: function () {\r\n var _this = this;\r\n\r\n // DEFINE SE O QUE VAI APARECER É A OPÇÃO EM INPUT RADIO OU O DROPDOWN\r\n $attributes.find('[data-prod-option]').each(function (index, el) {\r\n // _this.toggleOptionsStyle($(el));\r\n });\r\n\r\n $attributes.on('click', '[data-prod-option]:not(.hidden) [data-attribute-value]', function (event) {\r\n if ($(this).is('a')) {\r\n event.preventDefault();\r\n }\r\n\r\n var $wrapperAttribute = $(this).closest('[data-prod-option]');\r\n\r\n var selecao = $wrapperAttribute.data('selecao');\r\n var selecaoStyle = $wrapperAttribute.data('selecao-style');\r\n var attrName = $wrapperAttribute.data('attribute-name');\r\n var value = $(this).data('attribute-value');\r\n\r\n // console.info('selecao value', selecao, attrName, value);\r\n\r\n _this.setAttributeValue(value, $wrapperAttribute);\r\n _this.setAttributeValueSelected(value, $wrapperAttribute);\r\n\r\n _this.checkCombinations(value, attrName);\r\n _this.execActionAttr(attrName, value);\r\n\r\n _this.setResultVariants();\r\n });\r\n\r\n if (_this.qtdAttributes == 0) {\r\n var variant = vnda.variants.all()[0];\r\n\r\n if (!variant.available) {\r\n _this.setProdutoIndisponivel(variant);\r\n } else {\r\n _this.setProdutoDisponivel(variant);\r\n }\r\n }\r\n\r\n _this.setConfigDefault();\r\n _this.setQtdAttributes();\r\n _this.setDisponibility();\r\n _this.checkFirstAttribute();\r\n _this.markFirstOption();\r\n }\r\n}\r\n\r\n\r\nfunction attr1Action(_valueSelected) {\r\n var $attr1 = variants.config.$attr1;\r\n var $attr2 = variants.config.$attr2;\r\n var $attr3 = variants.config.$attr3;\r\n\r\n //console.log($attr1.find('[data-attribute-value][data-available=true]').first());\r\n //console.log($attr2.find('[data-attribute-value][data-available=true]').first());\r\n //console.log($attr3.find('[data-attribute-value][data-available=true]').first());\r\n\r\n if ($attr2.find('[data-attribute-value][data-available=true]:not(.disable)').first().length > 0) {\r\n //console.log('THIS', $attr2.find('[data-attribute-value][data-available=true]:not(.disable)').first())\r\n $attr2.find('[data-attribute-value][data-available=true]:not(.disable)').first().trigger('click');\r\n } else if ($attr2.find('[data-attribute-value][data-available=true]').first().length > 0) {\r\n $attr2.find('[data-attribute-value][data-available=true]').first().trigger('click');\r\n } else {\r\n $attr2.find('[data-attribute-value]').first().trigger('click');\r\n }\r\n}\r\n\r\nfunction attr2Action(_valueSelected) {\r\n var $attr1 = variants.config.$attr1;\r\n var $attr2 = variants.config.$attr2;\r\n var $attr3 = variants.config.$attr3;\r\n\r\n //console.log($attr1.find('[data-attribute-value][data-available=true]').first());\r\n //console.log($attr2.find('[data-attribute-value][data-available=true]').first());\r\n //console.log($attr3.find('[data-attribute-value][data-available=true]').first());\r\n\r\n if ($attr3.find('[data-attribute-value][data-available=true]:not(.disable)').first().length > 0) {\r\n //console.log('THIS', $attr3.find('[data-attribute-value][data-available=true]:not(.disable)').first())\r\n $attr3.find('[data-attribute-value][data-available=true]:not(.disable)').first().trigger('click');\r\n } else if ($attr3.find('[data-attribute-value][data-available=true]').first().length > 0) {\r\n $attr3.find('[data-attribute-value][data-available=true]').first().trigger('click');\r\n } else {\r\n $attr3.find('[data-attribute-value]').first().trigger('click');\r\n }\r\n}\r\n\r\n$(function () {\r\n if (page == 'product') {\r\n variants.init();\r\n }\r\n})\r\n"],"names":["$attributes","$","variants","$wrapperProduct","store","config","selectorWrapperProduct","$attr1","attr1Name","$attr2","attr2Name","$attr3","attr3Name","qtdAttributes","hasAttribute1","hasAttribute2","hasAttribute3","setConfigDefault","find","itensAttr1","itensAttr2","itensAttr3","length","data","split","extend","this","itemsAttr1","itemsAttr2","itemsAttr3","setQtdAttributes","setDisponibility","i","cor","$cor","objFind","corAvailable","results","vnda","ii","available","attr","removeClass","addClass","toggleOptionsStyle","_$option","selecao","styleType","$optionList","show","showStatusList","each","index","el","value","indexOf","setAttributeValue","_value","_$attribute","attrName","val","setAttributeValueSelected","html","markFirstOption","first","trigger","checkFirstAttribute","attributes","attribute","attrSize","obj","String","some","getSkuAttributes","objFindVariant","nameAttr1","valueAttr1","nameAttr2","valueAttr2","nameAttr3","valueAttr3","updatePrice","sku","componentPrice","changePrice","setResultVariants","objVariant","setProdutoDisponivel","setProdutoIndisponivel","name","setImagesProduct","_variant","$btnComprar","selectorBtnBuy","textUnavailable","setFormNotify","height","outerHeight","css","setTimeout","document","body","checkCombinations","_attributeName","tamanhos","corTamanhoResults","tamanho","$tamanho","filter","AllAttrResults","selected","$attr3El","variantResult","textAvailable","_sku","template_store","product","$wrapperImages","$mainImages","$sliderProduct","$thumbsImages","$thumbsProduct","slideProductThumb","sliderProduct","qtdImagesSku","$imagesWithoutSkus","$thumbsWithoutSkus","update","execActionAttr","_attrName","_valueSelected","attr1Action","attr2Action","attr3Action","init","_this","on","event","is","preventDefault","$wrapperAttribute","closest","variant","all","page"],"sourceRoot":""}