{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/lRDHiNWNVWmE0lqtoVHP/Z4QJ2YpzpVnWRfR6Ccgg/Video.js", "ssg:https://framerusercontent.com/modules/LQ2ZK0yv2v8fXeGKfZfp/jyNp01h0llG0aJJLiipG/VideoComponent_1.js"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsInCurrentNavigationTarget}from\"framer\";import{isMotionValue,useInView}from\"framer-motion\";import{borderRadiusControl,defaultEvents,useIsBrowserSafari,useIsOnCanvas,useOnEnter,useOnExit,useRadius}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";import{memo,useCallback,useEffect,useMemo,useRef,useState}from\"react\";var ObjectFitType;(function(ObjectFitType){ObjectFitType[\"Fill\"]=\"fill\";ObjectFitType[\"Contain\"]=\"contain\";ObjectFitType[\"Cover\"]=\"cover\";ObjectFitType[\"None\"]=\"none\";ObjectFitType[\"ScaleDown\"]=\"scale-down\";})(ObjectFitType||(ObjectFitType={}));var SrcType;(function(SrcType){SrcType[\"Video\"]=\"Upload\";SrcType[\"Url\"]=\"URL\";})(SrcType||(SrcType={}));// Reduce renders\nfunction getProps(props){const{width,height,topLeft,topRight,bottomRight,bottomLeft,id,children,...rest}=props;return rest;}/**\n * VIDEO\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 112\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export function Video(props){const newProps=getProps(props);return /*#__PURE__*/_jsx(VideoMemo,{...newProps});}function usePlaybackControls(videoRef){const isInCurrentNavigationTarget=useIsInCurrentNavigationTarget();const requestingPlay=useRef(false);const setProgress=useCallback(rawProgress=>{if(!videoRef.current)return;const newProgress=(rawProgress===1?.999:rawProgress)*videoRef.current.duration;const isAlreadySet=Math.abs(videoRef.current.currentTime-newProgress)<.1;if(videoRef.current.duration>0&&!isAlreadySet){videoRef.current.currentTime=newProgress;}},[]);const play=useCallback(()=>{const isPlaying=videoRef.current.currentTime>0&&videoRef.current.onplaying&&!videoRef.current.paused&&!videoRef.current.ended&&videoRef.current.readyState>videoRef.current.HAVE_CURRENT_DATA;if(!isPlaying&&videoRef.current&&!requestingPlay.current&&isInCurrentNavigationTarget){requestingPlay.current=true;videoRef.current.play().catch(e=>{})// It's likely fine, swallow error\n.finally(()=>requestingPlay.current=false);}},[]);const pause=useCallback(()=>{if(!videoRef.current||requestingPlay.current)return;videoRef.current.pause();},[]);return{play,pause,setProgress};}function useAutoplayBehavior({playingProp,muted,loop,playsinline,controls}){const[initialPlayingProp]=useState(()=>playingProp);const[hasPlayingPropChanged,setHasPlayingPropChanged]=useState(false);if(playingProp!==initialPlayingProp&&!hasPlayingPropChanged){setHasPlayingPropChanged(true);}const behavesAsGif=// passing `playing === true` on mount indicates that the video should\n// autoplay, like a GIF\ninitialPlayingProp&&muted&&loop&&playsinline&&!controls&&// Some users of the <Video> component use it by wrapping it with\n// another smart component and adding their own controls on top. (The\n// controls use transitions to control the video: e.g., when clicking\n// the play button, the smart component will transition to a state with\n// <Video playing={true} />.) In this case, we don't want the video to\n// behave as a gif, as it will be weird if the video suddenly started\n// acting as such (and auto-pausing when leaving the viewport) as soon\n// as the site visitor mutes it and clicks \u201CPlay\u201D.\n!hasPlayingPropChanged;let autoplay;if(behavesAsGif)autoplay=\"on-viewport\";else if(initialPlayingProp)autoplay=\"on-mount\";else autoplay=\"no-autoplay\";return autoplay;}/**\n * The Video component has some effects that sync the video element with props\n * like `startTime`, `progress`, etc. React calls these effects whenever these\n * props change. However, it also calls them on the first mount, and this is\n * troublesome \u2013 if we\u2019re doing SSR, and the user changed the video state before\n * the video was hydrated, the initial `useEffect` call will reset the video\n * state. To avoid this, we use this flag.\n */let isMountedAndReadyForProgressChanges=false;const VideoMemo=/*#__PURE__*/memo(function VideoInner(props){const{srcType,srcFile,srcUrl,playing:playingProp,muted,playsinline,controls,progress,objectFit,backgroundColor,onSeeked,onPause,onPlay,onEnd,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,poster,posterEnabled,startTime:startTimeProp,volume,loop}=props;const videoRef=useRef();const isSafari=useIsBrowserSafari();const wasPausedOnLeave=useRef(null);const wasEndedOnLeave=useRef(null);const isOnCanvas=useIsOnCanvas();const borderRadius=useRadius(props);// Hard-coding `autoplayBehavior` and `isInViewport` when on canvas as a\n// tiny perf optimization. isOnCanvas won\u2019t change through the lifecycle of\n// the component, so using these hooks conditionally should be safe\nconst autoplayBehavior=isOnCanvas?\"no-autoplay\":useAutoplayBehavior({playingProp,muted,loop,playsinline,controls});const isInViewport=isOnCanvas?true:useInView(videoRef);// Video elements behave oddly at 100% duration\nconst startTime=startTimeProp===100?99.9:startTimeProp;const{play,pause,setProgress}=usePlaybackControls(videoRef);// Pause/play via props\nuseEffect(()=>{if(isOnCanvas)return;if(playingProp)play();else pause();},[playingProp]);// Pause/play via viewport\nuseEffect(()=>{if(isOnCanvas)return;if(autoplayBehavior!==\"on-viewport\")return;if(isInViewport)play();else pause();},[autoplayBehavior,isInViewport]);// Allow scrubbling via progress prop\n// 1) Handle cases when the progress prop itself changes\nuseEffect(()=>{if(!isMountedAndReadyForProgressChanges){isMountedAndReadyForProgressChanges=true;return;}const rawProgressValue=isMotionValue(progress)?progress.get():(progress!==null&&progress!==void 0?progress:0)*.01;setProgress(// When the progress value exists (e.g. <Video startTime={10}\n// progress={50} />), we respect the `progress` value over\n// `startTime`, even if `startTime` changes. That\u2019s because\n// `startTime` == start == changing it shouldn\u2019t affect the current\n// progress\n(rawProgressValue!==null&&rawProgressValue!==void 0?rawProgressValue:0)||// Then why fall back to `startTime` when `progress` doesn\u2019t exist,\n// you might ask? Now, that\u2019s for\n// - canvas UX: we want the video progress to change when the user\n//   is scrobbling the \u201CStart Time\u201D in component settings.\n// - backwards compatibility: maybe some users *are* scrobbling\n//   using `startTime` instead of `progress`? We don\u2019t know, and it\n//   always supported it, so let\u2019s not break it\n(startTime!==null&&startTime!==void 0?startTime:0)/100);},[startTime,srcFile,srcUrl,progress]);// 2) Handle cases when the motion value inside the progress prop changes\nuseEffect(()=>{if(!isMotionValue(progress))return;return progress.on(\"change\",value=>setProgress(value));},[progress]);// (Prototyping) Checking if we need to play on navigation enter\nuseOnEnter(()=>{if(wasPausedOnLeave.current===null)return;if(videoRef.current){// if (restartOnEnter) setProgress(0)\nif(!wasEndedOnLeave&&loop||!wasPausedOnLeave.current)play();}});// (Prototyping) Pausing & saving playing state on navigation exit\nuseOnExit(()=>{if(videoRef.current){wasEndedOnLeave.current=videoRef.current.ended;wasPausedOnLeave.current=videoRef.current.paused;pause();}});const src=useMemo(()=>{let fragment=\"\";// if (\n//     startTime > 0 &&\n//     videoRef.current &&\n//     !isNaN(videoRef.current.duration) &&\n//     !isOnCanvas\n// ) {\n//     console.log(startTime, videoRef.current.duration)\n//     fragment = `#t=${startTime * videoRef.current.duration}`\n// }\nif(srcType===\"URL\")return srcUrl+fragment;if(srcType===\"Upload\")return srcFile+fragment;},[srcType,srcFile,srcUrl,startTime]);// Autoplay via JS to work in Safari\nuseEffect(()=>{if(isSafari&&videoRef.current&&autoplayBehavior===\"on-mount\"){setTimeout(()=>play(),50);}},[]);// Volume Control\nuseEffect(()=>{if(videoRef.current&&!muted)videoRef.current.volume=(volume!==null&&volume!==void 0?volume:0)/100;},[volume]);// When video is ready, set start-time, then autoplay if needed\nconst handleReady=()=>{if(!videoRef.current)return;if(videoRef.current.currentTime<.3)setProgress((startTime!==null&&startTime!==void 0?startTime:0)*.01);if(autoplayBehavior===\"on-mount\")play();};return /*#__PURE__*/_jsx(\"video\",{onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,src:src,loop:loop,ref:videoRef,onSeeked:e=>onSeeked===null||onSeeked===void 0?void 0:onSeeked(e),onPause:e=>onPause===null||onPause===void 0?void 0:onPause(e),onPlay:e=>onPlay===null||onPlay===void 0?void 0:onPlay(e),onEnded:e=>onEnd===null||onEnd===void 0?void 0:onEnd(e),autoPlay:autoplayBehavior===\"on-mount\",preload:autoplayBehavior!==\"on-mount\"&&posterEnabled?\"metadata\":\"auto\",poster:posterEnabled?poster:undefined,onLoadedData:handleReady,controls:controls,muted:isOnCanvas?true:muted,playsInline:playsinline,style:{cursor:!!onClick?\"pointer\":\"auto\",width:\"100%\",height:\"100%\",borderRadius,display:\"block\",objectFit:objectFit,backgroundColor:backgroundColor,objectPosition:\"50% 50%\"}});});Video.displayName=\"Video\";Video.defaultProps={srcType:\"URL\",srcUrl:\"https://assets.mixkit.co/videos/preview/mixkit-shining-sun-in-the-sky-surrounded-by-moving-clouds-31793-small.mp4\",srcFile:\"\",posterEnabled:false,controls:false,playing:true,loop:true,muted:true,playsinline:true,restartOnEnter:false,objectFit:\"cover\",backgroundColor:\"rgba(0,0,0,0)\",radius:0,volume:25,startTime:0};const groupsRegex=/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]|\\d+/gu;function capitalizeFirstLetter(value){return value.charAt(0).toUpperCase()+value.slice(1);}export function titleCase(value){const groups=value.match(groupsRegex)||[];return groups.map(capitalizeFirstLetter).join(\" \");}const objectFitOptions=[\"cover\",\"fill\",\"contain\",\"scale-down\",\"none\"];addPropertyControls(Video,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[\"URL\",\"Upload\"]},srcUrl:{type:ControlType.String,title:\"URL\",placeholder:\"../example.mp4\",hidden(props){return props.srcType===\"Upload\";},description:\"Hosted video file URL. For YouTube, use the YouTube component.\"},srcFile:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"mp4\",\"webm\"],hidden(props){return props.srcType===\"URL\";}},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\"},posterEnabled:{type:ControlType.Boolean,title:\"Poster\",enabledTitle:\"Yes\",disabledTitle:\"No\"},poster:{type:ControlType.Image,title:\" \",hidden:({posterEnabled})=>!posterEnabled},backgroundColor:{type:ControlType.Color,title:\"Background\"},...borderRadiusControl,startTime:{title:\"Start Time\",type:ControlType.Number,min:0,max:100,step:.1,unit:\"%\"},loop:{type:ControlType.Boolean,title:\"Loop\",enabledTitle:\"Yes\",disabledTitle:\"No\"},objectFit:{type:ControlType.Enum,title:\"Fit\",options:objectFitOptions,optionTitles:objectFitOptions.map(titleCase)},// restartOnEnter: {\n//     type: ControlType.Boolean,\n//     title: \"On ReEnter\",\n//     enabledTitle: \"Restart\",\n//     disabledTitle: \"Resume\",\n// },\ncontrols:{type:ControlType.Boolean,title:\"Controls\",enabledTitle:\"Show\",disabledTitle:\"Hide\"},muted:{type:ControlType.Boolean,title:\"Muted\",enabledTitle:\"Yes\",disabledTitle:\"No\"},volume:{type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({muted})=>muted},onEnd:{type:ControlType.EventHandler},onSeeked:{type:ControlType.EventHandler},onPause:{type:ControlType.EventHandler},onPlay:{type:ControlType.EventHandler},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"Video\":{\"type\":\"reactComponent\",\"name\":\"Video\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"112\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"200\"}},\"VideoProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Video.map", "import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useRef,useState,useEffect}from\"react\";import{addPropertyControls,ControlType,Frame}from\"framer\";// Composant vid\u00E9o personnalis\u00E9\nfunction CustomVideo({src,autoPlay=true,loop=true}){const videoRef=useRef(null);const[isPlaying,setIsPlaying]=useState(autoPlay);const[isAttemptingAutoplay,setIsAttemptingAutoplay]=useState(autoPlay);useEffect(()=>{const videoElement=videoRef.current;if(!videoElement)return;videoElement.loop=loop;videoElement.muted=true// Mute la vid\u00E9o pour favoriser l'autoplay\n;const handlePlay=()=>{setIsPlaying(true);setIsAttemptingAutoplay(false);};const handlePause=()=>setIsPlaying(false);const attemptPlay=()=>{videoElement.play().catch(()=>{setIsPlaying(false);setIsAttemptingAutoplay(false);});};videoElement.addEventListener(\"play\",handlePlay);videoElement.addEventListener(\"pause\",handlePause);// Tentative de lecture initiale\nattemptPlay();// R\u00E9essayer apr\u00E8s un court d\u00E9lai\nsetTimeout(attemptPlay,1e3);return()=>{videoElement.removeEventListener(\"play\",handlePlay);videoElement.removeEventListener(\"pause\",handlePause);};},[loop,autoPlay]);const handlePlayPauseClick=e=>{e.preventDefault();const videoElement=videoRef.current;if(videoElement){if(isPlaying){videoElement.pause();}else{videoElement.play();setIsAttemptingAutoplay(true);}}};return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\"},children:[/*#__PURE__*/_jsx(\"video\",{ref:videoRef,src:src,style:{width:\"100%\",height:\"100%\"},autoPlay:autoPlay,controls:false,playsInline:true,muted:true}),!isPlaying&&!isAttemptingAutoplay&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:\"50%\",left:\"50%\",transform:\"translate(-50%, -50%)\",zIndex:2,cursor:\"pointer\",backgroundColor:\"none\",borderRadius:\"50%\",padding:\"15px\"},onClick:handlePlayPauseClick,children:/*#__PURE__*/_jsx(\"svg\",{width:\"0\",height:\"0\",viewBox:\"0 0 36 43\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M36 21.2687C36.0013 21.8243 35.8589 22.3708 35.5865 22.8551C35.3141 23.3393 34.921 23.7448 34.4454 24.0321L4.97454 42.0608C4.47768 42.365 3.90859 42.5311 3.32607 42.5419C2.74354 42.5527 2.1687 42.4078 1.66091 42.1221C1.15795 41.8409 0.738974 41.4308 0.447062 40.934C0.155151 40.4372 0.000840391 39.8716 0 39.2953V3.24215C0.000840391 2.66592 0.155151 2.1003 0.447062 1.60348C0.738974 1.10665 1.15795 0.696548 1.66091 0.415334C2.1687 0.129684 2.74354 -0.0152312 3.32607 -0.00444372C3.90859 0.00634375 4.47768 0.172443 4.97454 0.476698L34.4454 18.5053C34.921 18.7927 35.3141 19.1982 35.5865 19.6824C35.8589 20.1666 36.0013 20.7131 36 21.2687Z\",fill:\"white\"})})})]});}// Int\u00E9gration du composant vid\u00E9o personnalis\u00E9 dans Framer\nexport function VideoComponent(props){const{videoURL}=props;return /*#__PURE__*/_jsx(Frame,{size:\"100%\",background:\"#FAFAFA\",children:/*#__PURE__*/_jsx(CustomVideo,{src:videoURL,autoPlay:true,loop:true})});}addPropertyControls(VideoComponent,{videoURL:{type:ControlType.String,title:\"URL\",defaultValue:\"https://storage.googleapis.com/portfolio_david/LACE/Zoom%20menu.mp4\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"VideoComponent\":{\"type\":\"reactComponent\",\"name\":\"VideoComponent\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./VideoComponent_1.map"],
  "mappings": "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",
  "names": ["ObjectFitType", "SrcType", "getProps", "props", "width", "height", "topLeft", "topRight", "bottomRight", "bottomLeft", "id", "children", "rest", "Video", "newProps", "VideoMemo", "usePlaybackControls", "videoRef", "isInCurrentNavigationTarget", "useIsInCurrentNavigationTarget", "requestingPlay", "pe", "setProgress", "te", "rawProgress", "newProgress", "isAlreadySet", "play", "e", "pause", "useAutoplayBehavior", "playingProp", "muted", "loop", "playsinline", "controls", "initialPlayingProp", "ye", "hasPlayingPropChanged", "setHasPlayingPropChanged", "behavesAsGif", "autoplay", "isMountedAndReadyForProgressChanges", "X", "srcType", "srcFile", "srcUrl", "progress", "objectFit", "backgroundColor", "onSeeked", "onPause", "onPlay", "onEnd", "onClick", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "poster", "posterEnabled", "startTimeProp", "volume", "isSafari", "useIsBrowserSafari", "wasPausedOnLeave", "wasEndedOnLeave", "isOnCanvas", "useIsOnCanvas", "borderRadius", "useRadius", "autoplayBehavior", "isInViewport", "useInView", "startTime", "ue", "rawProgressValue", "isMotionValue", "value", "useOnEnter", "useOnExit", "src", "se", "fragment", "groupsRegex", "capitalizeFirstLetter", "titleCase", "objectFitOptions", "addPropertyControls", "ControlType", "borderRadiusControl", "defaultEvents", "CustomVideo", "src", "autoPlay", "loop", "videoRef", "pe", "isPlaying", "setIsPlaying", "ye", "isAttemptingAutoplay", "setIsAttemptingAutoplay", "ue", "videoElement", "handlePlay", "handlePause", "attemptPlay", "u", "e", "VideoComponent", "props", "videoURL", "Frame", "addPropertyControls", "ControlType"]
}
