@cccsaurora/clue-ui 1.0.2 → 1.0.3
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/{ActionForm-BtTv0s4P.js → ActionForm-Sw7D-KOE.js} +1 -1
- package/{AnnotationDetails-D5tBIeEw.js → AnnotationDetails-BoX61_IF.js} +1 -1
- package/{AnnotationPreview-CZr_CcZC.js → AnnotationPreview-dYinoSA9.js} +1 -1
- package/ClueEnrichContext-CvCIPOMC.js +412 -0
- package/components/AnnotationDetailPopover.js +1 -1
- package/components/AnnotationDetails.js +2 -2
- package/components/AnnotationPreview.js +1 -1
- package/components/EnrichedCard.js +1 -1
- package/components/EnrichedChip.js +1 -1
- package/components/EnrichedTypography.js +1 -1
- package/components/actions/ActionForm.js +1 -1
- package/components/enrichment/EnrichPopover.js +1 -1
- package/components/group/GroupControl.js +1 -1
- package/database/index.js +1 -1
- package/hooks/ClueActionContext.js +2 -2
- package/hooks/ClueDatabaseContext.js +1 -1
- package/hooks/ClueEnrichContext.js +1 -1
- package/hooks/ClueEnrichContextType.d.ts +7 -0
- package/hooks/CluePopupContext.js +2 -2
- package/hooks/ClueProvider.js +3 -3
- package/hooks/selectors.js +2 -2
- package/hooks/useAnnotations.js +1 -1
- package/hooks/useClue.js +1 -1
- package/hooks/useClueActions.js +1 -1
- package/icons/Action.js +2 -2
- package/icons/Assessment.js +1 -1
- package/icons/Context.js +1 -1
- package/icons/Opinion.js +1 -1
- package/{index-BUcHmehh.js → index-V7wwd05F.js} +1 -1
- package/{index-Bo-v5IAc.js → index-pQg5VUAZ.js} +4743 -4763
- package/main.d.ts +3 -2
- package/main.js +35 -31
- package/package.json +1 -1
- package/types/config.d.ts +4 -1
- package/ClueEnrichContext-DH9lqjwH.js +0 -401
|
@@ -6,7 +6,7 @@ import le from "./components/display/icons/Iconified.js";
|
|
|
6
6
|
import { J as Je } from "./index-CnaCBNrd.js";
|
|
7
7
|
import { ClueComponentContext as ie } from "./hooks/ClueComponentContext.js";
|
|
8
8
|
import { c as Oe, u as ce, a as Pe } from "./index-E7g8cRyW.js";
|
|
9
|
-
import { A as ze } from "./index-
|
|
9
|
+
import { A as ze } from "./index-pQg5VUAZ.js";
|
|
10
10
|
import { a as te } from "./useClueTypeConfig-CneP98N_.js";
|
|
11
11
|
import { d as de } from "./_baseGet-Dgf6_xCm.js";
|
|
12
12
|
import { b as We } from "./_baseSlice-M5RKzt1A.js";
|
|
@@ -10,7 +10,7 @@ import L from "./hooks/useErrors.js";
|
|
|
10
10
|
import { ICON_MAP as T } from "./icons/iconMap.js";
|
|
11
11
|
import { safeDispatchEvent as U } from "./utils/window.js";
|
|
12
12
|
import { g as V } from "./groupBy-BheQYl6f.js";
|
|
13
|
-
import { u as W } from "./ClueEnrichContext-
|
|
13
|
+
import { u as W } from "./ClueEnrichContext-CvCIPOMC.js";
|
|
14
14
|
import { memo as G, useState as J, useMemo as k, useCallback as P, useEffect as Q } from "react";
|
|
15
15
|
import { u as X } from "./index-E7g8cRyW.js";
|
|
16
16
|
import Y from "./components/actions/ExecutePopover.js";
|
|
@@ -8,7 +8,7 @@ import { useState as v, useRef as Y, useCallback as x, useEffect as Z, useMemo a
|
|
|
8
8
|
import { c as B, u as G } from "./index-E7g8cRyW.js";
|
|
9
9
|
import { SHOW_EVENT_ID as g, HIDE_EVENT_ID as D } from "./data/event.js";
|
|
10
10
|
import { safeDispatchEvent as A, safeAddEventListener as S } from "./utils/window.js";
|
|
11
|
-
import { i as J } from "./AnnotationDetails-
|
|
11
|
+
import { i as J } from "./AnnotationDetails-BoX61_IF.js";
|
|
12
12
|
const b = B(null), rt = ({ children: c }) => {
|
|
13
13
|
const [l, e] = v(null), [p, i] = v(null), [r, d] = v(null), [u, m] = v(null), [f, t] = v({}), a = Y(null), P = x((s, o, z, N) => {
|
|
14
14
|
A(
|
|
@@ -0,0 +1,412 @@
|
|
|
1
|
+
import { jsx as vt } from "react/jsx-runtime";
|
|
2
|
+
import { a as xt } from "./iconify-BBckr5AQ.js";
|
|
3
|
+
import { u as Dt, a as Et, p as ot } from "./useClueTypeConfig-CneP98N_.js";
|
|
4
|
+
import { clueDebugLogger as G } from "./utils/loggerUtil.js";
|
|
5
|
+
import { b as It } from "./_baseSlice-M5RKzt1A.js";
|
|
6
|
+
import { t as Ct } from "./toFinite-BMy6GObD.js";
|
|
7
|
+
import { d as gt } from "./debounce-DryYcbJ4.js";
|
|
8
|
+
import { g as ct } from "./groupBy-BheQYl6f.js";
|
|
9
|
+
import { b as lt } from "./_baseUniq-tMFmk80M.js";
|
|
10
|
+
import { b as $t } from "./_baseIteratee-CP1bocOX.js";
|
|
11
|
+
import { useContext as Ot, useState as H, useMemo as K, useCallback as g, useRef as bt, useEffect as q } from "react";
|
|
12
|
+
import { c as jt } from "./index-E7g8cRyW.js";
|
|
13
|
+
import { ClueDatabaseContext as Pt } from "./hooks/ClueDatabaseContext.js";
|
|
14
|
+
import Mt from "./hooks/useClueConfig.js";
|
|
15
|
+
function qt(e) {
|
|
16
|
+
var s = Ct(e), p = s % 1;
|
|
17
|
+
return s === s ? p ? s - p : s : 0;
|
|
18
|
+
}
|
|
19
|
+
var At = Math.ceil, Bt = Math.max;
|
|
20
|
+
function Rt(e, s, p) {
|
|
21
|
+
s === void 0 ? s = 1 : s = Bt(qt(s), 0);
|
|
22
|
+
var l = e == null ? 0 : e.length;
|
|
23
|
+
if (!l || s < 1)
|
|
24
|
+
return [];
|
|
25
|
+
for (var h = 0, v = 0, O = Array(At(l / s)); h < l; )
|
|
26
|
+
O[v++] = It(e, h, h += s);
|
|
27
|
+
return O;
|
|
28
|
+
}
|
|
29
|
+
function at(e) {
|
|
30
|
+
return e && e.length ? lt(e) : [];
|
|
31
|
+
}
|
|
32
|
+
function Vt(e, s) {
|
|
33
|
+
return e && e.length ? lt(e, $t(s)) : [];
|
|
34
|
+
}
|
|
35
|
+
let J;
|
|
36
|
+
const Ut = new Uint8Array(16);
|
|
37
|
+
function Wt() {
|
|
38
|
+
if (!J && (J = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !J))
|
|
39
|
+
throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
|
|
40
|
+
return J(Ut);
|
|
41
|
+
}
|
|
42
|
+
const d = [];
|
|
43
|
+
for (let e = 0; e < 256; ++e)
|
|
44
|
+
d.push((e + 256).toString(16).slice(1));
|
|
45
|
+
function Ft(e, s = 0) {
|
|
46
|
+
return d[e[s + 0]] + d[e[s + 1]] + d[e[s + 2]] + d[e[s + 3]] + "-" + d[e[s + 4]] + d[e[s + 5]] + "-" + d[e[s + 6]] + d[e[s + 7]] + "-" + d[e[s + 8]] + d[e[s + 9]] + "-" + d[e[s + 10]] + d[e[s + 11]] + d[e[s + 12]] + d[e[s + 13]] + d[e[s + 14]] + d[e[s + 15]];
|
|
47
|
+
}
|
|
48
|
+
const Ht = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), ut = {
|
|
49
|
+
randomUUID: Ht
|
|
50
|
+
};
|
|
51
|
+
function $(e, s, p) {
|
|
52
|
+
if (ut.randomUUID && !e)
|
|
53
|
+
return ut.randomUUID();
|
|
54
|
+
e = e || {};
|
|
55
|
+
const l = e.random || (e.rng || Wt)();
|
|
56
|
+
return l[6] = l[6] & 15 | 64, l[8] = l[8] & 63 | 128, Ft(l);
|
|
57
|
+
}
|
|
58
|
+
const Jt = jt(null), ee = ({
|
|
59
|
+
children: e,
|
|
60
|
+
classification: s,
|
|
61
|
+
baseURL: p,
|
|
62
|
+
getToken: l,
|
|
63
|
+
onNetworkCall: h,
|
|
64
|
+
pickSources: v,
|
|
65
|
+
chunkSize: O = 15,
|
|
66
|
+
maxRequestCount: Q = 4,
|
|
67
|
+
defaultTimeout: A = 5,
|
|
68
|
+
enabled: B = !0,
|
|
69
|
+
ready: ft = !1,
|
|
70
|
+
publicIconify: S = !0,
|
|
71
|
+
skipConfigCall: X = !1,
|
|
72
|
+
customIconify: R,
|
|
73
|
+
debugLogging: x = !0
|
|
74
|
+
}) => {
|
|
75
|
+
var st, nt, it, rt;
|
|
76
|
+
const I = Mt(), i = Ot(Pt), [Y, dt] = H(null), w = K(
|
|
77
|
+
() => {
|
|
78
|
+
var t, n;
|
|
79
|
+
return Y ?? s ?? ((n = (t = I.config) == null ? void 0 : t.c12nDef) == null ? void 0 : n.RESTRICTED);
|
|
80
|
+
},
|
|
81
|
+
[s, (nt = (st = I.config) == null ? void 0 : st.c12nDef) == null ? void 0 : nt.RESTRICTED, Y]
|
|
82
|
+
), Z = g(
|
|
83
|
+
(t) => {
|
|
84
|
+
var n;
|
|
85
|
+
return dt(t((n = I.config) == null ? void 0 : n.c12nDef));
|
|
86
|
+
},
|
|
87
|
+
[(it = I.config) == null ? void 0 : it.c12nDef]
|
|
88
|
+
), [C, pt] = H(ft), b = bt(0), [D, mt] = H([]), { availableSources: j, typesDetection: V } = Dt(
|
|
89
|
+
B && C,
|
|
90
|
+
p,
|
|
91
|
+
x,
|
|
92
|
+
l,
|
|
93
|
+
h
|
|
94
|
+
);
|
|
95
|
+
q(() => {
|
|
96
|
+
if (X || !B || !C)
|
|
97
|
+
return;
|
|
98
|
+
const t = {}, n = l == null ? void 0 : l();
|
|
99
|
+
n && (t.Authorization = `Bearer ${n}`);
|
|
100
|
+
let u = { baseURL: p, headers: t };
|
|
101
|
+
h && (u = h(u)), Et.configs.get(u).then(I.setConfig);
|
|
102
|
+
}, [p, h, X, C]);
|
|
103
|
+
const [z, N] = H(R);
|
|
104
|
+
q(() => {
|
|
105
|
+
R && N(R);
|
|
106
|
+
}, [R]), q(() => {
|
|
107
|
+
if (S)
|
|
108
|
+
return;
|
|
109
|
+
let t = z ?? void 0 ?? (p == null ? void 0 : p.replace(/^[^.]+/, "icons"));
|
|
110
|
+
!t && typeof window < "u" && window && !window.location.origin.includes("localhost") && (t = window.location.protocol + "//" + window.location.origin.replace(/^[^.]+/, "icons")), t && (G(`Using ${t} for iconify`, x), xt("", {
|
|
111
|
+
resources: [t]
|
|
112
|
+
}));
|
|
113
|
+
}, [p, z, x, S]);
|
|
114
|
+
const U = g(
|
|
115
|
+
async (t) => {
|
|
116
|
+
const n = [];
|
|
117
|
+
for (const c of t) {
|
|
118
|
+
const { latency: o, source: f, type: r, value: y, items: a, error: m } = c;
|
|
119
|
+
m && n.push({
|
|
120
|
+
id: $(),
|
|
121
|
+
source: f,
|
|
122
|
+
type: r,
|
|
123
|
+
value: y,
|
|
124
|
+
annotations: [],
|
|
125
|
+
classification: w,
|
|
126
|
+
latency: o,
|
|
127
|
+
count: 0,
|
|
128
|
+
error: m
|
|
129
|
+
});
|
|
130
|
+
for (const E of a) {
|
|
131
|
+
const { classification: P, count: M, link: F, annotations: yt } = E;
|
|
132
|
+
await i.selectors.find({ selector: { type: r, value: y, source: f, classification: P } }).incrementalRemove();
|
|
133
|
+
const _ = {
|
|
134
|
+
id: $(),
|
|
135
|
+
source: f,
|
|
136
|
+
type: r,
|
|
137
|
+
value: y,
|
|
138
|
+
annotations: yt,
|
|
139
|
+
classification: P,
|
|
140
|
+
latency: o,
|
|
141
|
+
count: M,
|
|
142
|
+
link: F,
|
|
143
|
+
error: m
|
|
144
|
+
};
|
|
145
|
+
n.some((wt) => wt.id === _.id) && (_.id = $()), n.push(_);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
const u = await i.selectors.bulkInsert(n);
|
|
149
|
+
u.error.length > 0 && (console.warn("Errors on upsert:"), u.error.forEach((c) => console.warn(c.documentId, c.validationErrors ?? c.status)));
|
|
150
|
+
},
|
|
151
|
+
[i, w]
|
|
152
|
+
), T = g(
|
|
153
|
+
async (t, n, u = {}) => {
|
|
154
|
+
var E, P;
|
|
155
|
+
if (!t || !n)
|
|
156
|
+
return console.error(`Type (${t}) or value (${n}) is empty, returning empty response`), {};
|
|
157
|
+
const c = (v == null ? void 0 : v(D, j, [{ type: t, value: n, classification: u.classification }])) ?? D, o = {
|
|
158
|
+
timeout: A,
|
|
159
|
+
force: !1,
|
|
160
|
+
includeRaw: !1,
|
|
161
|
+
noCache: !1,
|
|
162
|
+
classification: w,
|
|
163
|
+
sources: c,
|
|
164
|
+
...u
|
|
165
|
+
}, f = {}, r = l == null ? void 0 : l();
|
|
166
|
+
r && (f.Authorization = `Bearer ${r}`);
|
|
167
|
+
let y = { baseURL: p, headers: f };
|
|
168
|
+
h && (y = h(y));
|
|
169
|
+
const a = {
|
|
170
|
+
type: t,
|
|
171
|
+
value: n,
|
|
172
|
+
classification: o.classification
|
|
173
|
+
};
|
|
174
|
+
let m = await ((E = i.status) == null ? void 0 : E.findOne({ selector: { ...a } }).exec());
|
|
175
|
+
m ? await m.incrementalPatch({ status: "in-progress" }) : m = await ((P = i.status) == null ? void 0 : P.insert({
|
|
176
|
+
id: $(),
|
|
177
|
+
type: a.type,
|
|
178
|
+
value: a.value,
|
|
179
|
+
classification: a.classification ?? w,
|
|
180
|
+
status: "in-progress"
|
|
181
|
+
}));
|
|
182
|
+
try {
|
|
183
|
+
const M = await ot([a], o.sources, o, y), F = Object.values(Object.values(M)[0])[0];
|
|
184
|
+
return await (m == null ? void 0 : m.incrementalPatch({ status: "complete" })), await U(Object.values(F)), F;
|
|
185
|
+
} catch (M) {
|
|
186
|
+
return console.error(M), {};
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
[
|
|
190
|
+
U,
|
|
191
|
+
j,
|
|
192
|
+
p,
|
|
193
|
+
i,
|
|
194
|
+
w,
|
|
195
|
+
A,
|
|
196
|
+
l,
|
|
197
|
+
h,
|
|
198
|
+
v,
|
|
199
|
+
D
|
|
200
|
+
]
|
|
201
|
+
), W = g(
|
|
202
|
+
async (t, n) => {
|
|
203
|
+
const u = (v == null ? void 0 : v(D, j, t)) ?? D, c = {
|
|
204
|
+
timeout: A,
|
|
205
|
+
includeRaw: !1,
|
|
206
|
+
noCache: !1,
|
|
207
|
+
classification: w,
|
|
208
|
+
sources: u,
|
|
209
|
+
...n
|
|
210
|
+
}, o = {}, f = l == null ? void 0 : l();
|
|
211
|
+
f && (o.Authorization = `Bearer ${f}`);
|
|
212
|
+
let r = { baseURL: p, headers: o };
|
|
213
|
+
h && (r = h(r));
|
|
214
|
+
const y = [];
|
|
215
|
+
for (const a of t) {
|
|
216
|
+
const m = { type: a.type, value: a.value, classification: c.classification };
|
|
217
|
+
let E = await i.status.findOne({
|
|
218
|
+
selector: m
|
|
219
|
+
}).incrementalPatch({
|
|
220
|
+
status: "in-progress"
|
|
221
|
+
});
|
|
222
|
+
E || (E = await i.status.insert({
|
|
223
|
+
id: $(),
|
|
224
|
+
...m,
|
|
225
|
+
status: "in-progress",
|
|
226
|
+
sources: c.sources
|
|
227
|
+
})), y.push(E.toMutableJSON());
|
|
228
|
+
}
|
|
229
|
+
try {
|
|
230
|
+
const a = await ot(t, c.sources, c, r), m = Object.values(a).flatMap(Object.values).flatMap(Object.values);
|
|
231
|
+
return await U(m), a;
|
|
232
|
+
} catch (a) {
|
|
233
|
+
return console.error(a), {};
|
|
234
|
+
} finally {
|
|
235
|
+
i.status.bulkUpsert(
|
|
236
|
+
Vt(y, (a) => a.id).map((a) => (a.status = "complete", a))
|
|
237
|
+
);
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
[
|
|
241
|
+
v,
|
|
242
|
+
D,
|
|
243
|
+
j,
|
|
244
|
+
A,
|
|
245
|
+
w,
|
|
246
|
+
l,
|
|
247
|
+
p,
|
|
248
|
+
h,
|
|
249
|
+
i,
|
|
250
|
+
U
|
|
251
|
+
]
|
|
252
|
+
), L = g(async () => {
|
|
253
|
+
const t = await i.selectors.find({ selector: { error: { $exists: !0 } } }).exec(), n = ct(t, "classification"), u = [];
|
|
254
|
+
for (const [c, o] of Object.entries(n)) {
|
|
255
|
+
const f = ct(o, (r) => `${r.type}:${r.value}`);
|
|
256
|
+
Object.values(f).forEach((r) => {
|
|
257
|
+
u.push({
|
|
258
|
+
id: $(),
|
|
259
|
+
type: r[0].type,
|
|
260
|
+
value: r[0].value,
|
|
261
|
+
classification: c,
|
|
262
|
+
sources: at(r.map((y) => y.source)).sort(),
|
|
263
|
+
status: "pending"
|
|
264
|
+
});
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
await i.status.bulkInsert(u), await i.selectors.bulkRemove(t);
|
|
268
|
+
}, [i]), k = K(
|
|
269
|
+
() => gt(
|
|
270
|
+
async () => {
|
|
271
|
+
if (i != null && i.status) {
|
|
272
|
+
if (i.status.closed) {
|
|
273
|
+
console.warn("Status database is closed, will not enrich");
|
|
274
|
+
return;
|
|
275
|
+
}
|
|
276
|
+
} else return;
|
|
277
|
+
const t = await i.status.find({ selector: { status: "pending" } }).update({ $set: { status: "in-progress" } });
|
|
278
|
+
if (t.length < 1)
|
|
279
|
+
return;
|
|
280
|
+
const n = Rt(t, O);
|
|
281
|
+
G(
|
|
282
|
+
`Enriching ${t.length} selectors in ${n.length} chunks of ${O}.`,
|
|
283
|
+
x
|
|
284
|
+
), await Promise.all(
|
|
285
|
+
// For performance reasons, we chunk the requests. This will allow us to take advantage of parellelization in the
|
|
286
|
+
// backend, both on the pod level and kubernetes level
|
|
287
|
+
n.map(async (u) => {
|
|
288
|
+
let c = null;
|
|
289
|
+
if (b.current <= Q)
|
|
290
|
+
b.current += 1;
|
|
291
|
+
else {
|
|
292
|
+
let o = Date.now();
|
|
293
|
+
await new Promise((f) => {
|
|
294
|
+
c = setInterval(() => {
|
|
295
|
+
G(
|
|
296
|
+
`Waiting on ${b.current} existing requests to complete (total delay: ${Date.now() - o}ms)`,
|
|
297
|
+
x
|
|
298
|
+
), b.current < Q && f();
|
|
299
|
+
}, 400);
|
|
300
|
+
}).finally(() => {
|
|
301
|
+
b.current += 1, clearInterval(c);
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
try {
|
|
305
|
+
const o = {}, f = at(u.flatMap((r) => r.sources ?? []));
|
|
306
|
+
f.length > 0 && (o.sources = f), await W(
|
|
307
|
+
u.map((r) => r.toSelector()),
|
|
308
|
+
o
|
|
309
|
+
), await i.status.findByIds(u.map((r) => r.id)).update({ $set: { status: "complete" } });
|
|
310
|
+
} catch (o) {
|
|
311
|
+
console.error(o);
|
|
312
|
+
} finally {
|
|
313
|
+
b.current -= 1, c && clearInterval(c);
|
|
314
|
+
}
|
|
315
|
+
})
|
|
316
|
+
);
|
|
317
|
+
},
|
|
318
|
+
200,
|
|
319
|
+
{ maxWait: 500, leading: !1 }
|
|
320
|
+
),
|
|
321
|
+
[W, O, i, x, Q]
|
|
322
|
+
);
|
|
323
|
+
q(() => {
|
|
324
|
+
}, [i, x]), q(() => {
|
|
325
|
+
if (!B || !C || !(i != null && i.status))
|
|
326
|
+
return;
|
|
327
|
+
const t = i.status.find({
|
|
328
|
+
selector: {
|
|
329
|
+
status: "pending"
|
|
330
|
+
}
|
|
331
|
+
}).$.subscribe(() => k());
|
|
332
|
+
return () => {
|
|
333
|
+
try {
|
|
334
|
+
t == null || t.unsubscribe();
|
|
335
|
+
} catch (n) {
|
|
336
|
+
console.warn(n);
|
|
337
|
+
}
|
|
338
|
+
};
|
|
339
|
+
}, [B, C, i, x, k]);
|
|
340
|
+
const tt = g(
|
|
341
|
+
async (t, n, u) => {
|
|
342
|
+
if (!t)
|
|
343
|
+
throw new Error("Type cannot be null");
|
|
344
|
+
if (!n)
|
|
345
|
+
throw new Error("Value cannot be null");
|
|
346
|
+
const c = { type: t, value: n, classification: u ?? w };
|
|
347
|
+
let o = await i.status.findOne({
|
|
348
|
+
selector: c
|
|
349
|
+
}).exec();
|
|
350
|
+
return o || (o = await i.status.queueInsert({
|
|
351
|
+
id: $(),
|
|
352
|
+
...c,
|
|
353
|
+
status: "pending"
|
|
354
|
+
})), o;
|
|
355
|
+
},
|
|
356
|
+
[w, i]
|
|
357
|
+
), et = g(
|
|
358
|
+
(t) => {
|
|
359
|
+
var f, r;
|
|
360
|
+
if (!t)
|
|
361
|
+
return null;
|
|
362
|
+
const n = Object.entries(V), u = (f = n.find(([y, a]) => a.exec(t))) == null ? void 0 : f[0];
|
|
363
|
+
if (u)
|
|
364
|
+
return u;
|
|
365
|
+
const c = t.toLowerCase(), o = (r = n.find(([y, a]) => a.exec(c))) == null ? void 0 : r[0];
|
|
366
|
+
return o || null;
|
|
367
|
+
},
|
|
368
|
+
[V]
|
|
369
|
+
), ht = K(
|
|
370
|
+
() => {
|
|
371
|
+
var t;
|
|
372
|
+
return {
|
|
373
|
+
bulkEnrich: W,
|
|
374
|
+
enrich: T,
|
|
375
|
+
enrichFailedEnrichments: L,
|
|
376
|
+
sources: D,
|
|
377
|
+
setSources: mt,
|
|
378
|
+
typesDetection: V,
|
|
379
|
+
availableSources: j,
|
|
380
|
+
guessType: et,
|
|
381
|
+
queueEnrich: tt,
|
|
382
|
+
setCustomIconify: N,
|
|
383
|
+
setDefaultClassification: Z,
|
|
384
|
+
setReady: pt,
|
|
385
|
+
defaultClassification: w,
|
|
386
|
+
ready: C && !!i && !!((t = I.config) != null && t.c12nDef)
|
|
387
|
+
};
|
|
388
|
+
},
|
|
389
|
+
[
|
|
390
|
+
W,
|
|
391
|
+
T,
|
|
392
|
+
L,
|
|
393
|
+
D,
|
|
394
|
+
V,
|
|
395
|
+
j,
|
|
396
|
+
et,
|
|
397
|
+
tt,
|
|
398
|
+
Z,
|
|
399
|
+
w,
|
|
400
|
+
C,
|
|
401
|
+
i,
|
|
402
|
+
(rt = I.config) == null ? void 0 : rt.c12nDef
|
|
403
|
+
]
|
|
404
|
+
);
|
|
405
|
+
return /* @__PURE__ */ vt(Jt.Provider, { value: ht, children: e });
|
|
406
|
+
};
|
|
407
|
+
export {
|
|
408
|
+
Jt as C,
|
|
409
|
+
ee as a,
|
|
410
|
+
Vt as b,
|
|
411
|
+
at as u
|
|
412
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as d } from "react/jsx-runtime";
|
|
2
2
|
import { Popover as r } from "@mui/material";
|
|
3
3
|
import v, { useRef as c, useState as g, useEffect as R } from "react";
|
|
4
|
-
import { A as k } from "../AnnotationDetails-
|
|
4
|
+
import { A as k } from "../AnnotationDetails-BoX61_IF.js";
|
|
5
5
|
const S = v.memo(({ anchorEl: t, enrichRequest: u, open: o, onClose: l, ...e }) => {
|
|
6
6
|
var f, s, m;
|
|
7
7
|
const a = c(), [x, n] = g(!1);
|
|
@@ -10,8 +10,8 @@ import "../hooks/useErrors.js";
|
|
|
10
10
|
import "../icons/iconMap.js";
|
|
11
11
|
import "../utils/window.js";
|
|
12
12
|
import "../groupBy-BheQYl6f.js";
|
|
13
|
-
import { A as n } from "../AnnotationDetails-
|
|
14
|
-
import "../ClueEnrichContext-
|
|
13
|
+
import { A as n } from "../AnnotationDetails-BoX61_IF.js";
|
|
14
|
+
import "../ClueEnrichContext-CvCIPOMC.js";
|
|
15
15
|
import "react";
|
|
16
16
|
import "../index-E7g8cRyW.js";
|
|
17
17
|
import "./actions/ExecutePopover.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "react/jsx-runtime";
|
|
2
2
|
import "../iconify-BBckr5AQ.js";
|
|
3
3
|
import "@mui/material";
|
|
4
|
-
import { A as d } from "../AnnotationPreview-
|
|
4
|
+
import { A as d } from "../AnnotationPreview-dYinoSA9.js";
|
|
5
5
|
import "../hooks/useAnnotations.js";
|
|
6
6
|
import "../utils-CD0rFIFU.js";
|
|
7
7
|
import "react";
|
|
@@ -10,7 +10,7 @@ import L from "../icons/Context.js";
|
|
|
10
10
|
import Q from "../icons/Opinion.js";
|
|
11
11
|
import { ICON_MAP as T } from "../icons/iconMap.js";
|
|
12
12
|
import R from "../text/Frequency.js";
|
|
13
|
-
import { u as U } from "../ClueEnrichContext-
|
|
13
|
+
import { u as U } from "../ClueEnrichContext-CvCIPOMC.js";
|
|
14
14
|
import { memo as V, useState as X, useMemo as z, useCallback as Y } from "react";
|
|
15
15
|
import { u as Z } from "../index-E7g8cRyW.js";
|
|
16
16
|
import _ from "./AnnotationEntry.js";
|
|
@@ -3,7 +3,7 @@ import { Chip as B, Tooltip as G, Box as $, Stack as H, CircularProgress as J }
|
|
|
3
3
|
import K from "./display/icons/Iconified.js";
|
|
4
4
|
import { ClueComponentContext as L } from "../hooks/ClueComponentContext.js";
|
|
5
5
|
import { ClueGroupContext as N } from "../hooks/ClueGroupContext.js";
|
|
6
|
-
import { C as E } from "../AnnotationPreview-
|
|
6
|
+
import { C as E } from "../AnnotationPreview-dYinoSA9.js";
|
|
7
7
|
import { useClueEnrichSelector as Q } from "../hooks/selectors.js";
|
|
8
8
|
import U from "../hooks/useAnnotations.js";
|
|
9
9
|
import V from "../icons/Action.js";
|
|
@@ -3,7 +3,7 @@ import { useTheme as K, Stack as L, CircularProgress as N, Tooltip as Q, IconBut
|
|
|
3
3
|
import V from "./display/icons/Iconified.js";
|
|
4
4
|
import { ClueComponentContext as W } from "../hooks/ClueComponentContext.js";
|
|
5
5
|
import { ClueGroupContext as X } from "../hooks/ClueGroupContext.js";
|
|
6
|
-
import { C as S } from "../AnnotationPreview-
|
|
6
|
+
import { C as S } from "../AnnotationPreview-dYinoSA9.js";
|
|
7
7
|
import { useClueEnrichSelector as Y } from "../hooks/selectors.js";
|
|
8
8
|
import Z from "../hooks/useAnnotations.js";
|
|
9
9
|
import F from "../icons/Action.js";
|
|
@@ -5,7 +5,7 @@ import "@mui/material";
|
|
|
5
5
|
import "../display/icons/Iconified.js";
|
|
6
6
|
import "../../index-CnaCBNrd.js";
|
|
7
7
|
import "../../hooks/ClueComponentContext.js";
|
|
8
|
-
import { A } from "../../ActionForm-
|
|
8
|
+
import { A } from "../../ActionForm-Sw7D-KOE.js";
|
|
9
9
|
import "../../utils-CD0rFIFU.js";
|
|
10
10
|
import "react";
|
|
11
11
|
import "../../index-E7g8cRyW.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs as y, Fragment as C, jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import { useTheme as k, Tooltip as S, IconButton as E, CircularProgress as d, Button as z, Popover as I, Paper as j, Stack as c, Box as P, Typography as B, Divider as O } from "@mui/material";
|
|
3
3
|
import { useClueComponentSelector as T, useClueEnrichSelector as p } from "../../hooks/selectors.js";
|
|
4
|
-
import { c as w } from "../../ActionForm-
|
|
4
|
+
import { c as w } from "../../ActionForm-Sw7D-KOE.js";
|
|
5
5
|
import { useState as m, useRef as M, useCallback as D, useEffect as F } from "react";
|
|
6
6
|
import g from "../display/icons/Iconified.js";
|
|
7
7
|
const J = ({ show: t = !1, size: b = "small", selector: n }) => {
|
|
@@ -6,7 +6,7 @@ import { SNACKBAR_EVENT_ID as w } from "../../data/event.js";
|
|
|
6
6
|
import { ClueGroupContext as j } from "../../hooks/ClueGroupContext.js";
|
|
7
7
|
import { useClueComponentSelector as A, useClueEnrichSelector as u } from "../../hooks/selectors.js";
|
|
8
8
|
import { safeDispatchEvent as B } from "../../utils/window.js";
|
|
9
|
-
import { c as F } from "../../ActionForm-
|
|
9
|
+
import { c as F } from "../../ActionForm-Sw7D-KOE.js";
|
|
10
10
|
import { useState as d, useMemo as O, useCallback as T } from "react";
|
|
11
11
|
import { u as D } from "../../index-E7g8cRyW.js";
|
|
12
12
|
import G from "../actions/ExecutePopover.js";
|
package/database/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import "react/jsx-runtime";
|
|
2
2
|
import "@mui/material";
|
|
3
|
-
import "../index-
|
|
3
|
+
import "../index-pQg5VUAZ.js";
|
|
4
4
|
import "../useClueTypeConfig-CneP98N_.js";
|
|
5
|
-
import { a as A, C as d } from "../ActionForm-
|
|
5
|
+
import { a as A, C as d } from "../ActionForm-Sw7D-KOE.js";
|
|
6
6
|
import "../components/actions/ResultModal.js";
|
|
7
7
|
import "../components/display/icons/Iconified.js";
|
|
8
8
|
import "../components/ErrorBoundary.js";
|
|
@@ -2,7 +2,7 @@ import "react/jsx-runtime";
|
|
|
2
2
|
import "../iconify-BBckr5AQ.js";
|
|
3
3
|
import "../useClueTypeConfig-CneP98N_.js";
|
|
4
4
|
import "../utils/loggerUtil.js";
|
|
5
|
-
import { C as l, a as s } from "../ClueEnrichContext-
|
|
5
|
+
import { C as l, a as s } from "../ClueEnrichContext-CvCIPOMC.js";
|
|
6
6
|
import "../debounce-DryYcbJ4.js";
|
|
7
7
|
import "../groupBy-BheQYl6f.js";
|
|
8
8
|
import "react";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { StatusDocument } from "../database/types";
|
|
2
2
|
import { BulkEnrichResponses, EnrichResponses, FailedRequest, Selector } from "../types/lookup";
|
|
3
|
+
import { ClassificationDefinition } from "../utils/classificationParser";
|
|
3
4
|
|
|
4
5
|
|
|
5
6
|
export interface ClueEnrichContextType {
|
|
@@ -104,6 +105,12 @@ export interface ClueEnrichContextType {
|
|
|
104
105
|
*/
|
|
105
106
|
setCustomIconify: (value: string) => void;
|
|
106
107
|
|
|
108
|
+
/**
|
|
109
|
+
* Set the default classification given a classification definition
|
|
110
|
+
* @param func the function the will return the default classification
|
|
111
|
+
*/
|
|
112
|
+
setDefaultClassification: (func: (classification: ClassificationDefinition) => string) => void;
|
|
113
|
+
|
|
107
114
|
/**
|
|
108
115
|
* Is the clue context ready to enrich?
|
|
109
116
|
*/
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import "react/jsx-runtime";
|
|
2
2
|
import "../components/AnnotationDetailPopover.js";
|
|
3
|
-
import { C as a, a as P } from "../AnnotationPreview-
|
|
3
|
+
import { C as a, a as P } from "../AnnotationPreview-dYinoSA9.js";
|
|
4
4
|
import "../data/event.js";
|
|
5
5
|
import "../utils/window.js";
|
|
6
|
-
import "../AnnotationDetails-
|
|
6
|
+
import "../AnnotationDetails-BoX61_IF.js";
|
|
7
7
|
import "react";
|
|
8
8
|
import "../index-E7g8cRyW.js";
|
|
9
9
|
export {
|
package/hooks/ClueProvider.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
-
import { C as i } from "../ActionForm-
|
|
2
|
+
import { C as i } from "../ActionForm-Sw7D-KOE.js";
|
|
3
3
|
import { ClueComponentProvider as m } from "./ClueComponentContext.js";
|
|
4
4
|
import { ClueConfigProvider as n } from "./ClueConfigProvider.js";
|
|
5
5
|
import { ClueDatabaseProvider as t } from "./ClueDatabaseContext.js";
|
|
6
|
-
import { a as d } from "../ClueEnrichContext-
|
|
6
|
+
import { a as d } from "../ClueEnrichContext-CvCIPOMC.js";
|
|
7
7
|
import { ClueFetcherProvider as l } from "./ClueFetcherContext.js";
|
|
8
|
-
import { a as c } from "../AnnotationPreview-
|
|
8
|
+
import { a as c } from "../AnnotationPreview-dYinoSA9.js";
|
|
9
9
|
const p = ({ children: o, ...e }) => /* @__PURE__ */ r(m, { ...e, children: /* @__PURE__ */ r(n, { config: e.config, children: /* @__PURE__ */ r(t, { ...e, children: /* @__PURE__ */ r(d, { ...e, children: /* @__PURE__ */ r(l, { ...e, children: /* @__PURE__ */ r(i, { ...e, children: /* @__PURE__ */ r(c, { children: o }) }) }) }) }) }) });
|
|
10
10
|
export {
|
|
11
11
|
p as ClueProvider
|
package/hooks/selectors.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { u as t } from "../index-E7g8cRyW.js";
|
|
2
|
-
import { a as o } from "../ActionForm-
|
|
2
|
+
import { a as o } from "../ActionForm-Sw7D-KOE.js";
|
|
3
3
|
import { ClueComponentContext as r } from "./ClueComponentContext.js";
|
|
4
|
-
import { C as n } from "../ClueEnrichContext-
|
|
4
|
+
import { C as n } from "../ClueEnrichContext-CvCIPOMC.js";
|
|
5
5
|
import { ClueFetcherContext as u } from "./ClueFetcherContext.js";
|
|
6
6
|
const i = (e) => t(u, e), p = (e) => t(o, e), a = (e) => t(n, e), f = (e) => t(r, e);
|
|
7
7
|
export {
|
package/hooks/useAnnotations.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { b as p } from "../ClueEnrichContext-
|
|
1
|
+
import { b as p } from "../ClueEnrichContext-CvCIPOMC.js";
|
|
2
2
|
import { useContext as q, useMemo as g, useState as h, useEffect as a } from "react";
|
|
3
3
|
import { ClueDatabaseContext as A } from "./ClueDatabaseContext.js";
|
|
4
4
|
import { useClueEnrichSelector as c } from "./selectors.js";
|
package/hooks/useClue.js
CHANGED
package/hooks/useClueActions.js
CHANGED
package/icons/Action.js
CHANGED
|
@@ -2,8 +2,8 @@ import { jsx as e, jsxs as z } from "react/jsx-runtime";
|
|
|
2
2
|
import { I } from "../iconify-BBckr5AQ.js";
|
|
3
3
|
import { useTheme as j, Stack as i, Divider as l, Typography as C } from "@mui/material";
|
|
4
4
|
import R from "../components/CountBadge.js";
|
|
5
|
-
import { C as v } from "../AnnotationPreview-
|
|
6
|
-
import { u as B } from "../ActionForm-
|
|
5
|
+
import { C as v } from "../AnnotationPreview-dYinoSA9.js";
|
|
6
|
+
import { u as B } from "../ActionForm-Sw7D-KOE.js";
|
|
7
7
|
import { g as D } from "../groupBy-BheQYl6f.js";
|
|
8
8
|
import { memo as L, useRef as A, useMemo as s, useEffect as O } from "react";
|
|
9
9
|
import { u as M } from "../index-E7g8cRyW.js";
|