@cccsaurora/clue-ui 1.0.1-dev.59 → 1.0.1-dev.65

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 (44) hide show
  1. package/{ActionForm-BhNfglpS.js → ActionForm-D4ryHO0M.js} +5 -5
  2. package/AnnotationDetails-C_P001d3.js +175 -0
  3. package/{AnnotationPreview-BvNpZOP0.js → AnnotationPreview-BOpYuxD1.js} +2 -2
  4. package/{ClueEnrichContext-q3taywEp.js → ClueEnrichContext-DmhtfJg_.js} +6 -6
  5. package/api/lookup/enrich.d.ts +3 -3
  6. package/components/AnnotationDetailPopover.js +1 -1
  7. package/components/AnnotationDetails.js +21 -170
  8. package/components/AnnotationEntry.js +1 -1
  9. package/components/AnnotationPreview.js +2 -2
  10. package/components/EnrichedCard.js +1 -1
  11. package/components/EnrichedChip.js +1 -1
  12. package/components/EnrichedTypography.js +1 -1
  13. package/components/actions/ActionForm.js +3 -3
  14. package/components/actions/ResultModal.js +1 -1
  15. package/components/display/graph/elements/NodeCard.js +2 -2
  16. package/components/display/graph/index.js +1 -1
  17. package/components/display/json/index.js +2 -2
  18. package/components/enrichment/EnrichPopover.js +1 -1
  19. package/components/fetchers/Fetcher.js +1 -1
  20. package/components/group/Entry.js +1 -1
  21. package/components/group/GroupControl.js +1 -1
  22. package/hooks/ClueActionContext.js +2 -2
  23. package/hooks/ClueEnrichContext.js +4 -4
  24. package/hooks/ClueFetcherContext.js +1 -1
  25. package/hooks/CluePopupContext.js +2 -2
  26. package/hooks/ClueProvider.js +3 -3
  27. package/hooks/selectors.js +2 -2
  28. package/hooks/useClue.js +1 -1
  29. package/hooks/useClueActions.js +1 -1
  30. package/hooks/useClueTypeConfig.d.ts +2 -1
  31. package/hooks/useClueTypeConfig.js +2 -2
  32. package/hooks/useMyLocalStorage.js +2 -2
  33. package/icons/Action.js +3 -3
  34. package/icons/Assessment.js +5 -5
  35. package/icons/Context.js +2 -2
  36. package/icons/Opinion.js +4 -4
  37. package/{index-BDrtH5ec.js → index-BMxyILVD.js} +1 -1
  38. package/main.js +38 -38
  39. package/package.json +1 -1
  40. package/text/Frequency.js +5 -5
  41. package/{useClueTypeConfig-BUwjNvm4.js → useClueTypeConfig-CH-nGq6a.js} +7 -7
  42. package/utils/utils.js +2 -2
  43. package/isUndefined-CE8h73dH.js +0 -10
  44. package/{utils-CxIhC2xH.js → utils-Dr4wbKBZ.js} +2 -2
@@ -3,17 +3,17 @@ import { materialRenderers, materialCells } from "@jsonforms/material-renderers"
3
3
  import { JsonForms } from "@jsonforms/react";
4
4
  import { Stack, Typography, IconButton, Modal, Paper, Box, Button, Divider, CircularProgress, Collapse } from "@mui/material";
5
5
  import Iconified from "./components/display/icons/Iconified.js";
6
- import { J as JSONViewer } from "./index-BDrtH5ec.js";
6
+ import { J as JSONViewer } from "./index-BMxyILVD.js";
7
7
  import { ClueComponentContext } from "./hooks/ClueComponentContext.js";
8
8
  import { c as createContext, u as useContextSelector, a as useContext } from "./index-BDVjGvMI.js";
9
9
  import { A as Ajv } from "./index-Dz1kF2MU.js";
10
- import { a as api } from "./useClueTypeConfig-BUwjNvm4.js";
10
+ import { a as api } from "./useClueTypeConfig-CH-nGq6a.js";
11
+ import { d as toString } from "./_baseGet-BSK_nnoz.js";
12
+ import { b as baseSlice } from "./_baseSlice-GAv_YFTT.js";
13
+ import { i as isEqual } from "./utils-Dr4wbKBZ.js";
11
14
  import { useState, useCallback, useEffect, useMemo, memo } from "react";
12
15
  import ErrorBoundary from "./components/ErrorBoundary.js";
13
16
  import { adaptSchema } from "./components/actions/form/schemaAdapter.js";
14
- import { d as toString } from "./_baseGet-BSK_nnoz.js";
15
- import { b as baseSlice } from "./_baseSlice-GAv_YFTT.js";
16
- import { i as isEqual } from "./utils-CxIhC2xH.js";
17
17
  import ResultModal from "./components/actions/ResultModal.js";
18
18
  import { SNACKBAR_EVENT_ID } from "./data/event.js";
19
19
  import { safeDispatchEvent } from "./utils/window.js";
