@cccsaurora/clue-ui 1.2.3-dev.266 → 1.2.3-patch.269

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 (186) hide show
  1. package/ActionForm-Ch0DGVGr.js +4462 -0
  2. package/AnnotationDetails-C8E_Xvaf.js +160 -0
  3. package/AnnotationPreview-CLCms-Fm.js +140 -0
  4. package/ClueEnrichContext-KqRuuWNS.js +418 -0
  5. package/FlexOne-BXWFOd1T.js +6 -0
  6. package/_MapCache-BiTi0iqu.js +180 -0
  7. package/_Uint8Array-BQNOM9Rr.js +101 -0
  8. package/_baseAssignValue-CNMLQZco.js +20 -0
  9. package/_baseClone-BnT-6pyM.js +207 -0
  10. package/_baseExtremum-Ca2EHgy2.js +16 -0
  11. package/_baseFlatten-Bfr_Molw.js +72 -0
  12. package/_baseGet-DSZygzyq.js +79 -0
  13. package/_baseIsEqual-VgvaAFZG.js +147 -0
  14. package/_baseIteratee-Dbfsw5z8.js +95 -0
  15. package/_baseSlice-M5RKzt1A.js +10 -0
  16. package/_baseSum-wEbgNeUs.js +10 -0
  17. package/_baseUniq-BJcj69PL.js +79 -0
  18. package/_commonjsHelpers-DaMA6jEr.js +8 -0
  19. package/_createAggregator-k3TuAnxT.js +53 -0
  20. package/_getPrototype-Cr1Mk7BC.js +5 -0
  21. package/_getTag-CK2Sffaq.js +90 -0
  22. package/_isIterateeCall-DkJP7Rbx.js +13 -0
  23. package/_setToArray-C7yMOeww.js +29 -0
  24. package/cloneDeep-CF8TtLHr.js +8 -0
  25. package/components/AnnotationBody.js +35 -49
  26. package/components/AnnotationDetailPopover.js +30 -36
  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 +23 -44
  31. package/components/CountBadge.js +26 -31
  32. package/components/EnrichedCard.js +97 -110
  33. package/components/EnrichedChip.js +105 -130
  34. package/components/EnrichedTypography.js +107 -133
  35. package/components/ErrorBoundary.js +24 -28
  36. package/components/RetryFailedEnrichments.js +9 -10
  37. package/components/SourcePicker.js +49 -57
  38. package/components/actions/ActionForm.js +4 -4
  39. package/components/actions/ExecutePopover.js +59 -75
  40. package/components/actions/ResultModal.js +4 -4
  41. package/components/actions/form/schemaAdapter.js +23 -39
  42. package/components/actions/formats/FileResult.js +59 -86
  43. package/components/actions/formats/index.js +10 -21
  44. package/components/display/graph/ExpandMoreButton.js +10 -10
  45. package/components/display/graph/elements/NodeCard.js +91 -111
  46. package/components/display/graph/elements/NodeTag.js +13 -15
  47. package/components/display/graph/index.js +202 -261
  48. package/components/display/graph/visualizations/Leaf.js +69 -88
  49. package/components/display/graph/visualizations/cloud/index.js +81 -98
  50. package/components/display/graph/visualizations/icons/BaseIcon.js +21 -26
  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 +13 -14
  57. package/components/display/graph/visualizations/panels/NodePanel.js +8 -10
  58. package/components/display/graph/visualizations/tree/BundleLine.js +81 -108
  59. package/components/display/graph/visualizations/tree/Triangle.js +13 -13
  60. package/components/display/graph/visualizations/tree/index.js +306 -408
  61. package/components/display/icons/Iconified.js +12 -27
  62. package/components/display/json/index.js +4 -4
  63. package/components/display/markdown/index.js +5770 -8678
  64. package/components/enrichment/EnrichPopover.js +46 -54
  65. package/components/fetchers/Fetcher.js +119 -158
  66. package/components/fetchers/PreviewModal.js +17 -20
  67. package/components/fetchers/StatusChip.js +17 -21
  68. package/components/group/Entry.js +11 -13
  69. package/components/group/Group.js +10 -13
  70. package/components/group/GroupControl.js +65 -76
  71. package/components/stats/QueryStatus.js +33 -43
  72. package/countBy-CdYegFSu.js +8 -0
  73. package/data/event.js +4 -6
  74. package/database/index.js +2 -2
  75. package/debounce-DryYcbJ4.js +56 -0
  76. package/get-CH7kz5Ix.js +8 -0
  77. package/groupBy-br8xmD2R.js +8 -0
  78. package/hooks/ClueActionContext.js +6 -6
  79. package/hooks/ClueComponentContext.js +23 -29
  80. package/hooks/ClueConfigProvider.js +12 -14
  81. package/hooks/ClueDatabaseContext.js +13 -19
  82. package/hooks/ClueEnrichContext.js +8 -8
  83. package/hooks/ClueFetcherContext.js +56 -83
  84. package/hooks/ClueGroupContext.js +14 -17
  85. package/hooks/CluePopupContext.js +5 -5
  86. package/hooks/ClueProvider.js +10 -12
  87. package/hooks/selectors.js +7 -7
  88. package/hooks/useActionResult.d.ts +1 -0
  89. package/hooks/useActionResult.js +2 -2
  90. package/hooks/useAnnotations.js +31 -47
  91. package/hooks/useClue.js +4 -6
  92. package/hooks/useClueActions.js +3 -3
  93. package/hooks/useClueConfig.js +4 -6
  94. package/hooks/useClueTypeConfig.js +3 -3
  95. package/hooks/useComparator.js +435 -722
  96. package/hooks/useErrors.js +18 -22
  97. package/hooks/useFetcherResult.d.ts +1 -0
  98. package/hooks/useFetcherResult.js +24 -33
  99. package/hooks/useMyHighlights.js +36 -66
  100. package/hooks/useMyLocalStorage.js +37 -66
  101. package/iconify-BBckr5AQ.js +1263 -0
  102. package/icons/Action.js +49 -66
  103. package/icons/Assessment.js +69 -85
  104. package/icons/Context.js +63 -77
  105. package/icons/Opinion.js +60 -76
  106. package/icons/iconMap.js +2 -2
  107. package/identity-ByMq8VxU.js +6 -0
  108. package/index-BHAe_V9n.js +12768 -0
  109. package/index-BK-zfYhR.js +358 -0
  110. package/index-CA5CUNZO.js +975 -0
  111. package/index-Dj5C04IX.js +568 -0
  112. package/index-p5_wX7q1.js +11729 -0
  113. package/isNil-CjWwlQS3.js +6 -0
  114. package/isObject-B53jY8Qg.js +7 -0
  115. package/isObjectLike-BatpeCIi.js +29 -0
  116. package/isSymbol-C3_SC0Qp.js +8 -0
  117. package/last-7CdUxN0r.js +7 -0
  118. package/main.js +60 -60
  119. package/maxBy-Bc0dYHcO.js +8 -0
  120. package/package.json +1 -1
  121. package/sortBy-DY2JBf9n.js +75 -0
  122. package/sumBy-DuMASLPd.js +8 -0
  123. package/text/Frequency.js +23 -42
  124. package/toFinite-BMy6GObD.js +14 -0
  125. package/toNumber-YVhnnJv4.js +31 -0
  126. package/types/WithActionData.d.ts +2 -1
  127. package/useClueTypeConfig-Ct9Ygter.js +2292 -0
  128. package/utils/chain.js +65 -92
  129. package/utils/classificationParser.js +256 -519
  130. package/utils/constants.js +10 -35
  131. package/utils/graph.js +45 -72
  132. package/utils/hashUtil.js +7 -7
  133. package/utils/line.js +81 -131
  134. package/utils/loggerUtil.js +3 -5
  135. package/utils/sessionStorage.js +27 -41
  136. package/utils/time.js +423 -423
  137. package/utils/utils.js +9 -9
  138. package/utils/window.js +10 -21
  139. package/utils-DmwSUrum.js +129 -0
  140. package/ActionForm-uDp92tN2.js +0 -5941
  141. package/AnnotationDetails-DGYfOiWm.js +0 -175
  142. package/AnnotationPreview-bHObsb3P.js +0 -188
  143. package/ClueEnrichContext-CJEJxrgs.js +0 -541
  144. package/FlexOne-BSYAhhtG.js +0 -9
  145. package/_MapCache-WmuDdwuH.js +0 -222
  146. package/_Uint8Array-B7JqpgFX.js +0 -128
  147. package/_baseAssignValue-CGTuELqU.js +0 -25
  148. package/_baseClone-CkNrTyhm.js +0 -283
  149. package/_baseExtremum-kob8QXyt.js +0 -18
  150. package/_baseFlatten-jIR_sN_-.js +0 -92
  151. package/_baseGet-Bx3A4Qfp.js +0 -108
  152. package/_baseIsEqual-C5OTWzTk.js +0 -208
  153. package/_baseIteratee-avi7MX2o.js +0 -126
  154. package/_baseSlice-GAv_YFTT.js +0 -20
  155. package/_baseSum-D0WC1dN0.js +0 -13
  156. package/_baseUniq-BI9GIHMF.js +0 -115
  157. package/_commonjsHelpers-DWwsNxpa.js +0 -8
  158. package/_createAggregator-QD8MzKwe.js +0 -63
  159. package/_getPrototype-CU0j_POw.js +0 -5
  160. package/_getTag-Ckxxfr88.js +0 -126
  161. package/_isIterateeCall-Ds3sw2SF.js +0 -17
  162. package/_setToArray-CaPKQhcz.js +0 -33
  163. package/cloneDeep-DJrLSw8W.js +0 -8
  164. package/countBy-c6S3dvSW.js +0 -14
  165. package/debounce-bV0h5FC5.js +0 -92
  166. package/get-DSsNkRQs.js +0 -8
  167. package/groupBy-xqz-n0Vd.js +0 -14
  168. package/iconify-CXMreGTg.js +0 -1782
  169. package/identity-CPGTqrE4.js +0 -6
  170. package/index-AMfoEg_6.js +0 -696
  171. package/index-B6C2a_Lg.js +0 -1172
  172. package/index-C12gPw2W.js +0 -17698
  173. package/index-DCKkHTvx.js +0 -15750
  174. package/index-JcKyZeoY.js +0 -465
  175. package/isNil-CIubwp4T.js +0 -6
  176. package/isObject-FTY-5JQX.js +0 -7
  177. package/isObjectLike-OAgjjZye.js +0 -48
  178. package/isSymbol-Xd2FsJyp.js +0 -8
  179. package/last-CUCl67Im.js +0 -7
  180. package/maxBy-IKHzFrCS.js +0 -8
  181. package/sortBy-DfSj8IoJ.js +0 -96
  182. package/sumBy-D-hb_NY-.js +0 -8
  183. package/toFinite-Bc55msYj.js +0 -16
  184. package/toNumber-DPxy1FBy.js +0 -39
  185. package/useClueTypeConfig-Z1LFp01b.js +0 -3289
  186. package/utils-HmNPuoDB.js +0 -199
