{"version":3,"file":"VimeoPlayer.CPpbvmPs.mjs","names":["useMemo","useRef","useState","useCallback"],"sources":["https:/framerusercontent.com/modules/lwTOymX590ovQvzRD9cX/I4hrUCV2HUzaxegj2gx3/VimeoPlayer.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useCallback,useEffect,useMemo,useRef,useState}from\"react\";function parseVimeoInput(input){if(!input)return null;const raw=input.trim();if(!raw)return null;const bare=raw.match(/^(\\d+)(?:\\/([A-Za-z0-9]+))?$/);if(bare)return{id:bare[1],hash:bare[2]||undefined};let u;try{u=new URL(/^https?:\\/\\//i.test(raw)?raw:`https://${raw}`);}catch{return null;}const host=u.hostname.replace(/^www\\./,\"\").toLowerCase();if(host!==\"vimeo.com\"&&host!==\"player.vimeo.com\")return null;const parts=u.pathname.split(\"/\").filter(Boolean);const idIndex=parts[0]===\"video\"?1:0;const id=parts[idIndex];if(!id||!/^\\d+$/.test(id))return null;const rawHash=parts[idIndex+1];const hash=rawHash&&/^[a-z0-9]+$/i.test(rawHash)?rawHash:u.searchParams.get(\"h\")??undefined;return{id,hash};}const MINIMAL_HUD={// conserves\nprogress_bar:\"1\",volume:\"1\",quality_selector:\"1\",fullscreen:\"1\",keyboard:\"1\",// masques\npip:\"0\",airplay:\"0\",chromecast:\"0\",cc:\"0\",chapters:\"0\",transcript:\"0\",speed:\"0\",share:\"0\",like:\"0\",watch_later:\"0\",watch_full_video:\"0\",vimeo_logo:\"0\",audio_tracks:\"0\"};function ratioToCss(ratio){return ratio.replace(\":\",\" / \");}export default function VimeoPlayer(props){const{video,privacyHash,cover,sourceRatio=16/9,aspectRatio,radius,backgroundColor,showControls,autoplay,muted,loop,startTime=0,fullscreenOnPlay,hoverPreview,fullscreenVolume,style}=props;const start=Number.isFinite(startTime)&&startTime>0?startTime:0;// Avec un debut > 0, la boucle native de Vimeo repartirait a 0 :\n// on la gere a la main pour revenir au debut choisi.\nconst manualLoop=loop&&start>0;const parsed=useMemo(()=>parseVimeoInput(video),[video]);const wrapRef=useRef(null);const iframeRef=useRef(null);const[armed,setArmed]=useState(true);// Apercu de vignette : video chargee au premier survol, lue en boucle muette.\nconst cardPreview=cover&&hoverPreview&&!fullscreenOnPlay;const[previewMounted,setPreviewMounted]=useState(false);const[previewActive,setPreviewActive]=useState(false);const[coverSize,setCoverSize]=useState(null);const coverRatio=Number.isFinite(sourceRatio)&&sourceRatio>0?sourceRatio:16/9;useEffect(()=>{const element=wrapRef.current;if(!cover||!element)return;const resize=()=>{const{width,height}=element.getBoundingClientRect();if(width<=0||height<=0)return;const next={width:Math.max(width,height*coverRatio),height:Math.max(height,width/coverRatio)};setCoverSize(previous=>previous?.width===next.width&&previous?.height===next.height?previous:next);};resize();if(typeof ResizeObserver===\"undefined\"){window.addEventListener(\"resize\",resize);return()=>window.removeEventListener(\"resize\",resize);}const observer=new ResizeObserver(resize);observer.observe(element);return()=>observer.disconnect();},[cover,coverRatio]);const src=useMemo(()=>{if(!parsed)return undefined;const hash=(privacyHash||\"\").trim()||parsed.hash;const p=new URLSearchParams;if(hash)p.set(\"h\",hash);p.set(\"badge\",\"0\");p.set(\"byline\",\"0\");p.set(\"title\",\"0\");p.set(\"portrait\",\"0\");p.set(\"dnt\",\"1\");p.set(\"playsinline\",\"1\");// Fond du lecteur opaque : sinon le navigateur peint les bandes en blanc quand le site est en mode sombre.\np.set(\"transparent\",\"0\");p.set(\"controls\",showControls?\"1\":\"0\");// HUD minimal : play/pause, progression, volume, qualite, plein ecran.\n// Les parametres de masquage individuels dependent du plan Vimeo ;\n// ignores silencieusement si le plan ne les autorise pas.\nfor(const[k,v]of Object.entries(MINIMAL_HUD))p.set(k,v);if(autoplay||cardPreview)p.set(\"autoplay\",\"1\");if(muted||autoplay||hoverPreview)p.set(\"muted\",\"1\");if((loop||cardPreview)&&!manualLoop)p.set(\"loop\",\"1\");const t=start>0?`#t=${start}s`:\"\";return`https://player.vimeo.com/video/${parsed.id}?${p.toString()}${t}`;},[parsed,privacyHash,showControls,autoplay,muted,loop,manualLoop,start,hoverPreview,cardPreview]);const post=useCallback((method,value)=>{const w=iframeRef.current?.contentWindow;if(!w)return;const msg={method};if(value!==undefined)msg.value=value;w.postMessage(JSON.stringify(msg),\"https://player.vimeo.com\");},[]);useEffect(()=>{if(start<=0)return;const onMessage=e=>{if(e.origin!==\"https://player.vimeo.com\")return;if(e.source!==iframeRef.current?.contentWindow)return;let data;try{data=typeof e.data===\"string\"?JSON.parse(e.data):e.data;}catch{return;}if(data?.event===\"ready\"){post(\"setCurrentTime\",start);if(manualLoop){post(\"addEventListener\",\"timeupdate\");post(\"addEventListener\",\"ended\");post(\"addEventListener\",\"finish\");}return;}if(!manualLoop)return;if(data?.event===\"timeupdate\"){const{seconds=0,duration=0}=data.data??{};// Repart avant la fin pour eviter l'ecran de fin Vimeo.\nif(duration>start&&seconds>=duration-.4)post(\"setCurrentTime\",start);}else if(data?.event===\"ended\"||data?.event===\"finish\"){post(\"setCurrentTime\",start);post(\"play\");}};window.addEventListener(\"message\",onMessage);return()=>window.removeEventListener(\"message\",onMessage);},[start,manualLoop,post]);const handlePlayClick=useCallback(()=>{const el=wrapRef.current;if(!el)return;setArmed(false);const anyEl=el;const req=el.requestFullscreen?.bind(el)??anyEl.webkitRequestFullscreen?.bind(el);try{const r=req?.();if(r&&typeof r.catch===\"function\"){r.catch(()=>{});}}catch{}// Laisse le navigateur passer en plein ecran avant de lancer.\nconst vol=Math.min(1,Math.max(0,(fullscreenVolume??75)/100));window.setTimeout(()=>{post(\"setMuted\",false);post(\"setVolume\",vol);post(\"setCurrentTime\",0);post(\"play\");},120);},[post,fullscreenVolume]);const handleHoverEnter=useCallback(()=>{if(!hoverPreview)return;post(\"setMuted\",true);post(\"play\");},[hoverPreview,post]);const handleHoverLeave=useCallback(()=>{if(!hoverPreview)return;post(\"pause\");post(\"setCurrentTime\",0);},[hoverPreview,post]);useEffect(()=>{if(!fullscreenOnPlay)return;const onChange=()=>{const fsEl=document.fullscreenElement??document.webkitFullscreenElement;if(!fsEl){post(\"pause\");post(\"setMuted\",true);post(\"setCurrentTime\",0);setArmed(true);}};document.addEventListener(\"fullscreenchange\",onChange);document.addEventListener(\"webkitfullscreenchange\",onChange);return()=>{document.removeEventListener(\"fullscreenchange\",onChange);document.removeEventListener(\"webkitfullscreenchange\",onChange);};},[fullscreenOnPlay,post]);const showOverlay=fullscreenOnPlay&&armed&&!!src;const handleCardEnter=useCallback(()=>{if(!cardPreview||RenderTarget.current()===RenderTarget.canvas)return;setPreviewMounted(true);setPreviewActive(true);post(\"play\");},[cardPreview,post]);const handleCardLeave=useCallback(()=>{if(!cardPreview)return;setPreviewActive(false);post(\"pause\");post(\"setCurrentTime\",0);},[cardPreview,post]);return /*#__PURE__*/_jsxs(\"div\",{ref:wrapRef,\"data-framer-name\":\"VimeoPlayer\",onMouseEnter:cardPreview?handleCardEnter:undefined,onMouseLeave:cardPreview?handleCardLeave:undefined,style:{position:\"relative\",width:\"100%\",height:cover?\"100%\":undefined,aspectRatio:cover?undefined:ratioToCss(aspectRatio),borderRadius:radius,overflow:\"hidden\",background:cardPreview?\"transparent\":backgroundColor,boxSizing:\"border-box\",...style},children:[src&&(!cardPreview||previewMounted)?/*#__PURE__*/_jsx(\"iframe\",{ref:iframeRef,src:src,title:\"Vimeo\",allow:\"autoplay; fullscreen; picture-in-picture; clipboard-write\",allowFullScreen:true,frameBorder:\"0\",style:cover?{// Cadrage cover selon le ratio source et la taille du cadre.\nposition:\"absolute\",top:\"50%\",left:\"50%\",width:coverSize?.width??`max(100%, ${coverRatio*100}vh)`,height:coverSize?.height??`max(100%, ${100/coverRatio}vw)`,transform:\"translate(-50%, -50%)\",border:0,// Même schéma que le document Vimeo : sinon les bandes sont peintes en blanc en mode sombre.\ncolorScheme:\"light\",display:\"block\",pointerEvents:\"none\",...cardPreview?{opacity:previewActive?1:0,transition:\"opacity .35s ease\"}:{}}:{// Déborde de 2px pour masquer le liseré clair que Vimeo laisse sur les bords.\nposition:\"absolute\",top:-2,left:-2,width:\"calc(100% + 4px)\",height:\"calc(100% + 4px)\",border:0,// Même schéma que le document Vimeo : sinon les bandes sont peintes en blanc en mode sombre.\ncolorScheme:\"light\",display:\"block\"}}):cardPreview?null:/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,display:\"grid\",placeItems:\"center\",padding:24,textAlign:\"center\",color:\"rgba(255,255,255,0.55)\",fontFamily:\"sans-serif\",fontSize:13,lineHeight:1.5},children:video&&video.trim()?\"Lien Vimeo invalide\":\"Colle un lien Vimeo (ou relie ce champ au CMS)\"}),showOverlay&&/*#__PURE__*/_jsx(\"div\",{role:\"button\",\"aria-label\":\"Lire la video en plein ecran\",\"data-cursor\":\"play\",onClick:handlePlayClick,onMouseEnter:handleHoverEnter,onMouseLeave:handleHoverLeave,style:{position:\"absolute\",inset:0,cursor:\"pointer\",background:\"transparent\"}})]});}addPropertyControls(VimeoPlayer,{video:{title:\"Video\",type:ControlType.String,defaultValue:\"\",placeholder:\"1083826567/601eb689c1\",description:\"URL Vimeo complete, ou ID au format CMS PEP'S. Bindable au CMS.\"},privacyHash:{title:\"Hash prive\",type:ControlType.String,defaultValue:\"\",placeholder:\"601eb689c1\",description:\"Optionnel : si l'ID et le hash sont dans deux champs CMS distincts.\"},cover:{title:\"Plein cadre\",type:ControlType.Boolean,defaultValue:false,description:\"Remplit le parent (fond video). Ignore le Format, coupe les bords. Prevoir autoplay + muet + boucle + controles off.\"},sourceRatio:{title:\"Ratio source\",type:ControlType.Number,defaultValue:16/9,min:.25,max:4,step:.001,hidden:props=>!props.cover,description:\"Largeur / hauteur de la vid\\xe9o pour remplir le cadre sans bandes.\"},aspectRatio:{title:\"Format\",hidden:props=>!!props.cover,type:ControlType.Enum,options:[\"16:9\",\"9:16\",\"1:1\",\"4:5\",\"21:9\"],optionTitles:[\"16:9\",\"9:16\",\"1:1\",\"4:5\",\"21:9\"],defaultValue:\"16:9\"},radius:{title:\"Arrondi\",type:ControlType.Number,min:0,max:64,step:1,defaultValue:0},backgroundColor:{title:\"Fond\",type:ControlType.Color,defaultValue:\"#0B0B0C\"},showControls:{title:\"Controles\",type:ControlType.Boolean,defaultValue:true,description:\"Off = player chromeless (aucun HUD Vimeo).\"},autoplay:{title:\"Autoplay\",type:ControlType.Boolean,defaultValue:false,description:\"Force le mode muet (exigence des navigateurs).\"},muted:{title:\"Muet\",type:ControlType.Boolean,defaultValue:false},loop:{title:\"Boucle\",type:ControlType.Boolean,defaultValue:false},startTime:{title:\"Debut\",type:ControlType.Number,min:0,step:1,unit:\"s\",defaultValue:0,displayStepper:true,description:\"Moment de depart de la video. En boucle, la lecture revient a ce moment.\"},fullscreenOnPlay:{title:\"Plein ecran au Play\",type:ControlType.Boolean,defaultValue:false,hidden:props=>!!props.cover,description:\"Le premier clic passe la video en plein ecran, active le son et lance la lecture. Pause + muet + retour au calque a la sortie.\"},fullscreenVolume:{title:\"Volume plein ecran\",type:ControlType.Number,min:0,max:100,step:5,unit:\"%\",defaultValue:75,hidden:props=>!props.fullscreenOnPlay},hoverPreview:{title:\"Lecture au survol\",type:ControlType.Boolean,defaultValue:false,hidden:props=>!props.fullscreenOnPlay,description:\"Survol du calque = lecture muette. Sortie = pause et retour au debut.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"VimeoPlayer\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./VimeoPlayer.map"],"mappings":"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"}