@cccsaurora/clue-ui 1.3.0-dev.349 → 1.3.0-dev.361

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 (77) hide show
  1. package/{ActionForm-tnSgyxqz.js → ActionForm-BGVd1hea.js} +18 -10
  2. package/{AnnotationDetails-D4VTXG2h.js → AnnotationDetails-D4f9aw7S.js} +2 -2
  3. package/{AnnotationPreview-DU9nIqeF.js → AnnotationPreview-LLor6159.js} +2 -2
  4. package/{ClueEnrichContext-fItpTzAE.js → ClueEnrichContext-DKZ2iqmV.js} +9 -8
  5. package/{_baseFlatten-B3PW43Vk.js → _baseFlatten-D3wtzJ86.js} +1 -1
  6. package/{_baseUniq-Bx6CWGDV.js → _baseUniq-BqxNeJD9.js} +0 -1
  7. package/components/AnnotationDetailPopover.js +1 -1
  8. package/components/AnnotationDetails.js +3 -3
  9. package/components/AnnotationEntry.js +1 -1
  10. package/components/AnnotationPreview.js +2 -2
  11. package/components/ClassificationChip.d.ts +1 -1
  12. package/components/EnrichedCard.d.ts +1 -1
  13. package/components/EnrichedCard.js +2 -2
  14. package/components/EnrichedChip.d.ts +1 -1
  15. package/components/EnrichedChip.js +2 -2
  16. package/components/EnrichedTypography.d.ts +1 -1
  17. package/components/EnrichedTypography.js +2 -2
  18. package/components/ErrorBoundary.d.ts +1 -1
  19. package/components/RetryFailedEnrichments.js +1 -1
  20. package/components/SourcePicker.js +1 -1
  21. package/components/actions/ActionForm.js +3 -3
  22. package/components/actions/ExecutePopover.js +1 -1
  23. package/components/actions/ResultModal.js +1 -1
  24. package/components/actions/formats/index.d.ts +0 -1
  25. package/components/actions/formats/index.js +13 -20
  26. package/components/display/graph/elements/NodeCard.js +3 -3
  27. package/components/display/graph/index.js +1 -1
  28. package/components/display/json/index.js +2 -2
  29. package/components/enrichment/EnrichPopover.js +1 -1
  30. package/components/fetchers/Fetcher.js +9 -10
  31. package/components/fetchers/PreviewModal.js +1 -2
  32. package/components/group/Entry.js +1 -1
  33. package/components/group/GroupControl.js +1 -1
  34. package/components/stats/QueryStatus.js +1 -1
  35. package/database/index.js +1 -1
  36. package/en/translation.json +0 -1
  37. package/fr/translation.json +0 -1
  38. package/hooks/ClueActionContext.js +1 -1
  39. package/hooks/ClueDatabaseContext.js +1 -1
  40. package/hooks/ClueEnrichContext.js +4 -3
  41. package/hooks/ClueGroupContext.js +1 -1
  42. package/hooks/CluePopupContext.js +2 -2
  43. package/hooks/ClueProvider.d.ts +1 -2
  44. package/hooks/ClueProvider.js +4 -56
  45. package/hooks/selectors.js +2 -2
  46. package/hooks/useActionResult.js +1 -1
  47. package/hooks/useAnnotations.js +2 -2
  48. package/hooks/useClue.js +1 -1
  49. package/hooks/useClueActions.js +1 -1
  50. package/hooks/useClueTypeConfig.js +2 -2
  51. package/hooks/useErrors.js +1 -1
  52. package/hooks/useFetcherResult.js +1 -1
  53. package/icons/Action.js +2 -2
  54. package/icons/Assessment.js +2 -2
  55. package/icons/Context.js +1 -1
  56. package/icons/Opinion.js +2 -2
  57. package/{index-Dvp9rx0D.js → index-IPF68v-l.js} +1 -1
  58. package/{index-CoosLLQl.js → index-VDwFWSqU.js} +7 -1
  59. package/main.d.ts +2 -4
  60. package/main.js +9 -9
  61. package/package.json +13 -14
  62. package/{sortBy-Bjn6Gl0J.js → sortBy-Tf6pz1tg.js} +4 -2
  63. package/{useClueTypeConfig-D2OeF2ug.js → useClueTypeConfig-CnMg5Ny8.js} +1 -1
  64. package/utils/chain.js +1 -1
  65. package/utils/utils.d.ts +5 -0
  66. package/utils/utils.js +3 -2
  67. package/{utils-D2kKvRny.js → utils-BN7Z0YiP.js} +47 -24
  68. package/ClueUIPlugin-CRLX7p8N.js +0 -452
  69. package/_baseRest-Ca0ktDG8.js +0 -8
  70. package/components/fetchers/FetcherResultView.d.ts +0 -4
  71. package/components/fetchers/FetcherResultView.js +0 -27
  72. package/index-4M63dwLK.js +0 -25
  73. package/index-BLshfktV.js +0 -25
  74. package/index-D78OPqK7.js +0 -22
  75. package/index-DfsiMR83.js +0 -25
  76. package/index-I889IuiD.js +0 -26
  77. package/store-Dslbt6yE.js +0 -2108
@@ -52,7 +52,6 @@
52
52
  "enrich": "Enrichir",
53
53
  "error": "Erreur",
54
54
  "error.unexpected": "Une erreur inattendue s'est produite",
55
- "format.not.recognized": "Impossible d'afficher le résultat. Aucun plugin disponible pour afficher le format renvoyé : `{{format}}`.",
56
55
  "graph.no.dataset": "Aucun jeu de données n'a été sélectionné!",
