{"version":3,"file":"Preserve3D.Cl97JILz.mjs","names":[],"sources":["https:/framer.com/m/Utils-QTIc.js@hDBsItohjMEOACix8wDv","https:/framerusercontent.com/modules/OiCf4NNLLpuN6FqtIYsk/9i5jMkFo5EhoLXlXTr2l/Look3D.js","https:/framerusercontent.com/modules/f41tXk2fcwCzGJO0e3HH/Dm03pC2KxgxwTkrvrhNF/Preserve3D.js"],"sourcesContent":["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:\"✨\"}),/*#__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"],"mappings":"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"}