@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
@@ -3,20 +3,20 @@ import { materialRenderers, materialCells } from "@jsonforms/material-renderers"
3
3
  import { JsonForms } from "@jsonforms/react";
4
4
  import { Modal, Paper, Stack, Typography, Divider, LinearProgress, Button, IconButton, Box, CircularProgress, Collapse } from "@mui/material";
5
5
  import Iconified from "./components/display/icons/Iconified.js";
6
- import { J as JSONViewer } from "./index-BF4c1XBg.js";
6
+ import { J as JSONViewer } from "./index-IPF68v-l.js";
7
7
  import { ClueComponentContext } from "./hooks/ClueComponentContext.js";
8
8
  import { g as getDefaultExportFromCjs } from "./_commonjsHelpers-CUmg6egw.js";
9
- import { c as requireJsonSchemaTraverse, r as requireFastDeepEqual, a as requireFastUri } from "./index-CoosLLQl.js";
9
+ import { c as requireJsonSchemaTraverse, r as requireFastDeepEqual, a as requireFastUri } from "./index-VDwFWSqU.js";
10
10
  import { a as api } from "./index-CmQM2DaO.js";
11
11
  import { d as toString } from "./_baseGet-DKnGz1D3.js";
12
12
  import { b as baseSlice } from "./_baseSlice-GAv_YFTT.js";
13
- import { i as isEqual } from "./utils-Dp6a9Q5X.js";
13
+ import { i as isEqual } from "./utils-BN7Z0YiP.js";
14
14
  import { useState, useRef, useMemo, useEffect, memo, useCallback } from "react";
15
15
  import { a as useContextSelector, c as createContext, u as useContext } from "./index-_gpzM2Px.js";
16
16
  import ErrorBoundary from "./components/ErrorBoundary.js";
17
17
  import { adaptSchema } from "./components/actions/form/schemaAdapter.js";
18
18
  import { I as Icon } from "./iconify-DJxl6dC-.js";
19
- import { C as ClueEnrichContext } from "./ClueEnrichContext-fItpTzAE.js";
19
+ import { C as ClueEnrichContext } from "./ClueEnrichContext-DKZ2iqmV.js";
20
20
  import { ClueFetcherContext } from "./hooks/ClueFetcherContext.js";
21
21
  import ClassificationChip from "./components/ClassificationChip.js";
22
22
  import Result from "./components/actions/formats/index.js";
@@ -5961,13 +5961,13 @@ const ActionForm = ({ runningActionData }) => {
5961
5961
  setLoading(false);
5962
5962
  }
5963
5963
  }, [
5964
+ executeAction,
5965
+ runningActionData == null ? void 0 : runningActionData.id,
5966
+ runningActionData == null ? void 0 : runningActionData.selectors,
5964
5967
  runningActionData == null ? void 0 : runningActionData.onComplete,
5965
5968
  runningActionData == null ? void 0 : runningActionData.onUpdate,
5966
5969
  runningActionData == null ? void 0 : runningActionData.timeout,
5967
5970
  runningActionData == null ? void 0 : runningActionData.skipResultModal,
5968
- runningActionData == null ? void 0 : runningActionData.id,
5969
- runningActionData == null ? void 0 : runningActionData.selectors,
5970
- executeAction,
5971
5971
  formData
5972
5972
  ]);
