@vueuse/integrations
Version:
Integration wrappers for utility libraries
1 lines • 2.18 kB
JavaScript
(function(e,t,n,r,i){var a=Object.create,o=Object.defineProperty,s=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyNames,l=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty,d=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=c(t),a=0,l=i.length,d;a<l;a++)d=i[a],!u.call(e,d)&&d!==n&&o(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(r=s(t,d))||r.enumerable});return e},f=(e,t,n)=>(n=e==null?{}:a(l(e)),d(t||!e||!e.__esModule?o(n,`default`,{value:e,enumerable:!0}):n,e));t=f(t),n=f(n),r=f(r),i=f(i);function p(e,a){let o=(0,i.ref)(),s=[],c=(0,t.createEventHook)(),l=(0,t.createEventHook)(),u=(0,t.createEventHook)(),d=(0,t.createEventHook)(),f=(0,t.createEventHook)(),p=(0,i.shallowRef)(!1),m=(0,i.shallowRef)(!1),h=(0,i.shallowRef)(!1),g=(0,i.shallowRef)(!1),_=(0,i.ref)({color:`black`,size:3,arrowEnd:!1,cornerRadius:0,dasharray:void 0,fill:`transparent`,mode:`draw`,...a==null?void 0:a.brush});(0,i.watch)(_,()=>{let e=o.value;e&&(e.brush=_.value,e.mode=_.value.mode)},{deep:!0});let v=()=>{var e;return(e=o.value)==null?void 0:e.undo()},y=()=>{var e;return(e=o.value)==null?void 0:e.redo()},b=()=>{var e;return(e=o.value)==null?void 0:e.clear()},x=()=>{var e;return(e=o.value)==null?void 0:e.cancel()},S=e=>{var t;return(t=o.value)==null?void 0:t.load(e)},C=()=>{var e;return(e=o.value)==null?void 0:e.dump()},w=()=>{var e;s.forEach(e=>e()),(e=o.value)==null||e.unmount()},T=()=>{o.value&&(p.value=o.value.canUndo(),m.value=o.value.canRedo(),h.value=o.value.altPressed,g.value=o.value.shiftPressed)};return(0,i.watch)(()=>(0,t.unrefElement)(e),e=>{!e||typeof SVGSVGElement>`u`||!(e instanceof SVGSVGElement)||(o.value&&w(),o.value=(0,r.createDrauu)({el:e,...a}),T(),s=[o.value.on(`canceled`,()=>l.trigger()),o.value.on(`committed`,e=>u.trigger(e)),o.value.on(`start`,()=>d.trigger()),o.value.on(`end`,()=>f.trigger()),o.value.on(`changed`,()=>{T(),c.trigger()})])},{flush:`post`}),(0,n.tryOnScopeDispose)(()=>w()),{drauuInstance:o,load:S,dump:C,clear:b,cancel:x,undo:v,redo:y,canUndo:p,canRedo:m,brush:_,onChanged:c.on,onCommitted:u.on,onStart:d.on,onEnd:f.on,onCanceled:l.on}}e.useDrauu=p})(this.VueUse=this.VueUse||{},VueUse,VueUse,Drauu,Vue);