PageSourceSearch

https://www.equishop.com/cdn/shop/t/116/assets/theme.js?v=133882296122258701921790176253

js equishop.com collected 2026-09-24 19:49:43 UTC 35,040 bytes, 28 lines download raw bytes

1window.theme={init:()=>{window.theme.sc_modal.init(),window.theme.ic_modal.init(),window.theme.product_custom_size.init(),window.theme.product_shipping.init(),window.theme.product_button_aria_label.init(),window.wishlist.init(),window.quiz.init(),window.theme.gift_wrap_autoremove.init(),window.theme.yagi.init(),window.theme.sale_badges.init()},product_custom_size:{submitButtonObservers:new Map,resizeTimeout:null,init:()=>{window.theme.product_custom_size.initializeAll(),window.theme.product_custom_size.initResizeObserver(),new MutationObserver(mutations=>{mutations.forEach(mutation=>{mutation.addedNodes.forEach(node=>{node.nodeType===1&&(node.classList?.contains("product_form_wrapper")?[node]:node.querySelectorAll?.(".product_form_wrapper")||[]).forEach(wrapper=>{const form=wrapper.querySelector(".product-form"),isInitialized=form?._customSizeInitialized||form?.classList.contains("custom-size-event");console.log("Form in wrapper:",form,"already initialized:",isInitialized),form&&!isInitialized&&(form._customSizeInitialized=!0,setTimeout(()=>{window.theme.product_custom_size.initializeContext(form)},100))})})})}).observe(document.body,{childList:!0,subtree:!0})},initializeAll:()=>{document.querySelectorAll(".product-form:not(.custom-size-event)").forEach(form=>{window.theme.product_custom_size.initializeContext(form)})},initializeContext:form=>{const variantInput=form.querySelector('input[name="id"]'),sizeboxDropdowns=form.querySelector(".sizebox__dropdowns"),customSizeInputUser=form.querySelector(".custom_size_prop_name_for_user"),wrapper=form.closest(".product_form_wrapper");if(!variantInput||!sizeboxDropdowns||!customSizeInputUser||!wrapper){console.warn("Missing required elements, skipping initialization");return}if(form.classList.contains("custom-size-event")&&form._customSizesData){console.log("Form already fully initialized with data, skipping");return}const customSizesBase64=wrapper.dataset.customSizes,sizebox=form.querySelector(".sizebox"),sizeboxJsonBase64=sizebox?.dataset.json;let customSizesData=[];if(customSizesBase64)try{const customSizesJson=atob(customSizesBase64);customSizesData=JSON.parse(customSizesJson)}catch(e){console.error("Failed to decode/parse data-custom-sizes:",e,customSizesBase64)}else if(sizeboxJsonBase64)try{const sizeboxJson=atob(sizeboxJsonBase64),sizeboxData=JSON.parse(sizeboxJson),sizeLabel=sizebox.dataset.label;sizeLabel&&(sizeboxDropdowns.dataset.label=sizeLabel),customSizesData=[];for(const[key,value]of Object.entries(sizeboxData)){if(key==="default_values"){form._defaultSizes=value;continue}const variantId=parseInt(key,10);!isNaN(variantId)&&Array.isArray(value)&&customSizesData.push({variant_id:variantId,sizes:value})}}catch(e){console.error("Failed to decode/parse data-json:",e,sizeboxJsonBase64)}form._customSizesData=customSizesData,variantInput.addEventListener("change",function(){window.theme.product_custom_size.updateDropdownsInContext(form),setTimeout(()=>{window.theme.product_custom_size.updateSubmitButtonInContext(form)},100),setTimeout(()=>{window.theme.product_custom_size.updateSubmitButtonInContext(form)},2e3)}),document.addEventListener("variant:change",()=>{window.theme.product_custom_size.updateDropdownsInContext(form),setTimeout(()=>{window.theme.product_custom_size.updateSubmitButtonInContext(form)},100),setTimeout(()=>{window.theme.product_custom_size.updateSubmitButtonInContext(form)},2e3)}),customSizeInputUser.addEventListener("input",function(){window.theme.product_custom_size.updateSubmitButtonInContext(form)}),form.classList.add("custom-size-event"),window.theme.product_custom_size.initSubmitButtonObserverInContext(form),window.theme.product_custom_size.updateDropdownsInContext(form),window.theme.product_custom_size.updateSubmitButtonInContext(form)},initSubmitButtonObserverInContext:form=>{const submitButton=form.querySelector('button[type="submit"]');if(!submitButton)return;const formId=form.closest("[data-product-id]")?.dataset.productId||"default";window.theme.product_custom_size.submitButtonObservers.has(formId)&&window.theme.product_custom_size.submitButtonObservers.get(formId).disconnect();const observer=new MutationObserver(()=>{window.theme.product_custom_size.updateSubmitButtonInContext(form)});observer.observe(submitButton,{attributes:!0,attributeFilter:["disabled"]}),window.theme.product_custom_size.submitButtonObservers.set(formId,observer)},initResizeObserver:()=>{const updateDropdownWidths=()=>{document.querySelectorAll(".sizebox__dropdown").forEach(dropdown=>{const toggle=dropdown.querySelector(".variant-picker-dropdown__toggle"),floatElement=dropdown.querySelector(".variant-picker-dropdown");
1if(toggle&&floatElement){const toggleWidth=toggle.offsetWidth;floatElement.style.maxWidth=toggleWidth+"px"}})};updateDropdownWidths(),window.addEventListener("resize",()=>{clearTimeout(window.theme.product_custom_size.resizeTimeout),window.theme.product_custom_size.resizeTimeout=setTimeout(()=>{updateDropdownWidths()},300)})},updateSubmitButtonInContext:form=>{const customSizeInputUser=form.querySelector(".custom_size_prop_name_for_user"),customSizeInputHidden=form.querySelector(".custom_size_prop_name"),variantInput=form.querySelector('input[name="id"]'),submitButton=form.querySelector('button[type="submit"]');if(!customSizeInputUser||!customSizeInputHidden||!variantInput||!submitButton)return;const customSizesData=form._customSizesData||[],defaultSizes=form._defaultSizes||[],currentVariantId=parseInt(variantInput.value,10);let variantData=customSizesData.find(item=>item.variant_id===currentVariantId);(!variantData||!variantData.sizes||variantData.sizes.length===0)&&defaultSizes.length>0&&(variantData={variant_id:currentVariantId,sizes:defaultSizes});const hasSizes=variantData&&variantData.sizes&&variantData.sizes.length>0,hasSelectedSize=customSizeInputUser.value.trim()!=="",formId=form.closest("[data-product-id]")?.dataset.productId||"default",observer=window.theme.product_custom_size.submitButtonObservers.get(formId);observer&&observer.disconnect(),hasSizes&&!hasSelectedSize?submitButton.classList.add("custom_size_is_disabled"):submitButton.classList.remove("custom_size_is_disabled"),observer&&submitButton&&observer.observe(submitButton,{attributes:!0,attributeFilter:["disabled"]})},updateDropdownsInContext:form=>{const sizeboxDropdowns=form.querySelector(".sizebox__dropdowns"),customSizeInputUser=form.querySelector(".custom_size_prop_name_for_user"),customSizeInputHidden=form.querySelector(".custom_size_prop_name"),variantInput=form.querySelector('input[name="id"]');if(!sizeboxDropdowns||!customSizeInputUser||!customSizeInputHidden||!variantInput){console.warn("Missing required elements in updateDropdownsInContext");return}const customSizesData=form._customSizesData||[],defaultSizes=form._defaultSizes||[],currentVariantId=parseInt(variantInput.value,10);let variantData=customSizesData.find(item=>item.variant_id===currentVariantId);if((!variantData||!variantData.sizes||variantData.sizes.length===0)&&defaultSizes.length>0&&(variantData={variant_id:currentVariantId,sizes:defaultSizes},console.log("Using default_values as fallback for variant:",currentVariantId)),sizeboxDropdowns.innerHTML="",customSizeInputUser.value="",customSizeInputHidden.value="",!variantData||!variantData.sizes||variantData.sizes.length===0)return;const dropdownWrapper=document.createElement("div");dropdownWrapper.className="sizebox__dropdown is_active";const dropdownId="sizebox-dropdown-"+currentVariantId+"-"+Date.now(),lang=document.documentElement.getAttribute("lang")||"pl",defaultSizeLabel=lang==="en"?"Size":"Rozmiar",selectLabel=lang==="en"?"Select size":"Wybierz rozmiar",sizeLabel=sizeboxDropdowns.dataset.label||defaultSizeLabel,dropdownItemsHTML=variantData.sizes.map((size,index)=>`<div class="variant-picker-dropdown__item${index===0?" selected":""}" tabindex="0" data-focus-trap-target="" data-size-value="${size}"><span>${size}</span></div>`).join("");dropdownWrapper.innerHTML=`
2        <div class="" data-variant-picker-option-labels="" option-picker-name="${sizeLabel}">
3          <div class="product-variant-picker__option-label">
4            <span>${sizeLabel}</span>
5          </div>
6          <dropdown-opener class="variant-picker-dropdown__toggle variant-picker-dropdown__toggle--outline" 
7            data-aria-expanded="false" 
8            data-float-element-id="${dropdownId}" 
9            data-trigger="click" 
10            tabindex="0">
11            <div class="variant-picker-dropdown__toggle-label" data-dropdown-variant-picker-label="">
12              <span>${selectLabel}</span>
13            </div>
14            <svg class="variant-picker-dropdown__chevron" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-labelledby="title" role="img">
15              <title id="title">Chevron</title>
16              <path d="M9.5 7L14.5 12L9.5 17" stroke="currentColor" stroke-width="2"></path>
17            </svg>
18          </dropdown-opener>
19          <div class="variant-picker-dropdown custom-size-dropdown" 
20            aria-hidden="true" 
21            id="${dropdownId}" 
22            data-placement="bottom-start" 
23            data-main-axis-offset="0">
24            <div class="variant-picker-dropdown__body">${dropdownItemsHTML}</div>
25          </div>
26        </div>
27      `,sizeboxDropdowns.appendChild(dropdownWrapper),setTimeout(()=>{const toggle=dropdownWrapper.querySelector(".variant-picker-dropdown__toggle"),floatEl2=dropdownWrapper.querySelector(".variant-picker-dropdown");
27if(toggle&&floatEl2){const toggleWidth=toggle.offsetWidth;floatEl2.style.maxWidth=toggleWidth+"px"}},0);const sizeOptions=dropdownWrapper.querySelectorAll(".variant-picker-dropdown__item"),toggleLabel=dropdownWrapper.querySelector("[data-dropdown-variant-picker-label] span"),dropdownOpener=dropdownWrapper.querySelector("dropdown-opener"),floatEl=dropdownWrapper.querySelector(".custom-size-dropdown");sizeOptions.forEach(option=>{option.addEventListener("click",function(){const selectedSize=this.dataset.sizeValue;customSizeInputUser&&(customSizeInputUser.value=selectedSize),customSizeInputHidden&&(customSizeInputHidden.value=selectedSize),sizeOptions.forEach(opt=>opt.classList.remove("selected")),this.classList.add("selected"),toggleLabel&&(toggleLabel.textContent=selectedSize),window.theme.product_custom_size.updateSubmitButtonInContext(form),dropdownOpener&&dropdownOpener.setAttribute("data-aria-expanded","false"),floatEl&&floatEl.setAttribute("aria-hidden","true")})}),dropdownOpener&&floatEl&&dropdownOpener.addEventListener("click",function(){const isExpanded=this.getAttribute("data-aria-expanded")==="true";this.setAttribute("data-aria-expanded",!isExpanded),floatEl.setAttribute("aria-hidden",isExpanded)})}},product_shipping:{init:()=>{window.theme.product_shipping.addListeners()},addListeners:()=>{const productForms=document.querySelectorAll(".product-form:not(.shipping-event)");productForms.length&&productForms.forEach(form=>{const variantInput=form.querySelector('input[name="id"]'),shippingTimeEl=document.querySelector(".shipping_time");!variantInput||!shippingTimeEl||(window.theme.product_shipping.updateShippingTimeClass(variantInput,shippingTimeEl),variantInput.addEventListener("change",function(){window.theme.product_shipping.updateShippingTimeClass(variantInput,shippingTimeEl)}),document.addEventListener("variant:change",()=>{window.theme.product_shipping.updateShippingTimeClass(variantInput,shippingTimeEl)}),form.classList.add("shipping-event"))})},updateShippingTimeClass:(variantInput,shippingTimeEl)=>{const currentVariantId=parseInt(variantInput.value,10),shippingConfig={},configStr=shippingTimeEl.dataset.shippingConfig||"";let defaultTime="",langIndex=0;function decodeBase64UTF8(str){try{return str?decodeURIComponent(escape(atob(str))):""}catch(e){return console.error("Failed to decode base64 UTF-8:",e),""}}try{defaultTime=shippingTimeEl.dataset.shippingDefault?decodeBase64UTF8(shippingTimeEl.dataset.shippingDefault):""}catch(e){console.error("Failed to decode shippingDefault:",e)}try{langIndex=parseInt(atob(shippingTimeEl.dataset.langIndex||"MA=="),10)}catch(e){console.error("Failed to decode langIndex:",e),langIndex=0}function handleize(str){return str.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}if(configStr)try{decodeBase64UTF8(configStr).split("||").filter(e=>e.trim()).forEach(entry=>{const[location,timePl,timeEn]=entry.split("::");if(location&&timePl&&timeEn){const locationKey=handleize(location);shippingConfig[locationKey]={pl:timePl,en:timeEn}}})}catch(e){console.error("Failed to decode or parse shipping config:",e)}const customValueEl=shippingTimeEl.querySelector(".shipping_time__value--custom");if(customValueEl&&customValueEl.textContent.trim()!==""){shippingTimeEl.classList.remove("shipping_time--internal","shipping_time--external"),shippingTimeEl.classList.add("shipping_time--custom");return}const variantData=window.product_inventory_data.find(item=>item.variant_id===currentVariantId);if(!variantData){const externalValueEl2=shippingTimeEl.querySelector(".shipping_time__value--external"),langKey2=langIndex===1?"en":"pl";let shippingTimeText2=defaultTime;const vendorEl=document.querySelector(".product-general-info-block__vendor");if(vendorEl){const vendorName=vendorEl.textContent.trim(),vendorHandleized=handleize(vendorName);vendorHandleized&&shippingConfig[vendorHandleized]&&(shippingTimeText2=shippingConfig[vendorHandleized][langKey2])}shippingTimeText2===defaultTime&&console.log("Setting default shipping time:",defaultTime),externalValueEl2&&(externalValueEl2.textContent=shippingTimeText2),shippingTimeEl.classList.remove("shipping_time--internal","shipping_time--custom"),shippingTimeEl.classList.add("shipping_time--external");return}const equishopInventory=variantData.locations.equishop||0,externalValueEl=shippingTimeEl.querySelector(".shipping_time__value--external");if(equishopInventory>0){shippingTimeEl.classList.remove("shipping_time--external","shipping_time--custom"),shippingTimeEl.classList.add("shipping_time--internal"),document.querySelector(".product-form__btns").classList.add("product-form__btns--shipping-internal");return}let maxInventory=0,maxLocation=null;for(const[locationKey,inventory]of Object.entries(variantData.locations))locationKey!=="equishop"&&inventory>maxInventory&&(maxInventory=inventory,maxLocation=locationKey);let shippingTimeText=defaultTime;const langKey=langIndex===1?"en":"pl";if(maxInventory>0&&maxLocation&&shippingConfig[maxLocation])shippingTimeText=shippingConfig[maxLocation][langKey];else if(maxInventory===0){const vendorHandleized=variantData.vendor||"";vendorHandleized&&shippingConfig[vendorHandleized]&&(shippingTimeText=shippingConfig[vendorHandleized][langKey])}externalValueEl&&(externalValueEl.textContent=shippingTimeText),shippingTimeEl.classList.remove("shipping_time--internal","shipping_time--custom"),shippingTimeEl.classList.add("shipping_time--external")}},product_button_aria_label:{observers:[],init:()=>{window.theme.product_button_aria_label.addListeners(),window.theme.product_button_aria_label.observeButtons()},addListeners:()=>{const productForms=document.querySelectorAll(".product-form:not(.aria-label-event)");
27productForms.length&&productForms.forEach(form=>{const variantInput=form.querySelector('input[name="id"]');variantInput&&(variantInput.addEventListener("change",function(){window.theme.product_button_aria_label.updateButtonAriaLabel(form)}),document.addEventListener("variant:change",()=>{window.theme.product_button_aria_label.updateButtonAriaLabel(form)}),form.classList.add("aria-label-event"))})},observeButtons:()=>{const submitButtons=document.querySelectorAll(".product-form__btn");submitButtons.length&&submitButtons.forEach(button=>{const observer=new MutationObserver(()=>{const form=button.closest(".product-form");form&&window.theme.product_button_aria_label.updateButtonAriaLabel(form)});observer.observe(button,{attributes:!0,attributeFilter:["disabled"]}),window.theme.product_button_aria_label.observers.push(observer)})},updateButtonAriaLabel:form=>{const submitButtons=form.querySelectorAll(".product-form__btn");submitButtons.length&&submitButtons.forEach(button=>{const isDisabled=button.hasAttribute("disabled");let ariaLabel="";if(isDisabled)ariaLabel=button.getAttribute("data-t-sold-out")||"Wyprzedane";else{const buttonTextSpan=button.querySelector("[data-button-text]");buttonTextSpan&&(ariaLabel=buttonTextSpan.textContent.trim())}ariaLabel&&button.setAttribute("aria-label",ariaLabel)})}},sc_modal:{init:()=>{window.theme.sc_modal.addListeners()},addListeners:()=>{const btns_open=document.querySelectorAll('[data-action="open_sc_modal"]:not(.event)');btns_open.length&&btns_open.forEach(btn=>{btn.addEventListener("click",()=>{window.theme.sc_modal.open()}),btn.classList.add("event")});const btns_close=document.querySelectorAll(".sc_modal__close:not(.event)");btns_close.length&&btns_close.forEach(btn=>{btn.addEventListener("click",()=>{window.theme.sc_modal.close()}),btn.classList.add("event")})},open:()=>{document.body.classList.add("sc_modal_is_open")},close:()=>{document.body.classList.remove("sc_modal_is_open")}},ic_modal:{init:()=>{window.theme.ic_modal.addListeners()},addListeners:()=>{const btns_open=document.querySelectorAll('[data-action="open_ic_modal"]:not(.event)');btns_open.length&&btns_open.forEach(btn=>{btn.addEventListener("click",()=>{window.theme.ic_modal.open()}),btn.classList.add("event")});const btns_close=document.querySelectorAll(".ic_modal__close:not(.event)");btns_close.length&&btns_close.forEach(btn=>{btn.addEventListener("click",()=>{window.theme.ic_modal.close()}),btn.classList.add("event")})},open:()=>{document.body.classList.add("ic_modal_is_open")},close:()=>{document.body.classList.remove("ic_modal_is_open")}},gift_wrap_autoremove:{init:()=>{document.body.dataset.giftVid&&(window.theme.gift_wrap_autoremove.checkCart(),window.gift_wrap_autoremove_interval&&(clearInterval(window.gift_wrap_autoremove_interval),window.gift_wrap_autoremove_interval=null),window.gift_wrap_autoremove_interval=setInterval(()=>{window.theme.gift_wrap_autoremove.checkCart()},500))},checkCart:async()=>{const giftVid=document.body.dataset.giftVid;if(!(!giftVid||window.gift_wrap_removing_in_progress))try{const cart=await(await fetch("/cart.js")).json();if(!cart||!cart.items||cart.items.length===0)return;const giftWrapItem=cart.items.find(item=>item.variant_id===parseInt(giftVid,10));if(!giftWrapItem)return;cart.items.filter(item=>item.key!==giftWrapItem.key).length===0&&await window.theme.gift_wrap_autoremove.removeGiftWrap(giftWrapItem.key)}catch(error){console.error("Error checking cart for gift wrap:",error)}},removeGiftWrap:async itemKey=>{if(!window.gift_wrap_removing_in_progress){window.gift_wrap_removing_in_progress=!0;try{if((await fetch("/cart/change.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:itemKey,quantity:0})})).ok){console.log("Gift wrap removed from cart");const cartPage=document.querySelector("cart-page"),cartDrawer=document.querySelector("cart-drawer");cartPage&&window.gift_wrap&&typeof window.gift_wrap.refreshCartPage=="function"?window.gift_wrap.refreshCartPage():cartDrawer&&window.gift_wrap&&typeof window.gift_wrap.refreshCartDrawer=="function"&&window.gift_wrap.refreshCartDrawer(),setTimeout(()=>{document.dispatchEvent(new CustomEvent("cart:refresh")),document.dispatchEvent(new CustomEvent("cart:updated"))},200)}}catch(error){console.error("Error removing gift wrap:",error)}finally{window.gift_wrap_removing_in_progress=!1}}}},yagi:{init:()=>{window.theme.yagi.checkProductCards(),window.theme.yagi.checkProductPage()},checkProductCards:()=>{document.querySelectorAll("product-card").forEach(card=>{const yagiDiscountedPrice=card.querySelector(".yagi-discounted-price"),productCardPrice=card.querySelector(".product-card__price");yagiDiscountedPrice&&productCardPrice&&productCardPrice.classList.add("product-card__price--hidden_by_yagi")})},checkProductPage:()=>{const productPage=document.querySelector(".product__info");if(!productPage)return;const yagiDiscountedPrice=productPage.querySelector(".yagi-discounted-price"),productPrice
27=productPage.querySelector(".product__content .product-price");yagiDiscountedPrice&&productPrice&&(productPrice.classList.add("product-price--hidden_by_yagi"),document.body.classList.add("pdp_yagi_price_active"))}},sale_badges:{init:()=>{window.theme.sale_badges.checkProductCards(),window.theme.sale_badges.checkProductPage(),window.theme.sale_badges.observeChanges()},checkProductCards:()=>{document.querySelectorAll("product-card, vertical-product-card").forEach(card=>{window.theme.sale_badges.addBadgeToCard(card)})},checkProductPage:()=>{const productContent=document.querySelector(".product .product__content");!productContent||!document.querySelector(".yagi-price-container.price--on-sale")||window.theme.sale_badges.addBadgeToProductPage(productContent)},addBadgeToCard:card=>{if(card.classList.contains("sale_badge_is_set"))return;const saleValueElement=card.querySelector("[data-sale-value]");if(!saleValueElement)return;const saleValue=saleValueElement.dataset.saleValue;if(!saleValue||saleValue.trim()==="")return;card.classList.add("sale_badge_is_set");const imagesWrapper=card.tagName&&card.tagName.toLowerCase()==="vertical-product-card"?card.querySelector(".vertical-product-card__image-wrapper"):card.querySelector(".product-card__images-wrapper");if(!imagesWrapper)return;const badgeWrapper=document.createElement("div");badgeWrapper.className="sale_badge";const badgeValue=document.createElement("div");badgeValue.className="sale_badge__value",badgeValue.textContent=saleValue,badgeWrapper.appendChild(badgeValue),imagesWrapper.appendChild(badgeWrapper)},addBadgeToProductPage:productContent=>{if(productContent.classList.contains("sale_badge_is_set"))return;const yagiPriceContainer=document.querySelector(".yagi-price-container.price--on-sale");if(!yagiPriceContainer)return;const originalPriceElement=yagiPriceContainer.querySelector(".yagi-original-price"),discountedPriceElement=yagiPriceContainer.querySelector(".yagi-discounted-price[data-base-price]");if(!originalPriceElement||!discountedPriceElement)return;const discountedPrice=parseInt(discountedPriceElement.dataset.basePrice,10),originalPriceMatch=originalPriceElement.textContent.trim().match(/[\d\s,]+/);if(!originalPriceMatch||isNaN(discountedPrice))return;const originalPriceStr=originalPriceMatch[0].replace(/\s/g,"").replace(",","."),originalPrice=Math.round(parseFloat(originalPriceStr)*100);if(originalPrice<=discountedPrice)return;const discountAmount=originalPrice-discountedPrice,discountPercentage=Math.round(discountAmount/originalPrice*100);if(discountPercentage<=0)return;productContent.classList.add("sale_badge_is_set");const badgeWrapper=document.createElement("div");badgeWrapper.className="sale_badge";const badgeValue=document.createElement("div");badgeValue.className="sale_badge__value",badgeValue.textContent=`-${discountPercentage}%`,badgeWrapper.appendChild(badgeValue),productContent.appendChild(badgeWrapper)},observeChanges:()=>{new MutationObserver(mutations=>{mutations.forEach(mutation=>{mutation.addedNodes.forEach(node=>{if(node.nodeType===1){const tagName=node.tagName?node.tagName.toLowerCase():"";(tagName==="product-card"||tagName==="vertical-product-card")&&window.theme.sale_badges.addBadgeToCard(node);const productCards=node.querySelectorAll&&node.querySelectorAll("product-card, vertical-product-card");if(productCards&&productCards.length>0&&productCards.forEach(card=>{window.theme.sale_badges.addBadgeToCard(card)}),node.classList&&node.classList.contains("product__content"))window.theme.sale_badges.addBadgeToProductPage(node);else if(node.querySelectorAll){const productContent=node.querySelector(".product .product__content");productContent&&window.theme.sale_badges.addBadgeToProductPage(productContent)}}})})}).observe(document.body,{childList:!0,subtree:!0})}}},window.wishlist={init:()=>{document.getElementById("th_wishlist_page_id")&&window.wishlist.translateTexts();const successMessage=document.getElementById("th-wl-sucess-mgs");successMessage&&successMessage.textContent.includes("|||")&&window.wishlist.translateElement(successMessage),window.wishlist.observeChanges(),window.wishlist.count(),window.wishlist.observeLazyLoadedProducts()},observeLazyLoadedProducts:()=>{const observer=new MutationObserver(mutations=>{let hasNewWishlistButtons=!1;try{if(mutations.forEach(mutation=>{mutation.type==="childList"&&mutation.addedNodes.length>
270&&mutation.addedNodes.forEach(node=>{if(!(!node||node.nodeType!==Node.ELEMENT_NODE)&&(node.classList&&(node.classList.contains("th_wl_col_btn")||node.classList.contains("th_prd_wl_btn")||node.classList.contains("th_wl_btn"))&&(hasNewWishlistButtons=!0),node.querySelectorAll))try{const wishlistButtons=node.querySelectorAll(".th_wl_col_btn, .th_prd_wl_btn, .th_wl_btn");wishlistButtons&&wishlistButtons.length>0&&(hasNewWishlistButtons=!0)}catch(e){console.warn("B\u0142\u0105d podczas wyszukiwania przycisk\xF3w wishlisty:",e)}})}),hasNewWishlistButtons){if(typeof window.$th_refreshWishlistItems=="function")try{window.$th_refreshWishlistItems()}catch(e){console.error("B\u0142\u0105d podczas od\u015Bwie\u017Cania wishlisty:",e)}else console.warn("Funkcja window.$th_refreshWishlistItems nie jest jeszcze dost\u0119pna");if(typeof window.$th_refreshBackInStockItems=="function")try{window.$th_refreshBackInStockItems()}catch(e){console.error("B\u0142\u0105d podczas od\u015Bwie\u017Cania Back In Stock:",e)}}}catch(error){console.error("B\u0142\u0105d w obserwatorze wishlisty:",error)}});try{observer.observe(document.body,{childList:!0,subtree:!0})}catch(error){console.error("Nie uda\u0142o si\u0119 uruchomi\u0107 obserwatora wishlisty:",error)}},count:()=>{window.wishlist_count_interval&&(clearInterval(window.wishlist_count_interval),window.wishlist_count_interval=null);const updateCountFromStorage=()=>{const raw=localStorage.getItem("th_wlc_pro_count");let count=parseInt(raw,10);(Number.isNaN(count)||count<0)&&(count=0),document.querySelectorAll(".wishlist_count").forEach(el=>{el.setAttribute("data-items-number",String(count));const span=el.querySelector("span");span&&(span.textContent=count>0?String(count):"")})};updateCountFromStorage(),window.wishlist_count_interval=setInterval(()=>{updateCountFromStorage()},500)},observeChanges:()=>{new MutationObserver(mutations=>{mutations.forEach(mutation=>{if(mutation.type==="childList"&&mutation.addedNodes.length>0&&mutation.addedNodes.forEach(node=>{if(node.nodeType===Node.ELEMENT_NODE){if(node.id==="th-wl-sucess-mgs"){node.textContent.includes("|||")&&window.wishlist.translateElement(node);return}const successMessageInside=node.querySelector&&node.querySelector("#th-wl-sucess-mgs");if(successMessageInside&&successMessageInside.textContent.includes("|||")){window.wishlist.translateElement(successMessageInside);return}node.textContent&&node.textContent.includes("|||")&&window.wishlist.translateElement(node)}}),mutation.type==="characterData"&&mutation.target.textContent.includes("|||")){const parentElement=mutation.target.parentElement;parentElement&&window.wishlist.translateElement(parentElement)}})}).observe(document.body,{childList:!0,subtree:!0,characterData:!0});const wishlistContainer=document.getElementById("th_wishlist_page_id");wishlistContainer&&new MutationObserver(()=>{setTimeout(()=>{const container=document.getElementById("th_wishlist_page_id");container&&container.innerHTML.includes("|||")&&(container.classList.remove("translated"),window.wishlist.translateTexts())},100)}).observe(wishlistContainer,{childList:!0,subtree:!0})},translateTexts:()=>{const isEnglish=(document.documentElement.getAttribute("lang")||"pl")==="en",wishlistContainer=document.getElementById("th_wishlist_page_id");if(!wishlistContainer)return;const processText=text=>{if(text.includes("|||")){const parts=text.split("|||");return isEnglish?(parts[1]||parts[0]).trim():parts[0].trim()}return text},walker=document.createTreeWalker(wishlistContainer,NodeFilter.SHOW_TEXT,null,!1),textNodes=[];let node;for(;node=walker.nextNode();)node.textContent.includes("|||")&&textNodes.push(node);textNodes.forEach(textNode=>{textNode.textContent=processText(textNode.textContent)}),wishlistContainer.querySelectorAll("*").forEach(element=>{["title","alt","placeholder","data-title","aria-label"].forEach(attr=>{const value=element.getAttribute(attr);value&&value.includes("|||")&&element.setAttribute(attr,processText(value))})});const successMessage=document.getElementById("th-wl-sucess-mgs");successMessage&&window.wishlist.translateElement(successMessage),setTimeout(()=>{wishlistContainer.classList.add("translated")},300)},translateElement:element=>{if(!element)return;const isEnglish=(document.documentElement.getAttribute("lang")||"pl")==="en",processText=text=>{if(text.includes("|||")){const parts=text.split("|||");return isEnglish?(parts[1]||parts[0]).trim():parts[0].trim()}return text},walker=document.createTreeWalker(element,NodeFilter.SHOW_TEXT,null,!1),textNodes=[];let node;for(;node=walker.nextNode();)node.textContent.includes("|||")&&textNodes.push(node);
27textNodes.forEach(textNode=>{textNode.textContent=processText(textNode.textContent)}),element.querySelectorAll("*").forEach(el=>{["title","alt","placeholder","data-title","aria-label"].forEach(attr=>{const value=el.getAttribute(attr);value&&value.includes("|||")&&el.setAttribute(attr,processText(value))})}),["title","alt","placeholder","data-title","aria-label"].forEach(attr=>{const value=element.getAttribute(attr);value&&value.includes("|||")&&element.setAttribute(attr,processText(value))})}},window.quiz={translations:{pl:{back:"Wstecz",next:"Dalej","add to cart":"Dodaj do koszyka",submit:"Wy\u015Blij",skip:"Pomi\u0144","This field can't be empty":"To pole nie mo\u017Ce by\u0107 puste"}},init:()=>{const quiz_section=document.querySelector("[data-quiz-kit-key]");quiz_section&&(window.quiz.translateTexts(quiz_section),setTimeout(()=>{window.quiz.translateTexts(quiz_section)},500)),window.quiz.observeChanges()},translateText:(text,lang=null)=>{lang||(lang=document.documentElement.getAttribute("lang")||"pl");const trimmedText=text.trim();if(!window.quiz.translations[lang])return text;if(window.quiz.translations[lang][trimmedText])return window.quiz.translations[lang][trimmedText];const lowerText=trimmedText.toLowerCase(),translationKeys=Object.keys(window.quiz.translations[lang]);for(let key of translationKeys)if(key.toLowerCase()===lowerText)return window.quiz.translations[lang][key];return text},translateTexts:container=>{if(!container)return;const lang=document.documentElement.getAttribute("lang")||"pl",walker=document.createTreeWalker(container,NodeFilter.SHOW_TEXT,null,!1),textNodes=[];let node;for(;node=walker.nextNode();)node.textContent.trim()&&textNodes.push(node);textNodes.forEach(textNode=>{const originalText=textNode.textContent,trimmedText=originalText.trim(),translatedText=window.quiz.translateText(trimmedText,lang);if(translatedText!==trimmedText){const leadingWhitespace=originalText.match(/^\s*/)[0],trailingWhitespace=originalText.match(/\s*$/)[0];textNode.textContent=leadingWhitespace+translatedText+trailingWhitespace}});const elementsWithAttributes=container.querySelectorAll("*"),attributesToTranslate=["title","placeholder","aria-label","alt","data-title"];elementsWithAttributes.forEach(element=>{attributesToTranslate.forEach(attr=>{const value=element.getAttribute(attr);if(value){const translatedValue=window.quiz.translateText(value.trim(),lang);translatedValue!==value.trim()&&element.setAttribute(attr,translatedValue)}})})},observeChanges:()=>{const quiz_section=document.querySelector("[data-quiz-kit-key]");if(!quiz_section)return;new MutationObserver(mutations=>{mutations.forEach(mutation=>{if(mutation.type==="childList"&&mutation.addedNodes.length>0&&mutation.addedNodes.forEach(node=>{node.nodeType===Node.ELEMENT_NODE&&window.quiz.translateTexts(node)}),mutation.type==="characterData"){const parentElement=mutation.target.parentElement;parentElement&&window.quiz.translateTexts(parentElement)}})}).observe(quiz_section,{childList:!0,subtree:!0,characterData:!0,attributes:!1})}},window.theme.init(),(function(){document.addEventListener("click",function(e){const quickViewButton=e.target.closest("[data-product-card-quick-view-button]");if(!quickViewButton)return;const productCard=quickViewButton.closest("product-card");if(!productCard)return;const hasVariants=productCard.dataset.hasVariants==="true",productUrl=productCard.dataset.url;hasVariants&&productUrl&&(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),window.location.href=productUrl)},!0)})(),(function(){function executeScriptsInElement(element){element.querySelectorAll("script").forEach(script=>{const newScript=document.createElement("script");Array.from(script.attributes).forEach(attr=>{newScript.setAttribute(attr.name,attr.value)}),newScript.textContent=script.textContent,script.parentNode.replaceChild(newScript,script)})}const observer=new MutationObserver(mutations=>{mutations.forEach(mutation=>{mutation.addedNodes.forEach(node=>{node.nodeType===1&&(node.classList?.contains("product-card")?executeScriptsInElement(node):node.querySelectorAll&&node.querySelectorAll(".product-card").forEach(card=>executeScriptsInElement(card)))})})});document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{observer.observe(document.body,{childList:!0,subtree:!0})}):observer.observe(document.body,{childList:!0,subtree:!0})})(),(function(){const origFetch=window.fetch;window.fetch=async function(...args){const[url,options]=args;if(typeof url=="string"&&url.includes("/cart/add"))try{const response=await origFetch.apply(this,args);if(response.ok){const data=await response.clone().json(),product_info=document.querySelector('[data-set-max-quantity-to-1="1"] product-info'),matched_product_cards=document.querySelectorAll(`product-card[data-variant-id="${data.variant_id}"]`);if(product_info){const html=product_info.innerHTML;if(new RegExp(`["']?${data.variant_id}["']?`).test(html)){const product_qty=document.querySelector('[data-set-max-quantity-to-1="1"] product-info .product-quantity__wrap');product_qty&&product_qty.classList.add("hide_max_qty_item_block");const product_form=document.querySelector('[data-set-max-quantity-to-1="1"] product-info product-form');product_form&&product_form.classList.add("hide_max_qty_item_block")}}matched_product_cards.length&&matched_product_cards.forEach(item=>{item.classList.add("product-card--hide-actions")}),window.dispatchEvent(new CustomEvent("addToCart:success",{detail:data}))}else console.warn("\u26A0\uFE0F Add to cart failed:",response.status,response.statusText);return response}catch(err){throw console.error("\u274C Fetch /cart/add error:",err),err}return origFetch.apply(this,args)}})();
28//# sourceMappingURL=/cdn/shop/t/116/assets/theme.js.map?v=133882296122258701921790176253

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.