1(()=>{const countWords=(text="")=>{const matches=text.match(/\S+/g);return matches?matches.length:0},hasMeaningfulDescriptionContent=container=>container.querySelector("img,video,iframe,svg,canvas,object,embed")?!0:(container.textContent||"").replace(/\u00a0/g," ").replace(/\u200B/g,"").trim().length>0,splitDescriptionNode=(sourceNode,visibleTarget,hiddenTarget,state)=>{if(sourceNode.nodeType===Node.TEXT_NODE){const text=sourceNode.textContent??"",tokens=text.match(/\S+\s*/g);if(!tokens){(state.splitStarted?hiddenTarget:visibleTarget).appendChild(document.createTextNode(text));return}if(state.splitStarted||state.remainingWords<=0){hiddenTarget.appendChild(document.createTextNode(text)),state.splitStarted=!0;return}if(tokens.length<=state.remainingWords){visibleTarget.appendChild(document.createTextNode(text)),state.remainingWords-=tokens.length;return}const wordsToKeep=Math.max(state.remainingWords,0),visibleText=tokens.slice(0,wordsToKeep).join(""),hiddenText=tokens.slice(wordsToKeep).join("");visibleText&&visibleTarget.appendChild(document.createTextNode(visibleText)),hiddenText&&hiddenTarget.appendChild(document.createTextNode(hiddenText)),state.remainingWords=0,state.splitStarted=!0;return}if(sourceNode.nodeType!==Node.ELEMENT_NODE)return;const sourceElement=sourceNode;if(["SCRIPT","STYLE"].includes(sourceElement.tagName))return;if(["P","H1","H2","H3","H4","H5","H6"].includes(sourceElement.tagName)){const blockWords=countWords(sourceElement.textContent||"");if(state.splitStarted||state.remainingWords<=0){hiddenTarget.appendChild(sourceElement.cloneNode(!0)),state.splitStarted=!0;return}visibleTarget.appendChild(sourceElement.cloneNode(!0)),blockWords<=state.remainingWords?state.remainingWords-=blockWords:(state.remainingWords=0,state.splitStarted=!0);return}const visibleClone=sourceElement.cloneNode(!1),hiddenClone=sourceElement.cloneNode(!1);for(const childNode of Array.from(sourceElement.childNodes))splitDescriptionNode(childNode,visibleClone,hiddenClone,state);(visibleClone.childNodes.length>0||["BR","HR","IMG"].includes(visibleClone.nodeName))&&visibleTarget.appendChild(visibleClone),(hiddenClone.childNodes.length>0||["BR","HR","IMG"].includes(hiddenClone.nodeName))&&hiddenTarget.appendChild(hiddenClone)},getMaxWords=container=>{const isMobile=window.innerWidth<768,maxWordsDesktop=parseInt(container.getAttribute("data-description-max-words-desktop")??"120",10)||120,maxWordsMobile=parseInt(container.getAttribute("data-description-max-words-mobile")??"80",10)||80;return Math.max(1,isMobile?maxWordsMobile:maxWordsDesktop)},initCollapsibleDescriptions=(root=document)=>{(root&&typeof root.querySelectorAll=="function"?root:document).querySelectorAll("[data-description-collapsible]:not([data-description-collapsible-ready])").forEach(container=>{if(!hasMeaningfulDescriptionContent(container)){container.remove();return}const maxWords=getMaxWords(container),moreLabel=container.getAttribute("data-description-more-label")||"Leer m\xE1s",lessLabel=container.getAttribute("data-description-less-label")||"Leer menos",originalHtml=container.innerHTML;if(countWords(container.textContent||"")<=maxWords){container.setAttribute("data-description-collapsible-ready","true");return}const visibleFragment=document.createDocumentFragment(),hiddenFragment=document.createDocumentFragment(),state={remainingWords:maxWords,splitStarted:!1};Array.from(container.childNodes).forEach(childNode=>{splitDescriptionNode(childNode,visibleFragment,hiddenFragment,state)});const tempVisibleWrapper=document.createElement("div");tempVisibleWrapper.appendChild(visibleFragment);const tempHiddenWrapper=document.createElement("div");tempHiddenWrapper.appendChild(hiddenFragment);const truncatedHtml=tempVisibleWrapper.innerHTML.trim(),remainingContent=tempHiddenWrapper.innerHTML.trim(),originalHtmlTrimmed=originalHtml.trim();if(!truncatedHtml||!remainingContent||truncatedHtml===originalHtmlTrimmed){container.setAttribute("data-description-collapsible-ready","true");return}const visibleWrapper=document.createElement("div");visibleWrapper.className="description-visible",visibleWrapper.innerHTML=truncatedHtml;const hiddenWrapper=document.createElement("div");hiddenWrapper.className="description-hidden",hiddenWrapper.style.opacity="0",hiddenWrapper.style.maxHeight="0",hiddenWrapper.style.overflow="hidden",hiddenWrapper.style.transition="opacity 0.3s ease, max-height 0.3s ease",hiddenWrapper.innerHTML=remainingContent,container.innerHTML="",container.appendChild(visibleWrapper),container.appendChild(hiddenWrapper);const toggleButton=document.createElement("button");toggleButton.type="button",toggleButton.className="description-collapsible-toggle",toggleButton.setAttribute("aria-expanded","fal
1se"),toggleButton.textContent=moreLabel,toggleButton.addEventListener("click",()=>{toggleButton.getAttribute("aria-expanded")==="true"?(hiddenWrapper.style.opacity="0",hiddenWrapper.style.maxHeight="0",toggleButton.textContent=moreLabel,toggleButton.setAttribute("aria-expanded","false")):(hiddenWrapper.style.opacity="1",hiddenWrapper.style.maxHeight="none",toggleButton.textContent=lessLabel,toggleButton.setAttribute("aria-expanded","true"))}),container.insertAdjacentElement("afterend",toggleButton),container.setAttribute("data-description-collapsible-ready","true")})},fdGetOptionValuesForForm=form=>Array.from(form.elements).filter(item=>item.matches?.("input[data-option-position]:checked")).sort((a,b)=>parseInt(a.getAttribute("data-option-position"),10)-parseInt(b.getAttribute("data-option-position"),10)).map(input=>input.value),fdGetVariantPickerForForm=formId=>document.querySelector(`variant-picker[form-id="${CSS.escape(formId)}"]`),fdLoadingLabel=window.themeVariables?.strings?.loading||"Loading...",fdChooseOptionsLabel=window.themeVariables?.strings?.chooseOptions||"Choose options";try{initCollapsibleDescriptions(document)}catch(error){console.error("[fd-theme] initCollapsibleDescriptions failed",error)}document.addEventListener("shopify:section:load",event=>{try{initCollapsibleDescriptions(event.target||document)}catch(error){console.error("[fd-theme] section initCollapsibleDescriptions failed",error)}});const FD_PLACEHOLDER_READY_EVENTS=["loadeddata","canplay","playing"],FD_PLACEHOLDER_MAX_WAIT=4e3,fdRevealVideoPlaceholder=placeholder=>{placeholder.classList.add("fd-video-placeholder--loaded")},fdInitVideoPlaceholder=placeholder=>{if(placeholder.dataset.fdPlaceholderReady)return;placeholder.dataset.fdPlaceholderReady="true";const media=placeholder.closest(".content-box__background-media"),video=media?.querySelector("video");if(!video){if(media?.querySelector("video-media")?.hasAttribute("playing")){fdRevealVideoPlaceholder(placeholder);return}media?.addEventListener("media:play",()=>fdRevealVideoPlaceholder(placeholder),{once:!0});return}let revealed=!1;const reveal=()=>{revealed||(revealed=!0,fdRevealVideoPlaceholder(placeholder))};if(typeof video.requestVideoFrameCallback=="function"){video.requestVideoFrameCallback(reveal),setTimeout(reveal,FD_PLACEHOLDER_MAX_WAIT);return}if(video.readyState>=2){reveal();return}const onReady=()=>{reveal(),FD_PLACEHOLDER_READY_EVENTS.forEach(type=>video.removeEventListener(type,onReady))};FD_PLACEHOLDER_READY_EVENTS.forEach(type=>video.addEventListener(type,onReady)),setTimeout(reveal,FD_PLACEHOLDER_MAX_WAIT)},initVideoPlaceholders=(root=document)=>{(root&&typeof root.querySelectorAll=="function"?root:document).querySelectorAll(".fd-video-placeholder").forEach(fdInitVideoPlaceholder)};try{initVideoPlaceholders(document)}catch(error){console.error("[fd-theme] initVideoPlaceholders failed",error)}document.addEventListener("shopify:section:load",event=>{try{initVideoPlaceholders(event.target||document)}catch(error){console.error("[fd-theme] section initVideoPlaceholders failed",error)}});const fdPending=new Map,fdFallbackTimers=new Map,fdLastResolveAt=new Map,fdNeedsSync=new Map,fdRequiresSelection=new Set,fdClickedPositions=new Map,fdGetFormId=form=>!form||typeof form.getAttribute!="function"?"":(form.getAttribute("id")||"").trim(),fdResolveFormId=(value,fallbackTarget)=>{if(typeof value=="string")return value.trim();if(value&&typeof value.getAttribute=="function"){if(value.matches?.("form"))return fdGetFormId(value);if(value.matches?.("input,select,textarea,button"))return fdGetFormId(value.form||value.closest("form"))}return fdGetFormId(fallbackTarget)},fdGetFormForInput=input=>{const fid=input.getAttribute("form");return fid&&document.forms[fid]?document.forms[fid]:input.closest("form")},fdGetFormIdForSubmitButton=btn=>{const fid=btn.getAttribute("form");return fid||fdGetFormId(btn.form||btn.closest("form"))},fdHasFullSelection=formId=>{if(!fdRequiresSelection.has(formId))return!0;const picker=fdGetVariantPickerForForm(formId);if(!picker)return!0;const total=parseInt(picker.getAttribute("total-options")||"0",10);if(total<=0)return!0;const clicked=fdClickedPositions.get(formId);return!!clicked&&clicked.size>=total},fdApplyButtonOverride=(btn,label,state)=>{if(btn.dataset.fdButtonState===state)return;const buttonContent=btn.querySelector("button-content");buttonContent&&(btn.dataset.fdOriginalButtonText===void 0&&(btn.dataset.fdOriginalButtonText=buttonContent.textContent||""),buttonContent.textContent=label),btn.dataset.fdButtonState=state,btn.disabled=!0},fdClearButtonOverride=btn=>{if(!btn.dataset.fdButtonState)return;const buttonContent=btn.querySelector("button-content");buttonContent&&btn.dataset.fdOriginalButtonText!==void 0&&(buttonContent.textContent=btn.dataset.fdOriginalButtonText),delete btn.dataset.fdOriginalButtonText,delete btn.dataset.fdButtonState,delete btn.dataset.fdScrollToPicker,btn.disabled=!1},fdFindSubmitButtonsForFormId=formId=>
1{if(!formId)return[];const seen=new Set,buttons=[],form=document.forms[formId];if(form)for(const el of Array.from(form.elements))el.type==="submit"&&!seen.has(el)&&(seen.add(el),buttons.push(el));return document.querySelectorAll("button[type='submit'][form]").forEach(btn=>{btn.getAttribute("form")===formId&&!seen.has(btn)&&(seen.add(btn),buttons.push(btn))}),buttons},fdVariantChangeInFlight=formId=>fdPending.has(formId)||fdNeedsSync.get(formId)===!0,fdScrollToVariantPicker=formId=>{const picker=fdGetVariantPickerForForm(formId);if(!picker)return;(picker.closest(".product-info__block-item")||picker).scrollIntoView({behavior:"smooth",block:"start"})},fdSyncButtonStateForFormId=formId=>{if(!formId)return;const needsSelection=fdRequiresSelection.has(formId)&&!fdHasFullSelection(formId),isPending=fdVariantChangeInFlight(formId);for(const btn of fdFindSubmitButtonsForFormId(formId)){const isSticky=!!btn.closest("product-sticky-add-to-cart");needsSelection?(fdApplyButtonOverride(btn,fdChooseOptionsLabel,"choose-options"),isSticky&&(btn.disabled=!1,btn.dataset.fdScrollToPicker=formId)):isPending?(isSticky&&delete btn.dataset.fdScrollToPicker,fdApplyButtonOverride(btn,fdLoadingLabel,"loading")):btn.dataset.fdButtonState&&fdClearButtonOverride(btn)}},fdInitFormFromPicker=picker=>{const formId=picker.getAttribute("form-id");formId&&(picker.hasAttribute("requires-selection")&&fdRequiresSelection.add(formId),fdClickedPositions.has(formId)||fdClickedPositions.set(formId,new Set),fdSyncButtonStateForFormId(formId))};(root=>{(root&&typeof root.querySelectorAll=="function"?root:document).querySelectorAll("variant-picker[form-id]").forEach(fdInitFormFromPicker)})(document),document.addEventListener("click",event=>{const trigger=event.target.closest?.("[data-fd-scroll-to-picker]");trigger&&(event.preventDefault(),fdScrollToVariantPicker(trigger.dataset.fdScrollToPicker))},!0);const fdClearPending=formId=>{fdPending.delete(formId),fdFallbackTimers.has(formId)&&(clearTimeout(fdFallbackTimers.get(formId)),fdFallbackTimers.delete(formId)),fdSyncButtonStateForFormId(formId)},fdResolvePendingFromSource=(formId,source,extra={})=>
1{if(!formId||!fdPending.has(formId))return;const now=Date.now(),last=fdLastResolveAt.get(formId)??0;if(now-last<50)return;fdLastResolveAt.set(formId,now);const count=(fdPending.get(formId)??1)-1;count<=0?(fdClearPending(formId),fdNeedsSync.set(formId,!1)):fdPending.set(formId,count)};new MutationObserver(mutations=>{for(const{addedNodes}of mutations)for(const node of addedNodes){if(node.nodeType!==Node.ELEMENT_NODE)continue;const pickers=node.matches?.("variant-picker[form-id]")?[node]:[...node.querySelectorAll?.("variant-picker[form-id]")||[]];for(const picker of pickers)fdInitFormFromPicker(picker);const btns=node.matches?.("button[type='submit']")?[node]:[...node.querySelectorAll?.("button[type='submit']")||[]];for(const btn of btns){const formId=fdGetFormIdForSubmitButton(btn);formId&&fdSyncButtonStateForFormId(formId)}}}).observe(document.body,{childList:!0,subtree:!0}),document.addEventListener("change",event=>{if(!event.target.matches("input[data-option-position]"))return;const form=fdGetFormForInput(event.target),formId=fdGetFormId(form);if(!formId)return;const position=event.target.getAttribute("data-option-position");if(position){let clicked=fdClickedPositions.get(formId);clicked||(clicked=new Set,fdClickedPositions.set(formId,clicked)),clicked.add(position)}const prev=fdPending.get(formId)??0;fdPending.set(formId,prev+1),fdNeedsSync.set(formId,!0),fdSyncButtonStateForFormId(formId),fdFallbackTimers.has(formId)&&clearTimeout(fdFallbackTimers.get(formId));const timerId=setTimeout(()=>{fdPending.has(formId)&&fdClearPending(formId)},1e4);fdFallbackTimers.set(formId,timerId)},!0),document.addEventListener("variant:change",event=>{const formId=fdResolveFormId(event.detail?.formId,event.target);fdResolvePendingFromSource(formId,"variant:change")},!0),document.addEventListener("change",event=>{if(!event.target.matches('form[action*="/cart/add"] input[name="id"]'))return;const formId=fdGetFormId(event.target.form||event.target.closest("form"));fdResolvePendingFromSource(formId,"id-input-change")},!0),document.addEventListener("submit",event=>{if(!event.target.matches('form[action*="/cart/add"]'))return;const formId=fdGetFormId(event.target);if(!formId)return;if(fdRequiresSelection.has(formId)&&!fdHasFullSelection(formId)){event.preventDefault(),event.stopImmediatePropagation(),fdSyncButtonStateForFormId(formId);return}if(fdVariantChangeInFlight(formId)){event.preventDefault(),event.stopImmediatePropagation(),fdSyncButtonStateForFormId(formId);return}const formVariantId=event.target.elements?.id?.value,variantPicker=fdGetVariantPickerForForm(formId),pickerVariantId=variantPicker?.selectedVariant?.id?String(variantPicker.selectedVariant.id):null;formVariantId&&pickerVariantId&&String(formVariantId)!==pickerVariantId&&(event.preventDefault(),event.stopImmediatePropagation(),fdSyncButtonStateForFormId(formId))},!0);let resizeTimeout,lastBreakpoint=window.innerWidth>=768?"desktop":"mobile";window.addEventListener("resize",()=>{clearTimeout(resizeTimeout),resizeTimeout=setTimeout(()=>{const currentBreakpoint=window.innerWidth>=768?"desktop":"mobile";currentBreakpoint!==lastBreakpoint&&(lastBreakpoint=currentBreakpoint,document.querySelectorAll("[data-description-collapsible-ready]").forEach(container=>{container.removeAttribute("data-description-collapsible-ready");const toggleButton=container.nextElementSibling;toggleButton&&toggleButton.classList.contains("description-collapsible-toggle")&&toggleButton.remove()}),initCollapsibleDescriptions(document))},150)})})(); 2//# sourceMappingURL=/cdn/shop/t/4/assets/fd-theme.js.map?v=97903635852502308561784880293
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.