@cccsaurora/clue-ui 1.3.0-dev.347 → 1.3.0-dev.355

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-bztRjYJE.js → ActionForm-CzRvKiWG.js} +7 -7
  2. package/{AnnotationDetails-DXTY4rxn.js → AnnotationDetails-DCZ-rMIv.js} +2 -2
  3. package/{AnnotationPreview-BLO29hn_.js → AnnotationPreview-B3m5M9Pu.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-BF4c1XBg.js → index-IPF68v-l.js} +1 -1
  58. package/{index-CoosLLQl.js → index-VDwFWSqU.js} +7 -1
  59. package/main.d.ts +1 -3
  60. package/main.js +7 -5
  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-Dp6a9Q5X.js → utils-BN7Z0YiP.js} +24 -1
  68. package/ClueUIPlugin-0udQl--U.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-BJm74d7l.js +0 -25
  73. package/index-BdAUKhOk.js +0 -25
  74. package/index-D4mEq9G4.js +0 -26
  75. package/index-DP0SQqVY.js +0 -25
  76. package/index-Kt3RwkVk.js +0 -22
  77. package/store-Dslbt6yE.js +0 -2108
@@ -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-bztRjYJE.js";
4
+ import { f as useClueEnrichSelector } from "../ActionForm-CzRvKiWG.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-BLO29hn_.js";
3
+ import { C, a } from "../AnnotationPreview-B3m5M9Pu.js";
4
4
  import "../data/event.js";
5
5
  import "../utils/window.js";
6
- import "../AnnotationDetails-DXTY4rxn.js";
6
+ import "../AnnotationDetails-DCZ-rMIv.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-bztRjYJE.js";
2
+ import { a as ClueActionProvider } from "../ActionForm-CzRvKiWG.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-BLO29hn_.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-BdAUKhOk.js") },
19
- { name: "ImagePlugin", id: "image", loadPlugin: () => import("../index-D4mEq9G4.js") },
20
- { name: "JSONPlugin", id: "json", loadPlugin: () => import("../index-BJm74d7l.js") },
21
- { name: "GraphPlugin", id: "graph", loadPlugin: () => import("../index-DP0SQqVY.js") },
22
- { name: "FilePlugin", id: "file", loadPlugin: () => import("../index-Kt3RwkVk.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-B3m5M9Pu.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-bztRjYJE.js";
1
+ import { d, e, f, g } from "../ActionForm-CzRvKiWG.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-bztRjYJE.js";
4
+ import { u } from "../ActionForm-CzRvKiWG.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-bztRjYJE.js";
4
+ import { f as useClueEnrichSelector } from "../ActionForm-CzRvKiWG.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-bztRjYJE.js";
1
+ import { b } from "../ActionForm-CzRvKiWG.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-bztRjYJE.js";
3
+ import { f as useClueEnrichSelector } from "../ActionForm-CzRvKiWG.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-bztRjYJE.js";
2
+ import { b as useClueActions } from "../ActionForm-CzRvKiWG.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-BLO29hn_.js";
6
- import { b as useClueActions } from "../ActionForm-bztRjYJE.js";
5
+ import { C as CluePopupContext } from "../AnnotationPreview-B3m5M9Pu.js";
6
+ import { b as useClueActions } from "../ActionForm-CzRvKiWG.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-BLO29hn_.js";
5
+ import { C as CluePopupContext } from "../AnnotationPreview-B3m5M9Pu.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-BLO29hn_.js";
7
+ import { C as CluePopupContext } from "../AnnotationPreview-B3m5M9Pu.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-BLO29hn_.js";
5
+ import { C as CluePopupContext } from "../AnnotationPreview-B3m5M9Pu.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-Dp6a9Q5X.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';
@@ -40,5 +38,5 @@ import { default as OpinionIcon } from './icons/Opinion';
40
38
  import { default as FrequencyText } from './text/Frequency';
41
39
 
42
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 };
43
- export type { ActionDefinition, ActionDefinitionsResponse, ActionResult, Annotation, BulkEnrichRequest, BulkEnrichResponses, ClueConfigContextProps, ClueDatabase, ClueDatabaseCollections, ClueDatabaseContextProps, ClueResponse, ClueUIPlugin, 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 };
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,8 +1,8 @@
1
- import { A, b, d, f, g } from "./ActionForm-bztRjYJE.js";
1
+ import { A, b, d, f, g } from "./ActionForm-CzRvKiWG.js";
2
2
  import { default as default2 } from "./components/AnnotationDetailPopover.js";
3
- import { A as A2 } from "./AnnotationDetails-DXTY4rxn.js";
3
+ import { A as A2 } from "./AnnotationDetails-DCZ-rMIv.js";
4
4
  import { default as default3 } from "./components/AnnotationEntry.js";
5
- import { A as A3, C } from "./AnnotationPreview-BLO29hn_.js";
5
+ import { A as A3, C } from "./AnnotationPreview-B3m5M9Pu.js";
6
6
  import { default as default4 } from "./components/CountBadge.js";
7
7
  import { default as default5 } from "./components/EnrichedCard.js";
8
8
  import { default as default6 } from "./components/EnrichedChip.js";
@@ -14,17 +14,18 @@ import { default as default11 } from "./components/group/Group.js";
14
14
  import { default as default12 } from "./components/group/GroupControl.js";
15
15
  import { default as default13 } from "./components/SourcePicker.js";
16
16
  import { SNACKBAR_EVENT_ID } from "./data/event.js";
17
- import { b as b2 } from "./index-CoosLLQl.js";
17
+ import { b as b2 } from "./index-VDwFWSqU.js";
18
18
  import { ClueComponentContext } from "./hooks/ClueComponentContext.js";
19
19
  import { ClueConfigContext } from "./hooks/ClueConfigProvider.js";
20
20
  import { ClueDatabaseContext } from "./hooks/ClueDatabaseContext.js";
21
- import { C as C2 } from "./ClueEnrichContext-fItpTzAE.js";
21
+ import { C as C2 } from "./ClueEnrichContext-DKZ2iqmV.js";
22
22
  import { ClueProvider } from "./hooks/ClueProvider.js";
23
23
  import { default as default14 } from "./hooks/useClue.js";
24
24
  import { default as default15 } from "./hooks/useClueConfig.js";
25
25
  import { default as default16 } from "./icons/Assessment.js";
26
26
  import { default as default17 } from "./icons/Context.js";
27
27
  import { default as default18 } from "./icons/Opinion.js";
28
+ import { default as default19 } from "./text/Frequency.js";
28
29
  export {
29
30
  A as ActionForm,
30
31
  default2 as AnnotationDetailPopover,
@@ -45,6 +46,7 @@ export {
45
46
  default7 as EnrichedTypography,
46
47
  default10 as Entry,
47
48
  default8 as Fetcher,
49
+ default19 as FrequencyText,
48
50
  default11 as Group,
49
51
  default12 as GroupControl,
50
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.347",
69
+ "version": "1.3.0-dev.355",
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-Dp6a9Q5X.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,7 +3,7 @@ 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";
@@ -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,