{
  "version": 3,
  "sources": ["ssg:https://framer.com/m/framer/store.js@^1.0.0", "ssg:https://framer.com/m/Utils-QTIc.js@hDBsItohjMEOACix8wDv", "ssg:https://framerusercontent.com/modules/OiCf4NNLLpuN6FqtIYsk/9i5jMkFo5EhoLXlXTr2l/Look3D.js", "ssg:https://framerusercontent.com/modules/3wftiSdAkd88Zu2Pg3wb/N3lDcBYlgu3huiPfpbqk/Preserve3D.js", "ssg:https://framerusercontent.com/modules/5GcmUWqOkD9PUcSqcCbY/BJpvim0M4nUxNbZR6RAE/gLKJCNnZm.js"],
  "sourcesContent": ["import{useState,useEffect}from\"react\";import{Data,useObserveData}from\"framer\";export function createStore(state1){// Use Data so that a Preview reload resets the state\nconst dataStore=Data({state:Object.freeze({...state1})});// Create a set function that updates the state\nconst setDataStore=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(dataStore.state);}dataStore.state=Object.freeze({...dataStore.state,...newState});};// Store the initial state, copy the object if it's an object\nlet storeState=typeof state1===\"object\"?Object.freeze({...state1}):state1;// Keep a list of all the listeners, in the form of React hook setters\nconst storeSetters=new Set();// Create a set function that updates all the listeners / setters\nconst setStoreState=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(storeState);}storeState=typeof newState===\"object\"?Object.freeze({...storeState,...newState}):newState;// Update all the listeners / setters with the new value\nstoreSetters.forEach(setter=>setter(storeState));};// Create the actual hook based on everything above\nfunction useStore(){// Create the hook we are going to use as a listener\nconst[state,setState]=useState(storeState);// If we unmount the component using this hook, we need to remove the listener\n// @ts-ignore\nuseEffect(()=>{// But right now, we need to add the listener\nstoreSetters.add(setState);return()=>storeSetters.delete(setState);},[]);// If Data context exists, use Data, otherwise use vanilla React state\nif(useObserveData()===true){useObserveData();return[dataStore.state,setDataStore];}else{// Return the state and a function to update the central store\nreturn[state,setStoreState];}}return useStore;}\nexport const __FramerMetadata__ = {\"exports\":{\"createStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./createStore.map", "import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{ControlType}from\"framer\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";export const updateChildren=(children,properties)=>{return[{...children,props:{...children.props,children:{...children.props.children,props:{...children.props.children.props,children:{...children.props.children.props.children,props:{...children.props.children.props.children.props,...properties}}}}}}];};export const SettingsMessage=({title,description,containerStyle})=>{return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",textAlign:\"center\",justifyContent:\"center\",backgroundColor:\"rgba(136, 85, 255, 0.1)\",overflow:\"hidden\",...containerStyle},children:[/*#__PURE__*/_jsx(\"span\",{role:\"img\",\"aria-label\":\"icon\",style:{fontSize:\"32px\"},children:\"\u2728\"}),/*#__PURE__*/_jsxs(\"div\",{style:{maxWidth:\"240px\"},children:[/*#__PURE__*/_jsx(\"h1\",{style:{fontSize:11,color:\"#96F\",fontWeight:600},children:title}),/*#__PURE__*/_jsx(\"p\",{style:{fontSize:11,color:\"rgba(153, 102, 255, 0.7)\",lineHeight:1.5},children:description})]})]});};export const getBorder=border=>{if(!border)return{border:\"none\"};const{width,color,style}=border;return{borderWidth:width,borderColor:color,borderStyle:style};};export const borderProperty=(title=\"Border\",width=\"0px\",color=\"#fff\")=>({title,type:ControlType.Object,controls:{width:{title:\"Width\",type:ControlType.Padding,defaultValue:width},color:{title:\"Color\",type:ControlType.Color,defaultValue:color},style:{type:ControlType.Enum,defaultValue:\"solid\",options:[\"solid\",\"dashed\",\"dotted\",\"double\"],optionTitles:[\"Solid\",\"Dashed\",\"Dotted\",\"Double\"]}}});export const getBoxShadow=property=>{const{x,y,blur,color}=property.shadow;return`${x}px ${y}px ${blur}px ${color}`;};export const shadowProperty={type:ControlType.Object,controls:{color:{title:\"Color\",type:ControlType.Color,defaultValue:\"#bfbfbf\"},x:{title:\"X\",type:ControlType.Number,defaultValue:0,min:-100,max:100},y:{title:\"Y\",type:ControlType.Number,defaultValue:0,min:-100,max:100},blur:{title:\"Blur\",type:ControlType.Number,defaultValue:0,min:0,max:100}}};export const heightProperty={height:{type:ControlType.Enum,defaultValue:\"auto\",displaySegmentedControl:true,options:[\"auto\",\"fixed\"],optionTitles:[\"Auto\",\"Fixed\"]},heightNumber:{title:\" \",type:ControlType.Number,defaultValue:50,hidden(props){return props.height===\"auto\";}}};export const getHeight=property=>{if(property.height===\"auto\"){return property.height;}else{return`${property.heightNumber}px`;}};export const getPageQueryParam=()=>{const urlParams=new URLSearchParams(window.location.search);const pageParam=urlParams.get(\"page\");return pageParam?parseInt(pageParam,10):1;};export const updatePageQueryParam=newPage=>{const url=new URL(window.location.href);url.searchParams.set(\"page\",newPage);window.history.replaceState({},\"\",url.toString());};export const useStore=createStore({initialLimit:undefined,initialOffset:undefined,limit:undefined,offset:undefined,totalItems:undefined,page:1,searchQuery:\"\",totalPages:undefined});export const scrollToTop=(withScroll,scrollTop,scrollBehavior)=>{if(withScroll){window.scrollTo({top:scrollTop,behavior:scrollBehavior});}};\nexport const __FramerMetadata__ = {\"exports\":{\"heightProperty\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"updatePageQueryParam\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useStore\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getHeight\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getBoxShadow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"updateChildren\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderProperty\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"shadowProperty\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getBorder\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SettingsMessage\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getPageQueryParam\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"scrollToTop\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Utils.map", "import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useState,useEffect,cloneElement}from\"react\";import{motion,useMotionValue,useSpring}from\"framer-motion\";import{SettingsMessage}from\"https://framer.com/m/Utils-QTIc.js@hDBsItohjMEOACix8wDv\";/**\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth any-prefer-auto\n * @framerIntrinsicWidth 600\n * @framerSupportedLayoutHeight any-prefer-auto\n * @framerIntrinsicHeight 300\n */export default function CursorRotation(props){const{style,draggingOptions:{withDragging,withSnapBack,transition},rotationOptions:{withRotationLimitX,withRotationLimitY,maxX,maxY,minX,minY},perspectiveOptions:{withPerspective,perspectiveValue},sensitivity}=props;const children=Array.isArray(props.children)?props.children[0]:props.children;if(!children||children.length===0){return /*#__PURE__*/_jsx(SettingsMessage,{title:\"Set Up the Component\",description:\"Connect a frame to the component.\",containerStyle:{...props.style,width:\"400px\",height:\"200px\",borderRadius:props.borderRadius}});}const[isDragging,setIsDragging]=useState(false);const rotateX=useMotionValue(0);const rotateY=useMotionValue(0);const springConfig=withDragging?transition:{duration:0};const rotateXSpring=useSpring(rotateX,springConfig);const rotateYSpring=useSpring(rotateY,springConfig);const[startingRotation,setStartingRotation]=useState({x:0,y:0});const[startingMousePosition,setStartingMousePosition]=useState({clientX:0,clientY:0});useEffect(()=>{const handleMove=event=>{if(isDragging){event.preventDefault();}const isTouchEvent=event.type.startsWith(\"touch\");const clientX=isTouchEvent?event.touches[0].clientX:event.clientX;const clientY=isTouchEvent?event.touches[0].clientY:event.clientY;const{innerWidth,innerHeight}=window;let rotationX,rotationY;if(withDragging){if(isDragging){const mouseX=clientX-startingMousePosition.clientX;const mouseY=clientY-startingMousePosition.clientY;const rotationFactorX=mouseY/(10/sensitivity);const rotationFactorY=-mouseX/(10/sensitivity);rotationX=startingRotation.x-rotationFactorX;rotationY=startingRotation.y-rotationFactorY;}else if(withSnapBack){rotationX=0;rotationY=0;}else{rotationX=rotateX.get();rotationY=rotateY.get();}}else{const adjustedSensitivity=sensitivity/10;const rotationFactorX=(clientY/innerHeight-.5)*adjustedSensitivity;const rotationFactorY=(clientX/innerWidth-.5)*adjustedSensitivity;rotationX=-rotationFactorX*180;rotationY=rotationFactorY*180;}if(withRotationLimitX){rotationX=Math.max(-minX,Math.min(maxX,rotationX));}if(withRotationLimitY){rotationY=Math.max(-minY,Math.min(maxY,rotationY));}rotateX.set(rotationX);rotateY.set(rotationY);};window.addEventListener(\"mousemove\",handleMove);window.addEventListener(\"touchmove\",handleMove);return()=>{window.removeEventListener(\"mousemove\",handleMove);window.removeEventListener(\"touchmove\",handleMove);};},[isDragging,withDragging,withSnapBack,withRotationLimitX,withRotationLimitY,maxX,maxY,sensitivity]);useEffect(()=>{if(!isDragging&&withDragging&&withSnapBack){rotateX.set(0);rotateY.set(0);}},[isDragging]);const handleOnStart=e=>{const isTouchEvent=e.type.startsWith(\"touch\");const clientX=isTouchEvent?e.touches[0].clientX:e.clientX;const clientY=isTouchEvent?e.touches[0].clientY:e.clientY;setIsDragging(true);setStartingRotation({x:rotateX.get(),y:rotateY.get()});setStartingMousePosition({clientX,clientY});};const handleOnEnd=()=>setIsDragging(false);// Clone the children and apply preserve-3d to them as well\nconst clonedChildren=/*#__PURE__*/cloneElement(children,{style:{...children.props.style,transformStyle:\"preserve-3d\"}});return /*#__PURE__*/_jsx(motion.div,{onPanStart:handleOnStart,onPanEnd:handleOnEnd,onTouchStart:handleOnStart,onTouchEnd:handleOnEnd,style:{...style,rotateX:rotateXSpring,rotateY:rotateYSpring,transformStyle:\"preserve-3d\",transformPerspective:withPerspective?perspectiveValue:undefined,userSelect:\"none\",touchAction:\"none\"},children:clonedChildren});}CursorRotation.displayName=\"3D Look\";addPropertyControls(CursorRotation,{children:{title:\"Element\",type:ControlType.ComponentInstance},sensitivity:{title:\"Sensitivity\",type:ControlType.Number,defaultValue:2,step:1,displayStepper:true,min:1,max:10},draggingOptions:{type:ControlType.Object,title:\"Dragging\",controls:{withDragging:{title:\"Enable\",type:ControlType.Boolean,defaultValue:false},transition:{title:\"Transition\",type:ControlType.Transition,defaultValue:{type:\"spring\",stiffness:600,damping:100},hidden(props){return!props.withDragging;}},withSnapBack:{title:\"Snap Back\",type:ControlType.Boolean,defaultValue:false,hidden(props){return!props.withDragging;}}}},rotationOptions:{type:ControlType.Object,title:\"Rota. Limit\",controls:{withRotationLimitX:{title:\"Limit X\",type:ControlType.Boolean,defaultValue:false},maxX:{title:\"Max X\",type:ControlType.Number,defaultValue:90,step:1,displayStepper:true,min:0,max:undefined,hidden(props){return!props.withRotationLimitX;}},minX:{title:\"Min X\",type:ControlType.Number,defaultValue:90,step:1,displayStepper:true,min:0,max:undefined,hidden(props){return!props.withRotationLimitX;}},withRotationLimitY:{title:\"Limit Y\",type:ControlType.Boolean,defaultValue:false},maxY:{title:\"Max Y\",type:ControlType.Number,defaultValue:90,step:1,displayStepper:true,min:0,max:undefined,hidden(props){return!props.withRotationLimitY;}},minY:{title:\"Min Y\",type:ControlType.Number,defaultValue:90,step:1,displayStepper:true,min:0,max:undefined,hidden(props){return!props.withRotationLimitY;}}}},perspectiveOptions:{type:ControlType.Object,title:\"Perspective\",description:\"Need help with the component? Watch [this video](https://youtu.be/WdMR737ptFs).\\nMore components at [Framer University](https://frameruni.link/cc).\",controls:{withPerspective:{title:\"Enable\",type:ControlType.Boolean,defaultValue:false},perspectiveValue:{title:\"Value\",type:ControlType.Number,defaultValue:1200,step:100,min:500,max:5e3,hidden(props){return!props.withPerspective;}}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CursorRotation\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-auto\",\"framerIntrinsicWidth\":\"600\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-auto\",\"framerIntrinsicHeight\":\"300\",\"framerDisableUnlink\":\"*\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Look3D.map", "import{jsx as _jsx}from\"react/jsx-runtime\";export function withPreserve3d(Component){return props=>{return /*#__PURE__*/_jsx(Component,{...props,style:{transformStyle:\"preserve-3d\"}});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withPreserve3d\":{\"type\":\"reactHoc\",\"name\":\"withPreserve3d\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Preserve3D.map", "// Generated by Framer (1cbc8a2)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,Image,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";const cycleOrder=[\"gotAkaLnC\",\"ci2HbD6NI\"];const serializationHash=\"framer-TXQls\";const variantClassNames={ci2HbD6NI:\"framer-v-822mwp\",gotAkaLnC:\"framer-v-1m7b389\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,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!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion(React.Fragment);const humanReadableVariantMap={Desktop:\"gotAkaLnC\",Mobile:\"ci2HbD6NI\"};const getProps=({height,id,image,width,...props})=>{var _humanReadableVariantMap_props_variant,_ref;return{...props,variant:(_ref=(_humanReadableVariantMap_props_variant=humanReadableVariantMap[props.variant])!==null&&_humanReadableVariantMap_props_variant!==void 0?_humanReadableVariantMap_props_variant:props.variant)!==null&&_ref!==void 0?_ref:\"gotAkaLnC\",wYfCChmv9:image!==null&&image!==void 0?image:props.wYfCChmv9};};const createLayoutDependency=(props,variants)=>variants.join(\"-\")+props.layoutDependency;const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,wYfCChmv9,...restProps}=getProps(props);const{baseVariant,classNames,gestureVariant,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"gotAkaLnC\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const ref1=React.useRef(null);const defaultLayoutId=React.useId();const sharedStyleClassNames=[];const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,className:cx(serializationHash,...sharedStyleClassNames,\"framer-1m7b389\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"gotAkaLnC\",onHoverEnd:()=>setGestureState({isHovered:false}),onHoverStart:()=>setGestureState({isHovered:true}),onTap:()=>setGestureState({isPressed:false}),onTapCancel:()=>setGestureState({isPressed:false}),onTapStart:()=>setGestureState({isPressed:true}),ref:ref!==null&&ref!==void 0?ref:ref1,style:{borderBottomLeftRadius:8,borderBottomRightRadius:8,borderTopLeftRadius:8,borderTopRightRadius:8,...style},variants:{ci2HbD6NI:{borderBottomLeftRadius:4,borderBottomRightRadius:4,borderTopLeftRadius:4,borderTopRightRadius:4}},...addPropertyOverrides({ci2HbD6NI:{\"data-framer-name\":\"Mobile\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",pixelHeight:1024,pixelWidth:820,sizes:(componentViewport===null||componentViewport===void 0?void 0:componentViewport.width)||\"100vw\",...toResponsiveImage(wYfCChmv9)},className:\"framer-1fk5y27\",\"data-framer-name\":\"IMG\",layoutDependency:layoutDependency,layoutId:\"cTp46OOE_\"})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-TXQls.framer-17kil17, .framer-TXQls .framer-17kil17 { display: block; }\",\".framer-TXQls.framer-1m7b389 { height: 190px; overflow: hidden; position: relative; width: 330px; will-change: var(--framer-will-change-override, transform); }\",\".framer-TXQls .framer-1fk5y27 { -webkit-user-select: none; bottom: 0px; flex: none; left: 0px; overflow: hidden; pointer-events: none; position: absolute; right: 0px; top: 0px; user-select: none; }\",\".framer-TXQls.framer-v-822mwp.framer-1m7b389 { aspect-ratio: 1.736842105263158 / 1; height: var(--framer-aspect-ratio-supported, 92px); width: 160px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 190\n * @framerIntrinsicWidth 330\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"ci2HbD6NI\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"wYfCChmv9\":\"image\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramergLKJCNnZm=withCSS(Component,css,\"framer-TXQls\");export default FramergLKJCNnZm;FramergLKJCNnZm.displayName=\"Image\";FramergLKJCNnZm.defaultProps={height:190,width:330};addPropertyControls(FramergLKJCNnZm,{variant:{options:[\"gotAkaLnC\",\"ci2HbD6NI\"],optionTitles:[\"Desktop\",\"Mobile\"],title:\"Variant\",type:ControlType.Enum},wYfCChmv9:{title:\"Image\",type:ControlType.ResponsiveImage}});addFonts(FramergLKJCNnZm,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramergLKJCNnZm\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"330\",\"framerIntrinsicHeight\":\"190\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"ci2HbD6NI\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerComponentViewportWidth\":\"true\",\"framerVariables\":\"{\\\"wYfCChmv9\\\":\\\"image\\\"}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./gLKJCNnZm.map"],
  "mappings": "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",
  "names": ["createStore", "state1", "dataStore", "Data", "setDataStore", "newState", "storeState", "storeSetters", "setStoreState", "setter", "useStore", "state", "setState", "ye", "ue", "useObserveData", "SettingsMessage", "title", "description", "containerStyle", "u", "p", "shadowProperty", "ControlType", "heightProperty", "props", "useStore", "createStore", "CursorRotation", "props", "style", "withDragging", "withSnapBack", "transition", "withRotationLimitX", "withRotationLimitY", "maxX", "maxY", "minX", "minY", "withPerspective", "perspectiveValue", "sensitivity", "children", "p", "SettingsMessage", "isDragging", "setIsDragging", "ye", "rotateX", "useMotionValue", "rotateY", "springConfig", "rotateXSpring", "useSpring", "rotateYSpring", "startingRotation", "setStartingRotation", "startingMousePosition", "setStartingMousePosition", "ue", "handleMove", "event", "isTouchEvent", "clientX", "clientY", "innerWidth", "innerHeight", "window", "rotationX", "rotationY", "mouseX", "rotationFactorX", "rotationFactorY", "adjustedSensitivity", "handleOnStart", "e", "handleOnEnd", "clonedChildren", "q", "motion", "addPropertyControls", "ControlType", "withPreserve3d", "Component", "props", "p", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "toResponsiveImage", "value", "Transition", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableVariantMap", "getProps", "height", "id", "image", "width", "props", "_humanReadableVariantMap_props_variant", "_ref", "createLayoutDependency", "Component", "Y", "ref", "activeLocale", "setLocale", "useLocaleInfo", "style", "className", "layoutId", "wYfCChmv9", "restProps", "baseVariant", "classNames", "gestureVariant", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "ref1", "pe", "defaultLayoutId", "ae", "sharedStyleClassNames", "componentViewport", "useComponentViewport", "LayoutGroup", "cx", "Image2", "css", "FramergLKJCNnZm", "withCSS", "gLKJCNnZm_default", "addPropertyControls", "ControlType", "addFonts"]
}
