{"version":3,"file":"useAutoMotionValue.js@_0.3.Cwjd14zg.mjs","names":["useRef","useCallback","__esmMin","de","ne","ce","init_npm_react_18_3_1","motionValue","MotionValue","RenderTarget","animate","init_framer_BbPeGsXv","useConstant","init_useConstant","isMotionValue","init_isMotionValue","v","useAutoMotionValue","optionsRef","options","animation","didInitialMount","isOnCanvas","onChangeDeps","onChange","transformer","value","value1","inputValue","ref","newValue","init_useAutoMotionValue","init_useAutoMotionValue_js__0_3"],"sources":["https:/framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/TbXI1XaZFNevVKcgIt7G/isMotionValue.js","https:/framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/V4SPg9g59hF1vFH3ZTF0/useAutoMotionValue.js","https:/framer.com/m/framer/useAutoMotionValue.js@^0.3.0"],"sourcesContent":["import{MotionValue}from\"framer\";// Basic MotionValue check\nexport const isMotionValue=v=>v instanceof MotionValue;\nexport const __FramerMetadata__ = {\"exports\":{\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./isMotionValue.map","import{useCallback,useEffect,useRef}from\"react\";import{motionValue,animate,RenderTarget}from\"framer\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/TbXI1XaZFNevVKcgIt7G/isMotionValue.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";export function useAutoMotionValue(inputValue,options){// Put options on a local ref\n// Might wanna just memo instead but it works for now\nconst optionsRef=useRef(options);const animation=useRef();const didInitialMount=useRef(false);const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;// in-progress - trying to figure out effect hooks\nconst onChangeDeps=(options===null||options===void 0?void 0:options.onChangeDeps)?options.onChangeDeps:[];// Memoize the onChange handler\nconst onChange=useCallback(options===null||options===void 0?void 0:options.onChange,[...onChangeDeps,]);// Optionally scale the value from props\nconst transformer=useCallback(value=>{var ref;return((ref=optionsRef.current)===null||ref===void 0?void 0:ref.transform)?optionsRef.current.transform(value):value;},[]);// Create new MotionValue from inputValue\nconst value1=useConstant(()=>isMotionValue(inputValue)?inputValue:motionValue(transformer(inputValue)));// Setting value from prop change\nuseEffect(()=>{if(!isMotionValue(inputValue)&&didInitialMount.current){var ref,ref1;const newValue=transformer(inputValue);(ref=animation.current)===null||ref===void 0?void 0:ref.stop();// Call change callback\nif(onChange)onChange(newValue,value1);// Trigger animation to new value\nif(((ref1=optionsRef.current)===null||ref1===void 0?void 0:ref1.animate)&&!isOnCanvas){var ref2;// @ts-ignore\nanimation.current=animate(value1,newValue,(ref2=optionsRef.current)===null||ref2===void 0?void 0:ref2.transition);}else{value1.set(newValue);}}didInitialMount.current=true;},[inputValue,...onChangeDeps]);return value1;}\nexport const __FramerMetadata__ = {\"exports\":{\"useAutoMotionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useAutoMotionValue.map","/*\n * useAutoMotionValue (framer/useAutoMotionValue@0.3.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/V4SPg9g59hF1vFH3ZTF0/useAutoMotionValue.js\"\n"],"mappings":"A,mUACa,EAAc,GAAGgB,aAAaR,C,OCD8S,SAAgBS,EAAmB,EAAW,EAAQ,CAE/Y,IAAMC,EAAWlB,EAAOmB,CAAO,EAAQC,EAAUpB,EAAO,EAAQqB,EAAgBrB,EAAO,EAAK,EAAQsB,EAAWb,EAAa,QAAQ,IAAIA,EAAa,OAC/Ic,EAAcJ,GAAgD,aAAcA,EAAQ,aAAa,CAAC,EAClGK,EAASvB,EAAYkB,GAAgD,SAAS,CAAC,GAAGI,CAAa,CAAC,EAChGE,EAAYxB,EAAY,GAA4BiB,EAAW,SAAyC,UAAWA,EAAW,QAAQ,UAAUQ,CAAK,EAAEA,EAAQ,CAAC,CAAC,EACjKC,EAAOf,MAAgBE,EAAcc,CAAU,EAAEA,EAAWrB,EAAYkB,EAAYG,CAAU,CAAC,CAAC,EAIsG,OAH5MvB,MAAc,CAAC,GAAG,CAACS,EAAcc,CAAU,GAAGP,EAAgB,QAAQ,CAAC,IAAIQ,EAAS,IAAMC,EAASL,EAAYG,CAAU,GAAG,EAAIR,EAAU,UAAW,MAA0BS,EAAI,KAAK,EACrLL,GAASA,EAASM,EAASH,CAAM,EAC1BT,EAAW,SAA2C,SAAU,CAACI,EAC3E,EAAU,QAAQZ,EAAQiB,EAAOG,EAAeZ,EAAW,SAA2C,UAAU,EAAQS,EAAO,IAAIG,CAAQ,CAAG,CAAC,EAAgB,QAAQ,EAAK,EAAE,CAACF,EAAW,GAAGL,CAAY,CAAC,EAASI,CAAO,C"}