@annotorious/react 3.5.0 → 3.6.0

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,132 +1,137 @@
1
1
  function c() {
2
2
  return typeof window < "u";
3
3
  }
4
- function s(n) {
5
- return p(n) ? (n.nodeName || "").toLowerCase() : "#document";
4
+ function u(t) {
5
+ return p(t) ? (t.nodeName || "").toLowerCase() : "#document";
6
6
  }
7
- function i(n) {
8
- var t;
9
- return (n == null || (t = n.ownerDocument) == null ? void 0 : t.defaultView) || window;
7
+ function i(t) {
8
+ var e;
9
+ return (t == null || (e = t.ownerDocument) == null ? void 0 : e.defaultView) || window;
10
10
  }
11
- function E(n) {
12
- var t;
13
- return (t = (p(n) ? n.ownerDocument : n.document) || window.document) == null ? void 0 : t.documentElement;
11
+ function N(t) {
12
+ var e;
13
+ return (e = (p(t) ? t.ownerDocument : t.document) || window.document) == null ? void 0 : e.documentElement;
14
14
  }
15
- function p(n) {
16
- return c() ? n instanceof Node || n instanceof i(n).Node : !1;
15
+ function p(t) {
16
+ return c() ? t instanceof Node || t instanceof i(t).Node : !1;
17
17
  }
18
- function m(n) {
19
- return c() ? n instanceof Element || n instanceof i(n).Element : !1;
18
+ function m(t) {
19
+ return c() ? t instanceof Element || t instanceof i(t).Element : !1;
20
20
  }
21
- function w(n) {
22
- return c() ? n instanceof HTMLElement || n instanceof i(n).HTMLElement : !1;
21
+ function w(t) {
22
+ return c() ? t instanceof HTMLElement || t instanceof i(t).HTMLElement : !1;
23
23
  }
24
- function a(n) {
25
- return !c() || typeof ShadowRoot > "u" ? !1 : n instanceof ShadowRoot || n instanceof i(n).ShadowRoot;
24
+ function f(t) {
25
+ return !c() || typeof ShadowRoot > "u" ? !1 : t instanceof ShadowRoot || t instanceof i(t).ShadowRoot;
26
26
  }
27
- function y(n) {
27
+ const E = /* @__PURE__ */ new Set(["inline", "contents"]);
28
+ function y(t) {
28
29
  const {
29
- overflow: t,
30
- overflowX: e,
30
+ overflow: e,
31
+ overflowX: n,
31
32
  overflowY: o,
32
33
  display: r
33
- } = b(n);
34
- return /auto|scroll|overlay|hidden|clip/.test(t + o + e) && !["inline", "contents"].includes(r);
34
+ } = S(t);
35
+ return /auto|scroll|overlay|hidden|clip/.test(e + o + n) && !E.has(r);
35
36
  }
36
- function D(n) {
37
- return ["table", "td", "th"].includes(s(n));
37
+ const T = /* @__PURE__ */ new Set(["table", "td", "th"]);
38
+ function A(t) {
39
+ return T.has(u(t));
38
40
  }
39
- function N(n) {
40
- return [":popover-open", ":modal"].some((t) => {
41
+ const v = [":popover-open", ":modal"];
42
+ function L(t) {
43
+ return v.some((e) => {
41
44
  try {
42
- return n.matches(t);
45
+ return t.matches(e);
43
46
  } catch {
44
47
  return !1;
45
48
  }
46
49
  });
47
50
  }
48
- function T(n) {
49
- const t = L(), e = m(n) ? b(n) : n;
50
- return ["transform", "translate", "scale", "rotate", "perspective"].some((o) => e[o] ? e[o] !== "none" : !1) || (e.containerType ? e.containerType !== "normal" : !1) || !t && (e.backdropFilter ? e.backdropFilter !== "none" : !1) || !t && (e.filter ? e.filter !== "none" : !1) || ["transform", "translate", "scale", "rotate", "perspective", "filter"].some((o) => (e.willChange || "").includes(o)) || ["paint", "layout", "strict", "content"].some((o) => (e.contain || "").includes(o));
51
- }
52
- function k(n) {
53
- let t = u(n);
54
- for (; w(t) && !g(t); ) {
55
- if (T(t))
56
- return t;
57
- if (N(t))
51
+ const D = ["transform", "translate", "scale", "rotate", "perspective"], C = ["transform", "translate", "scale", "rotate", "perspective", "filter"], k = ["paint", "layout", "strict", "content"];
52
+ function V(t) {
53
+ const e = O(), n = m(t) ? S(t) : t;
54
+ return D.some((o) => n[o] ? n[o] !== "none" : !1) || (n.containerType ? n.containerType !== "normal" : !1) || !e && (n.backdropFilter ? n.backdropFilter !== "none" : !1) || !e && (n.filter ? n.filter !== "none" : !1) || C.some((o) => (n.willChange || "").includes(o)) || k.some((o) => (n.contain || "").includes(o));
55
+ }
56
+ function B(t) {
57
+ let e = s(t);
58
+ for (; w(e) && !h(e); ) {
59
+ if (V(e))
60
+ return e;
61
+ if (L(e))
58
62
  return null;
59
- t = u(t);
63
+ e = s(e);
60
64
  }
61
65
  return null;
62
66
  }
63
- function L() {
67
+ function O() {
64
68
  return typeof CSS > "u" || !CSS.supports ? !1 : CSS.supports("-webkit-backdrop-filter", "none");
65
69
  }
66
- function g(n) {
67
- return ["html", "body", "#document"].includes(s(n));
70
+ const R = /* @__PURE__ */ new Set(["html", "body", "#document"]);
71
+ function h(t) {
72
+ return R.has(u(t));
68
73
  }
69
- function b(n) {
70
- return i(n).getComputedStyle(n);
74
+ function S(t) {
75
+ return i(t).getComputedStyle(t);
71
76
  }
72
- function C(n) {
73
- return m(n) ? {
74
- scrollLeft: n.scrollLeft,
75
- scrollTop: n.scrollTop
77
+ function F(t) {
78
+ return m(t) ? {
79
+ scrollLeft: t.scrollLeft,
80
+ scrollTop: t.scrollTop
76
81
  } : {
77
- scrollLeft: n.scrollX,
78
- scrollTop: n.scrollY
82
+ scrollLeft: t.scrollX,
83
+ scrollTop: t.scrollY
79
84
  };
80
85
  }
81
- function u(n) {
82
- if (s(n) === "html")
83
- return n;
84
- const t = (
86
+ function s(t) {
87
+ if (u(t) === "html")
88
+ return t;
89
+ const e = (
85
90
  // Step into the shadow DOM of the parent of a slotted node.
86
- n.assignedSlot || // DOM Element detected.
87
- n.parentNode || // ShadowRoot detected.
88
- a(n) && n.host || // Fallback.
89
- E(n)
91
+ t.assignedSlot || // DOM Element detected.
92
+ t.parentNode || // ShadowRoot detected.
93
+ f(t) && t.host || // Fallback.
94
+ N(t)
90
95
  );
91
- return a(t) ? t.host : t;
96
+ return f(e) ? e.host : e;
92
97
  }
93
- function h(n) {
94
- const t = u(n);
95
- return g(t) ? n.ownerDocument ? n.ownerDocument.body : n.body : w(t) && y(t) ? t : h(t);
98
+ function b(t) {
99
+ const e = s(t);
100
+ return h(e) ? t.ownerDocument ? t.ownerDocument.body : t.body : w(e) && y(e) ? e : b(e);
96
101
  }
97
- function d(n, t, e) {
102
+ function d(t, e, n) {
98
103
  var o;
99
- t === void 0 && (t = []), e === void 0 && (e = !0);
100
- const r = h(n), S = r === ((o = n.ownerDocument) == null ? void 0 : o.body), l = i(r);
101
- if (S) {
102
- const f = v(l);
103
- return t.concat(l, l.visualViewport || [], y(r) ? r : [], f && e ? d(f) : []);
104
+ e === void 0 && (e = []), n === void 0 && (n = !0);
105
+ const r = b(t), g = r === ((o = t.ownerDocument) == null ? void 0 : o.body), l = i(r);
106
+ if (g) {
107
+ const a = _(l);
108
+ return e.concat(l, l.visualViewport || [], y(r) ? r : [], a && n ? d(a) : []);
104
109
  }
105
- return t.concat(r, d(r, [], e));
110
+ return e.concat(r, d(r, [], n));
106
111
  }
107
- function v(n) {
108
- return n.parent && Object.getPrototypeOf(n.parent) ? n.frameElement : null;
112
+ function _(t) {
113
+ return t.parent && Object.getPrototypeOf(t.parent) ? t.frameElement : null;
109
114
  }
110
115
  export {
111
- b as getComputedStyle,
112
- k as getContainingBlock,
113
- E as getDocumentElement,
114
- v as getFrameElement,
115
- h as getNearestOverflowAncestor,
116
- s as getNodeName,
117
- C as getNodeScroll,
116
+ S as getComputedStyle,
117
+ B as getContainingBlock,
118
+ N as getDocumentElement,
119
+ _ as getFrameElement,
120
+ b as getNearestOverflowAncestor,
121
+ u as getNodeName,
122
+ F as getNodeScroll,
118
123
  d as getOverflowAncestors,
119
- u as getParentNode,
124
+ s as getParentNode,
120
125
  i as getWindow,
121
- T as isContainingBlock,
126
+ V as isContainingBlock,
122
127
  m as isElement,
123
128
  w as isHTMLElement,
124
- g as isLastTraversableNode,
129
+ h as isLastTraversableNode,
125
130
  p as isNode,
126
131
  y as isOverflowElement,
127
- a as isShadowRoot,
128
- D as isTableElement,
129
- N as isTopLayer,
130
- L as isWebKit
132
+ f as isShadowRoot,
133
+ A as isTableElement,
134
+ L as isTopLayer,
135
+ O as isWebKit
131
136
  };
132
137
  //# sourceMappingURL=annotorious-react.es19.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"annotorious-react.es19.js","sources":["../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs"],"sourcesContent":["function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isTopLayer(element) {\n return [':popover-open', ':modal'].some(selector => {\n try {\n return element.matches(selector);\n } catch (e) {\n return false;\n }\n });\n}\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return ['transform', 'translate', 'scale', 'rotate', 'perspective'].some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n"],"names":["hasWindow","getNodeName","node","isNode","getWindow","_node$ownerDocument","getDocumentElement","_ref","value","isElement","isHTMLElement","isShadowRoot","isOverflowElement","element","overflow","overflowX","overflowY","display","getComputedStyle","isTableElement","isTopLayer","selector","isContainingBlock","elementOrCss","webkit","isWebKit","css","getContainingBlock","currentNode","getParentNode","isLastTraversableNode","getNodeScroll","result","getNearestOverflowAncestor","parentNode","getOverflowAncestors","list","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","frameElement","getFrameElement"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"annotorious-react.es19.js","sources":["../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs"],"sourcesContent":["function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nconst invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);\n}\nconst tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);\nfunction isTableElement(element) {\n return tableElements.has(getNodeName(element));\n}\nconst topLayerSelectors = [':popover-open', ':modal'];\nfunction isTopLayer(element) {\n return topLayerSelectors.some(selector => {\n try {\n return element.matches(selector);\n } catch (_e) {\n return false;\n }\n });\n}\nconst transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];\nconst willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];\nconst containValues = ['paint', 'layout', 'strict', 'content'];\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nconst lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);\nfunction isLastTraversableNode(node) {\n return lastTraversableNodeNames.has(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n"],"names":["hasWindow","getNodeName","node","isNode","getWindow","_node$ownerDocument","getDocumentElement","_ref","value","isElement","isHTMLElement","isShadowRoot","invalidOverflowDisplayValues","isOverflowElement","element","overflow","overflowX","overflowY","display","getComputedStyle","tableElements","isTableElement","topLayerSelectors","isTopLayer","selector","transformProperties","willChangeValues","containValues","isContainingBlock","elementOrCss","webkit","isWebKit","css","getContainingBlock","currentNode","getParentNode","isLastTraversableNode","lastTraversableNodeNames","getNodeScroll","result","getNearestOverflowAncestor","parentNode","getOverflowAncestors","list","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","frameElement","getFrameElement"],"mappings":"AAAA,SAASA,IAAY;AACnB,SAAO,OAAO,SAAW;AAC3B;AACA,SAASC,EAAYC,GAAM;AACzB,SAAIC,EAAOD,CAAI,KACLA,EAAK,YAAY,IAAI,YAAW,IAKnC;AACT;AACA,SAASE,EAAUF,GAAM;AACvB,MAAIG;AACJ,UAAQH,KAAQ,SAASG,IAAsBH,EAAK,kBAAkB,OAAO,SAASG,EAAoB,gBAAgB;AAC5H;AACA,SAASC,EAAmBJ,GAAM;AAChC,MAAIK;AACJ,UAAQA,KAAQJ,EAAOD,CAAI,IAAIA,EAAK,gBAAgBA,EAAK,aAAa,OAAO,aAAa,OAAO,SAASK,EAAK;AACjH;AACA,SAASJ,EAAOK,GAAO;AACrB,SAAKR,EAAS,IAGPQ,aAAiB,QAAQA,aAAiBJ,EAAUI,CAAK,EAAE,OAFzD;AAGX;AACA,SAASC,EAAUD,GAAO;AACxB,SAAKR,EAAS,IAGPQ,aAAiB,WAAWA,aAAiBJ,EAAUI,CAAK,EAAE,UAF5D;AAGX;AACA,SAASE,EAAcF,GAAO;AAC5B,SAAKR,EAAS,IAGPQ,aAAiB,eAAeA,aAAiBJ,EAAUI,CAAK,EAAE,cAFhE;AAGX;AACA,SAASG,EAAaH,GAAO;AAC3B,SAAI,CAACR,EAAS,KAAM,OAAO,aAAe,MACjC,KAEFQ,aAAiB,cAAcA,aAAiBJ,EAAUI,CAAK,EAAE;AAC1E;AACA,MAAMI,IAA4C,oBAAI,IAAI,CAAC,UAAU,UAAU,CAAC;AAChF,SAASC,EAAkBC,GAAS;AAClC,QAAM;AAAA,IACJ,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,SAAAC;AAAA,EACJ,IAAMC,EAAiBL,CAAO;AAC5B,SAAO,kCAAkC,KAAKC,IAAWE,IAAYD,CAAS,KAAK,CAACJ,EAA6B,IAAIM,CAAO;AAC9H;AACA,MAAME,IAA6B,oBAAI,IAAI,CAAC,SAAS,MAAM,IAAI,CAAC;AAChE,SAASC,EAAeP,GAAS;AAC/B,SAAOM,EAAc,IAAInB,EAAYa,CAAO,CAAC;AAC/C;AACA,MAAMQ,IAAoB,CAAC,iBAAiB,QAAQ;AACpD,SAASC,EAAWT,GAAS;AAC3B,SAAOQ,EAAkB,KAAK,CAAAE,MAAY;AACxC,QAAI;AACF,aAAOV,EAAQ,QAAQU,CAAQ;AAAA,IACjC,QAAa;AACX,aAAO;AAAA,IACT;AAAA,EACF,CAAC;AACH;AACA,MAAMC,IAAsB,CAAC,aAAa,aAAa,SAAS,UAAU,aAAa,GACjFC,IAAmB,CAAC,aAAa,aAAa,SAAS,UAAU,eAAe,QAAQ,GACxFC,IAAgB,CAAC,SAAS,UAAU,UAAU,SAAS;AAC7D,SAASC,EAAkBC,GAAc;AACvC,QAAMC,IAASC,EAAQ,GACjBC,IAAMvB,EAAUoB,CAAY,IAAIV,EAAiBU,CAAY,IAAIA;AAIvE,SAAOJ,EAAoB,KAAK,CAAAjB,MAASwB,EAAIxB,CAAK,IAAIwB,EAAIxB,CAAK,MAAM,SAAS,EAAK,MAAMwB,EAAI,gBAAgBA,EAAI,kBAAkB,WAAW,OAAU,CAACF,MAAWE,EAAI,iBAAiBA,EAAI,mBAAmB,SAAS,OAAU,CAACF,MAAWE,EAAI,SAASA,EAAI,WAAW,SAAS,OAAUN,EAAiB,KAAK,CAAAlB,OAAUwB,EAAI,cAAc,IAAI,SAASxB,CAAK,CAAC,KAAKmB,EAAc,KAAK,CAAAnB,OAAUwB,EAAI,WAAW,IAAI,SAASxB,CAAK,CAAC;AACza;AACA,SAASyB,EAAmBnB,GAAS;AACnC,MAAIoB,IAAcC,EAAcrB,CAAO;AACvC,SAAOJ,EAAcwB,CAAW,KAAK,CAACE,EAAsBF,CAAW,KAAG;AACxE,QAAIN,EAAkBM,CAAW;AAC/B,aAAOA;AACF,QAAIX,EAAWW,CAAW;AAC/B,aAAO;AAET,IAAAA,IAAcC,EAAcD,CAAW;AAAA,EACzC;AACA,SAAO;AACT;AACA,SAASH,IAAW;AAClB,SAAI,OAAO,MAAQ,OAAe,CAAC,IAAI,WAAiB,KACjD,IAAI,SAAS,2BAA2B,MAAM;AACvD;AACA,MAAMM,IAAwC,oBAAI,IAAI,CAAC,QAAQ,QAAQ,WAAW,CAAC;AACnF,SAASD,EAAsBlC,GAAM;AACnC,SAAOmC,EAAyB,IAAIpC,EAAYC,CAAI,CAAC;AACvD;AACA,SAASiB,EAAiBL,GAAS;AACjC,SAAOV,EAAUU,CAAO,EAAE,iBAAiBA,CAAO;AACpD;AACA,SAASwB,EAAcxB,GAAS;AAC9B,SAAIL,EAAUK,CAAO,IACZ;AAAA,IACL,YAAYA,EAAQ;AAAA,IACpB,WAAWA,EAAQ;AAAA,EACzB,IAES;AAAA,IACL,YAAYA,EAAQ;AAAA,IACpB,WAAWA,EAAQ;AAAA,EACvB;AACA;AACA,SAASqB,EAAcjC,GAAM;AAC3B,MAAID,EAAYC,CAAI,MAAM;AACxB,WAAOA;AAET,QAAMqC;AAAA;AAAA,IAENrC,EAAK;AAAA,IAELA,EAAK;AAAA,IAELS,EAAaT,CAAI,KAAKA,EAAK;AAAA,IAE3BI,EAAmBJ,CAAI;AAAA;AACvB,SAAOS,EAAa4B,CAAM,IAAIA,EAAO,OAAOA;AAC9C;AACA,SAASC,EAA2BtC,GAAM;AACxC,QAAMuC,IAAaN,EAAcjC,CAAI;AACrC,SAAIkC,EAAsBK,CAAU,IAC3BvC,EAAK,gBAAgBA,EAAK,cAAc,OAAOA,EAAK,OAEzDQ,EAAc+B,CAAU,KAAK5B,EAAkB4B,CAAU,IACpDA,IAEFD,EAA2BC,CAAU;AAC9C;AACA,SAASC,EAAqBxC,GAAMyC,GAAMC,GAAiB;AACzD,MAAIC;AACJ,EAAIF,MAAS,WACXA,IAAO,CAAA,IAELC,MAAoB,WACtBA,IAAkB;AAEpB,QAAME,IAAqBN,EAA2BtC,CAAI,GACpD6C,IAASD,QAAyBD,IAAuB3C,EAAK,kBAAkB,OAAO,SAAS2C,EAAqB,OACrHG,IAAM5C,EAAU0C,CAAkB;AACxC,MAAIC,GAAQ;AACV,UAAME,IAAeC,EAAgBF,CAAG;AACxC,WAAOL,EAAK,OAAOK,GAAKA,EAAI,kBAAkB,CAAA,GAAInC,EAAkBiC,CAAkB,IAAIA,IAAqB,CAAA,GAAIG,KAAgBL,IAAkBF,EAAqBO,CAAY,IAAI,EAAE;AAAA,EAC9L;AACA,SAAON,EAAK,OAAOG,GAAoBJ,EAAqBI,GAAoB,CAAA,GAAIF,CAAe,CAAC;AACtG;AACA,SAASM,EAAgBF,GAAK;AAC5B,SAAOA,EAAI,UAAU,OAAO,eAAeA,EAAI,MAAM,IAAIA,EAAI,eAAe;AAC9E;","x_google_ignoreList":[0]}
@@ -1 +1 @@
1
- {"version":3,"file":"annotorious-react.es2.js","sources":["../src/Annotorious.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { \n createContext, \n forwardRef,\n useContext, \n useEffect, \n useImperativeHandle, \n useState \n} from 'react';\nimport type { StoreObserveOptions } from '@annotorious/core';\nimport type {\n Annotation,\n Annotator,\n ImageAnnotation,\n Selection as CoreSelection,\n Store,\n StoreChangeEvent,\n User\n} from '@annotorious/annotorious';\nimport { useDebounce } from './useDebounce';\n\ninterface Selection<T extends Annotation = Annotation> extends Omit<CoreSelection, 'selected'> {\n\n selected: { annotation: T, editable?: boolean }[];\n\n}\n\nexport const AnnotoriousContext = createContext({\n\n anno: undefined,\n\n setAnno: undefined,\n\n annotations: [],\n\n selection: { selected: [] }\n\n});\n\nexport const Annotorious = forwardRef<Annotator, { children: ReactNode }>((props: { children: ReactNode }, ref) => {\n\n const [anno, setAnno] = useState<Annotator>(null);\n\n const [annotations, setAnnotations] = useState<Annotation[]>([]);\n\n const [selection, setSelection] = useState<Selection>({ selected: [] });\n\n useImperativeHandle(ref, () => anno);\n\n useEffect(() => {\n if (anno) {\n const { selection, store, hover } = anno.state;\n\n // Components below <Annotorious /> may have\n // loaded annotations into the store already! \n if (store.all().length > 0)\n setAnnotations(store.all());\n\n // Keeps annotations in sync with a React state,\n // so clients can render components the usual React way.\n const onStoreChange = () => setAnnotations(() => store.all());\n\n store.observe(onStoreChange);\n\n // Keep selection in sync with a react state, and resolve them\n // from IDs to annotations automatically, for convenience\n let selectionStoreObserver: (event: StoreChangeEvent<Annotation>) => void;\n\n const unsubscribeSelection = selection.subscribe(({ selected, ...rest }) => {\n if (selectionStoreObserver)\n store.unobserve(selectionStoreObserver);\n\n const resolved = (selected || [])\n .map(({ id, editable }) => ({ annotation: store.getAnnotation(id), editable }));\n\n setSelection({ selected: resolved, ...rest });\n\n selectionStoreObserver = event => {\n const { updated } = event.changes;\n\n setSelection((selection) => ({\n ...selection,\n selected: selection.selected.map(({ annotation, editable }) => {\n const next = updated.find(u => u.oldValue.id === annotation.id);\n return next ? { annotation: next.newValue, editable } : { annotation, editable };\n })\n }));\n }\n\n store.observe(selectionStoreObserver, { annotations: selected.map(({ id }) => id) });\n });\n\n return () => {\n store.unobserve(onStoreChange);\n unsubscribeSelection();\n }\n }\n }, [anno]);\n\n return (\n <AnnotoriousContext.Provider value={{\n anno,\n setAnno,\n annotations,\n selection\n }}>\n {props.children}\n </AnnotoriousContext.Provider>\n )\n\n});\n\nexport const useAnnotator = <T extends unknown = Annotator<any, unknown>>() => {\n const { anno } = useContext(AnnotoriousContext);\n return anno as T;\n}\n\nexport const useAnnotationStore = <T extends unknown = Store<Annotation>>() => {\n const anno = useAnnotator();\n return anno?.state.store as T | undefined;\n}\n\nconst _useAnnotations = <T extends Annotation>() => {\n const { annotations } = useContext(AnnotoriousContext);\n return annotations as T[];\n}\n\nconst _useAnnotationsDebounced = <T extends Annotation>(debounce: number) => {\n const { annotations } = useContext(AnnotoriousContext);\n return useDebounce(annotations, debounce) as T[];\n}\n\nexport const useAnnotations = <T extends Annotation = ImageAnnotation>(debounce?: number) =>\n debounce ? _useAnnotationsDebounced<T>(debounce) : _useAnnotations<T>();\n\nexport const useAnnotation = <T extends Annotation = ImageAnnotation>(\n id: string,\n options?: Omit<StoreObserveOptions, 'annotations'>\n) => {\n const store = useAnnotationStore<Store<T>>();\n\n const [annotation, setAnnotation] = useState<T | undefined>(\n store?.getAnnotation(id)\n );\n\n useEffect(() => {\n if (!store) return;\n\n const handleChange = (event: StoreChangeEvent<T>) => {\n const updated = event.changes.updated[0];\n if (updated) {\n setAnnotation(updated.newValue);\n }\n };\n\n store.observe(handleChange, { ...options, annotations: id });\n return () => store.unobserve(handleChange);\n }, []);\n\n return annotation;\n}\n\nexport const useAnnotationSelectAction = <I extends Annotation = ImageAnnotation>(\n id: string\n) => {\n const anno = useAnnotator();\n const annotation = useAnnotation<I>(id);\n return anno && annotation ? anno.state.selection.evalSelectAction(annotation) : undefined;\n}\n\nexport const useSelection = <T extends Annotation = ImageAnnotation>() => {\n const { selection } = useContext(AnnotoriousContext);\n return selection as Selection<T>;\n}\n\nexport const useHover = <T extends Annotation = ImageAnnotation>() => {\n const anno = useAnnotator();\n\n const [hover, setHover] = useState<T | undefined>();\n\n useEffect(() => {\n if (!anno) return;\n\n const { hover, store } = (anno as Annotator<T, unknown>).state;\n\n const unsubscribeHover = hover.subscribe(id => {\n if (id) {\n const annotation = store.getAnnotation(id);\n setHover(annotation);\n } else {\n setHover(undefined);\n }\n });\n\n return () => {\n unsubscribeHover();\n };\n }, [anno]);\n\n return hover;\n}\n\nexport const useAnnotatorUser = (): User => {\n const anno = useAnnotator();\n return anno?.getUser();\n}\n\nconst _useViewportState = <T extends Annotation>() => {\n const anno = useAnnotator();\n\n const [inViewport, setInViewport] = useState<T[]>([]);\n\n useEffect(() => {\n if (anno) {\n const { store, viewport } = anno.state;\n\n if (!viewport)\n return;\n\n // Keep viewport annotations in sync with a react state, and resolve them\n // from IDs to annotations automatically, for convenience\n let viewportStoreObserver: (event: StoreChangeEvent<T>) => void;\n\n const unsubscribeViewport = viewport.subscribe(ids => {\n if (viewportStoreObserver)\n store.unobserve(viewportStoreObserver);\n\n const resolved = ids.map(id => store.getAnnotation(id)) as T[];\n setInViewport(resolved);\n\n viewportStoreObserver = event => {\n const { updated } = event.changes;\n\n setInViewport(annotations => annotations.map(annotation => {\n const next = updated.find(u => u.oldValue.id === annotation.id);\n return next ? next.newValue : annotation;\n }));\n };\n\n store.observe(viewportStoreObserver, { annotations: ids });\n });\n\n return () => {\n unsubscribeViewport();\n };\n }\n }, [anno]);\n\n return inViewport;\n}\n\nconst _useViewportStateDebounced = <T extends Annotation>(debounce: number) => {\n const inViewport = _useViewportState();\n return useDebounce(inViewport, debounce) as T[];\n}\n\nexport const useViewportState = <T extends Annotation = ImageAnnotation>(debounce?: number) =>\n debounce ? _useViewportStateDebounced<T>(debounce) : _useViewportState<T>();\n"],"names":["AnnotoriousContext","createContext","Annotorious","forwardRef","props","ref","anno","setAnno","useState","annotations","setAnnotations","selection","setSelection","useImperativeHandle","useEffect","store","hover","onStoreChange","selectionStoreObserver","unsubscribeSelection","selected","rest","resolved","id","editable","event","updated","annotation","next","u","jsx","useAnnotator","useContext","useAnnotationStore","_useAnnotations","_useAnnotationsDebounced","debounce","useDebounce","useAnnotations","useAnnotation","options","setAnnotation","handleChange","useAnnotationSelectAction","useSelection","useHover","setHover","unsubscribeHover","useAnnotatorUser","_useViewportState","inViewport","setInViewport","viewport","viewportStoreObserver","unsubscribeViewport","ids","_useViewportStateDebounced","useViewportState"],"mappings":"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"}
1
+ {"version":3,"file":"annotorious-react.es2.js","sources":["../src/Annotorious.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { \n createContext, \n forwardRef,\n useContext, \n useEffect, \n useImperativeHandle, \n useState \n} from 'react';\nimport type { StoreObserveOptions } from '@annotorious/core';\nimport type {\n Annotation,\n Annotator,\n ImageAnnotation,\n Selection as CoreSelection,\n Store,\n StoreChangeEvent,\n User\n} from '@annotorious/annotorious';\nimport { useDebounce } from './useDebounce';\n\ninterface Selection<T extends Annotation = Annotation> extends Omit<CoreSelection, 'selected'> {\n\n selected: { annotation: T, editable?: boolean }[];\n\n}\n\nexport const AnnotoriousContext = createContext({\n\n anno: undefined,\n\n setAnno: undefined,\n\n annotations: [],\n\n selection: { selected: [] }\n\n});\n\nexport const Annotorious = forwardRef<Annotator, { children: ReactNode }>((props: { children: ReactNode }, ref) => {\n\n const [anno, setAnno] = useState<Annotator>(null);\n\n const [annotations, setAnnotations] = useState<Annotation[]>([]);\n\n const [selection, setSelection] = useState<Selection>({ selected: [] });\n\n useImperativeHandle(ref, () => anno);\n\n useEffect(() => {\n if (anno) {\n const { selection, store, hover } = anno.state;\n\n // Components below <Annotorious /> may have\n // loaded annotations into the store already! \n if (store.all().length > 0)\n setAnnotations(store.all());\n\n // Keeps annotations in sync with a React state,\n // so clients can render components the usual React way.\n const onStoreChange = () => setAnnotations(() => store.all());\n\n store.observe(onStoreChange);\n\n // Keep selection in sync with a react state, and resolve them\n // from IDs to annotations automatically, for convenience\n let selectionStoreObserver: (event: StoreChangeEvent<Annotation>) => void;\n\n const unsubscribeSelection = selection.subscribe(({ selected, ...rest }) => {\n if (selectionStoreObserver)\n store.unobserve(selectionStoreObserver);\n\n const resolved = (selected || [])\n .map(({ id, editable }) => ({ annotation: store.getAnnotation(id), editable }));\n\n setSelection({ selected: resolved, ...rest });\n\n selectionStoreObserver = event => {\n const { updated } = event.changes;\n\n setSelection((selection) => ({\n ...selection,\n selected: selection.selected.map(({ annotation, editable }) => {\n const next = updated.find(u => u.oldValue.id === annotation.id);\n return next ? { annotation: next.newValue, editable } : { annotation, editable };\n })\n }));\n }\n\n store.observe(selectionStoreObserver, { annotations: selected.map(({ id }) => id) });\n });\n\n return () => {\n store.unobserve(onStoreChange);\n unsubscribeSelection();\n }\n }\n }, [anno]);\n\n return (\n <AnnotoriousContext.Provider value={{\n anno,\n setAnno,\n annotations,\n selection\n }}>\n {props.children}\n </AnnotoriousContext.Provider>\n )\n\n});\n\nexport const useAnnotator = <T extends unknown = Annotator<any, unknown>>() => {\n const { anno } = useContext(AnnotoriousContext);\n return anno as T;\n}\n\nexport const useAnnotationStore = <T extends unknown = Store<Annotation>>() => {\n const anno = useAnnotator();\n return anno?.state.store as T | undefined;\n}\n\nconst _useAnnotations = <T extends Annotation>() => {\n const { annotations } = useContext(AnnotoriousContext);\n return annotations as T[];\n}\n\nconst _useAnnotationsDebounced = <T extends Annotation>(debounce: number) => {\n const { annotations } = useContext(AnnotoriousContext);\n return useDebounce(annotations, debounce) as T[];\n}\n\nexport const useAnnotations = <T extends Annotation = ImageAnnotation>(debounce?: number) =>\n debounce ? _useAnnotationsDebounced<T>(debounce) : _useAnnotations<T>();\n\nexport const useAnnotation = <T extends Annotation = ImageAnnotation>(\n id: string,\n options?: Omit<StoreObserveOptions, 'annotations'>\n) => {\n const store = useAnnotationStore<Store<T>>();\n\n const [annotation, setAnnotation] = useState<T | undefined>(\n store?.getAnnotation(id)\n );\n\n useEffect(() => {\n if (!store) return;\n\n const handleChange = (event: StoreChangeEvent<T>) => {\n const updated = event.changes.updated[0];\n if (updated) {\n setAnnotation(updated.newValue);\n }\n };\n\n store.observe(handleChange, { ...options, annotations: id });\n return () => store.unobserve(handleChange);\n }, []);\n\n return annotation;\n}\n\nexport const useAnnotationSelectAction = <I extends Annotation = ImageAnnotation>(\n id: string\n) => {\n const anno = useAnnotator();\n const annotation = useAnnotation<I>(id);\n return anno && annotation ? anno.state.selection.evalSelectAction(annotation) : undefined;\n}\n\nexport const useSelection = <T extends Annotation = ImageAnnotation>() => {\n const { selection } = useContext(AnnotoriousContext);\n return selection as Selection<T>;\n}\n\nexport const useHover = <T extends Annotation = ImageAnnotation>() => {\n const anno = useAnnotator();\n\n const [hover, setHover] = useState<T | undefined>();\n\n useEffect(() => {\n if (!anno) return;\n\n const { hover, store } = (anno as Annotator<T, unknown>).state;\n\n const unsubscribeHover = hover.subscribe(id => {\n if (id) {\n const annotation = store.getAnnotation(id);\n setHover(annotation);\n } else {\n setHover(undefined);\n }\n });\n\n return () => {\n unsubscribeHover();\n };\n }, [anno]);\n\n return hover;\n}\n\nexport const useAnnotatorUser = (): User => {\n const anno = useAnnotator();\n return anno?.getUser();\n}\n\nconst _useViewportState = <T extends Annotation>() => {\n const anno = useAnnotator();\n\n const [inViewport, setInViewport] = useState<T[]>([]);\n\n useEffect(() => {\n if (anno) {\n const { store, viewport } = anno.state;\n\n if (!viewport)\n return;\n\n // Keep viewport annotations in sync with a react state, and resolve them\n // from IDs to annotations automatically, for convenience\n let viewportStoreObserver: (event: StoreChangeEvent<T>) => void;\n\n const unsubscribeViewport = viewport.subscribe(ids => {\n if (viewportStoreObserver)\n store.unobserve(viewportStoreObserver);\n\n const resolved = ids.map(id => store.getAnnotation(id)) as T[];\n setInViewport(resolved);\n\n viewportStoreObserver = event => {\n const { updated } = event.changes;\n\n setInViewport(annotations => annotations.map(annotation => {\n const next = updated.find(u => u.oldValue.id === annotation.id);\n return next ? next.newValue : annotation;\n }));\n };\n\n store.observe(viewportStoreObserver, { annotations: ids });\n });\n\n return () => {\n unsubscribeViewport();\n };\n }\n }, [anno]);\n\n return inViewport;\n}\n\nconst _useViewportStateDebounced = <T extends Annotation>(debounce: number) => {\n const inViewport = _useViewportState();\n return useDebounce(inViewport, debounce) as T[];\n}\n\nexport const useViewportState = <T extends Annotation = ImageAnnotation>(debounce?: number) =>\n debounce ? _useViewportStateDebounced<T>(debounce) : _useViewportState<T>();\n"],"names":["AnnotoriousContext","createContext","Annotorious","forwardRef","props","ref","anno","setAnno","useState","annotations","setAnnotations","selection","setSelection","useImperativeHandle","useEffect","store","hover","onStoreChange","selectionStoreObserver","unsubscribeSelection","selected","rest","resolved","id","editable","event","updated","annotation","next","u","jsx","useAnnotator","useContext","useAnnotationStore","_useAnnotations","_useAnnotationsDebounced","debounce","useDebounce","useAnnotations","useAnnotation","options","setAnnotation","handleChange","useAnnotationSelectAction","useSelection","useHover","setHover","unsubscribeHover","useAnnotatorUser","_useViewportState","inViewport","setInViewport","viewport","viewportStoreObserver","unsubscribeViewport","ids","_useViewportStateDebounced","useViewportState"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"annotorious-react.es22.js","sources":["../../../node_modules/uuid/dist/esm-browser/rng.js"],"sourcesContent":["let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n"],"names":["getRandomValues","rnds8","rng"],"mappings":"AAAA,IAAIA;AACJ,MAAMC,IAAQ,IAAI,WAAW,EAAE;AAChB,SAASC,IAAM;AAC1B,MAAI,CAACF,GAAiB;AAClB,QAAI,OAAO,SAAW,OAAe,CAAC,OAAO;AACzC,YAAM,IAAI,MAAM,0GAA0G;AAE9H,IAAAA,IAAkB,OAAO,gBAAgB,KAAK,MAAM;AAAA,EAC5D;AACI,SAAOA,EAAgBC,CAAK;AAChC;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"annotorious-react.es22.js","sources":["../../../node_modules/uuid/dist/esm-browser/rng.js"],"sourcesContent":["let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n"],"names":["getRandomValues","rnds8","rng"],"mappings":"AAAA,IAAIA;AACJ,MAAMC,IAAQ,IAAI,WAAW,EAAE;AAChB,SAASC,IAAM;AAC1B,MAAI,CAACF,GAAiB;AAClB,QAAI,OAAO,SAAW,OAAe,CAAC,OAAO;AACzC,YAAM,IAAI,MAAM,0GAA0G;AAE9H,IAAAA,IAAkB,OAAO,gBAAgB,KAAK,MAAM;AAAA,EACxD;AACA,SAAOA,EAAgBC,CAAK;AAChC;","x_google_ignoreList":[0]}
@@ -1,74 +1,75 @@
1
- const l = Math.min, a = Math.max, P = Math.round, M = Math.floor, O = (t) => ({
1
+ const m = Math.min, p = Math.max, j = Math.round, C = Math.floor, L = (t) => ({
2
2
  x: t,
3
3
  y: t
4
- }), m = {
4
+ }), h = {
5
5
  left: "right",
6
6
  right: "left",
7
7
  bottom: "top",
8
8
  top: "bottom"
9
- }, p = {
9
+ }, x = {
10
10
  start: "end",
11
11
  end: "start"
12
12
  };
13
- function S(t, n, e) {
14
- return a(t, l(n, e));
13
+ function E(t, e, n) {
14
+ return p(t, m(e, n));
15
15
  }
16
- function w(t, n) {
17
- return typeof t == "function" ? t(n) : t;
16
+ function R(t, e) {
17
+ return typeof t == "function" ? t(e) : t;
18
18
  }
19
- function f(t) {
19
+ function a(t) {
20
20
  return t.split("-")[0];
21
21
  }
22
22
  function g(t) {
23
23
  return t.split("-")[1];
24
24
  }
25
- function h(t) {
25
+ function b(t) {
26
26
  return t === "x" ? "y" : "x";
27
27
  }
28
- function x(t) {
28
+ function d(t) {
29
29
  return t === "y" ? "height" : "width";
30
30
  }
31
- function b(t) {
32
- return ["top", "bottom"].includes(f(t)) ? "y" : "x";
31
+ const A = /* @__PURE__ */ new Set(["top", "bottom"]);
32
+ function P(t) {
33
+ return A.has(a(t)) ? "y" : "x";
33
34
  }
34
- function d(t) {
35
- return h(b(t));
35
+ function y(t) {
36
+ return b(P(t));
36
37
  }
37
- function j(t, n, e) {
38
- e === void 0 && (e = !1);
39
- const r = g(t), o = d(t), i = x(o);
40
- let c = o === "x" ? r === (e ? "end" : "start") ? "right" : "left" : r === "start" ? "bottom" : "top";
41
- return n.reference[i] > n.floating[i] && (c = u(c)), [c, u(c)];
38
+ function T(t, e, n) {
39
+ n === void 0 && (n = !1);
40
+ const r = g(t), i = y(t), o = d(i);
41
+ let c = i === "x" ? r === (n ? "end" : "start") ? "right" : "left" : r === "start" ? "bottom" : "top";
42
+ return e.reference[o] > e.floating[o] && (c = f(c)), [c, f(c)];
42
43
  }
43
- function C(t) {
44
- const n = u(t);
45
- return [s(t), n, s(n)];
44
+ function k(t) {
45
+ const e = f(t);
46
+ return [s(t), e, s(e)];
46
47
  }
47
48
  function s(t) {
48
- return t.replace(/start|end/g, (n) => p[n]);
49
+ return t.replace(/start|end/g, (e) => x[e]);
49
50
  }
50
- function A(t, n, e) {
51
- const r = ["left", "right"], o = ["right", "left"], i = ["top", "bottom"], c = ["bottom", "top"];
51
+ const u = ["left", "right"], l = ["right", "left"], M = ["top", "bottom"], O = ["bottom", "top"];
52
+ function S(t, e, n) {
52
53
  switch (t) {
53
54
  case "top":
54
55
  case "bottom":
55
- return e ? n ? o : r : n ? r : o;
56
+ return n ? e ? l : u : e ? u : l;
56
57
  case "left":
57
58
  case "right":
58
- return n ? i : c;
59
+ return e ? M : O;
59
60
  default:
60
61
  return [];
61
62
  }
62
63
  }
63
- function L(t, n, e, r) {
64
- const o = g(t);
65
- let i = A(f(t), e === "start", r);
66
- return o && (i = i.map((c) => c + "-" + o), n && (i = i.concat(i.map(s)))), i;
64
+ function q(t, e, n, r) {
65
+ const i = g(t);
66
+ let o = S(a(t), n === "start", r);
67
+ return i && (o = o.map((c) => c + "-" + i), e && (o = o.concat(o.map(s)))), o;
67
68
  }
68
- function u(t) {
69
- return t.replace(/left|right|bottom|top/g, (n) => m[n]);
69
+ function f(t) {
70
+ return t.replace(/left|right|bottom|top/g, (e) => h[e]);
70
71
  }
71
- function y(t) {
72
+ function w(t) {
72
73
  return {
73
74
  top: 0,
74
75
  right: 0,
@@ -77,53 +78,53 @@ function y(t) {
77
78
  ...t
78
79
  };
79
80
  }
80
- function E(t) {
81
- return typeof t != "number" ? y(t) : {
81
+ function z(t) {
82
+ return typeof t != "number" ? w(t) : {
82
83
  top: t,
83
84
  right: t,
84
85
  bottom: t,
85
86
  left: t
86
87
  };
87
88
  }
88
- function R(t) {
89
+ function B(t) {
89
90
  const {
90
- x: n,
91
- y: e,
91
+ x: e,
92
+ y: n,
92
93
  width: r,
93
- height: o
94
+ height: i
94
95
  } = t;
95
96
  return {
96
97
  width: r,
97
- height: o,
98
- top: e,
99
- left: n,
100
- right: n + r,
101
- bottom: e + o,
102
- x: n,
103
- y: e
98
+ height: i,
99
+ top: n,
100
+ left: e,
101
+ right: e + r,
102
+ bottom: n + i,
103
+ x: e,
104
+ y: n
104
105
  };
105
106
  }
106
107
  export {
107
- S as clamp,
108
- O as createCoords,
109
- w as evaluate,
110
- y as expandPaddingObject,
111
- M as floor,
108
+ E as clamp,
109
+ L as createCoords,
110
+ R as evaluate,
111
+ w as expandPaddingObject,
112
+ C as floor,
112
113
  g as getAlignment,
113
- d as getAlignmentAxis,
114
- j as getAlignmentSides,
115
- x as getAxisLength,
116
- C as getExpandedPlacements,
114
+ y as getAlignmentAxis,
115
+ T as getAlignmentSides,
116
+ d as getAxisLength,
117
+ k as getExpandedPlacements,
117
118
  s as getOppositeAlignmentPlacement,
118
- h as getOppositeAxis,
119
- L as getOppositeAxisPlacements,
120
- u as getOppositePlacement,
121
- E as getPaddingObject,
122
- f as getSide,
123
- b as getSideAxis,
124
- a as max,
125
- l as min,
126
- R as rectToClientRect,
127
- P as round
119
+ b as getOppositeAxis,
120
+ q as getOppositeAxisPlacements,
121
+ f as getOppositePlacement,
122
+ z as getPaddingObject,
123
+ a as getSide,
124
+ P as getSideAxis,
125
+ p as max,
126
+ m as min,
127
+ B as rectToClientRect,
128
+ j as round
128
129
  };
129
130
  //# sourceMappingURL=annotorious-react.es23.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"annotorious-react.es23.js","sources":["../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs"],"sourcesContent":["/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n"],"names":["min","max","round","floor","createCoords","v","oppositeSideMap","oppositeAlignmentMap","clamp","start","value","end","evaluate","param","getSide","placement","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","getAlignmentAxis","getAlignmentSides","rects","rtl","alignment","alignmentAxis","length","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","getSideList","side","isStart","lr","rl","tb","bt","getOppositeAxisPlacements","flipAlignment","direction","list","expandPaddingObject","padding","getPaddingObject","rectToClientRect","rect","x","y","width","height"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"annotorious-react.es23.js","sources":["../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs"],"sourcesContent":["/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nconst yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);\nfunction getSideAxis(placement) {\n return yAxisSides.has(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rlPlacement : lrPlacement;\n return isStart ? lrPlacement : rlPlacement;\n case 'left':\n case 'right':\n return isStart ? tbPlacement : btPlacement;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n"],"names":["min","max","round","floor","createCoords","v","oppositeSideMap","oppositeAlignmentMap","clamp","start","value","end","evaluate","param","getSide","placement","getAlignment","getOppositeAxis","axis","getAxisLength","yAxisSides","getSideAxis","getAlignmentAxis","getAlignmentSides","rects","rtl","alignment","alignmentAxis","length","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","lrPlacement","rlPlacement","tbPlacement","btPlacement","getSideList","side","isStart","getOppositeAxisPlacements","flipAlignment","direction","list","expandPaddingObject","padding","getPaddingObject","rectToClientRect","rect","x","y","width","height"],"mappings":"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","x_google_ignoreList":[0]}