57
56
  "graph.node.input.label": "Entrez un ID de nœud et appuyez sur [ctrl + entrée] pour le sélectionner. [ctrl + espace] ouvrira un menu d'auto-complétion.",
58
57
  "graph.show.more": "Afficher plus",
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "@mui/material";
3
- import { C, a } from "../ActionForm-tnSgyxqz.js";
3
+ import { C, a } from "../ActionForm-BGVd1hea.js";
4
4
  import "../index-CmQM2DaO.js";
5
5
  import "../components/display/icons/Iconified.js";
6
6
  import "../components/ErrorBoundary.js";
@@ -1,5 +1,5 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { b as buildDatabase } from "../index-CoosLLQl.js";
2
+ import { b as buildDatabase } from "../index-VDwFWSqU.js";
3
3
  import { createContext, useState, useRef, useEffect } from "react";
4
4
  const ClueDatabaseContext = createContext(null);
5
5
  const ClueDatabaseProvider = ({
@@ -3,15 +3,16 @@ import "../iconify-DJxl6dC-.js";
3
3
  import "../index-CmQM2DaO.js";
4
4
  import "../database/globals.js";
5
5
  import "../utils/loggerUtil.js";
6
- import { C, a } from "../ClueEnrichContext-fItpTzAE.js";
6
+ import "../utils-BN7Z0YiP.js";
7
+ import { C, a } from "../ClueEnrichContext-DKZ2iqmV.js";
7
8
  import "../sessionStorage-Dbmo2Exe.js";
8
9
  import "../groupBy-CXx1vslF.js";
9
- import "../useClueTypeConfig-D2OeF2ug.js";
10
+ import "../useClueTypeConfig-CnMg5Ny8.js";
10
11
  import "react";
11
12
  import "../index-_gpzM2Px.js";
12
13
  import "./ClueDatabaseContext.js";
13
14
  import "./useClueConfig.js";
14
- import "../_baseUniq-Bx6CWGDV.js";
15
+ import "../_baseUniq-BqxNeJD9.js";
15
16
  export {
16
17
  C as ClueEnrichContext,
17
18
  a as ClueEnrichProvider
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { useState, useMemo } from "react";
3
3
  import { c as createContext } from "../index-_gpzM2Px.js";
4
- import { f as useClueEnrichSelector } from "../ActionForm-tnSgyxqz.js";
4
+ import { f as useClueEnrichSelector } from "../ActionForm-BGVd1hea.js";
5
5
  const ClueGroupContext = createContext(null);
6
6
  const ClueGroupProvider = ({ children, type, classification }) => {
7
7
  const defaultClassification = useClueEnrichSelector((ctx) => ctx.defaultClassification);
@@ -1,9 +1,9 @@
1
1
  import "react/jsx-runtime";
2
2
  import "../components/AnnotationDetailPopover.js";
3
- import { C, a } from "../AnnotationPreview-DU9nIqeF.js";
3
+ import { C, a } from "../AnnotationPreview-LLor6159.js";
4
4
  import "../data/event.js";
5
5
  import "../utils/window.js";
6
- import "../AnnotationDetails-D4VTXG2h.js";
6
+ import "../AnnotationDetails-D4f9aw7S.js";
7
7
  import "react";
8
8
  import "../index-_gpzM2Px.js";
9
9
  export {
@@ -1,4 +1,3 @@
1
- import { ClueUIPluginProviderProps } from 'components/app/providers/ClueUIPluginProvider';
2
1
  import { FC, PropsWithChildren } from 'react';
3
2
  import { ClueActionProps } from './ClueActionContext';
4
3
  import { ClueComponentContextType } from './ClueComponentContext';
@@ -6,5 +5,5 @@ import { ClueConfigContextProps } from './ClueConfigProvider';
6
5
  import { ClueDatabaseContextProps } from './ClueDatabaseContext';
7
6
  import { ClueEnrichProps } from './ClueEnrichProps';
8
7
 
9
- declare const ClueProvider: FC<PropsWithChildren<ClueEnrichProps & ClueActionProps & ClueComponentContextType & ClueDatabaseContextProps & ClueConfigContextProps & ClueUIPluginProviderProps>>;
8
+ declare const ClueProvider: FC<PropsWithChildren<ClueEnrichProps & ClueActionProps & ClueComponentContextType & ClueDatabaseContextProps & ClueConfigContextProps>>;
10
9
  export { ClueProvider };
@@ -1,65 +1,13 @@
1
- var __defProp = Object.defineProperty;
2
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
1
  import { jsx } from "react/jsx-runtime";
5
- import { useEffect } from "react";
6
- import { P as PluginProvider, c as clueUIPluginStore } from "../store-Dslbt6yE.js";
7
- import { a as ClueActionProvider } from "../ActionForm-tnSgyxqz.js";
2
+ import { a as ClueActionProvider } from "../ActionForm-BGVd1hea.js";
8
3
  import { ClueComponentProvider } from "./ClueComponentContext.js";
9
4
  import { ClueConfigProvider } from "./ClueConfigProvider.js";
10
5
  import { ClueDatabaseProvider } from "./ClueDatabaseContext.js";
11
- import { a as ClueEnrichProvider } from "../ClueEnrichContext-fItpTzAE.js";
6
+ import { a as ClueEnrichProvider } from "../ClueEnrichContext-DKZ2iqmV.js";
12
7
  import { ClueFetcherProvider } from "./ClueFetcherContext.js";
13
- import { a as CluePopupProvider } from "../AnnotationPreview-DU9nIqeF.js";
14
- class ClueUIPluginsRegistry {
15
- constructor() {
16
- __publicField(this, "_plugins", [
17
- // { name: 'TestPlugin', id: 'none', loadPlugin: () => import('./test') },
18
- { name: "MarkdownPlugin", id: "markdown", loadPlugin: () => import("../index-DfsiMR83.js") },
19
- { name: "ImagePlugin", id: "image", loadPlugin: () => import("../index-I889IuiD.js") },
20
- { name: "JSONPlugin", id: "json", loadPlugin: () => import("../index-BLshfktV.js") },
21
- { name: "GraphPlugin", id: "graph", loadPlugin: () => import("../index-4M63dwLK.js") },
22
- { name: "FilePlugin", id: "file", loadPlugin: () => import("../index-D78OPqK7.js") }
23
- ]);
24
- }
25
- getPlugins() {
26
- return this._plugins;
27
- }
28
- }
29
- const ClueUIPluginProvider = ({
30
- plugins,
31
- excludePlugins,
32
- excludeBuiltInPlugins,
33
- children
34
- }) => {
35
- useEffect(() => {
36
- const loadPlugins = async () => {
37
- if (plugins && Array.isArray(plugins)) {
38
- for (const pluginDef of plugins) {
39
- if (!(excludePlugins == null ? void 0 : excludePlugins.includes(pluginDef.id))) {
40
- const pluginModule = await pluginDef.loadPlugin();
41
- const plugin = new pluginModule.default();
42
- clueUIPluginStore.install(plugin);
43
- }
44
- }
45
- }
46
- if (!excludeBuiltInPlugins) {
47
- const builtInPlugins = new ClueUIPluginsRegistry().getPlugins();
48
- for (const pluginDef of builtInPlugins) {
49
- if (!(excludePlugins == null ? void 0 : excludePlugins.includes(pluginDef.id))) {
50
- const pluginModule = await pluginDef.loadPlugin();
51
- const plugin = new pluginModule.default();
52
- clueUIPluginStore.install(plugin);
53
- }
54
- }
55
- }
56
- };
57
- loadPlugins();
58
- }, [excludeBuiltInPlugins, excludePlugins, plugins]);
59
- return /* @__PURE__ */ jsx(PluginProvider, { pluginStore: clueUIPluginStore.pluginStore, children });
60
- };
8
+ import { a as CluePopupProvider } from "../AnnotationPreview-LLor6159.js";
61
9
  const ClueProvider = ({ children, ...props }) => {
62
- 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 }) }) }) }) }) }) }) });
10
+ return /* @__PURE__ */ jsx(ClueComponentProvider, { ...props, children: /* @__PURE__ */ jsx(ClueConfigProvider, { config: props.config, children: /* @__PURE__ */ jsx(ClueDatabaseProvider, { ...props, children: /* @__PURE__ */ jsx(ClueEnrichProvider, { ...props, children: /* @__PURE__ */ jsx(ClueFetcherProvider, { ...props, children: /* @__PURE__ */ jsx(ClueActionProvider, { ...props, children: /* @__PURE__ */ jsx(CluePopupProvider, { children }) }) }) }) }) }) });
63
11
  };
