{"version":3,"file":"GenericVideo_2.DwaNuOrg.mjs","names":["React.useRef"],"sources":["https:/framerusercontent.com/modules/EsMzLQ1Q8q0HdpAMMKwK/dFCiJSfXlDhpVTa68zyp/GenericVideo_2.js"],"sourcesContent":["// UnifiedVideo.tsx\nimport{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";function getYouTubeId(rawUrl){try{const url=new URL(rawUrl);if(url.hostname===\"youtu.be\"){return url.pathname.slice(1);}const v=url.searchParams.get(\"v\");if(v)return v;const parts=url.pathname.split(\"/\").filter(Boolean);if(parts.length===0)return null;return parts[parts.length-1];}catch{return null;}}function getVimeoId(rawUrl){try{const url=new URL(rawUrl);const parts=url.pathname.split(\"/\").filter(Boolean);if(parts.length===0)return null;const maybeId=parts[parts.length-1];return/^\\d+$/.test(maybeId)?maybeId:null;}catch{return null;}}function buildEmbedUrl(rawUrl,props){const isYouTube=rawUrl.includes(\"youtube.com\")||rawUrl.includes(\"youtu.be\");const isVimeo=rawUrl.includes(\"vimeo.com\")||rawUrl.includes(\"player.vimeo.com\");const{autoplay,loop,muted,showControls}=props;// YOUTUBE\nif(isYouTube){const id=getYouTubeId(rawUrl);if(!id)return null;const params=new URLSearchParams;params.set(\"autoplay\",autoplay?\"1\":\"0\");params.set(\"mute\",muted?\"1\":\"0\");params.set(\"controls\",showControls?\"1\":\"0\");params.set(\"rel\",\"0\");params.set(\"playsinline\",\"1\");if(loop){params.set(\"loop\",\"1\");params.set(\"playlist\",id);}return`https://www.youtube.com/embed/${id}?${params.toString()}`;}// VIMEO\nif(isVimeo){const id=getVimeoId(rawUrl);if(!id)return null;const params=new URLSearchParams;params.set(\"title\",\"0\");params.set(\"byline\",\"0\");params.set(\"portrait\",\"0\");params.set(\"badge\",\"0\");params.set(\"autopause\",\"0\");params.set(\"player_id\",\"0\");params.set(\"app_id\",\"58479\");if(autoplay){params.set(\"autoplay\",\"1\");params.set(\"muted\",\"1\");}else{params.set(\"autoplay\",\"0\");params.set(\"muted\",muted?\"1\":\"0\");}if(loop){params.set(\"loop\",\"1\");}if(autoplay&&!showControls){params.set(\"background\",\"1\");}return`https://player.vimeo.com/video/${id}?${params.toString()}`;}return rawUrl;}export function UnifiedVideo(props){const{url,borderRadius,autosize,scaleFactor}=props;const containerRef=React.useRef(null);if(!url){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:12,opacity:.6,textAlign:\"center\",padding:8},children:\"Set a YouTube or Vimeo URL in the properties panel.\"});}const embedUrl=buildEmbedUrl(url,props);if(!embedUrl){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:12,color:\"red\",textAlign:\"center\",padding:8},children:\"Could not parse this video URL.\"});}const videoAspect=16/9;return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{width:\"100%\",height:\"100%\",position:\"relative\",background:\"black\",borderRadius:`${borderRadius}px`,overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"iframe\",{src:embedUrl,style:{position:\"absolute\",top:\"50%\",left:\"50%\",width:autosize?`${100*videoAspect*scaleFactor}%`:`${100*scaleFactor}%`,height:`${100*scaleFactor}%`,transform:`translate(-50%, -50%)`,border:\"none\"},allow:\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\",referrerPolicy:\"strict-origin-when-cross-origin\",allowFullScreen:true},embedUrl)});}UnifiedVideo.defaultProps={width:640,height:360,url:\"\",autoplay:false,loop:false,muted:true,showControls:true,borderRadius:0,autosize:true,scaleFactor:1};addPropertyControls(UnifiedVideo,{url:{type:ControlType.String,title:\"Video URL\",placeholder:\"Paste YouTube or Vimeo URL\"},autoplay:{type:ControlType.Boolean,title:\"Autoplay\",defaultValue:false},loop:{type:ControlType.Boolean,title:\"Loop\",defaultValue:false},muted:{type:ControlType.Boolean,title:\"Muted\",defaultValue:true},showControls:{type:ControlType.Boolean,title:\"Controls\",defaultValue:true},borderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:14,min:0,max:100,step:1},autosize:{type:ControlType.Boolean,title:\"Fill Height\",defaultValue:true},scaleFactor:{type:ControlType.Number,title:\"Scale\",defaultValue:1,min:.5,max:2,step:.01}});\nexport const __FramerMetadata__ = {\"exports\":{\"UnifiedVideo\":{\"type\":\"reactComponent\",\"name\":\"UnifiedVideo\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GenericVideo_2.map"],"mappings":"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"}