@annotorious/react 3.0.0-rc.3 → 3.0.0-rc.31

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.
Files changed (98) hide show
  1. package/dist/Annotorious.d.ts +12 -34
  2. package/dist/Annotorious.d.ts.map +1 -1
  3. package/dist/AnnotoriousPlugin.d.ts +8 -6
  4. package/dist/AnnotoriousPlugin.d.ts.map +1 -1
  5. package/dist/AnnotoriousPopup.d.ts +2 -1
  6. package/dist/ImageAnnotator.d.ts +2 -2
  7. package/dist/ImageAnnotator.d.ts.map +1 -1
  8. package/dist/annotorious-react.css +1 -1
  9. package/dist/annotorious-react.es.js +37 -52
  10. package/dist/annotorious-react.es.js.map +1 -1
  11. package/dist/annotorious-react.es10.js +16 -3
  12. package/dist/annotorious-react.es10.js.map +1 -1
  13. package/dist/annotorious-react.es11.js +6 -27
  14. package/dist/annotorious-react.es11.js.map +1 -1
  15. package/dist/annotorious-react.es12.js +7 -19
  16. package/dist/annotorious-react.es12.js.map +1 -1
  17. package/dist/annotorious-react.es13.js +131 -51
  18. package/dist/annotorious-react.es13.js.map +1 -1
  19. package/dist/annotorious-react.es14.js +32 -17
  20. package/dist/annotorious-react.es14.js.map +1 -1
  21. package/dist/annotorious-react.es15.js +2 -22
  22. package/dist/annotorious-react.es15.js.map +1 -1
  23. package/dist/annotorious-react.es16.js +26 -2
  24. package/dist/annotorious-react.es16.js.map +1 -1
  25. package/dist/annotorious-react.es17.js +606 -2
  26. package/dist/annotorious-react.es17.js.map +1 -1
  27. package/dist/annotorious-react.es18.js +2 -3859
  28. package/dist/annotorious-react.es18.js.map +1 -1
  29. package/dist/annotorious-react.es19.js +2 -29
  30. package/dist/annotorious-react.es19.js.map +1 -1
  31. package/dist/annotorious-react.es2.js +87 -68
  32. package/dist/annotorious-react.es2.js.map +1 -1
  33. package/dist/annotorious-react.es3.js +6 -7
  34. package/dist/annotorious-react.es3.js.map +1 -1
  35. package/dist/annotorious-react.es4.js +8 -8
  36. package/dist/annotorious-react.es4.js.map +1 -1
  37. package/dist/annotorious-react.es5.js +19 -17
  38. package/dist/annotorious-react.es5.js.map +1 -1
  39. package/dist/annotorious-react.es8.js +27 -47
  40. package/dist/annotorious-react.es8.js.map +1 -1
  41. package/dist/annotorious-react.es9.js +35 -12
  42. package/dist/annotorious-react.es9.js.map +1 -1
  43. package/dist/index.d.ts +11 -11
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/openseadragon/OpenSeadragonAnnotator.d.ts +3 -2
  46. package/dist/openseadragon/OpenSeadragonAnnotator.d.ts.map +1 -1
  47. package/dist/openseadragon/OpenSeadragonPopup.d.ts +2 -1
  48. package/dist/openseadragon/OpenSeadragonViewer.d.ts +3 -3
  49. package/dist/openseadragon/OpenSeadragonViewer.d.ts.map +1 -1
  50. package/dist/openseadragon/setPosition.d.ts +2 -1
  51. package/dist/openseadragon/setPosition.d.ts.map +1 -1
  52. package/package.json +18 -10
  53. package/dist/annotorious-react.es20.js +0 -39
  54. package/dist/annotorious-react.es20.js.map +0 -1
  55. package/dist/annotorious-react.es21.js +0 -19
  56. package/dist/annotorious-react.es21.js.map +0 -1
  57. package/dist/annotorious-react.es22.js +0 -7
  58. package/dist/annotorious-react.es22.js.map +0 -1
  59. package/dist/annotorious-react.es23.js +0 -11
  60. package/dist/annotorious-react.es23.js.map +0 -1
  61. package/dist/annotorious-react.es24.js +0 -156
  62. package/dist/annotorious-react.es24.js.map +0 -1
  63. package/dist/annotorious-react.es25.js +0 -9
  64. package/dist/annotorious-react.es25.js.map +0 -1
  65. package/dist/annotorious-react.es26.js +0 -20665
  66. package/dist/annotorious-react.es26.js.map +0 -1
  67. package/dist/annotorious-react.es27.js +0 -35
  68. package/dist/annotorious-react.es27.js.map +0 -1
  69. package/dist/annotorious-react.es28.js +0 -5
  70. package/dist/annotorious-react.es28.js.map +0 -1
  71. package/dist/annotorious-react.es29.js +0 -33
  72. package/dist/annotorious-react.es29.js.map +0 -1
  73. package/dist/annotorious-react.es30.js +0 -602
  74. package/dist/annotorious-react.es30.js.map +0 -1
  75. package/dist/annotorious-react.es31.js +0 -5
  76. package/dist/annotorious-react.es31.js.map +0 -1
  77. package/dist/annotorious-react.es32.js +0 -5
  78. package/dist/annotorious-react.es32.js.map +0 -1
  79. package/dist/annotorious-react.es33.js +0 -20
  80. package/dist/annotorious-react.es33.js.map +0 -1
  81. package/dist/annotorious-react.es34.js +0 -30
  82. package/dist/annotorious-react.es34.js.map +0 -1
  83. package/dist/annotorious-react.es35.js +0 -19
  84. package/dist/annotorious-react.es35.js.map +0 -1
  85. package/dist/annotorious-react.es36.js +0 -24
  86. package/dist/annotorious-react.es36.js.map +0 -1
  87. package/dist/annotorious-react.es37.js +0 -19
  88. package/dist/annotorious-react.es37.js.map +0 -1
  89. package/dist/annotorious-react.es38.js +0 -7
  90. package/dist/annotorious-react.es38.js.map +0 -1
  91. package/dist/annotorious-react.es39.js +0 -11
  92. package/dist/annotorious-react.es39.js.map +0 -1
  93. package/dist/annotorious-react.es40.js +0 -10
  94. package/dist/annotorious-react.es40.js.map +0 -1
  95. package/dist/annotorious-react.es6.js +0 -5
  96. package/dist/annotorious-react.es6.js.map +0 -1
  97. package/dist/annotorious-react.es7.js +0 -5
  98. package/dist/annotorious-react.es7.js.map +0 -1