64
12
  export {
65
13
  ClueProvider
@@ -1,6 +1,6 @@
1
- import { d, e, f, g } from "../ActionForm-tnSgyxqz.js";
1
+ import { d, e, f, g } from "../ActionForm-BGVd1hea.js";
2
2
  import "./ClueComponentContext.js";
3
- import "../ClueEnrichContext-fItpTzAE.js";
3
+ import "../ClueEnrichContext-DKZ2iqmV.js";
4
4
  import "./ClueFetcherContext.js";
5
5
  import "../index-_gpzM2Px.js";
6
6
  export {
@@ -1,7 +1,7 @@
1
1
  import "react";
2
2
  import "../index-_gpzM2Px.js";
3
3
  import "./ClueComponentContext.js";
4
- import { u } from "../ActionForm-tnSgyxqz.js";
4
+ import { u } from "../ActionForm-BGVd1hea.js";
5
5
  export {
6
6
  u as useActionResult
7
7
  };
@@ -1,7 +1,7 @@
1
- import { u as uniqBy } from "../ClueEnrichContext-fItpTzAE.js";
1
+ import { u as uniqBy } from "../ClueEnrichContext-DKZ2iqmV.js";
2
2
  import { useContext, useMemo, useState, useEffect } from "react";
3
3
  import { ClueDatabaseContext } from "./ClueDatabaseContext.js";
4
- import { f as useClueEnrichSelector } from "../ActionForm-tnSgyxqz.js";
4
+ import { f as useClueEnrichSelector } from "../ActionForm-BGVd1hea.js";
5
5
  const useAnnotations = (type, value, _classification, { skipEnrichment } = { skipEnrichment: false }) => {
6
6
  var _a;
7
7
  const database = useContext(ClueDatabaseContext);
package/hooks/useClue.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { u as useContext } from "../index-_gpzM2Px.js";
2
- import { C as ClueEnrichContext } from "../ClueEnrichContext-fItpTzAE.js";
2
+ import { C as ClueEnrichContext } from "../ClueEnrichContext-DKZ2iqmV.js";
3
3
  const useClue = () => {
4
4
  return useContext(ClueEnrichContext);
5
5
  };
@@ -1,4 +1,4 @@
1
- import { b } from "../ActionForm-tnSgyxqz.js";
1
+ import { b } from "../ActionForm-BGVd1hea.js";
2
2
  import "../index-_gpzM2Px.js";
3
3
  export {
4
4
  b as default
@@ -1,8 +1,8 @@
1
1
  import "../index-CmQM2DaO.js";
2
2
  import "../utils/loggerUtil.js";
3
- import "../_baseUniq-Bx6CWGDV.js";
3
+ import "../_baseUniq-BqxNeJD9.js";
4
4
  import "react";
5
- import { a } from "../useClueTypeConfig-D2OeF2ug.js";
5
+ import { a } from "../useClueTypeConfig-CnMg5Ny8.js";
6
6
  export {
7
7
  a as default
8
8
  };
@@ -1,6 +1,6 @@
1
1
  import { useContext, useState, useEffect } from "react";
2
2
  import { ClueDatabaseContext } from "./ClueDatabaseContext.js";
3
- import { f as useClueEnrichSelector } from "../ActionForm-tnSgyxqz.js";
3
+ import { f as useClueEnrichSelector } from "../ActionForm-BGVd1hea.js";
4
4
  const useErrors = (value) => {
5
5
  const database = useContext(ClueDatabaseContext);
6
6
  const ready = useClueEnrichSelector((ctx) => ctx.ready);
@@ -1,5 +1,5 @@
1
1
  import { useState, useRef, useMemo, useEffect } from "react";
2
- import { b as useClueActions } from "../ActionForm-tnSgyxqz.js";
2
+ import { b as useClueActions } from "../ActionForm-BGVd1hea.js";
3
3
  const useActionResult = (resultWithData, interval = 2e3) => {
4
4
  const [result, setResult] = useState(resultWithData);
5
5
  const timeoutRef = useRef(null);
package/icons/Action.js CHANGED
@@ -2,8 +2,8 @@ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { I as Icon } from "../iconify-DJxl6dC-.js";
3
3
  import { useTheme, Stack, Divider, Typography } from "@mui/material";
4
4
  import CountBadge from "../components/CountBadge.js";
5
- import { C as CluePopupContext } from "../AnnotationPreview-DU9nIqeF.js";
6
- import { b as useClueActions } from "../ActionForm-tnSgyxqz.js";
5
+ import { C as CluePopupContext } from "../AnnotationPreview-LLor6159.js";
6
+ import { b as useClueActions } from "../ActionForm-BGVd1hea.js";
7
7
  import { g as groupBy } from "../groupBy-CXx1vslF.js";
8
8
  import { memo, useRef, useMemo, useEffect } from "react";
9
9
  import { a as useContextSelector } from "../index-_gpzM2Px.js";
@@ -2,11 +2,11 @@ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
2
  import { I as Icon } from "../iconify-DJxl6dC-.js";
3
3
  import { useTheme, Stack, Chip, Divider, Grid, Tooltip } from "@mui/material";
4
4
  import CountBadge from "../components/CountBadge.js";
5
- import { C as CluePopupContext } from "../AnnotationPreview-DU9nIqeF.js";
5
+ import { C as CluePopupContext } from "../AnnotationPreview-LLor6159.js";
6
6
  import { g as groupBy } from "../groupBy-CXx1vslF.js";
7
7
  import { l as last } from "../last-CUCl67Im.js";
8
8
  import { m as maxBy } from "../maxBy-a49mqwW9.js";
9
- import { s as sortBy } from "../sortBy-Bjn6Gl0J.js";
9
+ import { s as sortBy } from "../sortBy-Tf6pz1tg.js";
10
10
  import { s as sumBy } from "../sumBy-DZSVfXDE.js";
11
11
  import { memo, useRef, useState, useMemo, useEffect } from "react";
12
12
  import { a as useContextSelector } from "../index-_gpzM2Px.js";
package/icons/Context.js CHANGED
@@ -4,7 +4,7 @@ import { Stack, Divider } from "@mui/material";
4
4
  import AnnotationEntry from "../components/AnnotationEntry.js";
5
5
  import CountBadge from "../components/CountBadge.js";
6
6
  import Iconified from "../components/display/icons/Iconified.js";
7
- import { C as CluePopupContext } from "../AnnotationPreview-DU9nIqeF.js";
7
+ import { C as CluePopupContext } from "../AnnotationPreview-LLor6159.js";
8
8
  import { g as groupBy } from "../groupBy-CXx1vslF.js";
9
9
  import { memo, useRef, useMemo, useEffect } from "react";
10
10
  import { a as useContextSelector } from "../index-_gpzM2Px.js";
package/icons/Opinion.js CHANGED
@@ -2,9 +2,9 @@ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
2
  import { I as Icon } from "../iconify-DJxl6dC-.js";
3
3
  import { useTheme, Stack, Chip, Divider, Grid } from "@mui/material";
4
4
  import CountBadge from "../components/CountBadge.js";
5
- import { C as CluePopupContext } from "../AnnotationPreview-DU9nIqeF.js";
5
+ import { C as CluePopupContext } from "../AnnotationPreview-LLor6159.js";
6
6
  import { g as groupBy } from "../groupBy-CXx1vslF.js";
7
- import { s as sortBy } from "../sortBy-Bjn6Gl0J.js";
7
+ import { s as sortBy } from "../sortBy-Tf6pz1tg.js";
8
8
  import { s as sumBy } from "../sumBy-DZSVfXDE.js";
9
9
  import { memo, useRef, useMemo, useCallback, useEffect } from "react";
10
10
  import { a as useContextSelector } from "../index-_gpzM2Px.js";
@@ -4,7 +4,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  import { ClickAwayListener, TextField, InputAdornment, Popper, Paper, MenuList, MenuItem, ListItemText, useTheme, Stack, Skeleton } from "@mui/material";
6
6
  import { useRef, useState, useEffect, useMemo, lazy } from "react";
7
- import { r as removeEmpty, s as searchObject, a as flatten } from "./utils-D2kKvRny.js";
7
+ import { r as removeEmpty, s as searchObject, a as flatten } from "./utils-BN7Z0YiP.js";
8
8
  import { ClueComponentContext } from "./hooks/ClueComponentContext.js";
9
9
  import { useMyLocalStorageItem } from "./hooks/useMyLocalStorage.js";
10
10
  import { StorageKey } from "./utils/constants.js";
@@ -9224,7 +9224,13 @@ const _process = throttle(
9224
9224
  );
9225
9225
  const statusStatics = {
9226
9226
  queueInsert: function(value) {
9227
- queuedValues.push(value);
9227
+ const existingIndex = queuedValues.findIndex((v) => v.id === value.id);
9228
+ if (existingIndex === -1) {
9229
+ queuedValues.push(value);
9230
+ } else {
9231
+ console.debug(`Updating existing queued entry ${value.type}:${value.value}`);
9232
+ queuedValues[existingIndex] = value;
9233
+ }
9228
9234
  _process(this);
9229
9235
  return new Promise((res, rej) => {
9230
9236
  listeners.push((docs) => {
package/main.d.ts CHANGED
@@ -5,8 +5,6 @@ import { FetcherDefinition, FetcherDefinitionsResponse, FetcherResult } from "./
5
5
  import { Annotation, BulkEnrichRequest, BulkEnrichResponses, Enrichment, EnrichResponse, EnrichResponses, FailedRequest, Selector, TypesDetectionResponse, TypesResponse, WithExtra } from "./types/lookup";
6
6
  import { ClueResponse } from "./types/network";
7
7
  import { default as RunningActionData } from "./types/RunningActionData";
8
- import { default as ClueUIPlugin } from '../plugins/ClueUIPlugin';
9
- import { ClueUIPluginDefinition } from '../plugins/registry';
10
8
  import { default as ActionForm } from './components/actions/ActionForm';
11
9
  import { default as AnnotationDetailPopover } from './components/AnnotationDetailPopover';
12
10
  import { default as AnnotationDetails } from './components/AnnotationDetails';
@@ -39,6 +37,6 @@ import { default as ContextIcon } from './icons/Context';
39
37
  import { default as OpinionIcon } from './icons/Opinion';
40
38
  import { default as FrequencyText } from './text/Frequency';
41
39
 
42
- export { ActionForm, AnnotationDetailPopover, AnnotationDetails, AnnotationEntry, AnnotationPreview, AssessmentIcon, buildDatabase, ClueComponentContext, ClueConfigContext, ClueDatabaseContext, ClueEnrichContext, CluePopupContext, ClueProvider, ClueUIPlugin, ContextIcon, CountBadge, EnrichedCard, EnrichedChip, EnrichedTypography, Entry, Fetcher, FrequencyText, Group, GroupControl, OpinionIcon, SNACKBAR_EVENT_ID, SourcePicker, StatusChip, useClue, useClueActions, useClueActionsSelector, useClueConfig, useClueEnrichSelector, useClueFetcherSelector };
43
- export type { ActionDefinition, ActionDefinitionsResponse, ActionResult, Annotation, BulkEnrichRequest, BulkEnrichResponses, ClueConfigContextProps, ClueDatabase, ClueDatabaseCollections, ClueDatabaseContextProps, ClueResponse, ClueUIPluginDefinition, EnrichedCardProps, EnrichedTypographyProps, Enrichment, EnrichmentProps, EnrichResponse, EnrichResponses, FailedRequest, FetcherDefinition, FetcherDefinitionsResponse, FetcherResult, RunningActionData, Selector, SelectorCollection, SelectorCollectionMethods, SelectorDocMethods, SelectorDocType, SelectorDocument, SnackbarEvents, StatusCollection, StatusCollectionMethods, StatusDocMethods, StatusDocType, StatusDocument, TypesDetectionResponse, TypesResponse, WithExtra };
40
+ export { ActionForm, AnnotationDetailPopover, AnnotationDetails, AnnotationEntry, AnnotationPreview, AssessmentIcon, buildDatabase, ClueComponentContext, ClueConfigContext, ClueDatabaseContext, ClueEnrichContext, CluePopupContext, ClueProvider, ContextIcon, CountBadge, EnrichedCard, EnrichedChip, EnrichedTypography, Entry, Fetcher, FrequencyText, Group, GroupControl, OpinionIcon, SNACKBAR_EVENT_ID, SourcePicker, StatusChip, useClue, useClueActions, useClueActionsSelector, useClueConfig, useClueEnrichSelector, useClueFetcherSelector };
41
+ export type { ActionDefinition, ActionDefinitionsResponse, ActionResult, Annotation, BulkEnrichRequest, BulkEnrichResponses, ClueConfigContextProps, ClueDatabase, ClueDatabaseCollections, ClueDatabaseContextProps, ClueResponse, EnrichedCardProps, EnrichedTypographyProps, Enrichment, EnrichmentProps, EnrichResponse, EnrichResponses, FailedRequest, FetcherDefinition, FetcherDefinitionsResponse, FetcherResult, RunningActionData, Selector, SelectorCollection, SelectorCollectionMethods, SelectorDocMethods, SelectorDocType, SelectorDocument, SnackbarEvents, StatusCollection, StatusCollectionMethods, StatusDocMethods, StatusDocType, StatusDocument, TypesDetectionResponse, TypesResponse, WithExtra };
44
42
  export type { ClueConfigContextProps as BorealisConfigContextProps, ClueDatabase as BorealisDatabase, ClueDatabaseCollections as BorealisDatabaseCollections, ClueDatabaseContextProps as BorealisDatabaseContextProps, ClueResponse as BorealisResponse };
package/main.js CHANGED
@@ -1,9 +1,8 @@
1
- import { C } from "./ClueUIPlugin-CRLX7p8N.js";
2
- import { A, b, d, f, g } from "./ActionForm-tnSgyxqz.js";
1
+ import { A, b, d, f, g } from "./ActionForm-BGVd1hea.js";
3
2
  import { default as default2 } from "./components/AnnotationDetailPopover.js";
4
- import { A as A2 } from "./AnnotationDetails-D4VTXG2h.js";
3
+ import { A as A2 } from "./AnnotationDetails-D4f9aw7S.js";
5
4
  import { default as default3 } from "./components/AnnotationEntry.js";
6
- import { A as A3, C as C2 } from "./AnnotationPreview-DU9nIqeF.js";
5
+ import { A as A3, C } from "./AnnotationPreview-LLor6159.js";
7
6
  import { default as default4 } from "./components/CountBadge.js";
8
7
  import { default as default5 } from "./components/EnrichedCard.js";
9
8
  import { default as default6 } from "./components/EnrichedChip.js";
@@ -15,17 +14,18 @@ import { default as default11 } from "./components/group/Group.js";
15
14
  import { default as default12 } from "./components/group/GroupControl.js";
16
15
  import { default as default13 } from "./components/SourcePicker.js";
17
16
  import { SNACKBAR_EVENT_ID } from "./data/event.js";
18
- import { b as b2 } from "./index-CoosLLQl.js";
17
+ import { b as b2 } from "./index-VDwFWSqU.js";
19
18
  import { ClueComponentContext } from "./hooks/ClueComponentContext.js";
20
19
  import { ClueConfigContext } from "./hooks/ClueConfigProvider.js";
21
20
  import { ClueDatabaseContext } from "./hooks/ClueDatabaseContext.js";
22
- import { C as C3 } from "./ClueEnrichContext-fItpTzAE.js";
21
+ import { C as C2 } from "./ClueEnrichContext-DKZ2iqmV.js";
23
22
  import { ClueProvider } from "./hooks/ClueProvider.js";
24
23
  import { default as default14 } from "./hooks/useClue.js";
25
24
  import { default as default15 } from "./hooks/useClueConfig.js";
26
25
  import { default as default16 } from "./icons/Assessment.js";
27
26
  import { default as default17 } from "./icons/Context.js";
28
27
  import { default as default18 } from "./icons/Opinion.js";
28
+ import { default as default19 } from "./text/Frequency.js";
29
29
  export {
30
30
  A as ActionForm,
31
31
  default2 as AnnotationDetailPopover,
@@ -36,10 +36,9 @@ export {
36
36
  ClueComponentContext,
37
37
  ClueConfigContext,
38
38
  ClueDatabaseContext,
39
- C3 as ClueEnrichContext,
40
- C2 as CluePopupContext,
39
+ C2 as ClueEnrichContext,
40
+ C as CluePopupContext,
41
41
  ClueProvider,
42
- C as ClueUIPlugin,
43
42
  default17 as ContextIcon,
44
43
  default4 as CountBadge,
45
44
  default5 as EnrichedCard,
@@ -47,6 +46,7 @@ export {
47
46
  default7 as EnrichedTypography,
48
47
  default10 as Entry,
49
48
  default8 as Fetcher,
49
+ default19 as FrequencyText,
50
50
  default11 as Group,
51
51
  default12 as GroupControl,
52
52
  default18 as OpinionIcon,
package/package.json CHANGED
@@ -26,7 +26,6 @@
26
26
  "lodash-es": "^4.17.23",
27
27
  "react-i18next": "^13.5.0",
28
28
  "react-markdown": "10.1.0",
29
- "react-pluggable": "^0.4.3",
30
29
  "react-syntax-highlighter": "^15.6.1",
31
30
  "rehype-raw": "7.0.0",
32
31
  "remark-gfm": "4.0.1",
@@ -67,7 +66,7 @@
67
66
  },
68
67
  "type": "module",
69
68
  "types": "main.d.ts",
70
- "version": "1.3.0-dev.349",
69
+ "version": "1.3.0-dev.361",
71
70
  "exports": {
72
71
  ".": "./main.js",
73
72
  "./index.css": "./index.css",
@@ -76,37 +75,37 @@
76
75
  "./utils/*": "./utils/*.js",
77
76
  "./utils/*.json": "./utils/*.json",
78
77
  "./icons/*": "./icons/*.js",
79
- "./types/*": "./types/*.js",
78
+ "./components/*": "./components/*.js",
80
79
  "./text/*": "./text/*.js",
80
+ "./types/*": "./types/*.js",
81
81
  "./hooks/*": "./hooks/*.js",
82
+ "./data/*": "./data/*.js",
82
83
  "./database/*": "./database/*.js",
83
84
  "./database": "./database/index.js",
84
- "./data/*": "./data/*.js",
85
- "./components/*": "./components/*.js",
86
- "./components/stats/*": "./components/stats/*.js",
85
+ "./components/group/*": "./components/group/*.js",
87
86
  "./components/fetchers/*": "./components/fetchers/*.js",
88
87
  "./components/display/*": "./components/display/*.js",
89
- "./components/enrichment/*": "./components/enrichment/*.js",
90
88
  "./components/actions/*": "./components/actions/*.js",
91
- "./components/group/*": "./components/group/*.js",
89
+ "./components/enrichment/*": "./components/enrichment/*.js",
90
+ "./components/stats/*": "./components/stats/*.js",
91
+ "./components/display/icons/*": "./components/display/icons/*.js",
92
+ "./components/display/markdown/*.md": "./components/display/markdown/*.md.js",
93
+ "./components/display/markdown": "./components/display/markdown/index.js",
92
94
  "./components/display/json/*": "./components/display/json/*.js",
93
95
  "./components/display/json": "./components/display/json/index.js",
94
- "./components/display/icons/*": "./components/display/icons/*.js",
95
96
  "./components/display/graph/*": "./components/display/graph/*.js",
96
97
  "./components/display/graph": "./components/display/graph/index.js",
97
- "./components/display/markdown/*.md": "./components/display/markdown/*.md.js",
98
- "./components/display/markdown": "./components/display/markdown/index.js",
99
98
  "./components/display/graph/visualizations/*": "./components/display/graph/visualizations/*.js",
100
99
  "./components/display/graph/elements/*": "./components/display/graph/elements/*.js",
101
100
  "./components/display/graph/visualizations/cloud/*": "./components/display/graph/visualizations/cloud/*.js",
102
101
  "./components/display/graph/visualizations/cloud": "./components/display/graph/visualizations/cloud/index.js",
102
+ "./components/display/graph/visualizations/panels/*": "./components/display/graph/visualizations/panels/*.js",
103
103
  "./components/display/graph/visualizations/icons/*": "./components/display/graph/visualizations/icons/*.js",
104
104
  "./components/display/graph/visualizations/icons": "./components/display/graph/visualizations/icons/index.js",
105
- "./components/display/graph/visualizations/panels/*": "./components/display/graph/visualizations/panels/*.js",
106
105
  "./components/display/graph/visualizations/tree/*": "./components/display/graph/visualizations/tree/*.js",
107
106
  "./components/display/graph/visualizations/tree": "./components/display/graph/visualizations/tree/index.js",
107
+ "./components/actions/form/*": "./components/actions/form/*.js",
108
108
  "./components/actions/formats/*": "./components/actions/formats/*.js",
109
- "./components/actions/formats": "./components/actions/formats/index.js",
110
- "./components/actions/form/*": "./components/actions/form/*.js"
109
+ "./components/actions/formats": "./components/actions/formats/index.js"
111
110
  }
112
111
  }
@@ -1,4 +1,4 @@
1
- import { b as baseFlatten } from "./_baseFlatten-B3PW43Vk.js";
1
+ import { s as setToString, o as overRest, b as baseFlatten } from "./_baseFlatten-D3wtzJ86.js";
2
2
  import { a as arrayMap, b as baseGet } from "./_baseGet-DKnGz1D3.js";
3
3
  import { b as baseIteratee } from "./_baseIteratee-C004Z9XE.js";
4
4
  import { b as baseEach } from "./_createAggregator-BDMdCE6g.js";
@@ -6,8 +6,10 @@ import { c as isArrayLike, a as baseUnary } from "./_getTag-DuA1kj2A.js";
6
6
  import { i as isSymbol } from "./isSymbol-Xd2FsJyp.js";
7
7
  import { i as identity } from "./identity-CPGTqrE4.js";
8
8
  import { i as isArray } from "./_MapCache-DWYVyFVH.js";
9
- import { b as baseRest } from "./_baseRest-Ca0ktDG8.js";
10
9
  import { i as isIterateeCall } from "./_isIterateeCall-CEvg7Bo6.js";
10
+ function baseRest(func, start) {
11
+ return setToString(overRest(func, start, identity), func + "");
12
+ }
11
13
  function baseMap(collection, iteratee) {
12
14
  var index = -1, result = isArrayLike(collection) ? Array(collection.length) : [];
13
15
  baseEach(collection, function(value, key, collection2) {
@@ -1,6 +1,6 @@
1
1
  import { g as get, b as get$1 } from "./index-CmQM2DaO.js";
2
2
  import { clueDebugLogger } from "./utils/loggerUtil.js";
3
- import { b as baseUniq, i as isEmpty } from "./_baseUniq-Bx6CWGDV.js";
3
+ import { b as baseUniq, i as isEmpty } from "./_baseUniq-BqxNeJD9.js";
4
4
  import { useState, useEffect } from "react";
5
5
  function uniq(array) {
6
6
  return array && array.length ? baseUniq(array) : [];
package/utils/chain.js CHANGED
@@ -5,7 +5,7 @@ import { b as baseIteratee } from "../_baseIteratee-C004Z9XE.js";
5
5
  import { i as isArray } from "../_MapCache-DWYVyFVH.js";
6
6
  import { g as groupBy } from "../groupBy-CXx1vslF.js";
7
7
  import { a as arrayMap } from "../_baseGet-DKnGz1D3.js";
8
- import { b as baseMap, a as baseOrderBy, s as sortBy } from "../sortBy-Bjn6Gl0J.js";
8
+ import { b as baseMap, a as baseOrderBy, s as sortBy } from "../sortBy-Tf6pz1tg.js";
9
9
  import { b as baseAssignValue } from "../_baseAssignValue-Dltt6-s5.js";
10
10
  import { m as maxBy } from "../maxBy-a49mqwW9.js";
11
11
  import { g as getTag } from "../_getTag-DuA1kj2A.js";
package/utils/utils.d.ts CHANGED
@@ -11,3 +11,8 @@ export declare const delay: (ms: number, rejectOnCancel?: boolean) => {
11
11
  export declare const removeEmpty: (obj: any, aggressive?: boolean) => any;
12
12
  export declare const searchObject: (o: any, query: string) => any;
13
13
  export declare const filterEnrichments: (failedEnrichments: FailedRequest[]) => FailedRequest[];
14
+ /**
15
+ * Deterministically compute a status ID from query fields.
16
+ * Uses WebCrypto SHA-256 when available, falls back to a lightweight FNV-1a.
17
+ */
18
+ export declare const computeStatusId: (type: string, value: string, classification: string) => Promise<string>;
package/utils/utils.js CHANGED
@@ -1,9 +1,10 @@
1
- import { d, f, r, s, t } from "../utils-D2kKvRny.js";
1
+ import { c, d, f, r, s, t } from "../utils-BN7Z0YiP.js";
2
2
  import "./time.js";
3
3
  import "../_MapCache-DWYVyFVH.js";
4
- import "../_baseUniq-Bx6CWGDV.js";
4
+ import "../_baseUniq-BqxNeJD9.js";
5
5
  import "../isNil-CIubwp4T.js";
6
6
  export {
7
+ c as computeStatusId,
7
8
  d as delay,
8
9
  f as filterEnrichments,
9
10
  r as removeEmpty,
@@ -3,34 +3,11 @@ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { en
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
4
  import { dayjs } from "./utils/time.js";
5
5
  import { i as isArray } from "./_MapCache-DWYVyFVH.js";
6
- import { b as baseUniq, i as isEmpty } from "./_baseUniq-Bx6CWGDV.js";
6
+ import { b as baseUniq, i as isEmpty } from "./_baseUniq-BqxNeJD9.js";
7
7
  import { b as baseIsEqual } from "./_baseIsEqual-CTfFNmaR.js";
8
8
  import { i as isNil } from "./isNil-CIubwp4T.js";
9
9
  import { i as isObjectLike, b as baseGetTag } from "./isObjectLike-OAgjjZye.js";
10
10
  import { g as getPrototype } from "./_getPrototype-uU2uJIbq.js";
11
- var objectTag = "[object Object]";
12
- var funcProto = Function.prototype, objectProto = Object.prototype;
13
- var funcToString = funcProto.toString;
14
- var hasOwnProperty = objectProto.hasOwnProperty;
15
- var objectCtorString = funcToString.call(Object);
16
- function isPlainObject(value) {
17
- if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
18
- return false;
19
- }
20
- var proto = getPrototype(value);
21
- if (proto === null) {
22
- return true;
23
- }
24
- var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor;
25
- return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
26
- }
27
- function isEqual(value, other) {
28
- return baseIsEqual(value, other);
29
- }
30
- function uniqWith(array, comparator) {
31
- comparator = typeof comparator == "function" ? comparator : void 0;
32
- return array && array.length ? baseUniq(array, void 0, comparator) : [];
33
- }
34
11
  function isBuffer(obj) {
35
12
  return obj && obj.constructor && typeof obj.constructor.isBuffer === "function" && obj.constructor.isBuffer(obj);
36
13
  }
@@ -134,6 +111,29 @@ function unflatten(target, opts) {
134
111
  });
135
112
  return result;
136
113
  }
114
+ var objectTag = "[object Object]";
115
+ var funcProto = Function.prototype, objectProto = Object.prototype;
116
+ var funcToString = funcProto.toString;
117
+ var hasOwnProperty = objectProto.hasOwnProperty;
118
+ var objectCtorString = funcToString.call(Object);
119
+ function isPlainObject(value) {
120
+ if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
121
+ return false;
122
+ }
123
+ var proto = getPrototype(value);
124
+ if (proto === null) {
125
+ return true;
126
+ }
127
+ var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor;
128
+ return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
129
+ }
130
+ function isEqual(value, other) {
131
+ return baseIsEqual(value, other);
132
+ }
133
+ function uniqWith(array, comparator) {
134
+ comparator = typeof comparator == "function" ? comparator : void 0;
135
+ return array && array.length ? baseUniq(array, void 0, comparator) : [];
136
+ }
137
137
  const twitterShort = (date) => {
138
138
  if (!date || date === "?") {
139
139
  return "?";
@@ -187,9 +187,32 @@ const searchObject = (o, query) => {
187
187
  const filterEnrichments = (failedEnrichments) => {
188
188
  return uniqWith(failedEnrichments, isEqual);
189
189
  };
190
+ const computeStatusId = async (type, value, classification) => {
191
+ var _a, _b, _c;
192
+ const input = `${type}::${value}::${classification}`.toLowerCase();
193
+ try {
194
+ const encoder = new TextEncoder();
195
+ const data = encoder.encode(input);
196
+ const digest = await (((_c = (_b = (_a = globalThis.crypto) == null ? void 0 : _a.subtle) == null ? void 0 : _b.digest) == null ? void 0 : _c.call(_b, "SHA-256", data)) ?? Promise.reject());
197
+ const bytes = new Uint8Array(digest);
198
+ let hex = "";
199
+ for (let i = 0; i < bytes.length; i++) {
200
+ hex += bytes[i].toString(16).padStart(2, "0");
201
+ }
202
+ return hex;
203
+ } catch {
204
+ let hash = 2166136261;
205
+ for (let i = 0; i < input.length; i++) {
206
+ hash ^= input.charCodeAt(i);
207
+ hash += (hash << 1) + (hash << 4) + (hash << 7) + (hash << 8) + (hash << 24);
208
+ }
209
+ return (hash >>> 0).toString(16);
210
+ }
211
+ };
190
212
  export {
191
213
  flatten as a,
192
214
  isPlainObject as b,
215
+ computeStatusId as c,
193
216
  delay as d,
194
217
  filterEnrichments as f,
195
218
  isEqual as i,