5973
5973
  if (!(runningActionData == null ? void 0 : runningActionData.action)) {
@@ -4,13 +4,13 @@ import { useTheme, Stack, Typography, Tooltip, Box, IconButton, CircularProgress
4
4
  import Iconified from "./components/display/icons/Iconified.js";
5
5
  import { SNACKBAR_EVENT_ID } from "./data/event.js";
6
6
  import { ClueComponentContext } from "./hooks/ClueComponentContext.js";
7
- import { f as useClueEnrichSelector } from "./ActionForm-bztRjYJE.js";
7
+ import { f as useClueEnrichSelector } from "./ActionForm-CzRvKiWG.js";
8
8
  import useAnnotations from "./hooks/useAnnotations.js";
9
9
  import useErrors from "./hooks/useErrors.js";
10
10
  import { ICON_MAP } from "./icons/iconMap.js";
11
11
  import { safeDispatchEvent } from "./utils/window.js";
12
12
  import { g as groupBy } from "./groupBy-CXx1vslF.js";
13
- import { u as uniq } from "./useClueTypeConfig-D2OeF2ug.js";
13
+ import { u as uniq } from "./useClueTypeConfig-CnMg5Ny8.js";
14
14
  import { memo, useState, useMemo, useCallback, useEffect } from "react";
15
15
  import { a as useContextSelector } from "./index-_gpzM2Px.js";
16
16
  import ExecutePopover from "./components/actions/ExecutePopover.js";
@@ -3,12 +3,12 @@ import { I as Icon } from "./iconify-DJxl6dC-.js";
3
3
  import { useTheme, Popper, Fade, Paper, Stack, Typography, Divider } from "@mui/material";
4
4
  import AnnotationDetailPopover from "./components/AnnotationDetailPopover.js";
5
5
  import useAnnotations from "./hooks/useAnnotations.js";
6
- import { t as twitterShort } from "./utils-Dp6a9Q5X.js";
6
+ import { t as twitterShort } from "./utils-BN7Z0YiP.js";
7
7
  import { useState, useRef, useCallback, useEffect, useMemo } from "react";
8
8
  import { c as createContext, a as useContextSelector } from "./index-_gpzM2Px.js";
9
9
  import { SHOW_EVENT_ID, HIDE_EVENT_ID } from "./data/event.js";
10
10
  import { safeDispatchEvent, safeAddEventListener } from "./utils/window.js";
11
- import { i as isNull } from "./AnnotationDetails-DXTY4rxn.js";
11
+ import { i as isNull } from "./AnnotationDetails-DCZ-rMIv.js";
12
12
  const CluePopupContext = createContext(null);
13
13
  const CluePopupProvider = ({ children }) => {
14
14
  const [popupType, setPopupType] = useState(null);
@@ -3,13 +3,14 @@ import { a as addAPIProvider } from "./iconify-DJxl6dC-.js";
3
3
  import { a as api, p as post } from "./index-CmQM2DaO.js";
4
4
  import { REPLICATORS } from "./database/globals.js";
5
5
  import { clueDebugLogger } from "./utils/loggerUtil.js";
6
+ import { c as computeStatusId } from "./utils-BN7Z0YiP.js";
6
7
  import { b as baseSlice } from "./_baseSlice-GAv_YFTT.js";
7
8
  import { t as toFinite } from "./toFinite-Bc55msYj.js";
8
9
  import { d as debounce } from "./sessionStorage-Dbmo2Exe.js";
9
10
  import { g as groupBy } from "./groupBy-CXx1vslF.js";
10
- import { a as useClueTypeConfig, u as uniq } from "./useClueTypeConfig-D2OeF2ug.js";
11
+ import { a as useClueTypeConfig, u as uniq } from "./useClueTypeConfig-CnMg5Ny8.js";
11
12
  import { b as baseIteratee } from "./_baseIteratee-C004Z9XE.js";
12
- import { b as baseUniq, i as isEmpty } from "./_baseUniq-Bx6CWGDV.js";
13
+ import { b as baseUniq, i as isEmpty } from "./_baseUniq-BqxNeJD9.js";
13
14
  import { useContext, useState, useMemo, useCallback, useRef, useEffect } from "react";
14
15
  import { c as createContext } from "./index-_gpzM2Px.js";
15
16
  import { ClueDatabaseContext } from "./hooks/ClueDatabaseContext.js";
@@ -246,7 +247,7 @@ const ClueEnrichProvider = ({
246
247
  let statusRecord = await database.status.findOne({ selector: { ...selector } }).exec();
247
248
  if (!statusRecord) {
248
249
  statusRecord = await ((_a2 = database.status) == null ? void 0 : _a2.insert({
249
- id: v4(),
250
+ id: await computeStatusId(selector.type, selector.value, selector.classification ?? defaultClassification),
250
251
  type: selector.type,
251
252
  value: selector.value,
252
253
  classification: selector.classification ?? defaultClassification,
@@ -311,7 +312,7 @@ const ClueEnrichProvider = ({
311
312
  }));
312
313
  if (!statusRecord) {
313
314
  statusRecord = await ((_b2 = database.status) == null ? void 0 : _b2.insert({
314
- id: v4(),
315
+ id: await computeStatusId(query.type, query.value, query.classification),
315
316
  ...query,
316
317
  status: "in-progress",
317
318
  sources: options.sources
@@ -360,16 +361,16 @@ const ClueEnrichProvider = ({
360
361
  const newRequests = [];
361
362
  for (const [classification, selectors] of Object.entries(byClassification)) {
362
363
  const bySelector = groupBy(selectors, (_selector) => `${_selector.type}:${_selector.value}`);
363
- Object.values(bySelector).forEach((records) => {
364
+ for (const records of Object.values(bySelector)) {
364
365
  newRequests.push({
365
- id: v4(),
366
+ id: await computeStatusId(records[0].type, records[0].value, classification),
366
367
  type: records[0].type,
367
368
  value: records[0].value,
368
369
  classification,
369
370
  sources: uniq(records.map((_record) => _record.source)).sort(),
370
371
  status: "pending"
371
372
  });
372
- });
373
+ }
373
374
  }
374
375
  await database.status.bulkInsert(newRequests);
375
376
  await database.selectors.bulkRemove(failedEnrichments);
@@ -488,7 +489,7 @@ const ClueEnrichProvider = ({
488
489
  }).exec());
489
490
  if (!statusRecord) {
490
491
  statusRecord = await ((_b2 = database.status) == null ? void 0 : _b2.queueInsert({
491
- id: v4(),
492
+ id: await computeStatusId(query.type, query.value, query.classification),
492
493
  ...query,
493
494
  status: "pending"
494
495
  }));
@@ -79,7 +79,7 @@ function baseFlatten(array, depth, predicate, isStrict, result) {
79
79
  {
80
80
  arrayPush(result, value);
81
81
  }
82
- } else if (!isStrict) {
82
+ } else {
83
83
  result[result.length] = value;
84
84
  }
85
85
  }
@@ -110,7 +110,6 @@ function baseUniq(array, iteratee, comparator) {
110
110
  return result;
111
111
  }
112
112
  export {
113
- arrayIncludes as a,
114
113
  baseUniq as b,
115
114
  isEmpty as i
116
115
  };
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Popover } from "@mui/material";
3
3
  import React__default, { useRef, useState, useEffect } from "react";
4
- import { A as AnnotationDetails } from "../AnnotationDetails-DXTY4rxn.js";
4
+ import { A as AnnotationDetails } from "../AnnotationDetails-DCZ-rMIv.js";
5
5
  const AnnotationDetailPopover = React__default.memo(({ anchorEl, enrichRequest, open, onClose, ...otherProps }) => {
6
6
  var _a, _b, _c;
7
7
  const actionRef = useRef();
@@ -4,14 +4,14 @@ import "@mui/material";
4
4
  import "./display/icons/Iconified.js";
5
5
  import "../data/event.js";
6
6
  import "../hooks/ClueComponentContext.js";
7
- import "../ActionForm-bztRjYJE.js";
7
+ import "../ActionForm-CzRvKiWG.js";
8
8
  import "../hooks/useAnnotations.js";
9
9
  import "../hooks/useErrors.js";
10
10
  import "../icons/iconMap.js";
11
11
  import "../utils/window.js";
12
12
  import "../groupBy-CXx1vslF.js";
13
- import { A } from "../AnnotationDetails-DXTY4rxn.js";
14
- import "../useClueTypeConfig-D2OeF2ug.js";
13
+ import { A } from "../AnnotationDetails-DCZ-rMIv.js";
14
+ import "../useClueTypeConfig-CnMg5Ny8.js";
15
15
  import "react";
16
16
  import "../index-_gpzM2Px.js";
17
17
  import "./actions/ExecutePopover.js";
@@ -2,7 +2,7 @@ import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
2
  import { I as Icon } from "../iconify-DJxl6dC-.js";
3
3
  import { Stack, Typography, Chip, IconButton } from "@mui/material";
4
4
  import Iconified from "./display/icons/Iconified.js";
5
- import { t as twitterShort } from "../utils-Dp6a9Q5X.js";
5
+ import { t as twitterShort } from "../utils-BN7Z0YiP.js";
6
6
  import { memo } from "react";
7
7
  import AnnotationBody from "./AnnotationBody.js";
8
8
  import ClassificationChip from "./ClassificationChip.js";
@@ -1,9 +1,9 @@
1
1
  import "react/jsx-runtime";
2
2
  import "../iconify-DJxl6dC-.js";
3
3
  import "@mui/material";
4
- import { A } from "../AnnotationPreview-BLO29hn_.js";
4
+ import { A } from "../AnnotationPreview-B3m5M9Pu.js";
5
5
  import "../hooks/useAnnotations.js";
6
- import "../utils-Dp6a9Q5X.js";
6
+ import "../utils-BN7Z0YiP.js";
7
7
  import "react";
8
8
  import "../index-_gpzM2Px.js";
9
9
  export {
@@ -6,7 +6,7 @@ interface EnrichedChipProps {
6
6
  }
7
7
  declare const _default: React.NamedExoticComponent<EnrichedChipProps & ChipOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
8
8
  ref?: React.Ref<HTMLDivElement>;
9
- }, "children" | "label" | "style" | "className" | "tabIndex" | "color" | "classes" | "sx" | "variant" | "size" | "icon" | "disabled" | "onDelete" | "avatar" | "clickable" | "deleteIcon" | "skipFocusWhenDisabled"> & {
9
+ }, "disabled" | "icon" | "color" | "style" | "size" | "children" | "variant" | "classes" | "className" | "sx" | "label" | "tabIndex" | "onDelete" | "avatar" | "clickable" | "deleteIcon" | "skipFocusWhenDisabled"> & {
10
10
  component?: React.ElementType;
11
11
  }>;
12
12
  export default _default;
@@ -8,7 +8,7 @@ export interface EnrichedCardProps {
8
8
  }
9
9
  declare const _default: import('react').NamedExoticComponent<EnrichedCardProps & import('@mui/material').CardOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
10
10
  ref?: import('react').Ref<HTMLDivElement>;
11
- }, "children" | "style" | "className" | "classes" | "elevation" | "square" | "sx" | "variant" | "raised"> & {
11
+ }, "style" | "square" | "children" | "variant" | "classes" | "className" | "sx" | "elevation" | "raised"> & {
12
12
  component?: React.ElementType;
13
13
  }>;
14
14
  export default _default;
@@ -2,7 +2,7 @@ import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { I as Icon } from "../iconify-DJxl6dC-.js";
3
3
  import { useTheme, Card, CardHeader, Stack, CircularProgress, Divider, CardContent, Grid, Chip, Typography, Tooltip, Box } from "@mui/material";
4
4
  import { ClueComponentContext } from "../hooks/ClueComponentContext.js";
5
- import { f as useClueEnrichSelector } from "../ActionForm-bztRjYJE.js";
5
+ import { f as useClueEnrichSelector } from "../ActionForm-CzRvKiWG.js";
6
6
  import useAnnotations from "../hooks/useAnnotations.js";
7
7
  import useErrors from "../hooks/useErrors.js";
8
8
  import AssessmentIcon from "../icons/Assessment.js";
@@ -10,7 +10,7 @@ import ContextIcon from "../icons/Context.js";
10
10
  import OpinionIcon from "../icons/Opinion.js";
11
11
  import { ICON_MAP } from "../icons/iconMap.js";
12
12
  import FrequencyText from "../text/Frequency.js";
13
- import { u as uniq } from "../useClueTypeConfig-D2OeF2ug.js";
13
+ import { u as uniq } from "../useClueTypeConfig-CnMg5Ny8.js";
14
14
  import { memo, useState, useMemo, useCallback } from "react";
15
15
  import { a as useContextSelector } from "../index-_gpzM2Px.js";
16
16
  import AnnotationEntry from "./AnnotationEntry.js";
@@ -3,7 +3,7 @@ import { default as React } from 'react';
3
3
 
4
4
  declare const _default: React.NamedExoticComponent<EnrichmentProps & import('@mui/material').ChipOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
5
5
  ref?: React.Ref<HTMLDivElement>;
6
- }, "children" | "label" | "style" | "className" | "tabIndex" | "color" | "classes" | "sx" | "variant" | "size" | "icon" | "disabled" | "onDelete" | "avatar" | "clickable" | "deleteIcon" | "skipFocusWhenDisabled"> & {
6
+ }, "disabled" | "icon" | "color" | "style" | "size" | "children" | "variant" | "classes" | "className" | "sx" | "label" | "tabIndex" | "onDelete" | "avatar" | "clickable" | "deleteIcon" | "skipFocusWhenDisabled"> & {
7
7
  component?: React.ElementType;
8
8
  }>;
9
9
  export default _default;
@@ -3,8 +3,8 @@ import { Chip, Tooltip, Box, Stack, CircularProgress } from "@mui/material";
3
3
  import Iconified from "./display/icons/Iconified.js";
4
4
  import { ClueComponentContext } from "../hooks/ClueComponentContext.js";
5
5
  import { ClueGroupContext } from "../hooks/ClueGroupContext.js";
6
- import { C as CluePopupContext } from "../AnnotationPreview-BLO29hn_.js";
7
- import { f as useClueEnrichSelector } from "../ActionForm-bztRjYJE.js";
6
+ import { C as CluePopupContext } from "../AnnotationPreview-B3m5M9Pu.js";
7
+ import { f as useClueEnrichSelector } from "../ActionForm-CzRvKiWG.js";
8
8
  import useAnnotations from "../hooks/useAnnotations.js";
9
9
  import ActionIcon from "../icons/Action.js";
10
10
  import AssessmentIcon from "../icons/Assessment.js";
@@ -10,7 +10,7 @@ export interface EnrichedTypographyProps extends EnrichmentProps {
10
10
  }
11
11
  declare const _default: import('react').NamedExoticComponent<EnrichedTypographyProps & import('@mui/material').TypographyOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
12
12
  ref?: import('react').Ref<HTMLSpanElement>;
13
- }, "children" | "p" | "style" | "className" | "color" | "height" | "width" | "align" | "classes" | "sx" | "variant" | "border" | "boxShadow" | "fontWeight" | "zIndex" | "alignContent" | "alignItems" | "alignSelf" | "bottom" | "boxSizing" | "columnGap" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontFamily" | "fontSize" | "fontStyle" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "justifyContent" | "justifyItems" | "justifySelf" | "left" | "letterSpacing" | "lineHeight" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "order" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingTop" | "position" | "right" | "rowGap" | "textAlign" | "textOverflow" | "textTransform" | "top" | "visibility" | "whiteSpace" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderTop" | "flex" | "gap" | "gridArea" | "gridColumn" | "gridRow" | "margin" | "marginBlock" | "marginInline" | "overflow" | "padding" | "paddingBlock" | "paddingInline" | "bgcolor" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "typography" | "displayPrint" | "noWrap" | "gutterBottom" | "paragraph" | "variantMapping"> & {
13
+ }, "fontSize" | "color" | "style" | "left" | "right" | "bottom" | "top" | "flex" | "position" | "border" | "padding" | "children" | "variant" | "classes" | "className" | "margin" | "sx" | "p" | "boxShadow" | "fontWeight" | "zIndex" | "alignContent" | "alignItems" | "alignSelf" | "boxSizing" | "columnGap" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontFamily" | "fontStyle" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "height" | "justifyContent" | "justifyItems" | "justifySelf" | "letterSpacing" | "lineHeight" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "order" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingTop" | "rowGap" | "textAlign" | "textOverflow" | "textTransform" | "visibility" | "whiteSpace" | "width" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderTop" | "gap" | "gridArea" | "gridColumn" | "gridRow" | "marginBlock" | "marginInline" | "overflow" | "paddingBlock" | "paddingInline" | "bgcolor" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "typography" | "displayPrint" | "align" | "noWrap" | "gutterBottom" | "paragraph" | "variantMapping"> & {
14
14
  component?: React.ElementType;
15
15
  }>;
16
16
  export default _default;
@@ -3,8 +3,8 @@ import { useTheme, Stack, CircularProgress, Tooltip, IconButton } from "@mui/mat
3
3
  import Iconified from "./display/icons/Iconified.js";
4
4
  import { ClueComponentContext } from "../hooks/ClueComponentContext.js";
5
5
  import { ClueGroupContext } from "../hooks/ClueGroupContext.js";
6
- import { C as CluePopupContext } from "../AnnotationPreview-BLO29hn_.js";
7
- import { f as useClueEnrichSelector } from "../ActionForm-bztRjYJE.js";
6
+ import { C as CluePopupContext } from "../AnnotationPreview-B3m5M9Pu.js";
7
+ import { f as useClueEnrichSelector } from "../ActionForm-CzRvKiWG.js";
8
8
  import useAnnotations from "../hooks/useAnnotations.js";
9
9
  import ActionIcon from "../icons/Action.js";
10
10
  import AssessmentIcon from "../icons/Assessment.js";
@@ -10,6 +10,6 @@ declare class ErrorBoundary extends React.Component<PropsWithChildren<{}>, {
10
10
  error: any;
11
11
  };
12
12
  componentDidCatch(error: Error): void;
13
- render(): string | number | boolean | Iterable<React.ReactNode> | import("react/jsx-runtime").JSX.Element;
13
+ render(): string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<React.ReactNode>;
14
14
  }
15
15
  export default ErrorBoundary;
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Button } from "@mui/material";
3
3
  import { ClueComponentContext } from "../hooks/ClueComponentContext.js";
4
- import { f as useClueEnrichSelector } from "../ActionForm-bztRjYJE.js";
4
+ import { f as useClueEnrichSelector } from "../ActionForm-CzRvKiWG.js";
5
5
  import { a as useContextSelector } from "../index-_gpzM2Px.js";
6
6
  const RetryFailedEnrichments = () => {
7
7
  const enrichFailedEnrichments = useClueEnrichSelector((ctx) => ctx.enrichFailedEnrichments);
@@ -1,6 +1,6 @@
1
1
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
2
  import { Button, Popover, TextField, Divider, Stack, FormControlLabel, Checkbox } from "@mui/material";
3
- import { e as useClueComponentSelector, f as useClueEnrichSelector } from "../ActionForm-bztRjYJE.js";
3
+ import { e as useClueComponentSelector, f as useClueEnrichSelector } from "../ActionForm-CzRvKiWG.js";
4
4
  import { memo, useState, useEffect } from "react";
5
5
  const SourcePicker = () => {
6
6
  const { t } = useClueComponentSelector((ctx) => ctx.i18next);
@@ -3,10 +3,10 @@ import "@jsonforms/material-renderers";
3
3
  import "@jsonforms/react";
4
4
  import "@mui/material";
5
5
  import "../display/icons/Iconified.js";
6
- import "../../index-BF4c1XBg.js";
6
+ import "../../index-IPF68v-l.js";
7
7
  import "../../hooks/ClueComponentContext.js";
8
- import { A } from "../../ActionForm-bztRjYJE.js";
9
- import "../../utils-Dp6a9Q5X.js";
8
+ import { A } from "../../ActionForm-CzRvKiWG.js";
9
+ import "../../utils-BN7Z0YiP.js";
10
10
  import "react";
11
11
  import "../../index-_gpzM2Px.js";
12
12
  import "../ErrorBoundary.js";
@@ -3,7 +3,7 @@ import { I as Icon } from "../../iconify-DJxl6dC-.js";
3
3
  import { useTheme, Tooltip, IconButton, CircularProgress, Button, Popover, Paper, Stack, Typography, Box, Divider } from "@mui/material";
4
4
  import Iconified from "../display/icons/Iconified.js";
5
5
  import { ClueComponentContext } from "../../hooks/ClueComponentContext.js";
6
- import { d as useClueActionsSelector } from "../../ActionForm-bztRjYJE.js";
6
+ import { d as useClueActionsSelector } from "../../ActionForm-CzRvKiWG.js";
7
7
  import useClueConfig from "../../hooks/useClueConfig.js";
8
8
  import { isAccessible } from "../../utils/classificationParser.js";
9
9
  import { useState, useRef, useMemo, useEffect } from "react";
@@ -2,7 +2,7 @@ import "react/jsx-runtime";
2
2
  import "../../iconify-DJxl6dC-.js";
3
3
  import "@mui/material";
4
4
  import "../../hooks/ClueComponentContext.js";
5
- import { R } from "../../ActionForm-bztRjYJE.js";
5
+ import { R } from "../../ActionForm-CzRvKiWG.js";
6
6
  import "react";
7
7
  import "../../index-_gpzM2Px.js";
8
8
  import "../ClassificationChip.js";
@@ -4,6 +4,5 @@ import { FC } from 'react';
4
4
 
5
5
  declare const Result: FC<{
6
6
  result: WithActionData<ActionResult>;
7
- [additionalProp: string]: any;
8
7
  }>;
9
8
  export default Result;
@@ -1,27 +1,20 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { Stack } from "@mui/material";
3
- import { J as JSONViewer } from "../../../index-BF4c1XBg.js";
3
+ import { J as JSONViewer } from "../../../index-IPF68v-l.js";
4
4
  import Markdown from "../../display/markdown/index.js";
5
- import { useTranslation } from "react-i18next";
6
- import { u as usePluginStore, c as clueUIPluginStore } from "../../../store-Dslbt6yE.js";
7
- const Result = ({
8
- result,
9
- ...additionalProps
10
- }) => {
11
- const pluginStore = usePluginStore();
12
- const { t } = useTranslation();
13
- const plugin = clueUIPluginStore.getPlugin(result.format, "action", result.actionId);
14
- if (plugin) {
15
- const component = pluginStore.executeFunction(`${plugin}.actionResult`, {
16
- result,
17
- ...additionalProps
18
- });
19
- if (component) {
20
- return component;
21
- }
5
+ import FileResult from "./FileResult.js";
6
+ const Result = ({ result }) => {
7
+ if (result.format === "markdown") {
8
+ return /* @__PURE__ */ jsx(Markdown, { md: result.output });
9
+ }
10
+ if (result.format === "json") {
11
+ return /* @__PURE__ */ jsx(JSONViewer, { data: result.output, collapse: true, forceCompact: true });
12
+ }
13
+ if (result.format === "file") {
14
+ return /* @__PURE__ */ jsx(FileResult, { result });
22
15
  }
23
16
  return /* @__PURE__ */ jsxs(Stack, { sx: { overflowY: "auto" }, children: [
24
- /* @__PURE__ */ jsx(Markdown, { md: t("format.not.recognized", { format: result.format }) }),
17
+ /* @__PURE__ */ jsx(Markdown, { md: "`" + result.format + "` is not recognized as a format in this application." }),
25
18
  /* @__PURE__ */ jsx(JSONViewer, { data: result, collapse: true, forceCompact: true })
26
19
  ] });
27
20
  };
@@ -1,15 +1,15 @@
1
1
  import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
2
  import { Stack, Typography, Card, CardContent, Divider, Collapse } from "@mui/material";
3
- import { b as isPlainObject, a as flatten$1 } from "../../../../utils-Dp6a9Q5X.js";
3
+ import { b as isPlainObject, a as flatten$1 } from "../../../../utils-BN7Z0YiP.js";
4
4
  import { cssImportant } from "../../../../utils/graph.js";
5
5
  import { b as baseGet, c as castPath, t as toKey, a as arrayMap } from "../../../../_baseGet-DKnGz1D3.js";
6
6
  import { c as copyObject, g as getAllKeysIn, b as baseClone } from "../../../../_baseClone-BUfES2sT.js";
7
7
  import { l as last } from "../../../../last-CUCl67Im.js";
8
8
  import { b as baseSlice } from "../../../../_baseSlice-GAv_YFTT.js";
9
- import { b as baseFlatten, s as setToString, o as overRest } from "../../../../_baseFlatten-B3PW43Vk.js";
9
+ import { b as baseFlatten, s as setToString, o as overRest } from "../../../../_baseFlatten-D3wtzJ86.js";
10
10
  import { useState, useEffect, useCallback, Fragment as Fragment$1 } from "react";
11
11
  import Iconified from "../../icons/Iconified.js";
12
- import { J as JSONViewer } from "../../../../index-BF4c1XBg.js";
12
+ import { J as JSONViewer } from "../../../../index-IPF68v-l.js";
13
13
  import Markdown from "../../markdown/index.js";
14
14
  import ExpandMoreButton from "../ExpandMoreButton.js";
15
15
  import NodeTag from "./NodeTag.js";
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
2
  import { useMemo, useRef, useState, useEffect, useCallback, createElement } from "react";
3
3
  import { useTheme, lighten, darken, Stack, Card, Typography, Autocomplete, TextField, FormControl, InputLabel, Select, MenuItem, alpha, IconButton, Collapse } from "@mui/material";
4
- import { p as parseEvent } from "../../../index-BF4c1XBg.js";
4
+ import { p as parseEvent } from "../../../index-IPF68v-l.js";
5
5
  import { z as zoom, i as identity, s as select, t as transform, p as pointer } from "../../../index-CVUD9o3t.js";
6
6
  import { ClueComponentContext } from "../../../hooks/ClueComponentContext.js";
7
7
  import useComparator from "../../../hooks/useComparator.js";
@@ -1,7 +1,7 @@
1
1
  import "react/jsx-runtime";
2
2
  import "@mui/material";
3
- import { J } from "../../../index-BF4c1XBg.js";
4
- import "../../../utils-Dp6a9Q5X.js";
3
+ import { J } from "../../../index-IPF68v-l.js";
4
+ import "../../../utils-BN7Z0YiP.js";
5
5
  import "../../../hooks/ClueComponentContext.js";
6
6
  import "../../../hooks/useMyLocalStorage.js";
7
7
  import "../../../utils/constants.js";
@@ -1,6 +1,6 @@
1
1
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
2
  import { useTheme, Tooltip, IconButton, CircularProgress, Button, Popover, Paper, Stack, Box, Typography, Divider } from "@mui/material";
3
- import { e as useClueComponentSelector, f as useClueEnrichSelector, c as capitalize } from "../../ActionForm-bztRjYJE.js";
3
+ import { e as useClueComponentSelector, f as useClueEnrichSelector, c as capitalize } from "../../ActionForm-CzRvKiWG.js";
4
4
  import { useState, useRef, useCallback, useEffect } from "react";
5
5
  import Iconified from "../display/icons/Iconified.js";
6
6
  const EnrichPopover = ({ show = false, size = "small", selector }) => {
@@ -1,13 +1,15 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { I as Icon } from "../../iconify-DJxl6dC-.js";
3
- import { useTheme, Skeleton, Chip, Tooltip, Stack, Typography, LinearProgress, Paper, IconButton } from "@mui/material";
3
+ import { useTheme, Skeleton, Chip, Tooltip, Stack, Typography, LinearProgress, Paper, Box, IconButton } from "@mui/material";
4
4
  import { F as FlexOne } from "../../FlexOne-BSYAhhtG.js";
5
5
  import Iconified from "../display/icons/Iconified.js";
6
+ import { J as JSONViewer } from "../../index-IPF68v-l.js";
6
7
  import { ClueComponentContext } from "../../hooks/ClueComponentContext.js";
7
- import { g as useClueFetcherSelector } from "../../ActionForm-bztRjYJE.js";
8
+ import { g as useClueFetcherSelector } from "../../ActionForm-CzRvKiWG.js";
8
9
  import React__default, { useState, useRef, useMemo, useEffect, memo } from "react";
9
10
  import { a as useContextSelector } from "../../index-_gpzM2Px.js";
10
- import { FetcherResultView } from "./FetcherResultView.js";
11
+ import Graph from "../display/graph/index.js";
12
+ import Markdown from "../display/markdown/index.js";
11
13
  import PreviewModal from "./PreviewModal.js";
12
14
  import StatusChip from "./StatusChip.js";
13
15
  const Fetcher = React__default.memo(
@@ -70,12 +72,6 @@ const Fetcher = React__default.memo(
70
72
  }
71
73
  })();
72
74
  }, [classification, fetchSelector, fetcherId, t, type, value]);
73
- const resultAdditionalProps = useMemo(() => {
74
- if ((result == null ? void 0 : result.outcome) === "success" && result.format === "image") {
75
- return { onClick: () => setShowPreview(true), ...imageProps };
76
- }
77
- return { result };
78
- }, [imageProps, result]);
79
75
  if (fetchCompleted) {
80
76
  if (!fetcherId) {
81
77
  console.warn("Missing fetcher Id. Component will not render.");
@@ -169,7 +165,10 @@ const Fetcher = React__default.memo(
169
165
  },
170
166
  children: [
171
167
  result.outcome === "failure" && /* @__PURE__ */ jsx("code", { style: { color: theme.palette.error.main }, children: /* @__PURE__ */ jsx("pre", { style: { marginTop: 0, marginBottom: 0 }, children: result.error }) }),
172
- /* @__PURE__ */ jsx(FetcherResultView, { result, ...resultAdditionalProps }),
168
+ result.format === "markdown" && /* @__PURE__ */ jsx(Markdown, { md: result.data }),
169
+ result.format === "image" && /* @__PURE__ */ jsx("img", { src: result.data.image, alt: result.data.alt, ...imageProps, onClick: () => setShowPreview(true) }),
170
+ result.format === "json" && /* @__PURE__ */ jsx(Box, { sx: { ".react-json-view": { backgroundColor: "transparent !important" } }, children: /* @__PURE__ */ jsx(JSONViewer, { data: result.data }) }),
171
+ result.format === "graph" && /* @__PURE__ */ jsx(Graph, { graph: result.data, sx: { minHeight: "600px" } }),
173
172
  /* @__PURE__ */ jsx(FlexOne, {}),
174
173
  /* @__PURE__ */ jsxs(
175
174
  Stack,
@@ -1,7 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Modal, Paper } from "@mui/material";
3
3
  import { memo } from "react";
4
- import { FetcherResultView } from "./FetcherResultView.js";
5
4
  const PreviewModal = ({ result, onClose, open = false, ...otherProps }) => {
6
5
  return /* @__PURE__ */ jsx(
7
6
  Modal,
@@ -13,7 +12,7 @@ const PreviewModal = ({ result, onClose, open = false, ...otherProps }) => {
13
12
  ],
14
13
  onClose,
15
14
  ...otherProps,
16
- children: /* @__PURE__ */ jsx(Paper, { sx: { maxHeight: "90%", maxWidth: "90%", p: 2, overflow: "auto" }, children: /* @__PURE__ */ jsx(FetcherResultView, { result }) })
15
+ children: /* @__PURE__ */ jsx(Paper, { sx: { maxHeight: "90%", maxWidth: "90%", p: 2, overflow: "auto" }, children: (result == null ? void 0 : result.format) === "image" && /* @__PURE__ */ jsx("img", { src: result.data.image, alt: result.data.alt, style: { maxWidth: "100%" } }) })
17
16
  }
18
17
  );
19
18
  };
@@ -1,5 +1,5 @@
1
1
  import { ClueGroupContext } from "../../hooks/ClueGroupContext.js";
2
- import { i as isEqual } from "../../utils-Dp6a9Q5X.js";
2
+ import { i as isEqual } from "../../utils-BN7Z0YiP.js";
3
3
  import { memo, useEffect } from "react";
4
4
  import { a as useContextSelector } from "../../index-_gpzM2Px.js";
5
5
  const Entry = ({ children, entry, selected = false }) => {
@@ -4,7 +4,7 @@ import { F as FlexOne } from "../../FlexOne-BSYAhhtG.js";
4
4
  import Iconified from "../display/icons/Iconified.js";
5
5
  import { SNACKBAR_EVENT_ID } from "../../data/event.js";
6
6
  import { ClueGroupContext } from "../../hooks/ClueGroupContext.js";
7
- import { e as useClueComponentSelector, f as useClueEnrichSelector, c as capitalize } from "../../ActionForm-bztRjYJE.js";
7
+ import { e as useClueComponentSelector, f as useClueEnrichSelector, c as capitalize } from "../../ActionForm-CzRvKiWG.js";
8
8
  import { safeDispatchEvent } from "../../utils/window.js";
9
9
  import { useState, useMemo, useCallback } from "react";
10
10
  import { a as useContextSelector } from "../../index-_gpzM2Px.js";
@@ -1,7 +1,7 @@
1
1
  import { jsxs } from "react/jsx-runtime";
2
2
  import { Stack, Typography } from "@mui/material";
3
3
  import { ClueDatabaseContext } from "../../hooks/ClueDatabaseContext.js";
4
- import { e as useClueComponentSelector, f as useClueEnrichSelector } from "../../ActionForm-bztRjYJE.js";
4
+ import { e as useClueComponentSelector, f as useClueEnrichSelector } from "../../ActionForm-CzRvKiWG.js";
5
5
  import { useContext, useState, useEffect } from "react";
6
6
  const QueryStatus = () => {
7
7
  const { t } = useClueComponentSelector((ctx) => ctx.i18next);
package/database/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { b } from "../index-CoosLLQl.js";
1
+ import { b } from "../index-VDwFWSqU.js";
2
2
  import "../utils/constants.js";
3
3
  import "./globals.js";
4
4
  import "../replication-DvYQDhM_.js";
@@ -52,7 +52,6 @@
52
52
  "enrich": "Enrich",
53
53
  "error": "Error",
54
54
  "error.unexpected": "An unexpected error occurred",
55
- "format.not.recognized": "Unable to display result. No available plugins to display returned format: `{{format}}`.",
56
55
  "graph.no.dataset": "No dataset has been selected!",
57
56
  "graph.node.input.label": "Enter a node ID, and press [ctrl + enter] to select it. [ctrl + space] will open an autocomplete menu.",
58
57
  "graph.show.more": "show more",
@@ -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-bztRjYJE.js";
3
+ import { C, a } from "../ActionForm-CzRvKiWG.js";
4
4
  import "../index-CmQM2DaO.js";
5
5
  import "../components/display/icons/Iconified.js";
6
6
  import "../components/ErrorBoundary.js";