{"version":3,"sources":["../src/useZoomImageMove.ts"],"names":[],"mappings":";AAAA,SAAS,UAAU,mBAAmB;AACtC,SAAS,uBAAuB,4BAA4B;AAIrD,SAAS,mBAAmB;AACjC,MAAI;AACJ,QAAM,iBAAiB,SAA6B;AAAA,IAClD,iBAAiB;AAAA,EACnB,CAAC;AAED,QAAM,kBAAkB,IAAI,QAAiD;AAC3E,YAAQ,QAAQ;AAChB,aAAS,qBAAqB,GAAG,GAAG;AACpC,UAAM,eAAe,OAAO,SAAS;AACrC,eAAW,OAAO,cAAc;AAC9B,qBAAe,GAAG,IAAI,aAAa,GAAG;AAAA,IACxC;AAEA,WAAO,UAAU,CAAC,EAAE,kBAAkB,MAAM;AAC1C,iBAAW,OAAO,mBAAmB;AACnC,uBAAe,GAAG,IAAI,kBAAkB,GAAG;AAAA,MAC7C;AAAA,IACF,CAAC;AAAA,EACH;AAEA,cAAY,MAAM;AAChB,YAAQ,QAAQ;AAAA,EAClB,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF","sourcesContent":["import { reactive, onUnmounted } from \"vue\"\nimport { createZoomImageMove as _createZoomImageMove } from \"@zoom-image/core\"\n\nimport type { ZoomImageMoveState } from \"@zoom-image/core\"\n\nexport function useZoomImageMove() {\n  let result: ReturnType<typeof _createZoomImageMove> | undefined\n  const zoomImageState = reactive<ZoomImageMoveState>({\n    zoomedImgStatus: \"idle\",\n  })\n\n  const createZoomImage = (...arg: Parameters<typeof _createZoomImageMove>) => {\n    result?.cleanup()\n    result = _createZoomImageMove(...arg)\n    const currentState = result.getState()\n    for (const key in currentState) {\n      zoomImageState[key] = currentState[key]\n    }\n\n    result.subscribe(({ updatedProperties }) => {\n      for (const key in updatedProperties) {\n        zoomImageState[key] = updatedProperties[key]\n      }\n    })\n  }\n\n  onUnmounted(() => {\n    result?.cleanup()\n  })\n\n  return {\n    createZoomImage,\n    zoomImageState,\n  }\n}\n"]}