@@ -1,3862 +1,5 @@
1
- function V() {
2
- }
3
- function Ke(t, e) {
4
- for (const n in e)
5
- t[n] = e[n];
6
- return t;
7
- }
8
- function Be(t) {
9
- return t();
10
- }
11
- function le() {
12
- return /* @__PURE__ */ Object.create(null);
13
- }
14
- function it(t) {
15
- t.forEach(Be);
16
- }
17
- function U(t) {
18
- return typeof t == "function";
19
- }
20
- function q(t, e) {
21
- return t != t ? e == e : t !== e || t && typeof t == "object" || typeof t == "function";
22
- }
23
- function qe(t) {
24
- return Object.keys(t).length === 0;
25
- }
26
- function Re(t, ...e) {
27
- if (t == null)
28
- return V;
29
- const n = t.subscribe(...e);
30
- return n.unsubscribe ? () => n.unsubscribe() : n;
31
- }
32
- function de(t, e, n) {
33
- t.$$.on_destroy.push(Re(e, n));
34
- }
35
- function Je(t, e, n, o) {
36
- if (t) {
37
- const r = De(t, e, n, o);
38
- return t[0](r);
39
- }
40
- }
41
- function De(t, e, n, o) {
42
- return t[1] && o ? Ke(n.ctx.slice(), t[1](o(e))) : n.ctx;
43
- }
44
- function Ze(t, e, n, o) {
45
- if (t[2] && o) {
46
- const r = t[2](o(n));
47
- if (e.dirty === void 0)
48
- return r;
49
- if (typeof r == "object") {
50
- const i = [], a = Math.max(e.dirty.length, r.length);
51
- for (let s = 0; s < a; s += 1)
52
- i[s] = e.dirty[s] | r[s];
53
- return i;
54
- }
55
- return e.dirty | r;
56
- }
57
- return e.dirty;
58
- }
59
- function Qe(t, e, n, o, r, i) {
60
- if (r) {
61
- const a = De(e, n, o, i);
62
- t.p(a, r);
63
- }
64
- }
65
- function tn(t) {
66
- if (t.ctx.length > 32) {
67
- const e = [], n = t.ctx.length / 32;
68
- for (let o = 0; o < n; o++)
69
- e[o] = -1;
70
- return e;
71
- }
72
- return -1;
73
- }
74
- function dt(t, e) {
75
- t.appendChild(e);
76
- }
77
- function L(t, e, n) {
78
- t.insertBefore(e, n || null);
79
- }
80
- function O(t) {
81
- t.parentNode && t.parentNode.removeChild(t);
82
- }
83
- function oe(t, e) {
84
- for (let n = 0; n < t.length; n += 1)
85
- t[n] && t[n].d(e);
86
- }
87
- function P(t) {
88
- return document.createElementNS("http://www.w3.org/2000/svg", t);
89
- }
90
- function Ne(t) {
91
- return document.createTextNode(t);
92
- }
93
- function tt() {
94
- return Ne(" ");
95
- }
96
- function at() {
97
- return Ne("");
98
- }
99
- function j(t, e, n, o) {
100
- return t.addEventListener(e, n, o), () => t.removeEventListener(e, n, o);
101
- }
102
- function c(t, e, n) {
103
- n == null ? t.removeAttribute(e) : t.getAttribute(e) !== n && t.setAttribute(e, n);
104
- }
105
- function en(t) {
106
- return Array.from(t.childNodes);
107
- }
108
- function ce(t, e, n) {
109
- t.classList[n ? "add" : "remove"](e);
110
- }
111
- function nn(t, e, { bubbles: n = !1, cancelable: o = !1 } = {}) {
112
- const r = document.createEvent("CustomEvent");
113
- return r.initCustomEvent(t, n, o, e), r;
114
- }
115
- let St;
116
- function Yt(t) {
117
- St = t;
118
- }
119
- function ke() {
120
- if (!St)
121
- throw new Error("Function called outside component initialization");
122
- return St;
123
- }
124
- function Xt(t) {
125
- ke().$$.on_mount.push(t);
126
- }
127
- function At() {
128
- const t = ke();
129
- return (e, n, { cancelable: o = !1 } = {}) => {
130
- const r = t.$$.callbacks[e];
131
- if (r) {
132
- const i = nn(e, n, { cancelable: o });
133
- return r.slice().forEach((a) => {
134
- a.call(t, i);
135
- }), !i.defaultPrevented;
136
- }
137
- return !0;
138
- };
139
- }
140
- function Et(t, e) {
141
- const n = t.$$.callbacks[e.type];
142
- n && n.slice().forEach((o) => o.call(this, e));
143
- }
144
- const xt = [], Vt = [];
145
- let vt = [];
146
- const ue = [], on = /* @__PURE__ */ Promise.resolve();
147
- let te = !1;
148
- function rn() {
149
- te || (te = !0, on.then(Ve));
150
- }
151
- function ee(t) {
152
- vt.push(t);
153
- }
154
- const zt = /* @__PURE__ */ new Set();
155
- let yt = 0;
156
- function Ve() {
157
- if (yt !== 0)
158
- return;
159
- const t = St;
160
- do {
161
- try {
162
- for (; yt < xt.length; ) {
163
- const e = xt[yt];
164
- yt++, Yt(e), an(e.$$);
165
- }
166
- } catch (e) {
167
- throw xt.length = 0, yt = 0, e;
168
- }
169
- for (Yt(null), xt.length = 0, yt = 0; Vt.length; )
170
- Vt.pop()();
171
- for (let e = 0; e < vt.length; e += 1) {
172
- const n = vt[e];
173
- zt.has(n) || (zt.add(n), n());
174
- }
175
- vt.length = 0;
176
- } while (xt.length);
177
- for (; ue.length; )
178
- ue.pop()();
179
- te = !1, zt.clear(), Yt(t);
180
- }
181
- function an(t) {
182
- if (t.fragment !== null) {
183
- t.update(), it(t.before_update);
184
- const e = t.dirty;
185
- t.dirty = [-1], t.fragment && t.fragment.p(t.ctx, e), t.after_update.forEach(ee);
186
- }
187
- }
188
- function sn(t) {
189
- const e = [], n = [];
190
- vt.forEach((o) => t.indexOf(o) === -1 ? e.push(o) : n.push(o)), n.forEach((o) => o()), vt = e;
191
- }
192
- const kt = /* @__PURE__ */ new Set();
193
- let ht;
194
- function ot() {
195
- ht = {
196
- r: 0,
197
- c: [],
198
- p: ht
199
- // parent group
200
- };
201
- }
202
- function rt() {
203
- ht.r || it(ht.c), ht = ht.p;
204
- }
205
- function _(t, e) {
206
- t && t.i && (kt.delete(t), t.i(e));
207
- }
208
- function R(t, e, n, o) {
209
- if (t && t.o) {
210
- if (kt.has(t))
211
- return;
212
- kt.add(t), ht.c.push(() => {
213
- kt.delete(t), o && (n && t.d(1), o());
214
- }), t.o(e);
215
- } else
216
- o && o();
217
- }
218
- function mt(t) {
219
- t && t.c();
220
- }
221
- function ct(t, e, n, o) {
222
- const { fragment: r, after_update: i } = t.$$;
223
- r && r.m(e, n), o || ee(() => {
224
- const a = t.$$.on_mount.map(Be).filter(U);
225
- t.$$.on_destroy ? t.$$.on_destroy.push(...a) : it(a), t.$$.on_mount = [];
226
- }), i.forEach(ee);
227
- }
228
- function ut(t, e) {
229
- const n = t.$$;
230
- n.fragment !== null && (sn(n.after_update), it(n.on_destroy), n.fragment && n.fragment.d(e), n.on_destroy = n.fragment = null, n.ctx = []);
231
- }
232
- function ln(t, e) {
233
- t.$$.dirty[0] === -1 && (xt.push(t), rn(), t.$$.dirty.fill(0)), t.$$.dirty[e / 31 | 0] |= 1 << e % 31;
234
- }
235
- function et(t, e, n, o, r, i, a, s = [-1]) {
236
- const l = St;
237
- Yt(t);
238
- const h = t.$$ = {
239
- fragment: null,
240
- ctx: [],
241
- // state
242
- props: i,
243
- update: V,
244
- not_equal: r,
245
- bound: le(),
246
- // lifecycle
247
- on_mount: [],
248
- on_destroy: [],
249
- on_disconnect: [],
250
- before_update: [],
251
- after_update: [],
252
- context: new Map(e.context || (l ? l.$$.context : [])),
253
- // everything else
254
- callbacks: le(),
255
- dirty: s,
256
- skip_bound: !1,
257
- root: e.target || l.$$.root
258
- };
259
- a && a(h.root);
260
- let m = !1;
261
- if (h.ctx = n ? n(t, e.props || {}, (d, u, ...p) => {
262
- const g = p.length ? p[0] : u;
263
- return h.ctx && r(h.ctx[d], h.ctx[d] = g) && (!h.skip_bound && h.bound[d] && h.bound[d](g), m && ln(t, d)), u;
264
- }) : [], h.update(), m = !0, it(h.before_update), h.fragment = o ? o(h.ctx) : !1, e.target) {
265
- if (e.hydrate) {
266
- const d = en(e.target);
267
- h.fragment && h.fragment.l(d), d.forEach(O);
268
- } else
269
- h.fragment && h.fragment.c();
270
- e.intro && _(t.$$.fragment), ct(t, e.target, e.anchor, e.customElement), Ve();
271
- }
272
- Yt(l);
273
- }
274
- class nt {
275
- $destroy() {
276
- ut(this, 1), this.$destroy = V;
277
- }
278
- $on(e, n) {
279
- if (!U(n))
280
- return V;
281
- const o = this.$$.callbacks[e] || (this.$$.callbacks[e] = []);
282
- return o.push(n), () => {
283
- const r = o.indexOf(n);
284
- r !== -1 && o.splice(r, 1);
285
- };
286
- }
287
- $set(e) {
288
- this.$$set && !qe(e) && (this.$$.skip_bound = !0, this.$$set(e), this.$$.skip_bound = !1);
289
- }
290
- }
291
- var F = /* @__PURE__ */ ((t) => (t.ELLIPSE = "ELLIPSE", t.POLYGON = "POLYGON", t.RECTANGLE = "RECTANGLE", t))(F || {});
292
- const re = {}, ie = (t, e) => re[t] = e, ne = (t) => re[t.type].area(t), dn = (t, e, n) => re[t.type].intersects(t, e, n), Gt = (t) => {
293
- let e = 1 / 0, n = 1 / 0, o = -1 / 0, r = -1 / 0;
294
- return t.forEach(([i, a]) => {
295
- e = Math.min(e, i), n = Math.min(n, a), o = Math.max(o, i), r = Math.max(r, a);
296
- }), { minX: e, minY: n, maxX: o, maxY: r };
297
- }, cn = {
298
- area: (t) => Math.PI * t.geometry.rx * t.geometry.ry,
299
- intersects: (t, e, n) => {
300
- const { cx: o, cy: r, rx: i, ry: a } = t.geometry, s = 0, l = Math.cos(s), h = Math.sin(s), m = e - o, d = n - r, u = l * m + h * d, p = h * m - l * d;
301
- return u * u / (i * i) + p * p / (a * a) <= 1;
302
- }
303
- };
304
- ie(F.ELLIPSE, cn);
305
- const un = {
306
- area: (t) => {
307
- const { points: e } = t.geometry;
308
- let n = 0, o = e.length - 1;
309
- for (let r = 0; r < e.length; r++)
310
- n += (e[o][0] + e[r][0]) * (e[o][1] - e[r][1]), o = r;
311
- return Math.abs(0.5 * n);
312
- },
313
- intersects: (t, e, n) => {
314
- const { points: o } = t.geometry;
315
- let r = !1;
316
- for (let i = 0, a = o.length - 1; i < o.length; a = i++) {
317
- const s = o[i][0], l = o[i][1], h = o[a][0], m = o[a][1];
318
- l > n != m > n && e < (h - s) * (n - l) / (m - l) + s && (r = !r);
319
- }
320
- return r;
321
- }
322
- };
323
- ie(F.POLYGON, un);
324
- const hn = {
325
- area: (t) => t.geometry.w * t.geometry.h,
326
- intersects: (t, e, n) => e >= t.geometry.x && e <= t.geometry.x + t.geometry.w && n >= t.geometry.y && n <= t.geometry.y + t.geometry.h
327
- };
328
- ie(F.RECTANGLE, hn);
329
- const pn = (t, e = !1) => {
330
- const n = typeof t == "string" ? t : t.value, o = /^(xywh)=(pixel|percent)?:?(.+?),(.+?),(.+?),(.+)*/g, r = [...n.matchAll(o)][0], [i, a, s, l, h, m, d] = r;
331
- if (a !== "xywh")
332
- throw new Error("Unsupported MediaFragment: " + n);
333
- if (s && s !== "pixel")
334
- throw new Error(`Unsupported MediaFragment unit: ${s}`);
335
- const [u, p, g, y] = [l, h, m, d].map(parseFloat);
336
- return {
337
- type: F.RECTANGLE,
338
- geometry: {
339
- x: u,
340
- y: p,
341
- w: g,
342
- h: y,
343
- bounds: {
344
- minX: u,
345
- minY: e ? p - y : p,
346
- maxX: u + g,
347
- maxY: e ? p : p + y
348
- }
349
- }
350
- };
351
- }, mn = (t) => {
352
- const { x: e, y: n, w: o, h: r } = t;
353
- return {
354
- type: "FragmentSelector",
355
- conformsTo: "http://www.w3.org/TR/media-frags/",
356
- value: `xywh=pixel:${e},${n},${o},${r}`
357
- };
358
- }, Ge = "http://www.w3.org/2000/svg", he = (t) => {
359
- const e = (o) => {
360
- Array.from(o.attributes).forEach((r) => {
361
- r.name.startsWith("on") && o.removeAttribute(r.name);
362
- });
363
- }, n = t.getElementsByTagName("script");
364
- return Array.from(n).reverse().forEach((o) => o.parentNode.removeChild(o)), Array.from(t.querySelectorAll("*")).forEach(e), t;
365
- }, gn = (t) => {
366
- const e = new XMLSerializer().serializeToString(t.documentElement).replace("<svg>", `<svg xmlns="${Ge}">`);
367
- return new DOMParser().parseFromString(e, "image/svg+xml").documentElement;
368
- }, fn = (t) => {
369
- const e = new DOMParser().parseFromString(t, "image/svg+xml"), n = e.lookupPrefix(Ge), o = e.lookupNamespaceURI(null);
370
- return n || o ? he(e).firstChild : he(gn(e)).firstChild;
371
- }, yn = (t) => {
372
- const [e, n, o] = t.match(/(<polygon points=["|'])([^("|')]*)/) || [];
373
- if (!o)
374
- return;
375
- const r = o.split(" ").map((i) => i.split(",").map(parseFloat));
376
- return {
377
- type: F.POLYGON,
378
- geometry: {
379
- points: r,
380
- bounds: Gt(r)
381
- }
382
- };
383
- }, wn = (t) => {
384
- const e = fn(t), n = parseFloat(e.getAttribute("cx")), o = parseFloat(e.getAttribute("cy")), r = parseFloat(e.getAttribute("rx")), i = parseFloat(e.getAttribute("ry")), a = {
385
- minX: n - r,
386
- minY: o - i,
387
- maxX: n + r,
388
- maxY: o + i
389
- };
390
- return {
391
- type: F.ELLIPSE,
392
- geometry: {
393
- cx: n,
394
- cy: o,
395
- rx: r,
396
- ry: i,
397
- bounds: a
398
- }
399
- };
400
- }, $n = (t) => {
401
- const e = typeof t == "string" ? t : t.value;
402
- if (e.includes("<polygon points="))
403
- return yn(e);
404
- if (e.includes("<ellipse "))
405
- return wn(e);
406
- }, xn = (t) => {
407
- let e;
408
- if (t.type === F.POLYGON) {
409
- const n = t.geometry, { points: o } = n;
410
- e = `<svg><polygon points="${o.map((r) => r.join(",")).join(" ")}" /></svg>`;
411
- } else if (t.type === F.ELLIPSE) {
412
- const n = t.geometry;
413
- e = `<svg><ellipse cx="${n.cx}" cy="${n.cy}" rx="${n.rx}" ry="${n.ry}" /></svg>`;
414
- }
415
- if (e)
416
- return { type: "SvgSelector", value: e };
417
- throw `Unsupported shape type: ${t.type}`;
418
- };
419
- let Rt;
420
- const bn = new Uint8Array(16);
421
- function En() {
422
- if (!Rt && (Rt = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !Rt))
423
- throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
424
- return Rt(bn);
425
- }
426
- const C = [];
427
- for (let t = 0; t < 256; ++t)
428
- C.push((t + 256).toString(16).slice(1));
429
- function vn(t, e = 0) {
430
- return C[t[e + 0]] + C[t[e + 1]] + C[t[e + 2]] + C[t[e + 3]] + "-" + C[t[e + 4]] + C[t[e + 5]] + "-" + C[t[e + 6]] + C[t[e + 7]] + "-" + C[t[e + 8]] + C[t[e + 9]] + "-" + C[t[e + 10]] + C[t[e + 11]] + C[t[e + 12]] + C[t[e + 13]] + C[t[e + 14]] + C[t[e + 15]];
431
- }
432
- const An = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), pe = {
433
- randomUUID: An
434
- };
435
- function Fe(t, e, n) {
436
- if (pe.randomUUID && !e && !t)
437
- return pe.randomUUID();
438
- t = t || {};
439
- const o = t.random || (t.rng || En)();
440
- if (o[6] = o[6] & 15 | 64, o[8] = o[8] & 63 | 128, e) {
441
- n = n || 0;
442
- for (let r = 0; r < 16; ++r)
443
- e[n + r] = o[r];
444
- return e;
445
- }
446
- return vn(o);
447
- }
448
- var me = Object.prototype.hasOwnProperty;
449
- function pt(t, e) {
450
- var n, o;
451
- if (t === e)
452
- return !0;
453
- if (t && e && (n = t.constructor) === e.constructor) {
454
- if (n === Date)
455
- return t.getTime() === e.getTime();
456
- if (n === RegExp)
457
- return t.toString() === e.toString();
458
- if (n === Array) {
459
- if ((o = t.length) === e.length)
460
- for (; o-- && pt(t[o], e[o]); )
461
- ;
462
- return o === -1;
463
- }
464
- if (!n || typeof t == "object") {
465
- o = 0;
466
- for (n in t)
467
- if (me.call(t, n) && ++o && !me.call(e, n) || !(n in e) || !pt(t[n], e[n]))
468
- return !1;
469
- return Object.keys(e).length === o;
470
- }
471
- }
472
- return t !== t && e !== e;
473
- }
474
- const wt = [];
475
- function Ft(t, e = V) {
476
- let n;
477
- const o = /* @__PURE__ */ new Set();
478
- function r(s) {
479
- if (q(t, s) && (t = s, n)) {
480
- const l = !wt.length;
481
- for (const h of o)
482
- h[1](), wt.push(h, t);
483
- if (l) {
484
- for (let h = 0; h < wt.length; h += 2)
485
- wt[h][0](wt[h + 1]);
486
- wt.length = 0;
487
- }
488
- }
489
- }
490
- function i(s) {
491
- r(s(t));
492
- }
493
- function a(s, l = V) {
494
- const h = [s, l];
495
- return o.add(h), o.size === 1 && (n = e(r) || V), s(t), () => {
496
- o.delete(h), o.size === 0 && n && (n(), n = null);
497
- };
498
- }
499
- return { set: r, update: i, subscribe: a };
500
- }
501
- const Tn = (t) => {
502
- const { subscribe: e, set: n } = Ft(null);
503
- let o = null;
504
- return e((r) => o = r), t.observe(({ changes: r }) => {
505
- if (o) {
506
- r.deleted.some((a) => a.id === o) && n(null);
507
- const i = r.updated.find(({ oldValue: a }) => a.id === o);
508
- i && n(i.newValue.id);
509
- }
510
- }), {
511
- get current() {
512
- return o;
513
- },
514
- subscribe: e,
515
- set: n
516
- };
517
- };
518
- var Ue = /* @__PURE__ */ ((t) => (t.EDIT = "EDIT", t.SELECT = "SELECT", t.NONE = "NONE", t))(Ue || {});
519
- const Wt = { selected: [] }, Mn = (t, e = "EDIT") => {
520
- const { subscribe: n, set: o } = Ft(Wt);
521
- let r = Wt;
522
- n((d) => r = d);
523
- const i = () => o(Wt), a = () => {
524
- var d;
525
- return ((d = r.selected) == null ? void 0 : d.length) === 0;
526
- }, s = (d) => {
527
- if (r.selected.length === 0)
528
- return !1;
529
- const u = typeof d == "string" ? d : d.id;
530
- return r.selected.some((p) => p.id === u);
531
- }, l = (d, u) => {
532
- const p = t.getAnnotation(d);
533
- if (p) {
534
- const g = On(p, e);
535
- o(g === "EDIT" ? { selected: [{ id: d, editable: !0 }], pointerEvent: u } : g === "SELECT" ? { selected: [{ id: d }], pointerEvent: u } : { selected: [], pointerEvent: u });
536
- } else
537
- console.warn("Invalid selection: " + d);
538
- }, h = (d, u = !0) => {
539
- const p = Array.isArray(d) ? d : [d], g = p.map((y) => t.getAnnotation(y)).filter((y) => y);
540
- o({ selected: g.map(({ id: y }) => ({ id: y, editable: u })) }), g.length !== p.length && console.warn("Invalid selection", d);
541
- }, m = (d) => {
542
- if (r.selected.length === 0)
543
- return !1;
544
- const { selected: u } = r;
545
- u.filter(({ id: p }) => d.includes(p)).length > 0 && o({ selected: u.filter(({ id: p }) => !d.includes(p)) });
546
- };
547
- return t.observe(({ changes: d }) => m(d.deleted.map((u) => u.id))), {
548
- clear: i,
549
- clickSelect: l,
550
- get selected() {
551
- return r ? [...r.selected] : null;
552
- },
553
- get pointerEvent() {
554
- return r ? r.pointerEvent : null;
555
- },
556
- isEmpty: a,
557
- isSelected: s,
558
- setSelected: h,
559
- subscribe: n
560
- };
561
- }, On = (t, e) => typeof e == "function" ? e(t) || "EDIT" : e || "EDIT", Ln = (t, e) => {
562
- const n = new Set(t.bodies.map((o) => o.id));
563
- return e.bodies.filter((o) => !n.has(o.id));
564
- }, Yn = (t, e) => {
565
- const n = new Set(e.bodies.map((o) => o.id));
566
- return t.bodies.filter((o) => !n.has(o.id));
567
- }, Sn = (t, e) => e.bodies.map((n) => {
568
- const o = t.bodies.find((r) => r.id === n.id);
569
- return { newBody: n, oldBody: o && !pt(o, n) ? o : void 0 };
570
- }).filter(({ oldBody: n }) => n), Xn = (t, e) => !pt(t.target, e.target), He = (t, e) => {
571
- const n = Ln(t, e), o = Yn(t, e), r = Sn(t, e);
572
- return {
573
- oldValue: t,
574
- newValue: e,
575
- bodiesCreated: n.length > 0 ? n : void 0,
576
- bodiesDeleted: o.length > 0 ? o : void 0,
577
- bodiesUpdated: r.length > 0 ? r : void 0,
578
- targetUpdated: Xn(t, e) ? { oldTarget: t.target, newTarget: e.target } : void 0
579
- };
580
- };
581
- var D = /* @__PURE__ */ ((t) => (t.LOCAL = "LOCAL", t.REMOTE = "REMOTE", t))(D || {});
582
- const In = (t, e) => {
583
- var n, o;
584
- const { changes: r, origin: i } = e;
585
- if (!(!t.options.origin || t.options.origin === i))
586
- return !1;
587
- if (t.options.ignore) {
588
- const { ignore: a } = t.options, s = (l) => (l == null ? void 0 : l.length) > 0;
589
- if (!(s(r.created) || s(r.deleted))) {
590
- const l = (n = r.updated) == null ? void 0 : n.some((m) => s(m.bodiesCreated) || s(m.bodiesDeleted) || s(m.bodiesUpdated)), h = (o = r.updated) == null ? void 0 : o.some((m) => m.targetUpdated);
591
- if (a === "BODY_ONLY" && l && !h || a === "TARGET_ONLY" && h && !l)
592
- return !1;
593
- }
594
- }
595
- if (t.options.annotations) {
596
- const a = /* @__PURE__ */ new Set([
597
- ...r.created.map((s) => s.id),
598
- ...r.deleted.map((s) => s.id),
599
- ...r.updated.map(({ oldValue: s }) => s.id)
600
- ]);
601
- return !!(Array.isArray(t.options.annotations) ? t.options.annotations : [t.options.annotations]).find((s) => a.has(s));
602
- } else
603
- return !0;
604
- }, Pn = (t, e) => {
605
- const n = new Set((t.created || []).map((d) => d.id)), o = new Set((t.updated || []).map(({ newValue: d }) => d.id)), r = new Set((e.created || []).map((d) => d.id)), i = new Set((e.deleted || []).map((d) => d.id)), a = new Set((e.updated || []).map(({ oldValue: d }) => d.id)), s = new Set((e.updated || []).filter(({ oldValue: d }) => n.has(d.id) || o.has(d.id)).map(({ oldValue: d }) => d.id)), l = [
606
- ...(t.created || []).filter((d) => !i.has(d.id)).map((d) => a.has(d.id) ? e.updated.find(({ oldValue: u }) => u.id === d.id).newValue : d),
607
- ...e.created || []
608
- ], h = [
609
- ...(t.deleted || []).filter((d) => !r.has(d.id)),
610
- ...(e.deleted || []).filter((d) => !n.has(d.id))
611
- ], m = [
612
- ...(t.updated || []).filter(({ newValue: d }) => !i.has(d.id)).map((d) => {
613
- const { oldValue: u, newValue: p } = d;
614
- if (a.has(p.id)) {
615
- const g = e.updated.find((y) => y.oldValue.id === p.id).newValue;
616
- return He(u, g);
617
- } else
618
- return d;
619
- }),
620
- ...(e.updated || []).filter(({ oldValue: d }) => !s.has(d.id))
621
- ];
622
- return { created: l, deleted: h, updated: m };
623
- }, _n = (t) => t.id !== void 0, Bn = () => {
624
- const t = /* @__PURE__ */ new Map(), e = /* @__PURE__ */ new Map(), n = [], o = (f, w = {}) => n.push({ onChange: f, options: w }), r = (f) => {
625
- const w = n.findIndex(($) => $.onChange == f);
626
- w > -1 && n.splice(w, 1);
627
- }, i = (f, w) => {
628
- const $ = {
629
- origin: f,
630
- changes: {
631
- created: w.created || [],
632
- updated: w.updated || [],
633
- deleted: w.deleted || []
634
- },
635
- state: [...t.values()]
636
- };
637
- n.forEach((v) => {
638
- In(v, $) && v.onChange($);
639
- });
640
- }, a = (f, w = D.LOCAL) => {
641
- if (t.get(f.id))
642
- throw Error(`Cannot add annotation ${f.id} - exists already`);
643
- t.set(f.id, f), f.bodies.forEach(($) => e.set($.id, f.id)), i(w, { created: [f] });
644
- }, s = (f, w) => {
645
- const $ = typeof f == "string" ? w : f, v = typeof f == "string" ? f : f.id, Y = t.get(v);
646
- if (Y) {
647
- const I = He(Y, $);
648
- return v === $.id ? t.set(v, $) : (t.delete(v), t.set($.id, $)), Y.bodies.forEach((J) => e.delete(J.id)), $.bodies.forEach((J) => e.set(J.id, $.id)), I;
649
- } else
650
- console.warn(`Cannot update annotation ${v} - does not exist`);
651
- }, l = (f, w = D.LOCAL, $ = D.LOCAL) => {
652
- const v = _n(w) ? $ : w, Y = s(f, w);
653
- Y && i(v, { updated: [Y] });
654
- }, h = (f, w = D.LOCAL) => {
655
- const $ = f.reduce((v, Y) => {
656
- const I = s(Y);
657
- return I ? [...v, I] : v;
658
- }, []);
659
- $.length > 0 && i(w, { updated: $ });
660
- }, m = (f, w = D.LOCAL) => {
661
- const $ = t.get(f.annotation);
662
- if ($) {
663
- const v = {
664
- ...$,
665
- bodies: [...$.bodies, f]
666
- };
667
- t.set($.id, v), e.set(f.id, v.id), i(w, { updated: [{
668
- oldValue: $,
669
- newValue: v,
670
- bodiesCreated: [f]
671
- }] });
672
- } else
673
- console.warn(`Attempt to add body to missing annotation: ${f.annotation}`);
674
- }, d = () => [...t.values()], u = (f = D.LOCAL) => {
675
- const w = [...t.values()];
676
- t.clear(), e.clear(), i(f, { deleted: w });
677
- }, p = (f, w = !0, $ = D.LOCAL) => {
678
- if (w) {
679
- const v = [...t.values()];
680
- t.clear(), e.clear(), f.forEach((Y) => {
681
- t.set(Y.id, Y), Y.bodies.forEach((I) => e.set(I.id, Y.id));
682
- }), i($, { created: f, deleted: v });
683
- } else {
684
- const v = f.reduce((Y, I) => {
685
- const J = t.get(I.id);
686
- return J ? [...Y, J] : Y;
687
- }, []);
688
- if (v.length > 0)
689
- throw Error(`Bulk insert would overwrite the following annotations: ${v.map((Y) => Y.id).join(", ")}`);
690
- f.forEach((Y) => {
691
- t.set(Y.id, Y), Y.bodies.forEach((I) => e.set(I.id, Y.id));
692
- }), i($, { created: f });
693
- }
694
- }, g = (f) => {
695
- const w = typeof f == "string" ? f : f.id, $ = t.get(w);
696
- if ($)
697
- return t.delete(w), $.bodies.forEach((v) => e.delete(v.id)), $;
698
- console.warn(`Attempt to delete missing annotation: ${w}`);
699
- }, y = (f, w = D.LOCAL) => {
700
- const $ = g(f);
701
- $ && i(w, { deleted: [$] });
702
- }, E = (f, w = D.LOCAL) => {
703
- const $ = f.reduce((v, Y) => {
704
- const I = g(Y);
705
- return I ? [...v, I] : v;
706
- }, []);
707
- $.length > 0 && i(w, { deleted: $ });
708
- }, b = (f, w = D.LOCAL) => {
709
- const $ = t.get(f.annotation);
710
- if ($) {
711
- const v = $.bodies.find((Y) => Y.id === f.id);
712
- if (v) {
713
- e.delete(v.id);
714
- const Y = {
715
- ...$,
716
- bodies: $.bodies.filter((I) => I.id !== f.id)
717
- };
718
- t.set($.id, Y), i(w, { updated: [{
719
- oldValue: $,
720
- newValue: Y,
721
- bodiesDeleted: [v]
722
- }] });
723
- } else
724
- console.warn(`Attempt to delete missing body ${f.id} from annotation ${f.annotation}`);
725
- } else
726
- console.warn(`Attempt to delete body from missing annotation ${f.annotation}`);
727
- }, x = (f) => {
728
- const w = t.get(f);
729
- return w ? { ...w } : void 0;
730
- }, M = (f) => {
731
- const w = e.get(f);
732
- if (w) {
733
- const $ = x(w).bodies.find((v) => v.id === f);
734
- if ($)
735
- return $;
736
- console.error(`Store integrity error: body ${f} in index, but not in annotation`);
737
- } else
738
- console.warn(`Attempt to retrieve missing body: ${f}`);
739
- }, B = (f, w) => {
740
- if (f.annotation !== w.annotation)
741
- throw "Annotation integrity violation: annotation ID must be the same when updating bodies";
742
- const $ = t.get(f.annotation);
743
- if ($) {
744
- const v = $.bodies.find((I) => I.id === f.id), Y = {
745
- ...$,
746
- bodies: $.bodies.map((I) => I.id === v.id ? w : I)
747
- };
748
- return t.set($.id, Y), v.id !== w.id && (e.delete(v.id), e.set(w.id, Y.id)), {
749
- oldValue: $,
750
- newValue: Y,
751
- bodiesUpdated: [{ oldBody: v, newBody: w }]
752
- };
753
- } else
754
- console.warn(`Attempt to add body to missing annotation ${f.annotation}`);
755
- }, N = (f, w, $ = D.LOCAL) => {
756
- const v = B(f, w);
757
- i($, { updated: [v] });
758
- }, G = (f, w = D.LOCAL) => {
759
- const $ = f.map((v) => B({ id: v.id, annotation: v.annotation }, v));
760
- i(w, { updated: $ });
761
- }, z = (f) => {
762
- const w = t.get(f.annotation);
763
- if (w) {
764
- const $ = {
765
- ...w,
766
- target: {
767
- ...w.target,
768
- ...f
769
- }
770
- };
771
- return t.set(w.id, $), {
772
- oldValue: w,
773
- newValue: $,
774
- targetUpdated: {
775
- oldTarget: w.target,
776
- newTarget: f
777
- }
778
- };
779
- } else
780
- console.warn(`Attempt to update target on missing annotation: ${f.annotation}`);
781
- };
782
- return {
783
- addAnnotation: a,
784
- addBody: m,
785
- all: d,
786
- bulkAddAnnotation: p,
787
- bulkDeleteAnnotation: E,
788
- bulkUpdateAnnotation: h,
789
- bulkUpdateBodies: G,
790
- bulkUpdateTargets: (f, w = D.LOCAL) => {
791
- const $ = f.map(z).filter((v) => v);
792
- $.length > 0 && i(w, { updated: $ });
793
- },
794
- clear: u,
795
- deleteAnnotation: y,
796
- deleteBody: b,
797
- getAnnotation: x,
798
- getBody: M,
799
- observe: o,
800
- unobserve: r,
801
- updateAnnotation: l,
802
- updateBody: N,
803
- updateTarget: (f, w = D.LOCAL) => {
804
- const $ = z(f);
805
- $ && i(w, { updated: [$] });
806
- }
807
- };
808
- }, Rn = (t) => ({
809
- ...t,
810
- subscribe: (e) => {
811
- const n = (o) => e(o.state);
812
- return t.observe(n), e(t.all()), () => t.unobserve(n);
813
- }
814
- }), Dn = 250, Nn = (t) => {
815
- const e = [];
816
- let n = -1, o = !1, r = 0;
817
- const i = (u) => {
818
- if (!o) {
819
- const { changes: p } = u, g = performance.now();
820
- if (g - r > Dn)
821
- e.splice(n + 1), e.push(p), n = e.length - 1;
822
- else {
823
- const y = e.length - 1;
824
- e[y] = Pn(e[y], p);
825
- }
826
- r = g;
827
- }
828
- o = !1;
829
- };
830
- t.observe(i, { origin: D.LOCAL });
831
- const a = (u) => (u == null ? void 0 : u.length) > 0 && t.bulkDeleteAnnotation(u), s = (u) => (u == null ? void 0 : u.length) > 0 && t.bulkAddAnnotation(u, !1), l = (u) => (u == null ? void 0 : u.length) > 0 && t.bulkUpdateAnnotation(u.map(({ oldValue: p }) => p)), h = (u) => (u == null ? void 0 : u.length) > 0 && t.bulkUpdateAnnotation(u.map(({ newValue: p }) => p)), m = (u) => (u == null ? void 0 : u.length) > 0 && t.bulkAddAnnotation(u, !1), d = (u) => (u == null ? void 0 : u.length) > 0 && t.bulkDeleteAnnotation(u);
832
- return {
833
- destroy: () => t.unobserve(i),
834
- redo: () => {
835
- if (e.length - 1 > n) {
836
- o = !0;
837
- const { created: u, updated: p, deleted: g } = e[n + 1];
838
- s(u), h(p), d(g), n += 1;
839
- }
840
- },
841
- undo: () => {
842
- if (n > -1) {
843
- o = !0;
844
- const { created: u, updated: p, deleted: g } = e[n];
845
- a(u), l(p), m(g), n -= 1;
846
- }
847
- }
848
- };
849
- }, kn = () => {
850
- const { subscribe: t, set: e } = Ft([]);
851
- return {
852
- subscribe: t,
853
- set: e
854
- };
855
- }, Vn = (t, e, n, o, r, i) => {
856
- const a = /* @__PURE__ */ new Map();
857
- let s = [], l, h;
858
- const m = (g, y) => {
859
- a.has(g) ? a.get(g).push(y) : a.set(g, [y]);
860
- }, d = (g, y) => {
861
- const E = a.get(g);
862
- E && E.indexOf(y) > 0 && E.splice(E.indexOf(y), 1);
863
- }, u = (g, y, E) => {
864
- a.has(g) && setTimeout(() => {
865
- a.get(g).forEach((b) => {
866
- if (r) {
867
- const x = Array.isArray(y) ? y.map((B) => r.serialize(B)) : r.serialize(y), M = E ? E instanceof PointerEvent ? E : r.serialize(E) : void 0;
868
- b(x, M);
869
- } else
870
- b(y, E);
871
- });
872
- }, 1);
873
- }, p = () => {
874
- const { selected: g } = e, y = g.map(({ id: E }) => t.getAnnotation(E));
875
- y.forEach((E) => {
876
- const b = s.find((x) => x.id === E.id);
877
- (!b || !pt(b, E)) && u("updateAnnotation", E, b);
878
- }), s = s.map((E) => y.find(({ id: x }) => x === E.id) || E);
879
- };
880
- return e.subscribe(({ selected: g }) => {
881
- if (!(s.length === 0 && g.length === 0)) {
882
- if (s.length === 0 && g.length > 0)
883
- s = g.map(({ id: y }) => t.getAnnotation(y));
884
- else if (s.length > 0 && g.length === 0)
885
- s.forEach((y) => {
886
- const E = t.getAnnotation(y.id);
887
- E && !pt(E, y) && u("updateAnnotation", E, y);
888
- }), s = [];
889
- else {
890
- const y = new Set(s.map((b) => b.id)), E = new Set(g.map(({ id: b }) => b));
891
- s.filter((b) => !E.has(b.id)).forEach((b) => {
892
- const x = t.getAnnotation(b.id);
893
- x && !pt(x, b) && u("updateAnnotation", x, b);
894
- }), s = [
895
- // Remove annotations that were deselected
896
- ...s.filter((b) => E.has(b.id)),
897
- // Add editable annotations that were selected
898
- ...g.filter(({ id: b }) => !y.has(b)).map(({ id: b }) => t.getAnnotation(b))
899
- ];
900
- }
901
- u("selectionChanged", s);
902
- }
903
- }), n.subscribe((g) => {
904
- !l && g ? u("mouseEnterAnnotation", t.getAnnotation(g)) : l && !g ? u("mouseLeaveAnnotation", t.getAnnotation(l)) : l && g && (u("mouseLeaveAnnotation", t.getAnnotation(l)), u("mouseEnterAnnotation", t.getAnnotation(g))), l = g;
905
- }), o == null || o.subscribe((g) => u("viewportIntersect", g.map(t.getAnnotation))), t.observe((g) => {
906
- i && (h && clearTimeout(h), h = setTimeout(p, 1e3));
907
- const { created: y, deleted: E } = g.changes;
908
- y.forEach((b) => u("createAnnotation", b)), E.forEach((b) => u("deleteAnnotation", b)), g.changes.updated.filter((b) => [
909
- ...b.bodiesCreated || [],
910
- ...b.bodiesDeleted || [],
911
- ...b.bodiesUpdated || []
912
- ].length > 0).forEach(({ oldValue: b, newValue: x }) => {
913
- const M = s.find((B) => B.id === b.id) || b;
914
- s = s.map((B) => B.id === b.id ? x : B), u("updateAnnotation", x, M);
915
- });
916
- }, { origin: D.LOCAL }), t.observe((g) => {
917
- if (s) {
918
- const y = new Set(s.map((b) => b.id)), E = g.changes.updated.filter(({ newValue: b }) => y.has(b.id)).map(({ newValue: b }) => b);
919
- E.length > 0 && (s = s.map((b) => E.find((M) => M.id === b.id) || b));
920
- }
921
- }, { origin: D.REMOTE }), { on: m, off: d, emit: u };
922
- }, Gn = (t) => (e) => e.reduce((n, o) => {
923
- const { parsed: r, error: i } = t.parse(o);
924
- return i ? {
925
- parsed: n.parsed,
926
- failed: [...n.failed, o]
927
- } : {
928
- parsed: [...n.parsed, r],
929
- failed: n.failed
930
- };
931
- }, { parsed: [], failed: [] }), Fn = (t, e, n) => {
932
- const o = (d) => {
933
- if (n) {
934
- const { parsed: u, error: p } = n.parse(d);
935
- u ? t.addAnnotation(u, D.REMOTE) : console.error(p);
936
- } else
937
- t.addAnnotation(d, D.REMOTE);
938
- }, r = () => t.clear(), i = (d) => {
939
- const u = t.getAnnotation(d);
940
- return n && u ? n.serialize(u) : u;
941
- }, a = () => n ? t.all().map(n.serialize) : t.all(), s = (d) => fetch(d).then((u) => u.json()).then((u) => (h(u), u)), l = (d) => {
942
- if (typeof d == "string") {
943
- const u = t.getAnnotation(d);
944
- return t.deleteAnnotation(d), n ? n.serialize(u) : u;
945
- } else {
946
- const u = n ? n.parse(d).parsed : d;
947
- return t.deleteAnnotation(u), d;
948
- }
949
- }, h = (d) => {
950
- if (n) {
951
- const { parsed: u, failed: p } = Gn(n)(d);
952
- p.length > 0 && console.warn(`Discarded ${p.length} invalid annotations`, p), t.bulkAddAnnotation(u, !0, D.REMOTE);
953
- } else
954
- t.bulkAddAnnotation(d, !0, D.REMOTE);
955
- }, m = (d) => {
956
- if (n) {
957
- const u = n.parse(d).parsed, p = n.serialize(t.getAnnotation(u.id));
958
- return t.updateAnnotation(u), p;
959
- } else {
960
- const u = t.getAnnotation(d.id);
961
- return t.updateAnnotation(d), u;
962
- }
963
- };
964
- return {
965
- addAnnotation: o,
966
- clearAnnotations: r,
967
- getAnnotationById: i,
968
- getAnnotations: a,
969
- loadAnnotations: s,
970
- redo: e.redo,
971
- removeAnnotation: l,
972
- setAnnotations: h,
973
- undo: e.undo,
974
- updateAnnotation: m
975
- };
976
- };
977
- let Un = (t) => crypto.getRandomValues(new Uint8Array(t)), Hn = (t, e, n) => {
978
- let o = (2 << Math.log(t.length - 1) / Math.LN2) - 1, r = -~(1.6 * o * e / t.length);
979
- return (i = e) => {
980
- let a = "";
981
- for (; ; ) {
982
- let s = n(r), l = r;
983
- for (; l--; )
984
- if (a += t[s[l] & o] || "", a.length === i)
985
- return a;
986
- }
987
- };
988
- }, Cn = (t, e = 21) => Hn(t, e, Un), jn = (t = 21) => crypto.getRandomValues(new Uint8Array(t)).reduce((e, n) => (n &= 63, n < 36 ? e += n.toString(36) : n < 62 ? e += (n - 26).toString(36).toUpperCase() : n > 62 ? e += "-" : e += "_", e), "");
989
- const zn = () => ({ isGuest: !0, id: Cn("1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_", 20)() }), Wn = (t) => {
990
- const e = JSON.stringify(t);
991
- let n = 0;
992
- for (let o = 0, r = e.length; o < r; o++) {
993
- let i = e.charCodeAt(o);
994
- n = (n << 5) - n + i, n |= 0;
995
- }
996
- return `${n}`;
997
- }, Kn = (t, e) => (Array.isArray(t) ? t : [t]).map((n) => {
998
- const { id: o, type: r, purpose: i, value: a, created: s, creator: l, ...h } = n;
999
- return {
1000
- id: o || `temp-${Wn(n)}`,
1001
- annotation: e,
1002
- type: r,
1003
- purpose: i,
1004
- value: a,
1005
- created: s,
1006
- creator: l ? typeof l == "object" ? { ...l } : l : void 0,
1007
- ...h
1008
- };
1009
- }), qn = (t) => t.map((e) => {
1010
- var n;
1011
- const o = { ...e };
1012
- return delete o.annotation, (n = o.id) != null && n.startsWith("temp-") && delete o.id, o;
1013
- });
1014
- jn();
1015
- const ur = (t, e = !1) => ({ parse: (n) => Jn(n, e), serialize: (n) => Zn(n, t) }), Jn = (t, e = !1) => {
1016
- const n = t.id || Fe(), { body: o, ...r } = t, i = Kn(o, n), a = Array.isArray(t.target) ? t.target[0] : t.target, s = Array.isArray(a.selector) ? a.selector[0] : a.selector, l = s.type === "FragmentSelector" ? pn(s, e) : s.type === "SvgSelector" ? $n(s) : void 0;
1017
- return l ? {
1018
- parsed: {
1019
- ...r,
1020
- id: n,
1021
- bodies: i,
1022
- target: {
1023
- annotation: n,
1024
- selector: l
1025
- }
1026
- }
1027
- } : {
1028
- error: Error(`Unknown selector type: ${l.type}`)
1029
- };
1030
- }, Zn = (t, e) => {
1031
- const n = t.target.selector, o = n.type == F.RECTANGLE ? mn(n.geometry) : xn(n);
1032
- return {
1033
- ...t,
1034
- "@context": "http://www.w3.org/ns/anno.jsonld",
1035
- id: t.id,
1036
- type: "Annotation",
1037
- body: qn(t.bodies),
1038
- target: {
1039
- source: e,
1040
- selector: o
1041
- }
1042
- };
1043
- };
1044
- function ge(t, e, n) {
1045
- const o = t.slice();
1046
- return o[11] = e[n], o[13] = n, o;
1047
- }
1048
- function fe(t) {
1049
- let e, n, o, r, i;
1050
- return {
1051
- c() {
1052
- e = P("rect"), c(e, "class", "a9s-corner-handle"), c(e, "x", n = /*point*/
1053
- t[11][0] - /*handleSize*/
1054
- t[3] / 2), c(e, "y", o = /*point*/
1055
- t[11][1] - /*handleSize*/
1056
- t[3] / 2), c(
1057
- e,
1058
- "height",
1059
- /*handleSize*/
1060
- t[3]
1061
- ), c(
1062
- e,
1063
- "width",
1064
- /*handleSize*/
1065
- t[3]
1066
- );
1067
- },
1068
- m(a, s) {
1069
- L(a, e, s), r || (i = j(e, "pointerdown", function() {
1070
- U(
1071
- /*grab*/
1072
- t[10](T(
1073
- /*idx*/
1074
- t[13]
1075
- ))
1076
- ) && t[10](T(
1077
- /*idx*/
1078
- t[13]
1079
- )).apply(this, arguments);
1080
- }), r = !0);
1081
- },
1082
- p(a, s) {
1083
- t = a, s & /*geom, handleSize*/
1084
- 24 && n !== (n = /*point*/
1085
- t[11][0] - /*handleSize*/
1086
- t[3] / 2) && c(e, "x", n), s & /*geom, handleSize*/
1087
- 24 && o !== (o = /*point*/
1088
- t[11][1] - /*handleSize*/
1089
- t[3] / 2) && c(e, "y", o), s & /*handleSize*/
1090
- 8 && c(
1091
- e,
1092
- "height",
1093
- /*handleSize*/
1094
- t[3]
1095
- ), s & /*handleSize*/
1096
- 8 && c(
1097
- e,
1098
- "width",
1099
- /*handleSize*/
1100
- t[3]
1101
- );
1102
- },
1103
- d(a) {
1104
- a && O(e), r = !1, i();
1105
- }
1106
- };
1107
- }
1108
- function Qn(t) {
1109
- let e, n, o, r, i, a, s, l, h, m, d = (
1110
- /*geom*/
1111
- t[4].points
1112
- ), u = [];
1113
- for (let p = 0; p < d.length; p += 1)
1114
- u[p] = fe(ge(t, d, p));
1115
- return {
1116
- c() {
1117
- e = P("polygon"), r = tt(), i = P("polygon"), s = tt();
1118
- for (let p = 0; p < u.length; p += 1)
1119
- u[p].c();
1120
- l = at(), c(e, "class", "a9s-outer"), c(e, "style", n = /*computedStyle*/
1121
- t[1] ? "display:none;" : void 0), c(e, "points", o = /*geom*/
1122
- t[4].points.map(ye).join(" ")), c(i, "class", "a9s-inner a9s-shape-handle"), c(
1123
- i,
1124
- "style",
1125
- /*computedStyle*/
1126
- t[1]
1127
- ), c(i, "points", a = /*geom*/
1128
- t[4].points.map(we).join(" "));
1129
- },
1130
- m(p, g) {
1131
- L(p, e, g), L(p, r, g), L(p, i, g), L(p, s, g);
1132
- for (let y = 0; y < u.length; y += 1)
1133
- u[y] && u[y].m(p, g);
1134
- L(p, l, g), h || (m = [
1135
- j(e, "pointerdown", function() {
1136
- U(
1137
- /*grab*/
1138
- t[10](T.SHAPE)
1139
- ) && t[10](T.SHAPE).apply(this, arguments);
1140
- }),
1141
- j(i, "pointerdown", function() {
1142
- U(
1143
- /*grab*/
1144
- t[10](T.SHAPE)
1145
- ) && t[10](T.SHAPE).apply(this, arguments);
1146
- })
1147
- ], h = !0);
1148
- },
1149
- p(p, g) {
1150
- if (t = p, g & /*computedStyle*/
1151
- 2 && n !== (n = /*computedStyle*/
1152
- t[1] ? "display:none;" : void 0) && c(e, "style", n), g & /*geom*/
1153
- 16 && o !== (o = /*geom*/
1154
- t[4].points.map(ye).join(" ")) && c(e, "points", o), g & /*computedStyle*/
1155
- 2 && c(
1156
- i,
1157
- "style",
1158
- /*computedStyle*/
1159
- t[1]
1160
- ), g & /*geom*/
1161
- 16 && a !== (a = /*geom*/
1162
- t[4].points.map(we).join(" ")) && c(i, "points", a), g & /*geom, handleSize, grab, Handle*/
1163
- 1048) {
1164
- d = /*geom*/
1165
- t[4].points;
1166
- let y;
1167
- for (y = 0; y < d.length; y += 1) {
1168
- const E = ge(t, d, y);
1169
- u[y] ? u[y].p(E, g) : (u[y] = fe(E), u[y].c(), u[y].m(l.parentNode, l));
1170
- }
1171
- for (; y < u.length; y += 1)
1172
- u[y].d(1);
1173
- u.length = d.length;
1174
- }
1175
- },
1176
- d(p) {
1177
- p && O(e), p && O(r), p && O(i), p && O(s), oe(u, p), p && O(l), h = !1, it(m);
1178
- }
1179
- };
1180
- }
1181
- function to(t) {
1182
- let e, n;
1183
- return e = new je({
1184
- props: {
1185
- shape: (
1186
- /*shape*/
1187
- t[0]
1188
- ),
1189
- transform: (
1190
- /*transform*/
1191
- t[2]
1192
- ),
1193
- editor: (
1194
- /*editor*/
1195
- t[5]
1196
- ),
1197
- $$slots: {
1198
- default: [
1199
- Qn,
1200
- ({ grab: o }) => ({ 10: o }),
1201
- ({ grab: o }) => o ? 1024 : 0
1202
- ]
1203
- },
1204
- $$scope: { ctx: t }
1205
- }
1206
- }), e.$on(
1207
- "change",
1208
- /*change_handler*/
1209
- t[7]
1210
- ), e.$on(
1211
- "grab",
1212
- /*grab_handler*/
1213
- t[8]
1214
- ), e.$on(
1215
- "release",
1216
- /*release_handler*/
1217
- t[9]
1218
- ), {
1219
- c() {
1220
- mt(e.$$.fragment);
1221
- },
1222
- m(o, r) {
1223
- ct(e, o, r), n = !0;
1224
- },
1225
- p(o, [r]) {
1226
- const i = {};
1227
- r & /*shape*/
1228
- 1 && (i.shape = /*shape*/
1229
- o[0]), r & /*transform*/
1230
- 4 && (i.transform = /*transform*/
1231
- o[2]), r & /*$$scope, geom, handleSize, grab, computedStyle*/
1232
- 17434 && (i.$$scope = { dirty: r, ctx: o }), e.$set(i);
1233
- },
1234
- i(o) {
1235
- n || (_(e.$$.fragment, o), n = !0);
1236
- },
1237
- o(o) {
1238
- R(e.$$.fragment, o), n = !1;
1239
- },
1240
- d(o) {
1241
- ut(e, o);
1242
- }
1243
- };
1244
- }
1245
- const ye = (t) => t.join(","), we = (t) => t.join(",");
1246
- function eo(t, e, n) {
1247
- let o, r, { shape: i } = e, { computedStyle: a = void 0 } = e, { transform: s } = e, { viewportScale: l = 1 } = e;
1248
- const h = (p, g, y) => {
1249
- let E;
1250
- g === T.SHAPE ? E = p.geometry.points.map(([x, M]) => [x + y[0], M + y[1]]) : E = p.geometry.points.map(([x, M], B) => g === T(B) ? [x + y[0], M + y[1]] : [x, M]);
1251
- const b = Gt(E);
1252
- return { ...p, geometry: { points: E, bounds: b } };
1253
- };
1254
- function m(p) {
1255
- Et.call(this, t, p);
1256
- }
1257
- function d(p) {
1258
- Et.call(this, t, p);
1259
- }
1260
- function u(p) {
1261
- Et.call(this, t, p);
1262
- }
1263
- return t.$$set = (p) => {
1264
- "shape" in p && n(0, i = p.shape), "computedStyle" in p && n(1, a = p.computedStyle), "transform" in p && n(2, s = p.transform), "viewportScale" in p && n(6, l = p.viewportScale);
1265
- }, t.$$.update = () => {
1266
- t.$$.dirty & /*shape*/
1267
- 1 && n(4, o = i.geometry), t.$$.dirty & /*viewportScale*/
1268
- 64 && n(3, r = 10 / l);
1269
- }, [
1270
- i,
1271
- a,
1272
- s,
1273
- r,
1274
- o,
1275
- h,
1276
- l,
1277
- m,
1278
- d,
1279
- u
1280
- ];
1281
- }
1282
- class no extends nt {
1283
- constructor(e) {
1284
- super(), et(this, e, eo, to, q, {
1285
- shape: 0,
1286
- computedStyle: 1,
1287
- transform: 2,
1288
- viewportScale: 6
1289
- });
1290
- }
1291
- }
1292
- function oo(t) {
1293
- let e, n, o, r, i, a, s, l, h, m, d, u, p, g, y, E, b, x, M, B, N, G, z, f, w, $, v, Y, I, J, gt, ft, Tt, K, S, W, H, k, st, lt, Ht, Z, It, Pt, Ct, Q, _t, Bt, jt, se;
1294
- return {
1295
- c() {
1296
- e = P("rect"), s = tt(), l = P("rect"), p = tt(), g = P("rect"), x = tt(), M = P("rect"), z = tt(), f = P("rect"), Y = tt(), I = P("rect"), Tt = tt(), K = P("rect"), H = tt(), k = P("rect"), Ht = tt(), Z = P("rect"), Ct = tt(), Q = P("rect"), c(e, "class", "a9s-outer"), c(e, "style", n = /*computedStyle*/
1297
- t[1] ? "display:none;" : void 0), c(e, "x", o = /*geom*/
1298
- t[4].x), c(e, "y", r = /*geom*/
1299
- t[4].y), c(e, "width", i = /*geom*/
1300
- t[4].w), c(e, "height", a = /*geom*/
1301
- t[4].h), c(l, "class", "a9s-inner a9s-shape-handle"), c(
1302
- l,
1303
- "style",
1304
- /*computedStyle*/
1305
- t[1]
1306
- ), c(l, "x", h = /*geom*/
1307
- t[4].x), c(l, "y", m = /*geom*/
1308
- t[4].y), c(l, "width", d = /*geom*/
1309
- t[4].w), c(l, "height", u = /*geom*/
1310
- t[4].h), c(g, "class", "a9s-edge-handle a9s-edge-handle-top"), c(g, "x", y = /*geom*/
1311
- t[4].x), c(g, "y", E = /*geom*/
1312
- t[4].y), c(g, "height", 1), c(g, "width", b = /*geom*/
1313
- t[4].w), c(M, "class", "a9s-edge-handle a9s-edge-handle-right"), c(M, "x", B = /*geom*/
1314
- t[4].x + /*geom*/
1315
- t[4].w), c(M, "y", N = /*geom*/
1316
- t[4].y), c(M, "height", G = /*geom*/
1317
- t[4].h), c(M, "width", 1), c(f, "class", "a9s-edge-handle a9s-edge-handle-bottom"), c(f, "x", w = /*geom*/
1318
- t[4].x), c(f, "y", $ = /*geom*/
1319
- t[4].y + /*geom*/
1320
- t[4].h), c(f, "height", 1), c(f, "width", v = /*geom*/
1321
- t[4].w), c(I, "class", "a9s-edge-handle a9s-edge-handle-left"), c(I, "x", J = /*geom*/
1322
- t[4].x), c(I, "y", gt = /*geom*/
1323
- t[4].y), c(I, "height", ft = /*geom*/
1324
- t[4].h), c(I, "width", 1), c(K, "class", "a9s-corner-handle a9s-corner-handle-topleft"), c(K, "x", S = /*geom*/
1325
- t[4].x - /*handleSize*/
1326
- t[3] / 2), c(K, "y", W = /*geom*/
1327
- t[4].y - /*handleSize*/
1328
- t[3] / 2), c(
1329
- K,
1330
- "height",
1331
- /*handleSize*/
1332
- t[3]
1333
- ), c(
1334
- K,
1335
- "width",
1336
- /*handleSize*/
1337
- t[3]
1338
- ), c(k, "class", "a9s-corner-handle a9s-corner-handle-topright"), c(k, "x", st = /*geom*/
1339
- t[4].x + /*geom*/
1340
- t[4].w - /*handleSize*/
1341
- t[3] / 2), c(k, "y", lt = /*geom*/
1342
- t[4].y - /*handleSize*/
1343
- t[3] / 2), c(
1344
- k,
1345
- "height",
1346
- /*handleSize*/
1347
- t[3]
1348
- ), c(
1349
- k,
1350
- "width",
1351
- /*handleSize*/
1352
- t[3]
1353
- ), c(Z, "class", "a9s-corner-handle a9s-corner-handle-bottomright"), c(Z, "x", It = /*geom*/
1354
- t[4].x + /*geom*/
1355
- t[4].w - /*handleSize*/
1356
- t[3] / 2), c(Z, "y", Pt = /*geom*/
1357
- t[4].y + /*geom*/
1358
- t[4].h - /*handleSize*/
1359
- t[3] / 2), c(
1360
- Z,
1361
- "height",
1362
- /*handleSize*/
1363
- t[3]
1364
- ), c(
1365
- Z,
1366
- "width",
1367
- /*handleSize*/
1368
- t[3]
1369
- ), c(Q, "class", "a9s-corner-handle a9s-corner-handle-bottomleft"), c(Q, "x", _t = /*geom*/
1370
- t[4].x - /*handleSize*/
1371
- t[3] / 2), c(Q, "y", Bt = /*geom*/
1372
- t[4].y + /*geom*/
1373
- t[4].h - /*handleSize*/
1374
- t[3] / 2), c(
1375
- Q,
1376
- "height",
1377
- /*handleSize*/
1378
- t[3]
1379
- ), c(
1380
- Q,
1381
- "width",
1382
- /*handleSize*/
1383
- t[3]
1384
- );
1385
- },
1386
- m(X, A) {
1387
- L(X, e, A), L(X, s, A), L(X, l, A), L(X, p, A), L(X, g, A), L(X, x, A), L(X, M, A), L(X, z, A), L(X, f, A), L(X, Y, A), L(X, I, A), L(X, Tt, A), L(X, K, A), L(X, H, A), L(X, k, A), L(X, Ht, A), L(X, Z, A), L(X, Ct, A), L(X, Q, A), jt || (se = [
1388
- j(e, "pointerdown", function() {
1389
- U(
1390
- /*grab*/
1391
- t[10](T.SHAPE)
1392
- ) && t[10](T.SHAPE).apply(this, arguments);
1393
- }),
1394
- j(l, "pointerdown", function() {
1395
- U(
1396
- /*grab*/
1397
- t[10](T.SHAPE)
1398
- ) && t[10](T.SHAPE).apply(this, arguments);
1399
- }),
1400
- j(g, "pointerdown", function() {
1401
- U(
1402
- /*grab*/
1403
- t[10](T.TOP)
1404
- ) && t[10](T.TOP).apply(this, arguments);
1405
- }),
1406
- j(M, "pointerdown", function() {
1407
- U(
1408
- /*grab*/
1409
- t[10](T.RIGHT)
1410
- ) && t[10](T.RIGHT).apply(this, arguments);
1411
- }),
1412
- j(f, "pointerdown", function() {
1413
- U(
1414
- /*grab*/
1415
- t[10](T.BOTTOM)
1416
- ) && t[10](T.BOTTOM).apply(this, arguments);
1417
- }),
1418
- j(I, "pointerdown", function() {
1419
- U(
1420
- /*grab*/
1421
- t[10](T.LEFT)
1422
- ) && t[10](T.LEFT).apply(this, arguments);
1423
- }),
1424
- j(K, "pointerdown", function() {
1425
- U(
1426
- /*grab*/
1427
- t[10](T.TOP_LEFT)
1428
- ) && t[10](T.TOP_LEFT).apply(this, arguments);
1429
- }),
1430
- j(k, "pointerdown", function() {
1431
- U(
1432
- /*grab*/
1433
- t[10](T.TOP_RIGHT)
1434
- ) && t[10](T.TOP_RIGHT).apply(this, arguments);
1435
- }),
1436
- j(Z, "pointerdown", function() {
1437
- U(
1438
- /*grab*/
1439
- t[10](T.BOTTOM_RIGHT)
1440
- ) && t[10](T.BOTTOM_RIGHT).apply(this, arguments);
1441
- }),
1442
- j(Q, "pointerdown", function() {
1443
- U(
1444
- /*grab*/
1445
- t[10](T.BOTTOM_LEFT)
1446
- ) && t[10](T.BOTTOM_LEFT).apply(this, arguments);
1447
- })
1448
- ], jt = !0);
1449
- },
1450
- p(X, A) {
1451
- t = X, A & /*computedStyle*/
1452
- 2 && n !== (n = /*computedStyle*/
1453
- t[1] ? "display:none;" : void 0) && c(e, "style", n), A & /*geom*/
1454
- 16 && o !== (o = /*geom*/
1455
- t[4].x) && c(e, "x", o), A & /*geom*/
1456
- 16 && r !== (r = /*geom*/
1457
- t[4].y) && c(e, "y", r), A & /*geom*/
1458
- 16 && i !== (i = /*geom*/
1459
- t[4].w) && c(e, "width", i), A & /*geom*/
1460
- 16 && a !== (a = /*geom*/
1461
- t[4].h) && c(e, "height", a), A & /*computedStyle*/
1462
- 2 && c(
1463
- l,
1464
- "style",
1465
- /*computedStyle*/
1466
- t[1]
1467
- ), A & /*geom*/
1468
- 16 && h !== (h = /*geom*/
1469
- t[4].x) && c(l, "x", h), A & /*geom*/
1470
- 16 && m !== (m = /*geom*/
1471
- t[4].y) && c(l, "y", m), A & /*geom*/
1472
- 16 && d !== (d = /*geom*/
1473
- t[4].w) && c(l, "width", d), A & /*geom*/
1474
- 16 && u !== (u = /*geom*/
1475
- t[4].h) && c(l, "height", u), A & /*geom*/
1476
- 16 && y !== (y = /*geom*/
1477
- t[4].x) && c(g, "x", y), A & /*geom*/
1478
- 16 && E !== (E = /*geom*/
1479
- t[4].y) && c(g, "y", E), A & /*geom*/
1480
- 16 && b !== (b = /*geom*/
1481
- t[4].w) && c(g, "width", b), A & /*geom*/
1482
- 16 && B !== (B = /*geom*/
1483
- t[4].x + /*geom*/
1484
- t[4].w) && c(M, "x", B), A & /*geom*/
1485
- 16 && N !== (N = /*geom*/
1486
- t[4].y) && c(M, "y", N), A & /*geom*/
1487
- 16 && G !== (G = /*geom*/
1488
- t[4].h) && c(M, "height", G), A & /*geom*/
1489
- 16 && w !== (w = /*geom*/
1490
- t[4].x) && c(f, "x", w), A & /*geom*/
1491
- 16 && $ !== ($ = /*geom*/
1492
- t[4].y + /*geom*/
1493
- t[4].h) && c(f, "y", $), A & /*geom*/
1494
- 16 && v !== (v = /*geom*/
1495
- t[4].w) && c(f, "width", v), A & /*geom*/
1496
- 16 && J !== (J = /*geom*/
1497
- t[4].x) && c(I, "x", J), A & /*geom*/
1498
- 16 && gt !== (gt = /*geom*/
1499
- t[4].y) && c(I, "y", gt), A & /*geom*/
1500
- 16 && ft !== (ft = /*geom*/
1501
- t[4].h) && c(I, "height", ft), A & /*geom, handleSize*/
1502
- 24 && S !== (S = /*geom*/
1503
- t[4].x - /*handleSize*/
1504
- t[3] / 2) && c(K, "x", S), A & /*geom, handleSize*/
1505
- 24 && W !== (W = /*geom*/
1506
- t[4].y - /*handleSize*/
1507
- t[3] / 2) && c(K, "y", W), A & /*handleSize*/
1508
- 8 && c(
1509
- K,
1510
- "height",
1511
- /*handleSize*/
1512
- t[3]
1513
- ), A & /*handleSize*/
1514
- 8 && c(
1515
- K,
1516
- "width",
1517
- /*handleSize*/
1518
- t[3]
1519
- ), A & /*geom, handleSize*/
1520
- 24 && st !== (st = /*geom*/
1521
- t[4].x + /*geom*/
1522
- t[4].w - /*handleSize*/
1523
- t[3] / 2) && c(k, "x", st), A & /*geom, handleSize*/
1524
- 24 && lt !== (lt = /*geom*/
1525
- t[4].y - /*handleSize*/
1526
- t[3] / 2) && c(k, "y", lt), A & /*handleSize*/
1527
- 8 && c(
1528
- k,
1529
- "height",
1530
- /*handleSize*/
1531
- t[3]
1532
- ), A & /*handleSize*/
1533
- 8 && c(
1534
- k,
1535
- "width",
1536
- /*handleSize*/
1537
- t[3]
1538
- ), A & /*geom, handleSize*/
1539
- 24 && It !== (It = /*geom*/
1540
- t[4].x + /*geom*/
1541
- t[4].w - /*handleSize*/
1542
- t[3] / 2) && c(Z, "x", It), A & /*geom, handleSize*/
1543
- 24 && Pt !== (Pt = /*geom*/
1544
- t[4].y + /*geom*/
1545
- t[4].h - /*handleSize*/
1546
- t[3] / 2) && c(Z, "y", Pt), A & /*handleSize*/
1547
- 8 && c(
1548
- Z,
1549
- "height",
1550
- /*handleSize*/
1551
- t[3]
1552
- ), A & /*handleSize*/
1553
- 8 && c(
1554
- Z,
1555
- "width",
1556
- /*handleSize*/
1557
- t[3]
1558
- ), A & /*geom, handleSize*/
1559
- 24 && _t !== (_t = /*geom*/
1560
- t[4].x - /*handleSize*/
1561
- t[3] / 2) && c(Q, "x", _t), A & /*geom, handleSize*/
1562
- 24 && Bt !== (Bt = /*geom*/
1563
- t[4].y + /*geom*/
1564
- t[4].h - /*handleSize*/
1565
- t[3] / 2) && c(Q, "y", Bt), A & /*handleSize*/
1566
- 8 && c(
1567
- Q,
1568
- "height",
1569
- /*handleSize*/
1570
- t[3]
1571
- ), A & /*handleSize*/
1572
- 8 && c(
1573
- Q,
1574
- "width",
1575
- /*handleSize*/
1576
- t[3]
1577
- );
1578
- },
1579
- d(X) {
1580
- X && O(e), X && O(s), X && O(l), X && O(p), X && O(g), X && O(x), X && O(M), X && O(z), X && O(f), X && O(Y), X && O(I), X && O(Tt), X && O(K), X && O(H), X && O(k), X && O(Ht), X && O(Z), X && O(Ct), X && O(Q), jt = !1, it(se);
1581
- }
1582
- };
1583
- }
1584
- function ro(t) {
1585
- let e, n;
1586
- return e = new je({
1587
- props: {
1588
- shape: (
1589
- /*shape*/
1590
- t[0]
1591
- ),
1592
- transform: (
1593
- /*transform*/
1594
- t[2]
1595
- ),
1596
- editor: (
1597
- /*editor*/
1598
- t[5]
1599
- ),
1600
- $$slots: {
1601
- default: [
1602
- oo,
1603
- ({ grab: o }) => ({ 10: o }),
1604
- ({ grab: o }) => o ? 1024 : 0
1605
- ]
1606
- },
1607
- $$scope: { ctx: t }
1608
- }
1609
- }), e.$on(
1610
- "grab",
1611
- /*grab_handler*/
1612
- t[7]
1613
- ), e.$on(
1614
- "change",
1615
- /*change_handler*/
1616
- t[8]
1617
- ), e.$on(
1618
- "release",
1619
- /*release_handler*/
1620
- t[9]
1621
- ), {
1622
- c() {
1623
- mt(e.$$.fragment);
1624
- },
1625
- m(o, r) {
1626
- ct(e, o, r), n = !0;
1627
- },
1628
- p(o, [r]) {
1629
- const i = {};
1630
- r & /*shape*/
1631
- 1 && (i.shape = /*shape*/
1632
- o[0]), r & /*transform*/
1633
- 4 && (i.transform = /*transform*/
1634
- o[2]), r & /*$$scope, geom, handleSize, grab, computedStyle*/
1635
- 3098 && (i.$$scope = { dirty: r, ctx: o }), e.$set(i);
1636
- },
1637
- i(o) {
1638
- n || (_(e.$$.fragment, o), n = !0);
1639
- },
1640
- o(o) {
1641
- R(e.$$.fragment, o), n = !1;
1642
- },
1643
- d(o) {
1644
- ut(e, o);
1645
- }
1646
- };
1647
- }
1648
- function io(t, e, n) {
1649
- let o, r, { shape: i } = e, { computedStyle: a = void 0 } = e, { transform: s } = e, { viewportScale: l = 1 } = e;
1650
- const h = (p, g, y) => {
1651
- const E = p.geometry.bounds;
1652
- let [b, x] = [E.minX, E.minY], [M, B] = [E.maxX, E.maxY];
1653
- const [N, G] = y;
1654
- if (g === T.SHAPE)
1655
- b += N, M += N, x += G, B += G;
1656
- else {
1657
- switch (g) {
1658
- case T.TOP:
1659
- case T.TOP_LEFT:
1660
- case T.TOP_RIGHT: {
1661
- x += G;
1662
- break;
1663
- }
1664
- case T.BOTTOM:
1665
- case T.BOTTOM_LEFT:
1666
- case T.BOTTOM_RIGHT: {
1667
- B += G;
1668
- break;
1669
- }
1670
- }
1671
- switch (g) {
1672
- case T.LEFT:
1673
- case T.TOP_LEFT:
1674
- case T.BOTTOM_LEFT: {
1675
- b += N;
1676
- break;
1677
- }
1678
- case T.RIGHT:
1679
- case T.TOP_RIGHT:
1680
- case T.BOTTOM_RIGHT: {
1681
- M += N;
1682
- break;
1683
- }
1684
- }
1685
- }
1686
- const z = Math.min(b, M), f = Math.min(x, B), w = Math.abs(M - b), $ = Math.abs(B - x);
1687
- return {
1688
- ...p,
1689
- geometry: {
1690
- x: z,
1691
- y: f,
1692
- w,
1693
- h: $,
1694
- bounds: {
1695
- minX: z,
1696
- minY: f,
1697
- maxX: z + w,
1698
- maxY: f + $
1699
- }
1700
- }
1701
- };
1702
- };
1703
- function m(p) {
1704
- Et.call(this, t, p);
1705
- }
1706
- function d(p) {
1707
- Et.call(this, t, p);
1708
- }
1709
- function u(p) {
1710
- Et.call(this, t, p);
1711
- }
1712
- return t.$$set = (p) => {
1713
- "shape" in p && n(0, i = p.shape), "computedStyle" in p && n(1, a = p.computedStyle), "transform" in p && n(2, s = p.transform), "viewportScale" in p && n(6, l = p.viewportScale);
1714
- }, t.$$.update = () => {
1715
- t.$$.dirty & /*shape*/
1716
- 1 && n(4, o = i.geometry), t.$$.dirty & /*viewportScale*/
1717
- 64 && n(3, r = 10 / l);
1718
- }, [
1719
- i,
1720
- a,
1721
- s,
1722
- r,
1723
- o,
1724
- h,
1725
- l,
1726
- m,
1727
- d,
1728
- u
1729
- ];
1730
- }
1731
- class ao extends nt {
1732
- constructor(e) {
1733
- super(), et(this, e, io, ro, q, {
1734
- shape: 0,
1735
- computedStyle: 1,
1736
- transform: 2,
1737
- viewportScale: 6
1738
- });
1739
- }
1740
- }
1741
- const Ce = /* @__PURE__ */ new Map([
1742
- [F.RECTANGLE, ao],
1743
- [F.POLYGON, no]
1744
- ]), $e = (t) => Ce.get(t.type), so = (t, e) => Ce.set(t, e), T = (t) => `HANDLE-${t}`;
1745
- T.SHAPE = "SHAPE";
1746
- T.TOP = "TOP";
1747
- T.RIGHT = "RIGHT";
1748
- T.BOTTOM = "BOTTOM";
1749
- T.LEFT = "LEFT";
1750
- T.TOP_LEFT = "TOP_LEFT";
1751
- T.TOP_RIGHT = "TOP_RIGHT";
1752
- T.BOTTOM_RIGHT = "BOTTOM_RIGHT";
1753
- T.BOTTOM_LEFT = "BOTTOM_LEFT";
1754
- const lo = (t) => ({}), xe = (t) => ({ grab: (
1755
- /*onGrab*/
1756
- t[0]
1757
- ) });
1758
- function co(t) {
1759
- let e, n, o, r;
1760
- const i = (
1761
- /*#slots*/
1762
- t[7].default
1763
- ), a = Je(
1764
- i,
1765
- t,
1766
- /*$$scope*/
1767
- t[6],
1768
- xe
1769
- );
1770
- return {
1771
- c() {
1772
- e = P("g"), a && a.c(), c(e, "class", "a9s-annotation selected");
1773
- },
1774
- m(s, l) {
1775
- L(s, e, l), a && a.m(e, null), n = !0, o || (r = [
1776
- j(
1777
- e,
1778
- "pointerup",
1779
- /*onRelease*/
1780
- t[2]
1781
- ),
1782
- j(
1783
- e,
1784
- "pointermove",
1785
- /*onPointerMove*/
1786
- t[1]
1787
- )
1788
- ], o = !0);
1789
- },
1790
- p(s, [l]) {
1791
- a && a.p && (!n || l & /*$$scope*/
1792
- 64) && Qe(
1793
- a,
1794
- i,
1795
- s,
1796
- /*$$scope*/
1797
- s[6],
1798
- n ? Ze(
1799
- i,
1800
- /*$$scope*/
1801
- s[6],
1802
- l,
1803
- lo
1804
- ) : tn(
1805
- /*$$scope*/
1806
- s[6]
1807
- ),
1808
- xe
1809
- );
1810
- },
1811
- i(s) {
1812
- n || (_(a, s), n = !0);
1813
- },
1814
- o(s) {
1815
- R(a, s), n = !1;
1816
- },
1817
- d(s) {
1818
- s && O(e), a && a.d(s), o = !1, it(r);
1819
- }
1820
- };
1821
- }
1822
- function uo(t, e, n) {
1823
- let { $$slots: o = {}, $$scope: r } = e;
1824
- const i = At();
1825
- let { shape: a } = e, { editor: s } = e, { transform: l } = e, h = null, m, d = null;
1826
- const u = (y) => (E) => {
1827
- h = y, m = l.elementToImage(E.offsetX, E.offsetY), d = a, E.target.setPointerCapture(E.pointerId), i("grab");
1828
- }, p = (y) => {
1829
- if (h) {
1830
- const [E, b] = l.elementToImage(y.offsetX, y.offsetY), x = [E - m[0], b - m[1]];
1831
- n(3, a = s(d, h, x)), i("change", a);
1832
- }
1833
- }, g = (y) => {
1834
- y.target.releasePointerCapture(y.pointerId), h = null, d = a, i("release");
1835
- };
1836
- return t.$$set = (y) => {
1837
- "shape" in y && n(3, a = y.shape), "editor" in y && n(4, s = y.editor), "transform" in y && n(5, l = y.transform), "$$scope" in y && n(6, r = y.$$scope);
1838
- }, [u, p, g, a, s, l, r, o];
1839
- }
1840
- class je extends nt {
1841
- constructor(e) {
1842
- super(), et(this, e, uo, co, q, { shape: 3, editor: 4, transform: 5 });
1843
- }
1844
- }
1845
- const Ut = (t, e) => {
1846
- const n = typeof e == "function" ? e(t) : e;
1847
- if (n) {
1848
- const { fill: o, fillOpacity: r } = n;
1849
- let i = "";
1850
- return o && (i += `fill:${o};stroke:${o};`), i += `fill-opacity:${r || "0.25"};`, i;
1851
- }
1852
- };
1853
- function ho(t, e, n) {
1854
- let o;
1855
- const r = At();
1856
- let { annotation: i } = e, { editor: a } = e, { style: s = void 0 } = e, { target: l } = e, { transform: h } = e, { viewportScale: m } = e, d;
1857
- return Xt(() => (n(6, d = new a({
1858
- target: l,
1859
- props: {
1860
- shape: i.target.selector,
1861
- computedStyle: o,
1862
- transform: h,
1863
- viewportScale: m
1864
- }
1865
- })), d.$on("change", (u) => {
1866
- d.$$set({ shape: u.detail }), r("change", u.detail);
1867
- }), d.$on("grab", (u) => r("grab", u.detail)), d.$on("release", (u) => r("release", u.detail)), () => {
1868
- d.$destroy();
1869
- })), t.$$set = (u) => {
1870
- "annotation" in u && n(0, i = u.annotation), "editor" in u && n(1, a = u.editor), "style" in u && n(2, s = u.style), "target" in u && n(3, l = u.target), "transform" in u && n(4, h = u.transform), "viewportScale" in u && n(5, m = u.viewportScale);
1871
- }, t.$$.update = () => {
1872
- t.$$.dirty & /*annotation, style*/
1873
- 5 && (o = Ut(i, s)), t.$$.dirty & /*annotation, editorComponent*/
1874
- 65 && i && (d == null || d.$set({ shape: i.target.selector })), t.$$.dirty & /*editorComponent, transform*/
1875
- 80 && d && d.$set({ transform: h }), t.$$.dirty & /*editorComponent, viewportScale*/
1876
- 96 && d && d.$set({ viewportScale: m });
1877
- }, [i, a, s, l, h, m, d];
1878
- }
1879
- class po extends nt {
1880
- constructor(e) {
1881
- super(), et(this, e, ho, null, q, {
1882
- annotation: 0,
1883
- editor: 1,
1884
- style: 2,
1885
- target: 3,
1886
- transform: 4,
1887
- viewportScale: 5
1888
- });
1889
- }
1890
- }
1891
- function mo(t, e, n) {
1892
- const o = At();
1893
- let { drawingMode: r } = e, { target: i } = e, { tool: a } = e, { transform: s } = e, { viewportScale: l } = e, h;
1894
- return Xt(() => {
1895
- const m = i.closest("svg"), d = [], u = (p, g, y) => {
1896
- m.addEventListener(p, g, y), d.push(() => m.removeEventListener(p, g, y));
1897
- };
1898
- return n(5, h = new a({
1899
- target: i,
1900
- props: {
1901
- addEventListener: u,
1902
- drawingMode: r,
1903
- transform: s,
1904
- viewportScale: l
1905
- }
1906
- })), h.$on("create", (p) => o("create", p.detail)), () => {
1907
- d.forEach((p) => p()), h.$destroy();
1908
- };
1909
- }), t.$$set = (m) => {
1910
- "drawingMode" in m && n(0, r = m.drawingMode), "target" in m && n(1, i = m.target), "tool" in m && n(2, a = m.tool), "transform" in m && n(3, s = m.transform), "viewportScale" in m && n(4, l = m.viewportScale);
1911
- }, t.$$.update = () => {
1912
- t.$$.dirty & /*toolComponent, transform*/
1913
- 40 && h && h.$set({ transform: s }), t.$$.dirty & /*toolComponent, viewportScale*/
1914
- 48 && h && h.$set({ viewportScale: l });
1915
- }, [r, i, a, s, l, h];
1916
- }
1917
- class go extends nt {
1918
- constructor(e) {
1919
- super(), et(this, e, mo, null, q, {
1920
- drawingMode: 0,
1921
- target: 1,
1922
- tool: 2,
1923
- transform: 3,
1924
- viewportScale: 4
1925
- });
1926
- }
1927
- }
1928
- function be(t) {
1929
- let e, n;
1930
- return {
1931
- c() {
1932
- e = P("rect"), n = P("rect"), c(e, "class", "a9s-outer"), c(
1933
- e,
1934
- "x",
1935
- /*x*/
1936
- t[1]
1937
- ), c(
1938
- e,
1939
- "y",
1940
- /*y*/
1941
- t[2]
1942
- ), c(
1943
- e,
1944
- "width",
1945
- /*w*/
1946
- t[3]
1947
- ), c(
1948
- e,
1949
- "height",
1950
- /*h*/
1951
- t[4]
1952
- ), c(n, "class", "a9s-inner"), c(
1953
- n,
1954
- "x",
1955
- /*x*/
1956
- t[1]
1957
- ), c(
1958
- n,
1959
- "y",
1960
- /*y*/
1961
- t[2]
1962
- ), c(
1963
- n,
1964
- "width",
1965
- /*w*/
1966
- t[3]
1967
- ), c(
1968
- n,
1969
- "height",
1970
- /*h*/
1971
- t[4]
1972
- );
1973
- },
1974
- m(o, r) {
1975
- L(o, e, r), L(o, n, r);
1976
- },
1977
- p(o, r) {
1978
- r & /*x*/
1979
- 2 && c(
1980
- e,
1981
- "x",
1982
- /*x*/
1983
- o[1]
1984
- ), r & /*y*/
1985
- 4 && c(
1986
- e,
1987
- "y",
1988
- /*y*/
1989
- o[2]
1990
- ), r & /*w*/
1991
- 8 && c(
1992
- e,
1993
- "width",
1994
- /*w*/
1995
- o[3]
1996
- ), r & /*h*/
1997
- 16 && c(
1998
- e,
1999
- "height",
2000
- /*h*/
2001
- o[4]
2002
- ), r & /*x*/
2003
- 2 && c(
2004
- n,
2005
- "x",
2006
- /*x*/
2007
- o[1]
2008
- ), r & /*y*/
2009
- 4 && c(
2010
- n,
2011
- "y",
2012
- /*y*/
2013
- o[2]
2014
- ), r & /*w*/
2015
- 8 && c(
2016
- n,
2017
- "width",
2018
- /*w*/
2019
- o[3]
2020
- ), r & /*h*/
2021
- 16 && c(
2022
- n,
2023
- "height",
2024
- /*h*/
2025
- o[4]
2026
- );
2027
- },
2028
- d(o) {
2029
- o && O(e), o && O(n);
2030
- }
2031
- };
2032
- }
2033
- function fo(t) {
2034
- let e, n = (
2035
- /*origin*/
2036
- t[0] && be(t)
2037
- );
2038
- return {
2039
- c() {
2040
- e = P("g"), n && n.c(), c(e, "class", "a9s-annotation a9s-rubberband");
2041
- },
2042
- m(o, r) {
2043
- L(o, e, r), n && n.m(e, null);
2044
- },
2045
- p(o, [r]) {
2046
- o[0] ? n ? n.p(o, r) : (n = be(o), n.c(), n.m(e, null)) : n && (n.d(1), n = null);
2047
- },
2048
- i: V,
2049
- o: V,
2050
- d(o) {
2051
- o && O(e), n && n.d();
2052
- }
2053
- };
2054
- }
2055
- function yo(t, e, n) {
2056
- const o = At();
2057
- let { addEventListener: r } = e, { drawingMode: i } = e, { transform: a } = e, s, l, h, m, d, u, p;
2058
- const g = (x) => {
2059
- s = performance.now(), i === "drag" && (n(0, l = a.elementToImage(x.offsetX, x.offsetY)), h = l, n(1, m = l[0]), n(2, d = l[1]), n(3, u = 1), n(4, p = 1));
2060
- }, y = (x) => {
2061
- l && (h = a.elementToImage(x.offsetX, x.offsetY), n(1, m = Math.min(h[0], l[0])), n(2, d = Math.min(h[1], l[1])), n(3, u = Math.abs(h[0] - l[0])), n(4, p = Math.abs(h[1] - l[1])));
2062
- }, E = (x) => {
2063
- const M = performance.now() - s;
2064
- if (i === "click") {
2065
- if (M > 300)
2066
- return;
2067
- x.stopPropagation(), l ? b() : (n(0, l = a.elementToImage(x.offsetX, x.offsetY)), h = l, n(1, m = l[0]), n(2, d = l[1]), n(3, u = 1), n(4, p = 1));
2068
- } else
2069
- l && (M > 300 || u * p > 100 ? (x.stopPropagation(), b()) : (n(0, l = null), h = null));
2070
- }, b = () => {
2071
- if (u * p > 15) {
2072
- const x = {
2073
- type: F.RECTANGLE,
2074
- geometry: {
2075
- bounds: {
2076
- minX: m,
2077
- minY: d,
2078
- maxX: m + u,
2079
- maxY: d + p
2080
- },
2081
- x: m,
2082
- y: d,
2083
- w: u,
2084
- h: p
2085
- }
2086
- };
2087
- o("create", x);
2088
- }
2089
- n(0, l = null), h = null;
2090
- };
2091
- return Xt(() => {
2092
- r("pointerdown", g), r("pointermove", y), r("pointerup", E, !0);
2093
- }), t.$$set = (x) => {
2094
- "addEventListener" in x && n(5, r = x.addEventListener), "drawingMode" in x && n(6, i = x.drawingMode), "transform" in x && n(7, a = x.transform);
2095
- }, [l, m, d, u, p, r, i, a];
2096
- }
2097
- class wo extends nt {
2098
- constructor(e) {
2099
- super(), et(this, e, yo, fo, q, {
2100
- addEventListener: 5,
2101
- drawingMode: 6,
2102
- transform: 7
2103
- });
2104
- }
2105
- }
2106
- const Kt = (t, e) => {
2107
- const n = Math.abs(e[0] - t[0]), o = Math.abs(e[1] - t[1]);
2108
- return Math.sqrt(Math.pow(n, 2) + Math.pow(o, 2));
2109
- }, $o = (t, e) => {
2110
- const { naturalWidth: n, naturalHeight: o } = t;
2111
- if (!n && !o) {
2112
- const { width: r, height: i } = t;
2113
- e.setAttribute("viewBox", `0 0 ${r} ${i}`), t.addEventListener("load", (a) => {
2114
- const s = a.target;
2115
- e.setAttribute("viewBox", `0 0 ${s.naturalWidth} ${s.naturalHeight}`);
2116
- });
2117
- } else
2118
- e.setAttribute("viewBox", `0 0 ${n} ${o}`);
2119
- }, xo = (t, e) => {
2120
- $o(t, e);
2121
- const { subscribe: n, set: o } = Ft(1);
2122
- let r;
2123
- return window.ResizeObserver && (r = new ResizeObserver(() => {
2124
- const i = e.getBoundingClientRect(), { width: a, height: s } = e.viewBox.baseVal, l = Math.max(
2125
- i.width / a,
2126
- i.height / s
2127
- );
2128
- o(l);
2129
- }), r.observe(e.parentElement)), { destroy: () => {
2130
- r && r.disconnect();
2131
- }, subscribe: n };
2132
- };
2133
- function qt(t) {
2134
- const e = t.slice(), n = (
2135
- /*isClosable*/
2136
- (e[2] ? (
2137
- /*points*/
2138
- e[0]
2139
- ) : [
2140
- .../*points*/
2141
- e[0],
2142
- /*cursor*/
2143
- e[1]
2144
- ]).map((o) => o.join(",")).join(" ")
2145
- );
2146
- return e[15] = n, e;
2147
- }
2148
- function Ee(t) {
2149
- let e, n, o, r, i, a = (
2150
- /*isClosable*/
2151
- t[2] && ve(t)
2152
- );
2153
- return {
2154
- c() {
2155
- e = P("polygon"), o = P("polygon"), a && a.c(), i = at(), c(e, "class", "a9s-outer"), c(e, "points", n = /*coords*/
2156
- t[15]), c(o, "class", "a9s-inner"), c(o, "points", r = /*coords*/
2157
- t[15]);
2158
- },
2159
- m(s, l) {
2160
- L(s, e, l), L(s, o, l), a && a.m(s, l), L(s, i, l);
2161
- },
2162
- p(s, l) {
2163
- l & /*isClosable, points, cursor*/
2164
- 7 && n !== (n = /*coords*/
2165
- s[15]) && c(e, "points", n), l & /*isClosable, points, cursor*/
2166
- 7 && r !== (r = /*coords*/
2167
- s[15]) && c(o, "points", r), /*isClosable*/
2168
- s[2] ? a ? a.p(s, l) : (a = ve(s), a.c(), a.m(i.parentNode, i)) : a && (a.d(1), a = null);
2169
- },
2170
- d(s) {
2171
- s && O(e), s && O(o), a && a.d(s), s && O(i);
2172
- }
2173
- };
2174
- }
2175
- function ve(t) {
2176
- let e, n, o;
2177
- return {
2178
- c() {
2179
- e = P("rect"), c(e, "class", "a9s-corner-handle"), c(e, "x", n = /*points*/
2180
- t[0][0][0] - /*handleSize*/
2181
- t[3] / 2), c(e, "y", o = /*points*/
2182
- t[0][0][1] - /*handleSize*/
2183
- t[3] / 2), c(
2184
- e,
2185
- "height",
2186
- /*handleSize*/
2187
- t[3]
2188
- ), c(
2189
- e,
2190
- "width",
2191
- /*handleSize*/
2192
- t[3]
2193
- );
2194
- },
2195
- m(r, i) {
2196
- L(r, e, i);
2197
- },
2198
- p(r, i) {
2199
- i & /*points, handleSize*/
2200
- 9 && n !== (n = /*points*/
2201
- r[0][0][0] - /*handleSize*/
2202
- r[3] / 2) && c(e, "x", n), i & /*points, handleSize*/
2203
- 9 && o !== (o = /*points*/
2204
- r[0][0][1] - /*handleSize*/
2205
- r[3] / 2) && c(e, "y", o), i & /*handleSize*/
2206
- 8 && c(
2207
- e,
2208
- "height",
2209
- /*handleSize*/
2210
- r[3]
2211
- ), i & /*handleSize*/
2212
- 8 && c(
2213
- e,
2214
- "width",
2215
- /*handleSize*/
2216
- r[3]
2217
- );
2218
- },
2219
- d(r) {
2220
- r && O(e);
2221
- }
2222
- };
2223
- }
2224
- function bo(t) {
2225
- let e, n = (
2226
- /*cursor*/
2227
- t[1] && Ee(qt(t))
2228
- );
2229
- return {
2230
- c() {
2231
- e = P("g"), n && n.c(), c(e, "class", "a9s-annotation a9s-rubberband");
2232
- },
2233
- m(o, r) {
2234
- L(o, e, r), n && n.m(e, null);
2235
- },
2236
- p(o, [r]) {
2237
- o[1] ? n ? n.p(qt(o), r) : (n = Ee(qt(o)), n.c(), n.m(e, null)) : n && (n.d(1), n = null);
2238
- },
2239
- i: V,
2240
- o: V,
2241
- d(o) {
2242
- o && O(e), n && n.d();
2243
- }
2244
- };
2245
- }
2246
- const Eo = 20;
2247
- function vo(t, e, n) {
2248
- let o;
2249
- const r = At();
2250
- let { addEventListener: i } = e, { drawingMode: a } = e, { transform: s } = e, { viewportScale: l = 1 } = e, h, m = [], d = null, u = !1;
2251
- const p = (x) => {
2252
- if (h = { ...x }, a === "drag" && m.length === 0) {
2253
- const M = s.elementToImage(x.offsetX, x.offsetY);
2254
- m.push(M), n(1, d = M);
2255
- }
2256
- }, g = (x) => {
2257
- if (m.length > 0 && (n(1, d = s.elementToImage(x.offsetX, x.offsetY)), m.length > 2)) {
2258
- const M = Kt(d, m[0]) * l;
2259
- n(2, u = M < Eo);
2260
- }
2261
- }, y = (x) => {
2262
- if (a === "click") {
2263
- const M = x.timeStamp - h.timeStamp, B = Kt([h.offsetX, h.offsetY], [x.offsetX, x.offsetY]);
2264
- if (M > 300 || B > 15)
2265
- return;
2266
- if (u)
2267
- b();
2268
- else if (m.length === 0) {
2269
- const N = s.elementToImage(x.offsetX, x.offsetY);
2270
- m.push(N), n(1, d = N);
2271
- } else
2272
- m.push(d);
2273
- } else {
2274
- if (m.length === 1 && Kt(m[0], d) <= 4) {
2275
- n(0, m = []), n(1, d = null);
2276
- return;
2277
- }
2278
- x.stopImmediatePropagation(), u ? b() : m.push(d);
2279
- }
2280
- }, E = () => {
2281
- const x = [...m, d], M = {
2282
- type: F.POLYGON,
2283
- geometry: { bounds: Gt(x), points: x }
2284
- };
2285
- ne(M) > 4 && (n(0, m = []), n(1, d = null), r("create", M));
2286
- }, b = () => {
2287
- const x = {
2288
- type: F.POLYGON,
2289
- geometry: {
2290
- bounds: Gt(m),
2291
- points: [...m]
2292
- }
2293
- };
2294
- n(0, m = []), n(1, d = null), r("create", x);
2295
- };
2296
- return Xt(() => {
2297
- i("pointerdown", p, !0), i("pointermove", g), i("pointerup", y, !0), i("dblclick", E, !0);
2298
- }), t.$$set = (x) => {
2299
- "addEventListener" in x && n(4, i = x.addEventListener), "drawingMode" in x && n(5, a = x.drawingMode), "transform" in x && n(6, s = x.transform), "viewportScale" in x && n(7, l = x.viewportScale);
2300
- }, t.$$.update = () => {
2301
- t.$$.dirty & /*viewportScale*/
2302
- 128 && n(3, o = 10 / l);
2303
- }, [
2304
- m,
2305
- d,
2306
- u,
2307
- o,
2308
- i,
2309
- a,
2310
- s,
2311
- l
2312
- ];
2313
- }
2314
- class Ao extends nt {
2315
- constructor(e) {
2316
- super(), et(this, e, vo, bo, q, {
2317
- addEventListener: 4,
2318
- drawingMode: 5,
2319
- transform: 6,
2320
- viewportScale: 7
2321
- });
2322
- }
2323
- }
2324
- const ae = /* @__PURE__ */ new Map([
2325
- ["rectangle", { tool: wo }],
2326
- ["polygon", { tool: Ao }]
2327
- ]), To = () => [...ae.keys()], ze = (t) => ae.get(t), Mo = (t, e, n) => ae.set(t, { tool: e, opts: n });
2328
- function Oo(t) {
2329
- let e, n, o, r, i;
2330
- return {
2331
- c() {
2332
- e = P("g"), n = P("ellipse"), r = P("ellipse"), c(n, "class", "a9s-outer"), c(n, "style", o = /*computedStyle*/
2333
- t[1] ? "display:none;" : void 0), c(
2334
- n,
2335
- "cx",
2336
- /*cx*/
2337
- t[2]
2338
- ), c(
2339
- n,
2340
- "cy",
2341
- /*cy*/
2342
- t[3]
2343
- ), c(
2344
- n,
2345
- "rx",
2346
- /*rx*/
2347
- t[4]
2348
- ), c(
2349
- n,
2350
- "ry",
2351
- /*ry*/
2352
- t[5]
2353
- ), c(r, "class", "a9s-inner"), c(
2354
- r,
2355
- "style",
2356
- /*computedStyle*/
2357
- t[1]
2358
- ), c(
2359
- r,
2360
- "cx",
2361
- /*cx*/
2362
- t[2]
2363
- ), c(
2364
- r,
2365
- "cy",
2366
- /*cy*/
2367
- t[3]
2368
- ), c(
2369
- r,
2370
- "rx",
2371
- /*rx*/
2372
- t[4]
2373
- ), c(
2374
- r,
2375
- "ry",
2376
- /*ry*/
2377
- t[5]
2378
- ), c(e, "data-id", i = /*annotation*/
2379
- t[0].id);
2380
- },
2381
- m(a, s) {
2382
- L(a, e, s), dt(e, n), dt(e, r);
2383
- },
2384
- p(a, [s]) {
2385
- s & /*computedStyle*/
2386
- 2 && o !== (o = /*computedStyle*/
2387
- a[1] ? "display:none;" : void 0) && c(n, "style", o), s & /*computedStyle*/
2388
- 2 && c(
2389
- r,
2390
- "style",
2391
- /*computedStyle*/
2392
- a[1]
2393
- ), s & /*annotation*/
2394
- 1 && i !== (i = /*annotation*/
2395
- a[0].id) && c(e, "data-id", i);
2396
- },
2397
- i: V,
2398
- o: V,
2399
- d(a) {
2400
- a && O(e);
2401
- }
2402
- };
2403
- }
2404
- function Lo(t, e, n) {
2405
- let o, { annotation: r } = e, { geom: i } = e, { style: a = void 0 } = e;
2406
- const { cx: s, cy: l, rx: h, ry: m } = i;
2407
- return t.$$set = (d) => {
2408
- "annotation" in d && n(0, r = d.annotation), "geom" in d && n(6, i = d.geom), "style" in d && n(7, a = d.style);
2409
- }, t.$$.update = () => {
2410
- t.$$.dirty & /*annotation, style*/
2411
- 129 && n(1, o = Ut(r, a));
2412
- }, [r, o, s, l, h, m, i, a];
2413
- }
2414
- class Yo extends nt {
2415
- constructor(e) {
2416
- super(), et(this, e, Lo, Oo, q, { annotation: 0, geom: 6, style: 7 });
2417
- }
2418
- }
2419
- function So(t) {
2420
- let e, n, o, r, i;
2421
- return {
2422
- c() {
2423
- e = P("g"), n = P("polygon"), r = P("polygon"), c(n, "class", "a9s-outer"), c(n, "style", o = /*computedStyle*/
2424
- t[1] ? "display:none;" : void 0), c(
2425
- n,
2426
- "points",
2427
- /*points*/
2428
- t[2].map(Xo).join(" ")
2429
- ), c(r, "class", "a9s-inner"), c(
2430
- r,
2431
- "style",
2432
- /*computedStyle*/
2433
- t[1]
2434
- ), c(
2435
- r,
2436
- "points",
2437
- /*points*/
2438
- t[2].map(Io).join(" ")
2439
- ), c(e, "data-id", i = /*annotation*/
2440
- t[0].id);
2441
- },
2442
- m(a, s) {
2443
- L(a, e, s), dt(e, n), dt(e, r);
2444
- },
2445
- p(a, [s]) {
2446
- s & /*computedStyle*/
2447
- 2 && o !== (o = /*computedStyle*/
2448
- a[1] ? "display:none;" : void 0) && c(n, "style", o), s & /*computedStyle*/
2449
- 2 && c(
2450
- r,
2451
- "style",
2452
- /*computedStyle*/
2453
- a[1]
2454
- ), s & /*annotation*/
2455
- 1 && i !== (i = /*annotation*/
2456
- a[0].id) && c(e, "data-id", i);
2457
- },
2458
- i: V,
2459
- o: V,
2460
- d(a) {
2461
- a && O(e);
2462
- }
2463
- };
2464
- }
2465
- const Xo = (t) => t.join(","), Io = (t) => t.join(",");
2466
- function Po(t, e, n) {
2467
- let o, { annotation: r } = e, { geom: i } = e, { style: a = void 0 } = e;
2468
- const { points: s } = i;
2469
- return t.$$set = (l) => {
2470
- "annotation" in l && n(0, r = l.annotation), "geom" in l && n(3, i = l.geom), "style" in l && n(4, a = l.style);
2471
- }, t.$$.update = () => {
2472
- t.$$.dirty & /*annotation, style*/
2473
- 17 && n(1, o = Ut(r, a));
2474
- }, [r, o, s, i, a];
2475
- }
2476
- class _o extends nt {
2477
- constructor(e) {
2478
- super(), et(this, e, Po, So, q, { annotation: 0, geom: 3, style: 4 });
2479
- }
2480
- }
2481
- function Bo(t) {
2482
- let e, n, o, r, i;
2483
- return {
2484
- c() {
2485
- e = P("g"), n = P("rect"), r = P("rect"), c(n, "class", "a9s-outer"), c(n, "style", o = /*computedStyle*/
2486
- t[5] ? "display:none;" : void 0), c(
2487
- n,
2488
- "x",
2489
- /*x*/
2490
- t[4]
2491
- ), c(
2492
- n,
2493
- "y",
2494
- /*y*/
2495
- t[3]
2496
- ), c(
2497
- n,
2498
- "width",
2499
- /*w*/
2500
- t[2]
2501
- ), c(
2502
- n,
2503
- "height",
2504
- /*h*/
2505
- t[1]
2506
- ), c(r, "class", "a9s-inner"), c(
2507
- r,
2508
- "style",
2509
- /*computedStyle*/
2510
- t[5]
2511
- ), c(
2512
- r,
2513
- "x",
2514
- /*x*/
2515
- t[4]
2516
- ), c(
2517
- r,
2518
- "y",
2519
- /*y*/
2520
- t[3]
2521
- ), c(
2522
- r,
2523
- "width",
2524
- /*w*/
2525
- t[2]
2526
- ), c(
2527
- r,
2528
- "height",
2529
- /*h*/
2530
- t[1]
2531
- ), c(e, "data-id", i = /*annotation*/
2532
- t[0].id);
2533
- },
2534
- m(a, s) {
2535
- L(a, e, s), dt(e, n), dt(e, r);
2536
- },
2537
- p(a, [s]) {
2538
- s & /*computedStyle*/
2539
- 32 && o !== (o = /*computedStyle*/
2540
- a[5] ? "display:none;" : void 0) && c(n, "style", o), s & /*x*/
2541
- 16 && c(
2542
- n,
2543
- "x",
2544
- /*x*/
2545
- a[4]
2546
- ), s & /*y*/
2547
- 8 && c(
2548
- n,
2549
- "y",
2550
- /*y*/
2551
- a[3]
2552
- ), s & /*w*/
2553
- 4 && c(
2554
- n,
2555
- "width",
2556
- /*w*/
2557
- a[2]
2558
- ), s & /*h*/
2559
- 2 && c(
2560
- n,
2561
- "height",
2562
- /*h*/
2563
- a[1]
2564
- ), s & /*computedStyle*/
2565
- 32 && c(
2566
- r,
2567
- "style",
2568
- /*computedStyle*/
2569
- a[5]
2570
- ), s & /*x*/
2571
- 16 && c(
2572
- r,
2573
- "x",
2574
- /*x*/
2575
- a[4]
2576
- ), s & /*y*/
2577
- 8 && c(
2578
- r,
2579
- "y",
2580
- /*y*/
2581
- a[3]
2582
- ), s & /*w*/
2583
- 4 && c(
2584
- r,
2585
- "width",
2586
- /*w*/
2587
- a[2]
2588
- ), s & /*h*/
2589
- 2 && c(
2590
- r,
2591
- "height",
2592
- /*h*/
2593
- a[1]
2594
- ), s & /*annotation*/
2595
- 1 && i !== (i = /*annotation*/
2596
- a[0].id) && c(e, "data-id", i);
2597
- },
2598
- i: V,
2599
- o: V,
2600
- d(a) {
2601
- a && O(e);
2602
- }
2603
- };
2604
- }
2605
- function Ro(t, e, n) {
2606
- let o, r, i, a, s, { annotation: l } = e, { geom: h } = e, { style: m = void 0 } = e;
2607
- return t.$$set = (d) => {
2608
- "annotation" in d && n(0, l = d.annotation), "geom" in d && n(6, h = d.geom), "style" in d && n(7, m = d.style);
2609
- }, t.$$.update = () => {
2610
- t.$$.dirty & /*annotation, style*/
2611
- 129 && n(5, o = Ut(l, m)), t.$$.dirty & /*geom*/
2612
- 64 && n(4, { x: r, y: i, w: a, h: s } = h, r, (n(3, i), n(6, h)), (n(2, a), n(6, h)), (n(1, s), n(6, h)));
2613
- }, [l, s, a, i, r, o, h, m];
2614
- }
2615
- class Do extends nt {
2616
- constructor(e) {
2617
- super(), et(this, e, Ro, Bo, q, { annotation: 0, geom: 6, style: 7 });
2618
- }
2619
- }
2620
- const No = (t) => ({
2621
- elementToImage: (e, n) => {
2622
- const o = t.getBoundingClientRect(), r = t.createSVGPoint();
2623
- r.x = e + o.x, r.y = n + o.y;
2624
- const { x: i, y: a } = r.matrixTransform(t.getScreenCTM().inverse());
2625
- return [i, a];
2626
- }
2627
- }), ko = 250, Vo = (t, e) => {
2628
- const n = At();
2629
- let o;
2630
- return { onPointerDown: () => o = performance.now(), onPointerUp: (r) => {
2631
- if (performance.now() - o < ko) {
2632
- const { x: i, y: a } = Go(r, t), s = e.getAt(i, a);
2633
- s ? n("click", { originalEvent: r, annotation: s }) : n("click", { originalEvent: r });
2634
- }
2635
- } };
2636
- }, Go = (t, e) => {
2637
- const n = e.createSVGPoint(), o = e.getBoundingClientRect(), r = t.clientX - o.x, i = t.clientY - o.y, { left: a, top: s } = e.getBoundingClientRect();
2638
- return n.x = r + a, n.y = i + s, n.matrixTransform(e.getScreenCTM().inverse());
2639
- };
2640
- function Ae(t, e, n) {
2641
- const o = t.slice();
2642
- return o[28] = e[n], o;
2643
- }
2644
- function Te(t, e, n) {
2645
- const o = t.slice();
2646
- return o[31] = e[n], o;
2647
- }
2648
- function Jt(t) {
2649
- const e = t.slice(), n = (
2650
- /*annotation*/
2651
- e[31].target.selector
2652
- );
2653
- return e[34] = n, e;
2654
- }
2655
- function Me(t) {
2656
- let e = (
2657
- /*annotation*/
2658
- t[31].id
2659
- ), n, o, r = Oe(t);
2660
- return {
2661
- c() {
2662
- r.c(), n = at();
2663
- },
2664
- m(i, a) {
2665
- r.m(i, a), L(i, n, a), o = !0;
2666
- },
2667
- p(i, a) {
2668
- a[0] & /*$store*/
2669
- 4096 && q(e, e = /*annotation*/
2670
- i[31].id) ? (ot(), R(r, 1, 1, V), rt(), r = Oe(i), r.c(), _(r, 1), r.m(n.parentNode, n)) : r.p(i, a);
2671
- },
2672
- i(i) {
2673
- o || (_(r), o = !0);
2674
- },
2675
- o(i) {
2676
- R(r), o = !1;
2677
- },
2678
- d(i) {
2679
- i && O(n), r.d(i);
2680
- }
2681
- };
2682
- }
2683
- function Fo(t) {
2684
- let e, n;
2685
- return e = new _o({
2686
- props: {
2687
- annotation: (
2688
- /*annotation*/
2689
- t[31]
2690
- ),
2691
- geom: (
2692
- /*selector*/
2693
- t[34].geometry
2694
- ),
2695
- style: (
2696
- /*style*/
2697
- t[1]
2698
- )
2699
- }
2700
- }), {
2701
- c() {
2702
- mt(e.$$.fragment);
2703
- },
2704
- m(o, r) {
2705
- ct(e, o, r), n = !0;
2706
- },
2707
- p(o, r) {
2708
- const i = {};
2709
- r[0] & /*$store*/
2710
- 4096 && (i.annotation = /*annotation*/
2711
- o[31]), r[0] & /*$store*/
2712
- 4096 && (i.geom = /*selector*/
2713
- o[34].geometry), r[0] & /*style*/
2714
- 2 && (i.style = /*style*/
2715
- o[1]), e.$set(i);
2716
- },
2717
- i(o) {
2718
- n || (_(e.$$.fragment, o), n = !0);
2719
- },
2720
- o(o) {
2721
- R(e.$$.fragment, o), n = !1;
2722
- },
2723
- d(o) {
2724
- ut(e, o);
2725
- }
2726
- };
2727
- }
2728
- function Uo(t) {
2729
- let e, n;
2730
- return e = new Do({
2731
- props: {
2732
- annotation: (
2733
- /*annotation*/
2734
- t[31]
2735
- ),
2736
- geom: (
2737
- /*selector*/
2738
- t[34].geometry
2739
- ),
2740
- style: (
2741
- /*style*/
2742
- t[1]
2743
- )
2744
- }
2745
- }), {
2746
- c() {
2747
- mt(e.$$.fragment);
2748
- },
2749
- m(o, r) {
2750
- ct(e, o, r), n = !0;
2751
- },
2752
- p(o, r) {
2753
- const i = {};
2754
- r[0] & /*$store*/
2755
- 4096 && (i.annotation = /*annotation*/
2756
- o[31]), r[0] & /*$store*/
2757
- 4096 && (i.geom = /*selector*/
2758
- o[34].geometry), r[0] & /*style*/
2759
- 2 && (i.style = /*style*/
2760
- o[1]), e.$set(i);
2761
- },
2762
- i(o) {
2763
- n || (_(e.$$.fragment, o), n = !0);
2764
- },
2765
- o(o) {
2766
- R(e.$$.fragment, o), n = !1;
2767
- },
2768
- d(o) {
2769
- ut(e, o);
2770
- }
2771
- };
2772
- }
2773
- function Ho(t) {
2774
- let e, n;
2775
- return e = new Yo({
2776
- props: {
2777
- annotation: (
2778
- /*annotation*/
2779
- t[31]
2780
- ),
2781
- geom: (
2782
- /*selector*/
2783
- t[34].geometry
2784
- ),
2785
- style: (
2786
- /*style*/
2787
- t[1]
2788
- )
2789
- }
2790
- }), {
2791
- c() {
2792
- mt(e.$$.fragment);
2793
- },
2794
- m(o, r) {
2795
- ct(e, o, r), n = !0;
2796
- },
2797
- p(o, r) {
2798
- const i = {};
2799
- r[0] & /*$store*/
2800
- 4096 && (i.annotation = /*annotation*/
2801
- o[31]), r[0] & /*$store*/
2802
- 4096 && (i.geom = /*selector*/
2803
- o[34].geometry), r[0] & /*style*/
2804
- 2 && (i.style = /*style*/
2805
- o[1]), e.$set(i);
2806
- },
2807
- i(o) {
2808
- n || (_(e.$$.fragment, o), n = !0);
2809
- },
2810
- o(o) {
2811
- R(e.$$.fragment, o), n = !1;
2812
- },
2813
- d(o) {
2814
- ut(e, o);
2815
- }
2816
- };
2817
- }
2818
- function Oe(t) {
2819
- let e, n, o, r;
2820
- const i = [Ho, Uo, Fo], a = [];
2821
- function s(l, h) {
2822
- return (
2823
- /*selector*/
2824
- l[34].type === F.ELLIPSE ? 0 : (
2825
- /*selector*/
2826
- l[34].type === F.RECTANGLE ? 1 : (
2827
- /*selector*/
2828
- l[34].type === F.POLYGON ? 2 : -1
2829
- )
2830
- )
2831
- );
2832
- }
2833
- return ~(e = s(t)) && (n = a[e] = i[e](t)), {
2834
- c() {
2835
- n && n.c(), o = at();
2836
- },
2837
- m(l, h) {
2838
- ~e && a[e].m(l, h), L(l, o, h), r = !0;
2839
- },
2840
- p(l, h) {
2841
- let m = e;
2842
- e = s(l), e === m ? ~e && a[e].p(l, h) : (n && (ot(), R(a[m], 1, 1, () => {
2843
- a[m] = null;
2844
- }), rt()), ~e ? (n = a[e], n ? n.p(l, h) : (n = a[e] = i[e](l), n.c()), _(n, 1), n.m(o.parentNode, o)) : n = null);
2845
- },
2846
- i(l) {
2847
- r || (_(n), r = !0);
2848
- },
2849
- o(l) {
2850
- R(n), r = !1;
2851
- },
2852
- d(l) {
2853
- ~e && a[e].d(l), l && O(o);
2854
- }
2855
- };
2856
- }
2857
- function Le(t) {
2858
- let e = !/*isEditable*/
2859
- t[7](
2860
- /*annotation*/
2861
- t[31]
2862
- ), n, o, r = e && Me(Jt(t));
2863
- return {
2864
- c() {
2865
- r && r.c(), n = at();
2866
- },
2867
- m(i, a) {
2868
- r && r.m(i, a), L(i, n, a), o = !0;
2869
- },
2870
- p(i, a) {
2871
- a[0] & /*isEditable, $store*/
2872
- 4224 && (e = !/*isEditable*/
2873
- i[7](
2874
- /*annotation*/
2875
- i[31]
2876
- )), e ? r ? (r.p(Jt(i), a), a[0] & /*isEditable, $store*/
2877
- 4224 && _(r, 1)) : (r = Me(Jt(i)), r.c(), _(r, 1), r.m(n.parentNode, n)) : r && (ot(), R(r, 1, 1, () => {
2878
- r = null;
2879
- }), rt());
2880
- },
2881
- i(i) {
2882
- o || (_(r), o = !0);
2883
- },
2884
- o(i) {
2885
- R(r), o = !1;
2886
- },
2887
- d(i) {
2888
- r && r.d(i), i && O(n);
2889
- }
2890
- };
2891
- }
2892
- function Ye(t) {
2893
- let e, n, o, r;
2894
- const i = [jo, Co], a = [];
2895
- function s(l, h) {
2896
- return (
2897
- /*editableAnnotations*/
2898
- l[6] ? 0 : (
2899
- /*tool*/
2900
- l[2] && /*drawingEnabled*/
2901
- l[0] ? 1 : -1
2902
- )
2903
- );
2904
- }
2905
- return ~(e = s(t)) && (n = a[e] = i[e](t)), {
2906
- c() {
2907
- n && n.c(), o = at();
2908
- },
2909
- m(l, h) {
2910
- ~e && a[e].m(l, h), L(l, o, h), r = !0;
2911
- },
2912
- p(l, h) {
2913
- let m = e;
2914
- e = s(l), e === m ? ~e && a[e].p(l, h) : (n && (ot(), R(a[m], 1, 1, () => {
2915
- a[m] = null;
2916
- }), rt()), ~e ? (n = a[e], n ? n.p(l, h) : (n = a[e] = i[e](l), n.c()), _(n, 1), n.m(o.parentNode, o)) : n = null);
2917
- },
2918
- i(l) {
2919
- r || (_(n), r = !0);
2920
- },
2921
- o(l) {
2922
- R(n), r = !1;
2923
- },
2924
- d(l) {
2925
- ~e && a[e].d(l), l && O(o);
2926
- }
2927
- };
2928
- }
2929
- function Co(t) {
2930
- let e = (
2931
- /*tool*/
2932
- t[2]
2933
- ), n, o, r = Se(t);
2934
- return {
2935
- c() {
2936
- r.c(), n = at();
2937
- },
2938
- m(i, a) {
2939
- r.m(i, a), L(i, n, a), o = !0;
2940
- },
2941
- p(i, a) {
2942
- a[0] & /*tool*/
2943
- 4 && q(e, e = /*tool*/
2944
- i[2]) ? (ot(), R(r, 1, 1, V), rt(), r = Se(i), r.c(), _(r, 1), r.m(n.parentNode, n)) : r.p(i, a);
2945
- },
2946
- i(i) {
2947
- o || (_(r), o = !0);
2948
- },
2949
- o(i) {
2950
- R(r), o = !1;
2951
- },
2952
- d(i) {
2953
- i && O(n), r.d(i);
2954
- }
2955
- };
2956
- }
2957
- function jo(t) {
2958
- let e, n, o = (
2959
- /*editableAnnotations*/
2960
- t[6]
2961
- ), r = [];
2962
- for (let a = 0; a < o.length; a += 1)
2963
- r[a] = Ie(Ae(t, o, a));
2964
- const i = (a) => R(r[a], 1, 1, () => {
2965
- r[a] = null;
2966
- });
2967
- return {
2968
- c() {
2969
- for (let a = 0; a < r.length; a += 1)
2970
- r[a].c();
2971
- e = at();
2972
- },
2973
- m(a, s) {
2974
- for (let l = 0; l < r.length; l += 1)
2975
- r[l] && r[l].m(a, s);
2976
- L(a, e, s), n = !0;
2977
- },
2978
- p(a, s) {
2979
- if (s[0] & /*editableAnnotations, drawingEl, style, transform, $scale, onChangeSelected*/
2980
- 140370) {
2981
- o = /*editableAnnotations*/
2982
- a[6];
2983
- let l;
2984
- for (l = 0; l < o.length; l += 1) {
2985
- const h = Ae(a, o, l);
2986
- r[l] ? (r[l].p(h, s), _(r[l], 1)) : (r[l] = Ie(h), r[l].c(), _(r[l], 1), r[l].m(e.parentNode, e));
2987
- }
2988
- for (ot(), l = o.length; l < r.length; l += 1)
2989
- i(l);
2990
- rt();
2991
- }
2992
- },
2993
- i(a) {
2994
- if (!n) {
2995
- for (let s = 0; s < o.length; s += 1)
2996
- _(r[s]);
2997
- n = !0;
2998
- }
2999
- },
3000
- o(a) {
3001
- r = r.filter(Boolean);
3002
- for (let s = 0; s < r.length; s += 1)
3003
- R(r[s]);
3004
- n = !1;
3005
- },
3006
- d(a) {
3007
- oe(r, a), a && O(e);
3008
- }
3009
- };
3010
- }
3011
- function Se(t) {
3012
- let e, n;
3013
- return e = new go({
3014
- props: {
3015
- target: (
3016
- /*drawingEl*/
3017
- t[4]
3018
- ),
3019
- tool: (
3020
- /*tool*/
3021
- t[2]
3022
- ),
3023
- drawingMode: (
3024
- /*drawingMode*/
3025
- t[11]
3026
- ),
3027
- transform: (
3028
- /*transform*/
3029
- t[10]
3030
- ),
3031
- viewportScale: (
3032
- /*$scale*/
3033
- t[13]
3034
- )
3035
- }
3036
- }), e.$on(
3037
- "create",
3038
- /*onSelectionCreated*/
3039
- t[16]
3040
- ), {
3041
- c() {
3042
- mt(e.$$.fragment);
3043
- },
3044
- m(o, r) {
3045
- ct(e, o, r), n = !0;
3046
- },
3047
- p(o, r) {
3048
- const i = {};
3049
- r[0] & /*drawingEl*/
3050
- 16 && (i.target = /*drawingEl*/
3051
- o[4]), r[0] & /*tool*/
3052
- 4 && (i.tool = /*tool*/
3053
- o[2]), r[0] & /*drawingMode*/
3054
- 2048 && (i.drawingMode = /*drawingMode*/
3055
- o[11]), r[0] & /*transform*/
3056
- 1024 && (i.transform = /*transform*/
3057
- o[10]), r[0] & /*$scale*/
3058
- 8192 && (i.viewportScale = /*$scale*/
3059
- o[13]), e.$set(i);
3060
- },
3061
- i(o) {
3062
- n || (_(e.$$.fragment, o), n = !0);
3063
- },
3064
- o(o) {
3065
- R(e.$$.fragment, o), n = !1;
3066
- },
3067
- d(o) {
3068
- ut(e, o);
3069
- }
3070
- };
3071
- }
3072
- function Xe(t) {
3073
- let e, n;
3074
- return e = new po({
3075
- props: {
3076
- target: (
3077
- /*drawingEl*/
3078
- t[4]
3079
- ),
3080
- editor: $e(
3081
- /*editable*/
3082
- t[28].target.selector
3083
- ),
3084
- annotation: (
3085
- /*editable*/
3086
- t[28]
3087
- ),
3088
- style: (
3089
- /*style*/
3090
- t[1]
3091
- ),
3092
- transform: (
3093
- /*transform*/
3094
- t[10]
3095
- ),
3096
- viewportScale: (
3097
- /*$scale*/
3098
- t[13]
3099
- )
3100
- }
3101
- }), e.$on("change", function() {
3102
- U(
3103
- /*onChangeSelected*/
3104
- t[17](
3105
- /*editable*/
3106
- t[28]
3107
- )
3108
- ) && t[17](
3109
- /*editable*/
3110
- t[28]
3111
- ).apply(this, arguments);
3112
- }), {
3113
- c() {
3114
- mt(e.$$.fragment);
3115
- },
3116
- m(o, r) {
3117
- ct(e, o, r), n = !0;
3118
- },
3119
- p(o, r) {
3120
- t = o;
3121
- const i = {};
3122
- r[0] & /*drawingEl*/
3123
- 16 && (i.target = /*drawingEl*/
3124
- t[4]), r[0] & /*editableAnnotations*/
3125
- 64 && (i.editor = $e(
3126
- /*editable*/
3127
- t[28].target.selector
3128
- )), r[0] & /*editableAnnotations*/
3129
- 64 && (i.annotation = /*editable*/
3130
- t[28]), r[0] & /*style*/
3131
- 2 && (i.style = /*style*/
3132
- t[1]), r[0] & /*transform*/
3133
- 1024 && (i.transform = /*transform*/
3134
- t[10]), r[0] & /*$scale*/
3135
- 8192 && (i.viewportScale = /*$scale*/
3136
- t[13]), e.$set(i);
3137
- },
3138
- i(o) {
3139
- n || (_(e.$$.fragment, o), n = !0);
3140
- },
3141
- o(o) {
3142
- R(e.$$.fragment, o), n = !1;
3143
- },
3144
- d(o) {
3145
- ut(e, o);
3146
- }
3147
- };
3148
- }
3149
- function Ie(t) {
3150
- let e = (
3151
- /*editable*/
3152
- t[28].id
3153
- ), n, o, r = Xe(t);
3154
- return {
3155
- c() {
3156
- r.c(), n = at();
3157
- },
3158
- m(i, a) {
3159
- r.m(i, a), L(i, n, a), o = !0;
3160
- },
3161
- p(i, a) {
3162
- a[0] & /*editableAnnotations*/
3163
- 64 && q(e, e = /*editable*/
3164
- i[28].id) ? (ot(), R(r, 1, 1, V), rt(), r = Xe(i), r.c(), _(r, 1), r.m(n.parentNode, n)) : r.p(i, a);
3165
- },
3166
- i(i) {
3167
- o || (_(r), o = !0);
3168
- },
3169
- o(i) {
3170
- R(r), o = !1;
3171
- },
3172
- d(i) {
3173
- i && O(n), r.d(i);
3174
- }
3175
- };
3176
- }
3177
- function zo(t) {
3178
- let e, n, o, r, i, a, s = (
3179
- /*$store*/
3180
- t[12]
3181
- ), l = [];
3182
- for (let d = 0; d < s.length; d += 1)
3183
- l[d] = Le(Te(t, s, d));
3184
- const h = (d) => R(l[d], 1, 1, () => {
3185
- l[d] = null;
3186
- });
3187
- let m = (
3188
- /*drawingEl*/
3189
- t[4] && Ye(t)
3190
- );
3191
- return {
3192
- c() {
3193
- e = P("svg"), n = P("g");
3194
- for (let d = 0; d < l.length; d += 1)
3195
- l[d].c();
3196
- o = P("g"), m && m.c(), c(o, "class", "drawing"), c(e, "class", "a9s-annotationlayer"), ce(
3197
- e,
3198
- "drawing",
3199
- /*tool*/
3200
- t[2]
3201
- );
3202
- },
3203
- m(d, u) {
3204
- L(d, e, u), dt(e, n);
3205
- for (let p = 0; p < l.length; p += 1)
3206
- l[p] && l[p].m(n, null);
3207
- dt(e, o), m && m.m(o, null), t[24](o), t[25](e), r = !0, i || (a = [
3208
- j(e, "pointerup", function() {
3209
- U(
3210
- /*onPointerUp*/
3211
- t[8]
3212
- ) && t[8].apply(this, arguments);
3213
- }),
3214
- j(e, "pointerdown", function() {
3215
- U(
3216
- /*onPointerDown*/
3217
- t[9]
3218
- ) && t[9].apply(this, arguments);
3219
- })
3220
- ], i = !0);
3221
- },
3222
- p(d, u) {
3223
- if (t = d, u[0] & /*$store, style, isEditable*/
3224
- 4226) {
3225
- s = /*$store*/
3226
- t[12];
3227
- let p;
3228
- for (p = 0; p < s.length; p += 1) {
3229
- const g = Te(t, s, p);
3230
- l[p] ? (l[p].p(g, u), _(l[p], 1)) : (l[p] = Le(g), l[p].c(), _(l[p], 1), l[p].m(n, null));
3231
- }
3232
- for (ot(), p = s.length; p < l.length; p += 1)
3233
- h(p);
3234
- rt();
3235
- }
3236
- t[4] ? m ? (m.p(t, u), u[0] & /*drawingEl*/
3237
- 16 && _(m, 1)) : (m = Ye(t), m.c(), _(m, 1), m.m(o, null)) : m && (ot(), R(m, 1, 1, () => {
3238
- m = null;
3239
- }), rt()), (!r || u[0] & /*tool*/
3240
- 4) && ce(
3241
- e,
3242
- "drawing",
3243
- /*tool*/
3244
- t[2]
3245
- );
3246
- },
3247
- i(d) {
3248
- if (!r) {
3249
- for (let u = 0; u < s.length; u += 1)
3250
- _(l[u]);
3251
- _(m), r = !0;
3252
- }
3253
- },
3254
- o(d) {
3255
- l = l.filter(Boolean);
3256
- for (let u = 0; u < l.length; u += 1)
3257
- R(l[u]);
3258
- R(m), r = !1;
3259
- },
3260
- d(d) {
3261
- d && O(e), oe(l, d), m && m.d(), t[24](null), t[25](null), i = !1, it(a);
3262
- }
3263
- };
3264
- }
3265
- function Wo(t, e, n) {
3266
- let o, r, i, a, s, l, h, m, d = V, u = () => (d(), d = Re(w, (S) => n(13, m = S)), w);
3267
- t.$$.on_destroy.push(() => d());
3268
- let { drawingEnabled: p } = e, { image: g } = e, { preferredDrawingMode: y } = e, { state: E } = e, { style: b = void 0 } = e, { tool: x, opts: M } = ze("rectangle"), { tool: B = x, opts: N = M } = e, { user: G } = e, z, f, w;
3269
- Xt(() => u(n(5, w = xo(g, f))));
3270
- const { selection: $, store: v } = E;
3271
- de(t, $, (S) => n(23, l = S)), de(t, v, (S) => n(12, h = S));
3272
- let Y = null, I = null;
3273
- const J = (S) => {
3274
- v.unobserve(Y);
3275
- const W = S.filter(({ editable: H }) => H).map(({ id: H }) => H);
3276
- W.length > 0 ? (n(6, I = W.map((H) => v.getAnnotation(H))), Y = (H) => {
3277
- const { updated: k } = H.changes;
3278
- n(6, I = k.map((st) => st.newValue));
3279
- }, v.observe(Y, { annotations: W })) : n(6, I = null);
3280
- }, gt = (S) => {
3281
- const W = Fe(), H = {
3282
- id: W,
3283
- bodies: [],
3284
- target: {
3285
- annotation: W,
3286
- selector: S.detail,
3287
- creator: G,
3288
- created: /* @__PURE__ */ new Date()
3289
- }
3290
- };
3291
- v.addAnnotation(H), $.setSelected(H.id);
3292
- }, ft = (S) => (W) => {
3293
- var H;
3294
- const { target: k } = S, st = 10 * 60 * 1e3, lt = ((H = k.creator) == null ? void 0 : H.id) !== G.id || !k.created || (/* @__PURE__ */ new Date()).getTime() - k.created.getTime() > st;
3295
- v.updateTarget({
3296
- ...k,
3297
- selector: W.detail,
3298
- created: lt ? k.created : /* @__PURE__ */ new Date(),
3299
- updated: lt ? /* @__PURE__ */ new Date() : null,
3300
- updatedBy: lt ? G : null
3301
- });
3302
- };
3303
- function Tt(S) {
3304
- Vt[S ? "unshift" : "push"](() => {
3305
- z = S, n(4, z);
3306
- });
3307
- }
3308
- function K(S) {
3309
- Vt[S ? "unshift" : "push"](() => {
3310
- f = S, n(3, f);
3311
- });
3312
- }
3313
- return t.$$set = (S) => {
3314
- "drawingEnabled" in S && n(0, p = S.drawingEnabled), "image" in S && n(18, g = S.image), "preferredDrawingMode" in S && n(19, y = S.preferredDrawingMode), "state" in S && n(20, E = S.state), "style" in S && n(1, b = S.style), "tool" in S && n(2, B = S.tool), "opts" in S && n(21, N = S.opts), "user" in S && n(22, G = S.user);
3315
- }, t.$$.update = () => {
3316
- t.$$.dirty[0] & /*opts, preferredDrawingMode*/
3317
- 2621440 && n(11, o = (N == null ? void 0 : N.drawingMode) || y), t.$$.dirty[0] & /*svgEl*/
3318
- 8 && n(10, r = No(f)), t.$$.dirty[0] & /*svgEl*/
3319
- 8 && n(9, { onPointerDown: i, onPointerUp: a } = Vo(f, v), i, (n(8, a), n(3, f))), t.$$.dirty[0] & /*$selection*/
3320
- 8388608 && n(7, s = (S) => l.selected.find((W) => W.id === S.id && W.editable)), t.$$.dirty[0] & /*$selection*/
3321
- 8388608 && J(l.selected);
3322
- }, [
3323
- p,
3324
- b,
3325
- B,
3326
- f,
3327
- z,
3328
- w,
3329
- I,
3330
- s,
3331
- a,
3332
- i,
3333
- r,
3334
- o,
3335
- h,
3336
- m,
3337
- $,
3338
- v,
3339
- gt,
3340
- ft,
3341
- g,
3342
- y,
3343
- E,
3344
- N,
3345
- G,
3346
- l,
3347
- Tt,
3348
- K
3349
- ];
3350
- }
3351
- class Ko extends nt {
3352
- constructor(e) {
3353
- super(), et(
3354
- this,
3355
- e,
3356
- Wo,
3357
- zo,
3358
- q,
3359
- {
3360
- drawingEnabled: 0,
3361
- image: 18,
3362
- preferredDrawingMode: 19,
3363
- state: 20,
3364
- style: 1,
3365
- tool: 2,
3366
- opts: 21,
3367
- user: 22
3368
- },
3369
- null,
3370
- [-1, -1]
3371
- );
3372
- }
3373
- }
3374
- function qo(t, e, n, o, r) {
3375
- We(t, e, n || 0, o || t.length - 1, r || Jo);
3376
- }
3377
- function We(t, e, n, o, r) {
3378
- for (; o > n; ) {
3379
- if (o - n > 600) {
3380
- var i = o - n + 1, a = e - n + 1, s = Math.log(i), l = 0.5 * Math.exp(2 * s / 3), h = 0.5 * Math.sqrt(s * l * (i - l) / i) * (a - i / 2 < 0 ? -1 : 1), m = Math.max(n, Math.floor(e - a * l / i + h)), d = Math.min(o, Math.floor(e + (i - a) * l / i + h));
3381
- We(t, e, m, d, r);
3382
- }
3383
- var u = t[e], p = n, g = o;
3384
- for (Mt(t, n, e), r(t[o], u) > 0 && Mt(t, n, o); p < g; ) {
3385
- for (Mt(t, p, g), p++, g--; r(t[p], u) < 0; )
3386
- p++;
3387
- for (; r(t[g], u) > 0; )
3388
- g--;
3389
- }
3390
- r(t[n], u) === 0 ? Mt(t, n, g) : (g++, Mt(t, g, o)), g <= e && (n = g + 1), e <= g && (o = g - 1);
3391
- }
3392
- }
3393
- function Mt(t, e, n) {
3394
- var o = t[e];
3395
- t[e] = t[n], t[n] = o;
3396
- }
3397
- function Jo(t, e) {
3398
- return t < e ? -1 : t > e ? 1 : 0;
3399
- }
3400
- class Zo {
3401
- constructor(e = 9) {
3402
- this._maxEntries = Math.max(4, e), this._minEntries = Math.max(2, Math.ceil(this._maxEntries * 0.4)), this.clear();
3403
- }
3404
- all() {
3405
- return this._all(this.data, []);
3406
- }
3407
- search(e) {
3408
- let n = this.data;
3409
- const o = [];
3410
- if (!Nt(e, n))
3411
- return o;
3412
- const r = this.toBBox, i = [];
3413
- for (; n; ) {
3414
- for (let a = 0; a < n.children.length; a++) {
3415
- const s = n.children[a], l = n.leaf ? r(s) : s;
3416
- Nt(e, l) && (n.leaf ? o.push(s) : Qt(e, l) ? this._all(s, o) : i.push(s));
3417
- }
3418
- n = i.pop();
3419
- }
3420
- return o;
3421
- }
3422
- collides(e) {
3423
- let n = this.data;
3424
- if (!Nt(e, n))
3425
- return !1;
3426
- const o = [];
3427
- for (; n; ) {
3428
- for (let r = 0; r < n.children.length; r++) {
3429
- const i = n.children[r], a = n.leaf ? this.toBBox(i) : i;
3430
- if (Nt(e, a)) {
3431
- if (n.leaf || Qt(e, a))
3432
- return !0;
3433
- o.push(i);
3434
- }
3435
- }
3436
- n = o.pop();
3437
- }
3438
- return !1;
3439
- }
3440
- load(e) {
3441
- if (!(e && e.length))
3442
- return this;
3443
- if (e.length < this._minEntries) {
3444
- for (let o = 0; o < e.length; o++)
3445
- this.insert(e[o]);
3446
- return this;
3447
- }
3448
- let n = this._build(e.slice(), 0, e.length - 1, 0);
3449
- if (!this.data.children.length)
3450
- this.data = n;
3451
- else if (this.data.height === n.height)
3452
- this._splitRoot(this.data, n);
3453
- else {
3454
- if (this.data.height < n.height) {
3455
- const o = this.data;
3456
- this.data = n, n = o;
3457
- }
3458
- this._insert(n, this.data.height - n.height - 1, !0);
3459
- }
3460
- return this;
3461
- }
3462
- insert(e) {
3463
- return e && this._insert(e, this.data.height - 1), this;
3464
- }
3465
- clear() {
3466
- return this.data = bt([]), this;
3467
- }
3468
- remove(e, n) {
3469
- if (!e)
3470
- return this;
3471
- let o = this.data;
3472
- const r = this.toBBox(e), i = [], a = [];
3473
- let s, l, h;
3474
- for (; o || i.length; ) {
3475
- if (o || (o = i.pop(), l = i[i.length - 1], s = a.pop(), h = !0), o.leaf) {
3476
- const m = Qo(e, o.children, n);
3477
- if (m !== -1)
3478
- return o.children.splice(m, 1), i.push(o), this._condense(i), this;
3479
- }
3480
- !h && !o.leaf && Qt(o, r) ? (i.push(o), a.push(s), s = 0, l = o, o = o.children[0]) : l ? (s++, o = l.children[s], h = !1) : o = null;
3481
- }
3482
- return this;
3483
- }
3484
- toBBox(e) {
3485
- return e;
3486
- }
3487
- compareMinX(e, n) {
3488
- return e.minX - n.minX;
3489
- }
3490
- compareMinY(e, n) {
3491
- return e.minY - n.minY;
3492
- }
3493
- toJSON() {
3494
- return this.data;
3495
- }
3496
- fromJSON(e) {
3497
- return this.data = e, this;
3498
- }
3499
- _all(e, n) {
3500
- const o = [];
3501
- for (; e; )
3502
- e.leaf ? n.push(...e.children) : o.push(...e.children), e = o.pop();
3503
- return n;
3504
- }
3505
- _build(e, n, o, r) {
3506
- const i = o - n + 1;
3507
- let a = this._maxEntries, s;
3508
- if (i <= a)
3509
- return s = bt(e.slice(n, o + 1)), $t(s, this.toBBox), s;
3510
- r || (r = Math.ceil(Math.log(i) / Math.log(a)), a = Math.ceil(i / Math.pow(a, r - 1))), s = bt([]), s.leaf = !1, s.height = r;
3511
- const l = Math.ceil(i / a), h = l * Math.ceil(Math.sqrt(a));
3512
- Pe(e, n, o, h, this.compareMinX);
3513
- for (let m = n; m <= o; m += h) {
3514
- const d = Math.min(m + h - 1, o);
3515
- Pe(e, m, d, l, this.compareMinY);
3516
- for (let u = m; u <= d; u += l) {
3517
- const p = Math.min(u + l - 1, d);
3518
- s.children.push(this._build(e, u, p, r - 1));
3519
- }
3520
- }
3521
- return $t(s, this.toBBox), s;
3522
- }
3523
- _chooseSubtree(e, n, o, r) {
3524
- for (; r.push(n), !(n.leaf || r.length - 1 === o); ) {
3525
- let i = 1 / 0, a = 1 / 0, s;
3526
- for (let l = 0; l < n.children.length; l++) {
3527
- const h = n.children[l], m = Zt(h), d = nr(e, h) - m;
3528
- d < a ? (a = d, i = m < i ? m : i, s = h) : d === a && m < i && (i = m, s = h);
3529
- }
3530
- n = s || n.children[0];
3531
- }
3532
- return n;
3533
- }
3534
- _insert(e, n, o) {
3535
- const r = o ? e : this.toBBox(e), i = [], a = this._chooseSubtree(r, this.data, n, i);
3536
- for (a.children.push(e), Lt(a, r); n >= 0 && i[n].children.length > this._maxEntries; )
3537
- this._split(i, n), n--;
3538
- this._adjustParentBBoxes(r, i, n);
3539
- }
3540
- // split overflowed node into two
3541
- _split(e, n) {
3542
- const o = e[n], r = o.children.length, i = this._minEntries;
3543
- this._chooseSplitAxis(o, i, r);
3544
- const a = this._chooseSplitIndex(o, i, r), s = bt(o.children.splice(a, o.children.length - a));
3545
- s.height = o.height, s.leaf = o.leaf, $t(o, this.toBBox), $t(s, this.toBBox), n ? e[n - 1].children.push(s) : this._splitRoot(o, s);
3546
- }
3547
- _splitRoot(e, n) {
3548
- this.data = bt([e, n]), this.data.height = e.height + 1, this.data.leaf = !1, $t(this.data, this.toBBox);
3549
- }
3550
- _chooseSplitIndex(e, n, o) {
3551
- let r, i = 1 / 0, a = 1 / 0;
3552
- for (let s = n; s <= o - n; s++) {
3553
- const l = Ot(e, 0, s, this.toBBox), h = Ot(e, s, o, this.toBBox), m = or(l, h), d = Zt(l) + Zt(h);
3554
- m < i ? (i = m, r = s, a = d < a ? d : a) : m === i && d < a && (a = d, r = s);
3555
- }
3556
- return r || o - n;
3557
- }
3558
- // sorts node children by the best axis for split
3559
- _chooseSplitAxis(e, n, o) {
3560
- const r = e.leaf ? this.compareMinX : tr, i = e.leaf ? this.compareMinY : er, a = this._allDistMargin(e, n, o, r), s = this._allDistMargin(e, n, o, i);
3561
- a < s && e.children.sort(r);
3562
- }
3563
- // total margin of all possible split distributions where each node is at least m full
3564
- _allDistMargin(e, n, o, r) {
3565
- e.children.sort(r);
3566
- const i = this.toBBox, a = Ot(e, 0, n, i), s = Ot(e, o - n, o, i);
3567
- let l = Dt(a) + Dt(s);
3568
- for (let h = n; h < o - n; h++) {
3569
- const m = e.children[h];
3570
- Lt(a, e.leaf ? i(m) : m), l += Dt(a);
3571
- }
3572
- for (let h = o - n - 1; h >= n; h--) {
3573
- const m = e.children[h];
3574
- Lt(s, e.leaf ? i(m) : m), l += Dt(s);
3575
- }
3576
- return l;
3577
- }
3578
- _adjustParentBBoxes(e, n, o) {
3579
- for (let r = o; r >= 0; r--)
3580
- Lt(n[r], e);
3581
- }
3582
- _condense(e) {
3583
- for (let n = e.length - 1, o; n >= 0; n--)
3584
- e[n].children.length === 0 ? n > 0 ? (o = e[n - 1].children, o.splice(o.indexOf(e[n]), 1)) : this.clear() : $t(e[n], this.toBBox);
3585
- }
3586
- }
3587
- function Qo(t, e, n) {
3588
- if (!n)
3589
- return e.indexOf(t);
3590
- for (let o = 0; o < e.length; o++)
3591
- if (n(t, e[o]))
3592
- return o;
3593
- return -1;
3594
- }
3595
- function $t(t, e) {
3596
- Ot(t, 0, t.children.length, e, t);
3597
- }
3598
- function Ot(t, e, n, o, r) {
3599
- r || (r = bt(null)), r.minX = 1 / 0, r.minY = 1 / 0, r.maxX = -1 / 0, r.maxY = -1 / 0;
3600
- for (let i = e; i < n; i++) {
3601
- const a = t.children[i];
3602
- Lt(r, t.leaf ? o(a) : a);
3603
- }
3604
- return r;
3605
- }
3606
- function Lt(t, e) {
3607
- return t.minX = Math.min(t.minX, e.minX), t.minY = Math.min(t.minY, e.minY), t.maxX = Math.max(t.maxX, e.maxX), t.maxY = Math.max(t.maxY, e.maxY), t;
3608
- }
3609
- function tr(t, e) {
3610
- return t.minX - e.minX;
3611
- }
3612
- function er(t, e) {
3613
- return t.minY - e.minY;
3614
- }
3615
- function Zt(t) {
3616
- return (t.maxX - t.minX) * (t.maxY - t.minY);
3617
- }
3618
- function Dt(t) {
3619
- return t.maxX - t.minX + (t.maxY - t.minY);
3620
- }
3621
- function nr(t, e) {
3622
- return (Math.max(e.maxX, t.maxX) - Math.min(e.minX, t.minX)) * (Math.max(e.maxY, t.maxY) - Math.min(e.minY, t.minY));
3623
- }
3624
- function or(t, e) {
3625
- const n = Math.max(t.minX, e.minX), o = Math.max(t.minY, e.minY), r = Math.min(t.maxX, e.maxX), i = Math.min(t.maxY, e.maxY);
3626
- return Math.max(0, r - n) * Math.max(0, i - o);
3627
- }
3628
- function Qt(t, e) {
3629
- return t.minX <= e.minX && t.minY <= e.minY && e.maxX <= t.maxX && e.maxY <= t.maxY;
3630
- }
3631
- function Nt(t, e) {
3632
- return e.minX <= t.maxX && e.minY <= t.maxY && e.maxX >= t.minX && e.maxY >= t.minY;
3633
- }
3634
- function bt(t) {
3635
- return {
3636
- children: t,
3637
- height: 1,
3638
- leaf: !0,
3639
- minX: 1 / 0,
3640
- minY: 1 / 0,
3641
- maxX: -1 / 0,
3642
- maxY: -1 / 0
3643
- };
3644
- }
3645
- function Pe(t, e, n, o, r) {
3646
- const i = [e, n];
3647
- for (; i.length; ) {
3648
- if (n = i.pop(), e = i.pop(), n - e <= o)
3649
- continue;
3650
- const a = e + Math.ceil((n - e) / o / 2) * o;
3651
- qo(t, a, e, n, r), i.push(e, a, a, n);
3652
- }
3653
- }
3654
- const rr = () => {
3655
- const t = new Zo(), e = /* @__PURE__ */ new Map(), n = () => [...e.values()], o = () => {
3656
- t.clear(), e.clear();
3657
- }, r = (a) => {
3658
- const { minX: s, minY: l, maxX: h, maxY: m } = a.selector.geometry.bounds, d = { minX: s, minY: l, maxX: h, maxY: m, target: a };
3659
- t.insert(d), e.set(a.annotation, d);
3660
- }, i = (a) => {
3661
- const s = e.get(a.annotation);
3662
- t.remove(s), e.delete(a.annotation);
3663
- };
3664
- return {
3665
- all: n,
3666
- clear: o,
3667
- getAt: (a, s) => {
3668
- const l = t.search({
3669
- minX: a,
3670
- minY: s,
3671
- maxX: a,
3672
- maxY: s
3673
- }).map((h) => h.target).filter((h) => h.selector.type === F.RECTANGLE || dn(h.selector, a, s));
3674
- if (l.length > 0)
3675
- return l.sort((h, m) => ne(h.selector) - ne(m.selector)), l[0];
3676
- },
3677
- getIntersecting: (a, s, l, h) => t.search({
3678
- minX: a,
3679
- minY: s,
3680
- maxX: a + l,
3681
- maxY: s + h
3682
- }).map((m) => m.target),
3683
- insert: r,
3684
- remove: i,
3685
- set: (a, s = !0) => {
3686
- s && o();
3687
- const l = a.map((h) => {
3688
- const { minX: m, minY: d, maxX: u, maxY: p } = h.selector.geometry.bounds;
3689
- return { minX: m, minY: d, maxX: u, maxY: p, target: h };
3690
- });
3691
- l.forEach((h) => e.set(h.target.annotation, h)), t.load(l);
3692
- },
3693
- size: () => t.all().length,
3694
- update: (a, s) => {
3695
- i(a), r(s);
3696
- }
3697
- };
3698
- }, ir = (t) => {
3699
- const e = Bn(), n = rr(), o = Mn(e, t.pointerSelectAction), r = Tn(e), i = kn();
3700
- return e.observe(({ changes: a }) => {
3701
- n.set(a.created.map((s) => s.target), !1), a.deleted.forEach((s) => n.remove(s.target)), a.updated.forEach(({ oldValue: s, newValue: l }) => n.update(s.target, l.target));
3702
- }), {
3703
- store: {
3704
- ...e,
3705
- getAt: (a, s) => {
3706
- const l = n.getAt(a, s);
3707
- return l ? e.getAnnotation(l.annotation) : void 0;
3708
- },
3709
- getIntersecting: (a, s, l, h) => n.getIntersecting(a, s, l, h).map((m) => e.getAnnotation(m.annotation))
3710
- },
3711
- selection: o,
3712
- hover: r,
3713
- viewport: i
3714
- };
3715
- }, ar = (t) => {
3716
- const e = ir(t);
3717
- return {
3718
- ...e,
3719
- store: Rn(e.store)
3720
- };
3721
- }, sr = (t) => {
3722
- let e, n;
3723
- if (t.nodeName === "CANVAS")
3724
- e = t, n = e.getContext("2d", { willReadFrequently: !0 });
3725
- else {
3726
- const r = t;
3727
- e = document.createElement("canvas"), e.width = r.width, e.height = r.height, n = e.getContext("2d", { willReadFrequently: !0 }), n.drawImage(r, 0, 0, r.width, r.height);
3728
- }
3729
- let o = 0;
3730
- for (let r = 1; r < 10; r++)
3731
- for (let i = 1; i < 10; i++) {
3732
- const a = Math.round(i * e.width / 10), s = Math.round(r * e.height / 10), l = n.getImageData(a, s, 1, 1).data, h = (0.299 * l[0] + 0.587 * l[1] + 0.114 * l[2]) / 255;
3733
- o += h;
3734
- }
3735
- return o / 81;
3736
- }, lr = (t, e) => {
3737
- const n = sr(t), o = n > 0.6 ? "dark" : "light";
3738
- console.log(`[Annotorious] Image brightness: ${n.toFixed(1)}. Setting ${o} theme.`), e.setAttribute("data-theme", o);
3739
- }, dr = (t) => ({
3740
- ...t,
3741
- drawingEnabled: t.drawingEnabled === void 0 ? !0 : t.drawingEnabled,
3742
- drawingMode: t.drawingMode || "drag",
3743
- pointerSelectAction: t.pointerSelectAction || Ue.EDIT
3744
- }), _e = navigator.userAgent.indexOf("Mac OS X") !== -1, cr = (t, e) => {
3745
- const n = e || document, o = (a) => {
3746
- a.key === "Z" && a.ctrlKey ? t.undo() : a.key === "Y" && a.ctrlKey && t.redo();
3747
- }, r = (a) => {
3748
- a.key === "z" && a.metaKey && (a.shiftKey ? t.redo() : t.undo());
3749
- }, i = () => {
3750
- _e ? n.removeEventListener("keydown", r) : n.removeEventListener("keydown", o);
3751
- };
3752
- return _e ? n.addEventListener("keydown", r) : n.addEventListener("keydown", o), {
3753
- destroy: i
3754
- };
3755
- }, hr = (t, e = {}) => {
3756
- if (!t)
3757
- throw "Missing argument: image";
3758
- const n = typeof t == "string" ? document.getElementById(t) : t, o = dr(e), r = ar(o), { hover: i, selection: a, store: s } = r, l = Vn(
3759
- s,
3760
- a,
3761
- i,
3762
- void 0,
3763
- o.adapter,
3764
- o.autoSave
3765
- ), h = Nn(s), m = document.createElement("DIV");
3766
- m.style.position = "relative", m.style.display = "inline-block", n.style.display = "block", n.parentNode.insertBefore(m, n), m.appendChild(n);
3767
- const d = cr(h);
3768
- let u = zn();
3769
- lr(n, m);
3770
- const p = new Ko({
3771
- target: m,
3772
- props: {
3773
- drawingEnabled: o.drawingEnabled,
3774
- image: n,
3775
- preferredDrawingMode: o.drawingMode,
3776
- state: r,
3777
- style: o.style,
3778
- user: u
3779
- }
3780
- });
3781
- p.$on("click", (w) => {
3782
- const { originalEvent: $, annotation: v } = w.detail;
3783
- v ? a.clickSelect(v.id, $) : a.isEmpty() || a.clear();
3784
- });
3785
- const g = Fn(s, h, o.adapter), y = () => {
3786
- p.$destroy(), m.parentNode.insertBefore(n, m), m.parentNode.removeChild(m), d.destroy(), h.destroy();
3787
- }, E = () => u, b = (w, $, v) => Mo(w, $, v), x = (w, $) => so(w, $), M = (w) => {
3788
- const { tool: $, opts: v } = ze(w);
3789
- p.$set({ tool: $, opts: v });
3790
- }, B = (w) => p.$set({ drawingEnabled: w }), N = (w) => {
3791
- console.warn("Filter not implemented yet");
3792
- }, G = (w) => {
3793
- w ? a.setSelected(w) : a.clear();
3794
- }, z = (w) => p.$set({ style: w }), f = (w) => {
3795
- u = w, p.$set({ user: w });
3796
- };
3797
- return {
3798
- ...g,
3799
- destroy: y,
3800
- getUser: E,
3801
- listDrawingTools: To,
3802
- on: l.on,
3803
- off: l.off,
3804
- registerDrawingTool: b,
3805
- registerShapeEditor: x,
3806
- setDrawingEnabled: B,
3807
- setDrawingTool: M,
3808
- setFilter: N,
3809
- setSelected: G,
3810
- setStyle: z,
3811
- setUser: f,
3812
- state: r
3813
- };
3814
- };
1
+ var r = {};
3815
2
  export {
3816
- je as Editor,
3817
- po as EditorMount,
3818
- T as Handle,
3819
- D as Origin,
3820
- Ue as PointerSelectAction,
3821
- no as PolygonEditor,
3822
- ao as RectangleEditor,
3823
- hn as RectangleUtil,
3824
- wo as RubberbandRectangle,
3825
- Ko as SVGAnnotationLayer,
3826
- F as ShapeType,
3827
- go as ToolMount,
3828
- ur as W3CImageFormat,
3829
- Vo as addEventListeners,
3830
- Gt as boundsFromPoints,
3831
- ne as computeArea,
3832
- zn as createAnonymousGuest,
3833
- Fn as createBaseAnnotator,
3834
- hr as createImageAnnotator,
3835
- ir as createImageAnnotatorState,
3836
- No as createSVGTransform,
3837
- ar as createSvelteImageAnnotatorState,
3838
- He as diffAnnotations,
3839
- Kt as distance,
3840
- xo as enableResponsive,
3841
- dr as fillDefaults,
3842
- $e as getEditor,
3843
- ze as getTool,
3844
- cr as initKeyboardCommands,
3845
- dn as intersects,
3846
- To as listDrawingTools,
3847
- Gn as parseAll,
3848
- pn as parseFragmentSelector,
3849
- $n as parseSVGSelector,
3850
- Kn as parseW3CBodies,
3851
- Jn as parseW3CImageAnnotation,
3852
- so as registerEditor,
3853
- ie as registerShapeUtil,
3854
- Mo as registerTool,
3855
- sr as sampleBrightness,
3856
- mn as serializeFragmentSelector,
3857
- xn as serializeSVGSelector,
3858
- qn as serializeW3CBodies,
3859
- Zn as serializeW3CImageAnnotation,
3860
- lr as setTheme
3
+ r as __exports
3861
4
  };
3862
5
  //# sourceMappingURL=annotorious-react.es18.js.map