{"version":3,"file":"BouncingImage.B11pgMS2.mjs","names":["Children","useRef","useMemo","useState","useCallback","size","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","className","Image","useState","useRef","React.useContext","React.useMemo","React.Fragment","useRef","React.useId","sharedStyle.className","sharedStyle1.className","className","sharedStyle.css","sharedStyle1.css","sharedStyle.fonts","sharedStyle1.fonts","useRef","useState","frame","x"],"sources":["https:/framerusercontent.com/modules/B2xAlJLcN0gOnt11mSPw/bSG2fUXcc43766cbIglD/Ticker.js","https:/framerusercontent.com/modules/o234XpMgcIb5UhohMmL0/vlOAN50uj5Ano70nNMC3/DcVr1gXgS.js","https:/framerusercontent.com/modules/pzgeVn3Im9rOb9RQhbdi/qru0ICKOq76kpQw4Uz8o/AnimatedNumber.js","https:/framerusercontent.com/modules/o0U92q02gPeWktcRR0lx/yMbaDuNwMcWpVoPc4i36/YEWsH5Cbt.js","https:/framerusercontent.com/modules/p8wi5aBaE6KP96whP12i/l0EEiaHO0Vs98Glzn8jo/BouncingImage.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{Children,useLayoutEffect,useEffect,useState,useRef,useMemo,useCallback,cloneElement}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useReducedMotion,LayoutGroup,useInView,useMotionValue,useTransform,motion,frame}from\"framer-motion\";import{resize}from\"@motionone/dom\";const MAX_DUPLICATED_ITEMS=100;const directionTransformers={left:offset=>`translateX(-${offset}px)`,right:offset=>`translateX(${offset}px)`,top:offset=>`translateY(-${offset}px)`,bottom:offset=>`translateY(${offset}px)`};/**\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n *\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function Ticker(props){/* Props */let{slots=[],gap,padding,paddingPerSide,paddingTop,paddingRight,paddingBottom,paddingLeft,speed,hoverFactor,direction,alignment,sizingOptions,fadeOptions,style}=props;const{fadeContent,overflow,fadeWidth,fadeInset,fadeAlpha}=fadeOptions;const{widthType,heightType}=sizingOptions;const paddingValue=paddingPerSide?`${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px`:`${padding}px`;/* Checks */const currentTarget=RenderTarget.current();const isCanvas=currentTarget===RenderTarget.canvas||currentTarget===RenderTarget.export;// Remove empty slots (such as hidden layers)\nconst filteredSlots=slots.filter(Boolean);const numChildren=Children.count(filteredSlots);const hasChildren=numChildren>0;if(direction===true){direction=\"left\";}const isHorizontal=direction===\"left\"||direction===\"right\";const offset=useMotionValue(0);const transformer=directionTransformers[direction];const transform=useTransform(offset,transformer);/* Refs and State */const parentRef=useRef(null);const childrenRef=useMemo(()=>{return[{current:null},{current:null}];},[]);const[size,setSize]=useState({parent:null,children:null});/* Arrays */let clonedChildren=null;let dupedChildren=[];/* Duplicate value */let duplicateBy=0;let opacity=0;if(isCanvas){duplicateBy=numChildren?Math.floor(10/numChildren):0;opacity=1;}if(!isCanvas&&hasChildren&&size.parent){duplicateBy=Math.round(size.parent/size.children*2)+1;duplicateBy=Math.min(duplicateBy,MAX_DUPLICATED_ITEMS);opacity=1;}/* Measure parent and child */const measure=useCallback(()=>{if(hasChildren&&parentRef.current){const parentLength=isHorizontal?parentRef.current.offsetWidth:parentRef.current.offsetHeight;const start=childrenRef[0].current?isHorizontal?childrenRef[0].current.offsetLeft:childrenRef[0].current.offsetTop:0;const end=childrenRef[1].current?isHorizontal?childrenRef[1].current.offsetLeft+childrenRef[1].current.offsetWidth:childrenRef[1].current.offsetTop+childrenRef[1].current.offsetHeight:0;const childrenLength=end-start+gap;setSize({parent:parentLength,children:childrenLength});}},[]);const childrenStyles=isCanvas?{contentVisibility:\"auto\"}:{};/* Add refs to first and last child */if(hasChildren){// TODO: These conditional hooks will be unsafe if hasChildren ever changes outside the canvas.\nif(!isCanvas){/**\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             */let initialResize=useRef(true);useLayoutEffect(()=>{frame.read(measure,false,true);return resize(parentRef.current,({contentSize})=>{if(!initialResize.current&&(contentSize.width||contentSize.height)){frame.read(measure,false,true);}initialResize.current=false;});},[]);}clonedChildren=Children.map(filteredSlots,(child,index)=>{let ref;if(index===0){ref=childrenRef[0];}if(index===filteredSlots.length-1){ref=childrenRef[1];}const size={width:widthType?child.props?.width:\"100%\",height:heightType?child.props?.height:\"100%\"};return /*#__PURE__*/_jsx(LayoutGroup,{inherit:\"id\",children:/*#__PURE__*/_jsx(\"li\",{ref:ref,style:size,children:/*#__PURE__*/cloneElement(child,{style:{...child.props?.style,...size,flexShrink:0,...childrenStyles},layoutId:child.props.layoutId?child.props.layoutId+\"-original-\"+index:undefined},child.props?.children)})});});}const isInView=isCanvas?true:useInView(parentRef);if(!isCanvas){for(let i=0;i<duplicateBy;i++){dupedChildren=dupedChildren.concat(Children.map(filteredSlots,(child,childIndex)=>{const size={width:widthType?child.props?.width:\"100%\",height:heightType?child.props?.height:\"100%\",willChange:!isInView?undefined:\"transform\"};return /*#__PURE__*/_jsx(LayoutGroup,{inherit:\"id\",children:/*#__PURE__*/_jsx(\"li\",{style:size,\"aria-hidden\":true,children:/*#__PURE__*/cloneElement(child,{key:i+\" \"+childIndex,style:{...child.props?.style,width:widthType?child.props?.width:\"100%\",height:heightType?child.props?.height:\"100%\",flexShrink:0,...childrenStyles},layoutId:child.props.layoutId?child.props.layoutId+\"-dupe-\"+i:undefined},child.props?.children)},i+\"li\"+childIndex)},i+\"lg\"+childIndex);}));}}const animateToValue=size.children+size.children*Math.round(size.parent/size.children);const initialTime=useRef(null);const prevTime=useRef(null);const xOrY=useRef(0);const isHover=useRef(false);const isReducedMotion=useReducedMotion();const listRef=useRef(null);const animationRef=useRef(null);/**\n     * Setup animations\n     */if(!isCanvas){useEffect(()=>{if(isReducedMotion||!animateToValue||!speed){return;}animationRef.current=listRef.current.animate({transform:[transformer(0),transformer(animateToValue)]},{duration:Math.abs(animateToValue)/speed*1e3,iterations:Infinity,easing:\"linear\"});return()=>animationRef.current.cancel();},[hoverFactor,animateToValue,speed]);const playOrPause=useCallback(()=>{if(!animationRef.current)return;const hidden=document.hidden;if(isInView&&!hidden&&animationRef.current.playState===\"paused\"){animationRef.current.play();}else if((!isInView||hidden)&&animationRef.current.playState===\"running\"){animationRef.current.pause();}},[isInView]);useEffect(()=>{playOrPause();},[isInView,hoverFactor,animateToValue,speed]);useEffect(()=>{document.addEventListener(\"visibilitychange\",playOrPause);return()=>{document.removeEventListener(\"visibilitychange\",playOrPause);};},[playOrPause]);}/* Fades */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}%)`;/* Empty state */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 infinitely loop on your page.\"})]});}return /*#__PURE__*/_jsx(\"section\",{style:{...containerStyle,opacity:opacity,WebkitMaskImage:fadeContent?fadeMask:undefined,maskImage:fadeContent?fadeMask:undefined,overflow:overflow?\"visible\":\"hidden\",padding:paddingValue},ref:parentRef,children:/*#__PURE__*/_jsxs(motion.ul,{ref:listRef,style:{...containerStyle,gap:gap,top:direction===\"bottom\"&&isValidNumber(animateToValue)?-animateToValue:undefined,left:direction===\"right\"&&isValidNumber(animateToValue)?-animateToValue:undefined,placeItems:alignment,position:\"relative\",flexDirection:isHorizontal?\"row\":\"column\",...style,willChange:isCanvas||!isInView?\"auto\":\"transform\",transform:transformer(0)},onMouseEnter:()=>{isHover.current=true;if(animationRef.current){// TODO Replace with updatePlaybackRate when Chrome bugs sorted\nanimationRef.current.playbackRate=hoverFactor;}},onMouseLeave:()=>{isHover.current=false;if(animationRef.current){// TODO Replace with updatePlaybackRate when Chrome bugs sorted\nanimationRef.current.playbackRate=1;}},children:[clonedChildren,dupedChildren]})});}/* Default Properties */Ticker.defaultProps={gap:10,padding:10,sizingOptions:{widthType:true,heightType:true},fadeOptions:{fadeContent:true,overflow:false,fadeWidth:25,fadeAlpha:0,fadeInset:0},direction:true};/* Property Controls */addPropertyControls(Ticker,{slots:{type:ControlType.Array,title:\"Children\",control:{type:ControlType.ComponentInstance}},speed:{type:ControlType.Number,title:\"Speed\",min:0,max:1e3,defaultValue:100,unit:\"%\",displayStepper:true,step:5},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\"],defaultValue:\"left\",displaySegmentedControl:true},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},gap:{type:ControlType.Number,title:\"Gap\"},padding:{title:\"Padding\",type:ControlType.FusedNumber,toggleKey:\"paddingPerSide\",toggleTitles:[\"Padding\",\"Padding per side\"],valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},sizingOptions:{type:ControlType.Object,title:\"Sizing\",controls:{widthType:{type:ControlType.Boolean,title:\"Width\",enabledTitle:\"Auto\",disabledTitle:\"Stretch\",defaultValue:true},heightType:{type:ControlType.Boolean,title:\"Height\",enabledTitle:\"Auto\",disabledTitle:\"Stretch\",defaultValue:true}}},fadeOptions:{type:ControlType.Object,title:\"Clipping\",controls:{fadeContent:{type:ControlType.Boolean,title:\"Fade\",defaultValue:true},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;}}}},hoverFactor:{type:ControlType.Number,title:\"Hover\",min:0,max:1,unit:\"x\",defaultValue:1,step:.1,displayStepper:true,description:\"Slows down the speed while you are hovering.\"}});/* Placeholder Styles */const containerStyle={display:\"flex\",width:\"100%\",height:\"100%\",maxWidth:\"100%\",maxHeight:\"100%\",placeItems:\"center\",margin:0,padding:0,listStyleType:\"none\",textIndent:\"none\"};/* 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:150,lineHeight:1.5,textAlign:\"center\"};/* Clamp function, used for fadeInset */const clamp=(num,min,max)=>Math.min(Math.max(num,min),max);const isValidNumber=value=>typeof value===\"number\"&&!isNaN(value);\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Ticker\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicWidth\":\"400\",\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerDisableUnlink\":\"*\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Ticker.map","// Generated by Framer (6aebf05)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,Image,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Ticker from\"https://framerusercontent.com/modules/B2xAlJLcN0gOnt11mSPw/bSG2fUXcc43766cbIglD/Ticker.js\";const TickerFonts=getFonts(Ticker);const serializationHash=\"framer-6lbMe\";const variantClassNames={CLnpOpLvV:\"framer-v-u0crc5\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const toResponsiveImage=value=>{if(typeof value===\"object\"&&value!==null&&typeof value.src===\"string\"){return value;}return typeof value===\"string\"?{src:value}:undefined;};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({height,id,image1,image2,image3,image4,width,...props})=>{return{...props,flFeuvZxd:image2??props.flFeuvZxd??{alt:\"\",pixelHeight:1237,pixelWidth:1800,src:\"https://framerusercontent.com/images/ExR7kEJDK3U9KH4jUkpGGzhFJ0.webp?scale-down-to=1024\",srcSet:\"https://framerusercontent.com/images/ExR7kEJDK3U9KH4jUkpGGzhFJ0.webp?scale-down-to=512 512w,https://framerusercontent.com/images/ExR7kEJDK3U9KH4jUkpGGzhFJ0.webp?scale-down-to=1024 1024w,https://framerusercontent.com/images/ExR7kEJDK3U9KH4jUkpGGzhFJ0.webp 1800w\"},K4hU6o99X:image1??props.K4hU6o99X??{alt:\"\",pixelHeight:1237,pixelWidth:1800,src:\"https://framerusercontent.com/images/xsilrlSuhjxxrljrJhFXYWYJEA.webp?scale-down-to=1024\",srcSet:\"https://framerusercontent.com/images/xsilrlSuhjxxrljrJhFXYWYJEA.webp?scale-down-to=512 512w,https://framerusercontent.com/images/xsilrlSuhjxxrljrJhFXYWYJEA.webp?scale-down-to=1024 1024w,https://framerusercontent.com/images/xsilrlSuhjxxrljrJhFXYWYJEA.webp 1800w\"},rZ4q0LYFV:image3??props.rZ4q0LYFV??{alt:\"\",pixelHeight:1237,pixelWidth:1800,src:\"https://framerusercontent.com/images/dsGvJd23M6OQhfFLQaNRMCuDEI.webp?scale-down-to=1024\",srcSet:\"https://framerusercontent.com/images/dsGvJd23M6OQhfFLQaNRMCuDEI.webp?scale-down-to=512 512w,https://framerusercontent.com/images/dsGvJd23M6OQhfFLQaNRMCuDEI.webp?scale-down-to=1024 1024w,https://framerusercontent.com/images/dsGvJd23M6OQhfFLQaNRMCuDEI.webp 1800w\"},tz_hGuGWu:image4??props.tz_hGuGWu??{alt:\"\",pixelHeight:1237,pixelWidth:1800,src:\"https://framerusercontent.com/images/qlSdFtL4BzoTxn4QPvsyhimok.webp?scale-down-to=1024\",srcSet:\"https://framerusercontent.com/images/qlSdFtL4BzoTxn4QPvsyhimok.webp?scale-down-to=512 512w,https://framerusercontent.com/images/qlSdFtL4BzoTxn4QPvsyhimok.webp?scale-down-to=1024 1024w,https://framerusercontent.com/images/qlSdFtL4BzoTxn4QPvsyhimok.webp 1800w\"}};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,K4hU6o99X,flFeuvZxd,rZ4q0LYFV,tz_hGuGWu,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"CLnpOpLvV\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-u0crc5\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"CLnpOpLvV\",ref:refBinding,style:{...style},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-147255f-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"AxdY8sMRz-container\",nodeId:\"AxdY8sMRz\",rendersWithMotion:true,scopeId:\"DcVr1gXgS\",children:/*#__PURE__*/_jsx(Ticker,{alignment:\"center\",direction:\"left\",fadeOptions:{fadeAlpha:0,fadeContent:true,fadeInset:0,fadeWidth:25,overflow:false},gap:12,height:\"100%\",hoverFactor:.7,id:\"AxdY8sMRz\",layoutId:\"AxdY8sMRz\",padding:0,paddingBottom:0,paddingLeft:0,paddingPerSide:false,paddingRight:0,paddingTop:0,sizingOptions:{heightType:true,widthType:true},slots:[/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",pixelHeight:1237,pixelWidth:1800,sizes:\"400px\",...toResponsiveImage(K4hU6o99X)},className:\"framer-19rxtu2\",\"data-framer-name\":\"Image 1\",layoutDependency:layoutDependency,layoutId:\"nCLfPjJUw\",style:{borderBottomLeftRadius:16,borderBottomRightRadius:16,borderTopLeftRadius:16,borderTopRightRadius:16}}),/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",pixelHeight:1237,pixelWidth:1800,sizes:\"400px\",...toResponsiveImage(flFeuvZxd)},className:\"framer-k21sgy\",\"data-framer-name\":\"Image 2\",layoutDependency:layoutDependency,layoutId:\"YST1kCdvM\",style:{borderBottomLeftRadius:16,borderBottomRightRadius:16,borderTopLeftRadius:16,borderTopRightRadius:16}}),/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",pixelHeight:1237,pixelWidth:1800,sizes:\"400px\",...toResponsiveImage(rZ4q0LYFV)},className:\"framer-1cmy2h2\",\"data-framer-name\":\"Image 3\",layoutDependency:layoutDependency,layoutId:\"ra6w63XzZ\",style:{borderBottomLeftRadius:16,borderBottomRightRadius:16,borderTopLeftRadius:16,borderTopRightRadius:16}}),/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",pixelHeight:1237,pixelWidth:1800,sizes:\"400px\",...toResponsiveImage(tz_hGuGWu)},className:\"framer-1qqtgv\",\"data-framer-name\":\"Image 4\",layoutDependency:layoutDependency,layoutId:\"I86wf9ICU\",style:{borderBottomLeftRadius:16,borderBottomRightRadius:16,borderTopLeftRadius:16,borderTopRightRadius:16}})],speed:60,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-6lbMe.framer-19ej3ei, .framer-6lbMe .framer-19ej3ei { display: block; }\",\".framer-6lbMe.framer-u0crc5 { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; padding: 0px; position: relative; width: 1000px; }\",\".framer-6lbMe .framer-147255f-container { flex: 1 0 0px; height: 275px; position: relative; width: 1px; }\",\".framer-6lbMe .framer-19rxtu2, .framer-6lbMe .framer-k21sgy, .framer-6lbMe .framer-1cmy2h2, .framer-6lbMe .framer-1qqtgv { aspect-ratio: 1.4545454545454546 / 1; height: var(--framer-aspect-ratio-supported, 275px); overflow: hidden; position: relative; width: 400px; will-change: var(--framer-will-change-override, transform); }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 275\n * @framerIntrinsicWidth 1000\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"K4hU6o99X\":\"image1\",\"flFeuvZxd\":\"image2\",\"rZ4q0LYFV\":\"image3\",\"tz_hGuGWu\":\"image4\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerDcVr1gXgS=withCSS(Component,css,\"framer-6lbMe\");export default FramerDcVr1gXgS;FramerDcVr1gXgS.displayName=\"Hero Ticker\";FramerDcVr1gXgS.defaultProps={height:275,width:1e3};addPropertyControls(FramerDcVr1gXgS,{K4hU6o99X:{__defaultAssetReference:\"data:framer/asset-reference,xsilrlSuhjxxrljrJhFXYWYJEA.webp?originalFilename=01.webp&preferredSize=auto\",__vekterDefault:{alt:\"\",assetReference:\"data:framer/asset-reference,xsilrlSuhjxxrljrJhFXYWYJEA.webp?originalFilename=01.webp&preferredSize=auto\"},title:\"Image 1\",type:ControlType.ResponsiveImage},flFeuvZxd:{__defaultAssetReference:\"data:framer/asset-reference,ExR7kEJDK3U9KH4jUkpGGzhFJ0.webp?originalFilename=02.webp&preferredSize=auto\",__vekterDefault:{alt:\"\",assetReference:\"data:framer/asset-reference,ExR7kEJDK3U9KH4jUkpGGzhFJ0.webp?originalFilename=02.webp&preferredSize=auto\"},title:\"Image 2\",type:ControlType.ResponsiveImage},rZ4q0LYFV:{__defaultAssetReference:\"data:framer/asset-reference,dsGvJd23M6OQhfFLQaNRMCuDEI.webp?originalFilename=03.webp&preferredSize=auto\",__vekterDefault:{alt:\"\",assetReference:\"data:framer/asset-reference,dsGvJd23M6OQhfFLQaNRMCuDEI.webp?originalFilename=03.webp&preferredSize=auto\"},title:\"Image 3\",type:ControlType.ResponsiveImage},tz_hGuGWu:{__defaultAssetReference:\"data:framer/asset-reference,qlSdFtL4BzoTxn4QPvsyhimok.webp?originalFilename=04.webp&preferredSize=auto\",__vekterDefault:{alt:\"\",assetReference:\"data:framer/asset-reference,qlSdFtL4BzoTxn4QPvsyhimok.webp?originalFilename=04.webp&preferredSize=auto\"},title:\"Image 4\",type:ControlType.ResponsiveImage}});addFonts(FramerDcVr1gXgS,[{explicitInter:true,fonts:[]},...TickerFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerDcVr1gXgS\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"1000\",\"framerColorSyntax\":\"true\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerVariables\":\"{\\\"K4hU6o99X\\\":\\\"image1\\\",\\\"flFeuvZxd\\\":\\\"image2\\\",\\\"rZ4q0LYFV\\\":\\\"image3\\\",\\\"tz_hGuGWu\\\":\\\"image4\\\"}\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerIntrinsicHeight\":\"275\",\"framerAutoSizeImages\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./DcVr1gXgS.map","// Animated number that animates when entering viewport from bottom, with controls for start, end, font, suffix, and animation\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{useInView}from\"framer-motion\";/**\n * Animated Number (in-view)\n *\n * @framerIntrinsicWidth 180\n * @framerIntrinsicHeight 60\n *\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function AnimatedNumber(props){const{start,end,duration,font,suffix,animation,style}=props;const[value,setValue]=useState(start);const raf=useRef(null);const isStatic=useIsStaticRenderer();const wrapperRef=useRef(null);// Trigger as soon as the bottom of the layer enters the viewport\nconst inView=useInView(wrapperRef,{once:true,margin:\"0px 0px -10% 0px\"});// Easing functions\nfunction ease(t){switch(animation){case\"easeIn\":return t*t;case\"easeOut\":return t*(2-t);case\"easeInOut\":return t<.5?2*t*t:-1+(4-2*t)*t;default:return t;}}useEffect(()=>{if(isStatic||!inView){setValue(isStatic?end:start);return;}let startTime=null;if(raf.current)cancelAnimationFrame(raf.current);function animate(ts){if(startTime===null)startTime=ts;const elapsed=ts-startTime;const t=Math.min(1,elapsed/(duration*1e3));const eased=ease(t);const current=start+(end-start)*eased;startTransition(()=>setValue(current));if(t<1){raf.current=requestAnimationFrame(animate);}else{startTransition(()=>setValue(end));}}raf.current=requestAnimationFrame(animate);return()=>{if(raf.current)cancelAnimationFrame(raf.current);};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[start,end,duration,animation,isStatic,inView]);return /*#__PURE__*/_jsx(\"div\",{ref:wrapperRef,style:{display:\"inline-block\",width:\"max-content\",...style},children:/*#__PURE__*/_jsxs(\"span\",{style:{...font,width:\"max-content\",display:\"inline-block\"},\"aria-label\":`Animated number: ${Math.round(value)}${suffix}`,children:[Math.round(value),suffix]})});}addPropertyControls(AnimatedNumber,{start:{type:ControlType.Number,title:\"Start\",defaultValue:0,min:-1e5,max:1e5,step:1},end:{type:ControlType.Number,title:\"End\",defaultValue:100,min:-1e5,max:1e5,step:1},duration:{type:ControlType.Number,title:\"Duration\",defaultValue:1.2,min:.1,max:10,step:.1,unit:\"s\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"40px\",variant:\"Bold\",letterSpacing:\"-0.04em\",lineHeight:\"1em\"}},suffix:{type:ControlType.String,title:\"Suffix\",defaultValue:\"\",placeholder:\"%\"},animation:{type:ControlType.Enum,title:\"Animation\",options:[\"linear\",\"easeIn\",\"easeOut\",\"easeInOut\"],optionTitles:[\"Linear\",\"Ease In\",\"Ease Out\",\"Ease In Out\"],defaultValue:\"easeOut\",displaySegmentedControl:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AnimatedNumber\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"60\",\"framerIntrinsicWidth\":\"180\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AnimatedNumber.map","// Generated by Framer (84fc51f)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getFontsFromSharedStyle,RichText,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import AnimatedNumber from\"https://framerusercontent.com/modules/pzgeVn3Im9rOb9RQhbdi/qru0ICKOq76kpQw4Uz8o/AnimatedNumber.js\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/fEroLFKSc7kKOqd27uw7/2Tp3mH7494rPGy1E8TEW/BAJv5gCEv.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/m4KZ9QMwwgqfSqfkQNEb/iSaNmrKMA4sahIekZ5UU/OylCEdZMq.js\";const AnimatedNumberFonts=getFonts(AnimatedNumber);const cycleOrder=[\"Q0tvtth26\",\"Tcpo7m9tK\",\"PH037ieA_\"];const serializationHash=\"framer-yH6J0\";const variantClassNames={PH037ieA_:\"framer-v-1o8gbnr\",Q0tvtth26:\"framer-v-17v9z8s\",Tcpo7m9tK:\"framer-v-1qkmqrg\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={Desktop:\"Q0tvtth26\",Phone:\"Tcpo7m9tK\",Tablet:\"PH037ieA_\"};const getProps=({caption,desc,end,height,id,start,suffix,width,...props})=>{return{...props,BJ24w3FOm:desc??props.BJ24w3FOm??\"Experience designing websites for brands across lifestyle, wellness, and professional services\",cuVDmhuja:suffix??props.cuVDmhuja??\"+\",hZQJr__dD:start??props.hZQJr__dD,oGuCrJlYx:caption??props.oGuCrJlYx??\"years\",variant:humanReadableVariantMap[props.variant]??props.variant??\"Q0tvtth26\",xW2YjOtya:end??props.xW2YjOtya??8};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,hZQJr__dD,xW2YjOtya,cuVDmhuja,oGuCrJlYx,BJ24w3FOm,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"Q0tvtth26\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-17v9z8s\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"Q0tvtth26\",ref:refBinding,style:{backgroundColor:\"var(--token-e45b83a2-49a5-48f2-a872-1a6fd76aa96d, rgb(255, 255, 255))\",borderBottomLeftRadius:20,borderBottomRightRadius:20,borderTopLeftRadius:20,borderTopRightRadius:20,...style},variants:{Tcpo7m9tK:{borderBottomLeftRadius:16,borderBottomRightRadius:16,borderTopLeftRadius:16,borderTopRightRadius:16}},...addPropertyOverrides({PH037ieA_:{\"data-framer-name\":\"Tablet\"},Tcpo7m9tK:{\"data-framer-name\":\"Phone\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1ocq5ij\",\"data-framer-name\":\"Title\",layoutDependency:layoutDependency,layoutId:\"Dm5rFUjqI\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1nhq62f-container\",\"data-code-component-plugin-id\":\"84d4c1\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"YTXSPDUB7-container\",nodeId:\"YTXSPDUB7\",rendersWithMotion:true,scopeId:\"YEWsH5Cbt\",children:/*#__PURE__*/_jsx(AnimatedNumber,{animation:\"easeOut\",duration:1,end:xW2YjOtya,font:{fontFamily:'\"Geist\", \"Geist Placeholder\", sans-serif',fontSize:\"60px\",fontStyle:\"normal\",fontWeight:500,letterSpacing:\"-0.04em\",lineHeight:\"1em\"},height:\"100%\",id:\"YTXSPDUB7\",layoutId:\"YTXSPDUB7\",start:hZQJr__dD,suffix:cuVDmhuja,width:\"100%\"})})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1n22kz1\",\"data-styles-preset\":\"OylCEdZMq\",children:\"years\"})}),className:\"framer-1ucqtts\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"F8mf8Cir2\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:oGuCrJlYx,verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1198t9\",\"data-framer-name\":\"Divider\",layoutDependency:layoutDependency,layoutId:\"Ar1gOA0FD\",style:{backgroundColor:\"var(--token-90cb5700-1c31-42d2-b7bc-942877db4ed6, rgb(235, 235, 235))\"}}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1nqyxjp\",\"data-styles-preset\":\"BAJv5gCEv\",children:\"Experience designing websites for brands across lifestyle, wellness, and professional services\"})}),className:\"framer-jfmtgm\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"CZlpYU8vK\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:BJ24w3FOm,verticalAlignment:\"top\",withExternalLayout:true})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-yH6J0.framer-7yaje1, .framer-yH6J0 .framer-7yaje1 { display: block; }\",\".framer-yH6J0.framer-17v9z8s { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 16px; height: 260px; justify-content: flex-start; overflow: hidden; padding: 24px; position: relative; width: 364px; will-change: var(--framer-will-change-override, transform); }\",\".framer-yH6J0 .framer-1ocq5ij { align-content: flex-end; align-items: flex-end; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-yH6J0 .framer-1nhq62f-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-yH6J0 .framer-1ucqtts { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-yH6J0 .framer-1198t9 { flex: none; height: 1px; overflow: hidden; position: relative; width: 100%; }\",\".framer-yH6J0 .framer-jfmtgm { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-yH6J0.framer-v-1qkmqrg.framer-17v9z8s { height: min-content; padding: 20px; }\",\".framer-yH6J0.framer-v-1o8gbnr.framer-17v9z8s { height: min-content; }\",...sharedStyle.css,...sharedStyle1.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 260\n * @framerIntrinsicWidth 364\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"Tcpo7m9tK\":{\"layout\":[\"fixed\",\"auto\"]},\"PH037ieA_\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"hZQJr__dD\":\"start\",\"xW2YjOtya\":\"end\",\"cuVDmhuja\":\"suffix\",\"oGuCrJlYx\":\"caption\",\"BJ24w3FOm\":\"desc\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerYEWsH5Cbt=withCSS(Component,css,\"framer-yH6J0\");export default FramerYEWsH5Cbt;FramerYEWsH5Cbt.displayName=\"Analytics\";FramerYEWsH5Cbt.defaultProps={height:260,width:364};addPropertyControls(FramerYEWsH5Cbt,{variant:{options:[\"Q0tvtth26\",\"Tcpo7m9tK\",\"PH037ieA_\"],optionTitles:[\"Desktop\",\"Phone\",\"Tablet\"],title:\"Variant\",type:ControlType.Enum},hZQJr__dD:{defaultValue:0,max:1e5,min:-1e5,step:1,title:\"Start\",type:ControlType.Number},xW2YjOtya:{defaultValue:8,max:1e5,min:-1e5,step:1,title:\"End\",type:ControlType.Number},cuVDmhuja:{defaultValue:\"+\",placeholder:\"%\",title:\"Suffix\",type:ControlType.String},oGuCrJlYx:{defaultValue:\"years\",displayTextArea:false,title:\"Caption\",type:ControlType.String},BJ24w3FOm:{defaultValue:\"Experience designing websites for brands across lifestyle, wellness, and professional services\",displayTextArea:false,title:\"Desc\",type:ControlType.String}});addFonts(FramerYEWsH5Cbt,[{explicitInter:true,fonts:[{family:\"Geist\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/geist/v3/gyBhhwUxId8gMGYQMKR3pzfaWI_RruM4mJPby1QNtA.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...AnimatedNumberFonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerYEWsH5Cbt\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerIntrinsicHeight\":\"260\",\"framerImmutableVariables\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"Tcpo7m9tK\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"PH037ieA_\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerIntrinsicWidth\":\"364\",\"framerVariables\":\"{\\\"hZQJr__dD\\\":\\\"start\\\",\\\"xW2YjOtya\\\":\\\"end\\\",\\\"cuVDmhuja\\\":\\\"suffix\\\",\\\"oGuCrJlYx\\\":\\\"caption\\\",\\\"BJ24w3FOm\\\":\\\"desc\\\"}\",\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./YEWsH5Cbt.map","// DVD-style bouncing image animation with customizable image, speed, and border radius. Image is 1:1 (default 60px). Container adapts to parent.\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useRef,useEffect,useState,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";const defaultImage={src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Gradient 1 - Blue\"};/**\n * DVD Bouncing Image\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function BouncingImage(props){const{image=defaultImage,speed,radius,size,shadow,style}=props;const containerRef=useRef(null);const[pos,setPos]=useState({x:0,y:0});const[dir,setDir]=useState({x:1,y:1});const[container,setContainer]=useState({width:300,height:200});const isStatic=useIsStaticRenderer();// Update container size on mount and resize\nuseEffect(()=>{function updateSize(){if(containerRef.current){const rect=containerRef.current.getBoundingClientRect();startTransition(()=>setContainer({width:rect.width,height:rect.height}));}}updateSize();window.addEventListener(\"resize\",updateSize);return()=>window.removeEventListener(\"resize\",updateSize);},[]);// Animation loop\nuseEffect(()=>{if(isStatic)return;let frame;function animate(){setPos(prev=>{let{x,y}=prev;let{x:dx,y:dy}=dir;const maxX=container.width-size;const maxY=container.height-size;x+=dx*speed;y+=dy*speed;let newDir={...dir};if(x<=0){x=0;newDir.x=1;}if(x>=maxX){x=maxX;newDir.x=-1;}if(y<=0){y=0;newDir.y=1;}if(y>=maxY){y=maxY;newDir.y=-1;}if(newDir.x!==dir.x||newDir.y!==dir.y)startTransition(()=>setDir(newDir));return{x,y};});frame=requestAnimationFrame(animate);}frame=requestAnimationFrame(animate);return()=>cancelAnimationFrame(frame);},[container.width,container.height,dir,speed,size,isStatic]);// Reset position if container or size changes\nuseEffect(()=>{startTransition(()=>setPos({x:0,y:0}));startTransition(()=>setDir({x:1,y:1}));},[container.width,container.height,size]);// Static preview: center image\nif(isStatic){return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{...style,width:\"100%\",height:\"100%\",position:\"relative\",overflow:\"hidden\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsx(\"img\",{src:image.src,alt:image.alt,style:{width:size,height:size,borderRadius:radius,objectFit:\"contain\",background:\"transparent\",pointerEvents:\"none\",userSelect:\"none\",boxShadow:shadow}})});}return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{...style,width:\"100%\",height:\"100%\",position:\"relative\",overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"img\",{src:image.src,alt:image.alt,style:{width:size,height:size,borderRadius:radius,objectFit:\"contain\",background:\"transparent\",position:\"absolute\",left:pos.x,top:pos.y,pointerEvents:\"none\",userSelect:\"none\",boxShadow:shadow,transition:isStatic?\"left 0.2s, top 0.2s\":undefined},draggable:false})});}addPropertyControls(BouncingImage,{image:{type:ControlType.ResponsiveImage,title:\"Image\"},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:2,min:.5,max:10,step:.1},radius:{type:ControlType.Number,title:\"Radius\",defaultValue:16,min:0,max:60,step:1,unit:\"px\"},size:{type:ControlType.Number,title:\"Image Size\",defaultValue:60,min:20,max:300,step:1,unit:\"px\"},shadow:{type:ControlType.BoxShadow,title:\"Shadow\",defaultValue:\"0 2px 8px rgba(0,0,0,0.08)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BouncingImage\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BouncingImage.map"],"mappings":"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"}