{"version":3,"file":"CustomVideo.CEgpcgp3.mjs","names":["useId","useRef","useState"],"sources":["https:/framerusercontent.com/modules/fFHl3lE0L1n3sAurYWJv/mRi9QLfeYd4BPYjwMAEB/CustomVideo.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useState,useRef,useEffect,useId}from\"react\";// Custom event for coordinating video playback\nconst VIDEO_PLAY_EVENT=\"customVideoPlayerPlay\";export default function CustomVideoPlayer(props){const{videoSource,videoFile,videoUrl,posterUrl,autoPlay,loop,muted,preload,showCenterPlayButton,showBottomPlayPause,showProgress,progressPosition,showTime,showMuteButton,showVolumeSlider,showFullscreen,autoHideBottom,autoHideCenter,pauseWhenOtherPlays,pauseWhenOutOfView,outOfViewThreshold,bottomBackground,bottomPaddingX,bottomPaddingY,bottomMarginX,bottomMarginY,bottomBorderRadius,centerBackground,centerBorderRadius,centerPaddingX,centerPaddingY,buttonColor,buttonHoverColor,progressBackground,progressFilled,useCustomIcons,customPlayIcon,customPauseIcon,customVolumeIcon,customMuteIcon,customFullscreenIcon,iconSize,borderRadius}=props;const playerId=useId();const videoRef=useRef(null);const containerRef=useRef(null);const progressRef=useRef(null);const[isPlaying,setIsPlaying]=useState(false);const[currentTime,setCurrentTime]=useState(0);const[duration,setDuration]=useState(0);const[volume,setVolume]=useState(muted?0:1);const[isMuted,setIsMuted]=useState(muted);const[showControls,setShowControls]=useState(true);const[isHovering,setIsHovering]=useState(null);const[isInView,setIsInView]=useState(true);// Video time/metadata updates\nuseEffect(()=>{const video=videoRef.current;if(!video)return;const handleTimeUpdate=()=>setCurrentTime(video.currentTime);const handleLoadedMetadata=()=>setDuration(video.duration);const handleEnded=()=>setIsPlaying(false);const handlePlay=()=>setIsPlaying(true);const handlePause=()=>setIsPlaying(false);video.addEventListener(\"timeupdate\",handleTimeUpdate);video.addEventListener(\"loadedmetadata\",handleLoadedMetadata);video.addEventListener(\"ended\",handleEnded);video.addEventListener(\"play\",handlePlay);video.addEventListener(\"pause\",handlePause);return()=>{video.removeEventListener(\"timeupdate\",handleTimeUpdate);video.removeEventListener(\"loadedmetadata\",handleLoadedMetadata);video.removeEventListener(\"ended\",handleEnded);video.removeEventListener(\"play\",handlePlay);video.removeEventListener(\"pause\",handlePause);};},[]);// Pause when other videos play\nuseEffect(()=>{if(!pauseWhenOtherPlays)return;const handleOtherVideoPlay=e=>{if(e.detail.playerId!==playerId){videoRef.current?.pause();}};window.addEventListener(VIDEO_PLAY_EVENT,handleOtherVideoPlay);return()=>{window.removeEventListener(VIDEO_PLAY_EVENT,handleOtherVideoPlay);};},[pauseWhenOtherPlays,playerId]);// Intersection Observer - pause when out of view\nuseEffect(()=>{if(!pauseWhenOutOfView)return;const container=containerRef.current;if(!container)return;const observer=new IntersectionObserver(entries=>{entries.forEach(entry=>{setIsInView(entry.isIntersecting);if(!entry.isIntersecting){videoRef.current?.pause();}});},{threshold:outOfViewThreshold/100,rootMargin:\"0px\"});observer.observe(container);return()=>observer.disconnect();},[pauseWhenOutOfView,outOfViewThreshold]);const play=()=>{const video=videoRef.current;if(!video)return;// Dispatch event to pause other videos\nif(pauseWhenOtherPlays){window.dispatchEvent(new CustomEvent(VIDEO_PLAY_EVENT,{detail:{playerId}}));}video.play();};const togglePlay=()=>{const video=videoRef.current;if(!video)return;if(isPlaying){video.pause();}else{play();}};const handleProgressClick=e=>{const video=videoRef.current;const progress=progressRef.current;if(!video||!progress)return;const rect=progress.getBoundingClientRect();const percent=(e.clientX-rect.left)/rect.width;video.currentTime=percent*duration;};const toggleMute=()=>{const video=videoRef.current;if(!video)return;video.muted=!isMuted;setIsMuted(!isMuted);setVolume(isMuted?1:0);};const handleVolumeChange=e=>{const video=videoRef.current;if(!video)return;const newVolume=parseFloat(e.target.value);video.volume=newVolume;setVolume(newVolume);setIsMuted(newVolume===0);};const toggleFullscreen=()=>{const container=containerRef.current;if(!container)return;if(document.fullscreenElement){document.exitFullscreen();}else{container.requestFullscreen();}};const formatTime=time=>{const minutes=Math.floor(time/60);const seconds=Math.floor(time%60);return`${minutes}:${seconds.toString().padStart(2,\"0\")}`;};const progressPercent=duration?currentTime/duration*100:0;const buttonStyle=id=>({background:\"none\",border:\"none\",cursor:\"pointer\",padding:\"8px\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:isHovering===id?buttonHoverColor:buttonColor,transition:\"color 0.2s ease\"});// Icon rendering\nconst renderIcon=(type,customIcon)=>{if(useCustomIcons&&customIcon){return /*#__PURE__*/_jsx(\"img\",{src:customIcon,alt:type,style:{width:iconSize,height:iconSize,objectFit:\"contain\"}});}// Default SVG icons\nconst icons={play:/*#__PURE__*/_jsx(\"svg\",{width:iconSize,height:iconSize,viewBox:\"0 0 24 24\",fill:\"currentColor\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M8 5v14l11-7z\"})}),pause:/*#__PURE__*/_jsxs(\"svg\",{width:iconSize,height:iconSize,viewBox:\"0 0 24 24\",fill:\"currentColor\",children:[/*#__PURE__*/_jsx(\"rect\",{x:\"6\",y:\"4\",width:\"4\",height:\"16\",rx:\"1\"}),/*#__PURE__*/_jsx(\"rect\",{x:\"14\",y:\"4\",width:\"4\",height:\"16\",rx:\"1\"})]}),volume:/*#__PURE__*/_jsx(\"svg\",{width:iconSize,height:iconSize,viewBox:\"0 0 24 24\",fill:\"currentColor\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z\"})}),mute:/*#__PURE__*/_jsx(\"svg\",{width:iconSize,height:iconSize,viewBox:\"0 0 24 24\",fill:\"currentColor\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M16.5 12c0-1.77-1.02-3.29-2.5-4.03v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51C20.63 14.91 21 13.5 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06c1.38-.31 2.63-.95 3.69-1.81L19.73 21 21 19.73l-9-9L4.27 3zM12 4L9.91 6.09 12 8.18V4z\"})}),fullscreen:/*#__PURE__*/_jsx(\"svg\",{width:iconSize,height:iconSize,viewBox:\"0 0 24 24\",fill:\"currentColor\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z\"})})};return icons[type];};return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{position:\"relative\",width:\"100%\",height:\"100%\",borderRadius,overflow:\"hidden\",backgroundColor:\"#000\"},onMouseEnter:()=>setShowControls(true),onMouseLeave:()=>setShowControls(false),children:[/*#__PURE__*/_jsx(\"video\",{ref:videoRef,src:videoSource===\"upload\"?videoFile:videoUrl,poster:posterUrl,autoPlay:autoPlay,loop:loop,muted:muted,preload:preload,playsInline:true,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"},onClick:togglePlay}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",bottom:0,left:0,right:0,display:\"flex\",flexDirection:\"column\",opacity:autoHideBottom?showControls?1:0:1,transition:\"opacity 0.3s ease\"},children:[showProgress&&progressPosition===\"above\"&&/*#__PURE__*/_jsx(\"div\",{ref:progressRef,onClick:handleProgressClick,style:{width:\"100%\",height:\"4px\",backgroundColor:progressBackground,cursor:\"pointer\",position:\"relative\"},children:/*#__PURE__*/_jsx(\"div\",{style:{width:`${progressPercent}%`,height:\"100%\",backgroundColor:progressFilled,transition:\"width 0.1s linear\"}})}),/*#__PURE__*/_jsx(\"div\",{style:{margin:`${bottomMarginY}px ${bottomMarginX}px`,background:bottomBackground,padding:`${bottomPaddingY}px ${bottomPaddingX}px`,borderRadius:bottomBorderRadius},children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:\"8px\"},children:[showBottomPlayPause&&/*#__PURE__*/_jsx(\"button\",{onClick:togglePlay,onMouseEnter:()=>setIsHovering(\"play\"),onMouseLeave:()=>setIsHovering(null),style:buttonStyle(\"play\"),children:isPlaying?renderIcon(\"pause\",customPauseIcon):renderIcon(\"play\",customPlayIcon)}),showTime&&/*#__PURE__*/_jsxs(\"span\",{style:{color:buttonColor,fontSize:\"12px\",fontFamily:\"system-ui, sans-serif\",minWidth:\"80px\"},children:[formatTime(currentTime),\" /\",\" \",formatTime(duration)]}),/*#__PURE__*/_jsx(\"div\",{style:{flex:1}}),showMuteButton&&/*#__PURE__*/_jsx(\"button\",{onClick:toggleMute,onMouseEnter:()=>setIsHovering(\"volume\"),onMouseLeave:()=>setIsHovering(null),style:buttonStyle(\"volume\"),children:isMuted||volume===0?renderIcon(\"mute\",customMuteIcon):renderIcon(\"volume\",customVolumeIcon)}),showVolumeSlider&&/*#__PURE__*/_jsx(\"input\",{type:\"range\",min:\"0\",max:\"1\",step:\"0.1\",value:volume,onChange:handleVolumeChange,style:{width:\"60px\",accentColor:progressFilled}}),showFullscreen&&/*#__PURE__*/_jsx(\"button\",{onClick:toggleFullscreen,onMouseEnter:()=>setIsHovering(\"fullscreen\"),onMouseLeave:()=>setIsHovering(null),style:buttonStyle(\"fullscreen\"),children:renderIcon(\"fullscreen\",customFullscreenIcon)})]})}),showProgress&&progressPosition===\"bottom\"&&/*#__PURE__*/_jsx(\"div\",{ref:progressRef,onClick:handleProgressClick,style:{width:\"100%\",height:\"4px\",backgroundColor:progressBackground,cursor:\"pointer\",position:\"relative\"},children:/*#__PURE__*/_jsx(\"div\",{style:{width:`${progressPercent}%`,height:\"100%\",backgroundColor:progressFilled,transition:\"width 0.1s linear\"}})})]}),!isPlaying&&showCenterPlayButton&&/*#__PURE__*/_jsx(\"button\",{onClick:togglePlay,style:{position:\"absolute\",top:\"50%\",left:\"50%\",transform:\"translate(-50%, -50%)\",background:centerBackground,border:\"none\",borderRadius:centerBorderRadius,padding:`${centerPaddingY}px ${centerPaddingX}px`,cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:buttonColor,opacity:autoHideCenter?showControls?1:0:1,transition:\"transform 0.2s ease, opacity 0.3s ease\"},onMouseEnter:e=>e.currentTarget.style.transform=\"translate(-50%, -50%) scale(1.1)\",onMouseLeave:e=>e.currentTarget.style.transform=\"translate(-50%, -50%) scale(1)\",children:useCustomIcons&&customPlayIcon?/*#__PURE__*/_jsx(\"img\",{src:customPlayIcon,alt:\"play\",style:{width:iconSize*1.5,height:iconSize*1.5,objectFit:\"contain\"}}):/*#__PURE__*/_jsx(\"svg\",{width:\"32\",height:\"32\",viewBox:\"0 0 24 24\",fill:\"currentColor\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M8 5v14l11-7z\"})})})]});}CustomVideoPlayer.defaultProps={videoSource:\"upload\",videoFile:\"\",videoUrl:\"\",posterUrl:\"\",autoPlay:false,loop:false,muted:false,preload:\"metadata\",showCenterPlayButton:true,showBottomPlayPause:true,showProgress:true,progressPosition:\"above\",showTime:true,showMuteButton:true,showVolumeSlider:true,showFullscreen:true,autoHideBottom:true,autoHideCenter:false,pauseWhenOtherPlays:true,pauseWhenOutOfView:true,outOfViewThreshold:50,bottomBackground:\"rgba(0, 0, 0, 0.7)\",bottomPaddingX:16,bottomPaddingY:12,bottomMarginX:12,bottomMarginY:12,bottomBorderRadius:8,centerBackground:\"rgba(0, 0, 0, 0.7)\",centerBorderRadius:0,centerPaddingX:20,centerPaddingY:20,buttonColor:\"#ffffff\",buttonHoverColor:\"#cccccc\",progressBackground:\"rgba(255, 255, 255, 0.3)\",progressFilled:\"#ffffff\",useCustomIcons:false,iconSize:20,borderRadius:8};addPropertyControls(CustomVideoPlayer,{videoSource:{type:ControlType.Enum,title:\"Video Source\",options:[\"upload\",\"url\"],optionTitles:[\"Upload\",\"URL\"],defaultValue:\"upload\"},videoFile:{type:ControlType.File,title:\"Video File\",allowedFileTypes:[\"mp4\",\"webm\",\"mov\",\"ogg\"],hidden:props=>props.videoSource!==\"upload\"},videoUrl:{type:ControlType.String,title:\"Video URL\",placeholder:\"https://example.com/video.mp4\",hidden:props=>props.videoSource!==\"url\"},posterUrl:{type:ControlType.Image,title:\"Poster Image\"},autoPlay:{type:ControlType.Boolean,title:\"Auto Play\",defaultValue:false},loop:{type:ControlType.Boolean,title:\"Loop\",defaultValue:false},muted:{type:ControlType.Boolean,title:\"Muted\",defaultValue:false},preload:{type:ControlType.Enum,title:\"Preload\",options:[\"auto\",\"metadata\",\"none\"],optionTitles:[\"Auto (loads immediately)\",\"Metadata only\",\"None (lazy load)\"],defaultValue:\"metadata\"},showCenterPlayButton:{type:ControlType.Boolean,title:\"Center Play Button\",defaultValue:true},showBottomPlayPause:{type:ControlType.Boolean,title:\"Bottom Play/Pause\",defaultValue:true},showProgress:{type:ControlType.Boolean,title:\"Progress Bar\",defaultValue:true},progressPosition:{type:ControlType.Enum,title:\"Progress Position\",options:[\"above\",\"bottom\"],optionTitles:[\"Above Controls\",\"Bottom Edge\"],defaultValue:\"above\",hidden:props=>!props.showProgress},showTime:{type:ControlType.Boolean,title:\"Time Display\",defaultValue:true},showMuteButton:{type:ControlType.Boolean,title:\"Mute Button\",defaultValue:true},showVolumeSlider:{type:ControlType.Boolean,title:\"Volume Slider\",defaultValue:true},showFullscreen:{type:ControlType.Boolean,title:\"Fullscreen\",defaultValue:true},autoHideBottom:{type:ControlType.Boolean,title:\"Auto-Hide Bottom\",description:\"Hide bottom controls until mouse hover\",defaultValue:true},autoHideCenter:{type:ControlType.Boolean,title:\"Auto-Hide Center\",description:\"Hide center play button until mouse hover\",defaultValue:false,hidden:props=>!props.showCenterPlayButton},pauseWhenOtherPlays:{type:ControlType.Boolean,title:\"Pause for Others\",description:\"Pause this video when another video starts playing\",defaultValue:true},pauseWhenOutOfView:{type:ControlType.Boolean,title:\"Pause Out of View\",description:\"Pause when video scrolls out of viewport\",defaultValue:true},outOfViewThreshold:{type:ControlType.Number,title:\"View Threshold %\",description:\"Percentage of video that must be visible to keep playing\",defaultValue:50,min:0,max:100,step:10,hidden:props=>!props.pauseWhenOutOfView},bottomBackground:{type:ControlType.Color,title:\"Bottom Bar BG\",defaultValue:\"rgba(0, 0, 0, 0.7)\"},bottomPaddingX:{type:ControlType.Number,title:\"Bottom Padding X\",defaultValue:16,min:0,max:50,step:2},bottomPaddingY:{type:ControlType.Number,title:\"Bottom Padding Y\",defaultValue:12,min:0,max:50,step:2},bottomMarginX:{type:ControlType.Number,title:\"Bottom Margin X\",defaultValue:12,min:0,max:50,step:2},bottomMarginY:{type:ControlType.Number,title:\"Bottom Margin Y\",defaultValue:12,min:0,max:50,step:2},bottomBorderRadius:{type:ControlType.Number,title:\"Bottom Radius\",defaultValue:8,min:0,max:50,step:1},centerBackground:{type:ControlType.Color,title:\"Center Button BG\",defaultValue:\"rgba(0, 0, 0, 0.7)\",hidden:props=>!props.showCenterPlayButton},centerBorderRadius:{type:ControlType.Number,title:\"Center Radius\",defaultValue:0,min:0,max:100,step:1,hidden:props=>!props.showCenterPlayButton},centerPaddingX:{type:ControlType.Number,title:\"Center Padding X\",defaultValue:20,min:0,max:60,step:2,hidden:props=>!props.showCenterPlayButton},centerPaddingY:{type:ControlType.Number,title:\"Center Padding Y\",defaultValue:20,min:0,max:60,step:2,hidden:props=>!props.showCenterPlayButton},buttonColor:{type:ControlType.Color,title:\"Button Color\",defaultValue:\"#ffffff\"},buttonHoverColor:{type:ControlType.Color,title:\"Button Hover\",defaultValue:\"#cccccc\"},progressBackground:{type:ControlType.Color,title:\"Progress BG\",defaultValue:\"rgba(255, 255, 255, 0.3)\"},progressFilled:{type:ControlType.Color,title:\"Progress Fill\",defaultValue:\"#ffffff\"},useCustomIcons:{type:ControlType.Boolean,title:\"Custom Icons\",defaultValue:false},customPlayIcon:{type:ControlType.Image,title:\"Play Icon\",hidden:props=>!props.useCustomIcons},customPauseIcon:{type:ControlType.Image,title:\"Pause Icon\",hidden:props=>!props.useCustomIcons},customVolumeIcon:{type:ControlType.Image,title:\"Volume Icon\",hidden:props=>!props.useCustomIcons},customMuteIcon:{type:ControlType.Image,title:\"Mute Icon\",hidden:props=>!props.useCustomIcons},customFullscreenIcon:{type:ControlType.Image,title:\"Fullscreen Icon\",hidden:props=>!props.useCustomIcons},iconSize:{type:ControlType.Number,title:\"Icon Size\",defaultValue:20,min:12,max:48,step:2},borderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:8,min:0,max:50,step:1}});// Framer canvas annotations\nCustomVideoPlayer.displayName=\"Custom Video Player\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CustomVideoPlayer\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CustomVideo.map"],"mappings":"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"}