@cccsaurora/clue-ui 1.2.6 → 1.2.7-patch.318

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