@vueuse/integrations 6.4.1 → 6.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/useDrauu.iife.js CHANGED
@@ -59,121 +59,128 @@
59
59
  window.VueDemi = VueDemi
60
60
  })(window)
61
61
  ;
62
- ;(function (exports, vueDemi, drauu, shared) {
62
+ ;(function (exports, vueDemi, drauu, core, shared) {
63
63
  'use strict';
64
64
 
65
- /**
66
- * Get the dom element of a ref of element or Vue component instance
67
- *
68
- * @param elRef
69
- */
70
- function unrefElement(elRef) {
71
- var _a, _b;
72
- const plain = vueDemi.unref(elRef);
73
- return (_b = (_a = plain) === null || _a === void 0 ? void 0 : _a.$el) !== null && _b !== void 0 ? _b : plain;
74
- }
75
-
76
- var SwipeDirection;
77
- (function (SwipeDirection) {
78
- SwipeDirection["UP"] = "UP";
79
- SwipeDirection["RIGHT"] = "RIGHT";
80
- SwipeDirection["DOWN"] = "DOWN";
81
- SwipeDirection["LEFT"] = "LEFT";
82
- SwipeDirection["NONE"] = "NONE";
83
- })(SwipeDirection || (SwipeDirection = {}));
84
-
85
- /**
86
- * Reactive drauu
87
- *
88
- * @see https://vueuse.org/useDrauu
89
- * @param target The target svg element
90
- * @param options Drauu Options
91
- */
92
- function useDrauu(target, options) {
93
- const drauuInstance = vueDemi.ref();
94
- let disposables = [];
95
- const onChangedHook = shared.createEventHook();
96
- const onCanceledHook = shared.createEventHook();
97
- const onCommittedHook = shared.createEventHook();
98
- const onStartHook = shared.createEventHook();
99
- const onEndHook = shared.createEventHook();
100
- const canUndo = vueDemi.ref(false);
101
- const canRedo = vueDemi.ref(false);
102
- const altPressed = vueDemi.ref(false);
103
- const shiftPressed = vueDemi.ref(false);
104
- const brush = vueDemi.ref({
105
- color: 'black',
106
- size: 3,
107
- arrowEnd: false,
108
- cornerRadius: 0,
109
- dasharray: undefined,
110
- fill: 'transparent',
111
- mode: 'draw',
112
- });
113
- vueDemi.watch(brush, () => {
114
- const instance = drauuInstance.value;
115
- if (instance)
116
- instance.brush = brush.value;
117
- }, { deep: true });
118
- const undo = () => { var _a; return (_a = drauuInstance.value) === null || _a === void 0 ? void 0 : _a.undo(); };
119
- const redo = () => { var _a; return (_a = drauuInstance.value) === null || _a === void 0 ? void 0 : _a.redo(); };
120
- const clear = () => { var _a; return (_a = drauuInstance.value) === null || _a === void 0 ? void 0 : _a.clear(); };
121
- const cancel = () => { var _a; return (_a = drauuInstance.value) === null || _a === void 0 ? void 0 : _a.cancel(); };
122
- const load = (svg) => { var _a; return (_a = drauuInstance.value) === null || _a === void 0 ? void 0 : _a.load(svg); };
123
- const dump = () => { var _a; return (_a = drauuInstance.value) === null || _a === void 0 ? void 0 : _a.dump(); };
124
- const cleanup = () => {
125
- var _a;
126
- disposables.forEach(dispose => dispose());
127
- (_a = drauuInstance.value) === null || _a === void 0 ? void 0 : _a.unmount();
128
- };
129
- const syncStatus = () => {
130
- if (drauuInstance.value) {
131
- canUndo.value = drauuInstance.value.canUndo();
132
- canRedo.value = drauuInstance.value.canRedo();
133
- altPressed.value = drauuInstance.value.altPressed;
134
- shiftPressed.value = drauuInstance.value.shiftPressed;
135
- }
136
- };
137
- vueDemi.watch(() => unrefElement(target), (el) => {
138
- if (!el || !(el instanceof SVGSVGElement))
139
- return;
140
- if (drauuInstance.value)
141
- cleanup();
142
- drauuInstance.value = drauu.createDrauu(Object.assign({ el }, options));
143
- syncStatus();
144
- disposables = [
145
- drauuInstance.value.on('canceled', () => onCanceledHook.trigger()),
146
- drauuInstance.value.on('committed', () => onCommittedHook.trigger()),
147
- drauuInstance.value.on('start', () => onStartHook.trigger()),
148
- drauuInstance.value.on('end', () => onEndHook.trigger()),
149
- drauuInstance.value.on('changed', () => {
150
- syncStatus();
151
- onChangedHook.trigger();
152
- }),
153
- ];
154
- }, { flush: 'post' });
155
- shared.tryOnScopeDispose(() => cleanup());
156
- return {
157
- drauuInstance,
158
- load,
159
- dump,
160
- clear,
161
- cancel,
162
- undo,
163
- redo,
164
- canUndo,
165
- canRedo,
166
- brush,
167
- onChanged: onChangedHook.on,
168
- onCommitted: onCommittedHook.on,
169
- onStart: onStartHook.on,
170
- onEnd: onEndHook.on,
171
- onCanceled: onCanceledHook.on,
172
- };
65
+ var __defProp = Object.defineProperty;
66
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
67
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
68
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
69
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
70
+ var __spreadValues = (a, b) => {
71
+ for (var prop in b || (b = {}))
72
+ if (__hasOwnProp.call(b, prop))
73
+ __defNormalProp(a, prop, b[prop]);
74
+ if (__getOwnPropSymbols)
75
+ for (var prop of __getOwnPropSymbols(b)) {
76
+ if (__propIsEnum.call(b, prop))
77
+ __defNormalProp(a, prop, b[prop]);
78
+ }
79
+ return a;
80
+ };
81
+ function useDrauu(target, options) {
82
+ const drauuInstance = vueDemi.ref();
83
+ let disposables = [];
84
+ const onChangedHook = core.createEventHook();
85
+ const onCanceledHook = core.createEventHook();
86
+ const onCommittedHook = core.createEventHook();
87
+ const onStartHook = core.createEventHook();
88
+ const onEndHook = core.createEventHook();
89
+ const canUndo = vueDemi.ref(false);
90
+ const canRedo = vueDemi.ref(false);
91
+ const altPressed = vueDemi.ref(false);
92
+ const shiftPressed = vueDemi.ref(false);
93
+ const brush = vueDemi.ref({
94
+ color: "black",
95
+ size: 3,
96
+ arrowEnd: false,
97
+ cornerRadius: 0,
98
+ dasharray: void 0,
99
+ fill: "transparent",
100
+ mode: "draw"
101
+ });
102
+ vueDemi.watch(brush, () => {
103
+ const instance = drauuInstance.value;
104
+ if (instance)
105
+ instance.brush = brush.value;
106
+ }, { deep: true });
107
+ const undo = () => {
108
+ var _a;
109
+ return (_a = drauuInstance.value) == null ? void 0 : _a.undo();
110
+ };
111
+ const redo = () => {
112
+ var _a;
113
+ return (_a = drauuInstance.value) == null ? void 0 : _a.redo();
114
+ };
115
+ const clear = () => {
116
+ var _a;
117
+ return (_a = drauuInstance.value) == null ? void 0 : _a.clear();
118
+ };
119
+ const cancel = () => {
120
+ var _a;
121
+ return (_a = drauuInstance.value) == null ? void 0 : _a.cancel();
122
+ };
123
+ const load = (svg) => {
124
+ var _a;
125
+ return (_a = drauuInstance.value) == null ? void 0 : _a.load(svg);
126
+ };
127
+ const dump = () => {
128
+ var _a;
129
+ return (_a = drauuInstance.value) == null ? void 0 : _a.dump();
130
+ };
131
+ const cleanup = () => {
132
+ var _a;
133
+ disposables.forEach((dispose) => dispose());
134
+ (_a = drauuInstance.value) == null ? void 0 : _a.unmount();
135
+ };
136
+ const syncStatus = () => {
137
+ if (drauuInstance.value) {
138
+ canUndo.value = drauuInstance.value.canUndo();
139
+ canRedo.value = drauuInstance.value.canRedo();
140
+ altPressed.value = drauuInstance.value.altPressed;
141
+ shiftPressed.value = drauuInstance.value.shiftPressed;
142
+ }
143
+ };
144
+ vueDemi.watch(() => core.unrefElement(target), (el) => {
145
+ if (!el || !(el instanceof SVGSVGElement))
146
+ return;
147
+ if (drauuInstance.value)
148
+ cleanup();
149
+ drauuInstance.value = drauu.createDrauu(__spreadValues({ el }, options));
150
+ syncStatus();
151
+ disposables = [
152
+ drauuInstance.value.on("canceled", () => onCanceledHook.trigger()),
153
+ drauuInstance.value.on("committed", () => onCommittedHook.trigger()),
154
+ drauuInstance.value.on("start", () => onStartHook.trigger()),
155
+ drauuInstance.value.on("end", () => onEndHook.trigger()),
156
+ drauuInstance.value.on("changed", () => {
157
+ syncStatus();
158
+ onChangedHook.trigger();
159
+ })
160
+ ];
161
+ }, { flush: "post" });
162
+ shared.tryOnScopeDispose(() => cleanup());
163
+ return {
164
+ drauuInstance,
165
+ load,
166
+ dump,
167
+ clear,
168
+ cancel,
169
+ undo,
170
+ redo,
171
+ canUndo,
172
+ canRedo,
173
+ brush,
174
+ onChanged: onChangedHook.on,
175
+ onCommitted: onCommittedHook.on,
176
+ onStart: onStartHook.on,
177
+ onEnd: onEndHook.on,
178
+ onCanceled: onCanceledHook.on
179
+ };
173
180
  }
174
181
 
175
182
  exports.useDrauu = useDrauu;
176
183
 
177
184
  Object.defineProperty(exports, '__esModule', { value: true });
178
185
 
179
- }(this.VueUse = this.VueUse || {}, VueDemi, drauu, VueUse));
186
+ })(this.VueUse = this.VueUse || {}, VueDemi, Drauu, VueUse, VueUse);
@@ -1 +1 @@
1
- !function(e){if(!e.VueDemi){var n={},o=e.Vue;if(o)if("2."===o.version.slice(0,2)){var r=e.VueCompositionAPI;if(r){for(var u in r)n[u]=r[u];n.isVue2=!0,n.isVue3=!1,n.install=function(){},n.Vue=o,n.Vue2=o,n.version=o.version}else console.error("[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.")}else if("3."===o.version.slice(0,2)){for(var u in o)n[u]=o[u];n.isVue2=!1,n.isVue3=!0,n.install=function(){},n.Vue=o,n.Vue2=void 0,n.version=o.version,n.set=function(e,n,o){return Array.isArray(e)?(e.length=Math.max(e.length,n),e.splice(n,1,o),o):(e[n]=o,o)},n.del=function(e,n){Array.isArray(e)?e.splice(n,1):delete e[n]}}else console.error("[vue-demi] Vue version "+o.version+" is unsupported.");else console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`.");e.VueDemi=n}}(window),function(e,n,o,r){"use strict";var u;!function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"}(u||(u={})),e.useDrauu=function(e,u){const a=n.ref();let i=[];const l=r.createEventHook(),t=r.createEventHook(),v=r.createEventHook(),s=r.createEventHook(),d=r.createEventHook(),c=n.ref(!1),f=n.ref(!1),m=n.ref(!1),V=n.ref(!1),p=n.ref({color:"black",size:3,arrowEnd:!1,cornerRadius:0,dasharray:void 0,fill:"transparent",mode:"draw"});n.watch(p,(()=>{const e=a.value;e&&(e.brush=p.value)}),{deep:!0});const g=()=>{var e;i.forEach((e=>e())),null===(e=a.value)||void 0===e||e.unmount()},h=()=>{a.value&&(c.value=a.value.canUndo(),f.value=a.value.canRedo(),m.value=a.value.altPressed,V.value=a.value.shiftPressed)};return n.watch((()=>function(e){var o,r;const u=n.unref(e);return null!==(r=null===(o=u)||void 0===o?void 0:o.$el)&&void 0!==r?r:u}(e)),(e=>{e&&e instanceof SVGSVGElement&&(a.value&&g(),a.value=o.createDrauu(Object.assign({el:e},u)),h(),i=[a.value.on("canceled",(()=>t.trigger())),a.value.on("committed",(()=>v.trigger())),a.value.on("start",(()=>s.trigger())),a.value.on("end",(()=>d.trigger())),a.value.on("changed",(()=>{h(),l.trigger()}))])}),{flush:"post"}),r.tryOnScopeDispose((()=>g())),{drauuInstance:a,load:e=>{var n;return null===(n=a.value)||void 0===n?void 0:n.load(e)},dump:()=>{var e;return null===(e=a.value)||void 0===e?void 0:e.dump()},clear:()=>{var e;return null===(e=a.value)||void 0===e?void 0:e.clear()},cancel:()=>{var e;return null===(e=a.value)||void 0===e?void 0:e.cancel()},undo:()=>{var e;return null===(e=a.value)||void 0===e?void 0:e.undo()},redo:()=>{var e;return null===(e=a.value)||void 0===e?void 0:e.redo()},canUndo:c,canRedo:f,brush:p,onChanged:l.on,onCommitted:v.on,onStart:s.on,onEnd:d.on,onCanceled:t.on}},Object.defineProperty(e,"__esModule",{value:!0})}(this.VueUse=this.VueUse||{},VueDemi,drauu,VueUse);
1
+ (function(i){if(!i.VueDemi){var n={},o=i.Vue;if(o)if(o.version.slice(0,2)==="2."){var t=i.VueCompositionAPI;if(t){for(var c in t)n[c]=t[c];n.isVue2=!0,n.isVue3=!1,n.install=function(){},n.Vue=o,n.Vue2=o,n.version=o.version}else console.error("[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.")}else if(o.version.slice(0,2)==="3."){for(var c in o)n[c]=o[c];n.isVue2=!1,n.isVue3=!0,n.install=function(){},n.Vue=o,n.Vue2=void 0,n.version=o.version,n.set=function(u,s,v){return Array.isArray(u)?(u.length=Math.max(u.length,s),u.splice(s,1,v),v):(u[s]=v,v)},n.del=function(u,s){if(Array.isArray(u)){u.splice(s,1);return}delete u[s]}}else console.error("[vue-demi] Vue version "+o.version+" is unsupported.");else console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`.");i.VueDemi=n}})(window),function(i,n,o,t,c){"use strict";var u=Object.defineProperty,s=Object.getOwnPropertySymbols,v=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable,p=(l,a,e)=>a in l?u(l,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):l[a]=e,S=(l,a)=>{for(var e in a||(a={}))v.call(a,e)&&p(l,e,a[e]);if(s)for(var e of s(a))O.call(a,e)&&p(l,e,a[e]);return l};function k(l,a){const e=n.ref();let m=[];const V=t.createEventHook(),_=t.createEventHook(),h=t.createEventHook(),E=t.createEventHook(),g=t.createEventHook(),P=n.ref(!1),b=n.ref(!1),C=n.ref(!1),U=n.ref(!1),f=n.ref({color:"black",size:3,arrowEnd:!1,cornerRadius:0,dasharray:void 0,fill:"transparent",mode:"draw"});n.watch(f,()=>{const r=e.value;r&&(r.brush=f.value)},{deep:!0});const w=()=>{var r;return(r=e.value)==null?void 0:r.undo()},A=()=>{var r;return(r=e.value)==null?void 0:r.redo()},j=()=>{var r;return(r=e.value)==null?void 0:r.clear()},I=()=>{var r;return(r=e.value)==null?void 0:r.cancel()},R=r=>{var d;return(d=e.value)==null?void 0:d.load(r)},D=()=>{var r;return(r=e.value)==null?void 0:r.dump()},y=()=>{var r;m.forEach(d=>d()),(r=e.value)==null||r.unmount()},H=()=>{e.value&&(P.value=e.value.canUndo(),b.value=e.value.canRedo(),C.value=e.value.altPressed,U.value=e.value.shiftPressed)};return n.watch(()=>t.unrefElement(l),r=>{!r||!(r instanceof SVGSVGElement)||(e.value&&y(),e.value=o.createDrauu(S({el:r},a)),H(),m=[e.value.on("canceled",()=>_.trigger()),e.value.on("committed",()=>h.trigger()),e.value.on("start",()=>E.trigger()),e.value.on("end",()=>g.trigger()),e.value.on("changed",()=>{H(),V.trigger()})])},{flush:"post"}),c.tryOnScopeDispose(()=>y()),{drauuInstance:e,load:R,dump:D,clear:j,cancel:I,undo:w,redo:A,canUndo:P,canRedo:b,brush:f,onChanged:V.on,onCommitted:h.on,onStart:E.on,onEnd:g.on,onCanceled:_.on}}i.useDrauu=k,Object.defineProperty(i,"__esModule",{value:!0})}(this.VueUse=this.VueUse||{},VueDemi,Drauu,VueUse,VueUse);
package/useDrauu.mjs CHANGED
@@ -1,115 +1,123 @@
1
- import { unref, ref, watch } from 'vue-demi';
1
+ import { ref, watch } from 'vue-demi';
2
2
  import { createDrauu } from 'drauu';
3
- import { createEventHook, tryOnScopeDispose } from '@vueuse/shared';
3
+ import { createEventHook, unrefElement } from '@vueuse/core';
4
+ import { tryOnScopeDispose } from '@vueuse/shared';
4
5
 
5
- /**
6
- * Get the dom element of a ref of element or Vue component instance
7
- *
8
- * @param elRef
9
- */
10
- function unrefElement(elRef) {
11
- var _a, _b;
12
- const plain = unref(elRef);
13
- return (_b = (_a = plain) === null || _a === void 0 ? void 0 : _a.$el) !== null && _b !== void 0 ? _b : plain;
14
- }
15
-
16
- var SwipeDirection;
17
- (function (SwipeDirection) {
18
- SwipeDirection["UP"] = "UP";
19
- SwipeDirection["RIGHT"] = "RIGHT";
20
- SwipeDirection["DOWN"] = "DOWN";
21
- SwipeDirection["LEFT"] = "LEFT";
22
- SwipeDirection["NONE"] = "NONE";
23
- })(SwipeDirection || (SwipeDirection = {}));
24
-
25
- /**
26
- * Reactive drauu
27
- *
28
- * @see https://vueuse.org/useDrauu
29
- * @param target The target svg element
30
- * @param options Drauu Options
31
- */
32
- function useDrauu(target, options) {
33
- const drauuInstance = ref();
34
- let disposables = [];
35
- const onChangedHook = createEventHook();
36
- const onCanceledHook = createEventHook();
37
- const onCommittedHook = createEventHook();
38
- const onStartHook = createEventHook();
39
- const onEndHook = createEventHook();
40
- const canUndo = ref(false);
41
- const canRedo = ref(false);
42
- const altPressed = ref(false);
43
- const shiftPressed = ref(false);
44
- const brush = ref({
45
- color: 'black',
46
- size: 3,
47
- arrowEnd: false,
48
- cornerRadius: 0,
49
- dasharray: undefined,
50
- fill: 'transparent',
51
- mode: 'draw',
52
- });
53
- watch(brush, () => {
54
- const instance = drauuInstance.value;
55
- if (instance)
56
- instance.brush = brush.value;
57
- }, { deep: true });
58
- const undo = () => { var _a; return (_a = drauuInstance.value) === null || _a === void 0 ? void 0 : _a.undo(); };
59
- const redo = () => { var _a; return (_a = drauuInstance.value) === null || _a === void 0 ? void 0 : _a.redo(); };
60
- const clear = () => { var _a; return (_a = drauuInstance.value) === null || _a === void 0 ? void 0 : _a.clear(); };
61
- const cancel = () => { var _a; return (_a = drauuInstance.value) === null || _a === void 0 ? void 0 : _a.cancel(); };
62
- const load = (svg) => { var _a; return (_a = drauuInstance.value) === null || _a === void 0 ? void 0 : _a.load(svg); };
63
- const dump = () => { var _a; return (_a = drauuInstance.value) === null || _a === void 0 ? void 0 : _a.dump(); };
64
- const cleanup = () => {
65
- var _a;
66
- disposables.forEach(dispose => dispose());
67
- (_a = drauuInstance.value) === null || _a === void 0 ? void 0 : _a.unmount();
68
- };
69
- const syncStatus = () => {
70
- if (drauuInstance.value) {
71
- canUndo.value = drauuInstance.value.canUndo();
72
- canRedo.value = drauuInstance.value.canRedo();
73
- altPressed.value = drauuInstance.value.altPressed;
74
- shiftPressed.value = drauuInstance.value.shiftPressed;
75
- }
76
- };
77
- watch(() => unrefElement(target), (el) => {
78
- if (!el || !(el instanceof SVGSVGElement))
79
- return;
80
- if (drauuInstance.value)
81
- cleanup();
82
- drauuInstance.value = createDrauu(Object.assign({ el }, options));
83
- syncStatus();
84
- disposables = [
85
- drauuInstance.value.on('canceled', () => onCanceledHook.trigger()),
86
- drauuInstance.value.on('committed', () => onCommittedHook.trigger()),
87
- drauuInstance.value.on('start', () => onStartHook.trigger()),
88
- drauuInstance.value.on('end', () => onEndHook.trigger()),
89
- drauuInstance.value.on('changed', () => {
90
- syncStatus();
91
- onChangedHook.trigger();
92
- }),
93
- ];
94
- }, { flush: 'post' });
95
- tryOnScopeDispose(() => cleanup());
96
- return {
97
- drauuInstance,
98
- load,
99
- dump,
100
- clear,
101
- cancel,
102
- undo,
103
- redo,
104
- canUndo,
105
- canRedo,
106
- brush,
107
- onChanged: onChangedHook.on,
108
- onCommitted: onCommittedHook.on,
109
- onStart: onStartHook.on,
110
- onEnd: onEndHook.on,
111
- onCanceled: onCanceledHook.on,
112
- };
6
+ var __defProp = Object.defineProperty;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
10
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
11
+ var __spreadValues = (a, b) => {
12
+ for (var prop in b || (b = {}))
13
+ if (__hasOwnProp.call(b, prop))
14
+ __defNormalProp(a, prop, b[prop]);
15
+ if (__getOwnPropSymbols)
16
+ for (var prop of __getOwnPropSymbols(b)) {
17
+ if (__propIsEnum.call(b, prop))
18
+ __defNormalProp(a, prop, b[prop]);
19
+ }
20
+ return a;
21
+ };
22
+ function useDrauu(target, options) {
23
+ const drauuInstance = ref();
24
+ let disposables = [];
25
+ const onChangedHook = createEventHook();
26
+ const onCanceledHook = createEventHook();
27
+ const onCommittedHook = createEventHook();
28
+ const onStartHook = createEventHook();
29
+ const onEndHook = createEventHook();
30
+ const canUndo = ref(false);
31
+ const canRedo = ref(false);
32
+ const altPressed = ref(false);
33
+ const shiftPressed = ref(false);
34
+ const brush = ref({
35
+ color: "black",
36
+ size: 3,
37
+ arrowEnd: false,
38
+ cornerRadius: 0,
39
+ dasharray: void 0,
40
+ fill: "transparent",
41
+ mode: "draw"
42
+ });
43
+ watch(brush, () => {
44
+ const instance = drauuInstance.value;
45
+ if (instance)
46
+ instance.brush = brush.value;
47
+ }, { deep: true });
48
+ const undo = () => {
49
+ var _a;
50
+ return (_a = drauuInstance.value) == null ? void 0 : _a.undo();
51
+ };
52
+ const redo = () => {
53
+ var _a;
54
+ return (_a = drauuInstance.value) == null ? void 0 : _a.redo();
55
+ };
56
+ const clear = () => {
57
+ var _a;
58
+ return (_a = drauuInstance.value) == null ? void 0 : _a.clear();
59
+ };
60
+ const cancel = () => {
61
+ var _a;
62
+ return (_a = drauuInstance.value) == null ? void 0 : _a.cancel();
63
+ };
64
+ const load = (svg) => {
65
+ var _a;
66
+ return (_a = drauuInstance.value) == null ? void 0 : _a.load(svg);
67
+ };
68
+ const dump = () => {
69
+ var _a;
70
+ return (_a = drauuInstance.value) == null ? void 0 : _a.dump();
71
+ };
72
+ const cleanup = () => {
73
+ var _a;
74
+ disposables.forEach((dispose) => dispose());
75
+ (_a = drauuInstance.value) == null ? void 0 : _a.unmount();
76
+ };
77
+ const syncStatus = () => {
78
+ if (drauuInstance.value) {
79
+ canUndo.value = drauuInstance.value.canUndo();
80
+ canRedo.value = drauuInstance.value.canRedo();
81
+ altPressed.value = drauuInstance.value.altPressed;
82
+ shiftPressed.value = drauuInstance.value.shiftPressed;
83
+ }
84
+ };
85
+ watch(() => unrefElement(target), (el) => {
86
+ if (!el || !(el instanceof SVGSVGElement))
87
+ return;
88
+ if (drauuInstance.value)
89
+ cleanup();
90
+ drauuInstance.value = createDrauu(__spreadValues({ el }, options));
91
+ syncStatus();
92
+ disposables = [
93
+ drauuInstance.value.on("canceled", () => onCanceledHook.trigger()),
94
+ drauuInstance.value.on("committed", () => onCommittedHook.trigger()),
95
+ drauuInstance.value.on("start", () => onStartHook.trigger()),
96
+ drauuInstance.value.on("end", () => onEndHook.trigger()),
97
+ drauuInstance.value.on("changed", () => {
98
+ syncStatus();
99
+ onChangedHook.trigger();
100
+ })
101
+ ];
102
+ }, { flush: "post" });
103
+ tryOnScopeDispose(() => cleanup());
104
+ return {
105
+ drauuInstance,
106
+ load,
107
+ dump,
108
+ clear,
109
+ cancel,
110
+ undo,
111
+ redo,
112
+ canUndo,
113
+ canRedo,
114
+ brush,
115
+ onChanged: onChangedHook.on,
116
+ onCommitted: onCommittedHook.on,
117
+ onStart: onStartHook.on,
118
+ onEnd: onEndHook.on,
119
+ onCanceled: onCanceledHook.on
120
+ };
113
121
  }
114
122
 
115
123
  export { useDrauu };