@@ -0,0 +1,175 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { I as Icon } from "./iconify-CXMreGTg.js";
3
+ import { useTheme, Stack, Typography, Tooltip, Box, IconButton, CircularProgress, Chip, Accordion, AccordionSummary, AccordionDetails, Divider } from "@mui/material";
4
+ import Iconified from "./components/display/icons/Iconified.js";
5
+ import { SNACKBAR_EVENT_ID } from "./data/event.js";
6
+ import { ClueComponentContext } from "./hooks/ClueComponentContext.js";
7
+ import { useClueEnrichSelector } from "./hooks/selectors.js";
8
+ import useAnnotations from "./hooks/useAnnotations.js";
9
+ import useErrors from "./hooks/useErrors.js";
10
+ import { ICON_MAP } from "./icons/iconMap.js";
11
+ import { safeDispatchEvent } from "./utils/window.js";
12
+ import { g as groupBy } from "./groupBy-DC2oOuBN.js";
13
+ import { u as uniq } from "./ClueEnrichContext-DmhtfJg_.js";
14
+ import { memo, useState, useMemo, useCallback, useEffect } from "react";
15
+ import { u as useContextSelector } from "./index-BDVjGvMI.js";
16
+ import ExecutePopover from "./components/actions/ExecutePopover.js";
17
+ import AnnotationEntry from "./components/AnnotationEntry.js";
18
+ import ClassificationChip from "./components/ClassificationChip.js";
19
+ import EnrichPopover from "./components/enrichment/EnrichPopover.js";
20
+ function isNull(value) {
21
+ return value === null;
22
+ }
23
+ const AnnotationDetails = ({ enrichRequest, setReady, updatePosition }) => {
24
+ const theme = useTheme();
25
+ const { t } = useContextSelector(ClueComponentContext, (ctx) => ctx.i18next);
26
+ const [filter, setFilter] = useState("all");
27
+ const enrich = useClueEnrichSelector((state) => state.enrich);
28
+ const [annotations, loading] = useAnnotations(
29
+ enrichRequest == null ? void 0 : enrichRequest.type,
30
+ enrichRequest == null ? void 0 : enrichRequest.value,
31
+ enrichRequest == null ? void 0 : enrichRequest.classification,
32
+ { skipEnrichment: true }
33
+ );
34
+ const errors = useErrors(enrichRequest == null ? void 0 : enrichRequest.value);
35
+ const options = useMemo(
36
+ () => ["all", ...uniq((annotations ?? []).map((annotation) => annotation.type))],
37
+ [annotations]
38
+ );
39
+ const annotationsByType = useMemo(() => groupBy(annotations ?? [], "type"), [annotations]);
40
+ const forceEnrich = useCallback(async () => {
41
+ await enrich(enrichRequest.type, enrichRequest.value, {
42
+ classification: enrichRequest.classification,
43
+ timeout: 15,
44
+ force: true
45
+ });
46
+ }, [enrichRequest, enrich]);
47
+ useEffect(() => {
48
+ if (!setReady) {
49
+ return;
50
+ }
51
+ setReady(enrichRequest && !isNull(annotations));
52
+ updatePosition == null ? void 0 : updatePosition();
53
+ }, [annotations, enrichRequest, setReady, updatePosition]);
54
+ return enrichRequest && !isNull(annotations) && /* @__PURE__ */ jsxs(Stack, { direction: "column", sx: { p: 1, width: "100%" }, spacing: 1, children: [
55
+ /* @__PURE__ */ jsxs(Stack, { spacing: 1, children: [
56
+ /* @__PURE__ */ jsxs(Stack, { direction: "row", spacing: 1, children: [
57
+ /* @__PURE__ */ jsxs(Stack, { children: [
58
+ /* @__PURE__ */ jsxs(Stack, { direction: "row", spacing: 1, children: [
59
+ /* @__PURE__ */ jsx(Typography, { variant: "body1", fontWeight: "bold", children: "Clue" }),
60
+ enrichRequest.classification && /* @__PURE__ */ jsx(ClassificationChip, { size: "small", classification: enrichRequest.classification })
61
+ ] }),
62
+ /* @__PURE__ */ jsxs(Typography, { variant: "caption", color: "text.secondary", children: [
63
+ enrichRequest.type.toLocaleUpperCase(),
64
+ " ",
65
+ t("enrichment")
66
+ ] })
67
+ ] }),
68
+ /* @__PURE__ */ jsx("div", { style: { flex: 1 } }),
69
+ /* @__PURE__ */ jsx(Tooltip, { title: t("refresh"), children: /* @__PURE__ */ jsx(Box, { sx: { alignSelf: "center", m: -1 }, children: /* @__PURE__ */ jsx(IconButton, { onClick: () => forceEnrich(), disabled: loading, children: loading ? /* @__PURE__ */ jsx(CircularProgress, { variant: "indeterminate", size: 20 }) : /* @__PURE__ */ jsx(Iconified, { icon: "ic:baseline-replay", fontSize: "small" }) }) }) }),
70
+ /* @__PURE__ */ jsx(Tooltip, { title: t("clipboard"), children: /* @__PURE__ */ jsx(
71
+ IconButton,
72
+ {
73
+ sx: { alignSelf: "center", m: -1 },
74
+ onClick: () => {
75
+ navigator.clipboard.writeText(enrichRequest.value);
76
+ safeDispatchEvent(
77
+ new CustomEvent(SNACKBAR_EVENT_ID, {
78
+ detail: {
79
+ message: `${enrichRequest.value} ${t("clipboard.success")}`,
80
+ level: "success"
81
+ }
82
+ })
83
+ );
84
+ },
85
+ children: /* @__PURE__ */ jsx(Iconified, { icon: "ic:outline-assignment", fontSize: "small" })
86
+ }
87
+ ) }),
88
+ /* @__PURE__ */ jsx(EnrichPopover, { selector: enrichRequest }),
89
+ /* @__PURE__ */ jsx(ExecutePopover, { selectors: [enrichRequest] })
90
+ ] }),
91
+ /* @__PURE__ */ jsxs(Stack, { direction: "row", spacing: 0.5, children: [
92
+ options.map((opt, id) => /* @__PURE__ */ jsx(
93
+ Chip,
94
+ {
95
+ size: "small",
96
+ variant: opt === filter ? "filled" : "outlined",
97
+ icon: ICON_MAP[opt] && /* @__PURE__ */ jsx(Icon, { icon: ICON_MAP[opt] }),
98
+ label: /* @__PURE__ */ jsxs(Typography, { variant: "caption", textTransform: "capitalize", children: [
99
+ opt,
100
+ ":",
101
+ " ",
102
+ opt === "all" ? annotations.length : annotations.filter((annotation) => annotation.type === opt).length
103
+ ] }),
104
+ onClick: () => setFilter(opt)
105
+ },
106
+ id
107
+ )),
108
+ (errors == null ? void 0 : errors.length) > 0 && /* @__PURE__ */ jsx(
109
+ Tooltip,
110
+ {
111
+ title: /* @__PURE__ */ jsx("div", { onClick: (e) => e.stopPropagation(), children: errors.map((err, err_id) => /* @__PURE__ */ jsxs("div", { children: [
112
+ /* @__PURE__ */ jsx("span", { style: { textTransform: "capitalize" }, children: err.source.replace(/-/g, " ") }),
113
+ ":",
114
+ " ",
115
+ err.message
116
+ ] }, err_id)) }),
117
+ children: /* @__PURE__ */ jsx(
118
+ Chip,
119
+ {
120
+ size: "small",
121
+ variant: "outlined",
122
+ icon: /* @__PURE__ */ jsx(Icon, { icon: "material-symbols:timer-outline", color: theme.palette.error.main }),
123
+ label: /* @__PURE__ */ jsxs(Typography, { variant: "caption", textTransform: "capitalize", children: [
124
+ t("annotation.failed"),
125
+ ": ",
126
+ errors.length
127
+ ] }),
128
+ onClick: forceEnrich
129
+ }
130
+ )
131
+ }
132
+ )
133
+ ] })
134
+ ] }),
135
+ /* @__PURE__ */ jsx(Box, {}),
136
+ Object.keys(annotationsByType).filter((type) => !filter || filter === "all" || type === filter).map((type, id) => /* @__PURE__ */ jsxs(
137
+ Accordion,
138
+ {
139
+ defaultExpanded: true,
140
+ sx: {
141
+ marginTop: `${theme.spacing(1)} !important`,
142
+ marginBottom: "0 !important",
143
+ "&:before": { height: 0 }
144
+ },
145
+ children: [
146
+ filter === "all" && /* @__PURE__ */ jsx(
147
+ AccordionSummary,
148
+ {
149
+ expandIcon: /* @__PURE__ */ jsx(Iconified, { icon: "ic:baseline-arrow-drop-down" }),
150
+ sx: {
151
+ minHeight: "initial !important",
152
+ mt: 0.5,
153
+ mb: 0,
154
+ px: 1,
155
+ "& .MuiAccordionSummary-content": { my: 0.5, mx: 0 },
156
+ "& .MuiAccordionSummary-content.Mui-expanded": { my: 0.5, mx: 0 }
157
+ },
158
+ children: /* @__PURE__ */ jsx(Typography, { variant: "body1", textTransform: "capitalize", children: type }, type)
159
+ }
160
+ ),
161
+ /* @__PURE__ */ jsxs(AccordionDetails, { sx: { px: 1 }, children: [
162
+ filter === "all" && /* @__PURE__ */ jsx(Divider, { orientation: "horizontal", sx: { mb: 1 } }),
163
+ /* @__PURE__ */ jsx(Stack, { spacing: 1, divider: /* @__PURE__ */ jsx(Divider, { orientation: "horizontal", flexItem: true }), children: annotationsByType[type].map((annotation, ann_id) => /* @__PURE__ */ jsx(AnnotationEntry, { annotation }, ann_id)) })
164
+ ] })
165
+ ]
166
+ },
167
+ id
168
+ ))
169
+ ] });
170
+ };
171
+ const AnnotationDetails$1 = memo(AnnotationDetails);
172
+ export {
173
+ AnnotationDetails$1 as A,
174
+ isNull as i
175
+ };
@@ -3,12 +3,12 @@ import { I as Icon } from "./iconify-CXMreGTg.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-CxIhC2xH.js";
6
+ import { t as twitterShort } from "./utils-Dr4wbKBZ.js";
7
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 "./isUndefined-CE8h73dH.js";
11
+ import { i as isNull } from "./AnnotationDetails-C_P001d3.js";
12
12
  const CluePopupContext = createContext(null);
