PageSourceSearch

https://playmakerapp.io/cdn/shop/t/3/assets/content-cards.js?v=129177805046758298741762544796

js playmakerapp.io collected 2026-10-05 23:10:05 UTC 6,525 bytes, 2 lines download raw bytes

1(function(){const calcOffset=()=>{const windowWidth=window.innerWidth,windowWidthWithoutScrollbar=document.documentElement.clientWidth;return windowWidth>=1440?(windowWidthWithoutScrollbar-1280)/2:0},initButtonCursor=section=>{if(!section||!section?.classList.contains("section-content-cards")||!section.querySelector(".content-cards-with-custom-cursor"))return;let isBtnCursorInit=!1,currentX=0,currentY=0,targetX=0,targetY=0;const easingFactor=.175;let isAnimating=!1;const button=section.querySelector(".content-cards-drag-button"),slider=section.querySelector(".content-cards__bar"),container=section.querySelector(".content-cards-list__wrapper");if(!container||!button||!slider)return;const animateButton=()=>{isAnimating=!0,currentX+=(targetX-currentX)*easingFactor,currentY+=(targetY-currentY)*easingFactor,button.style.left=`${currentX}px`,button.style.top=`${currentY}px`,Math.abs(targetX-currentX)>.1||Math.abs(targetY-currentY)>.1?requestAnimationFrame(()=>animateButton()):isAnimating=!1},changeButtonColorScheme=((callback,delay)=>{let timerFlag=null;return(...args)=>{timerFlag===null&&(callback(...args),timerFlag=setTimeout(()=>{timerFlag=null},delay))}})(block=>{const colorScheme=block.getAttribute("data-c-card-color-scheme");if(!colorScheme)return;const classesToRemove=Array.from(button.classList).filter(className=>className.startsWith("color-background-"));button.classList.remove(...classesToRemove),button.classList.add(colorScheme)},100),handleMouseMove=e=>{!e.target.closest(".content-card__button")&&!e.target.closest(".content-card__content-bottom .description")?slider.classList.add("cursor-active"):slider.classList.remove("cursor-active");const buttonRect=button.getBoundingClientRect();targetX=e.clientX-buttonRect.width/2,targetY=e.clientY-buttonRect.height/2,isAnimating||animateButton();const block=e.target.closest(".content-card__wrapper");block&&changeButtonColorScheme(block)},handleMouseEnter=e=>{const buttonRect=button.getBoundingClientRect();targetX=currentX=e.clientX-buttonRect.width/2,targetY=currentY=e.clientY-buttonRect.height/2,button.style.left=`${currentX}px`,button.style.top=`${currentY}px`,slider.classList.add("cursor-active")},handlePointerDown=()=>{button.classList.add("drag-active")},handlePointerUp=()=>{button.classList.remove("drag-active")},handleMouseLeave=()=>{slider.classList.remove("cursor-active")};window.innerWidth>=1200&&window.matchMedia("(pointer:fine)").matches&&!isBtnCursorInit&&(container.addEventListener("mouseenter",handleMouseEnter),container.addEventListener("pointermove",handleMouseMove),container.addEventListener("mousemove",handleMouseMove),container.addEventListener("mouseleave",handleMouseLeave),container.addEventListener("pointerdown",handlePointerDown),container.addEventListener("pointerup",handlePointerUp),isBtnCursorInit=!0),window.addEventListener("resize",()=>{window.innerWidth>=1200&&window.matchMedia("(pointer:fine)").matches&&!isBtnCursorInit&&(container.addEventListener("mouseenter",handleMouseEnter),container.addEventListener("pointermove",handleMouseMove),container.addEventListener("mousemove",handleMouseMove),container.addEventListener("mouseleave",handleMouseLeave),container.addEventListener("pointerdown",handlePointerDown),container.addEventListener("pointerup",handlePointerUp),isBtnCursorInit=!0),(window.innerWidth<1200||!window.matchMedia("(pointer:fine)").matches)&&isBtnCursorInit&&(container.removeEventListener("mouseenter",handleMouseEnter),container.removeEventListener("pointermove",handleMouseMove),container.removeEventListener("mousemove",handleMouseMove),container.removeEventListener("mouseleave",handleMouseLeave),container.removeEventListener("pointerdown",handlePointerDown),container.removeEventListener("pointerup",handlePointerUp),slider.classList.remove("cursor-active"),button.classList.remove("drag-active"),button.style="",isBtnCursorInit=!1)})},initSlider=(section,isScrollbar)=>{const swiperEl=section.querySelector(".content-cards-swiper");if(!swiperEl)return;const mobSlidesPerView=swiperEl.classList.contains("content-cards-swiper--visible-overflow")?"auto":1,slides=swiperEl.querySelectorAll(".content-card"),progressBar=section.querySelector(".swiper-scrollbar"),navigation=section.querySelector(".content-cards__navigation"),pagination=section.querySelector(".content-cards__pagination");if(!slides||!slides.length)return;
1slides.forEach(slide=>{slide.classList.add("swiper-slide")});const scrollbarSettings={speed:1e3,allowTouchMove:!0,scrollbar:{el:progressBar??null,draggable:!0},mousewheel:{forceToAxis:!0},slidesPerView:1,spaceBetween:0,watchSlidesProgress:!0,slidesOffsetAfter:0,slidesOffsetBefore:0,breakpoints:{750:{slidesPerView:"auto",spaceBetween:16,slidesOffsetAfter:20,slidesOffsetBefore:20},1200:{slidesPerView:"auto",spaceBetween:16,slidesOffsetAfter:80,slidesOffsetBefore:80},1440:{slidesPerView:"auto",spaceBetween:16,slidesOffsetAfter:calcOffset(),slidesOffsetBefore:calcOffset()}}},sliderSettings={slidesPerView:mobSlidesPerView,spaceBetween:16,speed:800,allowTouchMove:!0,navigation:{nextEl:navigation?navigation.querySelector(".swiper-button-next"):null,prevEl:navigation?navigation.querySelector(".swiper-button-prev"):null,disabledClass:"swiper-button-disabled"},pagination:pagination?{el:pagination,type:"bullets",clickable:!0}:!1,breakpoints:{750:{spaceBetween:16}}};new Swiper(swiperEl,isScrollbar?scrollbarSettings:sliderSettings)},destroySlider=section=>{const swiperEl=section.querySelector(".content-cards-swiper");swiperEl?.swiper&&(swiperEl.swiper.destroy(),swiperEl.querySelectorAll(".content-card").forEach(sli
1de=>{slide.removeAttribute("style"),slide.classList.remove("swiper-slide")}))},initContentCards=section=>{if(!section||!section?.classList.contains("section-content-cards"))return;const sliderContainer=section.querySelector(".content-cards");if(!sliderContainer)return;const cardsLayout=sliderContainer.dataset.layout;if(cardsLayout!=="bar"&&cardsLayout!=="slider")return;new ResizeObserver(entries=>{entries.forEach(entry=>{let isScrollbar=!1;entry.contentRect.width>=750&&cardsLayout==="bar"&&(isScrollbar=!0),destroySlider(section),initSlider(section,isScrollbar)})}).observe(section)};initContentCards(document.currentScript.parentElement),initButtonCursor(document.currentScript.parentElement),document.addEventListener("shopify:section:load",function(event){initContentCards(event.target),initButtonCursor(event.target)})})();
2//# sourceMappingURL=/cdn/shop/t/3/assets/content-cards.js.map?v=129177805046758298741762544796

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.