{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/bamMgJhjMszHbcnxCtZj/20nHFbpxFqdlchR1dDZF/Noise.js", "ssg:https://framer.com/m/framer/store.js@^1.0.0", "ssg:https://framerusercontent.com/modules/xrd9Q3dLxIHSdAKBSGZ8/je4gmabZGc3gZPiE7kfs/Drag.js"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";/**\n * Noise\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 200\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */ export default function Noise(props){const{opacity,backgroundSize,borderRadius}=props;return /*#__PURE__*/ _jsx(\"div\",{style:{...containerStyle,opacity,backgroundSize,borderRadius}});};Noise.defaultProps={opacity:.5,backgroundSize:128,radius:0};addPropertyControls(Noise,{backgroundSize:{title:\"Size\",type:ControlType.Number,min:64,max:256},opacity:{title:\"Opacity\",type:ControlType.Number,step:.1,displayStepper:true,max:1,min:0},borderRadius:{title:\"Radius\",type:ControlType.Number,min:0,max:1e3,step:1,displayStepper:true}});const containerStyle={width:\"100%\",height:\"100%\",backgroundSize:\"256px 256px\",backgroundRepeat:\"repeat\",backgroundImage:\"url('https://framerusercontent.com/images/rR6HYXBrMmX4cRpXfXUOvpvpB0.png')\"};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Noise\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"*\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"200\",\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Noise.map", "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}from\"react/jsx-runtime\";import{useState}from\"react\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";const useStore=createStore({activeZIndex:2});export function BringToFrontAndDrag(Component){return props=>{const[store,setStore]=useStore();const[zIndex,setZIndex]=useState(2);const{style,...rest}=props;const handleMouseDown=()=>{const currentZIndex=store.activeZIndex;setStore({activeZIndex:currentZIndex+1});setZIndex(currentZIndex+1);};// Ensure the passed Component can handle these Framer Motion props\nreturn /*#__PURE__*/_jsx(Component,{...rest,initial:{scale:1},animate:{scale:1,transition:{type:\"spring\",stiffness:1e3,damping:60}},whileHover:{scale:1.015,transition:{type:\"spring\",stiffness:1e3,damping:60}},whileTap:{scale:1.1,transition:{type:\"spring\",stiffness:1e3,damping:60}},drag:true,dragSnapToOrigin:false,dragTransition:{bounceStiffness:800,bounceDamping:50},dragMomentum:false,style:{...style,zIndex},onMouseDown:handleMouseDown,onTouchStart:handleMouseDown});};}\nexport const __FramerMetadata__ = {\"exports\":{\"BringToFrontAndDrag\":{\"type\":\"reactHoc\",\"name\":\"BringToFrontAndDrag\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Drag.map"],
  "mappings": "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",
  "names": ["Noise", "props", "opacity", "backgroundSize", "borderRadius", "containerStyle", "addPropertyControls", "ControlType", "createStore", "state1", "dataStore", "Data", "setDataStore", "newState", "storeState", "storeSetters", "setStoreState", "setter", "useStore", "state", "setState", "ye", "ue", "useObserveData", "useStore", "createStore", "BringToFrontAndDrag", "Component", "props", "store", "setStore", "zIndex", "setZIndex", "ye", "style", "rest", "handleMouseDown", "currentZIndex"]
}
