{"version":3,"file":"CMSCarousel.Ejk1iO2M.mjs","names":["useRef","useCallback","useState","useMemo","React.useRef","clamp","useRef","baseButtonStyles","Children","useWritingDirection","useState","containerStyle","useCallback","end","start","clamp","Dot","dotStyle","startTransition","controlsStyles","dotsContainerStyle","currentScroll","placeholderStyles","emojiStyles","titleStyles","subtitleStyles","useId","Children","useRef","useMemo","useState","useCallback","startTransition","Dot","dotStyle","SlideShow","getComponentProps","j","Children"],"sources":["https:/framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js","https:/framerusercontent.com/modules/lRDHiNWNVWmE0lqtoVHP/7qT0r3So12155VV5Jq5x/Video.js","https:/framerusercontent.com/modules/lAhJFQUrCPrUXeRIpR1C/CU8yc8xV6QmpDk51JRQ5/Carousel_3D.js","https:/ga.jspm.io/npm:@motionone/utils@10.12.0/dist/index.es.js","https:/framer.com/m/Carousel-bt0d.js","https:/framer.com/m/SlideShow-07du.js","https:/framer.com/m/CMSLibrary-09eo.js","https:/framer.com/m/CMSSlideshow-xxTt.js@Gwq5XNGR2fw3oxqNnFeg","https:/framerusercontent.com/modules/ft5yfl7Xf7tP16mby5bz/t4quBUWUVUPa6EDQITAo/CMSCarousel.js"],"sourcesContent":["import{defaultEvents,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";import{useOnEnter,useOnExit}from\"https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";import{colorTokentoValue,colorFromToken}from\"https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";import{useUniqueClassName,randomID}from\"https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js\";import{getVariantControls}from\"https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js\";import{useIsBrowserSafari}from\"https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js\";import{useMultiOnChange,useOnChange}from\"https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js\";import{mstoMinAndSec,secondsToMinutes}from\"https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/revv9QCWpkh8lPzi2jje/time.js\";import{useAutoMotionValue}from\"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js\";import{useFontControls}from\"https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js\";import{useRenderTarget,useIsInPreview,useIsOnCanvas}from\"https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js\";import{useControlledState}from\"https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js\";import{usePadding,useRadius,paddingControl,borderRadiusControl}from\"https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js\";import{detectAutoSizingAxis}from\"https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/HwbnIAZlUmQ2oTpcLkaH/detectAutoSizingAxis.js\";export{useOnEnter,useOnExit,defaultEvents,isMotionValue,colorFromToken,colorTokentoValue,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack,useUniqueClassName,getVariantControls,useIsBrowserSafari,randomID,useConstant,useMultiOnChange,useOnChange,usePadding,useRadius,paddingControl,borderRadiusControl,mstoMinAndSec,useFontControls,secondsToMinutes,useAutoMotionValue,useRenderTarget,useIsInPreview,useControlledState,detectAutoSizingAxis,useIsOnCanvas,};\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useUniqueClassName\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorFromToken\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useControlledState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAutoMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsInPreview\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"detectAutoSizingAxis\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mstoMinAndSec\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnEnter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"secondsToMinutes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsInCurrentNavigationTarget,RenderTarget}from\"framer\";import{isMotionValue,useInView}from\"framer-motion\";import{borderRadiusControl,defaultEvents,useIsBrowserSafari,useIsOnCanvas,useOnEnter,useOnExit,useRadius,useRenderTarget}from\"https://framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js\";// https://framer.com/m/framer/default-utils.js@^0.45.0\nimport{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={}));const defaultVideo=\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\";// 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 isPlayingRef=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 video=videoRef.current;if(!video)return;video.preload=\"auto\"// makes sure browsers don't throttle: https://html.spec.whatwg.org/multipage/media.html#:~:text=When%20the%20media%20resource%20is%20playing%2C%20hints%20to%20the%20user%20agent%20that%20bandwidth%20is%20to%20be%20considered%20scarce%2C%20e.g.%20suggesting%20throttling%20the%20download%20so%20that%20the%20media%20data%20is%20obtained%20at%20the%20slowest%20possible%20rate%20that%20still%20maintains%20consistent%20playback.\n;const isPlaying=video.currentTime>0&&video.onplaying&&!video.paused&&!video.ended&&video.readyState>=video.HAVE_CURRENT_DATA;if(!isPlaying&&video&&!requestingPlay.current&&isInCurrentNavigationTarget){requestingPlay.current=true;isPlayingRef.current=true;video.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();isPlayingRef.current=false;},[]);return{play,pause,setProgress,isPlaying:isPlayingRef};}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 “Play”.\n!hasPlayingPropChanged;let autoplay;if(behavesAsGif)autoplay=\"on-viewport\";else if(initialPlayingProp)autoplay=\"on-mount\";else autoplay=\"no-autoplay\";return autoplay;}const VideoMemo=/*#__PURE__*/memo(function VideoInner(props){const{// default props\nsrcType=\"URL\",srcUrl,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:startTimeProp=0,poster,playing:playingProp,progress,onSeeked,onPause,onPlay,onEnd,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp}=props;const videoRef=useRef();const isSafari=useIsBrowserSafari();const wasPausedOnLeave=useRef(null);const wasEndedOnLeave=useRef(null);const isOnCanvas=useIsOnCanvas();const renderTarget=useRenderTarget();const isStaticRenderer=isOnCanvas||renderTarget===RenderTarget.export;const borderRadius=useRadius(props);// Hard-coding `autoplayBehavior` and `isInViewport` when on canvas as a\n// tiny perf optimization. isStaticRenderer won’t change through the lifecycle of\n// the component, so using these hooks conditionally should be safe\nconst autoplayBehavior=isStaticRenderer?\"no-autoplay\":useAutoplayBehavior({playingProp,muted,loop,playsinline,controls});const isInViewport=isStaticRenderer?true:useInView(videoRef);const isCloseToViewport=isStaticRenderer?false:useInView(videoRef,{margin:\"10%\",once:true});// Video elements behave oddly at 100% duration\nconst startTime=startTimeProp===100?99.9:startTimeProp;const{play,pause,setProgress,isPlaying}=usePlaybackControls(videoRef);// Pause/play via props\nuseEffect(()=>{if(isStaticRenderer)return;if(autoplayBehavior===\"on-viewport\")return;if(playingProp)play();else pause();},[autoplayBehavior,playingProp]);// Pause/play via viewport\nuseEffect(()=>{if(isStaticRenderer)return;// this also explicitly retries playing for videos that play on-mount, which could fail if they're not muted for example\nif(isInViewport&&playingProp&&autoplayBehavior!==\"no-autoplay\")play();if(autoplayBehavior!==\"on-viewport\")return;pause();},[autoplayBehavior,isInViewport,playingProp]);useEffect(()=>{if(!isOnCanvas||poster||posterEnabled||startTime||!videoRef.current)return;// forces a poster to show up when the video is in an iframe; this is needed when `poster` changes\nvideoRef.current.currentTime=.01;},[posterEnabled,poster,startTime]);/**\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 – if we’re 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     */const isMountedAndReadyForProgressChanges=useRef(false);// Allow scrubbling via progress prop\n// 1) Handle cases when the progress prop itself changes\nuseEffect(()=>{if(!isMountedAndReadyForProgressChanges.current){isMountedAndReadyForProgressChanges.current=true;return;}const rawProgressValue=isMotionValue(progress)?progress.get():(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’s because\n// `startTime` == start == changing it shouldn’t affect the current\n// progress\n(rawProgressValue??0)||// Then why fall back to `startTime` when `progress` doesn’t exist,\n// you might ask? Now, that’s for\n// - canvas UX: we want the video progress to change when the user\n//   is scrobbling the “Start Time” in component settings.\n// - backwards compatibility: maybe some users *are* scrobbling\n//   using `startTime` instead of `progress`? We don’t know, and it\n//   always supported it, so let’s not break it\n(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//     !isStaticRenderer\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??0)/100;},[volume]);// When video is ready, set start-time, then autoplay if needed\nconst handleReady=()=>{const video=videoRef.current;if(!video)return;if(video.currentTime<.3&&startTime>0)setProgress((startTime??0)*.01);if(// when the component updates (e.g. only srcFile/url changes), and the video was already playing, keep playing\nisPlaying.current||autoplayBehavior===\"on-mount\"||playingProp&&autoplayBehavior===\"on-viewport\"&&isInViewport)play();};return /*#__PURE__*/_jsx(\"video\",{onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,src:src,loop:loop,ref:videoRef,onSeeked:e=>onSeeked?.(e),onPause:e=>onPause?.(e),onPlay:e=>onPlay?.(e),onEnded:e=>onEnd?.(e),autoPlay:isPlaying.current||autoplayBehavior===\"on-mount\"||playingProp&&autoplayBehavior===\"on-viewport\"&&isInViewport,preload:isPlaying.current?\"auto\":isStaticRenderer&&!poster?\"metadata\":autoplayBehavior!==\"on-mount\"&&!isCloseToViewport?\"none\":// `autoplay` overrides this too\n\"metadata\",poster:posterEnabled&&!srcFile&&srcUrl===defaultVideo?\"https://framerusercontent.com/images/5ILRvlYXf72kHSVHqpa3snGzjU.jpg\":posterEnabled&&poster?poster:undefined,onLoadedData:handleReady,controls:controls,muted:isStaticRenderer?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\";function capitalizeFirstLetter(value){return value.charAt(0).toUpperCase()+value.slice(1);}export function titleCase(value){const groups=value.match(/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]|\\d+/gu)||[];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\",defaultValue:\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\",hidden(props){return props.srcType===\"Upload\";}},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\"},...borderRadiusControl,posterEnabled:{type:ControlType.Boolean,title:\"Poster\",enabledTitle:\"Yes\",disabledTitle:\"No\"},poster:{type:ControlType.Image,title:\"Image\",hidden:({posterEnabled})=>!posterEnabled,description:\"We recommend adding a poster. [Learn more](https://www.framer.com/help/articles/how-are-videos-optimized-in-framer/).\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(0,0,0,0)\"},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\",defaultValue:false},muted:{type:ControlType.Boolean,title:\"Muted\",enabledTitle:\"Yes\",disabledTitle:\"No\"},volume:{type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({muted})=>muted,defaultValue:25},onEnd:{type:ControlType.EventHandler},onSeeked:{type:ControlType.EventHandler},onPause:{type:ControlType.EventHandler},onPlay:{type:ControlType.EventHandler},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"VideoProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Video\":{\"type\":\"reactComponent\",\"name\":\"Video\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"112\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Video.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";export default function ThreeDGallery(props){const{videos,videoWidth,videoHeight,rotateSpeed,translateZ,borderRadius,showBackface,lazyLoad,mobileStatic,loadAhead}=props;const reduceMotion=typeof window!==\"undefined\"&&window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;// Always render at least 4 items for the 3D circle\nconst totalItems=Math.max(videos.length,4);const spreadAngle=360/totalItems;const fallbackVideos=[{mp4:\"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4\",webm:\"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm\"},{mp4:\"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4\",webm:\"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm\"},{mp4:\"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4\",webm:\"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm\"},{mp4:\"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4\",webm:\"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm\"}];const normalized=[...videos.map(v=>typeof v===\"string\"?{mp4:v}:v),...fallbackVideos.slice(0,Math.max(0,totalItems-videos.length))];const videoRefs=React.useRef([]);const figRefs=React.useRef([]);const observerRef=React.useRef(null);// Pause tout si l’onglet passe en arrière-plan (économie)\nReact.useEffect(()=>{const onVis=()=>{if(document.hidden)videoRefs.current.forEach(v=>v?.pause());};document.addEventListener(\"visibilitychange\",onVis);return()=>document.removeEventListener(\"visibilitychange\",onVis);},[]);// Lazy loading / play on visible — ACTIF aussi sur mobile\nReact.useEffect(()=>{if(!lazyLoad)return;if(!observerRef.current){observerRef.current=new IntersectionObserver(entries=>{entries.forEach(entry=>{const fig=entry.target;const idx=Number(fig.dataset.idx);const video=videoRefs.current[idx];if(!video)return;if(entry.isIntersecting){// hydrate sources only when visible (+ prefetch neighbors)\nhydrateVideo(idx);safePlay(video);}else{video.pause();}});},{root:null,rootMargin:\"0px\",threshold:.25});}figRefs.current.forEach(el=>el&&observerRef.current?.observe(el));return()=>figRefs.current.forEach(el=>el&&observerRef.current?.unobserve(el));// eslint-disable-next-line react-hooks/exhaustive-deps\n},[lazyLoad,loadAhead,normalized.length]);// Fallback iOS : premier touch → tente de (re)lancer ce qui est visible\nReact.useEffect(()=>{const handler=()=>{videoRefs.current.forEach(v=>{if(!v)return;const fig=v.closest(\"figure\");if(!fig)return;const rect=fig.getBoundingClientRect();const visible=rect.top<window.innerHeight&&rect.bottom>0&&rect.left<window.innerWidth&&rect.right>0;if(visible)safePlay(v);});window.removeEventListener(\"touchstart\",handler,{capture:true});};window.addEventListener(\"touchstart\",handler,{capture:true});return()=>window.removeEventListener(\"touchstart\",handler,{capture:true});},[]);const hydrateVideo=centerIdx=>{const span=Math.max(0,loadAhead);for(let i=centerIdx-span;i<=centerIdx+span;i++){const idx=(i+normalized.length)%normalized.length;const v=videoRefs.current[idx];if(!v||v.dataset.hydrated===\"1\")continue;const srcDef=normalized[idx];// Supprime d’éventuels enfants et ajoute les <source> nécessaires\nwhile(v.firstChild)v.removeChild(v.firstChild);if(srcDef.webm){const s=document.createElement(\"source\");s.type=\"video/webm\";s.src=srcDef.webm;v.appendChild(s);}if(srcDef.mp4){const s=document.createElement(\"source\");s.type=\"video/mp4\";s.src=srcDef.mp4;v.appendChild(s);}v.load()// commence le fetch maintenant que les sources existent\n;v.dataset.hydrated=\"1\";}};const safePlay=async video=>{try{await video.play();}catch{// Autoplay peut être bloqué → on ignore; le touch-fallback ci-dessus aide sur iOS\n}};return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"100%\",position:\"relative\",perspective:\"1000px\",overflow:\"hidden\",zIndex:0,pointerEvents:\"auto\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n        @keyframes rotation {\n          from { transform: rotateY(0deg); }\n          to { transform: rotateY(360deg); }\n        }\n        .carousel {\n          position: absolute;\n          top: 50%;\n          left: 50%;\n          transform: translate(-50%, -50%);\n          transform-style: preserve-3d;\n          transform-origin: center center;\n          ${reduceMotion?\"\":`animation: rotation ${rotateSpeed}s infinite linear;`}\n        }\n        .carousel figure {\n          position: absolute;\n          margin: 0;\n          top: 50%;\n          left: 50%;\n          transform-origin: center center;\n          overflow: hidden;\n          transition: transform 0.5s ease;\n          backface-visibility: ${showBackface?\"visible\":\"hidden\"};\n        }\n        .carousel figure video {\n          width: 100%;\n          height: 100%;\n          object-fit: cover;\n          transition: transform 0.5s ease;\n          cursor: pointer;\n          display: block;\n          backface-visibility: ${showBackface?\"visible\":\"hidden\"};\n          border: 0;\n        }\n        .carousel figure video:hover { transform: scale(1.08); }\n        .poster {\n          width: 100%;\n          height: 100%;\n          object-fit: cover;\n          display: block;\n        }\n      `}),/*#__PURE__*/_jsx(\"div\",{className:\"carousel\",children:normalized.map((src,index)=>{const angle=index*spreadAngle;const transform=`\n            translate(-50%, -50%)\n            rotateY(${angle}deg)\n            translateZ(${translateZ}px)\n          `;const poster=typeof src===\"object\"&&src.poster?src.poster:(typeof src===\"object\"?src.mp4||src.webm:src)?.replace(/\\.(mp4|webm|ogg)(\\?.*)?$/i,\".jpg\");return /*#__PURE__*/_jsx(\"figure\",{\"data-idx\":index,ref:el=>figRefs.current[index]=el,style:{width:videoWidth,height:videoHeight,transform,borderRadius},children:mobileStatic?/*#__PURE__*/_jsx(\"img\",{src:poster,alt:\"\",className:\"poster\",style:{borderRadius},draggable:false}):/*#__PURE__*/_jsx(\"video\",{ref:el=>videoRefs.current[index]=el,// Pas de src direct → hydraté en lazy via IntersectionObserver\nposter:poster,muted:true,loop:true,playsInline:true,autoPlay:true,preload:\"none\",disablePictureInPicture:true,controlsList:\"nodownload noplaybackrate\",style:{borderRadius},onMouseEnter:e=>!reduceMotion&&safePlay(e.currentTarget),onFocus:e=>!reduceMotion&&safePlay(e.currentTarget)})},index);})})]});}// Canvas preview defaults (can be overridden by Fill)\nThreeDGallery.defaultProps={width:1200,height:400,videos:[],videoWidth:186,videoHeight:116,rotateSpeed:20,translateZ:288,borderRadius:5,showBackface:true,lazyLoad:true,mobileStatic:false,loadAhead:1};addPropertyControls(ThreeDGallery,{videos:{type:ControlType.Array,propertyControl:{// Objet { mp4?, webm?, poster? } OU string (mp4)\ntype:ControlType.Object,controls:{mp4:{type:ControlType.File,allowedFileTypes:[\"mp4\"]},webm:{type:ControlType.File,allowedFileTypes:[\"webm\"]},poster:{type:ControlType.File,allowedFileTypes:[\"jpg\",\"jpeg\",\"png\",\"webp\"]}}},defaultValue:[{mp4:\"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4\",webm:\"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm\"},{mp4:\"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4\",webm:\"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm\"},{mp4:\"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4\",webm:\"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm\"},{mp4:\"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4\",webm:\"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm\"}]},videoWidth:{type:ControlType.Number,defaultValue:186,min:50,max:600},videoHeight:{type:ControlType.Number,defaultValue:116,min:50,max:600},rotateSpeed:{type:ControlType.Number,defaultValue:20,min:1,max:60,unit:\"s\"},translateZ:{type:ControlType.Number,defaultValue:288,min:100,max:800,unit:\"px\"},borderRadius:{type:ControlType.Number,defaultValue:5,min:0,max:50,unit:\"px\"},showBackface:{type:ControlType.Boolean,defaultValue:true,title:\"Show Backface\"},lazyLoad:{type:ControlType.Boolean,defaultValue:true,title:\"Lazy Load\"},mobileStatic:{type:ControlType.Boolean,defaultValue:false,title:\"Mobile: Video On\"},loadAhead:{type:ControlType.Number,defaultValue:1,min:0,max:3,displayStepper:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ThreeDGallery\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Carousel_3D.map","function addUniqueItem(t,e){-1===t.indexOf(e)&&t.push(e)}function removeItem(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const clamp=(t,e,n)=>Math.min(Math.max(n,t),e);const t={duration:.3,delay:0,endDelay:0,repeat:0,easing:\"ease\"};const isNumber=t=>\"number\"===typeof t;const isString=t=>\"string\"===typeof t;const isEasingGenerator=t=>\"object\"===typeof t&&Boolean(t.createAnimation);const isCubicBezier=t=>Array.isArray(t)&&isNumber(t[0]);const isEasingList=t=>Array.isArray(t)&&!isNumber(t[0]);const wrap=(t,e,n)=>{const o=e-t;return((n-t)%o+o)%o+t};function getEasingForSegment(t,e){return isEasingList(t)?t[wrap(0,t.length,e)]:t}const mix=(t,e,n)=>-n*t+n*e+t;const noop=()=>{};const noopReturn=t=>t;const progress=(t,e,n)=>e-t===0?1:(n-t)/(e-t);function fillOffset(t,e){const n=t[t.length-1];for(let o=1;o<=e;o++){const s=progress(0,e,o);t.push(mix(n,1,s))}}function defaultOffset(t){const e=[0];fillOffset(e,t-1);return e}function interpolate(t,e=defaultOffset(t.length),n=noopReturn){const o=t.length;const s=o-e.length;s>0&&fillOffset(e,s);return s=>{let r=0;for(;r<o-2;r++)if(s<e[r+1])break;let f=clamp(0,1,progress(e[r],e[r+1],s));const c=getEasingForSegment(n,r);f=c(f);return mix(t[r],t[r+1],f)}}const e={ms:t=>1e3*t,s:t=>t/1e3};\n/*\n  Convert velocity into velocity per second\n\n  @param [number]: Unit per frame\n  @param [number]: Frame duration in ms\n*/function velocityPerSecond(t,e){return e?t*(1e3/e):0}export{addUniqueItem,clamp,defaultOffset,t as defaults,fillOffset,getEasingForSegment,interpolate,isCubicBezier,isEasingGenerator,isEasingList,isNumber,isString,mix,noop,noopReturn,progress,removeItem,e as time,velocityPerSecond,wrap};\n\n//# sourceMappingURL=index.es.js.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{Children,useCallback,useEffect,useState,useRef,cloneElement,startTransition,useId}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{scroll,resize}from\"@motionone/dom\";import{clamp}from\"@motionone/utils\";import{animate,motion,useMotionValue,useTransform,useReducedMotion,LayoutGroup}from\"framer-motion\";import{usePadding,paddingControl}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";/**\n * Calculate the width of the fade mask. Fade width and inset are provided\n * as percentages. There's a fade on the left and the right, so we return\n * a maximum of 50%.\n */function calcMaskWidth([inset,width]){return inset+(100-inset)*(width/100)*.5;}/**\n * Use media queries to determine if this device uses a mouse as\n * the primary input.\n * TODO: Commented out because of https://framer-team.slack.com/archives/C01B14R6E22/p1745051842676819\n *//*function useIsMouse() {\n    const [isMouseDevice, setIsMouseDevice] = useState(false)\n\n    useLayoutEffect(() => {\n        setIsMouseDevice(window.matchMedia(\"(pointer:fine)\").matches)\n    }, [])\n\n    return isMouseDevice\n}*//**\n * This checks a scroll position against the available scrollable\n * range. If we have hit an edge, start/end, we fade out the pagination\n * controls and mask. Likewise if we've just moved away from an edge we\n * fade them back in.\n */function checkLimit(progress,target,{edgeOpacity,moreItems,buttonRef},transition){if(moreItems.current&&progress===target){moreItems.current=false;animate(edgeOpacity,1,transition);buttonRef.current?.setAttribute(\"disabled\",\"\");}else if(!moreItems.current&&progress!==target){moreItems.current=true;animate(edgeOpacity,0,transition);buttonRef.current?.removeAttribute(\"disabled\");}}function useGUI(initialMoreItems,initialAlpha){const moreItems=useRef(initialMoreItems);const edgeOpacity=useMotionValue(moreItems.current?0:1);const fadeOpacity=useTransform(edgeOpacity,[0,1],[initialAlpha||0,1]);const buttonOpacity=useTransform(edgeOpacity,v=>1-v);const buttonRef=useRef(null);/**\n     * Returns a pointer-events CSS value for a given opacity.\n     * The threshold here is arbitrary, the theory being we\n     * should only enable pointer-events when the button is\n     * somewhat visible.\n     */const pointerEvents=useTransform(buttonOpacity,v=>v>.2?\"auto\":\"none\");/**\n     * Returns a cursor CSS value for a given pointer-events value.\n     * So only indicate\n     */const cursor=useTransform(pointerEvents,v=>v===\"auto\"?\"pointer\":\"default\");const buttonStyle={...baseButtonStyles,opacity:buttonOpacity,pointerEvents,cursor};return{moreItems,fadeOpacity,edgeOpacity,buttonStyle,buttonRef};}function setAriaVisible({element}){element.setAttribute(\"aria-hidden\",false);}function useScrollLimits(container,axis,directionModifier,scrollInfo,updateCurrentScroll,targetScroll,checkLimits,measureItems){useEffect(()=>{if(!container.current)return;const updateScrollInfo=info=>{scrollInfo.current=info[axis];/**\n             * If we've reached our target scroll, delete it.\n             * This way we know when to make calculations based on the\n             * actual current scroll or the target scroll.\n             */if(info[axis].current*directionModifier===targetScroll.current){targetScroll.current=undefined;}updateCurrentScroll(info[axis].current);checkLimits();};const stopScroll=scroll(updateScrollInfo,{container:container.current,axis});const stopResize=resize(container.current,()=>{measureItems();checkLimits();});return()=>{stopScroll();stopResize();};},[checkLimits,measureItems]);}/**\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n *\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function Carousel({slots,gap,axis,align,sizingObject,fadeObject,arrowObject,snapObject,progressObject,ariaLabel,borderRadius,effectsObject,...props}){// Remove empty slots (such as hidden layers)\nconst filteredSlots=slots?.filter(Boolean);const numItems=Children.count(filteredSlots);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const writingDirection=useWritingDirection();/**\n     * For RTL the items lay out right to left and therefore scroll will be negative. We\n     * flip the sign on the value to avoid overcomplicating things with negative pages etc\n     */const directionModifier=axis&&writingDirection===\"rtl\"?-1:1;const padding=usePadding(props);const axisLabel=axis?\"x\":\"y\";const{fadeContent,fadeWidth,fadeInset,fadeTransition,fadeAlpha}=fadeObject;const{snap,snapEdge,fluid}=snapObject;const{widthType,widthInset,widthColumns,heightType,heightInset,heightRows}=sizingObject;const{showScrollbar,showProgressDots,dotSize,dotsInset,dotsRadius,dotsPadding,dotsGap,dotsFill,dotsBackground,dotsActiveOpacity,dotsOpacity,dotsBlur}=progressObject;const{showMouseControls,arrowSize,arrowRadius,arrowFill,leftArrow,rightArrow,arrowPadding}=arrowObject;/**\n     * The latest scroll info on the scrollable axis as reported by Motion One.\n     */const scrollInfo=useRef(undefined);/**\n     * The target scroll we're currently animating to, calculated when\n     * a user presses a pagination button.\n     */const targetScroll=useRef(undefined);/**\n     * If we're performing a scroll animation, return the target scroll instead\n     * of the latest scroll position. This will help users paginate through\n     * a carousel much quicker.\n     */const currentScroll=useMotionValue(0);const updateCurrentScroll=newScroll=>{currentScroll.set(targetScroll.current!==undefined?targetScroll.current:newScroll);};/**\n     * We only want to display pagination buttons if the user has enabled the setting\n     * and this is actually a mouse device.\n     * TODO: Commented out because of https://framer-team.slack.com/archives/C01B14R6E22/p1745051842676819\n     *///const isMouseDevice = useIsMouse()\n/**\n     * Create all the motion values for the GUI at each end of the carousel.\n     */const start=useGUI(writingDirection===\"rtl\",fadeAlpha);const end=useGUI(writingDirection!==\"rtl\",fadeAlpha);const startMaskInset=useMotionValue(fadeInset*.5);const endMaskInset=useTransform(startMaskInset,v=>100-v);const baseWidth=useMotionValue(fadeWidth);const startMaskWidth=useTransform([startMaskInset,baseWidth],calcMaskWidth);const endMaskWidth=useTransform(startMaskWidth,v=>100-v);const direction=useMotionValue(axis?\"right\":\"bottom\");const mask=useTransform([direction,start.fadeOpacity,startMaskInset,startMaskWidth,end.fadeOpacity,endMaskInset,endMaskWidth],latest=>{return`linear-gradient(to ${latest[0]}, rgb(0, 0, 0, ${latest[1]}) ${latest[2]}%, rgb(0, 0, 0, 1) ${latest[3]}%, rgba(0, 0, 0, 1) ${latest[6]}%, rgb(0, 0, 0, ${latest[4]}) ${latest[5]}%)`;});const carouselRef=useRef(null);/**\n     * Dots state\n     */const[numPages,setNumPages]=useState(isCanvas?4:1);/**\n     * Generate styles for components.\n     */const itemStyle={scrollSnapAlign:snapEdge,flexShrink:0};const childStyle={};if(align===\"stretch\"){if(axis){childStyle.height=\"100%\";itemStyle.height=\"auto\";}else{childStyle.width=\"100%\";itemStyle.width=\"auto\";}}if(!fluid){itemStyle.scrollSnapStop=\"always\";}if(widthType===\"stretch\"){itemStyle.width=`calc(100% - ${widthInset||0}px)`;childStyle.width=\"100%\";}else if(widthType===\"columns\"){itemStyle.width=`calc(${100/widthColumns}% - ${gap}px + ${gap/widthColumns}px)`;childStyle.width=\"100%\";}if(heightType===\"stretch\"){itemStyle.height=`calc(100% - ${heightInset||0}px)`;childStyle.height=\"100%\";}else if(heightType===\"rows\"){itemStyle.height=`calc(${100/heightRows}% - ${gap}px + ${gap/heightRows}px)`;childStyle.height=\"100%\";}const scrollOverflow=isCanvas?\"hidden\":\"auto\";const containerStyle={...baseContainerStyle,padding};const carouselStyle={...baseCarouselStyle,gap,alignItems:align,flexDirection:axis?\"row\":\"column\",overflowX:axis?scrollOverflow:\"hidden\",overflowY:axis?\"hidden\":scrollOverflow,scrollSnapType:snap?`${axisLabel} mandatory`:undefined,WebkitOverflowScrolling:\"touch\",WebkitMaskImage:fadeContent?mask:undefined,maskImage:fadeContent?mask:undefined,borderRadius};const carouselA11y={[\"aria-roledescription\"]:\"carousel\"};if(ariaLabel){carouselA11y[\"aria-title\"]=ariaLabel;}const itemA11y={};if(align===\"stretch\"){itemA11y[\"aria-role\"]=\"group\";itemA11y[\"aria-roledescription\"]=\"slide\";}if(!isCanvas){const itemSizes=useRef([]);useScrollLimits(carouselRef,axisLabel,directionModifier,scrollInfo,updateCurrentScroll,targetScroll,useCallback(()=>{if(!scrollInfo.current)return;const{targetLength,containerLength,scrollLength}=scrollInfo.current;const current=currentScroll.get();if(!targetLength&&!containerLength)return;if(targetLength>containerLength){checkLimit(current*directionModifier,0,start,fadeTransition);checkLimit(current*directionModifier,scrollLength,end,fadeTransition);for(let i=0;i<itemSizes.current.length;i++){const{element,start,end}=itemSizes.current[i];const outOfView=end<current||start>current+containerLength;element.setAttribute(\"aria-hidden\",outOfView);if(!outOfView){element.querySelectorAll(\"button,a\").forEach(el=>{const orig=el.dataset.origTabIndex;if(orig)el.tabIndex=orig;else el.removeAttribute(\"tabIndex\");});}else{element.querySelectorAll(\"button,a\").forEach(el=>{const orig=el.getAttribute(\"tabIndex\");if(orig)el.dataset.origTabIndex=orig;el.tabIndex=-1;});}}}else{checkLimit(0,0,start,fadeTransition);checkLimit(1,1,end,fadeTransition);itemSizes.current.forEach(setAriaVisible);}// This used to be Math.ceil, which would round 3.05 to 4.\n// This now uses Math.round to ensure people get a perfect amount of dots\n// when using Columns or Rows — Benjamin\n/**\n                 * Update by Matt: changing back to ceil, might break dots but round was incorrectly\n                 * paginating for all widths - overshooting items at shorter viewports and\n                 * not paginating at all for wide.\n                 */let newNumPages=Math.ceil(targetLength/containerLength);if(!isNaN(newNumPages)){// If the number of dots is 65% of the number of items, make it 100%\nif(newNumPages/numItems>.65)newNumPages=numItems;if(newNumPages!==numPages)setNumPages(newNumPages);}},[numPages]),useCallback(()=>{if(!carouselRef.current)return;itemSizes.current=Array.from(carouselRef.current.children).map(element=>{return axis?{element,start:element.offsetLeft,end:element.offsetLeft+element.offsetWidth}:{element,start:element.offsetTop,end:element.offsetTop+element.offsetHeight};});},[]));}/**\n     * On the canvas, we want to keep the motion values updated\n     * with the latest props. Outside of the canvas these will never\n     * update.\n     */if(isCanvas){useEffect(()=>{baseWidth.set(fadeWidth);},[fadeWidth]);useEffect(()=>{startMaskInset.set(fadeInset*.5);},[fadeInset]);useEffect(()=>{direction.set(axis?\"right\":\"bottom\");},[axis]);}/*const findNextItem = (delta: 1 | -1, target: number) => {\n        if (!scrollInfo.current) return\n        const { current } = scrollInfo.current\n        const { children } = carouselRef.current\n        let scrollTarget\n\n        let i = delta === 1 ? 0 : children.length - 1\n        while (scrollTarget === undefined) {\n            const item = children[i]\n\n            const start = axis ? item.offsetLeft : item.offsetTop\n            const length = axis ? item.offsetWidth : item.offsetHeight\n            const end = start + length\n\n            const threshold = 0.05\n            if (delta === 1) {\n                const visibility = progress(start, end, target)\n                if (visibility < 1 - threshold) {\n                    scrollTarget = start\n                } else if (i === children.length - 1) {\n                    scrollTarget = end\n                }\n            } else if (delta === -1) {\n                const visibility = progress(start, end, target)\n                if (visibility > threshold) {\n                    scrollTarget = end\n                } else if (i === 0) {\n                    scrollTarget = start\n                }\n            }\n\n            i += delta\n        }\n\n        return scrollTarget\n    }*/const isReducedMotion=useReducedMotion();const goto=scrollTo=>{targetScroll.current=scrollTo;const options=axis?{left:scrollTo}:{top:scrollTo};carouselRef.current.scrollTo({...options,behavior:isReducedMotion?\"auto\":\"smooth\"});};const gotoPage=(page,adjustment=0)=>{if(!scrollInfo.current)return;const{scrollLength}=scrollInfo.current;const totalLen=scrollLength/(numPages-1);goto((page*totalLen+adjustment*totalLen)*directionModifier);};const gotoDelta=delta=>()=>{if(!scrollInfo.current)return;const{containerLength,scrollLength}=scrollInfo.current;const current=currentScroll.get()*directionModifier;const pageLength=scrollLength/numPages;const currentPage=clamp(0,numPages-1,Math.floor(current/pageLength));let adjustment=0;if(snap&&(snapEdge===\"start\"||snapEdge===\"end\")&&delta>=1)adjustment=.4// this ensures it doesn't snap back to previous page*/\n    ;gotoPage(currentPage+delta,adjustment);};/**\n     * Return placeholder if no children\n     */if(numItems===0){return /*#__PURE__*/_jsx(Placeholder,{});}const dots=[];const dotsBlurStyle={};if(numPages>1&&showProgressDots&&!showScrollbar){for(let i=0;i<numPages;i++){const isSelected=isCanvas&&!i||false;dots.push(/*#__PURE__*/_jsx(Dot,{dotStyle:{...dotStyle,width:dotSize,height:dotSize,backgroundColor:dotsFill},buttonStyle:baseButtonStyles,isSelected:isSelected,selectedOpacity:dotsActiveOpacity,opacity:dotsOpacity,onClick:()=>startTransition(()=>gotoPage(i)),currentScroll:currentScroll,scrollInfo:scrollInfo,total:numPages,index:i,gap:dotsGap,padding:dotsPadding,axis:axis,directionModifier:directionModifier}));}if(dotsBlur){dotsBlurStyle.backdropFilter=dotsBlurStyle.WebkitBackdropFilter=`blur(${dotsBlur}px)`;}}const leftArrowSrc=leftArrow||\"https://framerusercontent.com/images/6tTbkXggWgQCAJ4DO2QEdXXmgM.svg\";const rightArrowSrc=rightArrow||\"https://framerusercontent.com/images/11KSGbIZoRSg4pjdnUoif6MKHI.svg\";return /*#__PURE__*/_jsxs(\"section\",{style:containerStyle,...carouselA11y,children:[/*#__PURE__*/_jsx(motion.ul,{ref:carouselRef,style:carouselStyle,className:\"framer--carousel\",\"data-show-scrollbar\":showScrollbar,\"aria-atomic\":\"false\",\"aria-live\":\"polite\",onWheel:()=>targetScroll.current=undefined,children:Children.map(filteredSlots,(child,index)=>/*#__PURE__*/_jsx(AutoIdLayoutGroup,{inherit:\"id\",children:/*#__PURE__*/_jsx(\"li\",{style:itemStyle,...itemA11y,\"aria-label\":`${index+1} of ${numItems}`,children:/*#__PURE__*/cloneElement(child,{...child.props,style:{...child.props?.style,...childStyle}})})}))}),/*#__PURE__*/_jsxs(\"fieldset\",{style:{...controlsStyles,padding:arrowPadding,display:\"flex\",flexDirection:axis?\"row\":\"column\"},\"aria-label\":\"Carousel pagination controls\",className:\"framer--carousel-controls\",\"data-show-mouse-controls\":showMouseControls,children:[// isMouseDevice &&\n/*#__PURE__*/_jsx(motion.button,{ref:start.buttonRef,type:\"button\",style:{...start.buttonStyle,backgroundColor:arrowFill,width:arrowSize,height:arrowSize,borderRadius:arrowRadius,rotate:!axis?90:0,display:showMouseControls?\"block\":\"none\"},onClick:gotoDelta(-1),\"aria-label\":\"Previous\",whileTap:{scale:.9},transition:{duration:.05},children:/*#__PURE__*/_jsx(\"img\",{decoding:\"async\",alt:\"\",width:arrowSize,height:arrowSize,src:writingDirection===\"rtl\"&&axis?rightArrowSrc:leftArrowSrc})}),// isMouseDevice &&\n/*#__PURE__*/_jsx(motion.button,{ref:end.buttonRef,type:\"button\",style:{...end.buttonStyle,backgroundColor:arrowFill,width:arrowSize,height:arrowSize,borderRadius:arrowRadius,rotate:!axis?90:0,display:showMouseControls?\"block\":\"none\"},onClick:gotoDelta(1),\"aria-label\":\"Next\",whileTap:{scale:.9},transition:{duration:.05},children:/*#__PURE__*/_jsx(\"img\",{decoding:\"async\",alt:\"\",width:arrowSize,height:arrowSize,src:writingDirection===\"rtl\"&&axis?leftArrowSrc:rightArrowSrc})}),dots.length>1?/*#__PURE__*/_jsx(\"div\",{style:{...dotsContainerStyle,left:axis?\"50%\":dotsInset,top:!axis?\"50%\":\"unset\",transform:axis?\"translateX(-50%)\":\"translateY(-50%)\",flexDirection:axis?\"row\":\"column\",bottom:axis?dotsInset:\"unset\",borderRadius:dotsRadius,backgroundColor:dotsBackground,...dotsBlurStyle},children:dots}):null]}),/*#__PURE__*/_jsx(MouseStyles,{})]});}/* Default Properties */Carousel.defaultProps={gap:10,padding:10,progressObject:{showScrollbar:false,showProgressDots:false},sizingObject:{widthType:\"auto\",widthOffset:0,widthColumns:2,heightType:\"auto\",heightOffset:0,heightRows:2},borderRadius:0};/* Property Controls */addPropertyControls(Carousel,{slots:{type:ControlType.Array,title:\"Children\",control:{type:ControlType.ComponentInstance}},axis:{type:ControlType.Enum,title:\"Direction\",options:[true,false],optionIcons:[\"direction-horizontal\",\"direction-vertical\"],displaySegmentedControl:true},align:{type:ControlType.Enum,title:\"Align\",options:[\"flex-start\",\"center\",\"flex-end\"],optionIcons:{axis:{true:[\"align-top\",\"align-middle\",\"align-bottom\"],false:[\"align-left\",\"align-center\",\"align-right\"]}},defaultValue:\"center\",displaySegmentedControl:true},gap:{type:ControlType.Number,title:\"Gap\"},...paddingControl,sizingObject:{type:ControlType.Object,title:\"Sizing\",controls:{widthType:{type:ControlType.Enum,title:\"Width\",options:[\"auto\",\"stretch\",\"columns\"],optionTitles:[\"Auto\",\"Stretch\",\"Columns\"],defaultValue:\"auto\"},widthInset:{type:ControlType.Number,title:\"Inset\",min:0,max:500,defaultValue:0,hidden:props=>props.widthType!==\"stretch\"},widthColumns:{type:ControlType.Number,title:\"Columns\",min:1,max:10,defaultValue:2,displayStepper:true,hidden:props=>props.widthType!==\"columns\"},heightType:{type:ControlType.Enum,title:\"Height\",options:[\"auto\",\"stretch\",\"rows\"],optionTitles:[\"Auto\",\"Stretch\",\"Rows\"],defaultValue:\"auto\"},heightInset:{type:ControlType.Number,title:\"Inset\",min:0,max:500,defaultValue:0,hidden:props=>props.heightType!==\"stretch\"},heightRows:{type:ControlType.Number,title:\"Rows\",min:1,max:10,defaultValue:2,displayStepper:true,hidden:props=>props.heightType!==\"rows\"}}},snapObject:{type:ControlType.Object,title:\"Snapping\",controls:{snap:{type:ControlType.Boolean,title:\"Enable\"},snapEdge:{type:ControlType.Enum,title:\"Edge\",options:[\"start\",\"center\",\"end\"],optionTitles:[\"Left\",\"Center\",\"Right\"],defaultValue:\"center\",hidden:props=>!props.snap},fluid:{type:ControlType.Boolean,title:\"Fluid\",defaultValue:false,hidden:props=>!props.snap}}},fadeObject:{type:ControlType.Object,title:\"Fading\",controls:{fadeContent:{type:ControlType.Boolean,title:\"Enable\",defaultValue:false},fadeWidth:{type:ControlType.Number,title:\"Width\",defaultValue:25,min:0,max:100,unit:\"%\",hidden:props=>!props.fadeContent},fadeInset:{type:ControlType.Number,title:\"Inset\",defaultValue:0,min:0,max:100,unit:\"%\",hidden:props=>!props.fadeContent},fadeAlpha:{type:ControlType.Number,title:\"Opacity\",hidden:props=>!props.fadeContent,min:0,max:1,step:.05,defaultValue:0},fadeTransition:{type:ControlType.Transition,title:\"Transition\",hidden:props=>!props.fadeContent}}},progressObject:{type:ControlType.Object,title:\"Progress\",controls:{showScrollbar:{type:ControlType.Boolean,title:\"Scroll Bar\",defaultValue:false},showProgressDots:{type:ControlType.Boolean,title:\"Dots\",defaultValue:false,hidden:props=>props.showScrollbar},dotSize:{type:ControlType.Number,title:\"Size\",min:1,max:100,defaultValue:10,displayStepper:true,hidden:props=>!props.showProgressDots||props.showScrollbar},dotsInset:{type:ControlType.Number,title:\"Inset\",min:0,max:100,defaultValue:10,displayStepper:true,hidden:props=>!props.showProgressDots||props.showScrollbar},dotsGap:{type:ControlType.Number,title:\"Gap\",min:0,max:100,defaultValue:10,displayStepper:true,hidden:props=>!props.showProgressDots||props.showScrollbar},dotsPadding:{type:ControlType.Number,title:\"Padding\",min:0,max:100,defaultValue:10,displayStepper:true,hidden:props=>!props.showProgressDots||props.showScrollbar},dotsFill:{type:ControlType.Color,title:\"Fill\",defaultValue:\"#fff\",hidden:props=>!props.showProgressDots||props.showScrollbar},dotsBackground:{type:ControlType.Color,title:\"Backdrop\",defaultValue:\"rgba(0,0,0,0.2)\",hidden:props=>!props.showProgressDots||props.showScrollbar},dotsRadius:{type:ControlType.Number,title:\"Radius\",min:0,max:200,defaultValue:50,hidden:props=>!props.showProgressDots||props.showScrollbar},dotsOpacity:{type:ControlType.Number,title:\"Opacity\",min:0,max:1,defaultValue:.5,step:.1,displayStepper:true,hidden:props=>!props.showProgressDots||props.showScrollbar},dotsActiveOpacity:{type:ControlType.Number,title:\"Current\",min:0,max:1,defaultValue:1,step:.1,displayStepper:true,hidden:props=>!props.showProgressDots||props.showScrollbar},dotsBlur:{type:ControlType.Number,title:\"Blur\",min:0,max:50,defaultValue:4,step:1,hidden:props=>!props.showProgressDots||props.showScrollbar}}},arrowObject:{type:ControlType.Object,title:\"Arrows\",controls:{showMouseControls:{type:ControlType.Boolean,title:\"Show\",defaultValue:true},arrowFill:{type:ControlType.Color,title:\"Fill\",defaultValue:\"rgba(0,0,0,0.2)\",hidden:props=>!props.showMouseControls},leftArrow:{type:ControlType.Image,title:\"Previous\",hidden:props=>!props.showMouseControls},rightArrow:{type:ControlType.Image,title:\"Next\",hidden:props=>!props.showMouseControls},arrowSize:{type:ControlType.Number,title:\"Size\",min:0,max:200,displayStepper:true,defaultValue:40,hidden:props=>!props.showMouseControls},arrowRadius:{type:ControlType.Number,title:\"Radius\",min:0,max:500,defaultValue:40,hidden:props=>!props.showMouseControls},arrowPadding:{type:ControlType.Number,title:\"Inset\",min:0,max:100,defaultValue:20,displayStepper:true,hidden:props=>!props.showMouseControls}}},ariaLabel:{type:ControlType.String,title:\"Aria Label\",placeholder:\"Movies...\"},borderRadius:{type:ControlType.Number,title:\"Radius\",min:0,max:500,displayStepper:true,defaultValue:0}});function Dot({currentScroll,scrollInfo,isSelected,selectedOpacity,opacity:unselectedOpacity,total,index,dotStyle,buttonStyle,gap,padding,axis,directionModifier,...props}){const opacity=useTransform(currentScroll,v=>{if(!scrollInfo.current?.scrollLength){return index===0?selectedOpacity:unselectedOpacity;}const currentScroll=v*directionModifier;const pageLength=scrollInfo.current?.scrollLength/total;const minScroll=pageLength*index;const maxScroll=minScroll+pageLength;const isSelected=currentScroll>=minScroll&&(index<total-1?currentScroll<maxScroll:index===total-1);return isSelected?selectedOpacity:unselectedOpacity;});const inlinePadding=gap/2;let top=!axis&&index>0?inlinePadding:padding;let bottom=!axis&&index!==total-1?inlinePadding:padding;let right=axis&&index!==total-1?inlinePadding:padding;let left=axis&&index>0?inlinePadding:padding;return /*#__PURE__*/_jsx(\"button\",{\"aria-label\":`Scroll to page ${index+1}`,type:\"button\",...props,style:{...buttonStyle,padding:`${top}px ${right}px ${bottom}px ${left}px`},children:/*#__PURE__*/_jsx(motion.div,{style:{...dotStyle,opacity}})});}function Placeholder(){return /*#__PURE__*/_jsxs(\"section\",{style:placeholderStyles,children:[/*#__PURE__*/_jsx(\"div\",{style:emojiStyles,children:\"✨\"}),/*#__PURE__*/_jsx(\"p\",{style:titleStyles,children:\"Connect to Content\"}),/*#__PURE__*/_jsx(\"p\",{style:subtitleStyles,children:\"Add layers or components to swipe between.\"})]});}function MouseStyles(){return /*#__PURE__*/_jsx(\"div\",{dangerouslySetInnerHTML:{__html:`<style>@media (pointer: fine) {\n                .framer--carousel[data-show-scrollbar=\"false\"]::-webkit-scrollbar {\n                    display: none;\n                    -webkit-appearance: none;\n                    width: 0;\n                    height: 0;\n                }\n\n                .framer--carousel[data-show-scrollbar=\"false\"]::-webkit-scrollbar-thumb {\n                    display: none;\n                }\n\n                .framer--carousel[data-show-scrollbar=\"false\"] {\n                    scrollbar-width: none;\n                    scrollbar-height: none;\n                }\n            }</style>`}});}/* Styles */const placeholderStyles={display:\"flex\",width:\"100%\",height:\"100%\",placeContent:\"center\",placeItems:\"center\",flexDirection:\"column\",color:\"#96F\",background:\"rgba(136, 85, 255, 0.1)\",fontSize:11,overflow:\"hidden\",padding:\"20px 20px 30px 20px\"};const emojiStyles={fontSize:32,marginBottom:10};const titleStyles={margin:0,marginBottom:10,fontWeight:600,textAlign:\"center\"};const subtitleStyles={margin:0,opacity:.7,maxWidth:130,lineHeight:1.5,textAlign:\"center\"};const labelStyle={clip:\"rect(0 0 0 0)\",WebkitClipPath:\"inset(50%)\",clipPath:\"inset(50%)\",height:1,width:1,margin:-1,padding:0,overflow:\"hidden\",position:\"absolute\",whiteSpace:\"nowrap\"};/**\n * GUI styles\n */const baseContainerStyle={display:\"flex\",overflow:\"hidden\",width:\"100%\",height:\"100%\",position:\"relative\"};const baseCarouselStyle={padding:0,margin:0,listStyle:\"none\",position:\"relative\",display:\"flex\",flex:\"1 1 100%\",width:\"100%\",height:\"100%\"};const baseButtonStyles={border:\"none\",display:\"flex\",placeContent:\"center\",placeItems:\"center\",overflow:\"hidden\",background:\"transparent\",cursor:\"pointer\",margin:0,padding:0};const controlsStyles={display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",position:\"absolute\",top:0,left:0,right:0,bottom:0,pointerEvents:\"none\",border:0,padding:0,margin:0};/**\n * Dot styles\n */const dotsContainerStyle={display:\"flex\",placeContent:\"center\",placeItems:\"center\",overflow:\"hidden\",position:\"absolute\",pointerEvents:\"auto\"};const dotStyle={borderRadius:\"50%\",background:\"white\",cursor:\"pointer\",border:\"none\",placeContent:\"center\",placeItems:\"center\",padding:0};function useWritingDirection(){const[writingDirection,setWritingDirection]=useState(\"ltr\");// must be done this way to ensure that there isn't a mismatch with SSG\n// which leads to button images not updating for the real writing direction\nuseEffect(()=>{if(window?.document?.documentElement?.dir===\"rtl\"){setWritingDirection(\"rtl\");}},[]);return writingDirection;}function AutoIdLayoutGroup({children,...props}){const id=useId();return /*#__PURE__*/_jsx(LayoutGroup,{id:id,...props,children:children});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Carousel\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"400\",\"framerDisableUnlink\":\"*\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Carousel.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{resize}from\"@motionone/dom\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{animate,LayoutGroup,mix,motion,frame,useInView,useMotionValue,useTransform,wrap,usePageInView}from\"framer-motion\";import{Children,cloneElement,forwardRef,memo,startTransition,useCallback,useEffect,useLayoutEffect,useMemo,useRef,useState}from\"react\";function awaitRefCallback(element,controller){let refCallbackResolve;// we need to listen to the ref setter, so let's override `current` - we can do that, because we don't use React's `useRef` hook for those refs.\nlet current=element.current;Object.defineProperty(element,\"current\",{get(){return current;},set(node){current=node;if(node===null){// React calls with null when the element is unmounted\n// we abort here so that the promise isn't left around in case the ref is never set\ncontroller.abort();return;}refCallbackResolve?.(node);},configurable:true});// no need to create a promise if current already exists\nif(current)return current;const refCallbackPromise=new Promise((resolve,reject)=>{refCallbackResolve=resolve;controller.signal.addEventListener(\"abort\",reject);}).catch(()=>{});return refCallbackPromise;}// Using opacity: 0.001 instead of 0 as an LCP hack. (opacity: 0.001 is still 0\n// to a human eye but makes Google think the elements are visible)\nconst OPACITY_0=.001;/**\n *\n * SLIDESHOW\n * V2 with Drag\n * By Benjamin and Matt\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n *\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function Slideshow(props){/**\n     * Properties\n     */const{slots=[],startFrom,direction,effectsOptions,autoPlayControl,dragControl,alignment,gap,padding,paddingPerSide,paddingTop,paddingRight,paddingBottom,paddingLeft,itemAmount,fadeOptions,intervalControl,transitionControl,arrowOptions,borderRadius,progressOptions,style}=props;const{effectsOpacity,effectsScale,effectsRotate,effectsPerspective,effectsHover,playOffscreen}=effectsOptions;const{fadeContent,overflow,fadeWidth,fadeInset,fadeAlpha}=fadeOptions;const{showMouseControls,arrowSize,arrowRadius,arrowFill,leftArrow,rightArrow,arrowShouldSpace=true,arrowShouldFadeIn=false,arrowPosition,arrowPadding,arrowGap,arrowPaddingTop,arrowPaddingRight,arrowPaddingBottom,arrowPaddingLeft}=arrowOptions;const{showProgressDots,dotSize,dotsInset,dotsRadius,dotsPadding,dotsGap,dotsFill,dotsBackground,dotsActiveOpacity,dotsOpacity,dotsBlur}=progressOptions;const paddingValue=paddingPerSide?`${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px`:`${padding}px`;/**\n     * Checks\n     */const isCanvas=RenderTarget.current()===RenderTarget.canvas;// Remove empty slots (such as hidden layers)\nconst filteredSlots=slots.filter(Boolean);const amountChildren=Children.count(filteredSlots);const hasChildren=amountChildren>0;/**\n     * Empty state for Canvas\n     */if(!hasChildren){return /*#__PURE__*/_jsxs(\"section\",{style:placeholderStyles,children:[/*#__PURE__*/_jsx(\"div\",{style:emojiStyles,children:\"⭐️\"}),/*#__PURE__*/_jsx(\"p\",{style:titleStyles,children:\"Connect to Content\"}),/*#__PURE__*/_jsx(\"p\",{style:subtitleStyles,children:\"Add layers or components to make infinite auto-playing slideshows.\"})]});}/**\n     * Refs, State\n     */const parentRef=useRef(null);const childrenRef=useMemo(()=>{return[{current:null},{current:null}];// when the slots change, generate new array\n},[filteredSlots]);const timeoutRef=useRef(undefined);const[size,setSize]=useState({parent:null,children:null,item:null,itemWidth:null,itemHeight:null,viewportLength:null});const writingDirection=useWritingDirection();const resolvedDirection=getSlideshowResolvedDirection(direction,writingDirection);const isHorizontal=resolvedDirection===\"left\"||resolvedDirection===\"right\";const isInverted=resolvedDirection===\"right\"||resolvedDirection===\"bottom\";const rtlDirectionModifier=isHorizontal&&writingDirection===\"rtl\"?-1:1;/* For pausing on hover */const[isHovering,setIsHovering]=useState(false);const[shouldPlayOnHover,setShouldPlayOnHover]=useState(autoPlayControl);/* For cursor updates */const[isMouseDown,setIsMouseDown]=useState(false);/* Check if resizing */const[isResizing,setIsResizing]=useState(false);/**\n     * Array for children\n     */let dupedChildren=[];let duplicateBy=4;if(isCanvas){duplicateBy=1;}/**\n     * Measure parent, child, items\n     */const measure=useCallback(()=>{if(!parentRef.current)return;// Might be RTL but executing before writingDirection is set so derive from positions of elements\nconst isRTL=isHorizontal&&childrenRef[0].current&&childrenRef[1].current&&childrenRef[1].current.offsetLeft<childrenRef[0].current.offsetLeft;const firstChild=isRTL?childrenRef[1].current:childrenRef[0].current;const lastChild=isRTL?childrenRef[0].current:childrenRef[1].current;const parentLength=isHorizontal?parentRef.current.offsetWidth:parentRef.current.offsetHeight;const start=firstChild?isHorizontal?firstChild.offsetLeft:firstChild.offsetTop:0;const end=lastChild?isHorizontal?lastChild.offsetLeft+lastChild.offsetWidth:lastChild.offsetTop+lastChild.offsetHeight:0;const childrenLength=end-start+gap;const itemSize=firstChild?isHorizontal?firstChild.offsetWidth:firstChild.offsetHeight:0;const itemWidth=firstChild?firstChild.offsetWidth:0;const itemHeight=firstChild?firstChild.offsetHeight:0;const viewportLength=isHorizontal?Math.max(document.documentElement.clientWidth||0,window.innerWidth||0,parentRef.current.offsetWidth):Math.max(document.documentElement.clientHeight||0,window.innerHeight||0,parentRef.current.offsetHeight);setSize({parent:parentLength,children:childrenLength,item:itemSize,itemWidth,itemHeight,viewportLength});},[]);const scheduleMeasure=useCallback(async()=>{const controller=new AbortController;/**\n         * The elements in the set are refs of children. If they're wrapped in Suspense, they could mount later than the parent.\n         * Thus, we wait for each ref to be set step by step if required.\n         */const[firstChild,lastChild]=childrenRef;if(!isCanvas&&(!firstChild.current||!lastChild.current))try{await Promise.all([awaitRefCallback(firstChild,controller),amountChildren>1?awaitRefCallback(lastChild,controller):true]);}catch{controller.abort();}frame.read(measure,false,true);},[measure]);/**\n     * Add refs to all children\n     * Added itemAmount for resizing\n     */useLayoutEffect(()=>{scheduleMeasure();},[itemAmount]);/**\n     * Track whether this is the initial resize event. By default this will fire on mount,\n     * which we do in the useEffect. We should only fire it on subsequent resizes.\n     */const initialResize=useRef(true);useEffect(()=>{return resize(parentRef.current,({contentSize})=>{if(!initialResize.current&&(contentSize.width||contentSize.height)){scheduleMeasure();startTransition(()=>setIsResizing(true));}initialResize.current=false;});},[]);useEffect(()=>{if(isResizing){const timer=setTimeout(()=>startTransition(()=>setIsResizing(false)),500);return()=>clearTimeout(timer);}},[isResizing]);/**\n     * Animation, pagination\n     */const totalItems=filteredSlots?.length;const childrenSize=isCanvas?0:size?.children;const itemWithGap=size?.item+gap;const itemOffset=startFrom*itemWithGap;const[currentItem,setCurrentItem]=useState(startFrom+totalItems);const[isDragging,setIsDragging]=useState(false);if(isCanvas){if(currentItem!==startFrom){setCurrentItem(startFrom);}}/* Check for browser window visibility *//* Otherwise, it will re-play all the item increments */const visibilityRef=useRef(null);const isInView=useInView(visibilityRef);const isVisible=usePageInView()&&isInView;const factor=isInverted?1:-1;/* The x and y values to start from */const xOrY=useMotionValue(childrenSize);/* For canvas only. Using xOrY is slower upon page switching */const canvasPosition=isHorizontal?-startFrom*(size?.itemWidth+gap):-startFrom*(size?.itemHeight+gap);/* Calculate the new value to animate to */const newPosition=()=>factor*currentItem*itemWithGap;/* Wrapped values for infinite looping *//* Instead of 0 to a negative full duplicated row, we start with an offset */const wrappedValue=!isCanvas?useTransform(xOrY,value=>{const wrapped=wrap(-childrenSize*rtlDirectionModifier,-childrenSize*rtlDirectionModifier*2,value*rtlDirectionModifier);return isNaN(wrapped)?0:wrapped;}):0;/* Convert the current item to a wrapping index for dots */const wrappedIndex=wrap(0,totalItems,currentItem);const wrappedIndexInverted=wrap(0,-totalItems,currentItem);/* Update x or y with the provided starting point *//* The subtraction of a full row of children is for overflow */useLayoutEffect(()=>{if(size?.children===null)return;/* Initial measure */// if (initialResize.current) {\n//     xOrY.set((childrenSize + itemOffset) * factor)\n// }\n/* Subsequent resizes */if(!initialResize.current&&isResizing){xOrY.set(newPosition());}},[size,childrenSize,factor,itemOffset,currentItem,itemWithGap,isResizing]);/**\n     * Page item methods\n     * Switching, deltas, autoplaying\n     *//* Next and previous function, animates the X */const switchPages=()=>{if(isCanvas||!hasChildren||!size.parent||isDragging)return;if(xOrY.get()!==newPosition()){animate(xOrY,newPosition(),transitionControl);}if(autoPlayControl&&shouldPlayOnHover&&(playOffscreen||isVisible)){timeoutRef.current=setTimeout(()=>{startTransition(()=>setCurrentItem(item=>item+1*rtlDirectionModifier));switchPages();},intervalControl*1e3);}};/* Page navigation functions */const setDelta=(delta,transition=false)=>{if(!isInverted){if(transition)startTransition(()=>setCurrentItem(item=>item+delta));else setCurrentItem(item=>item+delta);}else{if(transition)startTransition(()=>setCurrentItem(item=>item-delta));else setCurrentItem(item=>item-delta);}};const setPage=index=>{const currentItemWrapped=wrap(0,totalItems,currentItem);const currentItemWrappedInvert=wrap(0,-totalItems,currentItem);const goto=index-currentItemWrapped;const gotoInverted=index-Math.abs(currentItemWrappedInvert);if(!isInverted){startTransition(()=>setCurrentItem(item=>item+goto));}else{startTransition(()=>setCurrentItem(item=>item-gotoInverted));}};/**\n     * Drag\n     */const handleDragStart=()=>{startTransition(()=>setIsDragging(true));};const handleDragEnd=(event,{offset,velocity})=>{startTransition(()=>setIsDragging(false));const offsetXorY=isHorizontal?offset.x:offset.y;const velocityThreshold=200// Based on testing, can be tweaked or could be 0\n;const velocityXorY=isHorizontal?velocity.x:velocity.y;const isHalfOfNext=offsetXorY<-size.item/2;const isHalfOfPrev=offsetXorY>size.item/2;/* In case you drag more than 1 item left or right */const normalizedOffset=Math.abs(offsetXorY);const itemDelta=Math.round(normalizedOffset/size.item);/* Minimum delta is 1 to initiate a page switch *//* For velocity use only */const itemDeltaFromOne=itemDelta===0?1:itemDelta;/* For quick flicks, even with low offsets */if(velocityXorY>velocityThreshold){setDelta(-itemDeltaFromOne*rtlDirectionModifier,true);}else if(velocityXorY<-velocityThreshold){setDelta(itemDeltaFromOne*rtlDirectionModifier,true);}else{/* For dragging over half of the current item with 0 velocity */if(isHalfOfNext){setDelta(itemDelta*rtlDirectionModifier,true);}if(isHalfOfPrev){setDelta(-itemDelta*rtlDirectionModifier,true);}}};/* Kickstart the auto-playing once we have all the children */useEffect(()=>{if(!isVisible||isResizing||amountChildren<=1)return;switchPages();return()=>timeoutRef.current&&clearTimeout(timeoutRef.current);},[dupedChildren,isVisible,isResizing]);/* Create copies of our children to create a perfect loop */let childCounter=0;/**\n     * Sizing\n     * */const columnOrRowValue=`calc(${100/itemAmount}% - ${gap}px + ${gap/itemAmount}px)`;/**\n     * Nested array to create duplicates of the children for infinite looping\n     * These are wrapped around, and start at a full \"page\" worth of offset\n     * as defined above.\n     */for(let index=0;index<duplicateBy;index++){dupedChildren=dupedChildren.concat(Children.map(filteredSlots,(child,childIndex)=>{let ref;if(index===0){if(childIndex===0){ref=childrenRef[0];}else if(childIndex===filteredSlots.length-1){ref=childrenRef[1];}}return /*#__PURE__*/_jsx(Slide,{ref:ref,slideKey:index+childIndex+\"lg\",index:index,width:isHorizontal?itemAmount>1?columnOrRowValue:\"100%\":\"100%\",height:!isHorizontal?itemAmount>1?columnOrRowValue:\"100%\":\"100%\",size:size,child:child,numChildren:filteredSlots?.length,wrappedValue:wrappedValue,childCounter:childCounter++,gap:gap,isCanvas:isCanvas,isHorizontal:isHorizontal,effectsOpacity:effectsOpacity,effectsScale:effectsScale,effectsRotate:effectsRotate,directionModifier:rtlDirectionModifier,children:index+childIndex},index+childIndex+\"lg\");}));}/**\n     * Fades with masks\n     */const fadeDirection=isHorizontal?\"to right\":\"to bottom\";const fadeWidthStart=fadeWidth/2;const fadeWidthEnd=100-fadeWidth/2;const fadeInsetStart=clamp(fadeInset,0,fadeWidthStart);const fadeInsetEnd=100-fadeInset;const fadeMask=`linear-gradient(${fadeDirection}, rgba(0, 0, 0, ${fadeAlpha}) ${fadeInsetStart}%, rgba(0, 0, 0, 1) ${fadeWidthStart}%, rgba(0, 0, 0, 1) ${fadeWidthEnd}%, rgba(0, 0, 0, ${fadeAlpha}) ${fadeInsetEnd}%)`;/**\n     * Dots\n     */const dots=[];const dotsBlurStyle={};if(showProgressDots){for(let i=0;i<filteredSlots?.length;i++){dots.push(/*#__PURE__*/_jsx(Dot,{dotStyle:{...dotStyle,width:dotSize,height:dotSize,backgroundColor:dotsFill},buttonStyle:baseButtonStyles,selectedOpacity:dotsActiveOpacity,opacity:dotsOpacity,onClick:()=>setPage(i),wrappedIndex:wrappedIndex,wrappedIndexInverted:wrappedIndexInverted,total:totalItems,index:i,gap:dotsGap,padding:dotsPadding,isHorizontal:isHorizontal,isInverted:isInverted},i));}if(dotsBlur>0){dotsBlurStyle.backdropFilter=dotsBlurStyle.WebkitBackdropFilter=`blur(${dotsBlur}px)`;}}const dragProps=dragControl?{drag:isHorizontal?\"x\":\"y\",onDragStart:handleDragStart,onDragEnd:handleDragEnd,dragDirectionLock:true,values:{x:writingDirection===\"rtl\"?-xOrY:xOrY,y:xOrY},dragMomentum:false}:{};const arrowHasTop=arrowPosition===\"top-left\"||arrowPosition===\"top-mid\"||arrowPosition===\"top-right\";const arrowHasBottom=arrowPosition===\"bottom-left\"||arrowPosition===\"bottom-mid\"||arrowPosition===\"bottom-right\";const arrowHasLeft=arrowPosition===\"top-left\"||arrowPosition===\"bottom-left\";const arrowHasRight=arrowPosition===\"top-right\"||arrowPosition===\"bottom-right\";const arrowHasMid=arrowPosition===\"top-mid\"||arrowPosition===\"bottom-mid\"||arrowPosition===\"auto\";const leftArrowSrc=leftArrow||\"https://framerusercontent.com/images/6tTbkXggWgQCAJ4DO2QEdXXmgM.svg?arrow=left\";const rightArrowSrc=rightArrow||\"https://framerusercontent.com/images/11KSGbIZoRSg4pjdnUoif6MKHI.svg?arrow=right\";return /*#__PURE__*/_jsxs(\"section\",{style:{...containerStyle,padding:paddingValue,WebkitMaskImage:fadeContent?fadeMask:undefined,maskImage:fadeContent?fadeMask:undefined,opacity:size?.item!==null?1:OPACITY_0,userSelect:\"none\"},onMouseEnter:()=>{setIsHovering(true);if(!effectsHover)setShouldPlayOnHover(false);},onMouseLeave:()=>{setIsHovering(false);if(!effectsHover)setShouldPlayOnHover(true);},onMouseDown:event=>{// Preventdefault fixes the cursor switching to text on drag on safari\nevent.preventDefault();startTransition(()=>setIsMouseDown(true));},onMouseUp:()=>startTransition(()=>setIsMouseDown(false)),ref:visibilityRef,children:[/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",margin:0,padding:\"inherit\",position:\"absolute\",inset:0,overflow:overflow?\"visible\":\"hidden\",borderRadius:borderRadius,userSelect:\"none\",perspective:isCanvas?\"none\":effectsPerspective},children:/*#__PURE__*/_jsx(motion.ul,{ref:parentRef,...dragProps,style:{...containerStyle,gap:gap,placeItems:alignment,x:isHorizontal?isCanvas?canvasPosition:wrappedValue:0,y:!isHorizontal?isCanvas?canvasPosition:wrappedValue:0,flexDirection:isHorizontal?\"row\":\"column\",transformStyle:effectsRotate!==0&&!isCanvas?\"preserve-3d\":undefined,cursor:dragControl?isMouseDown?\"grabbing\":\"grab\":\"auto\",userSelect:\"none\",...style},children:dupedChildren})}),/*#__PURE__*/_jsxs(\"fieldset\",{style:{...controlsStyles},\"aria-label\":\"Slideshow pagination controls\",className:\"framer--slideshow-controls\",children:[/*#__PURE__*/_jsxs(motion.div,{style:{position:\"absolute\",display:\"flex\",flexDirection:isHorizontal?\"row\":\"column\",justifyContent:arrowShouldSpace?\"space-between\":\"center\",gap:arrowShouldSpace?\"unset\":arrowGap,opacity:arrowShouldFadeIn?OPACITY_0:1,alignItems:\"center\",inset:arrowPadding,top:arrowShouldSpace?arrowPadding:arrowHasTop?arrowPaddingTop:\"unset\",left:arrowShouldSpace?arrowPadding:arrowHasLeft?arrowPaddingLeft:arrowHasMid?0:\"unset\",right:arrowShouldSpace?arrowPadding:arrowHasRight?arrowPaddingRight:arrowHasMid?0:\"unset\",bottom:arrowShouldSpace?arrowPadding:arrowHasBottom?arrowPaddingBottom:\"unset\"},animate:arrowShouldFadeIn&&{opacity:isHovering?1:OPACITY_0},transition:transitionControl,children:[/*#__PURE__*/_jsx(motion.button,{type:\"button\",style:{...baseButtonStyles,backgroundColor:arrowFill,width:arrowSize,height:arrowSize,borderRadius:arrowRadius,rotate:!isHorizontal?90:0,display:showMouseControls?\"block\":\"none\",pointerEvents:\"auto\"},onClick:()=>setDelta(-1,true),\"aria-label\":\"Previous\",whileTap:{scale:.9},transition:{duration:.15},children:/*#__PURE__*/_jsx(\"img\",{decoding:\"async\",width:arrowSize,height:arrowSize,src:isHorizontal&&writingDirection===\"rtl\"?rightArrowSrc:leftArrowSrc,alt:\"Back Arrow\"})}),/*#__PURE__*/_jsx(motion.button,{type:\"button\",style:{...baseButtonStyles,backgroundColor:arrowFill,width:arrowSize,height:arrowSize,borderRadius:arrowRadius,rotate:!isHorizontal?90:0,display:showMouseControls?\"block\":\"none\",pointerEvents:\"auto\"},onClick:()=>setDelta(1,true),\"aria-label\":\"Next\",whileTap:{scale:.9},transition:{duration:.15},children:/*#__PURE__*/_jsx(\"img\",{decoding:\"async\",width:arrowSize,height:arrowSize,src:isHorizontal&&writingDirection===\"rtl\"?leftArrowSrc:rightArrowSrc,alt:\"Next Arrow\"})})]}),dots.length>1?/*#__PURE__*/_jsx(\"div\",{style:{...dotsContainerStyle,left:isHorizontal?\"50%\":dotsInset,top:!isHorizontal?\"50%\":\"unset\",transform:isHorizontal?\"translateX(-50%)\":\"translateY(-50%)\",flexDirection:isHorizontal?\"row\":\"column\",bottom:isHorizontal?dotsInset:\"unset\",borderRadius:dotsRadius,backgroundColor:dotsBackground,userSelect:\"none\",...dotsBlurStyle},children:dots}):null]})]});}/* Default Properties */Slideshow.defaultProps={direction:\"left\",dragControl:false,startFrom:0,itemAmount:1,infinity:true,gap:10,padding:10,autoPlayControl:true,effectsOptions:{effectsOpacity:1,effectsScale:1,effectsRotate:0,effectsPerspective:1200,effectsHover:true,playOffscreen:false},transitionControl:{type:\"spring\",stiffness:200,damping:40},fadeOptions:{fadeContent:false,overflow:false,fadeWidth:25,fadeAlpha:0,fadeInset:0},arrowOptions:{showMouseControls:true,arrowShouldFadeIn:false,arrowShouldSpace:true,arrowFill:\"rgba(0,0,0,0.2)\",arrowSize:40},progressOptions:{showProgressDots:true}};/* Property Controls */addPropertyControls(Slideshow,{slots:{type:ControlType.Array,title:\"Content\",control:{type:ControlType.ComponentInstance}},direction:{type:ControlType.Enum,title:\"Direction\",options:[\"left\",\"right\",\"top\",\"bottom\"],optionIcons:[\"direction-left\",\"direction-right\",\"direction-up\",\"direction-down\"],optionTitles:[\"Left\",\"Right\",\"Top\",\"Bottom\"],displaySegmentedControl:true,defaultValue:Slideshow.defaultProps.direction},autoPlayControl:{type:ControlType.Boolean,title:\"Auto Play\",defaultValue:true},intervalControl:{type:ControlType.Number,title:\"Interval\",defaultValue:1.5,min:.5,max:10,step:.1,displayStepper:true,unit:\"s\",hidden:props=>!props.autoPlayControl},dragControl:{type:ControlType.Boolean,title:\"Draggable\",defaultValue:false},startFrom:{type:ControlType.Number,title:\"Current\",min:0,max:10,displayStepper:true,defaultValue:Slideshow.defaultProps.startFrom},effectsOptions:{type:ControlType.Object,title:\"Effects\",controls:{effectsOpacity:{type:ControlType.Number,title:\"Opacity\",defaultValue:Slideshow.defaultProps.effectsOptions.effectsOpacity,min:0,max:1,step:.01,displayStepper:true},effectsScale:{type:ControlType.Number,title:\"Scale\",defaultValue:Slideshow.defaultProps.effectsOptions.effectsScale,min:0,max:1,step:.01,displayStepper:true},effectsPerspective:{type:ControlType.Number,title:\"Perspective\",defaultValue:Slideshow.defaultProps.effectsOptions.effectsPerspective,min:200,max:2e3,step:1},effectsRotate:{type:ControlType.Number,title:\"Rotate\",defaultValue:Slideshow.defaultProps.effectsOptions.effectsRotate,min:-180,max:180,step:1},effectsHover:{type:ControlType.Boolean,title:\"On Hover\",enabledTitle:\"Play\",disabledTitle:\"Pause\",defaultValue:Slideshow.defaultProps.effectsOptions.effectsHover},playOffscreen:{type:ControlType.Boolean,title:\"Offscreen\",enabledTitle:\"Play\",disabledTitle:\"Pause\",defaultValue:Slideshow.defaultProps.effectsOptions.playOffscreen}}},alignment:{type:ControlType.Enum,title:\"Align\",options:[\"flex-start\",\"center\",\"flex-end\"],optionIcons:{direction:{right:[\"align-top\",\"align-middle\",\"align-bottom\"],left:[\"align-top\",\"align-middle\",\"align-bottom\"],top:[\"align-left\",\"align-center\",\"align-right\"],bottom:[\"align-left\",\"align-center\",\"align-right\"]}},defaultValue:\"center\",displaySegmentedControl:true},itemAmount:{type:ControlType.Number,title:\"Items\",min:1,max:10,displayStepper:true,defaultValue:Slideshow.defaultProps.itemAmount},gap:{type:ControlType.Number,title:\"Gap\",min:0},padding:{title:\"Padding\",type:ControlType.FusedNumber,toggleKey:\"paddingPerSide\",toggleTitles:[\"Padding\",\"Padding per side\"],defaultValue:0,valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},borderRadius:{type:ControlType.Number,title:\"Radius\",min:0,max:500,displayStepper:true,defaultValue:0},transitionControl:{type:ControlType.Transition,defaultValue:Slideshow.defaultProps.transitionControl,title:\"Transition\"},fadeOptions:{type:ControlType.Object,title:\"Clipping\",controls:{fadeContent:{type:ControlType.Boolean,title:\"Fade\",defaultValue:false},overflow:{type:ControlType.Boolean,title:\"Overflow\",enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:false,hidden(props){return props.fadeContent===true;}},fadeWidth:{type:ControlType.Number,title:\"Width\",defaultValue:25,min:0,max:100,unit:\"%\",hidden(props){return props.fadeContent===false;}},fadeInset:{type:ControlType.Number,title:\"Inset\",defaultValue:0,min:0,max:100,unit:\"%\",hidden(props){return props.fadeContent===false;}},fadeAlpha:{type:ControlType.Number,title:\"Opacity\",defaultValue:0,min:0,max:1,step:.05,hidden(props){return props.fadeContent===false;}}}},arrowOptions:{type:ControlType.Object,title:\"Arrows\",controls:{showMouseControls:{type:ControlType.Boolean,title:\"Show\",defaultValue:Slideshow.defaultProps.arrowOptions.showMouseControls},arrowFill:{type:ControlType.Color,title:\"Fill\",hidden:props=>!props.showMouseControls,defaultValue:Slideshow.defaultProps.arrowOptions.arrowFill},leftArrow:{type:ControlType.Image,title:\"Previous\",hidden:props=>!props.showMouseControls},rightArrow:{type:ControlType.Image,title:\"Next\",hidden:props=>!props.showMouseControls},arrowSize:{type:ControlType.Number,title:\"Size\",min:0,max:200,displayStepper:true,defaultValue:Slideshow.defaultProps.arrowOptions.arrowSize,hidden:props=>!props.showMouseControls},arrowRadius:{type:ControlType.Number,title:\"Radius\",min:0,max:500,defaultValue:40,hidden:props=>!props.showMouseControls},arrowShouldFadeIn:{type:ControlType.Boolean,title:\"Fade In\",defaultValue:false,hidden:props=>!props.showMouseControls},arrowShouldSpace:{type:ControlType.Boolean,title:\"Distance\",enabledTitle:\"Space\",disabledTitle:\"Group\",defaultValue:Slideshow.defaultProps.arrowOptions.arrowShouldSpace,hidden:props=>!props.showMouseControls},arrowPosition:{type:ControlType.Enum,title:\"Position\",options:[\"auto\",\"top-left\",\"top-mid\",\"top-right\",\"bottom-left\",\"bottom-mid\",\"bottom-right\"],optionTitles:[\"Center\",\"Top Left\",\"Top Middle\",\"Top Right\",\"Bottom Left\",\"Bottom Middle\",\"Bottom Right\"],hidden:props=>!props.showMouseControls||props.arrowShouldSpace},arrowPadding:{type:ControlType.Number,title:\"Inset\",min:-100,max:100,defaultValue:20,displayStepper:true,hidden:props=>!props.showMouseControls||!props.arrowShouldSpace},arrowPaddingTop:{type:ControlType.Number,title:\"Top\",min:-500,max:500,defaultValue:0,displayStepper:true,hidden:props=>!props.showMouseControls||props.arrowShouldSpace||props.arrowPosition===\"auto\"||props.arrowPosition===\"bottom-mid\"||props.arrowPosition===\"bottom-left\"||props.arrowPosition===\"bottom-right\"},arrowPaddingBottom:{type:ControlType.Number,title:\"Bottom\",min:-500,max:500,defaultValue:0,displayStepper:true,hidden:props=>!props.showMouseControls||props.arrowShouldSpace||props.arrowPosition===\"auto\"||props.arrowPosition===\"top-mid\"||props.arrowPosition===\"top-left\"||props.arrowPosition===\"top-right\"},arrowPaddingRight:{type:ControlType.Number,title:\"Right\",min:-500,max:500,defaultValue:0,displayStepper:true,hidden:props=>!props.showMouseControls||props.arrowShouldSpace||props.arrowPosition===\"auto\"||props.arrowPosition===\"top-left\"||props.arrowPosition===\"top-mid\"||props.arrowPosition===\"bottom-left\"||props.arrowPosition===\"bottom-mid\"},arrowPaddingLeft:{type:ControlType.Number,title:\"Left\",min:-500,max:500,defaultValue:0,displayStepper:true,hidden:props=>!props.showMouseControls||props.arrowShouldSpace||props.arrowPosition===\"auto\"||props.arrowPosition===\"top-right\"||props.arrowPosition===\"top-mid\"||props.arrowPosition===\"bottom-right\"||props.arrowPosition===\"bottom-mid\"},arrowGap:{type:ControlType.Number,title:\"Gap\",min:0,max:100,defaultValue:10,displayStepper:true,hidden:props=>!props.showMouseControls||props.arrowShouldSpace}}},progressOptions:{type:ControlType.Object,title:\"Dots\",controls:{showProgressDots:{type:ControlType.Boolean,title:\"Show\",defaultValue:false},dotSize:{type:ControlType.Number,title:\"Size\",min:1,max:100,defaultValue:10,displayStepper:true,hidden:props=>!props.showProgressDots||props.showScrollbar},dotsInset:{type:ControlType.Number,title:\"Inset\",min:-100,max:100,defaultValue:10,displayStepper:true,hidden:props=>!props.showProgressDots||props.showScrollbar},dotsGap:{type:ControlType.Number,title:\"Gap\",min:0,max:100,defaultValue:10,displayStepper:true,hidden:props=>!props.showProgressDots||props.showScrollbar},dotsPadding:{type:ControlType.Number,title:\"Padding\",min:0,max:100,defaultValue:10,displayStepper:true,hidden:props=>!props.showProgressDots||props.showScrollbar},dotsFill:{type:ControlType.Color,title:\"Fill\",defaultValue:\"#fff\",hidden:props=>!props.showProgressDots||props.showScrollbar},dotsBackground:{type:ControlType.Color,title:\"Backdrop\",defaultValue:\"rgba(0,0,0,0.2)\",hidden:props=>!props.showProgressDots||props.showScrollbar},dotsRadius:{type:ControlType.Number,title:\"Radius\",min:0,max:200,defaultValue:50,hidden:props=>!props.showProgressDots||props.showScrollbar},dotsOpacity:{type:ControlType.Number,title:\"Opacity\",min:0,max:1,defaultValue:.5,step:.1,displayStepper:true,hidden:props=>!props.showProgressDots||props.showScrollbar},dotsActiveOpacity:{type:ControlType.Number,title:\"Current\",min:0,max:1,defaultValue:1,step:.1,displayStepper:true,hidden:props=>!props.showProgressDots||props.showScrollbar},dotsBlur:{type:ControlType.Number,title:\"Blur\",min:0,max:50,defaultValue:0,step:1,hidden:props=>!props.showProgressDots||props.showScrollbar}}}});/* Placeholder Styles */const containerStyle={display:\"flex\",flexDirection:\"row\",width:\"100%\",height:\"100%\",maxWidth:\"100%\",maxHeight:\"100%\",placeItems:\"center\",margin:0,padding:0,listStyleType:\"none\",textIndent:\"none\"};/* Component Styles */const placeholderStyles={display:\"flex\",width:\"100%\",height:\"100%\",placeContent:\"center\",placeItems:\"center\",flexDirection:\"column\",color:\"#96F\",background:\"rgba(136, 85, 255, 0.1)\",fontSize:11,overflow:\"hidden\",padding:\"20px 20px 30px 20px\"};const emojiStyles={fontSize:32,marginBottom:10};const titleStyles={margin:0,marginBottom:10,fontWeight:600,textAlign:\"center\"};const subtitleStyles={margin:0,opacity:.7,maxWidth:180,lineHeight:1.5,textAlign:\"center\"};/* Control Styles */const baseButtonStyles={border:\"none\",display:\"flex\",placeContent:\"center\",placeItems:\"center\",overflow:\"hidden\",background:\"transparent\",cursor:\"pointer\",margin:0,padding:0};const controlsStyles={display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",position:\"absolute\",pointerEvents:\"none\",userSelect:\"none\",top:0,left:0,right:0,bottom:0,border:0,padding:0,margin:0};/* Clamp function, used for fadeInset */const clamp=(num,min,max)=>Math.min(Math.max(num,min),max);/* Slide Component */const Slide=/*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Component(props,ref){const{slideKey,width,height,child,size,gap,wrappedValue,numChildren,childCounter,isCanvas,effects,effectsOpacity,effectsScale,effectsRotate,isHorizontal,isLast,index,/** 1 or -1 depending on if horizontal and rtl writing direction */directionModifier}=props;const fallbackRef=useRef();/**\n         * Unique offsets + scroll range [0, 1, 1, 0]\n         */const childOffset=(size?.item+gap)*childCounter;const scrollRange=[-size?.item,0,size?.parent-size?.item+gap,size?.parent].map(val=>val-childOffset*directionModifier);/**\n         * Effects\n         */const rotateY=!isCanvas&&useTransform(wrappedValue,scrollRange,[-effectsRotate,0,0,effectsRotate]);const rotateX=!isCanvas&&useTransform(wrappedValue,scrollRange,[effectsRotate,0,0,-effectsRotate]);const opacity=!isCanvas&&useTransform(wrappedValue,scrollRange,[effectsOpacity,1,1,effectsOpacity]);const scale=!isCanvas&&useTransform(wrappedValue,scrollRange,[effectsScale,1,1,effectsScale]);const originXorY=!isCanvas&&useTransform(wrappedValue,scrollRange,[1,1,0,0]);const isVisible=!isCanvas&&useTransform(wrappedValue,latest=>latest>=scrollRange[1]&&latest<=scrollRange[2]);useEffect(()=>{if(!isVisible)return;function manageVisibility(visible){const node=ref?.current??fallbackRef.current;if(!node)return;// for a11y: Manage tabIndex on focusable descendants & aria-hidden on the parent.\nif(visible){node.querySelectorAll(\"button,a\").forEach(el=>{const orig=el.dataset.origTabIndex;if(orig)el.tabIndex=orig;else el.removeAttribute(\"tabIndex\");});}else{node.querySelectorAll(\"button,a\").forEach(el=>{const orig=el.getAttribute(\"tabIndex\");if(orig)el.dataset.origTabIndex=orig;el.tabIndex=-1;});}node.setAttribute(\"aria-hidden\",!visible);}manageVisibility(isVisible);return isVisible.on(\"change\",visible=>{manageVisibility(visible);});},[]);const visibility=isCanvas?\"visible\":useTransform(wrappedValue,[scrollRange[0]-size.viewportLength,mix(scrollRange[1],scrollRange[2],.5),scrollRange[3]+size.viewportLength],[\"hidden\",\"visible\",\"hidden\"]);const key=slideKey+\"child\";return /*#__PURE__*/_jsx(LayoutGroup,{inherit:\"id\",id:key,children:/*#__PURE__*/_jsx(\"li\",{style:{display:\"contents\"},children:/*#__PURE__*/cloneElement(child,{ref:ref??fallbackRef,key,style:{...child.props?.style,flexShrink:0,userSelect:\"none\",width,height,opacity:opacity,scale:scale,originX:isHorizontal?originXorY:.5,originY:!isHorizontal?originXorY:.5,rotateY:isHorizontal?rotateY:0,rotateX:!isHorizontal?rotateX:0,visibility},layoutId:child.props.layoutId?child.props.layoutId+\"-original-\"+index:undefined})})});}));const Dot=/*#__PURE__*/memo(function Dot({selectedOpacity,opacity,total,index,wrappedIndex,wrappedIndexInverted,dotStyle,buttonStyle,gap,padding,isHorizontal,isInverted,...props}){/* Check active item *//* Go 0—1—2—3—4—5—0 */let isSelected=wrappedIndex===index;/* Go 0—5—4—3—2—1—0—5 instead when inverted */if(isInverted){isSelected=Math.abs(wrappedIndexInverted)===index;}const inlinePadding=gap/2;const top=!isHorizontal&&index>0?inlinePadding:padding;const bottom=!isHorizontal&&index!==total-1?inlinePadding:padding;const right=isHorizontal&&index!==total-1?inlinePadding:padding;const left=isHorizontal&&index>0?inlinePadding:padding;return /*#__PURE__*/_jsx(\"button\",{\"aria-label\":`Scroll to page ${index+1}`,type:\"button\",...props,style:{...buttonStyle,padding:`${top}px ${right}px ${bottom}px ${left}px`},children:/*#__PURE__*/_jsx(motion.div,{style:{...dotStyle},initial:false,animate:{opacity:isSelected?selectedOpacity:opacity},transition:{duration:.3}})});});/* Dot Styles */const dotsContainerStyle={display:\"flex\",placeContent:\"center\",placeItems:\"center\",overflow:\"hidden\",position:\"absolute\",pointerEvents:\"auto\"};const dotStyle={borderRadius:\"50%\",background:\"white\",cursor:\"pointer\",border:\"none\",placeContent:\"center\",placeItems:\"center\",padding:0};function useWritingDirection(){const[writingDirection,setWritingDirection]=useState(\"ltr\");// must be done this way to ensure that there isn't a mismatch with SSG\n// which leads to button images not updating for the real writing direction\nuseEffect(()=>{if(window?.document?.documentElement?.dir===\"rtl\"){setWritingDirection(\"rtl\");}},[]);return writingDirection;}function getSlideshowResolvedDirection(direction,writingDirection){if(writingDirection!==\"rtl\")return direction;if(direction===\"left\")return\"right\";if(direction===\"right\")return\"left\";return direction;}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Slideshow\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerDisableUnlink\":\"*\",\"framerIntrinsicWidth\":\"400\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"200\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SlideShow.map","export function getCollectionData(collectionList){var _collectionList_props,_collectionList_props_children_props,_collectionList_props_children,_collectionList_props1,_collectionList_props_children_props_children_props,_collectionList_props_children_props_children,_collectionList_props_children_props1,_collectionList_props_children1,_collectionList_props2,_queryParent_props;let queryParent=null;if(collectionList===null||collectionList===void 0?void 0:(_collectionList_props=collectionList.props)===null||_collectionList_props===void 0?void 0:_collectionList_props.query){queryParent=collectionList;}else if(collectionList===null||collectionList===void 0?void 0:(_collectionList_props1=collectionList.props)===null||_collectionList_props1===void 0?void 0:(_collectionList_props_children=_collectionList_props1.children)===null||_collectionList_props_children===void 0?void 0:(_collectionList_props_children_props=_collectionList_props_children.props)===null||_collectionList_props_children_props===void 0?void 0:_collectionList_props_children_props.query){queryParent=collectionList.props.children;}else if(collectionList===null||collectionList===void 0?void 0:(_collectionList_props2=collectionList.props)===null||_collectionList_props2===void 0?void 0:(_collectionList_props_children1=_collectionList_props2.children)===null||_collectionList_props_children1===void 0?void 0:(_collectionList_props_children_props1=_collectionList_props_children1.props)===null||_collectionList_props_children_props1===void 0?void 0:(_collectionList_props_children_props_children=_collectionList_props_children_props1.children)===null||_collectionList_props_children_props_children===void 0?void 0:(_collectionList_props_children_props_children_props=_collectionList_props_children_props_children.props)===null||_collectionList_props_children_props_children_props===void 0?void 0:_collectionList_props_children_props_children_props.query){queryParent=collectionList.props.children.props.children;}const query=queryParent===null||queryParent===void 0?void 0:(_queryParent_props=queryParent.props)===null||_queryParent_props===void 0?void 0:_queryParent_props.query;let queryData=null;if(query===null||query===void 0?void 0:query.from){if(query.from.data){queryData=query.from.data;}else if(query.from.left){let left=query.from.left;for(let i=0;i<100;i++){if(left.type==\"Collection\"){queryData=left.data;break;}else if(left.left){left=left.left;}else{break;}}}}// Get property controls\nconst propertyControlsById=(queryData===null||queryData===void 0?void 0:queryData.propertyControls)||{};const propertyControlsByName={};for(const id in propertyControlsById){const control=propertyControlsById[id];propertyControlsByName[control.title]={id,...control};}// Get children function\nlet childrenFunction=null;if(collectionList){var _collectionList_props3,_clpc_props,_clpc_props_children_props,_clpc_props_children,_clpc_props1;const clpc=(_collectionList_props3=collectionList.props)===null||_collectionList_props3===void 0?void 0:_collectionList_props3.children;if(typeof clpc==\"function\"){childrenFunction=clpc;}else if(typeof(clpc===null||clpc===void 0?void 0:(_clpc_props=clpc.props)===null||_clpc_props===void 0?void 0:_clpc_props.children)==\"function\"){childrenFunction=clpc.props.children;}else if(typeof(clpc===null||clpc===void 0?void 0:(_clpc_props1=clpc.props)===null||_clpc_props1===void 0?void 0:(_clpc_props_children=_clpc_props1.children)===null||_clpc_props_children===void 0?void 0:(_clpc_props_children_props=_clpc_props_children.props)===null||_clpc_props_children_props===void 0?void 0:_clpc_props_children_props.children)==\"function\"){childrenFunction=clpc.props.children.props.children;}}return{query,queryParent,queryData,propertyControlsById,propertyControlsByName,childrenFunction};}export function addFieldsToSelect(fields,query,propertyControlsByName){const alias=query.alias;const select=Array.isArray(query===null||query===void 0?void 0:query.select)?[...query.select]:[];for(const fieldName of fields){var _propertyControlsByName_fieldName;const fieldId=(_propertyControlsByName_fieldName=propertyControlsByName[fieldName])===null||_propertyControlsByName_fieldName===void 0?void 0:_propertyControlsByName_fieldName.id;if(!fieldId){continue;}let matchFound=false;for(const item of select){if(item.name===fieldId&&item.type===\"Identifier\"&&item.collection===alias){matchFound=true;continue;}}if(matchFound){continue;}select.push({collection:alias,name:fieldId,type:\"Identifier\"});}return select;}\nexport const __FramerMetadata__ = {\"exports\":{\"getCollectionData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"addFieldsToSelect\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CMSLibrary.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,// @ts-ignore\ngetPropertyControls,// @ts-ignore\nuseQueryData,ControlType,RenderTarget}from\"framer\";import{cloneElement,Children}from\"react\";import{motion}from\"framer-motion\";import SlideShow from\"https://framer.com/m/SlideShow-07du.js\";import{getCollectionData}from\"https://framer.com/m/CMSLibrary-09eo.js\";const slideshowProps=getComponentProps(SlideShow);/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n */export default function CMSSlideshow(props){var _props_collectionList;const{startLayers,endLayers,...otherProps}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const items=isCanvas?[]:getCollectionListItems((_props_collectionList=props.collectionList)===null||_props_collectionList===void 0?void 0:_props_collectionList[0]);let layers=[];if(startLayers){layers=layers.concat(startLayers);}if(!isCanvas){for(let i=0;i<items.length;i++){const layer=/*#__PURE__*/cloneElement(items[i].props.children.props.children,{style:{width:\"100%\",height:\"100%\"}});layers.push(/*#__PURE__*/_jsx(motion.div,{style:{width:\"100%\",height:\"100%\"},children:layer}));}if(props.randomize){layers=shuffleArray(layers);}}else{for(let i=0;i<props.itemAmount;i++){layers.push(/*#__PURE__*/_jsx(CanvasPlaceholder,{title:\"Run project to view slideshow content\",subtitle:\"Collection List content is not accessible to the slideshow component in the editor. Run your project orvisit the live website to view the slideshow with CMS content.\"}));}}if(endLayers){layers=layers.concat(endLayers);}return /*#__PURE__*/_jsx(SlideShow,{...otherProps,slots:layers});}CMSSlideshow.displayName=\"CMS Slideshow\";addPropertyControls(CMSSlideshow,{collectionList:{type:ControlType.ComponentInstance},startLayers:{type:ControlType.Array,control:{type:ControlType.ComponentInstance},title:\"Start\"},endLayers:{type:ControlType.Array,control:{type:ControlType.ComponentInstance},title:\"End\"},randomize:{type:ControlType.Boolean,defaultValue:false,description:\"Shuffle order of CMS items\"},...slideshowProps,arrowOptions:{...slideshowProps.arrowOptions,controls:{...slideshowProps.arrowOptions.controls,arrowPadding:{...slideshowProps.arrowOptions.controls.arrowPadding,max:Infinity,min:Infinity}}}});function getComponentProps(component){const{slots,...otherProps}=getPropertyControls(component);return otherProps;}export function CanvasPlaceholder({title,subtitle}){return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",width:\"100%\",height:\"100%\",placeContent:\"center\",placeItems:\"center\",flexDirection:\"column\",backgroundColor:\"rgba(136, 85, 255, 0.1)\",borderRadius:6,border:\"1px dashed rgb(136, 85, 255)\",color:\"rgb(136, 85, 255)\",fontSize:12,padding:24},children:[/*#__PURE__*/_jsx(\"p\",{style:{margin:0,marginBottom:10,fontWeight:600,textAlign:\"center\"},children:title}),/*#__PURE__*/_jsx(\"p\",{style:{margin:0,opacity:.7,maxWidth:500,lineHeight:1.5,textAlign:\"center\"},children:subtitle})]});}function shuffleArray(array){for(let i=array.length-1;i>0;i--){const j=Math.floor(Math.random()*(i+1));[array[i],array[j]]=[array[j],array[i]];}return array;}export function getCollectionListItems(collectionList){const{query,childrenFunction}=getCollectionData(collectionList);if(query&&childrenFunction){var _clChildren_props_children,_clChildren_props,_clChildren_props1;const data=useQueryData(query);let children=[];let clChildren=childrenFunction(data);if(Array.isArray(clChildren)){children=clChildren;}else if(Array.isArray(clChildren===null||clChildren===void 0?void 0:(_clChildren_props=clChildren.props)===null||_clChildren_props===void 0?void 0:(_clChildren_props_children=_clChildren_props.children)===null||_clChildren_props_children===void 0?void 0:_clChildren_props_children[0])){children=clChildren.props.children[0];}else if(Array.isArray(clChildren===null||clChildren===void 0?void 0:(_clChildren_props1=clChildren.props)===null||_clChildren_props1===void 0?void 0:_clChildren_props1.children)){children=clChildren.props.children;}if(children){return Children.toArray(children);}}return[];}\nexport const __FramerMetadata__ = {\"exports\":{\"getCollectionListItems\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CanvasPlaceholder\":{\"type\":\"reactComponent\",\"name\":\"CanvasPlaceholder\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"CMSSlideshow\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"400\",\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CMSSlideshow.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,// @ts-ignore\ngetPropertyControls,ControlType,RenderTarget}from\"framer\";import Carousel from\"https://framer.com/m/Carousel-bt0d.js\";import{CanvasPlaceholder,getCollectionListItems}from\"https://framer.com/m/CMSSlideshow-xxTt.js@Gwq5XNGR2fw3oxqNnFeg\";/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n */export default function CMSCarousel(props){const{startLayers,endLayers,...otherProps}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const items=isCanvas?[]:getCollectionListItems(props.collectionList?.[0]);let layers=[];if(startLayers){layers=layers.concat(startLayers);}if(!isCanvas){for(let i=0;i<items.length;i++){layers.push(items[i].props.children.props.children);}}else{let count=1;if(props.axis){// Horizontal\nif(props.sizingObject.widthType==\"columns\"){count=props.sizingObject.widthColumns;}}else{// Vertical\nif(props.sizingObject.heightType==\"columns\"){count=props.sizingObject.heightColumns;}}for(let i=0;i<count;i++){layers.push(/*#__PURE__*/_jsx(CanvasPlaceholder,{title:\"Run project to view carousel content\",subtitle:\"Collection List content is not accessible to the carousel component in the editor. Run your project or visit the live website to view the carousel with CMS content.\"}));}}if(endLayers){layers=layers.concat(endLayers);}return /*#__PURE__*/_jsx(Carousel,{...otherProps,slots:layers});}CMSCarousel.displayName=\"CMS Carousel\";addPropertyControls(CMSCarousel,{collectionList:{type:ControlType.ComponentInstance},startLayers:{type:ControlType.Array,control:{type:ControlType.ComponentInstance},title:\"Start\"},endLayers:{type:ControlType.Array,control:{type:ControlType.ComponentInstance},title:\"End\"},...getComponentProps(Carousel)});function getComponentProps(component){const{slots,...otherProps}=getPropertyControls(component);return otherProps;}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CMSCarousel\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"400\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CMSCarousel.map"],"mappings":"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"}