PageSourceSearch

https://saboskirt.com/cdn/shop/t/503/assets/mood-board.js?v=729985048849453751790725531

js saboskirt.com collected 2026-10-03 21:26:44 UTC 9,697 bytes, 2 lines download raw bytes

1(function(){function prefersReducedMotion(){return window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches===!0}function scrollBehavior(){return prefersReducedMotion()?"auto":"smooth"}function initTrack(track){const media=track.closest(".mood-board__media");if(!media)return;const prev=media.querySelector("[data-mood-board-prev]"),next=media.querySelector("[data-mood-board-next]");if(!prev||!next)return;const step=()=>Math.max(1,Math.round(track.clientWidth*.85)),updateDisabled=()=>{const max=track.scrollWidth-track.clientWidth;prev.disabled=track.scrollLeft<=1,next.disabled=track.scrollLeft>=max-1};prev.addEventListener("click",()=>{track.scrollBy({left:-step(),behavior:scrollBehavior()})}),next.addEventListener("click",()=>{track.scrollBy({left:step(),behavior:scrollBehavior()})}),track.addEventListener("scroll",updateDisabled,{passive:!0}),window.addEventListener("resize",()=>{updateDisabled()},{passive:!0}),updateDisabled(),initGalleryLoadMore(media),bindKeyboardScroll(track,step)}function initGalleryLoadMore(media){const btn=media.querySelector("[data-mood-board-gallery-load-more]");btn instanceof HTMLButtonElement&&btn.addEventListener("click",()=>{const track=media.querySelector("[data-mood-board-track]"),prev=media.querySelector("[data-mood-board-prev]"),next=media.querySelector("[data-mood-board-next]");if(!track)return;const chunk=Math.max(1,parseInt(btn.getAttribute("data-load-more-chunk")||"4",10)||4),pending=track.querySelectorAll(".mood-board__slide[data-mood-board-deferred][hidden]");if(pending.length===0){btn.hidden=!0;return}let n=0;for(const slide of pending){if(n>=chunk)break;slide.removeAttribute("hidden"),slide.removeAttribute("data-mood-board-deferred"),n++}const maxScroll=track.scrollWidth-track.clientWidth;prev instanceof HTMLButtonElement&&(prev.disabled=track.scrollLeft<=1),next instanceof HTMLButtonElement&&(next.disabled=track.scrollLeft>=maxScroll-1),track.querySelectorAll(".mood-board__slide[data-mood-board-deferred][hidden]").length===0&&(btn.hidden=!0)})}function initCarousel(scroller){const cells=scroller.querySelectorAll(".mood-board__cell");if(cells.length<=1)return;const step=()=>{const first=cells[0];if(!first)return scroller.clientWidth;const rect=first.getBoundingClientRect(),style=window.getComputedStyle(scroller),gap=parseFloat(style.columnGap||style.gap)||0;return rect.width+gap},prev=scroller.parentElement?.querySelector("[data-mood-carousel-prev]"),next=scroller.parentElement?.querySelector("[data-mood-carousel-next]");if(!prev||!next)return;const updateDisabled=()=>{const max=scroller.scrollWidth-scroller.clientWidth;prev.disabled=scroller.scrollLeft<=1,next.disabled=scroller.scrollLeft>=max-1};prev.addEventListener("click",()=>{scroller.scrollBy({left:-step(),behavior:scrollBehavior()})}),next.addEventListener("click",()=>{scroller.scrollBy({left:step(),behavior:scrollBehavior()})}),scroller.addEventListener("scroll",updateDisabled,{passive:!0}),window.addEventListener("resize",updateDisabled,{passive:!0}),updateDisabled(),bindKeyboardScroll(scroller,step)}function bindKeyboardScroll(el,getStep){!el||el.dataset.moodKeyboardScroll==="1"||(el.dataset.moodKeyboardScroll="1",el.addEventListener("keydown",e=>{e.key==="ArrowRight"||e.key==="ArrowDown"?(e.preventDefault(),el.scrollBy({left:getStep(),behavior:scrollBehavior()})):e.key==="ArrowLeft"||e.key==="ArrowUp"?(e.preventDefault(),el.scrollBy({left:-getStep(),behavior:scrollBehavior()})):e.key==="Home"?(e.preventDefault(),el.scrollTo({left:0,behavior:scrollBehavior()})):e.key==="End"&&(e.preventDefault(),el.scrollTo({left:el.scrollWidth,behavior:scrollBehavior()}))}))}function initLightbox(root){root.querySelectorAll("[data-mood-board-lightbox-open]").forEach(btn=>{btn.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation();const dialog=btn.closest(".mood-board__cell")?.querySelector("[data-mood-board-lightbox]"),img=dialog?.querySelector(".mood-board-lightbox__img");if(!(dialog instanceof HTMLDialogElement)||!(img instanceof HTMLImageElement))return;const src=btn.getAttribute("data-lightbox-src")||"",alt=btn.getAttribute("data-lightbox-alt")||"",w=btn.getAttribute("data-lightbox-width"),h=btn.getAttribute("data-lightbox-height");img.src=src,img.alt=alt,w&&(img.width=parseInt(w,10)||1200),h&&(img.height=parseInt(h,10)||1200),dialog.showModal()})}),root.querySelectorAll("[data-mood-board-lightbox]").forEach(dialog=>{dialog instanceof HTMLDialogElement&&(dialog.querySelectorAll("[data-mood-board-lightbox-close]").forEach(closeBtn=>{closeBtn.addEventListener("click",()=>dialog.close())}),dialog.addEventListener("click",ev=>{ev.target===dialog&&dialog.close()}),dialog.addEventListener("cancel",ev=>{ev.preventDefault(),dialog.close()}))})}function initShare(root){const btn=root.querySelector("[data-mood-board-copy-link]");if(!(btn instanceof HTMLButtonElement))return;const url=root.getAttribute("data-mood-board-share-url")||`${window.location.origin}${window.location.pathname}`,feedback=root.querySelector("[data-mood-board-copy-feedback]");btn.addEventListener("click",async()=>{const title=document.title||"",showCopied=()=>{feedback&&(feedback.hidden=!1,window.setTimeout(()=>{feedback.hidden=!0},2200))};
1try{if(navigator.share)try{await navigator.share({url,title});return}catch{}await navigator.clipboard.writeText(url),showCopied()}catch{try{const ta=document.createElement("textarea");ta.value=url,ta.setAttribute("readonly",""),ta.style.position="fixed",ta.style.left="-9999px",document.body.appendChild(ta),ta.select(),document.execCommand("copy"),document.body.removeChild(ta),showCopied()}catch{}}})}function initGridCollapse(root){const wrap=root.querySelector("[data-mood-grid-expand-wrap]");if(!wrap)return;const scroller=root.querySelector("[data-mood-board-carousel]"),btn=wrap.querySelector("[data-mood-grid-load-all]");if(!scroller||!btn)return;const shell=scroller.closest(".mood-board__carousel-shell"),limD=parseInt(wrap.getAttribute("data-mood-grid-initial-desktop")||"999",10),limM=parseInt(wrap.getAttribute("data-mood-grid-initial-mobile")||"999",10),showMoreText=btn.getAttribute("data-mood-show-more-text")||"View more",showLessText=btn.getAttribute("data-mood-show-less-text")||"View less",btnText=btn.querySelector("[data-mood-grid-toggle-text]"),btnKicker=btn.querySelector("[data-mood-grid-toggle-kicker]"),mq=window.matchMedia("(min-width: 750px)");let expanded=!1;const cells=()=>Array.from(scroller.querySelectorAll(":scope > .mood-board__cell"));scroller.setAttribute("data-mood-grid-managed","true");const limitFor=()=>mq.matches?scroller.classList.contains("mood-board__grid--carousel")?999:limD:scroller.classList.contains("mood-board__grid--mobile-carousel")?999:limM,clearPeekVars=()=>{scroller.style.removeProperty("--mood-grid-fade-start")},setCellClipped=(cell,clipped)=>{clipped?cell.setAttribute("data-mood-grid-clipped",""):cell.removeAttribute("data-mood-grid-clipped")},isLayoutHidden=()=>scroller.offsetParent===null&&getComputedStyle(scroller).position!=="fixed",apply=()=>{const lim=limitFor(),list=cells();if(list.forEach(c=>c.removeAttribute("hidden")),lim>=list.length){scroller.style.removeProperty("max-height"),clearPeekVars(),list.forEach(c=>setCellClipped(c,!1)),scroller.removeAttribute("data-mood-grid-collapsed"),scroller.removeAttribute("data-mood-grid-expanded"),shell?.removeAttribute("data-mood-grid-collapsed"),shell?.removeAttribute("data-mood-grid-expanded"),wrap.hidden=!0,btn.setAttribute("aria-expanded","false");return}if(expanded){list.forEach(c=>setCellClipped(c,!1)),scroller.style.removeProperty("max-height"),clearPeekVars(),scroller.removeAttribute("data-mood-grid-collapsed"),scroller.setAttribute("data-mood-grid-expanded","true"),shell?.removeAttribute("data-mood-grid-collapsed"),shell?.setAttribute("data-mood-grid-expanded","true"),wrap.hidden=!1,btnText?btnText.textContent=showLessText:btn.textContent=showLessText,btnKicker&&(btnKicker.textContent="Back to the first edit"),btn.setAttribute("aria-label","View fewer event photos"),btn.setAttribute("aria-expanded","true");return}if(isLayoutHidden()){scroller.style.removeProperty("max-height"),list.forEach(c=>setCellClipped(c,!1));return}if(list.forEach((c,i)=>setCellClipped(c,i>=lim)),scroller.style.removeProperty("max-height"),scroller.setAttribute("data-mood-grid-collapsed","true"),scroller.removeAttribute("data-mood-grid-expanded"),shell?.setAttribute("data-mood-grid-collapsed","true"),shell?.removeAttribute("data-mood-grid-expanded"),wrap.hidden=!1,btnText?btnText.textContent=showMoreText:btn.textContent=showMoreText,btnKicker){const remaining=Math.max(list.length-lim,0);btnKicker.textContent=remaining===1?"1 more event photo":`${remaining} more event photos`}btn.setAttribute("aria-label","View more event photos"),btn.setAttribute("aria-expanded","false")};btn.addEventListener("click",()=>{expanded=!expanded,apply()}),mq.addEventListener("change",apply),window.addEventListener("resize",apply,{passive:!0}),typeof MutationObserver<"u"&&new MutationObserver(()=>apply()).observe(document.body,{attributes:!0,attributeFilter:["data-active-brand"]}),apply()}function initRoot(root){root.querySelectorAll("[data-mood-board-track]").forEach(initTrack),root.querySelectorAll("[data-mood-board-carousel]").forEach(initCarousel),initGridCollapse(root),initLightbox(root),initShare(root)}document.querySelectorAll("[data-mood-board-root]").forEach(initRoot),document.addEventListener("shopify:section:load",event=>{const t=event.target;if(!(t instanceof HTMLElement))return;const root=t.querySelector("[data-mood-board-root]");root&&initRoot(root)})})();
2//# sourceMappingURL=/cdn/shop/t/503/assets/mood-board.js.map?v=729985048849453751790725531

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.