@cccsaurora/clue-ui 1.2.3 → 1.2.4-dev.278

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 (188) hide show
  1. package/ActionForm-BdW0Za1y.js +5956 -0
  2. package/AnnotationDetails-BHZFzyt-.js +175 -0
  3. package/AnnotationPreview-DGoyoxRb.js +188 -0
  4. package/ClueEnrichContext-CJEJxrgs.js +541 -0
  5. package/FlexOne-BSYAhhtG.js +9 -0
  6. package/_MapCache-WmuDdwuH.js +222 -0
  7. package/_Uint8Array-B7JqpgFX.js +128 -0
  8. package/_baseAssignValue-CGTuELqU.js +25 -0
  9. package/_baseClone-CkNrTyhm.js +283 -0
  10. package/_baseExtremum-kob8QXyt.js +18 -0
  11. package/_baseFlatten-jIR_sN_-.js +92 -0
  12. package/_baseGet-Bx3A4Qfp.js +108 -0
  13. package/_baseIsEqual-C5OTWzTk.js +208 -0
  14. package/_baseIteratee-avi7MX2o.js +126 -0
  15. package/_baseSlice-GAv_YFTT.js +20 -0
  16. package/_baseSum-D0WC1dN0.js +13 -0
  17. package/_baseUniq-BI9GIHMF.js +115 -0
  18. package/_commonjsHelpers-DWwsNxpa.js +8 -0
  19. package/_createAggregator-QD8MzKwe.js +63 -0
  20. package/_getPrototype-CU0j_POw.js +5 -0
  21. package/_getTag-Ckxxfr88.js +126 -0
  22. package/_isIterateeCall-Ds3sw2SF.js +17 -0
  23. package/_setToArray-CaPKQhcz.js +33 -0
  24. package/cloneDeep-DJrLSw8W.js +8 -0
  25. package/components/AnnotationBody.js +49 -35
  26. package/components/AnnotationDetailPopover.js +36 -30
  27. package/components/AnnotationDetails.js +7 -7
  28. package/components/AnnotationEntry.js +35 -35
  29. package/components/AnnotationPreview.js +5 -5
  30. package/components/ClassificationChip.js +44 -23
  31. package/components/CountBadge.js +31 -26
  32. package/components/EnrichedCard.js +110 -97
  33. package/components/EnrichedChip.js +130 -105
  34. package/components/EnrichedTypography.js +133 -107
  35. package/components/ErrorBoundary.js +28 -24
  36. package/components/RetryFailedEnrichments.js +10 -9
  37. package/components/SourcePicker.js +57 -49
  38. package/components/actions/ActionForm.js +4 -4
  39. package/components/actions/ExecutePopover.js +75 -59
  40. package/components/actions/ResultModal.js +4 -4
  41. package/components/actions/form/schemaAdapter.js +39 -23
  42. package/components/actions/formats/FileResult.js +86 -59
  43. package/components/actions/formats/index.js +21 -10
  44. package/components/display/graph/ExpandMoreButton.js +10 -10
  45. package/components/display/graph/elements/NodeCard.js +111 -91
  46. package/components/display/graph/elements/NodeTag.js +15 -13
  47. package/components/display/graph/index.js +261 -202
  48. package/components/display/graph/visualizations/Leaf.js +88 -69
  49. package/components/display/graph/visualizations/cloud/index.js +98 -81
  50. package/components/display/graph/visualizations/icons/BaseIcon.js +26 -21
  51. package/components/display/graph/visualizations/icons/BugIcon.js +12 -12
  52. package/components/display/graph/visualizations/icons/HostIcon.js +12 -12
  53. package/components/display/graph/visualizations/icons/NetworkIcon.js +12 -12
  54. package/components/display/graph/visualizations/icons/ProcessIcon.js +12 -12
  55. package/components/display/graph/visualizations/icons/TargetIcon.js +13 -13
  56. package/components/display/graph/visualizations/icons/index.js +14 -13
  57. package/components/display/graph/visualizations/panels/NodePanel.js +10 -8
  58. package/components/display/graph/visualizations/tree/BundleLine.js +108 -81
  59. package/components/display/graph/visualizations/tree/Triangle.js +13 -13
  60. package/components/display/graph/visualizations/tree/index.js +408 -306
  61. package/components/display/icons/Iconified.js +27 -12
  62. package/components/display/json/index.js +4 -4
  63. package/components/display/markdown/index.js +8678 -5770
  64. package/components/enrichment/EnrichPopover.js +54 -46
  65. package/components/fetchers/Fetcher.js +158 -119
  66. package/components/fetchers/PreviewModal.js +20 -17
  67. package/components/fetchers/StatusChip.js +21 -17
  68. package/components/group/Entry.js +13 -11
  69. package/components/group/Group.js +13 -10
  70. package/components/group/GroupControl.js +76 -65
  71. package/components/stats/QueryStatus.js +43 -33
  72. package/countBy-c6S3dvSW.js +14 -0
  73. package/data/event.js +6 -4
  74. package/database/index.js +2 -2
  75. package/debounce-bV0h5FC5.js +92 -0
  76. package/en/translation.json +1 -1
  77. package/fr/translation.json +1 -1
  78. package/get-DSsNkRQs.js +8 -0
  79. package/groupBy-xqz-n0Vd.js +14 -0
  80. package/hooks/ClueActionContext.js +6 -6
  81. package/hooks/ClueComponentContext.js +29 -23
  82. package/hooks/ClueConfigProvider.js +14 -12
  83. package/hooks/ClueDatabaseContext.js +19 -13
  84. package/hooks/ClueEnrichContext.js +8 -8
  85. package/hooks/ClueFetcherContext.js +83 -56
  86. package/hooks/ClueGroupContext.js +17 -14
  87. package/hooks/CluePopupContext.js +5 -5
  88. package/hooks/ClueProvider.js +12 -10
  89. package/hooks/selectors.js +7 -7
  90. package/hooks/useActionResult.d.ts +1 -0
  91. package/hooks/useActionResult.js +4 -2
  92. package/hooks/useAnnotations.js +47 -31
  93. package/hooks/useClue.js +6 -4
  94. package/hooks/useClueActions.js +3 -3
  95. package/hooks/useClueConfig.js +6 -4
  96. package/hooks/useClueTypeConfig.js +3 -3
  97. package/hooks/useComparator.js +722 -435
  98. package/hooks/useErrors.js +22 -18
  99. package/hooks/useFetcherResult.d.ts +1 -0
  100. package/hooks/useFetcherResult.js +33 -24
  101. package/hooks/useMyHighlights.js +66 -36
  102. package/hooks/useMyLocalStorage.js +66 -37
  103. package/iconify-CXMreGTg.js +1782 -0
  104. package/icons/Action.js +66 -49
  105. package/icons/Assessment.js +85 -69
  106. package/icons/Context.js +77 -63
  107. package/icons/Opinion.js +76 -60
  108. package/icons/iconMap.js +2 -2
  109. package/identity-CPGTqrE4.js +6 -0
  110. package/index-AMfoEg_6.js +696 -0
  111. package/index-B6C2a_Lg.js +1172 -0
  112. package/index-C12gPw2W.js +17698 -0
  113. package/index-DCKkHTvx.js +15750 -0
  114. package/index-JcKyZeoY.js +465 -0
  115. package/isNil-CIubwp4T.js +6 -0
  116. package/isObject-FTY-5JQX.js +7 -0
  117. package/isObjectLike-OAgjjZye.js +48 -0
  118. package/isSymbol-Xd2FsJyp.js +8 -0
  119. package/last-CUCl67Im.js +7 -0
  120. package/main.js +60 -60
  121. package/maxBy-IKHzFrCS.js +8 -0
  122. package/package.json +1 -1
  123. package/sortBy-DfSj8IoJ.js +96 -0
  124. package/sumBy-D-hb_NY-.js +8 -0
  125. package/text/Frequency.js +42 -23
  126. package/toFinite-Bc55msYj.js +16 -0
  127. package/toNumber-DPxy1FBy.js +39 -0
  128. package/types/WithActionData.d.ts +2 -1
  129. package/useClueTypeConfig-Z1LFp01b.js +3289 -0
  130. package/utils/chain.js +92 -65
  131. package/utils/classificationParser.js +519 -256
  132. package/utils/constants.js +35 -10
  133. package/utils/graph.js +72 -45
  134. package/utils/hashUtil.js +7 -7
  135. package/utils/line.js +131 -81
  136. package/utils/loggerUtil.js +5 -3
  137. package/utils/sessionStorage.js +41 -27
  138. package/utils/time.js +423 -423
  139. package/utils/utils.js +9 -9
  140. package/utils/window.js +21 -10
  141. package/utils-HmNPuoDB.js +199 -0
  142. package/ActionForm-DlOXqMUx.js +0 -4460
  143. package/AnnotationDetails-Bk-p0F6h.js +0 -160
  144. package/AnnotationPreview-jzZvkCxJ.js +0 -140
  145. package/ClueEnrichContext-KqRuuWNS.js +0 -418
  146. package/FlexOne-BXWFOd1T.js +0 -6
  147. package/_MapCache-BiTi0iqu.js +0 -180
  148. package/_Uint8Array-BQNOM9Rr.js +0 -101
  149. package/_baseAssignValue-CNMLQZco.js +0 -20
  150. package/_baseClone-BnT-6pyM.js +0 -207
  151. package/_baseExtremum-Ca2EHgy2.js +0 -16
  152. package/_baseFlatten-Bfr_Molw.js +0 -72
  153. package/_baseGet-DSZygzyq.js +0 -79
  154. package/_baseIsEqual-VgvaAFZG.js +0 -147
  155. package/_baseIteratee-Dbfsw5z8.js +0 -95
  156. package/_baseSlice-M5RKzt1A.js +0 -10
  157. package/_baseSum-wEbgNeUs.js +0 -10
  158. package/_baseUniq-BJcj69PL.js +0 -79
  159. package/_commonjsHelpers-DaMA6jEr.js +0 -8
  160. package/_createAggregator-k3TuAnxT.js +0 -53
  161. package/_getPrototype-Cr1Mk7BC.js +0 -5
  162. package/_getTag-CK2Sffaq.js +0 -90
  163. package/_isIterateeCall-DkJP7Rbx.js +0 -13
  164. package/_setToArray-C7yMOeww.js +0 -29
  165. package/cloneDeep-CF8TtLHr.js +0 -8
  166. package/countBy-CdYegFSu.js +0 -8
  167. package/debounce-DryYcbJ4.js +0 -56
  168. package/get-CH7kz5Ix.js +0 -8
  169. package/groupBy-br8xmD2R.js +0 -8
  170. package/iconify-BBckr5AQ.js +0 -1263
  171. package/identity-ByMq8VxU.js +0 -6
  172. package/index-BHAe_V9n.js +0 -12768
  173. package/index-BK-zfYhR.js +0 -358
  174. package/index-CA5CUNZO.js +0 -975
  175. package/index-Dj5C04IX.js +0 -568
  176. package/index-p5_wX7q1.js +0 -11729
  177. package/isNil-CjWwlQS3.js +0 -6
  178. package/isObject-B53jY8Qg.js +0 -7
  179. package/isObjectLike-BatpeCIi.js +0 -29
  180. package/isSymbol-C3_SC0Qp.js +0 -8
  181. package/last-7CdUxN0r.js +0 -7
  182. package/maxBy-Bc0dYHcO.js +0 -8
  183. package/sortBy-DY2JBf9n.js +0 -75
  184. package/sumBy-DuMASLPd.js +0 -8
  185. package/toFinite-BMy6GObD.js +0 -14
  186. package/toNumber-YVhnnJv4.js +0 -31
  187. package/useClueTypeConfig-Ct9Ygter.js +0 -2292
  188. package/utils-DmwSUrum.js +0 -129
