@annotorious/svelte 3.0.0-rc.3 → 3.0.0-rc.4
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/dist/annotorious-svelte.es.js +2 -2
- package/dist/annotorious-svelte.es10.js +122 -2
- package/dist/annotorious-svelte.es10.js.map +1 -1
- package/dist/annotorious-svelte.es11.js +2 -20662
- package/dist/annotorious-svelte.es11.js.map +1 -1
- package/dist/annotorious-svelte.es12.js +15 -118
- package/dist/annotorious-svelte.es12.js.map +1 -1
- package/dist/annotorious-svelte.es13.js +4 -2
- package/dist/annotorious-svelte.es13.js.map +1 -1
- package/dist/annotorious-svelte.es14.js +7 -16
- package/dist/annotorious-svelte.es14.js.map +1 -1
- package/dist/annotorious-svelte.es15.js +7 -4
- package/dist/annotorious-svelte.es15.js.map +1 -1
- package/dist/annotorious-svelte.es4.js +1 -1
- package/dist/annotorious-svelte.es5.js +353 -353
- package/dist/annotorious-svelte.es5.js.map +1 -1
- package/dist/annotorious-svelte.es6.js +14 -15
- package/dist/annotorious-svelte.es6.js.map +1 -1
- package/dist/annotorious-svelte.es7.js +9 -9
- package/dist/annotorious-svelte.es8.js.map +1 -1
- package/dist/annotorious-svelte.es9.js +20123 -6
- package/dist/annotorious-svelte.es9.js.map +1 -1
- package/package.json +2 -2
- package/dist/annotorious-svelte.es16.js +0 -11
- package/dist/annotorious-svelte.es16.js.map +0 -1
- package/dist/annotorious-svelte.es17.js +0 -10
- package/dist/annotorious-svelte.es17.js.map +0 -1
- package/dist/annotorious-svelte.es18.js +0 -5
- package/dist/annotorious-svelte.es18.js.map +0 -1
|
@@ -3,12 +3,12 @@ import { PointerSelectAction as o } from "./annotorious-svelte.es3.js";
|
|
|
3
3
|
import { createBody as e } from "./annotorious-svelte.es4.js";
|
|
4
4
|
import { ShapeType as t, W3CImageFormat as r } from "./annotorious-svelte.es5.js";
|
|
5
5
|
import { default as u } from "./annotorious-svelte.es6.js";
|
|
6
|
-
import { default as
|
|
6
|
+
import { default as A } from "./annotorious-svelte.es7.js";
|
|
7
7
|
const c = o, m = e, s = t, i = r;
|
|
8
8
|
export {
|
|
9
9
|
l as MouseOverTooltip,
|
|
10
10
|
u as OpenSeadragonAnnotator,
|
|
11
|
-
|
|
11
|
+
A as OpenSeadragonPopup,
|
|
12
12
|
c as PointerSelectAction,
|
|
13
13
|
s as ShapeType,
|
|
14
14
|
i as W3CImageFormat,
|
|
@@ -1,3 +1,123 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
var F = { dragStart: !0 }, rt = (e, s, i) => Math.min(Math.max(e, s), i), G = (e) => typeof e == "string", dt = ([e, s], i, d) => {
|
|
2
|
+
const u = (y, f) => f === 0 ? 0 : Math.ceil(y / f) * f;
|
|
3
|
+
return [u(i, e), u(d, s)];
|
|
4
|
+
}, ot = (e, s) => e.some((i) => s.some((d) => i.contains(d)));
|
|
5
|
+
function I(e, s) {
|
|
6
|
+
if (e === void 0)
|
|
7
|
+
return;
|
|
8
|
+
if (J(e))
|
|
9
|
+
return e.getBoundingClientRect();
|
|
10
|
+
if (typeof e == "object") {
|
|
11
|
+
const { top: d = 0, left: u = 0, right: y = 0, bottom: f = 0 } = e;
|
|
12
|
+
return { top: d, right: window.innerWidth - y, bottom: window.innerHeight - f, left: u };
|
|
13
|
+
}
|
|
14
|
+
if (e === "parent")
|
|
15
|
+
return s.parentNode.getBoundingClientRect();
|
|
16
|
+
const i = document.querySelector(e);
|
|
17
|
+
if (i === null)
|
|
18
|
+
throw new Error("The selector provided for bound doesn't exists in the document.");
|
|
19
|
+
return i.getBoundingClientRect();
|
|
20
|
+
}
|
|
21
|
+
var H = (e, s, i) => e.style.setProperty(s, i), J = (e) => e instanceof HTMLElement, ut = (e, s = {}) => {
|
|
22
|
+
let i, d, { bounds: u, axis: y = "both", gpuAcceleration: f = !0, legacyTranslate: K = !0, transform: L, applyUserSelectHack: P = !0, disabled: O = !1, ignoreMultitouch: Q = !1, recomputeBounds: x = F, grid: T, position: p, cancel: N, handle: D, defaultClass: M = "neodrag", defaultClassDragging: X = "neodrag-dragging", defaultClassDragged: S = "neodrag-dragged", defaultPosition: it = { x: 0, y: 0 }, onDragStart: at, onDrag: st, onDragEnd: lt } = s, B = !1, b = 0, w = 0, A = 0, C = 0, Y = 0, q = 0, { x: $, y: R } = p ? { x: (p == null ? void 0 : p.x) ?? 0, y: (p == null ? void 0 : p.y) ?? 0 } : it;
|
|
23
|
+
W($, R);
|
|
24
|
+
let g, v, E, k, V, Z = "", ct = !!p;
|
|
25
|
+
x = { ...F, ...x };
|
|
26
|
+
const U = document.body.style, m = e.classList;
|
|
27
|
+
function W(t = b, r = w) {
|
|
28
|
+
if (!L) {
|
|
29
|
+
if (K) {
|
|
30
|
+
let a = `${+t}px, ${+r}px`;
|
|
31
|
+
return H(e, "transform", f ? `translate3d(${a}, 0)` : `translate(${a})`);
|
|
32
|
+
}
|
|
33
|
+
return H(e, "translate", `${+t}px ${+r}px ${f ? "1px" : ""}`);
|
|
34
|
+
}
|
|
35
|
+
const o = L({ offsetX: t, offsetY: r, rootNode: e });
|
|
36
|
+
G(o) && H(e, "transform", o);
|
|
37
|
+
}
|
|
38
|
+
const j = (t, r) => {
|
|
39
|
+
const o = { offsetX: b, offsetY: w, rootNode: e, currentNode: V };
|
|
40
|
+
e.dispatchEvent(new CustomEvent(t, { detail: o })), r == null || r(o);
|
|
41
|
+
}, z = addEventListener;
|
|
42
|
+
z("pointerdown", tt, !1), z("pointerup", et, !1), z("pointermove", nt, !1), H(e, "touch-action", "none");
|
|
43
|
+
const _ = () => {
|
|
44
|
+
let t = e.offsetWidth / v.width;
|
|
45
|
+
return isNaN(t) && (t = 1), t;
|
|
46
|
+
};
|
|
47
|
+
function tt(t) {
|
|
48
|
+
if (O || t.button === 2 || Q && !t.isPrimary)
|
|
49
|
+
return;
|
|
50
|
+
if (x.dragStart && (g = I(u, e)), G(D) && G(N) && D === N)
|
|
51
|
+
throw new Error("`handle` selector can't be same as `cancel` selector");
|
|
52
|
+
if (m.add(M), E = function(n, c) {
|
|
53
|
+
if (!n)
|
|
54
|
+
return [c];
|
|
55
|
+
if (J(n))
|
|
56
|
+
return [n];
|
|
57
|
+
if (Array.isArray(n))
|
|
58
|
+
return n;
|
|
59
|
+
const h = c.querySelectorAll(n);
|
|
60
|
+
if (h === null)
|
|
61
|
+
throw new Error("Selector passed for `handle` option should be child of the element on which the action is applied");
|
|
62
|
+
return Array.from(h.values());
|
|
63
|
+
}(D, e), k = function(n, c) {
|
|
64
|
+
if (!n)
|
|
65
|
+
return [];
|
|
66
|
+
if (J(n))
|
|
67
|
+
return [n];
|
|
68
|
+
if (Array.isArray(n))
|
|
69
|
+
return n;
|
|
70
|
+
const h = c.querySelectorAll(n);
|
|
71
|
+
if (h === null)
|
|
72
|
+
throw new Error("Selector passed for `cancel` option should be child of the element on which the action is applied");
|
|
73
|
+
return Array.from(h.values());
|
|
74
|
+
}(N, e), i = /(both|x)/.test(y), d = /(both|y)/.test(y), ot(k, E))
|
|
75
|
+
throw new Error("Element being dragged can't be a child of the element on which `cancel` is applied");
|
|
76
|
+
const r = t.composedPath()[0];
|
|
77
|
+
if (!E.some((n) => {
|
|
78
|
+
var c;
|
|
79
|
+
return n.contains(r) || ((c = n.shadowRoot) == null ? void 0 : c.contains(r));
|
|
80
|
+
}) || ot(k, [r]))
|
|
81
|
+
return;
|
|
82
|
+
V = E.length === 1 ? e : E.find((n) => n.contains(r)), B = !0, v = e.getBoundingClientRect(), P && (Z = U.userSelect, U.userSelect = "none"), j("neodrag:start", at);
|
|
83
|
+
const { clientX: o, clientY: a } = t, l = _();
|
|
84
|
+
i && (A = o - $ / l), d && (C = a - R / l), g && (Y = o - v.left, q = a - v.top);
|
|
85
|
+
}
|
|
86
|
+
function et() {
|
|
87
|
+
B && (x.dragEnd && (g = I(u, e)), m.remove(X), m.add(S), P && (U.userSelect = Z), j("neodrag:end", lt), i && (A = b), d && (C = w), B = !1);
|
|
88
|
+
}
|
|
89
|
+
function nt(t) {
|
|
90
|
+
if (!B)
|
|
91
|
+
return;
|
|
92
|
+
x.drag && (g = I(u, e)), m.add(X), t.preventDefault(), v = e.getBoundingClientRect();
|
|
93
|
+
let r = t.clientX, o = t.clientY;
|
|
94
|
+
const a = _();
|
|
95
|
+
if (g) {
|
|
96
|
+
const l = { left: g.left + Y, top: g.top + q, right: g.right + Y - v.width, bottom: g.bottom + q - v.height };
|
|
97
|
+
r = rt(r, l.left, l.right), o = rt(o, l.top, l.bottom);
|
|
98
|
+
}
|
|
99
|
+
if (Array.isArray(T)) {
|
|
100
|
+
let [l, n] = T;
|
|
101
|
+
if (isNaN(+l) || l < 0)
|
|
102
|
+
throw new Error("1st argument of `grid` must be a valid positive number");
|
|
103
|
+
if (isNaN(+n) || n < 0)
|
|
104
|
+
throw new Error("2nd argument of `grid` must be a valid positive number");
|
|
105
|
+
let c = r - A, h = o - C;
|
|
106
|
+
[c, h] = dt([l / a, n / a], c, h), r = A + c, o = C + h;
|
|
107
|
+
}
|
|
108
|
+
i && (b = Math.round((r - A) * a)), d && (w = Math.round((o - C) * a)), $ = b, R = w, j("neodrag", st), W();
|
|
109
|
+
}
|
|
110
|
+
return { destroy: () => {
|
|
111
|
+
const t = removeEventListener;
|
|
112
|
+
t("pointerdown", tt, !1), t("pointerup", et, !1), t("pointermove", nt, !1);
|
|
113
|
+
}, update: (t) => {
|
|
114
|
+
var o, a;
|
|
115
|
+
y = t.axis || "both", O = t.disabled ?? !1, Q = t.ignoreMultitouch ?? !1, D = t.handle, u = t.bounds, x = t.recomputeBounds ?? F, N = t.cancel, P = t.applyUserSelectHack ?? !0, T = t.grid, f = t.gpuAcceleration ?? !0, K = t.legacyTranslate ?? !0, L = t.transform;
|
|
116
|
+
const r = m.contains(S);
|
|
117
|
+
m.remove(M, S), M = t.defaultClass ?? "neodrag", X = t.defaultClassDragging ?? "neodrag-dragging", S = t.defaultClassDragged ?? "neodrag-dragged", m.add(M), r && m.add(S), ct && ($ = b = ((o = t.position) == null ? void 0 : o.x) ?? b, R = w = ((a = t.position) == null ? void 0 : a.y) ?? w, W());
|
|
118
|
+
} };
|
|
119
|
+
};
|
|
120
|
+
export {
|
|
121
|
+
ut as draggable
|
|
122
|
+
};
|
|
3
123
|
//# sourceMappingURL=annotorious-svelte.es10.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotorious-svelte.es10.js","sources":["../../annotorious-core/src/presence/PresenceState.ts"],"sourcesContent":["import { nanoid } from 'nanoid';\nimport { createNanoEvents, type Unsubscribe } from 'nanoevents';\nimport type { User } from '../model';\nimport type { PresentUser } from './PresentUser';\nimport type { PresenceEvents } from './PresenceEvents';\nimport { createDefaultAppearenceProvider } from './AppearanceProvider';\nimport type { AppearanceProvider } from './AppearanceProvider';\n\nexport interface PresenceState {\n\n // Get users currently present to this room\n getPresentUsers(): PresentUser[];\n\n // Notify of a given present user's activity on the given annotations\n notifyActivity(presenceKey: string, annotationIds: string[]): void;\n\n // Add a listener for the given presence event\n on<E extends keyof PresenceEvents>(event: E, callback: PresenceEvents[E]): Unsubscribe;\n\n // Initial sync - which users are present under which keys\n syncUsers(state: { presenceKey: string, user: User }[]): void;\n\n // Update the selection state for the given prresent user\n updateSelection(presenceKey: string, selection: string[] | null): void;\n\n}\n\nconst isListEqual = (listA: any[], listB: any[]) => \n listA.every(a => listA.includes(a)) && listB.every(b => listA.includes(b));\n\n// This client's presence key\nexport const PRESENCE_KEY = nanoid();\n\nexport const createPresenceState = (\n appearanceProvider: AppearanceProvider = createDefaultAppearenceProvider()\n): PresenceState => {\n\n const emitter = createNanoEvents<PresenceEvents>();\n\n const presentUsers = new Map<string, PresentUser>();\n\n const selectionStates = new Map<string, string[]>();\n\n const addUser = (presenceKey: string, user: User) => {\n if (presentUsers.has(presenceKey)) {\n console.warn('Attempt to add user that is already present', presenceKey, user);\n return; \n }\n\n const appearance = appearanceProvider.addUser(presenceKey, user);\n\n presentUsers.set(presenceKey, { \n ...user,\n presenceKey,\n appearance\n });\n }\n\n const removeUser = (presenceKey: string) => {\n const user = presentUsers.get(presenceKey);\n if (!user) {\n console.warn('Attempt to remove user that is not present', presenceKey);\n return;\n }\n\n appearanceProvider.removeUser(user);\n\n presentUsers.delete(presenceKey);\n }\n\n const syncUsers = (state: { presenceKey: string, user: User }[]) => {\n // const keys = new Set(others.map(s => s.presenceKey));\n const keys = new Set(state.map(s => s.presenceKey));\n\n // These users need to be added to the presentUsers list\n // const toAdd = others.filter(({ presenceKey }) => !presentUsers.has(presenceKey));\n const toAdd = state.filter(({ presenceKey }) => !presentUsers.has(presenceKey));\n\n // These users need to be dropped from the list\n const toRemove = Array.from(presentUsers.values()).filter(presentUser =>\n !keys.has(presentUser.presenceKey));\n\n toAdd.forEach(({ presenceKey, user }) => addUser(presenceKey, user));\n\n toRemove.forEach(user => {\n const { presenceKey } = user;\n\n // If this user has a selection, fire deselect event\n if (selectionStates.has(presenceKey))\n emitter.emit('selectionChange', user, null);\n\n removeUser(presenceKey)\n });\n\n if (toAdd.length > 0 || toRemove.length > 0)\n emitter.emit('presence', getPresentUsers());\n }\n\n const notifyActivity = (presenceKey: string, annotationIds: string[]) => { \n const user = presentUsers.get(presenceKey);\n \n if (!user) {\n console.warn('Activity notification from user that is not present');\n return;\n }\n\n const currentSelection = selectionStates.get(presenceKey);\n\n // Was there a selection change we might have missed?\n if (!currentSelection || !isListEqual(currentSelection, annotationIds)) {\n selectionStates.set(presenceKey, annotationIds);\n emitter.emit('selectionChange', user, annotationIds);\n }\n }\n\n const updateSelection = (presenceKey: string, selection: string[] | null) => {\n const from = presentUsers.get(presenceKey);\n if (!from) {\n console.warn('Selection change for user that is not present', presenceKey);\n return;\n }\n\n if (selection)\n selectionStates.set(presenceKey, selection);\n else \n selectionStates.delete(presenceKey);\n\n emitter.emit('selectionChange', from, selection);\n }\n\n const getPresentUsers = () =>\n [...Array.from(presentUsers.values())];\n \n const on = <E extends keyof PresenceEvents>(event: E, callback: PresenceEvents[E]) =>\n emitter.on(event, callback);\n\n return {\n getPresentUsers,\n notifyActivity,\n on,\n syncUsers,\n updateSelection\n }\n\n}"],"names":["nanoid"],"mappings":";AA+B4BA,EAAO;"}
|
|
1
|
+
{"version":3,"file":"annotorious-svelte.es10.js","sources":["../../../node_modules/@neodrag/svelte/dist/min/index.js"],"sourcesContent":["var t={dragStart:!0},e=(t,e,n)=>Math.min(Math.max(t,e),n),n=t=>\"string\"==typeof t,r=([t,e],n,r)=>{const o=(t,e)=>0===e?0:Math.ceil(t/e)*e;return[o(n,t),o(r,e)]};var o=(t,e)=>t.some((t=>e.some((e=>t.contains(e)))));function i(t,e){if(void 0===t)return;if(s(t))return t.getBoundingClientRect();if(\"object\"==typeof t){const{top:e=0,left:n=0,right:r=0,bottom:o=0}=t;return{top:e,right:window.innerWidth-r,bottom:window.innerHeight-o,left:n}}if(\"parent\"===t)return e.parentNode.getBoundingClientRect();const n=document.querySelector(t);if(null===n)throw new Error(\"The selector provided for bound doesn't exists in the document.\");return n.getBoundingClientRect()}var a=(t,e,n)=>t.style.setProperty(e,n),s=t=>t instanceof HTMLElement,d=(d,l={})=>{let c,u,{bounds:f,axis:g=\"both\",gpuAcceleration:h=!0,legacyTranslate:p=!0,transform:m,applyUserSelectHack:y=!0,disabled:b=!1,ignoreMultitouch:w=!1,recomputeBounds:v=t,grid:x,position:E,cancel:S,handle:A,defaultClass:C=\"neodrag\",defaultClassDragging:N=\"neodrag-dragging\",defaultClassDragged:D=\"neodrag-dragged\",defaultPosition:M={x:0,y:0},onDragStart:B,onDrag:$,onDragEnd:R}=l,H=!1,L=0,P=0,T=0,X=0,Y=0,q=0,{x:k,y:U}=E?{x:E?.x??0,y:E?.y??0}:M;Q(k,U);let W,j,z,F,G,I=\"\",J=!!E;v={...t,...v};const K=document.body.style,O=d.classList;function Q(t=L,e=P){if(!m){if(p){let n=`${+t}px, ${+e}px`;return a(d,\"transform\",h?`translate3d(${n}, 0)`:`translate(${n})`)}return a(d,\"translate\",`${+t}px ${+e}px ${h?\"1px\":\"\"}`)}const r=m({offsetX:t,offsetY:e,rootNode:d});n(r)&&a(d,\"transform\",r)}const V=(t,e)=>{const n={offsetX:L,offsetY:P,rootNode:d,currentNode:G};d.dispatchEvent(new CustomEvent(t,{detail:n})),e?.(n)};const Z=addEventListener;Z(\"pointerdown\",tt,!1),Z(\"pointerup\",et,!1),Z(\"pointermove\",nt,!1),a(d,\"touch-action\",\"none\");const _=()=>{let t=d.offsetWidth/j.width;return isNaN(t)&&(t=1),t};function tt(t){if(b)return;if(2===t.button)return;if(w&&!t.isPrimary)return;if(v.dragStart&&(W=i(f,d)),n(A)&&n(S)&&A===S)throw new Error(\"`handle` selector can't be same as `cancel` selector\");if(O.add(C),z=function(t,e){if(!t)return[e];if(s(t))return[t];if(Array.isArray(t))return t;const n=e.querySelectorAll(t);if(null===n)throw new Error(\"Selector passed for `handle` option should be child of the element on which the action is applied\");return Array.from(n.values())}(A,d),F=function(t,e){if(!t)return[];if(s(t))return[t];if(Array.isArray(t))return t;const n=e.querySelectorAll(t);if(null===n)throw new Error(\"Selector passed for `cancel` option should be child of the element on which the action is applied\");return Array.from(n.values())}(S,d),c=/(both|x)/.test(g),u=/(both|y)/.test(g),o(F,z))throw new Error(\"Element being dragged can't be a child of the element on which `cancel` is applied\");const e=t.composedPath()[0];if(!z.some((t=>t.contains(e)||t.shadowRoot?.contains(e)))||o(F,[e]))return;G=1===z.length?d:z.find((t=>t.contains(e))),H=!0,j=d.getBoundingClientRect(),y&&(I=K.userSelect,K.userSelect=\"none\"),V(\"neodrag:start\",B);const{clientX:r,clientY:a}=t,l=_();c&&(T=r-k/l),u&&(X=a-U/l),W&&(Y=r-j.left,q=a-j.top)}function et(){H&&(v.dragEnd&&(W=i(f,d)),O.remove(N),O.add(D),y&&(K.userSelect=I),V(\"neodrag:end\",R),c&&(T=L),u&&(X=P),H=!1)}function nt(t){if(!H)return;v.drag&&(W=i(f,d)),O.add(N),t.preventDefault(),j=d.getBoundingClientRect();let n=t.clientX,o=t.clientY;const a=_();if(W){const t={left:W.left+Y,top:W.top+q,right:W.right+Y-j.width,bottom:W.bottom+q-j.height};n=e(n,t.left,t.right),o=e(o,t.top,t.bottom)}if(Array.isArray(x)){let[t,e]=x;if(isNaN(+t)||t<0)throw new Error(\"1st argument of `grid` must be a valid positive number\");if(isNaN(+e)||e<0)throw new Error(\"2nd argument of `grid` must be a valid positive number\");let i=n-T,s=o-X;[i,s]=r([t/a,e/a],i,s),n=T+i,o=X+s}c&&(L=Math.round((n-T)*a)),u&&(P=Math.round((o-X)*a)),k=L,U=P,V(\"neodrag\",$),Q()}return{destroy:()=>{const t=removeEventListener;t(\"pointerdown\",tt,!1),t(\"pointerup\",et,!1),t(\"pointermove\",nt,!1)},update:e=>{g=e.axis||\"both\",b=e.disabled??!1,w=e.ignoreMultitouch??!1,A=e.handle,f=e.bounds,v=e.recomputeBounds??t,S=e.cancel,y=e.applyUserSelectHack??!0,x=e.grid,h=e.gpuAcceleration??!0,p=e.legacyTranslate??!0,m=e.transform;const n=O.contains(D);O.remove(C,D),C=e.defaultClass??\"neodrag\",N=e.defaultClassDragging??\"neodrag-dragging\",D=e.defaultClassDragged??\"neodrag-dragged\",O.add(C),n&&O.add(D),J&&(k=L=e.position?.x??L,U=P=e.position?.y??P,Q())}}};export{d as draggable};"],"names":["t","e","n","r","o","i","s","a","d","l","c","u","f","g","h","p","m","y","b","w","v","x","E","S","A","C","N","D","M","B","$","R","H","L","P","T","X","k","U","Q","W","j","z","F","G","I","J","K","O","V","Z","_a","_b"],"mappings":"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","x_google_ignoreList":[0]}
|