{"version":3,"file":"SmartVideo.CSvqA7tA.mjs","names":["useState","useRef"],"sources":["https:/framerusercontent.com/modules/udrpFurzkjtcXhgrt2rM/Jz9epyF6kjeaUvejyDvE/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-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 * @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);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);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(()=>{});},[shouldLoad,autoplay,playbackVisible,reducedMotion,userPaused,isStatic]);const progressRef=useRef(null);const[playing,setPlaying]=useState(false);const[silent,setSilent]=useState(muted);const[time,setTime]=useState(0);const[duration,setDuration]=useState(0);const[error,setError]=useState(\"\");const[fullscreen,setFullscreen]=useState(false);useEffect(()=>{setSilent(muted);},[muted]);useEffect(()=>{setTime(0);setDuration(0);setPlaying(false);setError(\"\");setUserPaused(false);manualPlay.current=false;scrubbing.current=false;},[url]);useEffect(()=>{const sync=()=>setFullscreen(document.fullscreenElement===rootRef.current);document.addEventListener(\"fullscreenchange\",sync);return()=>document.removeEventListener(\"fullscreenchange\",sync);},[]);// 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 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=>/*#__PURE__*/_jsx(\"svg\",{\"aria-hidden\":\"true\",width:\"16\",height:\"16\",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 youtubeId=getYouTubeId(url);const rootStyle={...style,position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",borderRadius:radius,colorScheme:\"dark\",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\",style:rootStyle,children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                .mm-smart-video button { transition: background-color .24s ease, transform .28s cubic-bezier(.22,1,.36,1); -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 { 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; transition: opacity .35s ease; }\n                @media (hover: hover) and (pointer: fine) {\n                    .mm-smart-video[data-playing=\"true\"]:not(:hover):not(:focus-within) .mm-video-bar { opacity: 0; pointer-events:none; }\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),#56565c var(--progress)); }\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:8px; height:8px; border-radius:50%; background:transparent; margin-top:-1px; opacity:0; }\n                .mm-smart-video input[type=range]::-moz-range-thumb { width:8px; height:8px; border:0; border-radius:50%; background:transparent; opacity:0; }\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 { transition:none; } .mm-smart-video button:hover, .mm-smart-video button:active { transform:none; } }\n            `}),/*#__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:poster||undefined,preload:preload,onPlay:()=>{setPlaying(true);rootRef.current?.setAttribute(\"data-playing\",\"true\");},onPause:()=>{setPlaying(false);rootRef.current?.setAttribute(\"data-playing\",\"false\");},onEnded:()=>{setPlaying(false);rootRef.current?.setAttribute(\"data-playing\",\"false\");},onTimeUpdate:event=>{if(!scrubbing.current)setTime(event.currentTarget.currentTime);},onDurationChange:event=>setDuration(Number.isFinite(event.currentTarget.duration)?event.currentTarget.duration:0),onVolumeChange:event=>setSilent(event.currentTarget.muted||event.currentTarget.volume===0),onError:()=>setError(\"This video could not be loaded.\"),onLoadedData:()=>setError(\"\"),onClick:controls?togglePlay:undefined,style:{width:\"100%\",height:\"100%\",objectFit:fullscreen?\"contain\":fit,display:\"block\"}}),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__*/_jsx(\"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)}),/*#__PURE__*/_jsx(\"div\",{style:{flex:1}}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",style:buttonStyle,\"aria-label\":silent?\"Unmute video\":\"Mute video\",\"aria-pressed\":silent,onClick:()=>{const video=videoRef.current;if(video){if(video.volume===0)video.volume=1;video.muted=!silent;setSilent(video.muted);}},children:icon(silent?\"volume-xmark\":\"volume-high\")}),/*#__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,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}%`}})]}),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\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"800\",\"framerIntrinsicHeight\":\"450\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SmartVideo.map"],"mappings":"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"}