@annotorious/react 3.7.0 → 3.7.2

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.
@@ -1 +1 @@
1
- canvas.a9s-gl-canvas{height:100%;left:0;position:absolute;top:0;width:100%}canvas.a9s-gl-canvas.hidden{display:none}canvas.a9s-gl-canvas.hover{cursor:pointer!important}svg.svelte-g4ws1v.svelte-g4ws1v{pointer-events:none}svg.drawing.svelte-g4ws1v.svelte-g4ws1v,svg.editing.svelte-g4ws1v .svelte-g4ws1v{pointer-events:all}svg.hover.svelte-g4ws1v.svelte-g4ws1v{cursor:pointer}svg.svelte-g4ws1v .svelte-g4ws1v{pointer-events:all}text.svelte-1rehw2p{fill:#fff;font-family:Arial,Helvetica,sans-serif;font-weight:600}rect.svelte-1rehw2p{stroke-width:1.2;vector-effect:non-scaling-stroke}polygon.svelte-fgq4n0{stroke-width:1.2;vector-effect:non-scaling-stroke}rect.svelte-gze948{stroke-width:1.2;vector-effect:non-scaling-stroke}svg.svelte-1krwc4m{position:absolute;top:0;left:0;width:100%;height:100%;outline:none;pointer-events:none}svg.svelte-jwrce3{overflow:visible;position:absolute;top:0;left:0;width:100%;height:100%;outline:none;pointer-events:none}.a9s-osd-selectionlayer :is(rect,path,polygon,ellipse,line){fill:#3182ed40;stroke:#3182ed;stroke-width:1.5px;vector-effect:non-scaling-stroke}rect.a9s-union-fg.svelte-jwrce3{fill:#3182ed1f;stroke-width:1px}rect.a9s-union-bg.svelte-jwrce3{fill:transparent;stroke:#fff;stroke-width:2px}.a9s-polygon-midpoint.svelte-12ykj76{cursor:crosshair}.a9s-polygon-midpoint-buffer.svelte-12ykj76{fill:transparent}.a9s-polygon-midpoint-outer.svelte-12ykj76{display:none;fill:transparent;pointer-events:none;stroke:#00000059;stroke-width:1.5px;vector-effect:non-scaling-stroke}.a9s-polygon-midpoint-inner.svelte-12ykj76{fill:#00000040;pointer-events:none;stroke:#fff;stroke-width:1px;vector-effect:non-scaling-stroke}mask.a9s-polygon-editor-mask.svelte-1h2slbm>rect.svelte-1h2slbm{fill:#fff}mask.a9s-polygon-editor-mask.svelte-1h2slbm>circle.svelte-1h2slbm,mask.a9s-polygon-editor-mask.svelte-1h2slbm>polygon.svelte-1h2slbm{fill:#000}mask.a9s-rectangle-editor-mask.svelte-1njczvj>rect.rect-mask-bg.svelte-1njczvj{fill:#fff}mask.a9s-rectangle-editor-mask.svelte-1njczvj>rect.rect-mask-fg.svelte-1njczvj{fill:#000}mask.a9s-multipolygon-editor-mask.svelte-1vxo6dc>rect.svelte-1vxo6dc{fill:#fff}mask.a9s-multipolygon-editor-mask.svelte-1vxo6dc>circle.svelte-1vxo6dc,mask.a9s-multipolygon-editor-mask.svelte-1vxo6dc>path.svelte-1vxo6dc{fill:#000}mask.a9s-rubberband-rectangle-mask.svelte-1a76qe7>rect.rect-mask-bg.svelte-1a76qe7{fill:#fff}mask.a9s-rubberband-rectangle-mask.svelte-1a76qe7>rect.rect-mask-fg.svelte-1a76qe7{fill:#000}mask.a9s-rubberband-polygon-mask.svelte-18wrg3t>rect.svelte-18wrg3t{fill:#fff}mask.a9s-rubberband-polygon-mask.svelte-18wrg3t>polygon.svelte-18wrg3t{fill:#000}circle.a9s-handle.svelte-18wrg3t.svelte-18wrg3t{fill:#fff;pointer-events:none;stroke:#00000059;stroke-width:1px;vector-effect:non-scaling-stroke}path.open.svelte-1w0132l{fill:transparent!important}.a9s-annotationlayer{box-sizing:border-box;height:100%;left:0;outline:none;position:absolute;top:0;touch-action:none;width:100%;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.a9s-annotationlayer.hover{cursor:pointer}.a9s-annotationlayer.hidden{display:none}.a9s-annotationlayer ellipse,.a9s-annotationlayer line,.a9s-annotationlayer path,.a9s-annotationlayer polygon,.a9s-annotationlayer rect{fill:transparent;shape-rendering:geometricPrecision;vector-effect:non-scaling-stroke;-webkit-tap-highlight-color:transparent}.a9s-touch-halo{fill:transparent;pointer-events:none;stroke-width:0;transition:fill .15s}.a9s-touch-halo.touched{fill:#fff6}.a9s-handle-buffer{fill:transparent}.a9s-handle-dot{fill:#fff;pointer-events:none;stroke:#00000059;stroke-width:1px;vector-effect:non-scaling-stroke}.a9s-handle-dot.selected{fill:#1a1a1a;stroke:none}.a9s-handle-selected{animation:dash-rotate .35s linear infinite reverse;fill:#ffffff40;stroke:#000000e6;stroke-dasharray:2 2;stroke-width:1px;pointer-events:none;vector-effect:non-scaling-stroke}@keyframes dash-rotate{0%{stroke-dashoffset:0}to{stroke-dashoffset:4}}.a9s-edge-handle{fill:transparent;stroke:transparent;stroke-width:6px}.a9s-shape-handle,.a9s-handle{cursor:move}.a9s-handle.a9s-corner-handle{cursor:crosshair}.a9s-edge-handle-top{cursor:n-resize}.a9s-edge-handle-right{cursor:e-resize}.a9s-edge-handle-bottom{cursor:s-resize}.a9s-edge-handle-left{cursor:w-resize}.a9s-handle.a9s-corner-handle-topleft{cursor:nw-resize}.a9s-handle.a9s-corner-handle-topright{cursor:ne-resize}.a9s-handle.a9s-corner-handle-bottomright{cursor:se-resize}.a9s-handle.a9s-corner-handle-bottomleft{cursor:sw-resize}.a9s-annotationlayer .a9s-outer,div[data-theme=dark] .a9s-annotationlayer .a9s-outer{display:none}.a9s-annotationlayer .a9s-inner,div[data-theme=dark] .a9s-annotationlayer .a9s-inner{fill:#0000001f;stroke:#000;stroke-width:1px}rect.a9s-handle,div[data-theme=dark] rect.a9s-handle{fill:#000;rx:2px}rect.a9s-close-polygon-handle,div[data-theme=dark] rect.a9s-close-polygon-handle{fill:#000;rx:1px}.a9s-annotationlayer .a9s-outer,div[data-theme=light] .a9s-annotationlayer .a9s-outer{display:block;stroke:#00000059;stroke-width:3px}.a9s-annotationlayer .a9s-inner,div[data-theme=light] .a9s-annotationlayer .a9s-inner{fill:#ffffff26;stroke:#fff;stroke-width:1.5px}rect.a9s-handle,div[data-theme=light] rect.a9s-handle{fill:#fff;rx:1px;stroke:#00000073;stroke-width:1px}rect.a9s-close-polygon-handle,div[data-theme=light] rect.a9s-close-polygon-handle{fill:#fff;rx:1px;stroke:#00000073;stroke-width:1px}
1
+ canvas.a9s-gl-canvas{height:100%;left:0;position:absolute;top:0;width:100%}canvas.a9s-gl-canvas.hidden{display:none}canvas.a9s-gl-canvas.hover{cursor:pointer!important}svg.svelte-g4ws1v.svelte-g4ws1v{pointer-events:none}svg.drawing.svelte-g4ws1v.svelte-g4ws1v,svg.editing.svelte-g4ws1v .svelte-g4ws1v{pointer-events:all}svg.hover.svelte-g4ws1v.svelte-g4ws1v{cursor:pointer}svg.svelte-g4ws1v .svelte-g4ws1v{pointer-events:all}text.svelte-1rehw2p{fill:#fff;font-family:Arial,Helvetica,sans-serif;font-weight:600}rect.svelte-1rehw2p{stroke-width:1.2;vector-effect:non-scaling-stroke}polygon.svelte-fgq4n0{stroke-width:1.2;vector-effect:non-scaling-stroke}rect.svelte-gze948{stroke-width:1.2;vector-effect:non-scaling-stroke}svg.svelte-1krwc4m{position:absolute;top:0;left:0;width:100%;height:100%;outline:none;pointer-events:none}svg.svelte-jwrce3{overflow:visible;position:absolute;top:0;left:0;width:100%;height:100%;outline:none;pointer-events:none}.a9s-osd-selectionlayer :is(rect,path,polygon,ellipse,line){fill:#3182ed40;stroke:#3182ed;stroke-width:1.5px;vector-effect:non-scaling-stroke}rect.a9s-union-fg.svelte-jwrce3{fill:#3182ed1f;stroke-width:1px}rect.a9s-union-bg.svelte-jwrce3{fill:transparent;stroke:#fff;stroke-width:2px}circle.a9s-handle-buffer.svelte-qtyc7s:focus{outline:none}circle.a9s-handle-buffer.svelte-qtyc7s:focus-visible{stroke:#fffc;stroke-width:3px}.a9s-polygon-midpoint.svelte-12ykj76{cursor:crosshair}.a9s-polygon-midpoint-buffer.svelte-12ykj76{fill:transparent}.a9s-polygon-midpoint-outer.svelte-12ykj76{display:none;fill:transparent;pointer-events:none;stroke:#00000059;stroke-width:1.5px;vector-effect:non-scaling-stroke}.a9s-polygon-midpoint-inner.svelte-12ykj76{fill:#00000040;pointer-events:none;stroke:#fff;stroke-width:1px;vector-effect:non-scaling-stroke}mask.a9s-polygon-editor-mask.svelte-1h2slbm>rect.svelte-1h2slbm{fill:#fff}mask.a9s-polygon-editor-mask.svelte-1h2slbm>circle.svelte-1h2slbm,mask.a9s-polygon-editor-mask.svelte-1h2slbm>polygon.svelte-1h2slbm{fill:#000}mask.a9s-rectangle-editor-mask.svelte-1njczvj>rect.rect-mask-bg.svelte-1njczvj{fill:#fff}mask.a9s-rectangle-editor-mask.svelte-1njczvj>rect.rect-mask-fg.svelte-1njczvj{fill:#000}mask.a9s-multipolygon-editor-mask.svelte-1vxo6dc>rect.svelte-1vxo6dc{fill:#fff}mask.a9s-multipolygon-editor-mask.svelte-1vxo6dc>circle.svelte-1vxo6dc,mask.a9s-multipolygon-editor-mask.svelte-1vxo6dc>path.svelte-1vxo6dc{fill:#000}mask.a9s-rubberband-rectangle-mask.svelte-1a76qe7>rect.rect-mask-bg.svelte-1a76qe7{fill:#fff}mask.a9s-rubberband-rectangle-mask.svelte-1a76qe7>rect.rect-mask-fg.svelte-1a76qe7{fill:#000}mask.a9s-rubberband-polygon-mask.svelte-18wrg3t>rect.svelte-18wrg3t{fill:#fff}mask.a9s-rubberband-polygon-mask.svelte-18wrg3t>polygon.svelte-18wrg3t{fill:#000}circle.a9s-handle.svelte-18wrg3t.svelte-18wrg3t{fill:#fff;pointer-events:none;stroke:#00000059;stroke-width:1px;vector-effect:non-scaling-stroke}path.open.svelte-1w0132l{fill:transparent!important}.a9s-annotationlayer{box-sizing:border-box;height:100%;left:0;outline:none;position:absolute;top:0;touch-action:none;width:100%;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.a9s-annotationlayer.hover{cursor:pointer}.a9s-annotationlayer.hidden{display:none}.a9s-annotationlayer ellipse,.a9s-annotationlayer line,.a9s-annotationlayer path,.a9s-annotationlayer polygon,.a9s-annotationlayer rect{fill:transparent;shape-rendering:geometricPrecision;vector-effect:non-scaling-stroke;-webkit-tap-highlight-color:transparent}.a9s-touch-halo{fill:transparent;pointer-events:none;stroke-width:0;transition:fill .15s}.a9s-touch-halo.touched{fill:#fff6}.a9s-handle-buffer{fill:transparent}.a9s-handle [role=button]{cursor:inherit!important}.a9s-handle-dot{fill:#fff;pointer-events:none;stroke:#00000059;stroke-width:1px;vector-effect:non-scaling-stroke}.a9s-handle-dot.selected{fill:#1a1a1a;stroke:none}.a9s-handle-selected{animation:dash-rotate .35s linear infinite reverse;fill:#ffffff40;stroke:#000000e6;stroke-dasharray:2 2;stroke-width:1px;pointer-events:none;vector-effect:non-scaling-stroke}@keyframes dash-rotate{0%{stroke-dashoffset:0}to{stroke-dashoffset:4}}.a9s-edge-handle{fill:transparent;stroke:transparent;stroke-width:6px}.a9s-shape-handle,.a9s-handle{cursor:move}.a9s-handle.a9s-corner-handle{cursor:crosshair}.a9s-edge-handle-top{cursor:n-resize}.a9s-edge-handle-right{cursor:e-resize}.a9s-edge-handle-bottom{cursor:s-resize}.a9s-edge-handle-left{cursor:w-resize}.a9s-handle.a9s-corner-handle-topleft{cursor:nw-resize}.a9s-handle.a9s-corner-handle-topright{cursor:ne-resize}.a9s-handle.a9s-corner-handle-bottomright{cursor:se-resize}.a9s-handle.a9s-corner-handle-bottomleft{cursor:sw-resize}.a9s-annotationlayer .a9s-outer,div[data-theme=dark] .a9s-annotationlayer .a9s-outer{display:none}.a9s-annotationlayer .a9s-inner,div[data-theme=dark] .a9s-annotationlayer .a9s-inner{fill:#0000001f;stroke:#000;stroke-width:1px}rect.a9s-handle,div[data-theme=dark] rect.a9s-handle{fill:#000;rx:2px}rect.a9s-close-polygon-handle,div[data-theme=dark] rect.a9s-close-polygon-handle{fill:#000;rx:1px}.a9s-annotationlayer .a9s-outer,div[data-theme=light] .a9s-annotationlayer .a9s-outer{display:block;stroke:#00000059;stroke-width:3px}.a9s-annotationlayer .a9s-inner,div[data-theme=light] .a9s-annotationlayer .a9s-inner{fill:#ffffff26;stroke:#fff;stroke-width:1.5px}rect.a9s-handle,div[data-theme=light] rect.a9s-handle{fill:#fff;rx:1px;stroke:#00000073;stroke-width:1px}rect.a9s-close-polygon-handle,div[data-theme=light] rect.a9s-close-polygon-handle{fill:#fff;rx:1px;stroke:#00000073;stroke-width:1px}
@@ -1,399 +1,401 @@
1
- import { inline as ot, offset as st, flip as rt, shift as ct, arrow as lt, computePosition as ft } from "./annotorious-react.es24.js";
2
- import { createCoords as m, rectToClientRect as J, round as H, max as E, min as z, floor as A } from "./annotorious-react.es23.js";
3
- import { getOverflowAncestors as $, isElement as v, getDocumentElement as O, getWindow as L, getFrameElement as K, getComputedStyle as R, isHTMLElement as b, isTopLayer as M, getParentNode as W, isLastTraversableNode as N, isTableElement as ut, isContainingBlock as Q, getContainingBlock as ht, getNodeName as S, isOverflowElement as _, getNodeScroll as I, isWebKit as Y } from "./annotorious-react.es19.js";
1
+ import { inline as st, offset as rt, flip as ct, shift as lt, arrow as ft, computePosition as ut } from "./annotorious-react.es24.js";
2
+ import { createCoords as y, rectToClientRect as J, round as D, max as E, min as V, floor as A } from "./annotorious-react.es23.js";
3
+ import { getOverflowAncestors as z, isElement as v, getDocumentElement as R, getWindow as L, getFrameElement as U, getComputedStyle as b, isHTMLElement as C, isTopLayer as $, getParentNode as W, isLastTraversableNode as H, isTableElement as ht, isContainingBlock as Q, getContainingBlock as at, getNodeName as _, isOverflowElement as q, getNodeScroll as I, isWebKit as Y } from "./annotorious-react.es19.js";
4
4
  function Z(t) {
5
- const e = R(t);
6
- let n = parseFloat(e.width) || 0, i = parseFloat(e.height) || 0;
7
- const o = b(t), r = o ? t.offsetWidth : n, s = o ? t.offsetHeight : i, c = H(n) !== r || H(i) !== s;
8
- return c && (n = r, i = s), {
9
- width: n,
10
- height: i,
5
+ const e = b(t);
6
+ let o = parseFloat(e.width) || 0, n = parseFloat(e.height) || 0;
7
+ const i = C(t), r = i ? t.offsetWidth : o, s = i ? t.offsetHeight : n, c = D(o) !== r || D(n) !== s;
8
+ return c && (o = r, n = s), {
9
+ width: o,
10
+ height: n,
11
11
  $: c
12
12
  };
13
13
  }
14
- function q(t) {
14
+ function X(t) {
15
15
  return v(t) ? t : t.contextElement;
16
16
  }
17
17
  function F(t) {
18
- const e = q(t);
19
- if (!b(e))
20
- return m(1);
21
- const n = e.getBoundingClientRect(), {
22
- width: i,
23
- height: o,
18
+ const e = X(t);
19
+ if (!C(e))
20
+ return y(1);
21
+ const o = e.getBoundingClientRect(), {
22
+ width: n,
23
+ height: i,
24
24
  $: r
25
25
  } = Z(e);
26
- let s = (r ? H(n.width) : n.width) / i, c = (r ? H(n.height) : n.height) / o;
26
+ let s = (r ? D(o.width) : o.width) / n, c = (r ? D(o.height) : o.height) / i;
27
27
  return (!s || !Number.isFinite(s)) && (s = 1), (!c || !Number.isFinite(c)) && (c = 1), {
28
28
  x: s,
29
29
  y: c
30
30
  };
31
31
  }
32
- const at = /* @__PURE__ */ m(0);
33
- function X(t) {
32
+ const dt = /* @__PURE__ */ y(0);
33
+ function tt(t) {
34
34
  const e = L(t);
35
- return !Y() || !e.visualViewport ? at : {
35
+ return !Y() || !e.visualViewport ? dt : {
36
36
  x: e.visualViewport.offsetLeft,
37
37
  y: e.visualViewport.offsetTop
38
38
  };
39
39
  }
40
- function dt(t, e, n) {
41
- return e === void 0 && (e = !1), !n || e && n !== L(t) ? !1 : e;
40
+ function gt(t, e, o) {
41
+ return e === void 0 && (e = !1), !o || e && o !== L(t) ? !1 : e;
42
42
  }
43
- function T(t, e, n, i) {
44
- e === void 0 && (e = !1), n === void 0 && (n = !1);
45
- const o = t.getBoundingClientRect(), r = q(t);
46
- let s = m(1);
47
- e && (i ? v(i) && (s = F(i)) : s = F(t));
48
- const c = dt(r, n, i) ? X(r) : m(0);
49
- let l = (o.left + c.x) / s.x, f = (o.top + c.y) / s.y, u = o.width / s.x, h = o.height / s.y;
43
+ function T(t, e, o, n) {
44
+ e === void 0 && (e = !1), o === void 0 && (o = !1);
45
+ const i = t.getBoundingClientRect(), r = X(t);
46
+ let s = y(1);
47
+ e && (n ? v(n) && (s = F(n)) : s = F(t));
48
+ const c = gt(r, o, n) ? tt(r) : y(0);
49
+ let f = (i.left + c.x) / s.x, l = (i.top + c.y) / s.y, u = i.width / s.x, h = i.height / s.y;
50
50
  if (r) {
51
- const p = L(r), a = i && v(i) ? L(i) : i;
52
- let x = p, g = K(x);
53
- for (; g && i && a !== x; ) {
54
- const w = F(g), d = g.getBoundingClientRect(), y = R(g), C = d.left + (g.clientLeft + parseFloat(y.paddingLeft)) * w.x, B = d.top + (g.clientTop + parseFloat(y.paddingTop)) * w.y;
55
- l *= w.x, f *= w.y, u *= w.x, h *= w.y, l += C, f += B, x = L(g), g = K(x);
51
+ const d = L(r), a = n && v(n) ? L(n) : n;
52
+ let w = d, p = U(w);
53
+ for (; p && n && a !== w; ) {
54
+ const m = F(p), g = p.getBoundingClientRect(), x = b(p), O = g.left + (p.clientLeft + parseFloat(x.paddingLeft)) * m.x, S = g.top + (p.clientTop + parseFloat(x.paddingTop)) * m.y;
55
+ f *= m.x, l *= m.y, u *= m.x, h *= m.y, f += O, l += S, w = L(p), p = U(w);
56
56
  }
57
57
  }
58
58
  return J({
59
59
  width: u,
60
60
  height: h,
61
- x: l,
62
- y: f
61
+ x: f,
62
+ y: l
63
63
  });
64
64
  }
65
- function k(t, e) {
66
- const n = I(t).scrollLeft;
67
- return e ? e.left + n : T(O(t)).left + n;
65
+ function M(t, e) {
66
+ const o = I(t).scrollLeft;
67
+ return e ? e.left + o : T(R(t)).left + o;
68
68
  }
69
- function tt(t, e, n) {
70
- n === void 0 && (n = !1);
71
- const i = t.getBoundingClientRect(), o = i.left + e.scrollLeft - (n ? 0 : (
72
- // RTL <body> scrollbar.
73
- k(t, i)
74
- )), r = i.top + e.scrollTop;
69
+ function et(t, e) {
70
+ const o = t.getBoundingClientRect(), n = o.left + e.scrollLeft - M(t, o), i = o.top + e.scrollTop;
75
71
  return {
76
- x: o,
77
- y: r
72
+ x: n,
73
+ y: i
78
74
  };
79
75
  }
80
- function gt(t) {
76
+ function pt(t) {
81
77
  let {
82
78
  elements: e,
83
- rect: n,
84
- offsetParent: i,
85
- strategy: o
79
+ rect: o,
80
+ offsetParent: n,
81
+ strategy: i
86
82
  } = t;
87
- const r = o === "fixed", s = O(i), c = e ? M(e.floating) : !1;
88
- if (i === s || c && r)
89
- return n;
90
- let l = {
83
+ const r = i === "fixed", s = R(n), c = e ? $(e.floating) : !1;
84
+ if (n === s || c && r)
85
+ return o;
86
+ let f = {
91
87
  scrollLeft: 0,
92
88
  scrollTop: 0
93
- }, f = m(1);
94
- const u = m(0), h = b(i);
95
- if ((h || !h && !r) && ((S(i) !== "body" || _(s)) && (l = I(i)), b(i))) {
96
- const a = T(i);
97
- f = F(i), u.x = a.x + i.clientLeft, u.y = a.y + i.clientTop;
89
+ }, l = y(1);
90
+ const u = y(0), h = C(n);
91
+ if ((h || !h && !r) && ((_(n) !== "body" || q(s)) && (f = I(n)), C(n))) {
92
+ const a = T(n);
93
+ l = F(n), u.x = a.x + n.clientLeft, u.y = a.y + n.clientTop;
98
94
  }
99
- const p = s && !h && !r ? tt(s, l, !0) : m(0);
95
+ const d = s && !h && !r ? et(s, f) : y(0);
100
96
  return {
101
- width: n.width * f.x,
102
- height: n.height * f.y,
103
- x: n.x * f.x - l.scrollLeft * f.x + u.x + p.x,
104
- y: n.y * f.y - l.scrollTop * f.y + u.y + p.y
97
+ width: o.width * l.x,
98
+ height: o.height * l.y,
99
+ x: o.x * l.x - f.scrollLeft * l.x + u.x + d.x,
100
+ y: o.y * l.y - f.scrollTop * l.y + u.y + d.y
105
101
  };
106
102
  }
107
- function pt(t) {
103
+ function wt(t) {
108
104
  return Array.from(t.getClientRects());
109
105
  }
110
- function wt(t) {
111
- const e = O(t), n = I(t), i = t.ownerDocument.body, o = E(e.scrollWidth, e.clientWidth, i.scrollWidth, i.clientWidth), r = E(e.scrollHeight, e.clientHeight, i.scrollHeight, i.clientHeight);
112
- let s = -n.scrollLeft + k(t);
113
- const c = -n.scrollTop;
114
- return R(i).direction === "rtl" && (s += E(e.clientWidth, i.clientWidth) - o), {
115
- width: o,
106
+ function mt(t) {
107
+ const e = R(t), o = I(t), n = t.ownerDocument.body, i = E(e.scrollWidth, e.clientWidth, n.scrollWidth, n.clientWidth), r = E(e.scrollHeight, e.clientHeight, n.scrollHeight, n.clientHeight);
108
+ let s = -o.scrollLeft + M(t);
109
+ const c = -o.scrollTop;
110
+ return b(n).direction === "rtl" && (s += E(e.clientWidth, n.clientWidth) - i), {
111
+ width: i,
116
112
  height: r,
117
113
  x: s,
118
114
  y: c
119
115
  };
120
116
  }
121
- function mt(t, e) {
122
- const n = L(t), i = O(t), o = n.visualViewport;
123
- let r = i.clientWidth, s = i.clientHeight, c = 0, l = 0;
124
- if (o) {
125
- r = o.width, s = o.height;
126
- const f = Y();
127
- (!f || f && e === "fixed") && (c = o.offsetLeft, l = o.offsetTop);
117
+ const K = 25;
118
+ function yt(t, e) {
119
+ const o = L(t), n = R(t), i = o.visualViewport;
120
+ let r = n.clientWidth, s = n.clientHeight, c = 0, f = 0;
121
+ if (i) {
122
+ r = i.width, s = i.height;
123
+ const u = Y();
124
+ (!u || u && e === "fixed") && (c = i.offsetLeft, f = i.offsetTop);
128
125
  }
126
+ const l = M(n);
127
+ if (l <= 0) {
128
+ const u = n.ownerDocument, h = u.body, d = getComputedStyle(h), a = u.compatMode === "CSS1Compat" && parseFloat(d.marginLeft) + parseFloat(d.marginRight) || 0, w = Math.abs(n.clientWidth - h.clientWidth - a);
129
+ w <= K && (r -= w);
130
+ } else l <= K && (r += l);
129
131
  return {
130
132
  width: r,
131
133
  height: s,
132
134
  x: c,
133
- y: l
135
+ y: f
134
136
  };
135
137
  }
136
138
  const xt = /* @__PURE__ */ new Set(["absolute", "fixed"]);
137
- function yt(t, e) {
138
- const n = T(t, !0, e === "fixed"), i = n.top + t.clientTop, o = n.left + t.clientLeft, r = b(t) ? F(t) : m(1), s = t.clientWidth * r.x, c = t.clientHeight * r.y, l = o * r.x, f = i * r.y;
139
+ function vt(t, e) {
140
+ const o = T(t, !0, e === "fixed"), n = o.top + t.clientTop, i = o.left + t.clientLeft, r = C(t) ? F(t) : y(1), s = t.clientWidth * r.x, c = t.clientHeight * r.y, f = i * r.x, l = n * r.y;
139
141
  return {
140
142
  width: s,
141
143
  height: c,
142
- x: l,
143
- y: f
144
+ x: f,
145
+ y: l
144
146
  };
145
147
  }
146
- function j(t, e, n) {
147
- let i;
148
+ function j(t, e, o) {
149
+ let n;
148
150
  if (e === "viewport")
149
- i = mt(t, n);
151
+ n = yt(t, o);
150
152
  else if (e === "document")
151
- i = wt(O(t));
153
+ n = mt(R(t));
152
154
  else if (v(e))
153
- i = yt(e, n);
155
+ n = vt(e, o);
154
156
  else {
155
- const o = X(t);
156
- i = {
157
- x: e.x - o.x,
158
- y: e.y - o.y,
157
+ const i = tt(t);
158
+ n = {
159
+ x: e.x - i.x,
160
+ y: e.y - i.y,
159
161
  width: e.width,
160
162
  height: e.height
161
163
  };
162
164
  }
163
- return J(i);
165
+ return J(n);
164
166
  }
165
- function et(t, e) {
166
- const n = W(t);
167
- return n === e || !v(n) || N(n) ? !1 : R(n).position === "fixed" || et(n, e);
167
+ function nt(t, e) {
168
+ const o = W(t);
169
+ return o === e || !v(o) || H(o) ? !1 : b(o).position === "fixed" || nt(o, e);
168
170
  }
169
- function vt(t, e) {
170
- const n = e.get(t);
171
- if (n)
172
- return n;
173
- let i = $(t, [], !1).filter((c) => v(c) && S(c) !== "body"), o = null;
174
- const r = R(t).position === "fixed";
171
+ function bt(t, e) {
172
+ const o = e.get(t);
173
+ if (o)
174
+ return o;
175
+ let n = z(t, [], !1).filter((c) => v(c) && _(c) !== "body"), i = null;
176
+ const r = b(t).position === "fixed";
175
177
  let s = r ? W(t) : t;
176
- for (; v(s) && !N(s); ) {
177
- const c = R(s), l = Q(s);
178
- !l && c.position === "fixed" && (o = null), (r ? !l && !o : !l && c.position === "static" && !!o && xt.has(o.position) || _(s) && !l && et(t, s)) ? i = i.filter((u) => u !== s) : o = c, s = W(s);
178
+ for (; v(s) && !H(s); ) {
179
+ const c = b(s), f = Q(s);
180
+ !f && c.position === "fixed" && (i = null), (r ? !f && !i : !f && c.position === "static" && !!i && xt.has(i.position) || q(s) && !f && nt(t, s)) ? n = n.filter((u) => u !== s) : i = c, s = W(s);
179
181
  }
180
- return e.set(t, i), i;
182
+ return e.set(t, n), n;
181
183
  }
182
184
  function Rt(t) {
183
185
  let {
184
186
  element: e,
185
- boundary: n,
186
- rootBoundary: i,
187
- strategy: o
187
+ boundary: o,
188
+ rootBoundary: n,
189
+ strategy: i
188
190
  } = t;
189
- const s = [...n === "clippingAncestors" ? M(e) ? [] : vt(e, this._c) : [].concat(n), i], c = s[0], l = s.reduce((f, u) => {
190
- const h = j(e, u, o);
191
- return f.top = E(h.top, f.top), f.right = z(h.right, f.right), f.bottom = z(h.bottom, f.bottom), f.left = E(h.left, f.left), f;
192
- }, j(e, c, o));
191
+ const s = [...o === "clippingAncestors" ? $(e) ? [] : bt(e, this._c) : [].concat(o), n], c = s[0], f = s.reduce((l, u) => {
192
+ const h = j(e, u, i);
193
+ return l.top = E(h.top, l.top), l.right = V(h.right, l.right), l.bottom = V(h.bottom, l.bottom), l.left = E(h.left, l.left), l;
194
+ }, j(e, c, i));
193
195
  return {
194
- width: l.right - l.left,
195
- height: l.bottom - l.top,
196
- x: l.left,
197
- y: l.top
196
+ width: f.right - f.left,
197
+ height: f.bottom - f.top,
198
+ x: f.left,
199
+ y: f.top
198
200
  };
199
201
  }
200
- function Ot(t) {
202
+ function Ct(t) {
201
203
  const {
202
204
  width: e,
203
- height: n
205
+ height: o
204
206
  } = Z(t);
205
207
  return {
206
208
  width: e,
207
- height: n
209
+ height: o
208
210
  };
209
211
  }
210
- function bt(t, e, n) {
211
- const i = b(e), o = O(e), r = n === "fixed", s = T(t, !0, r, e);
212
+ function Ot(t, e, o) {
213
+ const n = C(e), i = R(e), r = o === "fixed", s = T(t, !0, r, e);
212
214
  let c = {
213
215
  scrollLeft: 0,
214
216
  scrollTop: 0
215
217
  };
216
- const l = m(0);
217
- function f() {
218
- l.x = k(o);
218
+ const f = y(0);
219
+ function l() {
220
+ f.x = M(i);
219
221
  }
220
- if (i || !i && !r)
221
- if ((S(e) !== "body" || _(o)) && (c = I(e)), i) {
222
+ if (n || !n && !r)
223
+ if ((_(e) !== "body" || q(i)) && (c = I(e)), n) {
222
224
  const a = T(e, !0, r, e);
223
- l.x = a.x + e.clientLeft, l.y = a.y + e.clientTop;
224
- } else o && f();
225
- r && !i && o && f();
226
- const u = o && !i && !r ? tt(o, c) : m(0), h = s.left + c.scrollLeft - l.x - u.x, p = s.top + c.scrollTop - l.y - u.y;
225
+ f.x = a.x + e.clientLeft, f.y = a.y + e.clientTop;
226
+ } else i && l();
227
+ r && !n && i && l();
228
+ const u = i && !n && !r ? et(i, c) : y(0), h = s.left + c.scrollLeft - f.x - u.x, d = s.top + c.scrollTop - f.y - u.y;
227
229
  return {
228
230
  x: h,
229
- y: p,
231
+ y: d,
230
232
  width: s.width,
231
233
  height: s.height
232
234
  };
233
235
  }
234
- function V(t) {
235
- return R(t).position === "static";
236
+ function N(t) {
237
+ return b(t).position === "static";
236
238
  }
237
239
  function G(t, e) {
238
- if (!b(t) || R(t).position === "fixed")
240
+ if (!C(t) || b(t).position === "fixed")
239
241
  return null;
240
242
  if (e)
241
243
  return e(t);
242
- let n = t.offsetParent;
243
- return O(t) === n && (n = n.ownerDocument.body), n;
244
+ let o = t.offsetParent;
245
+ return R(t) === o && (o = o.ownerDocument.body), o;
244
246
  }
245
- function nt(t, e) {
246
- const n = L(t);
247
- if (M(t))
248
- return n;
249
- if (!b(t)) {
250
- let o = W(t);
251
- for (; o && !N(o); ) {
252
- if (v(o) && !V(o))
253
- return o;
254
- o = W(o);
247
+ function ot(t, e) {
248
+ const o = L(t);
249
+ if ($(t))
250
+ return o;
251
+ if (!C(t)) {
252
+ let i = W(t);
253
+ for (; i && !H(i); ) {
254
+ if (v(i) && !N(i))
255
+ return i;
256
+ i = W(i);
255
257
  }
256
- return n;
258
+ return o;
257
259
  }
258
- let i = G(t, e);
259
- for (; i && ut(i) && V(i); )
260
- i = G(i, e);
261
- return i && N(i) && V(i) && !Q(i) ? n : i || ht(t) || n;
260
+ let n = G(t, e);
261
+ for (; n && ht(n) && N(n); )
262
+ n = G(n, e);
263
+ return n && H(n) && N(n) && !Q(n) ? o : n || at(t) || o;
262
264
  }
263
- const Ct = async function(t) {
264
- const e = this.getOffsetParent || nt, n = this.getDimensions, i = await n(t.floating);
265
+ const Lt = async function(t) {
266
+ const e = this.getOffsetParent || ot, o = this.getDimensions, n = await o(t.floating);
265
267
  return {
266
- reference: bt(t.reference, await e(t.floating), t.strategy),
268
+ reference: Ot(t.reference, await e(t.floating), t.strategy),
267
269
  floating: {
268
270
  x: 0,
269
271
  y: 0,
270
- width: i.width,
271
- height: i.height
272
+ width: n.width,
273
+ height: n.height
272
274
  }
273
275
  };
274
276
  };
275
- function Lt(t) {
276
- return R(t).direction === "rtl";
277
+ function Tt(t) {
278
+ return b(t).direction === "rtl";
277
279
  }
278
- const Tt = {
279
- convertOffsetParentRelativeRectToViewportRelativeRect: gt,
280
- getDocumentElement: O,
280
+ const Et = {
281
+ convertOffsetParentRelativeRectToViewportRelativeRect: pt,
282
+ getDocumentElement: R,
281
283
  getClippingRect: Rt,
282
- getOffsetParent: nt,
283
- getElementRects: Ct,
284
- getClientRects: pt,
285
- getDimensions: Ot,
284
+ getOffsetParent: ot,
285
+ getElementRects: Lt,
286
+ getClientRects: wt,
287
+ getDimensions: Ct,
286
288
  getScale: F,
287
289
  isElement: v,
288
- isRTL: Lt
290
+ isRTL: Tt
289
291
  };
290
292
  function it(t, e) {
291
293
  return t.x === e.x && t.y === e.y && t.width === e.width && t.height === e.height;
292
294
  }
293
- function Et(t, e) {
294
- let n = null, i;
295
- const o = O(t);
295
+ function Ft(t, e) {
296
+ let o = null, n;
297
+ const i = R(t);
296
298
  function r() {
297
299
  var c;
298
- clearTimeout(i), (c = n) == null || c.disconnect(), n = null;
300
+ clearTimeout(n), (c = o) == null || c.disconnect(), o = null;
299
301
  }
300
- function s(c, l) {
301
- c === void 0 && (c = !1), l === void 0 && (l = 1), r();
302
- const f = t.getBoundingClientRect(), {
302
+ function s(c, f) {
303
+ c === void 0 && (c = !1), f === void 0 && (f = 1), r();
304
+ const l = t.getBoundingClientRect(), {
303
305
  left: u,
304
306
  top: h,
305
- width: p,
307
+ width: d,
306
308
  height: a
307
- } = f;
308
- if (c || e(), !p || !a)
309
+ } = l;
310
+ if (c || e(), !d || !a)
309
311
  return;
310
- const x = A(h), g = A(o.clientWidth - (u + p)), w = A(o.clientHeight - (h + a)), d = A(u), C = {
311
- rootMargin: -x + "px " + -g + "px " + -w + "px " + -d + "px",
312
- threshold: E(0, z(1, l)) || 1
312
+ const w = A(h), p = A(i.clientWidth - (u + d)), m = A(i.clientHeight - (h + a)), g = A(u), O = {
313
+ rootMargin: -w + "px " + -p + "px " + -m + "px " + -g + "px",
314
+ threshold: E(0, V(1, f)) || 1
313
315
  };
314
- let B = !0;
315
- function P(U) {
316
- const D = U[0].intersectionRatio;
317
- if (D !== l) {
318
- if (!B)
316
+ let S = !0;
317
+ function k(P) {
318
+ const B = P[0].intersectionRatio;
319
+ if (B !== f) {
320
+ if (!S)
319
321
  return s();
320
- D ? s(!1, D) : i = setTimeout(() => {
322
+ B ? s(!1, B) : n = setTimeout(() => {
321
323
  s(!1, 1e-7);
322
324
  }, 1e3);
323
325
  }
324
- D === 1 && !it(f, t.getBoundingClientRect()) && s(), B = !1;
326
+ B === 1 && !it(l, t.getBoundingClientRect()) && s(), S = !1;
325
327
  }
326
328
  try {
327
- n = new IntersectionObserver(P, {
328
- ...C,
329
+ o = new IntersectionObserver(k, {
330
+ ...O,
329
331
  // Handle <iframe>s
330
- root: o.ownerDocument
332
+ root: i.ownerDocument
331
333
  });
332
334
  } catch {
333
- n = new IntersectionObserver(P, C);
335
+ o = new IntersectionObserver(k, O);
334
336
  }
335
- n.observe(t);
337
+ o.observe(t);
336
338
  }
337
339
  return s(!0), r;
338
340
  }
339
- function Dt(t, e, n, i) {
340
- i === void 0 && (i = {});
341
+ function At(t, e, o, n) {
342
+ n === void 0 && (n = {});
341
343
  const {
342
- ancestorScroll: o = !0,
344
+ ancestorScroll: i = !0,
343
345
  ancestorResize: r = !0,
344
346
  elementResize: s = typeof ResizeObserver == "function",
345
347
  layoutShift: c = typeof IntersectionObserver == "function",
346
- animationFrame: l = !1
347
- } = i, f = q(t), u = o || r ? [...f ? $(f) : [], ...$(e)] : [];
348
- u.forEach((d) => {
349
- o && d.addEventListener("scroll", n, {
348
+ animationFrame: f = !1
349
+ } = n, l = X(t), u = i || r ? [...l ? z(l) : [], ...z(e)] : [];
350
+ u.forEach((g) => {
351
+ i && g.addEventListener("scroll", o, {
350
352
  passive: !0
351
- }), r && d.addEventListener("resize", n);
353
+ }), r && g.addEventListener("resize", o);
352
354
  });
353
- const h = f && c ? Et(f, n) : null;
354
- let p = -1, a = null;
355
- s && (a = new ResizeObserver((d) => {
356
- let [y] = d;
357
- y && y.target === f && a && (a.unobserve(e), cancelAnimationFrame(p), p = requestAnimationFrame(() => {
358
- var C;
359
- (C = a) == null || C.observe(e);
360
- })), n();
361
- }), f && !l && a.observe(f), a.observe(e));
362
- let x, g = l ? T(t) : null;
363
- l && w();
364
- function w() {
365
- const d = T(t);
366
- g && !it(g, d) && n(), g = d, x = requestAnimationFrame(w);
355
+ const h = l && c ? Ft(l, o) : null;
356
+ let d = -1, a = null;
357
+ s && (a = new ResizeObserver((g) => {
358
+ let [x] = g;
359
+ x && x.target === l && a && (a.unobserve(e), cancelAnimationFrame(d), d = requestAnimationFrame(() => {
360
+ var O;
361
+ (O = a) == null || O.observe(e);
362
+ })), o();
363
+ }), l && !f && a.observe(l), a.observe(e));
364
+ let w, p = f ? T(t) : null;
365
+ f && m();
366
+ function m() {
367
+ const g = T(t);
368
+ p && !it(p, g) && o(), p = g, w = requestAnimationFrame(m);
367
369
  }
368
- return n(), () => {
369
- var d;
370
- u.forEach((y) => {
371
- o && y.removeEventListener("scroll", n), r && y.removeEventListener("resize", n);
372
- }), h == null || h(), (d = a) == null || d.disconnect(), a = null, l && cancelAnimationFrame(x);
370
+ return o(), () => {
371
+ var g;
372
+ u.forEach((x) => {
373
+ i && x.removeEventListener("scroll", o), r && x.removeEventListener("resize", o);
374
+ }), h == null || h(), (g = a) == null || g.disconnect(), a = null, f && cancelAnimationFrame(w);
373
375
  };
374
376
  }
375
- const At = st, Ht = ct, Nt = rt, It = lt, Vt = ot, zt = (t, e, n) => {
376
- const i = /* @__PURE__ */ new Map(), o = {
377
- platform: Tt,
378
- ...n
377
+ const Dt = rt, Ht = lt, It = ct, Mt = ft, Nt = st, Vt = (t, e, o) => {
378
+ const n = /* @__PURE__ */ new Map(), i = {
379
+ platform: Et,
380
+ ...o
379
381
  }, r = {
380
- ...o.platform,
381
- _c: i
382
+ ...i.platform,
383
+ _c: n
382
384
  };
383
- return ft(t, e, {
384
- ...o,
385
+ return ut(t, e, {
386
+ ...i,
385
387
  platform: r
386
388
  });
387
389
  };
388
390
  export {
389
- It as arrow,
390
- Dt as autoUpdate,
391
- zt as computePosition,
392
- Nt as flip,
393
- $ as getOverflowAncestors,
394
- Vt as inline,
395
- At as offset,
396
- Tt as platform,
391
+ Mt as arrow,
392
+ At as autoUpdate,
393
+ Vt as computePosition,
394
+ It as flip,
395
+ z as getOverflowAncestors,
396
+ Nt as inline,
397
+ Dt as offset,
398
+ Et as platform,
397
399
  Ht as shift
398
400
  };
399
401
  //# sourceMappingURL=annotorious-react.es15.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"annotorious-react.es15.js","sources":["../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs"],"sourcesContent":["import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {\n if (ignoreScrollbarX === void 0) {\n ignoreScrollbarX = false;\n }\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :\n // RTL <body> scrollbar.\n getWindowScrollBarX(documentElement, htmlRect));\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nconst absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (_e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n"],"names":["getCssDimensions","element","css","getComputedStyle","width","height","hasOffset","isHTMLElement","offsetWidth","offsetHeight","shouldFallback","round","unwrapElement","isElement","getScale","domElement","createCoords","rect","$","x","y","noOffsets","getVisualOffsets","win","getWindow","isWebKit","shouldAddVisualOffsets","isFixed","floatingOffsetParent","getBoundingClientRect","includeScale","isFixedStrategy","offsetParent","clientRect","scale","visualOffsets","offsetWin","currentWin","currentIFrame","getFrameElement","iframeScale","iframeRect","left","top","rectToClientRect","getWindowScrollBarX","leftScroll","getNodeScroll","getDocumentElement","getHTMLOffset","documentElement","scroll","ignoreScrollbarX","htmlRect","convertOffsetParentRelativeRectToViewportRelativeRect","_ref","elements","strategy","topLayer","isTopLayer","offsets","isOffsetParentAnElement","getNodeName","isOverflowElement","offsetRect","htmlOffset","getClientRects","getDocumentRect","html","body","max","getViewportRect","visualViewport","visualViewportBased","absoluteOrFixed","getInnerBoundingClientRect","getClientRectFromClippingAncestor","clippingAncestor","hasFixedPositionAncestor","stopNode","parentNode","getParentNode","isLastTraversableNode","getClippingElementAncestors","cache","cachedResult","result","getOverflowAncestors","el","currentContainingBlockComputedStyle","elementIsFixed","currentNode","computedStyle","currentNodeIsContaining","isContainingBlock","ancestor","getClippingRect","boundary","rootBoundary","clippingAncestors","firstClippingAncestor","clippingRect","accRect","min","getDimensions","getRectRelativeToOffsetParent","setLeftRTLScrollbarOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","getOffsetParent","svgOffsetParent","isTableElement","getContainingBlock","getElementRects","data","getOffsetParentFn","getDimensionsFn","floatingDimensions","isRTL","platform","rectsAreEqual","a","b","observeMove","onMove","io","timeoutId","root","cleanup","_io","refresh","skip","threshold","elementRectForRootMargin","insetTop","floor","insetRight","insetBottom","insetLeft","options","isFirstUpdate","handleObserve","entries","ratio","autoUpdate","reference","floating","update","ancestorScroll","ancestorResize","elementResize","layoutShift","animationFrame","referenceEl","ancestors","cleanupIo","reobserveFrame","resizeObserver","firstEntry","_resizeObserver","frameId","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","offset","offset$1","shift","shift$1","flip","flip$1","arrow","arrow$1","inline","inline$1","computePosition","mergedOptions","platformWithCache","computePosition$1"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"annotorious-react.es15.js","sources":["../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs"],"sourcesContent":["import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle$1(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle$1(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle$1(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n const windowScrollbarX = getWindowScrollBarX(html);\n // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n // visual width of the <html> but this is not considered in the size\n // of `html.clientWidth`.\n if (windowScrollbarX <= 0) {\n const doc = html.ownerDocument;\n const body = doc.body;\n const bodyStyles = getComputedStyle(body);\n const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n width -= clippingStableScrollbarWidth;\n }\n } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n // If the <body> scrollbar is on the left, the width needs to be extended\n // by the scrollbar amount so there isn't extra space on the right.\n width += windowScrollbarX;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nconst absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle$1(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (_e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n"],"names":["getCssDimensions","element","css","getComputedStyle$1","width","height","hasOffset","isHTMLElement","offsetWidth","offsetHeight","shouldFallback","round","unwrapElement","isElement","getScale","domElement","createCoords","rect","$","x","y","noOffsets","getVisualOffsets","win","getWindow","isWebKit","shouldAddVisualOffsets","isFixed","floatingOffsetParent","getBoundingClientRect","includeScale","isFixedStrategy","offsetParent","clientRect","scale","visualOffsets","offsetWin","currentWin","currentIFrame","getFrameElement","iframeScale","iframeRect","left","top","rectToClientRect","getWindowScrollBarX","leftScroll","getNodeScroll","getDocumentElement","getHTMLOffset","documentElement","scroll","htmlRect","convertOffsetParentRelativeRectToViewportRelativeRect","_ref","elements","strategy","topLayer","isTopLayer","offsets","isOffsetParentAnElement","getNodeName","isOverflowElement","offsetRect","htmlOffset","getClientRects","getDocumentRect","html","body","max","SCROLLBAR_MAX","getViewportRect","visualViewport","visualViewportBased","windowScrollbarX","doc","bodyStyles","bodyMarginInline","clippingStableScrollbarWidth","absoluteOrFixed","getInnerBoundingClientRect","getClientRectFromClippingAncestor","clippingAncestor","hasFixedPositionAncestor","stopNode","parentNode","getParentNode","isLastTraversableNode","getClippingElementAncestors","cache","cachedResult","result","getOverflowAncestors","el","currentContainingBlockComputedStyle","elementIsFixed","currentNode","computedStyle","currentNodeIsContaining","isContainingBlock","ancestor","getClippingRect","boundary","rootBoundary","clippingAncestors","firstClippingAncestor","clippingRect","accRect","min","getDimensions","getRectRelativeToOffsetParent","setLeftRTLScrollbarOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","getOffsetParent","svgOffsetParent","isTableElement","getContainingBlock","getElementRects","data","getOffsetParentFn","getDimensionsFn","floatingDimensions","isRTL","platform","rectsAreEqual","a","b","observeMove","onMove","io","timeoutId","root","cleanup","_io","refresh","skip","threshold","elementRectForRootMargin","insetTop","floor","insetRight","insetBottom","insetLeft","options","isFirstUpdate","handleObserve","entries","ratio","autoUpdate","reference","floating","update","ancestorScroll","ancestorResize","elementResize","layoutShift","animationFrame","referenceEl","ancestors","cleanupIo","reobserveFrame","resizeObserver","firstEntry","_resizeObserver","frameId","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","offset","offset$1","shift","shift$1","flip","flip$1","arrow","arrow$1","inline","inline$1","computePosition","mergedOptions","platformWithCache","computePosition$1"],"mappings":";;;AAKA,SAASA,EAAiBC,GAAS;AACjC,QAAMC,IAAMC,EAAmBF,CAAO;AAGtC,MAAIG,IAAQ,WAAWF,EAAI,KAAK,KAAK,GACjCG,IAAS,WAAWH,EAAI,MAAM,KAAK;AACvC,QAAMI,IAAYC,EAAcN,CAAO,GACjCO,IAAcF,IAAYL,EAAQ,cAAcG,GAChDK,IAAeH,IAAYL,EAAQ,eAAeI,GAClDK,IAAiBC,EAAMP,CAAK,MAAMI,KAAeG,EAAMN,CAAM,MAAMI;AACzE,SAAIC,MACFN,IAAQI,GACRH,IAASI,IAEJ;AAAA,IACL,OAAAL;AAAA,IACA,QAAAC;AAAA,IACA,GAAGK;AAAA,EACP;AACA;AAEA,SAASE,EAAcX,GAAS;AAC9B,SAAQY,EAAUZ,CAAO,IAA6BA,IAAzBA,EAAQ;AACvC;AAEA,SAASa,EAASb,GAAS;AACzB,QAAMc,IAAaH,EAAcX,CAAO;AACxC,MAAI,CAACM,EAAcQ,CAAU;AAC3B,WAAOC,EAAa,CAAC;AAEvB,QAAMC,IAAOF,EAAW,sBAAqB,GACvC;AAAA,IACJ,OAAAX;AAAA,IACA,QAAAC;AAAA,IACA,GAAAa;AAAA,EACJ,IAAMlB,EAAiBe,CAAU;AAC/B,MAAII,KAAKD,IAAIP,EAAMM,EAAK,KAAK,IAAIA,EAAK,SAASb,GAC3CgB,KAAKF,IAAIP,EAAMM,EAAK,MAAM,IAAIA,EAAK,UAAUZ;AAIjD,UAAI,CAACc,KAAK,CAAC,OAAO,SAASA,CAAC,OAC1BA,IAAI,KAEF,CAACC,KAAK,CAAC,OAAO,SAASA,CAAC,OAC1BA,IAAI,IAEC;AAAA,IACL,GAAAD;AAAA,IACA,GAAAC;AAAA,EACJ;AACA;AAEA,MAAMC,KAAyB,gBAAAL,EAAa,CAAC;AAC7C,SAASM,GAAiBrB,GAAS;AACjC,QAAMsB,IAAMC,EAAUvB,CAAO;AAC7B,SAAI,CAACwB,EAAQ,KAAM,CAACF,EAAI,iBACfF,KAEF;AAAA,IACL,GAAGE,EAAI,eAAe;AAAA,IACtB,GAAGA,EAAI,eAAe;AAAA,EAC1B;AACA;AACA,SAASG,GAAuBzB,GAAS0B,GAASC,GAAsB;AAItE,SAHID,MAAY,WACdA,IAAU,KAER,CAACC,KAAwBD,KAAWC,MAAyBJ,EAAUvB,CAAO,IACzE,KAEF0B;AACT;AAEA,SAASE,EAAsB5B,GAAS6B,GAAcC,GAAiBC,GAAc;AACnF,EAAIF,MAAiB,WACnBA,IAAe,KAEbC,MAAoB,WACtBA,IAAkB;AAEpB,QAAME,IAAahC,EAAQ,sBAAqB,GAC1Cc,IAAaH,EAAcX,CAAO;AACxC,MAAIiC,IAAQlB,EAAa,CAAC;AAC1B,EAAIc,MACEE,IACEnB,EAAUmB,CAAY,MACxBE,IAAQpB,EAASkB,CAAY,KAG/BE,IAAQpB,EAASb,CAAO;AAG5B,QAAMkC,IAAgBT,GAAuBX,GAAYgB,GAAiBC,CAAY,IAAIV,GAAiBP,CAAU,IAAIC,EAAa,CAAC;AACvI,MAAIG,KAAKc,EAAW,OAAOE,EAAc,KAAKD,EAAM,GAChDd,KAAKa,EAAW,MAAME,EAAc,KAAKD,EAAM,GAC/C9B,IAAQ6B,EAAW,QAAQC,EAAM,GACjC7B,IAAS4B,EAAW,SAASC,EAAM;AACvC,MAAInB,GAAY;AACd,UAAMQ,IAAMC,EAAUT,CAAU,GAC1BqB,IAAYJ,KAAgBnB,EAAUmB,CAAY,IAAIR,EAAUQ,CAAY,IAAIA;AACtF,QAAIK,IAAad,GACbe,IAAgBC,EAAgBF,CAAU;AAC9C,WAAOC,KAAiBN,KAAgBI,MAAcC,KAAY;AAChE,YAAMG,IAAc1B,EAASwB,CAAa,GACpCG,IAAaH,EAAc,sBAAqB,GAChDpC,IAAMC,EAAmBmC,CAAa,GACtCI,IAAOD,EAAW,QAAQH,EAAc,aAAa,WAAWpC,EAAI,WAAW,KAAKsC,EAAY,GAChGG,IAAMF,EAAW,OAAOH,EAAc,YAAY,WAAWpC,EAAI,UAAU,KAAKsC,EAAY;AAClG,MAAArB,KAAKqB,EAAY,GACjBpB,KAAKoB,EAAY,GACjBpC,KAASoC,EAAY,GACrBnC,KAAUmC,EAAY,GACtBrB,KAAKuB,GACLtB,KAAKuB,GACLN,IAAab,EAAUc,CAAa,GACpCA,IAAgBC,EAAgBF,CAAU;AAAA,IAC5C;AAAA,EACF;AACA,SAAOO,EAAiB;AAAA,IACtB,OAAAxC;AAAA,IACA,QAAAC;AAAA,IACA,GAAAc;AAAA,IACA,GAAAC;AAAA,EACJ,CAAG;AACH;AAIA,SAASyB,EAAoB5C,GAASgB,GAAM;AAC1C,QAAM6B,IAAaC,EAAc9C,CAAO,EAAE;AAC1C,SAAKgB,IAGEA,EAAK,OAAO6B,IAFVjB,EAAsBmB,EAAmB/C,CAAO,CAAC,EAAE,OAAO6C;AAGrE;AAEA,SAASG,GAAcC,GAAiBC,GAAQ;AAC9C,QAAMC,IAAWF,EAAgB,sBAAqB,GAChD/B,IAAIiC,EAAS,OAAOD,EAAO,aAAaN,EAAoBK,GAAiBE,CAAQ,GACrFhC,IAAIgC,EAAS,MAAMD,EAAO;AAChC,SAAO;AAAA,IACL,GAAAhC;AAAA,IACA,GAAAC;AAAA,EACJ;AACA;AAEA,SAASiC,GAAsDC,GAAM;AACnE,MAAI;AAAA,IACF,UAAAC;AAAA,IACA,MAAAtC;AAAA,IACA,cAAAe;AAAA,IACA,UAAAwB;AAAA,EACJ,IAAMF;AACJ,QAAM3B,IAAU6B,MAAa,SACvBN,IAAkBF,EAAmBhB,CAAY,GACjDyB,IAAWF,IAAWG,EAAWH,EAAS,QAAQ,IAAI;AAC5D,MAAIvB,MAAiBkB,KAAmBO,KAAY9B;AAClD,WAAOV;AAET,MAAIkC,IAAS;AAAA,IACX,YAAY;AAAA,IACZ,WAAW;AAAA,EACf,GACMjB,IAAQlB,EAAa,CAAC;AAC1B,QAAM2C,IAAU3C,EAAa,CAAC,GACxB4C,IAA0BrD,EAAcyB,CAAY;AAC1D,OAAI4B,KAA2B,CAACA,KAA2B,CAACjC,QACtDkC,EAAY7B,CAAY,MAAM,UAAU8B,EAAkBZ,CAAe,OAC3EC,IAASJ,EAAcf,CAAY,IAEjCzB,EAAcyB,CAAY,IAAG;AAC/B,UAAM+B,IAAalC,EAAsBG,CAAY;AACrD,IAAAE,IAAQpB,EAASkB,CAAY,GAC7B2B,EAAQ,IAAII,EAAW,IAAI/B,EAAa,YACxC2B,EAAQ,IAAII,EAAW,IAAI/B,EAAa;AAAA,EAC1C;AAEF,QAAMgC,IAAad,KAAmB,CAACU,KAA2B,CAACjC,IAAUsB,GAAcC,GAAiBC,CAAM,IAAInC,EAAa,CAAC;AACpI,SAAO;AAAA,IACL,OAAOC,EAAK,QAAQiB,EAAM;AAAA,IAC1B,QAAQjB,EAAK,SAASiB,EAAM;AAAA,IAC5B,GAAGjB,EAAK,IAAIiB,EAAM,IAAIiB,EAAO,aAAajB,EAAM,IAAIyB,EAAQ,IAAIK,EAAW;AAAA,IAC3E,GAAG/C,EAAK,IAAIiB,EAAM,IAAIiB,EAAO,YAAYjB,EAAM,IAAIyB,EAAQ,IAAIK,EAAW;AAAA,EAC9E;AACA;AAEA,SAASC,GAAehE,GAAS;AAC/B,SAAO,MAAM,KAAKA,EAAQ,eAAc,CAAE;AAC5C;AAIA,SAASiE,GAAgBjE,GAAS;AAChC,QAAMkE,IAAOnB,EAAmB/C,CAAO,GACjCkD,IAASJ,EAAc9C,CAAO,GAC9BmE,IAAOnE,EAAQ,cAAc,MAC7BG,IAAQiE,EAAIF,EAAK,aAAaA,EAAK,aAAaC,EAAK,aAAaA,EAAK,WAAW,GAClF/D,IAASgE,EAAIF,EAAK,cAAcA,EAAK,cAAcC,EAAK,cAAcA,EAAK,YAAY;AAC7F,MAAIjD,IAAI,CAACgC,EAAO,aAAaN,EAAoB5C,CAAO;AACxD,QAAMmB,IAAI,CAAC+B,EAAO;AAClB,SAAIhD,EAAmBiE,CAAI,EAAE,cAAc,UACzCjD,KAAKkD,EAAIF,EAAK,aAAaC,EAAK,WAAW,IAAIhE,IAE1C;AAAA,IACL,OAAAA;AAAA,IACA,QAAAC;AAAA,IACA,GAAAc;AAAA,IACA,GAAAC;AAAA,EACJ;AACA;AAKA,MAAMkD,IAAgB;AACtB,SAASC,GAAgBtE,GAASuD,GAAU;AAC1C,QAAMjC,IAAMC,EAAUvB,CAAO,GACvBkE,IAAOnB,EAAmB/C,CAAO,GACjCuE,IAAiBjD,EAAI;AAC3B,MAAInB,IAAQ+D,EAAK,aACb9D,IAAS8D,EAAK,cACdhD,IAAI,GACJC,IAAI;AACR,MAAIoD,GAAgB;AAClB,IAAApE,IAAQoE,EAAe,OACvBnE,IAASmE,EAAe;AACxB,UAAMC,IAAsBhD,EAAQ;AACpC,KAAI,CAACgD,KAAuBA,KAAuBjB,MAAa,aAC9DrC,IAAIqD,EAAe,YACnBpD,IAAIoD,EAAe;AAAA,EAEvB;AACA,QAAME,IAAmB7B,EAAoBsB,CAAI;AAIjD,MAAIO,KAAoB,GAAG;AACzB,UAAMC,IAAMR,EAAK,eACXC,IAAOO,EAAI,MACXC,IAAa,iBAAiBR,CAAI,GAClCS,IAAmBF,EAAI,eAAe,gBAAe,WAAWC,EAAW,UAAU,IAAI,WAAWA,EAAW,WAAW,KAAK,GAC/HE,IAA+B,KAAK,IAAIX,EAAK,cAAcC,EAAK,cAAcS,CAAgB;AACpG,IAAIC,KAAgCR,MAClClE,KAAS0E;AAAA,EAEb,MAAO,CAAIJ,KAAoBJ,MAG7BlE,KAASsE;AAEX,SAAO;AAAA,IACL,OAAAtE;AAAA,IACA,QAAAC;AAAA,IACA,GAAAc;AAAA,IACA,GAAAC;AAAA,EACJ;AACA;AAEA,MAAM2D,KAA+B,oBAAI,IAAI,CAAC,YAAY,OAAO,CAAC;AAElE,SAASC,GAA2B/E,GAASuD,GAAU;AACrD,QAAMvB,IAAaJ,EAAsB5B,GAAS,IAAMuD,MAAa,OAAO,GACtEb,IAAMV,EAAW,MAAMhC,EAAQ,WAC/ByC,IAAOT,EAAW,OAAOhC,EAAQ,YACjCiC,IAAQ3B,EAAcN,CAAO,IAAIa,EAASb,CAAO,IAAIe,EAAa,CAAC,GACnEZ,IAAQH,EAAQ,cAAciC,EAAM,GACpC7B,IAASJ,EAAQ,eAAeiC,EAAM,GACtCf,IAAIuB,IAAOR,EAAM,GACjBd,IAAIuB,IAAMT,EAAM;AACtB,SAAO;AAAA,IACL,OAAA9B;AAAA,IACA,QAAAC;AAAA,IACA,GAAAc;AAAA,IACA,GAAAC;AAAA,EACJ;AACA;AACA,SAAS6D,EAAkChF,GAASiF,GAAkB1B,GAAU;AAC9E,MAAIvC;AACJ,MAAIiE,MAAqB;AACvB,IAAAjE,IAAOsD,GAAgBtE,GAASuD,CAAQ;AAAA,WAC/B0B,MAAqB;AAC9B,IAAAjE,IAAOiD,GAAgBlB,EAAmB/C,CAAO,CAAC;AAAA,WACzCY,EAAUqE,CAAgB;AACnC,IAAAjE,IAAO+D,GAA2BE,GAAkB1B,CAAQ;AAAA,OACvD;AACL,UAAMrB,IAAgBb,GAAiBrB,CAAO;AAC9C,IAAAgB,IAAO;AAAA,MACL,GAAGiE,EAAiB,IAAI/C,EAAc;AAAA,MACtC,GAAG+C,EAAiB,IAAI/C,EAAc;AAAA,MACtC,OAAO+C,EAAiB;AAAA,MACxB,QAAQA,EAAiB;AAAA,IAC/B;AAAA,EACE;AACA,SAAOtC,EAAiB3B,CAAI;AAC9B;AACA,SAASkE,GAAyBlF,GAASmF,GAAU;AACnD,QAAMC,IAAaC,EAAcrF,CAAO;AACxC,SAAIoF,MAAeD,KAAY,CAACvE,EAAUwE,CAAU,KAAKE,EAAsBF,CAAU,IAChF,KAEFlF,EAAmBkF,CAAU,EAAE,aAAa,WAAWF,GAAyBE,GAAYD,CAAQ;AAC7G;AAKA,SAASI,GAA4BvF,GAASwF,GAAO;AACnD,QAAMC,IAAeD,EAAM,IAAIxF,CAAO;AACtC,MAAIyF;AACF,WAAOA;AAET,MAAIC,IAASC,EAAqB3F,GAAS,CAAA,GAAI,EAAK,EAAE,OAAO,CAAA4F,MAAMhF,EAAUgF,CAAE,KAAKhC,EAAYgC,CAAE,MAAM,MAAM,GAC1GC,IAAsC;AAC1C,QAAMC,IAAiB5F,EAAmBF,CAAO,EAAE,aAAa;AAChE,MAAI+F,IAAcD,IAAiBT,EAAcrF,CAAO,IAAIA;AAG5D,SAAOY,EAAUmF,CAAW,KAAK,CAACT,EAAsBS,CAAW,KAAG;AACpE,UAAMC,IAAgB9F,EAAmB6F,CAAW,GAC9CE,IAA0BC,EAAkBH,CAAW;AAC7D,IAAI,CAACE,KAA2BD,EAAc,aAAa,YACzDH,IAAsC,QAEVC,IAAiB,CAACG,KAA2B,CAACJ,IAAsC,CAACI,KAA2BD,EAAc,aAAa,YAAY,CAAC,CAACH,KAAuCf,GAAgB,IAAIe,EAAoC,QAAQ,KAAKhC,EAAkBkC,CAAW,KAAK,CAACE,KAA2Bf,GAAyBlF,GAAS+F,CAAW,KAG5YL,IAASA,EAAO,OAAO,CAAAS,MAAYA,MAAaJ,CAAW,IAG3DF,IAAsCG,GAExCD,IAAcV,EAAcU,CAAW;AAAA,EACzC;AACA,SAAAP,EAAM,IAAIxF,GAAS0F,CAAM,GAClBA;AACT;AAIA,SAASU,GAAgB/C,GAAM;AAC7B,MAAI;AAAA,IACF,SAAArD;AAAA,IACA,UAAAqG;AAAA,IACA,cAAAC;AAAA,IACA,UAAA/C;AAAA,EACJ,IAAMF;AAEJ,QAAMkD,IAAoB,CAAC,GADMF,MAAa,sBAAsB5C,EAAWzD,CAAO,IAAI,CAAA,IAAKuF,GAA4BvF,GAAS,KAAK,EAAE,IAAI,CAAA,EAAG,OAAOqG,CAAQ,GACzGC,CAAY,GAC9DE,IAAwBD,EAAkB,CAAC,GAC3CE,IAAeF,EAAkB,OAAO,CAACG,GAASzB,MAAqB;AAC3E,UAAMjE,IAAOgE,EAAkChF,GAASiF,GAAkB1B,CAAQ;AAClF,WAAAmD,EAAQ,MAAMtC,EAAIpD,EAAK,KAAK0F,EAAQ,GAAG,GACvCA,EAAQ,QAAQC,EAAI3F,EAAK,OAAO0F,EAAQ,KAAK,GAC7CA,EAAQ,SAASC,EAAI3F,EAAK,QAAQ0F,EAAQ,MAAM,GAChDA,EAAQ,OAAOtC,EAAIpD,EAAK,MAAM0F,EAAQ,IAAI,GACnCA;AAAA,EACT,GAAG1B,EAAkChF,GAASwG,GAAuBjD,CAAQ,CAAC;AAC9E,SAAO;AAAA,IACL,OAAOkD,EAAa,QAAQA,EAAa;AAAA,IACzC,QAAQA,EAAa,SAASA,EAAa;AAAA,IAC3C,GAAGA,EAAa;AAAA,IAChB,GAAGA,EAAa;AAAA,EACpB;AACA;AAEA,SAASG,GAAc5G,GAAS;AAC9B,QAAM;AAAA,IACJ,OAAAG;AAAA,IACA,QAAAC;AAAA,EACJ,IAAML,EAAiBC,CAAO;AAC5B,SAAO;AAAA,IACL,OAAAG;AAAA,IACA,QAAAC;AAAA,EACJ;AACA;AAEA,SAASyG,GAA8B7G,GAAS+B,GAAcwB,GAAU;AACtE,QAAMI,IAA0BrD,EAAcyB,CAAY,GACpDkB,IAAkBF,EAAmBhB,CAAY,GACjDL,IAAU6B,MAAa,SACvBvC,IAAOY,EAAsB5B,GAAS,IAAM0B,GAASK,CAAY;AACvE,MAAImB,IAAS;AAAA,IACX,YAAY;AAAA,IACZ,WAAW;AAAA,EACf;AACE,QAAMQ,IAAU3C,EAAa,CAAC;AAI9B,WAAS+F,IAA4B;AACnC,IAAApD,EAAQ,IAAId,EAAoBK,CAAe;AAAA,EACjD;AACA,MAAIU,KAA2B,CAACA,KAA2B,CAACjC;AAI1D,SAHIkC,EAAY7B,CAAY,MAAM,UAAU8B,EAAkBZ,CAAe,OAC3EC,IAASJ,EAAcf,CAAY,IAEjC4B,GAAyB;AAC3B,YAAMG,IAAalC,EAAsBG,GAAc,IAAML,GAASK,CAAY;AAClF,MAAA2B,EAAQ,IAAII,EAAW,IAAI/B,EAAa,YACxC2B,EAAQ,IAAII,EAAW,IAAI/B,EAAa;AAAA,IAC1C,MAAO,CAAIkB,KACT6D,EAAyB;AAG7B,EAAIpF,KAAW,CAACiC,KAA2BV,KACzC6D,EAAyB;AAE3B,QAAM/C,IAAad,KAAmB,CAACU,KAA2B,CAACjC,IAAUsB,GAAcC,GAAiBC,CAAM,IAAInC,EAAa,CAAC,GAC9HG,IAAIF,EAAK,OAAOkC,EAAO,aAAaQ,EAAQ,IAAIK,EAAW,GAC3D5C,IAAIH,EAAK,MAAMkC,EAAO,YAAYQ,EAAQ,IAAIK,EAAW;AAC/D,SAAO;AAAA,IACL,GAAA7C;AAAA,IACA,GAAAC;AAAA,IACA,OAAOH,EAAK;AAAA,IACZ,QAAQA,EAAK;AAAA,EACjB;AACA;AAEA,SAAS+F,EAAmB/G,GAAS;AACnC,SAAOE,EAAmBF,CAAO,EAAE,aAAa;AAClD;AAEA,SAASgH,EAAoBhH,GAASiH,GAAU;AAC9C,MAAI,CAAC3G,EAAcN,CAAO,KAAKE,EAAmBF,CAAO,EAAE,aAAa;AACtE,WAAO;AAET,MAAIiH;AACF,WAAOA,EAASjH,CAAO;AAEzB,MAAIkH,IAAkBlH,EAAQ;AAM9B,SAAI+C,EAAmB/C,CAAO,MAAMkH,MAClCA,IAAkBA,EAAgB,cAAc,OAE3CA;AACT;AAIA,SAASC,GAAgBnH,GAASiH,GAAU;AAC1C,QAAM3F,IAAMC,EAAUvB,CAAO;AAC7B,MAAIyD,EAAWzD,CAAO;AACpB,WAAOsB;AAET,MAAI,CAAChB,EAAcN,CAAO,GAAG;AAC3B,QAAIoH,IAAkB/B,EAAcrF,CAAO;AAC3C,WAAOoH,KAAmB,CAAC9B,EAAsB8B,CAAe,KAAG;AACjE,UAAIxG,EAAUwG,CAAe,KAAK,CAACL,EAAmBK,CAAe;AACnE,eAAOA;AAET,MAAAA,IAAkB/B,EAAc+B,CAAe;AAAA,IACjD;AACA,WAAO9F;AAAA,EACT;AACA,MAAIS,IAAeiF,EAAoBhH,GAASiH,CAAQ;AACxD,SAAOlF,KAAgBsF,GAAetF,CAAY,KAAKgF,EAAmBhF,CAAY;AACpF,IAAAA,IAAeiF,EAAoBjF,GAAckF,CAAQ;AAE3D,SAAIlF,KAAgBuD,EAAsBvD,CAAY,KAAKgF,EAAmBhF,CAAY,KAAK,CAACmE,EAAkBnE,CAAY,IACrHT,IAEFS,KAAgBuF,GAAmBtH,CAAO,KAAKsB;AACxD;AAEA,MAAMiG,KAAkB,eAAgBC,GAAM;AAC5C,QAAMC,IAAoB,KAAK,mBAAmBN,IAC5CO,IAAkB,KAAK,eACvBC,IAAqB,MAAMD,EAAgBF,EAAK,QAAQ;AAC9D,SAAO;AAAA,IACL,WAAWX,GAA8BW,EAAK,WAAW,MAAMC,EAAkBD,EAAK,QAAQ,GAAGA,EAAK,QAAQ;AAAA,IAC9G,UAAU;AAAA,MACR,GAAG;AAAA,MACH,GAAG;AAAA,MACH,OAAOG,EAAmB;AAAA,MAC1B,QAAQA,EAAmB;AAAA,IACjC;AAAA,EACA;AACA;AAEA,SAASC,GAAM5H,GAAS;AACtB,SAAOE,EAAmBF,CAAO,EAAE,cAAc;AACnD;AAEK,MAAC6H,KAAW;AAAA,EACf,uDAAAzE;AAAA,EACA,oBAAAL;AAAA,EACA,iBAAAqD;AAAA,EACA,iBAAAe;AAAA,EACA,iBAAAI;AAAA,EACA,gBAAAvD;AAAA,EACA,eAAA4C;AAAA,EACA,UAAA/F;AAAA,EACA,WAAAD;AAAA,EACA,OAAAgH;AACF;AAEA,SAASE,GAAcC,GAAGC,GAAG;AAC3B,SAAOD,EAAE,MAAMC,EAAE,KAAKD,EAAE,MAAMC,EAAE,KAAKD,EAAE,UAAUC,EAAE,SAASD,EAAE,WAAWC,EAAE;AAC7E;AAGA,SAASC,GAAYjI,GAASkI,GAAQ;AACpC,MAAIC,IAAK,MACLC;AACJ,QAAMC,IAAOtF,EAAmB/C,CAAO;AACvC,WAASsI,IAAU;AACjB,QAAIC;AACJ,iBAAaH,CAAS,IACrBG,IAAMJ,MAAO,QAAQI,EAAI,WAAU,GACpCJ,IAAK;AAAA,EACP;AACA,WAASK,EAAQC,GAAMC,GAAW;AAChC,IAAID,MAAS,WACXA,IAAO,KAELC,MAAc,WAChBA,IAAY,IAEdJ,EAAO;AACP,UAAMK,IAA2B3I,EAAQ,sBAAqB,GACxD;AAAA,MACJ,MAAAyC;AAAA,MACA,KAAAC;AAAA,MACA,OAAAvC;AAAA,MACA,QAAAC;AAAA,IACN,IAAQuI;AAIJ,QAHKF,KACHP,EAAM,GAEJ,CAAC/H,KAAS,CAACC;AACb;AAEF,UAAMwI,IAAWC,EAAMnG,CAAG,GACpBoG,IAAaD,EAAMR,EAAK,eAAe5F,IAAOtC,EAAM,GACpD4I,IAAcF,EAAMR,EAAK,gBAAgB3F,IAAMtC,EAAO,GACtD4I,IAAYH,EAAMpG,CAAI,GAEtBwG,IAAU;AAAA,MACd,YAFiB,CAACL,IAAW,QAAQ,CAACE,IAAa,QAAQ,CAACC,IAAc,QAAQ,CAACC,IAAY;AAAA,MAG/F,WAAW5E,EAAI,GAAGuC,EAAI,GAAG+B,CAAS,CAAC,KAAK;AAAA,IAC9C;AACI,QAAIQ,IAAgB;AACpB,aAASC,EAAcC,GAAS;AAC9B,YAAMC,IAAQD,EAAQ,CAAC,EAAE;AACzB,UAAIC,MAAUX,GAAW;AACvB,YAAI,CAACQ;AACH,iBAAOV,EAAO;AAEhB,QAAKa,IAOHb,EAAQ,IAAOa,CAAK,IAJpBjB,IAAY,WAAW,MAAM;AAC3B,UAAAI,EAAQ,IAAO,IAAI;AAAA,QACrB,GAAG,GAAI;AAAA,MAIX;AACA,MAAIa,MAAU,KAAK,CAACvB,GAAca,GAA0B3I,EAAQ,sBAAqB,CAAE,KAQzFwI,EAAO,GAETU,IAAgB;AAAA,IAClB;AAIA,QAAI;AACF,MAAAf,IAAK,IAAI,qBAAqBgB,GAAe;AAAA,QAC3C,GAAGF;AAAA;AAAA,QAEH,MAAMZ,EAAK;AAAA,MACnB,CAAO;AAAA,IACH,QAAa;AACX,MAAAF,IAAK,IAAI,qBAAqBgB,GAAeF,CAAO;AAAA,IACtD;AACA,IAAAd,EAAG,QAAQnI,CAAO;AAAA,EACpB;AACA,SAAAwI,EAAQ,EAAI,GACLF;AACT;AAUA,SAASgB,GAAWC,GAAWC,GAAUC,GAAQR,GAAS;AACxD,EAAIA,MAAY,WACdA,IAAU,CAAA;AAEZ,QAAM;AAAA,IACJ,gBAAAS,IAAiB;AAAA,IACjB,gBAAAC,IAAiB;AAAA,IACjB,eAAAC,IAAgB,OAAO,kBAAmB;AAAA,IAC1C,aAAAC,IAAc,OAAO,wBAAyB;AAAA,IAC9C,gBAAAC,IAAiB;AAAA,EACrB,IAAMb,GACEc,IAAcpJ,EAAc4I,CAAS,GACrCS,IAAYN,KAAkBC,IAAiB,CAAC,GAAII,IAAcpE,EAAqBoE,CAAW,IAAI,CAAA,GAAK,GAAGpE,EAAqB6D,CAAQ,CAAC,IAAI,CAAA;AACtJ,EAAAQ,EAAU,QAAQ,CAAA7D,MAAY;AAC5B,IAAAuD,KAAkBvD,EAAS,iBAAiB,UAAUsD,GAAQ;AAAA,MAC5D,SAAS;AAAA,IACf,CAAK,GACDE,KAAkBxD,EAAS,iBAAiB,UAAUsD,CAAM;AAAA,EAC9D,CAAC;AACD,QAAMQ,IAAYF,KAAeF,IAAc5B,GAAY8B,GAAaN,CAAM,IAAI;AAClF,MAAIS,IAAiB,IACjBC,IAAiB;AACrB,EAAIP,MACFO,IAAiB,IAAI,eAAe,CAAA9G,MAAQ;AAC1C,QAAI,CAAC+G,CAAU,IAAI/G;AACnB,IAAI+G,KAAcA,EAAW,WAAWL,KAAeI,MAGrDA,EAAe,UAAUX,CAAQ,GACjC,qBAAqBU,CAAc,GACnCA,IAAiB,sBAAsB,MAAM;AAC3C,UAAIG;AACJ,OAACA,IAAkBF,MAAmB,QAAQE,EAAgB,QAAQb,CAAQ;AAAA,IAChF,CAAC,IAEHC,EAAM;AAAA,EACR,CAAC,GACGM,KAAe,CAACD,KAClBK,EAAe,QAAQJ,CAAW,GAEpCI,EAAe,QAAQX,CAAQ;AAEjC,MAAIc,GACAC,IAAcT,IAAiBlI,EAAsB2H,CAAS,IAAI;AACtE,EAAIO,KACFU,EAAS;AAEX,WAASA,IAAY;AACnB,UAAMC,IAAc7I,EAAsB2H,CAAS;AACnD,IAAIgB,KAAe,CAACzC,GAAcyC,GAAaE,CAAW,KACxDhB,EAAM,GAERc,IAAcE,GACdH,IAAU,sBAAsBE,CAAS;AAAA,EAC3C;AACA,SAAAf,EAAM,GACC,MAAM;AACX,QAAIiB;AACJ,IAAAV,EAAU,QAAQ,CAAA7D,MAAY;AAC5B,MAAAuD,KAAkBvD,EAAS,oBAAoB,UAAUsD,CAAM,GAC/DE,KAAkBxD,EAAS,oBAAoB,UAAUsD,CAAM;AAAA,IACjE,CAAC,GACDQ,KAAa,QAAQA,EAAS,IAC7BS,IAAmBP,MAAmB,QAAQO,EAAiB,WAAU,GAC1EP,IAAiB,MACbL,KACF,qBAAqBQ,CAAO;AAAA,EAEhC;AACF;AAmBK,MAACK,KAASC,IAeTC,KAAQC,IAQRC,KAAOC,IAsBPC,KAAQC,IAORC,KAASC,IAWTC,KAAkB,CAAC9B,GAAWC,GAAUP,MAAY;AAIxD,QAAMzD,IAAQ,oBAAI,IAAG,GACf8F,IAAgB;AAAA,IACpB,UAAAzD;AAAA,IACA,GAAGoB;AAAA,EACP,GACQsC,IAAoB;AAAA,IACxB,GAAGD,EAAc;AAAA,IACjB,IAAI9F;AAAA,EACR;AACE,SAAOgG,GAAkBjC,GAAWC,GAAU;AAAA,IAC5C,GAAG8B;AAAA,IACH,UAAUC;AAAA,EACd,CAAG;AACH;","x_google_ignoreList":[0]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@annotorious/react",
3
- "version": "3.7.0",
3
+ "version": "3.7.2",
4
4
  "description": "Annotorious React bindings",
5
5
  "author": "Rainer Simon",
6
6
  "license": "BSD-3-Clause",
@@ -45,9 +45,9 @@
45
45
  }
46
46
  },
47
47
  "dependencies": {
48
- "@annotorious/annotorious": "3.7.0",
49
- "@annotorious/core": "3.7.0",
50
- "@annotorious/openseadragon": "3.7.0",
48
+ "@annotorious/annotorious": "3.7.2",
49
+ "@annotorious/core": "3.7.2",
50
+ "@annotorious/openseadragon": "3.7.2",
51
51
  "@floating-ui/react": "^0.27.15",
52
52
  "zustand": "^5.0.7"
53
53
  },