@annotorious/react 3.0.0-rc.5 → 3.0.0-rc.7

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