@vueuse/integrations 6.3.2 → 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/README.md +1 -0
- package/index.cjs +378 -312
- package/index.d.ts +32 -4
- package/index.iife.js +378 -314
- package/index.iife.min.js +1 -1
- package/index.mjs +379 -314
- package/package.json +9 -4
- package/useAxios.cjs +69 -65
- package/useAxios.iife.js +70 -66
- package/useAxios.iife.min.js +1 -1
- package/useAxios.mjs +69 -65
- package/useCookies.cjs +59 -71
- package/useCookies.iife.js +60 -72
- package/useCookies.iife.min.js +1 -1
- package/useCookies.mjs +59 -71
- package/useDrauu.cjs +127 -0
- package/useDrauu.d.ts +32 -0
- package/useDrauu.iife.js +186 -0
- package/useDrauu.iife.min.js +1 -0
- package/useDrauu.mjs +123 -0
- package/useFocusTrap.cjs +78 -104
- package/useFocusTrap.iife.js +83 -109
- package/useFocusTrap.iife.min.js +1 -1
- package/useFocusTrap.mjs +79 -105
- package/useJwt.cjs +20 -24
- package/useJwt.iife.js +21 -25
- package/useJwt.iife.min.js +1 -1
- package/useJwt.mjs +20 -24
- package/useNProgress.cjs +28 -37
- package/useNProgress.iife.js +29 -38
- package/useNProgress.iife.min.js +1 -1
- package/useNProgress.mjs +28 -37
- package/useQRCode.cjs +8 -15
- package/useQRCode.iife.js +9 -16
- package/useQRCode.iife.min.js +1 -1
- package/useQRCode.mjs +8 -15
package/useCookies.iife.js
CHANGED
|
@@ -66,77 +66,65 @@
|
|
|
66
66
|
|
|
67
67
|
var Cookie__default = /*#__PURE__*/_interopDefaultLegacy(Cookie);
|
|
68
68
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
addChangeListener: (...args) => cookies.addChangeListener(...args),
|
|
129
|
-
removeChangeListener: (...args) => cookies.removeChangeListener(...args),
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
function shouldUpdate(dependencies, newCookies, oldCookies) {
|
|
133
|
-
if (!dependencies)
|
|
134
|
-
return true;
|
|
135
|
-
for (const dependency of dependencies) {
|
|
136
|
-
if (newCookies[dependency] !== oldCookies[dependency])
|
|
137
|
-
return true;
|
|
138
|
-
}
|
|
139
|
-
return false;
|
|
69
|
+
var __defProp = Object.defineProperty;
|
|
70
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
71
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
72
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
73
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
74
|
+
var __spreadValues = (a, b) => {
|
|
75
|
+
for (var prop in b || (b = {}))
|
|
76
|
+
if (__hasOwnProp.call(b, prop))
|
|
77
|
+
__defNormalProp(a, prop, b[prop]);
|
|
78
|
+
if (__getOwnPropSymbols)
|
|
79
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
80
|
+
if (__propIsEnum.call(b, prop))
|
|
81
|
+
__defNormalProp(a, prop, b[prop]);
|
|
82
|
+
}
|
|
83
|
+
return a;
|
|
84
|
+
};
|
|
85
|
+
function createCookies(req) {
|
|
86
|
+
const universalCookie = new Cookie__default["default"](req ? req.headers.cookie : null);
|
|
87
|
+
return (dependencies, { doNotParse = false, autoUpdateDependencies = false } = {}) => useCookies(dependencies, { doNotParse, autoUpdateDependencies }, universalCookie);
|
|
88
|
+
}
|
|
89
|
+
function useCookies(dependencies, { doNotParse = false, autoUpdateDependencies = false } = {}, cookies = new Cookie__default["default"]()) {
|
|
90
|
+
const watchingDependencies = autoUpdateDependencies ? [...dependencies || []] : dependencies;
|
|
91
|
+
let previousCookies = cookies.getAll({ doNotParse: true });
|
|
92
|
+
const touches = vueDemi.ref(0);
|
|
93
|
+
const onChange = () => {
|
|
94
|
+
const newCookies = cookies.getAll({ doNotParse: true });
|
|
95
|
+
if (shouldUpdate(watchingDependencies || null, newCookies, previousCookies))
|
|
96
|
+
touches.value++;
|
|
97
|
+
previousCookies = newCookies;
|
|
98
|
+
};
|
|
99
|
+
cookies.addChangeListener(onChange);
|
|
100
|
+
shared.tryOnScopeDispose(() => {
|
|
101
|
+
cookies.removeChangeListener(onChange);
|
|
102
|
+
});
|
|
103
|
+
return {
|
|
104
|
+
get: (...args) => {
|
|
105
|
+
if (autoUpdateDependencies && watchingDependencies && !watchingDependencies.includes(args[0]))
|
|
106
|
+
watchingDependencies.push(args[0]);
|
|
107
|
+
touches.value;
|
|
108
|
+
return cookies.get(args[0], __spreadValues({ doNotParse }, args[1]));
|
|
109
|
+
},
|
|
110
|
+
getAll: (...args) => {
|
|
111
|
+
touches.value;
|
|
112
|
+
return cookies.getAll(__spreadValues({ doNotParse }, args[0]));
|
|
113
|
+
},
|
|
114
|
+
set: (...args) => cookies.set(...args),
|
|
115
|
+
remove: (...args) => cookies.remove(...args),
|
|
116
|
+
addChangeListener: (...args) => cookies.addChangeListener(...args),
|
|
117
|
+
removeChangeListener: (...args) => cookies.removeChangeListener(...args)
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
function shouldUpdate(dependencies, newCookies, oldCookies) {
|
|
121
|
+
if (!dependencies)
|
|
122
|
+
return true;
|
|
123
|
+
for (const dependency of dependencies) {
|
|
124
|
+
if (newCookies[dependency] !== oldCookies[dependency])
|
|
125
|
+
return true;
|
|
126
|
+
}
|
|
127
|
+
return false;
|
|
140
128
|
}
|
|
141
129
|
|
|
142
130
|
exports.createCookies = createCookies;
|
|
@@ -144,4 +132,4 @@
|
|
|
144
132
|
|
|
145
133
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
146
134
|
|
|
147
|
-
}(this.VueUse = this.VueUse || {}, VueUse, VueDemi, UniversalCookie)
|
|
135
|
+
})(this.VueUse = this.VueUse || {}, VueUse, VueDemi, UniversalCookie);
|
package/useCookies.iife.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(l){if(!l.VueDemi){var r={},o=l.Vue;if(o)if(o.version.slice(0,2)==="2."){var d=l.VueCompositionAPI;if(d){for(var f in d)r[f]=d[f];r.isVue2=!0,r.isVue3=!1,r.install=function(){},r.Vue=o,r.Vue2=o,r.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 f in o)r[f]=o[f];r.isVue2=!1,r.isVue3=!0,r.install=function(){},r.Vue=o,r.Vue2=void 0,r.version=o.version,r.set=function(s,a,v){return Array.isArray(s)?(s.length=Math.max(s.length,a),s.splice(a,1,v),v):(s[a]=v,v)},r.del=function(s,a){if(Array.isArray(s)){s.splice(a,1);return}delete s[a]}}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`.");l.VueDemi=r}})(window),function(l,r,o,d){"use strict";function f(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=f(d),a=Object.defineProperty,v=Object.getOwnPropertySymbols,y=Object.prototype.hasOwnProperty,g=Object.prototype.propertyIsEnumerable,m=(e,n,u)=>n in e?a(e,n,{enumerable:!0,configurable:!0,writable:!0,value:u}):e[n]=u,V=(e,n)=>{for(var u in n||(n={}))y.call(n,u)&&m(e,u,n[u]);if(v)for(var u of v(n))g.call(n,u)&&m(e,u,n[u]);return e};function O(e){const n=new s.default(e?e.headers.cookie:null);return(u,{doNotParse:i=!1,autoUpdateDependencies:c=!1}={})=>h(u,{doNotParse:i,autoUpdateDependencies:c},n)}function h(e,{doNotParse:n=!1,autoUpdateDependencies:u=!1}={},i=new s.default){const c=u?[...e||[]]:e;let _=i.getAll({doNotParse:!0});const p=o.ref(0),C=()=>{const t=i.getAll({doNotParse:!0});P(c||null,t,_)&&p.value++,_=t};return i.addChangeListener(C),r.tryOnScopeDispose(()=>{i.removeChangeListener(C)}),{get:(...t)=>(u&&c&&!c.includes(t[0])&&c.push(t[0]),p.value,i.get(t[0],V({doNotParse:n},t[1]))),getAll:(...t)=>(p.value,i.getAll(V({doNotParse:n},t[0]))),set:(...t)=>i.set(...t),remove:(...t)=>i.remove(...t),addChangeListener:(...t)=>i.addChangeListener(...t),removeChangeListener:(...t)=>i.removeChangeListener(...t)}}function P(e,n,u){if(!e)return!0;for(const i of e)if(n[i]!==u[i])return!0;return!1}l.createCookies=O,l.useCookies=h,Object.defineProperty(l,"__esModule",{value:!0})}(this.VueUse=this.VueUse||{},VueUse,VueDemi,UniversalCookie);
|
package/useCookies.mjs
CHANGED
|
@@ -2,77 +2,65 @@ import { tryOnScopeDispose } from '@vueuse/shared';
|
|
|
2
2
|
import { ref } from 'vue-demi';
|
|
3
3
|
import Cookie from 'universal-cookie';
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
addChangeListener: (...args) => cookies.addChangeListener(...args),
|
|
65
|
-
removeChangeListener: (...args) => cookies.removeChangeListener(...args),
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
function shouldUpdate(dependencies, newCookies, oldCookies) {
|
|
69
|
-
if (!dependencies)
|
|
70
|
-
return true;
|
|
71
|
-
for (const dependency of dependencies) {
|
|
72
|
-
if (newCookies[dependency] !== oldCookies[dependency])
|
|
73
|
-
return true;
|
|
74
|
-
}
|
|
75
|
-
return false;
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
9
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
10
|
+
var __spreadValues = (a, b) => {
|
|
11
|
+
for (var prop in b || (b = {}))
|
|
12
|
+
if (__hasOwnProp.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
if (__getOwnPropSymbols)
|
|
15
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
16
|
+
if (__propIsEnum.call(b, prop))
|
|
17
|
+
__defNormalProp(a, prop, b[prop]);
|
|
18
|
+
}
|
|
19
|
+
return a;
|
|
20
|
+
};
|
|
21
|
+
function createCookies(req) {
|
|
22
|
+
const universalCookie = new Cookie(req ? req.headers.cookie : null);
|
|
23
|
+
return (dependencies, { doNotParse = false, autoUpdateDependencies = false } = {}) => useCookies(dependencies, { doNotParse, autoUpdateDependencies }, universalCookie);
|
|
24
|
+
}
|
|
25
|
+
function useCookies(dependencies, { doNotParse = false, autoUpdateDependencies = false } = {}, cookies = new Cookie()) {
|
|
26
|
+
const watchingDependencies = autoUpdateDependencies ? [...dependencies || []] : dependencies;
|
|
27
|
+
let previousCookies = cookies.getAll({ doNotParse: true });
|
|
28
|
+
const touches = ref(0);
|
|
29
|
+
const onChange = () => {
|
|
30
|
+
const newCookies = cookies.getAll({ doNotParse: true });
|
|
31
|
+
if (shouldUpdate(watchingDependencies || null, newCookies, previousCookies))
|
|
32
|
+
touches.value++;
|
|
33
|
+
previousCookies = newCookies;
|
|
34
|
+
};
|
|
35
|
+
cookies.addChangeListener(onChange);
|
|
36
|
+
tryOnScopeDispose(() => {
|
|
37
|
+
cookies.removeChangeListener(onChange);
|
|
38
|
+
});
|
|
39
|
+
return {
|
|
40
|
+
get: (...args) => {
|
|
41
|
+
if (autoUpdateDependencies && watchingDependencies && !watchingDependencies.includes(args[0]))
|
|
42
|
+
watchingDependencies.push(args[0]);
|
|
43
|
+
touches.value;
|
|
44
|
+
return cookies.get(args[0], __spreadValues({ doNotParse }, args[1]));
|
|
45
|
+
},
|
|
46
|
+
getAll: (...args) => {
|
|
47
|
+
touches.value;
|
|
48
|
+
return cookies.getAll(__spreadValues({ doNotParse }, args[0]));
|
|
49
|
+
},
|
|
50
|
+
set: (...args) => cookies.set(...args),
|
|
51
|
+
remove: (...args) => cookies.remove(...args),
|
|
52
|
+
addChangeListener: (...args) => cookies.addChangeListener(...args),
|
|
53
|
+
removeChangeListener: (...args) => cookies.removeChangeListener(...args)
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function shouldUpdate(dependencies, newCookies, oldCookies) {
|
|
57
|
+
if (!dependencies)
|
|
58
|
+
return true;
|
|
59
|
+
for (const dependency of dependencies) {
|
|
60
|
+
if (newCookies[dependency] !== oldCookies[dependency])
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
return false;
|
|
76
64
|
}
|
|
77
65
|
|
|
78
66
|
export { createCookies, useCookies };
|
package/useDrauu.cjs
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var vueDemi = require('vue-demi');
|
|
6
|
+
var drauu = require('drauu');
|
|
7
|
+
var core = require('@vueuse/core');
|
|
8
|
+
var shared = require('@vueuse/shared');
|
|
9
|
+
|
|
10
|
+
var __defProp = Object.defineProperty;
|
|
11
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
12
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
13
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
14
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
15
|
+
var __spreadValues = (a, b) => {
|
|
16
|
+
for (var prop in b || (b = {}))
|
|
17
|
+
if (__hasOwnProp.call(b, prop))
|
|
18
|
+
__defNormalProp(a, prop, b[prop]);
|
|
19
|
+
if (__getOwnPropSymbols)
|
|
20
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
21
|
+
if (__propIsEnum.call(b, prop))
|
|
22
|
+
__defNormalProp(a, prop, b[prop]);
|
|
23
|
+
}
|
|
24
|
+
return a;
|
|
25
|
+
};
|
|
26
|
+
function useDrauu(target, options) {
|
|
27
|
+
const drauuInstance = vueDemi.ref();
|
|
28
|
+
let disposables = [];
|
|
29
|
+
const onChangedHook = core.createEventHook();
|
|
30
|
+
const onCanceledHook = core.createEventHook();
|
|
31
|
+
const onCommittedHook = core.createEventHook();
|
|
32
|
+
const onStartHook = core.createEventHook();
|
|
33
|
+
const onEndHook = core.createEventHook();
|
|
34
|
+
const canUndo = vueDemi.ref(false);
|
|
35
|
+
const canRedo = vueDemi.ref(false);
|
|
36
|
+
const altPressed = vueDemi.ref(false);
|
|
37
|
+
const shiftPressed = vueDemi.ref(false);
|
|
38
|
+
const brush = vueDemi.ref({
|
|
39
|
+
color: "black",
|
|
40
|
+
size: 3,
|
|
41
|
+
arrowEnd: false,
|
|
42
|
+
cornerRadius: 0,
|
|
43
|
+
dasharray: void 0,
|
|
44
|
+
fill: "transparent",
|
|
45
|
+
mode: "draw"
|
|
46
|
+
});
|
|
47
|
+
vueDemi.watch(brush, () => {
|
|
48
|
+
const instance = drauuInstance.value;
|
|
49
|
+
if (instance)
|
|
50
|
+
instance.brush = brush.value;
|
|
51
|
+
}, { deep: true });
|
|
52
|
+
const undo = () => {
|
|
53
|
+
var _a;
|
|
54
|
+
return (_a = drauuInstance.value) == null ? void 0 : _a.undo();
|
|
55
|
+
};
|
|
56
|
+
const redo = () => {
|
|
57
|
+
var _a;
|
|
58
|
+
return (_a = drauuInstance.value) == null ? void 0 : _a.redo();
|
|
59
|
+
};
|
|
60
|
+
const clear = () => {
|
|
61
|
+
var _a;
|
|
62
|
+
return (_a = drauuInstance.value) == null ? void 0 : _a.clear();
|
|
63
|
+
};
|
|
64
|
+
const cancel = () => {
|
|
65
|
+
var _a;
|
|
66
|
+
return (_a = drauuInstance.value) == null ? void 0 : _a.cancel();
|
|
67
|
+
};
|
|
68
|
+
const load = (svg) => {
|
|
69
|
+
var _a;
|
|
70
|
+
return (_a = drauuInstance.value) == null ? void 0 : _a.load(svg);
|
|
71
|
+
};
|
|
72
|
+
const dump = () => {
|
|
73
|
+
var _a;
|
|
74
|
+
return (_a = drauuInstance.value) == null ? void 0 : _a.dump();
|
|
75
|
+
};
|
|
76
|
+
const cleanup = () => {
|
|
77
|
+
var _a;
|
|
78
|
+
disposables.forEach((dispose) => dispose());
|
|
79
|
+
(_a = drauuInstance.value) == null ? void 0 : _a.unmount();
|
|
80
|
+
};
|
|
81
|
+
const syncStatus = () => {
|
|
82
|
+
if (drauuInstance.value) {
|
|
83
|
+
canUndo.value = drauuInstance.value.canUndo();
|
|
84
|
+
canRedo.value = drauuInstance.value.canRedo();
|
|
85
|
+
altPressed.value = drauuInstance.value.altPressed;
|
|
86
|
+
shiftPressed.value = drauuInstance.value.shiftPressed;
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
vueDemi.watch(() => core.unrefElement(target), (el) => {
|
|
90
|
+
if (!el || !(el instanceof SVGSVGElement))
|
|
91
|
+
return;
|
|
92
|
+
if (drauuInstance.value)
|
|
93
|
+
cleanup();
|
|
94
|
+
drauuInstance.value = drauu.createDrauu(__spreadValues({ el }, options));
|
|
95
|
+
syncStatus();
|
|
96
|
+
disposables = [
|
|
97
|
+
drauuInstance.value.on("canceled", () => onCanceledHook.trigger()),
|
|
98
|
+
drauuInstance.value.on("committed", () => onCommittedHook.trigger()),
|
|
99
|
+
drauuInstance.value.on("start", () => onStartHook.trigger()),
|
|
100
|
+
drauuInstance.value.on("end", () => onEndHook.trigger()),
|
|
101
|
+
drauuInstance.value.on("changed", () => {
|
|
102
|
+
syncStatus();
|
|
103
|
+
onChangedHook.trigger();
|
|
104
|
+
})
|
|
105
|
+
];
|
|
106
|
+
}, { flush: "post" });
|
|
107
|
+
shared.tryOnScopeDispose(() => cleanup());
|
|
108
|
+
return {
|
|
109
|
+
drauuInstance,
|
|
110
|
+
load,
|
|
111
|
+
dump,
|
|
112
|
+
clear,
|
|
113
|
+
cancel,
|
|
114
|
+
undo,
|
|
115
|
+
redo,
|
|
116
|
+
canUndo,
|
|
117
|
+
canRedo,
|
|
118
|
+
brush,
|
|
119
|
+
onChanged: onChangedHook.on,
|
|
120
|
+
onCommitted: onCommittedHook.on,
|
|
121
|
+
onStart: onStartHook.on,
|
|
122
|
+
onEnd: onEndHook.on,
|
|
123
|
+
onCanceled: onCanceledHook.on
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
exports.useDrauu = useDrauu;
|
package/useDrauu.d.ts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Ref } from 'vue-demi';
|
|
2
|
+
import { Options, Drauu, Brush } from 'drauu';
|
|
3
|
+
import { EventHookOn, MaybeElementRef } from '@vueuse/core';
|
|
4
|
+
|
|
5
|
+
declare type UseDrauuOptions = Omit<Options, 'el'>;
|
|
6
|
+
interface UseDrauuReturn {
|
|
7
|
+
drauuInstance: Ref<Drauu | undefined>;
|
|
8
|
+
load: (svg: string) => void;
|
|
9
|
+
dump: () => string | undefined;
|
|
10
|
+
clear: () => void;
|
|
11
|
+
cancel: () => void;
|
|
12
|
+
undo: () => boolean | undefined;
|
|
13
|
+
redo: () => boolean | undefined;
|
|
14
|
+
canUndo: Ref<boolean>;
|
|
15
|
+
canRedo: Ref<boolean>;
|
|
16
|
+
brush: Ref<Brush>;
|
|
17
|
+
onChanged: EventHookOn;
|
|
18
|
+
onCommitted: EventHookOn;
|
|
19
|
+
onStart: EventHookOn;
|
|
20
|
+
onEnd: EventHookOn;
|
|
21
|
+
onCanceled: EventHookOn;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Reactive drauu
|
|
25
|
+
*
|
|
26
|
+
* @see https://vueuse.org/useDrauu
|
|
27
|
+
* @param target The target svg element
|
|
28
|
+
* @param options Drauu Options
|
|
29
|
+
*/
|
|
30
|
+
declare function useDrauu(target: MaybeElementRef, options?: UseDrauuOptions): UseDrauuReturn;
|
|
31
|
+
|
|
32
|
+
export { UseDrauuOptions, UseDrauuReturn, useDrauu };
|
package/useDrauu.iife.js
ADDED
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
;(function (window) {
|
|
2
|
+
if (window.VueDemi) {
|
|
3
|
+
return
|
|
4
|
+
}
|
|
5
|
+
var VueDemi = {}
|
|
6
|
+
var Vue = window.Vue
|
|
7
|
+
if (Vue) {
|
|
8
|
+
if (Vue.version.slice(0, 2) === '2.') {
|
|
9
|
+
var VueCompositionAPI = window.VueCompositionAPI
|
|
10
|
+
if (VueCompositionAPI) {
|
|
11
|
+
for (var key in VueCompositionAPI) {
|
|
12
|
+
VueDemi[key] = VueCompositionAPI[key]
|
|
13
|
+
}
|
|
14
|
+
VueDemi.isVue2 = true
|
|
15
|
+
VueDemi.isVue3 = false
|
|
16
|
+
VueDemi.install = function (){}
|
|
17
|
+
VueDemi.Vue = Vue
|
|
18
|
+
VueDemi.Vue2 = Vue
|
|
19
|
+
VueDemi.version = Vue.version
|
|
20
|
+
} else {
|
|
21
|
+
console.error(
|
|
22
|
+
'[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.'
|
|
23
|
+
)
|
|
24
|
+
}
|
|
25
|
+
} else if (Vue.version.slice(0, 2) === '3.') {
|
|
26
|
+
for (var key in Vue) {
|
|
27
|
+
VueDemi[key] = Vue[key]
|
|
28
|
+
}
|
|
29
|
+
VueDemi.isVue2 = false
|
|
30
|
+
VueDemi.isVue3 = true
|
|
31
|
+
VueDemi.install = function (){}
|
|
32
|
+
VueDemi.Vue = Vue
|
|
33
|
+
VueDemi.Vue2 = undefined
|
|
34
|
+
VueDemi.version = Vue.version
|
|
35
|
+
VueDemi.set = function(target, key, val) {
|
|
36
|
+
if (Array.isArray(target)) {
|
|
37
|
+
target.length = Math.max(target.length, key)
|
|
38
|
+
target.splice(key, 1, val)
|
|
39
|
+
return val
|
|
40
|
+
}
|
|
41
|
+
target[key] = val
|
|
42
|
+
return val
|
|
43
|
+
}
|
|
44
|
+
VueDemi.del = function(target, key) {
|
|
45
|
+
if (Array.isArray(target)) {
|
|
46
|
+
target.splice(key, 1)
|
|
47
|
+
return
|
|
48
|
+
}
|
|
49
|
+
delete target[key]
|
|
50
|
+
}
|
|
51
|
+
} else {
|
|
52
|
+
console.error('[vue-demi] Vue version ' + Vue.version + ' is unsupported.')
|
|
53
|
+
}
|
|
54
|
+
} else {
|
|
55
|
+
console.error(
|
|
56
|
+
'[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`.'
|
|
57
|
+
)
|
|
58
|
+
}
|
|
59
|
+
window.VueDemi = VueDemi
|
|
60
|
+
})(window)
|
|
61
|
+
;
|
|
62
|
+
;(function (exports, vueDemi, drauu, core, shared) {
|
|
63
|
+
'use strict';
|
|
64
|
+
|
|
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
|
+
};
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
exports.useDrauu = useDrauu;
|
|
183
|
+
|
|
184
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
185
|
+
|
|
186
|
+
})(this.VueUse = this.VueUse || {}, VueDemi, Drauu, VueUse, VueUse);
|
|
@@ -0,0 +1 @@
|
|
|
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);
|