{"version":3,"file":"useAutoMotionValue.js@_0.3.C_0akVNQ.mjs","names":["useRef","useCallback","animate"],"sources":["https:/framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/TbXI1XaZFNevVKcgIt7G/isMotionValue.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"],"mappings":"8ZACa,EAAc,GAAG,aAAa,KCD8S,SAAgB,EAAmB,EAAW,EAAQ,CAE/Y,IAAM,EAAWA,EAAO,GAAe,EAAUA,IAAe,EAAgBA,EAAO,IAAa,EAAW,EAAa,YAAY,EAAa,OAC/I,EAAc,GAAgD,aAAc,EAAQ,aAAa,EAAE,CACnG,EAASC,EAAY,GAAgD,SAAS,CAAC,GAAG,EAAc,EAChG,EAAYA,EAAY,GAAO,CAAC,IAAI,EAAI,OAAQ,EAAI,EAAW,UAAyC,UAAW,EAAW,QAAQ,UAAU,GAAO,CAAO,EAAC,EAAE,EACjK,EAAO,MAAgB,EAAc,GAAY,EAAW,EAAY,EAAY,KAIkH,OAH5M,MAAc,CAAC,GAAG,CAAC,EAAc,IAAa,EAAgB,QAAQ,CAAC,IAAI,EAAI,EAAK,IAAM,EAAS,EAAY,GAE/G,IAF4H,EAAI,EAAU,UAAW,MAA0B,EAAI,OAChL,GAAS,EAAS,EAAS,IACzB,EAAK,EAAW,UAA2C,SAAU,CAAC,EAAW,CAAC,IAAI,EAC3F,EAAU,QAAQC,EAAQ,EAAO,GAAU,EAAK,EAAW,UAA2C,WAAa,MAAK,EAAO,IAAI,EAAY,GAAgB,QAAQ,EAAM,EAAC,CAAC,EAAW,GAAG,EAAa,EAAS,CAAQ"}