13
13
  const CluePopupProvider = ({ children }) => {
14
14
  const [popupType, setPopupType] = useState(null);
@@ -1,16 +1,16 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { a as addAPIProvider } from "./iconify-CXMreGTg.js";
3
- import { u as useClueTypeConfig, a as api, p as post } from "./useClueTypeConfig-BUwjNvm4.js";
3
+ import { u as useClueTypeConfig, a as api, p as post } from "./useClueTypeConfig-CH-nGq6a.js";
4
4
  import { clueDebugLogger } from "./utils/loggerUtil.js";
5
+ import { b as baseSlice } from "./_baseSlice-GAv_YFTT.js";
6
+ import { t as toFinite } from "./toFinite-Bc55msYj.js";
7
+ import { d as debounce } from "./debounce-bV0h5FC5.js";
8
+ import { g as groupBy } from "./groupBy-DC2oOuBN.js";
9
+ import { b as baseUniq } from "./_baseUniq-CpupKWcL.js";
5
10
  import { useContext, useMemo, useState, useRef, useEffect, useCallback } from "react";
6
11
  import { c as createContext } from "./index-BDVjGvMI.js";
7
12
  import { ClueDatabaseContext } from "./hooks/ClueDatabaseContext.js";
8
13
  import useClueConfig from "./hooks/useClueConfig.js";
9
- import { g as groupBy } from "./groupBy-DC2oOuBN.js";
10
- import { b as baseUniq } from "./_baseUniq-CpupKWcL.js";
11
- import { d as debounce } from "./debounce-bV0h5FC5.js";
12
- import { b as baseSlice } from "./_baseSlice-GAv_YFTT.js";
13
- import { t as toFinite } from "./toFinite-Bc55msYj.js";
14
14
  function toInteger(value) {
15
15
  var result = toFinite(value), remainder = result % 1;
16
16
  return result === result ? remainder ? result - remainder : result : 0;
@@ -1,10 +1,10 @@
1
1
  import { AxiosRequestConfig } from 'axios';
2
2
  import { BulkEnrichResponses, Selector } from "../../types/lookup";
3
3
 
4
- export declare function uri(): string;
5
- export declare function post(bulkData: Selector[], sources?: string[], options?: {
4
+ export declare const uri: () => string;
5
+ export declare const post: (bulkData: Selector[], sources?: string[], options?: {
6
6
  classification?: string;
7
7
  timeout?: number;
8
8
  includeRaw?: boolean;
9
9
  noCache?: boolean;
10
- }, config?: AxiosRequestConfig): Promise<BulkEnrichResponses>;
10
+ }, config?: AxiosRequestConfig) => Promise<BulkEnrichResponses>;
@@ -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 AnnotationDetails from "./AnnotationDetails.js";
4
+ import { A as AnnotationDetails } from "../AnnotationDetails-C_P001d3.js";
5
5
  const AnnotationDetailPopover = React__default.memo(({ anchorEl, enrichRequest, open, onClose, ...otherProps }) => {
6
6
  var _a, _b, _c;
7
7
  const actionRef = useRef();
@@ -1,172 +1,23 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { I as Icon } from "../iconify-CXMreGTg.js";
3
- import { useTheme, Stack, Typography, Tooltip, Box, IconButton, CircularProgress, Chip, Accordion, AccordionSummary, AccordionDetails, Divider } from "@mui/material";
4
- import Iconified from "./display/icons/Iconified.js";
5
- import { SNACKBAR_EVENT_ID } from "../data/event.js";
6
- import { ClueComponentContext } from "../hooks/ClueComponentContext.js";
7
- import { useClueEnrichSelector } from "../hooks/selectors.js";
8
- import useAnnotations from "../hooks/useAnnotations.js";
9
- import useErrors from "../hooks/useErrors.js";
10
- import { ICON_MAP } from "../icons/iconMap.js";
11
- import { safeDispatchEvent } from "../utils/window.js";
12
- import { memo, useState, useMemo, useCallback, useEffect } from "react";
13
- import { u as useContextSelector } from "../index-BDVjGvMI.js";
14
- import ExecutePopover from "./actions/ExecutePopover.js";
15
- import AnnotationEntry from "./AnnotationEntry.js";
16
- import ClassificationChip from "./ClassificationChip.js";
17
- import EnrichPopover from "./enrichment/EnrichPopover.js";
18
- import { u as uniq } from "../ClueEnrichContext-q3taywEp.js";
19
- import { g as groupBy } from "../groupBy-DC2oOuBN.js";
20
- import { i as isNull } from "../isUndefined-CE8h73dH.js";
21
- const AnnotationDetails = ({ enrichRequest, setReady, updatePosition }) => {
22
- const theme = useTheme();
23
- const { t } = useContextSelector(ClueComponentContext, (ctx) => ctx.i18next);
24
- const [filter, setFilter] = useState("all");
25
- const enrich = useClueEnrichSelector((state) => state.enrich);
26
- const [annotations, loading] = useAnnotations(
27
- enrichRequest == null ? void 0 : enrichRequest.type,
28
- enrichRequest == null ? void 0 : enrichRequest.value,
29
- enrichRequest == null ? void 0 : enrichRequest.classification,
30
- { skipEnrichment: true }
31
- );
32
- const errors = useErrors(enrichRequest == null ? void 0 : enrichRequest.value);
33
- const options = useMemo(
34
- () => ["all", ...uniq((annotations ?? []).map((annotation) => annotation.type))],
35
- [annotations]
36
- );
37
- const annotationsByType = useMemo(() => groupBy(annotations ?? [], "type"), [annotations]);
38
- const forceEnrich = useCallback(async () => {
39
- await enrich(enrichRequest.type, enrichRequest.value, {
40
- classification: enrichRequest.classification,
41
- timeout: 15,
42
- force: true
43
- });
44
- }, [enrichRequest, enrich]);
45
- useEffect(() => {
46
- if (!setReady) {
47
- return;
48
- }
49
- setReady(enrichRequest && !isNull(annotations));
50
- updatePosition == null ? void 0 : updatePosition();
51
- }, [annotations, enrichRequest, setReady, updatePosition]);
52
- return enrichRequest && !isNull(annotations) && /* @__PURE__ */ jsxs(Stack, { direction: "column", sx: { p: 1, width: "100%" }, spacing: 1, children: [
53
- /* @__PURE__ */ jsxs(Stack, { spacing: 1, children: [
54
- /* @__PURE__ */ jsxs(Stack, { direction: "row", spacing: 1, children: [
55
- /* @__PURE__ */ jsxs(Stack, { children: [
56
- /* @__PURE__ */ jsxs(Stack, { direction: "row", spacing: 1, children: [
57
- /* @__PURE__ */ jsx(Typography, { variant: "body1", fontWeight: "bold", children: "Clue" }),
58
- enrichRequest.classification && /* @__PURE__ */ jsx(ClassificationChip, { size: "small", classification: enrichRequest.classification })
59
- ] }),
60
- /* @__PURE__ */ jsxs(Typography, { variant: "caption", color: "text.secondary", children: [
61
- enrichRequest.type.toLocaleUpperCase(),
62
- " ",
63
- t("enrichment")
64
- ] })
65
- ] }),
66
- /* @__PURE__ */ jsx("div", { style: { flex: 1 } }),
67
- /* @__PURE__ */ jsx(Tooltip, { title: t("refresh"), children: /* @__PURE__ */ jsx(Box, { sx: { alignSelf: "center", m: -1 }, children: /* @__PURE__ */ jsx(IconButton, { onClick: () => forceEnrich(), disabled: loading, children: loading ? /* @__PURE__ */ jsx(CircularProgress, { variant: "indeterminate", size: 20 }) : /* @__PURE__ */ jsx(Iconified, { icon: "ic:baseline-replay", fontSize: "small" }) }) }) }),
68
- /* @__PURE__ */ jsx(Tooltip, { title: t("clipboard"), children: /* @__PURE__ */ jsx(
69
- IconButton,
70
- {
71
- sx: { alignSelf: "center", m: -1 },
72
- onClick: () => {
73
- navigator.clipboard.writeText(enrichRequest.value);
74
- safeDispatchEvent(
75
- new CustomEvent(SNACKBAR_EVENT_ID, {
76
- detail: {
77
- message: `${enrichRequest.value} ${t("clipboard.success")}`,
78
- level: "success"
79
- }
80
- })
81
- );
82
- },
83
- children: /* @__PURE__ */ jsx(Iconified, { icon: "ic:outline-assignment", fontSize: "small" })
84
- }
85
- ) }),
86
- /* @__PURE__ */ jsx(EnrichPopover, { selector: enrichRequest }),
87
- /* @__PURE__ */ jsx(ExecutePopover, { selectors: [enrichRequest] })
88
- ] }),
89
- /* @__PURE__ */ jsxs(Stack, { direction: "row", spacing: 0.5, children: [
90
- options.map((opt, id) => /* @__PURE__ */ jsx(
91
- Chip,
92
- {
93
- size: "small",
94
- variant: opt === filter ? "filled" : "outlined",
95
- icon: ICON_MAP[opt] && /* @__PURE__ */ jsx(Icon, { icon: ICON_MAP[opt] }),
96
- label: /* @__PURE__ */ jsxs(Typography, { variant: "caption", textTransform: "capitalize", children: [
97
- opt,
98
- ":",
99
- " ",
100
- opt === "all" ? annotations.length : annotations.filter((annotation) => annotation.type === opt).length
101
- ] }),
102
- onClick: () => setFilter(opt)
103
- },
104
- id
105
- )),
106
- (errors == null ? void 0 : errors.length) > 0 && /* @__PURE__ */ jsx(
107
- Tooltip,
108
- {
109
- title: /* @__PURE__ */ jsx("div", { onClick: (e) => e.stopPropagation(), children: errors.map((err, err_id) => /* @__PURE__ */ jsxs("div", { children: [
110
- /* @__PURE__ */ jsx("span", { style: { textTransform: "capitalize" }, children: err.source.replace(/-/g, " ") }),
111
- ":",
112
- " ",
113
- err.message
114
- ] }, err_id)) }),
115
- children: /* @__PURE__ */ jsx(
116
- Chip,
117
- {
118
- size: "small",
119
- variant: "outlined",
120
- icon: /* @__PURE__ */ jsx(Icon, { icon: "material-symbols:timer-outline", color: theme.palette.error.main }),
121
- label: /* @__PURE__ */ jsxs(Typography, { variant: "caption", textTransform: "capitalize", children: [
122
- t("annotation.failed"),
123
- ": ",
124
- errors.length
125
- ] }),
126
- onClick: forceEnrich
127
- }
128
- )
129
- }
130
- )
131
- ] })
132
- ] }),
133
- /* @__PURE__ */ jsx(Box, {}),
134
- Object.keys(annotationsByType).filter((type) => !filter || filter === "all" || type === filter).map((type, id) => /* @__PURE__ */ jsxs(
135
- Accordion,
136
- {
137
- defaultExpanded: true,
138
- sx: {
139
- marginTop: `${theme.spacing(1)} !important`,
140
- marginBottom: "0 !important",
141
- "&:before": { height: 0 }
142
- },
143
- children: [
144
- filter === "all" && /* @__PURE__ */ jsx(
145
- AccordionSummary,
146
- {
147
- expandIcon: /* @__PURE__ */ jsx(Iconified, { icon: "ic:baseline-arrow-drop-down" }),
148
- sx: {
149
- minHeight: "initial !important",
150
- mt: 0.5,
151
- mb: 0,
152
- px: 1,
153
- "& .MuiAccordionSummary-content": { my: 0.5, mx: 0 },
154
- "& .MuiAccordionSummary-content.Mui-expanded": { my: 0.5, mx: 0 }
155
- },
156
- children: /* @__PURE__ */ jsx(Typography, { variant: "body1", textTransform: "capitalize", children: type }, type)
157
- }
158
- ),
159
- /* @__PURE__ */ jsxs(AccordionDetails, { sx: { px: 1 }, children: [
160
- filter === "all" && /* @__PURE__ */ jsx(Divider, { orientation: "horizontal", sx: { mb: 1 } }),
161
- /* @__PURE__ */ jsx(Stack, { spacing: 1, divider: /* @__PURE__ */ jsx(Divider, { orientation: "horizontal", flexItem: true }), children: annotationsByType[type].map((annotation, ann_id) => /* @__PURE__ */ jsx(AnnotationEntry, { annotation }, ann_id)) })
162
- ] })
163
- ]
164
- },
165
- id
166
- ))
167
- ] });
168
- };
169
- const AnnotationDetails$1 = memo(AnnotationDetails);
1
+ import "react/jsx-runtime";
2
+ import "../iconify-CXMreGTg.js";
3
+ import "@mui/material";
4
+ import "./display/icons/Iconified.js";
5
+ import "../data/event.js";
6
+ import "../hooks/ClueComponentContext.js";
7
+ import "../hooks/selectors.js";
8
+ import "../hooks/useAnnotations.js";
9
+ import "../hooks/useErrors.js";
10
+ import "../icons/iconMap.js";
11
+ import "../utils/window.js";
12
+ import "../groupBy-DC2oOuBN.js";
13
+ import { A } from "../AnnotationDetails-C_P001d3.js";
14
+ import "../ClueEnrichContext-DmhtfJg_.js";
15
+ import "react";
16
+ import "../index-BDVjGvMI.js";
17
+ import "./actions/ExecutePopover.js";
18
+ import "./AnnotationEntry.js";
19
+ import "./ClassificationChip.js";
20
+ import "./enrichment/EnrichPopover.js";
170
21
  export {
171
- AnnotationDetails$1 as default
22
+ A as default
172
23
  };
@@ -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 { Stack, Typography, Chip, IconButton } from "@mui/material";
4
4
  import Iconified from "./display/icons/Iconified.js";
5
- import { t as twitterShort } from "../utils-CxIhC2xH.js";
5
+ import { t as twitterShort } from "../utils-Dr4wbKBZ.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-CXMreGTg.js";
3
3
  import "@mui/material";
4
- import { A } from "../AnnotationPreview-BvNpZOP0.js";
4
+ import { A } from "../AnnotationPreview-BOpYuxD1.js";
5
5
  import "../hooks/useAnnotations.js";
6
- import "../utils-CxIhC2xH.js";
6
+ import "../utils-Dr4wbKBZ.js";
7
7
  import "react";
8
8
  import "../index-BDVjGvMI.js";
9
9
  export {
@@ -10,10 +10,10 @@ 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-DmhtfJg_.js";
13
14
  import { memo, useState, useMemo, useCallback } from "react";
14
15
  import { u as useContextSelector } from "../index-BDVjGvMI.js";
15
16
  import AnnotationEntry from "./AnnotationEntry.js";
16
- import { u as uniq } from "../ClueEnrichContext-q3taywEp.js";
17
17
  const EnrichedCard = ({
18
18
  type,
19
19
  value,
@@ -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-BvNpZOP0.js";
6
+ import { C as CluePopupContext } from "../AnnotationPreview-BOpYuxD1.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";
@@ -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-BvNpZOP0.js";
6
+ import { C as CluePopupContext } from "../AnnotationPreview-BOpYuxD1.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";
@@ -3,14 +3,14 @@ import "@jsonforms/material-renderers";
3
3
  import "@jsonforms/react";
4
4
  import "@mui/material";
5
5
  import "../display/icons/Iconified.js";
6
- import "../../index-BDrtH5ec.js";
6
+ import "../../index-BMxyILVD.js";
7
7
  import "../../hooks/ClueComponentContext.js";
8
- import { A } from "../../ActionForm-BhNfglpS.js";
8
+ import { A } from "../../ActionForm-D4ryHO0M.js";
9
+ import "../../utils-Dr4wbKBZ.js";
9
10
  import "react";
10
11
  import "../../index-BDVjGvMI.js";
11
12
  import "../ErrorBoundary.js";
12
13
  import "./form/schemaAdapter.js";
13
- import "../../utils-CxIhC2xH.js";
14
14
  export {
15
15
  A as default
16
16
  };
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { I as Icon } from "../../iconify-CXMreGTg.js";
3
3
  import { Modal, Paper, Stack, Typography, Divider, Button } from "@mui/material";
4
- import { J as JSONViewer } from "../../index-BDrtH5ec.js";
4
+ import { J as JSONViewer } from "../../index-BMxyILVD.js";
5
5
  import Markdown from "../display/markdown/index.js";
6
6
  import { ClueComponentContext } from "../../hooks/ClueComponentContext.js";
7
7
  import { memo } from "react";
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
2
  import { Stack, Typography, Card, CardContent, Divider, Collapse } from "@mui/material";
3
- import { a as isPlainObject, f as flatten$1 } from "../../../../utils-CxIhC2xH.js";
3
+ import { a as isPlainObject, f as flatten$1 } from "../../../../utils-Dr4wbKBZ.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-BSK_nnoz.js";
6
6
  import { c as copyObject, g as getAllKeysIn, b as baseClone } from "../../../../_baseClone-D3a8Pa4T.js";
@@ -9,7 +9,7 @@ import { b as baseSlice } from "../../../../_baseSlice-GAv_YFTT.js";
9
9
  import { b as baseFlatten, s as setToString, o as overRest } from "../../../../_baseFlatten-D4huXoEI.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-BDrtH5ec.js";
12
+ import { J as JSONViewer } from "../../../../index-BMxyILVD.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, alpha, Autocomplete, TextField, FormControl, InputLabel, Select, MenuItem, IconButton, Collapse } from "@mui/material";
4
- import { p as parseEvent } from "../../../index-BDrtH5ec.js";
4
+ import { p as parseEvent } from "../../../index-BMxyILVD.js";
5
5
  import { z as zoom, i as identity, s as select, t as transform, p as pointer } from "../../../index-BbPn6-Mw.js";
6
6
  import useComparator from "../../../hooks/useComparator.js";
7
7
  import { useMyLocalStorageItem } from "../../../hooks/useMyLocalStorage.js";
@@ -1,7 +1,7 @@
1
1
  import "react/jsx-runtime";
2
2
  import "@mui/material";
3
- import { J } from "../../../index-BDrtH5ec.js";
4
- import "../../../utils-CxIhC2xH.js";
3
+ import { J } from "../../../index-BMxyILVD.js";
4
+ import "../../../utils-Dr4wbKBZ.js";
5
5
  import "../../../hooks/ClueComponentContext.js";
6
6
  import "../../../hooks/useMyLocalStorage.js";
7
7
  import "../../../utils/constants.js";
@@ -1,9 +1,9 @@
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-D4ryHO0M.js";
4
5
  import { useState, useRef, useCallback, useEffect } from "react";
5
6
  import Iconified from "../display/icons/Iconified.js";
6
- import { c as capitalize } from "../../ActionForm-BhNfglpS.js";
7
7
  const EnrichPopover = ({ show = false, size = "small", selector }) => {
8
8
  const { t } = useClueComponentSelector((ctx) => ctx.i18next);
9
9
  const theme = useTheme();
@@ -3,7 +3,7 @@ import { I as Icon } from "../../iconify-CXMreGTg.js";
3
3
  import { useTheme, Skeleton, Chip, Tooltip, Paper, Stack, 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-BDrtH5ec.js";
6
+ import { J as JSONViewer } from "../../index-BMxyILVD.js";
7
7
  import { ClueComponentContext } from "../../hooks/ClueComponentContext.js";
8
8
  import { useClueFetcherSelector } from "../../hooks/selectors.js";
9
9
  import React__default, { useState, useEffect, memo } from "react";
@@ -1,7 +1,7 @@
1
1
  import { ClueGroupContext } from "../../hooks/ClueGroupContext.js";
2
+ import { i as isEqual } from "../../utils-Dr4wbKBZ.js";
2
3
  import { memo, useEffect } from "react";
3
4
  import { u as useContextSelector } from "../../index-BDVjGvMI.js";
4
- import { i as isEqual } from "../../utils-CxIhC2xH.js";
5
5
  const Entry = ({ children, entry, selected = false }) => {
6
6
  const setValues = useContextSelector(ClueGroupContext, (ctx) => ctx == null ? void 0 : ctx.setValues);
7
7
  useEffect(() => {
@@ -6,10 +6,10 @@ 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-D4ryHO0M.js";
9
10
  import { useState, useMemo, useCallback } from "react";
10
11
  import { u as useContextSelector } from "../../index-BDVjGvMI.js";
11
12
  import ExecutePopover from "../actions/ExecutePopover.js";
12
- import { c as capitalize } from "../../ActionForm-BhNfglpS.js";
13
13
  const GroupControl = () => {
14
14
  const { t } = useClueComponentSelector((ctx) => ctx.i18next);
15
15
  const { type, values, classification } = useContextSelector(ClueGroupContext, (ctx) => ({
@@ -1,8 +1,8 @@
1
1
  import "react/jsx-runtime";
2
2
  import "@mui/material";
3
3
  import "../index-Dz1kF2MU.js";
4
- import "../useClueTypeConfig-BUwjNvm4.js";
5
- import { a, C } from "../ActionForm-BhNfglpS.js";
4
+ import "../useClueTypeConfig-CH-nGq6a.js";
5
+ import { a, C } from "../ActionForm-D4ryHO0M.js";
6
6
  import "../components/actions/ResultModal.js";
7
7
  import "../components/display/icons/Iconified.js";
8
8
  import "../components/ErrorBoundary.js";
@@ -1,14 +1,14 @@
1
1
  import "react/jsx-runtime";
2
2
  import "../iconify-CXMreGTg.js";
3
- import "../useClueTypeConfig-BUwjNvm4.js";
3
+ import "../useClueTypeConfig-CH-nGq6a.js";
4
4
  import "../utils/loggerUtil.js";
5
+ import { C, a } from "../ClueEnrichContext-DmhtfJg_.js";
6
+ import "../debounce-bV0h5FC5.js";
7
+ import "../groupBy-DC2oOuBN.js";
5
8
  import "react";
6
9
  import "../index-BDVjGvMI.js";
7
10
  import "./ClueDatabaseContext.js";
8
11
  import "./useClueConfig.js";
9
- import { C, a } from "../ClueEnrichContext-q3taywEp.js";
10
- import "../groupBy-DC2oOuBN.js";
11
- import "../debounce-bV0h5FC5.js";
12
12
  export {
13
13
  C as ClueEnrichContext,
14
14
  a as ClueEnrichProvider
@@ -1,5 +1,5 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { a as api } from "../useClueTypeConfig-BUwjNvm4.js";
2
+ import { a as api } from "../useClueTypeConfig-CH-nGq6a.js";
3
3
  import { useState, useRef, useCallback, useEffect, useMemo } from "react";
4
4
  import { c as createContext } from "../index-BDVjGvMI.js";
5
5
  import useClue from "./useClue.js";
@@ -1,11 +1,11 @@
1
1
  import "react/jsx-runtime";
2
2
  import "../components/AnnotationDetailPopover.js";
3
- import { C, a } from "../AnnotationPreview-BvNpZOP0.js";
3
+ import { C, a } from "../AnnotationPreview-BOpYuxD1.js";
4
4
  import "../data/event.js";
5
5
  import "../utils/window.js";
6
+ import "../AnnotationDetails-C_P001d3.js";
6
7
  import "react";
7
8
  import "../index-BDVjGvMI.js";
8
- import "../isUndefined-CE8h73dH.js";
9
9
  export {
10
10
  C as CluePopupContext,
11
11
  a as CluePopupProvider
@@ -1,11 +1,11 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { C as ClueActionProvider } from "../ActionForm-BhNfglpS.js";
2
+ import { C as ClueActionProvider } from "../ActionForm-D4ryHO0M.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-q3taywEp.js";
6
+ import { a as ClueEnrichProvider } from "../ClueEnrichContext-DmhtfJg_.js";
7
7
  import { ClueFetcherProvider } from "./ClueFetcherContext.js";
8
- import { a as CluePopupProvider } from "../AnnotationPreview-BvNpZOP0.js";
8
+ import { a as CluePopupProvider } from "../AnnotationPreview-BOpYuxD1.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
1
  import { u as useContextSelector } from "../index-BDVjGvMI.js";
2
- import { a as ClueActionContext } from "../ActionForm-BhNfglpS.js";
2
+ import { a as ClueActionContext } from "../ActionForm-D4ryHO0M.js";
3
3
  import { ClueComponentContext } from "./ClueComponentContext.js";
4
- import { C as ClueEnrichContext } from "../ClueEnrichContext-q3taywEp.js";
4
+ import { C as ClueEnrichContext } from "../ClueEnrichContext-DmhtfJg_.js";
5
5
  import { ClueFetcherContext } from "./ClueFetcherContext.js";
6
6
  const useClueFetcherSelector = (selector) => {
7
7
  return useContextSelector(ClueFetcherContext, selector);
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-q3taywEp.js";
2
+ import { C as ClueEnrichContext } from "../ClueEnrichContext-DmhtfJg_.js";
3
3
  const useClue = () => {
4
4
  return useContext(ClueEnrichContext);
5
5
  };
@@ -1,5 +1,5 @@
1
1
  import "../index-BDVjGvMI.js";
2
- import { u } from "../ActionForm-BhNfglpS.js";
2
+ import { u } from "../ActionForm-D4ryHO0M.js";
3
3
  export {
4
4
  u as default
5
5
  };
@@ -9,9 +9,10 @@ import { AxiosRequestConfig } from 'axios';
9
9
  * @param onNetworkCall Callback to configure Axios requests.
10
10
  * @returns An object containing the available sources and the types detection.
11
11
  */
12
- export default function useClueTypeConfig(ready: boolean, baseURL: string, debugLogging: boolean, getToken?: () => string, onNetworkCall?: (config: AxiosRequestConfig) => AxiosRequestConfig): {
12
+ declare const useClueTypeConfig: (ready: boolean, baseURL: string, debugLogging: boolean, getToken?: () => string, onNetworkCall?: (config: AxiosRequestConfig) => AxiosRequestConfig) => {
13
13
  availableSources: Array<string>;
14
14
  typesDetection: {
15
15
  [type: string]: RegExp;
16
16
  };
17
17
  };
18
+ export default useClueTypeConfig;
@@ -1,7 +1,7 @@
1
- import { u } from "../useClueTypeConfig-BUwjNvm4.js";
1
+ import { u } from "../useClueTypeConfig-CH-nGq6a.js";
2
2
  import "../utils/loggerUtil.js";
3
- import "react";
4
3
  import "../isEmpty-BQkZubqU.js";
4
+ import "react";
5
5
  export {
6
6
  u as default
7
7
  };
@@ -1,5 +1,5 @@
1
1
  import { useCallback, useMemo, useState, useEffect, createContext, useContext } from "react";
2
- import { i as isNull, a as isUndefined } from "../isUndefined-CE8h73dH.js";
2
+ import { i as isNil } from "../isNil-CIubwp4T.js";
3
3
  import "react/jsx-runtime";
4
4
  import { MY_LOCAL_STORAGE_PREFIX } from "../utils/constants.js";
5
5
  function useLocalStorage(prefix) {
@@ -50,7 +50,7 @@ function useLocalStorageItem(key, initialValue, prefix) {
50
50
  value,
51
51
  (newValue, save = true) => {
52
52
  if (save) {
53
- if (!isNull(newValue) && !isUndefined(newValue)) {
53
+ if (!isNil(newValue)) {
54
54
  set(key, newValue);
55
55
  } else {
56
56
  remove(key);
package/icons/Action.js CHANGED
@@ -2,11 +2,11 @@ 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-BvNpZOP0.js";
6
- import { u as useClueActions } from "../ActionForm-BhNfglpS.js";
5
+ import { C as CluePopupContext } from "../AnnotationPreview-BOpYuxD1.js";
6
+ import { u as useClueActions } from "../ActionForm-D4ryHO0M.js";
7
+ import { g as groupBy } from "../groupBy-DC2oOuBN.js";
7
8
  import { memo, useRef, useMemo, useEffect } from "react";
8
9
  import { u as useContextSelector } from "../index-BDVjGvMI.js";
9
- import { g as groupBy } from "../groupBy-DC2oOuBN.js";
10
10
  const ResultDetails = ({ result }) => {
11
11
  return /* @__PURE__ */ jsxs(Stack, { p: 1, children: [
12
12
  /* @__PURE__ */ jsx(Typography, { variant: "body1", children: result.action.name }),
@@ -2,13 +2,13 @@ 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-BvNpZOP0.js";
6
- import { memo, useRef, useState, useMemo, useEffect } from "react";
7
- import { u as useContextSelector } from "../index-BDVjGvMI.js";
5
+ import { C as CluePopupContext } from "../AnnotationPreview-BOpYuxD1.js";
8
6
  import { g as groupBy } from "../groupBy-DC2oOuBN.js";
9
- import { s as sumBy } from "../sumBy-MYkDPHZL.js";
10
- import { m as maxBy, s as sortBy } from "../sortBy-B-UKp4GT.js";
11
7
  import { l as last } from "../last-CUCl67Im.js";
8
+ import { m as maxBy, s as sortBy } from "../sortBy-B-UKp4GT.js";
9
+ import { s as sumBy } from "../sumBy-MYkDPHZL.js";
10
+ import { memo, useRef, useState, useMemo, useEffect } from "react";
11
+ import { u as useContextSelector } from "../index-BDVjGvMI.js";
12
12
  const AssessmentIcon = ({ annotations, value, counters = true, disableTooltip = false, ubiquitous = false, ...otherProps }) => {
13
13
  const theme = useTheme();
14
14
  const showInfo = useContextSelector(CluePopupContext, (state) => state.showInfo);
package/icons/Context.js CHANGED
@@ -4,10 +4,10 @@ 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-BvNpZOP0.js";
7
+ import { C as CluePopupContext } from "../AnnotationPreview-BOpYuxD1.js";
8
+ import { g as groupBy } from "../groupBy-DC2oOuBN.js";
8
9
  import { memo, useRef, useMemo, useEffect } from "react";
9
10
  import { u as useContextSelector } from "../index-BDVjGvMI.js";
10
- import { g as groupBy } from "../groupBy-DC2oOuBN.js";
11
11
  const ContextIcon = ({
12
12
  annotations,
13
13
  value,
package/icons/Opinion.js CHANGED
@@ -2,13 +2,13 @@ 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-BvNpZOP0.js";
5
+ import { C as CluePopupContext } from "../AnnotationPreview-BOpYuxD1.js";
6
6
  import chain from "../utils/chain.js";
7
- import { memo, useRef, useMemo, useCallback, useEffect } from "react";
8
- import { u as useContextSelector } from "../index-BDVjGvMI.js";
9
7
  import { g as groupBy } from "../groupBy-DC2oOuBN.js";
10
- import { s as sumBy } from "../sumBy-MYkDPHZL.js";
11
8
  import { s as sortBy } from "../sortBy-B-UKp4GT.js";
9
+ import { s as sumBy } from "../sumBy-MYkDPHZL.js";
10
+ import { memo, useRef, useMemo, useCallback, useEffect } from "react";
11
+ import { u as useContextSelector } from "../index-BDVjGvMI.js";
12
12
  const OpinionIcon = ({ annotations, value, counters = true, disableTooltip = false, ubiquitous = false, ...otherProps }) => {
13
13
  const theme = useTheme();
14
14
  const showInfo = useContextSelector(CluePopupContext, (state) => state.showInfo);
@@ -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, f as flatten } from "./utils-CxIhC2xH.js";
7
+ import { r as removeEmpty, s as searchObject, f as flatten } from "./utils-Dr4wbKBZ.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";
package/main.js CHANGED
@@ -1,58 +1,58 @@
1
- import { A, u } from "./ActionForm-BhNfglpS.js";
1
+ import { A, u } from "./ActionForm-D4ryHO0M.js";
2
2
  import { default as default2 } from "./components/AnnotationDetailPopover.js";
3
- import { default as default3 } from "./components/AnnotationDetails.js";
4
- import { default as default4 } from "./components/AnnotationEntry.js";
5
- import { A as A2, C } from "./AnnotationPreview-BvNpZOP0.js";
6
- import { default as default5 } from "./components/CountBadge.js";
7
- import { default as default6 } from "./components/EnrichedCard.js";
8
- import { default as default7 } from "./components/EnrichedChip.js";
9
- import { default as default8 } from "./components/EnrichedTypography.js";
10
- import { default as default9 } from "./components/fetchers/Fetcher.js";
11
- import { default as default10 } from "./components/fetchers/StatusChip.js";
12
- import { default as default11 } from "./components/group/Entry.js";
13
- import { default as default12 } from "./components/group/Group.js";
14
- import { default as default13 } from "./components/group/GroupControl.js";
15
- import { default as default14 } from "./components/SourcePicker.js";
3
+ import { A as A2 } from "./AnnotationDetails-C_P001d3.js";
4
+ import { default as default3 } from "./components/AnnotationEntry.js";
5
+ import { A as A3, C } from "./AnnotationPreview-BOpYuxD1.js";
6
+ import { default as default4 } from "./components/CountBadge.js";
7
+ import { default as default5 } from "./components/EnrichedCard.js";
8
+ import { default as default6 } from "./components/EnrichedChip.js";
9
+ import { default as default7 } from "./components/EnrichedTypography.js";
10
+ import { default as default8 } from "./components/fetchers/Fetcher.js";
11
+ import { default as default9 } from "./components/fetchers/StatusChip.js";
12
+ import { default as default10 } from "./components/group/Entry.js";
13
+ import { default as default11 } from "./components/group/Group.js";
14
+ import { default as default12 } from "./components/group/GroupControl.js";
15
+ import { default as default13 } from "./components/SourcePicker.js";
16
16
  import { SNACKBAR_EVENT_ID } from "./data/event.js";
17
17
  import { b } from "./index-Dz1kF2MU.js";
18
18
  import { ClueComponentContext } from "./hooks/ClueComponentContext.js";
19
19
  import { ClueDatabaseContext } from "./hooks/ClueDatabaseContext.js";
20
- import { C as C2 } from "./ClueEnrichContext-q3taywEp.js";
20
+ import { C as C2 } from "./ClueEnrichContext-DmhtfJg_.js";
21
21
  import { ClueProvider } from "./hooks/ClueProvider.js";
22
22
  import { useClueActionsSelector, useClueEnrichSelector, useClueFetcherSelector } from "./hooks/selectors.js";
23
- import { default as default15 } from "./hooks/useClue.js";
24
- import { default as default16 } from "./icons/Assessment.js";
25
- import { default as default17 } from "./icons/Context.js";
26
- import { default as default18 } from "./icons/Opinion.js";
27
- import { default as default19 } from "./text/Frequency.js";
23
+ 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";
28
28
  export {
29
29
  A as ActionForm,
30
30
  default2 as AnnotationDetailPopover,
31
- default3 as AnnotationDetails,
32
- default4 as AnnotationEntry,
33
- A2 as AnnotationPreview,
34
- default16 as AssessmentIcon,
31
+ A2 as AnnotationDetails,
32
+ default3 as AnnotationEntry,
33
+ A3 as AnnotationPreview,
34
+ default15 as AssessmentIcon,
35
35
  ClueComponentContext,
36
36
  ClueDatabaseContext,
37
37
  C2 as ClueEnrichContext,
38
38
  C as CluePopupContext,
39
39
  ClueProvider,
40
- default17 as ContextIcon,
41
- default5 as CountBadge,
42
- default6 as EnrichedCard,
43
- default7 as EnrichedChip,
44
- default8 as EnrichedTypography,
45
- default11 as Entry,
46
- default9 as Fetcher,
47
- default19 as FrequencyText,
48
- default12 as Group,
49
- default13 as GroupControl,
50
- default18 as OpinionIcon,
40
+ default16 as ContextIcon,
41
+ default4 as CountBadge,
42
+ default5 as EnrichedCard,
43
+ default6 as EnrichedChip,
44
+ default7 as EnrichedTypography,
45
+ default10 as Entry,
46
+ default8 as Fetcher,
47
+ default18 as FrequencyText,
48
+ default11 as Group,
49
+ default12 as GroupControl,
50
+ default17 as OpinionIcon,
51
51
  SNACKBAR_EVENT_ID,
52
- default14 as SourcePicker,
53
- default10 as StatusChip,
52
+ default13 as SourcePicker,
53
+ default9 as StatusChip,
54
54
  b as buildDatabase,
55
- default15 as useClue,
55
+ default14 as useClue,
56
56
  u as useClueActions,
57
57
  useClueActionsSelector,
58
58
  useClueEnrichSelector,
package/package.json CHANGED
@@ -62,7 +62,7 @@
62
62
  },
63
63
  "type": "module",
64
64
  "types": "main.d.ts",
65
- "version": "1.0.1-dev.59",
65
+ "version": "1.0.1-dev.65",
66
66
  "exports": {
67
67
  ".": "./main.js",
68
68
  "./index.css": "./index.css",
package/text/Frequency.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Typography } from "@mui/material";
3
- import { useMemo } from "react";
3
+ import { i as isNil } from "../isNil-CIubwp4T.js";
4
4
  import { s as sumBy } from "../sumBy-MYkDPHZL.js";
5
- import { i as isNull, a as isUndefined } from "../isUndefined-CE8h73dH.js";
5
+ import { useMemo } from "react";
6
6
  const FrequencyText = ({
7
7
  annotations,
8
8
  value,
@@ -17,7 +17,7 @@ const FrequencyText = ({
17
17
  [frequencyAnnotations]
18
18
  );
19
19
  const color = useMemo(() => {
20
- if (isNull(frequency) || isUndefined(frequency)) {
20
+ if (isNil(frequency)) {
21
21
  return null;
22
22
  }
23
23
  if (frequency < 1) {
@@ -31,7 +31,7 @@ const FrequencyText = ({
31
31
  }
32
32
  return null;
33
33
  }, [frequency]);
34
- if (isNull(frequency) || isUndefined(frequency)) {
34
+ if (isNil(frequency)) {
35
35
  return /* @__PURE__ */ jsx(Typography, { ...otherProps, color, children: value });
36
36
  }
37
37
  return /* @__PURE__ */ jsx(
@@ -39,7 +39,7 @@ const FrequencyText = ({
39
39
  {
40
40
  ...otherProps,
41
41
  color: color ?? otherProps.color,
42
- sx: { fontWeight: !isNull(frequency) && !isUndefined(frequency) && frequency < 10 ? "bold" : "inherit" },
42
+ sx: { fontWeight: !isNil(frequency) && frequency < 10 ? "bold" : "inherit" },
43
43
  children: value
44
44
  }
45
45
  );
@@ -6,8 +6,8 @@ import { MY_LOCAL_STORAGE_PREFIX, StorageKey } from "./utils/constants.js";
6
6
  import { g as getDefaultExportFromCjs } from "./_commonjsHelpers-CUmg6egw.js";
7
7
  import { getAxiosCache, setAxiosCache } from "./utils/sessionStorage.js";
8
8
  import { clueDebugLogger } from "./utils/loggerUtil.js";
9
- import { useState, useEffect } from "react";
10
9
  import { i as isEmpty } from "./isEmpty-BQkZubqU.js";
10
+ import { useState, useEffect } from "react";
11
11
  const uri$c = () => {
12
12
  return joinUri(uri(), "actions");
13
13
  };
@@ -99,10 +99,10 @@ const fetchers = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProp
99
99
  post: post$1,
100
100
  uri: uri$8
101
101
  }, Symbol.toStringTag, { value: "Module" }));
102
- function uri$7() {
102
+ const uri$7 = () => {
103
103
  return joinUri(uri$4(), "enrich");
104
- }
105
- function post(bulkData, sources = [], options = { timeout: null, includeRaw: false, noCache: false }, config) {
104
+ };
105
+ const post = (bulkData, sources = [], options = { timeout: null, includeRaw: false, noCache: false }, config) => {
106
106
  const searchParams = [];
107
107
  if ((sources == null ? void 0 : sources.length) > 0) {
108
108
  searchParams.push(`sources=${sources.join()}`);
@@ -124,7 +124,7 @@ function post(bulkData, sources = [], options = { timeout: null, includeRaw: fal
124
124
  bulkData,
125
125
  config
126
126
  );
127
- }
127
+ };
128
128
  const enrich = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
129
129
  __proto__: null,
130
130
  post,
@@ -3132,7 +3132,7 @@ const hget = (_uri, searchParams, config = {}) => {
3132
3132
  const hpost = (_uri, body, config = {}) => {
3133
3133
  return hfetch(_uri, "post", body, void 0, config);
3134
3134
  };
3135
- function useClueTypeConfig(ready, baseURL, debugLogging, getToken, onNetworkCall) {
3135
+ const useClueTypeConfig = (ready, baseURL, debugLogging, getToken, onNetworkCall) => {
3136
3136
  const [availableSources, setAvailableSources] = useState([]);
3137
3137
  const [typesDetection, setTypesDetection] = useState({});
3138
3138
  useEffect(() => {
@@ -3176,7 +3176,7 @@ function useClueTypeConfig(ready, baseURL, debugLogging, getToken, onNetworkCall
3176
3176
  availableSources,
3177
3177
  typesDetection
3178
3178
  };
3179
- }
3179
+ };
3180
3180
  export {
3181
3181
  api as a,
3182
3182
  post as p,
package/utils/utils.js CHANGED
@@ -1,6 +1,6 @@
1
- import { d, b, r, s, t } from "../utils-CxIhC2xH.js";
2
- import "../isEmpty-BQkZubqU.js";
1
+ import { d, b, r, s, t } from "../utils-Dr4wbKBZ.js";
3
2
  import "../_Map-kgDsDYxq.js";
3
+ import "../isEmpty-BQkZubqU.js";
4
4
  import "../isNil-CIubwp4T.js";
5
5
  export {
6
6
  d as delay,
@@ -1,10 +0,0 @@
1
- function isNull(value) {
2
- return value === null;
3
- }
4
- function isUndefined(value) {
5
- return value === void 0;
6
- }
7
- export {
8
- isUndefined as a,
9
- isNull as i
10
- };
@@ -1,13 +1,13 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
- import { i as isEmpty } from "./isEmpty-BQkZubqU.js";
5
4
  import { i as isArray$1 } from "./_Map-kgDsDYxq.js";
5
+ import { i as isEmpty } from "./isEmpty-BQkZubqU.js";
6
+ import { b as baseIsEqual } from "./_baseIsEqual-B5xLoweL.js";
6
7
  import { i as isNil } from "./isNil-CIubwp4T.js";
7
8
  import { i as isObjectLike, b as baseGetTag } from "./isObjectLike-OAgjjZye.js";
8
9
  import { g as getPrototype } from "./_getPrototype-D1LAdQKO.js";
9
10
  import { b as baseUniq } from "./_baseUniq-CpupKWcL.js";
10
- import { b as baseIsEqual } from "./_baseIsEqual-B5xLoweL.js";
11
11
  function isBuffer(obj) {
12
12
  return obj && obj.constructor && typeof obj.constructor.isBuffer === "function" && obj.constructor.isBuffer(obj);
13
13
  }