{"version":3,"file":"Carousel.UrgPtrUp.mjs","names":["useRef","Children","useState","useCallback","startTransition","useId","__esmMin","j","z","init_ssg_sandbox_shims","te","init_npm_react_18_3_1","_e","de","ne","c","p","ie","ce","window","useMotionValue","motion","useReducedMotion","animate","LayoutGroup","init_framer_motion_DhsWWWsN","useTransform","RenderTarget","init_framer_B6PCHH0A","addPropertyControls","ControlType","resize","scroll","init_index_es$1","usePadding","paddingControl","init_default_utils_js__0_45","clamp","init_index_es","t","e","calcMaskWidth","inset","width","checkLimit","moreItems","progress","target","edgeOpacity","transition","buttonRef","useGUI","initialMoreItems","fadeOpacity","initialAlpha","buttonOpacity","v","pointerEvents","cursor","baseButtonStyles","setAriaVisible","element","useScrollLimits","container","stopScroll","info","axis","directionModifier","targetScroll","updateCurrentScroll","checkLimits","stopResize","measureItems","Carousel","props","filteredSlots","slots","numItems","isCanvas","writingDirection","useWritingDirection","padding","axisLabel","fadeObject","snapObject","sizingObject","progressObject","arrowObject","scrollInfo","currentScroll","newScroll","start","fadeAlpha","end","startMaskInset","fadeInset","endMaskInset","baseWidth","fadeWidth","startMaskWidth","endMaskWidth","direction","mask","latest","carouselRef","numPages","setNumPages","itemStyle","snapEdge","childStyle","align","fluid","widthType","widthInset","widthColumns","gap","heightType","heightInset","heightRows","scrollOverflow","containerStyle","baseContainerStyle","carouselStyle","baseCarouselStyle","snap","fadeContent","carouselA11y","ariaLabel","itemA11y","itemSizes","current","targetLength","containerLength","fadeTransition","scrollLength","i","outOfView","orig","el","newNumPages","isReducedMotion","goto","scrollTo","options","gotoPage","totalLen","page","adjustment","gotoDelta","pageLength","currentPage","delta","Placeholder","dots","dotsBlurStyle","showProgressDots","showScrollbar","isSelected","Dot","dotStyle","dotSize","dotsFill","dotsActiveOpacity","dotsOpacity","dotsGap","dotsPadding","dotsBlur","leftArrowSrc","leftArrow","rightArrowSrc","rightArrow","AutoIdLayoutGroup","index","child","controlsStyles","arrowPadding","showMouseControls","arrowFill","arrowSize","arrowRadius","dotsContainerStyle","dotsInset","dotsRadius","dotsBackground","MouseStyles","unselectedOpacity","opacity","selectedOpacity","total","minScroll","maxScroll","inlinePadding","top","bottom","right","left","buttonStyle","placeholderStyles","emojiStyles","titleStyles","subtitleStyles","setWritingDirection","id","init_Carousel","init_jsx_runtime"],"sources":["https:/ga.jspm.io/npm:@motionone/utils@10.12.0/dist/index.es.js","https:/framerusercontent.com/modules/UIrMjSS6ZX89L0CsT8k6/3dMrKtwDsHhQeeykStyV/Carousel.js"],"sourcesContent":["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"],"mappings":"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"}