{"version":3,"file":"AdvancedCarousel.MI1TY0sN.mjs","names":["React","useRef","useState","useCallback","useMemo","animate","_Fragment"],"sources":["https:/framerusercontent.com/modules/6hJuBDjZVWhS0E2W1Kft/BvHkP8FixhOrEys9fEQt/Store.js","https:/framerusercontent.com/modules/f2YzbpAkUkF96OnJ8IVU/7YyPkDfWw7n14YLjjdPv/AdvancedCarousel.js"],"sourcesContent":["import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";// Store to manage carousel control\nexport const useCarouselState=createStore({direction:null});\nexport const __FramerMetadata__ = {\"exports\":{\"useCarouselState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Store.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import React,{useEffect,useRef,useState,useCallback,useMemo}from\"react\";import{addPropertyControls,ControlType,useMotionValue,animate}from\"framer\";import{useCarouselState}from\"https://framerusercontent.com/modules/6hJuBDjZVWhS0E2W1Kft/BvHkP8FixhOrEys9fEQt/Store.js\";/**\n * By Dan Marek - Fixed for Multiple Instances\n *\n * @framerDisableUnlink\n * @framerIntrinsicHeight 200\n * @framerIntrinsicWidth 400\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n\n */// Generate unique IDs for each carousel instance\nconst generateUniqueId=()=>`carousel_${Math.random().toString(36).substr(2,9)}`;// Global script loading state to prevent conflicts\nlet scriptsLoaded={swiper:false,phosphor:false};let loadingPromises={swiper:null,phosphor:null};// Define styles\nconst styles={container:{display:\"flex\",width:\"100%\",height:\"100%\",placeContent:\"center\",placeItems:\"center\",flexDirection:\"column\",color:\"rgb(153, 102, 255)\",background:\"rgba(136, 85, 255, 0.1)\",fontSize:\"11px\",overflow:\"visible\",padding:\"20px 20px 30px\"},icon:{fontSize:\"24px\",color:\"#ffc107\",marginBottom:\"10px\"},title:{fontSize:\"14px\",fontWeight:\"bold\",color:\"rgb(153, 102, 255)\",marginBottom:\"5px\"},span:{margin:\"0px\",opacity:.7,maxWidth:\"200px\",lineHeight:\"1.5\",textAlign:\"center\",textWrap:\"balance\",color:\"rgb(153, 102, 255)\"}};// Placeholder content when no children are provided\nfunction ConnectToContent(){return /*#__PURE__*/_jsxs(\"section\",{style:styles.container,children:[/*#__PURE__*/_jsx(\"div\",{style:styles.icon,children:\"✨\"}),/*#__PURE__*/_jsx(\"div\",{style:styles.title,children:\"Connect to Content\"}),/*#__PURE__*/_jsx(\"span\",{style:styles.span,children:\"Add layers or components to swipe between.\"})]});}function injectVariantDeep(node,variant){if(!/*#__PURE__*/React.isValidElement(node))return node;// If this is the final visual child (no more React children), clone with variant\nconst children=node.props?.children;if(!children||typeof children===\"string\"||typeof children===\"number\"){return /*#__PURE__*/React.cloneElement(node,{variant});}// If it's a single child, go deeper\nconst inner=React.Children.only(children);const injected=injectVariantDeep(inner,variant);// Re-clone the current node with the updated child\nreturn /*#__PURE__*/React.cloneElement(node,{children:injected});}function normalizeSlidesFromChildren(children){const topLevelChildren=React.Children.toArray(children);if(topLevelChildren.length===1){const singleChild=topLevelChildren[0];if(/*#__PURE__*/React.isValidElement(singleChild)){const innerChildren=React.Children.toArray(singleChild.props?.children);if(innerChildren.length>1){return innerChildren;}}}return topLevelChildren;}// Script loader utility\nconst loadScript=(src,type)=>{if(typeof document===\"undefined\")return Promise.resolve();if(scriptsLoaded[type]){return Promise.resolve();}if(loadingPromises[type]){return loadingPromises[type];}loadingPromises[type]=new Promise((resolve,reject)=>{const script=document.createElement(\"script\");script.src=src;script.onload=()=>{scriptsLoaded[type]=true;resolve();};script.onerror=reject;document.body.appendChild(script);});return loadingPromises[type];};const loadStylesheet=href=>{if(typeof document===\"undefined\")return;const existing=document.querySelector(`link[href=\"${href}\"]`);if(existing)return;const link=document.createElement(\"link\");link.rel=\"stylesheet\";link.href=href;document.head.appendChild(link);};/**\n * Advanced Carousel Component - Fixed for Multiple Instances\n */export default function AdvancedSwiperCarousel(props){// Initialize unique ID immediately\nconst carouselId=useRef(generateUniqueId());const instanceId=carouselId.current;const swiperRef=useRef(null);const containerRef=useRef(null);const autoplayIntervalRef=useRef(null)// Track autoplay interval to prevent multiple instances\n;const manualLoopTimeoutRef=useRef(null)// Track manual loop timeout\n;const progressAnimationRef=useRef(null)// Track progress animation\n;// Motion value for autoplay progress (0-1)\nconst autoplayProgress=useMotionValue(0);const[isPlaceholder,setIsPlaceholder]=useState(()=>{// Initialize with correct value immediately to prevent flash\nreturn normalizeSlidesFromChildren(props.children).length===0;});const[swiper,setSwiper]=useState(null);const[localNavigation,setLocalNavigation]=useState({direction:null,timestamp:0});const[store]=useCarouselState();const[isReady,setIsReady]=useState(true)// Start as ready to prevent flash\n;const[isAtBeginning,setIsAtBeginning]=useState(true);const[isAtEnd,setIsAtEnd]=useState(false);const[activeSlideIndex,setActiveSlideIndex]=useState(0);const[activeRealIndex,setActiveRealIndex]=useState(0)// Track realIndex for loop mode\n;const lastActiveIndex=useRef(0);const resizeTimeoutRef=useRef(null);const isClient=typeof window!==\"undefined\";// Enhanced canvas detection\nconst isFramerCanvas=typeof window!==\"undefined\"&&(window.location.href.includes(\"framer.com\")||window.location.href.includes(\"preview.framer.website\")||window.__FRAMER_CANVAS__);// Calculate wrapper and container heights separately for proper parent inheritance\nconst getWrapperHeight=useCallback(()=>{// The wrapper should always fill the parent when stretch/rows is set\nif(props.heightType===\"stretch\"||props.heightType===\"rows\"){return\"100%\";}return\"auto\"// Auto height\n;},[props.heightType]);const getContainerHeight=useCallback(()=>{if(props.heightType===\"stretch\"){return props.heightInset>0?`calc(100% - ${props.heightInset}px)`:\"100%\";}else if(props.heightType===\"rows\"){return props.heightInset>0?`calc(${100/props.heightRows}% - ${props.heightInset}px)`:`${100/props.heightRows}%`;}return\"auto\"// Auto height\n;},[props.heightType,props.heightInset,props.heightRows]);// Block SSR rendering entirely for client-only safety\nif(typeof window===\"undefined\")return null;// CREATE UNIQUE CSS CLASSES FUNCTION RIGHT HERE - BEFORE useEffects\nconst getUniqueClass=baseClass=>`${baseClass}-${instanceId}`;// NEW: Function to reorder children for centered arrangement\nconst reorderChildrenForCentered=useCallback(children=>{if(!props.centeredSlides){return React.Children.toArray(children);}const childArray=React.Children.toArray(children);const reorderedChildren=[];childArray.forEach((child,index)=>{let position;if(index===0){position=0// center\n;}else if(index%2===1){position=-Math.ceil(index/2);}else{position=Math.ceil(index/2);}reorderedChildren.push({child,position,originalIndex:index,key:`${instanceId}-slide-${index}`});});reorderedChildren.sort((a,b)=>a.position-b.position);console.log(`🎯 ${instanceId} Centered arrangement:`,{original:childArray.map((_,i)=>i),reordered:reorderedChildren.map(item=>item.originalIndex),positions:reorderedChildren.map(item=>item.position)});return reorderedChildren;},[props.centeredSlides,instanceId]);const slides=useMemo(()=>{return normalizeSlidesFromChildren(props.children);},[props.children]);const slideCount=slides.length;// Restore effectiveLoop to use Swiper's built-in loop\nconst effectiveLoop=useMemo(()=>{const isPosterMode=props.widthMode===\"maxWidth\";console.log(`🔁 ${instanceId} Loop calculation:`,{propsLoop:props.loop,slideCount,isPosterMode,widthMode:props.widthMode});// Disable native loop in poster mode - we'll handle it manually\n// Loop doesn't work properly with centered + slidesPerView: auto + absolute positioning\nif(isPosterMode){console.log(`🔁 ${instanceId} Loop disabled (poster mode)`);return false;}// For all other modes, enable loop if requested\nconst result=props.loop&&slideCount>1;console.log(`🔁 ${instanceId} Loop enabled: ${result}`);return result;},[props.loop,slideCount,props.widthMode,instanceId]);// Memoize the navigation handler with custom loop for poster mode\nconst handleNavigation=useCallback(direction=>{console.log(`🎯 ${instanceId} handleNavigation called:`,{direction,hasSwiperRef:!!swiperRef.current?.swiper});if(!swiperRef.current?.swiper){console.warn(`⚠️ ${instanceId} No swiper instance available`);return;}const swiper=swiperRef.current.swiper;const isPosterMode=props.widthMode===\"maxWidth\";const isAspectRatioMode=props.widthMode===\"aspectRatio\";const currentIndex=swiper.activeIndex;console.log(`🎯 ${instanceId} Navigation state:`,{isPosterMode,isAspectRatioMode,loop:props.loop,currentIndex,slideCount,direction});// Custom loop logic for poster mode\nif(isPosterMode&&props.loop&&slideCount>1){if(direction===\"left\"){if(currentIndex===0){console.log(`🔄 ${instanceId} Wrapping to last slide`);swiper.slideTo(slideCount-1);}else{console.log(`← ${instanceId} Going to previous slide`);swiper.slidePrev();}}else if(direction===\"right\"){if(currentIndex===slideCount-1){console.log(`🔄 ${instanceId} Wrapping to first slide`);swiper.slideTo(0);}else{console.log(`→ ${instanceId} Going to next slide`);swiper.slideNext();}}}else if(isAspectRatioMode&&!swiper.params.loop){// In aspect ratio mode WITHOUT loop, use slideTo for precise navigation\nif(direction===\"left\"){const targetIndex=Math.max(0,swiper.activeIndex-1);console.log(`← ${instanceId} Aspect ratio (no loop): slideTo ${targetIndex}`);swiper.slideTo(targetIndex);}else if(direction===\"right\"){const targetIndex=Math.min(slideCount-1,swiper.activeIndex+1);console.log(`→ ${instanceId} Aspect ratio (no loop): slideTo ${targetIndex}`);swiper.slideTo(targetIndex);}}else{// Normal navigation (with or without native loop)\nif(direction===\"left\"){// If at beginning and loop is requested, go to end\nif(swiper.isBeginning&&props.loop){const lastIndex=slideCount-1;console.log(`🔄 ${instanceId} Manual loop: wrapping from beginning to end (${lastIndex})`);swiper.slideTo(lastIndex,300);}else{swiper.slidePrev();}}else if(direction===\"right\"){// If at end and loop is requested, go to beginning\nif(swiper.isEnd&&props.loop){console.log(`🔄 ${instanceId} Manual loop: wrapping from end to beginning`);swiper.slideTo(0,300);}else{swiper.slideNext();}}}},[props.widthMode,props.loop,slideCount,instanceId]);useEffect(()=>{if(typeof window===\"undefined\"||typeof document===\"undefined\")return;// Only update if children actually changed (not on initial mount)\nconst newIsPlaceholder=slideCount===0;if(newIsPlaceholder!==isPlaceholder){setIsPlaceholder(newIsPlaceholder);}},[slideCount,isPlaceholder]);useEffect(()=>{if(typeof window===\"undefined\"||typeof document===\"undefined\")return;// Pre-inject critical CSS to prevent layout shift\nconst criticalCSS=`\n            /* Pre-allocate space for Swiper elements to prevent layout shift */\n            .swiper-container, .swiper-wrapper, .swiper-slide {\n                box-sizing: border-box;\n            }\n            .swiper-slide {\n                flex-shrink: 0;\n                width: 100%;\n                height: 100%;\n                position: relative;\n            }\n            .swiper-wrapper {\n                position: relative;\n                width: 100%;\n                height: 100%;\n                z-index: 1;\n                display: flex;\n                transition-property: transform;\n                box-sizing: content-box;\n            }\n            .swiper-container {\n                margin: 0 auto;\n                position: relative;\n                overflow: hidden;\n                list-style: none;\n                z-index: 1;\n            }\n            /* Reserve space for navigation arrows */\n            .swiper-button-prev, .swiper-button-next {\n                position: absolute;\n                top: 50%;\n                width: 48px;\n                height: 48px;\n                margin-top: -24px;\n                z-index: 10;\n                cursor: pointer;\n                display: flex;\n                align-items: center;\n                justify-content: center;\n                background: rgba(0, 0, 0, 0.2);\n                backdrop-filter: blur(4px);\n                border-radius: 50%;\n            }\n            /* Reserve space for pagination */\n            .swiper-pagination {\n                position: absolute;\n                text-align: center;\n                transition: 300ms opacity;\n                transform: translate3d(0, 0, 0);\n                z-index: 10;\n            }\n        `;// Inject critical CSS immediately\nconst styleId=`critical-css-${instanceId}`;if(!document.getElementById(styleId)){const style=document.createElement(\"style\");style.id=styleId;style.textContent=criticalCSS;document.head.appendChild(style);}// Simple script loading without promises\nif(!document.querySelector('script[src*=\"phosphor-icons\"]')){const phosphorScript=document.createElement(\"script\");phosphorScript.src=\"https://cdn.jsdelivr.net/npm/phosphor-icons@1.4.2/src/index.min.js\";phosphorScript.onload=()=>console.log(`✅ Phosphor loaded for: ${instanceId}`);document.body.appendChild(phosphorScript);}if(!document.querySelector('script[src*=\"swiper-bundle\"]')){const swiperScript=document.createElement(\"script\");swiperScript.src=\"https://unpkg.com/swiper/swiper-bundle.min.js\";swiperScript.onload=()=>console.log(`✅ Swiper loaded for: ${instanceId}`);document.body.appendChild(swiperScript);}loadStylesheet(\"https://cdn.jsdelivr.net/npm/phosphor-icons@1.4.2/src/css/icons.min.css\");loadStylesheet(\"https://unpkg.com/swiper/swiper-bundle.min.css\");},[instanceId]);useEffect(()=>{if(typeof window===\"undefined\"||typeof document===\"undefined\")return;// Store monitoring logic (if needed)\n},[store,instanceId]);useEffect(()=>{if(typeof window===\"undefined\"||typeof document===\"undefined\")return;const initializeSwiper=()=>{if(typeof window===\"undefined\"||typeof document===\"undefined\")return;if(!window.Swiper){console.warn(`⚠️ ${instanceId} Swiper library not loaded, retrying...`);setTimeout(()=>{if(typeof window!==\"undefined\"&&window.Swiper&&swiperRef.current){initializeSwiper();}},200);return;}if(!swiperRef.current||!swiperRef.current.nodeType){console.warn(`⚠️ ${instanceId} DOM element not ready`);return;}if(swiper){lastActiveIndex.current=swiper.activeIndex||0;swiper.destroy(true,true);console.log(`🗑️ ${instanceId} Destroyed existing Swiper`);}const slideCount=slides.length;// Disable loop if centeredSlides is enabled\n// const effectiveLoop = props.loop && slideCount > 1 && !props.centeredSlides\n// Use the component-level effectiveLoop calculation\nconst uniquePaginationClass=getUniqueClass(\"swiper-pagination\");const uniqueBulletClass=getUniqueClass(\"swiper-pagination-bullet\");const uniqueBulletActiveClass=getUniqueClass(\"swiper-pagination-bullet-active\");const uniqueNextClass=getUniqueClass(\"swiper-button-next\");const uniquePrevClass=getUniqueClass(\"swiper-button-prev\");try{const isPosterMode=props.widthMode===\"maxWidth\";const isAspectRatioMode=props.widthMode===\"aspectRatio\";const posterCrossfade=isPosterMode&&props.crossfade;const posterWithLoop=isPosterMode&&props.loop;console.log(`🚀 Initializing Swiper for ${instanceId}`,{widthMode:props.widthMode,isPosterMode:isPosterMode,centeredSlides:isPosterMode?true:props.centeredSlides,maxWidth:props.maxWidth,containerWidth:swiperRef.current?.offsetWidth,crossfade:props.crossfade,posterCrossfade:posterCrossfade,effectWillBe:posterCrossfade?\"creative (custom crossfade)\":isPosterMode?\"slide\":props.crossfade?\"fade\":\"other\",nativeLoop:effectiveLoop,customLoop:posterWithLoop?\"✅ Manual loop for poster mode\":false,allowTouchMove:isPosterMode?false:props.enableDrag});// Respect initialIndex in all modes\nlet initialSlide=props.initialIndex||0;// Ensure it's within bounds\ninitialSlide=Math.min(initialSlide,slideCount-1);// IMPORTANT: When loop is enabled, Swiper creates duplicate slides\n// and the initialSlide index needs to account for this.\n// However, we'll let Swiper handle it by starting at 0 and then\n// sliding to the desired index after initialization if loop is enabled\nconst configInitialSlide=effectiveLoop?0:initialSlide;lastActiveIndex.current=initialSlide;console.log(`🎯 ${instanceId} Initial slide configuration:`,{requestedIndex:props.initialIndex,boundedIndex:initialSlide,configInitialSlide,loop:effectiveLoop,willSlideAfterInit:effectiveLoop&&initialSlide!==0});// Calculate slidesPerView\nconst slidesPerView=props.widthMode===\"columns\"?props.widthColumns:\"auto\";// Check if there are enough slides for loop mode\n// Swiper needs at least slidesPerView * 2 slides for proper looping\nconst needsManualLoop=effectiveLoop&&props.widthMode===\"columns\"&&slideCount<props.widthColumns*2;if(needsManualLoop){console.warn(`⚠️ ${instanceId} Not enough slides for Swiper's native loop!`,{totalSlides:slideCount,columnsToShow:props.widthColumns,required:props.widthColumns*2,solution:\"Using manual loop fallback\"});}const swiperConfig={loop:effectiveLoop,initialSlide:configInitialSlide,slidesPerView:slidesPerView,slidesPerGroup:1,spaceBetween:posterCrossfade?0:props.spaceBetween,centeredSlides:isPosterMode?true:props.centeredSlides,centeredSlidesBounds:isPosterMode?true:false,slideToClickedSlide:isPosterMode&&!posterCrossfade?true:false,allowTouchMove:isPosterMode?false:props.enableDrag,watchSlidesProgress:true,watchSlidesVisibility:true,// Slide transition timing\nspeed:500,// Improve stability and responsiveness\nobserver:true,observeParents:true,observeSlideChildren:true,updateOnWindowResize:true,resizeObserver:true,pagination:showDots?{el:`.${uniquePaginationClass}`,clickable:true,bulletClass:uniqueBulletClass,bulletActiveClass:uniqueBulletActiveClass}:false,navigation:props.arrows.showArrows&&!isPosterMode?{nextEl:`.${uniqueNextClass}`,prevEl:`.${uniquePrevClass}`}:false,effect:isPosterMode&&props.crossfade?\"creative\"// ✅ Use creative effect for poster crossfade (maintains slidesPerView: auto)\n:isPosterMode?\"slide\":props.crossfade?\"fade\":props.coverflowEffect?\"coverflow\":props.effectEnabled?\"creative\":\"slide\",fadeEffect:{crossFade:isPosterMode?false:props.crossfade},coverflowEffect:props.coverflowEffect?{rotate:50,stretch:0,depth:100,modifier:1,slideShadows:true}:{},creativeEffect:isPosterMode&&props.crossfade?{// ✅ Poster mode crossfade: CSS handles positioning & opacity\nlimitProgress:1,shadowPerProgress:false,progressMultiplier:1,prev:{translate:[0,0,0],scale:1},next:{translate:[0,0,0],scale:1},active:{translate:[0,0,0],scale:1}}:props.effectEnabled&&!props.coverflowEffect?{limitProgress:8,prev:{translate:[`-${props.slideOverlap+Math.min(props.spaceBetween/(swiperRef.current?.offsetWidth||1e3)*100,20)}%`,0,0],opacity:props.inactiveOpacity,scale:props.inactiveScale},next:{translate:[`${props.slideOverlap+Math.min(props.spaceBetween/(swiperRef.current?.offsetWidth||1e3)*100,20)}%`,0,0],opacity:props.inactiveOpacity,scale:props.inactiveScale},active:{scale:props.activeScale}}:{},autoplay:props.autoplay&&!posterWithLoop?{delay:props.autoplayDelay,disableOnInteraction:false}:false,keyboard:props.keyboardControl?{enabled:true}:false,on:{init:function(){console.log(`🏁 ${instanceId} Swiper initialized`,{params:this.params,centeredSlides:this.params.centeredSlides,slidesPerView:this.params.slidesPerView,width:this.width,slides:this.slides.length,loop:this.params.loop,initialSlide:this.params.initialSlide,activeIndex:this.activeIndex,realIndex:this.realIndex});setIsAtBeginning(this.isBeginning);setIsAtEnd(this.isEnd);setActiveSlideIndex(this.activeIndex);setActiveRealIndex(this.realIndex)// Track real index for variants\n;// Start initial autoplay progress animation\nif(props.autoplay&&props.exposeAutoplayProgress){autoplayProgress.set(0);progressAnimationRef.current=animate(autoplayProgress,1,{duration:props.autoplayDelay/1e3,ease:\"linear\"});console.log(`📊 ${instanceId} Initial autoplay progress animation started`);}// Debug slide positions\nif(isPosterMode){console.log(`📍 ${instanceId} POSTER MODE - Slide positions:`,{translate:this.translate,activeIndex:this.activeIndex,slidesGrid:this.slidesGrid,snapGrid:this.snapGrid});// In poster crossfade mode, manually set initial slide as active\nif(posterCrossfade){console.log(`🔧 ${instanceId} Manually setting slide ${initialSlide} as active in poster crossfade mode`);setTimeout(()=>{const slides=document.querySelectorAll(`[data-carousel-id=\"${instanceId}\"] .swiper-slide`);slides.forEach((slide,index)=>{slide.classList.remove(\"swiper-slide-active\",\"swiper-slide-prev\",\"swiper-slide-next\");if(index===initialSlide){slide.classList.add(\"swiper-slide-active\");console.log(`✅ ${instanceId} Slide ${index} forced to active state`);}});},100);}else if(this.activeIndex!==initialSlide&&initialSlide!==0){// For other modes, slide to the correct initial slide\n// In loop mode, we need to use the real index\nconst targetIndex=effectiveLoop&&!isPosterMode?initialSlide:initialSlide;console.log(`🔧 ${instanceId} Moving to initial slide ${initialSlide} (currently at ${this.activeIndex}, loop: ${effectiveLoop})`);setTimeout(()=>{if(effectiveLoop&&!isPosterMode){// In loop mode, slide to the realIndex\nthis.slideToLoop(initialSlide,0);console.log(`✅ ${instanceId} Slid to loop index ${initialSlide}`);}else{this.slideTo(initialSlide,0);console.log(`✅ ${instanceId} Slid to index ${initialSlide}`);}},100);}}},slideChangeTransitionStart:function(){// Update variant immediately when transition starts (snappier feel)\nsetActiveRealIndex(this.realIndex);console.log(`🎭 ${instanceId} Variant switch triggered early (realIndex: ${this.realIndex})`);},slideChangeTransitionEnd:function(){setIsAtBeginning(this.isBeginning);setIsAtEnd(this.isEnd);setActiveSlideIndex(this.activeIndex);setActiveRealIndex(this.realIndex)// Keep updating to ensure consistency\n;if(isPosterMode){console.log(`📍 ${instanceId} POSTER MODE - After slide change:`,{activeIndex:this.activeIndex,translate:this.translate});}},resize:function(){console.log(`📏 ${instanceId} Swiper resized`,{width:this.width,centeredSlides:this.params.centeredSlides});this.update()// Force update on resize\n;setIsAtBeginning(this.isBeginning);setIsAtEnd(this.isEnd);}}};console.log(`⚙️ ${instanceId} Swiper Config:`,swiperConfig);const swiperInstance=new window.Swiper(swiperRef.current,swiperConfig);console.log(`✅ ${instanceId} Swiper instance created:`,{centeredSlides:swiperInstance.params.centeredSlides,slidesPerView:swiperInstance.params.slidesPerView,width:swiperInstance.width});// Add custom arrow handlers for poster mode\nif(isPosterMode&&props.arrows.showArrows){const nextButton=document.querySelector(`.${uniqueNextClass}`);const prevButton=document.querySelector(`.${uniquePrevClass}`);if(nextButton&&prevButton){nextButton.addEventListener(\"click\",()=>{console.log(`🖱️ ${instanceId} Next arrow clicked`);handleNavigation(\"right\");});prevButton.addEventListener(\"click\",()=>{console.log(`🖱️ ${instanceId} Prev arrow clicked`);handleNavigation(\"left\");});console.log(`✅ ${instanceId} Custom arrow handlers attached`);}else{console.warn(`⚠️ ${instanceId} Arrow buttons not found`,{nextButton:!!nextButton,prevButton:!!prevButton});}}if(props.clickToNavigate&&!isPosterMode){// Click to navigate - only for non-poster modes\n// (poster mode has no drag anyway, use arrows instead)\nswiperInstance.on(\"click\",(swiper,event)=>{try{const rect=swiper.el.getBoundingClientRect();const clickX=event.clientX-rect.left;const centerX=rect.width/2;if(clickX>centerX){swiper.slideNext();}else{swiper.slidePrev();}}catch(error){console.error(`❌ Click navigation error in ${instanceId}:`,error);}});}// Fix duplicate margins in aspect ratio loop mode\nif(isAspectRatioMode&&effectiveLoop){const fixDuplicateMargins=()=>{const duplicates=swiperInstance.el.querySelectorAll(\".swiper-slide-duplicate\");duplicates.forEach(dup=>{dup.style.marginRight=\"0px\";dup.style.marginLeft=\"0px\";});};// Run on init, update, and slide change\nfixDuplicateMargins();swiperInstance.on(\"slideChange\",fixDuplicateMargins);swiperInstance.on(\"update\",fixDuplicateMargins);}swiperInstance.on(\"slideChange\",()=>{console.log(`📱 ${instanceId} slide changed:`,{activeIndex:swiperInstance.activeIndex,realIndex:swiperInstance.realIndex,isBeginning:swiperInstance.isBeginning,isEnd:swiperInstance.isEnd,totalSlides:swiperInstance.slides.length,loop:swiperInstance.params.loop,slidesPerView:swiperInstance.params.slidesPerView,visibleSlides:swiperInstance.visibleSlides?.length,autoplay:swiperInstance.autoplay?.running});// Update variant state on slideChange too — transition events can miss on drag release\nsetIsAtBeginning(swiperInstance.isBeginning);setIsAtEnd(swiperInstance.isEnd);setActiveSlideIndex(swiperInstance.activeIndex);setActiveRealIndex(swiperInstance.realIndex);// Animate autoplay progress from 0 to 1\nif(props.autoplay&&props.exposeAutoplayProgress){// Cancel any existing animation\nif(progressAnimationRef.current){progressAnimationRef.current.stop();}// Reset to 0\nautoplayProgress.set(0);// Animate to 1 over the autoplay duration\nprogressAnimationRef.current=animate(autoplayProgress,1,{duration:props.autoplayDelay/1e3,ease:\"linear\"});console.log(`📊 ${instanceId} Starting autoplay progress animation (${props.autoplayDelay}ms)`);}// If we've reached the end and loop is enabled, something's wrong\nif(swiperInstance.isEnd&&swiperInstance.params.loop){console.warn(`⚠️ ${instanceId} Reached end despite loop being enabled! This shouldn't happen.`,{loop:swiperInstance.params.loop,slides:swiperInstance.slides.length,slidesPerView:swiperInstance.params.slidesPerView});}// Fallback: If we've reached the end despite loop being requested, manually loop back\n// This happens when Swiper disables loop due to insufficient slides\nif(swiperInstance.isEnd&&props.loop&&props.autoplay){// Clear any existing timeout to prevent duplicates\nif(manualLoopTimeoutRef.current){clearTimeout(manualLoopTimeoutRef.current);}console.log(`🔄 ${instanceId} Manual loop: reached end, scheduling loop back in ${props.autoplayDelay}ms`);// With autoplay, wait for the autoplay delay then loop\nmanualLoopTimeoutRef.current=setTimeout(()=>{console.log(`🔄 ${instanceId} Executing manual loop to slide 0`);swiperInstance.slideTo(0,300)// Smooth transition\n;manualLoopTimeoutRef.current=null;},props.autoplayDelay);}});swiperInstance.on(\"slideChangeTransitionStart\",()=>{console.log(`🎬 ${instanceId} slide transition started`,{from:swiperInstance.previousIndex,to:swiperInstance.activeIndex});});swiperInstance.on(\"slideChangeTransitionEnd\",()=>{console.log(`✅ ${instanceId} slide transition ended`,{activeIndex:swiperInstance.activeIndex});});if(showDots){setTimeout(()=>{const paginationEl=document.querySelector(`.${uniquePaginationClass}`);const bullets=document.querySelectorAll(`.${uniqueBulletClass}`);console.log(`🔍 ${instanceId} Post-init pagination:`,{paginationEl:paginationEl,paginationHTML:paginationEl?.innerHTML,bulletsCount:bullets.length,swiperPagination:swiperInstance.pagination,paginationEnabled:swiperInstance.pagination?.enabled});},100);}setSwiper(swiperInstance);console.log(`✅ ${instanceId} Swiper initialized successfully`);}catch(error){console.error(`❌ ${instanceId} Swiper initialization failed:`,error);setTimeout(()=>{if(typeof window!==\"undefined\"&&window.Swiper&&swiperRef.current&&!swiper){console.log(`🔄 ${instanceId} Retrying Swiper initialization...`);initializeSwiper();}},500);}};let retryCount=0;const maxRetries=10;const tryInit=()=>{if(typeof window!==\"undefined\"&&window.Swiper&&swiperRef.current){initializeSwiper();}else if(retryCount<maxRetries){retryCount++;console.log(`🔄 ${instanceId} Retry ${retryCount}/${maxRetries} - waiting for Swiper...`);setTimeout(tryInit,100*retryCount);}else{console.error(`❌ ${instanceId} Failed to initialize after ${maxRetries} retries`);}};tryInit();},[slides,props.loop,props.spaceBetween,props.showDots,props.arrows.showArrows,props.centeredSlides,props.widthColumns,props.widthMode,props.maxWidth,props.effectEnabled,props.activeScale,props.inactiveOpacity,props.inactiveScale,props.coverflowEffect,props.slideOverlap,props.autoplay,props.autoplayDelay,props.crossfade,props.enableDrag,props.clickToNavigate,instanceId,effectiveLoop,props.initialIndex,props.dotSize,props.dotGap,props.dotContainerPadding]);useEffect(()=>{if(typeof window===\"undefined\"||typeof document===\"undefined\")return;console.log(`🔍 ${instanceId} Navigation check:`,{storeDirection:store?.direction,storeButtonMap:store?.buttonMap,propsButtonMap:props.buttonMap,swiperReady:!!swiperRef.current?.swiper,matches:store?.buttonMap===props.buttonMap});if(store?.direction&&store?.buttonMap===props.buttonMap&&swiperRef.current?.swiper){console.log(`✅ ${instanceId} Executing navigation: ${store.direction}`);handleNavigation(store.direction);}if(localNavigation.direction&&Date.now()-localNavigation.timestamp<1e3){handleNavigation(localNavigation.direction);setLocalNavigation({direction:null,timestamp:0});}},[store,props.buttonMap,handleNavigation,localNavigation]);useEffect(()=>{if(typeof window===\"undefined\"||typeof document===\"undefined\")return;const leftFuncName=`testCarouselLeft_${instanceId}`;const rightFuncName=`testCarouselRight_${instanceId}`;const debugFuncName=`debugSwiper_${instanceId}`;const progressFuncName=`getAutoplayProgress_${instanceId}`;window[leftFuncName]=()=>{console.log(`🧪 ${instanceId} testing left navigation`);setLocalNavigation({direction:\"left\",timestamp:Date.now()});};window[rightFuncName]=()=>{console.log(`🧪 ${instanceId} testing right navigation`);setLocalNavigation({direction:\"right\",timestamp:Date.now()});};// Expose autoplayProgress MotionValue\nif(props.exposeAutoplayProgress){window[progressFuncName]=()=>autoplayProgress;console.log(`📊 ${instanceId} Exposed autoplayProgress via window.${progressFuncName}()`);}window[debugFuncName]=()=>{if(swiperRef.current?.swiper){console.log(`🔍 ${instanceId} swiper state:`,{activeIndex:swiperRef.current.swiper.activeIndex,realIndex:swiperRef.current.swiper.realIndex,isEnd:swiperRef.current.swiper.isEnd,isBeginning:swiperRef.current.swiper.isBeginning,loop:swiperRef.current.swiper.params.loop,slidesLength:swiperRef.current.swiper.slides.length,// LOOP DEBUGGING:\npropsLoop:props.loop,effectiveLoop:effectiveLoop,canNavigateNext:!swiperRef.current.swiper.isEnd||swiperRef.current.swiper.params.loop,canNavigatePrev:!swiperRef.current.swiper.isBeginning||swiperRef.current.swiper.params.loop});}};console.log(`🔧 Created test functions for ${instanceId}`);return()=>{delete window[leftFuncName];delete window[rightFuncName];delete window[debugFuncName];delete window[progressFuncName];// Clean up manual loop timeout\nif(manualLoopTimeoutRef.current){clearTimeout(manualLoopTimeoutRef.current);manualLoopTimeoutRef.current=null;}// Clean up progress animation\nif(progressAnimationRef.current){progressAnimationRef.current.stop();progressAnimationRef.current=null;}console.log(`🗑️ Cleaned up test functions for ${instanceId}`);};},[instanceId,effectiveLoop,props.loop,props.exposeAutoplayProgress]);// Custom autoplay for poster mode with loop\nuseEffect(()=>{if(typeof window===\"undefined\")return;const isPosterMode=props.widthMode===\"maxWidth\";const posterCrossfade=isPosterMode&&props.crossfade;console.log(`⏰ ${instanceId} Autoplay check:`,{autoplay:props.autoplay,posterCrossfade,loop:props.loop});if(!props.autoplay||!posterCrossfade){// Clear any existing interval if autoplay is disabled\nif(autoplayIntervalRef.current){clearInterval(autoplayIntervalRef.current);autoplayIntervalRef.current=null;console.log(`🛑 ${instanceId} Autoplay disabled, clearing interval`);}return;}// Prevent starting multiple intervals\nif(autoplayIntervalRef.current){console.log(`⏭️ ${instanceId} Autoplay already running, skipping initialization`);return;}const slideCount=slides.length;// Start from the initial index\nlet currentSlideIndex=props.initialIndex||0;currentSlideIndex=Math.min(currentSlideIndex,slideCount-1);// Wait for DOM to be ready, then start autoplay\nconst startTimeout=setTimeout(()=>{console.log(`⏰ ${instanceId} Starting poster crossfade autoplay (delay: ${props.autoplayDelay}ms, slides: ${slideCount}, starting at: ${currentSlideIndex})`);console.log(`⏰ ${instanceId} Slide ${currentSlideIndex} will show for ${props.autoplayDelay}ms before transitioning`);// First transition happens AFTER the initial delay (so slide 0 is shown for full duration)\nautoplayIntervalRef.current=setInterval(()=>{// Calculate next slide index\nconst nextIndex=props.loop?(currentSlideIndex+1)%slideCount:Math.min(currentSlideIndex+1,slideCount-1);console.log(`⏰ ${instanceId} Crossfade transition: ${currentSlideIndex} → ${nextIndex} at ${Date.now()}`);// Find all slides for this carousel using data attribute\nconst slides=document.querySelectorAll(`[data-carousel-id=\"${instanceId}\"] .swiper-slide`);if(slides.length===0){console.warn(`⚠️ ${instanceId} No slides found in DOM`);return;}console.log(`🎯 ${instanceId} Found ${slides.length} slides`);// Remove active class from all slides\nslides.forEach((slide,index)=>{slide.classList.remove(\"swiper-slide-active\");slide.classList.remove(\"swiper-slide-prev\");slide.classList.remove(\"swiper-slide-next\");if(index===nextIndex){slide.classList.add(\"swiper-slide-active\");console.log(`✅ ${instanceId} Activated slide ${index}`);}});currentSlideIndex=nextIndex;// If not looping and at the end, stop autoplay\nif(!props.loop&&currentSlideIndex===slideCount-1){console.log(`⏰ ${instanceId} Reached end, stopping autoplay`);if(autoplayIntervalRef.current){clearInterval(autoplayIntervalRef.current);autoplayIntervalRef.current=null;}}},props.autoplayDelay);console.log(`✅ ${instanceId} Poster crossfade autoplay started (ID: ${autoplayIntervalRef.current}) at ${Date.now()}`);},1e3)// Increased delay to ensure stable initialization\n;return()=>{console.log(`🧹 ${instanceId} Cleaning up poster crossfade autoplay`);clearTimeout(startTimeout);if(autoplayIntervalRef.current){clearInterval(autoplayIntervalRef.current);autoplayIntervalRef.current=null;console.log(`⏰ ${instanceId} Poster crossfade autoplay stopped`);}};},[props.autoplay,props.autoplayDelay,props.widthMode,props.crossfade,props.loop,slides,instanceId,props.initialIndex]);// Video preloading effect\nuseEffect(()=>{if(typeof window===\"undefined\"||!swiper)return;const preloadVideos=()=>{const slides=swiper.slides;const currentIndex=swiper.activeIndex;const slideCount=slides.length;// Preload current slide + 1 slide on each side\nconst indicesToPreload=[currentIndex-1,currentIndex,currentIndex+1].filter(i=>i>=0&&i<slideCount);console.log(`📹 ${instanceId} Preloading videos for slides:`,indicesToPreload);indicesToPreload.forEach(index=>{const slide=slides[index];if(!slide)return;// Find all video elements in this slide\nconst videos=slide.querySelectorAll(\"video\");videos.forEach(video=>{// Set preload attribute\nif(!video.hasAttribute(\"preload\")){video.setAttribute(\"preload\",\"auto\");}// Trigger load if not already loading\nif(video.readyState===0){video.load();console.log(`📹 ${instanceId} Triggered load for video in slide ${index}`);}});});};// Preload immediately\npreloadVideos();// Preload on slide change\nswiper.on(\"slideChange\",preloadVideos);return()=>{if(swiper){swiper.off(\"slideChange\",preloadVideos);}};},[swiper,instanceId]);// Simplified resize handler\nuseEffect(()=>{if(typeof window===\"undefined\")return;const handleResize=()=>{if(resizeTimeoutRef.current){clearTimeout(resizeTimeoutRef.current);}resizeTimeoutRef.current=setTimeout(()=>{if(swiper){swiper.update();console.log(`📏 ${instanceId} Swiper updated on resize`);}},150);};window.addEventListener(\"resize\",handleResize);return()=>{window.removeEventListener(\"resize\",handleResize);if(resizeTimeoutRef.current){clearTimeout(resizeTimeoutRef.current);}};},[swiper,instanceId]);// Destructure props AFTER all hooks\nconst{children,loop,spaceBetween,showDots,dotContainerColor,dotContainerBlur,activeDotColor,inactiveDotColor,dotSize,dotGap,dotContainerPadding,paddingPerSide,padding,paddingTop,paddingRight,paddingBottom,paddingLeft,paginationInset,arrows,keyboardControl,centeredSlides,widthMode,widthColumns,maxWidth,effectEnabled,activeScale,inactiveOpacity,inactiveScale,coverflowEffect,slideOverlap,heightType,heightInset,heightRows,autoplay,autoplayDelay,crossfade,enableDrag,clickToNavigate,buttonMap,initialIndex,variantEffects={}}=props;const{defaultVariantName=\"Default\",activeVariantName=\"Active\"}=variantEffects;// Safe store access AFTER all hooks\nconst safeStore=store||{direction:null,buttonMap:null};if(!isClient)return null;const wrapperHeight=getWrapperHeight();const containerHeight=getContainerHeight();// Debug poster mode\nconsole.log(`🎨 ${instanceId} Render:`,{widthMode:props.widthMode,isPosterMode:props.widthMode===\"maxWidth\",maxWidth:props.maxWidth,centeredSlides:props.centeredSlides,effectiveLoop:effectiveLoop});// Wrapper style - inherits from Framer parent\nconst wrapperStyle={width:\"100%\",height:wrapperHeight,display:\"flex\",flexDirection:\"column\",position:\"relative\"};// Container style - applies insets and handles overflow\nconst containerStyle={width:\"100%\",height:containerHeight,position:\"relative\",overflow:props.allowOverflow?\"visible\":\"hidden\",minHeight:props.heightType===\"auto\"?\"200px\":undefined};const appliedPadding=paddingPerSide?{paddingTop:paddingTop,paddingRight:paddingRight,paddingBottom:paddingBottom,paddingLeft:paddingLeft}:{padding:padding};// Get live Swiper state for arrow visibility\nconst currentSwiper=swiperRef.current?.swiper;const isPosterMode=props.widthMode===\"maxWidth\";const posterWithLoop=isPosterMode&&props.loop;// When loop is requested (even if Swiper disables it), always show arrows\n// This allows manual loop navigation\nconst currentIsAtBeginning=props.loop?false:currentSwiper?.isBeginning??true;const currentIsAtEnd=props.loop?false:currentSwiper?.isEnd??false;// Debug data attributes\nconst dataWidthMode=props.widthMode;const dataHeightMode=props.heightType;console.log(`🏷️ ${instanceId} Data attributes:`,{\"data-width-mode\":dataWidthMode,\"data-height-mode\":dataHeightMode});const isPosterCrossfade=props.widthMode===\"maxWidth\"&&props.crossfade;console.log(`🎞️ ${instanceId} Poster Crossfade Mode:`,{isPosterCrossfade,widthMode:props.widthMode,crossfade:props.crossfade,willApplyClass:isPosterCrossfade?\"poster-crossfade\":\"none\"});return /*#__PURE__*/_jsx(\"div\",{style:wrapperStyle,children:/*#__PURE__*/_jsxs(\"div\",{className:`${getUniqueClass(\"swiper-container\")} ${arrows.showArrows?getUniqueClass(\"hover-arrows\"):\"\"} ${props.allowOverflow?\"allow-overflow\":\"\"} ${isPosterCrossfade?\"poster-crossfade\":\"\"}`,ref:swiperRef,style:{...containerStyle,...appliedPadding},\"data-carousel-id\":instanceId,\"data-width-mode\":dataWidthMode,\"data-height-mode\":dataHeightMode,children:[isPlaceholder?/*#__PURE__*/_jsx(ConnectToContent,{}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{className:\"swiper-wrapper\",style:{display:\"flex\",flexDirection:\"row\",alignItems:\"flex-start\",height:\"100%\",width:\"100%\",pointerEvents:\"auto\"},children:slides.map((child,index)=>{// When loop is enabled, use realIndex to determine active slide\n// Otherwise use activeSlideIndex\nconst isActive=effectiveLoop?index===activeRealIndex:index===activeSlideIndex;if(!/*#__PURE__*/React.isValidElement(child)){console.warn(`⚠️ ${instanceId} Slide ${index} is not a valid React element`,child);return null;}// Log first render to verify all children are present\nif(index===0){console.log(`🎬 ${instanceId} Rendering ${slideCount} slides (activeRealIndex: ${activeRealIndex}, effectiveLoop: ${effectiveLoop})`);}// Variant logic\nlet finalChild=child;const shouldApplyVariants=props.enableVariantEffects&&(props.centeredSlides||props.widthMode===\"maxWidth\");if(shouldApplyVariants){try{const variant=isActive?activeVariantName:defaultVariantName;// Clone with variant and optionally inject progress\nif(props.exposeAutoplayProgress&&isActive){// Pass both variant and autoplayProgress to active slide\nfinalChild=/*#__PURE__*/React.cloneElement(injectVariantDeep(child,variant),{autoplayProgress});}else{finalChild=injectVariantDeep(child,variant);}// Debug variant application\nif(isActive){console.log(`🎭 ${instanceId} Slide ${index} variant: ${variant} (isActive: ${isActive}, hasProgress: ${props.exposeAutoplayProgress})`);}}catch(error){console.error(`❌ Variant injection failed for slide ${index}:`,error);finalChild=child;}}else if(props.exposeAutoplayProgress&&isActive){// Even without variants, pass progress to active slide\ntry{finalChild=/*#__PURE__*/React.cloneElement(child,{autoplayProgress});}catch(error){console.error(`❌ Failed to pass autoplayProgress to slide ${index}:`,error);finalChild=child;}}const isFillHeight=props.heightType===\"stretch\"||props.heightType===\"rows\";const isAutoWidth=props.widthMode===\"aspectRatio\"||props.widthMode===\"maxWidth\";const slideStyles={borderRadius:props.borderRadius,overflow:props.allowOverflow?\"visible\":\"hidden\",height:isFillHeight?\"100%\":\"auto\",display:\"flex\",flexDirection:\"column\",pointerEvents:\"auto\",...isAutoWidth&&{width:\"auto\",flexShrink:0},...props.widthMode===\"maxWidth\"&&{maxWidth:`${props.maxWidth}px`}};// Debug first slide in poster mode\nif(index===0&&props.widthMode===\"maxWidth\"){console.log(`🎞️ ${instanceId} Slide 0 styles (POSTER):`,{slideStyles,maxWidth:props.maxWidth,isAutoWidth});}const childWrapperStyles={width:isAutoWidth?\"auto\":\"100%\",height:isFillHeight?\"100%\":\"auto\",display:\"flex\",flexDirection:\"column\",pointerEvents:\"auto\",flex:isFillHeight?\"1 1 100%\":\"0 0 auto\"};// Clone the child with height styles to make it fill\nconst styledChild=/*#__PURE__*/React.cloneElement(finalChild,{style:{...finalChild.props.style,width:\"100%\",height:isFillHeight?\"100%\":finalChild.props.style?.height||\"auto\",flex:isFillHeight?\"1 1 100%\":undefined}});// In poster crossfade mode, manually set first slide as active\nconst slideClassName=isPosterCrossfade&&index===0?\"swiper-slide swiper-slide-active\":\"swiper-slide\";return /*#__PURE__*/_jsx(\"div\",{className:slideClassName,style:slideStyles,children:/*#__PURE__*/_jsx(\"div\",{style:childWrapperStyles,children:styledChild})},index);})}),/*#__PURE__*/_jsx(\"div\",{className:getUniqueClass(\"swiper-pagination\"),style:{position:\"absolute\",bottom:paginationInset,left:\"50%\",transform:\"translateX(-50%)\",background:showDots?dotContainerColor:\"transparent\",padding:showDots?`${dotContainerPadding}px`:\"0px\",backdropFilter:showDots?`blur(${dotContainerBlur}px)`:\"none\",zIndex:1e3,visibility:showDots?\"visible\":\"hidden\",minHeight:showDots?\"auto\":\"20px\"}}),/*#__PURE__*/_jsx(\"div\",{className:`${getUniqueClass(\"swiper-button-prev\")} ${getUniqueClass(\"custom-swiper-button\")}`,style:{left:arrows.arrowInset,display:arrows.showArrows&&(effectiveLoop||!currentIsAtBeginning)?\"flex\":\"none\",visibility:arrows.showArrows?\"visible\":\"hidden\"},children:/*#__PURE__*/_jsx(\"i\",{className:`ph-${arrows.iconType===\"caret\"?\"caret-left\":\"arrow-left\"}`,style:{color:arrows.iconColor,fontSize:arrows.iconSize,fontWeight:arrows.iconWeight}})}),/*#__PURE__*/_jsx(\"div\",{className:`${getUniqueClass(\"swiper-button-next\")} ${getUniqueClass(\"custom-swiper-button\")}`,style:{right:arrows.arrowInset,display:arrows.showArrows&&(effectiveLoop||!currentIsAtEnd)?\"flex\":\"none\",visibility:arrows.showArrows?\"visible\":\"hidden\"},children:/*#__PURE__*/_jsx(\"i\",{className:`ph-${arrows.iconType===\"caret\"?\"caret-right\":\"arrow-right\"}`,style:{color:arrows.iconColor,fontSize:arrows.iconSize,fontWeight:arrows.iconWeight}})})]}),/*#__PURE__*/_jsx(\"style\",{jsx:true,children:`\n                .${getUniqueClass(\"swiper-container\")} {\n                    --swiper-navigation-size: 0px !important;\n                }\n                \n                /* Smooth ease-in-out transitions for slides (500ms) */\n                .${getUniqueClass(\"swiper-container\")} .swiper-wrapper {\n                    transition-timing-function: cubic-bezier(0.45, 0, 0.55, 1) !important; /* Smooth ease-in-out */\n                }\n                \n                .${getUniqueClass(\"swiper-container\")} .swiper-slide {\n                    transition-timing-function: cubic-bezier(0.45, 0, 0.55, 1) !important; /* Smooth ease-in-out */\n                }\n                \n                /* Poster mode specific positioning */\n                .${getUniqueClass(\"swiper-container\")}[data-width-mode=\"maxWidth\"] {\n                    width: 100%;\n                    position: relative;\n                }\n                \n                .${getUniqueClass(\"swiper-container\")}[data-width-mode=\"maxWidth\"] .swiper-wrapper {\n                    align-items: center;\n                }\n                \n                /* Prevent dragging content in poster mode */\n                .${getUniqueClass(\"swiper-container\")}[data-width-mode=\"maxWidth\"] img,\n                .${getUniqueClass(\"swiper-container\")}[data-width-mode=\"maxWidth\"] video {\n                    -webkit-user-drag: none;\n                    -khtml-user-drag: none;\n                    -moz-user-drag: none;\n                    -o-user-drag: none;\n                    user-drag: none;\n                    pointer-events: none;\n                }\n                \n                .${getUniqueClass(\"swiper-container\")}[data-width-mode=\"maxWidth\"] .swiper-slide {\n                    user-select: none;\n                    -webkit-user-select: none;\n                    -moz-user-select: none;\n                    -ms-user-select: none;\n                }\n                \n                /* Poster Crossfade - Stack slides absolutely */\n                .${getUniqueClass(\"swiper-container\")}.poster-crossfade .swiper-wrapper {\n                    position: relative !important;\n                    display: flex !important;\n                    align-items: center !important;\n                    justify-content: center !important;\n                    transform: none !important; /* Override Swiper's translate3d */\n                }\n                \n                .${getUniqueClass(\"swiper-container\")}.poster-crossfade .swiper-slide {\n                    position: absolute !important;\n                    left: 50% !important;\n                    top: 50% !important;\n                    transform: translate(-50%, -50%) !important;\n                    transition: opacity 400ms ease-in-out, z-index 0ms !important;\n                    margin: 0 !important; /* Remove any margins */\n                }\n                \n                .${getUniqueClass(\"swiper-container\")}.poster-crossfade .swiper-slide-active {\n                    z-index: 2 !important;\n                    opacity: 1 !important;\n                }\n                \n                .${getUniqueClass(\"swiper-container\")}.poster-crossfade .swiper-slide:not(.swiper-slide-active) {\n                    z-index: 1 !important;\n                    opacity: 0 !important;\n                    pointer-events: none !important;\n                }\n                \n                /* Disable Swiper's default slide transitions in poster crossfade */\n                .${getUniqueClass(\"swiper-container\")}.poster-crossfade .swiper-slide.swiper-slide-prev,\n                .${getUniqueClass(\"swiper-container\")}.poster-crossfade .swiper-slide.swiper-slide-next {\n                    z-index: 1 !important;\n                    opacity: 0 !important;\n                }\n                \n                /* Handle loop duplicates in poster crossfade */\n                .${getUniqueClass(\"swiper-container\")}.poster-crossfade .swiper-slide-duplicate {\n                    position: absolute !important;\n                    left: 50% !important;\n                    top: 50% !important;\n                    transform: translate(-50%, -50%) !important;\n                }\n                \n                .${getUniqueClass(\"swiper-container\")}.poster-crossfade .swiper-slide-duplicate:not(.swiper-slide-active) {\n                    opacity: 0 !important;\n                    z-index: 0 !important;\n                }\n                \n                /* Height inheritance for stretch and rows modes only */\n                .${getUniqueClass(\"swiper-container\")}[data-height-mode=\"stretch\"],\n                .${getUniqueClass(\"swiper-container\")}[data-height-mode=\"rows\"] {\n                    height: 100%;\n                }\n                \n                .${getUniqueClass(\"swiper-container\")}[data-height-mode=\"stretch\"] .swiper-wrapper,\n                .${getUniqueClass(\"swiper-container\")}[data-height-mode=\"rows\"] .swiper-wrapper {\n                    height: 100%;\n                }\n                \n                .${getUniqueClass(\"swiper-container\")}[data-height-mode=\"stretch\"] .swiper-slide,\n                .${getUniqueClass(\"swiper-container\")}[data-height-mode=\"rows\"] .swiper-slide {\n                    height: 100%;\n                    display: flex;\n                    flex-direction: column;\n                }\n                \n                .${getUniqueClass(\"swiper-container\")}[data-height-mode=\"stretch\"] .swiper-slide > *,\n                .${getUniqueClass(\"swiper-container\")}[data-height-mode=\"rows\"] .swiper-slide > * {\n                    height: 100%;\n                    flex: 1 1 100%;\n                }\n                \n                .${getUniqueClass(\"swiper-container\")}[data-height-mode=\"stretch\"] .swiper-slide > * > *,\n                .${getUniqueClass(\"swiper-container\")}[data-height-mode=\"rows\"] .swiper-slide > * > * {\n                    height: 100%;\n                }\n                \n                /* Allow overflow when enabled */\n                .${getUniqueClass(\"swiper-container\")}.allow-overflow,\n                .${getUniqueClass(\"swiper-container\")}.allow-overflow .swiper-wrapper,\n                .${getUniqueClass(\"swiper-container\")}.allow-overflow .swiper-slide {\n                    overflow: visible !important;\n                }\n                \n                /* Ensure pointer events work throughout */\n                .${getUniqueClass(\"swiper-container\")},\n                .${getUniqueClass(\"swiper-container\")} .swiper-wrapper,\n                .${getUniqueClass(\"swiper-container\")} .swiper-slide,\n                .${getUniqueClass(\"swiper-container\")} .swiper-slide > * {\n                    pointer-events: auto !important;\n                }\n                \n                /* Aspect Ratio Mode Styles */\n                .${getUniqueClass(\"swiper-container\")}[data-width-mode=\"aspectRatio\"] .swiper-slide {\n                    width: auto !important; /* Let slides size naturally */\n                    flex-shrink: 0 !important; /* Prevent shrinking */\n                }\n                \n                .${getUniqueClass(\"swiper-container\")}[data-width-mode=\"aspectRatio\"] .swiper-slide > * {\n                    width: auto !important; /* Let content maintain natural width */\n                    height: 100% !important; /* Fill slide height */\n                    object-fit: contain !important; /* Maintain aspect ratio */\n                }\n                \n                /* Fix duplicate margin issue in loop mode for aspect ratio */\n                /* Only remove margins from duplicate slides to prevent double spacing */\n                .${getUniqueClass(\"swiper-container\")}[data-width-mode=\"aspectRatio\"] .swiper-slide-duplicate {\n                    margin-right: 0 !important;\n                    margin-left: 0 !important;\n                }\n                \n                /* Max Width Mode Styles */\n                .${getUniqueClass(\"swiper-container\")}[data-width-mode=\"maxWidth\"] .swiper-slide {\n                    width: auto !important; /* Let slides size naturally */\n                    flex-shrink: 0 !important; /* Prevent shrinking */\n                    max-width: ${props.maxWidth}px !important; /* Limit to max width */\n                }\n                \n                .${getUniqueClass(\"swiper-container\")}[data-width-mode=\"maxWidth\"] .swiper-slide > * {\n                    width: 100% !important; /* Fill slide width */\n                    max-width: ${props.maxWidth}px !important; /* Respect max width */\n                    display: flex !important;\n                    justify-content: center !important;\n                    align-items: center !important;\n                }\n                \n                /* Columns Mode Styles */\n                .${getUniqueClass(\"swiper-container\")}[data-width-mode=\"columns\"] .swiper-slide {\n                    width: calc((100% - ${(props.widthColumns-1)*props.spaceBetween}px) / ${props.widthColumns}) !important;\n                }\n                \n                /* Pagination container */\n                .${getUniqueClass(\"swiper-pagination\")} {\n                    bottom: ${paginationInset} !important;\n                    background: ${dotContainerColor} !important;\n                    border-radius: 20px !important;\n                    padding: ${dotContainerPadding}px !important;\n                    backdrop-filter: blur(${dotContainerBlur}px) !important;\n                    width: auto !important;\n                    left: 50% !important;\n                    transform: translateX(-50%) !important;\n                    min-height: auto !important;\n                    min-width: auto !important;\n                    z-index: 1000 !important;\n                }\n                /* Target the EXACT bullet classes that Swiper generates */\n                .${getUniqueClass(\"swiper-pagination-bullet\")} {\n                    background: ${inactiveDotColor} !important;\n                    width: ${dotSize}px !important;\n                    height: ${dotSize}px !important;\n                    margin: 0 ${dotGap}px !important;\n                    opacity: 1 !important;\n                    border-radius: 50% !important;\n                    display: inline-block !important;\n                    cursor: pointer !important;\n                }\n                .${getUniqueClass(\"swiper-pagination-bullet-active\")} {\n                    background: ${activeDotColor} !important;\n                }\n                /* Also add the standard Swiper classes as backup */\n                .${getUniqueClass(\"swiper-pagination\")} .swiper-pagination-bullet {\n                    background: ${inactiveDotColor} !important;\n                    width: ${dotSize}px !important;\n                    height: ${dotSize}px !important;\n                    margin: 0 ${dotGap}px !important;\n                    opacity: 1 !important;\n                    border-radius: 50% !important;\n                    display: inline-block !important;\n                    cursor: pointer !important;\n                }\n                .${getUniqueClass(\"swiper-pagination\")} .swiper-pagination-bullet-active {\n                    background: ${activeDotColor} !important;\n                }\n                .${getUniqueClass(\"swiper-button-prev\")},\n                .${getUniqueClass(\"swiper-button-next\")} {\n                    background: rgba(0, 0, 0, 0.2);\n                    backdrop-filter: blur(4px);\n                    cursor: pointer;\n                    position: absolute;\n                    top: 50%;\n                    transform: translateY(-50%);\n                    width: 48px;\n                    height: 48px;\n                    border-radius: 50%;\n                    display: flex;\n                    align-items: center;\n                    justify-content: center;\n                    z-index: 10;\n                    opacity: ${arrows.arrowsOnHover?0:1};\n                    transition: opacity 0.3s, transform 0.15s ease-out;\n                }\n                \n                .${getUniqueClass(\"swiper-button-prev\")}:active,\n                .${getUniqueClass(\"swiper-button-next\")}:active {\n                    transform: translateY(-50%) scale(0.95);\n                }\n                .${getUniqueClass(\"hover-arrows\")} .${getUniqueClass(\"swiper-button-prev\")},\n                .${getUniqueClass(\"hover-arrows\")} .${getUniqueClass(\"swiper-button-next\")} {\n                    opacity: 0;\n                }\n                .${getUniqueClass(\"hover-arrows\")}:hover .${getUniqueClass(\"swiper-button-prev\")},\n                .${getUniqueClass(\"hover-arrows\")}:hover .${getUniqueClass(\"swiper-button-next\")} {\n                    opacity: 1;\n                }\n                .${getUniqueClass(\"swiper-button-prev\")} i,\n                .${getUniqueClass(\"swiper-button-next\")} i {\n                    width: 100%;\n                    height: 100%;\n                    display: flex;\n                    align-items: center;\n                    justify-content: center;\n                }\n                .${getUniqueClass(\"swiper-button-disabled\")} {\n                    display: none;\n                }\n                .${getUniqueClass(\"swiper-button-next\")}::after,\n                .${getUniqueClass(\"swiper-button-prev\")}::after {\n                    display: none;\n                }\n            `})]})});}// Keep the same defaultProps and property controls\nAdvancedSwiperCarousel.defaultProps={heightType:\"stretch\",heightInset:0,heightRows:2,widthMode:\"columns\",widthColumns:2,maxWidth:400,loop:true,spaceBetween:10,showDots:false,dotContainerColor:\"rgba(0, 0, 0, 0.2)\",dotContainerBlur:5,activeDotColor:\"white\",inactiveDotColor:\"rgba(255, 255, 255, 0.5)\",dotSize:10,dotGap:4,dotContainerPadding:8,children:[],padding:0,paddingPerSide:false,paddingTop:0,paddingRight:0,paddingBottom:0,paddingLeft:0,paginationInset:\"10px\",arrows:{showArrows:true,arrowsOnHover:false,iconType:\"caret\",iconColor:\"#ffffff\",iconSize:24,iconWeight:\"regular\",arrowInset:\"10px\"},keyboardControl:false,centeredSlides:false,effectEnabled:false,activeScale:1,inactiveOpacity:.4,inactiveScale:.85,coverflowEffect:false,slideOverlap:100,autoplay:false,autoplayDelay:3e3,exposeAutoplayProgress:false,crossfade:false,enableDrag:true,clickToNavigate:false,buttonMap:1,initialIndex:0,allowOverflow:false,borderRadius:0,variantEffects:{defaultVariantName:\"Default\",activeVariantName:\"Active\"}};addPropertyControls(AdvancedSwiperCarousel,{children:{type:ControlType.Array,title:\"Children\",propertyControl:{type:ControlType.ComponentInstance}},heightType:{type:ControlType.Enum,title:\"Height\",options:[\"auto\",\"stretch\",\"rows\"],optionTitles:[\"Auto (Fit Content)\",\"Stretch (Fill Height)\",\"Rows\"],defaultValue:\"stretch\"},heightInset:{type:ControlType.Number,title:\"Height Inset\",min:0,max:500,hidden:props=>props.heightType===\"auto\",defaultValue:0,description:\"Reduce height by this amount (pixels)\"},heightRows:{type:ControlType.Number,title:\"Rows\",min:1,max:10,hidden:props=>props.heightType!==\"rows\",defaultValue:2},widthMode:{type:ControlType.Enum,title:\"Width Mode\",options:[\"columns\",\"aspectRatio\",\"maxWidth\"],optionTitles:[\"Columns\",\"Aspect Ratio\",\"Max Width (poster)\"],defaultValue:\"columns\"},widthColumns:{type:ControlType.Number,title:\"Columns\",defaultValue:2,min:1,max:10,displayStepper:true,hidden:props=>props.widthMode!==\"columns\"},maxWidth:{type:ControlType.Number,title:\"Max Width\",defaultValue:400,min:100,max:2e3,step:10,unit:\"px\",displayStepper:true,hidden:props=>props.widthMode!==\"maxWidth\",description:\"Maximum width for each slide (poster mode)\"},loop:{type:ControlType.Boolean,title:\"Loop\",defaultValue:true,hidden:props=>props.centeredSlides&&props.widthMode!==\"maxWidth\",description:\"Loop back to the beginning when the end is reached\"},spaceBetween:{type:ControlType.Number,title:\"Gap\",defaultValue:10},borderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:0,min:0,max:100,unit:\"px\",displayStepper:true},allowOverflow:{type:ControlType.Boolean,title:\"Allow Overflow\",defaultValue:false,description:\"Allow content to overflow the carousel bounds (useful for hover effects)\"},padding:{type:ControlType.FusedNumber,title:\"Padding\",defaultValue:0,toggleKey:\"paddingPerSide\",toggleTitles:[\"All\",\"Per Side\"],valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"],valueLabels:[\"Top\",\"Right\",\"Bottom\",\"Left\"],min:0},showDots:{type:ControlType.Boolean,title:\"Show Dots\",defaultValue:false},dotContainerColor:{type:ControlType.Color,title:\"Dot Container Background Color\",defaultValue:\"rgba(0, 0, 0, 0.2)\",hidden:props=>!props.showDots},dotContainerBlur:{type:ControlType.Number,title:\"Dot Container Background Blur\",defaultValue:5,min:1,max:50,hidden:props=>!props.showDots},activeDotColor:{type:ControlType.Color,title:\"Active Dot Color\",defaultValue:\"white\",hidden:props=>!props.showDots},inactiveDotColor:{type:ControlType.Color,title:\"Inactive Dot Color\",defaultValue:\"rgba(255, 255, 255, 0.5)\",hidden:props=>!props.showDots},dotSize:{type:ControlType.Number,title:\"Dot Size\",defaultValue:10,min:4,max:20,step:1,unit:\"px\",displayStepper:true,hidden:props=>!props.showDots},dotGap:{type:ControlType.Number,title:\"Dot Gap\",defaultValue:4,min:0,max:20,step:1,unit:\"px\",displayStepper:true,hidden:props=>!props.showDots},dotContainerPadding:{type:ControlType.Number,title:\"Container Padding\",defaultValue:8,min:4,max:20,step:1,unit:\"px\",displayStepper:true,hidden:props=>!props.showDots},paginationInset:{type:ControlType.FusedNumber,title:\"Pagination Inset\",defaultValue:10,toggleKey:\"isMixed\",toggleTitles:[\"All\",\"Individual\"],valueKeys:[\"top\",\"right\",\"bottom\",\"left\"],valueLabels:[\"Top\",\"Right\",\"Bottom\",\"Left\"],min:0,hidden:props=>!props.showDots},arrows:{type:ControlType.Object,title:\"Arrows\",controls:{showArrows:{type:ControlType.Boolean,title:\"Show Arrows\",defaultValue:true},arrowsOnHover:{type:ControlType.Boolean,title:\"Arrows on Hover\",defaultValue:false,hidden:props=>!props.arrows.showArrows},iconType:{type:ControlType.Enum,title:\"Icon Type\",options:[\"caret\",\"arrow\"],optionTitles:[\"Caret\",\"Arrow\"],defaultValue:\"caret\",hidden:props=>!props.arrows.showArrows},iconColor:{type:ControlType.Color,title:\"Icon Color\",defaultValue:\"#ffffff\",hidden:props=>!props.arrows.showArrows},iconSize:{type:ControlType.Number,title:\"Icon Size\",defaultValue:24,min:1,hidden:props=>!props.arrows.showArrows},iconWeight:{type:ControlType.Enum,title:\"Icon Weight\",options:[\"thin\",\"light\",\"regular\",\"bold\",\"fill\",\"duotone\"],optionTitles:[\"Thin\",\"Light\",\"Regular\",\"Bold\",\"Fill\",\"Duotone\"],defaultValue:\"regular\",hidden:props=>!props.arrows.showArrows},arrowInset:{type:ControlType.Number,title:\"Arrow Inset\",defaultValue:10,min:0,hidden:props=>!props.arrows.showArrows}}},keyboardControl:{type:ControlType.Boolean,title:\"Keyboard Control\",defaultValue:false},centeredSlides:{type:ControlType.Boolean,title:\"Centered Slides\",defaultValue:false,hidden:props=>props.widthMode===\"maxWidth\",description:\"Automatically enabled in Max Width (poster) mode\"},enableVariantEffects:{type:ControlType.Boolean,title:\"Enable Variant Effects\",defaultValue:false,hidden:props=>!props.centeredSlides&&props.widthMode!==\"maxWidth\"},variantEffects:{type:ControlType.Object,title:\"Variant Effects\",hidden:props=>!props.centeredSlides&&props.widthMode!==\"maxWidth\"||!props.enableVariantEffects,description:\"Apply variants to active/inactive slides. For smooth looping, use at least 6 slides (or duplicate existing slides).\",controls:{defaultVariantName:{type:ControlType.String,title:\"Default Variant\",defaultValue:\"Default\",placeholder:\"Default\",description:\"The variant to apply to inactive slides\"},activeVariantName:{type:ControlType.String,title:\"Active Variant\",defaultValue:\"Active\",placeholder:\"Active\",description:\"The variant to apply to the active slide\"}}},initialIndex:{type:ControlType.Number,title:\"Initial Slide\",defaultValue:0,min:0,displayStepper:true},effectEnabled:{type:ControlType.Boolean,title:\"Enable Effects\",defaultValue:false,hidden:props=>!props.centeredSlides&&props.widthMode!==\"maxWidth\"},activeScale:{type:ControlType.Number,title:\"Active Slide Scale\",defaultValue:1,min:.5,max:2,step:.01,displayStepper:true,hidden:props=>!props.effectEnabled||props.coverflowEffect||!props.centeredSlides&&props.widthMode!==\"maxWidth\"},inactiveOpacity:{type:ControlType.Number,title:\"Inactive Slide Opacity\",defaultValue:.4,min:.1,max:1,step:.01,displayStepper:true,hidden:props=>!props.effectEnabled||props.coverflowEffect||!props.centeredSlides&&props.widthMode!==\"maxWidth\"},inactiveScale:{type:ControlType.Number,title:\"Inactive Slide Scale\",defaultValue:.85,min:.5,max:1,step:.01,displayStepper:true,hidden:props=>!props.effectEnabled||props.coverflowEffect||!props.centeredSlides&&props.widthMode!==\"maxWidth\",description:\"Scale of non-active slides\"},coverflowEffect:{type:ControlType.Boolean,title:\"3D Effect\",defaultValue:false,description:\"Enable or disable 3D coverflow effect.\",hidden:props=>!props.centeredSlides&&props.widthMode!==\"maxWidth\"},slideOverlap:{type:ControlType.Number,title:\"Slide Overlap\",defaultValue:105,min:40,max:110,step:1,hidden:props=>!props.effectEnabled||props.coverflowEffect||!props.centeredSlides&&props.widthMode!==\"maxWidth\",description:\"Horizontal shift of slides (overlap effect)\"},autoplay:{type:ControlType.Boolean,title:\"Autoplay\",defaultValue:false},autoplayDelay:{type:ControlType.Number,title:\"Autoplay Delay (ms)\",min:1e3,max:1e4,defaultValue:3e3,hidden:props=>!props.autoplay,description:\"Delay between auto slides (in milliseconds)\"},exposeAutoplayProgress:{type:ControlType.Boolean,title:\"Expose Progress Control\",defaultValue:false,hidden:props=>!props.autoplay,description:\"Pass autoplayProgress prop (MotionValue 0→1) to active slide\"},crossfade:{type:ControlType.Boolean,title:\"Crossfade\",defaultValue:false,description:\"Smooth fade transition between slides\"},enableDrag:{type:ControlType.Boolean,title:\"Enable Drag\",defaultValue:true,description:\"Allow touch/mouse drag to navigate slides\"},clickToNavigate:{type:ControlType.Boolean,title:\"Click to Navigate\",defaultValue:false,description:\"Click left/right of carousel to go next/prev\"},buttonMap:{type:ControlType.Number,title:\"Button Map\",defaultValue:1,min:1,max:10,step:1}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AdvancedSwiperCarousel\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AdvancedCarousel.map"],"mappings":"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"}