PageSourceSearch

https://smileat.com/cdn/shop/t/59/assets/custom.js?v=184128491483541333811778736272

js smileat.com collected 2026-10-08 07:04:40 UTC 30,574 bytes, 2 lines download raw bytes

1{window.setGridHeight=selector=>{const items=Array.from(document.querySelectorAll(selector));if(!items.length)return;items.forEach(el=>el.style.minHeight="");const gridOffsets=items.map(el=>{const row=el.closest(".grid__item")||el.closest(".carousel__item")||el.closest(".predictive-search__list-item");return{el,height:el.offsetHeight,top:row?row.offsetTop:0}});[...new Set(gridOffsets.map(o=>o.top))].forEach(top=>{const row=gridOffsets.filter(o=>o.top===top),maxH=Math.max(...row.map(o=>o.height));row.forEach(o=>{o.el.style.boxSizing="border-box",o.el.style.minHeight=maxH+"px"})})},window.setCategoriesCardHeight=()=>{const cards=Array.from(document.querySelectorAll(".js-categories-card"));if(!cards.length)return;cards.forEach(card=>card.style.removeProperty("--card-min-height"));const maxH=Math.max(...cards.map(card=>card.offsetHeight));cards.forEach(card=>card.style.setProperty("--card-min-height",maxH+"px"))};const matchHeightCallback=()=>{window.setGridHeight(".js-product-title"),window.setGridHeight(".js-product-information"),window.setCategoriesCardHeight()};window.addEventListener("resize",matchHeightCallback);const observePredictiveSearch=()=>{const resultsContainer=document.querySelector(".predictive-search")||document.querySelector("[data-predictive-search]");resultsContainer&&new MutationObserver(()=>{requestAnimationFrame(matchHeightCallback)}).observe(resultsContainer,{childList:!0,subtree:!0})};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{matchHeightCallback(),observePredictiveSearch()}):(matchHeightCallback(),observePredictiveSearch())}(()=>{if(window.ThemeCustomJsLoaded)return;window.ThemeCustomJsLoaded=!0,(function(){function attachDrag(slideshowEl){if(slideshowEl.dataset.dragInit)return;slideshowEl.dataset.dragInit="1";const slider=slideshowEl.querySelector('[id^="Slider-"]');if(!slider)return;slider.querySelectorAll("img, a").forEach(el=>{el.setAttribute("draggable","false")});let startX=0,startY=0,isDragging=!1,didMove=!1;function getX(e){return e.touches&&e.touches[0]?e.touches[0].clientX:e.clientX}function getY(e){return e.touches&&e.touches[0]?e.touches[0].clientY:e.clientY}function onStart(e){e.type==="mousedown"&&e.button!==0||(startX=getX(e),startY=getY(e),isDragging=!0,didMove=!1)}function onMove(e){if(!isDragging)return;const dx=Math.abs(getX(e)-startX),dy=Math.abs(getY(e)-startY);if(!didMove){if(dy>dx&&dy>10){isDragging=!1;return}dx>10&&(didMove=!0,slider.classList.add("is-dragging"))}didMove&&e.cancelable&&e.preventDefault()}function onEnd(e){if(!isDragging||(isDragging=!1,slider.classList.remove("is-dragging"),slideshowEl.play&&slideshowEl.dataset.autoplay==="true"&&slideshowEl.play(),!didMove))return;const dx=(e.changedTouches&&e.changedTouches[0]?e.changedTouches[0].clientX:e.clientX)-startX;if(Math.abs(dx)<20)return;const slide=slider.querySelector(".slideshow__slide");if(!slide)return;const offset=slide.offsetWidth,currentScroll=slider.scrollLeft,totalSlides=slider.querySelectorAll(".slideshow__slide").length;let targetScroll;dx<0?(targetScroll=(Math.floor((currentScroll+20)/offset)+1)*offset,targetScroll>=slider.scrollWidth-20&&(targetScroll=0)):(targetScroll=(Math.ceil((currentScroll-20)/offset)-1)*offset,targetScroll<-20&&(targetScroll=(totalSlides-1)*offset));const originalSnap=slider.style.scrollSnapType;slider.style.scrollSnapType="none",slider.scrollTo({left:targetScroll,behavior:"smooth"}),setTimeout(()=>{slider.style.scrollSnapType=originalSnap},600);const suppress=ev=>{ev.preventDefault(),ev.stopPropagation()};slideshowEl.addEventListener("click",suppress,{capture:!0,once:!0}),setTimeout(()=>slideshowEl.removeEventListener("click",suppress,!0),300)}slideshowEl.addEventListener("mousedown",onStart),window.addEventListener("mousemove",onMove,{passive:!1}),window.addEventListener("mouseup",onEnd),slideshowEl.addEventListener("touchstart",onStart,{passive:!0}),slideshowEl.addEventListener("touchmove",onMove,{passive:!1}),slideshowEl.addEventListener("touchend",onEnd),slider.style.cursor="grab",slider.style.userSelect="none",slider.style.webkitUserSelect="none"}function initAll(){document.querySelectorAll(".hero-banner-wrapper").forEach(attachDrag)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",initAll):initAll(),document.addEventListener("shopify:section:load",initAll)})(),customElements.get("wave-marquee")||customElements.define("wave-marquee",class extends HTMLElement{constructor(){super(),this.d=parseFloat(this.dataset.duration)||50,this.t=performance.now(),this.p=[],this.a=this.a.bind(this),this.c=this.c.bind(this)}connectedCallback(){const userAgent=navigator.userAgent.toLowerCase(),isSafari=userAgent.indexOf("safari")!==-1&&userAgent.indexOf("chrome")===-1,isIOS=userAgent.match(/(i
1phone|ipod|ipad)/),isMac=userAgent.indexOf("mac")!==-1;this.querySelectorAll("textPath").forEach(tp=>{let el=document.querySelector(tp.getAttribute("href"))||this.querySelector(tp.getAttribute("href")),s=tp.closest("svg");this.p.push({tp,s:(el?.getTotalLength?.()||s?.viewBox?.baseVal?.width||1e3)/this.d,x:0,i:0});let parentText=tp.closest("text");if(parentText){let dyVal="0";isSafari&&(isIOS?dyVal="4":isMac&&(dyVal="8")),parentText.setAttribute("dy",dyVal)}}),this.c(),window.addEventListener("resize",this.c),this.classList.contains("wave-marquee--animated")&&(this.f=requestAnimationFrame(this.a))}disconnectedCallback(){cancelAnimationFrame(this.f),window.removeEventListener("resize",this.c)}c(){this.p.forEach(d=>{let i=d.tp.querySelector(".wave-text-instance");d.i=i?i.getComputedTextLength():0})}a(time){let dt=time-this.t;this.t=time,dt>0&&dt<200&&this.p.forEach(d=>{d.x+=dt/1e3*d.s,d.tp.setAttribute("startOffset",-(d.i>0?d.x%d.i:d.x))}),this.f=requestAnimationFrame(this.a)}});class GlobalSlider{constructor(element,options={}){this.container=element,this.list=element.querySelector(".slider-list")||element.querySelector(".slider")||element.querySelector(".categories-carousel-list")||element.querySelector(".prof-reviews-slider"),this.slides=this.list?Array.from(this.list.children):[],this.dots=element.querySelectorAll(".progress-dot")||element.querySelectorAll(".categories-carousel-progress-dot");const foundBars=element.querySelectorAll(".progress-bar, .products-carousel-progress-bar, .prof-reviews-progress-bar");if(this.progressBars=options.progressBar?[options.progressBar]:Array.from(foundBars),this.progressContainers=Array.from(element.querySelectorAll(".progress-container, .products-carousel-progress, .prof-reviews-progress-container, .categories-carousel-progress")),this.prevBtns=element.querySelectorAll(".slider-button--prev, .custom-slider-button--prev"),this.nextBtns=element.querySelectorAll(".slider-button--next, .custom-slider-button--next"),this.prevBtns.length===0){const sectionPrev=this.container.closest("section")?.querySelectorAll(".custom-slider-button--prev");sectionPrev&&(this.prevBtns=sectionPrev)}if(this.nextBtns.length===0){const sectionNext=this.container.closest("section")?.querySelectorAll(".custom-slider-button--next");sectionNext&&(this.nextBtns=sectionNext)}this.type=element.dataset.sliderType||"scroll",this.autoplay=element.dataset.autoplay==="true",this.autoplayDelay=parseInt(element.dataset.autoplayDelay)||5e3,this.autoplayInterval=null,this.currentIndex=0,this.isDragging=!1,this.startX=0,this.scrollLeftStart=0,this.dragThreshold=5,this.hasMoved=!1,this.lastX=0,this.startTime=0,this.init()}init(){!this.list&&this.type!=="fade"||(this.type==="scroll"&&this.list&&this.list.addEventListener("scroll",()=>this.updateIndicators()),this.handlePrev=()=>{this.container.offsetParent!==null&&this.scroll(-1)},this.handleNext=()=>{this.container.offsetParent!==null&&this.scroll(1)},this.prevBtns.forEach(btn=>btn.addEventListener("click",this.handlePrev)),this.nextBtns.forEach(btn=>btn.addEventListener("click",this.handleNext)),this.autoplay&&(this.startAutoplay(),this.container.addEventListener("mouseenter",()=>this.stopAutoplay()),this.container.addEventListener("mouseleave",()=>this.startAutoplay()),this.list&&(this.list.addEventListener("touchstart",()=>this.stopAutoplay(),{passive:!0}),this.list.addEventListener("touchend",()=>this.startAutoplay(),{passive:!0}))),this.list&&(this.list.classList.contains("prof-reviews-slider")||this.list.classList.contains("categories-carousel-list")||this.list.classList.contains("js-product-sabor__grid"))&&this.initDrag(),this.list?.addEventListener("touchstart",()=>{this.scrollAnimation&&cancelAnimationFrame(this.scrollAnimation)},{passive:!0}),this.list?.addEventListener("mousedown",()=>{this.scrollAnimation&&cancelAnimationFrame(this.scrollAnimation)}),window.addEventListener("resize",()=>this.updateIndicators()),this.initProgressBarClick(),this.updateIndicators())}initProgressBarClick(){this.progressContainers.forEach(container=>{container.style.cursor="pointer",container.addEventListener("click",e=>{const rect=container.getBoundingClientRect(),x=e.clientX-rect.left,percentage=Math.max(0,Math.min(1,x/rect.width));
1if(this.type==="fade"){const targetIndex=Math.round(percentage*(this.slides.length-1));this.goToSlide(Math.max(0,targetIndex))}else if(this.list){const maxScroll=this.list.scrollWidth-this.list.clientWidth;if(this.list.classList.contains("prof-reviews-slider")||this.list.classList.contains("categories-carousel-list")){const targetIndex=Math.round(percentage*(this.slides.length-1)),computedStyle=window.getComputedStyle(this.list),paddingOffset=parseInt(computedStyle.scrollPaddingLeft)||0;let targetLeft=this.slides[Math.max(0,targetIndex)].offsetLeft-paddingOffset;this.list.classList.contains("categories-carousel-list")&&(targetLeft=this.slides[Math.max(0,targetIndex)].offsetLeft-this.list.clientWidth/2+this.slides[Math.max(0,targetIndex)].clientWidth/2);const maxScroll2=this.list.scrollWidth-this.list.clientWidth;this.smoothScrollTo(this.list,Math.max(0,Math.min(targetLeft,maxScroll2)),600)}else{const targetLeft=percentage*maxScroll;this.smoothScrollTo(this.list,Math.max(0,targetLeft),600)}}})})}scroll(direction){if(this.type==="fade"){let nextIndex=this.currentIndex+direction;nextIndex>=this.slides.length&&(nextIndex=0),nextIndex<0&&(nextIndex=this.slides.length-1),this.goToSlide(nextIndex);return}const items=this.list?Array.from(this.list.children):[];if(!items.length)return;const currentScroll=this.list.scrollLeft,computedStyle=window.getComputedStyle(this.list),paddingOffset=parseInt(computedStyle.scrollPaddingLeft)||0;let currentIndex=0,minDiff=1/0;const containerRect=this.list.getBoundingClientRect();items.forEach((item,index)=>{const itemOffset=item.getBoundingClientRect().left-containerRect.left+currentScroll;let itemIdealScroll=itemOffset-paddingOffset;this.list.classList.contains("categories-carousel-list")&&(itemIdealScroll=itemOffset-this.list.clientWidth/2+item.clientWidth/2);const diff=Math.abs(itemIdealScroll-currentScroll);diff<minDiff&&(minDiff=diff,currentIndex=index)});let targetIndex=currentIndex;const maxScroll=this.list.scrollWidth-this.list.clientWidth;if(direction>0){for(let i=currentIndex+1;i<items.length;i++){const itemOffset=items[i].getBoundingClientRect().left-containerRect.left+currentScroll,currentItemOffset=items[currentIndex].getBoundingClientRect().left-containerRect.left+currentScroll;if(itemOffset>currentItemOffset+2){targetIndex=i;break}}targetIndex===currentIndex&&currentScroll>=maxScroll-10&&this.autoplay&&(targetIndex=0)}else{for(let i=currentIndex-1;i>=0;i--){const itemOffset=items[i].getBoundingClientRect().left-containerRect.left+currentScroll,currentItemOffset=items[currentIndex].getBoundingClientRect().left-containerRect.left+currentScroll;if(itemOffset<currentItemOffset-2){targetIndex=i;break}}targetIndex===currentIndex&&currentScroll<=10&&this.autoplay&&(targetIndex=items.length-1)}const targetItemOffset=items[targetIndex].getBoundingClientRect().left-containerRect.left+currentScroll;let targetLeft=targetItemOffset-paddingOffset;if(this.list.classList.contains("categories-carousel-list")&&(targetLeft=targetItemOffset-this.list.clientWidth/2+items[targetIndex].clientWidth/2),this.list.classList.contains("categories-carousel-list")){const maxScroll2=this.list.scrollWidth-this.list.clientWidth;targetLeft=Math.max(0,Math.min(targetLeft,maxScroll2)),this.list.style.scrollSnapType="none",this.list.scrollTo({left:targetLeft,behavior:"smooth"}),setTimeout(()=>{this.list&&(this.list.style.scrollSnapType="")},600)}else this.smoothScrollTo(this.list,targetLeft,600)}smoothScrollTo(element,targetX,duration){this.scrollAnimation&&cancelAnimationFrame(this.scrollAnimation);const startX=element.scrollLeft,distance=targetX-startX,startTime=performance.now();element.style.scrollBehavior="auto",element.style.scrollSnapType="none";const easeInOutQuad=(t,b,c,d)=>(t/=d/2,t<1?c/2*t*t+b:(t--,-c/2*(t*(t-2)-1)+b)),animation=currentTime=>{const timeElapsed=currentTime-startTime,nextX=easeInOutQuad(timeElapsed,startX,distance,duration);element.scrollLeft=nextX,timeElapsed<duration?this.scrollAnimation=requestAnimationFrame(animation):(element.scrollLeft=targetX,element.style.scrollBehavior="",element.style.scrollSnapType="",this.scrollAnimation=null)};this.scrollAnimation=requestAnimationFrame(animation)}goToSlide(index){this.type==="fade"&&this.slides[index]&&(this.slides[this.currentIndex].classList.remove("is-active","active"),this.currentIndex=index,this.slides[this.currentIndex].classList.add("is-active","active"),this.updateIndicators())}updateIndicators(){if(this.progressBars.length>0&&this.slides.length>
10)if(this.type==="scroll"&&this.list){const total=this.list.scrollWidth,visible=this.list.clientWidth,maxScroll=total-visible;let progress="0%";if(maxScroll>0){const minWidth=visible/total*100,scrollPercent=this.list.scrollLeft/maxScroll;progress=minWidth+scrollPercent*(100-minWidth)+"%"}else progress="100%";this.progressBars.forEach(bar=>bar.style.width=progress)}else{const progress=(this.currentIndex+1)/this.slides.length*100+"%";this.progressBars.forEach(bar=>bar.style.width=progress)}if(this.dots.length>0){let activeIndex=this.currentIndex;if(this.type==="scroll"&&this.list){const itemWidth=this.slides[0].offsetWidth;itemWidth>0&&(activeIndex=Math.max(0,Math.min(Math.round(this.list.scrollLeft/itemWidth),this.dots.length-1)))}this.dots.forEach((dot,idx)=>dot.classList.toggle("active",idx===activeIndex))}if(this.type==="scroll"&&this.list){let maxScroll=this.list.scrollWidth-this.list.clientWidth;maxScroll<=1?(this.prevBtns.forEach(btn=>{btn.setAttribute("disabled","disabled"),btn.parentElement.classList.add("is-hidden")}),this.nextBtns.forEach(btn=>{btn.setAttribute("disabled","disabled"),btn.parentElement.classList.add("is-hidden")})):(this.prevBtns.length>0&&(this.list.scrollLeft<=5?this.prevBtns.forEach(btn=>btn.setAttribute("disabled","disabled")):this.prevBtns.forEach(btn=>{btn.removeAttribute("disabled"),btn.parentElement.classList.remove("is-hidden")})),this.nextBtns.length>0&&(this.list.scrollLeft>=maxScroll-5?this.nextBtns.forEach(btn=>btn.setAttribute("disabled","disabled")):this.nextBtns.forEach(btn=>{btn.removeAttribute("disabled"),btn.parentElement.classList.remove("is-hidden")})))}}startAutoplay(){this.stopAutoplay(),this.autoplayInterval=setInterval(()=>this.scroll(1),this.autoplayDelay)}stopAutoplay(){this.autoplayInterval&&clearInterval(this.autoplayInterval)}initDrag(){const list=this.list;let dragTargetX=0;const render=()=>{this.isDragging&&(this.dragRaf=requestAnimationFrame(render))},onStart=e=>{if(e.type==="mousedown"&&e.button!==0)return;this.isDragging=!0,this.hasMoved=!1,this.isVerticalScroll=!1;const touch=e.touches?e.touches[0]:null;this.startX=touch?touch.pageX:e.pageX,this.startY=touch?touch.pageY:e.pageY,dragTargetX=this.startX,this.scrollLeftStart=list.scrollLeft,this.startTime=Date.now(),list.style.scrollBehavior="auto",list.style.scrollSnapType="none",touch&&list.classList.add("is-dragging"),this.stopAutoplay(),this.dragRaf=requestAnimationFrame(render)},onMove=e=>{if(!this.isDragging||this.isVerticalScroll)return;const touch=e.touches?e.touches[0]:null,x=touch?touch.pageX:e.pageX,y=touch?touch.pageY:e.pageY,walk=x-this.startX,walkY=y-this.startY;if(!this.hasMoved&&Math.abs(walkY)>Math.abs(walk)*2&&Math.abs(walkY)>10){this.isVerticalScroll=!0,this.isDragging=!1,list.classList.remove("is-dragging"),cancelAnimationFrame(this.dragRaf);return}dragTargetX=x,!this.hasMoved&&Math.abs(walk)>this.dragThreshold&&(this.hasMoved=!0,list.classList.add("is-dragging"),e.cancelable&&e.preventDefault()),this.hasMoved&&(e.cancelable&&e.preventDefault(),list.scrollLeft=this.scrollLeftStart-walk),this.lastX=x},onEnd=e=>{if(!this.isDragging)return;if(this.isDragging=!1,cancelAnimationFrame(this.dragRaf),list.classList.remove("is-dragging"),list.style.scrollBehavior="",list.classList.contains("categories-carousel-list")||(list.style.scrollSnapType=""),this.autoplay&&this.startAutoplay(),!this.hasMoved){list.classList.contains("categories-carousel-list")&&(list.style.scrollSnapType="");return}const diff=(e.pageX||(e.changedTouches?e.changedTouches[0].pageX:this.lastX))-this.startX;this.snapToItem(diff)};list.addEventListener("mousedown",onStart),window.addEventListener("mousemove",onMove),window.addEventListener("mouseup",onEnd),list.addEventListener("mouseleave",()=>{this.isDragging&&onEnd({pageX:this.lastX})}),list.addEventListener("touchstart",onStart,{passive:!0}),list.addEventListener("touchmove",onMove,{passive:!1}),list.addEventListener("touchend",onEnd),list.addEventListener("click",e=>{this.hasMoved&&(e.preventDefault(),e.stopPropagation())},!0),list.addEventListener("dragstart",e=>e.preventDefault())}
1snapToItem(dragDiff=0){if(this.type!=="scroll")return;const items=this.list?Array.from(this.list.children):[];if(!items.length)return;const currentScroll=this.list.scrollLeft,computedStyle=window.getComputedStyle(this.list),paddingOffset=parseInt(computedStyle.scrollPaddingLeft)||0;let startIndex=0,startMinDiff=1/0;items.forEach((item,index)=>{let itemIdealScroll=item.offsetLeft-paddingOffset;this.list.classList.contains("categories-carousel-list")&&(itemIdealScroll=item.offsetLeft-this.list.clientWidth/2+item.clientWidth/2);const diff=Math.abs(itemIdealScroll-this.scrollLeftStart);diff<startMinDiff&&(startMinDiff=diff,startIndex=index)});let closestIndex=0,minDiff=1/0;items.forEach((item,index)=>{let itemIdealScroll=item.offsetLeft-paddingOffset;this.list.classList.contains("categories-carousel-list")&&(itemIdealScroll=item.offsetLeft-this.list.clientWidth/2+item.clientWidth/2);const diff=Math.abs(itemIdealScroll-currentScroll);diff<minDiff&&(minDiff=diff,closestIndex=index)});let targetIndex=closestIndex;const threshold=40;if(dragDiff<-threshold&&targetIndex<=startIndex){for(let i=startIndex+1;i<items.length;i++)if(items[i].offsetLeft>items[startIndex].offsetLeft+2){targetIndex=i;break}}else if(dragDiff>threshold&&targetIndex>=startIndex){for(let i=startIndex-1;i>=0;i--)if(items[i].offsetLeft<items[startIndex].offsetLeft-2){targetIndex=i;break}}targetIndex=Math.max(0,Math.min(targetIndex,items.length-1));let targetLeft=items[targetIndex].offsetLeft-paddingOffset;if(this.list.classList.contains("categories-carousel-list")&&(targetLeft=items[targetIndex].offsetLeft-this.list.clientWidth/2+items[targetIndex].clientWidth/2),this.list.classList.contains("categories-carousel-list")){const maxScroll=this.list.scrollWidth-this.list.clientWidth;targetLeft=Math.max(0,Math.min(targetLeft,maxScroll)),this.list.style.scrollSnapType="none",this.list.scrollTo({left:targetLeft,behavior:"smooth"}),setTimeout(()=>{this.list&&(this.list.style.scrollSnapType="")},600)}else this.smoothScrollTo(this.list,targetLeft,500)}}class TabbedSlider{constructor(section){this.section=section,this.tabButtons=section.querySelectorAll(".products-carousel-tabs__button"),this.panels=section.querySelectorAll(".products-carousel-panel"),this.progressBar=section.querySelector(".progress-bar"),this.sliders=new Map,this.activeSlider=null,this.init()}init(){this.tabButtons.forEach(btn=>{btn.addEventListener("click",()=>this.activateTab(btn,btn.getAttribute("data-target")))});const initialActive=this.section.querySelector(".products-carousel-panel.active");initialActive&&(this.activeSlider=new GlobalSlider(initialActive,{progressBar:this.progressBar}),this.sliders.set(initialActive.id,this.activeSlider))}activateTab(button,targetId){this.tabButtons.forEach(b=>b.classList.remove("active")),this.panels.forEach(p=>{if(p.classList.remove("active"),p.id===targetId){p.classList.add("active"),this.activeSlider&&this.activeSlider.stopAutoplay();let slider=this.sliders.get(targetId);slider?(slider.updateIndicators(),slider.autoplay&&slider.startAutoplay()):(slider=new GlobalSlider(p,{progressBar:this.progressBar}),this.sliders.set(targetId,slider)),this.activeSlider=slider}}),button.classList.add("active"),window.updateCardHeights&&window.updateCardHeights()}}const initGlobalSliders=()=>{document.querySelectorAll(".categories-carousel-wrapper, .prof-reviews-section").forEach(el=>{el.dataset.sliderInitialized||(new GlobalSlider(el),el.dataset.sliderInitialized="true")}),document.querySelectorAll(".products-carousel").forEach(el=>{el.dataset.sliderInitialized||(new TabbedSlider(el),el.dataset.sliderInitialized="true")})};document.addEventListener("DOMContentLoaded",initGlobalSliders),document.addEventListener("shopify:section:load",initGlobalSliders);const footerDetails=document.querySelectorAll(".footer-block__details");if(footerDetails.length>0){const mediaQuery=window.matchMedia("(min-width: 750px)"),handleFooterAccordion=()=>{footerDetails.forEach(details=>{mediaQuery.matches?details.setAttribute("open",""):details.removeAttribute("open")})};handleFooterAccordion(),mediaQuery.addEventListener("change",handleFooterAccordion)}document.querySelectorAll(".products-by-age-section").forEach(function(section){var dots=Array.from(section.querySelectorAll(".products-by-age__dot")),slides=Array.from(section.querySelectorAll(".products-by-age__slide")),nav=section.querySelector(".products-by-age__nav"),slider=section.querySelector(".products-by-age__slider");if(!dots.length||!slides.length||!slider)return;function isMobile(){return window.innerWidth<750}var prevIndex=0,isClickScrolling=!1;
1function setActiveDot(index){if(dots.forEach(function(d,i){d.classList.toggle("active",i===index),d.setAttribute("aria-selected",i===index?"true":"false")}),isMobile()&&nav&&dots[index]){var dot=dots[index],targetLeft=dot.offsetLeft-8;index<prevIndex&&(targetLeft=dot.offsetLeft+dot.offsetWidth-nav.clientWidth+8,targetLeft<0&&(targetLeft=0)),nav.scrollTo({left:targetLeft,behavior:"smooth"})}prevIndex=index}function activateSlide(index){slides.forEach(function(s,i){s.classList.toggle("active",i===index)}),setActiveDot(index)}function scrollToSlide(index){var slide=slides[index];slide&&(isClickScrolling=!0,slider.scrollTo({left:slide.offsetLeft,behavior:"smooth"}),setActiveDot(index),setTimeout(function(){isClickScrolling=!1},600))}if(dots.forEach(function(dot){dot.addEventListener("click",function(e){e.preventDefault();var index=parseInt(this.getAttribute("data-index"),10);isMobile()?scrollToSlide(index):activateSlide(index)})}),"IntersectionObserver"in window){var observer=new IntersectionObserver(function(entries){!isMobile()||isClickScrolling||entries.forEach(function(entry){if(entry.isIntersecting){var index=slides.indexOf(entry.target);index!==-1&&setActiveDot(index)}})},{root:slider,threshold:.6});slides.forEach(function(slide){observer.observe(slide)})}}),window.GlobalSlider=GlobalSlider,window.TabbedSlider=TabbedSlider})(),(function(){const userAgent=navigator.userAgent.toLowerCase(),body=document.body;let detectedOS="";/iphone|ipad|ipod/.test(userAgent)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1?detectedOS="ios":/macintosh|mac os x/.test(userAgent)||navigator.platform==="MacIntel"?detectedOS="mac":/android/.test(userAgent)?detectedOS="android":/win/.test(userAgent)?detectedOS="windows":/linux/.test(userAgent)&&(detectedOS="linux"),detectedOS&&body.classList.add(detectedOS),userAgent.indexOf("chrome")!==-1&&userAgent.indexOf("edg")===-1?body.classList.add("chrome"):userAgent.indexOf("safari")!==-1&&userAgent.indexOf("chrome")===-1?body.classList.add("safari"):userAgent.indexOf("firefox")!==-1?body.classList.add("firefox"):userAgent.indexOf("edg")!==-1&&body.classList.add("edge")})(),(function(){const initBlockSlider=()=>{const panel=document.querySelector(".js-related-product-slider");if(!panel)return;const container=panel.closest(".js-related-products");container&&window.GlobalSlider&&!container.dataset.sliderInitialized&&(new window.GlobalSlider(container),container.dataset.sliderInitialized="true")};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",initBlockSlider):initBlockSlider(),document.addEventListener("shopify:section:load",initBlockSlider)})(),customElements.get("product-sabor-grid")||customElements.define("product-sabor-grid",class extends HTMLElement{connectedCallback(){this.init()}init(){setTimeout(()=>{window.GlobalSlider&&(this.slider=new window.GlobalSlider(this))},100)}});var FreeShippingBar=class extends HTMLElement{connectedCallback(){document.documentElement.addEventListener("cart:updated",this._onCartUpdated.bind(this))}get threshold(){return parseFloat(this.getAttribute("threshold"))}_onCartUpdated(event){this.style.setProperty("--progress",Math.min(parseFloat(event.detail.cart.total_price)/this.threshold,1))}};if(window.customElements.get("free-shipping-bar")||window.customElements.define("free-shipping-bar",FreeShippingBar),(function(){window.updateCardHeights=()=>{document.querySelectorAll(".js-card-wrapper").forEach(card=>{const inner=card.querySelector(".js-card-inner");inner&&card.style.setProperty("--card-inner-height",`${inner.offsetHeight}px`);const quantityWrapper=card.querySelector(".js-quantity-wrapper");quantityWrapper&&(card.style.setProperty("--quantity-wrapper-height",`${quantityWrapper.offsetHeight}px`),window.ResizeObserver&&!quantityWrapper.dataset.heightObserved&&(new ResizeObserver(()=>{card.style.setProperty("--quantity-wrapper-height",`${quantityWrapper.offsetHeight}px`)}).observe(quantityWrapper),quantityWrapper.dataset.heightObserved="true"))})},document.readyState==="loading"?document.addEventListener("DOMContentLoaded",window.updateCardHeights):window.updateCardHeights(),window.addEventListener("resize",window.updateCardHeights),document.addEventListener("shopify:section:load",window.updateCardHeights)})(),window.location.href.includes("/products")){const intervalId=setInterval(()=>{let formEmbed=document.querySelector("recharge-subscription-widget"),formEmbed_options=formEmbed&&formEmbed.shadowRoot?formEmbed.shadowRoot.querySelector("rc-selling-plans"):null,rc_benefits=formEmbed&&formEmbed.shadowRoot?formEmbed.shadowRoot.querySelector("rc-benefits"):null,rc_learn_more=formEmbed&&formEmbed.shadowRoot?formEmbed.shadowRoot.querySelector("rc-learn-more"):null;if(!formEmbed||!formEmbed.shadowRoot)return;let styleContainer=document.createElement("link");styleContainer.id="style-link",styleContainer.rel="stylesheet",styleContainer.href=shadowrootsubscriptionCss,styleContainer.type="text/css",formEmbed.shadowRoot.querySelector("#style-link")||formEmbed.shadowRoot.appendChild(styleContainer),formEmbed_options&&formEmbed_options.shadowRoot&&!formEmbed_options.shadowRoot.querySelector("#style-link")&&formEmbed_options.shadowRoot.appendChild(styleContainer.cloneNode(!0)),rc_benefits&&rc_benefits.shadowRoot&&!rc_benefits.shadowRoot.querySelector("#style-link")&&rc_benefits.shadowRoot.appendChild(styleContainer.cloneNode(!0)),rc_learn_more&&rc_learn_more.shadowRoot&&!rc_learn_more.shadowRoot.querySelector("#style-link")&&rc_learn_more.shadowRoot.appendChild(styleContainer.cloneNode(!0))},500);setTimeout(()=>{clearInterval(intervalId)},1e4)}(()=>{const initializedSections=new WeakSet,initSlideshowShare=section=>{if(!section||initializedSections.has(section)||!section.querySelector("slideshow-component"))return;initializedSections.add(section);const hidePopover=popover=>{popover&&(popover.hidden=!0,popover.classList.remove("is-open"))},hideAll=()=>{section.querySelectorAll("[data-share-popover].is-open").forEach(popover=>hidePopover(popover))},updateLinks=(popover,shareUrl)=>{const encodedUrl=encodeURIComponent(shareUrl),shareMap={whatsapp:`https://api.whatsapp.com/se
1nd?text=${encodedUrl}`,facebook:`https://www.facebook.com/sharer/sharer.php?u=${encodedUrl}`,x:`https://twitter.com/intent/tweet?url=${encodedUrl}`,email:`mailto:?body=${encodedUrl}`,linkedin:`https://www.linkedin.com/sharing/share-offsite/?url=${encodedUrl}`};Object.entries(shareMap).forEach(([target,href])=>{const anchor=popover.querySelector(`[data-share-target="${target}"]`);if(!anchor)return;const customLink=anchor.dataset.shareCustomLink;anchor.href=customLink&&customLink.trim()!==""?customLink:href})};section.querySelectorAll(".banner__podcast-icons").forEach(iconsWrap=>{const toggleBtn=iconsWrap.querySelector("[data-share-toggle]"),popover=iconsWrap.querySelector("[data-share-popover]"),urlInput=popover?.querySelector("[data-share-input]"),copyBtn=popover?.querySelector("[data-share-copy]"),closeBtn=popover?.querySelector("[data-share-close]");!toggleBtn||!popover||!urlInput||(updateLinks(popover,urlInput.value||window.location.href),toggleBtn.addEventListener("click",event=>{event.preventDefault(),event.stopPropagation();const isOpen=popover.classList.contains("is-open");hideAll(),isOpen||(popover.hidden=!1,popover.classList.add("is-open"))}),closeBtn?.addEventListener("click",event=>{event.preventDefault(),event.stopPropagation(),hidePopover(popover)}),copyBtn?.addEventListener("click",async event=>{event.preventDefault(),event.stopPropagation();try{await navigator.clipboard.writeText(urlInput.value),copyBtn.textContent="Copiado",setTimeout(()=>{copyBtn.textContent="Copiar"},1800)}catch{urlInput.focus(),urlInput.select()}}))}),document.addEventListener("click",event=>{event.target.closest("[data-share-popover], [data-share-toggle]")||hideAll()}),window.addEventListener("keydown",event=>{event.key==="Escape"&&hideAll()})},initAll=()=>{document.querySelectorAll(".slideshow-section").forEach(section=>initSlideshowShare(section))};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",initAll):initAll(),document.addEventListener("shopify:section:load",event=>{initSlideshowShare(event.target)})})();
2//# sourceMappingURL=/cdn/shop/t/59/assets/custom.js.map?v=184128491483541333811778736272

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.