{"version":3,"file":"VideoScrollProgress.45SVEJk7.mjs","names":["useState","useRef","ArrowCounterClockwise","Pause","Play"],"sources":["https:/framerusercontent.com/modules/xLx2ivE6SXe6ou6FVXr2/jwCnpOTyuOR4S22xOk0H/VideoScrollProgress.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useEffect,useRef}from\"react\";// Preferred React import\nimport{Play,Pause,ArrowCounterClockwise}from\"phosphor-react\";// Import Phosphor icons\nimport{addPropertyControls,ControlType}from\"framer\";export function SimpleSlideshow({imageTextData,autoPlay,autoLoop,playSpeed,transitionSpeed,controlColor,activeControlColor,cornerRadius,controlBackgroundColor,controlBackgroundSize,buttonBackgroundColor,buttonBackgroundSize,horizontalGap,nextImageVisibility,iconColor,iconSize,dotSpacing}){const[currentIndex,setCurrentIndex]=useState(0);const[isPlaying,setIsPlaying]=useState(autoPlay);const[isCompleted,setIsCompleted]=useState(false);const[componentWidth,setComponentWidth]=useState(0)// State to store the component's width\n;const[componentHeight,setComponentHeight]=useState(0)// State to store the component's height\n;const[isInView,setIsInView]=useState(false)// State to track if the component is in view\n;const sliderRef=useRef(null);const progressRef=useRef(null);// Function to update width and height based on window resizing\nconst updateComponentSize=()=>{if(sliderRef.current){const width=sliderRef.current.offsetWidth// Get the width of the component\n;const height=sliderRef.current.offsetHeight// Get the height of the component\n;setComponentWidth(width)// Set the width in the state\n;setComponentHeight(height)// Set the height in the state\n;}};useEffect(()=>{// Initialize the component size on load\nupdateComponentSize();// Listen to window resize events to update size dynamically\nwindow.addEventListener(\"resize\",updateComponentSize);// Clean up the event listener on component unmount\nreturn()=>window.removeEventListener(\"resize\",updateComponentSize);},[]);// Use Intersection Observer to detect when the component is in view\nuseEffect(()=>{const observer=new IntersectionObserver(entries=>{if(entries[0].isIntersecting){setIsInView(true)// Component is in view\n;}else{setIsInView(false)// Component is out of view\n;}},{threshold:.5}// Component must be at least 50% in view\n);if(sliderRef.current){observer.observe(sliderRef.current);}return()=>{if(sliderRef.current){observer.unobserve(sliderRef.current);}};},[]);// Swipe gesture state\nconst[touchStartX,setTouchStartX]=useState(0);const[touchEndX,setTouchEndX]=useState(0);// Function to go to the next slide\nconst nextSlide=()=>{if(currentIndex===imageTextData.length-1){if(autoLoop){setCurrentIndex(0)// Loop back to the first slide\n;}else{setIsPlaying(false)// Stop auto-play at the last slide\n;setIsCompleted(true)// Show the replay button\n;}return;}setCurrentIndex(prevIndex=>(prevIndex+1)%imageTextData.length);};const prevSlide=()=>{if(currentIndex===0){setCurrentIndex(imageTextData.length-1);}else{setCurrentIndex(prevIndex=>(prevIndex-1+imageTextData.length)%imageTextData.length);}};const replaySlideshow=()=>{setCurrentIndex(0);setIsPlaying(true);setIsCompleted(false);};// Auto play effect, only plays if the component is in view\nuseEffect(()=>{let interval;if(isPlaying&&isInView){interval=setInterval(()=>{nextSlide();},playSpeed*2)// Double the play speed for full animation duration\n;}return()=>clearInterval(interval);},[isPlaying,currentIndex,isInView]);// Reset and animate the progress bar for the current slide\nuseEffect(()=>{if(progressRef.current){progressRef.current.style.width=\"0%\"// Reset the bar to 0% before starting the animation\n;setTimeout(()=>{progressRef.current.style.transition=`width ${playSpeed*2}ms linear`// Loading animation for twice the playSpeed\n;progressRef.current.style.width=\"100%\"// Fill up the bar\n;},50)// Small delay to ensure the reset is applied\n;}},[currentIndex,playSpeed]);// Handle swipe interaction\nconst handleTouchStart=e=>{setTouchStartX(e.touches[0].clientX)// Track the initial touch position\n;};const handleTouchMove=e=>{setTouchEndX(e.touches[0].clientX)// Track touch movement\n;};const handleTouchEnd=()=>{// Determine swipe direction (left or right)\nif(touchStartX-touchEndX>50){// Swipe left to go to the next slide\nnextSlide();}else if(touchEndX-touchStartX>50){// Swipe right to go to the previous slide\nprevSlide();}};// Map alignment values to CSS flex properties\nconst horizontalAlignment={left:\"flex-start\",center:\"center\",right:\"flex-end\"};const verticalAlignment={top:\"flex-start\",middle:\"center\",bottom:\"flex-end\"};return /*#__PURE__*/_jsxs(\"div\",{ref:sliderRef,style:{position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\"},onTouchStart:handleTouchStart,onTouchMove:handleTouchMove,onTouchEnd:handleTouchEnd,children:[/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",transition:`transform ${transitionSpeed}ms ease-in-out`,transform:`translateX(-${currentIndex===imageTextData.length-1?currentIndex*componentWidth// Last slide, take full width\n:currentIndex*(componentWidth-nextImageVisibility+horizontalGap)}px)`,width:`${(imageTextData.length-1)*(componentWidth-nextImageVisibility+horizontalGap)+componentWidth}px`,gap:`${horizontalGap}px`},children:imageTextData.map((item,index)=>/*#__PURE__*/_jsxs(\"div\",{style:{width:index===imageTextData.length-1?`${componentWidth}px`:`${componentWidth-nextImageVisibility}px`,height:`${componentHeight}px`,borderRadius:`${cornerRadius}px`,overflow:\"hidden\",flexShrink:0,position:\"relative\"},children:[/*#__PURE__*/_jsx(\"img\",{src:item.image,alt:`Slide ${index}`,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:\"center\"}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",display:\"flex\",justifyContent:horizontalAlignment[item.textAlignX],alignItems:verticalAlignment[item.textAlignY],top:0,left:0,width:\"100%\",height:\"100%\",paddingTop:`${item.paddingTop}vw`,paddingRight:`${item.paddingRight}vw`,paddingBottom:`${item.paddingBottom}vw`,paddingLeft:`${item.paddingLeft}vw`},children:/*#__PURE__*/_jsx(\"div\",{style:{color:item.textColor,fontSize:`${item.textSize}vw`,fontFamily:item.textFont,wordWrap:\"break-word\",width:\"40%\"},children:item.text})})]},index))}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",bottom:\"20px\",left:\"50%\",transform:\"translateX(-50%)\",display:\"flex\",alignItems:\"center\",gap:\"20px\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:`${buttonBackgroundSize}px`,height:`${buttonBackgroundSize}px`,backgroundColor:buttonBackgroundColor,borderRadius:\"50%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",cursor:\"pointer\"},onClick:()=>{if(isCompleted){replaySlideshow();}else{setIsPlaying(!isPlaying);}},children:isCompleted?/*#__PURE__*/_jsx(ArrowCounterClockwise,{size:iconSize,color:iconColor,weight:\"bold\"}):isPlaying?/*#__PURE__*/_jsx(Pause,{size:iconSize,color:iconColor,weight:\"fill\"}):/*#__PURE__*/_jsx(Play,{size:iconSize,color:iconColor,weight:\"fill\"})}),/*#__PURE__*/_jsx(\"div\",{style:{height:`${buttonBackgroundSize}px`,backgroundColor:controlBackgroundColor,borderRadius:`${buttonBackgroundSize/2}px`,display:\"flex\",justifyContent:\"center\",alignItems:\"center\",padding:\"0 10px\",width:`${controlBackgroundSize}px`,gap:`${dotSpacing}px`},children:imageTextData.map((_,index)=>/*#__PURE__*/_jsx(\"div\",{onClick:()=>setCurrentIndex(index),style:{width:index===currentIndex?\"40px\":\"10px\",height:\"10px\",backgroundColor:index===currentIndex?\"grey\":controlColor,borderRadius:index===currentIndex?\"20px\":\"50%\",cursor:\"pointer\",position:\"relative\",transition:\"all 0.3s ease\"},children:index===currentIndex&&/*#__PURE__*/_jsx(\"div\",{ref:progressRef,style:{position:\"absolute\",top:0,left:0,width:\"0%\",height:\"100%\",backgroundColor:\"white\",borderRadius:\"20px\",transition:`width ${playSpeed*2}ms linear`}})},index))})]})]});}SimpleSlideshow.defaultProps={imageTextData:[{image:\"\",text:\"Default Text\",textColor:\"#fff\",textFont:\"Arial, sans-serif\",textSize:3,textAlignX:\"center\",textAlignY:\"middle\",paddingTop:2,paddingRight:2,paddingBottom:2,paddingLeft:2}],autoPlay:true,autoLoop:true,playSpeed:3e3,transitionSpeed:1e3,controlColor:\"#ccc\",activeControlColor:\"#fff\",cornerRadius:10,controlBackgroundColor:\"rgba(0, 0, 0, 0.5)\",controlBackgroundSize:150,buttonBackgroundColor:\"rgba(0, 0, 0, 0.5)\",buttonBackgroundSize:50,horizontalGap:20,nextImageVisibility:50,iconColor:\"#fff\",iconSize:32,dotSpacing:10};addPropertyControls(SimpleSlideshow,{imageTextData:{type:ControlType.Array,title:\"Slides\",propertyControl:{type:ControlType.Object,controls:{image:{type:ControlType.Image,title:\"Image\"},text:{type:ControlType.String,title:\"Text\",defaultValue:\"Your Text Here\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#fff\"},textFont:{type:ControlType.String,title:\"Text Font\",defaultValue:\"Arial, sans-serif\"},textSize:{type:ControlType.Number,title:\"Text Size (vw)\",defaultValue:3,min:1,max:10},textAlignX:{type:ControlType.Enum,title:\"Text Horizontal Align\",defaultValue:\"center\",options:[\"left\",\"center\",\"right\"]},textAlignY:{type:ControlType.Enum,title:\"Text Vertical Align\",defaultValue:\"middle\",options:[\"top\",\"middle\",\"bottom\"]},paddingTop:{type:ControlType.Number,title:\"Padding Top (vw)\",defaultValue:2,min:0,max:10},paddingRight:{type:ControlType.Number,title:\"Padding Right (vw)\",defaultValue:2,min:0,max:10},paddingBottom:{type:ControlType.Number,title:\"Padding Bottom (vw)\",defaultValue:2,min:0,max:10},paddingLeft:{type:ControlType.Number,title:\"Padding Left (vw)\",defaultValue:2,min:0,max:10}}}},autoPlay:{type:ControlType.Boolean,title:\"Auto Play\",defaultValue:true},autoLoop:{type:ControlType.Boolean,title:\"Auto Loop\",defaultValue:true},playSpeed:{type:ControlType.Number,title:\"Play Speed (ms)\",min:1e3,max:1e4,defaultValue:3e3,step:500},transitionSpeed:{type:ControlType.Number,title:\"Transition Speed (ms)\",min:500,max:5e3,defaultValue:1e3,step:100},controlColor:{type:ControlType.Color,title:\"Control Color\",defaultValue:\"#ccc\"},activeControlColor:{type:ControlType.Color,title:\"Active Control Color\",defaultValue:\"#fff\"},cornerRadius:{type:ControlType.Number,title:\"Corner Radius\",min:0,max:50,defaultValue:10},controlBackgroundColor:{type:ControlType.Color,title:\"Control Background Color\",defaultValue:\"rgba(0, 0, 0, 0.5)\"},controlBackgroundSize:{type:ControlType.Number,title:\"Control Background Size\",defaultValue:150,min:50,max:300},buttonBackgroundColor:{type:ControlType.Color,title:\"Button Background Color\",defaultValue:\"rgba(0, 0, 0, 0.5)\"},buttonBackgroundSize:{type:ControlType.Number,title:\"Button Background Size\",defaultValue:50,min:30,max:100},horizontalGap:{type:ControlType.Number,title:\"Horizontal Gap (px)\",defaultValue:20,min:0,max:100},nextImageVisibility:{type:ControlType.Number,title:\"Next Image Visibility (px)\",defaultValue:50,min:0,max:300},iconColor:{type:ControlType.Color,title:\"Icon Color\",defaultValue:\"#fff\"},iconSize:{type:ControlType.Number,title:\"Icon Size\",defaultValue:32,min:16,max:64},dotSpacing:{type:ControlType.Number,title:\"Dot Spacing (px)\",defaultValue:10,min:0,max:50}});\nexport const __FramerMetadata__ = {\"exports\":{\"SimpleSlideshow\":{\"type\":\"reactComponent\",\"name\":\"SimpleSlideshow\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./VideoScrollProgress.map"],"mappings":"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"}