@@ -1,31 +1,52 @@
1
- import { jsx as u } from "react/jsx-runtime";
2
- import { Tooltip as p, Chip as x } from "@mui/material";
3
- import D from "../hooks/useClueConfig.js";
4
- import { getParts as C, normalizedClassification as _ } from "../utils/classificationParser.js";
5
- import v, { useMemo as s, memo as y } from "react";
6
- const g = ["default", "primary", "secondary", "error", "info", "success", "warning"], A = v.memo(
7
- ({ classification: r, ...n }) => {
8
- var i, f;
9
- const { config: e } = D(), t = s(() => e.c12nDef ? C(r, e.c12nDef, "short", !0) : null, [r, e.c12nDef]), d = s(() => !e.c12nDef || !t ? r : _(t, e.c12nDef, "short", !0), [r, e.c12nDef, t]), o = s(() => {
10
- var c, a, m;
11
- const l = (m = (a = e.c12nDef) == null ? void 0 : a.levels_styles_map[(c = e.c12nDef) == null ? void 0 : c.levels_map[t.lvlIdx]]) == null ? void 0 : m.color;
12
- return g.includes(l) ? { color: l } : l ? { sx: { color: l } } : { color: "default" };
13
- }, [(i = e.c12nDef) == null ? void 0 : i.levels_map, (f = e.c12nDef) == null ? void 0 : f.levels_styles_map, t.lvlIdx]);
14
- return /* @__PURE__ */ u(p, { title: r, children: /* @__PURE__ */ u(
15
- x,
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { Tooltip, Chip } from "@mui/material";
3
+ import useClueConfig from "../hooks/useClueConfig.js";
4
+ import { getParts, normalizedClassification } from "../utils/classificationParser.js";
5
+ import React__default, { useMemo, memo } from "react";
6
+ const THEME_TYPES = ["default", "primary", "secondary", "error", "info", "success", "warning"];
7
+ const ClassificationChip = React__default.memo(
8
+ ({ classification, ...otherProps }) => {
9
+ var _a, _b;
10
+ const { config } = useClueConfig();
11
+ const parts = useMemo(() => {
12
+ if (!config.c12nDef) {
13
+ return null;
14
+ }
15
+ return getParts(classification, config.c12nDef, "short", true);
16
+ }, [classification, config.c12nDef]);
17
+ const normalized = useMemo(() => {
18
+ if (!config.c12nDef || !parts) {
19
+ return classification;
20
+ }
21
+ return normalizedClassification(parts, config.c12nDef, "short", true);
22
+ }, [classification, config.c12nDef, parts]);
23
+ const chipProps = useMemo(() => {
24
+ var _a2, _b2, _c;
25
+ const definedColor = (_c = (_b2 = config.c12nDef) == null ? void 0 : _b2.levels_styles_map[(_a2 = config.c12nDef) == null ? void 0 : _a2.levels_map[parts.lvlIdx]]) == null ? void 0 : _c.color;
26
+ if (THEME_TYPES.includes(definedColor)) {
27
+ return { color: definedColor };
28
+ }
29
+ if (definedColor) {
30
+ return { sx: { color: definedColor } };
31
+ }
32
+ return { color: "default" };
33
+ }, [(_a = config.c12nDef) == null ? void 0 : _a.levels_map, (_b = config.c12nDef) == null ? void 0 : _b.levels_styles_map, parts.lvlIdx]);
34
+ return /* @__PURE__ */ jsx(Tooltip, { title: classification, children: /* @__PURE__ */ jsx(
35
+ Chip,
16
36
  {
17
- variant: n.variant || "outlined",
18
- label: d,
19
- ...o,
20
- ...n,
37
+ variant: otherProps.variant || "outlined",
38
+ label: normalized,
39
+ ...chipProps,
40
+ ...otherProps,
21
41
  sx: [
22
- ...Array.isArray(o.sx) ? o.sx : [o.sx],
23
- ...Array.isArray(n.sx) ? n.sx : [n.sx]
42
+ ...Array.isArray(chipProps.sx) ? chipProps.sx : [chipProps.sx],
43
+ ...Array.isArray(otherProps.sx) ? otherProps.sx : [otherProps.sx]
24
44
  ]
25
45
  }
26
46
  ) });
27
47
  }
28
- ), M = y(A);
48
+ );
49
+ const ClassificationChip$1 = memo(ClassificationChip);
29
50
  export {
30
- M as default
51
+ ClassificationChip$1 as default
31
52
  };
@@ -1,29 +1,34 @@
1
- import { jsx as m } from "react/jsx-runtime";
2
- import { Badge as l } from "@mui/material";
3
- import { forwardRef as d, cloneElement as f, Children as g } from "react";
4
- const b = d(({ children: r, color: a = "primary", count: t, disabled: n, ...e }, o) => n ? f(g.only(r), { ref: o, ...e }) : /* @__PURE__ */ m(
5
- l,
6
- {
7
- ref: o,
8
- ...e,
9
- badgeContent: t < 100 ? t : "99+",
10
- color: a,
11
- sx: (i) => ({
12
- "& .MuiBadge-badge": {
13
- backgroundColor: "transparent",
14
- color: i.palette[a].main,
15
- fontWeight: "bold",
16
- right: 0,
17
- top: 0,
18
- transform: `translateY(-25%) translateX(${Math.min(Math.ceil(Math.log10(t)), 3) * 10}%)`,
19
- px: 0,
20
- fontSize: ".85rem"
21
- },
22
- pr: 1.5
23
- }),
24
- children: r
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { Badge } from "@mui/material";
3
+ import { forwardRef, cloneElement, Children } from "react";
4
+ const CountBadge = forwardRef(({ children, color = "primary", count, disabled, ...props }, ref) => {
5
+ if (disabled) {
6
+ return cloneElement(Children.only(children), { ref, ...props });
25
7
  }
26
- ));
8
+ return /* @__PURE__ */ jsx(
9
+ Badge,
10
+ {
11
+ ref,
12
+ ...props,
13
+ badgeContent: count < 100 ? count : "99+",
14
+ color,
15
+ sx: (theme) => ({
16
+ "& .MuiBadge-badge": {
17
+ backgroundColor: "transparent",
18
+ color: theme.palette[color].main,
19
+ fontWeight: "bold",
20
+ right: 0,
21
+ top: 0,
22
+ transform: `translateY(-25%) translateX(${Math.min(Math.ceil(Math.log10(count)), 3) * 10}%)`,
23
+ px: 0,
24
+ fontSize: ".85rem"
25
+ },
26
+ pr: 1.5
27
+ }),
28
+ children
29
+ }
30
+ );
31
+ });
27
32
  export {
28
- b as default
33
+ CountBadge as default
29
34
  };
@@ -1,155 +1,168 @@
1
- import { jsxs as r, jsx as e } from "react/jsx-runtime";
2
- import { I as C } from "../iconify-BBckr5AQ.js";
3
- import { useTheme as F, Card as M, CardHeader as O, Stack as W, CircularProgress as B, Divider as D, CardContent as G, Grid as c, Chip as g, Typography as b, Tooltip as H, Box as N } from "@mui/material";
4
- import { ClueComponentContext as R } from "../hooks/ClueComponentContext.js";
5
- import { b as v } from "../ActionForm-DlOXqMUx.js";
6
- import _ from "../hooks/useAnnotations.js";
7
- import $ from "../hooks/useErrors.js";
8
- import J from "../icons/Assessment.js";
9
- import K from "../icons/Context.js";
10
- import L from "../icons/Opinion.js";
11
- import { ICON_MAP as y } from "../icons/iconMap.js";
12
- import Q from "../text/Frequency.js";
13
- import { u as U } from "../useClueTypeConfig-Ct9Ygter.js";
14
- import { memo as V, useState as X, useMemo as T, useCallback as Y } from "react";
15
- import { u as Z } from "../index-Dj5C04IX.js";
16
- import P from "./AnnotationEntry.js";
17
- import ii from "./actions/ExecutePopover.js";
18
- import ei from "./enrichment/EnrichPopover.js";
19
- const ti = ({
20
- type: s,
21
- value: o,
22
- classification: p,
23
- contextIcon: z = !1,
24
- counters: d = !1,
25
- hideLoading: E = !1,
26
- ...t
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { I as Icon } from "../iconify-CXMreGTg.js";
3
+ import { useTheme, Card, CardHeader, Stack, CircularProgress, Divider, CardContent, Grid, Chip, Typography, Tooltip, Box } from "@mui/material";
4
+ import { ClueComponentContext } from "../hooks/ClueComponentContext.js";
5
+ import { b as useClueEnrichSelector } from "../ActionForm-BdW0Za1y.js";
6
+ import useAnnotations from "../hooks/useAnnotations.js";
7
+ import useErrors from "../hooks/useErrors.js";
8
+ import AssessmentIcon from "../icons/Assessment.js";
9
+ import ContextIcon from "../icons/Context.js";
10
+ import OpinionIcon from "../icons/Opinion.js";
11
+ import { ICON_MAP } from "../icons/iconMap.js";
12
+ import FrequencyText from "../text/Frequency.js";
13
+ import { u as uniq } from "../useClueTypeConfig-Z1LFp01b.js";
14
+ import { memo, useState, useMemo, useCallback } from "react";
15
+ import { u as useContextSelector } from "../index-AMfoEg_6.js";
16
+ import AnnotationEntry from "./AnnotationEntry.js";
17
+ import ExecutePopover from "./actions/ExecutePopover.js";
18
+ import EnrichPopover from "./enrichment/EnrichPopover.js";
19
+ const EnrichedCard = ({
20
+ type,
21
+ value,
22
+ classification: _classification,
23
+ contextIcon = false,
24
+ counters = false,
25
+ hideLoading = false,
26
+ ...otherProps
27
27
  }) => {
28
- const u = F(), { t: I } = Z(R, (i) => i.i18next), x = v((i) => i.defaultClassification), h = v((i) => i.enrich), [S, A] = X("all"), m = T(
29
- () => p ?? x,
30
- [p, x]
31
- ), [n, k] = _(s, o, m), a = $(o), l = { type: s, value: o, classification: m }, q = T(() => ["all", ...U(n.map((i) => i.type))], [n]), w = Y(() => h(s, o, {
32
- classification: m,
33
- timeout: 15,
34
- force: !0
35
- }), [m, h, s, o]);
36
- return /* @__PURE__ */ r(
37
- M,
28
+ const theme = useTheme();
29
+ const { t } = useContextSelector(ClueComponentContext, (ctx) => ctx.i18next);
30
+ const defaultClassification = useClueEnrichSelector((ctx) => ctx.defaultClassification);
31
+ const enrich = useClueEnrichSelector((state) => state.enrich);
32
+ const [filter, setFilter] = useState("all");
33
+ const classification = useMemo(
34
+ () => _classification ?? defaultClassification,
35
+ [_classification, defaultClassification]
36
+ );
37
+ const [annotations, loading] = useAnnotations(type, value, classification);
38
+ const errors = useErrors(value);
39
+ const enrichRequest = { type, value, classification };
40
+ const options = useMemo(() => ["all", ...uniq(annotations.map((annotation) => annotation.type))], [annotations]);
41
+ const forceEnrich = useCallback(() => {
42
+ return enrich(type, value, {
43
+ classification,
44
+ timeout: 15,
45
+ force: true
46
+ });
47
+ }, [classification, enrich, type, value]);
48
+ return /* @__PURE__ */ jsxs(
49
+ Card,
38
50
  {
39
51
  sx: [
40
52
  {
41
53
  maxWidth: "900px"
42
54
  },
43
- ...Array.isArray(t == null ? void 0 : t.sx) ? t == null ? void 0 : t.sx : [t == null ? void 0 : t.sx]
55
+ ...Array.isArray(otherProps == null ? void 0 : otherProps.sx) ? otherProps == null ? void 0 : otherProps.sx : [otherProps == null ? void 0 : otherProps.sx]
44
56
  ],
45
- ...t,
57
+ ...otherProps,
46
58
  children: [
47
- /* @__PURE__ */ e(
48
- O,
59
+ /* @__PURE__ */ jsx(
60
+ CardHeader,
49
61
  {
50
- title: /* @__PURE__ */ r(W, { direction: "row", spacing: 1, alignItems: "center", children: [
51
- /* @__PURE__ */ e(Q, { annotations: n, value: o, variant: "h6" }),
52
- /* @__PURE__ */ e(
53
- J,
62
+ title: /* @__PURE__ */ jsxs(Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
63
+ /* @__PURE__ */ jsx(FrequencyText, { annotations, value, variant: "h6" }),
64
+ /* @__PURE__ */ jsx(
65
+ AssessmentIcon,
54
66
  {
55
- value: l,
56
- annotations: n,
57
- counters: d,
67
+ value: enrichRequest,
68
+ annotations,
69
+ counters,
58
70
  fontSize: "1em",
59
- disableTooltip: !0
71
+ disableTooltip: true
60
72
  }
61
73
  ),
62
- /* @__PURE__ */ e(
63
- L,
74
+ /* @__PURE__ */ jsx(
75
+ OpinionIcon,
64
76
  {
65
- value: l,
66
- annotations: n,
67
- counters: d,
77
+ value: enrichRequest,
78
+ annotations,
79
+ counters,
68
80
  fontSize: "1em",
69
- disableTooltip: !0
81
+ disableTooltip: true
70
82
  }
71
83
  ),
72
- /* @__PURE__ */ e(
73
- K,
84
+ /* @__PURE__ */ jsx(
85
+ ContextIcon,
74
86
  {
75
- value: l,
76
- annotations: n,
77
- counters: d,
78
- showExtraIcon: z,
87
+ value: enrichRequest,
88
+ annotations,
89
+ counters,
90
+ showExtraIcon: contextIcon,
79
91
  fontSize: "inherit",
80
- disableTooltip: !0
92
+ disableTooltip: true
81
93
  }
82
94
  ),
83
- k && !E && /* @__PURE__ */ e(B, { color: "primary", size: 18 }),
84
- /* @__PURE__ */ e("div", { style: { flex: 1 } }),
85
- /* @__PURE__ */ e(ei, { selector: l }),
86
- /* @__PURE__ */ e(ii, { selectors: [l] })
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] })
87
99
  ] })
88
100
  }
89
101
  ),
90
- /* @__PURE__ */ e(D, { sx: { mx: 1 } }),
91
- /* @__PURE__ */ r(G, { sx: { p: 1 }, children: [
92
- /* @__PURE__ */ r(c, { container: !0, spacing: 0.5, sx: { mb: 1 }, children: [
93
- q.map((i, f) => (
102
+ /* @__PURE__ */ jsx(Divider, { sx: { mx: 1 } }),
103
+ /* @__PURE__ */ jsxs(CardContent, { sx: { p: 1 }, children: [
104
+ /* @__PURE__ */ jsxs(Grid, { container: true, spacing: 0.5, sx: { mb: 1 }, children: [
105
+ options.map((opt, id) => (
94
106
  // eslint-disable-next-line react/no-array-index-key
95
- /* @__PURE__ */ e(c, { item: !0, children: /* @__PURE__ */ e(
96
- g,
107
+ /* @__PURE__ */ jsx(Grid, { item: true, children: /* @__PURE__ */ jsx(
108
+ Chip,
97
109
  {
98
110
  size: "small",
99
- variant: i === S ? "filled" : "outlined",
100
- icon: y[i] && /* @__PURE__ */ e(C, { icon: y[i] }),
101
- label: /* @__PURE__ */ r(b, { variant: "caption", textTransform: "capitalize", children: [
102
- i,
111
+ variant: opt === filter ? "filled" : "outlined",
112
+ icon: ICON_MAP[opt] && /* @__PURE__ */ jsx(Icon, { icon: ICON_MAP[opt] }),
113
+ label: /* @__PURE__ */ jsxs(Typography, { variant: "caption", textTransform: "capitalize", children: [
114
+ opt,
103
115
  ":",
104
116
  " ",
105
- i === "all" ? n.length : n.filter((j) => j.type === i).length
117
+ opt === "all" ? annotations.length : annotations.filter((annotation) => annotation.type === opt).length
106
118
  ] }),
107
- onClick: () => A(i)
119
+ onClick: () => setFilter(opt)
108
120
  }
109
- ) }, f)
121
+ ) }, id)
110
122
  )),
111
- (a == null ? void 0 : a.length) > 0 && /* @__PURE__ */ e(c, { item: !0, children: /* @__PURE__ */ e(
112
- H,
123
+ (errors == null ? void 0 : errors.length) > 0 && /* @__PURE__ */ jsx(Grid, { item: true, children: /* @__PURE__ */ jsx(
124
+ Tooltip,
113
125
  {
114
- title: /* @__PURE__ */ e("div", { onClick: (i) => i.stopPropagation(), children: a.map((i) => /* @__PURE__ */ r("div", { children: [
115
- /* @__PURE__ */ e("span", { style: { textTransform: "capitalize" }, children: i.source.replace(/-/g, " ") }),
126
+ title: /* @__PURE__ */ jsx("div", { onClick: (e) => e.stopPropagation(), children: errors.map((err) => /* @__PURE__ */ jsxs("div", { children: [
127
+ /* @__PURE__ */ jsx("span", { style: { textTransform: "capitalize" }, children: err.source.replace(/-/g, " ") }),
116
128
  ":",
117
129
  " ",
118
- i.message
119
- ] }, i.source)) }),
120
- children: /* @__PURE__ */ e(
121
- g,
130
+ err.message
131
+ ] }, err.source)) }),
132
+ children: /* @__PURE__ */ jsx(
133
+ Chip,
122
134
  {
123
135
  size: "small",
124
136
  variant: "outlined",
125
- icon: /* @__PURE__ */ e(
126
- C,
137
+ icon: /* @__PURE__ */ jsx(
138
+ Icon,
127
139
  {
128
140
  icon: "material-symbols:timer-outline",
129
- color: u.palette.error.main,
141
+ color: theme.palette.error.main,
130
142
  style: { filter: "drop-shadow(0px 0px 1px rgb(0 0 0 / 0.4))" }
131
143
  }
132
144
  ),
133
- label: /* @__PURE__ */ r(b, { variant: "caption", textTransform: "capitalize", children: [
134
- I("annotation.failed"),
145
+ label: /* @__PURE__ */ jsxs(Typography, { variant: "caption", textTransform: "capitalize", children: [
146
+ t("annotation.failed"),
135
147
  ": ",
136
- a.length
148
+ errors.length
137
149
  ] }),
138
- onClick: w
150
+ onClick: forceEnrich
139
151
  }
140
152
  )
141
153
  }
142
154
  ) })
143
155
  ] }),
144
- /* @__PURE__ */ e(c, { container: !0, spacing: 1, alignItems: "stretch", children: n.map((i, f) => (
156
+ /* @__PURE__ */ jsx(Grid, { container: true, spacing: 1, alignItems: "stretch", children: annotations.map((annotation, id) => (
145
157
  // eslint-disable-next-line react/no-array-index-key
146
- /* @__PURE__ */ e(c, { item: !0, xs: 6, minWidth: "300px", children: /* @__PURE__ */ e(N, { sx: { border: `thin solid ${u.palette.divider}`, p: 1, height: "100%" }, children: /* @__PURE__ */ e(P, { annotation: i }) }) }, f)
158
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 6, minWidth: "300px", children: /* @__PURE__ */ jsx(Box, { sx: { border: `thin solid ${theme.palette.divider}`, p: 1, height: "100%" }, children: /* @__PURE__ */ jsx(AnnotationEntry, { annotation }) }) }, id)
147
159
  )) })
148
160
  ] })
149
161
  ]
150
162
  }
151
163
  );
152
- }, yi = V(ti);
164
+ };
165
+ const EnrichedCard_default = memo(EnrichedCard);
153
166
  export {
154
- yi as default
167
+ EnrichedCard_default as default
155
168
  };