@zoom-image/svelte
Version:
Adapter of zoom image core for Svelte
1 lines • 1.38 kB
Source Map (JSON)
{"version":3,"sources":["../src/useZoomImageMove.ts"],"names":[],"mappings":";AAAA,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAC1B,SAAS,uBAAuB,4BAA4B;AAIrD,SAAS,mBAAmB;AACjC,MAAI;AACJ,QAAM,EAAE,KAAK,UAAU,IAAI,SAA6B;AAAA,IACtD,iBAAiB;AAAA,EACnB,CAAC;AAED,QAAM,kBAAkB,IAAI,QAAiD;AAC3E,YAAQ,QAAQ;AAChB,aAAS,qBAAqB,GAAG,GAAG;AACpC,QAAI,OAAO,SAAS,CAAC;AAErB,WAAO,UAAU,CAAC,EAAE,MAAM,MAAM;AAC9B,UAAI,KAAK;AAAA,IACX,CAAC;AAAA,EACH;AAEA,YAAU,MAAM;AACd,YAAQ,QAAQ;AAAA,EAClB,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,EACF;AACF","sourcesContent":["import { writable } from \"svelte/store\"\nimport { onDestroy } from \"svelte\"\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 { set, subscribe } = writable<ZoomImageMoveState>({\n zoomedImgStatus: \"idle\",\n })\n\n const createZoomImage = (...arg: Parameters<typeof _createZoomImageMove>) => {\n result?.cleanup()\n result = _createZoomImageMove(...arg)\n set(result.getState())\n\n result.subscribe(({ state }) => {\n set(state)\n })\n }\n\n onDestroy(() => {\n result?.cleanup()\n })\n\n return {\n createZoomImage,\n zoomImageState: {\n subscribe,\n },\n }\n}\n"]}