{"version":3,"file":"VideoPlayer.BDKhM8aX.mjs","names":["useRef","useState","p","useCallback","_Fragment"],"sources":["https:/framerusercontent.com/modules/GmS71Pa7CwCn26qdc7p7/XDh4khC46dhjabiPamOu/VideoPlayer.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useRef,useState,useCallback}from\"react\";/**\n * VIDEO PLAYER\n * Full-featured Vimeo player with complete playback controls.\n * — Play / Pause\n * — Seekbar with scrubbing\n * — Time display (current / duration)\n * — Volume toggle (mute/unmute)\n * — Fullscreen modal\n * — Auto-hide controls on inactivity\n * — Keyboard shortcuts (Space, Arrow keys, M, F, Escape)\n * — Poster image support\n * — Lazy load on viewport entry\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n *//* ================================================================\n   VIMEO SDK LOADER — singleton\n   ================================================================ */let sdkPromise=null;function loadVimeoSDK(){if(window.Vimeo)return Promise.resolve(window.Vimeo);if(sdkPromise)return sdkPromise;sdkPromise=new Promise((resolve,reject)=>{const s=document.createElement(\"script\");s.src=\"https://player.vimeo.com/api/player.js\";s.async=true;s.onload=()=>resolve(window.Vimeo);s.onerror=reject;document.head.appendChild(s);});return sdkPromise;}/* ================================================================\n   TIME FORMATTER\n   ================================================================ */function formatTime(seconds){if(!isFinite(seconds)||seconds<0)return\"0:00\";const m=Math.floor(seconds/60);const s=Math.floor(seconds%60);return`${m}:${s.toString().padStart(2,\"0\")}`;}/* ================================================================\n   URL BUILDER — clean iframe URL builder\n   Handles both player.vimeo.com/video/ID and vimeo.com/ID formats\n   ================================================================ */function buildVimeoUrl(videoUrl,opts){try{let url;// Accept vimeo.com/ID → convert to player.vimeo.com/video/ID\nif(/^https?:\\/\\/vimeo\\.com\\/\\d+/.test(videoUrl)){const id=videoUrl.match(/vimeo\\.com\\/(\\d+)/)?.[1];url=new URL(`https://player.vimeo.com/video/${id}`);}else{url=new URL(videoUrl);}// Always muted on load (browser autoplay policy), SDK unmutes after\nurl.searchParams.set(\"muted\",opts.startMuted?\"1\":\"0\");url.searchParams.set(\"autoplay\",\"1\");url.searchParams.set(\"loop\",\"1\");url.searchParams.set(\"controls\",\"0\");url.searchParams.set(\"background\",\"0\");url.searchParams.set(\"playsinline\",\"1\");url.searchParams.set(\"transparent\",\"1\");url.searchParams.set(\"dnt\",\"1\")// do-not-track → blocks cast_sender noise\n;return url.toString();}catch{return videoUrl;}}/* ================================================================\n   MAIN COMPONENT\n   ================================================================ */export default function VideoPlayer(props){const{videoUrl=\"https://player.vimeo.com/video/1086037474\",posterUrl=\"\",videoZoom=100,borderRadius=16,enableSound=false,autoHideControls=true,autoHideDelay=3,buttonSize=36,buttonBg=\"rgba(255,255,255,0.12)\",buttonColor=\"#ffffff\",controlsPadding=12,seekBarHeight=4,seekBarColor=\"#ffffff\",seekBarBgColor=\"rgba(255,255,255,0.25)\",seekBarBufferColor=\"rgba(255,255,255,0.4)\",showTimeCode=true,showControlsOnHover=false,loadOnView=true,accentColor=\"#ffffff\",style}=props;const containerRef=useRef(null);const playerRef=useRef(null);const hideTimerRef=useRef(null);const[isVisible,setIsVisible]=useState(!loadOnView);const[ready,setReady]=useState(false);const[playing,setPlaying]=useState(false);const[muted,setMuted]=useState(true)// always start muted (browser policy)\n;const[currentTime,setCurrentTime]=useState(0);const[duration,setDuration]=useState(0);const[buffered,setBuffered]=useState(0);const[seeking,setSeeking]=useState(false);const[seekValue,setSeekValue]=useState(0);const[controlsVisible,setControlsVisible]=useState(true);const[hoveringControls,setHoveringControls]=useState(false);const[containerHovered,setContainerHovered]=useState(false);const[isFullscreen,setIsFullscreen]=useState(false);const[scale,setScale]=useState(1);const[hasStarted,setHasStarted]=useState(false);const[containerSize,setContainerSize]=useState({w:0,h:0});// Build clean iframe URL — start muted, then SDK unmutes if enableSound=true\nconst iframeSrc=buildVimeoUrl(videoUrl,{startMuted:true});/* ---------- Lazy load ---------- */useEffect(()=>{if(!loadOnView){setIsVisible(true);return;}const el=containerRef.current;if(!el)return;const observer=new IntersectionObserver(([entry])=>{if(entry.isIntersecting){setIsVisible(true);observer.disconnect();}},{threshold:.15});observer.observe(el);return()=>observer.disconnect();},[loadOnView]);/* ---------- Init Vimeo Player ---------- */useEffect(()=>{if(!isVisible)return;let cancelled=false;// Wait for iframe to mount\nconst initTimer=setTimeout(()=>{const iframe=containerRef.current?.querySelector(\"iframe\");if(!iframe||cancelled)return;loadVimeoSDK().then(Vimeo=>{if(cancelled)return;const p=new Vimeo.Player(iframe);playerRef.current=p;p.ready().then(()=>{if(cancelled)return;setReady(true);p.getDuration().then(d=>{if(!cancelled)setDuration(d);});// Handle enableSound: iframe is always muted at load, SDK unmutes\nif(enableSound){p.setVolume(1).catch(()=>{});p.setMuted(false).catch(()=>{});setMuted(false);}else{p.setVolume(0).catch(()=>{});p.setMuted(true).catch(()=>{});setMuted(true);}p.on(\"timeupdate\",data=>{if(!cancelled){setCurrentTime(data.seconds);setDuration(data.duration);setBuffered(data.percent);}});p.on(\"play\",()=>{if(!cancelled){setPlaying(true);setHasStarted(true);}});p.on(\"pause\",()=>{if(!cancelled)setPlaying(false);});p.on(\"ended\",()=>{if(!cancelled){// Manual loop — Vimeo loop=1 unreliable in non-background mode\np.setCurrentTime(0).then(()=>p.play()).catch(()=>setPlaying(false));}});});});},100);return()=>{cancelled=true;clearTimeout(initTimer);if(playerRef.current){try{playerRef.current.off(\"timeupdate\");playerRef.current.off(\"play\");playerRef.current.off(\"pause\");playerRef.current.off(\"ended\");playerRef.current.destroy().catch(()=>{});}catch{}playerRef.current=null;}setReady(false);};},[isVisible,enableSound]);/* ---------- Responsive scale + container size (for cover-fit) ---------- */useEffect(()=>{const el=containerRef.current;if(!el)return;const ro=new ResizeObserver(([entry])=>{const w=entry.contentRect.width;const h=entry.contentRect.height;setContainerSize({w,h});if(w<200)setScale(.55);else if(w<320)setScale(.7);else if(w<480)setScale(.85);else setScale(1);});ro.observe(el);return()=>ro.disconnect();},[]);/* ---------- Playback controls ---------- */const togglePlay=useCallback(()=>{const p=playerRef.current;if(!p)return;if(playing){p.pause().catch(()=>{});}else{p.play().catch(()=>{});}},[playing]);const toggleMute=useCallback(()=>{const p=playerRef.current;if(!p)return;const next=!muted;setMuted(next);p.setMuted(next).catch(()=>{});p.setVolume(next?0:1).catch(()=>{});},[muted]);const seekTo=useCallback(fraction=>{const p=playerRef.current;if(!p||!duration)return;const t=Math.max(0,Math.min(duration,fraction*duration));p.setCurrentTime(t).catch(()=>{});setCurrentTime(t);},[duration]);const skip=useCallback(seconds=>{const p=playerRef.current;if(!p)return;const t=Math.max(0,Math.min(duration,currentTime+seconds));p.setCurrentTime(t).catch(()=>{});setCurrentTime(t);},[currentTime,duration]);const openFullscreen=useCallback(()=>setIsFullscreen(true),[]);const closeFullscreen=useCallback(()=>setIsFullscreen(false),[]);/* ---------- Auto-hide controls ---------- */const resetHideTimer=useCallback(()=>{setControlsVisible(true);if(hideTimerRef.current)clearTimeout(hideTimerRef.current);if(autoHideControls&&playing&&!hoveringControls){hideTimerRef.current=setTimeout(()=>{setControlsVisible(false);},autoHideDelay*1e3);}},[autoHideControls,autoHideDelay,playing,hoveringControls]);useEffect(()=>{resetHideTimer();return()=>{if(hideTimerRef.current)clearTimeout(hideTimerRef.current);};},[playing,resetHideTimer]);/* ---------- Keyboard shortcuts ---------- */useEffect(()=>{if(!ready)return;const onKey=e=>{const el=containerRef.current;if(!el)return;const active=document.activeElement;if(active&&active!==document.body&&!el.contains(active))return;switch(e.key){case\" \":e.preventDefault();togglePlay();break;case\"ArrowRight\":e.preventDefault();skip(10);break;case\"ArrowLeft\":e.preventDefault();skip(-10);break;case\"m\":case\"M\":toggleMute();break;case\"f\":case\"F\":if(!isFullscreen)openFullscreen();break;}};window.addEventListener(\"keydown\",onKey);return()=>window.removeEventListener(\"keydown\",onKey);},[ready,togglePlay,skip,toggleMute,isFullscreen,openFullscreen]);/* ---------- Derived values ---------- */const progress=duration>0?currentTime/duration:0;const displayProgress=seeking?seekValue:progress;const scaledBtn=buttonSize*scale;const scaledPad=controlsPadding*scale;const scaledSeekH=Math.max(2,seekBarHeight*scale);const iconSize=Math.max(8,scaledBtn*.5);// Cover-fit iframe sizing — compute dims from CONTAINER, not viewport\n// Video is 16:9. Scale to cover container + apply zoom.\nconst coverDims=(()=>{const{w,h}=containerSize;if(w===0||h===0)return{width:\"100%\",height:\"100%\"};const containerRatio=w/h;const videoRatio=16/9;let iframeW;let iframeH;if(containerRatio>videoRatio){// Container wider than 16:9 → match width, overflow height\niframeW=w;iframeH=w/videoRatio;}else{// Container taller than 16:9 → match height, overflow width\niframeH=h;iframeW=h*videoRatio;}const zoom=videoZoom/100;return{width:`${iframeW*zoom}px`,height:`${iframeH*zoom}px`};})();const shouldShowControls=showControlsOnHover?containerHovered||seeking:controlsVisible||!playing;/* ---------- Seek bar handlers ---------- */const seekBarRef=useRef(null);const getSeekFraction=useCallback(e=>{const bar=seekBarRef.current;if(!bar)return 0;const rect=bar.getBoundingClientRect();return Math.max(0,Math.min(1,(e.clientX-rect.left)/rect.width));},[]);const onSeekStart=useCallback(e=>{e.preventDefault();e.stopPropagation();setSeeking(true);const frac=getSeekFraction(e);setSeekValue(frac);const onMove=ev=>{const f=getSeekFraction(ev);setSeekValue(f);};const onUp=ev=>{const f=getSeekFraction(ev);seekTo(f);setSeeking(false);window.removeEventListener(\"mousemove\",onMove);window.removeEventListener(\"mouseup\",onUp);};window.addEventListener(\"mousemove\",onMove);window.addEventListener(\"mouseup\",onUp);},[getSeekFraction,seekTo]);return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"div\",{ref:containerRef,tabIndex:0,onMouseMove:resetHideTimer,onMouseEnter:()=>setContainerHovered(true),onMouseLeave:()=>{setContainerHovered(false);if(autoHideControls&&playing){setControlsVisible(false);}},style:{position:\"relative\",width:\"100%\",height:\"100%\",borderRadius,overflow:\"hidden\",background:\"#000\",outline:\"none\",cursor:shouldShowControls?\"default\":\"none\",...style},children:[posterUrl&&!hasStarted&&/*#__PURE__*/_jsx(\"img\",{src:posterUrl,alt:\"\",style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",zIndex:1}}),isVisible&&/*#__PURE__*/_jsx(\"iframe\",{src:iframeSrc,allow:\"autoplay; fullscreen; picture-in-picture; encrypted-media; accelerometer; gyroscope\",allowFullScreen:true,style:{position:\"absolute\",top:\"50%\",left:\"50%\",transform:\"translate(-50%, -50%)\",width:coverDims.width,height:coverDims.height,border:\"none\",pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(\"div\",{onClick:togglePlay,onDoubleClick:openFullscreen,style:{position:\"absolute\",inset:0,zIndex:2,cursor:\"pointer\"}}),ready&&!playing&&(!showControlsOnHover||containerHovered)&&/*#__PURE__*/_jsx(\"div\",{onClick:togglePlay,style:{position:\"absolute\",top:\"50%\",left:\"50%\",transform:\"translate(-50%, -50%)\",zIndex:3,width:64*scale,height:64*scale,borderRadius:\"50%\",background:\"rgba(0,0,0,0.5)\",backdropFilter:\"blur(12px)\",WebkitBackdropFilter:\"blur(12px)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",cursor:\"pointer\",transition:\"transform 0.2s ease\"},children:/*#__PURE__*/_jsx(\"svg\",{width:28*scale,height:28*scale,viewBox:\"0 0 24 24\",fill:buttonColor,stroke:\"none\",children:/*#__PURE__*/_jsx(\"polygon\",{points:\"6,3 20,12 6,21\"})})}),/*#__PURE__*/_jsxs(\"div\",{onMouseEnter:()=>setHoveringControls(true),onMouseLeave:()=>setHoveringControls(false),style:{position:\"absolute\",bottom:0,left:0,right:0,zIndex:8,opacity:shouldShowControls?1:0,transform:shouldShowControls?\"translateY(0)\":\"translateY(6px)\",transition:\"opacity 0.3s ease, transform 0.3s ease\",pointerEvents:shouldShowControls?\"auto\":\"none\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",bottom:0,left:0,right:0,height:100*scale,background:\"linear-gradient(to top, rgba(0,0,0,0.6) 0%, transparent 100%)\",pointerEvents:\"none\"}}),/*#__PURE__*/_jsxs(\"div\",{ref:seekBarRef,onMouseDown:onSeekStart,style:{position:\"relative\",height:20*scale,marginLeft:scaledPad,marginRight:scaledPad,cursor:\"pointer\",display:\"flex\",alignItems:\"center\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:0,right:0,height:scaledSeekH,borderRadius:scaledSeekH/2,background:seekBarBgColor}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:0,width:`${buffered*100}%`,height:scaledSeekH,borderRadius:scaledSeekH/2,background:seekBarBufferColor}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:0,width:`${displayProgress*100}%`,height:scaledSeekH,borderRadius:scaledSeekH/2,background:seekBarColor}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:`${displayProgress*100}%`,top:\"50%\",transform:\"translate(-50%, -50%)\",width:(scaledSeekH+6)*2,height:(scaledSeekH+6)*2,borderRadius:\"50%\",background:accentColor,opacity:seeking?1:0,transition:\"opacity 0.15s ease\",boxShadow:\"0 1px 4px rgba(0,0,0,0.4)\"}})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8*scale,padding:`${4*scale}px ${scaledPad}px ${scaledPad}px`},children:[/*#__PURE__*/_jsx(CtrlBtn,{onClick:togglePlay,label:playing?\"Pause\":\"Play\",size:scaledBtn,iconSize:iconSize,bg:buttonBg,color:buttonColor,children:playing?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"rect\",{x:\"6\",y:\"4\",width:\"4\",height:\"16\",rx:\"1\",fill:\"currentColor\",stroke:\"none\"}),/*#__PURE__*/_jsx(\"rect\",{x:\"14\",y:\"4\",width:\"4\",height:\"16\",rx:\"1\",fill:\"currentColor\",stroke:\"none\"})]}):/*#__PURE__*/_jsx(\"polygon\",{points:\"7,4 20,12 7,20\",fill:\"currentColor\",stroke:\"none\"})}),/*#__PURE__*/_jsx(CtrlBtn,{onClick:()=>skip(-10),label:\"Back 10s\",size:scaledBtn,iconSize:iconSize,bg:buttonBg,color:buttonColor,children:/*#__PURE__*/_jsx(SkipBackIcon,{})}),/*#__PURE__*/_jsx(CtrlBtn,{onClick:()=>skip(10),label:\"Forward 10s\",size:scaledBtn,iconSize:iconSize,bg:buttonBg,color:buttonColor,children:/*#__PURE__*/_jsx(SkipForwardIcon,{})}),/*#__PURE__*/_jsx(CtrlBtn,{onClick:toggleMute,label:muted?\"Unmute\":\"Mute\",size:scaledBtn,iconSize:iconSize,bg:buttonBg,color:buttonColor,children:muted?/*#__PURE__*/_jsx(MutedIcon,{}):/*#__PURE__*/_jsx(UnmutedIcon,{})}),showTimeCode&&/*#__PURE__*/_jsxs(\"span\",{style:{fontFamily:\"SF Mono, Menlo, Consolas, monospace\",fontSize:12*scale,color:buttonColor,opacity:.85,whiteSpace:\"nowrap\",userSelect:\"none\",marginLeft:4*scale},children:[formatTime(seeking?seekValue*duration:currentTime),\" \",\"/ \",formatTime(duration)]}),/*#__PURE__*/_jsx(\"div\",{style:{flex:1}}),/*#__PURE__*/_jsx(CtrlBtn,{onClick:openFullscreen,label:\"Fullscreen\",size:scaledBtn,iconSize:iconSize,bg:buttonBg,color:buttonColor,children:/*#__PURE__*/_jsx(ExpandIcon,{})})]})]})]}),isFullscreen&&/*#__PURE__*/_jsx(FullscreenModal,{videoUrl:videoUrl,buttonSize:buttonSize,buttonBg:buttonBg,buttonColor:buttonColor,controlsPadding:controlsPadding,seekBarHeight:seekBarHeight,seekBarColor:seekBarColor,seekBarBgColor:seekBarBgColor,seekBarBufferColor:seekBarBufferColor,accentColor:accentColor,showTimeCode:showTimeCode,autoHideControls:autoHideControls,autoHideDelay:autoHideDelay,onClose:closeFullscreen})]});}/* ================================================================\n   FULLSCREEN MODAL — full player in overlay\n   ================================================================ */function FullscreenModal({videoUrl,buttonSize,buttonBg,buttonColor,controlsPadding,seekBarHeight,seekBarColor,seekBarBgColor,seekBarBufferColor,accentColor,showTimeCode,autoHideControls,autoHideDelay,onClose}){const containerRef=useRef(null);const playerRef=useRef(null);const hideTimerRef=useRef(null);const seekBarRef=useRef(null);const[visible,setVisible]=useState(false);const[closing,setClosing]=useState(false);const[ready,setReady]=useState(false);const[playing,setPlaying]=useState(false);const[muted,setMuted]=useState(false);const[currentTime,setCurrentTime]=useState(0);const[duration,setDuration]=useState(0);const[buffered,setBuffered]=useState(0);const[seeking,setSeeking]=useState(false);const[seekValue,setSeekValue]=useState(0);const[controlsVisible,setControlsVisible]=useState(true);const[hoveringControls,setHoveringControls]=useState(false);const FADE_MS=300;const iconSize=Math.max(8,buttonSize*.5);// Modal iframe: start muted to satisfy autoplay, SDK unmutes immediately\nconst modalSrc=buildVimeoUrl(videoUrl,{startMuted:true});/* ---------- Controls defined FIRST (so keyboard handler can reference them) ---------- */const togglePlay=useCallback(()=>{const p=playerRef.current;if(!p)return;if(playing)p.pause().catch(()=>{});else p.play().catch(()=>{});},[playing]);const toggleMute=useCallback(()=>{const p=playerRef.current;if(!p)return;const next=!muted;setMuted(next);p.setMuted(next).catch(()=>{});p.setVolume(next?0:1).catch(()=>{});},[muted]);const seekTo=useCallback(fraction=>{const p=playerRef.current;if(!p||!duration)return;const t=Math.max(0,Math.min(duration,fraction*duration));p.setCurrentTime(t).catch(()=>{});setCurrentTime(t);},[duration]);const skip=useCallback(seconds=>{const p=playerRef.current;if(!p)return;const t=Math.max(0,Math.min(duration,currentTime+seconds));p.setCurrentTime(t).catch(()=>{});setCurrentTime(t);},[currentTime,duration]);// Fade in\nuseEffect(()=>{requestAnimationFrame(()=>setVisible(true));},[]);// Block scroll\nuseEffect(()=>{const orig=document.body.style.overflow;document.body.style.overflow=\"hidden\";return()=>{document.body.style.overflow=orig;};},[]);// Init player\nuseEffect(()=>{let cancelled=false;const initTimer=setTimeout(()=>{const iframe=containerRef.current?.querySelector(\"iframe\");if(!iframe||cancelled)return;loadVimeoSDK().then(Vimeo=>{if(cancelled)return;const p=new Vimeo.Player(iframe);playerRef.current=p;p.ready().then(()=>{if(cancelled)return;setReady(true);p.getDuration().then(d=>{if(!cancelled)setDuration(d);});// Unmute in modal — fullscreen = intentional user action\np.setMuted(false).catch(()=>{});p.setVolume(1).catch(()=>{});setMuted(false);p.on(\"timeupdate\",data=>{if(!cancelled){setCurrentTime(data.seconds);setDuration(data.duration);setBuffered(data.percent);}});p.on(\"play\",()=>!cancelled&&setPlaying(true));p.on(\"pause\",()=>!cancelled&&setPlaying(false));p.on(\"ended\",()=>{if(!cancelled){p.setCurrentTime(0).then(()=>p.play()).catch(()=>setPlaying(false));}});});});},100);return()=>{cancelled=true;clearTimeout(initTimer);if(playerRef.current){try{playerRef.current.off(\"timeupdate\");playerRef.current.off(\"play\");playerRef.current.off(\"pause\");playerRef.current.off(\"ended\");playerRef.current.destroy().catch(()=>{});}catch{}playerRef.current=null;}};},[]);// Auto-hide\nconst resetHideTimer=useCallback(()=>{setControlsVisible(true);if(hideTimerRef.current)clearTimeout(hideTimerRef.current);if(autoHideControls&&playing&&!hoveringControls){hideTimerRef.current=setTimeout(()=>{setControlsVisible(false);},autoHideDelay*1e3);}},[autoHideControls,autoHideDelay,playing,hoveringControls]);useEffect(()=>{resetHideTimer();return()=>{if(hideTimerRef.current)clearTimeout(hideTimerRef.current);};},[playing,resetHideTimer]);// Close\nconst handleClose=useCallback(()=>{if(closing)return;setClosing(true);setVisible(false);setTimeout(()=>onClose(),FADE_MS);},[closing,onClose]);// Keyboard shortcuts — deps now include all referenced callbacks (no stale closures)\nuseEffect(()=>{const onKey=e=>{if(e.key===\"Escape\"){handleClose();return;}switch(e.key){case\" \":e.preventDefault();togglePlay();break;case\"ArrowRight\":e.preventDefault();skip(10);break;case\"ArrowLeft\":e.preventDefault();skip(-10);break;case\"m\":case\"M\":toggleMute();break;}};window.addEventListener(\"keydown\",onKey);return()=>window.removeEventListener(\"keydown\",onKey);},[handleClose,togglePlay,skip,toggleMute]);const getSeekFraction=useCallback(e=>{const bar=seekBarRef.current;if(!bar)return 0;const rect=bar.getBoundingClientRect();return Math.max(0,Math.min(1,(e.clientX-rect.left)/rect.width));},[]);const onSeekStart=useCallback(e=>{e.preventDefault();e.stopPropagation();setSeeking(true);const frac=getSeekFraction(e);setSeekValue(frac);const onMove=ev=>setSeekValue(getSeekFraction(ev));const onUp=ev=>{seekTo(getSeekFraction(ev));setSeeking(false);window.removeEventListener(\"mousemove\",onMove);window.removeEventListener(\"mouseup\",onUp);};window.addEventListener(\"mousemove\",onMove);window.addEventListener(\"mouseup\",onUp);},[getSeekFraction,seekTo]);const progress=duration>0?currentTime/duration:0;const displayProgress=seeking?seekValue:progress;const scaledSeekH=Math.max(2,seekBarHeight);return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,onMouseMove:resetHideTimer,style:{position:\"fixed\",inset:0,zIndex:9999,background:\"#000\",opacity:visible?1:0,transition:`opacity ${FADE_MS}ms ease`,cursor:controlsVisible?\"default\":\"none\"},children:[/*#__PURE__*/_jsx(\"iframe\",{src:modalSrc,allow:\"autoplay; fullscreen; picture-in-picture; encrypted-media; accelerometer; gyroscope\",allowFullScreen:true,style:{position:\"absolute\",top:\"50%\",left:\"50%\",transform:\"translate(-50%, -50%)\",minWidth:\"100%\",minHeight:\"100%\",width:\"177.78vh\",height:\"56.25vw\",border:\"none\",pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(\"div\",{onClick:togglePlay,style:{position:\"absolute\",inset:0,zIndex:2,cursor:\"pointer\"}}),ready&&!playing&&/*#__PURE__*/_jsx(\"div\",{onClick:togglePlay,style:{position:\"absolute\",top:\"50%\",left:\"50%\",transform:\"translate(-50%, -50%)\",zIndex:3,width:72,height:72,borderRadius:\"50%\",background:\"rgba(0,0,0,0.5)\",backdropFilter:\"blur(12px)\",WebkitBackdropFilter:\"blur(12px)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",cursor:\"pointer\"},children:/*#__PURE__*/_jsx(\"svg\",{width:32,height:32,viewBox:\"0 0 24 24\",fill:buttonColor,stroke:\"none\",children:/*#__PURE__*/_jsx(\"polygon\",{points:\"6,3 20,12 6,21\"})})}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:16,right:16,zIndex:20,pointerEvents:\"auto\",opacity:controlsVisible?1:0,transition:\"opacity 0.3s ease\"},children:/*#__PURE__*/_jsx(CloseButton,{onClick:handleClose})}),/*#__PURE__*/_jsxs(\"div\",{onMouseEnter:()=>setHoveringControls(true),onMouseLeave:()=>setHoveringControls(false),style:{position:\"absolute\",bottom:0,left:0,right:0,zIndex:10,opacity:controlsVisible||!playing?1:0,transform:controlsVisible||!playing?\"translateY(0)\":\"translateY(6px)\",transition:\"opacity 0.3s ease, transform 0.3s ease\",pointerEvents:controlsVisible||!playing?\"auto\":\"none\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",bottom:0,left:0,right:0,height:120,background:\"linear-gradient(to top, rgba(0,0,0,0.6) 0%, transparent 100%)\",pointerEvents:\"none\"}}),/*#__PURE__*/_jsxs(\"div\",{ref:seekBarRef,onMouseDown:onSeekStart,style:{position:\"relative\",height:24,marginLeft:controlsPadding,marginRight:controlsPadding,cursor:\"pointer\",display:\"flex\",alignItems:\"center\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:0,right:0,height:scaledSeekH,borderRadius:scaledSeekH/2,background:seekBarBgColor}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:0,width:`${buffered*100}%`,height:scaledSeekH,borderRadius:scaledSeekH/2,background:seekBarBufferColor}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:0,width:`${displayProgress*100}%`,height:scaledSeekH,borderRadius:scaledSeekH/2,background:seekBarColor}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:`${displayProgress*100}%`,top:\"50%\",transform:\"translate(-50%, -50%)\",width:14,height:14,borderRadius:\"50%\",background:accentColor,opacity:seeking?1:0,transition:\"opacity 0.15s ease\",boxShadow:\"0 1px 4px rgba(0,0,0,0.4)\"}})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8,padding:`4px ${controlsPadding}px ${controlsPadding}px`},children:[/*#__PURE__*/_jsx(CtrlBtn,{onClick:togglePlay,label:playing?\"Pause\":\"Play\",size:buttonSize,iconSize:iconSize,bg:buttonBg,color:buttonColor,children:playing?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"rect\",{x:\"6\",y:\"4\",width:\"4\",height:\"16\",rx:\"1\",fill:\"currentColor\",stroke:\"none\"}),/*#__PURE__*/_jsx(\"rect\",{x:\"14\",y:\"4\",width:\"4\",height:\"16\",rx:\"1\",fill:\"currentColor\",stroke:\"none\"})]}):/*#__PURE__*/_jsx(\"polygon\",{points:\"7,4 20,12 7,20\",fill:\"currentColor\",stroke:\"none\"})}),/*#__PURE__*/_jsx(CtrlBtn,{onClick:()=>skip(-10),label:\"Back 10s\",size:buttonSize,iconSize:iconSize,bg:buttonBg,color:buttonColor,children:/*#__PURE__*/_jsx(SkipBackIcon,{})}),/*#__PURE__*/_jsx(CtrlBtn,{onClick:()=>skip(10),label:\"Forward 10s\",size:buttonSize,iconSize:iconSize,bg:buttonBg,color:buttonColor,children:/*#__PURE__*/_jsx(SkipForwardIcon,{})}),/*#__PURE__*/_jsx(CtrlBtn,{onClick:toggleMute,label:muted?\"Unmute\":\"Mute\",size:buttonSize,iconSize:iconSize,bg:buttonBg,color:buttonColor,children:muted?/*#__PURE__*/_jsx(MutedIcon,{}):/*#__PURE__*/_jsx(UnmutedIcon,{})}),showTimeCode&&/*#__PURE__*/_jsxs(\"span\",{style:{fontFamily:\"SF Mono, Menlo, Consolas, monospace\",fontSize:13,color:buttonColor,opacity:.85,whiteSpace:\"nowrap\",userSelect:\"none\",marginLeft:4},children:[formatTime(seeking?seekValue*duration:currentTime),\" \",\"/ \",formatTime(duration)]}),/*#__PURE__*/_jsx(\"div\",{style:{flex:1}})]})]})]});}/* ================================================================\n   SHARED BUTTON\n   ================================================================ */function CtrlBtn({onClick,label,size,iconSize,bg,color,children}){const[hovered,setHovered]=useState(false);return /*#__PURE__*/_jsx(\"button\",{onClick:e=>{e.stopPropagation();onClick();},onMouseEnter:()=>setHovered(true),onMouseLeave:()=>setHovered(false),\"aria-label\":label,style:{width:size,height:size,borderRadius:size/2,background:bg,backdropFilter:\"blur(8px)\",WebkitBackdropFilter:\"blur(8px)\",border:\"none\",cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:0,color,opacity:hovered?1:.75,transform:hovered?\"scale(1.08)\":\"scale(1)\",transition:\"opacity 0.2s ease, transform 0.2s ease\",flexShrink:0},children:/*#__PURE__*/_jsx(\"svg\",{width:iconSize,height:iconSize,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:2,strokeLinecap:\"round\",strokeLinejoin:\"round\",children:children})});}/* ================================================================\n   CLOSE BUTTON\n   ================================================================ */function CloseButton({onClick}){const[hovered,setHovered]=useState(false);const size=44;return /*#__PURE__*/_jsx(\"button\",{onClick:e=>{e.stopPropagation();onClick();},onMouseEnter:()=>setHovered(true),onMouseLeave:()=>setHovered(false),\"aria-label\":\"Close\",style:{width:size,height:size,borderRadius:12,background:hovered?\"rgba(180,180,180,0.85)\":\"rgba(160,160,160,0.7)\",backdropFilter:\"blur(12px)\",WebkitBackdropFilter:\"blur(12px)\",border:\"none\",cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:0,transform:hovered?\"scale(1.05)\":\"scale(1)\",transition:\"background 0.2s ease, transform 0.2s ease\"},children:/*#__PURE__*/_jsxs(\"svg\",{width:18,height:18,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"#333\",strokeWidth:2.5,strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"line\",{x1:\"18\",y1:\"6\",x2:\"6\",y2:\"18\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"6\",y1:\"6\",x2:\"18\",y2:\"18\"})]})});}/* ================================================================\n   ICONS\n   ================================================================ */function MutedIcon(){return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"polygon\",{points:\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\",fill:\"currentColor\",stroke:\"none\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"23\",y1:\"9\",x2:\"17\",y2:\"15\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"17\",y1:\"9\",x2:\"23\",y2:\"15\"})]});}function UnmutedIcon(){return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"polygon\",{points:\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\",fill:\"currentColor\",stroke:\"none\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M15.54 8.46a5 5 0 0 1 0 7.07\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M19.07 4.93a10 10 0 0 1 0 14.14\"})]});}function SkipBackIcon(){return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"polygon\",{points:\"11 19 2 12 11 5 11 19\",fill:\"currentColor\",stroke:\"none\"}),/*#__PURE__*/_jsx(\"polygon\",{points:\"22 19 13 12 22 5 22 19\",fill:\"currentColor\",stroke:\"none\"})]});}function SkipForwardIcon(){return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"polygon\",{points:\"13 19 22 12 13 5 13 19\",fill:\"currentColor\",stroke:\"none\"}),/*#__PURE__*/_jsx(\"polygon\",{points:\"2 19 11 12 2 5 2 19\",fill:\"currentColor\",stroke:\"none\"})]});}function ExpandIcon(){return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"polyline\",{points:\"15 3 21 3 21 9\"}),/*#__PURE__*/_jsx(\"polyline\",{points:\"9 21 3 21 3 15\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"21\",y1:\"3\",x2:\"14\",y2:\"10\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"3\",y1:\"21\",x2:\"10\",y2:\"14\"})]});}/* ================================================================\n   PROPERTY CONTROLS\n   ================================================================ */addPropertyControls(VideoPlayer,{videoUrl:{type:ControlType.String,title:\"Video URL\",defaultValue:\"https://player.vimeo.com/video/1086037474\"},posterUrl:{type:ControlType.Image,title:\"Poster\"},videoZoom:{type:ControlType.Number,title:\"Zoom\",defaultValue:100,min:100,max:300,step:5,unit:\"%\"},borderRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:16,min:0,max:80,step:2,unit:\"px\"},enableSound:{type:ControlType.Boolean,title:\"Sound On Load\",defaultValue:false},autoHideControls:{type:ControlType.Boolean,title:\"Auto-Hide\",defaultValue:true},autoHideDelay:{type:ControlType.Number,title:\"Hide Delay\",defaultValue:3,min:1,max:10,step:.5,unit:\"s\",hidden:props=>!props.autoHideControls},buttonSize:{type:ControlType.Number,title:\"Button Size\",defaultValue:36,min:24,max:64,step:2,unit:\"px\"},buttonBg:{type:ControlType.Color,title:\"Button Bg\",defaultValue:\"rgba(255,255,255,0.12)\"},buttonColor:{type:ControlType.Color,title:\"Icon Color\",defaultValue:\"#ffffff\"},controlsPadding:{type:ControlType.Number,title:\"Controls Pad\",defaultValue:12,min:4,max:48,step:2,unit:\"px\"},seekBarHeight:{type:ControlType.Number,title:\"Seek Height\",defaultValue:4,min:2,max:12,step:1,unit:\"px\"},seekBarColor:{type:ControlType.Color,title:\"Seek Color\",defaultValue:\"#ffffff\"},seekBarBgColor:{type:ControlType.Color,title:\"Seek Bg\",defaultValue:\"rgba(255,255,255,0.25)\"},seekBarBufferColor:{type:ControlType.Color,title:\"Buffer Color\",defaultValue:\"rgba(255,255,255,0.4)\"},accentColor:{type:ControlType.Color,title:\"Accent\",defaultValue:\"#ffffff\"},showTimeCode:{type:ControlType.Boolean,title:\"Time Code\",defaultValue:true},showControlsOnHover:{type:ControlType.Boolean,title:\"Show on Hover\",defaultValue:false},loadOnView:{type:ControlType.Boolean,title:\"Lazy Load\",defaultValue:true,description:\"More components at [Memselon ☁️](http://memselon.com)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"VideoPlayer\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./VideoPlayer.map"],"mappings":"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"}