var VueDemi=function(r,n,v){if(r.install)return r;if(!n)return console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`."),r;if(n.version.slice(0,4)==="2.7."){let a=function(l,c){var u,p={},h={config:n.config,use:n.use.bind(n),mixin:n.mixin.bind(n),component:n.component.bind(n),provide:function(d,t){return p[d]=t,this},directive:function(d,t){return t?(n.directive(d,t),h):n.directive(d)},mount:function(d,t){return u||(u=new n(Object.assign({propsData:c},l,{provide:Object.assign(p,l.provide)})),u.$mount(d,t),u)},unmount:function(){u&&(u.$destroy(),u=void 0)}};return h};var A=a;for(var s in n)r[s]=n[s];r.isVue2=!0,r.isVue3=!1,r.install=function(){},r.Vue=n,r.Vue2=n,r.version=n.version,r.warn=n.util.warn,r.createApp=a}else if(n.version.slice(0,2)==="2.")if(v){for(var s in v)r[s]=v[s];r.isVue2=!0,r.isVue3=!1,r.install=function(){},r.Vue=n,r.Vue2=n,r.version=n.version}else console.error("[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.");else if(n.version.slice(0,2)==="3."){for(var s in n)r[s]=n[s];r.isVue2=!1,r.isVue3=!0,r.install=function(){},r.Vue=n,r.Vue2=void 0,r.version=n.version,r.set=function(a,l,c){return Array.isArray(a)?(a.length=Math.max(a.length,l),a.splice(l,1,c),c):(a[l]=c,c)},r.del=function(a,l){if(Array.isArray(a)){a.splice(l,1);return}delete a[l]}}else console.error("[vue-demi] Vue version "+n.version+" is unsupported.");return r}(this.VueDemi=this.VueDemi||(typeof VueDemi<"u"?VueDemi:{}),this.Vue||(typeof Vue<"u"?Vue:void 0),this.VueCompositionAPI||(typeof VueCompositionAPI<"u"?VueCompositionAPI:void 0));(function(r,n,v,s,A){"use strict";var a=Object.defineProperty,l=Object.getOwnPropertySymbols,c=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable,p=(t,i,e)=>i in t?a(t,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[i]=e,h=(t,i)=>{for(var e in i||(i={}))c.call(i,e)&&p(t,e,i[e]);if(l)for(var e of l(i))u.call(i,e)&&p(t,e,i[e]);return t};function d(t,i){const e=n.ref();let g=[];const y=s.createEventHook(),b=s.createEventHook(),E=s.createEventHook(),P=s.createEventHook(),w=s.createEventHook(),O=n.ref(!1),H=n.ref(!1),C=n.ref(!1),m=n.ref(!1),_=n.ref({color:"black",size:3,arrowEnd:!1,cornerRadius:0,dasharray:void 0,fill:"transparent",mode:"draw"});n.watch(_,()=>{const o=e.value;o&&(o.brush=_.value,o.mode=_.value.mode)},{deep:!0});const U=()=>{var o;return(o=e.value)==null?void 0:o.undo()},I=()=>{var o;return(o=e.value)==null?void 0:o.redo()},j=()=>{var o;return(o=e.value)==null?void 0:o.clear()},G=()=>{var o;return(o=e.value)==null?void 0:o.cancel()},x=o=>{var f;return(f=e.value)==null?void 0:f.load(o)},R=()=>{var o;return(o=e.value)==null?void 0:o.dump()},S=()=>{var o;g.forEach(f=>f()),(o=e.value)==null||o.unmount()},k=()=>{e.value&&(O.value=e.value.canUndo(),H.value=e.value.canRedo(),C.value=e.value.altPressed,m.value=e.value.shiftPressed)};return n.watch(()=>s.unrefElement(t),o=>{!o||typeof SVGSVGElement>"u"||!(o instanceof SVGSVGElement)||(e.value&&S(),e.value=v.createDrauu(h({el:o},i)),k(),g=[e.value.on("canceled",()=>b.trigger()),e.value.on("committed",f=>E.trigger(f)),e.value.on("start",()=>P.trigger()),e.value.on("end",()=>w.trigger()),e.value.on("changed",()=>{k(),y.trigger()})])},{flush:"post"}),A.tryOnScopeDispose(()=>S()),{drauuInstance:e,load:x,dump:R,clear:j,cancel:G,undo:U,redo:I,canUndo:O,canRedo:H,brush:_,onChanged:y.on,onCommitted:E.on,onStart:P.on,onEnd:w.on,onCanceled:b.on}}r.useDrauu=d})(this.VueUse=this.VueUse||{},VueDemi,Drauu,VueUse,VueUse);