{"version":3,"file":"SmartVideo.CRJbq9oy.mjs","names":["useState","useRef"],"sources":["https:/framerusercontent.com/modules/udrpFurzkjtcXhgrt2rM/CAgiImsoo1XDCODVbN12/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.String,title:\"Poster URL\",defaultValue:\"\",placeholder:\"Still shown before playback…\",description:\"MP4 only. Prevents a blank frame while the video loads.\",preventLocalization:true},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\",\"framerIntrinsicHeight\":\"450\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"800\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SmartVideo.map"],"mappings":"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"}