@soomo/react-text-annotator 3.1.0-staging.22 → 3.1.0-staging.24
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.
- package/dist/TextAnnotationPopup/TextAnnotationPopup.d.ts.map +1 -1
- package/dist/hooks/useAnnotationQuoteIdling.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/react-text-annotator.css +1 -31
- package/dist/react-text-annotator.es.js +245 -21
- package/dist/react-text-annotator.es.js.map +1 -1
- package/dist/tei/CETEIcean.d.ts +1 -0
- package/dist/tei/CETEIcean.d.ts.map +1 -1
- package/dist/tei/TEIAnnotator.d.ts.map +1 -1
- package/package.json +13 -12
- package/dist/react-text-annotator.es11.js +0 -490
- package/dist/react-text-annotator.es11.js.map +0 -1
- package/dist/react-text-annotator.es12.js +0 -85
- package/dist/react-text-annotator.es12.js.map +0 -1
- package/dist/react-text-annotator.es13.js +0 -48
- package/dist/react-text-annotator.es13.js.map +0 -1
- package/dist/react-text-annotator.es14.js +0 -28
- package/dist/react-text-annotator.es14.js.map +0 -1
- package/dist/react-text-annotator.es15.js +0 -1600
- package/dist/react-text-annotator.es15.js.map +0 -1
- package/dist/react-text-annotator.es16.js +0 -12
- package/dist/react-text-annotator.es16.js.map +0 -1
- package/dist/react-text-annotator.es18.js +0 -285
- package/dist/react-text-annotator.es18.js.map +0 -1
- package/dist/react-text-annotator.es19.js +0 -590
- package/dist/react-text-annotator.es19.js.map +0 -1
- package/dist/react-text-annotator.es2.js +0 -64
- package/dist/react-text-annotator.es2.js.map +0 -1
- package/dist/react-text-annotator.es20.js +0 -5
- package/dist/react-text-annotator.es20.js.map +0 -1
- package/dist/react-text-annotator.es21.js +0 -34
- package/dist/react-text-annotator.es21.js.map +0 -1
- package/dist/react-text-annotator.es22.js +0 -901
- package/dist/react-text-annotator.es22.js.map +0 -1
- package/dist/react-text-annotator.es23.js +0 -5
- package/dist/react-text-annotator.es23.js.map +0 -1
- package/dist/react-text-annotator.es24.js +0 -5
- package/dist/react-text-annotator.es24.js.map +0 -1
- package/dist/react-text-annotator.es25.js +0 -117
- package/dist/react-text-annotator.es25.js.map +0 -1
- package/dist/react-text-annotator.es26.js +0 -312
- package/dist/react-text-annotator.es26.js.map +0 -1
- package/dist/react-text-annotator.es27.js +0 -61
- package/dist/react-text-annotator.es27.js.map +0 -1
- package/dist/react-text-annotator.es28.js +0 -23
- package/dist/react-text-annotator.es28.js.map +0 -1
- package/dist/react-text-annotator.es29.js +0 -130
- package/dist/react-text-annotator.es29.js.map +0 -1
- package/dist/react-text-annotator.es3.js +0 -29
- package/dist/react-text-annotator.es3.js.map +0 -1
- package/dist/react-text-annotator.es30.js +0 -167
- package/dist/react-text-annotator.es30.js.map +0 -1
- package/dist/react-text-annotator.es31.js +0 -314
- package/dist/react-text-annotator.es31.js.map +0 -1
- package/dist/react-text-annotator.es32.js +0 -152
- package/dist/react-text-annotator.es32.js.map +0 -1
- package/dist/react-text-annotator.es33.js +0 -629
- package/dist/react-text-annotator.es33.js.map +0 -1
- package/dist/react-text-annotator.es4.js +0 -43
- package/dist/react-text-annotator.es4.js.map +0 -1
- package/dist/react-text-annotator.es5.js +0 -48
- package/dist/react-text-annotator.es5.js.map +0 -1
- package/dist/react-text-annotator.es6.js +0 -29
- package/dist/react-text-annotator.es6.js.map +0 -1
- package/dist/react-text-annotator.es7.js +0 -151
- package/dist/react-text-annotator.es7.js.map +0 -1
- package/dist/react-text-annotator.es8.js +0 -562
- package/dist/react-text-annotator.es8.js.map +0 -1
- package/dist/react-text-annotator.es9.js +0 -13
- package/dist/react-text-annotator.es9.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextAnnotationPopup.d.ts","sourceRoot":"","sources":["../../src/TextAnnotationPopup/TextAnnotationPopup.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,SAAS,EAAqD,MAAM,OAAO,CAAC;AAEhG,OAAO,EAIL,KAAK,cAAc,EAEpB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"TextAnnotationPopup.d.ts","sourceRoot":"","sources":["../../src/TextAnnotationPopup/TextAnnotationPopup.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,SAAS,EAAqD,MAAM,OAAO,CAAC;AAEhG,OAAO,EAIL,KAAK,cAAc,EAEpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAKL,kBAAkB,EAUnB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,2BAA2B,CAAC;AAEnC,UAAU,wBAAwB;IAEhC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,UAAU,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC;IAEzD,KAAK,CAAC,KAAK,EAAE,+BAA+B,GAAG,SAAS,CAAC;CAE1D;AAED,MAAM,WAAW,+BAA+B;IAE9C,UAAU,EAAE,cAAc,CAAC;IAE3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,KAAK,CAAC,EAAE,YAAY,GAAG,aAAa,CAAC;CAEtC;AAED,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,wBAAwB,CAwJ5D,CAAC;AAaF,mCAAmC;AACnC,kDAAkD;AAClD,eAAO,MAAM,kBAAkB,UAAW,wBAAwB,4CAOjE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAnnotationQuoteIdling.d.ts","sourceRoot":"","sources":["../../src/hooks/useAnnotationQuoteIdling.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,wBAAwB,iBACrB,MAAM,GAAG,SAAS,YACvB;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"useAnnotationQuoteIdling.d.ts","sourceRoot":"","sources":["../../src/hooks/useAnnotationQuoteIdling.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,wBAAwB,iBACrB,MAAM,GAAG,SAAS,YACvB;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,YA2C7B,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,6 @@ export type { Annotation, AnnotationBody, AnnotationTarget, Annotator, Annotator
|
|
|
7
7
|
export { createBody, Origin, UserSelectAction } from '@annotorious/core';
|
|
8
8
|
export { AnnotoriousPlugin } from '@annotorious/react';
|
|
9
9
|
export type { HighlightStyle, HighlightStyleExpression, TextAnnotation, TextAnnotationTarget, TextSelector, W3CTextAnnotation, W3CTextAnnotationTarget, W3CTextSelector, W3CAnnotationStylesheet, TextAnnotator as RecogitoTextAnnotator, TextAnnotationStore } from '@soomo/text-annotator';
|
|
10
|
-
export { W3CTextFormat } from '@
|
|
10
|
+
export { W3CTextFormat } from '@soomo/text-annotator';
|
|
11
11
|
export type { RecogitoTEIAnnotator, TEIAnnotation, TEIAnnotationTarget, TEIRangeSelector } from '@recogito/text-annotator-tei';
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AAGtC,YAAY,EACV,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,KAAK,EACL,MAAM,EACN,aAAa,EACb,UAAU,EACV,SAAS,EACT,cAAc,EACd,KAAK,EACL,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,IAAI,EACJ,0BAA0B,EAC1B,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,UAAU,EACV,MAAM,EACN,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACN,iBAAiB,EACjB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,cAAc,EACd,wBAAwB,EACxB,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,uBAAuB,EACvB,aAAa,IAAI,qBAAqB,EACtC,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,aAAa,EACd,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AAGtC,YAAY,EACV,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,KAAK,EACL,MAAM,EACN,aAAa,EACb,UAAU,EACV,SAAS,EACT,cAAc,EACd,KAAK,EACL,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,IAAI,EACJ,0BAA0B,EAC1B,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,UAAU,EACV,MAAM,EACN,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACN,iBAAiB,EACjB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,cAAc,EACd,wBAAwB,EACxB,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,uBAAuB,EACvB,aAAa,IAAI,qBAAqB,EACtC,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,aAAa,EACd,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,8BAA8B,CAAC"}
|
|
@@ -1,31 +1 @@
|
|
|
1
|
-
.r6o-
|
|
2
|
-
/*
|
|
3
|
-
* Close message should be visible only to the keyboard
|
|
4
|
-
* or the screen reader users as the popup behavior hint
|
|
5
|
-
* Inspired by https://gist.github.com/ffoodd/000b59f431e3e64e4ce1a24d5bb36034
|
|
6
|
-
*/
|
|
7
|
-
.r6o-popup-sr-only {
|
|
8
|
-
border: 0 !important;
|
|
9
|
-
clip: rect(1px, 1px, 1px, 1px);
|
|
10
|
-
-webkit-clip-path: inset(50%);
|
|
11
|
-
clip-path: inset(50%);
|
|
12
|
-
height: 1px;
|
|
13
|
-
margin: -1px;
|
|
14
|
-
overflow: hidden;
|
|
15
|
-
padding: 0;
|
|
16
|
-
position: absolute;
|
|
17
|
-
width: 1px;
|
|
18
|
-
white-space: nowrap;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.r6o-popup-sr-only:focus,
|
|
22
|
-
.r6o-popup-sr-only:active {
|
|
23
|
-
clip: auto;
|
|
24
|
-
-webkit-clip-path: none;
|
|
25
|
-
clip-path: none;
|
|
26
|
-
height: auto;
|
|
27
|
-
margin: auto;
|
|
28
|
-
overflow: visible;
|
|
29
|
-
width: auto;
|
|
30
|
-
white-space: normal;
|
|
31
|
-
}
|
|
1
|
+
.r6o-popup-sr-only{border:0!important;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.r6o-popup-sr-only:focus,.r6o-popup-sr-only:active{clip:auto;-webkit-clip-path:none;clip-path:none;height:auto;margin:auto;overflow:visible;width:auto;white-space:normal}
|
|
@@ -1,24 +1,248 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import
|
|
1
|
+
import { jsx as m, Fragment as $, jsxs as V } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as T, useEffect as a, useContext as B, useCallback as w, Children as W, cloneElement as Y, useLayoutEffect as z, useMemo as I, useState as y } from "react";
|
|
3
|
+
import J from "CETEIcean";
|
|
4
|
+
import { AnnotoriousContext as N, useAnnotationStore as M, useSelection as U, Origin as D, useAnnotator as G } from "@annotorious/react";
|
|
5
|
+
import { AnnotoriousPlugin as _e } from "@annotorious/react";
|
|
6
|
+
import { TEIPlugin as K } from "@recogito/text-annotator-tei";
|
|
7
|
+
import { createTextAnnotator as k, toViewportBounds as O, toDomRectList as X, NOT_ANNOTATABLE_CLASS as Z } from "@soomo/text-annotator";
|
|
8
|
+
import { W3CTextFormat as He } from "@soomo/text-annotator";
|
|
9
|
+
import "@soomo/text-annotator/dist/text-annotator.css";
|
|
10
|
+
import { announce as F, destroyAnnouncer as ee } from "@react-aria/live-announcer";
|
|
11
|
+
import { exhaustiveUniqueRandom as te } from "unique-random";
|
|
12
|
+
import { dequal as ne } from "dequal/lite";
|
|
13
|
+
import { Ignore as oe } from "@annotorious/core";
|
|
14
|
+
import { Origin as $e, UserSelectAction as Ve, createBody as We } from "@annotorious/core";
|
|
15
|
+
import { useFloating as re, autoUpdate as se, inline as ie, offset as ue, flip as ce, shift as ae, arrow as le, useDismiss as de, useRole as ge, useInteractions as fe, FloatingPortal as me, FloatingFocusManager as pe, FloatingArrow as he } from "@floating-ui/react";
|
|
16
|
+
const L = {
|
|
17
|
+
tei: {
|
|
18
|
+
ref: (e) => {
|
|
19
|
+
const r = document.createElement("a");
|
|
20
|
+
for (; e.firstChild; )
|
|
21
|
+
r.appendChild(e.removeChild(e.firstChild));
|
|
22
|
+
r.setAttribute("href", e.getAttribute("target")), e.appendChild(r);
|
|
23
|
+
},
|
|
24
|
+
// Cf. https://github.com/TEIC/CETEIcean/issues/67
|
|
25
|
+
graphic: (e) => {
|
|
26
|
+
var u;
|
|
27
|
+
const r = new Image();
|
|
28
|
+
r.src = (u = e.getAttribute("url")) == null ? void 0 : u.trim(), e.hasAttribute("width") && r.setAttribute("width", e.getAttribute("width")), e.hasAttribute("height") && r.setAttribute("height", e.getAttribute("height")), e.appendChild(r);
|
|
29
|
+
},
|
|
30
|
+
list: null,
|
|
31
|
+
note: null,
|
|
32
|
+
table: null,
|
|
33
|
+
teiHeader: (e) => {
|
|
34
|
+
e.hidden = !0;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}, Ne = (e) => {
|
|
38
|
+
const r = T(null);
|
|
39
|
+
return a(() => {
|
|
40
|
+
var u;
|
|
41
|
+
if (e.tei) {
|
|
42
|
+
const n = new J(e.initArgs);
|
|
43
|
+
n.addBehaviors({
|
|
44
|
+
...L,
|
|
45
|
+
...e.behaviors || {},
|
|
46
|
+
tei: {
|
|
47
|
+
...L.tei,
|
|
48
|
+
...((u = e.behaviors) == null ? void 0 : u.tei) || {}
|
|
49
|
+
}
|
|
50
|
+
}), n.makeHTML5(e.tei, (s) => {
|
|
51
|
+
r.current.appendChild(s), e.onLoad(r.current);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
return () => {
|
|
55
|
+
r.current.innerHTML = "";
|
|
56
|
+
};
|
|
57
|
+
}, [e.tei, JSON.stringify(e.initArgs), e.onLoad]), /* @__PURE__ */ m(
|
|
58
|
+
"div",
|
|
59
|
+
{
|
|
60
|
+
ref: r,
|
|
61
|
+
className: "tei-container"
|
|
62
|
+
}
|
|
63
|
+
);
|
|
64
|
+
}, Me = (e) => {
|
|
65
|
+
const { children: r, ...u } = e, { anno: n, setAnno: s } = B(N), i = w((t) => {
|
|
66
|
+
const d = K(k(t, u));
|
|
67
|
+
s(d);
|
|
68
|
+
}, []);
|
|
69
|
+
return a(() => {
|
|
70
|
+
n && n.setStyle(e.style);
|
|
71
|
+
}, [e.style]), a(() => {
|
|
72
|
+
n && n.setFilter(e.filter);
|
|
73
|
+
}, [e.filter]), e.children ? /* @__PURE__ */ m($, { children: W.toArray(e.children).map((t) => Y(t, { onLoad: i })) }) : null;
|
|
74
|
+
}, Ae = (e) => {
|
|
75
|
+
const {
|
|
76
|
+
message: r = "Press Tab to move to Notes Dialog",
|
|
77
|
+
idle: u = 700,
|
|
78
|
+
floatingOpen: n,
|
|
79
|
+
disabled: s = !1
|
|
80
|
+
} = e, i = M(), { event: t } = U(), d = w(te(1, 1e4), []);
|
|
81
|
+
z(() => {
|
|
82
|
+
if (!(s || !r))
|
|
83
|
+
return F("", "polite"), () => ee();
|
|
84
|
+
}, [s, r]);
|
|
85
|
+
const c = I(() => n ? d() : 0, [n]), g = w(() => {
|
|
86
|
+
const l = Array.from({ length: c }).map(() => " ").join("");
|
|
87
|
+
F(`${r} ${l}`, "polite");
|
|
88
|
+
}, [r, c]), o = T(null);
|
|
89
|
+
a(() => {
|
|
90
|
+
if (s || !n || !r) return;
|
|
91
|
+
const l = () => {
|
|
92
|
+
clearTimeout(o.current), o.current = setTimeout(g, u);
|
|
93
|
+
};
|
|
94
|
+
return l(), i.observe(l, { origin: D.LOCAL }), () => {
|
|
95
|
+
clearTimeout(o.current), i.unobserve(l);
|
|
96
|
+
};
|
|
97
|
+
}, [s, n, t == null ? void 0 : t.type, r, g, i]);
|
|
98
|
+
}, be = (e, r = { timeout: 500 }) => {
|
|
99
|
+
const u = M(), [n, s] = y(!0);
|
|
100
|
+
return a(() => {
|
|
101
|
+
if (!u || !e) return;
|
|
102
|
+
let i;
|
|
103
|
+
const t = (d) => {
|
|
104
|
+
const { changes: { updated: c } } = d;
|
|
105
|
+
(c == null ? void 0 : c.some((o) => {
|
|
106
|
+
const { targetUpdated: l } = o;
|
|
107
|
+
if (l) {
|
|
108
|
+
const { oldTarget: h, newTarget: A } = l;
|
|
109
|
+
return we(h, A);
|
|
110
|
+
}
|
|
111
|
+
})) && (s(!1), clearTimeout(i), i = setTimeout(() => s(!0), r.timeout));
|
|
112
|
+
};
|
|
113
|
+
return u.observe(t, {
|
|
114
|
+
annotations: e,
|
|
115
|
+
ignore: oe.BODY_ONLY,
|
|
116
|
+
origin: D.LOCAL
|
|
117
|
+
}), () => {
|
|
118
|
+
clearTimeout(i), u.unobserve(t);
|
|
119
|
+
};
|
|
120
|
+
}, [u, e, r.timeout]), n;
|
|
121
|
+
}, we = (e, r) => {
|
|
122
|
+
const { selector: u } = e, n = u.map(({ quote: t }) => t), { selector: s } = r, i = s.map(({ quote: t }) => t);
|
|
123
|
+
return !ne(n, i);
|
|
124
|
+
}, Ue = (e) => {
|
|
125
|
+
const r = T(null), { className: u, children: n, ...s } = e, { style: i, filter: t, user: d, annotatingEnabled: c, userSelectAction: g } = s, { anno: o, setAnno: l } = B(N);
|
|
126
|
+
return a(() => {
|
|
127
|
+
if (!l) return;
|
|
128
|
+
const h = typeof s.adapter == "function" ? s.adapter(r.current) : s.adapter, A = k(r.current, { ...s, adapter: h });
|
|
129
|
+
return l(A), () => A.destroy();
|
|
130
|
+
}, [l]), a(() => o == null ? void 0 : o.setStyle(i), [o, i]), a(() => o == null ? void 0 : o.setFilter(t), [o, t]), a(() => o == null ? void 0 : o.setFilter(t), [o, t]), a(() => o == null ? void 0 : o.setUserSelectAction(g), [o, g]), a(() => o == null ? void 0 : o.setUser(d), [o, d]), a(() => o == null ? void 0 : o.setAnnotatingEnabled(c), [o, c]), /* @__PURE__ */ m("div", { ref: r, className: u, children: n });
|
|
131
|
+
}, R = () => {
|
|
132
|
+
var e = navigator.userAgent || navigator.vendor || window.opera;
|
|
133
|
+
return !!(/android/i.test(e) || /iPad|iPhone/.test(e) && !window.MSStream);
|
|
134
|
+
}, ve = (e) => {
|
|
135
|
+
var E;
|
|
136
|
+
const { popup: r, ariaNavigationMessage: u } = e, n = G(), { selected: s, event: i } = U(), t = (E = s[0]) == null ? void 0 : E.annotation, d = be(t == null ? void 0 : t.id), [c, g] = y((s == null ? void 0 : s.length) > 0), o = () => n == null ? void 0 : n.cancelSelected(), [l, h] = y(!1), A = w(() => h(!0), []), P = w(() => h(!1), []);
|
|
137
|
+
a(() => {
|
|
138
|
+
c || P();
|
|
139
|
+
}, [c, P]);
|
|
140
|
+
const x = T(null), { refs: S, floatingStyles: Q, update: v, context: C } = re({
|
|
141
|
+
placement: R() ? "bottom" : "top",
|
|
142
|
+
open: c,
|
|
143
|
+
onOpenChange: (f, p, b) => {
|
|
144
|
+
!f && (b === "escape-key" || b === "focus-out") && (g(f), o());
|
|
145
|
+
},
|
|
146
|
+
middleware: [
|
|
147
|
+
ie(),
|
|
148
|
+
ue(10),
|
|
149
|
+
ce({ crossAxis: !0 }),
|
|
150
|
+
ae({ crossAxis: !0, padding: 10 }),
|
|
151
|
+
le({ element: x })
|
|
152
|
+
],
|
|
153
|
+
whileElementsMounted: se
|
|
154
|
+
}), _ = de(C), q = ge(C, { role: "dialog" }), { getFloatingProps: H } = fe([_, q]);
|
|
155
|
+
a(() => {
|
|
156
|
+
if (!n) return;
|
|
157
|
+
const f = t == null ? void 0 : t.id, p = t == null ? void 0 : t.target.selector.length;
|
|
158
|
+
if (f && p > 0 && d) {
|
|
159
|
+
const b = n.state.store.getAnnotationBounds(t.id);
|
|
160
|
+
g(!!b);
|
|
161
|
+
} else
|
|
162
|
+
g(!1);
|
|
163
|
+
}, [t == null ? void 0 : t.id, t == null ? void 0 : t.target.selector, d, n == null ? void 0 : n.state.store]), a(() => {
|
|
164
|
+
n && (c && (t != null && t.id) ? S.setPositionReference({
|
|
165
|
+
getBoundingClientRect: () => {
|
|
166
|
+
const f = n.state.store.getAnnotationBounds(t.id);
|
|
167
|
+
return f ? O(f, n.element.getBoundingClientRect()) : new DOMRect();
|
|
168
|
+
},
|
|
169
|
+
getClientRects: () => {
|
|
170
|
+
const p = n.state.store.getAnnotationRects(t.id).map(
|
|
171
|
+
(b) => O(b, n.element.getBoundingClientRect())
|
|
172
|
+
);
|
|
173
|
+
return X(p);
|
|
174
|
+
}
|
|
175
|
+
}) : S.setPositionReference(null));
|
|
176
|
+
}, [c, t == null ? void 0 : t.id, t == null ? void 0 : t.target, n]), a(() => {
|
|
177
|
+
const f = { attributes: !0, childList: !0, subtree: !0 }, p = new MutationObserver(() => v());
|
|
178
|
+
return p.observe(document.body, f), window.document.addEventListener("scroll", v, !0), () => {
|
|
179
|
+
p.disconnect(), window.document.removeEventListener("scroll", v, !0);
|
|
180
|
+
};
|
|
181
|
+
}, [v]);
|
|
182
|
+
const j = I(() => (i == null ? void 0 : i.type) === "keyup" || (i == null ? void 0 : i.type) === "contextmenu" || R() ? -1 : 0, [i]);
|
|
183
|
+
return Ae({
|
|
184
|
+
disabled: l,
|
|
185
|
+
floatingOpen: c,
|
|
186
|
+
message: u
|
|
187
|
+
}), c && t ? /* @__PURE__ */ m(me, { children: /* @__PURE__ */ m(
|
|
188
|
+
pe,
|
|
189
|
+
{
|
|
190
|
+
context: C,
|
|
191
|
+
modal: !1,
|
|
192
|
+
closeOnFocusOut: !0,
|
|
193
|
+
returnFocus: !1,
|
|
194
|
+
initialFocus: j,
|
|
195
|
+
children: /* @__PURE__ */ V(
|
|
196
|
+
"div",
|
|
197
|
+
{
|
|
198
|
+
className: `a9s-popup r6o-popup annotation-popup r6o-text-popup ${Z}`,
|
|
199
|
+
ref: S.setFloating,
|
|
200
|
+
style: Q,
|
|
201
|
+
...H({
|
|
202
|
+
onFocus: A,
|
|
203
|
+
onBlur: P,
|
|
204
|
+
...Ce()
|
|
205
|
+
}),
|
|
206
|
+
children: [
|
|
207
|
+
r({
|
|
208
|
+
annotation: s[0].annotation,
|
|
209
|
+
editable: s[0].editable,
|
|
210
|
+
event: i
|
|
211
|
+
}),
|
|
212
|
+
e.arrow && /* @__PURE__ */ m(
|
|
213
|
+
he,
|
|
214
|
+
{
|
|
215
|
+
ref: x,
|
|
216
|
+
context: C,
|
|
217
|
+
...e.arrowProps || {}
|
|
218
|
+
}
|
|
219
|
+
),
|
|
220
|
+
/* @__PURE__ */ m("button", { className: "r6o-popup-sr-only", "aria-live": "assertive", onClick: o, children: e.ariaCloseWarning || "Click or leave this dialog to close it." })
|
|
221
|
+
]
|
|
222
|
+
}
|
|
223
|
+
)
|
|
224
|
+
}
|
|
225
|
+
) }) : null;
|
|
226
|
+
}, Ce = () => ({
|
|
227
|
+
onPointerUp: (e) => e.stopPropagation(),
|
|
228
|
+
onPointerDown: (e) => e.stopPropagation(),
|
|
229
|
+
onMouseDown: (e) => e.stopPropagation(),
|
|
230
|
+
onMouseUp: (e) => e.stopPropagation()
|
|
231
|
+
}), De = (e) => (a(() => {
|
|
232
|
+
console.warn("TextAnnotatorPopup is deprecated and will be removed in a future version. Please use TextAnnotationPopup instead.");
|
|
233
|
+
}, []), /* @__PURE__ */ m(ve, { ...e }));
|
|
10
234
|
export {
|
|
11
|
-
AnnotoriousPlugin,
|
|
12
|
-
CETEIcean,
|
|
13
|
-
Origin,
|
|
14
|
-
TEIAnnotator,
|
|
15
|
-
TextAnnotationPopup,
|
|
16
|
-
TextAnnotator,
|
|
17
|
-
TextAnnotatorPopup,
|
|
18
|
-
UserSelectAction,
|
|
19
|
-
W3CTextFormat,
|
|
20
|
-
createBody,
|
|
21
|
-
useAnnotationQuoteIdling,
|
|
22
|
-
useAnnouncePopupNavigation
|
|
235
|
+
_e as AnnotoriousPlugin,
|
|
236
|
+
Ne as CETEIcean,
|
|
237
|
+
$e as Origin,
|
|
238
|
+
Me as TEIAnnotator,
|
|
239
|
+
ve as TextAnnotationPopup,
|
|
240
|
+
Ue as TextAnnotator,
|
|
241
|
+
De as TextAnnotatorPopup,
|
|
242
|
+
Ve as UserSelectAction,
|
|
243
|
+
He as W3CTextFormat,
|
|
244
|
+
We as createBody,
|
|
245
|
+
be as useAnnotationQuoteIdling,
|
|
246
|
+
Ae as useAnnouncePopupNavigation
|
|
23
247
|
};
|
|
24
248
|
//# sourceMappingURL=react-text-annotator.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-text-annotator.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"react-text-annotator.es.js","sources":["../src/tei/CETEIcean.tsx","../src/tei/TEIAnnotator.tsx","../src/hooks/useAnnouncePopupNavigation.ts","../src/hooks/useAnnotationQuoteIdling.ts","../src/TextAnnotator.tsx","../src/TextAnnotationPopup/isMobile.ts","../src/TextAnnotationPopup/TextAnnotationPopup.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport CETEI from 'CETEIcean';\n\ninterface CETEIceanProps {\n\n initArgs?: any;\n\n tei?: string;\n\n onLoad?(element: Element): void;\n\n behaviors?: any;\n\n}\n\n// Override default list, note, table, and ref behaviors \n// so they don't introduce text into the DOM that interferes\n// with annotation. Apply a patch to graphics for robustness.\nconst PRESET_BEHAVIORS = {\n tei: {\n ref: (elem: Element) => {\n const a = document.createElement('a');\n\n while(elem.firstChild) {\n a.appendChild(elem.removeChild(elem.firstChild));\n }\n\n a.setAttribute('href', elem.getAttribute('target'));\n\n elem.appendChild(a);\n },\n // Cf. https://github.com/TEIC/CETEIcean/issues/67\n graphic: (elem: Element) => {\n const content = new Image();\n content.src = elem.getAttribute('url')?.trim();\n\n if (elem.hasAttribute('width'))\n content.setAttribute('width', elem.getAttribute('width'));\n\n if (elem.hasAttribute('height'))\n content.setAttribute('height', elem.getAttribute('height'));\n\n elem.appendChild(content);\n },\n list: null,\n note: null,\n table: null,\n teiHeader: (elem: HTMLElement) => {\n elem.hidden = true;\n }\n }\n}\n\nexport const CETEIcean = (props: CETEIceanProps) => {\n\n const el = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (props.tei) {\n const ceteicean = new CETEI(props.initArgs);\n\n ceteicean.addBehaviors({\n ...PRESET_BEHAVIORS,\n ...(props.behaviors || {}),\n tei: {\n ...PRESET_BEHAVIORS.tei,\n ...(props.behaviors?.tei || {})\n }\n });\n\n ceteicean.makeHTML5(props.tei, (data: Element) => {\n el.current.appendChild(data);\n props.onLoad(el.current);\n });\n }\n\n return () => {\n el.current.innerHTML = '';\n }\n }, [props.tei, JSON.stringify(props.initArgs), props.onLoad]);\n\n return (\n <div \n ref={el}\n className=\"tei-container\" />\n )\n\n}","import { Children, ReactElement, ReactNode, cloneElement, useCallback, useContext, useEffect } from 'react';\nimport { AnnotoriousContext, Filter } from '@annotorious/react';\nimport { TEIPlugin } from '@recogito/text-annotator-tei';\nimport { createTextAnnotator, HighlightStyleExpression } from '@soomo/text-annotator';\nimport type { TextAnnotatorOptions } from '@soomo/text-annotator';\n\nimport '@soomo/text-annotator/dist/text-annotator.css';\n\nexport type TEIAnnotatorProps = TextAnnotatorOptions & {\n\n children?: ReactNode | JSX.Element;\n\n filter?: Filter;\n\n style?: HighlightStyleExpression\n\n}\n\nexport const TEIAnnotator = (props: TEIAnnotatorProps) => {\n\n const { children, ...opts } = props;\n\n const { anno, setAnno } = useContext(AnnotoriousContext);\n\n const onLoad = useCallback((element: HTMLElement) => {\n const anno = TEIPlugin(createTextAnnotator(element, opts));\n setAnno(anno);\n }, []);\n\n useEffect(() => {\n if (!anno)\n return;\n \n anno.setStyle(props.style);\n }, [props.style]);\n\n useEffect(() => {\n if (!anno)\n return;\n \n anno.setFilter(props.filter);\n }, [props.filter]);\n\n return props.children ? (\n <>\n {Children.toArray(props.children).map(child => \n cloneElement(child as ReactElement, { onLoad }))}\n </>\n ) : null;\n\n}\n","import { useCallback, useEffect, useLayoutEffect, useMemo, useRef } from 'react';\n\nimport { Origin, useAnnotationStore, useSelection } from '@annotorious/react';\nimport type { TextAnnotation } from '@soomo/text-annotator';\nimport { announce, destroyAnnouncer } from '@react-aria/live-announcer';\nimport { exhaustiveUniqueRandom } from 'unique-random';\n\ninterface AnnouncePopupOpeningArgs {\n message?: string;\n idle?: number;\n floatingOpen: boolean;\n floatingFocused?: boolean;\n disabled?: boolean;\n}\n\nexport const useAnnouncePopupNavigation = (args: AnnouncePopupOpeningArgs) => {\n const {\n message = 'Press Tab to move to Notes Dialog',\n idle = 700,\n floatingOpen,\n disabled = false\n } = args;\n\n const store = useAnnotationStore();\n const { event } = useSelection<TextAnnotation>();\n\n // Generate random numbers that do not repeat until the entire 1-10000 range has appeared\n const uniqueRandom = useCallback(exhaustiveUniqueRandom(1, 10000), []);\n\n /**\n * Initialize the `LiveAnnouncer` class and\n * its `polite` announcements live area\n */\n useLayoutEffect(() => {\n if (disabled || !message) return;\n\n announce('', 'polite');\n return () => destroyAnnouncer();\n }, [disabled, message]);\n\n /**\n * Screen reader requires messages to always be unique!\n * Otherwise, the hint will be announced once per page.\n */\n const announcementSeed = useMemo(() => floatingOpen ? uniqueRandom() : 0, [floatingOpen]);\n\n const announcePopupNavigation = useCallback(() => {\n /**\n * To imitate the uniqueness of the announced message\n * w/o mutating it - we can append spaces at the end.\n */\n const uniqueSpaces = Array.from({ length: announcementSeed }).map(() => ' ').join('');\n announce(`${message} ${uniqueSpaces}`, 'polite');\n }, [message, announcementSeed]);\n\n const idleTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n useEffect(() => {\n if (disabled || !floatingOpen || !message) return;\n\n const scheduleIdleAnnouncement = () => {\n clearTimeout(idleTimeoutRef.current);\n idleTimeoutRef.current = setTimeout(announcePopupNavigation, idle);\n };\n\n scheduleIdleAnnouncement();\n store.observe(scheduleIdleAnnouncement, { origin: Origin.LOCAL });\n\n return () => {\n clearTimeout(idleTimeoutRef.current);\n store.unobserve(scheduleIdleAnnouncement);\n };\n }, [disabled, floatingOpen, event?.type, message, announcePopupNavigation, store]);\n\n};\n","import { useEffect, useState } from 'react';\nimport { dequal } from 'dequal/lite';\n\nimport { Origin, useAnnotationStore } from '@annotorious/react';\nimport { Ignore, type StoreChangeEvent } from '@annotorious/core';\nimport type { TextAnnotation, TextAnnotationStore, TextAnnotationTarget } from '@soomo/text-annotator';\n\nexport const useAnnotationQuoteIdling = (\n annotationId: string | undefined,\n options: { timeout: number } = { timeout: 500 }\n) => {\n const store = useAnnotationStore<TextAnnotationStore>();\n\n const [isIdling, setIdling] = useState(true);\n\n useEffect(() => {\n if (!store || !annotationId) return;\n\n let idlingTimeout: ReturnType<typeof setTimeout>;\n\n const scheduleSetIdling = (event: StoreChangeEvent<TextAnnotation>) => {\n const { changes: { updated } } = event;\n\n const hasChanged = updated?.some((update) => {\n const { targetUpdated } = update;\n if (targetUpdated) {\n const { oldTarget, newTarget } = targetUpdated;\n return hasTargetQuoteChanged(oldTarget, newTarget);\n }\n });\n\n if (hasChanged) {\n setIdling(false);\n\n clearTimeout(idlingTimeout);\n idlingTimeout = setTimeout(() => setIdling(true), options.timeout);\n }\n };\n\n store.observe(scheduleSetIdling, {\n annotations: annotationId,\n ignore: Ignore.BODY_ONLY,\n origin: Origin.LOCAL\n });\n\n return () => {\n clearTimeout(idlingTimeout);\n store.unobserve(scheduleSetIdling);\n };\n }, [store, annotationId, options.timeout]);\n\n return isIdling;\n};\n\nconst hasTargetQuoteChanged = (oldValue: TextAnnotationTarget, newValue: TextAnnotationTarget) => {\n const { selector: oldSelector } = oldValue;\n const oldQuotes = oldSelector.map(({ quote }) => quote);\n\n const { selector: newSelector } = newValue;\n const newQuotes = newSelector.map(({ quote }) => quote);\n\n return !dequal(oldQuotes, newQuotes);\n};\n","import { ReactNode, useContext, useEffect, useRef } from 'react';\nimport { AnnotoriousContext, Filter } from '@annotorious/react';\nimport type { FormatAdapter } from '@annotorious/core';\nimport type { HighlightStyleExpression, TextAnnotation, TextAnnotatorOptions } from '@soomo/text-annotator';\nimport { createTextAnnotator } from '@soomo/text-annotator';\n\nimport '@soomo/text-annotator/dist/text-annotator.css';\n\nexport interface TextAnnotatorProps<I extends TextAnnotation = TextAnnotation, E extends unknown = TextAnnotation> extends Omit<TextAnnotatorOptions<I, E>, 'adapter'> {\n\n children?: ReactNode | JSX.Element;\n\n adapter?: FormatAdapter<I, E> | ((container: HTMLElement) => FormatAdapter<I, E>) | null;\n\n filter?: Filter<I>;\n\n style?: HighlightStyleExpression;\n\n className?: string;\n\n}\n\nexport const TextAnnotator = <I extends TextAnnotation = TextAnnotation, E extends unknown = TextAnnotation>(\n props: TextAnnotatorProps<I, E>\n) => {\n\n const el = useRef<HTMLDivElement>(null);\n\n const { className, children, ...opts } = props;\n const { style, filter, user, annotatingEnabled, userSelectAction } = opts;\n\n const { anno, setAnno } = useContext(AnnotoriousContext);\n\n useEffect(() => {\n if (!setAnno) return;\n\n const adapter = typeof opts.adapter === 'function' ? opts.adapter(el.current) : opts.adapter;\n\n const anno = createTextAnnotator(el.current, { ...opts, adapter });\n setAnno(anno);\n\n return () => anno.destroy();\n }, [setAnno]);\n\n useEffect(() => anno?.setStyle(style), [anno, style]);\n\n useEffect(() => anno?.setFilter(filter), [anno, filter]);\n\n useEffect(() => anno?.setFilter(filter), [anno, filter]);\n\n useEffect(() => anno?.setUserSelectAction(userSelectAction), [anno, userSelectAction]);\n\n useEffect(() => anno?.setUser(user), [anno, user]);\n\n useEffect(() => anno?.setAnnotatingEnabled(annotatingEnabled), [anno, annotatingEnabled]);\n\n return (\n <div ref={el} className={className}>\n {children}\n </div>\n );\n\n};\n","// https://stackoverflow.com/questions/21741841/detecting-ios-android-operating-system\nexport const isMobile = () => {\n // @ts-ignore\n var userAgent: string = navigator.userAgent || navigator.vendor || window.opera;\n\n if (/android/i.test(userAgent)) \n return true;\n\n // @ts-ignore\n // Note: as of recently, this NO LONGER DETECTS FIREFOX ON iOS!\n // This means FF/iOS will behave like on the desktop, and loose\n // selection handlebars after the popup opens.\n if (/iPad|iPhone/.test(userAgent) && !window.MSStream)\n return true;\n\n return false;\n}","import React, { FC, ReactNode, useCallback, useRef, useEffect, useMemo, useState } from 'react';\nimport { useAnnotator, useSelection } from '@annotorious/react';\nimport {\n NOT_ANNOTATABLE_CLASS,\n toViewportBounds,\n toDomRectList,\n type TextAnnotation,\n type TextAnnotator,\n} from '@soomo/text-annotator';\n\nimport {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingArrowProps,\n FloatingFocusManager,\n FloatingPortal,\n inline,\n offset,\n shift,\n useDismiss,\n useFloating,\n useInteractions,\n useRole\n} from '@floating-ui/react';\n\nimport { isMobile } from './isMobile';\nimport { useAnnouncePopupNavigation, useAnnotationQuoteIdling } from '../hooks';\n\nimport './TextAnnotationPopup.css';\n\ninterface TextAnnotationPopupProps {\n\n ariaNavigationMessage?: string;\n\n ariaCloseWarning?: string;\n\n arrow?: boolean;\n\n arrowProps?: Omit<FloatingArrowProps, 'context' | 'ref'>;\n\n popup(props: TextAnnotationPopupContentProps): ReactNode;\n\n}\n\nexport interface TextAnnotationPopupContentProps {\n\n annotation: TextAnnotation;\n\n editable?: boolean;\n\n event?: PointerEvent | KeyboardEvent;\n\n}\n\nexport const TextAnnotationPopup: FC<TextAnnotationPopupProps> = (props) => {\n\n const { popup, ariaNavigationMessage } = props;\n\n const r = useAnnotator<TextAnnotator>();\n\n const { selected, event } = useSelection<TextAnnotation>();\n const annotation = selected[0]?.annotation;\n\n const isAnnotationQuoteIdling = useAnnotationQuoteIdling(annotation?.id);\n\n const [isOpen, setOpen] = useState(selected?.length > 0);\n const handleClose = () => r?.cancelSelected();\n\n const [isFocused, setFocused] = useState(false);\n const handleFocus = useCallback(() => setFocused(true), []);\n const handleBlur = useCallback(() => setFocused(false), []);\n useEffect(() => {\n if (!isOpen) handleBlur();\n }, [isOpen, handleBlur]);\n\n const arrowRef = useRef(null);\n\n const { refs, floatingStyles, update, context } = useFloating({\n placement: isMobile() ? 'bottom' : 'top',\n open: isOpen,\n onOpenChange: (open, _event, reason) => {\n if (!open && (reason === 'escape-key' || reason === 'focus-out')) {\n setOpen(open);\n handleClose();\n }\n },\n middleware: [\n inline(),\n offset(10),\n flip({ crossAxis: true }),\n shift({ crossAxis: true, padding: 10 }),\n arrow({ element: arrowRef })\n ],\n whileElementsMounted: autoUpdate\n });\n\n const dismiss = useDismiss(context);\n\n const role = useRole(context, { role: 'dialog' });\n\n const { getFloatingProps } = useInteractions([dismiss, role]);\n\n useEffect(() => {\n if (!r) return;\n\n const annotationId = annotation?.id;\n const annotationSelectorsLength = annotation?.target.selector.length;\n\n if (annotationId && annotationSelectorsLength > 0 && isAnnotationQuoteIdling) {\n const bounds = r.state.store.getAnnotationBounds(annotation.id);\n setOpen(Boolean(bounds));\n } else {\n setOpen(false);\n }\n }, [annotation?.id, annotation?.target.selector, isAnnotationQuoteIdling, r?.state.store]);\n\n useEffect(() => {\n if (!r) return;\n\n if (isOpen && annotation?.id) {\n refs.setPositionReference({\n getBoundingClientRect: () => {\n const bounds = r.state.store.getAnnotationBounds(annotation.id);\n return bounds\n ? toViewportBounds(bounds, r.element.getBoundingClientRect())\n : new DOMRect();\n },\n getClientRects: () => {\n const rects = r.state.store.getAnnotationRects(annotation.id);\n const denormalizedRects = rects.map((rect) =>\n toViewportBounds(rect, r.element.getBoundingClientRect())\n );\n return toDomRectList(denormalizedRects);\n }\n });\n } else {\n refs.setPositionReference(null);\n }\n }, [isOpen, annotation?.id, annotation?.target, r]);\n\n useEffect(() => {\n const config: MutationObserverInit = { attributes: true, childList: true, subtree: true };\n\n const mutationObserver = new MutationObserver(() => update());\n mutationObserver.observe(document.body, config);\n\n window.document.addEventListener('scroll', update, true);\n\n return () => {\n mutationObserver.disconnect();\n window.document.removeEventListener('scroll', update, true);\n };\n }, [update]);\n\n // Don't shift focus to the floating element if selected via keyboard or on mobile.\n const initialFocus = useMemo(() => {\n return (event?.type === 'keyup' || event?.type === 'contextmenu' || isMobile()) ? -1 : 0;\n }, [event]);\n\n /**\n * Announce the navigation hint only on the keyboard selection,\n * because the focus isn't shifted to the popup automatically then\n */\n useAnnouncePopupNavigation({\n disabled: isFocused,\n floatingOpen: isOpen,\n message: ariaNavigationMessage,\n });\n\n return isOpen && annotation ? (\n <FloatingPortal>\n <FloatingFocusManager\n context={context}\n modal={false}\n closeOnFocusOut={true}\n returnFocus={false}\n initialFocus={initialFocus}>\n <div\n className={`a9s-popup r6o-popup annotation-popup r6o-text-popup ${NOT_ANNOTATABLE_CLASS}`}\n ref={refs.setFloating}\n style={floatingStyles}\n {...getFloatingProps({\n onFocus: handleFocus,\n onBlur: handleBlur,\n ...getStopEventsPropagationProps()\n })}>\n {popup({\n annotation: selected[0].annotation,\n editable: selected[0].editable,\n event\n })}\n{props.arrow && (\n <FloatingArrow\n ref={arrowRef}\n context={context}\n {...(props.arrowProps || {})} />\n )}\n\n <button className=\"r6o-popup-sr-only\" aria-live=\"assertive\" onClick={handleClose}>\n {props.ariaCloseWarning || 'Click or leave this dialog to close it.'}\n </button>\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n ) : null;\n\n};\n\n/**\n * Prevent text-annotator from handling the irrelevant events\n * triggered from the popup/toolbar/dialog\n */\nconst getStopEventsPropagationProps = <T extends HTMLElement = HTMLElement>() => ({\n onPointerUp: (event: React.PointerEvent<T>) => event.stopPropagation(),\n onPointerDown: (event: React.PointerEvent<T>) => event.stopPropagation(),\n onMouseDown: (event: React.MouseEvent<T>) => event.stopPropagation(),\n onMouseUp: (event: React.MouseEvent<T>) => event.stopPropagation()\n});\n\n/** For backwards compatibility **/\n/** @deprecated Use TextAnnotationPopup instead */\nexport const TextAnnotatorPopup = (props: TextAnnotationPopupProps) => {\n\n useEffect(() => {\n console.warn('TextAnnotatorPopup is deprecated and will be removed in a future version. Please use TextAnnotationPopup instead.');\n }, []);\n\n return <TextAnnotationPopup {...props} />;\n};\n"],"names":["PRESET_BEHAVIORS","elem","a","content","_a","CETEIcean","props","el","useRef","useEffect","ceteicean","CETEI","data","jsx","TEIAnnotator","children","opts","anno","setAnno","useContext","AnnotoriousContext","onLoad","useCallback","element","TEIPlugin","createTextAnnotator","Fragment","Children","child","cloneElement","useAnnouncePopupNavigation","args","message","idle","floatingOpen","disabled","store","useAnnotationStore","event","useSelection","uniqueRandom","exhaustiveUniqueRandom","useLayoutEffect","announce","destroyAnnouncer","announcementSeed","useMemo","announcePopupNavigation","uniqueSpaces","idleTimeoutRef","scheduleIdleAnnouncement","Origin","useAnnotationQuoteIdling","annotationId","options","isIdling","setIdling","useState","idlingTimeout","scheduleSetIdling","updated","update","targetUpdated","oldTarget","newTarget","hasTargetQuoteChanged","Ignore","oldValue","newValue","oldSelector","oldQuotes","quote","newSelector","newQuotes","dequal","TextAnnotator","className","style","filter","user","annotatingEnabled","userSelectAction","adapter","isMobile","userAgent","TextAnnotationPopup","popup","ariaNavigationMessage","r","useAnnotator","selected","annotation","isAnnotationQuoteIdling","isOpen","setOpen","handleClose","isFocused","setFocused","handleFocus","handleBlur","arrowRef","refs","floatingStyles","context","useFloating","open","_event","reason","inline","offset","flip","shift","arrow","autoUpdate","dismiss","useDismiss","role","useRole","getFloatingProps","useInteractions","annotationSelectorsLength","bounds","toViewportBounds","denormalizedRects","rect","toDomRectList","config","mutationObserver","initialFocus","FloatingPortal","FloatingFocusManager","jsxs","NOT_ANNOTATABLE_CLASS","getStopEventsPropagationProps","FloatingArrow","TextAnnotatorPopup"],"mappings":"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"}
|
package/dist/tei/CETEIcean.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CETEIcean.d.ts","sourceRoot":"","sources":["../../src/tei/CETEIcean.tsx"],"names":[],"mappings":"AAGA,UAAU,cAAc;IAEtB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAEhC,SAAS,CAAC,EAAE,GAAG,CAAC;CAEjB;AAwCD,eAAO,MAAM,SAAS,UAAW,cAAc,
|
|
1
|
+
{"version":3,"file":"CETEIcean.d.ts","sourceRoot":"","sources":["../../src/tei/CETEIcean.tsx"],"names":[],"mappings":"AAGA,UAAU,cAAc;IAEtB,QAAQ,CAAC,EAAE,GAAG,CAAC;IAEf,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAEhC,SAAS,CAAC,EAAE,GAAG,CAAC;CAEjB;AAwCD,eAAO,MAAM,SAAS,UAAW,cAAc,4CAkC9C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TEIAnnotator.d.ts","sourceRoot":"","sources":["../../src/tei/TEIAnnotator.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"TEIAnnotator.d.ts","sourceRoot":"","sources":["../../src/tei/TEIAnnotator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA0B,SAAS,EAAoD,MAAM,OAAO,CAAC;AAC5G,OAAO,EAAsB,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAuB,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,+CAA+C,CAAC;AAEvD,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,GAAG;IAErD,QAAQ,CAAC,EAAE,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC;IAEnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,KAAK,CAAC,EAAE,wBAAwB,CAAA;CAEjC,CAAA;AAED,eAAO,MAAM,YAAY,UAAW,iBAAiB,4CAgCpD,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@soomo/react-text-annotator",
|
|
3
|
-
"version": "3.1.0-staging.
|
|
3
|
+
"version": "3.1.0-staging.24",
|
|
4
4
|
"description": "Recogito Text Annotator React bindings",
|
|
5
5
|
"author": "Rainer Simon",
|
|
6
6
|
"license": "BSD-3-Clause",
|
|
@@ -24,14 +24,15 @@
|
|
|
24
24
|
"module": "./dist/react-text-annotator.es.js",
|
|
25
25
|
"types": "./dist/index.d.ts",
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@types/react-dom": "^18.3.
|
|
28
|
-
"@vitejs/plugin-react": "^4.3.
|
|
27
|
+
"@types/react-dom": "^18.3.5",
|
|
28
|
+
"@vitejs/plugin-react": "^4.3.4",
|
|
29
29
|
"react": "^18.3.1",
|
|
30
30
|
"react-dom": "^18.3.1",
|
|
31
|
-
"typescript": "5.
|
|
32
|
-
"vite": "^
|
|
33
|
-
"vite-plugin-dts": "^4.
|
|
34
|
-
"vite-
|
|
31
|
+
"typescript": "^5.7.3",
|
|
32
|
+
"vite": "^6.1.1",
|
|
33
|
+
"vite-plugin-dts": "^4.5.0",
|
|
34
|
+
"vite-plugin-externalize-deps": "^0.9.0",
|
|
35
|
+
"vite-tsconfig-paths": "^5.1.4"
|
|
35
36
|
},
|
|
36
37
|
"peerDependencies": {
|
|
37
38
|
"openseadragon": "^3.0.0 || ^4.0.0 || ^5.0.0",
|
|
@@ -44,12 +45,12 @@
|
|
|
44
45
|
}
|
|
45
46
|
},
|
|
46
47
|
"dependencies": {
|
|
47
|
-
"@annotorious/core": "^3.0.
|
|
48
|
-
"@annotorious/react": "^3.0.
|
|
49
|
-
"@floating-ui/react": "^0.
|
|
48
|
+
"@annotorious/core": "^3.0.14",
|
|
49
|
+
"@annotorious/react": "^3.0.14",
|
|
50
|
+
"@floating-ui/react": "^0.27.4",
|
|
50
51
|
"@react-aria/live-announcer": "^3.3.4",
|
|
51
|
-
"@soomo/text-annotator": "3.1.0-staging.
|
|
52
|
-
"@recogito/text-annotator-tei": "3.0.0-rc.
|
|
52
|
+
"@soomo/text-annotator": "3.1.0-staging.24",
|
|
53
|
+
"@recogito/text-annotator-tei": "3.0.0-rc.53",
|
|
53
54
|
"CETEIcean": "^1.9.3",
|
|
54
55
|
"dequal": "^2.0.3",
|
|
55
56
|
"unique-random": "^4.0.0"
|