@soomo/react-text-annotator 3.1.0-staging.9 → 3.2.0-staging.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.
- package/dist/TextAnnotationPopup/TextAnnotationPopup.d.ts +32 -0
- package/dist/TextAnnotationPopup/TextAnnotationPopup.d.ts.map +1 -0
- package/dist/TextAnnotationPopup/index.d.ts +2 -0
- package/dist/TextAnnotationPopup/index.d.ts.map +1 -0
- package/dist/TextAnnotationPopup/isMobile.d.ts.map +1 -0
- package/dist/TextAnnotator.d.ts +5 -5
- package/dist/TextAnnotator.d.ts.map +1 -1
- package/dist/hooks/index.d.ts +2 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/useAnnotationQuoteIdling.d.ts +4 -0
- package/dist/hooks/useAnnotationQuoteIdling.d.ts.map +1 -0
- package/dist/hooks/useAnnouncePopupNavigation.d.ts.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/react-text-annotator.es.js +10 -4
- package/dist/react-text-annotator.es.js.map +1 -1
- package/dist/react-text-annotator.es10.js +24 -10
- package/dist/react-text-annotator.es10.js.map +1 -1
- package/dist/react-text-annotator.es11.js +82 -9
- package/dist/react-text-annotator.es11.js.map +1 -1
- package/dist/react-text-annotator.es12.js +33 -1436
- package/dist/react-text-annotator.es12.js.map +1 -1
- package/dist/react-text-annotator.es13.js +28 -0
- package/dist/react-text-annotator.es13.js.map +1 -0
- package/dist/react-text-annotator.es14.js +1590 -193
- package/dist/react-text-annotator.es14.js.map +1 -1
- package/dist/react-text-annotator.es15.js +9 -584
- package/dist/react-text-annotator.es15.js.map +1 -1
- package/dist/react-text-annotator.es17.js +592 -33
- package/dist/react-text-annotator.es17.js.map +1 -1
- package/dist/react-text-annotator.es18.js +282 -2
- package/dist/react-text-annotator.es18.js.map +1 -1
- package/dist/react-text-annotator.es19.js +13 -29
- package/dist/react-text-annotator.es19.js.map +1 -1
- package/dist/react-text-annotator.es2.js +5 -2
- package/dist/react-text-annotator.es2.js.map +1 -1
- package/dist/react-text-annotator.es20.js +2 -898
- package/dist/react-text-annotator.es20.js.map +1 -1
- package/dist/react-text-annotator.es21.js +31 -2
- package/dist/react-text-annotator.es21.js.map +1 -1
- package/dist/react-text-annotator.es22.js +888 -2
- package/dist/react-text-annotator.es22.js.map +1 -1
- package/dist/react-text-annotator.es23.js +111 -124
- package/dist/react-text-annotator.es23.js.map +1 -1
- package/dist/react-text-annotator.es24.js +285 -140
- package/dist/react-text-annotator.es24.js.map +1 -1
- package/dist/react-text-annotator.es25.js +43 -296
- package/dist/react-text-annotator.es25.js.map +1 -1
- package/dist/react-text-annotator.es26.js +19 -113
- package/dist/react-text-annotator.es26.js.map +1 -1
- package/dist/react-text-annotator.es27.js +2 -309
- package/dist/react-text-annotator.es27.js.map +1 -1
- package/dist/react-text-annotator.es28.js +2 -58
- package/dist/react-text-annotator.es28.js.map +1 -1
- package/dist/react-text-annotator.es29.js +124 -17
- package/dist/react-text-annotator.es29.js.map +1 -1
- package/dist/react-text-annotator.es3.js +3 -3
- package/dist/react-text-annotator.es3.js.map +1 -1
- package/dist/react-text-annotator.es30.js +146 -131
- package/dist/react-text-annotator.es30.js.map +1 -1
- package/dist/react-text-annotator.es31.js +281 -533
- package/dist/react-text-annotator.es31.js.map +1 -1
- package/dist/react-text-annotator.es32.js +152 -0
- package/dist/react-text-annotator.es32.js.map +1 -0
- package/dist/react-text-annotator.es33.js +629 -0
- package/dist/react-text-annotator.es33.js.map +1 -0
- package/dist/react-text-annotator.es4.js +2 -2
- package/dist/react-text-annotator.es4.js.map +1 -1
- package/dist/react-text-annotator.es5.js +43 -24
- package/dist/react-text-annotator.es5.js.map +1 -1
- package/dist/react-text-annotator.es6.js +23 -122
- package/dist/react-text-annotator.es6.js.map +1 -1
- package/dist/react-text-annotator.es7.js +133 -537
- package/dist/react-text-annotator.es7.js.map +1 -1
- package/dist/react-text-annotator.es8.js +2 -9
- package/dist/react-text-annotator.es8.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 +1 -1
- package/dist/tei/TEIAnnotator.d.ts.map +1 -1
- package/package.json +16 -14
- package/dist/TextAnnotatorPopup/TextAnnotatorPopup.d.ts +0 -25
- package/dist/TextAnnotatorPopup/TextAnnotatorPopup.d.ts.map +0 -1
- package/dist/TextAnnotatorPopup/index.d.ts +0 -2
- package/dist/TextAnnotatorPopup/index.d.ts.map +0 -1
- package/dist/TextAnnotatorPopup/isMobile.d.ts.map +0 -1
- package/dist/react-text-annotator.es16.js +0 -85
- package/dist/react-text-annotator.es16.js.map +0 -1
- /package/dist/{TextAnnotatorPopup → TextAnnotationPopup}/isMobile.d.ts +0 -0
|
@@ -1,312 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
let pos = 1;
|
|
3
|
-
let e = elt;
|
|
4
|
-
while (e && e.previousElementSibling !== null && (name ? e.previousElementSibling.localName == name : true)) {
|
|
5
|
-
pos++;
|
|
6
|
-
e = e.previousElementSibling;
|
|
7
|
-
if (!e.previousElementSibling) {
|
|
8
|
-
break;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
return pos;
|
|
12
|
-
}
|
|
13
|
-
function copyAndReset(node) {
|
|
14
|
-
const doc = node.ownerDocument;
|
|
15
|
-
let clone = (n) => {
|
|
16
|
-
let result;
|
|
17
|
-
switch (n.nodeType) {
|
|
18
|
-
case 1:
|
|
19
|
-
result = doc.createElement(n.nodeName);
|
|
20
|
-
break;
|
|
21
|
-
case 9:
|
|
22
|
-
result = doc.implementation.createDocument();
|
|
23
|
-
break;
|
|
24
|
-
case 11:
|
|
25
|
-
result = doc.createDocumentFragment();
|
|
26
|
-
break;
|
|
27
|
-
default:
|
|
28
|
-
result = n.cloneNode(true);
|
|
29
|
-
}
|
|
30
|
-
if (n.attributes) {
|
|
31
|
-
for (let att of Array.from(n.attributes)) {
|
|
32
|
-
if (att.name !== "data-processed") {
|
|
33
|
-
result.setAttribute(att.name, att.value);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
for (let nd of Array.from(n.childNodes)) {
|
|
38
|
-
if (nd.nodeType == 1) {
|
|
39
|
-
if (nd.hasAttribute("data-original")) {
|
|
40
|
-
for (let childNode of Array.from(nd.childNodes)) {
|
|
41
|
-
let child = result.appendChild(clone(childNode));
|
|
42
|
-
if (child.nodeType === 1 && child.hasAttribute("data-origid")) {
|
|
43
|
-
child.setAttribute("id", child.getAttribute("data-origid"));
|
|
44
|
-
child.removeAttribute("data-origid");
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return result;
|
|
48
|
-
} else if (nd.hasAttribute("data-origname")) {
|
|
49
|
-
result.appendChild(clone(nd));
|
|
50
|
-
}
|
|
51
|
-
} else {
|
|
52
|
-
result.appendChild(nd.cloneNode());
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return result;
|
|
56
|
-
};
|
|
57
|
-
return clone(node);
|
|
58
|
-
}
|
|
59
|
-
function first(urls) {
|
|
60
|
-
return urls.replace(/ .*$/, "");
|
|
61
|
-
}
|
|
62
|
-
function hideContent(elt, rewriteIds = true) {
|
|
63
|
-
const doc = elt.ownerDocument;
|
|
64
|
-
if (elt.childNodes.length > 0) {
|
|
65
|
-
let hidden = doc.createElement("cetei-original");
|
|
66
|
-
elt.appendChild(hidden);
|
|
67
|
-
hidden.setAttribute("hidden", "");
|
|
68
|
-
hidden.setAttribute("data-original", "");
|
|
69
|
-
for (let node of Array.from(elt.childNodes)) {
|
|
70
|
-
if (node !== hidden) {
|
|
71
|
-
if (node.nodeType === 1) {
|
|
72
|
-
node.setAttribute("data-processed", "");
|
|
73
|
-
for (let e of node.querySelectorAll("*")) {
|
|
74
|
-
e.setAttribute("data-processed", "");
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
hidden.appendChild(elt.removeChild(node));
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
if (rewriteIds) {
|
|
81
|
-
for (let e of Array.from(hidden.querySelectorAll("*"))) {
|
|
82
|
-
if (e.hasAttribute("id")) {
|
|
83
|
-
e.setAttribute("data-origid", e.getAttribute("id"));
|
|
84
|
-
e.removeAttribute("id");
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
function normalizeURI(urls) {
|
|
91
|
-
return this.rw(this.first(urls));
|
|
92
|
-
}
|
|
93
|
-
function repeat(str, times) {
|
|
94
|
-
let result = "";
|
|
95
|
-
for (let i = 0; i < times; i++) {
|
|
96
|
-
result += str;
|
|
97
|
-
}
|
|
98
|
-
return result;
|
|
99
|
-
}
|
|
100
|
-
function resolveURI(uri) {
|
|
101
|
-
let prefixdef = this.prefixDefs[uri.substring(0, uri.indexOf(":"))];
|
|
102
|
-
return uri.replace(new RegExp(prefixdef["matchPattern"]), prefixdef["replacementPattern"]);
|
|
103
|
-
}
|
|
104
|
-
function getPrefixDef(prefix) {
|
|
105
|
-
return this.prefixDefs[prefix];
|
|
106
|
-
}
|
|
107
|
-
function rw(url) {
|
|
108
|
-
if (!url.match(/^(?:http|mailto|file|\/|#).*$/)) {
|
|
109
|
-
return this.base + first(url);
|
|
110
|
-
} else {
|
|
111
|
-
return url;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
function resetAndSerialize(el, stripElt, ws) {
|
|
115
|
-
return serialize(copyAndReset(el), stripElt, ws);
|
|
116
|
-
}
|
|
117
|
-
function serialize(el, stripElt, ws) {
|
|
118
|
-
let str = "";
|
|
119
|
-
const ignorable = (txt) => {
|
|
120
|
-
return !/[^\t\n\r ]/.test(txt);
|
|
121
|
-
};
|
|
122
|
-
if (el.nodeType === 9 || el.nodeType === 11) {
|
|
123
|
-
str += '<?xml version="1.0" encoding="UTF-8"?>\n';
|
|
124
|
-
}
|
|
125
|
-
if (!stripElt && el.nodeType == 1) {
|
|
126
|
-
if (typeof ws === "string" && ws !== "") {
|
|
127
|
-
str += "\n" + ws + "<";
|
|
128
|
-
} else {
|
|
129
|
-
str += "<";
|
|
130
|
-
}
|
|
131
|
-
str += el.getAttribute("data-origname");
|
|
132
|
-
let attrNames = el.hasAttribute("data-origatts") ? el.getAttribute("data-origatts").split(" ") : [];
|
|
133
|
-
for (let attr of Array.from(el.attributes)) {
|
|
134
|
-
if (!attr.name.startsWith("data-") && !["id", "lang", "class"].includes(attr.name)) {
|
|
135
|
-
str += " " + attrNames.find(function(e) {
|
|
136
|
-
return e.toLowerCase() == attr.name;
|
|
137
|
-
}) + '="' + attr.value + '"';
|
|
138
|
-
}
|
|
139
|
-
if (attr.name == "data-xmlns") {
|
|
140
|
-
str += ' xmlns="' + attr.value + '"';
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
if (el.childNodes.length > 0) {
|
|
144
|
-
str += ">";
|
|
145
|
-
} else {
|
|
146
|
-
str += "/>";
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
for (let node of Array.from(el.childNodes)) {
|
|
150
|
-
switch (node.nodeType) {
|
|
151
|
-
case 1:
|
|
152
|
-
if (typeof ws === "string") {
|
|
153
|
-
str += serialize(node, false, ws + " ");
|
|
154
|
-
} else {
|
|
155
|
-
str += serialize(node, false, ws);
|
|
156
|
-
}
|
|
157
|
-
break;
|
|
158
|
-
case 7:
|
|
159
|
-
str += `<?${node.nodeName} ${node.nodeValue}?>`;
|
|
160
|
-
if (el.nodeType === 9 || el.nodeType === 11) {
|
|
161
|
-
str += "\n";
|
|
162
|
-
}
|
|
163
|
-
break;
|
|
164
|
-
case 8:
|
|
165
|
-
str += `<!--${node.nodeValue}-->`;
|
|
166
|
-
if (el.nodeType === 9 || el.nodeType === 11) {
|
|
167
|
-
str += "\n";
|
|
168
|
-
}
|
|
169
|
-
break;
|
|
170
|
-
default:
|
|
171
|
-
if (stripElt && ignorable(node.nodeValue)) {
|
|
172
|
-
str += node.nodeValue.replace(/^\s*\n/, "");
|
|
173
|
-
}
|
|
174
|
-
if (typeof ws === "string" && ignorable(node.nodeValue)) {
|
|
175
|
-
break;
|
|
176
|
-
}
|
|
177
|
-
str += node.nodeValue;
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
if (!stripElt && el.nodeType == 1 && el.childNodes.length > 0) {
|
|
181
|
-
if (typeof ws === "string") {
|
|
182
|
-
str += "\n" + ws + "</";
|
|
183
|
-
} else {
|
|
184
|
-
str += "</";
|
|
185
|
-
}
|
|
186
|
-
str += el.getAttribute("data-origname") + ">";
|
|
187
|
-
}
|
|
188
|
-
if (el.nodeType === 9 || el.nodeType === 11) {
|
|
189
|
-
str += "\n";
|
|
190
|
-
}
|
|
191
|
-
return str;
|
|
192
|
-
}
|
|
193
|
-
function serializeHTML(el, stripElt, ws) {
|
|
194
|
-
const EMPTY_ELEMENTS = ["area", "base", "br", "col", "embed", "hr", "img", "input", "link", "meta", "param", "source", "track", "wbr"];
|
|
195
|
-
let str = "";
|
|
196
|
-
const ignorable = (txt) => {
|
|
197
|
-
return !/[^\t\n\r ]/.test(txt);
|
|
198
|
-
};
|
|
199
|
-
if (!stripElt && el.nodeType == 1) {
|
|
200
|
-
if (typeof ws === "string" && ws !== "") {
|
|
201
|
-
str += "\n" + ws + "<";
|
|
202
|
-
} else {
|
|
203
|
-
str += "<";
|
|
204
|
-
}
|
|
205
|
-
str += el.nodeName;
|
|
206
|
-
for (let attr of Array.from(el.attributes)) {
|
|
207
|
-
str += " " + attr.name + '="' + attr.value + '"';
|
|
208
|
-
}
|
|
209
|
-
str += ">";
|
|
210
|
-
}
|
|
211
|
-
for (let node of Array.from(el.childNodes)) {
|
|
212
|
-
switch (node.nodeType) {
|
|
213
|
-
case 1:
|
|
214
|
-
if (typeof ws === "string") {
|
|
215
|
-
str += serializeHTML(node, false, ws + " ");
|
|
216
|
-
} else {
|
|
217
|
-
str += serializeHTML(node, false, ws);
|
|
218
|
-
}
|
|
219
|
-
break;
|
|
220
|
-
case 7:
|
|
221
|
-
str += `<?${node.nodeName} ${node.nodeValue}?>`;
|
|
222
|
-
if (el.nodeType === 9 || el.nodeType === 11) {
|
|
223
|
-
str += "\n";
|
|
224
|
-
}
|
|
225
|
-
break;
|
|
226
|
-
case 8:
|
|
227
|
-
str += `<!--${node.nodeValue}-->`;
|
|
228
|
-
if (el.nodeType === 9 || el.nodeType === 11) {
|
|
229
|
-
str += "\n";
|
|
230
|
-
}
|
|
231
|
-
break;
|
|
232
|
-
default:
|
|
233
|
-
if (stripElt && ignorable(node.nodeValue)) {
|
|
234
|
-
str += node.nodeValue.replace(/^\s*\n/, "");
|
|
235
|
-
}
|
|
236
|
-
if (typeof ws === "string" && ignorable(node.nodeValue)) {
|
|
237
|
-
break;
|
|
238
|
-
}
|
|
239
|
-
str += node.nodeValue.replace(/</g, "<");
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
if (!EMPTY_ELEMENTS.includes(el.nodeName)) {
|
|
243
|
-
if (!stripElt && el.nodeType == 1) {
|
|
244
|
-
if (typeof ws === "string") {
|
|
245
|
-
str += `
|
|
246
|
-
${ws}</`;
|
|
247
|
-
} else {
|
|
248
|
-
str += "</";
|
|
249
|
-
}
|
|
250
|
-
str += `${el.nodeName}>`;
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
if (el.nodeType === 9 || el.nodeType === 11) {
|
|
254
|
-
str += "\n";
|
|
255
|
-
}
|
|
256
|
-
return str;
|
|
257
|
-
}
|
|
258
|
-
function unEscapeEntities(str) {
|
|
259
|
-
return str.replace(/>/, ">").replace(/"/, '"').replace(/'/, "'").replace(/&/, "&");
|
|
260
|
-
}
|
|
261
|
-
function tagName(name) {
|
|
262
|
-
if (name.includes(":"), 1) {
|
|
263
|
-
return name.replace(/:/, "-").toLowerCase();
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
function defineCustomElement(name, behavior = null, debug = false) {
|
|
267
|
-
try {
|
|
268
|
-
window.customElements.define(tagName(name), class extends HTMLElement {
|
|
269
|
-
constructor() {
|
|
270
|
-
super();
|
|
271
|
-
if (!this.matches(":defined")) {
|
|
272
|
-
if (behavior) {
|
|
273
|
-
behavior.call(this);
|
|
274
|
-
this.setAttribute("data-processed", "");
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
// Process new elements when they are connected to the browser DOM
|
|
279
|
-
connectedCallback() {
|
|
280
|
-
if (!this.hasAttribute("data-processed")) {
|
|
281
|
-
if (behavior) {
|
|
282
|
-
behavior.call(this);
|
|
283
|
-
this.setAttribute("data-processed", "");
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
});
|
|
288
|
-
} catch (error) {
|
|
289
|
-
if (debug) {
|
|
290
|
-
console.log(tagName(name) + " couldn't be registered or is already registered.");
|
|
291
|
-
console.log(error);
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
}
|
|
1
|
+
var reactJsxRuntime_production_min = {};
|
|
295
2
|
export {
|
|
296
|
-
|
|
297
|
-
defineCustomElement,
|
|
298
|
-
first,
|
|
299
|
-
getOrdinality,
|
|
300
|
-
getPrefixDef,
|
|
301
|
-
hideContent,
|
|
302
|
-
normalizeURI,
|
|
303
|
-
repeat,
|
|
304
|
-
resetAndSerialize,
|
|
305
|
-
resolveURI,
|
|
306
|
-
rw,
|
|
307
|
-
serialize,
|
|
308
|
-
serializeHTML,
|
|
309
|
-
tagName,
|
|
310
|
-
unEscapeEntities
|
|
3
|
+
reactJsxRuntime_production_min as __exports
|
|
311
4
|
};
|
|
312
5
|
//# sourceMappingURL=react-text-annotator.es27.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-text-annotator.es27.js","sources":["../../../node_modules/CETEIcean/src/utilities.js"],"sourcesContent":["export function getOrdinality(elt, name) {\n let pos = 1;\n let e = elt;\n while (e && e.previousElementSibling !== null && (name ? e.previousElementSibling.localName == name : true)) {\n pos++;\n e = e.previousElementSibling;\n if (!e.previousElementSibling) {\n break;\n }\n }\n return pos;\n}\n\n/* \n Performs a deep copy operation of the input node while stripping\n out child elements introduced by CETEIcean.\n*/ \nexport function copyAndReset(node) {\n const doc = node.ownerDocument;\n let clone = (n) => { \n let result;\n switch (n.nodeType) {\n case 1: // nodeType 1 is Node.ELEMENT_NODE\n result = doc.createElement(n.nodeName);\n break;\n case 9: // nodeType 9 is Node.DOCUMENT_NODE\n result = doc.implementation.createDocument();\n break;\n case 11: // nodeType 11 is Node.DOCUMENT_FRAGMENT_NODE\n result = doc.createDocumentFragment();\n break;\n default:\n result = n.cloneNode(true);\n }\n if (n.attributes) {\n for (let att of Array.from(n.attributes)) {\n if (att.name !== \"data-processed\") {\n result.setAttribute(att.name,att.value);\n }\n }\n }\n for (let nd of Array.from(n.childNodes)){\n // nodeType 1 is Node.ELEMENT_NODE\n if (nd.nodeType == 1) {\n if (nd.hasAttribute(\"data-original\")) {\n for (let childNode of Array.from(nd.childNodes)) {\n let child = result.appendChild(clone(childNode));\n // nodeType 1 is Node.ELEMENT_NODE\n if (child.nodeType === 1 && child.hasAttribute(\"data-origid\")) {\n child.setAttribute(\"id\", child.getAttribute(\"data-origid\"));\n child.removeAttribute(\"data-origid\");\n }\n }\n return result;\n } else if (nd.hasAttribute(\"data-origname\")) {\n result.appendChild(clone(nd));\n }\n } else {\n result.appendChild(nd.cloneNode());\n }\n }\n return result;\n }\n return clone(node);\n}\n\n/* \n Given a space-separated list of URLs (e.g. in a ref with multiple\n targets), returns just the first one.\n*/\nexport function first(urls) {\n return urls.replace(/ .*$/, \"\");\n}\n\n/* \n Wraps the content of the element parameter in a hidden <cetei-original data-original>\n*/\nexport function hideContent(elt, rewriteIds = true) {\n const doc = elt.ownerDocument;\n if (elt.childNodes.length > 0) {\n let hidden = doc.createElement(\"cetei-original\");\n elt.appendChild(hidden);\n hidden.setAttribute(\"hidden\", \"\");\n hidden.setAttribute(\"data-original\", \"\");\n for (let node of Array.from(elt.childNodes)) {\n if (node !== hidden) {\n // nodeType 1 is Node.ELEMENT_NODE\n if (node.nodeType === 1) {\n node.setAttribute(\"data-processed\", \"\");\n for (let e of node.querySelectorAll(\"*\")) {\n e.setAttribute(\"data-processed\", \"\");\n }\n }\n hidden.appendChild(elt.removeChild(node));\n }\n }\n if (rewriteIds) {\n for (let e of Array.from(hidden.querySelectorAll(\"*\"))) {\n if (e.hasAttribute(\"id\")) {\n e.setAttribute(\"data-origid\", e.getAttribute(\"id\"));\n e.removeAttribute(\"id\");\n }\n }\n }\n }\n}\n\nexport function normalizeURI(urls) {\n return this.rw(this.first(urls))\n}\n\n/* \n Takes a string and a number and returns the original string\n printed that number of times.\n*/\nexport function repeat(str, times) {\n let result = \"\";\n for (let i = 0; i < times; i++) {\n result += str;\n }\n return result;\n}\n\n/* \n Resolves URIs that use TEI prefixDefs into full URIs.\n See https://www.tei-c.org/release/doc/tei-p5-doc/en/html/ref-prefixDef.html\n*/\nexport function resolveURI(uri) {\n let prefixdef = this.prefixDefs[uri.substring(0,uri.indexOf(\":\"))];\n return uri.replace(new RegExp(prefixdef[\"matchPattern\"]), prefixdef[\"replacementPattern\"]);\n}\n\n/*\n Convenience function for getting prefix definitions, Takes a prefix\n and returns an object with \"matchPattern\" and \"replacementPattern\"\n keys.\n*/\nexport function getPrefixDef(prefix) {\n return this.prefixDefs[prefix];\n}\n\n/* \n Takes a relative URL and rewrites it based on the base URL of the\n HTML document\n*/\nexport function rw(url) {\n if (!url.match(/^(?:http|mailto|file|\\/|#).*$/)) {\n return this.base + first(url);\n } else {\n return url;\n }\n}\n\n/*\n Combines the functionality of copyAndReset() and serialize() to return\n a \"clean\" version of the XML markup.\n */\nexport function resetAndSerialize(el, stripElt, ws) {\n return serialize(copyAndReset(el), stripElt, ws);\n}\n\n/* \n Takes an element and serializes it to an XML string or, if the stripElt\n parameter is set, serializes the element's content. The ws parameter, if\n set, will switch on minimal \"pretty-printing\" and indenting of the serialized\n result.\n*/\nexport function serialize(el, stripElt, ws) {\n let str = \"\";\n const ignorable = (txt) => {\n return !(/[^\\t\\n\\r ]/.test(txt));\n }\n if (el.nodeType === 9 || el.nodeType === 11) { // nodeType 9 is Node.DOCUMENT_NODE; nodeType 11 is Node.DOCUMENT_FRAGMENT_NODE\n str += \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n\";\n }\n // nodeType 1 is Node.ELEMENT_NODE\n if (!stripElt && el.nodeType == 1) {\n if ((typeof ws === \"string\") && ws !== \"\") {\n str += \"\\n\" + ws + \"<\";\n } else {\n str += \"<\";\n }\n str += el.getAttribute(\"data-origname\");\n // HTML5 lowercases all attribute names; @data-origatts contains the original names\n let attrNames = el.hasAttribute(\"data-origatts\") ? el.getAttribute(\"data-origatts\").split(\" \") : [];\n for (let attr of Array.from(el.attributes)) {\n if (!attr.name.startsWith(\"data-\") && !([\"id\", \"lang\", \"class\"].includes(attr.name))) {\n str += \" \" + attrNames.find(function(e) {return e.toLowerCase() == attr.name}) + \"=\\\"\" + attr.value + \"\\\"\";\n }\n if (attr.name == \"data-xmlns\") {\n str += \" xmlns=\\\"\" + attr.value +\"\\\"\";\n }\n }\n if (el.childNodes.length > 0) {\n str += \">\";\n } else {\n str += \"/>\";\n }\n }\n for (let node of Array.from(el.childNodes)) {\n // nodeType 1 is Node.ELEMENT_NODE\n // nodeType 7 is Node.PROCESSING_INSTRUCTION_NODE\n // nodeType 8 is Node.COMMENT_NODE\n switch (node.nodeType) {\n case 1:\n if (typeof ws === \"string\") {\n str += serialize(node, false, ws + \" \");\n } else {\n str += serialize(node, false, ws);\n }\n break;\n case 7:\n str += `<?${node.nodeName} ${node.nodeValue}?>`;\n if (el.nodeType === 9 || el.nodeType === 11) {\n str += \"\\n\";\n }\n break;\n case 8:\n str += `<!--${node.nodeValue}-->`;\n if (el.nodeType === 9 || el.nodeType === 11) {\n str += \"\\n\";\n }\n break;\n default:\n if (stripElt && ignorable(node.nodeValue)) {\n str += node.nodeValue.replace(/^\\s*\\n/, \"\");\n }\n if ((typeof ws === \"string\") && ignorable(node.nodeValue)) {\n break;\n }\n str += node.nodeValue;\n }\n }\n if (!stripElt && el.nodeType == 1 && el.childNodes.length > 0) {\n if (typeof ws === \"string\") {\n str += \"\\n\" + ws + \"</\";\n } else {\n str += \"</\";\n }\n str += el.getAttribute(\"data-origname\") + \">\";\n }\n if (el.nodeType === 9 || el.nodeType === 11) {\n str += \"\\n\";\n }\n return str;\n}\n\n/* \n Write out the HTML markup to a string, using HTML conventions.\n */\nexport function serializeHTML(el, stripElt, ws) {\n const EMPTY_ELEMENTS = ['area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', 'track', 'wbr'];\n let str = \"\";\n const ignorable = (txt) => {\n return !(/[^\\t\\n\\r ]/.test(txt));\n }\n // nodeType 1 is Node.ELEMENT_NODE\n if (!stripElt && el.nodeType == 1) {\n if ((typeof ws === \"string\") && ws !== \"\") {\n str += \"\\n\" + ws + \"<\";\n } else {\n str += \"<\";\n }\n str += el.nodeName;\n for (let attr of Array.from(el.attributes)) {\n str += \" \" + attr.name + \"=\\\"\" + attr.value + \"\\\"\";\n }\n str += \">\";\n }\n for (let node of Array.from(el.childNodes)) {\n // nodeType 1 is Node.ELEMENT_NODE\n // nodeType 7 is Node.PROCESSING_INSTRUCTION_NODE\n // nodeType 8 is Node.COMMENT_NODE\n switch (node.nodeType) {\n case 1:\n if (typeof ws === \"string\") {\n str += serializeHTML(node, false, ws + \" \");\n } else {\n str += serializeHTML(node, false, ws);\n }\n break;\n case 7:\n str += `<?${node.nodeName} ${node.nodeValue}?>`;\n if (el.nodeType === 9 || el.nodeType === 11) {\n str += \"\\n\";\n }\n break;\n case 8:\n str += `<!--${node.nodeValue}-->`;\n if (el.nodeType === 9 || el.nodeType === 11) {\n str += \"\\n\";\n }\n break;\n default:\n if (stripElt && ignorable(node.nodeValue)) {\n str += node.nodeValue.replace(/^\\s*\\n/, \"\");\n }\n if ((typeof ws === \"string\") && ignorable(node.nodeValue)) {\n break;\n }\n str += node.nodeValue.replace(/</g, \"<\");\n }\n }\n if (!EMPTY_ELEMENTS.includes(el.nodeName)) {\n if (!stripElt && el.nodeType == 1) {\n if (typeof ws === \"string\") {\n str += `\\n${ws}</`;\n } else {\n str += \"</\";\n }\n str += `${el.nodeName}>`;\n }\n }\n if (el.nodeType === 9 || el.nodeType === 11) {\n str += \"\\n\";\n }\n return str;\n}\n\nexport function unEscapeEntities(str) {\n return str.replace(/>/, \">\")\n .replace(/"/, \"\\\"\")\n .replace(/'/, \"'\")\n .replace(/&/, \"&\");\n}\n\n// Given a qualified name (e.g. tei:text), return the element name\nexport function tagName(name) {\n if (name.includes(\":\"), 1) {\n return name.replace(/:/,\"-\").toLowerCase();\n } else {\n return \"ceteicean-\" + name.toLowerCase();\n }\n}\n\nexport function defineCustomElement(name, behavior = null, debug = false) {\n /* \n Registers the list of elements provided with the browser.\n Called by makeHTML5(), but can be called independently if, for example,\n you've created Custom Elements via an XSLT transformation instead.\n */\n try {\n window.customElements.define(tagName(name), class extends HTMLElement {\n constructor() {\n super(); \n if (!this.matches(\":defined\")) { // \"Upgraded\" undefined elements can have attributes & children; new elements can't\n if (behavior) {\n behavior.call(this);\n // We don't want to double-process elements, so add a flag\n this.setAttribute(\"data-processed\", \"\");\n }\n }\n }\n // Process new elements when they are connected to the browser DOM\n connectedCallback() {\n if (!this.hasAttribute(\"data-processed\")) {\n if (behavior) {\n behavior.call(this);\n this.setAttribute(\"data-processed\", \"\");\n }\n }\n };\n });\n } catch (error) {\n // When using the same CETEIcean instance for multiple TEI files, this error becomes very common. \n // It's muted by default unless the debug option is set.\n if (debug) {\n console.log(tagName(name) + \" couldn't be registered or is already registered.\");\n console.log(error);\n }\n }\n}\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"react-text-annotator.es27.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1,61 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
if (bhvs.namespaces) {
|
|
3
|
-
for (let prefix of Object.keys(bhvs.namespaces)) {
|
|
4
|
-
if (!this.namespaces.has(bhvs.namespaces[prefix]) && !Array.from(this.namespaces.values()).includes(prefix)) {
|
|
5
|
-
this.namespaces.set(bhvs.namespaces[prefix], prefix);
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
for (let prefix of this.namespaces.values()) {
|
|
10
|
-
if (bhvs[prefix]) {
|
|
11
|
-
for (let b of Object.keys(bhvs[prefix])) {
|
|
12
|
-
this.behaviors[`${prefix}:${b}`] = bhvs[prefix][b];
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
if (bhvs["functions"]) {
|
|
17
|
-
for (let fn of Object.keys(bhvs["functions"])) {
|
|
18
|
-
this.utilities[fn] = bhvs["functions"][fn].bind(this.utilities);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
if (bhvs["handlers"]) {
|
|
22
|
-
console.log("Behavior handlers are no longer used.");
|
|
23
|
-
}
|
|
24
|
-
if (bhvs["fallbacks"]) {
|
|
25
|
-
console.log("Fallback behaviors are no longer used.");
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
function addBehavior(ns, element, b) {
|
|
29
|
-
let p;
|
|
30
|
-
if (ns === Object(ns)) {
|
|
31
|
-
for (let prefix of Object.keys(ns)) {
|
|
32
|
-
if (!this.namespaces.has(ns[prefix])) {
|
|
33
|
-
this.namespaces.set(ns[prefix], prefix);
|
|
34
|
-
p = prefix;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
} else {
|
|
38
|
-
p = ns;
|
|
39
|
-
}
|
|
40
|
-
this.behaviors[`${p}:${element}`] = b;
|
|
41
|
-
}
|
|
42
|
-
function removeBehavior(ns, element) {
|
|
43
|
-
let p;
|
|
44
|
-
if (ns === Object(ns)) {
|
|
45
|
-
for (let prefix of Object.keys(ns)) {
|
|
46
|
-
if (!this.namespaces.has(ns[prefix])) {
|
|
47
|
-
this.namespaces.set(ns[prefix], prefix);
|
|
48
|
-
p = prefix;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
} else {
|
|
52
|
-
p = ns;
|
|
53
|
-
}
|
|
54
|
-
delete this.behaviors[`${p}:${element}`];
|
|
55
|
-
}
|
|
1
|
+
var reactJsxRuntime_development = {};
|
|
56
2
|
export {
|
|
57
|
-
|
|
58
|
-
addBehaviors,
|
|
59
|
-
removeBehavior
|
|
3
|
+
reactJsxRuntime_development as __exports
|
|
60
4
|
};
|
|
61
5
|
//# sourceMappingURL=react-text-annotator.es28.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-text-annotator.es28.js","sources":[
|
|
1
|
+
{"version":3,"file":"react-text-annotator.es28.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1,23 +1,130 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
let
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { isShadowRoot, isHTMLElement } from "./react-text-annotator.es30.js";
|
|
2
|
+
function activeElement(doc) {
|
|
3
|
+
let activeElement2 = doc.activeElement;
|
|
4
|
+
while (((_activeElement = activeElement2) == null || (_activeElement = _activeElement.shadowRoot) == null ? void 0 : _activeElement.activeElement) != null) {
|
|
5
|
+
var _activeElement;
|
|
6
|
+
activeElement2 = activeElement2.shadowRoot.activeElement;
|
|
7
|
+
}
|
|
8
|
+
return activeElement2;
|
|
9
|
+
}
|
|
10
|
+
function contains(parent, child) {
|
|
11
|
+
if (!parent || !child) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
const rootNode = child.getRootNode == null ? void 0 : child.getRootNode();
|
|
15
|
+
if (parent.contains(child)) {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
if (rootNode && isShadowRoot(rootNode)) {
|
|
19
|
+
let next = child;
|
|
20
|
+
while (next) {
|
|
21
|
+
if (parent === next) {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
next = next.parentNode || next.host;
|
|
7
25
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
26
|
+
}
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
function getPlatform() {
|
|
30
|
+
const uaData = navigator.userAgentData;
|
|
31
|
+
if (uaData != null && uaData.platform) {
|
|
32
|
+
return uaData.platform;
|
|
33
|
+
}
|
|
34
|
+
return navigator.platform;
|
|
35
|
+
}
|
|
36
|
+
function getUserAgent() {
|
|
37
|
+
const uaData = navigator.userAgentData;
|
|
38
|
+
if (uaData && Array.isArray(uaData.brands)) {
|
|
39
|
+
return uaData.brands.map((_ref) => {
|
|
40
|
+
let {
|
|
41
|
+
brand,
|
|
42
|
+
version
|
|
43
|
+
} = _ref;
|
|
44
|
+
return brand + "/" + version;
|
|
45
|
+
}).join(" ");
|
|
46
|
+
}
|
|
47
|
+
return navigator.userAgent;
|
|
48
|
+
}
|
|
49
|
+
function isVirtualClick(event) {
|
|
50
|
+
if (event.mozInputSource === 0 && event.isTrusted) {
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
if (isAndroid() && event.pointerType) {
|
|
54
|
+
return event.type === "click" && event.buttons === 1;
|
|
55
|
+
}
|
|
56
|
+
return event.detail === 0 && !event.pointerType;
|
|
57
|
+
}
|
|
58
|
+
function isVirtualPointerEvent(event) {
|
|
59
|
+
if (isJSDOM()) return false;
|
|
60
|
+
return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === "mouse" || // iOS VoiceOver returns 0.333• for width/height.
|
|
61
|
+
event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === "touch";
|
|
62
|
+
}
|
|
63
|
+
function isSafari() {
|
|
64
|
+
return /apple/i.test(navigator.vendor);
|
|
65
|
+
}
|
|
66
|
+
function isAndroid() {
|
|
67
|
+
const re = /android/i;
|
|
68
|
+
return re.test(getPlatform()) || re.test(getUserAgent());
|
|
69
|
+
}
|
|
70
|
+
function isJSDOM() {
|
|
71
|
+
return getUserAgent().includes("jsdom/");
|
|
72
|
+
}
|
|
73
|
+
function isReactEvent(event) {
|
|
74
|
+
return "nativeEvent" in event;
|
|
75
|
+
}
|
|
76
|
+
function isRootElement(element) {
|
|
77
|
+
return element.matches("html,body");
|
|
78
|
+
}
|
|
79
|
+
function getDocument(node) {
|
|
80
|
+
return (node == null ? void 0 : node.ownerDocument) || document;
|
|
81
|
+
}
|
|
82
|
+
function isEventTargetWithin(event, node) {
|
|
83
|
+
if (node == null) {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
if ("composedPath" in event) {
|
|
87
|
+
return event.composedPath().includes(node);
|
|
88
|
+
}
|
|
89
|
+
const e = event;
|
|
90
|
+
return e.target != null && node.contains(e.target);
|
|
91
|
+
}
|
|
92
|
+
function getTarget(event) {
|
|
93
|
+
if ("composedPath" in event) {
|
|
94
|
+
return event.composedPath()[0];
|
|
95
|
+
}
|
|
96
|
+
return event.target;
|
|
97
|
+
}
|
|
98
|
+
const TYPEABLE_SELECTOR = "input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";
|
|
99
|
+
function isTypeableElement(element) {
|
|
100
|
+
return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);
|
|
101
|
+
}
|
|
102
|
+
function stopEvent(event) {
|
|
103
|
+
event.preventDefault();
|
|
104
|
+
event.stopPropagation();
|
|
15
105
|
}
|
|
16
|
-
function
|
|
17
|
-
|
|
106
|
+
function isTypeableCombobox(element) {
|
|
107
|
+
if (!element) return false;
|
|
108
|
+
return element.getAttribute("role") === "combobox" && isTypeableElement(element);
|
|
18
109
|
}
|
|
19
110
|
export {
|
|
20
|
-
|
|
21
|
-
|
|
111
|
+
TYPEABLE_SELECTOR,
|
|
112
|
+
activeElement,
|
|
113
|
+
contains,
|
|
114
|
+
getDocument,
|
|
115
|
+
getPlatform,
|
|
116
|
+
getTarget,
|
|
117
|
+
getUserAgent,
|
|
118
|
+
isAndroid,
|
|
119
|
+
isEventTargetWithin,
|
|
120
|
+
isJSDOM,
|
|
121
|
+
isReactEvent,
|
|
122
|
+
isRootElement,
|
|
123
|
+
isSafari,
|
|
124
|
+
isTypeableCombobox,
|
|
125
|
+
isTypeableElement,
|
|
126
|
+
isVirtualClick,
|
|
127
|
+
isVirtualPointerEvent,
|
|
128
|
+
stopEvent
|
|
22
129
|
};
|
|
23
130
|
//# sourceMappingURL=react-text-annotator.es29.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-text-annotator.es29.js","sources":["../../../node_modules/
|
|
1
|
+
{"version":3,"file":"react-text-annotator.es29.js","sources":["../../../node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs"],"sourcesContent":["import { isShadowRoot, isHTMLElement } from '@floating-ui/utils/dom';\n\nfunction activeElement(doc) {\n let activeElement = doc.activeElement;\n while (((_activeElement = activeElement) == null || (_activeElement = _activeElement.shadowRoot) == null ? void 0 : _activeElement.activeElement) != null) {\n var _activeElement;\n activeElement = activeElement.shadowRoot.activeElement;\n }\n return activeElement;\n}\nfunction contains(parent, child) {\n if (!parent || !child) {\n return false;\n }\n const rootNode = child.getRootNode == null ? void 0 : child.getRootNode();\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n\n // then fallback to custom implementation with Shadow DOM support\n if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n while (next) {\n if (parent === next) {\n return true;\n }\n // @ts-ignore\n next = next.parentNode || next.host;\n }\n }\n\n // Give up, the result is false\n return false;\n}\n// Avoid Chrome DevTools blue warning.\nfunction getPlatform() {\n const uaData = navigator.userAgentData;\n if (uaData != null && uaData.platform) {\n return uaData.platform;\n }\n return navigator.platform;\n}\nfunction getUserAgent() {\n const uaData = navigator.userAgentData;\n if (uaData && Array.isArray(uaData.brands)) {\n return uaData.brands.map(_ref => {\n let {\n brand,\n version\n } = _ref;\n return brand + \"/\" + version;\n }).join(' ');\n }\n return navigator.userAgent;\n}\n\n// License: https://github.com/adobe/react-spectrum/blob/b35d5c02fe900badccd0cf1a8f23bb593419f238/packages/@react-aria/utils/src/isVirtualEvent.ts\nfunction isVirtualClick(event) {\n // FIXME: Firefox is now emitting a deprecation warning for `mozInputSource`.\n // Try to find a workaround for this. `react-aria` source still has the check.\n if (event.mozInputSource === 0 && event.isTrusted) {\n return true;\n }\n if (isAndroid() && event.pointerType) {\n return event.type === 'click' && event.buttons === 1;\n }\n return event.detail === 0 && !event.pointerType;\n}\nfunction isVirtualPointerEvent(event) {\n if (isJSDOM()) return false;\n return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse' ||\n // iOS VoiceOver returns 0.333• for width/height.\n event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'touch';\n}\nfunction isSafari() {\n // Chrome DevTools does not complain about navigator.vendor\n return /apple/i.test(navigator.vendor);\n}\nfunction isAndroid() {\n const re = /android/i;\n return re.test(getPlatform()) || re.test(getUserAgent());\n}\nfunction isMac() {\n return getPlatform().toLowerCase().startsWith('mac') && !navigator.maxTouchPoints;\n}\nfunction isJSDOM() {\n return getUserAgent().includes('jsdom/');\n}\nfunction isMouseLikePointerType(pointerType, strict) {\n // On some Linux machines with Chromium, mouse inputs return a `pointerType`\n // of \"pen\": https://github.com/floating-ui/floating-ui/issues/2015\n const values = ['mouse', 'pen'];\n if (!strict) {\n values.push('', undefined);\n }\n return values.includes(pointerType);\n}\nfunction isReactEvent(event) {\n return 'nativeEvent' in event;\n}\nfunction isRootElement(element) {\n return element.matches('html,body');\n}\nfunction getDocument(node) {\n return (node == null ? void 0 : node.ownerDocument) || document;\n}\nfunction isEventTargetWithin(event, node) {\n if (node == null) {\n return false;\n }\n if ('composedPath' in event) {\n return event.composedPath().includes(node);\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support composedPath, but browsers without shadow dom don't\n const e = event;\n return e.target != null && node.contains(e.target);\n}\nfunction getTarget(event) {\n if ('composedPath' in event) {\n return event.composedPath()[0];\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support\n // `composedPath()`, but browsers without shadow DOM don't.\n return event.target;\n}\nconst TYPEABLE_SELECTOR = \"input:not([type='hidden']):not([disabled]),\" + \"[contenteditable]:not([contenteditable='false']),textarea:not([disabled])\";\nfunction isTypeableElement(element) {\n return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);\n}\nfunction stopEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n}\nfunction isTypeableCombobox(element) {\n if (!element) return false;\n return element.getAttribute('role') === 'combobox' && isTypeableElement(element);\n}\n\nexport { TYPEABLE_SELECTOR, activeElement, contains, getDocument, getPlatform, getTarget, getUserAgent, isAndroid, isEventTargetWithin, isJSDOM, isMac, isMouseLikePointerType, isReactEvent, isRootElement, isSafari, isTypeableCombobox, isTypeableElement, isVirtualClick, isVirtualPointerEvent, stopEvent };\n"],"names":["activeElement"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "./react-text-annotator.es8.js";
|
|
2
|
-
import { useContext, useEffect, Children, cloneElement } from "react";
|
|
2
|
+
import { useContext, useCallback, useEffect, Children, cloneElement } from "react";
|
|
3
3
|
import { AnnotoriousContext } from "@annotorious/react";
|
|
4
4
|
import { TEIPlugin } from "@recogito/text-annotator-tei";
|
|
5
5
|
import { createTextAnnotator } from "@soomo/text-annotator";
|
|
@@ -7,10 +7,10 @@ import { createTextAnnotator } from "@soomo/text-annotator";
|
|
|
7
7
|
const TEIAnnotator = (props) => {
|
|
8
8
|
const { children, ...opts } = props;
|
|
9
9
|
const { anno, setAnno } = useContext(AnnotoriousContext);
|
|
10
|
-
const onLoad = (element) => {
|
|
10
|
+
const onLoad = useCallback((element) => {
|
|
11
11
|
const anno2 = TEIPlugin(createTextAnnotator(element, opts));
|
|
12
12
|
setAnno(anno2);
|
|
13
|
-
};
|
|
13
|
+
}, []);
|
|
14
14
|
useEffect(() => {
|
|
15
15
|
if (!anno)
|
|
16
16
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-text-annotator.es3.js","sources":["../src/tei/TEIAnnotator.tsx"],"sourcesContent":["import { Children,
|
|
1
|
+
{"version":3,"file":"react-text-annotator.es3.js","sources":["../src/tei/TEIAnnotator.tsx"],"sourcesContent":["import { Children, JSX, 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 } as any))}\n </>\n ) : null;\n\n}\n"],"names":["anno","jsx","Fragment"],"mappings":";;;;;;AAkBa,MAAA,eAAe,CAAC,UAA6B;AAExD,QAAM,EAAE,UAAU,GAAG,KAAA,IAAS;AAE9B,QAAM,EAAE,MAAM,YAAY,WAAW,kBAAkB;AAEjD,QAAA,SAAS,YAAY,CAAC,YAAyB;AACnD,UAAMA,QAAO,UAAU,oBAAoB,SAAS,IAAI,CAAC;AACzD,YAAQA,KAAI;AAAA,EACd,GAAG,EAAE;AAEL,YAAU,MAAM;AACd,QAAI,CAAC;AACH;AAEG,SAAA,SAAS,MAAM,KAAK;AAAA,EAAA,GACxB,CAAC,MAAM,KAAK,CAAC;AAEhB,YAAU,MAAM;AACd,QAAI,CAAC;AACH;AAEG,SAAA,UAAU,MAAM,MAAM;AAAA,EAAA,GAC1B,CAAC,MAAM,MAAM,CAAC;AAEjB,SAAO,MAAM,WACXC,sCAAAC,kBAAAA,UAAA,EACG,UAAS,SAAA,QAAQ,MAAM,QAAQ,EAAE,IAAI,CAAA,UACpC,aAAa,OAAuB,EAAE,OAAe,CAAA,CAAC,EAC1D,CAAA,IACE;AAEN;"}
|