@cccsaurora/clue-ui 1.3.0-dev.404 → 1.3.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.
Files changed (224) hide show
  1. package/ActionForm-CHOSKfvu.js +4403 -0
  2. package/AnnotationDetails-Bqq6Ymmg.js +160 -0
  3. package/AnnotationPreview-CqXmC-j8.js +140 -0
  4. package/ClueEnrichContext-DL6aGe1k.js +432 -0
  5. package/FlexOne-BXWFOd1T.js +6 -0
  6. package/_MapCache-DRK-s2eK.js +179 -0
  7. package/_Set-DrS_bbSV.js +6 -0
  8. package/_Uint8Array-D9R2N9Lp.js +98 -0
  9. package/_arrayIncludes-Dcl_29E6.js +25 -0
  10. package/_arrayPush-DBJIuK2V.js +8 -0
  11. package/_baseAssignValue-Bx1cxHj5.js +12 -0
  12. package/_baseClone-DRhywkxm.js +211 -0
  13. package/_baseExtremum-DodEaEyF.js +16 -0
  14. package/_baseFlatten-CD9NgrYE.js +72 -0
  15. package/_baseGet-bVwDaGrA.js +80 -0
  16. package/_baseGetTag-CxDaTem-.js +25 -0
  17. package/_baseIsEqual-C-FKsm1J.js +150 -0
  18. package/_baseIteratee-D0FhC5bC.js +95 -0
  19. package/_baseRest-D_eW2E0d.js +8 -0
  20. package/_baseSlice-M5RKzt1A.js +10 -0
  21. package/_baseSum-wEbgNeUs.js +10 -0
  22. package/_baseUniq-D3N8igOm.js +41 -0
  23. package/_cacheHas-Wgl-hw34.js +22 -0
  24. package/_commonjsHelpers-C6fGbg64.js +6 -0
  25. package/_createAggregator-BVj8IAuF.js +53 -0
  26. package/_defineProperty-BZU4WKA3.js +11 -0
  27. package/_getPrototype-BGBCg-aX.js +5 -0
  28. package/_getTag-B7R9qBo7.js +73 -0
  29. package/_isIterateeCall-Dm0VTAYy.js +13 -0
  30. package/_setToArray-Ck4YZu0Z.js +9 -0
  31. package/cloneDeep-fV59zwUf.js +8 -0
  32. package/components/AnnotationBody.js +35 -49
  33. package/components/AnnotationDetailPopover.js +30 -36
  34. package/components/AnnotationDetails.js +7 -7
  35. package/components/AnnotationEntry.js +35 -35
  36. package/components/AnnotationPreview.js +5 -5
  37. package/components/ClassificationChip.js +23 -44
  38. package/components/CountBadge.js +26 -31
  39. package/components/EnrichedCard.js +97 -110
  40. package/components/EnrichedChip.js +105 -130
  41. package/components/EnrichedTypography.js +107 -133
  42. package/components/ErrorBoundary.js +24 -28
  43. package/components/RetryFailedEnrichments.js +9 -10
  44. package/components/SourcePicker.js +49 -57
  45. package/components/actions/ActionForm.js +4 -4
  46. package/components/actions/ExecutePopover.js +59 -75
  47. package/components/actions/ResultModal.js +4 -4
  48. package/components/actions/form/schemaAdapter.js +23 -39
  49. package/components/actions/formats/FileResult.js +59 -86
  50. package/components/actions/formats/index.js +25 -29
  51. package/components/display/graph/ExpandMoreButton.js +10 -10
  52. package/components/display/graph/elements/NodeCard.js +91 -111
  53. package/components/display/graph/elements/NodeTag.js +13 -15
  54. package/components/display/graph/index.js +202 -261
  55. package/components/display/graph/visualizations/Leaf.js +70 -89
  56. package/components/display/graph/visualizations/cloud/index.js +81 -98
  57. package/components/display/graph/visualizations/icons/BaseIcon.js +21 -26
  58. package/components/display/graph/visualizations/icons/BugIcon.js +12 -12
  59. package/components/display/graph/visualizations/icons/HostIcon.js +12 -12
  60. package/components/display/graph/visualizations/icons/NetworkIcon.js +12 -12
  61. package/components/display/graph/visualizations/icons/ProcessIcon.js +12 -12
  62. package/components/display/graph/visualizations/icons/TargetIcon.js +13 -13
  63. package/components/display/graph/visualizations/icons/index.js +13 -14
  64. package/components/display/graph/visualizations/panels/NodePanel.js +8 -10
  65. package/components/display/graph/visualizations/tree/BundleLine.js +81 -108
  66. package/components/display/graph/visualizations/tree/Triangle.js +13 -13
  67. package/components/display/graph/visualizations/tree/index.js +306 -408
  68. package/components/display/icons/Iconified.js +12 -27
  69. package/components/display/json/index.js +4 -4
  70. package/components/display/markdown/index.js +5770 -8678
  71. package/components/enrichment/EnrichPopover.js +46 -54
  72. package/components/fetchers/Fetcher.js +123 -166
  73. package/components/fetchers/FetcherResultView.js +27 -31
  74. package/components/fetchers/PreviewModal.js +16 -17
  75. package/components/fetchers/StatusChip.js +17 -21
  76. package/components/group/Entry.js +11 -13
  77. package/components/group/Group.js +10 -13
  78. package/components/group/GroupControl.js +65 -76
  79. package/components/stats/QueryStatus.js +32 -45
  80. package/countBy-B3rNuG4T.js +8 -0
  81. package/data/event.js +4 -6
  82. package/database/globals.js +2 -2
  83. package/database/index.js +3 -3
  84. package/database/replication.js +4 -4
  85. package/get-Bil3mzRD.js +8 -0
  86. package/groupBy-CrJC7sGa.js +8 -0
  87. package/hooks/ClueActionContext.js +6 -6
  88. package/hooks/ClueComponentContext.js +23 -29
  89. package/hooks/ClueConfigProvider.js +12 -14
  90. package/hooks/ClueDatabaseContext.js +23 -35
  91. package/hooks/ClueEnrichContext.js +11 -11
  92. package/hooks/ClueFetcherContext.js +56 -83
  93. package/hooks/ClueGroupContext.js +14 -17
  94. package/hooks/CluePopupContext.js +5 -5
  95. package/hooks/ClueProvider.js +11 -13
  96. package/hooks/ClueUIPluginContext.js +35 -49
  97. package/hooks/selectors.js +7 -7
  98. package/hooks/useActionResult.js +3 -3
  99. package/hooks/useAnnotations.js +32 -48
  100. package/hooks/useClue.js +4 -6
  101. package/hooks/useClueActions.js +3 -3
  102. package/hooks/useClueConfig.js +4 -6
  103. package/hooks/useClueTypeConfig.js +24 -49
  104. package/hooks/useClueUIPlugins.js +7 -8
  105. package/hooks/useComparator.js +435 -722
  106. package/hooks/useErrors.js +18 -22
  107. package/hooks/useFetcherResult.js +24 -33
  108. package/hooks/useMyHighlights.js +36 -66
  109. package/hooks/useMyLocalStorage.js +37 -66
  110. package/iconify-Ptb5dTKy.js +1270 -0
  111. package/icons/Action.js +49 -66
  112. package/icons/Assessment.js +69 -85
  113. package/icons/Context.js +63 -77
  114. package/icons/Opinion.js +60 -76
  115. package/icons/iconMap.js +2 -2
  116. package/identity-ByMq8VxU.js +6 -0
  117. package/index-BH-gBhtO.js +2282 -0
  118. package/index-BM9Sve5T.js +571 -0
  119. package/index-Cj4d5cGz.js +357 -0
  120. package/index-Dh2PP9h8.js +11747 -0
  121. package/index-DoFpWPHo.js +975 -0
  122. package/index-DzVIklWY.js +6464 -0
  123. package/isArguments-BWcXOE6a.js +24 -0
  124. package/isArray-WzO_os3q.js +4 -0
  125. package/isEmpty-DKxrY-_M.js +22 -0
  126. package/isNil-CjWwlQS3.js +6 -0
  127. package/isObject-B53jY8Qg.js +7 -0
  128. package/isObjectLike-CYbdrIBr.js +6 -0
  129. package/isSymbol-DE1Kcy2M.js +9 -0
  130. package/last-7CdUxN0r.js +7 -0
  131. package/main.js +62 -62
  132. package/maxBy-BOWDkL_D.js +8 -0
  133. package/package.json +1 -1
  134. package/plugins/ClueUIPlugin.js +96 -163
  135. package/plugins/file/index.js +15 -15
  136. package/plugins/graph/index.js +26 -29
  137. package/plugins/image/index.js +24 -28
  138. package/plugins/json/index.js +21 -21
  139. package/plugins/markdown/index.js +18 -18
  140. package/plugins/registry.js +6 -6
  141. package/plugins/store.js +4 -4
  142. package/plugins/test/index.js +17 -17
  143. package/plugins/utils.js +12 -13
  144. package/replication-WkKbPdwG.js +8453 -0
  145. package/sessionStorage-DFMae61b.js +90 -0
  146. package/sortBy-BHe812lF.js +74 -0
  147. package/store-DClHBq7r.js +1169 -0
  148. package/sumBy-B7f_bP_k.js +8 -0
  149. package/text/Frequency.js +23 -42
  150. package/toFinite-CBrE65MP.js +14 -0
  151. package/toNumber-CxmWey0f.js +31 -0
  152. package/uniq-B4UZ671_.js +7 -0
  153. package/utils/chain.js +65 -92
  154. package/utils/classificationParser.js +256 -519
  155. package/utils/constants.js +11 -37
  156. package/utils/graph.js +45 -72
  157. package/utils/hashUtil.js +7 -7
  158. package/utils/line.js +81 -131
  159. package/utils/loggerUtil.js +3 -5
  160. package/utils/sessionStorage.js +7 -7
  161. package/utils/time.js +427 -447
  162. package/utils/utils.js +10 -10
  163. package/utils/window.js +10 -21
  164. package/utils-SpTOhPYl.js +147 -0
  165. package/ActionForm-CqKcnDWC.js +0 -6099
  166. package/AnnotationDetails-BlPd3T8k.js +0 -176
  167. package/AnnotationPreview-Bl447SKT.js +0 -188
  168. package/ClueEnrichContext-B3YrTCaJ.js +0 -567
  169. package/FlexOne-BSYAhhtG.js +0 -9
  170. package/_MapCache-kuEY_iOH.js +0 -220
  171. package/_Set-BrSMTlHn.js +0 -6
  172. package/_Uint8Array-OPpgYQj7.js +0 -123
  173. package/_arrayIncludes-BNqL-9ZP.js +0 -31
  174. package/_arrayPush-CBkQqaE_.js +0 -10
  175. package/_baseAssignValue-CNUVPOBW.js +0 -16
  176. package/_baseClone-9FaRd1R2.js +0 -287
  177. package/_baseExtremum-wOGT4Dgw.js +0 -18
  178. package/_baseFlatten-Co6QHDlG.js +0 -92
  179. package/_baseGet-Cmp6FztG.js +0 -109
  180. package/_baseGetTag-Hj-0NTYF.js +0 -44
  181. package/_baseIsEqual-1CpU47TZ.js +0 -211
  182. package/_baseIteratee-BN7Vbe5g.js +0 -126
  183. package/_baseRest-BZ_hQ9PC.js +0 -8
  184. package/_baseSlice-GAv_YFTT.js +0 -20
  185. package/_baseSum-D0WC1dN0.js +0 -13
  186. package/_baseUniq-BnvS3JHL.js +0 -63
  187. package/_cacheHas-_aF2y2Xv.js +0 -25
  188. package/_commonjsHelpers-CUmg6egw.js +0 -6
  189. package/_createAggregator-BUZrP_is.js +0 -63
  190. package/_defineProperty-DolZLKmv.js +0 -12
  191. package/_getPrototype-Bb4gm-5m.js +0 -5
  192. package/_getTag-CML_cXiN.js +0 -105
  193. package/_isIterateeCall-B1IFEqVv.js +0 -17
  194. package/_setToArray-CqyqC8ib.js +0 -10
  195. package/cloneDeep-l3UkXG5M.js +0 -8
  196. package/countBy-Bqcp3VCs.js +0 -14
  197. package/get-CdMThM8x.js +0 -8
  198. package/groupBy-BVV07EGQ.js +0 -14
  199. package/iconify-DJxl6dC-.js +0 -1789
  200. package/identity-CPGTqrE4.js +0 -6
  201. package/index-CAvu7vwt.js +0 -1172
  202. package/index-CVUD9o3t.js +0 -15768
  203. package/index-DUEubgWN.js +0 -464
  204. package/index-Dj1N4IQP.js +0 -9314
  205. package/index-DpJxD74E.js +0 -3272
  206. package/index-_gpzM2Px.js +0 -702
  207. package/isArguments-CuYlEuhP.js +0 -27
  208. package/isArray-RJPfgWqI.js +0 -4
  209. package/isEmpty-BE656RUK.js +0 -30
  210. package/isNil-CIubwp4T.js +0 -6
  211. package/isObject-FTY-5JQX.js +0 -7
  212. package/isObjectLike-CeENW9FN.js +0 -6
  213. package/isSymbol-D_H4HPZQ.js +0 -9
  214. package/last-CUCl67Im.js +0 -7
  215. package/maxBy-BjjQmX5t.js +0 -8
  216. package/replication--gLEZw8a.js +0 -11777
  217. package/sessionStorage-B68y-wnE.js +0 -140
  218. package/sortBy-B8JVsLQY.js +0 -95
  219. package/store-B9sjQbcS.js +0 -2163
  220. package/sumBy-D-HCzM2i.js +0 -8
  221. package/toFinite-meZTg4Su.js +0 -16
  222. package/toNumber-B5JaA1vX.js +0 -39
  223. package/uniq-CahZPAwp.js +0 -7
  224. package/utils-CEySTPtg.js +0 -224