@@ -1,170 +1,145 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { Chip, Tooltip, Box, Stack, CircularProgress } from "@mui/material";
3
- import Iconified from "./display/icons/Iconified.js";
4
- import { ClueComponentContext } from "../hooks/ClueComponentContext.js";
5
- import { ClueGroupContext } from "../hooks/ClueGroupContext.js";
6
- import { C as CluePopupContext } from "../AnnotationPreview-bHObsb3P.js";
7
- import { b as useClueEnrichSelector } from "../ActionForm-uDp92tN2.js";
8
- import useAnnotations from "../hooks/useAnnotations.js";
9
- import ActionIcon from "../icons/Action.js";
10
- import AssessmentIcon from "../icons/Assessment.js";
11
- import ContextIcon from "../icons/Context.js";
12
- import OpinionIcon from "../icons/Opinion.js";
13
- import FrequencyText from "../text/Frequency.js";
14
- import React__default, { useRef, useMemo, useCallback, useEffect, memo } from "react";
15
- import { u as useContextSelector } from "../index-AMfoEg_6.js";
16
- const EnrichedChip = React__default.memo(
1
+ import { jsx as e, jsxs as O } from "react/jsx-runtime";
2
+ import { Chip as B, Tooltip as G, Box as _, Stack as H, CircularProgress as J } from "@mui/material";
3
+ import K from "./display/icons/Iconified.js";
4
+ import { ClueComponentContext as L } from "../hooks/ClueComponentContext.js";
5
+ import { ClueGroupContext as N } from "../hooks/ClueGroupContext.js";
6
+ import { C as E } from "../AnnotationPreview-CLCms-Fm.js";
7
+ import { b as Q } from "../ActionForm-Ch0DGVGr.js";
8
+ import U from "../hooks/useAnnotations.js";
9
+ import V from "../icons/Action.js";
10
+ import v from "../icons/Assessment.js";
11
+ import q from "../icons/Context.js";
12
+ import z from "../icons/Opinion.js";
13
+ import W from "../text/Frequency.js";
14
+ import X, { useRef as Y, useMemo as u, useCallback as Z, useEffect as $, memo as F } from "react";
15
+ import { u as m } from "../index-Dj5C04IX.js";
16
+ const D = X.memo(
17
17
  ({
18
- type: _type,
19
- value,
20
- classification: _classification,
21
- contextIcon = false,
22
- counters = false,
23
- hideDetails = false,
24
- hideLoading = false,
25
- forceDetails = false,
26
- setForceDetails = null,
27
- useDetailsIcon = false,
28
- skipEnrichment = false,
29
- slotProps = {},
30
- ...otherProps
18
+ type: C,
19
+ value: i,
20
+ classification: x,
21
+ contextIcon: b = !1,
22
+ counters: f = !1,
23
+ hideDetails: h = !1,
24
+ hideLoading: A = !1,
25
+ forceDetails: r = !1,
26
+ setForceDetails: c = null,
27
+ useDetailsIcon: s = !1,
28
+ skipEnrichment: R = !1,
29
+ slotProps: a = {},
30
+ ...l
31
31
  }) => {
32
- const { t } = useContextSelector(ClueComponentContext, (ctx) => ctx.i18next);
33
- const anchorRef = useRef();
34
- const groupType = useContextSelector(ClueGroupContext, (ctx) => ctx == null ? void 0 : ctx.type);
35
- const defaultClassification = useClueEnrichSelector((ctx) => ctx.defaultClassification);
36
- const type = useMemo(() => _type ?? groupType, [_type, groupType]);
37
- const classification = useMemo(
38
- () => _classification ?? defaultClassification,
39
- [_classification, defaultClassification]
32
+ const { t: j } = m(L, (o) => o.i18next), d = Y(), k = m(N, (o) => o == null ? void 0 : o.type), y = Q((o) => o.defaultClassification), n = u(() => C ?? k, [C, k]), t = u(
33
+ () => x ?? y,
34
+ [x, y]
40
35
  );
41
- if (!type) {
36
+ if (!n)
42
37
  throw new Error("Type was not provided as a prop, and component is not used in a group context.");
43
- }
44
- const [annotations, loading] = useAnnotations(type, value, classification, { skipEnrichment });
45
- const showInfo = useContextSelector(CluePopupContext, (ctx) => ctx.showInfo);
46
- const closeInfo = useContextSelector(CluePopupContext, (ctx) => ctx.closeInfo);
47
- const buildOptions = useCallback(() => {
48
- const options = {};
49
- if (setForceDetails) {
50
- options.onClose = () => setForceDetails(false);
51
- }
52
- if (slotProps == null ? void 0 : slotProps.popover) {
53
- options.popoverProps = slotProps.popover;
54
- }
55
- return options;
56
- }, [setForceDetails, slotProps.popover]);
57
- const clicker = useMemo(
58
- () => !hideDetails || useDetailsIcon ? (e) => {
59
- var _a;
60
- showInfo("details", anchorRef.current, { type, value, classification }, buildOptions());
61
- (_a = otherProps.onClick) == null ? void 0 : _a.call(otherProps, e);
62
- e.stopPropagation();
63
- e.preventDefault();
64
- } : otherProps.onClick,
38
+ const [p, T] = U(n, i, t, { skipEnrichment: R }), S = m(E, (o) => o.showInfo), M = m(E, (o) => o.closeInfo), w = Z(() => {
39
+ const o = {};
40
+ return c && (o.onClose = () => c(!1)), a != null && a.popover && (o.popoverProps = a.popover), o;
41
+ }, [c, a.popover]), g = u(
42
+ () => !h || s ? (o) => {
43
+ var I;
44
+ S("details", d.current, { type: n, value: i, classification: t }, w()), (I = l.onClick) == null || I.call(l, o), o.stopPropagation(), o.preventDefault();
45
+ } : l.onClick,
65
46
  // eslint-disable-next-line react-hooks/exhaustive-deps
66
- [hideDetails, useDetailsIcon, otherProps, type, value, classification]
47
+ [h, s, l, n, i, t]
67
48
  );
68
- useEffect(() => {
69
- if (forceDetails) {
70
- showInfo("details", anchorRef.current, { type, value, classification }, buildOptions());
71
- } else {
72
- closeInfo("details", {
73
- type,
74
- value,
75
- classification
76
- });
77
- }
78
- }, [classification, forceDetails, type, value]);
79
- return /* @__PURE__ */ jsx(
80
- Chip,
49
+ return $(() => {
50
+ r ? S("details", d.current, { type: n, value: i, classification: t }, w()) : M("details", {
51
+ type: n,
52
+ value: i,
53
+ classification: t
54
+ });
55
+ }, [t, r, n, i]), /* @__PURE__ */ e(
56
+ B,
81
57
  {
82
- ...otherProps,
83
- ref: anchorRef,
84
- variant: otherProps.variant || "outlined",
58
+ ...l,
59
+ ref: d,
60
+ variant: l.variant || "outlined",
85
61
  sx: {
86
- height: otherProps.size !== "small" ? "40px" : "unset",
62
+ height: l.size !== "small" ? "40px" : "unset",
87
63
  "& .MuiChip-label": { overflow: "visible" },
88
- ...otherProps.sx ?? {}
64
+ ...l.sx ?? {}
89
65
  },
90
- label: /* @__PURE__ */ jsxs(Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
91
- /* @__PURE__ */ jsx(
92
- AssessmentIcon,
66
+ label: /* @__PURE__ */ O(H, { direction: "row", spacing: 1, alignItems: "center", children: [
67
+ /* @__PURE__ */ e(
68
+ v,
93
69
  {
94
- ubiquitous: true,
95
- value: { type, value, classification },
96
- annotations,
97
- counters,
98
- disableTooltip: forceDetails,
70
+ ubiquitous: !0,
71
+ value: { type: n, value: i, classification: t },
72
+ annotations: p,
73
+ counters: f,
74
+ disableTooltip: r,
99
75
  style: { flexShrink: 0 }
100
76
  }
101
77
  ),
102
- /* @__PURE__ */ jsx(
103
- OpinionIcon,
78
+ /* @__PURE__ */ e(
79
+ z,
104
80
  {
105
- ubiquitous: true,
106
- value: { type, value, classification },
107
- annotations,
108
- counters,
109
- disableTooltip: forceDetails,
81
+ ubiquitous: !0,
82
+ value: { type: n, value: i, classification: t },
83
+ annotations: p,
84
+ counters: f,
85
+ disableTooltip: r,
110
86
  style: { flexShrink: 0 }
111
87
  }
112
88
  ),
113
- /* @__PURE__ */ jsx(
114
- ContextIcon,
89
+ /* @__PURE__ */ e(
90
+ q,
115
91
  {
116
- ubiquitous: true,
117
- value: { type, value, classification },
118
- annotations,
119
- counters,
120
- showExtraIcon: contextIcon,
121
- disableTooltip: forceDetails,
92
+ ubiquitous: !0,
93
+ value: { type: n, value: i, classification: t },
94
+ annotations: p,
95
+ counters: f,
96
+ showExtraIcon: b,
97
+ disableTooltip: r,
122
98
  style: { flexShrink: 0 }
123
99
  }
124
100
  ),
125
- otherProps.label ?? /* @__PURE__ */ jsx(FrequencyText, { fontSize: "inherit", annotations, value }),
126
- /* @__PURE__ */ jsx(
127
- AssessmentIcon,
101
+ l.label ?? /* @__PURE__ */ e(W, { fontSize: "inherit", annotations: p, value: i }),
102
+ /* @__PURE__ */ e(
103
+ v,
128
104
  {
129
- value: { type, value, classification },
130
- annotations,
131
- counters,
132
- disableTooltip: forceDetails,
105
+ value: { type: n, value: i, classification: t },
106
+ annotations: p,
107
+ counters: f,
108
+ disableTooltip: r,
133
109
  style: { flexShrink: 0 }
134
110
  }
135
111
  ),
136
- /* @__PURE__ */ jsx(
137
- OpinionIcon,
112
+ /* @__PURE__ */ e(
113
+ z,
138
114
  {
139
- value: { type, value, classification },
140
- annotations,
141
- counters,
142
- disableTooltip: forceDetails,
115
+ value: { type: n, value: i, classification: t },
116
+ annotations: p,
117
+ counters: f,
118
+ disableTooltip: r,
143
119
  style: { flexShrink: 0 }
144
120
  }
145
121
  ),
146
- /* @__PURE__ */ jsx(
147
- ContextIcon,
122
+ /* @__PURE__ */ e(
123
+ q,
148
124
  {
149
- value: { type, value, classification },
150
- annotations,
151
- counters,
152
- showExtraIcon: contextIcon,
153
- disableTooltip: forceDetails,
125
+ value: { type: n, value: i, classification: t },
126
+ annotations: p,
127
+ counters: f,
128
+ showExtraIcon: b,
129
+ disableTooltip: r,
154
130
  style: { flexShrink: 0 }
155
131
  }
156
132
  ),
157
- /* @__PURE__ */ jsx(ActionIcon, { counters, value: { type, value, classification }, disableTooltip: forceDetails }),
158
- loading && !hideLoading && /* @__PURE__ */ jsx(CircularProgress, { color: "primary", size: 16 })
133
+ /* @__PURE__ */ e(V, { counters: f, value: { type: n, value: i, classification: t }, disableTooltip: r }),
134
+ T && !A && /* @__PURE__ */ e(J, { color: "primary", size: 16 })
159
135
  ] }),
160
- onClick: !useDetailsIcon ? clicker : void 0,
161
- onDelete: !loading && useDetailsIcon ? clicker : void 0,
162
- deleteIcon: useDetailsIcon ? /* @__PURE__ */ jsx(Tooltip, { title: t("details.open"), children: /* @__PURE__ */ jsx(Box, { component: "span", sx: { pr: 1 }, children: /* @__PURE__ */ jsx(Iconified, { icon: "ic:outline-info" }) }) }) : null
136
+ onClick: s ? void 0 : g,
137
+ onDelete: !T && s ? g : void 0,
138
+ deleteIcon: s ? /* @__PURE__ */ e(G, { title: j("details.open"), children: /* @__PURE__ */ e(_, { component: "span", sx: { pr: 1 }, children: /* @__PURE__ */ e(K, { icon: "ic:outline-info" }) }) }) : null
163
139
  }
164
140
  );
165
141
  }
166
- );
167
- const EnrichedChip_default = memo(EnrichedChip);
142
+ ), Co = F(D);
168
143
  export {
169
- EnrichedChip_default as default
144
+ Co as default
170
145
  };
@@ -1,173 +1,147 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { useTheme, Stack, CircularProgress, Tooltip, IconButton } from "@mui/material";
3
- import Iconified from "./display/icons/Iconified.js";
4
- import { ClueComponentContext } from "../hooks/ClueComponentContext.js";
5
- import { ClueGroupContext } from "../hooks/ClueGroupContext.js";
6
- import { C as CluePopupContext } from "../AnnotationPreview-bHObsb3P.js";
7
- import { b as useClueEnrichSelector } from "../ActionForm-uDp92tN2.js";
8
- import useAnnotations from "../hooks/useAnnotations.js";
9
- import ActionIcon from "../icons/Action.js";
10
- import AssessmentIcon from "../icons/Assessment.js";
11
- import ContextIcon from "../icons/Context.js";
12
- import OpinionIcon from "../icons/Opinion.js";
13
- import FrequencyText from "../text/Frequency.js";
14
- import { memo, useRef, useMemo, useCallback, useEffect } from "react";
15
- import { u as useContextSelector } from "../index-AMfoEg_6.js";
16
- const EnrichedTypography = ({
17
- type: _type,
18
- value,
19
- classification: _classification,
20
- contextIcon = false,
21
- counters = false,
22
- hideDetails = false,
23
- hideLoading = false,
24
- forceDetails = false,
25
- setForceDetails = null,
26
- useDetailsIcon = false,
27
- skipEnrichment = false,
28
- slotProps = {},
29
- children,
30
- ...otherProps
1
+ import { jsxs as J, jsx as a } from "react/jsx-runtime";
2
+ import { useTheme as K, Stack as L, CircularProgress as Q, Tooltip as U, IconButton as V } from "@mui/material";
3
+ import W from "./display/icons/Iconified.js";
4
+ import { ClueComponentContext as X } from "../hooks/ClueComponentContext.js";
5
+ import { ClueGroupContext as Y } from "../hooks/ClueGroupContext.js";
6
+ import { C as j } from "../AnnotationPreview-CLCms-Fm.js";
7
+ import { b as Z } from "../ActionForm-Ch0DGVGr.js";
8
+ import F from "../hooks/useAnnotations.js";
9
+ import _ from "../icons/Action.js";
10
+ import z from "../icons/Assessment.js";
11
+ import N from "../icons/Context.js";
12
+ import O from "../icons/Opinion.js";
13
+ import D from "../text/Frequency.js";
14
+ import { memo as P, useRef as ii, useMemo as x, useCallback as ni, useEffect as oi } from "react";
15
+ import { u as l } from "../index-Dj5C04IX.js";
16
+ const ei = ({
17
+ type: T,
18
+ value: e,
19
+ classification: s,
20
+ contextIcon: h = !1,
21
+ counters: c = !1,
22
+ hideDetails: d = !1,
23
+ hideLoading: R = !1,
24
+ forceDetails: r = !1,
25
+ setForceDetails: C = null,
26
+ useDetailsIcon: u = !1,
27
+ skipEnrichment: $ = !1,
28
+ slotProps: i = {},
29
+ children: G,
30
+ ...f
31
31
  }) => {
32
- var _a, _b, _c, _d;
33
- const { t } = useContextSelector(ClueComponentContext, (ctx) => ctx.i18next);
34
- const theme = useTheme();
35
- const anchorRef = useRef();
36
- const groupType = useContextSelector(ClueGroupContext, (ctx) => ctx == null ? void 0 : ctx.type);
37
- const defaultClassification = useClueEnrichSelector((ctx) => ctx.defaultClassification);
38
- const type = useMemo(() => _type ?? groupType, [_type, groupType]);
39
- const classification = useMemo(
40
- () => _classification ?? defaultClassification,
41
- [_classification, defaultClassification]
32
+ var A, q, v, B;
33
+ const { t: M } = l(X, (n) => n.i18next), b = K(), y = ii(), k = l(Y, (n) => n == null ? void 0 : n.type), g = Z((n) => n.defaultClassification), o = x(() => T ?? k, [T, k]), t = x(
34
+ () => s ?? g,
35
+ [s, g]
42
36
  );
43
- if (!type) {
37
+ if (!o)
44
38
  throw new Error("Type was not provided as a prop, and component is not used in a group context.");
45
- }
46
- const [annotations, loading] = useAnnotations(type, value, classification, { skipEnrichment });
47
- const showInfo = useContextSelector(CluePopupContext, (state) => state.showInfo);
48
- const closeInfo = useContextSelector(CluePopupContext, (state) => state.closeInfo);
49
- const buildOptions = useCallback(() => {
50
- const options = {};
51
- if (setForceDetails) {
52
- options.onClose = () => setForceDetails(false);
53
- }
54
- if (slotProps == null ? void 0 : slotProps.popover) {
55
- options.popoverProps = slotProps.popover;
56
- }
57
- return options;
58
- }, [setForceDetails, slotProps.popover]);
59
- const clicker = useMemo(
60
- () => !hideDetails || useDetailsIcon ? (e) => {
61
- var _a2;
62
- showInfo("details", anchorRef.current, { type, value, classification }, buildOptions());
63
- (_a2 = otherProps.onClick) == null ? void 0 : _a2.call(otherProps, e);
64
- e.stopPropagation();
65
- e.preventDefault();
66
- } : otherProps.onClick,
39
+ const [m, p] = F(o, e, t, { skipEnrichment: $ }), I = l(j, (n) => n.showInfo), H = l(j, (n) => n.closeInfo), w = ni(() => {
40
+ const n = {};
41
+ return C && (n.onClose = () => C(!1)), i != null && i.popover && (n.popoverProps = i.popover), n;
42
+ }, [C, i.popover]), E = x(
43
+ () => !d || u ? (n) => {
44
+ var S;
45
+ I("details", y.current, { type: o, value: e, classification: t }, w()), (S = f.onClick) == null || S.call(f, n), n.stopPropagation(), n.preventDefault();
46
+ } : f.onClick,
67
47
  // eslint-disable-next-line react-hooks/exhaustive-deps
68
- [hideDetails, useDetailsIcon, otherProps, type, value, classification]
48
+ [d, u, f, o, e, t]
69
49
  );
70
- useEffect(() => {
71
- if (forceDetails) {
72
- showInfo("details", anchorRef.current, { type, value, classification }, buildOptions());
73
- } else {
74
- closeInfo("details", {
75
- type,
76
- value,
77
- classification
78
- });
79
- }
80
- }, [classification, forceDetails, type, value]);
81
- return /* @__PURE__ */ jsxs(
82
- Stack,
50
+ return oi(() => {
51
+ r ? I("details", y.current, { type: o, value: e, classification: t }, w()) : H("details", {
52
+ type: o,
53
+ value: e,
54
+ classification: t
55
+ });
56
+ }, [t, r, o, e]), /* @__PURE__ */ J(
57
+ L,
83
58
  {
84
- ref: anchorRef,
59
+ ref: y,
85
60
  direction: "row",
86
61
  spacing: 1,
87
62
  alignItems: "center",
88
- ...slotProps == null ? void 0 : slotProps.stack,
89
- className: `enriched-typography ${((_a = slotProps == null ? void 0 : slotProps.stack) == null ? void 0 : _a.className) ?? ""}`.trim(),
63
+ ...i == null ? void 0 : i.stack,
64
+ className: `enriched-typography ${((A = i == null ? void 0 : i.stack) == null ? void 0 : A.className) ?? ""}`.trim(),
90
65
  sx: [
91
66
  {
92
- cursor: !loading && !hideDetails ? "pointer" : "inherit",
67
+ cursor: !p && !d ? "pointer" : "inherit",
93
68
  borderBottom: "1px solid transparent",
94
- transition: theme.transitions.create(["border-bottom-color"]),
69
+ transition: b.transitions.create(["border-bottom-color"]),
95
70
  "&:hover": {
96
- borderBottomColor: !loading && (!hideDetails ? theme.palette.primary.light : null)
71
+ borderBottomColor: !p && (d ? null : b.palette.primary.light)
97
72
  }
98
73
  },
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]
74
+ ...Array.isArray((q = i == null ? void 0 : i.stack) == null ? void 0 : q.sx) ? (v = i == null ? void 0 : i.stack) == null ? void 0 : v.sx : [(B = i == null ? void 0 : i.stack) == null ? void 0 : B.sx]
100
75
  ],
101
- onClick: !useDetailsIcon ? clicker : void 0,
76
+ onClick: u ? void 0 : E,
102
77
  children: [
103
- /* @__PURE__ */ jsx(
104
- AssessmentIcon,
78
+ /* @__PURE__ */ a(
79
+ z,
105
80
  {
106
- ubiquitous: true,
107
- value: { type, value, classification },
108
- annotations,
109
- counters,
110
- disableTooltip: forceDetails
81
+ ubiquitous: !0,
82
+ value: { type: o, value: e, classification: t },
83
+ annotations: m,
84
+ counters: c,
85
+ disableTooltip: r
111
86
  }
112
87
  ),
113
- /* @__PURE__ */ jsx(
114
- OpinionIcon,
88
+ /* @__PURE__ */ a(
89
+ O,
115
90
  {
116
- ubiquitous: true,
117
- value: { type, value, classification },
118
- annotations,
119
- counters,
120
- disableTooltip: forceDetails
91
+ ubiquitous: !0,
92
+ value: { type: o, value: e, classification: t },
93
+ annotations: m,
94
+ counters: c,
95
+ disableTooltip: r
121
96
  }
122
97
  ),
123
- /* @__PURE__ */ jsx(
124
- ContextIcon,
98
+ /* @__PURE__ */ a(
99
+ N,
125
100
  {
126
- ubiquitous: true,
127
- value: { type, value, classification },
128
- annotations,
129
- counters,
130
- showExtraIcon: contextIcon,
131
- disableTooltip: forceDetails
101
+ ubiquitous: !0,
102
+ value: { type: o, value: e, classification: t },
103
+ annotations: m,
104
+ counters: c,
105
+ showExtraIcon: h,
106
+ disableTooltip: r
132
107
  }
133
108
  ),
134
- children ?? /* @__PURE__ */ jsx(FrequencyText, { id: `enriched-${type}-value`, ...otherProps, annotations, value }),
135
- /* @__PURE__ */ jsx(
136
- AssessmentIcon,
109
+ G ?? /* @__PURE__ */ a(D, { id: `enriched-${o}-value`, ...f, annotations: m, value: e }),
110
+ /* @__PURE__ */ a(
111
+ z,
137
112
  {
138
- value: { type, value, classification },
139
- annotations,
140
- counters,
141
- disableTooltip: forceDetails
113
+ value: { type: o, value: e, classification: t },
114
+ annotations: m,
115
+ counters: c,
116
+ disableTooltip: r
142
117
  }
143
118
  ),
144
- /* @__PURE__ */ jsx(
145
- OpinionIcon,
119
+ /* @__PURE__ */ a(
120
+ O,
146
121
  {
147
- value: { type, value, classification },
148
- annotations,
149
- counters,
150
- disableTooltip: forceDetails
122
+ value: { type: o, value: e, classification: t },
123
+ annotations: m,
124
+ counters: c,
125
+ disableTooltip: r
151
126
  }
152
127
  ),
153
- /* @__PURE__ */ jsx(
154
- ContextIcon,
128
+ /* @__PURE__ */ a(
129
+ N,
155
130
  {
156
- value: { type, value, classification },
157
- annotations,
158
- counters,
159
- showExtraIcon: contextIcon,
160
- disableTooltip: forceDetails
131
+ value: { type: o, value: e, classification: t },
132
+ annotations: m,
133
+ counters: c,
134
+ showExtraIcon: h,
135
+ disableTooltip: r
161
136
  }
162
137
  ),
163
- /* @__PURE__ */ jsx(ActionIcon, { counters, value: { type, value, classification }, disableTooltip: forceDetails }),
164
- loading && !hideLoading && /* @__PURE__ */ jsx(CircularProgress, { color: "primary", size: 18 }),
165
- !loading && useDetailsIcon && /* @__PURE__ */ jsx(Tooltip, { title: t("details.open"), children: /* @__PURE__ */ jsx(IconButton, { size: "small", onClick: clicker, sx: { color: theme.palette.action.disabled }, children: /* @__PURE__ */ jsx(Iconified, { icon: "ic:outline-info" }) }) })
138
+ /* @__PURE__ */ a(_, { counters: c, value: { type: o, value: e, classification: t }, disableTooltip: r }),
139
+ p && !R && /* @__PURE__ */ a(Q, { color: "primary", size: 18 }),
140
+ !p && u && /* @__PURE__ */ a(U, { title: M("details.open"), children: /* @__PURE__ */ a(V, { size: "small", onClick: E, sx: { color: b.palette.action.disabled }, children: /* @__PURE__ */ a(W, { icon: "ic:outline-info" }) }) })
166
141
  ]
167
142
  }
168
143
  );
169
- };
170
- const EnrichedTypography_default = memo(EnrichedTypography);
144
+ }, si = P(ei);
171
145
  export {
172
- EnrichedTypography_default as default
146
+ si as default
173
147
  };
@@ -1,36 +1,32 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { Box, Accordion, AccordionSummary, Typography, AccordionDetails } from "@mui/material";
3
- import Iconified from "./display/icons/Iconified.js";
4
- import React__default from "react";
5
- class ErrorBoundary extends React__default.Component {
6
- constructor(props) {
7
- super(props);
8
- this.state = { hasError: false, error: null };
1
+ import { jsx as r, jsxs as o } from "react/jsx-runtime";
2
+ import { Box as n, Accordion as i, AccordionSummary as a, Typography as t, AccordionDetails as s } from "@mui/material";
3
+ import c from "./display/icons/Iconified.js";
4
+ import d from "react";
5
+ class f extends d.Component {
6
+ constructor(e) {
7
+ super(e), this.state = { hasError: !1, error: null };
9
8
  }
10
- static getDerivedStateFromError(error) {
11
- return { hasError: true, error };
9
+ static getDerivedStateFromError(e) {
10
+ return { hasError: !0, error: e };
12
11
  }
13
- componentDidCatch(error) {
14
- this.setState({ hasError: true, error });
12
+ componentDidCatch(e) {
13
+ this.setState({ hasError: !0, error: e });
15
14
  }
16
15
  render() {
17
- if (this.state.hasError) {
18
- return /* @__PURE__ */ jsx(Box, { pt: 6, textAlign: "center", fontSize: 20, children: /* @__PURE__ */ jsxs(Accordion, { elevation: 0, children: [
19
- /* @__PURE__ */ jsx(
20
- AccordionSummary,
21
- {
22
- expandIcon: /* @__PURE__ */ jsx(Iconified, { icon: "ic:baseline-expand-more" }),
23
- "aria-controls": "panel1-content",
24
- id: "panel1-header",
25
- children: /* @__PURE__ */ jsx(Typography, { align: "center", sx: { width: "100%", fontSize: "1.2rem" }, variant: "h5", children: this.state.error.message })
26
- }
27
- ),
28
- /* @__PURE__ */ jsx(AccordionDetails, { children: /* @__PURE__ */ jsx("code", { children: /* @__PURE__ */ jsx(Typography, { variant: "h6", children: this.state.error.stack }) }) })
29
- ] }) });
30
- }
31
- return this.props.children;
16
+ return this.state.hasError ? /* @__PURE__ */ r(n, { pt: 6, textAlign: "center", fontSize: 20, children: /* @__PURE__ */ o(i, { elevation: 0, children: [
17
+ /* @__PURE__ */ r(
18
+ a,
19
+ {
20
+ expandIcon: /* @__PURE__ */ r(c, { icon: "ic:baseline-expand-more" }),
21
+ "aria-controls": "panel1-content",
22
+ id: "panel1-header",
23
+ children: /* @__PURE__ */ r(t, { align: "center", sx: { width: "100%", fontSize: "1.2rem" }, variant: "h5", children: this.state.error.message })
24
+ }
25
+ ),
26
+ /* @__PURE__ */ r(s, { children: /* @__PURE__ */ r("code", { children: /* @__PURE__ */ r(t, { variant: "h6", children: this.state.error.stack }) }) })
27
+ ] }) }) : this.props.children;
32
28
  }
33
29
  }
34
30
  export {
35
- ErrorBoundary as default
31
+ f as default
36
32
  };