{"version":3,"file":"useAutoMotionValue.js@_0.3.CphqHO9e.mjs","names":[],"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":"4YACa,AADb,GAAgC,CACnB,EAAc,GAAG,aAAa,ICD8S,SAAgB,EAAmB,EAAW,EAAQ,CAE/Y,IAAM,EAAW,EAAO,EAAQ,CAAO,EAAU,GAAQ,CAAO,EAAgB,GAAO,EAAM,CAAO,EAAW,EAAa,SAAS,GAAG,EAAa,OAC/I,EAAc,GAAgD,aAAc,EAAQ,aAAa,CAAE,EACnG,EAAS,EAAY,GAAgD,SAAS,CAAC,GAAG,CAAc,EAAC,CACjG,EAAY,EAAY,GAAO,CAAC,IAAI,EAAI,OAAQ,EAAI,EAAW,UAAyC,UAAW,EAAW,QAAQ,UAAU,EAAM,CAAC,CAAO,EAAC,CAAE,EAAC,CAClK,EAAO,EAAY,IAAI,EAAc,EAAW,CAAC,EAAW,EAAY,EAAY,EAAW,CAAC,CAAC,CAIqG,MAH5M,GAAU,IAAI,CAAC,IAAI,EAAc,EAAW,EAAE,EAAgB,QAAQ,CAAC,IAAI,EAAI,EAAK,IAAM,EAAS,EAAY,EAAW,CAE1H,IAF4H,EAAI,EAAU,UAAW,MAA0B,EAAI,MAAM,CACtL,GAAS,EAAS,EAAS,EAAO,EAChC,EAAK,EAAW,UAA2C,UAAW,EAAW,CAAC,IAAI,EAC3F,EAAU,QAAQ,EAAQ,EAAO,GAAU,EAAK,EAAW,UAA2C,WAAW,AAAE,MAAK,EAAO,IAAI,EAAS,AAAG,GAAgB,SAAQ,CAAM,EAAC,CAAC,EAAW,GAAG,CAAa,EAAC,CAAQ,CAAQ,cAV3N,GAAgD,IAAqD,IAA4H,IAAwH"}