@cccsaurora/clue-ui 1.1.0-dev.50 → 1.1.0-dev.55

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.
@@ -10,7 +10,7 @@ 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-DC2oOuBN.js";
13
- import { u as uniq } from "./ClueEnrichContext-ClpyjyIp.js";
13
+ import { u as uniq } from "./ClueEnrichContext-C4hjLcHp.js";
14
14
  import { memo, useState, useMemo, useCallback, useEffect } from "react";
15
15
  import { u as useContextSelector } from "./index-BDVjGvMI.js";
16
16
  import ExecutePopover from "./components/actions/ExecutePopover.js";
@@ -8,7 +8,7 @@ import { useState, useRef, useCallback, useEffect, useMemo } from "react";
8
8
  import { c as createContext, u as useContextSelector } from "./index-BDVjGvMI.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-nC60ZC4O.js";
11
+ import { i as isNull } from "./AnnotationDetails-fsvrH3_v.js";
12
12
  const CluePopupContext = createContext(null);
13
13
  const CluePopupProvider = ({ children }) => {
14
14
  const [popupType, setPopupType] = useState(null);
@@ -8,7 +8,7 @@ import { d as debounce } from "./debounce-bV0h5FC5.js";
8
8
  import { g as groupBy } from "./groupBy-DC2oOuBN.js";
9
9
  import { b as baseUniq } from "./_baseUniq-CpupKWcL.js";
10
10
  import { b as baseIteratee } from "./_baseIteratee-p6Nj07-n.js";
11
- import { useContext, useMemo, useState, useRef, useEffect, useCallback } from "react";
11
+ import { useContext, useState, useMemo, useCallback, useRef, useEffect } from "react";
12
12
  import { c as createContext } from "./index-BDVjGvMI.js";
13
13
  import { ClueDatabaseContext } from "./hooks/ClueDatabaseContext.js";
14
14
  import useClueConfig from "./hooks/useClueConfig.js";
@@ -89,13 +89,24 @@ const ClueEnrichProvider = ({
89
89
  customIconify: _customIconify,
90
90
  debugLogging = true
91
91
  }) => {
92
- var _a;
92
+ var _a, _b, _c, _d;
93
93
  const clueConfig = useClueConfig();
94
94
  const database = useContext(ClueDatabaseContext);
95
- const defaultClassification = useMemo(() => {
96
- var _a2, _b;
97
- return (_b = (_a2 = clueConfig.config) == null ? void 0 : _a2.c12nDef) == null ? void 0 : _b.UNRESTRICTED;
98
- }, [clueConfig.config]);
95
+ const [configuredDefaultClassification, setConfiguredDefaultClassification] = useState(null);
96
+ const defaultClassification = useMemo(
97
+ () => {
98
+ var _a2, _b2;
99
+ return configuredDefaultClassification ?? _defaultClassification ?? ((_b2 = (_a2 = clueConfig.config) == null ? void 0 : _a2.c12nDef) == null ? void 0 : _b2.RESTRICTED);
100
+ },
101
+ [_defaultClassification, (_b = (_a = clueConfig.config) == null ? void 0 : _a.c12nDef) == null ? void 0 : _b.RESTRICTED, configuredDefaultClassification]
102
+ );
103
+ const setDefaultClassification = useCallback(
104
+ (func) => {
105
+ var _a2;
106
+ return setConfiguredDefaultClassification(func((_a2 = clueConfig.config) == null ? void 0 : _a2.c12nDef));
107
+ },
108
+ [(_c = clueConfig.config) == null ? void 0 : _c.c12nDef]
109
+ );
99
110
  const [isReady, setIsReady] = useState(ready);
100
111
  const runningRequestCount = useRef(0);
101
112
  const [sources, setSources] = useState([]);
@@ -191,7 +202,7 @@ const ClueEnrichProvider = ({
191
202
  );
192
203
  const enrich = useCallback(
193
204
  async (type, value2, _options = {}) => {
194
- var _a2, _b;
205
+ var _a2, _b2;
195
206
  if (!type || !value2) {
196
207
  console.error(`Type (${type}) or value (${value2}) is empty, returning empty response`);
197
208
  return {};
@@ -222,7 +233,7 @@ const ClueEnrichProvider = ({
222
233
  };
223
234
  let statusRecord = await ((_a2 = database.status) == null ? void 0 : _a2.findOne({ selector: { ...selector } }).exec());
224
235
  if (!statusRecord) {
225
- statusRecord = await ((_b = database.status) == null ? void 0 : _b.insert({
236
+ statusRecord = await ((_b2 = database.status) == null ? void 0 : _b2.insert({
226
237
  id: v4(),
227
238
  type: selector.type,
228
239
  value: selector.value,
@@ -461,7 +472,7 @@ const ClueEnrichProvider = ({
461
472
  );
462
473
  const guessType = useCallback(
463
474
  (value2) => {
464
- var _a2, _b;
475
+ var _a2, _b2;
465
476
  if (!value2) {
466
477
  return null;
467
478
  }
@@ -471,7 +482,7 @@ const ClueEnrichProvider = ({
471
482
  return regularCheck;
472
483
  }
473
484
  const lowercased = value2.toLowerCase();
474
- const lowercaseCheck = (_b = types.find(([_type, _regexp]) => _regexp.exec(lowercased))) == null ? void 0 : _b[0];
485
+ const lowercaseCheck = (_b2 = types.find(([_type, _regexp]) => _regexp.exec(lowercased))) == null ? void 0 : _b2[0];
475
486
  if (lowercaseCheck) {
476
487
  return lowercaseCheck;
477
488
  }
@@ -493,6 +504,7 @@ const ClueEnrichProvider = ({
493
504
  guessType,
494
505
  queueEnrich,
495
506
  setCustomIconify,
507
+ setDefaultClassification,
496
508
  setReady: setIsReady,
497
509
  defaultClassification,
498
510
  ready: isReady && !!database && !!((_a2 = clueConfig.config) == null ? void 0 : _a2.c12nDef)
@@ -507,10 +519,11 @@ const ClueEnrichProvider = ({
507
519
  availableSources,
508
520
  guessType,
509
521
  queueEnrich,
522
+ setDefaultClassification,
510
523
  defaultClassification,
511
524
  isReady,
512
525
  database,
513
- (_a = clueConfig.config) == null ? void 0 : _a.c12nDef
526
+ (_d = clueConfig.config) == null ? void 0 : _d.c12nDef
514
527
  ]
515
528
  );
516
529
  return /* @__PURE__ */ jsx(ClueEnrichContext.Provider, { value, children });
@@ -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-nC60ZC4O.js";
4
+ import { A as AnnotationDetails } from "../AnnotationDetails-fsvrH3_v.js";
5
5
  const AnnotationDetailPopover = React__default.memo(({ anchorEl, enrichRequest, open, onClose, ...otherProps }) => {
6
6
  var _a, _b, _c;
7
7
  const actionRef = useRef();
@@ -10,8 +10,8 @@ import "../hooks/useErrors.js";
10
10
  import "../icons/iconMap.js";
11
11
  import "../utils/window.js";
12
12
  import "../groupBy-DC2oOuBN.js";
13
- import { A } from "../AnnotationDetails-nC60ZC4O.js";
14
- import "../ClueEnrichContext-ClpyjyIp.js";
13
+ import { A } from "../AnnotationDetails-fsvrH3_v.js";
14
+ import "../ClueEnrichContext-C4hjLcHp.js";
15
15
  import "react";
16
16
  import "../index-BDVjGvMI.js";
17
17
  import "./actions/ExecutePopover.js";
@@ -1,7 +1,7 @@
1
1
  import "react/jsx-runtime";
2
2
  import "../iconify-CXMreGTg.js";
3
3
  import "@mui/material";
4
- import { A } from "../AnnotationPreview-D4584qmN.js";
4
+ import { A } from "../AnnotationPreview-biAV6uKB.js";
5
5
  import "../hooks/useAnnotations.js";
6
6
  import "../utils-7OtvGnmf.js";
7
7
  import "react";
@@ -10,10 +10,12 @@ 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 "../ClueEnrichContext-ClpyjyIp.js";
13
+ import { u as uniq } from "../ClueEnrichContext-C4hjLcHp.js";
14
14
  import { memo, useState, useMemo, useCallback } from "react";
15
15
  import { u as useContextSelector } from "../index-BDVjGvMI.js";
16
16
  import AnnotationEntry from "./AnnotationEntry.js";
17
+ import ExecutePopover from "./actions/ExecutePopover.js";
18
+ import EnrichPopover from "./enrichment/EnrichPopover.js";
17
19
  const EnrichedCard = ({
18
20
  type,
19
21
  value,
@@ -34,6 +36,7 @@ const EnrichedCard = ({
34
36
  );
35
37
  const [annotations, loading] = useAnnotations(type, value, classification);
36
38
  const errors = useErrors(value);
39
+ const enrichRequest = { type, value, classification };
37
40
  const options = useMemo(() => ["all", ...uniq(annotations.map((annotation) => annotation.type))], [annotations]);
38
41
  const forceEnrich = useCallback(() => {
39
42
  return enrich(type, value, {
@@ -61,7 +64,7 @@ const EnrichedCard = ({
61
64
  /* @__PURE__ */ jsx(
62
65
  AssessmentIcon,
63
66
  {
64
- value: { type, value, classification },
67
+ value: enrichRequest,
65
68
  annotations,
66
69
  counters,
67
70
  fontSize: "1em",
@@ -71,7 +74,7 @@ const EnrichedCard = ({
71
74
  /* @__PURE__ */ jsx(
72
75
  OpinionIcon,
73
76
  {
74
- value: { type, value, classification },
77
+ value: enrichRequest,
75
78
  annotations,
76
79
  counters,
77
80
  fontSize: "1em",
@@ -81,7 +84,7 @@ const EnrichedCard = ({
81
84
  /* @__PURE__ */ jsx(
82
85
  ContextIcon,
83
86
  {
84
- value: { type, value, classification },
87
+ value: enrichRequest,
85
88
  annotations,
86
89
  counters,
87
90
  showExtraIcon: contextIcon,
@@ -89,7 +92,10 @@ const EnrichedCard = ({
89
92
  disableTooltip: true
90
93
  }
91
94
  ),
92
- loading && !hideLoading && /* @__PURE__ */ jsx(CircularProgress, { color: "primary", size: 18 })
95
+ loading && !hideLoading && /* @__PURE__ */ jsx(CircularProgress, { color: "primary", size: 18 }),
96
+ /* @__PURE__ */ jsx("div", { style: { flex: 1 } }),
97
+ /* @__PURE__ */ jsx(EnrichPopover, { selector: enrichRequest }),
98
+ /* @__PURE__ */ jsx(ExecutePopover, { selectors: [enrichRequest] })
93
99
  ] })
94
100
  }
95
101
  ),
@@ -3,7 +3,7 @@ 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-D4584qmN.js";
6
+ import { C as CluePopupContext } from "../AnnotationPreview-biAV6uKB.js";
7
7
  import { useClueEnrichSelector } from "../hooks/selectors.js";
8
8
  import useAnnotations from "../hooks/useAnnotations.js";
9
9
  import ActionIcon from "../icons/Action.js";
@@ -55,21 +55,15 @@ const EnrichedChip = React__default.memo(
55
55
  return options;
56
56
  }, [setForceDetails, slotProps.popover]);
57
57
  const clicker = useMemo(
58
- () => !loading ? !hideDetails || useDetailsIcon ? (e) => {
58
+ () => !hideDetails || useDetailsIcon ? (e) => {
59
59
  var _a;
60
60
  showInfo("details", anchorRef.current, { type, value, classification }, buildOptions());
61
61
  (_a = otherProps.onClick) == null ? void 0 : _a.call(otherProps, e);
62
62
  e.stopPropagation();
63
63
  e.preventDefault();
64
- } : otherProps.onClick : (
65
- // We need to give a dummy callback when loading so the popover doesn't get confused
66
- (e) => {
67
- var _a;
68
- (_a = otherProps.onClick) == null ? void 0 : _a.call(otherProps, e);
69
- }
70
- ),
64
+ } : otherProps.onClick,
71
65
  // eslint-disable-next-line react-hooks/exhaustive-deps
72
- [loading, hideDetails, useDetailsIcon, otherProps, type, value, classification]
66
+ [hideDetails, useDetailsIcon, otherProps, type, value, classification]
73
67
  );
74
68
  useEffect(() => {
75
69
  if (forceDetails) {
@@ -3,7 +3,7 @@ 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-D4584qmN.js";
6
+ import { C as CluePopupContext } from "../AnnotationPreview-biAV6uKB.js";
7
7
  import { useClueEnrichSelector } from "../hooks/selectors.js";
8
8
  import useAnnotations from "../hooks/useAnnotations.js";
9
9
  import ActionIcon from "../icons/Action.js";
@@ -29,7 +29,7 @@ const EnrichedTypography = ({
29
29
  children,
30
30
  ...otherProps
31
31
  }) => {
32
- var _a, _b, _c;
32
+ var _a, _b, _c, _d;
33
33
  const { t } = useContextSelector(ClueComponentContext, (ctx) => ctx.i18next);
34
34
  const theme = useTheme();
35
35
  const anchorRef = useRef();
@@ -57,21 +57,15 @@ const EnrichedTypography = ({
57
57
  return options;
58
58
  }, [setForceDetails, slotProps.popover]);
59
59
  const clicker = useMemo(
60
- () => !loading ? !hideDetails || useDetailsIcon ? (e) => {
60
+ () => !hideDetails || useDetailsIcon ? (e) => {
61
61
  var _a2;
62
62
  showInfo("details", anchorRef.current, { type, value, classification }, buildOptions());
63
63
  (_a2 = otherProps.onClick) == null ? void 0 : _a2.call(otherProps, e);
64
64
  e.stopPropagation();
65
65
  e.preventDefault();
66
- } : otherProps.onClick : (
67
- // We need to give a dummy callback when loading so the popover doesn't get confused
68
- (e) => {
69
- var _a2;
70
- (_a2 = otherProps.onClick) == null ? void 0 : _a2.call(otherProps, e);
71
- }
72
- ),
66
+ } : otherProps.onClick,
73
67
  // eslint-disable-next-line react-hooks/exhaustive-deps
74
- [loading, hideDetails, useDetailsIcon, otherProps, type, value, classification]
68
+ [hideDetails, useDetailsIcon, otherProps, type, value, classification]
75
69
  );
76
70
  useEffect(() => {
77
71
  if (forceDetails) {
@@ -92,6 +86,7 @@ const EnrichedTypography = ({
92
86
  spacing: 1,
93
87
  alignItems: "center",
94
88
  ...slotProps == null ? void 0 : slotProps.stack,
89
+ className: `enriched-typography ${((_a = slotProps == null ? void 0 : slotProps.stack) == null ? void 0 : _a.className) ?? ""}`.trim(),
95
90
  sx: [
96
91
  {
97
92
  cursor: !loading && !hideDetails ? "pointer" : "inherit",
@@ -101,7 +96,7 @@ const EnrichedTypography = ({
101
96
  borderBottomColor: !loading && (!hideDetails ? theme.palette.primary.light : null)
102
97
  }
103
98
  },
104
- ...Array.isArray((_a = slotProps == null ? void 0 : slotProps.stack) == null ? void 0 : _a.sx) ? (_b = slotProps == null ? void 0 : slotProps.stack) == null ? void 0 : _b.sx : [(_c = slotProps == null ? void 0 : slotProps.stack) == null ? void 0 : _c.sx]
99
+ ...Array.isArray((_b = slotProps == null ? void 0 : slotProps.stack) == null ? void 0 : _b.sx) ? (_c = slotProps == null ? void 0 : slotProps.stack) == null ? void 0 : _c.sx : [(_d = slotProps == null ? void 0 : slotProps.stack) == null ? void 0 : _d.sx]
105
100
  ],
106
101
  onClick: !useDetailsIcon ? clicker : void 0,
107
102
  children: [
@@ -5,7 +5,7 @@ import "@mui/material";
5
5
  import "../display/icons/Iconified.js";
6
6
  import "../../index-Bi21Wb23.js";
7
7
  import "../../hooks/ClueComponentContext.js";
8
- import { A } from "../../ActionForm-oiPSbHip.js";
8
+ import { A } from "../../ActionForm-BnJ5oGNK.js";
9
9
  import "../../utils-7OtvGnmf.js";
10
10
  import "react";
11
11
  import "../../index-BDVjGvMI.js";
@@ -1,7 +1,7 @@
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
3
  import { useClueComponentSelector, useClueEnrichSelector } from "../../hooks/selectors.js";
4
- import { c as capitalize } from "../../ActionForm-oiPSbHip.js";
4
+ import { c as capitalize } from "../../ActionForm-BnJ5oGNK.js";
5
5
  import { useState, useRef, useCallback, useEffect } from "react";
6
6
  import Iconified from "../display/icons/Iconified.js";
7
7
  const EnrichPopover = ({ show = false, size = "small", selector }) => {
@@ -6,7 +6,7 @@ import { SNACKBAR_EVENT_ID } from "../../data/event.js";
6
6
  import { ClueGroupContext } from "../../hooks/ClueGroupContext.js";
7
7
  import { useClueComponentSelector, useClueEnrichSelector } from "../../hooks/selectors.js";
8
8
  import { safeDispatchEvent } from "../../utils/window.js";
9
- import { c as capitalize } from "../../ActionForm-oiPSbHip.js";
9
+ import { c as capitalize } from "../../ActionForm-BnJ5oGNK.js";
10
10
  import { useState, useMemo, useCallback } from "react";
11
11
  import { u as useContextSelector } from "../../index-BDVjGvMI.js";
12
12
  import ExecutePopover from "../actions/ExecutePopover.js";
@@ -2,7 +2,7 @@ import "react/jsx-runtime";
2
2
  import "@mui/material";
3
3
  import "../index-CC12Ux-9.js";
4
4
  import "../useClueTypeConfig-HmNKKYHY.js";
5
- import { a, C } from "../ActionForm-oiPSbHip.js";
5
+ import { a, C } from "../ActionForm-BnJ5oGNK.js";
6
6
  import "../components/actions/ResultModal.js";
7
7
  import "../components/display/icons/Iconified.js";
8
8
  import "../components/ErrorBoundary.js";
@@ -2,7 +2,7 @@ import "react/jsx-runtime";
2
2
  import "../iconify-CXMreGTg.js";
3
3
  import "../useClueTypeConfig-HmNKKYHY.js";
4
4
  import "../utils/loggerUtil.js";
5
- import { C, a } from "../ClueEnrichContext-ClpyjyIp.js";
5
+ import { C, a } from "../ClueEnrichContext-C4hjLcHp.js";
6
6
  import "../debounce-bV0h5FC5.js";
7
7
  import "../groupBy-DC2oOuBN.js";
8
8
  import "react";
@@ -1,5 +1,6 @@
1
1
  import { StatusDocument } from "../database/types";
2
2
  import { BulkEnrichResponses, EnrichResponses, FailedRequest, Selector } from "../types/lookup";
3
+ import { ClassificationDefinition } from "../utils/classificationParser";
3
4
 
4
5
 
5
6
  export interface ClueEnrichContextType {
@@ -104,6 +105,12 @@ export interface ClueEnrichContextType {
104
105
  */
105
106
  setCustomIconify: (value: string) => void;
106
107
 
108
+ /**
109
+ * Set the default classification given a classification definition
110
+ * @param func the function the will return the default classification
111
+ */
112
+ setDefaultClassification: (func: (classification: ClassificationDefinition) => string) => void;
113
+
107
114
  /**
108
115
  * Is the clue context ready to enrich?
109
116
  */
@@ -1,9 +1,9 @@
1
1
  import "react/jsx-runtime";
2
2
  import "../components/AnnotationDetailPopover.js";
3
- import { C, a } from "../AnnotationPreview-D4584qmN.js";
3
+ import { C, a } from "../AnnotationPreview-biAV6uKB.js";
4
4
  import "../data/event.js";
5
5
  import "../utils/window.js";
6
- import "../AnnotationDetails-nC60ZC4O.js";
6
+ import "../AnnotationDetails-fsvrH3_v.js";
7
7
  import "react";
8
8
  import "../index-BDVjGvMI.js";
9
9
  export {
@@ -1,11 +1,11 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { C as ClueActionProvider } from "../ActionForm-oiPSbHip.js";
2
+ import { C as ClueActionProvider } from "../ActionForm-BnJ5oGNK.js";
3
3
  import { ClueComponentProvider } from "./ClueComponentContext.js";
4
4
  import { ClueConfigProvider } from "./ClueConfigProvider.js";
5
5
  import { ClueDatabaseProvider } from "./ClueDatabaseContext.js";
6
- import { a as ClueEnrichProvider } from "../ClueEnrichContext-ClpyjyIp.js";
6
+ import { a as ClueEnrichProvider } from "../ClueEnrichContext-C4hjLcHp.js";
7
7
  import { ClueFetcherProvider } from "./ClueFetcherContext.js";
8
- import { a as CluePopupProvider } from "../AnnotationPreview-D4584qmN.js";
8
+ import { a as CluePopupProvider } from "../AnnotationPreview-biAV6uKB.js";
9
9
  const ClueProvider = ({ children, ...props }) => {
10
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 }) }) }) }) }) }) });
11
11
  };
@@ -1,7 +1,7 @@
1
- import { ClueActionContextType } from './ClueActionContext';
2
- import { ClueComponentContextType } from './ClueComponentContext';
3
- import { ClueEnrichContextType } from './ClueEnrichContextType';
4
- import { ClueFetcherContextType } from './ClueFetcherContext';
1
+ import { ClueActionContextType } from "../hooks/ClueActionContext";
2
+ import { ClueComponentContextType } from "../hooks/ClueComponentContext";
3
+ import { ClueEnrichContextType } from "../hooks/ClueEnrichContextType";
4
+ import { ClueFetcherContextType } from "../hooks/ClueFetcherContext";
5
5
 
6
6
  export declare const useClueFetcherSelector: <Selected>(selector: (value: ClueFetcherContextType) => Selected) => Selected;
7
7
  export declare const useClueActionsSelector: <Selected>(selector: (value: ClueActionContextType) => Selected) => Selected;
@@ -1,8 +1,8 @@
1
- import { u as useContextSelector } from "../index-BDVjGvMI.js";
2
- import { a as ClueActionContext } from "../ActionForm-oiPSbHip.js";
1
+ import { a as ClueActionContext } from "../ActionForm-BnJ5oGNK.js";
3
2
  import { ClueComponentContext } from "./ClueComponentContext.js";
4
- import { C as ClueEnrichContext } from "../ClueEnrichContext-ClpyjyIp.js";
3
+ import { C as ClueEnrichContext } from "../ClueEnrichContext-C4hjLcHp.js";
5
4
  import { ClueFetcherContext } from "./ClueFetcherContext.js";
5
+ import { u as useContextSelector } from "../index-BDVjGvMI.js";
6
6
  const useClueFetcherSelector = (selector) => {
7
7
  return useContextSelector(ClueFetcherContext, selector);
8
8
  };
@@ -1,4 +1,4 @@
1
- import { b as uniqBy } from "../ClueEnrichContext-ClpyjyIp.js";
1
+ import { b as uniqBy } from "../ClueEnrichContext-C4hjLcHp.js";
2
2
  import { useContext, useMemo, useState, useEffect } from "react";
3
3
  import { ClueDatabaseContext } from "./ClueDatabaseContext.js";
4
4
  import { useClueEnrichSelector } from "./selectors.js";
package/hooks/useClue.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { a as useContext } from "../index-BDVjGvMI.js";
2
- import { C as ClueEnrichContext } from "../ClueEnrichContext-ClpyjyIp.js";
2
+ import { C as ClueEnrichContext } from "../ClueEnrichContext-C4hjLcHp.js";
3
3
  const useClue = () => {
4
4
  return useContext(ClueEnrichContext);
5
5
  };
@@ -1,4 +1,4 @@
1
- import { ClueActionContextType } from './ClueActionContext';
1
+ import { ClueActionContextType } from "../hooks/ClueActionContext";
2
2
 
3
3
  declare const useClueActions: () => ClueActionContextType;
4
4
  export default useClueActions;
@@ -1,5 +1,5 @@
1
+ import { u } from "../ActionForm-BnJ5oGNK.js";
1
2
  import "../index-BDVjGvMI.js";
2
- import { u } from "../ActionForm-oiPSbHip.js";
3
3
  export {
4
4
  u as default
5
5
  };
package/icons/Action.js CHANGED
@@ -2,8 +2,8 @@ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { I as Icon } from "../iconify-CXMreGTg.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-D4584qmN.js";
6
- import { u as useClueActions } from "../ActionForm-oiPSbHip.js";
5
+ import { C as CluePopupContext } from "../AnnotationPreview-biAV6uKB.js";
6
+ import { u as useClueActions } from "../ActionForm-BnJ5oGNK.js";
7
7
  import { g as groupBy } from "../groupBy-DC2oOuBN.js";
8
8
  import { memo, useRef, useMemo, useEffect } from "react";
9
9
  import { u as useContextSelector } from "../index-BDVjGvMI.js";
@@ -2,7 +2,7 @@ import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
2
  import { I as Icon } from "../iconify-CXMreGTg.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-D4584qmN.js";
5
+ import { C as CluePopupContext } from "../AnnotationPreview-biAV6uKB.js";
6
6
  import { g as groupBy } from "../groupBy-DC2oOuBN.js";
7
7
  import { l as last } from "../last-CUCl67Im.js";
8
8
  import { m as maxBy, s as sortBy } from "../sortBy-B-UKp4GT.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-D4584qmN.js";
7
+ import { C as CluePopupContext } from "../AnnotationPreview-biAV6uKB.js";
8
8
  import { g as groupBy } from "../groupBy-DC2oOuBN.js";
9
9
  import { memo, useRef, useMemo, useEffect } from "react";
10
10
  import { u as useContextSelector } from "../index-BDVjGvMI.js";
package/icons/Opinion.js CHANGED
@@ -2,7 +2,7 @@ import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
2
  import { I as Icon } from "../iconify-CXMreGTg.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-D4584qmN.js";
5
+ import { C as CluePopupContext } from "../AnnotationPreview-biAV6uKB.js";
6
6
  import chain from "../utils/chain.js";
7
7
  import { g as groupBy } from "../groupBy-DC2oOuBN.js";
8
8
  import { s as sortBy } from "../sortBy-B-UKp4GT.js";
package/main.d.ts CHANGED
@@ -23,7 +23,7 @@ import { default as SourcePicker } from './components/SourcePicker';
23
23
  import { SNACKBAR_EVENT_ID, SnackbarEvents } from './data/event';
24
24
  import { default as buildDatabase } from './database';
25
25
  import { ClueComponentContext } from './hooks/ClueComponentContext';
26
- import { ClueConfigContextProps } from './hooks/ClueConfigProvider';
26
+ import { ClueConfigContextProps, ClueConfigContext } from './hooks/ClueConfigProvider';
27
27
  import { ClueDatabaseContext, ClueDatabaseContextProps } from './hooks/ClueDatabaseContext';
28
28
  import { ClueEnrichContext } from './hooks/ClueEnrichContext';
29
29
  import { CluePopupContext } from './hooks/CluePopupContext';
@@ -31,11 +31,12 @@ import { ClueProvider } from './hooks/ClueProvider';
31
31
  import { useClueActionsSelector, useClueEnrichSelector, useClueFetcherSelector } from './hooks/selectors';
32
32
  import { default as useClue } from './hooks/useClue';
33
33
  import { default as useClueActions } from './hooks/useClueActions';
34
+ import { default as useClueConfig } from './hooks/useClueConfig';
34
35
  import { default as AssessmentIcon } from './icons/Assessment';
35
36
  import { default as ContextIcon } from './icons/Context';
36
37
  import { default as OpinionIcon } from './icons/Opinion';
37
38
  import { default as FrequencyText } from './text/Frequency';
38
39
 
39
- export { ActionForm, AnnotationDetailPopover, AnnotationDetails, AnnotationEntry, AnnotationPreview, AssessmentIcon, buildDatabase, ClueComponentContext, ClueDatabaseContext, ClueEnrichContext, CluePopupContext, ClueProvider, ContextIcon, CountBadge, EnrichedCard, EnrichedChip, EnrichedTypography, Entry, Fetcher, FrequencyText, Group, GroupControl, OpinionIcon, SNACKBAR_EVENT_ID, SourcePicker, StatusChip, useClue, useClueActions, useClueActionsSelector, useClueEnrichSelector, useClueFetcherSelector };
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 };
40
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 };
41
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, u } from "./ActionForm-oiPSbHip.js";
1
+ import { A, u } from "./ActionForm-BnJ5oGNK.js";
2
2
  import { default as default2 } from "./components/AnnotationDetailPopover.js";
3
- import { A as A2 } from "./AnnotationDetails-nC60ZC4O.js";
3
+ import { A as A2 } from "./AnnotationDetails-fsvrH3_v.js";
4
4
  import { default as default3 } from "./components/AnnotationEntry.js";
5
- import { A as A3, C } from "./AnnotationPreview-D4584qmN.js";
5
+ import { A as A3, C } from "./AnnotationPreview-biAV6uKB.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";
@@ -16,38 +16,41 @@ import { default as default13 } from "./components/SourcePicker.js";
16
16
  import { SNACKBAR_EVENT_ID } from "./data/event.js";
17
17
  import { b } from "./index-CC12Ux-9.js";
18
18
  import { ClueComponentContext } from "./hooks/ClueComponentContext.js";
19
+ import { ClueConfigContext } from "./hooks/ClueConfigProvider.js";
19
20
  import { ClueDatabaseContext } from "./hooks/ClueDatabaseContext.js";
20
- import { C as C2 } from "./ClueEnrichContext-ClpyjyIp.js";
21
+ import { C as C2 } from "./ClueEnrichContext-C4hjLcHp.js";
21
22
  import { ClueProvider } from "./hooks/ClueProvider.js";
22
23
  import { useClueActionsSelector, useClueEnrichSelector, useClueFetcherSelector } from "./hooks/selectors.js";
23
24
  import { default as default14 } from "./hooks/useClue.js";
24
- import { default as default15 } from "./icons/Assessment.js";
25
- import { default as default16 } from "./icons/Context.js";
26
- import { default as default17 } from "./icons/Opinion.js";
27
- import { default as default18 } from "./text/Frequency.js";
25
+ import { default as default15 } from "./hooks/useClueConfig.js";
26
+ import { default as default16 } from "./icons/Assessment.js";
27
+ import { default as default17 } from "./icons/Context.js";
28
+ import { default as default18 } from "./icons/Opinion.js";
29
+ import { default as default19 } from "./text/Frequency.js";
28
30
  export {
29
31
  A as ActionForm,
30
32
  default2 as AnnotationDetailPopover,
31
33
  A2 as AnnotationDetails,
32
34
  default3 as AnnotationEntry,
33
35
  A3 as AnnotationPreview,
34
- default15 as AssessmentIcon,
36
+ default16 as AssessmentIcon,
35
37
  ClueComponentContext,
38
+ ClueConfigContext,
36
39
  ClueDatabaseContext,
37
40
  C2 as ClueEnrichContext,
38
41
  C as CluePopupContext,
39
42
  ClueProvider,
40
- default16 as ContextIcon,
43
+ default17 as ContextIcon,
41
44
  default4 as CountBadge,
42
45
  default5 as EnrichedCard,
43
46
  default6 as EnrichedChip,
44
47
  default7 as EnrichedTypography,
45
48
  default10 as Entry,
46
49
  default8 as Fetcher,
47
- default18 as FrequencyText,
50
+ default19 as FrequencyText,
48
51
  default11 as Group,
49
52
  default12 as GroupControl,
50
- default17 as OpinionIcon,
53
+ default18 as OpinionIcon,
51
54
  SNACKBAR_EVENT_ID,
52
55
  default13 as SourcePicker,
53
56
  default9 as StatusChip,
@@ -55,6 +58,7 @@ export {
55
58
  default14 as useClue,
56
59
  u as useClueActions,
57
60
  useClueActionsSelector,
61
+ default15 as useClueConfig,
58
62
  useClueEnrichSelector,
59
63
  useClueFetcherSelector
60
64
  };
package/package.json CHANGED
@@ -63,7 +63,7 @@
63
63
  },
64
64
  "type": "module",
65
65
  "types": "main.d.ts",
66
- "version": "1.1.0-dev.50",
66
+ "version": "1.1.0-dev.55",
67
67
  "exports": {
68
68
  ".": "./main.js",
69
69
  "./index.css": "./index.css",
package/types/config.d.ts CHANGED
@@ -1,3 +1,6 @@
1
+ import { ClassificationDefinition } from "../utils/classificationParser";
2
+
3
+
1
4
  export interface ApiType {
2
5
  configuration: {
3
6
  auth: {
@@ -12,5 +15,5 @@ export interface ApiType {
12
15
  apps: any[];
13
16
  };
14
17
  };
15
- c12nDef: any;
18
+ c12nDef: ClassificationDefinition;
16
19
  }
@@ -5,13 +5,13 @@ import { Stack, Typography, IconButton, Modal, Paper, Box, Button, Divider, Circ
5
5
  import Iconified from "./components/display/icons/Iconified.js";
6
6
  import { J as JSONViewer } from "./index-Bi21Wb23.js";
7
7
  import { ClueComponentContext } from "./hooks/ClueComponentContext.js";
8
- import { c as createContext, u as useContextSelector, a as useContext } from "./index-BDVjGvMI.js";
9
8
  import { A as Ajv } from "./index-CC12Ux-9.js";
10
9
  import { a as api } from "./useClueTypeConfig-HmNKKYHY.js";
11
10
  import { d as toString } from "./_baseGet-BSK_nnoz.js";
12
11
  import { b as baseSlice } from "./_baseSlice-GAv_YFTT.js";
13
12
  import { i as isEqual } from "./utils-7OtvGnmf.js";
14
13
  import { useState, useCallback, useEffect, useMemo, memo } from "react";
14
+ import { c as createContext, u as useContextSelector, a as useContext } from "./index-BDVjGvMI.js";
15
15
  import ErrorBoundary from "./components/ErrorBoundary.js";
16
16
  import { adaptSchema } from "./components/actions/form/schemaAdapter.js";
17
17
  import ResultModal from "./components/actions/ResultModal.js";