@@ -1,40 +1,28 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { b as buildDatabase } from "../index-Dj1N4IQP.js";
3
- import { createContext, useState, useRef, useEffect } from "react";
4
- const ClueDatabaseContext = createContext(null);
5
- const ClueDatabaseProvider = ({
6
- children,
7
- database: _database,
8
- databaseConfig,
9
- getToken
1
+ import { jsx as l } from "react/jsx-runtime";
2
+ import { b as f } from "../index-DzVIklWY.js";
3
+ import { createContext as m, useState as p, useRef as b, useEffect as r } from "react";
4
+ const d = m(null), D = ({
5
+ children: i,
6
+ database: e,
7
+ databaseConfig: o,
8
+ getToken: t
10
9
  }) => {
11
- const [database, setDatabase] = useState();
12
- const getTokenRef = useRef(getToken);
13
- useEffect(() => {
14
- getTokenRef.current = getToken;
15
- }, [getToken]);
16
- useEffect(() => {
17
- if (_database) {
18
- setDatabase(_database);
19
- }
20
- }, [_database]);
21
- useEffect(() => {
22
- let cancelled = false;
23
- if (!_database) {
24
- console.warn("It is heavily suggested to initialize the database outside of the React component tree.");
25
- buildDatabase({ ...databaseConfig, getToken: getTokenRef.current }).then((_db) => {
26
- if (!cancelled) {
27
- setDatabase(_db);
28
- }
29
- });
30
- return () => {
31
- cancelled = true;
10
+ const [u, s] = p(), n = b(t);
11
+ return r(() => {
12
+ n.current = t;
13
+ }, [t]), r(() => {
14
+ e && s(e);
15
+ }, [e]), r(() => {
16
+ let a = !1;
17
+ if (!e)
18
+ return console.warn("It is heavily suggested to initialize the database outside of the React component tree."), f({ ...o, getToken: n.current }).then((c) => {
19
+ a || s(c);
20
+ }), () => {
21
+ a = !0;
32
22
  };
33
- }
34
- }, [_database, databaseConfig]);
35
- return /* @__PURE__ */ jsx(ClueDatabaseContext.Provider, { value: database, children });
23
+ }, [e, o]), /* @__PURE__ */ l(d.Provider, { value: u, children: i });
36
24
  };
37
25
  export {
38
- ClueDatabaseContext,
39
- ClueDatabaseProvider
26
+ d as ClueDatabaseContext,
27
+ D as ClueDatabaseProvider
40
28
  };
@@ -1,20 +1,20 @@
1
1
  import "react/jsx-runtime";
2
- import "../iconify-DJxl6dC-.js";
3
- import "../index-DpJxD74E.js";
2
+ import "../iconify-Ptb5dTKy.js";
3
+ import "../index-BH-gBhtO.js";
4
4
  import "../database/globals.js";
5
5
  import "../utils/loggerUtil.js";
6
- import "../utils-CEySTPtg.js";
7
- import { C, a } from "../ClueEnrichContext-B3YrTCaJ.js";
8
- import "../sessionStorage-B68y-wnE.js";
9
- import "../groupBy-BVV07EGQ.js";
10
- import "../uniq-CahZPAwp.js";
6
+ import "../utils-SpTOhPYl.js";
7
+ import { C as d, a as f } from "../ClueEnrichContext-DL6aGe1k.js";
8
+ import "../sessionStorage-DFMae61b.js";
9
+ import "../groupBy-CrJC7sGa.js";
10
+ import "../uniq-B4UZ671_.js";
11
11
  import "react";
12
- import "../index-_gpzM2Px.js";
12
+ import "../index-BM9Sve5T.js";
13
13
  import "./ClueDatabaseContext.js";
14
14
  import "./useClueConfig.js";
15
15
  import "./useClueTypeConfig.js";
16
- import "../isEmpty-BE656RUK.js";
16
+ import "../isEmpty-DKxrY-_M.js";
17
17
  export {
18
- C as ClueEnrichContext,
19
- a as ClueEnrichProvider
18
+ d as ClueEnrichContext,
19
+ f as ClueEnrichProvider
20
20
  };
@@ -1,107 +1,80 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { a as api } from "../index-DpJxD74E.js";
3
- import { SNACKBAR_EVENT_ID } from "../data/event.js";
4
- import { safeDispatchEvent } from "../utils/window.js";
5
- import { useState, useRef, useMemo, useCallback, useEffect } from "react";
6
- import { c as createContext } from "../index-_gpzM2Px.js";
7
- import useClue from "./useClue.js";
8
- import useClueConfig from "./useClueConfig.js";
9
- const ClueFetcherContext = createContext(null);
10
- const ClueFetcherProvider = ({
11
- baseURL,
12
- children,
13
- classification: _defaultClassification,
14
- getToken,
15
- onNetworkCall
1
+ import { jsx as P } from "react/jsx-runtime";
2
+ import { a as l } from "../index-BH-gBhtO.js";
3
+ import { SNACKBAR_EVENT_ID as R } from "../data/event.js";
4
+ import { safeDispatchEvent as x } from "../utils/window.js";
5
+ import { useState as C, useRef as T, useMemo as F, useCallback as h, useEffect as d } from "react";
6
+ import { c as _ } from "../index-BM9Sve5T.js";
7
+ import j from "./useClue.js";
8
+ import z from "./useClueConfig.js";
9
+ const H = _(null), U = ({
10
+ baseURL: c,
11
+ children: N,
12
+ classification: A,
13
+ getToken: i,
14
+ onNetworkCall: u
16
15
  }) => {
17
- var _a, _b;
18
- const clueConfig = useClueConfig();
19
- const { ready } = useClue();
20
- const [defaultClassification, setDefaultClasification] = useState(_defaultClassification);
21
- const [fetchCompleted, setFetchCompleted] = useState(false);
22
- const [fetchers, setFetchers] = useState({});
23
- const fetchRequests = useRef({});
24
- const requestConfig = useMemo(() => {
25
- const headers = {};
26
- const token = getToken == null ? void 0 : getToken();
27
- if (token) {
28
- headers.Authorization = `Bearer ${token}`;
29
- }
30
- const baseConfig = { baseURL, headers };
31
- return onNetworkCall ? onNetworkCall(baseConfig) : { baseURL, headers };
32
- }, [baseURL, getToken, onNetworkCall]);
33
- const getHashKey = useCallback(
34
- ({ type, value, classification }) => JSON.stringify({ type, value, classification: classification ?? defaultClassification }),
35
- [defaultClassification]
36
- );
37
- const fetchSelector = useCallback(
38
- async (fetcherId, selector) => {
39
- var _a2;
40
- if ((_a2 = fetchRequests.current[fetcherId]) == null ? void 0 : _a2[getHashKey(selector)]) {
41
- return fetchRequests.current[fetcherId][getHashKey(selector)];
42
- }
16
+ var v, y;
17
+ const m = z(), { ready: p } = j(), [a, q] = C(A), [g, w] = C(!1), [E, B] = C({}), n = T({}), o = F(() => {
18
+ const t = {}, e = i == null ? void 0 : i();
19
+ return e && (t.Authorization = `Bearer ${e}`), u ? u({ baseURL: c, headers: t }) : { baseURL: c, headers: t };
20
+ }, [c, i, u]), f = h(
21
+ ({ type: t, value: e, classification: r }) => JSON.stringify({ type: t, value: e, classification: r ?? a }),
22
+ [a]
23
+ ), S = h(
24
+ async (t, e) => {
25
+ var r;
26
+ if ((r = n.current[t]) != null && r[f(e)])
27
+ return n.current[t][f(e)];
43
28
  try {
44
- const result = api.fetchers.post(fetcherId, selector, requestConfig);
45
- if (!fetchRequests.current[fetcherId]) {
46
- fetchRequests.current[fetcherId] = {};
47
- }
48
- fetchRequests.current[fetcherId][getHashKey(selector)] = result;
49
- return await result;
50
- } catch (e) {
51
- safeDispatchEvent(
52
- new CustomEvent(SNACKBAR_EVENT_ID, {
29
+ const s = l.fetchers.post(t, e, o);
30
+ return n.current[t] || (n.current[t] = {}), n.current[t][f(e)] = s, await s;
31
+ } catch (s) {
32
+ x(
33
+ new CustomEvent(R, {
53
34
  detail: {
54
- message: e.toString(),
35
+ message: s.toString(),
55
36
  level: "error"
56
37
  }
57
38
  })
58
39
  );
59
40
  }
60
41
  },
61
- [getHashKey, requestConfig]
62
- );
63
- const getFetcherStatus = useCallback(
64
- async (fetcherId, taskId) => {
42
+ [f, o]
43
+ ), D = h(
44
+ async (t, e) => {
65
45
  try {
66
- const res = await api.fetchers.status.get(fetcherId, taskId, {}, requestConfig);
67
- return res;
68
- } catch (e) {
69
- safeDispatchEvent(
70
- new CustomEvent(SNACKBAR_EVENT_ID, {
46
+ return await l.fetchers.status.get(t, e, {}, o);
47
+ } catch (r) {
48
+ x(
49
+ new CustomEvent(R, {
71
50
  detail: {
72
- message: e.toString(),
51
+ message: r.toString(),
73
52
  level: "error"
74
53
  }
75
54
  })
76
55
  );
77
56
  }
78
57
  },
79
- [requestConfig]
58
+ [o]
80
59
  );
81
- useEffect(() => {
82
- var _a2, _b2, _c, _d;
83
- if (!defaultClassification && ((_b2 = (_a2 = clueConfig.config) == null ? void 0 : _a2.c12nDef) == null ? void 0 : _b2.UNRESTRICTED)) {
84
- setDefaultClasification((_d = (_c = clueConfig.config) == null ? void 0 : _c.c12nDef) == null ? void 0 : _d.UNRESTRICTED);
85
- }
86
- }, [(_b = (_a = clueConfig.config) == null ? void 0 : _a.c12nDef) == null ? void 0 : _b.UNRESTRICTED, defaultClassification]);
87
- useEffect(() => {
88
- if (!ready) {
89
- return;
90
- }
91
- api.fetchers.get(requestConfig).then(setFetchers).finally(() => setFetchCompleted(true));
92
- }, [baseURL, ready]);
93
- const context = useMemo(
60
+ d(() => {
61
+ var t, e, r, s;
62
+ !a && ((e = (t = m.config) == null ? void 0 : t.c12nDef) != null && e.UNRESTRICTED) && q((s = (r = m.config) == null ? void 0 : r.c12nDef) == null ? void 0 : s.UNRESTRICTED);
63
+ }, [(y = (v = m.config) == null ? void 0 : v.c12nDef) == null ? void 0 : y.UNRESTRICTED, a]), d(() => {
64
+ p && l.fetchers.get(o).then(B).finally(() => w(!0));
65
+ }, [c, p]);
66
+ const K = F(
94
67
  () => ({
95
- fetchSelector,
96
- getFetcherStatus,
97
- fetchers,
98
- fetchCompleted
68
+ fetchSelector: S,
69
+ getFetcherStatus: D,
70
+ fetchers: E,
71
+ fetchCompleted: g
99
72
  }),
100
- [fetchCompleted, fetchSelector, fetchers, getFetcherStatus]
73
+ [g, S, E, D]
101
74
  );
102
- return /* @__PURE__ */ jsx(ClueFetcherContext.Provider, { value: context, children });
75
+ return /* @__PURE__ */ P(H.Provider, { value: K, children: N });
103
76
  };
104
77
  export {
105
- ClueFetcherContext,
106
- ClueFetcherProvider
78
+ H as ClueFetcherContext,
79
+ U as ClueFetcherProvider
107
80
  };
@@ -1,23 +1,20 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { useState, useMemo } from "react";
3
- import { c as createContext } from "../index-_gpzM2Px.js";
4
- import { f as useClueEnrichSelector } from "../ActionForm-CqKcnDWC.js";
5
- const ClueGroupContext = createContext(null);
6
- const ClueGroupProvider = ({ children, type, classification }) => {
7
- const defaultClassification = useClueEnrichSelector((ctx) => ctx.defaultClassification);
8
- const [values, setValues] = useState([]);
9
- const context = useMemo(
1
+ import { jsx as l } from "react/jsx-runtime";
2
+ import { useState as n, useMemo as c } from "react";
3
+ import { c as f } from "../index-BM9Sve5T.js";
4
+ import { f as m } from "../ActionForm-CHOSKfvu.js";
5
+ const C = f(null), G = ({ children: s, type: o, classification: t }) => {
6
+ const e = m((i) => i.defaultClassification), [r, u] = n([]), a = c(
10
7
  () => ({
11
- type,
12
- values,
13
- setValues,
14
- classification: classification ?? defaultClassification
8
+ type: o,
9
+ values: r,
10
+ setValues: u,
11
+ classification: t ?? e
15
12
  }),
16
- [classification, defaultClassification, type, values]
13
+ [t, e, o, r]
17
14
  );
18
- return /* @__PURE__ */ jsx(ClueGroupContext.Provider, { value: context, children });
15
+ return /* @__PURE__ */ l(C.Provider, { value: a, children: s });
19
16
  };
20
17
  export {
21
- ClueGroupContext,
22
- ClueGroupProvider
18
+ C as ClueGroupContext,
19
+ G as ClueGroupProvider
23
20
  };
@@ -1,12 +1,12 @@
1
1
  import "react/jsx-runtime";
2
2
  import "../components/AnnotationDetailPopover.js";
3
- import { C, a } from "../AnnotationPreview-Bl447SKT.js";
3
+ import { C as a, a as P } from "../AnnotationPreview-CqXmC-j8.js";
4
4
  import "../data/event.js";
5
5
  import "../utils/window.js";
6
- import "../AnnotationDetails-BlPd3T8k.js";
6
+ import "../AnnotationDetails-Bqq6Ymmg.js";
7
7
  import "react";
8
- import "../index-_gpzM2Px.js";
8
+ import "../index-BM9Sve5T.js";
9
9
  export {
10
- C as CluePopupContext,
11
- a as CluePopupProvider
10
+ a as CluePopupContext,
11
+ P as CluePopupProvider
12
12
  };
@@ -1,15 +1,13 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { ClueUIPluginProvider } from "./ClueUIPluginContext.js";
3
- import { a as ClueActionProvider } from "../ActionForm-CqKcnDWC.js";
4
- import { ClueComponentProvider } from "./ClueComponentContext.js";
5
- import { ClueConfigProvider } from "./ClueConfigProvider.js";
6
- import { ClueDatabaseProvider } from "./ClueDatabaseContext.js";
7
- import { a as ClueEnrichProvider } from "../ClueEnrichContext-B3YrTCaJ.js";
8
- import { ClueFetcherProvider } from "./ClueFetcherContext.js";
9
- import { a as CluePopupProvider } from "../AnnotationPreview-Bl447SKT.js";
10
- const ClueProvider = ({ children, ...props }) => {
11
- return /* @__PURE__ */ jsx(ClueComponentProvider, { ...props, children: /* @__PURE__ */ jsx(ClueConfigProvider, { config: props.config, children: /* @__PURE__ */ jsx(ClueDatabaseProvider, { ...props, children: /* @__PURE__ */ jsx(ClueUIPluginProvider, { ...props, children: /* @__PURE__ */ jsx(ClueEnrichProvider, { ...props, children: /* @__PURE__ */ jsx(ClueFetcherProvider, { ...props, children: /* @__PURE__ */ jsx(ClueActionProvider, { ...props, children: /* @__PURE__ */ jsx(CluePopupProvider, { children }) }) }) }) }) }) }) });
12
- };
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { ClueUIPluginProvider as o } from "./ClueUIPluginContext.js";
3
+ import { a as m } from "../ActionForm-CHOSKfvu.js";
4
+ import { ClueComponentProvider as l } from "./ClueComponentContext.js";
5
+ import { ClueConfigProvider as n } from "./ClueConfigProvider.js";
6
+ import { ClueDatabaseProvider as d } from "./ClueDatabaseContext.js";
7
+ import { a as t } from "../ClueEnrichContext-DL6aGe1k.js";
8
+ import { ClueFetcherProvider as c } from "./ClueFetcherContext.js";
9
+ import { a as f } from "../AnnotationPreview-CqXmC-j8.js";
10
+ const j = ({ children: i, ...e }) => /* @__PURE__ */ r(l, { ...e, children: /* @__PURE__ */ r(n, { config: e.config, children: /* @__PURE__ */ r(d, { ...e, children: /* @__PURE__ */ r(o, { ...e, children: /* @__PURE__ */ r(t, { ...e, children: /* @__PURE__ */ r(c, { ...e, children: /* @__PURE__ */ r(m, { ...e, children: /* @__PURE__ */ r(f, { children: i }) }) }) }) }) }) }) });
13
11
  export {
14
- ClueProvider
12
+ j as ClueProvider
15
13
  };
@@ -1,59 +1,45 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import ClueUIPluginsRegistry from "../plugins/registry.js";
3
- import { c as clueUIPluginStore, P as PluginProvider } from "../store-B9sjQbcS.js";
4
- import { createContext, useState, useEffect } from "react";
5
- const ClueUIPluginContext = createContext(null);
6
- const ClueUIPluginProvider = ({
7
- plugins,
8
- excludePlugins,
9
- excludeBuiltInPlugins,
10
- children
1
+ import { jsx as s } from "react/jsx-runtime";
2
+ import b from "../plugins/registry.js";
3
+ import { c as i, P as m } from "../store-DClHBq7r.js";
4
+ import { createContext as p, useState as C, useEffect as P } from "react";
5
+ const v = p(null), U = ({
6
+ plugins: a,
7
+ excludePlugins: o,
8
+ excludeBuiltInPlugins: e,
9
+ children: f
11
10
  }) => {
12
- const [pluginStore, setPluginStore] = useState(() => clueUIPluginStore.pluginStore);
13
- useEffect(() => {
14
- const abortController = new AbortController();
15
- const loadPlugin = async (pluginDef) => {
11
+ const [c, d] = C(() => i.pluginStore);
12
+ return P(() => {
13
+ const t = new AbortController(), l = async (r) => {
16
14
  try {
17
- const pluginModule = await pluginDef.loadPlugin();
18
- if (abortController.signal.aborted) return;
19
- const plugin = new pluginModule.default();
20
- clueUIPluginStore.install(plugin);
21
- } catch (err) {
22
- if (abortController.signal.aborted) return;
23
- console.error(`[ClueUIPluginProvider] Failed to load plugin: ${pluginDef.name ?? pluginDef.id}`, err);
15
+ const n = await r.loadPlugin();
16
+ if (t.signal.aborted) return;
17
+ const g = new n.default();
18
+ i.install(g);
19
+ } catch (n) {
20
+ if (t.signal.aborted) return;
21
+ console.error(`[ClueUIPluginProvider] Failed to load plugin: ${r.name ?? r.id}`, n);
24
22
  }
25
- };
26
- const loadPlugins = async () => {
27
- if (plugins && Array.isArray(plugins)) {
28
- for (const pluginDef of plugins) {
29
- if (abortController.signal.aborted) return;
30
- if (!(excludePlugins == null ? void 0 : excludePlugins.includes(pluginDef.id))) {
31
- await loadPlugin(pluginDef);
32
- }
23
+ }, u = async () => {
24
+ if (a && Array.isArray(a))
25
+ for (const r of a) {
26
+ if (t.signal.aborted) return;
27
+ o != null && o.includes(r.id) || await l(r);
33
28
  }
34
- }
35
- if (!excludeBuiltInPlugins) {
36
- const builtInPlugins = new ClueUIPluginsRegistry().getPlugins();
37
- for (const pluginDef of builtInPlugins) {
38
- if (abortController.signal.aborted) return;
39
- if (!(excludePlugins == null ? void 0 : excludePlugins.includes(pluginDef.id))) {
40
- await loadPlugin(pluginDef);
41
- }
29
+ if (!e) {
30
+ const r = new b().getPlugins();
31
+ for (const n of r) {
32
+ if (t.signal.aborted) return;
33
+ o != null && o.includes(n.id) || await l(n);
42
34
  }
43
35
  }
44
36
  };
45
- clueUIPluginStore.reset();
46
- setPluginStore(clueUIPluginStore.pluginStore);
47
- void loadPlugins().catch((err) => {
48
- if (!abortController.signal.aborted) {
49
- console.error("[ClueUIPluginProvider] Failed to load plugins", err);
50
- }
51
- });
52
- return () => abortController.abort();
53
- }, [excludeBuiltInPlugins, excludePlugins, plugins]);
54
- return /* @__PURE__ */ jsx(ClueUIPluginContext.Provider, { value: { clueUIPluginStore }, children: /* @__PURE__ */ jsx(PluginProvider, { pluginStore, children }) });
37
+ return i.reset(), d(i.pluginStore), u().catch((r) => {
38
+ t.signal.aborted || console.error("[ClueUIPluginProvider] Failed to load plugins", r);
39
+ }), () => t.abort();
40
+ }, [e, o, a]), /* @__PURE__ */ s(v.Provider, { value: { clueUIPluginStore: i }, children: /* @__PURE__ */ s(m, { pluginStore: c, children: f }) });
55
41
  };
56
42
  export {
57
- ClueUIPluginContext,
58
- ClueUIPluginProvider
43
+ v as ClueUIPluginContext,
44
+ U as ClueUIPluginProvider
59
45
  };
@@ -1,11 +1,11 @@
1
- import { d, e, f, g } from "../ActionForm-CqKcnDWC.js";
1
+ import { d as u, e as c, f as i, g as m } from "../ActionForm-CHOSKfvu.js";
2
2
  import "./ClueComponentContext.js";
3
- import "../ClueEnrichContext-B3YrTCaJ.js";
3
+ import "../ClueEnrichContext-DL6aGe1k.js";
4
4
  import "./ClueFetcherContext.js";
5
- import "../index-_gpzM2Px.js";
5
+ import "../index-BM9Sve5T.js";
6
6
  export {
7
- d as useClueActionsSelector,
8
- e as useClueComponentSelector,
9
- f as useClueEnrichSelector,
10
- g as useClueFetcherSelector
7
+ u as useClueActionsSelector,
8
+ c as useClueComponentSelector,
9
+ i as useClueEnrichSelector,
10
+ m as useClueFetcherSelector
11
11
  };
@@ -1,7 +1,7 @@
1
1
  import "react";
2
- import "../index-_gpzM2Px.js";
2
+ import "../index-BM9Sve5T.js";
3
3
  import "./ClueComponentContext.js";
4
- import { u } from "../ActionForm-CqKcnDWC.js";
4
+ import { u as p } from "../ActionForm-CHOSKfvu.js";
5
5
  export {
6
- u as useActionResult
6
+ p as useActionResult
7
7
  };
@@ -1,78 +1,62 @@
1
- import { u as uniqBy } from "../ClueEnrichContext-B3YrTCaJ.js";
2
- import { useContext, useMemo, useState, useEffect } from "react";
3
- import { ClueDatabaseContext } from "./ClueDatabaseContext.js";
4
- import { f as useClueEnrichSelector } from "../ActionForm-CqKcnDWC.js";
5
- const useAnnotations = (type, value, _classification, { skipEnrichment } = { skipEnrichment: false }) => {
6
- var _a;
7
- const database = useContext(ClueDatabaseContext);
8
- const defaultClassification = useClueEnrichSelector((ctx) => ctx.defaultClassification);
9
- const enrichReady = useClueEnrichSelector((ctx) => ctx.ready);
10
- const availableSources = useClueEnrichSelector((ctx) => ctx.availableSources);
11
- const queueEnrich = useClueEnrichSelector((state) => state.queueEnrich);
12
- const classification = useMemo(
13
- () => _classification ?? defaultClassification,
14
- [_classification, defaultClassification]
15
- );
16
- const [loading, setLoading] = useState(false);
17
- const [annotations, setAnnotations] = useState([]);
18
- const ready = useMemo(
19
- () => enrichReady && !!type && !!value && !!classification && !!(database == null ? void 0 : database.selectors) && !database.selectors.closed,
1
+ import { u as w } from "../ClueEnrichContext-DL6aGe1k.js";
2
+ import { useContext as M, useMemo as S, useState as x, useEffect as u } from "react";
3
+ import { ClueDatabaseContext as y } from "./ClueDatabaseContext.js";
4
+ import { f as i } from "../ActionForm-CHOSKfvu.js";
5
+ const N = (e, t, l, { skipEnrichment: f } = { skipEnrichment: !1 }) => {
6
+ var C;
7
+ const s = M(y), m = i((o) => o.defaultClassification), g = i((o) => o.ready), h = i((o) => o.availableSources), $ = i((o) => o.queueEnrich), n = S(
8
+ () => l ?? m,
9
+ [l, m]
10
+ ), [E, p] = x(!1), [q, A] = x([]), r = S(
11
+ () => g && !!e && !!t && !!n && !!(s != null && s.selectors) && !s.selectors.closed,
20
12
  // eslint-disable-next-line react-hooks/exhaustive-deps
21
- [classification, database == null ? void 0 : database.selectors, (_a = database == null ? void 0 : database.selectors) == null ? void 0 : _a.closed, enrichReady, type, value]
13
+ [n, s == null ? void 0 : s.selectors, (C = s == null ? void 0 : s.selectors) == null ? void 0 : C.closed, g, e, t]
22
14
  );
23
- useEffect(() => {
24
- if (!ready || !(database == null ? void 0 : database.status)) {
15
+ return u(() => {
16
+ if (!r || !(s != null && s.status))
25
17
  return;
26
- }
27
- if (database.status.closed) {
18
+ if (s.status.closed) {
28
19
  console.warn("Status collection is closed");
29
20
  return;
30
21
  }
31
- const observable = database.status.count({ selector: { type, value, classification, status: "in-progress" } }).$.subscribe((_count) => setLoading(_count > 0));
22
+ const o = s.status.count({ selector: { type: e, value: t, classification: n, status: "in-progress" } }).$.subscribe((c) => p(c > 0));
32
23
  return () => {
33
- observable == null ? void 0 : observable.unsubscribe();
24
+ o == null || o.unsubscribe();
34
25
  };
35
- }, [classification, database, ready, type, value]);
36
- useEffect(() => {
37
- if (skipEnrichment || availableSources.length < 1 || !ready || !(database == null ? void 0 : database.status) || database.status.closed) {
26
+ }, [n, s, r, e, t]), u(() => {
27
+ f || h.length < 1 || !r || !(s != null && s.status) || s.status.closed || $(e, t, n);
28
+ }, [h.length, n, s == null ? void 0 : s.status, $, r, f, e, t]), u(() => {
29
+ if (!r || !(s != null && s.selectors) || s.selectors.closed)
38
30
  return;
39
- }
40
- queueEnrich(type, value, classification);
41
- }, [availableSources.length, classification, database == null ? void 0 : database.status, queueEnrich, ready, skipEnrichment, type, value]);
42
- useEffect(() => {
43
- if (!ready || !(database == null ? void 0 : database.selectors) || database.selectors.closed) {
44
- return;
45
- }
46
- const observable = database.selectors.find({
31
+ const o = s.selectors.find({
47
32
  selector: {
48
33
  $or: [
49
34
  {
50
35
  // Use regex instead of exact value for case-insensitivity
51
- value: { $regex: `^${value}$`, $options: "i" }
36
+ value: { $regex: `^${t}$`, $options: "i" }
52
37
  },
53
38
  {
54
- value
39
+ value: t
55
40
  }
56
41
  ]
57
42
  }
58
43
  }).$.subscribe(
59
- (result) => setAnnotations(
60
- uniqBy(
61
- result.flatMap((entry) => entry.getAnnotations()),
44
+ (c) => A(
45
+ w(
46
+ c.flatMap((d) => d.getAnnotations()),
62
47
  JSON.stringify
63
48
  )
64
49
  )
65
50
  );
66
51
  return () => {
67
52
  try {
68
- observable.unsubscribe();
69
- } catch (e) {
70
- console.warn(e);
53
+ o.unsubscribe();
54
+ } catch (c) {
55
+ console.warn(c);
71
56
  }
72
57
  };
73
- }, [database, ready, value]);
74
- return [annotations, loading];
58
+ }, [s, r, t]), [q, E];
75
59
  };
76
60
  export {
77
- useAnnotations as default
61
+ N as default
78
62
  };
package/hooks/useClue.js CHANGED
@@ -1,8 +1,6 @@
1
- import { u as useContext } from "../index-_gpzM2Px.js";
2
- import { C as ClueEnrichContext } from "../ClueEnrichContext-B3YrTCaJ.js";
3
- const useClue = () => {
4
- return useContext(ClueEnrichContext);
5
- };
1
+ import { u as t } from "../index-BM9Sve5T.js";
2
+ import { C as e } from "../ClueEnrichContext-DL6aGe1k.js";
3
+ const u = () => t(e);
6
4
  export {
7
- useClue as default
5
+ u as default
8
6
  };
@@ -1,5 +1,5 @@
1
- import { b } from "../ActionForm-CqKcnDWC.js";
2
- import "../index-_gpzM2Px.js";
1
+ import { b as a } from "../ActionForm-CHOSKfvu.js";
2
+ import "../index-BM9Sve5T.js";
3
3
  export {
4
- b as default
4
+ a as default
5
5
  };
@@ -1,8 +1,6 @@
1
- import { ClueConfigContext } from "./ClueConfigProvider.js";
2
- import { useContext } from "react";
3
- const useClueConfig = () => {
4
- return useContext(ClueConfigContext);
5
- };
1
+ import { ClueConfigContext as o } from "./ClueConfigProvider.js";
2
+ import { useContext as t } from "react";
3
+ const n = () => t(o);
6
4
  export {
7
- useClueConfig as default
5
+ n as default
8
6
  };