{"version":3,"file":"SmartVideo.DR5rYRpp.mjs","names":["useState","useRef","__esmMin","init_npm_react_18_3_1","window","_e","de","init_jsx_runtime","c","p","ce","init_ssg_sandbox_shims","addPropertyControls","ControlType","useIsStaticRenderer","init_framer_BL70qLPA","getYouTubeId","value","url","host","id","parts","useShouldLoad","shouldLoad","setShouldLoad","el","ref","observer","isRendered","rect","evaluate","entries","entry","injectStyle","existing","STYLE_ID","CSS","SmartVideo","props","rootRef","videoRef","isStatic","playbackVisible","setPlaybackVisible","reducedMotion","setReducedMotion","manualPlay","scrubbing","resumeAfterScrub","userPaused","setUserPaused","autoplayBlocked","setAutoplayBlocked","media","onScreen","sync","video","autoplay","progressRef","playing","setPlaying","started","setStarted","silent","setSilent","muted","volume","setVolume","time","setTime","duration","setDuration","buffered","setBuffered","error","setError","fullscreen","setFullscreen","idle","setIdle","waiting","setWaiting","hasAudio","setHasAudio","waitTimer","idleTimer","startWaiting","stopWaiting","wake","IDLE_MS","controls","frame","paint","input","togglePlay","endScrub","toggleFullscreen","toggleMute","changeVolume","next","seekBy","seconds","onKeyDown","event","target","onSlider","onButton","handled","SEEK_STEP","VOLUME_STEP","updateBuffered","ranges","end","i","detectAudioFromMetadata","detectAudioFromPlayback","formatTime","buttonStyle","icon","size","playerIcons","name","effectiveVolume","volumeIcon","youtubeId","rootStyle","style","radius","background","params","loop","poster","preload","fit","init_SmartVideo"],"sources":["https:/framerusercontent.com/modules/udrpFurzkjtcXhgrt2rM/nsbWq1XI0Royzz2FX4LC/SmartVideo.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";// Font Awesome Free 6, by @fontawesome — https://fontawesome.com/license/free (CC BY 4.0 icons).\nconst playerIcons={play:{viewBox:\"0 0 384 512\",path:\"M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80L0 432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z\"},pause:{viewBox:\"0 0 320 512\",path:\"M48 64C21.5 64 0 85.5 0 112L0 400c0 26.5 21.5 48 48 48l32 0c26.5 0 48-21.5 48-48l0-288c0-26.5-21.5-48-48-48L48 64zm192 0c-26.5 0-48 21.5-48 48l0 288c0 26.5 21.5 48 48 48l32 0c26.5 0 48-21.5 48-48l0-288c0-26.5-21.5-48-48-48l-32 0z\"},\"volume-xmark\":{viewBox:\"0 0 576 512\",path:\"M301.1 34.8C312.6 40 320 51.4 320 64l0 384c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352 64 352c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l67.8 0L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3zM425 167l55 55 55-55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-55 55 55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55-55 55c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l55-55-55-55c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"},\"volume-low\":{viewBox:\"0 0 448 512\",path:\"M301.1 34.8C312.6 40 320 51.4 320 64l0 384c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352 64 352c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l67.8 0L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3zM412.6 181.5C434.1 199.1 448 225.9 448 256s-13.9 56.9-35.4 74.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C393.1 284.4 400 271 400 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5z\"},\"volume-high\":{viewBox:\"0 0 640 512\",path:\"M533.6 32.5C598.5 85.2 640 165.8 640 256s-41.5 170.7-106.4 223.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C557.5 398.2 592 331.2 592 256s-34.5-142.2-88.7-186.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zM473.1 107c43.2 35.2 70.9 88.9 70.9 149s-27.7 113.8-70.9 149c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C475.3 341.3 496 301.1 496 256s-20.7-85.3-53.2-111.8c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zm-60.5 74.5C434.1 199.1 448 225.9 448 256s-13.9 56.9-35.4 74.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C393.1 284.4 400 271 400 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zM301.1 34.8C312.6 40 320 51.4 320 64l0 384c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352 64 352c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l67.8 0L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3z\"},expand:{viewBox:\"0 0 448 512\",path:\"M32 32C14.3 32 0 46.3 0 64l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 32zM64 352c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32l-96 0zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32l0-96z\"},compress:{viewBox:\"0 0 448 512\",path:\"M160 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32l0-96zM32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32l-96 0zM352 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64zM320 320c-17.7 0-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0z\"}};function getYouTubeId(value){if(!value)return null;try{const url=new URL(value.trim());const host=url.hostname.toLowerCase().replace(/^www\\./,\"\");let id=\"\";if(host===\"youtu.be\"){id=url.pathname.split(\"/\").filter(Boolean)[0]||\"\";}else if(host===\"youtube.com\"||host===\"m.youtube.com\"||host===\"youtube-nocookie.com\"){const parts=url.pathname.split(\"/\").filter(Boolean);if(url.pathname===\"/watch\")id=url.searchParams.get(\"v\")||\"\";else if([\"embed\",\"shorts\",\"live\"].includes(parts[0]))id=parts[1]||\"\";}return/^[A-Za-z0-9_-]{6,}$/.test(id)?id:null;}catch{return null;}}/**\n * Framer renders one copy of this component per breakpoint and hides the\n * inactive ones with CSS. A hidden <video> still downloads, so every visitor\n * would pull every breakpoint's file. The src is therefore only attached once\n * the element is really laid out and near the viewport.\n */function useShouldLoad(ref){const[shouldLoad,setShouldLoad]=useState(false);useEffect(()=>{const el=ref.current;if(!el)return;let observer;// display:none (the inactive breakpoint copy) reports no offsetParent\n// and a zero-sized rect.\nconst isRendered=()=>{if(el.offsetParent===null&&getComputedStyle(el).position!==\"fixed\")return false;const rect=el.getBoundingClientRect();return rect.width>0&&rect.height>0;};const evaluate=()=>{if(!isRendered())return;if(typeof IntersectionObserver===\"undefined\"){setShouldLoad(true);return;}observer?.disconnect();observer=new IntersectionObserver(entries=>{if(entries.some(entry=>entry.isIntersecting)){setShouldLoad(true);observer?.disconnect();}},{rootMargin:\"200px\"});observer.observe(el);};evaluate();// The active breakpoint changes on resize, so re-check.\nwindow.addEventListener(\"resize\",evaluate);return()=>{window.removeEventListener(\"resize\",evaluate);observer?.disconnect();};},[ref]);return shouldLoad;}/**\n * The stylesheet lives in <head>, not in the React tree.\n *\n * A <style> rendered inside a component makes React compare the server HTML\n * with the client HTML on hydration. When those differ it throws the whole\n * section away and rebuilds it in the browser, which shows up as a slow,\n * late-reacting page. A tag in <head> cannot mismatch.\n */const STYLE_ID=\"mm-smart-video-style\";const CSS=`\n                .mm-smart-video { outline: none; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; -webkit-tap-highlight-color: transparent; }\n                .mm-smart-video:focus-visible { box-shadow: inset 0 0 0 2px #fff; }\n                .mm-smart-video button { transition: background-color .24s ease, transform .28s cubic-bezier(.22,1,.36,1), opacity .24s ease; -webkit-tap-highlight-color: transparent; }\n                @media (hover:hover) { .mm-smart-video button:hover { background: rgba(25,25,28,.48) !important; transform: scale(1.06); } .mm-smart-video button.mm-video-play:hover, .mm-smart-video button.mm-video-center:hover { background: #fff !important; } }\n                .mm-smart-video button:active { transform: scale(.94); }\n                .mm-smart-video button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; border: 1px solid #202124; }\n                .mm-smart-video input:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }\n                .mm-smart-video .mm-video-bar { opacity: 1; transform: translateY(0); transition: opacity .3s ease, transform .4s cubic-bezier(.22,1,.36,1); }\n                @media (hover: hover) and (pointer: fine) {\n                    .mm-smart-video[data-playing=\"true\"][data-idle=\"true\"]:not(:has(:focus-visible)) .mm-video-bar,\n                    .mm-smart-video[data-playing=\"true\"]:not(:hover):not(:has(:focus-visible)) .mm-video-bar { opacity: 0; transform: translateY(6px); pointer-events:none; }\n                    .mm-smart-video[data-playing=\"true\"][data-idle=\"true\"]:not(:has(:focus-visible)),\n                    .mm-smart-video[data-playing=\"true\"][data-idle=\"true\"]:not(:has(:focus-visible)) video { cursor: none !important; }\n                }\n                .mm-smart-video input[type=range] { -webkit-appearance:none; appearance:none; background:transparent; cursor:pointer; min-width:0; margin:0; height:44px; touch-action:pan-y; }\n                .mm-smart-video input[type=range]::-webkit-slider-runnable-track { height:6px; border:0; outline:0; border-radius:99px; background:linear-gradient(to right,#fff var(--progress),rgba(255,255,255,.42) var(--progress),rgba(255,255,255,.42) var(--buffered,0%),#56565c var(--buffered,0%)); transition: height .2s ease, margin .2s ease; }\n                .mm-smart-video .mm-video-progress:hover::-webkit-slider-runnable-track, .mm-smart-video .mm-video-progress:active::-webkit-slider-runnable-track { height:8px; }\n                .mm-smart-video .mm-video-progress:hover::-webkit-slider-thumb, .mm-smart-video .mm-video-progress:active::-webkit-slider-thumb { margin-top:-2px; }\n                .mm-smart-video input[type=range]::-moz-range-track { height:6px; border:0; outline:0; border-radius:99px; background:#56565c; }\n                .mm-smart-video input[type=range]::-moz-range-progress { height:6px; border:0; border-radius:99px; background:#fff; }\n                .mm-smart-video input[type=range]::-webkit-slider-thumb { -webkit-appearance:none; width:12px; height:12px; border-radius:50%; background:#fff; margin-top:-3px; opacity:0; transition: opacity .2s ease; }\n                .mm-smart-video input[type=range]::-moz-range-thumb { width:12px; height:12px; border:0; border-radius:50%; background:#fff; opacity:0; transition: opacity .2s ease; }\n                .mm-smart-video input[type=range]:hover::-webkit-slider-thumb, .mm-smart-video input[type=range]:focus-visible::-webkit-slider-thumb, .mm-smart-video input[type=range]:active::-webkit-slider-thumb { opacity:1; }\n                .mm-smart-video input[type=range]:hover::-moz-range-thumb, .mm-smart-video input[type=range]:focus-visible::-moz-range-thumb { opacity:1; }\n                .mm-smart-video .mm-video-volume { display:flex; align-items:center; height:44px; border-radius:999px; background:rgba(25,25,28,.32); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }\n                .mm-smart-video .mm-video-volume button { background: transparent !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }\n                .mm-smart-video .mm-video-volume input[type=range] { width:0; opacity:0; transition: width .28s cubic-bezier(.22,1,.36,1), opacity .2s ease, margin .28s cubic-bezier(.22,1,.36,1); margin:0; }\n                .mm-smart-video .mm-video-volume input[type=range]::-webkit-slider-runnable-track { height:4px; background:linear-gradient(to right,#fff var(--volume),#56565c var(--volume)); }\n                .mm-smart-video .mm-video-volume input[type=range]::-webkit-slider-thumb { margin-top:-4px; }\n                .mm-smart-video .mm-video-volume input[type=range]::-moz-range-track { height:4px; }\n                .mm-smart-video .mm-video-volume input[type=range]::-moz-range-progress { height:4px; }\n                @media (hover:hover) and (pointer:fine) {\n                    .mm-smart-video .mm-video-volume:hover input[type=range], .mm-smart-video .mm-video-volume:focus-within input[type=range] { width:72px; opacity:1; margin:0 14px 0 2px; }\n                }\n                .mm-smart-video .mm-video-center { position:absolute; left:50%; top:50%; width:64px; height:64px; margin:-32px 0 0 -32px; animation: mm-video-in .32s cubic-bezier(.22,1,.36,1) both; }\n                .mm-smart-video .mm-video-spinner { position:absolute; left:50%; top:50%; width:36px; height:36px; margin:-18px 0 0 -18px; border-radius:50%; border:3px solid rgba(255,255,255,.28); border-top-color:#fff; pointer-events:none; animation: mm-video-fade .25s ease both, mm-video-spin .8s linear infinite; }\n                @keyframes mm-video-in { from { opacity:0; transform: scale(.9); } to { opacity:1; transform: scale(1); } }\n                @keyframes mm-video-fade { from { opacity:0; } to { opacity:1; } }\n                @keyframes mm-video-spin { to { rotate: 360deg; } }\n                @media (any-pointer:coarse) { .mm-smart-video[data-playing=\"true\"] .mm-video-bar { opacity:1 !important; pointer-events:auto !important; } }\n                @media (prefers-reduced-motion:reduce) { .mm-smart-video .mm-video-bar, .mm-smart-video button, .mm-smart-video input[type=range] { transition:none; } .mm-smart-video .mm-video-center { animation:none; } .mm-smart-video button:hover, .mm-smart-video button:active { transform:none; } }\n            `;function injectStyle(){if(typeof document===\"undefined\")return;const existing=document.getElementById(STYLE_ID);if(existing){if(existing.textContent!==CSS)existing.textContent=CSS;return;}const el=document.createElement(\"style\");el.id=STYLE_ID;el.textContent=CSS;document.head.appendChild(el);}// The chunk loads before the component renders, so the styles are in place\n// for the first paint.\ninjectStyle();const SEEK_STEP=5;const VOLUME_STEP=.1;const IDLE_MS=2500;/**\n * @framerIntrinsicWidth 800\n * @framerIntrinsicHeight 450\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function SmartVideo(props){const{url=\"\",autoplay=true,loop=true,muted=true,controls=true,fit=\"cover\",radius=\"0px\",background=\"#000000\",poster=\"\",preload=\"metadata\",style}=props;const rootRef=useRef(null);const shouldLoad=useShouldLoad(rootRef);useEffect(injectStyle,[]);const videoRef=useRef(null);const isStatic=useIsStaticRenderer();const[playbackVisible,setPlaybackVisible]=useState(false);const[reducedMotion,setReducedMotion]=useState(true);const manualPlay=useRef(false);const scrubbing=useRef(false);const resumeAfterScrub=useRef(false);const[userPaused,setUserPaused]=useState(false);const[autoplayBlocked,setAutoplayBlocked]=useState(false);useEffect(()=>{const el=rootRef.current;if(!el||isStatic)return;const media=window.matchMedia(\"(prefers-reduced-motion: reduce)\");let onScreen=false;const sync=()=>{setPlaybackVisible(onScreen&&!document.hidden);setReducedMotion(media.matches);};const observer=typeof IntersectionObserver!==\"undefined\"?new IntersectionObserver(([entry])=>{onScreen=entry.isIntersecting;sync();},{threshold:.1}):null;if(observer)observer.observe(el);else onScreen=true;sync();document.addEventListener(\"visibilitychange\",sync);media.addEventListener(\"change\",sync);return()=>{observer?.disconnect();document.removeEventListener(\"visibilitychange\",sync);media.removeEventListener(\"change\",sync);};},[isStatic]);useEffect(()=>{const video=videoRef.current;if(!video||isStatic)return;if(!playbackVisible||reducedMotion&&!manualPlay.current)video.pause();else if(shouldLoad&&(autoplay||manualPlay.current)&&!userPaused&&!scrubbing.current)void video.play().catch(()=>setAutoplayBlocked(true));},[shouldLoad,autoplay,playbackVisible,reducedMotion,userPaused,isStatic]);const progressRef=useRef(null);const[playing,setPlaying]=useState(false);const[started,setStarted]=useState(false);const[silent,setSilent]=useState(muted);const[volume,setVolume]=useState(1);const[time,setTime]=useState(0);const[duration,setDuration]=useState(0);const[buffered,setBuffered]=useState(0);const[error,setError]=useState(\"\");const[fullscreen,setFullscreen]=useState(false);const[idle,setIdle]=useState(false);const[waiting,setWaiting]=useState(false);// null until the browser tells us; the volume controls stay until a file is known to be silent.\nconst[hasAudio,setHasAudio]=useState(null);const waitTimer=useRef(undefined);const idleTimer=useRef(undefined);useEffect(()=>{setSilent(muted);},[muted]);useEffect(()=>{setTime(0);setDuration(0);setBuffered(0);setPlaying(false);setStarted(false);setError(\"\");setUserPaused(false);setAutoplayBlocked(false);setHasAudio(null);manualPlay.current=false;scrubbing.current=false;},[url]);useEffect(()=>{const sync=()=>setFullscreen(document.fullscreenElement===rootRef.current);document.addEventListener(\"fullscreenchange\",sync);return()=>document.removeEventListener(\"fullscreenchange\",sync);},[]);useEffect(()=>()=>{window.clearTimeout(idleTimer.current);window.clearTimeout(waitTimer.current);},[]);// Only show the spinner when loading takes long enough to notice.\nconst startWaiting=()=>{window.clearTimeout(waitTimer.current);waitTimer.current=window.setTimeout(()=>setWaiting(true),350);};const stopWaiting=()=>{window.clearTimeout(waitTimer.current);setWaiting(false);};// Hide the bar and cursor after a moment without mouse movement.\nconst wake=()=>{setIdle(false);window.clearTimeout(idleTimer.current);idleTimer.current=window.setTimeout(()=>setIdle(true),IDLE_MS);};// Paint progress at the display refresh rate, without rerendering the player each frame.\nuseEffect(()=>{if(!playing||!controls||!playbackVisible||isStatic)return;let frame=0;const paint=()=>{const video=videoRef.current;const input=progressRef.current;if(video&&input&&!scrubbing.current&&Number.isFinite(video.duration)&&video.duration>0){input.value=String(video.currentTime);input.style.setProperty(\"--progress\",`${Math.min(100,video.currentTime/video.duration*100)}%`);}frame=requestAnimationFrame(paint);};frame=requestAnimationFrame(paint);return()=>cancelAnimationFrame(frame);},[playing,controls,playbackVisible,isStatic]);const togglePlay=async()=>{const video=videoRef.current;if(!video)return;if(!video.paused){setUserPaused(true);video.pause();return;}try{manualPlay.current=true;await video.play();setUserPaused(false);setError(\"\");}catch{setError(\"Unable to play. Please try again.\");}};const endScrub=()=>{if(!scrubbing.current)return;scrubbing.current=false;if(resumeAfterScrub.current)void videoRef.current?.play().catch(()=>{});resumeAfterScrub.current=false;};const toggleFullscreen=async()=>{try{if(document.fullscreenElement===rootRef.current)await document.exitFullscreen();else if(rootRef.current?.requestFullscreen)await rootRef.current.requestFullscreen();else videoRef.current?.webkitEnterFullscreen?.();}catch{/* Fullscreen may be unavailable in embedded previews. */}};const toggleMute=()=>{const video=videoRef.current;if(!video)return;if(video.volume===0)video.volume=1;video.muted=!silent;setSilent(video.muted);};const changeVolume=value=>{const video=videoRef.current;if(!video)return;const next=Math.max(0,Math.min(1,value));video.volume=next;video.muted=next===0;};const seekBy=seconds=>{const video=videoRef.current;if(!video||!duration)return;video.currentTime=Math.max(0,Math.min(duration,video.currentTime+seconds));setTime(video.currentTime);};const onKeyDown=event=>{if(!controls||event.altKey||event.ctrlKey||event.metaKey)return;const target=event.target;const onSlider=target.tagName===\"INPUT\";const onButton=target.tagName===\"BUTTON\";let handled=true;switch(event.key){case\" \":case\"k\":case\"K\":if(onButton&&event.key===\" \")return;void togglePlay();break;case\"ArrowLeft\":if(onSlider)return;seekBy(-SEEK_STEP);break;case\"ArrowRight\":if(onSlider)return;seekBy(SEEK_STEP);break;case\"ArrowUp\":if(onSlider)return;changeVolume((silent?0:volume)+VOLUME_STEP);break;case\"ArrowDown\":if(onSlider)return;changeVolume((silent?0:volume)-VOLUME_STEP);break;case\"m\":case\"M\":if(hasAudio===false)return;toggleMute();break;case\"f\":case\"F\":void toggleFullscreen();break;default:handled=false;}if(handled){event.preventDefault();wake();}};const updateBuffered=video=>{if(!Number.isFinite(video.duration)||video.duration<=0)return;const ranges=video.buffered;let end=0;for(let i=0;i<ranges.length;i++){if(ranges.start(i)<=video.currentTime+.5&&ranges.end(i)>end)end=ranges.end(i);}setBuffered(Math.min(100,end/video.duration*100));};// Firefox and Safari know right after the metadata loads.\nconst detectAudioFromMetadata=video=>{if(typeof video.mozHasAudio===\"boolean\")setHasAudio(video.mozHasAudio);else if(video.audioTracks&&typeof video.audioTracks.length===\"number\")setHasAudio(video.audioTracks.length>0);};// Chrome only reports decoded audio once playback has run for a moment.\nconst detectAudioFromPlayback=video=>{if(hasAudio!==null)return;if(typeof video.webkitAudioDecodedByteCount!==\"number\")return;if(video.webkitAudioDecodedByteCount>0)setHasAudio(true);else if(video.currentTime>.6)setHasAudio(false);};const formatTime=value=>{const seconds=Math.max(0,Math.floor(Number.isFinite(value)?value:0));return`${Math.floor(seconds/60)}:${String(seconds%60).padStart(2,\"0\")}`;};const buttonStyle={width:44,height:44,flexShrink:0,border:0,borderRadius:999,display:\"grid\",placeItems:\"center\",background:\"rgba(25,25,28,.32)\",backdropFilter:\"blur(16px)\",WebkitBackdropFilter:\"blur(16px)\",color:\"#fff\",cursor:\"pointer\",padding:0};const icon=(name,size=16)=>/*#__PURE__*/_jsx(\"svg\",{\"aria-hidden\":\"true\",width:size,height:size,viewBox:playerIcons[name].viewBox,fill:\"currentColor\",style:{display:\"block\",transform:name===\"play\"?\"translateX(1.5px)\":undefined},children:/*#__PURE__*/_jsx(\"path\",{d:playerIcons[name].path})});const effectiveVolume=silent?0:volume;const volumeIcon=effectiveVolume===0?\"volume-xmark\":effectiveVolume<.5?\"volume-low\":\"volume-high\";const youtubeId=getYouTubeId(url);const rootStyle={...style,position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",borderRadius:fullscreen?0:radius,colorScheme:\"dark\",background:fullscreen?\"#000\":background};if(!url)return /*#__PURE__*/_jsx(\"div\",{ref:rootRef,style:{...rootStyle,background:\"transparent\"}});if(youtubeId){const params=new URLSearchParams({autoplay:autoplay&&playbackVisible&&!reducedMotion?\"1\":\"0\",mute:muted?\"1\":\"0\",controls:controls?\"1\":\"0\",playsinline:\"1\",rel:\"0\"});if(loop){params.set(\"loop\",\"1\");params.set(\"playlist\",youtubeId);}return /*#__PURE__*/_jsx(\"div\",{ref:rootRef,style:rootStyle,children:shouldLoad?/*#__PURE__*/_jsx(\"iframe\",{src:`https://www.youtube.com/embed/${youtubeId}?${params.toString()}`,title:\"Video\",allow:\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\",allowFullScreen:true,referrerPolicy:\"strict-origin-when-cross-origin\",style:{width:\"100%\",height:\"100%\",border:0,display:\"block\"}}):null});}return /*#__PURE__*/_jsxs(\"div\",{ref:rootRef,className:\"mm-smart-video\",\"data-playing\":playing?\"true\":\"false\",\"data-idle\":idle?\"true\":\"false\",tabIndex:controls?0:undefined,role:controls?\"region\":undefined,\"aria-label\":controls?\"Video player\":undefined,onKeyDown:controls?onKeyDown:undefined,onPointerMove:controls?wake:undefined,onPointerLeave:controls?()=>setIdle(false):undefined,style:rootStyle,children:[/*#__PURE__*/_jsx(\"video\",{ref:videoRef,\"aria-label\":\"Merch design video\",src:shouldLoad?url:undefined,autoPlay:false,loop:loop,muted:silent,controls:false,playsInline:true,poster:autoplay||shouldLoad||isStatic?poster||undefined:undefined,preload:autoplay?preload:\"none\",onPlay:()=>{setPlaying(true);setStarted(true);rootRef.current?.setAttribute(\"data-playing\",\"true\");wake();},onWaiting:startWaiting,onPlaying:stopWaiting,onCanPlay:stopWaiting,onPause:()=>{stopWaiting();setPlaying(false);setIdle(false);rootRef.current?.setAttribute(\"data-playing\",\"false\");},onEnded:()=>{setPlaying(false);setIdle(false);rootRef.current?.setAttribute(\"data-playing\",\"false\");},onLoadedMetadata:event=>detectAudioFromMetadata(event.currentTarget),onTimeUpdate:event=>{detectAudioFromPlayback(event.currentTarget);if(!scrubbing.current)setTime(event.currentTarget.currentTime);},onProgress:event=>updateBuffered(event.currentTarget),onSeeked:event=>updateBuffered(event.currentTarget),onDurationChange:event=>setDuration(Number.isFinite(event.currentTarget.duration)?event.currentTarget.duration:0),onVolumeChange:event=>{const video=event.currentTarget;setSilent(video.muted||video.volume===0);if(video.volume>0)setVolume(video.volume);},onError:()=>setError(\"This video could not be loaded.\"),onLoadedData:()=>setError(\"\"),onClick:controls?togglePlay:undefined,onDoubleClick:controls?toggleFullscreen:undefined,onMouseDown:event=>{if(event.detail>1)event.preventDefault();},style:{width:\"100%\",height:\"100%\",objectFit:fullscreen?\"contain\":fit,display:\"block\",cursor:controls?\"pointer\":undefined}}),controls&&waiting&&playing&&/*#__PURE__*/_jsx(\"div\",{className:\"mm-video-spinner\",\"aria-hidden\":\"true\"}),controls&&!playing&&!started&&(!autoplay||autoplayBlocked||reducedMotion)&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"mm-video-center\",style:{...buttonStyle,position:\"absolute\",width:64,height:64,background:\"rgba(255,255,255,.92)\",color:\"#202124\"},\"aria-label\":\"Play video\",onClick:togglePlay,children:icon(\"play\",22)}),controls&&/*#__PURE__*/_jsxs(\"div\",{className:\"mm-video-bar\",role:\"group\",\"aria-label\":\"Video controls\",style:{position:\"absolute\",left:\"clamp(10px, 2.5%, 24px)\",right:\"clamp(10px, 2.5%, 24px)\",bottom:\"clamp(4px, 1.5%, 12px)\",display:\"flex\",flexDirection:\"column\",gap:0,color:\"#fff\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8,width:\"100%\"},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"mm-video-play\",style:{...buttonStyle,background:\"rgba(255,255,255,.92)\",color:\"#202124\"},\"aria-label\":playing?\"Pause video\":\"Play video\",onClick:togglePlay,children:icon(playing?\"pause\":\"play\")}),/*#__PURE__*/_jsxs(\"span\",{style:{fontFamily:'\"Inter\", sans-serif',fontSize:13,fontWeight:500,fontVariantNumeric:\"tabular-nums\",whiteSpace:\"nowrap\",minWidth:30,padding:\"5px 8px\",borderRadius:999,background:\"rgba(25,25,28,.72)\",color:\"#fff\",backdropFilter:\"blur(12px)\",WebkitBackdropFilter:\"blur(12px)\"},children:[formatTime(time),duration>0&&/*#__PURE__*/_jsxs(\"span\",{style:{color:\"rgba(255,255,255,.6)\"},children:[\" / \",formatTime(duration)]})]}),/*#__PURE__*/_jsx(\"div\",{style:{flex:1}}),hasAudio!==false&&/*#__PURE__*/_jsxs(\"div\",{className:\"mm-video-volume\",children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",style:buttonStyle,\"aria-label\":silent?\"Unmute video\":\"Mute video\",\"aria-pressed\":silent,onClick:toggleMute,children:icon(volumeIcon)}),/*#__PURE__*/_jsx(\"input\",{type:\"range\",\"aria-label\":\"Volume\",\"aria-valuetext\":`${Math.round(effectiveVolume*100)}%`,min:0,max:1,step:.05,value:effectiveVolume,onChange:event=>changeVolume(Number(event.target.value)),style:{\"--volume\":`${effectiveVolume*100}%`}})]}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",style:buttonStyle,\"aria-label\":fullscreen?\"Exit fullscreen\":\"Enter fullscreen\",onClick:toggleFullscreen,children:icon(fullscreen?\"compress\":\"expand\")})]}),/*#__PURE__*/_jsx(\"input\",{ref:progressRef,className:\"mm-video-progress\",type:\"range\",\"aria-label\":\"Video progress\",\"aria-valuetext\":`${formatTime(time)} of ${formatTime(duration)}`,min:0,max:duration||1,step:.1,value:Math.min(time,duration||1),disabled:!duration,onPointerDown:event=>{if(!duration||!videoRef.current)return;scrubbing.current=true;resumeAfterScrub.current=!videoRef.current.paused;videoRef.current.pause();event.currentTarget.setPointerCapture(event.pointerId);},onPointerUp:endScrub,onPointerCancel:endScrub,onLostPointerCapture:endScrub,onChange:event=>{const value=Number(event.target.value);if(videoRef.current&&duration){videoRef.current.currentTime=value;event.currentTarget.style.setProperty(\"--progress\",`${value/duration*100}%`);setTime(value);}},style:{width:\"100%\",display:\"block\",margin:0,\"--progress\":`${duration?Math.min(100,time/duration*100):0}%`,\"--buffered\":`${buffered}%`}})]}),error&&/*#__PURE__*/_jsx(\"div\",{role:\"status\",style:{position:\"absolute\",top:16,left:16,right:16,padding:\"10px 14px\",borderRadius:12,background:\"rgba(24,24,27,.85)\",color:\"white\",fontSize:13},children:error})]});}SmartVideo.displayName=\"Smart Video\";addPropertyControls(SmartVideo,{url:{type:ControlType.String,title:\"Video URL\",defaultValue:\"\",placeholder:\"YouTube or MP4 URL…\",preventLocalization:true},autoplay:{type:ControlType.Boolean,title:\"Autoplay\",defaultValue:true},loop:{type:ControlType.Boolean,title:\"Loop\",defaultValue:true},muted:{type:ControlType.Boolean,title:\"Muted\",defaultValue:true},controls:{type:ControlType.Boolean,title:\"Controls\",defaultValue:true},fit:{type:ControlType.Enum,title:\"MP4 Fit\",options:[\"cover\",\"contain\"],optionTitles:[\"Cover\",\"Contain\"],defaultValue:\"cover\",displaySegmentedControl:true},radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"0px\"},background:{type:ControlType.Color,title:\"Background\",defaultValue:\"#000000\"},poster:{type:ControlType.Image,title:\"Poster\",description:\"MP4 only. Prevents a blank frame while the video loads.\"},preload:{type:ControlType.Enum,title:\"Preload\",options:[\"none\",\"metadata\",\"auto\"],optionTitles:[\"None\",\"Metadata\",\"Auto\"],defaultValue:\"metadata\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SmartVideo\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"800\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"450\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SmartVideo.map"],"mappings":"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"}