@recogito/text-annotator 3.0.0-rc.28 → 3.0.0-rc.29

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.
@@ -43,7 +43,7 @@ const P = {
43
43
  // Allow clicks within not-annotatable elements
44
44
  !e.target.closest(X) && !e.target.closest("a") && e.preventDefault();
45
45
  });
46
- }, gt = (t, e = 10) => {
46
+ }, pt = (t, e = 10) => {
47
47
  let n;
48
48
  return (...o) => {
49
49
  clearTimeout(n), n = setTimeout(() => t.apply(void 0, o), e);
@@ -73,30 +73,30 @@ const P = {
73
73
  endContainer: i,
74
74
  endOffset: r
75
75
  } = t, a = Array.from(e.childNodes).map((c) => {
76
- const g = c.cloneNode(!0);
77
- return c.nodeName === "CANVAS" ? c : g;
78
- }), s = vt(n, e), u = vt(i, e), h = () => {
76
+ const p = c.cloneNode(!0);
77
+ return c.nodeName === "CANVAS" ? c : p;
78
+ }), s = vt(n, e), u = vt(i, e), f = () => {
79
79
  const c = e;
80
80
  c.replaceChildren(...a);
81
- const g = yt(s, c), p = yt(u, c);
82
- return t.setStart(g, o), t.setEnd(p, r), t;
81
+ const p = yt(s, c), g = yt(u, c);
82
+ return t.setStart(p, o), t.setEnd(g, r), t;
83
83
  }, m = (c) => {
84
- const g = document.createElement("SPAN");
85
- return c.surroundContents(g), g;
84
+ const p = document.createElement("SPAN");
85
+ return c.surroundContents(p), p;
86
86
  };
87
87
  if (n === i)
88
88
  throw "Not implemented";
89
89
  {
90
90
  const c = document.createRange();
91
91
  c.selectNodeContents(n), c.setStart(n, o);
92
- const g = m(c), p = document.createRange();
93
- p.selectNode(i), p.setEnd(i, r);
94
- const x = m(p), f = Zt(t).reverse().map((l) => {
92
+ const p = m(c), g = document.createRange();
93
+ g.selectNode(i), g.setEnd(i, r);
94
+ const x = m(g), h = Zt(t).reverse().map((d) => {
95
95
  var y;
96
- const d = document.createElement("SPAN");
97
- return (y = l.parentNode) == null || y.insertBefore(d, l), d.appendChild(l), d;
96
+ const l = document.createElement("SPAN");
97
+ return (y = d.parentNode) == null || y.insertBefore(l, d), l.appendChild(d), l;
98
98
  });
99
- return { unwrap: h, nodes: [g, ...f, x] };
99
+ return { unwrap: f, nodes: [p, ...h, x] };
100
100
  }
101
101
  }, Zt = (t) => {
102
102
  const {
@@ -185,34 +185,34 @@ const P = {
185
185
  const { start: n, end: o } = t, i = t.offsetReference || e, r = document.createNodeIterator(
186
186
  e,
187
187
  NodeFilter.SHOW_TEXT,
188
- (g) => {
189
- var p;
190
- return (p = g.parentElement) != null && p.closest(X) ? NodeFilter.FILTER_SKIP : NodeFilter.FILTER_ACCEPT;
188
+ (p) => {
189
+ var g;
190
+ return (g = p.parentElement) != null && g.closest(X) ? NodeFilter.FILTER_SKIP : NodeFilter.FILTER_ACCEPT;
191
191
  }
192
192
  );
193
193
  let a = 0;
194
194
  const s = document.createRange();
195
195
  let u = r.nextNode();
196
196
  u === null && console.error("Could not revive annotation target. Content missing.");
197
- let h = !i;
197
+ let f = !i;
198
198
  for (; u !== null; ) {
199
- if (h || (h = i == null ? void 0 : i.contains(u)), h) {
200
- const g = ((m = u.textContent) == null ? void 0 : m.length) || 0;
201
- if (a + g > n) {
199
+ if (f || (f = i == null ? void 0 : i.contains(u)), f) {
200
+ const p = ((m = u.textContent) == null ? void 0 : m.length) || 0;
201
+ if (a + p > n) {
202
202
  s.setStart(u, n - a);
203
203
  break;
204
204
  }
205
- a += g;
205
+ a += p;
206
206
  }
207
207
  u = r.nextNode();
208
208
  }
209
209
  for (; u !== null; ) {
210
- const g = ((c = u.textContent) == null ? void 0 : c.length) || 0;
211
- if (a + g >= o) {
210
+ const p = ((c = u.textContent) == null ? void 0 : c.length) || 0;
211
+ if (a + p >= o) {
212
212
  s.setEnd(u, o - a);
213
213
  break;
214
214
  }
215
- a += g, u = r.nextNode();
215
+ a += p, u = r.nextNode();
216
216
  }
217
217
  return {
218
218
  ...t,
@@ -246,46 +246,46 @@ const P = {
246
246
  };
247
247
  }, mt = (t, e, n, o) => {
248
248
  const { store: i, selection: r, hover: a } = e;
249
- let s, u, h;
249
+ let s, u, f;
250
250
  const m = ae(n), c = (R) => {
251
- const { x: M, y: v } = t.getBoundingClientRect(), w = i.getAt(R.clientX - M, R.clientY - v);
251
+ const { x: O, y: b } = t.getBoundingClientRect(), w = i.getAt(R.clientX - O, R.clientY - b);
252
252
  w && (!u || u(w)) ? a.current !== w.id && (t.classList.add("hovered"), a.set(w.id)) : a.current && (t.classList.remove("hovered"), a.set(null));
253
253
  };
254
254
  t.addEventListener("pointermove", c);
255
- const g = (R = !1) => {
256
- h && h.clear();
257
- const M = se(t), { minX: v, minY: w, maxX: A, maxY: C } = M, L = u ? i.getIntersecting(v, w, A, C).filter(({ annotation: k }) => u(k)) : i.getIntersecting(v, w, A, C), O = r.selected.map(({ id: k }) => k), H = L.map(({ annotation: k, rects: zt }) => {
258
- const Ft = O.includes(k.id), Wt = k.id === a.current;
255
+ const p = (R = !1) => {
256
+ f && f.clear();
257
+ const O = se(t), { minX: b, minY: w, maxX: A, maxY: S } = O, L = u ? i.getIntersecting(b, w, A, S).filter(({ annotation: k }) => u(k)) : i.getIntersecting(b, w, A, S), I = r.selected.map(({ id: k }) => k), H = L.map(({ annotation: k, rects: zt }) => {
258
+ const Ft = I.includes(k.id), Wt = k.id === a.current;
259
259
  return { annotation: k, rects: zt, state: { selected: Ft, hover: Wt } };
260
260
  });
261
- o.redraw(H, M, s, h, R), setTimeout(() => m(L.map(({ annotation: k }) => k)), 1);
262
- }, p = (R) => {
263
- h = R, g();
261
+ o.redraw(H, O, s, f, R), setTimeout(() => m(L.map(({ annotation: k }) => k)), 1);
262
+ }, g = (R) => {
263
+ f = R, p();
264
264
  }, x = (R) => {
265
- s = R, g();
266
- }, b = (R) => {
267
- u = R, g(!1);
268
- }, f = () => g();
269
- i.observe(f);
270
- const l = r.subscribe(() => g()), d = () => g(!0);
271
- document.addEventListener("scroll", d, { capture: !0, passive: !0 });
272
- const y = gt(() => {
273
- i.recalculatePositions(), h && h.reset(), g();
265
+ s = R, p();
266
+ }, v = (R) => {
267
+ u = R, p(!1);
268
+ }, h = () => p();
269
+ i.observe(h);
270
+ const d = r.subscribe(() => p()), l = () => p(!0);
271
+ document.addEventListener("scroll", l, { capture: !0, passive: !0 });
272
+ const y = pt(() => {
273
+ i.recalculatePositions(), f && f.reset(), p();
274
274
  });
275
275
  window.addEventListener("resize", y);
276
276
  const T = new ResizeObserver(y);
277
277
  T.observe(t);
278
- const S = { attributes: !0, childList: !0, subtree: !0 }, E = new MutationObserver((R) => {
279
- R.every((v) => v.target === t || t.contains(v.target)) || g(!0);
278
+ const C = { attributes: !0, childList: !0, subtree: !0 }, E = new MutationObserver((R) => {
279
+ R.every((b) => b.target === t || t.contains(b.target)) || p(!0);
280
280
  });
281
- return E.observe(document.body, S), {
281
+ return E.observe(document.body, C), {
282
282
  destroy: () => {
283
- t.removeEventListener("pointermove", c), o.destroy(), i.unobserve(f), l(), document.removeEventListener("scroll", d), window.removeEventListener("resize", y), T.disconnect(), E.disconnect();
283
+ t.removeEventListener("pointermove", c), o.destroy(), i.unobserve(h), d(), document.removeEventListener("scroll", l), window.removeEventListener("resize", y), T.disconnect(), E.disconnect();
284
284
  },
285
- redraw: g,
285
+ redraw: p,
286
286
  setStyle: x,
287
- setFilter: b,
288
- setPainter: p,
287
+ setFilter: v,
288
+ setPainter: g,
289
289
  setVisible: o.setVisible
290
290
  };
291
291
  }, ce = () => {
@@ -297,36 +297,39 @@ const P = {
297
297
  t.classList.add("r6o-annotatable");
298
298
  const e = ce(), n = e.getContext("2d");
299
299
  t.insertBefore(e, t.firstChild);
300
- const o = (s, u, h, m) => requestAnimationFrame(() => {
301
- const { width: c, height: g } = e;
302
- n.clearRect(-0.5, -0.5, c + 1, g + 1), m && m.clear();
303
- const { top: p, left: x } = u;
304
- s.forEach((b) => {
305
- var T;
306
- const f = h ? typeof h == "function" ? h(b.annotation, b.state) : h : (T = b.state) != null && T.selected ? ot : P, l = m && m.paint(b, u) || f, d = b.rects.map(({ x: S, y: E, width: N, height: R }) => ({
307
- x: S + x,
308
- y: E + p,
309
- width: N,
310
- height: R
300
+ const o = (s, u, f, m) => requestAnimationFrame(() => {
301
+ const { width: c, height: p } = e;
302
+ n.clearRect(-0.5, -0.5, c + 1, p + 1), m && m.clear();
303
+ const { top: g, left: x } = u;
304
+ [...s].sort((h, d) => {
305
+ const { annotation: { target: { created: l } } } = h, { annotation: { target: { created: y } } } = d;
306
+ return l.getTime() - y.getTime();
307
+ }).forEach((h) => {
308
+ var C;
309
+ const d = f ? typeof f == "function" ? f(h.annotation, h.state) : f : (C = h.state) != null && C.selected ? ot : P, l = m && m.paint(h, u) || d, y = h.rects.map(({ x: E, y: N, width: R, height: O }) => ({
310
+ x: E + x,
311
+ y: N + g,
312
+ width: R,
313
+ height: O
311
314
  }));
312
315
  n.fillStyle = l.fill, n.globalAlpha = l.fillOpacity || 1;
313
- const y = 5;
314
- if (d.forEach(
315
- ({ x: S, y: E, width: N, height: R }) => n.fillRect(
316
- S,
317
- E - y / 2,
318
- N,
319
- R + y
316
+ const T = 5;
317
+ if (y.forEach(
318
+ ({ x: E, y: N, width: R, height: O }) => n.fillRect(
319
+ E,
320
+ N - T / 2,
321
+ R,
322
+ O + T
320
323
  )
321
324
  ), l.underlineColor) {
322
325
  n.globalAlpha = 1, n.strokeStyle = l.underlineColor, n.lineWidth = l.underlineThickness ?? 1;
323
- const S = y / 2 + (l.underlineOffset ?? 0);
324
- d.forEach(({ x: E, y: N, width: R, height: M }) => {
325
- n.beginPath(), n.moveTo(E, N + M + S), n.lineTo(E + R, N + M + S), n.stroke();
326
+ const E = T / 2 + (l.underlineOffset ?? 0);
327
+ y.forEach(({ x: N, y: R, width: O, height: b }) => {
328
+ n.beginPath(), n.moveTo(N, R + b + E), n.lineTo(N + O, R + b + E), n.stroke();
326
329
  });
327
330
  }
328
331
  });
329
- }), i = gt(() => {
332
+ }), i = pt(() => {
330
333
  le(e);
331
334
  });
332
335
  return window.addEventListener("resize", i), {
@@ -341,7 +344,7 @@ const P = {
341
344
  }, ue = (t, e, n) => mt(t, e, n, de(t));
342
345
  var he = { grad: 0.9, turn: 360, rad: 360 / (2 * Math.PI) }, Y = function(t) {
343
346
  return typeof t == "string" ? t.length > 0 : typeof t == "number";
344
- }, I = function(t, e, n) {
347
+ }, M = function(t, e, n) {
345
348
  return e === void 0 && (e = 0), n === void 0 && (n = Math.pow(10, e)), Math.round(n * t) / n + 0;
346
349
  }, U = function(t, e, n) {
347
350
  return e === void 0 && (e = 0), n === void 0 && (n = 1), t > n ? n : t > e ? t : e;
@@ -350,7 +353,7 @@ var he = { grad: 0.9, turn: 360, rad: 360 / (2 * Math.PI) }, Y = function(t) {
350
353
  }, wt = function(t) {
351
354
  return { r: U(t.r, 0, 255), g: U(t.g, 0, 255), b: U(t.b, 0, 255), a: U(t.a) };
352
355
  }, st = function(t) {
353
- return { r: I(t.r), g: I(t.g), b: I(t.b), a: I(t.a, 3) };
356
+ return { r: M(t.r), g: M(t.g), b: M(t.b), a: M(t.a, 3) };
354
357
  }, fe = /^#([0-9a-f]{3,8})$/i, J = function(t) {
355
358
  var e = t.toString(16);
356
359
  return e.length < 2 ? "0" + e : e;
@@ -360,26 +363,26 @@ var he = { grad: 0.9, turn: 360, rad: 360 / (2 * Math.PI) }, Y = function(t) {
360
363
  }, Xt = function(t) {
361
364
  var e = t.h, n = t.s, o = t.v, i = t.a;
362
365
  e = e / 360 * 6, n /= 100, o /= 100;
363
- var r = Math.floor(e), a = o * (1 - n), s = o * (1 - (e - r) * n), u = o * (1 - (1 - e + r) * n), h = r % 6;
364
- return { r: 255 * [o, s, a, a, u, o][h], g: 255 * [u, o, o, s, a, a][h], b: 255 * [a, a, u, o, o, s][h], a: i };
366
+ var r = Math.floor(e), a = o * (1 - n), s = o * (1 - (e - r) * n), u = o * (1 - (1 - e + r) * n), f = r % 6;
367
+ return { r: 255 * [o, s, a, a, u, o][f], g: 255 * [u, o, o, s, a, a][f], b: 255 * [a, a, u, o, o, s][f], a: i };
365
368
  }, xt = function(t) {
366
369
  return { h: Ut(t.h), s: U(t.s, 0, 100), l: U(t.l, 0, 100), a: U(t.a) };
367
370
  }, At = function(t) {
368
- return { h: I(t.h), s: I(t.s), l: I(t.l), a: I(t.a, 3) };
371
+ return { h: M(t.h), s: M(t.s), l: M(t.l), a: M(t.a, 3) };
369
372
  }, Et = function(t) {
370
373
  return Xt((n = (e = t).s, { h: e.h, s: (n *= ((o = e.l) < 50 ? o : 100 - o) / 100) > 0 ? 2 * n / (o + n) * 100 : 0, v: o + n, a: e.a }));
371
374
  var e, n, o;
372
375
  }, Q = function(t) {
373
376
  return { h: (e = Dt(t)).h, s: (i = (200 - (n = e.s)) * (o = e.v) / 100) > 0 && i < 200 ? n * o / 100 / (i <= 100 ? i : 200 - i) * 100 : 0, l: i / 2, a: e.a };
374
377
  var e, n, o, i;
375
- }, pe = /^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i, ge = /^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i, me = /^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i, be = /^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i, St = { string: [[function(t) {
378
+ }, ge = /^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i, pe = /^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i, me = /^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i, be = /^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i, St = { string: [[function(t) {
376
379
  var e = fe.exec(t);
377
- return e ? (t = e[1]).length <= 4 ? { r: parseInt(t[0] + t[0], 16), g: parseInt(t[1] + t[1], 16), b: parseInt(t[2] + t[2], 16), a: t.length === 4 ? I(parseInt(t[3] + t[3], 16) / 255, 2) : 1 } : t.length === 6 || t.length === 8 ? { r: parseInt(t.substr(0, 2), 16), g: parseInt(t.substr(2, 2), 16), b: parseInt(t.substr(4, 2), 16), a: t.length === 8 ? I(parseInt(t.substr(6, 2), 16) / 255, 2) : 1 } : null : null;
380
+ return e ? (t = e[1]).length <= 4 ? { r: parseInt(t[0] + t[0], 16), g: parseInt(t[1] + t[1], 16), b: parseInt(t[2] + t[2], 16), a: t.length === 4 ? M(parseInt(t[3] + t[3], 16) / 255, 2) : 1 } : t.length === 6 || t.length === 8 ? { r: parseInt(t.substr(0, 2), 16), g: parseInt(t.substr(2, 2), 16), b: parseInt(t.substr(4, 2), 16), a: t.length === 8 ? M(parseInt(t.substr(6, 2), 16) / 255, 2) : 1 } : null : null;
378
381
  }, "hex"], [function(t) {
379
382
  var e = me.exec(t) || be.exec(t);
380
383
  return e ? e[2] !== e[4] || e[4] !== e[6] ? null : wt({ r: Number(e[1]) / (e[2] ? 100 / 255 : 1), g: Number(e[3]) / (e[4] ? 100 / 255 : 1), b: Number(e[5]) / (e[6] ? 100 / 255 : 1), a: e[7] === void 0 ? 1 : Number(e[7]) / (e[8] ? 100 : 1) }) : null;
381
384
  }, "rgb"], [function(t) {
382
- var e = pe.exec(t) || ge.exec(t);
385
+ var e = ge.exec(t) || pe.exec(t);
383
386
  if (!e)
384
387
  return null;
385
388
  var n, o, i = xt({ h: (n = e[1], o = e[2], o === void 0 && (o = "deg"), Number(n) * (he[o] || 1)), s: Number(e[3]), l: Number(e[4]), a: e[5] === void 0 ? 1 : Number(e[5]) / (e[6] ? 100 : 1) });
@@ -425,13 +428,13 @@ var he = { grad: 0.9, turn: 360, rad: 360 / (2 * Math.PI) }, Y = function(t) {
425
428
  return t.prototype.isValid = function() {
426
429
  return this.parsed !== null;
427
430
  }, t.prototype.brightness = function() {
428
- return I(ct(this.rgba), 2);
431
+ return M(ct(this.rgba), 2);
429
432
  }, t.prototype.isDark = function() {
430
433
  return ct(this.rgba) < 0.5;
431
434
  }, t.prototype.isLight = function() {
432
435
  return ct(this.rgba) >= 0.5;
433
436
  }, t.prototype.toHex = function() {
434
- return e = st(this.rgba), n = e.r, o = e.g, i = e.b, a = (r = e.a) < 1 ? J(I(255 * r)) : "", "#" + J(n) + J(o) + J(i) + a;
437
+ return e = st(this.rgba), n = e.r, o = e.g, i = e.b, a = (r = e.a) < 1 ? J(M(255 * r)) : "", "#" + J(n) + J(o) + J(i) + a;
435
438
  var e, n, o, i, r, a;
436
439
  }, t.prototype.toRgb = function() {
437
440
  return st(this.rgba);
@@ -444,7 +447,7 @@ var he = { grad: 0.9, turn: 360, rad: 360 / (2 * Math.PI) }, Y = function(t) {
444
447
  return e = At(Q(this.rgba)), n = e.h, o = e.s, i = e.l, (r = e.a) < 1 ? "hsla(" + n + ", " + o + "%, " + i + "%, " + r + ")" : "hsl(" + n + ", " + o + "%, " + i + "%)";
445
448
  var e, n, o, i, r;
446
449
  }, t.prototype.toHsv = function() {
447
- return e = Dt(this.rgba), { h: I(e.h), s: I(e.s), v: I(e.v), a: I(e.a, 3) };
450
+ return e = Dt(this.rgba), { h: M(e.h), s: M(e.s), v: M(e.v), a: M(e.a, 3) };
448
451
  var e;
449
452
  }, t.prototype.invert = function() {
450
453
  return D({ r: 255 - (e = this.rgba).r, g: 255 - e.g, b: 255 - e.b, a: e.a });
@@ -462,11 +465,11 @@ var he = { grad: 0.9, turn: 360, rad: 360 / (2 * Math.PI) }, Y = function(t) {
462
465
  }, t.prototype.rotate = function(e) {
463
466
  return e === void 0 && (e = 15), this.hue(this.hue() + e);
464
467
  }, t.prototype.alpha = function(e) {
465
- return typeof e == "number" ? D({ r: (n = this.rgba).r, g: n.g, b: n.b, a: e }) : I(this.rgba.a, 3);
468
+ return typeof e == "number" ? D({ r: (n = this.rgba).r, g: n.g, b: n.b, a: e }) : M(this.rgba.a, 3);
466
469
  var n;
467
470
  }, t.prototype.hue = function(e) {
468
471
  var n = Q(this.rgba);
469
- return typeof e == "number" ? D({ h: e, s: n.s, l: n.l, a: n.a }) : I(n.h);
472
+ return typeof e == "number" ? D({ h: e, s: n.s, l: n.l, a: n.a }) : M(n.h);
470
473
  }, t.prototype.isEqual = function(e) {
471
474
  return this.toHex() === D(e).toHex();
472
475
  }, t;
@@ -492,23 +495,23 @@ const ye = (t) => [
492
495
  },
493
496
  redraw: (r, a, s, u) => {
494
497
  u && u.clear();
495
- const h = new Set(r.map((c) => c.annotation.id));
496
- Array.from(e).filter((c) => !h.has(c));
498
+ const f = new Set(r.map((c) => c.annotation.id));
499
+ Array.from(e).filter((c) => !f.has(c));
497
500
  const m = r.map((c) => {
498
501
  var x;
499
- const g = s ? typeof s == "function" ? s(c.annotation, c.state) : s : (x = c.state) != null && x.selected ? ot : P, p = u && u.paint(c, a) || g;
500
- return `::highlight(_${c.annotation.id}) { ${ye(p)} }`;
502
+ const p = s ? typeof s == "function" ? s(c.annotation, c.state) : s : (x = c.state) != null && x.selected ? ot : P, g = u && u.paint(c, a) || p;
503
+ return `::highlight(_${c.annotation.id}) { ${ye(g)} }`;
501
504
  });
502
505
  t.innerHTML = m.join(`
503
506
  `), CSS.highlights.clear(), r.forEach(({ annotation: c }) => {
504
- const g = c.target.selector.map((x) => x.range), p = new Highlight(...g);
505
- CSS.highlights.set(`_${c.id}`, p);
506
- }), e = h;
507
+ const p = c.target.selector.map((x) => x.range), g = new Highlight(...p);
508
+ CSS.highlights.set(`_${c.id}`, g);
509
+ }), e = f;
507
510
  }
508
511
  };
509
512
  }, xe = (t, e, n) => mt(t, e, n, we());
510
513
  var Rt = Object.prototype.hasOwnProperty;
511
- function pt(t, e) {
514
+ function gt(t, e) {
512
515
  var n, o;
513
516
  if (t === e)
514
517
  return !0;
@@ -519,14 +522,14 @@ function pt(t, e) {
519
522
  return t.toString() === e.toString();
520
523
  if (n === Array) {
521
524
  if ((o = t.length) === e.length)
522
- for (; o-- && pt(t[o], e[o]); )
525
+ for (; o-- && gt(t[o], e[o]); )
523
526
  ;
524
527
  return o === -1;
525
528
  }
526
529
  if (!n || typeof t == "object") {
527
530
  o = 0;
528
531
  for (n in t)
529
- if (Rt.call(t, n) && ++o && !Rt.call(e, n) || !(n in e) || !pt(t[n], e[n]))
532
+ if (Rt.call(t, n) && ++o && !Rt.call(e, n) || !(n in e) || !gt(t[n], e[n]))
530
533
  return !1;
531
534
  return Object.keys(e).length === o;
532
535
  }
@@ -545,20 +548,20 @@ const Ae = (t, e) => {
545
548
  destroy: () => {
546
549
  e.remove();
547
550
  },
548
- redraw: (a, s, u, h, m) => {
549
- const g = !(pt(n, a) && m);
550
- if (!h)
551
+ redraw: (a, s, u, f, m) => {
552
+ const p = !(gt(n, a) && m);
553
+ if (!f && !p)
551
554
  return;
552
- g && (e.innerHTML = "");
553
- const p = a.reduce((x, { rects: b }) => [...x, ...b], []);
555
+ p && (e.innerHTML = "");
556
+ const g = a.reduce((x, { rects: v }) => [...x, ...v], []);
554
557
  a.forEach((x) => {
555
- x.rects.map((b) => {
556
- const f = Ae(b, p), l = qt(x, s, u, h, f);
557
- if (g) {
558
- const d = document.createElement("span");
559
- d.className = "r6o-annotation", d.dataset.annotation = x.annotation.id, d.style.left = `${b.x}px`, d.style.top = `${b.y}px`, d.style.width = `${b.width}px`, d.style.height = `${b.height}px`;
560
- const y = D((l == null ? void 0 : l.fill) || P.fill).alpha((l == null ? void 0 : l.fillOpacity) === void 0 ? P.fillOpacity : l.fillOpacity).toHex();
561
- d.style.backgroundColor = y, l.underlineStyle && (d.style.borderStyle = l.underlineStyle), l.underlineColor && (d.style.borderColor = l.underlineColor), l.underlineThickness && (d.style.borderBottomWidth = `${l.underlineThickness}px`), l.underlineOffset && (d.style.paddingBottom = `${l.underlineOffset}px`), e.appendChild(d);
558
+ x.rects.map((v) => {
559
+ const h = Ae(v, g), d = qt(x, s, u, f, h);
560
+ if (p) {
561
+ const l = document.createElement("span");
562
+ l.className = "r6o-annotation", l.dataset.annotation = x.annotation.id, l.style.left = `${v.x}px`, l.style.top = `${v.y}px`, l.style.width = `${v.width}px`, l.style.height = `${v.height}px`;
563
+ const y = D((d == null ? void 0 : d.fill) || P.fill).alpha((d == null ? void 0 : d.fillOpacity) === void 0 ? P.fillOpacity : d.fillOpacity).toHex();
564
+ l.style.backgroundColor = y, d.underlineStyle && (l.style.borderStyle = d.underlineStyle), d.underlineColor && (l.style.borderColor = d.underlineColor), d.underlineThickness && (l.style.borderBottomWidth = `${d.underlineThickness}px`), d.underlineOffset && (l.style.paddingBottom = `${d.underlineOffset}px`), e.appendChild(l);
562
565
  }
563
566
  });
564
567
  }), n = a;
@@ -629,11 +632,11 @@ function bt(t, e = lt) {
629
632
  function i(s) {
630
633
  if (Le(t, s) && (t = s, n)) {
631
634
  const u = !z.length;
632
- for (const h of o)
633
- h[1](), z.push(h, t);
635
+ for (const f of o)
636
+ f[1](), z.push(f, t);
634
637
  if (u) {
635
- for (let h = 0; h < z.length; h += 2)
636
- z[h][0](z[h + 1]);
638
+ for (let f = 0; f < z.length; f += 2)
639
+ z[f][0](z[f + 1]);
637
640
  z.length = 0;
638
641
  }
639
642
  }
@@ -642,9 +645,9 @@ function bt(t, e = lt) {
642
645
  i(s(t));
643
646
  }
644
647
  function a(s, u = lt) {
645
- const h = [s, u];
646
- return o.add(h), o.size === 1 && (n = e(i, r) || lt), s(t), () => {
647
- o.delete(h), o.size === 0 && n && (n(), n = null);
648
+ const f = [s, u];
649
+ return o.add(f), o.size === 1 && (n = e(i, r) || lt), s(t), () => {
650
+ o.delete(f), o.size === 0 && n && (n(), n = null);
648
651
  };
649
652
  }
650
653
  return { set: i, update: r, subscribe: a };
@@ -677,25 +680,25 @@ const dt = { selected: [] }, Ie = (t, e = "EDIT") => {
677
680
  }, s = (c) => {
678
681
  if (i.selected.length === 0)
679
682
  return !1;
680
- const g = typeof c == "string" ? c : c.id;
681
- return i.selected.some((p) => p.id === g);
682
- }, u = (c, g) => {
683
- const p = t.getAnnotation(c);
684
- if (p) {
685
- const x = Me(p, e);
686
- o(x === "EDIT" ? { selected: [{ id: c, editable: !0 }], pointerEvent: g } : x === "SELECT" ? { selected: [{ id: c }], pointerEvent: g } : { selected: [], pointerEvent: g });
683
+ const p = typeof c == "string" ? c : c.id;
684
+ return i.selected.some((g) => g.id === p);
685
+ }, u = (c, p) => {
686
+ const g = t.getAnnotation(c);
687
+ if (g) {
688
+ const x = Me(g, e);
689
+ o(x === "EDIT" ? { selected: [{ id: c, editable: !0 }], pointerEvent: p } : x === "SELECT" ? { selected: [{ id: c }], pointerEvent: p } : { selected: [], pointerEvent: p });
687
690
  } else
688
691
  console.warn("Invalid selection: " + c);
689
- }, h = (c, g = !0) => {
690
- const p = Array.isArray(c) ? c : [c], x = p.map((b) => t.getAnnotation(b)).filter(Boolean);
691
- o({ selected: x.map(({ id: b }) => ({ id: b, editable: g })) }), x.length !== p.length && console.warn("Invalid selection", c);
692
+ }, f = (c, p = !0) => {
693
+ const g = Array.isArray(c) ? c : [c], x = g.map((v) => t.getAnnotation(v)).filter(Boolean);
694
+ o({ selected: x.map(({ id: v }) => ({ id: v, editable: p })) }), x.length !== g.length && console.warn("Invalid selection", c);
692
695
  }, m = (c) => {
693
696
  if (i.selected.length === 0)
694
697
  return !1;
695
- const { selected: g } = i;
696
- g.filter(({ id: p }) => c.includes(p)).length > 0 && o({ selected: g.filter(({ id: p }) => !c.includes(p)) });
698
+ const { selected: p } = i;
699
+ p.filter(({ id: g }) => c.includes(g)).length > 0 && o({ selected: p.filter(({ id: g }) => !c.includes(g)) });
697
700
  };
698
- return t.observe(({ changes: c }) => m((c.deleted || []).map((g) => g.id))), {
701
+ return t.observe(({ changes: c }) => m((c.deleted || []).map((p) => p.id))), {
699
702
  clear: r,
700
703
  clickSelect: u,
701
704
  get selected() {
@@ -706,7 +709,7 @@ const dt = { selected: [] }, Ie = (t, e = "EDIT") => {
706
709
  },
707
710
  isEmpty: a,
708
711
  isSelected: s,
709
- setSelected: h,
712
+ setSelected: f,
710
713
  subscribe: n
711
714
  };
712
715
  }, Me = (t, e) => typeof e == "function" ? e(t) || "EDIT" : e || "EDIT";
@@ -768,8 +771,8 @@ const Pe = (t, e) => {
768
771
  if (t.options.ignore) {
769
772
  const { ignore: a } = t.options, s = (u) => u && u.length > 0;
770
773
  if (!(s(i.created) || s(i.deleted))) {
771
- const u = (n = i.updated) == null ? void 0 : n.some((m) => s(m.bodiesCreated) || s(m.bodiesDeleted) || s(m.bodiesUpdated)), h = (o = i.updated) == null ? void 0 : o.some((m) => m.targetUpdated);
772
- if (a === "BODY_ONLY" && u && !h || a === "TARGET_ONLY" && h && !u)
774
+ const u = (n = i.updated) == null ? void 0 : n.some((m) => s(m.bodiesCreated) || s(m.bodiesDeleted) || s(m.bodiesUpdated)), f = (o = i.updated) == null ? void 0 : o.some((m) => m.targetUpdated);
775
+ if (a === "BODY_ONLY" && u && !f || a === "TARGET_ONLY" && f && !u)
773
776
  return !1;
774
777
  }
775
778
  }
@@ -784,30 +787,30 @@ const Pe = (t, e) => {
784
787
  return !0;
785
788
  }, ze = (t, e) => {
786
789
  const n = new Set((t.created || []).map((c) => c.id)), o = new Set((t.updated || []).map(({ newValue: c }) => c.id)), i = new Set((e.created || []).map((c) => c.id)), r = 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)), u = [
787
- ...(t.created || []).filter((c) => !r.has(c.id)).map((c) => a.has(c.id) ? e.updated.find(({ oldValue: g }) => g.id === c.id).newValue : c),
790
+ ...(t.created || []).filter((c) => !r.has(c.id)).map((c) => a.has(c.id) ? e.updated.find(({ oldValue: p }) => p.id === c.id).newValue : c),
788
791
  ...e.created || []
789
- ], h = [
792
+ ], f = [
790
793
  ...(t.deleted || []).filter((c) => !i.has(c.id)),
791
794
  ...(e.deleted || []).filter((c) => !n.has(c.id))
792
795
  ], m = [
793
796
  ...(t.updated || []).filter(({ newValue: c }) => !r.has(c.id)).map((c) => {
794
- const { oldValue: g, newValue: p } = c;
795
- if (a.has(p.id)) {
796
- const x = e.updated.find((b) => b.oldValue.id === p.id).newValue;
797
- return Yt(g, x);
797
+ const { oldValue: p, newValue: g } = c;
798
+ if (a.has(g.id)) {
799
+ const x = e.updated.find((v) => v.oldValue.id === g.id).newValue;
800
+ return Yt(p, x);
798
801
  } else
799
802
  return c;
800
803
  }),
801
804
  ...(e.updated || []).filter(({ oldValue: c }) => !s.has(c.id))
802
805
  ];
803
- return { created: u, deleted: h, updated: m };
806
+ return { created: u, deleted: f, updated: m };
804
807
  }, Fe = (t) => t.id !== void 0, We = () => {
805
- const t = /* @__PURE__ */ new Map(), e = /* @__PURE__ */ new Map(), n = [], o = (v, w = {}) => n.push({ onChange: v, options: w }), i = (v) => {
806
- const w = n.findIndex((A) => A.onChange == v);
808
+ const t = /* @__PURE__ */ new Map(), e = /* @__PURE__ */ new Map(), n = [], o = (b, w = {}) => n.push({ onChange: b, options: w }), i = (b) => {
809
+ const w = n.findIndex((A) => A.onChange == b);
807
810
  w > -1 && n.splice(w, 1);
808
- }, r = (v, w) => {
811
+ }, r = (b, w) => {
809
812
  const A = {
810
- origin: v,
813
+ origin: b,
811
814
  changes: {
812
815
  created: w.created || [],
813
816
  updated: w.updated || [],
@@ -815,144 +818,144 @@ const Pe = (t, e) => {
815
818
  },
816
819
  state: [...t.values()]
817
820
  };
818
- n.forEach((C) => {
819
- Pe(C, A) && C.onChange(A);
821
+ n.forEach((S) => {
822
+ Pe(S, A) && S.onChange(A);
820
823
  });
821
- }, a = (v, w = B.LOCAL) => {
822
- if (t.get(v.id))
823
- throw Error(`Cannot add annotation ${v.id} - exists already`);
824
- t.set(v.id, v), v.bodies.forEach((A) => e.set(A.id, v.id)), r(w, { created: [v] });
825
- }, s = (v, w) => {
826
- const A = typeof v == "string" ? w : v, C = typeof v == "string" ? v : v.id, L = t.get(C);
824
+ }, a = (b, w = B.LOCAL) => {
825
+ if (t.get(b.id))
826
+ throw Error(`Cannot add annotation ${b.id} - exists already`);
827
+ t.set(b.id, b), b.bodies.forEach((A) => e.set(A.id, b.id)), r(w, { created: [b] });
828
+ }, s = (b, w) => {
829
+ const A = typeof b == "string" ? w : b, S = typeof b == "string" ? b : b.id, L = t.get(S);
827
830
  if (L) {
828
- const O = Yt(L, A);
829
- return C === A.id ? t.set(C, A) : (t.delete(C), t.set(A.id, A)), L.bodies.forEach((H) => e.delete(H.id)), A.bodies.forEach((H) => e.set(H.id, A.id)), O;
831
+ const I = Yt(L, A);
832
+ return S === A.id ? t.set(S, A) : (t.delete(S), t.set(A.id, A)), L.bodies.forEach((H) => e.delete(H.id)), A.bodies.forEach((H) => e.set(H.id, A.id)), I;
830
833
  } else
831
- console.warn(`Cannot update annotation ${C} - does not exist`);
832
- }, u = (v, w = B.LOCAL, A = B.LOCAL) => {
833
- const C = Fe(w) ? A : w, L = s(v, w);
834
- L && r(C, { updated: [L] });
835
- }, h = (v, w = B.LOCAL) => {
836
- const A = v.reduce((C, L) => {
837
- const O = s(L);
838
- return O ? [...C, O] : C;
834
+ console.warn(`Cannot update annotation ${S} - does not exist`);
835
+ }, u = (b, w = B.LOCAL, A = B.LOCAL) => {
836
+ const S = Fe(w) ? A : w, L = s(b, w);
837
+ L && r(S, { updated: [L] });
838
+ }, f = (b, w = B.LOCAL) => {
839
+ const A = b.reduce((S, L) => {
840
+ const I = s(L);
841
+ return I ? [...S, I] : S;
839
842
  }, []);
840
843
  A.length > 0 && r(w, { updated: A });
841
- }, m = (v, w = B.LOCAL) => {
842
- const A = t.get(v.annotation);
844
+ }, m = (b, w = B.LOCAL) => {
845
+ const A = t.get(b.annotation);
843
846
  if (A) {
844
- const C = {
847
+ const S = {
845
848
  ...A,
846
- bodies: [...A.bodies, v]
849
+ bodies: [...A.bodies, b]
847
850
  };
848
- t.set(A.id, C), e.set(v.id, C.id), r(w, { updated: [{
851
+ t.set(A.id, S), e.set(b.id, S.id), r(w, { updated: [{
849
852
  oldValue: A,
850
- newValue: C,
851
- bodiesCreated: [v]
853
+ newValue: S,
854
+ bodiesCreated: [b]
852
855
  }] });
853
856
  } else
854
- console.warn(`Attempt to add body to missing annotation: ${v.annotation}`);
855
- }, c = () => [...t.values()], g = (v = B.LOCAL) => {
857
+ console.warn(`Attempt to add body to missing annotation: ${b.annotation}`);
858
+ }, c = () => [...t.values()], p = (b = B.LOCAL) => {
856
859
  const w = [...t.values()];
857
- t.clear(), e.clear(), r(v, { deleted: w });
858
- }, p = (v, w = !0, A = B.LOCAL) => {
860
+ t.clear(), e.clear(), r(b, { deleted: w });
861
+ }, g = (b, w = !0, A = B.LOCAL) => {
859
862
  if (w) {
860
- const C = [...t.values()];
861
- t.clear(), e.clear(), v.forEach((L) => {
862
- t.set(L.id, L), L.bodies.forEach((O) => e.set(O.id, L.id));
863
- }), r(A, { created: v, deleted: C });
863
+ const S = [...t.values()];
864
+ t.clear(), e.clear(), b.forEach((L) => {
865
+ t.set(L.id, L), L.bodies.forEach((I) => e.set(I.id, L.id));
866
+ }), r(A, { created: b, deleted: S });
864
867
  } else {
865
- const C = v.reduce((L, O) => {
866
- const H = t.get(O.id);
868
+ const S = b.reduce((L, I) => {
869
+ const H = t.get(I.id);
867
870
  return H ? [...L, H] : L;
868
871
  }, []);
869
- if (C.length > 0)
870
- throw Error(`Bulk insert would overwrite the following annotations: ${C.map((L) => L.id).join(", ")}`);
871
- v.forEach((L) => {
872
- t.set(L.id, L), L.bodies.forEach((O) => e.set(O.id, L.id));
873
- }), r(A, { created: v });
872
+ if (S.length > 0)
873
+ throw Error(`Bulk insert would overwrite the following annotations: ${S.map((L) => L.id).join(", ")}`);
874
+ b.forEach((L) => {
875
+ t.set(L.id, L), L.bodies.forEach((I) => e.set(I.id, L.id));
876
+ }), r(A, { created: b });
874
877
  }
875
- }, x = (v) => {
876
- const w = typeof v == "string" ? v : v.id, A = t.get(w);
878
+ }, x = (b) => {
879
+ const w = typeof b == "string" ? b : b.id, A = t.get(w);
877
880
  if (A)
878
- return t.delete(w), A.bodies.forEach((C) => e.delete(C.id)), A;
881
+ return t.delete(w), A.bodies.forEach((S) => e.delete(S.id)), A;
879
882
  console.warn(`Attempt to delete missing annotation: ${w}`);
880
- }, b = (v, w = B.LOCAL) => {
881
- const A = x(v);
883
+ }, v = (b, w = B.LOCAL) => {
884
+ const A = x(b);
882
885
  A && r(w, { deleted: [A] });
883
- }, f = (v, w = B.LOCAL) => {
884
- const A = v.reduce((C, L) => {
885
- const O = x(L);
886
- return O ? [...C, O] : C;
886
+ }, h = (b, w = B.LOCAL) => {
887
+ const A = b.reduce((S, L) => {
888
+ const I = x(L);
889
+ return I ? [...S, I] : S;
887
890
  }, []);
888
891
  A.length > 0 && r(w, { deleted: A });
889
- }, l = (v) => {
890
- const w = t.get(v.annotation);
892
+ }, d = (b) => {
893
+ const w = t.get(b.annotation);
891
894
  if (w) {
892
- const A = w.bodies.find((C) => C.id === v.id);
895
+ const A = w.bodies.find((S) => S.id === b.id);
893
896
  if (A) {
894
897
  e.delete(A.id);
895
- const C = {
898
+ const S = {
896
899
  ...w,
897
- bodies: w.bodies.filter((L) => L.id !== v.id)
900
+ bodies: w.bodies.filter((L) => L.id !== b.id)
898
901
  };
899
- return t.set(w.id, C), {
902
+ return t.set(w.id, S), {
900
903
  oldValue: w,
901
- newValue: C,
904
+ newValue: S,
902
905
  bodiesDeleted: [A]
903
906
  };
904
907
  } else
905
- console.warn(`Attempt to delete missing body ${v.id} from annotation ${v.annotation}`);
908
+ console.warn(`Attempt to delete missing body ${b.id} from annotation ${b.annotation}`);
906
909
  } else
907
- console.warn(`Attempt to delete body from missing annotation ${v.annotation}`);
908
- }, d = (v, w = B.LOCAL) => {
909
- const A = l(v);
910
+ console.warn(`Attempt to delete body from missing annotation ${b.annotation}`);
911
+ }, l = (b, w = B.LOCAL) => {
912
+ const A = d(b);
910
913
  A && r(w, { updated: [A] });
911
- }, y = (v, w = B.LOCAL) => {
912
- const A = v.map((C) => l(C)).filter(Boolean);
914
+ }, y = (b, w = B.LOCAL) => {
915
+ const A = b.map((S) => d(S)).filter(Boolean);
913
916
  A.length > 0 && r(w, { updated: A });
914
- }, T = (v) => {
915
- const w = t.get(v);
917
+ }, T = (b) => {
918
+ const w = t.get(b);
916
919
  return w ? { ...w } : void 0;
917
- }, S = (v) => {
918
- const w = e.get(v);
920
+ }, C = (b) => {
921
+ const w = e.get(b);
919
922
  if (w) {
920
- const A = T(w).bodies.find((C) => C.id === v);
923
+ const A = T(w).bodies.find((S) => S.id === b);
921
924
  if (A)
922
925
  return A;
923
- console.error(`Store integrity error: body ${v} in index, but not in annotation`);
926
+ console.error(`Store integrity error: body ${b} in index, but not in annotation`);
924
927
  } else
925
- console.warn(`Attempt to retrieve missing body: ${v}`);
926
- }, E = (v, w) => {
927
- if (v.annotation !== w.annotation)
928
+ console.warn(`Attempt to retrieve missing body: ${b}`);
929
+ }, E = (b, w) => {
930
+ if (b.annotation !== w.annotation)
928
931
  throw "Annotation integrity violation: annotation ID must be the same when updating bodies";
929
- const A = t.get(v.annotation);
932
+ const A = t.get(b.annotation);
930
933
  if (A) {
931
- const C = A.bodies.find((O) => O.id === v.id), L = {
934
+ const S = A.bodies.find((I) => I.id === b.id), L = {
932
935
  ...A,
933
- bodies: A.bodies.map((O) => O.id === C.id ? w : O)
936
+ bodies: A.bodies.map((I) => I.id === S.id ? w : I)
934
937
  };
935
- return t.set(A.id, L), C.id !== w.id && (e.delete(C.id), e.set(w.id, L.id)), {
938
+ return t.set(A.id, L), S.id !== w.id && (e.delete(S.id), e.set(w.id, L.id)), {
936
939
  oldValue: A,
937
940
  newValue: L,
938
- bodiesUpdated: [{ oldBody: C, newBody: w }]
941
+ bodiesUpdated: [{ oldBody: S, newBody: w }]
939
942
  };
940
943
  } else
941
- console.warn(`Attempt to add body to missing annotation ${v.annotation}`);
942
- }, N = (v, w, A = B.LOCAL) => {
943
- const C = E(v, w);
944
- C && r(A, { updated: [C] });
945
- }, R = (v, w = B.LOCAL) => {
946
- const A = v.map((C) => E({ id: C.id, annotation: C.annotation }, C)).filter(Boolean);
944
+ console.warn(`Attempt to add body to missing annotation ${b.annotation}`);
945
+ }, N = (b, w, A = B.LOCAL) => {
946
+ const S = E(b, w);
947
+ S && r(A, { updated: [S] });
948
+ }, R = (b, w = B.LOCAL) => {
949
+ const A = b.map((S) => E({ id: S.id, annotation: S.annotation }, S)).filter(Boolean);
947
950
  r(w, { updated: A });
948
- }, M = (v) => {
949
- const w = t.get(v.annotation);
951
+ }, O = (b) => {
952
+ const w = t.get(b.annotation);
950
953
  if (w) {
951
954
  const A = {
952
955
  ...w,
953
956
  target: {
954
957
  ...w.target,
955
- ...v
958
+ ...b
956
959
  }
957
960
  };
958
961
  return t.set(w.id, A), {
@@ -960,36 +963,36 @@ const Pe = (t, e) => {
960
963
  newValue: A,
961
964
  targetUpdated: {
962
965
  oldTarget: w.target,
963
- newTarget: v
966
+ newTarget: b
964
967
  }
965
968
  };
966
969
  } else
967
- console.warn(`Attempt to update target on missing annotation: ${v.annotation}`);
970
+ console.warn(`Attempt to update target on missing annotation: ${b.annotation}`);
968
971
  };
969
972
  return {
970
973
  addAnnotation: a,
971
974
  addBody: m,
972
975
  all: c,
973
- bulkAddAnnotation: p,
974
- bulkDeleteAnnotation: f,
976
+ bulkAddAnnotation: g,
977
+ bulkDeleteAnnotation: h,
975
978
  bulkDeleteBodies: y,
976
- bulkUpdateAnnotation: h,
979
+ bulkUpdateAnnotation: f,
977
980
  bulkUpdateBodies: R,
978
- bulkUpdateTargets: (v, w = B.LOCAL) => {
979
- const A = v.map((C) => M(C)).filter(Boolean);
981
+ bulkUpdateTargets: (b, w = B.LOCAL) => {
982
+ const A = b.map((S) => O(S)).filter(Boolean);
980
983
  A.length > 0 && r(w, { updated: A });
981
984
  },
982
- clear: g,
983
- deleteAnnotation: b,
984
- deleteBody: d,
985
+ clear: p,
986
+ deleteAnnotation: v,
987
+ deleteBody: l,
985
988
  getAnnotation: T,
986
- getBody: S,
989
+ getBody: C,
987
990
  observe: o,
988
991
  unobserve: i,
989
992
  updateAnnotation: u,
990
993
  updateBody: N,
991
- updateTarget: (v, w = B.LOCAL) => {
992
- const A = M(v);
994
+ updateTarget: (b, w = B.LOCAL) => {
995
+ const A = O(b);
993
996
  A && r(w, { updated: [A] });
994
997
  }
995
998
  };
@@ -1011,38 +1014,38 @@ let qe = () => ({
1011
1014
  const je = 250, Ge = (t) => {
1012
1015
  const e = qe(), n = [];
1013
1016
  let o = -1, i = !1, r = 0;
1014
- const a = (p) => {
1017
+ const a = (g) => {
1015
1018
  if (!i) {
1016
- const { changes: x } = p, b = performance.now();
1017
- if (b - r > je)
1019
+ const { changes: x } = g, v = performance.now();
1020
+ if (v - r > je)
1018
1021
  n.splice(o + 1), n.push(x), o = n.length - 1;
1019
1022
  else {
1020
- const f = n.length - 1;
1021
- n[f] = ze(n[f], x);
1023
+ const h = n.length - 1;
1024
+ n[h] = ze(n[h], x);
1022
1025
  }
1023
- r = b;
1026
+ r = v;
1024
1027
  }
1025
1028
  i = !1;
1026
1029
  };
1027
1030
  t.observe(a, { origin: B.LOCAL });
1028
- const s = (p) => p && p.length > 0 && t.bulkDeleteAnnotation(p), u = (p) => p && p.length > 0 && t.bulkAddAnnotation(p, !1), h = (p) => p && p.length > 0 && t.bulkUpdateAnnotation(p.map(({ oldValue: x }) => x)), m = (p) => p && p.length > 0 && t.bulkUpdateAnnotation(p.map(({ newValue: x }) => x)), c = (p) => p && p.length > 0 && t.bulkAddAnnotation(p, !1), g = (p) => p && p.length > 0 && t.bulkDeleteAnnotation(p);
1031
+ const s = (g) => g && g.length > 0 && t.bulkDeleteAnnotation(g), u = (g) => g && g.length > 0 && t.bulkAddAnnotation(g, !1), f = (g) => g && g.length > 0 && t.bulkUpdateAnnotation(g.map(({ oldValue: x }) => x)), m = (g) => g && g.length > 0 && t.bulkUpdateAnnotation(g.map(({ newValue: x }) => x)), c = (g) => g && g.length > 0 && t.bulkAddAnnotation(g, !1), p = (g) => g && g.length > 0 && t.bulkDeleteAnnotation(g);
1029
1032
  return {
1030
1033
  canRedo: () => n.length - 1 > o,
1031
1034
  canUndo: () => o > -1,
1032
1035
  destroy: () => t.unobserve(a),
1033
- on: (p, x) => e.on(p, x),
1036
+ on: (g, x) => e.on(g, x),
1034
1037
  redo: () => {
1035
1038
  if (n.length - 1 > o) {
1036
1039
  i = !0;
1037
- const { created: p, updated: x, deleted: b } = n[o + 1];
1038
- u(p), m(x), g(b), e.emit("redo", n[o + 1]), o += 1;
1040
+ const { created: g, updated: x, deleted: v } = n[o + 1];
1041
+ u(g), m(x), p(v), e.emit("redo", n[o + 1]), o += 1;
1039
1042
  }
1040
1043
  },
1041
1044
  undo: () => {
1042
1045
  if (o > -1) {
1043
1046
  i = !0;
1044
- const { created: p, updated: x, deleted: b } = n[o];
1045
- s(p), h(x), c(b), e.emit("undo", n[o]), o -= 1;
1047
+ const { created: g, updated: x, deleted: v } = n[o];
1048
+ s(g), f(x), c(v), e.emit("undo", n[o]), o -= 1;
1046
1049
  }
1047
1050
  }
1048
1051
  };
@@ -1054,69 +1057,69 @@ const je = 250, Ge = (t) => {
1054
1057
  };
1055
1058
  }, Qe = (t, e, n, o) => {
1056
1059
  const { store: i, selection: r, hover: a, viewport: s } = t, u = /* @__PURE__ */ new Map();
1057
- let h = [], m;
1058
- const c = (b, f) => {
1059
- u.has(b) ? u.get(b).push(f) : u.set(b, [f]);
1060
- }, g = (b, f) => {
1061
- const l = u.get(b);
1062
- l && l.indexOf(f) > 0 && l.splice(l.indexOf(f), 1);
1063
- }, p = (b, f, l) => {
1064
- u.has(b) && setTimeout(() => {
1065
- u.get(b).forEach((d) => {
1060
+ let f = [], m;
1061
+ const c = (v, h) => {
1062
+ u.has(v) ? u.get(v).push(h) : u.set(v, [h]);
1063
+ }, p = (v, h) => {
1064
+ const d = u.get(v);
1065
+ d && d.indexOf(h) > 0 && d.splice(d.indexOf(h), 1);
1066
+ }, g = (v, h, d) => {
1067
+ u.has(v) && setTimeout(() => {
1068
+ u.get(v).forEach((l) => {
1066
1069
  if (n) {
1067
- const y = Array.isArray(f) ? f.map((S) => n.serialize(S)) : n.serialize(f), T = l ? l instanceof PointerEvent ? l : n.serialize(l) : void 0;
1068
- d(y, T);
1070
+ const y = Array.isArray(h) ? h.map((C) => n.serialize(C)) : n.serialize(h), T = d ? d instanceof PointerEvent ? d : n.serialize(d) : void 0;
1071
+ l(y, T);
1069
1072
  } else
1070
- d(f, l);
1073
+ l(h, d);
1071
1074
  });
1072
1075
  }, 1);
1073
1076
  };
1074
- r.subscribe(({ selected: b }) => {
1075
- if (!(h.length === 0 && b.length === 0)) {
1076
- if (h.length === 0 && b.length > 0)
1077
- h = b.map(({ id: f }) => i.getAnnotation(f));
1078
- else if (h.length > 0 && b.length === 0)
1079
- h.forEach((f) => {
1080
- const l = i.getAnnotation(f.id);
1081
- l && !q(l, f) && p("updateAnnotation", l, f);
1082
- }), h = [];
1077
+ r.subscribe(({ selected: v }) => {
1078
+ if (!(f.length === 0 && v.length === 0)) {
1079
+ if (f.length === 0 && v.length > 0)
1080
+ f = v.map(({ id: h }) => i.getAnnotation(h));
1081
+ else if (f.length > 0 && v.length === 0)
1082
+ f.forEach((h) => {
1083
+ const d = i.getAnnotation(h.id);
1084
+ d && !q(d, h) && g("updateAnnotation", d, h);
1085
+ }), f = [];
1083
1086
  else {
1084
- const f = new Set(h.map((d) => d.id)), l = new Set(b.map(({ id: d }) => d));
1085
- h.filter((d) => !l.has(d.id)).forEach((d) => {
1086
- const y = i.getAnnotation(d.id);
1087
- y && !q(y, d) && p("updateAnnotation", y, d);
1088
- }), h = [
1087
+ const h = new Set(f.map((l) => l.id)), d = new Set(v.map(({ id: l }) => l));
1088
+ f.filter((l) => !d.has(l.id)).forEach((l) => {
1089
+ const y = i.getAnnotation(l.id);
1090
+ y && !q(y, l) && g("updateAnnotation", y, l);
1091
+ }), f = [
1089
1092
  // Remove annotations that were deselected
1090
- ...h.filter((d) => l.has(d.id)),
1093
+ ...f.filter((l) => d.has(l.id)),
1091
1094
  // Add editable annotations that were selected
1092
- ...b.filter(({ id: d }) => !f.has(d)).map(({ id: d }) => i.getAnnotation(d))
1095
+ ...v.filter(({ id: l }) => !h.has(l)).map(({ id: l }) => i.getAnnotation(l))
1093
1096
  ];
1094
1097
  }
1095
- p("selectionChanged", h);
1098
+ g("selectionChanged", f);
1096
1099
  }
1097
- }), a.subscribe((b) => {
1098
- !m && b ? p("mouseEnterAnnotation", i.getAnnotation(b)) : m && !b ? p("mouseLeaveAnnotation", i.getAnnotation(m)) : m && b && (p("mouseLeaveAnnotation", i.getAnnotation(m)), p("mouseEnterAnnotation", i.getAnnotation(b))), m = b;
1099
- }), s == null || s.subscribe((b) => p("viewportIntersect", b.map((f) => i.getAnnotation(f)))), i.observe((b) => {
1100
- const { created: f, deleted: l } = b.changes;
1101
- (f || []).forEach((d) => p("createAnnotation", d)), (l || []).forEach((d) => p("deleteAnnotation", d)), (b.changes.updated || []).filter((d) => [
1102
- ...d.bodiesCreated || [],
1103
- ...d.bodiesDeleted || [],
1104
- ...d.bodiesUpdated || []
1105
- ].length > 0).forEach(({ oldValue: d, newValue: y }) => {
1106
- const T = h.find((S) => S.id === d.id) || d;
1107
- h = h.map((S) => S.id === d.id ? y : S), p("updateAnnotation", y, T);
1100
+ }), a.subscribe((v) => {
1101
+ !m && v ? g("mouseEnterAnnotation", i.getAnnotation(v)) : m && !v ? g("mouseLeaveAnnotation", i.getAnnotation(m)) : m && v && (g("mouseLeaveAnnotation", i.getAnnotation(m)), g("mouseEnterAnnotation", i.getAnnotation(v))), m = v;
1102
+ }), s == null || s.subscribe((v) => g("viewportIntersect", v.map((h) => i.getAnnotation(h)))), i.observe((v) => {
1103
+ const { created: h, deleted: d } = v.changes;
1104
+ (h || []).forEach((l) => g("createAnnotation", l)), (d || []).forEach((l) => g("deleteAnnotation", l)), (v.changes.updated || []).filter((l) => [
1105
+ ...l.bodiesCreated || [],
1106
+ ...l.bodiesDeleted || [],
1107
+ ...l.bodiesUpdated || []
1108
+ ].length > 0).forEach(({ oldValue: l, newValue: y }) => {
1109
+ const T = f.find((C) => C.id === l.id) || l;
1110
+ f = f.map((C) => C.id === l.id ? y : C), g("updateAnnotation", y, T);
1108
1111
  });
1109
- }, { origin: B.LOCAL }), i.observe((b) => {
1110
- if (h) {
1111
- const f = new Set(h.map((d) => d.id)), l = (b.changes.updated || []).filter(({ newValue: d }) => f.has(d.id)).map(({ newValue: d }) => d);
1112
- l.length > 0 && (h = h.map((d) => l.find((T) => T.id === d.id) || d));
1112
+ }, { origin: B.LOCAL }), i.observe((v) => {
1113
+ if (f) {
1114
+ const h = new Set(f.map((l) => l.id)), d = (v.changes.updated || []).filter(({ newValue: l }) => h.has(l.id)).map(({ newValue: l }) => l);
1115
+ d.length > 0 && (f = f.map((l) => d.find((T) => T.id === l.id) || l));
1113
1116
  }
1114
1117
  }, { origin: B.REMOTE });
1115
- const x = (b) => (f) => {
1116
- const { updated: l } = f;
1117
- b ? (l || []).forEach((d) => p("updateAnnotation", d.oldValue, d.newValue)) : (l || []).forEach((d) => p("updateAnnotation", d.newValue, d.oldValue));
1118
+ const x = (v) => (h) => {
1119
+ const { updated: d } = h;
1120
+ v ? (d || []).forEach((l) => g("updateAnnotation", l.oldValue, l.newValue)) : (d || []).forEach((l) => g("updateAnnotation", l.newValue, l.oldValue));
1118
1121
  };
1119
- return e.on("undo", x(!0)), e.on("redo", x(!1)), { on: c, off: g, emit: p };
1122
+ return e.on("undo", x(!0)), e.on("redo", x(!1)), { on: c, off: p, emit: g };
1120
1123
  }, Je = (t) => (e) => e.reduce((n, o) => {
1121
1124
  const { parsed: i, error: r } = t.parse(o);
1122
1125
  return r ? {
@@ -1129,44 +1132,44 @@ const je = 250, Ge = (t) => {
1129
1132
  ...n
1130
1133
  };
1131
1134
  }, { parsed: [], failed: [] }), Ze = (t, e, n) => {
1132
- const { store: o, selection: i } = t, r = (f) => {
1135
+ const { store: o, selection: i } = t, r = (h) => {
1133
1136
  if (n) {
1134
- const { parsed: l, error: d } = n.parse(f);
1135
- l ? o.addAnnotation(l, B.REMOTE) : console.error(d);
1137
+ const { parsed: d, error: l } = n.parse(h);
1138
+ d ? o.addAnnotation(d, B.REMOTE) : console.error(l);
1136
1139
  } else
1137
- o.addAnnotation(f, B.REMOTE);
1138
- }, a = () => i.clear(), s = () => o.clear(), u = (f) => {
1139
- const l = o.getAnnotation(f);
1140
- return n && l ? n.serialize(l) : l;
1141
- }, h = () => n ? o.all().map(n.serialize) : o.all(), m = () => {
1142
- var f;
1143
- const l = (((f = i.selected) == null ? void 0 : f.map((d) => d.id)) || []).map((d) => o.getAnnotation(d)).filter(Boolean);
1144
- return n ? l.map(n.serialize) : l;
1145
- }, c = (f, l = !0) => fetch(f).then((d) => d.json()).then((d) => (p(d, l), d)), g = (f) => {
1146
- if (typeof f == "string") {
1147
- const l = o.getAnnotation(f);
1148
- if (o.deleteAnnotation(f), l)
1149
- return n ? n.serialize(l) : l;
1140
+ o.addAnnotation(h, B.REMOTE);
1141
+ }, a = () => i.clear(), s = () => o.clear(), u = (h) => {
1142
+ const d = o.getAnnotation(h);
1143
+ return n && d ? n.serialize(d) : d;
1144
+ }, f = () => n ? o.all().map(n.serialize) : o.all(), m = () => {
1145
+ var h;
1146
+ const d = (((h = i.selected) == null ? void 0 : h.map((l) => l.id)) || []).map((l) => o.getAnnotation(l)).filter(Boolean);
1147
+ return n ? d.map(n.serialize) : d;
1148
+ }, c = (h, d = !0) => fetch(h).then((l) => l.json()).then((l) => (g(l, d), l)), p = (h) => {
1149
+ if (typeof h == "string") {
1150
+ const d = o.getAnnotation(h);
1151
+ if (o.deleteAnnotation(h), d)
1152
+ return n ? n.serialize(d) : d;
1150
1153
  } else {
1151
- const l = n ? n.parse(f).parsed : f;
1152
- if (l)
1153
- return o.deleteAnnotation(l), f;
1154
+ const d = n ? n.parse(h).parsed : h;
1155
+ if (d)
1156
+ return o.deleteAnnotation(d), h;
1154
1157
  }
1155
- }, p = (f, l = !0) => {
1158
+ }, g = (h, d = !0) => {
1156
1159
  if (n) {
1157
- const { parsed: d, failed: y } = Je(n)(f);
1158
- y.length > 0 && console.warn(`Discarded ${y.length} invalid annotations`, y), o.bulkAddAnnotation(d, l, B.REMOTE);
1160
+ const { parsed: l, failed: y } = Je(n)(h);
1161
+ y.length > 0 && console.warn(`Discarded ${y.length} invalid annotations`, y), o.bulkAddAnnotation(l, d, B.REMOTE);
1159
1162
  } else
1160
- o.bulkAddAnnotation(f, l, B.REMOTE);
1161
- }, x = (f) => {
1162
- f ? i.setSelected(f) : i.clear();
1163
- }, b = (f) => {
1163
+ o.bulkAddAnnotation(h, d, B.REMOTE);
1164
+ }, x = (h) => {
1165
+ h ? i.setSelected(h) : i.clear();
1166
+ }, v = (h) => {
1164
1167
  if (n) {
1165
- const l = n.parse(f).parsed, d = n.serialize(o.getAnnotation(l.id));
1166
- return o.updateAnnotation(l), d;
1168
+ const d = n.parse(h).parsed, l = n.serialize(o.getAnnotation(d.id));
1169
+ return o.updateAnnotation(d), l;
1167
1170
  } else {
1168
- const l = o.getAnnotation(f.id);
1169
- return o.updateAnnotation(f), l;
1171
+ const d = o.getAnnotation(h.id);
1172
+ return o.updateAnnotation(h), d;
1170
1173
  }
1171
1174
  };
1172
1175
  return {
@@ -1176,15 +1179,15 @@ const je = 250, Ge = (t) => {
1176
1179
  canUndo: e.canUndo,
1177
1180
  clearAnnotations: s,
1178
1181
  getAnnotationById: u,
1179
- getAnnotations: h,
1182
+ getAnnotations: f,
1180
1183
  getSelected: m,
1181
1184
  loadAnnotations: c,
1182
1185
  redo: e.redo,
1183
- removeAnnotation: g,
1184
- setAnnotations: p,
1186
+ removeAnnotation: p,
1187
+ setAnnotations: g,
1185
1188
  setSelected: x,
1186
1189
  undo: e.undo,
1187
- updateAnnotation: b
1190
+ updateAnnotation: v
1188
1191
  };
1189
1192
  }, tn = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
1190
1193
  let en = (t) => crypto.getRandomValues(new Uint8Array(t)), nn = (t, e, n) => {
@@ -1213,14 +1216,14 @@ const sn = () => ({ isGuest: !0, id: on("1234567890abcdefghijklmnopqrstuvwxyzABC
1213
1216
  }
1214
1217
  return `${n}`;
1215
1218
  }, Ht = (t) => t ? typeof t == "object" ? { ...t } : t : void 0, cn = (t, e) => (Array.isArray(t) ? t : [t]).map((n) => {
1216
- const { id: o, type: i, purpose: r, value: a, created: s, modified: u, creator: h, ...m } = n;
1219
+ const { id: o, type: i, purpose: r, value: a, created: s, modified: u, creator: f, ...m } = n;
1217
1220
  return {
1218
1221
  id: o || `temp-${an(n)}`,
1219
1222
  annotation: e,
1220
1223
  type: i,
1221
1224
  purpose: r,
1222
1225
  value: a,
1223
- creator: Ht(h),
1226
+ creator: Ht(f),
1224
1227
  created: s ? new Date(s) : void 0,
1225
1228
  updated: u ? new Date(u) : void 0,
1226
1229
  ...m
@@ -1253,13 +1256,13 @@ const In = (t, e) => ({
1253
1256
  selector: []
1254
1257
  };
1255
1258
  for (const u of a) {
1256
- const m = (Array.isArray(u.selector) ? u.selector : [u.selector]).reduce((c, g) => {
1257
- switch (g.type) {
1259
+ const m = (Array.isArray(u.selector) ? u.selector : [u.selector]).reduce((c, p) => {
1260
+ switch (p.type) {
1258
1261
  case "TextQuoteSelector":
1259
- c.quote = g.exact;
1262
+ c.quote = p.exact;
1260
1263
  break;
1261
1264
  case "TextPositionSelector":
1262
- c.start = g.start, c.end = g.end;
1265
+ c.start = p.start, c.end = p.end;
1263
1266
  break;
1264
1267
  }
1265
1268
  return c;
@@ -1296,22 +1299,22 @@ const In = (t, e) => ({
1296
1299
  selector: a,
1297
1300
  creator: s,
1298
1301
  created: u,
1299
- updated: h,
1302
+ updated: f,
1300
1303
  ...m
1301
- } = i, c = a.map((g) => {
1302
- const { quote: p, start: x, end: b, range: f } = g, { prefix: l, suffix: d } = te(f, n), y = [{
1304
+ } = i, c = a.map((p) => {
1305
+ const { quote: g, start: x, end: v, range: h } = p, { prefix: d, suffix: l } = te(h, n), y = [{
1303
1306
  type: "TextQuoteSelector",
1304
- exact: p,
1305
- prefix: l,
1306
- suffix: d
1307
+ exact: g,
1308
+ prefix: d,
1309
+ suffix: l
1307
1310
  }, {
1308
1311
  type: "TextPositionSelector",
1309
1312
  start: x,
1310
- end: b
1313
+ end: v
1311
1314
  }];
1312
1315
  return {
1313
1316
  ...m,
1314
- id: g.id,
1317
+ id: p.id,
1315
1318
  source: e,
1316
1319
  selector: y
1317
1320
  };
@@ -1324,34 +1327,34 @@ const In = (t, e) => ({
1324
1327
  body: ln(t.bodies),
1325
1328
  creator: s,
1326
1329
  created: u == null ? void 0 : u.toISOString(),
1327
- modified: h == null ? void 0 : h.toISOString(),
1330
+ modified: f == null ? void 0 : f.toISOString(),
1328
1331
  target: c
1329
1332
  };
1330
1333
  };
1331
- function pn(t, e, n, o, i) {
1332
- $t(t, e, n || 0, o || t.length - 1, i || gn);
1334
+ function gn(t, e, n, o, i) {
1335
+ $t(t, e, n || 0, o || t.length - 1, i || pn);
1333
1336
  }
1334
1337
  function $t(t, e, n, o, i) {
1335
1338
  for (; o > n; ) {
1336
1339
  if (o - n > 600) {
1337
- var r = o - n + 1, a = e - n + 1, s = Math.log(r), u = 0.5 * Math.exp(2 * s / 3), h = 0.5 * Math.sqrt(s * u * (r - u) / r) * (a - r / 2 < 0 ? -1 : 1), m = Math.max(n, Math.floor(e - a * u / r + h)), c = Math.min(o, Math.floor(e + (r - a) * u / r + h));
1340
+ var r = o - n + 1, a = e - n + 1, s = Math.log(r), u = 0.5 * Math.exp(2 * s / 3), f = 0.5 * Math.sqrt(s * u * (r - u) / r) * (a - r / 2 < 0 ? -1 : 1), m = Math.max(n, Math.floor(e - a * u / r + f)), c = Math.min(o, Math.floor(e + (r - a) * u / r + f));
1338
1341
  $t(t, e, m, c, i);
1339
1342
  }
1340
- var g = t[e], p = n, x = o;
1341
- for (j(t, n, e), i(t[o], g) > 0 && j(t, n, o); p < x; ) {
1342
- for (j(t, p, x), p++, x--; i(t[p], g) < 0; )
1343
- p++;
1344
- for (; i(t[x], g) > 0; )
1343
+ var p = t[e], g = n, x = o;
1344
+ for (j(t, n, e), i(t[o], p) > 0 && j(t, n, o); g < x; ) {
1345
+ for (j(t, g, x), g++, x--; i(t[g], p) < 0; )
1346
+ g++;
1347
+ for (; i(t[x], p) > 0; )
1345
1348
  x--;
1346
1349
  }
1347
- i(t[n], g) === 0 ? j(t, n, x) : (x++, j(t, x, o)), x <= e && (n = x + 1), e <= x && (o = x - 1);
1350
+ i(t[n], p) === 0 ? j(t, n, x) : (x++, j(t, x, o)), x <= e && (n = x + 1), e <= x && (o = x - 1);
1348
1351
  }
1349
1352
  }
1350
1353
  function j(t, e, n) {
1351
1354
  var o = t[e];
1352
1355
  t[e] = t[n], t[n] = o;
1353
1356
  }
1354
- function gn(t, e) {
1357
+ function pn(t, e) {
1355
1358
  return t < e ? -1 : t > e ? 1 : 0;
1356
1359
  }
1357
1360
  class mn {
@@ -1427,14 +1430,14 @@ class mn {
1427
1430
  return this;
1428
1431
  let o = this.data;
1429
1432
  const i = this.toBBox(e), r = [], a = [];
1430
- let s, u, h;
1433
+ let s, u, f;
1431
1434
  for (; o || r.length; ) {
1432
- if (o || (o = r.pop(), u = r[r.length - 1], s = a.pop(), h = !0), o.leaf) {
1435
+ if (o || (o = r.pop(), u = r[r.length - 1], s = a.pop(), f = !0), o.leaf) {
1433
1436
  const m = bn(e, o.children, n);
1434
1437
  if (m !== -1)
1435
1438
  return o.children.splice(m, 1), r.push(o), this._condense(r), this;
1436
1439
  }
1437
- !h && !o.leaf && ht(o, i) ? (r.push(o), a.push(s), s = 0, u = o, o = o.children[0]) : u ? (s++, o = u.children[s], h = !1) : o = null;
1440
+ !f && !o.leaf && ht(o, i) ? (r.push(o), a.push(s), s = 0, u = o, o = o.children[0]) : u ? (s++, o = u.children[s], f = !1) : o = null;
1438
1441
  }
1439
1442
  return this;
1440
1443
  }
@@ -1465,14 +1468,14 @@ class mn {
1465
1468
  if (r <= a)
1466
1469
  return s = W(e.slice(n, o + 1)), F(s, this.toBBox), s;
1467
1470
  i || (i = Math.ceil(Math.log(r) / Math.log(a)), a = Math.ceil(r / Math.pow(a, i - 1))), s = W([]), s.leaf = !1, s.height = i;
1468
- const u = Math.ceil(r / a), h = u * Math.ceil(Math.sqrt(a));
1469
- It(e, n, o, h, this.compareMinX);
1470
- for (let m = n; m <= o; m += h) {
1471
- const c = Math.min(m + h - 1, o);
1471
+ const u = Math.ceil(r / a), f = u * Math.ceil(Math.sqrt(a));
1472
+ It(e, n, o, f, this.compareMinX);
1473
+ for (let m = n; m <= o; m += f) {
1474
+ const c = Math.min(m + f - 1, o);
1472
1475
  It(e, m, c, u, this.compareMinY);
1473
- for (let g = m; g <= c; g += u) {
1474
- const p = Math.min(g + u - 1, c);
1475
- s.children.push(this._build(e, g, p, i - 1));
1476
+ for (let p = m; p <= c; p += u) {
1477
+ const g = Math.min(p + u - 1, c);
1478
+ s.children.push(this._build(e, p, g, i - 1));
1476
1479
  }
1477
1480
  }
1478
1481
  return F(s, this.toBBox), s;
@@ -1481,8 +1484,8 @@ class mn {
1481
1484
  for (; i.push(n), !(n.leaf || i.length - 1 === o); ) {
1482
1485
  let r = 1 / 0, a = 1 / 0, s;
1483
1486
  for (let u = 0; u < n.children.length; u++) {
1484
- const h = n.children[u], m = ut(h), c = wn(e, h) - m;
1485
- c < a ? (a = c, r = m < r ? m : r, s = h) : c === a && m < r && (r = m, s = h);
1487
+ const f = n.children[u], m = ut(f), c = wn(e, f) - m;
1488
+ c < a ? (a = c, r = m < r ? m : r, s = f) : c === a && m < r && (r = m, s = f);
1486
1489
  }
1487
1490
  n = s || n.children[0];
1488
1491
  }
@@ -1507,7 +1510,7 @@ class mn {
1507
1510
  _chooseSplitIndex(e, n, o) {
1508
1511
  let i, r = 1 / 0, a = 1 / 0;
1509
1512
  for (let s = n; s <= o - n; s++) {
1510
- const u = G(e, 0, s, this.toBBox), h = G(e, s, o, this.toBBox), m = xn(u, h), c = ut(u) + ut(h);
1513
+ const u = G(e, 0, s, this.toBBox), f = G(e, s, o, this.toBBox), m = xn(u, f), c = ut(u) + ut(f);
1511
1514
  m < r ? (r = m, i = s, a = c < a ? c : a) : m === r && c < a && (a = c, i = s);
1512
1515
  }
1513
1516
  return i || o - n;
@@ -1522,12 +1525,12 @@ class mn {
1522
1525
  e.children.sort(i);
1523
1526
  const r = this.toBBox, a = G(e, 0, n, r), s = G(e, o - n, o, r);
1524
1527
  let u = et(a) + et(s);
1525
- for (let h = n; h < o - n; h++) {
1526
- const m = e.children[h];
1528
+ for (let f = n; f < o - n; f++) {
1529
+ const m = e.children[f];
1527
1530
  K(a, e.leaf ? r(m) : m), u += et(a);
1528
1531
  }
1529
- for (let h = o - n - 1; h >= n; h--) {
1530
- const m = e.children[h];
1532
+ for (let f = o - n - 1; f >= n; f--) {
1533
+ const m = e.children[f];
1531
1534
  K(s, e.leaf ? r(m) : m), u += et(s);
1532
1535
  }
1533
1536
  return u;
@@ -1605,131 +1608,131 @@ function It(t, e, n, o, i) {
1605
1608
  if (n = r.pop(), e = r.pop(), n - e <= o)
1606
1609
  continue;
1607
1610
  const a = e + Math.ceil((n - e) / o / 2) * o;
1608
- pn(t, a, e, n, i), r.push(e, a, a, n);
1611
+ gn(t, a, e, n, i), r.push(e, a, a, n);
1609
1612
  }
1610
1613
  }
1611
1614
  const An = (t, e) => {
1612
- const n = new mn(), o = /* @__PURE__ */ new Map(), i = (l, d) => {
1613
- const y = l.selector.flatMap((S) => {
1614
- const N = S.range instanceof Range && !S.range.collapsed && S.range.startContainer.nodeType === Node.TEXT_NODE && S.range.endContainer.nodeType === Node.TEXT_NODE ? S.range : _t(S, e).range;
1615
+ const n = new mn(), o = /* @__PURE__ */ new Map(), i = (d, l) => {
1616
+ const y = d.selector.flatMap((C) => {
1617
+ const N = C.range instanceof Range && !C.range.collapsed && C.range.startContainer.nodeType === Node.TEXT_NODE && C.range.endContainer.nodeType === Node.TEXT_NODE ? C.range : _t(C, e).range;
1615
1618
  return Array.from(N.getClientRects());
1616
- }), T = oe(y).map(({ left: S, top: E, right: N, bottom: R }) => new DOMRect(S - d.left, E - d.top, N - S, R - E));
1617
- return T.map((S) => {
1618
- const { x: E, y: N, width: R, height: M } = S;
1619
+ }), T = oe(y).map(({ left: C, top: E, right: N, bottom: R }) => new DOMRect(C - l.left, E - l.top, N - C, R - E));
1620
+ return T.map((C) => {
1621
+ const { x: E, y: N, width: R, height: O } = C;
1619
1622
  return {
1620
1623
  minX: E,
1621
1624
  minY: N,
1622
1625
  maxX: E + R,
1623
- maxY: N + M,
1626
+ maxY: N + O,
1624
1627
  annotation: {
1625
- id: l.annotation,
1628
+ id: d.annotation,
1626
1629
  rects: T
1627
1630
  }
1628
1631
  };
1629
1632
  });
1630
1633
  }, r = () => [...o.values()], a = () => {
1631
1634
  n.clear(), o.clear();
1632
- }, s = (l) => {
1633
- const d = i(l, e.getBoundingClientRect());
1634
- d.forEach((y) => n.insert(y)), o.set(l.annotation, d);
1635
- }, u = (l) => {
1636
- const d = o.get(l.annotation);
1637
- d && (d.forEach((y) => n.remove(y)), o.delete(l.annotation));
1638
- }, h = (l) => {
1639
- u(l), s(l);
1640
- }, m = (l, d = !0) => {
1641
- d && a();
1642
- const y = e.getBoundingClientRect(), T = l.map((E) => ({ target: E, rects: i(E, y) }));
1635
+ }, s = (d) => {
1636
+ const l = i(d, e.getBoundingClientRect());
1637
+ l.forEach((y) => n.insert(y)), o.set(d.annotation, l);
1638
+ }, u = (d) => {
1639
+ const l = o.get(d.annotation);
1640
+ l && (l.forEach((y) => n.remove(y)), o.delete(d.annotation));
1641
+ }, f = (d) => {
1642
+ u(d), s(d);
1643
+ }, m = (d, l = !0) => {
1644
+ l && a();
1645
+ const y = e.getBoundingClientRect(), T = d.map((E) => ({ target: E, rects: i(E, y) }));
1643
1646
  T.forEach(({ target: E, rects: N }) => o.set(E.annotation, N));
1644
- const S = T.reduce((E, { rects: N }) => [...E, ...N], []);
1645
- n.load(S);
1646
- }, c = (l, d) => {
1647
+ const C = T.reduce((E, { rects: N }) => [...E, ...N], []);
1648
+ n.load(C);
1649
+ }, c = (d, l) => {
1647
1650
  const y = n.search({
1648
- minX: l,
1649
- minY: d,
1650
- maxX: l,
1651
- maxY: d
1652
- }), T = (S) => S.annotation.rects.reduce((E, N) => E + N.width * N.height, 0);
1651
+ minX: d,
1652
+ minY: l,
1653
+ maxX: d,
1654
+ maxY: l
1655
+ }), T = (C) => C.annotation.rects.reduce((E, N) => E + N.width * N.height, 0);
1653
1656
  if (y.length > 0)
1654
- return y.sort((S, E) => T(S) - T(E)), y[0].annotation.id;
1655
- }, g = (l) => {
1656
- const d = p(l);
1657
- if (d.length === 0)
1657
+ return y.sort((C, E) => T(C) - T(E)), y[0].annotation.id;
1658
+ }, p = (d) => {
1659
+ const l = g(d);
1660
+ if (l.length === 0)
1658
1661
  return;
1659
- let y = d[0].left, T = d[0].top, S = d[0].right, E = d[0].bottom;
1660
- for (let N = 1; N < d.length; N++) {
1661
- const R = d[N];
1662
- y = Math.min(y, R.left), T = Math.min(T, R.top), S = Math.max(S, R.right), E = Math.max(E, R.bottom);
1662
+ let y = l[0].left, T = l[0].top, C = l[0].right, E = l[0].bottom;
1663
+ for (let N = 1; N < l.length; N++) {
1664
+ const R = l[N];
1665
+ y = Math.min(y, R.left), T = Math.min(T, R.top), C = Math.max(C, R.right), E = Math.max(E, R.bottom);
1663
1666
  }
1664
- return new DOMRect(y, T, S - y, E - T);
1665
- }, p = (l) => {
1666
- const d = o.get(l);
1667
- return d ? d[0].annotation.rects : [];
1667
+ return new DOMRect(y, T, C - y, E - T);
1668
+ }, g = (d) => {
1669
+ const l = o.get(d);
1670
+ return l ? l[0].annotation.rects : [];
1668
1671
  };
1669
1672
  return {
1670
1673
  all: r,
1671
1674
  clear: a,
1672
1675
  getAt: c,
1673
- getAnnotationBounds: g,
1674
- getAnnotationRects: p,
1675
- getIntersecting: (l, d, y, T) => {
1676
- const S = n.search({ minX: l, minY: d, maxX: y, maxY: T }), E = new Set(S.reduce((N, R) => [...N, R.annotation.id], []));
1676
+ getAnnotationBounds: p,
1677
+ getAnnotationRects: g,
1678
+ getIntersecting: (d, l, y, T) => {
1679
+ const C = n.search({ minX: d, minY: l, maxX: y, maxY: T }), E = new Set(C.reduce((N, R) => [...N, R.annotation.id], []));
1677
1680
  return Array.from(E).map((N) => ({
1678
1681
  annotation: t.getAnnotation(N),
1679
- rects: p(N)
1682
+ rects: g(N)
1680
1683
  })).filter((N) => !!N.annotation);
1681
1684
  },
1682
1685
  insert: s,
1683
- recalculate: () => m(t.all().map((l) => l.target), !0),
1686
+ recalculate: () => m(t.all().map((d) => d.target), !0),
1684
1687
  remove: u,
1685
1688
  set: m,
1686
1689
  size: () => n.all().length,
1687
- update: h
1690
+ update: f
1688
1691
  };
1689
1692
  }, En = (t, e) => {
1690
- const n = We(), o = An(n, t), i = Ie(n, e), r = Be(n), a = Ke(), s = (b, f = B.LOCAL) => {
1691
- const l = rt(b, t), d = $(l.target.selector);
1692
- return d && n.addAnnotation(l, f), d;
1693
- }, u = (b, f = !0, l = B.LOCAL) => {
1694
- const d = b.map((T) => rt(T, t)), y = d.filter((T) => !$(T.target.selector));
1695
- return y.length > 0 ? (console.warn("Could not revive all targets for these annotations:", y), n.bulkAddAnnotation(d, f, l), y) : (n.bulkAddAnnotation(d, f, l), []);
1696
- }, h = (b, f = B.LOCAL) => {
1697
- const l = b.map((y) => rt(y, t)), d = l.filter((y) => !$(y.target.selector));
1698
- return d.length > 0 && console.warn("Could not revive all targets for these annotations:", d), l.forEach((y) => {
1699
- n.getAnnotation(y.id) ? n.updateAnnotation(y, f) : n.addAnnotation(y, f);
1700
- }), d;
1701
- }, m = (b, f = B.LOCAL) => {
1702
- const l = it(b, t);
1703
- n.updateTarget(l, f);
1704
- }, c = (b, f = B.LOCAL) => {
1705
- const l = b.map((d) => it(d, t));
1706
- n.bulkUpdateTargets(l, f);
1707
- }, g = (b, f) => {
1708
- const l = o.getAt(b, f);
1709
- return l ? n.getAnnotation(l) : void 0;
1710
- }, p = (b, f, l, d = 5) => {
1711
- const y = o.getAnnotationRects(b);
1693
+ const n = We(), o = An(n, t), i = Ie(n, e), r = Be(n), a = Ke(), s = (v, h = B.LOCAL) => {
1694
+ const d = rt(v, t), l = $(d.target.selector);
1695
+ return l && n.addAnnotation(d, h), l;
1696
+ }, u = (v, h = !0, d = B.LOCAL) => {
1697
+ const l = v.map((T) => rt(T, t)), y = l.filter((T) => !$(T.target.selector));
1698
+ return y.length > 0 ? (console.warn("Could not revive all targets for these annotations:", y), n.bulkAddAnnotation(l, h, d), y) : (n.bulkAddAnnotation(l, h, d), []);
1699
+ }, f = (v, h = B.LOCAL) => {
1700
+ const d = v.map((y) => rt(y, t)), l = d.filter((y) => !$(y.target.selector));
1701
+ return l.length > 0 && console.warn("Could not revive all targets for these annotations:", l), d.forEach((y) => {
1702
+ n.getAnnotation(y.id) ? n.updateAnnotation(y, h) : n.addAnnotation(y, h);
1703
+ }), l;
1704
+ }, m = (v, h = B.LOCAL) => {
1705
+ const d = it(v, t);
1706
+ n.updateTarget(d, h);
1707
+ }, c = (v, h = B.LOCAL) => {
1708
+ const d = v.map((l) => it(l, t));
1709
+ n.bulkUpdateTargets(d, h);
1710
+ }, p = (v, h) => {
1711
+ const d = o.getAt(v, h);
1712
+ return d ? n.getAnnotation(d) : void 0;
1713
+ }, g = (v, h, d, l = 5) => {
1714
+ const y = o.getAnnotationRects(v);
1712
1715
  if (y.length !== 0) {
1713
- if (f && l) {
1714
- const T = y.find(({ top: S, right: E, bottom: N, left: R }) => f >= R - d && f <= E + d && l >= S - d && l <= N + d);
1716
+ if (h && d) {
1717
+ const T = y.find(({ top: C, right: E, bottom: N, left: R }) => h >= R - l && h <= E + l && d >= C - l && d <= N + l);
1715
1718
  if (T)
1716
1719
  return T;
1717
1720
  }
1718
- return o.getAnnotationBounds(b);
1721
+ return o.getAnnotationBounds(v);
1719
1722
  }
1720
1723
  }, x = () => o.recalculate();
1721
- return n.observe(({ changes: b }) => {
1722
- const f = (b.created || []).filter((y) => $(y.target.selector)), l = (b.deleted || []).filter((y) => $(y.target.selector)), d = (b.updated || []).filter((y) => $(y.newValue.target.selector));
1723
- f.length > 0 && o.set(f.map((y) => y.target), !1), (l == null ? void 0 : l.length) > 0 && l.forEach((y) => o.remove(y.target)), (d == null ? void 0 : d.length) > 0 && d.forEach(({ newValue: y }) => o.update(y.target));
1724
+ return n.observe(({ changes: v }) => {
1725
+ const h = (v.created || []).filter((y) => $(y.target.selector)), d = (v.deleted || []).filter((y) => $(y.target.selector)), l = (v.updated || []).filter((y) => $(y.newValue.target.selector));
1726
+ h.length > 0 && o.set(h.map((y) => y.target), !1), (d == null ? void 0 : d.length) > 0 && d.forEach((y) => o.remove(y.target)), (l == null ? void 0 : l.length) > 0 && l.forEach(({ newValue: y }) => o.update(y.target));
1724
1727
  }), {
1725
1728
  store: {
1726
1729
  ...n,
1727
1730
  addAnnotation: s,
1728
1731
  bulkAddAnnotation: u,
1729
1732
  bulkUpdateTargets: c,
1730
- bulkUpsertAnnotations: h,
1731
- getAnnotationBounds: p,
1732
- getAt: g,
1733
+ bulkUpsertAnnotations: f,
1734
+ getAnnotationBounds: g,
1735
+ getAt: p,
1733
1736
  getIntersecting: o.getIntersecting,
1734
1737
  recalculatePositions: x,
1735
1738
  updateTarget: m
@@ -1746,27 +1749,27 @@ const An = (t, e) => {
1746
1749
  }, Cn = (t, e, n = {}) => {
1747
1750
  const o = Sn(), i = o.getContext("2d");
1748
1751
  t.appendChild(o);
1749
- const r = /* @__PURE__ */ new Map(), a = (c) => Array.from(r.entries()).filter(([g, p]) => p.presenceKey === c.presenceKey).map(([g, p]) => g);
1750
- return e.on("selectionChange", (c, g) => {
1751
- a(c).forEach((x) => r.delete(x)), g && g.forEach((x) => r.set(x, c));
1752
+ const r = /* @__PURE__ */ new Map(), a = (c) => Array.from(r.entries()).filter(([p, g]) => g.presenceKey === c.presenceKey).map(([p, g]) => p);
1753
+ return e.on("selectionChange", (c, p) => {
1754
+ a(c).forEach((x) => r.delete(x)), p && p.forEach((x) => r.set(x, c));
1752
1755
  }), {
1753
1756
  clear: () => {
1754
- const { width: c, height: g } = o;
1755
- i.clearRect(-0.5, -0.5, c + 1, g + 1);
1757
+ const { width: c, height: p } = o;
1758
+ i.clearRect(-0.5, -0.5, c + 1, p + 1);
1756
1759
  },
1757
1760
  destroy: () => {
1758
1761
  o.remove();
1759
1762
  },
1760
- paint: (c, g, p) => {
1763
+ paint: (c, p, g) => {
1761
1764
  n.font && (i.font = n.font);
1762
1765
  const x = r.get(c.annotation.id);
1763
1766
  if (x) {
1764
- const { height: b } = c.rects[0], f = c.rects[0].x + g.left, l = c.rects[0].y + g.top;
1765
- i.fillStyle = x.appearance.color, i.fillRect(f - 2, l - 2.5, 2, b + 5);
1766
- const d = i.measureText(x.appearance.label), y = d.width + 6, T = d.actualBoundingBoxAscent + d.actualBoundingBoxDescent + 8, S = d.fontBoundingBoxAscent ? 8 : 6.5;
1767
- return i.fillRect(f - 2, l - 2.5 - T, y, T), i.fillStyle = "#fff", i.fillText(x.appearance.label, f + 1, l - S), {
1767
+ const { height: v } = c.rects[0], h = c.rects[0].x + p.left, d = c.rects[0].y + p.top;
1768
+ i.fillStyle = x.appearance.color, i.fillRect(h - 2, d - 2.5, 2, v + 5);
1769
+ const l = i.measureText(x.appearance.label), y = l.width + 6, T = l.actualBoundingBoxAscent + l.actualBoundingBoxDescent + 8, C = l.fontBoundingBoxAscent ? 8 : 6.5;
1770
+ return i.fillRect(h - 2, d - 2.5 - T, y, T), i.fillStyle = "#fff", i.fillText(x.appearance.label, h + 1, d - C), {
1768
1771
  fill: x.appearance.color,
1769
- fillOpacity: p ? 0.45 : 0.18
1772
+ fillOpacity: g ? 0.45 : 0.18
1770
1773
  };
1771
1774
  }
1772
1775
  },
@@ -1783,8 +1786,8 @@ const An = (t, e) => {
1783
1786
  return e !== "visible" && e !== "hidden" && t.scrollHeight > t.clientHeight ? t : Pt(t.parentElement);
1784
1787
  }, Tn = (t, e) => (n) => {
1785
1788
  const o = (r) => {
1786
- const a = i.getBoundingClientRect(), s = i.clientHeight, u = i.clientWidth, h = r.selector[0].range.getBoundingClientRect(), { width: m, height: c } = e.getAnnotationBounds(n.id), g = h.top - a.top, p = h.left - a.left, x = i.parentElement ? i.scrollTop : 0, b = i.parentElement ? i.scrollLeft : 0, f = g + x - (s - c) / 2, l = p + b - (u - m) / 2;
1787
- i.scroll({ top: f, left: l, behavior: "smooth" });
1789
+ const a = i.getBoundingClientRect(), s = i.clientHeight, u = i.clientWidth, f = r.selector[0].range.getBoundingClientRect(), { width: m, height: c } = e.getAnnotationBounds(n.id), p = f.top - a.top, g = f.left - a.left, x = i.parentElement ? i.scrollTop : 0, v = i.parentElement ? i.scrollLeft : 0, h = p + x - (s - c) / 2, d = g + v - (u - m) / 2;
1790
+ i.scroll({ top: h, left: d, behavior: "smooth" });
1788
1791
  }, i = Pt(t);
1789
1792
  if (i) {
1790
1793
  const r = e.getAnnotation(n.id), { range: a } = r.target.selector[0];
@@ -1803,13 +1806,13 @@ const An = (t, e) => {
1803
1806
  }), Rn = (t, e, n, o) => {
1804
1807
  const { store: i, selection: r } = e;
1805
1808
  let a, s;
1806
- const u = (f) => a = f;
1807
- let h = !1, m;
1808
- const c = (f) => {
1809
- var d;
1810
- if (!h)
1809
+ const u = (h) => a = h;
1810
+ let f = !1, m;
1811
+ const c = (h) => {
1812
+ var l;
1813
+ if (!f)
1811
1814
  return;
1812
- !((d = f.target.parentElement) != null && d.closest(X)) ? s = {
1815
+ !((l = h.target.parentElement) != null && l.closest(X)) ? s = {
1813
1816
  annotation: kt(),
1814
1817
  selector: [],
1815
1818
  creator: a,
@@ -1817,51 +1820,51 @@ const An = (t, e) => {
1817
1820
  } : s = void 0;
1818
1821
  };
1819
1822
  n && t.addEventListener("selectstart", c);
1820
- const g = gt((f) => {
1823
+ const p = pt((h) => {
1821
1824
  var N, R;
1822
- const l = document.getSelection();
1823
- if (!!((R = (N = l.anchorNode) == null ? void 0 : N.parentElement) != null && R.closest(X))) {
1825
+ const d = document.getSelection();
1826
+ if (!!((R = (N = d.anchorNode) == null ? void 0 : N.parentElement) != null && R.closest(X))) {
1824
1827
  s = void 0;
1825
1828
  return;
1826
1829
  }
1827
- if (f.timeStamp - ((m == null ? void 0 : m.timeStamp) || f.timeStamp) < 1e3 && !s && c(m), l.isCollapsed || !h || !s)
1830
+ if (h.timeStamp - ((m == null ? void 0 : m.timeStamp) || h.timeStamp) < 1e3 && !s && c(m), d.isCollapsed || !f || !s)
1828
1831
  return;
1829
- const y = l.getRangeAt(0), T = re(y.cloneRange()), S = Kt(T);
1830
- (S.length !== s.selector.length || S.some((M, v) => {
1832
+ const y = d.getRangeAt(0), T = re(y.cloneRange()), C = Kt(T);
1833
+ (C.length !== s.selector.length || C.some((O, b) => {
1831
1834
  var w;
1832
- return M.toString() !== ((w = s.selector[v]) == null ? void 0 : w.quote);
1835
+ return O.toString() !== ((w = s.selector[b]) == null ? void 0 : w.quote);
1833
1836
  })) && (s = {
1834
1837
  ...s,
1835
- selector: S.map((M) => ie(M, t, o))
1838
+ selector: C.map((O) => ie(O, t, o))
1836
1839
  }, i.getAnnotation(s.annotation) ? i.updateTarget(s, B.LOCAL) : (i.addAnnotation({
1837
1840
  id: s.annotation,
1838
1841
  bodies: [],
1839
1842
  target: s
1840
1843
  }), r.clickSelect(s.annotation, m)));
1841
1844
  });
1842
- n && document.addEventListener("selectionchange", g);
1843
- const p = (f) => {
1844
- const { target: l, timeStamp: d, offsetX: y, offsetY: T, type: S } = f;
1845
- m = { ...f, target: l, timeStamp: d, offsetX: y, offsetY: T, type: S }, h = f.button === 0;
1845
+ n && document.addEventListener("selectionchange", p);
1846
+ const g = (h) => {
1847
+ const { target: d, timeStamp: l, offsetX: y, offsetY: T, type: C } = h;
1848
+ m = { ...h, target: d, timeStamp: l, offsetX: y, offsetY: T, type: C }, f = h.button === 0;
1846
1849
  };
1847
- t.addEventListener("pointerdown", p);
1848
- const x = (f) => {
1850
+ t.addEventListener("pointerdown", g);
1851
+ const x = (h) => {
1849
1852
  var T;
1850
- if (!!((T = f.target.parentElement) != null && T.closest(X)) || !h)
1853
+ if (!!((T = h.target.parentElement) != null && T.closest(X)) || !f)
1851
1854
  return;
1852
- const d = () => {
1853
- const { x: S, y: E } = t.getBoundingClientRect(), N = i.getAt(f.clientX - S, f.clientY - E);
1855
+ const l = () => {
1856
+ const { x: C, y: E } = t.getBoundingClientRect(), N = i.getAt(h.clientX - C, h.clientY - E);
1854
1857
  if (N) {
1855
1858
  const { selected: R } = r;
1856
- (R.length !== 1 || R[0].id !== N.id) && r.clickSelect(N.id, f);
1859
+ (R.length !== 1 || R[0].id !== N.id) && r.clickSelect(N.id, h);
1857
1860
  } else
1858
1861
  r.isEmpty() || r.clear();
1859
- }, y = f.timeStamp - m.timeStamp;
1860
- document.getSelection().isCollapsed && y < 300 ? (s = void 0, d()) : s && r.clickSelect(s.annotation, f);
1862
+ }, y = h.timeStamp - m.timeStamp;
1863
+ document.getSelection().isCollapsed && y < 300 ? (s = void 0, l()) : s && r.clickSelect(s.annotation, h);
1861
1864
  };
1862
1865
  return document.addEventListener("pointerup", x), {
1863
1866
  destroy: () => {
1864
- t.removeEventListener("selectstart", c), document.removeEventListener("selectionchange", g), t.removeEventListener("pointerdown", p), document.removeEventListener("pointerup", x);
1867
+ t.removeEventListener("selectstart", c), document.removeEventListener("selectionchange", p), t.removeEventListener("pointerdown", g), document.removeEventListener("pointerup", x);
1865
1868
  },
1866
1869
  setUser: u
1867
1870
  };
@@ -1870,23 +1873,23 @@ const An = (t, e) => {
1870
1873
  const n = Nn(e, {
1871
1874
  annotationEnabled: !0
1872
1875
  }), o = En(t, n.pointerAction), { selection: i, viewport: r } = o, a = o.store, s = Ge(a), u = Qe(o, s, n.adapter);
1873
- let h = sn();
1876
+ let f = sn();
1874
1877
  const m = n.renderer === "CSS_HIGHLIGHTS" ? CSS.highlights ? "CSS_HIGHLIGHTS" : Mt : n.renderer || Mt, c = m === "SPANS" ? Se(t, o, r) : m === "CSS_HIGHLIGHTS" ? xe(t, o, r) : m === "CANVAS" ? ue(t, o, r) : void 0;
1875
1878
  if (!c)
1876
1879
  throw `Unknown renderer implementation: ${m}`;
1877
1880
  console.debug(`Using ${m} renderer`), n.style && c.setStyle(n.style);
1878
- const g = Rn(t, o, n.annotationEnabled, n.offsetReferenceSelector);
1879
- return g.setUser(h), {
1881
+ const p = Rn(t, o, n.annotationEnabled, n.offsetReferenceSelector);
1882
+ return p.setUser(f), {
1880
1883
  ...Ze(o, s, n.adapter),
1881
1884
  destroy: () => {
1882
- c.destroy(), g.destroy(), s.destroy();
1885
+ c.destroy(), p.destroy(), s.destroy();
1883
1886
  },
1884
1887
  element: t,
1885
- getUser: () => h,
1888
+ getUser: () => f,
1886
1889
  setFilter: (E) => c.setFilter(E),
1887
1890
  setStyle: (E) => c.setStyle(E),
1888
1891
  setUser: (E) => {
1889
- h = E, g.setUser(E);
1892
+ f = E, p.setUser(E);
1890
1893
  },
1891
1894
  setSelected: (E) => {
1892
1895
  E ? i.setSelected(E) : i.clear();
@@ -1917,7 +1920,7 @@ export {
1917
1920
  Se as createSpansRenderer,
1918
1921
  Mn as createTextAnnotator,
1919
1922
  En as createTextAnnotatorState,
1920
- gt as debounce,
1923
+ pt as debounce,
1921
1924
  Nn as fillDefaults,
1922
1925
  Ln as getAnnotatableFragment,
1923
1926
  Bn as getClientRectsPonyfill,